MZ                @                                       	!L!This program cannot be run in DOS mode.

$       PE  L TŦ         " 0          ѿ                                          `                           п O                 h(        Ͽ T                                                             H           .text   `                         `.rsrc                        @  @.reloc                         @  B                п     H      
 	       @
  ° @Ͽ                                    {s  
*:(t  
}s  
* 0 )     u  
.,(u  
{s  
{s  
ov  
***v {P1 )UUZ(u  
{s  
ow  
X* 0 :     r  p  %{s  

 %q    -&+  ox  
(y  
*{z  
*{{  
*V(t  
}z  
}{  
*0 A     u  
.4,/(u  
{z  
{z  
ov  
,(|  
{{  
{{  
o}  
*** 5z )UUZ(u  
{z  
ow  
X )UUZ(|  
{{  
o~  
X*  0 b     r-  p  %{z  

 %q    -&+  ox  
%{{  
%q    -&+  ox  
(y  
*"(  
*2(  
o  
*2(  
o+ *2(  
o  
*2(  
o  
* 0 '     sS 
} } T s  
(  *J(  
o+ (  *  0 U     sO 
} } s  
} P s  
(  { (  
{ ,{ oj  
*        ?     N(  
o+ (  *0 .     sQ 
} } } R s  
(  *  0 s     (  
o o  
o  
o  

(  
o o  
o  
o  
o  
(  
o o  
o  
o  
(  
o o  
o  
o  
*(  
*N(  
(  (  
*~  
*~  
*(  
*"(  
*Frw  po  (  
*o  (  
-r  p(  
o  
(  
*(  
*n(  
(  
-(  
*o  *(  
*&("  *j(  
(  (  
(  
*sL	 *n{  -o#  }  {  *(  
*"(  
*~  
*~  
*~  
*  0    	  o'  
 (  
* 0 K   
  (  
o  
-(  
*~  

o(  (  
-o(  r  p(  

($  (  oJ	 *n(  
(  
-(  
*o)  *n(  
(  
-(  
*o*  *N(  
(7  (9  *R(  
(5  (9  *V(  
(5  (  
*~  
*~  
*(  
*"(  
*J(4  o2  (  
*6o2  (5  *J(  
o3  (  
*6o3  (  
*~  
*~  
*~  
*~  
*~  
*
*sL	 *n{  -oA  }  {  *(  
*"(  
*(  
*6~  
(  
*n(  
(  
-(  
*o?  *(  
o  
-(  
*(B  (  o>  oJ	 *(  
o  
-(  
*(B  (  o>  oK	 *(  
(  
-(  
*o@  -~  
*o;  (  *(  
(  
-(  
*o<  o  
*   0 #   	  (  
(  
-(  
*o:  
 (  
*n(  
(  
-(  
*o=  *o;  *~  
*~  
*~  
*~  
*~  
*
*(  
*"(  
*(  
*6~  
(  
*sL	 *n{  -oZ  }  {  *n(  
(  
-(  
*oT  *(  
o  
-(  
*([  (  oS  oJ	 *(  
o  
-(  
*([  (  oS  oK	 *(  
(  
-(  
*oU  -~  
*oP  (  *(  
(  
-(  
*oQ  o  
*   0 #   	  (  
(  
-(  
*oO  
 (  
*n(  
(  
-(  
*oR  *oP  *~  
*~  
*
*~  
*~  
*r  p*(  
*"(  
*(  
o  
6 (  
o  
oj  (  
*og  ,og  o  
1o  
og  o  
*n(  
(  
-(  
*oh  *(  
(  
-(  
*of  o  
*   0 #   	  (  
(  
-(  
*od  
 (  
*n(  
(  
-(  
*oi  *oe  *~  
*~  
*~  
*
*
*~  
*~  
*sL	 *n{  -o|  }  {  *(  
*"(  
*"(  *f~  
(  
ox  o  
*n(  
(  
-(  
*ow  **(  
o  
-(  
*(}  (  oz  oJ	 *(  
o  
-(  
*(}  (  oz  oK	 *(  
(  
-(  
*oy  -~  
*ou  (  *(  
(  
-(  
*ov  o  
* 0 #   	  (  
(  
-(  
*ot  
 (  
*n(  
(  
-(  
*o{  *ou  *~  
*~  
*~  
*
*
*~  
*~  
*sL	 *n{  -o  }  {  *(  
*"(  
*"(  *f~  
(  
o  o  
*n(  
(  
-(  
*o  *(  
o  
-(  
*(  (  o  oJ	 *(  
o  
-(  
*(  (  o  oK	 *(  
(  
-(  
*o  -~  
*o  (  *(  
(  
-(  
*o  o  
*   0 #   	  (  
(  
-(  
*o  
 (  
*n(  
(  
-(  
*o  *o  *~  
*~  
*~  
*
*~  
*~  
*~  
*~  
*
*~  
*(  
*"(  
*sL	 *n{	  -o  }	  {	  *"(  *  0 R       ~  
(  
(  
(  
o  (  
o  (  
o  (  
(  
o  o  
*n(  
(  
-(  
*o  *(  
o  
-(  
*(  (  o  oJ	 *(  
o  
-(  
*(  (  o  oK	 *(  
(  
-(  
*o  -~  
*o  (  *(  
(  
-(  
*o  o  
*0 #   	  (  
(  
-(  
*o  
 (  
*n(  
(  
-(  
*o  *o  *~  
*~  
*~  
*
*~  
*(  
*"(  
*(  
*n(  
(  
-(  
*o  *(  
(  
-(  
*o  o  
*0 #   	  (  
(  
-(  
*o  
 (  
*(  
(  
-(  
*o  -~  
*o  (  *n(  
(  
-(  
*o  *o  *~  
*~  
*~  
*
*r  p*~  
*(  
*"(  
*N(  
o  (  
*n(  
(  
-(  
*o  *(  
(  
-(  
*o  o  
*  0 #   	  (  
(  
-(  
*o  
 (  
*(  
(  
-(  
*o  -~  
*o  (  *n(  
(  
-(  
*o  *o  *~  
*~  
*
*
*
*
*A* * *~  
*(  
*"(  
*   0 t       (  
o  o  
o  o  
o  
o  o  
o  
o  o  
o  (  
o  
o  (  
o  
o  (  
o  
*(  
(  
-(  
*o  
-~  
*o  (  *(  
(  
-(  
*o  o  
*0 #   	  (  
(  
-(  
*o  
 (  
*n(  
(  
-(  
*o  *o  *~  
*(  
*Z(  
(  
(  
*(  
*r  p*(  *Rr p(  
(  *r p*(  *Rr; p(  
(  *rC po  
-rI prM po  
*rC prI po  
*   0 `     ,P
+Ds 
	o  
o  
o  
} 	{ ,o  
	 s  
o  
Xi2o  
o  
*0 `     ,P
+Ds 
	o  
o  
o  
} 	{ ,o  
	 s  
o  
Xi2o  
o  
*0 3   
  u<  
,o  
(  *u(  ,o  
(  *u9  * 0     o  
:   o  

8   on  
t&  o  
o  
+Xon  
t(  
	o  
o  
+on  
t<  (  (  ok  
-u@  ,oj  
ok  
-u@  ,oj  
ok  
:eu@  ,oj  
o  
:  o  
8   on  
t*  o  
o  
	8   	on  
t&  

o  
o  
+Son  
t(  o  
o  

+
on  
t<  (  
ok  
-
u@  ,oj  
ok  
-u@  ,oj  
	ok  
:c	u@  ,oj  
ok  
:u@  ,oj  
*   X   J *t      / d             ;"]     `}                0 C     uG  - uH  -u  -u  -u  ,u
  
o  
o  
,on  * 0      ~
  o  
o  
,~
  o  
o  
o  
o  
u  
,<o  
o  
+on  
t<  (  ok  
-u@  
	,	oj  
o 
(  *   D c     0 D     o  
~ %-&~ W s 
% o 

,o 
o 
(  *0 9     o  
~ %-&~ X s 
% o 

,o 
*ro	 
-o
 
-
o 
**  0 M    s 

  (  
~ Y s
 
o 
E  (  
~ Z s
 
o 
  (  
~ [ s
 
o 
F  (  
~ \ s
 
o 
  (  
~ ] s
 
o 
D  (  
~ ^ s
 
o 
  (  
~ _ s
 
o 
  (  
~ ` s
 
o 
  (  
~ a s
 
o 
G  (  
~ b s
 
o 
H  (  
~ c s
 
o 
I  (  
~ d s
 
o 
J  (  
~ e s
 
o 
Q  (  
~ f s
 
o 
R  (  
~ g s
 
o 
S  (  
~ h s
 
o 
T  (  
~ i s
 
o 
W  (  
~ j s
 
o 
X  (  
~ k s
 
o 
Y  (  
~ l s
 
o 
V  (  
~ m s
 
o 
U  (  
~ n s
 
o 
І  (  
~ o s
 
o 
Ї  (  
~ p s
 
o 
}  (  
~ q s
 
o 
Ј  (  
~ r s
 
o 
u  (  
~ s s
 
o 
v  (  
~ t s
 
o 
t  (  
~ u s
 
o 
Z  (  
~ v s
 
o 
\  (  
~ w s
 
o 
[  (  
~ x s
 
o 
d  (  
~ y s
 
o 
l  (  
~ z s
 
o 
a  (  
~ { s
 
o 
`  (  
~ | s
 
o 
b  (  
~ } s
 
o 
c  (  
~ ~ s
 
o 
]  (  
~  s
 
o 
^  (  
~  s
 
o 
Ў  (  
~  s
 
o 
Д  (  
~  s
 
o 
З  (  
~  s
 
o 
С  (  
~  s
 
o 
Ш  (  
~  s
 
o 
Ъ  (  
~  s
 
o 
Щ  (  
~  s
 
o 
Ы  (  
~  s
 
o 
B  (  
~  s
 
o 
C  (  
~  s
 
o 

  *
*.   ( 
*.   ( 
*rO p*rS p*(E  *"(F  *
*.   ( 
*.   ( 
*r[ p*r_ p*(E  *"(F  *
*.   ( 
*.   ( 
*ri p*rm p*(E  *"(F  *
*.   ( 
*.   ( 
*rw p*r{ p*(E  *"(F  *
*. 
  ( 
*.   ( 
*r p*r p*(E  *"(F  *
* W  *. E  ( 
*. F  ( 
*r p*r p*"/( 
*0    	  ( 
( 

 (  
*(  *"(  *
* X  *. G  ( 
*. H  ( 
*r p*r p*" ( 
*   0    	  ( 
( 

 (  
*(  *"(  * Y  *. I  ( 
*. J  ( 
*r p*(m  *z(  
,
(  
o  
-(? **s 
*0      o> 
r p6 o 
&r% p6 o 
&r5 p
6 o 
&rC p6 o 
&rS p6 o 
&r] p6 o 
&rk p-6 o 
&r{ p<6 o 
&r pZ6 o 
&r px6 o 
&*
*. 9  ( 
*. :  ( 
*r p*r p*
*(  *"(  *  0        o  
sN o 
o  
sU o 
o  
s\ o 
o  
sc o 
o  
sj o 
o  
sq o 
o  
sx o 
o  
s o 
* v  *.   (i
 *.   (i
 *r p*r p*(  *"(  * Z  *. 
  ( 
*.   ( 
*ri p*r p*(  *"(  * [  *.   ( 
*.   ( 
*r p*r p*(  *"(  * \  *.   ( 
*.   ( 
*r9 p*r? p*(  *"(  * ]  *.   ( 
*.   ( 
*r_ p*re p*(  *"(  * ^  *.   ( 
*.   ( 
*r p*r p*(  *"(  * _  *.   ( 
*.   ( 
*r p*r p*(  *"(  * V  *.   ( 
*.   ( 
*r p*r p*:(  ( 
*>(  ( 
*
*. ;  ( 
*. <  ( 
*r p*r! p*
*(  *"(  *0        o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
* `  *.   ( 
*.   ( 
*rQ p*rW p*(  *"(  * a  *.   ( 
*.   ( 
*r p*r p*(  *"(  * b  *.   ( 
*.    ( 
*r p*r p*(  *"(  * c  *. !  ( 
*. "  ( 
*r p*r p*(  *"(  * d  *. #  ( 
*. $  ( 
*rM p*rS p*(  *"(  * e  *. %  ( 
*. &  ( 
*r p*r p*(  *"(  * f  *. '  ( 
*. (  ( 
*r p*r p*(  *"(  * g  *. )  ( 
*. *  ( 
*r p*r p*(  *"(  * h  *. +  ( 
*. ,  ( 
*r_ p*re p*(  *"(  *
*. =  ( 
*. >  ( 
*r p*r p*
*(  *"(  *o  
s o 
o  
s o 
o  
s o 
* i  *. -  ( 
*. .  ( 
*r p*r p*(  *"(  * j  *. /  ( 
*. 0  ( 
*r p*r p*(  *"(  * k  *. 1  ( 
*. 2  ( 
*r p*r p*(  *"(  *
*. ?  ( 
*. @  ( 
*r_ p*re p*
*(  *"(  *o  
s o 
o  
s o 
o  
s o 
* l  *. 3  ( 
*. 4  ( 
*r p*re p*(  *"(  * m  *. 5  ( 
*. 6  ( 
*r p*r p*(  *"(  * n  *. 7  ( 
*. 8  ( 
*r p*r p*(  *"(  *    *. a  ( 
*. b  ( 
*r p*r p*(E  *"(F  *    *. c  ( 
*. d  ( 
*r- p*r1 p*(E  *"(F  *    *. i  ( 
*. j  ( 
*rG p*rK p*(E  *"(F  *    *. g  ( 
*. h  ( 
*r p*ru p*(E  *"(F  *    *. e  ( 
*. f  ( 
*r p*r p*(X  *"(Y  *    *. k  ( 
*. l  ( 
*rw p*r p*(X  *"(Y  *    *. m  ( 
*. n  ( 
*r p*r p*(X  *"(Y  * J  *.   (i
 *.   (i
 *r	 p*   0 J       (  o 
o 
o 
s 
o 
o 
~ 
o 
o 
s 
o 
* K  *.   (i
 *.   (i
 *r!	 p*0 J       (  o 
o 
o 
s 
o 
o 
~ 
o 
o 
s 
o 
*    *. ]  ( 
*. ^  ( 
*r'	 p*r+	 p*(E  *"(F  *
*
*"T( 
*"U( 
*rU	 p*r[	 p*(E  *"(F  *
*
*"V( 
*"W( 
*re	 p*rk	 p*(E  *"(F  *
*.   ( 
*.   ( 
*r p*ru	 p*(E  *"(F  *	*.   ( 
*.   ( 
*r'	 p*r	 p*(E  *"(F  *
*.   ( 
*.   ( 
*rG p*r	 p*(E  *"(F  **.   ( 
*.   ( 
*r	 p*r	 p*s  
}  (m  o  
o! 
o  
2 (  
o  
*r{  o" 
-
{  o# 
*z(  
,
(  
o  
-(u **s 
* 0 :     ot 
+#~ o ~ o o 
&X~ i2*  0 y     s$ 

o  
o  
+Eon  
tC  {  o% 
o& 
-o% 

o' 
r	 p	o% 
(  
o( 
ok  
-u@  ,oj  
*       Qc     
*.   ( 
*.   ( 
*r
 p*r
 p*(m  o  
o! 
o  
Q (  
o  
*z(  
,
(  
o  
-( **s 
*   0 ?     o~ 
() 
o* 
+o+ 
(  
o, 
&ok  
-
,oj  
*     !3 
    
**.   ( 
*.   ( 
*r=
 p*rC
 p*re
 p*(E  *"(F  *
**. 
  ( 
*.   ( 
*ro
 p*ru
 p*re
 p*(E  *"(F  *
*
*.   ( 
*.   ( 
*r
 p*r
 p*
*(  *"(  *  0 Q       o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
*    *.   (i
 *.   (i
 *ri p*(  *"(  **.   ( 
*.   ( 
*r
 p*(  *"(  **.   ( 
*.   ( 
*r p*(  *"(  **.   ( 
*.   ( 
*r'	 p*(  *"(  **.   ( 
*.   ( 
*r p*(  *"(  *
**.    ( 
*.    ( 
*r
 p*r
 p*r
 p*(X  *"(Y  *
**.    ( 
*.    ( 
*r
 p*r
 p*r
 p*(X  *"(Y  *
**.    ( 
*.    ( 
*r
 p*r
 p*r
 p*(X  *"(Y  *
**.    ( 
*.    ( 
*r p*r p*r
 p*(X  *"(Y  *
**.   ( 
*.   ( 
*r p*r p*r5 p*(X  *"(Y  *
**.   ( 
*.   ( 
*rC p*rG p*r5 p*(X  *"(Y  *
**.    ( 
*.    ( 
*r[ p*ra p*ru p*" ( 
*(- 
*  0    	  ~  
( 

 (  
*(  *"(  *
**.   ( 
*.   ( 
*r p*r p*ru p*"$( 
*   0    	  ( 
( 

 (  
*"( *0       (  (  
(. 
o  o  
(/ 
o0 
(/ 
        (1 
o2 
&(/ 
    (1 
o2 
&(/ 
        (1 
o2 
&(/ 
        (1 
o2 
&(/ 
    (1 
o2 
&(/ 
    (1 
o2 
&(/ 
    (1 
o2 
&(/ 
        (1 
o2 
&(/ 
    (1 
o2 
&(/ 
        (1 
o2 
&(/ 
    (1 
o2 
&(/ 
        (1 
o2 
&(/ 
            (1 
o2 
&(/ 
            (1 
o2 
&(/ 
(1 
o2 
&*
**.   ( 
*.   ( 
*r p*r p*(E  *"(F  *
**.    ( 
*.    ( 
*r
 p*r p*(X  *"(Y  *
* *.    ( 
*.    ( 
*rO p*r p*(X  *"(Y  *
*!*.    ( 
*.    ( 
*r p*r p*(X  *"(Y  *
*"*.   ( 
*.   ( 
*r p*r
 p*r+ p*(E  *"(F  *
*#*.   ( 
*.   ( 
*r9 p*r? p*r+ p*(E  *"(F  *
*$*.   ( 
*.   ( 
*r] p*ra p*(X  *"(Y  *
*%*.   ( 
*.   ( 
*rw p*r} p*r p*(X  *"(Y  *
*&*.   ( 
*.   ( 
*r p*r p*r p*(X  *"(Y  *
*'*.   ( 
*.   ( 
*r p*r p*r p*(X  *"(Y  *
*(*.   ( 
*.   ( 
*r p*r p*r p*(X  *"(Y  *
*
*. o  ( 
*. p  ( 
*r p*r p*
*(  *"(  *   0 q       o  
sr o 
o  
sw o 
o  
s| o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
*)*. +  ( 
*. ,  ( 
*(  *"(  ***. -  ( 
*. .  ( 
*(  *"(  *+*. /  ( 
*. 0  ( 
*(  *"(  *-*. 1  ( 
*. 2  ( 
*r p*(  *"(  *.*. 3  ( 
*. 4  ( 
*rw p*(  *"(  */*. 5  ( 
*. 6  ( 
*r p*(  *"(  *0*. 7  ( 
*. 8  ( 
*rw p*(  *"(  *
*1*. )  ( 
*. *  ( 
*r p*r
 p*" ( 
*  0    	  ( 
( 

 (  
*(  *"(  *2*.   ( 
*.   ( 
*r
 p*r%
 p*(E  *"(F  *3*.    ( 
*.   ( 
*r p*r/
 p*(E  *"(F  *j*.    ( 
*.    ( 
*r p*r?
 p*(E  *"(F  **.   ( 
*.   ( 
*r p*~b *~a *(  *6*.    ( 
*.    ( 
*r p*rS
 p*(E  *"(F  *7*.    ( 
*.    ( 
*r p*rs
 p*(  *"(  *Fo  
s o 
*    *N(  o o3 
*6o  
s4 
*8*.    ( 
*.    ( 
*r p*r
 p*(E  *"(F  *:*.   ( 
*.   ( 
*r p*r
 p*(E  *"(F  *;*.   ( 
*.   ( 
*r p*r
 p*(E  *"(F  *    *. Y  ( 
*. Z  ( 
*r p*r
 p*(E  *"(F  *    *. [  ( 
*. \  ( 
*r[ p*r
 p*(E  *"(F  *    *.    ( 
*.    ( 
*r
 p*r
 p*(E  *"(F  *    *.    ( 
*.    ( 
*r
 p*r p*(E  *"(F  * p  *. K  ( 
*. L  ( 
*rG p*r3 p*(E  *"(F  *A*.    ( 
*.    ( 
*r
 p*rO p*(E  *"(F  *    *. 1  (i
 *. 2  (i
 *r] p*rc p*(  *"(  * 0 a       o  
s o 
o  
s o 
o  
s% o 
o  
s+ o 
o  
s1 o 
o  
s7 o 
*    *.   (i
 *.   (i
 *r p*(  *"(  *    *.   (i
 *.   (i
 *r p*(  *"(  *    *.   (i
 *.   (i
 *r p*(  *"(  *    *.   (i
 *.   (i
 *r p*(  *"(  * t  *.   (i
 *.   (i
 *r p*(  *"(  * u  *.   (i
 *.   (i
 *r p*(  *"(  *    *.    ( 
*.    ( 
*r p*rc p*(E  *"(F  *    *. 2  ( 
*. 3  ( 
*r p*r p*(X  *"(Y  *    *. .  ( 
*. /  ( 
*r p*r[ p*(E  *"(F  *    *. ,  ( 
*. -  ( 
*r p*r p*(E  *"(F  *    *. 3  (i
 *. 4  (i
 *r p*r
 p*(E  *"(F  *    *.   ( 
*.   ( 
*r/ p*r; p*(E  *"(F  *    *.   ( 
*.   ( 
*r? p*r p*(E  *"(F  *    *.   ( 
*.   ( 
*rI p*rG p*(E  *"(F  *    *.   ( 
*.   ( 
*rS p*r p*(E  *"(F  *    *.   ( 
*.   ( 
*r] p*r p*(E  *"(F  *
*.   ( 
*.   ( 
*r p*rq p*
*(  *"(  *0 Q       o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
*B*r p*.   (i
 *.   ( 
*r p*(  *"(  *C*.   (i
 *.   ( 
*r p*r p*(  *"(  *D*.   (i
 *.   ( 
*r p*r p*(  *"(  *E*.   (i
 *.   ( 
*r p*r p*(  *"(  *F*. A  ( 
*. B  ( 
*rw p*:(  ( 
*>(  ( 
*
*. q  ( 
*. r  ( 
*r[ p*r+ p*
*(  *"(  *o  
s o 
o  
s o 
*G*.   ( 
*.   ( 
*r p*rK p*(  *"(  *H*. }  ( 
*. ~  ( 
*r p*r{ p*(  *"(  *
*. s  ( 
*. t  ( 
*r p*r p*
*(  *"(  *   0        o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
*    *(a
 *r p*(  *"(  *c*(a
 *r p*(  *"(  *d*"(a
 *r p*(  *"(  *e*"	(a
 *r p*(  *"(  *h*"
(a
 *r p*(  *"(  *i*(a
 *r p*(  *"(  *f*"(a
 *r p*(  *"(  *g*"F(a
 *r p*(  *"(  *I*. C  ( 
*. D  ( 
*r p*:(  ( 
*>(  ( 
*
*. {  ( 
*. |  ( 
*r p*r p*
*(  *"(  *0 A       o  
s o 
o  
s
 o 
o  
s o 
o  
s o 
*J*. u  ( 
*. v  ( 
*r
 p*r p*(  *"(  *K*. w  ( 
*. x  ( 
*r
 p*r p*(  *"(  *L*. y  ( 
*. z  ( 
*r
 p*r! p*(  *"(  *M*.   ( 
*.   ( 
*r'	 p*r; p*:(  ( 
*>(  ( 
*
*.    ( 
*.    ( 
*r p*rS
 p*
*(  *"(  *0 Q       o  
s+ o 
o  
s2 o 
o  
s9 o 
o  
s@ o 
o  
sG o 
*6*.    ( 
*.    ( 
*r p*rS
 p*(  *"(  *O*.    ( 
*.    ( 
*r'	 p*rK p*(  *"(  *P*.    ( 
*.    ( 
*ro p*ru p*(  *"(  *Q*.    ( 
*.    ( 
*r p*r p*(  *"(  *R*.    ( 
*.    ( 
*r p*r p*(  *"(  *Z*. Q  ( 
*. R  ( 
*r! p*" ( 
*( 
* 0      ( 

 (5 
(  
*
*r
 p*(  *"(  * y  *.   ( 
*.   ( 
*r p*r5 p*(E  *"(F  *   *. 	  ( 
*. 
  ( 
*ra p*rg p*(E  *"(F  *
*.   ( 
*.   ( 
*rw p*r p*
*(  *"(  *  0        o  
so o 
o  
su o 
o  
s{ o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
o  
s o 
*   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*(  *"(  *
*.   ( 
*.   ( 
*r	 p*r p*
*(  *"(  *o  
s o 
o  
s o 
o  
s o 
* ~  *.   ( 
*.   ( 
*r p*r+ p*(  *"(  *   *.   ( 
*.   ( 
*r p*rS p*(  *"(  * }  *.   ( 
*.   ( 
*r p*ry p*(  *"(  *
*.   ( 
*.    ( 
*r p*r p*
*(  *"(  *o  
s o 
o  
s o 
o  
s o 
* {  *.   ( 
*.   ( 
*r p*r p*(  *"(  * |  *.   ( 
*.   ( 
*r_ p*rS p*(  *"(  * z  *.   ( 
*.   ( 
*rQ p*r p*(  *"(  *   *.   ( 
*.   ( 
*r5 p*rg p*(E  *"(F  *   *. S  ( 
*. T  ( 
*rw p*(  *   *. U  ( 
*. V  ( 
*r p*(  *   *. [  ( 
*. \  ( 
*r p*(  *   *. W  ( 
*. X  ( 
*r p*(  *   *. Y  ( 
*. Z  ( 
*rO p*(  *   *. ]  ( 
*. ^  ( 
*r
 p*(  * 
  *.   ( 
*~c *~a *ri p*(  * $  *. O  ( 
*. P  ( 
*r p*(m  *z(  
,
(  
o  
-( **s 
* 0 |     o 
   (i
 6 o 
&   (i
 6 o 
&   (i
 6 o 
&   (i
 6 o 
&   (i
 6 o 
&* #  *. Q  ( 
*. R  ( 
*r p*(m  *z(  
,
(  
o  
-( **s 
*0 z     o 
r% p6 o 
&r5 p
6 o 
&rC p6 o 
&rS p6 o 
&r] p6 o 
&r; p(6 o 
&* "  *. S  ( 
*. T  ( 
*rE p*" ( 
*(- 
*0    	  ~  
( 

 (  
*r'	 p*(  *"(  *
*. U  ( 
*. V  ( 
*r p*rW p*
*(  *"(  *0        o  
s6 o 
o  
s= o 
o  
sD o 
o  
sK o 
o  
sR o 
o  
sY o 
o  
s` o 
o  
sg o 
o  
sn o 
o  
su o 
o  
s| o 
*   *. C  ( 
*. D  ( 
*ru p*r{ p*(  *"(  *   *. A  ( 
*. B  ( 
*r_ p*r p*(  *"(  *   *. E  ( 
*. F  ( 
*r p*r p*(  *"(  *   *. G  ( 
*. H  ( 
*r p*r p*(  *"(  *   *. M  ( 
*. N  ( 
*rO p*r p*:(  ( 
*>(  ( 
*   *. ;  ( 
*. <  ( 
*rw p*r p*(  *"(  *   *. =  ( 
*. >  ( 
*r p*rW p*(  *"(  *   *. ?  ( 
*. @  ( 
*r p*r p*(  *"(  *   *. I  ( 
*. J  ( 
*r7 p*r= p*:(  ( 
*>(  ( 
*   *. K  ( 
*. L  ( 
*rk p*rq p*(  *"(  * '  *.   ( 
*.   ( 
*r p*r p*:(  ( 
*>(  ( 
* &  *. 9  ( 
*. :  ( 
*r p*r
 p*" ( 
* 0    	  ( 
( 

 (  
*(  *"(  *
*.   ( 
*.   ( 
*r p*r p*
*(  *"(  *   0 A       o  
s o 
o  
s o 
o  
s o 
o  
s o 
*   *.   ( 
*.   ( 
*r p*r p*(  *"(  *   *.   ( 
*.   ( 
*r p*r p*(  *"(  *    *.   ( 
*.   ( 
*r p*r% p*(  *"(  * !  *.   ( 
*.   ( 
*r p*rC p*(  *"(  * '  *.   ( 
*.   ( 
*r p*r p*(X  *"(Y  *    *.   ( 
*.   ( 
*r[ p*r[ p*(E  *"(F  *
*.    ( 
*.    ( 
*r p*r{ p*
*(  *"(  *  0 A       o  
s o 
o  
s o 
o  
s o 
o  
s o 
*    *.    ( 
*.    ( 
*r p*r p*(  *"(  *    *.    ( 
*.    ( 
*r p*r p*(  *"(  *    *.    ( 
*.    ( 
*r p*r p*(  *"(  *    *.    ( 
*.    ( 
*r p*r{ p*(  *"(  *    *.    ( 
*.    ( 
*rw p*r p*(E  *"(F  *    *.    ( 
*.    ( 
*r% p*r+ p*(E  *"(F  *    *. Q  ( 
*. R  ( 
*r p*rU p*(E  *"(F  *    *. S  ( 
*. T  ( 
*r p*r p*(E  *"(F  *    *. J  ( 
*. K  ( 
*r p*r p*(E  *"(F  *    *. N  ( 
*. P  ( 
*r p*r p*(E  *"(F  *
*. m  ( 
*. n  ( 
*r p*r p*
*(  *"(  *o  
s o 
o  
s o 
o  
s% o 
*   *. o  ( 
*. p  ( 
*r'	 p*r p*(  *"(  *   *. q  ( 
*. r  ( 
*r p*r1 p*(  *"(  *   *. s  ( 
*. t  ( 
*rO p*rW p*(  *"(  *   *. [  ( 
*. \  ( 
*rQ p*r p*
*r p*(X  *"(Y  *   *. ]  ( 
*. ^  ( 
*r p*r p*
*r p*(X  *"(Y  *   *. _  ( 
*. `  ( 
*r p*r p*
*r p*(X  *"(Y  *   *. a  ( 
*. b  ( 
*r p*r p*
*r p*(X  *"(Y  *   *. c  ( 
*. d  ( 
*r; p*rA p*
*r p*(X  *"(Y  * 	  *. e  ( 
*. f  ( 
*re p*rk p*
*r p*(X  *"(Y  * 
  *. g  ( 
*. h  ( 
*r p*r p*
*r p*(X  *"(Y  *   *. i  ( 
*. j  ( 
*r p*r p*
*r p*(X  *"(Y  *   *. k  ( 
*. l  ( 
*r_ p*r p*
*r p*(X  *"(Y  *    *.   (i
 *.   (i
 *rO p*r p*(E  *"(F  *   *. B  ( 
*. C  ( 
*r p*r7 p*(X  *"(Y  *   *. @  ( 
*. A  ( 
*r p*rM p*(X  *"(Y  *^*.   ( 
*.   ( 
*r p*rm p*(X  *"(Y  *b*.    (i
 *.    (i
 *r p*r p*(X  *"(Y  *F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*rm p*
*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r[	 p*
*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*ru	 p*
*F    (i
 ( *&("  *(6 
*"(  
*(7 
*"(  
*r p*4*r p*r p*F    (i
 ( *&("  *(6 
*"(  
*(7 
*"(  
*r p*5*r p*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r p*r p*
*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r%
 p*r p*
*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*rS
 p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*rs
 p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r
 p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r
 p*
*r p*F    (i
 ( *"(!  *(7 
*"(  
*r
 p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r3 p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*rO p*
*r p*F    (i
 ( *&("  *(6 
*"(  
*(7 
*"(  
*r p*k*r# p*r p*F    (i
 (! *&("  *(6 
*"(  
*(7 
*"(  
*r! p*
*r) p*:&( 
(* *"(!  *(6 
*"(  
*(7 
*"(  
*r5 p*
*r/ p*:)( 
(3 *"(!  *(6 
*"(  
*(7 
*"(  
*r p*
*r5 p*F    (i
 (< *"(!  *(6 
*"(  
*(7 
*"(  
*rc p*
*r p*F    (i
 (E *"(!  *(6 
*"(  
*(7 
*"(  
*r; p*
*r] p*F    (i
 (N *"(!  *(6 
*"(  
*(7 
*"(  
*r p*
*r p*F    (i
 (W *"(!  *(6 
*"(  
*(7 
*"(  
*r] p*
*r p*:!( 
(` *"(!  *(6 
*"(  
*(7 
*"(  
*rM p*
*r p*F    (i
 (i *"(!  *(6 
*"(  
*(7 
*"(  
*rm p*
*r p*F    (i
 (r *"(!  *(6 
*"(  
*(7 
*"(  
*r p*
*rc p*F    (i
 ({ *"(!  *(6 
*"(  
*(7 
*"(  
*r[ p*
*ri p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*ro p*
*r p*F    (i
 ( *&("  *(6 
*"(  
*(7 
*"(  
*rW p*   *r[ p*r) p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r[ p*
*r p*F    (i
 ( *>(!  ( *(6 
*"(  
*(7 
*"(  
*r+ p*    *r p*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r p*
*r] p*F    (i
 ( *>(!  ( *(6 
*"(  
*(7 
*"(  
*r p*    *r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*rA p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r p*
*ri p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r1 p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r+	 p*
*r p*F    (i
 ( *"(!  *(6 
*"(  
*(7 
*"(  
*r p*
*F    (i
 ( *&("  *(6 
*"(  
*(7 
*"(  
*r p* V  *F    (i
 (  *:(  ( *(8 
*"(  
*r p*r p*F    (i
 (  *:(  (	 *(8 
*"(  
*r p*r p*F    (i
 (  *:(  (	 *(8 
*"(  
*r p*rO p*F    (i
 (  *:(  (
	 *(8 
*"(  
*r p*r p*F    (i
 (  *:(  (	 *(8 
*"(  
*r] p*r p*F    (i
 (  *:(  (	 *(8 
*"(  
*r p*r p*F    (i
 (  *:(  (	 *(8 
*"(  
*r p*r p*F    (i
 (  *:(  (%	 *(8 
*"(  
*r p*re	 p*F    (i
 (  *:(  (+	 *(8 
*"(  
*r p*r' p*F    (i
 (  *:(  (1	 *(8 
*"(  
*r- p*rE p*F    (i
 (  *:(  (7	 *(8 
*"(  
*rK p*rk p*F    (i
 (  *:(  (=	 *(8 
*"(  
*rq p*r p*   0    	      
 (  
*>    (1 
*(/  *  0    	      
 (  
*:    (1 
*(/  *   0    	   o  
 (  
*>    '(1 
*(/  *  0 0     s 
} { r p s9 
~  
(: 
*0      s; 

(  
-oI	 o< 
*Nr  p(  
(J	 *(t  
*r p*.6 (  
*r p*s= 
} s= 
} (> 
(U	 (V	 *{ *{ *0 ^F    (? 
   
r p(@ 
r psA 
%rA poB 
oC 
rS p (@ 
rS psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r? p (@ 
r? psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
re p(@ 
re psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
rS p(@ 
rS psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
ra p (@ 
ra psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
rW p(@ 
rW psA 
%rA poB 
oC 
r3  p (@ 
r3  psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rs  p (@ 
rs  psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r  p (@ 
r  psA 
%rA poB 
oC 
r} p(@ 
r} psA 
%rA poB 
oC 
r  p (@ 
r  psA 
%rA poB 
oC 
rA p(@ 
rA psA 
%rA poB 
oC 
r  p (@ 
r  psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r%! p (@ 
r%! psA 
%rA poB 
oC 
rk p(@ 
rk psA 
%rA poB 
oC 
rO! p (@ 
rO! psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r{! p (@ 
r{! psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r! p (@ 
r! psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r! p (@ 
r! psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r! p (@ 
r! psA 
%rA poB 
oC 
r
" p(@ 
r
" psA 
%rA poB 
oC 
r#" p (@ 
r#" psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
rC" p (@ 
rC" psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
rW" p (@ 
rW" psA 
%rA poB 
oC 
rs" p (@ 
rs" psA 
%rA poB 
oC 
r{ p(@ 
r{ psA 
%rA poB 
oC 
r" p (@ 
r" psA 
%rA poB 
oC 
r" p(@ 
r" psA 
%rA poB 
oC 
r" p (@ 
r" psA 
%rA poB 
oC 
r# p(@ 
r# psA 
%rA poB 
oC 
r-# p (@ 
r-# psA 
%rA poB 
oC 
r= p(@ 
r= psA 
%rA poB 
oC 
rY# p (@ 
rY# psA 
%rA poB 
oC 
rq p(@ 
rq psA 
%rA poB 
oC 
r# p (@ 
r# psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r# p (@ 
r# psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r# p (@ 
r# psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r$ p (@ 
r$ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r'$ p (@ 
r'$ psA 
%rA poB 
oC 
rG$ p(@ 
rG$ psA 
%rA poB 
oC 
rk$ p (@ 
rk$ psA 
%rA poB 
oC 
r$ p (@ 
r$ psA 
%rA poB 
oC 
r$ p (@ 
r$ psA 
%rA poB 
oC 
r$ p (@ 
r$ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r% p (@ 
r% psA 
%rA poB 
oC 
r'% p (@ 
r'% psA 
%rA poB 
oC 
rW p(@ 
rW psA 
%rA poB 
oC 
rI% p (@ 
rI% psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rq% p (@ 
rq% psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r% p (@ 
r% psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r% p (@ 
r% psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r% p (@ 
r% psA 
%rA poB 
oC 
r& p(@ 
r& psA 
%rA poB 
oC 
r+& p (@ 
r+& psA 
%rA poB 
oC 
r+	 p(@ 
r+	 psA 
%rA poB 
oC 
rU& p (@ 
rU& psA 
%rA poB 
oC 
r; p(@ 
r; psA 
%rA poB 
oC 
r& p (@ 
r& psA 
%rA poB 
oC 
r& p(@ 
r& psA 
%rA poB 
oC 
r& p (@ 
r& psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r& p (@ 
r& psA 
%rA poB 
oC 
r& p(@ 
r& psA 
%rA poB 
oC 
r' p (@ 
r' psA 
%rA poB 
oC 
r! p(@ 
r! psA 
%rA poB 
oC 
r;' p (@ 
r;' psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r_' p (@ 
r_' psA 
%rA poB 
oC 
r	 p(@ 
r	 psA 
%rA poB 
oC 
r' p (@ 
r' psA 
%rA poB 
oC 
r	 p(@ 
r	 psA 
%rA poB 
oC 
r' p (@ 
r' psA 
%rA poB 
oC 
r' p(@ 
r' psA 
%rA poB 
oC 
r' p(@ 
r' psA 
%rA poB 
oC 
r' p (@ 
r' psA 
%rA poB 
oC 
r' p (@ 
r' psA 
%rA poB 
oC 
r{ p(@ 
r{ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r
( p (@ 
r
( psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r9( p (@ 
r9( psA 
%rA poB 
oC 
ri( p (@ 
ri( psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r( p (@ 
r( psA 
%rA poB 
oC 
r( p(@ 
r( psA 
%rA poB 
oC 
r( p (@ 
r( psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r) p (@ 
r) psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r3) p (@ 
r3) psA 
%rA poB 
oC 
ri) p(@ 
ri) psA 
%rA poB 
oC 
r}) p (@ 
r}) psA 
%rA poB 
oC 
r) p(@ 
r) psA 
%rA poB 
oC 
r) p (@ 
r) psA 
%rA poB 
oC 
r%
 p(@ 
r%
 psA 
%rA poB 
oC 
r) p (@ 
r) psA 
%rA poB 
oC 
r/ p(@ 
r/ psA 
%rA poB 
oC 
r	* p (@ 
r	* psA 
%rA poB 
oC 
r! p(@ 
r! psA 
%rA poB 
oC 
r* p (@ 
r* psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rY* p (@ 
rY* psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r* p (@ 
r* psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r* p (@ 
r* psA 
%rA poB 
oC 
r%+ p(@ 
r%+ psA 
%rA poB 
oC 
rg+ p (@ 
rg+ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r+ p (@ 
r+ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r+ p (@ 
r+ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r/, p (@ 
r/, psA 
%rA poB 
oC 
re p(@ 
re psA 
%rA poB 
oC 
ro, p (@ 
ro, psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r, p (@ 
r, psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r, p (@ 
r, psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r/- p (@ 
r/- psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
ra p(@ 
ra psA 
%rA poB 
oC 
ro- p (@ 
ro- psA 
%rA poB 
oC 
r- p (@ 
r- psA 
%rA poB 
oC 
r- p(@ 
r- psA 
%rA poB 
oC 
ru
 p(@ 
ru
 psA 
%rA poB 
oC 
r- p (@ 
r- psA 
%rA poB 
oC 
rC
 p(@ 
rC
 psA 
%rA poB 
oC 
r- p (@ 
r- psA 
%rA poB 
oC 
r. p (@ 
r. psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r'. p (@ 
r'. psA 
%rA poB 
oC 
r p (@ 
r psA 
%rA poB 
oC 
r?. p (@ 
r?. psA 
%rA poB 
oC 
r1 p(@ 
r1 psA 
%rA poB 
oC 
r_. p (@ 
r_. psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r. p (@ 
r. psA 
%rA poB 
oC 
rK p(@ 
rK psA 
%rA poB 
oC 
r. p (@ 
r. psA 
%rA poB 
oC 
ru p(@ 
ru psA 
%rA poB 
oC 
r. p (@ 
r. psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r/ p (@ 
r/ psA 
%rA poB 
oC 
r'/ p(@ 
r'/ psA 
%rA poB 
oC 
r=/ p (@ 
r=/ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r]/ p (@ 
r]/ psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r{/ p (@ 
r{/ psA 
%rA poB 
oC 
r/ p(@ 
r/ psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r/ p (@ 
r/ psA 
%rA poB 
oC 
r? p(@ 
r? psA 
%rA poB 
oC 
r/ p (@ 
r/ psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r0 p (@ 
r0 psA 
%rA poB 
oC 
rK p(@ 
rK psA 
%rA poB 
oC 
r10 p (@ 
r10 psA 
%rA poB 
oC 
rc p(@ 
rc psA 
%rA poB 
oC 
r_0 p (@ 
r_0 psA 
%rA poB 
oC 
ry p(@ 
ry psA 
%rA poB 
oC 
r0 p (@ 
r0 psA 
%rA poB 
oC 
r+ p(@ 
r+ psA 
%rA poB 
oC 
r0 p (@ 
r0 psA 
%rA poB 
oC 
r0 p(@ 
r0 psA 
%rA poB 
oC 
r%1 p (@ 
r%1 psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
rc1 p (@ 
rc1 psA 
%rA poB 
oC 
rS
 p(@ 
rS
 psA 
%rA poB 
oC 
r1 p (@ 
r1 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r1 p (@ 
r1 psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r1 p (@ 
r1 psA 
%rA poB 
oC 
r2 p(@ 
r2 psA 
%rA poB 
oC 
r?2 p (@ 
r?2 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r2 p (@ 
r2 psA 
%rA poB 
oC 
ru p(@ 
ru psA 
%rA poB 
oC 
r2 p (@ 
r2 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r3 p (@ 
r3 psA 
%rA poB 
oC 
rs
 p(@ 
rs
 psA 
%rA poB 
oC 
rS p(@ 
rS psA 
%rA poB 
oC 
rA3 p (@ 
rA3 psA 
%rA poB 
oC 
rq3 p(@ 
rq3 psA 
%rA poB 
oC 
r3 p (@ 
r3 psA 
%rA poB 
oC 
rU p(@ 
rU psA 
%rA poB 
oC 
r3 p (@ 
r3 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r4 p (@ 
r4 psA 
%rA poB 
oC 
rE4 p (@ 
rE4 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rg4 p (@ 
rg4 psA 
%rA poB 
oC 
r5 p(@ 
r5 psA 
%rA poB 
oC 
r4 p (@ 
r4 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r4 p (@ 
r4 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r5 p (@ 
r5 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r?5 p (@ 
r?5 psA 
%rA poB 
oC 
r+ p(@ 
r+ psA 
%rA poB 
oC 
rs5 p (@ 
rs5 psA 
%rA poB 
oC 
r3 p(@ 
r3 psA 
%rA poB 
oC 
r5 p (@ 
r5 psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r5 p (@ 
r5 psA 
%rA poB 
oC 
r5 p(@ 
r5 psA 
%rA poB 
oC 
r5 p (@ 
r5 psA 
%rA poB 
oC 
rS p(@ 
rS psA 
%rA poB 
oC 
r6 p (@ 
r6 psA 
%rA poB 
oC 
r'6 p(@ 
r'6 psA 
%rA poB 
oC 
r?6 p(@ 
r?6 psA 
%rA poB 
oC 
r[6 p (@ 
r[6 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r6 p (@ 
r6 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r6 p (@ 
r6 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r6 p (@ 
r6 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r6 p (@ 
r6 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r7 p (@ 
r7 psA 
%rA poB 
oC 
r] p(@ 
r] psA 
%rA poB 
oC 
r77 p (@ 
r77 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rU7 p (@ 
rU7 psA 
%rA poB 
oC 
r7 p(@ 
r7 psA 
%rA poB 
oC 
r7 p (@ 
r7 psA 
%rA poB 
oC 
ro p(@ 
ro psA 
%rA poB 
oC 
r7 p (@ 
r7 psA 
%rA poB 
oC 
rS p(@ 
rS psA 
%rA poB 
oC 
r7 p(@ 
r7 psA 
%rA poB 
oC 
r7 p (@ 
r7 psA 
%rA poB 
oC 
r8 p (@ 
r8 psA 
%rA poB 
oC 
r-8 p(@ 
r-8 psA 
%rA poB 
oC 
rI8 p (@ 
rI8 psA 
%rA poB 
oC 
rI p(@ 
rI psA 
%rA poB 
oC 
ro8 p(@ 
ro8 psA 
%rA poB 
oC 
r8 p (@ 
r8 psA 
%rA poB 
oC 
r8 p (@ 
r8 psA 
%rA poB 
oC 
r8 p(@ 
r8 psA 
%rA poB 
oC 
r_ p(@ 
r_ psA 
%rA poB 
oC 
r8 p (@ 
r8 psA 
%rA poB 
oC 
r! p(@ 
r! psA 
%rA poB 
oC 
r8 p (@ 
r8 psA 
%rA poB 
oC 
rq p(@ 
rq psA 
%rA poB 
oC 
r9 p (@ 
r9 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r%9 p (@ 
r%9 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rW9 p (@ 
rW9 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r9 p (@ 
r9 psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r9 p (@ 
r9 psA 
%rA poB 
oC 
r{ p(@ 
r{ psA 
%rA poB 
oC 
r9 p (@ 
r9 psA 
%rA poB 
oC 
r+ p(@ 
r+ psA 
%rA poB 
oC 
r: p (@ 
r: psA 
%rA poB 
oC 
rK p(@ 
rK psA 
%rA poB 
oC 
rC: p (@ 
rC: psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r}: p (@ 
r}: psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r: p (@ 
r: psA 
%rA poB 
oC 
r  p (@ 
r  psA 
%rA poB 
oC 
ru	 p(@ 
ru	 psA 
%rA poB 
oC 
r: p (@ 
r: psA 
%rA poB 
oC 
r: p(@ 
r: psA 
%rA poB 
oC 
r: p (@ 
r: psA 
%rA poB 
oC 
rE p(@ 
rE psA 
%rA poB 
oC 
r
; p (@ 
r
; psA 
%rA poB 
oC 
r? p(@ 
r? psA 
%rA poB 
oC 
r); p(@ 
r); psA 
%rA poB 
oC 
r9; p (@ 
r9; psA 
%rA poB 
oC 
rS; p(@ 
rS; psA 
%rA poB 
oC 
rs; p (@ 
rs; psA 
%rA poB 
oC 
r; p (@ 
r; psA 
%rA poB 
oC 
r; p(@ 
r; psA 
%rA poB 
oC 
r; p(@ 
r; psA 
%rA poB 
oC 
r; p (@ 
r; psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r; p (@ 
r; psA 
%rA poB 
oC 
r< p (@ 
r< psA 
%rA poB 
oC 
rM p(@ 
rM psA 
%rA poB 
oC 
r3< p (@ 
r3< psA 
%rA poB 
oC 
r]< p(@ 
r]< psA 
%rA poB 
oC 
r< p (@ 
r< psA 
%rA poB 
oC 
r< p(@ 
r< psA 
%rA poB 
oC 
r< p (@ 
r< psA 
%rA poB 
oC 
r= p(@ 
r= psA 
%rA poB 
oC 
r%= p (@ 
r%= psA 
%rA poB 
oC 
rk	 p(@ 
rk	 psA 
%rA poB 
oC 
rS= p (@ 
rS= psA 
%rA poB 
oC 
r/
 p(@ 
r/
 psA 
%rA poB 
oC 
rg= p (@ 
rg= psA 
%rA poB 
oC 
r= p(@ 
r= psA 
%rA poB 
oC 
r= p (@ 
r= psA 
%rA poB 
oC 
r= p(@ 
r= psA 
%rA poB 
oC 
r= p (@ 
r= psA 
%rA poB 
oC 
r= p(@ 
r= psA 
%rA poB 
oC 
rm p(@ 
rm psA 
%rA poB 
oC 
r> p (@ 
r> psA 
%rA poB 
oC 
r9> p(@ 
r9> psA 
%rA poB 
oC 
rU> p (@ 
rU> psA 
%rA poB 
oC 
rm p(@ 
rm psA 
%rA poB 
oC 
r{> p(@ 
r{> psA 
%rA poB 
oC 
r> p (@ 
r> psA 
%rA poB 
oC 
r{ p(@ 
r{ psA 
%rA poB 
oC 
r> p (@ 
r> psA 
%rA poB 
oC 
r> p (@ 
r> psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r?
 p(@ 
r?
 psA 
%rA poB 
oC 
r> p (@ 
r> psA 
%rA poB 
oC 
r> p (@ 
r> psA 
%rA poB 
oC 
rC p(@ 
rC psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r? p (@ 
r? psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r1? p (@ 
r1? psA 
%rA poB 
oC 
r_? p (@ 
r_? psA 
%rA poB 
oC 
r% p(@ 
r% psA 
%rA poB 
oC 
r? p (@ 
r? psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r? p (@ 
r? psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r? p (@ 
r? psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r? p (@ 
r? psA 
%rA poB 
oC 
r#@ p(@ 
r#@ psA 
%rA poB 
oC 
r=@ p (@ 
r=@ psA 
%rA poB 
oC 
ra p(@ 
ra psA 
%rA poB 
oC 
ra@ p (@ 
ra@ psA 
%rA poB 
oC 
r7 p(@ 
r7 psA 
%rA poB 
oC 
r@ p (@ 
r@ psA 
%rA poB 
oC 
r@ p(@ 
r@ psA 
%rA poB 
oC 
r@ p (@ 
r@ psA 
%rA poB 
oC 
r@ p(@ 
r@ psA 
%rA poB 
oC 
rA p(@ 
rA psA 
%rA poB 
oC 
r)A p (@ 
r)A psA 
%rA poB 
oC 
r[A p (@ 
r[A psA 
%rA poB 
oC 
r{A p(@ 
r{A psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rA p (@ 
rA psA 
%rA poB 
oC 
rA p (@ 
rA psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rA p(@ 
rA psA 
%rA poB 
oC 
rA p (@ 
rA psA 
%rA poB 
oC 
r%B p (@ 
r%B psA 
%rA poB 
oC 
rG p(@ 
rG psA 
%rA poB 
oC 
rCB p (@ 
rCB psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
raB p (@ 
raB psA 
%rA poB 
oC 
rO p(@ 
rO psA 
%rA poB 
oC 
rB p (@ 
rB psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rB p (@ 
rB psA 
%rA poB 
oC 
r1 p(@ 
r1 psA 
%rA poB 
oC 
rB p (@ 
rB psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rB p (@ 
rB psA 
%rA poB 
oC 
rW p(@ 
rW psA 
%rA poB 
oC 
r+C p (@ 
r+C psA 
%rA poB 
oC 
r[ p(@ 
r[ psA 
%rA poB 
oC 
raC p (@ 
raC psA 
%rA poB 
oC 
rC p (@ 
rC psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rC p (@ 
rC psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rC p (@ 
rC psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rC p (@ 
rC psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
r1D p (@ 
r1D psA 
%rA poB 
oC 
r? p(@ 
r? psA 
%rA poB 
oC 
rYD p (@ 
rYD psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rD p (@ 
rD psA 
%rA poB 
oC 
re p(@ 
re psA 
%rA poB 
oC 
rD p (@ 
rD psA 
%rA poB 
oC 
rD p(@ 
rD psA 
%rA poB 
oC 
r; p(@ 
r; psA 
%rA poB 
oC 
rD p (@ 
rD psA 
%rA poB 
oC 
r#E p(@ 
r#E psA 
%rA poB 
oC 
r
 p(@ 
r
 psA 
%rA poB 
oC 
r9E p(@ 
r9E psA 
%rA poB 
oC 
rYE p (@ 
rYE psA 
%rA poB 
oC 
rE p (@ 
rE psA 
%rA poB 
oC 
rE p(@ 
rE psA 
%rA poB 
oC 
rE p (@ 
rE psA 
%rA poB 
oC 
r[	 p(@ 
r[	 psA 
%rA poB 
oC 
rE p (@ 
rE psA 
%rA poB 
oC 
rE p(@ 
rE psA 
%rA poB 
oC 
rF p (@ 
rF psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rIF p (@ 
rIF psA 
%rA poB 
oC 
rg p(@ 
rg psA 
%rA poB 
oC 
rkF p (@ 
rkF psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rF p (@ 
rF psA 
%rA poB 
oC 
r p(@ 
r psA 
%rA poB 
oC 
rF p (@ 
rF psA 
%rA poB 
oC 
rF p(@ 
rF psA 
%rA poB 
oC 
rG p (@ 
rG psA 
%rA poB 
oC 
rG p(@ 
rG psA 
%rA poB 
oC 
r/G p (@ 
r/G psA 
%rA poB 
oC 
*rIG p*   0        { rYG poD 
{ rYG poD 
{ rYG poD 
{ reG poD 
{ rsG poD 
{ rG poD 
{ rG poD 
{ rG poD 
*   0        { rIG poD 
{ rIG poD 
{ rIG poD 
{ rG poD 
{ rG poD 
{ rG poD 
(E 
oF 
-#{ rG poD 
{ rG poD 
*{ r
H poD 
{ r'H poD 
*0        st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 st  
 (G 
*{ *"} *(
 (
 o oH 
oI 
o  
*
*2rEH p(  +*
*  0        ~K 
} (L 
6 (  
(M 
s
 } o	 } sS } o	 } o	 } s?
 } sA
 }  s=
 } s9
 } sC
 } sJ
 } (N 
-
(O 
(P 
*ZoQ 
-s *s *(R 
*.,(S 
*2oT 
to *{ *Fr_H p~  
(U 
*{ { } r_H p~  
(V 
*6r{H p(W 
*b(f	 3*r{H p(X 
*FrH p~  
(U 
*(h	 (Y 
,*rH p~  
(V 
*6rH p(W 
*:rH p(X 
*6rH p(W 
*{ { } rH p(X 
o
 *6r
I p(  +*  0 :     3(n	 +
r
I pu  u  ([ 
,(\ 
( 
 *nr'I p~] 
v  (^ 
v  *r'I p~] 
v  v  (_ 
( 
 *   0        (` 

w  %(c	 %(	 %(
 %(	 %(	 %(	 %(	 %(	 %(	 %	(	 %
(	 %(	 %(	 (a 
*r(
 o o  
ob 
oc 
*(
 ,'(
 o oH 
od 
(
 o oe 
*(
 ,((
 o oH 
od 
(
 o of 
*0      (g 
u  
,(	 *
*Z(h 
oQ 
-(y	 * 0 ;     ~ 
(i 
({	 ,(d	 r_H p   (j 

,(k 
*     (0 
    2(d	 (l 
*>(d	 (  
*~(h	 (  
-(h	 * #  (i
 *   0 U       (m 
on 
-*on 
oo 
-
on 
op 
,(!
 on 
op 
,(q 
,(K
 -(r 
&*(s 
(_	 (Y	 ot 
(X	 ou 
(
 o
 *  0 I       on 
,((X	 , o	 .(	 (X	 o (v 
rGI p(  +(T
 (w 
*   0 !   
  rM p
(x 
,(y 

(z 
*            :({ 
(Y	 *rA p*
*
*o	 *rcI p*"sP	 *.6 (  
*0     (| 
(
 (
 (
 o/ 
-(
 rI ph o} 
(
 (
 s	 (c	 s9  %o 
rJ p	o~ 
o} 
rJ p(c	 o
 6 o} 
r+J p(	 o} 
rGJ p(	 o} 
riJ p({	 h o} 
rJ p(	 o} 
rJ p(	 o} 
rJ p(	 o} 
rJ p(
   ox  
o} 
rJ p(	 o} 
r#K p(	 o} 
rEK p(	 o} 
roK p(	 o} 
rK p(	 o} 
rK p(	 o} 
rK p(	 o} 
rK p(	 o} 
rL p(b	 o o 
o} 
rL p(E 
oF 
,!(b	 o .(b	 o ++h o} 
(l	 ,r3L ph o} 
(
 (
 ( 
,rEL ph o} 
(f	 ,ryL p(|	 o} 
o	 3v(	 rL p( 
--~  
+o 
+(	 o} 
( 
,#s 
%o 
(b	 o (	 *o 
o 
(	 *o	 .(X	 o (b	 o (	 * 0 s     (c	 o&
 o s 
%rL p(c	 o&
 o
 o 
%rL p(c	 o&
 o o  o 
%rL p(c	 o&
 o	 o
 o 

* 0 /     on 
Л (  
rL p( 

s 
%rIM po 
* 0      s 
%riM p(c	 o'
 o 
h o 
%rM p(c	 o'
 o 
h o 
%rM p(c	 o'
 o 
( 
o 
%rM p(c	 o'
 o 
( 
o 
%rN p(c	 o(
 o 
o 
o 
%r+N p(c	 o(
 o 
o 
o 
%rSN p(c	 o(
 o 
o 
o 

*0      s 
%rN p(c	 o%
 o) h o 
%rN p(c	 o%
 o 
h o 
%rN p(c	 o%
 o 
h o 
%rN p(c	 o%
 o 
h o 
%r'O p(c	 o%
 o1 o
 o 

*0     s 

r?O ps 
%rYO p   ( 
o 
%rgO p   ( 
o 
%ruO p   ( 
o 
%rO p   ( 
o 
%rO p   ( 
o 
%rO p   ( 
o 
%rO p   ( 
o 
%r
P p   ( 
o 
%r)P p   ( 
o 
o 
rGP ps 
%rmP p   ( 
o 
%rP p   ( 
o 
%rP p   ( 
o 
o 
rP ps 
%rP p   ( 
o 
%rP p   ( 
o 
%r)Q p   ( 
o 
o 
riQ ps 
%rQ p   (i
 o 
%rQ p   (i
 o 
%rQ p   (i
 o 
o 
*  0       (c	 o$
 ( 
s 
%rQ p(c	 o$
 o? h o 
%rQ p  o 
%rQ p(c	 o$
 o? ,
~K 
( 
+h o 
%rR p(c	 o$
 oI 6 o 
*  0 h     s 

r'R p(c	 o#
 o 
  o 
rUR p(c	 o#
 o 
6 o 
rkR p(c	 o#
 o 
( 
o 
*0      s 

rwR p(c	 o*
 o h o 
rR p(c	 o*
 o h o 
rR p(c	 o*
 o o 
rR p(c	 o*
 o o 
rS p(c	 o*
 o h o 
rAS p(c	 o*
 o o 
roS p(c	 o*
 o o 
*0 M     s 

rS p(c	 o)
 oN 6 o 
rS p(c	 o)
 oP o; o9 o 
*   0 (     s 
%rS p(c	 o,
 o 6 o 

*0 E   !  s 

(c	 o
 .	( 
+( 
rS po 
rS p( 
o 
*   0 {   "  sP	 
rS pon 
r  po 
o 
o 
o} 
r'T pon 
r po 
o 
o 
o} 
raT pon 
rC po 
o 
o 
o} 
* 0      s 

rQ p(K
 h o 
rT p(O
 ,(O
 +h o 
rT p(S
 h o 
rT p(Q
 6 o 
rT p(K
 6 o 
*{ *0      s 
%rU p(	 o 
%rU p(	 o 
%rUR p(c	 o"
 o 
6 o 
%r-U p(c	 o"
 o 
h o 
%rKU p(c	 o"
 o 
h o 
%rkU p(c	 o"
 o 
h o 

*  0    #  s  
%r}U p   (i
 o# 
%rU p   (i
 o# 
%rU p   (i
 o# 
%rU p   (i
 o# 
%rU p 	  (i
 o# 
%rU p 
  (i
 o# 
%rV p   (i
 o# 
%r%V p   (i
 o# 
%r7V p   (i
 o# 
%rKV p   (i
 o# 

*  0 )  $  s 
%raV prkV p(	 o (	 o 
%rV prV p(	 o (	 o 
%rV prV p(	 o (	 o 
%rV prW p(	 o (	 o 

s 
%r}U p(	 o^
 (	 oU
 (	 o 
%r1W pr[W p(	 o 
 (	 o 
%rU p(	 o\
 (	 oS
 (	 o 
%rW prW p(	 o (	 o 
%rU p(	 o]
 (	 oT
 (	 o 
%rW prW p(	 o (	 o 
%r'X prQX p(	 o (	 o 
%rX po 
%rX p(	 o_
 (	 oO
 (	 o 
%rX p(	 o[
 (	 oN
 (	 o 
%rX p(	 oY
 (	 oM
 (	 o 
%rX p(	 oZ
 (	 o 
*   0 :   %  ,o 
o 

on 
o 
o 
(  
,s 
*s 
*^(  
,s 
*s 
*  0 .   &  (	 on 
o 

o< 
('
 on 
o 
*sL
 *s *(
 *  0 ]   '  (
 o 
-(
 o 
(	 +-o 
-(
 o 
o 
,(
 o  
,(
 o 
*   0 M   (  (
 o oH 
oI 

o  
(
 o (
 o oH 
o 
o 
o  
*N(
 o o 
*   0 5   )  s  

(
 o o 
jo 
(  

,oj  
*       #) 
    0    *  s 

o	 * 0    *     ox  
s 

o	 *0 -   +  (v	 -#o 

   ox  
s 
o	 *   0     +  (v	 -o 

s 
o	 *0 -   ,  (v	 -#o 

   ox  
s 
o	 *   0     ,  (v	 -o 

s 
o	 *6o
  (	 *  0        (
 (
 (
 (c	 { o, (
 o o  
o 
(c	 o(
 o 
(
 o o  
o 
o 
(c	 o+
 o o
 o 
(	 *o8
 -(
 o 
(
 o 
(	 *V} o 
} *J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*{ *J( 
~ o 
*J( 
~ o 
*0 "   -  ( 
~ o 
tb  
,o 
*  0 "   .  ( 
~ o 
tc  
,o 
*  0 "   /  ( 
~ o 
td  
,o 
*  0 "   0  ( 
~ o 
te  
,o 
*  0 "   1  ( 
~ o 
tf  
,o 
*  0 "   2  ( 
~ o 
tg  
,o 
*  0 "   3  ( 
~ o 
tl  
,o 
*sf *s *J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*J( 
~ o 
*   0 "   4  ( 
~ o 
tn  
,o 
*  0 "   5  ( 
~ o 
tp  
,o 
*  0 "   6  ( 
~ o 
to  
,o 
*  0 "   7  ( 
~ o 
tY 
,o$ *  0 F   8  (
 o s 

( 
~ o 
um  ,o 
(
 o *      -8     0 '   9  ( 
~ o 
t= 
,
o
 & *      
#   (
 o 	 s 
o 
(
 o 	 s 
o 
*"(	 *2( 
tn *( 
*"( 
*( 
*"( 
*J( 
~ 
o 
*J( 
~ 
o 
*o 
*( 
*rX p*
*s1
 *2o 
uv *{ *{ *{ *{ *{  *{ *{ * 0 X   :  o	 3,(	 
,Do	 oB (  oC (  *o	 .,(	 o0 
(	 o
 *JrX po	 (  +*rX po	 [ [ ([ 
( 
*n{ -o	 } { *n{ -o	 } { *6rY p( 
*:rY p( 
*Fr%Y p~  
(U 
*Jr%Y p~  
(V 
*{ -(	 ( 
} { *s* *s
 *s
 *Z(X	 ,(X	 o **
*{ *"} *{	 *"}	 * 0    ;  { %-&o
 %
} *2rKY p(  +*{ *(
 *s6 * 0    <  oQ 
:   (
 (  
-_(
 (
 (	 (	 o 
on 
,,on 
oo 
,(	 o 
(	 o 
( 
+(	 o 
(\	 
 ( 
,?(
 (
 on 
,*on 
oo 
,( 
 o 
( 
 o 
( 
* 0 &   =  (	
 
u %-&+o 
o 
*  0   >  9  ( 


YE   *   <  ,  u      G   ,          	        ,  ,    ,  ,  ,    8'  ( 
e;  l;#  n;   8  ( 
f;  t;(  8  ( 
g;=  oYE   N  9      8  ( 
c;N  s;[  8  ( 
i;p  p;}  t;K  8u  ( 
b;  l;  n;z  8P  ( 
d;  i;  83  ( 
s;*  t;
  8  rgY p(Y 
:"  8  rY p(Y 
:4  8  rY p(Y 
:  8  rY p(Y 
:0  8  rY p(Y 
:R  8  rY p(Y 
:  8  r
Z p(Y 
:  8  r-Z p(Y 
:
  8n  rMZ p(Y 
:(  8Y  rmZ p(Y 
:  8D  rZ p(Y 
:  8/  rZ p(Y 
:  8  rZ p(Y 
:  8  rZ p(Y 
:  8  r[ p(Y 
:n  8  r)[ p(Y 
:_  8  rQ[ p(Y 
:  8  ry[ p(Y 
:  8  r[ p(Y 
:2  8  r[ p(Y 
:#  8r  r[ p(Y 
:  8]  r7\ p(Y 
:  re\ p(Y 
:  88  r\ p(Y 
:  8#  r\ p(Y 
:   8  r\ p(Y 
:   8   r] p(Y 
:   8   (c	 o 
 o 
,({	 -s 
zo
 *(c	 o 
 o 
,({	 -s 
zs *s *s *s *s
 *sS *o

 *s
 *s *s+ *s *s *s
 *s *s@ *sI *s
 *s
 *sr *sO *s
 *s9 *s
 *s
 *s3 *s *s 
zs? *s *No
 rC] p( 
*:o
 (	 *(	 *   0    =  s
 
r[] po 
*{ *"} *{ * 0 @       { ( 
,*{ ( 
on 
( 
} ~K 
( 
,( 
 *0 [   ?  (
 ( 
tO 
-6(
 ~K 
( 
~K 
~ 
o 
(
 -(
 (
 (
 ( 
tO *(
 ~K 
( 
,(
 (
 ( 
,(
 ( 
*2(
 o 
*(
 (Y 
,*( 
(
 (
 o 
*{
 ~K 
( 
,( 
}
 {
 *"}
 *   0    @  s 
} } {  s 
( 
(
 (
 (
 (c	 { o, (
 o o  
o 
(c	 o(
 o 
(
 o o  
o 
o 
(c	 o+
 o o
 o 
(
 *  0 '   A  (
 (
 o/ 
,{' (l	 } *2(
 ( 
*(
 -( 
-(
 on 
( 
(
 *   0    B  (
 
 ~K 
( 
*^~K 
~ 
o 
(
 *v(
 ,(
 ,(
 o 
*   0 k       ( 
-*~ 
(  +( 
(
 (
 ~K 
( 
,9rw] p(  +( 
(
 (
 ,o 
-(=
 *~K 
(
 *(
 *"(	 *0    C  s 

o  
9    ( 
(
 o (
 o oH 
o 
o 
o ( o 
s 
2&(
 o oH 
(
 o ( ( ( 
 J o 
s 
  	s ( (  +( 
*       M_ 2  0    D  sA 
oB (&
 *0 l   E  r] ps 

E      $      2   +Br] p(  
o	 
&+.r] po	 
&+ r] po	 
&+r] p(  
o	 
&ox  
*on 
,on 
o
 
o 
o 
*s *o*
 (  +o+
 (  +o,
 (  +*F(
 o 
o  +*F(
 o 
o	  +*n(
 o 
r] p(
  +o  +* 0 e       ( 
o 
( 
( 
o 
6 (  
r] po 
6 (  
r)^ po 
~ 
-6 (  
r^ po 
*   0 @       ( 
~ 
,sN rM p( 
r_ p(/
 ( 
rO_ p(0
 ( 
*0 '   F  s
 
o
 r_ po
 ( 
r_ p( 
* 0 '   F  s
 
o
 r_ po
 ( 
r_ p( 
*( 
on 
6 (  
re` p( 
on 
6 (  
r` p( 
*(  
on 
6 (  
ra p( 
*b(! 
(b	 on 
o *{
 *"}
 *J( 
~ o 
*J( 
~ o 
*  0 O       on 
,Eon 
oo 
-
on 
op 
,+(4
 ,
(4
 o/ ,rka p(  +-(C
 *** 0    
  (4
 o/ ,(:
 *(4
 o0 ,D(
 (
 s" 
%rsa p(4
 o1 o# 
( o~ 
t2 
ra p(  
*o$ 
(4
 o6 ,(4
 o7 (
 (;
 *(4
 o8 ,(4
 o9 (% 
(A
 *(4
 o: ,(4
 o; (%
 *(4
 o< ,(4
 o= (H *ra p(
 *   0    G  (
 (
 s	 
(c	 s9 s 

ra p	(
   ox  
o& 
ra p	(
 o
 o& 
rJ p	 %o o~ 
o& 
r3L p	(l	 h o& 
	* 0 O   H  rY p(Y 
,!(
 u 
o 
o? o@ *(
 u o 
o? o@ *s+ (5
 (4
 o/ ,(=
 (4
 o3 (>
 *  0 P   
  ra p(  +
(  
-;(
 (
 s" 
%rsa po# 
%ra p,( 
+o# 
( &*0 )   I  ( 
~ o 
ur  
,s' 
o( 
*J() 
(* 
(+ 
*
*:oB
 (	 *( 
 *  0 9   
  (, 
,/~  

on 
op 
,rb p(- 

,rb po. 
***b(	 (
 o o/ 
*f(	 (
 o o0 
*f(	 (
 o o1 
*f(	 (
 o o2 
*j(	 (
 o o3 
*j(	 (
 o o4 
*F(
 o o5 
*{ *"} *{ *"} *{ *"} *6r%b p( 
*~r%b p(6 
r%b p( 
(7 
*6r p(W 
* 0 [       (S
 .Qr p(X 
o 
-<(
 o o  
o8 
o9 
, (
 o o  
o8 
(S
 o: 
* 0    J  -*(
 o o  
o8 
o9 
,{ ,M(
 o o  
o8 
u -
(; 

+o< 
(
 o o  
o8 
(S
 o: 
(V
 (L
 (W
 (P
 (X
 (N
 *u -(  +(
  +*t o? 
*  0 ~   K  s@ 

sA 
(B 

+.	oC 
,oD 
oE 
sF 
oG 
X	i2oH 
sI 
(	 oJ 
s zoK 
*      ] 	f   0 7   	  ,2(K
 1)(Z
 
u -
(  +(  +*t oM 
**6(7 
(O
 *z(Q
 (K
 2	(K
 Y*(Q
 *(t  
*(N 
(O 
(P 
-
(O 
oQ 
+oR 
*{> *"}> *r(S 
8 (  
r[b po 
*rb p*:(T 
oU 
*
*F(V 
-o> **"s
 *oW 
*(X 
*(Y 
*(Z 
*([ 
*(\ 
*(] 
*(O 
*(^ 
*(_ 
*(` 
*"(a 
*"(b 
*"(c 
*"(d 
*"(e 
*"(f 
*"(g 
*"(h 
*"(i 
*"(j 
*"(k 
*"(l 
*"(m 
*"(n 
*(o 
*(p 
*"(q 
*(r 
*&(s 
*r(t 
9 (  
rb po 
*r}c p*{? *"}? *r(S 
: (  
rc po 
*r3d p*:(T 
oU 
*
*F(V 
-o> **oW 
*(N 
*(X 
*(Y 
*(Z 
*([ 
*(\ 
*(] 
*(O 
*(^ 
*(_ 
*(` 
*"(a 
*"(b 
*"(c 
*"(d 
*"(e 
*"(f 
*"(g 
*"(h 
*"(i 
*"(j 
*"(k 
*"(l 
*"(m 
*"(n 
*(o 
*(p 
*"(q 
*(r 
*(u 
*rsd p*r(t 
; (  
rd po 
*(v 
*"(w 
*(x 
*"(y 
*"(z 
*"({ 
*(| 
*(} 
*(~ 
*"( 
*(r 
*( 
*0 	  L  s 

 (  (i
     (  
(
 o 
 )  (i
     (  
r
 p(
 o 
 *  (i
     (  
r( p(
 o 
 &  (i
     (  
r p(
 o 
 '  (i
     (  
r; p(
 o 
 $  (i
     (  
re p(
 o 
 %  (i
     (  
r=e p(
 o 
   ( 

(  
r	 p(
 o 
   ( 
	(  
r	 p(
 o 
   ( 
(  
ru	 p(
 o 
    ( 
    (  
(
 o
  Q  ( 
    (  
rU p(
 o 
o
  S  ( 
    (  
r p(
 o 
o
     ( 
    (  
r p(
 o 
o
     ( 
    (  
r+ p(
 o 
o
     ( 
    (  
rq3 p(
 o 
o 
    ( 
    (  
(
 o 
 O  ( 
    (  
r p(
 o 
 J  ( 
    (  
r p(
 o 
 Y  ( 
    (  
(
 o
  [  ( 
   (  
r prie p(
 o 
o
  ]  ( 
   (  
r prie p(
 o 
o
  _  ( 
   (  
r prie p(
 o 
o
  a  ( 
   (  
r prie p(
 o 
o
  c  ( 
   (  
rA prie p(
 o 
o
  e  ( 
 	  (  
rk prie p(
 o 
o
  g  ( 
 
  (  
r prie p(
 o 
o
  i  ( 
   (  
r prie p(
 o 
o
  k  ( 
   (  
r prie p(
 o 
o 
   ( 
    (  
r[ p(
 o 
   ( 
"(  
r
 p(
 o 
   ( 
#(  
r? p(
 o 
   ( 
4(  
r p(
 o 
   ( 
5(  
r p(
 o 
   ( 
l(  
r p(
 o 
   ( 
:(  
r
 p(
 o 
   ( 
    (  
r
 p(
 o 
 9  ( 
 o  (  
(
 
	o
    (i
  v  (  
r pre p(
 o 
	o
  
  ( 
 Z  (  
r pre p(
 o 
	o
    ( 
 [  (  
r pre p(
 o 
	o
    ( 
 \  (  
r? pre p(
 o 
	o
    ( 
 ]  (  
re pre p(
 o 
	o
    ( 
 ^  (  
r pre p(
 o 
	o
    ( 
 _  (  
r pre p(
 o 
	o 
 =  ( 
 o  (  
(
 o
  -  ( 
 i  (  
r p(
 o 
o
  /  ( 
 j  (  
r p(
 o 
o
  1  ( 
 k  (  
r p(
 o 
o 
 ?  ( 
 o  (  
(
 o
  3  ( 
 l  (  
re p(
 o 
o
  5  ( 
 m  (  
r p(
 o 
o
  7  ( 
 n  (  
r p(
 o 
o 
   ( 
 V  (  
r p(
 o 
    ( 
j(  
r?
 p(
 o 
o 
*  0 d  M  s 

   ( 

(  
r	 p(
 o 
   ( 
	(  
r	 p(
 o 
   ( 
(  
ru	 p(
 o 
   ( 
l(  
r p(
 o 
 (  (i
     (  
(
 o 
 )  (i
     (  
r
 p(
 o 
   ( 
    (  
r[ p(
 o 
   ( 
 V  (  
r p(
 o 
    ( 
j(  
r?
 p(
 o 
o 
*o0 
( 
o 
o 
,( 
o 
o 
,(
 +(
 ( 
*  0 V  	  o0 
   ( 
 <  
 (  
(
 o 
   ( 
 :  
 (  
(
 o 
   ( 
 ;  
 (  
(
 o 
   ( 
 =  
 (  
(
 o 
   ( 
 9  
 (  
r@ p(
 o 
   ( 


 (  
r	 p(
 o 
   ( 
	
 (  
r	 p(
 o 
   ( 

 (  
ru	 p(
 o 
   ( 
    
 (  
r
 p(
 o 
*>rM p(
 *>rM p(
 *.(
 *FrM p(
 *6(
 *  0 !   N  s
 
o

 o
 o
 *   0 D   O  s 

(  
+on  
tr o
 o 
ok  
-u@  
	,	oj  
*   
 $1     {@ *"}@ *{A *"}A *V( 
(
 (
 *J( s& }B *6re p( 
*:re p( 
*j{B -s& }B {B *Bw  %(
 *0 >   P  s 
re p%(
 h o& 
re p%{B (
 o% o& 

*  0 /   Q  ( 
u? 
,o
 (
 (
 o
 o 
*"( 
*0 D   R  s 

(  
+on  
tA o
 o 
ok  
-u@  
	,	oj  
*   
 $1     ( 
*( 
*V(
 (
 (
 *Fre prM p( 
*Jre prM p( 
*Fr	f prM p( 
*Jr	f prM p( 
*0 *   S  ( 
uA 
,o
 (
 o
 (
 *  0 .   P  s 
r1f p%(
 o& 
rSf p%(
 o& 

*( 
*V(
 (
 (
 *r(
 (
 (
 (
 *(
 (
 (
 (
 (
 (
 (
 *(
 (
 (
 (
 (
 (
 (
 (
 *Fr{f prM p( 
*Jr{f prM p( 
*Frf prM p( 
*Jrf prM p( 
*6rf p( 
*:rf p( 
*Frf prM p( 
*Jrf prM p( 
*Frf prM p( 
*Jrf prM p( 
*Frf prM p( 
*Jrf prM p( 
*Frg prM p( 
*Jrg prM p( 
*  0 f   T  ( 
uB 
,To
 (
 o
 (
 o
 (
 o
 (
 o
 (
 o
 (
 o
 (
 *  0    U  (
 
(
 ,o 
1	o 

o  

o 
Yo 
".'3o 
Yo 

o 

	".	'3o 

r/g ps 
r7g p( 

r;g p(  
*  0    V  {C (  
9   (
 (  
:   (
 
( 
   o 
( 
~ %-&~  s 
% s 
( 

~ %-&~  s 
% ( 
( 
o 
( 
-+(
 }C 
	,	oj  
& *     m Q 
           0    W  (
 ,(
 s 
rg p%(
 o& 
rg p%(
 o& 
rg p
%	{C o& 
rh p%(
 h o& 
r8h p%(
 o& 
rVh p%(
 o& 
rnh p%(
 o& 
rh p%(
 o& 

*   0 G   X  (t  
,( 

( 
    s 
o 
}D ,oj  
,oj  
*    $ 2 
      +< 
    {D *Frh prM p( 
*Jrh prM p( 
*j{E -s
 }E {E *Bw  %(
 *   0 /   Y  ( 
uD 
,o
 (
 (
 o
 o 
* 0 1   Z  s 
rh p
%(
 o& 
rh p%(
 o
 o& 
*( *"( 
*  0 D   [  s 

(  
+on  
tB o
 o 
ok  
-u@  
	,	oj  
*   
 $1     0    \  -*o  

,to  
1ko 
o  
~ %-&~  s 
% o 
u ,0o  
~ %-&~  s 
% o 
uG  **   0    ]  -*o  

o  
8   on  
t&  o  
o  

+_	on  
t(  o  
o  
+"on  
t<  uG  ,uG  aok  
-u@  ,oj  
	ok  
-	u@  ,oj  
ok  
:^u@  ,oj  
**   (   M /|      0 k            0    ^  ;   ( 
-( 
,n(  
1eo  
o 
(  
+6on  
tB o  
o
 o
 o 
&o
 o
 or ok  
-u@  
	,	oj  
*   8 Bz     0    _  (  
1H(  

+$on  
tB o 
o
 o
 o 
&ok  
-Gu@  ,oj  

+(o 
~ 	o ~ 	o o 
&	X
	~ i2*    0@     ( 
*v( s }F s
 }G *  0    `  {F o  
,*{G o
 (  
,rh ps 
z{F  s 
o 
- ri p{G o
 ri p( 
s 
z(	 o
 o  

+Ps on  
tA } {F  s 
o 
- ri p{ o
 ri p( 
s 
zok  
-u@  ,oj  
*    u \     {F *{G *FrIj prej p( 
*JrIj prej p( 
*6rsj p( 
* 0 U   a  rsj p( 
_,4~ 
+${F o o s
 o 
Xi2rsj p( 
*fw  %( %(	 * 0 [   b  ( 
( 
uF 
,:o
 ( o (
 ( o o 
(	 o	 o 
( 
*     MS     ^o
 {G o
 (Y 
*{H *Z{H rj p~  
o  +*^{H rj p~  
o  +*Z{H rj p~  
o  +*^{H rj p~  
o  +*Z{H rj p~  
o  +*^{H rj p~  
o  +*Z{H rj p~  
o  +*^{H rj p~  
o  +*0 B   c  ( 
uG 
,0o 
o 
o 
o 
o 
o 
o 
o 
*JsN }H ( 
*( 
*V( ( (! *Frj prM p( 
*Jrj prM p( 
*Frj prM p( 
*Jrj prM p( 
*   0 *   d  ( 
uH 
,o ( o  (! *  0 *   e  s 

rj p( o& 
rj p(  o& 
*  0    f  ( 
u  
* 0 k   g  s 

~ %-&~  s 
% -( 
+( 
(  +o 
+o 
o# o 
ok  
-
,oj  
*    @ _ 
    ( 
*{J *vsN }J ( 
s
 }I *J{J rj po  +*N{J rj po  +*J{J r)k po  +*N{J r)k po  +*J{J r]k po  +*N{J r]k po  +*J{J rsk po  +*N{J rsk po  +*{I *J{J rk po  +*N{J rk po  +*   0 S   h  ( 
uJ 
,Ao) (* o 
o 
o 
o 
o 
o 
(1 o1 o 
*{K *J{K rk po  +*N{K rk po  +*J{K r	 po  +*N{K r	 po  +*J{K rk po  +*N{K rk po  +*J{K r	 po  +*N{K r	 po  +*J{K r_ po  +*N{K r_ po  +*J{K ru	 po  +*N{K ru	 po  +*J{K rm po  +*N{K rm po  +*J{K r{ po  +*N{K r{ po  +*J{K rk po  +*N{K rk po  +*J{K rl po  +*N{K rl po  +*Z{K r
l pr!l po  +*^{K r
l pr!l po  +*J{K r%l po  +*N{K r%l po  +*J{K r po  +*N{K r po  +*J{K rMl po  +*N{K rMl po  +*J{K r_l po  +*N{K r_l po  +*J{K rl po  +*N{K rl po  +*J{K rl po  +*N{K rl po  +*J{K rl po  +*N{K rl po  +*J{K rm po  +*N{K rm po  +*J{K r+m po  +*N{K r+m po  +*Z{K rSm ps 
o  +*J{K rum po  +*N{K rum po  +*
*"o 
*J{K rm po  +*N{K rm po  +*J{K rm po  +*N{K rm po  +*J{K rm po  +*N{K rm po  +*J{K rm po  +*N{K rm po  +*^{K r
n p( 
o  +*   0 %   i  o 
( 

{K r
n p( 
o  +*^{K r)n p( 
o  +*   0 2   i  ( 
( 

o 
( 

{K r)n p( 
o  +*J{K rEn po  +*N{K rEn po  +*J{K r[n po  +*N{K r[n po  +*J{K r{n po  +*N{K r{n po  +*J{K rn po  +*N{K rn po  +*J{K ro po  +*N{K ro po  +*J{K r3o po  +*N{K r3o po  +*J{K rao po  +*N{K rao po  +* 0 B   j  ( 
uK 
,0oN (O oT (U oP (Q oR (S *JsN }K ( 
*{L *J{L rqo po  +*N{L rqo po   +*J{L ro po!  +*N{L ro po"  +*J{L ro po  +*N{L ro po  +*Z{L ru p~ 
o#  +*^{L ru p~ 
o$  +*J{L r'p po%  +*N{L r'p po&  +*J{L r=p po  +*N{L r=p po  +* 0 N   k  ( 
uL 
,<o 
o 
o 
o 
o 
o 
o 
o 
o 
o 
*JsN }L ( 
*{M *N{M rcp pno'  +*R{M rcp pno(  +*JsN }M ( 
*{N *J{N rkp po  +*N{N rkp po  +*J{N rp po  +*N{N rp po  +*J{N rp po  +*N{N rp po  +*J{N rp po  +*N{N rp po  +*J{N rp po  +*N{N rp po  +*J{N rp po  +*N{N rp po  +*J{N rp po  +*N{N rp po  +*J{N rq po  +*N{N rq po  +*J{N rq po  +*N{N rq po  +*J{N r%q po  +*N{N r%q po  +*J{N rCq po  +*N{N rCq po  +*J{N rYq po  +*N{N rYq po  +*J{N rwq po  +*N{N rwq po  +*J{N rq po  +*N{N rq po  +*J{N rq po  +*N{N rq po  +*J{N rq po  +*N{N rq po  +*J{N rq po  +*N{N rq po  +*J{N rr po  +*N{N rr po  +*J{N r!r po  +*N{N r!r po  +*J{N r/r po  +*N{N r/r po  +*J{N rEr po  +*N{N rEr po  +*J{N r[	 po  +*N{N r[	 po  +*J{N rYr po  +*N{N rYr po  +*J{N rsr po  +*N{N rsr po  +*J{N rr po  +*N{N rr po  +*J{N rr po  +*N{N rr po  +*J{N rr po  +*N{N rr po  +*J{N rr po  +*N{N rr po  +*J{N rr po  +*N{N rr po  +*J{N rr po  +*N{N rr po  +*J{N r
s po  +*N{N r
s po  +*J{N r)s po  +*N{N r)s po  +*   0    l  s 
{N oJ *0    m  s 
{N oJ *( 
o 
o 
o 
o 
o 
o 
*JsN }N ( 
*J( s }O *{O *0 2   n  ( 
( 
uO 
,( o o 
( 
*      $*     Bw  %( *6rAs p( 
*:rAs p( 
*6rqs p( 
*:rqs p( 
*6rs p( 
*:rs p( 
*Frs prM p( 
*Jrs prM p( 
*Frs prM p( 
*Jrs prM p( 
*Frt prM p( 
*Jrt prM p( 
*6r9t p()  +*:r9t p( 
*0 u   o  ( 
( 
uP 
,To ( o ( o ( o ( o ( o ( o ( ( 
*       gm     ( *{P *J{P r'p po*  +*N{P r'p po+  +*J{P rot po  +*N{P rot po  +*J{P rt po  +*N{P rt po  +*J{P rt po  +*N{P rt po  +*0 B   p  ( 
uQ 
,0o 
o 
o 
o 
o 
o 
o 
o 
*JsN }P ( 
*{Q *J{Q rt po  +*N{Q rt po  +*J{Q rt po  +*N{Q rt po  +*J{Q rt po  +*N{Q rt po  +*JsN }Q ( 
*( *6rt p( 
*:rt p( 
*6ru p( 
*:ru p( 
*6rIu p( 
*:rIu p( 
*6rwu p( 
*:rwu p( 
*6ru p( 
*:ru p( 
*6ru p( 
*:ru p( 
* 0 Z   q  ( 
uS 
,Ho ( o ( o (  o	 (
 o ( o ( *( *Zru p( 
( 
t  *Jru p( 
( 
*0    r  ( 
uT 
,o
 ( *6ru p(,  +*bru pU U ( 
*   0 -   s  ( 
( 
uV 
,o ( ( 
*       %     ( *{V *Z{V ru p( 
o#  +*^{V ru p( 
o$  +*J{V r'p po-  +*N{V r'p po.  +*Z{V rv p~ 
o#  +*^{V rv p~ 
o$  +*Z{V r=v p~ 
o#  +*^{V r=v p~ 
o$  +*0 B   t  ( 
uW 
,0o 
o 
o 
o 
o 
o 
o 
o 
*JsN }V ( 
*( 
*"( 
*2( 
u6 *o 
*r( 
}W }X }Y *{W *{X *"}X *{Y *"}Y *( *:r[v p( 
*   0 1   u  r[v p( 
%(7 %(5 %
(3 (1 *:rcv p( 
*>rcv p( 
*:rmv p( 
*>rmv p( 
*:ryv p( 
*>ryv p( 
*:rv p( 
*>rv p( 
*   0 ]   v  ( 
( 
u] 
,<o. (/ o0 (1 o2 (3 o4 (5 o6 (7 ( 
*       OU     0 `   e  s 

raV p(0 6 o& 
rV p(2 6 o& 
rv p(4 6 o& 
rv p(6 6 o& 
*J( s- }c *{c * 0 #   w  ( 
u^ 
,(; o; o 
*Bw  %(; *v( s 
}d s }e *6rv p( 
*:rv p( 
*6rv p( 
*frv p(6 
rv p( 
*6rv p( 
*jlrv p( 
rv p( 
*Jrv p( 
t  *:rv p( 
*{d *{e *Fr
w p ,  ( 
*vr
w p(6 
r
w p ,  ( 
*  0    x  ( 
( 
u_ 
,^o? (@ oC (D oA (B oI (J oE (F (G oG o 
(H oH o 
( 
*     qw     fw  %(H %(G *J( s: }i *6r/w p(/  +*br/w p` ` ( 
*{i *0 >   y  ( 
( 
ua 
,oN (O (P oP o 
( 
*      06     Bw  %(P *(  oZ (U o[ (W o\ (Y *{j *"}j *{k *"}k *{l *"}l *s *s *s *0 T   z  ( 
( 
ub 
,3(T oT o 
(V oV o 
(X oX o 
( 
*    FL     ( 
w  %(T %(V %(X (a 
*"( *( *"( *Ro  
~m (0  +*2~m o 
*~m *   0 g       2 %rAw p%rKw p%rWw p%rcw p%row p%ryw p%rw p%rw p%rw p%	rw p%
rw pm * 0        (  og }n oh }o oi }p oj }q ok }r ol }s om }t on }u oo }v op }w oq }x *2( 
s_ *2( 
s *2( 
s *2( 
s 
*2( 
s *2( 
s 
*2( 
s 
*2( 
s 
*2( 
s 
*2( 
s 
*2( 
s	 
*{n *{o *{p *{q *{r *{s *{t *Frw prM p( 
*(y (Y 
,*rw prM p( 
*Frw prM p( 
*Jrw prM p( 
*0    {  ( 
( 
ud 
9   (r or o 
(s os o 
(t ot o 
(u ou o 
(v ov o 
(w ow o 
(x ox o 
o{ (| ( 
*          0 F       w  %(r %(s %(t %(u %(v %(w %(x *"(
 
*( 
*"( 
*2(
 
ui *s *
*"( 
*(  
*"( 
*Ro  
~y (0  +*2~y o 
*~y *
*( 
*"( 
*2 %rw p%rx p%rx p%rx p%r#x py *"( 
*
*"( 
*( 
*"( 
*
*"( 
*( 
*"( 
*   j*"(  *6r-x p( 
*:r-x p( 
*   0 -   |  ( 
( 
uj 
,o ( ( 
*       %     "(  *6r]x p( 
*:r]x p( 
*  0 -   }  ( 
( 
uk 
,o ( ( 
*       %     "(  *6rx p(1  +*brx pl l ( 
*0 -   ~  ( 
( 
um 
,o ( ( 
*       %     2rx p( 
*6rx p( 
*2rx p( 
*6rx p( 
*2ry p( 
*6ry p( 
*2r+y p( 
*6r+y p( 
*2rKy p( 
*6rKy p( 
*2riy p( 
*6riy p( 
*2ry p( 
*6ry p( 
*2ry p( 
*6ry p( 
*2ry p( 
*6ry p( 
*2ry p( 
*6ry p( 
*2ry p( 
*6ry p( 
*2rz p( 
*6rz p( 
*2r'z p( 
*6r'z p( 
*2rEz p( 
*6rEz p( 
*2r{z p( 
*6r{z p( 
*2rz p( 
*6rz p( 
*2rz p( 
*6rz p( 
*2rz p( 
*6rz p( 
*2r	{ p( 
*6r	{ p( 
*2r+{ p( 
*6r+{ p( 
*2r={ p( 
*6r={ p( 
*2rQ{ p( 
*6rQ{ p( 
*  0        ( 
rx po 
rx po 
ry po 
rKy po 
riy po 
r+y po 
ry po 
ry po 
ry po 
rz po 
rz po 
ry po 
ry po 
rz po 
r'z po 
rEz po 
r{z po 
rz po 
r	{ po 
r+{ po 
r={ po 
rQ{ po 
*( 
*2( o 
*N( o 
o 
*n{ -o } { *F( 
tJ  s *"( 
*~  
*(  
uo ,to o ( *:(! 
( *(" 
o# 
,
($ 
*( o$ 
*2ry{ p(% 
*Fr{ p(& 
tG  *Fr{ p(& 
tG  *Fr{ p(& 
tG  *Fr/| p(& 
tG  *.6 (  
*r p*Fr p(' 
(  
*r]| p*6( o( 
*
*0     &  s) 

o* 
o< 
( o< 
*0       (+ 
ry{ ps, 
oC 
r| ps, 
oC 
r{ p~  
G  (  
r{ ps- 
oC 
r{ p~  
G  (  
r{ ps- 
oC 
r{ p~  
G  (  
r{ ps- 
oC 
r/| p~  
G  (  
r/| ps- 
oC 
r| ps, 
oC 
r| ps, 
oC 
r} ps, 
oC 
r3} ps, 
oC 
r]} ps, 
oC 
r} ps, 
oC 
*n( 
w  %( (a 
*"(. 
*.6 (  
*r p*r p*~  
*
*   0     (+ 

r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
rA p(@ 
rA psA 
oC 
r p(@ 
r psA 
oC 
rk p(@ 
rk psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r
 p(@ 
r
 psA 
oC 
r p(@ 
r psA 
oC 
r{ p(@ 
r{ psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r= p(@ 
r= psA 
oC 
rq p(@ 
rq psA 
oC 
r p (@ 
r psA 
oC 
r} p (@ 
r} psA 
oC 
r} p (@ 
r} psA 
oC 
r} p (@ 
r} psA 
oC 
r} p (@ 
r} psA 
oC 
r	 p(@ 
r	 psA 
oC 
r	 p(@ 
r	 psA 
oC 
r( p(@ 
r( psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r%+ p(@ 
r%+ psA 
oC 
r p(@ 
r psA 
oC 
re p(@ 
re psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r
 p(@ 
r
 psA 
oC 
r
 p(@ 
r
 psA 
oC 
r? p(@ 
r? psA 
oC 
rq3 p(@ 
rq3 psA 
oC 
rU p(@ 
rU psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r+ p(@ 
r+ psA 
oC 
r'6 p(@ 
r'6 psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r8 p(@ 
r8 psA 
oC 
r p(@ 
r psA 
oC 
ru	 p(@ 
ru	 psA 
oC 
r= p(@ 
r= psA 
oC 
r?
 p(@ 
r?
 psA 
oC 
r@ p(@ 
r@ psA 
oC 
r p(@ 
r psA 
oC 
r p(@ 
r psA 
oC 
r1 p(@ 
r1 psA 
oC 
rW p(@ 
rW psA 
oC 
r[ p(@ 
r[ psA 
oC 
r p(@ 
r psA 
oC 
rC p (@ 
rC psA 
oC 
r p(@ 
r psA 
oC 
rC p (@ 
rC psA 
oC 
r p(@ 
r psA 
oC 
rC p (@ 
rC psA 
oC 
r p(@ 
r psA 
oC 
r1D p (@ 
r1D psA 
oC 
r? p(@ 
r? psA 
oC 
rYD p (@ 
rYD psA 
oC 
r p(@ 
r psA 
oC 
rD p (@ 
rD psA 
oC 
re p(@ 
re psA 
oC 
rD p (@ 
rD psA 
oC 
rD p(@ 
rD psA 
oC 
r#E p(@ 
r#E psA 
oC 
re p(@ 
re psA 
oC 
r=e p(@ 
r=e psA 
oC 
r p(@ 
r psA 
oC 
r; p(@ 
r; psA 
oC 
*   0 U       r~ poD 
r~ poD 
r[~ poD 
r~ poD 
r
 poD 
ri poD 
ri poD 
*   0 a       rYG poD 
rYG poD 
rYG poD 
reG poD 
rsG poD 
rG poD 
rG poD 
rG poD 
*   0 z       rIG poD 
rIG poD 
rG poD 
rG poD 
rG poD 
(E 
oF 
-rG poD 
rG poD 
*r
H poD 
r'H poD 
*"( 
*.6 (  
*FrW p(& 
tG  *FrkV p(& 
tG  *FrV p(& 
tG  *FrV p(& 
tG  *FrQX p(& 
tG  *FrW p(& 
tG  *FrW p(& 
tG  *FrW p(& 
tG  *FrW p(& 
tG  *Fr[W p(& 
tG  *Fr[W p(& 
tG  *   0 h       (+ 
rW p(
 rW p(
 r[W p(
 rW p(
 rkV p(
 rV p(
 rV p(
 rQX p(
 *~@~  
G  (  
s- 
oC 
*Js 
} ( 
*6~  
(
 *V(
 (
 (	
 *Fr prM p( 
*Jr prM p( 
*Fr prM p( 
*Jr prM p( 
*Fr prM p( 
*Jr prM p( 
*6r p( 
*:r p( 
*Fr prM p( 
*Jr prM p( 
*{ *0 d   N  ( 
ur 
,Ro
 (
 o
 (	
 o

 (
 o
 (

 o
 (
 (
 o
 o/ 
o0 
*(
 *0      s 

rg p(
 o& 
r? p(
 o& 
(
 ,rI ph o& 
(

 (  
-r_ p(

 o& 
(
 (  
-rs p(
 o& 
(
 ,Ms 
(
 o1 
+(2 

	o
 o 
(3 
-  oj  
rQ po& 
*    !     2(4 
u6 *(5 
-(
 %-&*(	 *(5 
o6 
*&(7 
*(
 -(
 s* (B +(
 o	 oB (  
*j(4 
,(4 
o8 
(9 
*2(4 
u6 *"(: 
*(
 -(
 s* (C +(
 o	 oC (  
*j(4 
,(4 
o8 
(; 
*N(  sB } *6r p(2  +*br p\ \ ( 
*2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *2{ { *( 
 *(!
 *  0      ( 
uu 
9   o
 (
 ( 
 o 
 o 
(!
 o!
 o 
("
 o"
 o 
(#
 o#
 o 
($
 o$
 o 
(%
 o%
 o 
('
 o'
 o 
((
 o(
 o 
()
 o)
 o 
(*
 o*
 o 
(+
 o+
 o 
(,
 o,
 o 
(&
 o&
 o 
*  0        ( 
w  %( 
 oI %(!
 oI %("
 oI %(#
 oI %($
 %(%
 o1 %(%
 oI %('
 oI %((
 oI %	()
 %
(*
 %(+
 %(,
 %
(&
 (a 
*"(< 
*r p*~  
*(= 
*Fr p(> 
t}  *(? 
r p~ %-&~  s@ 
% sA 
oB 
* 0      sC 

r poD 
(4
 o 
* 0 .     sE 

(5
 o 
r߀ pr pr p(  
oD 
*"(F 
*"(G 
*0       sH 

r p(I 
o 
oJ 
*0      (K 

oL 
(  
sM 
oN 
*"(O 
*~  
*"(P 
*~  
*"(Q 
*~  
*"(R 
*(S 
*"(T 
*(U 
*"(V 
*2r	 p(> 
*(W 
r	 p~ %-&~  s@ 
% sA 
oB 
*"(< 
*~  
*"(< 
*Fr# p(> 
t}  *Fr/ p(> 
t}  *FrC p(> 
t}  *FrW p(> 
t}  *FrW p(> 
t}  *Fr[W p(> 
t}  *FrW p(> 
t}  *FrW p(> 
t}  *Fr[W p(> 
t}  *r p*~X 
%-&~Y 
Z 
s@ 
%X 
*  0 $     (3  +
  r߀ po\ 
(  
oD 
*2r# p(4  +*2r_ p(4  +*2r/ p(4  +*2rW p(4  +*2rW p(4  +*2r[W p(4  +*2rC p(4  +* 0        (? 
r# p(5  +sA 
oB 
r_ p(5  +sA 
oB 
r/ p(5  +sA 
oB 
rW p(5  +sA 
oB 
rW p(5  +sA 
oB 
r[W p(5  +sA 
oB 
rC p(5  +sA 
oB 
*  0 6     Й (  

ry po] 
r p( 
o^ 
s_ 
(b
 *J (c
 o` 
*^o  
oa 
r p(b 
*2sl
 (c 
*r p*r p*^h
 sd 
se 
(f 
*sd
 *2(g 
oh 
*(h
 * 0       r poi 
r; poi 

rQ poi 
r
 poi 
r
 poi 

r_ poi 
rw poi 
r poi 
r poi 
r poi 
r poi 
r poi 
r poi 
	r poi 
r% poi 
rO poi 
rY poi 
rg poi 
ru poi 
r poi 
r poi 
r poi 
rɃ poi 
r߃ poi 
r poi 
r poi 
r+ poi 
rE poi 
ri poi 
r poi 
r poi 
rф poi 
 rۄ poi 
!rO poi 
"rY poi 
#r poi 
$rQ poi 
%rG poi 
&r poi 
'r poi 
(r! poi 
)rK poi 
*r[ poi 
+rcv poi 
,rmv poi 
-ro poi 
.r poi 
/r poi 
0r poi 
1rŅ poi 
2rх poi 
3r poi 
4r poi 
5r poi 
6r
 poi 
7r# poi 
8r3 poi 
9rC poi 
:rQ poi 
;rk poi 
<rq poi 
=rY poi 
>r} poi 
?r poi 
@r poi 
Ar poi 
Br poi 
Crņ poi 
Dr- poi 
ErC poi 
Frk poi 
Gr poi 
Hr); poi 
Ir
 poi 
Jru poi 
Kr poi 
Lrχ poi 
Mr poi 
Nr poi 
Or poi 
Pr/ poi 
Qrc poi 
Rr} poi 
Sr poi 
Tr poi 
Ur poi 
Vr- poi 
WrC poi 
XrU poi 
Yri poi 
Zr{ poi 
[r poi 
\r poi 
]r݉ poi 
^r poi 
_r poi 
`r poi 
aryv poi 
brv poi 
cr- poi 
drE poi 
er[ poi 
frg poi 
gru poi 
hr poi 
ir poi 
jrɊ poi 
kr poi 
lr! poi 
mr3 poi 
nr
 poi 
or
 poi 
prG poi 
qrU poi 
rr_ poi 
srm poi 
trMl poi 
ur poi 
vr poi 
wr[ poi 
xri poi 
yru poi 
zr poi 
{r poi 
|r͋ poi 
}r poi 
~r# poi 
rE poi 
    ri poi 
    r poi 
    r poi 
    rӌ poi 
    r poi 
    r! poi 
    rG poi 
    rm poi 
    r poi 
    r poi 
    re
 poi 
    r[ poi 
    r poi 
    rC poi 
    rY poi 
    ry poi 
    r poi 
    r poi 
    rՎ poi 
    r poi 
    r poi 
    r poi 
    r poi 
    r poi 
    rE poi 
    r_ poi 
    rq poi 
    r poi 
    r poi 
    r poi 
    r poi 
    r= poi 
    ru poi 
    r poi 
    r
 poi 
    rϐ poi 
    rِ poi 
    rO poi 
    rG poi 
    r[v poi 
    rO poi 
    rY poi 
    rg poi 
    r poi 
    r poi 
    rő poi 
    r poi 
    rՑ poi 
    r poi 
    r poi 
    r[ poi 
    r3 poi 
    r poi 
    r poi 
    r poi 
    r- poi 
    r poi 
    rE poi 
    r poi 
    r poi 
    r[ poi 
    r} poi 
    r poi 
    r poi 
    r[	 poi 
    r poi 
    r poi 
    r poi 
    r poi 
    r˒ poi 
    rے poi 
    r poi 
    r poi 
    r poi 
    r poi 
    r poi 
    r!r poi 
    r' poi 
    r7 poi 
    rC poi 
    r[ poi 
    ri poi 
    rO poi 
    rE poi 
    re poi 
    r poi 
    r poi 
    r poi 
    r poi 
    r poi 
    r˓ poi 
    rݓ poi 
    r poi 
    r poi 
    r poi 
    r% poi 
    r7 poi 
    r[ poi 
    rk poi 
    r poi 
    r
" poi 
    r5 poi 
    r poi 
    r poi 
    r poi 
    rٔ poi 
    rՎ poi 
    r poi 
    r! poi 
    r- poi 
    r[ poi 
    rk poi 
    r[ poi 
    rA poi 
    ro poi 
    r poi 
    rՕ poi 
    r_ poi 
    r poi 
    r poi 
    rݓ poi 
    r; poi 
    r poi 
    r poi 
    r poi 
    r3 poi 
    rK poi 
    rm poi 
   r poi 
   r poi 
    r poi 
   r poi 
   r
 poi 
   r poi 
   r! poi 
   r3 poi 
   rK poi 
 	  r[ poi 
 
  rs poi 
   r poi 
   r poi 
   rϗ poi 
   r poi 
   r poi 
   r poi 
   r' poi 
   r= poi 
   rQ poi 
   rY poi 
   rg poi 
   ry poi 
   r poi 
   r poi 
   r% poi 
 "  r poi 
   r͛ poi 
   r* poi 
    rq poi 
 !  r6 poi 
 #  r	 poi 
 $  r poi 
 %  rؠ poi 
 &  r poi 
 '  r poi 
 (  r> poi 
 )  r\ poi 
 *  r~ poi 
 +  r poi 
 ,  r% poi 
 -  r poi 
 /  rG poi 
 .  r poi 
 0  rP poi 
 1  r poi 
 2  r poi 
 3  rQ poi 
 4  ru poi 
 5  r poi 
 6  r8 poi 
 7  rZ poi 
 8  r poi 
 9  r poi 
 :  r poi 
 ;  r
 poi 
 <  r poi 
 =  r' poi 
 >  r  poi 
 ?  r[v poi 
 @  r* poi 
 A  r~ poi 
 B  r poi 
 C  r poi 
 D  rʧ poi 
 E  r poi 
 F  r poi 
 G  r poi 
 H  r0 poi 
 I  rB poi 
 J  r^ poi 
 K  rx poi 
 L  rcv poi 
 M  r poi 
 N  rmv poi 
 O  r poi 
 P  rŅ poi 
 Q  r̨ poi 
 R  r poi 
 S  r poi 
 T  r poi 
 U  rt poi 
 V  r poi 
 W  r0 poi 
 X  rR poi 
 Y  rp poi 
 Z  r
 poi 
 [  rx poi 
 \  r poi 
 ]  r poi 
 ^  r̩ poi 
 _  rܩ poi 
 `  r poi 
 a  r  poi 
 b  r poi 
 c  r. poi 
 d  rF poi 
 e  rN poi 
 f  rZ poi 
 g  rn poi 
 h  r poi 
 i  r poi 
 j  r[ poi 
 k  r poi 
 l  rcv poi 
 m  r poi 
 n  rmv poi 
 o  r poi 
 p  rO poi 
 q  r poi 
 r  r poi 
 s  r, poi 
 t  r
 poi 
 u  r6 poi 
 v  rN poi 
 w  rd poi 
 x  rn poi 
 y  rz poi 
 z  r poi 
 {  r poi 
 |  rƫ poi 
 }  rҫ poi 
 ~  r poi 
   r poi 
   rp poi 
   r poi 
   r: poi 
   r{f poi 
   rJ poi 
   r\ poi 
   r' poi 
   rd poi 
   rp poi 
   r%
 poi 
   r poi 
   r/
 poi 
   rܬ poi 
   r poi 
   r poi 
   rI poi 
   r  poi 
   r6 poi 
   rF poi 
   r poi 
   r1 poi 
   ro poi 
   r{ poi 
   rQ poi 
   r poi 
   rѮ poi 
   r poi 
   r poi 
   r' poi 
   r[ poi 
   r# poi 
   r9 poi 
   r_ poi 
   r} poi 
   r poi 
   r˯ poi 
   r˯ poi 
   r poi 
   r poi 
   r1 poi 
   rS poi 
   r{ poi 
   r poi 
   r poi 
   rͱ poi 
   r poi 
   r	 poi 
   r poi 
   r+ poi 
   r? poi 
   rU poi 
   ro poi 
   r} poi 
   r˓ poi 
   r poi 
   r poi 
   r poi 
   rQ poi 
   rͲ poi 
   r poi 
   r[ poi 
   r poi 
   r- poi 
   rM poi 
   rY poi 
   ru poi 
   r poi 
   r poi 
   re
 poi 
   r poi 
   r˳ poi 
   rݳ poi 
   r poi 
   r poi 
   r	 poi 
   r% poi 
   r poi 
   r* poi 
   r poi 
   r poi 
   r poi 
   r	 poi 
   r= poi 
   rG poi 
   r poi 
   rö poi 
   r	 poi 
   r poi 
   r{ poi 
   r poi 
   r: poi 
   rN poi 
   rh poi 
   rx poi 
   r poi 
   r[ poi 
   r poi 
   rO poi 
   rY poi 
   rg poi 
   ru poi 
   r poi 
*(j 
*F{ on  
t  *F{ on  
t  *:{ { X*F{ on  
t  *N(m
 } ( *j(t  
ok 
} (u
 &*{ ok  
,(n
 d ( } *(u
 ,(s
 **>(o
 { *0 D       { ok  
-*(m
 } ( } (m
 } (6  +ok 
} *F{ on  
t  *F{ on  
t  *2{ oo
 *2{ oq
 *2(x
 sl 
*2{ op
 *(t  
ok 
} ok 
} sr
 } (~
 &* 0 F       { ok  
-*(v
 a ( } { (v
 a ( X} *  0 X       { ok  
-*(w
 j ( } (w
 j ( (w
 j ( X} (}
 &*2{ os
 *2{ ot
 *>(x
 { *F(x
 { Y*>{ { *>{ { *r(t  
} } } *   0     s|
 
{ om 
on 
~o 

8   o
 ,{ om 
oy
 op 
&o
 9   ov
 
	{ { (T o
 ,oq 
{ or 
,Ho
 ,@ow
 { os 
{ ( oq 
ot 
ou 
o~
 &+o}
 &oq 
sv 
(w 
,{ ox 
oy 
o{
 oz
 (
 o
 :(v 
ok 
+9on  
t  { oz 
o{ 
{ (
 (| 
ok  
-u@  		,	oj  
*   (Fn    0      d (7  +
YE            .   =   L   s   |   j      [               *s} 
(8  +&*s~ 
(9  +&*s 
(:  +&*s 
(;  +&*s 
(<  +&*s 
(=  +&*s 
(>  +&*(
 *(
 *(
 *s} 
(8  +&*   0      { o { os 
e ( o 
-r ps 
zs 
(?  +e (@  +E (@  +( { k"  B[{ k"  B[( 
*0      g (@  +
g (@  +g ( g (@  +
	(n { o { os 
o E (@  +( D ( D ( s 
		o 
{ os 
o 
o 
o 
{ s 


o 
o 
o 

o 
o 
	
o 
	(A  +&	o 
t o 
o 
o 
	o 
o 
o 
{ os 
o 
( 
s { k{ k"  B[kZl( 
i( 
} { k{ k"  B[kZl( 
i( 
} 	o 
{ o 
	o 
{ o 
{ os 
	o 
t o 
(z &	(
 	o 
	g ( *0 Y    h (@  +
h (@  +h ( h (@  +(n 
	h (@  +D ( D ( G (@  +( G (@  +( G (@  +( 	G (@  +

U (B  +
U (C  +
{ ( 
,+	{ ( 
{ ( 
,+	{ ( 
{ o 
{ s 
s 
o 
o 
~ 
o 
o 
o 
s 
o 
{ os 
o 
o 
o 
o 
(A  +&o 
(
 { os 
o 
(z &	(
 o 

h ( o 
o 
o 

o 
o 
o 
o 
{ o 
o 
{ o 
o 
o 
o 
o 
o 
o 
o 
o 
*   0 y    d ( 
{ o o 
o 
-r. p (  
(  
s 
z  d ( o 
{ ox 
o 
1B{ ox 
{ ox 
o 
Ys 
o 

  	o 
	o 
Xo 
+  o 
{ ox 
  o 
  o 
o 
~ 
( 
,  o 
  o 
o 
  o 
  o 
o 
  d ( o 
  o 
o 
{ { os 
(   o 
%( 
o 
&*   0      a ( 
a ( a ( a ( 
a (6  +{ os 
o 
o 
	o 
o 
( 
o 
&o 
2,( 
o 
o 
os 
o 
o 
o 
o 
o 
( *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *   0	 B    o 
r p{ ( 

o 
o 
o 
o 
o 
   (i
 o 
o 
rй pr p{ (D  +(
 o 
r pr p{ (E  +(
 o 
( &r( p   ( (
 (
 o 
r6 p   ( (
 (
 o 
rJ p   ( (
 (
 o 
o 
rM p  %(
 %(
 %(
 ( 
rZ po 
*  0 !     rt px( 
r po 
o 
*   0        ( (
 o 
   (i
 6 o 
&(
 o 
   (i
 6 o 
&(
 o 
(
 o 
o 
(
 6 (  
o 
(
 6 o 
*( r p    rM p( 
( r p    rM p( 
*r p*( *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *  0	     (# o8 oF  +(
 o 
r̺ p  %(
 ( 

o 
(# o8   %~ %-&~  s 
% oG  +(
 o 
o 
&(# o8   %
 s 
oG  +o 
o 
&(
 (# o8 oF  +(
 (
 o 
    (i
 ( 
&(
 o 
( &(
 (
 (
 o 
r p  %(
 ( 

	o 
	o 
o 
r p  %(
 ( 
#     R@( 
o 
(
 r po 
o 
(
 o 
r8 pr p{ ( 
(
 (
 o 
rV pr p{ (H  +(
 (
 o 
rr pr p{ ( 
(
 (# o8   %~ %-&~  s 
% oG  +(
 o 
o 
&o 
r pr p{ (H  +(
 (
 ( 
*0     (# o8 oF  +
r po 
o 
r p(
 ( 
o 
($ o 
rʻ p(  
o 
r po 
o 
rM p  %( 
o 
o 
(  
o 
o 

(  
o 
o 
o 
r= p(
 r{ p(
 o 
rM p(I  +( 
o 
r p(
 rq p(
 r p(
 ( 
*0     2 %r} p%r} p%r p%r} p%r} p
 %Д ( 
2 %rO p%rG p%r[v p%rO p%rY p( 

8   (# o8 r. p(J  +oK  +rN po 
o  
(
 o< 
rf p( (  
o 
o 
rz p(  
(  
o 
(# o8 oL  +(i
 o 
r po 
( 
r po 
ot 
ou 
ot 
ou 
	ot 
ou 
Xi?
o 
rM p  %	( 
o 
*  0      (# o8 r. p(J  +oK  +
(# o= o  
(
 o< 
r p(  
( o 
o 
r po 
o 
o 
rM p  %( 
o 
o 
o 
*b( (
 o 
o 
* 0    	  ( (
 (
 (
 (
 (
 o 
(
 (- 
+  o 
(
 o 
(
 o 
(
 ( 
( 

 (  
o	 
(
  `  ( 
o
 
(
 ~  
o 
*  0 u     Q %Е ( 

Q (  
o 
#      ?Q o 
r po
 
+)(
 o 
Q ( 
Q o 
&Xi2*   0        6 (  
o 
o 
 (  
 ( 
6 o 
&o 
 (  
 ( 
6 o 
&o 
 (  
 ( 
6 o 
&o 
 (  
 ( 
6 o 
&6 o 
*   0        (
 r p     rM p( 
(
 r2 p     rM p( 
(
 r8 pI rM p( 
(
 rV pJ rM p( 
(
 rr pe rM p( 
(
 r p     rM p( 
*  0 2     s; 

(  
-"($ ob	 ($ on 
o 
o< 
*rL p*( *   0 J       r~ po 
rM po 
o 
o 
#      9@( 
o 
(# r po: *  0 U    o 
rM prʽ p( 

o 
o 
r p(
 ( 
o 
r p B  ( r p A  ( o 
rM p  %%( 
o 
o 
rM pr p( 

	o 
	o 
r< prV p{ (M  +   s 
   s 
(% ( o 
rM pr p( 
o 
o 
r prV p{ (M  +   s 
   s 
(% ( *   0        ( rʽ p C   rM p( 
( r p D   rM p( 
( r p E   rM p( 
( r< p F   rM p( 
( r p G   rM p( 
*0 -     ~ is  
+(
 X~ i2*   0      (# o8 oN  +
~ o 
( 
o 
o 
~ o 
o 
o 
~ 
o 
o 
r po 
r̾ po 
r p( (  
(  
o 
*r p*( *   0 x       & % "   rO ps 
% %  rH ps 
% %  rH ps 
% %  rH ps 
% f&  rH ps 
% :&  rH ps 
 *{  *"}  *   0 `     ( 
($ o
 o 
oO  +
s 
(
 o  
(
 ou 
($ o\	   (! 
(
 ot 
ou 
*0      (" 

rT po 
(
 ot 
ou 
(
 ot 
ou 
+V(# 

ot 
	ou 
	ot 
(
 ou 
	ot 
r[ p(
 ou 
	ot 
r3 p(
 ou 
X2*0      (# 

2 %    (i
 %    (i
 %    (i
 +D($ 

ot 
	ou 
($ o
 o 
oL  +o 
	ot 
ou 
Xi2*0 W     ($ 

($ o
 o 
oP  +X(  
r p(  
o% 
o& 
r po 
ot 
ou 
* 0      ($ 

($ o
 o 
oQ  +~ 
   s 
(% ( r p(  
( 
o' 
r޿ po 
r pr p(  
(( 
o 
ot 
ou 
*(5 *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *  0     (
 (
 o 
rő p  %(
 ( 

r po 
o 
o 
( &o 
rH prV p{ (M  +~) 
%o* 
o+ 
ds 
o, 
o 
( &(# o8 oR  +(
 o 
rn p  %(
 ( 
o 
(# o8 oF  +(
 (
 r p( oV  
(# o8 r p  %
 s- 
oS  +u/ 
	,	r po. 
(# o8 r p  %
 s- 
oS  +u/ ,r po. 
(
 o 
r p{ (/ 
(
 (
 o0 
(
 (1 
o 
( &o 
r2 pr p{ ( 
(
 * 0      ( (
 (
 (@ 
%
o2 
o2 
(
 (
 (
 #      Y@( 
%o3 
%
o4 
o4 
(
 o 
Z(i
 6 o 
&(
 o 
[(i
 6 o 
&(
 o 
\(i
 6 o 
&(
 o 
](i
 6 o 
&(
 6 (  
o 
*0 {       ( rH p     rM p( 
( r2 pl rM p( 
(
     (i
 o5 
(
     (i
 o6 
(
     (i
 o6 
* 0 3    (# o8 oR  +
2 %r8 p%r#E p%rD p%r'6 p%r= p(" 
rH po 
(# 

ot 
	ou 
8   ($ 
rl po 
	ot 
ou 
(# o8 r. p(J  +oK  +rN po 
o  
(
 o< 
rf p( (  
(  
o 
o 
rz p(  
(  
o 
ot 
ou 
Xi?Fo0 
ou 
* 0 2     s; 

(  
-"($ ob	 ($ on 
o 
o< 
*r p*( *z(
 o 
o 
&r po 
*N(
 o 
o 
&*{ *"} *   0	 &       o 
r pr p{ (E  +(
 *  0        ( (
 o 
    (i
 6 o 
&(
 o 
    (i
 6 o 
&(
 o 
    (i
 6 o 
&(
 o 
    (i
 6 o 
&(
 6 (  
o 
(
 o7 
(
 o 
o 
*r p*( *0 ,     o 
rM p( 

r p( o' 
o8 
*0 !     r0 pq( 
r po 
o 
*r< p*( *0 $    o 
r^ p{ ( 
&o 
rn p{ ( 
&o 
( &(9 

o 
($ o 
r p(  
o 
o 
r p  %( 
r po 
#      Y@( 
o 
o 
r pr p{ (D  +o: 
o 
r  p{ (/ 
   (i
 o5 
o 
r: p  %( 
( 

	o 
	rJ po 
*0 }     rl p   ( 
r| p   ( r p   ( r p   ( 
o 
o 
o 
	o 
	o 
o 
o 
o 
*   0 ^       ( r^ p    rM p( 
( rn p    rM p( 
( r p    rM p( 
*r p*( *{ *"} *{ *"} * 0
      o 
rM pr p{ (E  +(
 o 
rM pr p( 

o 
r
 pr p{ (; 
~) 
o* 
o 
r pr p{ (; 
~) 
o* 
o 
r, pr p{ ( 
(
 *N( (
 (
 *  0        (
 o 
 z  (i
 6 o 
&(
 o 
 {  (i
 6 o 
&(
 o 
 |  (i
 6 o 
&(
 rF p( o' 
(
 o7 
(
 o 
(@ 
o< 
(
 6 (  
o 
*   0        (
 o 
 }  (i
 6 o 
&(
 o 
 ~  (i
 6 o 
&(
 o 
   (i
 6 o 
&(
 6 (  
o 
(
 o= 
*   0 ^       ( r
 p w   rM p( 
( r p x   rM p( 
( r, p y   rM p( 
*rl p*( *{
 *"}
 *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *  0	     s 
} { o 
{ o 
r pr p{ ( 
(
 { o 
r pr p{ ( 
(
 { o 
r pr p{ ( 
(
 { o 
r pr p{ (H  +( { o 
r pr p{ ( 
(
 { o 
r  pr p{ (H  +( { o 
( &(# o8   % s 
oG  +o 
o 
#      Y@( 
o 
o 
rB pr p{ (E  +( o 
r\ pr p{ (E  +(
 (# o8 oF  +rv po 
o 
rM p  %( 

	o> 
	o 
	#      D@( 
o 
	o 
(  
o 
o 
r p{ (/ 
(
 o 
r p{ (/ 
(
 o 
r p{ (/ 
( o 
r p{ (/ 
( * 0 8    ( (# ( o< ($ oc	 o&
 o (
 o (
 o 

(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 

(i
 6 o 
&(
 6 (  
o 
() 
o* 

+o+ 
(
 o 
(  
o, 
&ok  
-
,oj  
(
 Q (  
o 
(
 o? 
(
 o 
o 
(
 o 
o@ 
(
 o 
o 
(
    ( 
oA 
(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 	6 o 
&(
 o 
(i
 
6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 
6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
(i
 6 o 
&(
 o 
 (i
 6 o 
&(
 6 (  
o 
( rB po 
o 
( r\ po 
o 
( r po 
#      I@( 
o 
( r po 
#      I@( 
o 
( ( ( ( ( *    + 
    0        (
 o 
!(i
 6 o 
&(
 o 
"(i
 6 o 
&(
 o 
#(i
 6 o 
&(
 ( ( o 
$(i
 6 o 
&( o 
%(i
 6 o 
&( o 
&(i
 6 o 
&( ( *o 
o 
(- 
o 
r po	 
*6 (  
o 
o7 
o 
(@ 
o< 
*   0       ( r p rM p( 
( r p rM p( 
( r p rM p( 
( r p rM p( 
( r p rM p( 
( r  p rM p( 
( r p rM p( 
(
 (i
 o5 
(
 (i
 o5 
(  	(i
 o5 
( (i
 o5 
*r2 p*( *F($ o
 oV *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{  *"}  *0	 -      o 
rR pr p{ (E  +(  o 
(B 
($ (# rf poC 
(# o 
r pr p{ (T  +(" (# o 
r p{ ( 
( ( r poD 
(# o 
r p{ ( 
( (# o 
r p{ ( 
&(# o 
r p{ ( 
&(# o 
r p{ ( 
&*N( (' () *   0        ( r2 po 
( o 
( oE 
( o 
o 
( oF 
( 6 (  
o 
( o 
 [  (i
 6 o 
&( o 
 \  (i
 6 o 
&( oG 
( o ,-( o 
 X  (i
 6 o 
&( oG 
* 0        ( r p Y   rM p( 
( r p ]   rM p( 
( r p ^   rM p( 
( r p `   rM p( 
( r p a   rM p( 
( r p Z   rM p( 
* 0        ( o 
rh poH 
( o 
oI 
r poJ 
( o 
oI 
 b  (i
 oK 
( o 
( ( o 
r poH 
( o 
oI 
r
 poJ 
( o 
oI 
 c  (i
 oK 
( o 
( (! o 
( *r6 p*( *F($ o
 oT *{! *"}! *{" *"}" *{# *"}# *{$ *"}$ *{% *"}% * 0	     (, o ,%o 
r` pr p{ (E  +(6 (# o8 oF  +(. o 
r p  %(- ( 

o 
(- r po 
(- ( 
(- r p( oV  
(- o 
r p{ ( 
(0 (/ r poD 
(- o 
r2 p  %(8 ( 
o 
(, o 9   ($ o*
 (4 (3 oY  
(3 = sL 
o\  
(3 rL p( oV  
(3 r po 
(3 #      Y@( 
o3 
(- o 
r^ p  %(3 ( 
oM 
oN 
oO 
sP 
rz p( oQ 
(- oR 
ou 
* 0      (" 

(# 
($ 
(# o8 oL  +(2 (1 o 
(1 ($ o 
r p(  
o 
ot 
(1 ou 
sS 

	o 
	($ o 
r p(  
o 
	oT 
ot 
	ou 
oU 
oV 
&oW 
oX 
&r po 
*( (, o ,(: (< *0        (5 r2 po 
(5 oG 
(5 o 
(5 o 
o 
(5 oF 
(5 6 (  
o 
(5 o 
    (i
 6 o 
&(5 o 
    (i
 6 o 
&(5 6 o 
*  0 a       (- r p     rM p( 
(, o ,(- r^ p     rM p( 
(1     (i
 o 
*   0 q       (/ o 
r$ poH 
(/ o 
( (, o ,>(3 o^  
2 %rw p%rx p%rx p%rx p%r#x poY 
*   0 H     oZ 
o[ 
s\ 

($ o$
 o] 

,oj  
o^ 
oJ 
o_ 
 *    % 
        11   rZ p*( *{& *"}& *{' *"}' *   0	 F       o 
r p{ ( 
(C o 
r pr p{ (D  +(A *  0 6     r pv( 
r po 
rt px( o 
o 
*  0 ~     ( (B    (i
 r p(  
oD 
($ oY
 
+%(@ o 
o` 
oa 
o 
&Xi2,
(@ o7 
*(@ o8 
*( r p    rM p( 
*r p*( *{( *"}( * 0	 &       o 
r pr p{ (E  +(K *  0        ( (J o 
}(i
 6 o 
&(J o 
~(i
 6 o 
&(J o 
(i
 6 o 
&(J o 
    (i
 6 o 
&(J 6 (  
o 
(J o7 
(J o 
o 
*r p*( * 0
      (# o8   %~ %-&~  s 
% oG  +
o 
o 
&o 
o 
r pr& p{ (; 
?s 
o, 
o 
rJ pr& p{ (; 
&* 0 U       ( rf py rM p( 
( r pz rM p( 
( rJ p{ rM p( 
*rz p*( *{) *"}) *{* *"}* *{+ *"}+ *{, *"}, *{- *"}- *{. *"}. *{/ *"}/ *{0 *"}0 *{1 *"}1 *{2 *"}2 *{3 *"}3 *{4 *"}4 *{5 *"}5 *{6 *"}6 *{7 *"}7 *{8 *"}8 *{9 *"}9 *{: *"}: *{; *"}; *{< *"}< *0      (# o8 oU  +(U (T r p( ob 
o 
r p  %(T ( 
o 
(} (W (~ (Y ( ([ ( (] o 
(c 

(T rM pr˓ p(V (d 
(T rM pr p(X (d 
(T rM pre
 p(Z (d 
(T rM pr p(\ (d 
*  0 T    (# o8 oF  +
r po 
o 
rM pr$ p( 
o 
o 
o 
r8 pr p{ (V  +   (i
 o5 
r poe 
o 
rf pr& p{ ( 
(a o 
r pr& p{ ( 
(g r8 po 
#      >@( 
o 
rf po 
#      >@( 
o 
r po 
#      D@( 
o 
o 
r pr p{ (V  +
	   (i
 o5 
	r poe 
o 
r pr& p{ ( 
(c o 
r" pr& p{ ( 
(e r po 
#      >@( 
o 
r po 
#      >@( 
o 
r" po 
#      D@( 
o 
o 
rV pr p{ (V  +   (i
 o5 
r poe 
r p( &o 
r pr& p{ ( 
(k rV po 
#      >@( 
o 
r po 
#      >@( 
o 
r po 
#      D@( 
o 
o 
r pr p{ (V  +   (i
 o5 
r poe 
o 
r0 pr& p{ (; 
(u (t rl po
 
(t ~ 
o* 
(t ds 
o, 
o 
rv pr& p{ ( 
(i r po 
#      >@( 
o 
r0 po 
#      >@( 
o 
rv po 
#      D@( 
o 
o 
o 
&o 
rM pr p( 
r poC 
o 
o 
o 
r pr p{ (V  +   (i
 o5 
r poe 
o 
r pr& p{ ( 
(m o 
r8 pr& p{ ( 
(o r po 
#      >@( 
o 
r po 
#      >@( 
o 
r8 po 
#      D@( 
o 
o 
rb pr p{ (V  +   (i
 o5 
r poe 
r p( &o 
r pr& p{ ( 
(q rb po 
#      >@( 
o 
r po 
#      >@( 
o 
r po 
#      D@( 
o 
o 
r pr p{ (V  +		   (i
 o5 
	r poe 
o 
r pr& p{ (; 
(w (v rl po
 
(v ~ 
o, 
(v ds 
o, 
o 
rP pr& p{ ( 
(s r po 
#      >@( 
o 
r po 
#      >@( 
o 
rP po 
#      D@( 
o 
o 
o 
&o 
rM pr p( 


o 

o 
r p{ (/ 
   (i
 o5 

oM 
o 

o 
&( 
*0	 C    (# o8 oF  +
o 
rM pr p( 
o 
(# r po: ( o 
rM pr p( 
o 
o 
r pr p{ (E  +(_ (^ o8 
( 
o 
rM pr p( 

(# 	r> po: 	o 
(# o8 oF  +	o 
rv p  %( 
o 
o 
of 
og 
r po 
( 
o 
r pr p{ (M  +~ 
~ 
(% ( o 
r: pr p{ (M  +~ 
~ 
(% ( o 
rJ p( u/ ,r^ po. 
o 
o 
r pr p{ (M  +		~ 
~ 
(% ( o 
r pr p{ (M  +

~ 
~ 
(% ( ( 
* 0
     (# o8 oF  +
r po 
o 
rM prg p( 
o 
o 
o 
r pr p{ (V  +   (i
 o5 
rg poe 
r p( &r po 
#      9@( 
o 
r po 
#     R@( 
o 
o 
r pr p{ (V  +
	   (i
 o5 
	rg poe 
	o8 
o 
r@ pr& p{ (; 
rl po
 
~ 
o* 
   s 
o, 
o 
rd pr& p{ ( 
(y r po 
#      9@( 
o 
r@ po 
#      >@( 
o 
rd po 
#     F@( 
o 
o 
rM pr[ p( 
o 
o 
o 
r pr p{ (V  +   (i
 o5 
r[ poe 
r p( &r po 
#      9@( 
o 
r po 
#     R@( 
o 
o 
r pr p{ (V  +   (i
 o5 
r[ poe 
o8 
o 
r pr& p{ (; 
rl po
 
~ 
o* 
   s 
o, 
o 
r pr& p{ ( 
({ r po 
#      9@( 
o 
r po 
#      >@( 
o 
r po 
#     F@( 
o 
o 
rM prݳ p( 
		o 
	o 
r6 pr& p{ (; 
rN po
 
o 
rM pr p( 


o 

o 
rX p{ (/ 
   (i
 o5 
o 
rM prj p( 
o 
(# r po: o 
o 
r pr p(W  +&o 
r pr p(W  +&(# o8 oN  +r p( o 
o 
o 
   (i
 o 
o 
r	 p  %( 
&( 
*  0     (# o8 oF  +
o 
rM pr p( 
(# r> po: o 
(# o8 oF  +o 
rv p  %( 
o 
o 
of 
og 
r po 
( 
o 
r8 pr p{ (M  +
	~ 
s 
(% ( o 
rR pr p{ (M  +~ 
s 
(% ( o 
rJ p( u/ ,r^ po. 
o 
o 
rn pr p{ (M  +~ 
s 
(% ( o 
r pr p{ (M  +~ 
s 
(% ( ( 
*   0     2 %rC p%r1D p%rD p%rYD p%rD p%rC p%rC p
2 %   (i
 % 
  ( 
%   ( 
%   ( 
%   ( 
%   ( 
%   ( 
is  
8   ( 
r po 
(# o8 r. p(J  +oK  +rN po 
o  
($ ob	 ($ on 
	o 
o< 
rf p( 		o 
Yoh 
(  
o 
o 
rz p(  
(  
o 
(# o8 oL  +	o 
r po 
ot 
ou 
ot 
ou 
		X
	i?o 
rM p( 
&*0        (^ oG 
(^ o 
(^ oE 
(^ o 
o 
(^ oF 
(^ 6 (  
o 
(^ o 
   (i
 6 o 
&(^ o 
   (i
 6 o 
&(^ o 
   (i
 6 o 
&(^ o 
   (i
 6 o 
&(^ 6 o 
*0 Y      ( ( (` o 
 *  ( 
6 o 
&(` o 
 )  ( 
6 o 
&(` o 
 +  ( 
6 o 
&(` 6 (  
o 
(f o 
 !  ( 
6 o 
&(f o 
 '  ( 
6 o 
&(f o 
 #  ( 
6 o 
&(f o 
 "  ( 
6 o 
&(f o 
 %  ( 
6 o 
&(f o 
 (  ( 
6 o 
&(f o 
 $  ( 
6 o 
&(f o 
 &  ( 
6 o 
&(f 6 (  
o 
(j o 
(f o 
o  
(j 6 (  
o 
(b o 
   (i
 6 o 
&(b o 
   (i
 6 o 
&(b 6 (  
o 
(d o 
 !  ( 
6 o 
&(d o 
 '  ( 
6 o 
&(d 6 (  
o 
(h o 
 !  ( 
6 o 
&(h o 
 '  ( 
6 o 
&(h o 
 %  ( 
6 o 
&(h o 
 (  ( 
6 o 
&(h o 
 $  ( 
6 o 
&(h o 
 &  ( 
6 o 
&(h 6 (  
o 
(l o 
 4  ( 
6 o 
&(l o 
 5  ( 
6 o 
&(l o 
 6  ( 
6 o 
&(l o 
 7  ( 
6 o 
&(l o 
 8  ( 
6 o 
&(l 6 (  
o 
(n o 
 ,  ( 
6 o 
&(n o 
 -  ( 
6 o 
&(n o 
 .  ( 
6 o 
&(n o 
 /  ( 
6 o 
&(n o 
 0  ( 
6 o 
&(n o 
 1  ( 
6 o 
&(n o 
 2  ( 
6 o 
&(n 6 (  
o 
(p o 
(n o 
o  
(p o 
 3  ( 
6 o 
&(p 6 (  
o 
(r o 
 ,  ( 
6 o 
&(r o 
 -  ( 
6 o 
&(r o 
 /  ( 
6 o 
&(r o 
 0  ( 
6 o 
&(r o 
 1  ( 
6 o 
&(r o 
 2  ( 
6 o 
&(r 6 (  
o 
(x o 
 ,  ( 
6 o 
&(x o 
 -  ( 
6 o 
&(x o 
 /  ( 
6 o 
&(x o 
 0  ( 
6 o 
&(x o 
 1  ( 
6 o 
&(x o 
 2  ( 
6 o 
&(x 6 (  
o 
(z o 
 !  ( 
6 o 
&(z o 
 '  ( 
6 o 
&(z o 
 %  ( 
6 o 
&(z o 
 (  ( 
6 o 
&(z o 
 $  ( 
6 o 
&(z o 
 &  ( 
6 o 
&(z 6 (  
o 
(Z r	 po 
o 
(T oi 
(V o 
o 
(X o 
o 
(Z o 
o 
(\ o 
o 
*   0 m    (T oj 
r˓ pok 

   (i
 ol 
om 
(V r$ p    rM p( 
(V r p    rM p( 
(V r pG rM p( 
(V r p    rM p( 
(V rv p    rM p( 
(V r" p    rM p( 
(V r p    rM p( 
(V rP p    rM p( 
(V r8 p    rM p( 
(V r p    rM p( 
(T oj 
r pok 
   (i
 ol 
(X r p    rM p( 
(X r p     rM p( 
(X r p    rM p( 
(T oj 
re
 pok 
   (i
 ol 
(Z rg pf rM p( 
(Z r[ pe rM p( 
(Z rd p    rM p( 
(Z r p    rM p( 
(Z rݳ p    rM p( 
(Z r6 p    rM p( 
(Z r p    rM p( 
(Z rj p    rM p( 
(Z r pf rM p( 
(Z r pe rM p( 
(T oj 
r pok 
^(i
 ol 
(\ r p^ rM p( 
*   0 @     o 
r& p{ (M  +
~ 
~ 
(% ( 6 o 
*r p*( *{= *"}= *{> *"}> *{? *"}? *{@ *"}@ *{A *"}A *0 m    o 
(# o8 oX  +( ( r po 
( r p( o' 
( #      Y@( 
on 
o 
rŅ p  %( ( 

oN 
oO 
#      Y@( 
oo 
(# o8 oF  +( o 
r* p  %( ( 
o 
rV po 
( o 
rM pr p( 
o 
o 
o 
r p{ ( 
&( r po 
#      Y@( 
o 
o 
r pr p{ ( 
( o 
r prV p{ (M  +
o 
( #      Y@( 
o 
(# o8 oN  +r* po 
o 
 B  (i
 o 
r p( o 
rV p(p 
o 
rV p  %( 
#      Y@( 
o 
o 
( o 
rM prl p( 
o 
o 
o 
r pr p{ ( 
( o 
r< prV p{ (M  +   s 
   s 
(% ( ( o 
rM pr p( 
o 
o 
r prV p{ (M  +		   s 
   s 
(% ( o 
r pr p{ ( 
( *( ( rŅ po 
o 
( ( ( ( *( o 
o 
( o 
   oq 
* 0 7      ( rŅ p P   rM p( 
( r p I   rM p( 
( r p I   rM p( 
( r p J   rM p( 
( r p H   rM p( 
( rl p K   rM p( 
( r p O   rM p( 
( r< p F   rM p( 
( r p G   rM p( 
( r p E   rM p( 
* 0 0     
+&( o 
X(  
6 o 
&X
	2*0 y       ( o 
 Q  (i
 6 o 
&( o 
 R  (i
 6 o 
&( o 
 S  (i
 6 o 
&( 6 (  
o 
*   0 y       ( o 
 L  (i
 6 o 
&( o 
 M  (i
 6 o 
&( o 
 N  (i
 6 o 
&( 6 (  
o 
*   0      ( o 
o 
(r 

os 
+Yot 
~u 
(v 

r p	jow 
	jow 
	jow 
(x 
( o 
ot 
6 o 
&X2( 6 (  
o 
*r p*( *{B *"}B *0     (# o8 oU  +( ( r: p( ob 
( oy 
oL 
(  
oz 
( oi 
o 
r: p  %( ( 
o 
2 %rl p%r p({ 

o 
($ o 
r p(  
( 
o 
2 %rl p%r p({ 
o 
($ o 
r p(  
( 
o 
2 %rl p%r p({ 
o 
($ o 
r p(  
( 
o 
o 
(c 

( rM pr p	(d 
( rM pr
 p	(d 
( rM pr p	(d 
*  0 '     r: p T  ( 
o 
o 
( * 0 @       ( r p U  ( ( r
 p V  ( ( r p W  ( *rT p*( *{C *"}C *o ( o 
rM p  %( ( 
o 
*2($ o+
 *0        ( ( rC] po| 
( rC] poV  
( o} 
o 
( o<  
o~ 
#     @o@s 
o 
( o<  
o 
o 
#      ?s 
o 
( ( r p( oV  
*   0     ( o<  
($ o	 o 
( oW  
($ o	 oH
 o 
( o>  
($ o	 or o 
( o?  
($ o	 os o 
( o@  
($ o	 ot o 
( oA  
($ o	 ou o 
( oB  
($ o	 ov o 
( oC  
($ o	 ow o 
( oD  
($ o	 ox o 
( oE  
o 
( o>  
($ oz	 o 
($ o
 o
 
(  
-
( 
(l 
+rM p($ oz	 ( 
o 
o 
( ,( o>  
rM po  
o 
( oT  
($ o	 o{ o 
(  s 
oF  
(  s 
oH  
(  s 
oJ  
(  s 
oL  
(  s 
oN  
(  s 
oP  
(  s 
oR  
( oT  
($ o	 o{ o 
( o<  
o~ 
#     A@( 
o 
*"o 
*6($ o	 *o 
o 
( ,   (i
 o 
o 
($ o	 *0 9   
  o 
o 

( ,   (i
 o 
o 
($ o	 *   0 9   
  o 
o 

( ,   (i
 o 
o 
($ o	 *6($ o	 *6($ o	 *6($ o	 * 0 ,     (  
-($ oz	 (  
( 
( 

*r p*( *{F *"}F *{G *"}G *{H *"}H *{I *"}I *{J *"}J *{K *"}K *{L *"}L *{M *"}M *{N *"}N *{O *"}O *{P *"}P *  0     (# o8 oU  +( ( r p( ob 
o 
r p  %( ( 
o 
( ( ( ( ( ( o 
(c 

( rM pr p( (d 
( rM pr
 p( (d 
( rM pr
 p( (d 
o 
( &o 
r2 pr p{ ( 
( *  0	     (# o8 oF  +
(# o8   %~ %-&~  s 
% oG  +o 
o 
&s 
(4 s 
(4 
o 
r pr& p{ (M  +	(% ( o 
r pr& p{ (M  +	(% ( o 
r: pr& p{ (M  +~ 
	(% ( o 
r pr& p{ (M  +~ 
	(% ( (# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
rM pr p{ (E  +( ( 
*   0     (# o8 oF  +
(# o8   %~ %-&~  s 
% oG  +o 
o 
&s 
(4 o 
r pr p{ ( 
( o 
r prV p{ (M  +
	s 
(% ( o 
r. prV p{ (M  +s 
(% ( ( 
*   0 d    (# o8 oF  +
(# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
rB pr p{ ( 
( (# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
rb p{ (/ 
( o 
r p{ (/ 
( o 
r p(B 

	r poC 
	o 
(# o8 oF  +( ( o 
( r po 
( ( 
(# o8 oL  +m(i
 o 
( o 
rM p  %( 
o 
o 
s 
(4 ( o 
r pr p{ (M  +~ 
(% ( ( o 
r pr p{ (M  +~ 
(% ( 	o 
r, p  %( ( 
		o 
( 
*0 h    ( ( o 
T(i
 6 o 
&( o 
U(i
 6 o 
&( 6 (  
o 
( o7 
( o 
(@ 
o< 
( rH po 
( rH p( o' 
 (  
( 

+>
 (  
	( 
 ( o 
(a
 6 o 
&Xi2( 6 (  
o 
( o 
V(i
 6 o 
&( o 
W(i
 6 o 
&( o 
X(i
 6 o 
&( o 
Y(i
 6 o 
&( 6 (  
o 
( o 
Z(i
 6 o 
&( o 
[(i
 6 o 
&( o 
\(i
 6 o 
&( o 
](i
 6 o 
&( 6 (  
o 
( o 
o 
( o 
o 
( o 
o 
( oi 
*0       ( r p^( ( r
 p_( ( r
 p`( ( r p^ rM p( 
( rf pc rM p( 
( r pa rM p( 
( r pb rM p( 
( r: p+ rM p( 
( r p, rM p( 
( r pd rM p( 
( r pe rM p( 
( r. pf rM p( 
( r pn rM p( 
( r po rM p( 
( rB ph rM p( 
( r pg rM p( 
( r pi rM p( 
( j(i
 o5 
( k(i
 o5 
( r2 pl rM p( 
*r p*( *fs 
D s 
E *{Q *"}Q *{R *"}R *{S *"}S *{T *"}T *{U *"}U *{V *"}V *{W *"}W *{X *"}X *{Y *"}Y *{Z *"}Z *{[ *"}[ *{\ *"}\ *{] *"}] *{^ *"}^ *  0      (# o8 oU  +( o 
r p  %( ( 
o 
( ( ( ( o 
(c 

( r pr p( (d 
( r4 pr4 p( (d 
( oi 
*0     (# o8 oF  +
o 
rM prP p( 
o 
o 
rj pr& p{ ( 
( o 
r| pr& p{ ( 
( o 
rM pr p( 
o 
o 
(# o8 oF  +( o 
r p  %( ( 

	o 
	#     F@( 
o 
( o 
r: pr& p{ (M  +~ 
~ 
(% ( ( o 
r pr& p{ (M  +~ 
~ 
(% ( (# o8 oF  +( ( r po 
( o 
o 
r* p  %( ( 
o 
#     K@( 
o 
( o 
rf pr& p{ ( 
( ( o 
r| prV p{ (M  +~ 
s 
(% ( ( o 
o 
( o 
o 
( ( 
( ( 
(# ( o< o 
rM pr p( 
o 
o 
(# o8 oF  +( o 
r p  %( ( 
		o 
	#     F@( 
o 
( o 
r pr& p{ (M  +

~ 
 0  s 
(% ( ( o 
r pr& p{ (M  +~ 
 0  s 
(% ( (# o8 oF  +( ( r po 
( o 
o 
r p  %( ( 
o 
#     K@( 
o 
( o 
r pr& p{ ( 
( ( o 
r6 prV p{ (M  +

s 
    s 
rB p( ( o 
o 
( o 
o 
( ( 
( ( 
(# ( o< o 
rJ p{ (/ 
( ( 
*0 o     (# o8 oF  +
o 
D(i
 { ( 
&o 
r` p{ (/ 
( o 
rn p{ (/ 
( ( 
* 0   	  ( ( o 
+(i
 6 o 
&( o 
,(i
 6 o 
&( o 
-(i
 6 o 
&( o 
.(i
 6 o 
&( 6 (  
o 
( o 
0(i
 6 o 
&
+2( o 
r| p1(i
 6 (  
6 o 
&X
	1( 6 (  
o 
( o 
5(i
 6 o 
&( o 
6(i
 6 o 
&( o 
7(i
 6 o 
&( 6 (  
o 
( o 
=(i
 6 o 
&( o 
>(i
 6 o 
&( o 
?(i
 6 o 
&( o 
@(i
 6 o 
&( o 
A(i
 6 o 
&( o 
B(i
 6 o 
&( 6 (  
o 
( o 
o 
( o 
   oq 
( o 
o 
( o 
   oq 
*  0       ( r p'( ( r4 p(( ( rP p) rM p( 
( r p2 rM p( 
( r p8 rM p( 
( r p: rM p( 
( r6 p; rM p( 
( rf p3 rM p( 
( r| p4 rM p( 
( rj p* rM p( 
( r| p/ rM p( 
( r: p+ rM p( 
( r p, rM p( 
( r p9 rM p( 
( r p< rM p( 
( C(i
 o5 
( E(i
 o5 
( F(i
 o5 
* 0 -     r p5( 
   ( 
o 
o 
( *r p*( *F($ o
 oX *{` *"}` *{a *"}a *{b *"}b *{c *"}c *{d *"}d *{e *"}e *0	     ( o -%o 
r pr p{ (E  +( o 
(B 
( ( rf poC 
( o ;  ( o 
r pr p{ (Y  +
o 
(# o8 oZ  +o 
( o 
r p{ ( 
( ( o 
r( pr p{ ( 
( ( ( ( o 
( o 
o 
( o 
 ,  (  
o 
(    (  
o4 
( o 
o 
( o 
o 
( o0 
( ou 
( o .M( o 
r@ pr p{ ( 
( ($ oc	 o 
 oP 3( o 
*0 j     rh pt( 
($ oc	 o 
 oP 3o 
r0 ps( r po 
rt pp( o 
o 
o 
*  0      (# o8 r p([  +o\  +
o 
o 
o 
r po 
r po 
o 
o 
o 
o 
o 
oL 
#        s 
oz 
o 
oJ 
(# o8 r p(]  +o^  +r po 
s (! o3 on 
o 
r po 
ot 
ou 
o 
ou 
*  0 J     ( ( o .5sP 

r8 p( oQ 
rP pS(i
 o 
ot 
ou 
*  0      ( ( rz p( o 
( o -($ oc	 o 
 oP .(	 ( 
( o .( o 
o  
( ( o .5( o 
o  
($ oc	 o 
 oP 3( o 
* 0        (  r2 po 
(  oG 
(  o 
(  o 
o 
(  oF 
(  6 (  
o 
(  o 
K(i
 6 o 
&(  o 
L(i
 6 o 
&(  6 o 
($ oc	 o 
 oP 3(  o 
*0        ( o .f( r pM rM p( 
( r pO rM p( 
( r( pN rM p( 
( Q(i
 o 
( o .( r@ pP rM p( 
* 0 \       ( o 
r poH 
( o 
oI 
r poJ 
( o 
oI 
R(i
 oK 
( o 
( *0 K    s 

($ o	 or o  
 s 

8  	( YE
   J   5   _      t                  8   r po 
o 
8   r6 po 
o 
8   rv po 
o 
+|r po 
o 
+gr po 
o 
+Rr" po 
o 
+=rd po 
o 
+(r po 
o 
+r po 
o 
X	i?*r  p*( *  0 :     s 
} } (# o8   % s 
o_  +*($ o,
 ( o 
rM p  %( ( 
o 
*  0 6     rH pu( 
r po 
r\ pp( o 
o 
*^( ( rM po 
*( *{f *"}f *{g *"}g *0     o 
rM pr p( 

o 
o 
o 
r p{ ( 
r po 
(# o8 oN  +r* po 
o 
 B  (i
 o 
r p( o 
o 
rV p  %( 
o 
( r po 
#     @S@( 
o 
( rV po 
#      7@( 
o 
o 
r pr p{ ( 
( o 
r prV p{ (M  +( r po 
#     @S@( 
o 
( r po 
#      7@( 
o 
o 
rM prl p( 

	o 
	o 
	o 
r pr p{ ( 
( 	o 
r< prV p{ (M  +   s 
   s 
(% ( ( r po 
#      N@( 
o 
( r< po 
#      D@( 
o 
o 
rM pr p( 
o 
o 
r prV p{ (M  +   s 
   s 
(% ( *( ( r po 
o 
( ( *   0        ( r p I   rM p( 
( r p J   rM p( 
( rl p K   rM p( 
( r p E   rM p( 
( r p H   rM p( 
( r< p F   rM p( 
( r p G   rM p( 
*  0 y       ( o 
 L  (i
 6 o 
&( o 
 M  (i
 6 o 
&( o 
 N  (i
 6 o 
&( 6 (  
o 
*   0      ( o 
o 
(r 

os 
+Yot 
~u 
(v 

r p	jow 
	jow 
	jow 
(x 
( o 
ot 
6 o 
&X2( 6 (  
o 
*r| p*( *{k *"}k *{l *"}l *{m *"}m *{n *"}n *{o *"}o *{p *"}p *{q *"}q *{r *"}r * 0	 *    o 
(# o8 oL  +
   (i
 o 
r p( o' 
(# o8 oL  +   (i
 o 
r p( o' 
o 
rM p  %%( 
o 
#      Y@( 
o 
o 
r  pr p{ (`  +(& (% o& 
( r  po 
#      N@( 
o 
r2 p   ( (  ( rN po 
rb p   ( (" (! rN po 
r| p   ( ($ (# rN po 
o 
rM p  %( %(! %(# ( 

	o 
	#      D@( 
o 
	o 
(# o8 oL  +   (i
 o 
o 
rM p  %( 
o 
#      Y@( 
o 
o 
r pr p(D  +(. ( r po 
#      N@( 
o 
r6 p   ( (( (' rN po 
r p   ( (* () rN po 
r p   ( (, (+ rN po 
o 
rM p  %(' %() %(+ ( 
o 
#      D@( 
o 
o 
*  0 =     r
 p5( 
o 
r po 
o 
rt pp( o 
*   0 I       ( o 
(! o 
(# o 
(' o 
() o 
(+ o 
*r  p*( *{s *"}s *   0
      o 
r pr& p{ (; 

~) 
o* 
o 
rJ pr& p{ (; 
rJ p( o' 
~) 
o* 
o 
( &o 
rH p{ (/ 
(5 *  0 K       ( r pz rM p( 
( rJ p{ rM p( 
(4 |(i
 o5 
*rd p*( *{t *"}t * 0 W     o 
r pr p{ ( 
(; o 
( &o 
r p( 
u/ ,r po. 
*( ($ oc	 o&
 o (: o *r( r p rM p( 
*r p*( *{v *"}v *{w *"}w *{x *"}x *{y *"}y *{z *"}z *{{ *"}{ *{| *"}| *{} *"}} *{~ *"}~ *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *  0      (# o8 oU  +(B (A r p( ob 
o 
r p  %(A ( 
o 
(h (D (i (F (j (H (k (J o 
(c 

(A rM pr p(C (d 
(A rM pr
 p(E (d 
(A rM pr
 p(G (d 
(A rM pr
 p(I (d 
*  0	 E    (# o8 oF  +
(# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
r2 p{ (/ 
(L r2 po 
#      >@( 
o 
o 
rV prV p{ (M  +rV po 
#      4@( 
o 
~ 
~ 
(% ( o8 
6 o 
o 
rz pr& p{ ( 
(T rz po 
#      I@( 
o 
(S o8 
(# o8   %~ %-&~  s 
% oG  +
o 
	o 
&	o 
r pr p{ (E  +(\ r po 
o 
	o 
r prV p{ (M  +~ 
~ 
(% ( r p(l (# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
r p{ (/ 
(` o 
r prV p{ (M  +7s 
(4 ~ 
(% ( o8 
r po 
t" r po 
o 
rH p{ (/ 
(b rd p    ( 	o 
rM p  %	( 

(# 
rZ po; ( 
*   0     (# o8 oF  +
(# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
r p{ (/ 
(R r po 
#      >@( 
o 
o 
r prV p{ (M  +r po 
#      4@( 
o 
~ 
~ 
(% ( o8 
o 
r pr& p{ ( 
(Z r po 
#      I@( 
o 
(Y o8 
r p    ( 
	o 
r p    ( o 
o 
rM p  %	%( 
o 
o 
( 
* 0     (# o8 oF  +
(# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
r p{ (/ 
(N r po 
#      >@( 
o 
o 
r. prV p{ (M  +r. po 
#      4@( 
o 
~ 
~ 
(% ( o8 
o 
rT pr& p{ ( 
(V rT po 
#      I@( 
o 
(U o8 
rz p    ( 
	o 
r p    ( o 
o 
rM p  %	%( 
o 
o 
( 
* 0	 z    (# o8 oF  +
(# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
r p{ (/ 
(P r po 
#      >@( 
o 
o 
r prV p{ (M  +r po 
#      4@( 
o 
~ 
~ 
(% ( o8 
o 
r pr& p{ ( 
(X r po 
#      I@( 
o 
(W o8 
(# o8   %~ %-&~  s 
% oG  +
o 
	o 
&	o 
r pr p{ (E  +(^ r po 
o 
(l o 
r@ p{ (/ 
(d (# o8   %~ %-&~  s 
% oG  +o 
o 
&o 
r^ p{ (/ 
(f (# o8   %~ %-&~  s 
% oG  +o 
o 
&rv p+( o 
r pa( o 
r pb( 		o 
r p,( 

o 
o 
rM p  %( 
o 
o 
rM p  %( 
&o 
rM p  %
( 
o 
o 
rM p  %	( 
&oM 
( 
*  0     (# o8   %~ %-&~  s 
% oG  +
o 
o 
&(# o8 oF  +o 
rM p  %( 
o 
o 
of 
og 
r po 
( 
o 
r8 p(  
r p{ (M  +~ 
~ 
(% ( o 
rR p(  
r p{ (M  +
	~ 
~ 
(% ( o 
rM p( u/ ,r^ po. 
o 
o 
rn p(  
r p{ (M  +~ 
~ 
(% ( o 
r p(  
r p{ (M  +~ 
~ 
(% ( *0       ( ([ o 
+(i
 6 o 
&([ o 
D( 
6 o 
&([ o 
,(i
 6 o 
&([ (n (] o 
a(i
 6 o 
&(] o 
D( 
6 o 
&(] o 
b(i
 6 o 
&(] (n (Y o 
   ( 
6 o 
&(Y o 
   ( 
6 o 
&(Y 6 (  
o 
  %(S %(U %(W (o (C o 
o 
(E o 
o 
(G o 
o 
(I o 
o 
(A oi 
*o 
oE 
6 (  
o 
o7 
o 
o 
*0      
+r6 (  
o 
o 
( 
6 o 
&o 
($ oc	 o
 .	!( 
+ ( 
6 o 
&6 o 
Xi2* 0       (A r p    ( (A r
 p    ( (A r
 p    ( (A r
 p    ( (K     (i
 o5 
(C r p     rM p( 
(C r p     rM p( 
(C rz p     rM p( 
(C r p     rM p( 
(C r, p     rM p( 
(_     (i
 o5 
(C rN pG rM p( 
(a     (i
 o5 
(Q     (i
 o5 
(E r p     rM p( 
(E r p     rM p( 
(G r p     rM p( 
(M     (i
 o5 
(G rT p     rM p( 
(O     (i
 o5 
(c     (i
 o5 
(I r p     rM p( 
(I rh p     rM p( 
(I rN pG rM p( 
(I r, p     rM p( 
(I r p     rM p( 
(e     (i
 o5 
*r p*( *F7s 
u *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *{ *"} *0	     o 
o 
r p{ ( 
(u ( r po 
#      N@( 
o 
o 
r prV p{ (M  +
( r po 
#      D@( 
o 
~ 
   s 
(% ( o 
r pr p{ (D  +&( r po 
#      N@( 
o 
(# o8 oL  +(w (v r< p( o' 
o 
rb p  %(v ( 
( rb po 
#      D@( 
o 
o 
oN 
oO 
o 
rM prz p( 
#      Y@( 
o 
o 
r pr p{ (E  +(y o 
rM pr p( 

	#      Y@( 
o 
	o 
r pr p{ (E  +({ r p d  ( (} (| o 
r p e  ( ( (~ o 
r p f  ( ( o 
rM p  %(| %(~ %( ( 
#      Y@( 
o 
(# rZ po; *(| o 
(~ o 
( o 
*6(v o 
*0 &      ( (# ( o< (t (% o
 
(x o 
 l  (i
 6 o 
&(x o 
 m  (i
 6 o 
&(x o 
 n  (i
 6 o 
&(x o 
 o  (i
 6 o 
&(x o 
(x o 
o 
(x oG 
(x 6 (  
o 
(z o 
 p  (i
 6 o 
&(z o 
 q  (i
 6 o 
&(z o 
 r  (i
 6 o 
&(z o 
 s  (i
 6 o 
&(z o 
 t  (i
 6 o 
&(z o 
 u  (i
 6 o 
&(z o 
 v  (i
 6 o 
&(z o 
(z oE 
(z o 
o 
(z r po 
(z 6 (  
o 
( *  0        ( r p g   rM p( 
( r p h   rM p( 
( rz p j   rM p( 
( r p k   rM p( 
( rb p i   rM p( 
*0 _       (t o 
oI 
rF poJ 
(t o 
o@ 
(t o 
o 
(t o 
o 
(t o 
o 
*rr p*( **(h **(h *(t  
*>(a  +(b  +*  0    	  6 
 (  
  o 
* 0    	  6 
 (  
6 o 
*  0    	  6 
 (  
o 
*  0    	  6 
 (  
  o 
* 0    	  6 
 (  
Q o 
* 0 !   	  6 
 (  
-+( 
o 
** 0 3     ~  

 (5 
3~  
*( 

 (5 
3( 
*( 
* 0 :     s 

o 
+o 
o 
o 
&ok  
-
,oj  
*     
 !. 
    0 /     s 

o 
+o 
o 
o 
&X2*r pr po  
r pr po  
r pr po  
r prI po  
*  0 B       o 
o 
,*o 
o 
,*o 
o 
,*o 
o 
,*s 
z  0 p       E   8   &   ,             2      8         +6rAw p*rWw p*rcw p*ryw p*rw p*rKw p*rw p*rw p*rw p*rM p*0      o 

9  ( 
.	.:8   ( 
o5d.Mm.Zo.d8   r.xt.dx.}8   ( 
dYE      b         q   8   rAw p(Y 
-}8   ryw p(Y 
-s+}rw p(Y 
-f+nrw p(Y 
-[+_rw p(Y 
-N+Prw p(Y 
-A+ArWw p(Y 
-#+2rcw p(Y 
-+#rKw p(Y 
-+
*	*********s 
*0 r     s 

 ( (  +	 o (  +6 o 
6 o 
s 
o 
o 
o 
o 
( 
**s *{ *"} *{ *"} *v(t  
s 
( s 
( *   0 !   a  ~ 
+( &Xi2*   0 u     s 
} { -*( { o {  s 
o 
} ( { o {  s 
o 
&{ *   0 7     ( o 

+o 
( 
o 
ok  
-
,oj  
*      , 
    0      (  o 
,**0      (  o 
,**2~ ( *   0      ( o 
o o 

+Eo 
( ( 
( 
o ~ %-&~  s 
% o 
&ok  
-
,oj  
( o 
o o 
+Eo 

( ( 
( 
o ~ %-&~  s 
% o 
&ok  
-
,oj  
*       Qh 
      Q 
    r p( ~ %-&~  s 
% (c  +( 
*  0 A     2 %r po 

s 
+	(  o &	X
	i2*   0       r p H %r pr
 p( %rH pr4 p( %rn pr p( %r pr p( %r pr p( %rB prf p( %r pr p( %r ps %r pr  p( %	r pr. p( %
rV prf p( %r pr p( %r pr p( %
r: prV p( %r pr p( %r pr p( %r& pr4 p( %rZ prp p( %r pr p( %r pr p( %r: prF p( %rr pr p( %r pr p( %r prB p( %r pr p( %r pr p( %r pr p( %r$ pr> p( %rt pr p( %r pr p( %r pr p( %r" pr< p( % rr pr~ p( %!r pr p( %"r pr p( %#r pr p( %$rB pr` p( %%r pr p( %&r pr p( %'r pr p( %(r pr p( %)r pr* p( %*r\ pr p( %+r pr p( %,r: prJ p( %-rr pr p( %.r pr p( %/r( pr< p( %0rt pr p( %1r pr p( %2r& pr2 p( %3rV prz p( %4r pr p( %5r" pr> p( %6r pr p( %7r pr p( %8r
 pr p( %9rJ prh p( %:r pr p( %;rO prO p( %<r pr p( %=r pr  p( %>rD pr\ p( %?r pr p( %@r pr p( %Ar pr  p( %Br pr@ p( %Cr pr p( %Dr pr p( %Er pr* p( %FrZ prj p( %Gr pr p(  *   0    	  6 
 (  
o 
*   0    	  6 
 (  
*J( o 
  *J( o 
(! 
*J( o 
( 
*V( o 
6 *  0 3   
  ( o 
t2 
(  
-( o 
t2 ( 
** 0 '   
  ( o 
t2 
-~  
*-*( * 0 ]     t o 

t o 
o 
o 
(d  +o 
o 
(e  +o 
o 
(f  +o 
o 
(g  +*   0      o 

+mo 
  o 
o 
/Ro 
    38o 
  o 
o 
o 
  o 
  o 
o 
+o 
ok  
-
,oj  
*     y 
    0      -*(h  +
 (@  +r p( 
	 (@  +r p( 
 (@  +
	rp( 
o ( 	8 (6  +( o 
8 (6  +(i  +o 
8 (6  +(j  + ( , ( o 
* 0      ok 

+mon  
t  s 
{ (k  +
{ ( o 
} 
 
s 
o 
  r0p( 
  	o 
ok  
-u@  ,oj  
*       y     0      ( 
o 
+Don  
T ( 
t  ~ (@  +
( 
(! 
o 
	( ok  
-u@  ,oj  
ok 
+Don  
t  j ( sl 
o  
	o 
	o 


( ok  
-u@  ,oj  
*     P_      { Q     0        j (@  +( j (@  +o 
~ %-&~  s 
% (l  +j (@  +o 
~ %-&~  s 
% (m  +* 0 U     o 

+0on  
T ( 
(! 
( 
6 o 
o 
ok  
-u@  ,oj  
*       <C     0 m    s	 

s
 
o 

+&	on  
T ( 
(! 
( 
o 
	ok  
-	u@  ,oj  
o 
8   (
 
( 
1( 
Y( ( 
6 (@  +~ (n  +	
	E         2   X   +mo 

+cs 
o 

o 
t o 
+=s 
o 

o 
t o 
+
  
s 
( 

( 

o 
( 
X( 
:
  oj  
*       2E      c ]    0      
+  s 
&X
2*(t  
*   0 ,   e  s 

; o 
( ; o 
(o  +*0    e  s 

6 o 
( o 
* 0      s 

 o 
(o  + o 
(5 
(o  + o 
(o  + o 
(o  + o 
(p  +6 o  
( o 
6 o! 
( o 
*0 A   e  s 

  (" 
(q  +  (# 
(q  +  ($ 
(q  +*   0 A   e  s 

  (% 
(o  +  (& 
(o  +  (' 
(o  +*   0     s 

~( 
c ox  
o) 
( o 
~* 
c ox  
o+ 
( o 
~, 
c ox  
o- 
( o 
~. 
c ox  
o/ 
( o 
~0 
c ox  
o1 
( o 
~2 
c ox  
o3 
( o 
~4 
c ox  
o5 
( o 
~6 
c ox  
o7 
( o 
~8 
c ox  
o9 
( o 
~: 
c ox  
o; 
( o 
~< 
c ox  
o= 
( o 
~> 
c ox  
o? 
( o 
*0 P   e  s 

 o 
(  o 
(  o 
(  o 
( *0 T   c  s 
 ( o 
 ( o 
 ( o 
 ( o 
*0 $   e  s 

 o o
 o@ 
(o  +*0 $   n  s 
o  ( (A 
o *B~ ~ s *(t  
} } } } } *  0    e  s 

| ( 
,K | (B 
(o  +| ( 
,K | (B 
(o  +{ ,K { ( { ,K { ( { ,K { ( (  +* 0    <  K ( -   +K ( s 
K ( -   +K ( s 
K ( -+
K ( K ( -+
K ( K ( -+K (@  +( s *vo { ( 
s\ 
o * 0      9   o 

,coC 
,[( ,SoD 
,
joE 
&o  
ԍ ioF 
jo  
3rlp( ( 
(  

"& rpoG 
( 
(  
*~ *	*        Pp   ..+rp*rp*rpe (H 
*..**6( o 
* 0 D     sI 
(J 
(K 
oL 
oM 
oN 

-oO 
o 

,oj  
*    &8 
    J rp *V(t  
} } *(t  
(P 
} (Q 
} *V(t  
} } *J{ { ( *R (P 
 (Q 
( *   0 "   e  s 

U (o  +U (o  +*  0 ,   e  s 

U (R 
(o  +U (R 
(o  +*0 I       -U ( U ( s *U ( (S 
U ( (S 
s *{T 
*"}T 
*J(t  
sU 
(V 
*   0 R     (W 
oX 
,*oY 

+ T 
( 
( 
o 
Xi2(W 
oZ 
&*{[ 
*"}[ 
*J(t  
s\ 
(] 
*  0 5   	    -*(^ 
 o_ 
-(^ 
o` 

(^ 
oa 
*   0 g     s 

(^ 
ob 
+8(c 
s 

(d 
	  o (e 
6 	o& 
(f 
-  oj  
*     EW     0 -     sg 

}h 
(^ 
i 
sj 
(r  +(d 
*   0     s 
} s 
6 { { { { { { (6 o 
6 { ( o 
6 o 
~ %-&~  sl 
% (s  +o 
6 om 
 sn 
(t  +o 
6 o 
 so 
(u  +o 
6 { { (} o 
6 { { (~ o 
6 { o { o ( o 
,#{ { o 
    s op 
+T6 { o o	  sn 
(t  +o 
{ { o 
        s op 
	6 oq 
( o 

6 or 
os 
( o 
6 ot 
( o 
*   0 `       8 (@  +(8 8 (@  +( 8 (6  +(; 8 (6  +(> 8 (6  +( *0 6     s 

+%(  
ou 
(5 
6 o 
X?2*  0 x     s 

o +` ( ( 

o 
s &~ 
(  s 
  	s ( o 
&X%o -*     1   0 I       o 
.
o 

3"o 
ov 
,o 
ow 
( *o 
.+oG 
*   0      o 
(P 
ox 
koy 
oz 
Z"  B[i
o 
(Q 
ox 
koy 
o{ 
Z"  B[io| 
o} 

(P 
( 
o} 

(Q 
( 
s~ 
( 
s  
( 
o 
o 
,oj  
*           0 B     ,>ok 

+on  
t  ( o &ok  
-u@  ,oj  
*     
 &0     (t  
*0     s 
} s 
:1  6 o 
~ %-&~  s 
% (v  +o& 
6 o 
~ %-&~  s 
% (w  +~ %-&~  s 
% (x  +o& 
6 o 
~ %-&~  s 
% (y  +~ %-&~  s 
% (y  + s 
(z  +o& 
6 o 
~ %-&~  s 
% ({  +o& 
(l 
6 { o { { sZ (W o& 
6 { { ( o& 
*0     os 
o 
s
 z (6  +z (6  +(
 ( z (6  +ok 

+on  
t  ( ok  
-u@  ,oj  
z (6  +ok 

+	on  
t  (@ 	ok  
-	u@  ,oj  
z (6  +ok 
+on  
t  ( ok  
-u@  ,oj  
os 
o 
*   (   L  l       !       #     0      s 

z (6  +ok 
+on  
t  
	(D ok  
-u@  ,oj  
o 
o 
+<o 
o 
o 
%Xo 
,o 
o 
o 
ok  
-,oj  
*        8      [ I     0    e  s 

9 o 
( 9 o 
(o  +9 o 
(o  +9 o 
(o  +9 o 
( 9 o 
( 9 o 
( 9 o 
( *0        9 ( o 
9 (|  +o 
9 (}  +o 
9 ( o 
9 ( o 
9 ( o 
9 ( o 
9 ( o 
*   0 d   e  s 

6 o 

 o 
6 o 
6 o 
6 o 
6 o 
o 
6 o 
o 
*0 c      ( 
 ( sl 
Xsl 
s 
 ( o 
 ( o 
o 
o 
&* 0 I   e  s 

o 
-*} (o  +} ( } (~  +,
} ( *   0 _     } (6  +
} ( (l 
ok 
+on  
t  
	( &ok  
-u@  ,oj  
*    ' #J     0 Z    s 
} d (7  +d ( } d ( d ( 
	os 
o 
o 
o 
/os 
o 
o 
	o 
-rp(  
(  
s 
zd ( oz 
 s 
(  +(  +YE         3   J   a   x   z       x                 8O  s} 
( *s~ 
( *s 
( *s 
( *s 
( *s 
( *s 
( **e (@  +&e (@  +'e ( ('E (@  +( )o os 
(o s 
*ox 
*o 
*o 
o 
~ 
( 
,*o 
*o 
o 
*o 
*o 
o 
*t ){ k"  B[){ k"  B[( 
**g (@  +g (@  +g ( 	g (@  +

(n o os 
	o E (@  +( 
D ( D ( s 
o 
os 
o 
o 
o 
s 
o 
o 
o 
o 
o 
o 
ox 
o 
o 
o 
~ 
( 
,o 
o 
o 
o 
o 
o 
o 
t o 
o 
o 
o 
o 
o 
os 
o 
( 
s { k
{ k"  B[kZl( 
i( 
} { k
{ k"  B[kZl( 
i( 
} (
 o 
{ o 
o 
{ o 
os 
o 
t o 
(z &o 
	g ( *h (@  +h (@  +h ( h (@  +(n 	h (@  +D ( D ( G (@  +( G (@  +( G (@  +( G (@  +U (B  +U (C  + { ( 
,+{ ( 
!{ ( 
,+{ ( 
o 
"s 
#"s 
$#$o 
#o 
~ 
o 
#o 
o 
s 
%%o 
os 
o 
o 
o 
%#o 
ox 
%o 
%o 
o 
~ 
( 
,%o 
%o 
o 
%o 
%o 
o 
%o 
o 
%o 
 o 
%o 
!o 
%o 
{ o 
%o 
{ o 
%o 
o 
o 
%o 
t o 
o 
o 
%o 
o 
os 
%o 
t o 
(z &%o 
t o 
(
 %o 

h ( **  0 r       o 
ox 
o 
o 
o 
%( 
o 
&o 
o 
~ 
( 
,o 
o 
o 
o 
o 
o 
*
*   0        (f g o 
t o 
(w (  +(f g (  (  +(f g o 
t o 
o 
(o  +(f g o 
o 
o 
(m (  +(f 	g o 
( (  +*(h *0      s 

D o 
o 
o 
( (o  +D o 
t o 
o 
o 
(o  +E o 
( 
o 
t o 
(P 
k["  BZo 
( 
o 
t o 
(Q 
k["  BZ( (  +*0 ^     s 

D o 
( (o  +D (o  +( 
E ( 
"  BZ( 
"  BZ( (  +*
*   0      (f h o 
t o 
(w (  +(f h ( (  +(f h o 
o 
o 
(m (  +(f 	h o 
t (	 (  +(f 
h o 
( (  +o 
t o 

o 
o 
(f h o 
(o  +*(h *   0 P   e  s 

O o 
(o  +O o 
(p  +O o 
(p  +O o 
(p  +*0 X   e  (@  +
-*O ( o 
O ( o 
O ( o 
O ( o 
*(t  
*0     s 

D o 
o 
o 
( (o  +D o 
t o 
o 
o 
(o  +G o 
o 
o 
o 
( (  +G o 
o 
( 
o 
o 
( 
( (  +G o 
o 
( 
o 
o 
( 
( (  +G o 
o 
( o 
o 
( ( (  +* 0    e  s 

M o 
o 
o 
( (o  +M o 
o 
( (o  +M o 
o 
(o  +M o 
o 
( (o  +M o 
o 
o 
(q  +M o 
o 
o 
(q  +M o 
o 
o 
(q  +M o 
o 
o 
(q  +*  0        o 
M ( -~ 
+~ 
o 
M ( o 
M (  +o 
M ( -+o 
o 
M ( ko 
o 
M ( ko 
o 
M ( ko 
o 
M ( ko 
o 
*
*(h *
*(h *
*(h *
*(h **(h *	*  0 M       (f e (y (  +(f e o 
o 
(o  +(f e ( (  +*(h *	*   0 s       (f e (y (  +(f e o 
t o 
o 
(o  +(f e (  (  +(f e o 
( (  +*(h *
*s 
z(h **(h *
*(h *{ *"} *vs 
} (t  
sU 
(# *(" o 
o 
o 
(( oZ 
&*  0 R     {  o 
,*{ { o 
o 

o 
o 
o 
(" (( oZ 
&*  0 O     ( o 
,#( 
,{ o 
,**o 
o 
(@  +() o 
* 0      s 

Q o 
( Q o 
(o  +o 
E   *   F         +^Q o 
( +JQ o 
(o  ++6Q o 
(5 
(o  ++Q o 

( 
(o  +*   0      s 

Q (  +E   *   C         +XQ ( o 
+DQ ( o 
+0Q ( ( 
o 
+Q ( s  
o 
Q ( o 
* 0 P     s 

 o 
(o  +o 
o&  (o  +o 
o&  (o  +*0      s 

 (  +o 
 ( o 
,*o 
o 
 (@  +() o 
o	 
+% ( ,o 
-+o	 
 ( o 
,*o 
o 
 (@  +() o 
o
 
+& ( 
,	o 
-	+o
 
*{ *"} *s 
} (t  
sU 
(- } *(, o 
o 
o 
{ (* oZ 
&*   0 X     {  o 
,*{ { o 
o 

o 
o 
o 
(, { (* oZ 
&*0 P     ( o 
,#( 
,{ o 
,**o 
o 
(@  +(+ o
 
*0      t o 

o 
o 
~ 
( 
Xs 
o s s s 

	A Y(o  +	A (3 (  +	A ( (  +	A o (  +	*0      s 
} } s 
} { o 
o 
+1o 
ox 
{ %-& s 
%
} 	o 
ok  
-
,oj  
{ *    1 =n 
    ( 
*(F *0     s 

: o 
o 
(o  +: o 
o 
( : o 
o 
( : o 
o 
(5 
(o  +: (7 ( (  +: o 
o 
(u (  +: o  
( (  +: o! 
s ( (  +: o" 
s ( (  +	: o# 
( (  +*0 t     s$ 
s% 

o& 
s' 
o( 
o) 
o* 
s+ 
o( 
o, 
o- 
o. 
o 

o 
	o/ 
o0 
	o1 
o2 
s3 
*0 =   o 
: ( o4 
o 
: ( o5 
o 
: ( o6 
o 
: ( ( 
o7 
	: (@  +
o# 
( : (@  +o8 
o 
( o8 
( 
o 
&: (@  +
o 
o9 
	( o 
( 
o 
&: (@  +o  
( : (@  +o! 
( : (@  +o" 
( *   0 ?   e  s 

X o: 
( X o; 
(o  +X (: (~  +* 0 9     s 

o< 
o= 
+o< 
o> 
(H o 
&X2*   0     ok 

8   on  
t  X ( X (6  +
s? 
o@ 
	ok 
+\on  
t  o< 
o= 
X2o< 
o> 
+sA 
o< 
oB 
(I Xok  
-u@  		,	oj  
om 
oC 
ok  
:)u@  		,	oj  
*     M i            0 I   e  s 

Y oD 
(o  +Y oE 
6 oF 
(o  +Y (= (~  +*   0 ]    s 

oG 
oH 
+AoG 
oI 

	u ,(L o 
&+	t (J o 
&X2*   0 $   ok 

8   on  
t  Y ( Y ( 
Y (6  +	sJ 
sK 
oL 
ok 
+qon  
t  	oG 
oH 
X2oG 
oI 
t 	+([ ( 

sM 
	oG 
	oN 
	(K Xok  
-u@  ,oj  
o 
oO 
ok  
:u@  ,oj  
*A4     b   ~                              0 R   e  s 

6 o 

 o 
6 o 
6 o 
6 o 
6 oP 
o 
*  0 R    | ( 
| ( | ( sl 
Xsl 
sQ 

	oR 
o 
	oS 
&*  0    e  s 

o 
 oT 
(B o 
 oU 
(B o 
 oV 
(B o 
 oW 
(B o 
 oX 
(B o 
 oY 
(B o 
 oZ 
(B o 
 o[ 
(B o 
 o\ 
(B 	o 
 o] 
(B 
o 
 oN (B o!
 o^ 
(B o!
 o_ 
(B 
o!
 o` 
(B o!
 oa 
(B o!
 ob 
(B o!
 oc 
(B o!
 od 
(B o!
 oe 
(B o!
 of 
(B o!
 og 
(B o!
 oh 
(B o!
 oi 
(B o!
 oj 
(B o!
 ok 
ol 
(B o!
 ok 
om 
(B o!
 ok 
on 
(B o!
 oo 
(B o!
 op 
(B o!
 oq 
(B !o 
 oP (B o 
 or 
r!l p(  
,6 o 
 or 
o 
o 
 os 
,6 o 
 os 
6 o 
o 
 oT - 6 o 
 oT h o 
"6 o 
 oR ( 6 o 
*Z,6 6 o 
* 0 2   s 

6 ot 
ou 
ov 
ow 

 o 
6 o 
6 ot 
ou 
ox 
ow 

 o 
6 o 
6 ot 
oy 
ox 
ow 

 o 
X6 o 
ot 
o 
o 
oz 
,io 
o{ 
6 o| 
o 
6 o} 
o 
6 o~ 
o 
< o 
( 6 6 o 
+6 6 o 
*  0    < ( 
< ( < ( < ( 
s 
sl 
( 
o 
sl 
( 
o 
Ysl 
( 
o 
ou 
o 
oy 
( 
o 
o 
o 
	2	o 
o 
+]f	o 
/M	o 
+3o 
o 
( 
,o 
o 
( 
-
o 
-o 
(E o 


,


iYXo 
	o 
	-fs 
< ( o 
< ( o 
< ( o 
< ( o 
o 
o 
*o 
o 
* 0 L    o 

o 
,8
+,	o 
o 
o 
3o 
o 
	X
	i2*0   	 s 

_ o 
(o  +_ o 
(o  +_ o 
( _ o 
( _ o 
( _ o 
(o  +_ o 
( _ o 
(o  +_ o 
( 
( 	_ o 
(o  +
_ o 
(o  +_ o 
( _ o 
(o  +
_ o 
(o  +*   0 	      _ ( o 
_ (  +o 
_ ( o 
_ ( o 
_ ( o 
_ (  +o 
_ ( o 
_ ( o 
_ ( ( 
o 
	_ ( o 

_ ( o 
_ ( o 
_ ( o 

_ ( o 
*   0    
 s 

o 
o 
o 
o 
o 
o 

o 
o 
o o 
o 
(  +o 
{ 	o 
	o 
(  +o 
{  o 
(  +o 
Z (o  +Z 	(o  +Z (o  +* 0     Z ( 
Z ( Z ( {  o 
o 

o 
o 
o 
/o 
o 
o 
+rIp (  
(  
s 
zo 
%( 
o 
&o 
o 
o 
/o 
o 
o 
+rp(  
(  
s 
zo 
( 
o 
&	o 
(G *  0 >   e  s 

[ o 
(o  +[ o 
( [ o 
(o  +*  0 =    [ ( 
[ ( [ ( o 
o 
o 
*   0 O   e  (H 
6 o 
6 o 
6 o 
( 6 o 
6 6 o 
* 0   e  s 

 o^ 
(o  + o_ 
(o  + o` 
(o  + o 
(o  + o 
(o  + oa 
(o  + o 
(o  + o 
(o  + oo 
(o  +	 ob 
(o  +
 oc 
(o  + ok 
ol 
(o  + ok 
om 
(o  +
 ok 
on 
(o  + od 
(o  + o 
(o  + oe 
(o  + of 
(o  + og 
(o  + oh 
(o  + o 
(o  + op 
(o  + oq 
(o  + oi 
(o  + oj 
(o  + o 
(o  + o 
(o  + o 
(o  + o 
(o  + o 
(o  + o 
(o  +" o 
(o  +# o 
(o  +$ o 
(o  +*0   
 s 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
	 (  +o 

 (  +o 
ok 
 (  +o 
ok 
 (  +o 
ok 

 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
 (  +o 
" (  +o 
# (  +o 
$ (  +o 
*0 Y  e  s 

5 oT 
(o  +5 oU 
(o  +5 oV 
(o  +5 oW 
(o  +5 oX 
(o  +5 o 
(o  +5 o 
(o  +o 
( 
,5 rp( +5 o 
( 5 o 
( 	5 o 
(o  +
5 oY 
(o  +5 o 
( 5 os 
(o  +
5 oZ 
(o  +5 o 
(o  +5 o 
( 5 o[ 
(o  +5 o\ 
(o  +5 o] 
(o  +5 o 
(o  +5 or 
( 5 o 
(o  +5 o 
( 5 o 
(o  +5 o 
( 5 o  
( 5 oP (o  +5 oT ( 5 oN (o  +5 oR ( *   0 t   5 ( o 

u2 s~ 5 (  +o 
5 (  +o 
5 (  +o 
5 (  +o 
5 (  +o 
5 (  +o 
5 (  +o 
,t2 rp(Y 
-( 
+"  o	 

(  
o 
( 
o
 
	5 (  +o 

5 (  +o 
5 ( o
 
5 (  +o 

5 (  +o 
5 (  +o 
5 ( o 
5 (  +o 
5 (  +o 
5 (  +o 
5 (  +o 
5 ( o 
5 (  +o 
5 ( o 
5 (  +o 
5 ( o 
5 ( o 
5 (  +oO 5 (  +oQ 5 ( oU 5 ( oS *0 *   s 

 oE -rM p+oE ox  
(  o? (  oA (o  + oC (o  + oI (o  + oH o (  oH o (  oH o (  oH o (  oH o	 ( 	 oH o ( s 
oG o  
8  on  
t 
s 
 	o 
-rM p+	o 
ox  
(  	o 
(  	o 
( 	u: ,C (o  + 	t: o 
(  	t: o  
( 8$  	u; ,C (o  + 	t; o 
(  	t; o  
( 8   	u= ,C (o  + 	t= o! 
(  	t= o  
( 8   	u> ,X (o  + 	t> o" 
(  	t> o! 
(  	t> o  
( +.	u? ,& (o  + 	t? o# 
( 	o' 
6 o 
ok  
:u@  ,oj  

 (  +*  A                  0    s> 
 ( ($ 
oF  ( o@  ( oB  ( oD  ( oJ oH  ( o oH  ( o oH  ( o oH  ( o  oH  ( o
 oH 	 ( o 
 (@  +o% 
op  
8  on  
t  
	 (  +YE      h      C   8   s& 
t: 	 ( o' 
t: 	 ( o( 
8   s) 
t? 	 ( o* 
8   s+ 
t> 	 ( o, 
t> 	 ( o( 
t> 	 ( o- 
+ts. 
t= 	 ( o- 
t= 	 ( o( 
+9s/ 
t; 	 ( o' 
t; 	 ( o( 
	 ( ($ 
o0 
	 ( o1 
	 ( o2 
oG o3 
ok  
:Du@  ,oj  
*   A                  0    e  s 

6 6 o 
6 6 o 
6 6 o 
6 6 o 
6 o 
6 6 o 
6 6 o 
*0     s 
a ( } a ( { -'oz 
o4 
,oz 
 s 
(  ++$s5 
oz 
o6 
{ sl 
o7 
~ 
o8 
o9 
*{N *"}N *{O *"}O *J{V {W (: 
* 0     (t  
(V s 
(X }P }R os 
o 
o 
}S }Z ox 
o 
s 
}T o 
(: 

(: 
}Q {Q (; 
,}Q ( 
o 
}U o< 
}V o= 
}W (\ ([ *0    8   {P ox 
{U o 

{V o 
(: 
{Q (> 
-o 
{W Y+{Q (Y ( 
(] {W X}W {X X}X {W o 
2/{V o 
(: 
}V }W {U (? 
}U {U {T (@ 
`,(^ *{X {Z 2(^ {U {T ( 
:*z}X s 
}Y sA 
}[ * 0    o 

(_ o  
oB 
{] 
{^ ,{^ o 
+L	3s 
+?3;t o 
oC 
3
s 
+oD 
,	s 
+s 
o 
o 
{R {S o 
(  +o 
	{X oE 
oj YE         G   +q	t t o +^	t t o (U {P     s op 
+,u ,	t t o +	t t o {Y 	of o 
&{[ {P om 
{W {W XYoF 
o	 
&*   0 \   	  (Y {X (G 

 o 

(W {[ ox  
{Y {U {T (H 
(@ 
( o 
(\ *~\ *\ * 0 ?      sI 
(` (_ С (  
~  s  sc oJ 
(_ @ (  
~  s  sc oJ 
(_ Т (  
~  s  sc oJ 
(_ У (  
~  s  sc oJ 
(_ Ф (  
~  s  sc oJ 
(_ Х (  
~  s  sc oJ 
(_ Ц (  
~  s  sc oJ 
(_ Ч (  
~  s  sc oJ 
(_ A (  
~  s  sc oJ 
(_ B (  

~  s  sc oJ 
(_ C (  
~  s  sc oJ 
(_ D (  
~  s  sc oJ 
(_  (  
	sc oJ 
(_  (  
sc oJ 
*(t  
*V(t  
}] }^ *
*(h *{_ *"}_ *J(t  
s 
(g *0 b       (f d oi (o  +(f d (o  +(f d (o  +(f d (o  +(f d (o  +*
*(h *   0   e  s 

I oK 
( I oL 
( I oM 
( I oN 
( I oO 
( I oP 
(o  +I oQ 
(o  +I oR 
(o  +I oS 
(o  +	I oT 
(o  +
I oU 
(o  +I uE -+tE oV 
(o  +I oW 
(o  +
I oX 
(o  +I oY 
(o  +I oZ 
(o  +I o[ 
(o  +I o\ 
(o  +I o] 
(o  +I o^ 
(o  +* 0 {   s_ 

I ( o` 
I ( oa 
I ( ob 
I ( oc 
I ( od 
I ( oe 
I ( of 
I ( og 
I ( oh 
	I ( oi 

I (  +oj 
I (  +ok 
I (  +ol 

I (  +om 
I (  +on 
I (  +oo 
I ( op 
I ( oq 
I ( or 
I ( os 
* 0     s 

6 ot 
6 o 
6 ou 
6 o 
6 ov 
6 o 
6 ow 
( 6 o 
6 ox 
( 6 o 
oy 
oz 
o& 6 6 o 
*  0 |    oz 

P (  +o{ 
P ( o| 
P ( o} 
P ( o~ 
P ( o 
P P (  +o 
*0 W       ow 
ow 
3Gov 
ov 
39ox 
ox 
3+ot 
ot 
3ou 
ou 
3oy 
oy 
**ow 
ov 
aox 
aot 
aou 
aoy 
a*0     s 

6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
( 6 o 
6 o 
( 6 o 
o 
o& 6 6 o 
*   0 |    s 

P (  +o 
P ( o 
P ( o 
P ( o 
P ( o 
P P (  +o 
*0    o 

o 
tH s 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
  o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
	6 o 
( 6 o 

6 o 
( 6 o 
6 o 
( 6 o 
6 o 
( 6 o 

6 o 
( 6 o 
6 o 
( 6 o 
6 o 
( 6 o 
6 o 
( 6 o 
6 o 
( 6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
6 o 
( 6 o 
6 o 
6 o 
6 o 
(s o 
6 o 
(s o 
6 o 
(s o 
6 o 
(s o 
6 o 
(s o 
o 
o/ * 0 -  	  ` (  +o 
` ( o 
` (  +o 
` ( o 

 (  
o 
( 
o 
` (  +o 
` ( o 
` ( o 
` ( o 
	` ( o 

` ( o 
` ( o 
` ( o 

` ( o 
` ( o 
` ( o 
` ( o 
` ( o 
` ( o 
` ( o 
` ( o 
` ` (  +o 
` (@  +(t o 
` (@  +(t o 
` (@  +(t o 
` (@  +(t o 
` (@  +(t o 
*   0 V    o 
o 
.+  +o 
tK o 
o 

(x o 
o 
(x o 
o 
(y *^ ( 
- (5 
*~` *  0 /   e  s 

C (o  +C (o  +C (o  +* 0 S       C ( ( 
( 
o 
C ( ( 
( 
o 
o 
C ( o 
*.  ` * 0     s 

o 
+e( 
s 

  o 
    s op 
	{   o 
o 
(o  +	{   o 
(o  +	o 
&( 
- oj  
*    
 r     6o 
( 
*6o 
( 
*0     o 
o 
o 
oz 

s 
 o 
(o  + o 
o 
s o 
(o  + o 
(o  + o 
( (  + o 
(o  + o 
o{ 
o 

 o 
(o  + o 
o{ 
o 

 o 
X(o  +*0 c       o 
 ( o 
 (@  +o 
(  (@  +o 
o 
( o 
 (  +o 
* 0 d    s 

o 
o 
sl 
o 
sl 
(G 
o 
,o 

	,	( 
o 
o 
o 
*0      o 

o 
o 
o 
o 
*0      ( 
 ( sl 
o 
sl 
(G 
o 

o 
	o 
 ( { o ,o 
( o 
 ( o 
 (@  +o 
o 
(  (  +o 
*   0 I    s 
} } } s 

 o 
(o  +
 o 
(o  +
 o 
{ { { { ( (  +
 o 
(o  +
 o 
( (  +
 o 
(o  +o 
,o
 s 
%6 o 
o 
6 o 
%6 o 
o 
o 
6 o 
%6 o 
o  
o 
6 o 
(  +
 o 
 s 
(  +(~  +*   0    ! s 
(  
o 
t  o 
( (  
o 
t2 } o 
{ o 
/"(  s 
(  +
	,	o 
o 
(  
o 
t  o 
o 
( o 
(  
o 
 o 
* 0 6   "  ( sl 
o 

o 
 ( o	 
o  
*  0 }  # 
 ( 

 ( 
 ( 
 ( 

 (@  +,\ ( 	 ( 
 ( o 
o
 
o 

o 


o 
	o 

 (6  +s
 

 (@  +o 
( o 

 (@  +o 
( 	o 
ok 
+9on  
t  s 
( o 
%Xo 
ok  
-u@  ,oj  
o 
o 
o 
*      FR    0    $ s 
} } } s 
 o 
(o  + o 
(o  + o 
( (  + o 
( (  + o 
s o 
(o  + o 
{ { ( (  + o 
( (  + o 
	 s 
(  +(~  +*0        o 
 ( o 
o 
 ( o 
 (@  +o 
(  (@  +o 
o 
(  (@  +o 
(  (@  +o 
o 
(  (@  +o 
o  
( *  0 =  % o 
 ( o 
o 
 ( o 
 (@  +o 
o 
(  (@  +o 
(  (@  +o 
o 
(  (@  +o 
o  
( 
 (6  +ok 
+3on  
t  s 
( o 
%X
o 
ok  
-u@  ,oj  
{  ( o! 

s 
	o o 
( *       @     o" 
o# 
o$ 
o% 
o& 
o' 
( *0      s 

 { { ( (  +o 
o 
o o( 
(  +o 
{ o 
(  +o 
 { s o 
(o  + { o) 
{ { s o 
(o  + (o  + (o  + ( (  +*0   &  (@  +
  o* 
(  (  (  ( 
 ( { o! 
,&s 
		o 	  o+ 
( +rps 
z{ o ,@  o, 
( {   o, 
{ { s o 
&o 
o 
o 
/o 
o 
o 
+r@p(  
(  
s 
z  o- 
( 
o 
&	o 
o 
o 
/o 
o 
	o 
+rp(  
(  
s 
z  o. 
%( 
o 
&*0 K   ' s 

(/ 
(  +
+.	o0 
, o1 
( (  +	X
	2* 0	    ( (  +
q o2 
rp(Y 
( (o  +u o3 
o4 
o5 
o6 
o7 
o8 
( (  +	u o9 
( (  +(P 
,( oG 
( 
q ( * 0 {   ) s
 
q ( } o 
 s 
(  +,"o 
 s 
(  +( *{ s< 
( o 
o= 
&* 0    * s
 
q ( } o 
 s 
(  +q ( } { ~  
(  
,;o 
 s 
(  +,"o 
 s 
(  +,o> 
*  0    + u (@  +
(  + (6  +o5 
( 	u (@  +o 

+c	on  
T ( 
(! 
s? 
( 
t  (  + (6  +o5 
( o9 
o@ 
	ok  
-	u@  ,oj  
q ( oA 
q ( oB 
q ( oC 
*     D o     0    , s 

oD 
o 
oz 
oE 
o{ 
oF 
oD 
o 
oz 
oG 
o{ 
o 
j 
 o 
(o  +j ( 
X(o  +j ( (  +j o 
( (  +j o 
( (  +*  0 h   - s 

R (  
(H 
oI 
+.on  
R 6 oJ 
[ oK 
6 o& 
ok  
-u@  
	,	oj  
*    :U     0 h   - s 

R (  
(H 
oI 
+.on  
R 6 oL 
\ oM 
6 o& 
ok  
-u@  
	,	oj  
*    :U     0 T   . j ( 
j ( (l 

-o 
U o 

+sN 

o 
	oO 
	*0   e  s 

6 oP 
oQ 
6 o 
6 oP 
oR 
6 o 
6 oP 
oS 
6 o 
6 oP 
oT 
6 o 
6 oU 
oV 
6 o 
6 oU 
oW 
6 o 
6 oU 
oX 
( 6 o 
6 ( o 
6 oY 
oZ 
6 o 
6 oY 
o[ 
6 o 
	6 o\ 
o] 
6 o 

6 oY 
o^ 
( 6 o 
6 o\ 
o_ 
( 6 o 

6 oP 
o` 
6 o 
6 oP 
oa 
6 o 
6 oY 
ob 
6 o 
6 oc 
od 
6 o 
6 oc 
oe 
( 6 o 
* 0       oP 
n ( of 
oP 
n ( og 
oP 
n ( oh 
oP 
n ( oi 
oU 
n ( oj 
oU 
n ( ok 
oU 
n (6  +( ol 
oY 
n ( om 
oY 
n ( on 
o\ 
	n (  +oo 
oY 

n ( op 
o\ 
n ( oq 
oU 
n ( or 
oP 

n ( os 
oP 
n ( ot 
oY 
n (  +ou 
oc 
n ( ov 
oc 
n ( ow 
*   0 x   / s 

oU 
ox 
oy 
+B(z 

s 
%6 	o{ 
6 o 
%6 	o| 
6 o 
o 
&(} 
-0 oj  
*    Oh     0 W   0 s~ 

+Bo 
t  s 

	k ( o 
	k ( o 
	o 
Xo 
2* 0    1 (  +
q o 
o 
o 
( (o  +o 
,r o 
o 
( o 
o 
o 
o( 
(  +o 
	r (o  +(P 
,( oG 
( 
q ( * 0   2 s 
q ( } o 
 s 
(  +,o 
 s 
(  ++{ s 
q ( o 
q ( o 
q ( o 
	r ( o 
o 
o 
/o 
o 
o 

+rp(  
(  
s 
zo 
	%( 
o 
&o 
o 
&*   0    3 s 
q ( } o 
 s 
(  +q ( } { ~  
(  
,"o 
 s 
(  +,o 
r ( } { ~  
(  
,(o 
 s 
(  +
	,
o 
	o 
*  0    4 s 
} s 
o o 
 s 
(  +(~  +o o 
 s 
(  +(~  +o o 
~ %-&~  s 
% (  +(~  +o o 
 s 
(  +(~  +*0 :  5 o (6  +
ok 
+on  
t  ( ok  
-u@  ,oj  
o (6  +ok 
+on  
t  ( ok  
-u@  ,oj  
o (6  +ok 
	+	on  
t  

( 	ok  
-	u@  ,oj  
o (6  +
	ok 
+on  
t  ( ok  
-u@  ,oj  
ok 

+
on  
t  ( 
ok  
-
u@  ,oj  
ok 
+on  
t  ( ok  
-u@  ,oj  
ok 
+on  
t  ( ok  
-u@  ,oj  
	ok 
+on  
t  ( ok  
-u@  ,oj  
*  d    $9      c $       #       $"     ?$c     $     #     #$    0 3   6 o 
o 

s 
+o 
( o 
X2* 0 Q   7 ok 

+)on  
t  (  o 

	o 
&	o 
ok  
-u@  ,oj  
*       5<     0   8 s 
o 
} s 
,71 { o 
o# (o  +1 { o 
( +Y~   s 
(  +1$1 ~ ! s 
(  +(o  ++1 { o 
( 1 { o 
k"   @[(q  +1 { o 
( (o  +1 { o 
( (o  +1 { o 
(o  +1 { o 
(o  +1 { o 
( (o  +1 { o 
( (o  +1 { o 
( (o  +1 { o 
( (o  +	1 { o 
(o  +
1 { o 
( (o  +1 { o 
(
 (  +1 { o 
( (o  +o 
tH { o 
o& 
1 	(o  +{ o 
o0 1 (o  +{ o 
o& 1 (o  +{ o 
o& 1 (o  +{ o 
o& 1 (o  +o 
 j1
1 o 
(  ++
1 o 
i(o  +*   0   9 
,:1 ( ,,1 ( { {	 o 
,1( 
+(1 ( ,1 (  +
	,	o 
-o 
o o 
1 ( #       @Z( 
(S 
o 
1 ( o 
1 ( o 
1 ( o 
1 ( o 
1 (  +o 
1 (  +o 
1 ( o 
1 ( o 
	1 (  +o 

1 ( o 
1 (@  +( o 
1 ( o 
1 1 (  +o 
1 1 (  +o 
1 1 (  +o 
1 1 (  +o 
1 1 (  +o 
*0 I   e  (  +
q o 
o 
o 
( (o  +t o 
 o 
(o  +*   0 `   : q ( 
t ( s 
s 
q ( o 
q ( o 
q ( o 
*0 y   ; s" 
q ( } o 
# s 
(  +q ( } { ~  
(  
,"o 
$ s 
(  +,o 
*   0 T  < (  +
q o 
o 
o 
( (o  +o 
o 
o 
o( 
(  +o 
s (o  +o 
o 
o 
o 
(  +o 
	s (o  +o 
,
s o 
o 
( o 
,s o 
o 
( s o 
( (o  +
s o 
( (  +s o 
 o 
(o  +s o 
(o  +(P 
,( oG 
( 

q 	( *0   = s% 
q ( } 
 o 
& s 
(  +,o 
' s 
(  ++{ 
 s 
q ( o 
q ( o 
q ( o 
s ( o 
	s ( o 
o 
o 
/o 
o 
o 

+rQp(  
(  
s 
zo 
	( 
o 
&s ( o 
o 
o 
/o 
o 
o 
+rp(  
(  
s 
zo 
%( 
o 
&
s (6  +o 
( s ( ( 
o 
s ( o 
o 
o 
&* 0   > s( 
q ( }
 o 
) s 
(  +q ( }
 {
 ~  
(  
,"o 
* s 
(  +,o 

s ( }
 {
 ~  
(  
,0o 
-(o 
+ s 
(  +
	,
o 
	o 
s ( }
 {
 ~  
(  
,%o 
, s 
(  +,o 
*  0    e  s 

q   o 
( q   o 
( (o  +q   o 
( (o  +  o 
  ,!q   o 
  o 
( q   o 
( (o  +q   o 
( *   0 -  ? (: 

oz 
o4 
(v 
s 

( 
os 
o 
o 
ox 
o 
o 
o 
oq 
o{ 
oF 
( 
9   (| 
8   o{ 
oF 
(> 
:   o 
o 
o 
(  +o 
	o 
oF 

 o 
o 
o 
( o 
 o 
o 
(S o 
(| 
( 
:Z	*{ *"} *J( 
s 
( *-*( o 
-( o 
-( o 
**0 -   @ s- 
}
 ( . s 
(  +( 
*   0   e  s 

 o 
( (  + o 
( (  + o 
( (  + o 
( (  + o 	 
(o  + o	 
(o  + o	 
( (o  + o	 
( (o  +	 o	 
(o  + o	 
(o  + o	 
(o  +
 o	 
o	 
(o  + o	 
o		 
(o  + o	 
o
	 
(o  + o	 
o	 
(o  + o	 
o	 
(o  + o	 
o
	 
(o  + o	 
o	 
(o  + o	 
o	 
(o  + o	 
o	 
(o  + o	 
o	 
(o  + o	 
o	 
(o  + o	 
(o  +o	 
o	 
o/ *   0 A  A  (@  +o 
(  (@  +o 
(  (@  +o 
(  (@  +o 
( o	 
 ( o	 
o	 
 ( o	 
o	 
 ( o	 
o	 
 ( o	 
o	 
	 (  +o	 
o	 
 (  +o	 
o	 
o	 
  (  +o	 
o	 

 ( o	 
o	 
 ( o	 
o	 
 ( o	 
o	 
 ( o 	 
o	 
 ( o!	 
o	 
 ( o"	 
o	 
 (  +o#	 
o	 
 (  +o$	 
o	 
 (  +o%	 
o	 
 (  +o&	 
o	 
 (  +o'	 
o(	 

 (  +o)	 
(*	 
o+	 
&*{ *"} *2( o,	 
*2( o-	 
*2( o.	 
*2( o/	 
*2( o0	 
*2( o1	 
*2( o2	 
*2( o3	 
*2( o4	 
*(t  
( } } } *0    e  s 

( * 0         ( ( (  + ( { ( (  + ( ( (o  + ( ( (o  + ( ( (o  + ( (o  + ( (o  + ( (o  +	 ( (o  +{ ( { o/ *  0    B u+ 
-*( o ( ,v( o ( ,c( o 3U( o 3G( o 39( o 3+( o 3( o 3( o ** 0 R       ( ( ( ( a( a( a( a( a( a( a( a*  0    C  (@  +o,	 
(  (@  +o-	 
(  ( o5	 
 ( o6	 
 ( o7	 
 (  +o8	 
 (  +o9	 
o:	 
  (  +o;	 
o<	 

	 (  +o=	 
(*	 
o>	 
&*{ *"} *2( o?	 
*2( o@	 
*2( oA	 
*2( oB	 
*2( oC	 
*2( oD	 
*2( oE	 
*:(t  
( *   0         ( ( (  + ( ( (o  + ( ( (o  + ( ( (o  + ( (o  + ( (o  + ( (o  +* 0    e  s 

( *( ( ( a( a( a( a( a*0 h   D u, 
-*o ( 3Lo ( ( ,9o ( 3+o ( 3o ( 3o ( **0    E  (@  +o?	 
(  ( oF	 
 ( oG	 
 ( oH	 
 (  +oI	 
 ( oJ	 
oK	 

 (  +oL	 
(M	 
oN	 
&*(O	 
*{ *"} *Z{ ,{ o 
**(t  
} ( } } } *vo 

 o 
X( *~( { { { ( *{ *"} *2( *  0        (t  
} } } } s" } s$ } { s. } { { { s ( s	 } s4 }  s } s } sP	 
} sQ	 
} sQ	 
} *2{ o
 *{ *{ *   0   F s 

8   { oR	 

	o or 
-{ o 
oS	 
-l{ o 
oT	 
&o 
6 s 
%6 ( 6 o 
%6 	o o 
%6 	o 6 o 
o 
X{ oU	 
?M{ _9   ( o 
oV	 
{ oW	 
oV	 
+/( { o 
o 
o 
(  +o 
X{ o 
o 
o 
2+/{ { o 
o 
o 
(  +o 
X{ o 
o 
o 
2s 
% ( ( o 
o 
% ( { oW	 
o 
% ( {  o 
o 
% ( { oX	 
o 
% ( { oY	 
o 
% ( o 
% ( { o" o 
% ( { o, o 
% ( { {	 o 
*0        s 
% ( { o" o 
% ( { o, o 
% ( ( o 
o 
% ( { oW	 
o 
% ( { oX	 
o 
% ( { oY	 
o 
% ( { {	 o 
*  0 V     oV	 
o 

++on  
T ( 
(! 
( 
t  oZ 
&ok  
-u@  ,oj  
*     
 7D     0   G  (@  +
 (@  + (@  + (@  +
 (@  + (@  + (@  + (@  +{ o" ( { o, ( { o" ~
 %-&~
 1 sZ	 
%
 (  +o[	 

+<
o\	 
( 
() { (]	 
o 
o 
o^	 
o_	 

ok  
-
,
oj  
{ o, ~
 %-&~
 2 sZ	 
%
 (  +o[	 

+B
o\	 
( 
{ (+ { (]	 
o 
o 
o`	 
o_	 

ok  
-
,
oj  
{ {	 ( ( o 
( { oW	 
( {  o 
( { oW	 
~	
 %-&~
 3 sZ	 
%	
 (  +o[	 
+~o\	 
(]	 
o 
o 
o 
/*o 
o 
(]	 
o 
( 
( +2o 
sa	 
( 
( o 
o 
ob	 
&ok  
:v,oj  
{ oW	 
oc	 
o 
o 
o 
.rps 
z( o 
~

 %-&~
 4 sZ	 
%

 (  +o[	 
8   o\	 
(]	 
o 
o 
o 
/+o 
o 
(]	 
o 
( 
( +3o 
s3 
( 
( o 
o 
od	 
&ok  
:t,oj  
( o 
oc	 
o 
o 
o 
.:r\	p( o 
oc	 
6 o 
o 
o 
6 (  
s 
z	oe	 
2 	of	 
og	 
~
 %-&~
 5 sh	 
%
 (  +(  ++Ao 
sj	 
	o 
t  ( s { o 
&Xi2oe	 
2 	of	 
	og	 
+.	{ (% 
o 
t  o &X	i2*  4    I     QO     '     $    0    e  s 

 ok	 
(o (  + ol	 
(o (  + om	 
(o (  + on	 
(o (  + oo	 
(o (  + op	 
(o (  +*0         (@  +ok	 
(p  (@  +ol	 
(p  (@  +om	 
(p  (@  +on	 
(p  (@  +oo	 
(p  (@  +op	 
(p *   0    e  s 

 oq	 
(o (  + or	 
(o (  + os	 
(o (  + ot	 
(o (  + ou	 
(o (  + ov	 
(o (  +*0         (@  +oq	 
(p  (@  +or	 
(p  (@  +os	 
(p  (@  +ot	 
(p  (@  +ou	 
(p  (@  +ov	 
(p *   0 s       ot	 
ot	 
(q ,^or	 
or	 
(q ,Kos	 
os	 
(q ,8oq	 
oq	 
(q ,%ou	 
ou	 
(q ,ov	 
ov	 
(q ** 0 H       ot	 
(r or	 
(r aos	 
(r aoq	 
(r aou	 
(r aov	 
(r a*0 d   e  s 

 ow	 
( (  + ox	 
( (  + oy	 
( (  + oz	 
( (  +*0 ]        (@  +ow	 
(  (@  +ox	 
(  (@  +oy	 
(  (@  +oz	 
( *   0 M       oz	 
oz	 
( ,8ox	 
ox	 
( ,%oy	 
oy	 
( ,ow	 
ow	 
( **oz	 
( ox	 
( aoy	 
( aow	 
( a*o 
m o{	 
o 
(! 
o|	 
*0 ,   e  s 

 o}	 
(o  + o~	 
(o  +* (  +o{	 
 ( o|	 
*:o}	 
o~	 
a*~o}	 
o}	 
3o~	 
o~	 
**   0 ,   e  s 

 o	 
(o  + o	 
(o  +* (  +o	 
 ( o	 
*  0 l   e  s 

 o	 
(o  + o	 
(o  + o	 
(o  + o	 
( (o  + o	 
( (o  +*0 V        ( , ( s	 
* (  (  + (  + ( s	 
*{|	 *"}|	 *r(	 
( }}	 }~	 *f( {}	 {~	 ( *.( *V{ {	 ( *0 W   H o	 

( 
1 (  +(	 
s	 
o 
o1 
o2 
o 
o/ 
o0 

	o	 
* 0     I o 

( %( 
o 
&*:(	 
}	 *v{	 { {	 { (u *   0 =   J o	 

o 
tH (v o	 
` (  +o	 
o	 
*   0    K o9 

( ( 
o 
&* 0    e  s 

2  (	 
-~  
+ (	 
ox  
( 2  (	 
-~  
+ (	 
ox  
( 2  (	 
-~  
+ (	 
ox  
( *0 m   L 2 ( 
2 ( 2 ( (  
,+s	 

(  
,+s	 
(  
,+s	 
	s	 
*{	 *"}	 *{	 *"}	 *{	 *"}	 *{	 *"}	 *jrC
pr]
p(  
( *0 ]       (t  
(  
,1"  @As	 
(	 
~	 o	 
-+r
p(  
( ( ( ( *   0    M s 

(	 
#?#Q?
rH p(  +,Q( (	 
o	 
#      Y@o	 
l#      Y@[o	 
#      Y@o	 
l#      Y@[
0 ( ( 0 ( ( 0 ( ( 0 ( ( (o  +0 (  +0 	(  +* 0 A   N 0 ( 
0 ( 0 ( 0 ( 
	s *   0      u 
-*o ( (Y 
*2( o	 
*z( ( ( ( s *  0 V     u 
-*o ( (Y 
,5o ( (Y 
,"o ( (Y 
,o ( **  0 3   O s 
%o 
%o 
%o 
%o 

( ( 
*2(h  +( *Br
ps 
	 *(t  
}	 sU 
}	 s	 
}	 *  0 m   P {	 o 
-{	 s o 
{	 o o	 
-3{	 o	 
{	 o o	 
&{	 o oZ 
&*   0 l   P {	 o o 
-
{	 o 
{	 o o	 
-3{	 o	 
{	 o o	 
&{	 o oZ 
&*&(o **
*   0 $   	  (U 7 ( 
(T o 
o4 
*>(T o	 
*
*
*(	 
*  0 u   Q {	 -fs	 

(E o	 
(I o	 
(W o	 
(g o	 
(m o	 
(s o	 
(} o	 
o	 
}	 {	 *   0 E   R {	 -6s	 

( o	 
( o	 
( o	 
o	 
}	 {	 *   0    S (  +
o  
(F o	 
*n{	 -(D }	 {	 *n{	 -(G }	 {	 *  0 q   T (  +
(  +o  
o	 
(  +o  
o	 
(  +
o  
	o	 
(  +o  
o	 
(  +o  
o	 
*   0 o   U (  +
o  
(J o	 
o  
(K o	 
o  
(L o	 
o  
(M o	 
o  
(N o	 
o  
(O o	 
*n{	 -(H }	 {	 *n{	 -(P }	 {	 *n{	 -(Q }	 {	 *n{	 -(R }	 {	 *n{	 -(S }	 {	 *n{	 -(T }	 {	 *n{	 -(U }	 {	 * 0 /   V (  +
(  +o  
o	 
(  +o  
o	 
* 0 C   W (  +
(  +o  
o	 
(  +o  
o	 
(  +
o  
	o	 
* 0 L  X (  +
(  +o? ,on  o  
o	 
(  +o? ,on  o  
o	 
(  +
o  
	o	 
(  +o  
o	 
(  +o  o  
o	 
(  +o  
o	 
(  +o  
o	 
(  +o  
o	 
(  +	o  
	o	 
(  +
o  

o	 
(  +o  
o	 
(  +o  
o	 
(  +
o  

o	 
(  +o  
o	 
*0   Y (  +
(  +o  
o	 
(  +o  
o	 
(  +
o  
	o	 
(  +o  
o	 
(  +o  
o	 
(  +o  
o	 
(  +o  
o	 
(  +o  
o	 
(  +	o  
	o	 
(  +
o  

o	 
(  +o  o  
o	 
(  +o  
o	 
*  0    Z ( +
( +o  
o	 
*0 B   [ ( +
( +o  
o	 
( +o  
o	 
( +
o  
	o	 
*  0    \ ( +
o  
(X o	 
o  
(Y o	 
o  
(Z o	 
o  
([ o	 
o  
(\ o	 
o  
(] o	 
o  
(^ o	 
*n{	 -(V }	 {	 *n{	 -(_ }	 {	 *n{	 -(` }	 {	 *n{	 -(a }	 {	 *n{	 -(b }	 {	 *n{	 -(c }	 {	 *n{	 -(d }	 {	 *n{	 -(e }	 {	 *0    ] ( +
(	 +o  
o	 
*   0 #   ^ (
 +
( +o  o  
o	 
* 0    _ ( +
(
 +o  
o	 
*   0 1   ` ( +
( +o  
o	 
( +o  
o	 
*   0 [   a ( +
( +o  
o	 
( +o  
o	 
( +
o  
	o	 
( +o  
o	 
* 0    b ( +
( +o  
o	 
*   0    c ( +
( +o  
o	 
*   0 +   d ( +
o  
(h o	 
o  
(i o	 
*n{	 -(f }	 {	 *n{	 -(j }	 {	 *n{	 -(k }	 {	 * 0    e ( +
( +o  o  
o	 
( +o  o  
o	 
( +
	o  o  
	o	 
( +o  o  
o	 
(  +o  o  
o	 
*   0    f (! +
(" +o  
o	 
*   0 +   g (# +
o  
(n o	 
o  
(o o	 
*n{	 -(l }	 {	 *n{	 -(p }	 {	 *n{	 -(q }	 {	 * 0 K   h ($ +
(% +o  
o	 
(& +o  
o	 
(' +
	o  o  
	o	 
* 0 Q   i (( +
() +o  o  
o	 
(* +o  o  
o	 
(+ +
o  
	o	 
*   0 M   j (, +
o  
(t o	 
o  
(u o	 
o  
(v o	 
o  
(w o	 
*n{	 -(r }	 {	 *n{	 -(x }	 {	 *n{	 -(y }	 {	 *n{	 -(z }	 {	 *n{	 -({ }	 {	 *   0 7   k (- +
(. +o  o  
o	 
(/ +o  
o	 
* 0 [   l (0 +
(1 +o  
o	 
(2 +o  
o	 
(3 +
o  
	o	 
(4 +o  
o	 
* 0 [   m (5 +
(6 +o  
o	 
(7 +o  
o	 
(8 +
o  
	o	 
(9 +o  
o	 
* 0    n (: +
(; +o  
o	 
*   0 <   o (< +
o  
(~ o	 
o  
( o	 
o  
( o	 
*n{	 -(| }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *0 1   p (= +
(> +o  
o	 
(? +o  
o	 
*   0 )   q (@ +
(A +o@ o	 
o  
o	 
*   0    r (B +
(C +o  
o	 
*( *   0 G       {	 -8(D +}	 {	 o  
( o	 
{	 o  
( o	 
{	 * 0 <   s (E +
o  
( o	 
o  
( o	 
o  
( o	 
*n{	 -( }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *0    t (F +
(G +o  
o	 
(H +o  
o	 
(I +
o  
	o	 
(J +o  
o	 
(K +o  
o	 
(L +o  
o	 
*   0    u (M +
(N +o  
o	 
*0    v (O +
(P +o? ,on  o  
o	 
(Q +o? ,on  o  
o	 
(R +
o  
	o	 
(S +o  o  
o	 
(T +o  
o	 
*  0 ^   w (U +
o  
( o	 
o  
( o	 
o  
( o	 
o  
( o	 
o  
( o	 
*n{	 -( }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *n{	 -( }	 {	 *  0 K   x (V +
(W +o  o  
o	 
(X +o  
o	 
(Y +
o  
	o	 
* 0 w   y (Z +
([ +o  o  
o	 
(\ +o  
o	 
(] +
o  
	o	 
(^ +o  
o	 
(_ +o  
o	 
* 0 1   z (` +
(a +o  
o	 
(b +o  
o	 
*   0 #   { (c +
(d +o  o  
o	 
* 0    | (e +
(f +o  
o	 
(g +o  
o	 
(h +
o  
	o	 
(i +o  
o	 
(j +o  
o	 
(k +o  
o	 
(l +o  
o	 
(m +o  
o	 
(n +	o  
	o	 
(o +
o  

o	 
*( *{	 -"(p +}	 {	 o  
( o	 
{	 *0 M   } (q +
o  
( o	 
o  
( o	 
o  
( o	 
o  
( o	 
*n{	 -( }	 {	 *n{	 -( }	 {	 *   0 c   ~ (r +
o  
(s +o	 
o  
(t +o	 
o  
(u +o	 
o  
(v +o	 
o  
(w +o	 
*n{	 -( }	 {	 * 0 +    (x +
o  
(y +o	 
o  
(z +o	 
*n{	 -( }	 {	 * 0 +    ({ +
o  
(| +o	 
o  
(} +o	 
*n{	 -( }	 {	 * 0     (~ +
o  
( +o	 
*( *{	 -"( +}	 {	 o  
( o	 
{	 *   0 +    ( +
o  
( o	 
o  
( o	 
*n{	 -( }	 {	 *n{	 -( }	 {	 * 0 >    ( +
o  
( +o	 
o  
( +o	 
( +o  
o	 
*n{	 -( }	 {	 *  0 t    ( +
( +o  o  
o	 
( +o  o  
o	 
( +
	o  o  
	o	 
( +o  o  
o	 
*(t  
*0 :     ~e -(~d 
(i 
~e -( 
,(k 
~f o	 
*      % 
    0 :     ~e -(~d 
(i 
~e -( 
,(k 
~g o	 
*      % 
    0 :     ~e -(~d 
(i 
~e -( 
,(k 
~h o	 
*      % 
    0 F       ~i (	 
,3s 
i ~i (	 
(	 
~i o 
~i o 
~i *  0    s	 
f s	 
g s	 
h ~	 
s	 

o	 
s	 
o 
o	 
+o	 
o 
o 
ok  
-,oj  
( s	 
o 
o	 
+o	 
o 
o 
ok  
-,oj  
( s	 

o 
o	 
+o	 
			o2 
o 
ok  
-,oj  
	( e *  (   C #f       #       #     0 q   s	 

o 
o 
o	 
r
ps 
o	 
o 
o	 
o	 
r
ps 

	o	 
	o 
o	 
	o	 
r
ps 
o	 
o 
o	 
o 
    O        (	 
o	 
o	 
r
ps 
o	 
o 
o	 
o 
    @@@(	 
o	 
o	 
rps 
o	 
o 
o	 
o 
o	 
o	 
o	 
+(	 
~f o	 
(	 
-] oj  
*      @"b    0     o 
o 

~g o	 
( rpo	 
-Es 

	o 
o	 
	o 
o	 
	o 
o	 
	o 
o	 
~g 	o	 
r/po	 
-Rs 
o 
"    o	 
o 
o	 
o 
o 
"   ?o	 
io	 
~g o	 
*0 r	   o 
o 

rMpo 
o	 
:   s 
o	 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
 o	 
o 
    .t    (	 
o	 
( rap
	o 
o	 
:   s 
o	 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
o	 
o 
    .t    (	 
o	 
	( rupo 
o	 
:   s 
o 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
    Mx(	 
o	 
o 
o	 
( rpo 
o	 
:   s 
o 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
    .t    (	 
o	 
o 
o	 
( rp		o 


o	 
:   
s 
o 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
    .t    (	 
o	 
	( rpo 
o	 
:   s 
o 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
    Mx(	 
o	 
( rp

o 
o	 
:   s 
o 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
    Mx(	 
o	 
o 
o	 

( rpo 
o	 
:   s 
o 
o 
o 
o	 
o	 
o 
o	 
o 
o	 
o 
o 
r po	 
o 
    '''(	 
o	 
o 
o	 
( rpo 
o	 
:   s 
o 
o 
o 
o	 
o	 
o 
o	 
o 
	o	 
o 
o 
r po	 
o 
    '''(	 
o	 
o 
o	 
o 
o	 
(  8   rp (  
(  
!!o 
""o	 
-"s 
##o 
#o 
o	 
#o 
o 
o	 
o	 
#o 
#o 
o	 
#o 
"q=?o	 
#o 
     YZo	 
#"(  X  	>Lrpo	 
-As 
$$o	 
$o 
$o 
    ZZZ(	 
o	 
$( r#po	 
-^s 
%%o	 
%o 
o	 
%o 
o	 
%o 
%o 
r po	 
%o 
8o	 
%( r/po	 
:   s 
&&o	 
&o 
o	 
&o 
o 

o	 
o	 
&o 
o 
"?o	 
io	 
&o 
o 
"?o	 
io	 
&o 
&o 
r po	 
&o 
o	 
&o 
    @@@(	 
o	 
&( r;po	 
:   s 
''o	 
'o 
o	 
'o 
o 
o	 
o	 
'o 
o 
o	 
o	 
'o 
o 
"?o	 
io	 
'o 
o 
"?o	 
io	 
'o 
'o 
r po	 
'o 
o	 
'o 
    [        (	 
o	 
'( *  0 u    ~g o	 
o 
o 
rWp%-&o 
(  
s 

o	 
o 
o	 
o 
o 
o 
o	 
~f o	 
o 
o	 
*~h o 
o	 
o	 
( ( *  0    o 
o	 

s 
                (	 
(	 

o 
o 
s 
    (	 
(	 

o 
o 
rip
	o	 
:   	s< 
		o	 
	o6 
o 
ok	 
o	 
	o6 
o 
on	 
o	 
	o6 
o 
ol	 
o	 
	o6 
o 
om	 
o	 
	o6 
o 
oo	 
o	 
	o6 
o 
op	 
o	 
~h 	o	 
rpo	 
:  s< 


o	 

o6 
o 
ok	 
o	 

o6 
o 
on	 
o	 

o6 
o 
ol	 
o	 

o6 
o 
om	 
o	 

o6 
o 
oo	 
o	 

o6 
o 
op	 
o	 

 s? 
o' 
                (	 
(	 

o9 
o@ 

    s? 
o' 
                (	 
(	 

o9 
o@ 

    s? 


o" 
o	 

o9 

o@ 

    s? 
o" 
o	 

o9 
o@ 

    s? 
o' 
o-	 
oq	 
o	 
o" 
o	 

o9 
o@ 

    s? 
o" 
o	 
~h 
o	 
rpo	 
:  s< 
o	 
o6 
o 
ok	 
o	 
o6 
o 
on	 
o	 
 s? 
o' 
o-	 
oq	 
o	 
o' 
o-	 
ot	 
o	 
o9 
o@ 
@s? 
o' 
o-	 
or	 
o	 
o' 
o-	 
os	 
o	 
o9 
o@ 
    s? 
o' 
o-	 
or	 
o	 
o' 
o-	 
os	 
o	 
o9 
o@ 
    s? 
o" 
o	 
o9 
o@ 
    s? 
o" 
o	 
o9 
o@ 
    s? 
o' 
o-	 
oq	 
o	 
o" 
o	 
o9 
o@ 
    s? 
o' 
o-	 
ot	 
o	 
o" 
o	 
o9 
o@ 
~h o	 
rpo	 
:@  s< 
o	 
s? 
o' 
o-	 
os	 
( o	 
o9 
o@ 
s? 
o' 
o-	 
or	 
( o	 
o9 
o@ 
 s? 
o' 
                (	 
(	 
o9 
o@ 
    s? 
o' 
                (	 
(	 
o9 
o@ 
    s? 
o' 
o-	 
or	 
( o	 
o" 
o	 
o" 
o	 
o9 
o@ 
    s? 
o' 
o-	 
os	 
o	 
o" 
o	 
o" 
o	 
o9 
o@ 
    s? 
  o' 
o-	 
oq	 
( o	 
 o" 
o	 
 o" 
o	 
o9 
 o@ 
    s? 
!!o' 
o-	 
ot	 
o	 
!o" 
o	 
!o" 
o	 
o9 
!o@ 
~h o	 
rpo	 
:B  s< 
""o	 
" s? 
##o' 
                (	 
(	 
"o9 
#o@ 
"    s? 
$$o' 
                (	 
(	 
"o9 
$o@ 
"    s? 
%%o" 
o	 
"o9 
%o@ 
"    s? 
&&o" 
o	 
"o9 
&o@ 
"    s? 
''o" 
o	 
"o9 
'o@ 
"    s? 
((o" 
o	 
"o9 
(o@ 
~h "o	 
rpo	 
:C  s< 
))o	 
)s? 
**o' 
o-	 
os	 
( o	 
)o9 
*o@ 
)s? 
++o' 
o-	 
or	 
( o	 
)o9 
+o@ 
)s? 
,,o' 
o-	 
os	 
( o	 
)o9 
,o@ 
)s? 
--o' 
o-	 
or	 
( o	 
)o9 
-o@ 
) s? 
..o' 
                (	 
(	 
)o9 
.o@ 
)    s? 
//o' 
                (	 
(	 
)o9 
/o@ 
)    s? 
00o' 
                (	 
(	 
0o' 
o-	 
or	 
o	 
0o" 
o	 
0o" 
o	 
)o9 
0o@ 
)    s? 
11o' 
                (	 
(	 
1o' 
o-	 
os	 
o	 
1o" 
o	 
1o" 
o	 
1o# 
o	 
)o9 
1o@ 
)    s? 
22o' 
                (	 
(	 
2o' 
o-	 
oq	 
o	 
2o" 
o	 
2o" 
o	 
)o9 
2o@ 
)    s? 
33o' 
                (	 
(	 
3o' 
o-	 
ot	 
o	 
3o" 
o	 
3o" 
o	 
)o9 
3o@ 
~h )o	 
*   0                       (	 
                (	 
    fff(	 
    (	 
rM p(                 (	 
                (	 
                (	 
    [        (	 
r
p(                 (	 
                (	 
        }1(	 
        }1(	 
r+
p(                 (	 
                (	 
                (	 
                (	 
r?
p(                 (	 
                (	 
            (	 
            (	 
rS
p(                 (	 
                (	 
    Dr    (	 
    Dr    (	 
rg
p(                 (	 
                (	 
    p    G(	 
    p    G(	 
r{
p( *   0     o 
o	 

                (	 
s 
(	 

o 
o 
s 

	(	 
	o 
	o 
s 
(	 

o 
o 
s 
(	 
o 

o 
s 
(	 
o 

o 
r
p(  
o	 
:  s< 
o	 
o6 
o 
ok	 
o	 
o6 
o 
on	 
o	 
o6 
o 
ol	 
o	 
o6 
o 
om	 
o	 
o6 
o 
oo	 
o	 
o6 
o 
op	 
o	 
    s? 
o" 
o	 
o9 
o@ 
    s? 
o" 
o	 
o9 
o@ 
    s? 
o" 
o	 
o' 
o-	 
oq	 
	o	 
o9 
o@ 
    s? 
o" 
o	 
o' 
o-	 
ot	 
	o	 
o' 
o-	 
ot	 
o| 
o9 
o@ 
~h o	 
r
p(  
o	 
:p  s< 
o	 
o6 
o 
ok	 
	o	 
o6 
o 
on	 
	o	 
o6 
o 
oo	 
	o	 
o6 
o 
op	 
	o	 
 s? 
o' 
(	 
o9 
o@ 
    s? 
o' 
(	 
o9 
o@ 
    s? 
o" 
o	 
o9 
o@ 
    s? 
o" 
o	 
o9 
o@ 
    s? 
o" 
o	 
o' 
(	 
o' 
o-	 
ot	 
( o	 
o' 
o-	 
o	 
( o	 
o' 
o-	 
o	 
( o	 
o' 
o-	 
oq	 
	o	 
o9 
o@ 
    s? 
o" 
o	 
o' 
(	 
o' 
o-	 
oq	 
( o	 
o' 
o-	 
o	 
( o	 
o' 
o-	 
o	 
( o	 
o' 
o-	 
ot	 
	o	 
o' 
o-	 
ot	 
o| 
o9 
o@ 
~h o	 
r
p(  
		o	 
:  	s< 
o	 
o6 
o 
ok	 
o	 
o6 
o 
on	 
o	 
o6 
o 
ol	 
o	 
o6 
o 
om	 
o	 
o6 
o 
oo	 
o	 
o6 
o 
op	 
o	 
s? 
o' 
o-	 
oq	 
o	 
o9 
o@ 
s? 
o' 
o-	 
oq	 
o	 
s? 
o' 
o-	 
ot	 
o	 
o9 
o@ 
s? 
o' 
o-	 
ot	 
o	 
o9 
o@ 
 s? 
o' 
(	 
o9 
o@ 
    s? 
  o" 
o	 
 o' 
(	 
 o' 
o-	 
o	 
( o	 
 o' 
o-	 
o	 
( o	 
 o' 
o-	 
ot	 
( o	 
 o' 
o-	 
os	 
( o	 
 o' 
o-	 
oq	 
( o	 
o9 
 o@ 
    s? 
!!o" 
o	 
!o# 
o	 
!o' 
(	 
!o' 
o-	 
o	 
( o	 
!o' 
o-	 
o	 
( o	 
!o' 
o-	 
ot	 
( o	 
!o' 
o-	 
or	 
( o	 
!o' 
o-	 
oq	 
( o	 
o9 
!o@ 
    s? 
""o" 
o	 
"o' 
(	 
"o' 
o-	 
ot	 
( o	 
"o' 
o-	 
o	 
( o	 
"o' 
o-	 
o	 
( o	 
"o' 
o-	 
os	 
( o	 
"o' 
o-	 
or	 
( o	 
o9 
"o@ 
    s? 
##o" 
o	 
#o' 
(	 
#o' 
o-	 
oq	 
( o	 
#o' 
o-	 
o	 
( o	 
#o' 
o-	 
o	 
( o	 
#o' 
o-	 
os	 
( o	 
#o' 
o-	 
or	 
( o	 
o9 
#o@ 
~h o	 
r
p(  


o	 
:k  
s< 
$$o	 
$o6 
o 
ol	 
o	 
$o6 
o 
om	 
o	 
$o6 
o 
ok	 
o	 
$o6 
o 
on	 
o	 
$o6 
o 
oo	 
o	 
$o6 
o 
op	 
o	 
$ s? 
%%o' 
(	 
$o9 
%o@ 
$    s? 
&&o' 
(	 
$o9 
&o@ 
$    s? 
''o" 
o	 
$o9 
'o@ 
$    s? 
((o" 
o	 
$o9 
(o@ 
$    s? 
))o" 
o	 
)o' 
o-	 
oq	 
o	 
$o9 
)o@ 
$    s? 
**o" 
o	 
*o" 
o	 
*o' 
(	 
*o' 
o-	 
oq	 
o	 
*o' 
o-	 
or	 
o	 
*o' 
o-	 
os	 
o	 
*o' 
o-	 
ot	 
o	 
*o' 
o-	 
o	 
( o	 
*o' 
o-	 
o	 
( o	 
$o9 
*o@ 
~h $o	 
rp(  
o	 
:  s< 
++o	 
+o6 
o 
ok	 
o	 
+o6 
o 
ol	 
o	 
+o6 
o 
om	 
o	 
+o6 
o 
on	 
o	 
+o6 
o 
oo	 
o	 
+o6 
o 
op	 
o	 
+o8 
(	 
+ s? 
,,o' 
(	 
+o9 
,o@ 
+    s? 
--o' 
(	 
+o9 
-o@ 
+    s? 
..o" 
o	 
.o" 
o	 
.o' 
(	 
.o' 
o-	 
ot	 
o	 
.o' 
o-	 
o	 
( o	 
.o' 
o-	 
os	 
o	 
.o' 
o-	 
oq	 
o	 
+o9 
.o@ 
+    s? 
//o" 
o	 
/o" 
o	 
/o' 
(	 
/o' 
o-	 
ot	 
o	 
/o' 
o-	 
o	 
( o	 
/o' 
o-	 
or	 
o	 
/o' 
o-	 
oq	 
o	 
+o9 
/o@ 
+    s? 
00o" 
o	 
0o" 
o	 
0o' 
(	 
0o' 
o-	 
ot	 
o	 
0o' 
o-	 
o	 
( o	 
0o' 
o-	 
o	 
( o	 
0o' 
o-	 
or	 
o	 
0o' 
o-	 
os	 
o	 
+o9 
0o@ 
+    s? 
11o" 
o	 
1o" 
o	 
1o' 
(	 
1o' 
o-	 
oq	 
o	 
1o' 
o-	 
o	 
( o	 
1o' 
o-	 
o	 
( o	 
1o' 
o-	 
or	 
o	 
1o' 
o-	 
os	 
o	 
+o9 
1o@ 
~h +o	 
r'p(  
o	 
:  s< 
22o	 
2o3 
o	 
2o6 
o 
ok	 
o	 
2o6 
o 
ol	 
o	 
2o6 
o 
om	 
o	 
2o6 
o 
on	 
o	 
2o6 
o 
oo	 
o	 
2o6 
o 
op	 
o	 
2 s? 
33o' 
(	 
2o9 
3o@ 
2    s? 
44o' 
(	 
2o9 
4o@ 
2    s? 
55o" 
o	 
2o9 
5o@ 
2    s? 
66o" 
o	 
2o9 
6o@ 
2    s? 
77o" 
o	 
7o' 
o-	 
oq	 
o	 
2o9 
7o@ 
2    s? 
88o" 
o	 
8o' 
o-	 
ot	 
o	 
8o' 
o-	 
ot	 
o| 
2o9 
8o@ 
~h 2o	 
rSp(  


o	 
:  
s< 
99o	 
9o3 
o	 
9o6 
o 
ok	 
o	 
9o6 
o 
ol	 
o	 
9o6 
o 
om	 
o	 
9o6 
o 
on	 
o	 
9o6 
o 
oo	 
o	 
9o6 
o 
op	 
o	 
9s? 
::o' 
o-	 
oq	 
o	 
9o9 
:o@ 
9s? 
;;o' 
o-	 
oq	 
o	 
9o9 
;o@ 
9s? 
<<o' 
o-	 
ot	 
o	 
9o9 
<o@ 
9s? 
==o' 
o-	 
ot	 
o	 
9o9 
=o@ 
9 s? 
>>o' 
(	 
9o9 
>o@ 
9    s? 
??o' 
(	 
9o9 
?o@ 
9    s? 
@@o" 
o	 
@o' 
(	 
@o' 
o-	 
ot	 
( o	 
@o' 
o-	 
o	 
( o	 
@o' 
o-	 
o	 
( o	 
@o' 
o-	 
os	 
( o	 
@o' 
o-	 
oq	 
( o	 
9o9 
@o@ 
9    s? 
AAo" 
o	 
Ao# 
o	 
Ao' 
(	 
Ao' 
o-	 
ot	 
( o	 
Ao' 
o-	 
o	 
( o	 
Ao' 
o-	 
o	 
( o	 
Ao' 
o-	 
or	 
( o	 
Ao' 
o-	 
oq	 
( o	 
9o9 
Ao@ 
9    s? 
BBo" 
o	 
Bo' 
(	 
Bo' 
o-	 
ot	 
( o	 
Bo' 
o-	 
o	 
( o	 
Bo' 
o-	 
o	 
( o	 
Bo' 
o-	 
os	 
( o	 
Bo' 
o-	 
or	 
( o	 
9o9 
Bo@ 
9    s? 
CCo" 
o	 
Co' 
(	 
Co' 
o-	 
o	 
( o	 
Co' 
o-	 
o	 
( o	 
Co' 
o-	 
os	 
( o	 
Co' 
o-	 
or	 
( o	 
Co' 
o-	 
oq	 
( o	 
9o9 
Co@ 
~h 9o	 
*0 ;    ~a ~b sI 

( ~a ~b s	 
( (J 
(K 
* 0 ;    ~a ~b sI 

( ~a ~b s	 
( (J 
(K 
* 0 ;    ~a ~c sI 

(	 
~a ~c s	 
( (J 
(K 
* 0     (	 

o	 
o	 
*<a  b $c st  
d e *"( *{j *"}j *{k *"}k *{l *"}l *{m *"}m *{n *"}n *{o *"}o *(	 
o o o o o o *   0 %      ( o	 3S( o	 ( ( 9   ( (	 
( o  
( o  
( oc	 (  8   ( o	 .v( ( ( o ( o	 
( rM po	 
( o	 
o	 
ot 
( ou 
( o 
( ob	 o o	 
( oc	 o&
 o ( o	 ( o ( ,( (	 
*6( o	 
* 0 7    ( o	 
( o	 (	 
o 
o	 
-_**s 
*  0 G   o 
r po 
o	 
#      Y@( 
o4 
( o	 
o: 
( o 
o	 
o	 
o  
o  
,a( o	 o  
,o  
( o	 oB o  
+o  
( o	 o 
o  
o  
( oc	 (  o  
o  
,a( o	 o  
,o  
( o	 oC o  
+o  
( o	 o 
o  
o  
( oc	 (  ( o	 o	 
*2( s  *zo ( ot 
( ou 
*2( s *zo ( ot 
( ou 
*6ot 
ou 
*2( s *( oj	 ,o ( ( o *( o(  
o 
o +( ot 
( ou 
*2( s *zo ( ot 
( ou 
* 0        (	 
rp(p 
( o 
 
o
 
( (
 
( o	 .( o	 3rp(p 
( ob	 o .( ob	 o 3( ,( rp(p 
**
*:(
 
( *{p *"}p *"( *   0     ( o	 3( o	 ( 8   ( o	 .z( ( ( ( o	 o	 
(# 

($ 
ot 
( ou 
ot 
ou 
ot 
ou 
( o 
( ob	 o o	 
( ,( (	 
*   0     ( s 
#      Y@( 
on 
( 
#      Y@( 
o4 
#      Y@( 
on 
rp(p 
ot 
ou 
( 
    (  
o4 
#      Y@( 
on 
rp(p 
ot 
ou 
(# 

	#      Y@( 
on 
($ 
ot 
ou 
	ot 
ou 
ot 
	ou 
*  0 J    ( oj	 ,<( s 
(# 
($ 
ot 
ou 
ot 
ou 
ot 
ou 
***  0 T       rp(p 
( o 
 
o
 
( (
 
(
 
r	pr po
 
(
 
r!pr po
 
*R*
*"(
 
*{q *"}q *
*s:
 *J(
 
r9p(p 
*"(
 
*"( *J(	 
rOpo 
**
*"( *{r *"}r *:(	
 
( *0 W    (	 
o ( ( rYpo 
( u 
,so

 
ot 
( ou 
( ( *s
 
*v(	 
( ( o	 o
 
*0 T       ( 
o 
o 
o
 
o
 
o
 
( o	 
o: 
( o 
o
 
repo
 
*"( *{s *"}s *{t *"}t *{u *"}u *{v *"}v *{w *"}w *{x *"}x *{y *"}y *b(	 
rpo 
( *   0 5      ( oQ 
,*( 
( ( rpo 
( 
( o ( ( rpo 
(    (i
 r p(  
o
 
( ot 
( ou 
o ( o (
 o ( o ( ( ot 
( ou 
( ot 
(	 ou 
( ot 
( ou 
( ot 
(
 ou 
( ot 
( ou 
ot 
( ou 
*   0        (	 
( oQ 
:   ( rpr{ po (	 rpr{ po ( rpr{ po (
 rpr/| po (    (i
 o
 
rp(p 
( rp(p 
( rUp(p 
( o	 o8
 ( o
 
*s
 
*s
 
*   0 Q       o 
o  
( ob	 ( on 
o 
o< 
rp(p 
o
 
rpoD 
o 
**
*"( *{z *"}z *>( oQ 
*>( oQ 
*b(	 
rpo 
o * 0     o 9   ( 

rpo 
ot 
ou 
o ,ks ( ( o 
( ( ob	 o o
 
( ( s
 
o
 
( o
 
o
 
ot 
( ou 
*(	 
( ,( ( o	 o7
 o
 
rp(p 
**
*{} *"}} *F(! o(  
t *n{{ -(- }{ {{ *n{| -o. }| {| *6( 
(
 
*:(
 
(
 
*:( 
 
o/ * *E *
* 0     s!
 

o+ ,o"
 
o#
 
*  0 $   =  o$
 

+u6 ,u6 *o$
 

-*0 0   
  ($ oc	 o
 .	( 
+( 

rp(  
*o$ 
*>,-*o%
 
*o&
 
*2~'
 
o 
 
*"(" *  0 I    ($ o
 o oH 
o 

($ oc	 o
 .((
 
ko	 
o)
 
(*
 
**(+
 
*R(t  
o7 (9 *s8 *{~ *"}~ *"oC 
*"o 
***   0        (t  
} ~  
} s~ } s } s } s } s> } s( } s } s } sM } s } s } s } s } *rp6 (  
r3p( 
(D o,
 
rp(E o,
 
* 0     s? 
}
 @ s-
 
*~
 %-&~

 > s-
 
%
 *(t  
*Frp(H o,
 
*~
 %-&~
 G s-
 
%
 *  0 x      rps 
%r; p    (i
 o 
%r p   (i
 o 
%r p    (i
 o 
%rs
 p    (i
 o 
%rq3 p    (i
 o 
%r p    (i
 o 
%r p    (i
 o 
%r[ p    (i
 o 
%rup    (i
 o 
%rp    (i
 o 
%rp   (i
 o 
%r
 p   (i
 o 
%rp   (i
 o 
%r
 p   (i
 o 
%rp    (i
 o 
%rp    (i
 o 
%r p    (i
 o 
%r	p    (i
 o 
%rp 7  (i
 o 
%rIp 8  (i
 o 
%rup 9  (i
 o 
%rp :  (i
 o 
%r
 p ;  (i
 o 
%r p <  (i
 o 
%r' p =  (i
 o 
%r! p   (i
 o 
%r3 p   (i
 o 
%rK p   (i
 o 
%r p`(i
 o 
( 
r_ p( 
*0 \       rps 
%6  6  (i
 o 
%6  5  (i
 o 
%6     (i
 o 
( 
r=p( 
*0       rEps 
%6    (i
 ( 
o 
o.
 
-rp+rp(  
o 
%6    (i
 o 
%6    (i
 o 
%6    (i
 o 
%
6  "  (i
 o 
%6     (i
 o 
%6  !  (i
 o 
%6    (i
 o 
%6  +  (i
 o 
%6  ,  (i
 o 
%6  -  (i
 o 
%6  /  (i
 o 
%	6 _(/
 
o 
%
6  .  (i
 o 
%6    (i
 o 
%6  0  (i
 o 
( 
r_ p( 
*0        rps 
%rO p >  (i
 o 
%r[v p ?  (i
 o 
%r9p @  (i
 o 
%rsp   (i
 o 
%rp   (i
 o 
%rp   (i
 o 
%rp   (i
 o 
( 
r_ p( 
*   0     s 

s 
o 
o 
( o0
 
+o	 

	o 
	o1
 
o 
ok  
-
,oj  
( o2
 
+o	 
o 
o3
 
o 
ok  
-,oj  
( o4
 
+o	 
o2 
o5
 
o 
ok  
-,oj  
rp( 
r_ p( 
*  (   ( %M 
     c *       *     (t  
*{ *"} *{ -{ 2{ (` } { *{ *"} *{ %-&(R o o oH 
*{ *"} *{ *"} *{ *"} *2(R o *2(R o * 0     (T o 
o 

+o 
o 
3ݳ   ok  
-
,oj  
(T o 
o6
 

+"(7
 
o 
o 
3
o 
j(8
 
-e oj  
(T o 
o9
 
+"(:
 
o 
o 
3
o 
(;
 
-f oj  
**(    #5 
     P /       /     *o] * 0 O       (t  
} o o< o o o o o s (P (S (c * 0      ( 
 (  (  ( 
 ( (X 	o 
-+	o 
(! 
} o 
, ( s 
(Z o 
t  %-&s 
(V *0 p    s 

s 
o^ ,o_  o] (o  + (W (o  + (O o (  +oe	 
1
 (  +*&(<
 
*  0 5    (U  ( +
o=
 
-*o>
 
,o?
 
*s z
*&(o *  0 B    (@
 
oo  

+ol  
oA
 
,	oB
 
+s zok  
-
,oj  
*      +7 
    >sC
 
%}D
 
*
*fo o oH 
(b *   0     (Y 
(T o 
 (E
 
 ( 
_,Yoq -rqpsF
 
z(T o 
os ,or s z(T o 
(T (Y 
 (B 
o 
*      E [     
*&(G
 
**n(R o {' { oH
 
*
*0 .     o5 (l 
(Q o7 o5 Yo1 oI
 
&*(Q o5 sl 
o7 o5 YoJ
 
*&(G
 
**n(R o {' { oH
 
*
*0 $   	  o1 o5 ( 
1(Q oK
 
*
* 0 O    (Q oL
 

+3oM
 
oP 
(Y 
,oM
 
o 

 o 
3*XoN
 
2*&(o *
*
* 0 1   (Q ( ( oO
 

oP
 
oQ
 
oR
 
oQ
 
(S
 
,rps 
z(T oT
 
(Q oP
 
o 
oR
 
o 
oP
 
o 
(U
 
XoV
 
( +~
 %-&~
 S sX
 
%
 ( +~
 %-&~
 T sY
 
%
 ( +~
 %-&~
 U sZ
 
%
 ( +o 

+!	o 
(\ o o 
o[
 
	ok  
-
	,	oj  
*       -&
    b(Q ( ( oJ
 
*^(U i ( sl 
*J(U i ( *0    	  
 (  
o 
*0 @    (  
~ o\
 
,  %%(]
 
u *r=ps 
z0     s	 
o
 *   0    s^
 

А (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
+ (  
o_
 
	* (  
o_
 
 (  
o_
 

 (  
o_
 
 (  
o_
 

 (  
o_
 
 (  
o_
 
г (  
o_
 
а (  
o_
 
И (  
o_
 
\ (  
o_
 
} (  
o_
 
W (  
o_
 
Z (  
o_
 
Ж (  
o_
 
 (  
o_
 
h (  
o_
 
Y (  
o_
 
g (  
o_
 
З (  
o_
 
 (  
o_
 
i (  
o_
 
Ю (  
o_
 
Я (  
o_
 
Е (  
o_
 
` (  
o_
 
Й (  
o_
 
 (  
o_
 
п (  
o_
 
Д (  
o_
 
е (  
o_
 
 (  
o_
 
д (  
o_
 
X (  
o_
 
V (  
o_
 
Ў (  
o_
 
U (  
o_
 
 (  
o_
 
d (  
o_
 
e (  
o_
 
f (  
o_
 
c (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
Г (  
o_
 
Џ (  
o_
 
Б (  
o_
 
о (  
o_
 

 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
5 (  
o_
 
: (  
o_
 
< (  
o_
 
 (  
o_
 

 (  
o_
 
 (  
o_
 
, (  
o_
 
 (  
o_
 
 (  
o_
 
= (  
o_
 
8 (  
o_
 
7 (  
o_
 
; (  
o_
 
9 (  
o_
 
6 (  
o_
 
 (  
o_
 
 (  
o_
 
[ (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 (  
o_
 
 *fo o oH 
(b **
*  0 P   
  (R o -raps 
z(U rpo 
t2 
(R o (\ o 
s
 o	 *&(o **>(T o	 
*
*   0 $     (U 7 ( 
(T o 
o5 
*&(o **>(T o	 
*
*   0 :   	  (U 7 ( 
(T o 
o6 
(T o 
( o7 
*( 
*:oJ 
(`
 
*:oJ 
(`
 
*&(`
 
*&(`
 
*&(`
 
*&(`
 
*( 
*&(`
 
*&(`
 
*&(o **(Q (U < ( sl 
oJ
 
*
*   0 f    (U < ( 
(Q o 
(Q Ysl 
( 
o 
sa
 
( +
	/rps 
z(Q 	o 
oc
 
**(b **Z([ {' { od
 
***(b **([ {' { oP ,([ {' { oP **0     (R o -rps 
z(U  ( +
(R o oJ
 (U  ( oe
 
(U  ( of
 
(U  ( +og
 
s  
(R o ( oH
 o 
( 

 	(p  + (o  +
,oj  
*      A 
    &(o **
*
**&(h
 
**Z([ {' { oi
 
* 0 "    ~  oj
 
-s 
z(Q ok
 
*  0       sl
 
%~
 X sm
 
on
 
%
~
 Y sm
 
on
 
%~
 Z sm
 
on
 
%~
 [ sm
 
on
 
%~
 \ sm
 
on
 
%~
 ] sm
 
on
 
%
~
 ^ sm
 
on
 
%~
 _ sm
 
on
 
%~
 ` sm
 
on
 
%~
 a sm
 
on
 
%~
 b sm
 
on
 
%~
 c sm
 
on
 
%~
 d sm
 
on
 
%~
 e sm
 
on
 
%~
 f sm
 
on
 
%~
 g sm
 
on
 
%~
 h sm
 
on
 
%	~
 i sm
 
on
 
 *"(o
 
*   0 D    (p
 
oq
 
oP
 
o 

(p
 
ox 
o 
t o 
o 
or
 
*"(o
 
*   0 8    (p
 
oq
 
oP
 
o 

(p
 
ox 
o 
t os
 
*0 i       %-&ot
 
E      6   (      
   *~u
 
ov
 
*sw
 
ov
 
*sx
 
ov
 
*sy
 
ov
 
*sz
 
ov
 
*"({
 
*"o` 
*"(|
 
*o 
uE -+o 
tE oV 
(}
 
*"(~
 
*Ro 
oU 
(
 
*"(
 
*"on 
*"(
 
*"oo 
*"(
 
*"ol 
*"(
 
*"om 
*"(
 
*"og 
*"(
 
*"oh 
*"(
 
*"oe 
*"(
 
*"of 
*"(
 
*"or 
*"(
 
*"os 
*"(
 
*"oq 
*"(
 
*"op 
*"({
 
*"oc 
*"({
 
*"od 
*"(
 
*"oi 
*&(
 
**0    o .rgpo 6 (H 
o t  
E (@  +U ( (S 
lU ( (S 
l
D ( (S 
D ( (Q o o oq
 
oP
 
o 
(Q ox 
o 
t o 
t o 
o 
o 
o 
t o 
(T o 
( 
(P 
k#      Y@[kZl( 
i( 
(
 
(Q 
k	#      Y@[kZl( 
i( 
(
 
o 
o 
o 
(Q 
o 
o 
(P 
o 
o 
o 
o 
o 
o 
*Z([ {' { oi
 
*b(Q o o oJ
 
*&(
 
**0    o .rgpo 6 (H 
o t  
G (@  +G (@  +G (@  +
G (@  +U ( U ( U ( U ( D ( (S 
	D ( 
,+U ( ,+U ( 	U (B  +
	U (C  +
( 
( 
(Q o o oq
 
oP
 
o 
(Q ox 
o 
t o 
s
 
o
 
,o
 
~ 
o 
o 
o 
o 
o 
o 
o 
s~ 
o
 
o 
o 

o 
o 
t o 
o 
	o 
o 
o 
*Z([ {' { oi
 
*b(Q o o oJ
 
*&(
 
**Z([ {' { oi
 
*0 "    ~  o
 
-s 
z(Q o
 
*  0 P       s
 
%~
 l s
 
o
 
%~
 m s
 
o
 
%~
 n s
 
o
 
 *"(
 
*   0 |    .rgp6 (H 
(
 
oq
 
oP
 
o 

(
 
ox 
o 
t o 
u -o 
t o 
+o 
t o 
o
 
*"(
 
*b(
 
os 
( 
o 
*26 ( *"(
 
*(
 
os 
( 
o 
(
 
-+o
 
*26 ( *"(
 
*6o 
o 
*&(
 
**b(Q o o oJ
 
*Z([ {' { oi
 
*   0 |    o .rgpo 6 (H 
o t  
(Q o o oq
 
oP
 
o 
(Q ox 
o 
t o 
t o 

	(
 *&(o *
*n(R o {' { oi
 
*N(Q (	 oJ
 
*^(U N ( sl 
*o 
o
 
o 
o 
o
 
o
 
o
 
(
 
o 
o
 
*&( ** 0    (U N (@  +
E (@  +U ( (S 
lU ( (S 
l
D ( (S 
D ( (U N (@  +(\ o (T ( o (Q s 
o 
o 
o 
o 
o 
(Q (	 o
 
	(n 
(U 	o 
N ( 	
(
 	o 
t o 
o 
o 
	o 
o 
o 
(T o 
( 
(P 
k#      Y@[kZl( 
i( 
(
 
(Q 
k	#      Y@[kZl( 
i( 
(
 
	o 
(Q 
o 
	o 
(P 
o 
*  0 R    (U N ( 
,6(R o o>  o 
-(T (R o o ( 
*&( **0     (U N (@  +
(Q os 
o 
"  @?o
 
i(Q s 
( 
	o 
o 
~ 
o 
o 
o 
o 
(T ~
 
( 
o 
o 
o
 
o 
o 
o 
(Q (	 o
 
(n (
 (U o 
N ( *   0 `    (U N ( 
(` -'(\ o o
 
,(\ o o
 
&-(T s 
s
 
*s 
**(b **
*  0     	  (U V ( 
V (o  +*&( *
*Z([ {' { o
 
*F(R ~  
o *
*&( *
*Z([ {' { o 
*   0 g    ( 
(U  ( rup( 
( 
(
 
( 
(
 

	o
 
-s 
z(R o 
s z*     2 *\ 
  >( (  
*
*&( *
*
*
**B( } *
*Z([ {' { o 
* 0     (U  ( +
(U 
 ( (U  ( ( 
( 	(0 ,s z( 
(
 
2 %%rup%%%	(
 
( 
(
 
o
 
-s 
z*2(\ o
 *r( (U  ( +*   0     (* 
(R o o  
(
 
(R o o	 
	s zo 
-_o
 
3o
 
+,s
 
zs 
(R o o  
(
 

&s z(R o *(R (R o o
 o  
o * (     3     l     l  
  >( (  
*
*(R o o	 or o  
( +**(b *
*([ {' { o
 
,(R o o **0 b    so 
}
 (T oI 
}
 (\ p s  
o
 
 (U  ( (o  +&s z*       8V     8Y   &(' **  0     (U  ( +
(U 
 ( (U  ( ( 
( 	(0 ,s z2 %%rup%%%	(
 
( 
(
 
( 
(
 
o
 
-s z(R o oJ
 (U  ( oe
 
(U  ( of
 
(U  ( +og
 
(R o ( oI
 *0    e  s 

 (o  +*R(8 ( } *
*
*
**( 
 { (A (  +**(b *
*
*   0     (U W ( s' 
(R o o	 oJ 
s zW (U W ( (o  +o) u  ,Oo) t  (\ o o
 
( W (R o o) t  (T (2 (  +*o) u2 -rM pW ( *        +   *(b **
*  0 o    ([ {' { o o  
-ryp(I  +(
 
s 
z(U 4 (@  +
(O { 0 ( o# 4 (o  +*&(o **
*
*(T om 
(U \ ( sJ 
o
 
*&(o **Z([ {' { o
 
*0 
   (Q oz 
(Q o{ 

o 
(U  (@  +( (T o 
(U  ( o
 
o 
(U  ( (U  ( 
	s 
o 
o 
(U  (6  +s
 
ok 
+on  
t  (  o
 
ok  
-u@  ,oj  
s
 
o
 
o
 
*      )     0 /    (Q oz 
(Q o{ 

(Q oF 
o 
o
 
*^(U  ( sv 
*&(o **
*z(Y (U b ( (V * 0     (Q o 

(Q oz 
o{ 
(Q oz 
( 
o{ 
o 
o 
o
 

o 
3(W *(T oT
 
(Q o 
oV
 
&(T oT
 
(Q o
 
,o 
	( 
o 
&*(T oT
 
(Q o
 
(T oT
 
(Q o
 
*  0 B    (Q (Y o 

(Q oz 
o{ 
(Q o 
o 
(: 
o
 
*^(U b ( sl 
**(b *
*
*0     (R o -rps 
z(U  ( 
(U  ( (U  ( (` 
	-r?ps 
zs
 
	sl 
s
 
o
 
 (p  + (W (o  +**(b **
*0     sq 
(R o -rps 
z} 
 s
 
o
 
o
 
o	 
o
 
o
 
r s
 
o
 
(U  (  +( o
 
o
 
(R o o o
 
( { 
 -+(R o o
 
(T (2 
 	(  + (W (o  +*&(R **
*0 |     (U l ( (
 
(T o 
o 
(T o 
oz 
oG 
o{ 
o 

(U l ( (T oT
 
o
 
	(V *&(
 
**Z([ {' { o
 
*   0 "    ~  o
 
-s 
z(Q o
 
*  0 R       s
 
%~!
 u s
 
o
 
%
~!
 v s
 
o
 
%	~!
 w s
 
o
 
 *"(
 
*6o 
( *"(
 
*"o 
*"(
 
*"o 
*&(
 
**Z([ {' { o
 
*  0 "    ~  o
 
-s 
z(Q o
 
*  0        s
 
%~"
 z s
 
o
 
%~"
 { s
 
o
 
%~"
 | s
 
o
 
%	~"
 } s
 
o
 
%
~"
 ~ s
 
o
 
 *"(
 
*o 
o 
n o	 
o 
o 
6 o	 
*"(
 
*"o 
*"(
 
*"o 
*"(
 
*o 
o 
m o{	 
o 
o 
6 o|	 
*"(
 
*o  
o 
m o{	 
o  
o 
6 o|	 
*&(
 
**Z([ {' { o
 
*0 "    ~  o
 
-s 
z(Q o
 
*s
 
%~#
  s
 
o
 
%
~#
  s
 
o
 
 *"(
 
*6o 
( *"(
 
*"o 
*  0 '    ~ 
(
 
t  ( +
3* 0 '    ~ 
(
 
t  ( +
3*o
 
o
 
-rps
 
z~ ,~ o
 
( +-( *( *0 '    ~ 
(
 
t  ( +
3* 0 '    ~ 
(
 
t  ( +
3*o
 
o
 
-rps
 
z~ ,~ o
 
( +-( *( *0 !    o
 
s 
~ ,~ o *   0 !    o
 
s 
~ ,~ o *( 
( ( oU ( *{  *"}  *{ *"} *{ *"} *&(o *0     s 
(U v ( }$
 (T o 
{$
 o
 
/u(  s 
(  +
	,[	(T o
 
	o 
,F	o 
(T o
 
(T o 
(T o 
o
 
(T o 
o
 
o 
(T o 
o
 
o *
*&( **
*0 j    o 
-a(T (T o 
o 
rWpo 
(  
s 

(T o 
o
 
o 
o 
o	 
(T o 
o	 
*&( **
*o 
,'(T o 
o 
o
 
(T o 
o
 
*&(o *  0 <   	  (U y ( 
(
 
o
 
(U y (k  +o
 
o
 
*([ {' { o
 
,([ {' { o
 
**J(T (
 
o
 
*(T o 
(U y ( s
 
o 
*&(
 
**s
 
*o 
*&(  
**s 
*o 
*&(o *   0 @     (U x (k  +o 

(T oT
 
  o 
o 
o 
o 
*([ {' { o
 
,([ {' { o
 
**
*&( 
**2(T o 
*6(T s 
*&( 
**2(T o 
*6(T s 
*&(o **Z([ {' { o
 
*  0     s 
( (U 
 (@  + ( }%
 {%
 (  
,o 
*(T o 
{%
 o 
/'(  s 
(  +
	,
	(T o 
o 
*J(Q ( ( *v(U 
 (@  +(Q ( *&( 
**Z([ {' { o
 
*   0 "    ~  o	 
-s 
z(Q o
 
*  0        s 
%~&
  s 
o
 
%~&
  s 
o
 
%~&
  s 
o
 
%~&
  s 
o
 
%~&
  s 
o
 
%~&
  s 
o
 
%~&
  s 
o
 
%~&
  s 
o
 
 *"( 
*0 O    ( 
o 

( 
o 
o	 
o  
o 
o 
o 
o 

	o 
o 
*"( 
*0 y    ( 
o 

( 
o 
o	 
o  
o 
o 
o 
o 

	o 
o<	 
	o 
o 
	o 
o 
(*	 
o>	 
&*"( 
*  0 y    ( 
o 

( 
o 
o	 
o  
o 
o 
o 
o 

	o 
o<	 
	o 
o 
	o 
o 
(*	 
o>	 
&*"( 
*( 
*   0 9    ( 
os 

o 
( 
o 
( 
o 
( 
( 
*bt  ( 
os 
(+ *"( 
*
*Bo7	 
o  
*"( 
*
*Bo5	 
o! 
*"( 
*
*Bo6	 
o" 
*"(# 
*
*Bo8	 
o$ 
*"(% 
*
*Bo9	 
o& 
*"(' 
*
* 0     %o-	 
oq	 
%o-	 
os	 
%o-	 
ot	 
%o-	 
or	 
%o-	 
o	 
%o-	 
o	 

s( 
() 
os 

8   	9   		o 
t  () oq 
or 
os 
o* 
(+ 
		o 
h o~ 
		o 
6 o} 
		o 
h o 
		o 
 o{ 
		o 
6 o| 
+	o, 
	X
	?Do- 
-
o. 
o- 
-
o/ 
o- 
-
o0 
o- 
-
o1 
o- 
-
o2 
o- 
-
o3 
*"(' 
*
* 0      %o,	 
ow	 
%o,	 
oy	 
%o,	 
oz	 
%o,	 
ox	 

+0o 
m o{	 
o 
6 o|	 
X2o4 
o5 
o6 
o7 
*&(8 
**Z([ {' { o
 
*   0 "    ~  o9 
-s 
z(Q o: 
*  0       s; 
%~'
  s< 
o= 
%~'
  s< 
o= 
%~'
  s< 
o= 
%~'
  s< 
o= 
%~'
  s< 
o= 
%~'
  s< 
o= 
%~'
  s< 
o= 
%	~'
  s< 
o= 
%~'
  s< 
o= 
%~'
  s< 
o= 
%~'
  s< 
o= 
 *"(> 
*0 3    (? 
o 

(? 
o 
o	 
o  
o 
o@ 
*"(A 
*0 O    (B 
o 

(B 
o 
o	 
o  
o 
o(	 
o 
oC 
o 
oD 
*"(E 
*RoF 
(G 
o+	 
&*"(E 
*RoH 
(I 
o+	 
&*"(J 
*0 O    (K 
o 

(K 
o 
o	 
o  
o 
o(	 
o 
oL 
o 
oM 
*"(N 
*	*BoO 
oP 
*"(Q 
*
*o	 
  (  +oR 
oS 
*"(T 
*
*BoU 
oV 
*"(W 
*  0     %o 
ok	 
%o 
om	 
%o 
on	 
%o 
ol	 
%o 
oo	 
%o 
op	 

s( 
(X 
os 

8   	9   		o 
t  () oq 
or 
os 
o* 
oY 
		o 
h o~ 
		o 
6 o} 
		o 
h o 
		o 
 o{ 
		o 
6 o| 
+	o, 
	X
	?Do- 
-
oZ 
o- 
-
o[ 
o- 
-
o\ 
o- 
-
o] 
o- 
-
o^ 
o- 
-
o_ 
*>(` 
o+	 
&*"(a 
*
*Bob 
oc 
*"(d 
*
*Boe 
of 
*"(d 
*
*Bog 
oh 
*"(N 
*
*Boi 
oj 
*"(k 
*o 
o 
m o{	 
o 
o 
6 o|	 
ol 
**o+	 
&*"(W 
*0      %o 
ow	 
%o 
oy	 
%o 
oz	 
%o 
ox	 

+0o 
m o{	 
o 
6 o|	 
X2om 
on 
oo 
op 
**o+	 
&*"(k 
*o 
o 
m o{	 
o 
o 
6 o|	 
oq 
**o+	 
&**(b *	*n(R o {' { o? *  0     (R o -r{ps 
z(U T ( 
(U T ( ( 
(R o {' { ( sr 
(R o o	 
	oJ 
	s z*    f y   *(b *
*n(R o {' { o? *  0     (U T ( ( 

(R o {' { s (U T (6  +s 

ok 
+non  
t  T ( ( o s 
T ( +T ( +T os 
( +	o 
ok  
-u@  		,	oj  
T 	os 
( +o *      T {     &(t 
**Z([ {' { o
 
*   0 "    ~  ou 
-s 
z(Q ov 
*  0        sw 
%~(
  sx 
oy 
%~(
  sx 
oy 
%~(
  sx 
oy 
%~(
  sx 
oy 
%~(
  sx 
oy 
%~(
  sx 
oy 
 *"(z 
* 0 A    ({ 
o 

({ 
o 
o	 
o  
o 
o 
o 
o| 
*"(} 
*  0 h    (~ 
o 

(~ 
o 
o	 
o  
o 
o 
o 
oK	 

o 
	o 
o 
	o 
(M	 
oN	 
&*"( 
*
*BoH	 
o 
*"( 
*
*o?	 
o 
m o{	 
o?	 
o 
6 o|	 
o 
*"( 
*
*BoF	 
o 
*"( 
*
*BoG	 
o 
*"( 
*
*BoI	 
o 
*"( 
*
*BoJ	 
o 
*&(o **Z([ {' { o
 
* 0     (U 
 ( (l 
(Q o 
(Q o 
(Q oz 
o{ 
o 
(Q s
 

(U 
 (6  +ok 
8   on  
t  	s 
	o 
o 
 (6  +ok 
+Xon  
t  	o 
o 
	 ( 	 ( (Q ( 

	 (@  +( ok  
-u@  ,oj  
 (@  +( ok  
:)u@  ,oj  
	(U 
 (@  +(T ( (Q o 
	o 
*    e     n L    (Q (U 
 ( sl 
oJ
 
*&(o **Z([ {' { o
 
*   0     (] 
(U 
 (@  +o 
 ( o 
 (@  +
	 ( 	 ( 	 ( (Q ( 	 (@  +( *J(Q (] ( *v(U 
 (@  +(Q ( *&(o **Z([ {' { o
 
* 0 [   (U 
 (@  +(Q ( 
(U 
 (@  + (  (6  +
o 
o 
1Vo 
o 
		o 
Yo 
t   ( (l 
(Q o 
(Q o 
o 
s 
o 
o 
	ok 
+Xon  
t  	o 
o 
	 ( 	 ( (Q ( 

	 (@  +( ok  
-u@  ,oj  
 (@  +( *     e2    J(Q (c ( *v(U 
 (@  +(Q ( *&(o **Z([ {' { o
 
*  0    (U 
 (@  +(Q ( 
(U 
 (@  +o 
 ( o 
 (@  +
	 ( 	 ( ,Ko 
Xo 
(Q ( (Q o 
o 
o 
o 
o 
( 
o 
*o 
Yo 
(Q ( (Q o 
Yo 
o 
Yo 
o 
( 
o 
*  0 V    (i 
(U 
 (@  + (  (@  +
	 ( (Q (i (  *v(U 
 (@  +(Q ( *&(o **Z([ {' { o
 
*   0     (o 
(U 
 (@  +o 
 ( o 
 (@  +
o 
	 ( o 
o 
o 
(Q ( ,(Q o 
*  0 V    (o 
(U 
 (@  + (  (@  +
	 ( (Q (o (  *v(U 
 (@  +(Q ( *&(o **Z([ {' { o
 
*   0 /    (U 
 (@  +(Q ( 
(Q o 
o 
*J(Q (u ( *v(U 
 (@  +(Q ( *&(o **Z([ {' { o
 
*   0     ({ 
(U 
 (@  + ( o 
o 
o 

o 
o 
+o 
o 
(Q ( o 
o 
0o 
o 
	,(Q 	o 
o 
*J(Q ({ ( *v(U 
 (@  +(Q ( *&(o **Z([ {' { o
 
*   0 K    ( 
o 
o 
(U 
 ( (l 
o 

(Q (Q o 
o 
*(Q (U 
 ( sl 
oJ
 
*v(U 
 (@  +(Q ( *&(o **Z([ {' { o
 
*  0    ( 
(U 
 (@  +o 
 ( o 
 (@  +
	 ( o 
o 
	 ( (Q oz 
o 
o{ 
oF 

 o 
(Q oz 
o 
o{ 
o 

 o 
X	,5(Q o 
( 
o 
X	Y	(Q ( +X(Q ( 	 (@  +( * 0 V    ( 
(U 
 (@  + (  (@  +
	 ( (Q ( (  *v(U 
 (@  +(Q ( *2rp(  
*rp*2 (i
 *( 
*{ *"} *{ *"} *{	 *"}	 *2rp(  
*b{ o { o 
**b{
 o {
 o 
** 0    ( 
(# o8 oO  +( ( r po 
ot 
( ou 
(# o8 oO  +( ( o0 
( ou 
(# o8 oF  +( ( o0 
( (1 
( o 
(B 

rpoC 
o 
o o 
rGpoD 
s 
o ( o 
r
 po 
( 
o 
(# ropo; o *  0        (/ ( o 
( rp( o 
( r po 
( rpo 
( rp( oV  
( t  o (p 
( ( 
o *( o 
o 
( o 
   oq 
*  0 6     r0 pq( 
r po 
rt pp( o 
o 
**0 O     (# o8 oN  +
rpo 
o 
5.(i
 o 
( o 
{
 o 
*vs 
}
 s 
} (5 *boj 
ok 
(i
 ol 
*o 
o 
o 
o@ 
o 
o 
o 
    (i
 oK 
*   0 '    (c 
r p( +oS  +
o 
o 
&* 0 9     rM p( 
u/ ,!o4 
t  o 
o 
rpo. 
*o 
s 
o+ 
o
 
o* 
o, 
* 0 T     (  
r-po 
( 
 
~ o 
,  %%(]
 
uB *r=ps 
z0     ( 
o * 0 /    s 

C (  
o 
D (  
o 
 * 0 _       (t  
o ( rUpo 
-+rUpo 
(h  +( rkpo 
( 
o/ {' { ( *{
 *"}
 *{ *"} *{ *"} *n( ropo 
 ( *  0     ( 
~ 
( 
,rM p*~ 
( 
,rw p*~ 
( 
,rw p*~ 
( 
,rcw p*~ 
( 
,rKw p*~ 
( 
,ryw p*~ 
( 
,rw p*~ 
( 
,rw p*~ 
( 
,rWw p*~ 
( 
,rAw p*rM p* 0 m    s  

o ,o o o (  
o 
s 
o o 
s 
( 
o 
o 
o 

,oj  
	*       [a 
    &( *z( oP ,( oP **   0 K   
  ( ra po 
t2 
(  
-*( oH 
oI 
o  
( 

(  
,rp
*
*N( ( o 
*&( *2( od
 
*r; p*rp*
*  0 8    s 

( 
o 
-o 
( oH 
od 
( of 
*-*o 
o) 
o 
o 
o 
( *-*o 
o) 
~  
o 
( *6-*( *  0 G    ( 
k"  @?Zi
( 
( 
k( 
kkk( 
( ( * 0 )   ( 
o 
o 
k"   @[s 
o 
o 
o 
k[
o 
o 
o 
o 
k	Z( 
o 
k	Z( 
o 
k	Z( 
YY	o 

( 
k( 
k( 
k( 
k( 

( 
o 
( 
YX	X( 
( 
( 
( rp( 
( ( o 

o 
*Z( 
-
s 
o 
*0     o 
o 
s	 

o 
o 
o	 
o 
o 
o 
o 
&+o 
o 
o 
o 
0o 
o 
&&o 
-*o 
o2 
o 
o 
o 
o9 
o9 
o 
o 
o 
o
 

	o 
( 
0Yk"   ?Zi( 
 Yk"   ?Zi	( 	( *      ^ 
h    ^ m     0 0    s 
})
 }*
 }+
  s 
o 
*0 <    o 
ZX
o 
ZX( 
s 
o 

,oj  
*   # 1 
    0 0    s 
},
 }-
 }.
  s 
o 
*0    o 
ZX
o 
ZXXX
( 
	( 
( 
	( 
XX( 
	X	X( 

XX( 
X	X( 
 %o 
%o 
%o 
%o 
 %o  
    o 
%o  
     o 
%o  
  @  o 
%o  
    o 


-+
o-	 
or	 
	( 
-+
o-	 
os	 

( 
-+
o-	 
oq	 

( 
-+
o-	 
ot	 
	( ( *  0      ( 

~  
( 
,(- 

ou 
,s 
o 
ou 
1Vs 
o 
s 
( 
Y( 
s 
o 
s 
( 
( 
Ys 
o 
*z(- 
s 
XX	XXo 
*   0      ( 
-+(- 

s 
*0     
o 
,`
o 
,`
*0 $    ( 
o 
t 
%o 
    `o 
*6oL 
o 
*"o  
*(t  
*6( ( *   0 !    o  

{ o 
o 
o 
*   0 =    oL 
( +X
( { o 
o 
o 
.	X( *   0 0    
+{ o 
Yo 
X
{ o 
1*{ o 
,oL 
{ o 
o 
*( *2sQ	 
} *   0 H   E  sA 

s 
{ ~0
 %-&~/
  s 
%0
 ( +( +( +ox  
*0 Q       ( +~1
 %-&~/
  s	 
%1
 ~2
 %-&~/
  s	 
%2
 ( +} *s 
*( 
*"(
 
*2( 
u *j(t  
s } ( *:( { *0 s   { oA o 
{ oC o 
{ oE -( 
+oE o 
{ o 
oH o -+o 
{ o 
oH o -+o 
{ o 
oH o -+o 
{ o 
oH o -+o 
{ o 
oH o	 -+o 
{ o 
oH o -+o 
oG o  

+>on  
t o 
-
s
 
o 
+( 
	,{ o 
o 
ok  
-u@  ,oj  
*    J^    0 x       s 
} {  s 
o 
{  s  
o! 
{ o" 
&/{  s 
o# 
{  s  
o$ 
*   9 H /    0    e  s 

	6 6 o& 

6 o% 
o& 
o& 
6 o' 
o& 
6 o( 
t o) 
6 o& 

6 o* 
t o) 
6 o& 
{ o 
*   0    e  s 

	6 6 o& 

6 o& 
6 o' 
o& 
6 o( 
t o) 
6 o& 

6 o* 
t o) 
6 o& 
{ o 
*2{ o+ 
*0     ~  o, 
-** 0    B  ( 

~ o- 
,*.s. 
 *.(/ 
o0 
*  0 3    ( 
,(o1 
( o2 
( o3 
-( * 0 _    ( 
,Oo2 
( ( 
	( ,-)s ( ( ( ( *	*~K 
* 0 j    oG o  

+=on  
t o 
,)( o4 
(5 
-( 
o4 
o3 
,ok  
-u@  
	,	oj  
**      IU     F( o6 
u *  0 &    ( ~ (  
o6 

-~K 
*  *VoE -( 
*oE *o7 
-o8 
o7 
,( o9 
*r( ~ (  
  o9 
*.rp *{ *"} *{ *"} *(t  
* 0    s: 
( o; 
,o 
o 

( 
o 
8>  o 
ox 
o 
Y( 
8  ox 
	o 
o  
ж (  
(< 
,+	o= 
o 
	ow 
o 
o> 

8  o  
 (  
(< 
9  t o 
oC 
3t o 
,	,.	ow 
o 
o> 
8N  :G  t o 
o 
.o 
o 

@  o? 
(@ 
(A 
	o 
o 

( 
ov 
,C( 
ow 

		(P 

(P 
( 
(
 
		(Q 

(Q 
( 
(
 
( 
	oB 
8   o  
з (  
(< 
-`o  
и (  
(< 
-Ho  
C (  
(< 
-0o  
D (  
(< 
-o  
й (  
(< 
,	ow 
o 
o> 
	(C 

	~D 
(@ 
:ok  
:
,oj  
,( o 
o 
o 
(E 
( *A     4   P    
       0    { o o  
-.{ o	 o
 o  
,{ o	 o
 (  
,*s  

8(  s o 
o 
o 
}3
 {3
 oF 
(  
:   
{3
 oF 
o& 
:   { o  s 
o 
,{3
 oF 
{3
 oF 
o# 
+S{ o	 o
  sG 
oH 
-{ o	 o
 +o
 
{3
 oF 
	o# 
	,B{3
 oI 
oJ 
{3
 	oK 
j,{3
 oL 
+
{3
 oM 
Xo 
o 
o 
?*   0     sN 

o 
o6
 
+(7
 
o 
oO 
&(8
 
-e oj  
o 
o9
 

+(:
 
o 
oO 
&(;
 
-f oj  
*     "5      O $s     ( *(P 
**( *{  *"}  *{! *"}! *{" *"}" *{# *"}# *{$ *"}$ *2{ o *2{ o *{% *&(P 
*Z( o  
o  
o  
*Z( o  
o  
o  
*{& *"}& *>{ X} *>{ Y} **{ *rp~5
 %-&~4
  sQ 
%5
 (R 
*( *s } (S 
( s }% *  0     s ( { { o o  
,
( o +c{ { o o  

+0on  
tB ( o
 o
 o
 s o &ok  
-u@  ,oj  
sT 
( s	 
( *      E <     6( oU 
*(V 
*2( oW 
*R( oX 
(Y 
*0        ( o  
oZ 
o[ 
( o  
ob 
o\ 
( o  
oZ 
o] 
( o  
o 
o^ 
o_ 
( o  
o 
o^ 
o` 
( o  
oa 
ob 
( o  
oc 
o 
( sd 
o +&*  0 V    ( (/ %-&+{' %-&{ %-&sB 
{ ( of 
o
 
o s	 
( *(g 
( oh 
&(i 
( *   0 C     oj 

(  ~ 
(k 
,*ol 
,( oH 
om 
on 
*~ 
* 0    	   (o 
,s 
*~ 
* 0     (g 
( 
ol 
,om 
($ +?op 
,oq 
(# +(or 
, os 
s\ 
(# 
,oj  
( o  
o  
o  
(t 
( *     P 
Z 
    0 .    ou 
(  
ov 
s\ 
(# 
,oj  
*      
# 
    ~ 
( 
,( o +ox 
(% ( oy 
&*Z(% ( oz 
&*( o  
ob 
~ 
(k 
o{ 
*0     rkpo 
( 

( oU 
-rps| 
zo} 
~6
 %-&~4
  s~ 
%6
 ( +(  +,o 
( (' 
	,	*o} 
r-p(  +,( *( * 0 |    s 
}7
 r	p(Y 
-2rp(Y 
-Vrp(Y 
:   r)p(Y 
:   8  {7
 (o 
9   ( ( oH 
o 8   ( oH 
o 
{7
 o 

	-(  s 
(  +
	9   	( 8   ( oH 
o 
{7
 o 
-(  s 
(  +,O( +E( oH 
o 
{7
 o 
-(  s 
(  +,( ,$s 
oG 
o 
r5po 
**n( ,( o 
(  *0     (g 
(+ 
s  
( o 
jo 
    ox  
s 
sB 
s ( o  
oc 
o 
	} 	s o ( o 
,oj  
*    x 
    0     (g 
( 
~ 
( 
,(+ 
ol 
,( om 
o 
*or 
,3s  
( o 
jo 
(  
o 
$,oj  
op 
,( oq 
o 
*    K #n 
    0 =    ( o  
o  
o 

( o  
o  
o  
~ 
(k 
-**:s@ (- *0 -    s 
}8
 ( {8
  s 
o 
&*   0    A  (  o 
&*0    A  ( ,(  o 
-**0 v       } sG (  ( ( 1 s
 
o 
( o  
oc 
{ o 
( o 
,o 
*o 
( -o 
*f(
 
o 
(?
 ( *s  *Z( oH 
oI 
o  
*( o 
( oH 
oI 
o  
o 
( 
*rp*   0     ~ 

( ,.s  

( 	o 
	jo 
	(  
O	,	oj  
s 
( ( oH 
( s ( oH 
( s 
o 
    ox  
s 
o 
(: *      1 
    o 
*o 
*0    sG (  ( ( ( o 
rIpo 
o ( ,	(" +Ds 
( ( oH 
( s ( oH 
s 
ov 
o 
( o 
(; ( (/ 
,O( o  
o 
o 
{' { o o
 o 
( o  
o 
{' { o 
( o  
ob 
oc 
( *   0 ?   rp( o o 
rp(   ox  
o 
rp(  
( 
o 
rp( o  
o  
o  
o 
rp( o  
o  
o  

   ox  
o 
rIp( o o 
s 

( o 
8F  o 
s 
rp( 
{' { o& 
rp( 
{' { h o& 
r	p( 
{' { (O o& 
rp( 
{' { (M o& 
rp( 
{' { (Q o& 
rp( 
{' { ( o& 
r%p( 
{' { ( o& 
r+p( 
oB o& 
r7p( 
oD o& 
( 
  ox  
o& 
ok  
:,oj  
rEp( 
o 
* A        Y           0 K   rpo 
( ( rpo 
( 
( rEpo 
(h  +
( o  
o  
rpo 
o  
( o  
o  
rpo 
( 
s 
o  
rpo 
( 
( 
of	 
op  
8{  on  
s 
o 
t  r	po 
t  rpo 
t  rpo 
t  rpo 
t  r%po 
t  	sB 

rpo 
h } 
rpo 
t2 } 
(P } 
(N } 
(R } 
-s +( } 
	-s +	( } 	
s@ }9
 	{9
 r+po 
t2 oC 	{9
 r7po 
t2 oE ( t2 ( 
	{9
 	 s 
o 
&ok  
:zu@  ,oj  
* A          6         {( *"}( *{) *"}) *(t  
}' s 
(= sQ	 
(? (A *(< o 
(< oT	 
&(> o 
*FrUp(< ( +*0 ;    2 %rUpo 

+(< ( 
oT	 
&Xi2* 0 H   E  sA 

s 
(> ~;
 %-&~:
  s 
%;
 ( +( +( +ox  
*0 Q       ( +~<
 %-&~:
  s	 
%<
 ~=
 %-&~:
  s	 
%=
 ( +(? *(t  
*2( 
( 
*J-sI *sJ *"( 
*&( 
*.( 
sL *:(	 
(N *B( 
(N *v( 
o 
( 
rYpo 
*
**{- *"}- *2( 
sL *:( 
sM *s 
*N( 
( 
oc 
*0     ( 

ot 
o 
*F(Q -( 
*&(o **
*0    	 (T s? 

(U ] ( o@ 
(U ] ( o 
(U ] (6  +8   o 
t  
(T sA 
	] (@  +	] (@  +	] (@  +o 
(\ o (T ( o 
(G o 
( o 
Xo 
?h(T om 
oC 
*   0 d       (R o {' { ok 
o 
-A(R o {' { ok 
o 
- (R o {' { ok 
o 
**
*&(o **
*
* 0 c  
 (T (U ] ( sJ 
sK 

(U ] ( oL 
(U ] (6  +8   o 
t  
] ( 	o 
9   (T s 
	] (@  +	] (@  +	] (@  +	] ( o 
o 
(\ o (T ( o 
(G o 
( o 
+8sM 
			] ( o 
		] ( o 
	o 
Xo 
?(T o 
oO 
*&(
 
**
*0     o >   s 
o t2 }>
 (T o 
{>
 o 
/s(  s 
(  +,Y(T o
 
o 
,Do 
(T o
 

(T o 
(T o 
	o
 
(T o 
o
 
o 
(Q o o o 
*n(R o {' { o 
* 0 K       (Q o o o (: 
(G 
(Q o 
( 
-o +o YoJ
 
*&(
 
**
*0     o t	 
o 
(! 
( 
o 
(! 
(Q o o 

o o (: 
(Q oz 
	o{ 
o 
,(Q o 
&~ 
( 
,~ 
( 
,(Q o 
oF 
o 
(: 
(> 
-		(| 

+*  0 d       (R o {' { ok 
o 
-A(R o {' { ok 
o 
- (R o {' { ok 
o 
**0 K       (Q o o o (: 
(G 
(Q o 
( 
-o +o YoJ
 
*&(
 
**
*0   
 s 
o t2 }?
 (T o 
{?
 o
 
/u(  s 
(  +
	,[	(T o
 
	o 
,F	o 
(T o
 
(T o 
(T o 
o
 
(T o 
o
 
o 
(Q o o oq
 
oP
 
oQ
 
+!(Q oz 
o{ 
o 
(| 
oR
 
oQ
 
( 
-*n(R o {' { o 
*0 K       (Q o o o (: 
(G 
(Q o 
( 
-o +o YoJ
 
*&(
 
**
*0 *    s 
(Q o o o (	 
o +*n(R o {' { o 
*  0 K       (Q o o o (: 
(G 
(Q o 
( 
-o +o YoJ
 
*&(
 
**
*0 m    s' 

o t  (R o o (T ( 
(  
o 
(	 
s 
(Q o o 	s 
o +*n(R o {' { o 
*   0 K       (Q o o o (: 
(G 
(Q o 
( 
-o +o YoJ
 
*&( 
**
*0 )    ~. o 

(Q (\ o o 
s *n(R o {' { o 
*   0       s 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%	~A
  s 
o 
%
~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
%~A
  s 
o 
. *:( }/ *F{/ ,`*f_*2o 
o 
*Zo 
o( 
oI 
o 
*0 <    o 
o 

o 
o 
o o 
o 
o 
o 
o 
*0 ]    o 
o 

o 
o 
o( 
oI 
o 
o o 
o 
o 
o 
%( 
o 
&o 
*
*( 
*( 
*&( 
**
*   0 T    s 
~C
 %-&~B
  s
 
%C
 o 
~D
 %-&~B
  s
 
%D
 o 
*0 "    ~0  o 
-s 
z(Q o
 
*.( 0 *"( 
* 0 j    .rgp6 (H 
( 
oq
 
oP
 
o 

( 
ox 
o 
u ,
t o 
*t o 
o 
o 
*"( 
* 0    .rgp6 (H 
( 
oq
 
oP
 
o 

( 
ox 
o 
o 
( 
"  B[o 
( 
"  B[
u ,t 	( 
*t o 
t o 
( 
os 
o 
( 
(P 
kZl( 
i( 
(
 
(Q 
k	Zl( 
i( 
(
 
t o 
(Q 
o 
t o 
(P 
o 
*&( 
**
*  0 "    ~1  o 
-s 
z(T o 
*s 
%~E
  s 
o 
%~E
  s 
o 
1 *&( 
**
*   0 )    ~2 o 

(T (\ o o 
s *   0       s 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
   s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
  s 
o 
%	~G
 	 s 
o 
%
~G
 
 s 
o 
%~G
  s 
o 
%~G
  s 
o 
%~G
 
 s 
o 
2 *&( 
**
*0     ~3 o 

(T s *   0 a      s 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%	s o 
%
s o 
%s o 
%s o 
%
s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s  o 
%s o 
%s o 
%s o 
%s o 
%s o 
3 *&( 
**
*  0 "    ~4  o 
-s 
z(T o 
*  0 R      s 
%~I
 4 s 
o 
%~I
 5 s 
o 
%~I
 6 s 
o 
%~I
 7 s 
o 
%~I
 8 s 
o 
%
~I
 9 s 
o 
%~I
 : s 
o 
%
~I
 ; s 
o 
%~I
 < s 
o 
%~I
 = s 
o 
%~I
 > s 
o 
%~I
 ? s 
o 
%~I
 @ s 
o 
%	~I
 A s 
o 
4 *&(
 
**
* 0 *    o  sB 
(Q o o o 
*n(R o {' { o 
*  0 K       (Q o o o (: 
(G 
(Q o 
( 
-o +o YoJ
 
*&( 
**
*0     ~5 o 

(Q sF *n(R o {' { o 
*   0 n      s 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%	s o 
%
s o 
%s o 
%s o 
%
s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s o 
%s  o 
%s o 
%s o 
%s o 
%s o 
%s o 
5 *&( 
**
* 0    s 


~L
 %-&~K
 N s 
%L
 o 
~M
 %-&~K
 O s 
%M
 o 
~N
 %-&~K
 P s 
%N
 o 
~O
 %-&~K
 Q s 
%O
 o 
~P
 %-&~K
 R s 
%P
 o 
~Q
 %-&~K
 S s 
%Q
 o 
~R
 %-&~K
 T s 
%R
 o 
~S
 %-&~K
 U s 
%S
 o 
~T
 %-&~K
 V s 
%T
 o 
~U
 %-&~K
 W s 
%U
 o 
~V
 %-&~K
 X s 
%V
 o 
	~W
 %-&~K
 Y s 
%W
 o 
~X
 %-&~K
 Z s 
%X
 o 

~Y
 %-&~K
 [ s 
%Y
 o 
~Z
 %-&~K
 \ s 
%Z
 o 
~[
 %-&~K
 ] s 
%[
 o 
~\
 %-&~K
 ^ s 
%\
 o 
~]
 %-&~K
 _ s 
%]
 o 
*   0 "    ~6  o 
-s 
z(T o 
*n(R o {' { o
 
*.( 6 *"( 
* 0     ( 
o 
o 

o 
*0     o 

o 
*2( 
o 
*"( 
 
*s
 
*"( 
 
*0 &       o\ 
o
 
o\ 
oq 
o\ 
o
 
*           
*"(
 
*0 &       o\ 
o
 
o\ 
oo 
o\ 
o
 
*           
*"(
 
*0 1       oP 
o
 
oP 
(
 
o
 
oi 
oP 
o	
 
*       $     
*"(
 
*0 1       oP 
o
 
oP 
(
 
o
 
of 
oP 
o	
 
*       $     
*"(
 
*0 1       oP 
o
 
oP 
(
 
o
 
oh 
oP 
o	
 
*       $     
*"(
 
*0 1       oP 
o
 
oP 
(
 
o
 
og 
oP 
o	
 
*       $     
*"(
 
*0 1       oP 
o
 
oP 
(
 
o
 
os 
oP 
o	
 
*       $     
*"(
 
*0 1       oP 
o
 
oP 
(
 
o
 
ot 
oP 
o	
 
*       $     
*"(
 
*0 1       oY 
o

 
oY 
(
 
o
 
on 
oY 
o
 
*       $     
*"(
 
*0 1       oY 
o

 
oY 
(
 
o
 
om 
oY 
o
 
*       $     
*"(
 
*0 &       oY 
o

 
oY 
ou 
oY 
o
 
*           
*"(
 
*0 &       oc 
o

 
oc 
ov 
oc 
o
 
*           
*"( 
 
*0 &       oc 
o

 
oc 
ow 
oc 
o
 
*           
*"(
 
*0 &       oU 
o
 
oU 
oj 
oU 
o
 
*           
*"(
 
*0 1       oU 
o
 
oU 
(
 
o
 
ok 
oU 
o
 
*       $     
*"( 
 
*0 &       oU 
o
 
oU 
or 
oU 
o
 
*           
*"(
 
*0 &       oU 
o
 
oU 
ol 
oU 
o
 
*           2t	 ( *
*&(
 
**b(Q o o oJ
 
*
*  0     o t2 ( 
o 
o .rip(H 
(Q om 
(Q o o oO
 

o oP
 
o 
+N(Q ox 
o 
+!o 
X	%X
o 
o
 
Xo 
2(? 
oR
 
o 
(
 
-*{7 *"}7 *{8 *"}8 *J( ( o/ *{9 *"}9 *r(t  
( ( ( *   0 -   rsa po 

ra po 
,ra po 
( ++( -"s 
%(  
6 o 
(
 * ( +
s
 
	ok 
+Bon  
t  ,( o
 
-"( -r=ps 
zo
 
ok  
-u@  ,oj  
~_
 %-&~^
 b s
 
%_
 o
 
( 	%&s 
%(  
6 o 
(
 	 	*      n O       X %  0 G   s 

( o of 
o
 
o 
o
 
8  o
 

	oa ,!( {' { ,(   ( o ( ( 
,	oY (E
 
( 
_,_	oY ( 
-  +(E
 
Ys 
(E
 
.( e  X( ( o 	oa ,( o ( o 
( 	( 	od o 
&   &,(    &,	(    &,(    &,(    &,( ݫ   &,
( ݕ   &,( ݀   &,( n&,
( [( 	( ( -( o
 
(?
 ,( "ok  
:
,oj  
( ** A     4      1          4      F          4      \          4      q          4                4                4                4                4                4        9        (   	  1  
       s 
%6 6 o 
%6 o 
(
 *0 4     s 

o 
o 
o 
o 
( 
s
 
*0 B   ! sc 
}a
 s 
}`
 ( o  
{`
 d s 
( 
( *  0        ( 
tO ( ( ,s( o
 ( o 
( o o  
o 
( oc	 o(
 o 
( o o  
o8 
o9 
,( o oH 
o
 
*{: *"}: *{; *"}; *{< *"}< *o 
6 sl 
( o 
6 ( o 
( *(t  
*{= *"}= *v( o 
6 ( *( *{> *"}> *{? *"}? *{@ *"}@ *{A *"}A * 0 G       o 
6 ( o 
6 (  o 
6 (" o 
($ *(t  
*{B *"}B *v(% o 
6 (( *(& *{C *"}C *{D *"}D *o 
(! 
s
 
(, o 
(. *(t  
*{E *"}E *No 
t2 (2 *(t  
*{F *"}F *{G *"}G *(3 o 
6 (6 o 
6 (8 *(4 *{H *"}H *{I *"}I *{J *"}J *o 
(! 
sl 
(< o 
6 (> o 
(@ *(t  
*{K *"}K *{L *"}L * 0 l       (A o 
u	 ,Ao 
t	 ( +~c
 %-&~b
 g s
 
%c
 ( +( +(F *o 
6 (D *(B *{M *"}M *{N *"}N *{O *"}O *{P *"}P *0 I       o 
(! 
sl 
(J o 
6 (L o 
6 (N o 
(P *(t  
*{Q *"}Q *v(Q o 
6 (T *(R *{R *"}R *{S *"}S *{T *"}T *{U *"}U *{V *"}V *   0 [       o 
(! 
sl 
(X o 
6 (Z o 
6 (\ o 
6 (^ o 
(` *(t  
*{W *"}W *{X *"}X *   0 l       (a o 
u	 ,Ao 
t	 ( +~e
 %-&~d
 j s
 
%e
 ( +( +(f *o 
6 (d *(b *{Y *"}Y *{Z *"}Z *o 
(! 
sl 
(j o 
(l *(t  
*&(o **
*
*(T o 
(U \ ( s 
o
 
**(b **
*  0 s  " (R o -rups 
z(R o (U = ( oR
 s 

(U = (@  +oe	 
s
 
o 

+	on  
T o 
 
	ok  
-	u@  ,oj  
~g
 %-&~f
 m s!
 
%g
 o"
 
o#
 
+m($
 
( 
t  > (@  +	> ( +

.
.+,( 
	(x o 
+( 
	(y o 
(%
 
- oj  
= (Q o 
(o  += (  +*    d !       z@    0   # ? (6  +
s&
 
ok 
+hon  
t  @ ( @ ( @ ( 	
(l 

	Ys'
 
s(
 
o)
 
ok  
-u@  

,
oj  
? ( s*
 

(R o 	o	 oJ 
s z	o+
 
9   	o,
 
u  ,9(\ o o
 
( (R o (T 	o-
 
(2 +u	o,
 
u2 -
	o,
 
ox  
s 
A ( +?(T o.
 
	o/
 
o0
 
s 
A -rM p+ox  
( *      u           0    $ s 

? ( (R o o oH 
tT oR o1
 

	(R o oZ
 o2
 
		o3
 
o4
 
oR A -rM p+ox  
( *   0   % o o oH 
(b w ( 
w ( w ( w ( 
(U 	o5
 
-+(U w ( (O { -|(Q (U o5
 
-+(U o 
6 (U o5
 
-    +(U o 
6 (U o5
 
-    +(U o 
6 s +(Q     s op 
*
*
**&(o **(Q (U < ( sl 
(U < ( sl 
o
 
*
*0 E  & (U < ( 
(Q o 
(Q Ysl 
( 
o 
sa
 
( +
	/rps 
z	o 
(U < ( o5
 
,(Q o 
o6
 
*(Q o 
o 
oz 
-(s 
~  
o7
 
(Q o 
o8
 
&(Q o 
o 
o{ 
(U < ( o 
(U < ( o 
(U < ( o 
(U < ( o 
**(b *0 B  ' o 96  (R o 
o (R o ;   (R o o/ (R o (R o o- (R o o. (R o o< (R o o (R o o oH 
(R o (R o o s (P ([ oA o ,!(O { {	  s9
 
o  (  o (  (\ o  
  ox  
(  (\ o
 (  
,~  
+(\ o
 (:
 
(  (T o 
(o  + (T o;
 
(o  + (\ o  
(  (\ o
 
o<
 
(  
(  (\ o    o=
 
(o  +o ,8(\ o -
 (  (T (O ( (  +*(R o (R o o/ {' { *
*N(O { o$ &*&(o **(Q (U < ( sl 
(U < ( sl 
o
 
*
*  0    ( (U < ( 
(U < ( (U < ( (Q s>
 

	(Q sl 
( 
o 
o?
 
	(Q sl 
( 
o 
o@
 
	(Q Ysl 
( 
o 
oA
 
	oB
 
	oC
 
*&(o *
*  0 ]   	  | ( 
,| (B 

+@(R o o> | (B 
 o 
-(T (R o o ( 
*   0 0   ) J (@  +( 
(\ o (T ( o *n(R o {' { oD
 
*&( **  0    * (U J (@  +( 
(U ( { k"  B[{ k"  B[s (T o 
( 

(P 
k{ Zl( 
i( 
(
 
(Q 
k{ Zl( 
i( 
(
 
(Q ( 	oE
 
&*N(Q ( oJ
 
*^(U J ( sl 
*&(o **
* 0 /    (Q ( oF
 

( ( ( ( *n(R o {' { o
 
* 0 8     (U c ( 
(U c ( s 
oG
 
o 
*0    + sn 
(U c ( }h
 {h
 9   (T o 
{h
 o
 
/s( o s 
(  +,Y(T o
 
o 
,Do 
(T o
 

(T o 
(T o 
o
 
(T o 
	o
 
o 
o 
* 0    %  c ( 
(U o 
,o 
(U o 
t  ( *c ( (U o 
,1o 
(T o 
o 
(U o 
6 o 
oH
 
* 0 d   , (U c (6  +
s
 
ok 
+on  
t  
	(  o
 
ok  
-u@  ,oj  
s
 
o
 
*    $C     N(Q ( oJ
 
*^(U c ( sl 
*&(o **
*   0 8   - ( 
(T oI
 
(T o  
(T o 
o 
( *n(R o {' { o
 
*0 (   e  (U m ( o 
u  
-*( *0 /   . (T ( o  

(T (T o 
o 
o
 
*^(U m ( sl 
*&(o **
*0    / (U 3 ( 
(  
,*( (U 3 (7  +3>o 
(U 3 ( .rp(  
s 
z(Q ( oJ
 
*3!(Q ( 

(Q 	oQ
 
oK
 
*3(Q ( oL
 
&*3(Q ( oM
 
&*3(Q ( oN
 
&*r=ps 
zN(Q ( oJ
 
*^(U 3 ( sl 
*0    0 sp 
(Q ( 
(Q sO
 
oP
 
oQ
 
oQ
 
oR
 
( (U 3 ( }i
 (T o 
{i
 o 

	/z( q s 
(  +,^(T o
 

o 
,Go 
(T o
 
(T o 
(T o 
o
 
(T o 
	o
 
o 
	oS
 
*0    1 (U 3 ( o 
u  
,o 
(\ o (T ( *3 ( (U o 
,B(U o 
  ( 
,'o 
(T o 
o 
(B 
o 
oT
 
*fo o oH 
(b **
* 0 :  2 
8!  su (U  (  
o 
t  ( { -{ +{ }l
 
sU
 
{l
 oV
 
:   {l
 (W
 
}l
 ~[ v s~ 
( +-rgps 
z( 
sX
 
	{l
 ~k
 %-&~j
 t sY
 
%k
 ( 
	(Z
 
o[
 
(\
 


-+
(G (R o o (T o o 

o 
s | ( 
,C(R o o> | (B 
o 
-!(R o o> | (B 
	o_	 
D(T (R o o ( 
oJ 
s z,o]
 
,o^
 
	s 
} ( } ,} &~ } ( }  6 o (  +X
(U oe	 
?*  AL      T   9    -        T   f                           r2 %r p%rp[ *:(t  
(_
 
*{`
 
*"}`
 
*~o o o oa
 
ob
 
*b(
 
o o oJ
 
*  *:(t  
( *{] *"}] *~o o o o o *b( o o oJ
 
*:(t  
(c
 
*{d
 
*"}d
 
*o o o! o# oe
 
of
 
*
*  *:(t  
( *{_ *"}_ *o o o! o# o' o *
*:(t  
(g
 
*{h
 
*"}h
 
*fo+ o- oi
 
oj
 
*( 
( 
o 
o+ o 
o
 
*  *:(t  
(k
 
*{l
 
*"}l
 
*~o; o= o? om
 
on
 
*  0     (? 
os 
o	 
-*(? 
o; o 

(? 
o 
o= o	 
o  
o 
(? 
oz 
oo
 
o{ 
oF 
(? 
oz 
op
 
o{ 
o 
o
 
*  *:(t  
(q
 
*{r
 
*"}r
 
*o; o= o? os
 
oC ot
 
*b(B 
o; o= ( *  *:(t  
(u
 
*{v
 
*"}v
 
*0 A   3 o? t	 (  +w
 
sx
 
( +( +
o; o= oE oy
 
*b(K 
o; o= ( *  *"oz
 
*:(t  
({
 
*{|
 
*"}|
 
*oI oK oM oO o}
 
o~
 
*b({ 
oI oK ( *  *:(t  
(
 
*{
 
*"}
 
*oI oK oM oO o
 
oS o
 
*b(~ 
oI oK ( *  *:(t  
(
 
*{
 
*"}
 
*oW oY o[ o] o_ o
 
o
 
*( 
oW oY o[ o] ( *  *:(t  
(
 
*{
 
*"}
 
*oW oY o[ o] o_ o
 
oc o
 
*( 
oW oY o[ o] ( *  *:(t  
(
 
*{
 
*"}
 
* 0 M   3 o_ t	 (  +
 
sx
 
( +( +
oW oY o[ o] oe o
 
*( 
oW oY o[ o] ( *  *"o
 
*:(t  
(
 
*{
 
*"}
 
*foi ok o
 
o
 
*N(p
 
oi oJ
 
*  *   0 G       os 
o	 
-*o 
oz 
oo
 
o{ 
oF 
oz 
op
 
o{ 
o 
o
 
* 0 b    os 
o	 
-*o 

o 
o	 
o  
o 
oz 
oo
 
o{ 
oF 
oz 
op
 
o{ 
o 
o
 
*  0 {   4 os 
o	 
-*o 

o 
o	 
o  
o 
o 
o 
o 
o 
oz 
o 
o{ 
oF 
oz 
o 
o{ 
o 
o
 
* 0 _   5 os 
o	 
-*o 
o 
o 
o 

o 
oz 
o 
o{ 
oF 
oz 
o 
o{ 
o 
o
 
* 0 G   6 o 

o	 
o 
o) 
o% (& o 
o" ( 
o 
&*Z,	o# `*o# f_*Ro 
($ o 
*(t  
*  * 0      o
 

o
 
* 0 !   7 os 
o
 

o
 
o +*(( *t  () o
 
o
 
os 
o* 
*(
 
*:(
 
}j *j*~
 
*b{j o o o 
*
*j*~
 
*:( 
"   @Zi*"o 
*
*(
 
*j*~
 
*"o 
*
*(
 
*j*~
 
*"o 
*	*(
 
*@j*~
 
*"o 
**(
 
**!       *~
 
*"o 
**(
 
*    j*~
 
*"o 
**(
 
*    j*~
 
*"o 
**(
 
*j*~
 
*"o 
*
*(
 
* j*~
 
*"o 
**(
 
*    j*~
 
*&o
 
**(0 *    j*Rt  (+ o
 
*~
 
*&o
 
*&*(0 *    j*~
 
*&o
 
**(0 *    j*~
 
*&o
 
**(0 *    j*~
 
*&o
 
**(0 *     j*~
 
*"o 
**(
 
*  @  j*~
 
*"o 
**(
 
*    j*~
 
*"o 
**(
 
*    j*2t  ( *~
 
*"o 
**(
 
*   0 G   8 o9 

o	 
o	 
o
 
o ( o	 
o ( 
o 
&*Z,	o `*o f_*Ro
 
( o	 
*(t  
*  * 0      o
 

o
 
*( *( 
*(
 
*26 ( *(
 
*0    9 t  
s 
rpo 
 o 
rpo 
6 o 
rpo 
6 o 
rpo 
6 o 
rpo 
(
 
o 
rpo 
(
 
o 
*(
 
*
*"o 
*
*(
 
*@*"o 
*	*(
 
*@*"o 
*
*(
 
*
*"o 
*
*(
 
* *"o 
*
*( * *"o 
*
*(
 
*
*"o 
*
*(
 
*
*"o 
*
*(
 
**"o 
*
*(
 
*    *"o 
*
*(
 
*    *"o 
**(
 
*    *"o 
**(
 
*    *"o 
*
*(
 
*    *"o 
**(
 
*    *"o 
**(
 
*     *"o 
**(
 
*  @  *"o 
**(
 
*    *"o 
**(
 
*    *"o 
**(
 
*    *:t  (+ *>o
 
o
 
**(
 
*    *"o 
**(
 
*    *"o 
**( *    *"o 
**( *    *"o 
**( *     *"o 
**( *   @ *"o 
**(
 
*    *"o 
**(
 
*    *"o 
**(
 
*&(
 
*0 k   : o u  (  
(Q o o 
o o (: 
(Q oz 
o{ 

	o (| 
	o 
(: 
(> 
,*n(R o {' { o
 
*b(Q o o oJ
 
*&( **
*   0 *   ; o 
o
 

o
 
-o 
&o 
o 
*&( **
* 0 g   < o
 

o
 
,Vo 
o
 
o
 
o
 
o
 
o
 
,"o	 
o	 
o	 
s	 
o 
&o 
o 
*&( **   0   = 
8  (U  (  
o 
t  J ( (l 
(Q oq
 
oP
 
o 

(Q ox 
	o 
J (@  +( (Q oO
 
(T oT
 
(Q oP
 
o 
oR
 
o 
oP
 
o 
(U
 
XoV
 
&( (T o 
( 
(P 
{ d(
 
( 
(
 
(Q 
{ d(
 
( 
(
 
u ,(Q oE
 
&+e(Q s 
		o 
o 
o 
	o 
o 
(Q 	o
 


o 
(Q 
o 

o 
(P 
o 
X
(U oe	 
?N*  0 Q   > 
+=(U  (  
o 
t  (Q J ( sl 
oJ
 
-*X
(U oe	 
2*{k *"}k *f(& ,(& oQ 
**(& ,(& oc	 o"
 o 
**:(A }k *:(t  
(- *{v *"}v *{u -s 
}u (, {u (
 
&{u *R(, rpo 
*>(1 (  
*2r p(> *F(. r po
 
*2r p(? *>(5 (  
*2ra p(> *>(7 (  
*2r p(> *>(9 (  
*2r p(> *>(; (  
*2r) p(> *>(= (  
*2r5 p(> *Jrp(  
(? *(. o
 
-*(. o
 
t2 *{} *:(t  
}} * 0   ? sz 
}o
 ~  
r? ps 
{o
 o	 
,G{o
 o
 
o
 
r po
 
o
 
( 
s\ 

(@ 	o$
   	,	oj  
{o
 (
 
-[(/ 
o
 
o
 
s
 
rM po
 
(
 
o
 
o
 
{o
 (
 
o
 
o
 
o
 
}o
  ~[ { s~ 
( +-rgps 
z( 
sX
 
{o
 ~n
 %-&~m
 y sY
 
%n
 ( 
(Z
 
o[
 
(\
 
,(@ oG o$
 +T&T& 0  (i
 T * (   W i 
       n,    t  0 +   @ 
o
 
(D -
,o
 
(E -
*
*
*^(t  
,( 
}~ *{~ *   0    A s
 

s
 
(
 
o
 
s
 
o
 

	-`+;(
 
(
 
	o
 
,--o
 
X   2( 

,oj  
*    m 
    6{ o
 
*N  ( 
  *R    ( 
* 0 =   B ( 
{ ~q
 %-&~p
 ~ s
 
%q
 ( +( +
(a 
*Js
 
} (
 
*(t  
*{ (  
o { { o 
*(t  
*{ (  
o { { o 
*(t  
*{ (  
o { { (  
o+ o 
*.sV  *(t  
*o
 
*o
 
*Jo< o* *Jo< o, *Jo< o. *Jo< o0 *Jo< o2 *Jo< o4 *Jo< o6 *Jo< o8 *Jo< o: *Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= o_ 
*Jo= oa 
*Jo= oa 
*Jo= oa 
*Jo= oa 
*Jo= o^ 
*Jo= ob 
*Jo= oc 
*^o= ok 
ol 
*^o= ok 
om 
*^o= ok 
on 
*Jo= od 
*Jo= od 
*Jo= od 
*Jo= od 
*Jo= od 
*Jo= od 
*Jo= od 
*Jo= od 
*Jo= oh 
*Jo= oh 
*Jo= oh 
*Jo= oh 
*Jo= oh 
*Jo= oh 
*Jo= oh 
*Jo= oh 
*Jo= oj 
*Jo= oj 
*(t  
*^o  
{ o  
(Y 
*(t  
*^o  
{ o  
(Y 
*(t  
*^{ o 
o 
sP	 *(t  
*0 0   C { { (c	 { s 
{ (
 o *.s  *(t  
*^o
 
o
 
r po
 
&*"s
 *.s  *(t  
**u **uG  *(t  
*^o
 { o
 (Y 
*.s  *(t  
*o *.s  *(t  
*sE 
*.s  *(t  
*s
 
*.s
 

 
*(t  
*.( +  *.s  *(t  
*r po 
o 
o 
rM po 
*zr2 po 
o 
rM po 
*(t  
*zr po 
{ o 
o 
&*.s  *(t  
*2rf po 
*.s  *(t  
*r po 
rM po 
o 
o 
*zrf po 
rM po 
o 
*zr po 
rM po 
o 
*zr po 
rM po 
o 
*r po 
rM po 
r!poC 
o 
*(t  
*z{ o
 
{ 6 o
 
*.s  *(t  
*r po 
rM po 
o 
o 
*r po 
rM po 
o 
o 
*rN po 
rM po 
o 
o 
*r po 
rM po 
o 
o 
*r po 
rM po 
o 
o 
*r po 
rM po 
o 
o 
*zrh po 
rM po 
o 
*zrN po 
rM po 
o 
*0 C       rV!po 
rM po 
o 
rv!poC 
o 
o 
o
 
o
 
*r, po 
rM po 
o 
o
 
o
 
r> poC 
*.s  *(t  
*
*
*6( 
o *(t  
*^{ o -{ **{ *.s  *(t  
*s
 
*s 
*(t  
*z  o 
o 
{  
o 
*(t  
*B(e 
{h 
*.s  *(t  
*( *(t  
*6{ (9 *6{ (< *6{ (9 *.s  *(t  
*(? *2ou 
ov 
*(C *o 
*o 
*( *(t  
*{ { { { { ( *(t  
*{ { (: 
oF 
(> 
,{ { (: 
o 
( 
**(t  
*  0    D 
u ,u o 

u ,%u o 
oC 
-o 
t o 

,r{ oL 
o 
o 
{ o 
{ oL 
o 
o 
{ o 
6 o 
-!{ o 
6 o 
6 o 
*(t  
*^oF 
{ sl 
( 
*.s  *(t  
*sl *sl *se *s! *s *s *s *s *s *s *s *s *(t  
*{ { { { { { ( *(t  
*Jo2 
{ (Y 
*(t  
*f{ { { ( *(t  
*Jo2 
{ (Y 
*Jo2 
{ (Y 
*(t  
*Jo2 
{ (Y 
*Jo2 
{ (Y 
*Jo2 
{ (Y 
*(t  
*Jo 
{ (Y 
*Jo 
{ (Y 
*(t  
*Jo 
{ (Y 
*Jo 
{ (Y 
*Jo 
{ (Y 
*.s  *(t  
*( *(t  
*J{ o ( *v{ o { { ( *6{ ( *(t  
*^o { o 
(Y 
*^o { o 
(Y 
*(t  
*Jo 
{ (Y 
*Jo 
{ (Y 
*(t  
*Jo 
{ 
 (Y 
*Jo 
{ 
 (Y 
*(t  
*Jo 
{
 (Y 
*Jo 
{
 (Y 
*Jo 
{
 (Y 
*Jo 
{
 (Y 
*(t  
*B(]	 
{
 *.s0 
 *(t  
*"(]	 
*"(]	 
*"(]	 
*"(]	 
*(% 
*{
 *"}
 *:( 
(7 *  0       ( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +( +(J  +( +r. p(J  +( +( +( +( +( +( +( +( +( +( +( +r p([  +( +r p( +( +r p( +( +( +( +( +( +( +( +( +( +( +( + %: s	 
( + %; s
 
( +( +( +r] p( +( +( +( +~s
 %-&~r
  s 
%s
 ( +*"o
 
*0        (6 o o 
o 
o 
o 
o 
o 
o 
o 
(6 o 
o 
o 
r!po 
o 
o 
o 
 ,  (  
o 
o 
o 
o 
o 
*.s= 

 *(t  
*   0    E sA 
s 
s o s }
 ~ + {
 { o$ &Xi26 ( B s 
(  +o 
6 ( C s 
(  +o 
6 ( D s 
(  +o 
6 {
 o o 
s 
%o 
%o 

	( 
*(t  
*{
 *(t  
*J{
 o ( *v{
 o {
 { ( *6{
 ( *.sF 
 *(t  
* 0 I   E  sA 

(J o	 
&(I o	 
&(K o	 
&(L o	 
&(M o	 
&ox  
*f(t  
} 
( 
} 
* 0 *   	  { 

.3
 ( 
} 
} 
*           0    F { 
{D
 
,.q
ݗ   } 
(U  (6  +
	ok 
} 
} 
+C{ 
on  
t	 ( +  o } 
} 

-} 
{ 
ok  
-( 
} 

( 
*             0    G } 
{ 
u@  
,oj  
*{ 
*s 
z2{ 
  *   0 7   H { 
3{ 
( 
3} 

+sC
 

{D
 
}D
 
*( 
*.sR 
 *(t  
*Fo 
s
 
(
 
**2o 
o 
*.sW 
 *(t  
*s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *.sk 
 *(t  
*s *s *s *(t  
*0        {
 (R o {
 (\ o 
o	 o 
,{
 (\ o 
*{
 o  
~ 
(k 
,Y{
 o 
,L{
 (\ o 
{
 (\ o {
 o  
{
 o  
o 
{
 (\ o 
*(t  
*"} 
 *.st !
 *(t  
*sk *sm *so *.sy "
 *(t  
*sv *sx *sz *s| *s~ *.s #
 *(t  
*s *s *(t  
*Jo 
{$
 (Y 
*(t  
*Jo2 
{%
 (Y 
*.s &
 *(t  
*s *s *s *s *s *s *s *s *.s '
 *(t  
*s *s *s *s' *s$ *s* *s! *s *s *s *s *.s (
 *(t  
*sA *sD *sG *sJ *sM *sP *(t  
*f{)
 {*
 {+
 ( *(t  
*f{,
 {-
 {.
 ( *.s /
 *(t  
*sF %( 
}* %( 
}+ *{* *{+ *(t  
*^o
 {3
 oF 
(Y 
*^o
 {3
 oF 
(Y 
*.s 4
 *(t  
*Js 
sB s *2r	po  
*(t  
*Jo 
{7
 (Y 
*Jo 
{7
 (Y 
*Jo2 
{7
 (Y 
*(t  
*{8
 *(t  
*{9
 *.s :
 *(t  
*sF %( 
}* %( 
}+ *{* *{+ *(t  
*Jo 
{>
 (Y 
*(t  
*Jo 
{?
 (Y 
*ro 
o 
o 
o 
s 
*o 
o( 
o 
o 
o( 
oI 
o 
s 
*   0 0    o 
o 

o 
o 
o 
o 
o 
o 
*0 G    o 
o 

o 
o 
o 
o 
o 
o 
%( 
o 
&o 
*(  
*>( ( *{@
 *"}@
 *0 d       -rgp6 (H 
~! 
( 
,r!p
 (H 
( ( o' ( s ( o# o +*0 K       ( o o o (: 
(G 
( o 
( 
-o +o YoJ
 
*.s A
 *(t  
*s1 *s; *s@ *sE *s^ *sc *sJ *sT *sY *s *s *s *s *sh *sn *ss *sx *s} *sO *.s B
 *(t  
*s *s *"(" 
*  0 ,   I (# 
o 
s 
o 
oG 
oI 

o$ 
*"(% 
*"o& 
*"(' 
*"o( 
*.s E
 *(t  
*s *s *>( ( *{F
 *"}F
 *   0    J ,>( om 
sJ 
o) 
o< 
o> 

( o 
o! o* 
*( o 
s 
o 
oG 
oI 
t ( o 
o! o* 
*.s G
 *(t  
*s1 *s; *s@ *sE *s^ *sc *sJ *sT *sY *sh *sn *ss *sx *s} *s *s *s *s *sO *>( ( *{H
 *"}H
 * 0    J ,>( om 
sJ 
o) 
o< 
o> 

( o 
o o+ 
*( o 
s 
o 
oG 
oI 
t ( o 
o o+ 
*"(, 
*"o 
*"(- 
*"o 
*"(. 
*"o 
*"(/ 
*"o 
*"(- 
*"o 
*"(0 
*"o 
*"(0 
*"o 
*"(0 
*"o 
*"(0 
*"o 
*"(1 
*"o 
*(2 
*"(0 
*"o 
*"(- 
*"o 
*"(- 
*"o 
*"(0 
*"o 
*"(" 
*   0 X   K ,$(# 
om 
sJ 
o) 
o< 
o> 

+"(# 
o 
s 
o 
oG 
oI 

o3 
o4 
*.s3 I
 *(t  
*s *s *s *s *s *s *s *s  *s" *s$ *s' *s) *s+ *s- *"(5 
*Fo 
o 
o 
* 0 m   L o 
o9 

o	 
o 
o 
o 
oE o	 
o6 
o7 
o 
o8 
o9 
o: 
o 
( 
o 
&o
 
*(; 
*>( (H *{J
 *"}J
 *  0    M -rgp6 (H 
~! 
( 
,r!p
 (H 
( oq
 

oP
 
oQ
 
+!( oz 
o{ 
(J (| 
oR
 
oQ
 
( 
-*n(G o 
o o
 
*   0 K       ( o o o (: 
(G 
( o 
( 
-o +o YoJ
 
*.sM K
 *(t  
*s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *s *.sa ^
 *(t  
*^(< 
oW oW o= 
*(t  
*v{`
 {a
 ( {' s *.sf b
 *(t  
**.si d
 *(t  
**.sl f
 *(t  
*( 
t2 ( 
( 
t2 ( 
Y*(t  
*Jo 
{h
 (Y 
*(t  
*Jo 
{i
 (Y 
*.ss j
 *(t  
*"sF *(t  
*J{l
 o 
o 
*.sx m
 *(t  
*"sF *(t  
*J{o
 o 
o 
*.s} p
 *(t  
*oI *.s r
 *(t  
*s> 
*BSJB         v4.0.30319     l   dp #~  p  #Strings     ! #US  	    #GUID    	 g #Blob        W+	   3        m  s
      Q   >  
  N	     M          	  P  q              .   ~   H     !     4       *    g    e      #        %  p    p    T    T  =  T  L    9  T    T  |  T    T    T    dA  Z       
   *  
   *   M  dA    0           " dA    #    #    #    '  B  dA  |  +  
  dA    dA  t> +    S dA    .  O/  0     .  z 0   5  0   ~ 0   6   O? 0   > '    0   ? 0   @ 0   W 0   `? 0   0? 0   y? 0   @ 0   ? 0   ? 0   @ 0   *K 0     1     dA  E  0   T 0   Y 0    /  @  dA    
-    dA  ? 0   %  1     '    .   0    0    0   Ю '   '  $  0     1   n '   '    .  .  .    H      P   
   *    '    .  6 0   խ H   '  J z    z  o: 1   ۮ '  9 0   !8 '  *  .  ] 0   ; 0    0    0    0    0     .    .   .  <  .   0   ë 1    +   .  	 +  * 0     0  
 < *   b       '  F dA 
  *  " 	    dA  6V @   { /    '    0    1    +   '    dA  W 0   8 0   x 0    0    0   v 0   M 0     0    +   +   .  " 1   b dA  a  0  
 6   ڵ  / & r  } &   }   Q  *  0   6 0   6     0   :        4  /  p ],     '  n  .    . 
 #  *  
   *     .    .    .    . 
   *   W  .  @  .    .   0   7 0       0    0    0   & 0   0 0    0   D6  0    0   *E 0    0       t 0   6  
 5    G7 '    0     dA   0    0   V 0     0     dA  . dA  M! dA  R  0   VU   
? 0     g #      #         * b Fv    dA * /  Fv  !  dA  $p O  - +   'r 0   R +  r   "X +  }	 +   +   +    +    +  h +  d  +   +  R +    +  < +   + _&      	 +   + 
     +  Ђ +   Q  F dA  ; +  r + . Y r  ?o RQ   0    0   _ 0   3  0     dA   0     0  
 .  *   c# ' 7q      
 0   ! '    0   &o '   '  "  0    0   R 0     0     0   * 0   > 0    0   Z  A     x  gQ    Q  DI /  \ 
-    
-   
-  p^ 
-  ST 
-  j 
-  o 
-  l 
-    
-  + 
-  & 
-    
-    
-  {  
-  Us 
-    
-    
-    
-  nd 
-  r 0   G 0   i 0    0   it 0   @ 0   J   #- 0   , 0      , 0   Z< 0   S0 0     ' 
 BY  
 5   / 0   j 0   ~@ 0   ' dA 
 f.     0  
 ,   3  z  `  0     0   n> +   7 0   
   h 0     0  & L  & q       : 0   V, 0   < 0   L   dA  r 0     dA    0     1       . 
-  a '  	  ;  y  1   X  
-    
-    
-  |      dA  :  
-    
-  f /   /  _ 
-    
-  W      1  cq      E  
-  a 
-   a 
-   
- &   & xp  & X+  , &  , & X  & Ja , & f  } &  }  ]    q      E 
-  E 
- &   , 2 7  #  jp 
-  a  
-  6& 
-  Y` 
-  p  
-  BN 
-  ; 
-   *    : 
- & }  & p , &   ,   
-  o 
-   
-  k 
-  p 
-   
-  R  
-  2 
-  2 
-  2 
-  1 
-  CX 
-  T 
- . | r    
-  ] 
-  1u 
-  5  
-  Bq 
-  Cq 
-  o 
- &    5 
-  ^V 
-  BY 
-    
-  i  
-   
-  4 
-  & 
-  < 
-   
-   
-    
-  k 
-   
-  
 
-   
-  [X 
-  p 
-    
-  K  
-    
-  m 
-  o 
-    
-  1	 
-   
-   
- & Z G   5 
-  H	 
- _&      . 
-  8 
-  c	 
- _&     6 r  1    
-   
-  J. 
-   
-  \o 
-  d  &  (  K '  e  b-  t     
   *   	  0   9 ' 
  *   W 0   bP ' 
 ; *   5  '  ; z 
   *  &  G   )X z  O '   
-  } 
-  h    *q 
-  d  1   k 
-    
-  1  
-  BK 
-    
-  "6 
-  M  
-  6 
-  + 
-  
a +   "a '  p +   +    
-   
-  L '  q 1   p  
-    
-    
-    
-    
-    
-   0   &W 0   H (  o '    '  ,    )        =   \y     
-     <   \  . J   : Y . . e   : | . : H} . :  . :  . 
   }     1   ! 
-  
  
- _&      1 dA  4  dA  U  '  x  '   '    '  ~ '      >   #R  k (   (   ( &   ,    
-    dA  ^ 
-  6 
-  2 
-    
- _&        
-  D  
- 2 j  Y &  }  ` '    '    dA  X +  YG   : +       KA S    # & 3 P  N  
-    
-  E  
- & Y@ G   ,  
-  l5 
-  1 
-  ~ 
- 
 C 0    dA  b dA & Ӎ  & f   & #    0     1   	 dA  ( dA   '    +  J  dA   0   9  0    0   ڶ  dA    0     0   T /  T  0    0     0   z  0   pX 0   V 0   W 0    Q  w3  Q   Q  H3  Q  _    gQ  c3  gQ   0    0   
 0   ?  0   n  0     dA &  (  V 0   ? 0    '   '  } 0   " '   '      '  	 '   '   '   +  G 1     0       '   <   ' 
 V *    '  F dA   ' &  Q & $3  Q  * 0    + 
 U *  
   *  & d  ,  	 {B   {B  H .    dA  @b dA  b dA   '   '  ԩ '   '   '  i     1   t dA   '  7B dA   '  	 +  D /   ' 6 5  Ã   b   '  Nq '  F '  Z 0  * J Fv *   Fv *   Fv  6   MG     o   +   U  0   ˱ dA 6 #  Ã    1    dA   0    dA   ],   x T    gQ o
3         (  W 
- &   }    
-  l 
-  Fk 
-  k 
-  <l 
-  j 
-  j 
-  pl 
-   
-  Y! 
-  C  & 5  & u  & M   & 3(     
-  4 
- &  n(   
-  6  
- & * '+  & * '+    
- &   G  & x G  &   G    
-   
- &   G   o 
-  hY 
-  %  0    z  7O 0   U- 0   6  0   ;- 0   !  0  
 1Z   u 0   5  0  
 g    yF   H 0  
 E  *      Ƕ  dA   0   +H 0    0     0   H- 0   Z  
-  P 0    dA 
 Kr  
 b.     0   V 0   t 0  
 O   }j 0   j 0    0  
 p   
 Y  
 V     0     0    0    U 0   k  0  & 2      0   s  0  
 k    E  0   # 0    +   ? 0     0     0   W 0   Ni 0    0     0   G 0   kH 0   R 0   R 0     0   H 0   H 0   V 0     0   $_ 0     dA  N` dA  	 dA  9 P  8 P  U 
-  U 
-  U 
-  V 
-  ΍    X 
-  X 
-  W 
-    
-  ]  
- &    &  , &  ,  -I +     dA & Q
 }     & 2  ,  `Y 
- & w   2 w ( 2  #  rV 
-  +U 
-  jW 
-    
-  D  
-  D, 
-  1  
-  [ 
-  l 
- & @  '+  &   '+  &   '+  & %  & xr   ˯  
-  Oj 
-  p  
-  W 
-  = 
-  S   
-  p 
-   
-    
-    
-    
-    
-  N  
-  Pd 
-  ,, 
-  _   p 
- . | r . `} r . m  r . | r . d| r . | r  [k 
-  :k 
-  /k 
-  k 
-  k 
-    
-  G  
- &   G  & - G  & 5  &    & 5  & J    V 
-   
-  Y 
-    
-  8  
-   
-   
-  k  
-   
-   
-   
-  Z 
-  g1 
-  <\ 
-    
-  ҕ  
-   
-   
-  R 
- _&       
-   
-  ] 
-    
-  % 
-  o 
-   
-   
-   
-  t 
-   
-   
-  W  
-  e  
-    
-     
-  m 
-  =.  & W ( & r (  ; 
-  < 
Q  ĕ  (   V 0  
   *  
 "V *    '  pP '  H  0   R 0    0     0   / 0   h[ 0   h ' 
 8 *    gQ  33  gQ  ea dA   
-    
-      M       
-  l  
-   
-  F) 
-  
B 
-    & W    e dA    1     
-  Ώ D(  U 
-   
-  ޫ +  3:    1n T    T  f` dA  1 
-   
-   
-    
-    0   / 0   ^j 0  &  }     F       +   6    +  : z  . : z  . :  . : Ҫ . : W .  -_ ڱ : ^ ڱ  : . 
 U 0  : }  .  l 
-  }k 
-  hk 
-  k 
-   (   +   {B  Y  6  	 +   +  z  1  & h      .  m Q   (  ^ ( &   ,  @  
-  ^  
-   
-  p 
-  vq 
-  _n 
-  o 
-  q 
-  m  
-      ;U + &   G     S & SA 9  h    
-     E '    1   G   vX      L      dA & ֵ -J &  -J & d   ] RQ * 
 x
 *   x
 * r  x
  e, 0     0   * 0   * 0   I 0   u< 0    0   _  0   8 dA    
-    1      '                  i           i     q 1       `-  B+      Vv B+       n~ B+   /     B+   :     B+   O     B+   d   +  B+   t     B+      [  B+  	      B+  
      B+  
    B  B+  
      B+  
    > B+ D 
    > B+ D 
   
 B+ i 
      B+      Ft  B+      l  B+      oz  B+      х  B+      l B+ 4  $  y  B+ 4  .  o  B+ (  8  j  B+ ,  @  i  B+ 0  I  -j  B+ 0  P  k  B+ 0  W  j  B+ 0  ^  j  B+ 0  e  i  B+ 0  l  [j  B+ 0  s  t  B+ 0  z  ł  B+ ,    ҃  B+ 0      B+ 0      B+ 0      B+ 0    ؁  B+ 0    -  B+ 0    x  B+ 0    9  B+ 0      B+ 0    v  B+ ,    `e  B+ ,      B+ ,    ~  B+ ,    v  B+ ,    ;e  B+ ,    {p  B+ ,    W  B+ ,    `v  B+      x  B+      *y  B+      y  B+        B+ $  !  f  B+ $  (  z  B+ $  /    B+ <  6    B+ <  ;  x  B+    @  !v  B+    G  v  B+    O  !l  B+    W    B+    ^  1  B+    e  i  B+ (  l  l  B+ (  w  l  B+      l  B+      k  B+ ,    k  B+ ,    k  B+ ,    k  B+ ,    e  B+ ,    k  B+ ,    d  B+ $    c  B+ $    i  B+ $    ?  B+ $    2  B+ $      B+ $    :z  B+ 4    y  B+ 4    n  B+      Y  B+ $    p  B+ $      B+ $    \  B+    '  u  B+    0  f  B+ $  9    B+ $  A  x  B+ $  J  "  B+ $  S  7  B+ $  \  bm  B+ ,  e  m  B+ 0  o  m  B+ 0  t  m  B+ 0  y  o  B+ ,  ~  fo  B+ ,    ?o  B+ ,    o  B+ ,    y  B+ 4    e  B+      f  B+      r  B+      h  B+ @    /p  B+      h  B+ ,    .n  B+ ,    k  B+      s  B+      s  B+      yv  B+      x  B+      d  B+      d  B+        B+      3s  B+      ^d  B+ ,  
  -d  B+ ,    d  B+ ,    c  B+ ,  !  d  B+ ,  '  c  B+ ,  -  c  B+ ,  3  c  B+    9  b  B+ $  @  z  B+    G  2  B+    N  z  B+    U  e  B+    \  e  B+    c  e  B+    j  e  B+    q  +h  B+    x  }  B+ ,    j}  B+ 0    }  B+ 0    B}  B+ 0    }  B+ 0    ms  B+ ,    u  B+ ,    Cu  B+ 0    t  B+ 0    e  B+ ,    0  B+ 0    ̋  B+ 0      B+ 0      B+ 0      B+ 0      B+ 0      B+ 0    >  B+ 0    Ls  B+ ,    }  B+ ,    t  B+ 0    ~  B+ 0    }  B+ 0    s  B+ ,    ep  B+ ,    ub  B+ ,  &  Ip  B+ ,  -  f  B+ ,  4  Zf  B+ ,  ;  6f  B+ ,  B  y  B+ 4  I    B+    T    B+    [    B+ ,  b  \r  B+ 0  k  p  B+ 0  q  q  B+ 0  w  @q  B+ 0  }  dq  B+ 0    q  B+ 0    q  B+ 0    q  B+ 0    q  B+ 0    r  B+ 0    u  B+ ,    u  B+ ,    u  B+ ,    u  B+ ,    ~  B+ ,    M|  B+ ,    {  B+ ,    /~  B+ ,    e~  B+      {  B+ 8    c  B+ 8    F  B+ 8    t  B+ 8    t  B+ 8    Ut  B+ 8    h  B+ @    i  B+ (    ~  B+ (    	z  B+ 4    ~  B+ ,  (  w  B+ 0  1  w  B+ 0  8   x  B+ 0  ?  %x  B+ 0  F  i  B+ ,  M  ~  B+ 0  T  -w  B+ 0  [  w  B+ 0  b  w  B+ 0  i  Uw  B+ 0  p  "|  B+ 0  w  m  B+ 4  ~  t  B+ ,    r  B+ ,    rt  B+ ,    4  B+ ,    h  B+ ,    {  B+ $    s  B+      V  B+ ,    |  B+ ,    }  B+ ,    a  B+ ,    h  B+ ,    l  B+        B+      À  B+        B+      |  B+      |  B+      7  B+ ,  	    B+ ,      B+ ,    p  B+ ,       B+ $  '  j  B+ $  0    B+ $  9    B+ $  B    B+ $  K    B+ $  T  J  B+ $  ]  	  B+ $  f  ]  B+ $  o  s  B+    x  ɇ  B+ $      B+ $    cx  B+ $    +t  B+ $    A{ B+     v{ B+     v B+     @ B+     y B+      } B+     ly B+     | B+     | B+      B+     ~ B+     { B+      B+     ~ B+   
  { B+     sv B+      ( B+   )   B+   2  U| B+   ;   B+   D  	w B+   M  
x B+   V   B+   _  Y B+   h  ˂ B+   q   B+   z  ?} B+     ;~ B+     yx B+     5 B+     w B+     'y B+      B+     ?z B+     P B+     z B+     x B+     } B+     bw B+     -  B+     -  B+     /  B+   	  0  B+   
	  -  B+   	  0  B+   	  0  B+   	  o/  B+   "	  /  B+   (	  b0  B+   .	  Y/  B+   4	  /  B+   :	  m B+   @	   B+   C	   B+   F	  d B+ i  I	   B+ - M	   Q+ B+ aW	    B+ i >[
  t B+ >\
 ?7 B+ ?
   B+ ?
 7 B+ @
  ;W B+  @
   B+ 	@
   B+ @
  g B+ `B
  U B+  C
    B+ C
  = B+ C
  . B+ i D
   B+ `E
  6Y B+  F
  h B+ `F  R B+ MH  <n B+ I  X B+  I$   B+ YI'   B+ ]K5  I B+ uL   B+ M  e B+ N   B+ `O  J B+ `P   B+ P   B+ Q  r B+ `R   B+ `R    B+ R  S B+ `V   B+ V  l  B+ W  i B+ 	W#  . B+ W'  9  B+ Z-  U. B+ `-   B+ `c-   B+ `c:   B+ `d>  0  B+ fM  g B+ `iM  2 B+ `jS  2 B+ m_   B+ `nf   B+ y   B+ y   B+ z   B+ z   B+ z   B+ `{   B+ `{    B+ {   B+ `   B+    B+ U    B+   B B+ U  @ B+ 
  T B+  
  Y B+  
   B+ `
   B+ =1
  ~ B+ 9
  e B+ :
  " B+ 	=
   B+ 
?
   B+ A
   B+ C
   B+ =J
   B+ =L
 R Q i a
  3  Q d
  ɿ Q " d
   / Q & g
    DB i m
   | DB i v
   DB i 
  D   
  B   
  E   
  ND   
 
  D   
  D   
  E   
  >B   
      
  uB   
  wE   

  qC     NB   !,  )B   &@  D   (J  B   )P   E   )T  E   =  E   B  B   C  C   D  5C   Q  B   _  D   df  E   f  B   h  D   s4  D   t:  qD   uA  dD   t   B    B   |  B   |  B   ԰ B i   q B i   ð B i   B i    B    B    B    B  » B i  : B i  & B i   B i   B i   ͋ B  w B i   [ B   B i    un B i   0 B i     B i   B i     B i   b  B i  j B i  \ B i    E B i  X B i  W B i   B i  K B i   r B   B i    y B   t B i   B i  Ӽ B i 	   B   @ B 
  @ B   X B   ƹ B    B    B    B   Z B    B    ӯ  B i " A B i (   B *  B i *  p  B i ,  B i 2   B 4  ! B 4   B 4   B 4  u B 4   B 4   B 4  t  B 6 4  B i 6  B i 9 ɾ B i < Y B i ? ` B i A 7 B i C  B i F Ǹ B i H  B i J  B i L  3 B M ѽ B i  M  B i  O   B  Q  ˊ B -Q  K B 5Q  B i ;Q 9 B i ;S  q  B ;U  i B i LU    } B i \_   q B i ]c  ڹ B _d  ` B i _f  i B `k ~ B i `m p B i `o k B i `s  B i `u  B i `w b  B i a|  B i a}  B i a~  Y B a   B j  ]r B r  ~ B v  Ǎ B ~    B   o B   p B   n B    B   [ B   4 B   S B   p B   X
 B   m B   B i  ] B i  ߾ B i   B i   B i  k B i   B i  = B i  X B i   B i   B i  ׻ B i     B 	  #  B 	   B     B i  ʶ B i  ~ B i   B i  4 B i     B :   B i   ! B i    B i   Ű  B >    B i   P B i   l B    B    B &  ( B *  Hv  B 2   B 5   B T   B x   B |   B    B   s B   A B   Gd  B   m B   n B    B   . B     B    B   s  B   I  B   6  B   L  B    B   < B   n B   n B   Ɍ B     B   
n B   6 B    B   ʉ B     B   , B $  n  B '    B 6  My  B 9  ly  B ;  u B @  [ B D   B H   B M   B Q  9~ B S  և B ]   B `   B o  7 B    B   S B    B   0 B   l B    B   M B   ۄ B   S B    B    B   v B    B   8 B    B    B   م B    B    B 	   B 	  G B 	   B 
	  h B 	    B 	  [  B 	   B 	  w B "	  e B &	  n B +	   B /	  9  B 5	   B 9	   B G	  gc  B O	  Ɉ B R	   B e	   B h	  ;m  B r	  Mm  B x	 . B i |	 C B i |	 G B i |	  B i |	  B i |	 ź B i |	    B B |	   B F 		 պ B i 	
  +r B i 	  <  B i 	"  o  ( 
	%   (   	*   (   	<  > (   	>    ( 	?    ( 	   ( i a  e< ( p
j  1  ( p    ( l
q  j8 ( q  9 ( r  9 ( p
r  < ( p
r  8 ( p
s   J; ( p
z  ; ( 
{!   ( i ~6  s (   >  f ( i B  ( i C q ( i G  I  ( i O    ( J e    ( 
i    ( 
o  p  ( V t  p  ( V z  ~  ( 
  ( i     (   c  ( 
  z  ( 
  y  ( 
  |` ( 9  .` ( 9  ` ( 9  b ( 9  b ( 9  ` ( 9  Ma ( 9  ` ( 9  td  ( 
    ( 
  c  ( 
   0v  ( 
     ( Z     ( ^   L  ( ^    _ ( b    " ( f    { ( j     ( n     ( r     ( v    7 ( z     ( ~    ݒ ( ~    , ( ~    S ( ~    F ( ~     ( ~    o ( ~    $ ( ~    , ( b     ( b     ( ~    l  (     m  (     ׉  (      (     ? (      (      (     {  (     o  ( 
   Gk  ( |     ( |   Qy  ( 
    ( H  Y  ( H    ( H"  m  ( H'  E  ( 
1  +  ( 5  L  ( H8   py  ( 
?  Lv  ( 
C  ۆ  ( 
G  {  ( 
L   ( R  |  ( 
R  ?m  ( 
Z  Qm  ( 
^  P~  ( b  r  (  f    (  k    (  m   R (  o    (  q    (  v   \ (  x    (  z    (  |   = (  ~  Zh  (     x (     á (   q ( i   \ ( 	   n (      ( 
  p  (   p  (     ( 
  Ј  (      (      ( 
  v  (    x  (    i  ( 
    (    	  (      (      (     l (      (      (      (     ϛ (     ֥ (     P (     5 (      (      (      (      (    #  (      (     (     ( 
   ʕ (    1 (     (     (    G (    9 ( !   K ( $    ( '    ( *    ( 
-  n  ( 
1  1  ( "5  T  ( &:  [  ( *=    ( .A   n ( 2D    ( .G   - ( .J    ( 6M    ( :P  mh  ( 
S  r  ( 
X  M  ( 
^  N  ( 
d  r  ( 
j  h  ( 
p    ( 
v  }u  ( 
|  p  ( 
  L (     ( 
  ( i  n ( i   3c  ( i 
    ( 
    ( 
  ( i     ( i   ׯ ( 
  Z (   8 (    ( i  ( ( i   ( i    ( i   *P ( 	    M ( >  3 ( i '<  '4 ( i *F  D ( ,G  g ( %,I  . ( !,L    ( 
.Y    ( 
._  mi  (  .d    (  .j  Ri  (  .p  Zl  (  .v  w{  (  .|  n  ( F.    ( x
/    ( J0  ܳ  ( N0  {  ( R0   ( V1   ( Z1  <r  ( ^1  {  ( n2  ,{  ( r3  V{  ( v4  1l  (  5  Vn  ( 5  wn  ( 6  B  ( 7  A ( 7  Ɠ ( 7  w ( 7  , ( 7   ( 7  S ( 7   ( 7   ( 7  ߣ ( 7  x ( 7  ș ( 7  t ( 7  ˝ ( 7   ( 7   ( 7   ( 7  \ ( 7   ( 7  Kx  (  7   ( i 7    (   :    ( i :  ,  (  =    ( i >  H  ( B'    ( i C+    ( i E1  e  ( F5    ( i H;    ( KC    ( i MI  D  ( $QS    ( i RW    ( ,Wc  ,  ( i Yi    ( 
[o   l  ( 
[t  Dh  ( 
[z  Kc  ( 
[~  t  ( 
[  d  ( 
[    ( 
[  dk  ( P[  o  ( 
[  hu  ( 
[    ( 
[  l|  ( 
[    (   \    ( i \   ( i ]    ( i ^   ( i _  5  ( i `  f  ( i a  7  ( i b    ( i c    ( i d    ( i e    ( i f   [  ( i g    ( i h  .  ( i i  ( i j   ( i j!  ^  ( j)  z ( j/   ( j1  t ( k6  M ( k<   ( kA   ( kF   ( kK   ( kP   ( kU   ( kZ  d ( k_   ( kd   ( ki   ( ko  П ( kt  ˠ ( ky  4 ( k~  x ( k  ˗ ( k   ( k   ( i k    (  k   ( k  V ( 
k   ( k  m ( k   ( k  E ( k  [ ( k   ( k   ( k   ( k   ( k   ( k   ( "k  բ ( "k   ( "k  c ( "k   ( "k  Ę ( "k   ( "k   ( "k  s9 ( "k  њ ( k  B ( &k  6 ( k   ( k  ޞ ( k   ( k  6 ( k   ( k	  ) ( "k
  a ( *k  s  (  k  b  ( k  b  ( k  |  ( Pk"  K ( `
k&  r ( i l+    ( w@   ( i }@  7/ ( i ~F 0 ( i H  q  ( I  yQ ( I  ^ (   I   ( J   '      i O       i O       i Q       i S! c1      i U       i  A      i        i  ]      i ! c1      i ! c1      i        i ! c1      i ! c1      i ! c1      i !       i ! c1      i        i ! c1      i ! c1      i  A      i ! c1      i         	! c1      i        i ! c1      i  i      i        i ! c1      i        i ! c1      i        i  A      i        i        i ! c1      i   s     	        i        i        i        i 
 A      i 
       i  A      i ! c1      i        i        i  A      i "       i  
% A      i 
(       i 
-! c1      i 
/  <     
6! c1      i 

<       i 
? A      i 
A! c1      i 
E S      i 
H! c1      i 
Q! c1      i 
V! c1      i 
j       i 
o       i  
q! c1      i !
s! c1      i "
x! c1      i #
       i $
       i %
! c1      i &
! c1      i '
! c1      i (
       i )
 A      i ,
! c1      i /
        i 3
! c1      i 4
 W      i 7
       i 8
 m      i 9
! c1      i :
       i >
       i ?
       B@
       p@
! c1      i A
! c1      i B
        bE
       fE
  Y     jE
! c1      i E
       xF
! c1      i G
  `     xH
       zI
  T     ~I
  I     I
  s     I
  e     ~I
       I
       I
  -     I
        I
"       I
$  y     I
'       ~I
)       ~I
+       I
-  $      bI
/! c1      i I
2       J
B  <     pJ
F! c1      i K
L! c1      i ^
`       i `
c! c1      i b
e! c1      i d
h! c1      i f
k       i h
n       i i
p! c1      i j
r       i l
u! c1      i m
w       i o
z! c1      i p
|         Ar
  %      Ar
! c1      i r
! )B  .  ! )B  .  ! =B  v                           } $   Dy 6  Q' &  Q<) &  Q+v &  QB &  Q' &  Q<) &  Q+v &  QB &  Q' &  Q<) &  Q+v &  QB &  Q' &  Q<) &  Q+v &  QB &  V    V    V    V    V    V    V$    V"    VKf   V   V]    V}   V    V&   Ve    Vi(   V[    V   VL    V   V'    V&   Vz    Vz(   Vq    VT   V    Vl&   VB    VA(   V7    Vӳ   Vq    V6'   V    V(   V    VMx   V    V&   V    VB   VԤ    V\&   V-    V0(   V!    V(   V    Vĳ   V]    V)'   V    V(   V    Vr    V    V#b    V    V6&   V    V    VB   V6    Vl   V"    V5s   V^    V+   Vh    V&   V    VQ'   Vީ    V    Vz    V(   V٪    V3   Vɢ    V
   V    Vܭ    V	    VZ    V[    V>    V    V    VQ    V%v   Vt    V    V    V    V    V    V
   V/    VE    V    VL   V    VB   V    Vw'   V    V    V4    V)   V    V՗    Ve    Vs   VN    V{   V    VI   VL    V    V4   V;    V    VF    V.   V    Vr   Vv    V;    V   V    V$   V    V    V    V   V    VuX   V7    V>N   V    V    V    VI   VA    V87   V    V    V    VQ   V    V=   V    VQ   Vެ    Vu   V$    V
   V    V   V    Vԍ    Vɜ    V\Q   V{    V    V    V    V    V=   V   VO    Vث    V    VA    V    Vq    VY    V    VH   V    VBG   Vd    V   V    Vم   V    V    Vۥ    V   V    V   V    VR   V    Ve*   V    V!%   V    V`   Vb    VE    V    Vo    V_   V    V    V    VOB    Vk    V_   V    Vj_   Vۣ    V^    V    V    V
    V    V    V`>   V    V   V    V   Vɨ    VP    V    V    VΝ    V)    Vw    V-    VW_   Vã    VO   V9    V&   V    V
(   V    Vm    V(
   V˧    V    V    V]   V    V   Vߦ    V    V    VZ   V    V[t   V    V1    VN    Vq    V    VC   V7    V1   V   V    V   V    V{   V    VW   V    V2   V    Vl
   V    V.    V,    V   V    V%    V#    V    VО    V	X   V4   Vt    V    V|    V    VQ   V4   Vc    Vq    VI   VG   Vt    V   V    V   VO    V
    V    V[   Vŭ    V'   VQ    VK    V)    V    V    VP   V    V*   V    VP    Vנ    V   Vj    V    V    V    V'   V?    V   VA    VW   VX   Vr    V4   VN    V    V=   V	   V    V   VD    Vͫ    VX   V]    V   V    V5:   V    VX   VF    Vm   V:    V{    V    V?   V    V    VD    V=   V+   V    V&   V,    V    V3   V    V   V^    V    VC"   V3   V٢    V     V    V4   V    VI   V~    VL    V-Y   V    V.   V    Vs   V    V$   V    V   V0    VF   VT    V`X   V'    VR    V0    V#   V    Vٟ    Vޡ    V    V?   V$    V]    VI   V    V    Vb    V@   V    VA   V&    V6   V    V6   V    VZ   V    V   V`    VH   Vy    V<   V    V֞    V    VW    Vn    V    VQ   Vì    Vh    V    V   VU    VB)   V    VA   V    Ve   VN   Vj    V   V<    V    V~    Vk    V_    V	    Vm   VD    VE:   V    VC    V    V   VB    V,    V:    VC   VǦ    VKF   VH    VI   VU    # } ?  # O| ?    
    J    I  O    T   P Y  1 
w 
  1 v 
  1 4w 
  1 Yw 
  1 v 
  1 |w 
  1 w 
  1 -# 
  1 v 
  1 w 
  1 nv 
  1  
  1 w 
  1 v 
   ɭ ^   J c   V h   i m   	 r   a w    |   4:            C    /        YI     A  E
   uA  E
   C  E
   rL       a   Q  &   O  
   ]N    U   U   U   U    U2    U    U    U    Uo    Um    UK    UI    U    U    U    Uw    UD    U    U    U    U    U"    U2    U    U
    U	    U    U    U    UD    UB    U    U    U=    UT    UZ)    U;)    Ut)    Uzf   U   Uf   Uf   Uf   U|u    lF  a   lF  a   aC     yC     4H        ! KQ         QY            0                         S           9,  &  Vk    Vp6   Vu         4     0 
   t a  9,  &  V.K   VJ   V    Vs   VJ   9,  &  V   V.    %    O       9,  &  V    VOP    5    
F     2F     E         m    / 
   &            ? !    &   | +   c 0   S 5   Q  :      Q  ?  9,  &  V B  VS B  V"S B  U    Un    Ub    UH    U*    U    U   UZ   U+    U+    U+    U%     G  V	    V    V    Q  &  Q  &  V}   V&   Vi(   VB   V\&   V0(   Vĳ   V)'   V(   V6&   V%v   VB   VQ'   V(   V+   V&   V3   VBr   VA   VA    V    V{   VI   V$   V    VQ   V=   VQ   V
   Vԍ    V\Q   V    V=   V!%   Vb    V    VO   V&   V
(   V    VZ   V1   VW   V   VI   V   V    V=   V3   V#   V?   V6   VZ   VH   V<   V    VW    Vn    V    VQ   Vì    Vh    V    V   VU    VB)   V    VA   V    Ve   V   V   V   VC    VN   V1    VO    V    V    V    Vy    V    V       L    V  Q<f   V   V    VY    V    V    Vw    V    Vg    V%    V    V    VI    V%    Vl    V    Q    V    V7    V    Vm    V    VJ    V3    9,  &  V= [  V  [  V  [  V [  V~  [  V [  Vc [  V, [  VF [  V G [  V' [  V#b  [  V1  [  V~1  [  V{ [  Vh  [  VN  [  V =  [  V#9  [  V5=  [  V=  [  V]  [  V)  [  V89  [  Vx  [  Vl=  [  Vo9  [  VN=  [  V=  [  VQ9  [  V  [  V  [  Vs [  V{  [  Vc  [  Vr  [  V' [  V@ [  V@ [  V  [  V  [  Vw+ [  V8 [  V' [  V<) [  Vn;  [  V9  [  V1 [  VyU [  V2 [  VP [  V' [  Vt [  V  [  V  [  V [  V [  Vm  [  V [  V [  V [  V  [  V1 [  V  [  V  [  V{ [  VC [  V  [  VO [  V+  [  V'  [  V 
 [  VX [  V5  [  V6 [  V% [  V{ [  VT [  V  [  V  [  Vr  [  V [  Vu  [  V`I [  V* [  V(  [  V [  V+  [  Vb  [  V;  [  V9 [  V
T [  V [  V
  [  V# [  Vb [  VTP [  V+v [  VB [  VP [  VP  [  V [  VW* [  VST [  VA [  V [  VG [  V  [  Vm [  Vz  [  V [  VH [  VXg [  VOg [  Vg [  Vh [  Ve [  Vi [  Vki [  Vif [  Vf [  V  [  V [  V [  V [  V( [  Vm [  VgY [  VJ [  V\' [  Vbs [  VKY [  VI [  V0  [  V& [  V= [  VB [  VX [  V  [  V4 [  V5 [  V#F [  VP [  V' [  V@* [  V* [  V  [  VX [  VI [  V64 [  Vm [  V [  VY [  V]Z [  V0J [  VrJ [  Vg- [  V [  VF [  V [  V  [  VK [  V [  V5 [  Vd [  V  [  V4r [  V3 [  V@  [  VA [  V [  Vĳ  [  VS [  Vc [  V [  VF [  V [  V6 [  V [  V6 [  VѸ  [  V  [  V,B [  VFJ [  V [  V. [  VX [  V
X [  V8 [  VH [  VuJ [  V [  Vm [  V  [  V= [  V [  V  [  V [  Ve [  V [  VpA [  VZ [  VJ [  VJS [  V [  Vd [  VU [  V/ [  V [  V;  [  V~O [  V)  [  V [  VX [  VB  [  Vn [  V [  V [  V] [  V [  VZ [  V [  V4 [  V [  V [  V  [  VJ [  V>
 [  V)  [  Vd  [  VkX [  V3 [  V [  V [  V9  [  V7 [  V8  [  V   [  V+8 [  Vo [  V  [  V [  V4G [  VAd [  V  [  V  [  V  [  V  [  VD  [  V˻  [  V  [  V  [  V}  [  V  [  Vh  [  V  [  VG  [  V  [  V%  [  V]  [  Vn  [  VS  [  VҺ  [  V3  [  V  [  Vػ  [  V  [  V  [  V  [  VG  [  V3  [  V\  [  Vv  [  V  [  V  [  V  [  V  [  V  [  V۹  [  V[ [  V' [  V  [  VO  [  VB [  Vq [  V [  VV [  V [  V [  V [  V* [  V [  V [  V [  VC  [  VN [  V$ [  V% [  V$ [  V [  V [  Ve [  V [  V [  V [  V'C  [  Vc [  Vi [  Ved [  V
 [  V [  V  [  Vü  [  V޼  [  V)  [  V  [  V^  [  V  [  V  [  V>3 [  V
  [  V* [  V= [  Vm [  Vc^ [  V	_ [  V= [  VZ [  Vw [  Vi [  VM  [  V9^ [  V% [  V [  V' [  V. [  VG1 [  V> [  V  [  V [  V  [  V;  [  VA;  [  VT;  [  V= [  V< [  V& [  V  [  V: [  Vm [  V" [  VN [  V*Q [  VCu [  V'3 [  VC+  [  V# [  VÄ [  V3 [  V$^ [  V [  V(;  [  V4 [  V [  V% [  V- [  V' [  V(' [  V  [  V  [  VG [  V [  V	  [  V [  V  [  VzA [  V> [  V3  [  V [  V(  [  V  [  V [  V6T [  V [  V [  V  [  V}t [  VA  [  VN [  V^6  [  V  [  Vm [  VqS [  V  [  V  [  Vo  [  Vf3 [  V [  Vf [  VP [  V  [  V [  VA0 [  Vd/ [  V0x [  V [  Vq [  V  [  VO [  V͐  [  V3 [  V} [  Vz  [  V֛  [  V}3 [  V} [  V6  [  Vd
 [  V
 [  V  [  Vc [  V E [  Vd [  V	% [  VS% [  Vd [  Vd [  V  [  Vp [  Vr [  V# [  V6 [  V_{ [  Vv{ [  V{ [  Vi  [  V  [  V[ [  V+ [  Vy& [  VLm [  V2  [  V[ [  V\ [  V4 [  VJ [  V  [  VZ [  V" [  V  [  V#S [  V@R [  V  [  V  [  V+  [  VZ  [  V!Q [  V  [  V8  [  VS [  VS [  VS [  VC  [  Vc [  VB  [  V}c [  VB  [  Vc [  Va  [  Vc [  VB  [  V5c [  VB  [  VVc [  V [  V [  V$ [  V [  V [  V [  V  [  VR  [  V6  [  V=  [  V9  [  VE  [    &    &    ra    ra    `    &   ? &    &   O &    ra    ra   #  #   Z e   W j   k_  u   \S  z   I     J     K     V     U     GV     \     7Z     Q     P         {Q     G     lG     xS     X     W^     Q  z  9,  &  V   VG    VЛ     R  z   Z     Z     Z     x[     VZ     Y     Y     #Y     W     ,Q     P     F     R  z   aR  z   V     D     2`     P`     K  z   ~N     7L     V     l`     
G     CH     Q  z   _  u   `     Q  z   bH     -U     'T     S     rU     >S  z   ^     _     [     ]     ]     [     ^     r]     D_     ]     {P     QP     .^     J]     U     "]     ~Z     >\     _  u   bH     L    1 P  6	  1 J  6	   bH     rU     QU     %V     V     5R  z   W^     U[     ]     CY     W     bH     U     U     OT     S      T     T     oW     dY      Y     ^     Z     h\     [    T     UL     _     	[     +[     Q  z   7L     "]     ~Z    QG   QV   Q    
J     J     K     K     J     ,J     J     _  u   W     Z    1   6	   bH     S     jV     T     ~T     dX     X     X     Y     \     \     \     x^     R  z   R  z   >X     X     W     Y     `     F     S  z   R  z   @K     #K     J    9,  &  V(I   V   VH   Vmt   9,  &  V;    VR   V    V6   V6   V'   V +    V9   V^1    V1    1     6     CE     `    9,  &  V6   9,  &  V    V41    VdA   V    V $   V=   V,1    9,  &  V    VwP   V    9,  &  V+  	  V[*  	  V'  	  9,  &  V!3   V   Vf    V7    9,  &  V    3 &   #!     
4     ?4     4!     =           &   ^* &    %   ^* %   mD  &   mD  E&  ! wt (   mD  &  9,  &  VOj 1  V4 1  Vw 1  Va 1  Vb 1  ! wt (  !   6   mD  &  9,  &  VA ;  V ;  V7  ;  V ;  9,  &  VM  @  V  @  9,  &  VM  E  V  E  9,  &  V+v J  V' J  V<) J  VB J  9,  &  V% O  Vo O  V O  V O  V O  Vt O  9,  &  V% T  Vo T  V T  V T  V T  V T  9,  &  V< Y  VGc Y  Vc Y  V9\ Y  V]\ Y  V Y  9,  &  V= ^  VT ^  V  ^  V ^  V ^  V ^  V ^  V ^  V ^  V ^  Vh ^  V,<  ^  VC2 ^  V  ^  VA  ^  VD
 ^  V ^  V ^  VK  ^  VR ^  V& ^  V  ^  V  ^  V  ^  V6 ^  Vm ^  Vk ^  V1 ^  V: ^  V ^  V ^  V+  ^  Vd ^  V~ ^  VO ^  V ^  V ^  9,  &  VD  c  V:  c  V6  c  Vx? c  VZ c  V c  VP c  V c  V c  VU
 c  VB c  V c  9,  &  VM  h  VD  h  VQu h  V h  Vt h  V h  V~  h  9,  &  V>| m  V| m  Vt| m  V)| m  V| m  9,  &  V;  r  Vl r  VFk r  Vk r  V<l r  Vj r  Vj r  Vj r  Vl r  Vj r  Vl r  V)l r  V#k r  Vk r  Vk r  Vk r  VL &  V &   E  w   O     #  #   X[ [+   @    B     β     b`    ] [+   $ &   < &   :    =  &       @O     R  r       cQ     qI &  9,  &  V
    V   V   V@    VGc   V'b   VW*   VZ   9,  &  VZ   V   V%   V-   V8   V    V4    9,  &  Vd   VZ   Vpr   9,  &  VW*   V
    V   V   V@    V   V'b   9,  &  VW*   VZ   V   V%   V-   V8   V    V   V
    V   V@    V4    9,  &  VK]   V1   V<   Vd   V   V   VU5   V#   9,  &  V   VZ   V-3   V   V   Va    V    Vt   V   V    V   Vo   V8   VvR   VR   VR   VR   V]   Vw]   V    Vҕ    V    V    VR   V    V`   9,  &  V1_   Vd   V\   9,  &  V[   V-_   V#   Vn   9,  &  V<   Vq    V   V   9,  &  V^   V1   9,  &  VK]   Vc   VF   V   V   VB]   V-]   9,  &  V   V   V%   Vu   VT   VZ   V5   Vo   V`   V    9,  &  V]   V]   V1_   Vp   VAZ   9,  &  VF   V   V   V   9,  &  V    V    V    V%    Vu    VT    VZ    V5    Vo    VF    V     D       6        . ^[   N     N     . &   n &   ^ &     #   D  #      ! M '  ! ˯ ,   . ^[   M  1   ӯ  6     6   b  6   p     M      ?   ݷ D   Ű  I     N   + w  9,  &  V8  S  V S  V S  V9# S  V% S  V\y S  9,  &  V` X  V]  X  V#b  X  V1  X  V  X  VE  X  V, X  VL{ X  V{ X  V@ X  V G X  V\o X  V  X  V  X  V  X  V X  Vo X  V X  V X  V X  Vb X  V` X  VTb X  Va X  Vb X  VF X  9,  &  VI ]  V] ]  VT,  ]  9,  &  V}U b  Vt  b  V b  V-_ b  VH  b  V.c b  V b  9,  &  VKr g  V` g  9,  &  V{ l  VX l  VI l  V) l  V<v l  Vɒ  l  V  l  V l  V l  V l  VG l  VH?  l  V  l  V  l  Ve l  VT l  V l  V  l  V l  V
W l  Vʩ l  V l  Ve l  V  l  V   l  V
 l  V5  l  V/  l  VBG l  V*  l  9,  &  V{ q  VX q  VI q  V) q  V<v q  VG q  V  q  V q  V  q  V q  VBG q  V= q  VT q  V  q  V q  V q  Vh q  VD
 q  V q  VK  q  VR q  V& q  V6 q  Vm q  V,<  q  VC2 q  V  q  V q  V  q  V  q  Vʩ q  V  q  V/  q  V5  q  V*  q  9,  &  V@ v  V v  V v  9,  &  V {  V. {  V& {  V {  V {  V
 {  V {  V {  V {  V {  Vy {  V {  9,  &  VZ   V    VD    VM?   VY   Vd   V   VO   9,  &  V@   V   VQ    V   V{   V   V5   V   V   VC   9,  &  V    Va    9,  &  V   V   VV   V    V   Vu   Ve<    V2q   9,  &  V    Vr   V4    9,  &  V    VN-    9,  &  V   Vg    9,  &  VQ   VA   VMb    9,  &  VQ   V   V.   Vڑ    Vj   9,  &  Vv    VB    9,  &  V   V*   V   9,  &  Vr   VIQ   V)    9,  &  VԱ    9,  &  V    9,  &  V    V    V    V    9,  &  V'   V<)   V+v   VB   9,  &  Vt   V G   V4   V,:    V1    V    V    V^    V    V   V    VB    VZ    V6   V    V/6   V
,    V1,    V,    V*,    9,  &  V-_   Vn   V	    9,  &  V94    V4    V=   V-!    V]    9,  &  V   Vr   9,  &  VT   Vo*   V5   VAS   VoI   VI   V^I   VJI   9,  &  V-_   V2    V]    VZq   V2    VC   9,  &  V8    V    Vd   V5    V G   V$   V%   9,  &  V5    V6   Vb   V   V%   V]    VZ   9,  &  V    Vs   VJa   V<   V41    Vb   9,  &  VZ   V ,    Vv    V   9,  &  VA   V   9,  &  V^   VL[   V#   V   V#   V   V4    V,    VA    V    V
   Vm    VA   V}   9,  &  V   VW*   9,  &  V5    9,  &  V4    V5    V/   VQ   9,  &  V;    V5    V   9,  &  V^    V5     V    9,  &  V.c %  Vb %  Vb %  V)  %  9,  &  VA *  V`A *  V2 *  9,  &  Vd /  9,  &  VE4  4  V;  4  V 4  V4 4  V 4  V 4  V`A 4  VA 4  VPd 4  9,  &  VA 9  V`A 9  9,  &  VA >  V  >  Vd' >  V  >  VB >  V8 >  Vq	 >  V2 >  V >  V  >  Vw2 >  V u >  V  >  V'3 >  9,  &  V8 C  V1 C  V  C  V2 C  V C  V  C  V3 C  V.  C  Vײ C  VO C  V"
 C  V C  Vd  C  V C  V C  VP C  V C  V9 C  V1 C  Vo C  V` C  Vo C  V C  V% C  V C  V4  C  V' C  V C  V  C  9,  &  Vb H  V\ H  V] H  V H  V H  Vwd H  V_ H  9,  &  V-_ M  VP M  9,  &  V-_ R  Vnd R  V_ R  Vq  R  V4 R  Vb R  V R  9,  &  VM  W  V% W  V W  V]\ W  V.] W  V)  W  9,  &  V  \  V]  \  V3  \  VC \  9,  &  V  a  V]  a  V2  a  V< a  VC a  9,  &  V  f  V]  f  V3  f  VZq f  VC f  9,  &  V  k  V]  k  V2  k  VZq k  V< k  VC k  9,  &  V-_ p  V p  9,  &  V u  V u  V u  V
 u  V u  9,  &  V z  V  z  9,  &  V_   VP   9,  &  V-_   V   9,  &  V&   Vv   V(   VA   V&?   V    Vq   V   Vf)   VK    V(    V   V    VF%   V%   VZ    VG   V   9,  &  V   V   Vp    V5   VE   Vj   V)    9,  &  V   V   Vp    9,  &  Vq    V;    V G   V[    VG   V     V.   VS    V)    9,  &  V    V\   9,  &  V\   V?\   V    V    V    V   Vnd   V_   9,  &  Vnd   9,  &  V    V,   9,  &  Vq    9,  &  V,C   V^   V_   V   9,  &  VM    9,  &  V_   Vc   VM    9,  &  V=   V   V    V   V   V   9,  &  V4    VM    9,  &  V   V   V8    9,  &  V   V   V5   V
C   9,  &  VM    Vr   V2    9,  &  V8   V    V-_   V.   V;    9,  &  V    V    VT   9,  &  V   V7    Va   V?a   V    V9   V9   V`   V
a   V   Va   V`   Vw;    9,  &  V    V2    V   V2    V4    Vj   V]M   9,  &  VT    V   9,  &  V:   VA    V    V2    V$   V9    Vp9   V:   Vj   V 
   V5    V1    VT   V|    V[   V[   VM    V    9,  &  V$    VH   9,  &  V    V[    Vt    VŰ    V    V   V?    Vӯ    Vp    9,  &  V-_   V   V4    V    V5    9,  &  VR   V0   V5     D  1     6        Z e  1     -E     `     E     P  a  &     j  &  ! nt     #   ~ )   N )   * )   -  .   ".  .   0  .   T0  .   /  .   -  .   0  .   *.  .   .  .   .  .   .  .   j{ 3   { 3   v 3   k 3   y 3   /~ 3   y 3   | 3   } 3    3   ~ 3   @| 3    3    3   { 3   v 3   t 3    3   | 3   , 3   Ow 3   Yx 3   ρ 3    3   O 3   9 3   } 3   ~ 3   x 3   { 3   nx 3   ^y 3    3   z 3    3   { 3   y 3   } 3   w 3   H 8  9,  &  V  >  VW >  VuG >  V  >  V >  V= >  Vm >  Vm >  V[T >  VwT >  VjT >  Vj  >  V   >  Vo  >  V  >  V  >  V  >  V  >  V  >  V#  >  Vb  >  V1  >  V2  >  V  >  VI >  VA >  V@ >  Vm >  V* >  V
 >  V3@ >  VJ@ >  Vb@ >  V1 >  V1 >  V   >  V' >  V >  V$) >  VZx >  V >  V >  V >  V
 >  V >  V$ >  V >  V >  V  >  V{  >  VsE >  V1C >  V  >  VB >  V  >  VC >  VC >  VC >  VO >  V >  V1 >  V >  VC >  VP >  VP >  VC >  VI >  V >  V[ >  VC >  V  >  V  >  VP  >  V)  >  V >  Vs >  VBG >  V  >  V  >  VЊ  >  V  >  VT  >  V(  >  V  >  V3 >  VC >  VE >  Vl >  V0b  >  VnA >  V(s >  V >  VU >  V  >  V8 >  VaU >  Vl >  V6b  >  VtA >  V.s >  V >  V[ >  V  >  Vu >  Vu >  V  >  V
  >  Vј  >  V}  >  Vw  >  V  >  V?2 >  V"2 >  VJ< >  V}< >  VƏ  >  V& >  V( >  V2 >  V >  Vq >  V% >  V% >  VA >  VA >  Vib  >  Vcb  >  V  >  V  >  V  >  V  >  V% >  V >  V >  V >  V79 >  Vf  >  Vg  >  V >  VCg  >  VJ  >  Vf  >  V^  >  VX  >  V`D >  VE >  V_E >  VD >  VE >  V >  V6 >  V) >  V1 >  V1 >  V8Z >  VZ >  V/C  >  VC  >  VN >  Vs >  V$ >  VY >  VkE >  V >  V >  Vh  >  Vg  >  V[C >  V$ >  V$ >  Vg  >  Vxg  >  VNz  >  Vq >  V  >  V~ >  VC  >  VB  >  VB  >  VCC >  V  >  V2  >  V  >  Vʎ  >  V  >  V  >  V,  >  V%B >  VB  >  V^B >  VDE >  V-  >  V >  VB >  V >  V& >  V >  V{ >  Va >  Vɴ >  V >  V  >  V >  V >  V >  VIa  >  Va  >  V2& >  V  >  V >  VmD >  VE >  V% >  V' >  VZ >  V  >  V >  Vr >  V1& >  Vgz >  VF  >  VD >  VD >  V >  VD >  V|  >  Vy >  Vy >  VB >  V ' >  V >  V( >  VS& >  V9 >  V'( >  V& >  Vt >  V`( >  V  >  V >  V >  V >  V_ >  VЋ >  V >  Vm >  Vp >  VK >  V >  VZ >  VY >  V`J >  VOJ >  V >  VI >  V4 >  VI >  V-Y >  V  >  V&A >  VA >  V@ >  Vn  >  V >  V >  V4 >  VI >  V'Y >  V  >  V  >  VB >  VI >  V\ >  V8 >  V >  V  >  V	? >  V+* >  V >  Vw >  Vs% >  VD >  V >  V >  VL  >  V4} >  V >  V >  Vݚ  >  Vr >  V&* >  V  >  V  >  V^3 >  VP >  Vr3 >  V8 >  VJ >  V@% >  V% >  V5  >  Vg  >  Vw  >  V  >  V  >  V  >  V  >  V  >  Vk >  VI >  VE >  Vo >  V >  V >  V  >  V  >  VY  >  V~  >  V  >  V2  >  V7 >  V7 >  V8 >  VP7 >  V6 >  V7 >  Vu7 >  V6 >  V7 >  V  >  V= >  VQ >  Vԍ  >  V  >  V\Q >  V >  Vs >  V,t >  V6 >  V  >  VB  >  VB  >  V  >  Vv[ >  V{6 >  V_B  >  Va  >  Vxa  >  V_a  >  V.a  >  Va  >  V`  >  V >  V2 >  V]0 >  Vw0 >  V0 >  V0 >  V0 >  V0 >  V0 >  V1 >  V-1 >  V1 >  V2 >  V  >  V$ >  VK >  VZ >  V^ >  V  >  V  >  V >  VXX >  VX >  V!  >  V
 >  Vn  >  V:z >  V
z >  VNz >  V: >  V"z >  V  >  Vy3 >  Vg3 >  V"[ >  V  >  VP >  V<  >  VV >  V4V >  V$V >  VTW >  VGV >  VV >  V`W >  VIW >  VW >  VdV >  V0W >  VU >  VlW >  VW >  VW >  VV >  VW >  VW >  VW >  VW >  VWV >  VU >  VU >  VU >  VU >  VU >  V
 >   & &   ) &   ) &    
   @  a    C    M   8 W   C a   H     H  f   H  k   H  p   H     V  u   7P  z   7P  z   V     bM     G     P     wK     [K     gJ     JJ     G     ^+ z   D	    .M     L     z a   +                G        "        N            B            . ^[   #  #   4  &    N  e   L     zO     C  &   C     {}   9,  &  VDm   Vc    V9   V9   V:   V:   V79   VL    VP   V4}   V    V    V   V
   VF9   V<    V
   Vj   V   V   V    V}    V8   V   VM   VF    V[    VT   V   V   V&   V#&   V    V   Veq   Vb   V<   V:   V   V]9   V   VE   VFE   VWE   VE   VE   V   V   V`   V2   V   V   Ve$   Vu$   Va    V    V7    V;C    V   Vp   Va   Va   V:    VR    V^   VK4   V;   VX   V   V.    V[   Vz   Vz   V<Y   VY   Vk4   V4   V    V7r   V   V   V    VS   V%   VY    V    Vs   V6            L      J  9,  &  Vp^   V4   Vnd   V_   V   Vq          /    A   6>  S   a S   K  X   ?D  ]   ^O      b    t      T*4     G     M     T     (H        {}    7P     ^O     O    QU   Q@ &  Q> &  Q &  Q) &   s 6       G    	    g    N     E     p> &  !    Q      V   7P     /G  a   L     D  E
   O    ! EM     7N  j    V   M     L  6   ?4  &   
4  &  Q	    O  a         a                &    3    &    E   |I  '   D  E
   *H  z   I  [+   TF  &   vE  
   E  a   O  a   :W  &   V  &   vE  
   E  a   W  W   vE  
   `E     Q  &   XD  &   I  [+   H  &   vE  
   E  a   N  \   I  [+   H  &   UW  &   vE  
   E  a   I  [+   H  &   UW  &   W  &   vE  
   E  a   N  \   I  [+   vE  
       D  #   D  #   MG  ^[   MG  ^[   MG  ^[   D  #   D  #   D  #   D  #   D  #   D  #   D  #   D  #   D  #  !     ^- z  S2e   Se   SIe   Se   Se   Se   S f   Soe   Se    } `   N    9,  &  V  i  V9= i  V i  VC i  V;  i   ^- z  ! AI  n  9,  &  Vo: s  VW: s  9,  &  V7  x  Vw;  x  V'  x  V9  x  Va x  V?a x  V3  x  V  x  V` x  V
a x  V x  V><  x  Vm x  V x  Va x  V x   < }  3&    3'     "      uP   {> n   "    {> n     uP   "    e   6  '     z          v-  .   L )   5K     \   " z  6  '     0     Y    6  '          @
         6  '     7    6  '         6  '          6  '     ,    6  '          S        6  '     t    6  '     O     {     ;     n          U      &  6  '     d          {          3          
          N         6  '                 #   Tr 4   0 4  6  '  9   V  >   h
  I   #  #   d &  6  '  T   t  Y   Z e  6  '  c   t  h     r   a          C!     #     g  e   { [+   % &   - ^[   - ^[   0         !] &  6  '     4  I   %  N   Z e   {     %  N     6        {     {     k     {     {     k         6  '     a     Z e   r    {     k     {     {     k               d &  6  '     Y               !     0     7P  z  6  '          v=    Z e  6  '     7     o  &   ; .   =2  &   " )G     ra  6  '     }     
         6  '    6  '  "   " '    ,     a  6  '  1  6  '  6  6  '  ;        {    6  '  @  6  '  E  6  '  J   $ O   N &   N &   $ O   N &   N &  6  '  T   z  Y     j     j   > u  6  '  z        W           4     4   6  '     V  Y   
  j   
  j   {     {     M    6  '    6  '              6  '     M    6  '     M    6  '     M    6  '                         !     "     &$     F%     &     S'     3      7                     ""     T#     $    6  '           \   "   6  '         6  '         6  '     }     {     {    6  '       	   "=   6  '     
  	   =   6  '     }  #  6  '  0     5  P           X         h       #           Q          4    !          
!    -T ~"   !        (!      #   u!       Q   !      4    "     G   #"    A  N    0"        ="    9      J"         X"     {     "     { -   "     { N   #     { 
  	 (#     { V  
 d#       J   #        
 #        
 #    	  4    $    	Yv 4    
$    P  4    $    Y      $       4    0$      4    \$     Lv 4    x$         $         $     V   $    ^ \   $    G \   $    P  4    $    Y            
b  b   $    	  4    $    	Yv 4    $    	u 4    $       4    %     x  
   c%     Lv 4    %     .v 4    %         %         %     h   %    	  4    %    	 +   %    P  4    %    Y      %     U      &     
      &          -&     t           
b  b   ;&    	U 4    B&    	xu 4    I&    	Yv 4    P&    	]  4    W&    	  4    ^&    	lU     a&    ^ \   h&    G \   &    P  4    &    Y      &         &     p   &       4    &     8  
   &       
   !'     9T 4    P'     mu 4    t'       4    '     Lv 4    '    	T 4          
b  b   '    	U 4    '    	xu 4    '    	Yv 4    '    	]  4    '    	  4    '    	lU     '    P  4    '    Y      '         (     p   (    ^ \   (    G \   7(       4    S(     8  
   (       
   (     9T 4    (     mu 4     )       4    /)     Lv 4    K)    	T 4          
b  b   S)    	U 4    Z)    	xu 4    a)    	F  U   d)    	  4    k)    	Yv 4    r)    	z 4    y)    P  4    )    Y      )         )          )       4    )     mu 4    *       4    K*     Lv 4    g*    	T 4          
b  b   o*    	U 4    v*    	xu 4    }*    	  4    *    	      *    	lU     *    	]  4    *    	Yv 4    *    ^ \   *    G \   *    P  4    *    Y      *         *     p   *       4    +         
+     8  
   :+       
   g+     9T 4    +     mu 4    +       4    +     Lv 4    ,    	T 4          
b  b   ,    	U 4    ,    	xu 4    ,    	  4     ,    	      #,    	lU     &,    	]  4    -,    	Yv 4    4,    ^ \   ;,    G \   W,    P  4    _,    Y      h,         q,     p   ,       4     ,     8  
    ,       
    -     9T 4     0-     mu 4     T-       4     -     Lv 4     -    	T 4           
b  b    -    	U 4     -    	xu 4     -    	  4     -    	lU      -    	]  4     -    	_ 4     -    	5 +    -    	  4     -    	       -    	Yv 4     -    P  4     -    Y       -    ^ \  ! -    G \  ! .        ! $.     p  ! .       4   " .     8  
  " .       
  " .     9T 4   " '/     mu 4   " H/       4   " w/     Lv 4   " /    	T 4   "       
b  b  " /    	U 4   " /    	xu 4   " /    	  4   " /    	lU    " /    	Yv 4   " /    P  4   " /    Y     " /        # /       4   # /     mu 4   # 0       4   # ?0     9T 4   # n0     Lv 4   # 0    	T 4   #       
b  b  # 0    	U 4   # 0    	xu 4   # 0    	  4   # 0    	lU    # 0    	z 4   # 0    	Yv 4   # 0    P  4   # 0    Y     # 0        $ 0       4   $ 0     mu 4   $ 1       4   $ K1     9T 4   $ z1     Lv 4   $ 1    	T 4   $       
b  b  $ 1    	U 4   $ 1    	xu 4   $ 1    	? Q  $ 1    	? Q  $ 1    	? Q  $ 1    	> Q  $ 1    	 Q  $ 1    	 Q  $ 1    	) Q  $ 1    	Yv 4   $ 1    P  4   $ 1    Y     $ 1        % `2     9T 4   % 2     mu 4   % 2       4   % 2     Lv 4   % 2    	T 4   % 3    	  4   % 
3        % 3     w  % )3    	T 4   ( 13      4   ( 83        ( @3     w  ( U3      4   + \3        + d3     w  + y3     W  
  . 3     :   / 4     :   2 4     ^:   5 4     T   6 7     g<   9 T7     W   : 7        < @8     "   = 8         > 8    , +
  ? >    b  b  ?  ?    U 4   ? ?    xu 4   ? ?    Yv 4   ? ?    ]  4   ? &?        ? .?     p  ? 7?    b  b  @ :?    U 4   @ F?    xu 4   @ R?    Yv 4   @ Y?    ]  4   @ `?        @ h?     p  @ q?    b  b  A t?    U 4   A ?    xu 4   A ?    Yv 4   A ?    ]  4   A ?        A ?     p  A ?    b  b  B ?    U 4   B ?    xu 4   B ?    Yv 4   B ?    ]  4   B ?        B ?     p  B ?    b  b  C ?    U 4   C ?    xu 4   C  @    Yv 4   C @    ]  4   C @        C @     p  C @    lU    D "@    b  b  D )@    U 4   D 5@    xu 4   D A@    Yv 4   D H@    ]  4   D O@    _ 4   D X@      4   D w@        D @     p  D @    lU    E @    b  b  E @    U 4   E @    xu 4   E @    Yv 4   E @    ]  4   E @    _ 4   E @      4   E @        E @     p  E @    b  b  F @    U 4   F A    xu 4   F A    Yv 4   F A        F "A    F  U  F AA    X U  F HA     =  U  F B    b  b  F B    U 4   F (B    xu 4   F 4B    Yv 4   F ;B    ]  4   F BB         F EB        F MB     p  F XB         G B    b  b  G B    U 4   G B    xu 4   G C    Yv 4   G C    ]  4   G C        G C     p  G #C    b  b  H *C    U 4   H 6C    xu 4   H BC    Yv 4   H IC    ]  4   H PC        H XC     p  H aC    b  b  I hC    U 4   I tC    xu 4   I C    Yv 4   I C    ]  4   I C        I C     p  I C    b  b  J C    U 4   J C    xu 4   J C    Yv 4   J C    ]  4   J C        J C     p  J C    b  b  K C    U 4   K C    xu 4   K C    Yv 4   K D    ]  4   K 
D        K D     p  K D    b  b  L "D    U 4   L .D    xu 4   L :D    Yv 4   L AD    ]  4   L HD        L PD     p  L YD    b  b  M `D    U 4   M lD    xu 4   M xD    Yv 4   M D    ]  4   M D        M D     p  M D    b  b  N D    U 4   N D    xu 4   N D    Yv 4   N D    ]  4   N D        N D     p  N D    b  b  O D    U 4   O D    xu 4   O D    Yv 4   O E    ]  4   O E         O E        O E     p  O  E         P E    b  b  P E    U 4   P E    xu 4   P E    Yv 4   P E    ]  4   P E        P F     p  P F    b  b  Q F    U 4   Q F    xu 4   Q *F    Yv 4   Q 1F    ]  4   Q 8F        Q @F     p  Q IF    b  b  R PF    U 4   R \F    xu 4   R hF    Yv 4   R oF    ]  4   R vF        R ~F     p  R F    b  b  S F    U 4   S F    xu 4   S F    Yv 4   S F    ]  4   S F        S F     p  S F    b  b  T F    U 4   T F    xu 4   T F    Yv 4   T F    ]  4   T F        T F     p  T G    b  b  U 
G    U 4   U G    xu 4   U "G    Yv 4   U )G    ]  4   U 0G        U 8G     p  U AG    b  b  V HG    U 4   V TG    xu 4   V `G    Yv 4   V gG    ]  4   V nG        V vG     p  V G    b  b  W G    U 4   W G    xu 4   W G    Yv 4   W G    ]  4   W G        W G     p  W G    b  b  X G    U 4   X G    xu 4   X G    Yv 4   X G    ]  4   X G        X G     p  X G    b  b  Y G    U 4   Y 
H    xu 4   Y H    Yv 4   Y H    ]  4   Y $H         Y 'H        Y /H     p  Y 8H         Z jH    b  b  Z qH    U 4   Z }H    xu 4   Z H    Yv 4   Z H    ]  4   Z H        Z H     p  Z H    b  b  [ H    U 4   [ H    xu 4   [ H    Yv 4   [ H    ]  4   [ H        [ H     p  [ H    b  b  \ H    U 4   \ H    xu 4   \ I    Yv 4   \ I    ]  4   \ I        \ I     p  \ $I    b  b  ] 'I    U 4   ] 3I    xu 4   ] ?I    Yv 4   ] FI    ]  4   ] MI         ] PI        ] XI     p  ] aI         ^ I    b  b  ^ I    U 4   ^ I    xu 4   ^ I    Yv 4   ^ I    ]  4   ^ I        ^ I     p  ^ I    b  b  _ I    U 4   _ I    xu 4   _ I    Yv 4   _ I    ]  4   _ I        _ J     p  _ J    b  b  ` J    U 4   ` "J    xu 4   ` .J    Yv 4   ` 5J    ]  4   ` <J        ` DJ     p  ` MJ    b  b  a TJ    U 4   a `J    xu 4   a lJ    Yv 4   a sJ    ]  4   a zJ        a J     p  a J    b  b  b J    U 4   b J    xu 4   b J    Yv 4   b J    ]  4   b J        b J     p  b J    b  b  c J    U 4   c J    xu 4   c J    Yv 4   c J    ]  4   c J        c J     p  c K    b  b  d K    U 4   d K    xu 4   d &K    Yv 4   d -K    ]  4   d 4K        d <K     p  d EK    b  b  e LK    U 4   e XK    xu 4   e dK    Yv 4   e kK    ]  4   e rK        e zK     p  e K    b  b  f K    U 4   f K    xu 4   f K    Yv 4   f K    ]  4   f K        f K     p  f K    b  b  g K    U 4   g K    xu 4   g K    Yv 4   g K    ]  4   g K        g K     p  g K    b  b  h L    U 4   h L    xu 4   h L    Yv 4   h (L        h ~L    b  b  h L    U 4   h L    xu 4   h L    Yv 4   h L        h L    b  b  h M    U 4   h 
M    xu 4   h M    Yv 4   h  M    ]  4   h 'M        h /M     p  h 8M    lU    i ;M    b  b  i >M    U 4   i GM    xu 4   i PM    Yv 4   i WM    ]  4   i ^M        i fM     p  i oM    lU    j rM    b  b  j uM    U 4   j ~M    xu 4   j M    Yv 4   j M    ]  4   j M        j M     p  j M    b  b  k M    U 4   k M    xu 4   k M    Yv 4   k M    ]  4   k M        k M     p  k M    b  b  l M    U 4   l M    xu 4   l M    Yv 4   l N    ]  4   l 
N        l N     p  l N    b  b  m N    U 4   m +N    xu 4   m 7N    Yv 4   m >N    ]  4   m EN        m MN     p  m VN    b  b  n ZN    U 4   n fN    xu 4   n rN    Yv 4   n yN    z 4   n N        n N     Yy    n N    F  U  p N    X U  p N     =  U  p @O     }   p O    b  b  p O    U 4   p O    xu 4   p O    Yv 4   p O    z 4   p P        p +P    F  U  p JP    X U  p TP     =  U  p P    lU    p P    b  b  p P    U 4   p P    xu 4   p P    Yv 4   p P    ]  4   p P       4   p P        p P     p  p P    lU    q P    b  b  q P    U 4   q Q    xu 4   q Q    Yv 4   q Q    ]  4   q "Q       4   q )Q        q 1Q     p  q :Q    lU    r =Q    b  b  r @Q    U 4   r LQ    xu 4   r XQ    Yv 4   r _Q    ]  4   r fQ         r iQ        r qQ     p  r |Q         s Q    b  b  s Q    U 4   s Q    xu 4   s Q    Yv 4   s Q        s R     p  s R    b  b  t R    U 4   t  R    xu 4   t ,R    Yv 4   t 3R        t ;R     p  t DR    b  b  u HR    U 4   u TR    xu 4   u `R    Yv 4   u gR        u oR     p  u xR    b  b  v |R    U 4   v R    xu 4   v R    Yv 4   v R        v R     p  v R    b  b  w R    U 4   w R    xu 4   w R    Yv 4   w R        w R     p  w R    lU    x R    b  b  x R    U 4   x R    xu 4   x R    Yv 4   x S    ]  4   x 
S       4   x S        x S     p  x %S    lU    y (S    b  b  y ,S    U 4   y 8S    xu 4   y DS    Yv 4   y KS    ]  4   y RS       4   y YS        y aS     p  y jS    lU    z mS    b  b  z qS    U 4   z }S    xu 4   z S    Yv 4   z S    ]  4   z S       4   z S        z S     p  z S    lU    { S    b  b  { S    U 4   { S    xu 4   { S    Yv 4   { S    ]  4   { S       4   { S        { S     p  { S    lU    | S    b  b  | S    U 4   | T    xu 4   | T    Yv 4   | T    ]  4   | !T       4   | (T        | 0T     p  | 9T    lU    } <T    b  b  } @T    U 4   } LT    xu 4   } XT    Yv 4   } _T    ]  4   } fT       4   } mT        } uT     p  } ~T    lU    ~ T    b  b  ~ T    U 4   ~ T    xu 4   ~ T    Yv 4   ~ T    ]  4   ~ T       4   ~ T    _ 4   ~ T    5 +  ~ T      4   ~ T        ~ T     p  ~ T    lU     T    b  b   T    U 4    U    xu 4    U    Yv 4    U    ]  4    !U       4    (U    _ 4    4U      4    SU         \U     p   !W    lU     $W    b  b   (W    U 4    4W    xu 4    @W    Yv 4    GW    ]  4    NW         VW     p   _W    lU     bW    b  b   fW    U 4    rW    xu 4    ~W    Yv 4    W    ]  4    W         W     p   W    lU     W    b  b   W    U 4    W    xu 4    W    Yv 4    W    ]  4    W         W     p   W    lU     W    b  b   W    U 4    W    xu 4    W    Yv 4    X    ]  4    X         X     p   X    lU     X    b  b    X    U 4    ,X    xu 4    8X    Yv 4    ?X    ]  4    FX       4    MX         UX     p   ^X    lU     aX    b  b   eX    U 4    qX    xu 4    }X    Yv 4    X    ]  4    X       4    X         X     p   X    lU     X    b  b   X    U 4    X    xu 4    X    Yv 4    X    ]  4    X         X     p   X    lU     X    b  b   X    U 4    X    xu 4     Y    Yv 4    Y    ]  4    Y       4    Y         Y     p   &Y    lU     )Y    b  b   -Y    U 4    9Y    xu 4    EY    Yv 4    LY    ]  4    SY       4    ZY         bY     p   kY    lU     nY    b  b   rY    U 4    ~Y    xu 4    Y    Yv 4    Y    ]  4    Y       4    Y         Y     p   Y    lU     Y    b  b   Y    U 4    Y    xu 4    Y    Yv 4    Y    ]  4    Y       4    Y         Y     p   Y    lU     Y    b  b   Y    U 4    Z    xu 4    Z    Yv 4    Z    ]  4    !Z          $Z         ,Z     p   8Z          Z    b  b   Z    U 4    Z    xu 4    Z         Z     p   Z    b  b   Z    U 4    Z    xu 4    Z         [     p   [    b  b   [    U 4    [    xu 4    +[         3[     p   <[    b  b   @[    U 4    L[    xu 4    X[    Yv 4    _[         g[     p   p[    b  b   t[    U 4    [    xu 4    [    Yv 4    [         [     p   [    b  b   [    U 4    [    xu 4    [    Yv 4    [         [     p   [    b  b   [    U 4    [    xu 4    [    Yv 4    [         \     p   \    lU     \    b  b   \    U 4    \    xu 4    +\    Yv 4    2\    ]  4    9\    _ 4    D\      4    c\         k\     p   t\    b  b   x\    U 4    \    xu 4    \    Yv 4    \    ]  4    \         \     p   \    b  b   \    U 4    \    xu 4    \    Yv 4    \    ]  4    \         \     p   \    b  b   \    U 4    \    xu 4    ]    Yv 4    
]    ]  4    ]         ]     p   %]    b  b   )]    U 4    5]    xu 4    A]    Yv 4    H]    ) Q   O]     Q   V]         ^]    b  b   b]    U 4    n]    xu 4    z]    Yv 4    ]    ]  4    ]         ]     p   ]    b  b   ]    U 4    ]    xu 4    ]    Yv 4    ]    ]  4    ]         ]     p   ]          ]    b  b   ]         ^         ^    b  b   ^    U 4    ^    xu 4    +^    Yv 4    2^    ]  4    9^         A^     p   J^    b  b   N^    U 4    Z^    xu 4    f^    Yv 4    m^    ]  4    t^         |^     p   ^    b  b   ^    U 4    ^    xu 4    ^    Yv 4    ^    ]  4    ^         ^     p   ^    b  b   ^    U 4    ^    xu 4    ^    Yv 4    ^    ]  4    ^         ^     p   ^    b  b   _    U 4    _    xu 4    _    Yv 4    $_    ]  4    +_         3_     p   <_    b  b   C_    U 4    O_    xu 4    [_    Yv 4    b_    ]  4    i_         q_     p   z_    b  b   _    U 4    _    xu 4    _    Yv 4    _    ]  4    _         _     p   _    b  b   _    U 4    _    xu 4    _    Yv 4    _    ]  4    _         _     p   _    b  b   _    U 4    `    xu 4    `    Yv 4    `    ]  4     `         (`     p   1`    b  b   8`    U 4    D`    xu 4    P`    Yv 4    W`    ]  4    ^`         f`     p   p`          `    b  b   `    U 4    `    xu 4    `    Yv 4    a         a     p   a    b  b   a    U 4    'a    xu 4    3a    Yv 4    :a         Ba     p   Ka    b  b   Ra    U 4    ^a    xu 4    ja    Yv 4    qa         ya     p   a    b  b   a    U 4    a    xu 4    a    Yv 4    a         a     p   a    b  b   a    U 4    a    xu 4    a    Yv 4    a         a     p   a    b  b   a    U 4    b    xu 4    b    Yv 4    b         b     p   'b    b  b   .b    U 4    :b    xu 4    Fb    Yv 4    Mb    ]  4    Tb         \b     p   eb    b  b   lb    U 4    xb    xu 4    b    Yv 4    b    ]  4    b         b     p   b    b  b   b    U 4    b    xu 4    b    ]  4    b    Yv 4    b         b     p   b    b  b   b    U 4    b    xu 4     c    ]  4    c    Yv 4    c         c     p   c    b  b   &c    U 4    2c    xu 4    >c    ]  4    Ec    Yv 4    Lc         Tc     p   ]c    b  b   dc    U 4    pc    xu 4    |c    ]  4    c    Yv 4    c         c     p   c    b  b   c    U 4    c    xu 4    c    ]  4    c    Yv 4    c         c     p   c    b  b   c    U 4    c    xu 4    c    ]  4    c    Yv 4    d         d     p   d    b  b   d    U 4    *d    xu 4    6d    ]  4    =d    Yv 4    Dd         Ld     p   Ud    b  b   \d    U 4    hd    xu 4    td    ]  4    {d    Yv 4    d         d     p   d    b  b   d    U 4    d    xu 4    d    Yv 4    d    ]  4    d          d         d     p   d          -e    b  b   1e    Yv 4    8e    U 4    De    xu 4    Pe    ]  4    We         _e     p   he    b  b   le    U 4    xe    xu 4    e    Yv 4    e    ]  4    e         e     p   e    b  b   e    U 4    e    xu 4    e    Yv 4    e    ]  4    e         e     p   e    b  b   e    U 4    e    xu 4    e    Yv 4    f    ]  4    f         f     p   f    b  b   f    U 4    )f    xu 4    5f    Yv 4    <f         Kf     p   [f    b  b   ^f    U 4    jf    xu 4    vf    Yv 4    }f    ]  4    f          f         f     p   f          f    b  b   f    U 4    f    xu 4    f    Yv 4    f    ]  4    f         f     p   f    b  b   f    U 4    g    xu 4    g    Yv 4    g    ]  4    g         'g     p   0g    b  b   3g    U 4    ?g    xu 4    Kg    Yv 4    Rg    ]  4    Yg          \g         dg     p   pg          
h    b  b   h    U 4    h    Yv 4    #h         +h     p   4h    b  b   8h    U 4    @h    Yv 4    Gh         Oh     p   Xh    b  b   \h    U 4    eh    Yv 4    lh         th     p   }h    b  b   h    U 4    h    Yv 4    h         h     p   h    b  b   h    U 4    h    Yv 4    h         h     p   h    b  b   h    U 4    h    Yv 4    h         h     p   h    b  b   h    U 4    h    Yv 4    h         i     p   i    b  b   i    U 4    i    Yv 4    $i         ,i     p   5i    b  b   9i    U 4    Ei    xu 4    Qi    Yv 4    Xi         gi     p   wi    b  b   zi    U 4    i    xu 4    i    Yv 4    i    ]  4    i          i         i     p   i          j    b  b   j    U 4    j    xu 4    j    Yv 4    $j    ]  4    +j         3j     p   <j    b  b   @j    U 4    Lj    xu 4    Xj    Yv 4    _j    ]  4    fj         nj     p   wj    b  b   {j    U 4    j    xu 4    j    Yv 4    j    ]  4    j         j     p   j    b  b   j    U 4    j    xu 4    j    Yv 4    j    ]  4    j         j     p   j    b  b   j    U 4    
k    xu 4    k    Yv 4    k    ]  4    $k          'k         /k     p   8k          k    b  b   k    U 4    k    xu 4    k    Yv 4    k    ]  4    k         k     p   k    b  b   k    U 4    k    xu 4    k    Yv 4    k    ]  4    k         l     p   l    b  b   l    U 4    l    xu 4    'l    Yv 4    .l    ]  4    5l         =l     p   Fl    b  b   Jl    U 4    Vl    xu 4    bl    Yv 4    il    ]  4    pl         xl     p   l    b  b   l    U 4    l    xu 4    l    Yv 4    l    ]  4    l         l     p   l    b  b   l    U 4    l    xu 4    l    ]  4    l    _ 4    l    5 +   l      4    m          m    Yv 4    m         $m     p   -m    b  b   4m    U 4    @m    xu 4    Lm    Yv 4    Sm    ]  4    Zm         bm     p   km    b  b   rm    U 4    ~m    xu 4    m    Yv 4    m    ]  4    m         m     p   m    b  b   m    U 4    m    xu 4    m    Yv 4    m    ]  4    m          m         m     p   m          n    b  b   n    U 4    n    xu 4    n    Yv 4    n         n     p   n    b  b   n    U 4    n    xu 4    n    Yv 4    n         n     p   o    b  b   
o    U 4    o    xu 4    "o    Yv 4    )o         1o     p   :o    b  b   Ao    U 4    Mo    xu 4    Yo    Yv 4    `o         ho     p   qo    b  b   xo    U 4    o    xu 4    o    Yv 4    o         o     p   o    b  b   o    U 4    o    xu 4    o    Yv 4    o         o     p   o    b  b   o    U 4    o    xu 4    o    Yv 4    p         
p     p   p    b  b   p    U 4    )p    xu 4    5p    Yv 4    <p         Dp     p   Mp    b  b   Tp    U 4    `p    xu 4    lp    Yv 4    sp         {p     p   p    b  b   p    U 4    p    xu 4    p    Yv 4    p         p     p   p    b  b   p    U 4    p    xu 4    p    Yv 4    p    ]  4    p          p         p     p   p          *q    b  b   1q    U 4    =q    xu 4    Iq    Yv 4    Pq    ]  4    Wq         _q     p   hq    b  b   oq    U 4    {q    xu 4    q    Yv 4    q    ]  4    q         q     p   q    b  b   q    U 4    q    xu 4    q    Yv 4    q    ]  4    q         q     p   q    b  b   q    U 4    q    xu 4    q    Yv 4    r    ]  4    
r          r         r     p   !r          Sr    b  b   Zr    U 4    fr    xu 4    rr    Yv 4    yr    ]  4    r         r     p   r    b  b   r    U 4    r    xu 4    r    Yv 4    r    ]  4    r         r     p   r    b  b   r    U 4    r    xu 4    r    Yv 4    r    ]  4    r         s     p   
s    b  b   s    U 4     s    xu 4    ,s    Yv 4    3s    ]  4    :s         Bs     p   Ks    b  b   Rs    U 4    ^s    xu 4    js    Yv 4    qs         ys    b  b   s    U 4    s    xu 4    s    Yv 4    s         s    b  b   s    U 4    s    xu 4    s    Yv 4    s         s    b  b   s    U 4    s    xu 4    s    Yv 4    s         t    b  b   
t    U 4    t    xu 4    "t    Yv 4    )t         1t    b  b   8t    U 4    Dt    xu 4    Pt    Yv 4    Wt         _t    b  b   ft    U 4    rt    ) Q   yt     Q   t    Yv 4    t         t    b  b   t    U 4    t    xu 4    t    Yv 4    t         t    F  U   t    X U   t     =  U   lu    b  b   su    U 4    u    xu 4    u    Yv 4    u         u    F  U   u    X U   u     =  U   Fv    b  b   Mv    U 4    Yv    xu 4    ev    ]  4    lv    _ 4    uv    5 +   |v      4    v    Yv 4    v         v     p   v    b  b   v    U 4    v    xu 4    v    Yv 4    v    ]  4    v          v         v     p   v          w    b  b   w    U 4    w    xu 4    w    Yv 4    w    ]  4    w         w     p   w    b  b   w    U 4    w    xu 4    
x    Yv 4    x    ]  4    x          x     p   )x    b  b   0x    U 4    <x    xu 4    Hx    Yv 4    Ox    ]  4    Vx         ^x     p   gx    b  b   nx    U 4    zx    xu 4    x    Yv 4    x    ]  4    x         x     p   x    b  b   x    U 4    x    xu 4    x    Yv 4    x    ]  4    x         x     p   x    b  b   x    U 4    y    xu 4    y    Yv 4    y    ]  4    y         &y     p   /y    b  b   6y    U 4    By    xu 4    Ny    Yv 4    Uy    ]  4    \y         dy     p   my    b  b   ty    U 4    y    xu 4    y    Yv 4    y    ]  4    y         y     p   y    b  b   y    U 4    y    xu 4    y    Yv 4    y    ]  4    y         y     p   y    b  b   y    U 4    
z    xu 4    z    Yv 4    z    ]  4    $z         ,z     p   5z    b  b   <z    U 4    Hz    xu 4    Tz    Yv 4    [z    ]  4    bz         qz     p   z    b  b   z    U 4    z    xu 4    z    Yv 4    z    ]  4    z    _ 4    z      4    z         z     p   z    b  b   z    U 4    z    xu 4    {    Yv 4    
{    ]  4    {          {         {     p   ({          u{    b  b   |{    U 4    {    xu 4    {    Yv 4    {    ]  4    {         {     p   {    b  b   {    U 4    {    xu 4    {    Yv 4    {    ]  4    {         {     p   {    b  b   {    U 4    |    xu 4    |    Yv 4    |    ]  4    |         &|     p   /|    b  b   6|    U 4    B|    xu 4    N|    Yv 4    U|    ]  4    \|         d|     p   m|    b  b   t|    U 4    |    xu 4    |    Yv 4    |    ]  4    |         |     p   |    b  b   |    U 4    |    xu 4    |    Yv 4    |    ]  4    |         |     p   |    b  b   |    U 4    |    xu 4    }    Yv 4    }    ]  4    }          }         }     p   (}          u}    b  b   |}    U 4    }    xu 4    }    Yv 4    }    ]  4    }         }     p   }    b  b   }    U 4    }    xu 4    }    Yv 4    }    ]  4    }         }     p   }    b  b   }    U 4    ~    xu 4    ~    Yv 4    ~    ]  4    ~         &~     p   /~    b  b  6~    U 4   B~    xu 4   N~    Yv 4   U~    ]  4   \~        d~     p  m~    b  b  t~    U 4   ~    xu 4   ~    Yv 4   ~    ]  4   ~        ~     p  ~    b  b  ~    U 4   ~    xu 4   ~    Yv 4   ~    ]  4   ~        ~     p  ~    b  b  ~    U 4   ~    xu 4       Yv 4       ]  4                p  '    b  b  .    U 4   :    xu 4   F    Yv 4   M    ]  4   T        \     p  e    b  b  l    U 4   x    xu 4       Yv 4       ]  4                p      b  b      U 4       xu 4       Yv 4       ]  4                p      b  b      U 4       xu 4       Yv 4       ]  4   
         
             p           	P    b  b  	W    U 4   	c    xu 4   	o    Yv 4   	v    ]  4   	}        	     p  	    b  b  
    U 4   
    xu 4   
    Yv 4   
    ]  4   
        
À     p  
̀    b  b  Ӏ    U 4   ߀    xu 4       Yv 4       ]  4                p  
    b  b      U 4       xu 4   )    Yv 4   0    ]  4   7    lU    :       4   A        I     p  R    b  b  
Y    U 4   
e    xu 4   
q    Yv 4   
x    ]  4   
    lU    
       4   
        
     p  
    b  b      U 4       xu 4       Yv 4       ]  4   ǁ    lU    ʁ       4   с        ف     p      b  b      U 4       xu 4       Yv 4       ]  4       lU           4           !     p  *    b  b  1    U 4   =    xu 4   I    Yv 4   P    ]  4   W    lU    Z       4   a        i     p  r    b  b  y    U 4       xu 4       Yv 4       ]  4       lU           4                p      b  b      U 4   ͂    xu 4   ق    Yv 4       ]  4       lU           4                p      b  b  	    U 4       xu 4   !    Yv 4   (    ]  4   /    lU    2       4   9        A     p  J    b  b  Q    U 4   ]    xu 4   i    Yv 4   p    ]  4   w    lU    z       4                p      b  b      U 4       xu 4       Yv 4       ]  4           ǃ     p  Ѓ    b  b  ׃    U 4       xu 4       Yv 4       ]  4                p      b  b      U 4   !    xu 4   -    Yv 4   4    ]  4   ;        C     p  L    b  b  P    U 4   \    xu 4   h    Yv 4   o    ]  4   v        ~     p      b  b      U 4       xu 4       Yv 4       ]  4                p          Ԅ        ݄                    9Q 4       BQ          4       b  b  	                $        ,        5    9Q 4   =    BQ    F      4    M    b  b   P         b         k        !s        !|    9Q 4   "    BQ    "      4   #    b  b  #        #        #        $        $ą    9Q 4   %̅    BQ    %Յ      4   &܅    b  b  &    u 4   &    Yv 4   &        &         &
        '        '    9Q 4   (#    BQ    (,      4   )3    b  b  )7    u 4   )>    Yv 4   )E        )W        )`        *h        *q    9Q 4   +y    BQ    +      4   ,    Yv 4   ,    b  b  ,        ,        ,        -        -    9Q 4   .ǆ    BQ    .І      4   /׆    Yv 4   /ކ    b  b  /        /        /        0        0
    9Q 4   1    BQ    1      4   2%    b  b  2(    Yv 4   2/        2A        2J        3R        3[    9Q 4   4c    BQ    4l      4   5s    b  b  5v    Yv 4   5}        5        5        6        6    9Q 4   7    BQ    7      4   8    b  b  8ć    Yv 4   8ˇ        8݇        8        9        9    9Q 4   :    BQ    :      4   ;    b  b  ;    Yv 4   ;        ;+        ;4    9Q 4   <<    BQ    <E      4   =L    b  b  =O    Yv 4   =V        =h        =q        >y        >    9Q 4   ?    BQ    ?      4   @    b  b  @    Yv 4   @        @        @        Aǈ        AЈ    9Q 4   B؈    BQ    B      4   C    b  b  C    Yv 4   C        C        C        D        D    9Q 4   E'    BQ    E0      4   F7    b  b  F;    u 4   FB    Yv 4   FI        F[        Fe        Gm        Gv    9Q 4   H~    BQ    H      4   I    b  b  I    Yv 4   I        I        I        J        J    9Q 4   Kɉ    BQ    K҉      4   Lى    b  b  L܉    Yv 4   L        L        L        M        M    9Q 4   N    BQ    N      4   O$    b  b  O'    Yv 4   O.        O@        OI        PQ        PZ    9Q 4   Qb    BQ    Qk      4   Rr    b  b  Ru    Yv 4   R|        R        R        S        S    9Q 4   T    BQ    T      4   U    b  b  UÊ    Yv 4   Uʊ        U܊        U        V        V    9Q 4   W    BQ    W      4   X    b  b  X    Yv 4   X        X*        X3        Y;        YD    9Q 4   ZL    BQ    ZU      4   [\    b  b  [_    Yv 4   [f        [u        [~        \        \    9Q 4   ]    BQ    ]      4   ^    b  b  ^    Yv 4   ^        ^Ë        ^̋        _ԋ        _݋    9Q 4   `    BQ    `      4   a    b  b  a    Yv 4   a        a        a        b"        b+    9Q 4   c3    BQ    c<      4   dC    b  b  dF    Yv 4   dM        d_        dh        ep        ey    9Q 4   f    BQ    f      4   g    b  b  g    Yv 4   g        g        g        h        hǌ    9Q 4   iό    BQ    i،      4   jߌ    b  b  j    Yv 4   j        j        j        k
        k    9Q 4   l    BQ    l'      4   m.    b  b  m5    u 4   m<    Yv 4   mC        mU        m^        nf        no    9Q 4   ow    BQ    o      4   p    b  b  p    Yv 4   p        p        p        q        qč    9Q 4   r̍    BQ    rՍ      4   s܍    b  b  s    u 4   s    Yv 4   s        s        s        t        t    9Q 4   u%    BQ    u.      4   v5    b  b  v8    Yv 4   v?        vQ        va        wi        wr    9Q 4   xz    BQ    x      4   y    b  b  y    Yv 4   y        y        y        z        zĎ    9Q 4   {̎    BQ    {Վ      4   |܎    b  b  |ߎ    Yv 4   |        |        |        }	        }    9Q 4   ~    BQ    ~#      4   *    b  b  -    Yv 4   4        F        O        W        `    9Q 4   h    BQ    q      4   x    b  b  {    Yv 4                                       9Q 4       BQ          4   Ə    b  b  ɏ    Yv 4   Џ                                    9Q 4       BQ    
      4       b  b      Yv 4           0        9        A        J    9Q 4   R    BQ    [      4   b    b  b  e        w                            9Q 4       BQ          4       b  b          Ð        Ґ    9Q 4   ڐ    BQ          4       Yv 4                       9Q 4       BQ    #      4   *    Yv 4   1        C        R    9Q 4   Z    BQ    c      4   j    Yv 4   q                    9Q 4       BQ          4       Yv 4           Ñ        ґ    9Q 4   ڑ    BQ          4       Yv 4                       9Q 4       BQ    #      4   *    Yv 4   1        C        R    9Q 4   Z    BQ    c      4   j    Yv 4   q                    9Q 4       BQ          4       Yv 4           Ò        Ғ    9Q 4   ڒ    BQ          4       Yv 4                       9Q 4       BQ    #      4   *    Yv 4   1        C        R    9Q 4   Z    BQ    c      4   j    Yv 4   q                    9Q 4       BQ          4       Yv 4         4   Γ     +  ޓ              4        +                4   6     +  F        P            x            ʔ        Ҕ     ) 4   ٔ       Y       E 4        	      \           (     G 
       $  4            4             , +
      7<       K<        4        '        ?                        _<       ?:         K:         g       h        4                    .        G     4   Y        {            1        z        z        	  $      	  *  "    	I 1  >    	I 7  d      
       )          _  
  J     _  
  |     4  v       1          
       $          4   %     	    5       4   X     - 
       x         F-    D     V0 >                  4        W         :         	B  4       z  4       V ?        c  Y        D       E 
  P     q 
        
       6 
  @      
        
        
  ,     8 
       V 
  h     ? 
       5 
       [ E  x     	 
       R        
       r                t! X  2     t! b  L     ! h       p      0 R       	X                   {    e     { V  |     { N       G         G N       G v  P     G   |     G        G        G        G S         T       L        l
        
                        q    !        4        G        Z        m                            3       AD        jD         
           4        d                     8        D   "       *     ? 
  1       D       W      
  j      
  }    6        6                      3        3        <        <              H     .   x     
7         3 #        *  <     <  4       <           M
      * ;  	      4   	         	    *     
    *     
     A       A       
  
      '  4   
(       4   
/     <R    
2      
  
:     H  
G     p  
O    J N  
W    V T  
_    h Z  
g     `  
o    K f  
w     l  
         
    	  r      	  x      `   7       S    J[ Q  a    ][    p    f(  4       }(         :        K       o       Y        ^:         r      B F      	C       4D F      JD       
 H   2      4   ?       G    / H   O     H   X    
    ,     -9   `     2E       F     < F      6   &    m0 SS  5   8   @    ;   b   ;A  N   j   XA  S   s   A  N   |   'A  S      M   /    nM    a   b4  4   n   q4        A  N      A  S       L      3    !    M    !    HL    !    ;     !    HM    !+        !L    =C    !   (  N   !   L S   !    =    "    /   #    ~/   $X	    I= E  &y	     X
  '	    JP   '	   +7   (	   $   (	      (	    
    (\
        (
      4   (
      4   (    e     (L    {     (n    G    (   :   (   V   (   0!   )   =!   *   q!    +    /0   +(
    /   +
    / b  +7    <    -l       .    !    /    T*   0    :     2    0   2"   ; 
  3,    ]#    4q    .    4    .  V  5    .  N  7    .    9    .    ;    .    >       A    > Q  A(   8>    A1   -!   B9   C! n   BB   < x  CJ   P p  CS   [ Q  Da   [    D   v,     E   ,     E    Z   F    Q>   H    d    I`    ! *  J    d x  K    [ Q  K       K       K    	"    K   	"    K    
    L.      4   L5   / SS  LD        MG    /    MY    +7 1  Mb   `7   Nj    s   Nr   : y   Nz   ;    N       N   
    N   g    N   6     N       N   D    N   R    N   	    N   
    O   
    P       Q       R   C    S       T   /    U   6    V   u    W   `    X       Y&   C    Z/   C    [8      \@     4   \H        \Q        ]Y      ]c    
    _      4   _   	"    _   	"    _    
    `      4   `   / SS  `        a    /    a   `7   a       a    s   a   : y   a    ;    a       a   
    a   g    a    6     a(       a0   D    a8   R    a@   	    aI   
    bR   
    c[       dd       em   C    fv       g   /    h   6    i   u    j   `    k       l   C    m   C    n      o     4   o        o        p       p      4   p    
    p   g    p   6h    p   [     q$        q-       r6       s?   u   tG   i   tO     4   tW        t`        uh       up      :  u     j  :  u!    W     u!        u&#    > A  u6#    > I  wF#    > R  zR#    > [  }d#    > e  t#    > o  #    k  z                                 v    $   
!  4   $   !     $   )  4   $   )     &$       <$       O$   M     ]$   _     l$   W   $     
  $    k    $    H D  %    H "  (%    k  z  %       %       %       %   	y 4   %   y    %     4   %        %    H C  0&    k    j&       r&       &      &      &      '   P  4   )'   Y     <'   x 4   N'   x    a'       o'   +    ~'   U  4   '   h     '   )  4   '   9     '    4   '       '    4   '       (    H C  (    = 4   $)    M    *    k    *      X+   . 4   `+     4   r+        +      +     
  +    H D  +    k    -,       5,    H "  @,    k  z  ,    @   4-     @   @.    J   .       /       /       /         0   #Y   0      0    4   0   0    0       0       Y1     
  t1    H D  1        2   	   2   3 4   #2   3    ;2   _v 4   R2   iv    j2   U  4   2   b     2   &  4   2   3     2    H   3       )3       13       G3    4   Y3       l3    4   ~3   
    3    H C  3    k    4    H "   4    k    4       4   	   4       4   m    4       4       5       $5   h    75   w    K5        ^5        r5   E   z5   
    5   
    5    H   6   	   6   u 7-  6      26   { 7-  E6   {   Y6   W 7-  l6   W   6   I 7-  6   I   6   cG 7-  6   lG   6   F  7-  6   P    6     7-  7       7     7-  /7      C7    7-  V7   %   j7   /v 7-  }7   8v   7    4   7   Ʃ    7     C-  7     .  7   	G 7-  7   	%G   8   5  7-  !8   5    58   _*     H8   *     \8   /     o8   /     8   V 7-  8   W   8   _e y.  8   ~e .  8   Y 7-  8   c   8   e    9   e    9   e   69   a    I9   s    ]9        `9        i9   S    |9   T    9   0?     9   D?     9    7-  9      9    7-  9      :       :    *  Q:      l:    *  :     n.  :   Œ  .  :   |  n.  :     .  :        ;        ;   
    2;   
    F;   Z 7-  Y;   Z   m;   J8 7-  ;   e8   ;   A 7-  ;   +A   ;    H   
<       <   	   %<   d   8<   e   L<       _<   E    s<       <        <    +  <      <       <       <       =       =    H   r=       =   	   =   i&   =   q& %  =       =   	   =    7-  =      =   
 7-  >   
   >     7-  2>       F>    7-  Y>      m>    7-  >      >    7-  	>      	>   V 7-  
>   g   
>    7-  >      	?    7-  ?      0?    7-  
C?      
W?   ` 7-  j?   o   ~?   < 7-  ?   O   ?    7-  ?   

   ?    7-  ?      ?     7-  @   ʿ    @    7-  -@      A@   < 7-  T@   N   h@    7-  {@      @    7-  @      @     7-  @   '    @   6 7-  @   6   A   m 7-  A   m   +A    7-  >A   -   RA   ! 7-  eA   6   yA    7-  A      A   +  7-  A   +    A   o 7-  A   z   A    7-  B      B   Q 7-   (B   `    <B   7 7-  !OB   K   !cB   t 7-  "vB      "B    7-  #B      #B     ,  $B     =-  $B    j     $&C       $9C       $LC   R 2  $TC    H D  $C     
  %C   
=    %C   )=    %C   Z     &C   r     &C   $    'C   ,$    'D   u 4   (D   u    (1D    4   )CD       )VD   	 4   *hD       *{D      +D      +D    H D  ,,E       -4E   	   -<E      -OE    0  -cE   2    .vE   2    .E   2    /E   2    /E       0E       0E    H   1&F       29F   	   2AF   <  7-  2TF   <    2hF   %2 7-  3{F   42   3F     7-  4F       4F       5F       5F       5F       5F   d    6F   }    6G   6
    7G   Q
    7(G   4    86G   L    8EG   E    9SG   V    9bG   m    :pG   {    :G    H D  ;G       <G   z 8  <H      <H    H D  =BH   ϖ  >  >PH   ݖ  D  >lH    H D  ?H       @H   	   @H    +  @H      @H      A
I    [  AI    +  B5I   2   BMI    +  CdI      C|I    H   DI       EI       EI    b  EI   * K  FI   67  D  F        G       Q  I       Y  K     v    OJ       P J   4  4   Q(J   .   Q0J   . n   Q9J   H    RAJ   ^    RJJ       SRJ   N3 Q  SdJ   V3    SJ   % Q  TJ   %    TJ   ' Q  UJ   '    UJ   v Q  VJ   v    VJ   A Q  W
K   A    W K    H D  XK    k    YL       YL    g  Y$L    H D  YSL     
  ZdL       ZL   ?:     ZL   K:     ZL     Q  [L   2     [L   `? Q  \L   t?    \L     .  ]M      .  ]M    m  ^M   ^ s  ^"M    Q  ^4M       ^TM    H D  _M     
  `
N       `N     y  `+N       `DN   IX   aLN    H D  aN     
  bN    b  bN   Q   cN   i   cN      dO      dO      eO      eO      f$O      g,O   p   h4O    H D  iO     
  jO    b  jO      kO      kO    	    lP    .    lP    I   lP   , +
  lP    b  l$Q      m1Q      m>Q      mKQ       mXQ      meQ       mrQ       mQ      mQ      mQ   A   mQ   J   mQ      mQ      mQ      mQ       mQ      mQ       mQ       mQ    4   mQ       mR   r  4   n1R   s     nDR    H D  oS     
  pZS    b  pcS   ?:     qkS   K:     qtS      rS       rS    :     rS    b  rS      sS      sS    	    tS    .    tS    I   tS   &"    tS   B 4   tS   Q    tS   , +
  uT    b  u!T   5     v$T    b  v-T   h    w5T       w>T        xAT    b  xJT   )    yRT   9  K  y[T        zcT    b  zlT   S    {zT   S    {T    H D  |T    b  }T   6S    ~T   PS    ~ U    H D  LU    b  UU   W    cU   n  
  |U    H D  U   L>  4   U   f>     U   R 4   U   R    U   TR 4   V   kR    V   ~8  4   &V   8     4V   6  4   AV   6     OV   <  4   \V   <     jV   8  4   wV   8     V   l 4   V   m    V   Fs 4   V   Ts    V   ,m 4   V   8m    V   {s 4   V   s    V   m<  4   V   <     W   >  4   W   >     'W   #8  4   4W   B8     BW   7  4   OW   7     ]W   p" 4   jW   "    xW   6 4   W   K    W   # 4   W   #    W   z7  4   W   7     W    4   W   ,    W   9 4   W   G    W   >  4   X   >     X    y   "Y       *Y   u# f  7Y   #   KY      gY      yY    Y  Y     4   Y    A   Y    #    Y       Y   ߃ 6  Y   i 6  Z   i 6  Z   f 6  %Z   f 6  7Z      Y  CZ    ) 4   JZ     4   \Z     4   cZ    K  /  qZ   W    tZ     6  Z    G 
  [     
  [    Y  [      Y  [    ) 4    \    E 4   \    d 4   \   W    \    G 
  d    w   e    9   e    K   f    Y  f      Y  f   	  6  -f   	/  6  ?f   	E  6  Qf   	  6  cf   	\  6  uf     6  f   	  6  f     6  f   	  6  f   w  6  f   	ŷ  6  f    G 
  Xg    hn $  xg       g       g       g   9Q 4   g   BQ    g   {  4   g        g   ]  4   h   k     h   y    ,h   z    ;h     4   Mh        `h    1  hh    H C  h     4   h    k    i   * K  i   J   j      j        @j    p7     [j   * K  hj      qj        j    p7     j    b  j   . <  j   . B  j    I  k    O  k   E U   k    [  -k    a  :k   p" g  Gk    m  Tk    s  ak   N y  nk      {k      k   B   k   u   k   	*   k   	* OT  k    H D  l     
  m    Y  m    e 4   m     4   m   ^/   m   /   m    G   m        n        Zn    Y  cn    Y  ln    ѽ  &   n    |    n    Y  n     4   n    Y  n     4   n    Y  n     4   n    Y  n    4   o   +    
o   f 4   o   f    o   6   +o    G   co    Y  lo     4   so    Y  |o   6   o   m    o       o       o       o   w    o       o       p   ŷ    p    e 4   %p       Hp    L  5
  xp   +    p       p   j    p       p        p   Ӿ    p       p    G   q        q        q    g    q       q   
  4   r   5  4   r   , +
  $r        +r    	   8r       @r    ^               ,       &-        Q     k   1   ی 4   E      `    bl        A        ?%       ,    
   -        Q  )   ی 4   6   p )  C   k   P              ؐ    *T    <    P    I    A    V    ~A    f    >b     x    jS        S              `B   X    Nl   L    j   ܔ    j       l   P    X   ؚ    / !     Mr .     fr 4     I ;     %I A  ƛ   f H  Λ   f N  כ   g H  ߛ   +g N     h H     h N      + U  L     \  |            b     T      4   [       c   O h  k   O n  t   `N h  |   vN n     qO h     O n     m u     m      j u     j      , {     ,   ɞ   , {  ў   ,   ܞ    + U  p    O h       U  0    h   ֤                     m       k       b         F         4                U  L    + U      b     X    s       ;i   .      4   5       @   , +
  ī   <   ̫   <   ث        D            Y   t    |5   ح    35    i       q   0   y   *0      2/      H/      J h     J n     i      i      p u     p   Ȯ    + U              b     <    s   |    F         4   	       	ɳ        	        
   SF ;     iF A      + U  D        

      4   
       
    + U  
T     \        4              + U       \  L    b           4          ŷ   F ;  ͷ   F A  ַ   j u  ޷   j       + U              F        j        b     ~      4             k u     k      k u     k      l u     l      k u  Ⱥ   7k   Ѻ   i   ٺ   i      j      j      ai      ti      g      g      , {     -   &   , {  .   ,   7   a,   ?   q,   H   IG ;  P   fG A  Y   G ;   a   ,G A   l    + U  !        "d    F    "=    v,   "c     A  #    b     $      4   $       $      $   +P   $   =P   $   ڱ    %       %   s   &   s   &   s   '   s   '   em ;  (
   pm A  (    u  )   )   )'      */    U  *8    + U  +q        ,    {m    ,x    b     ,@        ,      4   ,        ,(      ,:   +P h  ,B   =P n  ,K   s   -S   s   -\   ,   .d   ,   .m   7   /u   7   /~   -F ;  0   @F A  0    + U  1    T  F  2S        2t    lO    20    b     2        2         2      4   4       4   r .  4   r 4  4   ps   5   s   5    + U  6     \  7\        8    b     8      4   8       8   SF ;  8   iF A  8(    + U  9\        :      4   :#       :,    + U  :    b     ;9      4   ;@       ;H   7 $  ;P   7 *  ;Y   M h  <a   M n  <j   K h  =r   K n  ={   )K h  >   <K n  >   N h  ?   2N n  ?   H ;  @   H A  @   qq u  A   q   A   q u  B   q   B   m u  C   2m   C   o u  D   o   D   p u  E   @p   E   l u  F   l   F   5q u  G   Sq   G%   Vo u  H-   to   H6   q u  I>   
r   IG   o u  JO   o   JX   + 1  K`   + 7  Ki   v+ 1  Lq   + 7  Lz   fp u  M   p   M    o u  N   ;o   N    + U  O    M h  P    K h  PX    OK h  Ph    HN h  P,      U  P    :S    Q        Qd    b     Q    g+ >  Q,      4   T3       T;   N h  TC   N n  TL   n u  UT   o   U]   Rk u  Ve   jk   Vn   m u  Wv   m   W   r .  X   r 4  X    + U  Y	        Z?         Zh    b     Z        Z        Zp    '     Z        Z      4   Z       Z   7 $  Z   7 *  Z    + U  [h     \  \    b     ]      4   ]       ]      ]    I  ]    + U  ^;   $   _H        _        _    ʈ P  _    Q
   a    X 
  c     
  eT    p   g     #
  i     1
  k     D ?
  m    :  v  o      4   p       p   7 $  p   7 *  p   N h  q$   2N n  q-   M h  r5   M n  r>   0O h  sF   EO n  sO   	P h  tW   P n  t`   F ;  uh   F A  uq   p u  vy   p   v   sl u  w   l   w   n u  x   n   x   i   y   i   y   Jg   z   `g   z    + U  {    HN h  |    N h  |    ZO h  |
        |    b     |      4   |       |   , +
  |   7 $  |   7 *  |   N h  }   N n  }   cM h  ~   }M n  ~   0L h     RL n     dK h     zK n     K h  !   K n  *   M h  2   /M n  ;   "g   C   6g   L   i   T   i   ]   5i   e   Ki   n   	q u  v   q      k u     k      m u     n      Um u     mm       + U  d    N h  H    HM h          X    b     ,     \  e      4   l       t   !       V      \     -s      As       l u     l      *l u     Gl      -F ;     @F A            U      + U       \  P    : V  T                p    lO    H     b              \!    lU U  "      4   "       "      c  
#    + U  D#     \  #        #       #   n u  #   o   #   Rk u  #   jk   #    + U  &        &    b     '    '     0(        (      4   (       (   *f H  (   ?f N  (   g H  (   g N  )   i H  	)   j N  )   r k  )   r q  #)   g H  +)   +g N  4)   Tf H  <)   ef N  E)   eg H  M)   yg N  V)   r .  ^)   r 4  h)    + U  ,     \  ,    F x  A-      4   H-       P-   vg   X-   g   d-    + U  .    b     _.      4   f.       n.   k u  v.   k   .    + U  .        /    b     (/      4   //       7/   7 $  ?/   7 *  H/   J h  P/   J n  Y/   O h  a/   O n  j/   L h  r/   L n  {/   tL h  /   L n  /   eh   /   h   /   h   /   h   /   h   /   h   /   /j   /   Ij   /    n u  /   ;n   /   n u  /   n   /   Vn u  /   pn   0   p u  0   p   0   _H ;  0   qH A  %0   H ;  -0   H A  60   3h   >0   Lh   G0   h   O0   h   X0   g   `0   g   i0   cj   q0   xj   |0    + U  1    K h  4    O h  6    L h  D8    L h  ;    "   =        I?    F A  |?        @    b     B      4   B       B   , +
  B   s   C   t   C   ,   C   ,   C   H ;  'C   H A  0C   G ;  8C   H A  AC   i H  IC   -i N  RC   h H  ZC   h N  cC   g H  kC   g N  tC    + U  @F    F x  fF    NH   tF        H    b     PI        I      4   I       I       I       I       I       I       I    A   I    6    $J    6   PJ       tJ        J        J       J    0   J    81  !  8K    BI   K    BI   K    nC 
  L        \L     %  L     ,  N    F  3  N    u+  <  N    = F  N     O  N     [  N   ry O  N   y [  N       N        O    = h  O     q  O      }   P    y }   P    =   0P    A   @Q    k  4   xQ    u    Q   , +
  W    SI   W    u   W        W    0   W         W    6   X       PX       X       	X    /    Y    a+    
tZ    
   ([    5   4\     )  \    _c 3  4]     L  ^     ^  ^       ! _    ˵  f  !8_    ˵  o  "d_    ˵  x  #`    ˵    $X`    ˵    %`    ˵    &lb    ˵    'b        ((c    ˵    )Xc        *c       +c      +c    ˵    0xd        0=e    T-   1\e    (!    3f        55f    =   6Af    2    7Pf        9f   , +
  ;f    %  ;f    [I  =f      >g    ˵  $  @$g    ˵  -  A<g    ˵  6  Blg    ˵  >  Dg      F  Fg   S    Hh   ]  "&  H
h       I h    ? H.  I      ׵  !  L~h   S  d&  Mh   ]  X&  Mh       Nh    > U  Nh    w    Oli    d   Oi    ˵  P  Pk      ]  S(l    ˵  j  Vll    BI s  W m    e   ZXm       ],n    4I   `n       cn    ˵    cDp        hq        nlr    ˵    ps        qs    ˵    s t        tt    ˵    vt        zdu    Xl 4  ~|    k M  J}       P}      b  ~       ~    ~  i  ~      r  >       D      {  )       4    ˵                       ˵  i  $    ˵                                                                     "       &       .       4                            b         #       '        .       6       :       B       E       M   S    U   ]  "&  ^       |    ?       cu       `   `    ˵                ˵               S       ]  "&        9    ?   h    cu   ̉    `   (    MU   Ċ    w #  `       h    ׵  /  p    ˵  8       J        ]  X    ˵  S       _        k      ˵  x  h       Ԑ      k  8    ˵                ˵        ށ       ˵    \        <    G       ˵            ̛    ˵                ˵    ԝ             ˵    |    ˵  #        ,      ˵  5  $      >      ˵  G        P      ˵  Y        m  2     |  :       C    z  K      T   R^ )  h      8    :-     	H    I%    	h    Sk   	    +%    l      s   )   |   , +
  Ƕ       ϶                       0      0                
        B                     ˵    (            ˵    h             !  S      +      ˵  2  8      A  "    ˵  P  %      _  (    ˵  o  ,f       -    ˵  x  .        1   , +
  4(    t 0  4    ˵    6    ˵    8    ˵    :    z
   >L    [4   @    k4   F        H    ˵    L       P    p   S$        U    ˵    X     4  ]|      >  _    ˵  N  c    ˵  Z  e      u  l    ˵    p    ˵    r      ]  t0        w    ?    y    ˵    }    
   ~4    	       r        ˵    8            ˵                ˵          ]        ]      ˵  	  @      ]      D   ,    D #                 H         -       v  :                 lW         G       v  :                ˵  T        f      ˵  y  (                    ˵    |      ]  P      ]  x    ˵    D    D   }                                 ˮ        ˵    <            +            k7     a Q8     %       t       aT       PZ W8     5 ]8     y` Q     A  c8        4    ˵    P       8     #        Q  <      
      +  "      +   # 2  8   e    E   %    R   -    _   8 7  l   4  Q  y   A  8               8    ˵    S      Q       #                     =  V     L       2  Q      (      5       ˵  @  @    I  H    O  Q       `    V  $     l  1    x  9   (L   D    ˵  ~                          p    ˵                ˵    X               x            ˵    <	         	       
        2
       X
    ˵    
        
      #  

     *  
    ˵  4  
       =  H    ˵  G        P  "     Y  *   *  _  3    f  P    ׵  s  j    0o |  v    0o               +   $
      (+
    ׵    )L
    0o   *
       -
    ˵    /P        0   P  4   1   Y     1   x 4   2   x    2    4   3       3   (#    4   5#    4
    V  5(      7    ˵  ~  ;         <     #  =      Q  >        >0     #  >    k  4   ?    u  	  ?   , +
  @      @    y ~#  A    =   B    F  C       E    w:     E     .    EP    .    E      
u 7-  E      
   E      
{ 7-  F      
{   F      
W 7-  G      
W   G      
I 7-  H      
I   H      
cG 7-  I      
lG   I      
F  7-  J      
P    J      
  7-  K      
    K      
  7-  L      
   L      
G 7-  M      
%G   M      
?*   N      

+ OT  N      
  b  N`   	W     Nc   	Y    Nf       Np      N    $  NH    -    Nn   -    N   1{   N    T{   N(    .    N   .    N   {   N   v   N   M   N   y   N/   /}   NK   |y   Nh    {   N    v   N    [   NL    y   N`    ~   N    y   N    0    Nd   /    N   |   N   |   N      N   ~   N   |   N      N(   ~   ND    |   Np    }   N       N    ~   N    %|   Nt       N       N    @0    N   .0    N   {   N;   v   NX    {   N    v   N$    /    N[   /    Nw   @   N   Ҁ   N    Y   N       Nh    -    N   -    N   j|   N      N    w   N1    %x   NP     |   N        N     6w   Nd!    >x   N!    0    N!   0    N!      N"   f   N,"   ؂   NH"       N"    t   N"    ?   N"    ~ z  N"   ~ z  NH#    :/    N#   '/    N#      N#   S}   N#   V~   N $       N$    h}   N$    r~   NX%    0    N%   t0    N%   x   N%   K   N&   w   N2&   8y   NN&      Nl&    x   N&    b   NH'    w   N'    Jy   N'       N(    ) z  N(    z  N(    a.    N-)   C.    NI)   ^z   Nh)    ~z   N)   l   N)       N+*   z   NH*    z   N*   x   N*    x   N*     z  N*    z  N +    .    N7+   .    NS+   }   Np+    }   N+   w   N+    w   NX,       N`,   j +  N,    6  N-   " A  Nh-   . L  N-     +
  N/    : R  N0     R  Pt1    /. R  R:    . _  Tu;     R  W;    p. R  YG    N. R  [J      j  ]a        db        e`b        fb    
R   gb   , +
  hb      hb   9   ic   9   ic   9   jc   9   jc   8   k%c   8   k.c   	;   l6c   ;   l?c   28 V  mGc   D8 \  mPc   vV   nXc   V   nac    x    oc   J    od   w     od    %     pe   :   pe        pof   8   p|f   3    pf   9   pf   A,     pf   x   pf   3;   qf   σ    q	g   V8    q7g   <   qDg   V    qdg    zx    qh   u   q	h        qh      qh   * K  r#h   *   r,h      s8h    J    ti    A,     tj    σ    tZj    V8    t\j    V    t`j    zx    tj   u   tj        tj       tj   * K  tj   *   tj      v  uj     
  vj    zx    vj       vk      wk    x    x$k   u   x(k        x+k      x4k   vV   y<k   V   yEk        zTk    x    zk   <   zk    zx    zk    <   z<l      {El   =   |Ml   Y   |Vl   /   }^l   /   }gl   ,, 
  ~ol   A,   ~xl   i H  l   i N  l   xi H  l   i N  l   f H  l   f N  l   f H  l   f N  l    x    l    /    n    zx    n   , 
  n   
g H  o   vf   ao   u   eo        ho      qo   ^/    yo   o/ &  o   	/    o   	    o    x    o   /    dp    zx    p   u   p        p    -  p   Ʈ   p   
 3  p   * K  p   	 4   p   )  4   
q    - 
  q    5  
  (q   
 9  0q    @  8q   ;0   <q    G  hq    /+ K  q   0	 4   q       q    : N  q   -    q   K5     r       r    $. X  ar       ir      ~r    a  r   	̆ (  r    Ia  r   c j  r   1 r  r   & n  r     N        
"          
#          /0 SS        7   r       ds      s    H  z  s    k    s       s      s         t    b ]  v    
 ]  w     ]  x     ]  ty    R ]  z       z   >   z   L   z   =  V  z   +   z   7   z   - /
  {   f   {   {   #{   3  Q  +{   3     4{   3    <{   3    E{   B3   R{   (L         
          w:           )   `{        t|   N    |      |        }         ~    F  ~    -    M~    . o         F  P~    F  \~    .    ~     G  ~    .          -          . o  ~    F  ~    )      P          .          .        F             P        w:         -        .       F  %       )    P    E    w:     H    -    x    .   |    c 
  ׀    F             w:         .    8    .    Q    \ )  i     Q  |    I       A              , +
  !    F  ;       ?    w:     D    )       F             .        w:     ĉ    .        F             .        w:         .    ^       f      u          7H      7H      7H      7H             7H      7H  Ȋ    F  Ҋ       ֊    .        w:          .    r    F  }           w:         )       F             w:     ܋    )   Ќ    F  ڌ       ތ    .        w:         .        F             w:          	  <   , +
              [          H  X      d      [          H      ,u I        &        /      8         b      k      )              3              =  	            G              Q  Ȑ      ѐ      [  ڐ            [              [              [              [  "       +      [  !4      #=      [  $F      &O      [  'X      )a        *j      ,s        -|      /      [  0    F  2       4    -  c  4F    w:     5]    . j  5v    F  6       8    -  c  8    w:     9    . j  9    F  :       <    w:     <ԕ     q  <   , +
  =`      =l      T[  >        I  A      C        D        F#      G,        HW        Jd      Km        L{    F  N       P    . j  P    w:     Q    -  c  QD    F  RN    w:     TQ    P    Tm    .    T    \ )  T    k   T՘    F  Vߘ       X    .    X    3  Q  X    F  X       Z     .    Z    g 7*  Zx    F  Z       \    w:     \    )   \    F  ^       `Ŝ    w:     `ܜ    
L    `   :    `    F  `       b    w:     b    
L    b        b   :    b    F  b       d    w:     d   :    d    
L    dĝ    F  d՝       f؝    w:     f    V 4   f     4   f    )   fԞ    
L    h̟        hܟ   :    hߟ    ZK v  h    F  i       k    w:     k@    )   k̠    F  m֠       oܠ    
L    o       o)      o>       qA    w:     qD   :    qG    
L    qI    )   qk    F  sv       uz    w:     u    )   ut    F  w       y    w:     y    )   y    F  {
       }    .    }    w:     }    .    }?    F  }I       M    w:     d    .        .    ǥ    ]   ߥ    F             w:         .        @    Ȧ           .    J    \ )  b    F  m       q    w:     t    )       F  )       -    w:     0    )       F  %       )    w:     ,    .        F         ©    w:     ܩ          , +
  j      s    /              /              /        F             w:     ̪          , +
            /          ʫ    /    ӫ      ܫ    /              /          '    /    W    F  a       e    w:     |          , +
            /              /       >  &  D   />  &  w   =  &     =  &     a &     a &     ~a &  X   a &  `    =  -      a -                 7         A       v        Q  ߮   q \L     q [     b  b     b  h        	          F      .        .          ݿ  6      F             w:         ݿ  6  z    F             w:         ݿ  6      F  Ȱ    .        w:           s L        V] L  @    .    S    S zL  {    F             V] o      s v      F             V]       s       F  ı    .        w:           T  L        s L  @    .    C    F  M       Q    s   ^    T    l    F  v       z    s       T        F             w:         .    W    .    j    
  +1      F             w:               , +
              [        /  
M              [        /  0M  	      
l  =M  	      	      [  	      /  KM  	      
l  =M  	1      	:   l  =M  	D    /    	        	      	   l  =M  	    /    	      	ȶ   l  =M  	˶    /    	ܶ       	   l  =M  !	    /    !	      %	   l  =M  &	    /    &	      *	   l  =M  +	"    /  
  +	3      /	<   l  =M  0	@    /    0	      4	   l  =M  5	    /    5	    F  9	       ;	    w:     ;	й     (  ;	    , +
  <	      <	       T[  =	      /  N  @	_      B	h      u[  C	      Sn (N  G	      /  N  I	û      M	      
  :N  N	̻    Sn (N  N	      P	      
  QN  Q	    Sn (N  Q	      S	      [  T	      /  hN  X	      Sn (N  \	c      ^	l     :N  _	p    /  6  _	      c	     :N  d	    /  B  d	      h	     :N  i	ļ    /  P  i	ռ      m	    /  ^  n	    Sn (N  r	      t	     :N  u	    /  n  u	      y	ž     :N  z	Ⱦ    /  |  z	پ      ~	     :N  	    /  |  	      	     :N  	    /  6  	      	    /    	T    Sn (N  	_      	h    /  ^  	    Sn (N  	      	(    /    	`    Sn (N  	k    F  	v       	z    w:     	    )   	<    F  	G       	J    w:     	h    )   	    F  	       	    w:     	       	   , +
  	~      	      [  	      /  N  	      	      [  	      /  O  	      
  *O  	T      	]     *O  	`    /    	q      	z     *O  	}    /    	      	     *O  	    /    	      	     *O  	    /    	      	     *O  	    /    	      	     *O  	    /    	*    F  	4       	8    w:     	P    .    	    .    	,    F  	6       	:    w:     	T    .    	    .    	    
  +1  	    F  	        	$    w:     	<    .    	    .    	    
  +1  	    F  	       	    w:     	    .    	(    .    	    
  +1  	    F  	       	    w:     	    .    	h    .    	    
  +1  	    F  	       	    w:     	    .    	K    .    	^    
  +1  	|    F  	       	    w:     	    .    	?    .    	R    
  +1  	p    F  	z       	~    w:     	    .    	    .    	    
  +1  	1    F  	;       	?    w:     	X    .    	    .    	    
  +1  	    '    	    (f 4   	    KQ   	%       	-   /   	5   0   	>      	F      	O   L h  	W   L n  	`    '    	m     @  	   NH   	    
 9  	   F x  	        	        	^        	      + U  	        4   	    \  	   b     	    <g   	'       	E    SC    	^       	    {@   	        	       	H    l  )   
    &  5  
   , +
  
     A  
k   * K  
s   * Q  
|      
      
    I  
    X  
      w:     	
        4   	
    4    	
   tK 4   	
      z4    	
      
> 
  	
      _  

     A  

*    w:     
L      4   
    z4    
    
> 
  
    A  
    w:     
      4   
    tK 4   
    z4    
    
> 
  
(    3  e  
Q      r  
t    m    
    z    
        

    n    #
$    g    &
L    =    )
    Q    -
       1
       5
    Ɍ   9
n        ?
       C
        D
    5 Q  E
   3    E
       G
#       I
+       I
<    ֙    I
l        K
        M
    3    N
$    #    P
4    s 4   P
    t    P
    X R  Q
       Q
    R  Q
   { !  R

    '  R
%    P 0  T
4     '  U
    )R    W
X      <  X
      D  Z
   p     \
    # L  \
    6  T  ]
   , +
  ^
   L \  ^
    | b  ^
<    A  l  a
    | t  b
0    M }  c
D    M   d
v    ,    e
    M   f
    M   h
   , +
  j
      j
      j
     l  k
       k
       l
    -   l
        p
       r
,        t
3       t
;       t
F   * K  t
N   * Q  t
W   2-    u
_   C-    u
h      v
p      v
y   A  N   w
   A  S   w
      x
      x
      y
     l  y
      y
   -5  O
  y
   	  4   y
   q    y
      y
      y
    3    z
    3    z
&    :     z
1     +
  z
\   , +
  z
c    $  z
         }
T    4   }
b         ~
j    9     ~
w    9     ~
    +    
P    - 0  
    :    
     6  
(      ?  
L    *9 T  
    *9 F  
@    *9 V  
w    *9 N  
    5    
      M  
\      V  
         
       ^  
     T  
d       
    Z3 g  
    Z3 p  
    M3 S   
    
4 y  
<        
    wb   
    q \L  
    ; 4   
    Q     
&      4   
0       
    {    
    y    
     
    
     kL   
    L   
   6   
   N   

   s   
   t   
      
I    #    
n    h 4   
    f    
    @t 4   
     >t    
y        
        
     2   
     U  
     U  
       /
  
     B  
     U  
         
    a    
   s    
       
       
    X /
  
!    X   
0      %  
8    B    
L    B U  
m    8  V  
    F  
       
    w:     
    .    
    P    
    .    
    F  
       
    .    
     w:     
$    .    
    F  
       
    w:     
    -  c  
{    P    
    . j  
    F  
       
    w:     
     -  c  
    P    
H    . j  
    F  
       
    w:     
    -  c  
    P    
    . j  
3	    F  
=	       
A	    w:     
D	    -  c  
z	    P    
	    . j  
	    F  
	       
	    w:     
 
    -  c  
y
    P    

    . j  

    F  

       

    w:     
        
5    P    
T   , +
  
+
       
:
    Y&   
L
    m    
Y
        
p
    ^   

    l !  
!   Y&   
$       
,       
4    F  
>       
B    w:     
H     .  
     4  
   , +
  
      
      S  
b      
l      B  
    F  
       
    w:     
     M  
   , +
  
    F  
       
    w:     
     [  
P   , +
  
'    F  
1       
5    w:     
8     i  
`   , +
  
    F  
       
    w:     
     w  
   , +
  
n    F  
x       
|    w:     
    -  c  
    P    
    . j  
+    F  
5       
9    w:     
<       
a    P    
   , +
  
    F  
       
    w:     
       
       
    P    
"   , +
  
.    ,  
8      l[  
`     W  
       	X  
}           ,              ,                     ,          8       ;    ,  D        
           ,                     ,          L       O    ,  X                   ,           !       $    ,  %        &`       )c    ,  *l        +       .    ,  /        0        3     ,  4$         5h        8k     ,  9t         :        =     ,  >         ?!       B!    ,  C!        DX!       G[!    ,  Hd!        I!       L!    ,  M!        N"       Q"    ,  R"        ST"      !  Va"     (  Wd"    F  Xn"       Zr"    . j  Z"    w:     ["    -  c  [f#   (L   \n#   8L G  \w#   A  N   ]#   A  S   ]#   B3   ^#   6 K  ^#   6   ^#    6  _#     M  b$%     B  c(    a  Q  e(      ]  g(    9    h@)    9 S   i      5    j)   2[ )  k)   ?[ /  k)    Q  l)   #    l)       m*     n   m*   5    nD*       oL*   A     oT*   N     o]*    5    p{*       q*        q*        q*   c Q  r*   c    r*   ^ Q  s*   ^    s*       t*     n   t*   5    u+       v#+   A     v++   N     v4+    5    wR+       xZ+   a_ f  xb+   r_ l  xk+       ys+     n   y|+   5    z+       {+   =  4   {+   F     {+   5    |+       }+   A Q  }+   A    }+   f  Q  ~+   n     ~+    5    &,       .,   [ )  6,   [ /  ?,   q1 Q  G,   1    P,       X,     n   a,   5    ,       ,   A     ,   N     ,    s  ,    x  ,    5    <-       D-   [ )  L-   [ /  U-   q1 Q  ]-   1    f-   d Q  n-   d    w-       -     n   -   5    -       -   A     -   N     -    5    .       .   [ )  $.   [ /  -.   q1 Q  5.   1    >.   d Q  F.   d    O.   _ Q  W.   -_    `.       h.     n   t.   5    .       .   A     .   N     .    s  .    x  /    5    /       /   R\ )  /   b\ /  /       /     n   /   5    /       /    F  /       /    .    /    w:     /    .    0    F  0       #0    w:     (0    )   1    B  ~  3    B  ~  44    F  N5       Q5    w:     T5    )   V5    F  `5       d5    .    5    w:     5    .    6    F  6    )   J9     4   q9   	           
L          
:    t9    r    9    F  9       9    .    9    w:     9    .    :    F  :    w:     :    3     ;    x    <;    P    X;    F  b;       h;    .    &<    .    :<    \ )  R<    F  \<       `<    w:     d<    .    <    P    <    @ "   =    F  "  =    ?
 "  \>    ! "  >    .    >    \ )  ?    F  ?       ?    w:     ?    .    `?    P    |?       ?    .    ?    \ )  @    F  
@       @    w:     @    .    A    .    $A    \ )  <A    ^   <B    O   B    F  B        C    w:     C    )   E   , +
        )x         &x o  E      E   =  V  E   L    E   )x c  E   &x j          T[  F     N[  F      %F   =  V  -F   L    6F   )x   VF   &x             oF    ,  ~F   - /
  F   - ,  F   )x   F   &x           c[  F     N[  F    ,  F   - /
  F   - ,  F   )x   G   &x             	G    ,  G   - /
   G   - ,  )G   )x   CG   &x           l[  fG     N[  nG      }G   =  V  G   L    G   )x    G   &x           T[  AH     N[  IH      XH   =  V  `H   L    iH   )x   H   &x           u[  H     N[  H      H   =  V  H   L    H   )x   I   &x           [  6I     N[  
>I      N[  GI      VI   =  V  
^I   L    
gI   )x   I   &x #          [  I     N[  I      I   =  V  I   L    I   )x *  I   &x 1          [  J     N[  J      *J   =  V   2J   L     ;J   )x 8  !gJ   &x ?  "        [  #J     N[  (J      )J   =  V  *J   L    *J   )x F  +J   &x M  ,        [  -K     N[  3K      4"K   =  V  5*K   L    54K   )x F  6K   &x M  7        [  8K     N[  >K      N[  ?K      @K   =  V  AK   L    AK   )x T  BK   &x [  C        [  DL     N[  FL    g  b  GpL    g  l  IL    5 w  LhM    5   QM       U      
J    X      
H& 6  X'N    Y&   X          Z>N        ]      O   _SN       c      5 \  c[N     \  fdN        hN    O   k       6\  oN       oN        oN       qN      qN   H& 6  rN       rN    5   rO   J    uO   H& 6  uO       u&O        u5O    5   w>O   J    zAO       zIO   H& 6  zMO       zTO    5   z]O   J    }`O       }hO   H& 6  }lO       }sO    5   }|O   J    O       O   H& 6  O       O    5   O   J    O       O   H& 6  O       O    5   O   J    O       O   H& 6  O       O    5   O   J    O       O   H& 6  O       P    5   P   J    P       P   H& 6  P       $P    5 !  -P   J    1P       9P   H& 6  >P     .  EP    5 9  NP   J    RP       ZP   H& 6  bP     F  iP    5 Q  sP   J    wP       P   H& 6  P        P     F  P    5 Q  P   J    P       P   H& 6  P     F  P    5 Q  P   J    P       P   H& 6  P     F  P    5 Q  P   J    P       Q   H& 6  Q     F  Q    5 Q  Q   J     Q       (Q   H& 6  0Q     ^  7Q    5 i  @Q   J    DQ       LQ   H& 6  TQ       [Q    5   dQ   J    hQ       pQ   H& 6  xQ       Q    5   Q   J    Q       Q   H& 6  Q      v  Q       Q    5   Q   J    Q       Q             
(          
H& B0  R    Y&             2R        GR             %
 \  OR     \  XR        wR       R        R       R        R       R        CS       KS   H& B0  NS    %
   WS   (    ZS       bS   H& B0  fS    %
   oS   (    sS       {S   H& B0  S    %
   S   (    S       S   H& B0  S    %
   S   (    S       S   H& B0  S    %
   S   (    S       S   H& B0  S    %
   S   (    S       S   H& B0  S    %
   S   (    S       S   H& B0  S    %
   S   (     T       T   H& B0  T    %
   T   (    T        T   H& B0  'T    %
   0T   (    4T       <T   H& B0  CT    %
   LT   (    PT       XT   H& B0  _T    %
   hT   (    lT       tT   H& B0  {T    %
   T   (    T       T   H& B0  T    %
   T   (    T       T   H& B0  T    %
   T   (    T       T   H& B0  T    %
   T   (    T       T   H& B0  T    %
   T   (    T        U   H& B0  U    %
   U   (    U       U   H& B0  #U    %
   ,U   (    
0U       
8U   H& B0  
?U        
NU    %
 (  
^U   (    
bU       
jU   H& B0  
qU    %
   
zU   (    

~U       

U   H& B0  

U    %
 5  

U   (    

U       

U   H& B0  

U    %
 5  

U   (    
U       
U   H& B0  
U    %
 5  
U   (    
U       
U   H& B0  
U    %
 5  
U   (    
U       
U   H& B0  
U    %
   
V   (    
V       
V   H& B0  
V    %
   
"V   (    
&V       
.V   H& B0  
5V    %
 B  
>V   (    
BV       
JV    F  
TV    -  c  !
       O  "
V    P    $
V    . j  $
 W    F  %
W       '
W    w:     '
W     O  '
JW    F  )
TW       +
XW    w:     +
\W     O  +
W    F  -
W       /
W    .    /
Y    .    /
Z   * K  /

Z   *   /
Z   W     0
0Z   Y    0
TZ      0
cZ       1
rZ   ? 4   2
zZ   P    2
Z   } 
  3
Z   !    3
Z   [!    3
Z   	 4   3
Z   !    3
Z     4   3
[   !    3
[     4   3
[   !    3
.[   ,  4   3
;[   "    3
K[   ? 4   3
X[   !    3
h[   ,= 4   3
u[   ;#    3
[     4   3
[    :   3
[    :   4
[   * K  5
[      5
[    = Y  6
]      b  8
]      v  9
]    Z  k  :
]      ;
]   = ~T  =
]    0 
  =
      
M   >
^    & p  >
^      r
  ?
^      w  A
^     
  D
-_       D
@_       D
H_         D
k_       D
s_         D
_       D
_         D
_   , +
  D
_       D
_        D
_        E
_        F
`        G
`    ~    H
(`    .    I
;`    `!    J
N`    "    K
a`    #    L
t`    %    M
`    _&    N
`    $'    O
`         P
`        Q
`        R
`    i    S
`    v     T
a    "    U
a    C#    V
2a    $    W
Ea    %    X
Xa    &    Y
ka         Z
~a        [
a    &    \
a        ]
a         ^
a    u"    _
a    #    `
a    $    a
b    %    b
b    &    c
.b         d
Fb        e
^b    7    f
qb        g
b         h
b    "    i
b    #    j
b    $    k
b    %    l
b    &    m
b         n
	c        o
c    P    p
/c         q
Bc         r
Uc    "    s
hc    #    t
{c    %    u
c    &    v
c    '    w
c       x
c    ;
    x
c       y
c    [
    y
c       z
c    -    z
d       {
d    
    {
Xd   , +
  |
dd       |
ld    Q    |
d    z    }
d   , +
  
d       
d    "    
d    I
    
d       
d    =    
d   , +
  
d       
d    `    
d   , +
  
d       
e        
e   , +
  
e       
"e         
)e   , +
  
5e       
=e    6    
Ie   , +
  
Ue       
]e      U  
e    ]  U  
e       
e    
  U  
e   , +
  
e       
e      U  
e   , +
  
e       
e    Y  U  
$f      U  
Cf    E  U  
bf    x  U  
f      U  
f       
f    r  |   
f   , +
  
f       
f    n  U  
g      U  
2g      U  
Xg      U  
~g    =  U  
g      U  
g    "
  U  
g      U  
h    X  U  
Wh      U  
        
       !  
         
     v    
h   , +
  
h       
h        
h        
h        
h       
h        
h        
h   , +
  
h       
h      o  
h    r
    
i       
	i      o  
(i       
0i      &  
Ai   , +
  
Mi       
Ui    }    
]i       
ei        
si        
i         
i   , +
  
i       
i    }    
i         
i    j  )  
i      2  
i    L!  2  
i    #  9  
i       
i    %#  B  
j       
j    
  mV  
Jj       
Tj    L  K  
k       
!k    $	  mV  
9k   , +
  
Ek       
Mk      R  
Tk    	  R  
[k      R  
bk    v  R  
ik    !  R  
pk    "  R  
wk    $  R  
~k    7%  R  
k    &  R  
k    D'  R  
k    #   R  
k    '  R  
        
       R  
       X  
     v  b  
k       
k    X	  k  
k       
k    	  t  
k       
k    X	  {  
l       
l    $	  t  
+l      t  
>l       
Fl    8	  t  
Yl      t  
ll      t  
l       
l    $	    
l        
l       
l    8	    
l        
l        
l   , +
  
l       
m    j    
m       
m    X	    
%m        
Cm         
Qm       
Ym    X	    
qm        
m       
m    8	    
m        
m       
m    $	    
m        
m       
m    8	    
 n        
n        
&n        
9n       
An    	    
Rn   , +
  
^n       
fn    c    
on        
xn        
n    !    
n    :  ~#  
n   * K  
n   *   
n      
n        
p        
p    9    
aq   , +
  
mq       
xq        
|r       
r    	    
r       
r    L    
r    -    
r    &     
r   , +
  
r       
r    @    
=s       
Xs   ]     
s   P    
tt         
t   	;    
t   #    
t   	;   
t      
t   9   
u   , +
  
u       
u        
-u    
    
3u        
@u   , +
  
Lu       
Tu        
\u    l    
du    5    
lu        
tu    !    
|u    "    
u    G$    
u    g%    
u    &    
u    t'    
u    V     
u    Z    
u        
u        
u         
u    E"    
u    w#    
u    $    
u   , +
   u        u          v    l    v    5    v       v    
     v       v    
    v   , +
  v       v      !  w    l  !  	w    5  !  w   , +
  w       %w      /  -w    l  /  	5w    5  /  
=w      /  Ew    !  /  Mw   , +
  
Yw       
aw      =  
iw    l  =  qw       yw    "
    w       w    "
  t  w   , +
  w       w      K  w    l  K  w    5  K  w      K  w    !  K  w    "  K  w    G$  K  w    g%  K  w   , +
  x       x      Y  x    l  Y  x    5  Y  'x      Y  /x    !  Y  7x    "  Y  ?x    G$  Y  Gx    g%  Y   Ox    &  Y  !Wx    t'  Y  "_x    V   Y  #gx   , +
  $sx       ${x      g  $x    l  g  %x    5  g  &x      g  'x    !  g  (x    "  g  )x       *x      1  *x       +x    t  1  +x   , +
  ,x       ,y      u  ,$y        -,y    !    .4y       /<y        /Ty        0ly   , +
  1xy       1y        1y    a  v  2y       3y    	    3y        4y      t  5y       6y        6y       8y    
    8z   , +
  :
z       :z    `  u  :6z        ;>z    
    <Fz       =Nz    	    =az       >iz    	    >|z    m    ?z        @z    ^   A{    l   CW{       F_{      Fo{   8   Hw{   J   H{        I{    &x   MG|   , +
  NS|       N[|        Nc|    J    Oj|        Pq|        Qx|    !    R|    #    S|    e$    T|    %    U|    &    V|    '    W|    v     X|    z    Y|        Z|        [|         \|    e"    ]|    #    ^|    $    _|    %    `|   , +
  a|       a|        a|    T    b}    ,  c      2 a  d}      c[  fH}    ,  jQ}    2   kZ}    ,  mc}    2   nl}   , +
  px}       p}        p}        q}    "  r}   8   t}   J   t}        uD~   , +
  zP~       zX~        z`~        {g~    D    |n~        }u~    !    ~|~    #    ~    V$    ~    v%    ~    &    ~    '    ~    f     ~    j    ~        ~        ~         ~    U"    ~    #    ~    $    ~    %    ~    ,  ~   8 6  ~   J <               ,      z C      ,      z M      ,      z U      ,      z ]      ,      z M      ,      z g      ,      z g      ,      z g       ,  )    z g  2    ,  ;    z o  D      w  L    ,  U    z g  ^    ,  g    z M  p    ,  y    z M      ,      z g      ,        z a        c[     , +
                      
    (        0    >    8    p!    @    "    H    $    P    '%    X    o&    `    4'    h         p        x            z        :      S  |            Y&   %      5   8 6  =   J <  H        Ղ           &x   K   , +
  W       _        g    T    o        w            !        "        /$        O%        &        \'        =         A            ǃ        σ         ׃    ,"    ߃    ^#        $       , +
                        #        A   , +
  M       U      d-  [   , +
  g       o      d-  u   , +
                            j	    Ʉ       ф    
       , +
               !            	    
  v     , +
  (       0    
    9       A    
  v  T   , +
  `       h        p   , +
  |                                 1T         M    e         {>    {>         R    U         U    U             J     J     <                                                                               5K    U    J     5K    U    J     5K    U    J     U    5K        *    5K    s    !    \        a        _A    _A            0     ;                                                                                                                                                                                                                                                     \y                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      U              U              U              U              U              U              U              U              U              U              U              U         U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U              U         U         U         U         U         U         U         U         U         U         U         U         5K    Z     5K    Z     5K    Z         ?     NI                                                 {>    {>    	    4               Y    <    4                  #    ;   1          1T    9     
        {>              9    9         4          V>    4     V>    4              4         r    uA                                                                                                                                                                                       )     "                                     *                                  ';                        ';                        R2         Y4     (     {>    =          Y/        "                   a         :    x    :        1     ?    ?    :    {>                   "    :    "    {>         "                                            [-     [-     [-     [-          a    \                                                                               \             a                                                                                                        U         U         z    U         Z     U         z    Z     U         Z          U         z    Z          
"                           T#    
"    0              )     4!          \
         3y                        J     gy    J     gy    >    J     gy    {     I          	     J     gy    >    {     I          	                                             {>    :p                   5K    5K    L     5K    k                                            \
        T                        q                              \
                                                                                                                                                                              \
                                  \
                                                                                                                                                                                                                                          \
                                                                                              \
    \        
"                           T#    
"    0    4                                                                                          \                   \    \    \         \         \                   \         \              \    \         \         \              \              \                                                                                                                                     \         ̚     Z     Η     ̚     NI    \    NI        s    K         NI    NI    Z     U    U                                       \    \    \              \    NI    \    \    \              \              NI    \    \         NI    d     Í    d     9     &B         "            W    #     Z    "            k    {        k        k        k        k    l        w    Z                                 _                                               [P    Z         ;     Z     $        d         ?    d    d    J                                  Z                            _        _                                                                                       1-    NI                                                                                               _                                                                                                                             J       _                                          _                                                                                      e                                                                                                                                         _                                      _    U             _                                                              _    NI                                                                                                                         0    nf    NI    L                                           NI    NI    s    A    9     t*    9          t*    9          t*    9          t*    9          t*    9          t*    9          Q,    P1     Z    ׬    Z    ׬    U    #          K         .    Z    J     B#                  Tr    S    J     gy              t*    9     9     t*    9     t*    9     t*    9     t*    9     t*    9     t*    9     t     :    9    5        .        Z    .        Z    
    .    f    "    Z    Z    S    %    Z    b]    .    f    .    '@        A    A    A    A    A                      
4     ?4     4!     =              /    Z    ƚ   =              /    ˯    .    ˯        ^*             ^*                  ^*        ^*    -             "x             _A         _A    d    +<    .    Z    .    -    Z         /    ˯         .    ƚ          .    ƚ          /    Z    3     #     g     ^        n    .    #          Z    "    W    #                    Av    RN         #             :    C    5%    #     Z    W    {    k    Z    #     W    #             B]        Z    l         v              v         b    9                                            "x    .    "x    .    .         a        p     A    .    A    .    A    .         A    .  _t              "x    .    "x    .    .         a        p     M    9    -    t    -    -    _A    .    M               .    .    i    Z    E    Z    E    Z    .        Z    F    Z    F    Z    .        Z    ?&         #         0    R         a          #         a     #     r         r    2    Z    .    2    W2    Z    2    2    W2    2    Z    4     \
         \
                  b    \    !]            d    _         #     Z              %    #     &B                  l    _G         R              %    c        \    B]    r    :u         r              r    Z         4     Ԍ    r         .         .    Z    _A                   r    .    Z    A    <        7        .                  A    .    A    .    A    5    %               5    F5    [    d    ^    X[    n5    #     5    #     5    "5    #     Z         4     %     Z         !     .    [    #          #     Z    [    4     %               [    Y    [    Y    Z    #     A    Z            `                Z              Z    .    A    Z    A    Z    .    6     Z    .    6     .    6          Z    Z    
        .    S    Z    Z         Z    Z    q    ;         .         Z    .         Z    .    Z    .        Z    A        4    
"         #     #     T#    
"    0    
"         /    /    T#    
"    0    0    _A    M                        r    .    p     ;     .         .         ;             .         Z    .         Z    ;         #     &B             "x         d                           Z             .              0                  Z             0                            #     ^  .  n         #   n    Z                 .    M    ˯    d    p     A         .    A         A    s    Z    A         A    s    Z         I         A    A    s         <         A    s    A    A    s        ^-     a1     A    A    s    A    A         M               _A                 .             p     .                 .    p         t*        .    Z    _A             Z        t*    r                             J     B#    J     gy        B#  `                                 r                                                         .    R    .        .        .    Z   $     .        .        .        .                >    ]f        Z     
          v    ^+                                       c;    \         ^-         t     =    ^+    ^-         &W    ^+                                       1j    &B     Z     ^+                                 \         ^+    ^+                  _A         O    1j         a    Y    v=    Y                             )/    0    &B             .                !    !                !    !            )/    0            !    !            !    !    J     &B                        M    A     <                )/    0                    1     1     Q     1     Q     1     Q     1     Q     1     Q     1     Q     1                     )/    0            )/    0                        #     !]                  #     !]                  l    R   ԓ   NK    #              #     l         #     l         #              #              #              #              #              #              #              #              #              #              #              #              #              #              #                      !    !            !    !                #     !]                       #                    #                    #                       !    !            j    r                            )/    0                                    )/    0    K            )/    0                    )/    0            )/    0            )/    0            c                6_    P    ^            )/    0            )/    0                        #              #              #                          #              #              #              #              #                          #              #                                                      M    O     M    O     
"         M         M         T#    
"    0    r    O                            Z             Z             Z             Z    d            d    Z            d    Z            R             R             R                         #     [    1    d    ;_                  #     [    1    d    ;_                  \
              #     [    1    d    ;_    0            \
    0        #         \
                   #         \
              #         \
              #         \
              #         \
              #         \
              #         \
    0        #         \
    0                    #     [    1                  #     [    1                  \
        \
              #         \
    #         \
    #     [    1    0            \
    0            \
    #         \
              #         \
              #         \
              #         \
    0            \
    #         \
              #         \
              #         \
              #         \
              #         \
                  \
    #         \
    0            \
    #         \
                  \
            )/    0            )/    0                #     [    1    d                  #     [    1    d                  \
              #         \
              #         \
              #         \
              #         \
              #         \
              #         \
                                                                                      J                         J     NI    NI        _    J     3     <    q     3     2    [W    J     [W    ,    P     J     	    M        M        M                       {>    M        {>    M        {>    Z     $        
     $             $        9q    $        
        9q    $    "                $    "         $        $         N    N    5    $    N    N    $         N    N    5    $    N    N    Ԍ    &B    z    b     a     $    5     O    O    $    R    9q    /    2     /    {>    /    {>    /    {>    c    /    2         ~        B     #        B     U                      $B     ~    j     B                 Zu    Zu        ~    Zu    $B     Zu              .        2         .        .                                          &B         A          2                          {>                        JV    u         (     *)         A         A      4    A     A                          #                               .    \    \    .        >H    U                       U     .                                     !    !            !    !            !    !            !    !            !    !                     Q&             l             l    b`         Q&                     #     6_             #     6_                                                                     !    !                            /    _         Z    d    !     !     /    !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !     !     /    Z    d    !          !             !    !                   M    A     <            L
    X        t*        4     NI                   NI         NI                        NI         NI              NI         NI              NI                   NI              NI                        NI         NI                             NI              NI              NI                    )/    0    [-     [-             )/    0                    )/    0                         r    n                                            Z            !]                )/    0    !    !    #          !    !    6_                  #          !    !    6_                  .         !    !    !    d    _              .         !    !    !    d    _              /         !    !    _              #          !    !    [    1              #          !    !    [    1                   #          !    !    [    1    0                  #          !    !    [    1    d              #          !    !    [    1    d                   #          !    !    [    1    d    ;_              #          !    !    [    1    d    ;_                   #          !    !    [    1    d    ;_    0                  #          !    !    !]              #          #     [    1    #     [    1    d    ;_    #          d    ;_        !     d     Q&         r    !         \
         #     6_             r                  r    !         #     6_                          r                  r           r           r           r           r           r           r           r           r           r                      r             r             r             r             r           r           r                  r               !     d     Q&         r    !         \
         r                  r    !                              r           r           r           r           r           r           r           r           r           r           r           r           r           r           r           r           r           r           r                    r             r           r           r           r           r           r           r           r                   !        0     !                0                 0                  ^-    a         f    f    ^-    =          2               {>    :p             "x         "x              b    $    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A    A                   A     B     !F         ;    $    1               $    $    $    $    $    $    $    $    $         $    $    $    $    $    $    $    $    $    $    
"         94    94    T#    
"    0    "x    Q,    "x    Q,              r         r    y     y     W    _A    Z    NI    NI    NI    ?&         a     U    U    RN             l        
"         T#    
"    0    [    ;    5                        3    3        3        ;     ;     ;     ;     Tr    Tr    `    `                    3             t*    t*    t*    t*              ^+    3    1             ;     ;     ;         o         U    U    #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     ;         #     #     #     #     #     #     #     #     #     #     ;    ;    #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     #     5    5    W                       &B     g&    ;    ;    ;    &B     H    $B     4    W              ;    ;        l             l    b`         #              6_                  !                                                                                #     #     .    2         !    d    _         .    2         .    2         /    /    .             !    d    _                                                                                          .             !    d    _              .             .             .             .             .             .             .             .             .             .                  .             .             .             .             .             !    d    _         /    /    /    /    /    /    /    /    /    /    /    /    /    /    d&            ^    Q&    #              6_                                !    /    /    /    /    /    /    /    /    /    /    /    /    /    /    /    /    /    /    st        A               ^-     a1     ;    ;         ;    W         {>    W    ;    _   	  
      
          6u6y6)6}6e66m6i8
88
 8:
::
 :;]; ;GJKKT
LMNQRWX}suX
+,q
 %%J







(R (m(N (( 	               !  
   1     9     A     I     Q     Y     a     i     q     y                                                     &        )    9    iU 4   1    1                 8                i  4    ?   s H   (  N   L S   	    I Y   Y `           	 g           !    1 n   1 8   )    1    9    1    A    I    a s   ag y   ah    a    a    a    a16     a    aE    a    a	    a;
    a    aD    a4    ap    a    a\    ac    a    a    a    aC    aD     *      4             h    eh         Ȕ         ,        *    A     9  D      1 K  	 b  !
    !-    !5     I7   a     p     P     ;    #    ;    X   X   	   A    \)B  .       dp. C  d M  d  U    4     c  t)B  .  t=B  v  |p. C  | M  |  U       (L    ?(  N   9         !   	    >   A   ~     4       !              1    1BQ    ݃   1P  4   1Y            1 4   1  4       1u 4   1Lv 4   A    ABQ    A    AP  4   AY      4   A?    ׃    Ax  
     Au 4   ALv 4   Av 4   A.v 4   Q    Q   Y݃    QP  4   QY     Ё %  Q +  YЁ 1  P  4   Y     a    a ;    4     4   a8  
  a  
  9Q 4   9T 4   Uu 4   mu 4   kA 4     4   u 4   Lv 4   y    y ;      p C     I  }      $    > Q   U    [   ;        ;   ;      ?    ~_    "        ;                      >    ?    ~ b  @    >    	
3 h   o  q) o   o  9T 4   lU              n   au    Uu 4    v  {  {  !   B       3       k   B       3       J   AJ   ׃    X   1 :  A @  Q!      Y  u o  > u    u          _v          A     Ag-           1     	;     	F    	G           6    )	   9	   Y;   I    Q	 	      6  	  6    z    +  	  i    	 &	  i[4 /	  	s 6	  iC  /	  	    i=  /	      q;  C	  u o  6        9Q 4     m	  96[ Q  6    l 	  X   ;    6  	  Y}#   >     	  Ȅ    Y@1  	  6  	    	  ) 	  YI1  Q  A    A9Q 4   19Q 4       	  A    A D      Y 	  IG 
  	* h  q 
  q     6    6     %
  J     +
  A- /
  A
~     5
   ݃ E
        I
    O
  8 O
  
  S
  
     ?:     K:     o* X
  ӆ {   ^
   e
   k
  ā %   r
   
  A +
  J 
   
   
   
  k 
   
  H    A
_    A_  
  A_  
  9 
  	 
   
  ΀ 
  k. 
  ) 
  	- 
    
  /"    !!    	M(     	G    x     
  16    V 	  F-    
&    90 &  
         D  6  K  G/   m 4    ā Q  
    )  4        Y  g `  IK# f  $    $6    I=   Q   Q +  Ii6   Q +  3 4    4   _v 4   &  4       h          Ё Q  d       +  Q	      9   a 4   i   12    12    1    A    4   3 
  q  4   ,   4   ! )   )  4   :     ڸ     9     <  G  A9 N  A9 V  ?[ K          D           L           N   A   B   R      
x    }     ^         >           !  
  )  
  1  #
  9  1
  a  ?
  q  M
    [
  y  i
   
  i  
  q   A  
  A  
  Z+ 
  ;) 4   Z)    (    )     
  .+ 
  '  4   G+ 
  8     = 
  L 
  J: 
       T 
  9U  
       T     )    t;    Q   (  ?         ?         k  -  L @  :  F  4M T  ݃ \  ZL @    a  )      A  f  \   L |  
Ή        8       u   A     {    /"           !֙    !    !8>   !P   !<u Q  T   +        v    
= 4   =   =    6    ̆ (  	8 .  ݃ @  	8 R  
    <    @    s@    !    C@ 8   9 a      % d  E$     r  e     I  y  Ԓ    {     G        6         H    > K          "   T* 
  5 +
   C   	ZC 
   v  A.    A.  V  A.  N  A.    A.    A.    A        	<"            ,     !G   
  n   )C   )!@ -  > Q  d    1    1p _       P  4   ?_ 4       d6    dt j  Y p  qњ  4   Y= x  )m   >   Q    Q16     9RF O
  ה          Q
    Qt     /0   Q/    Q7   Q s   Qg y   Qh    Q    Q    Q    Q    QE    Q    Q	    Q;
    Q    QD    Q4    Qp    Q    Q\    Qc    Q    Q    Q    QC    QD    Q*   Q  4   Q             Y
    Y    Yh    Yeh    Y     YȔ     Y    Y,    Y   Y*   Y  4   Y     $     l    l6    lt j  9   AF   I+     I+     $ 6    $ 6    t    t6         e
   k
  )H D  QH "  ,     9    ӆ {   ^
  9H C  W  W  	 \  	 b  
    
{  {  |    J    a#         |       y    |1     /  0    Z    AV&  Y   _  Yb  4   >   Ȅ     U  4     q       4     4 6    )     )     H   3    iv    U  4   b     3              <  ' <  )ut B  X   ;    <             w             s          [          I   H                 e       E                	    j        +    z   K                 
  i 0  12    12    1    1    !    Ap. Y   
   r
   
  Qk   QM    Q    Q +  Q   Q [  Q2   Q   Q    )    ) b  ) i  )9     = 
  L 
  a    Y     
  y   )+   y    b   b   b  q b  y b   b   b   b  ?:     K:        y b  yB 4   yQ     b   b  h         b  )    9  K  II   IY    y   6        K# f  W#    Y  A   #    k`    u o     x  !    (  $  4   K  /  9    j 6  G 
  q    q <   Y  l Q  l    lX a  ;    P    Q t  ~ z  QJ      8     p7        p7     y Y  y)   y6    yG         6        $         Y   Y      yM        |        o  H    Y   Y  ! Y  i Y  y 4   y+    yf 4   yf    iG   ,     '    6        ye 4      4    x .  1 4  1	      4    <  D  C      c  L χ p  L B  {  L _   L U   L     IX   Q    Yی   Ȅ    is   v    a6[   Y"I    Y- /
  q8^   qg^   i    iā   Y   Ȅ    Y   >   iN4 
  	 "   "   "  ! "  ) "  1 "  9 "  y _  A  o   "  y   A
S   QM4  Q  2        5   Yu   aI    YM    !   y!      i/(    qEQ    y   y   ]"    <          [   y   )        oF O   T   \  $> u        s n  j u    {  *      s       ,             ,      S    4  m	  #    > Q  y    >   c Q   Q  c    6       a_   yW    yā   _   a5`   a`   *]       <bN       <Sn   A
S      %  D>   a} 4   :  LSn   a\        akd O  a=  V  A
 \  T>   I%7     a^    a! n   }  bs      12    1QO    1cS       :     >   	$    F(     \6    ! U  )-Z   #   Ac    !}      )
  n   SC    	_    d   	8 0  	 }  96  D  U, M  	WH `  	Y  g  	 o  	n  n  dl u  Y   $    	>    9W   .    $    	   & o  A o  	F    	F    it   |     ?         !    )	BQ    	G   	   s    !	    !	?    !	     !	~_    !	"   }      m	     4   I    	Y     	K_    	P   	>    u =  1	΄ `   4   BQ    = d  1	P  4   Y     3  j    o  1	 v      A	    V   H    9:    9X   9[4   BQ    )
z    )
        	  6	  9	C  /	  9	[4 /	  9	=  /	  l   y	$    g    
  6     i	U o   o   o  q	BQ    i	TS    !p[    )
:     9U, ]  Z6    g+ x  A o  p[    	F    ;  C	  1t   cS    y   	$    		3R    )O   h     )	    1+z    1(N   N    cS    t   	     	   N   	    	      
  	    )
        	6  
  Y	   6         '  s -  	 2  ,     @     cS      4   P  4   !       ^  o-  g  	|     	    )WH `    b  !    	 -  1B  3  9BQ    9:     [) o  	[) o  9@  a      	B   |> Q  |>   Af   	O   	W       !k    ; o  9W   F(     a#   i)   	   Q o  i    a   i8I o  yA   K:     q,  
  ) 
  y    s        !   )      1   9   a   I v  !>   yD  4   cS    ,    )>   >   "   Ip f  I{  m  
   6    	   R    ; o  G   WH   K:     	R 
   	     	R         	)     	H    	H        	'    	k    	  &   ; /  
Y =   	6  I        TS         s   6  |           6    n  n  6    1 _ !  1Q    6  K  F !  Y@1  !  I    X   ;      !  I6  !  > Q  >   Y  !  
    
5    
Mt    
"I    	        A
`2  Q  I
 !  I
    I
%    I
B    I
    +  "           &"  X T"  ;      ~"        m	  Ȅ    u       )C" "  I "  - #  u #  > !#    &#  5 +#  !- /
  A
 :#  A
& F#  A
 R#  A

 ^#  T   4     ~#  @    T    T          l+  #  I5 #  A

 #  A
 #  A
~2         #  #    o         q
  $  X 7$  
    
u   A
_ =$  A
 F$  >   q
 X$     q h$  $   ,    4c $  $    <    <6    <X $  D; $  Lu    A
  V  Q %  
=  V  T6    Y %  \6    i 8%  $>   DP    
     
G  O%  dm    
  n%  
1  +  
 t%  
 z%  
# 4   
= %  
(1  %      nP       	+  Q  	W*  Q  	'  Q    %     %  V  %  R  %    %    %  $  %     %    %    %  a  %  ]  %  n   %  j   %  	"  %  "  %  ;#  %  7#  %  x$  %  t$  %  !% %  $ %  $ %  $ %  AC  Q  A %  T     !5     Y$    `$ %  (5  %  !W %  b %  
 %  Y* %  !֙  %  <p  %  2  %  a4  %  !    1 Q  1P) Q  H  &  H  
&  lmD  &  4    l]  "&  lS    4u o  l׵  !  46    tmD  E&  |    t]  X&  tS  d&  |  m	  |> Q  |6    |X &  ; $  u      ~"  P        d &    &     ). &     A
 '        6    A
  E'  <  K'  I Q'  A
c W'  Q> g'  u o  > u  92 '  !  '  Fe   /e   !3  '  !!   1 %  t '  . '  Y  '  	t -  Y '     Y '     )ut 	(     Y <(        Y b(     <     <         !X (  ;    i6[ Q  >   i@[    Y (  6  (  Z      (  *  (  2? Q   -  d -   -  0 -  Z      (  @  (  I?     2  d 2   2  K 2  7A )  0 Q   Q  &  4   _v 4    )  3     iv    6  U  I> Q    )  > Q  >   $   )w  )  )I )  ?  )  o )  yu *  J"    q8Q Q    *     S    P)   r    A˱  %*  r 7*  < =*  Y2  Q  2  Q  P  4   ǹ  4   b 4   Y     ѹ     
c     Q  ) Q  d  O*   Q    U*  P) Q  A [*  A a*            w* g*    m*  AT    Z s*  = y*  % *  9%   9'   9v   9A   ,       {  QT    e *  N *  9% *  9' *  9v *  9A *  ,     y?  )  q    4      *  <>   4  m	  4> Q  4x6  *  D  m	  <E_ U  < *    *  s    ,a Q  1  +  c  *  0 Q      s    ;a     1        m  +  < +  8j +  a Q  a Q      Kj 1+  S     b    a    M  8+  L>   LE_ U  A
r  V  Y\ )  Qs [+  QS `+  T    A
 +  \X   d;    l   & +  l     A
S +  a Q  a    a2     a +  A
 4  Lm    A
1 +  A
 +  A
 +  A
" +   +   +          tU 	,  |m    A ,      | ~"  A !,  Dr      (,  > U    7,  > U   F,  a&    a    aM     a   A
O   LbN    A;     2  Q  A v,  > Q  >   A ,  S4      ,  6    6    2  Q  ILd ,  0 Q  I ,  > Q  >       I -  S4      -  6    T6    qP  4   q )  qY     6  U  { 7-  W 7-  I 7-   7-  /v 7-  cG 7-  F  7-  u 7-    7-    7-   7-  
 7-    7-   7-  ` 7-  < 7-   7-   7-    7-  < 7-   7-  6 7-  m 7-  _ =-  !<  7-  !%2 7-  !  7-   7-   7-    7-   4     C-  i=  V  iٓ  U-  7A   Y\ [-  (b    i. U-  % d-  > i-  a 4   aZ 4   aUu 4   aU<     i   ] -  9_   8, -  y[ -  Yc -  !> -  i; -  !> Q  i#`   yF   i_   yF   i; -  Y7 -  !0B -  a    ae    a    aau    aa<     0B -  7A Q   -  5'         B    5 -  U	 4   j2 Q   `    Q  \2 Q  t    ҏ  Q  3 Q  AA     .  `'         B    "5 .  m	    2    ބ .   .       s2    t         #3    - /
     <6[ Q  } 4  L6[ Q  H 0.  6[ Q   ? H.   ? H.  l ? H.  l S    4> u  D> Q  A Q  KA    W1 Q  A    ]A    D     	A Q  	KA     7-   7-   7-   7-   7-    7-  V 7-   7-  ! 7-   7-   7-  +  7-  7 7-  t 7-   7-     
                         o   O   !<    !42   !    

         ʿ    N             '    6   m   g   -   6        n.  |  n.  / t.   7-  0?     _e y.  S    V 7-  Y 7-  e     7-       
    {   W   I   %   8v   Œ  .    .    .   *   *     lG   D?       .  P    ~e .  T              W   Ʃ    c   e            
    )  .  )"u 4   ) 4   _ 4   i  4    4   _ 4    4   i<o .   .      p    z                 p                )   .  )/u    )    6    > Q  a   6    a\ /  a#   a    Q[ 	/  QF /  9\ )  9$ Q  Q+ /  yN4 ./  y+       > u    V/  y     ] Q  9T \/  QS 	/  yS -      6    t    F    4    :     U    j  Q    Q  J  Q    Q   Q  A  e/  )  k/    q/  I6 w/    }/  5 /  $ Q  1$ Q  $ Q  W$ Q      t    F    4    :     /U    {          Z                /     /  2  /  i6 /    /  6 /  $    D$    $    q$    I(  /  I Q  I$ Q  IO     IuZ    I,a Q  - /
  I2  /  I    I&$    IY     IZ    I;a    Q(  /  Q Q  Q$ Q  QO     QuZ    Q,a Q  Y    Y2  /  Y    Y&$    YY     YZ    Y;a    m    - *0  a5 00  as1 Q  at  60  a2 Q  a^   a  <0  a2 Q  a² Q  a  Q  aO    a
    a    aL     af    a    aP    aϐ    aE9    a1 Q  A  B0  a4  Q  a&    ay` Q  a/ H0  az H0  a H0  aY H0  a H0  a"5 T0  a1    a  a0  a2    an *  a  n0  a2    aӲ    a*     aO    a
    a
    a`     a|    a    aP    a    a\9    a1    a'    a4     a`    a> {0  a {0  a {0  aj {0  a {0  i5 0  I
  0  Y %  
H +  i %  iF  0  a Q  Y׃    YA  0  i5 0  
A  0  i 0  a    X a  ;    q
  0  P    	t 0  	t 0  qX %1  &  +1  =  V  q\ Q  q +  q- /
  t > U  qF Q  qo 11  q 71  q]   a\ )  q]   ar\ )  F    o 11   C1  q Y1   `1  iQ  f1  Y] n1  qP w1  i[ }1  Y^ 1  Y 1  q{4 1  qk4 1  iy) 1  q C1  \ Q  a1 Q   +  6[ Q  o 11  W% 1  Q5 w1  qY Q    Q  q&  +1   1  	   	  ~#  $	   ,	{ 2       o 11  e% 2  q1 "2  > U2  4	>   <	>    t2  @[    e% 2   2  y  2  6  2    Q   Q  <  2   2   +  | > U  #b +  P) 2  D	       	     P) 2   2  <  2  | d      } 4  ! n   +   +   +  <m    L	- /
   +   +   +  } 4      3  (  !3  > (3  ,	  4      T	} 4  T	! n   +   +   +  L A3  ){ P3  )I &   d3  	6  U  ,	\     3  <  3  ,	     ,	]     ,	l     q- /
  qO^   aR\ )  q!^   I& 3  X   \	{c 3  d	0 Q  l	{c 3  t	0 Q  q ,  6    q 4  % Q  v Q  ' Q  A Q  q+ 4  > Q    Q      q  4   Q  P) Q  q %4  (  +4            % Q  h% Q  v  14  q 74  / Q      %    v    '    A    >         & =4      [)    6  O4                /%    y%      \4  C         w4  |	X a  	;     Q    Q  	P        I>                |	6    	- /
  	@    
U     
E  4  	  4   
   	   
 4  	     	]     	l     	6  U  	\    	   A
 5  $ 5  	   	   	   	   	m    !
> Q  t    > 5  	bN    !
6  5   5  	m    P  4   	   [ 5  ~  Q  a     1       5  '  6      4    1{    {    -@ 6  F    Ko 6       	- *0  a Q  y` Q  !b Q  Za Q  hb Q  A  6  ]          b     1     (    B      /6  =  <6  H{    {    8@ I6  F    Xo P6       a    `    9b    ra    b    	- /
  	@    
d o6  	0 Q  
 6  	     	]     	l     
   	\    	- /
  
@    	
   
} 4  	
U     	
E  6  	  4   	
  4  	
     
! n  	
3d o6  	
^ Q  	
 6  	     	]     	l     	
     	
kd O  	
^    
6  U  	\    	
  6  T ;     T F    T ;    T G    T   4   QF /  a\ Q  a Q  ad o6  a^ Q  iF   t     
    
u o  
  07  
6    $
   ,
  ~"   k7  # q7  P1 w7  a }7  &  Q    Q  t        UJ 7  05 7  y` Q  '\ 7  _R Q  R Q  R Q  R Q  ] Q  Y] Q  CH 7  G 7   7   7  = 7  A  7  4
- /
   7  	w     	     	t    	    	eJ 7  	C5 7  	`    rR    R    R    R    ]    s]    WH 7  G 8   8   8  N (8  <
bN    1
  A8   H8  <
Sn    k7  a Q8  %    t    aT    PZ W8  5 ]8  y` Q  A  c8  %    t    mT    bZ {8  5 8  D
- /
  `    L
bN    Y
  8  L
Sn   # 2  e    %    -    8 7  4  Q  A  8  p    %    -    8 7  4     T
bN    y
  8   8  T
Sn   |         D    >   T o  T6  o  > Q  4Ȅ     S    | w    t w    \
   d
X   l
;    ,
u    <> U  D6    L> U   F,  D> U  4> Q  > U  > Q  ( .  m 9  t
   )t 9     |
 9  |
/ :  |
z :  |
Y 
:  |
 :  |
T :  
 9  
/ :  
z :  
Y 
:  A
 (:  A
 .:  9
v 4:  9
% 4:  9
' 4:  9
A 4:  i
  ::  i
     i
  A:  i
  Q  
  M:  
  Q  
  Y:  
     
5 `:  
" f:  
2[ Q  
;     
.        
 x:       	bN    ;!  :   :  	' %       bN    yN ~"  
  :  Sn   
I .  
Y .  
P,  .  i    
 :  q :  qP  4   
E v   :  ) :   
;  
r ;    ;  $ ;     Q  
    
  m	  
> Q  
6    A
W:     
    
    
6    
t j  
    
6    
t j  
! .  6    
! ;  6    y9     6    
z 1B  
z 1B  
z 1B  Yā MB  Y@1  WB  $ aB  
    
    
    Y݃ B  A
 B  A
s        
X   
;    
X   
;    
X   
;    
6    	{    b     1     D   
X a  
;    
P    
6     o  "5 T0    n0  *     Ӳ    n *  9/*  %C  2    	{    9 '  1    ]          2    	G    	F    <A yC    5  	@    
6     D  ,	{    
A   u 3D  (    
 :  
T :  Y E  
F  E  
< E  
  &E  
x    9  -E  gB    I    V 5E      IW#   g     
   I*     -     K6      GE  :     ][    
zx    +    : NE  9F VE  
    $ E  >    	 E  zx    
    
    ! E         0    	    	R E  * E  $    
3R    au    
          E  
I  E  	 b  
u E  
h E  	d[ E  
2  E  )  E  ?  E  - 
  5  
  
    
6    
t j  ; F  1=F   !     ݃ F  	* F  9*  %C  	* F      6       I+     )	 =F  X   	  4   X   	  4   $X   ,	  4   TX a  ,;    ,P    \X a  4;    4P      F  < F  D&x o  D)x     G   . o   -    L    L" )G  T.    9      F  M@     Y  BG  Y  MG  Y     Y: aG  T>   T> Q  Yq G  i7A G  9n]   i(b  G  iЁ   A
x G  yS G  A
 G  )    \   d   l   $6    t  m	    H  t    t6    q 7H  I   Q
 JH  YGC  -  h?     [    [    I  zH    F  @     |  m	    H  |       |6         =  V  Y&q G    H    H  y<K H  aё  H  yu H  i /  q H  y H               ,u I       ,u I                       F  1    1[)       r 7*  j u  y  [I   F    m	    H         6       =  V    I     =  V   I  iS  I  $   ,-    A I    e/    k/  A,u I  ,-    Y  I  9C*  %C  #    Yh  J  $  m	  $  o   8%  @     q 
  I 6J   JJ  " fJ  " oJ    uJ      M {J  W  J  X?     |  J  A8 J    J  Q J  7@     
  ~#      6    !
 J  a 5  a  J  Y  
K    #K  A )K  A^ :K  A DK       eK  R mK      (- K  - /
     A
\b K  Q    8 J  
    A K  , F  @       m	    H         6    4   <   D   L F    m	    H         6    T   \   d F    m	    H         6    l   t     $L    0L    $L  }  CL  1         F IL  q \L  	{ 2  	{ 2  
>   	>   	      5  	     S zL  s L  V] L  c $  b@     v@     A
S L  | F  
     F  
    T  L  A   s L  6     F   F   F    m	    H         6       =  V  /  
M     =  V  $/  0M  $l  =M     =  V  ,/  KM  ,l  =M     O ZM  4=  V   oM  T yM  eo M     Y
yT    Y
%    Y
u       Y
tZ       Y
5       <    D=  V  21  M   M  <6    < o  Y
    Y
    Y
{    Y
M    Y
ي    Y
m    Y
WI    Y
zI    Y
CI    Y
hI     F  L  m	  T  H  L    T   L6       =  V  \/  N     =  V  /  N  Sn (N     d  :N   @N  l  QN   WN     =  V  t/  hN  tSn (N         1
       `    1
`       eJ 7  1
J    $   |=  V  Ib   1
    1
    1
{    1
M    1
ي    1
m     N  ,   C5 7  1
V5    4   @     1
Z          1
     t    1
t    <   1
3    1
WI    1
zI    1
CI    1
hI    1
`1    a    tt j  D F    m	    H         6    L   L=  V  /  N  T   T=  V  /  O    *O  \   y
-    d   y
3    y
    y
%    l   y
8    t   y
4     q+5 WO  y/) Y1  <	> Q  4	> Q  `5 w1  Y] 1  iS }1  qR  2  P %1  y) Y1  Y %1  	    t j  t j  	  P  \    \t j  9X #P  *     Yi            1nB  2P  !;     1A     	> Q  9	    >     m	      6    ;  uP  ā zP  R uP    uP  6 uP  6 uP  ' uP   +  uP  9 uP  ^1  uP  1  uP  I P  Ii4    Q       Q  P  Q     qK 
      A     ~G    	
n P   +  
n P  YP) Q  Y Q  Y% Q  Yv Q  a P  q P  qx P  q    y) P  
!,    q) %C  y31 P  )*    yA1 P  y P  
% P  Y+  Q  Y,  Q  a" P  
u P  aA   a,  *  a[) *   P  ` Q  
	 Q   I  1   
(  #Q  ,	- /
  A
 :Q  A
a    Y] )  Y-  @Q  	     	> Q  	>   A KQ  \       5 [Q  qd Q   jQ  
(  sQ   %  q( Q  q@ Q  q Q  q Q   Q   Q  Yā 1  9   
  Q  +  Q  ,  Q  
  Q  g1  Q       Q   Q  ax  R  <֙  R  D>   D> u  D> Q  Du o  I 5R     Qk  _R  Qu  rR     );} R           R  { R  a2     t?    i7  R  a   .  a^ R  iV    i}    iL    i    i{    iQ
    )|    } R  a R  6  R  q   a  R  y   a}  R  a#   a݌  R  a  R  y
 R  t     4   ^  S  |^ Q    S  p       m	  6        ; S  L S  $     )Nu 4     #  ),  .    MS  > SS  6     5     > I       <y     ā S  YN` S  Y<< S   P  a  *  6    >   yA4 ./  ys    1  S  P  4      ,     	 ~"  y     ]     T  :  [  :     6  o      9   1 T  | 
T      u o       A9     A9     ^7     u /T  E=    E=    g=    B6 5T  r    U  ;T   BT   HT   OT      AY  UT  A(- K  :    A: iT  ;       4   Ё zP  @     (  4   <    x  nT  +>    = ~T  t    t -  6  T  !  4   !m,  -  A  .   T  A*9 T  A*9 T  5         1      
_    	_    	_    )    ) 2       Ap     A T  t 2          &"    m	    m	  A\b K  ׃    :    *9 T  ` U  ; 4       A )U  !   !S-  /U  y         > u  A	 BU  >   A 4   X T"  ;      ~"  u    +  U  {    oF   TȄ    DȄ    I U  ! U  A B  I U  I U  A
 U  A
Z U  )    A
       1 U  A
B    A
 
  A
B U  #    A
8  V  A;     a2 -  !>     !?     !>     	 ,  	]A    a2 -  	  ~#  Y  PV  ?     Qā /  aF    YA mV  <  tV  Ё yV  E tV  Y V  i,   >     YO V  ?         F  
> u  
  u  
    
   
6    y
 W    6  	yN ~"    :  	Sn                 F  6      m	     =  V  r       =  V   F  
  m	  
  lW  
    
   
6     F   F  $
> u  $
    $
6     F  ,
  m	  ,
    ,
6    Y?
 W  |?     , F  4 F  4
    <
   4
6    4
  m	  <
  lW  < ,  <- /
  D
  W  D
 	X  AMT X  D ,  I    L
     L
     L ,  T ,  T
     T   9 '  T
     \
     \
     \ ,  d
     d
     l
     l
     d ,  > nX  y,   t
    I #  t
6    |
   t
?B X  
X   
;        A
L X  
   TQ J  
    
6    
   
?B X  
X a  
;    
P         Y   Y  
6    Q Y  Q:     Q    QH    A
' Y  Qd  4   0  Y  A
߬ Y  Y    R_ ~#  *     #  YPp    a#    Ydp Y     q  
  A
v Q  b4  4   
0 Q     _   _   _        p     @     Y  )Z  Y8 8Z  ad O  LA   A
T /  Y  Z  Yjl Z  Y  Z  Y  Z  Y  Z  y   9R\ )  yb\ /  y]   y*]    A Z  	    	L> Z  )g= 
  
   
   
1  [  
 /  
0    W     W     L    D  #    N[    T[  - ,  MG  ^[    N[    c[  <- ,  <MG  ^[  <  N[  <  l[  L    D  #    N[    T[  ]   ]   L    D  #    N[    u[  L    D  #    N[  
     [    N[  LL    LD  #  L  N[  L  [  TL    TD  #  T  N[  T  [  L    D  #    N[    [  L    D  #    N[    [  L    D  #    N[    [    N[   L     D  #     N[     [  
  \  
5 \  
 6\    E'    K'          z @\    H\      b  P\      1  P\  , P\  F P\  L{ P\  { P\    X\      E  b\      w l\  a v\  W \   l\  ` v\   l\  Qb v\   l\  a v\   l\  b v\  @ \       G P\    P\    \      
- /
  
  B0    \  %
 \          oF \      $    ,    4    <    D    ao v\  L    T    ?      \  !
 \  a \  !
  ]  a  4  
 \  9  +]  u  9]  $u o  $> u  
G k]   r]  > x]    4   )Y=    C   Q
= ]  Y ]  Yd~    )r ]  n 4   )  r  Y    Ye ]   4     4              i|. ]  i`  ]  	 k
  q# ]  < ]  Z ]  y ]  6    6                    A     q
 ^  43 ^  $l6  v      ,    , '    BQ      n       )_    4#  #  Q, /  !  I^  aP  O^  !  V^  	  4   	    	; j^  	; _  <   D   L   	; -a  	 Ia  *     V  Pa  ?(  4   Lo  &  q"2  na  L=2  &  L     L  ra  L; .  L]         L            Tu    T  ~"  *  ~"           QG  [+   ,  - /
  \2 a   ,  A     ,  ]A    >   a8     8      ,   ,   ,   ,   ,   ,  ބ a  H 0.  dz a  $   k` Q  a- /
  ݰ  a  l> U  ' %  $     tp. b  t`  b  A b   0 b   4 b   8 b   < b   @ b   D b   H b   L b   P b   T b   X b   \ b   `  c   d  c   h b   l b   p c   t c   x %c   | 8c    Mc    `c    wc    c    c    c    c    8d    [d    d    d    d    d    e    3e    Te    e    e    f    \f    f    f    g    hg    g    g    %h    lh    h    h    i    \i    i   i   i   j   #j   @j   cj   j    j   $j   (j   ,$k   09k   4Xk   8uk   <k   @k   Dk   Hk   Ll   P-l   TLl   XUl   \hl   `yl   dl   hl   ll   pl   tm   xAm   |bm   m   m   m   n   Mn   bn   n   n   n   n   n   o   !o   Do   qo   o   o   o   o   p   7p   Tp   {p   p   p   p   p   q   7q   ^q   }q   q    q   q   r   Jr   Yr   rr   r   r    r   $r   (r   ,s   03s   4Vs   8ks   <s   @s   Ds   Hs   Ls   Ps   Ts   Xt   \"t   `9t   dZt   ht   lt   pt   tt   xu   |Bu   cu   u   u   u   
v   Bv   Uv   rv   v   v   v   v   v   w   5w   nw   w   w   #x   nx   x   x   #y   ny   y   y   
z   Nz   z   z   z   6{    o{   {   {   |   S|   |   |   |    |   $|   (|   ,}   0;}   4\}   8}   <}   @}   D}   H}   L}   P~   T.~   XC~   \b~   `~   d~   h~   l*   p7   tN   xc   |                      G   d         ˀ         :   c      Á         N         Â         *   S   t      ؃      P       Ą      6   s         ޅ       $*   (a   ,   0ۆ   4   8?   <j   @   Dʇ   H   L,   Pc   T   X   \   `   dD   hw   l   p   tĉ   xۉ   |         #   :   U   z         ϊ      
   .   K   r            ڋ      "   9   Z   {                  
   2   ;   R    s               ȍ             $D   (u   ,   0Ŏ   4   8   <4   @]   D   Hɏ   L   P   T@   Xy   \   `   d   hِ   l    p   t    x9   |\   m               ؑ            8   [   r         ǒ         H   g                     $   7   T   o         ̔          5   >   M   f   s          $   (   ,ڕ   0   4   8'   <P   @s   D   H   Lޖ   P   T   X-   \P   `}   d   h՗   l   p   t&   xE   |Z   y         ֘      .   M   b         ə   ܙ      $   A   T   q            ͚      )   N   }      ɛ      )   H   q          Ԝ         C   x      ڮ       ۝   $   (   ,D   0m   4   8   <ڞ   @   D   H-   LL   Pu   T   X   \ҟ   `۟   d   h   l>   pU   tv   x   |֠         ?   n   {         H   L   PD   T   X   \7   `   d   h<   l   p   tW   x   |   t   ۦ   :         c   ̨   K   ȩ      x   ˪       w   Ы   -         X          k   n   w                     L	ڮ   P	߮   T	   l	ڮ   p	߮   t	   x	   |	   	ڮ   	߮   	ڮ   	߮  
 	   	ڮ   	߮   	   	    
%   
F   
q   
   
ϯ   
   

   
0    
W   $
   (
   0
c   4
c   8
%c   <
İ   @
ɰ   D
8d   H
d   L
d   P
@j   T
j   X
j   \
Xk   `
k   d
k   h
hl   l
{p   p
l   t
Mn   x
n   |
m   
m   
n   
ΰ   
   
   
   
s   
s   
Bu   
nw   
w   
nx   
x   
y   
z   
6{   
{   
|   
   
   
G   
ޅ   
*   
   
   
   
#   
   
ڋ   
   
   
              b   ͚   )   ɛ   )       $   (Ԝ   ,   0   4C   8x   <   @   D۝   H   L   PD   Tm   X   \   `,   dU   h>   l   p   t   xԱ   |   ,   O   x      Ҳ   ۲      	      K   Z   {         ֳ          U                           Ա   0   ڮ    ߮            K   P   U   Z    _   $d   (i   ,n   0s   4x   8}   <İ   @   D   H   L   P   T   X   \   `   d   h   l   p   tõ   xȵ   |ɰ   ͵   ҵ   ׵   ܵ                           	               "   '   ,   1   6   ;   @   E   J   O   T   Y   ^   c   h    
m   
r   
w   
|   
   
   
   
    
   $
   (
   ,
   0
   4
   8
   <
   @
   D
¶   H
Ƕ   L
̶   P
Ѷ   T
ֶ   X
۶   \
   `
   d
   h
   l
   p
   t
   x
   |
   

   
   
   
   
!   
&   
+   
0   
5   
:   
?   
D   
I   
N   
S   
X   
]   
b   
g   
l   
q   
v   
{   
   
   
   
   
   
   
   
   
                   Ʒ   ˷   з    շ   $ڷ   (߷   ,   0   4   8   <   @   D   H   L   P   T   X   \    `%   d*   h/   l4   p9   t>   xC   |H   M   R   W   \   a   f   k   p   u   z                                             Ÿ   ʸ   ϸ   Ը   ٸ   ޸                                      $   (   ,$   0)   4.   83   <8   @=   DB   HG   LL   PQ   TV   X[   \`   `e   dj   ho   lt   py   t~   x   |                                    Ĺ   ɹ   ι   ӹ   ع   ݹ                            
               #   (    -   2   7   <   A   F   K   P    U   $Z   (_   ,d   0i   4n   8s   <x   @}   D   H   L   P   T   X   \   `   d   h   l   p   t   xú   |Ⱥ   ͺ   Һ   ׺   ܺ                           	               "   '   ,   1   6   ;   @   E   J   O   T   Y   ^   c   h    m   r   w   |                   $   (   ,   0   4   8   <   @   D»   Hǻ   L̻   M   Pѻ   Tֻ   Xۻ   \   `   d   h   l   p   t   x   |   
            !   &   +   0   5   :   ?   D   I   N   S   X   ]   b   g   l   q   v   {                                              Ƽ   ˼   м    ռ   $ڼ   (߼   ,   0   4   8   <   @   D   H   L   P   T   X   \    `%   d*   h/   l4   p9   t>   xC   |H   M   R   W   \   a   f   k   p   u   z                                             Ž   ʽ   Ͻ   Խ   ٽ   ޽                                      $   (   ,$   0)   4.   83   <8   @=   DB   HG   LL   PQ   TV   X[   \`   `e   dj   ho   lt   py   t~   x   |                   ڮ   $߮   (   ڮ      |   Ͼ         Dڮ   H߮   L   P   Xڮ   \߮   `   d   h   lK   pP   tU   x_   |d   ڮ   ڮ   ߮            K   ڮ   P   ڮ   ߮      ڮ   ߮      ڮ   ߮         ڮ   4ڮ   8߮   <   @   D   Xڮ   \߮   `   d   lڮ   p߮   xڮ   |߮   ڮ   ߮         ڮ   ߮            K   ڮ   ߮            K   ڮ   ߮            K   ڮ   ߮             K   P   U   Z   _   d   i   n    s   $x   (}   ,İ   0   4   8   <   @   D   H   L   P   T   X   \   `   dõ   hȵ   lɰ   p͵   tҵ   x׵   |ܵ   ڮ   ߮            K   P   U   Z   _   d   i   ڮ   ߮            K   P   ڮ   ߮               ߮             K   P   U   Z   _   d   i    n   $s   (x   ,}   0
   4   ڮ   ߮            K   P   U   ڮ   ߮            K   P   ڮ   ߮      ڮ   ߮            K   P   ڮ    ߮            K   P   U   Z    _   $d   (i   0ڮ   4߮   8   <   @   DK   HP   LU   Tڮ   X߮   \   `   d   hK   lP   pU   tZ   x_   |d   i   n   s   x   }   İ                              ڮ   ߮      ڮ   ߮         ڮ   ߮         ڮ   ߮   ڮ   ߮            K   P   $ڮ   (߮   ,   0   4   8K   <P   @U   DZ   H_   Pڮ   T߮   X   \   `   hڮ   l߮   p   t   |ڮ   ߮            
      K   P   
   U   Z   _   d   ڮ   ߮          $   (K   0ڮ   4߮   8   <   @   DK   HP   LU   PZ   T_   Xd   \i   `n   ds   hx   lİ   p   t   x   |                     ڮ   ߮      ڮ   ߮            K   P   ڮ   ߮   ڮ   ߮            K      P   U   Z   _    d   i   n   s   x   }   İ          $   (   ,   0   4   8   <   @   D   H   L   Tڮ   X߮   Yڮ   \   `   d   hK   lP   pU   tZ   x_   |d   i   n   s   x   }   İ                                          õ   ȵ   ɰ   ͵   ҵ   ڮ   ߮      ڮ   ߮             K   P   U   Z   _   d    i   (ڮ   ,߮   0   4   8   <K   @P   DU   Lڮ   P߮   T   X   \   `K   dP   hU   lZ   p_   xڮ   |߮   ڮ   ߮            K   P   U   ڮ   ߮      ڮ   ߮   ڮ   ߮   ڮ   ߮      ڮ   ߮            ߮      ڮ   ߮      ڮ   ߮      $   ,   4   8   <   @K   Hڮ   L߮   P   T   \ڮ   `߮   d   h   l   pK   tP   xU   |Z   _   d   i   n   s   x   }   İ            ڮ   ߮      ڮ   ߮            ڮ   ߮   ڮ   ߮   ڮ      ڮ         K   P     U    ڮ    ߮                K   $ ڮ   ( ߮   ,    0    4    8 K   < P   D ڮ   H ߮   L    P    T    X K   \ P   d ڮ   h ߮   l    p    t    x K    ڮ    ߮            ڮ    ߮    ڮ    ߮                K    P    U    Z    _    d    i    n    s    ڮ    ߮    ڮ    ڮ    ߮           !ڮ   !߮   !   !ڮ   !߮   !   $!ڮ   (!߮   ,!   0!   8!   <!   @!K   H!ڮ   P!ڮ   T!߮   X!   \!   `!   d!K   h!P   l!U   p!Z   x!ڮ   |!߮   !ڮ   !߮   !   !   !   !K   !P   !U   !Z   !_   !d   !i   !n   !s   !ڮ   !߮   !   !   !   !K   !P   !U   !Z   !_   !d   !i   !n   !s   !x   !}    "İ   "   "   "   "   "   "   "    "   $"   ("   ,"   0"   8"ڮ   <"߮   @"   D"   H"   L"K   P"P   X"ڮ   \"߮   d"ڮ   h"߮   l"   p"   t"   x"K   |"P   "ڮ   "߮   "   "   "   "K   "K   "P   "U   "Z   "K   "P   "U   "Z   "_   "K   "P   "U   "Z   "_   "K   "P   "U   "Z   "_   "d    #ڮ   #߮   #ڮ   #߮   #   #   #   $#ڮ   (#߮   0#ڮ   4#߮   <#ڮ   @#߮   H#ڮ   L#߮   P#   T#   X#   \#K   `#P   d#U   h#Z   l#_   p#d   t#i   x#n   |#s   #x   #}   #İ   #   #ڮ   #߮   #   #   #   #K   #P   #P   #U   #Z   #ڮ   #߮   #   #   #   #K   #P   #U   #Z   #Z   #_   #Z   #_    $d   $i   $n   $s   $x   $}   $Z   $$Z   ($_   0$ڮ   8$ڮ   <$߮   @$   D$   L$ڮ   T$ڮ   X$߮   \$   d$ڮ   h$߮   l$   p$   t$   x$K   $ڮ   $߮   $ڮ   $߮   $   $ڮ   $߮   $   $   $ڮ   $߮   $   $ڮ   $߮   $   $   $   $ڮ   $߮   $   $ڮ   $߮   $   $   $   $K    %P   %U   %Z   %_   %d   %i   %n    %ڮ   $%߮   (%   ,%   0%K   4%P   8%U   @%ڮ   D%߮   L%ڮ   P%߮   T%   X%   \%K   `%P   d%U   h%Z   l%_   p%d   t%i   x%n   |%s   %x   %}   %İ   %   %   %ڮ   %߮   %ڮ   %߮   %   %   %   %K   %P   %U   %Z   %ڮ   %߮   %   %   %   %ڮ   %߮   %    'ڮ   '߮   '   '   '   'K   'P   'U    'Z   $'_   ('d   ,'i   0'n   4's   8'x   <'}   @'İ   D'   H'   L'   P'   T'   X'   \'   `'   d'   h'   l'   p'   t'õ   x'ȵ   |'ɰ   '͵   'ҵ   '׵   'ܵ   '   '   '   '   '   '   '   '	   '   '   '   '   '"   ''   ',   '1   '6   ';   '@   'J   'O   'm   'r   'w   '|   '   '   '    (   (   (   (   (   (   (   (    (   $(¶   ((   ,(   0(   4(   8(   <(!   @(&   D(+   H(0   L(5   P(:   T(?   X(D   \(I   `(N   d(S   h(X   l(]   p(b   t(g   x(l   |(q   (v   ({   (   (   (   (   (   (   (   (   (   (   (   (   (   (   (Ʒ   (˷   (з   (շ   (ڷ   (߷   (   (   (   (   (   (   (   (   (   (    )   )   )    )%   )*   )/   )4   )9    )>   $)C   ()H   ,)M   0)R   4)W   8)\   <)a   @)f   D)k   H)p   L)u   P)z   T)   X)   \)   `)   d)   h)   l)   p)   t)   x)   |)ʸ   )ϸ   )Ը   )ٸ   )޸   )   )   )   )   )   )   )   )   )   )   )   )   )   )$   ))   ).   )3   )8   )=   )B   )G   )L   )Q   )V   )[   )`   )j   )o    *t   *y   *~   *   *   *   *   *    *   $*   (*   ,*   0*   4*   8*Ĺ   <*ɹ   @*ι   D*ӹ   H*ع   L*   P*   T*   X*   \*   `*   d*    h*   l*
   p*   t*   x*   |*   *#   *(   *-   *2   *7   *<   *A   *F   *K   *P   *U   *Z   *_   *d   *i   *n   *s   *x   *}   *   *   *   *   *   *   *   *   *   *   *   *   *    +ú   +Ⱥ   +ͺ   +Һ   +׺   +ܺ   +   +    +   $+   (+   ,+   0+   4+   8+	   <+   @+   D+   H+"   L+'   P+,   T+1   X+6   \+;   `+@   d+E   h+J   l+O   p+T   t+Y   x+^   |+c   +h   +m   +r   +w   +|   +   +   +   +   +   +   +   +   +   +   +   +   +   +»   +ǻ   +̻   +ѻ   +ֻ   +ۻ   +   +   +   +   +   +   +   +    ,   ,
   ,   ,   ,   ,!   ,&   ,+    ,0   $,5   (,:   ,,?   0,D   4,I   8,N   <,S   @,X   D,]   H,b   L,g   P,l   T,q   X,v   \,{   `,   d,   h,   l,   p,   t,   x,   |,   ,   ,   ,   ,   ,   ,   ,Ƽ   ,˼   ,м   ,ռ   ,ڼ   ,߼   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,   ,    ,%   ,*   ,/   ,4   ,9   ,>   ,C    -H   -M   -R   -W   -\   -   -   -    -   $-   (-   ,-   0-   4-   8-   <-   @-Ž   D-ʽ   H-Ͻ   L-Խ   P-ٽ   T-޽   X-   \-   `-   d-   h-   l-   p-   t-   x-   |-   -   `.ڮ   d.߮   h.   l.   p.   t.K   x.P   |.U   .Z   ._   .d   .i   .n   .s   .x   .}   .   .   .   .!   .&   .+   .0   .5   .:   .?   .D   .I   .N   .S   .X   .]   .b   .g   .l   .q   .v   .{   .   .    /   /   /   /   /   /   /   /    /   $/   (/   ,/   0/ƿ   4/˿   8/п   </տ   @/ڿ   D/߿   H/   L/   P/   T/   X/   \/   `/   d/   h/   l/   p/   t/   x/    |/%   /*   //   /4   /9   />   /C   /H   /M   /R   /W   /\   /a   /f   /k   /p   /u   /ڮ   /߮   /   /   /   /K   0z   @0   D0   H0   L0n   P0Z   x0   0   1ڮ   1ڮ   1   1   1   1   1   1   1   1   1   1ڮ   1ڮ   1ڮ   1߮   1ڮ   1   1   1   1ڮ   1ڮ    2ڮ   2߮   	2ڮ   2ڮ   2߮   2   2ڮ   2   2    2K   !2ڮ   $2P   (2U   ,2Z   -2ڮ   02_   42d   82i   92ڮ   <2n   @2s   D2x   E2ڮ   H2}   2ڮ   2ڮ   2ڮ   2ڮ   2ڮ   2ڮ   2ڮ   3ڮ   3ڮ   !3ڮ   -3ڮ   93ڮ   E3ڮ   Q3ڮ   ]3ڮ   i3ڮ   u3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   3ڮ   4ڮ   %4ڮ   14ڮ   =4ڮ   I4ڮ   U4ڮ   a4ڮ   m4ڮ   y4ڮ  !     *    aa *   [b .    ߮  .      .    &  .   # E  .   + N  .   3 T  .   ; ~  .   C   .   K   .   S   .   [   .   c N  .   k N  .   s   .   { N  .      .    
  .      .      .      .    )  .    y  .      .      .    k  .      .      .    e  .      .      .    f  .      .      .    c  .      .    "  .    g  .      .      .    <  .      .      .    F  .      .      .      .    @  .      .      .    	  .    P  .      .      .    ! .    a .     .     .    ' .    n .     .     .    G .     .     .    - .   ߮  .    r .     @    ߮  A     C    ߮  J    b J   [b `    ߮  a     c    ߮  j    b j   [b     ߮      /c    [b     ߮      
     c    [b     
     d    [b          N     c2    k     ߮  
   ~d 
  [b     ߮  *   d *  [b @   ߮  I   N  J   d J  [b `   ߮  j   "e j  [b    N     e   [b    e   [b    6   [p    +f   [b i   N     N     N     N  I   N     N  I
   N  i   N     N  )   N  &     &   &  a &  s &   &  # &  +:	 '  N  #'  N  C'  N  c'  N  c.  	 .  	 a=   ߮  !A   ߮  A   ߮  A   ߮  A   ߮  B   ߮  !B   ߮  G   ߮  G   ߮  H   ߮  !H   ߮  H   ߮  AM   ߮  aM   ߮  M   ߮  cS  N  S  N  S  N  S  N  T  N  #T  N  CT  N  cT  N  T  N  g  N  g  N  h   ߮  i  2 }   ߮  ~   ߮  #~   ߮  C~   ߮  c~   ߮  ~   ߮  ~   ߮  ~   ߮  ~   ߮     ߮  #   ߮  C   ߮  c   ߮     ߮     ߮     ߮     ߮     ߮  #   ߮  C   ߮  c   ߮     ߮  À   ߮     ߮     ߮  #   ߮  A   N  A  c2 A   C   ߮  a   N  a  c2 a   c   ߮     N    c2       ߮     N    c2   Q    ߮  Á   ߮     ߮     ߮  #   ߮  C   ߮     ߮     ߮  Â   ߮     ߮     ߮  #   ߮  C   ߮  c   ߮     ߮     ߮  Ã   ߮     ߮     ߮  #   ߮  C   ߮     ߮     ߮  Ä   ߮     ߮     ߮  #   ߮  C   ߮  c   ߮     ߮     ߮  Å   ߮     ߮     ߮  #   ߮  C   ߮  c   ߮     ߮     ߮  Æ   ߮     ߮     ߮  #   ߮  C   ߮  c   ߮     ߮     ߮  Ç   ߮     ߮     ߮  c   ߮     ߮     ߮  C   ߮  c   ߮  Ë   ߮     ߮     ߮  #   ߮  C   ߮  c   ߮     ߮     ߮  Ì   ߮     ߮     ߮  #   ߮  C   ߮     ߮  $  +߮  a   ߮     ߮     ߮     ߮     ߮     ߮  !   ߮  A   ߮  a   ߮     ߮     ߮     ߮     ߮  !   ߮  A   ߮  a   ߮     ߮     ߮     ߮  a   ߮     ߮     ߮     ߮     ߮     ߮  !   ߮  A   ߮  a   ߮     ߮     ߮     N     N     ߮  ɢ   N  ɢ   @    ߮     ߮  !   ߮  )   N  )   N  A   ߮  I   N  I   L a   ߮     ߮     ߮     N     N     ߮  ɣ   N  ɣ   V    ߮     ߮  !   ߮  )   N  )     A   ߮  I   N  I   e a   ߮     ߮     ߮     ߮     ߮     N          ߮  	   N  	   o !   ߮  A   ߮  a   ߮     ߮     ߮     N     N     ߮  ɥ   N  ɥ   ~    ߮     ߮  !   ߮  A   ߮  I   N  I   N  a   ߮  i   N  i       ߮     ߮     ߮     ߮     N     N     ߮  	   N  	    !   ߮  A   ߮  a   ߮     ߮     N     N     ߮     N         ߮     ߮     ߮  !   ߮  )   N  )   N  A   ߮  I   N  I    a   ߮    #   #    ߮  ɨ   N  ɨ   N     ߮     N         ߮  !   ߮  A   ߮  a   ߮  d  +߮  i   N  i       ߮     ߮     ߮     ߮     N     N     ߮  	   N  	    !   ߮  A   ߮  a   ߮     ߮     N     N     ߮     N         ߮     ߮     ߮  !   ߮  )   N  )     A   ߮  I   N  I    a   ߮     ߮     ߮     ߮     N     N     ߮  	   N  	    !   ߮  A   ߮  a   ߮     ߮     N     N     ߮     N         ߮     ߮  )   N  )   N  I   N  I   / a   ߮     ߮     ߮     ߮  ɭ   N  ɭ   N     ߮     N     =    ߮  !   ߮  A   ߮  a   ߮  i   N  i   N     ߮     N     P   #    ߮     ߮     ߮  	   N  	   N  !   ߮  )   N  )   Z A   ߮  a   ߮     ߮     ߮     N     N     ߮  ɯ   N  ɯ   n    ߮     ߮  !   ߮  A   ߮  I   N  I   N  a   ߮  i   N  i   z    ߮     ߮     ߮     ߮     N     N     ߮  	   N  	    !   ߮  A   ߮  a   ߮     ߮     N     N     ߮     N     P    ߮     ߮  )   N  I    ɲ   N      i         )   N  A   ߮  I    a   ߮  ɴ   N         N      )   N  I   
 ɶ   N     
 i   N     "
 	   N  )   2
    N  ɸ   ?
    ߮  !   ߮  I   N  a   ߮  i   M
    N  	   X
 i   N     ߮     j
    N     w
 I   N  I   
    N     
 	   N  	   
 i   N  i   
 ɼ   N  ɼ   P )   N  )   
    N     
    N     
 I   N  I   
    N     
 	   N  	       N    sN    k   c2 	   
 	  [h 	  {߮  	  2 	  kE  )   t )  [ )  {߮  )  2 )  kE  I    I  [ I   N  I    I  ߮  I  N  i    i  [ i     i    i  ߮        [    N            ߮        [z        ߮    N        [    N    N    ߮        [   &       ߮  	    	  [ 	   	    	  ߮  I   R I  [h I  {߮  I  2 I  kE  i    i  [ i  ߮  i  2 i  kE        [p   2   kE    ߮    N        [p    N    N    ߮        [p    N    ߮     6   [p    N    ߮    k 	    	  [~ 	  {߮  	  2 	  kE  )    )  [~ )  {߮  )  2 )  kE  I   ] I  [~ I  {߮  I  2 I  kE  i    i  [~ i  {߮  i  2 i  kE     A   [~   {߮    2   kE        [~   {߮    2   kE        [~   {߮    2   kE     ?   [~   {߮    2   kE  	    	  [ 	   	  ߮  	  N  )   # )    )  2 )  kE  )  N  )  ߮  )  N  )  [ )  	 I   Z I    I  2 I  kE  I  N  I  ߮  I  N  I  [ i    i  [ i  2 i  ߮        [    N    ߮    8       N  I    I  2 I  [ I  kE  I  ߮     N    k    	   [    N        ߮  I   | I   N  I  ߮  I    i    i  2 i  N  i    i  kE  i  ߮     Z    N        N         N        N         N        N         N        N  	    	   N  	    	  N  )   g )   N  )    )  N  I    I   N  I    I  N  i    i   N  i    i  N     C    N        N         N        N        2   N        kE    ߮  	    	  2 	  N  	    	  kE  	  ߮  )   ` )  2 )  N  )    )  kE  )  ߮  I    I    I  ߮  I    I  N  i    i   $  i  ߮  i    i  N     /     N    N         ߮          N    N         ߮     N    c2   k 	     	   N  	  N  	    )   M! )   N  )    )  N  I   x! I   N  I    I  N     !             "    N     "    N     #    N  	   # 	  2 	  N  	    	  kE  	  ߮  )   N  )  k )  c2 i   $ i  U$ i       ߮     $        /%   U$    }%    ߮     %   U$ 	   & )   C& )  U$ I   & I  U$ i   &    '    W'   N     '        (   U$     	   J( 	  U$ 	    )   ( )     )    I   ) I     I    i   N  i  k i  c2    N    k   c2    N    k   c2    N    k   c2    N    k   c2 	   N  	  k 	  c2 )   N  )  k )  c2 I   N  I  k I  c2 i   N  i  k i  c2    N    k   c2   U$    N    k   c2    N    k   c2    N    k   c2 	   N  	  k 	  c2 )   N  )  k )  c2 I   N  I  k I  c2 i   N  i  k i  c2    N    k   c2    N    k   c2    N    c2   k 	   ) 	  /* )   N  )  c2 )  k I   * i   + i  Z+    N    c2   k   + 	   , )   , I   /- i   N  i  k i  c2    N    k   c2    x-    N    k   c2    N    k   c2 	   N  	  k 	  c2 )   - I   . i   =.    .    N    k   c2    .    / 	   P/ )   / I   / i   0    [0    0    N    k   c2    N    k   c2 	   N  	  k 	  c2 )   N  )  k )  c2 I   N  I  k I  c2 i   N  i  k i  c2    N    k   c2    N    k   c2    N    k   c2    N    k   c2 	   0 	  2 	  N  	    	  kE  	  ߮  )   1 )     )  ߮  )    I   e1 I     I  ߮  I    i   1 i   N  i  ߮  i       2    N        N     @2    N        N     2    N        N     2    2       N    2 )   v3 )  3 I   D4 I     i   4 i        4         
5    `5 	   5 )   6 )     )  ߮  )    I   {6 I     I  ߮  I    i   6 i     i  ߮  i       J7    N    ߮         7        ߮         7        ߮         U8    2   ߮         N    k 	   8 	  N  	  ߮  	    	  8 I   N  I  c2 I  k i   8 i  Z+    -9    9 I   I: I  : I  ߮  I    i   : i  : i  ߮  i       :   :   ߮         :   :   ߮         7;   :   ߮         r;   2   N        kE    ߮  	   ; 	   N  	  ߮  	    )   ; )  *< )  ߮  )    I   3< I  < I  ߮  I    i   < i   2 i  ߮  i       <   2   N        kE    ߮     =   2   N        kE    ߮     B=   =   ߮         =   N    ߮        = 	   '> 	  2 	  N  	    	  kE  	  ߮  )   b> )  2 )  kE  )    I   > I  2 I  kE  I    i   ? i  2 i  kE  i       x?    ?   ߮    2       kE     A@   ߮    2       kE     @   ߮    2       kE  	   A 	  ߮  	  2 	    	  kE  )   A )  ߮  )  2 )    )  kE  I   A I  ߮  I  2 I    I  kE  i   jB i  ߮  i  2 i    i  kE    N    ߮     N         N    c2   B    C    N        N     ?C    N     C 	   +D )   N  )  k )  c2 A   ߮  I   N  I  sN  I  k I  c2 i   N  i  k i  c2    D    N     AE   E   ߮    N         ߮     E             ߮     lF          	   G 	    	  ~G )   G )   N  )    )  N  )  	 I   ]H I   N  I    I  N  I  	 i   H i   N  i    i  N  i  	    ߮     I    N        N    	    J    N        N    	    J    N        N    	    NK    N        N    	 	   K 	   N  	    	  N  	  	 )   L )   N  )    )  N  )  	 I    M I   N  I    I  N  I  	 i   M i   N  i    i  N  i  	    NN    N        N    	    N    N        N    	    ߮     O    N        N    	    8P    N        N    	 	   P 	   N  	    	  N  	  	 )   Q )   N  )    )  N  )  	 I    R I   N  I    I  N  I  	 i   R i   N  i    i  N  i  	    `S    N        N    	    S    N        N    	    T    N        N    	    &U   [h   {߮        hU )   U )  [h )  2 )  {߮  )  kE  )    I   eV I    I  {߮  I  2 I  kE  i   V i    i  {߮  i  2 i  kE     1W       {߮    2   kE     W       {߮    2   kE  	   X 	    	  {߮  	  2 	  kE  )   OX )    )  {߮  )  2 )  kE  I   X I    I  {߮  I  2 I  kE  i   X i    i  {߮  i  2 i  kE     0Y       {߮    2   kE     Y       {߮    2   kE     N    c2   Y    Y       {߮    2   kE      Z       {߮    2   kE     N    c2   NZ 	    Z 	    	  {߮  	  2 	  kE  )   Z )    )  {߮  )  2 )  kE  )   N  )  c2 )  Z I   Z I    I  {߮  I  2 I  kE  i   [ i       T[   N     [   N     [    H\   N  	   \ )   N  )  k I   N  I  k i   \    h]   N    ߮        ]    ]   [   ߮    2   kE         B^   [   ߮    2   kE         y^   [   ߮    2   kE      	   ^ 	  [ 	  ߮  	  2 	  kE  	    )   ^ )  [ )  ߮  )  2 )  kE  )    I   S_ I  [ I  ߮  I  2 I  kE  I    i   _ i  [ i  ߮  i  2 i  kE  i       _   [   ߮    2   kE         _   [   ߮    2   kE         C`   [   ߮    2   kE         s`   [   ߮    2   kE      	   ` 	  [ 	  ߮  	  2 	  kE  	    )   ` )  [ )  ߮  )  2 )  kE  )      2   {߮        kE     N    kE    2   {߮         N     N  	   ` 	    	  kE  	  2 	  {߮  )   N  )  kE  )  2 )  {߮  )    I   N  I  kE  I  2 I  {߮  I    i   N  i  kE  i  2 i  {߮  i       N    kE    2   {߮         N    c2   Y    N    kE    2   {߮         N    c2   NZ    N    kE    2   {߮         N    c2   Z    N    kE    2   {߮      	   N  	  kE  	  2 	  {߮  	    )   N  )  kE  )  2 )  {߮  )     +  ߮   +  ߮  /  ߮  !0  ߮  A0  ߮  a0  ߮  0  ߮  7  N  7 c2 7  N  7 c2  8  N   8 c2  8  N   8 c2 @8  N  @8 c2 `8  N  `8 c2 8  N  8 c2  @  ߮   @  ߮   B  ߮   B  ߮  D  N  D c2 F  ߮  F  ߮  `I  ߮  I  ߮  I  ߮  I  ߮  I  ߮   J  ߮  K  ߮  K  ߮  P  ߮  P  ߮   Y  ߮   Y  ߮  @Y  ߮  `Y  ߮  ^  ߮   b  ߮  Am  ߮  am  ߮  m  ߮  m  ߮  m  ߮  m  ߮  n  ߮  !n  ߮  An  ߮  an  ߮  n  ߮  n  ߮  n  ߮  n  ߮  o  ߮  !o  ߮  Ao  ߮  o  ߮  o  ߮  !r  ߮  Ar  ߮  ar  ߮  r  ߮  r  ߮    ߮    ߮    ߮  !  ߮  A  ߮    ߮    ߮  !  ߮    ߮    ߮    ߮  A  ߮  a  ߮    ߮  !  ߮  A  ߮  a  ߮    ߮    ߮    ߮    ߮  !  ߮  A ߮  a ߮    ߮    ߮    ߮  !  ߮  A  ߮  a  ߮    ߮    ߮    ߮    ߮    ߮  !  ߮  A  ߮  a  ߮    ߮    ߮    ߮    ߮    ߮  !  ߮  A  ߮  a  ߮    ߮    ߮    ߮    ߮    ߮  !  ߮  A  ߮  a  ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮     ߮    ߮     ߮  !  ߮  A  ߮    ߮    ߮    ߮    ߮    ߮  !  ߮  A  ߮  a  ߮    ߮    ߮    ߮    ߮    ߮  !  ߮    ߮    ߮    ߮    ߮    ߮    ߮  A  ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮    ߮    ߮     ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮     ߮  @  ߮  `  ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮    ߮    ߮  `  ߮    ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮    ߮  @  ߮  `  ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮     ߮    ߮    ߮  @  ߮  `  ߮    ߮    ߮  
  ߮  
  ߮  
  ߮     ߮    ߮     ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮  `  ߮    ߮      ߮  @   ߮  !  ߮   "  ߮   "  ߮  @"  ߮  `"  ߮  "  ߮  "  ߮  "  ߮  @8  ߮  `8  ߮  8  ߮  8  ߮  8  ߮  8  ߮   9  ߮   9  ߮  @9  ߮  `9  ߮  9  ߮  9  ߮  @<  ߮  `<  ߮  =  ߮  =  ߮   ?  ߮  @?  ߮   @  ߮  @@  ߮  `@  ߮  @  ߮  @  ߮  @  ߮  @  ߮   A  ߮   A  ߮  @A  ߮  `A  ߮  A  ߮  A  ߮  A  ߮   C  ߮   C  ߮   D  ߮  @D  ߮   G  ߮   G  ߮  I  ߮   J  ߮  @J  ߮  `J  ߮  J  ߮  J  ߮  J  ߮   K  ߮   K  ߮  @K  ߮  `M K;  q  ߮  @q  ߮  q  ߮  q  ߮   s  ߮   s  ߮  @s  ߮  `s  ߮  s  ߮  s  ߮    ߮    ߮    ߮    ߮     ߮     ߮     ߮     ߮  @  ߮  `  ߮    ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮  `  ߮    ߮     ߮    ߮    ߮    ߮    ߮     ߮  @  ߮  @  ߮  `  ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮     ߮  @  ߮    ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮     ߮  `  ߮    ߮    ߮    ߮     ߮  @  ߮    ߮    ߮    ߮     ߮  `  ߮    ߮    ߮    ߮    ߮     ߮  `  ߮    ߮    ߮    ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮  `  ߮    ߮    ߮     ߮     ߮  @  ߮  `  ߮    ߮    ߮    ߮    ߮     ߮  `  ߮    ߮    ߮    ߮     ߮  @  ߮  `  ߮    ߮     ߮    ߮    ߮  `  ߮    ߮     ߮  @  ߮     ߮     ߮    ߮    ߮    ߮    ߮    ߮    ߮  `  ߮    ߮     ߮  `  ߮    ߮  @  ߮  `  ߮     ߮  @  ߮     ߮     ߮    ߮     ߮    ߮    ߮     ߮    ߮    ߮    ߮  &  ߮  &  ߮  @'  ߮  `'  ߮   )  ߮   )  ߮  )  ߮  )  ߮  )  ߮  )  ߮   *  ߮  9  ߮  9  ߮  >  ߮  >  ߮  A  ߮   B  ߮  H  ߮   I  ߮      k 0   l2  [  z                      
  F  K      		  J	  Q	  v	  	  	  	  	  
  
  -  l  ~              #  0  7  `  h  n        
  
  
  +
  9
  G
  U
  c
  q
  w
  
  
  
  
  
  #  M  k            l          9              )  =  J  P  g  B  P  l  r  w                  
        }                *  7  =  I  U  o  u  {                H              %      S  x  
      t              #  N  Y  |            *  3  H  N  c  r            8  A  I  R  t          '  :  @  i  n        	  '  9  Z  t          C   O                     
!  "!  F!  a!  l!  !  !  !  !  !  "  :"  "  "  #  1#  j#  #  #  $  x$  $  E%  e%  %  %  %  /&  o&  &   '  ]'  n'  '  '  '  w(  (  )  0)  B)  
*  *  .*  C*  *  *  *  +  !+  G+  N+  q+  +  R,  ,  ,  ,  %-  I-  p-  -  -  $.  S.  b.  h.  .  .  .  .  /  &/  7/  /  /  /  0  0  0  0  1  J1  1  1  1  1  2  ,2  2  2  2  3  13  G3  o3  {3  3  3  4  c4  4  4  4  4  5  >5  5  5  5  6  ~6  6  6  6  6  7  67  7  i8  o8  8  8  8  8  :  :  :  :  :  :  %;  ,;  :;  A;  U;  i;  u;  ;  ;  ;  ;  <   =  =  <=  H=  ]=  r=  =  =  =  =  =  >  D>  Y>  e>  >  >  >  >  
?  =?  R?  ^?  |?  ?  ?  ?  ?  @  H@  T@  {@  @  @  @  SA  _A  A  A  A  A  A  A  kB  B  C  *C  sC  C  =D  D  E  ;E  AE  `E  iE  {E  E  E  E  
F  /F  DF  F  F  F  F  G  2G  <G  UG  vG  	H  $H  *H  ?H  aH  H  H  H  I  ,I  bI  I  I  I  I  J  %J  ,J  >J  PJ  J  J  J  J  K  K  RK  [K  wK  K  K  K  K  L  VL  bL  L  L  L  M  `M  M  M  M  M  N  N  N  N  N  O  0O  `O  rO  O  O  O  O  O  O  O  P  8P  IP  \P  bP  oP  P  P  P  P  -Q  RQ  bQ  ~Q  Q  Q  Q  R  R  )R  R  S  #S  *S  >S  XS  \S  S  S  T  cT  uT  T  T  T  T  T  U  9U  HU  U  U  V  (V  EV  ZV  V  V  V  V  W  !W  *W  0W  9W  GW  yW  W  W  W  W  W  [X  tX  X  X  X  Y  ZY  Y  Y  Y  Y  Z  Z  Z  AZ  LZ  cZ  lZ  rZ  Z  Z  Z  [  [  [  \  *\  \  \  \  \  \  	]  2]  E]  ]  ]  ]  ^  =^  Wa  wa  a  a  a  a  a  a  a  6     
               =   D           7    3   3 d  <       K#   6>    =    a   a               	  
 (  1  < 
 G  U  ]  f  s  u  v  w  |                      !  "  #  $  %  &  '  (  )  *  +  ,  -  .  / 0 1 2 3 4 5 !6 &7 +8 09 5: :; ?< D= I> N? S@ WA [B `C fD lE qF vG {H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` 
a b c d %e ,f /g 2h 5i 9j =k Al Em Mn Ro Wp \q br gs lt mu rv ww |x y z { | } ~                        
      # & ) , / 2 5 9 ? D I N S Y ^ c h m r {                               	    ! & + 0 5 : ? D I N U [ ` e j o t y                               !'-27<AF	K
OTY
_dinsx} !"#$%&'()*+,-./01235686:7>8?:A<B>CEDFFHGLHQJSKZL~MNOPQRSTVWXZ]^_abcdefghijkmnopqrs!t#u$v4|6~9BDIOT[\abdqy) +,./(*+dhopqrst|

 !#$%&*+,./0123456789:;<=?BILMOP	T	U
	V	W	X
	Y	Z	[	\	`	c	d	e	f	g	h	i	j	}	~	 	#	$	(	)	+	,	.	1	3	7	8	=	?	A	B	C	D	E	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	X	Y	Z	[	]	_	a	c	e	g	i	k	m	o	q	s	u	w	y	{	}																																								#	(	B	I	K	]	              1T     eA      |      9        	    D      ]v     8      l     8      G            ]v     u     D       $    8      G      U     |u     ]v     P            pU     l     8      T     G      U     |u     ]v     P            pU     8      l     T     G      U     |u     ]  *          ]v     ~     8      T     G      U     |u                 pU     P      ]v     l     8      T     G      U     |u                 pU     P      ]v     l     8      T     G      U     |u           pU     P      _     9 $                ]v     8      l     T     G      U     |u           pU     ]v     8      T     G      U     |u           pU     ~     ]v     8      T     G      U     |u     ? 0    ? 0    ? 0    > 0     0     0    ) 0    ]v     8      T           T                 G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      pU     G      U     |u     ]v     P      _           pU     G      U     |u     ]v     P      _           G      U     |u     ]v     ]  *    G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     ~     ]  *    G      U     |u     ]v     ~     ]  *    pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P            G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      _     9 $          pU     G      U     |u     ]v     P      _           pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P            G      U     |u     G      U     |u     G      U     |u     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     pU     G      U     |u     ]v     P      _           G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     ) 0     0    G      U     |u     ]v     P      G      U     |u     ]v     P      G      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     P      ]v     G      U     |u     P      ]v     G      U     |u     P      ]v     G      U     |u     P      ]v     G      U     |u     P      ]v     G      U     |u     P      ]v     G      U     |u     P      ]v     G      U     |u     P      ]v     G      U     |u     ]v     P            G      ]v     U     |u     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     ]v     G      U     ]v     G      U     ]v     G      U     ]v     G      U     ]v     G      U     ]v     G      U     ]v     G      U     ]v     G      U     |u     ]v     G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     P      _     9 $                ]v     G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     |u     ]v     G      U     ) 0     0    ]v     G      U     |u     ]v     ]  *    G      U     |u     ]v     ]  *    G      U     |u     P      _     9 $          ]v     G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      _           G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P            G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      pU     G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P      G      U     |u     ]v     P           }U           G           }U           G           }U           G           }U           G      u     ]v          }U           G      u     ]v          }U           ]v     G           }U           ]v     G           }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v     }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      u     ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      u     ]v          }U           G      ]v          }U           G      u     ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G      ]v          }U           G           }U           G      }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     }U     D      ]v     D       $    D       $    D       $    h 4     4    e< @         ? F         :       O     U                   5     z       [    J a           g    7 m     s    *      *       y    .          J     V     h          O          A                a[ 0    (      :     
C     ND                     \A      eA       N     4      A      z     <> 0    G!     g     [ 0    ,      >"     >"     -!      )      c      "X     "y           8      \y     /     l      =      
           0     	           BY           4               !3          f      7           O                    {           ~     
               {     X     I     G                      )     <v     ʩ           BG     5      *      /      
W     e $         e     e *         T     H?                  0     0    ɒ  4      4           
     Z     i8     /A          e :    I  @         6 $     F              u& L         =     T                          k                         h     D
          K           R     &                 6     m     1     :          +      ~          d     O               R R    -=     v      0$     u          #      X          ]    2     3               5<      L2                     U
     P     Z           c      i         ] $     o    T $     $    U+ u    4      0     b     3 0    ' 0    <) 0    +v 0    B 0     {    :      6  0    x? 0    D      B     ~      0    8      `X               -     S X    ^                         ,               	s      :           S X    *"     U     5           =      S     TS           j>      R     oR     8      6      <      8      m     Xs     <m     s     <      >      c8      8      "     O     #     7      0     K     >      #               i     i     f     f     [     [           3      I            `                               {      ɷ      }U           P      	z                 U+ u    .K     U+ u    f.               }     =       &    " ,     2     8    N >     D     J    B P     V    ) \    * b    / h    / n    /     f     < t    < n      n    N  n      n      n    {  n      n       n    ɷ  n          9      ,  z    *-  z     0    k z         ,  z    -  z     0         ~     k z    jr     )I      f     /g     h     O     N     O     m     k     ,     ,     <     .0     L/     J     "i     p     mF     G     j     k     k     l     ;k     i     j     xi     g     -     ,     u,     jG     0G          AP           s     s     m     -               AP     s     ,     7     DF     r     s     mF     7     M      L     UK     NN     H     q     q     6m     o     Dp     l     Wq     xo     r     o     +     +     p     ?o     N     	o     nk     m     r     7          7     NN     N     `O     P     F     p     l     n     i     dg     7     N     M     VL     K     K     NM     :g     i     Oi     q     k     n     qm     %          Es     Sl     Kl     DF          	o     nk     Cf     g     j     r     /g     if     }g     r     g     k     7     K     O     M     L     h     h     h     Mj     ?n     n     tn     p     H     H     Ph      h     g     |j     t     ,     H     H     1i     h     g     M      M            y       
    j      j      M      M      M      M      M      M      M      M      M      M      M      M      j      j        '     2    V^     - =    M      0 z    M      M        J     V     \     b    %     u     T     Z h    5 n    ` 0      t     z    Z          %     -     8     4  0                2  0                    |M     ?      8      \y          9#     M           {     X     I     G                      BG     C* \    + b          [      ]               -      ^{     .      {     v     a     y     #~     y     	0      |     }          ~     +|               F0      {     v     /      _          -      |          <w     Dx     0           z     E     ~     @/      "     n}     x~     0      x     h     cx     Py     
     /     g.      z          z     x          .      }     w     n          &     2     a:     9     8 	    R;     8     W     u     U+ u    u     U+ u    u     W !    ] '    / '    E, -    i     i     f     f     u     / 3    /          u     V 9     ?    U+ u    3	     )      # E    #     P K          [ Q    . W     z    3  0    3  F    4 ]    |M     M      N     M      M      M      M      M      M      M      M      M      M      M      M      M      M      M      M      M      M      M      :     M            :     M      :     M            :     M      M      M      :     M      M      M      M      M      M      M      M      M      M      M      q c    G  i     z    M      M      M      M      M      M      M      M      p  o    p  o    p  o    p  o    p  o    p  o    p  o    p  o    p  o    p  o    M        u      {      u      u      u      u      u      u      u    M      M      M                                                M      M      M      M      M      M      M      M      M      0          L     U+      z    	     ~     N                     U+     G-          A                           15            u           q     It               M      M      M      M      M      M      M      M      M      M      M      M      M      M      M      M      ȵ     M      |M     A      4 ]    < u    -_      0                      wd 0    _ 0                _           J      &B 0    y  0    [     1 0                     [     1 0    d 0                [     1 0    d 0    1_ 0                     ]           M      M      M      M            :     M      M      M      M      M      M                  . W    . W    . W                                                          N      _&     _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      _&     N      ,      _&     _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      _&     ,      M      M      M      U+ u    [      ]     T     } y    !     _!     
     !     $     !           !     ,      "     ?     !     P=     ?#           U+ u    t>          U+ u    .;     `;     N     N     N     N    	  	     	  	     	  	     	  	  
 	  	
  	
     	  	   
  	  	     	  	     	  	     	  	        	  	  $   	  	  %   &   	  	  '   	  	  (   6
  7
  )         * !  "  "  2 #  $  $  3 %  &  &  4 '  5 '  : )  ; +  < -  = /  > 1  ? 3  @ 5  B 7  C 9  D 9  N ;  O =  P ?  Q A  R C  S E  T G  U I  V K  W K  [ M  c O  d Q  e S  f U  g W  h Y  i [  j ]  k _  l _  s a  t c  u e  v g  w i  x k  y m  z o  { q  } s  ~ u   u   w   y   {   }                                                                                                                                                                                                     	  
        	  
          ! $! %# &% '' () )+ *- +/ .1 /3 05 17 29 3; 4= 5? 8A 9C :E ;G =I @K AM BO CQ DS EU IW JY K[ L] M_ Pa Qc Re Sg Ti Wk Xm Yo Zq [s ^u _w `y a{ b} e f g h i l m n o p s t u v w z { | } ~                                                  	  
          ! # % ' ) + - / 1 3 5 7 9 ; = ? A C E G I K M O Q S U W Y  [ ] _ a c e g 	i k 
m o q s u w y { }      ! " # $ % ( ) * + , / 0 1 2 3 6 7 8 9 ; < = > @ A B C D G H I J K L O P Q R S T W X Y Z [ ^ _ ` a b e f g h i l m n o p s w x y z	 { }
          ! # % ' ) + - / 1 3 5 7 9 ; = ? A C E G I K M O Q S U W Y [ ] _ a c e g i k m o q s u w y { }                                        	 
                  ! " # $ ' ( ) * + , 0 1 2 3	 4 5
 9 : ; < = > A B C D! E# F% J' K) L+ M- N/ O1 S3 T5 U7 V9 W; X= \? ]A ^C _E `G aI eK fM gO hQ iS jU kW oY p[ q] t_ ua vc ye zg {i ~k m o q s u w y { }                                                                      	  
          !  # % ' ) + - / 	1 
3 
5 7 9 ; = ? A C E G I K M !O "Q #S $U 'W (Y )[ *] -_ .a /c 0e 3g 4i 5k 6m 9o :q ;s <u =w @y A{ B} C D G H I J K N O P Q R U V W X Y \ ] ^ _ ` c d e f g j k l m n q r s t u x y z { |                            	  
          ! # % ' ) + - / 1 3 5 7 9 ; = ? A C E G I K M O Q S U W Y [ ] _ a c e g i k m o q s u w y { }       	 
                  ! " & ' ( ) * - . / 0 1 4 5 6 7 8 ; < = > ? B C D E F I J K L M N O P Q T U V W X [ \ ] ^ _	 b c
 d e f g k l m n q r! s# t% w' x) y+ z- }/ ~1 3 5 7 9 ; = ? A C E G I K M O Q S U W Y [ ] _ a c e g i k m o q s u w y { }                                                              	 
        	  
       ! " # $ %! (# )% *' +) ,+ -- 1/ 21 33 45 57 89 9; := ;? <A ?C @E AG BI CK FM GO HQ IS JU MW NY O[ P] Q_ Ta Uc Ve Wg Xi [k \m ]o ^q _s bu cw dy e{ f} i j k l m p q r s t w x y z { ~                                                  	 	 	 	 		 	 
	 	 	 	 	 	 	 	 	 	 !	 #	 %	 '	 )	 +	 -	 /	 1	 3	 5	 7	 9	 ;	 =	 ?	 A	 C	 E	 G	 I	 K	 M	 O	 Q	 S	 U	 W	 Y	 [	 ]	 _	 a	 	c	 
e	 g	 i	 
k	 m	 o	 q	 s	 u	 w	 y	 {	 }	 	 	  	 !	 "	 #	 $	 '	 (	 )	 *	 +	 ,	 0	 1	 2	 3	 4	 5	 9	 :	 ;	 <	 =	 >	 B	 C	 D	 E	 F	 G	 K	 L	 M	 N	 O	 P	 T	 U	 V	 W	 X	 Y	 ]	 ^	 _	 `	 a	 b	 f	 g	 h	 i	 j	 k	 o	 p	 q	 r	 s	 t	 x	 y	 z	 {	 |
 
 
 
 	
 
 
 
 
 
 
 
 
 
 
 
 !
 #
 %
 '
 )
 +
 +
 -
 -
 /
 1
 3
 3
 5
 5
 7
 9
 ;
 ;
 =
 =
 ?
 A
 C
 C
 E
 E
 G
 I
 K
 M
 O
 O
 Q
 Q
 S
 U
 W
 Y
 [
 [
 ]
 ]
 _
 a
 c
 e
 e
 g
 g
 i
 k
 m
 o
 o
 q
 q
 s
 u
 w
 y
 y
 {
 {
 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 	
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 "
 #
 $
 %
 &
 '
 (
 +
 ,
 -
 .
 /
 0
 1
 4
 5
 6
 7
 8
 9
 :
 =
 >
 ?
 @
 A
 B
 C
 F
 G
 H
 I
 J
 K
 L
 O
 P
 Q
 R
 S
 T
 U
 X
 Y
 Z
 [
 \
 ] ^ a b c d e	 f g
 j k l m n o p s t u v w x y! |# }# ~% % ' ) + - - / / 1 3 5 7 7 9 9 ; = ? A C C E E G I K M M O O Q S U W Y Y [ [ ] _ a c c e e g i k m m o o q s u w w y y { }                                        	 	 	 	 	 	 	 		 	 
	 	 	 	 	 	 	 	 	 	 	 	 	  	 !	 $	 %	 &	 '	 *	 +	 ,	 -	 0	 1	 2	 3	 6	 7	 8	 9	 <	 =	 >	 ?	 @	 A	 C	 D	 F	 G	 Q	 R	 X	 Y	 Z		 \	 ]	
 `	 a	 b	 c	 d	 e	 f	 g	 h	 i	 j	 k	 l	 m	 n	 o	 p	! q	! 	# 	% 	' 	) 	+ 	+ 	- 	- 	/ 	1 	3 	5 	7 	9 	; 	= 	? 	A 	A 	C 	E 	G 	G 	I 	I 	K 	M 	M  
O 
O 
Q 
S 
U 
W 
W 
Y 
Y 
[ 
] 
] 
_ 
_ 4
a 5
a K
c L
c M
e N
e O
g P
g Q
i R
i S
k T
k ]
m ^
m 
o 
o 
q 
q 
s 
s 
u 
u 
w 
y 
y 
{ 
{ 
} 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  	 
   
              ! ' ) * + , - . / 0 1 2 3 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` c d e f g h i j k l m n o p q r s t u v w x y z { |    
 
 
 
 
 
 
 
 	
 	
 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 !
 !
 #
 #
 %
 %
 '
 '
 )
 )
 +
 +
 -
 -
 /
 /
 1
 1
 3
 3
 5
 5
 7
 7
 9
 9
 ;
 ;
 =
 =
 ?
 ?
 A
 A
 C
 C
 E
 E
 G
 G
 I
 I
 K
 K
 M
 M
 O
 O
 Q
 S
 S
 U
 U
 W
 W
 Y
 Y
 [
 [
 ]
 ]
 _
 _
 a
 c
 c
 e
 e
 g
 g
 i
 i
 k
 m
 m
 o
 o
 q
 q
 s
  s
 u
 u
 w
 w
 y
 y
 {
 {
 	}
 
}
 

 
 
 
 
 
 
 
 
 
 
 
 
 !
 (
 )
 *
 +
 ,
 .
 /
 0
 1
 2
 3
 4
 5
 6
 7
 ;
 ?
 @
 A
 B
 C
 D
 E
 F
 G
 H
 I
 J
 N
 O
 P
 T
 U
 V
 W
 X
 Y
 `
 a
 r
 s
 t
 u
 v
 w
 x
 y
 z
 {
 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
         	 	   
 
           ! # % ' ) + - / 1 3  
5 
7 
7 
9 	
9 

; 
; 
= 

= 
? 
? 
A 
C 
E 
G 
I 
I  
K !
M "
O #
Q $
S %
U &
W '
Y (
[ )
] *
_ +
a ,
c -
e .
g 4
i 5
k D
m E
m F
o G
o H
q M
s N
u O
w P
y Q
{ R
} S
 T
 U
 e
 f
 m
 n
 o
 p
 q
 v
 w
 x
 y
 z
 {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
           	 
   
             ! " # $ , - . / 0 1 2 3 4 5 6 @ A B C J K T U V W X	 Y	 Z [ \
 ]
 ^ _ ` a b c d e f g h i j k l m n o p! q! r# s# t% u% v' w' x) y) z+ {+ - - / / 1 1 3 3 5 5 7 7 9 9 ; ; = = ? ? A A C C E E G G I I K K M M O O Q Q S S U U W W Y Y [ [ ] ] _ _ a a c c e e g g i i k k m o o q q s s u u  w w y y { { } }    ! " # $ % & ' ( ) * + , - . 4 5 : ; A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f t u v w x y z { | } ~                  
          " # , - U V W X Y _ ` d f g i k       	  
           ! # % ' ' ) + + - / 1 3 3 5 5 7 7 9 9 ; ; &= *? +? ,A -A .C /C 0E 1E 2G 3G 4I 5I 6K 7K 8M 9M :O ;O <Q =S >U ?W @Y B[ C] E_ Fa Ic Je Kg Li Mk Nm Oo Wq Xs Yu Zw [y \{ ]} ^ g h i m n o s t u v w } ~                                                         	 
   
        ! " # $ % &	 8 9 >
 ?
 O P Q R S T U V W X Y Z [ \ ]! a# u% {' ) + - / 1 3 5 7 9 ; = ? A C E G I K M  O !Q #S %U (W .Y /[ 2] 6_ :a <c @e Dg Hi Mk Sm [o _q cs gu rw y { { } }                        
      " . 2 6 @ B E H K N Q T Y _ e k q w }                                	 
   
 	   <
 =
 > ? O P Q R Z ` e k q w }! # % ' ) + - / 1 3 5 7 9 9 ; ; = ? ? A A C C E E G G I I K  K !M "M #O $O 'Q (Q +S ,S -U .U 1W 2W 5Y 6Y 7[ 8[ ;] <] =_ >_ ?a @a Cc Dc Ee Fe Ig Jg Ki Li Mk Nk Om Pm So To Wq Xq Ys Zs [u \u ]w ^w _y `y c{ d{ e} f} i j k l p u {                                 	     " # 2 5 6 : < ? A D F I K N P S U X Z ] _ b d g i m o r t w y | ~         	  
          ! # % ' ) + - / 1 3 5 7 9 ; = ? A C E G I K M O Q S U W Y [ ] _ a c e g i k m 	o q 
s u w y { } # & ' ( ) , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = @ G I 6 7 L N       G H  9 	  9 
  9  9  @9 
 r9  9  9  9  9 6
M 6O 6
Q 6DS 6FU 8|$8~$8$8$8y 8{ 8} 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8  8 :
|$:~$:$:$:y :{ : } :" :$ :& :( :* :, :. :0 :2 :4 :6 :8 :: :< :> :@ :B :D :F :H :J :L :N :P :R ;Z ;\ ;^ ;` ;b ;d ;f ;h ;j ;l ;n G"0JN0Kj0L0M0N$0Q0R0W(0XD uZx"u\z"b$ d$ $ $ (2 (2 (2 (2 (2 (2 (2 ,           )  2  ;  P  Y  k  s  {                        
      #  ,  5  >  G  N  W  c  k  t  {                            
      &  .  7  >  G  P  Y  e  m  u  }                                    )  2  C  O  V  _  k  s  z                                      %  .  7  @  I  R  [  d  m  v                                          '  ;  `  m                  ^  |          	  ;	  e	  	  	  	  
  v      >  w      q  V                &  9    2  k  t      k        N  Z      d        +  C  b    '        h         ~!  !  !  !  !  	"  "  e"  t"  "  "  v#  #  #  #  L$  ^$  n$  $  $  $  $  %   %  ,%  Y%  &  =&  O&  &  &  &  &  	'  '  -'  <'  '  '  '  -(  B(  S(  h(  (  (  	)  ')  )  )  *  *  *  *  >+  j+  +  +  +  +  ,  .,  =,  m,  ,  ,  ,  ,  ,  .-  6.  .  K/  /  0  0  0  0  1  1  1  1  2  \2  h2  2  2  83  3  3  3  3  }4  4  4  4  4  4  4  5  #5  ,5  55  5  5  5  ]6  f6  u6  6  6  6  &7  E7  a7  7  /8  8  8  8  9  9  9  9  9  :  2;  L;  `;  (B  ;B  DB  B  B  B  B  B  B  C  'D  E  !F  5F  nF  wF  F  F  F  F  G  !G  mG  G  G  G  H  H  H  H  H  mI  ~I  I  I  J  K  K  K  K  K  L  pL  L  L  L  L  M  (M  CM  fM  M  M  M  M  M  2N  IN  `N  wN  N  N  N  O  QP  <R  |R  S  S  S  $T  T  U  pU  U  V  V  	W  RW  cW  W  W  W  W  W  X  +X  7X  CX  OX  X  X  X  X  X  9Y  BY  KY  Y  Z  Z  [  [  <[  E[  [  
\  \  \  ]  ]  ]  "^  +^  3^  `  `  a  a  a  a  a   b  ѿ 0ѿ           @b                   %b  U1                     .b  0                   7b  ;                   7b                       %b  dA                    .b                    7b  %                   7b                     7b  }                     .b  Fv                  7b  i                   7b  P                     %b                     7b                       %b  6                            `    *   8    t          p       X       D	       h	       ;
    C   
           U   :                  u          `              U                   O       }    Y     Y   !        !        (!        !        !        !    K    8!       !    7   !    r   !        !    M   #!       P$       T(       0n-       P/       uB       ~B    8   HB    \   B    ,   (              h    m         46BEFIv|~ 	

$%& &!)"/#$%&'()*+,-./0123
45,6E7E8G9M:O;O<O=O>P?W@YA[B\C\D`EcFcGcHcIdJdKeLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf[f\g]h^i_~`~abcdefghijklm#     C      C     V     z+      |+      !   /[    B+     D+     V+     V    X+      +      +      +      !   /[     !   /[     +      +       +      4+      6+      8+      :+      <+      Z+      \+      +      4+      6+      :+      >+      @+      B+      D+      F+      H+      J+      L+      N+      P+      V+      +     +      
+      +    +      +     P+      +      +     +     +      +      +      !+      1+      3+      e+      s!      w+    w+      }!   }/[     O +      c +      !+      g!5      0+      0+  <
  {
    
  
     "  4  :  !G  #:  {)  })  )  0
  0
  }d  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0    0$  0$  C  0O  0O    
            d  d  )  /  5  ;  A  G  M  i  d    dC  dI        >    !)  !  #    H        H    #    X            !  #   !,   #7         d     	"  r@#  rL#  rX#  rd#  	  v#  v#  d#  |#  |#  d%   U%   
     
&  0'  0''  06'  2'  $(  06(  L(  0\(  2q(  d(  d(     m)  o)  d*  d+  d++  d .  d
.  !B.  d  d  d  d  d.  
)  d/  d/  d/  d/  d/  d/  d/  N 0  dN0  d[0  dh0  b u0  d=1  21  
X#  22   2  }3  f!X#  uX#  wX#  !X#  !3  dI4  dV4  f!L#  uL#  wL#  
L#  
@#  0L#  0@#  0d#  0X#  E5   6  d
  d)6  d66  dC6  N W6  b W6  f!d#  
d#  f!@#  u@#  w@#  
U7  d7  d7  b 7  d7  d7  d8  d8  d"8  d;8  du8  d8  b 8  d8  d8  9  9  
  dG:  dS:  dl:  dr:  d)  d:  ;
   !;  _o;  _;  c;  c;  c;  c;  c;  _;  _;  _;  _;  _;  c;  _;  _;  _.<  _4<  _:<  _@<  _F<  _L<  _R<  _X<  _^<  _d<  _j<  _p<  _v<  _|<  _<  _<  _<  _<  _<  _<  _<  _<  _<  _<  _<  _<  _<  _<  _	=  _=  _$=  _*=  _0=  _6=  _B=  _Q=  cW=  _f=  cl=  _{=  c=  _=  c=  c=  _=  c=  c=  c=  c=  _=  c=  _=  c=  _>  _ >  c&>  c,>  c2>  c8>  c>>  _M>  cS>  __>  _t>  cz>  c>  c>  _>  c>  c>  c>  _>  _>  c>  c>  _>  c>  c>  c?  c?  _?  c%?  c+?  c1?  c7?  _F?  cL?  _X?  _j?  cp?  cv?  _?  c?  _?  c?  _?  _?  _?  _?  _?  _?  _?  _?  _?  _@  _	@  _$@  _*@  _0@  c6@  c<@  cB@  _N@  _c@  ci@  co@  cu@  _@  c@  c@  c@  c@  c@  _@  c@  c@  _@  c@  _A  _A  _A  _A  _#A  _)A  _/A  _5A  _;A  _AA  cGA  _MA  _YA  _eA  ckA  cqA  cwA  c}A  cA  _A  _A  _A  _A  _A  _A  _A  cA  _A  _A  _A  _A  _A  _A  _B  cB  cB  cB  c"B     dF  G  	G  mG  	 H  XH  dnH  dtH  U%  a
  =L  ;PL   N  !>P  }R  	LR  YR  kR  kR  R  ]T  T  m
  MU%  V  V  	  {U%  	Y    dTY  u
  	[  [  [  	]  ^  [  !_^  w^  !^  ^  !^  ^  !^  ^  !^  ^  !^  ^  !^  ^  !^  _  !_  _  ! _  +_  !4_  ?_  !H_  S_  !\_  g_  !p_  {_  !_  _  !_  _  _  _  !_  _  !_  _  !_  _  !_  
`  !`  `  '`  !0`  ;`  !D`  O`  !X`  c`  !l`  w`  !`  `  !`  `  !`  `  `  `  !`  `  !`  `  !a  a  ;a    9 2  A 
	 
 
 
 9 2  A 9 2  A 
. 0 91 2 1 A2 3 
6 7 8 e> * ? 9@ . @ AA 9B . B AE eF *      <.cctor>b__11_10 <.cctor>b__21_10 <.cctor>b__4_10 <>9__5_10 <CreateModifiers>b__5_10 <.cctor>b__6_10 <.cctor>b__7_10 <.cctor>b__8_10 __StaticArrayInitTypeSize=20 <.cctor>b__11_20 <.cctor>b__11_30 <.cctor>b__11_40 <>9__10_0 <PopulateStyleInfoList>b__10_0 <>c__DisplayClass10_0 <PopulateContentGroup>b__20_0 <>9__80_0 <CreateColumnFormLayout>b__80_0 <>c__DisplayClass290_0 <>9__0_0 <ToHashtable>b__0_0 <PopulateContentGroup>b__0_0 <>c__DisplayClass0_0 <.cctor>b__11_0 <>c__DisplayClass11_0 <.cctor>b__21_0 <>c__DisplayClass71_0 <>9__81_0 <CreateCellFormLayout>b__81_0 <>9__1_0 <GetLocalizationDelegate>b__1_0 <Serialize>b__1_0 <ExecuteInternal>b__1_0 <>c__DisplayClass1_0 <>c__DisplayClass12_0 <>c__DisplayClass52_0 <>9__82_0 <CreateMarginsGroup>b__82_0 <>9__2_0 <GetPresetStylesResourceDelegate>b__2_0 <FastFindRibbonFontItem>b__2_0 <>c__DisplayClass2_0 <>9__13_0 <serializeImageTmpIdToActualMap>b__13_0 <ApplySectionProperties>b__13_0 <>c__DisplayClass13_0 <>9__23_0 <PopulateStyleInfoList>b__23_0 <Validate>b__3_0 <>c__DisplayClass3_0 <>9__14_0 <deserializeImageTmpIdToActualMap>b__14_0 <>c__DisplayClass14_0 <>9__64_0 <ProcessRequestCore>b__64_0 <>9__4_0 <ExecuteInternal>b__4_0 <PerformModifyModel>b__4_0 <.cctor>b__4_0 <GetStateManagedObjects>b__4_0 <>c__DisplayClass4_0 <>9__15_0 <ExecuteCommands>b__15_0 <GetAllowedFileCollection>b__35_0 <>c__DisplayClass35_0 <>c__DisplayClass65_0 <>c__DisplayClass85_0 <>9__5_0 <RegisterKnownTypes>b__5_0 <CreateModifiers>b__5_0 <Modify>b__5_0 <>c__DisplayClass5_0 <>9__46_0 <RegisterInFactory>b__46_0 <.cctor>b__6_0 <>c__DisplayClass6_0 <>9__27_0 <GetStyleHandler>b__27_0 <>9__47_0 <CreateMarginsFormLayout>b__47_0 <>9__7_0 <SerializeImageActualIdToServerIdMap>b__7_0 <.cctor>b__7_0 <UpdateRibbonGroupVisibility>b__7_0 <>c__DisplayClass7_0 <>9__18_0 <CopyFrom>b__18_0 <>9__28_0 <PopulateContentGroup>b__28_0 <>9__48_0 <CreatePaperFormLayout>b__48_0 <>9__78_0 <CreateTableFormLayout>b__78_0 <>9__8_0 <Load>b__8_0 <DeserializeImageTmpIdToActualMap>b__8_0 <.cctor>b__8_0 <UpdateRibbonTabVisibility>b__8_0 <>9__19_0 <Serialize>b__19_0 <>c__DisplayClass19_0 <>9__29_0 <FromHashtable>b__29_0 <LoadFromGoogleFonts>b__29_0 <>9__49_0 <CreateLayoutFormLayout>b__49_0 <>9__79_0 <CreateRowFormLayout>b__79_0 <.cctor>b__9_0 <>c__DisplayClass9_0 <>9__0 <DrawTableBackground>b__0 <GetItemFromHashtableCache>b__0 <FromHashtable>b__0 <FinishImportFromHashtable>b__0 <ToHashtable>b__0 <ApplyParagraphStyle>b__0 <PerformModifyModelCore>b__0 <GetBinaryDocumentHandlerResponse>b__0 <GetImageLoadingUrlResourceDelegate>b__0 <ApplyTableFormatting>b__0 <ExecuteInternal>b__0 <PerformModifyModel>b__0 <AddTabCollectionToControl>b__0 <AddContextCategoriesToControl>b__0 <AddImageToCacheFromUrl>b__0 <DeserializeWorkSession>b__0 <OpenWorkSession>b__0 <CreateInputPosition>b__0 <ImportRun>b__0 <PopulateContentGroup>b__0 <ImportHeaderFooter>b__0 <GetRibbonImageProperties>b__0 <GetCorrespondenceTableForPictures>b__0 <DrawTableBorders>b__0 <ReduceFonts>b__0 <AttachClient>b__0 <SwitchDocument>b__0 <AddFont>b__0 <GetItemByIndex>b__0 <SaveCopy>b__0 ParagraphTab0 <.cctor>b__11_11 <.cctor>b__21_11 <.cctor>b__4_11 <>9__5_11 <CreateModifiers>b__5_11 <.cctor>b__6_11 <.cctor>b__7_11 <.cctor>b__8_11 <.cctor>b__11_21 <.cctor>b__11_31 <.cctor>b__11_41 <PopulateContentGroup>b__20_1 <>9__0_1 <ToHashtable>b__0_1 <.cctor>b__11_1 <.cctor>b__21_1 <>9__81_1 <CreateCellFormLayout>b__81_1 <>9__2_1 <FastFindRibbonFontItem>b__2_1 <>9__13_1 <ApplySectionProperties>b__13_1 <>9__14_1 <deserializeImageTmpIdToActualMap>b__14_1 <>9__4_1 <PerformModifyModel>b__4_1 <AddImageToCacheFromUrl>b__4_1 <.cctor>b__4_1 <>9__5_1 <ExecuteInternal>b__5_1 <RegisterKnownTypes>b__5_1 <CreateModifiers>b__5_1 <.cctor>b__6_1 <>9__47_1 <CreateMarginsFormLayout>b__47_1 <.cctor>b__7_1 <>9__18_1 <CopyFrom>b__18_1 <PopulateContentGroup>b__28_1 <>9__78_1 <CreateTableFormLayout>b__78_1 <>9__8_1 <DeserializeImageTmpIdToActualMap>b__8_1 <.cctor>b__8_1 <>9__29_1 <FromHashtable>b__29_1 <LoadFromGoogleFonts>b__29_1 <>9__49_1 <CreateLayoutFormLayout>b__49_1 <.cctor>b__9_1 <FromHashtable>b__1 <FinishImportFromHashtable>b__1 <ToHashtable>b__1 <GetBinaryDocumentHandlerResponse>b__1 <Validate>b__1 <GetPresetStylesResourceDelegate>b__1 <GetAllowedFileCollection>b__1 <ReduceFonts>b__1 <AddFont>b__1 <>f__AnonymousType0`1 <>c__27`1 Func`1 WebRichEditStateBasedCommand`1 UniqueItemsCache`1 Nullable`1 IEnumerable`1 IOrderedEnumerable`1 ParagraphPropertiesBasedStyle`1 StyleBase`1 DocumentModelBase`1 WorkSessionBase`1 StyleCollectionBase`1 TablePropertyWithUseModelModifierBase`1 TableGeneralPropertyWithUseModelModifierBase`1 TableCellPropertyWithUseModelModifierBase`1 TableFloatingPositionPropertyWithUseModelModifierBase`1 TableRowPropertyWithUseModelModifierBase`1 TableComplexPropertyWithUseModelModifierBase`1 TableCellComplexPropertyWithUseModelModifierBase`1 TablePropertyModelModifierBase`1 TableCellPropertyModelModifierBase`1 AnchorInfoPropertyModelModifierBase`1 TableRowPropertyModelModifierBase`1 ASPxResLocalizerBase`1 BordersBase`1 OfficeDocumentBase`1 Predicate`1 Task`1 IControl`1 NumberingListBaseImpl`1 Action`1 ICollection`1 RibbonTabCollection`1 HttpHeaderValueCollection`1 DocumentIntervalCollection`1 ListLevelCollection`1 IReadOnlyCollection`1 RibbonContextTabCategoryCollection`1 Comparison`1 AsyncDownloader`1 ASPxActiveLocalizerProvider`1 ListLevelIOverrideModifier`1 JSONPieceTableModifier`1 IModelModifier`1 JSONModelModifier`1 TablePropertyWithUseModelModifier`1 TableCellPropertyWithUseModelModifier`1 TableRowPropertyWithUseModelModifier`1 TableComplexPropertyWithUseModelModifier`1 TableCellComplexPropertyWithUseModelModifier`1 IntervalModelModifier`1 ListLevelModelModifier`1 SectionModelModifier`1 AnchorWrapModelModifier`1 TablePropertyModelModifier`1 ShapePropertyModelModifier`1 TableCellPropertyModelModifier`1 AnchorInfoPropertyModelModifier`1 TableRowPropertyModelModifier`1 WebParagraphPropertiesModifier`1 ListLevelPropertiesModifier`1 SectionPropertiesModifier`1 WebCharacterPropertiesModifier`1 ParagraphPropertyModifier`1 SectionPropertyModifier`1 RunPropertyModifier`1 ItemHandler`1 EventHandler`1 IComparer`1 EqualityComparer`1 TaskAwaiter`1 XtraLocalizer`1 IEnumerator`1 InstanceActivator`1 RichEditIndexBasedObject`1 CacheByObject`1 HashSet`1 IConvertToInt`1 IList`1 CacheByIndex`1 IVectorReadOnly`1 ParagraphTab1 get_Dark1 get_Item1 <>7__wrap1 border1 cellMargins1 borders1 get_Light1 get_Accent1 <>m__Finally1 DevExpress.Data.v24.2 DevExpress.Web.v24.2 DevExpress.Drawing.v24.2 DevExpress.Web.ASPxSpellChecker.v24.2 DevExpress.Web.ASPxRichEdit.v24.2 <.cctor>b__11_12 <.cctor>b__21_12 <>9__5_12 <CreateModifiers>b__5_12 <.cctor>b__6_12 <.cctor>b__7_12 <.cctor>b__8_12 <.cctor>b__11_22 <.cctor>b__11_32 ToInt32 <.cctor>b__11_42 <>9__0_2 <ToHashtable>b__0_2 <.cctor>b__11_2 <.cctor>b__21_2 <>9__81_2 <CreateCellFormLayout>b__81_2 <>9__4_2 <PerformModifyModel>b__4_2 <.cctor>b__4_2 <>9__5_2 <RegisterKnownTypes>b__5_2 <CreateModifiers>b__5_2 <.cctor>b__6_2 <.cctor>b__7_2 <>9__28_2 <PopulateContentGroup>b__28_2 <>9__78_2 <CreateTableFormLayout>b__78_2 <.cctor>b__8_2 <>9__29_2 <FromHashtable>b__29_2 <FinishImportFromHashtable>b__2 <ToHashtable>b__2 <GetBinaryDocumentHandlerResponse>b__2 <GetPresetStylesResourceDelegate>b__2 <GetStateObjects>d__2 <>c__DisplayClass11_0`2 <>f__AnonymousType1`2 Func`2 WebRichEditPropertyStateBasedCommand`2 IndexedTree`2 Tuple`2 TableItemCollectionCore`2 CreateHeaderFooterCommandBase`2 ChangeHeaderFooterIndexCommandBase`2 HeaderFooterCollectionBase`2 Function`2 HeaderFooterExporter`2 KeyValuePair`2 MergedProperties`2 SectionHeadersFooters`2 UndoableIndexBasedObject`2 MultiIndexObject`2 List`2 IDictionary`2 SortedDictionary`2 ConcurrentDictionary`2 get_Dark2 get_Item2 border2 cellMargins2 borders2 get_Light2 get_Accent2 <.cctor>b__11_13 <.cctor>b__21_13 <>9__5_13 <CreateModifiers>b__5_13 <.cctor>b__6_13 <.cctor>b__7_13 <.cctor>b__8_13 <.cctor>b__11_23 <.cctor>b__11_33 <.cctor>b__11_43 <>9__0_3 <ToHashtable>b__0_3 <.cctor>b__11_3 <.cctor>b__21_3 <>9__81_3 <CreateCellFormLayout>b__81_3 <.cctor>b__4_3 <>9__5_3 <CreateModifiers>b__5_3 <.cctor>b__6_3 <.cctor>b__7_3 <.cctor>b__8_3 <>9__29_3 <FromHashtable>b__29_3 <FinishImportFromHashtable>b__3 <ToHashtable>b__3 <GetPresetStylesResourceDelegate>b__3 Func`3 PropertiesMergerBase`3 get_Accent3 <.cctor>b__11_14 <>9__5_14 <CreateModifiers>b__5_14 <.cctor>b__6_14 <.cctor>b__7_14 <.cctor>b__8_14 <.cctor>b__11_24 <.cctor>b__11_34 <.cctor>b__11_44 get_Base64 set_Base64 EmptyImageBase64 base64 ToInt64 <>9__0_4 <ToHashtable>b__0_4 <.cctor>b__11_4 <.cctor>b__21_4 <.cctor>b__4_4 <>9__5_4 <CreateModifiers>b__5_4 <.cctor>b__6_4 <.cctor>b__7_4 <.cctor>b__8_4 <>9__29_4 <FromHashtable>b__29_4 Func`4 get_Accent4 <.cctor>b__11_15 <>9__5_15 <CreateModifiers>b__5_15 <.cctor>b__6_15 <.cctor>b__7_15 <.cctor>b__8_15 <.cctor>b__11_25 <.cctor>b__11_35 <.cctor>b__11_45 <.cctor>b__11_5 <.cctor>b__21_5 <.cctor>b__4_5 <>9__5_5 <CreateModifiers>b__5_5 <.cctor>b__6_5 <.cctor>b__7_5 <.cctor>b__8_5 <ToHashtable>b__5 get_Accent5 <.cctor>b__11_16 <>9__5_16 <CreateModifiers>b__5_16 <.cctor>b__6_16 <.cctor>b__7_16 <.cctor>b__8_16 <.cctor>b__11_26 <.cctor>b__11_36 <.cctor>b__11_46 <>9__0_6 <ToHashtable>b__0_6 <.cctor>b__11_6 <.cctor>b__21_6 <.cctor>b__4_6 <>9__5_6 <CreateModifiers>b__5_6 <.cctor>b__6_6 <.cctor>b__7_6 <.cctor>b__8_6 get_Accent6 <.cctor>b__11_17 <>9__5_17 <CreateModifiers>b__5_17 <.cctor>b__6_17 <.cctor>b__7_17 <.cctor>b__8_17 <.cctor>b__11_27 <.cctor>b__11_37 <.cctor>b__11_47 <.cctor>b__11_7 <.cctor>b__21_7 <.cctor>b__4_7 <>9__5_7 <CreateModifiers>b__5_7 <.cctor>b__6_7 <.cctor>b__7_7 <.cctor>b__8_7 <.cctor>b__11_18 <.cctor>b__7_18 <.cctor>b__8_18 <.cctor>b__11_28 <.cctor>b__11_38 __StaticArrayInitTypeSize=48 <.cctor>b__11_48 7E1511CAE4923C526104493175BAB3D765494F785EBFF37A1A117CF3F7E04278 get_UTF8 <.cctor>b__11_8 <.cctor>b__21_8 <.cctor>b__4_8 <>9__5_8 <CreateModifiers>b__5_8 <.cctor>b__6_8 <.cctor>b__7_8 <.cctor>b__8_8 <.cctor>b__11_19 <.cctor>b__11_29 <.cctor>b__11_39 <.cctor>b__11_49 <>9 <.cctor>b__11_9 <.cctor>b__21_9 <.cctor>b__4_9 <>9__5_9 <CreateModifiers>b__5_9 <.cctor>b__6_9 <.cctor>b__7_9 <.cctor>b__8_9 <Module> <PrivateImplementationDetails> PBB get_ScB 90D7A5F38D292303F169CEE7ACE77E3E26866875D4D86DB702125CB3BBE124DC System.Drawing.Drawing2D get_Transform2D get_ID set_ID IsBoundUsingDataSourceID get_AssociatedRibbonID set_AssociatedRibbonID DevExpress.Web.Office.OfficeWorkSessionControl.GetWorkSessionID newWorkSessionID workSessionID get_PathOrID get_DocumentPathOrID set_DocumentPathOrID documentPathOrID RicheditPopupDialogContainerID RichEditRibbonContainerID RichEditPopupMenuContainerID get_ClientID GenerateClientID set_PopupElementID get_DocumentID set_DocumentID documentID MAX_VALUE RectangleF SizeF PointsToPixelsF ModelUnitsToCentimetersF InchesToModelUnitsF PointsToModelUnitsF get_ScG get_RaiseClientEventsOnModificationsViaAPI set_RaiseClientEventsOnModificationsViaAPI get_EnableClientSideAPI set_EnableClientSideAPI System.Web.UI get_IsMobileUI get_IsMSTouchUI get_IsTouchUI WordML DevExpress.Office.DrawingML Hyperlink_InvalidURL ColorHSL ImportModelFromJSON ExportModelToJSON AutoScrollCursorN System.IO get_ScR AutoScrollCursorNS get_IsMacOS AutoScrollCursorS KLT U get_X get_ActiveX set_ActiveX KeepX PercentOffsetX get_Y set_Y get_DpiY PercentOffsetY value__ CreateMainArea get_EastAsia DevExpress.Data get_Data get_ViewMergedData set_ViewMergedData ToggleViewMergedData set_CallbackData get_FileManagerCallbackData get_CurrParagraphJsonData get_CurrChunkJsonData get_CurrSectionJsonData get_CurrRunJsonData CollectData LoadPostData get_Metadata RERTab get_Tab AddTab foundTab RERMailMergeTab get_MailMergeTab CreateMailMergeTab mailMergeTab RERFileTab get_FileTab CreateFileTab set_ShowFileTab fileTab RERHomeTab get_HomeTab CreateHomeTab homeTab tableDesignContextualTab get_HeaderFooterContextualTab CreateHeaderFooterContextualTab headerFooterContextualTab get_FloatingObjectsContextualTab CreateFloatingObjectsContextualTab floatingObjectsContextualTab tableLayoutContextualTab RERTableDesignTab get_TableDesignTab CreateTableDesignTab RibbonTab RERHeaderAndFooterTab RERReferencesTab get_ReferencesTab CreateReferencesTab referencesTab RERFloatingObjectsTab get_AcceptsTab set_AcceptsTab RERInsertTab get_InsertTab CreateInsertTab insertTab RERPageLayoutTab get_PageLayoutTab CreatePageLayoutTab pageLayoutTab RERTableLayoutTab get_TableLayoutTab CreateTableLayoutTab RERViewTab get_ViewTab CreateViewTab RERReviewTab tab System.Web DevExpress.Web InsertImage_FromWeb GetNumberingListsForWeb get_Rgb set_Rgb get_ScRgb ToRgb GetColorFromArgb ToArgb argb mscorlib ePub <>c get_GenericTypographic BoldItalic get_FontItalic set_FontItalic ToggleFontItalic System.Collections.Generic get_IsStatic LoadAsync IsBehindDoc pc Src exc get_Id set_Id EditIncId SubDocId get_CurrentManagedThreadId <>l__initialThreadId sessionGuidId get_LastExecutedEditCommandId set_LastExecutedEditCommandId resetLastExecutedEditCommandId IUniqueImageId GetEmptyImageId imageId LanguageId ImageCacheId get_ParentPieceTableId PictureId GetImgId OfficeStringId ASPxperienceStringId RichEditExtensionsStringId ASPxEditorsStringId XtraRichEditStringId ASPxRichEditStringId stringId get_IncrementalId set_IncrementalId get_EditIncrementalId set_EditIncrementalId GetImageByActualId actualId levelId newSessinId SubmitButtonId TmpId tmpId InnerId GetId SetId clientId get_DocumentId set_DocumentId SubDocumentId subDocumentId documentId get_RequestId UserRequestId requestId get_DivId set_DivId set_UseDivId GetImageById ConnectToOpenedDocumentById HistoryId get_CanRead get_IsHibernateViaSaveAndLoad DevExpress.Web.Internal.IDialogFormElementRequiresLoad.ForceLoad PrepareBeforeLoad set_UpdateHyperlinksOnLoad IDialogFormElementRequiresLoad get_Download set_Download get_AllowDownload DevExpress.Web.Internal.Dialogs.IFileManager.get_SettingsUpload FileManagerSettingsUpload Bookmarks_Add TryParseAdd GetOrAdd HtAdd TryAdd get_Loaded get_DocumentLoaded set_DocumentLoaded OnNewDocumentLoaded add_SpellCheckerWordAdded remove_SpellCheckerWordAdded RaiseSpellCheckerWordAdded OnParagraphAdded DevExpress.Web.IPropertiesOwner.Changed OnModifiedChanged OnChanged get_SelectionChanged set_SelectionChanged HyperlinkInfoChanged ModelIsChanged get_ParagraphPropertiesChanged set_ParagraphPropertiesChanged OnParagraphPropertiesChanged get_CharacterPropertiesChanged set_CharacterPropertiesChanged OnCharacterPropertiesChanged get_DocumentChanged set_DocumentChanged get_ActiveSubDocumentChanged set_ActiveSubDocumentChanged LayoutChanged OnMailMergeCurrentRowChanged TableBorderStyle_Dashed UnderlineType_Dashed UnderlineType_LongDashed UnderlineType_ThickLongDashed UnderlineType_ThickDashed get_Modified set_Modified IsModified GetModified SetModified Justified ClipboardAccessDenied set_Checked MulDivRoundChecked get_Locked set_Locked RaiseSavingCallIsLocked Interlocked get_Enabled set_Enabled get_IsDocumentProtectionEnabled IsEnabled IsCallBacksEnabled GetDefaultEnabled set_ClientEnabled IsScriptEnabled get_Handled EnsurePageUnloadHandled CheckDeletingFileIsOpened WorkSessionGuidAssigned Undefined Tabs_TabStopsToBeCleared Numbering_Numbered Numbering_OutlineNumbered Centered SessionHasExpired set_IsRequired OnNewDocumentCreated set_IsAutomaticColorSelected AccessIsRestricted get_Deleted set_Deleted IsDeleted Numbering_Bulleted get_Bulleted set_Bulleted NumberingBulleted SpellingCheckCompleted get_Visited set_Visited get_ContentInserted set_ContentInserted add_PdfExported remove_PdfExported RaisePdfExported get_DocumentFormatted set_DocumentFormatted ListIndexNotSetted TableBorderStyle_Dotted UnderlineType_Dotted UnderlineType_DashDotted UnderlineType_ThickDashDotted UnderlineType_ThickDotted UnderlineType_DashDotDotted UnderlineType_ThickDashDotDotted add_BeforeCommandExecuted remove_BeforeCommandExecuted RaiseBeforeCommandExecuted add_beforeCommandExecuted remove_beforeCommandExecuted get_CustomCommandExecuted set_CustomCommandExecuted get_FloatingObjectMoved set_FloatingObjectMoved get_ContentRemoved set_ContentRemoved get_BulletedAllowed get_SimpleAllowed get_ParagraphStyleAllowed get_CharacterStyleAllowed get_OvertypeAllowed set_OvertypeAllowed get_SaveAllowed get_PrintingAllowed get_ParagraphFormattingAllowed get_CharacterFormattingAllowed get_MultiLevelAllowed get_OpenAllowed get_SaveAsAllowed get_ParagraphTabsAllowed get_TablesAllowed get_InlinePicturesAllowed get_ParagraphsAllowed get_BookmarksAllowed get_SectionsAllowed get_HeadersFootersAllowed get_FloatingObjectsAllowed get_CreateNewAllowed System.Collections.Specialized isInitialized set_IsValid BorderShading_BordersGrid get_WorkSessionGuid set_WorkSessionGuid get_TemporaryWorkSessionGuid set_TemporaryWorkSessionGuid workSessionGuid GetSessionGuid get_ClientGuid set_ClientGuid get_EditorClientGuid set_EditorClientGuid clientGuid NewGuid newGuid GetCustomDictionaryGuid customDictionaryGuid guid <className>i__Field <cssText>i__Field InsertDataField CreateTocField get_RequiredField CreatePageField UpdateMergeField CreateMergeField CreateEmptyMergeField UpdateDocVariableField CreateEmptyDocVariableField CreateTimeField CreateDateField UpdateField MenuCmd_CreateField DeleteField RemoveField LocalizeField <Base64>k__BackingField <DocumentID>k__BackingField <IncrementalId>k__BackingField <EditIncrementalId>k__BackingField <TemporaryWorkSessionGuid>k__BackingField <ClientGuid>k__BackingField <EditorClientGuid>k__BackingField <Command>k__BackingField <end>k__BackingField <Cache>k__BackingField <HashtableCache>k__BackingField <FontInfoCache>k__BackingField <DisplayPropertiesLable>k__BackingField <PieceTable>k__BackingField <AdditionalPieceTable>k__BackingField <Name>k__BackingField <FontsByName>k__BackingField <name>k__BackingField <Value>k__BackingField <UseValue>k__BackingField <MapMetafileImageToMaxSize>k__BackingField <CssString>k__BackingField <SaveFileDialog>k__BackingField <InsertPictureDialog>k__BackingField <InsertLinkDialog>k__BackingField <Length>k__BackingField <DevExpress.Web.ASPxRichEdit.Internal.IRichEditFileManager.IsRichEditCallback>k__BackingField <EffectLabel>k__BackingField <ToBeClearedListLabel>k__BackingField <PreviewTextLabel>k__BackingField <IsValidModel>k__BackingField <DocumentModel>k__BackingField <WidthSpacingPanel>k__BackingField <LoadingPanel>k__BackingField <QuickSearchPanel>k__BackingField <MainPanel>k__BackingField <PresetsPanel>k__BackingField <TableNestedLevel>k__BackingField <Control>k__BackingField <UploadControl>k__BackingField <PageControl>k__BackingField <DialogControl>k__BackingField <QuickSearchControl>k__BackingField <MainControl>k__BackingField <RibbonControl>k__BackingField <StatusBarControl>k__BackingField <RichEditControl>k__BackingField <Stream>k__BackingField <ColumnsEditorForm>k__BackingField <WorkSession>k__BackingField <Position>k__BackingField <TablePosition>k__BackingField <LogPosition>k__BackingField <AddButton>k__BackingField <IgnoreOnceButton>k__BackingField <ChangeButton>k__BackingField <CloseButton>k__BackingField <CollapseButton>k__BackingField <DeleteButton>k__BackingField <ChangeAllButton>k__BackingField <IgnoreAllButton>k__BackingField <ClearAllButton>k__BackingField <GoToButton>k__BackingField <ClearButton>k__BackingField <SetButton>k__BackingField <NextButton>k__BackingField <PrevButton>k__BackingField <AddToDictionaryButton>k__BackingField <LinkTo>k__BackingField <DocumentInfo>k__BackingField <MisspelledMemo>k__BackingField <ImageTmpIdToActualMap>k__BackingField <EditorsGroup>k__BackingField <BrowsePopup>k__BackingField <CallbackArgumentsReader>k__BackingField <ControlProvider>k__BackingField <FontsHolder>k__BackingField <Manager>k__BackingField <FileManager>k__BackingField <InnerModifier>k__BackingField <Owner>k__BackingField <ImageHelper>k__BackingField <QuickSearchPanelWrapper>k__BackingField <FormLayoutWrapper>k__BackingField <CharacterFormattingExporter>k__BackingField <LoadedPieceTableIds>k__BackingField <WebCaches>k__BackingField <Properties>k__BackingField <TextBoxesPieceTables>k__BackingField <MergeFieldNames>k__BackingField <CbBookmarkNames>k__BackingField <NumberingListTemplates>k__BackingField <ComplexUseValues>k__BackingField <CallbackArgs>k__BackingField <Chunks>k__BackingField <BehaviorOptions>k__BackingField <WinToAspRuns>k__BackingField <Parameters>k__BackingField <ServerParameters>k__BackingField <Clients>k__BackingField <SuppressMailMergeEvents>k__BackingField <IsAbstract>k__BackingField <CurrentDataObject>k__BackingField <CanBeSet>k__BackingField <RichEdit>k__BackingField <VerticalRelativeSpinEdit>k__BackingField <HorizontalRelativeSpinEdit>k__BackingField <SearchButtonEdit>k__BackingField <FillColorEdit>k__BackingField <UnderlinColorEdit>k__BackingField <BorderColorEdit>k__BackingField <FontColorEdit>k__BackingField <Result>k__BackingField <result>k__BackingField <Content>k__BackingField <MailMergeRecordCount>k__BackingField <start>k__BackingField <NavigationList>k__BackingField <CellOperationList>k__BackingField <RadioButtonList>k__BackingField <OrientationRadioButtonList>k__BackingField <SubscriptRadioButtonList>k__BackingField <StrikeoutRadioButtonList>k__BackingField <TabsLeaderList>k__BackingField <AlignmentList>k__BackingField <VerticalAlignmentList>k__BackingField <TabsAlignmentList>k__BackingField <WrapTextList>k__BackingField <SortByList>k__BackingField <WidthSpacingLayout>k__BackingField <TableFormLayout>k__BackingField <SizeFormLayout>k__BackingField <SpacingFormLayout>k__BackingField <LineSpacingFormLayout>k__BackingField <TextWrappingFormLayout>k__BackingField <IndentationSprecialFormLayout>k__BackingField <CellFormLayout>k__BackingField <MainFormLayout>k__BackingField <ColumnFormLayout>k__BackingField <PaginationFormLayout>k__BackingField <IndentationFormLayout>k__BackingField <PositionFormLayout>k__BackingField <PaperFormLayout>k__BackingField <MarginsFormLayout>k__BackingField <OptionsFormLayout>k__BackingField <MainOptionsFormLayout>k__BackingField <IndentsFormLayout>k__BackingField <ContentFormLayout>k__BackingField <LayoutFormLayout>k__BackingField <PreviewFormLayout>k__BackingField <RowFormLayout>k__BackingField <OffsetLayout>k__BackingField <ContentLayout>k__BackingField <PopupMenu>k__BackingField <ListLevelIndex>k__BackingField <CellIndex>k__BackingField <SectionIndex>k__BackingField <ListIndex>k__BackingField <RowIndex>k__BackingField <NoSpaceCheckBox>k__BackingField <FirstPageCheckBox>k__BackingField <MergeCheckBox>k__BackingField <SameAsTableCheckBox>k__BackingField <UnderlineCheckBox>k__BackingField <AutoResizeCheckBox>k__BackingField <AllowSpacingCheckBox>k__BackingField <TablePrefWidthCheckBox>k__BackingField <CellPrefWidthCheckBox>k__BackingField <ColumnPrefWidthCheckBox>k__BackingField <EqualWidthCheckBox>k__BackingField <PageBreakCheckBox>k__BackingField <HiddenCheckBox>k__BackingField <OddEvenCheckBox>k__BackingField <KeepLinesCheckBox>k__BackingField <AllCapsCheckBox>k__BackingField <SmallCapsCheckBox>k__BackingField <SpecifyHeightCheckBox>k__BackingField <WrapTextCheckBox>k__BackingField <MergeModeComboBox>k__BackingField <StyleComboBox>k__BackingField <UnderlineStyleComboBox>k__BackingField <NumberStyleComboBox>k__BackingField <FontStyleComboBox>k__BackingField <FontNameComboBox>k__BackingField <OutlineComboBox>k__BackingField <FileTypeComboBox>k__BackingField <DownloadFileTypeComboBox>k__BackingField <PaperSizeComboBox>k__BackingField <FontSizeComboBox>k__BackingField <HorizontalToTheRightOfComboBox>k__BackingField <HorizontalBookLayoutOfComboBox>k__BackingField <LineSpacingComboBox>k__BackingField <WidthComboBox>k__BackingField <FollowNumberWithComboBox>k__BackingField <SpecialComboBox>k__BackingField <TableMeasureInComboBox>k__BackingField <CellMeasureInComboBox>k__BackingField <ColumnMeasureInComboBox>k__BackingField <SectionComboBox>k__BackingField <NumberPositionComboBox>k__BackingField <WidthRelativToComboBox>k__BackingField <VerticalRelativToComboBox>k__BackingField <HorizontalRelativToComboBox>k__BackingField <VerticalRelPosRelativToComboBox>k__BackingField <HorizontalRelPosRelativToComboBox>k__BackingField <HeightRelativToComboBox>k__BackingField <ApplyToComboBox>k__BackingField <RowHeightComboBox>k__BackingField <AlignmentComboBox>k__BackingField <VerticalAlignmentComboBox>k__BackingField <HorizontalAlignmentComboBox>k__BackingField <HorizontalBookLayoutComboBox>k__BackingField <VerticalBelowComboBox>k__BackingField <BookmarksNameListBox>k__BackingField <LevelListBox>k__BackingField <FieldsListBox>k__BackingField <SuggestionsListBox>k__BackingField <FileNameTextBox>k__BackingField <SearchTextBox>k__BackingField <EmailTextBox>k__BackingField <UrlTextBox>k__BackingField <ImageUrlTextBox>k__BackingField <StopPositionTextBox>k__BackingField <FontFamily>k__BackingField <FontsByFamily>k__BackingField ASPxHiddenField CreateTableCaptionField CreateFigureCaptionField CreateEquationCaptionField InsertPageNumberField CreateTableOfTablesField CreateTableOfFiguresField CreateTableOfEquationsField CreatePageCountField InsertPageCountField InsertField field finishBold get_FontBold set_FontBold ToggleFontBold startBold get_End ExtendLineEnd IsParagraphEnd IntervalEnd ReadToEnd ExtendDocumentEnd RERInsertPageBreak2Command get_Command set_Command RERToggleViewMergedDataCommand InsertTabToParagraphWebCommand DeleteTabAtParagraphWebCommand RERFontItalicCommand DownloadMergedDocCommand RichEditDownloadCommand HyperlinkInfoChangedCommand JSONPropertyStateBasedCommand PdfExportedCommand RERCreatePageFieldCommand RERInsertMergeFieldCommand RERCreateEmptyMergeFieldCommand RERCreateEmptyDocVariableFieldCommand RERCreateTimeFieldCommand RERCreateDateFieldCommand JSONUpdateFieldCommand RERCreateFieldCommand DeleteFieldCommand RERInsertPageNumberFieldCommand RERCreatePageCountFieldCommand RERInsertPageCountFieldCommand InsertFieldCommand RERFontBoldCommand RERFindCommand RERChangeSectionPaperKindCommand RERFloatingObjectSendBackwardCommand RERFloatingObjectBringForwardCommand RERCapitalizeEachWordCommand RERPreviousDataRecordCommand RERLastDataRecordCommand RERFirstDataRecordCommand RERNextDataRecordCommand RERReplaceCommand RERShowWhitespaceCommand RERInsertSectionBreakOddPageCommand RERInsertSectionBreakEvenPageCommand RERToggleDifferentFirstPageCommand RERInsertSectionBreakNextPageCommand ShowErrorModelIsChangedMessageCommand ShowErrorClipboardAccessDeniedMessageCommand ShowErrorSessionHasExpiredMessageCommand ShowErrorOpeningAndOverstoreImpossibleMessageCommand ShowErrorOpeningMessageCommand ShowErrorSavingMessageCommand ShowErrorCantSaveToEmptyPathMessageCommand ShowErrorAuthExceptionMessageCommand ShowErrorInnerExceptionMessageCommand RERFinishAndMergeCommand LoadPieceTableCommand ChangeTableCommand CreateTableCommand RERDeleteTableCommand RemoveTableCommand RERSelectTableCommand RERInsertTableCommand RERChangeStyleCommand RERChangeTableStyleCommand ApplyTableStyleCommand RERChangeCurrentBorderRepositoryItemLineStyleCommand ApplyParagraphStyleCommand ApplyCharacterStyleCommand RERFontNameCommand RERFontUnderlineCommand RERBorderLineStyleNoneCommand RERSetFloatingObjectBehindTextWrapTypeCommand RERSetFloatingObjectInlineTextWrapTypeCommand RERSetFloatingObjectSquareTextWrapTypeCommand RERSetFloatingObjectInFrontOfTextWrapTypeCommand RERSetFloatingObjectThroughTextWrapTypeCommand RERSetFloatingObjectTopAndBottomTextWrapTypeCommand RERChangeFloatingObjectTextWrapTypeCommand RERSetFloatingObjectTightTextWrapTypeCommand InsertAnchoredPictureCommand InsertInlinePictureCommand RERInsertPictureCommand RERSentenceCaseCommand RERChangeCaseCommand RERToggleCaseCommand RERUpperCaseCommand RERLowerCaseCommand FieldUpdateCommand CreateCommand RERPasteCommand ChangeParagraphFormattingUseValueCommand ChangeCharacterFormattingUseValueCommand RERSaveCommand RERInsertTableRowAboveCommand ChangeAnchoredPictureSizeCommand RERFontSizeCommand RERDecreaseFontSizeCommand RERIncreaseFontSizeCommand ChangeAnchoredTextBoxSizeCommand JSONGetRtfCommand JSONInsertRtfCommand RERParagraphLineSpacingCommand RERSetDoubleParagraphSpacingCommand RERSetSingleParagraphSpacingCommand RERSetSesquialteralParagraphSpacingCommand RERChangeTableCellShadingCommand JSONCheckSpellingCommand RERInsertTableByGridHighlightingCommand ChangeParagraphFormattingCommand ChangeSectionFormattingCommand RERClearFormattingCommand ChangeCharacterFormattingCommand ShowErrorPathTooLongCommand ShowInsertContentFromServerErrorDialogCommand RERAddSpacingBeforeParagraphCommand RERRemoveSpacingBeforeParagraphCommand RERAddSpacingAfterParagraphCommand RERRemoveSpacingAfterParagraphCommand InsertParagraphCommand ChangeDefaultTabWidthCommand RERChangeFloatingObjectOutlineWidthCommand RERToggleFixedColumnWidthCommand RERInsertPageBreakCommand RERInsertColumnBreakCommand RERInsertBreakCommand RERFloatingObjectSendToBackCommand CreateStyleLinkCommand DeleteStyleLinkCommand CreateBookmarkCommand DeleteBookmarkCommand RERSetParagraphHeading1LevelCommand RERSetParagraphHeading2LevelCommand RERSetParagraphHeading3LevelCommand RERSetParagraphHeading4LevelCommand RERSetParagraphHeading5LevelCommand RERSetParagraphHeading6LevelCommand RERSetParagraphHeading7LevelCommand RERSetParagraphHeading8LevelCommand RERSetParagraphHeading9LevelCommand ChangeIOverrideListLevelCommand RERSetParagraphBodyTextLevelCommand RERSelectAllCommand ChangeTableCellCommand RemoveTableCellCommand RERSelectTableCellCommand InsertTableCellCommand get_CustomCommand set_CustomCommand RERShowHyperlinkFormCommand RERShowSymbolFormCommand RERShowPagePaperSetupFormCommand RERShowPageMarginsSetupFormCommand RERShowColumnsSetupFormCommand RERShowTablePropertiesFormCommand RERShowBookmarksFormCommand RERShowCellOptionsFormCommand RERShowLayoutOptionsFormCommand RERToggleFullScreenCommand REROpenCommand RERToggleBandedColumnCommand RERSelectTableColumnCommand RERSetSectionOneColumnCommand RERToggleLastColumnCommand RERToggleFirstColumnCommand InitSessionCommand RERSetLandscapePageOrientationCommand RERChangeSectionPageOrientationCommand RERSetPortraitPageOrientationCommand InsertSectionCommand ShiftTableStartPositionCommand RERInsertTablesCaptionCommand RERInsertFiguresCaptionCommand RERInsertEquationsCaptionCommand RERInsertCaptionCommand RERRedoCommand RERUndoCommand ChangeAnchorInfoCommand JSONLoadFontInfoCommand RERGoToPageHeaderCommand REREditPageHeaderCommand CreateHeaderCommand RERFloatingObjectSendBackwardPlaceholderCommand RERFloatingObjectBringForwardPlaceholderCommand RERToggleTableCellsInsideBorderCommand RERToggleTableCellsOutsideBorderCommand RERToggleTableCellsInsideVerticalBorderCommand RERToggleTableCellsInsideHorizontalBorderCommand RERToggleTableCellsBottomBorderCommand RERToggleTableCellsTopBorderCommand RERToggleTableCellsLeftBorderCommand RERToggleTableCellsRightBorderCommand ChangeTextBufferCommand RERToggleShowHorizontalRulerCommand RERAlignCenterCommand RERGoToPageFooterCommand REREditPageFooterCommand CreateFooterCommand RERClosePageHeaderFooterCommand RERGoToPreviousPageHeaderFooterCommand RERGoToNextPageHeaderFooterCommand JSONForceSyncWithServerCommand JSONInsertContentFromServerCommand RERChangePageColorCommand RERChangeFloatingObjectOutlineColorCommand RERParagraphBackColorCommand RERFontBackColorCommand RERChangeCurrentBorderRepositoryItemColorCommand RERFontColorCommand ShowErrorDocVariableErrorCommand RERSaveAsCommand RERUpdateAllFieldsCommand RERToggleShowAllFieldCodesCommand ChangeDifferentOddAndEvenPagesCommand RERToggleDifferentOddAndEvenPagesCommand ChangeParagraphPropertiesCommand ChangeListLevelParagraphPropertiesCommand ChangeListLevelPropertiesCommand ChangeCharacterPropertiesCommand ChangeListLevelCharacterPropertiesCommand ChangeTextBoxPropertiesCommand RERInsertTableOfTablesCommand RERToggleShowTableGridLinesCommand RERDropDownToggleShowTableGridLinesCommand RERInsertTableOfFiguresCommand LoadInlinePicturesCommand UpdateInlinePicturesCommand MergeParagraphsCommand RERMergeTableCellsCommand RERDeleteTableCellsCommand RERSplitTableCellsCommand RERPageMarginsCommand RERSetWideSectionPageMarginsCommand RERSetModerateSectionPageMarginsCommand RERSetNormalSectionPageMarginsCommand RERSetNarrowSectionPageMarginsCommand RERSetSectionThreeColumnsCommand RERDeleteTableColumnsCommand RERSetSectionColumnsCommand RERSetSectionTwoColumnsCommand RERInsertTableOfEquationsCommand MergeSectionsCommand RERUpdateTableOfCaptionsCommand RERInsertTableOfCaptionsCommand DeleteRunsCommand RERChangeTableBordersCommand RERToggleTableCellsAllBordersCommand RERChangeCurrentBorderRepositoryItemLineThicknessCommand RERToggleShowAllFieldResultsCommand RERDeleteTableElementsCommand RERSelectTableElementsCommand RERUpdateTableOfContentsCommand RERAddParagraphsToTableOfContentsCommand RERInsertTableOfContentsCommand RERToggleAutoFitContentsCommand RERToggleHeaderFooterLinkToPreviousCommand RERToggleBandedRowsCommand RERDeleteTableRowsCommand ChangeInlineObjectCommand RERHeaderOffsetCommand RERFooterOffsetCommand RERInsertTableColumnToTheLeftCommand RERAlignLeftCommand RERInsertTableColumnToTheRightCommand RERAlignRightCommand RERAutoFitCommand WebRichEditCommand RERDecreaseIndentCommand RERIncreaseIndentCommand get_RichEditClientCommand RERToggleTableCellsMiddleCenterAlignmentCommand RERSetFloatingObjectMiddleCenterAlignmentCommand RERToggleTableCellsBottomCenterAlignmentCommand RERSetFloatingObjectBottomCenterAlignmentCommand RERToggleTableCellsTopCenterAlignmentCommand RERSetFloatingObjectTopCenterAlignmentCommand RERChangeFloatingObjectAlignmentCommand RERToggleTableCellsMiddleLeftAlignmentCommand RERSetFloatingObjectMiddleLeftAlignmentCommand RERToggleTableCellsBottomLeftAlignmentCommand RERSetFloatingObjectBottomLeftAlignmentCommand RERToggleTableCellsTopLeftAlignmentCommand RERSetFloatingObjectTopLeftAlignmentCommand RERToggleTableCellsMiddleRightAlignmentCommand RERSetFloatingObjectMiddleRightAlignmentCommand RERToggleTableCellsBottomRightAlignmentCommand RERSetFloatingObjectBottomRightAlignmentCommand RERToggleTableCellsTopRightAlignmentCommand RERSetFloatingObjectTopRightAlignmentCommand ReloadDocumentCommand SaveMergedDocumentCommand SaveDocumentCommand OpenDocumentCommand SaveAsDocumentCommand DownloadCurrentDocumentCommand PrintCurrentDocumentCommand NewDocumentCommand RERPrintCommand DelayedPrintCommand RERFloatingObjectBringToFrontCommand RERFontSubscriptCommand RERFontSuperscriptCommand StartCommand RERBulletedListCommand RERNumberingListCommand AddNumberingListCommand DeleteNumberingListCommand AddAbstractNumberingListCommand DeleteAbstractNumberingListCommand ApplyNumberingListCommand RERMultilevelListCommand RERCutCommand RERFontStrikeoutCommand RERFloatingObjectSendBehindTextCommand RERFloatingObjectBringInFrontOfTextCommand InsertTextCommand RERNewCommand RERSwitchToSimpleViewCommand RERSwitchToPrintLayoutViewCommand ChangeTableRowCommand RemoveTableRowCommand RERSelectTableRowCommand InsertTableRowCommand RERToggleLastRowCommand RERToggleFirstRowCommand RERToggleAutoFitWindowCommand RERInsertTableRowBelowCommand ChangeHeaderIndexCommand ChangeFooterIndexCommand InsertFloatingTextBoxCommand RERInsertTextBoxCommand RERAlignJustifyCommand MergeTableCellHorizontallyCommand SplitTableCellHorizontallyCommand RERCopyCommand AddWordToDictionaryCommand ChangeTablePropertyCommand ChangeShapePropertyCommand ChangeTableCellPropertyCommand ChangeAnchorInfoPropertyCommand ChangeTableRowPropertyCommand command ClearAmpersand get_end set_end Append DataBind FindReplace_Find FindReplace_AdvancedFind TokenKind RERSectionA4PaperKind SetSectionA4PaperKind RERSectionA5PaperKind SetSectionA5PaperKind RERSectionB5PaperKind SetSectionB5PaperKind RERSectionA6PaperKind SetSectionA6PaperKind DXPaperKind get_PaperKind set_PaperKind RERSectionExecutivePaperKind SetSectionExecutivePaperKind RERSectionLegalPaperKind SetSectionLegalPaperKind RERSectionFolioPaperKind SetSectionFolioPaperKind RERSectionLetterPaperKind SetSectionLetterPaperKind paperKind TextWrapBehind add_RepeatedWordFound remove_RepeatedWordFound OnRepeatedWordFound add_NotInDictionaryWordFound remove_NotInDictionaryWordFound OnNotInDictionaryWordFound Round WrapAround GroupPageBackground DrawTableBackground DrawTableCellStyleBackground DrawBackground get_Method HttpMethod method MenuCmd_Clipboard GroupUndoClipboard GroupClipboard Guard FloatingObjectSendBackward FloatingObjectBringForward ThisPointForward get_Word AddWord AddedWord Spelling_RepeatedWord DeleteRepeatedWord UnderlineWord ErrorWord RemoveNextWord ExtendGoToNextWord RemovePrevWord ExtendGoToPrevWord GoToDataRecord GoToPreviousDataRecord GoToLastDataRecord GoToFirstDataRecord GoToNextDataRecord ActiveRecord FinishMerge_CurrentRecord GroupCurrentRecord get_Password set_Password FindReplace_Replace Numbering_Space get_Space set_Space InsertNonBreakingSpace NoSpace InsertSpace get_LegacySpace set_LegacySpace get_Namespace ToggleShowWhitespace DeleteTableCellsByBackspace DevExpress.Web.Office DevExpress.Office ReplaceService IUriStreamService ASPxOfficeUriStreamService IUrlResolutionService IFormatDetectorService GetService Spelling_IgnoreOnce get_FloatLuminance get_BottomDistance set_BottomDistance get_LevenshteinDistance set_LevenshteinDistance get_TopDistance set_TopDistance get_LeftDistance set_LeftDistance get_RightDistance set_RightDistance CreateInstance CreateResLocalizerInstance ImageCorrespondence MakeResponce get_DataSource set_DataSource forceSetSessionDataSource FileManagerSettingsDataSource settingsDataSource RichEditBaseValueSource get_ForeColorSource set_ForeColorSource DocumentHasSource get_FontSource set_FontSource RegisterSpriteCssResource RegisterCssResource get_WrapSide get_TextWrapSide set_TextWrapSide DrawingObjectTextWrapSide PageMarginsWide BordersInside LayoutOptions_HorizontalPositionAlignmentInside BordersOutside LayoutOptions_HorizontalPositionAlignmentOutside get_Code get_TemplateCode set_TemplateCode GetHashCode CreateFieldWithCode ErrorCode set_ClientIDMode UpdateClientIDMode set_Mode DevExpress.Web.Internal.Dialogs.IUploadControl.get_UploadMode DevExpress.Web.Internal.Dialogs.IUploadControl.set_UploadMode get_UseAdvancedUploadMode set_UseAdvancedUploadMode UploadControlUploadMode PersistenceMode FinishMerge_MergeMode set_MergeMode get_RuntimeMode set_OneLineMode SetRibbonOneLineMode set_ViewStateMode get_AutoSaveMode set_AutoSaveMode set_SmoothingMode VerticalAlignMode HorizontalAlignMode get_DesignMode get_RibbonMode set_RibbonMode IsOneLineRibbonMode RichEditRibbonMode ribbonMode get_DisplaySectionMode set_DisplaySectionMode SaveFileDialogDisplaySectionMode set_DropDownMode get_DefaultDropDownMode get_PrintMode set_PrintMode get_PageBreakInsertMode set_PageBreakInsertMode PdfBookmarkDisplayMode set_ErrorDisplayMode get_CompatibilityMode WordCompatibilityMode set_AdaptivityMode PopupControlAdaptivityMode SetupAdaptivityMode FormLayoutAdaptivityMode encode ColumnsThree ExecuteSafe GetImageBytesStreamSafe get_Page TabPage Hyperlink_WebPage InsertSectionBreakOddPage get_CodePage InsertSectionBreakEvenPage SectionPage ExtendPreviousPage get_DifferentFirstPage set_DifferentFirstPage ToggleDifferentFirstPage ExtendNextPage InsertSectionBreakNextPage ExtendGoToStartNextPage ExtendGoToStartPrevPage NewPage get_DXImage get_Image set_Image Base64EncodedImage OfficeImage OfficeReferenceImage GetLargeImage GetTableStyleImage GetParagraphStyleImage GetCharacterStyleImage CreateImage get_NativeImage get_EncapsulatedOfficeNativeImage DeserializeImage RibbonWithSvgImage GetSmallImage FromImage RegisterImage InsertFloatingObjectImage GetImage get_DefaultImage InsertImage ASPxImage ASPxBinaryImage GetEmptyImage image page get_Message ShowSpellingCheckCompletedMessage ShowErrorLoadPictureMessage HttpResponseMessage HttpRequestMessage requestMessage message Percentage GroupDocumentLanguage FromEdge FinishMerge_Range AddRange SelectTableCellsRange CanEditRange MailMergeExportRange Spelling_Change CompareExchange GroupFloatingPictureToolsArrange GroupFloatingObjectsArrange XLarge ViewMergedDataLarge ItalicLarge BordersGridLarge InsertDataFieldLarge UpdateFieldLarge BoldLarge FindLarge TextWrapBehindLarge BackgroundLarge FloatingObjectSendBackwardLarge FloatingObjectBringForwardLarge UnderlineWordLarge ReplaceLarge PageMarginsWideLarge BordersInsideLarge BordersOutsideLarge ColumnsThreeLarge InsertSectionBreakOddPageLarge InsertSectionBreakEvenPageLarge DifferentFirstPageLarge InsertSectionBreakNextPageLarge InsertFloatingObjectImageLarge InsertImageLarge LanguageLarge MailMergeLarge DeleteTableLarge SelectTableLarge SplitTableLarge InsertTableLarge UnderlineDoubleLarge StrikeoutDoubleLarge ClearTableStyleLarge NewTableStyleLarge ModifyTableStyleLarge ParagraphStyleLarge CharacterStyleLarge ChangeFontStyleLarge ModifyStyleLarge ColumnsOneLarge ReviewingPaneLarge TextWrapInlineLarge UnderlineLarge BorderNoneLarge BordersNoneLarge PageOrientationLandscapeLarge FloatingObjectTextWrapTypeLarge SpellCheckAsYouTypeLarge TextWrapSquareLarge ChangeTextCaseLarge FontSizeDecreaseLarge SpacingDecreaseLarge IndentDecreaseLarge FontSizeIncreaseLarge IndentIncreaseLarge PageMarginsModerateLarge DeleteLarge PasteLarge SaveLarge InsertTableRowsAboveLarge PaperSizeLarge FontSizeLarge LineSpacingLarge BordersAndShadingLarge LineNumberingLarge ClearFormattingLarge PrintDialogLarge TextWrapThroughLarge ParagraphLarge TableFixedColumnWidthLarge InsertPageBreakLarge InsertColumnBreakLarge FloatingObjectSendToBackLarge SpellCheckLarge Delete_HyperlinkLarge BookmarkLarge BorderInsideVerticalLarge RulerVerticalLarge PasteSpecialLarge PageMarginsNormalLarge BorderInsideHorizontalLarge RulerHorizontalLarge ListMultilevelLarge SaveAllLarge BorderAllLarge BordersAllLarge SelectAllLarge SelectTableCellLarge SymbolLarge BordersCustomLarge TextWrapTopAndBottomLarge BorderBottomLarge ZoomInLarge ShowHiddenLarge FullScreenLarge OpenLarge SelectTableColumnLarge EditRangePermissionLarge PageOrientationLarge InsertTableCaptionLarge InsertFigureCaptionLarge InsertEquationCaptionLarge InsertCaptionLarge BorderDiagonalDownLarge RedoLarge UndoLarge ColumnsTwoLarge BorderDiagonalUpLarge BorderTopLarge InsertPageNumberLarge GoToHeaderLarge PrintBrowserLarge PrintPreviewBrowserLarge AlignMiddleCenterLarge AlignFloatingObjectMiddleCenterLarge AlignBottomCenterLarge AlignFloatingObjectBottomCenterLarge AlignCenterLarge AlignTopCenterLarge AlignFloatingObjectTopCenterLarge CloseHeaderAndFooterLarge GoToFooterLarge GoToPreviousHeaderFooterLarge GoToNextHeaderFooterLarge PageColorLarge FloatingObjectOutlineColorLarge FloatingObjectFillColorLarge PenColorLarge FontColorLarge SaveAsLarge ToggleFieldCodesLarge ShowAllFieldCodesLarge DifferentOddEvenPagesLarge TablePropertiesLarge ViewTableGridlinesLarge InsertTableOfFiguresLarge MergeTableCellsLarge DeleteTableCellsLarge SplitTableCellsLarge InsertTableCellsLarge PageMarginsLarge TableCellMarginsLarge DeleteTableColumnsLarge InsertTableOfEquationsLarge FloatingObjectLayoutOptionsLarge InsertTableOfCaptionsLarge ListNumbersLarge ReviewersLarge ListBulletsLarge ShowAllFieldResultsLarge ShowCommentsLarge UpdateTableOfContentsLarge AddParagraphToTableOfContentsLarge InsertTableOfContentsLarge TableAutoFitContentsLarge LinkToPreviousLarge InsertSectionBreakContinuousLarge DeleteTableRowsLarge SelectLarge InsertTableColumnsToTheLeftLarge AlignMiddleLeftLarge AlignFloatingObjectMiddleLeftLarge AlignBottomLeftLarge AlignFloatingObjectBottomLeftLarge AlignLeftLarge AlignTopLeftLarge AlignFloatingObjectTopLeftLarge BorderLeftLarge ColumnsLeftLarge InsertTableColumnsToTheRightLarge AlignMiddleRightLarge AlignFloatingObjectMiddleRightLarge AlignBottomRightLarge AlignFloatingObjectBottomRightLarge AlignRightLarge AlignTopRightLarge AlignFloatingObjectTopRightLarge BorderRightLarge ColumnsRightLarge TextWrapTightLarge HighlightLarge PageOrientationPortraitLarge DeleteCommentLarge PreviousCommentLarge NextCommentLarge NewCommentLarge FloatingObjectAlignmentLarge ProtectDocumentLarge UnprotectDocumentLarge PrintLarge FontLarge FloatingObjectBringToFrontLarge InsertPageCountLarge SubscriptLarge SuperscriptLarge LastLarge FirstLarge CutLarge ZoomOutLarge StrikeoutLarge NextLarge FloatingObjectSendBehindTextLarge FloatingObjectBringInFrontOfTextLarge TextWrapInFrontOfTextLarge FloatingObjectBringToFrontOfTextLarge HiddenTextLarge PrevLarge NewLarge SimpleViewLarge DraftViewLarge ReadingLayoutViewLarge PrintLayoutViewLarge PreviewLarge SelectTableRowLarge TableAutoFitWindowLarge InsertTableRowsBelowLarge PageMarginsNarrowLarge BordersBoxLarge InsertTextBoxLarge AlignJustifyLarge CopyLarge get_MailMerge GroupMailMerge GroupTableToolsLayoutMerge get_Cache set_Cache webCache get_ImageCache CreateImageCache PersistentImageCache get_HashtableCache set_HashtableCache GetItemFromHashtableCache AddToHashtableCache get_ParagraphFormattingCache get_CharacterFormattingCache jsonCache AddImageToCache get_ShadingInfoCache MapJsonToModelShadingInfoCache shadingInfoCache get_CharacterFormattingInfoCache get_ColorModelInfoCache RichEditColorModelInfoCache colorModelInfoCache MapJsonToModelColorInfoCache get_FontInfoCache set_FontInfoCache WebFontInfoCache fontInfoCache ParagraphPropertiesCache ListLevelPropertiesCache TableCellPropertiesCache MaskedCharacterPropertiesCache TableRowPropertiesCache get_ParagraphFormattingOptionsCache get_CharacterFormattingOptionsCache cellPropsCache rowPropsCache charFormatCache DocumentCache CreateFontCache cache EndInvoke BeginInvoke ToOle LayoutOptions_Scale ChangeInlinePictureScale UpdateScale CalculateScale get_DisplayPropertiesLable set_DisplayPropertiesLable TableProperties_Table get_Table replaceTable get_PieceTable set_PieceTable JSONEnumLoadPieceTable get_ActivePieceTable get_AdditionalPieceTable set_AdditionalPieceTable additionalPieceTable numRunsInPieceTable get_MainPieceTable jsonPieceTable GetPieceTable parentPieceTable pieceTable ChangeTable CreateTable DeleteTable RemoveTable PopulateStringTable SingleSectionFromHashTable InternalTable JSONEnumTable get_IndexInTable jsonTable CellOptions_SameAsTable JSONInlineObjectModifiersTable ExtendSelectTable GetTable SplitTable clientTable InsertTable GroupTableToolsLayoutTable CreatePreviewTable CanModifyTable DocVariable add_CalculateDocumentVariable remove_CalculateDocumentVariable RaiseWebCalculateDocumentVariable RaiseCalculateDocumentVariable get_Enable set_Enable FieldLastRunIndexComparable IEnumerable IDisposable initCommandHashtable MakeResponceHashtable getFinalHashtable FillHashtable ImportFieldsFromHashtable FinishImportFromHashtable ToHashtable getHashtable hashtable get_Visible set_Visible IsStyleVisible set_ClientVisible OpeningAndOverstoreImpossible TableBorderStyle_Double UnderlineType_Double StrikeoutType_Double UnderlineDouble ToDouble valueAsDouble HtDouble StrikeoutDouble RuntimeFieldHandle RuntimeTypeHandle get_TabDragHandle get_DecimalTabDragHandle get_CenterTabDragHandle get_LeftTabDragHandle get_RightTabDragHandle get_CellDivisionDragHandle get_FirstLineIdentDragHandle get_LeftIdentDragHandle get_RightIdentDragHandle get_FirstLineIndentDragHandle get_LeftIndentDragHandle get_RightIndentDragHandle GetTypeFromHandle FillRectangle TableBorderStyle_Single UnderlineType_Single StrikeoutType_Single UnderlineType_ThickSingle ToSingle get_File get_UploadedFile CantSaveToAlreadyOpenedFile PageFile SaveInTheSameFile set_ResponseFile CantSaveFile OtherLabels_ConfirmToRewriteExistingFile CantOpenFile get_IsFile RegisterIconSpriteCssFile RegisterSystemCssFile RegisterDefaultRenderCssFile Multiple get_Simple set_Simple NumberingSimple get_Title set_Title RulerDecimalTabTitle RulerCenterTabTitle RulerLeftTabTitle RulerRightTabTitle CustomizeOutlineNumberedTitle InsertMergeFieldTitle FindReplaceTitle InsertImageTitle ExportRangeTitle InsertTableTitle OpenFileTitle SaveAsFileTitle BorderShadingTitle SpellingTitle WarningTitle BulletedAndNumberingTitle ParagraphTitle HyperlinkTitle BookmarkTitle InformationTitle PageSetupTitle ErrorTitle TabsTitle TablePropertiesTitle DeleteTableCellsTitle SplitTableCellsTitle InsertTableCellsTitle SymbolsTitle ColumnsTitle RulerMarginLeftTitle RulerMarginRightTitle RulerFirstLineIdentTitle RulerHangingIdentTitle RulerLeftIdentTitle RulerRightIdentTitle RulerFirstLineIndentTitle RulerHangingIndentTitle RulerLeftIndentTitle RulerRightIndentTitle FontTitle CustomizeNumberedListTitle CustomizeBulletedListTitle ASPxRichEditFontMappingRule rule IStyle TStyle get_Style set_Style AddStyle get_LinkedStyle get_HasLinkedStyle set_EnableFocusedStyle AppearanceSelectedStyle get_ModalBackgroundStyle PopupControlModalBackgroundStyle GetDefaultModalBackgroundStyle AppearanceStyle ChangeStyle ITableStyle get_TableStyle set_TableStyle jsonTableStyle ClearTableStyle changeDefaultTableStyle DrawTableStyle NewTableStyle ModifyTableStyle ApplyTableStyle tableStyle GetDefaultTabDragHandleStyle GetDefaultFirstLineIndentDragHandleStyle GetDefaultLeftIndentDragHandleStyle GetDefaultRightIndentDragHandleStyle FileManagerFileStyle BorderLineStyle GetDefaultLineStyle UnderlineStyle PopulateStyle LayoutOptions_WrappingStyle get_ParagraphStyle set_ParagraphStyle UpdateParagraphStyle jsonParagraphStyle get_NextParagraphStyle set_NextParagraphStyle DrawParagraphStyle ApplyParagraphStyle paragraphStyle TableConditionalStyle jsonTableBaseConditionalStyle GetLoadingPanelStyle GetQuickSearchPanelStyle get_TableCellStyle set_TableCellStyle DevExpress.Web.Internal.Dialogs.IControl.get_ControlStyle GetControlStyle set_DropDownStyle Numbering_NumberStyle set_BorderStyle FileManagerFolderContainerStyle GetDefaultWrapperStyle get_CharacterStyle set_CharacterStyle jsonCharacterStyle DrawCharacterStyle ApplyCharacterStyle characterStyle get_HoverStyle ContainsStyle GetStyle iconSetStyle GetDefaultStyle SetParentStyle get_ContentStyle GetDefaultContentStyle PopupWindowContentStyle ChangeFontStyle CalculateFontStyle RemoveLastStyle jsonNumberingListStyle DrawStyle get_GroupBoxStyle LayoutGroupBoxStyle ModifyStyle copyStyle style Bookmarks_Name get_Name set_Name MergeFieldName fieldName get_CommandName set_CommandName commandName DevExpress.Web.Internal.Dialogs.IControl.get_ClientInstanceName DevExpress.Web.Internal.Dialogs.IControl.set_ClientInstanceName GetClientInstanceName EmptyImageResourceName ImageLoadingResourceName WTSVGSpriteCssResourceName GrayScaleIconSpriteCssResourceName GrayScaleWithWhiteHottrackIconSpriteCssResourceName GrayScaleWithWhiteHottrackInToolbarIconSpriteCssResourceName SystemCssResourceName DefaultCssResourceName WTSVGSpriteNewCssResourceName GetResourceName CompiledScriptResourceName FileManagerUploadControlScriptResourceName RichEditLocalizationScriptResourceName FileManagerScriptResourceName FolderManagerScriptResourceName CustomResourcesScriptResourceName PdfKitScriptResourceName get_ImageName set_ImageName DecimalTabDragHandleImageName CenterTabDragHandleImageName LeftTabDragHandleImageName RightTabDragHandleImageName ColumnSeparatorDragHandleImageName FirstLineIndentDragHandleImageName LeftIndentDragHandleImageName RightIndentDragHandleImageName ErrorUnderlineImageName WTSVGSpriteImageName GrayScaleIconSpriteImageName GrayScaleWithWhiteHottrackIconSpriteImageName GrayScaleWithWhiteHottrackInToolbarIconSpriteImageName CursorTouchImageName CursorImageName WTSVGSpriteNewImageName imageName get_VariableName Invalid_FileName GetFileName get_CurrentFileName set_CurrentFileName get_CanSaveToCurrentFileName fileName get_StyleName set_StyleName LinkedStyleName linkedStyleName get_LocalizedStyleName TabDragHandleStyleName FirstLineIndentDragHandleStyleName LeftIndentDragHandleStyleName RightIndentDragHandleStyleName LineStyleName NextParagraphStyleName nextParagraphStyleName paragraphStyleName QuickSearchPanelStyleName ControlStyleName knownCharStyleName WrapperStyleName CharacterStyleName ParentStyleName parentStyleName styleName GetWorkSessionDocumentTypeName RibbonRESpriteName RibbonREGSpriteName RibbonRESVGSpriteName RibbonREWTSVGSpriteName RibbonREGWTSpriteName RibbonREGWSpriteName GetDefaultSpriteName spriteName get_RelativeName ShouldSerializeName get_EncodingName set_EncodingName get_CurrentDialogName dialogName Bookmarks_BookmarkName get_FullName set_ControlName GetSkinControlName get_DialogFormName formName QuickSearchCloseButtonName QuickSearchCollapseButtonName QuickSearchNextButtonName QuickSearchPrevButtonName set_GroupName get_SubGroupName GetSubGroupName get_CheckedGroupName set_CheckedGroupName checkedGroupName get_DefaultGroupName LoadingPanelOnStatusBarName dataHelperName get_UserName set_UserName AppendDefaultDXClassName PageClassName DialogClassName LoadingPanelClassName NotInternalRibbonClassName StatusBarClassName InputTargetContainerClassName GetDialogCssClassName QuickSearchCssClassName QuickSearchButtonCssClassName QuickSearchPanelWrapperCssClassName QuickSearchButtonHoverCssClassName QuickSearchButtonEditCssClassName cssClassName GetClientObjectClassName ViewClassName get_className get_FormatName ParseDocumentFormatName formatName GetName ResetName get_DefaultName GetDesignTimeResourceSpriteImageDefaultName get_FontName set_FontName ChangeFontName get_UseFontName FallbackFontName get_SymbolFontName get_DestinationFontName set_DestinationFontName destinationFontName get_DefaultFontName set_DefaultFontName fontName WTSVGSpriteNewName get_ResxName FindByName CreateStyleByName GetStyleByName FindItemOrGroupByName get_FontsByName set_FontsByName GetFontByName GetStyleIndexByName get_DisplayName GetPaperKindDisplayName FolderDoesNotExistParamKeyName get_GlobalResourceAssemblyName GetDirectoryName get_name set_name get_Frame set_Frame get_Theme set_Theme IOfficeTheme get_OfficeTheme Scheme CreateLocalLifeTime DateTime RichEditControlDesignTime get_LastModifyTime RefreshLastModifyTime PageHome ColumnsOne ReviewingPane get_DisplayBookmarksInPdfNavigationPane set_DisplayBookmarksInPdfNavigationPane get_Line EndOfLine Tabs_ThickLine DrawCharacterLine ExtendSelectLine FirstLine DrawLine AddEmptyLine Combine LayoutOptions_Inline get_Inline TextWrapInline Tabs_Underline ToggleFontDoubleUnderline ToggleFontUnderline get_Outline TableBorderStyle_None UnderlineType_None StrikeoutType_None Tabs_None OtherLabels_None get_None WrapNone BorderNone BorderShading_BordersNone Clone none set_CloseOnEscape get_Landscape set_Landscape PageOrientationLandscape get_DisplayBackgroundShape set_DisplayBackgroundShape InsertDrawingShape ModelShape ChangeFloatingObjectShape shape CreateScope get_Type set_Type JSONServerUpdateFieldType CommandType GetResourceType OverrideType LanguageType get_TableChangeType get_ParagraphFormattingChangeType get_CharacterFormattingChangeType get_TableCellChangeType get_TableFloatingPositionChangeType BorderChangeType TableGeneralSettingsChangeType get_TableRowChangeType ResetFormattingCacheType FileType ImageFormatToMimeType get_FontUnderlineType set_FontUnderlineType set_OutlineType GetLicenseType ChooseType set_ValueType RelativeSizeType OfType get_LineSpacingType set_LineSpacingType DrawingTextWrappingType DrawingTextAnchoringType PrepareWidthType get_FillType DrawingFillType get_HashAlgorithmType set_HashAlgorithmType set_PopupAnimationType UpdateFieldOperationType get_ProtectionType set_ProtectionType DocumentProtectionType get_VerticalPositionType set_VerticalPositionType DrawingObjectVerticalPositionType get_HorizontalPositionType set_HorizontalPositionType DrawingObjectHorizontalPositionType WebRunType SubDocumentInfoType GetDocumentInfoType get_TextWrapType set_TextWrapType SetFloatingObjectBehindTextWrapType SetFloatingObjectInlineTextWrapType SetFloatingObjectSquareTextWrapType SetFloatingObjectInFrontOfTextWrapType SetFloatingObjectThroughTextWrapType SetFloatingObjectTopAndBottomTextWrapType FloatingObjectTextWrapType DrawingObjectTextWrapType SetFloatingObjectTightTextWrapType TabLeaderType DevExpress.Web.Design.IControlDesigner.DesignerType DevExpress.Web.Design.IControlDesigner.get_DesignerType GetControlDesignerType HeaderFooterType VerticalAnchorType HorizontalAnchorType get_ColorType DrawingColorType DownloadImageErrorType errorType DrawingObjectType GetType MenuIconSetType iconSetType DrawingTextAutoFitType WidthUnitType HeightUnitType get_FirstLineIndentType set_FirstLineIndentType TabAlignmentType get_ContentType set_ContentType IsAllowedContentType set_AutodetectContentType ShapeTextBoxContentType contentType get_StartType set_StartType SectionStartType set_CssPropertiesExportType DownloadRequestType get_FontStrikeoutType set_FontStrikeoutType TableLayoutType SpellCheckAsYouType get_ReplaceTextAsYouType set_ReplaceTextAsYouType get_ViewType set_ViewType ChangeViewType RichEditViewType NumberingAnyType type DontCare Compare TextWrapSquare Where DevExpress.Office.v24.2.Core DevExpress.Printing.v24.2.Core DevExpress.SpellChecker.v24.2.Core DevExpress.RichEdit.v24.2.Core System.Core AddCore set_DeletedCore InsertTableCore ModifyTableCore FromHashtableCore SaveInTheSameFileCore DrawTableStyleCore DrawParagraphStyleCore CloseCore CreateLinkCore DeleteLinkCore CreateBookmarkCore DeleteBookmarkCore CreateModelCore CreateDocumentModelCore AddGridTableStylesToDocumentModelCore PerformModifyModelCore SetLevelCore AddCellCore set_HiddenCore set_SemihiddenCore OpenCore CreateRibbonCore ModifySectionCore InsertFieldCodeEndRunCore InsertFieldResultEndRunCore InsertFieldCodeStartRunCore RestoreInfoCore RestoreFromHibernationChamberCore ReviseStylesCore MergeParagraphsCore CreateEmptyObjectCore ResetCore RaisePostBackEventCore ProcessRequestCore InsertTextCore AddRowCore SetTableStyleIndexCore ModifyCore SaveCopyCore ModifyPropertyCore get_GridBefore set_GridBefore get_SpacingBefore set_SpacingBefore get_WidthBefore get_PageBreakBefore set_PageBreakBefore isRestore ToHashtableFromAnchoredPicture InsertAnchoredPicture ToHashtableFromInlinePicture InsertInlinePicture InsertDrawingPicture ModelPicture InsertPicture get_Culture set_Culture GetCulture get_InvariantCulture Capture SetUse ResetUse newUse TabBase TabParagraphWebCommandBase RERDropDownToggleCommandBase InlinePictureCommandBase StyleLinkCommandBase WebRichEditUpdateModelCommandBase RERButtonCommandBase RERToggleButtonCommandBase RERDropDownCommandBase RERGalleryBarCommandBase RERColorCommandBase InsertAnchoredObjectCommandBase RERSpinEditCommandBase JSONChangeHeaderFooterIndexCommandBase RERCheckBoxCommandBase RERComboBoxCommandBase MethodBase GetImageBase ImageCacheBase AppearanceStyleBase ModelShapeBase ContentTypeBase WorkSessionRegistrationAttributeBase OptionsSpellingBase ParagraphFormattingBase CharacterFormattingBase RichEditDialogBase ASPxPanelBase ASPxTabControlBase ASPxDataWebControlBase ASPxWebControlBase ASPxPopupControlBase RichEditControlBase RibbonItemBase RibbonColorButtonItemBase ListEditItemBase LayoutItemBase RERGalleryItemBase AddFieldHistoryItemBase RichEditDefaultRibbonBase WorkSessionBase StateManagedCollectionBase ListEditItemCollectionBase TextRunBase LayoutGroupBase BorderBase ParagraphPropertyModifierBase SectionPropertyModifierBase SpellCheckerBase CallbackEventHandlerBase ASPxPanelContainerBase ImageCacheHelperBase SectionHeaderFooterBase OfficeDataControllerAdapterBase RichEditDataControllerAdapterBase ImagesBase ItemImagePropertiesBase ShapePropertiesBase StylesBase ASPxRichEditSettingsBase CallbackEventArgsBase FileManagerActionEventArgsBase RichEditControlOptionsBase CallbackClientSideEventsBase ASPxButtonEditBase ASPxEditBase MarginUnitBase ASPxCheckListBase DialogFormLayoutBase ASPxMenuBase ASPxAutoCompleteBoxBase ASPxSpellCheckerDictionaryBase MenuCmd_MakeTextSentenceCase get_OrdinalIgnoreCase FindReplace_MatchCase MakeTextUpperCase MakeTextLowerCase CapitalizeEachWordTextCase ChangeTextCase ToggleTextCase SwitchTextCase FontSizeDecrease SpacingDecrease IndentDecrease FontSizeIncrease IndentIncrease False ValidateLicense WebResponse JSONDocumentHandlerResponse AttachmentDocumentHandlerResponse GetBinaryDocumentHandlerResponse googleFontsResponse GetResponse response GroupHeaderFooterToolsDesignClose System.IDisposable.Dispose TryParse Validate FieldUpdate EndUpdate GetConfirmUpdate BeginUpdate get_AutoUpdate set_AutoUpdate get_DocumentPropertiesAutoUpdate set_DocumentPropertiesAutoUpdate AddOrUpdate DisableAutoFieldsUpdate Create GetImageLoadingUrlResourceDelegate GetPresetStylesResourceDelegate GetLocalizationDelegate TableCellProcessorDelegate MulticastDelegate ITemplate set_Template CreateInsertTableTemplate template PageMarginsModerate ICommandState IntervalWithUseCommandState ListLevelWithUseCommandState CreateBookmarkCommandState DeleteBookmarkCommandState IntervalCommandState ListLevelCommandState SectionCommandState TableState DebuggerBrowsableState EditorBrowsableState MergingState TableCellState AddSelectedLineCommandNoUpdateControlState ExtendSelectLineNoUpdateControlState System.Web.SessionState HttpSessionState JSONSelectionState LoadWindowsState get_ClientObjectState set_EnableViewState TableRowState TablePropertyState TableCellPropertyState AnchorInfoPropertyState TableRowPropertyState LayoutOptions_Rotate <>1__state Spelling_Delete Bookmarks_Delete DevExpress.Web.Internal.Dialogs.IUploadControl.add_FileUploadComplete uplImage_FileUploadComplete DevExpress.Web.Internal.Dialogs.IUploadControl.remove_FileUploadComplete get_Paste set_Paste get_UpdateFieldsOnPaste set_UpdateFieldsOnPaste get_Palette palette ToolboxDataAttribute DXClientDocumentationProviderWebAttribute CompilerGeneratedAttribute GuidAttribute WebResourceAttribute PersistenceModeAttribute AttributeUsageAttribute NeutralResourcesLanguageAttribute BindableAttribute ThemeableAttribute DebuggableAttribute AutoFormatEnableAttribute AutoFormatDisableAttribute DebuggerBrowsableAttribute EditorBrowsableAttribute LocalizableAttribute ComVisibleAttribute AssemblyTitleAttribute ToolboxTabNameAttribute IteratorStateMachineAttribute ObsoleteAttribute XmlAttributeAttribute DefaultValueAttribute AssemblyTrademarkAttribute TargetFrameworkAttribute DXWebToolboxItemAttribute DebuggerHiddenAttribute ExtensionAttribute AssemblyFileVersionAttribute SatelliteContractVersionAttribute AssemblyConfigurationAttribute AssemblyDescriptionAttribute InternalsVisibleToAttribute ToolboxBitmapAttribute LicenseProviderAttribute WebResourceCustomHandlerProviderAttribute DesignerAttribute TypeConverterAttribute EditorAttribute CompilationRelaxationsAttribute AssemblyProductAttribute AssemblyCopyrightAttribute CLSCompliantAttribute DecimalConstantAttribute TagPrefixAttribute ParamArrayAttribute AssemblyCompanyAttribute CategoryAttribute DesignerSerializationVisibilityAttribute RuntimeCompatibilityAttribute MergablePropertyAttribute NotifyParentPropertyAttribute get_AllowedExecute LayoutOptions_Absolute LineBreakSubstitute Byte get_FloatHue get_Value set_Value oneLineModeValue GetVariableValue get_UseValue set_UseValue ChangeParagraphPropertiesUseValue ChangeCharacterPropertiesUseValue ApplyNewUseValue useValue GetClientObjectStateValue CheckNegativeValue maxCellSpacingValue set_AutomaticColorItemValue get_DefaultAutomaticColorItemValue enumValue set_MinValue minValue CheckNegativeOrZeroValue ProductInfoHeaderValue get_HasValue ContainsValue HtValue TryGetValue GetRibbonModeDefaultValue GetMaxFileSizeDefaultValue defaultValue get_NewValue GetNewValue ApplyNewValue newValue GetCurrentRowValue set_MaxValue maxValue GetParagraphPropertyValue GetInputPositionPropertyValue GetRunPropertyValue GetPropertyValue SetPropertyValue value CheckDocumentIsUnique True get_Save set_Save FileSave UnderlineType_Wave UnderlineType_DoubleWave UnderlineType_HeavyWave set_ValidateOnLeave LoadPostDataRecursive LookupControlRecursive EnsureChildControlsRecursive DevExpress.XtraRichEdit.API.Native DevExpress.Web.ASPxSpellChecker.Native DevExpress.ASPxSpellChecker.Native DevExpress.XtraRichEdit.Native LayoutOptions_Relative get_Active get_CaseSensitive set_CaseSensitive caseSensitive get_MultiUserConflictResolve InsertTableRowsAbove InsertTableRowAbove TryRemove JSONSize GetSuperscriptYSize TableProperties_Size LayoutOptions_Size get_Size set_Size get_TableStyleColBandSize set_TableStyleColBandSize set_UseTableStyleColBandSize set_TableStyleColumnBandSize get_TableStyleRowBandSize set_TableStyleRowBandSize set_UseTableStyleRowBandSize SetSectionPageSize DefaultLargeSize ScaleSize InsertTable_TableSize get_MaxFileSize set_MaxFileSize JSONPictureSize ChangeAnchoredPictureSize JSONAnchorInlineBaseSize UseAbsoluteSize RelativeSize maxChunkBufSize get_MinImgSize get_RelativeVerticalSize set_RelativeVerticalSize get_UseRelativeVerticalSize DrawingObjectRelativeVerticalSize LayoutOptions_OriginalSize get_OriginalSize get_RelativeHorizontalSize set_RelativeHorizontalSize get_UseRelativeHorizontalSize DrawingObjectRelativeHorizontalSize SetButtonSmallSize DefaultSmallSize GroupTableToolsLayoutCellSize RibbonItemSize jsonSize ToSize maxChunkBufferSize PaperSize IsAllowedContentSize ChangeFontSize get_DoubleFontSize set_DoubleFontSize DecreaseFontSize IncreaseFontSize get_MapMetafileImageToMaxSize set_MapMetafileImageToMaxSize mapMetafileImageToMaxSize ChangeAnchoredTextBoxSize JSONInlineTextBoxSize JSONAnchorTextBoxSize Localize Serialize Deserialize FrameworkInitialize AdditionalInitialize Numbering_Customize TableOptions_AutoResize get_SuppressBulletResize set_SuppressBulletResize FindReplace_Of LayoutOptions_ToTheRightOf LayoutOptions_HorizontalBookLayoutOf IndexOf ExportToPdf ServerPdf ClientPdf DevExpress.Web.ASPxRichEdit.Images.1x1.gif DevExpress.Web.ASPxRichEdit.Images.reErrorUnderline.gif DevExpress.Web.ASPxRichEdit.Images.reImageLoading.gif DevExpress.Web.ASPxRichEdit.Images.CursorTouch.gif DevExpress.Web.ASPxRichEdit.Images.reLoadingOnStatusBar.gif DevExpress.Web.ASPxRichEdit.Images.Cursor.gif get_NoProof set_NoProof DownloadRtf isValidRtf GetRtf ResultRtf InsertRtf HtmlTextWriterTag HasRootTag get_Drag set_Drag get_Png Columns_Spacing Columns_WidthAndSpacing get_LineSpacing set_LineSpacing ParagraphLineSpacing GetLineSpacing SetDoubleParagraphSpacing SetSingleParagraphSpacing SetSesquialteralParagraphSpacing get_ContextualSpacing set_ContextualSpacing get_CellSpacing set_UseCellSpacing TableOptions_DefaultCellSpacing get_BeforeAutoSpacing set_BeforeAutoSpacing get_AfterAutoSpacing set_AfterAutoSpacing TableOptions_AllowSpacing System.Threading BorderShading_Shading TableProperties_BordersAndShading ChangeTableCellShading DevExpress.Web.Internal.Dialogs.IFileManager.add_FileUploading DevExpress.Web.Internal.Dialogs.IFileManager.remove_FileUploading FileManager_FileUploading add_DocumentSelectorFileUploading remove_DocumentSelectorFileUploading RaiseDocumentSelectorFileUploading set_Padding RequireDataBinding PerformDataBinding UTF8Encoding get_Encoding set_Encoding GetEncoding set_ContentEncoding GroupDocumentProofing set_AllowDragging Hanging get_VerticalMerging set_VerticalMerging Numbering_Nothing GroupDocumentTracking GraphicalObjectFrameLocking CheckSpelling get_OptionsSpelling ASPxRichEditOptionsSpelling optionsSpelling set_EnableTabScrolling get_OfficeScrolling set_OfficeScrolling set_EnableScrolling DevExpress.Web.Internal.Dialogs.IFileManager.add_ItemRenaming DevExpress.Web.Internal.Dialogs.IFileManager.remove_ItemRenaming FileManager_ItemRenaming add_DocumentSelectorItemRenaming remove_DocumentSelectorItemRenaming RaiseDocumentSelectorItemRenaming get_Zooming set_Zooming System.Runtime.Versioning LayoutOptions_TextWrapping get_TextWrapping set_TextWrapping get_Numbering get_EnableAutomaticNumbering set_EnableAutomaticNumbering get_PageNumbering SectionPageNumbering LineNumbering get_ContinueNumbering set_ContinueNumbering RestartNumbering EndRendering BeginRendering FromBase64String ToBase64String AddString GetLocalizedString get_AppDomainAppVirtualPathString DocumentFormatToString jsonAsString get_CssString set_CssString cssString HtString set_FieldNameFormatString aspxFieldNameFormatString get_UnitFormatString GetUnitFormatString unitFormatString get_DisplayFormatString set_DisplayFormatString displayFormatString GetString DrawString Substring WorkSessionProcessing DevExpress.Web.Internal.Dialogs.IFileManager.add_FolderCreating DevExpress.Web.Internal.Dialogs.IFileManager.remove_FolderCreating FileManager_FolderCreating add_DocumentSelectorFolderCreating remove_DocumentSelectorFolderCreating RaiseDocumentSelectorFolderCreating DevExpress.Web.Internal.Dialogs.IFileManager.add_ItemDeleting DevExpress.Web.Internal.Dialogs.IFileManager.remove_ItemDeleting FileManager_ItemDeleting add_DocumentSelectorItemDeleting remove_DocumentSelectorItemDeleting RaiseDocumentSelectorItemDeleting GroupEditing DevExpress.Web.Internal.Dialogs.IFileManager.get_SettingsEditing FileManagerSettingsEditing System.Drawing.Printing DevExpress.Drawing.Printing get_Printing set_Printing DevExpress.XtraPrinting printing JSONEnumClientTableFormatting ApplyTableFormatting set_UseFormatting get_ParagraphFormatting set_ParagraphFormatting ModifyParagraphFormatting ApplyParagraphFormatting JSONEnumClientTableCellFormatting ApplyTableCellFormatting get_KeepTextHighlightingOnClearFormatting set_KeepTextHighlightingOnClearFormatting get_CharacterFormatting set_CharacterFormatting GetDefaultCharacterFormatting ModifyCharacterFormatting ApplyCharacterFormatting FieldResultFormatting JSONEnumClientTableRowFormatting ApplyTableRowFormatting add_Saving remove_Saving EnsureDocumentPathBeforeSaving RaiseSaving EventSaving DevExpress.Web.Internal.Dialogs.IFileManager.add_ItemMoving DevExpress.Web.Internal.Dialogs.IFileManager.remove_ItemMoving FileManager_ItemMoving add_DocumentSelectorItemMoving remove_DocumentSelectorItemMoving RaiseDocumentSelectorItemMoving DevExpress.Office.Drawing System.Drawing DevExpress.Drawing get_PopupMenuShowing set_PopupMenuShowing DevExpress.Web.Internal.Dialogs.IFileManager.add_ItemCopying DevExpress.Web.Internal.Dialogs.IFileManager.remove_ItemCopying FileManager_ItemCopying add_DocumentSelectorItemCopying remove_DocumentSelectorItemCopying RaiseDocumentSelectorItemCopying DevExpress.Web.ASPxRichEdit.Images.dt_SVGSprite.png DevExpress.Web.ASPxRichEdit.Images.ISprite.png DevExpress.Web.ASPxRichEdit.Images.GISprite.png DevExpress.Web.ASPxRichEdit.Images.GWTISprite.png DevExpress.Web.ASPxRichEdit.Images.GWISprite.png DevExpress.Web.ASPxRichEdit.Images.sprite.png DevExpress.Web.ASPxRichEdit.Images.dt_WTSVGsprite.png DevExpress.Web.ASPxRichEdit.Images.reAnchor.png CreateInsertImageDialog get_SaveFileDialog set_SaveFileDialog get_SettingsSaveFileDialog CreateOpenFileDialog get_InsertPictureDialog set_InsertPictureDialog get_SettingsInsertPictureDialog get_InsertLinkDialog set_InsertLinkDialog get_SettingsInsertLinkDialog PrintDialog AddFontsToFontDialog get_CommandCallbackArg get_PerformCallbackArg DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorN.svg DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorNS.svg DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorS.svg DevExpress.Web.ASPxRichEdit.Images.SVGSprite.svg DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg DevExpress.Web.ASPxRichEdit.Images.startTableMark.svg DevExpress.Web.ASPxRichEdit.Images.SVGSpriteNew.svg DevExpress.Web.ASPxRichEdit.Images.WTSVGSpriteNew.svg DevExpress.Web.ASPxRichEdit.Images.reAutoScrollArrow.svg ForEach Inch CreateQuickSearch IsMatch set_Stretch get_Touch set_Touch ClipboardAccessDeniedTouch ClipboardAccessDeniedErrorTouch TextWrapThrough MenuCmd_Align_Paragraph get_Paragraph ExtendGoToEndParagraph RemoveWholeParagraph AddSpacingBeforeParagraph RemoveSpacingBeforeParagraph RemoveNumberingFromParagraph DeleteAllRunsInParagraph jsonParagraph InsertTabToParagraph AddNumberingListToParagraph GroupParagraph AddSpacingAfterParagraph RemoveSpacingAfterParagraph DeleteTabAtParagraph SelectParagraph ExtendGoToStartParagraph InsertParagraph get_KeepLastParagraph set_KeepLastParagraph keepLastParagraph InsertFirstParagraph NextParagraph FinishMerge_NewParagraph ModifyParagraph paragraph get_Word2003PasswordHash set_Word2003PasswordHash get_PasswordHash set_PasswordHash get_OpenOfficePasswordHash set_OpenOfficePasswordHash English GroupFinish finish SolidBrush CalculateBrush Math set_Path GetSpriteResourcePath ImagesResourcePath CssResourcePath ScriptsResourcePath GetDesignTimeResourceSpriteImagePath get_CssFilePath set_CssFilePath GetCurrentDocumentFilePath GetNewFilePath filePath get_AbsolutePath NormalizeRelativePath ResolvePhysicalPath GetFullPath get_RootFolderUrlPath set_RootFolderUrlPath get_GrammarPath set_GrammarPath fileLocatedFolderPath workingFolderPath GetImageResourcesFolderPath GetCssResourcesFolderPath get_AlphabetPath set_AlphabetPath get_DocumentPath GetCurrentDocumentPath documentPath get_DictionaryPath set_DictionaryPath CantSaveToEmptyPath Columns_Width get_Width set_Width get_DefaultTabWidth set_DefaultTabWidth ChangeDefaultTabWidth TableProperties_PreferredWidth get_PreferredWidth UpdatePreferredWidth PageWidth set_ImageWidth get_DefaultImageWidth ChangeFloatingObjectOutlineWidth outlineWidth Columns_EqualWidth ChangeTableCellWidth cellWidth PresetStyleItemWidth set_MinWidth TableFixedColumnWidth SetFixedColumnWidth RulerChangeTableColumnWidth set_BorderWidth set_SwitchToSingleColumnAtWindowInnerWidth get_ExtentWidth set_ExtentWidth set_MaxTextWidth get_DefaultMaxTextWidth width get_Length set_Length maxDataLength currChunkLength DefaultChunkLength MaxChunkLength maxChunkLength ErrorLength GetLength SetLength DocumentLength get_ContentLength DefaultRequestLength get_MaxRequestLength set_MaxRequestLength length get_With set_With FindReplace_ReplaceWith Numbering_FollowNumberWith StartsWith with get_Bidi gi get_Uri get_IgnoreUri set_IgnoreUri get_NavigateUri set_NavigateUri get_AbsoluteUri get_ItalicFontUri set_ItalicFontUri get_BoldItalicFontUri set_BoldItalicFontUri boldItalicFontUri italicFontUri get_BoldFontUri set_BoldFontUri boldFontUri get_RegularFontUri set_RegularFontUri regularFontUri get_IsSafari obj InsertPageBreak get_DontJustifyLinesEndingInSoftLineBreak InsertLineBreak InsertColumnBreak FloatingObjectSendToBack set_AutoPostBack get_IsPostBack add_Callback remove_Callback AsyncCallback get_IsCommandCallback IsInternalServiceCallback get_IsUploadImageCallback get_IsDialogCallback RaiseCustomCallback get_IsCustomCallback get_IsPerformCallback get_IsFileManagerCallback get_IsColumnsEditorCallback get_IsCallback DevExpress.Web.ASPxRichEdit.Internal.IRichEditFileManager.IsRichEditCallback DevExpress.Web.ASPxRichEdit.Internal.IRichEditFileManager.get_IsRichEditCallback DevExpress.Web.ASPxRichEdit.Internal.IRichEditFileManager.set_IsRichEditCallback EventCallback get_IsSymbolListCallback callback IsInternalUploadControlPostback get_Black SpellCheck IntervalsToCheck TextToCheck textToCheck SetRelativeLastRunIndexWithoutCheck get_HyperlinkClick set_HyperlinkClick set_ItemClick get_OpenHyperlinkOnClick set_OpenHyperlinkOnClick RegisterScriptBlock get_CanSeek CreateStyleLink DeleteStyleLink CreateLink Delete_Hyperlink get_Hyperlink get_FollowedHyperlink ChangeHyperlink RemoveHyperlink ClickHyperlink OpenHyperlink HoverHyperlink IsHyperlink EditHyperlink PushChunk jsonChunk NextChunk StartNewChunk get_TableLook set_TableLook ChangeTableLook InsertShiftTabMark InsertTabMark StartTableMark get_HideCellMark set_HideCellMark set_UseHideCellMark set_UseDoubleQuotesMark Hyperlink_Bookmark CreateBookmark DeleteBookmark GoToBookmark bookmark get_Mask oldMask GetNewMask mask get_Val set_Val LayoutOptions_Vertical BorderInsideVertical DrawingObjectRelativeFromVertical RulerVertical SetFormLayoutVertical InsertImage_FromLocal set_Modal PasteSpecial SetIndexInitial Tabs_Decimal get_ConvertPreviousLevelNumberingToDecimal set_ConvertPreviousLevelNumberingToDecimal CharacterFormattingScript_Normal PageMarginsNormal get_Ordinal DevExpress.Web.Internal DevExpress.Web.Office.Internal DevExpress.Drawing.Internal DevExpress.Utils.Localization.Internal DevExpress.XtraRichEdit.Commands.Internal DevExpress.Office.Utils.Internal DevExpress.Utils.Internal DevExpress.XtraRichEdit.Internal DevExpress.Web.ASPxRichEdit.Internal get_EnableClientSideAPIInternal set_EnableClientSideAPIInternal AddInternal get_ClientInstanceNameInternal set_ClientInstanceNameInternal DeleteInternal ExecuteInternal RemoveInternal get_LoadingPanelInternal DevExpress.Web.ASPxRichEdit.Internal.IRichEditSettings.BehaviorInternal DevExpress.Web.ASPxRichEdit.Internal.IRichEditSettings.get_BehaviorInternal RaiseCallbackErrorInternal get_ImagesInternal DevExpress.Web.ASPxRichEdit.Internal.IRichEditSettings.DocumentCapabilitiesInternal DevExpress.Web.ASPxRichEdit.Internal.IRichEditSettings.get_DocumentCapabilitiesInternal get_JSPropertiesInternal get_StylesInternal get_ClientSideEventsInternal General LayoutOptions_Horizontal BorderInsideHorizontal DrawingObjectRelativeFromHorizontal RulerHorizontal SequenceEqual op_GreaterThanOrEqual op_LessThanOrEqual JSONFixedInterval RunInterval SetInterval DocumentInterval CreateLabel get_EffectLabel set_EffectLabel get_ToBeClearedListLabel set_ToBeClearedListLabel get_PreviewTextLabel set_PreviewTextLabel ASPxLabel set_Cancel DevExpress.Office.Model DevExpress.XtraRichEdit.Model get_Model get_IsValidModel set_IsValidModel InsertToModel System.Collections.ObjectModel IDocumentModel get_DocumentModel set_DocumentModel PrepareDocumentModel fromDocumentModel MainDocumentModel mainDocumentModel jsonDocumentModel AddLinkedStyleToDocumentModel AddLinkedStylesToDocumentModel AddGridTableStylesToDocumentModel AddPlainTableStylesToDocumentModel ASPxDocumentModel initializeEmptyDocumentModel documentModel System.ComponentModel PerformModifyModel CanModifyModel model ASPxRoundPanel ASPxCollapsiblePanel get_WidthSpacingPanel set_WidthSpacingPanel get_LoadingPanel set_LoadingPanel CreateLoadingPanel get_HasLoadingPanel SettingsLoadingPanel get_QuickSearchPanel set_QuickSearchPanel CreateQuickSearchPanel get_MainPanel set_MainPanel get_PresetsPanel set_PresetsPanel GetChildDxRichEditPanel ASPxPanel SetParagraphHeading1Level SetParagraphHeading2Level SetParagraphHeading3Level SetParagraphHeading4Level SetParagraphHeading5Level SetParagraphHeading6Level SetParagraphHeading7Level SetParagraphHeading8Level SetParagraphHeading9Level Numbering_Level get_Level get_NestedLevel get_TableNestedLevel set_TableNestedLevel tableNestedLevel NumberingListReferenceLevel get_OutlineLevel set_OutlineLevel ChangeHeadingLevel GetCellByNestingLevel SetParagraphLevel get_MultiLevel set_MultiLevel NumberingMultiLevel jsonLevel SetLevel get_RelativeRestartLevel set_RelativeRestartLevel IListLevel ChangeIOverrideListLevel ModifyListLevel listLevel SetParagraphBodyTextLevel ListMultilevel TwipsInPixel fl get_EMail set_EMail Hyperlink_InvalidEmail OtherLabels_All get_All set_All FindAll FindReplace_ReplaceAll Spelling_ChangeAll Spelling_IgnoreAll SaveAll RemoveAll Tabs_ClearAll BorderShading_BordersAll SelectAll LockRaiseSavingCall UnlockRaiseSavingCall DevExpress.Web.ASPxRichEdit.v24.2.dll TableProperties_Cell ChangeTableCell CreateTableCell RemoveTableCell InitializeTableCell JSONEnumTableCell get_LayoutInTableCell set_LayoutInTableCell ExtendSelectTableCell InsertTableCell LayoutTableCell CanModifyTableCell ForEachCell jsonCell GetCell CreateSpinEditCell clientCell get_ParentCell get_FirstCell shiftNextCell CreateTextBoxCell cell BorderShading_Fill get_Fill set_Fill DrawingSolidFill IDrawingFill get_BlipFill DrawingBlipFill ArgumentNotNull System.Xml SafeXml OpenXml DevExpress.XtraRichEdit.Export.Html get_Html get_EncodeHtml set_EncodeHtml ToHtml ClientHtml InsertHtml Columns_Col get_TabSymbol set_TabSymbol HtBool IControl get_Control set_Control ASPxDataWebControl ASPxWebControl IUploadControl get_UploadControl set_UploadControl CreateUploadControl RichEditFileManagerUploadControl DevExpress.Web.ASPxRichEdit.Internal.IRichEditFileManager.GetUploadControl RichEditUploadControl ASPxUploadControl get_PageControl set_PageControl ASPxPageControl CreateControl TemplateControl IAutoSaveControl get_DialogControl set_DialogControl CreateDialogControl RichEditDialogControl GetCurrentDialogControl get_QuickSearchControl set_QuickSearchControl CreateQuickSearchControl RichEditQuickSearchControl SyncSettingWithControl RichEditLoadingPanelControl CreateDialogFromControl get_WidowOrphanControl set_WidowOrphanControl WebParagraphPropertiesWidowOrphanControl get_MainControl set_MainControl CreateMainControl RichEditMainControl get_RibbonControl set_RibbonControl CreateRibbonControl get_ExternalRibbonControl externalRibbonControl LookupRibbonControl GetRibbonControl OfficeWorkSessionControl AddTemplateToControl AssignToControl AddTabCollectionToControl AddContextCategoriesToControl CreatePopupControl ASPxPopupControl get_StatusBarControl set_StatusBarControl CreateStatusBarControl RichEditStatusBarControl statusBarControl PrepareUserControl IDialogUserControl RichEditDialogUserControl InitializeAsUserControl RegisterControl CreateColumnsEditorControl GetColumnsEditorControl IsControl System.Security.AccessControl get_RichEditControl set_RichEditControl CreateRichEditControl PopupControlContentControl CreateMenuControl CreatePopupMenuControl RichEditPopupMenuControl SetupMenuControl control ControlProviderImpl Hyperlink_Url get_Url set_Url GetResourceUrl get_ImageUrl InvalidImageUrl ResolveImageUrl IsAbsoluteUrl GetAbsoluteUrl imageLoadingUrl AddImageToCacheFromUrl InsertImage_EnterUrl ResolveClientUrl GetFontUrl url get_Hsl rtl get_Stream CanUseOriginalStream originalStream FillStream GetBytesFromStream get_IsStream GetImageBytesStream GetStream contentAccessorByStream MemoryStream stream get_Item set_Item UnsecureAddItem cacheItem RERParagraphStyleItem RERCharacterStyleItem CreateItem IRERInternalItem IRibbonInternalItem CollectionItem RibbonToggleButtonItem RibbonDropDownToggleButtonItem RibbonButtonItem RibbonDropDownButtonItem RibbonColorButtonItem RibbonGalleryBarItem FileManagerItem RegisterItem set_EnableAutomaticColorItem RibbonSpinEditItem ColorEditItem ListEditItem get_DefaultItem FastFindRibbonFontItem ToggleBulletedListItem ToggleNumberingListItem ToggleMultilevelListItem AddEmptyLayoutItem RichEditPopupMenuItem RibbonCheckBoxItem RibbonComboBoxItem RibbonGalleryItem ChangeTableBorderStyleRepositoryItem ChangeTableBorderWidthRepositoryItem ChangeTableBorderColorRepositoryItem AddFieldHistoryItem item System Trim GroupZoom FinishMerge_From get_From HtCopyFrom from BorderShading_BordersCustom get_Bottom set_Bottom TextWrapTopAndBottom set_PaddingBottom MarginBottom WrapTopBottom BorderBottom ShowInsertMergeFieldForm FindReplaceForm InsertImageForm ShowFinishAndMergeForm FinishMergeForm ShowInsertTableForm SaveFileForm OpenFileForm ShowServiceBorderShadingForm ShowBorderShadingForm SpellingForm get_CurrentDialogForm set_CurrentDialogForm currentDialogForm ShowParagraphForm ShowCreateHyperlinkForm ShowEditHyperlinkForm InsertHyperlinkForm ShowHyperlinkForm ShowBookmarkForm ShowSymbolForm ShowPageSetupForm ShowPagePaperSetupForm ShowPageMarginsSetupForm ShowColumnsSetupForm SelectFolderForm ShowSpellCheckerForm get_ColumnsEditorForm set_ColumnsEditorForm ShowTabsForm ShowTablePropertiesForm BookmarksForm ShowDeleteTableCellsForm ShowSplitTableCellsForm ShowInsertTableCellsForm ShowServiceSymbolsForm ColumnsForm MenuCmd_ShowCellOptionsForm ShowLayoutOptionsForm CreateDefaultForm ShowSaveMergedDocumentForm ShowServiceFontForm ShowFontForm AlertForm BulletedListForm SimpleNumberingListForm MultiLevelNumberingListForm ShowCustomNumberingListForm ShowNumberingListForm get_Platform BrowserPlatform Enum TableProperties_MeasureIn InstantiateIn ZoomIn get_RemoteStateStorageModeOn ToBoolean DefaultBoolean op_GreaterThan op_LessThan TimeSpan set_ColSpan get_ColumnSpan set_ColumnSpan set_RowSpan Pen get_Hidden set_Hidden ShowHidden get_Semihidden get_FullScreen set_FullScreen MenuCmd_ToggleFullScreen CancellationToken len get_Open set_Open FileOpen set_ShowPrintDialogOnOpen SetAsParentForAllChildren DifferentOddAndEven Tabs_EqualSign get_VerticalAlign set_VerticalAlign PopupAdaptiveVerticalAlign set_PopupVerticalAlign FormLayoutVerticalAlign get_HorizontalAlign set_HorizontalAlign PopupAdaptiveHorizontalAlign set_PopupHorizontalAlign FormLayoutHorizontalAlign DevExpress.Web.Design DevExpress.Utils.Design PageTableDesign Assign Min ChangeActiveSubDocumentToMain get_IsMain SeekOrigin set_Margin set_UseBottomMargin set_UseTopMargin set_UseLeftMargin set_UseRightMargin Join get_Latin TableProperties_Column ToggleBandedColumn ExtendSelectTableColumn SetSectionOneColumn DeleteCells_DeleteEntireColumn InsertCells_InsertEntireColumn TableProperties_PreviousColumn ToggleLastColumn ToggleFirstColumn TableProperties_NextColumn get_Ribbon OneLineRibbon CreateRibbon ActivateRibbon ExternalRibbon AddFontsToRibbon get_StylesRibbon stylesRibbon CreateDefaultRibbon RichEditDefaultRibbon ASPxRibbon ribbon CreateWrapPolygon wrapPolygon IsNotAllowedFileExtension GetFileExtension fileExtension GetFileNameWithoutExtension FillSpriteCssResourceNamesWithoutExtension spriteCssResourceNamesWithoutExtension get_Session SwitchSession IWorkSession get_WorkSession set_WorkSession EnsureWorkSession CloseWorkSession SerializeWorkSession DeserializeWorkSession OnControlDetachFromWorkSession AfterOpenWorkSession DevExpress.Web.Office.OfficeWorkSessionControl.AttachToWorkSession SaveAsWorkSession RichEditWorkSession CheckOutWorkSession CreateNewWorkSession IsNewWorkSession CloseTemporaryWorkSession workSession StoreGuidInSession GetGuidInSession StoreDictionaryInSession GetDictionaryInSession get_CurrentSession CloseCurrentSession set_ValidationExpression get_RegularExpression EditRangePermission rangePermission GetInfoForModification GetOptionsForModification get_IsModification get_Authentication authentication Bookmarks_Location set_Location topImageLocation leftImageLocation verticalCellLocation horizontalCellLocation LayoutItemCaptionLocation set_EnableCustomValidation PrepareNavigation GroupHeaderFooterToolsDesignNavigation SpellingCheckCompletedInformation get_SuppressHyphenation set_SuppressHyphenation Pagination IsValidOperation set_GroupBoxDecoration RichEditWorkSessionRegistration PrepareForScriptManagerRegistration get_FloatSaturation Indentation SetLandscapePageOrientation SetPortraitPageOrientation DevExpress.XtraRichEdit.API.Native.Implementation DevExpress.Office.Services.Implementation LayoutOptions_Rotation get_Rotation set_Rotation System.Globalization DevExpress.Web.Localization DevExpress.Office.Localization DevExpress.Utils.Localization DevExpress.XtraRichEdit.Localization DevExpress.Web.ASPxRichEdit.Localization RichEditLocalization System.Xml.Serialization HasClientInitialization get_EndSynchronization set_EndSynchronization get_BeginSynchronization set_BeginSynchronization ConflictNameAction set_CloseAction PopupMenuCloseAction saveAction set_PopupAction op_Subtraction JSONSection ShowDownloadSection get_ShowFileUploadSection set_ShowFileUploadSection IsLastParagraphOfSection IsFirstParagraphOfSection jsonSection ShowServerSection get_ShowEmailAddressSection set_ShowEmailAddressSection GetSection CanEditSection CurrentSection InsertSection NextSection FinishMerge_NewSection ModifySection PasteSelection CutSelection CopySelection System.Reflection ICollection get_PostDataCollection UpdateRibbonTabCollection RichEditRibbonTabCollection FieldCollection TabPageCollection SelectionRangeCollection TableCollection DocumentVariableCollection IAssignableCollection GetAllowedFileCollection ASPxRichEditFontMappingRuleCollection TableStyleCollection ParagraphStyleCollection CharacterStyleCollection CssStyleCollection NumberingListStyleCollection AttributeCollection NameValueCollection nameValueCollection ParagraphCollection BookmarkCollection get_PanelCollection TableCellCollection SyncRibbonControlCollection ContentControlCollection RibbonItemCollection ColorEditItemCollection ListEditItemCollection LayoutItemCollection RichEditPopupMenuItemCollection itemCollection RangePermissionCollection SectionCollection SuggestionCollection RibbonDropDownButtonCollection EditButtonCollection TextRunCollection get_AutoCorrectReplaceInfoCollection ASPxRichEditAutoCorrectReplaceInfoCollection HyperlinkInfoCollection ColumnInfoCollection RibbonGroupCollection HeaderCollection FooterCollection ThemeDrawingColorCollection GetSharedDictionariesCollection CreateItemsCollection ArgumentCollection get_ContentCollection get_FontCollection ASPxRichEditFontCollection fontCollection AbstractNumberingListCollection postCollection TableRowCollection SpellCheckerDictionaryCollection CreateContextTabCategoryCollection RichEditRibbonContextTabCategoryCollection collection ForwardDirection set_RepeatDirection RightDirection get_TextDirection set_TextDirection set_UseTextDirection get_RightToLeftTextDirection set_RightToLeftTextDirection section get_EnforceProtection set_EnforceProtection GroupDocumentProtection op_Addition LayoutOptions_Position get_Position set_Position EndPosition endPosition set_ImagePosition FloatingObjectDragDropChangePosition get_TablePosition set_TablePosition JSONEnumClientTablePosition tablePosition LayoutOptions_AbsolutePosition LayoutOptions_RelativePosition get_FloatingPosition TableFloatingPosition get_LogPosition set_LogPosition get_EndLogPosition get_DocumentEndLogPosition SetRelativeLogPosition GetRunLogPosition GetLogPosition DocumentLogPosition get_RunStartLogPosition get_DocumentStartLogPosition logPosition EndParagraphPosition StartParagraphPosition get_TableVerticalPosition set_TableVerticalPosition get_TableHorizontalPosition set_TableHorizontalPosition ToDocumentModelPosition EndCellPosition StartCellPosition GroupHeaderFooterToolsDesignPosition Tabs_TabStopPosition Numbering_NumberPosition get_CurrPosition Numbering_BulletPosition get_ActualIntPosition get_StartPosition ShiftTableStartPosition ParagraphStartPosition startPosition CreateInputPosition ModifyInputPosition Numbering_TextPosition set_ErrorTextPosition position get_Caption set_Caption InsertTableCaption InsertFigureCaption set_AutomaticColorItemCaption get_DefaultAutomaticColorItemCaption InsertEquationCaption InsertCaption set_ShowCaption showCaption get_Exception SpellCheckerWordAddedException DocumentCannotBeOpenedException NotImplementedException NotSupportedException DocumentCannotBeSavedException DocVariableException CalculateDocumentVariableException CantSaveToAlreadyOpenedFileException LoadPictureException PathTooLongException CantSaveToEmptyPathException AuthException AuthenticationException AccessViolationException add_InnerException remove_InnerException RaiseInnerException add_innerException remove_innerException InsertContentFromServerException CustomizeMergeFieldsException get_TablePropertiesException UnauthorizedAccessException add_InvalidFormatException RichEdit_InvalidFormatException UriFormatException ThrowArgumentException InsertContentToClientEventException HttpRequestException get_Description set_Description CreatePageFieldDescription CreateEmptyMergeFieldDescription CreateEmptyDocVariableFieldDescription CreateTimeFieldDescription CreateDateFieldDescription MenuCmd_CreateFieldDescription CreatePageCountFieldDescription MenuCmd_MakeTextSentenceCaseDescription MenuCmd_ShowCellOptionsFormDescription MenuCmd_ToggleFullScreenDescription MenuCmd_UpdateAllFieldsDescription BorderShading_BordersDescription MenuCmd_HeaderOffsetDescription MenuCmd_FooterOffsetDescription FontDescription get_ConflictNameResolution set_ConflictNameResolution get_VerticalResolution get_HorizontalResolution get_PasteLineBreakSubstitution set_PasteLineBreakSubstitution get_FontSubstitution get_UseFontSubstitution set_UseFontSubstitution GroupCommon StringComparison DownloadButton get_AddButton set_AddButton get_IgnoreOnceButton set_IgnoreOnceButton get_ChangeButton set_ChangeButton PrepareButton get_CloseButton set_CloseButton get_QuickSearchPanelCloseButton get_CollapseButton set_CollapseButton get_QuickSearchPanelCollapseButton CreateButton get_DeleteButton set_DeleteButton CreateDialogButton OkButton CancelButton get_ChangeAllButton set_ChangeAllButton get_IgnoreAllButton set_IgnoreAllButton get_ClearAllButton set_ClearAllButton OpenButton DevExpress.Web.Internal.Dialogs.IUploadControl.get_ShowClearFileSelectionButton DevExpress.Web.Internal.Dialogs.IUploadControl.set_ShowClearFileSelectionButton get_GoToButton set_GoToButton ASPxRadioButton get_ClearButton set_ClearButton CreateBorderButton SaveAsButton get_StylesButton stylesButton SelectButton get_SetButton set_SetButton CreatePresetButton EditButton set_DefaultButton InsertButton get_NextButton set_NextButton get_QuickSearchPanelNextButton get_PrevButton set_PrevButton get_QuickSearchPanelPrevButton ASPxButton get_AddToDictionaryButton set_AddToDictionaryButton button get_ShadingPattern set_ShadingPattern RequiredFieldValidationPattern RegularExpressionValidationPattern anchoredRun FieldCodeEndRun FieldResultEndRun InsertSimpleRun InsertAnchoredPictureRun InsertInlinePictureRun CreateRun EndNoteRun FootNoteRun EndnoteRun FootnoteRun ParagraphRun PushRun LineBreakRun NonBreakingHyphenRun OptionalHyphenRun SectionRun jsonRun DrawingObjectContainerRun NoteSeparatorRun NoteContinuationSeparatorRun get_CurrRun EmbeddedObjectRun InlineObjectRun DrawingObjectRun LayoutDependentRun FieldCodeStartRun InsertRun ImportRun NextRun InsertLayoutDependentTextRun ModifyTextRun CheckBoxRun InsertAnchoredTextBoxRun InlineTextBoxRun run ExtendLineDown BorderDiagonalDown get_PointerDown set_PointerDown InsertCells_ShiftCellsDown get_KeyDown set_KeyDown Unknown LayoutOptions_RelativeTo get_LinkTo set_LinkTo PrepareLinkTo Hyperlink_EmailTo Bookmarks_GoTo ApplyTo CopyTo Redo get_Undo set_Undo GroupUndo get_Info DefaultTabInfo JSONUpdateFieldCommandInfo JSONInsertFloatingObjectCommandInfo MethodInfo ASPxRichEditAutoCorrectReplaceInfo PageInfo AddImageInfo CacheImageInfo JSONInlinePictureCommandsImageInfo imageInfo JSONImageCacheInfo JSONPieceTableInfo JSONEnumClientTableInfo JSONUpdateFieldCommandDocVariableInfo ResponseFileInfo StyleInfo RestoreInfo GetCultureInfo get_LangInfo set_LangInfo SetTableCellPropertiesOptionUseShadingInfo SetShadingInfo PageNumberingInfo get_FloatingInfo DrawingObjectFloatingInfo TabFormattingInfo ParagraphFormattingInfo MergedCharacterFormattingInfo ExceptionDispatchInfo exceptionDispatchInfo RemoveHyperlinkInfo InsertHyperlinkInfo DrawingColorModelInfo ListLevelInfo JSONEnumClientTableCellInfo JSONEnumTableParentCellInfo GetDataColumnInfo GeneralSectionInfo GetTableByPositionInfo ObtainAffectedRunInfo FindRunInfo NoInfo charInfo IBorderInfo BrowserInfo AnchorInfo LoadPicturesInfo MarginsInfo ColumnsInfo columnsInfo WinToAspRunsInfo IDocumentInfo get_DocumentInfo set_DocumentInfo GetCreateDocumentInfo RichEditDocumentInfo documentInfo TTFontInfo get_FontInfo WebFontInfo LoadFontInfo set_UseFontInfo fontInfo JSONEnumClientTableRowInfo DrawingTextBodyInfo info LayoutOptions_LockAspectRatio get_LockAspectRatio set_LockAspectRatio get_MisspelledMemo set_MisspelledMemo ASPxMemo Zero get_Auto set_Auto ColumnsTwo ExtendLineUp BorderDiagonalUp get_PointerUp set_PointerUp DeleteCells_ShiftCellsUp get_KeyUp set_KeyUp UnderlineType_DashSmallGap SerializeImageActualIdToServerIdMap imageActualIdToServerIdMap get_ImageTmpIdToActualMap set_ImageTmpIdToActualMap DeserializeImageTmpIdToActualMap deserializeImageTmpIdToActualMap jsonToModelMap NamesMap _keyMap get_IsTableOverlap set_IsTableOverlap set_UseIsTableOverlap get_AllowOverlap set_AllowOverlap CreateTileBitmap get_NoWrap set_NoWrap set_UseNoWrap get_TextWrap set_TextWrap ApplyTextWrap textWrap Hyperlink_ToolTip get_ToolTip set_ToolTip GetToolTip get_DefaultToolTip get_Blip DrawingBlip SetClip get_CreateHyperlinkTooltip set_CreateHyperlinkTooltip DevExpress.Web.ASPxRichEdit.ASPxRichEdit.bmp get_Top set_Top MarginTop BorderTop get_Drop set_Drop prop System.Net.Http RERGroup get_Group set_Group RERBackgroundGroup get_BackgroundGroup CreateBackgroundGroup backgroundGroup RERClipboardGroup get_ClipboardGroup CreateClipboardGroup clipboardGroup RERCurrentRecordGroup get_CurrentRecordGroup CreateCurrentRecordGroup currentRecordGroup RERFloatingObjectsArrangeGroup get_FloatingObjectsArrangeGroup CreateFloatingObjectsArrangeGroup floatingObjectsArrangeGroup RERMergeGroup get_MergeGroup CreateMergeGroup RERFinishMailMergeGroup get_FinishMailMergeGroup CreateFinishMailMergeGroup finishMailMergeGroup mergeGroup RERTableGroup get_TableGroup CreateTableGroup tableGroup RERHeaderFooterCloseGroup get_HeaderFooterCloseGroup CreateHeaderFooterCloseGroup headerFooterCloseGroup CreateGroup RERCellSizeGroup get_CellSizeGroup CreateCellSizeGroup cellSizeGroup REREditingGroup get_EditingGroup CreateEditingGroup editingGroup RERParagraphGroup get_ParagraphGroup CreateParagraphGroup paragraphGroup get_BeginGroup set_BeginGroup beginGroup RibbonGroup set_ValidationGroup RERHeaderFooterNavigationGroup get_HeaderFooterNavigationGroup CreateHeaderFooterNavigationGroup headerFooterNavigationGroup RERHeaderFooterPositionGroup get_HeaderFooterPositionGroup CreateHeaderFooterPositionGroup headerFooterPositionGroup get_CommonGroup RERFileCommonGroup CreateFileCommonGroup commonGroup RERUndoGroup get_UndoGroup CreateUndoGroup undoGroup RERPageSetupGroup get_PageSetupGroup CreatePageSetupGroup pageSetupGroup RERHeaderAndFooterGroup get_HeaderAndFooterGroup CreateHeaderAndFooterGroup headerAndFooterGroup RERInsertFieldsGroup get_InsertFieldsGroup CreateInsertFieldsGroup insertFieldsGroup RERPagesGroup get_PagesGroup CreatePagesGroup pagesGroup RERTablesGroup get_TablesGroup CreateTablesGroup tablesGroup RERStylesGroup get_StylesGroup RERTableStylesGroup get_TableStylesGroup CreateTableStylesGroup tableStylesGroup RERFloatingObjectsShapeStylesGroup get_FloatingObjectsShapeStylesGroup CreateFloatingObjectsShapeStylesGroup floatingObjectsShapeStylesGroup CreateStylesGroup stylesGroup RERBordersAndShadingsGroup get_BordersAndShadingsGroup CreateBordersAndShadingsGroup bordersAndShadingsGroup RERLinksGroup get_LinksGroup CreateLinksGroup linksGroup RERSymbolsGroup get_SymbolsGroup CreateSymbolsGroup symbolsGroup CreateMarginsGroup RERRowAndColumnsGroup get_RowAndColumnsGroup CreateRowAndColumnsGroup rowAndColumnsGroup RERIllustrationsGroup get_IllustrationsGroup CreateIllustrationsGroup illustrationsGroup RERTableStyleOptionsGroup get_TableStyleOptionsGroup CreateTableStyleOptionsGroup tableStyleOptionsGroup RERHeaderFooterOptionsGroup get_HeaderFooterOptionsGroup CreateHeaderFooterOptionsGroup headerFooterOptionsGroup RERCaptionsGroup get_CaptionsGroup CreateCaptionsGroup captionsGroup get_EditorsGroup set_EditorsGroup RERTableOfContentsGroup get_TableOfContentsGroup CreateTableOfContentsGroup tableOfContentsGroup RERDocumentViewsGroup get_DocumentViewsGroup CreateDocumentViewsGroup documentViewsGroup RERAlignmentGroup get_AlignmentGroup CreateAlignmentGroup alignmentGroup PopulateContentGroup RERFontGroup get_FontGroup CreateFontGroup fontGroup AddLayoutGroup TabbedLayoutGroup RERTextGroup get_TextGroup CreateTextGroup textGroup RERViewGroup get_ViewGroup RERMailMergeViewGroup get_MailMergeViewGroup CreateMailMergeViewGroup mailMergeViewGroup CreateViewGroup viewGroup RERShowGroup get_ShowGroup CreateShowGroup showGroup group get_BrowsePopup set_BrowsePopup GroupPageSetup System.Linq CreateStatusBar get_LoadingPanelOnStatusBar get_StylesStatusBar stylesStatusBar get_ShowStatusBar set_ShowStatusBar <className>j__TPar <cssText>j__TPar DevExpress.Web.Internal.Dialogs.IFileManager.get_SettingsToolbar FileManagerSettingsToolbar Tabs_Clear get_UnicodeChar ToChar ContainsChar SaveToHibernationChamber hibernationChamber InsertPageNumber get_FirstPageNumber set_FirstPageNumber ConvertNumber get_Header set_Header GoToPageHeader set_UseHeader CreateHeader SectionHeader MenuCmd_Align_ParagraphDropDownHeader GoToHeader get_IsHeader InsertHeader JSONStylesGalleryHeader Tabs_Leader get_Leader StreamReader get_CallbackArgumentsReader set_CallbackArgumentsReader RichEditCallbackArgumentsReader TextReader IHashtableProvider ASPxperienceLicenseProvider get_ControlProvider set_ControlProvider CreateControlProvider DialogControlProvider GetControlProvider DataStringUriStreamProvider ICustomWebResourceHandlerProvider RichEditLocalizationCustomWebResourceHandlerProvider RichEditCustomWebResourceHandlerProvider SetActiveLocalizerProvider IColorProvider colorProvider IStyleSheetManagerImagesProvider IFormatProvider RichEditSpellCheckerCustomDictionaryProvider SpellCheckerDictionaryProvider ChunkedStringBuilder UriBuilder DevExpress.Web.Internal.LayoutBuilder IsCurrentFileLocatedBelowWorkingFolder set_InitialFolder IsNeedResetToInitialFolder get_DefaultFolder set_DefaultFolder get_RootFolder set_RootFolder ImagePlaceHolder WebFontInfoHolder get_FontsHolder set_FontsHolder fontsHolder holder IsMvcRender OnPreRender IsMvcResourcesRender sender ResFinder get_ZOrder set_ZOrder BinarySearchReverseOrder get_Border get_EmptyTableBorder emptyTableBorder get_InsideVerticalBorder set_UseInsideVerticalBorder get_TopLeftDiagonalBorder get_TopRightDiagonalBorder get_InsideHorizontalBorder set_UseInsideHorizontalBorder GetActualBottomCellBorder GetActualTopCellBorder GetActualLeftCellBorder GetActualRightCellBorder get_BottomBorder set_BottomBorder set_UseBottomBorder ToggleTableCellsBottomBorder get_BetweenBorder set_BetweenBorder ToggleTableCellNoBorder get_TopBorder set_TopBorder set_UseTopBorder ToggleTableCellsTopBorder get_LeftBorder set_LeftBorder set_UseLeftBorder ToggleTableCellsLeftBorder get_RightBorder set_RightBorder set_UseRightBorder ToggleTableCellsRightBorder DrawBorder border get_TextBuffer ChangeTextBuffer currChunkTextBuffer textBuffer set_BinaryBuffer get_Manager set_Manager UniqueIdManager get_DrawingObjectIdManager RichEditDownloadManager CommandManager commandManager ServiceManager ResourceManager resourceManager FontCacheManager IFileManager get_FileManager set_FileManager PrepareFileManager CreateFileManager GetDialogFileManager get_StylesFileManager stylesFileManager IRichEditFileManager ASPxFileManager fileManager DevExpress.Web.ASPxRichEdit.Internal.ISettingsWithExternalStateManager.StateManager IStateManager DevExpress.Web.ASPxRichEdit.Internal.ISettingsWithExternalStateManager.get_StateManager ISettingsWithExternalStateManager RichEditOptionsStateManager stateManager FontSizeManager get_StyleLinkManager DocumentModelCopySelectionManager CreateFolderManager RichEditFolderManager get_TableCellsManager RichEditSymbolsManager DocumentManager FontManager manager CharacterPropertiesMerger get_ShowDialogBoxLauncher set_ShowDialogBoxLauncher showDialogBoxLauncher get_KeepLinesTogether set_KeepLinesTogether AnchorInfoPropertyPercentOffsetXModifier AnchorInfoPropertyOffsetXModifier AnchorInfoPropertyPercentOffsetYModifier AnchorInfoPropertyOffsetYModifier WebCharacterPropertiesFontItalicModifier AnchorInfoPropertyIsBehindDocModifier WebParagraphPropertiesDivIdModifier TableRowPropertiesTableRowDivIdModifier AnchorInfoPropertyLockedModifier WebCharacterPropertiesFontBoldModifier SectionPropertiesPaperKindModifier SectionPropertiesSpaceModifier ListLevelPropertiesLegacySpaceModifier AnchorInfoPropertyBottomDistanceModifier AnchorInfoPropertyTopDistanceModifier AnchorInfoPropertyLeftDistanceModifier AnchorInfoPropertyRightDistanceModifier AnchorInfoPropertyWrapSideModifier ListLevelPropertiesTemplateCodeModifier SectionPropertiesDifferentFirstPageModifier WebCharacterPropertiesFontNameModifier SectionPageOrientationLandscapeModifier SectionPropertiesLandscapeModifier WebCharacterPropertiesFontUnderlineTypeModifier WebParagraphPropertiesLineSpacingTypeModifier AnchorInfoPropertyVerticalPositionTypeModifier AnchorInfoPropertyHorizontalPositionTypeModifier AnchorInfoPropertyWrapTypeModifier WebParagraphPropertiesFirstLineIndentTypeModifier SectionPropertiesStartTypeModifier WebCharacterPropertiesFontStrikeoutTypeModifier TablePropertiesLayoutTypeModifier TableRowPropertiesGridBeforeModifier WebParagraphPropertiesSpacingBeforeModifier TableRowPropertiesWidthBeforeModifier WebParagraphPropertiesPageBreakBeforeModifier ParagraphPropertiesUseValueBaseModifier RunCharacterPropertiesUseValueBaseModifier CreateModifier RunCharacterPropertiesUseValueModifier TablePropertiesTableStyleColBandSizeModifier TablePropertiesTableStyleRowBandSizeModifier WebCharacterPropertiesFontSizeModifier ListLevelPropertiesSuppressBulletResizeModifier WebCharacterPropertiesNoProofModifier WebParagraphPropertiesLineSpacingModifier WebParagraphPropertiesContextualSpacingModifier TablePropertiesCellSpacingModifier TableRowPropertiesCellSpacingModifier WebParagraphPropertiesBeforeAutoSpacingModifier WebParagraphPropertiesAfterAutoSpacingModifier TableCellPropertiesVerticalMergingModifier SectionPropertiesContinueNumberingModifier ListLevelPropertiesDisplayFormatStringModifier TablePropertiesPreferredWidthModifier TableCellPropertiesPreferredWidthModifier SectionPropertiesPageWidthModifier ShapeOutlineWidthModifier TableCellPropertiesHideCellMarkModifier TableRowPropertiesHideCellMarkModifier ListLevelPropertiesConvertPreviousLevelNumberingToDecimalModifier IntervalWithUseModelModifier ListLevelWithUseModelModifier WebParagraphPropertiesOutlineLevelModifier ListLevelPropertiesRelativeRestartLevelModifier SectionPropertiesMarginBottomModifier TableCellPropertiesColumnSpanModifier WebCharacterPropertiesHiddenModifier WebParagraphPropertiesSuppressHyphenationModifier TableCellPropertiesTextDirectionModifier WebCharacterPropertiesLangInfoModifier TablePropertiesShadingInfoModifier WebParagraphPropertiesShadingInfoModifier TableCellPropertiesShadingInfoModifier WebCharacterPropertiesShadingInfoModifier WebParagraphPropertiesBorderInfoModifier SectionPropertiesColumnsInfoModifier InlineObjectPropertiesLockAspectRatioModifier TablePropertiesIsTableOverlapModifier AnchorInfoPropertyAllowOverlapModifier TableCellPropertiesNoWrapModifier SectionPropertiesMarginTopModifier SectionPropertiesFirstPageNumberModifier TableRowPropertiesHeaderModifier AnchorInfoPropertyZOrderModifier WebParagraphPropertiesBottomBorderModifier WebParagraphPropertiesBetweenBorderModifier WebParagraphPropertiesTopBorderModifier WebParagraphPropertiesLeftBorderModifier WebParagraphPropertiesRightBorderModifier WebParagraphPropertiesKeepLinesTogetherModifier get_InnerModifier set_InnerModifier TableRowPropertiesGridAfterModifier WebParagraphPropertiesSpacingAfterModifier TableRowPropertiesWidthAfterModifier WebCharacterPropertiesUnderlineColorModifier ShapeOutlineColorModifier WebCharacterPropertiesForeColorModifier ShapeFillColorModifier WebParagraphPropertiesColorModifier WebCharacterPropertiesColorModifier WebCharacterPropertiesHighlightColorModifier WebCharacterPropertiesStrikeoutColorModifier ListLevelPropertiesSeparatorModifier WebParagraphPropertiesModifier IntervalParagraphPropertiesModifier ListLevelParagraphPropertiesModifier WebCharacterPropertiesModifier RunCharacterPropertiesModifier TablePropertiesTableLookTypesModifier InlineObjectPropertiesScaleRatesModifier TablePropertiesCellMarginsModifier TableCellPropertiesCellMarginsModifier SectionPropertiesEqualWidthColumnsModifier WebCharacterPropertiesAllCapsModifier WebCharacterPropertiesSmallCapsModifier WebParagraphPropertiesSuppressLineNumbersModifier TablePropertiesAvoidDoubleBordersModifier TablePropertiesBordersModifier TableCellPropertiesBordersModifier ListLevelPropertiesFormatModifier WebParagraphPropertiesFloatModifier SectionPropertiesHeaderOffsetModifier SectionPropertiesFooterOffsetModifier SectionPropertiesMarginLeftModifier WebParagraphPropertiesRightToLeftModifier SectionPropertiesMarginRightModifier SectionPropertiesPageHeightModifier TableRowPropertiesHeightModifier TableRowPropertiesCantSplitModifier WebParagraphPropertiesFirstLineIndentModifier TablePropertiesIndentModifier ListLevelPropertiesOriginalLeftIndentModifier WebParagraphPropertiesLeftIndentModifier WebParagraphPropertiesRightIndentModifier ListLevelPropertiesLegacyIndentModifier TableCellPropertiesVerticalAlignmentModifier AnchorInfoPropertyVerticalPositionAlignmentModifier AnchorInfoPropertyHorizontalPositionAlignmentModifier WebParagraphPropertiesAlignmentModifier ListLevelPropertiesAlignmentModifier TablePropertiesTableRowAlignmentModifier TableRowPropertiesTableRowAlignmentModifier SectionPropertiesColumnCountModifier WebCharacterPropertiesScriptModifier ListLevelIOverrideStartModifier ListLevelPropertiesStartModifier ListLevelIOverrideNewStartModifier ListLevelPropertiesSuppressRestartModifier WebParagraphPropertiesKeepWithNextModifier TableCellPropertiesFitTextModifier WebParagraphPropertiesShadingInfoIndexModifier ListLevelPropertiesLegacyModifier WebCharacterPropertiesUnderlineWordsOnlyModifier WebCharacterPropertiesStrikeoutWordsOnlyModifier CharacterPropertyModifier modifier ScriptMultiplier get_SpellChecker DevExpress.XtraSpellChecker WebSpellChecker WebRichEditSpellChecker DevExpress.Web.ASPxSpellChecker spellChecker PermissionChecker locker get_TabMarker set_TabMarker PageUnloadHandler AddHandler CreateStyleHandler GetStyleHandler RemoveHandler AddErrorForHandler ClearErrorForHandler HttpClientHandler RichEditCommandDiagnosticEventHandler FileManagerFileUploadEventHandler WordAddedEventHandler PdfExportedEventHandler RepeatedWordFoundEventHandler NotInDictionaryWordFoundEventHandler CalculateDocumentVariableEventHandler FileManagerItemRenameEventHandler FileManagerFolderCreateEventHandler FileManagerItemDeleteEventHandler FileManagerItemMoveEventHandler DocumentSavingEventHandler RichEditInvalidFormatExceptionEventHandler CustomizeMergeFieldsEventHandler CustomJSPropertiesEventHandler GetEventHandler SetEventHandler InsertContentToClientEventHandler FileManagerCloudProviderRequestEventHandler FileManagerItemCopyEventHandler handler get_MailMergeDataController RichEditSpellCheckerController DeleteTabRuler MoveTabRuler InsertTabRuler get_HorizontalRuler get_HiddenHorizontalRuler ToggleShowHorizontalRuler horizontalRuler get_ImagesRuler imagesRuler get_StylesRuler stylesRuler IControlDesigner INamingContainer get_HasLoadingPanelContainer destinationContainer get_FolderContainer ICharacterPropertiesContainer IDrawingObjectContainer GetContainer DocumentContentContainer documentContentContainer container get_Owner set_Owner ISkinOwner IParentSkinOwner set_ParentSkinOwner skinOwner IRibbonOwner IInnerRichEditDocumentServerOwner IPropertiesOwner IDialogUtilsOwner owner Paper ClientIDHelper DXImageHelper get_ImageHelper RichEditDownloadImageHelper InternalOfficeImageHelper imageHelper ImageCacheHelper MasterDetailHelper FindControlHelper RichEditRibbonHelper OfficeRegistrationHelper ColorHelper get_RibbonImagesHelper CreateRichEditRibbonImagesHelper ribbonImagesHelper RichEditPresetStylesHelper RichEditDialogsHelper JSONImportHelper ExportHelper DocumentRequestHelper DefaultNumberingListHelper RichEditSpellCheckerCustomDictionaryHelper get_QuickSearchPanelWrapper set_QuickSearchPanelWrapper BorderWrapper get_FormLayoutWrapper set_FormLayoutWrapper ModelPreparer modelPreparer StringComparer DevExpress.XtraSpellChecker.Parser get_Browser PrintBrowser PrintPreviewBrowser Numbering_Character Numbering_TabCharacter ExtendPreviousCharacter Numbering_BulletCharacter ExtendNextCharacter Centimeter get_GridAfter set_GridAfter get_SpacingAfter set_SpacingAfter get_WidthAfter GetAwaiter StringWriter TextWriter Enter Numbering_Center Tabs_Center TableCellAlignMiddleCenter AlignFloatingObjectMiddleCenter TableCellAlignBottomCenter AlignFloatingObjectBottomCenter AlignCenter TableCellAlignTopCenter AlignFloatingObjectTopCenter ToggleParagraphAlignmentCenter RichEditStylePainter SubDocumentsCounter PageHeaderAndFooter CloseHeaderAndFooter GoToPageFooter CreateFooter SectionFooter GoToFooter ClosePageHeaderFooter GoToPreviousPageHeaderFooter GoToNextPageHeaderFooter GroupHeaderFooter GoToPreviousHeaderFooter ImportHeaderFooter GoToNextHeaderFooter get_IsFooter InsertFooter CreateConverter PositionConverter OrdinalBasedNumberConverter get_UnitConverter DocumentModelUnitConverter DocumentLayoutUnitConverter DocumentLayoutUnitDocumentConverter StringArrayConverter MainStructuresImporter ColorHSLExporter FieldExporter ImageCacheExporter PieceTableExporter TableStyleExporter ParagraphStyleExporter TableConditionalStyleExporter CharacterStyleExporter NumberingListStyleExporter ShapeExporter StyleBaseExporter paragraphFormattingBaseExporter charFormattingBaseExporter characterFormattingBaseExporter RunBaseExporter BorderBaseExporter PictureSizeExporter IntSizeExporter AnchorTextBoxSizeExporter ParagraphFormattingExporter ListLevelFormattingExporter get_CharacterFormattingExporter set_CharacterFormattingExporter ParagraphExporter ChunkExporter BookmarkExporter DocumentModelExporter NumberingListReferenceLevelExporter NumberingOverrideListLevelExporter NumberingListLevelExporter TableCellExporter RangePermissionExporter SectionExporter ThemeDrawingColorCollectionExporter FieldCodeEndRunExporter FieldResultEndRunExporter AnchoredPictureRunExporter DrawingObjectInlinePictureRunExporter EndNoteRunExporter FootNoteRunExporter ParagraphRunExporter SectionRunExporter NoteSeparatorRunExporter NoteContinuationSeparatorRunExporter FieldCodeStartRunExporter LayoutDependentTextRunExporter AnchoredTextBoxRunExporter InlineTextBoxRunExporter PushHashtableToExporter TabInfoExporter LangInfoExporter ShadingInfoExporter ParagraphFormattingInfoExporter CharacterFormattingInfoExporter DrawingColorModelInfoExporter ColumnInfoExporter BorderInfoExporter AnchorInfoExporter HeaderExporter FooterExporter ScRGBColorExporter DrawingColorExporter TabPropertiesExporter TablePropertiesExporter ListLevelPropertiesExporter TableCellPropertiesExporter SectionPropertiesExporter ProtectionPropertiesExporter NonVisualDrawingObjectPropertiesExporter DocumentPropertiesExporter TableRowPropertiesExporter AnchorTextBoxPropertiesExporter TableBaseConditionalStylesExporter CompatibilitySettingsExporter ParagraphsExporter TableCellMarginsExporter ControlOptionsExporter AuthenticationOptionsExporter SpellCheckerOptionsExporter RichEditBehaviorOptionsExporter DocumentCapabilitiesOptionsExporter ExportOptionsExporter charPropsExporter parPropsExporter TableBordersExporter TableCellBordersExporter PalleteCollorsExporter GetExporter getExporter WidthUnitExporter HeightUnitExporter DocumentExporter AbstractNumberingListExporter TableRowExporter Register ForceSyncWithServer InsertContentFromServer SaveToServer CreateInnerServer ASPxInternalRichEditDocumentServer ASPxInnerRichEditDocumentServer ToLower CreateResXLocalizer OfficeLocalizer ASPxperienceLocalizer ASPxRichEditResourcesLocalizer RichEditExtensionsLocalizer ASPxEditorsLocalizer XtraRichEditLocalizer ASPxRichEditLocalizer DictionarySerializer get_Anchor set_Anchor LayoutOptions_LockAnchor get_VerticalAnchor set_VerticalAnchor get_HorizontalAnchor set_HorizontalAnchor get_Behavior behavior ScRGBColor DXColor get_Color set_Color GetRgbColor set_AutomaticColor get_DefaultAutomaticColor GetTableCellChangeTypeBackgroundColor SetCellBackgroundColor mediumBackgroundColor GetBackgroundColor backgroundColor ChangePageColor get_SchemeColor UnderlineColor get_OutlineColor set_OutlineColor ChangeFloatingObjectOutlineColor outlineColor set_ForeColor charForeColor GetForeColor ChangeFontForeColor enumValueColor ShouldSerializeColor ShadingColor DrawingColor get_BackColor get_PageBackColor set_PageBackColor ChangeParagraphBackColor paragraphBackColor GetBackColor ChangeFontBackColor darkColor get_FinalColor CalculateActualColor RERChangeFloatingObjectFillColor fillColor get_SystemColor PenColor SetBorderInfoColor mediumBorderColor GetBorderColor SetBorderColor get_BracketsColor set_BracketsColor get_HighlightBracketsColor set_HighlightBracketsColor defaultHighlightBracketsColor GetColor ResetColor get_HighlightColor set_HighlightColor defaultHighlightColor get_DefaultColor defaultColor convertToClientColor IsTransparentColor FontColor StrikeoutColor TextColor SetBorderInfoEmptyColor color ModelIsChangedError ClipboardAccessDeniedError SessionHasExpiredError RequiredFieldError OpeningAndOverstoreImpossibleError LoadPictureError JSONResponseError responseError ImageFileSizeError ChangeSpellingError IgnoreSpellingError CantSaveToEmptyPathError InternalError set_SetFocusOnError DocVariableExceptionError InsertContentFromServerExceptionError AuthExceptionsError InnerExceptionsError InvalidDocumentFormatError CantSaveDocumentError CantOpenDocumentError DocumentModelAccessor DrawingObjectPropertiesAccessor RibbonObjectCreator ColorTranslator ParagraphFormattingChangeActionsCalculator CharacterFormattingChangeActionsCalculator TableCellChangeActionsCalculator TableFloatingPositionChangeActionsCalculator BorderChangeActionsCalculator TableGeneralSettingsChangeActionsCalculator TableRowChangeActionsCalculator TextRunDeterminator get_Separator set_Separator IEnumerator paragraphsEnumerator chunksEnumerator sectionsEnumerator runsEnumerator System.Collections.Generic.IEnumerable<T>.GetEnumerator System.Collections.IEnumerable.GetEnumerator IDictionaryEnumerator MainIterator runIterator RunsIterator Activator .ctor get_MinZoomFactor set_MinZoomFactor get_DefaultMinZoomFactor get_MaxZoomFactor set_MaxZoomFactor get_DefaultMaxZoomFactor .cctor get_SettingsDocumentSelector settingsDocumentSelector ChunkCollector get_UnsafeEditor CreateEditor UnsafeDocumentModelEditor Monitor GetFontDescriptor HtmlConvertor UploadControlUrlParametr str SaveFileAs get_SaveAs set_SaveAs FileSaveAs get_Tabs clearExistingTabs get_ParagraphTabs set_ParagraphTabs get_RibbonTabs CreateRibbonTabs get_DefaultRibbonTabs CreateDefaultRibbonTabs defaultRibbonTabs ribbonTabs jsonTabs SetOwnTabs Tabs_NoTabs GetTabs SetTabs get_ShowTabs set_ShowTabs tabs Graphics System.Diagnostics get_LoadedPieceTableIds set_LoadedPieceTableIds deserializeLoadedPieceTableIds loadedPieceTableIds DecrementServerIds DevExpress.XtraRichEdit.Fields InsertMergeField_Fields get_Fields set_Fields add_CustomizeMergeFields remove_CustomizeMergeFields RaiseCustomizeMergeFields set_UpdateFields ToggleAllFields MenuCmd_UpdateAllFields ClearControlFields InsertMergeField_NoFields GroupInsertFields fields ExecuteCommands ApplyRequestCommands commands get_ExtendedBounds styleImageBounds imageBounds get_ClipBounds get_IgnoreRepeatedWords set_IgnoreRepeatedWords get_IgnoreMixedCaseWords set_IgnoreMixedCaseWords get_IgnoreUpperCaseWords set_IgnoreUpperCaseWords FinishMerge_AllRecords set_DecimalPlaces HasWhitespaces ResetCachedIndices DevExpress.Office.Services DevExpress.XtraRichEdit.Services System.Runtime.ExceptionServices System.Runtime.InteropServices System.Runtime.CompilerServices PageReferences System.Resources DevExpress.Security.Resources GetStringResources DevExpress.Web.ASPxRichEdit.LocalizationRes.resources LayoutOptions_BothSides ToggleFieldCodes ToggleAllFieldCodes ShowAllFieldCodes DebuggingModes get_TabPages DifferentOddEvenPages get_DifferentOddAndEvenPages set_DifferentOddAndEvenPages ChangeDifferentOddAndEvenPages ToggleDifferentOddAndEvenPages GroupPages DevExpress.Web.Internal.Dialogs.IFileManager.get_Images set_EmbedImages CreateImages get_SupportSvgImages CreateRibbonImages ControlRibbonImages RichEditRibbonImages get_IconImages CreateIconImages RichEditIconImages iconImages FileManagerImages CreateRulerImages RichEditRulerImages DevExpress.Web.Internal.IStyleSheetManagerImagesProvider.GetImages RichEditImages get_ConfirmOnLosingChanges set_ConfirmOnLosingChanges get_ShowConfirmOnLosingChanges set_ShowConfirmOnLosingChanges get_TrackChanges set_TrackChanges get_WebCaches set_WebCaches webCaches getAllCaches FindReplace_NoMatches CreateDocumentFormatsDependecies RichEditDocumentFormatsDependecies get_DocumentFormatsDependencies dependencies get_Dictionaries DictionaryOfCustomDictionaries RichEditSpellCheckerCustomDictionaries dictionaries get_Categories get_ContextTabCategories get_RibbonContextTabCategories get_DefaultRibbonContextTabCategories CreateDefaultRibbonContextTabCategories ribbonContextTabCategories InitializeCategories clearExistingCategories FillCategories defaultContextCategories contextCategories categories WorkSessionFactories get_DocumentCapabilities documentCapabilities get_JSProperties add_CustomJSProperties remove_CustomJSProperties get_Properties set_Properties ApplyTabProperties tabProperties SetBasicProperties get_MergedProperties GetDefaultLoadingImageProperties GetLoadingPanelImageProperties RibbonItemImageProperties GetRibbonImageProperties CheckedButtonImageProperties GetImageProperties imageProperties get_TableProperties get_DefaultTableProperties get_ConditionalStyleProperties TableConditionalStyleProperties get_GraphicFrameProperties NonVisualGraphicFrameProperties get_ShapeProperties get_DrawingShapeProperties NonVisualDrawingShapeProperties get_SpriteProperties ImageSpriteProperties ApplyParagraphNumberingProperties nonVisualDrawingProperties get_ParagraphProperties ChangeParagraphProperties ChangeListLevelParagraphProperties ApplyHashtableToParagraphProperties get_DefaultParagraphProperties ModifyParagraphProperties ApplyParagraphProperties get_ListLevelProperties ChangeListLevelProperties ModifyListLevelProperties get_TableCellProperties GetTableCellProperties get_DefaultTableCellProperties SymbolProperties ChangeSectionProperties ApplySectionProperties get_ProtectionProperties DocumentProtectionProperties ApplyRunProperties SetAnchorInfoProperties get_ContainerProperties DrawingObjectContainerProperties get_CharacterProperties MergedCharacterProperties ChangeCharacterProperties ChangeListLevelCharacterProperties ApplyHashtableToCharacterProperties get_DefaultCharacterProperties GetMergedWithDefaultCharacterProperties ModifyCharacterProperties characterProperties EventCustomJsProperties TabsProperties SymbolsProperties ChangeInlineObjectProperties get_DrawingObjectProperties JSONNonVisualDrawingObjectProperties AppendRibbonToCreateClientObjectProperties GetCreateClientObjectProperties RibbonSpinEditProperties DocumentProperties get_TableRowProperties get_DefaultTableRowProperties RibbonComboBoxProperties JSONTextBoxProperties ChangeTextBoxProperties Hyperlink_DisplayProperties get_BodyProperties DrawingTextBodyProperties CopyProperties RibbonDropDownGalleryProperties properties Scales ContextItem_Tables get_Tables set_Tables AddPieceTables AddUnreferencedPieceTables AdditionalPieceTables additionalPieceTables allPieceTables jsonPieceTables get_CountIdForPieceTables get_TextBoxesPieceTables set_TextBoxesPieceTables GetPieceTables AddEmptyPieceTables pieceTables set_FloatingTables FinishMerge_JoinTables GroupTables get_Variables ImportPiecetables RegisterIconSpriteCssFiles GetDialogTitles GetRulerTitles get_Rules rules DevExpress.Web.Internal.Dialogs.IFileManager.get_Styles get_TableStyles PopulateTableStyles existingTableStyles GroupTableToolsDesignTableStyles get_PresetTableStyles presetTableStyles GroupFloatingPictureToolsShapeStyles GroupFloatingObjectsShapeStyles ReviseStyles CreateStyles get_ParagraphStyles PopulateParagraphStyles existingParagraphStyles get_PresetParagraphStyles presetParagraphStyles originalStyles ConditionalStyles ButtonControlStyles PopupControlStyles RichEditDialogFormStyles RichEditRibbonStyles jsonStyles RichEditButtonStyles GroupStyles RichEditStatusBarStyles RichEditFileManagerStyles CreateRulerStyles GetRulerStyles RichEditRulerStyles get_CharacterStyles PopulateCharacterStyles existingCharacterStyles get_PresetCharacterStyles presetCharacterStyles EditorStyles RichEditEditorsStyles ToHashtablePresetStyles PopulatePresetStyles RichEditStyles set_ParentStyles get_NumberingListStyles RichEditMenuStyles styles get_MergeFieldNames set_MergeFieldNames GetMergeFieldNames FillDesignTimeSpriteImageResourceNames designTimeSpriteImageResourceNames get_SpriteNames InitializeSpriteNames get_CaseSensitiveNames set_CaseSensitiveNames get_CbBookmarkNames set_CbBookmarkNames get_MergeFieldsNames GetLocalizedPresetStylesNames GetNames AddEventNames GetFontFamilyNames names get_ParagraphFrames set_ParagraphFrames AllowedURISchemes get_AllowedHyperlinkUriSchemes set_AllowedHyperlinkUriSchemes ToggleShowTableGridLines spacing_1_5_lines ViewTableGridlines get_InlineShapes set_InlineShapes ignoredCommandTypes get_StyleTypes ConditionalTableStyleFormattingTypes TableLookTypes RegisterKnownTypes VerticalAnchorTypes HorizontalAnchorTypes InsertTableOfFigures set_AvailableItemsFeatures get_InlinePictures set_InlinePictures UpdateInlinePictures GetCorrespondenceTableForPictures get_NumberingListTemplates set_NumberingListTemplates AbstractNumberingListTemplates get_EndNotes set_EndNotes get_FootNotes set_FootNotes get_Attributes GetStyleAttributes AssignAttributes GetImageBytes getImageBytes get_FileBytes convertVectorImageToBytes HtBytes GetBytes contentAccessorByBytes get_Values get_ComplexUseValues set_ComplexUseValues useValues SchemeColorValues SystemColorValues GetValues values GetChildFieldIndexes comboBoxes get_KeepDefaultSizes GetPredefinedFontSizes ImageFlags MenuSamplesFlags get_FormatFlags set_FormatFlags StringFormatFlags GroupTableToolsDesignBordersAndShadings get_Paddings ASPxRichEditSimpleViewPaddings paddings PageMailings DevExpress.Web.Internal.Dialogs.IFileManager.get_Settings set_Settings ApplySpecificSettings get_UploadSettings CreateUploadSettings RichEditDocumentSelectorUploadSettings uploadSettings ASPxRichEditCharacterFormattingDetailedSettings RegisterChildSettings childSettings CreateDataSourceSettings azureSettings GetPdfSettings get_MappingSettings ASPxRichEditFontMappingSettings mappingSettings ASPxRichEditNumberingSettings get_EditingSettings CreateEditingSettings RichEditFileManagerEditingSettings editingSettings GetPrintingSettings ASPxRichEditPrintingSettings CreateSaveFileDialogSettings RichEditSaveFileDialogSettings CreateInsertPictureDialogSettings RichEditInsertPictureDialogSettings CreateInsertLinkDialogSettings RichEditInsertLinkDialogSettings RichEditDialogSettings ASPxRichEditBookmarkSettings ASPxRichEditInternalSettings internalSettings get_GeneralSettings TableGeneralSettings SectionGeneralSettings LayoutGroupItemSettings SyncWorkSessionSettings get_PermissionSettings ASPxRichEditRangePermissionSettings permissionSettings ASPxRichEditAuthenticationSettings DevExpress.Web.Internal.Dialogs.IUploadControl.get_ValidationSettings CreateValidationSettings UploadControlValidationSettings SetupValidationSettings RichEditFileManagerValidationSettings validationSettings get_ReplaceInfoCollectionSettings ASPxRichEditAutoCorrectReplaceInfoCollectionSettings GetDocumentProtectionSettings get_CaptionSettings LayoutItemCaptionSettings get_CommonSettings CreateCommonSettings RichEditFileManagerCommonSettings RichEditDocumentSelectorCommonSettings ApplyCommonSettings commonSettings amazonSettings get_ToolbarSettings CreateToolbarSettings toolbarSettings CreateAzureProviderSettings FileManagerAzureProviderSettings CreateAmazonProviderSettings FileManagerAmazonProviderSettings CreateDropBoxProviderSettings FileManagerDropBoxProviderSettings FileManagerSettings ASPxRichEditSpellCheckerSettings ASPxRichEditHorizontalRulerSettings ASPxRichEditBehaviorSettings CreateDocumentSelectorSettings RichEditDocumentSelectorSettings GetFieldsSettings ASPxRichEditFieldsSettings ASPxRichEditDocumentCapabilitiesSettings GetBookmarksSettings RulerSectionColumnsSettings CreatePermissionsSettings get_FoldersSettings CreateFoldersSettings RichEditFileManagerFoldersSettings foldersSettings AccessSettings GetFontsSettings GetViewsSettings ASPxRichEditViewsSettings ASPxRichEditAutoCorrectSettings SetSettings IRichEditSettings ASPxRichEditSettings AutoSaveDefaultSettings SetupDefaultSettings GetSpellCheckerClientSettings GetRulerClientSettings GetAutoCorrectClientSettings get_DocumentSettings ASPxRichEditFontSettings ASPxRichEditExportSettings ASPxRichEditPlainTextExportSettings get_FileListSettings CreateFileListSettings fileListSettings SetupDefaultListSettings ASPxRichEditSimpleViewSettings simpleViewSettings exSettings dropboxSettings get_CompatibilitySettings BackwardCompatibilitySettings PopupControlAdaptivitySettings FormLayoutAdaptivitySettings MenuCmd_Font_settings DevExpress.Web.Internal.Dialogs CreateDialogs get_SettingsDialogs settingsDialogs get_CallbackArgs set_CallbackArgs callbackArgs RichEditCommandDiagnosticEventArgs FileManagerFileUploadEventArgs WordAddedEventArgs PdfExportedEventArgs RepeatedWordFoundEventArgs NotInDictionaryWordFoundEventArgs CalculateDocumentVariableEventArgs FileManagerItemRenameEventArgs FileManagerFolderCreateEventArgs FileManagerItemDeleteEventArgs FileUploadCompleteEventArgs FileManagerItemMoveEventArgs DocumentSavingEventArgs RichEditInvalidFormatExceptionEventArgs CustomizeMergeFieldsEventArgs InsertContentToClientEventArgs FileManagerCloudProviderRequestEventArgs FileManagerItemCopyEventArgs args get_Paragraphs set_Paragraphs MergeParagraphs DeleteParagraphs DeleteNumerationFromParagraphs jsonParagraphs InsertNumerationToParagraphs <>4__this DevExpress.Web.ASPxRichEdit.Scripts.Compiled.js DevExpress.Web.ASPxRichEdit.Scripts.UploadControl.js DevExpress.Web.ASPxRichEdit.Scripts.FileManagerUploadControl.js DevExpress.Web.ASPxRichEdit.Scripts.Localization.js DevExpress.Web.ASPxRichEdit.Scripts.FileManager.js DevExpress.Web.ASPxRichEdit.Scripts.FolderManager.js DevExpress.Web.ASPxRichEdit.Scripts.RichEditCustomResources.js DevExpress.Web.ASPxRichEdit.Scripts.PdfKit.js get_Locks RegisterScriptBlocks RegisterLocalizationResourcesAsScriptBlocks RegisterCustomWebResourceHandlersAsScriptBlocks GroupLinks get_Hyperlinks set_Hyperlinks RemoveHyperlinks get_Chunks set_Chunks jsonChunks get_Bookmarks set_Bookmarks DeleteBookmarks get_DisplayUnreferencedPdfBookmarks set_DisplayUnreferencedPdfBookmarks Bookmarks_NoBookmarks GetBookmarks bookmarks get_Watermarks set_Watermarks System.Threading.Tasks get_CorrectTwoInitialCapitals set_CorrectTwoInitialCapitals DeepEquals CheckedIntervals GetDialogOtherLabels GetChildDxRichEditPanels get_Levels getLevels get_SizeInPixels ModelUnitsToPixels get_IgnoreEmails set_IgnoreEmails DevExpress.Data.Utils DevExpress.Office.Utils DevExpress.Utils DevExpress.XtraRichEdit.Utils DataUtils OfficeUtils FileUtils LicenseUtils ViewStateUtils IDialogUtils get_DialogUtils CreateDialogUtils DevExpress.Web.FormLayout.Internal.RuntimeHelpers.IDialogUtilsOwner.GetDialogUtils RichEditDialogUtils dialogUtils MathUtils UrlUtils CommonUtils HttpUtils RenderUtils ScalableObjectUtils AccessibilityUtils get_Cells SplitCells_MergeCells MergeTableCells DeleteTableCells SplitTableCells InsertTableCells nls GroupSymbols RichEditDiagnosticTools DevExpress.Utils.Controls get_Controls System.Web.UI.WebControls PrepareChildControls EnsureChildControls CreateChildControls PopulateBottomItemControls relatedInnerControls get_ContentControls set_ContentControls controls get_DetectUrls set_DetectUrls ServerParams GetInitParams FindReplace_Items get_Items InitNumberStyleItems CreateSpellingItems InitLevelItems FillItems InitFollowNumberItems get_SettingsItems InitNumberFormatItems GetItems get_DefaultItems CreateDefaultItems CreateTouchMenuItems CreateDesktopMenuItems GetSpellingPopupMenuItems GetPopupMenuItems items Algorithms DevExpress.Web.ASPxRichEdit.Forms Tabs_Hyphens Contains get_Margins SetWideSectionPageMargins SetModerateSectionPageMargins SetNormalSectionPageMargins SetSectionPageMargins SetNarrowSectionPageMargins CellOptions_CellMargins get_CellMargins TableCellMargins TableOptions_DefaultCellMargins cellMargins SectionMargins JSONTextBoxContentMargins get_Columns GroupTableToolsLayoutRowsAndColumns SetSectionThreeColumns DeleteTableColumns InsertTable_NumberOfColumns Columns_NumberOfColumns get_EqualWidthColumns set_EqualWidthColumns SectionColumns SetSectionTwoColumns set_RepeatColumns GetColumns SetColumns LeftColumns RightColumns get_UseSvgTagToRenderSvgIcons get_ShowLockedFolderIcons set_ShowLockedFolderIcons GetDefaultShowLockedFolderIcons DefaultAllowedExtensions get_AllowedFileExtensions set_AllowedFileExtensions ShouldSerializeAllowedFileExtensions ResetAllowedFileExtensions GetDefaultAllowedFileExtensions EnvironmentExtensions WorkSessions System.Text.RegularExpressions get_RangePermissions rangePermissions DevExpress.Web.Internal.Dialogs.IFileManager.get_SettingsPermissions FileManagerSettingsPermissions GetUnitAbbreviations GroupIllustrations InsertTableOfEquations get_MathEquations set_MathEquations CalculateChangeActions DocumentModelChangeActions get_Sections set_Sections SelectedSections MergeSections DeleteSections ShowAllSections jsonSections System.Collections InsertImage_UploadInstructions JSONOptions TableProperties_Options get_Options CreateCharacterFormattingDetailedOptions get_FieldOptions SendMethodOptions get_MailMergeOptions CreateMailMergeOptions RichEditMailMergeOptions mailMergeOptions GroupTableToolsDesignTableStyleOptions get_LayoutEngineOptions BaseOptions get_DocumentSaveOptions documentSaveOptions CreateNumberingOptions PrintingOptions ParagraphFormattingOptions CharacterFormattingOptions BookmarkOptions GroupHeaderFooterToolsDesignOptions RangePermissionOptions AuthenticationOptions FontSubstitutionOptions HorizontalRulerOptions HtmlDocumentExporterOptions PlainTextDocumentExporterOptions get_BehaviorOptions set_BehaviorOptions IRichEditBehaviorOptions DocumentCapabilitiesOptions TablePropertiesOptions TableCellPropertiesOptions TableRowPropertiesOptions AutoCorrectOptions StringSplitOptions GetMailMergeClientOptions CommentOptions PdfExportOptions pdfExportOptions RichEditDocumentExportOptions FloatingObjectLayoutOptions InsertTableOfCaptions GroupCaptions throwExceptions options Spelling_Suggestions get_Suggestions Spelling_NoSpellingSuggestions get_UseSpellCheckerSuggestions set_UseSpellCheckerSuggestions get_Buttons GetChildDxButtons get_Runs DeleteRuns get_WinToAspRuns set_WinToAspRuns runs paragraphEndPos sectionEndPos currRunAbsolutePos get_LogPos runLogPos currChunkPos currRelativeRunPos SeparatorPos get_CurrPos paragraphStartPos sectionStartPos startPos get_HyperlinkInfos infos pos get_Macros set_Macros get_AllCaps set_AllCaps get_SmallCaps set_SmallCaps get_SizeInTwips tabProps jsonDocProps objProps tblProps tblCellProps charProps parProps tblRowProps props Tabs_DefaultTabStops get_Groups get_Chars set_EnableTruncatedUnicodeNumbers get_SuppressLineNumbers set_SuppressLineNumbers get_IgnoreWordsWithNumbers set_IgnoreWordsWithNumbers ListNumbers System.Net.Http.Headers get_Headers SectionHeaders jsonHeaders GetHeaders HttpRequestHeaders GetGalleryHeaders headers DevExpress.Web.Internal.Dialogs.IFileManager.get_SettingsFolders FileManagerSettingsFolders BorderShading_Borders get_Borders ToggleTableCellInsideBorders ToggleTableCellOutsideBorders get_PageBorders set_PageBorders DrawTableBorders get_AvoidDoubleBorders set_AvoidDoubleBorders set_UseAvoidDoubleBorders get_ParagraphBorders set_ParagraphBorders ToggleTableCellInsideVerticalBorders ToggleTableCellInsideHorizontalBorders ToggleTableCellAllBorders DrawTableCellBorders borders CreateModifiers RunPropertyModifiers modifiers DevExpress.Web.Internal.ICustomWebResourceHandlerProvider.RegisterCustomWebResourceHandlers handlers DevExpress.Data.Helpers DevExpress.Web.FormLayout.Internal.RuntimeHelpers get_Parameters set_Parameters JSONEnumLoadPieceTableCommandParameters commandParameters LoadPieceTableParameters JSONUpdateFieldCommandDocVariableParameters GetCommandTypeFormParameters get_ServerParameters set_ServerParameters parameters get_Footers HeadersAndFooters SectionFooters ContextItem_HeadersFooters get_HeadersFooters set_HeadersFooters GetFooters footers DevExpress.Office.NumberConverters Reviewers get_Colors SetCellBackgroundAndForegroundColors OfficeThemeColors PaletteColors set_EnableCustomColors ChangeAllSpellingErrors IgnoreAllSpellingErrors NoErrors CreateEditors get_StylesEditors stylesEditors get_CssClass set_CssClass SetLayoutItemCssClass buttonCssClass memoCssClass SetLayoutGroupCssClass get_DefaultCssClass MainElementCssClass listBoxCssClass DevExpress.Web.ASPxRichEdit.Css.SVGSprite.css DevExpress.Web.ASPxRichEdit.Css.WTSVGSprite.css DevExpress.Web.ASPxRichEdit.Css.dt_WTSVGSprite.css DevExpress.Web.ASPxRichEdit.Css.dt_SVGSprite.css DevExpress.Web.ASPxRichEdit.Css.ISprite.css DevExpress.Web.ASPxRichEdit.Css.GISprite.css DevExpress.Web.ASPxRichEdit.Css.GWTISprite.css DevExpress.Web.ASPxRichEdit.Css.GWISprite.css DevExpress.Web.ASPxRichEdit.Css.sprite.css DevExpress.Web.ASPxRichEdit.Css.System.css DevExpress.Web.ASPxRichEdit.Css.Default.css DevExpress.Web.ASPxRichEdit.Css.SVGSpriteNew.css DevExpress.Web.ASPxRichEdit.Css.WTSVGSpriteNew.css ToolboxBitmapAccess CheckWorkDirectoryAccess Hyperlink_EmailAddress SaveInProgress Effects GetMergedStateManagedObjects GetStateManagedObjects get_OleObjects set_OleObjects GetStateObjects ContextItem_FloatingObjects get_FloatingObjects set_FloatingObjects PageFloatingObjects jsonObjects AttributeTargets set_AddRoundBrackets ListBullets Columns_Presets CreatePresets PopulatePresets presets FileSystemRights GetChildDxEdits CalculateImageSizeInModelUnits TwipsToModelUnits PointsToModelUnits MergeWithDefaults FindReplace_Results ShowAllFieldResults HideFindResults CommandsResults results includeConstants RulerParagraphLeftIndents get_Clients set_Clients get_Comments set_Comments ShowComments SubDocuments UpdateTableOfContents AddParagraphToTableOfContents GroupTableOfContents InsertTableOfContents TableAutoFitContents SetAutoFitContents get_Events DevExpress.Web.Internal.Dialogs.IControl<DevExpress.Web.UploadControlClientSideEvents>.get_ClientSideEvents DevExpress.Web.Internal.Dialogs.IControl<DevExpress.Web.FileManagerClientSideEvents>.get_ClientSideEvents CreateClientSideEvents UploadControlClientSideEvents FileManagerClientSideEvents RichEditClientSideEvents MenuClientSideEvents get_SuppressMailMergeEvents set_SuppressMailMergeEvents get_Fonts ReduceFonts reduceFonts get_UseGoogleFonts set_UseGoogleFonts useGoogleFonts LoadFromGoogleFonts get_UseThemeFonts set_UseThemeFonts ShouldSerializeUseThemeFonts ResetUseThemeFonts ForEachFonts get_AddDefaultFonts set_AddDefaultFonts fonts Tabs_Dots Tabs_MiddleDots RegisterIncludeScripts RegisterOfficeUtilsScripts RegisterDialogUtilsScripts HasFunctionalityScripts get_Charts set_Charts get_NumberingLists jsonNumberingLists get_AbstractNumberingLists jsonAbstractNumberingLists addDefaultLists get_DocumentControlExists GetAlertDialogTexts get_GotFocus set_GotFocus get_LostFocus set_LostFocus set_CornerRadius FindReplace_Previous LinkToPrevious LinkHeaderFooterToPrevious InsertSectionBreakContinuous get_Views GroupDocumentViews views get_Rows ToggleBandedRows DeleteTableRows InsertTable_NumberOfRows get_Keys get_AllKeys Numbering_AlignedAt RemoveAt Numbering_IndentAt ElementAt Numbering_StartAt Concat get_What set_What what get_Format set_Format DXImageFormat OfficeImageFormat get_DefaultTimeFormat set_DefaultTimeFormat get_DefaultDateFormat set_DefaultDateFormat CreateFormat GetSupportNumberingFormat StringFormat Numbering_NumberFormat DetectFormat get_DefaultFormat get_DocumentFormat ShowErrorInvalidDocumentFormat ParseDocumentFormat CalculateDocumentFormat FileExtensionToDocumentFormat AutodetectDocumentFormat GetDocumentFormat DocumentFormatToXtraRichEditDocumentFormat get_CurrentDocumentFormat documentFormat get_CurrentFormat set_CurrentFormat get_RawFormat format SizeFloat HtFloat get_IsAbstract set_IsAbstract isAbstract TObject GetMailMergeDataObject get_CurrentDataObject set_CurrentDataObject IRectangularScalableObject CreateClientStyleObject CreateObject stateObject GetRulerSpiteObject IDrawingObject get_DrawingObject SetDrawingObject IWebControlObject GetScriptObject object Hyperlink_Subject get_EnableMultiSelect PerformSelect get_NoChangeAspect set_NoChangeAspect get_AutoCorrect set_AutoCorrect autoCorrect Intersect DetectMultiUserDeletingConflict DetectMultiUserSavingConflict get_MultiUserConflict multiUserConflict get_Get System.Net Tabs_Set get_CanBeSet set_CanBeSet canBeSet get_IconSet set_IconSet ImagesWithIconSet get_MenuIconSet set_MenuIconSet iconSet GetFontCharacterSet set_Target target System.Collections.IEnumerator.Reset LayoutOptions_Reset get_Preset GetSubscriptYOffset get_Offset set_Offset get_VerticalOffset set_VerticalOffset get_PercentVerticalOffset set_PercentVerticalOffset get_HorizontalOffset set_HorizontalOffset get_PercentHorizontalOffset set_PercentHorizontalOffset get_RunOffset currRunOffset MenuCmd_HeaderOffset get_HeaderOffset set_HeaderOffset ChangeHeaderOffset MenuCmd_FooterOffset get_FooterOffset set_FooterOffset ChangeFooterOffset SubScriptOffset offset get_Inset DrawingTextInset Numbering_Left Tabs_Left get_Left set_Left InsertTableColumnToTheLeft InsertTableColumnsToTheLeft InsertTableCellWithShiftToTheLeft TableCellAlignMiddleLeft AlignFloatingObjectMiddleLeft set_PaddingLeft TableCellAlignBottomLeft AlignFloatingObjectBottomLeft AlignLeft RulerSectionMarginLeft get_RightToLeft set_RightToLeft IsRightToLeft TableCellAlignTopLeft AlignFloatingObjectTopLeft BorderLeft DeleteCells_ShiftCellsLeft ColumnsLeft TableProperties_IndentLeft ToggleParagraphAlignmentLeft Mht Numbering_Right Tabs_Right get_Right set_Right InsertTableColumnToTheRight InsertTableColumnsToTheRight TableCellAlignMiddleRight AlignFloatingObjectMiddleRight TableCellAlignBottomRight AlignFloatingObjectBottomRight AlignRight RulerSectionMarginRight TableCellAlignTopRight AlignFloatingObjectTopRight BorderRight InsertCells_ShiftCellsRight ColumnsRight ToggleParagraphAlignmentRight TextWrapTight get_Height set_Height PageHeight set_ImageHeight get_DefaultImageHeight cellHeight GetEmHeight PresetTableStyleItemHeight PresetStyleItemHeight GetHeight get_ExtentHeight set_ExtentHeight TableProperties_RowHeight RulerChangeTableRowHeight TableProperties_SpecifyHeight height Highlight Upright get_AutoFit set_AutoFit IDrawingTextAutoFit PageOrientationPortrait op_Implicit op_Explicit ASPxTimeEdit ASPxDateEdit get_RichEdit set_RichEdit DevExpress.XtraRichEdit PrepareRichEdit FindParentRichEdit DevExpress.Web.ASPxRichEdit richEdit CreateSpinEdit get_VerticalRelativeSpinEdit set_VerticalRelativeSpinEdit get_HorizontalRelativeSpinEdit set_HorizontalRelativeSpinEdit get_PropertiesSpinEdit ASPxSpinEdit spinEdit CreateButtonEdit get_SearchButtonEdit set_SearchButtonEdit ASPxButtonEdit ASPxDropDownEdit PrepareColorEdit get_FillColorEdit set_FillColorEdit get_UnderlinColorEdit set_UnderlinColorEdit get_BorderColorEdit set_BorderColorEdit get_FontColorEdit set_FontColorEdit ASPxColorEdit colorEdit ASPxListEdit ASPxTextEdit ASPxEdit richedit TableProperties_CantSplit get_CantSplit set_CantSplit set_UseCantSplit EndInit DevExpress.Web.Internal.IDialogFormElementRequiresLoad.ForceInit OnInit BeginInit get_Unit set_Unit WidthUnit ConvertInchToActuallUnit GraphicsUnit HeightUnit RichEditUnit FontUnit Exit get_Default CreateDefault GetValueOrDefault FirstOrDefault get_IsDefault get_Result set_Result IAsyncResult FontLoadResult JSONUpdateFieldCommandResult IsNeedToAddCallbackCommandResult commandResult LoadImageResult GetResponseResult saveResult FindReplace_TooLongResult GetInsertImageFromUrlCallbackResult InsertImageFromCallbackResult GetCustomCallbackResult GetFileManagerCallbackResult DevExpress.Web.ASPxRichEdit.Internal.IRichEditFileManager.GetCallbackResult FindReplace_NoResult GetControlRenderResult GetDialogFormRenderResult GetColumnsEditorRenderResult GetRenderResult serverParamsResult GetResult get_result set_result SizeInt BoolToInt HtInt set_AccessibilityCompliant IsAccessibilityCompliant GetCellAscent GetCellDescent get_TableIndent set_UseTableIndent get_FirstLineIndent set_FirstLineIndent ParagraphFirstLineIndent DecreaseIndent IncreaseIndent DecrementNumberingIndent IncrementNumberingIndent get_LeftIndent set_LeftIndent DecrementParagraphLeftIndent IncrementParagraphLeftIndent get_OriginalLeftIndent set_OriginalLeftIndent get_ShowLeftIndent set_ShowLeftIndent get_RightIndent set_RightIndent RulerParagraphRightIndent get_ShowRightIndent set_ShowRightIndent get_LegacyIndent set_LegacyIndent get_UserAgent get_Client DetachClient AttachClient MailMergeOnClient PrintDocumentOnClient AssignReadOnlyToWorkSessionClient add_InsertContentToClient remove_InsertContentToClient RaiseInsertContentToClient HasClient GetClient exClient client DictionaryElement element op_Decrement op_Increment set_Increment set_AsAttachment IsAsAttachment DeleteComment PreviousComment GroupDocumentComment NextComment NewComment Tabs_Alignment TableProperties_Alignment LayoutOptions_Alignment get_Alignment set_Alignment get_TableAlignment set_TableAlignment set_UseTableAlignment ParagraphAlignment TableProperties_VerticalAlignment get_VerticalAlignment set_VerticalAlignment set_UseVerticalAlignment get_VerticalPositionAlignment set_VerticalPositionAlignment DrawingObjectVerticalPositionAlignment get_HorizontalPositionAlignment set_HorizontalPositionAlignment DrawingObjectHorizontalPositionAlignment ListNumberAlignment SetFloatingObjectMiddleCenterAlignment SetFloatingObjectBottomCenterAlignment SetFloatingObjectTopCenterAlignment FloatingObjectAlignment SetFloatingObjectMiddleLeftAlignment SetFloatingObjectBottomLeftAlignment SetFloatingObjectTopLeftAlignment SetFloatingObjectMiddleRightAlignment SetFloatingObjectBottomRightAlignment SetFloatingObjectTopRightAlignment GroupTableToolsLayoutAlignment get_EastAsianTextAlignment set_EastAsianTextAlignment get_TableRowAlignment set_TableRowAlignment set_UseTableRowAlignment IsAzureEnvironment get_Document NativeSubDocument ChangeActiveSubDocumentToHeaderFooterBySubDocument LoadDocument ReloadDocument DownloadMergedDocument SaveMergedDocument InvalidDocument FindDocument WholeDocument CantSaveDocument NativeDocument SwitchDocument originalDocument fromDocument CantOpenDocument pathToDocument SaveAsDocument Hyperlink_PlaceInThisDocument ProtectDocument UnprotectDocument DownloadCurrentDocument PrintCurrentDocument ExportDocument CreateNewDocument get_IsNewDocument document GetInternalCallbackArgument GetCallbackArgument eventArgument Component get_Parent set_Parent get_Transparent System.Collections.Generic.IEnumerator<T>.Current System.Collections.IEnumerator.Current System.Collections.Generic.IEnumerator<T>.get_Current System.Collections.IEnumerator.get_Current <>2__current System.Collections.Concurrent get_Content set_Content loadWholeContent DeleteContent DragMoveContent PanelContent FillRibbonItemContent DragCopyContent SubscribeCalculateDocumentVariableEvent RaiseCallbackEvent set_TextRenderingHint get_Tint set_Tint Point DelayedPrint FilePrint get_UpdateFieldsBeforePrint set_UpdateFieldsBeforePrint set_UpdateDocVariablesBeforePrint set_EnablePageBackgroundOnPrint Numbering_Font get_Font AddFont MakeFont GetFallbackFont GroupFont RegisterFont ASPxRichEditFont FloatingObjectBringToFront FinishMerge_Count get_Count get_MailMergeRecordCount set_MailMergeRecordCount GetRecordCount InsertPageCount raiseSavingCallLockCount cellCount get_ColCount set_ColCount get_ColumnCount set_ColumnCount set_MinColumnCount get_DefaultDropDownGalleryMinColumnCount SetSectionColumnCount set_MaxColumnCount get_HashIterationCount set_HashIterationCount get_SuggestionCount set_SuggestionCount get_ColumnsCount get_DefaultMinColumnsCount get_CurrentColumnsCount get_DefaultMaxColumnsCount columnsCount get_DefaultDropDownRowsCount set_RowCount rowCount count get_Script set_Script RegisterIncludeScript CharacterFormattingScript RegisterDateFormatterScript RegisterFormatterScript CharacterFormattingScript_Subscript ToggleFontSubscript CharacterFormattingScript_Superscript ToggleFontSuperscript opt get_Encrypt set_Encrypt get_Start set_Start get_OverrideStart SetOverrideStart ExtendLineStart IsParagraphStart isChunkStart IntervalStart SectionStart ErrorStart ExtendDocumentStart get_NewStart set_NewStart get_start set_start get_SuppressRestart set_SuppressRestart PageInsert Convert Sort DevExpress.Web.ASPxRichEdit.Import set_KeyboardSupport DevExpress.XtraRichEdit.Export DevExpress.Web.ASPxRichEdit.Export get_Export CreateDocumentModelForExport BeginSetContentForExport export Cast IsLast isLast AtLeast get_Request LoadOnOneRequest LoadWorkSessionIdFromRequest GetValueFromRequest RestoreTextFromRequest HttpRequest DevExpress.Web.Internal.Dialogs.IFileManager.add_CloudProviderRequest DevExpress.Web.Internal.Dialogs.IFileManager.remove_CloudProviderRequest FileManager_CloudProviderRequest add_DocumentSelectorCloudProviderRequest remove_DocumentSelectorCloudProviderRequest RaiseDocumentSelectorCloudProviderRequest IList FromHashtableList ToHashtableList DevExpress.Web.Internal.Dialogs.IFileManager.get_SettingsFileList FileManagerSettingsFileList AddNumberingList DeleteNumberingList ContinueNumberingList NoNumberingList AddAbstractNumberingList DeleteAbstractNumberingList abstractNumberingList RestartNumberingList ApplyNumberingList numberingList IsInList GetInvocationList get_NavigationList set_NavigationList get_CellOperationList set_CellOperationList PopulateButtonList get_RadioButtonList set_RadioButtonList PrepareRadioButtonList get_OrientationRadioButtonList set_OrientationRadioButtonList get_SubscriptRadioButtonList set_SubscriptRadioButtonList get_StrikeoutRadioButtonList set_StrikeoutRadioButtonList ASPxRadioButtonList ConvertEnumerableToList PopulateImageInfoList PopulateStyleInfoList spellingErrorInfoList get_TabsLeaderList set_TabsLeaderList EventHandlerList ButtonsList infosList addDefaultsList PopulateEditList get_AlignmentList set_AlignmentList get_VerticalAlignmentList set_VerticalAlignmentList get_TabsAlignmentList set_TabsAlignmentList get_WrapTextList set_WrapTextList ASPxCheckBoxList get_SortByList set_SortByList FromArrayList ToArrayList list IsValueExist PathDoesNotExist ClientNoColorConst First get_Cut set_Cut ZoomOut set_KeyTipModeShortcut AssignShortcut ToggleFontStrikeout get_AutoSaveTimeout set_AutoSaveTimeout DefaultAutoSaveTimeout SetRequestTimeout DevExpress.Office.Layout PagePageLayout get_TableLayout set_TableLayout PageTableLayout set_UseTableLayout get_WidthSpacingLayout set_WidthSpacingLayout LayoutOptions_BookLayout IFormLayout get_TableFormLayout set_TableFormLayout CreateTableFormLayout get_SizeFormLayout set_SizeFormLayout CreateSizeFormLayout get_SpacingFormLayout set_SpacingFormLayout get_LineSpacingFormLayout set_LineSpacingFormLayout get_TextWrappingFormLayout set_TextWrappingFormLayout CreateTextWrappingFormLayout RichEditDialogFormLayout get_IndentationSprecialFormLayout set_IndentationSprecialFormLayout get_CellFormLayout set_CellFormLayout CreateCellFormLayout get_MainFormLayout set_MainFormLayout get_ColumnFormLayout set_ColumnFormLayout CreateColumnFormLayout get_PaginationFormLayout set_PaginationFormLayout CreatePaginationFormLayout get_IndentationFormLayout set_IndentationFormLayout get_PositionFormLayout set_PositionFormLayout CreatePositionFormLayout get_PaperFormLayout set_PaperFormLayout CreatePaperFormLayout get_MarginsFormLayout set_MarginsFormLayout CreateMarginsFormLayout get_OptionsFormLayout set_OptionsFormLayout get_MainOptionsFormLayout set_MainOptionsFormLayout get_IndentsFormLayout set_IndentsFormLayout CreateIndentsFormLayout get_ContentFormLayout set_ContentFormLayout get_LayoutFormLayout set_LayoutFormLayout CreateLayoutFormLayout get_PreviewFormLayout set_PreviewFormLayout CreatePreviewFormLayout get_RowFormLayout set_RowFormLayout CreateRowFormLayout formLayout set_RepeatLayout get_OffsetLayout set_OffsetLayout get_ContentLayout set_ContentLayout PrintLayout layout IPopupMenuExt ASPxPopupMenuExt DownloadTxt FindReplace_Next get_Next ReplaceNext MoveNext get_KeepWithNext set_KeepWithNext GetPropertiesFromNext getPropertiesFromNext System.Drawing.Text System.Text Hyperlink_Text get_Text set_Text GetLocalizedText FloatingObjectSendBehindText AlertMessageText SimpleText PureText FloatingObjectBringInFrontOfText TextWrapInFrontOfText FloatingObjectBringToFrontOfText set_RtfText GetRtfText GetGraphicsForStyleWithText CheckText set_NullText LayoutOptions_DistanceFromText get_BottomFromText set_BottomFromText get_TopFromText set_TopFromText get_LeftFromText set_LeftFromText get_RightFromText set_RightFromText HiddenText get_PlainText plainText CellOptions_WrapText LayoutOptions_WrapText PrepareWrapText GroupText set_HeaderText set_ErrorText Bookmarks_NameErrorText FileManager_OpenedFileRenameErrorText FileManager_OpenedFileDeleteErrorText FileManager_OpenedFileMoveErrorText get_PasteSingleCellAsText set_PasteSingleCellAsText get_cssText GetText get_UprightText set_UprightText get_FitText set_FitText set_UseFitText ResizeShapeToFitText DevExpress.Web.Internal.IRibbonInternalItem.DefaultText DevExpress.Web.Internal.IRibbonInternalItem.get_DefaultText get_DisplayBehindDocumentText set_DisplayBehindDocumentText CollectDocumentText InsertText get_ShowText BodyText HttpContext CreateFieldMenu FloatingObjectSendBackwardMenu FloatingObjectBringForwardMenu ChangeFloatingObjectTextWrapTypeMenu ChangeCaseMenu DeleteMenu SizeMenu LineSpacingMenu AlignParagraphMenu OrientationMenu PositionMenu InsertCaptionMenu get_PopupMenu set_PopupMenu CreatePopupMenu get_StylesPopupMenu stylesPopupMenu get_SettingsPopupMenu RibbonSettingsPopupMenu get_ShowPopupMenu set_ShowPopupMenu ASPxPopupMenu popupMenu InsertTableOfFiguresMenu BreaksMenu MarginsMenu ColumnsMenu TableStyleOptionsMenu BordersMenu SelectMenu AutoFitMenu AlignmentMenu InsertMenu AddTextMenu WrapTextMenu Prev CreateDiv kv FileNew get_CreateNew set_CreateNew PageView GroupMailMergeView DialogTableView InsertTableView get_SimpleView SwitchToSimpleView GroupView DraftView ReadingLayoutView SwitchToPrintLayoutView PageReview InsertImage_ImagePreview TableProperties_Row get_Row ChangeTableRow CreateTableRow RemoveTableRow JSONEnumTableRow ExtendSelectTableRow InsertTableRow DeleteCells_DeleteEntireRow InsertCells_InsertEntireRow get_IndexInRow jsonRow CreateHeaderRow set_CurrentControllerRow TableProperties_PreviousRow clientRow ToggleLastRow get_FirstRow ToggleFirstRow DecrementParagraphIndentFromFirstRow IncrementParagraphIndentFromFirstRow TableProperties_NextRow get_Shadow set_Shadow TableAutoFitWindow SetAutoFitWindow GroupShow LayoutOptions_Below InsertTableRowsBelow InsertTableRowBelow Throw AutoScrollArrow PageMarginsNarrow Max DownloadDocx TIndex get_Index set_Index get_ActiveTabIndex set_ActiveTabIndex set_SelectedIndex FindIndex get_MailMergeActiveRecordIndex set_MailMergeActiveRecordIndex GetActiveRecordIndex set_LastRecordIndex set_FirstRecordIndex ChangeActiveSubDocumentToHeaderFooterByPageIndex MaskedParagraphPropertiesCacheIndex MaskedCharacterPropertiesCacheIndex maskedCharacterPropertiesCacheIndex TableIndex get_StyleIndex set_StyleIndex get_ParagraphStyleIndex set_ParagraphStyleIndex paragraphStyleIndex get_CharacterStyleIndex set_CharacterStyleIndex characterStyleIndex CreateIndex createIndex get_ParagraphIndex set_ParagraphIndex get_EndParagraphIndex ChangeCellEndParagraphIndex FindParagraphIndex GetParagraphIndex get_StartParagraphIndex ChangeCellStartParagraphIndex get_LastParagraphIndex set_LastParagraphIndex get_FirstParagraphIndex set_FirstParagraphIndex paragraphIndex AlIndex get_ListLevelIndex set_ListLevelIndex SetNumberingListLevelIndex GetOwnListLevelIndex GetListLevelIndex SetListLevelIndex listLevelIndex get_CellIndex set_CellIndex cellIndex GetItemIndex GetColumnIndex get_SectionIndex set_SectionIndex FindSectionIndex sectionIndex get_RunIndex set_CodeEndRunIndex set_ResultEndRunIndex GetRunIndex set_CodeStartRunIndex get_LastRunIndex SetRelativeLastRunIndex get_FirstRunIndex SetRelativeFirstRunIndex FindFieldByRunIndex runIndex get_InfoIndex get_ShadingInfoIndex set_ShadingInfoIndex set_UseShadingInfoIndex SetShadingInfoIndex getShadingInfoIndex getColorModelInfoIndex FontInfoIndex ChangeHeaderIndex ChangeFooterIndex get_ColorIndex set_ColorIndex ThemeColorIndex get_UnderlineColorIndex set_UnderlineColorIndex SetUnderlineColorIndex get_ForeColorIndex set_ForeColorIndex SetForeColorIndex enumValueColorIndex get_BackColorIndex set_BackColorIndex SetColorIndex get_HighlightColorIndex set_HighlightColorIndex SetHighlightColorIndex get_StrikeoutColorIndex set_StrikeoutColorIndex SetStrikeoutColorIndex TextColorIndex MaskedParagraphPropertiesIndex maskedParagraphPropertiesIndex ListLevelPropertiesIndex TableCellPropertiesIndex CharacterPropertiesIndex TableRowPropertiesIndex SetHeaderFooterObjectsIndex GetObjectIndex SetObjectIndex NewObjectIndex GetIndex get_StartIndex set_StartIndex startIndex GetInsertIndex get_ListIndex set_ListIndex get_NumberingListIndex set_NumberingListIndex GetOwnNumberingListIndex get_AbstractNumberingListIndex SetNumberingListIndex listIndex newIndex get_RowIndex set_RowIndex rowIndex GetItemByIndex index Regex GetCssPostFix get_PasswordPrefix set_PasswordPrefix GetCssClassNamePrefix CommandCallbackPrefix InternalCallbackPrefix SaveImageToServerNewUrlCallbackPrefix PerformCallbackPrefix FileManagerCallbackPrefix SaveImageToServerCallbackPrefix SaveImageToServerErrorCallbackPrefix ColumnsEditorCallbackPrefix SymbolListCallbackPrefix callbackPrefix GetControlCssPrefix CssClassPrefix LargeImagePostfix styleNamePostfix namePostfix InternalCallbackPostfix ClientGuidParamsPostfix InternalServiceCallbackParamsPostfix SyncCommandsParamsPostfix get_CssPostfix set_CssPostfix guidKeyPostfix GetShapeBox get_NoSpaceCheckBox set_NoSpaceCheckBox get_FirstPageCheckBox set_FirstPageCheckBox get_MergeCheckBox set_MergeCheckBox get_SameAsTableCheckBox set_SameAsTableCheckBox get_UnderlineCheckBox set_UnderlineCheckBox CreateCheckBox get_AutoResizeCheckBox set_AutoResizeCheckBox get_AllowSpacingCheckBox set_AllowSpacingCheckBox get_TablePrefWidthCheckBox set_TablePrefWidthCheckBox get_CellPrefWidthCheckBox set_CellPrefWidthCheckBox get_ColumnPrefWidthCheckBox set_ColumnPrefWidthCheckBox get_EqualWidthCheckBox set_EqualWidthCheckBox get_PageBreakCheckBox set_PageBreakCheckBox get_HiddenCheckBox set_HiddenCheckBox get_OddEvenCheckBox set_OddEvenCheckBox get_KeepLinesCheckBox set_KeepLinesCheckBox get_AllCapsCheckBox set_AllCapsCheckBox get_SmallCapsCheckBox set_SmallCapsCheckBox get_SpecifyHeightCheckBox set_SpecifyHeightCheckBox get_WrapTextCheckBox set_WrapTextCheckBox ASPxCheckBox get_MergeModeComboBox set_MergeModeComboBox PrepareMergeModeComboBox get_StyleComboBox set_StyleComboBox PrepareLineStyleComboBox get_UnderlineStyleComboBox set_UnderlineStyleComboBox get_NumberStyleComboBox set_NumberStyleComboBox get_FontStyleComboBox set_FontStyleComboBox get_FontNameComboBox set_FontNameComboBox get_OutlineComboBox set_OutlineComboBox get_FileTypeComboBox set_FileTypeComboBox get_DownloadFileTypeComboBox set_DownloadFileTypeComboBox CreateComboBox get_PaperSizeComboBox set_PaperSizeComboBox get_FontSizeComboBox set_FontSizeComboBox get_HorizontalToTheRightOfComboBox set_HorizontalToTheRightOfComboBox get_HorizontalBookLayoutOfComboBox set_HorizontalBookLayoutOfComboBox get_LineSpacingComboBox set_LineSpacingComboBox get_WidthComboBox set_WidthComboBox PrepareWidthComboBox get_FollowNumberWithComboBox set_FollowNumberWithComboBox get_SpecialComboBox set_SpecialComboBox get_TableMeasureInComboBox set_TableMeasureInComboBox get_CellMeasureInComboBox set_CellMeasureInComboBox get_ColumnMeasureInComboBox set_ColumnMeasureInComboBox get_SectionComboBox set_SectionComboBox get_NumberPositionComboBox set_NumberPositionComboBox get_WidthRelativToComboBox set_WidthRelativToComboBox get_VerticalRelativToComboBox set_VerticalRelativToComboBox get_HorizontalRelativToComboBox set_HorizontalRelativToComboBox get_VerticalRelPosRelativToComboBox set_VerticalRelPosRelativToComboBox get_HorizontalRelPosRelativToComboBox set_HorizontalRelPosRelativToComboBox get_HeightRelativToComboBox set_HeightRelativToComboBox get_ApplyToComboBox set_ApplyToComboBox get_PropertiesComboBox get_RowHeightComboBox set_RowHeightComboBox get_AlignmentComboBox set_AlignmentComboBox get_VerticalAlignmentComboBox set_VerticalAlignmentComboBox get_HorizontalAlignmentComboBox set_HorizontalAlignmentComboBox get_HorizontalBookLayoutComboBox set_HorizontalBookLayoutComboBox get_VerticalBelowComboBox set_VerticalBelowComboBox ASPxComboBox BorderShading_BordersBox get_BookmarksNameListBox set_BookmarksNameListBox get_LevelListBox set_LevelListBox get_FieldsListBox set_FieldsListBox get_SuggestionsListBox set_SuggestionsListBox ASPxListBox get_TextBox set_TextBox InsertAnchoredTextBox get_FileNameTextBox set_FileNameTextBox ShapeTextBox CreateTextBox get_SearchTextBox set_SearchTextBox get_EmailTextBox set_EmailTextBox get_UrlTextBox set_UrlTextBox get_ImageUrlTextBox set_ImageUrlTextBox get_StopPositionTextBox set_StopPositionTextBox ChangeActiveSubDocumentToTextBox get_IsTextBox InsertTextBox ASPxTextBox OrderBy Bookmarks_SortBy set_Display get_Array set_Array ToHashtableArray InitializeArray ToStringArray ToArray get_IsArray get_Legacy set_Legacy get_Key ToggleBackspaceKey get_CacheKey set_CacheKey get_ImageCacheKey GetCacheKey cacheKey RegisterItemAndUpdateKey ViewMergeDataStateKey SessionGuidStateKey ToggleDeleteKey get_TagKey imgKey StringKey ContainsKey get_AccessKey get_DefaultDialogLauncherAccessKey get_DialogBoxLauncherAccessKey GetDialogBoxLauncherAccessKey GetAccessKey get_DefaultAccessKey SpellCheckerWordAddedEventKey PdfExportedEventKey CalculateDocumentVariableEventKey DocumentSelectorFileUploadingEventKey DocumentSelectorItemRenamingEventKey DocumentSelectorFolderCreatingEventKey DocumentSelectorItemDeletingEventKey DocumentSelectorItemMovingEventKey DocumentSelectorItemCopyingEventKey CustomizeMergeFieldsEventKey InsertContentToClientEventKey DocumentSelectorCloudProviderRequestEventKey GetImageByKey PropertyKey key CanModify FindReplace_ReplaceAllNotify AlignJustify ToggleParagraphAlignmentJustify PrepareControlHierarchy CreateControlHierarchy ResetControlHierarchy AddStatusBarControlToHierarchy get_Assembly get_FontFamily set_FontFamily get_SourceFontFamily set_SourceFontFamily sourceFontFamily FontNameToFontFamily SetFontFamily fontFamily get_FontsByFamily set_FontsByFamily RegisterFontByFamily GetFontByFamily DeleteTableCellsWithShiftToTheVertically InsertTableCellsWithShiftToTheVertically InsertPictureLocally DownloadDocumentLocally OpenDocumentLocally CreateNewDocumentLocally DeleteTableCellsWithShiftToTheHorizontally MergeTableCellHorizontally SplitTableCellHorizontally get_ReadOnly set_ReadOnly AsReadOnly readOnly FontNameOnly get_UnderlineWordsOnly set_UnderlineWordsOnly get_StrikeoutWordsOnly set_StrikeoutWordsOnly LayoutOptions_LeftOnly LayoutOptions_RightOnly LayoutOptions_LargestOnly Exactly Any Destroy get_Copy set_Copy DownloadCopy SaveCopy set_Primary IDictionary get_Dictionary WebDictionary ASPxSpellCheckerOpenOfficeDictionary SimpleDictionary SpriteNameDictionary ASPxSpellCheckerISpellDictionary ASPxHunspellDictionary AddWordToCustomDictionary ASPxSpellCheckerCustomDictionary get_IsCustomDictionary GetCustomDictionary Spelling_NotInDictionary Spelling_AddToDictionary AddWordToDictionary ISpellCheckerDictionary ASPxSpellCheckerDictionary CommandsDictionary GetHtmlTextItemsDictionary get_ArgumentsDictionary argumentsDictionary GetDictionary CategoryDictionary CheckVisibilityDictionary dictionary get_PropertiesDropDownGallery JSONAddAbstractNumberingListCommandPropery set_Query RERContextTabCategory get_ContextTabCategory get_TableContextTabCategory CreateTableContextTabCategory tableContextTabCategory RibbonContextTabCategory get_HeaderFooterContextTabCategory CreateHeaderFooterContextTabCategory headerFooterContextTabCategory RERTableToolsContextTabCategory RERHeaderAndFooterToolsContextTabCategory RERFloatingObjectsContextTabCategory get_FloatingObjectsContextTabCategory CreateFloatingObjectsContextTabCategory floatingObjectsContextTabCategory foundCategory GetUnicodeCategory GetCategory UnloadDocumentFromMemory CommandFactory RegisterInFactory RegisterWorkSessionFactory CheckOrCreateDirectory get_WorkDirectory set_WorkDirectory HasWorkDirectory GetWorkDirectory workDirectory DevExpress.Office.History DevExpress.XtraRichEdit.Model.History SwitchToEmptyHistory DictionaryEntry set_Opacity get_Capacity set_Capacity op_Equality op_Inequality RegisterDocumentCapability capability get_Visibility set_Visibility UpdateRibbonTabVisibility RichEditBookmarkVisibility UpdateRibbonItemVisibility RichEditRangePermissionVisibility DesignerSerializationVisibility UpdateRibbonGroupVisibility RichEditRulerVisibility RichEditCommentVisibility get_BackwardCompatibility AzureCompatibility IsInfinity RefreshLastTimeActivity DevExpress.Web.Internal.Dialogs.IFileManager.get_SettingsAdaptivity FileManagerSettingsAdaptivity IsNullOrEmpty IsTransparentOrEmpty get_IsEmpty JSONSColorHSLProperty TProperty JSONCachesDataProperty JSONParagraphPropertiesChangedProperty JSONFieldProperty JSONInsertParagraphCommandProperty JSONInsertSectionCommandProperty JSONMergeParagraphsCommandProperty JSONMergeSectionsCommandProperty JSONDeleteRunsCommandProperty JSONDeleteAbstractNumberingListCommandProperty JSONInsertTextCommandProperty GetItemImageProperty ChangeTableProperty JSONEnumTableProperty JSONTableStyleProperty JSONParagraphStyleProperty JSONTableConditionalStyleProperty JSONCharacterStyleProperty JSONNumberingListStyleProperty JSONShapeProperty ChangeAnchoredObjectShapeProperty JSONStyleLinkCommandBaseProperty JSONCreateHeaderFooterCommandBaseProperty JSONStyleBaseProperty JSONRunBaseProperty JSONBorderBaseProperty GetStringProperty SetStringProperty JSONParagraphFormattingProperty JSONCharacterFormattingProperty JSONParagraphProperty ChangeParagraphProperty JSONChunkProperty JSONBookmarkProperty JSONDocumentModelProperty JSONResponceLevelProperty JSONListLevelProperty JSONIOverrideListLevelProperty JSONNumberingOverrideListLevelProperty JSONNumberingListLevelProperty ChangeTableCellProperty JSONEnumTableCellProperty JSONServerTableCellProperty GetBoolProperty SetBoolProperty GetEnumProperty SetEnumProperty JSONInitSessionProperty JSONRangePermissionProperty JSONSectionProperty JSONAnchoredPictureRunProperty JSONInlinePictureRunProperty JSONAnchoredTextBoxRunProperty JSONInlineTextBoxRunProperty JSONTabInfoProperty JSONLangInfoProperty JSONShadingInfoProperty JSONColorModelInfoProperty JSONSDrawingColorModelInfoProperty JSONColumnInfoProperty JSONHeaderFooterInfoProperty JSONAnchorInfoProperty ChangeAnchorInfoProperty JSONFontInfoProperty ChangeCharacterProperty JSONSScRGBColorProperty JSONSDrawingColorProperty JSONSpellCheckerDictionariesProperty JSONDocumentProtectionPropertiesProperty JSONDocumentPropertiesProperty JSONStylesProperty JSONSpellCheckerDictionaryTypesProperty JSONCompatibilitySettingsProperty JSONTableCellMarginsProperty JSONControlOptionsProperty JSONAuthenticationOptionsProperty JSONSpellCheckerOptionsProperty JSONRichEditBehaviorOptionsProperty JSONDocumentCapabilitiesOptionsProperty JSONExportOptionsProperty JSONTableBordersProperty JSONTableCellBordersProperty JSONCommandParametersProperty JSONInlineObjectProperty GetObjectProperty SetObjectProperty JSONTableWidthUnitProperty JSONTableHeightUnitProperty GetIntProperty SetIntProperty JSONNumberingListProperty JSONAbstractNumberingListProperty ChangeTableRowProperty JSONEnumTableRowProperty JSONServerTableRowProperty JSONModelPropertyProperty property     +{ {   c l a s s N a m e   =   { 0 }   } }  I{ {   c l a s s N a m e   =   { 0 } ,   c s s T e x t   =   { 1 }   } }  r e { 0 }  { 0 }   ( { 1 } )  L a r g e  %d x r e R i b b o n C B M i d d l e  d x r e R i b b o n S E  'P a r a g r a p h S t y l e L a r g e  P S - 'C h a r a c t e r S t y l e L a r g e  C S - & &  &   N  N e w  O  	O p e n  S  	S a v e  A  
S a v e A s  P  P r i n t D i a l o g  S H  /F l o a t i n g O b j e c t F i l l C o l o r  S A  5F l o a t i n g O b j e c t O u t l i n e C o l o r  W  	0   p t  0 . 2 5   p t  
0 . 5   p t  0 . 7 5   p t  	1   p t  
1 . 5   p t  2 . 2 5   p t  	3   p t  
4 . 5   p t  	6   p t  T W  5F l o a t i n g O b j e c t T e x t W r a p T y p e  I  T e x t W r a p I n l i n e  T e x t W r a p S q u a r e  T  T e x t W r a p T i g h t  T H  T e x t W r a p T h r o u g h  T B  )T e x t W r a p T o p A n d B o t t o m  B T  T e x t W r a p B e h i n d  I F  +T e x t W r a p I n F r o n t O f T e x t  L  7F l o a t i n g O b j e c t L a y o u t O p t i o n s  /F l o a t i n g O b j e c t A l i g n m e n t  T L  5A l i g n F l o a t i n g O b j e c t T o p L e f t  T C  9A l i g n F l o a t i n g O b j e c t T o p C e n t e r  T R  7A l i g n F l o a t i n g O b j e c t T o p R i g h t  M L  ;A l i g n F l o a t i n g O b j e c t M i d d l e L e f t  M C  ?A l i g n F l o a t i n g O b j e c t M i d d l e C e n t e r  M R  =A l i g n F l o a t i n g O b j e c t M i d d l e R i g h t  B L  ;A l i g n F l o a t i n g O b j e c t B o t t o m L e f t  B C  ?A l i g n F l o a t i n g O b j e c t B o t t o m C e n t e r  B R  =A l i g n F l o a t i n g O b j e c t B o t t o m R i g h t  A F  5F l o a t i n g O b j e c t B r i n g F o r w a r d  F  R  5F l o a t i n g O b j e c t B r i n g T o F r o n t  AF l o a t i n g O b j e c t B r i n g I n F r o n t O f T e x t  A E  5F l o a t i n g O b j e c t S e n d B a c k w a r d  B  K  1F l o a t i n g O b j e c t S e n d T o B a c k  H  9F l o a t i n g O b j e c t S e n d B e h i n d T e x t  E  G o T o H e a d e r  G  G o T o F o o t e r  X  )G o T o N e x t H e a d e r F o o t e r  1G o T o P r e v i o u s H e a d e r F o o t e r  L i n k T o P r e v i o u s  %D i f f e r e n t F i r s t P a g e  V  +D i f f e r e n t O d d E v e n P a g e s  H O  F O  C  )C l o s e H e a d e r A n d F o o t e r  U N  	U n d o  R E  	R e d o  P a s t e  	C o p y  C u t  F F  #d x r e R i b b o n C B L a r g e  U< s p a n   s t y l e = " f o n t - f a m i l y :   { 0 } ; " > { 1 } < / s p a n > F S  #d x r e R i b b o n C B S m a l l  F G  !F o n t S i z e I n c r e a s e  	S i z e  F K  !F o n t S i z e D e c r e a s e  7  C h a n g e T e x t C a s e  U  1  	B o l d  S t y l e  2  
I t a l i c  3  U n d e r l i n e  4  S t r i k e o u t  5  S u p e r s c r i p t  
S c r i p t  6  S u b s c r i p t  F C  F o n t C o l o r  C o l o r  H i g h l i g h t  C l e a r F o r m a t t i n g  L i s t B u l l e t s  L i s t N u m b e r s  M  L i s t M u l t i l e v e l  A O  I n d e n t D e c r e a s e  
I n d e n t  A I  I n d e n t I n c r e a s e  8  S h o w H i d d e n  A L  A l i g n L e f t  A l i g n  A C  A l i g n C e n t e r  A R  A l i g n R i g h t  A J  A l i g n J u s t i f y  L i n e S p a c i n g  S h a d i n g  F D  	F i n d  R e p l a c e  S e l e c t A l l  I n s e r t P a g e B r e a k  I n s e r t T a b l e  I n s e r t I m a g e  B o o k m a r k  H y p e r l i n k  
H e a d e r  
F o o t e r  P N  !I n s e r t P a g e N u m b e r  P C  I n s e r t P a g e C o u n t  I n s e r t T e x t B o x  
S y m b o l  C F  I n s e r t D a t a F i e l d  D F  T F  P F  N P  M F  D V  V i e w M e r g e d D a t a  #S h o w A l l F i e l d C o d e s  'S h o w A l l F i e l d R e s u l t s  F R  U p d a t e F i e l d  F i r s t  Q  	P r e v  	N e x t  	L a s t  M a i l M e r g e  P a g e M a r g i n s  N O  #P a g e M a r g i n s N o r m a l  N A  #P a g e M a r g i n s N a r r o w  M O  'P a g e M a r g i n s M o d e r a t e  P a g e M a r g i n s W i d e  P a g e O r i e n t a t i o n  /P a g e O r i e n t a t i o n P o r t r a i t  1P a g e O r i e n t a t i o n L a n d s c a p e  S Z  P a p e r S i z e  L T  L P  A 4  B 5  A 5  A 6  P S  J  C o l u m n s T w o  C o l u m n s O n e  C o l u m n s T h r e e  C o l u m n s  #I n s e r t C o l u m n B r e a k  S N  5I n s e r t S e c t i o n B r e a k N e x t P a g e  S E  5I n s e r t S e c t i o n B r e a k E v e n P a g e  S O  3I n s e r t S e c t i o n B r e a k O d d P a g e  P a g e C o l o r  +I n s e r t T a b l e O f C o n t e n t s  U P  +U p d a t e T a b l e O f C o n t e n t s  ;A d d P a r a g r a p h T o T a b l e O f C o n t e n t s  D  L 1  L 2  L 3  L 4  L 5  L 6  L 7  L 8  L 9  I N  I n s e r t C a p t i o n  'I n s e r t F i g u r e C a p t i o n  %I n s e r t T a b l e C a p t i o n  +I n s e r t E q u a t i o n C a p t i o n  I S  +I n s e r t T a b l e O f C a p t i o n s  T A  )I n s e r t T a b l e O f F i g u r e s  -I n s e r t T a b l e O f E q u a t i o n s  U D  	2   p t  P e n C o l o r  B o r d e r s O u t s i d e  B B  B o r d e r B o t t o m  B o r d e r T o p  L B  B o r d e r L e f t  R B  B o r d e r R i g h t  B o r d e r N o n e  B o r d e r s A l l  O B  I B  B o r d e r s I n s i d e  H B  -B o r d e r I n s i d e H o r i z o n t a l  V B  )B o r d e r I n s i d e V e r t i c a l  T G  %V i e w T a b l e G r i d l i n e s  
S e l e c t  C E  S e l e c t T a b l e C e l l  C O  #S e l e c t T a b l e C o l u m n  S e l e c t T a b l e R o w  S e l e c t T a b l e  T a b l e P r o p e r t i e s  D e l e t e T a b l e  !D e l e t e T a b l e C e l l s  %D e l e t e T a b l e C o l u m n s  D e l e t e T a b l e R o w s  )I n s e r t T a b l e R o w s A b o v e  B E  )I n s e r t T a b l e R o w s B e l o w  7I n s e r t T a b l e C o l u m n s T o T h e L e f t  9I n s e r t T a b l e C o l u m n s T o T h e R i g h t  M e r g e T a b l e C e l l s  S p l i t T a b l e C e l l s  )T a b l e A u t o F i t C o n t e n t s  %T a b l e A u t o F i t W i n d o w  +T a b l e F i x e d C o l u m n W i d t h  A l i g n T o p L e f t  T a b l e C e l l s T o p  A l i g n T o p C e n t e r  A l i g n T o p R i g h t  C L  A l i g n M i d d l e L e f t  !T a b l e C e l l s M i d d l e  C C  #A l i g n M i d d l e C e n t e r  C R  !A l i g n M i d d l e R i g h t  A l i g n B o t t o m L e f t  !T a b l e C e l l s B o t t o m  #A l i g n B o t t o m C e n t e r  !A l i g n B o t t o m R i g h t  !T a b l e C e l l M a r g i n s  S i m p l e V i e w  P r i n t L a y o u t V i e w  R u l e r H o r i z o n t a l  F u l l S c r e e n  	F o n t  F N  Z F  P a r a g r a p h  P G  Z P  C h a n g e F o n t S t y l e  Z S  Z E  Z T  Z I  Z L  Z H  T E  S P  Z B  T O  C A  !T o g g l e F i e l d C o d e s  Z M  Z V  Z O  !M o d i f y T a b l e S t y l e  Z R  Z C  Z A  Z N  	F i l e  	H o m e  
I n s e r t  P a g e L a y o u t  	V i e w  
R e v i e w  R e f e r e n c e s  T a b l e D e s i g n  J T  T a b l e L a y o u t  J L  H e a d e r A n d F o o t e r  J H  F l o a t i n g O b j e c t s  J D  I S p r i t e R i c h E d i t  GD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s .  AD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s .  R i c h E d i t  EA d d P a r a g r a p h T o T a b l e O f C o n t e n t s L a r g e  -A l i g n B o t t o m C e n t e r L a r g e  )A l i g n B o t t o m L e f t L a r g e  +A l i g n B o t t o m R i g h t L a r g e  !A l i g n C e n t e r L a r g e  IA l i g n F l o a t i n g O b j e c t B o t t o m C e n t e r L a r g e  EA l i g n F l o a t i n g O b j e c t B o t t o m L e f t L a r g e  GA l i g n F l o a t i n g O b j e c t B o t t o m R i g h t L a r g e  IA l i g n F l o a t i n g O b j e c t M i d d l e C e n t e r L a r g e  EA l i g n F l o a t i n g O b j e c t M i d d l e L e f t L a r g e  GA l i g n F l o a t i n g O b j e c t M i d d l e R i g h t L a r g e  CA l i g n F l o a t i n g O b j e c t T o p C e n t e r L a r g e  ?A l i g n F l o a t i n g O b j e c t T o p L e f t L a r g e  AA l i g n F l o a t i n g O b j e c t T o p R i g h t L a r g e  #A l i g n J u s t i f y L a r g e  A l i g n L e f t L a r g e  -A l i g n M i d d l e C e n t e r L a r g e  )A l i g n M i d d l e L e f t L a r g e  +A l i g n M i d d l e R i g h t L a r g e  A l i g n R i g h t L a r g e  'A l i g n T o p C e n t e r L a r g e  #A l i g n T o p L e f t L a r g e  %A l i g n T o p R i g h t L a r g e  B a c k g r o u n d  B a c k g r o u n d L a r g e  B o l d L a r g e  B o o k m a r k L a r g e  B o r d e r A l l L a r g e  #B o r d e r B o t t o m L a r g e  %B o r d e r D i a g o n a l D o w n  /B o r d e r D i a g o n a l D o w n L a r g e  !B o r d e r D i a g o n a l U p  +B o r d e r D i a g o n a l U p L a r g e  7B o r d e r I n s i d e H o r i z o n t a l L a r g e  3B o r d e r I n s i d e V e r t i c a l L a r g e  B o r d e r L e f t L a r g e  B o r d e r N o n e L a r g e  !B o r d e r R i g h t L a r g e  B o r d e r s A l l L a r g e  #B o r d e r s A n d S h a d i n g  -B o r d e r s A n d S h a d i n g L a r g e  B o r d e r s B o x L a r g e  %B o r d e r s C u s t o m L a r g e  !B o r d e r s G r i d L a r g e  %B o r d e r s I n s i d e L a r g e  !B o r d e r s N o n e L a r g e  'B o r d e r s O u t s i d e L a r g e  B o r d e r T o p L a r g e  )C h a n g e F o n t S t y l e L a r g e  'C h a n g e T e x t C a s e L a r g e  )C l e a r F o r m a t t i n g L a r g e  C l e a r T a b l e S t y l e  )C l e a r T a b l e S t y l e L a r g e  3C l o s e H e a d e r A n d F o o t e r L a r g e  C o l u m n s L a r g e  C o l u m n s L e f t  !C o l u m n s L e f t L a r g e  C o l u m n s O n e L a r g e  C o l u m n s R i g h t  #C o l u m n s R i g h t L a r g e  #C o l u m n s T h r e e L a r g e  C o l u m n s T w o L a r g e  C o p y L a r g e  C u t L a r g e  
D e l e t e  D e l e t e C o m m e n t  %D e l e t e C o m m e n t L a r g e  D e l e t e L a r g e  +D e l e t e T a b l e C e l l s L a r g e  /D e l e t e T a b l e C o l u m n s L a r g e  !D e l e t e T a b l e L a r g e  )D e l e t e T a b l e R o w s L a r g e  !D e l e t e _ H y p e r l i n k  +D e l e t e _ H y p e r l i n k L a r g e  /D i f f e r e n t F i r s t P a g e L a r g e  5D i f f e r e n t O d d E v e n P a g e s L a r g e  D r a f t V i e w  D r a f t V i e w L a r g e  'E d i t R a n g e P e r m i s s i o n  1E d i t R a n g e P e r m i s s i o n L a r g e  F i n d L a r g e  F i r s t L a r g e  9F l o a t i n g O b j e c t A l i g n m e n t L a r g e  ?F l o a t i n g O b j e c t B r i n g F o r w a r d L a r g e  KF l o a t i n g O b j e c t B r i n g I n F r o n t O f T e x t L a r g e  ?F l o a t i n g O b j e c t B r i n g T o F r o n t L a r g e  AF l o a t i n g O b j e c t B r i n g T o F r o n t O f T e x t  KF l o a t i n g O b j e c t B r i n g T o F r o n t O f T e x t L a r g e  9F l o a t i n g O b j e c t F i l l C o l o r L a r g e  AF l o a t i n g O b j e c t L a y o u t O p t i o n s L a r g e  ?F l o a t i n g O b j e c t O u t l i n e C o l o r L a r g e  ?F l o a t i n g O b j e c t S e n d B a c k w a r d L a r g e  CF l o a t i n g O b j e c t S e n d B e h i n d T e x t L a r g e  ;F l o a t i n g O b j e c t S e n d T o B a c k L a r g e  ?F l o a t i n g O b j e c t T e x t W r a p T y p e L a r g e  F o n t C o l o r L a r g e  F o n t L a r g e  F o n t S i z e  +F o n t S i z e D e c r e a s e L a r g e  +F o n t S i z e I n c r e a s e L a r g e  F o n t S i z e L a r g e  F o o t e r L a r g e  F u l l S c r e e n L a r g e  G o T o F o o t e r L a r g e  G o T o H e a d e r L a r g e  3G o T o N e x t H e a d e r F o o t e r L a r g e  ;G o T o P r e v i o u s H e a d e r F o o t e r L a r g e  H e a d e r L a r g e  H i d d e n T e x t  H i d d e n T e x t L a r g e  H i g h l i g h t L a r g e  H y p e r l i n k L a r g e  !I m a g e P l a c e H o l d e r  'I n d e n t D e c r e a s e L a r g e  'I n d e n t I n c r e a s e L a r g e  %I n s e r t C a p t i o n L a r g e  -I n s e r t C o l u m n B r e a k L a r g e  )I n s e r t D a t a F i e l d L a r g e  5I n s e r t E q u a t i o n C a p t i o n L a r g e  1I n s e r t F i g u r e C a p t i o n L a r g e  3I n s e r t F l o a t i n g O b j e c t I m a g e  =I n s e r t F l o a t i n g O b j e c t I m a g e L a r g e  !I n s e r t I m a g e L a r g e  )I n s e r t P a g e B r e a k L a r g e  )I n s e r t P a g e C o u n t L a r g e  +I n s e r t P a g e N u m b e r L a r g e  9I n s e r t S e c t i o n B r e a k C o n t i n u o u s  CI n s e r t S e c t i o n B r e a k C o n t i n u o u s L a r g e  ?I n s e r t S e c t i o n B r e a k E v e n P a g e L a r g e  ?I n s e r t S e c t i o n B r e a k N e x t P a g e L a r g e  =I n s e r t S e c t i o n B r e a k O d d P a g e L a r g e  /I n s e r t T a b l e C a p t i o n L a r g e  !I n s e r t T a b l e C e l l s  +I n s e r t T a b l e C e l l s L a r g e  AI n s e r t T a b l e C o l u m n s T o T h e L e f t L a r g e  CI n s e r t T a b l e C o l u m n s T o T h e R i g h t L a r g e  !I n s e r t T a b l e L a r g e  5I n s e r t T a b l e O f C a p t i o n s L a r g e  5I n s e r t T a b l e O f C o n t e n t s L a r g e  7I n s e r t T a b l e O f E q u a t i o n s L a r g e  3I n s e r t T a b l e O f F i g u r e s L a r g e  3I n s e r t T a b l e R o w s A b o v e L a r g e  3I n s e r t T a b l e R o w s B e l o w L a r g e  %I n s e r t T e x t B o x L a r g e  I t a l i c L a r g e  L a n g u a g e  L a n g u a g e L a r g e  L a s t L a r g e  L e f t C o l u m n s  L i n e N u m b e r i n g  %L i n e N u m b e r i n g L a r g e  !L i n e S p a c i n g L a r g e  'L i n k T o P r e v i o u s L a r g e  !L i s t B u l l e t s L a r g e  'L i s t M u l t i l e v e l L a r g e  !L i s t N u m b e r s L a r g e  M a i l M e r g e L a r g e  )M e r g e T a b l e C e l l s L a r g e  M o d i f y S t y l e  !M o d i f y S t y l e L a r g e  +M o d i f y T a b l e S t y l e L a r g e  N e w C o m m e n t  N e w C o m m e n t L a r g e  N e w L a r g e  N e w T a b l e S t y l e  %N e w T a b l e S t y l e L a r g e  N e x t C o m m e n t  !N e x t C o m m e n t L a r g e  N e x t L a r g e  O n e C o l u m n  O p e n L a r g e  P a g e C o l o r L a r g e  !P a g e M a r g i n s L a r g e  1P a g e M a r g i n s M o d e r a t e L a r g e  -P a g e M a r g i n s N a r r o w L a r g e  -P a g e M a r g i n s N o r m a l L a r g e  )P a g e M a r g i n s W i d e L a r g e  ;P a g e O r i e n t a t i o n L a n d s c a p e L a r g e  )P a g e O r i e n t a t i o n L a r g e  9P a g e O r i e n t a t i o n P o r t r a i t L a r g e  P a p e r S i z e L a r g e  P a r a g r a p h L a r g e  P a s t e L a r g e  P a s t e S p e c i a l  #P a s t e S p e c i a l L a r g e  P e n C o l o r L a r g e  P r e v i e w  P r e v i e w L a r g e  P r e v i o u s C o m m e n t  )P r e v i o u s C o m m e n t L a r g e  P r e v L a r g e  P r i n t  P r i n t B r o w s e r  #P r i n t B r o w s e r L a r g e  !P r i n t D i a l o g L a r g e  P r i n t L a r g e  )P r i n t L a y o u t V i e w L a r g e  'P r i n t P r e v i e w B r o w s e r  1P r i n t P r e v i e w B r o w s e r L a r g e  P r o t e c t D o c u m e n t  )P r o t e c t D o c u m e n t L a r g e  #R e a d i n g L a y o u t V i e w  -R e a d i n g L a y o u t V i e w L a r g e  R e d o L a r g e  R e p l a c e L a r g e  R e v i e w e r s  R e v i e w e r s L a r g e  R e v i e w i n g P a n e  %R e v i e w i n g P a n e L a r g e  R i g h t C o l u m n s  )R u l e r H o r i z o n t a l L a r g e  R u l e r V e r t i c a l  %R u l e r V e r t i c a l L a r g e  S a v e A l l  S a v e A l l L a r g e  S a v e A s L a r g e  S a v e L a r g e  S e l e c t A l l L a r g e  S e l e c t L a r g e  )S e l e c t T a b l e C e l l L a r g e  -S e l e c t T a b l e C o l u m n L a r g e  !S e l e c t T a b l e L a r g e  'S e l e c t T a b l e R o w L a r g e  S h a d i n g L a r g e  -S h o w A l l F i e l d C o d e s L a r g e  1S h o w A l l F i e l d R e s u l t s L a r g e  S h o w C o m m e n t s  #S h o w C o m m e n t s L a r g e  S h o w H i d d e n L a r g e  S i m p l e V i e w L a r g e  S p a c i n g D e c r e a s e  )S p a c i n g D e c r e a s e L a r g e  S p e l l C h e c k  'S p e l l C h e c k A s Y o u T y p e  1S p e l l C h e c k A s Y o u T y p e L a r g e  S p e l l C h e c k L a r g e  S p l i t T a b l e  )S p l i t T a b l e C e l l s L a r g e  S p l i t T a b l e L a r g e  S t r i k e o u t D o u b l e  )S t r i k e o u t D o u b l e L a r g e  S t r i k e o u t L a r g e  S u b s c r i p t L a r g e  !S u p e r s c r i p t L a r g e  S y m b o l L a r g e  3T a b l e A u t o F i t C o n t e n t s L a r g e  /T a b l e A u t o F i t W i n d o w L a r g e  +T a b l e C e l l M a r g i n s L a r g e  5T a b l e F i x e d C o l u m n W i d t h L a r g e  )T a b l e P r o p e r t i e s L a r g e  T a b l e S t y l e L a r g e  'T e x t W r a p I n l i n e L a r g e  'T e x t W r a p B e h i n d L a r g e  5T e x t W r a p I n F r o n t O f T e x t L a r g e  'T e x t W r a p S q u a r e L a r g e  )T e x t W r a p T h r o u g h L a r g e  %T e x t W r a p T i g h t L a r g e  3T e x t W r a p T o p A n d B o t t o m L a r g e  T h r e e C o l u m n s  +T o g g l e F i e l d C o d e s L a r g e  T w o C o l u m n s  U n d e r l i n e D o u b l e  )U n d e r l i n e D o u b l e L a r g e  U n d e r l i n e L a r g e  U n d e r l i n e W o r d  %U n d e r l i n e W o r d L a r g e  U n d o L a r g e  #U n p r o t e c t D o c u m e n t  -U n p r o t e c t D o c u m e n t L a r g e  !U p d a t e F i e l d L a r g e  5U p d a t e T a b l e O f C o n t e n t s L a r g e  'V i e w M e r g e d D a t a L a r g e  /V i e w T a b l e G r i d l i n e s L a r g e  
Z o o m I n  Z o o m I n L a r g e  Z o o m O u t  Z o o m O u t L a r g e  I S p r i t e  I c o n s  
G I c o n s  G W I c o n s  G W T I c o n s  S V G I c o n  G I S p r i t e  G W I S p r i t e  G W T I S p r i t e  S V G S p r i t e  W T S V G S p r i t e  S V G S p r i t e N e w  W T S V G S p r i t e N e w  c o l u m n s C o u n t  W o r k D i r e c t o r y  5S h o w C o n f i r m O n L o s i n g C h a n g e s  -C o n f i r m O n L o s i n g C h a n g e s  S h o w S t a t u s B a r  R e a d O n l y  A u t o S a v e M o d e  A u t o S a v e T i m e o u t  v i e w M e r g e D a t a  {D e v E x p r e s s . W e b . A S P x R i c h E d i t . D e s i g n . R i c h E d i t C o m m o n F o r m D e s i g n e r  #w o r k S e s s i o n I s L o s t  s t a r t R e s p o n s e  u n i t s  v i e w s S e t t i n g s  !p r i n t i n g S e t t i n g s  !h a s W o r k D i r e c t o r y  r u l e r S e t t i n g s  #b o o k m a r k s S e t t i n g s  f i e l d s S e t t i n g s  c l i e n t G u i d  #u n i t A b b r e v i a t i o n s  !m a i l M e r g e O p t i o n s  )s p e l l C h e c k e r S e t t i n g s  'a u t o C o r r e c t S e t t i n g s  5d o c u m e n t P r o t e c t i o n S e t t i n g s  
_ f o n t s  	_ p d f  s t r i n g R e s o u r c e s  m e n u I c o n S e t  n e e d U s e S v g  r e a d O n l y  3_ w o r k S e s s i o n I s L o s t N o E r r o r  c o n f i r m U p d a t e  r i b b o n C l i e n t I D  d e f a u l t F o l d e r  f o n t s  m a p p i n g s  [D e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . P d f K i t . j s  p d f K i t S c r i p t U r l  h i g h l i g h t R a n g e s  s h o w B r a c k e t s  'r a n g e H i g h l i g h t C o l o r  7r a n g e H i g h l i g h t B r a c k e t s C o l o r  'a u t h e n t i c a t i o n E M a i l  'a u t h e n t i c a t i o n G r o u p  -a u t h e n t i c a t i o n U s e r N a m e  1e n a b l e A u t o m a t i c N u m b e r i n g  3c o r r e c t T w o I n i t i a l C a p i t a l s  d e t e c t U r l s  )r e p l a c e T e x t A s Y o u T y p e  r e p l a c e I n f o  h e a d e r F o o t e r  
h e a d e r  
f o o t e r  f i r s t P a g e H e a d e r  f i r s t P a g e F o o t e r  e v e n P a g e H e a d e r  e v e n P a g e F o o t e r  o d d P a g e H e a d e r  o d d P a g e F o o t e r  s a m e A s P r e v i o u s  %s e q C a p t i o n P r e f i x e s  f i g u r e P r e f i x  t a b l e P r e f i x  e q u a t i o n P r e f i x  c o m m o n L a b e l s  #n o T o c E n t r i e s F o u n d  -c l i c k T o F o l l o w H y p e r l i n k  ?c u r r e n t D o c u m e n t H y p e r l i n k T o o l t i p  !q u i c k S e a r c h P a n e l  i t e m s  n o M a t c h e s  o f  i s E n a b l e d  )c u s t o m D i c t i o n a r y G u i d  c a n A d d W o r d  !m a x R e q u e s t L e n g t h  -c o n f l i c t N a m e R e s o l u t i o n  v i s i b i l i t y  c o l o r  /u p d a t e F i e l d s B e f o r e P r i n t  'u p d a t e F i e l d s O n P a s t e  #d e f a u l t T i m e F o r m a t  #d e f a u l t D a t e F o r m a t  )o p e n H y p e r l i n k O n C l i c k  -c r e a t e H y p e r l i n k T o o l t i p  5a l l o w e d H y p e r l i n k U r i S c h e m e s  v i e w T y p e  p a d d i n g s  	m o d e  	u n i t  p e r c e n t  9p a r a g r a p h R i b b o n S t y l e C s s C l a s s  9c h a r a c t e r R i b b o n S t y l e C s s C l a s s  1t a b l e R i b b o n S t y l e C s s C l a s s  #a l l o w I n s e r t F i e l d s  v i e w M e r g e d D a t a  #a c t i v e R e c o r d I n d e x  r e c o r d C o u n t  
t i t l e s  
s t y l e s  s h o w L e f t I n d e n t  s h o w R i g h t I n d e n t  s h o w T a b s  f i r s t L i n e I n d e n t  h a n g i n g I n d e n t  l e f t I n d e n t  r i g h t I n d e n t  m a r g i n L e f t  m a r g i n R i g h t  t a b L e f t  t a b R i g h t  t a b C e n t e r  t a b D e c i m a l  	l e f t  #L e f t T a b D r a g H a n d l e  r i g h t  %R i g h t T a b D r a g H a n d l e  
c e n t e r  'C e n t e r T a b D r a g H a n d l e  d e c i m a l  )D e c i m a l T a b D r a g H a n d l e  )f i r s t L i n e I n d e n t I m a g e  3F i r s t L i n e I n d e n t D r a g H a n d l e  l e f t I n d e n t I m a g e  )L e f t I n d e n t D r a g H a n d l e  !r i g h t I n d e n t I m a g e  +R i g h t I n d e n t D r a g H a n d l e  )c o l u m n S e p a r a t o r I m a g e  3C o l u m n S e p a r a t o r D r a g H a n d l e  t a b I m a g e s  t a b  	l i n e  c o n t r o l  w r a p p e r  %A S P x C l i e n t R i c h E d i t  R i b b o n M o d e  A c t i v e T a b I n d e x  %A s s o c i a t e d R i b b o n I D  c u r r e n t D i a l o g  o p e n f i l e d i a l o g  s a v e f i l e d i a l o g  s p e l l i n g d i a l o g  f o n t d i a l o g  t a b s d i a l o g  p a r a g r a p h d i a l o g  p a g e s e t u p d i a l o g  h y p e r l i n k d i a l o g  b o o k m a r k s d i a l o g  c o l u m n s d i a l o g  s y m b o l s d i a l o g  #i n s e r t t a b l e d i a l o g  #i n s e r t i m a g e d i a l o g  #f i n d r e p l a c e d i a l o g  a l e r t d i a l o g  'n u m b e r i n g l i s t d i a l o g  'b o r d e r s h a d i n g d i a l o g  'l a y o u t o p t i o n s d i a l o g  3s i m p l e n u m b e r i n g l i s t d i a l o g  %b u l l e t e d l i s t d i a l o g  ;m u l t i l e v e l n u m b e r i n g l i s t d i a l o g  -i n s e r t m e r g e f i e l d d i a l o g  -i n s e r t t a b l e c e l l s d i a l o g  -d e l e t e t a b l e c e l l s d i a l o g  )f i n i s h a n d m e r g e d i a l o g  +t a b l e p r o p e r t i e s d i a l o g  +s p l i t t a b l e c e l l s d i a l o g  F i l e M a n a g e r  c o l u m n s E d i t o r  c g u i d  
R E I T S :  
R E I S U :  
R E I S E :  f o l d e r M a n a g e r  _D e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . C o m p i l e d . j s  }D e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . R i c h E d i t C u s t o m R e s o u r c e s . j s  gD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . L o c a l i z a t i o n . j s  ?R i c h E d i t P o p u p M e n u I t e m P r o p e r t i e s  OR i c h E d i t S p e l l i n g P o p u p M e n u I t e m P r o p e r t i e s  WA S P x C l i e n t R i c h E d i t . P o p u p M e n u I t e m P r o p e r t i e s =  ; 
  gA S P x C l i e n t R i c h E d i t . S p e l l i n g P o p u p M e n u I t e m P r o p e r t i e s =  UD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . S y s t e m . c s s  WD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . I S p r i t e . c s s  WD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . D e f a u l t . c s s  i s c  c o m m a n d s  	R E C |  D i a l o g F o r m  s e s s i o n G u i d  f i l e N a m e  s c m d s  'i g n o r e d C o m m a n d T y p e s  
R E U C U P  % R i c h E d i t  5M a i l M e r g e A c t i v e R e c o r d I n d e x  eD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . F i l e M a n a g e r . j s  ;A S P x C l i e n t R i c h E d i t F i l e M a n a g e r  D e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . F i l e M a n a g e r U p l o a d C o n t r o l . j s  KA S P x . R i c h E d i t F i l e M a n a g e r U p l o a d C o n t r o l  iD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . F o l d e r M a n a g e r . j s  ?A S P x C l i e n t R i c h E d i t F o l d e r M a n a g e r  5A S P x . R i c h E d i t U p l o a d C o n t r o l  iD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . U p l o a d C o n t r o l . j s  )R e s t a r t N u m b e r i n g L i s t  +C o n t i n u e N u m b e r i n g L i s t  t a b l e C e l l A l i g n  w r a p T y p e  C a s e S e n s i t i v e  c a s e S e n s i t i v e  d i c t i o n a r y  !S o u r c e F o n t F a m i l y  'D e s t i n a t i o n F o n t N a m e  !s o u r c e F o n t F a m i l y  'd e s t i n a t i o n F o n t N a m e  	N a m e  F o n t F a m i l y  U s e G o o g l e F o n t s  R e g u l a r F o n t U r i  B o l d F o n t U r i  I t a l i c F o n t U r i  #B o l d I t a l i c F o n t U r i  \ s +  +  h t t p s : / / f o n t s . g o o g l e a p i s . c o m / c s s ? f a m i l y = { 0 } : r e g u l a r , b o l d , i t a l i c , b o l d i t a l i c  	n a m e  f o n t F a m i l y  'g o o g l e F o n t s R e s p o n s e  u s e G o o g l e F o n t s  r e g u l a r F o n t U r i  b o l d F o n t U r i  i t a l i c F o n t U r i  #b o l d I t a l i c F o n t U r i  D e f a u l t F o n t N a m e  d e f a u l t F o n t N a m e  r u l e s  T h e   F o n t s . M a p p i n g S e t t i n g s . D e f a u l t F o n t N a m e   p r o p e r t y   i s   n o t   s p e c i f i e d .  GT h e   d e f a u l t   f o n t   n a m e   i s   u n k n o w n :   ' ' wA   f o n t   m a p p i n g   r u l e   h a s   a n   u n k n o w n   d e s t i n a t i o n   f o n t   n a m e :   ' D e f a u l t F o l d e r  
f o n t s /  A d d D e f a u l t F o n t s  E M a i l  G r o u p  P a s s w o r d  U s e r N a m e  	W h a t  	W i t h  	w h a t  	w i t h  1E n a b l e A u t o m a t i c N u m b e r i n g  3C o r r e c t T w o I n i t i a l C a p i t a l s  D e t e c t U r l s  )R e p l a c e T e x t A s Y o u T y p e  5U s e S p e l l C h e c k e r S u g g e s t i o n s  P r i n t i n g  C r e a t e N e w  	D r a g  	D r o p  T a b M a r k e r  	  'P a g e B r e a k I n s e r t M o d e  D o w n l o a d  MR a i s e C l i e n t E v e n t s O n M o d i f i c a t i o n s V i a A P I  A c c e p t s T a b  %D o c u m e n t C a p a b i l i t y  5P a s t e L i n e B r e a k S u b s t i t u t i o n  T o u c h  'U s e F o n t S u b s t i t u t i o n  !F o n t S u b s t i t u t i o n  U s e T h e m e F o n t s  +P a s t e S i n g l e C e l l A s T e x t  O v e r t y p e A l l o w e d  O f f i c e S c r o l l i n g  Z o o m i n g  M a x Z o o m F a c t o r  M i n Z o o m F a c t o r  F o n t S o u r c e  F o r e C o l o r S o u r c e  9D o c u m e n t P r o p e r t i e s A u t o U p d a t e  KK e e p T e x t H i g h l i g h t i n g O n C l e a r F o r m a t t i n g  1R i g h t T o L e f t T e x t D i r e c t i o n  -E a s t A s i a n T e x t A l i g n m e n t  E n c r y p t  -C o n f l i c t N a m e R e s o l u t i o n  GD i s p l a y B o o k m a r k s I n P d f N a v i g a t i o n P a n e  ?D i s p l a y U n r e f e r e n c e d P d f B o o k m a r k s  V i s i b i l i t y  %C a s e S e n s i t i v e N a m e s  V a l  B o o k m a r k s  'C h a r a c t e r F o r m a t t i n g  C h a r a c t e r S t y l e  C o m m e n t s  E n d N o t e s  
F i e l d s  I n l i n e S h a p e s  F o o t N o t e s  H e a d e r s F o o t e r s  H y p e r l i n k s  I n l i n e P i c t u r e s  'P a r a g r a p h F o r m a t t i n g  P a r a g r a p h F r a m e s  P a r a g r a p h S t y l e  P a r a g r a p h s  P a r a g r a p h T a b s  S e c t i o n s  
T a b l e s  T a b l e S t y l e  T a b S y m b o l  T r a c k C h a n g e s  !P a r a g r a p h B o r d e r s  O l e O b j e c t s  A c t i v e X  
C h a r t s  
M a c r o s  W a t e r m a r k s  C o n t e n t C o n t r o l s  M a t h E q u a t i o n s  P a g e B o r d e r s  /U p d a t e F i e l d s B e f o r e P r i n t  'U p d a t e F i e l d s O n P a s t e  )O p e n H y p e r l i n k O n C l i c k  -C r e a t e H y p e r l i n k T o o l t i p  #D e f a u l t T i m e F o r m a t  #D e f a u l t D a t e F o r m a t  5A l l o w e d H y p e r l i n k U r i S c h e m e s  S h o w L e f t I n d e n t  S h o w R i g h t I n d e n t  S h o w T a b s  B u l l e t e d  M u l t i L e v e l  
S i m p l e  )I g n o r e U p p e r C a s e W o r d s  )I g n o r e M i x e d C a s e W o r d s  -I g n o r e W o r d s W i t h N u m b e r s  'I g n o r e R e p e a t e d W o r d s  I g n o r e E m a i l s  I g n o r e U r i  E n c o d i n g  P r i n t M o d e  B r a c k e t s C o l o r  -H i g h l i g h t B r a c k e t s C o l o r  H i g h l i g h t C o l o r  A l l  	L e f t  R i g h t  T o p  
B o t t o m  t o p  
b o t t o m  E n a b l e d  'L e v e n s h t e i n D i s t a n c e  S u g g e s t i o n C o u n t  C u l t u r e  !M a x R e q u e s t L e n g t h  V i e w T y p e  	. d o c  . d o c x  . e p u b  . h t m l  	. h t m  	. m h t  
. m h t m l  	. o d t  	. t x t  	. r t f  	. x m l  #R o o t F o l d e r U r l P a t h  C u s t o m C o m m a n d  	. j p e  . j p e g  	. j p g  	. g i f  	. p n g  /S h o w E m a i l A d d r e s s S e c t i o n  +S h o w F i l e U p l o a d S e c t i o n  %D i s p l a y S e c t i o n M o d e  +C u s t o m C o m m a n d E x e c u t e d  )B e g i n S y n c h r o n i z a t i o n  %E n d S y n c h r o n i z a t i o n  D o c u m e n t C h a n g e d  D o c u m e n t L o a d e d  #D o c u m e n t F o r m a t t e d  1A c t i v e S u b D o c u m e n t C h a n g e d  P o i n t e r D o w n  P o i n t e r U p  K e y D o w n  K e y U p  C o n t e n t I n s e r t e d  C o n t e n t R e m o v e d  5C h a r a c t e r P r o p e r t i e s C h a n g e d  5P a r a g r a p h P r o p e r t i e s C h a n g e d  A u t o C o r r e c t  !P o p u p M e n u S h o w i n g  H y p e r l i n k C l i c k  !S e l e c t i o n C h a n g e d  G o t F o c u s  L o s t F o c u s  'F l o a t i n g O b j e c t M o v e d  )r e L o a d i n g O n S t a t u s B a r  +Q u i c k S e a r c h P r e v B u t t o n  +Q u i c k S e a r c h N e x t B u t t o n  3Q u i c k S e a r c h C o l l a p s e B u t t o n  -Q u i c k S e a r c h C l o s e B u t t o n  UD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . s p r i t e . c s s  !r e E r r o r U n d e r l i n e  r e A n c h o r  #r e A u t o S c r o l l A r r o w  'r e A u t o S c r o l l C u r s o r N  )r e A u t o S c r o l l C u r s o r N S  'r e A u t o S c r o l l C u r s o r S  s t a r t T a b l e M a r k  B o r d e r s B o x  B o r d e r s C u s t o m  B o r d e r s G r i d  B o r d e r s N o n e  UD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . I S p r i t e  WD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . G I S p r i t e  YD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . G W I S p r i t e  [D e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . G W T I S p r i t e  gD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . d t _ S V G S p r i t e . p n g  	T e x t  C o m m a n d N a m e  I m a g e N a m e  B e g i n G r o u p  !C h e c k e d G r o u p N a m e  	t e x t  b e g i n G r o u p  i m a g e N a m e  g r o u p N a m e  	U n i t  	d x r e  !Q u i c k S e a r c h P a n e l  !d x r e L o a d i n g P a n e l  
{ 0 } { 1 }  M o d a l B a c k L i t e  C o n t r o l S t y l e  R u l e r  R u l e r L i n e  T a b D r a g H a n d l e  R u l e r W r a p p e r  !P r o p e r t y N a m e s R e s  .  CD e v E x p r e s s . W e b . A S P x R i c h E d i t . v 2 4 . 2  WD e v E x p r e s s . W e b . A S P x R i c h E d i t . L o c a l i z a t i o n R e s  F o n t   s t y l e  
N o r m a l  B o l d   I t a l i c  F o n t   s i z e  F o n t   c o l o r  U n d e r l i n e   s t y l e  U n d e r l i n e   c o l o r  
E f f e c t  A l l   c a p s  S m a l l   c a p s  
H i d d e n  )U n d e r l i n e   w o r d s   o n l y  	N o n e  
S i n g l e  
D o t t e d  
D a s h e d  D a s h   D o t t e d  D a s h   D o t   D o t t e d  
D o u b l e  H e a v y   W a v e  L o n g   D a s h e d  T h i c k   S i n g l e  T h i c k   D o t t e d  T h i c k   D a s h e d  #T h i c k   D a s h   D o t t e d  +T h i c k   D a s h   D o t   D o t t e d  #T h i c k   L o n g   D a s h e d  D o u b l e   W a v e  	W a v e  D a s h   S m a l l   G a p  'I n d e n t s   A n d   S p a c i n g  )L i n e   A n d   P a g e   B r e a k s  G e n e r a l  A l i g n m e n t  C e n t e r e d  J u s t i f i e d  O u t l i n e   l e v e l  B o d y   T e x t  L e v e l  I n d e n t a t i o n  S p e c i a l  B y  
( n o n e )  F i r s t   l i n e  H a n g i n g  S p a c i n g  
B e f o r e  L i n e   s p a c i n g  A t  A f t e r  1 . 5   l i n e s  M u l t i p l e  E x a c t l y  A t   l e a s t  gD o n ' t   a d d   s p a c e   b e t w e e n   p a r a g r a p h   o f   t h e   s a m e   s t y l e P a g i n a t i o n  'K e e p   l i n e s   t o g e t h e r  #P a g e   b r e a k   b e f o r e  O p t i o n s  /S a v e   f i l e   t o   t h e   s e r v e r  D o w n l o a d   a   c o p y  F o l d e r   p a t h  F i l e   t y p e  F i l e   n a m e  3C h o o s e   d o w n l o a d   f i l e   t y p e  S a v e   f i l e   a s  #I n v a l i d   f i l e   n a m e  eP a t h   d o e s   n o t   e x i s t . 
 C h e c k   t h e   p a t h   a n d   t r y   a g a i n .  P o r t r a i t  L a n d s c a p e  C o n t i n u o u s  N e w   p a g e  E v e n   p a g e  O d d   p a g e  W h o l e   d o c u m e n t  C u r r e n t   s e c t i o n  #S e l e c t e d   s e c t i o n s  %T h i s   p o i n t   f o r w a r d  M a r g i n s  P a p e r  
L a y o u t  O r i e n t a t i o n  P a p e r   s i z e  W i d t h  
H e i g h t  S e c t i o n  S e c t i o n   s t a r t  'H e a d e r s   a n d   f o o t e r s  -D i f f e r e n t   o d d   a n d   e v e n  )D i f f e r e n t   f i r s t   p a g e  A p p l y   t o  F r o m   e d g e  
C a n c e l  O K  
C h a n g e  C l o s e  T a b l e   S i z e  #N u m b e r   o f   c o l u m n s  N u m b e r   o f   r o w s  1M e r g e   c e l l s   b e f o r e   s p l i t  #S h i f t   c e l l s   r i g h t  !S h i f t   c e l l s   d o w n  #I n s e r t   e n t i r e   r o w  )I n s e r t   e n t i r e   c o l u m n  !S h i f t   c e l l s   l e f t  S h i f t   c e l l s   u p  #D e l e t e   e n t i r e   r o w  )D e l e t e   e n t i r e   c o l u m n  %F r o m   t h e   w e b   ( U R L )  %F r o m   y o u r   c o m p u t e r  /E n t e r   i m a g e   w e b   a d d r e s s  cB r o w s e   y o u r   c o m p u t e r   f o r   t h e   i m a g e   f i l e   t o   u p l o a d  I m a g e   p r e v i e w  %V e r t i c a l   a l i g n m e n t  M e a s u r e   i n  P r e f e r r e d   w i d t h  !I n d e n t   f r o m   l e f t  S p e c i f y   h e i g h t  R o w   h e i g h t   i s  T a b l e  R o w  
C o l u m n  	C e l l  O p t i o n s . . .  -B o r d e r s   a n d   S h a d i n g . . .  P r e v i o u s   r o w  N e x t   r o w  P r e v i o u s   c o l u m n  N e x t   c o l u m n  ?A l l o w   r o w   t o   b r e a k   a c r o s s   p a g e s  )D e f a u l t   c e l l   m a r g i n s  )D e f a u l t   c e l l   s p a c i n g  7A l l o w   s p a c i n g   b e t w e e n   c e l l s  IA u t o m a t i c a l l y   r e s i z e   t o   f i t   c o n t e n t s  B o r d e r s  	F i l l  mC l i c k   o n   d i a g r a m   b e l o w   o r   u s e   b u t t o n s   t o   a p p l y   b o r d e r s  B o x  	G r i d  
C u s t o m  C e l l   m a r g i n s  /S a m e   a s   t h e   w h o l e   t a b l e  W r a p   t e x t  P r e s e t s  #W i d t h   a n d   s p a c i n g  %E q u a l   c o l u m n   w i d t h  
C o l   # :  P a g e   L a y o u t  M a i l   M e r g e  !H e a d e r   & &   F o o t e r  
D e s i g n  
F o r m a t  U n d o / C l i p b o a r d  C l i p b o a r d  E d i t i n g  
C o m m o n  
S t y l e s  	Z o o m  	S h o w  I l l u s t r a t i o n s  S y m b o l s  L i n k s  P a g e s  N a v i g a t i o n  I n s e r t   F i e l d s  C u r r e n t   R e c o r d  
F i n i s h  D o c u m e n t   V i e w s  P o s i t i o n  P a g e   S e t u p  P r o t e c t  P r o o f i n g  C o m m e n t  T r a c k i n g  #T a b l e   o f   C o n t e n t s  A r r a n g e  S h a p e   S t y l e s  C a p t i o n s  'T a b l e   S t y l e   O p t i o n s  T a b l e   S t y l e s  'B o r d e r s   & &   S h a d i n g s  R o w s   & &   C o l u m n s  M e r g e  C e l l   S i z e  -T h i s   f i e l d   i s   r e q u i r e d  F u l l   S c r e e n  ME n a b l e   /   d i s a b l e   t h e   f u l l   s c r e e n   m o d e .  S a v e   A s  I n s e r t   T a b l e  I n s e r t   C e l l s  D e l e t e   C e l l s  S p l i t   C e l l s  !T a b l e   P r o p e r t i e s  'B o r d e r s   a n d   S h a d i n g  I n s e r t   P i c t u r e  E r r o r  %I n s e r t   M e r g e   F i e l d  E x p o r t   R a n g e  !F i n d   a n d   R e p l a c e  S p e l l i n g  I n f o r m a t i o n  W a r n i n g  M a r g i n   L e f t  M a r g i n   R i g h t  #F i r s t   L i n e   I n d e n t  H a n g i n g   I n d e n t  L e f t   I n d e n t  R i g h t   I n d e n t  L e f t   T a b  R i g h t   T a b  C e n t e r   T a b  D e c i m a l   T i t l e  
N a r r o w  M o d e r a t e  	W i d e  T h e   d o c u m e n t   h a s   b e e n   m o d i f i e d   o u t s i d e   t h e   e d i t o r   a n d   n e e d s   t o   b e   r e l o a d e d .   < b r   / > Y o u r   l a s t - m i n u t e   c h a n g e s   m i g h t   n o t   b e   p r e s e r v e d ,   i f   a n y . Y o u r   s e s s i o n   h a s   e x p i r e d .   < b r   / > P l e a s e   r e f r e s h   t h e   p a g e   t o   c o n t i n u e .  T h e   o p e n   a n d   s a v e   d o c u m e n t   o p e r a t i o n s   a r e   n o t   a l l o w e d   s i n c e   t h e   w o r k i n g   d i r e c t o r y   i s   n o t   s p e c i f i e d   f o r   t h e   e d i t o r .  C a n n o t   s a v e   a   d o c u m e n t   o p e n e d   n o t   f r o m   a   f i l e .   H a n d l e   t h e   S a v i n g   e v e n t   t o   p r o c e s s   c u s t o m   s a v i n g  [A c c e s s   t o   t h e   c l i p b o a r d   i s   d e n i e d   d u e   t o   y o u r   b r o w s e r ' s   s e c u r i t y   p o l i c y .   < b r   / > I n s t e a d ,   y o u   c a n   u s e   t h e   k e y b o a r d   s h o r t c u t s : < b r   / > { 0 } + X   ( c u t ) ,   { 0 } + C   ( c o p y )   a n d   { 0 } + V   ( p a s t e ) . EA c c e s s   t o   t h e   c l i p b o a r d   i s   d e n i e d   d u e   t o   y o u r   b r o w s e r ' s   s e c u r i t y   p o l i c y .   I n s t e a d ,   u s e   t h e   n a t i v e   m e n u   t h a t   c a n   b e   i n v o k e d   b y   t a p p i n g   a n d   h o l d i n g   s e l e c t e d   c o n t e n t . A n   u n s p e c i f i e d   e r r o r   o c c u r r e d   a n d   t h e   e d i t o r   n e e d s   t o   b e   r e l o a d e d .   Y o u r   l a s t   c h a n g e s   c a n   b e   l o s t .  A c c e s s   t o   t h e   d o c u m e n t   i s   r e s t r i c t e d   a n d   t h e   e d i t o r   n e e d s   t o   b e   r e l o a d e d .   Y o u r   l a s t   c h a n g e s   c a n   b e   l o s t .  A r e   y o u   s u r e   y o u   w a n t   t o   p e r f o r m   t h e   a c t i o n ?   A l l   u n s a v e d   d o c u m e n t   d a t a   w i l l   b e   l o s t .  #R e s t a r t   N u m b e r i n g  %C o n t i n u e   N u m b e r i n g  U p d a t e   F i e l d  %T o g g l e   F i e l d   C o d e s  O p e n   h y p e r l i n k  !E d i t   h y p e r l i n k . .  !R e m o v e   h y p e r l i n k  T h e   d o c u m e n t   c o u l d   n o t   b e   o p e n e d   b e c a u s e   a   s e r v e r   e r r o r   o c c u r r e d .  T h e   d o c u m e n t   c o u l d   n o t   b e   s a v e d   b e c a u s e   a   s e r v e r   e r r o r   o c c u r r e d .  T h e   D O C V A R I A B L E   f i e l d   c o u l d   n o t   b e   c a l c u l a t e d   b e c a u s e   a   s e r v e r   e r r o r   o c c u r r e d .  T h e   I n s e r t C o n t e n t F r o m S e r v e r C o m m a n d   c o u l d   n o t   b e   e x e c u t e d   b e c a u s e   a   s e r v e r   e r r o r   o c c u r r e d .  ST h e   f i l e   i s   c o r r u p t   a n d   c a n n o t   b e   o p e n e d .  3C o u l d   n o t   l o a d   t h e   i m a g e .  C r e a t e   F i e l d  C r e a t e   a   d y n a m i c   e l e m e n t   u s e d   a s   a   p l a c e h o l d e r   f o r   d a t a   t h a t   m i g h t   c h a n g e   i n   a   d o c u m e n t .  #U p d a t e   A l l   F i e l d s  R e f r e s h   a l l   d y n a m i c   e l e m e n t s   i n   t h e   d o c u m e n t   b y   g e t t i n g   t h e   l a t e s t   s o u r c e   d a t a .  !P a r a g r a p h   S t y l e s  !C h a r a c t e r   S t y l e s  -B u l l e t e d   a n d   N u m b e r i n g  /C u s t o m i z e   N u m b e r e d   L i s t  /C u s t o m i z e   B u l l e t e d   L i s t  -C u s t o m i z e   O u t l i n e   L i s t  	T a b s  	n o n e  Sa l r e a d y   e x i s t .   D o   y o u   w a n t   t o   r e p l a c e   i t ?  C h a r a c t e r . . .  F o n t . . .  !B u l l e t   c h a r a c t e r  B u l l e t   p o s i t i o n  T e x t   p o s i t i o n  A l i g n e d   a t  I n d e n t   a t  S t a r t   a t  N u m b e r   f o r m a t  N u m b e r   s t y l e  N u m b e r   p o s i t i o n  
C e n t e r  %F o l l o w   N u m b e r   W i t h  T a b   c h a r a c t e r  S p a c e  N o t h i n g  C u s t o m i z e . . .  N u m b e r e d  !O u t l i n e   N u m b e r e d  E - m a i l   a d d r e s s U R L  W e b   p a g e  -P l a c e   i n   t h i s   d o c u m e n t  E - m a i l   t o S u b j e c t  #D i s p l a y P r o p e r t i e s  T o o l T i p  I n v a l i d   E - m a i l I n v a l i d   U R L  S e t  C l e a r  C l e a r   A l l  #T a b   s t o p   p o s i t i o n  #D e f a u l t   t a b   s t o p s  /T a b   s t o p s   t o   b e   c l e a r e d  
L e a d e r  D e c i m a l  H y p h e n s  E q u a l   s i g n s  	D o t s  M i d d l e   d o t s  T h i c k   l i n e  	F r o m  C o u n t  M e r g e   m o d e  A l l   r e c o r d s  C u r r e n t   r e c o r d  R a n g e  N e w   P a r a g r a p h  N e w   S e c t i o n  J o i n   T a b l e s  B o o k m a r k   n a m e  S o r t   b y  L o c a t i o n  A d d  G o   T o  OB o o k m a r k   n a m e s   m u s t   b e g i n   w i t h   a   l e t t e r  A d v a n c e d   f i n d  R e p l a c e   A l l  R e p l a c e   w i t h  P r e v i o u s  M a t c h   c a s e  R e s u l t s  WW e   c o u l d n ' t   f i n d   w h a t   y o u   w e r e   l o o k i n g   f o r . T h e   r e s u l t   i s   t o o   l o n g .   C h e c k   o u t   t h e   p a g e s   t o   s e e   y o u r   r e s u l t s   i n   t e x t .  ={ 0 }   e n t r i e s   h a v e   b e e n   r e p l a c e d  I t e m s  N o   m a t c h e s  ?T h e   s p e l l i n g   c h e c k   i s   c o m p l e t e .  I g n o r e   O n c e  I g n o r e   A l l  #A d d   t o   D i c t i o n a r y  C h a n g e   A l l  %N o t   i n   D i c t i o n a r y :  R e p e a t e d   W o r d :  S u g g e s t i o n s :  3( n o   s p e l l i n g   s u g g e s t i o n s )  S e n t e n c e   c a s e .  C e l l   M a r g i n s  -C u s t o m i z e   c e l l   m a r g i n s  !H e a d e r   f r o m   T o p :  'F o o t e r   f r o m   B o t t o m :  S p e c i f y   t h e   d i s t a n c e   f r o m   t h e   t o p   o f   t h e   p a g e   t o   t h e   t o p   o f   t h e   h e a d e r .  S p e c i f y   t h e   d i s t a n c e   f r o m   t h e   b o t t o m   o f   t h e   p a g e   t o   t h e   b o t t o m   o f   t h e   f o o t e r .  #I n   l i n e   w i t h   t e x t  L o c k   A n c h o r  #L o c k   a s p e c t   r a t i o  R e s e t  B o t h   s i d e s  L e f t   o n l y  R i g h t   o n l y  L a r g e s t   o n l y  
I n s i d e  O u t s i d e  V e r t i c a l  H o r i z o n t a l  r e l a t i v e   t o  #A b s o l u t e   p o s i t i o n  #R e l a t i v e   p o s i t i o n  B o o k   l a y o u t  t o   t h e   r i g h t   o f  b e l o w  T e x t   W r a p p i n g  W r a p p i n g   s t y l e  %D i s t a n c e   f r o m   t e x t  A b s o l u t e  R e l a t i v e  
R o t a t e  R o t a t i o n  S c a l e  O r i g i n a l   s i z e  T h e   f i l e   c a n n o t   b e   d e l e t e d .   I t   i s   a l r e a d y   o p e n e d   b y   a n o t h e r   u s e r .  T h e   f i l e   c a n n o t   b e   m o v e d .   I t   i s   a l r e a d y   o p e n e d   b y   a n o t h e r   u s e r .  T h e   f i l e   c a n n o t   b e   r e n a m e d .   I t   i s   a l r e a d y   o p e n e d   b y   a n o t h e r   u s e r .  	D A T E  EI n s e r t s   t h e   c u r r e n t   d a t e   a n d   t i m e .  	T I M E  3I n s e r t s   t h e   c u r r e n t   t i m e .  	P A G E  iI n s e r t s   t h e   n u m b e r   o f   t h e   p a g e   c o n t a i n i n g   t h e   f i e l d .  N U M P A G E S  EI n s e r t s   t h e   t o t a l   n u m b e r   o f   p a g e s .  M E R G E F I E L D  [R e t r i e v e s   a   v a l u e   f r o m   t h e   b o u n d   d a t a   s o u r c e .  D O C V A R I A B L E  E n a b l e s   y o u   t o   p r o g r a m m a t i c a l l y   i n s e r t   c o m p l e x   c o n t e n t   w h e n   t h i s   f i e l d   i s   u p d a t e d .  n o   f i e l d s  N o   b o o k m a r k s  n o   t a b s  F o n t   s e t t i n g s  A l i g n   P a r a g r a p h  yM a i n S t r u c t u r e s I m p o r t e r :   I n s e r t I n l i n e P i c t u r e R u n   -   i m g   i s   n u l l I m p o r t i n g :   C h a r a c t e r F o r m a t t i n g E x p o r t e r . C a c h e   h a s   n o   s u c h   i n d e x    !T x b B o o k m a r k s N a m e  !L s b B o o k m a r k N a m e s  !d x - j u s t i f i c a t i o n R b l S o r t B y  
B t n A d d  B t n D e l e t e  B t n G o T o  d x r e D l g R i g h t  B t n C a n c e l  S u b m i t B u t t o n  )d x r e D l g B o o k m a r k s F o r m  #C o n t e n t F o r m L a y o u t  #P r e v i e w F o r m L a y o u t  #O p t i o n s F o r m L a y o u t  C m b B o r d e r S t y l e  C e B o r d e r C o l o r  C m b W i d t h  C e F i l l C o l o r  -d x r e T a b l e B o r d e r P r e v i e w  /_ b o r d e r C o n t a i n e r P r e v i e w  3d x r e T a b l e P r e v i e w C o n t a i n e r  b u t t o n W i t h I m a g e  p r e s e t G r o u p  B t n P r e s e t  B t n P r e s e t    !d x r e - b u t t o n L a b l e /d x r e - d i a l o g P r e s e t B u t t o n B t n  !d x r e B o r d e r B u t t o n  { 0 } p t  B o r d e r s G r o u p  S h a d i n g G r o u p  1d x r e D l g B o r d e r S h a d i n g F o r m  P r e s e t s G r o u p  1d x r e - d i a l o g B o r d e r P r e s e t s B u l l e t C h a r a c t e r  C h a r a c t e r  B t n F o n t  B t n C h a r  B u l l e t P o s i t i o n  S p n A l i g n e d A t  -d x r e - d i a l o g S h o r t E d i t o r T e x t P o s i t i o n  S p n I n d e n t A t  b u l l e t C h a r  -d x r e D l g B u l l e t P r e s e t B t n  B u l l e t e d P r e s e t  /d x r e D l g B u l l e t e d L i s t F o r m  A r i a l  ;d x r e D l g C o l u m n s E d i t o r M a i n T a b l e  :  d x r e D l g T e x t B o x  +d x r e D i a l o g _ S p n C o l u m n s  d x r e D l g S p i n E d i t  S p n C o l u m n s     /d x r e - d i a l o g P r e s e t s P a n e l %S p n N u m b e r O f C o l u m n s  W i d t h S p a c i n g  %W i d t h S p a c i n g L a y o u t  e m p t y L a y o u t I t e m  )d x r e D l g C o l u m n s E d i t o r  d x r e - S e p a r a t o r C h k E q u a l W i d t h  C b x A p p l y T o  #d x r e D l g T a b l e W i d t h  d x r e D l g C e n t e r  %d x r e D l g C o l u m n s F o r m  C o l u m n s E d i t o r  !R b l C e l l O p e r a t i o n  +d x r e D l g T a b l e C e l l s F o r m  M e s s a g e T e x t  B t n O k  !d x r e D l g A l e r t F o r m  T x b F i n d  T x b R e p l a c e  )_ d x S e a r c h R e s u l t L a b e l  
R e s u l t  #d x r e - s e a r c h R e s u l t L s b R e s u l t  +d x r e - s e a r c h R e s u l t L i s t C h k M a t c h C a s e  I n f o B o x  !d x r e - r e p l a c e I n f o B t n N e x t  B t n P r e v i o u s  B t n R e p l a c e  B t n R e p l a c e A l l  -d x r e D l g F i n d R e p l a c e F o r m  R a n g e G r o u p  S p n F r o m  S p n C o u n t  C m b M e r g e M o d e  %R d B t t n L i s t S w i t c h e r  -d x r e D l g F i n i s h M e r g e F o r m  C b x F o n t N a m e  C b x F o n t S t y l e  C b x F o n t S i z e  C e F o n t C o l o r  #C b x U n d e r l i n e S t y l e  !C e U n d e r l i n e C o l o r  R b l S t r i k e o u t  R b l S u b s c r i p t  +d x r e C h e c k B o x C o n t a i n e r  C h k S m a l l C a p s  C h k A l l C a p s  C h k H i d d e n  )C b U n d e r l i n e W o r d s O n l y  	A u t o  E f f e c t G r o u p  d x r e D l g F o n t F o r m  R b l L i n k T o  ;d x r e - e d i t o r s G r o u p W i t h P a d d i n g s C b B o o k m a r k N a m e s  
T x b U R L  h t t p : / /  T x b E m a i l T o  T x b S u b j e c t  T x b T e x t  T x b T o o l T i p  5d x r e - d i a l o g R a d i o N a v i g a t i o n '_ d x e T x b E m a i l T o G r o u p  Y\ w + ( [ - + . ' ] \ w + ) * @ \ w + ( [ - . ] \ w + ) * \ . \ w + ( [ - . ] \ w + ) * _ d x e T x b U R L G r o u p  +^ ( ? ! \ s * j a v a s c r i p t : ) . *  )d x r e D l g H y p e r l i n k F o r m  3I n s e r t I m a g e _ R b l N a v i g a t i o n  g e n e r a l C o n t e n t  /d x r e D l g I n s e r t I m a g e P a n e l  +I n s e r t I m a g e F o r m L a y o u t  #T x b I n s e r t I m a g e U r l  I m a g e P r e v i e w  U p l I m a g e  U p l o a d C o n t r o l  H i d d e n F i e l d  3_ d x I n s e r t I m a g e P r e v i e w T e x t  5_ d x I n s e r t I m a g e P r e v i e w I m a g e  'd x r e D l g I m a g e P r e v i e w  5_ d x e T b x I n s e r t I m a g e U r l G r o u p  -d x r e D l g I n s e r t I m a g e F o r m  T x b S e a r c h  L s b F i e l d s  B t n I n s e r t  . . .  7d x r e D l g I n s e r t M e r g e F i e l d F o r m  !S p n C o l u m n s N u m b e r  #d x r e - d i a l o g E d i t o r S p n R o w s N u m b e r  T a b l e S i z e  -d x r e D l g I n s e r t T a b l e F o r m  #L a y o u t P a g e C o n t r o l  c o n t e n t  T e x t W r a p p i n g  -d x r e - p o s i t i o n T a b L a y o u t H o r i z o n a l  -R b t H o r i z o n t a l A l i g n m e n t  -C b x H o r i z o n t a l A l i g n m e n t  AC b x H o r i z o n t a l A l i g n m e n t R e l a t i v e T o  R b t B o o k L a y o u t  /C b x H o r i z o n t a l B o o k L a y o u t  3C b x H o r i z o n t a l B o o k L a y o u t O f  1R b t H o r i z o n t a l A b s P o s i t i o n  1S p n H o r i z o n t a l A b s P o s i t i o n  9C b x H o r i z o n t a l A b s T o T h e R i g h t O f  ;R b t H o r i z o n t a l R e l a t i v e P o s i t i o n  ;S p n H o r i z o n t a l R e l a t i v e P o s i t i o n  	{ 0 } %  ;C b x H o r i z o n t a l R e l P o s R e l a t i v e T o  1d x r e - d i a l o g V e r t i c a l G r o u p )R b t V e r t i c a l A l i g n m e n t  )C b x V e r t i c a l A l i g n m e n t  )C b x V e r t i c a l R e l a t i v T o  -R b t V e r t i c a l A b s P o s i t i o n  -S p n V e r t i c a l A b s P o s i t i o n  !C b x V e r t i c a l B e l o w  7R b t V e r t i c a l R e l a t i v e P o s i t i o n  7S p n V e r t i c a l R e l a t i v e P o s i t i o n  7C b x V e r t i c a l R e l P o s R e l a t i v e T o  C h k L o c k A n c h o r  W r a p p i n g S t y l e  1d x r e - d i a l o g W r a p p i n g S t y l e W r a p T e x t  R b l W r a p T e x t  !D i s t a n c e F r o m T e x t  7d x r e - d i a l o g C e l l M a r g i n s G r o u p D i s t a n c e G r o u p  -d x r e - d i a l o g C e l l M a r g i n s 
S p n T o p  kd x r e - d i a l o g S h o r t E d i t o r   d x r e - d i a l o g N o t R e s p o n s i v e E d i t o r S p n L e f t  C e l l B l o c k  )d x r e - d i a l o g C e l l B l o c k S p n R i g h t  S p n B o t t o m  %d x r e - s i z e T a b L a y o u t #R b t A b s o l u t e H e i g h t  #S p n A b s o l u t e H e i g h t  #R b t R e l a t i v e H e i g h t  #S p n R e l a t i v e H e i g h t  %C b x H e i g h t R e l a t i v T o  !R b t A b s o l u t e W i d t h  !S p n A b s o l u t e W i d t h  !R b t R e l a t i v e W i d t h  !S p n R e l a t i v e W i d t h  #C b x W i d t h R e l a t i v T o  S p n R o t a t i o n  	{ 0 }  C h k S c a l e  O r i g i n a l S i z e  Ad x r e - l a y o u t F o r m O r i g i n a l S i z e G r o u p #L b l O r i g i n a l H e i g h t  !L b l O r i g i n a l W i d t h  B t n R e s e t  M a r g i n s G r o u p  S p n T o p M a r g i n  S p n L e f t M a r g i n  S p n R i g h t M a r g i n  S p n B o t t o m M a r g i n  #d x r e D l g L a y o u t F o r m  Id x r e M u l t i L e v e l N u m b e r i n g L i s t B o x L a y o u t  L b L e v e l  +M a i n O p t i o n s F o r m L a y o u t  9d x r e - m u l t i L e v e l O p t i o n s L a y o u t N u m b e r F o r m a t  T x b N u m b e r F o r m a t  C b x N u m b e r S t y l e  +d x r e - d i a l o g L o n g E d i t o r S p n S t a r t A t  +d x r e D l g I n L a y o u t B u t t o n  F o n t B u t t o n  N u m b e r P o s i t i o n  #C b x N u m b e r P o s i t i o n  'C b x F o l l o w N u m b e r W i t h  { 0 } , { 1 } , { 2 } . . .  Ed x r e D l g M u l t i L e v e l N u m b e r i n g L i s t F o r m  1N u m b e r i n g L i s t P a g e C o n t r o l  )d x r e D l g M a i n C o n t a i n e r  )d x r e D l g N u m b e r i n g L i s t  5_ d x e A b s t r a c t N u m b e r i n g L i s t _  B u l l e t T a b  S i m p l e T a b  M u l t i L e v e l T a b  B t n C u s t o m i z e  1d x r e D l g N u m b e r i n g L i s t F o r m  %O p e n F i l e F o r m L a y o u t  'd x r e D l g O p e n F i l e F o r m  )P a g e S e t u p P a g e C o n t r o l  0  C b x P a p e r S i z e  S p n W i d t h  S p n H e i g h t  C b x S e c t i o n S t a r t  -C h k D i f f e r e n t O d d A n d E v e n  +C h k D i f f e r e n t F i r s t P a g e  
O f f s e t  !d x r e - o f f s e t G r o u p S p n H e a d e r O f f s e t  S p n F o o t e r O f f s e t  O f f s e t C o n t e n t  R b l O r i e n t a t i o n  !O r i e n t a t i o n G r o u p  P a p e r S i z e G r o u p  S e c t i o n G r o u p  -H e a d e r s A n d F o o t e r s G r o u p  )d x r e D l g P a g e S e t u p F o r m  P a r a g r a p h T a b 0  P a r a g r a p h T a b 1  G e n e r a l G r o u p  C b x A l i g n  C b x O u t l i n e L e v e l  !I n d e n t a t i o n G r o u p  +I n d e n t a t i o n F o r m L a y o u t  ?d x r e - d i a l o g P a r a g r a p h I n n e r L a y o u t ;I n d e n t a t i o n S p r e c i a l F o r m L a y o u t  C b x S p e c i a l  S p n B y  S p a c i n g G r o u p  #S p a c i n g F o r m L a y o u t  S p n B e f o r e  S p n A f t e r  +L i n e S p a c i n g F o r m L a y o u t  C b x L i n e S p a c i n g  S p n A t  0 . #  C h k N o S p a c e  
C h k K L T  
C h k P B B  { 0 }   { 1 }  B t n T a b s  )d x r e D l g P a r a g r a p h F o r m  -S a v e F i l e _ R b l N a v i g a t i o n  T b x F o l d e r P a t h  T b x F i l e N a m e  C b x F i l e T y p e  'C b x D o w n l o a d F i l e T y p e  B t n D o w n l o a d  %f o l d e r M a n a g e r P o p u p  B r o w s e P o p u p  d x p M a i n P a n e l  5p o p u p C o n t r o l C o n t e n t C o n t r o l  )u c S e l e c t F o l d e r D i a l o g  d x H f M e s s a g e  )F o l d e r I n v a l i d M e s s a g e  L a y o u t W r a p p e r  1_ d x e T b x S a v e F i l e P a t h G r o u p  !^ [ ^ / ? * : | " < > \ \ ] + $  KM i c r o s o f t   W o r d   2 0 0 7   D o c u m e n t   ( * . d o c x )  ?M i c r o s o f t   W o r d   D o c u m e n t   ( * . d o c )  1R i c h   T e x t   F o r m a t   ( * . r t f )  %T e x t   F i l e s   ( * . t x t )  SH y p e r T e x t   M a r k u p   L a n g u a g e   F o r m a t   ( * . h t m l )  AW e b   A r c h i v e ,   s i n g l e   f i l e   ( * . m h t )  GO p e n t D o c u m e n t   T e x t   D o c u m e n t   ( * . o d t )  3W o r d   X M L   D o c u m e n t   ( * . x m l )  ?E l e c t r o n i c   P u b l i c a t i o n   ( * . e p u b )  'd x r e D l g S a v e F i l e F o r m  B t n S e l e c t  B t n C a n c l e S e l e c t  =d x r e D l g S i m p l e N u m b e r i n g L i s t F o r m  %L b l N o t I n D i c t i o n a r y  L b l R e p e a t e d W o r d  M i s s p e l l e d M e m o  d x r e D l g S M  B t n I g n o r e O n c e  d x r e D l g S B  B t n I g n o r e A l l  %B t n A d d T o D i c t i o n a r y  %S u g g e s t i o n s L i s t B o x  d x r e D l g S S  B t n C h a n g e  B t n C h a n g e A l l  B t n O p t i o n s  'd x r e D l g S p e l l i n g F o r m  C h k M e r g e C e l l s  5d x r e D l g S p l i t T a b l e C e l l s F o r m  S y m b o l L i s t  %d x r e D l g S y m b o l s L i s t  %d x r e D l g S y m b o l s F o r m  5T a b l e P r o p e r t i e s P a g e C o n t r o l  #C h k T a b l e P r e f W i d t h  #S p n T a b l e P r e f W i d t h  #C b x T a b l e M e a s u r e I n  R b l A l i g m e n t  S p n I n d e n t L e f t  D e f a u l t  C h k A l l o w S p a c i n g  S p n S p a c i n g  /d x r e - d i a l o g T a b l e S p a c i n g C h k A u t o R e s i z e  !B t n B o r d e r S h a d i n g  !C h k S p e c i f y H e i g h t  S p n R o w H e i g h t  C b x R o w H e i g h t  B t n P r e v R o w  B t n N e x t R o w  %C h k C o l u m n P r e f W i d t h  %S p n C o l u m n P r e f W i d t h  %C b x C o l u m n M e a s u r e I n  B t n P r e v C o l u m n  B t n N e x t C o l u m n  !C h k C e l l P r e f W i d t h  !S p n C e l l P r e f W i d t h  !C b x C e l l M e a s u r e I n  'R b l V e r t i c a l A l i g m e n t  C h k S a m e A s T a b l e  C h k W r a p T e x t  B t n M o v e L e f t C e l l  B t n M o v e T o p C e l l  #B t n M o v e B o t t o m C e l l  !B t n M o v e R i g h t C e l l  S i z e G r o u p  A l i g n m e n t G r o u p  !C e l l M a r g i n s G r o u p  O p t i o n s G r o u p  -V e r t i c a l A l i g n m e n t G r o u p  5d x r e D l g T a b l e P r o p e r t i e s F o r m  %T x b T a b S t o p P o s i t i o n  %S p n D e f a u l t T a b S t o p s  #L b T a b S t o p P o s i t i o n  %L b l T o B e C l e a r e d L i s t  T o B e C l e a r e d  A l i g m e n t  !R b l T a b s A l i g n m e n t  R b l T a b s L e a d e r  B t n T a b S e t  B t n T a b C l e a r  B t n T a b C l e a r A l l  1d x r e - f l o w R a d i o B u t t o n L i s t +^ - { 0 , 1 } \ d + \ . { 0 , 1 } \ d * $ d x r e D l g T a b s F o r m  	& l t ;  <  	& g t ;  >  
& q u o t ;  "  & a m p ;  , ,  T i m e s   N e w   R o m a n  A n g s a n a   N e w  )' A n g s a n a   N e w ' ,   s e r i f 9A r i a l ,   H e l v e t i c a ,   s a n s - s e r i f A r i a l   B l a c k  C' A r i a l   B l a c k ' ,   G a d g e t ,   s a n s - s e r i f 
B a t a n g  #B a t a n g ,   ,   s e r i f B o o k   A n t i q u a  +' B o o k   A n t i q u a ' ,   s e r i f #B o o k m a n   O l d   S t y l e  5' B o o k m a n   O l d   S t y l e ' ,   s e r i f C a l i b r i  'C a l i b r i ,   s a n s - s e r i f C a l i b r i   L i g h t  C a m b r i a  C a m b r i a ,   s e r i f  C a n d a r a  'C a n d a r a ,   s a n s - s e r i f C e n t u r y  C e n t u r y ,   s e r i f  C e n t u r y   G o t h i c  9' C e n t u r y   G o t h i c ' ,   s a n s - s e r i f %C e n t u r y   S c h o o l b o o k  7' C e n t u r y   S c h o o l b o o k ' ,   s e r i f C o m i c   S a n s   M S  [' C o m i c   S a n s   M S ' ,   f a n t a s y ,   c u r s i v e ,   s a n s - s e r i f C o n s o l a s  'C o n s o l a s ,   m o n o s p a c e  C o n s t a n t i a  #C o n s t a n t i a ,   s e r i f  
C o r b e l  %C o r b e l ,   s a n s - s e r i f C o r d i a   N e w  1' C o r d i a   N e w ' ,   s a n s - s e r i f C o u r i e r   N e w  C' C o u r i e r   N e w ' ,   C o u r i e r ,   m o n o s p a c e D a u n P e n h  )D a u n P e n h ,   s a n s - s e r i f D o t u m  +D o t u m ,   ˳,   s a n s - s e r i f F a n g S o n g  F a n g S o n g ,   s e r i f  )F r a n k l i n   G o t h i c   B o o k  E' F r a n k l i n   G o t h i c   B o o k ' ,   s a n s - s e r i f -F r a n k l i n   G o t h i c   M e d i u m  I' F r a n k l i n   G o t h i c   M e d i u m ' ,   s a n s - s e r i f G a r a m o n d  G a r a m o n d ,   s e r i f  G a u t a m i  'G a u t a m i ,   s a n s - s e r i f G e o r g i a  G e o r g i a ,   s e r i f  G i l l   S a n s   M T  5' G i l l   S a n s   M T ' ,   s a n s - s e r i f G u l i m  +G u l i m ,   t,   s a n s - s e r i f G u n g S u h  G u n g S u h ,   s e r i f  
I m p a c t  9I m p a c t ,   C h a r c o a l ,   s a n s - s e r i f I s k o o l a   P o t a  5' I s k o o l a   P o t a ' ,   s a n s - s e r i f K a i T i  #K a i T i ,   s a n s - s e r i f K a l i n g a  'K a l i n g a ,   s a n s - s e r i f K a r t i k a  'K a r t i k a ,   s a n s - s e r i f L a t h a  #L a t h a ,   s a n s - s e r i f L u c i d a   C o n s o l e  G' L u c i d a   C o n s o l e ' ,   M o n a c o ,   m o n o s p a c e L u c i d a   S a n s  3' L u c i d a   S a n s ' ,   s a n s - s e r i f 'L u c i d a   S a n s   U n i c o d e  e' L u c i d a   S a n s   U n i c o d e ' ,   ' L u c i d a   G r a n d e ' ,   s a n s - s e r i f M a l g u n   G o t h i c  I' M a l g u n   G o t h i c ' ,   ' ѹ@  ' ,   s a n s - s e r i f 
M a n g a l  %M a n g a l ,   s a n s - s e r i f 
M e i r y o  1M e i r y o ,   0000,   s a n s - s e r i f %M i c r o s o f t   J h e n g H e i  O' M i c r o s o f t   J h e n g H e i ' ,   _ߎckўԚ,   s a n s - s e r i f M i c r o s o f t   Y a H e i  G' M i c r o s o f t   Y a H e i ' ,   _oŖў,   s a n s - s e r i f M i n g L i U  'M i n g L i U ,   0}fԚ,   s e r i f M i n g L i U _ H K S C S  ?M i n g L i U _ H K S C S ,   0}fԚ_ H K S C S ,   s e r i f M S   G o t h i c  E' M S   G o t h i c ' ,   ' -3  0000' ,   s a n s - s e r i f M S   M i n c h o  7' M S   M i n c h o ' ,   ' -3  fg' ,   s e r i f M S   P G o t h i c  I' M S   P G o t h i c ' ,   ' -3  00000' ,   s a n s - s e r i f M S   P M i n c h o  ;' M S   P M i n c h o ' ,   ' -3  0fg' ,   s e r i f N y a l a  #N y a l a ,   s a n s - s e r i f #P a l a t i n o   L i n o t y p e  i' P a l a t i n o   L i n o t y p e ' ,   ' B o o k   A n t i q u a ' ,   P a l a t i n o ,   s e r i f P M i n g L i U  +P M i n g L i U ,   e0}fԚ,   s e r i f P M i n g L i U - E x t B iP M i n g L i U - E x t B ,   e0}fԚ- E x t B ,   e0}fԚ- E x t B ,   P M i n g L i U ,   s e r i f R a a v i  #R a a v i ,   s a n s - s e r i f R o c k w e l l  R o c k w e l l ,   s e r i f  S e g o e   U I  -' S e g o e   U I ' ,   s a n s - s e r i f S e g o e   U I   L i g h t  9' S e g o e   U I   L i g h t ' ,   s a n s - s e r i f 
S h r u t i  %S h r u t i ,   s a n s - s e r i f 
S i m H e i  -S i m H e i ,   ўSO,   s a n s - s e r i f 
S i m S u n  #S i m S u n ,   [SO,   s e r i f S i m S u n - E x t B %S i m S u n - E x t B ,   s e r i f S y l f a e n  S y l f a e n ,   s e r i f  
T a h o m a  5T a h o m a ,   G e n e v a ,   s a n s - s e r i f T i m e s  ?T i m e s ,   ' T i m e s   N e w   R o m a n ' ,   s e r i f ?' T i m e s   N e w   R o m a n ' ,   T i m e s ,   s e r i f T r e b u c h e t   M S  K' T r e b u c h e t   M S ' ,   H e l v e t i c a ,   s a n s - s e r i f T u n g a  #T u n g a ,   s a n s - s e r i f T W   C e n   M T  /' T W   C e n   M T ' ,   s a n s - s e r i f V e r d a n a  7V e r d a n a ,   G e n e v a ,   s a n s - s e r i f 
V r i n d a  %V r i n d a ,   s a n s - s e r i f #j s o n D o c u m e n t M o d e l  j s o n C a c h e s  j s o n P i e c e t a b l e s  ;p i e c e   t a b l e   f o r   h e a d e r / f o o t e r  3d a t a : i m a g e / { 0 } ; b a s e 6 4 , { 1 }  3d a t a : i m a g e / p n g ; b a s e 6 4 , { 0 }  	j p e g  p n g  
f o r m a t  d a t a : i m a g e / p n g ; b a s e 6 4 , i V B O R w 0 K G g o A A A A N S U h E U g A A A A E A A A A B C A A A A A A 6 f p t V A A A A C k l E Q V R 4 n G P 6 D w A B B Q E C z 6 A u z Q A A A A B J R U 5 E r k J g g g = =  mI m p o r t i n g :   C h a r a c t e r F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    I m p o r t i n g :   N u m b e r i n g L i s t L e v e l E x p o r t e r ,   C h a r a c t e r F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    I m p o r t i n g :   N u m b e r i n g L i s t L e v e l E x p o r t e r ,   P a r a g r a p h F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    I n f  T a b l e C o n d i t i o n a l S t y l e E x p o r t e r . F r o m H a s h t a b l e :   T a b l e R o w P r o p e r t i e s E x p o r t e r   i s   n u l l  I m p o r t i n g :   T a b l e C o n d i t i o n a l S t y l e E x p o r t e r s ,   P a r a g r a p h F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    I m p o r t i n g :   T a b l e C o n d i t i o n a l S t y l e E x p o r t e r s ,   C h a r a c t e r F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    T a b l e G r i d  I m p o r t i n g :   C h a r a c t e r S t y l e E x p o r t e r ,   C h a r a c t e r F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    I m p o r t i n g :   P a r a g r a p h S t y l e E x p o r t e r ,   P a r a g r a p h F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    I m p o r t i n g :   P a r a g r a p h S t y l e E x p o r t e r ,   C h a r a c t e r F o r m a t t i n g C a c h e   h a s   n o   s u c h   i n d e x    I m p o r t i n g :   P a r a g r a p h F o r m a t t i n g C a c h e . C a c h e . C o u n t   ! =   d o c u m e n t M o d e l . C a c h e . P a r a g r a p h F o r m a t t i n g C a c h e . C o u n t  I m p o r t i n g :   C h a r a c t e r F o r m a t t i n g E x p o r t e r . C a c h e . C o u n t ( { 0 } )   ! =   d o c u m e n t M o d e l . C a c h e . C h a r a c t e r F o r m a t t i n g C a c h e . C o u n t ( { 1 } )  ' { 0 } ' ,   ' { 1 } ' )M i c r o s o f t   S a n s   S e r i f  ' { 0 } ' 
^ \ w + \ s  
S t r o n g  E m p h a s i s  !I n t e n s e   E m p h a s i s  S u b t l e   E m p h a s i s  B o o k   T i t l e  N o   S p a c i n g  L i s t   P a r a g r a p h  H e a d i n g   1  H e a d i n g   2  H e a d i n g   3  H e a d i n g   4  H e a d i n g   5  H e a d i n g   6  H e a d i n g   7  H e a d i n g   8  H e a d i n g   9  T O C   { 0 }  S u b t i t l e  T i t l e  Q u o t e  I n t e n s e   Q u o t e  { 0 }   C h a r  !G r i d   T a b l e   L i g h t  P l a i n   T a b l e   1  P l a i n   T a b l e   2  P l a i n   T a b l e   3  P l a i n   T a b l e   4  P l a i n   T a b l e   5    A c c e n t   1    A c c e n t   2    A c c e n t   3    A c c e n t   4    A c c e n t   5    A c c e n t   6  %G r i d   T a b l e   1   L i g h t  G r i d   T a b l e   2  G r i d   T a b l e   3  G r i d   T a b l e   4  #G r i d   T a b l e   5   D a r k  +G r i d   T a b l e   6   C o l o r f u l  +G r i d   T a b l e   7   C o l o r f u l  d x r e C o n t r o l S y s  +d x r e N o t I n t e r n a l R i b b o n  d x - s v g - i m a g e s d x r e V i e w  d x r e P a g e  c e l l p a d d i n g  c e l l s p a c i n g  d x r e D i a l o g  	M a i n  R E P U M  f u n c t i o n ( ) { }  Q S  	Q S P W  Q S P B E  Q S P P r e v B t n  Q S P N e x t B t n  Q S P C o l l a p s e B t n  Q S P C l o s e B t n  d x r e Q u i c k S e a r c h  7d x r e Q u i c k S e a r c h P a n e l W r a p p e r  3d x r e Q u i c k S e a r c h B u t t o n E d i t  +d x r e Q u i c k S e a r c h B u t t o n  5d x r e Q u i c k S e a r c h B u t t o n H o v e r  B a r  L P C  d x r e B a r  { 0 }  I m a g e L o a d i n g U r l  kD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . r e I m a g e L o a d i n g . g i f  GR i c h E d i t D e f a u l t F o n t s A n d P r e s e t S t y l e s  )R i c h E d i t L o c a l i z a t i o n  cA S P x C l i e n t R i c h E d i t . A S P x R i c h E d i t D i a l o g L i s t . T i t l e s =  B o r d e r S h a d i n g  !I n s e r t M e r g e F i e l d  E x p o r t R a n g e  F i n d R e p l a c e  O p e n F i l e  P a g e S e t u p  S a v e A s F i l e  )B u l l e t e d A n d N u m b e r i n g  +C u s t o m i z e N u m b e r e d L i s t  +C u s t o m i z e B u l l e t e d L i s t  1C u s t o m i z e O u t l i n e N u m b e r e d  i_ _ a s p x R i c h E d i t . S t y l e s M a n a g e r . p o p u l a t e G a l l e r y H e a d e r s (  ) ; 
  kA S P x C l i e n t R i c h E d i t . A S P x R i c h E d i t D i a l o g L i s t . A l e r t T e x t s =  	C t r l  C o m m a n d  mA S P x C l i e n t R i c h E d i t . A S P x R i c h E d i t D i a l o g L i s t . O t h e r L a b e l s =  9C o n f i r m T o R e w r i t e E x i s t i n g F i l e  F i n d N o R e s u l t  #F i n d T o o L o n g R e s u l t  !R e p l a c e A l l N o t i f y  +N o S p e l l i n g S u g g e s t i o n s  q_ _ a s p x R i c h E d i t . S t y l e s M a n a g e r . p r e s e t S t y l e s L o c a l i z e d N a m e s =  cO p e r a t i o n   i s   d i s a b l e d   b y   t h e   s e r v e r - s i d e   s e t t i n g s gT h i s   c o m m a n d   r e m o v e s   r u n s   o n l y   i n s i d e   o n e   p a r a g r a p h  #C o m m a n d   N o t   F o u n d  gP d f E x p o r t e d C o m m a n d   c o u l d   b e   c a l l e d   o n l y   o n   c a l l b a c k  
b a s e 6 4  F i e l d   n o t   f o u n d  oD o w n l o a d M e r g e d D o c u m e n t   c o u l d   b e   c a l l e d   o n l y   o n   c a l l b a c k  
l e n g t h  \  gA S P x R i c h E d i t   i n t e r n a l   e x c e p t i o n .   ( U n k n o w n   n e w   f o n t )  ]G e t R t f C o m m a n d   c o u l d   b e   c a l l e d   o n l y   o n   c a l l b a c k  kG e t R t f C o m m a n d   w a s   c a l l e d   w i t h   i n c o r r e c t   s u b D o c u m e n t I d  cI n s e r t R t f C o m m a n d   c o u l d   b e   c a l l e d   o n l y   o n   c a l l b a c k  kO n l y   S t a t i c   e v e n t   h a n d l e r s   a r e   a l l o w e d   f o r   t h i s   e v e n t  wA d d W o r d T o D i c t i o n a r y C o m m a n d   c o u l d   b e   c a l l e d   o n l y   o n   c a l l b a c k  d x r e D i a l o g _  d x r e - /d x r e - d i a l o g C o n t e n t G r o u p 'd x r e - d i a l o g F i r s t L G B #d x r e - d i a l o g F o o t e r M a i n P a n e l  /d x r e - d i a l o g W r a p p e r P a n e l F o r m L a y o u t  !d x r e D l g F o o t e r B t n  d x r e - E m p t y L i n e 'd o w n l o a d R e q u e s t T y p e  p a r a m e t e r s  c  d o c u m e n t F o r m a t  D o c u m e n t 1  	. p d f  A a B b C c D d E e  	G u i d  r i c h e d i t  +C l i e n t G u i d   i s   u n k n o w n  i m g  p s i m g  c s i m g  t s i m g  i m a g e / p n g  5I m a g e A c t u a l I d T o S e r v e r I d M a p  f o n t I n f o s  !e d i t o r C l i e n t G u i d  m o d i f i e d  D o c u m e n t P a t h  C u r r e n t F o r m a t  w d  r o  b o  d c o  s c o  e o  a o  l p i d s  
i t i t a m  c l i e n t s  ,  < < { 0 } > >  s t a t e  gF i e l d U p d a t e C o m m a n d   c o u l d   b e   c a l l e d   o n l y   o n   c a l l b a c k  _T e x t . L e n g t h   i s   n o t   e q u a l   t o   P a r a m e t e r s . L e n g t h :    )G e t   u n k n o w n   r u n   t y p e  7U R I   s c h e m e   i s   n o t   s u p p o r t e d  h t t p s : / /  s t y l e  c o l o r I n d e x  w i d t h  
o f f s e t  
s h a d o w  I C - R E C  	R E P C  	R E F M  	R E C E  R E I T S  	R E S L  Gd a t a : i m a g e \ / ( . + ) ; b a s e 6 4 , ( ? < d a t a > . * )  	d a t a  M o z i l l a / 5 . 0   ( W i n d o w s   N T   1 0 . 0 ;   W O W 6 4 ;   T r i d e n t / 7 . 0 ;   r v : 1 1 . 0 )   l i k e   G e c k o  7d x r e - h e a d e r s A n d F o o t e r s G r o u p N a v i g a t i o n G r o u p  3d x r e - d i a l o g C e l l N a v i g a t i o n 	R E D C  p o s i t i o n    g@1yH9?         Y my<   Y -1  q  } }                                               
 !  			1 ==im ]     	     4$ AEMQUY  l hh,P8%8q8$$%,h%hu)m-q$)m$-q0P   <<<<@% ,  l  ppEpx%ppl%($  % 
5950  0ll%xt |hAhhhhhIM| UYyh hhhhhh h$h(h,h0h4-)    	          	  
    
                       	     Y           
    	
 	 
  
  	  /  	  
(
,  YYX    	X    	  	   	YX    !    - 
  1   =
     
  M  Q   U!	1	 )1= 59 =59  ]    !0 
} Y     U   0  
       } 	  }   A        
  @}   }} )  %  1	
	 Y   }  y  
 	     	      	       M M          	 
     ! ) - 1d 5    %	    =
l  	 q
  
  m    } < u}   }
}u }}}u@} }   E }EIM  
 M     
E 	Q Q  
Y  0  
]
  

50 5  % 	 Y )Y 	EE}a a 9   e	 ie i
 i  i   	m 
m
 m
 5q-qq95
 q      
       	 Y  555  !  %  5E5EE 5E    !%)-! % 5-%  159)  159	5% 9 =A  =" A =A =) A	  - -
	EE   5E  		
HH Q EU5E  	   M!Q   U
   (
a
e
i
m  
 
q,
y
}

0  y  } }
4H a<0 
@
D LP
TX
\  }  }tx 
|
       
	 55 1 U  9	9
       =YE5E	         
p    5 5    ] ]       
  
Y  i i 
 ! q  m  q  
 u 	  !     
% 
15E5E9E  ]5 ]  5 5	 55  y}e  =15   55
 1






I=	 1
=  EEEAIEI     -      
E    5          

   5EEAEEMQUY-]aE
M
Q  M Q	- a      U YEie  )E	)E  1  	    Mi   %mq    m  Q m q  -  }q  U   5   
 5
u
y }5    % 
 )5
0 5 
  5 - 
  I5
 A  A 1 A}A	 9

5}
}  =
} A  E I
 Y U}}
 

}}    ]a a 
  i       	
 
5
 5	 AAA}u  }}}} 
5 	 m
 
I q  u  }       9     }}
  #
#  )
}	A}    
} A5
  55  
 AAA   A   
     =  5 5	 
 Y Y,
  
      }}}t

5
      

5
   	

	
   
5


}

5}#}}}#}}}}
II5   %      E  %   iE%  %	)H	HH  	 -H-H  - -H	-H  5HH0-H-H-H-H-H  
-H
 	 	   
 !!  
  
  
E  !
  5  EEEE-    )
)m  -
-qE$ I 	$ 
I-	 	}  I'-MQE-EU9  M U)  1}9U  q	]m  u	]qMQ]	Y  I?-aMQe-E-iia  e e  - -
	 !I})m}-q !	  9
}E  =  A  E    E  y 	 

I   IM  U M  1  Y IY  
 
)E )E
EQQ 	    
   E - E     - ( - (  - -    

- 0E9
9  ]

5    a    u	E %I	   U     i	 iE8E)  m
  Q   

  q	

  u
EEE"5E5
    
   y  }
y y
} }  )=) -))%)Eo+<i1EEEAIEIEEAEEMQUY-]aEEEe  i	1   
1      A  !E  E a-  a  5EUY  U  Y  M  Q          
   )    E  
    
  
E  	
   !E)	 ))@--5e ---5e
 5     Y  ]  a   	 !M         -!EEiEmEEE
  
E%E !}  =
%
  E%E		 !   a    eE
   )  
 -)	 	          E    A
 
A A  E  
Q
  QEim8  q   i, q  e iEEE  |EE   
 	D1 )	 )))	 ))e E-
Y   ]  A  E  U  Y  M  QA
A A
E E
U U
Y Y
M M
Q QE  Q-!
Q Q
@-1!E1  !        M  )
 
 
 
 )  %  )  1 -! % y! y%  E	}    I)m %E 5-q=E  A      q
q q9559 A  5 9 5)  9	 55	 95  9 955A 955EPE  u  =A
A
TE5E	E1E ! u5	 95(E9%AEA AAA9A -9
 Y A XE    9
9	EE9i

5E
EEmiEEmm  m
m m ImEEE  i\E  
 !E`EE	E%EMQIE%	 Em
I IE))EI YY)m I=mY-q=q
)9U  I  M  Q  U  U  Y  Y }
U U
Y Y%y}}  y5}}yE}E15  1di	 !h	  ]	 pEEA%%%%EEEEEEEE5E E  	tE!	H 	 
H          


HE
 
 
  
15  q=q
 !qx	E5E  	|mi%q !  	)=55E51	E -E-E
-E	-E    a  e        i  m  q  u  y  }    
 
 
,
m m
q q
u u
y y
} }
          
 
 
D
   
  EE-EEEEEEEE-E-E-E-E-E-Emm-E-Eii]-E
-E-E-E 

                       
  
     

 
 
 i1
M Mm  E

  
      


%)H
55
55
TX\`d
0 
T
X
\
`
d



 
 


/ $(,DHLPTX\`d


 
$
(
,
D
H
L
P
T
X
\
`
d)
hlptx|

h
l
p
t
x
|


















 
 

$
$



(
(
,
,

08P\
0
8
P
\

4
4

8
8


<
<



@
@

D 
D



 H$(,0
H
$
(
,
0L4
L
4
P
P

T
T
X
X


\ 
\





 `$
`
$d(,04d
d
(
,
0
4
d
hh|
h
h
|
l
l




p
p

t
t
#x
x











|
|










 



p

h
l
pt

t


5	   55E	 --	 	 -8
!555EE- -EE'	5
 H(  4E--EEIIIIIIEIIIIIIIEIIIIIIIIEIIIIIIEIIIIIIIIII --	 aDE-----EIIIIEIIIIIIEIIIIIIIIIEIIIIIIEIIIIIIEIIIIIIEIIIIIIIIII  U       A	 AAAA   Y	      A     	   

55    
]] )E%EEE&---))--)-EE	 Eh 
	  h h   	     	)
 ) )5 55 59e---	 5)    !	  9e-
==a
=a	a
aa-
a-Y
Y YY 9

 
%i

- -
4$44 h -EA  A E  E   I1 !	 EI EAEI	EE

E.EEEEEMQUYE] 
   E5h  5 l  IEE AEE

EIEA
 E)IE]aEA E)]-	9 M 59}9 5}  5  Q	 }}	  9 i	h9  e  	1%5E5 5 U1	 ))511m  m -119	 -5
 -5951	- )	 -]iE  a eU91) U
,P,,
$$$$
,     
  m  
  }
	   9 Y 9 	Y  9	$   I  E E
0P005A98  a 5A9<  a   @  a   	  a %5!5% 	 %
 ,  5h  Y 5 Y 	 Yp    t    x  Y % }19'
}(%5EE5EE
E
($((5A  ] 5A  ]   &)59EA%E9 91EAE9$E%AAE)E9EAE
EEEAE959AA59)5
EAE995     

5Y
YY	                	 !  -
 ) i  9
 &%a  % a9 % 
       I III
-M Q-D
-D
DY
D	 Y	D%   
D                
)}    }}  4---eI YY  )
 !	 -))--- 
 } 
)}@          0  
     
	 	  
}E8<u 
	}@@  9 	  @ 'E}-}@-}@E-}@
-}@ $EEEEEEE   - )	 )! -   !
 !5! %EEEE
%EEEE	
	 )%q5)1 1q	 qq
 1q 55x0)5  
E9
9
  ii|e
e
x h !  |p
 )
9  9U 	Q  Q  	 9U)-159]5e !
%%5E5i
 i $	%9% =
-EE5QMQQQEE5QiQQ
,%m)EE)qu9e A) q5u m  E m
EPy  y	 
<@}=} =) 1)
%5E)UU) = 5)U ==E i/
)-9 )	A!! A 	A =) A-  	 ) !   U 
 )   
 
  ) 
 )  )  )  )  )  ) 599i      5 	  5 555	5	5	5	  	5	5m1m  1 E- 5)1    !E)e5IE E e%	)- i  m q  y y  	55
       5

<  
   	$ E  M M !

505


5


5


5u
uu

5


5I
II

5


5


5


5


5


5


5y
yy

5


5




5

}}
05

5


5


5


5


5






5


5


5


5


5


5


5
5
5x
x

5


5


5
]!
0 
!  E%HH   %% 	 -    Eh   m  55	       z\V4?_
:T 䚀 $          $  RSA1     ͌$L\J|-fQ UkKT+VHv)Z"[to=>T|[&n:gQ$y 2BMSZ6sYVn8hBdMY8]
'  R  m    8    @  I S p r i t e G I S p r i t e G W I S p r i t e G W T I S p r i t e S V G S p r i t e W T S V G S p r i t e S V G S p r i t e N e w W T S V G S p r i t e N e w 
L a r g e :A d d P a r a g r a p h T o T a b l e O f C o n t e n t s DA d d P a r a g r a p h T o T a b l e O f C o n t e n t s L a r g e "A l i g n B o t t o m C e n t e r ,A l i g n B o t t o m C e n t e r L a r g e A l i g n B o t t o m L e f t (A l i g n B o t t o m L e f t L a r g e  A l i g n B o t t o m R i g h t *A l i g n B o t t o m R i g h t L a r g e A l i g n C e n t e r  A l i g n C e n t e r L a r g e >A l i g n F l o a t i n g O b j e c t B o t t o m C e n t e r HA l i g n F l o a t i n g O b j e c t B o t t o m C e n t e r L a r g e :A l i g n F l o a t i n g O b j e c t B o t t o m L e f t DA l i g n F l o a t i n g O b j e c t B o t t o m L e f t L a r g e <A l i g n F l o a t i n g O b j e c t B o t t o m R i g h t FA l i g n F l o a t i n g O b j e c t B o t t o m R i g h t L a r g e >A l i g n F l o a t i n g O b j e c t M i d d l e C e n t e r HA l i g n F l o a t i n g O b j e c t M i d d l e C e n t e r L a r g e :A l i g n F l o a t i n g O b j e c t M i d d l e L e f t DA l i g n F l o a t i n g O b j e c t M i d d l e L e f t L a r g e <A l i g n F l o a t i n g O b j e c t M i d d l e R i g h t FA l i g n F l o a t i n g O b j e c t M i d d l e R i g h t L a r g e 8A l i g n F l o a t i n g O b j e c t T o p C e n t e r BA l i g n F l o a t i n g O b j e c t T o p C e n t e r L a r g e 4A l i g n F l o a t i n g O b j e c t T o p L e f t >A l i g n F l o a t i n g O b j e c t T o p L e f t L a r g e 6A l i g n F l o a t i n g O b j e c t T o p R i g h t @A l i g n F l o a t i n g O b j e c t T o p R i g h t L a r g e A l i g n J u s t i f y "A l i g n J u s t i f y L a r g e A l i g n L e f t A l i g n L e f t L a r g e "A l i g n M i d d l e C e n t e r ,A l i g n M i d d l e C e n t e r L a r g e A l i g n M i d d l e L e f t (A l i g n M i d d l e L e f t L a r g e  A l i g n M i d d l e R i g h t *A l i g n M i d d l e R i g h t L a r g e A l i g n R i g h t A l i g n R i g h t L a r g e A l i g n T o p C e n t e r &A l i g n T o p C e n t e r L a r g e A l i g n T o p L e f t "A l i g n T o p L e f t L a r g e A l i g n T o p R i g h t $A l i g n T o p R i g h t L a r g e B a c k g r o u n d B a c k g r o u n d L a r g e B o l d B o l d L a r g e B o o k m a r k B o o k m a r k L a r g e B o r d e r A l l L a r g e B o r d e r B o t t o m "B o r d e r B o t t o m L a r g e $B o r d e r D i a g o n a l D o w n .B o r d e r D i a g o n a l D o w n L a r g e  B o r d e r D i a g o n a l U p *B o r d e r D i a g o n a l U p L a r g e ,B o r d e r I n s i d e H o r i z o n t a l 6B o r d e r I n s i d e H o r i z o n t a l L a r g e (B o r d e r I n s i d e V e r t i c a l 2B o r d e r I n s i d e V e r t i c a l L a r g e B o r d e r L e f t B o r d e r L e f t L a r g e B o r d e r N o n e B o r d e r N o n e L a r g e B o r d e r R i g h t  B o r d e r R i g h t L a r g e B o r d e r s A l l B o r d e r s A l l L a r g e "B o r d e r s A n d S h a d i n g ,B o r d e r s A n d S h a d i n g L a r g e B o r d e r s B o x L a r g e $B o r d e r s C u s t o m L a r g e  B o r d e r s G r i d L a r g e B o r d e r s I n s i d e $B o r d e r s I n s i d e L a r g e  B o r d e r s N o n e L a r g e B o r d e r s O u t s i d e &B o r d e r s O u t s i d e L a r g e B o r d e r T o p B o r d e r T o p L a r g e C h a n g e F o n t S t y l e (C h a n g e F o n t S t y l e L a r g e C h a n g e T e x t C a s e &C h a n g e T e x t C a s e L a r g e &C h a r a c t e r S t y l e L a r g e C l e a r F o r m a t t i n g (C l e a r F o r m a t t i n g L a r g e C l e a r T a b l e S t y l e (C l e a r T a b l e S t y l e L a r g e (C l o s e H e a d e r A n d F o o t e r 2C l o s e H e a d e r A n d F o o t e r L a r g e C o l u m n s C o l u m n s L a r g e C o l u m n s L e f t  C o l u m n s L e f t L a r g e C o l u m n s O n e C o l u m n s O n e L a r g e C o l u m n s R i g h t "C o l u m n s R i g h t L a r g e C o l u m n s T h r e e "C o l u m n s T h r e e L a r g e C o l u m n s T w o C o l u m n s T w o L a r g e C o p y C o p y L a r g e C u t C u t L a r g e D e l e t e D e l e t e C o m m e n t $D e l e t e C o m m e n t L a r g e D e l e t e L a r g e D e l e t e T a b l e  D e l e t e T a b l e C e l l s *D e l e t e T a b l e C e l l s L a r g e $D e l e t e T a b l e C o l u m n s .D e l e t e T a b l e C o l u m n s L a r g e  D e l e t e T a b l e L a r g e D e l e t e T a b l e R o w s (D e l e t e T a b l e R o w s L a r g e  D e l e t e _ H y p e r l i n k *D e l e t e _ H y p e r l i n k L a r g e $D i f f e r e n t F i r s t P a g e .D i f f e r e n t F i r s t P a g e L a r g e *D i f f e r e n t O d d E v e n P a g e s 4D i f f e r e n t O d d E v e n P a g e s L a r g e D r a f t V i e w D r a f t V i e w L a r g e &E d i t R a n g e P e r m i s s i o n 0E d i t R a n g e P e r m i s s i o n L a r g e F i n d F i n d L a r g e 
F i r s t F i r s t L a r g e .F l o a t i n g O b j e c t A l i g n m e n t 8F l o a t i n g O b j e c t A l i g n m e n t L a r g e 4F l o a t i n g O b j e c t B r i n g F o r w a r d >F l o a t i n g O b j e c t B r i n g F o r w a r d L a r g e @F l o a t i n g O b j e c t B r i n g I n F r o n t O f T e x t JF l o a t i n g O b j e c t B r i n g I n F r o n t O f T e x t L a r g e 4F l o a t i n g O b j e c t B r i n g T o F r o n t >F l o a t i n g O b j e c t B r i n g T o F r o n t L a r g e @F l o a t i n g O b j e c t B r i n g T o F r o n t O f T e x t JF l o a t i n g O b j e c t B r i n g T o F r o n t O f T e x t L a r g e .F l o a t i n g O b j e c t F i l l C o l o r 8F l o a t i n g O b j e c t F i l l C o l o r L a r g e 6F l o a t i n g O b j e c t L a y o u t O p t i o n s @F l o a t i n g O b j e c t L a y o u t O p t i o n s L a r g e 4F l o a t i n g O b j e c t O u t l i n e C o l o r >F l o a t i n g O b j e c t O u t l i n e C o l o r L a r g e 4F l o a t i n g O b j e c t S e n d B a c k w a r d >F l o a t i n g O b j e c t S e n d B a c k w a r d L a r g e 8F l o a t i n g O b j e c t S e n d B e h i n d T e x t BF l o a t i n g O b j e c t S e n d B e h i n d T e x t L a r g e 0F l o a t i n g O b j e c t S e n d T o B a c k :F l o a t i n g O b j e c t S e n d T o B a c k L a r g e 4F l o a t i n g O b j e c t T e x t W r a p T y p e >F l o a t i n g O b j e c t T e x t W r a p T y p e L a r g e F o n t F o n t C o l o r F o n t C o l o r L a r g e F o n t L a r g e F o n t S i z e  F o n t S i z e D e c r e a s e *F o n t S i z e D e c r e a s e L a r g e  F o n t S i z e I n c r e a s e *F o n t S i z e I n c r e a s e L a r g e F o n t S i z e L a r g e F o o t e r F o o t e r L a r g e F u l l S c r e e n F u l l S c r e e n L a r g e G o T o F o o t e r G o T o F o o t e r L a r g e G o T o H e a d e r G o T o H e a d e r L a r g e (G o T o N e x t H e a d e r F o o t e r 2G o T o N e x t H e a d e r F o o t e r L a r g e 0G o T o P r e v i o u s H e a d e r F o o t e r :G o T o P r e v i o u s H e a d e r F o o t e r L a r g e H e a d e r H e a d e r L a r g e H i d d e n T e x t H i d d e n T e x t L a r g e H i g h l i g h t H i g h l i g h t L a r g e H y p e r l i n k H y p e r l i n k L a r g e  I m a g e P l a c e H o l d e r I n d e n t D e c r e a s e &I n d e n t D e c r e a s e L a r g e I n d e n t I n c r e a s e &I n d e n t I n c r e a s e L a r g e I n s e r t C a p t i o n $I n s e r t C a p t i o n L a r g e "I n s e r t C o l u m n B r e a k ,I n s e r t C o l u m n B r e a k L a r g e I n s e r t D a t a F i e l d (I n s e r t D a t a F i e l d L a r g e *I n s e r t E q u a t i o n C a p t i o n 4I n s e r t E q u a t i o n C a p t i o n L a r g e &I n s e r t F i g u r e C a p t i o n 0I n s e r t F i g u r e C a p t i o n L a r g e 2I n s e r t F l o a t i n g O b j e c t I m a g e <I n s e r t F l o a t i n g O b j e c t I m a g e L a r g e I n s e r t I m a g e  I n s e r t I m a g e L a r g e I n s e r t P a g e B r e a k (I n s e r t P a g e B r e a k L a r g e I n s e r t P a g e C o u n t (I n s e r t P a g e C o u n t L a r g e  I n s e r t P a g e N u m b e r *I n s e r t P a g e N u m b e r L a r g e 8I n s e r t S e c t i o n B r e a k C o n t i n u o u s BI n s e r t S e c t i o n B r e a k C o n t i n u o u s L a r g e 4I n s e r t S e c t i o n B r e a k E v e n P a g e >I n s e r t S e c t i o n B r e a k E v e n P a g e L a r g e 4I n s e r t S e c t i o n B r e a k N e x t P a g e >I n s e r t S e c t i o n B r e a k N e x t P a g e L a r g e 2I n s e r t S e c t i o n B r e a k O d d P a g e <I n s e r t S e c t i o n B r e a k O d d P a g e L a r g e I n s e r t T a b l e $I n s e r t T a b l e C a p t i o n .I n s e r t T a b l e C a p t i o n L a r g e  I n s e r t T a b l e C e l l s *I n s e r t T a b l e C e l l s L a r g e 6I n s e r t T a b l e C o l u m n s T o T h e L e f t @I n s e r t T a b l e C o l u m n s T o T h e L e f t L a r g e 8I n s e r t T a b l e C o l u m n s T o T h e R i g h t BI n s e r t T a b l e C o l u m n s T o T h e R i g h t L a r g e  I n s e r t T a b l e L a r g e *I n s e r t T a b l e O f C a p t i o n s 4I n s e r t T a b l e O f C a p t i o n s L a r g e *I n s e r t T a b l e O f C o n t e n t s 4I n s e r t T a b l e O f C o n t e n t s L a r g e ,I n s e r t T a b l e O f E q u a t i o n s 6I n s e r t T a b l e O f E q u a t i o n s L a r g e (I n s e r t T a b l e O f F i g u r e s 2I n s e r t T a b l e O f F i g u r e s L a r g e (I n s e r t T a b l e R o w s A b o v e 2I n s e r t T a b l e R o w s A b o v e L a r g e (I n s e r t T a b l e R o w s B e l o w 2I n s e r t T a b l e R o w s B e l o w L a r g e I n s e r t T e x t B o x $I n s e r t T e x t B o x L a r g e I t a l i c I t a l i c L a r g e L a n g u a g e L a n g u a g e L a r g e L a s t L a s t L a r g e L e f t C o l u m n s L i n e N u m b e r i n g $L i n e N u m b e r i n g L a r g e L i n e S p a c i n g  L i n e S p a c i n g L a r g e L i n k T o P r e v i o u s &L i n k T o P r e v i o u s L a r g e L i s t B u l l e t s  L i s t B u l l e t s L a r g e L i s t M u l t i l e v e l &L i s t M u l t i l e v e l L a r g e L i s t N u m b e r s  L i s t N u m b e r s L a r g e M a i l M e r g e M a i l M e r g e L a r g e M e r g e T a b l e C e l l s (M e r g e T a b l e C e l l s L a r g e M o d i f y S t y l e  M o d i f y S t y l e L a r g e  M o d i f y T a b l e S t y l e *M o d i f y T a b l e S t y l e L a r g e N e w N e w C o m m e n t N e w C o m m e n t L a r g e N e w L a r g e N e w T a b l e S t y l e $N e w T a b l e S t y l e L a r g e N e x t N e x t C o m m e n t  N e x t C o m m e n t L a r g e N e x t L a r g e O n e C o l u m n O p e n O p e n L a r g e P a g e C o l o r P a g e C o l o r L a r g e P a g e M a r g i n s  P a g e M a r g i n s L a r g e &P a g e M a r g i n s M o d e r a t e 0P a g e M a r g i n s M o d e r a t e L a r g e "P a g e M a r g i n s N a r r o w ,P a g e M a r g i n s N a r r o w L a r g e "P a g e M a r g i n s N o r m a l ,P a g e M a r g i n s N o r m a l L a r g e P a g e M a r g i n s W i d e (P a g e M a r g i n s W i d e L a r g e 0P a g e O r i e n t a t i o n L a n d s c a p e :P a g e O r i e n t a t i o n L a n d s c a p e L a r g e P a g e O r i e n t a t i o n (P a g e O r i e n t a t i o n L a r g e .P a g e O r i e n t a t i o n P o r t r a i t 8P a g e O r i e n t a t i o n P o r t r a i t L a r g e P a p e r S i z e P a p e r S i z e L a r g e P a r a g r a p h P a r a g r a p h L a r g e &P a r a g r a p h S t y l e L a r g e 
P a s t e P a s t e L a r g e P a s t e S p e c i a l "P a s t e S p e c i a l L a r g e P e n C o l o r P e n C o l o r L a r g e P r e v P r e v i e w P r e v i e w L a r g e P r e v i o u s C o m m e n t (P r e v i o u s C o m m e n t L a r g e P r e v L a r g e 
P r i n t P r i n t B r o w s e r "P r i n t B r o w s e r L a r g e P r i n t D i a l o g  P r i n t D i a l o g L a r g e P r i n t L a r g e P r i n t L a y o u t V i e w (P r i n t L a y o u t V i e w L a r g e &P r i n t P r e v i e w B r o w s e r 0P r i n t P r e v i e w B r o w s e r L a r g e P r o t e c t D o c u m e n t (P r o t e c t D o c u m e n t L a r g e "R e a d i n g L a y o u t V i e w ,R e a d i n g L a y o u t V i e w L a r g e R e d o R e d o L a r g e R e p l a c e R e p l a c e L a r g e R e v i e w e r s R e v i e w e r s L a r g e R e v i e w i n g P a n e $R e v i e w i n g P a n e L a r g e R i g h t C o l u m n s R u l e r H o r i z o n t a l (R u l e r H o r i z o n t a l L a r g e R u l e r V e r t i c a l $R u l e r V e r t i c a l L a r g e S a v e S a v e A l l S a v e A l l L a r g e S a v e A s S a v e A s L a r g e S a v e L a r g e S e l e c t S e l e c t A l l S e l e c t A l l L a r g e S e l e c t L a r g e S e l e c t T a b l e S e l e c t T a b l e C e l l (S e l e c t T a b l e C e l l L a r g e "S e l e c t T a b l e C o l u m n ,S e l e c t T a b l e C o l u m n L a r g e  S e l e c t T a b l e L a r g e S e l e c t T a b l e R o w &S e l e c t T a b l e R o w L a r g e S h a d i n g S h a d i n g L a r g e "S h o w A l l F i e l d C o d e s ,S h o w A l l F i e l d C o d e s L a r g e &S h o w A l l F i e l d R e s u l t s 0S h o w A l l F i e l d R e s u l t s L a r g e S h o w C o m m e n t s "S h o w C o m m e n t s L a r g e S h o w H i d d e n S h o w H i d d e n L a r g e S i m p l e V i e w S i m p l e V i e w L a r g e S p a c i n g D e c r e a s e (S p a c i n g D e c r e a s e L a r g e S p e l l C h e c k &S p e l l C h e c k A s Y o u T y p e 0S p e l l C h e c k A s Y o u T y p e L a r g e S p e l l C h e c k L a r g e S p l i t T a b l e S p l i t T a b l e C e l l s (S p l i t T a b l e C e l l s L a r g e S p l i t T a b l e L a r g e S t r i k e o u t S t r i k e o u t D o u b l e (S t r i k e o u t D o u b l e L a r g e S t r i k e o u t L a r g e S u b s c r i p t S u b s c r i p t L a r g e S u p e r s c r i p t  S u p e r s c r i p t L a r g e S y m b o l S y m b o l L a r g e (T a b l e A u t o F i t C o n t e n t s 2T a b l e A u t o F i t C o n t e n t s L a r g e $T a b l e A u t o F i t W i n d o w .T a b l e A u t o F i t W i n d o w L a r g e  T a b l e C e l l M a r g i n s *T a b l e C e l l M a r g i n s L a r g e *T a b l e F i x e d C o l u m n W i d t h 4T a b l e F i x e d C o l u m n W i d t h L a r g e T a b l e P r o p e r t i e s (T a b l e P r o p e r t i e s L a r g e T a b l e S t y l e L a r g e T e x t W r a p I n l i n e &T e x t W r a p I n l i n e L a r g e T e x t W r a p B e h i n d &T e x t W r a p B e h i n d L a r g e *T e x t W r a p I n F r o n t O f T e x t 4T e x t W r a p I n F r o n t O f T e x t L a r g e T e x t W r a p S q u a r e &T e x t W r a p S q u a r e L a r g e T e x t W r a p T h r o u g h (T e x t W r a p T h r o u g h L a r g e T e x t W r a p T i g h t $T e x t W r a p T i g h t L a r g e (T e x t W r a p T o p A n d B o t t o m 2T e x t W r a p T o p A n d B o t t o m L a r g e T h r e e C o l u m n s  T o g g l e F i e l d C o d e s *T o g g l e F i e l d C o d e s L a r g e T w o C o l u m n s U n d e r l i n e U n d e r l i n e D o u b l e (U n d e r l i n e D o u b l e L a r g e U n d e r l i n e L a r g e U n d e r l i n e W o r d $U n d e r l i n e W o r d L a r g e U n d o U n d o L a r g e "U n p r o t e c t D o c u m e n t ,U n p r o t e c t D o c u m e n t L a r g e U p d a t e F i e l d  U p d a t e F i e l d L a r g e *U p d a t e T a b l e O f C o n t e n t s 4U p d a t e T a b l e O f C o n t e n t s L a r g e V i e w M e r g e d D a t a &V i e w M e r g e d D a t a L a r g e $V i e w T a b l e G r i d l i n e s .V i e w T a b l e G r i d l i n e s L a r g e Z o o m I n Z o o m I n L a r g e Z o o m O u t Z o o m O u t L a r g e @D e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . HD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . FD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . TD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . S y s t e m . c s s VD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . D e f a u l t . c s s TD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . s p r i t e . c s s VD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . I S p r i t e . c s s XD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . G I S p r i t e . c s s ZD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . S V G S p r i t e . c s s ^D e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . W T S V G S p r i t e . c s s `D e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . S V G S p r i t e N e w . c s s dD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . W T S V G S p r i t e N e w . c s s ZD e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . G W I S p r i t e . c s s \D e v E x p r e s s . W e b . A S P x R i c h E d i t . C s s . G W T I S p r i t e . c s s fD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . L o c a l i z a t i o n . j s ^D e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . C o m p i l e d . j s ZD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . P d f K i t . j s dD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . F i l e M a n a g e r . j s hD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . F o l d e r M a n a g e r . j s hD e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . U p l o a d C o n t r o l . j s ~D e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . F i l e M a n a g e r U p l o a d C o n t r o l . j s |D e v E x p r e s s . W e b . A S P x R i c h E d i t . S c r i p t s . R i c h E d i t C u s t o m R e s o u r c e s . j s RD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . C u r s o r \D e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . C u r s o r T o u c h RD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . s p r i t e TD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . I S p r i t e VD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . G I S p r i t e XD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . S V G S p r i t e \D e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . W T S V G S p r i t e fD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . S V G S p r i t e N e w . s v g jD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . W T S V G S p r i t e N e w . s v g XD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . G W I S p r i t e ZD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . G W T I S p r i t e LD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . 1 x 1 jD e v E x p r e s s . W e b . A S P x R i c h E d i t . I m a g e s . r e I m a g e L o a d i n g . g i f R R E D C 
R E P U M % R i c h E d i t R E U C U P 
c g u i d 
s c m d s i s c v i e w M e r g e D a t a                       (r e L o a d i n g O n S t a t u s B a r  r e E r r o r U n d e r l i n e *Q u i c k S e a r c h P r e v B u t t o n *Q u i c k S e a r c h N e x t B u t t o n 2Q u i c k S e a r c h C o l l a p s e B u t t o n ,Q u i c k S e a r c h C l o s e B u t t o n r e A n c h o r "r e A u t o S c r o l l A r r o w &r e A u t o S c r o l l C u r s o r N (r e A u t o S c r o l l C u r s o r N S &r e A u t o S c r o l l C u r s o r S s t a r t T a b l e M a r k        B o r d e r s B o x B o r d e r s C u s t o m B o r d e r s G r i d B o r d e r s N o n e (R e s t a r t N u m b e r i n g L i s t *C o n t i n u e N u m b e r i n g L i s t (L e f t I n d e n t D r a g H a n d l e *R i g h t I n d e n t D r a g H a n d l e 2F i r s t L i n e I n d e n t D r a g H a n d l e $R i g h t T a b D r a g H a n d l e "L e f t T a b D r a g H a n d l e (D e c i m a l T a b D r a g H a n d l e &C e n t e r T a b D r a g H a n d l e 2C o l u m n S e p a r a t o r D r a g H a n d l e d x r e d x r e C o n t r o l S y s d x r e V i e w d x r e P a g e 0d x r e I n p u t T a r g e t C o n t a i n e r d x r e B a r  d x r e L o a d i n g P a n e l *d x r e N o t I n t e r n a l R i b b o n d x r e D i a l o g d x - s v g - i m a g e s d x r e Q u i c k S e a r c h *d x r e Q u i c k S e a r c h B u t t o n 4d x r e Q u i c k S e a r c h B u t t o n H o v e r 6d x r e Q u i c k S e a r c h P a n e l W r a p p e r 2d x r e Q u i c k S e a r c h B u t t o n E d i t  Q u i c k S e a r c h P a n e l C o n t r o l S t y l e 
R u l e r R u l e r W r a p p e r R u l e r L i n e T a b D r a g H a n d l e             	   
         
                                                      !   "   #   $   %   &   '   (   )   *   +   ,   -   .   /   0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?   @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _   `   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o   p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~                                                                                                                                                                                                                                                                                                                                                                                                                         	  
      
                                         !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  {  |  }  ~                                                                                                                                                                                                                (F o l d e r I n v a l i d M e s s a g e d x r e D l g S B d x r e D l g S M d x r e D l g S S       S u b m i t B u t t o n A a B b C c D d E e r i c h e d i t < < { 0 } > > I C - 
R E I S E 
R E I S U 
R E I T S R E F M R E C E R E S L R E P C R E C  YX
1lq$ PTlptLx
	5 
-uy}I8]
H
)H)`Xptx|	5	5E<%QYLE $(,048<@DHLP
Eha]<L@  $(,048<@DHLPTX\`dhlptx|  )d	5	5	5E-Am,8D0|(\@<XY$4 P,$$,}P0, $(	5}	5Y )}
4)}@|x |U	5					59=A
 	5
	HH-HH 
]m
]q,	94		
		5eHl	-E]=a
aa--D
Di@	  ( lx	|	i	iQ	A! <      d       X 	 X   	    	 	   1  l l              )1  	             	 
     !    d  ) - 1 h	 5                    l l        	 A  A  <	 }   5Y  ]        9  m m	 m m Y     	 	 
 
  5E 
 
 
  $ 	 
 	 A    	 l I        5E    m       P    T T   h
 
h  t    L     x          } } }                        1 59
  5  p p  ,  8  D  0  |  (    \      @  <  X  T  0  	 
  !   
  !  % %%% -- E)1	 E1
0 E  1E  u u  y y  } }  5     I        }                          ]       
       
  
 
 5}	  I 5  EE
E  E E E E
	 E %  %   -   	 ! H  )H )H HH 5H H  H   E	 E E 
E E E	 ee5 5 
 !!-E % -!E%	 9EEY ] -!E ! Eu Ey E} E E E E E E< <E    E I!	   	 ! I!  E E E E	 E E! !E E %! !I
 ! !% E- !-E%-	 -E E	 E E	 E- E% E-- )E-- -1ie E EE E= -E E
 E E]	 E = ! !!E E! E E!X E X E<e! E!! E E!LXh i! E % !% E % E E Ea E E-5	 - E	 E E !E E		 	E E E 8E E, ,E E| |E E5E 1E-
  5 5 5E <-)5 e  Y
 Y	 L E  EA! AE E%X E%	 %% % E)X! -E! EmXh E1! E5 E 5!5E %!5 E9Xh	 9E 9A-	 9- 9E- E E! E- E- EAXh	 AE AE- EI EMQUY]aE ! Ei EE	 !E !EE E9 Eq Eu 9!E	 E9 %9 y% E< E!
 5EU	 %U 
- h 
 
! EiLXh E! E E<@E  5E@-)  E E E E EYXh EY a a!Xh Ea ]	 E] --
 -- E  < < !<     E )EE	 E! EX E EX E	   E	 E	  	 % E	 E 	  E	 E E E  L L LXh Ei Ei! Ei! Ei! ME!  Em Em	 QE E E  HE H H      
  
  
  E  - !5
 ! !5   E                      A A    }     m    }    	     
 ]	  ]     	   @	 EE - E!   E E <} 9
 h4$ A	 EA	 EE	 AM	 AQ	 AU	 AY A    
 h 	 5  5	 EA  E	  )
 h,P	 a%	 aq a
 h$$	 ]% ]
 h,	 Y%	 Yu 	 u	 y 
y	 } }    m Y)m9 q Y-q9
  E)m )I
  E-q -I
 h0P
 a  a
 a
 a a%
 h , Y
 YE
 Y Y%
 Y Y
 Y%
 h($ ]
 ]%
 ] ]    	 } 
   	  
  < <	 <    ,     E     9 % 9  	 I! I!   |} 5E   } }  	 }| }| |  |  }     !	 ! -!-    )}@
 )}@    - - }       u} } }@ @}	  m   
   	 	  
   %! !
 h  = e	 = e  |
 h 0
 )%
 hx
 h
 h
 h|
 h  
 h	 Q
 9U 9UU
 QUU
 9U	 Q 9UY
 QYY 9Uy y
 Qyy <}  e% eE  U U    EE H  E 9 =) =  	 )              $ $ ( ( , , 0 0 4 4	 -
 -) -) - M  	 
   -)	   5
   5 
   5
 
  5 
  5 
  5 
  5 	 
  5  Q  	 MM
 1  	 - 1
 1 1
 1 1
 1	  1 1- 1)	 1   
 	0     X   %) u} 9 A   
  E
	 HH -H E9 E E E  E  E E e  	 
 
 EA E E9   E E E EE H  -E -E  x a= a -a
 h4-
 h -
 h,-
 h$-
 h-
 h0-
 h -
 h(- D- D 
 @}@ 9= 9e =9 e9	 -      
 h!	 !	 !      	 A  	     M1	 15 MM	 -  1
 h!	 	 QQ A 
 !(  ( ( }( ( 
( ( ( ( d( ( ( ( 1( l( ( ( ( ( ( ( ( 	( ( ( ( ( ( ( ( ( ( l( ( ( ( ( q( ( <( ( ( ( $(  ( ( ( ( ( a( e( i( m( ( q( y( }( ( ( P( ( ( ( T( ( ( t( ( ( L( ( x( ( ( ( ( ( ( ( ( ( ( ( 
( ( 1( ( 
( 5( p( ,( 8( D( 0( |( (( ( \( ( ( @( <( X( T( ( ( ( ( E( )( u( y( }( ( I( ( ( ( ( ( ( ( ( ]( ( ( ( ( 
( ( )H ( )E
(  
( 5
( 5E Y( E( a( ( ( ( ( ( ]( ( ( ( -( <( ( ( L( ( ( ( ( ( 
 
 
 E -( ( ( ( ( ( ( A( ( ( m( ( ( ( ( !( @( }( ( ( ( ( ( ( (  ( ( ( )}@(  ( -( 	( ( ( U( ( ( ( ( M( ( (          TWrapNonExceptionThrows          ) $afe88cb7-3c0e-4efe-91fc-ab65d1c0371c   Developer Express Inc.  2 -Copyright © 2000-2025 Developer Express Inc.  
 24.2.7.0  
 en-US    DevExpress.Web.ASPxRichEdit     
 24.2.0.0  m gDevExpress.Web.v24.2.Design, PublicKey=0024000004800000940000000602000000240000525341310004000001000100dfcd8cadc2dd24a7cd4ce95c4a9c1b8e7cb1dc2d665120556b4b0ec35495fddb2bd6eed0ca1e56480276295a225ba2a9746f3d3e1a04547ccf5b26acc3f96eb2a13ac467512497aa79208e32f242fd0618014d53c95a36e5de0e891873841fa8f559566e38e968426488b4aa4d0f0b59e59f38dcf3fbccf25d990ab19c27ddc2  y sDevExpress.Web.ASPxRichEdit.v24.2.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100dfcd8cadc2dd24a7cd4ce95c4a9c1b8e7cb1dc2d665120556b4b0ec35495fddb2bd6eed0ca1e56480276295a225ba2a9746f3d3e1a04547ccf5b26acc3f96eb2a13ac467512497aa79208e32f242fd0618014d53c95a36e5de0e891873841fa8f559566e38e968426488b4aa4d0f0b59e59f38dcf3fbccf25d990ab19c27ddc2  # DevExpress.Web.ASPxRichEditdx  O *DevExpress.Web.ASPxRichEdit.Css.System.csstext/css TPerformSubstitutionP +DevExpress.Web.ASPxRichEdit.Css.Default.csstext/css TPerformSubstitutionO *DevExpress.Web.ASPxRichEdit.Css.sprite.csstext/css TPerformSubstitutionP +DevExpress.Web.ASPxRichEdit.Css.ISprite.csstext/css TPerformSubstitutionQ ,DevExpress.Web.ASPxRichEdit.Css.GISprite.csstext/css TPerformSubstitutionR -DevExpress.Web.ASPxRichEdit.Css.SVGSprite.csstext/css TPerformSubstitutionT /DevExpress.Web.ASPxRichEdit.Css.WTSVGSprite.csstext/css TPerformSubstitutionU 0DevExpress.Web.ASPxRichEdit.Css.SVGSpriteNew.csstext/css TPerformSubstitutionW 2DevExpress.Web.ASPxRichEdit.Css.WTSVGSpriteNew.csstext/css TPerformSubstitutionR -DevExpress.Web.ASPxRichEdit.Css.GWISprite.csstext/css TPerformSubstitutionS .DevExpress.Web.ASPxRichEdit.Css.GWTISprite.csstext/css TPerformSubstitutionU 0DevExpress.Web.ASPxRichEdit.Css.dt_SVGSprite.csstext/css TPerformSubstitutionR MDevExpress.Web.ASPxRichEdit.Internal.RichEditCustomWebResourceHandlerProvider  ^ YDevExpress.Web.ASPxRichEdit.Internal.RichEditLocalizationCustomWebResourceHandlerProvider  _ 3DevExpress.Web.ASPxRichEdit.Scripts.Localization.jstext/javascript TPerformSubstitutionD /DevExpress.Web.ASPxRichEdit.Scripts.Compiled.jstext/javascript  B -DevExpress.Web.ASPxRichEdit.Scripts.PdfKit.jstext/javascript  G 2DevExpress.Web.ASPxRichEdit.Scripts.FileManager.jstext/javascript  I 4DevExpress.Web.ASPxRichEdit.Scripts.FolderManager.jstext/javascript  I 4DevExpress.Web.ASPxRichEdit.Scripts.UploadControl.jstext/javascript  T ?DevExpress.Web.ASPxRichEdit.Scripts.FileManagerUploadControl.jstext/javascript  j >DevExpress.Web.ASPxRichEdit.Scripts.RichEditCustomResources.jstext/javascript TPerformSubstitution< -DevExpress.Web.ASPxRichEdit.Images.Cursor.gif	image/gif  A 2DevExpress.Web.ASPxRichEdit.Images.CursorTouch.gif	image/gif  < -DevExpress.Web.ASPxRichEdit.Images.sprite.png	image/png  = .DevExpress.Web.ASPxRichEdit.Images.ISprite.png	image/png  > /DevExpress.Web.ASPxRichEdit.Images.GISprite.png	image/png  C 0DevExpress.Web.ASPxRichEdit.Images.SVGSprite.svg
image/svg+xml  E 2DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg
image/svg+xml  F 3DevExpress.Web.ASPxRichEdit.Images.SVGSpriteNew.svg
image/svg+xml  H 5DevExpress.Web.ASPxRichEdit.Images.WTSVGSpriteNew.svg
image/svg+xml  B 3DevExpress.Web.ASPxRichEdit.Images.dt_SVGSprite.png	image/png  D 5DevExpress.Web.ASPxRichEdit.Images.dt_WTSVGSprite.png	image/png  ? 0DevExpress.Web.ASPxRichEdit.Images.GWISprite.png	image/png  @ 1DevExpress.Web.ASPxRichEdit.Images.GWTISprite.png	image/png  9 *DevExpress.Web.ASPxRichEdit.Images.1x1.gif	image/gif  J ;DevExpress.Web.ASPxRichEdit.Images.reLoadingOnStatusBar.gif	image/gif  F 7DevExpress.Web.ASPxRichEdit.Images.reErrorUnderline.gif	image/gif  > /DevExpress.Web.ASPxRichEdit.Images.reAnchor.png	image/png  K 8DevExpress.Web.ASPxRichEdit.Images.reAutoScrollArrow.svg
image/svg+xml  M :DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorN.svg
image/svg+xml  N ;DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorNS.svg
image/svg+xml  M :DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorS.svg
image/svg+xml  H 5DevExpress.Web.ASPxRichEdit.Images.startTableMark.svg
image/svg+xml  D 5DevExpress.Web.ASPxRichEdit.Images.reImageLoading.gif	image/gif  p jDevExpress.Web.Bootstrap.v24.2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100dfcd8cadc2dd24a7cd4ce95c4a9c1b8e7cb1dc2d665120556b4b0ec35495fddb2bd6eed0ca1e56480276295a225ba2a9746f3d3e1a04547ccf5b26acc3f96eb2a13ac467512497aa79208e32f242fd0618014d53c95a36e5de0e891873841fa8f559566e38e968426488b4aa4d0f0b59e59f38dcf3fbccf25d990ab19c27ddc2  M .NETFramework,Version=v4.6.2 TFrameworkDisplayName.NET Framework 4.6.2      ^ YDevExpress.Web.ASPxRichEdit.Internal.WebRichEditStateBasedCommand`1+<GetStateObjects>d__2         ; 6You should use the 'RulerFirstLineIndentTitle' member.  9 4You should use the 'RulerHangingIndentTitle' member.  7 2You should use the 'RulerRightIndentTitle' member.  6 1You should use the 'RulerLeftIndentTitle' member.                                           7      DevExpress.Web.ASPxRichEdit.Design.ASPxRichEditDesigner, DevExpress.Web.v24.2.Design, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a   ASPxRichEdit  E /DevExpress.Web.ASPxRichEdit.ToolboxBitmapAccessASPxRichEdit.bmp   DX.24.2: Common Controls  b ]<{0}:ASPxRichEdit runat="server" WorkDirectory="~\App_Data\WorkDirectory"></{0}:ASPxRichEdit>   DevExpress.Web.Internal.ASPxperienceLicenseProvider, DevExpress.Web.v24.2, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a   DevExpress.Web.Design.CommonDesignerEditor, DevExpress.Web.v24.2.Design, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a1System.Drawing.Design.UITypeEditor,System.Drawing   Gets the document format.  [ VGets a value indicating whether the current document was modified after it was opened.  0 +Gets the last modify time for the document.   Common  	 Undo   	Clipboard  	 Font   	Paragraph   Styles   Editing  
 Pages   Tables   
Illustrations  
 Links   Header & Footer  	 Text   Symbols   
Page Setup   
Background   Table of Contents  
 Captions   
Insert Fields  	 View   Current Record   Finish   Document Views  	 Show   Table Style Options   Table Styles   Border & Shadings  
 Table   Rows & Columns  
 Merge   	Cell Size   	Alignment   
Navigation   Options  
 Position  
 Close   Shape Styles   Arrange  	 File  	 Home   Insert   Page Layout   
Mail Merge   Review   
References   Design   Layout   HeaderAndFooter   Format  Z UProvides access to the settings that define images displayed within the ASPxRichEdit.   Images  ; 6Provides access to the ASPxRichEdit‘s main settings.  
 Settings  " Specifies the work directory.  	 Misc   Gets or sets a value that specifies whether a confirmation alert should be displayed when any unsaved changes are going to be lost due to an end-user action.  
 Behavior  | wGets or sets the text of the confirmation message that is displayed when any unsaved data changes are going to be lost.  ^ YGets or sets a value that specifies whether the ASPxRichEdit’s status bar is displayed.   	StatusBar  g bGets or sets a value indicating whether an end-user can change the editor’s contents at runtime.  4 /Specifies whether the autosave mode is enabled.   UDevExpress.Web.Office.Internal.AutoSaveMode, DevExpress.Web.v24.2, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a      . )Gets or sets the timeout for auto-saving.  j \System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e08900:05:00  ` [Provides access to the settings that define images displayed within the RichEdit’s ruler.  h cProvides access to settings that are related to the FileManager used in some built-in File Dialogs.  S NGets an object that lists the client-side events specific to the ASPxRichEdit.   Client-Side  C >Specifies the ASPxRichEdit‘s client programmatic identifier.  p kGets or sets a value that specifies whether the ASPxRichEdit can be manipulated on the client side in code.  Q LEnables you to supply any server data that can then be parsed on the client.  d _Provides access to the style settings that control the appearance of the ASPxRichEdit elements.  o jProvides access to the style settings that define the appearance of the ASPxRichEdit‘s horizontal ruler.  v qProvides access to the style settings that define the appearance of the ASPxRichEdit‘s ribbon toolbar elements.  l gProvides access to the style settings that define the appearance of the ASPxRichEdit‘s context menus.   Provides access to the style settings that define the appearance of button elements used by the ASPxRichEdit control (within built-in dialogs, for instance).   Provides access to the style settings that define the appearance of editor elements used by the ASPxRichEdit control (for instance, within built-in dialogs).   Provides access to the style settings that define the appearance of File Manager elements used by the ASPxRichEdit control (for instance, within the built-in file dialogs).  i dProvides access to the style settings that define the appearance of the ASPxRichEdit‘s status bar.  4 /Specifies the type of the ASPxRichEdit toolbar.   Ribbon  8 U.DevExpress.Web.ASPxRichEdit.RichEditRibbonMode     6 1Provides access to the collection of ribbon tabs.  : 5Gets the collection of ribbon context tab categories.  U PGets or sets the index of the active ribbon tab within the ASPxRichEdit control.  L GSpecifies the ID of an ASPxRibbon control, used as an external toolbar.   DevExpress.Web.Design.RibbonControlIDConverter, DevExpress.Web.v24.2.Design, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a  9 4Provides access to the built-in dialogs‘ settings.  r mGets or sets a value that specifies whether to display mail-merge field results or field codes in a document.   Gets or sets whether to perform a case-sensitive string comparison when searching through the ASPxRichEditAutoCorrectReplaceInfoCollection‘s items.  @ ;A collection of ASPxRichEditAutoCorrectReplaceInfo objects.  6 1Specifies a name of a font family that is mapped.  > 9Specifies a font to which a source font family is mapped.   Specifies the font name.   Specifies the font family.  X SSpecifies whether the font’s source files should be downloaded from Google Fonts.  M HSpecifies the URI of a file that contains the font in the regular style.  @ ;Specifies the URI of a file that contains the font in bold.  L GSpecifies the URI of a file that contains the font in the italic style.  U PSpecifies the URI of a file that contains the font in the bold and italic style.  C >Specifies a font to which font families are mapped by default.  : 5Provide access to a collection of font mapping rules.  G BProvides access to a collection of fonts available in the control.  . )Provides access to font mapping settings.  8 3Specifies a folder that contains font source files.   fonts/  O JSpecifies whether default fonts are added to the RichEdit font collection.  
 false  b ]Gets or sets the email address used to authenticate a user if document protection is enabled.  b ]Gets or sets a user group name used to authenticate a user if document protection is enabled.  W RGets or sets a name used to authenticate a user if document protection is enabled.  * %Gets or sets the text to be replaced.   Gets the replacement text.  | wGets or sets whether the control should automatically create numbered or bulleted lists when certain symbols are typed.   Gets or sets whether the control should correct words that start with two capital letters by changing the second letter to lowercase.  ^ YGets or sets whether the control should detect URL strings and format them as hyperlinks.   Gets or sets whether the control should replace the typed text if it matches to one of the ASPxRichEditAutoCorrectReplaceInfoCollection dictionary’s entries.  g bProvides access to options specific to the collection of ASPxRichEditAutoCorrectReplaceInfo items.  D ?Specifies whether or not the printing operations are permitted.   UDevExpress.XtraRichEdit.DocumentCapability, DevExpress.RichEdit.v24.2.Core, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a      > 9Specifies whether or not the Copy operation is permitted.  M HSpecifies whether or not the Create New Document operation is permitted.  = 8Specifies whether or not the Cut operation is permitted.  G BSpecifies whether or not the Open Document operation is permitted.  ? :Specifies whether or not the Paste operation is permitted.  G BSpecifies whether or not the Save Document operation is permitted.  M HSpecifies whether or not the Save Document As… operation is permitted.  > 9Specifies whether or not the Drag operation is permitted.  > 9Specifies whether or not the Drop operation is permitted.  F ASpecifies which character(s) to insert when pressing the TAB key.  e `Gets or sets whether a page break is inserted next to the specified position or in the new line.  E @Specifies whether or not the Full Screen operation is permitted.  B =Specifies whether or not the Download operation is permitted.  x sGets or sets whether to raise client-side events when a document (or its selection) are changed via the client API.   Gets or sets a value indicating whether pressing the TAB key types a TAB character instead of moving focus to the next control in the tab order.   Gets or sets a value specifying the mode for displaying bookmarks in the Bookmarks pane of PDF viewer when a document is exported to PDF.   UDevExpress.XtraRichEdit.PdfBookmarkDisplayMode, DevExpress.RichEdit.v24.2.Core, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a      H CGets or sets the color used to indicate a bookmark in the document.  B =Gets or sets whether bookmarks are displayed in the document.   UDevExpress.XtraRichEdit.RichEditBookmarkVisibility, DevExpress.RichEdit.v24.2.Core, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a       UDevExpress.XtraRichEdit.CharacterFormattingDetailedOptions+Mask, DevExpress.RichEdit.v24.2.Core, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a      4 /Gets or sets the bookmark feature availability.  H CGets or sets the availability of the character formatting features.  H CGets or sets the availability of the apply character style feature.  P KGets or sets the document’s capability to recognize and work with fields.  = 8Gets whether the headers and footers feature is allowed.  5 0Gets or sets the hyperlink feature availability.  D ?Gets or sets the document capability to handle inline pictures.  H CGets or sets the availability of the paragraph formatting features.  H CGets or sets the availability of the apply paragraph style feature.  ; 6Gets or sets the availability of the paragraph breaks.  : 5Gets or sets the availability of paragraph tab stops.  J EGets or sets the document’s capability to handle document sections.  ? :Gets or sets the document’s capability to handle tables.  D ?Gets or sets the availability of the apply table style feature.  = 8Gets or sets the document’s capability to insert tabs.  < 7Gets or sets the availability of the Undo/Redo feature.  > 9Provides access to export settings applied to plain text.  O JGets or sets whether the control updates fields‘ values before printing.  i dGets or sets whether the control updates the value of the field that has been pasted by an end-user.  1 ,Specifies whether a click opens a hyperlink.  > 9Allows you to implement a custom tooltip for a hyperlink.  C >Specifies the format parameter for a newly created TIME field.  C >Specifies the format parameter for a newly created DATE field.  # Specifies allowed URI schemes.      }System.Web.UI.WebControls.StringArrayConverter, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a  - (Gets or sets whether the ruler is shown.   UDevExpress.XtraRichEdit.RichEditRulerVisibility, DevExpress.RichEdit.v24.2.Core, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a      < 7Gets or sets whether the left indent marker is visible.  = 8Gets or sets whether the right indent marker is visible.  J EGets or sets whether tab stops are displayed in the horizontal ruler.  U PGets or sets the availability of operations with bulleted lists in the document.  W RGets or sets the availability of operations with multilevel lists in the document.  \ WGets or sets the availability of operations with simple numbered lists in the document.  e `Gets or sets whether words in which all letters are uppercase should be skipped during checking.  ~ yGets or sets whether the spell checker ignores words containing different case letters in positions other than the first.  O JGets or sets whether the spell checker ignores words that contain numbers.  C >Gets or sets whether the spell checker ignores repeated words.  L GGets or sets whether email addresses should be skipped during checking.  y tGets or sets whether the spell checker ignores strings which can be qualified as Uniform Resource Identifiers (URI).  : 5Specifies character encoding for exported plain text.   Specifies the print mode.  / U%DevExpress.Web.ASPxRichEdit.PrintMode      M HGets or sets whether the ranges with permissions are visually indicated.   Gets or sets the color of the visual marks (brackets) that indicate the start and the end of each editable range in a protected document with protection enabled.  r mGets or sets the color used to highlight each editable range in a protected document with protection enabled.  9 4Gets or sets the simple view mode’s paddings size.        8 3Gets or sets the simple view mode’s left padding.  9 4Gets or sets the simple view mode’s right padding.  7 2Gets or sets the simple view mode’s top padding.  : 5Gets or sets the simple view mode’s bottom padding.  : 5Provides access to the simple view mode’s paddings.  4 /Gets or sets a the spell checking availability.  G BGets or sets the parameter used to measure the proximity of words.        O JGets or sets the number of suggested words displayed in the spelling form.        N IGets or sets the culture-specific settings of the built-in spell checker.  5 0Provides access to a collection of dictionaries.  0 +Provides access to basic spelling settings.  n iGets or sets the maximum length of a request that the ASPxRichEdit sends to the server without splitting.   ,    5 0Gets or sets the control’s document view type.  6 U,DevExpress.Web.ASPxRichEdit.RichEditViewType     : 5Provides access to the simple view mode’s settings.  ] XProvides access to customization settings for the Insert Image dialog’s form elements.  \ WProvides access to customization settings for the Insert Link dialog’s form elements.  Z UProvides access to customization settings for the Save File dialog’s form elements.  f aGets or sets the file extensions allowed for display in the FileManager used within file dialogs.  a \Provides access to the main settings of the FileManager embedded into built-in file dialogs.  d _Provides access to the editing settings of the FileManager embedded into built-in file dialogs.  q lProvides access to the folder container’s settings of the FileManager embedded into built-in file dialogs.  t oProvides access to the toolbar item visibility settings of the FileManager embedded into built-in file dialogs.  m hProvides access to the upload panel’s settings of the FileManager embedded into built-in file dialogs.  n iProvides access to permission settings that relate to the FileManager used in some built-in File Dialogs.  j eProvides access to the file list’s settings of the FileManager embedded into built-in file dialogs.  9 4Use the ASPxRichEdit.WorkDirectory property instead.  / *Gets or sets the name of a custom command.  ~ yGets or sets a value that indicates whether upload is enabled for the FileManager used within some built-in file dialogs.  l gGets the upload validation settings applied for the FileManager used within some built-in file dialogs.  r mGets or sets the file extensions allowed for display in the FileManager used within certain built-in dialogs.   Gets or sets a value specifying whether the FileManager embedded into some built-in dialogs displays a special icon for folders that are locked for upload.  u pGets or sets the maximum size of an uploaded file within the FileManager embedded into certain built-in dialogs.            Gets or sets a value that specifies whether a section that allows an e-mail address to be entered is displayed within the Insert Hyperlink built-in dialog form.   Gets or sets a value that specifies whether a section that allows end-users to upload their local files is displayed within the Insert Image built-in dialog form.  g bGets or sets a value that specifies which sections are displayed within the Save File dialog form.  F U<DevExpress.Web.ASPxRichEdit.SaveFileDialogDisplaySectionMode       Gets or sets the name of the JavaScript function or the entire code which will handle the client ASPxClientRichEdit.CustomCommandExecuted event.   Gets or sets the name of the JavaScript function or the entire code which will handle the client ASPxClientRichEdit.BeginSynchronization event.   Gets or sets the name of the JavaScript function or the entire code which will handle the client ASPxClientRichEdit.EndSynchronization event.   Gets or sets the name of the JavaScript function or the entire code which will handle the client ASPxClientRichEdit.DocumentChanged event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.DocumentLoaded event.   Gets or sets the name of the JavaScript function or the entire code which will handle the client ASPxClientRichEdit.DocumentFormatted event.   Gets or sets the name of the JavaScript function or the entire code which will handle the client ASPxClientRichEdit.ActiveSubDocumentChanged event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.PointerDown event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.PointerUp> event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.KeyDown event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.KeyUp event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.ContentInserted event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.ContentRemoved event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.CharacterPropertiesChanged event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.ParagraphPropertiesChanged event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.AutoCorrect event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.PopupMenuShowing event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.HyperlinkClick event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.SelectionChanged event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.GotFocus event.   Gets or sets the name of the JavaScript function or the entire code which will handle a web control’s client ASPxClientRichEdit.LostFocus event.   Specifies the name of the JavaScript function or the entire code which will handle the client ASPxClientRichEdit.FloatingObjectMoved event.  A <Gets or sets a set of icons to be used within the ribbon UI.   UxDevExpress.Web.MenuIconSetType, DevExpress.Web.v24.2, Version=24.2.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a      x sGets the settings of an image displayed within a loading panel when it is displayed at the RichEdit’s status bar.  e `Gets the settings of an image displayed within the Prev button of the RichEdit’s Search Panel.  e `Gets the settings of an image displayed within the Next button of the RichEdit’s Search Panel.  i dGets the settings of an image displayed within the Collapse button of the RichEdit’s Search Panel.  f aGets the settings of an image displayed within the Close button of the RichEdit’s Search Panel.  L GGets the settings of an image displayed in the decimal tab drag handle.  I DGets the settings of an image displayed in the left tab drag handle.  J EGets the settings of an image displayed in the right tab drag handle.  K FGets the settings of an image displayed in the center tab drag handle.  N IGets the settings of an image displayed in the cell division drag handle.  L GGets the settings of an image displayed in the left indent drag handle.  3 .Use the LeftIndentDragHandle property instead.  M HGets the settings of an image displayed in the right indent drag handle.  4 /Use the RightIndentDragHandle property instead.  R MGets the settings of an image displayed in the first line indent drag handle.  8 3Use the FirstLineIndentDragHandle property instead.  D ?Gets or sets the text content of the current context menu item.  I DGets or sets the command name associated with the context menu item.  J EGets or sets the name of an image displayed by the context menu item.  ^ YGets or sets a value that specifies whether the current context menu item starts a group.  S NGets or sets the name of a logical check group to which the menu item belongs.  T OGets a collection that contains the sub-items of the current context menu item.  v qGets the ASPxRichEdit control to which the current RichEditRibbonContextTabCategoryCollection collection belongs.  = 8Gets or sets a unit of measure used in the ASPxRichEdit.  2 U(DevExpress.Web.ASPxRichEdit.RichEditUnit     h cProvides access to an object that enables you to apply restrictions on different editor operations.  6 1Provides access to document restriction settings.  Y TProvides access to options specific to the horizontal ruler element of the RichEdit.  * %Provides access to bookmark settings.  T OProvides access to the spelling settings for checking the RichEdit’s content.  - (Provides access to autocorrect settings.  %  Provide access to font settings.  2 -Provides access to range permission settings.  h cProvides access to a user’s credentials used to identify editable ranges in a protected document.  / *Provides access to document view settings.  ' "Provides access to field settings.  ( #Provides access to export settings.  * %Provides access to printing settings.  q lGets the style settings that relate to styles declared at the control level of the embedded ASPxFileManager.   Fires on the server side before a folder is created within the FileManager (a document selector) embedded into built-in file dialogs, and allows you to cancel the action.   Action   Fires before an item is renamed within the FileManager embedded into built-in file dialogs, and allows you to cancel the action.   Fires before an item is deleted within the FileManager embedded into built-in file dialogs, and allows you to cancel the action.   ~Fires before an item is moved within the FileManager embedded into built-in file dialogs, and allows you to cancel the action.  b ]Fires before a file is uploaded to the Document Selector and allows you to cancel the action.  f aFires before an item is copied within the Document Selector, and allows you to cancel the action.  1 ,Allows you to implement custom saving logic.  7 2Fires when the DOCVARIABLE field field is updated.  9 4Occurs after a word is added to a custom dictionary.  | wFires when the ‘Insert Merge Field’ command button is clicked, and enables you to customize a drop-down field list.  X SFires when the client RichEditCommands.insertContentFromServer command is executed.  2 -Allows you to save the exported PDF document.   Fires when a round trip to the server has been initiated either manually (by a call to the client ASPxClientRichEdit.PerformCallback method) or automatically by the ASPxRichEdit (an internal service callback).          lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet         PADPADP^8+ł!ƂQi9iDw)c  .2EZ&3އ'6ӈӈՈ;Q<79&9'ֺY>ǋL苉y+Vc.RM#GC]r4OaӐ;3.Ӕ'֔@ͦʕЈ͕ @Q'2>їi誘˘hX˚fsc6Λ|Y,?6u;(- OWkjl⟠|_شR 4YᕢףQ}U	3T6mʹzw{ZI,g. D=Gt\ny$ܭ@oͮ3L>&gɞX]>i렳,$TAE1/,\۶iAjطJSoڽ*j牻bNpL&$b\@5f|ξ7WIe{ocP|IԐÅR,K-KÞJđıFhdzĶ%c44dȾy=ʕ
u˞#kɂH=Ҙ8Ԟ̐ ^֔֩~S#Q@لsڱPmeAܠܶK+MxK;yyFD9|NED%0߬L3骤2ՍQo/25iSĻíL
x=Rt?i<hzuQ;0cpYXJ\&	GQuB~OUGLO4y Ȃ ѽ   c 7 Y><GI[Vj
zpn.n6#Fϋ}X1;[z5WpyZ%%:eb; *YLrBU.yҫwNLsIja;*l!+!/!.4!;4!)!iy#^#$?$ŗ$$Ϣ$JE%Q%c%a&;>'2'!g))ey)$*0+GD+ʡ,D,L-0G.w...eR*//V-0o11D1#1*
d2Z3'
33^5K5 !6h/8;8h]"9I;R);=WG;a<f<P=[><>69D>>c>C??dBsyjBzBBBCLnC}D{ojDkEÅFgGGG~-HcFHeiH%zHG|H$HHZuHҌH7oH$HHjII#J{JZKK*L̼7M7M7'OVɺO ټO
O/OOE:O`PPPʋTUdV>"W[WZY>iZ^[4[a:R[[t]G^}_L`P`/`ɺaN,bcT^cBkd
PsddRYee.Qee{p6f)fHgdh6'hUhhh	iEiUAj(k,kUkkRlEolҺl)mvn)yo}.proTvrtrr0sm,Msgct&sGuKu$uuvvvL?w`Kwdwfwexxxpy˛y˛yQy$yz}z
{|SK|e{|} ~R~"S    @^    *	      0  ,  w  ?U  GE  
    |  lb      S    <  S      :    N  :  >  V/  G  R  Y  Z{  U    &  M.  ?    G0  4  \  v  ?  C  J  0    [  W  le  -  y        4      B  +  I  L  F  |]  =c  5'  eZ  'a  
#  Z    2  L    c  *u  X  o    v  D    $  ހ  ?  ؄  {      5  Bq    X8  "  K    o   c  #]      e=  s  x    f  N  *  '  x  O  L    m  6~  iu  q    	    ޖ    aj  l6  \  .     h    ?R  z    M`  y:  3  /  k  r    /  w>        .    s  Gt  )  4  a  ,Q      {  A  #  {    ~  $  7H  b  jS    \  Z    %    Ŕ    ?  .  3  *  (&  J  s  fF  g  }B  *   +  _  h  _*  r  Eo  .p  kd  S  ,    ~      H    
  8  f!  %  R  U  
d  ,2  E  y  z  _M  j  sG  2  H  d  9   i  j  bg  <[  6@  hk  t    hC  P  ~  f  K  A  Q  C  mp    65  k  zw  +  ی  o     k_  ,>  ē  GA  <z  <  k<  6  ;  ;  1  a,  ٚ  L  7  t|    p  #1  q  v%  d  i  '  ,m  Fv  ڇ  l    T  NV  1  M  o    #w          @  B9  t  j  =  {  K  +  pN  )6  Q    d  e"  4  W  B  H  x  A
    =7  GY  K    S)  [h  &    a+    /?      rX  t      ^  e  y  w  (  n  T    g  u  	  im  C    7y  
  /    fi  aJ    zc  
k  P  c\  ׃  [  
  u    z  ^L  N     YW    Μ  ]  F  $  f#  /  ;  C      Y  6  I  =  v    7s  =  *=  e  7  hr    o    W    a  lK  !  NI  Q;  Y  (*  3  X      z     8x  `    _  'l    5    |  P  r  zn  v  V  (  W4  }  K}    F  
}    =  g  yf  /  .    8O  '  Q  B  <  G  !  "  %  !  _$  m  ps     4  R
  ,  @(  d  a  V  %|    pl  )        D  A      p    t  m    p  _  }  D  j  G    @  
     -  Z  D-   T        c  ,B  5  "  9  ή  4A S P x R i c h E d i t S t r i n g I d . A f t e r     <A S P x R i c h E d i t S t r i n g I d . A l i g n m e n t    8A S P x R i c h E d i t S t r i n g I d . A l l C a p s    8A S P x R i c h E d i t S t r i n g I d . A p p l y T o    .A S P x R i c h E d i t S t r i n g I d . A t &   8A S P x R i c h E d i t S t r i n g I d . A t L e a s t *   PA S P x R i c h E d i t S t r i n g I d . A u t h E x c e p t i o n s E r r o r 4   6A S P x R i c h E d i t S t r i n g I d . B e f o r e    :A S P x R i c h E d i t S t r i n g I d . B o d y T e x t    2A S P x R i c h E d i t S t r i n g I d . B o l d    >A S P x R i c h E d i t S t r i n g I d . B o l d I t a l i c    DA S P x R i c h E d i t S t r i n g I d . B o o k m a r k T i t l e    DA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ A d d    VA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ B o o k m a r k N a m e    JA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ D e l e t e    FA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ G o T o    NA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ L o c a t i o n    FA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ N a m e    XA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ N a m e E r r o r T e x t   TA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ N o B o o k m a r k s *  JA S P x R i c h E d i t S t r i n g I d . B o o k m a r k s _ S o r t B y 8  NA S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g T i t l e A  TA S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ B o r d e r s V  ZA S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ B o r d e r s A l l _  ZA S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ B o r d e r s B o x d  `A S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ B o r d e r s C u s t o m i  jA S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ B o r d e r s D e s c r i p t i o n q  \A S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ B o r d e r s G r i d   \A S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ B o r d e r s N o n e   NA S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ F i l l   TA S P x R i c h E d i t S t r i n g I d . B o r d e r S h a d i n g _ S h a d i n g   6A S P x R i c h E d i t S t r i n g I d . B o t t o m   \A S P x R i c h E d i t S t r i n g I d . B u l l e t e d A n d N u m b e r i n g T i t l e   .A S P x R i c h E d i t S t r i n g I d . B y   BA S P x R i c h E d i t S t r i n g I d . C a n c e l B u t t o n   TA S P x R i c h E d i t S t r i n g I d . C a n t O p e n D o c u m e n t E r r o r   TA S P x R i c h E d i t S t r i n g I d . C a n t S a v e D o c u m e n t E r r o r 3  ZA S P x R i c h E d i t S t r i n g I d . C a n t S a v e T o E m p t y P a t h E r r o r u  XA S P x R i c h E d i t S t r i n g I d . C e l l O p t i o n s _ C e l l M a r g i n s   XA S P x R i c h E d i t S t r i n g I d . C e l l O p t i o n s _ S a m e A s T a b l e   RA S P x R i c h E d i t S t r i n g I d . C e l l O p t i o n s _ W r a p T e x t   :A S P x R i c h E d i t S t r i n g I d . C e n t e r e d   BA S P x R i c h E d i t S t r i n g I d . C h a n g e B u t t o n   jA S P x R i c h E d i t S t r i n g I d . C h a r a c t e r F o r m a t t i n g S c r i p t _ N o r m a l   pA S P x R i c h E d i t S t r i n g I d . C h a r a c t e r F o r m a t t i n g S c r i p t _ S u b s c r i p t "  tA S P x R i c h E d i t S t r i n g I d . C h a r a c t e r F o r m a t t i n g S c r i p t _ S u p e r s c r i p t -  HA S P x R i c h E d i t S t r i n g I d . C h a r a c t e r S t y l e s :  >A S P x R i c h E d i t S t r i n g I d . C h o o s e T y p e L  ^A S P x R i c h E d i t S t r i n g I d . C l i p b o a r d A c c e s s D e n i e d E r r o r g  hA S P x R i c h E d i t S t r i n g I d . C l i p b o a r d A c c e s s D e n i e d E r r o r T o u c h   @A S P x R i c h E d i t S t r i n g I d . C l o s e B u t t o n   4A S P x R i c h E d i t S t r i n g I d . C o l o r   BA S P x R i c h E d i t S t r i n g I d . C o l u m n s T i t l e   @A S P x R i c h E d i t S t r i n g I d . C o l u m n s _ C o l   NA S P x R i c h E d i t S t r i n g I d . C o l u m n s _ E q u a l W i d t h   XA S P x R i c h E d i t S t r i n g I d . C o l u m n s _ N u m b e r O f C o l u m n s   HA S P x R i c h E d i t S t r i n g I d . C o l u m n s _ P r e s e t s   HA S P x R i c h E d i t S t r i n g I d . C o l u m n s _ S p a c i n g   DA S P x R i c h E d i t S t r i n g I d . C o l u m n s _ W i d t h   XA S P x R i c h E d i t S t r i n g I d . C o l u m n s _ W i d t h A n d S p a c i n g   VA S P x R i c h E d i t S t r i n g I d . C o n f i r m O n L o s i n g C h a n g e s .  LA S P x R i c h E d i t S t r i n g I d . C o n t i n u e N u m b e r i n g   >A S P x R i c h E d i t S t r i n g I d . C o n t i n u o u s   HA S P x R i c h E d i t S t r i n g I d . C r e a t e D a t e F i e l d   ^A S P x R i c h E d i t S t r i n g I d . C r e a t e D a t e F i e l d D e s c r i p t i o n   `A S P x R i c h E d i t S t r i n g I d . C r e a t e E m p t y D o c V a r i a b l e F i e l d   vA S P x R i c h E d i t S t r i n g I d . C r e a t e E m p t y D o c V a r i a b l e F i e l d D e s c r i p t i o n   TA S P x R i c h E d i t S t r i n g I d . C r e a t e E m p t y M e r g e F i e l d /  jA S P x R i c h E d i t S t r i n g I d . C r e a t e E m p t y M e r g e F i e l d D e s c r i p t i o n ;  RA S P x R i c h E d i t S t r i n g I d . C r e a t e P a g e C o u n t F i e l d j  hA S P x R i c h E d i t S t r i n g I d . C r e a t e P a g e C o u n t F i e l d D e s c r i p t i o n t  HA S P x R i c h E d i t S t r i n g I d . C r e a t e P a g e F i e l d   ^A S P x R i c h E d i t S t r i n g I d . C r e a t e P a g e F i e l d D e s c r i p t i o n   HA S P x R i c h E d i t S t r i n g I d . C r e a t e T i m e F i e l d   ^A S P x R i c h E d i t S t r i n g I d . C r e a t e T i m e F i e l d D e s c r i p t i o n   FA S P x R i c h E d i t S t r i n g I d . C u r r e n t S e c t i o n   ^A S P x R i c h E d i t S t r i n g I d . C u s t o m i z e B u l l e t e d L i s t T i t l e   ^A S P x R i c h E d i t S t r i n g I d . C u s t o m i z e N u m b e r e d L i s t T i t l e   dA S P x R i c h E d i t S t r i n g I d . C u s t o m i z e O u t l i n e N u m b e r e d T i t l e 8  fA S P x R i c h E d i t S t r i n g I d . D e l e t e C e l l s _ D e l e t e E n t i r e C o l u m n P  `A S P x R i c h E d i t S t r i n g I d . D e l e t e C e l l s _ D e l e t e E n t i r e R o w f  ^A S P x R i c h E d i t S t r i n g I d . D e l e t e C e l l s _ S h i f t C e l l s L e f t y  ZA S P x R i c h E d i t S t r i n g I d . D e l e t e C e l l s _ S h i f t C e l l s U p   TA S P x R i c h E d i t S t r i n g I d . D e l e t e T a b l e C e l l s T i t l e   NA S P x R i c h E d i t S t r i n g I d . D i f f e r e n t F i r s t P a g e   PA S P x R i c h E d i t S t r i n g I d . D i f f e r e n t O d d A n d E v e n   \A S P x R i c h E d i t S t r i n g I d . D o c V a r i a b l e E x c e p t i o n E r r o r   6A S P x R i c h E d i t S t r i n g I d . D o u b l e '  FA S P x R i c h E d i t S t r i n g I d . D o w n l o a d B u t t o n /  BA S P x R i c h E d i t S t r i n g I d . D o w n l o a d C o p y 9  DA S P x R i c h E d i t S t r i n g I d . E d i t H y p e r l i n k J  8A S P x R i c h E d i t S t r i n g I d . E f f e c t s \  >A S P x R i c h E d i t S t r i n g I d . E r r o r T i t l e d  :A S P x R i c h E d i t S t r i n g I d . E v e n P a g e k  8A S P x R i c h E d i t S t r i n g I d . E x a c t l y v  JA S P x R i c h E d i t S t r i n g I d . E x p o r t R a n g e T i t l e   tA S P x R i c h E d i t S t r i n g I d . F i l e M a n a g e r _ O p e n e d F i l e D e l e t e E r r o r T e x t   pA S P x R i c h E d i t S t r i n g I d . F i l e M a n a g e r _ O p e n e d F i l e M o v e E r r o r T e x t   tA S P x R i c h E d i t S t r i n g I d . F i l e M a n a g e r _ O p e n e d F i l e R e n a m e E r r o r T e x t 	  :A S P x R i c h E d i t S t r i n g I d . F i l e N a m e T	  :A S P x R i c h E d i t S t r i n g I d . F i l e T y p e _	  JA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e T i t l e j	  ZA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ A d v a n c e d F i n d |	  JA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ F i n d 	  LA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ I t e m s 	  TA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ M a t c h C a s e 	  JA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ N e x t 	  TA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ N o M a t c h e s 	  RA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ N o R e s u l t 	  FA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ O f 	  RA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ P r e v i o u s 	  PA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ R e p l a c e 	  VA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ R e p l a c e A l l 	  bA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ R e p l a c e A l l N o t i f y 
  XA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ R e p l a c e W i t h '
  PA S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ R e s u l t s 5
  \A S P x R i c h E d i t S t r i n g I d . F i n d R e p l a c e _ T o o L o n g R e s u l t >
  VA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ A l l R e c o r d s 
  LA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ C o u n t 
  \A S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ C u r r e n t R e c o r d 
  JA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ F r o m 
  VA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ J o i n T a b l e s 
  TA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ M e r g e M o d e 
  ZA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ N e w P a r a g r a p h 
  VA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ N e w S e c t i o n 
  LA S P x R i c h E d i t S t r i n g I d . F i n i s h M e r g e _ R a n g e 
  <A S P x R i c h E d i t S t r i n g I d . F i r s t L i n e 
  >A S P x R i c h E d i t S t r i n g I d . F o l d e r P a t h 
  2A S P x R i c h E d i t S t r i n g I d . F o n t   <A S P x R i c h E d i t S t r i n g I d . F o n t C o l o r 
  :A S P x R i c h E d i t S t r i n g I d . F o n t S i z e   <A S P x R i c h E d i t S t r i n g I d . F o n t S t y l e $  <A S P x R i c h E d i t S t r i n g I d . F o n t T i t l e 0  6A S P x R i c h E d i t S t r i n g I d . F o o t e r 6  :A S P x R i c h E d i t S t r i n g I d . F r o m E d g e >  8A S P x R i c h E d i t S t r i n g I d . G e n e r a l I  DA S P x R i c h E d i t S t r i n g I d . G r o u p C a p t i o n s R  FA S P x R i c h E d i t S t r i n g I d . G r o u p C l i p b o a r d \  @A S P x R i c h E d i t S t r i n g I d . G r o u p C o m m o n g  NA S P x R i c h E d i t S t r i n g I d . G r o u p C u r r e n t R e c o r d o  RA S P x R i c h E d i t S t r i n g I d . G r o u p D o c u m e n t C o m m e n t   TA S P x R i c h E d i t S t r i n g I d . G r o u p D o c u m e n t L a n g u a g e   TA S P x R i c h E d i t S t r i n g I d . G r o u p D o c u m e n t P r o o f i n g   XA S P x R i c h E d i t S t r i n g I d . G r o u p D o c u m e n t P r o t e c t i o n   TA S P x R i c h E d i t S t r i n g I d . G r o u p D o c u m e n t T r a c k i n g   NA S P x R i c h E d i t S t r i n g I d . G r o u p D o c u m e n t V i e w s   BA S P x R i c h E d i t S t r i n g I d . G r o u p E d i t i n g   @A S P x R i c h E d i t S t r i n g I d . G r o u p F i n i s h   `A S P x R i c h E d i t S t r i n g I d . G r o u p F l o a t i n g O b j e c t s A r r a n g e   hA S P x R i c h E d i t S t r i n g I d . G r o u p F l o a t i n g O b j e c t s S h a p e S t y l e s   jA S P x R i c h E d i t S t r i n g I d . G r o u p F l o a t i n g P i c t u r e T o o l s A r r a n g e   rA S P x R i c h E d i t S t r i n g I d . G r o u p F l o a t i n g P i c t u r e T o o l s S h a p e S t y l e s   <A S P x R i c h E d i t S t r i n g I d . G r o u p F o n t   LA S P x R i c h E d i t S t r i n g I d . G r o u p H e a d e r F o o t e r   lA S P x R i c h E d i t S t r i n g I d . G r o u p H e a d e r F o o t e r T o o l s D e s i g n C l o s e   vA S P x R i c h E d i t S t r i n g I d . G r o u p H e a d e r F o o t e r T o o l s D e s i g n N a v i g a t i o n   pA S P x R i c h E d i t S t r i n g I d . G r o u p H e a d e r F o o t e r T o o l s D e s i g n O p t i o n s )  rA S P x R i c h E d i t S t r i n g I d . G r o u p H e a d e r F o o t e r T o o l s D e s i g n P o s i t i o n 2  NA S P x R i c h E d i t S t r i n g I d . G r o u p I l l u s t r a t i o n s <  LA S P x R i c h E d i t S t r i n g I d . G r o u p I n s e r t F i e l d s K  >A S P x R i c h E d i t S t r i n g I d . G r o u p L i n k s Z  FA S P x R i c h E d i t S t r i n g I d . G r o u p M a i l M e r g e a  NA S P x R i c h E d i t S t r i n g I d . G r o u p M a i l M e r g e V i e w m  PA S P x R i c h E d i t S t r i n g I d . G r o u p P a g e B a c k g r o u n d s  FA S P x R i c h E d i t S t r i n g I d . G r o u p P a g e S e t u p   >A S P x R i c h E d i t S t r i n g I d . G r o u p P a g e s   FA S P x R i c h E d i t S t r i n g I d . G r o u p P a r a g r a p h   <A S P x R i c h E d i t S t r i n g I d . G r o u p S h o w   @A S P x R i c h E d i t S t r i n g I d . G r o u p S t y l e s   BA S P x R i c h E d i t S t r i n g I d . G r o u p S y m b o l s   RA S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e O f C o n t e n t s   xA S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s D e s i g n B o r d e r s A n d S h a d i n g s   vA S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s D e s i g n T a b l e S t y l e O p t i o n s   jA S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s D e s i g n T a b l e S t y l e s   fA S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s L a y o u t A l i g n m e n t   dA S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s L a y o u t C e l l S i z e 

  ^A S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s L a y o u t M e r g e 
  pA S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s L a y o u t R o w s A n d C o l u m n s 
  ^A S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e T o o l s L a y o u t T a b l e -
  @A S P x R i c h E d i t S t r i n g I d . G r o u p T a b l e s 4
  <A S P x R i c h E d i t S t r i n g I d . G r o u p T e x t <
  <A S P x R i c h E d i t S t r i n g I d . G r o u p U n d o B
  NA S P x R i c h E d i t S t r i n g I d . G r o u p U n d o C l i p b o a r d H
  <A S P x R i c h E d i t S t r i n g I d . G r o u p V i e w X
  <A S P x R i c h E d i t S t r i n g I d . G r o u p Z o o m ^
  8A S P x R i c h E d i t S t r i n g I d . H a n g i n g d
  6A S P x R i c h E d i t S t r i n g I d . H e a d e r m
  LA S P x R i c h E d i t S t r i n g I d . H e a d e r s A n d F o o t e r s u
  6A S P x R i c h E d i t S t r i n g I d . H e i g h t 
  6A S P x R i c h E d i t S t r i n g I d . H i d d e n 
  FA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k T i t l e 
  NA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ B o o k m a r k 
  `A S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ D i s p l a y P r o p e r t i e s 
  VA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ E m a i l A d d r e s s 
  LA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ E m a i l T o 
  VA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ I n v a l i d E m a i l 
  RA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ I n v a l i d U R L 
  dA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ P l a c e I n T h i s D o c u m e n t 
  LA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ S u b j e c t   FA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ T e x t   LA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ T o o l T i p !  DA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ U r l *  LA S P x R i c h E d i t S t r i n g I d . H y p e r l i n k _ W e b P a g e /  @A S P x R i c h E d i t S t r i n g I d . I n d e n t a t i o n 9  JA S P x R i c h E d i t S t r i n g I d . I n f o r m a t i o n T i t l e F  RA S P x R i c h E d i t S t r i n g I d . I n n e r E x c e p t i o n s E r r o r S  BA S P x R i c h E d i t S t r i n g I d . I n s e r t B u t t o n   fA S P x R i c h E d i t S t r i n g I d . I n s e r t C e l l s _ I n s e r t E n t i r e C o l u m n   `A S P x R i c h E d i t S t r i n g I d . I n s e r t C e l l s _ I n s e r t E n t i r e R o w   ^A S P x R i c h E d i t S t r i n g I d . I n s e r t C e l l s _ S h i f t C e l l s D o w n   `A S P x R i c h E d i t S t r i n g I d . I n s e r t C e l l s _ S h i f t C e l l s R i g h t   tA S P x R i c h E d i t S t r i n g I d . I n s e r t C o n t e n t F r o m S e r v e r E x c e p t i o n E r r o r   JA S P x R i c h E d i t S t r i n g I d . I n s e r t I m a g e T i t l e g  RA S P x R i c h E d i t S t r i n g I d . I n s e r t I m a g e _ E n t e r U r l w  TA S P x R i c h E d i t S t r i n g I d . I n s e r t I m a g e _ F r o m L o c a l   PA S P x R i c h E d i t S t r i n g I d . I n s e r t I m a g e _ F r o m W e b   ZA S P x R i c h E d i t S t r i n g I d . I n s e r t I m a g e _ I m a g e P r e v i e w   fA S P x R i c h E d i t S t r i n g I d . I n s e r t I m a g e _ U p l o a d I n s t r u c t i o n s   TA S P x R i c h E d i t S t r i n g I d . I n s e r t M e r g e F i e l d T i t l e   XA S P x R i c h E d i t S t r i n g I d . I n s e r t M e r g e F i e l d _ F i e l d s   \A S P x R i c h E d i t S t r i n g I d . I n s e r t M e r g e F i e l d _ N o F i e l d s   TA S P x R i c h E d i t S t r i n g I d . I n s e r t T a b l e C e l l s T i t l e !  JA S P x R i c h E d i t S t r i n g I d . I n s e r t T a b l e T i t l e /  `A S P x R i c h E d i t S t r i n g I d . I n s e r t T a b l e _ N u m b e r O f C o l u m n s =  ZA S P x R i c h E d i t S t r i n g I d . I n s e r t T a b l e _ N u m b e r O f R o w s P  TA S P x R i c h E d i t S t r i n g I d . I n s e r t T a b l e _ T a b l e S i z e `  ^A S P x R i c h E d i t S t r i n g I d . I n v a l i d D o c u m e n t F o r m a t E r r o r l  JA S P x R i c h E d i t S t r i n g I d . I n v a l i d _ F i l e N a m e   6A S P x R i c h E d i t S t r i n g I d . I t a l i c   <A S P x R i c h E d i t S t r i n g I d . J u s t i f i e d   0A S P x R i c h E d i t S t r i n g I d . K L T   <A S P x R i c h E d i t S t r i n g I d . L a n d s c a p e   6A S P x R i c h E d i t S t r i n g I d . L a y o u t   VA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ A b s o l u t e   fA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ A b s o l u t e P o s i t i o n   XA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ A l i g n m e n t   PA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ B e l o w 
  ZA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ B o o k L a y o u t   XA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ B o t h S i d e s !  fA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ D i s t a n c e F r o m T e x t -  ZA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ H o r i z o n t a l A  rA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ H o r i z o n t a l B o o k L a y o u t O f M  A S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ H o r i z o n t a l P o s i t i o n A l i g n m e n t I n s i d e Q  A S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ H o r i z o n t a l P o s i t i o n A l i g n m e n t O u t s i d e Y  RA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ I n l i n e b  \A S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ L a r g e s t O n l y u  VA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ L e f t O n l y   ZA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ L o c k A n c h o r   dA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ L o c k A s p e c t R a t i o   ^A S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ O r i g i n a l S i z e   VA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ P o s i t i o n   VA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ R e l a t i v e   fA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ R e l a t i v e P o s i t i o n   ZA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ R e l a t i v e T o   PA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ R e s e t   XA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ R i g h t O n l y   RA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ R o t a t e   VA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ R o t a t i o n   PA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ S c a l e   NA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ S i z e   ^A S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ T e x t W r a p p i n g #  ^A S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ T o T h e R i g h t O f 2  VA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ V e r t i c a l C  VA S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ W r a p T e x t M  `A S P x R i c h E d i t S t r i n g I d . L a y o u t O p t i o n s _ W r a p p i n g S t y l e X  2A S P x R i c h E d i t S t r i n g I d . L e f t h  4A S P x R i c h E d i t S t r i n g I d . L e v e l n  @A S P x R i c h E d i t S t r i n g I d . L i n e S p a c i n g u  JA S P x R i c h E d i t S t r i n g I d . L o a d P i c t u r e E r r o r   8A S P x R i c h E d i t S t r i n g I d . M a r g i n s   HA S P x R i c h E d i t S t r i n g I d . M a r g i n s M o d e r a t e   DA S P x R i c h E d i t S t r i n g I d . M a r g i n s N a r r o w   DA S P x R i c h E d i t S t r i n g I d . M a r g i n s N o r m a l   @A S P x R i c h E d i t S t r i n g I d . M a r g i n s W i d e   XA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ A l i g n _ P a r a g r a p h   tA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ A l i g n _ P a r a g r a p h D r o p D o w n H e a d e r   LA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ C l i p b o a r d   PA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ C r e a t e F i e l d   fA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ C r e a t e F i e l d D e s c r i p t i o n   TA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ F o n t _ s e t t i n g s V  RA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ F o o t e r O f f s e t e  hA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ F o o t e r O f f s e t D e s c r i p t i o n z  RA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ H e a d e r O f f s e t   hA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ H e a d e r O f f s e t D e s c r i p t i o n   bA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ M a k e T e x t S e n t e n c e C a s e $  xA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ M a k e T e x t S e n t e n c e C a s e D e s c r i p t i o n 4  `A S P x R i c h E d i t S t r i n g I d . M e n u C m d _ S h o w C e l l O p t i o n s F o r m D  vA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ S h o w C e l l O p t i o n s F o r m D e s c r i p t i o n R  ZA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ T o g g l e F u l l S c r e e n j  pA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ T o g g l e F u l l S c r e e n D e s c r i p t i o n w  XA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ U p d a t e A l l F i e l d s   nA S P x R i c h E d i t S t r i n g I d . M e n u C m d _ U p d a t e A l l F i e l d s D e s c r i p t i o n   PA S P x R i c h E d i t S t r i n g I d . M o d e l I s C h a n g e d E r r o r   :A S P x R i c h E d i t S t r i n g I d . M u l t i p l e   8A S P x R i c h E d i t S t r i n g I d . N e w P a g e   8A S P x R i c h E d i t S t r i n g I d . N o S p a c e   6A S P x R i c h E d i t S t r i n g I d . N o r m a l   PA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ A l i g n e d A t   \A S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ B u l l e t C h a r a c t e r   ZA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ B u l l e t P o s i t i o n   NA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ B u l l e t e d   JA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ C e n t e r   PA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ C h a r a c t e r "  PA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ C u s t o m i z e 0  ^A S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ F o l l o w N u m b e r W i t h >  FA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ F o n t R  NA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ I n d e n t A t [  FA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ L e f t f  HA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ L e v e l l  LA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ N o t h i n g s  VA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ N u m b e r F o r m a t |  ZA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ N u m b e r P o s i t i o n   TA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ N u m b e r S t y l e   NA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ N u m b e r e d   \A S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ O u t l i n e N u m b e r e d   HA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ R i g h t   HA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ S p a c e   LA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ S t a r t A t   VA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ T a b C h a r a c t e r   VA S P x R i c h E d i t S t r i n g I d . N u m b e r i n g _ T e x t P o s i t i o n   8A S P x R i c h E d i t S t r i n g I d . O d d P a g e   :A S P x R i c h E d i t S t r i n g I d . O k B u t t o n   >A S P x R i c h E d i t S t r i n g I d . O p e n B u t t o n 
  DA S P x R i c h E d i t S t r i n g I d . O p e n F i l e T i t l e   DA S P x R i c h E d i t S t r i n g I d . O p e n H y p e r l i n k   nA S P x R i c h E d i t S t r i n g I d . O p e n i n g A n d O v e r s t o r e I m p o s s i b l e E r r o r &  8A S P x R i c h E d i t S t r i n g I d . O p t i o n s   @A S P x R i c h E d i t S t r i n g I d . O r i e n t a t i o n   HA S P x R i c h E d i t S t r i n g I d . O t h e r L a b e l s _ A l l   zA S P x R i c h E d i t S t r i n g I d . O t h e r L a b e l s _ C o n f i r m T o R e w r i t e E x i s t i n g F i l e   JA S P x R i c h E d i t S t r i n g I d . O t h e r L a b e l s _ N o n e   BA S P x R i c h E d i t S t r i n g I d . O u t l i n e L e v e l   0A S P x R i c h E d i t S t r i n g I d . P B B   :A S P x R i c h E d i t S t r i n g I d . P a g e F i l e   PA S P x R i c h E d i t S t r i n g I d . P a g e F l o a t i n g O b j e c t s   PA S P x R i c h E d i t S t r i n g I d . P a g e H e a d e r A n d F o o t e r   :A S P x R i c h E d i t S t r i n g I d . P a g e H o m e (  >A S P x R i c h E d i t S t r i n g I d . P a g e I n s e r t .  BA S P x R i c h E d i t S t r i n g I d . P a g e M a i l i n g s 6  FA S P x R i c h E d i t S t r i n g I d . P a g e P a g e L a y o u t B  FA S P x R i c h E d i t S t r i n g I d . P a g e R e f e r e n c e s O  >A S P x R i c h E d i t S t r i n g I d . P a g e R e v i e w [  FA S P x R i c h E d i t S t r i n g I d . P a g e S e t u p T i t l e c  HA S P x R i c h E d i t S t r i n g I d . P a g e T a b l e D e s i g n o  HA S P x R i c h E d i t S t r i n g I d . P a g e T a b l e L a y o u t w  :A S P x R i c h E d i t S t r i n g I d . P a g e V i e w   >A S P x R i c h E d i t S t r i n g I d . P a g i n a t i o n   4A S P x R i c h E d i t S t r i n g I d . P a p e r   <A S P x R i c h E d i t S t r i n g I d . P a p e r S i z e   HA S P x R i c h E d i t S t r i n g I d . P a r a g r a p h S t y l e s   DA S P x R i c h E d i t S t r i n g I d . P a r a g r a p h T a b 0   DA S P x R i c h E d i t S t r i n g I d . P a r a g r a p h T a b 1   FA S P x R i c h E d i t S t r i n g I d . P a r a g r a p h T i t l e   JA S P x R i c h E d i t S t r i n g I d . P a t h D o e s N o t E x i s t   :A S P x R i c h E d i t S t r i n g I d . P o r t r a i t !  8A S P x R i c h E d i t S t r i n g I d . P r e v i e w +  HA S P x R i c h E d i t S t r i n g I d . R e m o v e H y p e r l i n k 4  NA S P x R i c h E d i t S t r i n g I d . R e q u i r e d F i e l d E r r o r F  JA S P x R i c h E d i t S t r i n g I d . R e s t a r t N u m b e r i n g ^  4A S P x R i c h E d i t S t r i n g I d . R i g h t q  PA S P x R i c h E d i t S t r i n g I d . R u l e r C e n t e r T a b T i t l e x  RA S P x R i c h E d i t S t r i n g I d . R u l e r D e c i m a l T a b T i t l e   \A S P x R i c h E d i t S t r i n g I d . R u l e r F i r s t L i n e I n d e n t T i t l e   XA S P x R i c h E d i t S t r i n g I d . R u l e r H a n g i n g I n d e n t T i t l e   RA S P x R i c h E d i t S t r i n g I d . R u l e r L e f t I n d e n t T i t l e   LA S P x R i c h E d i t S t r i n g I d . R u l e r L e f t T a b T i t l e   RA S P x R i c h E d i t S t r i n g I d . R u l e r M a r g i n L e f t T i t l e   TA S P x R i c h E d i t S t r i n g I d . R u l e r M a r g i n R i g h t T i t l e   TA S P x R i c h E d i t S t r i n g I d . R u l e r R i g h t I n d e n t T i t l e   NA S P x R i c h E d i t S t r i n g I d . R u l e r R i g h t T a b T i t l e   BA S P x R i c h E d i t S t r i n g I d . S a v e A s B u t t o n   HA S P x R i c h E d i t S t r i n g I d . S a v e A s F i l e T i t l e   >A S P x R i c h E d i t S t r i n g I d . S a v e F i l e A s   BA S P x R i c h E d i t S t r i n g I d . S a v e T o S e r v e r   8A S P x R i c h E d i t S t r i n g I d . S e c t i o n 7  BA S P x R i c h E d i t S t r i n g I d . S e c t i o n S t a r t @  BA S P x R i c h E d i t S t r i n g I d . S e l e c t B u t t o n O  JA S P x R i c h E d i t S t r i n g I d . S e l e c t e d S e c t i o n s W  VA S P x R i c h E d i t S t r i n g I d . S e s s i o n H a s E x p i r e d E r r o r j  6A S P x R i c h E d i t S t r i n g I d . S i n g l e   <A S P x R i c h E d i t S t r i n g I d . S m a l l C a p s   8A S P x R i c h E d i t S t r i n g I d . S p a c i n g   8A S P x R i c h E d i t S t r i n g I d . S p e c i a l   lA S P x R i c h E d i t S t r i n g I d . S p e l l i n g C h e c k C o m p l e t e d I n f o r m a t i o n   DA S P x R i c h E d i t S t r i n g I d . S p e l l i n g T i t l e   ZA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ A d d T o D i c t i o n a r y   HA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ C h a n g e   NA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ C h a n g e A l l   HA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ D e l e t e (  NA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ I g n o r e A l l 0  PA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ I g n o r e O n c e <  fA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ N o S p e l l i n g S u g g e s t i o n s I  ZA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ N o t I n D i c t i o n a r y d  TA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ R e p e a t e d W o r d x  RA S P x R i c h E d i t S t r i n g I d . S p e l l i n g _ S u g g e s t i o n s   TA S P x R i c h E d i t S t r i n g I d . S p l i t C e l l s _ M e r g e C e l l s   RA S P x R i c h E d i t S t r i n g I d . S p l i t T a b l e C e l l s T i t l e   RA S P x R i c h E d i t S t r i n g I d . S t r i k e o u t T y p e _ D o u b l e   NA S P x R i c h E d i t S t r i n g I d . S t r i k e o u t T y p e _ N o n e   RA S P x R i c h E d i t S t r i n g I d . S t r i k e o u t T y p e _ S i n g l e   4A S P x R i c h E d i t S t r i n g I d . S t y l e   BA S P x R i c h E d i t S t r i n g I d . S y m b o l s T i t l e   XA S P x R i c h E d i t S t r i n g I d . T a b l e B o r d e r S t y l e _ D a s h e d   XA S P x R i c h E d i t S t r i n g I d . T a b l e B o r d e r S t y l e _ D o t t e d   XA S P x R i c h E d i t S t r i n g I d . T a b l e B o r d e r S t y l e _ D o u b l e   TA S P x R i c h E d i t S t r i n g I d . T a b l e B o r d e r S t y l e _ N o n e   XA S P x R i c h E d i t S t r i n g I d . T a b l e B o r d e r S t y l e _ S i n g l e   \A S P x R i c h E d i t S t r i n g I d . T a b l e O p t i o n s _ A l l o w S p a c i n g 	  XA S P x R i c h E d i t S t r i n g I d . T a b l e O p t i o n s _ A u t o R e s i z e &  hA S P x R i c h E d i t S t r i n g I d . T a b l e O p t i o n s _ D e f a u l t C e l l M a r g i n s L  hA S P x R i c h E d i t S t r i n g I d . T a b l e O p t i o n s _ D e f a u l t C e l l S p a c i n g b  RA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s T i t l e x  \A S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ A l i g n m e n t   lA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ B o r d e r s A n d S h a d i n g   \A S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ C a n t S p l i t   RA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ C e l l   VA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ C o l u m n   ^A S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ I n d e n t L e f t   \A S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ M e a s u r e I n   ^A S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ N e x t C o l u m n   XA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ N e x t R o w   XA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ O p t i o n s   fA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ P r e f e r r e d W i d t h   fA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ P r e v i o u s C o l u m n .  `A S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ P r e v i o u s R o w ?  PA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ R o w M  \A S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ R o w H e i g h t R  RA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ S i z e a  dA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ S p e c i f y H e i g h t g  TA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ T a b l e w  lA S P x R i c h E d i t S t r i n g I d . T a b l e P r o p e r t i e s _ V e r t i c a l A l i g n m e n t ~  <A S P x R i c h E d i t S t r i n g I d . T a b s T i t l e   FA S P x R i c h E d i t S t r i n g I d . T a b s _ A l i g n m e n t   @A S P x R i c h E d i t S t r i n g I d . T a b s _ C e n t e r   >A S P x R i c h E d i t S t r i n g I d . T a b s _ C l e a r   DA S P x R i c h E d i t S t r i n g I d . T a b s _ C l e a r A l l   BA S P x R i c h E d i t S t r i n g I d . T a b s _ D e c i m a l   RA S P x R i c h E d i t S t r i n g I d . T a b s _ D e f a u l t T a b S t o p s   <A S P x R i c h E d i t S t r i n g I d . T a b s _ D o t s   FA S P x R i c h E d i t S t r i n g I d . T a b s _ E q u a l S i g n   BA S P x R i c h E d i t S t r i n g I d . T a b s _ H y p h e n s   @A S P x R i c h E d i t S t r i n g I d . T a b s _ L e a d e r   <A S P x R i c h E d i t S t r i n g I d . T a b s _ L e f t   HA S P x R i c h E d i t S t r i n g I d . T a b s _ M i d d l e D o t s   @A S P x R i c h E d i t S t r i n g I d . T a b s _ N o T a b s   <A S P x R i c h E d i t S t r i n g I d . T a b s _ N o n e   >A S P x R i c h E d i t S t r i n g I d . T a b s _ R i g h t   :A S P x R i c h E d i t S t r i n g I d . T a b s _ S e t &  RA S P x R i c h E d i t S t r i n g I d . T a b s _ T a b S t o p P o s i t i o n +  ZA S P x R i c h E d i t S t r i n g I d . T a b s _ T a b S t o p s T o B e C l e a r e d >  FA S P x R i c h E d i t S t r i n g I d . T a b s _ T h i c k L i n e W  FA S P x R i c h E d i t S t r i n g I d . T a b s _ U n d e r l i n e c  JA S P x R i c h E d i t S t r i n g I d . T h i s P o i n t F o r w a r d n  JA S P x R i c h E d i t S t r i n g I d . T o g g l e F i e l d C o d e s   0A S P x R i c h E d i t S t r i n g I d . T o p   FA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e C o l o r   FA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e S t y l e   `A S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ D a s h D o t D o t t e d   ZA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ D a s h D o t t e d   ^A S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ D a s h S m a l l G a p   RA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ D a s h e d   RA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ D o t t e d   RA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ D o u b l e   ZA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ D o u b l e W a v e   XA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ H e a v y W a v e   ZA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ L o n g D a s h e d   NA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ N o n e )  RA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ S i n g l e /  jA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ T h i c k D a s h D o t D o t t e d 7  dA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ T h i c k D a s h D o t t e d N  \A S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ T h i c k D a s h e d a  \A S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ T h i c k D o t t e d o  dA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ T h i c k L o n g D a s h e d }  \A S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ T h i c k S i n g l e   NA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e T y p e _ W a v e   NA S P x R i c h E d i t S t r i n g I d . U n d e r l i n e W o r d s O n l y   @A S P x R i c h E d i t S t r i n g I d . U p d a t e F i e l d   BA S P x R i c h E d i t S t r i n g I d . W a r n i n g T i t l e   DA S P x R i c h E d i t S t r i n g I d . W h o l e D o c u m e n t   4A S P x R i c h E d i t S t r i n g I d . W i d t h   2A S P x R i c h E d i t S t r i n g I d . n o n e   LA S P x R i c h E d i t S t r i n g I d . s p a c i n g _ 1 _ 5 _ l i n e s   After	AlignmentAll capsApply toAtAt leasthAccess to the document is restricted and the editor needs to be reloaded. Your last changes can be lost.Before	Body TextBoldBold ItalicBookmarkAdd
Bookmark nameDeleteGo ToLocationName'Bookmark names must begin with a letterNo bookmarksSort byBorders and ShadingBordersAllBoxCustom6Click on diagram below or use buttons to apply bordersGridNoneFillShadingBottomBulleted and NumberingByCancelAThe document could not be opened because a server error occurred.@The document could not be saved because a server error occurred._Cannot save a document opened not from a file. Handle the Saving event to process custom savingCell marginsSame as the whole table	Wrap textCenteredChangeNormal	SubscriptSuperscriptCharacter StylesChoose download file typeAccess to the clipboard is denied due to your browser's security policy. <br />Instead, you can use the keyboard shortcuts:<br />{0}+X (cut), {0}+C (copy) and {0}+V (paste).Access to the clipboard is denied due to your browser's security policy. Instead, use the native menu that can be invoked by tapping and holding selected content.CloseColorColumnsCol #:Equal column widthNumber of columnsPresetsSpacingWidthWidth and spacingTAre you sure you want to perform the action? All unsaved document data will be lost.Continue Numbering
ContinuousDATE"Inserts the current date and time.DOCVARIABLEREnables you to programmatically insert complex content when this field is updated.
MERGEFIELD-Retrieves a value from the bound data source.NUMPAGES"Inserts the total number of pages.PAGE4Inserts the number of the page containing the field.TIMEInserts the current time.Current sectionCustomize Bulleted ListCustomize Numbered ListCustomize Outline ListDelete entire columnDelete entire rowShift cells leftShift cells upDelete CellsDifferent first pageDifferent odd and evenNThe DOCVARIABLE field could not be calculated because a server error occurred.DoubleDownloadDownload a copyEdit hyperlink..EffectError	Even pageExactlyExport RangeAThe file cannot be deleted. It is already opened by another user.?The file cannot be moved. It is already opened by another user.AThe file cannot be renamed. It is already opened by another user.	File name	File typeFind and Replace
Advanced findFindItems
Match caseNext
No matches+We couldn't find what you were looking for.ofPreviousReplaceReplace All{0} entries have been replacedReplace withResultsHThe result is too long. Check out the pages to see your results in text.All recordsCountCurrent recordFromJoin Tables
Merge mode
New ParagraphNew SectionRange
First lineFolder pathFont
Font color	Font size
Font styleFontFooter	From edgeGeneralCaptions	ClipboardCommonCurrent RecordCommentLanguageProofingProtectTrackingDocument ViewsEditingFinishArrangeShape StylesArrangeShape StylesFontHeader && FooterClose
NavigationOptionsPosition
Illustrations
Insert FieldsLinks
Mail MergeView
Background
Page SetupPages	ParagraphShowStylesSymbolsTable of ContentsBorders && ShadingsTable Style OptionsTable Styles	Alignment	Cell SizeMergeRows && ColumnsTableTablesTextUndoUndo/ClipboardViewZoomHangingHeaderHeaders and footersHeightHidden	HyperlinkBookmarkDisplayPropertiesE-mail address	E-mail toInvalid E-mailInvalid URLPlace in this documentSubjectTextToolTipURLWeb pageIndentationInformationaAn unspecified error occurred and the editor needs to be reloaded. Your last changes can be lost.InsertInsert entire columnInsert entire rowShift cells downShift cells rightYThe InsertContentFromServerCommand could not be executed because a server error occurred.Insert PictureEnter image web addressFrom your computerFrom the web (URL)
Image preview1Browse your computer for the image file to uploadInsert Merge FieldFields	no fieldsInsert CellsInsert TableNumber of columnsNumber of rows
Table Size)The file is corrupt and cannot be opened.Invalid file nameItalic	JustifiedKeep lines together	LandscapeLayoutAbsoluteAbsolute position	AlignmentbelowBook layout
Both sidesDistance from text
HorizontalofInsideOutsideIn line with textLargest only	Left onlyLock AnchorLock aspect ratio
Original sizePositionRelativeRelative positionrelative toReset
Right onlyRotateRotationScaleSize
Text Wrappingto the right ofVertical	Wrap textWrapping styleLeftLevelLine spacingCould not load the image.MarginsModerateNarrowNormalWideAlign Paragraph	Alignment	ClipboardCreate FieldXCreate a dynamic element used as a placeholder for data that might change in a document.
Font settingsFooter from Bottom:MSpecify the distance from the bottom of the page to the bottom of the footer.Header from Top:GSpecify the distance from the top of the page to the top of the header.Sentence case.Sentence case.Cell MarginsCustomize cell marginsFull Screen&Enable / disable the full screen mode.Update All FieldsORefresh all dynamic elements in the document by getting the latest source data.The document has been modified outside the editor and needs to be reloaded. <br />Your last-minute changes might not be preserved, if any.MultipleNew page3Don't add space between paragraph of the same styleNormal
Aligned atBullet characterBullet positionBulletedCenterCharacter...Customize...Follow Number WithFont...	Indent atLeftLevelNothing
Number formatNumber positionNumber styleNumberedOutline NumberedRightSpaceStart at
Tab character
Text positionOdd pageOKOpenOpenOpen hyperlinkrThe open and save document operations are not allowed since the working directory is not specified for the editor.OptionsOrientationAll)already exist. Do you want to replace it?none
Outline levelPage break beforeFileFormatHeader && FooterHomeInsert
Mail MergePage Layout
ReferencesReview
Page SetupDesignLayoutView
PaginationPaper
Paper sizeParagraph StylesIndents And SpacingLine And Page Breaks	Paragraph3Path does not exist.
Check the path and try again.PortraitPreviewRemove hyperlinkThis field is requiredRestart NumberingRight
Center Tab
Decimal TitleFirst Line IndentHanging IndentLeft IndentLeft TabMargin LeftMargin RightRight Indent	Right TabSaveSave AsSave file asSave file to the serverSection
Section startSelectSelected sectionsDYour session has expired. <br />Please refresh the page to continue.Single
Small capsSpacingSpecialThe spelling check is complete.SpellingAdd to DictionaryChange
Change AllDelete
Ignore AllIgnore Once(no spelling suggestions)Not in Dictionary:Repeated Word:Suggestions:Merge cells before splitSplit CellsDoubleNoneSingleStyleSymbolsDashedDottedDoubleNoneSingleAllow spacing between cells$Automatically resize to fit contentsDefault cell marginsDefault cell spacingTable Properties	AlignmentBorders and Shading...Allow row to break across pagesCellColumnIndent from left
Measure inNext columnNext row
Options...Preferred widthPrevious columnPrevious rowRow
Row height isSizeSpecify heightTableVertical alignmentTabs	AlignmentCenterClear	Clear AllDecimalDefault tab stopsDotsEqual signsHyphensLeaderLeftMiddle dotsno tabsNoneRightSetTab stop positionTab stops to be cleared
Thick line	UnderlineThis point forwardToggle Field CodesTopUnderline colorUnderline styleDash Dot DottedDash DottedDash Small GapDashedDottedDoubleDouble Wave
Heavy WaveLong DashedNoneSingleThick Dash Dot DottedThick Dash DottedThick DashedThick DottedThick Long DashedThick SingleWaveUnderline words onlyUpdate FieldWarningWhole documentWidth(none)	1.5 lines   C  .dxreControl
{
    border: solid 1px #a7a7a7;
    font: 12px Tahoma, Geneva, sans-serif;
}
.dxreControl .dxreTableBorderLine
{
    background-color: #599eff;
}
.dxreControl .dxrePage
{
    border: 1px solid #808080;
}
.dxreControl .dxreView
{
    background-color: #E0E0E0;
}
.dxreControl .dxflFormLayout .dxre-editorsGroupWithPaddings
{
    padding-left: 32px;
    padding-right: 32px;
}
.dxreControl .dxrControl .dxr-minBtn
{
    padding-right: 7px;
}
.dxreControl .dxrControl .dxtcLite
{
    background: #cecece;
}
.dxreControl .dxrControl .dxtcLite.dxtc-top .dxtc-leftIndent
{
    width: 3px;
}
.dxreControl .dxrControl .dxr-tabContent
{
    border-left-style: none;
    border-right-style: none;
}
.dxrControl .dxreRibbonCBSmall
{
    width: 60px;
}
.dxrControl .dxreRibbonCBLarge
{
    width: 140px;
}
.dxrControl .dxreRibbonCBMiddle
{
    width: 100px;
}
.dxrControl .dxreRibbonSE
{
    width: 70px;
}
.dxreControl .dxreRulerWrapper
{
    padding-top: 2px;
    background-color: #e0e0e0;
}
.dxreControl .dxreRulerWrapper .dxre-rulertabAlignBox
{
    background-color: #d3d3d3;
}
.dxreControl .dxreRulerWrapper .dxre-rulertabAlignBox > div
{
    background-color: #fff;
}
.dxreControl .dxreRulerLine
{
    border-left: 1px dashed #717171;
}
.dxreControl .dxreRulerLine.table
{
    border-left: 1px solid #599eff;
}
.dxreControl .dxreRuler .dxre-columnHandleLeftPart,
.dxreControl .dxreRuler .dxre-columnHandleRightPart
{
    width: 5px;
    background-color: #bcb8b8;
}
.dxreControl .dxreRuler .dxre-rulerTableColumnSeparatorHandle
{
    height: 12px;
    background-color: #d3d3d3;
}
.dxreControl .dxreRuler .dxre-rulerTableColumnSeparatorHandle > div
{
    margin-top: 2px;
}
.dxreControl .dxreRuler .dxre-rulerDivisions
{
    height: 12px;
    background-color: #fff;
}
.dxreControl .dxreRuler .dxre-rulerDivisions div
{
    height: 12px;
}
.dxreControl .dxreRuler .dxre-rulerDivisions .dxre-rulerMinorDivision,
.dxreControl .dxreRuler .dxre-rulerDivisions .dxre-rulerMajorDivision
{
    border-left: 1px solid #a3a3a3;
}
.dxreControl .dxreRuler .dxre-rulerDivisions .dxre-rulerNumberDivision
{
    color: #4e4e4e;
}
.dxreControl .dxreRuler .dxre-rulerMarginLeftPanel,
.dxreControl .dxreRuler .dxre-rulerMarginRightPanel,
.dxreControl .dxreRuler .dxre-rulerMarginLeftHandlePanel,
.dxreControl .dxreRuler .dxre-rulerMarginRightHandlePanel,
.dxreControl .dxreRuler .dxre-columnHandle,
.dxreControl .dxreRuler .dxre-columnHandle > div
{
    height: 12px;
}
.dxreControl .dxreRuler .dxre-rulerMarginLeftPanel,
.dxreControl .dxreRuler .dxre-rulerMarginRightPanel,
.dxreControl .dxreRuler .dxre-rulerMarginLeftHandlePanel,
.dxreControl .dxreRuler .dxre-rulerMarginRightHandlePanel,
.dxreControl .dxreRuler .dxre-columnHandle
{
    background-color: #d3d3d3;
}
.dxreControl .dxre-leftIndentDragHandleBody
{
    background-color: #fff;
    border: 1px solid #929292;
    border-top: none;
    height: 6px;
}
.dxreControl .dxreQuickSearchPanel
{
    background-color: #FFFFFF;
    border: 1px solid #a7a7a7;
    border-top: none;
    padding: 6px;
}
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButtonEdit
{
    width: 200px;
}
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButton:first-of-type
{
    margin-top: 1px;
    margin-right: 2px;
    margin-left: 5px;
}
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButton:nth-of-type(2)
{
    margin-top: 1px;
}
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButton:nth-of-type(3)
{
    margin-top: 2px;
    margin-right: 2px;
    margin-left: 25px;
}
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButton:nth-of-type(4)
{
    margin-top: 2px;
}
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButton,
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButton .dxb
{
    padding: 0px !important;
    border: none !important;
    cursor: pointer;
}
.dxreControl .dxreQuickSearchPanel .dxreQuickSearchButton.dxbButtonSys
{
    background: none !important;
}
.dxreControl .dxreBar
{
    background-color: #F2F2F2;
    border-top: 1px solid #a7a7a7;
    height: 22px;
}
.dxreControl .dxreBar .dxreLoadingPanel
{
    float: right;
    margin: 3px 4px 0 0;
    color: #666666;
}
.dxreControl .dxreBar .dxreLoadingPanel .dx
{
    line-height: 0;
}
.dxreControl .dxreBar .dxreLoadingPanel .dxlp-loadingImage
{
    width: 16px;
    height: 16px;
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.reLoadingOnStatusBar.gif")%>');
}
.dxreControl .dxreDlgListBox
{
    padding: 1px;
}
.dxreControl .dxreDlgListBox > div
{
    border: 1px solid #808080;
    margin: 1px;
}
.dxreControl .dxreDlgListBox .dxreDlgListHover
{
    background-color: #F0F0F0;
}
.dxreControl .dxreDlgListBox .dxreDlgListSelected
{
    background-color: #E0E0E0;
}
.dxreControl .dxre-numberinglistdialog
{
    max-width: 541px;
}
.dxreControl .dxre-simplenumberinglistdialog
{
    max-width: 385px;
}
.dxreControl .dxreDlgNumberingListForm .dxreDlgNumberingListPreview
{
    padding: 10px;
    width: 90px;
    height: 90px;
}
.dxreControl .dxreDlgNumberingListForm .dxreDlgMainContainer
{
    height: 220px;
}
.dxreControl .dxreDlgNumberingListForm .dxreDlgListBox > div
{
    width: 120px;
    height: 120px;
    line-height: 120px;
}
.dxreControl .dxre-bulletedlistdialog
{
    max-width: 348px;
}
.dxreControl .dxreDlgBulletedListForm .dxreDlgBulletPresetBtn
{
    width: 45px !important;
    height: 45px !important;
    float: left;
    margin: 0px 0px 5px 5px;
}
.dxreControl .dxre-multilevelnumberinglistdialog
{
    max-width: 422px;
}
.dxreControl .dxreMultiLevelNumberingListBoxLayout,
.dxreControl .dxreMultiLevelNumberingListBoxLayout .dxlbd
{
    width: 30px;
    height: 100% !important;
}
.dxreControl .dxre-multiLevelOptionsLayout .dxflGroup
{
    padding: 0px;
}
.dxreControl .dxreDlgMultiLevelNumberingListForm .dxre-dialogContentGroup > tbody > tr > td:first-child
{
    padding-right: 0px;
}
.dxreControl .dxreDlgMultiLevelNumberingListForm .dxre-dialogContentGroup > tbody > tr > td:last-child
{
    padding: 0px;
}
.dxreControl .dxre-alertdialog
{
    max-width: 350px;
}
.dxreControl .dxre-alertdialog span
{
    user-select: text;
}
.dxreControl .dxre-layoutoptionsdialog
{
    max-width: 500px;
}
.dxreControl .dxreDlgLayoutForm .dxtc-content
{
    min-height: 420px;
}
.dxreControl .dxreDlgLayoutForm .dxre-layoutFormOriginalSizeGroup .dxflCaptionCellSys
{
    padding-top: 0px;
}
.dxreControl .dxreDlgLayoutForm .dxre-dialogPresetButton
{
    width: 25% !important;
    text-align: center;
    float: left;
}
@media (max-width: 500px)
{
    .dxreControl .dxreDlgLayoutForm .dxre-dialogPresetButton
    {
        width: 33% !important;
    }
}
@media (max-width: 380px)
{
    .dxreControl .dxreDlgLayoutForm .dxre-dialogPresetButton
    {
        width: 50% !important;
    }
}
.dxreControl .dxreDlgLayoutForm .dxre-buttonLable
{
    display: block;
    text-align: center;
    padding-top: 3px;
    padding-bottom: 5px;
}
.dxreControl .dxreDlgLayoutForm .dxre-sizeTabLayout .dx-dialogEditRoot > tbody > tr > td:first-child,
.dxreControl .dxreDlgLayoutForm .dxre-positionTabLayout .dx-dialogEditRoot > tbody > tr > td:first-child
{
    width: 5% !important;
}
.dxreControl .dxreDialog .dxrpControl.dxrp-noCollapsing > tbody > tr.dxrpCR > .dxrpcontent
{
    padding: 15px;
}
.dxreControl .dxreDialog .dxrpControlGB > tbody > tr.dxrpCR > .dxrpcontent
{
    padding: 6px 10px 10px 10px;
}
@media (max-width: 420px)
{
    .dxreControl .dxreDialog .dxre-dialogShortEditor:not(.dxre-dialogNotResponsiveEditor),
    .dxreControl .dxreDialog .dxre-dialogEditor:not(.dxre-dialogNotResponsiveEditor),
    .dxreControl .dxreDialog .dxre-dialogLongEditor:not(.dxre-dialogNotResponsiveEditor)
    {
        max-width: 100%;
    }
    .dxreControl .dxreDialog .dxflItemSys .dxflCaptionCellSys
    {
        min-width: 25px !important;
    }
}
.dxreControl .dxre-dialogShortEditor
{
    max-width: 70px;
}
.dxreControl .dxre-dialogEditor
{
    min-width: 70px;
    max-width: 110px;
}
.dxreControl .dxre-dialogLongEditor
{
    max-width: 170px;
}
.dxreControl .dxreDlgInLayoutButton
{
    width: 68px !important;
}
.dxreControl .dxreDlgFooterBtn
{
    width: 80px !important;
    margin-left: 8px;
}
.dxreControl .dxre-EmptyLine
{
    height: 10px;
}
.dxreControl .dxre-dialogFooter
{
    width: auto;
    padding: 11px;
    background-color: #F3F3F3;
    border-top: Solid 1px #E0E0E0;
}
.dxreControl .dxre-dialogLG.dxflGroupSys.dxre-dialogContentGroup
{
    padding: 11px 3px;
}
.dxreControl .dxre-dialogLGB > .dxre-dialogLG > div > .dxre-dialogLGC > .dxre-dialogLI
{
    padding-top: 2px;
}
.dxreControl .dxre-bookmarksdialog
{
    max-width: 300px;
}
.dxreControl .dxre-columnsdialog
{
    max-width: 400px;
}
.dxreControl .dxreDlgColumnsForm .dxreDlgColumnsEditorMainTable > tbody > tr > td
{
    padding: 2px 4px;
}
.dxreControl .dxreDlgColumnsForm .dxreDlgColumnsEditor
{
    height: 100px;
}
.dxreControl .dxreDlgColumnsForm .dxreDlgColumnsEditor .dxreDlgTextBox
{
    width: 40px;
}
.dxreControl .dxreDlgColumnsForm .dxreDlgColumnsEditor .dxreDlgSpinEdit
{
    width: 90px;
}
@media (max-width: 420px)
{
    .dxreControl .dxreDlgColumnsForm .dxbButton div.dxb
    {
        padding: 3px 5px 3px !important;
        border: none;
    }
    .dxreControl .dxreDlgColumnsForm tbody > tr.dxrpCR > .dxrpcontent > .dxrpAW > .dxrpCW
    {
        padding: 10px 0;
    }
    .dxreControl .dxreDlgColumnsForm .dxflGroup, .dxreControl .dxreDlgColumnsForm .dxflGroupCell
    {
        padding: 0 4px;
    }
    .dxreControl .dxreDlgColumnsForm .dxreDlgColumnsEditorMainTable
    {
        width: 100%;
    }
    .dxreControl .dxreDlgColumnsForm .dxflNotFloatedElSys .dxrpControl .dxflGroupCell
    {
        padding: 0px;
    }
}
.dxreControl .dxre-Separator
{
    height: 0px;
    margin: 5px 0;
    border-top: 1px solid #808080;
}
.dxreControl .dxre-findreplacedialog
{
    max-width: 426px;
}
.dxreControl .dxre-findreplacedialog .dxre-searchResultList
{
    width: 100%;
    height: 180px;
}
.dxreControl .dxre-findreplacedialog .dxre-searchResultList .dxeListBoxItem
{
    white-space: normal;
}
.dxreControl .dxre-findreplacedialog .dxre-dialogContentGroup
{
    padding: 24px !important;
}
.dxreControl .dxre-findreplacedialog .dxre-searchResult
{
    width: 100% !important;
}
.dxreControl .dxre-findreplacedialog .dxre-searchResult > div
{
    float: none !important;
    width: auto !important;
}
.dxreControl .dxre-findreplacedialog .dxre-searchResult .dxflCaptionCell
{
    padding-top: 0px;
}
.dxreControl .dxre-findreplacedialog .dxre-searchResult .dxflNestedControlCell
{
    text-align: right;
    white-space: nowrap;
    color: #acacac;
}
.dxreControl .dxre-findreplacedialog .dxre-dialogControlsWrapper > tbody > tr > td:first-child
{
    width: auto;
}
.dxreControl .dxre-findreplacedialog .dxre-dialogControlsWrapper > tbody > tr > td:nth-child(2)
{
    width: 100%;
    text-align: left;
}
.dxreControl .dxre-findreplacedialog .dxre-replaceInfo
{
    position: absolute;
    left: 0;
    visibility: hidden;
}
.dxreControl .dxre-findreplacedialog .dxre-replaceInfo > div
{
    padding: 8px;
    background: #FFF2C0;
    box-sizing: border-box;
    text-align: center;
}
@media (max-width: 420px)
{
    .dxreControl .dxre-findreplacedialog .dxre-dialogFooter .dxreDlgFooterBtn
    {
        width: auto !important;
    }
    .dxreControl .dxre-findreplacedialog .dxre-dialogFooter .dxreDlgFooterBtn > div.dxb
    {
        padding-left: 5px;
        padding-right: 5px;
        font-size: 12px;
    }
}
.dxreControl .dxre-fontdialog
{
    max-width: 500px;
}
.dxreControl .dxreDlgFontForm .dxreCheckBoxContainer .dxflGroup,
.dxreControl .dxreDlgFontForm .dxreCheckBoxContainer .dxflGroupCell
{
    padding: 0px;
}
.dxreControl .dxreDlgFontForm .dxreCheckBoxContainer .dxflItem
{
    padding: 0px !important;
}
@media (max-width: 420px)
{
    .dxreControl .dxreDlgFontForm .dxre-dialogContentGroup .dxflLastChildSys .dxflGroupSys > div:not(.dxflFirstChildSys)
    {
        margin-top: 7px;
    }
}
.dxreControl .dxre-hyperlinkdialog
{
    max-width: 470px;
}
.dxreControl .dxre-insertimagedialog
{
    max-width: 400px;
}
.dxreControl .dxreDlgInsertImageForm .dxreDlgImagePreview
{
    margin-top: 10px;
    width: 100%;
    height: 170px;
    color: #878787;
    border: dashed 1px #cac8c8;
    text-align: center;
}
.dxreControl .dxreDlgInsertImageForm .dxflCaption
{
    white-space: normal;
}
.dxreControl .dxreDlgInsertImageForm .dxre-dialogRadioNavigation
{
    padding-bottom: 7px;
}
.dxreControl .dxre-insertmergefielddialog
{
    max-width: 300px !important;
}
.dxreControl .dxre-insertmergefielddialog .dxeListBox
{
    height: 250px;
    table-layout: fixed;
}
.dxreControl .dxre-finishandmergedialog
{
    max-width: 215px;
}
.dxreControl .dxre-openfiledialog
{
    max-width: 800px;
}
.dxreControl .dxreDlgOpenFileForm
{
    height: 500px;
}
.dxreControl .dxreDlgOpenFileForm .dxflGroupCell,
.dxreControl .dxreDlgOpenFileForm .dxre-dialogContentGroup,
.dxreControl .dxreDlgOpenFileForm .dxre-dialogContentGroup .dxflItem
{
    padding: 0px !important;
}
.dxreControl .dxre-pagesetupdialog
{
    max-width: 380px;
}
.dxreControl .dxreDlgPageSetupForm .dxre-headersAndFootersGroup .dxflLastChildSys > .dxre-dialogLGC
{
    padding: 0px;
}
.dxreControl .dxreDlgPageSetupForm .dxre-offsetGroup .dxflGroupCell
{
    padding: 0px;
}
.dxreControl .dxreDlgPageSetupForm .dxre-offsetGroup tr:first-child .dxflGroupCell:first-child
{
    padding-right: 10px;
}
@media (min-width: 420px)
{
    .dxreControl .dxreDlgPageSetupForm .dxtc-content
    {
        min-height: 255px;
    }
}
.dxreControl .dxre-paragraphdialog
{
    max-width: 430px;
}
.dxreControl .dxreDlgParagraphForm .dxtc-content
{
    min-height: 335px;
}
.dxreControl .dxreDlgParagraphForm .dxre-dialogControlsWrapper > tbody > tr > td:first-child
{
    text-align: left;
}
@media (min-width: 420px)
{
    .dxreControl .dxreDlgParagraphForm .dxre-dialogParagraphInnerLayout
    {
        padding-top: 2px;
    }
    .dxreControl .dxreDlgParagraphForm .dxre-dialogParagraphInnerLayout .dxflFirstChildSys .dxflGroupCell
    {
        padding-right: 8px;
    }
}
.dxreControl .dxreDlgSaveFileForm
{
    width: 470px;
}
.dxreControl .dxre-spellingdialog
{
    max-width: 455px;
}
.dxreControl .dxreDlgSpellingForm .dxreDlgSB
{
    min-width: 80px;
    width: 100%;
    margin-bottom: 5px;
}
.dxreControl .dxreDlgSymbolsForm .dxreDlgSymbolsList
{
    height: 250px;
    border: 1px solid #808080;
}
.dxreControl .dxreDlgSymbolsForm .dxreDlgListBox > div
{
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: large;
}
.dxreControl .dxre-splittablecellsdialog,
.dxreControl .dxre-deletetablecellsdialog,
.dxreControl .dxre-inserttabledialog
{
    max-width: 300px;
}
.dxreControl .dxre-tablepropertiesdialog
{
    max-width: 500px;
}
.dxreControl .dxreDlgTablePropertiesForm .dxtc-content
{
    min-height: 420px;
}
.dxreControl .dxreDlgTablePropertiesForm .dxre-dialogTableSpacing
{
    text-align: right;
}
.dxreControl .dxreDlgTablePropertiesForm .dxre-dialogTableSpacing table
{
    display: inline-block;
}
@media (max-width: 380px)
{
    .dxreControl .dxreDlgTablePropertiesForm .dxre-dialogTableSpacing
    {
        text-align: left;
    }
}
.dxreControl .dxreDlgTablePropertiesForm .dxreDlgRight .dxreDlgFooterBtn
{
    display: inline-table;
}
.dxreControl .dxre-bordershadingdialog
{
    max-width: 410px;
}
.dxreControl .dxreDlgBorderShadingForm .dxre-dialogBorderPresets
{
    padding: 6px 0;
}
.dxreControl .dxreDlgBorderShadingForm .dxre-dialogBorderPresets .dxre-dialogLGC
{
    padding: 0px;
}
.dxreControl .dxreDlgBorderShadingForm .dxre-dialogBorderPresets .dxre-dialogPresetButton
{
    padding-bottom: 5px;
    text-align: center;
}
.dxreControl .dxreDlgBorderShadingForm .dxre-dialogBorderPresets .dxre-dialogPresetButton .dxre-buttonLable
{
    display: block;
}
.dxreControl .dxreDlgBorderShadingForm .dxreTableBorderPreview
{
    width: 130px !important;
    display: inline-block;
}
.dxreControl .dxre-dialogCellMargins td.dxre-dialogLGC
{
    padding: 0 2px 0 0 !important;
}
.dxreControl .dxre-dialogCellBlock
{
    width: 68px;
    background-color: #E0E0E0;
    border: dashed 1px #818181;
}
.dxreControl .dxreBorderButton
{
    visibility: hidden;
}
.dxreControl .dxreBorderButton div.dxb
{
    padding: 0px !important;
}
.dxreControl .dxre-tabsdialog
{
    max-width: 380px;
}
.dxreControl .dxreDlgTabsForm .dxreDlgTabsList
{
    height: 70px;
}
.dxreControl .dxreDlgTabsForm .dxre-flowRadioButtonList span.dxichCellSys
{
    min-width: 90px;
}       
.dxRichEdit_CenterTabDragHandle, .dxRichEdit_ColumnSeparatorDragHandle, .dxRichEdit_DecimalTabDragHandle, .dxRichEdit_FirstLineIndentDragHandle, .dxRichEdit_LeftIndentDragHandle, .dxRichEdit_LeftTabDragHandle, .dxRichEdit_QuickSearchCloseButton, .dxRichEdit_QuickSearchCollapseButton, .dxRichEdit_QuickSearchNextButton, .dxRichEdit_QuickSearchPrevButton, .dxRichEdit_RightIndentDragHandle, .dxRichEdit_RightTabDragHandle { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.sprite.png")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_CenterTabDragHandle { background-position: -112px 0px; width: 8px; height: 6px } 
.dxRichEdit_ColumnSeparatorDragHandle { background-position: -103px 0px; width: 7px; height: 8px } 
.dxRichEdit_DecimalTabDragHandle { background-position: -122px 0px; width: 8px; height: 6px } 
.dxRichEdit_FirstLineIndentDragHandle { background-position: -70px 0px; width: 9px; height: 8px } 
.dxRichEdit_LeftIndentDragHandle { background-position: -81px 0px; width: 9px; height: 8px } 
.dxRichEdit_LeftTabDragHandle { background-position: -132px 0px; width: 6px; height: 6px } 
.dxRichEdit_QuickSearchCloseButton { background-position: -36px 0px; width: 15px; height: 14px } 
.dxRichEdit_QuickSearchCollapseButton { background-position: -53px 0px; width: 15px; height: 14px } 
.dxRichEdit_QuickSearchNextButton { background-position: 0px 0px; width: 16px; height: 17px } 
.dxRichEdit_QuickSearchPrevButton { background-position: -18px 0px; width: 16px; height: 17px } 
.dxRichEdit_RightIndentDragHandle { background-position: -92px 0px; width: 9px; height: 8px } 
.dxRichEdit_RightTabDragHandle { background-position: -140px 0px; width: 6px; height: 6px } 
  L  
.dxRichEdit_Icons_AddParagraphToTableOfContents, .dxRichEdit_Icons_AddParagraphToTableOfContentsLarge, .dxRichEdit_Icons_AlignBottomCenter, .dxRichEdit_Icons_AlignBottomCenterLarge, .dxRichEdit_Icons_AlignBottomLeft, .dxRichEdit_Icons_AlignBottomLeftLarge, .dxRichEdit_Icons_AlignBottomRight, .dxRichEdit_Icons_AlignBottomRightLarge, .dxRichEdit_Icons_AlignCenter, .dxRichEdit_Icons_AlignCenterLarge, .dxRichEdit_Icons_AlignFloatingObjectBottomCenter, .dxRichEdit_Icons_AlignFloatingObjectBottomCenterLarge, .dxRichEdit_Icons_AlignFloatingObjectBottomLeft, .dxRichEdit_Icons_AlignFloatingObjectBottomLeftLarge, .dxRichEdit_Icons_AlignFloatingObjectBottomRight, .dxRichEdit_Icons_AlignFloatingObjectBottomRightLarge, .dxRichEdit_Icons_AlignFloatingObjectMiddleCenter, .dxRichEdit_Icons_AlignFloatingObjectMiddleCenterLarge, .dxRichEdit_Icons_AlignFloatingObjectMiddleLeft, .dxRichEdit_Icons_AlignFloatingObjectMiddleLeftLarge, .dxRichEdit_Icons_AlignFloatingObjectMiddleRight, .dxRichEdit_Icons_AlignFloatingObjectMiddleRightLarge, .dxRichEdit_Icons_AlignFloatingObjectTopCenter, .dxRichEdit_Icons_AlignFloatingObjectTopCenterLarge, .dxRichEdit_Icons_AlignFloatingObjectTopLeft, .dxRichEdit_Icons_AlignFloatingObjectTopLeftLarge, .dxRichEdit_Icons_AlignFloatingObjectTopRight, .dxRichEdit_Icons_AlignFloatingObjectTopRightLarge, .dxRichEdit_Icons_AlignJustify, .dxRichEdit_Icons_AlignJustifyLarge, .dxRichEdit_Icons_AlignLeft, .dxRichEdit_Icons_AlignLeftLarge, .dxRichEdit_Icons_AlignMiddleCenter, .dxRichEdit_Icons_AlignMiddleCenterLarge, .dxRichEdit_Icons_AlignMiddleLeft, .dxRichEdit_Icons_AlignMiddleLeftLarge, .dxRichEdit_Icons_AlignMiddleRight, .dxRichEdit_Icons_AlignMiddleRightLarge, .dxRichEdit_Icons_AlignRight, .dxRichEdit_Icons_AlignRightLarge, .dxRichEdit_Icons_AlignTopCenter, .dxRichEdit_Icons_AlignTopCenterLarge, .dxRichEdit_Icons_AlignTopLeft, .dxRichEdit_Icons_AlignTopLeftLarge, .dxRichEdit_Icons_AlignTopRight, .dxRichEdit_Icons_AlignTopRightLarge, .dxRichEdit_Icons_Background, .dxRichEdit_Icons_BackgroundLarge, .dxRichEdit_Icons_Bold, .dxRichEdit_Icons_BoldLarge, .dxRichEdit_Icons_Bookmark, .dxRichEdit_Icons_BookmarkLarge, .dxRichEdit_Icons_BorderAllLarge, .dxRichEdit_Icons_BorderBottom, .dxRichEdit_Icons_BorderBottomLarge, .dxRichEdit_Icons_BorderDiagonalDown, .dxRichEdit_Icons_BorderDiagonalDownLarge, .dxRichEdit_Icons_BorderDiagonalUp, .dxRichEdit_Icons_BorderDiagonalUpLarge, .dxRichEdit_Icons_BorderInsideHorizontal, .dxRichEdit_Icons_BorderInsideHorizontalLarge, .dxRichEdit_Icons_BorderInsideVertical, .dxRichEdit_Icons_BorderInsideVerticalLarge, .dxRichEdit_Icons_BorderLeft, .dxRichEdit_Icons_BorderLeftLarge, .dxRichEdit_Icons_BorderNone, .dxRichEdit_Icons_BorderNoneLarge, .dxRichEdit_Icons_BorderRight, .dxRichEdit_Icons_BorderRightLarge, .dxRichEdit_Icons_BordersAll, .dxRichEdit_Icons_BordersAllLarge, .dxRichEdit_Icons_BordersAndShading, .dxRichEdit_Icons_BordersAndShadingLarge, .dxRichEdit_Icons_BordersBox, .dxRichEdit_Icons_BordersBoxLarge, .dxRichEdit_Icons_BordersCustom, .dxRichEdit_Icons_BordersCustomLarge, .dxRichEdit_Icons_BordersGrid, .dxRichEdit_Icons_BordersGridLarge, .dxRichEdit_Icons_BordersInside, .dxRichEdit_Icons_BordersInsideLarge, .dxRichEdit_Icons_BordersNone, .dxRichEdit_Icons_BordersNoneLarge, .dxRichEdit_Icons_BordersOutside, .dxRichEdit_Icons_BordersOutsideLarge, .dxRichEdit_Icons_BorderTop, .dxRichEdit_Icons_BorderTopLarge, .dxRichEdit_Icons_ChangeFontStyle, .dxRichEdit_Icons_ChangeFontStyleLarge, .dxRichEdit_Icons_ChangeTextCase, .dxRichEdit_Icons_ChangeTextCaseLarge, .dxRichEdit_Icons_CharacterStyleLarge, .dxRichEdit_Icons_ClearFormatting, .dxRichEdit_Icons_ClearFormattingLarge, .dxRichEdit_Icons_ClearTableStyle, .dxRichEdit_Icons_ClearTableStyleLarge, .dxRichEdit_Icons_CloseHeaderAndFooter, .dxRichEdit_Icons_CloseHeaderAndFooterLarge, .dxRichEdit_Icons_Columns, .dxRichEdit_Icons_ColumnsLarge, .dxRichEdit_Icons_ColumnsLeft, .dxRichEdit_Icons_ColumnsLeftLarge, .dxRichEdit_Icons_ColumnsOne, .dxRichEdit_Icons_ColumnsOneLarge, .dxRichEdit_Icons_ColumnsRight, .dxRichEdit_Icons_ColumnsRightLarge, .dxRichEdit_Icons_ColumnsThree, .dxRichEdit_Icons_ColumnsThreeLarge, .dxRichEdit_Icons_ColumnsTwo, .dxRichEdit_Icons_ColumnsTwoLarge, .dxRichEdit_Icons_ContinueNumberingList, .dxRichEdit_Icons_Copy, .dxRichEdit_Icons_CopyLarge, .dxRichEdit_Icons_Cut, .dxRichEdit_Icons_CutLarge, .dxRichEdit_Icons_Delete, .dxRichEdit_Icons_Delete_Hyperlink, .dxRichEdit_Icons_Delete_HyperlinkLarge, .dxRichEdit_Icons_DeleteComment, .dxRichEdit_Icons_DeleteCommentLarge, .dxRichEdit_Icons_DeleteLarge, .dxRichEdit_Icons_DeleteTable, .dxRichEdit_Icons_DeleteTableCells, .dxRichEdit_Icons_DeleteTableCellsLarge, .dxRichEdit_Icons_DeleteTableColumns, .dxRichEdit_Icons_DeleteTableColumnsLarge, .dxRichEdit_Icons_DeleteTableLarge, .dxRichEdit_Icons_DeleteTableRows, .dxRichEdit_Icons_DeleteTableRowsLarge, .dxRichEdit_Icons_DifferentFirstPage, .dxRichEdit_Icons_DifferentFirstPageLarge, .dxRichEdit_Icons_DifferentOddEvenPages, .dxRichEdit_Icons_DifferentOddEvenPagesLarge, .dxRichEdit_Icons_DraftView, .dxRichEdit_Icons_DraftViewLarge, .dxRichEdit_Icons_EditRangePermission, .dxRichEdit_Icons_EditRangePermissionLarge, .dxRichEdit_Icons_Find, .dxRichEdit_Icons_FindLarge, .dxRichEdit_Icons_First, .dxRichEdit_Icons_FirstLarge, .dxRichEdit_Icons_FloatingObjectAlignment, .dxRichEdit_Icons_FloatingObjectAlignmentLarge, .dxRichEdit_Icons_FloatingObjectBringForward, .dxRichEdit_Icons_FloatingObjectBringForwardLarge, .dxRichEdit_Icons_FloatingObjectBringInFrontOfText, .dxRichEdit_Icons_FloatingObjectBringInFrontOfTextLarge, .dxRichEdit_Icons_FloatingObjectBringToFront, .dxRichEdit_Icons_FloatingObjectBringToFrontLarge, .dxRichEdit_Icons_FloatingObjectBringToFrontOfText, .dxRichEdit_Icons_FloatingObjectBringToFrontOfTextLarge, .dxRichEdit_Icons_FloatingObjectFillColor, .dxRichEdit_Icons_FloatingObjectFillColorLarge, .dxRichEdit_Icons_FloatingObjectLayoutOptions, .dxRichEdit_Icons_FloatingObjectLayoutOptionsLarge, .dxRichEdit_Icons_FloatingObjectOutlineColor, .dxRichEdit_Icons_FloatingObjectOutlineColorLarge, .dxRichEdit_Icons_FloatingObjectSendBackward, .dxRichEdit_Icons_FloatingObjectSendBackwardLarge, .dxRichEdit_Icons_FloatingObjectSendBehindText, .dxRichEdit_Icons_FloatingObjectSendBehindTextLarge, .dxRichEdit_Icons_FloatingObjectSendToBack, .dxRichEdit_Icons_FloatingObjectSendToBackLarge, .dxRichEdit_Icons_FloatingObjectTextWrapType, .dxRichEdit_Icons_FloatingObjectTextWrapTypeLarge, .dxRichEdit_Icons_Font, .dxRichEdit_Icons_FontColor, .dxRichEdit_Icons_FontColorLarge, .dxRichEdit_Icons_FontLarge, .dxRichEdit_Icons_FontSize, .dxRichEdit_Icons_FontSizeDecrease, .dxRichEdit_Icons_FontSizeDecreaseLarge, .dxRichEdit_Icons_FontSizeIncrease, .dxRichEdit_Icons_FontSizeIncreaseLarge, .dxRichEdit_Icons_FontSizeLarge, .dxRichEdit_Icons_Footer, .dxRichEdit_Icons_FooterLarge, .dxRichEdit_Icons_FullScreen, .dxRichEdit_Icons_FullScreenLarge, .dxRichEdit_Icons_GoToFooter, .dxRichEdit_Icons_GoToFooterLarge, .dxRichEdit_Icons_GoToHeader, .dxRichEdit_Icons_GoToHeaderLarge, .dxRichEdit_Icons_GoToNextHeaderFooter, .dxRichEdit_Icons_GoToNextHeaderFooterLarge, .dxRichEdit_Icons_GoToPreviousHeaderFooter, .dxRichEdit_Icons_GoToPreviousHeaderFooterLarge, .dxRichEdit_Icons_Header, .dxRichEdit_Icons_HeaderLarge, .dxRichEdit_Icons_HiddenText, .dxRichEdit_Icons_HiddenTextLarge, .dxRichEdit_Icons_Highlight, .dxRichEdit_Icons_HighlightLarge, .dxRichEdit_Icons_Hyperlink, .dxRichEdit_Icons_HyperlinkLarge, .dxRichEdit_Icons_ImagePlaceHolder, .dxRichEdit_Icons_IndentDecrease, .dxRichEdit_Icons_IndentDecreaseLarge, .dxRichEdit_Icons_IndentIncrease, .dxRichEdit_Icons_IndentIncreaseLarge, .dxRichEdit_Icons_InsertCaption, .dxRichEdit_Icons_InsertCaptionLarge, .dxRichEdit_Icons_InsertColumnBreak, .dxRichEdit_Icons_InsertColumnBreakLarge, .dxRichEdit_Icons_InsertDataField, .dxRichEdit_Icons_InsertDataFieldLarge, .dxRichEdit_Icons_InsertEquationCaption, .dxRichEdit_Icons_InsertEquationCaptionLarge, .dxRichEdit_Icons_InsertFigureCaption, .dxRichEdit_Icons_InsertFigureCaptionLarge, .dxRichEdit_Icons_InsertFloatingObjectImage, .dxRichEdit_Icons_InsertFloatingObjectImageLarge, .dxRichEdit_Icons_InsertImage, .dxRichEdit_Icons_InsertImageLarge, .dxRichEdit_Icons_InsertPageBreak, .dxRichEdit_Icons_InsertPageBreakLarge, .dxRichEdit_Icons_InsertPageCount, .dxRichEdit_Icons_InsertPageCountLarge, .dxRichEdit_Icons_InsertPageNumber, .dxRichEdit_Icons_InsertPageNumberLarge, .dxRichEdit_Icons_InsertSectionBreakContinuous, .dxRichEdit_Icons_InsertSectionBreakContinuousLarge, .dxRichEdit_Icons_InsertSectionBreakEvenPage, .dxRichEdit_Icons_InsertSectionBreakEvenPageLarge, .dxRichEdit_Icons_InsertSectionBreakNextPage, .dxRichEdit_Icons_InsertSectionBreakNextPageLarge, .dxRichEdit_Icons_InsertSectionBreakOddPage, .dxRichEdit_Icons_InsertSectionBreakOddPageLarge, .dxRichEdit_Icons_InsertTable, .dxRichEdit_Icons_InsertTableCaption, .dxRichEdit_Icons_InsertTableCaptionLarge, .dxRichEdit_Icons_InsertTableCells, .dxRichEdit_Icons_InsertTableCellsLarge, .dxRichEdit_Icons_InsertTableColumnsToTheLeft, .dxRichEdit_Icons_InsertTableColumnsToTheLeftLarge, .dxRichEdit_Icons_InsertTableColumnsToTheRight, .dxRichEdit_Icons_InsertTableColumnsToTheRightLarge, .dxRichEdit_Icons_InsertTableLarge, .dxRichEdit_Icons_InsertTableOfCaptions, .dxRichEdit_Icons_InsertTableOfCaptionsLarge, .dxRichEdit_Icons_InsertTableOfContents, .dxRichEdit_Icons_InsertTableOfContentsLarge, .dxRichEdit_Icons_InsertTableOfEquations, .dxRichEdit_Icons_InsertTableOfEquationsLarge, .dxRichEdit_Icons_InsertTableOfFigures, .dxRichEdit_Icons_InsertTableOfFiguresLarge, .dxRichEdit_Icons_InsertTableRowsAbove, .dxRichEdit_Icons_InsertTableRowsAboveLarge, .dxRichEdit_Icons_InsertTableRowsBelow, .dxRichEdit_Icons_InsertTableRowsBelowLarge, .dxRichEdit_Icons_InsertTextBox, .dxRichEdit_Icons_InsertTextBoxLarge, .dxRichEdit_Icons_Italic, .dxRichEdit_Icons_ItalicLarge, .dxRichEdit_Icons_Language, .dxRichEdit_Icons_LanguageLarge, .dxRichEdit_Icons_Last, .dxRichEdit_Icons_LastLarge, .dxRichEdit_Icons_LeftColumns, .dxRichEdit_Icons_LineNumbering, .dxRichEdit_Icons_LineNumberingLarge, .dxRichEdit_Icons_LineSpacing, .dxRichEdit_Icons_LineSpacingLarge, .dxRichEdit_Icons_LinkToPrevious, .dxRichEdit_Icons_LinkToPreviousLarge, .dxRichEdit_Icons_ListBullets, .dxRichEdit_Icons_ListBulletsLarge, .dxRichEdit_Icons_ListMultilevel, .dxRichEdit_Icons_ListMultilevelLarge, .dxRichEdit_Icons_ListNumbers, .dxRichEdit_Icons_ListNumbersLarge, .dxRichEdit_Icons_MailMerge, .dxRichEdit_Icons_MailMergeLarge, .dxRichEdit_Icons_MergeTableCells, .dxRichEdit_Icons_MergeTableCellsLarge, .dxRichEdit_Icons_ModifyStyle, .dxRichEdit_Icons_ModifyStyleLarge, .dxRichEdit_Icons_ModifyTableStyle, .dxRichEdit_Icons_ModifyTableStyleLarge, .dxRichEdit_Icons_New, .dxRichEdit_Icons_NewComment, .dxRichEdit_Icons_NewCommentLarge, .dxRichEdit_Icons_NewLarge, .dxRichEdit_Icons_NewTableStyle, .dxRichEdit_Icons_NewTableStyleLarge, .dxRichEdit_Icons_Next, .dxRichEdit_Icons_NextComment, .dxRichEdit_Icons_NextCommentLarge, .dxRichEdit_Icons_NextLarge, .dxRichEdit_Icons_OneColumn, .dxRichEdit_Icons_Open, .dxRichEdit_Icons_OpenLarge, .dxRichEdit_Icons_PageColor, .dxRichEdit_Icons_PageColorLarge, .dxRichEdit_Icons_PageMargins, .dxRichEdit_Icons_PageMarginsLarge, .dxRichEdit_Icons_PageMarginsModerate, .dxRichEdit_Icons_PageMarginsModerateLarge, .dxRichEdit_Icons_PageMarginsNarrow, .dxRichEdit_Icons_PageMarginsNarrowLarge, .dxRichEdit_Icons_PageMarginsNormal, .dxRichEdit_Icons_PageMarginsNormalLarge, .dxRichEdit_Icons_PageMarginsWide, .dxRichEdit_Icons_PageMarginsWideLarge, .dxRichEdit_Icons_PageOrientation, .dxRichEdit_Icons_PageOrientationLandscape, .dxRichEdit_Icons_PageOrientationLandscapeLarge, .dxRichEdit_Icons_PageOrientationLarge, .dxRichEdit_Icons_PageOrientationPortrait, .dxRichEdit_Icons_PageOrientationPortraitLarge, .dxRichEdit_Icons_PaperSize, .dxRichEdit_Icons_PaperSizeLarge, .dxRichEdit_Icons_Paragraph, .dxRichEdit_Icons_ParagraphLarge, .dxRichEdit_Icons_ParagraphStyleLarge, .dxRichEdit_Icons_Paste, .dxRichEdit_Icons_PasteLarge, .dxRichEdit_Icons_PasteSpecial, .dxRichEdit_Icons_PasteSpecialLarge, .dxRichEdit_Icons_PenColor, .dxRichEdit_Icons_PenColorLarge, .dxRichEdit_Icons_Prev, .dxRichEdit_Icons_Preview, .dxRichEdit_Icons_PreviewLarge, .dxRichEdit_Icons_PreviousComment, .dxRichEdit_Icons_PreviousCommentLarge, .dxRichEdit_Icons_PrevLarge, .dxRichEdit_Icons_Print, .dxRichEdit_Icons_PrintBrowser, .dxRichEdit_Icons_PrintBrowserLarge, .dxRichEdit_Icons_PrintDialog, .dxRichEdit_Icons_PrintDialogLarge, .dxRichEdit_Icons_PrintLarge, .dxRichEdit_Icons_PrintLayoutView, .dxRichEdit_Icons_PrintLayoutViewLarge, .dxRichEdit_Icons_PrintPreviewBrowser, .dxRichEdit_Icons_PrintPreviewBrowserLarge, .dxRichEdit_Icons_ProtectDocument, .dxRichEdit_Icons_ProtectDocumentLarge, .dxRichEdit_Icons_ReadingLayoutView, .dxRichEdit_Icons_ReadingLayoutViewLarge, .dxRichEdit_Icons_Redo, .dxRichEdit_Icons_RedoLarge, .dxRichEdit_Icons_Replace, .dxRichEdit_Icons_ReplaceLarge, .dxRichEdit_Icons_RestartNumberingList, .dxRichEdit_Icons_Reviewers, .dxRichEdit_Icons_ReviewersLarge, .dxRichEdit_Icons_ReviewingPane, .dxRichEdit_Icons_ReviewingPaneLarge, .dxRichEdit_Icons_RightColumns, .dxRichEdit_Icons_RulerHorizontal, .dxRichEdit_Icons_RulerHorizontalLarge, .dxRichEdit_Icons_RulerVertical, .dxRichEdit_Icons_RulerVerticalLarge, .dxRichEdit_Icons_Save, .dxRichEdit_Icons_SaveAll, .dxRichEdit_Icons_SaveAllLarge, .dxRichEdit_Icons_SaveAs, .dxRichEdit_Icons_SaveAsLarge, .dxRichEdit_Icons_SaveLarge, .dxRichEdit_Icons_Select, .dxRichEdit_Icons_SelectAll, .dxRichEdit_Icons_SelectAllLarge, .dxRichEdit_Icons_SelectLarge, .dxRichEdit_Icons_SelectTable, .dxRichEdit_Icons_SelectTableCell, .dxRichEdit_Icons_SelectTableCellLarge, .dxRichEdit_Icons_SelectTableColumn, .dxRichEdit_Icons_SelectTableColumnLarge, .dxRichEdit_Icons_SelectTableLarge, .dxRichEdit_Icons_SelectTableRow, .dxRichEdit_Icons_SelectTableRowLarge, .dxRichEdit_Icons_Shading, .dxRichEdit_Icons_ShadingLarge, .dxRichEdit_Icons_ShowAllFieldCodes, .dxRichEdit_Icons_ShowAllFieldCodesLarge, .dxRichEdit_Icons_ShowAllFieldResults, .dxRichEdit_Icons_ShowAllFieldResultsLarge, .dxRichEdit_Icons_ShowComments, .dxRichEdit_Icons_ShowCommentsLarge, .dxRichEdit_Icons_ShowHidden, .dxRichEdit_Icons_ShowHiddenLarge, .dxRichEdit_Icons_SimpleView, .dxRichEdit_Icons_SimpleViewLarge, .dxRichEdit_Icons_SpacingDecrease, .dxRichEdit_Icons_SpacingDecreaseLarge, .dxRichEdit_Icons_SpellCheck, .dxRichEdit_Icons_SpellCheckAsYouType, .dxRichEdit_Icons_SpellCheckAsYouTypeLarge, .dxRichEdit_Icons_SpellCheckLarge, .dxRichEdit_Icons_SplitTable, .dxRichEdit_Icons_SplitTableCells, .dxRichEdit_Icons_SplitTableCellsLarge, .dxRichEdit_Icons_SplitTableLarge, .dxRichEdit_Icons_Strikeout, .dxRichEdit_Icons_StrikeoutDouble, .dxRichEdit_Icons_StrikeoutDoubleLarge, .dxRichEdit_Icons_StrikeoutLarge, .dxRichEdit_Icons_Subscript, .dxRichEdit_Icons_SubscriptLarge, .dxRichEdit_Icons_Superscript, .dxRichEdit_Icons_SuperscriptLarge, .dxRichEdit_Icons_Symbol, .dxRichEdit_Icons_SymbolLarge, .dxRichEdit_Icons_TableAutoFitContents, .dxRichEdit_Icons_TableAutoFitContentsLarge, .dxRichEdit_Icons_TableAutoFitWindow, .dxRichEdit_Icons_TableAutoFitWindowLarge, .dxRichEdit_Icons_TableCellMargins, .dxRichEdit_Icons_TableCellMarginsLarge, .dxRichEdit_Icons_TableFixedColumnWidth, .dxRichEdit_Icons_TableFixedColumnWidthLarge, .dxRichEdit_Icons_TableProperties, .dxRichEdit_Icons_TablePropertiesLarge, .dxRichEdit_Icons_TableStyleLarge, .dxRichEdit_Icons_TextWrapBehind, .dxRichEdit_Icons_TextWrapBehindLarge, .dxRichEdit_Icons_TextWrapInFrontOfText, .dxRichEdit_Icons_TextWrapInFrontOfTextLarge, .dxRichEdit_Icons_TextWrapInline, .dxRichEdit_Icons_TextWrapInlineLarge, .dxRichEdit_Icons_TextWrapSquare, .dxRichEdit_Icons_TextWrapSquareLarge, .dxRichEdit_Icons_TextWrapThrough, .dxRichEdit_Icons_TextWrapThroughLarge, .dxRichEdit_Icons_TextWrapTight, .dxRichEdit_Icons_TextWrapTightLarge, .dxRichEdit_Icons_TextWrapTopAndBottom, .dxRichEdit_Icons_TextWrapTopAndBottomLarge, .dxRichEdit_Icons_ThreeColumns, .dxRichEdit_Icons_ToggleFieldCodes, .dxRichEdit_Icons_ToggleFieldCodesLarge, .dxRichEdit_Icons_TwoColumns, .dxRichEdit_Icons_Underline, .dxRichEdit_Icons_UnderlineDouble, .dxRichEdit_Icons_UnderlineDoubleLarge, .dxRichEdit_Icons_UnderlineLarge, .dxRichEdit_Icons_UnderlineWord, .dxRichEdit_Icons_UnderlineWordLarge, .dxRichEdit_Icons_Undo, .dxRichEdit_Icons_UndoLarge, .dxRichEdit_Icons_UnprotectDocument, .dxRichEdit_Icons_UnprotectDocumentLarge, .dxRichEdit_Icons_UpdateField, .dxRichEdit_Icons_UpdateFieldLarge, .dxRichEdit_Icons_UpdateTableOfContents, .dxRichEdit_Icons_UpdateTableOfContentsLarge, .dxRichEdit_Icons_ViewMergedData, .dxRichEdit_Icons_ViewMergedDataLarge, .dxRichEdit_Icons_ViewTableGridlines, .dxRichEdit_Icons_ViewTableGridlinesLarge, .dxRichEdit_Icons_ZoomIn, .dxRichEdit_Icons_ZoomInLarge, .dxRichEdit_Icons_ZoomOut, .dxRichEdit_Icons_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.ISprite.png")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_Icons_AddParagraphToTableOfContents { background-position: -378px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AddParagraphToTableOfContentsLarge { background-position: -170px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignBottomCenter { background-position: -414px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignBottomCenterLarge { background-position: -340px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignBottomLeft { background-position: -414px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignBottomLeftLarge { background-position: -238px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignBottomRight { background-position: -432px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignBottomRightLarge { background-position: 0px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignCenter { background-position: -510px -136px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignCenterLarge { background-position: -68px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectBottomCenter { background-position: -162px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectBottomCenterLarge { background-position: -34px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectBottomLeft { background-position: -144px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectBottomLeftLarge { background-position: -306px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectBottomRight { background-position: -72px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectBottomRightLarge { background-position: -306px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectMiddleCenter { background-position: -450px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectMiddleCenterLarge { background-position: -442px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectMiddleLeft { background-position: -216px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectMiddleLeftLarge { background-position: -170px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectMiddleRight { background-position: -108px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectMiddleRightLarge { background-position: -340px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectTopCenter { background-position: -72px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectTopCenterLarge { background-position: -272px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectTopLeft { background-position: -504px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectTopLeftLarge { background-position: -102px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignFloatingObjectTopRight { background-position: -18px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignFloatingObjectTopRightLarge { background-position: -34px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignJustify { background-position: -144px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignJustifyLarge { background-position: -238px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignLeft { background-position: -450px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignLeftLarge { background-position: -442px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignMiddleCenter { background-position: -198px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignMiddleCenterLarge { background-position: 0px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignMiddleLeft { background-position: -288px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignMiddleLeftLarge { background-position: -374px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignMiddleRight { background-position: -270px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignMiddleRightLarge { background-position: -374px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignRight { background-position: -54px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignRightLarge { background-position: -272px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignTopCenter { background-position: -306px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignTopCenterLarge { background-position: -204px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignTopLeft { background-position: -108px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignTopLeftLarge { background-position: -102px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_AlignTopRight { background-position: -126px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_AlignTopRightLarge { background-position: -34px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Background { background-position: 0px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BackgroundLarge { background-position: -238px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Bold { background-position: -234px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BoldLarge { background-position: -136px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Bookmark { background-position: -510px 0px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BookmarkLarge { background-position: -136px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderAllLarge { background-position: -408px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderBottom { background-position: -234px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderBottomLarge { background-position: -102px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderDiagonalDown { background-position: -288px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderDiagonalDownLarge { background-position: -34px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderDiagonalUp { background-position: -342px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderDiagonalUpLarge { background-position: -476px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderInsideHorizontal { background-position: -468px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderInsideHorizontalLarge { background-position: -204px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderInsideVertical { background-position: -198px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderInsideVerticalLarge { background-position: 0px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderLeft { background-position: -216px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderLeftLarge { background-position: -340px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderNone { background-position: -270px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderNoneLarge { background-position: -272px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderRight { background-position: -144px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderRightLarge { background-position: -408px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersAll { background-position: -288px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BordersAllLarge { background-position: -476px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersAndShading { background-position: -36px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BordersAndShadingLarge { background-position: -204px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersBox { background-position: -136px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersBoxLarge { background-position: -102px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersCustom { background-position: -68px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersCustomLarge { background-position: -306px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersGrid { background-position: -374px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersGridLarge { background-position: -204px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersInside { background-position: -72px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BordersInsideLarge { background-position: -34px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersNone { background-position: -374px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersNoneLarge { background-position: -102px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BordersOutside { background-position: -342px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BordersOutsideLarge { background-position: -34px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_BorderTop { background-position: -324px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_BorderTopLarge { background-position: -136px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ChangeFontStyle { background-position: -510px -442px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ChangeFontStyleLarge { background-position: -408px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ChangeTextCase { background-position: -54px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ChangeTextCaseLarge { background-position: -102px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_CharacterStyleLarge { background-position: -442px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ClearFormatting { background-position: -424px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ClearFormattingLarge { background-position: -340px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ClearTableStyle { background-position: -54px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ClearTableStyleLarge { background-position: -408px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_CloseHeaderAndFooter { background-position: -450px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_CloseHeaderAndFooterLarge { background-position: -68px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Columns { background-position: -54px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ColumnsLarge { background-position: -136px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ColumnsLeft { background-position: -180px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ColumnsLeftLarge { background-position: -170px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ColumnsOne { background-position: -234px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ColumnsOneLarge { background-position: -238px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ColumnsRight { background-position: -360px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ColumnsRightLarge { background-position: -306px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ColumnsThree { background-position: -324px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ColumnsThreeLarge { background-position: -340px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ColumnsTwo { background-position: -396px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ColumnsTwoLarge { background-position: -442px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ContinueNumberingList { background-position: -270px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_Copy { background-position: -510px -102px; width: 16px; height: 16px } 
.dxRichEdit_Icons_CopyLarge { background-position: -476px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Cut { background-position: -306px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_CutLarge { background-position: -136px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Delete { background-position: -90px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_Delete_Hyperlink { background-position: -234px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_Delete_HyperlinkLarge { background-position: -272px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DeleteComment { background-position: -90px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DeleteCommentLarge { background-position: -136px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DeleteLarge { background-position: -340px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DeleteTable { background-position: -18px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DeleteTableCells { background-position: -162px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DeleteTableCellsLarge { background-position: -68px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DeleteTableColumns { background-position: -216px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DeleteTableColumnsLarge { background-position: -340px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DeleteTableLarge { background-position: -272px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DeleteTableRows { background-position: -234px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DeleteTableRowsLarge { background-position: -34px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DifferentFirstPage { background-position: 0px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DifferentFirstPageLarge { background-position: -68px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DifferentOddEvenPages { background-position: -360px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DifferentOddEvenPagesLarge { background-position: -102px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_DraftView { background-position: -126px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_DraftViewLarge { background-position: -374px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_EditRangePermission { background-position: -378px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_EditRangePermissionLarge { background-position: 0px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Find { background-position: -510px -34px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FindLarge { background-position: -204px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_First { background-position: -234px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FirstLarge { background-position: -476px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectAlignment { background-position: -378px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectAlignmentLarge { background-position: -408px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectBringForward { background-position: -510px -238px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectBringForwardLarge { background-position: -68px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectBringInFrontOfText { background-position: -486px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectBringInFrontOfTextLarge { background-position: -170px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectBringToFront { background-position: -108px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectBringToFrontLarge { background-position: -408px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectBringToFrontOfText { background-position: -378px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectBringToFrontOfTextLarge { background-position: -68px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectFillColor { background-position: -162px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectFillColorLarge { background-position: -136px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectLayoutOptions { background-position: -252px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectLayoutOptionsLarge { background-position: -476px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectOutlineColor { background-position: -432px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectOutlineColorLarge { background-position: 0px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectSendBackward { background-position: -72px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectSendBackwardLarge { background-position: -238px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectSendBehindText { background-position: -90px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectSendBehindTextLarge { background-position: -204px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectSendToBack { background-position: 0px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectSendToBackLarge { background-position: -476px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FloatingObjectTextWrapType { background-position: -460px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FloatingObjectTextWrapTypeLarge { background-position: -374px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Font { background-position: -144px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FontColor { background-position: -288px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FontColorLarge { background-position: -306px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FontLarge { background-position: -340px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FontSize { background-position: -414px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FontSizeDecrease { background-position: -72px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FontSizeDecreaseLarge { background-position: -442px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FontSizeIncrease { background-position: -126px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FontSizeIncreaseLarge { background-position: -238px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FontSizeLarge { background-position: -442px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Footer { background-position: -252px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FooterLarge { background-position: -476px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_FullScreen { background-position: -360px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_FullScreenLarge { background-position: -306px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_GoToFooter { background-position: -510px -306px; width: 16px; height: 16px } 
.dxRichEdit_Icons_GoToFooterLarge { background-position: -374px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_GoToHeader { background-position: -370px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_GoToHeaderLarge { background-position: -170px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_GoToNextHeaderFooter { background-position: -478px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_GoToNextHeaderFooterLarge { background-position: 0px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_GoToPreviousHeaderFooter { background-position: -388px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_GoToPreviousHeaderFooterLarge { background-position: -102px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Header { background-position: -406px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_HeaderLarge { background-position: -272px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_HiddenText { background-position: -324px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_HiddenTextLarge { background-position: -340px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Highlight { background-position: -396px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_HighlightLarge { background-position: -238px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Hyperlink { background-position: -342px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_HyperlinkLarge { background-position: -374px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ImagePlaceHolder { background-position: -340px -510px; width: 28px; height: 28px } 
.dxRichEdit_Icons_IndentDecrease { background-position: -126px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_IndentDecreaseLarge { background-position: 0px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_IndentIncrease { background-position: -180px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_IndentIncreaseLarge { background-position: -102px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertCaption { background-position: -36px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertCaptionLarge { background-position: -340px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertColumnBreak { background-position: -468px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertColumnBreakLarge { background-position: -34px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertDataField { background-position: -126px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertDataFieldLarge { background-position: 0px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertEquationCaption { background-position: -72px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertEquationCaptionLarge { background-position: -34px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertFigureCaption { background-position: -468px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertFigureCaptionLarge { background-position: -170px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertFloatingObjectImage { background-position: -414px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertFloatingObjectImageLarge { background-position: -272px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertImage { background-position: -216px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertImageLarge { background-position: -306px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertPageBreak { background-position: -162px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertPageBreakLarge { background-position: -476px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertPageCount { background-position: -450px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertPageCountLarge { background-position: -374px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertPageNumber { background-position: -162px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertPageNumberLarge { background-position: -136px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertSectionBreakContinuous { background-position: -342px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertSectionBreakContinuousLarge { background-position: -340px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertSectionBreakEvenPage { background-position: -288px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertSectionBreakEvenPageLarge { background-position: -476px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertSectionBreakNextPage { background-position: -108px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertSectionBreakNextPageLarge { background-position: -442px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertSectionBreakOddPage { background-position: -450px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertSectionBreakOddPageLarge { background-position: 0px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTable { background-position: -54px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableCaption { background-position: -432px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableCaptionLarge { background-position: -408px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableCells { background-position: -486px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableCellsLarge { background-position: -374px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableColumnsToTheLeft { background-position: -18px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableColumnsToTheLeftLarge { background-position: 0px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableColumnsToTheRight { background-position: -468px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableColumnsToTheRightLarge { background-position: -476px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableLarge { background-position: -170px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableOfCaptions { background-position: -108px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableOfCaptionsLarge { background-position: 0px -34px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableOfContents { background-position: -450px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableOfContentsLarge { background-position: -476px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableOfEquations { background-position: -144px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableOfEquationsLarge { background-position: -442px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableOfFigures { background-position: -90px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableOfFiguresLarge { background-position: -408px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableRowsAbove { background-position: -378px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableRowsAboveLarge { background-position: -374px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTableRowsBelow { background-position: -270px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTableRowsBelowLarge { background-position: -340px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_InsertTextBox { background-position: -414px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_InsertTextBoxLarge { background-position: -306px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Italic { background-position: 0px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ItalicLarge { background-position: -272px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Language { background-position: -198px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_LanguageLarge { background-position: -238px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Last { background-position: -54px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_LastLarge { background-position: -204px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_LeftColumns { background-position: -170px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_LineNumbering { background-position: -162px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_LineNumberingLarge { background-position: -136px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_LineSpacing { background-position: -72px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_LineSpacingLarge { background-position: -102px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_LinkToPrevious { background-position: -414px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_LinkToPreviousLarge { background-position: -68px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ListBullets { background-position: -432px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ListBulletsLarge { background-position: -34px 0px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ListMultilevel { background-position: -234px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ListMultilevelLarge { background-position: -204px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ListNumbers { background-position: -108px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ListNumbersLarge { background-position: -204px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_MailMerge { background-position: -198px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_MailMergeLarge { background-position: -442px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_MergeTableCells { background-position: -216px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_MergeTableCellsLarge { background-position: 0px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ModifyStyle { background-position: -342px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ModifyStyleLarge { background-position: -408px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ModifyTableStyle { background-position: -36px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ModifyTableStyleLarge { background-position: -374px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_New { background-position: -504px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_NewComment { background-position: -468px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_NewCommentLarge { background-position: -340px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_NewLarge { background-position: -306px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_NewTableStyle { background-position: -216px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_NewTableStyleLarge { background-position: -272px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Next { background-position: -510px -374px; width: 16px; height: 16px } 
.dxRichEdit_Icons_NextComment { background-position: -496px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_NextCommentLarge { background-position: -238px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_NextLarge { background-position: -340px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_OneColumn { background-position: -204px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Open { background-position: -36px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_OpenLarge { background-position: -136px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageColor { background-position: -18px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageColorLarge { background-position: -102px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageMargins { background-position: -162px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageMarginsLarge { background-position: -68px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageMarginsModerate { background-position: -342px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageMarginsModerateLarge { background-position: -34px -68px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageMarginsNarrow { background-position: -216px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageMarginsNarrowLarge { background-position: -68px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageMarginsNormal { background-position: -270px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageMarginsNormalLarge { background-position: -102px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageMarginsWide { background-position: -144px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageMarginsWideLarge { background-position: -170px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageOrientation { background-position: -324px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageOrientationLandscape { background-position: -504px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageOrientationLandscapeLarge { background-position: -136px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageOrientationLarge { background-position: -442px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PageOrientationPortrait { background-position: -288px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PageOrientationPortraitLarge { background-position: -442px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PaperSize { background-position: 0px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PaperSizeLarge { background-position: -306px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Paragraph { background-position: -342px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ParagraphLarge { background-position: -34px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ParagraphStyleLarge { background-position: -374px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Paste { background-position: -306px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PasteLarge { background-position: -306px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PasteSpecial { background-position: -360px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PasteSpecialLarge { background-position: -272px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PenColor { background-position: -180px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PenColorLarge { background-position: -408px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Prev { background-position: -306px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_Preview { background-position: -198px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PreviewLarge { background-position: -476px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PreviousComment { background-position: -360px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PreviousCommentLarge { background-position: -272px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PrevLarge { background-position: -170px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Print { background-position: -126px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PrintBrowser { background-position: -514px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PrintBrowserLarge { background-position: -68px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PrintDialog { background-position: -432px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PrintDialogLarge { background-position: -34px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PrintLarge { background-position: -102px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PrintLayoutView { background-position: -180px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PrintLayoutViewLarge { background-position: -136px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_PrintPreviewBrowser { background-position: -18px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_PrintPreviewBrowserLarge { background-position: -170px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ProtectDocument { background-position: -180px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ProtectDocumentLarge { background-position: -136px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ReadingLayoutView { background-position: -54px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ReadingLayoutViewLarge { background-position: -238px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Redo { background-position: -324px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_RedoLarge { background-position: -408px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Replace { background-position: -396px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ReplaceLarge { background-position: -442px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_RestartNumberingList { background-position: 0px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_Reviewers { background-position: -144px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ReviewersLarge { background-position: -476px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ReviewingPane { background-position: -486px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ReviewingPaneLarge { background-position: 0px -136px; width: 32px; height: 32px } 
.dxRichEdit_Icons_RightColumns { background-position: -204px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_RulerHorizontal { background-position: -36px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_RulerHorizontalLarge { background-position: -170px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_RulerVertical { background-position: -510px -68px; width: 16px; height: 16px } 
.dxRichEdit_Icons_RulerVerticalLarge { background-position: -408px -238px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Save { background-position: -510px -272px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SaveAll { background-position: -510px -408px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SaveAllLarge { background-position: -442px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SaveAs { background-position: -378px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SaveAsLarge { background-position: -102px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SaveLarge { background-position: -272px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Select { background-position: -396px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SelectAll { background-position: -198px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SelectAllLarge { background-position: -238px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SelectLarge { background-position: -238px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SelectTable { background-position: -180px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SelectTableCell { background-position: -510px -170px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SelectTableCellLarge { background-position: -102px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SelectTableColumn { background-position: -18px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SelectTableColumnLarge { background-position: -408px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SelectTableLarge { background-position: -238px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SelectTableRow { background-position: -504px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SelectTableRowLarge { background-position: -306px -170px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Shading { background-position: -90px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ShadingLarge { background-position: 0px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ShowAllFieldCodes { background-position: -396px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ShowAllFieldCodesLarge { background-position: -170px -102px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ShowAllFieldResults { background-position: -36px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ShowAllFieldResultsLarge { background-position: -204px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ShowComments { background-position: -486px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ShowCommentsLarge { background-position: -136px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ShowHidden { background-position: -324px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ShowHiddenLarge { background-position: -306px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SimpleView { background-position: -180px -562px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SimpleViewLarge { background-position: 0px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SpacingDecrease { background-position: -288px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SpacingDecreaseLarge { background-position: -34px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SpellCheck { background-position: -378px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SpellCheckAsYouType { background-position: -486px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SpellCheckAsYouTypeLarge { background-position: -68px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SpellCheckLarge { background-position: -34px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SplitTable { background-position: -270px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SplitTableCells { background-position: -18px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SplitTableCellsLarge { background-position: -340px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_SplitTableLarge { background-position: -374px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Strikeout { background-position: -324px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_StrikeoutDouble { background-position: -504px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_StrikeoutDoubleLarge { background-position: -374px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_StrikeoutLarge { background-position: -408px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Subscript { background-position: -510px -340px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SubscriptLarge { background-position: -272px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Superscript { background-position: -510px -204px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SuperscriptLarge { background-position: -442px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Symbol { background-position: -126px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_SymbolLarge { background-position: 0px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TableAutoFitContents { background-position: -468px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TableAutoFitContentsLarge { background-position: -476px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TableAutoFitWindow { background-position: -504px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TableAutoFitWindowLarge { background-position: -204px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TableCellMargins { background-position: -486px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TableCellMarginsLarge { background-position: -306px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TableFixedColumnWidth { background-position: -252px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TableFixedColumnWidthLarge { background-position: -238px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TableProperties { background-position: -442px -510px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TablePropertiesLarge { background-position: -68px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TableStyleLarge { background-position: -272px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TextWrapBehind { background-position: 0px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TextWrapBehindLarge { background-position: -272px -340px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TextWrapInFrontOfText { background-position: -396px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TextWrapInFrontOfTextLarge { background-position: -442px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TextWrapInline { background-position: -360px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TextWrapInlineLarge { background-position: -306px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TextWrapSquare { background-position: -198px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TextWrapSquareLarge { background-position: -68px -442px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TextWrapThrough { background-position: -252px -652px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TextWrapThroughLarge { background-position: -238px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TextWrapTight { background-position: -252px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TextWrapTightLarge { background-position: -408px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TextWrapTopAndBottom { background-position: -252px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_TextWrapTopAndBottomLarge { background-position: -476px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ThreeColumns { background-position: -238px -374px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ToggleFieldCodes { background-position: -432px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ToggleFieldCodesLarge { background-position: -170px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_TwoColumns { background-position: -170px -306px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Underline { background-position: -510px -476px; width: 16px; height: 16px } 
.dxRichEdit_Icons_UnderlineDouble { background-position: -306px -634px; width: 16px; height: 16px } 
.dxRichEdit_Icons_UnderlineDoubleLarge { background-position: -68px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_UnderlineLarge { background-position: -68px -510px; width: 32px; height: 32px } 
.dxRichEdit_Icons_UnderlineWord { background-position: -252px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_UnderlineWordLarge { background-position: -306px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_Undo { background-position: -270px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_UndoLarge { background-position: -204px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_UnprotectDocument { background-position: -90px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_UnprotectDocumentLarge { background-position: -204px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_UpdateField { background-position: -360px -598px; width: 16px; height: 16px } 
.dxRichEdit_Icons_UpdateFieldLarge { background-position: -34px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_UpdateTableOfContents { background-position: -90px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_UpdateTableOfContentsLarge { background-position: -170px -204px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ViewMergedData { background-position: -306px -580px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ViewMergedDataLarge { background-position: -272px -272px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ViewTableGridlines { background-position: -108px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ViewTableGridlinesLarge { background-position: -136px -476px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ZoomIn { background-position: -306px -544px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ZoomInLarge { background-position: -102px -408px; width: 32px; height: 32px } 
.dxRichEdit_Icons_ZoomOut { background-position: -36px -616px; width: 16px; height: 16px } 
.dxRichEdit_Icons_ZoomOutLarge { background-position: -204px -102px; width: 32px; height: 32px } 
  
.dxRichEdit_GIcons_AddParagraphToTableOfContents, .dxRichEdit_GIcons_AddParagraphToTableOfContentsLarge, .dxRichEdit_GIcons_AlignBottomCenter, .dxRichEdit_GIcons_AlignBottomCenterLarge, .dxRichEdit_GIcons_AlignBottomLeft, .dxRichEdit_GIcons_AlignBottomLeftLarge, .dxRichEdit_GIcons_AlignBottomRight, .dxRichEdit_GIcons_AlignBottomRightLarge, .dxRichEdit_GIcons_AlignCenter, .dxRichEdit_GIcons_AlignCenterLarge, .dxRichEdit_GIcons_AlignFloatingObjectBottomCenter, .dxRichEdit_GIcons_AlignFloatingObjectBottomCenterLarge, .dxRichEdit_GIcons_AlignFloatingObjectBottomLeft, .dxRichEdit_GIcons_AlignFloatingObjectBottomLeftLarge, .dxRichEdit_GIcons_AlignFloatingObjectBottomRight, .dxRichEdit_GIcons_AlignFloatingObjectBottomRightLarge, .dxRichEdit_GIcons_AlignFloatingObjectMiddleCenter, .dxRichEdit_GIcons_AlignFloatingObjectMiddleCenterLarge, .dxRichEdit_GIcons_AlignFloatingObjectMiddleLeft, .dxRichEdit_GIcons_AlignFloatingObjectMiddleLeftLarge, .dxRichEdit_GIcons_AlignFloatingObjectMiddleRight, .dxRichEdit_GIcons_AlignFloatingObjectMiddleRightLarge, .dxRichEdit_GIcons_AlignFloatingObjectTopCenter, .dxRichEdit_GIcons_AlignFloatingObjectTopCenterLarge, .dxRichEdit_GIcons_AlignFloatingObjectTopLeft, .dxRichEdit_GIcons_AlignFloatingObjectTopLeftLarge, .dxRichEdit_GIcons_AlignFloatingObjectTopRight, .dxRichEdit_GIcons_AlignFloatingObjectTopRightLarge, .dxRichEdit_GIcons_AlignJustify, .dxRichEdit_GIcons_AlignJustifyLarge, .dxRichEdit_GIcons_AlignLeft, .dxRichEdit_GIcons_AlignLeftLarge, .dxRichEdit_GIcons_AlignMiddleCenter, .dxRichEdit_GIcons_AlignMiddleCenterLarge, .dxRichEdit_GIcons_AlignMiddleLeft, .dxRichEdit_GIcons_AlignMiddleLeftLarge, .dxRichEdit_GIcons_AlignMiddleRight, .dxRichEdit_GIcons_AlignMiddleRightLarge, .dxRichEdit_GIcons_AlignRight, .dxRichEdit_GIcons_AlignRightLarge, .dxRichEdit_GIcons_AlignTopCenter, .dxRichEdit_GIcons_AlignTopCenterLarge, .dxRichEdit_GIcons_AlignTopLeft, .dxRichEdit_GIcons_AlignTopLeftLarge, .dxRichEdit_GIcons_AlignTopRight, .dxRichEdit_GIcons_AlignTopRightLarge, .dxRichEdit_GIcons_Background, .dxRichEdit_GIcons_BackgroundLarge, .dxRichEdit_GIcons_Bold, .dxRichEdit_GIcons_BoldLarge, .dxRichEdit_GIcons_Bookmark, .dxRichEdit_GIcons_BookmarkLarge, .dxRichEdit_GIcons_BorderAllLarge, .dxRichEdit_GIcons_BorderBottom, .dxRichEdit_GIcons_BorderBottomLarge, .dxRichEdit_GIcons_BorderDiagonalDown, .dxRichEdit_GIcons_BorderDiagonalDownLarge, .dxRichEdit_GIcons_BorderDiagonalUp, .dxRichEdit_GIcons_BorderDiagonalUpLarge, .dxRichEdit_GIcons_BorderInsideHorizontal, .dxRichEdit_GIcons_BorderInsideHorizontalLarge, .dxRichEdit_GIcons_BorderInsideVertical, .dxRichEdit_GIcons_BorderInsideVerticalLarge, .dxRichEdit_GIcons_BorderLeft, .dxRichEdit_GIcons_BorderLeftLarge, .dxRichEdit_GIcons_BorderNone, .dxRichEdit_GIcons_BorderNoneLarge, .dxRichEdit_GIcons_BorderRight, .dxRichEdit_GIcons_BorderRightLarge, .dxRichEdit_GIcons_BordersAll, .dxRichEdit_GIcons_BordersAllLarge, .dxRichEdit_GIcons_BordersAndShading, .dxRichEdit_GIcons_BordersAndShadingLarge, .dxRichEdit_GIcons_BordersBox, .dxRichEdit_GIcons_BordersBoxLarge, .dxRichEdit_GIcons_BordersCustom, .dxRichEdit_GIcons_BordersCustomLarge, .dxRichEdit_GIcons_BordersGrid, .dxRichEdit_GIcons_BordersGridLarge, .dxRichEdit_GIcons_BordersInside, .dxRichEdit_GIcons_BordersInsideLarge, .dxRichEdit_GIcons_BordersNone, .dxRichEdit_GIcons_BordersNoneLarge, .dxRichEdit_GIcons_BordersOutside, .dxRichEdit_GIcons_BordersOutsideLarge, .dxRichEdit_GIcons_BorderTop, .dxRichEdit_GIcons_BorderTopLarge, .dxRichEdit_GIcons_ChangeFontStyle, .dxRichEdit_GIcons_ChangeFontStyleLarge, .dxRichEdit_GIcons_ChangeTextCase, .dxRichEdit_GIcons_ChangeTextCaseLarge, .dxRichEdit_GIcons_CharacterStyleLarge, .dxRichEdit_GIcons_ClearFormatting, .dxRichEdit_GIcons_ClearFormattingLarge, .dxRichEdit_GIcons_ClearTableStyle, .dxRichEdit_GIcons_ClearTableStyleLarge, .dxRichEdit_GIcons_CloseHeaderAndFooter, .dxRichEdit_GIcons_CloseHeaderAndFooterLarge, .dxRichEdit_GIcons_Columns, .dxRichEdit_GIcons_ColumnsLarge, .dxRichEdit_GIcons_ColumnsLeft, .dxRichEdit_GIcons_ColumnsLeftLarge, .dxRichEdit_GIcons_ColumnsOne, .dxRichEdit_GIcons_ColumnsOneLarge, .dxRichEdit_GIcons_ColumnsRight, .dxRichEdit_GIcons_ColumnsRightLarge, .dxRichEdit_GIcons_ColumnsThree, .dxRichEdit_GIcons_ColumnsThreeLarge, .dxRichEdit_GIcons_ColumnsTwo, .dxRichEdit_GIcons_ColumnsTwoLarge, .dxRichEdit_GIcons_ContinueNumberingList, .dxRichEdit_GIcons_Copy, .dxRichEdit_GIcons_CopyLarge, .dxRichEdit_GIcons_Cut, .dxRichEdit_GIcons_CutLarge, .dxRichEdit_GIcons_Delete, .dxRichEdit_GIcons_Delete_Hyperlink, .dxRichEdit_GIcons_Delete_HyperlinkLarge, .dxRichEdit_GIcons_DeleteComment, .dxRichEdit_GIcons_DeleteCommentLarge, .dxRichEdit_GIcons_DeleteLarge, .dxRichEdit_GIcons_DeleteTable, .dxRichEdit_GIcons_DeleteTableCells, .dxRichEdit_GIcons_DeleteTableCellsLarge, .dxRichEdit_GIcons_DeleteTableColumns, .dxRichEdit_GIcons_DeleteTableColumnsLarge, .dxRichEdit_GIcons_DeleteTableLarge, .dxRichEdit_GIcons_DeleteTableRows, .dxRichEdit_GIcons_DeleteTableRowsLarge, .dxRichEdit_GIcons_DifferentFirstPage, .dxRichEdit_GIcons_DifferentFirstPageLarge, .dxRichEdit_GIcons_DifferentOddEvenPages, .dxRichEdit_GIcons_DifferentOddEvenPagesLarge, .dxRichEdit_GIcons_DraftView, .dxRichEdit_GIcons_DraftViewLarge, .dxRichEdit_GIcons_EditRangePermission, .dxRichEdit_GIcons_EditRangePermissionLarge, .dxRichEdit_GIcons_Find, .dxRichEdit_GIcons_FindLarge, .dxRichEdit_GIcons_First, .dxRichEdit_GIcons_FirstLarge, .dxRichEdit_GIcons_FloatingObjectAlignment, .dxRichEdit_GIcons_FloatingObjectAlignmentLarge, .dxRichEdit_GIcons_FloatingObjectBringForward, .dxRichEdit_GIcons_FloatingObjectBringForwardLarge, .dxRichEdit_GIcons_FloatingObjectBringInFrontOfText, .dxRichEdit_GIcons_FloatingObjectBringInFrontOfTextLarge, .dxRichEdit_GIcons_FloatingObjectBringToFront, .dxRichEdit_GIcons_FloatingObjectBringToFrontLarge, .dxRichEdit_GIcons_FloatingObjectBringToFrontOfText, .dxRichEdit_GIcons_FloatingObjectBringToFrontOfTextLarge, .dxRichEdit_GIcons_FloatingObjectFillColor, .dxRichEdit_GIcons_FloatingObjectFillColorLarge, .dxRichEdit_GIcons_FloatingObjectLayoutOptions, .dxRichEdit_GIcons_FloatingObjectLayoutOptionsLarge, .dxRichEdit_GIcons_FloatingObjectOutlineColor, .dxRichEdit_GIcons_FloatingObjectOutlineColorLarge, .dxRichEdit_GIcons_FloatingObjectSendBackward, .dxRichEdit_GIcons_FloatingObjectSendBackwardLarge, .dxRichEdit_GIcons_FloatingObjectSendBehindText, .dxRichEdit_GIcons_FloatingObjectSendBehindTextLarge, .dxRichEdit_GIcons_FloatingObjectSendToBack, .dxRichEdit_GIcons_FloatingObjectSendToBackLarge, .dxRichEdit_GIcons_FloatingObjectTextWrapType, .dxRichEdit_GIcons_FloatingObjectTextWrapTypeLarge, .dxRichEdit_GIcons_Font, .dxRichEdit_GIcons_FontColor, .dxRichEdit_GIcons_FontColorLarge, .dxRichEdit_GIcons_FontLarge, .dxRichEdit_GIcons_FontSize, .dxRichEdit_GIcons_FontSizeDecrease, .dxRichEdit_GIcons_FontSizeDecreaseLarge, .dxRichEdit_GIcons_FontSizeIncrease, .dxRichEdit_GIcons_FontSizeIncreaseLarge, .dxRichEdit_GIcons_FontSizeLarge, .dxRichEdit_GIcons_Footer, .dxRichEdit_GIcons_FooterLarge, .dxRichEdit_GIcons_FullScreen, .dxRichEdit_GIcons_FullScreenLarge, .dxRichEdit_GIcons_GoToFooter, .dxRichEdit_GIcons_GoToFooterLarge, .dxRichEdit_GIcons_GoToHeader, .dxRichEdit_GIcons_GoToHeaderLarge, .dxRichEdit_GIcons_GoToNextHeaderFooter, .dxRichEdit_GIcons_GoToNextHeaderFooterLarge, .dxRichEdit_GIcons_GoToPreviousHeaderFooter, .dxRichEdit_GIcons_GoToPreviousHeaderFooterLarge, .dxRichEdit_GIcons_Header, .dxRichEdit_GIcons_HeaderLarge, .dxRichEdit_GIcons_HiddenText, .dxRichEdit_GIcons_HiddenTextLarge, .dxRichEdit_GIcons_Highlight, .dxRichEdit_GIcons_HighlightLarge, .dxRichEdit_GIcons_Hyperlink, .dxRichEdit_GIcons_HyperlinkLarge, .dxRichEdit_GIcons_ImagePlaceHolder, .dxRichEdit_GIcons_IndentDecrease, .dxRichEdit_GIcons_IndentDecreaseLarge, .dxRichEdit_GIcons_IndentIncrease, .dxRichEdit_GIcons_IndentIncreaseLarge, .dxRichEdit_GIcons_InsertCaption, .dxRichEdit_GIcons_InsertCaptionLarge, .dxRichEdit_GIcons_InsertColumnBreak, .dxRichEdit_GIcons_InsertColumnBreakLarge, .dxRichEdit_GIcons_InsertDataField, .dxRichEdit_GIcons_InsertDataFieldLarge, .dxRichEdit_GIcons_InsertEquationCaption, .dxRichEdit_GIcons_InsertEquationCaptionLarge, .dxRichEdit_GIcons_InsertFigureCaption, .dxRichEdit_GIcons_InsertFigureCaptionLarge, .dxRichEdit_GIcons_InsertFloatingObjectImage, .dxRichEdit_GIcons_InsertFloatingObjectImageLarge, .dxRichEdit_GIcons_InsertImage, .dxRichEdit_GIcons_InsertImageLarge, .dxRichEdit_GIcons_InsertPageBreak, .dxRichEdit_GIcons_InsertPageBreakLarge, .dxRichEdit_GIcons_InsertPageCount, .dxRichEdit_GIcons_InsertPageCountLarge, .dxRichEdit_GIcons_InsertPageNumber, .dxRichEdit_GIcons_InsertPageNumberLarge, .dxRichEdit_GIcons_InsertSectionBreakContinuous, .dxRichEdit_GIcons_InsertSectionBreakContinuousLarge, .dxRichEdit_GIcons_InsertSectionBreakEvenPage, .dxRichEdit_GIcons_InsertSectionBreakEvenPageLarge, .dxRichEdit_GIcons_InsertSectionBreakNextPage, .dxRichEdit_GIcons_InsertSectionBreakNextPageLarge, .dxRichEdit_GIcons_InsertSectionBreakOddPage, .dxRichEdit_GIcons_InsertSectionBreakOddPageLarge, .dxRichEdit_GIcons_InsertTable, .dxRichEdit_GIcons_InsertTableCaption, .dxRichEdit_GIcons_InsertTableCaptionLarge, .dxRichEdit_GIcons_InsertTableCells, .dxRichEdit_GIcons_InsertTableCellsLarge, .dxRichEdit_GIcons_InsertTableColumnsToTheLeft, .dxRichEdit_GIcons_InsertTableColumnsToTheLeftLarge, .dxRichEdit_GIcons_InsertTableColumnsToTheRight, .dxRichEdit_GIcons_InsertTableColumnsToTheRightLarge, .dxRichEdit_GIcons_InsertTableLarge, .dxRichEdit_GIcons_InsertTableOfCaptions, .dxRichEdit_GIcons_InsertTableOfCaptionsLarge, .dxRichEdit_GIcons_InsertTableOfContents, .dxRichEdit_GIcons_InsertTableOfContentsLarge, .dxRichEdit_GIcons_InsertTableOfEquations, .dxRichEdit_GIcons_InsertTableOfEquationsLarge, .dxRichEdit_GIcons_InsertTableOfFigures, .dxRichEdit_GIcons_InsertTableOfFiguresLarge, .dxRichEdit_GIcons_InsertTableRowsAbove, .dxRichEdit_GIcons_InsertTableRowsAboveLarge, .dxRichEdit_GIcons_InsertTableRowsBelow, .dxRichEdit_GIcons_InsertTableRowsBelowLarge, .dxRichEdit_GIcons_InsertTextBox, .dxRichEdit_GIcons_InsertTextBoxLarge, .dxRichEdit_GIcons_Italic, .dxRichEdit_GIcons_ItalicLarge, .dxRichEdit_GIcons_Language, .dxRichEdit_GIcons_LanguageLarge, .dxRichEdit_GIcons_Last, .dxRichEdit_GIcons_LastLarge, .dxRichEdit_GIcons_LeftColumns, .dxRichEdit_GIcons_LineNumbering, .dxRichEdit_GIcons_LineNumberingLarge, .dxRichEdit_GIcons_LineSpacing, .dxRichEdit_GIcons_LineSpacingLarge, .dxRichEdit_GIcons_LinkToPrevious, .dxRichEdit_GIcons_LinkToPreviousLarge, .dxRichEdit_GIcons_ListBullets, .dxRichEdit_GIcons_ListBulletsLarge, .dxRichEdit_GIcons_ListMultilevel, .dxRichEdit_GIcons_ListMultilevelLarge, .dxRichEdit_GIcons_ListNumbers, .dxRichEdit_GIcons_ListNumbersLarge, .dxRichEdit_GIcons_MailMerge, .dxRichEdit_GIcons_MailMergeLarge, .dxRichEdit_GIcons_MergeTableCells, .dxRichEdit_GIcons_MergeTableCellsLarge, .dxRichEdit_GIcons_ModifyStyle, .dxRichEdit_GIcons_ModifyStyleLarge, .dxRichEdit_GIcons_ModifyTableStyle, .dxRichEdit_GIcons_ModifyTableStyleLarge, .dxRichEdit_GIcons_New, .dxRichEdit_GIcons_NewComment, .dxRichEdit_GIcons_NewCommentLarge, .dxRichEdit_GIcons_NewLarge, .dxRichEdit_GIcons_NewTableStyle, .dxRichEdit_GIcons_NewTableStyleLarge, .dxRichEdit_GIcons_Next, .dxRichEdit_GIcons_NextComment, .dxRichEdit_GIcons_NextCommentLarge, .dxRichEdit_GIcons_NextLarge, .dxRichEdit_GIcons_OneColumn, .dxRichEdit_GIcons_Open, .dxRichEdit_GIcons_OpenLarge, .dxRichEdit_GIcons_PageColor, .dxRichEdit_GIcons_PageColorLarge, .dxRichEdit_GIcons_PageMargins, .dxRichEdit_GIcons_PageMarginsLarge, .dxRichEdit_GIcons_PageMarginsModerate, .dxRichEdit_GIcons_PageMarginsModerateLarge, .dxRichEdit_GIcons_PageMarginsNarrow, .dxRichEdit_GIcons_PageMarginsNarrowLarge, .dxRichEdit_GIcons_PageMarginsNormal, .dxRichEdit_GIcons_PageMarginsNormalLarge, .dxRichEdit_GIcons_PageMarginsWide, .dxRichEdit_GIcons_PageMarginsWideLarge, .dxRichEdit_GIcons_PageOrientation, .dxRichEdit_GIcons_PageOrientationLandscape, .dxRichEdit_GIcons_PageOrientationLandscapeLarge, .dxRichEdit_GIcons_PageOrientationLarge, .dxRichEdit_GIcons_PageOrientationPortrait, .dxRichEdit_GIcons_PageOrientationPortraitLarge, .dxRichEdit_GIcons_PaperSize, .dxRichEdit_GIcons_PaperSizeLarge, .dxRichEdit_GIcons_Paragraph, .dxRichEdit_GIcons_ParagraphLarge, .dxRichEdit_GIcons_ParagraphStyleLarge, .dxRichEdit_GIcons_Paste, .dxRichEdit_GIcons_PasteLarge, .dxRichEdit_GIcons_PasteSpecial, .dxRichEdit_GIcons_PasteSpecialLarge, .dxRichEdit_GIcons_PenColor, .dxRichEdit_GIcons_PenColorLarge, .dxRichEdit_GIcons_Prev, .dxRichEdit_GIcons_Preview, .dxRichEdit_GIcons_PreviewLarge, .dxRichEdit_GIcons_PreviousComment, .dxRichEdit_GIcons_PreviousCommentLarge, .dxRichEdit_GIcons_PrevLarge, .dxRichEdit_GIcons_Print, .dxRichEdit_GIcons_PrintBrowser, .dxRichEdit_GIcons_PrintBrowserLarge, .dxRichEdit_GIcons_PrintDialog, .dxRichEdit_GIcons_PrintDialogLarge, .dxRichEdit_GIcons_PrintLarge, .dxRichEdit_GIcons_PrintLayoutView, .dxRichEdit_GIcons_PrintLayoutViewLarge, .dxRichEdit_GIcons_PrintPreviewBrowser, .dxRichEdit_GIcons_PrintPreviewBrowserLarge, .dxRichEdit_GIcons_ProtectDocument, .dxRichEdit_GIcons_ProtectDocumentLarge, .dxRichEdit_GIcons_ReadingLayoutView, .dxRichEdit_GIcons_ReadingLayoutViewLarge, .dxRichEdit_GIcons_Redo, .dxRichEdit_GIcons_RedoLarge, .dxRichEdit_GIcons_Replace, .dxRichEdit_GIcons_ReplaceLarge, .dxRichEdit_GIcons_RestartNumberingList, .dxRichEdit_GIcons_Reviewers, .dxRichEdit_GIcons_ReviewersLarge, .dxRichEdit_GIcons_ReviewingPane, .dxRichEdit_GIcons_ReviewingPaneLarge, .dxRichEdit_GIcons_RightColumns, .dxRichEdit_GIcons_RulerHorizontal, .dxRichEdit_GIcons_RulerHorizontalLarge, .dxRichEdit_GIcons_RulerVertical, .dxRichEdit_GIcons_RulerVerticalLarge, .dxRichEdit_GIcons_Save, .dxRichEdit_GIcons_SaveAll, .dxRichEdit_GIcons_SaveAllLarge, .dxRichEdit_GIcons_SaveAs, .dxRichEdit_GIcons_SaveAsLarge, .dxRichEdit_GIcons_SaveLarge, .dxRichEdit_GIcons_Select, .dxRichEdit_GIcons_SelectAll, .dxRichEdit_GIcons_SelectAllLarge, .dxRichEdit_GIcons_SelectLarge, .dxRichEdit_GIcons_SelectTable, .dxRichEdit_GIcons_SelectTableCell, .dxRichEdit_GIcons_SelectTableCellLarge, .dxRichEdit_GIcons_SelectTableColumn, .dxRichEdit_GIcons_SelectTableColumnLarge, .dxRichEdit_GIcons_SelectTableLarge, .dxRichEdit_GIcons_SelectTableRow, .dxRichEdit_GIcons_SelectTableRowLarge, .dxRichEdit_GIcons_Shading, .dxRichEdit_GIcons_ShadingLarge, .dxRichEdit_GIcons_ShowAllFieldCodes, .dxRichEdit_GIcons_ShowAllFieldCodesLarge, .dxRichEdit_GIcons_ShowAllFieldResults, .dxRichEdit_GIcons_ShowAllFieldResultsLarge, .dxRichEdit_GIcons_ShowComments, .dxRichEdit_GIcons_ShowCommentsLarge, .dxRichEdit_GIcons_ShowHidden, .dxRichEdit_GIcons_ShowHiddenLarge, .dxRichEdit_GIcons_SimpleView, .dxRichEdit_GIcons_SimpleViewLarge, .dxRichEdit_GIcons_SpacingDecrease, .dxRichEdit_GIcons_SpacingDecreaseLarge, .dxRichEdit_GIcons_SpellCheck, .dxRichEdit_GIcons_SpellCheckAsYouType, .dxRichEdit_GIcons_SpellCheckAsYouTypeLarge, .dxRichEdit_GIcons_SpellCheckLarge, .dxRichEdit_GIcons_SplitTable, .dxRichEdit_GIcons_SplitTableCells, .dxRichEdit_GIcons_SplitTableCellsLarge, .dxRichEdit_GIcons_SplitTableLarge, .dxRichEdit_GIcons_Strikeout, .dxRichEdit_GIcons_StrikeoutDouble, .dxRichEdit_GIcons_StrikeoutDoubleLarge, .dxRichEdit_GIcons_StrikeoutLarge, .dxRichEdit_GIcons_Subscript, .dxRichEdit_GIcons_SubscriptLarge, .dxRichEdit_GIcons_Superscript, .dxRichEdit_GIcons_SuperscriptLarge, .dxRichEdit_GIcons_Symbol, .dxRichEdit_GIcons_SymbolLarge, .dxRichEdit_GIcons_TableAutoFitContents, .dxRichEdit_GIcons_TableAutoFitContentsLarge, .dxRichEdit_GIcons_TableAutoFitWindow, .dxRichEdit_GIcons_TableAutoFitWindowLarge, .dxRichEdit_GIcons_TableCellMargins, .dxRichEdit_GIcons_TableCellMarginsLarge, .dxRichEdit_GIcons_TableFixedColumnWidth, .dxRichEdit_GIcons_TableFixedColumnWidthLarge, .dxRichEdit_GIcons_TableProperties, .dxRichEdit_GIcons_TablePropertiesLarge, .dxRichEdit_GIcons_TableStyleLarge, .dxRichEdit_GIcons_TextWrapBehind, .dxRichEdit_GIcons_TextWrapBehindLarge, .dxRichEdit_GIcons_TextWrapInFrontOfText, .dxRichEdit_GIcons_TextWrapInFrontOfTextLarge, .dxRichEdit_GIcons_TextWrapInline, .dxRichEdit_GIcons_TextWrapInlineLarge, .dxRichEdit_GIcons_TextWrapSquare, .dxRichEdit_GIcons_TextWrapSquareLarge, .dxRichEdit_GIcons_TextWrapThrough, .dxRichEdit_GIcons_TextWrapThroughLarge, .dxRichEdit_GIcons_TextWrapTight, .dxRichEdit_GIcons_TextWrapTightLarge, .dxRichEdit_GIcons_TextWrapTopAndBottom, .dxRichEdit_GIcons_TextWrapTopAndBottomLarge, .dxRichEdit_GIcons_ThreeColumns, .dxRichEdit_GIcons_ToggleFieldCodes, .dxRichEdit_GIcons_ToggleFieldCodesLarge, .dxRichEdit_GIcons_TwoColumns, .dxRichEdit_GIcons_Underline, .dxRichEdit_GIcons_UnderlineDouble, .dxRichEdit_GIcons_UnderlineDoubleLarge, .dxRichEdit_GIcons_UnderlineLarge, .dxRichEdit_GIcons_UnderlineWord, .dxRichEdit_GIcons_UnderlineWordLarge, .dxRichEdit_GIcons_Undo, .dxRichEdit_GIcons_UndoLarge, .dxRichEdit_GIcons_UnprotectDocument, .dxRichEdit_GIcons_UnprotectDocumentLarge, .dxRichEdit_GIcons_UpdateField, .dxRichEdit_GIcons_UpdateFieldLarge, .dxRichEdit_GIcons_UpdateTableOfContents, .dxRichEdit_GIcons_UpdateTableOfContentsLarge, .dxRichEdit_GIcons_ViewMergedData, .dxRichEdit_GIcons_ViewMergedDataLarge, .dxRichEdit_GIcons_ViewTableGridlines, .dxRichEdit_GIcons_ViewTableGridlinesLarge, .dxRichEdit_GIcons_ZoomIn, .dxRichEdit_GIcons_ZoomInLarge, .dxRichEdit_GIcons_ZoomOut, .dxRichEdit_GIcons_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.GISprite.png")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_GIcons_AddParagraphToTableOfContents { background-position: -378px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AddParagraphToTableOfContentsLarge { background-position: -170px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignBottomCenter { background-position: -414px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignBottomCenterLarge { background-position: -340px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignBottomLeft { background-position: -414px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignBottomLeftLarge { background-position: -238px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignBottomRight { background-position: -432px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignBottomRightLarge { background-position: 0px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignCenter { background-position: -510px -136px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignCenterLarge { background-position: -68px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectBottomCenter { background-position: -162px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectBottomCenterLarge { background-position: -34px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectBottomLeft { background-position: -144px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectBottomLeftLarge { background-position: -306px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectBottomRight { background-position: -72px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectBottomRightLarge { background-position: -306px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectMiddleCenter { background-position: -450px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectMiddleCenterLarge { background-position: -442px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectMiddleLeft { background-position: -216px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectMiddleLeftLarge { background-position: -170px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectMiddleRight { background-position: -108px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectMiddleRightLarge { background-position: -340px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectTopCenter { background-position: -72px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectTopCenterLarge { background-position: -272px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectTopLeft { background-position: -504px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectTopLeftLarge { background-position: -102px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignFloatingObjectTopRight { background-position: -18px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignFloatingObjectTopRightLarge { background-position: -34px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignJustify { background-position: -144px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignJustifyLarge { background-position: -238px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignLeft { background-position: -450px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignLeftLarge { background-position: -442px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignMiddleCenter { background-position: -198px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignMiddleCenterLarge { background-position: 0px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignMiddleLeft { background-position: -288px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignMiddleLeftLarge { background-position: -374px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignMiddleRight { background-position: -270px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignMiddleRightLarge { background-position: -374px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignRight { background-position: -54px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignRightLarge { background-position: -272px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignTopCenter { background-position: -306px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignTopCenterLarge { background-position: -204px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignTopLeft { background-position: -108px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignTopLeftLarge { background-position: -102px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_AlignTopRight { background-position: -126px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_AlignTopRightLarge { background-position: -34px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Background { background-position: 0px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BackgroundLarge { background-position: -238px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Bold { background-position: -234px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BoldLarge { background-position: -136px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Bookmark { background-position: -510px 0px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BookmarkLarge { background-position: -136px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderAllLarge { background-position: -408px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderBottom { background-position: -234px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderBottomLarge { background-position: -102px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderDiagonalDown { background-position: -288px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderDiagonalDownLarge { background-position: -34px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderDiagonalUp { background-position: -342px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderDiagonalUpLarge { background-position: -476px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderInsideHorizontal { background-position: -468px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderInsideHorizontalLarge { background-position: -204px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderInsideVertical { background-position: -198px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderInsideVerticalLarge { background-position: 0px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderLeft { background-position: -216px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderLeftLarge { background-position: -340px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderNone { background-position: -270px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderNoneLarge { background-position: -272px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderRight { background-position: -144px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderRightLarge { background-position: -408px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersAll { background-position: -288px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BordersAllLarge { background-position: -476px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersAndShading { background-position: -36px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BordersAndShadingLarge { background-position: -204px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersBox { background-position: -136px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersBoxLarge { background-position: -102px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersCustom { background-position: -68px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersCustomLarge { background-position: -306px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersGrid { background-position: -374px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersGridLarge { background-position: -204px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersInside { background-position: -72px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BordersInsideLarge { background-position: -34px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersNone { background-position: -374px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersNoneLarge { background-position: -102px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BordersOutside { background-position: -342px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BordersOutsideLarge { background-position: -34px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_BorderTop { background-position: -324px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_BorderTopLarge { background-position: -136px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ChangeFontStyle { background-position: -510px -442px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ChangeFontStyleLarge { background-position: -408px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ChangeTextCase { background-position: -54px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ChangeTextCaseLarge { background-position: -102px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_CharacterStyleLarge { background-position: -442px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ClearFormatting { background-position: -424px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ClearFormattingLarge { background-position: -340px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ClearTableStyle { background-position: -54px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ClearTableStyleLarge { background-position: -408px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_CloseHeaderAndFooter { background-position: -450px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_CloseHeaderAndFooterLarge { background-position: -68px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Columns { background-position: -54px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ColumnsLarge { background-position: -136px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ColumnsLeft { background-position: -180px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ColumnsLeftLarge { background-position: -170px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ColumnsOne { background-position: -234px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ColumnsOneLarge { background-position: -238px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ColumnsRight { background-position: -360px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ColumnsRightLarge { background-position: -306px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ColumnsThree { background-position: -324px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ColumnsThreeLarge { background-position: -340px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ColumnsTwo { background-position: -396px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ColumnsTwoLarge { background-position: -442px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ContinueNumberingList { background-position: -270px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_Copy { background-position: -510px -102px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_CopyLarge { background-position: -476px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Cut { background-position: -306px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_CutLarge { background-position: -136px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Delete { background-position: -90px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_Delete_Hyperlink { background-position: -234px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_Delete_HyperlinkLarge { background-position: -272px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DeleteComment { background-position: -90px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DeleteCommentLarge { background-position: -136px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DeleteLarge { background-position: -340px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DeleteTable { background-position: -18px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DeleteTableCells { background-position: -162px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DeleteTableCellsLarge { background-position: -68px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DeleteTableColumns { background-position: -216px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DeleteTableColumnsLarge { background-position: -340px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DeleteTableLarge { background-position: -272px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DeleteTableRows { background-position: -234px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DeleteTableRowsLarge { background-position: -34px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DifferentFirstPage { background-position: 0px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DifferentFirstPageLarge { background-position: -68px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DifferentOddEvenPages { background-position: -360px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DifferentOddEvenPagesLarge { background-position: -102px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_DraftView { background-position: -126px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_DraftViewLarge { background-position: -374px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_EditRangePermission { background-position: -378px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_EditRangePermissionLarge { background-position: 0px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Find { background-position: -510px -34px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FindLarge { background-position: -204px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_First { background-position: -234px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FirstLarge { background-position: -476px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectAlignment { background-position: -378px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectAlignmentLarge { background-position: -408px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectBringForward { background-position: -510px -238px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectBringForwardLarge { background-position: -68px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectBringInFrontOfText { background-position: -486px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectBringInFrontOfTextLarge { background-position: -170px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectBringToFront { background-position: -108px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectBringToFrontLarge { background-position: -408px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectBringToFrontOfText { background-position: -378px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectBringToFrontOfTextLarge { background-position: -68px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectFillColor { background-position: -162px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectFillColorLarge { background-position: -136px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectLayoutOptions { background-position: -252px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectLayoutOptionsLarge { background-position: -476px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectOutlineColor { background-position: -432px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectOutlineColorLarge { background-position: 0px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectSendBackward { background-position: -72px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectSendBackwardLarge { background-position: -238px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectSendBehindText { background-position: -90px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectSendBehindTextLarge { background-position: -204px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectSendToBack { background-position: 0px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectSendToBackLarge { background-position: -476px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FloatingObjectTextWrapType { background-position: -460px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FloatingObjectTextWrapTypeLarge { background-position: -374px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Font { background-position: -144px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FontColor { background-position: -288px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FontColorLarge { background-position: -306px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FontLarge { background-position: -340px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FontSize { background-position: -414px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FontSizeDecrease { background-position: -72px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FontSizeDecreaseLarge { background-position: -442px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FontSizeIncrease { background-position: -126px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FontSizeIncreaseLarge { background-position: -238px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FontSizeLarge { background-position: -442px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Footer { background-position: -252px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FooterLarge { background-position: -476px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_FullScreen { background-position: -360px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_FullScreenLarge { background-position: -306px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_GoToFooter { background-position: -510px -306px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_GoToFooterLarge { background-position: -374px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_GoToHeader { background-position: -370px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_GoToHeaderLarge { background-position: -170px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_GoToNextHeaderFooter { background-position: -478px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_GoToNextHeaderFooterLarge { background-position: 0px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_GoToPreviousHeaderFooter { background-position: -388px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_GoToPreviousHeaderFooterLarge { background-position: -102px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Header { background-position: -406px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_HeaderLarge { background-position: -272px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_HiddenText { background-position: -324px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_HiddenTextLarge { background-position: -340px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Highlight { background-position: -396px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_HighlightLarge { background-position: -238px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Hyperlink { background-position: -342px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_HyperlinkLarge { background-position: -374px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ImagePlaceHolder { background-position: -340px -510px; width: 28px; height: 28px } 
.dxRichEdit_GIcons_IndentDecrease { background-position: -126px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_IndentDecreaseLarge { background-position: 0px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_IndentIncrease { background-position: -180px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_IndentIncreaseLarge { background-position: -102px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertCaption { background-position: -36px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertCaptionLarge { background-position: -340px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertColumnBreak { background-position: -468px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertColumnBreakLarge { background-position: -34px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertDataField { background-position: -126px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertDataFieldLarge { background-position: 0px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertEquationCaption { background-position: -72px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertEquationCaptionLarge { background-position: -34px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertFigureCaption { background-position: -468px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertFigureCaptionLarge { background-position: -170px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertFloatingObjectImage { background-position: -414px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertFloatingObjectImageLarge { background-position: -272px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertImage { background-position: -216px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertImageLarge { background-position: -306px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertPageBreak { background-position: -162px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertPageBreakLarge { background-position: -476px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertPageCount { background-position: -450px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertPageCountLarge { background-position: -374px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertPageNumber { background-position: -162px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertPageNumberLarge { background-position: -136px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertSectionBreakContinuous { background-position: -342px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertSectionBreakContinuousLarge { background-position: -340px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertSectionBreakEvenPage { background-position: -288px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertSectionBreakEvenPageLarge { background-position: -476px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertSectionBreakNextPage { background-position: -108px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertSectionBreakNextPageLarge { background-position: -442px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertSectionBreakOddPage { background-position: -450px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertSectionBreakOddPageLarge { background-position: 0px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTable { background-position: -54px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableCaption { background-position: -432px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableCaptionLarge { background-position: -408px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableCells { background-position: -486px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableCellsLarge { background-position: -374px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableColumnsToTheLeft { background-position: -18px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableColumnsToTheLeftLarge { background-position: 0px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableColumnsToTheRight { background-position: -468px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableColumnsToTheRightLarge { background-position: -476px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableLarge { background-position: -170px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableOfCaptions { background-position: -108px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableOfCaptionsLarge { background-position: 0px -34px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableOfContents { background-position: -450px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableOfContentsLarge { background-position: -476px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableOfEquations { background-position: -144px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableOfEquationsLarge { background-position: -442px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableOfFigures { background-position: -90px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableOfFiguresLarge { background-position: -408px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableRowsAbove { background-position: -378px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableRowsAboveLarge { background-position: -374px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTableRowsBelow { background-position: -270px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTableRowsBelowLarge { background-position: -340px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_InsertTextBox { background-position: -414px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_InsertTextBoxLarge { background-position: -306px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Italic { background-position: 0px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ItalicLarge { background-position: -272px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Language { background-position: -198px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_LanguageLarge { background-position: -238px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Last { background-position: -54px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_LastLarge { background-position: -204px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_LeftColumns { background-position: -170px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_LineNumbering { background-position: -162px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_LineNumberingLarge { background-position: -136px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_LineSpacing { background-position: -72px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_LineSpacingLarge { background-position: -102px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_LinkToPrevious { background-position: -414px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_LinkToPreviousLarge { background-position: -68px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ListBullets { background-position: -432px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ListBulletsLarge { background-position: -34px 0px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ListMultilevel { background-position: -234px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ListMultilevelLarge { background-position: -204px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ListNumbers { background-position: -108px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ListNumbersLarge { background-position: -204px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_MailMerge { background-position: -198px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_MailMergeLarge { background-position: -442px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_MergeTableCells { background-position: -216px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_MergeTableCellsLarge { background-position: 0px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ModifyStyle { background-position: -342px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ModifyStyleLarge { background-position: -408px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ModifyTableStyle { background-position: -36px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ModifyTableStyleLarge { background-position: -374px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_New { background-position: -504px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_NewComment { background-position: -468px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_NewCommentLarge { background-position: -340px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_NewLarge { background-position: -306px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_NewTableStyle { background-position: -216px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_NewTableStyleLarge { background-position: -272px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Next { background-position: -510px -374px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_NextComment { background-position: -496px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_NextCommentLarge { background-position: -238px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_NextLarge { background-position: -340px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_OneColumn { background-position: -204px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Open { background-position: -36px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_OpenLarge { background-position: -136px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageColor { background-position: -18px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageColorLarge { background-position: -102px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageMargins { background-position: -162px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageMarginsLarge { background-position: -68px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageMarginsModerate { background-position: -342px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageMarginsModerateLarge { background-position: -34px -68px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageMarginsNarrow { background-position: -216px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageMarginsNarrowLarge { background-position: -68px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageMarginsNormal { background-position: -270px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageMarginsNormalLarge { background-position: -102px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageMarginsWide { background-position: -144px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageMarginsWideLarge { background-position: -170px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageOrientation { background-position: -324px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageOrientationLandscape { background-position: -504px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageOrientationLandscapeLarge { background-position: -136px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageOrientationLarge { background-position: -442px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PageOrientationPortrait { background-position: -288px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PageOrientationPortraitLarge { background-position: -442px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PaperSize { background-position: 0px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PaperSizeLarge { background-position: -306px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Paragraph { background-position: -342px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ParagraphLarge { background-position: -34px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ParagraphStyleLarge { background-position: -374px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Paste { background-position: -306px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PasteLarge { background-position: -306px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PasteSpecial { background-position: -360px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PasteSpecialLarge { background-position: -272px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PenColor { background-position: -180px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PenColorLarge { background-position: -408px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Prev { background-position: -306px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_Preview { background-position: -198px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PreviewLarge { background-position: -476px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PreviousComment { background-position: -360px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PreviousCommentLarge { background-position: -272px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PrevLarge { background-position: -170px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Print { background-position: -126px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PrintBrowser { background-position: -514px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PrintBrowserLarge { background-position: -68px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PrintDialog { background-position: -432px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PrintDialogLarge { background-position: -34px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PrintLarge { background-position: -102px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PrintLayoutView { background-position: -180px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PrintLayoutViewLarge { background-position: -136px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_PrintPreviewBrowser { background-position: -18px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_PrintPreviewBrowserLarge { background-position: -170px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ProtectDocument { background-position: -180px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ProtectDocumentLarge { background-position: -136px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ReadingLayoutView { background-position: -54px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ReadingLayoutViewLarge { background-position: -238px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Redo { background-position: -324px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_RedoLarge { background-position: -408px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Replace { background-position: -396px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ReplaceLarge { background-position: -442px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_RestartNumberingList { background-position: 0px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_Reviewers { background-position: -144px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ReviewersLarge { background-position: -476px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ReviewingPane { background-position: -486px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ReviewingPaneLarge { background-position: 0px -136px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_RightColumns { background-position: -204px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_RulerHorizontal { background-position: -36px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_RulerHorizontalLarge { background-position: -170px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_RulerVertical { background-position: -510px -68px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_RulerVerticalLarge { background-position: -408px -238px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Save { background-position: -510px -272px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SaveAll { background-position: -510px -408px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SaveAllLarge { background-position: -442px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SaveAs { background-position: -378px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SaveAsLarge { background-position: -102px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SaveLarge { background-position: -272px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Select { background-position: -396px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SelectAll { background-position: -198px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SelectAllLarge { background-position: -238px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SelectLarge { background-position: -238px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SelectTable { background-position: -180px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SelectTableCell { background-position: -510px -170px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SelectTableCellLarge { background-position: -102px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SelectTableColumn { background-position: -18px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SelectTableColumnLarge { background-position: -408px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SelectTableLarge { background-position: -238px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SelectTableRow { background-position: -504px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SelectTableRowLarge { background-position: -306px -170px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Shading { background-position: -90px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ShadingLarge { background-position: 0px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ShowAllFieldCodes { background-position: -396px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ShowAllFieldCodesLarge { background-position: -170px -102px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ShowAllFieldResults { background-position: -36px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ShowAllFieldResultsLarge { background-position: -204px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ShowComments { background-position: -486px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ShowCommentsLarge { background-position: -136px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ShowHidden { background-position: -324px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ShowHiddenLarge { background-position: -306px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SimpleView { background-position: -180px -562px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SimpleViewLarge { background-position: 0px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SpacingDecrease { background-position: -288px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SpacingDecreaseLarge { background-position: -34px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SpellCheck { background-position: -378px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SpellCheckAsYouType { background-position: -486px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SpellCheckAsYouTypeLarge { background-position: -68px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SpellCheckLarge { background-position: -34px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SplitTable { background-position: -270px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SplitTableCells { background-position: -18px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SplitTableCellsLarge { background-position: -340px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_SplitTableLarge { background-position: -374px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Strikeout { background-position: -324px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_StrikeoutDouble { background-position: -504px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_StrikeoutDoubleLarge { background-position: -374px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_StrikeoutLarge { background-position: -408px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Subscript { background-position: -510px -340px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SubscriptLarge { background-position: -272px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Superscript { background-position: -510px -204px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SuperscriptLarge { background-position: -442px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Symbol { background-position: -126px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_SymbolLarge { background-position: 0px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TableAutoFitContents { background-position: -468px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TableAutoFitContentsLarge { background-position: -476px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TableAutoFitWindow { background-position: -504px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TableAutoFitWindowLarge { background-position: -204px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TableCellMargins { background-position: -486px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TableCellMarginsLarge { background-position: -306px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TableFixedColumnWidth { background-position: -252px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TableFixedColumnWidthLarge { background-position: -238px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TableProperties { background-position: -442px -510px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TablePropertiesLarge { background-position: -68px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TableStyleLarge { background-position: -272px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TextWrapBehind { background-position: 0px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TextWrapBehindLarge { background-position: -272px -340px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TextWrapInFrontOfText { background-position: -396px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TextWrapInFrontOfTextLarge { background-position: -442px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TextWrapInline { background-position: -360px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TextWrapInlineLarge { background-position: -306px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TextWrapSquare { background-position: -198px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TextWrapSquareLarge { background-position: -68px -442px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TextWrapThrough { background-position: -252px -652px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TextWrapThroughLarge { background-position: -238px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TextWrapTight { background-position: -252px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TextWrapTightLarge { background-position: -408px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TextWrapTopAndBottom { background-position: -252px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_TextWrapTopAndBottomLarge { background-position: -476px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ThreeColumns { background-position: -238px -374px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ToggleFieldCodes { background-position: -432px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ToggleFieldCodesLarge { background-position: -170px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_TwoColumns { background-position: -170px -306px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Underline { background-position: -510px -476px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_UnderlineDouble { background-position: -306px -634px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_UnderlineDoubleLarge { background-position: -68px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_UnderlineLarge { background-position: -68px -510px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_UnderlineWord { background-position: -252px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_UnderlineWordLarge { background-position: -306px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_Undo { background-position: -270px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_UndoLarge { background-position: -204px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_UnprotectDocument { background-position: -90px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_UnprotectDocumentLarge { background-position: -204px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_UpdateField { background-position: -360px -598px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_UpdateFieldLarge { background-position: -34px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_UpdateTableOfContents { background-position: -90px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_UpdateTableOfContentsLarge { background-position: -170px -204px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ViewMergedData { background-position: -306px -580px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ViewMergedDataLarge { background-position: -272px -272px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ViewTableGridlines { background-position: -108px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ViewTableGridlinesLarge { background-position: -136px -476px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ZoomIn { background-position: -306px -544px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ZoomInLarge { background-position: -102px -408px; width: 32px; height: 32px } 
.dxRichEdit_GIcons_ZoomOut { background-position: -36px -616px; width: 16px; height: 16px } 
.dxRichEdit_GIcons_ZoomOutLarge { background-position: -204px -102px; width: 32px; height: 32px } 
       ~ 
.dxm-hovered .dxRichEdit_GWIcons_AlignBottomCenter, .dxm-hovered .dxRichEdit_GWIcons_AlignBottomLeft, .dxm-hovered .dxRichEdit_GWIcons_AlignBottomRight, .dxm-hovered .dxRichEdit_GWIcons_AlignMiddleCenter, .dxm-hovered .dxRichEdit_GWIcons_AlignMiddleLeft, .dxm-hovered .dxRichEdit_GWIcons_AlignMiddleRight, .dxm-hovered .dxRichEdit_GWIcons_AlignTopCenter, .dxm-hovered .dxRichEdit_GWIcons_AlignTopLeft, .dxm-hovered .dxRichEdit_GWIcons_AlignTopRight, .dxm-hovered .dxRichEdit_GWIcons_Bookmark, .dxm-hovered .dxRichEdit_GWIcons_BorderBottom, .dxm-hovered .dxRichEdit_GWIcons_BorderInsideHorizontal, .dxm-hovered .dxRichEdit_GWIcons_BorderInsideVertical, .dxm-hovered .dxRichEdit_GWIcons_BorderLeft, .dxm-hovered .dxRichEdit_GWIcons_BorderRight, .dxm-hovered .dxRichEdit_GWIcons_BordersAll, .dxm-hovered .dxRichEdit_GWIcons_BordersBox, .dxm-hovered .dxRichEdit_GWIcons_BordersCustom, .dxm-hovered .dxRichEdit_GWIcons_BordersGrid, .dxm-hovered .dxRichEdit_GWIcons_BordersNone, .dxm-hovered .dxRichEdit_GWIcons_BorderTop, .dxm-hovered .dxRichEdit_GWIcons_ChangeTextCase, .dxm-hovered .dxRichEdit_GWIcons_ChangeTextCaseLarge, .dxm-hovered .dxRichEdit_GWIcons_Columns, .dxm-hovered .dxRichEdit_GWIcons_ColumnsLarge, .dxm-hovered .dxRichEdit_GWIcons_ContinueNumberingList, .dxm-hovered .dxRichEdit_GWIcons_Copy, .dxm-hovered .dxRichEdit_GWIcons_Cut, .dxm-hovered .dxRichEdit_GWIcons_Delete_Hyperlink, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringForward, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfText, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringToFront, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfText, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectLayoutOptions, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectSendBackward, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectSendBehindText, .dxm-hovered .dxRichEdit_GWIcons_FloatingObjectSendToBack, .dxm-hovered .dxRichEdit_GWIcons_Font, .dxm-hovered .dxRichEdit_GWIcons_Hyperlink, .dxm-hovered .dxRichEdit_GWIcons_IndentDecrease, .dxm-hovered .dxRichEdit_GWIcons_IndentIncrease, .dxm-hovered .dxRichEdit_GWIcons_InsertColumnBreak, .dxm-hovered .dxRichEdit_GWIcons_InsertColumnBreakLarge, .dxm-hovered .dxRichEdit_GWIcons_InsertPageBreak, .dxm-hovered .dxRichEdit_GWIcons_InsertPageBreakLarge, .dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakEvenPage, .dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakEvenPageLarge, .dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakNextPage, .dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakNextPageLarge, .dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakOddPage, .dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakOddPageLarge, .dxm-hovered .dxRichEdit_GWIcons_InsertTableCells, .dxm-hovered .dxRichEdit_GWIcons_InsertTableColumnsToTheLeft, .dxm-hovered .dxRichEdit_GWIcons_InsertTableColumnsToTheRight, .dxm-hovered .dxRichEdit_GWIcons_InsertTableRowsAbove, .dxm-hovered .dxRichEdit_GWIcons_InsertTableRowsBelow, .dxm-hovered .dxRichEdit_GWIcons_LeftColumns, .dxm-hovered .dxRichEdit_GWIcons_LineSpacing, .dxm-hovered .dxRichEdit_GWIcons_LineSpacingLarge, .dxm-hovered .dxRichEdit_GWIcons_ListBullets, .dxm-hovered .dxRichEdit_GWIcons_MergeTableCells, .dxm-hovered .dxRichEdit_GWIcons_OneColumn, .dxm-hovered .dxRichEdit_GWIcons_PageMargins, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsLarge, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsModerate, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsModerateLarge, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsNarrow, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsNarrowLarge, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsNormal, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsNormalLarge, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsWide, .dxm-hovered .dxRichEdit_GWIcons_PageMarginsWideLarge, .dxm-hovered .dxRichEdit_GWIcons_PageOrientation, .dxm-hovered .dxRichEdit_GWIcons_PageOrientationLandscape, .dxm-hovered .dxRichEdit_GWIcons_PageOrientationLandscapeLarge, .dxm-hovered .dxRichEdit_GWIcons_PageOrientationLarge, .dxm-hovered .dxRichEdit_GWIcons_PageOrientationPortrait, .dxm-hovered .dxRichEdit_GWIcons_PageOrientationPortraitLarge, .dxm-hovered .dxRichEdit_GWIcons_PaperSize, .dxm-hovered .dxRichEdit_GWIcons_PaperSizeLarge, .dxm-hovered .dxRichEdit_GWIcons_Paragraph, .dxm-hovered .dxRichEdit_GWIcons_Paste, .dxm-hovered .dxRichEdit_GWIcons_RestartNumberingList, .dxm-hovered .dxRichEdit_GWIcons_RightColumns, .dxm-hovered .dxRichEdit_GWIcons_SelectAll, .dxm-hovered .dxRichEdit_GWIcons_SpellCheck, .dxm-hovered .dxRichEdit_GWIcons_SplitTableCells, .dxm-hovered .dxRichEdit_GWIcons_TableAutoFitContents, .dxm-hovered .dxRichEdit_GWIcons_TableAutoFitWindow, .dxm-hovered .dxRichEdit_GWIcons_TableFixedColumnWidth, .dxm-hovered .dxRichEdit_GWIcons_TableProperties, .dxm-hovered .dxRichEdit_GWIcons_TextWrapBehind, .dxm-hovered .dxRichEdit_GWIcons_TextWrapBehindLarge, .dxm-hovered .dxRichEdit_GWIcons_TextWrapInFrontOfText, .dxm-hovered .dxRichEdit_GWIcons_TextWrapInFrontOfTextLarge, .dxm-hovered .dxRichEdit_GWIcons_TextWrapInline, .dxm-hovered .dxRichEdit_GWIcons_TextWrapInlineLarge, .dxm-hovered .dxRichEdit_GWIcons_TextWrapSquare, .dxm-hovered .dxRichEdit_GWIcons_TextWrapSquareLarge, .dxm-hovered .dxRichEdit_GWIcons_TextWrapThrough, .dxm-hovered .dxRichEdit_GWIcons_TextWrapThroughLarge, .dxm-hovered .dxRichEdit_GWIcons_TextWrapTight, .dxm-hovered .dxRichEdit_GWIcons_TextWrapTightLarge, .dxm-hovered .dxRichEdit_GWIcons_TextWrapTopAndBottom, .dxm-hovered .dxRichEdit_GWIcons_TextWrapTopAndBottomLarge, .dxm-hovered .dxRichEdit_GWIcons_ThreeColumns, .dxm-hovered .dxRichEdit_GWIcons_ToggleFieldCodes, .dxm-hovered .dxRichEdit_GWIcons_TwoColumns, .dxm-hovered .dxRichEdit_GWIcons_UpdateField, .dxRichEdit_GWIcons_AddParagraphToTableOfContents, .dxRichEdit_GWIcons_AddParagraphToTableOfContentsLarge, .dxRichEdit_GWIcons_AlignBottomCenter, .dxRichEdit_GWIcons_AlignBottomCenterLarge, .dxRichEdit_GWIcons_AlignBottomLeft, .dxRichEdit_GWIcons_AlignBottomLeftLarge, .dxRichEdit_GWIcons_AlignBottomRight, .dxRichEdit_GWIcons_AlignBottomRightLarge, .dxRichEdit_GWIcons_AlignCenter, .dxRichEdit_GWIcons_AlignCenterLarge, .dxRichEdit_GWIcons_AlignFloatingObjectBottomCenter, .dxRichEdit_GWIcons_AlignFloatingObjectBottomCenterLarge, .dxRichEdit_GWIcons_AlignFloatingObjectBottomLeft, .dxRichEdit_GWIcons_AlignFloatingObjectBottomLeftLarge, .dxRichEdit_GWIcons_AlignFloatingObjectBottomRight, .dxRichEdit_GWIcons_AlignFloatingObjectBottomRightLarge, .dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenter, .dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenterLarge, .dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeft, .dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeftLarge, .dxRichEdit_GWIcons_AlignFloatingObjectMiddleRight, .dxRichEdit_GWIcons_AlignFloatingObjectMiddleRightLarge, .dxRichEdit_GWIcons_AlignFloatingObjectTopCenter, .dxRichEdit_GWIcons_AlignFloatingObjectTopCenterLarge, .dxRichEdit_GWIcons_AlignFloatingObjectTopLeft, .dxRichEdit_GWIcons_AlignFloatingObjectTopLeftLarge, .dxRichEdit_GWIcons_AlignFloatingObjectTopRight, .dxRichEdit_GWIcons_AlignFloatingObjectTopRightLarge, .dxRichEdit_GWIcons_AlignJustify, .dxRichEdit_GWIcons_AlignJustifyLarge, .dxRichEdit_GWIcons_AlignLeft, .dxRichEdit_GWIcons_AlignLeftLarge, .dxRichEdit_GWIcons_AlignMiddleCenter, .dxRichEdit_GWIcons_AlignMiddleCenterLarge, .dxRichEdit_GWIcons_AlignMiddleLeft, .dxRichEdit_GWIcons_AlignMiddleLeftLarge, .dxRichEdit_GWIcons_AlignMiddleRight, .dxRichEdit_GWIcons_AlignMiddleRightLarge, .dxRichEdit_GWIcons_AlignRight, .dxRichEdit_GWIcons_AlignRightLarge, .dxRichEdit_GWIcons_AlignTopCenter, .dxRichEdit_GWIcons_AlignTopCenterLarge, .dxRichEdit_GWIcons_AlignTopLeft, .dxRichEdit_GWIcons_AlignTopLeftLarge, .dxRichEdit_GWIcons_AlignTopRight, .dxRichEdit_GWIcons_AlignTopRightLarge, .dxRichEdit_GWIcons_Background, .dxRichEdit_GWIcons_BackgroundLarge, .dxRichEdit_GWIcons_Bold, .dxRichEdit_GWIcons_BoldLarge, .dxRichEdit_GWIcons_Bookmark, .dxRichEdit_GWIcons_BookmarkLarge, .dxRichEdit_GWIcons_BorderAllLarge, .dxRichEdit_GWIcons_BorderBottom, .dxRichEdit_GWIcons_BorderBottomLarge, .dxRichEdit_GWIcons_BorderDiagonalDown, .dxRichEdit_GWIcons_BorderDiagonalDownLarge, .dxRichEdit_GWIcons_BorderDiagonalUp, .dxRichEdit_GWIcons_BorderDiagonalUpLarge, .dxRichEdit_GWIcons_BorderInsideHorizontal, .dxRichEdit_GWIcons_BorderInsideHorizontalLarge, .dxRichEdit_GWIcons_BorderInsideVertical, .dxRichEdit_GWIcons_BorderInsideVerticalLarge, .dxRichEdit_GWIcons_BorderLeft, .dxRichEdit_GWIcons_BorderLeftLarge, .dxRichEdit_GWIcons_BorderNone, .dxRichEdit_GWIcons_BorderNoneLarge, .dxRichEdit_GWIcons_BorderRight, .dxRichEdit_GWIcons_BorderRightLarge, .dxRichEdit_GWIcons_BordersAll, .dxRichEdit_GWIcons_BordersAllLarge, .dxRichEdit_GWIcons_BordersAndShading, .dxRichEdit_GWIcons_BordersAndShadingLarge, .dxRichEdit_GWIcons_BordersBox, .dxRichEdit_GWIcons_BordersBoxLarge, .dxRichEdit_GWIcons_BordersCustom, .dxRichEdit_GWIcons_BordersCustomLarge, .dxRichEdit_GWIcons_BordersGrid, .dxRichEdit_GWIcons_BordersGridLarge, .dxRichEdit_GWIcons_BordersInside, .dxRichEdit_GWIcons_BordersInsideLarge, .dxRichEdit_GWIcons_BordersNone, .dxRichEdit_GWIcons_BordersNoneLarge, .dxRichEdit_GWIcons_BordersOutside, .dxRichEdit_GWIcons_BordersOutsideLarge, .dxRichEdit_GWIcons_BorderTop, .dxRichEdit_GWIcons_BorderTopLarge, .dxRichEdit_GWIcons_ChangeFontStyle, .dxRichEdit_GWIcons_ChangeFontStyleLarge, .dxRichEdit_GWIcons_ChangeTextCase, .dxRichEdit_GWIcons_ChangeTextCaseLarge, .dxRichEdit_GWIcons_CharacterStyleLarge, .dxRichEdit_GWIcons_ClearFormatting, .dxRichEdit_GWIcons_ClearFormattingLarge, .dxRichEdit_GWIcons_ClearTableStyle, .dxRichEdit_GWIcons_ClearTableStyleLarge, .dxRichEdit_GWIcons_CloseHeaderAndFooter, .dxRichEdit_GWIcons_CloseHeaderAndFooterLarge, .dxRichEdit_GWIcons_Columns, .dxRichEdit_GWIcons_ColumnsLarge, .dxRichEdit_GWIcons_ColumnsLeft, .dxRichEdit_GWIcons_ColumnsLeftLarge, .dxRichEdit_GWIcons_ColumnsOne, .dxRichEdit_GWIcons_ColumnsOneLarge, .dxRichEdit_GWIcons_ColumnsRight, .dxRichEdit_GWIcons_ColumnsRightLarge, .dxRichEdit_GWIcons_ColumnsThree, .dxRichEdit_GWIcons_ColumnsThreeLarge, .dxRichEdit_GWIcons_ColumnsTwo, .dxRichEdit_GWIcons_ColumnsTwoLarge, .dxRichEdit_GWIcons_ContinueNumberingList, .dxRichEdit_GWIcons_Copy, .dxRichEdit_GWIcons_CopyLarge, .dxRichEdit_GWIcons_Cut, .dxRichEdit_GWIcons_CutLarge, .dxRichEdit_GWIcons_Delete, .dxRichEdit_GWIcons_Delete_Hyperlink, .dxRichEdit_GWIcons_Delete_HyperlinkLarge, .dxRichEdit_GWIcons_DeleteComment, .dxRichEdit_GWIcons_DeleteCommentLarge, .dxRichEdit_GWIcons_DeleteLarge, .dxRichEdit_GWIcons_DeleteTable, .dxRichEdit_GWIcons_DeleteTableCells, .dxRichEdit_GWIcons_DeleteTableCellsLarge, .dxRichEdit_GWIcons_DeleteTableColumns, .dxRichEdit_GWIcons_DeleteTableColumnsLarge, .dxRichEdit_GWIcons_DeleteTableLarge, .dxRichEdit_GWIcons_DeleteTableRows, .dxRichEdit_GWIcons_DeleteTableRowsLarge, .dxRichEdit_GWIcons_DifferentFirstPage, .dxRichEdit_GWIcons_DifferentFirstPageLarge, .dxRichEdit_GWIcons_DifferentOddEvenPages, .dxRichEdit_GWIcons_DifferentOddEvenPagesLarge, .dxRichEdit_GWIcons_DraftView, .dxRichEdit_GWIcons_DraftViewLarge, .dxRichEdit_GWIcons_EditRangePermission, .dxRichEdit_GWIcons_EditRangePermissionLarge, .dxRichEdit_GWIcons_Find, .dxRichEdit_GWIcons_FindLarge, .dxRichEdit_GWIcons_First, .dxRichEdit_GWIcons_FirstLarge, .dxRichEdit_GWIcons_FloatingObjectAlignment, .dxRichEdit_GWIcons_FloatingObjectAlignmentLarge, .dxRichEdit_GWIcons_FloatingObjectBringForward, .dxRichEdit_GWIcons_FloatingObjectBringForwardLarge, .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfText, .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfTextLarge, .dxRichEdit_GWIcons_FloatingObjectBringToFront, .dxRichEdit_GWIcons_FloatingObjectBringToFrontLarge, .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfText, .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfTextLarge, .dxRichEdit_GWIcons_FloatingObjectFillColor, .dxRichEdit_GWIcons_FloatingObjectFillColorLarge, .dxRichEdit_GWIcons_FloatingObjectLayoutOptions, .dxRichEdit_GWIcons_FloatingObjectLayoutOptionsLarge, .dxRichEdit_GWIcons_FloatingObjectOutlineColor, .dxRichEdit_GWIcons_FloatingObjectOutlineColorLarge, .dxRichEdit_GWIcons_FloatingObjectSendBackward, .dxRichEdit_GWIcons_FloatingObjectSendBackwardLarge, .dxRichEdit_GWIcons_FloatingObjectSendBehindText, .dxRichEdit_GWIcons_FloatingObjectSendBehindTextLarge, .dxRichEdit_GWIcons_FloatingObjectSendToBack, .dxRichEdit_GWIcons_FloatingObjectSendToBackLarge, .dxRichEdit_GWIcons_FloatingObjectTextWrapType, .dxRichEdit_GWIcons_FloatingObjectTextWrapTypeLarge, .dxRichEdit_GWIcons_Font, .dxRichEdit_GWIcons_FontColor, .dxRichEdit_GWIcons_FontColorLarge, .dxRichEdit_GWIcons_FontLarge, .dxRichEdit_GWIcons_FontSize, .dxRichEdit_GWIcons_FontSizeDecrease, .dxRichEdit_GWIcons_FontSizeDecreaseLarge, .dxRichEdit_GWIcons_FontSizeIncrease, .dxRichEdit_GWIcons_FontSizeIncreaseLarge, .dxRichEdit_GWIcons_FontSizeLarge, .dxRichEdit_GWIcons_Footer, .dxRichEdit_GWIcons_FooterLarge, .dxRichEdit_GWIcons_FullScreen, .dxRichEdit_GWIcons_FullScreenLarge, .dxRichEdit_GWIcons_GoToFooter, .dxRichEdit_GWIcons_GoToFooterLarge, .dxRichEdit_GWIcons_GoToHeader, .dxRichEdit_GWIcons_GoToHeaderLarge, .dxRichEdit_GWIcons_GoToNextHeaderFooter, .dxRichEdit_GWIcons_GoToNextHeaderFooterLarge, .dxRichEdit_GWIcons_GoToPreviousHeaderFooter, .dxRichEdit_GWIcons_GoToPreviousHeaderFooterLarge, .dxRichEdit_GWIcons_Header, .dxRichEdit_GWIcons_HeaderLarge, .dxRichEdit_GWIcons_HiddenText, .dxRichEdit_GWIcons_HiddenTextLarge, .dxRichEdit_GWIcons_Highlight, .dxRichEdit_GWIcons_HighlightLarge, .dxRichEdit_GWIcons_Hyperlink, .dxRichEdit_GWIcons_HyperlinkLarge, .dxRichEdit_GWIcons_ImagePlaceHolder, .dxRichEdit_GWIcons_IndentDecrease, .dxRichEdit_GWIcons_IndentDecreaseLarge, .dxRichEdit_GWIcons_IndentIncrease, .dxRichEdit_GWIcons_IndentIncreaseLarge, .dxRichEdit_GWIcons_InsertCaption, .dxRichEdit_GWIcons_InsertCaptionLarge, .dxRichEdit_GWIcons_InsertColumnBreak, .dxRichEdit_GWIcons_InsertColumnBreakLarge, .dxRichEdit_GWIcons_InsertDataField, .dxRichEdit_GWIcons_InsertDataFieldLarge, .dxRichEdit_GWIcons_InsertEquationCaption, .dxRichEdit_GWIcons_InsertEquationCaptionLarge, .dxRichEdit_GWIcons_InsertFigureCaption, .dxRichEdit_GWIcons_InsertFigureCaptionLarge, .dxRichEdit_GWIcons_InsertFloatingObjectImage, .dxRichEdit_GWIcons_InsertFloatingObjectImageLarge, .dxRichEdit_GWIcons_InsertImage, .dxRichEdit_GWIcons_InsertImageLarge, .dxRichEdit_GWIcons_InsertPageBreak, .dxRichEdit_GWIcons_InsertPageBreakLarge, .dxRichEdit_GWIcons_InsertPageCount, .dxRichEdit_GWIcons_InsertPageCountLarge, .dxRichEdit_GWIcons_InsertPageNumber, .dxRichEdit_GWIcons_InsertPageNumberLarge, .dxRichEdit_GWIcons_InsertSectionBreakContinuous, .dxRichEdit_GWIcons_InsertSectionBreakContinuousLarge, .dxRichEdit_GWIcons_InsertSectionBreakEvenPage, .dxRichEdit_GWIcons_InsertSectionBreakEvenPageLarge, .dxRichEdit_GWIcons_InsertSectionBreakNextPage, .dxRichEdit_GWIcons_InsertSectionBreakNextPageLarge, .dxRichEdit_GWIcons_InsertSectionBreakOddPage, .dxRichEdit_GWIcons_InsertSectionBreakOddPageLarge, .dxRichEdit_GWIcons_InsertTable, .dxRichEdit_GWIcons_InsertTableCaption, .dxRichEdit_GWIcons_InsertTableCaptionLarge, .dxRichEdit_GWIcons_InsertTableCells, .dxRichEdit_GWIcons_InsertTableCellsLarge, .dxRichEdit_GWIcons_InsertTableColumnsToTheLeft, .dxRichEdit_GWIcons_InsertTableColumnsToTheLeftLarge, .dxRichEdit_GWIcons_InsertTableColumnsToTheRight, .dxRichEdit_GWIcons_InsertTableColumnsToTheRightLarge, .dxRichEdit_GWIcons_InsertTableLarge, .dxRichEdit_GWIcons_InsertTableOfCaptions, .dxRichEdit_GWIcons_InsertTableOfCaptionsLarge, .dxRichEdit_GWIcons_InsertTableOfContents, .dxRichEdit_GWIcons_InsertTableOfContentsLarge, .dxRichEdit_GWIcons_InsertTableOfEquations, .dxRichEdit_GWIcons_InsertTableOfEquationsLarge, .dxRichEdit_GWIcons_InsertTableOfFigures, .dxRichEdit_GWIcons_InsertTableOfFiguresLarge, .dxRichEdit_GWIcons_InsertTableRowsAbove, .dxRichEdit_GWIcons_InsertTableRowsAboveLarge, .dxRichEdit_GWIcons_InsertTableRowsBelow, .dxRichEdit_GWIcons_InsertTableRowsBelowLarge, .dxRichEdit_GWIcons_InsertTextBox, .dxRichEdit_GWIcons_InsertTextBoxLarge, .dxRichEdit_GWIcons_Italic, .dxRichEdit_GWIcons_ItalicLarge, .dxRichEdit_GWIcons_Language, .dxRichEdit_GWIcons_LanguageLarge, .dxRichEdit_GWIcons_Last, .dxRichEdit_GWIcons_LastLarge, .dxRichEdit_GWIcons_LeftColumns, .dxRichEdit_GWIcons_LineNumbering, .dxRichEdit_GWIcons_LineNumberingLarge, .dxRichEdit_GWIcons_LineSpacing, .dxRichEdit_GWIcons_LineSpacingLarge, .dxRichEdit_GWIcons_LinkToPrevious, .dxRichEdit_GWIcons_LinkToPreviousLarge, .dxRichEdit_GWIcons_ListBullets, .dxRichEdit_GWIcons_ListBulletsLarge, .dxRichEdit_GWIcons_ListMultilevel, .dxRichEdit_GWIcons_ListMultilevelLarge, .dxRichEdit_GWIcons_ListNumbers, .dxRichEdit_GWIcons_ListNumbersLarge, .dxRichEdit_GWIcons_MailMerge, .dxRichEdit_GWIcons_MailMergeLarge, .dxRichEdit_GWIcons_MergeTableCells, .dxRichEdit_GWIcons_MergeTableCellsLarge, .dxRichEdit_GWIcons_ModifyStyle, .dxRichEdit_GWIcons_ModifyStyleLarge, .dxRichEdit_GWIcons_ModifyTableStyle, .dxRichEdit_GWIcons_ModifyTableStyleLarge, .dxRichEdit_GWIcons_New, .dxRichEdit_GWIcons_NewComment, .dxRichEdit_GWIcons_NewCommentLarge, .dxRichEdit_GWIcons_NewLarge, .dxRichEdit_GWIcons_NewTableStyle, .dxRichEdit_GWIcons_NewTableStyleLarge, .dxRichEdit_GWIcons_Next, .dxRichEdit_GWIcons_NextComment, .dxRichEdit_GWIcons_NextCommentLarge, .dxRichEdit_GWIcons_NextLarge, .dxRichEdit_GWIcons_OneColumn, .dxRichEdit_GWIcons_Open, .dxRichEdit_GWIcons_OpenLarge, .dxRichEdit_GWIcons_PageColor, .dxRichEdit_GWIcons_PageColorLarge, .dxRichEdit_GWIcons_PageMargins, .dxRichEdit_GWIcons_PageMarginsLarge, .dxRichEdit_GWIcons_PageMarginsModerate, .dxRichEdit_GWIcons_PageMarginsModerateLarge, .dxRichEdit_GWIcons_PageMarginsNarrow, .dxRichEdit_GWIcons_PageMarginsNarrowLarge, .dxRichEdit_GWIcons_PageMarginsNormal, .dxRichEdit_GWIcons_PageMarginsNormalLarge, .dxRichEdit_GWIcons_PageMarginsWide, .dxRichEdit_GWIcons_PageMarginsWideLarge, .dxRichEdit_GWIcons_PageOrientation, .dxRichEdit_GWIcons_PageOrientationLandscape, .dxRichEdit_GWIcons_PageOrientationLandscapeLarge, .dxRichEdit_GWIcons_PageOrientationLarge, .dxRichEdit_GWIcons_PageOrientationPortrait, .dxRichEdit_GWIcons_PageOrientationPortraitLarge, .dxRichEdit_GWIcons_PaperSize, .dxRichEdit_GWIcons_PaperSizeLarge, .dxRichEdit_GWIcons_Paragraph, .dxRichEdit_GWIcons_ParagraphLarge, .dxRichEdit_GWIcons_ParagraphStyleLarge, .dxRichEdit_GWIcons_Paste, .dxRichEdit_GWIcons_PasteLarge, .dxRichEdit_GWIcons_PasteSpecial, .dxRichEdit_GWIcons_PasteSpecialLarge, .dxRichEdit_GWIcons_PenColor, .dxRichEdit_GWIcons_PenColorLarge, .dxRichEdit_GWIcons_Prev, .dxRichEdit_GWIcons_Preview, .dxRichEdit_GWIcons_PreviewLarge, .dxRichEdit_GWIcons_PreviousComment, .dxRichEdit_GWIcons_PreviousCommentLarge, .dxRichEdit_GWIcons_PrevLarge, .dxRichEdit_GWIcons_Print, .dxRichEdit_GWIcons_PrintBrowser, .dxRichEdit_GWIcons_PrintBrowserLarge, .dxRichEdit_GWIcons_PrintDialog, .dxRichEdit_GWIcons_PrintDialogLarge, .dxRichEdit_GWIcons_PrintLarge, .dxRichEdit_GWIcons_PrintLayoutView, .dxRichEdit_GWIcons_PrintLayoutViewLarge, .dxRichEdit_GWIcons_PrintPreviewBrowser, .dxRichEdit_GWIcons_PrintPreviewBrowserLarge, .dxRichEdit_GWIcons_ProtectDocument, .dxRichEdit_GWIcons_ProtectDocumentLarge, .dxRichEdit_GWIcons_ReadingLayoutView, .dxRichEdit_GWIcons_ReadingLayoutViewLarge, .dxRichEdit_GWIcons_Redo, .dxRichEdit_GWIcons_RedoLarge, .dxRichEdit_GWIcons_Replace, .dxRichEdit_GWIcons_ReplaceLarge, .dxRichEdit_GWIcons_RestartNumberingList, .dxRichEdit_GWIcons_Reviewers, .dxRichEdit_GWIcons_ReviewersLarge, .dxRichEdit_GWIcons_ReviewingPane, .dxRichEdit_GWIcons_ReviewingPaneLarge, .dxRichEdit_GWIcons_RightColumns, .dxRichEdit_GWIcons_RulerHorizontal, .dxRichEdit_GWIcons_RulerHorizontalLarge, .dxRichEdit_GWIcons_RulerVertical, .dxRichEdit_GWIcons_RulerVerticalLarge, .dxRichEdit_GWIcons_Save, .dxRichEdit_GWIcons_SaveAll, .dxRichEdit_GWIcons_SaveAllLarge, .dxRichEdit_GWIcons_SaveAs, .dxRichEdit_GWIcons_SaveAsLarge, .dxRichEdit_GWIcons_SaveLarge, .dxRichEdit_GWIcons_Select, .dxRichEdit_GWIcons_SelectAll, .dxRichEdit_GWIcons_SelectAllLarge, .dxRichEdit_GWIcons_SelectLarge, .dxRichEdit_GWIcons_SelectTable, .dxRichEdit_GWIcons_SelectTableCell, .dxRichEdit_GWIcons_SelectTableCellLarge, .dxRichEdit_GWIcons_SelectTableColumn, .dxRichEdit_GWIcons_SelectTableColumnLarge, .dxRichEdit_GWIcons_SelectTableLarge, .dxRichEdit_GWIcons_SelectTableRow, .dxRichEdit_GWIcons_SelectTableRowLarge, .dxRichEdit_GWIcons_Shading, .dxRichEdit_GWIcons_ShadingLarge, .dxRichEdit_GWIcons_ShowAllFieldCodes, .dxRichEdit_GWIcons_ShowAllFieldCodesLarge, .dxRichEdit_GWIcons_ShowAllFieldResults, .dxRichEdit_GWIcons_ShowAllFieldResultsLarge, .dxRichEdit_GWIcons_ShowComments, .dxRichEdit_GWIcons_ShowCommentsLarge, .dxRichEdit_GWIcons_ShowHidden, .dxRichEdit_GWIcons_ShowHiddenLarge, .dxRichEdit_GWIcons_SimpleView, .dxRichEdit_GWIcons_SimpleViewLarge, .dxRichEdit_GWIcons_SpacingDecrease, .dxRichEdit_GWIcons_SpacingDecreaseLarge, .dxRichEdit_GWIcons_SpellCheck, .dxRichEdit_GWIcons_SpellCheckAsYouType, .dxRichEdit_GWIcons_SpellCheckAsYouTypeLarge, .dxRichEdit_GWIcons_SpellCheckLarge, .dxRichEdit_GWIcons_SplitTable, .dxRichEdit_GWIcons_SplitTableCells, .dxRichEdit_GWIcons_SplitTableCellsLarge, .dxRichEdit_GWIcons_SplitTableLarge, .dxRichEdit_GWIcons_Strikeout, .dxRichEdit_GWIcons_StrikeoutDouble, .dxRichEdit_GWIcons_StrikeoutDoubleLarge, .dxRichEdit_GWIcons_StrikeoutLarge, .dxRichEdit_GWIcons_Subscript, .dxRichEdit_GWIcons_SubscriptLarge, .dxRichEdit_GWIcons_Superscript, .dxRichEdit_GWIcons_SuperscriptLarge, .dxRichEdit_GWIcons_Symbol, .dxRichEdit_GWIcons_SymbolLarge, .dxRichEdit_GWIcons_TableAutoFitContents, .dxRichEdit_GWIcons_TableAutoFitContentsLarge, .dxRichEdit_GWIcons_TableAutoFitWindow, .dxRichEdit_GWIcons_TableAutoFitWindowLarge, .dxRichEdit_GWIcons_TableCellMargins, .dxRichEdit_GWIcons_TableCellMarginsLarge, .dxRichEdit_GWIcons_TableFixedColumnWidth, .dxRichEdit_GWIcons_TableFixedColumnWidthLarge, .dxRichEdit_GWIcons_TableProperties, .dxRichEdit_GWIcons_TablePropertiesLarge, .dxRichEdit_GWIcons_TableStyleLarge, .dxRichEdit_GWIcons_TextWrapBehind, .dxRichEdit_GWIcons_TextWrapBehindLarge, .dxRichEdit_GWIcons_TextWrapInFrontOfText, .dxRichEdit_GWIcons_TextWrapInFrontOfTextLarge, .dxRichEdit_GWIcons_TextWrapInline, .dxRichEdit_GWIcons_TextWrapInlineLarge, .dxRichEdit_GWIcons_TextWrapSquare, .dxRichEdit_GWIcons_TextWrapSquareLarge, .dxRichEdit_GWIcons_TextWrapThrough, .dxRichEdit_GWIcons_TextWrapThroughLarge, .dxRichEdit_GWIcons_TextWrapTight, .dxRichEdit_GWIcons_TextWrapTightLarge, .dxRichEdit_GWIcons_TextWrapTopAndBottom, .dxRichEdit_GWIcons_TextWrapTopAndBottomLarge, .dxRichEdit_GWIcons_ThreeColumns, .dxRichEdit_GWIcons_ToggleFieldCodes, .dxRichEdit_GWIcons_ToggleFieldCodesLarge, .dxRichEdit_GWIcons_TwoColumns, .dxRichEdit_GWIcons_Underline, .dxRichEdit_GWIcons_UnderlineDouble, .dxRichEdit_GWIcons_UnderlineDoubleLarge, .dxRichEdit_GWIcons_UnderlineLarge, .dxRichEdit_GWIcons_UnderlineWord, .dxRichEdit_GWIcons_UnderlineWordLarge, .dxRichEdit_GWIcons_Undo, .dxRichEdit_GWIcons_UndoLarge, .dxRichEdit_GWIcons_UnprotectDocument, .dxRichEdit_GWIcons_UnprotectDocumentLarge, .dxRichEdit_GWIcons_UpdateField, .dxRichEdit_GWIcons_UpdateFieldLarge, .dxRichEdit_GWIcons_UpdateTableOfContents, .dxRichEdit_GWIcons_UpdateTableOfContentsLarge, .dxRichEdit_GWIcons_ViewMergedData, .dxRichEdit_GWIcons_ViewMergedDataLarge, .dxRichEdit_GWIcons_ViewTableGridlines, .dxRichEdit_GWIcons_ViewTableGridlinesLarge, .dxRichEdit_GWIcons_ZoomIn, .dxRichEdit_GWIcons_ZoomInLarge, .dxRichEdit_GWIcons_ZoomOut, .dxRichEdit_GWIcons_ZoomOutLarge, .dxr-itemHover .dxRichEdit_GWIcons_AddParagraphToTableOfContents, .dxr-itemHover .dxRichEdit_GWIcons_AddParagraphToTableOfContentsLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignBottomCenter, .dxr-itemHover .dxRichEdit_GWIcons_AlignBottomCenterLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignBottomLeft, .dxr-itemHover .dxRichEdit_GWIcons_AlignBottomLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignBottomRight, .dxr-itemHover .dxRichEdit_GWIcons_AlignBottomRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignCenter, .dxr-itemHover .dxRichEdit_GWIcons_AlignCenterLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomCenter, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomCenterLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomLeft, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomRight, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenter, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenterLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeft, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleRight, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopCenter, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopCenterLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopLeft, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopRight, .dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignJustify, .dxr-itemHover .dxRichEdit_GWIcons_AlignJustifyLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignLeft, .dxr-itemHover .dxRichEdit_GWIcons_AlignLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleCenter, .dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleCenterLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleLeft, .dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleRight, .dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignRight, .dxr-itemHover .dxRichEdit_GWIcons_AlignRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignTopCenter, .dxr-itemHover .dxRichEdit_GWIcons_AlignTopCenterLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignTopLeft, .dxr-itemHover .dxRichEdit_GWIcons_AlignTopLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_AlignTopRight, .dxr-itemHover .dxRichEdit_GWIcons_AlignTopRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_Background, .dxr-itemHover .dxRichEdit_GWIcons_BackgroundLarge, .dxr-itemHover .dxRichEdit_GWIcons_Bold, .dxr-itemHover .dxRichEdit_GWIcons_BoldLarge, .dxr-itemHover .dxRichEdit_GWIcons_Bookmark, .dxr-itemHover .dxRichEdit_GWIcons_BookmarkLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderAllLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderBottom, .dxr-itemHover .dxRichEdit_GWIcons_BorderBottomLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalDown, .dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalDownLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalUp, .dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalUpLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderInsideHorizontal, .dxr-itemHover .dxRichEdit_GWIcons_BorderInsideHorizontalLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderInsideVertical, .dxr-itemHover .dxRichEdit_GWIcons_BorderInsideVerticalLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderLeft, .dxr-itemHover .dxRichEdit_GWIcons_BorderLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderNone, .dxr-itemHover .dxRichEdit_GWIcons_BorderNoneLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderRight, .dxr-itemHover .dxRichEdit_GWIcons_BorderRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersAll, .dxr-itemHover .dxRichEdit_GWIcons_BordersAllLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersAndShading, .dxr-itemHover .dxRichEdit_GWIcons_BordersAndShadingLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersBoxLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersCustomLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersGridLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersInside, .dxr-itemHover .dxRichEdit_GWIcons_BordersInsideLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersNoneLarge, .dxr-itemHover .dxRichEdit_GWIcons_BordersOutside, .dxr-itemHover .dxRichEdit_GWIcons_BordersOutsideLarge, .dxr-itemHover .dxRichEdit_GWIcons_BorderTop, .dxr-itemHover .dxRichEdit_GWIcons_BorderTopLarge, .dxr-itemHover .dxRichEdit_GWIcons_ChangeFontStyle, .dxr-itemHover .dxRichEdit_GWIcons_ChangeFontStyleLarge, .dxr-itemHover .dxRichEdit_GWIcons_ChangeTextCase, .dxr-itemHover .dxRichEdit_GWIcons_ChangeTextCaseLarge, .dxr-itemHover .dxRichEdit_GWIcons_ClearFormatting, .dxr-itemHover .dxRichEdit_GWIcons_ClearFormattingLarge, .dxr-itemHover .dxRichEdit_GWIcons_ClearTableStyle, .dxr-itemHover .dxRichEdit_GWIcons_ClearTableStyleLarge, .dxr-itemHover .dxRichEdit_GWIcons_CloseHeaderAndFooter, .dxr-itemHover .dxRichEdit_GWIcons_CloseHeaderAndFooterLarge, .dxr-itemHover .dxRichEdit_GWIcons_Columns, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsLarge, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsLeft, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsOne, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsOneLarge, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsRight, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsThree, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsThreeLarge, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsTwo, .dxr-itemHover .dxRichEdit_GWIcons_ColumnsTwoLarge, .dxr-itemHover .dxRichEdit_GWIcons_Copy, .dxr-itemHover .dxRichEdit_GWIcons_CopyLarge, .dxr-itemHover .dxRichEdit_GWIcons_Cut, .dxr-itemHover .dxRichEdit_GWIcons_CutLarge, .dxr-itemHover .dxRichEdit_GWIcons_Delete, .dxr-itemHover .dxRichEdit_GWIcons_Delete_Hyperlink, .dxr-itemHover .dxRichEdit_GWIcons_Delete_HyperlinkLarge, .dxr-itemHover .dxRichEdit_GWIcons_DeleteComment, .dxr-itemHover .dxRichEdit_GWIcons_DeleteCommentLarge, .dxr-itemHover .dxRichEdit_GWIcons_DeleteLarge, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTable, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTableCells, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTableCellsLarge, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTableColumns, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTableColumnsLarge, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTableLarge, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTableRows, .dxr-itemHover .dxRichEdit_GWIcons_DeleteTableRowsLarge, .dxr-itemHover .dxRichEdit_GWIcons_DifferentFirstPage, .dxr-itemHover .dxRichEdit_GWIcons_DifferentFirstPageLarge, .dxr-itemHover .dxRichEdit_GWIcons_DifferentOddEvenPages, .dxr-itemHover .dxRichEdit_GWIcons_DifferentOddEvenPagesLarge, .dxr-itemHover .dxRichEdit_GWIcons_DraftView, .dxr-itemHover .dxRichEdit_GWIcons_DraftViewLarge, .dxr-itemHover .dxRichEdit_GWIcons_EditRangePermission, .dxr-itemHover .dxRichEdit_GWIcons_EditRangePermissionLarge, .dxr-itemHover .dxRichEdit_GWIcons_Find, .dxr-itemHover .dxRichEdit_GWIcons_FindLarge, .dxr-itemHover .dxRichEdit_GWIcons_First, .dxr-itemHover .dxRichEdit_GWIcons_FirstLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectAlignment, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectAlignmentLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringForward, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringForwardLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfText, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfTextLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFront, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFrontLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfText, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfTextLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectFillColor, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectFillColorLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectLayoutOptions, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectLayoutOptionsLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectOutlineColor, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectOutlineColorLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBackward, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBackwardLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBehindText, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBehindTextLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendToBack, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendToBackLarge, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectTextWrapType, .dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectTextWrapTypeLarge, .dxr-itemHover .dxRichEdit_GWIcons_Font, .dxr-itemHover .dxRichEdit_GWIcons_FontColor, .dxr-itemHover .dxRichEdit_GWIcons_FontColorLarge, .dxr-itemHover .dxRichEdit_GWIcons_FontLarge, .dxr-itemHover .dxRichEdit_GWIcons_FontSize, .dxr-itemHover .dxRichEdit_GWIcons_FontSizeDecrease, .dxr-itemHover .dxRichEdit_GWIcons_FontSizeDecreaseLarge, .dxr-itemHover .dxRichEdit_GWIcons_FontSizeIncrease, .dxr-itemHover .dxRichEdit_GWIcons_FontSizeIncreaseLarge, .dxr-itemHover .dxRichEdit_GWIcons_FontSizeLarge, .dxr-itemHover .dxRichEdit_GWIcons_Footer, .dxr-itemHover .dxRichEdit_GWIcons_FooterLarge, .dxr-itemHover .dxRichEdit_GWIcons_FullScreen, .dxr-itemHover .dxRichEdit_GWIcons_FullScreenLarge, .dxr-itemHover .dxRichEdit_GWIcons_GoToFooter, .dxr-itemHover .dxRichEdit_GWIcons_GoToFooterLarge, .dxr-itemHover .dxRichEdit_GWIcons_GoToHeader, .dxr-itemHover .dxRichEdit_GWIcons_GoToHeaderLarge, .dxr-itemHover .dxRichEdit_GWIcons_GoToNextHeaderFooter, .dxr-itemHover .dxRichEdit_GWIcons_GoToNextHeaderFooterLarge, .dxr-itemHover .dxRichEdit_GWIcons_GoToPreviousHeaderFooter, .dxr-itemHover .dxRichEdit_GWIcons_GoToPreviousHeaderFooterLarge, .dxr-itemHover .dxRichEdit_GWIcons_Header, .dxr-itemHover .dxRichEdit_GWIcons_HeaderLarge, .dxr-itemHover .dxRichEdit_GWIcons_HiddenText, .dxr-itemHover .dxRichEdit_GWIcons_HiddenTextLarge, .dxr-itemHover .dxRichEdit_GWIcons_Highlight, .dxr-itemHover .dxRichEdit_GWIcons_HighlightLarge, .dxr-itemHover .dxRichEdit_GWIcons_Hyperlink, .dxr-itemHover .dxRichEdit_GWIcons_HyperlinkLarge, .dxr-itemHover .dxRichEdit_GWIcons_ImagePlaceHolder, .dxr-itemHover .dxRichEdit_GWIcons_IndentDecrease, .dxr-itemHover .dxRichEdit_GWIcons_IndentDecreaseLarge, .dxr-itemHover .dxRichEdit_GWIcons_IndentIncrease, .dxr-itemHover .dxRichEdit_GWIcons_IndentIncreaseLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertCaption, .dxr-itemHover .dxRichEdit_GWIcons_InsertCaptionLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertColumnBreak, .dxr-itemHover .dxRichEdit_GWIcons_InsertColumnBreakLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertDataField, .dxr-itemHover .dxRichEdit_GWIcons_InsertDataFieldLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertEquationCaption, .dxr-itemHover .dxRichEdit_GWIcons_InsertEquationCaptionLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertFigureCaption, .dxr-itemHover .dxRichEdit_GWIcons_InsertFigureCaptionLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertFloatingObjectImage, .dxr-itemHover .dxRichEdit_GWIcons_InsertFloatingObjectImageLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertImage, .dxr-itemHover .dxRichEdit_GWIcons_InsertImageLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertPageBreak, .dxr-itemHover .dxRichEdit_GWIcons_InsertPageBreakLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertPageCount, .dxr-itemHover .dxRichEdit_GWIcons_InsertPageCountLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertPageNumber, .dxr-itemHover .dxRichEdit_GWIcons_InsertPageNumberLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakContinuous, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakContinuousLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakEvenPage, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakEvenPageLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakNextPage, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakNextPageLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakOddPage, .dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakOddPageLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTable, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableCaption, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableCaptionLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableCells, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableCellsLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheLeft, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheLeftLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheRight, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheRightLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfCaptions, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfCaptionsLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfContents, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfContentsLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfEquations, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfEquationsLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfFigures, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfFiguresLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsAbove, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsAboveLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsBelow, .dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsBelowLarge, .dxr-itemHover .dxRichEdit_GWIcons_InsertTextBox, .dxr-itemHover .dxRichEdit_GWIcons_InsertTextBoxLarge, .dxr-itemHover .dxRichEdit_GWIcons_Italic, .dxr-itemHover .dxRichEdit_GWIcons_ItalicLarge, .dxr-itemHover .dxRichEdit_GWIcons_Language, .dxr-itemHover .dxRichEdit_GWIcons_LanguageLarge, .dxr-itemHover .dxRichEdit_GWIcons_Last, .dxr-itemHover .dxRichEdit_GWIcons_LastLarge, .dxr-itemHover .dxRichEdit_GWIcons_LeftColumns, .dxr-itemHover .dxRichEdit_GWIcons_LineNumbering, .dxr-itemHover .dxRichEdit_GWIcons_LineNumberingLarge, .dxr-itemHover .dxRichEdit_GWIcons_LineSpacing, .dxr-itemHover .dxRichEdit_GWIcons_LineSpacingLarge, .dxr-itemHover .dxRichEdit_GWIcons_LinkToPrevious, .dxr-itemHover .dxRichEdit_GWIcons_LinkToPreviousLarge, .dxr-itemHover .dxRichEdit_GWIcons_ListBullets, .dxr-itemHover .dxRichEdit_GWIcons_ListBulletsLarge, .dxr-itemHover .dxRichEdit_GWIcons_ListMultilevel, .dxr-itemHover .dxRichEdit_GWIcons_ListMultilevelLarge, .dxr-itemHover .dxRichEdit_GWIcons_ListNumbers, .dxr-itemHover .dxRichEdit_GWIcons_ListNumbersLarge, .dxr-itemHover .dxRichEdit_GWIcons_MailMerge, .dxr-itemHover .dxRichEdit_GWIcons_MailMergeLarge, .dxr-itemHover .dxRichEdit_GWIcons_MergeTableCells, .dxr-itemHover .dxRichEdit_GWIcons_MergeTableCellsLarge, .dxr-itemHover .dxRichEdit_GWIcons_ModifyStyle, .dxr-itemHover .dxRichEdit_GWIcons_ModifyStyleLarge, .dxr-itemHover .dxRichEdit_GWIcons_ModifyTableStyle, .dxr-itemHover .dxRichEdit_GWIcons_ModifyTableStyleLarge, .dxr-itemHover .dxRichEdit_GWIcons_New, .dxr-itemHover .dxRichEdit_GWIcons_NewComment, .dxr-itemHover .dxRichEdit_GWIcons_NewCommentLarge, .dxr-itemHover .dxRichEdit_GWIcons_NewLarge, .dxr-itemHover .dxRichEdit_GWIcons_NewTableStyle, .dxr-itemHover .dxRichEdit_GWIcons_NewTableStyleLarge, .dxr-itemHover .dxRichEdit_GWIcons_Next, .dxr-itemHover .dxRichEdit_GWIcons_NextComment, .dxr-itemHover .dxRichEdit_GWIcons_NextCommentLarge, .dxr-itemHover .dxRichEdit_GWIcons_NextLarge, .dxr-itemHover .dxRichEdit_GWIcons_OneColumn, .dxr-itemHover .dxRichEdit_GWIcons_Open, .dxr-itemHover .dxRichEdit_GWIcons_OpenLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageColor, .dxr-itemHover .dxRichEdit_GWIcons_PageColorLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageMargins, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsModerate, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsModerateLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNarrow, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNarrowLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNormal, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNormalLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsWide, .dxr-itemHover .dxRichEdit_GWIcons_PageMarginsWideLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageOrientation, .dxr-itemHover .dxRichEdit_GWIcons_PageOrientationLandscape, .dxr-itemHover .dxRichEdit_GWIcons_PageOrientationLandscapeLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageOrientationLarge, .dxr-itemHover .dxRichEdit_GWIcons_PageOrientationPortrait, .dxr-itemHover .dxRichEdit_GWIcons_PageOrientationPortraitLarge, .dxr-itemHover .dxRichEdit_GWIcons_PaperSize, .dxr-itemHover .dxRichEdit_GWIcons_PaperSizeLarge, .dxr-itemHover .dxRichEdit_GWIcons_Paragraph, .dxr-itemHover .dxRichEdit_GWIcons_ParagraphLarge, .dxr-itemHover .dxRichEdit_GWIcons_Paste, .dxr-itemHover .dxRichEdit_GWIcons_PasteLarge, .dxr-itemHover .dxRichEdit_GWIcons_PasteSpecial, .dxr-itemHover .dxRichEdit_GWIcons_PasteSpecialLarge, .dxr-itemHover .dxRichEdit_GWIcons_PenColor, .dxr-itemHover .dxRichEdit_GWIcons_PenColorLarge, .dxr-itemHover .dxRichEdit_GWIcons_Prev, .dxr-itemHover .dxRichEdit_GWIcons_Preview, .dxr-itemHover .dxRichEdit_GWIcons_PreviewLarge, .dxr-itemHover .dxRichEdit_GWIcons_PreviousComment, .dxr-itemHover .dxRichEdit_GWIcons_PreviousCommentLarge, .dxr-itemHover .dxRichEdit_GWIcons_PrevLarge, .dxr-itemHover .dxRichEdit_GWIcons_Print, .dxr-itemHover .dxRichEdit_GWIcons_PrintBrowser, .dxr-itemHover .dxRichEdit_GWIcons_PrintBrowserLarge, .dxr-itemHover .dxRichEdit_GWIcons_PrintDialog, .dxr-itemHover .dxRichEdit_GWIcons_PrintDialogLarge, .dxr-itemHover .dxRichEdit_GWIcons_PrintLarge, .dxr-itemHover .dxRichEdit_GWIcons_PrintLayoutView, .dxr-itemHover .dxRichEdit_GWIcons_PrintLayoutViewLarge, .dxr-itemHover .dxRichEdit_GWIcons_PrintPreviewBrowser, .dxr-itemHover .dxRichEdit_GWIcons_PrintPreviewBrowserLarge, .dxr-itemHover .dxRichEdit_GWIcons_ProtectDocument, .dxr-itemHover .dxRichEdit_GWIcons_ProtectDocumentLarge, .dxr-itemHover .dxRichEdit_GWIcons_ReadingLayoutView, .dxr-itemHover .dxRichEdit_GWIcons_ReadingLayoutViewLarge, .dxr-itemHover .dxRichEdit_GWIcons_Redo, .dxr-itemHover .dxRichEdit_GWIcons_RedoLarge, .dxr-itemHover .dxRichEdit_GWIcons_Replace, .dxr-itemHover .dxRichEdit_GWIcons_ReplaceLarge, .dxr-itemHover .dxRichEdit_GWIcons_Reviewers, .dxr-itemHover .dxRichEdit_GWIcons_ReviewersLarge, .dxr-itemHover .dxRichEdit_GWIcons_ReviewingPane, .dxr-itemHover .dxRichEdit_GWIcons_ReviewingPaneLarge, .dxr-itemHover .dxRichEdit_GWIcons_RightColumns, .dxr-itemHover .dxRichEdit_GWIcons_RulerHorizontal, .dxr-itemHover .dxRichEdit_GWIcons_RulerHorizontalLarge, .dxr-itemHover .dxRichEdit_GWIcons_RulerVertical, .dxr-itemHover .dxRichEdit_GWIcons_RulerVerticalLarge, .dxr-itemHover .dxRichEdit_GWIcons_Save, .dxr-itemHover .dxRichEdit_GWIcons_SaveAll, .dxr-itemHover .dxRichEdit_GWIcons_SaveAllLarge, .dxr-itemHover .dxRichEdit_GWIcons_SaveAs, .dxr-itemHover .dxRichEdit_GWIcons_SaveAsLarge, .dxr-itemHover .dxRichEdit_GWIcons_SaveLarge, .dxr-itemHover .dxRichEdit_GWIcons_Select, .dxr-itemHover .dxRichEdit_GWIcons_SelectAll, .dxr-itemHover .dxRichEdit_GWIcons_SelectAllLarge, .dxr-itemHover .dxRichEdit_GWIcons_SelectLarge, .dxr-itemHover .dxRichEdit_GWIcons_SelectTable, .dxr-itemHover .dxRichEdit_GWIcons_SelectTableCell, .dxr-itemHover .dxRichEdit_GWIcons_SelectTableCellLarge, .dxr-itemHover .dxRichEdit_GWIcons_SelectTableColumn, .dxr-itemHover .dxRichEdit_GWIcons_SelectTableColumnLarge, .dxr-itemHover .dxRichEdit_GWIcons_SelectTableLarge, .dxr-itemHover .dxRichEdit_GWIcons_SelectTableRow, .dxr-itemHover .dxRichEdit_GWIcons_SelectTableRowLarge, .dxr-itemHover .dxRichEdit_GWIcons_Shading, .dxr-itemHover .dxRichEdit_GWIcons_ShadingLarge, .dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldCodes, .dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldCodesLarge, .dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldResults, .dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldResultsLarge, .dxr-itemHover .dxRichEdit_GWIcons_ShowComments, .dxr-itemHover .dxRichEdit_GWIcons_ShowCommentsLarge, .dxr-itemHover .dxRichEdit_GWIcons_ShowHidden, .dxr-itemHover .dxRichEdit_GWIcons_ShowHiddenLarge, .dxr-itemHover .dxRichEdit_GWIcons_SimpleView, .dxr-itemHover .dxRichEdit_GWIcons_SimpleViewLarge, .dxr-itemHover .dxRichEdit_GWIcons_SpacingDecrease, .dxr-itemHover .dxRichEdit_GWIcons_SpacingDecreaseLarge, .dxr-itemHover .dxRichEdit_GWIcons_SpellCheck, .dxr-itemHover .dxRichEdit_GWIcons_SpellCheckAsYouType, .dxr-itemHover .dxRichEdit_GWIcons_SpellCheckAsYouTypeLarge, .dxr-itemHover .dxRichEdit_GWIcons_SpellCheckLarge, .dxr-itemHover .dxRichEdit_GWIcons_SplitTable, .dxr-itemHover .dxRichEdit_GWIcons_SplitTableCells, .dxr-itemHover .dxRichEdit_GWIcons_SplitTableCellsLarge, .dxr-itemHover .dxRichEdit_GWIcons_SplitTableLarge, .dxr-itemHover .dxRichEdit_GWIcons_Strikeout, .dxr-itemHover .dxRichEdit_GWIcons_StrikeoutDouble, .dxr-itemHover .dxRichEdit_GWIcons_StrikeoutDoubleLarge, .dxr-itemHover .dxRichEdit_GWIcons_StrikeoutLarge, .dxr-itemHover .dxRichEdit_GWIcons_Subscript, .dxr-itemHover .dxRichEdit_GWIcons_SubscriptLarge, .dxr-itemHover .dxRichEdit_GWIcons_Superscript, .dxr-itemHover .dxRichEdit_GWIcons_SuperscriptLarge, .dxr-itemHover .dxRichEdit_GWIcons_Symbol, .dxr-itemHover .dxRichEdit_GWIcons_SymbolLarge, .dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitContents, .dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitContentsLarge, .dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitWindow, .dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitWindowLarge, .dxr-itemHover .dxRichEdit_GWIcons_TableCellMargins, .dxr-itemHover .dxRichEdit_GWIcons_TableCellMarginsLarge, .dxr-itemHover .dxRichEdit_GWIcons_TableFixedColumnWidth, .dxr-itemHover .dxRichEdit_GWIcons_TableFixedColumnWidthLarge, .dxr-itemHover .dxRichEdit_GWIcons_TableProperties, .dxr-itemHover .dxRichEdit_GWIcons_TablePropertiesLarge, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapBehind, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapBehindLarge, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapInFrontOfText, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapInFrontOfTextLarge, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapInline, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapInlineLarge, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapSquare, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapSquareLarge, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapThrough, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapThroughLarge, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapTight, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapTightLarge, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapTopAndBottom, .dxr-itemHover .dxRichEdit_GWIcons_TextWrapTopAndBottomLarge, .dxr-itemHover .dxRichEdit_GWIcons_ThreeColumns, .dxr-itemHover .dxRichEdit_GWIcons_ToggleFieldCodes, .dxr-itemHover .dxRichEdit_GWIcons_ToggleFieldCodesLarge, .dxr-itemHover .dxRichEdit_GWIcons_TwoColumns, .dxr-itemHover .dxRichEdit_GWIcons_Underline, .dxr-itemHover .dxRichEdit_GWIcons_UnderlineDouble, .dxr-itemHover .dxRichEdit_GWIcons_UnderlineDoubleLarge, .dxr-itemHover .dxRichEdit_GWIcons_UnderlineLarge, .dxr-itemHover .dxRichEdit_GWIcons_UnderlineWord, .dxr-itemHover .dxRichEdit_GWIcons_UnderlineWordLarge, .dxr-itemHover .dxRichEdit_GWIcons_Undo, .dxr-itemHover .dxRichEdit_GWIcons_UndoLarge, .dxr-itemHover .dxRichEdit_GWIcons_UnprotectDocument, .dxr-itemHover .dxRichEdit_GWIcons_UnprotectDocumentLarge, .dxr-itemHover .dxRichEdit_GWIcons_UpdateField, .dxr-itemHover .dxRichEdit_GWIcons_UpdateFieldLarge, .dxr-itemHover .dxRichEdit_GWIcons_UpdateTableOfContents, .dxr-itemHover .dxRichEdit_GWIcons_UpdateTableOfContentsLarge, .dxr-itemHover .dxRichEdit_GWIcons_ViewMergedData, .dxr-itemHover .dxRichEdit_GWIcons_ViewMergedDataLarge, .dxr-itemHover .dxRichEdit_GWIcons_ViewTableGridlines, .dxr-itemHover .dxRichEdit_GWIcons_ViewTableGridlinesLarge, .dxr-itemHover .dxRichEdit_GWIcons_ZoomIn, .dxr-itemHover .dxRichEdit_GWIcons_ZoomInLarge, .dxr-itemHover .dxRichEdit_GWIcons_ZoomOut, .dxr-itemHover .dxRichEdit_GWIcons_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.GWISprite.png")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxm-hovered .dxRichEdit_GWIcons_AlignBottomCenter { background-position: -378px -1426px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignBottomLeft { background-position: -162px -1264px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignBottomRight { background-position: -108px -1426px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignMiddleCenter { background-position: -504px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignMiddleLeft { background-position: -126px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignMiddleRight { background-position: -54px -1228px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignTopCenter { background-position: -324px -1372px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignTopLeft { background-position: -450px -1390px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_AlignTopRight { background-position: -468px -1264px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_Bookmark { background-position: -36px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_BorderBottom { background-position: -486px -1282px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_BorderInsideHorizontal { background-position: -126px -1408px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_BorderInsideVertical { background-position: -108px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_BorderLeft { background-position: -180px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_BorderRight { background-position: -432px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_BordersAll { background-position: -342px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_BordersBox { background-position: -102px -1088px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_BordersCustom { background-position: 0px -1020px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_BordersGrid { background-position: -102px -884px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_BordersNone { background-position: 0px -544px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_BorderTop { background-position: -510px -408px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_ChangeTextCase { background-position: -510px -374px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_ChangeTextCaseLarge { background-position: -238px -714px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_Columns { background-position: -288px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_ColumnsLarge { background-position: -442px -510px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_ContinueNumberingList { background-position: -72px -1372px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_Copy { background-position: -504px -1264px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_Cut { background-position: -504px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_Delete_Hyperlink { background-position: -486px -1390px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringForward { background-position: 0px -1354px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfText { background-position: -414px -1408px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringToFront { background-position: -108px -1408px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfText { background-position: -396px -1300px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectLayoutOptions { background-position: -468px -1390px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectSendBackward { background-position: -180px -1408px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectSendBehindText { background-position: -234px -1228px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_FloatingObjectSendToBack { background-position: -72px -1336px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_Font { background-position: -198px -1174px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_Hyperlink { background-position: -396px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_IndentDecrease { background-position: -18px -1372px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_IndentIncrease { background-position: -144px -1174px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertColumnBreak { background-position: -234px -1336px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertColumnBreakLarge { background-position: -238px -578px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertPageBreak { background-position: -306px -1318px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertPageBreakLarge { background-position: -102px -442px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakEvenPage { background-position: -36px -1426px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakEvenPageLarge { background-position: -170px -782px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakNextPage { background-position: -468px -1372px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakNextPageLarge { background-position: -340px -442px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakOddPage { background-position: -324px -1390px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertSectionBreakOddPageLarge { background-position: -34px -714px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertTableCells { background-position: -72px -1318px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertTableColumnsToTheLeft { background-position: -450px -1228px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertTableColumnsToTheRight { background-position: -162px -1336px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertTableRowsAbove { background-position: -162px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_InsertTableRowsBelow { background-position: -378px -1300px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_LeftColumns { background-position: -68px -1088px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_LineSpacing { background-position: -198px -1426px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_LineSpacingLarge { background-position: -476px -986px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_ListBullets { background-position: -54px -1264px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_MergeTableCells { background-position: -72px -1354px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_OneColumn { background-position: -340px -918px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMargins { background-position: -414px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsLarge { background-position: -204px -884px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsModerate { background-position: -324px -1228px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsModerateLarge { background-position: -34px -442px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsNarrow { background-position: -306px -1300px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsNarrowLarge { background-position: -136px -986px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsNormal { background-position: -486px -1354px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsNormalLarge { background-position: -306px -374px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsWide { background-position: -252px -1300px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageMarginsWideLarge { background-position: 0px -204px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageOrientation { background-position: -18px -1426px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageOrientationLandscape { background-position: -486px -1318px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageOrientationLandscapeLarge { background-position: -102px -306px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageOrientationLarge { background-position: -102px -102px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PageOrientationPortrait { background-position: -198px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PageOrientationPortraitLarge { background-position: -102px -714px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_PaperSize { background-position: -144px -1372px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_PaperSizeLarge { background-position: -408px -578px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_Paragraph { background-position: -396px -1264px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_Paste { background-position: -432px -1210px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_RestartNumberingList { background-position: 0px -1174px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_RightColumns { background-position: -204px -170px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_SelectAll { background-position: -486px -1336px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_SpellCheck { background-position: -90px -1390px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_SplitTableCells { background-position: -126px -1300px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TableAutoFitContents { background-position: -90px -1264px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TableAutoFitWindow { background-position: -18px -1264px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TableFixedColumnWidth { background-position: -468px -1228px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TableProperties { background-position: -342px -1408px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapBehind { background-position: -126px -1354px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapBehindLarge { background-position: -476px -578px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapInFrontOfText { background-position: -72px -1210px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapInFrontOfTextLarge { background-position: -204px -102px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapInline { background-position: -126px -1426px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapInlineLarge { background-position: -204px -1054px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapSquare { background-position: 0px -1408px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapSquareLarge { background-position: -170px -306px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapThrough { background-position: -198px -1300px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapThroughLarge { background-position: -136px -374px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapTight { background-position: -288px -1192px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapTightLarge { background-position: -136px -714px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapTopAndBottom { background-position: -450px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TextWrapTopAndBottomLarge { background-position: -442px -918px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_ThreeColumns { background-position: -476px -646px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_ToggleFieldCodes { background-position: -216px -1156px; width: 16px; height: 16px } 
.dxm-hovered .dxRichEdit_GWIcons_TwoColumns { background-position: -204px -986px; width: 32px; height: 32px } 
.dxm-hovered .dxRichEdit_GWIcons_UpdateField { background-position: -510px -272px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AddParagraphToTableOfContents { background-position: -360px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AddParagraphToTableOfContentsLarge { background-position: -374px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignBottomCenter { background-position: -252px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignBottomCenterLarge { background-position: -340px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignBottomLeft { background-position: -504px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignBottomLeftLarge { background-position: -34px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignBottomRight { background-position: -432px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignBottomRightLarge { background-position: -68px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignCenter { background-position: -234px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignCenterLarge { background-position: -102px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectBottomCenter { background-position: -198px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectBottomCenterLarge { background-position: -136px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectBottomLeft { background-position: 0px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectBottomLeftLarge { background-position: -170px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectBottomRight { background-position: -198px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectBottomRightLarge { background-position: -204px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenter { background-position: -468px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenterLarge { background-position: -238px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeft { background-position: -324px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeftLarge { background-position: -272px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectMiddleRight { background-position: -270px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectMiddleRightLarge { background-position: -306px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectTopCenter { background-position: -144px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectTopCenterLarge { background-position: -340px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectTopLeft { background-position: -18px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectTopLeftLarge { background-position: -374px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignFloatingObjectTopRight { background-position: -504px -1174px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignFloatingObjectTopRightLarge { background-position: -408px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignJustify { background-position: -36px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignJustifyLarge { background-position: -442px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignLeft { background-position: -54px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignLeftLarge { background-position: -476px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignMiddleCenter { background-position: -324px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignMiddleCenterLarge { background-position: 0px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignMiddleLeft { background-position: -342px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignMiddleLeftLarge { background-position: -272px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignMiddleRight { background-position: -180px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignMiddleRightLarge { background-position: -306px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignRight { background-position: -216px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignRightLarge { background-position: -476px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignTopCenter { background-position: -162px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignTopCenterLarge { background-position: -170px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignTopLeft { background-position: -270px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignTopLeftLarge { background-position: -238px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_AlignTopRight { background-position: -324px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_AlignTopRightLarge { background-position: -136px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Background { background-position: -180px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BackgroundLarge { background-position: -476px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Bold { background-position: -342px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BoldLarge { background-position: -408px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Bookmark { background-position: -216px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BookmarkLarge { background-position: -68px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderAllLarge { background-position: -374px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderBottom { background-position: -378px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderBottomLarge { background-position: -204px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderDiagonalDown { background-position: -252px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderDiagonalDownLarge { background-position: -34px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderDiagonalUp { background-position: -72px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderDiagonalUpLarge { background-position: -68px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderInsideHorizontal { background-position: -54px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderInsideHorizontalLarge { background-position: -476px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderInsideVertical { background-position: -486px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderInsideVerticalLarge { background-position: -170px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderLeft { background-position: -216px -1174px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderLeftLarge { background-position: 0px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderNone { background-position: -504px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderNoneLarge { background-position: -68px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderRight { background-position: -504px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderRightLarge { background-position: -374px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersAll { background-position: -90px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BordersAllLarge { background-position: 0px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersAndShading { background-position: -198px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BordersAndShadingLarge { background-position: -34px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersBox { background-position: -68px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersBoxLarge { background-position: -204px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersCustom { background-position: -102px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersCustomLarge { background-position: -306px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersGrid { background-position: -136px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersGridLarge { background-position: -102px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersInside { background-position: -486px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BordersInsideLarge { background-position: -68px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersNone { background-position: -102px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersNoneLarge { background-position: -102px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BordersOutside { background-position: -162px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BordersOutsideLarge { background-position: -408px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_BorderTop { background-position: -468px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_BorderTopLarge { background-position: -238px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ChangeFontStyle { background-position: -180px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ChangeFontStyleLarge { background-position: -34px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ChangeTextCase { background-position: -414px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ChangeTextCaseLarge { background-position: -374px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_CharacterStyleLarge { background-position: -204px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ClearFormatting { background-position: -144px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ClearFormattingLarge { background-position: -340px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ClearTableStyle { background-position: -414px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ClearTableStyleLarge { background-position: -170px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_CloseHeaderAndFooter { background-position: -360px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_CloseHeaderAndFooterLarge { background-position: -136px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Columns { background-position: 0px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ColumnsLarge { background-position: -102px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ColumnsLeft { background-position: -252px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ColumnsLeftLarge { background-position: -238px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ColumnsOne { background-position: -198px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ColumnsOneLarge { background-position: -136px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ColumnsRight { background-position: -90px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ColumnsRightLarge { background-position: -408px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ColumnsThree { background-position: -504px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ColumnsThreeLarge { background-position: -306px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ColumnsTwo { background-position: -126px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ColumnsTwoLarge { background-position: -408px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ContinueNumberingList { background-position: -310px -1122px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_Copy { background-position: 0px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_CopyLarge { background-position: -272px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Cut { background-position: -90px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_CutLarge { background-position: -136px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Delete { background-position: -510px -918px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_Delete_Hyperlink { background-position: -162px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_Delete_HyperlinkLarge { background-position: -102px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DeleteComment { background-position: -324px -1174px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DeleteCommentLarge { background-position: -476px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DeleteLarge { background-position: -408px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DeleteTable { background-position: -270px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DeleteTableCells { background-position: -342px -1174px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DeleteTableCellsLarge { background-position: -442px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DeleteTableColumns { background-position: -216px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DeleteTableColumnsLarge { background-position: -136px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DeleteTableLarge { background-position: -408px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DeleteTableRows { background-position: -414px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DeleteTableRowsLarge { background-position: -408px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DifferentFirstPage { background-position: -18px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DifferentFirstPageLarge { background-position: -68px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DifferentOddEvenPages { background-position: -486px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DifferentOddEvenPagesLarge { background-position: -476px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_DraftView { background-position: -90px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_DraftViewLarge { background-position: -306px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_EditRangePermission { background-position: -216px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_EditRangePermissionLarge { background-position: -340px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Find { background-position: 0px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FindLarge { background-position: -34px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_First { background-position: -54px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FirstLarge { background-position: -204px -646px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectAlignment { background-position: -216px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectAlignmentLarge { background-position: -476px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectBringForward { background-position: -360px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectBringForwardLarge { background-position: -442px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectBringInFrontOfText { background-position: -342px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectBringInFrontOfTextLarge { background-position: -408px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectBringToFront { background-position: -234px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectBringToFrontLarge { background-position: -374px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectBringToFrontOfText { background-position: -432px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectBringToFrontOfTextLarge { background-position: -408px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectFillColor { background-position: -216px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectFillColorLarge { background-position: -442px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectLayoutOptions { background-position: -108px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectLayoutOptionsLarge { background-position: 0px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectOutlineColor { background-position: -450px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectOutlineColorLarge { background-position: -374px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectSendBackward { background-position: -324px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectSendBackwardLarge { background-position: -102px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectSendBehindText { background-position: -180px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectSendBehindTextLarge { background-position: -136px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectSendToBack { background-position: -306px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectSendToBackLarge { background-position: -374px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FloatingObjectTextWrapType { background-position: -378px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FloatingObjectTextWrapTypeLarge { background-position: -408px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Font { background-position: -252px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FontColor { background-position: -144px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FontColorLarge { background-position: -442px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FontLarge { background-position: -68px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FontSize { background-position: -324px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FontSizeDecrease { background-position: -450px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FontSizeDecreaseLarge { background-position: -34px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FontSizeIncrease { background-position: 0px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FontSizeIncreaseLarge { background-position: -340px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FontSizeLarge { background-position: -442px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Footer { background-position: 0px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FooterLarge { background-position: 0px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_FullScreen { background-position: -252px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_FullScreenLarge { background-position: -238px -442px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_GoToFooter { background-position: -234px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_GoToFooterLarge { background-position: -34px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_GoToHeader { background-position: -36px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_GoToHeaderLarge { background-position: -204px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_GoToNextHeaderFooter { background-position: -108px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_GoToNextHeaderFooterLarge { background-position: -68px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_GoToPreviousHeaderFooter { background-position: -54px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_GoToPreviousHeaderFooterLarge { background-position: -34px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Header { background-position: -396px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_HeaderLarge { background-position: -374px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_HiddenText { background-position: -510px -612px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_HiddenTextLarge { background-position: -272px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Highlight { background-position: -270px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_HighlightLarge { background-position: -136px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Hyperlink { background-position: -504px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_HyperlinkLarge { background-position: -374px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ImagePlaceHolder { background-position: -64px -1122px; width: 28px; height: 28px } 
.dxRichEdit_GWIcons_IndentDecrease { background-position: -108px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_IndentDecreaseLarge { background-position: -204px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_IndentIncrease { background-position: -414px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_IndentIncreaseLarge { background-position: -68px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertCaption { background-position: -342px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertCaptionLarge { background-position: -34px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertColumnBreak { background-position: -36px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertColumnBreakLarge { background-position: 0px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertDataField { background-position: -288px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertDataFieldLarge { background-position: -442px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertEquationCaption { background-position: -144px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertEquationCaptionLarge { background-position: -476px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertFigureCaption { background-position: -54px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertFigureCaptionLarge { background-position: -340px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertFloatingObjectImage { background-position: -18px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertFloatingObjectImageLarge { background-position: -272px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertImage { background-position: -396px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertImageLarge { background-position: -442px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertPageBreak { background-position: -432px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertPageBreakLarge { background-position: -374px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertPageCount { background-position: -270px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertPageCountLarge { background-position: -340px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertPageNumber { background-position: -360px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertPageNumberLarge { background-position: -306px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertSectionBreakContinuous { background-position: -198px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertSectionBreakContinuousLarge { background-position: -272px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertSectionBreakEvenPage { background-position: -90px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertSectionBreakEvenPageLarge { background-position: 0px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertSectionBreakNextPage { background-position: -486px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertSectionBreakNextPageLarge { background-position: -408px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertSectionBreakOddPage { background-position: -510px -748px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertSectionBreakOddPageLarge { background-position: -408px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTable { background-position: -510px -680px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableCaption { background-position: -234px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableCaptionLarge { background-position: -102px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableCells { background-position: -510px -476px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableCellsLarge { background-position: -374px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableColumnsToTheLeft { background-position: -510px 0px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableColumnsToTheLeftLarge { background-position: -340px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableColumnsToTheRight { background-position: -510px -952px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableColumnsToTheRightLarge { background-position: -306px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableLarge { background-position: -272px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableOfCaptions { background-position: -324px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableOfCaptionsLarge { background-position: -238px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableOfContents { background-position: -126px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableOfContentsLarge { background-position: -204px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableOfEquations { background-position: -378px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableOfEquationsLarge { background-position: -170px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableOfFigures { background-position: -180px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableOfFiguresLarge { background-position: -136px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableRowsAbove { background-position: -234px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableRowsAboveLarge { background-position: -476px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTableRowsBelow { background-position: -360px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTableRowsBelowLarge { background-position: 0px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_InsertTextBox { background-position: -288px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_InsertTextBoxLarge { background-position: -272px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Italic { background-position: -468px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ItalicLarge { background-position: -306px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Language { background-position: -162px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_LanguageLarge { background-position: -34px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Last { background-position: -144px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_LastLarge { background-position: -272px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_LeftColumns { background-position: -238px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_LineNumbering { background-position: -510px -136px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_LineNumberingLarge { background-position: -306px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_LineSpacing { background-position: -342px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_LineSpacingLarge { background-position: -170px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_LinkToPrevious { background-position: -36px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_LinkToPreviousLarge { background-position: -68px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ListBullets { background-position: -234px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ListBulletsLarge { background-position: -238px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ListMultilevel { background-position: -162px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ListMultilevelLarge { background-position: -408px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ListNumbers { background-position: -198px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ListNumbersLarge { background-position: -238px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_MailMerge { background-position: -378px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_MailMergeLarge { background-position: -68px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_MergeTableCells { background-position: -486px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_MergeTableCellsLarge { background-position: -306px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ModifyStyle { background-position: -126px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ModifyStyleLarge { background-position: -136px -578px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ModifyTableStyle { background-position: -72px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ModifyTableStyleLarge { background-position: -238px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_New { background-position: -180px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_NewComment { background-position: -234px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_NewCommentLarge { background-position: -170px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_NewLarge { background-position: -102px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_NewTableStyle { background-position: -328px -1122px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_NewTableStyleLarge { background-position: -476px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Next { background-position: -486px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_NextComment { background-position: -432px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_NextCommentLarge { background-position: -340px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_NextLarge { background-position: -102px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_OneColumn { background-position: -306px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Open { background-position: -468px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_OpenLarge { background-position: -408px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageColor { background-position: -486px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageColorLarge { background-position: -102px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageMargins { background-position: -378px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageMarginsLarge { background-position: -170px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageMarginsModerate { background-position: -252px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageMarginsModerateLarge { background-position: -136px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageMarginsNarrow { background-position: -450px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageMarginsNarrowLarge { background-position: -272px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageMarginsNormal { background-position: -54px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageMarginsNormalLarge { background-position: -102px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageMarginsWide { background-position: -486px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageMarginsWideLarge { background-position: -170px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageOrientation { background-position: -468px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageOrientationLandscape { background-position: -108px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageOrientationLandscapeLarge { background-position: -204px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageOrientationLarge { background-position: -374px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PageOrientationPortrait { background-position: -108px -1282px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PageOrientationPortraitLarge { background-position: -408px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PaperSize { background-position: -234px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PaperSizeLarge { background-position: -272px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Paragraph { background-position: -36px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ParagraphLarge { background-position: 0px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ParagraphStyleLarge { background-position: -68px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Paste { background-position: -508px -1122px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PasteLarge { background-position: -136px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PasteSpecial { background-position: -72px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PasteSpecialLarge { background-position: -170px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PenColor { background-position: -234px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PenColorLarge { background-position: -136px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Prev { background-position: -126px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_Preview { background-position: -360px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PreviewLarge { background-position: -204px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PreviousComment { background-position: -54px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PreviousCommentLarge { background-position: -340px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PrevLarge { background-position: -34px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Print { background-position: -342px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PrintBrowser { background-position: -144px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PrintBrowserLarge { background-position: -34px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PrintDialog { background-position: -234px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PrintDialogLarge { background-position: -374px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PrintLarge { background-position: -136px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PrintLayoutView { background-position: -54px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PrintLayoutViewLarge { background-position: -238px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_PrintPreviewBrowser { background-position: -270px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_PrintPreviewBrowserLarge { background-position: 0px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ProtectDocument { background-position: -270px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ProtectDocumentLarge { background-position: -136px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ReadingLayoutView { background-position: -198px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ReadingLayoutViewLarge { background-position: -306px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Redo { background-position: -270px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_RedoLarge { background-position: -374px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Replace { background-position: -288px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ReplaceLarge { background-position: -34px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_RestartNumberingList { background-position: -108px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_Reviewers { background-position: -144px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ReviewersLarge { background-position: -68px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ReviewingPane { background-position: -180px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ReviewingPaneLarge { background-position: -136px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_RightColumns { background-position: -34px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_RulerHorizontal { background-position: -378px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_RulerHorizontalLarge { background-position: -238px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_RulerVertical { background-position: -216px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_RulerVerticalLarge { background-position: 0px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Save { background-position: -216px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SaveAll { background-position: 0px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SaveAllLarge { background-position: -102px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SaveAs { background-position: -126px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SaveAsLarge { background-position: -408px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SaveLarge { background-position: 0px -442px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Select { background-position: -510px -1020px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SelectAll { background-position: -90px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SelectAllLarge { background-position: -272px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SelectLarge { background-position: -136px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SelectTable { background-position: -306px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SelectTableCell { background-position: -36px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SelectTableCellLarge { background-position: -238px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SelectTableColumn { background-position: -342px -1210px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SelectTableColumnLarge { background-position: -272px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SelectTableLarge { background-position: -442px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SelectTableRow { background-position: -306px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SelectTableRowLarge { background-position: -170px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Shading { background-position: -216px -1264px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ShadingLarge { background-position: -374px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ShowAllFieldCodes { background-position: -504px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ShowAllFieldCodesLarge { background-position: -34px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ShowAllFieldResults { background-position: -216px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ShowAllFieldResultsLarge { background-position: -102px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ShowComments { background-position: -18px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ShowCommentsLarge { background-position: -476px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ShowHidden { background-position: -450px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ShowHiddenLarge { background-position: -442px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SimpleView { background-position: -360px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SimpleViewLarge { background-position: -136px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SpacingDecrease { background-position: -306px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SpacingDecreaseLarge { background-position: -340px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SpellCheck { background-position: -126px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SpellCheckAsYouType { background-position: -510px -782px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SpellCheckAsYouTypeLarge { background-position: -272px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SpellCheckLarge { background-position: -476px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SplitTable { background-position: -504px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SplitTableCells { background-position: -432px -1408px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SplitTableCellsLarge { background-position: -238px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_SplitTableLarge { background-position: -102px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Strikeout { background-position: -324px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_StrikeoutDouble { background-position: -90px -1300px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_StrikeoutDoubleLarge { background-position: -238px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_StrikeoutLarge { background-position: -238px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Subscript { background-position: -270px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SubscriptLarge { background-position: -68px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Superscript { background-position: -180px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SuperscriptLarge { background-position: -476px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Symbol { background-position: -54px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_SymbolLarge { background-position: -136px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TableAutoFitContents { background-position: -378px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TableAutoFitContentsLarge { background-position: -34px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TableAutoFitWindow { background-position: -378px -1246px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TableAutoFitWindowLarge { background-position: -238px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TableCellMargins { background-position: -198px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TableCellMarginsLarge { background-position: -68px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TableFixedColumnWidth { background-position: -342px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TableFixedColumnWidthLarge { background-position: -306px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TableProperties { background-position: -270px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TablePropertiesLarge { background-position: -442px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TableStyleLarge { background-position: -170px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TextWrapBehind { background-position: -486px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TextWrapBehindLarge { background-position: 0px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TextWrapInFrontOfText { background-position: -18px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TextWrapInFrontOfTextLarge { background-position: -340px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TextWrapInline { background-position: -324px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TextWrapInlineLarge { background-position: -442px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TextWrapSquare { background-position: 0px -1372px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TextWrapSquareLarge { background-position: 0px -646px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TextWrapThrough { background-position: -510px -816px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TextWrapThroughLarge { background-position: -170px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TextWrapTight { background-position: -510px -68px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TextWrapTightLarge { background-position: -68px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TextWrapTopAndBottom { background-position: -510px -204px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_TextWrapTopAndBottomLarge { background-position: -170px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ThreeColumns { background-position: -136px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ToggleFieldCodes { background-position: -306px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ToggleFieldCodesLarge { background-position: -306px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_TwoColumns { background-position: -102px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Underline { background-position: -288px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_UnderlineDouble { background-position: -504px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_UnderlineDoubleLarge { background-position: -374px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_UnderlineLarge { background-position: -170px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_UnderlineWord { background-position: -72px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_UnderlineWordLarge { background-position: -170px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_Undo { background-position: -72px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_UndoLarge { background-position: -306px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_UnprotectDocument { background-position: -288px -1318px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_UnprotectDocumentLarge { background-position: -34px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_UpdateField { background-position: 0px -1228px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_UpdateFieldLarge { background-position: -68px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_UpdateTableOfContents { background-position: -72px -1426px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_UpdateTableOfContentsLarge { background-position: -476px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ViewMergedData { background-position: -396px -1390px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ViewMergedDataLarge { background-position: -442px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ViewTableGridlines { background-position: -306px -1192px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ViewTableGridlinesLarge { background-position: -204px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ZoomIn { background-position: -468px -1354px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ZoomInLarge { background-position: -408px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWIcons_ZoomOut { background-position: -468px -1336px; width: 16px; height: 16px } 
.dxRichEdit_GWIcons_ZoomOutLarge { background-position: -34px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AddParagraphToTableOfContents { background-position: -324px -1156px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AddParagraphToTableOfContentsLarge { background-position: -170px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignBottomCenter { background-position: -252px -1156px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignBottomCenterLarge { background-position: -34px -748px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignBottomLeft { background-position: -510px -884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignBottomLeftLarge { background-position: -136px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignBottomRight { background-position: -510px -340px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignBottomRightLarge { background-position: -476px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignCenter { background-position: -510px -1088px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignCenterLarge { background-position: 0px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomCenter { background-position: -18px -1156px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomCenterLarge { background-position: -238px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomLeft { background-position: -450px -1192px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomLeftLarge { background-position: -204px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomRight { background-position: -342px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectBottomRightLarge { background-position: -374px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenter { background-position: -18px -1192px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleCenterLarge { background-position: -340px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeft { background-position: -36px -1156px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleLeftLarge { background-position: -374px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleRight { background-position: -432px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectMiddleRightLarge { background-position: -306px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopCenter { background-position: -342px -1426px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopCenterLarge { background-position: -408px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopLeft { background-position: -414px -1192px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopLeftLarge { background-position: -374px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopRight { background-position: -414px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignFloatingObjectTopRightLarge { background-position: -204px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignJustify { background-position: -162px -1228px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignJustifyLarge { background-position: -170px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignLeft { background-position: -252px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignLeftLarge { background-position: -272px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleCenter { background-position: -36px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleCenterLarge { background-position: -272px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleLeft { background-position: -90px -1426px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleLeftLarge { background-position: -476px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleRight { background-position: -18px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignMiddleRightLarge { background-position: -272px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignRight { background-position: -288px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignRightLarge { background-position: -204px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignTopCenter { background-position: -486px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignTopCenterLarge { background-position: -238px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignTopLeft { background-position: 0px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignTopLeftLarge { background-position: -102px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignTopRight { background-position: -468px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_AlignTopRightLarge { background-position: 0px -680px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Background { background-position: -378px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BackgroundLarge { background-position: -306px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Bold { background-position: -378px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BoldLarge { background-position: -408px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Bookmark { background-position: -198px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BookmarkLarge { background-position: 0px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderAllLarge { background-position: -476px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderBottom { background-position: -108px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderBottomLarge { background-position: -374px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalDown { background-position: -450px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalDownLarge { background-position: -204px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalUp { background-position: -126px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderDiagonalUpLarge { background-position: -442px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderInsideHorizontal { background-position: -306px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderInsideHorizontalLarge { background-position: -408px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderInsideVertical { background-position: -288px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderInsideVerticalLarge { background-position: -136px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderLeft { background-position: -270px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderLeftLarge { background-position: -68px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderNone { background-position: -510px -1054px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderNoneLarge { background-position: 0px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderRight { background-position: -144px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderRightLarge { background-position: 0px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersAll { background-position: -216px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersAllLarge { background-position: 0px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersAndShading { background-position: -72px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersAndShadingLarge { background-position: -408px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersBoxLarge { background-position: -204px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersCustomLarge { background-position: -68px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersGridLarge { background-position: -204px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersInside { background-position: -450px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersInsideLarge { background-position: -442px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersNoneLarge { background-position: -374px -306px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersOutside { background-position: -432px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BordersOutsideLarge { background-position: -340px -306px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderTop { background-position: -468px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_BorderTopLarge { background-position: -170px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ChangeFontStyle { background-position: -432px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ChangeFontStyleLarge { background-position: -204px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ChangeTextCase { background-position: -216px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ChangeTextCaseLarge { background-position: -102px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ClearFormatting { background-position: -54px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ClearFormattingLarge { background-position: -476px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ClearTableStyle { background-position: -234px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ClearTableStyleLarge { background-position: -340px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_CloseHeaderAndFooter { background-position: -220px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_CloseHeaderAndFooterLarge { background-position: -306px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Columns { background-position: -180px -1318px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsLarge { background-position: -136px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsLeft { background-position: -252px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsLeftLarge { background-position: -238px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsOne { background-position: -360px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsOneLarge { background-position: -272px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsRight { background-position: -216px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsRightLarge { background-position: -340px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsThree { background-position: -90px -1318px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsThreeLarge { background-position: -306px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsTwo { background-position: -90px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ColumnsTwoLarge { background-position: -68px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Copy { background-position: -198px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_CopyLarge { background-position: -34px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Cut { background-position: -432px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_CutLarge { background-position: 0px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Delete { background-position: -198px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_Delete_Hyperlink { background-position: -216px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_Delete_HyperlinkLarge { background-position: -34px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteComment { background-position: -342px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteCommentLarge { background-position: -170px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteLarge { background-position: -136px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTable { background-position: -36px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTableCells { background-position: -108px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTableCellsLarge { background-position: -408px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTableColumns { background-position: -342px -1318px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTableColumnsLarge { background-position: -374px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTableLarge { background-position: -306px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTableRows { background-position: -162px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DeleteTableRowsLarge { background-position: -340px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DifferentFirstPage { background-position: -144px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DifferentFirstPageLarge { background-position: -170px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DifferentOddEvenPages { background-position: -72px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DifferentOddEvenPagesLarge { background-position: -102px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_DraftView { background-position: -360px -1426px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_DraftViewLarge { background-position: -476px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_EditRangePermission { background-position: -450px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_EditRangePermissionLarge { background-position: -476px -680px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Find { background-position: -378px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FindLarge { background-position: -68px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_First { background-position: -472px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FirstLarge { background-position: -476px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectAlignment { background-position: -234px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectAlignmentLarge { background-position: -442px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringForward { background-position: -270px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringForwardLarge { background-position: -238px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfText { background-position: -144px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringInFrontOfTextLarge { background-position: -68px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFront { background-position: -162px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFrontLarge { background-position: -306px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfText { background-position: -144px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectBringToFrontOfTextLarge { background-position: -374px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectFillColor { background-position: -288px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectFillColorLarge { background-position: -102px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectLayoutOptions { background-position: -270px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectLayoutOptionsLarge { background-position: -68px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectOutlineColor { background-position: 0px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectOutlineColorLarge { background-position: -374px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBackward { background-position: -360px -1300px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBackwardLarge { background-position: -68px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBehindText { background-position: -396px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendBehindTextLarge { background-position: -340px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendToBack { background-position: -396px -1318px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectSendToBackLarge { background-position: -68px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectTextWrapType { background-position: -72px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FloatingObjectTextWrapTypeLarge { background-position: -102px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Font { background-position: -510px -850px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontColor { background-position: -468px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontColorLarge { background-position: -272px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontLarge { background-position: -34px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontSize { background-position: -396px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontSizeDecrease { background-position: -72px -1300px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontSizeDecreaseLarge { background-position: -374px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontSizeIncrease { background-position: -306px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontSizeIncreaseLarge { background-position: -340px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FontSizeLarge { background-position: -306px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Footer { background-position: -54px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FooterLarge { background-position: -374px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_FullScreen { background-position: -432px -1228px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_FullScreenLarge { background-position: -170px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToFooter { background-position: -324px -1426px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToFooterLarge { background-position: -68px -306px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToHeader { background-position: -256px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToHeaderLarge { background-position: -204px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToNextHeaderFooter { background-position: -234px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToNextHeaderFooterLarge { background-position: -170px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToPreviousHeaderFooter { background-position: -450px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_GoToPreviousHeaderFooterLarge { background-position: -272px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Header { background-position: -144px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_HeaderLarge { background-position: -204px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_HiddenText { background-position: -144px -1300px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_HiddenTextLarge { background-position: -238px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Highlight { background-position: -126px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_HighlightLarge { background-position: -442px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Hyperlink { background-position: -94px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_HyperlinkLarge { background-position: -272px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ImagePlaceHolder { background-position: -34px -1122px; width: 28px; height: 28px } 
.dxr-itemHover .dxRichEdit_GWIcons_IndentDecrease { background-position: -112px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_IndentDecreaseLarge { background-position: -170px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_IndentIncrease { background-position: -238px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_IndentIncreaseLarge { background-position: -204px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertCaption { background-position: -510px -986px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertCaptionLarge { background-position: -136px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertColumnBreak { background-position: -510px -442px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertColumnBreakLarge { background-position: 0px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertDataField { background-position: -108px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertDataFieldLarge { background-position: -340px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertEquationCaption { background-position: -72px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertEquationCaptionLarge { background-position: -136px -306px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertFigureCaption { background-position: -360px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertFigureCaptionLarge { background-position: -442px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertFloatingObjectImage { background-position: -108px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertFloatingObjectImageLarge { background-position: -476px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertImage { background-position: -126px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertImageLarge { background-position: -68px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertPageBreak { background-position: -364px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertPageBreakLarge { background-position: -34px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertPageCount { background-position: -274px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertPageCountLarge { background-position: -340px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertPageNumber { background-position: -288px -1426px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertPageNumberLarge { background-position: -34px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakContinuous { background-position: -18px -1228px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakContinuousLarge { background-position: -306px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakEvenPage { background-position: -108px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakEvenPageLarge { background-position: -306px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakNextPage { background-position: -414px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakNextPageLarge { background-position: -272px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakOddPage { background-position: -414px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertSectionBreakOddPageLarge { background-position: -442px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTable { background-position: -252px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableCaption { background-position: -382px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableCaptionLarge { background-position: 0px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableCells { background-position: -418px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableCellsLarge { background-position: -136px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheLeft { background-position: -346px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheLeftLarge { background-position: -170px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheRight { background-position: -288px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableColumnsToTheRightLarge { background-position: -408px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableLarge { background-position: -272px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfCaptions { background-position: -396px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfCaptionsLarge { background-position: -442px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfContents { background-position: -468px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfContentsLarge { background-position: -68px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfEquations { background-position: -504px -1228px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfEquationsLarge { background-position: -170px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfFigures { background-position: -162px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableOfFiguresLarge { background-position: -476px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsAbove { background-position: -510px -646px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsAboveLarge { background-position: -170px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsBelow { background-position: -510px -102px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTableRowsBelowLarge { background-position: -170px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTextBox { background-position: -490px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_InsertTextBoxLarge { background-position: 0px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Italic { background-position: -396px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ItalicLarge { background-position: -102px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Language { background-position: -306px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_LanguageLarge { background-position: -442px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Last { background-position: -436px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_LastLarge { background-position: -238px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_LeftColumns { background-position: -272px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_LineNumbering { background-position: -400px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_LineNumberingLarge { background-position: -476px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_LineSpacing { background-position: -270px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_LineSpacingLarge { background-position: -306px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_LinkToPrevious { background-position: -396px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_LinkToPreviousLarge { background-position: -340px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ListBullets { background-position: -414px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ListBulletsLarge { background-position: -272px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ListMultilevel { background-position: 0px -1318px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ListMultilevelLarge { background-position: -340px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ListNumbers { background-position: -360px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ListNumbersLarge { background-position: -306px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_MailMerge { background-position: -126px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_MailMergeLarge { background-position: -408px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_MergeTableCells { background-position: -324px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_MergeTableCellsLarge { background-position: 0px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ModifyStyle { background-position: -270px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ModifyStyleLarge { background-position: -442px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ModifyTableStyle { background-position: -252px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ModifyTableStyleLarge { background-position: -408px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_New { background-position: -252px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_NewComment { background-position: -144px -1426px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_NewCommentLarge { background-position: -442px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_NewLarge { background-position: -306px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_NewTableStyle { background-position: -184px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_NewTableStyleLarge { background-position: -374px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Next { background-position: -306px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_NextComment { background-position: -450px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_NextCommentLarge { background-position: -272px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_NextLarge { background-position: -204px -306px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_OneColumn { background-position: -204px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Open { background-position: -234px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_OpenLarge { background-position: -238px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageColor { background-position: -306px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageColorLarge { background-position: -340px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMargins { background-position: -510px -578px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsLarge { background-position: -374px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsModerate { background-position: -288px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsModerateLarge { background-position: -34px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNarrow { background-position: -378px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNarrowLarge { background-position: -238px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNormal { background-position: -166px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsNormalLarge { background-position: -204px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsWide { background-position: -510px -714px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageMarginsWideLarge { background-position: -408px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageOrientation { background-position: -36px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageOrientationLandscape { background-position: -54px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageOrientationLandscapeLarge { background-position: -238px -748px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageOrientationLarge { background-position: -238px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageOrientationPortrait { background-position: -324px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PageOrientationPortraitLarge { background-position: -476px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PaperSize { background-position: -180px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PaperSizeLarge { background-position: -476px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Paragraph { background-position: -510px -510px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ParagraphLarge { background-position: 0px -748px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Paste { background-position: -148px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PasteLarge { background-position: -34px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PasteSpecial { background-position: -510px -170px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PasteSpecialLarge { background-position: 0px -1122px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PenColor { background-position: -202px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PenColorLarge { background-position: -408px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Prev { background-position: -292px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_Preview { background-position: -130px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PreviewLarge { background-position: -442px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PreviousComment { background-position: -510px -238px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PreviousCommentLarge { background-position: -204px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrevLarge { background-position: -68px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Print { background-position: -454px -1122px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintBrowser { background-position: -510px -34px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintBrowserLarge { background-position: -170px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintDialog { background-position: -510px -306px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintDialogLarge { background-position: -442px -680px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintLarge { background-position: -170px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintLayoutView { background-position: -198px -1318px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintLayoutViewLarge { background-position: -340px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintPreviewBrowser { background-position: -36px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_PrintPreviewBrowserLarge { background-position: -442px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ProtectDocument { background-position: -360px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ProtectDocumentLarge { background-position: -272px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ReadingLayoutView { background-position: -414px -1300px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ReadingLayoutViewLarge { background-position: -34px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Redo { background-position: -162px -1300px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_RedoLarge { background-position: -374px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Replace { background-position: -180px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ReplaceLarge { background-position: -374px -680px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Reviewers { background-position: -396px -1228px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ReviewersLarge { background-position: -476px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ReviewingPane { background-position: -306px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ReviewingPaneLarge { background-position: -272px -680px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_RightColumns { background-position: -136px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_RulerHorizontal { background-position: -162px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_RulerHorizontalLarge { background-position: -442px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_RulerVertical { background-position: -432px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_RulerVerticalLarge { background-position: -238px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Save { background-position: -54px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SaveAll { background-position: -450px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SaveAllLarge { background-position: -102px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SaveAs { background-position: -18px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SaveAsLarge { background-position: -204px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SaveLarge { background-position: -272px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Select { background-position: -378px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectAll { background-position: -270px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectAllLarge { background-position: -476px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectLarge { background-position: -272px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTable { background-position: -306px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTableCell { background-position: -414px -1228px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTableCellLarge { background-position: 0px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTableColumn { background-position: -252px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTableColumnLarge { background-position: -204px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTableLarge { background-position: -238px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTableRow { background-position: -396px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SelectTableRowLarge { background-position: -306px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Shading { background-position: -18px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShadingLarge { background-position: -68px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldCodes { background-position: -90px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldCodesLarge { background-position: -68px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldResults { background-position: -288px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowAllFieldResultsLarge { background-position: -102px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowComments { background-position: -36px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowCommentsLarge { background-position: -374px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowHidden { background-position: -450px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ShowHiddenLarge { background-position: -170px -204px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SimpleView { background-position: -18px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SimpleViewLarge { background-position: -102px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SpacingDecrease { background-position: -504px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SpacingDecreaseLarge { background-position: -442px -204px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SpellCheck { background-position: -252px -1408px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SpellCheckAsYouType { background-position: -90px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SpellCheckAsYouTypeLarge { background-position: -408px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SpellCheckLarge { background-position: -340px -748px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SplitTable { background-position: -36px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SplitTableCells { background-position: -180px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SplitTableCellsLarge { background-position: -476px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_SplitTableLarge { background-position: -306px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Strikeout { background-position: -360px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_StrikeoutDouble { background-position: -180px -1426px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_StrikeoutDoubleLarge { background-position: -136px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_StrikeoutLarge { background-position: -408px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Subscript { background-position: -414px -1336px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SubscriptLarge { background-position: -340px -680px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Superscript { background-position: -90px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SuperscriptLarge { background-position: -340px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Symbol { background-position: -432px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_SymbolLarge { background-position: 0px 0px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitContents { background-position: -414px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitContentsLarge { background-position: -340px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitWindow { background-position: -180px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableAutoFitWindowLarge { background-position: -272px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableCellMargins { background-position: -306px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableCellMarginsLarge { background-position: -34px -204px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableFixedColumnWidth { background-position: -378px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableFixedColumnWidthLarge { background-position: -340px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TableProperties { background-position: -432px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TablePropertiesLarge { background-position: -442px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapBehind { background-position: -288px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapBehindLarge { background-position: -408px -136px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapInFrontOfText { background-position: -510px -544px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapInFrontOfTextLarge { background-position: -476px -68px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapInline { background-position: -396px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapInlineLarge { background-position: 0px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapSquare { background-position: -360px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapSquareLarge { background-position: -272px -136px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapThrough { background-position: -504px -1390px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapThroughLarge { background-position: -306px -136px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapTight { background-position: -18px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapTightLarge { background-position: -340px -136px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapTopAndBottom { background-position: -108px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_TextWrapTopAndBottomLarge { background-position: -204px -68px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ThreeColumns { background-position: -374px -136px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ToggleFieldCodes { background-position: -360px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ToggleFieldCodesLarge { background-position: -442px -136px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_TwoColumns { background-position: 0px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Underline { background-position: -126px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_UnderlineDouble { background-position: -252px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_UnderlineDoubleLarge { background-position: -306px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_UnderlineLarge { background-position: -238px -204px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_UnderlineWord { background-position: -36px -1228px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_UnderlineWordLarge { background-position: -272px -204px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_Undo { background-position: -162px -1282px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_UndoLarge { background-position: -306px -204px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_UnprotectDocument { background-position: -108px -1264px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_UnprotectDocumentLarge { background-position: -34px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_UpdateField { background-position: -288px -1354px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_UpdateFieldLarge { background-position: -238px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_UpdateTableOfContents { background-position: 0px -1300px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_UpdateTableOfContentsLarge { background-position: -102px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ViewMergedData { background-position: -342px -1246px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ViewMergedDataLarge { background-position: -34px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ViewTableGridlines { background-position: -54px -1210px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ViewTableGridlinesLarge { background-position: -34px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ZoomIn { background-position: -90px -1174px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ZoomInLarge { background-position: -442px -68px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWIcons_ZoomOut { background-position: -162px -1372px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWIcons_ZoomOutLarge { background-position: -408px -68px; width: 32px; height: 32px } 
        
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignBottomCenter, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignBottomLeft, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignBottomRight, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignMiddleCenter, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignMiddleLeft, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignMiddleRight, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignTopCenter, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignTopLeft, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignTopRight, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Bookmark, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderBottom, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderInsideHorizontal, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderInsideVertical, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderLeft, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderRight, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersAll, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersBox, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersCustom, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersGrid, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersNone, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderTop, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ContinueNumberingList, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Copy, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Cut, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Delete_Hyperlink, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringForward, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringToFront, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectLayoutOptions, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectSendBackward, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectSendBehindText, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectSendToBack, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Font, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Hyperlink, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_IndentDecrease, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_IndentIncrease, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableCells, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableColumnsToTheRight, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableRowsAbove, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableRowsBelow, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_LeftColumns, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ListBullets, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_MergeTableCells, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_OneColumn, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Paragraph, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Paste, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_RestartNumberingList, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_RightColumns, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_SelectAll, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_SpellCheck, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_SplitTableCells, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableAutoFitContents, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableAutoFitWindow, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableFixedColumnWidth, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableProperties, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapBehind, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapBehindLarge, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInFrontOfText, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInline, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInlineLarge, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapSquare, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapSquareLarge, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapThrough, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapThroughLarge, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTight, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTightLarge, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTopAndBottom, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ThreeColumns, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ToggleFieldCodes, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TwoColumns, .dxm-main .dxm-hovered .dxRichEdit_GWTIcons_UpdateField, .dxRichEdit_GWTIcons_AddParagraphToTableOfContents, .dxRichEdit_GWTIcons_AddParagraphToTableOfContentsLarge, .dxRichEdit_GWTIcons_AlignBottomCenter, .dxRichEdit_GWTIcons_AlignBottomCenterLarge, .dxRichEdit_GWTIcons_AlignBottomLeft, .dxRichEdit_GWTIcons_AlignBottomLeftLarge, .dxRichEdit_GWTIcons_AlignBottomRight, .dxRichEdit_GWTIcons_AlignBottomRightLarge, .dxRichEdit_GWTIcons_AlignCenter, .dxRichEdit_GWTIcons_AlignCenterLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenter, .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenterLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeft, .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeftLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRight, .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRightLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenter, .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenterLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeft, .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeftLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRight, .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRightLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenter, .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenterLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeft, .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeftLarge, .dxRichEdit_GWTIcons_AlignFloatingObjectTopRight, .dxRichEdit_GWTIcons_AlignFloatingObjectTopRightLarge, .dxRichEdit_GWTIcons_AlignJustify, .dxRichEdit_GWTIcons_AlignJustifyLarge, .dxRichEdit_GWTIcons_AlignLeft, .dxRichEdit_GWTIcons_AlignLeftLarge, .dxRichEdit_GWTIcons_AlignMiddleCenter, .dxRichEdit_GWTIcons_AlignMiddleCenterLarge, .dxRichEdit_GWTIcons_AlignMiddleLeft, .dxRichEdit_GWTIcons_AlignMiddleLeftLarge, .dxRichEdit_GWTIcons_AlignMiddleRight, .dxRichEdit_GWTIcons_AlignMiddleRightLarge, .dxRichEdit_GWTIcons_AlignRight, .dxRichEdit_GWTIcons_AlignRightLarge, .dxRichEdit_GWTIcons_AlignTopCenter, .dxRichEdit_GWTIcons_AlignTopCenterLarge, .dxRichEdit_GWTIcons_AlignTopLeft, .dxRichEdit_GWTIcons_AlignTopLeftLarge, .dxRichEdit_GWTIcons_AlignTopRight, .dxRichEdit_GWTIcons_AlignTopRightLarge, .dxRichEdit_GWTIcons_Background, .dxRichEdit_GWTIcons_BackgroundLarge, .dxRichEdit_GWTIcons_Bold, .dxRichEdit_GWTIcons_BoldLarge, .dxRichEdit_GWTIcons_Bookmark, .dxRichEdit_GWTIcons_BookmarkLarge, .dxRichEdit_GWTIcons_BorderAllLarge, .dxRichEdit_GWTIcons_BorderBottom, .dxRichEdit_GWTIcons_BorderBottomLarge, .dxRichEdit_GWTIcons_BorderDiagonalDown, .dxRichEdit_GWTIcons_BorderDiagonalDownLarge, .dxRichEdit_GWTIcons_BorderDiagonalUp, .dxRichEdit_GWTIcons_BorderDiagonalUpLarge, .dxRichEdit_GWTIcons_BorderInsideHorizontal, .dxRichEdit_GWTIcons_BorderInsideHorizontalLarge, .dxRichEdit_GWTIcons_BorderInsideVertical, .dxRichEdit_GWTIcons_BorderInsideVerticalLarge, .dxRichEdit_GWTIcons_BorderLeft, .dxRichEdit_GWTIcons_BorderLeftLarge, .dxRichEdit_GWTIcons_BorderNone, .dxRichEdit_GWTIcons_BorderNoneLarge, .dxRichEdit_GWTIcons_BorderRight, .dxRichEdit_GWTIcons_BorderRightLarge, .dxRichEdit_GWTIcons_BordersAll, .dxRichEdit_GWTIcons_BordersAllLarge, .dxRichEdit_GWTIcons_BordersAndShading, .dxRichEdit_GWTIcons_BordersAndShadingLarge, .dxRichEdit_GWTIcons_BordersBox, .dxRichEdit_GWTIcons_BordersBoxLarge, .dxRichEdit_GWTIcons_BordersCustom, .dxRichEdit_GWTIcons_BordersCustomLarge, .dxRichEdit_GWTIcons_BordersGrid, .dxRichEdit_GWTIcons_BordersGridLarge, .dxRichEdit_GWTIcons_BordersInside, .dxRichEdit_GWTIcons_BordersInsideLarge, .dxRichEdit_GWTIcons_BordersNone, .dxRichEdit_GWTIcons_BordersNoneLarge, .dxRichEdit_GWTIcons_BordersOutside, .dxRichEdit_GWTIcons_BordersOutsideLarge, .dxRichEdit_GWTIcons_BorderTop, .dxRichEdit_GWTIcons_BorderTopLarge, .dxRichEdit_GWTIcons_ChangeFontStyle, .dxRichEdit_GWTIcons_ChangeFontStyleLarge, .dxRichEdit_GWTIcons_ChangeTextCase, .dxRichEdit_GWTIcons_ChangeTextCaseLarge, .dxRichEdit_GWTIcons_CharacterStyleLarge, .dxRichEdit_GWTIcons_ClearFormatting, .dxRichEdit_GWTIcons_ClearFormattingLarge, .dxRichEdit_GWTIcons_ClearTableStyle, .dxRichEdit_GWTIcons_ClearTableStyleLarge, .dxRichEdit_GWTIcons_CloseHeaderAndFooter, .dxRichEdit_GWTIcons_CloseHeaderAndFooterLarge, .dxRichEdit_GWTIcons_Columns, .dxRichEdit_GWTIcons_ColumnsLarge, .dxRichEdit_GWTIcons_ColumnsLeft, .dxRichEdit_GWTIcons_ColumnsLeftLarge, .dxRichEdit_GWTIcons_ColumnsOne, .dxRichEdit_GWTIcons_ColumnsOneLarge, .dxRichEdit_GWTIcons_ColumnsRight, .dxRichEdit_GWTIcons_ColumnsRightLarge, .dxRichEdit_GWTIcons_ColumnsThree, .dxRichEdit_GWTIcons_ColumnsThreeLarge, .dxRichEdit_GWTIcons_ColumnsTwo, .dxRichEdit_GWTIcons_ColumnsTwoLarge, .dxRichEdit_GWTIcons_ContinueNumberingList, .dxRichEdit_GWTIcons_Copy, .dxRichEdit_GWTIcons_CopyLarge, .dxRichEdit_GWTIcons_Cut, .dxRichEdit_GWTIcons_CutLarge, .dxRichEdit_GWTIcons_Delete, .dxRichEdit_GWTIcons_Delete_Hyperlink, .dxRichEdit_GWTIcons_Delete_HyperlinkLarge, .dxRichEdit_GWTIcons_DeleteComment, .dxRichEdit_GWTIcons_DeleteCommentLarge, .dxRichEdit_GWTIcons_DeleteLarge, .dxRichEdit_GWTIcons_DeleteTable, .dxRichEdit_GWTIcons_DeleteTableCells, .dxRichEdit_GWTIcons_DeleteTableCellsLarge, .dxRichEdit_GWTIcons_DeleteTableColumns, .dxRichEdit_GWTIcons_DeleteTableColumnsLarge, .dxRichEdit_GWTIcons_DeleteTableLarge, .dxRichEdit_GWTIcons_DeleteTableRows, .dxRichEdit_GWTIcons_DeleteTableRowsLarge, .dxRichEdit_GWTIcons_DifferentFirstPage, .dxRichEdit_GWTIcons_DifferentFirstPageLarge, .dxRichEdit_GWTIcons_DifferentOddEvenPages, .dxRichEdit_GWTIcons_DifferentOddEvenPagesLarge, .dxRichEdit_GWTIcons_DraftView, .dxRichEdit_GWTIcons_DraftViewLarge, .dxRichEdit_GWTIcons_EditRangePermission, .dxRichEdit_GWTIcons_EditRangePermissionLarge, .dxRichEdit_GWTIcons_Find, .dxRichEdit_GWTIcons_FindLarge, .dxRichEdit_GWTIcons_First, .dxRichEdit_GWTIcons_FirstLarge, .dxRichEdit_GWTIcons_FloatingObjectAlignment, .dxRichEdit_GWTIcons_FloatingObjectAlignmentLarge, .dxRichEdit_GWTIcons_FloatingObjectBringForward, .dxRichEdit_GWTIcons_FloatingObjectBringForwardLarge, .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText, .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfTextLarge, .dxRichEdit_GWTIcons_FloatingObjectBringToFront, .dxRichEdit_GWTIcons_FloatingObjectBringToFrontLarge, .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText, .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfTextLarge, .dxRichEdit_GWTIcons_FloatingObjectFillColor, .dxRichEdit_GWTIcons_FloatingObjectFillColorLarge, .dxRichEdit_GWTIcons_FloatingObjectLayoutOptions, .dxRichEdit_GWTIcons_FloatingObjectLayoutOptionsLarge, .dxRichEdit_GWTIcons_FloatingObjectOutlineColor, .dxRichEdit_GWTIcons_FloatingObjectOutlineColorLarge, .dxRichEdit_GWTIcons_FloatingObjectSendBackward, .dxRichEdit_GWTIcons_FloatingObjectSendBackwardLarge, .dxRichEdit_GWTIcons_FloatingObjectSendBehindText, .dxRichEdit_GWTIcons_FloatingObjectSendBehindTextLarge, .dxRichEdit_GWTIcons_FloatingObjectSendToBack, .dxRichEdit_GWTIcons_FloatingObjectSendToBackLarge, .dxRichEdit_GWTIcons_FloatingObjectTextWrapType, .dxRichEdit_GWTIcons_FloatingObjectTextWrapTypeLarge, .dxRichEdit_GWTIcons_Font, .dxRichEdit_GWTIcons_FontColor, .dxRichEdit_GWTIcons_FontColorLarge, .dxRichEdit_GWTIcons_FontLarge, .dxRichEdit_GWTIcons_FontSize, .dxRichEdit_GWTIcons_FontSizeDecrease, .dxRichEdit_GWTIcons_FontSizeDecreaseLarge, .dxRichEdit_GWTIcons_FontSizeIncrease, .dxRichEdit_GWTIcons_FontSizeIncreaseLarge, .dxRichEdit_GWTIcons_FontSizeLarge, .dxRichEdit_GWTIcons_Footer, .dxRichEdit_GWTIcons_FooterLarge, .dxRichEdit_GWTIcons_FullScreen, .dxRichEdit_GWTIcons_FullScreenLarge, .dxRichEdit_GWTIcons_GoToFooter, .dxRichEdit_GWTIcons_GoToFooterLarge, .dxRichEdit_GWTIcons_GoToHeader, .dxRichEdit_GWTIcons_GoToHeaderLarge, .dxRichEdit_GWTIcons_GoToNextHeaderFooter, .dxRichEdit_GWTIcons_GoToNextHeaderFooterLarge, .dxRichEdit_GWTIcons_GoToPreviousHeaderFooter, .dxRichEdit_GWTIcons_GoToPreviousHeaderFooterLarge, .dxRichEdit_GWTIcons_Header, .dxRichEdit_GWTIcons_HeaderLarge, .dxRichEdit_GWTIcons_HiddenText, .dxRichEdit_GWTIcons_HiddenTextLarge, .dxRichEdit_GWTIcons_Highlight, .dxRichEdit_GWTIcons_HighlightLarge, .dxRichEdit_GWTIcons_Hyperlink, .dxRichEdit_GWTIcons_HyperlinkLarge, .dxRichEdit_GWTIcons_ImagePlaceHolder, .dxRichEdit_GWTIcons_IndentDecrease, .dxRichEdit_GWTIcons_IndentDecreaseLarge, .dxRichEdit_GWTIcons_IndentIncrease, .dxRichEdit_GWTIcons_IndentIncreaseLarge, .dxRichEdit_GWTIcons_InsertCaption, .dxRichEdit_GWTIcons_InsertCaptionLarge, .dxRichEdit_GWTIcons_InsertColumnBreak, .dxRichEdit_GWTIcons_InsertColumnBreakLarge, .dxRichEdit_GWTIcons_InsertDataField, .dxRichEdit_GWTIcons_InsertDataFieldLarge, .dxRichEdit_GWTIcons_InsertEquationCaption, .dxRichEdit_GWTIcons_InsertEquationCaptionLarge, .dxRichEdit_GWTIcons_InsertFigureCaption, .dxRichEdit_GWTIcons_InsertFigureCaptionLarge, .dxRichEdit_GWTIcons_InsertFloatingObjectImage, .dxRichEdit_GWTIcons_InsertFloatingObjectImageLarge, .dxRichEdit_GWTIcons_InsertImage, .dxRichEdit_GWTIcons_InsertImageLarge, .dxRichEdit_GWTIcons_InsertPageBreak, .dxRichEdit_GWTIcons_InsertPageBreakLarge, .dxRichEdit_GWTIcons_InsertPageCount, .dxRichEdit_GWTIcons_InsertPageCountLarge, .dxRichEdit_GWTIcons_InsertPageNumber, .dxRichEdit_GWTIcons_InsertPageNumberLarge, .dxRichEdit_GWTIcons_InsertSectionBreakContinuous, .dxRichEdit_GWTIcons_InsertSectionBreakContinuousLarge, .dxRichEdit_GWTIcons_InsertSectionBreakEvenPage, .dxRichEdit_GWTIcons_InsertSectionBreakEvenPageLarge, .dxRichEdit_GWTIcons_InsertSectionBreakNextPage, .dxRichEdit_GWTIcons_InsertSectionBreakNextPageLarge, .dxRichEdit_GWTIcons_InsertSectionBreakOddPage, .dxRichEdit_GWTIcons_InsertSectionBreakOddPageLarge, .dxRichEdit_GWTIcons_InsertTable, .dxRichEdit_GWTIcons_InsertTableCaption, .dxRichEdit_GWTIcons_InsertTableCaptionLarge, .dxRichEdit_GWTIcons_InsertTableCells, .dxRichEdit_GWTIcons_InsertTableCellsLarge, .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft, .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeftLarge, .dxRichEdit_GWTIcons_InsertTableColumnsToTheRight, .dxRichEdit_GWTIcons_InsertTableColumnsToTheRightLarge, .dxRichEdit_GWTIcons_InsertTableLarge, .dxRichEdit_GWTIcons_InsertTableOfCaptions, .dxRichEdit_GWTIcons_InsertTableOfCaptionsLarge, .dxRichEdit_GWTIcons_InsertTableOfContents, .dxRichEdit_GWTIcons_InsertTableOfContentsLarge, .dxRichEdit_GWTIcons_InsertTableOfEquations, .dxRichEdit_GWTIcons_InsertTableOfEquationsLarge, .dxRichEdit_GWTIcons_InsertTableOfFigures, .dxRichEdit_GWTIcons_InsertTableOfFiguresLarge, .dxRichEdit_GWTIcons_InsertTableRowsAbove, .dxRichEdit_GWTIcons_InsertTableRowsAboveLarge, .dxRichEdit_GWTIcons_InsertTableRowsBelow, .dxRichEdit_GWTIcons_InsertTableRowsBelowLarge, .dxRichEdit_GWTIcons_InsertTextBox, .dxRichEdit_GWTIcons_InsertTextBoxLarge, .dxRichEdit_GWTIcons_Italic, .dxRichEdit_GWTIcons_ItalicLarge, .dxRichEdit_GWTIcons_Language, .dxRichEdit_GWTIcons_LanguageLarge, .dxRichEdit_GWTIcons_Last, .dxRichEdit_GWTIcons_LastLarge, .dxRichEdit_GWTIcons_LeftColumns, .dxRichEdit_GWTIcons_LineNumbering, .dxRichEdit_GWTIcons_LineNumberingLarge, .dxRichEdit_GWTIcons_LineSpacing, .dxRichEdit_GWTIcons_LineSpacingLarge, .dxRichEdit_GWTIcons_LinkToPrevious, .dxRichEdit_GWTIcons_LinkToPreviousLarge, .dxRichEdit_GWTIcons_ListBullets, .dxRichEdit_GWTIcons_ListBulletsLarge, .dxRichEdit_GWTIcons_ListMultilevel, .dxRichEdit_GWTIcons_ListMultilevelLarge, .dxRichEdit_GWTIcons_ListNumbers, .dxRichEdit_GWTIcons_ListNumbersLarge, .dxRichEdit_GWTIcons_MailMerge, .dxRichEdit_GWTIcons_MailMergeLarge, .dxRichEdit_GWTIcons_MergeTableCells, .dxRichEdit_GWTIcons_MergeTableCellsLarge, .dxRichEdit_GWTIcons_ModifyStyle, .dxRichEdit_GWTIcons_ModifyStyleLarge, .dxRichEdit_GWTIcons_ModifyTableStyle, .dxRichEdit_GWTIcons_ModifyTableStyleLarge, .dxRichEdit_GWTIcons_New, .dxRichEdit_GWTIcons_NewComment, .dxRichEdit_GWTIcons_NewCommentLarge, .dxRichEdit_GWTIcons_NewLarge, .dxRichEdit_GWTIcons_NewTableStyle, .dxRichEdit_GWTIcons_NewTableStyleLarge, .dxRichEdit_GWTIcons_Next, .dxRichEdit_GWTIcons_NextComment, .dxRichEdit_GWTIcons_NextCommentLarge, .dxRichEdit_GWTIcons_NextLarge, .dxRichEdit_GWTIcons_OneColumn, .dxRichEdit_GWTIcons_Open, .dxRichEdit_GWTIcons_OpenLarge, .dxRichEdit_GWTIcons_PageColor, .dxRichEdit_GWTIcons_PageColorLarge, .dxRichEdit_GWTIcons_PageMargins, .dxRichEdit_GWTIcons_PageMarginsLarge, .dxRichEdit_GWTIcons_PageMarginsModerate, .dxRichEdit_GWTIcons_PageMarginsModerateLarge, .dxRichEdit_GWTIcons_PageMarginsNarrow, .dxRichEdit_GWTIcons_PageMarginsNarrowLarge, .dxRichEdit_GWTIcons_PageMarginsNormal, .dxRichEdit_GWTIcons_PageMarginsNormalLarge, .dxRichEdit_GWTIcons_PageMarginsWide, .dxRichEdit_GWTIcons_PageMarginsWideLarge, .dxRichEdit_GWTIcons_PageOrientation, .dxRichEdit_GWTIcons_PageOrientationLandscape, .dxRichEdit_GWTIcons_PageOrientationLandscapeLarge, .dxRichEdit_GWTIcons_PageOrientationLarge, .dxRichEdit_GWTIcons_PageOrientationPortrait, .dxRichEdit_GWTIcons_PageOrientationPortraitLarge, .dxRichEdit_GWTIcons_PaperSize, .dxRichEdit_GWTIcons_PaperSizeLarge, .dxRichEdit_GWTIcons_Paragraph, .dxRichEdit_GWTIcons_ParagraphLarge, .dxRichEdit_GWTIcons_ParagraphStyleLarge, .dxRichEdit_GWTIcons_Paste, .dxRichEdit_GWTIcons_PasteLarge, .dxRichEdit_GWTIcons_PasteSpecial, .dxRichEdit_GWTIcons_PasteSpecialLarge, .dxRichEdit_GWTIcons_PenColor, .dxRichEdit_GWTIcons_PenColorLarge, .dxRichEdit_GWTIcons_Prev, .dxRichEdit_GWTIcons_Preview, .dxRichEdit_GWTIcons_PreviewLarge, .dxRichEdit_GWTIcons_PreviousComment, .dxRichEdit_GWTIcons_PreviousCommentLarge, .dxRichEdit_GWTIcons_PrevLarge, .dxRichEdit_GWTIcons_Print, .dxRichEdit_GWTIcons_PrintBrowser, .dxRichEdit_GWTIcons_PrintBrowserLarge, .dxRichEdit_GWTIcons_PrintDialog, .dxRichEdit_GWTIcons_PrintDialogLarge, .dxRichEdit_GWTIcons_PrintLarge, .dxRichEdit_GWTIcons_PrintLayoutView, .dxRichEdit_GWTIcons_PrintLayoutViewLarge, .dxRichEdit_GWTIcons_PrintPreviewBrowser, .dxRichEdit_GWTIcons_PrintPreviewBrowserLarge, .dxRichEdit_GWTIcons_ProtectDocument, .dxRichEdit_GWTIcons_ProtectDocumentLarge, .dxRichEdit_GWTIcons_ReadingLayoutView, .dxRichEdit_GWTIcons_ReadingLayoutViewLarge, .dxRichEdit_GWTIcons_Redo, .dxRichEdit_GWTIcons_RedoLarge, .dxRichEdit_GWTIcons_Replace, .dxRichEdit_GWTIcons_ReplaceLarge, .dxRichEdit_GWTIcons_RestartNumberingList, .dxRichEdit_GWTIcons_Reviewers, .dxRichEdit_GWTIcons_ReviewersLarge, .dxRichEdit_GWTIcons_ReviewingPane, .dxRichEdit_GWTIcons_ReviewingPaneLarge, .dxRichEdit_GWTIcons_RightColumns, .dxRichEdit_GWTIcons_RulerHorizontal, .dxRichEdit_GWTIcons_RulerHorizontalLarge, .dxRichEdit_GWTIcons_RulerVertical, .dxRichEdit_GWTIcons_RulerVerticalLarge, .dxRichEdit_GWTIcons_Save, .dxRichEdit_GWTIcons_SaveAll, .dxRichEdit_GWTIcons_SaveAllLarge, .dxRichEdit_GWTIcons_SaveAs, .dxRichEdit_GWTIcons_SaveAsLarge, .dxRichEdit_GWTIcons_SaveLarge, .dxRichEdit_GWTIcons_Select, .dxRichEdit_GWTIcons_SelectAll, .dxRichEdit_GWTIcons_SelectAllLarge, .dxRichEdit_GWTIcons_SelectLarge, .dxRichEdit_GWTIcons_SelectTable, .dxRichEdit_GWTIcons_SelectTableCell, .dxRichEdit_GWTIcons_SelectTableCellLarge, .dxRichEdit_GWTIcons_SelectTableColumn, .dxRichEdit_GWTIcons_SelectTableColumnLarge, .dxRichEdit_GWTIcons_SelectTableLarge, .dxRichEdit_GWTIcons_SelectTableRow, .dxRichEdit_GWTIcons_SelectTableRowLarge, .dxRichEdit_GWTIcons_Shading, .dxRichEdit_GWTIcons_ShadingLarge, .dxRichEdit_GWTIcons_ShowAllFieldCodes, .dxRichEdit_GWTIcons_ShowAllFieldCodesLarge, .dxRichEdit_GWTIcons_ShowAllFieldResults, .dxRichEdit_GWTIcons_ShowAllFieldResultsLarge, .dxRichEdit_GWTIcons_ShowComments, .dxRichEdit_GWTIcons_ShowCommentsLarge, .dxRichEdit_GWTIcons_ShowHidden, .dxRichEdit_GWTIcons_ShowHiddenLarge, .dxRichEdit_GWTIcons_SimpleView, .dxRichEdit_GWTIcons_SimpleViewLarge, .dxRichEdit_GWTIcons_SpacingDecrease, .dxRichEdit_GWTIcons_SpacingDecreaseLarge, .dxRichEdit_GWTIcons_SpellCheck, .dxRichEdit_GWTIcons_SpellCheckAsYouType, .dxRichEdit_GWTIcons_SpellCheckAsYouTypeLarge, .dxRichEdit_GWTIcons_SpellCheckLarge, .dxRichEdit_GWTIcons_SplitTable, .dxRichEdit_GWTIcons_SplitTableCells, .dxRichEdit_GWTIcons_SplitTableCellsLarge, .dxRichEdit_GWTIcons_SplitTableLarge, .dxRichEdit_GWTIcons_Strikeout, .dxRichEdit_GWTIcons_StrikeoutDouble, .dxRichEdit_GWTIcons_StrikeoutDoubleLarge, .dxRichEdit_GWTIcons_StrikeoutLarge, .dxRichEdit_GWTIcons_Subscript, .dxRichEdit_GWTIcons_SubscriptLarge, .dxRichEdit_GWTIcons_Superscript, .dxRichEdit_GWTIcons_SuperscriptLarge, .dxRichEdit_GWTIcons_Symbol, .dxRichEdit_GWTIcons_SymbolLarge, .dxRichEdit_GWTIcons_TableAutoFitContents, .dxRichEdit_GWTIcons_TableAutoFitContentsLarge, .dxRichEdit_GWTIcons_TableAutoFitWindow, .dxRichEdit_GWTIcons_TableAutoFitWindowLarge, .dxRichEdit_GWTIcons_TableCellMargins, .dxRichEdit_GWTIcons_TableCellMarginsLarge, .dxRichEdit_GWTIcons_TableFixedColumnWidth, .dxRichEdit_GWTIcons_TableFixedColumnWidthLarge, .dxRichEdit_GWTIcons_TableProperties, .dxRichEdit_GWTIcons_TablePropertiesLarge, .dxRichEdit_GWTIcons_TableStyleLarge, .dxRichEdit_GWTIcons_TextWrapBehind, .dxRichEdit_GWTIcons_TextWrapBehindLarge, .dxRichEdit_GWTIcons_TextWrapInFrontOfText, .dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge, .dxRichEdit_GWTIcons_TextWrapInline, .dxRichEdit_GWTIcons_TextWrapInlineLarge, .dxRichEdit_GWTIcons_TextWrapSquare, .dxRichEdit_GWTIcons_TextWrapSquareLarge, .dxRichEdit_GWTIcons_TextWrapThrough, .dxRichEdit_GWTIcons_TextWrapThroughLarge, .dxRichEdit_GWTIcons_TextWrapTight, .dxRichEdit_GWTIcons_TextWrapTightLarge, .dxRichEdit_GWTIcons_TextWrapTopAndBottom, .dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge, .dxRichEdit_GWTIcons_ThreeColumns, .dxRichEdit_GWTIcons_ToggleFieldCodes, .dxRichEdit_GWTIcons_ToggleFieldCodesLarge, .dxRichEdit_GWTIcons_TwoColumns, .dxRichEdit_GWTIcons_Underline, .dxRichEdit_GWTIcons_UnderlineDouble, .dxRichEdit_GWTIcons_UnderlineDoubleLarge, .dxRichEdit_GWTIcons_UnderlineLarge, .dxRichEdit_GWTIcons_UnderlineWord, .dxRichEdit_GWTIcons_UnderlineWordLarge, .dxRichEdit_GWTIcons_Undo, .dxRichEdit_GWTIcons_UndoLarge, .dxRichEdit_GWTIcons_UnprotectDocument, .dxRichEdit_GWTIcons_UnprotectDocumentLarge, .dxRichEdit_GWTIcons_UpdateField, .dxRichEdit_GWTIcons_UpdateFieldLarge, .dxRichEdit_GWTIcons_UpdateTableOfContents, .dxRichEdit_GWTIcons_UpdateTableOfContentsLarge, .dxRichEdit_GWTIcons_ViewMergedData, .dxRichEdit_GWTIcons_ViewMergedDataLarge, .dxRichEdit_GWTIcons_ViewTableGridlines, .dxRichEdit_GWTIcons_ViewTableGridlinesLarge, .dxRichEdit_GWTIcons_ZoomIn, .dxRichEdit_GWTIcons_ZoomInLarge, .dxRichEdit_GWTIcons_ZoomOut, .dxRichEdit_GWTIcons_ZoomOutLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AddParagraphToTableOfContents, .dxr-itemHover .dxRichEdit_GWTIcons_AddParagraphToTableOfContentsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomCenter, .dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomCenterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomLeft, .dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomRight, .dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignCenter, .dxr-itemHover .dxRichEdit_GWTIcons_AlignCenterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenter, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeft, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRight, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenter, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeft, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRight, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenter, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeft, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopRight, .dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignJustify, .dxr-itemHover .dxRichEdit_GWTIcons_AlignJustifyLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignLeft, .dxr-itemHover .dxRichEdit_GWTIcons_AlignLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleCenter, .dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleCenterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleLeft, .dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleRight, .dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignRight, .dxr-itemHover .dxRichEdit_GWTIcons_AlignRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignTopCenter, .dxr-itemHover .dxRichEdit_GWTIcons_AlignTopCenterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignTopLeft, .dxr-itemHover .dxRichEdit_GWTIcons_AlignTopLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_AlignTopRight, .dxr-itemHover .dxRichEdit_GWTIcons_AlignTopRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Background, .dxr-itemHover .dxRichEdit_GWTIcons_BackgroundLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Bold, .dxr-itemHover .dxRichEdit_GWTIcons_BoldLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Bookmark, .dxr-itemHover .dxRichEdit_GWTIcons_BookmarkLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderAllLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderBottom, .dxr-itemHover .dxRichEdit_GWTIcons_BorderBottomLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalDown, .dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalDownLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalUp, .dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalUpLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideHorizontal, .dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideHorizontalLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideVertical, .dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideVerticalLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderLeft, .dxr-itemHover .dxRichEdit_GWTIcons_BorderLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderNone, .dxr-itemHover .dxRichEdit_GWTIcons_BorderNoneLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderRight, .dxr-itemHover .dxRichEdit_GWTIcons_BorderRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersAll, .dxr-itemHover .dxRichEdit_GWTIcons_BordersAllLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersAndShading, .dxr-itemHover .dxRichEdit_GWTIcons_BordersAndShadingLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersBoxLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersCustomLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersGridLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersInside, .dxr-itemHover .dxRichEdit_GWTIcons_BordersInsideLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersNoneLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BordersOutside, .dxr-itemHover .dxRichEdit_GWTIcons_BordersOutsideLarge, .dxr-itemHover .dxRichEdit_GWTIcons_BorderTop, .dxr-itemHover .dxRichEdit_GWTIcons_BorderTopLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ChangeFontStyle, .dxr-itemHover .dxRichEdit_GWTIcons_ChangeFontStyleLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ChangeTextCase, .dxr-itemHover .dxRichEdit_GWTIcons_ChangeTextCaseLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ClearFormatting, .dxr-itemHover .dxRichEdit_GWTIcons_ClearFormattingLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ClearTableStyle, .dxr-itemHover .dxRichEdit_GWTIcons_ClearTableStyleLarge, .dxr-itemHover .dxRichEdit_GWTIcons_CloseHeaderAndFooter, .dxr-itemHover .dxRichEdit_GWTIcons_CloseHeaderAndFooterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Columns, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsLeft, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsOne, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsOneLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsRight, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsThree, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsThreeLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsTwo, .dxr-itemHover .dxRichEdit_GWTIcons_ColumnsTwoLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Copy, .dxr-itemHover .dxRichEdit_GWTIcons_CopyLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Cut, .dxr-itemHover .dxRichEdit_GWTIcons_CutLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Delete, .dxr-itemHover .dxRichEdit_GWTIcons_Delete_Hyperlink, .dxr-itemHover .dxRichEdit_GWTIcons_Delete_HyperlinkLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteComment, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteCommentLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTable, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableCells, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableCellsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableColumns, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableColumnsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableRows, .dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableRowsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DifferentFirstPage, .dxr-itemHover .dxRichEdit_GWTIcons_DifferentFirstPageLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DifferentOddEvenPages, .dxr-itemHover .dxRichEdit_GWTIcons_DifferentOddEvenPagesLarge, .dxr-itemHover .dxRichEdit_GWTIcons_DraftView, .dxr-itemHover .dxRichEdit_GWTIcons_DraftViewLarge, .dxr-itemHover .dxRichEdit_GWTIcons_EditRangePermission, .dxr-itemHover .dxRichEdit_GWTIcons_EditRangePermissionLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Find, .dxr-itemHover .dxRichEdit_GWTIcons_FindLarge, .dxr-itemHover .dxRichEdit_GWTIcons_First, .dxr-itemHover .dxRichEdit_GWTIcons_FirstLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectAlignment, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectAlignmentLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringForward, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringForwardLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfTextLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFront, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFrontLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfTextLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectFillColor, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectFillColorLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectLayoutOptions, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectLayoutOptionsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectOutlineColor, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectOutlineColorLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBackward, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBackwardLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBehindText, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBehindTextLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendToBack, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendToBackLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectTextWrapType, .dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectTextWrapTypeLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Font, .dxr-itemHover .dxRichEdit_GWTIcons_FontColor, .dxr-itemHover .dxRichEdit_GWTIcons_FontColorLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FontLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FontSize, .dxr-itemHover .dxRichEdit_GWTIcons_FontSizeDecrease, .dxr-itemHover .dxRichEdit_GWTIcons_FontSizeDecreaseLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FontSizeIncrease, .dxr-itemHover .dxRichEdit_GWTIcons_FontSizeIncreaseLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FontSizeLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Footer, .dxr-itemHover .dxRichEdit_GWTIcons_FooterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_FullScreen, .dxr-itemHover .dxRichEdit_GWTIcons_FullScreenLarge, .dxr-itemHover .dxRichEdit_GWTIcons_GoToFooter, .dxr-itemHover .dxRichEdit_GWTIcons_GoToFooterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_GoToHeader, .dxr-itemHover .dxRichEdit_GWTIcons_GoToHeaderLarge, .dxr-itemHover .dxRichEdit_GWTIcons_GoToNextHeaderFooter, .dxr-itemHover .dxRichEdit_GWTIcons_GoToNextHeaderFooterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_GoToPreviousHeaderFooter, .dxr-itemHover .dxRichEdit_GWTIcons_GoToPreviousHeaderFooterLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Header, .dxr-itemHover .dxRichEdit_GWTIcons_HeaderLarge, .dxr-itemHover .dxRichEdit_GWTIcons_HiddenText, .dxr-itemHover .dxRichEdit_GWTIcons_HiddenTextLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Highlight, .dxr-itemHover .dxRichEdit_GWTIcons_HighlightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Hyperlink, .dxr-itemHover .dxRichEdit_GWTIcons_HyperlinkLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ImagePlaceHolder, .dxr-itemHover .dxRichEdit_GWTIcons_IndentDecrease, .dxr-itemHover .dxRichEdit_GWTIcons_IndentDecreaseLarge, .dxr-itemHover .dxRichEdit_GWTIcons_IndentIncrease, .dxr-itemHover .dxRichEdit_GWTIcons_IndentIncreaseLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertCaption, .dxr-itemHover .dxRichEdit_GWTIcons_InsertCaptionLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertColumnBreak, .dxr-itemHover .dxRichEdit_GWTIcons_InsertColumnBreakLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertDataField, .dxr-itemHover .dxRichEdit_GWTIcons_InsertDataFieldLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertEquationCaption, .dxr-itemHover .dxRichEdit_GWTIcons_InsertEquationCaptionLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertFigureCaption, .dxr-itemHover .dxRichEdit_GWTIcons_InsertFigureCaptionLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertFloatingObjectImage, .dxr-itemHover .dxRichEdit_GWTIcons_InsertFloatingObjectImageLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertImage, .dxr-itemHover .dxRichEdit_GWTIcons_InsertImageLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertPageBreak, .dxr-itemHover .dxRichEdit_GWTIcons_InsertPageBreakLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertPageCount, .dxr-itemHover .dxRichEdit_GWTIcons_InsertPageCountLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertPageNumber, .dxr-itemHover .dxRichEdit_GWTIcons_InsertPageNumberLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakContinuous, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakContinuousLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakEvenPage, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakEvenPageLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakNextPage, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakNextPageLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakOddPage, .dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakOddPageLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTable, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCaption, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCaptionLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCells, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCellsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeftLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheRight, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheRightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfCaptions, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfCaptionsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfContents, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfContentsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfEquations, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfEquationsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfFigures, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfFiguresLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsAbove, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsAboveLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsBelow, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsBelowLarge, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTextBox, .dxr-itemHover .dxRichEdit_GWTIcons_InsertTextBoxLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Italic, .dxr-itemHover .dxRichEdit_GWTIcons_ItalicLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Language, .dxr-itemHover .dxRichEdit_GWTIcons_LanguageLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Last, .dxr-itemHover .dxRichEdit_GWTIcons_LastLarge, .dxr-itemHover .dxRichEdit_GWTIcons_LeftColumns, .dxr-itemHover .dxRichEdit_GWTIcons_LineNumbering, .dxr-itemHover .dxRichEdit_GWTIcons_LineNumberingLarge, .dxr-itemHover .dxRichEdit_GWTIcons_LineSpacing, .dxr-itemHover .dxRichEdit_GWTIcons_LineSpacingLarge, .dxr-itemHover .dxRichEdit_GWTIcons_LinkToPrevious, .dxr-itemHover .dxRichEdit_GWTIcons_LinkToPreviousLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ListBullets, .dxr-itemHover .dxRichEdit_GWTIcons_ListBulletsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ListMultilevel, .dxr-itemHover .dxRichEdit_GWTIcons_ListMultilevelLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ListNumbers, .dxr-itemHover .dxRichEdit_GWTIcons_ListNumbersLarge, .dxr-itemHover .dxRichEdit_GWTIcons_MailMerge, .dxr-itemHover .dxRichEdit_GWTIcons_MailMergeLarge, .dxr-itemHover .dxRichEdit_GWTIcons_MergeTableCells, .dxr-itemHover .dxRichEdit_GWTIcons_MergeTableCellsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ModifyStyle, .dxr-itemHover .dxRichEdit_GWTIcons_ModifyStyleLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ModifyTableStyle, .dxr-itemHover .dxRichEdit_GWTIcons_ModifyTableStyleLarge, .dxr-itemHover .dxRichEdit_GWTIcons_New, .dxr-itemHover .dxRichEdit_GWTIcons_NewComment, .dxr-itemHover .dxRichEdit_GWTIcons_NewCommentLarge, .dxr-itemHover .dxRichEdit_GWTIcons_NewLarge, .dxr-itemHover .dxRichEdit_GWTIcons_NewTableStyle, .dxr-itemHover .dxRichEdit_GWTIcons_NewTableStyleLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Next, .dxr-itemHover .dxRichEdit_GWTIcons_NextComment, .dxr-itemHover .dxRichEdit_GWTIcons_NextCommentLarge, .dxr-itemHover .dxRichEdit_GWTIcons_NextLarge, .dxr-itemHover .dxRichEdit_GWTIcons_OneColumn, .dxr-itemHover .dxRichEdit_GWTIcons_Open, .dxr-itemHover .dxRichEdit_GWTIcons_OpenLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageColor, .dxr-itemHover .dxRichEdit_GWTIcons_PageColorLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageMargins, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsModerate, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsModerateLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNarrow, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNarrowLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNormal, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNormalLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsWide, .dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsWideLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageOrientation, .dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationLandscape, .dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationLandscapeLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationPortrait, .dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationPortraitLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PaperSize, .dxr-itemHover .dxRichEdit_GWTIcons_PaperSizeLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Paragraph, .dxr-itemHover .dxRichEdit_GWTIcons_ParagraphLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Paste, .dxr-itemHover .dxRichEdit_GWTIcons_PasteLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PasteSpecial, .dxr-itemHover .dxRichEdit_GWTIcons_PasteSpecialLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PenColor, .dxr-itemHover .dxRichEdit_GWTIcons_PenColorLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Prev, .dxr-itemHover .dxRichEdit_GWTIcons_Preview, .dxr-itemHover .dxRichEdit_GWTIcons_PreviewLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PreviousComment, .dxr-itemHover .dxRichEdit_GWTIcons_PreviousCommentLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PrevLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Print, .dxr-itemHover .dxRichEdit_GWTIcons_PrintBrowser, .dxr-itemHover .dxRichEdit_GWTIcons_PrintBrowserLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PrintDialog, .dxr-itemHover .dxRichEdit_GWTIcons_PrintDialogLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PrintLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PrintLayoutView, .dxr-itemHover .dxRichEdit_GWTIcons_PrintLayoutViewLarge, .dxr-itemHover .dxRichEdit_GWTIcons_PrintPreviewBrowser, .dxr-itemHover .dxRichEdit_GWTIcons_PrintPreviewBrowserLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ProtectDocument, .dxr-itemHover .dxRichEdit_GWTIcons_ProtectDocumentLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ReadingLayoutView, .dxr-itemHover .dxRichEdit_GWTIcons_ReadingLayoutViewLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Redo, .dxr-itemHover .dxRichEdit_GWTIcons_RedoLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Replace, .dxr-itemHover .dxRichEdit_GWTIcons_ReplaceLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Reviewers, .dxr-itemHover .dxRichEdit_GWTIcons_ReviewersLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ReviewingPane, .dxr-itemHover .dxRichEdit_GWTIcons_ReviewingPaneLarge, .dxr-itemHover .dxRichEdit_GWTIcons_RightColumns, .dxr-itemHover .dxRichEdit_GWTIcons_RulerHorizontal, .dxr-itemHover .dxRichEdit_GWTIcons_RulerHorizontalLarge, .dxr-itemHover .dxRichEdit_GWTIcons_RulerVertical, .dxr-itemHover .dxRichEdit_GWTIcons_RulerVerticalLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Save, .dxr-itemHover .dxRichEdit_GWTIcons_SaveAll, .dxr-itemHover .dxRichEdit_GWTIcons_SaveAllLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SaveAs, .dxr-itemHover .dxRichEdit_GWTIcons_SaveAsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SaveLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Select, .dxr-itemHover .dxRichEdit_GWTIcons_SelectAll, .dxr-itemHover .dxRichEdit_GWTIcons_SelectAllLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SelectLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTable, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTableCell, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTableCellLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTableColumn, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTableColumnLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTableLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTableRow, .dxr-itemHover .dxRichEdit_GWTIcons_SelectTableRowLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Shading, .dxr-itemHover .dxRichEdit_GWTIcons_ShadingLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldCodes, .dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldCodesLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldResults, .dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldResultsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ShowComments, .dxr-itemHover .dxRichEdit_GWTIcons_ShowCommentsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ShowHidden, .dxr-itemHover .dxRichEdit_GWTIcons_ShowHiddenLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SimpleView, .dxr-itemHover .dxRichEdit_GWTIcons_SimpleViewLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SpacingDecrease, .dxr-itemHover .dxRichEdit_GWTIcons_SpacingDecreaseLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SpellCheck, .dxr-itemHover .dxRichEdit_GWTIcons_SpellCheckAsYouType, .dxr-itemHover .dxRichEdit_GWTIcons_SpellCheckAsYouTypeLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SpellCheckLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SplitTable, .dxr-itemHover .dxRichEdit_GWTIcons_SplitTableCells, .dxr-itemHover .dxRichEdit_GWTIcons_SplitTableCellsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_SplitTableLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Strikeout, .dxr-itemHover .dxRichEdit_GWTIcons_StrikeoutDouble, .dxr-itemHover .dxRichEdit_GWTIcons_StrikeoutDoubleLarge, .dxr-itemHover .dxRichEdit_GWTIcons_StrikeoutLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Subscript, .dxr-itemHover .dxRichEdit_GWTIcons_SubscriptLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Superscript, .dxr-itemHover .dxRichEdit_GWTIcons_SuperscriptLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Symbol, .dxr-itemHover .dxRichEdit_GWTIcons_SymbolLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitContents, .dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitContentsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitWindow, .dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitWindowLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TableCellMargins, .dxr-itemHover .dxRichEdit_GWTIcons_TableCellMarginsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TableFixedColumnWidth, .dxr-itemHover .dxRichEdit_GWTIcons_TableFixedColumnWidthLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TableProperties, .dxr-itemHover .dxRichEdit_GWTIcons_TablePropertiesLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapBehind, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapBehindLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInFrontOfText, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInline, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInlineLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapSquare, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapSquareLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapThrough, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapThroughLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTight, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTightLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTopAndBottom, .dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ThreeColumns, .dxr-itemHover .dxRichEdit_GWTIcons_ToggleFieldCodes, .dxr-itemHover .dxRichEdit_GWTIcons_ToggleFieldCodesLarge, .dxr-itemHover .dxRichEdit_GWTIcons_TwoColumns, .dxr-itemHover .dxRichEdit_GWTIcons_Underline, .dxr-itemHover .dxRichEdit_GWTIcons_UnderlineDouble, .dxr-itemHover .dxRichEdit_GWTIcons_UnderlineDoubleLarge, .dxr-itemHover .dxRichEdit_GWTIcons_UnderlineLarge, .dxr-itemHover .dxRichEdit_GWTIcons_UnderlineWord, .dxr-itemHover .dxRichEdit_GWTIcons_UnderlineWordLarge, .dxr-itemHover .dxRichEdit_GWTIcons_Undo, .dxr-itemHover .dxRichEdit_GWTIcons_UndoLarge, .dxr-itemHover .dxRichEdit_GWTIcons_UnprotectDocument, .dxr-itemHover .dxRichEdit_GWTIcons_UnprotectDocumentLarge, .dxr-itemHover .dxRichEdit_GWTIcons_UpdateField, .dxr-itemHover .dxRichEdit_GWTIcons_UpdateFieldLarge, .dxr-itemHover .dxRichEdit_GWTIcons_UpdateTableOfContents, .dxr-itemHover .dxRichEdit_GWTIcons_UpdateTableOfContentsLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ViewMergedData, .dxr-itemHover .dxRichEdit_GWTIcons_ViewMergedDataLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ViewTableGridlines, .dxr-itemHover .dxRichEdit_GWTIcons_ViewTableGridlinesLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ZoomIn, .dxr-itemHover .dxRichEdit_GWTIcons_ZoomInLarge, .dxr-itemHover .dxRichEdit_GWTIcons_ZoomOut, .dxr-itemHover .dxRichEdit_GWTIcons_ZoomOutLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AddParagraphToTableOfContents, .dxr-itemPressed .dxRichEdit_GWTIcons_AddParagraphToTableOfContentsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomCenter, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomCenterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomRight, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignCenter, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignCenterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenter, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRight, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenter, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRight, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenter, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopRight, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignJustify, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignJustifyLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleCenter, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleCenterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleRight, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignRight, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopCenter, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopCenterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopRight, .dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Background, .dxr-itemPressed .dxRichEdit_GWTIcons_BackgroundLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Bold, .dxr-itemPressed .dxRichEdit_GWTIcons_BoldLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Bookmark, .dxr-itemPressed .dxRichEdit_GWTIcons_BookmarkLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderAllLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderBottom, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderBottomLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalDown, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalDownLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalUp, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalUpLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideHorizontal, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideHorizontalLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideVertical, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideVerticalLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderNone, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderNoneLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderRight, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersAll, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersAllLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersAndShading, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersAndShadingLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersBoxLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersCustomLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersGridLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersInside, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersInsideLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersNoneLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersOutside, .dxr-itemPressed .dxRichEdit_GWTIcons_BordersOutsideLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderTop, .dxr-itemPressed .dxRichEdit_GWTIcons_BorderTopLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ChangeFontStyle, .dxr-itemPressed .dxRichEdit_GWTIcons_ChangeFontStyleLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ChangeTextCase, .dxr-itemPressed .dxRichEdit_GWTIcons_ChangeTextCaseLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ClearFormatting, .dxr-itemPressed .dxRichEdit_GWTIcons_ClearFormattingLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ClearTableStyle, .dxr-itemPressed .dxRichEdit_GWTIcons_ClearTableStyleLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_CloseHeaderAndFooter, .dxr-itemPressed .dxRichEdit_GWTIcons_CloseHeaderAndFooterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Columns, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsOne, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsOneLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsRight, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsThree, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsThreeLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsTwo, .dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsTwoLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Copy, .dxr-itemPressed .dxRichEdit_GWTIcons_CopyLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Cut, .dxr-itemPressed .dxRichEdit_GWTIcons_CutLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Delete, .dxr-itemPressed .dxRichEdit_GWTIcons_Delete_Hyperlink, .dxr-itemPressed .dxRichEdit_GWTIcons_Delete_HyperlinkLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteComment, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteCommentLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTable, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableCells, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableCellsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableColumns, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableColumnsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableRows, .dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableRowsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DifferentFirstPage, .dxr-itemPressed .dxRichEdit_GWTIcons_DifferentFirstPageLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DifferentOddEvenPages, .dxr-itemPressed .dxRichEdit_GWTIcons_DifferentOddEvenPagesLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_DraftView, .dxr-itemPressed .dxRichEdit_GWTIcons_DraftViewLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_EditRangePermission, .dxr-itemPressed .dxRichEdit_GWTIcons_EditRangePermissionLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Find, .dxr-itemPressed .dxRichEdit_GWTIcons_FindLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_First, .dxr-itemPressed .dxRichEdit_GWTIcons_FirstLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectAlignment, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectAlignmentLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringForward, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringForwardLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfTextLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFront, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFrontLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfTextLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectFillColor, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectFillColorLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectLayoutOptions, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectLayoutOptionsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectOutlineColor, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectOutlineColorLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBackward, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBackwardLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBehindText, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBehindTextLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendToBack, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendToBackLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectTextWrapType, .dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectTextWrapTypeLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Font, .dxr-itemPressed .dxRichEdit_GWTIcons_FontColor, .dxr-itemPressed .dxRichEdit_GWTIcons_FontColorLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FontLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FontSize, .dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeDecrease, .dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeDecreaseLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeIncrease, .dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeIncreaseLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Footer, .dxr-itemPressed .dxRichEdit_GWTIcons_FooterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_FullScreen, .dxr-itemPressed .dxRichEdit_GWTIcons_FullScreenLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToFooter, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToFooterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToHeader, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToHeaderLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToNextHeaderFooter, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToNextHeaderFooterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToPreviousHeaderFooter, .dxr-itemPressed .dxRichEdit_GWTIcons_GoToPreviousHeaderFooterLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Header, .dxr-itemPressed .dxRichEdit_GWTIcons_HeaderLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_HiddenText, .dxr-itemPressed .dxRichEdit_GWTIcons_HiddenTextLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Highlight, .dxr-itemPressed .dxRichEdit_GWTIcons_HighlightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Hyperlink, .dxr-itemPressed .dxRichEdit_GWTIcons_HyperlinkLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ImagePlaceHolder, .dxr-itemPressed .dxRichEdit_GWTIcons_IndentDecrease, .dxr-itemPressed .dxRichEdit_GWTIcons_IndentDecreaseLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_IndentIncrease, .dxr-itemPressed .dxRichEdit_GWTIcons_IndentIncreaseLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertCaption, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertCaptionLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertColumnBreak, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertColumnBreakLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertDataField, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertDataFieldLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertEquationCaption, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertEquationCaptionLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertFigureCaption, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertFigureCaptionLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertFloatingObjectImage, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertFloatingObjectImageLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertImage, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertImageLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageBreak, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageBreakLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageCount, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageCountLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageNumber, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageNumberLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakContinuous, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakContinuousLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakEvenPage, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakEvenPageLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakNextPage, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakNextPageLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakOddPage, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakOddPageLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTable, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCaption, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCaptionLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCells, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCellsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeftLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheRight, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheRightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfCaptions, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfCaptionsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfContents, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfContentsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfEquations, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfEquationsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfFigures, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfFiguresLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsAbove, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsAboveLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsBelow, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsBelowLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTextBox, .dxr-itemPressed .dxRichEdit_GWTIcons_InsertTextBoxLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Italic, .dxr-itemPressed .dxRichEdit_GWTIcons_ItalicLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Language, .dxr-itemPressed .dxRichEdit_GWTIcons_LanguageLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Last, .dxr-itemPressed .dxRichEdit_GWTIcons_LastLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_LeftColumns, .dxr-itemPressed .dxRichEdit_GWTIcons_LineNumbering, .dxr-itemPressed .dxRichEdit_GWTIcons_LineNumberingLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_LineSpacing, .dxr-itemPressed .dxRichEdit_GWTIcons_LineSpacingLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_LinkToPrevious, .dxr-itemPressed .dxRichEdit_GWTIcons_LinkToPreviousLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ListBullets, .dxr-itemPressed .dxRichEdit_GWTIcons_ListBulletsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ListMultilevel, .dxr-itemPressed .dxRichEdit_GWTIcons_ListMultilevelLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ListNumbers, .dxr-itemPressed .dxRichEdit_GWTIcons_ListNumbersLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_MailMerge, .dxr-itemPressed .dxRichEdit_GWTIcons_MailMergeLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_MergeTableCells, .dxr-itemPressed .dxRichEdit_GWTIcons_MergeTableCellsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ModifyStyle, .dxr-itemPressed .dxRichEdit_GWTIcons_ModifyStyleLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ModifyTableStyle, .dxr-itemPressed .dxRichEdit_GWTIcons_ModifyTableStyleLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_New, .dxr-itemPressed .dxRichEdit_GWTIcons_NewComment, .dxr-itemPressed .dxRichEdit_GWTIcons_NewCommentLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_NewLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_NewTableStyle, .dxr-itemPressed .dxRichEdit_GWTIcons_NewTableStyleLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Next, .dxr-itemPressed .dxRichEdit_GWTIcons_NextComment, .dxr-itemPressed .dxRichEdit_GWTIcons_NextCommentLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_NextLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_OneColumn, .dxr-itemPressed .dxRichEdit_GWTIcons_Open, .dxr-itemPressed .dxRichEdit_GWTIcons_OpenLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageColor, .dxr-itemPressed .dxRichEdit_GWTIcons_PageColorLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMargins, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsModerate, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsModerateLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNarrow, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNarrowLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNormal, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNormalLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsWide, .dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsWideLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientation, .dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationLandscape, .dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationLandscapeLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationPortrait, .dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationPortraitLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PaperSize, .dxr-itemPressed .dxRichEdit_GWTIcons_PaperSizeLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Paragraph, .dxr-itemPressed .dxRichEdit_GWTIcons_ParagraphLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Paste, .dxr-itemPressed .dxRichEdit_GWTIcons_PasteLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PasteSpecial, .dxr-itemPressed .dxRichEdit_GWTIcons_PasteSpecialLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PenColor, .dxr-itemPressed .dxRichEdit_GWTIcons_PenColorLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Prev, .dxr-itemPressed .dxRichEdit_GWTIcons_Preview, .dxr-itemPressed .dxRichEdit_GWTIcons_PreviewLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PreviousComment, .dxr-itemPressed .dxRichEdit_GWTIcons_PreviousCommentLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PrevLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Print, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintBrowser, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintBrowserLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintDialog, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintDialogLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintLayoutView, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintLayoutViewLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintPreviewBrowser, .dxr-itemPressed .dxRichEdit_GWTIcons_PrintPreviewBrowserLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ProtectDocument, .dxr-itemPressed .dxRichEdit_GWTIcons_ProtectDocumentLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ReadingLayoutView, .dxr-itemPressed .dxRichEdit_GWTIcons_ReadingLayoutViewLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Redo, .dxr-itemPressed .dxRichEdit_GWTIcons_RedoLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Replace, .dxr-itemPressed .dxRichEdit_GWTIcons_ReplaceLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Reviewers, .dxr-itemPressed .dxRichEdit_GWTIcons_ReviewersLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ReviewingPane, .dxr-itemPressed .dxRichEdit_GWTIcons_ReviewingPaneLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_RightColumns, .dxr-itemPressed .dxRichEdit_GWTIcons_RulerHorizontal, .dxr-itemPressed .dxRichEdit_GWTIcons_RulerHorizontalLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_RulerVertical, .dxr-itemPressed .dxRichEdit_GWTIcons_RulerVerticalLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Save, .dxr-itemPressed .dxRichEdit_GWTIcons_SaveAll, .dxr-itemPressed .dxRichEdit_GWTIcons_SaveAllLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SaveAs, .dxr-itemPressed .dxRichEdit_GWTIcons_SaveAsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SaveLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Select, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectAll, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectAllLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTable, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableCell, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableCellLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableColumn, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableColumnLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableRow, .dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableRowLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Shading, .dxr-itemPressed .dxRichEdit_GWTIcons_ShadingLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldCodes, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldCodesLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldResults, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldResultsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowComments, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowCommentsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowHidden, .dxr-itemPressed .dxRichEdit_GWTIcons_ShowHiddenLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SimpleView, .dxr-itemPressed .dxRichEdit_GWTIcons_SimpleViewLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SpacingDecrease, .dxr-itemPressed .dxRichEdit_GWTIcons_SpacingDecreaseLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheck, .dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheckAsYouType, .dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheckAsYouTypeLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheckLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SplitTable, .dxr-itemPressed .dxRichEdit_GWTIcons_SplitTableCells, .dxr-itemPressed .dxRichEdit_GWTIcons_SplitTableCellsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_SplitTableLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Strikeout, .dxr-itemPressed .dxRichEdit_GWTIcons_StrikeoutDouble, .dxr-itemPressed .dxRichEdit_GWTIcons_StrikeoutDoubleLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_StrikeoutLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Subscript, .dxr-itemPressed .dxRichEdit_GWTIcons_SubscriptLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Superscript, .dxr-itemPressed .dxRichEdit_GWTIcons_SuperscriptLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Symbol, .dxr-itemPressed .dxRichEdit_GWTIcons_SymbolLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitContents, .dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitContentsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitWindow, .dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitWindowLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TableCellMargins, .dxr-itemPressed .dxRichEdit_GWTIcons_TableCellMarginsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TableFixedColumnWidth, .dxr-itemPressed .dxRichEdit_GWTIcons_TableFixedColumnWidthLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TableProperties, .dxr-itemPressed .dxRichEdit_GWTIcons_TablePropertiesLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapBehind, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapBehindLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInFrontOfText, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInline, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInlineLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapSquare, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapSquareLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapThrough, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapThroughLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTight, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTightLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTopAndBottom, .dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ThreeColumns, .dxr-itemPressed .dxRichEdit_GWTIcons_ToggleFieldCodes, .dxr-itemPressed .dxRichEdit_GWTIcons_ToggleFieldCodesLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_TwoColumns, .dxr-itemPressed .dxRichEdit_GWTIcons_Underline, .dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineDouble, .dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineDoubleLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineWord, .dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineWordLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_Undo, .dxr-itemPressed .dxRichEdit_GWTIcons_UndoLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_UnprotectDocument, .dxr-itemPressed .dxRichEdit_GWTIcons_UnprotectDocumentLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_UpdateField, .dxr-itemPressed .dxRichEdit_GWTIcons_UpdateFieldLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_UpdateTableOfContents, .dxr-itemPressed .dxRichEdit_GWTIcons_UpdateTableOfContentsLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ViewMergedData, .dxr-itemPressed .dxRichEdit_GWTIcons_ViewMergedDataLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ViewTableGridlines, .dxr-itemPressed .dxRichEdit_GWTIcons_ViewTableGridlinesLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ZoomIn, .dxr-itemPressed .dxRichEdit_GWTIcons_ZoomInLarge, .dxr-itemPressed .dxRichEdit_GWTIcons_ZoomOut, .dxr-itemPressed .dxRichEdit_GWTIcons_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.GWTISprite.png")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignBottomCenter { background-position: -144px -2028px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignBottomLeft { background-position: -504px -1650px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignBottomRight { background-position: -342px -1992px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignMiddleCenter { background-position: -450px -1848px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignMiddleLeft { background-position: -450px -1812px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignMiddleRight { background-position: -216px -1686px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignTopCenter { background-position: -162px -1956px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignTopLeft { background-position: -90px -1722px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_AlignTopRight { background-position: -396px -1758px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Bookmark { background-position: -126px -1686px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderBottom { background-position: -504px -1722px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderInsideHorizontal { background-position: -432px -1758px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderInsideVertical { background-position: -306px -1650px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderLeft { background-position: -504px -1866px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderRight { background-position: -72px -1758px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersAll { background-position: -270px -1956px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersBox { background-position: -306px -1224px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersCustom { background-position: -374px -1530px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersGrid { background-position: -102px -918px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BordersNone { background-position: -136px -782px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_BorderTop { background-position: -414px -1812px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ContinueNumberingList { background-position: -432px -1884px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Copy { background-position: -288px -1686px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Cut { background-position: -288px -1722px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Delete_Hyperlink { background-position: 0px -1956px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringForward { background-position: -18px -1830px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText { background-position: -288px -1794px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringToFront { background-position: -504px -2010px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText { background-position: -468px -1722px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectLayoutOptions { background-position: -108px -1956px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectSendBackward { background-position: -108px -1794px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectSendBehindText { background-position: -252px -1974px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_FloatingObjectSendToBack { background-position: -144px -1686px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Font { background-position: -144px -1974px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Hyperlink { background-position: -266px -1598px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_IndentDecrease { background-position: -162px -1776px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_IndentIncrease { background-position: -90px -1902px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableCells { background-position: -432px -1848px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft { background-position: -468px -1956px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableColumnsToTheRight { background-position: -504px -1776px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableRowsAbove { background-position: -486px -1956px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_InsertTableRowsBelow { background-position: -464px -1598px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_LeftColumns { background-position: -204px -238px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ListBullets { background-position: -342px -1758px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_MergeTableCells { background-position: -126px -1650px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_OneColumn { background-position: -102px -306px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Paragraph { background-position: -360px -1884px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_Paste { background-position: -342px -1776px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_RestartNumberingList { background-position: -468px -1632px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_RightColumns { background-position: -306px -646px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_SelectAll { background-position: -428px -1598px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_SpellCheck { background-position: -306px -1848px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_SplitTableCells { background-position: -72px -1956px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableAutoFitContents { background-position: -414px -1866px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableAutoFitWindow { background-position: -252px -1722px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableFixedColumnWidth { background-position: -396px -2010px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TableProperties { background-position: -90px -1794px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapBehind { background-position: -36px -1776px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapBehindLarge { background-position: -374px -306px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInFrontOfText { background-position: -180px -1758px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge { background-position: -374px -170px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInline { background-position: -252px -1830px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapInlineLarge { background-position: -170px -170px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapSquare { background-position: -54px -1758px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapSquareLarge { background-position: -204px -170px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapThrough { background-position: -396px -1794px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapThroughLarge { background-position: -272px -170px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTight { background-position: -72px -1668px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTightLarge { background-position: -306px -170px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTopAndBottom { background-position: -54px -1722px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge { background-position: -306px -714px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ThreeColumns { background-position: -272px -782px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_ToggleFieldCodes { background-position: -486px -1884px; width: 16px; height: 16px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_TwoColumns { background-position: -340px -1496px; width: 32px; height: 32px } 
.dxm-main .dxm-hovered .dxRichEdit_GWTIcons_UpdateField { background-position: -54px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AddParagraphToTableOfContents { background-position: -342px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AddParagraphToTableOfContentsLarge { background-position: -306px -1462px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignBottomCenter { background-position: -378px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignBottomCenterLarge { background-position: -102px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignBottomLeft { background-position: -270px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignBottomLeftLarge { background-position: -136px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignBottomRight { background-position: -180px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignBottomRightLarge { background-position: -272px -1190px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignCenter { background-position: -180px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignCenterLarge { background-position: -238px -1190px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenter { background-position: -414px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenterLarge { background-position: -340px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeft { background-position: -288px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeftLarge { background-position: -68px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectBottomRight { background-position: -414px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectBottomRightLarge { background-position: -408px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenter { background-position: -486px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenterLarge { background-position: -102px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeft { background-position: -486px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeftLarge { background-position: -272px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRight { background-position: -510px 0px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRightLarge { background-position: -306px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectTopCenter { background-position: -510px -136px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectTopCenterLarge { background-position: 0px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectTopLeft { background-position: -90px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectTopLeftLarge { background-position: -306px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectTopRight { background-position: -510px -680px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignFloatingObjectTopRightLarge { background-position: -408px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignJustify { background-position: -510px -68px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignJustifyLarge { background-position: -408px -1292px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignLeft { background-position: -510px -340px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignLeftLarge { background-position: -306px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignMiddleCenter { background-position: -252px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignMiddleCenterLarge { background-position: -34px -1122px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignMiddleLeft { background-position: -510px -204px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignMiddleLeftLarge { background-position: -102px -1496px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignMiddleRight { background-position: -510px -408px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignMiddleRightLarge { background-position: -34px -1462px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignRight { background-position: -270px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignRightLarge { background-position: 0px -1462px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignTopCenter { background-position: -288px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignTopCenterLarge { background-position: -102px -646px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignTopLeft { background-position: -108px -2028px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignTopLeftLarge { background-position: -340px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_AlignTopRight { background-position: -108px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_AlignTopRightLarge { background-position: 0px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Background { background-position: -342px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BackgroundLarge { background-position: -170px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Bold { background-position: -252px -1992px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BoldLarge { background-position: -204px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Bookmark { background-position: -378px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BookmarkLarge { background-position: -374px -1360px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderAllLarge { background-position: -238px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderBottom { background-position: 0px -1902px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderBottomLarge { background-position: 0px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderDiagonalDown { background-position: -510px -952px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderDiagonalDownLarge { background-position: -306px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderDiagonalUp { background-position: -108px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderDiagonalUpLarge { background-position: -272px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderInsideHorizontal { background-position: -324px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderInsideHorizontalLarge { background-position: -272px -1156px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderInsideVertical { background-position: -450px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderInsideVerticalLarge { background-position: -408px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderLeft { background-position: -504px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderLeftLarge { background-position: -476px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderNone { background-position: -414px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderNoneLarge { background-position: -340px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderRight { background-position: -378px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderRightLarge { background-position: -374px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersAll { background-position: -324px -1866px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BordersAllLarge { background-position: -34px -1598px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersAndShading { background-position: -284px -1598px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BordersAndShadingLarge { background-position: -102px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersBox { background-position: -442px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersBoxLarge { background-position: -204px -1156px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersCustom { background-position: -374px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersCustomLarge { background-position: -68px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersGrid { background-position: -272px -1020px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersGridLarge { background-position: -170px -1462px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersInside { background-position: -18px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BordersInsideLarge { background-position: -102px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersNone { background-position: -272px -1530px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersNoneLarge { background-position: -442px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BordersOutside { background-position: -486px -1830px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BordersOutsideLarge { background-position: -34px -1564px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_BorderTop { background-position: -486px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_BorderTopLarge { background-position: -374px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ChangeFontStyle { background-position: -126px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ChangeFontStyleLarge { background-position: -68px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ChangeTextCase { background-position: -374px -1598px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ChangeTextCaseLarge { background-position: -170px -884px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_CharacterStyleLarge { background-position: 0px -1122px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ClearFormatting { background-position: -324px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ClearFormattingLarge { background-position: -476px -1360px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ClearTableStyle { background-position: -18px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ClearTableStyleLarge { background-position: -408px -1122px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_CloseHeaderAndFooter { background-position: -288px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_CloseHeaderAndFooterLarge { background-position: -204px -1530px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Columns { background-position: -288px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ColumnsLarge { background-position: -170px -1564px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ColumnsLeft { background-position: -270px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ColumnsLeftLarge { background-position: -68px -1394px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ColumnsOne { background-position: -72px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ColumnsOneLarge { background-position: -170px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ColumnsRight { background-position: -288px -1884px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ColumnsRightLarge { background-position: -340px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ColumnsThree { background-position: -324px -1650px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ColumnsThreeLarge { background-position: 0px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ColumnsTwo { background-position: -198px -1830px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ColumnsTwoLarge { background-position: -374px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ContinueNumberingList { background-position: -396px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_Copy { background-position: -306px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_CopyLarge { background-position: -408px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Cut { background-position: -90px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_CutLarge { background-position: 0px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Delete { background-position: -216px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_Delete_Hyperlink { background-position: -414px -1830px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_Delete_HyperlinkLarge { background-position: -204px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DeleteComment { background-position: -180px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DeleteCommentLarge { background-position: -374px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DeleteLarge { background-position: -442px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DeleteTable { background-position: -342px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DeleteTableCells { background-position: -360px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DeleteTableCellsLarge { background-position: -442px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DeleteTableColumns { background-position: -36px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DeleteTableColumnsLarge { background-position: -102px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DeleteTableLarge { background-position: -68px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DeleteTableRows { background-position: 0px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DeleteTableRowsLarge { background-position: 0px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DifferentFirstPage { background-position: -486px -1866px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DifferentFirstPageLarge { background-position: -238px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DifferentOddEvenPages { background-position: -216px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DifferentOddEvenPagesLarge { background-position: -476px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_DraftView { background-position: 0px -2028px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_DraftViewLarge { background-position: -238px -1428px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_EditRangePermission { background-position: -378px -1830px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_EditRangePermissionLarge { background-position: -136px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Find { background-position: -162px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FindLarge { background-position: -272px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_First { background-position: -36px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FirstLarge { background-position: -34px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectAlignment { background-position: -414px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectAlignmentLarge { background-position: -374px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectBringForward { background-position: -144px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectBringForwardLarge { background-position: -272px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText { background-position: -126px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfTextLarge { background-position: -170px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectBringToFront { background-position: -216px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectBringToFrontLarge { background-position: -68px 0px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText { background-position: -198px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfTextLarge { background-position: -102px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectFillColor { background-position: -90px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectFillColorLarge { background-position: -136px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectLayoutOptions { background-position: -54px -1920px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectLayoutOptionsLarge { background-position: -272px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectOutlineColor { background-position: -216px -1884px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectOutlineColorLarge { background-position: -408px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectSendBackward { background-position: -108px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectSendBackwardLarge { background-position: -204px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectSendBehindText { background-position: -432px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectSendBehindTextLarge { background-position: -340px -272px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectSendToBack { background-position: -216px -1902px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectSendToBackLarge { background-position: -340px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FloatingObjectTextWrapType { background-position: -342px -1866px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FloatingObjectTextWrapTypeLarge { background-position: -238px -68px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Font { background-position: -450px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FontColor { background-position: -378px -1686px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FontColorLarge { background-position: -136px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FontLarge { background-position: 0px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FontSize { background-position: -378px -1794px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FontSizeDecrease { background-position: -396px -1830px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FontSizeDecreaseLarge { background-position: -68px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FontSizeIncrease { background-position: -126px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FontSizeIncreaseLarge { background-position: -102px -1156px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FontSizeLarge { background-position: -34px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Footer { background-position: -486px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FooterLarge { background-position: -34px -816px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_FullScreen { background-position: -18px -1884px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_FullScreenLarge { background-position: -476px -1224px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_GoToFooter { background-position: -126px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_GoToFooterLarge { background-position: -170px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_GoToHeader { background-position: -180px -1992px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_GoToHeaderLarge { background-position: -272px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_GoToNextHeaderFooter { background-position: -248px -1598px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_GoToNextHeaderFooterLarge { background-position: 0px -714px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_GoToPreviousHeaderFooter { background-position: -234px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_GoToPreviousHeaderFooterLarge { background-position: -68px -1190px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Header { background-position: -36px -1920px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_HeaderLarge { background-position: -374px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_HiddenText { background-position: -36px -1884px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_HiddenTextLarge { background-position: -136px -748px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Highlight { background-position: -504px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_HighlightLarge { background-position: -442px -1462px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Hyperlink { background-position: -468px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_HyperlinkLarge { background-position: -306px -1428px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ImagePlaceHolder { background-position: -68px -1598px; width: 28px; height: 28px } 
.dxRichEdit_GWTIcons_IndentDecrease { background-position: -450px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_IndentDecreaseLarge { background-position: -340px -1292px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_IndentIncrease { background-position: -72px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_IndentIncreaseLarge { background-position: -476px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertCaption { background-position: -414px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertCaptionLarge { background-position: -272px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertColumnBreak { background-position: -486px -1722px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertColumnBreakLarge { background-position: -442px -612px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertDataField { background-position: -510px -612px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertDataFieldLarge { background-position: -204px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertEquationCaption { background-position: -510px -476px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertEquationCaptionLarge { background-position: -340px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertFigureCaption { background-position: -162px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertFigureCaptionLarge { background-position: 0px -1088px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertFloatingObjectImage { background-position: -510px -816px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertFloatingObjectImageLarge { background-position: -306px -1258px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertImage { background-position: -162px -1920px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertImageLarge { background-position: 0px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertPageBreak { background-position: -72px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertPageBreakLarge { background-position: -374px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertPageCount { background-position: -396px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertPageCountLarge { background-position: -272px -1292px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertPageNumber { background-position: -36px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertPageNumberLarge { background-position: -238px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertSectionBreakContinuous { background-position: -432px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertSectionBreakContinuousLarge { background-position: -68px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertSectionBreakEvenPage { background-position: -90px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertSectionBreakEvenPageLarge { background-position: -306px -1394px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertSectionBreakNextPage { background-position: -504px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertSectionBreakNextPageLarge { background-position: -340px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertSectionBreakOddPage { background-position: -54px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertSectionBreakOddPageLarge { background-position: -170px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTable { background-position: -342px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableCaption { background-position: -252px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableCaptionLarge { background-position: -136px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableCells { background-position: -324px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableCellsLarge { background-position: -340px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft { background-position: -342px -1884px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableColumnsToTheLeftLarge { background-position: -68px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableColumnsToTheRight { background-position: -432px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableColumnsToTheRightLarge { background-position: -34px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableLarge { background-position: -34px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableOfCaptions { background-position: -144px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableOfCaptionsLarge { background-position: -442px -578px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableOfContents { background-position: -510px -1156px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableOfContentsLarge { background-position: -204px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableOfEquations { background-position: 0px -1650px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableOfEquationsLarge { background-position: -306px -578px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableOfFigures { background-position: -510px -1088px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableOfFiguresLarge { background-position: -238px -1462px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableRowsAbove { background-position: -18px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableRowsAboveLarge { background-position: -340px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTableRowsBelow { background-position: -216px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTableRowsBelowLarge { background-position: 0px -1224px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_InsertTextBox { background-position: -510px -884px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_InsertTextBoxLarge { background-position: 0px -1428px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Italic { background-position: -36px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ItalicLarge { background-position: -204px -578px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Language { background-position: -510px -1564px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_LanguageLarge { background-position: -442px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Last { background-position: -90px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_LastLarge { background-position: -340px -578px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_LeftColumns { background-position: -102px -714px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_LineNumbering { background-position: -378px -1920px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_LineNumberingLarge { background-position: 0px -1190px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_LineSpacing { background-position: -324px -1884px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_LineSpacingLarge { background-position: -204px -1394px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_LinkToPrevious { background-position: -360px -1992px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_LinkToPreviousLarge { background-position: -238px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ListBullets { background-position: -486px -1794px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ListBulletsLarge { background-position: -136px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ListMultilevel { background-position: -18px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ListMultilevelLarge { background-position: -374px -1258px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ListNumbers { background-position: -234px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ListNumbersLarge { background-position: -374px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_MailMerge { background-position: -72px -1992px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_MailMergeLarge { background-position: -476px -1156px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_MergeTableCells { background-position: -126px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_MergeTableCellsLarge { background-position: -136px -1292px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ModifyStyle { background-position: -360px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ModifyStyleLarge { background-position: -476px -1530px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ModifyTableStyle { background-position: -180px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ModifyTableStyleLarge { background-position: -442px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_New { background-position: -396px -1722px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_NewComment { background-position: -144px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_NewCommentLarge { background-position: -68px -1292px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_NewLarge { background-position: -102px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_NewTableStyle { background-position: -378px -1992px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_NewTableStyleLarge { background-position: -442px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Next { background-position: -54px -1830px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_NextComment { background-position: -432px -1902px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_NextCommentLarge { background-position: -170px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_NextLarge { background-position: -102px -1258px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_OneColumn { background-position: -136px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Open { background-position: -360px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_OpenLarge { background-position: -238px -1224px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageColor { background-position: -54px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageColorLarge { background-position: -476px -1190px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageMargins { background-position: -18px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageMarginsLarge { background-position: -68px -1224px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageMarginsModerate { background-position: -90px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageMarginsModerateLarge { background-position: -476px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageMarginsNarrow { background-position: -486px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageMarginsNarrowLarge { background-position: -204px -408px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageMarginsNormal { background-position: -216px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageMarginsNormalLarge { background-position: -408px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageMarginsWide { background-position: -468px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageMarginsWideLarge { background-position: -374px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageOrientation { background-position: -510px -1428px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageOrientationLandscape { background-position: -108px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageOrientationLandscapeLarge { background-position: -136px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageOrientationLarge { background-position: -68px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PageOrientationPortrait { background-position: -270px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PageOrientationPortraitLarge { background-position: -272px -442px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PaperSize { background-position: -90px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PaperSizeLarge { background-position: -68px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Paragraph { background-position: -468px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ParagraphLarge { background-position: -476px -714px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ParagraphStyleLarge { background-position: -408px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Paste { background-position: 0px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PasteLarge { background-position: 0px -476px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PasteSpecial { background-position: -468px -1776px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PasteSpecialLarge { background-position: -306px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PenColor { background-position: -270px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PenColorLarge { background-position: -340px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Prev { background-position: -72px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_Preview { background-position: -432px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PreviewLarge { background-position: -102px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PreviousComment { background-position: -108px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PreviousCommentLarge { background-position: -408px -1224px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PrevLarge { background-position: -102px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Print { background-position: -234px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PrintBrowser { background-position: -162px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PrintBrowserLarge { background-position: -272px -374px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PrintDialog { background-position: -342px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PrintDialogLarge { background-position: -476px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PrintLarge { background-position: -408px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PrintLayoutView { background-position: -90px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PrintLayoutViewLarge { background-position: -340px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_PrintPreviewBrowser { background-position: -198px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_PrintPreviewBrowserLarge { background-position: -204px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ProtectDocument { background-position: -126px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ProtectDocumentLarge { background-position: -476px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ReadingLayoutView { background-position: -108px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ReadingLayoutViewLarge { background-position: -238px -340px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Redo { background-position: -306px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_RedoLarge { background-position: 0px -680px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Replace { background-position: -360px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ReplaceLarge { background-position: -204px -1360px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_RestartNumberingList { background-position: -306px -1902px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_Reviewers { background-position: -396px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ReviewersLarge { background-position: -204px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ReviewingPane { background-position: -432px -1920px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ReviewingPaneLarge { background-position: -170px -442px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_RightColumns { background-position: -102px -442px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_RulerHorizontal { background-position: -234px -1848px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_RulerHorizontalLarge { background-position: -68px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_RulerVertical { background-position: -360px -1902px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_RulerVerticalLarge { background-position: -68px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Save { background-position: -378px -1812px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SaveAll { background-position: -432px -1866px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SaveAllLarge { background-position: -442px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SaveAs { background-position: -324px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SaveAsLarge { background-position: -136px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SaveLarge { background-position: -34px -1190px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Select { background-position: -198px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SelectAll { background-position: -396px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SelectAllLarge { background-position: 0px -544px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SelectLarge { background-position: -204px -34px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SelectTable { background-position: -306px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SelectTableCell { background-position: -234px -1866px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SelectTableCellLarge { background-position: -136px -1360px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SelectTableColumn { background-position: -504px -1920px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SelectTableColumnLarge { background-position: -204px -1122px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SelectTableLarge { background-position: -408px -1156px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SelectTableRow { background-position: -360px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SelectTableRowLarge { background-position: -340px -1190px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Shading { background-position: -378px -1974px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ShadingLarge { background-position: -204px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ShowAllFieldCodes { background-position: -162px -1650px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ShowAllFieldCodesLarge { background-position: -476px -646px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ShowAllFieldResults { background-position: -324px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ShowAllFieldResultsLarge { background-position: -340px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ShowComments { background-position: -216px -1740px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ShowCommentsLarge { background-position: -136px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ShowHidden { background-position: -252px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ShowHiddenLarge { background-position: -340px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SimpleView { background-position: -396px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SimpleViewLarge { background-position: -204px -1326px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SpacingDecrease { background-position: -468px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SpacingDecreaseLarge { background-position: -476px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SpellCheck { background-position: -510px -1292px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SpellCheckAsYouType { background-position: -510px -1020px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SpellCheckAsYouTypeLarge { background-position: -374px -1122px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SpellCheckLarge { background-position: -102px -1360px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SplitTable { background-position: -450px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SplitTableCells { background-position: 0px -1938px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SplitTableCellsLarge { background-position: -306px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_SplitTableLarge { background-position: -306px -986px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Strikeout { background-position: -414px -1992px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_StrikeoutDouble { background-position: -510px -1360px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_StrikeoutDoubleLarge { background-position: -408px -1258px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_StrikeoutLarge { background-position: -340px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Subscript { background-position: -234px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SubscriptLarge { background-position: -238px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Superscript { background-position: -198px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SuperscriptLarge { background-position: -136px -170px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Symbol { background-position: -162px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_SymbolLarge { background-position: -68px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TableAutoFitContents { background-position: -162px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TableAutoFitContentsLarge { background-position: -306px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TableAutoFitWindow { background-position: -54px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TableAutoFitWindowLarge { background-position: -340px -238px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TableCellMargins { background-position: -510px -544px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TableCellMarginsLarge { background-position: -170px -578px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TableFixedColumnWidth { background-position: -198px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TableFixedColumnWidthLarge { background-position: -374px -714px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TableProperties { background-position: -510px -1496px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TablePropertiesLarge { background-position: -238px -782px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TableStyleLarge { background-position: 0px -204px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TextWrapBehind { background-position: -360px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TextWrapBehindLarge { background-position: -238px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TextWrapInFrontOfText { background-position: -270px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge { background-position: -204px -306px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TextWrapInline { background-position: -90px -1992px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TextWrapInlineLarge { background-position: -442px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TextWrapSquare { background-position: -306px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TextWrapSquareLarge { background-position: -476px -102px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TextWrapThrough { background-position: -510px -1224px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TextWrapThroughLarge { background-position: -136px -1496px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TextWrapTight { background-position: -234px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TextWrapTightLarge { background-position: -306px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TextWrapTopAndBottom { background-position: -342px -2010px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge { background-position: -170px -1530px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ThreeColumns { background-position: -204px -1054px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ToggleFieldCodes { background-position: -378px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ToggleFieldCodesLarge { background-position: -374px -918px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_TwoColumns { background-position: -170px -850px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Underline { background-position: -324px -1956px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_UnderlineDouble { background-position: -36px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_UnderlineDoubleLarge { background-position: -272px -1122px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_UnderlineLarge { background-position: -170px -1122px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_UnderlineWord { background-position: 0px -1686px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_UnderlineWordLarge { background-position: -136px -442px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_Undo { background-position: -252px -1758px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_UndoLarge { background-position: -136px -1428px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_UnprotectDocument { background-position: -54px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_UnprotectDocumentLarge { background-position: -442px -1530px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_UpdateField { background-position: -270px -1704px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_UpdateFieldLarge { background-position: -204px -952px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_UpdateTableOfContents { background-position: -54px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_UpdateTableOfContentsLarge { background-position: -238px -714px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ViewMergedData { background-position: -108px -1632px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ViewMergedDataLarge { background-position: -306px -442px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ViewTableGridlines { background-position: -510px -272px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ViewTableGridlinesLarge { background-position: -272px -510px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ZoomIn { background-position: -378px -1668px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ZoomInLarge { background-position: 0px -136px; width: 32px; height: 32px } 
.dxRichEdit_GWTIcons_ZoomOut { background-position: -360px -1830px; width: 16px; height: 16px } 
.dxRichEdit_GWTIcons_ZoomOutLarge { background-position: 0px 0px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AddParagraphToTableOfContents { background-position: -360px -1650px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AddParagraphToTableOfContentsLarge { background-position: -136px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomCenter { background-position: -338px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomCenterLarge { background-position: -170px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomLeft { background-position: -198px -1650px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomLeftLarge { background-position: -68px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomRight { background-position: -518px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignBottomRightLarge { background-position: -204px -1190px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignCenter { background-position: -216px -1650px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignCenterLarge { background-position: -340px -1224px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenter { background-position: -396px -1650px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenterLarge { background-position: -476px -1122px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeft { background-position: -180px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeftLarge { background-position: -34px -1258px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRight { background-position: -510px -714px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRightLarge { background-position: -306px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenter { background-position: -230px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenterLarge { background-position: -272px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeft { background-position: -72px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeftLarge { background-position: -408px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRight { background-position: -510px -918px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRightLarge { background-position: -408px -1190px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenter { background-position: -144px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenterLarge { background-position: -340px -1258px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeft { background-position: -510px -1190px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeftLarge { background-position: -238px -1496px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopRight { background-position: 0px -1704px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignFloatingObjectTopRightLarge { background-position: -34px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignJustify { background-position: -450px -1650px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignJustifyLarge { background-position: -408px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignLeft { background-position: -414px -1758px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignLeftLarge { background-position: -442px -1156px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleCenter { background-position: -234px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleCenterLarge { background-position: -136px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleLeft { background-position: 0px -1668px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleLeftLarge { background-position: -442px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleRight { background-position: -158px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignMiddleRightLarge { background-position: -102px -1122px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignRight { background-position: -486px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignRightLarge { background-position: -170px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignTopCenter { background-position: -450px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignTopCenterLarge { background-position: -238px -1258px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignTopLeft { background-position: -36px -1650px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignTopLeftLarge { background-position: -272px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignTopRight { background-position: -432px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_AlignTopRightLarge { background-position: -272px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Background { background-position: -392px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BackgroundLarge { background-position: -102px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Bold { background-position: -410px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BoldLarge { background-position: -136px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Bookmark { background-position: -504px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BookmarkLarge { background-position: 0px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderAllLarge { background-position: -34px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderBottom { background-position: -320px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderBottomLarge { background-position: 0px -748px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalDown { background-position: -510px -170px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalDownLarge { background-position: -102px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalUp { background-position: -510px -306px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderDiagonalUpLarge { background-position: -34px -1360px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideHorizontal { background-position: -162px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideHorizontalLarge { background-position: -34px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideVertical { background-position: -306px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderInsideVerticalLarge { background-position: -408px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderLeft { background-position: -198px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderLeftLarge { background-position: -476px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderNone { background-position: -144px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderNoneLarge { background-position: -408px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderRight { background-position: -342px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderRightLarge { background-position: -68px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersAll { background-position: -198px -1758px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersAllLarge { background-position: -374px -1496px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersAndShading { background-position: -234px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersAndShadingLarge { background-position: -340px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersBoxLarge { background-position: -238px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersCustomLarge { background-position: -102px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersGridLarge { background-position: -476px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersInside { background-position: -108px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersInsideLarge { background-position: -408px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersNoneLarge { background-position: -408px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersOutside { background-position: -342px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BordersOutsideLarge { background-position: -170px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderTop { background-position: -450px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_BorderTopLarge { background-position: -476px -306px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ChangeFontStyle { background-position: -288px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ChangeFontStyleLarge { background-position: 0px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ChangeTextCase { background-position: -36px -2028px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ChangeTextCaseLarge { background-position: -340px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ClearFormatting { background-position: -162px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ClearFormattingLarge { background-position: -102px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ClearTableStyle { background-position: -486px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ClearTableStyleLarge { background-position: -408px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_CloseHeaderAndFooter { background-position: -432px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_CloseHeaderAndFooterLarge { background-position: -136px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Columns { background-position: -324px -1632px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsLarge { background-position: -374px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsLeft { background-position: -510px -986px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsLeftLarge { background-position: -170px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsOne { background-position: -324px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsOneLarge { background-position: -306px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsRight { background-position: -90px -1866px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsRightLarge { background-position: -136px -1224px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsThree { background-position: -486px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsThreeLarge { background-position: -170px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsTwo { background-position: -450px -1758px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ColumnsTwoLarge { background-position: -340px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Copy { background-position: -432px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_CopyLarge { background-position: -272px -1496px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Cut { background-position: -450px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_CutLarge { background-position: -476px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Delete { background-position: -324px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Delete_Hyperlink { background-position: -126px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Delete_HyperlinkLarge { background-position: -170px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteComment { background-position: -180px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteCommentLarge { background-position: -306px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteLarge { background-position: -238px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTable { background-position: -72px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableCells { background-position: -414px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableCellsLarge { background-position: -68px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableColumns { background-position: -54px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableColumnsLarge { background-position: -34px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableLarge { background-position: -442px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableRows { background-position: -54px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DeleteTableRowsLarge { background-position: -34px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DifferentFirstPage { background-position: -198px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DifferentFirstPageLarge { background-position: -238px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DifferentOddEvenPages { background-position: -510px -646px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DifferentOddEvenPagesLarge { background-position: -306px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DraftView { background-position: -288px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_DraftViewLarge { background-position: -374px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_EditRangePermission { background-position: -396px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_EditRangePermissionLarge { background-position: 0px -1496px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Find { background-position: -216px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FindLarge { background-position: -442px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_First { background-position: -324px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FirstLarge { background-position: 0px -68px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectAlignment { background-position: -504px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectAlignmentLarge { background-position: -340px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringForward { background-position: -54px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringForwardLarge { background-position: -34px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText { background-position: -302px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfTextLarge { background-position: -408px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFront { background-position: -306px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFrontLarge { background-position: -442px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText { background-position: -144px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfTextLarge { background-position: -136px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectFillColor { background-position: -450px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectFillColorLarge { background-position: -170px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectLayoutOptions { background-position: -510px -1394px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectLayoutOptionsLarge { background-position: -272px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectOutlineColor { background-position: 0px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectOutlineColorLarge { background-position: 0px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBackward { background-position: -270px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBackwardLarge { background-position: -204px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBehindText { background-position: -450px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendBehindTextLarge { background-position: -272px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendToBack { background-position: -162px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectSendToBackLarge { background-position: -238px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectTextWrapType { background-position: -234px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FloatingObjectTextWrapTypeLarge { background-position: -102px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Font { background-position: -72px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontColor { background-position: -486px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontColorLarge { background-position: -442px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontLarge { background-position: -374px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontSize { background-position: -468px -1812px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontSizeDecrease { background-position: -306px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontSizeDecreaseLarge { background-position: -204px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontSizeIncrease { background-position: -396px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontSizeIncreaseLarge { background-position: -238px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FontSizeLarge { background-position: -68px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Footer { background-position: -288px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FooterLarge { background-position: -238px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FullScreen { background-position: -198px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_FullScreenLarge { background-position: -170px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToFooter { background-position: -18px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToFooterLarge { background-position: -34px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToHeader { background-position: -252px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToHeaderLarge { background-position: -272px -102px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToNextHeaderFooter { background-position: -414px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToNextHeaderFooterLarge { background-position: -68px -1258px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToPreviousHeaderFooter { background-position: -252px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_GoToPreviousHeaderFooterLarge { background-position: -34px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Header { background-position: -306px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_HeaderLarge { background-position: -102px -34px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_HiddenText { background-position: -504px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_HiddenTextLarge { background-position: -476px -170px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Highlight { background-position: -378px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_HighlightLarge { background-position: -136px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Hyperlink { background-position: -144px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_HyperlinkLarge { background-position: -408px -1496px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ImagePlaceHolder { background-position: -98px -1598px; width: 28px; height: 28px } 
.dxr-itemHover .dxRichEdit_GWTIcons_IndentDecrease { background-position: -180px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_IndentDecreaseLarge { background-position: -272px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_IndentIncrease { background-position: -360px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_IndentIncreaseLarge { background-position: -238px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertCaption { background-position: -234px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertCaptionLarge { background-position: -68px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertColumnBreak { background-position: -54px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertColumnBreakLarge { background-position: -238px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertDataField { background-position: -18px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertDataFieldLarge { background-position: -340px -1122px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertEquationCaption { background-position: -198px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertEquationCaptionLarge { background-position: -204px -816px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertFigureCaption { background-position: 0px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertFigureCaptionLarge { background-position: -238px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertFloatingObjectImage { background-position: -252px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertFloatingObjectImageLarge { background-position: -68px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertImage { background-position: -18px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertImageLarge { background-position: -442px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertPageBreak { background-position: -198px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertPageBreakLarge { background-position: -272px -1258px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertPageCount { background-position: -360px -1812px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertPageCountLarge { background-position: -340px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertPageNumber { background-position: -126px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertPageNumberLarge { background-position: -408px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakContinuous { background-position: -108px -1758px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakContinuousLarge { background-position: -204px -1428px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakEvenPage { background-position: -36px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakEvenPageLarge { background-position: -238px -1360px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakNextPage { background-position: -144px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakNextPageLarge { background-position: -442px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakOddPage { background-position: -450px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertSectionBreakOddPageLarge { background-position: -374px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTable { background-position: 0px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCaption { background-position: -360px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCaptionLarge { background-position: -102px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCells { background-position: -270px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableCellsLarge { background-position: -340px -1428px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft { background-position: -324px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeftLarge { background-position: -374px -238px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheRight { background-position: -360px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableColumnsToTheRightLarge { background-position: -136px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableLarge { background-position: -408px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfCaptions { background-position: -306px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfCaptionsLarge { background-position: -136px -306px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfContents { background-position: -342px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfContentsLarge { background-position: -238px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfEquations { background-position: -144px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfEquationsLarge { background-position: -306px -1360px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfFigures { background-position: -36px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableOfFiguresLarge { background-position: -102px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsAbove { background-position: -378px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsAboveLarge { background-position: -136px -1462px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsBelow { background-position: -396px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTableRowsBelowLarge { background-position: -238px -1530px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTextBox { background-position: -468px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_InsertTextBoxLarge { background-position: -374px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Italic { background-position: -234px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ItalicLarge { background-position: 0px -1156px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Language { background-position: -180px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LanguageLarge { background-position: -374px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Last { background-position: -72px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LastLarge { background-position: -306px -1326px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LeftColumns { background-position: -340px -1156px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LineNumbering { background-position: -432px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LineNumberingLarge { background-position: -442px -1224px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LineSpacing { background-position: -72px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LineSpacingLarge { background-position: -442px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LinkToPrevious { background-position: -504px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_LinkToPreviousLarge { background-position: -34px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ListBullets { background-position: -468px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ListBulletsLarge { background-position: -34px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ListMultilevel { background-position: -234px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ListMultilevelLarge { background-position: -34px -1224px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ListNumbers { background-position: -162px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ListNumbersLarge { background-position: -442px -1496px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_MailMerge { background-position: -216px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_MailMergeLarge { background-position: -476px -1462px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_MergeTableCells { background-position: -342px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_MergeTableCellsLarge { background-position: -204px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ModifyStyle { background-position: -234px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ModifyStyleLarge { background-position: -34px -1428px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ModifyTableStyle { background-position: -108px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ModifyTableStyleLarge { background-position: -34px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_New { background-position: -18px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NewComment { background-position: -306px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NewCommentLarge { background-position: -34px -1292px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NewLarge { background-position: -136px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NewTableStyle { background-position: 0px -1866px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NewTableStyleLarge { background-position: -476px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Next { background-position: -252px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NextComment { background-position: -414px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NextCommentLarge { background-position: 0px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_NextLarge { background-position: 0px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_OneColumn { background-position: -68px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Open { background-position: -252px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_OpenLarge { background-position: -272px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageColor { background-position: -414px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageColorLarge { background-position: -170px -1496px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMargins { background-position: -180px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsLarge { background-position: -272px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsModerate { background-position: -126px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsModerateLarge { background-position: -408px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNarrow { background-position: -108px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNarrowLarge { background-position: -272px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNormal { background-position: -180px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsNormalLarge { background-position: -204px -1462px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsWide { background-position: -360px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageMarginsWideLarge { background-position: -306px -1530px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageOrientation { background-position: -378px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationLandscape { background-position: -180px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationLandscapeLarge { background-position: -68px -1462px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationLarge { background-position: -340px -1088px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationPortrait { background-position: -108px -1830px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PageOrientationPortraitLarge { background-position: -34px -646px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PaperSize { background-position: -198px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PaperSizeLarge { background-position: -374px -1326px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Paragraph { background-position: -270px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ParagraphLarge { background-position: -442px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Paste { background-position: -486px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PasteLarge { background-position: 0px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PasteSpecial { background-position: -504px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PasteSpecialLarge { background-position: -102px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PenColor { background-position: -144px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PenColorLarge { background-position: -476px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Prev { background-position: -270px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Preview { background-position: 0px -1830px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PreviewLarge { background-position: -340px -850px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PreviousComment { background-position: 0px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PreviousCommentLarge { background-position: -68px -510px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrevLarge { background-position: -102px -1190px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Print { background-position: -486px -1992px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintBrowser { background-position: -450px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintBrowserLarge { background-position: -442px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintDialog { background-position: -288px -1650px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintDialogLarge { background-position: -374px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintLarge { background-position: 0px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintLayoutView { background-position: -504px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintLayoutViewLarge { background-position: -204px -748px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintPreviewBrowser { background-position: -36px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_PrintPreviewBrowserLarge { background-position: -136px -1190px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ProtectDocument { background-position: -198px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ProtectDocumentLarge { background-position: 0px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ReadingLayoutView { background-position: -396px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ReadingLayoutViewLarge { background-position: 0px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Redo { background-position: -54px -2028px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_RedoLarge { background-position: -442px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Replace { background-position: -234px -1884px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ReplaceLarge { background-position: -374px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Reviewers { background-position: -108px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ReviewersLarge { background-position: -408px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ReviewingPane { background-position: -288px -1704px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ReviewingPaneLarge { background-position: -306px -680px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_RightColumns { background-position: 0px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_RulerHorizontal { background-position: -342px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_RulerHorizontalLarge { background-position: -442px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_RulerVertical { background-position: -126px -2028px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_RulerVerticalLarge { background-position: -442px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Save { background-position: -216px -1812px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SaveAll { background-position: -504px -1848px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SaveAllLarge { background-position: -238px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SaveAs { background-position: -342px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SaveAsLarge { background-position: -442px -1258px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SaveLarge { background-position: -306px -952px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Select { background-position: -90px -2028px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectAll { background-position: -396px -1812px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectAllLarge { background-position: -170px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectLarge { background-position: -204px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTable { background-position: -468px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTableCell { background-position: -486px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTableCellLarge { background-position: -238px -1326px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTableColumn { background-position: -414px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTableColumnLarge { background-position: -442px -1292px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTableLarge { background-position: -34px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTableRow { background-position: -18px -1812px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SelectTableRowLarge { background-position: -374px -1394px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Shading { background-position: -180px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShadingLarge { background-position: -442px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldCodes { background-position: 0px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldCodesLarge { background-position: -306px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldResults { background-position: -450px -1866px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowAllFieldResultsLarge { background-position: -170px -1258px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowComments { background-position: -500px -1598px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowCommentsLarge { background-position: -170px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowHidden { background-position: -306px -1830px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ShowHiddenLarge { background-position: -34px -782px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SimpleView { background-position: -510px -102px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SimpleViewLarge { background-position: -136px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SpacingDecrease { background-position: -72px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SpacingDecreaseLarge { background-position: -136px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SpellCheck { background-position: -36px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SpellCheckAsYouType { background-position: -288px -1830px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SpellCheckAsYouTypeLarge { background-position: -374px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SpellCheckLarge { background-position: -136px -1156px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SplitTable { background-position: -414px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SplitTableCells { background-position: -432px -1830px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SplitTableCellsLarge { background-position: -272px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SplitTableLarge { background-position: 0px -1598px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Strikeout { background-position: -18px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_StrikeoutDouble { background-position: -162px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_StrikeoutDoubleLarge { background-position: -306px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_StrikeoutLarge { background-position: -476px -272px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Subscript { background-position: -252px -1812px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SubscriptLarge { background-position: -238px -408px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Superscript { background-position: -90px -1758px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SuperscriptLarge { background-position: -442px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Symbol { background-position: -126px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_SymbolLarge { background-position: -102px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitContents { background-position: -288px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitContentsLarge { background-position: -272px -986px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitWindow { background-position: -486px -1758px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableAutoFitWindowLarge { background-position: -204px -918px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableCellMargins { background-position: -90px -1830px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableCellMarginsLarge { background-position: -272px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableFixedColumnWidth { background-position: -450px -1974px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableFixedColumnWidthLarge { background-position: -272px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TableProperties { background-position: -162px -1866px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TablePropertiesLarge { background-position: -476px -748px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapBehind { background-position: -36px -1956px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapBehindLarge { background-position: -68px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInFrontOfText { background-position: -270px -1722px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge { background-position: -238px -374px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInline { background-position: -288px -1866px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapInlineLarge { background-position: -34px -340px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapSquare { background-position: -432px -1776px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapSquareLarge { background-position: -272px -1224px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapThrough { background-position: -162px -1758px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapThroughLarge { background-position: -238px -1292px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTight { background-position: -504px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTightLarge { background-position: -374px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTopAndBottom { background-position: -180px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge { background-position: -136px -884px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ThreeColumns { background-position: -238px -1054px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ToggleFieldCodes { background-position: 0px -1740px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ToggleFieldCodesLarge { background-position: -204px -714px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_TwoColumns { background-position: -204px -1224px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Underline { background-position: -234px -1794px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UnderlineDouble { background-position: -144px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UnderlineDoubleLarge { background-position: 0px -578px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UnderlineLarge { background-position: -442px -1020px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UnderlineWord { background-position: -432px -1686px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UnderlineWordLarge { background-position: -340px -442px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_Undo { background-position: -108px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UndoLarge { background-position: -68px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UnprotectDocument { background-position: -72px -1830px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UnprotectDocumentLarge { background-position: -476px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UpdateField { background-position: -180px -1812px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UpdateFieldLarge { background-position: -34px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UpdateTableOfContents { background-position: -324px -1920px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_UpdateTableOfContentsLarge { background-position: -340px -1564px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ViewMergedData { background-position: -450px -2010px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ViewMergedDataLarge { background-position: -170px -612px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ViewTableGridlines { background-position: -198px -1902px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ViewTableGridlinesLarge { background-position: -408px -476px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ZoomIn { background-position: -54px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ZoomInLarge { background-position: -374px -544px; width: 32px; height: 32px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ZoomOut { background-position: -18px -1938px; width: 16px; height: 16px } 
.dxr-itemHover .dxRichEdit_GWTIcons_ZoomOutLarge { background-position: -170px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AddParagraphToTableOfContents { background-position: -396px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AddParagraphToTableOfContentsLarge { background-position: -204px -782px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomCenter { background-position: -468px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomCenterLarge { background-position: -34px -408px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomLeft { background-position: -306px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomLeftLarge { background-position: -476px -986px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomRight { background-position: -90px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignBottomRightLarge { background-position: -272px -612px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignCenter { background-position: -18px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignCenterLarge { background-position: -442px -1326px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenter { background-position: -450px -1956px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomCenterLarge { background-position: -68px -1496px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeft { background-position: -36px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomLeftLarge { background-position: -204px -1088px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRight { background-position: -72px -2028px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectBottomRightLarge { background-position: -272px -306px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenter { background-position: -36px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleCenterLarge { background-position: -408px -1462px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeft { background-position: 0px -1812px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleLeftLarge { background-position: -408px -544px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRight { background-position: -270px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectMiddleRightLarge { background-position: -238px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenter { background-position: -252px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopCenterLarge { background-position: -170px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeft { background-position: -180px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopLeftLarge { background-position: -204px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopRight { background-position: -180px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignFloatingObjectTopRightLarge { background-position: -272px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignJustify { background-position: -36px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignJustifyLarge { background-position: -306px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignLeft { background-position: 0px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignLeftLarge { background-position: -374px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleCenter { background-position: -126px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleCenterLarge { background-position: -102px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleLeft { background-position: -288px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleLeftLarge { background-position: -442px -340px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleRight { background-position: -126px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignMiddleRightLarge { background-position: -34px -1530px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignRight { background-position: -450px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignRightLarge { background-position: -408px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopCenter { background-position: -324px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopCenterLarge { background-position: -204px -646px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopLeft { background-position: -432px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopLeftLarge { background-position: -408px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopRight { background-position: 0px -1884px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_AlignTopRightLarge { background-position: -476px -340px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Background { background-position: -180px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BackgroundLarge { background-position: -68px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Bold { background-position: -342px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BoldLarge { background-position: -102px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Bookmark { background-position: -162px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BookmarkLarge { background-position: -170px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderAllLarge { background-position: -136px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderBottom { background-position: -360px -1776px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderBottomLarge { background-position: -408px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalDown { background-position: -486px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalDownLarge { background-position: -34px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalUp { background-position: -108px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderDiagonalUpLarge { background-position: -34px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideHorizontal { background-position: -162px -1812px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideHorizontalLarge { background-position: -102px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideVertical { background-position: -306px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderInsideVerticalLarge { background-position: -136px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderLeft { background-position: -18px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderLeftLarge { background-position: -204px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderNone { background-position: -54px -1884px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderNoneLarge { background-position: -238px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderRight { background-position: -378px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderRightLarge { background-position: -306px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersAll { background-position: -252px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersAllLarge { background-position: -340px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersAndShading { background-position: -342px -1632px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersAndShadingLarge { background-position: -408px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersBoxLarge { background-position: -442px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersCustomLarge { background-position: -476px 0px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersGridLarge { background-position: 0px -34px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersInside { background-position: -396px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersInsideLarge { background-position: -408px -680px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersNoneLarge { background-position: -476px -408px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersOutside { background-position: -306px -1884px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BordersOutsideLarge { background-position: -442px -918px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderTop { background-position: -510px -748px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_BorderTopLarge { background-position: -272px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ChangeFontStyle { background-position: -468px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ChangeFontStyleLarge { background-position: -306px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ChangeTextCase { background-position: -126px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ChangeTextCaseLarge { background-position: -306px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ClearFormatting { background-position: -252px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ClearFormattingLarge { background-position: -272px -408px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ClearTableStyle { background-position: -216px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ClearTableStyleLarge { background-position: -170px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_CloseHeaderAndFooter { background-position: -414px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_CloseHeaderAndFooterLarge { background-position: -170px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Columns { background-position: -414px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsLarge { background-position: -136px -952px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsLeft { background-position: -198px -1956px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsLeftLarge { background-position: -306px -340px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsOne { background-position: -144px -1668px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsOneLarge { background-position: -476px -476px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsRight { background-position: -270px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsRightLarge { background-position: -34px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsThree { background-position: -18px -2028px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsThreeLarge { background-position: -102px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsTwo { background-position: -378px -1884px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ColumnsTwoLarge { background-position: -340px -1394px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Copy { background-position: -450px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_CopyLarge { background-position: -374px -476px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Cut { background-position: -90px -1884px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_CutLarge { background-position: -340px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Delete { background-position: -482px -1598px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Delete_Hyperlink { background-position: -216px -1776px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Delete_HyperlinkLarge { background-position: -476px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteComment { background-position: -18px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteCommentLarge { background-position: -408px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteLarge { background-position: -442px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTable { background-position: -234px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableCells { background-position: -36px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableCellsLarge { background-position: -476px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableColumns { background-position: -468px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableColumnsLarge { background-position: 0px -374px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableLarge { background-position: -204px -1496px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableRows { background-position: -216px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DeleteTableRowsLarge { background-position: 0px -170px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DifferentFirstPage { background-position: -468px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DifferentFirstPageLarge { background-position: -340px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DifferentOddEvenPages { background-position: -234px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DifferentOddEvenPagesLarge { background-position: -68px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DraftView { background-position: -510px -850px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_DraftViewLarge { background-position: -442px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_EditRangePermission { background-position: -144px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_EditRangePermissionLarge { background-position: -476px -68px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Find { background-position: -288px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FindLarge { background-position: -442px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_First { background-position: -54px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FirstLarge { background-position: -68px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectAlignment { background-position: -198px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectAlignmentLarge { background-position: -34px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringForward { background-position: -396px -1956px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringForwardLarge { background-position: -272px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfText { background-position: -180px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringInFrontOfTextLarge { background-position: -374px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFront { background-position: -306px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFrontLarge { background-position: -136px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfText { background-position: -504px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectBringToFrontOfTextLarge { background-position: -204px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectFillColor { background-position: -90px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectFillColorLarge { background-position: -238px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectLayoutOptions { background-position: -270px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectLayoutOptionsLarge { background-position: -306px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectOutlineColor { background-position: -72px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectOutlineColorLarge { background-position: -340px -204px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBackward { background-position: -414px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBackwardLarge { background-position: -408px -136px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBehindText { background-position: -306px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendBehindTextLarge { background-position: -306px -408px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendToBack { background-position: -288px -1776px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectSendToBackLarge { background-position: -374px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectTextWrapType { background-position: -342px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FloatingObjectTextWrapTypeLarge { background-position: -306px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Font { background-position: -360px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontColor { background-position: -72px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontColorLarge { background-position: -306px -1496px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontLarge { background-position: -102px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontSize { background-position: -18px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeDecrease { background-position: -216px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeDecreaseLarge { background-position: -306px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeIncrease { background-position: -126px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeIncreaseLarge { background-position: -374px -1224px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FontSizeLarge { background-position: -238px -578px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Footer { background-position: -252px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FooterLarge { background-position: -68px -952px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FullScreen { background-position: -72px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_FullScreenLarge { background-position: -170px -952px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToFooter { background-position: -504px -1668px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToFooterLarge { background-position: -340px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToHeader { background-position: -54px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToHeaderLarge { background-position: -340px -1360px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToNextHeaderFooter { background-position: -216px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToNextHeaderFooterLarge { background-position: -408px -1530px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToPreviousHeaderFooter { background-position: -378px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_GoToPreviousHeaderFooterLarge { background-position: -374px -1088px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Header { background-position: -72px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_HeaderLarge { background-position: -34px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_HiddenText { background-position: -510px -1258px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_HiddenTextLarge { background-position: -170px -1292px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Highlight { background-position: -432px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_HighlightLarge { background-position: -340px -1530px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Hyperlink { background-position: -324px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_HyperlinkLarge { background-position: -476px -1292px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ImagePlaceHolder { background-position: -128px -1598px; width: 28px; height: 28px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_IndentDecrease { background-position: -72px -1776px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_IndentDecreaseLarge { background-position: -204px -1258px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_IndentIncrease { background-position: -396px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_IndentIncreaseLarge { background-position: -272px -1462px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertCaption { background-position: -216px -1956px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertCaptionLarge { background-position: -170px -748px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertColumnBreak { background-position: -126px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertColumnBreakLarge { background-position: 0px -850px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertDataField { background-position: -234px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertDataFieldLarge { background-position: -476px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertEquationCaption { background-position: 0px -1632px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertEquationCaptionLarge { background-position: 0px -1292px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertFigureCaption { background-position: -360px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertFigureCaptionLarge { background-position: -272px -1360px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertFloatingObjectImage { background-position: -180px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertFloatingObjectImageLarge { background-position: -34px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertImage { background-position: -126px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertImageLarge { background-position: -136px -680px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageBreak { background-position: -180px -1740px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageBreakLarge { background-position: 0px -782px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageCount { background-position: -468px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageCountLarge { background-position: -102px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageNumber { background-position: -36px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertPageNumberLarge { background-position: -136px -1258px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakContinuous { background-position: -162px -1884px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakContinuousLarge { background-position: -204px -612px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakEvenPage { background-position: -510px -1122px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakEvenPageLarge { background-position: -442px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakNextPage { background-position: -90px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakNextPageLarge { background-position: -374px -374px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakOddPage { background-position: -356px -1598px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertSectionBreakOddPageLarge { background-position: -340px -1462px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTable { background-position: -414px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCaption { background-position: -54px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCaptionLarge { background-position: -408px -306px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCells { background-position: -90px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableCellsLarge { background-position: -340px -306px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeft { background-position: -486px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheLeftLarge { background-position: -306px -306px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheRight { background-position: -144px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableColumnsToTheRightLarge { background-position: -34px -238px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableLarge { background-position: -408px -238px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfCaptions { background-position: -18px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfCaptionsLarge { background-position: -374px -578px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfContents { background-position: -468px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfContentsLarge { background-position: -170px -510px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfEquations { background-position: -270px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfEquationsLarge { background-position: -68px -714px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfFigures { background-position: -252px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableOfFiguresLarge { background-position: -102px -238px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsAbove { background-position: -468px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsAboveLarge { background-position: 0px -1530px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsBelow { background-position: -510px -1054px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTableRowsBelowLarge { background-position: -170px -1224px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTextBox { background-position: -510px -238px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_InsertTextBoxLarge { background-position: -34px -1326px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Italic { background-position: -486px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ItalicLarge { background-position: -68px -442px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Language { background-position: -446px -1598px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LanguageLarge { background-position: -68px -1564px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Last { background-position: -510px -1530px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LastLarge { background-position: -408px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LeftColumns { background-position: -442px -1190px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LineNumbering { background-position: -510px -442px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LineNumberingLarge { background-position: -136px -1088px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LineSpacing { background-position: -510px -374px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LineSpacingLarge { background-position: -340px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LinkToPrevious { background-position: -212px -1598px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_LinkToPreviousLarge { background-position: -170px -1190px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ListBullets { background-position: -194px -1598px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ListBulletsLarge { background-position: -238px -1156px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ListMultilevel { background-position: -176px -1598px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ListMultilevelLarge { background-position: -170px -306px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ListNumbers { background-position: -144px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ListNumbersLarge { background-position: -476px -374px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_MailMerge { background-position: -510px -782px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_MailMergeLarge { background-position: -408px -374px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_MergeTableCells { background-position: -432px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_MergeTableCellsLarge { background-position: -34px -306px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ModifyStyle { background-position: -432px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ModifyStyleLarge { background-position: -306px -374px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ModifyTableStyle { background-position: -252px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ModifyTableStyleLarge { background-position: 0px -1258px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_New { background-position: -198px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NewComment { background-position: -270px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NewCommentLarge { background-position: -136px -1122px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NewLarge { background-position: -442px -1360px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NewTableStyle { background-position: -288px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NewTableStyleLarge { background-position: -476px -1564px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Next { background-position: -252px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NextComment { background-position: -72px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NextCommentLarge { background-position: -238px -1088px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_NextLarge { background-position: -476px -1088px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_OneColumn { background-position: -68px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Open { background-position: -108px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_OpenLarge { background-position: -34px -952px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageColor { background-position: -360px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageColorLarge { background-position: -306px -1122px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMargins { background-position: -510px -1326px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsLarge { background-position: -102px -1462px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsModerate { background-position: -414px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsModerateLarge { background-position: -68px -340px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNarrow { background-position: -414px -1884px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNarrowLarge { background-position: -238px -748px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNormal { background-position: -510px -1462px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsNormalLarge { background-position: -272px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsWide { background-position: -90px -1956px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageMarginsWideLarge { background-position: -340px -952px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientation { background-position: -510px -578px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationLandscape { background-position: -54px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationLandscapeLarge { background-position: -238px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationLarge { background-position: -136px -340px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationPortrait { background-position: -504px -1812px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PageOrientationPortraitLarge { background-position: -136px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PaperSize { background-position: -144px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PaperSizeLarge { background-position: -170px -476px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Paragraph { background-position: -108px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ParagraphLarge { background-position: -68px -612px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Paste { background-position: -378px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PasteLarge { background-position: -238px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PasteSpecial { background-position: -234px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PasteSpecialLarge { background-position: -272px -952px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PenColor { background-position: -342px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PenColorLarge { background-position: -204px -1564px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Prev { background-position: -504px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Preview { background-position: -468px -1704px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PreviewLarge { background-position: -68px -1156px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PreviousComment { background-position: -144px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PreviousCommentLarge { background-position: -136px -1530px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrevLarge { background-position: -204px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Print { background-position: -126px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintBrowser { background-position: -144px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintBrowserLarge { background-position: -238px -680px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintDialog { background-position: -324px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintDialogLarge { background-position: -374px -1462px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintLarge { background-position: -68px -748px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintLayoutView { background-position: -468px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintLayoutViewLarge { background-position: -476px -1496px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintPreviewBrowser { background-position: -162px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_PrintPreviewBrowserLarge { background-position: -102px -340px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ProtectDocument { background-position: -198px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ProtectDocumentLarge { background-position: -374px -272px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ReadingLayoutView { background-position: -72px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ReadingLayoutViewLarge { background-position: -34px -1496px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Redo { background-position: -216px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_RedoLarge { background-position: -34px -680px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Replace { background-position: -252px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ReplaceLarge { background-position: 0px -1360px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Reviewers { background-position: -324px -1704px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ReviewersLarge { background-position: -238px -952px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ReviewingPane { background-position: -360px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ReviewingPaneLarge { background-position: -442px -1122px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_RightColumns { background-position: -272px -1394px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_RulerHorizontal { background-position: 0px -1848px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_RulerHorizontalLarge { background-position: -170px -1326px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_RulerVertical { background-position: -126px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_RulerVerticalLarge { background-position: 0px -646px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Save { background-position: -270px -1848px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SaveAll { background-position: -270px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SaveAllLarge { background-position: -238px -1122px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SaveAs { background-position: -54px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SaveAsLarge { background-position: -408px -748px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SaveLarge { background-position: -374px -1292px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Select { background-position: -108px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectAll { background-position: -18px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectAllLarge { background-position: -306px -1190px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectLarge { background-position: -442px -680px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTable { background-position: -54px -1848px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableCell { background-position: -378px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableCellLarge { background-position: -34px -748px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableColumn { background-position: -216px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableColumnLarge { background-position: -170px -1020px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableLarge { background-position: -68px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableRow { background-position: -396px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SelectTableRowLarge { background-position: -476px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Shading { background-position: -510px -510px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShadingLarge { background-position: -102px -1224px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldCodes { background-position: -144px -1812px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldCodesLarge { background-position: -102px -1292px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldResults { background-position: -108px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowAllFieldResultsLarge { background-position: -170px -1156px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowComments { background-position: -324px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowCommentsLarge { background-position: -408px -1326px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowHidden { background-position: -126px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ShowHiddenLarge { background-position: -68px -1122px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SimpleView { background-position: -324px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SimpleViewLarge { background-position: -102px -748px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SpacingDecrease { background-position: -270px -1830px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SpacingDecreaseLarge { background-position: -476px -544px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheck { background-position: -162px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheckAsYouType { background-position: -36px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheckAsYouTypeLarge { background-position: -102px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SpellCheckLarge { background-position: -136px -408px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SplitTable { background-position: -126px -1758px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SplitTableCells { background-position: -90px -1668px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SplitTableCellsLarge { background-position: -476px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SplitTableLarge { background-position: -238px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Strikeout { background-position: -306px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_StrikeoutDouble { background-position: -18px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_StrikeoutDoubleLarge { background-position: -306px -1156px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_StrikeoutLarge { background-position: -170px -1360px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Subscript { background-position: -162px -1974px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SubscriptLarge { background-position: -102px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Superscript { background-position: -306px -1722px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SuperscriptLarge { background-position: -102px -612px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Symbol { background-position: -288px -1956px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_SymbolLarge { background-position: -204px -544px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitContents { background-position: -324px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitContentsLarge { background-position: -476px -884px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitWindow { background-position: -270px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableAutoFitWindowLarge { background-position: -272px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableCellMargins { background-position: -342px -1920px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableCellMarginsLarge { background-position: -68px -1530px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableFixedColumnWidth { background-position: -144px -1956px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableFixedColumnWidthLarge { background-position: -68px -816px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TableProperties { background-position: -468px -1902px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TablePropertiesLarge { background-position: -34px -1088px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapBehind { background-position: -216px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapBehindLarge { background-position: -374px -1190px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInFrontOfText { background-position: -198px -1812px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInFrontOfTextLarge { background-position: -476px -1258px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInline { background-position: -288px -2010px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapInlineLarge { background-position: -408px -1394px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapSquare { background-position: -108px -1938px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapSquareLarge { background-position: -102px -1530px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapThrough { background-position: -234px -1812px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapThroughLarge { background-position: -34px -1156px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTight { background-position: -234px -1650px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTightLarge { background-position: -306px -510px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTopAndBottom { background-position: -510px -34px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TextWrapTopAndBottomLarge { background-position: -306px -1292px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ThreeColumns { background-position: -374px -1156px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ToggleFieldCodes { background-position: -36px -1668px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ToggleFieldCodesLarge { background-position: -374px -1428px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_TwoColumns { background-position: -68px -1360px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Underline { background-position: -36px -1686px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineDouble { background-position: -378px -1632px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineDoubleLarge { background-position: -408px -1564px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineLarge { background-position: -170px -680px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineWord { background-position: -360px -1866px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UnderlineWordLarge { background-position: -102px -680px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_Undo { background-position: -378px -1704px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UndoLarge { background-position: -408px -1360px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UnprotectDocument { background-position: -432px -1704px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UnprotectDocumentLarge { background-position: -204px -1292px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UpdateField { background-position: -198px -1794px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UpdateFieldLarge { background-position: -136px -476px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UpdateTableOfContents { background-position: -18px -1632px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_UpdateTableOfContentsLarge { background-position: -170px -1088px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ViewMergedData { background-position: -396px -1632px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ViewMergedDataLarge { background-position: -340px -748px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ViewTableGridlines { background-position: -450px -1632px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ViewTableGridlinesLarge { background-position: -476px -1394px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ZoomIn { background-position: -306px -1812px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ZoomInLarge { background-position: 0px -918px; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ZoomOut { background-position: -504px -1992px; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_GWTIcons_ZoomOutLarge { background-position: -442px -952px; width: 32px; height: 32px } 
    e{  .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignBottomCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignBottomCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignBottomLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignBottomLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignBottomRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignBottomRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignJustifyNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignJustifyLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignMiddleCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignMiddleCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignMiddleLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignMiddleLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignMiddleRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignMiddleRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignTopCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignTopCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignTopLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignTopLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignTopRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignTopRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BackgroundNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BackgroundLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BoldNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BoldLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BookmarkNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BookmarkLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderBottomNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderBottomLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderInsideHorizontalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderInsideHorizontalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderInsideVerticalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderInsideVerticalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderNoneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderNoneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersAllNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersAllLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersBoxNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersBoxLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersCustomNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersCustomLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersGridNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersGridLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersInsideNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersInsideLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersNoneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersNoneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersOutsideNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersOutsideLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderTopNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderTopLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ChangeFontStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ChangeFontStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ChangeTextCaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ChangeTextCaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ClearFormattingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ClearFormattingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ClearTableStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ClearTableStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_CloseHeaderAndFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnOneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnOneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsOneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsOneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsThreeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsThreeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsTwoNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsTwoLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_CopyNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_CopyLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_CutNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_CutLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableRowsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableRowsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_Delete_HyperlinkNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_Delete_HyperlinkLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DifferentFirstPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DifferentFirstPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DifferentOddEvenPagesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DraftViewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DraftViewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_EditRangePermissionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_EditRangePermissionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FindNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FindLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FirstNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FirstLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectAlignmentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringForwardNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectFillColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectFillColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectOutlineColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectSendBackwardNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectSendToBackNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontSizeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontSizeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontSizeDecreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontSizeDecreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontSizeIncreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontSizeIncreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FullScreenNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FullScreenLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToHeaderNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToHeaderLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToNextHeaderFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_HeaderNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_HeaderLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_HighlightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_HighlightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_HyperlinkNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_HyperlinkLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ImagePlaceHolderNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ImagePlaceHolderLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_IndentDecreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_IndentDecreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_IndentIncreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_IndentIncreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertColumnBreakNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertColumnBreakLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertDataFieldNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertDataFieldLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertEquationCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertEquationCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertFigureCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertFigureCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertFloatingObjectImageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertImageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertImageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertPageBreakNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertPageBreakLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertPageCountNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertPageCountLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertPageNumberNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertPageNumberLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakContinuousNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakNextPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakOddPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfCaptionsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfEquationsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfEquationsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfFiguresNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfFiguresLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableRowsAboveNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableRowsAboveLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableRowsBelowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableRowsBelowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTextBoxNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTextBoxLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ItalicNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ItalicLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LanguageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LanguageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LastNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LastLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LeftColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LeftColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LineNumberingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LineNumberingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LineSpacingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LineSpacingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LinkToPreviousNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LinkToPreviousLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ListBulletsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ListBulletsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ListMultilevelNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ListMultilevelLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ListNumbersNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ListNumbersLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_MailMergeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_MailMergeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_MergeTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_MergeTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ModifyTableStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ModifyTableStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NewCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NewCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NewTableStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NewTableStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NextCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NextCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_OneColumnNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_OneColumnLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_OpenNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_OpenLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsModerateNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsModerateLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsNarrowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsNarrowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsNormalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsNormalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsWideNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsWideLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageOrientationNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageOrientationLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageOrientationLandscapeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageOrientationLandscapeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageOrientationPortraitNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageOrientationPortraitLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PaperSizeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PaperSizeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ParagraphNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ParagraphLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PasteNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PasteLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PasteSpecialNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PasteSpecialLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PenColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PenColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrevNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrevLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PreviewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PreviewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PreviousCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PreviousCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintBrowserNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintBrowserLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintDialogNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintDialogLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintLayoutViewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintLayoutViewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintPreviewBrowserNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintPreviewBrowserLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ProtectDocumentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ProtectDocumentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RedoNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RedoLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ReplaceNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ReplaceLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ReviewersNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ReviewersLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ReviewingPaneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ReviewingPaneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RightColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RightColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RulerHorizontalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RulerHorizontalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RulerVerticalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RulerVerticalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SaveNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SaveLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SaveAsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SaveAsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectAllNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectAllLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableCellNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableCellLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableColumnNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableColumnLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableRowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableRowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShadingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShadingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowAllFieldCodesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowAllFieldCodesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowAllFieldResultsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowAllFieldResultsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowCommentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowCommentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowHiddenNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowHiddenLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SimpleViewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SimpleViewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SpacingDecreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SpacingDecreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SpellCheckNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SpellCheckLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SpellCheckAsYouTypeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SplitTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SplitTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SplitTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SplitTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_StrikeoutNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_StrikeoutLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_StrikeoutDoubleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_StrikeoutDoubleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SubscriptNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SubscriptLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SuperscriptNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SuperscriptLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SymbolNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SymbolLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableAutoFitContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableAutoFitContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableAutoFitWindowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableAutoFitWindowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableCellMarginsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableCellMarginsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableFixedColumnWidthNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableFixedColumnWidthLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TablePropertiesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TablePropertiesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapBehindNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapBehindLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapInFrontOfTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapInlineNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapInlineLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapSquareNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapSquareLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapThroughNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapThroughLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapTightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapTightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapTopAndBottomNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ThreeColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ThreeColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ToggleFieldCodesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ToggleFieldCodesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TwoColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TwoColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UnderlineNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UnderlineLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UnderlineDoubleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UnderlineDoubleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UndoNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UndoLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UnprotectDocumentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UnprotectDocumentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UpdateFieldNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UpdateFieldLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UpdateTableOfContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UpdateTableOfContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ViewMergedDataNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ViewMergedDataLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ViewTableGridlinesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ViewTableGridlinesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ZoomInNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ZoomInLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ZoomOutNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ZoomOutLargeNew { width: 32px; height: 32px; }        e{  .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignBottomCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignBottomCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignBottomLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignBottomLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignBottomRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignBottomRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignJustifyNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignJustifyLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignMiddleCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignMiddleCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignMiddleLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignMiddleLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignMiddleRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignMiddleRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignTopCenterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignTopCenterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignTopLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignTopLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_AlignTopRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_AlignTopRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BackgroundNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BackgroundLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BoldNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BoldLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BookmarkNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BookmarkLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderBottomNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderBottomLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderInsideHorizontalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderInsideHorizontalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderInsideVerticalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderInsideVerticalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderNoneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderNoneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersAllNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersAllLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersBoxNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersBoxLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersCustomNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersCustomLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersGridNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersGridLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersInsideNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersInsideLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersNoneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersNoneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BordersOutsideNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BordersOutsideLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_BorderTopNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_BorderTopLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ChangeFontStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ChangeFontStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ChangeTextCaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ChangeTextCaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ClearFormattingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ClearFormattingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ClearTableStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ClearTableStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_CloseHeaderAndFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnOneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnOneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsOneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsOneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsThreeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsThreeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ColumnsTwoNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ColumnsTwoLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_CopyNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_CopyLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_CutNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_CutLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DeleteTableRowsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DeleteTableRowsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_Delete_HyperlinkNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_Delete_HyperlinkLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DifferentFirstPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DifferentFirstPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DifferentOddEvenPagesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_DraftViewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_DraftViewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_EditRangePermissionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_EditRangePermissionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FindNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FindLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FirstNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FirstLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectAlignmentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringForwardNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectFillColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectFillColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectOutlineColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectSendBackwardNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectSendToBackNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontSizeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontSizeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontSizeDecreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontSizeDecreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FontSizeIncreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FontSizeIncreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_FullScreenNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_FullScreenLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToHeaderNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToHeaderLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToNextHeaderFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_HeaderNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_HeaderLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_HighlightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_HighlightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_HyperlinkNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_HyperlinkLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ImagePlaceHolderNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ImagePlaceHolderLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_IndentDecreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_IndentDecreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_IndentIncreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_IndentIncreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertColumnBreakNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertColumnBreakLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertDataFieldNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertDataFieldLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertEquationCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertEquationCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertFigureCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertFigureCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertFloatingObjectImageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertImageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertImageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertPageBreakNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertPageBreakLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertPageCountNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertPageCountLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertPageNumberNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertPageNumberLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakContinuousNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakNextPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertSectionBreakOddPageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableCaptionNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableCaptionLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfCaptionsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfEquationsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfEquationsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableOfFiguresNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableOfFiguresLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableRowsAboveNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableRowsAboveLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTableRowsBelowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTableRowsBelowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_InsertTextBoxNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_InsertTextBoxLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ItalicNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ItalicLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LanguageNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LanguageLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LastNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LastLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LeftColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LeftColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LineNumberingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LineNumberingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LineSpacingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LineSpacingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_LinkToPreviousNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_LinkToPreviousLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ListBulletsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ListBulletsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ListMultilevelNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ListMultilevelLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ListNumbersNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ListNumbersLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_MailMergeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_MailMergeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_MergeTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_MergeTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ModifyTableStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ModifyTableStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NewCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NewCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NewTableStyleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NewTableStyleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_NextCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_NextCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_OneColumnNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_OneColumnLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_OpenNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_OpenLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsModerateNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsModerateLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsNarrowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsNarrowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsNormalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsNormalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageMarginsWideNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageMarginsWideLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageOrientationNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageOrientationLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageOrientationLandscapeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageOrientationLandscapeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PageOrientationPortraitNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PageOrientationPortraitLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PaperSizeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PaperSizeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ParagraphNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ParagraphLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PasteNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PasteLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PasteSpecialNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PasteSpecialLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PenColorNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PenColorLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrevNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrevLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PreviewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PreviewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PreviousCommentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PreviousCommentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintBrowserNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintBrowserLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintDialogNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintDialogLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintLayoutViewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintLayoutViewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_PrintPreviewBrowserNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_PrintPreviewBrowserLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ProtectDocumentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ProtectDocumentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RedoNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RedoLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ReplaceNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ReplaceLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ReviewersNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ReviewersLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ReviewingPaneNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ReviewingPaneLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RightColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RightColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RulerHorizontalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RulerHorizontalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_RulerVerticalNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_RulerVerticalLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SaveNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SaveLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SaveAsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SaveAsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectAllNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectAllLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableCellNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableCellLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableColumnNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableColumnLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SelectTableRowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SelectTableRowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShadingNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShadingLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowAllFieldCodesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowAllFieldCodesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowAllFieldResultsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowAllFieldResultsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowCommentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowCommentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ShowHiddenNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ShowHiddenLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SimpleViewNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SimpleViewLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SpacingDecreaseNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SpacingDecreaseLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SpellCheckNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SpellCheckLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SpellCheckAsYouTypeNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SplitTableNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SplitTableLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SplitTableCellsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SplitTableCellsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_StrikeoutNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_StrikeoutLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_StrikeoutDoubleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_StrikeoutDoubleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SubscriptNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SubscriptLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SuperscriptNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SuperscriptLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_SymbolNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_SymbolLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableAutoFitContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableAutoFitContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableAutoFitWindowNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableAutoFitWindowLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableCellMarginsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableCellMarginsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TableFixedColumnWidthNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TableFixedColumnWidthLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TablePropertiesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TablePropertiesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapBehindNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapBehindLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapInFrontOfTextNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapInlineNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapInlineLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapSquareNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapSquareLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapThroughNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapThroughLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapTightNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapTightLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TextWrapTopAndBottomNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ThreeColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ThreeColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ToggleFieldCodesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ToggleFieldCodesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_TwoColumnsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_TwoColumnsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UnderlineNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UnderlineLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UnderlineDoubleNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UnderlineDoubleLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UndoNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UndoLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UnprotectDocumentNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UnprotectDocumentLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UpdateFieldNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UpdateFieldLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_UpdateTableOfContentsNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_UpdateTableOfContentsLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ViewMergedDataNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ViewMergedDataLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ViewTableGridlinesNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ViewTableGridlinesLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ZoomInNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ZoomInLargeNew { width: 32px; height: 32px; } .dxRichEdit_SVGIcon_ZoomOutNew { width: 16px; height: 16px; } .dxRichEdit_SVGIcon_ZoomOutLargeNew { width: 32px; height: 32px; }        	  
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge { background-position: -538px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeDisabled { background-position: -1614px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomCenterLarge { background-position: -1014px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomCenterLargeDisabled { background-position: -2090px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomLeftLarge { background-position: -878px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomLeftLargeDisabled { background-position: -1954px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomRightLarge { background-position: -674px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomRightLargeDisabled { background-position: -1750px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignCenterLarge { background-position: -606px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignCenterLargeDisabled { background-position: -1682px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge { background-position: -640px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeDisabled { background-position: -1716px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge { background-position: -912px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeDisabled { background-position: -1988px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge { background-position: -572px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeDisabled { background-position: -1648px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge { background-position: -606px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeDisabled { background-position: -1682px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge { background-position: -640px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeDisabled { background-position: -1716px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge { background-position: -674px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeDisabled { background-position: -1750px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge { background-position: -708px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeDisabled { background-position: -1784px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge { background-position: -776px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeDisabled { background-position: -1852px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge { background-position: -776px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeDisabled { background-position: -1852px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignJustifyLarge { background-position: -810px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignJustifyLargeDisabled { background-position: -1886px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignLeftLarge { background-position: -844px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignLeftLargeDisabled { background-position: -1920px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLarge { background-position: -878px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLargeDisabled { background-position: -1954px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLarge { background-position: -946px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLargeDisabled { background-position: -2022px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleRightLarge { background-position: -572px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleRightLargeDisabled { background-position: -1648px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignRightLarge { background-position: -980px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignRightLargeDisabled { background-position: -2056px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopCenterLarge { background-position: -1014px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopCenterLargeDisabled { background-position: -2090px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopLeftLarge { background-position: -538px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopLeftLargeDisabled { background-position: -1614px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopRightLarge { background-position: -640px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopRightLargeDisabled { background-position: -1716px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BackgroundLarge { background-position: -1014px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BackgroundLargeDisabled { background-position: -2090px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BoldLarge { background-position: -912px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BoldLargeDisabled { background-position: -1988px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BookmarkLarge { background-position: -1014px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BookmarkLargeDisabled { background-position: -2090px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderBottomLarge { background-position: -742px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderBottomLargeDisabled { background-position: -1818px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLarge { background-position: -708px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLargeDisabled { background-position: -1784px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLarge { background-position: -810px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLargeDisabled { background-position: -1886px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderLeftLarge { background-position: -1014px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderLeftLargeDisabled { background-position: -2090px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderNoneLarge { background-position: -640px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderNoneLargeDisabled { background-position: -1716px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderRightLarge { background-position: -844px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderRightLargeDisabled { background-position: -1920px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersAllLarge { background-position: -810px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersAllLargeDisabled { background-position: -1886px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersBoxLarge { background-position: -980px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersBoxLargeDisabled { background-position: -2056px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersCustomLarge { background-position: -810px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersCustomLargeDisabled { background-position: -1886px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersGridLarge { background-position: -946px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersGridLargeDisabled { background-position: -2022px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersInsideLarge { background-position: -606px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersInsideLargeDisabled { background-position: -1682px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersNoneLarge { background-position: -708px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersNoneLargeDisabled { background-position: -1784px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersOutsideLarge { background-position: -742px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersOutsideLargeDisabled { background-position: -1818px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderTopLarge { background-position: -776px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderTopLargeDisabled { background-position: -1852px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyleLargeDisabled { background-position: -1416px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeTextCaseLarge { background-position: -776px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeTextCaseLargeDisabled { background-position: -1852px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearFormattingLarge { background-position: -912px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearFormattingLargeDisabled { background-position: -1988px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearTableStyleLarge { background-position: -946px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearTableStyleLargeDisabled { background-position: -2022px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge { background-position: -980px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeDisabled { background-position: -2056px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnOneLarge { background-position: -1014px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnOneLargeDisabled { background-position: -2090px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsLarge { background-position: -572px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsLargeDisabled { background-position: -1648px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsOneLarge { background-position: -572px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsOneLargeDisabled { background-position: -1648px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsThreeLarge { background-position: -674px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsThreeLargeDisabled { background-position: -1750px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsTwoLarge { background-position: -606px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsTwoLargeDisabled { background-position: -1682px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CopyLarge { background-position: -538px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CopyLargeDisabled { background-position: -1614px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CutLarge { background-position: -844px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CutLargeDisabled { background-position: -1920px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteLarge { background-position: -912px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteLargeDisabled { background-position: -1988px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLarge { background-position: -946px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLargeDisabled { background-position: -2022px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteCommentLarge { background-position: -708px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteCommentLargeDisabled { background-position: -1784px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableLarge { background-position: -742px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableLargeDisabled { background-position: -1818px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableCellsLarge { background-position: -844px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableCellsLargeDisabled { background-position: -1920px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLarge { background-position: -980px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLargeDisabled { background-position: -2056px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableRowsLarge { background-position: -980px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableRowsLargeDisabled { background-position: -2056px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentFirstPageLarge { background-position: -708px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentFirstPageLargeDisabled { background-position: -1784px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge { background-position: -742px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeDisabled { background-position: -1818px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DraftViewLarge { background-position: -810px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DraftViewLargeDisabled { background-position: -1886px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_EditRangePermissionLarge { background-position: -538px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_EditRangePermissionLargeDisabled { background-position: -1614px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FindLarge { background-position: -340px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FindLargeDisabled { background-position: -1416px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FirstLarge { background-position: -674px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FirstLargeDisabled { background-position: -1750px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge { background-position: -776px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeDisabled { background-position: -1852px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge { background-position: -538px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeDisabled { background-position: -1614px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge { background-position: -674px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeDisabled { background-position: -1750px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge { background-position: -912px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeDisabled { background-position: -1988px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge { background-position: -912px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeDisabled { background-position: -1988px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLarge { background-position: -912px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLargeDisabled { background-position: -1988px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge { background-position: -572px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeDisabled { background-position: -1648px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge { background-position: -946px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeDisabled { background-position: -2022px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge { background-position: -844px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeDisabled { background-position: -1920px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge { background-position: -878px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeDisabled { background-position: -1954px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge { background-position: -912px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeDisabled { background-position: -1988px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge { background-position: -946px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeDisabled { background-position: -2022px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontLarge { background-position: 0px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontLargeDisabled { background-position: -1076px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontColorLarge { background-position: -538px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontColorLargeDisabled { background-position: -1614px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeLarge { background-position: -1014px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeLargeDisabled { background-position: -2090px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLarge { background-position: -844px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLargeDisabled { background-position: -1920px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLarge { background-position: -606px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLargeDisabled { background-position: -1682px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FooterLarge { background-position: -878px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FooterLargeDisabled { background-position: -1954px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FullScreenLarge { background-position: -606px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FullScreenLargeDisabled { background-position: -1682px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToFooterLarge { background-position: -640px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToFooterLargeDisabled { background-position: -1716px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToHeaderLarge { background-position: -742px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToHeaderLargeDisabled { background-position: -1818px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge { background-position: -674px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeDisabled { background-position: -1750px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge { background-position: -640px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeDisabled { background-position: -1716px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HeaderLarge { background-position: -776px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HeaderLargeDisabled { background-position: -1852px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HighlightLarge { background-position: -742px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HighlightLargeDisabled { background-position: -1818px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HyperlinkLarge { background-position: -946px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HyperlinkLargeDisabled { background-position: -2022px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLarge { background-position: -640px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLargeDisabled { background-position: -1716px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentDecreaseLarge { background-position: -538px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentDecreaseLargeDisabled { background-position: -1614px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentIncreaseLarge { background-position: -912px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentIncreaseLargeDisabled { background-position: -1988px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertCaptionLarge { background-position: -980px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertCaptionLargeDisabled { background-position: -2056px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertColumnBreakLarge { background-position: -912px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertColumnBreakLargeDisabled { background-position: -1988px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertDataFieldLarge { background-position: -572px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertDataFieldLargeDisabled { background-position: -1648px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLarge { background-position: -674px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLargeDisabled { background-position: -1750px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLarge { background-position: -810px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLargeDisabled { background-position: -1886px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge { background-position: -810px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeDisabled { background-position: -1886px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertImageLarge { background-position: -708px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertImageLargeDisabled { background-position: -1784px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageBreakLarge { background-position: -708px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageBreakLargeDisabled { background-position: -1784px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageCountLarge { background-position: -606px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageCountLargeDisabled { background-position: -1682px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageNumberLarge { background-position: -844px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageNumberLargeDisabled { background-position: -1920px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge { background-position: -572px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeDisabled { background-position: -1648px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge { background-position: -640px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeDisabled { background-position: -1716px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge { background-position: -844px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeDisabled { background-position: -1920px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge { background-position: -776px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeDisabled { background-position: -1852px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableLarge { background-position: -742px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableLargeDisabled { background-position: -1818px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCaptionLarge { background-position: -980px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCaptionLargeDisabled { background-position: -2056px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCellsLarge { background-position: -776px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCellsLargeDisabled { background-position: -1852px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge { background-position: -810px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeDisabled { background-position: -1886px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge { background-position: -844px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeDisabled { background-position: -1920px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge { background-position: -912px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeDisabled { background-position: -1988px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLarge { background-position: -742px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLargeDisabled { background-position: -1818px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLarge { background-position: -946px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLargeDisabled { background-position: -2022px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLarge { background-position: -980px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLargeDisabled { background-position: -2056px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLarge { background-position: -1014px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLargeDisabled { background-position: -2090px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLarge { background-position: -538px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLargeDisabled { background-position: -1614px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTextBoxLarge { background-position: -572px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTextBoxLargeDisabled { background-position: -1648px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ItalicLarge { background-position: -810px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ItalicLargeDisabled { background-position: -1886px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LanguageLarge { background-position: -708px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LanguageLargeDisabled { background-position: -1784px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LastLarge { background-position: -708px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LastLargeDisabled { background-position: -1784px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LeftColumnsLarge { background-position: -878px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LeftColumnsLargeDisabled { background-position: -1954px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineNumberingLarge { background-position: -1014px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineNumberingLargeDisabled { background-position: -2090px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineSpacingLarge { background-position: -674px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineSpacingLargeDisabled { background-position: -1750px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LinkToPreviousLarge { background-position: -776px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LinkToPreviousLargeDisabled { background-position: -1852px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListBulletsLarge { background-position: -640px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListBulletsLargeDisabled { background-position: -1716px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListMultilevelLarge { background-position: -538px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListMultilevelLargeDisabled { background-position: -1614px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListNumbersLarge { background-position: -1014px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListNumbersLargeDisabled { background-position: -2090px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MailMergeLarge { background-position: -640px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MailMergeLargeDisabled { background-position: -1716px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MergeTableCellsLarge { background-position: -640px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MergeTableCellsLargeDisabled { background-position: -1716px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ModifyTableStyleLarge { background-position: -640px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ModifyTableStyleLargeDisabled { background-position: -1716px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewLarge { background-position: -674px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewLargeDisabled { background-position: -1750px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewCommentLarge { background-position: -742px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewCommentLargeDisabled { background-position: -1818px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewTableStyleLarge { background-position: -776px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewTableStyleLargeDisabled { background-position: -1852px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextLarge { background-position: -538px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextLargeDisabled { background-position: -1614px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextCommentLarge { background-position: -742px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextCommentLargeDisabled { background-position: -1818px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OneColumnLarge { background-position: -946px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OneColumnLargeDisabled { background-position: -2022px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OpenLarge { background-position: -572px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OpenLargeDisabled { background-position: -1648px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageColorLarge { background-position: -606px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageColorLargeDisabled { background-position: -1682px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsLarge { background-position: -640px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsLargeDisabled { background-position: -1716px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsModerateLarge { background-position: -674px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsModerateLargeDisabled { background-position: -1750px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLarge { background-position: -708px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLargeDisabled { background-position: -1784px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNormalLarge { background-position: -742px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNormalLargeDisabled { background-position: -1818px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsWideLarge { background-position: -776px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsWideLargeDisabled { background-position: -1852px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLarge { background-position: -810px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLargeDisabled { background-position: -1886px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLarge { background-position: -844px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLargeDisabled { background-position: -1920px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLarge { background-position: -878px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLargeDisabled { background-position: -1954px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PaperSizeLarge { background-position: -912px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PaperSizeLargeDisabled { background-position: -1988px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ParagraphLarge { background-position: -136px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ParagraphLargeDisabled { background-position: -1212px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteLarge { background-position: 0px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteLargeDisabled { background-position: -1076px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteSpecialLarge { background-position: -776px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteSpecialLargeDisabled { background-position: -1852px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PenColorLarge { background-position: -606px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PenColorLargeDisabled { background-position: -1682px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrevLarge { background-position: -606px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrevLargeDisabled { background-position: -1682px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviewLarge { background-position: -946px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviewLargeDisabled { background-position: -2022px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviousCommentLarge { background-position: -572px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviousCommentLargeDisabled { background-position: -1648px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLarge { background-position: -878px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLargeDisabled { background-position: -1954px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintBrowserLarge { background-position: -572px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintBrowserLargeDisabled { background-position: -1648px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintDialogLarge { background-position: -606px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintDialogLargeDisabled { background-position: -1682px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLayoutViewLarge { background-position: -640px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLayoutViewLargeDisabled { background-position: -1716px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLarge { background-position: -742px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLargeDisabled { background-position: -1818px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ProtectDocumentLarge { background-position: -844px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ProtectDocumentLargeDisabled { background-position: -1920px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RedoLarge { background-position: -810px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RedoLargeDisabled { background-position: -1886px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReplaceLarge { background-position: -776px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReplaceLargeDisabled { background-position: -1852px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewersLarge { background-position: -674px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewersLargeDisabled { background-position: -1750px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewingPaneLarge { background-position: -946px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewingPaneLargeDisabled { background-position: -2022px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RightColumnsLarge { background-position: -742px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RightColumnsLargeDisabled { background-position: -1818px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerHorizontalLarge { background-position: -674px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerHorizontalLargeDisabled { background-position: -1750px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerVerticalLarge { background-position: -708px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerVerticalLargeDisabled { background-position: -1784px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveLarge { background-position: -538px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveLargeDisabled { background-position: -1614px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveAsLarge { background-position: -606px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveAsLargeDisabled { background-position: -1682px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectLarge { background-position: -606px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectLargeDisabled { background-position: -1682px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectAllLarge { background-position: -674px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectAllLargeDisabled { background-position: -1750px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableLarge { background-position: -742px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableLargeDisabled { background-position: -1818px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableCellLarge { background-position: -810px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableCellLargeDisabled { background-position: -1886px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableColumnLarge { background-position: -980px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableColumnLargeDisabled { background-position: -2056px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableRowLarge { background-position: -810px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableRowLargeDisabled { background-position: -1886px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShadingLarge { background-position: -844px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShadingLargeDisabled { background-position: -1920px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLarge { background-position: -606px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLargeDisabled { background-position: -1682px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLarge { background-position: -572px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLargeDisabled { background-position: -1648px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowCommentsLarge { background-position: -946px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowCommentsLargeDisabled { background-position: -2022px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowHiddenLarge { background-position: -980px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowHiddenLargeDisabled { background-position: -2056px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SimpleViewLarge { background-position: -946px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SimpleViewLargeDisabled { background-position: -2022px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpacingDecreaseLarge { background-position: -572px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpacingDecreaseLargeDisabled { background-position: -1648px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckLarge { background-position: -606px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckLargeDisabled { background-position: -1682px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge { background-position: -878px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeDisabled { background-position: -1954px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableLarge { background-position: -844px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableLargeDisabled { background-position: -1920px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableCellsLarge { background-position: -572px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableCellsLargeDisabled { background-position: -1648px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutLarge { background-position: -810px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutLargeDisabled { background-position: -1886px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLarge { background-position: -980px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLargeDisabled { background-position: -2056px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SubscriptLarge { background-position: -572px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SubscriptLargeDisabled { background-position: -1648px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SuperscriptLarge { background-position: -640px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SuperscriptLargeDisabled { background-position: -1716px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SymbolLarge { background-position: -878px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SymbolLargeDisabled { background-position: -1954px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLarge { background-position: -912px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLargeDisabled { background-position: -1988px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLarge { background-position: -674px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLargeDisabled { background-position: -1750px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableCellMarginsLarge { background-position: -708px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableCellMarginsLargeDisabled { background-position: -1784px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLarge { background-position: -946px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLargeDisabled { background-position: -2022px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TablePropertiesLarge { background-position: -878px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TablePropertiesLargeDisabled { background-position: -1954px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapBehindLarge { background-position: -1014px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapBehindLargeDisabled { background-position: -2090px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge { background-position: -912px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeDisabled { background-position: -1988px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInlineLarge { background-position: -708px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInlineLargeDisabled { background-position: -1784px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapSquareLarge { background-position: -538px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapSquareLargeDisabled { background-position: -1614px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapThroughLarge { background-position: -708px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapThroughLargeDisabled { background-position: -1784px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTightLarge { background-position: -980px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTightLargeDisabled { background-position: -2056px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge { background-position: -1014px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeDisabled { background-position: -2090px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ThreeColumnsLarge { background-position: -538px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ThreeColumnsLargeDisabled { background-position: -1614px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLarge { background-position: -946px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLargeDisabled { background-position: -2022px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TwoColumnsLarge { background-position: -912px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TwoColumnsLargeDisabled { background-position: -1988px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineLarge { background-position: -878px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineLargeDisabled { background-position: -1954px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineDoubleLarge { background-position: -844px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineDoubleLargeDisabled { background-position: -1920px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UndoLarge { background-position: -810px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UndoLargeDisabled { background-position: -1886px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnprotectDocumentLarge { background-position: -776px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnprotectDocumentLargeDisabled { background-position: -1852px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateFieldLarge { background-position: -742px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateFieldLargeDisabled { background-position: -1818px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLarge { background-position: -708px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLargeDisabled { background-position: -1784px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewMergedDataLarge { background-position: -980px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewMergedDataLargeDisabled { background-position: -2056px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLarge { background-position: -776px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLargeDisabled { background-position: -1852px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomInLarge { background-position: -878px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomInLargeDisabled { background-position: -1954px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomOutLarge { background-position: -980px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomOutLargeDisabled { background-position: -2056px -476px; width: 32px; height: 32px } 
   	  
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge { background-position: -538px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeDisabled { background-position: -1614px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomCenterLarge { background-position: -1014px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomCenterLargeDisabled { background-position: -2090px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomLeftLarge { background-position: -878px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomLeftLargeDisabled { background-position: -1954px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomRightLarge { background-position: -674px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomRightLargeDisabled { background-position: -1750px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignCenterLarge { background-position: -606px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignCenterLargeDisabled { background-position: -1682px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge { background-position: -640px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeDisabled { background-position: -1716px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge { background-position: -912px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeDisabled { background-position: -1988px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge { background-position: -572px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeDisabled { background-position: -1648px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge { background-position: -606px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeDisabled { background-position: -1682px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge { background-position: -640px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeDisabled { background-position: -1716px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge { background-position: -674px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeDisabled { background-position: -1750px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge { background-position: -708px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeDisabled { background-position: -1784px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge { background-position: -776px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeDisabled { background-position: -1852px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge { background-position: -776px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeDisabled { background-position: -1852px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignJustifyLarge { background-position: -810px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignJustifyLargeDisabled { background-position: -1886px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignLeftLarge { background-position: -844px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignLeftLargeDisabled { background-position: -1920px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLarge { background-position: -878px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLargeDisabled { background-position: -1954px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLarge { background-position: -946px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLargeDisabled { background-position: -2022px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleRightLarge { background-position: -572px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleRightLargeDisabled { background-position: -1648px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignRightLarge { background-position: -980px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignRightLargeDisabled { background-position: -2056px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopCenterLarge { background-position: -1014px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopCenterLargeDisabled { background-position: -2090px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopLeftLarge { background-position: -538px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopLeftLargeDisabled { background-position: -1614px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopRightLarge { background-position: -640px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopRightLargeDisabled { background-position: -1716px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BackgroundLarge { background-position: -1014px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BackgroundLargeDisabled { background-position: -2090px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BoldLarge { background-position: -912px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BoldLargeDisabled { background-position: -1988px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BookmarkLarge { background-position: -1014px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BookmarkLargeDisabled { background-position: -2090px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderBottomLarge { background-position: -742px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderBottomLargeDisabled { background-position: -1818px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLarge { background-position: -708px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLargeDisabled { background-position: -1784px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLarge { background-position: -810px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLargeDisabled { background-position: -1886px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderLeftLarge { background-position: -1014px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderLeftLargeDisabled { background-position: -2090px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderNoneLarge { background-position: -640px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderNoneLargeDisabled { background-position: -1716px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderRightLarge { background-position: -844px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderRightLargeDisabled { background-position: -1920px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersAllLarge { background-position: -810px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersAllLargeDisabled { background-position: -1886px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersBoxLarge { background-position: -980px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersBoxLargeDisabled { background-position: -2056px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersCustomLarge { background-position: -810px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersCustomLargeDisabled { background-position: -1886px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersGridLarge { background-position: -946px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersGridLargeDisabled { background-position: -2022px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersInsideLarge { background-position: -606px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersInsideLargeDisabled { background-position: -1682px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersNoneLarge { background-position: -708px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersNoneLargeDisabled { background-position: -1784px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersOutsideLarge { background-position: -742px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersOutsideLargeDisabled { background-position: -1818px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderTopLarge { background-position: -776px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderTopLargeDisabled { background-position: -1852px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyleLargeDisabled { background-position: -1416px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeTextCaseLarge { background-position: -776px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeTextCaseLargeDisabled { background-position: -1852px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearFormattingLarge { background-position: -912px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearFormattingLargeDisabled { background-position: -1988px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearTableStyleLarge { background-position: -946px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearTableStyleLargeDisabled { background-position: -2022px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge { background-position: -980px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeDisabled { background-position: -2056px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnOneLarge { background-position: -1014px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnOneLargeDisabled { background-position: -2090px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsLarge { background-position: -572px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsLargeDisabled { background-position: -1648px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsOneLarge { background-position: -572px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsOneLargeDisabled { background-position: -1648px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsThreeLarge { background-position: -674px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsThreeLargeDisabled { background-position: -1750px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsTwoLarge { background-position: -606px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsTwoLargeDisabled { background-position: -1682px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CopyLarge { background-position: -538px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CopyLargeDisabled { background-position: -1614px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CutLarge { background-position: -844px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CutLargeDisabled { background-position: -1920px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteLarge { background-position: -912px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteLargeDisabled { background-position: -1988px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLarge { background-position: -946px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLargeDisabled { background-position: -2022px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteCommentLarge { background-position: -708px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteCommentLargeDisabled { background-position: -1784px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableLarge { background-position: -742px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableLargeDisabled { background-position: -1818px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableCellsLarge { background-position: -844px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableCellsLargeDisabled { background-position: -1920px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLarge { background-position: -980px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLargeDisabled { background-position: -2056px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableRowsLarge { background-position: -980px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableRowsLargeDisabled { background-position: -2056px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentFirstPageLarge { background-position: -708px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentFirstPageLargeDisabled { background-position: -1784px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge { background-position: -742px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeDisabled { background-position: -1818px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DraftViewLarge { background-position: -810px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DraftViewLargeDisabled { background-position: -1886px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_EditRangePermissionLarge { background-position: -538px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_EditRangePermissionLargeDisabled { background-position: -1614px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FindLarge { background-position: -340px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FindLargeDisabled { background-position: -1416px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FirstLarge { background-position: -674px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FirstLargeDisabled { background-position: -1750px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge { background-position: -776px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeDisabled { background-position: -1852px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge { background-position: -538px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeDisabled { background-position: -1614px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge { background-position: -674px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeDisabled { background-position: -1750px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge { background-position: -912px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeDisabled { background-position: -1988px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge { background-position: -912px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeDisabled { background-position: -1988px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLarge { background-position: -912px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLargeDisabled { background-position: -1988px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge { background-position: -572px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeDisabled { background-position: -1648px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge { background-position: -946px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeDisabled { background-position: -2022px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge { background-position: -844px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeDisabled { background-position: -1920px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge { background-position: -878px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeDisabled { background-position: -1954px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge { background-position: -912px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeDisabled { background-position: -1988px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge { background-position: -946px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeDisabled { background-position: -2022px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontLarge { background-position: 0px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontLargeDisabled { background-position: -1076px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontColorLarge { background-position: -538px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontColorLargeDisabled { background-position: -1614px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeLarge { background-position: -1014px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeLargeDisabled { background-position: -2090px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLarge { background-position: -844px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLargeDisabled { background-position: -1920px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLarge { background-position: -606px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLargeDisabled { background-position: -1682px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FooterLarge { background-position: -878px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FooterLargeDisabled { background-position: -1954px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FullScreenLarge { background-position: -606px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FullScreenLargeDisabled { background-position: -1682px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToFooterLarge { background-position: -640px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToFooterLargeDisabled { background-position: -1716px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToHeaderLarge { background-position: -742px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToHeaderLargeDisabled { background-position: -1818px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge { background-position: -674px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeDisabled { background-position: -1750px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge { background-position: -640px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeDisabled { background-position: -1716px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HeaderLarge { background-position: -776px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HeaderLargeDisabled { background-position: -1852px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HighlightLarge { background-position: -742px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HighlightLargeDisabled { background-position: -1818px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HyperlinkLarge { background-position: -946px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HyperlinkLargeDisabled { background-position: -2022px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLarge { background-position: -640px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLargeDisabled { background-position: -1716px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentDecreaseLarge { background-position: -538px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentDecreaseLargeDisabled { background-position: -1614px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentIncreaseLarge { background-position: -912px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentIncreaseLargeDisabled { background-position: -1988px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertCaptionLarge { background-position: -980px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertCaptionLargeDisabled { background-position: -2056px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertColumnBreakLarge { background-position: -912px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertColumnBreakLargeDisabled { background-position: -1988px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertDataFieldLarge { background-position: -572px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertDataFieldLargeDisabled { background-position: -1648px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLarge { background-position: -674px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLargeDisabled { background-position: -1750px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLarge { background-position: -810px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLargeDisabled { background-position: -1886px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge { background-position: -810px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeDisabled { background-position: -1886px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertImageLarge { background-position: -708px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertImageLargeDisabled { background-position: -1784px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageBreakLarge { background-position: -708px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageBreakLargeDisabled { background-position: -1784px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageCountLarge { background-position: -606px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageCountLargeDisabled { background-position: -1682px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageNumberLarge { background-position: -844px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageNumberLargeDisabled { background-position: -1920px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge { background-position: -572px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeDisabled { background-position: -1648px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge { background-position: -640px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeDisabled { background-position: -1716px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge { background-position: -844px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeDisabled { background-position: -1920px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge { background-position: -776px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeDisabled { background-position: -1852px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableLarge { background-position: -742px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableLargeDisabled { background-position: -1818px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCaptionLarge { background-position: -980px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCaptionLargeDisabled { background-position: -2056px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCellsLarge { background-position: -776px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCellsLargeDisabled { background-position: -1852px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge { background-position: -810px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeDisabled { background-position: -1886px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge { background-position: -844px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeDisabled { background-position: -1920px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge { background-position: -912px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeDisabled { background-position: -1988px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLarge { background-position: -742px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLargeDisabled { background-position: -1818px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLarge { background-position: -946px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLargeDisabled { background-position: -2022px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLarge { background-position: -980px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLargeDisabled { background-position: -2056px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLarge { background-position: -1014px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLargeDisabled { background-position: -2090px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLarge { background-position: -538px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLargeDisabled { background-position: -1614px -102px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTextBoxLarge { background-position: -572px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTextBoxLargeDisabled { background-position: -1648px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ItalicLarge { background-position: -810px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ItalicLargeDisabled { background-position: -1886px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LanguageLarge { background-position: -708px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LanguageLargeDisabled { background-position: -1784px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LastLarge { background-position: -708px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LastLargeDisabled { background-position: -1784px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LeftColumnsLarge { background-position: -878px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LeftColumnsLargeDisabled { background-position: -1954px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineNumberingLarge { background-position: -1014px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineNumberingLargeDisabled { background-position: -2090px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineSpacingLarge { background-position: -674px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineSpacingLargeDisabled { background-position: -1750px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LinkToPreviousLarge { background-position: -776px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LinkToPreviousLargeDisabled { background-position: -1852px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListBulletsLarge { background-position: -640px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListBulletsLargeDisabled { background-position: -1716px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListMultilevelLarge { background-position: -538px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListMultilevelLargeDisabled { background-position: -1614px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListNumbersLarge { background-position: -1014px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListNumbersLargeDisabled { background-position: -2090px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MailMergeLarge { background-position: -640px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MailMergeLargeDisabled { background-position: -1716px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MergeTableCellsLarge { background-position: -640px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MergeTableCellsLargeDisabled { background-position: -1716px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ModifyTableStyleLarge { background-position: -640px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ModifyTableStyleLargeDisabled { background-position: -1716px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewLarge { background-position: -674px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewLargeDisabled { background-position: -1750px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewCommentLarge { background-position: -742px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewCommentLargeDisabled { background-position: -1818px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewTableStyleLarge { background-position: -776px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewTableStyleLargeDisabled { background-position: -1852px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextLarge { background-position: -538px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextLargeDisabled { background-position: -1614px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextCommentLarge { background-position: -742px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextCommentLargeDisabled { background-position: -1818px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OneColumnLarge { background-position: -946px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OneColumnLargeDisabled { background-position: -2022px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OpenLarge { background-position: -572px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OpenLargeDisabled { background-position: -1648px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageColorLarge { background-position: -606px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageColorLargeDisabled { background-position: -1682px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsLarge { background-position: -640px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsLargeDisabled { background-position: -1716px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsModerateLarge { background-position: -674px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsModerateLargeDisabled { background-position: -1750px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLarge { background-position: -708px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLargeDisabled { background-position: -1784px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNormalLarge { background-position: -742px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNormalLargeDisabled { background-position: -1818px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsWideLarge { background-position: -776px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsWideLargeDisabled { background-position: -1852px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLarge { background-position: -810px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLargeDisabled { background-position: -1886px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLarge { background-position: -844px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLargeDisabled { background-position: -1920px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLarge { background-position: -878px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLargeDisabled { background-position: -1954px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PaperSizeLarge { background-position: -912px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PaperSizeLargeDisabled { background-position: -1988px 0px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ParagraphLarge { background-position: -136px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ParagraphLargeDisabled { background-position: -1212px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteLarge { background-position: 0px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteLargeDisabled { background-position: -1076px -34px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteSpecialLarge { background-position: -776px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteSpecialLargeDisabled { background-position: -1852px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PenColorLarge { background-position: -606px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PenColorLargeDisabled { background-position: -1682px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrevLarge { background-position: -606px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrevLargeDisabled { background-position: -1682px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviewLarge { background-position: -946px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviewLargeDisabled { background-position: -2022px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviousCommentLarge { background-position: -572px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviousCommentLargeDisabled { background-position: -1648px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLarge { background-position: -878px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLargeDisabled { background-position: -1954px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintBrowserLarge { background-position: -572px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintBrowserLargeDisabled { background-position: -1648px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintDialogLarge { background-position: -606px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintDialogLargeDisabled { background-position: -1682px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLayoutViewLarge { background-position: -640px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLayoutViewLargeDisabled { background-position: -1716px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLarge { background-position: -742px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLargeDisabled { background-position: -1818px -68px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ProtectDocumentLarge { background-position: -844px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ProtectDocumentLargeDisabled { background-position: -1920px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RedoLarge { background-position: -810px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RedoLargeDisabled { background-position: -1886px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReplaceLarge { background-position: -776px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReplaceLargeDisabled { background-position: -1852px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewersLarge { background-position: -674px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewersLargeDisabled { background-position: -1750px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewingPaneLarge { background-position: -946px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewingPaneLargeDisabled { background-position: -2022px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RightColumnsLarge { background-position: -742px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RightColumnsLargeDisabled { background-position: -1818px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerHorizontalLarge { background-position: -674px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerHorizontalLargeDisabled { background-position: -1750px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerVerticalLarge { background-position: -708px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerVerticalLargeDisabled { background-position: -1784px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveLarge { background-position: -538px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveLargeDisabled { background-position: -1614px -306px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveAsLarge { background-position: -606px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveAsLargeDisabled { background-position: -1682px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectLarge { background-position: -606px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectLargeDisabled { background-position: -1682px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectAllLarge { background-position: -674px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectAllLargeDisabled { background-position: -1750px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableLarge { background-position: -742px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableLargeDisabled { background-position: -1818px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableCellLarge { background-position: -810px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableCellLargeDisabled { background-position: -1886px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableColumnLarge { background-position: -980px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableColumnLargeDisabled { background-position: -2056px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableRowLarge { background-position: -810px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableRowLargeDisabled { background-position: -1886px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShadingLarge { background-position: -844px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShadingLargeDisabled { background-position: -1920px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLarge { background-position: -606px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLargeDisabled { background-position: -1682px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLarge { background-position: -572px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLargeDisabled { background-position: -1648px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowCommentsLarge { background-position: -946px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowCommentsLargeDisabled { background-position: -2022px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowHiddenLarge { background-position: -980px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowHiddenLargeDisabled { background-position: -2056px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SimpleViewLarge { background-position: -946px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SimpleViewLargeDisabled { background-position: -2022px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpacingDecreaseLarge { background-position: -572px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpacingDecreaseLargeDisabled { background-position: -1648px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckLarge { background-position: -606px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckLargeDisabled { background-position: -1682px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge { background-position: -878px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeDisabled { background-position: -1954px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableLarge { background-position: -844px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableLargeDisabled { background-position: -1920px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableCellsLarge { background-position: -572px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableCellsLargeDisabled { background-position: -1648px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutLarge { background-position: -810px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutLargeDisabled { background-position: -1886px -340px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLarge { background-position: -980px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLargeDisabled { background-position: -2056px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SubscriptLarge { background-position: -572px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SubscriptLargeDisabled { background-position: -1648px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SuperscriptLarge { background-position: -640px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SuperscriptLargeDisabled { background-position: -1716px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SymbolLarge { background-position: -878px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SymbolLargeDisabled { background-position: -1954px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLarge { background-position: -912px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLargeDisabled { background-position: -1988px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLarge { background-position: -674px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLargeDisabled { background-position: -1750px -408px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableCellMarginsLarge { background-position: -708px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableCellMarginsLargeDisabled { background-position: -1784px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLarge { background-position: -946px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLargeDisabled { background-position: -2022px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TablePropertiesLarge { background-position: -878px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TablePropertiesLargeDisabled { background-position: -1954px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapBehindLarge { background-position: -1014px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapBehindLargeDisabled { background-position: -2090px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge { background-position: -912px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeDisabled { background-position: -1988px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInlineLarge { background-position: -708px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInlineLargeDisabled { background-position: -1784px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapSquareLarge { background-position: -538px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapSquareLargeDisabled { background-position: -1614px -238px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapThroughLarge { background-position: -708px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapThroughLargeDisabled { background-position: -1784px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTightLarge { background-position: -980px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTightLargeDisabled { background-position: -2056px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge { background-position: -1014px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeDisabled { background-position: -2090px -272px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ThreeColumnsLarge { background-position: -538px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ThreeColumnsLargeDisabled { background-position: -1614px -170px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLarge { background-position: -946px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLargeDisabled { background-position: -2022px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TwoColumnsLarge { background-position: -912px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TwoColumnsLargeDisabled { background-position: -1988px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineLarge { background-position: -878px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineLargeDisabled { background-position: -1954px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineDoubleLarge { background-position: -844px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineDoubleLargeDisabled { background-position: -1920px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UndoLarge { background-position: -810px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UndoLargeDisabled { background-position: -1886px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnprotectDocumentLarge { background-position: -776px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnprotectDocumentLargeDisabled { background-position: -1852px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateFieldLarge { background-position: -742px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateFieldLargeDisabled { background-position: -1818px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLarge { background-position: -708px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLargeDisabled { background-position: -1784px -204px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewMergedDataLarge { background-position: -980px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewMergedDataLargeDisabled { background-position: -2056px -136px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLarge { background-position: -776px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLargeDisabled { background-position: -1852px -442px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomInLarge { background-position: -878px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomInLargeDisabled { background-position: -1954px -374px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomOutLarge { background-position: -980px -476px; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomOutLargeDisabled { background-position: -2056px -476px; width: 32px; height: 32px } 
   |  /* AutoScroll */
.dxreAutoScroll
{
    position: fixed;
    width: 20px;
    height: 20px;
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.reAutoScrollArrow.svg")%>');
    z-index: 165;
}
.dxreAutoScrollCursor
{
    position: fixed;
    left: 0px;
    width: 100%;
    z-index: 166;
}
.dxreAutoScrollCursorN
{
    cursor: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorN.svg")%>') calc($cursorWidth / 2) calc($cursorHeight / 2), n-resize;
}
.dxreAutoScrollCursorNS
{
    cursor: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorNS.svg")%>') calc($cursorWidth / 2) calc($cursorHeight / 2), ns-resize;
}
.dxreAutoScrollCursorS
{
    cursor: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.reAutoScrollCursorS.svg")%>') calc($cursorWidth / 2) calc($cursorHeight / 2), s-resize;
}
/* AutoScroll */
/* Bootstrap correction */
.dxreMeasurer *,
.dxreRulerWrapper div
{
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
/* Bootstrap correction */
/* Cursor */
.dxreCursorDefault .dxrePage
{
    cursor: default;
}
.dxreCursorNoDrop .dxrePage
{
    cursor: no-drop;
}
.dxreCursorCopy .dxrePage
{
    cursor: copy;
}
.dxreCursorNResize .dxrePage
{
    cursor: n-resize;
}
.dxreCursorSResize .dxrePage
{
    cursor: s-resize;
}
.dxreCursorWResize .dxrePage
{
    cursor: w-resize;
}
.dxreCursorEResize .dxrePage
{
    cursor: e-resize;
}
.dxreCursorEWResize .dxrePage
{
    cursor: ew-resize;
}
.dxreCursorNWResize .dxrePage
{
    cursor: nw-resize;
}
.dxreCursorNEResize .dxrePage
{
    cursor: ne-resize;
}
.dxreCursorNSResize .dxrePage
{
    cursor: ns-resize;
}
.dxreCursorSEResize .dxrePage
{
    cursor: se-resize;
}
.dxreCursorSWResize .dxrePage
{
    cursor: sw-resize;
}
/* Cursor */
/* HeaderFooter */
.dxreHeaderInfo
{
    position: absolute;
    left: 0;
    width: 100%;
    height: 20px;
    z-index: 161;
    border-top: #b9b9b9 1px dashed;
}
.dxreHeaderInfo b
{
    border: #b9b9b9 1px solid;
    margin: 0 5px;
    padding: 3px 5px;
    background: #CCCCCC;
    display: block;
    font-weight: normal;
    float: right;
}
.dxreHeaderInfo b:first-child
{
    float: left;
}
.dxreFooterInfo
{
    position: absolute;
    left: 0;
    width: 100%;
    height: 20px;
    z-index: 161;
    border-bottom: #b9b9b9 1px dashed;
}
.dxreFooterInfo b
{
    border: #b9b9b9 1px solid;
    margin: 0 5px;
    padding: 3px 5px;
    background: #CCCCCC;
    display: block;
    font-weight: normal;
    float: right;
}
.dxreFooterInfo b:first-child
{
    float: left;
}
/* HeaderFooter */
/* Layout */
.dxrePage
{
    position: relative;
    background: white;
    margin: 15px auto;
    cursor: text;
    overflow: hidden;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
.dxWebKitTouchUI .dxrePage
{
    overflow: scroll;
}
.dxreSimpleView
{
    padding: 0px !important;
}
.dxreSimplePage
{
    box-shadow: none !important;
    border-width: 0 !important;
    margin: 0;
    width: 100% !important;
}
.dxrePageArea
{
    position: absolute;
    overflow: visible;
}
.dxreTextBoxArea
{
    cursor: text;
}
.dxreColumn
{
    position: absolute;
    overflow: visible;
    cursor: text;
    user-select: none;
}
.dxreRow
{
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    font-size: 0;
    user-select: none;
}
.dxreBox
{
    position: absolute;
    white-space: nowrap;
    display: inline-block;
    text-decoration: inherit;
}
.dxreBoxSpace
{
    position: absolute;
    display: inline-block;
    overflow: hidden;
}
.dxreBoxSpace img
{
    vertical-align: bottom;
}
.dxreHiddenBox
{
    border-bottom: 1px dotted gray;
}
.dxreTextBoxBg
{
    position: absolute;
}
.dxreBoxBg
{
    position: absolute;
    display: block;
}
.dxrePic
{
    cursor: move;
}
.dxreBlackout > .dxrePic
{
    cursor: unset;
}
.dxreParFrame
{
    position: absolute;
}
.dxreStartBookmark
{
    border: 2px solid #b9b9b9;
    position: absolute;
    box-sizing: border-box;
    border-right: none;
}
.dxreEndBookmark
{
    border: 2px solid #b9b9b9;
    position: absolute;
    box-sizing: border-box;
    border-left: none;
}
.dxreFieldBg
{
    position: absolute;
    display: inline-block;
}
.dxreFieldBoxLevel1
{
    background: #cecece;
}
.dxreFieldBoxLevel2
{
    background: #b9b9b9;
}
.dxreFieldBoxLevel3
{
    background: #a0a0a0;
}
.dxreAnchor
{
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.reAnchor.png")%>');
    width: 16px;
    height: 16px;
    position: absolute;
    z-index: 154;
}
.dxreSelectedTextBox
{
    transform: none !important;
}
.dxreAncPic
{
    position: absolute;
}
/* Table */
.dxreTable
{
    position: absolute;
}
.dxreTableBrd
{
    position: absolute;
}
.dxreTableRowBg
{
    position: absolute;
}
.dxreTableCellBg
{
    position: absolute;
}
.dxreTableColumnCursor
{
    position: absolute;
    background-color: transparent;
    cursor: col-resize;
    width: 4px;
}
.dxreTableRowCursor
{
    position: absolute;
    background-color: transparent;
    cursor: row-resize;
    height: 4px;
}
.dxreTableBorderLine
{
    position: absolute;
    z-index: 155;
}
.dxreTblSelector
{
    position: absolute;
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.startTableMark.svg")%>');
    cursor: pointer;
    z-index: 163;
}
/* Table */
/* QuickSearch */
.dxreQuickSearch
{
    position: relative;
}
.dxreQuickSearchPanelWrapper
{
    position: absolute;
    right: 20px;
    top: -1px;
    z-index: 164;
    overflow: hidden;
    visibility: hidden;
    transition: all 0.3s;
}
.dxreNotInternalRibbon .dxreQuickSearchPanelWrapper
{
    top: 0px;
}
.dxreQuickSearchPanel
{
    display: inline-block;
}
.dxreQuickSearchPanel .dxreQuickSearchButtonEdit
{
    float: left;
}
.dxreQuickSearchPanel .dxreQuickSearchButtonEdit td.dxic
{
    position: relative;
}
.dxreQuickSearchPanel span.dxreSearchResult
{
    position: absolute;
    top: 0;
    right: 0;
    padding: 0px 5px;
    color: #acacac;
    background-color: #FFFFFF;
}
/* QuickSearch */
/* Ruler */
.dxreRulerLine
{
    width: 0;
    z-index: 100;
    position: absolute;
    display: none;
}
.dxreRulerWrapper
{
    cursor: default;
    overflow: hidden;
    position: relative;
}
.dxreRulerWrapper .dxre-rulertabAlignBox
{
    position: absolute;
    top: 0;
    left: 0;
}
.dxreRulerWrapper .dxre-rulertabAlignBox div
{
    position: absolute;
}
.dxreRulerWrapper .dxreRuler
{
    overflow: hidden;
    position: relative;
}
.dxreRuler .dxre-columnHandle
{
    position: absolute;
    z-index: 1;
    cursor: e-resize;
}
.dxreRuler .dxre-columnHandle > div
{
    position: absolute;
}
.dxreRuler .dxre-leftIndentDragHandleBody
{
    box-sizing: border-box;
}
.dxreRuler .dxre-rulerTableColumnSeparatorHandle
{
    position: absolute;
}
.dxreRuler .dxre-rulerTableColumnSeparatorHandle > div
{
    position: absolute;
    z-index: 1;
}
.dxreRuler .dxre-columnHandleLeftPart
{
    left: 0;
}
.dxreRuler .dxre-columnHandleRightPart
{
    right: 0;
}
.dxreRuler .dxreTabDragHandle,
.dxreRuler .dxreFirstLineIndentDragHandle,
.dxreRuler .dxreRightIndentDragHandle,
.dxreRuler .dxreLeftIndentDragHandle
{
    position: absolute;
    z-index: 2;
}
.dxreRuler .dxre-rulerDivisions
{
    position: absolute;
}
.dxreRuler .dxre-rulerDivisions > div
{
    z-index: 1;
    position: absolute;
    box-sizing: border-box;
}
.dxreRuler .dxre-rulerDivisions .dxre-rulerNumberDivision
{
    font-size: 10px;
    line-height: 10px;
}
.dxTouchUI .dxreRuler .dxre-rulerDivisions .dxre-rulerNumberDivision
{
    line-height: 12px;
}
.dxreRuler .dxre-rulerDivisions .dxre-rulerNumberDivision > div
{
    position: absolute;
    width: 100%;
    left: -50%;
    text-align: center;
}
.dxreRuler .dxre-rulerMarginLeftHandlePanel, .dxreRuler .dxre-rulerMarginRightHandlePanel
{
    position: absolute;
    z-index: 1;
    cursor: e-resize;
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.1x1.gif")%>') !important;
}
.dxreRuler .dxre-rulerMarginLeftHandlePanel
{
    left: 0;
}
.dxreRuler .dxre-rulerMarginRightHandlePanel
{
    right: 0;
}
.dxreRuler .dxre-rulerMarginLeftPanel
{
    position: absolute;
    left: 0;
}
.dxreRuler .dxre-rulerMarginRightPanel
{
    position: absolute;
    right: 0;
}
/* Ruler */
/* Selection */
.dxreSelRow
{
    position: absolute;
    background: #a7a7a7;
    opacity: 0.50;
}
.dxTouchUI .dxreSelRow
{
    background: #a7a7a7;
}
.dxreInFocus .dxreSelRow
{
    background: #76a7fa;
}
.dxTouchUI .dxreInFocus .dxreSelRow
{
    background: #76a7fa;
}
.dxreSelFloatingObjects
{
    z-index: 152;
}
.dxreSelCursor
{
    position: absolute;
    opacity: 1;
    width: 1px;
    visibility: hidden;
}
.dxreInFocus .dxreSelCursor
{
    visibility: visible;
}
.dxreInFocus .dxreSelCursor
{
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.Cursor.gif")%>');
}
.dxTouchUI .dxreInFocus .dxreSelCursor
{
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.CursorTouch.gif")%>');
}
.dxreSelCursor.dxreSelNoblink
{
    position: absolute;
}
.dxreInFocus .dxreSelCursor.dxreSelNoblink
{
    background: #000000;
}
.dxTouchUI .dxreInFocus .dxreSelCursor.dxreSelNoblink
{
    background: #156ee4;
}
.dxreSelSearch
{
    position: absolute;
    background: #FFFF00;
    opacity: 0.50;
}
.dxTouchUI .dxreSelSearch
{
    background: #FFFF00;
}
.dxreInFocus .dxreSelSearch
{
    background: #FFFF00;
}
.dxTouchUI .dxreInFocus .dxreSelSearch
{
    background: #FFFF00;
}
.dxreSelRangePerm
{
    position: absolute;
}
.dxreSelMisspelled
{
    position: absolute;
    background: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.reErrorUnderline.gif")%>') bottom;
    background-repeat: repeat-x;
    padding-bottom: 4px;
    box-sizing: content-box;
}
.dxreSelBar
{
    z-index: 153;
    position: absolute;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    background: white;
    visibility: hidden;
}
.dxreSelBar:after
{
    position: absolute;
    width: 13px;
    height: 13px;
    content: '';
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
    border-radius: 50%;
    border: 2px solid #bbd3fd;
}
.dxreInFocus .dxreSelBar
{
    visibility: visible;
}
/* Selection */
/* ShapeResizeBox */
.dxreResBox
{
    position: absolute;
    cursor: move;
}
.dxreResBox.dxreResBoxTextBoxArea
{
    cursor: text;
}
.dxreResBox.dxreResBoxRotated
{
    z-index: 162;
}
.dxreResBoxCornerLineN
{
    position: absolute;
    z-index: 158;
    cursor: move;
    width: 100%;
    height: 5px;
    top: 0px;
    border-top: 1px solid #5A93D3;
}
.dxreResBoxCornerLineW
{
    position: absolute;
    z-index: 158;
    cursor: move;
    width: 5px;
    height: 100%;
    left: 0px;
    border-left: 1px solid #5A93D3;
}
.dxreResBoxCornerLineE
{
    position: absolute;
    z-index: 158;
    cursor: move;
    width: 5px;
    height: 100%;
    right: 0px;
    border-right: 1px solid #5A93D3;
}
.dxreResBoxCornerLineS
{
    position: absolute;
    z-index: 158;
    cursor: move;
    width: 100%;
    height: 5px;
    bottom: 0px;
    border-bottom: 1px solid #5A93D3;
}
.dxreResBox .dxreResBoxRotation
{
    position: absolute;
    border: 1px solid #989898;
    background-color: #F2FAFB;
    z-index: 160;
    width: 9px;
    height: 9px;
    margin-top: -6px;
    margin-left: -6px;
    border-radius: 5px;
    background-color: #88E43A;
    left: 50%;
    top: -20px;
    cursor: pointer;
    display: none;
}
.dxTouchUI .dxreResBox .dxreResBoxRotation
{
    top: -30px;
    width: 15px;
    height: 15px;
    margin-top: -9px;
    margin-left: -9px;
    border-radius: 50%;
}
.dxreResBox .dxreResBoxRotationLine
{
    position: absolute;
    z-index: 157;
    background-color: #5A93D3;
    left: 50%;
    top: -16px;
    width: 1px;
    height: 10px;
    margin-left: -1px;
    cursor: text;
    display: none;
}
.dxTouchUI .dxreResBox .dxreResBoxRotationLine
{
    top: -26px;
    height: 20px;
}
.dxreResBox.dxreResBoxAnchored .dxreResBoxRotation,
.dxreResBox.dxreResBoxAnchored .dxreResBoxRotationLine
{
    display: block;
}
.dxreResBoxCornerElemTouchN
{
    position: absolute;
    cursor: n-resize;
    left: 50%;
    top: 0;
    width: 15px;
    height: 15px;
    margin-left: -9px;
    margin-top: -9px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemTouchE
{
    position: absolute;
    cursor: e-resize;
    left: 100%;
    top: 50%;
    width: 15px;
    height: 15px;
    margin-left: -8px;
    margin-top: -9px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemTouchS
{
    position: absolute;
    cursor: s-resize;
    left: 50%;
    top: 100%;
    width: 15px;
    height: 15px;
    margin-left: -9px;
    margin-top: -8px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemTouchW
{
    position: absolute;
    cursor: w-resize;
    left: 0;
    top: 50%;
    width: 15px;
    height: 15px;
    margin-left: -9px;
    margin-top: -9px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemTouchNE
{
    position: absolute;
    cursor: ne-resize;
    left: 100%;
    top: 0;
    width: 15px;
    height: 15px;
    margin-left: -8px;
    margin-top: -9px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemTouchSE
{
    position: absolute;
    cursor: se-resize;
    left: 100%;
    top: 100%;
    width: 15px;
    height: 15px;
    margin-left: -8px;
    margin-top: -8px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemTouchSW
{
    position: absolute;
    cursor: sw-resize;
    left: 0;
    top: 100%;
    width: 15px;
    height: 15px;
    margin-left: -9px;
    margin-top: -8px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemTouchNW
{
    position: absolute;
    cursor: nw-resize;
    left: 0;
    top: 0;
    width: 15px;
    height: 15px;
    margin-left: -9px;
    margin-top: -9px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemN
{
    position: absolute;
    cursor: n-resize;
    left: 50%;
    top: 0;
    width: 9px;
    height: 9px;
    margin-left: -6px;
    margin-top: -6px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemE
{
    position: absolute;
    cursor: e-resize;
    left: 100%;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-left: -5px;
    margin-top: -6px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemS
{
    position: absolute;
    cursor: s-resize;
    left: 50%;
    top: 100%;
    width: 9px;
    height: 9px;
    margin-left: -6px;
    margin-top: -5px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemW
{
    position: absolute;
    cursor: w-resize;
    left: 0;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-left: -6px;
    margin-top: -6px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemNE
{
    position: absolute;
    cursor: ne-resize;
    left: 100%;
    top: 0;
    width: 9px;
    height: 9px;
    margin-left: -5px;
    margin-top: -6px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemSE
{
    position: absolute;
    cursor: se-resize;
    left: 100%;
    top: 100%;
    width: 9px;
    height: 9px;
    margin-left: -5px;
    margin-top: -5px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemSW
{
    position: absolute;
    cursor: sw-resize;
    left: 0;
    top: 100%;
    width: 9px;
    height: 9px;
    margin-left: -6px;
    margin-top: -5px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
.dxreResBoxCornerElemNW
{
    position: absolute;
    cursor: nw-resize;
    left: 0;
    top: 0;
    width: 9px;
    height: 9px;
    margin-left: -6px;
    margin-top: -6px;
    border-radius: 3px;
    border: 1px solid #989898;
    background-color: #F2FAFB;
}
/* ShapeResizeBox */
/* TableBorderPreview */
.dxreTablePreviewContainer
{
    width: 102px;
    height: 94px;
    position: relative;
    background-color: #FFFFFF;
}
.dxrePreviewBorderLine
{
    position: absolute;
    background-color: #FFFFFF;
}
.dxrePreviewVerticalLine
{
    position: absolute;
    height: 100%;
    z-index: 2;
}
.dxrePreviewHorizontalLine
{
    position: absolute;
    width: 100%;
    z-index: 4;
}
.dxrePreviewBorderControlLine
{
    border: 0 !important;
}
.dxrePreviewBorderControlLine.dxrePreviewVerticalLine
{
    width: 10%;
    z-index: 5;
}
.dxrePreviewBorderControlLine.dxrePreviewHorizontalLine
{
    height: 10%;
    z-index: 5;
}
.dxrePreviewBorderControlLine.dxrePreviewMiddleLine
{
    top: 45%;
}
.dxrePreviewBorderControlLine.dxrePreviewCenterLine
{
    left: 45%;
}
.dxrePreviewMiddleLine
{
    z-index: 2;
}
.dxrePreviewBottomLine
{
    bottom: 0%;
}
.dxrePreviewCenterLine
{
    z-index: 1;
}
.dxrePreviewRightLine
{
    right: 0%;
}
.dxrePreviewTopRightCell
{
    top: 50%;
    left: 0;
}
.dxrePreviewTopLeftCell
{
    top: 0;
    left: 0;
}
.dxrePreviewBottomRight
{
    top: 50%;
    left: 50%;
}
.dxrePreviewBottomLeft
{
    top: 0;
    left: 50%;
}
.dxrePreviewCell
{
    position: absolute;
    padding: 3px;
}
.dxrePreviewCell .dxrePreviewTextLine
{
    background-color: #a9a9a9;
}
.dxrePreviewCell .dxrePreviewTextLine:first-child
{
    margin-left: 12px;
}
.dxrePreviewCell .dxrePreviewTextLine:last-child
{
    margin-right: 12px;
}
.dxreBorderButton div.dxb.dxbf
{
    border: none !important;
}
/* TableBorderPreview */
.dxreTextBoxBgZL0
{
    z-index: 0;
}
.dxreTblRowBgZL0
{
    z-index: 1;
}
.dxreTblCellBgZL0
{
    z-index: 2;
}
.dxreParBgZL0
{
    z-index: 3;
}
.dxreBoxBgZL0
{
    z-index: 4;
}
.dxreFieldBgZL0
{
    z-index: 5;
}
.dxreSelRangeZL0
{
    z-index: 6;
}
.dxreBoxSpaceZL0
{
    z-index: 7;
}
.dxreSelSearchZL0
{
    z-index: 8;
}
.dxreSelRowZL0
{
    z-index: 9;
}
.dxreBoxZL0
{
    z-index: 10;
}
.dxreBookmarkZL0
{
    z-index: 11;
}
.dxreTableBorderZL0
{
    z-index: 12;
}
.dxreSelMisspZL0
{
    z-index: 13;
}
.dxreSelCursorZL0
{
    z-index: 14;
}
.dxreSelTouchBarZL0
{
    z-index: 15;
}
.dxreTblCursorZL0
{
    z-index: 16;
}
.dxreAnchoredPictureZL0
{
    z-index: 17;
}
.dxreTextBoxZL0
{
    z-index: 18;
}
.dxreTextBoxBgZL1
{
    z-index: 19;
}
.dxreTblRowBgZL1
{
    z-index: 20;
}
.dxreTblCellBgZL1
{
    z-index: 21;
}
.dxreParBgZL1
{
    z-index: 22;
}
.dxreBoxBgZL1
{
    z-index: 23;
}
.dxreFieldBgZL1
{
    z-index: 24;
}
.dxreSelRangeZL1
{
    z-index: 25;
}
.dxreBoxSpaceZL1
{
    z-index: 26;
}
.dxreSelSearchZL1
{
    z-index: 27;
}
.dxreSelRowZL1
{
    z-index: 28;
}
.dxreBoxZL1
{
    z-index: 29;
}
.dxreBookmarkZL1
{
    z-index: 30;
}
.dxreTableBorderZL1
{
    z-index: 31;
}
.dxreSelMisspZL1
{
    z-index: 32;
}
.dxreSelCursorZL1
{
    z-index: 33;
}
.dxreSelTouchBarZL1
{
    z-index: 34;
}
.dxreTblCursorZL1
{
    z-index: 35;
}
.dxreAnchoredPictureZL1
{
    z-index: 36;
}
.dxreTextBoxZL1
{
    z-index: 37;
}
.dxreTextBoxBgZL2
{
    z-index: 38;
}
.dxreTblRowBgZL2
{
    z-index: 39;
}
.dxreTblCellBgZL2
{
    z-index: 40;
}
.dxreParBgZL2
{
    z-index: 41;
}
.dxreBoxBgZL2
{
    z-index: 42;
}
.dxreFieldBgZL2
{
    z-index: 43;
}
.dxreSelRangeZL2
{
    z-index: 44;
}
.dxreBoxSpaceZL2
{
    z-index: 45;
}
.dxreSelSearchZL2
{
    z-index: 46;
}
.dxreSelRowZL2
{
    z-index: 47;
}
.dxreBoxZL2
{
    z-index: 48;
}
.dxreBookmarkZL2
{
    z-index: 49;
}
.dxreTableBorderZL2
{
    z-index: 50;
}
.dxreSelMisspZL2
{
    z-index: 51;
}
.dxreSelCursorZL2
{
    z-index: 52;
}
.dxreSelTouchBarZL2
{
    z-index: 53;
}
.dxreTblCursorZL2
{
    z-index: 54;
}
.dxreAnchoredPictureZL2
{
    z-index: 55;
}
.dxreTextBoxZL2
{
    z-index: 56;
}
.dxreTextBoxBgZL3
{
    z-index: 57;
}
.dxreTblRowBgZL3
{
    z-index: 58;
}
.dxreTblCellBgZL3
{
    z-index: 59;
}
.dxreParBgZL3
{
    z-index: 60;
}
.dxreBoxBgZL3
{
    z-index: 61;
}
.dxreFieldBgZL3
{
    z-index: 62;
}
.dxreSelRangeZL3
{
    z-index: 63;
}
.dxreBoxSpaceZL3
{
    z-index: 64;
}
.dxreSelSearchZL3
{
    z-index: 65;
}
.dxreSelRowZL3
{
    z-index: 66;
}
.dxreBoxZL3
{
    z-index: 67;
}
.dxreBookmarkZL3
{
    z-index: 68;
}
.dxreTableBorderZL3
{
    z-index: 69;
}
.dxreSelMisspZL3
{
    z-index: 70;
}
.dxreSelCursorZL3
{
    z-index: 71;
}
.dxreSelTouchBarZL3
{
    z-index: 72;
}
.dxreTblCursorZL3
{
    z-index: 73;
}
.dxreAnchoredPictureZL3
{
    z-index: 74;
}
.dxreTextBoxZL3
{
    z-index: 75;
}
.dxreTextBoxBgZL4
{
    z-index: 76;
}
.dxreTblRowBgZL4
{
    z-index: 77;
}
.dxreTblCellBgZL4
{
    z-index: 78;
}
.dxreParBgZL4
{
    z-index: 79;
}
.dxreBoxBgZL4
{
    z-index: 80;
}
.dxreFieldBgZL4
{
    z-index: 81;
}
.dxreSelRangeZL4
{
    z-index: 82;
}
.dxreBoxSpaceZL4
{
    z-index: 83;
}
.dxreSelSearchZL4
{
    z-index: 84;
}
.dxreSelRowZL4
{
    z-index: 85;
}
.dxreBoxZL4
{
    z-index: 86;
}
.dxreBookmarkZL4
{
    z-index: 87;
}
.dxreTableBorderZL4
{
    z-index: 88;
}
.dxreSelMisspZL4
{
    z-index: 89;
}
.dxreSelCursorZL4
{
    z-index: 90;
}
.dxreSelTouchBarZL4
{
    z-index: 91;
}
.dxreTblCursorZL4
{
    z-index: 92;
}
.dxreAnchoredPictureZL4
{
    z-index: 93;
}
.dxreTextBoxZL4
{
    z-index: 94;
}
.dxreTextBoxBgZL5
{
    z-index: 95;
}
.dxreTblRowBgZL5
{
    z-index: 96;
}
.dxreTblCellBgZL5
{
    z-index: 97;
}
.dxreParBgZL5
{
    z-index: 98;
}
.dxreBoxBgZL5
{
    z-index: 99;
}
.dxreFieldBgZL5
{
    z-index: 100;
}
.dxreSelRangeZL5
{
    z-index: 101;
}
.dxreBoxSpaceZL5
{
    z-index: 102;
}
.dxreSelSearchZL5
{
    z-index: 103;
}
.dxreSelRowZL5
{
    z-index: 104;
}
.dxreBoxZL5
{
    z-index: 105;
}
.dxreBookmarkZL5
{
    z-index: 106;
}
.dxreTableBorderZL5
{
    z-index: 107;
}
.dxreSelMisspZL5
{
    z-index: 108;
}
.dxreSelCursorZL5
{
    z-index: 109;
}
.dxreSelTouchBarZL5
{
    z-index: 110;
}
.dxreTblCursorZL5
{
    z-index: 111;
}
.dxreAnchoredPictureZL5
{
    z-index: 112;
}
.dxreTextBoxZL5
{
    z-index: 113;
}
.dxreTextBoxBgZL6
{
    z-index: 114;
}
.dxreTblRowBgZL6
{
    z-index: 115;
}
.dxreTblCellBgZL6
{
    z-index: 116;
}
.dxreParBgZL6
{
    z-index: 117;
}
.dxreBoxBgZL6
{
    z-index: 118;
}
.dxreFieldBgZL6
{
    z-index: 119;
}
.dxreSelRangeZL6
{
    z-index: 120;
}
.dxreBoxSpaceZL6
{
    z-index: 121;
}
.dxreSelSearchZL6
{
    z-index: 122;
}
.dxreSelRowZL6
{
    z-index: 123;
}
.dxreBoxZL6
{
    z-index: 124;
}
.dxreBookmarkZL6
{
    z-index: 125;
}
.dxreTableBorderZL6
{
    z-index: 126;
}
.dxreSelMisspZL6
{
    z-index: 127;
}
.dxreSelCursorZL6
{
    z-index: 128;
}
.dxreSelTouchBarZL6
{
    z-index: 129;
}
.dxreTblCursorZL6
{
    z-index: 130;
}
.dxreAnchoredPictureZL6
{
    z-index: 131;
}
.dxreTextBoxZL6
{
    z-index: 132;
}
.dxreTextBoxBgZL7
{
    z-index: 133;
}
.dxreTblRowBgZL7
{
    z-index: 134;
}
.dxreTblCellBgZL7
{
    z-index: 135;
}
.dxreParBgZL7
{
    z-index: 136;
}
.dxreBoxBgZL7
{
    z-index: 137;
}
.dxreFieldBgZL7
{
    z-index: 138;
}
.dxreSelRangeZL7
{
    z-index: 139;
}
.dxreBoxSpaceZL7
{
    z-index: 140;
}
.dxreSelSearchZL7
{
    z-index: 141;
}
.dxreSelRowZL7
{
    z-index: 142;
}
.dxreBoxZL7
{
    z-index: 143;
}
.dxreBookmarkZL7
{
    z-index: 144;
}
.dxreTableBorderZL7
{
    z-index: 145;
}
.dxreSelMisspZL7
{
    z-index: 146;
}
.dxreSelCursorZL7
{
    z-index: 147;
}
.dxreSelTouchBarZL7
{
    z-index: 148;
}
.dxreTblCursorZL7
{
    z-index: 149;
}
.dxreAnchoredPictureZL7
{
    z-index: 150;
}
.dxreTextBoxZL7
{
    z-index: 151;
}
.dxreTextBoxBgZL8
{
    z-index: 152;
}
.dxreTblRowBgZL8
{
    z-index: 153;
}
.dxreTblCellBgZL8
{
    z-index: 154;
}
.dxreParBgZL8
{
    z-index: 155;
}
.dxreBoxBgZL8
{
    z-index: 156;
}
.dxreFieldBgZL8
{
    z-index: 157;
}
.dxreSelRangeZL8
{
    z-index: 158;
}
.dxreBoxSpaceZL8
{
    z-index: 159;
}
.dxreSelSearchZL8
{
    z-index: 160;
}
.dxreSelRowZL8
{
    z-index: 161;
}
.dxreBoxZL8
{
    z-index: 162;
}
.dxreBookmarkZL8
{
    z-index: 163;
}
.dxreTableBorderZL8
{
    z-index: 164;
}
.dxreSelMisspZL8
{
    z-index: 165;
}
.dxreSelCursorZL8
{
    z-index: 166;
}
.dxreSelTouchBarZL8
{
    z-index: 167;
}
.dxreTblCursorZL8
{
    z-index: 168;
}
.dxreAnchoredPictureZL8
{
    z-index: 169;
}
.dxreTextBoxZL8
{
    z-index: 170;
}
.dxreDebugTableColumnBound
{
    position: absolute;
    color: green;
    text-align: left;
    opacity: 1;
    z-index: 100;
    border: 1px solid green;
}
.dxreDebugTableRowBound
{
    position: absolute;
    color: red;
    border-color: red;
    text-align: center;
    opacity: 0.6;
    z-index: 99;
    border: 1px solid red;
}
.dxreDebugTableCellBound
{
    position: absolute;
    color: blue;
    text-align: right;
    opacity: 0.7;
    z-index: 98;
    border: 1px solid blue;
}
.dxreDebugPageAreaBounds
{
    position: absolute;
    color: red;
    text-align: right;
    opacity: 1;
    z-index: 100;
    border: 1px solid red;
}
.dxreDebugColumnBounds
{
    position: absolute;
    color: blue;
    text-align: center;
    opacity: 0.7;
    z-index: 99;
    border: 1px solid blue;
}
.dxreDebugRowBounds
{
    position: absolute;
    color: green;
    text-align: left;
    opacity: 0.6;
    z-index: 98;
    border: 1px solid green;
}
/* System */
.dxreControlSys
{
    width: 1000px;
    height: 500px;
    box-sizing: border-box;
}
.dxreMeasurer
{
    position: absolute;
    top: -100000px;
    left: -100000px;
    overflow: hidden;
    line-height: normal;
}
.dxreMeasurer pre
{
    position: absolute;
    visibility: hidden;
    /* for bootstrap */
    white-space: pre !important;
    border: none;
    padding: 0;
    margin: 0;
    line-height: initial;
    word-break: initial;
    word-wrap: initial;
    border-radius: 0;
    display: initial;
}
.dxreView
{
    position: relative;
    overflow: auto;
    padding: 0 10px;
    -webkit-overflow-scrolling: touch;
    -webkit-appearance: none;
    -ms-touch-action: pan-x pan-y pinch-zoom;
    touch-action: pan-x pan-y pinch-zoom;
}
.dxreInputTargetContainer
{
    position: absolute;
    overflow: hidden;
    height: 0;
}
.dxreInputTarget
{
    position: absolute;
    overflow: hidden;
    left: -1px;
    top: -1px;
    height: 0;
    width: 0;
    padding: 0;
    outline: none;
    border: none;
}
.dxTouchUI .dxreInputTarget
{
    -webkit-user-select: auto;
    user-select: all;
    position: absolute;
    font-size: 1px;
    color: transparent;
    height: 1px;
    width: 1px;
}
.dxMacOSPlatform.dxSafari .dxreInputTarget
{
    -webkit-user-select: auto;
    top: 0px;
    left: 0px;
    position: absolute;
}
.dxTouchUI.dxAndroidMobilePlatform .dxreInputTarget
{
    font-size: inherit;
    opacity: 0;
}
.dxTouchUI.dxMacOSMobilePlatform .dxreInputTarget
{
    font-size: 16px;
    margin-top: 10px;
    transform: scale(0);
    -webkit-transform: scale(0);
}
.dxTouchUI.dxMacOSMobilePlatform .dxreInputTarget:not(.dxreiOS16)
{
    line-height: 0;
}
.dxTouchUI .dxreControlSys .dxm-popupMain,
.dxTouchUI .dxreView,
.dxreControlSys
{
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.dxre-pum-suggestionItem
{
    font-weight: bold;
}
.dxreControlSys .dxm-item .dxm-content.dxalink:focus
{
    outline: none;
}
.dxreBlackout
{
    opacity: 0.4;
}
.dxreControlSys .dxr-itemDisabled .dxr-img16,
.dxreControlSys .dxr-itemDisabled .dxr-img32
{
    opacity: .35;
    filter: alpha(opacity=35);
}
.dxreDragCaret
{
    position: absolute;
    width: 1px;
    border-left: 1px dotted black;
    z-index: 156;
}
.dxre-helperFrame
{
    top: -100px;
    left: -100px;
    overflow: hidden;
    position: absolute;
    border-style: none;
}
.dxrePlaceholderDiv
{
    background-color: white;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
}
.dxrePopupTarget
{
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border: none;
    margin: 0;
    padding: 0;
}
/* System */
/* Dialogs */
.dxre-dialogPreparing > .dxre-dialogWrapperPanel
{
    overflow: hidden;
    width: 0px;
    height: 0px;
    position: absolute;
}
.dxre-dialogControlsWrapper
{
    width: 100%;
}
.dxre-dialogControlsWrapper > tbody > tr > td:first-child .dxreDlgFooterBtn
{
    margin-left: 0px;
}
.dxreDialog
{
    -moz-user-select: none;
}
.dxre-dialogWrapperPanel .dxreDialog
{
    width: 100%;
}
.dxreDialog .dxre-dialogControlsWrapper > tbody > tr > td:first-child
{
    width: 100%;
    text-align: right;
}
div.dxreDialog tr:first-child > td.dxre-dialogLGC > div.dxre-dialogFirstLGB
{
    padding: 0px;
}
.dxreDialog .dxflRadioButtonListItemSys td.dxe
{
    padding: 0px !important;
}
.dxre-dialog > .dxre-dialogLG.dxflGroupSys
{
    padding: 0px !important;
}
.dxre-dialog > .dxre-dialogLG.dxflGroupSys > div > .dxre-dialogLGC,
.dxre-dialog > .dxre-dialogLG.dxflGroupSys > tbody > tr > .dxre-dialogLGC
{
    padding: 0px;
}
.dxre-openfiledialog .dxre-dialogLGC,
.dxreDlgOpenFileForm .dxre-dialogLGC
{
    padding: 0;
}
.dxre-dialogRadioNavigation .dxichTextCellSys
{
    padding-right: 23px !important;
}
.dxreDlgColumnsEditor
{
    overflow-y: auto;
}
.dxreDlgListBox
{
    overflow-y: auto;
}
.dxreDlgListBox > div
{
    float: left;
    text-align: center;
    cursor: pointer;
    overflow: hidden;
}
.dxreDlgListBox .dxreDlgNumberingListPreview
{
    line-height: normal;
    text-align: left;
    overflow: hidden;
    position: relative;
}
.dxreDlgRight
{
    text-align: right;
}
.dxreDlgCenter
{
    text-align: center;
}
.dxreDlgTableWidth
{
    width: 100%;
}
/* Dialogs */ m 
dxSpriteWidth { width : 538 }

.dxRichEdit_SVGIcon_AddParagraphToTableOfContents, .dxRichEdit_SVGIcon_AlignBottomCenter, .dxRichEdit_SVGIcon_AlignBottomLeft, .dxRichEdit_SVGIcon_AlignBottomRight, .dxRichEdit_SVGIcon_AlignCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight, .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft, .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight, .dxRichEdit_SVGIcon_AlignJustify, .dxRichEdit_SVGIcon_AlignLeft, .dxRichEdit_SVGIcon_AlignMiddleCenter, .dxRichEdit_SVGIcon_AlignMiddleLeft, .dxRichEdit_SVGIcon_AlignMiddleRight, .dxRichEdit_SVGIcon_AlignRight, .dxRichEdit_SVGIcon_AlignTopCenter, .dxRichEdit_SVGIcon_AlignTopLeft, .dxRichEdit_SVGIcon_AlignTopRight, .dxRichEdit_SVGIcon_Background, .dxRichEdit_SVGIcon_Bold, .dxRichEdit_SVGIcon_Bookmark, .dxRichEdit_SVGIcon_BorderBottom, .dxRichEdit_SVGIcon_BorderInsideHorizontal, .dxRichEdit_SVGIcon_BorderInsideVertical, .dxRichEdit_SVGIcon_BorderLeft, .dxRichEdit_SVGIcon_BorderNone, .dxRichEdit_SVGIcon_BorderRight, .dxRichEdit_SVGIcon_BordersAll, .dxRichEdit_SVGIcon_BordersBox, .dxRichEdit_SVGIcon_BordersCustom, .dxRichEdit_SVGIcon_BordersGrid, .dxRichEdit_SVGIcon_BordersInside, .dxRichEdit_SVGIcon_BordersNone, .dxRichEdit_SVGIcon_BordersOutside, .dxRichEdit_SVGIcon_BorderTop, .dxRichEdit_SVGIcon_ChangeFontStyle, .dxRichEdit_SVGIcon_ChangeFontStyleLarge, .dxRichEdit_SVGIcon_ChangeTextCase, .dxRichEdit_SVGIcon_ClearFormatting, .dxRichEdit_SVGIcon_ClearTableStyle, .dxRichEdit_SVGIcon_CloseHeaderAndFooter, .dxRichEdit_SVGIcon_ColumnOne, .dxRichEdit_SVGIcon_Columns, .dxRichEdit_SVGIcon_ColumnsOne, .dxRichEdit_SVGIcon_ColumnsThree, .dxRichEdit_SVGIcon_ColumnsTwo, .dxRichEdit_SVGIcon_Copy, .dxRichEdit_SVGIcon_Cut, .dxRichEdit_SVGIcon_Delete, .dxRichEdit_SVGIcon_Delete_Hyperlink, .dxRichEdit_SVGIcon_DeleteComment, .dxRichEdit_SVGIcon_DeleteTable, .dxRichEdit_SVGIcon_DeleteTableCells, .dxRichEdit_SVGIcon_DeleteTableColumns, .dxRichEdit_SVGIcon_DeleteTableRows, .dxRichEdit_SVGIcon_DifferentFirstPage, .dxRichEdit_SVGIcon_DifferentOddEvenPages, .dxRichEdit_SVGIcon_DraftView, .dxRichEdit_SVGIcon_EditRangePermission, .dxRichEdit_SVGIcon_Find, .dxRichEdit_SVGIcon_FindLarge, .dxRichEdit_SVGIcon_First, .dxRichEdit_SVGIcon_FloatingObjectAlignment, .dxRichEdit_SVGIcon_FloatingObjectBringForward, .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText, .dxRichEdit_SVGIcon_FloatingObjectBringToFront, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText, .dxRichEdit_SVGIcon_FloatingObjectFillColor, .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions, .dxRichEdit_SVGIcon_FloatingObjectOutlineColor, .dxRichEdit_SVGIcon_FloatingObjectSendBackward, .dxRichEdit_SVGIcon_FloatingObjectSendBehindText, .dxRichEdit_SVGIcon_FloatingObjectSendToBack, .dxRichEdit_SVGIcon_FloatingObjectTextWrapType, .dxRichEdit_SVGIcon_Font, .dxRichEdit_SVGIcon_FontColor, .dxRichEdit_SVGIcon_FontLarge, .dxRichEdit_SVGIcon_FontSize, .dxRichEdit_SVGIcon_FontSizeDecrease, .dxRichEdit_SVGIcon_FontSizeIncrease, .dxRichEdit_SVGIcon_Footer, .dxRichEdit_SVGIcon_FullScreen, .dxRichEdit_SVGIcon_GoToFooter, .dxRichEdit_SVGIcon_GoToHeader, .dxRichEdit_SVGIcon_GoToNextHeaderFooter, .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter, .dxRichEdit_SVGIcon_Header, .dxRichEdit_SVGIcon_Highlight, .dxRichEdit_SVGIcon_Hyperlink, .dxRichEdit_SVGIcon_ImagePlaceHolder, .dxRichEdit_SVGIcon_IndentDecrease, .dxRichEdit_SVGIcon_IndentIncrease, .dxRichEdit_SVGIcon_InsertCaption, .dxRichEdit_SVGIcon_InsertColumnBreak, .dxRichEdit_SVGIcon_InsertDataField, .dxRichEdit_SVGIcon_InsertEquationCaption, .dxRichEdit_SVGIcon_InsertFigureCaption, .dxRichEdit_SVGIcon_InsertFloatingObjectImage, .dxRichEdit_SVGIcon_InsertImage, .dxRichEdit_SVGIcon_InsertPageBreak, .dxRichEdit_SVGIcon_InsertPageCount, .dxRichEdit_SVGIcon_InsertPageNumber, .dxRichEdit_SVGIcon_InsertSectionBreakContinuous, .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage, .dxRichEdit_SVGIcon_InsertSectionBreakNextPage, .dxRichEdit_SVGIcon_InsertSectionBreakOddPage, .dxRichEdit_SVGIcon_InsertTable, .dxRichEdit_SVGIcon_InsertTableCaption, .dxRichEdit_SVGIcon_InsertTableCells, .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft, .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight, .dxRichEdit_SVGIcon_InsertTableOfCaptions, .dxRichEdit_SVGIcon_InsertTableOfContents, .dxRichEdit_SVGIcon_InsertTableOfEquations, .dxRichEdit_SVGIcon_InsertTableOfFigures, .dxRichEdit_SVGIcon_InsertTableRowsAbove, .dxRichEdit_SVGIcon_InsertTableRowsBelow, .dxRichEdit_SVGIcon_InsertTextBox, .dxRichEdit_SVGIcon_Italic, .dxRichEdit_SVGIcon_Language, .dxRichEdit_SVGIcon_Last, .dxRichEdit_SVGIcon_LeftColumns, .dxRichEdit_SVGIcon_LineNumbering, .dxRichEdit_SVGIcon_LineSpacing, .dxRichEdit_SVGIcon_LinkToPrevious, .dxRichEdit_SVGIcon_ListBullets, .dxRichEdit_SVGIcon_ListMultilevel, .dxRichEdit_SVGIcon_ListNumbers, .dxRichEdit_SVGIcon_MailMerge, .dxRichEdit_SVGIcon_MergeTableCells, .dxRichEdit_SVGIcon_ModifyTableStyle, .dxRichEdit_SVGIcon_New, .dxRichEdit_SVGIcon_NewComment, .dxRichEdit_SVGIcon_NewTableStyle, .dxRichEdit_SVGIcon_Next, .dxRichEdit_SVGIcon_NextComment, .dxRichEdit_SVGIcon_OneColumn, .dxRichEdit_SVGIcon_Open, .dxRichEdit_SVGIcon_PageColor, .dxRichEdit_SVGIcon_PageMargins, .dxRichEdit_SVGIcon_PageMarginsModerate, .dxRichEdit_SVGIcon_PageMarginsNarrow, .dxRichEdit_SVGIcon_PageMarginsNormal, .dxRichEdit_SVGIcon_PageMarginsWide, .dxRichEdit_SVGIcon_PageOrientation, .dxRichEdit_SVGIcon_PageOrientationLandscape, .dxRichEdit_SVGIcon_PageOrientationPortrait, .dxRichEdit_SVGIcon_PaperSize, .dxRichEdit_SVGIcon_Paragraph, .dxRichEdit_SVGIcon_ParagraphLarge, .dxRichEdit_SVGIcon_Paste, .dxRichEdit_SVGIcon_PasteLarge, .dxRichEdit_SVGIcon_PasteSpecial, .dxRichEdit_SVGIcon_PenColor, .dxRichEdit_SVGIcon_Prev, .dxRichEdit_SVGIcon_Preview, .dxRichEdit_SVGIcon_PreviousComment, .dxRichEdit_SVGIcon_Print, .dxRichEdit_SVGIcon_PrintBrowser, .dxRichEdit_SVGIcon_PrintDialog, .dxRichEdit_SVGIcon_PrintLayoutView, .dxRichEdit_SVGIcon_PrintPreviewBrowser, .dxRichEdit_SVGIcon_ProtectDocument, .dxRichEdit_SVGIcon_Redo, .dxRichEdit_SVGIcon_Replace, .dxRichEdit_SVGIcon_Reviewers, .dxRichEdit_SVGIcon_ReviewingPane, .dxRichEdit_SVGIcon_RightColumns, .dxRichEdit_SVGIcon_RulerHorizontal, .dxRichEdit_SVGIcon_RulerVertical, .dxRichEdit_SVGIcon_Save, .dxRichEdit_SVGIcon_SaveAs, .dxRichEdit_SVGIcon_Select, .dxRichEdit_SVGIcon_SelectAll, .dxRichEdit_SVGIcon_SelectTable, .dxRichEdit_SVGIcon_SelectTableCell, .dxRichEdit_SVGIcon_SelectTableColumn, .dxRichEdit_SVGIcon_SelectTableRow, .dxRichEdit_SVGIcon_Shading, .dxRichEdit_SVGIcon_ShowAllFieldCodes, .dxRichEdit_SVGIcon_ShowAllFieldResults, .dxRichEdit_SVGIcon_ShowComments, .dxRichEdit_SVGIcon_ShowHidden, .dxRichEdit_SVGIcon_SimpleView, .dxRichEdit_SVGIcon_SpacingDecrease, .dxRichEdit_SVGIcon_SpellCheck, .dxRichEdit_SVGIcon_SpellCheckAsYouType, .dxRichEdit_SVGIcon_SplitTable, .dxRichEdit_SVGIcon_SplitTableCells, .dxRichEdit_SVGIcon_Strikeout, .dxRichEdit_SVGIcon_StrikeoutDouble, .dxRichEdit_SVGIcon_Subscript, .dxRichEdit_SVGIcon_Superscript, .dxRichEdit_SVGIcon_Symbol, .dxRichEdit_SVGIcon_TableAutoFitContents, .dxRichEdit_SVGIcon_TableAutoFitWindow, .dxRichEdit_SVGIcon_TableCellMargins, .dxRichEdit_SVGIcon_TableFixedColumnWidth, .dxRichEdit_SVGIcon_TableProperties, .dxRichEdit_SVGIcon_TextWrapBehind, .dxRichEdit_SVGIcon_TextWrapInFrontOfText, .dxRichEdit_SVGIcon_TextWrapInline, .dxRichEdit_SVGIcon_TextWrapSquare, .dxRichEdit_SVGIcon_TextWrapThrough, .dxRichEdit_SVGIcon_TextWrapTight, .dxRichEdit_SVGIcon_TextWrapTopAndBottom, .dxRichEdit_SVGIcon_ThreeColumns, .dxRichEdit_SVGIcon_ToggleFieldCodes, .dxRichEdit_SVGIcon_TwoColumns, .dxRichEdit_SVGIcon_Underline, .dxRichEdit_SVGIcon_UnderlineDouble, .dxRichEdit_SVGIcon_Undo, .dxRichEdit_SVGIcon_UnprotectDocument, .dxRichEdit_SVGIcon_UpdateField, .dxRichEdit_SVGIcon_UpdateTableOfContents, .dxRichEdit_SVGIcon_ViewMergedData, .dxRichEdit_SVGIcon_ViewTableGridlines, .dxRichEdit_SVGIcon_ZoomIn, .dxRichEdit_SVGIcon_ZoomOut { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.SVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge, .dxRichEdit_SVGIcon_AlignBottomCenterLarge, .dxRichEdit_SVGIcon_AlignBottomLeftLarge, .dxRichEdit_SVGIcon_AlignBottomRightLarge, .dxRichEdit_SVGIcon_AlignCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge, .dxRichEdit_SVGIcon_AlignJustifyLarge, .dxRichEdit_SVGIcon_AlignLeftLarge, .dxRichEdit_SVGIcon_AlignMiddleCenterLarge, .dxRichEdit_SVGIcon_AlignMiddleLeftLarge, .dxRichEdit_SVGIcon_AlignMiddleRightLarge, .dxRichEdit_SVGIcon_AlignRightLarge, .dxRichEdit_SVGIcon_AlignTopCenterLarge, .dxRichEdit_SVGIcon_AlignTopLeftLarge, .dxRichEdit_SVGIcon_AlignTopRightLarge, .dxRichEdit_SVGIcon_BackgroundLarge, .dxRichEdit_SVGIcon_BoldLarge, .dxRichEdit_SVGIcon_BookmarkLarge, .dxRichEdit_SVGIcon_BorderBottomLarge, .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge, .dxRichEdit_SVGIcon_BorderInsideVerticalLarge, .dxRichEdit_SVGIcon_BorderLeftLarge, .dxRichEdit_SVGIcon_BorderNoneLarge, .dxRichEdit_SVGIcon_BorderRightLarge, .dxRichEdit_SVGIcon_BordersAllLarge, .dxRichEdit_SVGIcon_BordersBoxLarge, .dxRichEdit_SVGIcon_BordersCustomLarge, .dxRichEdit_SVGIcon_BordersGridLarge, .dxRichEdit_SVGIcon_BordersInsideLarge, .dxRichEdit_SVGIcon_BordersNoneLarge, .dxRichEdit_SVGIcon_BordersOutsideLarge, .dxRichEdit_SVGIcon_BorderTopLarge, .dxRichEdit_SVGIcon_ChangeFontStyleLarge, .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge, .dxRichEdit_SVGIcon_ChangeTextCaseLarge, .dxRichEdit_SVGIcon_ClearFormattingLarge, .dxRichEdit_SVGIcon_ClearTableStyleLarge, .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge, .dxRichEdit_SVGIcon_ColumnOneLarge, .dxRichEdit_SVGIcon_ColumnsLarge, .dxRichEdit_SVGIcon_ColumnsOneLarge, .dxRichEdit_SVGIcon_ColumnsThreeLarge, .dxRichEdit_SVGIcon_ColumnsTwoLarge, .dxRichEdit_SVGIcon_CopyLarge, .dxRichEdit_SVGIcon_CutLarge, .dxRichEdit_SVGIcon_DeleteLarge, .dxRichEdit_SVGIcon_Delete_HyperlinkLarge, .dxRichEdit_SVGIcon_DeleteCommentLarge, .dxRichEdit_SVGIcon_DeleteTableLarge, .dxRichEdit_SVGIcon_DeleteTableCellsLarge, .dxRichEdit_SVGIcon_DeleteTableColumnsLarge, .dxRichEdit_SVGIcon_DeleteTableRowsLarge, .dxRichEdit_SVGIcon_DifferentFirstPageLarge, .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge, .dxRichEdit_SVGIcon_DraftViewLarge, .dxRichEdit_SVGIcon_EditRangePermissionLarge, .dxRichEdit_SVGIcon_FindLarge, .dxRichEdit_SVGIcon_FindLargeLarge, .dxRichEdit_SVGIcon_FirstLarge, .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge, .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge, .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge, .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge, .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge, .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge, .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge, .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge, .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge, .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge, .dxRichEdit_SVGIcon_FontLarge, .dxRichEdit_SVGIcon_FontColorLarge, .dxRichEdit_SVGIcon_FontLargeLarge, .dxRichEdit_SVGIcon_FontSizeLarge, .dxRichEdit_SVGIcon_FontSizeDecreaseLarge, .dxRichEdit_SVGIcon_FontSizeIncreaseLarge, .dxRichEdit_SVGIcon_FooterLarge, .dxRichEdit_SVGIcon_FullScreenLarge, .dxRichEdit_SVGIcon_GoToFooterLarge, .dxRichEdit_SVGIcon_GoToHeaderLarge, .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge, .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge, .dxRichEdit_SVGIcon_HeaderLarge, .dxRichEdit_SVGIcon_HighlightLarge, .dxRichEdit_SVGIcon_HyperlinkLarge, .dxRichEdit_SVGIcon_ImagePlaceHolderLarge, .dxRichEdit_SVGIcon_IndentDecreaseLarge, .dxRichEdit_SVGIcon_IndentIncreaseLarge, .dxRichEdit_SVGIcon_InsertCaptionLarge, .dxRichEdit_SVGIcon_InsertColumnBreakLarge, .dxRichEdit_SVGIcon_InsertDataFieldLarge, .dxRichEdit_SVGIcon_InsertEquationCaptionLarge, .dxRichEdit_SVGIcon_InsertFigureCaptionLarge, .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge, .dxRichEdit_SVGIcon_InsertImageLarge, .dxRichEdit_SVGIcon_InsertPageBreakLarge, .dxRichEdit_SVGIcon_InsertPageCountLarge, .dxRichEdit_SVGIcon_InsertPageNumberLarge, .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge, .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge, .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge, .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge, .dxRichEdit_SVGIcon_InsertTableLarge, .dxRichEdit_SVGIcon_InsertTableCaptionLarge, .dxRichEdit_SVGIcon_InsertTableCellsLarge, .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge, .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge, .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge, .dxRichEdit_SVGIcon_InsertTableOfContentsLarge, .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge, .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge, .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge, .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge, .dxRichEdit_SVGIcon_InsertTextBoxLarge, .dxRichEdit_SVGIcon_ItalicLarge, .dxRichEdit_SVGIcon_LanguageLarge, .dxRichEdit_SVGIcon_LastLarge, .dxRichEdit_SVGIcon_LeftColumnsLarge, .dxRichEdit_SVGIcon_LineNumberingLarge, .dxRichEdit_SVGIcon_LineSpacingLarge, .dxRichEdit_SVGIcon_LinkToPreviousLarge, .dxRichEdit_SVGIcon_ListBulletsLarge, .dxRichEdit_SVGIcon_ListMultilevelLarge, .dxRichEdit_SVGIcon_ListNumbersLarge, .dxRichEdit_SVGIcon_MailMergeLarge, .dxRichEdit_SVGIcon_MergeTableCellsLarge, .dxRichEdit_SVGIcon_ModifyTableStyleLarge, .dxRichEdit_SVGIcon_NewLarge, .dxRichEdit_SVGIcon_NewCommentLarge, .dxRichEdit_SVGIcon_NewTableStyleLarge, .dxRichEdit_SVGIcon_NextLarge, .dxRichEdit_SVGIcon_NextCommentLarge, .dxRichEdit_SVGIcon_OneColumnLarge, .dxRichEdit_SVGIcon_OpenLarge, .dxRichEdit_SVGIcon_PageColorLarge, .dxRichEdit_SVGIcon_PageMarginsLarge, .dxRichEdit_SVGIcon_PageMarginsModerateLarge, .dxRichEdit_SVGIcon_PageMarginsNarrowLarge, .dxRichEdit_SVGIcon_PageMarginsNormalLarge, .dxRichEdit_SVGIcon_PageMarginsWideLarge, .dxRichEdit_SVGIcon_PageOrientationLarge, .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge, .dxRichEdit_SVGIcon_PageOrientationPortraitLarge, .dxRichEdit_SVGIcon_PaperSizeLarge, .dxRichEdit_SVGIcon_ParagraphLarge, .dxRichEdit_SVGIcon_ParagraphLargeLarge, .dxRichEdit_SVGIcon_PasteLarge, .dxRichEdit_SVGIcon_PasteLargeLarge, .dxRichEdit_SVGIcon_PasteSpecialLarge, .dxRichEdit_SVGIcon_PenColorLarge, .dxRichEdit_SVGIcon_PrevLarge, .dxRichEdit_SVGIcon_PreviewLarge, .dxRichEdit_SVGIcon_PreviousCommentLarge, .dxRichEdit_SVGIcon_PrintLarge, .dxRichEdit_SVGIcon_PrintBrowserLarge, .dxRichEdit_SVGIcon_PrintDialogLarge, .dxRichEdit_SVGIcon_PrintLayoutViewLarge, .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge, .dxRichEdit_SVGIcon_ProtectDocumentLarge, .dxRichEdit_SVGIcon_RedoLarge, .dxRichEdit_SVGIcon_ReplaceLarge, .dxRichEdit_SVGIcon_ReviewersLarge, .dxRichEdit_SVGIcon_ReviewingPaneLarge, .dxRichEdit_SVGIcon_RightColumnsLarge, .dxRichEdit_SVGIcon_RulerHorizontalLarge, .dxRichEdit_SVGIcon_RulerVerticalLarge, .dxRichEdit_SVGIcon_SaveLarge, .dxRichEdit_SVGIcon_SaveAsLarge, .dxRichEdit_SVGIcon_SelectLarge, .dxRichEdit_SVGIcon_SelectAllLarge, .dxRichEdit_SVGIcon_SelectTableLarge, .dxRichEdit_SVGIcon_SelectTableCellLarge, .dxRichEdit_SVGIcon_SelectTableColumnLarge, .dxRichEdit_SVGIcon_SelectTableRowLarge, .dxRichEdit_SVGIcon_ShadingLarge, .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge, .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge, .dxRichEdit_SVGIcon_ShowCommentsLarge, .dxRichEdit_SVGIcon_ShowHiddenLarge, .dxRichEdit_SVGIcon_SimpleViewLarge, .dxRichEdit_SVGIcon_SpacingDecreaseLarge, .dxRichEdit_SVGIcon_SpellCheckLarge, .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge, .dxRichEdit_SVGIcon_SplitTableLarge, .dxRichEdit_SVGIcon_SplitTableCellsLarge, .dxRichEdit_SVGIcon_StrikeoutLarge, .dxRichEdit_SVGIcon_StrikeoutDoubleLarge, .dxRichEdit_SVGIcon_SubscriptLarge, .dxRichEdit_SVGIcon_SuperscriptLarge, .dxRichEdit_SVGIcon_SymbolLarge, .dxRichEdit_SVGIcon_TableAutoFitContentsLarge, .dxRichEdit_SVGIcon_TableAutoFitWindowLarge, .dxRichEdit_SVGIcon_TableCellMarginsLarge, .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge, .dxRichEdit_SVGIcon_TablePropertiesLarge, .dxRichEdit_SVGIcon_TextWrapBehindLarge, .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge, .dxRichEdit_SVGIcon_TextWrapInlineLarge, .dxRichEdit_SVGIcon_TextWrapSquareLarge, .dxRichEdit_SVGIcon_TextWrapThroughLarge, .dxRichEdit_SVGIcon_TextWrapTightLarge, .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge, .dxRichEdit_SVGIcon_ThreeColumnsLarge, .dxRichEdit_SVGIcon_ToggleFieldCodesLarge, .dxRichEdit_SVGIcon_TwoColumnsLarge, .dxRichEdit_SVGIcon_UnderlineLarge, .dxRichEdit_SVGIcon_UnderlineDoubleLarge, .dxRichEdit_SVGIcon_UndoLarge, .dxRichEdit_SVGIcon_UnprotectDocumentLarge, .dxRichEdit_SVGIcon_UpdateFieldLarge, .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge, .dxRichEdit_SVGIcon_ViewMergedDataLarge, .dxRichEdit_SVGIcon_ViewTableGridlinesLarge, .dxRichEdit_SVGIcon_ZoomInLarge, .dxRichEdit_SVGIcon_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.SVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeDisabled, .dxRichEdit_SVGIcon_AlignBottomCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignBottomLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignBottomRightLargeDisabled, .dxRichEdit_SVGIcon_AlignCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeDisabled, .dxRichEdit_SVGIcon_AlignJustifyLargeDisabled, .dxRichEdit_SVGIcon_AlignLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignMiddleCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignMiddleLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignMiddleRightLargeDisabled, .dxRichEdit_SVGIcon_AlignRightLargeDisabled, .dxRichEdit_SVGIcon_AlignTopCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignTopLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignTopRightLargeDisabled, .dxRichEdit_SVGIcon_BackgroundLargeDisabled, .dxRichEdit_SVGIcon_BoldLargeDisabled, .dxRichEdit_SVGIcon_BookmarkLargeDisabled, .dxRichEdit_SVGIcon_BorderBottomLargeDisabled, .dxRichEdit_SVGIcon_BorderInsideHorizontalLargeDisabled, .dxRichEdit_SVGIcon_BorderInsideVerticalLargeDisabled, .dxRichEdit_SVGIcon_BorderLeftLargeDisabled, .dxRichEdit_SVGIcon_BorderNoneLargeDisabled, .dxRichEdit_SVGIcon_BorderRightLargeDisabled, .dxRichEdit_SVGIcon_BordersAllLargeDisabled, .dxRichEdit_SVGIcon_BordersBoxLargeDisabled, .dxRichEdit_SVGIcon_BordersCustomLargeDisabled, .dxRichEdit_SVGIcon_BordersGridLargeDisabled, .dxRichEdit_SVGIcon_BordersInsideLargeDisabled, .dxRichEdit_SVGIcon_BordersNoneLargeDisabled, .dxRichEdit_SVGIcon_BordersOutsideLargeDisabled, .dxRichEdit_SVGIcon_BorderTopLargeDisabled, .dxRichEdit_SVGIcon_ChangeFontStyleLargeDisabled, .dxRichEdit_SVGIcon_ChangeFontStyleLargeLargeDisabled, .dxRichEdit_SVGIcon_ChangeTextCaseLargeDisabled, .dxRichEdit_SVGIcon_ClearFormattingLargeDisabled, .dxRichEdit_SVGIcon_ClearTableStyleLargeDisabled, .dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeDisabled, .dxRichEdit_SVGIcon_ColumnOneLargeDisabled, .dxRichEdit_SVGIcon_ColumnsLargeDisabled, .dxRichEdit_SVGIcon_ColumnsOneLargeDisabled, .dxRichEdit_SVGIcon_ColumnsThreeLargeDisabled, .dxRichEdit_SVGIcon_ColumnsTwoLargeDisabled, .dxRichEdit_SVGIcon_CopyLargeDisabled, .dxRichEdit_SVGIcon_CutLargeDisabled, .dxRichEdit_SVGIcon_DeleteLargeDisabled, .dxRichEdit_SVGIcon_Delete_HyperlinkLargeDisabled, .dxRichEdit_SVGIcon_DeleteCommentLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableCellsLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableColumnsLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableRowsLargeDisabled, .dxRichEdit_SVGIcon_DifferentFirstPageLargeDisabled, .dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeDisabled, .dxRichEdit_SVGIcon_DraftViewLargeDisabled, .dxRichEdit_SVGIcon_EditRangePermissionLargeDisabled, .dxRichEdit_SVGIcon_FindLargeDisabled, .dxRichEdit_SVGIcon_FindLargeLargeDisabled, .dxRichEdit_SVGIcon_FirstLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectFillColorLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeDisabled, .dxRichEdit_SVGIcon_FontLargeDisabled, .dxRichEdit_SVGIcon_FontColorLargeDisabled, .dxRichEdit_SVGIcon_FontLargeLargeDisabled, .dxRichEdit_SVGIcon_FontSizeLargeDisabled, .dxRichEdit_SVGIcon_FontSizeDecreaseLargeDisabled, .dxRichEdit_SVGIcon_FontSizeIncreaseLargeDisabled, .dxRichEdit_SVGIcon_FooterLargeDisabled, .dxRichEdit_SVGIcon_FullScreenLargeDisabled, .dxRichEdit_SVGIcon_GoToFooterLargeDisabled, .dxRichEdit_SVGIcon_GoToHeaderLargeDisabled, .dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeDisabled, .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeDisabled, .dxRichEdit_SVGIcon_HeaderLargeDisabled, .dxRichEdit_SVGIcon_HighlightLargeDisabled, .dxRichEdit_SVGIcon_HyperlinkLargeDisabled, .dxRichEdit_SVGIcon_ImagePlaceHolderLargeDisabled, .dxRichEdit_SVGIcon_IndentDecreaseLargeDisabled, .dxRichEdit_SVGIcon_IndentIncreaseLargeDisabled, .dxRichEdit_SVGIcon_InsertCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertColumnBreakLargeDisabled, .dxRichEdit_SVGIcon_InsertDataFieldLargeDisabled, .dxRichEdit_SVGIcon_InsertEquationCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertFigureCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeDisabled, .dxRichEdit_SVGIcon_InsertImageLargeDisabled, .dxRichEdit_SVGIcon_InsertPageBreakLargeDisabled, .dxRichEdit_SVGIcon_InsertPageCountLargeDisabled, .dxRichEdit_SVGIcon_InsertPageNumberLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeDisabled, .dxRichEdit_SVGIcon_InsertTableLargeDisabled, .dxRichEdit_SVGIcon_InsertTableCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertTableCellsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeDisabled, .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfContentsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfEquationsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfFiguresLargeDisabled, .dxRichEdit_SVGIcon_InsertTableRowsAboveLargeDisabled, .dxRichEdit_SVGIcon_InsertTableRowsBelowLargeDisabled, .dxRichEdit_SVGIcon_InsertTextBoxLargeDisabled, .dxRichEdit_SVGIcon_ItalicLargeDisabled, .dxRichEdit_SVGIcon_LanguageLargeDisabled, .dxRichEdit_SVGIcon_LastLargeDisabled, .dxRichEdit_SVGIcon_LeftColumnsLargeDisabled, .dxRichEdit_SVGIcon_LineNumberingLargeDisabled, .dxRichEdit_SVGIcon_LineSpacingLargeDisabled, .dxRichEdit_SVGIcon_LinkToPreviousLargeDisabled, .dxRichEdit_SVGIcon_ListBulletsLargeDisabled, .dxRichEdit_SVGIcon_ListMultilevelLargeDisabled, .dxRichEdit_SVGIcon_ListNumbersLargeDisabled, .dxRichEdit_SVGIcon_MailMergeLargeDisabled, .dxRichEdit_SVGIcon_MergeTableCellsLargeDisabled, .dxRichEdit_SVGIcon_ModifyTableStyleLargeDisabled, .dxRichEdit_SVGIcon_NewLargeDisabled, .dxRichEdit_SVGIcon_NewCommentLargeDisabled, .dxRichEdit_SVGIcon_NewTableStyleLargeDisabled, .dxRichEdit_SVGIcon_NextLargeDisabled, .dxRichEdit_SVGIcon_NextCommentLargeDisabled, .dxRichEdit_SVGIcon_OneColumnLargeDisabled, .dxRichEdit_SVGIcon_OpenLargeDisabled, .dxRichEdit_SVGIcon_PageColorLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsModerateLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsNarrowLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsNormalLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsWideLargeDisabled, .dxRichEdit_SVGIcon_PageOrientationLargeDisabled, .dxRichEdit_SVGIcon_PageOrientationLandscapeLargeDisabled, .dxRichEdit_SVGIcon_PageOrientationPortraitLargeDisabled, .dxRichEdit_SVGIcon_PaperSizeLargeDisabled, .dxRichEdit_SVGIcon_ParagraphLargeDisabled, .dxRichEdit_SVGIcon_ParagraphLargeLargeDisabled, .dxRichEdit_SVGIcon_PasteLargeDisabled, .dxRichEdit_SVGIcon_PasteLargeLargeDisabled, .dxRichEdit_SVGIcon_PasteSpecialLargeDisabled, .dxRichEdit_SVGIcon_PenColorLargeDisabled, .dxRichEdit_SVGIcon_PrevLargeDisabled, .dxRichEdit_SVGIcon_PreviewLargeDisabled, .dxRichEdit_SVGIcon_PreviousCommentLargeDisabled, .dxRichEdit_SVGIcon_PrintLargeDisabled, .dxRichEdit_SVGIcon_PrintBrowserLargeDisabled, .dxRichEdit_SVGIcon_PrintDialogLargeDisabled, .dxRichEdit_SVGIcon_PrintLayoutViewLargeDisabled, .dxRichEdit_SVGIcon_PrintPreviewBrowserLargeDisabled, .dxRichEdit_SVGIcon_ProtectDocumentLargeDisabled, .dxRichEdit_SVGIcon_RedoLargeDisabled, .dxRichEdit_SVGIcon_ReplaceLargeDisabled, .dxRichEdit_SVGIcon_ReviewersLargeDisabled, .dxRichEdit_SVGIcon_ReviewingPaneLargeDisabled, .dxRichEdit_SVGIcon_RightColumnsLargeDisabled, .dxRichEdit_SVGIcon_RulerHorizontalLargeDisabled, .dxRichEdit_SVGIcon_RulerVerticalLargeDisabled, .dxRichEdit_SVGIcon_SaveLargeDisabled, .dxRichEdit_SVGIcon_SaveAsLargeDisabled, .dxRichEdit_SVGIcon_SelectLargeDisabled, .dxRichEdit_SVGIcon_SelectAllLargeDisabled, .dxRichEdit_SVGIcon_SelectTableLargeDisabled, .dxRichEdit_SVGIcon_SelectTableCellLargeDisabled, .dxRichEdit_SVGIcon_SelectTableColumnLargeDisabled, .dxRichEdit_SVGIcon_SelectTableRowLargeDisabled, .dxRichEdit_SVGIcon_ShadingLargeDisabled, .dxRichEdit_SVGIcon_ShowAllFieldCodesLargeDisabled, .dxRichEdit_SVGIcon_ShowAllFieldResultsLargeDisabled, .dxRichEdit_SVGIcon_ShowCommentsLargeDisabled, .dxRichEdit_SVGIcon_ShowHiddenLargeDisabled, .dxRichEdit_SVGIcon_SimpleViewLargeDisabled, .dxRichEdit_SVGIcon_SpacingDecreaseLargeDisabled, .dxRichEdit_SVGIcon_SpellCheckLargeDisabled, .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeDisabled, .dxRichEdit_SVGIcon_SplitTableLargeDisabled, .dxRichEdit_SVGIcon_SplitTableCellsLargeDisabled, .dxRichEdit_SVGIcon_StrikeoutLargeDisabled, .dxRichEdit_SVGIcon_StrikeoutDoubleLargeDisabled, .dxRichEdit_SVGIcon_SubscriptLargeDisabled, .dxRichEdit_SVGIcon_SuperscriptLargeDisabled, .dxRichEdit_SVGIcon_SymbolLargeDisabled, .dxRichEdit_SVGIcon_TableAutoFitContentsLargeDisabled, .dxRichEdit_SVGIcon_TableAutoFitWindowLargeDisabled, .dxRichEdit_SVGIcon_TableCellMarginsLargeDisabled, .dxRichEdit_SVGIcon_TableFixedColumnWidthLargeDisabled, .dxRichEdit_SVGIcon_TablePropertiesLargeDisabled, .dxRichEdit_SVGIcon_TextWrapBehindLargeDisabled, .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeDisabled, .dxRichEdit_SVGIcon_TextWrapInlineLargeDisabled, .dxRichEdit_SVGIcon_TextWrapSquareLargeDisabled, .dxRichEdit_SVGIcon_TextWrapThroughLargeDisabled, .dxRichEdit_SVGIcon_TextWrapTightLargeDisabled, .dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeDisabled, .dxRichEdit_SVGIcon_ThreeColumnsLargeDisabled, .dxRichEdit_SVGIcon_ToggleFieldCodesLargeDisabled, .dxRichEdit_SVGIcon_TwoColumnsLargeDisabled, .dxRichEdit_SVGIcon_UnderlineLargeDisabled, .dxRichEdit_SVGIcon_UnderlineDoubleLargeDisabled, .dxRichEdit_SVGIcon_UndoLargeDisabled, .dxRichEdit_SVGIcon_UnprotectDocumentLargeDisabled, .dxRichEdit_SVGIcon_UpdateFieldLargeDisabled, .dxRichEdit_SVGIcon_UpdateTableOfContentsLargeDisabled, .dxRichEdit_SVGIcon_ViewMergedDataLargeDisabled, .dxRichEdit_SVGIcon_ViewTableGridlinesLargeDisabled, .dxRichEdit_SVGIcon_ZoomInLargeDisabled, .dxRichEdit_SVGIcon_ZoomOutLargeDisabled { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.SVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContents { background-position: 0.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsDisabled { background-position: 0.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge { background-position: 0px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeDisabled { background-position: 0px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomCenter { background-position: -238.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignBottomCenterDisabled { background-position: -238.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomCenterLarge { background-position: -476px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomCenterLargeDisabled { background-position: -476px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomLeft { background-position: -170.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignBottomLeftDisabled { background-position: -170.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomLeftLarge { background-position: -340px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomLeftLargeDisabled { background-position: -340px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomRight { background-position: -68.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignBottomRightDisabled { background-position: -68.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomRightLarge { background-position: -136px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomRightLargeDisabled { background-position: -136px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignCenter { background-position: -34.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignCenterDisabled { background-position: -34.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignCenterLarge { background-position: -68px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignCenterLargeDisabled { background-position: -68px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter { background-position: -51.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterDisabled { background-position: -51.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge { background-position: -102px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeDisabled { background-position: -102px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft { background-position: -187.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftDisabled { background-position: -187.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge { background-position: -374px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeDisabled { background-position: -374px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight { background-position: -17.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightDisabled { background-position: -17.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge { background-position: -34px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeDisabled { background-position: -34px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter { background-position: -34.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterDisabled { background-position: -34.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge { background-position: -68px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeDisabled { background-position: -68px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft { background-position: -51.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftDisabled { background-position: -51.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge { background-position: -102px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeDisabled { background-position: -102px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight { background-position: -68.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightDisabled { background-position: -68.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge { background-position: -136px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeDisabled { background-position: -136px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter { background-position: -85.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterDisabled { background-position: -85.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge { background-position: -170px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeDisabled { background-position: -170px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft { background-position: -119.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftDisabled { background-position: -119.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge { background-position: -238px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeDisabled { background-position: -238px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRight { background-position: -119.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightDisabled { background-position: -119.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge { background-position: -238px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeDisabled { background-position: -238px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignJustify { background-position: -136.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignJustifyDisabled { background-position: -136.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignJustifyLarge { background-position: -272px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignJustifyLargeDisabled { background-position: -272px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignLeft { background-position: -153.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignLeftDisabled { background-position: -153.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignLeftLarge { background-position: -306px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignLeftLargeDisabled { background-position: -306px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleCenter { background-position: -170.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterDisabled { background-position: -170.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLarge { background-position: -340px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLargeDisabled { background-position: -340px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleLeft { background-position: -204.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftDisabled { background-position: -204.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLarge { background-position: -408px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLargeDisabled { background-position: -408px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleRight { background-position: -17.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignMiddleRightDisabled { background-position: -17.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleRightLarge { background-position: -34px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleRightLargeDisabled { background-position: -34px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignRight { background-position: -221.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignRightDisabled { background-position: -221.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignRightLarge { background-position: -442px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignRightLargeDisabled { background-position: -442px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopCenter { background-position: -238.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignTopCenterDisabled { background-position: -238.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopCenterLarge { background-position: -476px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopCenterLargeDisabled { background-position: -476px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopLeft { background-position: 0.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignTopLeftDisabled { background-position: 0.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopLeftLarge { background-position: 0px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopLeftLargeDisabled { background-position: 0px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopRight { background-position: -51.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignTopRightDisabled { background-position: -51.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopRightLarge { background-position: -102px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopRightLargeDisabled { background-position: -102px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Background { background-position: -238.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BackgroundDisabled { background-position: -238.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BackgroundLarge { background-position: -476px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BackgroundLargeDisabled { background-position: -476px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Bold { background-position: -187.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BoldDisabled { background-position: -187.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BoldLarge { background-position: -374px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BoldLargeDisabled { background-position: -374px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Bookmark { background-position: -238.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BookmarkDisabled { background-position: -238.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BookmarkLarge { background-position: -476px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BookmarkLargeDisabled { background-position: -476px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderBottom { background-position: -102.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderBottomDisabled { background-position: -102.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderBottomLarge { background-position: -204px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderBottomLargeDisabled { background-position: -204px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderInsideHorizontal { background-position: -85.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalDisabled { background-position: -85.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLarge { background-position: -170px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLargeDisabled { background-position: -170px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderInsideVertical { background-position: -136.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalDisabled { background-position: -136.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLarge { background-position: -272px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLargeDisabled { background-position: -272px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderLeft { background-position: -238.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderLeftDisabled { background-position: -238.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderLeftLarge { background-position: -476px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderLeftLargeDisabled { background-position: -476px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderNone { background-position: -51.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderNoneDisabled { background-position: -51.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderNoneLarge { background-position: -102px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderNoneLargeDisabled { background-position: -102px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderRight { background-position: -153.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderRightDisabled { background-position: -153.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderRightLarge { background-position: -306px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderRightLargeDisabled { background-position: -306px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersAll { background-position: -136.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersAllDisabled { background-position: -136.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersAllLarge { background-position: -272px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersAllLargeDisabled { background-position: -272px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersBox { background-position: -221.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersBoxDisabled { background-position: -221.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersBoxLarge { background-position: -442px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersBoxLargeDisabled { background-position: -442px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersCustom { background-position: -136.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersCustomDisabled { background-position: -136.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersCustomLarge { background-position: -272px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersCustomLargeDisabled { background-position: -272px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersGrid { background-position: -204.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersGridDisabled { background-position: -204.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersGridLarge { background-position: -408px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersGridLargeDisabled { background-position: -408px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersInside { background-position: -34.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersInsideDisabled { background-position: -34.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersInsideLarge { background-position: -68px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersInsideLargeDisabled { background-position: -68px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersNone { background-position: -85.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersNoneDisabled { background-position: -85.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersNoneLarge { background-position: -170px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersNoneLargeDisabled { background-position: -170px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersOutside { background-position: -102.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersOutsideDisabled { background-position: -102.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersOutsideLarge { background-position: -204px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersOutsideLargeDisabled { background-position: -204px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderTop { background-position: -119.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderTopDisabled { background-position: -119.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderTopLarge { background-position: -238px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderTopLargeDisabled { background-position: -238px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ChangeFontStyle { background-position: -170.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ChangeFontStyleDisabled { background-position: -170.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyleLargeDisabled { background-position: -340px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ChangeTextCase { background-position: -119.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ChangeTextCaseDisabled { background-position: -119.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ChangeTextCaseLarge { background-position: -238px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeTextCaseLargeDisabled { background-position: -238px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ClearFormatting { background-position: -187.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ClearFormattingDisabled { background-position: -187.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ClearFormattingLarge { background-position: -374px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearFormattingLargeDisabled { background-position: -374px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ClearTableStyle { background-position: -204.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ClearTableStyleDisabled { background-position: -204.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ClearTableStyleLarge { background-position: -408px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearTableStyleLargeDisabled { background-position: -408px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooter { background-position: -221.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterDisabled { background-position: -221.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge { background-position: -442px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeDisabled { background-position: -442px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnOne { background-position: -238.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnOneDisabled { background-position: -238.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnOneLarge { background-position: -476px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnOneLargeDisabled { background-position: -476px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Columns { background-position: -17.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsDisabled { background-position: -17.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsLarge { background-position: -34px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsLargeDisabled { background-position: -34px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsOne { background-position: -17.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsOneDisabled { background-position: -17.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsOneLarge { background-position: -34px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsOneLargeDisabled { background-position: -34px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsThree { background-position: -68.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsThreeDisabled { background-position: -68.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsThreeLarge { background-position: -136px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsThreeLargeDisabled { background-position: -136px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsTwo { background-position: -34.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsTwoDisabled { background-position: -34.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsTwoLarge { background-position: -68px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsTwoLargeDisabled { background-position: -68px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Copy { background-position: 0.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_CopyDisabled { background-position: 0.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_CopyLarge { background-position: 0px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CopyLargeDisabled { background-position: 0px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Cut { background-position: -153.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_CutDisabled { background-position: -153.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_CutLarge { background-position: -306px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CutLargeDisabled { background-position: -306px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Delete { background-position: -187.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteDisabled { background-position: -187.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteLarge { background-position: -374px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteLargeDisabled { background-position: -374px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Delete_Hyperlink { background-position: -204.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkDisabled { background-position: -204.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLarge { background-position: -408px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLargeDisabled { background-position: -408px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteComment { background-position: -85.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteCommentDisabled { background-position: -85.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteCommentLarge { background-position: -170px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteCommentLargeDisabled { background-position: -170px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTable { background-position: -102.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableDisabled { background-position: -102.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableLarge { background-position: -204px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableLargeDisabled { background-position: -204px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableCells { background-position: -153.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableCellsDisabled { background-position: -153.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableCellsLarge { background-position: -306px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableCellsLargeDisabled { background-position: -306px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableColumns { background-position: -221.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsDisabled { background-position: -221.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLarge { background-position: -442px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLargeDisabled { background-position: -442px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableRows { background-position: -221.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableRowsDisabled { background-position: -221.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableRowsLarge { background-position: -442px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableRowsLargeDisabled { background-position: -442px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DifferentFirstPage { background-position: -85.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DifferentFirstPageDisabled { background-position: -85.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DifferentFirstPageLarge { background-position: -170px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentFirstPageLargeDisabled { background-position: -170px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DifferentOddEvenPages { background-position: -102.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesDisabled { background-position: -102.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge { background-position: -204px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeDisabled { background-position: -204px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DraftView { background-position: -136.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DraftViewDisabled { background-position: -136.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DraftViewLarge { background-position: -272px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DraftViewLargeDisabled { background-position: -272px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_EditRangePermission { background-position: 0.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_EditRangePermissionDisabled { background-position: 0.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_EditRangePermissionLarge { background-position: 0px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_EditRangePermissionLargeDisabled { background-position: 0px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Find { background-position: -153.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FindDisabled { background-position: -153.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FindLarge { background-position: -340px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FindLargeDisabled { background-position: -340px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_First { background-position: -68.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FirstDisabled { background-position: -68.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FirstLarge { background-position: -136px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FirstLargeDisabled { background-position: -136px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectAlignment { background-position: -119.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentDisabled { background-position: -119.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge { background-position: -238px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeDisabled { background-position: -238px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringForward { background-position: 0.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardDisabled { background-position: 0.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge { background-position: 0px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeDisabled { background-position: 0px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText { background-position: -68.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextDisabled { background-position: -68.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge { background-position: -136px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeDisabled { background-position: -136px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFront { background-position: -187.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontDisabled { background-position: -187.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge { background-position: -374px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeDisabled { background-position: -374px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText { background-position: -187.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextDisabled { background-position: -187.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge { background-position: -374px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeDisabled { background-position: -374px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectFillColor { background-position: -187.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorDisabled { background-position: -187.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLarge { background-position: -374px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLargeDisabled { background-position: -374px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptions { background-position: -17.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsDisabled { background-position: -17.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge { background-position: -34px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeDisabled { background-position: -34px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColor { background-position: -204.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorDisabled { background-position: -204.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge { background-position: -408px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeDisabled { background-position: -408px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackward { background-position: -153.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardDisabled { background-position: -153.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge { background-position: -306px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeDisabled { background-position: -306px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindText { background-position: -170.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextDisabled { background-position: -170.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge { background-position: -340px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeDisabled { background-position: -340px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBack { background-position: -187.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackDisabled { background-position: -187.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge { background-position: -374px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeDisabled { background-position: -374px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapType { background-position: -204.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeDisabled { background-position: -204.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge { background-position: -408px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeDisabled { background-position: -408px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Font { background-position: -238.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontDisabled { background-position: -238.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontColor { background-position: 0.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontColorDisabled { background-position: 0.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontColorLarge { background-position: 0px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontColorLargeDisabled { background-position: 0px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontLarge { background-position: 0px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontLargeDisabled { background-position: 0px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSize { background-position: -238.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontSizeDisabled { background-position: -238.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeLarge { background-position: -476px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeLargeDisabled { background-position: -476px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeDecrease { background-position: -153.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseDisabled { background-position: -153.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLarge { background-position: -306px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLargeDisabled { background-position: -306px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeIncrease { background-position: -34.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseDisabled { background-position: -34.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLarge { background-position: -68px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLargeDisabled { background-position: -68px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Footer { background-position: -170.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FooterDisabled { background-position: -170.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FooterLarge { background-position: -340px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FooterLargeDisabled { background-position: -340px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FullScreen { background-position: -34.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FullScreenDisabled { background-position: -34.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FullScreenLarge { background-position: -68px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FullScreenLargeDisabled { background-position: -68px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToFooter { background-position: -51.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToFooterDisabled { background-position: -51.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToFooterLarge { background-position: -102px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToFooterLargeDisabled { background-position: -102px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToHeader { background-position: -102.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToHeaderDisabled { background-position: -102.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToHeaderLarge { background-position: -204px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToHeaderLargeDisabled { background-position: -204px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooter { background-position: -68.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterDisabled { background-position: -68.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge { background-position: -136px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeDisabled { background-position: -136px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooter { background-position: -51.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterDisabled { background-position: -51.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge { background-position: -102px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeDisabled { background-position: -102px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Header { background-position: -119.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_HeaderDisabled { background-position: -119.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_HeaderLarge { background-position: -238px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HeaderLargeDisabled { background-position: -238px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Highlight { background-position: -102.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_HighlightDisabled { background-position: -102.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_HighlightLarge { background-position: -204px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HighlightLargeDisabled { background-position: -204px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Hyperlink { background-position: -204.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_HyperlinkDisabled { background-position: -204.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_HyperlinkLarge { background-position: -408px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HyperlinkLargeDisabled { background-position: -408px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ImagePlaceHolder { background-position: -51.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderDisabled { background-position: -51.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLarge { background-position: -102px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLargeDisabled { background-position: -102px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_IndentDecrease { background-position: 0.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_IndentDecreaseDisabled { background-position: 0.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_IndentDecreaseLarge { background-position: 0px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentDecreaseLargeDisabled { background-position: 0px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_IndentIncrease { background-position: -187.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_IndentIncreaseDisabled { background-position: -187.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_IndentIncreaseLarge { background-position: -374px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentIncreaseLargeDisabled { background-position: -374px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertCaption { background-position: -221.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertCaptionDisabled { background-position: -221.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertCaptionLarge { background-position: -442px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertCaptionLargeDisabled { background-position: -442px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertColumnBreak { background-position: -187.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertColumnBreakDisabled { background-position: -187.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertColumnBreakLarge { background-position: -374px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertColumnBreakLargeDisabled { background-position: -374px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertDataField { background-position: -17.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertDataFieldDisabled { background-position: -17.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertDataFieldLarge { background-position: -34px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertDataFieldLargeDisabled { background-position: -34px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertEquationCaption { background-position: -68.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionDisabled { background-position: -68.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLarge { background-position: -136px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLargeDisabled { background-position: -136px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertFigureCaption { background-position: -136.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionDisabled { background-position: -136.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLarge { background-position: -272px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLargeDisabled { background-position: -272px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImage { background-position: -136.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageDisabled { background-position: -136.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge { background-position: -272px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeDisabled { background-position: -272px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertImage { background-position: -85.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertImageDisabled { background-position: -85.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertImageLarge { background-position: -170px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertImageLargeDisabled { background-position: -170px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageBreak { background-position: -85.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertPageBreakDisabled { background-position: -85.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageBreakLarge { background-position: -170px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageBreakLargeDisabled { background-position: -170px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageCount { background-position: -34.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertPageCountDisabled { background-position: -34.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageCountLarge { background-position: -68px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageCountLargeDisabled { background-position: -68px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageNumber { background-position: -153.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertPageNumberDisabled { background-position: -153.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageNumberLarge { background-position: -306px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageNumberLargeDisabled { background-position: -306px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuous { background-position: -17.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousDisabled { background-position: -17.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge { background-position: -34px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeDisabled { background-position: -34px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPage { background-position: -51.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageDisabled { background-position: -51.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge { background-position: -102px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeDisabled { background-position: -102px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPage { background-position: -153.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageDisabled { background-position: -153.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge { background-position: -306px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeDisabled { background-position: -306px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPage { background-position: -119.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageDisabled { background-position: -119.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge { background-position: -238px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeDisabled { background-position: -238px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTable { background-position: -102.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableDisabled { background-position: -102.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableLarge { background-position: -204px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableLargeDisabled { background-position: -204px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableCaption { background-position: -221.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableCaptionDisabled { background-position: -221.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableCaptionLarge { background-position: -442px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCaptionLargeDisabled { background-position: -442px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableCells { background-position: -119.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableCellsDisabled { background-position: -119.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableCellsLarge { background-position: -238px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCellsLargeDisabled { background-position: -238px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft { background-position: -136.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftDisabled { background-position: -136.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge { background-position: -272px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeDisabled { background-position: -272px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRight { background-position: -153.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightDisabled { background-position: -153.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge { background-position: -306px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeDisabled { background-position: -306px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfCaptions { background-position: -187.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsDisabled { background-position: -187.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge { background-position: -374px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeDisabled { background-position: -374px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfContents { background-position: -102.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsDisabled { background-position: -102.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLarge { background-position: -204px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLargeDisabled { background-position: -204px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfEquations { background-position: -204.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsDisabled { background-position: -204.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLarge { background-position: -408px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLargeDisabled { background-position: -408px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfFigures { background-position: -221.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresDisabled { background-position: -221.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLarge { background-position: -442px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLargeDisabled { background-position: -442px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableRowsAbove { background-position: -238.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveDisabled { background-position: -238.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLarge { background-position: -476px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLargeDisabled { background-position: -476px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableRowsBelow { background-position: 0.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowDisabled { background-position: 0.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLarge { background-position: 0px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLargeDisabled { background-position: 0px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTextBox { background-position: -17.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTextBoxDisabled { background-position: -17.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTextBoxLarge { background-position: -34px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTextBoxLargeDisabled { background-position: -34px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Italic { background-position: -136.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ItalicDisabled { background-position: -136.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ItalicLarge { background-position: -272px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ItalicLargeDisabled { background-position: -272px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Language { background-position: -85.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LanguageDisabled { background-position: -85.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LanguageLarge { background-position: -170px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LanguageLargeDisabled { background-position: -170px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Last { background-position: -85.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LastDisabled { background-position: -85.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LastLarge { background-position: -170px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LastLargeDisabled { background-position: -170px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LeftColumns { background-position: -170.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LeftColumnsDisabled { background-position: -170.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LeftColumnsLarge { background-position: -340px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LeftColumnsLargeDisabled { background-position: -340px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LineNumbering { background-position: -238.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LineNumberingDisabled { background-position: -238.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LineNumberingLarge { background-position: -476px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineNumberingLargeDisabled { background-position: -476px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LineSpacing { background-position: -68.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LineSpacingDisabled { background-position: -68.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LineSpacingLarge { background-position: -136px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineSpacingLargeDisabled { background-position: -136px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LinkToPrevious { background-position: -119.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LinkToPreviousDisabled { background-position: -119.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LinkToPreviousLarge { background-position: -238px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LinkToPreviousLargeDisabled { background-position: -238px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListBullets { background-position: -51.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ListBulletsDisabled { background-position: -51.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListBulletsLarge { background-position: -102px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListBulletsLargeDisabled { background-position: -102px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListMultilevel { background-position: 0.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ListMultilevelDisabled { background-position: 0.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListMultilevelLarge { background-position: 0px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListMultilevelLargeDisabled { background-position: 0px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListNumbers { background-position: -238.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ListNumbersDisabled { background-position: -238.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListNumbersLarge { background-position: -476px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListNumbersLargeDisabled { background-position: -476px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_MailMerge { background-position: -51.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_MailMergeDisabled { background-position: -51.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_MailMergeLarge { background-position: -102px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MailMergeLargeDisabled { background-position: -102px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_MergeTableCells { background-position: -51.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_MergeTableCellsDisabled { background-position: -51.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_MergeTableCellsLarge { background-position: -102px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MergeTableCellsLargeDisabled { background-position: -102px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ModifyTableStyle { background-position: -51.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ModifyTableStyleDisabled { background-position: -51.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ModifyTableStyleLarge { background-position: -102px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ModifyTableStyleLargeDisabled { background-position: -102px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_New { background-position: -68.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NewDisabled { background-position: -68.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewLarge { background-position: -136px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewLargeDisabled { background-position: -136px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewComment { background-position: -102.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NewCommentDisabled { background-position: -102.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewCommentLarge { background-position: -204px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewCommentLargeDisabled { background-position: -204px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewTableStyle { background-position: -119.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NewTableStyleDisabled { background-position: -119.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewTableStyleLarge { background-position: -238px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewTableStyleLargeDisabled { background-position: -238px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Next { background-position: 0.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NextDisabled { background-position: 0.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NextLarge { background-position: 0px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextLargeDisabled { background-position: 0px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NextComment { background-position: -102.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NextCommentDisabled { background-position: -102.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NextCommentLarge { background-position: -204px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextCommentLargeDisabled { background-position: -204px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_OneColumn { background-position: -204.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_OneColumnDisabled { background-position: -204.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_OneColumnLarge { background-position: -408px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OneColumnLargeDisabled { background-position: -408px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Open { background-position: -17.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_OpenDisabled { background-position: -17.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_OpenLarge { background-position: -34px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OpenLargeDisabled { background-position: -34px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageColor { background-position: -34.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageColorDisabled { background-position: -34.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageColorLarge { background-position: -68px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageColorLargeDisabled { background-position: -68px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMargins { background-position: -51.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsDisabled { background-position: -51.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsLarge { background-position: -102px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsLargeDisabled { background-position: -102px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsModerate { background-position: -68.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsModerateDisabled { background-position: -68.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsModerateLarge { background-position: -136px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsModerateLargeDisabled { background-position: -136px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsNarrow { background-position: -85.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowDisabled { background-position: -85.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLarge { background-position: -170px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLargeDisabled { background-position: -170px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsNormal { background-position: -102.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsNormalDisabled { background-position: -102.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsNormalLarge { background-position: -204px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNormalLargeDisabled { background-position: -204px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsWide { background-position: -119.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsWideDisabled { background-position: -119.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsWideLarge { background-position: -238px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsWideLargeDisabled { background-position: -238px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientation { background-position: -136.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageOrientationDisabled { background-position: -136.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationLarge { background-position: -272px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLargeDisabled { background-position: -272px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationLandscape { background-position: -153.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeDisabled { background-position: -153.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLarge { background-position: -306px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLargeDisabled { background-position: -306px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationPortrait { background-position: -170.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitDisabled { background-position: -170.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLarge { background-position: -340px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLargeDisabled { background-position: -340px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PaperSize { background-position: -187.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PaperSizeDisabled { background-position: -187.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PaperSizeLarge { background-position: -374px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PaperSizeLargeDisabled { background-position: -374px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Paragraph { background-position: -221.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ParagraphDisabled { background-position: -221.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ParagraphLarge { background-position: -136px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ParagraphLargeDisabled { background-position: -136px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Paste { background-position: -238.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PasteDisabled { background-position: -238.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PasteLarge { background-position: 0px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteLargeDisabled { background-position: 0px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PasteSpecial { background-position: -119.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PasteSpecialDisabled { background-position: -119.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PasteSpecialLarge { background-position: -238px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteSpecialLargeDisabled { background-position: -238px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PenColor { background-position: -34.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PenColorDisabled { background-position: -34.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PenColorLarge { background-position: -68px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PenColorLargeDisabled { background-position: -68px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Prev { background-position: -34.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrevDisabled { background-position: -34.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrevLarge { background-position: -68px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrevLargeDisabled { background-position: -68px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Preview { background-position: -204.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PreviewDisabled { background-position: -204.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PreviewLarge { background-position: -408px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviewLargeDisabled { background-position: -408px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PreviousComment { background-position: -17.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PreviousCommentDisabled { background-position: -17.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PreviousCommentLarge { background-position: -34px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviousCommentLargeDisabled { background-position: -34px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Print { background-position: -170.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintDisabled { background-position: -170.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintLarge { background-position: -340px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLargeDisabled { background-position: -340px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintBrowser { background-position: -17.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintBrowserDisabled { background-position: -17.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintBrowserLarge { background-position: -34px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintBrowserLargeDisabled { background-position: -34px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintDialog { background-position: -34.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintDialogDisabled { background-position: -34.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintDialogLarge { background-position: -68px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintDialogLargeDisabled { background-position: -68px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintLayoutView { background-position: -51.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintLayoutViewDisabled { background-position: -51.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintLayoutViewLarge { background-position: -102px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLayoutViewLargeDisabled { background-position: -102px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintPreviewBrowser { background-position: -102.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserDisabled { background-position: -102.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLarge { background-position: -204px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLargeDisabled { background-position: -204px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ProtectDocument { background-position: -153.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ProtectDocumentDisabled { background-position: -153.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ProtectDocumentLarge { background-position: -306px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ProtectDocumentLargeDisabled { background-position: -306px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Redo { background-position: -136.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RedoDisabled { background-position: -136.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RedoLarge { background-position: -272px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RedoLargeDisabled { background-position: -272px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Replace { background-position: -119.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ReplaceDisabled { background-position: -119.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ReplaceLarge { background-position: -238px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReplaceLargeDisabled { background-position: -238px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Reviewers { background-position: -68.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ReviewersDisabled { background-position: -68.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ReviewersLarge { background-position: -136px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewersLargeDisabled { background-position: -136px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ReviewingPane { background-position: -204.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ReviewingPaneDisabled { background-position: -204.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ReviewingPaneLarge { background-position: -408px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewingPaneLargeDisabled { background-position: -408px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RightColumns { background-position: -102.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RightColumnsDisabled { background-position: -102.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RightColumnsLarge { background-position: -204px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RightColumnsLargeDisabled { background-position: -204px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RulerHorizontal { background-position: -68.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RulerHorizontalDisabled { background-position: -68.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RulerHorizontalLarge { background-position: -136px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerHorizontalLargeDisabled { background-position: -136px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RulerVertical { background-position: -85.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RulerVerticalDisabled { background-position: -85.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RulerVerticalLarge { background-position: -170px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerVerticalLargeDisabled { background-position: -170px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Save { background-position: 0.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SaveDisabled { background-position: 0.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SaveLarge { background-position: 0px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveLargeDisabled { background-position: 0px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SaveAs { background-position: -34.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SaveAsDisabled { background-position: -34.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SaveAsLarge { background-position: -68px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveAsLargeDisabled { background-position: -68px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Select { background-position: -34.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectDisabled { background-position: -34.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectLarge { background-position: -68px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectLargeDisabled { background-position: -68px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectAll { background-position: -68.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectAllDisabled { background-position: -68.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectAllLarge { background-position: -136px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectAllLargeDisabled { background-position: -136px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTable { background-position: -102.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableDisabled { background-position: -102.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableLarge { background-position: -204px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableLargeDisabled { background-position: -204px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableCell { background-position: -136.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableCellDisabled { background-position: -136.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableCellLarge { background-position: -272px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableCellLargeDisabled { background-position: -272px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableColumn { background-position: -221.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableColumnDisabled { background-position: -221.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableColumnLarge { background-position: -442px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableColumnLargeDisabled { background-position: -442px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableRow { background-position: -136.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableRowDisabled { background-position: -136.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableRowLarge { background-position: -272px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableRowLargeDisabled { background-position: -272px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Shading { background-position: -153.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShadingDisabled { background-position: -153.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShadingLarge { background-position: -306px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShadingLargeDisabled { background-position: -306px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowAllFieldCodes { background-position: -34.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesDisabled { background-position: -34.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLarge { background-position: -68px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLargeDisabled { background-position: -68px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowAllFieldResults { background-position: -17.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsDisabled { background-position: -17.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLarge { background-position: -34px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLargeDisabled { background-position: -34px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowComments { background-position: -204.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowCommentsDisabled { background-position: -204.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowCommentsLarge { background-position: -408px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowCommentsLargeDisabled { background-position: -408px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowHidden { background-position: -221.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowHiddenDisabled { background-position: -221.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowHiddenLarge { background-position: -442px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowHiddenLargeDisabled { background-position: -442px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SimpleView { background-position: -204.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SimpleViewDisabled { background-position: -204.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SimpleViewLarge { background-position: -408px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SimpleViewLargeDisabled { background-position: -408px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpacingDecrease { background-position: -17.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SpacingDecreaseDisabled { background-position: -17.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpacingDecreaseLarge { background-position: -34px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpacingDecreaseLargeDisabled { background-position: -34px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpellCheck { background-position: -34.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SpellCheckDisabled { background-position: -34.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpellCheckLarge { background-position: -68px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckLargeDisabled { background-position: -68px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpellCheckAsYouType { background-position: -170.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeDisabled { background-position: -170.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge { background-position: -340px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeDisabled { background-position: -340px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SplitTable { background-position: -153.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SplitTableDisabled { background-position: -153.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SplitTableLarge { background-position: -306px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableLargeDisabled { background-position: -306px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SplitTableCells { background-position: -17.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SplitTableCellsDisabled { background-position: -17.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SplitTableCellsLarge { background-position: -34px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableCellsLargeDisabled { background-position: -34px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Strikeout { background-position: -136.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_StrikeoutDisabled { background-position: -136.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_StrikeoutLarge { background-position: -272px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutLargeDisabled { background-position: -272px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_StrikeoutDouble { background-position: -221.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleDisabled { background-position: -221.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLarge { background-position: -442px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLargeDisabled { background-position: -442px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Subscript { background-position: -17.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SubscriptDisabled { background-position: -17.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SubscriptLarge { background-position: -34px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SubscriptLargeDisabled { background-position: -34px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Superscript { background-position: -51.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SuperscriptDisabled { background-position: -51.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SuperscriptLarge { background-position: -102px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SuperscriptLargeDisabled { background-position: -102px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Symbol { background-position: -170.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SymbolDisabled { background-position: -170.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SymbolLarge { background-position: -340px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SymbolLargeDisabled { background-position: -340px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableAutoFitContents { background-position: -187.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsDisabled { background-position: -187.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLarge { background-position: -374px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLargeDisabled { background-position: -374px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableAutoFitWindow { background-position: -68.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowDisabled { background-position: -68.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLarge { background-position: -136px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLargeDisabled { background-position: -136px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableCellMargins { background-position: -85.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableCellMarginsDisabled { background-position: -85.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableCellMarginsLarge { background-position: -170px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableCellMarginsLargeDisabled { background-position: -170px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableFixedColumnWidth { background-position: -204.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthDisabled { background-position: -204.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLarge { background-position: -408px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLargeDisabled { background-position: -408px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableProperties { background-position: -170.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TablePropertiesDisabled { background-position: -170.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TablePropertiesLarge { background-position: -340px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TablePropertiesLargeDisabled { background-position: -340px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapBehind { background-position: -238.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapBehindDisabled { background-position: -238.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapBehindLarge { background-position: -476px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapBehindLargeDisabled { background-position: -476px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfText { background-position: -187.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextDisabled { background-position: -187.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge { background-position: -374px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeDisabled { background-position: -374px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapInline { background-position: -85.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapInlineDisabled { background-position: -85.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapInlineLarge { background-position: -170px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInlineLargeDisabled { background-position: -170px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapSquare { background-position: 0.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapSquareDisabled { background-position: 0.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapSquareLarge { background-position: 0px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapSquareLargeDisabled { background-position: 0px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapThrough { background-position: -85.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapThroughDisabled { background-position: -85.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapThroughLarge { background-position: -170px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapThroughLargeDisabled { background-position: -170px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapTight { background-position: -221.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapTightDisabled { background-position: -221.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapTightLarge { background-position: -442px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTightLargeDisabled { background-position: -442px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottom { background-position: -238.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomDisabled { background-position: -238.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge { background-position: -476px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeDisabled { background-position: -476px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ThreeColumns { background-position: 0.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ThreeColumnsDisabled { background-position: 0.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ThreeColumnsLarge { background-position: 0px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ThreeColumnsLargeDisabled { background-position: 0px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ToggleFieldCodes { background-position: -204.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesDisabled { background-position: -204.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLarge { background-position: -408px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLargeDisabled { background-position: -408px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TwoColumns { background-position: -187.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TwoColumnsDisabled { background-position: -187.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TwoColumnsLarge { background-position: -374px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TwoColumnsLargeDisabled { background-position: -374px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Underline { background-position: -170.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UnderlineDisabled { background-position: -170.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnderlineLarge { background-position: -340px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineLargeDisabled { background-position: -340px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnderlineDouble { background-position: -153.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UnderlineDoubleDisabled { background-position: -153.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnderlineDoubleLarge { background-position: -306px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineDoubleLargeDisabled { background-position: -306px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Undo { background-position: -136.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UndoDisabled { background-position: -136.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UndoLarge { background-position: -272px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UndoLargeDisabled { background-position: -272px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnprotectDocument { background-position: -119.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UnprotectDocumentDisabled { background-position: -119.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnprotectDocumentLarge { background-position: -238px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnprotectDocumentLargeDisabled { background-position: -238px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UpdateField { background-position: -102.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UpdateFieldDisabled { background-position: -102.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UpdateFieldLarge { background-position: -204px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateFieldLargeDisabled { background-position: -204px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UpdateTableOfContents { background-position: -85.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsDisabled { background-position: -85.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLarge { background-position: -170px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLargeDisabled { background-position: -170px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ViewMergedData { background-position: -221.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ViewMergedDataDisabled { background-position: -221.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ViewMergedDataLarge { background-position: -442px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewMergedDataLargeDisabled { background-position: -442px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ViewTableGridlines { background-position: -119.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesDisabled { background-position: -119.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLarge { background-position: -238px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLargeDisabled { background-position: -238px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ZoomIn { background-position: -170.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ZoomInDisabled { background-position: -170.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ZoomInLarge { background-position: -340px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomInLargeDisabled { background-position: -340px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ZoomOut { background-position: -221.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ZoomOutDisabled { background-position: -221.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ZoomOutLarge { background-position: -442px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomOutLargeDisabled { background-position: -442px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
        
dxSpriteWidth { width : 538 }

.dxRichEdit_SVGIcon_AddParagraphToTableOfContents, .dxRichEdit_SVGIcon_AlignBottomCenter, .dxRichEdit_SVGIcon_AlignBottomLeft, .dxRichEdit_SVGIcon_AlignBottomRight, .dxRichEdit_SVGIcon_AlignCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight, .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter, .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft, .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight, .dxRichEdit_SVGIcon_AlignJustify, .dxRichEdit_SVGIcon_AlignLeft, .dxRichEdit_SVGIcon_AlignMiddleCenter, .dxRichEdit_SVGIcon_AlignMiddleLeft, .dxRichEdit_SVGIcon_AlignMiddleRight, .dxRichEdit_SVGIcon_AlignRight, .dxRichEdit_SVGIcon_AlignTopCenter, .dxRichEdit_SVGIcon_AlignTopLeft, .dxRichEdit_SVGIcon_AlignTopRight, .dxRichEdit_SVGIcon_Background, .dxRichEdit_SVGIcon_Bold, .dxRichEdit_SVGIcon_Bookmark, .dxRichEdit_SVGIcon_BorderBottom, .dxRichEdit_SVGIcon_BorderInsideHorizontal, .dxRichEdit_SVGIcon_BorderInsideVertical, .dxRichEdit_SVGIcon_BorderLeft, .dxRichEdit_SVGIcon_BorderNone, .dxRichEdit_SVGIcon_BorderRight, .dxRichEdit_SVGIcon_BordersAll, .dxRichEdit_SVGIcon_BordersBox, .dxRichEdit_SVGIcon_BordersCustom, .dxRichEdit_SVGIcon_BordersGrid, .dxRichEdit_SVGIcon_BordersInside, .dxRichEdit_SVGIcon_BordersNone, .dxRichEdit_SVGIcon_BordersOutside, .dxRichEdit_SVGIcon_BorderTop, .dxRichEdit_SVGIcon_ChangeFontStyle, .dxRichEdit_SVGIcon_ChangeFontStyleLarge, .dxRichEdit_SVGIcon_ChangeTextCase, .dxRichEdit_SVGIcon_ClearFormatting, .dxRichEdit_SVGIcon_ClearTableStyle, .dxRichEdit_SVGIcon_CloseHeaderAndFooter, .dxRichEdit_SVGIcon_ColumnOne, .dxRichEdit_SVGIcon_Columns, .dxRichEdit_SVGIcon_ColumnsOne, .dxRichEdit_SVGIcon_ColumnsThree, .dxRichEdit_SVGIcon_ColumnsTwo, .dxRichEdit_SVGIcon_Copy, .dxRichEdit_SVGIcon_Cut, .dxRichEdit_SVGIcon_Delete, .dxRichEdit_SVGIcon_Delete_Hyperlink, .dxRichEdit_SVGIcon_DeleteComment, .dxRichEdit_SVGIcon_DeleteTable, .dxRichEdit_SVGIcon_DeleteTableCells, .dxRichEdit_SVGIcon_DeleteTableColumns, .dxRichEdit_SVGIcon_DeleteTableRows, .dxRichEdit_SVGIcon_DifferentFirstPage, .dxRichEdit_SVGIcon_DifferentOddEvenPages, .dxRichEdit_SVGIcon_DraftView, .dxRichEdit_SVGIcon_EditRangePermission, .dxRichEdit_SVGIcon_Find, .dxRichEdit_SVGIcon_FindLarge, .dxRichEdit_SVGIcon_First, .dxRichEdit_SVGIcon_FloatingObjectAlignment, .dxRichEdit_SVGIcon_FloatingObjectBringForward, .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText, .dxRichEdit_SVGIcon_FloatingObjectBringToFront, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText, .dxRichEdit_SVGIcon_FloatingObjectFillColor, .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions, .dxRichEdit_SVGIcon_FloatingObjectOutlineColor, .dxRichEdit_SVGIcon_FloatingObjectSendBackward, .dxRichEdit_SVGIcon_FloatingObjectSendBehindText, .dxRichEdit_SVGIcon_FloatingObjectSendToBack, .dxRichEdit_SVGIcon_FloatingObjectTextWrapType, .dxRichEdit_SVGIcon_Font, .dxRichEdit_SVGIcon_FontColor, .dxRichEdit_SVGIcon_FontLarge, .dxRichEdit_SVGIcon_FontSize, .dxRichEdit_SVGIcon_FontSizeDecrease, .dxRichEdit_SVGIcon_FontSizeIncrease, .dxRichEdit_SVGIcon_Footer, .dxRichEdit_SVGIcon_FullScreen, .dxRichEdit_SVGIcon_GoToFooter, .dxRichEdit_SVGIcon_GoToHeader, .dxRichEdit_SVGIcon_GoToNextHeaderFooter, .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter, .dxRichEdit_SVGIcon_Header, .dxRichEdit_SVGIcon_Highlight, .dxRichEdit_SVGIcon_Hyperlink, .dxRichEdit_SVGIcon_ImagePlaceHolder, .dxRichEdit_SVGIcon_IndentDecrease, .dxRichEdit_SVGIcon_IndentIncrease, .dxRichEdit_SVGIcon_InsertCaption, .dxRichEdit_SVGIcon_InsertColumnBreak, .dxRichEdit_SVGIcon_InsertDataField, .dxRichEdit_SVGIcon_InsertEquationCaption, .dxRichEdit_SVGIcon_InsertFigureCaption, .dxRichEdit_SVGIcon_InsertFloatingObjectImage, .dxRichEdit_SVGIcon_InsertImage, .dxRichEdit_SVGIcon_InsertPageBreak, .dxRichEdit_SVGIcon_InsertPageCount, .dxRichEdit_SVGIcon_InsertPageNumber, .dxRichEdit_SVGIcon_InsertSectionBreakContinuous, .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage, .dxRichEdit_SVGIcon_InsertSectionBreakNextPage, .dxRichEdit_SVGIcon_InsertSectionBreakOddPage, .dxRichEdit_SVGIcon_InsertTable, .dxRichEdit_SVGIcon_InsertTableCaption, .dxRichEdit_SVGIcon_InsertTableCells, .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft, .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight, .dxRichEdit_SVGIcon_InsertTableOfCaptions, .dxRichEdit_SVGIcon_InsertTableOfContents, .dxRichEdit_SVGIcon_InsertTableOfEquations, .dxRichEdit_SVGIcon_InsertTableOfFigures, .dxRichEdit_SVGIcon_InsertTableRowsAbove, .dxRichEdit_SVGIcon_InsertTableRowsBelow, .dxRichEdit_SVGIcon_InsertTextBox, .dxRichEdit_SVGIcon_Italic, .dxRichEdit_SVGIcon_Language, .dxRichEdit_SVGIcon_Last, .dxRichEdit_SVGIcon_LeftColumns, .dxRichEdit_SVGIcon_LineNumbering, .dxRichEdit_SVGIcon_LineSpacing, .dxRichEdit_SVGIcon_LinkToPrevious, .dxRichEdit_SVGIcon_ListBullets, .dxRichEdit_SVGIcon_ListMultilevel, .dxRichEdit_SVGIcon_ListNumbers, .dxRichEdit_SVGIcon_MailMerge, .dxRichEdit_SVGIcon_MergeTableCells, .dxRichEdit_SVGIcon_ModifyTableStyle, .dxRichEdit_SVGIcon_New, .dxRichEdit_SVGIcon_NewComment, .dxRichEdit_SVGIcon_NewTableStyle, .dxRichEdit_SVGIcon_Next, .dxRichEdit_SVGIcon_NextComment, .dxRichEdit_SVGIcon_OneColumn, .dxRichEdit_SVGIcon_Open, .dxRichEdit_SVGIcon_PageColor, .dxRichEdit_SVGIcon_PageMargins, .dxRichEdit_SVGIcon_PageMarginsModerate, .dxRichEdit_SVGIcon_PageMarginsNarrow, .dxRichEdit_SVGIcon_PageMarginsNormal, .dxRichEdit_SVGIcon_PageMarginsWide, .dxRichEdit_SVGIcon_PageOrientation, .dxRichEdit_SVGIcon_PageOrientationLandscape, .dxRichEdit_SVGIcon_PageOrientationPortrait, .dxRichEdit_SVGIcon_PaperSize, .dxRichEdit_SVGIcon_Paragraph, .dxRichEdit_SVGIcon_ParagraphLarge, .dxRichEdit_SVGIcon_Paste, .dxRichEdit_SVGIcon_PasteLarge, .dxRichEdit_SVGIcon_PasteSpecial, .dxRichEdit_SVGIcon_PenColor, .dxRichEdit_SVGIcon_Prev, .dxRichEdit_SVGIcon_Preview, .dxRichEdit_SVGIcon_PreviousComment, .dxRichEdit_SVGIcon_Print, .dxRichEdit_SVGIcon_PrintBrowser, .dxRichEdit_SVGIcon_PrintDialog, .dxRichEdit_SVGIcon_PrintLayoutView, .dxRichEdit_SVGIcon_PrintPreviewBrowser, .dxRichEdit_SVGIcon_ProtectDocument, .dxRichEdit_SVGIcon_Redo, .dxRichEdit_SVGIcon_Replace, .dxRichEdit_SVGIcon_Reviewers, .dxRichEdit_SVGIcon_ReviewingPane, .dxRichEdit_SVGIcon_RightColumns, .dxRichEdit_SVGIcon_RulerHorizontal, .dxRichEdit_SVGIcon_RulerVertical, .dxRichEdit_SVGIcon_Save, .dxRichEdit_SVGIcon_SaveAs, .dxRichEdit_SVGIcon_Select, .dxRichEdit_SVGIcon_SelectAll, .dxRichEdit_SVGIcon_SelectTable, .dxRichEdit_SVGIcon_SelectTableCell, .dxRichEdit_SVGIcon_SelectTableColumn, .dxRichEdit_SVGIcon_SelectTableRow, .dxRichEdit_SVGIcon_Shading, .dxRichEdit_SVGIcon_ShowAllFieldCodes, .dxRichEdit_SVGIcon_ShowAllFieldResults, .dxRichEdit_SVGIcon_ShowComments, .dxRichEdit_SVGIcon_ShowHidden, .dxRichEdit_SVGIcon_SimpleView, .dxRichEdit_SVGIcon_SpacingDecrease, .dxRichEdit_SVGIcon_SpellCheck, .dxRichEdit_SVGIcon_SpellCheckAsYouType, .dxRichEdit_SVGIcon_SplitTable, .dxRichEdit_SVGIcon_SplitTableCells, .dxRichEdit_SVGIcon_Strikeout, .dxRichEdit_SVGIcon_StrikeoutDouble, .dxRichEdit_SVGIcon_Subscript, .dxRichEdit_SVGIcon_Superscript, .dxRichEdit_SVGIcon_Symbol, .dxRichEdit_SVGIcon_TableAutoFitContents, .dxRichEdit_SVGIcon_TableAutoFitWindow, .dxRichEdit_SVGIcon_TableCellMargins, .dxRichEdit_SVGIcon_TableFixedColumnWidth, .dxRichEdit_SVGIcon_TableProperties, .dxRichEdit_SVGIcon_TextWrapBehind, .dxRichEdit_SVGIcon_TextWrapInFrontOfText, .dxRichEdit_SVGIcon_TextWrapInline, .dxRichEdit_SVGIcon_TextWrapSquare, .dxRichEdit_SVGIcon_TextWrapThrough, .dxRichEdit_SVGIcon_TextWrapTight, .dxRichEdit_SVGIcon_TextWrapTopAndBottom, .dxRichEdit_SVGIcon_ThreeColumns, .dxRichEdit_SVGIcon_ToggleFieldCodes, .dxRichEdit_SVGIcon_TwoColumns, .dxRichEdit_SVGIcon_Underline, .dxRichEdit_SVGIcon_UnderlineDouble, .dxRichEdit_SVGIcon_Undo, .dxRichEdit_SVGIcon_UnprotectDocument, .dxRichEdit_SVGIcon_UpdateField, .dxRichEdit_SVGIcon_UpdateTableOfContents, .dxRichEdit_SVGIcon_ViewMergedData, .dxRichEdit_SVGIcon_ViewTableGridlines, .dxRichEdit_SVGIcon_ZoomIn, .dxRichEdit_SVGIcon_ZoomOut { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge, .dxRichEdit_SVGIcon_AlignBottomCenterLarge, .dxRichEdit_SVGIcon_AlignBottomLeftLarge, .dxRichEdit_SVGIcon_AlignBottomRightLarge, .dxRichEdit_SVGIcon_AlignCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge, .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge, .dxRichEdit_SVGIcon_AlignJustifyLarge, .dxRichEdit_SVGIcon_AlignLeftLarge, .dxRichEdit_SVGIcon_AlignMiddleCenterLarge, .dxRichEdit_SVGIcon_AlignMiddleLeftLarge, .dxRichEdit_SVGIcon_AlignMiddleRightLarge, .dxRichEdit_SVGIcon_AlignRightLarge, .dxRichEdit_SVGIcon_AlignTopCenterLarge, .dxRichEdit_SVGIcon_AlignTopLeftLarge, .dxRichEdit_SVGIcon_AlignTopRightLarge, .dxRichEdit_SVGIcon_BackgroundLarge, .dxRichEdit_SVGIcon_BoldLarge, .dxRichEdit_SVGIcon_BookmarkLarge, .dxRichEdit_SVGIcon_BorderBottomLarge, .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge, .dxRichEdit_SVGIcon_BorderInsideVerticalLarge, .dxRichEdit_SVGIcon_BorderLeftLarge, .dxRichEdit_SVGIcon_BorderNoneLarge, .dxRichEdit_SVGIcon_BorderRightLarge, .dxRichEdit_SVGIcon_BordersAllLarge, .dxRichEdit_SVGIcon_BordersBoxLarge, .dxRichEdit_SVGIcon_BordersCustomLarge, .dxRichEdit_SVGIcon_BordersGridLarge, .dxRichEdit_SVGIcon_BordersInsideLarge, .dxRichEdit_SVGIcon_BordersNoneLarge, .dxRichEdit_SVGIcon_BordersOutsideLarge, .dxRichEdit_SVGIcon_BorderTopLarge, .dxRichEdit_SVGIcon_ChangeFontStyleLarge, .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge, .dxRichEdit_SVGIcon_ChangeTextCaseLarge, .dxRichEdit_SVGIcon_ClearFormattingLarge, .dxRichEdit_SVGIcon_ClearTableStyleLarge, .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge, .dxRichEdit_SVGIcon_ColumnOneLarge, .dxRichEdit_SVGIcon_ColumnsLarge, .dxRichEdit_SVGIcon_ColumnsOneLarge, .dxRichEdit_SVGIcon_ColumnsThreeLarge, .dxRichEdit_SVGIcon_ColumnsTwoLarge, .dxRichEdit_SVGIcon_CopyLarge, .dxRichEdit_SVGIcon_CutLarge, .dxRichEdit_SVGIcon_DeleteLarge, .dxRichEdit_SVGIcon_Delete_HyperlinkLarge, .dxRichEdit_SVGIcon_DeleteCommentLarge, .dxRichEdit_SVGIcon_DeleteTableLarge, .dxRichEdit_SVGIcon_DeleteTableCellsLarge, .dxRichEdit_SVGIcon_DeleteTableColumnsLarge, .dxRichEdit_SVGIcon_DeleteTableRowsLarge, .dxRichEdit_SVGIcon_DifferentFirstPageLarge, .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge, .dxRichEdit_SVGIcon_DraftViewLarge, .dxRichEdit_SVGIcon_EditRangePermissionLarge, .dxRichEdit_SVGIcon_FindLarge, .dxRichEdit_SVGIcon_FindLargeLarge, .dxRichEdit_SVGIcon_FirstLarge, .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge, .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge, .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge, .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge, .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge, .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge, .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge, .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge, .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge, .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge, .dxRichEdit_SVGIcon_FontLarge, .dxRichEdit_SVGIcon_FontColorLarge, .dxRichEdit_SVGIcon_FontLargeLarge, .dxRichEdit_SVGIcon_FontSizeLarge, .dxRichEdit_SVGIcon_FontSizeDecreaseLarge, .dxRichEdit_SVGIcon_FontSizeIncreaseLarge, .dxRichEdit_SVGIcon_FooterLarge, .dxRichEdit_SVGIcon_FullScreenLarge, .dxRichEdit_SVGIcon_GoToFooterLarge, .dxRichEdit_SVGIcon_GoToHeaderLarge, .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge, .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge, .dxRichEdit_SVGIcon_HeaderLarge, .dxRichEdit_SVGIcon_HighlightLarge, .dxRichEdit_SVGIcon_HyperlinkLarge, .dxRichEdit_SVGIcon_ImagePlaceHolderLarge, .dxRichEdit_SVGIcon_IndentDecreaseLarge, .dxRichEdit_SVGIcon_IndentIncreaseLarge, .dxRichEdit_SVGIcon_InsertCaptionLarge, .dxRichEdit_SVGIcon_InsertColumnBreakLarge, .dxRichEdit_SVGIcon_InsertDataFieldLarge, .dxRichEdit_SVGIcon_InsertEquationCaptionLarge, .dxRichEdit_SVGIcon_InsertFigureCaptionLarge, .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge, .dxRichEdit_SVGIcon_InsertImageLarge, .dxRichEdit_SVGIcon_InsertPageBreakLarge, .dxRichEdit_SVGIcon_InsertPageCountLarge, .dxRichEdit_SVGIcon_InsertPageNumberLarge, .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge, .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge, .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge, .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge, .dxRichEdit_SVGIcon_InsertTableLarge, .dxRichEdit_SVGIcon_InsertTableCaptionLarge, .dxRichEdit_SVGIcon_InsertTableCellsLarge, .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge, .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge, .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge, .dxRichEdit_SVGIcon_InsertTableOfContentsLarge, .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge, .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge, .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge, .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge, .dxRichEdit_SVGIcon_InsertTextBoxLarge, .dxRichEdit_SVGIcon_ItalicLarge, .dxRichEdit_SVGIcon_LanguageLarge, .dxRichEdit_SVGIcon_LastLarge, .dxRichEdit_SVGIcon_LeftColumnsLarge, .dxRichEdit_SVGIcon_LineNumberingLarge, .dxRichEdit_SVGIcon_LineSpacingLarge, .dxRichEdit_SVGIcon_LinkToPreviousLarge, .dxRichEdit_SVGIcon_ListBulletsLarge, .dxRichEdit_SVGIcon_ListMultilevelLarge, .dxRichEdit_SVGIcon_ListNumbersLarge, .dxRichEdit_SVGIcon_MailMergeLarge, .dxRichEdit_SVGIcon_MergeTableCellsLarge, .dxRichEdit_SVGIcon_ModifyTableStyleLarge, .dxRichEdit_SVGIcon_NewLarge, .dxRichEdit_SVGIcon_NewCommentLarge, .dxRichEdit_SVGIcon_NewTableStyleLarge, .dxRichEdit_SVGIcon_NextLarge, .dxRichEdit_SVGIcon_NextCommentLarge, .dxRichEdit_SVGIcon_OneColumnLarge, .dxRichEdit_SVGIcon_OpenLarge, .dxRichEdit_SVGIcon_PageColorLarge, .dxRichEdit_SVGIcon_PageMarginsLarge, .dxRichEdit_SVGIcon_PageMarginsModerateLarge, .dxRichEdit_SVGIcon_PageMarginsNarrowLarge, .dxRichEdit_SVGIcon_PageMarginsNormalLarge, .dxRichEdit_SVGIcon_PageMarginsWideLarge, .dxRichEdit_SVGIcon_PageOrientationLarge, .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge, .dxRichEdit_SVGIcon_PageOrientationPortraitLarge, .dxRichEdit_SVGIcon_PaperSizeLarge, .dxRichEdit_SVGIcon_ParagraphLarge, .dxRichEdit_SVGIcon_ParagraphLargeLarge, .dxRichEdit_SVGIcon_PasteLarge, .dxRichEdit_SVGIcon_PasteLargeLarge, .dxRichEdit_SVGIcon_PasteSpecialLarge, .dxRichEdit_SVGIcon_PenColorLarge, .dxRichEdit_SVGIcon_PrevLarge, .dxRichEdit_SVGIcon_PreviewLarge, .dxRichEdit_SVGIcon_PreviousCommentLarge, .dxRichEdit_SVGIcon_PrintLarge, .dxRichEdit_SVGIcon_PrintBrowserLarge, .dxRichEdit_SVGIcon_PrintDialogLarge, .dxRichEdit_SVGIcon_PrintLayoutViewLarge, .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge, .dxRichEdit_SVGIcon_ProtectDocumentLarge, .dxRichEdit_SVGIcon_RedoLarge, .dxRichEdit_SVGIcon_ReplaceLarge, .dxRichEdit_SVGIcon_ReviewersLarge, .dxRichEdit_SVGIcon_ReviewingPaneLarge, .dxRichEdit_SVGIcon_RightColumnsLarge, .dxRichEdit_SVGIcon_RulerHorizontalLarge, .dxRichEdit_SVGIcon_RulerVerticalLarge, .dxRichEdit_SVGIcon_SaveLarge, .dxRichEdit_SVGIcon_SaveAsLarge, .dxRichEdit_SVGIcon_SelectLarge, .dxRichEdit_SVGIcon_SelectAllLarge, .dxRichEdit_SVGIcon_SelectTableLarge, .dxRichEdit_SVGIcon_SelectTableCellLarge, .dxRichEdit_SVGIcon_SelectTableColumnLarge, .dxRichEdit_SVGIcon_SelectTableRowLarge, .dxRichEdit_SVGIcon_ShadingLarge, .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge, .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge, .dxRichEdit_SVGIcon_ShowCommentsLarge, .dxRichEdit_SVGIcon_ShowHiddenLarge, .dxRichEdit_SVGIcon_SimpleViewLarge, .dxRichEdit_SVGIcon_SpacingDecreaseLarge, .dxRichEdit_SVGIcon_SpellCheckLarge, .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge, .dxRichEdit_SVGIcon_SplitTableLarge, .dxRichEdit_SVGIcon_SplitTableCellsLarge, .dxRichEdit_SVGIcon_StrikeoutLarge, .dxRichEdit_SVGIcon_StrikeoutDoubleLarge, .dxRichEdit_SVGIcon_SubscriptLarge, .dxRichEdit_SVGIcon_SuperscriptLarge, .dxRichEdit_SVGIcon_SymbolLarge, .dxRichEdit_SVGIcon_TableAutoFitContentsLarge, .dxRichEdit_SVGIcon_TableAutoFitWindowLarge, .dxRichEdit_SVGIcon_TableCellMarginsLarge, .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge, .dxRichEdit_SVGIcon_TablePropertiesLarge, .dxRichEdit_SVGIcon_TextWrapBehindLarge, .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge, .dxRichEdit_SVGIcon_TextWrapInlineLarge, .dxRichEdit_SVGIcon_TextWrapSquareLarge, .dxRichEdit_SVGIcon_TextWrapThroughLarge, .dxRichEdit_SVGIcon_TextWrapTightLarge, .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge, .dxRichEdit_SVGIcon_ThreeColumnsLarge, .dxRichEdit_SVGIcon_ToggleFieldCodesLarge, .dxRichEdit_SVGIcon_TwoColumnsLarge, .dxRichEdit_SVGIcon_UnderlineLarge, .dxRichEdit_SVGIcon_UnderlineDoubleLarge, .dxRichEdit_SVGIcon_UndoLarge, .dxRichEdit_SVGIcon_UnprotectDocumentLarge, .dxRichEdit_SVGIcon_UpdateFieldLarge, .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge, .dxRichEdit_SVGIcon_ViewMergedDataLarge, .dxRichEdit_SVGIcon_ViewTableGridlinesLarge, .dxRichEdit_SVGIcon_ZoomInLarge, .dxRichEdit_SVGIcon_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeDisabled, .dxRichEdit_SVGIcon_AlignBottomCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignBottomLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignBottomRightLargeDisabled, .dxRichEdit_SVGIcon_AlignCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeDisabled, .dxRichEdit_SVGIcon_AlignJustifyLargeDisabled, .dxRichEdit_SVGIcon_AlignLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignMiddleCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignMiddleLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignMiddleRightLargeDisabled, .dxRichEdit_SVGIcon_AlignRightLargeDisabled, .dxRichEdit_SVGIcon_AlignTopCenterLargeDisabled, .dxRichEdit_SVGIcon_AlignTopLeftLargeDisabled, .dxRichEdit_SVGIcon_AlignTopRightLargeDisabled, .dxRichEdit_SVGIcon_BackgroundLargeDisabled, .dxRichEdit_SVGIcon_BoldLargeDisabled, .dxRichEdit_SVGIcon_BookmarkLargeDisabled, .dxRichEdit_SVGIcon_BorderBottomLargeDisabled, .dxRichEdit_SVGIcon_BorderInsideHorizontalLargeDisabled, .dxRichEdit_SVGIcon_BorderInsideVerticalLargeDisabled, .dxRichEdit_SVGIcon_BorderLeftLargeDisabled, .dxRichEdit_SVGIcon_BorderNoneLargeDisabled, .dxRichEdit_SVGIcon_BorderRightLargeDisabled, .dxRichEdit_SVGIcon_BordersAllLargeDisabled, .dxRichEdit_SVGIcon_BordersBoxLargeDisabled, .dxRichEdit_SVGIcon_BordersCustomLargeDisabled, .dxRichEdit_SVGIcon_BordersGridLargeDisabled, .dxRichEdit_SVGIcon_BordersInsideLargeDisabled, .dxRichEdit_SVGIcon_BordersNoneLargeDisabled, .dxRichEdit_SVGIcon_BordersOutsideLargeDisabled, .dxRichEdit_SVGIcon_BorderTopLargeDisabled, .dxRichEdit_SVGIcon_ChangeFontStyleLargeDisabled, .dxRichEdit_SVGIcon_ChangeFontStyleLargeLargeDisabled, .dxRichEdit_SVGIcon_ChangeTextCaseLargeDisabled, .dxRichEdit_SVGIcon_ClearFormattingLargeDisabled, .dxRichEdit_SVGIcon_ClearTableStyleLargeDisabled, .dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeDisabled, .dxRichEdit_SVGIcon_ColumnOneLargeDisabled, .dxRichEdit_SVGIcon_ColumnsLargeDisabled, .dxRichEdit_SVGIcon_ColumnsOneLargeDisabled, .dxRichEdit_SVGIcon_ColumnsThreeLargeDisabled, .dxRichEdit_SVGIcon_ColumnsTwoLargeDisabled, .dxRichEdit_SVGIcon_CopyLargeDisabled, .dxRichEdit_SVGIcon_CutLargeDisabled, .dxRichEdit_SVGIcon_DeleteLargeDisabled, .dxRichEdit_SVGIcon_Delete_HyperlinkLargeDisabled, .dxRichEdit_SVGIcon_DeleteCommentLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableCellsLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableColumnsLargeDisabled, .dxRichEdit_SVGIcon_DeleteTableRowsLargeDisabled, .dxRichEdit_SVGIcon_DifferentFirstPageLargeDisabled, .dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeDisabled, .dxRichEdit_SVGIcon_DraftViewLargeDisabled, .dxRichEdit_SVGIcon_EditRangePermissionLargeDisabled, .dxRichEdit_SVGIcon_FindLargeDisabled, .dxRichEdit_SVGIcon_FindLargeLargeDisabled, .dxRichEdit_SVGIcon_FirstLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectFillColorLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeDisabled, .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeDisabled, .dxRichEdit_SVGIcon_FontLargeDisabled, .dxRichEdit_SVGIcon_FontColorLargeDisabled, .dxRichEdit_SVGIcon_FontLargeLargeDisabled, .dxRichEdit_SVGIcon_FontSizeLargeDisabled, .dxRichEdit_SVGIcon_FontSizeDecreaseLargeDisabled, .dxRichEdit_SVGIcon_FontSizeIncreaseLargeDisabled, .dxRichEdit_SVGIcon_FooterLargeDisabled, .dxRichEdit_SVGIcon_FullScreenLargeDisabled, .dxRichEdit_SVGIcon_GoToFooterLargeDisabled, .dxRichEdit_SVGIcon_GoToHeaderLargeDisabled, .dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeDisabled, .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeDisabled, .dxRichEdit_SVGIcon_HeaderLargeDisabled, .dxRichEdit_SVGIcon_HighlightLargeDisabled, .dxRichEdit_SVGIcon_HyperlinkLargeDisabled, .dxRichEdit_SVGIcon_ImagePlaceHolderLargeDisabled, .dxRichEdit_SVGIcon_IndentDecreaseLargeDisabled, .dxRichEdit_SVGIcon_IndentIncreaseLargeDisabled, .dxRichEdit_SVGIcon_InsertCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertColumnBreakLargeDisabled, .dxRichEdit_SVGIcon_InsertDataFieldLargeDisabled, .dxRichEdit_SVGIcon_InsertEquationCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertFigureCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeDisabled, .dxRichEdit_SVGIcon_InsertImageLargeDisabled, .dxRichEdit_SVGIcon_InsertPageBreakLargeDisabled, .dxRichEdit_SVGIcon_InsertPageCountLargeDisabled, .dxRichEdit_SVGIcon_InsertPageNumberLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeDisabled, .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeDisabled, .dxRichEdit_SVGIcon_InsertTableLargeDisabled, .dxRichEdit_SVGIcon_InsertTableCaptionLargeDisabled, .dxRichEdit_SVGIcon_InsertTableCellsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeDisabled, .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfContentsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfEquationsLargeDisabled, .dxRichEdit_SVGIcon_InsertTableOfFiguresLargeDisabled, .dxRichEdit_SVGIcon_InsertTableRowsAboveLargeDisabled, .dxRichEdit_SVGIcon_InsertTableRowsBelowLargeDisabled, .dxRichEdit_SVGIcon_InsertTextBoxLargeDisabled, .dxRichEdit_SVGIcon_ItalicLargeDisabled, .dxRichEdit_SVGIcon_LanguageLargeDisabled, .dxRichEdit_SVGIcon_LastLargeDisabled, .dxRichEdit_SVGIcon_LeftColumnsLargeDisabled, .dxRichEdit_SVGIcon_LineNumberingLargeDisabled, .dxRichEdit_SVGIcon_LineSpacingLargeDisabled, .dxRichEdit_SVGIcon_LinkToPreviousLargeDisabled, .dxRichEdit_SVGIcon_ListBulletsLargeDisabled, .dxRichEdit_SVGIcon_ListMultilevelLargeDisabled, .dxRichEdit_SVGIcon_ListNumbersLargeDisabled, .dxRichEdit_SVGIcon_MailMergeLargeDisabled, .dxRichEdit_SVGIcon_MergeTableCellsLargeDisabled, .dxRichEdit_SVGIcon_ModifyTableStyleLargeDisabled, .dxRichEdit_SVGIcon_NewLargeDisabled, .dxRichEdit_SVGIcon_NewCommentLargeDisabled, .dxRichEdit_SVGIcon_NewTableStyleLargeDisabled, .dxRichEdit_SVGIcon_NextLargeDisabled, .dxRichEdit_SVGIcon_NextCommentLargeDisabled, .dxRichEdit_SVGIcon_OneColumnLargeDisabled, .dxRichEdit_SVGIcon_OpenLargeDisabled, .dxRichEdit_SVGIcon_PageColorLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsModerateLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsNarrowLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsNormalLargeDisabled, .dxRichEdit_SVGIcon_PageMarginsWideLargeDisabled, .dxRichEdit_SVGIcon_PageOrientationLargeDisabled, .dxRichEdit_SVGIcon_PageOrientationLandscapeLargeDisabled, .dxRichEdit_SVGIcon_PageOrientationPortraitLargeDisabled, .dxRichEdit_SVGIcon_PaperSizeLargeDisabled, .dxRichEdit_SVGIcon_ParagraphLargeDisabled, .dxRichEdit_SVGIcon_ParagraphLargeLargeDisabled, .dxRichEdit_SVGIcon_PasteLargeDisabled, .dxRichEdit_SVGIcon_PasteLargeLargeDisabled, .dxRichEdit_SVGIcon_PasteSpecialLargeDisabled, .dxRichEdit_SVGIcon_PenColorLargeDisabled, .dxRichEdit_SVGIcon_PrevLargeDisabled, .dxRichEdit_SVGIcon_PreviewLargeDisabled, .dxRichEdit_SVGIcon_PreviousCommentLargeDisabled, .dxRichEdit_SVGIcon_PrintLargeDisabled, .dxRichEdit_SVGIcon_PrintBrowserLargeDisabled, .dxRichEdit_SVGIcon_PrintDialogLargeDisabled, .dxRichEdit_SVGIcon_PrintLayoutViewLargeDisabled, .dxRichEdit_SVGIcon_PrintPreviewBrowserLargeDisabled, .dxRichEdit_SVGIcon_ProtectDocumentLargeDisabled, .dxRichEdit_SVGIcon_RedoLargeDisabled, .dxRichEdit_SVGIcon_ReplaceLargeDisabled, .dxRichEdit_SVGIcon_ReviewersLargeDisabled, .dxRichEdit_SVGIcon_ReviewingPaneLargeDisabled, .dxRichEdit_SVGIcon_RightColumnsLargeDisabled, .dxRichEdit_SVGIcon_RulerHorizontalLargeDisabled, .dxRichEdit_SVGIcon_RulerVerticalLargeDisabled, .dxRichEdit_SVGIcon_SaveLargeDisabled, .dxRichEdit_SVGIcon_SaveAsLargeDisabled, .dxRichEdit_SVGIcon_SelectLargeDisabled, .dxRichEdit_SVGIcon_SelectAllLargeDisabled, .dxRichEdit_SVGIcon_SelectTableLargeDisabled, .dxRichEdit_SVGIcon_SelectTableCellLargeDisabled, .dxRichEdit_SVGIcon_SelectTableColumnLargeDisabled, .dxRichEdit_SVGIcon_SelectTableRowLargeDisabled, .dxRichEdit_SVGIcon_ShadingLargeDisabled, .dxRichEdit_SVGIcon_ShowAllFieldCodesLargeDisabled, .dxRichEdit_SVGIcon_ShowAllFieldResultsLargeDisabled, .dxRichEdit_SVGIcon_ShowCommentsLargeDisabled, .dxRichEdit_SVGIcon_ShowHiddenLargeDisabled, .dxRichEdit_SVGIcon_SimpleViewLargeDisabled, .dxRichEdit_SVGIcon_SpacingDecreaseLargeDisabled, .dxRichEdit_SVGIcon_SpellCheckLargeDisabled, .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeDisabled, .dxRichEdit_SVGIcon_SplitTableLargeDisabled, .dxRichEdit_SVGIcon_SplitTableCellsLargeDisabled, .dxRichEdit_SVGIcon_StrikeoutLargeDisabled, .dxRichEdit_SVGIcon_StrikeoutDoubleLargeDisabled, .dxRichEdit_SVGIcon_SubscriptLargeDisabled, .dxRichEdit_SVGIcon_SuperscriptLargeDisabled, .dxRichEdit_SVGIcon_SymbolLargeDisabled, .dxRichEdit_SVGIcon_TableAutoFitContentsLargeDisabled, .dxRichEdit_SVGIcon_TableAutoFitWindowLargeDisabled, .dxRichEdit_SVGIcon_TableCellMarginsLargeDisabled, .dxRichEdit_SVGIcon_TableFixedColumnWidthLargeDisabled, .dxRichEdit_SVGIcon_TablePropertiesLargeDisabled, .dxRichEdit_SVGIcon_TextWrapBehindLargeDisabled, .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeDisabled, .dxRichEdit_SVGIcon_TextWrapInlineLargeDisabled, .dxRichEdit_SVGIcon_TextWrapSquareLargeDisabled, .dxRichEdit_SVGIcon_TextWrapThroughLargeDisabled, .dxRichEdit_SVGIcon_TextWrapTightLargeDisabled, .dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeDisabled, .dxRichEdit_SVGIcon_ThreeColumnsLargeDisabled, .dxRichEdit_SVGIcon_ToggleFieldCodesLargeDisabled, .dxRichEdit_SVGIcon_TwoColumnsLargeDisabled, .dxRichEdit_SVGIcon_UnderlineLargeDisabled, .dxRichEdit_SVGIcon_UnderlineDoubleLargeDisabled, .dxRichEdit_SVGIcon_UndoLargeDisabled, .dxRichEdit_SVGIcon_UnprotectDocumentLargeDisabled, .dxRichEdit_SVGIcon_UpdateFieldLargeDisabled, .dxRichEdit_SVGIcon_UpdateTableOfContentsLargeDisabled, .dxRichEdit_SVGIcon_ViewMergedDataLargeDisabled, .dxRichEdit_SVGIcon_ViewTableGridlinesLargeDisabled, .dxRichEdit_SVGIcon_ZoomInLargeDisabled, .dxRichEdit_SVGIcon_ZoomOutLargeDisabled { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AddParagraphToTableOfContents,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomCenter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignCenter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignJustify,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleCenter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopCenter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Background,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Bold,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Bookmark,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderBottom,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideHorizontal,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideVertical,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderNone,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersAll,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersBox,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersCustom,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersGrid,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersInside,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersNone,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersOutside,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderTop,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyle,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyleLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeTextCase,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearFormatting,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearTableStyle,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CloseHeaderAndFooter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnOne,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Columns,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsOne,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsThree,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsTwo,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Copy,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Cut,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Delete,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Delete_Hyperlink,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteComment,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTable,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableCells,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableColumns,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableRows,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentFirstPage,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentOddEvenPages,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DraftView,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_EditRangePermission,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Find,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FindLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_First,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectAlignment,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringForward,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFront,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectFillColor,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectOutlineColor,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBackward,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBehindText,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendToBack,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectTextWrapType,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Font,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontColor,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSize,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeDecrease,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeIncrease,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Footer,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FullScreen,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToFooter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToHeader,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToNextHeaderFooter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Header,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Highlight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Hyperlink,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ImagePlaceHolder,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentDecrease,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentIncrease,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertCaption,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertColumnBreak,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertDataField,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertEquationCaption,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFigureCaption,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFloatingObjectImage,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertImage,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageBreak,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageCount,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageNumber,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakContinuous,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakNextPage,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakOddPage,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTable,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCaption,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCells,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfCaptions,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfContents,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfEquations,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfFigures,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsAbove,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsBelow,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTextBox,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Italic,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Language,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Last,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LeftColumns,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineNumbering,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineSpacing,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LinkToPrevious,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListBullets,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListMultilevel,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListNumbers,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MailMerge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MergeTableCells,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ModifyTableStyle,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_New,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewComment,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewTableStyle,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Next,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NextComment,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_OneColumn,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Open,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageColor,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMargins,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsModerate,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNarrow,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNormal,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsWide,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientation,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationLandscape,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationPortrait,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PaperSize,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Paragraph,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ParagraphLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Paste,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteSpecial,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PenColor,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Prev,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Preview,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PreviousComment,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Print,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintBrowser,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintDialog,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintLayoutView,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintPreviewBrowser,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ProtectDocument,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Redo,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Replace,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Reviewers,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReviewingPane,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RightColumns,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerHorizontal,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerVertical,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Save,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SaveAs,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Select,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectAll,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTable,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableCell,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableColumn,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableRow,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Shading,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldCodes,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldResults,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowComments,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowHidden,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SimpleView,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpacingDecrease,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheck,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheckAsYouType,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTable,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTableCells,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Strikeout,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_StrikeoutDouble,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Subscript,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Superscript,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Symbol,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitContents,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitWindow,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableCellMargins,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableFixedColumnWidth,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableProperties,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapBehind,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInFrontOfText,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInline,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapSquare,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapThrough,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTight,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTopAndBottom,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ThreeColumns,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ToggleFieldCodes,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TwoColumns,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Underline,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnderlineDouble,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Undo,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnprotectDocument,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateField,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateTableOfContents,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewMergedData,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewTableGridlines,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomIn,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomOut { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomCenterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignCenterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignJustifyLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleCenterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopCenterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BackgroundLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BoldLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BookmarkLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderBottomLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideVerticalLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderNoneLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersAllLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersBoxLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersCustomLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersGridLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersInsideLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersNoneLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersOutsideLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderTopLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyleLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeTextCaseLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearFormattingLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearTableStyleLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnOneLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsOneLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsThreeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsTwoLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CopyLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CutLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Delete_HyperlinkLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteCommentLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableCellsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableColumnsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableRowsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentFirstPageLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DraftViewLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_EditRangePermissionLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FindLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FindLargeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FirstLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontColorLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontLargeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeDecreaseLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeIncreaseLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FooterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FullScreenLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToFooterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToHeaderLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_HeaderLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_HighlightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_HyperlinkLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ImagePlaceHolderLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentDecreaseLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentIncreaseLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertCaptionLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertColumnBreakLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertDataFieldLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertEquationCaptionLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFigureCaptionLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertImageLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageBreakLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageCountLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageNumberLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCaptionLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCellsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfContentsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTextBoxLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ItalicLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LanguageLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LastLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LeftColumnsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineNumberingLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineSpacingLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LinkToPreviousLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListBulletsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListMultilevelLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListNumbersLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MailMergeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MergeTableCellsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ModifyTableStyleLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewCommentLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewTableStyleLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NextLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NextCommentLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_OneColumnLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_OpenLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageColorLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsModerateLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNarrowLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNormalLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsWideLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationPortraitLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PaperSizeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ParagraphLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ParagraphLargeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteLargeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteSpecialLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PenColorLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrevLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PreviewLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PreviousCommentLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintBrowserLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintDialogLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintLayoutViewLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ProtectDocumentLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RedoLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReplaceLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReviewersLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReviewingPaneLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RightColumnsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerHorizontalLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerVerticalLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SaveLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SaveAsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectAllLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableCellLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableColumnLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableRowLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShadingLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowCommentsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowHiddenLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SimpleViewLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpacingDecreaseLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheckLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTableLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTableCellsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_StrikeoutLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_StrikeoutDoubleLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SubscriptLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SuperscriptLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SymbolLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitContentsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitWindowLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableCellMarginsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TablePropertiesLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapBehindLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInlineLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapSquareLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapThroughLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTightLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ThreeColumnsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ToggleFieldCodesLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TwoColumnsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnderlineLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnderlineDoubleLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UndoLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnprotectDocumentLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateFieldLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewMergedDataLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewTableGridlinesLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomInLarge,  .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AddParagraphToTableOfContents,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomCenter,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomRight,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignCenter,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignJustify,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleCenter,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleRight,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignRight,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopCenter,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopRight,  .dxr-itemHover .dxRichEdit_SVGIcon_Background,  .dxr-itemHover .dxRichEdit_SVGIcon_Bold,  .dxr-itemHover .dxRichEdit_SVGIcon_Bookmark,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderBottom,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideHorizontal,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideVertical,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderNone,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderRight,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersAll,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersBox,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersCustom,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersGrid,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersInside,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersNone,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersOutside,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderTop,  .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyle,  .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyleLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ChangeTextCase,  .dxr-itemHover .dxRichEdit_SVGIcon_ClearFormatting,  .dxr-itemHover .dxRichEdit_SVGIcon_ClearTableStyle,  .dxr-itemHover .dxRichEdit_SVGIcon_CloseHeaderAndFooter,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnOne,  .dxr-itemHover .dxRichEdit_SVGIcon_Columns,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsOne,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsThree,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsTwo,  .dxr-itemHover .dxRichEdit_SVGIcon_Copy,  .dxr-itemHover .dxRichEdit_SVGIcon_Cut,  .dxr-itemHover .dxRichEdit_SVGIcon_Delete,  .dxr-itemHover .dxRichEdit_SVGIcon_Delete_Hyperlink,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteComment,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTable,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableCells,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableColumns,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableRows,  .dxr-itemHover .dxRichEdit_SVGIcon_DifferentFirstPage,  .dxr-itemHover .dxRichEdit_SVGIcon_DifferentOddEvenPages,  .dxr-itemHover .dxRichEdit_SVGIcon_DraftView,  .dxr-itemHover .dxRichEdit_SVGIcon_EditRangePermission,  .dxr-itemHover .dxRichEdit_SVGIcon_Find,  .dxr-itemHover .dxRichEdit_SVGIcon_FindLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_First,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectAlignment,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringForward,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFront,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectFillColor,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectOutlineColor,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBackward,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBehindText,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendToBack,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectTextWrapType,  .dxr-itemHover .dxRichEdit_SVGIcon_Font,  .dxr-itemHover .dxRichEdit_SVGIcon_FontColor,  .dxr-itemHover .dxRichEdit_SVGIcon_FontLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FontSize,  .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeDecrease,  .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeIncrease,  .dxr-itemHover .dxRichEdit_SVGIcon_Footer,  .dxr-itemHover .dxRichEdit_SVGIcon_FullScreen,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToFooter,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToHeader,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToNextHeaderFooter,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter,  .dxr-itemHover .dxRichEdit_SVGIcon_Header,  .dxr-itemHover .dxRichEdit_SVGIcon_Highlight,  .dxr-itemHover .dxRichEdit_SVGIcon_Hyperlink,  .dxr-itemHover .dxRichEdit_SVGIcon_ImagePlaceHolder,  .dxr-itemHover .dxRichEdit_SVGIcon_IndentDecrease,  .dxr-itemHover .dxRichEdit_SVGIcon_IndentIncrease,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertCaption,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertColumnBreak,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertDataField,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertEquationCaption,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertFigureCaption,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertFloatingObjectImage,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertImage,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageBreak,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageCount,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageNumber,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakContinuous,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakNextPage,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakOddPage,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTable,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCaption,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCells,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfCaptions,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfContents,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfEquations,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfFigures,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsAbove,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsBelow,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTextBox,  .dxr-itemHover .dxRichEdit_SVGIcon_Italic,  .dxr-itemHover .dxRichEdit_SVGIcon_Language,  .dxr-itemHover .dxRichEdit_SVGIcon_Last,  .dxr-itemHover .dxRichEdit_SVGIcon_LeftColumns,  .dxr-itemHover .dxRichEdit_SVGIcon_LineNumbering,  .dxr-itemHover .dxRichEdit_SVGIcon_LineSpacing,  .dxr-itemHover .dxRichEdit_SVGIcon_LinkToPrevious,  .dxr-itemHover .dxRichEdit_SVGIcon_ListBullets,  .dxr-itemHover .dxRichEdit_SVGIcon_ListMultilevel,  .dxr-itemHover .dxRichEdit_SVGIcon_ListNumbers,  .dxr-itemHover .dxRichEdit_SVGIcon_MailMerge,  .dxr-itemHover .dxRichEdit_SVGIcon_MergeTableCells,  .dxr-itemHover .dxRichEdit_SVGIcon_ModifyTableStyle,  .dxr-itemHover .dxRichEdit_SVGIcon_New,  .dxr-itemHover .dxRichEdit_SVGIcon_NewComment,  .dxr-itemHover .dxRichEdit_SVGIcon_NewTableStyle,  .dxr-itemHover .dxRichEdit_SVGIcon_Next,  .dxr-itemHover .dxRichEdit_SVGIcon_NextComment,  .dxr-itemHover .dxRichEdit_SVGIcon_OneColumn,  .dxr-itemHover .dxRichEdit_SVGIcon_Open,  .dxr-itemHover .dxRichEdit_SVGIcon_PageColor,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMargins,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsModerate,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNarrow,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNormal,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsWide,  .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientation,  .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationLandscape,  .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationPortrait,  .dxr-itemHover .dxRichEdit_SVGIcon_PaperSize,  .dxr-itemHover .dxRichEdit_SVGIcon_Paragraph,  .dxr-itemHover .dxRichEdit_SVGIcon_ParagraphLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_Paste,  .dxr-itemHover .dxRichEdit_SVGIcon_PasteLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PasteSpecial,  .dxr-itemHover .dxRichEdit_SVGIcon_PenColor,  .dxr-itemHover .dxRichEdit_SVGIcon_Prev,  .dxr-itemHover .dxRichEdit_SVGIcon_Preview,  .dxr-itemHover .dxRichEdit_SVGIcon_PreviousComment,  .dxr-itemHover .dxRichEdit_SVGIcon_Print,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintBrowser,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintDialog,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintLayoutView,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintPreviewBrowser,  .dxr-itemHover .dxRichEdit_SVGIcon_ProtectDocument,  .dxr-itemHover .dxRichEdit_SVGIcon_Redo,  .dxr-itemHover .dxRichEdit_SVGIcon_Replace,  .dxr-itemHover .dxRichEdit_SVGIcon_Reviewers,  .dxr-itemHover .dxRichEdit_SVGIcon_ReviewingPane,  .dxr-itemHover .dxRichEdit_SVGIcon_RightColumns,  .dxr-itemHover .dxRichEdit_SVGIcon_RulerHorizontal,  .dxr-itemHover .dxRichEdit_SVGIcon_RulerVertical,  .dxr-itemHover .dxRichEdit_SVGIcon_Save,  .dxr-itemHover .dxRichEdit_SVGIcon_SaveAs,  .dxr-itemHover .dxRichEdit_SVGIcon_Select,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectAll,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTable,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableCell,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableColumn,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableRow,  .dxr-itemHover .dxRichEdit_SVGIcon_Shading,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldCodes,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldResults,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowComments,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowHidden,  .dxr-itemHover .dxRichEdit_SVGIcon_SimpleView,  .dxr-itemHover .dxRichEdit_SVGIcon_SpacingDecrease,  .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheck,  .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheckAsYouType,  .dxr-itemHover .dxRichEdit_SVGIcon_SplitTable,  .dxr-itemHover .dxRichEdit_SVGIcon_SplitTableCells,  .dxr-itemHover .dxRichEdit_SVGIcon_Strikeout,  .dxr-itemHover .dxRichEdit_SVGIcon_StrikeoutDouble,  .dxr-itemHover .dxRichEdit_SVGIcon_Subscript,  .dxr-itemHover .dxRichEdit_SVGIcon_Superscript,  .dxr-itemHover .dxRichEdit_SVGIcon_Symbol,  .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitContents,  .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitWindow,  .dxr-itemHover .dxRichEdit_SVGIcon_TableCellMargins,  .dxr-itemHover .dxRichEdit_SVGIcon_TableFixedColumnWidth,  .dxr-itemHover .dxRichEdit_SVGIcon_TableProperties,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapBehind,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInFrontOfText,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInline,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapSquare,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapThrough,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTight,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTopAndBottom,  .dxr-itemHover .dxRichEdit_SVGIcon_ThreeColumns,  .dxr-itemHover .dxRichEdit_SVGIcon_ToggleFieldCodes,  .dxr-itemHover .dxRichEdit_SVGIcon_TwoColumns,  .dxr-itemHover .dxRichEdit_SVGIcon_Underline,  .dxr-itemHover .dxRichEdit_SVGIcon_UnderlineDouble,  .dxr-itemHover .dxRichEdit_SVGIcon_Undo,  .dxr-itemHover .dxRichEdit_SVGIcon_UnprotectDocument,  .dxr-itemHover .dxRichEdit_SVGIcon_UpdateField,  .dxr-itemHover .dxRichEdit_SVGIcon_UpdateTableOfContents,  .dxr-itemHover .dxRichEdit_SVGIcon_ViewMergedData,  .dxr-itemHover .dxRichEdit_SVGIcon_ViewTableGridlines,  .dxr-itemHover .dxRichEdit_SVGIcon_ZoomIn,  .dxr-itemHover .dxRichEdit_SVGIcon_ZoomOut { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomCenterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignCenterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignJustifyLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleCenterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopCenterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BackgroundLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BoldLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BookmarkLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderBottomLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideVerticalLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderNoneLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersAllLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersBoxLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersCustomLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersGridLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersInsideLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersNoneLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BordersOutsideLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_BorderTopLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyleLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ChangeTextCaseLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ClearFormattingLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ClearTableStyleLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnOneLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsOneLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsThreeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsTwoLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_CopyLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_CutLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_Delete_HyperlinkLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteCommentLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableCellsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableColumnsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableRowsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DifferentFirstPageLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_DraftViewLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_EditRangePermissionLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FindLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FindLargeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FirstLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FontLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FontColorLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FontLargeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeDecreaseLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeIncreaseLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FooterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_FullScreenLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToFooterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToHeaderLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_HeaderLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_HighlightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_HyperlinkLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ImagePlaceHolderLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_IndentDecreaseLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_IndentIncreaseLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertCaptionLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertColumnBreakLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertDataFieldLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertEquationCaptionLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertFigureCaptionLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertImageLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageBreakLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageCountLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageNumberLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCaptionLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCellsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfContentsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_InsertTextBoxLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ItalicLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_LanguageLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_LastLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_LeftColumnsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_LineNumberingLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_LineSpacingLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_LinkToPreviousLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ListBulletsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ListMultilevelLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ListNumbersLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_MailMergeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_MergeTableCellsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ModifyTableStyleLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_NewLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_NewCommentLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_NewTableStyleLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_NextLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_NextCommentLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_OneColumnLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_OpenLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageColorLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsModerateLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNarrowLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNormalLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsWideLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationPortraitLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PaperSizeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ParagraphLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ParagraphLargeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PasteLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PasteLargeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PasteSpecialLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PenColorLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PrevLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PreviewLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PreviousCommentLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintBrowserLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintDialogLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintLayoutViewLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ProtectDocumentLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_RedoLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ReplaceLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ReviewersLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ReviewingPaneLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_RightColumnsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_RulerHorizontalLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_RulerVerticalLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SaveLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SaveAsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectAllLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableCellLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableColumnLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableRowLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ShadingLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowCommentsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ShowHiddenLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SimpleViewLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SpacingDecreaseLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheckLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SplitTableLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SplitTableCellsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_StrikeoutLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_StrikeoutDoubleLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SubscriptLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SuperscriptLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_SymbolLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitContentsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitWindowLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TableCellMarginsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TablePropertiesLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapBehindLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInlineLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapSquareLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapThroughLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTightLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ThreeColumnsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ToggleFieldCodesLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_TwoColumnsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_UnderlineLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_UnderlineDoubleLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_UndoLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_UnprotectDocumentLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_UpdateFieldLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ViewMergedDataLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ViewTableGridlinesLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ZoomInLarge,  .dxr-itemHover .dxRichEdit_SVGIcon_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AddParagraphToTableOfContents, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomCenter, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomRight, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignCenter, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignJustify, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleCenter, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleRight, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignRight, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopCenter, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopRight, .dxr-itemPressed .dxRichEdit_SVGIcon_Background, .dxr-itemPressed .dxRichEdit_SVGIcon_Bold, .dxr-itemPressed .dxRichEdit_SVGIcon_Bookmark, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderBottom, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideHorizontal, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideVertical, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderNone, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderRight, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersAll, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersBox, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersCustom, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersGrid, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersInside, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersNone, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersOutside, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderTop, .dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyle, .dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyleLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ChangeTextCase, .dxr-itemPressed .dxRichEdit_SVGIcon_ClearFormatting, .dxr-itemPressed .dxRichEdit_SVGIcon_ClearTableStyle, .dxr-itemPressed .dxRichEdit_SVGIcon_CloseHeaderAndFooter, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnOne, .dxr-itemPressed .dxRichEdit_SVGIcon_Columns, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsOne, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsThree, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsTwo, .dxr-itemPressed .dxRichEdit_SVGIcon_Copy, .dxr-itemPressed .dxRichEdit_SVGIcon_Cut, .dxr-itemPressed .dxRichEdit_SVGIcon_Delete, .dxr-itemPressed .dxRichEdit_SVGIcon_Delete_Hyperlink, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteComment, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTable, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableCells, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableColumns, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableRows, .dxr-itemPressed .dxRichEdit_SVGIcon_DifferentFirstPage, .dxr-itemPressed .dxRichEdit_SVGIcon_DifferentOddEvenPages, .dxr-itemPressed .dxRichEdit_SVGIcon_DraftView, .dxr-itemPressed .dxRichEdit_SVGIcon_EditRangePermission, .dxr-itemPressed .dxRichEdit_SVGIcon_Find, .dxr-itemPressed .dxRichEdit_SVGIcon_FindLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_First, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectAlignment, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringForward, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFront, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectFillColor, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectOutlineColor, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBackward, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBehindText, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendToBack, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectTextWrapType, .dxr-itemPressed .dxRichEdit_SVGIcon_Font, .dxr-itemPressed .dxRichEdit_SVGIcon_FontColor, .dxr-itemPressed .dxRichEdit_SVGIcon_FontLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FontSize, .dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeDecrease, .dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeIncrease, .dxr-itemPressed .dxRichEdit_SVGIcon_Footer, .dxr-itemPressed .dxRichEdit_SVGIcon_FullScreen, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToFooter, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToHeader, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToNextHeaderFooter, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter, .dxr-itemPressed .dxRichEdit_SVGIcon_Header, .dxr-itemPressed .dxRichEdit_SVGIcon_Highlight, .dxr-itemPressed .dxRichEdit_SVGIcon_Hyperlink, .dxr-itemPressed .dxRichEdit_SVGIcon_ImagePlaceHolder, .dxr-itemPressed .dxRichEdit_SVGIcon_IndentDecrease, .dxr-itemPressed .dxRichEdit_SVGIcon_IndentIncrease, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertCaption, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertColumnBreak, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertDataField, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertEquationCaption, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertFigureCaption, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertFloatingObjectImage, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertImage, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageBreak, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageCount, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageNumber, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakContinuous, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakNextPage, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakOddPage, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTable, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCaption, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCells, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfCaptions, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfContents, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfEquations, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfFigures, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsAbove, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsBelow, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTextBox, .dxr-itemPressed .dxRichEdit_SVGIcon_Italic, .dxr-itemPressed .dxRichEdit_SVGIcon_Language, .dxr-itemPressed .dxRichEdit_SVGIcon_Last, .dxr-itemPressed .dxRichEdit_SVGIcon_LeftColumns, .dxr-itemPressed .dxRichEdit_SVGIcon_LineNumbering, .dxr-itemPressed .dxRichEdit_SVGIcon_LineSpacing, .dxr-itemPressed .dxRichEdit_SVGIcon_LinkToPrevious, .dxr-itemPressed .dxRichEdit_SVGIcon_ListBullets, .dxr-itemPressed .dxRichEdit_SVGIcon_ListMultilevel, .dxr-itemPressed .dxRichEdit_SVGIcon_ListNumbers, .dxr-itemPressed .dxRichEdit_SVGIcon_MailMerge, .dxr-itemPressed .dxRichEdit_SVGIcon_MergeTableCells, .dxr-itemPressed .dxRichEdit_SVGIcon_ModifyTableStyle, .dxr-itemPressed .dxRichEdit_SVGIcon_New, .dxr-itemPressed .dxRichEdit_SVGIcon_NewComment, .dxr-itemPressed .dxRichEdit_SVGIcon_NewTableStyle, .dxr-itemPressed .dxRichEdit_SVGIcon_Next, .dxr-itemPressed .dxRichEdit_SVGIcon_NextComment, .dxr-itemPressed .dxRichEdit_SVGIcon_OneColumn, .dxr-itemPressed .dxRichEdit_SVGIcon_Open, .dxr-itemPressed .dxRichEdit_SVGIcon_PageColor, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMargins, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsModerate, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNarrow, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNormal, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsWide, .dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientation, .dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationLandscape, .dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationPortrait, .dxr-itemPressed .dxRichEdit_SVGIcon_PaperSize, .dxr-itemPressed .dxRichEdit_SVGIcon_Paragraph, .dxr-itemPressed .dxRichEdit_SVGIcon_ParagraphLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_Paste, .dxr-itemPressed .dxRichEdit_SVGIcon_PasteLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PasteSpecial, .dxr-itemPressed .dxRichEdit_SVGIcon_PenColor, .dxr-itemPressed .dxRichEdit_SVGIcon_Prev, .dxr-itemPressed .dxRichEdit_SVGIcon_Preview, .dxr-itemPressed .dxRichEdit_SVGIcon_PreviousComment, .dxr-itemPressed .dxRichEdit_SVGIcon_Print, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintBrowser, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintDialog, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintLayoutView, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintPreviewBrowser, .dxr-itemPressed .dxRichEdit_SVGIcon_ProtectDocument, .dxr-itemPressed .dxRichEdit_SVGIcon_Redo, .dxr-itemPressed .dxRichEdit_SVGIcon_Replace, .dxr-itemPressed .dxRichEdit_SVGIcon_Reviewers, .dxr-itemPressed .dxRichEdit_SVGIcon_ReviewingPane, .dxr-itemPressed .dxRichEdit_SVGIcon_RightColumns, .dxr-itemPressed .dxRichEdit_SVGIcon_RulerHorizontal, .dxr-itemPressed .dxRichEdit_SVGIcon_RulerVertical, .dxr-itemPressed .dxRichEdit_SVGIcon_Save, .dxr-itemPressed .dxRichEdit_SVGIcon_SaveAs, .dxr-itemPressed .dxRichEdit_SVGIcon_Select, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectAll, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTable, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableCell, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableColumn, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableRow, .dxr-itemPressed .dxRichEdit_SVGIcon_Shading, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldCodes, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldResults, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowComments, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowHidden, .dxr-itemPressed .dxRichEdit_SVGIcon_SimpleView, .dxr-itemPressed .dxRichEdit_SVGIcon_SpacingDecrease, .dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheck, .dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheckAsYouType, .dxr-itemPressed .dxRichEdit_SVGIcon_SplitTable, .dxr-itemPressed .dxRichEdit_SVGIcon_SplitTableCells, .dxr-itemPressed .dxRichEdit_SVGIcon_Strikeout, .dxr-itemPressed .dxRichEdit_SVGIcon_StrikeoutDouble, .dxr-itemPressed .dxRichEdit_SVGIcon_Subscript, .dxr-itemPressed .dxRichEdit_SVGIcon_Superscript, .dxr-itemPressed .dxRichEdit_SVGIcon_Symbol, .dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitContents, .dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitWindow, .dxr-itemPressed .dxRichEdit_SVGIcon_TableCellMargins, .dxr-itemPressed .dxRichEdit_SVGIcon_TableFixedColumnWidth, .dxr-itemPressed .dxRichEdit_SVGIcon_TableProperties, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapBehind, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInFrontOfText, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInline, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapSquare, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapThrough, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTight, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTopAndBottom, .dxr-itemPressed .dxRichEdit_SVGIcon_ThreeColumns, .dxr-itemPressed .dxRichEdit_SVGIcon_ToggleFieldCodes, .dxr-itemPressed .dxRichEdit_SVGIcon_TwoColumns, .dxr-itemPressed .dxRichEdit_SVGIcon_Underline, .dxr-itemPressed .dxRichEdit_SVGIcon_UnderlineDouble, .dxr-itemPressed .dxRichEdit_SVGIcon_Undo, .dxr-itemPressed .dxRichEdit_SVGIcon_UnprotectDocument, .dxr-itemPressed .dxRichEdit_SVGIcon_UpdateField, .dxr-itemPressed .dxRichEdit_SVGIcon_UpdateTableOfContents, .dxr-itemPressed .dxRichEdit_SVGIcon_ViewMergedData, .dxr-itemPressed .dxRichEdit_SVGIcon_ViewTableGridlines, .dxr-itemPressed .dxRichEdit_SVGIcon_ZoomIn, .dxr-itemPressed .dxRichEdit_SVGIcon_ZoomOut { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomCenterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignCenterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignJustifyLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleCenterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopCenterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BackgroundLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BoldLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BookmarkLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderBottomLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideVerticalLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderNoneLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersAllLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersBoxLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersCustomLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersGridLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersInsideLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersNoneLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BordersOutsideLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_BorderTopLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyleLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ChangeTextCaseLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ClearFormattingLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ClearTableStyleLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnOneLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsOneLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsThreeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsTwoLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_CopyLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_CutLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_Delete_HyperlinkLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteCommentLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableCellsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableColumnsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableRowsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DifferentFirstPageLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_DraftViewLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_EditRangePermissionLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FindLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FindLargeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FirstLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FontLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FontColorLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FontLargeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeDecreaseLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeIncreaseLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FooterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_FullScreenLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToFooterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToHeaderLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_HeaderLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_HighlightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_HyperlinkLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ImagePlaceHolderLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_IndentDecreaseLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_IndentIncreaseLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertCaptionLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertColumnBreakLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertDataFieldLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertEquationCaptionLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertFigureCaptionLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertImageLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageBreakLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageCountLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageNumberLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCaptionLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCellsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfContentsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_InsertTextBoxLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ItalicLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_LanguageLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_LastLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_LeftColumnsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_LineNumberingLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_LineSpacingLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_LinkToPreviousLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ListBulletsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ListMultilevelLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ListNumbersLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_MailMergeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_MergeTableCellsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ModifyTableStyleLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_NewLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_NewCommentLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_NewTableStyleLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_NextLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_NextCommentLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_OneColumnLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_OpenLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageColorLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsModerateLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNarrowLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNormalLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsWideLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationPortraitLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PaperSizeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ParagraphLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ParagraphLargeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PasteLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PasteLargeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PasteSpecialLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PenColorLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PrevLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PreviewLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PreviousCommentLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintBrowserLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintDialogLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintLayoutViewLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ProtectDocumentLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_RedoLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ReplaceLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ReviewersLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ReviewingPaneLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_RightColumnsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_RulerHorizontalLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_RulerVerticalLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SaveLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SaveAsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectAllLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableCellLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableColumnLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableRowLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ShadingLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowCommentsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ShowHiddenLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SimpleViewLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SpacingDecreaseLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheckLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SplitTableLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SplitTableCellsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_StrikeoutLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_StrikeoutDoubleLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SubscriptLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SuperscriptLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_SymbolLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitContentsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitWindowLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TableCellMarginsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TablePropertiesLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapBehindLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInlineLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapSquareLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapThroughLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTightLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ThreeColumnsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ToggleFieldCodesLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_TwoColumnsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_UnderlineLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_UnderlineDoubleLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_UndoLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_UnprotectDocumentLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_UpdateFieldLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ViewMergedDataLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ViewTableGridlinesLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ZoomInLarge, .dxr-itemPressed .dxRichEdit_SVGIcon_ZoomOutLarge { background-image: url('<%=WebResource("DevExpress.Web.ASPxRichEdit.Images.WTSVGSprite.svg")%>'); background-repeat: no-repeat; background-color: transparent } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContents { background-position: 0.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsDisabled { background-position: 0.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge { background-position: 0px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeDisabled { background-position: 0px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AddParagraphToTableOfContents { background-position: 0.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge { background-position: 0px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AddParagraphToTableOfContents { background-position: 0.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge { background-position: 0px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AddParagraphToTableOfContents { background-position: 0.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLarge { background-position: 0px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomCenter { background-position: -238.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignBottomCenterDisabled { background-position: -238.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomCenterLarge { background-position: -476px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomCenterLargeDisabled { background-position: -476px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomCenter { background-position: -238.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomCenterLarge { background-position: -476px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomCenter { background-position: -238.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomCenterLarge { background-position: -476px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomCenter { background-position: -238.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomCenterLarge { background-position: -476px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomLeft { background-position: -170.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignBottomLeftDisabled { background-position: -170.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomLeftLarge { background-position: -340px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomLeftLargeDisabled { background-position: -340px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomLeft { background-position: -170.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomLeftLarge { background-position: -340px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomLeft { background-position: -170.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomLeftLarge { background-position: -340px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomLeft { background-position: -170.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomLeftLarge { background-position: -340px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomRight { background-position: -68.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignBottomRightDisabled { background-position: -68.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignBottomRightLarge { background-position: -136px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignBottomRightLargeDisabled { background-position: -136px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomRight { background-position: -68.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignBottomRightLarge { background-position: -136px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomRight { background-position: -68.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignBottomRightLarge { background-position: -136px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomRight { background-position: -68.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignBottomRightLarge { background-position: -136px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignCenter { background-position: -34.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignCenterDisabled { background-position: -34.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignCenterLarge { background-position: -68px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignCenterLargeDisabled { background-position: -68px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignCenter { background-position: -34.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignCenterLarge { background-position: -68px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignCenter { background-position: -34.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignCenterLarge { background-position: -68px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignCenter { background-position: -34.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignCenterLarge { background-position: -68px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter { background-position: -51.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterDisabled { background-position: -51.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge { background-position: -102px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeDisabled { background-position: -102px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter { background-position: -51.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge { background-position: -102px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter { background-position: -51.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge { background-position: -102px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenter { background-position: -51.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLarge { background-position: -102px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft { background-position: -187.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftDisabled { background-position: -187.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge { background-position: -374px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeDisabled { background-position: -374px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft { background-position: -187.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge { background-position: -374px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft { background-position: -187.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge { background-position: -374px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeft { background-position: -187.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLarge { background-position: -374px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight { background-position: -17.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightDisabled { background-position: -17.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge { background-position: -34px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeDisabled { background-position: -34px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight { background-position: -17.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge { background-position: -34px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight { background-position: -17.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge { background-position: -34px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRight { background-position: -17.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLarge { background-position: -34px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter { background-position: -34.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterDisabled { background-position: -34.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge { background-position: -68px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeDisabled { background-position: -68px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter { background-position: -34.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge { background-position: -68px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter { background-position: -34.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge { background-position: -68px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenter { background-position: -34.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLarge { background-position: -68px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft { background-position: -51.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftDisabled { background-position: -51.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge { background-position: -102px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeDisabled { background-position: -102px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft { background-position: -51.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge { background-position: -102px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft { background-position: -51.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge { background-position: -102px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeft { background-position: -51.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLarge { background-position: -102px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight { background-position: -68.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightDisabled { background-position: -68.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge { background-position: -136px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeDisabled { background-position: -136px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight { background-position: -68.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge { background-position: -136px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight { background-position: -68.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge { background-position: -136px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRight { background-position: -68.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLarge { background-position: -136px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter { background-position: -85.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterDisabled { background-position: -85.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge { background-position: -170px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeDisabled { background-position: -170px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter { background-position: -85.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge { background-position: -170px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter { background-position: -85.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge { background-position: -170px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenter { background-position: -85.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLarge { background-position: -170px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft { background-position: -119.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftDisabled { background-position: -119.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge { background-position: -238px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeDisabled { background-position: -238px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft { background-position: -119.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge { background-position: -238px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft { background-position: -119.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge { background-position: -238px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeft { background-position: -119.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLarge { background-position: -238px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRight { background-position: -119.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightDisabled { background-position: -119.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge { background-position: -238px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeDisabled { background-position: -238px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight { background-position: -119.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge { background-position: -238px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight { background-position: -119.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge { background-position: -238px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopRight { background-position: -119.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLarge { background-position: -238px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignJustify { background-position: -136.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignJustifyDisabled { background-position: -136.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignJustifyLarge { background-position: -272px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignJustifyLargeDisabled { background-position: -272px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignJustify { background-position: -136.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignJustifyLarge { background-position: -272px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignJustify { background-position: -136.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignJustifyLarge { background-position: -272px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignJustify { background-position: -136.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignJustifyLarge { background-position: -272px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignLeft { background-position: -153.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignLeftDisabled { background-position: -153.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignLeftLarge { background-position: -306px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignLeftLargeDisabled { background-position: -306px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignLeft { background-position: -153.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignLeftLarge { background-position: -306px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignLeft { background-position: -153.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignLeftLarge { background-position: -306px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignLeft { background-position: -153.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignLeftLarge { background-position: -306px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleCenter { background-position: -170.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterDisabled { background-position: -170.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLarge { background-position: -340px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleCenterLargeDisabled { background-position: -340px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleCenter { background-position: -170.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleCenterLarge { background-position: -340px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleCenter { background-position: -170.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleCenterLarge { background-position: -340px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleCenter { background-position: -170.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleCenterLarge { background-position: -340px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleLeft { background-position: -204.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftDisabled { background-position: -204.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLarge { background-position: -408px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleLeftLargeDisabled { background-position: -408px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleLeft { background-position: -204.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleLeftLarge { background-position: -408px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleLeft { background-position: -204.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleLeftLarge { background-position: -408px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleLeft { background-position: -204.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleLeftLarge { background-position: -408px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleRight { background-position: -17.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignMiddleRightDisabled { background-position: -17.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignMiddleRightLarge { background-position: -34px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignMiddleRightLargeDisabled { background-position: -34px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleRight { background-position: -17.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignMiddleRightLarge { background-position: -34px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleRight { background-position: -17.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignMiddleRightLarge { background-position: -34px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleRight { background-position: -17.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignMiddleRightLarge { background-position: -34px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignRight { background-position: -221.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignRightDisabled { background-position: -221.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignRightLarge { background-position: -442px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignRightLargeDisabled { background-position: -442px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignRight { background-position: -221.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignRightLarge { background-position: -442px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignRight { background-position: -221.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignRightLarge { background-position: -442px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignRight { background-position: -221.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignRightLarge { background-position: -442px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopCenter { background-position: -238.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignTopCenterDisabled { background-position: -238.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopCenterLarge { background-position: -476px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopCenterLargeDisabled { background-position: -476px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopCenter { background-position: -238.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopCenterLarge { background-position: -476px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopCenter { background-position: -238.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopCenterLarge { background-position: -476px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopCenter { background-position: -238.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopCenterLarge { background-position: -476px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopLeft { background-position: 0.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignTopLeftDisabled { background-position: 0.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopLeftLarge { background-position: 0px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopLeftLargeDisabled { background-position: 0px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopLeft { background-position: 0.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopLeftLarge { background-position: 0px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopLeft { background-position: 0.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopLeftLarge { background-position: 0px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopLeft { background-position: 0.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopLeftLarge { background-position: 0px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopRight { background-position: -51.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_AlignTopRightDisabled { background-position: -51.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_AlignTopRightLarge { background-position: -102px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_AlignTopRightLargeDisabled { background-position: -102px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopRight { background-position: -51.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_AlignTopRightLarge { background-position: -102px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopRight { background-position: -51.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_AlignTopRightLarge { background-position: -102px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopRight { background-position: -51.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_AlignTopRightLarge { background-position: -102px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Background { background-position: -238.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BackgroundDisabled { background-position: -238.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BackgroundLarge { background-position: -476px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BackgroundLargeDisabled { background-position: -476px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Background { background-position: -238.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BackgroundLarge { background-position: -476px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Background { background-position: -238.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BackgroundLarge { background-position: -476px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Background { background-position: -238.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BackgroundLarge { background-position: -476px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Bold { background-position: -187.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BoldDisabled { background-position: -187.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BoldLarge { background-position: -374px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BoldLargeDisabled { background-position: -374px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Bold { background-position: -187.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BoldLarge { background-position: -374px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Bold { background-position: -187.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BoldLarge { background-position: -374px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Bold { background-position: -187.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BoldLarge { background-position: -374px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Bookmark { background-position: -238.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BookmarkDisabled { background-position: -238.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BookmarkLarge { background-position: -476px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BookmarkLargeDisabled { background-position: -476px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Bookmark { background-position: -238.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BookmarkLarge { background-position: -476px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Bookmark { background-position: -238.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BookmarkLarge { background-position: -476px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Bookmark { background-position: -238.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BookmarkLarge { background-position: -476px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderBottom { background-position: -102.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderBottomDisabled { background-position: -102.0px -17.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderBottomLarge { background-position: -204px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderBottomLargeDisabled { background-position: -204px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderBottom { background-position: -102.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderBottomLarge { background-position: -204px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderBottom { background-position: -102.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderBottomLarge { background-position: -204px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderBottom { background-position: -102.0px -272.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderBottomLarge { background-position: -204px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontal { background-position: -85.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalDisabled { background-position: -85.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLarge { background-position: -170px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideHorizontalLargeDisabled { background-position: -170px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideHorizontal { background-position: -85.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge { background-position: -170px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideHorizontal { background-position: -85.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge { background-position: -170px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideHorizontal { background-position: -85.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideHorizontalLarge { background-position: -170px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideVertical { background-position: -136.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalDisabled { background-position: -136.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLarge { background-position: -272px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderInsideVerticalLargeDisabled { background-position: -272px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideVertical { background-position: -136.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderInsideVerticalLarge { background-position: -272px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideVertical { background-position: -136.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderInsideVerticalLarge { background-position: -272px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideVertical { background-position: -136.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderInsideVerticalLarge { background-position: -272px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderLeft { background-position: -238.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderLeftDisabled { background-position: -238.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderLeftLarge { background-position: -476px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderLeftLargeDisabled { background-position: -476px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderLeft { background-position: -238.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderLeftLarge { background-position: -476px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderLeft { background-position: -238.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderLeftLarge { background-position: -476px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderLeft { background-position: -238.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderLeftLarge { background-position: -476px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderNone { background-position: -51.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderNoneDisabled { background-position: -51.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderNoneLarge { background-position: -102px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderNoneLargeDisabled { background-position: -102px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderNone { background-position: -51.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderNoneLarge { background-position: -102px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderNone { background-position: -51.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderNoneLarge { background-position: -102px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderNone { background-position: -51.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderNoneLarge { background-position: -102px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderRight { background-position: -153.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderRightDisabled { background-position: -153.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderRightLarge { background-position: -306px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderRightLargeDisabled { background-position: -306px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderRight { background-position: -153.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderRightLarge { background-position: -306px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderRight { background-position: -153.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderRightLarge { background-position: -306px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderRight { background-position: -153.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderRightLarge { background-position: -306px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersAll { background-position: -136.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersAllDisabled { background-position: -136.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersAllLarge { background-position: -272px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersAllLargeDisabled { background-position: -272px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersAll { background-position: -136.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersAllLarge { background-position: -272px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersAll { background-position: -136.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersAllLarge { background-position: -272px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersAll { background-position: -136.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersAllLarge { background-position: -272px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersBox { background-position: -221.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersBoxDisabled { background-position: -221.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersBoxLarge { background-position: -442px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersBoxLargeDisabled { background-position: -442px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersBox { background-position: -221.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersBoxLarge { background-position: -442px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersBox { background-position: -221.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersBoxLarge { background-position: -442px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersBox { background-position: -221.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersBoxLarge { background-position: -442px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersCustom { background-position: -136.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersCustomDisabled { background-position: -136.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersCustomLarge { background-position: -272px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersCustomLargeDisabled { background-position: -272px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersCustom { background-position: -136.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersCustomLarge { background-position: -272px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersCustom { background-position: -136.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersCustomLarge { background-position: -272px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersCustom { background-position: -136.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersCustomLarge { background-position: -272px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersGrid { background-position: -204.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersGridDisabled { background-position: -204.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersGridLarge { background-position: -408px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersGridLargeDisabled { background-position: -408px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersGrid { background-position: -204.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersGridLarge { background-position: -408px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersGrid { background-position: -204.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersGridLarge { background-position: -408px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersGrid { background-position: -204.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersGridLarge { background-position: -408px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersInside { background-position: -34.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersInsideDisabled { background-position: -34.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersInsideLarge { background-position: -68px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersInsideLargeDisabled { background-position: -68px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersInside { background-position: -34.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersInsideLarge { background-position: -68px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersInside { background-position: -34.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersInsideLarge { background-position: -68px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersInside { background-position: -34.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersInsideLarge { background-position: -68px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersNone { background-position: -85.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersNoneDisabled { background-position: -85.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersNoneLarge { background-position: -170px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersNoneLargeDisabled { background-position: -170px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersNone { background-position: -85.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersNoneLarge { background-position: -170px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersNone { background-position: -85.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersNoneLarge { background-position: -170px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersNone { background-position: -85.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersNoneLarge { background-position: -170px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersOutside { background-position: -102.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BordersOutsideDisabled { background-position: -102.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BordersOutsideLarge { background-position: -204px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BordersOutsideLargeDisabled { background-position: -204px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersOutside { background-position: -102.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BordersOutsideLarge { background-position: -204px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersOutside { background-position: -102.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BordersOutsideLarge { background-position: -204px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersOutside { background-position: -102.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BordersOutsideLarge { background-position: -204px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderTop { background-position: -119.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_BorderTopDisabled { background-position: -119.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_BorderTopLarge { background-position: -238px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_BorderTopLargeDisabled { background-position: -238px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderTop { background-position: -119.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_BorderTopLarge { background-position: -238px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderTop { background-position: -119.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_BorderTopLarge { background-position: -238px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderTop { background-position: -119.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_BorderTopLarge { background-position: -238px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyle { background-position: -170.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ChangeFontStyleDisabled { background-position: -170.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyle { background-position: -170.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyle { background-position: -170.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyle { background-position: -170.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeFontStyleLargeDisabled { background-position: -340px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge { background-position: -340px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge { background-position: -340px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyleLarge { background-position: -340px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ChangeFontStyleLargeLarge { background-position: -340px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeTextCase { background-position: -119.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ChangeTextCaseDisabled { background-position: -119.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ChangeTextCaseLarge { background-position: -238px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ChangeTextCaseLargeDisabled { background-position: -238px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeTextCase { background-position: -119.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ChangeTextCaseLarge { background-position: -238px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ChangeTextCase { background-position: -119.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ChangeTextCaseLarge { background-position: -238px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ChangeTextCase { background-position: -119.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ChangeTextCaseLarge { background-position: -238px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearFormatting { background-position: -187.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ClearFormattingDisabled { background-position: -187.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ClearFormattingLarge { background-position: -374px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearFormattingLargeDisabled { background-position: -374px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearFormatting { background-position: -187.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearFormattingLarge { background-position: -374px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ClearFormatting { background-position: -187.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ClearFormattingLarge { background-position: -374px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ClearFormatting { background-position: -187.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ClearFormattingLarge { background-position: -374px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearTableStyle { background-position: -204.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ClearTableStyleDisabled { background-position: -204.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ClearTableStyleLarge { background-position: -408px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ClearTableStyleLargeDisabled { background-position: -408px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearTableStyle { background-position: -204.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ClearTableStyleLarge { background-position: -408px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ClearTableStyle { background-position: -204.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ClearTableStyleLarge { background-position: -408px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ClearTableStyle { background-position: -204.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ClearTableStyleLarge { background-position: -408px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooter { background-position: -221.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterDisabled { background-position: -221.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge { background-position: -442px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeDisabled { background-position: -442px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CloseHeaderAndFooter { background-position: -221.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge { background-position: -442px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_CloseHeaderAndFooter { background-position: -221.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge { background-position: -442px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_CloseHeaderAndFooter { background-position: -221.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_CloseHeaderAndFooterLarge { background-position: -442px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnOne { background-position: -238.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnOneDisabled { background-position: -238.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnOneLarge { background-position: -476px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnOneLargeDisabled { background-position: -476px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnOne { background-position: -238.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnOneLarge { background-position: -476px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnOne { background-position: -238.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnOneLarge { background-position: -476px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnOne { background-position: -238.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnOneLarge { background-position: -476px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Columns { background-position: -17.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsDisabled { background-position: -17.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsLarge { background-position: -34px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsLargeDisabled { background-position: -34px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Columns { background-position: -17.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsLarge { background-position: -34px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Columns { background-position: -17.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsLarge { background-position: -34px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Columns { background-position: -17.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsLarge { background-position: -34px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsOne { background-position: -17.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsOneDisabled { background-position: -17.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsOneLarge { background-position: -34px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsOneLargeDisabled { background-position: -34px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsOne { background-position: -17.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsOneLarge { background-position: -34px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsOne { background-position: -17.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsOneLarge { background-position: -34px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsOne { background-position: -17.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsOneLarge { background-position: -34px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsThree { background-position: -68.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsThreeDisabled { background-position: -68.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsThreeLarge { background-position: -136px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsThreeLargeDisabled { background-position: -136px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsThree { background-position: -68.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsThreeLarge { background-position: -136px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsThree { background-position: -68.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsThreeLarge { background-position: -136px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsThree { background-position: -68.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsThreeLarge { background-position: -136px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsTwo { background-position: -34.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ColumnsTwoDisabled { background-position: -34.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ColumnsTwoLarge { background-position: -68px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ColumnsTwoLargeDisabled { background-position: -68px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsTwo { background-position: -34.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ColumnsTwoLarge { background-position: -68px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsTwo { background-position: -34.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ColumnsTwoLarge { background-position: -68px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsTwo { background-position: -34.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ColumnsTwoLarge { background-position: -68px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Copy { background-position: 0.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_CopyDisabled { background-position: 0.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_CopyLarge { background-position: 0px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CopyLargeDisabled { background-position: 0px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Copy { background-position: 0.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CopyLarge { background-position: 0px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Copy { background-position: 0.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_CopyLarge { background-position: 0px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Copy { background-position: 0.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_CopyLarge { background-position: 0px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Cut { background-position: -153.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_CutDisabled { background-position: -153.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_CutLarge { background-position: -306px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_CutLargeDisabled { background-position: -306px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Cut { background-position: -153.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_CutLarge { background-position: -306px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Cut { background-position: -153.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_CutLarge { background-position: -306px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Cut { background-position: -153.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_CutLarge { background-position: -306px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete { background-position: -187.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteDisabled { background-position: -187.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteLarge { background-position: -374px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteLargeDisabled { background-position: -374px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Delete { background-position: -187.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteLarge { background-position: -374px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Delete { background-position: -187.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteLarge { background-position: -374px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Delete { background-position: -187.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteLarge { background-position: -374px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete_Hyperlink { background-position: -204.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkDisabled { background-position: -204.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLarge { background-position: -408px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Delete_HyperlinkLargeDisabled { background-position: -408px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Delete_Hyperlink { background-position: -204.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Delete_HyperlinkLarge { background-position: -408px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Delete_Hyperlink { background-position: -204.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Delete_HyperlinkLarge { background-position: -408px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Delete_Hyperlink { background-position: -204.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Delete_HyperlinkLarge { background-position: -408px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteComment { background-position: -85.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteCommentDisabled { background-position: -85.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteCommentLarge { background-position: -170px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteCommentLargeDisabled { background-position: -170px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteComment { background-position: -85.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteCommentLarge { background-position: -170px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteComment { background-position: -85.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteCommentLarge { background-position: -170px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteComment { background-position: -85.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteCommentLarge { background-position: -170px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTable { background-position: -102.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableDisabled { background-position: -102.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableLarge { background-position: -204px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableLargeDisabled { background-position: -204px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTable { background-position: -102.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableLarge { background-position: -204px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTable { background-position: -102.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableLarge { background-position: -204px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTable { background-position: -102.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableLarge { background-position: -204px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableCells { background-position: -153.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableCellsDisabled { background-position: -153.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableCellsLarge { background-position: -306px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableCellsLargeDisabled { background-position: -306px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableCells { background-position: -153.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableCellsLarge { background-position: -306px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableCells { background-position: -153.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableCellsLarge { background-position: -306px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableCells { background-position: -153.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableCellsLarge { background-position: -306px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableColumns { background-position: -221.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsDisabled { background-position: -221.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLarge { background-position: -442px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableColumnsLargeDisabled { background-position: -442px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableColumns { background-position: -221.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableColumnsLarge { background-position: -442px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableColumns { background-position: -221.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableColumnsLarge { background-position: -442px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableColumns { background-position: -221.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableColumnsLarge { background-position: -442px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableRows { background-position: -221.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DeleteTableRowsDisabled { background-position: -221.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DeleteTableRowsLarge { background-position: -442px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DeleteTableRowsLargeDisabled { background-position: -442px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableRows { background-position: -221.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DeleteTableRowsLarge { background-position: -442px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableRows { background-position: -221.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DeleteTableRowsLarge { background-position: -442px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableRows { background-position: -221.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DeleteTableRowsLarge { background-position: -442px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentFirstPage { background-position: -85.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DifferentFirstPageDisabled { background-position: -85.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DifferentFirstPageLarge { background-position: -170px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentFirstPageLargeDisabled { background-position: -170px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentFirstPage { background-position: -85.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentFirstPageLarge { background-position: -170px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DifferentFirstPage { background-position: -85.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DifferentFirstPageLarge { background-position: -170px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DifferentFirstPage { background-position: -85.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DifferentFirstPageLarge { background-position: -170px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPages { background-position: -102.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesDisabled { background-position: -102.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge { background-position: -204px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeDisabled { background-position: -204px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentOddEvenPages { background-position: -102.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge { background-position: -204px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DifferentOddEvenPages { background-position: -102.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge { background-position: -204px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DifferentOddEvenPages { background-position: -102.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DifferentOddEvenPagesLarge { background-position: -204px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DraftView { background-position: -136.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_DraftViewDisabled { background-position: -136.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_DraftViewLarge { background-position: -272px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_DraftViewLargeDisabled { background-position: -272px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DraftView { background-position: -136.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_DraftViewLarge { background-position: -272px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DraftView { background-position: -136.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_DraftViewLarge { background-position: -272px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DraftView { background-position: -136.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_DraftViewLarge { background-position: -272px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_EditRangePermission { background-position: 0.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_EditRangePermissionDisabled { background-position: 0.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_EditRangePermissionLarge { background-position: 0px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_EditRangePermissionLargeDisabled { background-position: 0px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_EditRangePermission { background-position: 0.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_EditRangePermissionLarge { background-position: 0px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_EditRangePermission { background-position: 0.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_EditRangePermissionLarge { background-position: 0px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_EditRangePermission { background-position: 0.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_EditRangePermissionLarge { background-position: 0px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Find { background-position: -153.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FindDisabled { background-position: -153.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Find { background-position: -153.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FindLarge { background-position: -306px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Find { background-position: -153.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FindLarge { background-position: -306px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Find { background-position: -153.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FindLarge { background-position: -306px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FindLarge { background-position: -340px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FindLargeDisabled { background-position: -340px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FindLarge { background-position: -340px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FindLargeLarge { background-position: -340px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FindLarge { background-position: -340px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FindLargeLarge { background-position: -340px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FindLarge { background-position: -340px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FindLargeLarge { background-position: -340px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_First { background-position: -68.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FirstDisabled { background-position: -68.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FirstLarge { background-position: -136px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FirstLargeDisabled { background-position: -136px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_First { background-position: -68.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FirstLarge { background-position: -136px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_First { background-position: -68.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FirstLarge { background-position: -136px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_First { background-position: -68.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FirstLarge { background-position: -136px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignment { background-position: -119.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentDisabled { background-position: -119.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge { background-position: -238px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeDisabled { background-position: -238px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectAlignment { background-position: -119.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge { background-position: -238px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectAlignment { background-position: -119.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge { background-position: -238px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectAlignment { background-position: -119.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectAlignmentLarge { background-position: -238px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForward { background-position: 0.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardDisabled { background-position: 0.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge { background-position: 0px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeDisabled { background-position: 0px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringForward { background-position: 0.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge { background-position: 0px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringForward { background-position: 0.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge { background-position: 0px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringForward { background-position: 0.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringForwardLarge { background-position: 0px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText { background-position: -68.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextDisabled { background-position: -68.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge { background-position: -136px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeDisabled { background-position: -136px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText { background-position: -68.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge { background-position: -136px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText { background-position: -68.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge { background-position: -136px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfText { background-position: -68.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLarge { background-position: -136px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFront { background-position: -187.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontDisabled { background-position: -187.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge { background-position: -374px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeDisabled { background-position: -374px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFront { background-position: -187.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge { background-position: -374px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFront { background-position: -187.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge { background-position: -374px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFront { background-position: -187.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFrontLarge { background-position: -374px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText { background-position: -187.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextDisabled { background-position: -187.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge { background-position: -374px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeDisabled { background-position: -374px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText { background-position: -187.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge { background-position: -374px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText { background-position: -187.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge { background-position: -374px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfText { background-position: -187.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLarge { background-position: -374px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColor { background-position: -187.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorDisabled { background-position: -187.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLarge { background-position: -374px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectFillColorLargeDisabled { background-position: -374px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectFillColor { background-position: -187.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge { background-position: -374px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectFillColor { background-position: -187.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge { background-position: -374px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectFillColor { background-position: -187.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectFillColorLarge { background-position: -374px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptions { background-position: -17.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsDisabled { background-position: -17.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge { background-position: -34px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeDisabled { background-position: -34px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions { background-position: -17.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge { background-position: -34px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions { background-position: -17.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge { background-position: -34px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectLayoutOptions { background-position: -17.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLarge { background-position: -34px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColor { background-position: -204.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorDisabled { background-position: -204.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge { background-position: -408px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeDisabled { background-position: -408px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectOutlineColor { background-position: -204.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge { background-position: -408px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectOutlineColor { background-position: -204.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge { background-position: -408px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectOutlineColor { background-position: -204.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectOutlineColorLarge { background-position: -408px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackward { background-position: -153.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardDisabled { background-position: -153.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge { background-position: -306px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeDisabled { background-position: -306px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBackward { background-position: -153.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge { background-position: -306px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBackward { background-position: -153.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge { background-position: -306px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBackward { background-position: -153.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBackwardLarge { background-position: -306px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindText { background-position: -170.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextDisabled { background-position: -170.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge { background-position: -340px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeDisabled { background-position: -340px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBehindText { background-position: -170.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge { background-position: -340px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBehindText { background-position: -170.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge { background-position: -340px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBehindText { background-position: -170.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLarge { background-position: -340px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBack { background-position: -187.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackDisabled { background-position: -187.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge { background-position: -374px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeDisabled { background-position: -374px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendToBack { background-position: -187.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge { background-position: -374px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendToBack { background-position: -187.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge { background-position: -374px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendToBack { background-position: -187.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectSendToBackLarge { background-position: -374px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapType { background-position: -204.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeDisabled { background-position: -204.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge { background-position: -408px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeDisabled { background-position: -408px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectTextWrapType { background-position: -204.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge { background-position: -408px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectTextWrapType { background-position: -204.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge { background-position: -408px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectTextWrapType { background-position: -204.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLarge { background-position: -408px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Font { background-position: -238.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontDisabled { background-position: -238.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Font { background-position: -238.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontLarge { background-position: -476px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Font { background-position: -238.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontLarge { background-position: -476px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Font { background-position: -238.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontLarge { background-position: -476px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontColor { background-position: 0.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontColorDisabled { background-position: 0.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontColorLarge { background-position: 0px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontColorLargeDisabled { background-position: 0px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontColor { background-position: 0.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontColorLarge { background-position: 0px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontColor { background-position: 0.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontColorLarge { background-position: 0px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontColor { background-position: 0.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontColorLarge { background-position: 0px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontLarge { background-position: 0px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontLargeDisabled { background-position: 0px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontLarge { background-position: 0px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontLargeLarge { background-position: 0px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontLarge { background-position: 0px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontLargeLarge { background-position: 0px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontLarge { background-position: 0px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontLargeLarge { background-position: 0px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSize { background-position: -238.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontSizeDisabled { background-position: -238.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeLarge { background-position: -476px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeLargeDisabled { background-position: -476px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSize { background-position: -238.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeLarge { background-position: -476px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontSize { background-position: -238.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeLarge { background-position: -476px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontSize { background-position: -238.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeLarge { background-position: -476px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeDecrease { background-position: -153.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseDisabled { background-position: -153.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLarge { background-position: -306px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeDecreaseLargeDisabled { background-position: -306px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeDecrease { background-position: -153.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeDecreaseLarge { background-position: -306px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeDecrease { background-position: -153.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeDecreaseLarge { background-position: -306px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeDecrease { background-position: -153.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeDecreaseLarge { background-position: -306px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeIncrease { background-position: -34.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseDisabled { background-position: -34.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLarge { background-position: -68px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FontSizeIncreaseLargeDisabled { background-position: -68px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeIncrease { background-position: -34.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FontSizeIncreaseLarge { background-position: -68px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeIncrease { background-position: -34.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FontSizeIncreaseLarge { background-position: -68px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeIncrease { background-position: -34.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FontSizeIncreaseLarge { background-position: -68px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Footer { background-position: -170.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FooterDisabled { background-position: -170.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FooterLarge { background-position: -340px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FooterLargeDisabled { background-position: -340px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Footer { background-position: -170.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FooterLarge { background-position: -340px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Footer { background-position: -170.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FooterLarge { background-position: -340px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Footer { background-position: -170.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FooterLarge { background-position: -340px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FullScreen { background-position: -34.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_FullScreenDisabled { background-position: -34.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_FullScreenLarge { background-position: -68px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_FullScreenLargeDisabled { background-position: -68px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FullScreen { background-position: -34.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_FullScreenLarge { background-position: -68px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FullScreen { background-position: -34.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_FullScreenLarge { background-position: -68px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FullScreen { background-position: -34.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_FullScreenLarge { background-position: -68px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToFooter { background-position: -51.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToFooterDisabled { background-position: -51.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToFooterLarge { background-position: -102px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToFooterLargeDisabled { background-position: -102px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToFooter { background-position: -51.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToFooterLarge { background-position: -102px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToFooter { background-position: -51.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToFooterLarge { background-position: -102px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToFooter { background-position: -51.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToFooterLarge { background-position: -102px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToHeader { background-position: -102.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToHeaderDisabled { background-position: -102.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToHeaderLarge { background-position: -204px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToHeaderLargeDisabled { background-position: -204px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToHeader { background-position: -102.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToHeaderLarge { background-position: -204px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToHeader { background-position: -102.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToHeaderLarge { background-position: -204px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToHeader { background-position: -102.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToHeaderLarge { background-position: -204px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooter { background-position: -68.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterDisabled { background-position: -68.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge { background-position: -136px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeDisabled { background-position: -136px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToNextHeaderFooter { background-position: -68.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge { background-position: -136px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToNextHeaderFooter { background-position: -68.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge { background-position: -136px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToNextHeaderFooter { background-position: -68.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToNextHeaderFooterLarge { background-position: -136px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooter { background-position: -51.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterDisabled { background-position: -51.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge { background-position: -102px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeDisabled { background-position: -102px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter { background-position: -51.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge { background-position: -102px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter { background-position: -51.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge { background-position: -102px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToPreviousHeaderFooter { background-position: -51.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLarge { background-position: -102px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Header { background-position: -119.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_HeaderDisabled { background-position: -119.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_HeaderLarge { background-position: -238px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HeaderLargeDisabled { background-position: -238px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Header { background-position: -119.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_HeaderLarge { background-position: -238px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Header { background-position: -119.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_HeaderLarge { background-position: -238px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Header { background-position: -119.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_HeaderLarge { background-position: -238px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Highlight { background-position: -102.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_HighlightDisabled { background-position: -102.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_HighlightLarge { background-position: -204px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HighlightLargeDisabled { background-position: -204px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Highlight { background-position: -102.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_HighlightLarge { background-position: -204px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Highlight { background-position: -102.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_HighlightLarge { background-position: -204px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Highlight { background-position: -102.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_HighlightLarge { background-position: -204px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Hyperlink { background-position: -204.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_HyperlinkDisabled { background-position: -204.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_HyperlinkLarge { background-position: -408px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_HyperlinkLargeDisabled { background-position: -408px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Hyperlink { background-position: -204.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_HyperlinkLarge { background-position: -408px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Hyperlink { background-position: -204.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_HyperlinkLarge { background-position: -408px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Hyperlink { background-position: -204.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_HyperlinkLarge { background-position: -408px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ImagePlaceHolder { background-position: -51.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderDisabled { background-position: -51.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLarge { background-position: -102px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ImagePlaceHolderLargeDisabled { background-position: -102px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ImagePlaceHolder { background-position: -51.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ImagePlaceHolderLarge { background-position: -102px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ImagePlaceHolder { background-position: -51.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ImagePlaceHolderLarge { background-position: -102px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ImagePlaceHolder { background-position: -51.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ImagePlaceHolderLarge { background-position: -102px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentDecrease { background-position: 0.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_IndentDecreaseDisabled { background-position: 0.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_IndentDecreaseLarge { background-position: 0px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentDecreaseLargeDisabled { background-position: 0px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentDecrease { background-position: 0.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentDecreaseLarge { background-position: 0px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_IndentDecrease { background-position: 0.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_IndentDecreaseLarge { background-position: 0px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_IndentDecrease { background-position: 0.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_IndentDecreaseLarge { background-position: 0px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentIncrease { background-position: -187.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_IndentIncreaseDisabled { background-position: -187.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_IndentIncreaseLarge { background-position: -374px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_IndentIncreaseLargeDisabled { background-position: -374px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentIncrease { background-position: -187.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_IndentIncreaseLarge { background-position: -374px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_IndentIncrease { background-position: -187.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_IndentIncreaseLarge { background-position: -374px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_IndentIncrease { background-position: -187.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_IndentIncreaseLarge { background-position: -374px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertCaption { background-position: -221.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertCaptionDisabled { background-position: -221.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertCaptionLarge { background-position: -442px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertCaptionLargeDisabled { background-position: -442px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertCaption { background-position: -221.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertCaptionLarge { background-position: -442px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertCaption { background-position: -221.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertCaptionLarge { background-position: -442px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertCaption { background-position: -221.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertCaptionLarge { background-position: -442px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertColumnBreak { background-position: -187.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertColumnBreakDisabled { background-position: -187.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertColumnBreakLarge { background-position: -374px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertColumnBreakLargeDisabled { background-position: -374px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertColumnBreak { background-position: -187.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertColumnBreakLarge { background-position: -374px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertColumnBreak { background-position: -187.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertColumnBreakLarge { background-position: -374px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertColumnBreak { background-position: -187.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertColumnBreakLarge { background-position: -374px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertDataField { background-position: -17.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertDataFieldDisabled { background-position: -17.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertDataFieldLarge { background-position: -34px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertDataFieldLargeDisabled { background-position: -34px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertDataField { background-position: -17.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertDataFieldLarge { background-position: -34px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertDataField { background-position: -17.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertDataFieldLarge { background-position: -34px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertDataField { background-position: -17.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertDataFieldLarge { background-position: -34px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertEquationCaption { background-position: -68.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionDisabled { background-position: -68.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLarge { background-position: -136px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertEquationCaptionLargeDisabled { background-position: -136px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertEquationCaption { background-position: -68.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertEquationCaptionLarge { background-position: -136px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertEquationCaption { background-position: -68.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertEquationCaptionLarge { background-position: -136px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertEquationCaption { background-position: -68.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertEquationCaptionLarge { background-position: -136px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFigureCaption { background-position: -136.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionDisabled { background-position: -136.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLarge { background-position: -272px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFigureCaptionLargeDisabled { background-position: -272px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFigureCaption { background-position: -136.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFigureCaptionLarge { background-position: -272px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertFigureCaption { background-position: -136.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertFigureCaptionLarge { background-position: -272px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertFigureCaption { background-position: -136.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertFigureCaptionLarge { background-position: -272px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImage { background-position: -136.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageDisabled { background-position: -136.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge { background-position: -272px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeDisabled { background-position: -272px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFloatingObjectImage { background-position: -136.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge { background-position: -272px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertFloatingObjectImage { background-position: -136.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge { background-position: -272px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertFloatingObjectImage { background-position: -136.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertFloatingObjectImageLarge { background-position: -272px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertImage { background-position: -85.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertImageDisabled { background-position: -85.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertImageLarge { background-position: -170px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertImageLargeDisabled { background-position: -170px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertImage { background-position: -85.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertImageLarge { background-position: -170px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertImage { background-position: -85.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertImageLarge { background-position: -170px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertImage { background-position: -85.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertImageLarge { background-position: -170px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageBreak { background-position: -85.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertPageBreakDisabled { background-position: -85.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageBreakLarge { background-position: -170px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageBreakLargeDisabled { background-position: -170px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageBreak { background-position: -85.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageBreakLarge { background-position: -170px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageBreak { background-position: -85.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageBreakLarge { background-position: -170px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageBreak { background-position: -85.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageBreakLarge { background-position: -170px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageCount { background-position: -34.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertPageCountDisabled { background-position: -34.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageCountLarge { background-position: -68px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageCountLargeDisabled { background-position: -68px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageCount { background-position: -34.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageCountLarge { background-position: -68px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageCount { background-position: -34.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageCountLarge { background-position: -68px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageCount { background-position: -34.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageCountLarge { background-position: -68px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageNumber { background-position: -153.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertPageNumberDisabled { background-position: -153.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertPageNumberLarge { background-position: -306px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertPageNumberLargeDisabled { background-position: -306px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageNumber { background-position: -153.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertPageNumberLarge { background-position: -306px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageNumber { background-position: -153.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertPageNumberLarge { background-position: -306px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageNumber { background-position: -153.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertPageNumberLarge { background-position: -306px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuous { background-position: -17.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousDisabled { background-position: -17.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge { background-position: -34px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeDisabled { background-position: -34px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakContinuous { background-position: -17.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge { background-position: -34px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakContinuous { background-position: -17.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge { background-position: -34px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakContinuous { background-position: -17.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakContinuousLarge { background-position: -34px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPage { background-position: -51.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageDisabled { background-position: -51.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge { background-position: -102px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeDisabled { background-position: -102px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage { background-position: -51.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge { background-position: -102px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage { background-position: -51.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge { background-position: -102px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakEvenPage { background-position: -51.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLarge { background-position: -102px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPage { background-position: -153.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageDisabled { background-position: -153.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge { background-position: -306px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeDisabled { background-position: -306px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakNextPage { background-position: -153.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge { background-position: -306px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakNextPage { background-position: -153.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge { background-position: -306px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakNextPage { background-position: -153.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakNextPageLarge { background-position: -306px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPage { background-position: -119.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageDisabled { background-position: -119.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge { background-position: -238px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeDisabled { background-position: -238px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakOddPage { background-position: -119.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge { background-position: -238px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakOddPage { background-position: -119.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge { background-position: -238px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakOddPage { background-position: -119.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertSectionBreakOddPageLarge { background-position: -238px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTable { background-position: -102.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableDisabled { background-position: -102.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableLarge { background-position: -204px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableLargeDisabled { background-position: -204px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTable { background-position: -102.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableLarge { background-position: -204px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTable { background-position: -102.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableLarge { background-position: -204px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTable { background-position: -102.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableLarge { background-position: -204px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCaption { background-position: -221.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableCaptionDisabled { background-position: -221.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableCaptionLarge { background-position: -442px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCaptionLargeDisabled { background-position: -442px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCaption { background-position: -221.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCaptionLarge { background-position: -442px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCaption { background-position: -221.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCaptionLarge { background-position: -442px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCaption { background-position: -221.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCaptionLarge { background-position: -442px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCells { background-position: -119.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableCellsDisabled { background-position: -119.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableCellsLarge { background-position: -238px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableCellsLargeDisabled { background-position: -238px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCells { background-position: -119.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableCellsLarge { background-position: -238px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCells { background-position: -119.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableCellsLarge { background-position: -238px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCells { background-position: -119.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableCellsLarge { background-position: -238px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft { background-position: -136.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftDisabled { background-position: -136.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge { background-position: -272px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeDisabled { background-position: -272px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft { background-position: -136.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge { background-position: -272px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft { background-position: -136.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge { background-position: -272px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeft { background-position: -136.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLarge { background-position: -272px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRight { background-position: -153.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightDisabled { background-position: -153.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge { background-position: -306px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeDisabled { background-position: -306px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight { background-position: -153.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge { background-position: -306px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight { background-position: -153.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge { background-position: -306px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheRight { background-position: -153.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLarge { background-position: -306px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptions { background-position: -187.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsDisabled { background-position: -187.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge { background-position: -374px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeDisabled { background-position: -374px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfCaptions { background-position: -187.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge { background-position: -374px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfCaptions { background-position: -187.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge { background-position: -374px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfCaptions { background-position: -187.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfCaptionsLarge { background-position: -374px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfContents { background-position: -102.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsDisabled { background-position: -102.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLarge { background-position: -204px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfContentsLargeDisabled { background-position: -204px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfContents { background-position: -102.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfContentsLarge { background-position: -204px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfContents { background-position: -102.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfContentsLarge { background-position: -204px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfContents { background-position: -102.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfContentsLarge { background-position: -204px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfEquations { background-position: -204.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsDisabled { background-position: -204.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLarge { background-position: -408px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfEquationsLargeDisabled { background-position: -408px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfEquations { background-position: -204.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge { background-position: -408px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfEquations { background-position: -204.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge { background-position: -408px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfEquations { background-position: -204.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfEquationsLarge { background-position: -408px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfFigures { background-position: -221.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresDisabled { background-position: -221.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLarge { background-position: -442px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableOfFiguresLargeDisabled { background-position: -442px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfFigures { background-position: -221.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge { background-position: -442px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfFigures { background-position: -221.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge { background-position: -442px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfFigures { background-position: -221.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableOfFiguresLarge { background-position: -442px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsAbove { background-position: -238.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveDisabled { background-position: -238.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLarge { background-position: -476px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsAboveLargeDisabled { background-position: -476px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsAbove { background-position: -238.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge { background-position: -476px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsAbove { background-position: -238.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge { background-position: -476px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsAbove { background-position: -238.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsAboveLarge { background-position: -476px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelow { background-position: 0.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowDisabled { background-position: 0.0px -51.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLarge { background-position: 0px -102px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTableRowsBelowLargeDisabled { background-position: 0px -102px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsBelow { background-position: 0.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge { background-position: 0px -612px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsBelow { background-position: 0.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge { background-position: 0px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsBelow { background-position: 0.0px -306.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTableRowsBelowLarge { background-position: 0px -612px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTextBox { background-position: -17.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_InsertTextBoxDisabled { background-position: -17.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_InsertTextBoxLarge { background-position: -34px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_InsertTextBoxLargeDisabled { background-position: -34px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTextBox { background-position: -17.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_InsertTextBoxLarge { background-position: -34px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTextBox { background-position: -17.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_InsertTextBoxLarge { background-position: -34px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTextBox { background-position: -17.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_InsertTextBoxLarge { background-position: -34px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Italic { background-position: -136.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ItalicDisabled { background-position: -136.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ItalicLarge { background-position: -272px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ItalicLargeDisabled { background-position: -272px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Italic { background-position: -136.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ItalicLarge { background-position: -272px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Italic { background-position: -136.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ItalicLarge { background-position: -272px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Italic { background-position: -136.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ItalicLarge { background-position: -272px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Language { background-position: -85.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LanguageDisabled { background-position: -85.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LanguageLarge { background-position: -170px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LanguageLargeDisabled { background-position: -170px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Language { background-position: -85.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LanguageLarge { background-position: -170px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Language { background-position: -85.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LanguageLarge { background-position: -170px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Language { background-position: -85.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LanguageLarge { background-position: -170px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Last { background-position: -85.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LastDisabled { background-position: -85.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LastLarge { background-position: -170px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LastLargeDisabled { background-position: -170px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Last { background-position: -85.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LastLarge { background-position: -170px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Last { background-position: -85.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LastLarge { background-position: -170px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Last { background-position: -85.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LastLarge { background-position: -170px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LeftColumns { background-position: -170.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LeftColumnsDisabled { background-position: -170.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LeftColumnsLarge { background-position: -340px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LeftColumnsLargeDisabled { background-position: -340px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LeftColumns { background-position: -170.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LeftColumnsLarge { background-position: -340px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LeftColumns { background-position: -170.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LeftColumnsLarge { background-position: -340px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LeftColumns { background-position: -170.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LeftColumnsLarge { background-position: -340px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineNumbering { background-position: -238.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LineNumberingDisabled { background-position: -238.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LineNumberingLarge { background-position: -476px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineNumberingLargeDisabled { background-position: -476px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineNumbering { background-position: -238.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineNumberingLarge { background-position: -476px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LineNumbering { background-position: -238.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LineNumberingLarge { background-position: -476px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LineNumbering { background-position: -238.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LineNumberingLarge { background-position: -476px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineSpacing { background-position: -68.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LineSpacingDisabled { background-position: -68.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LineSpacingLarge { background-position: -136px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LineSpacingLargeDisabled { background-position: -136px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineSpacing { background-position: -68.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LineSpacingLarge { background-position: -136px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LineSpacing { background-position: -68.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LineSpacingLarge { background-position: -136px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LineSpacing { background-position: -68.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LineSpacingLarge { background-position: -136px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LinkToPrevious { background-position: -119.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_LinkToPreviousDisabled { background-position: -119.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_LinkToPreviousLarge { background-position: -238px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_LinkToPreviousLargeDisabled { background-position: -238px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LinkToPrevious { background-position: -119.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_LinkToPreviousLarge { background-position: -238px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LinkToPrevious { background-position: -119.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_LinkToPreviousLarge { background-position: -238px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LinkToPrevious { background-position: -119.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_LinkToPreviousLarge { background-position: -238px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListBullets { background-position: -51.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ListBulletsDisabled { background-position: -51.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListBulletsLarge { background-position: -102px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListBulletsLargeDisabled { background-position: -102px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListBullets { background-position: -51.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListBulletsLarge { background-position: -102px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ListBullets { background-position: -51.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ListBulletsLarge { background-position: -102px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ListBullets { background-position: -51.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ListBulletsLarge { background-position: -102px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListMultilevel { background-position: 0.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ListMultilevelDisabled { background-position: 0.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListMultilevelLarge { background-position: 0px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListMultilevelLargeDisabled { background-position: 0px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListMultilevel { background-position: 0.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListMultilevelLarge { background-position: 0px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ListMultilevel { background-position: 0.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ListMultilevelLarge { background-position: 0px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ListMultilevel { background-position: 0.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ListMultilevelLarge { background-position: 0px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListNumbers { background-position: -238.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ListNumbersDisabled { background-position: -238.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ListNumbersLarge { background-position: -476px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ListNumbersLargeDisabled { background-position: -476px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListNumbers { background-position: -238.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ListNumbersLarge { background-position: -476px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ListNumbers { background-position: -238.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ListNumbersLarge { background-position: -476px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ListNumbers { background-position: -238.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ListNumbersLarge { background-position: -476px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MailMerge { background-position: -51.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_MailMergeDisabled { background-position: -51.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_MailMergeLarge { background-position: -102px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MailMergeLargeDisabled { background-position: -102px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MailMerge { background-position: -51.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MailMergeLarge { background-position: -102px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_MailMerge { background-position: -51.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_MailMergeLarge { background-position: -102px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_MailMerge { background-position: -51.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_MailMergeLarge { background-position: -102px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MergeTableCells { background-position: -51.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_MergeTableCellsDisabled { background-position: -51.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_MergeTableCellsLarge { background-position: -102px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_MergeTableCellsLargeDisabled { background-position: -102px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MergeTableCells { background-position: -51.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_MergeTableCellsLarge { background-position: -102px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_MergeTableCells { background-position: -51.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_MergeTableCellsLarge { background-position: -102px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_MergeTableCells { background-position: -51.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_MergeTableCellsLarge { background-position: -102px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ModifyTableStyle { background-position: -51.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ModifyTableStyleDisabled { background-position: -51.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ModifyTableStyleLarge { background-position: -102px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ModifyTableStyleLargeDisabled { background-position: -102px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ModifyTableStyle { background-position: -51.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ModifyTableStyleLarge { background-position: -102px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ModifyTableStyle { background-position: -51.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ModifyTableStyleLarge { background-position: -102px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ModifyTableStyle { background-position: -51.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ModifyTableStyleLarge { background-position: -102px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_New { background-position: -68.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NewDisabled { background-position: -68.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewLarge { background-position: -136px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewLargeDisabled { background-position: -136px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_New { background-position: -68.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewLarge { background-position: -136px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_New { background-position: -68.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NewLarge { background-position: -136px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_New { background-position: -68.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NewLarge { background-position: -136px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewComment { background-position: -102.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NewCommentDisabled { background-position: -102.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewCommentLarge { background-position: -204px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewCommentLargeDisabled { background-position: -204px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewComment { background-position: -102.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewCommentLarge { background-position: -204px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NewComment { background-position: -102.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NewCommentLarge { background-position: -204px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NewComment { background-position: -102.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NewCommentLarge { background-position: -204px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewTableStyle { background-position: -119.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NewTableStyleDisabled { background-position: -119.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NewTableStyleLarge { background-position: -238px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NewTableStyleLargeDisabled { background-position: -238px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewTableStyle { background-position: -119.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NewTableStyleLarge { background-position: -238px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NewTableStyle { background-position: -119.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NewTableStyleLarge { background-position: -238px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NewTableStyle { background-position: -119.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NewTableStyleLarge { background-position: -238px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Next { background-position: 0.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NextDisabled { background-position: 0.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NextLarge { background-position: 0px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextLargeDisabled { background-position: 0px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Next { background-position: 0.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NextLarge { background-position: 0px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Next { background-position: 0.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NextLarge { background-position: 0px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Next { background-position: 0.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NextLarge { background-position: 0px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextComment { background-position: -102.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_NextCommentDisabled { background-position: -102.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_NextCommentLarge { background-position: -204px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_NextCommentLargeDisabled { background-position: -204px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NextComment { background-position: -102.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_NextCommentLarge { background-position: -204px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NextComment { background-position: -102.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_NextCommentLarge { background-position: -204px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NextComment { background-position: -102.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_NextCommentLarge { background-position: -204px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OneColumn { background-position: -204.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_OneColumnDisabled { background-position: -204.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_OneColumnLarge { background-position: -408px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OneColumnLargeDisabled { background-position: -408px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_OneColumn { background-position: -204.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_OneColumnLarge { background-position: -408px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_OneColumn { background-position: -204.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_OneColumnLarge { background-position: -408px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_OneColumn { background-position: -204.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_OneColumnLarge { background-position: -408px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Open { background-position: -17.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_OpenDisabled { background-position: -17.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_OpenLarge { background-position: -34px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_OpenLargeDisabled { background-position: -34px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Open { background-position: -17.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_OpenLarge { background-position: -34px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Open { background-position: -17.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_OpenLarge { background-position: -34px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Open { background-position: -17.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_OpenLarge { background-position: -34px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageColor { background-position: -34.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageColorDisabled { background-position: -34.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageColorLarge { background-position: -68px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageColorLargeDisabled { background-position: -68px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageColor { background-position: -34.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageColorLarge { background-position: -68px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageColor { background-position: -34.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageColorLarge { background-position: -68px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageColor { background-position: -34.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageColorLarge { background-position: -68px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMargins { background-position: -51.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsDisabled { background-position: -51.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsLarge { background-position: -102px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsLargeDisabled { background-position: -102px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMargins { background-position: -51.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsLarge { background-position: -102px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMargins { background-position: -51.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsLarge { background-position: -102px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMargins { background-position: -51.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsLarge { background-position: -102px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsModerate { background-position: -68.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsModerateDisabled { background-position: -68.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsModerateLarge { background-position: -136px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsModerateLargeDisabled { background-position: -136px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsModerate { background-position: -68.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsModerateLarge { background-position: -136px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsModerate { background-position: -68.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsModerateLarge { background-position: -136px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsModerate { background-position: -68.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsModerateLarge { background-position: -136px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNarrow { background-position: -85.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowDisabled { background-position: -85.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLarge { background-position: -170px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNarrowLargeDisabled { background-position: -170px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNarrow { background-position: -85.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNarrowLarge { background-position: -170px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNarrow { background-position: -85.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNarrowLarge { background-position: -170px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNarrow { background-position: -85.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNarrowLarge { background-position: -170px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNormal { background-position: -102.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsNormalDisabled { background-position: -102.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsNormalLarge { background-position: -204px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsNormalLargeDisabled { background-position: -204px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNormal { background-position: -102.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsNormalLarge { background-position: -204px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNormal { background-position: -102.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsNormalLarge { background-position: -204px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNormal { background-position: -102.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsNormalLarge { background-position: -204px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsWide { background-position: -119.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageMarginsWideDisabled { background-position: -119.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageMarginsWideLarge { background-position: -238px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageMarginsWideLargeDisabled { background-position: -238px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsWide { background-position: -119.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageMarginsWideLarge { background-position: -238px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsWide { background-position: -119.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageMarginsWideLarge { background-position: -238px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsWide { background-position: -119.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageMarginsWideLarge { background-position: -238px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientation { background-position: -136.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageOrientationDisabled { background-position: -136.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationLarge { background-position: -272px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLargeDisabled { background-position: -272px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientation { background-position: -136.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationLarge { background-position: -272px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientation { background-position: -136.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationLarge { background-position: -272px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientation { background-position: -136.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationLarge { background-position: -272px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLandscape { background-position: -153.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeDisabled { background-position: -153.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLarge { background-position: -306px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationLandscapeLargeDisabled { background-position: -306px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationLandscape { background-position: -153.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge { background-position: -306px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationLandscape { background-position: -153.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge { background-position: -306px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationLandscape { background-position: -153.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationLandscapeLarge { background-position: -306px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationPortrait { background-position: -170.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitDisabled { background-position: -170.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLarge { background-position: -340px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PageOrientationPortraitLargeDisabled { background-position: -340px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationPortrait { background-position: -170.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PageOrientationPortraitLarge { background-position: -340px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationPortrait { background-position: -170.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PageOrientationPortraitLarge { background-position: -340px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationPortrait { background-position: -170.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PageOrientationPortraitLarge { background-position: -340px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PaperSize { background-position: -187.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PaperSizeDisabled { background-position: -187.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PaperSizeLarge { background-position: -374px 0px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PaperSizeLargeDisabled { background-position: -374px 0px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PaperSize { background-position: -187.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PaperSizeLarge { background-position: -374px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PaperSize { background-position: -187.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PaperSizeLarge { background-position: -374px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PaperSize { background-position: -187.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PaperSizeLarge { background-position: -374px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Paragraph { background-position: -221.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ParagraphDisabled { background-position: -221.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Paragraph { background-position: -221.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ParagraphLarge { background-position: -442px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Paragraph { background-position: -221.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ParagraphLarge { background-position: -442px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Paragraph { background-position: -221.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ParagraphLarge { background-position: -442px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ParagraphLarge { background-position: -136px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ParagraphLargeDisabled { background-position: -136px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ParagraphLarge { background-position: -136px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ParagraphLargeLarge { background-position: -136px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ParagraphLarge { background-position: -136px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ParagraphLargeLarge { background-position: -136px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ParagraphLarge { background-position: -136px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ParagraphLargeLarge { background-position: -136px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Paste { background-position: -238.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PasteDisabled { background-position: -238.0px 0.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Paste { background-position: -238.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteLarge { background-position: -476px -510px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Paste { background-position: -238.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PasteLarge { background-position: -476px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Paste { background-position: -238.0px -255.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PasteLarge { background-position: -476px -510px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteLarge { background-position: 0px -34px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteLargeDisabled { background-position: 0px -34px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteLarge { background-position: 0px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteLargeLarge { background-position: 0px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PasteLarge { background-position: 0px -544px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PasteLargeLarge { background-position: 0px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PasteLarge { background-position: 0px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PasteLargeLarge { background-position: 0px -544px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteSpecial { background-position: -119.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PasteSpecialDisabled { background-position: -119.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PasteSpecialLarge { background-position: -238px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PasteSpecialLargeDisabled { background-position: -238px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteSpecial { background-position: -119.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PasteSpecialLarge { background-position: -238px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PasteSpecial { background-position: -119.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PasteSpecialLarge { background-position: -238px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PasteSpecial { background-position: -119.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PasteSpecialLarge { background-position: -238px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PenColor { background-position: -34.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PenColorDisabled { background-position: -34.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PenColorLarge { background-position: -68px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PenColorLargeDisabled { background-position: -68px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PenColor { background-position: -34.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PenColorLarge { background-position: -68px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PenColor { background-position: -34.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PenColorLarge { background-position: -68px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PenColor { background-position: -34.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PenColorLarge { background-position: -68px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Prev { background-position: -34.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrevDisabled { background-position: -34.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrevLarge { background-position: -68px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrevLargeDisabled { background-position: -68px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Prev { background-position: -34.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrevLarge { background-position: -68px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Prev { background-position: -34.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrevLarge { background-position: -68px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Prev { background-position: -34.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrevLarge { background-position: -68px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Preview { background-position: -204.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PreviewDisabled { background-position: -204.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PreviewLarge { background-position: -408px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviewLargeDisabled { background-position: -408px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Preview { background-position: -204.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PreviewLarge { background-position: -408px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Preview { background-position: -204.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PreviewLarge { background-position: -408px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Preview { background-position: -204.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PreviewLarge { background-position: -408px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviousComment { background-position: -17.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PreviousCommentDisabled { background-position: -17.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PreviousCommentLarge { background-position: -34px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PreviousCommentLargeDisabled { background-position: -34px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PreviousComment { background-position: -17.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PreviousCommentLarge { background-position: -34px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PreviousComment { background-position: -17.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PreviousCommentLarge { background-position: -34px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PreviousComment { background-position: -17.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PreviousCommentLarge { background-position: -34px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Print { background-position: -170.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintDisabled { background-position: -170.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintLarge { background-position: -340px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLargeDisabled { background-position: -340px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Print { background-position: -170.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintLarge { background-position: -340px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Print { background-position: -170.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintLarge { background-position: -340px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Print { background-position: -170.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintLarge { background-position: -340px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintBrowser { background-position: -17.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintBrowserDisabled { background-position: -17.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintBrowserLarge { background-position: -34px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintBrowserLargeDisabled { background-position: -34px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintBrowser { background-position: -17.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintBrowserLarge { background-position: -34px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintBrowser { background-position: -17.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintBrowserLarge { background-position: -34px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintBrowser { background-position: -17.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintBrowserLarge { background-position: -34px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintDialog { background-position: -34.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintDialogDisabled { background-position: -34.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintDialogLarge { background-position: -68px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintDialogLargeDisabled { background-position: -68px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintDialog { background-position: -34.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintDialogLarge { background-position: -68px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintDialog { background-position: -34.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintDialogLarge { background-position: -68px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintDialog { background-position: -34.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintDialogLarge { background-position: -68px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLayoutView { background-position: -51.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintLayoutViewDisabled { background-position: -51.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintLayoutViewLarge { background-position: -102px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintLayoutViewLargeDisabled { background-position: -102px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintLayoutView { background-position: -51.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintLayoutViewLarge { background-position: -102px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintLayoutView { background-position: -51.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintLayoutViewLarge { background-position: -102px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintLayoutView { background-position: -51.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintLayoutViewLarge { background-position: -102px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowser { background-position: -102.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserDisabled { background-position: -102.0px -34.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLarge { background-position: -204px -68px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_PrintPreviewBrowserLargeDisabled { background-position: -204px -68px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintPreviewBrowser { background-position: -102.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge { background-position: -204px -578px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintPreviewBrowser { background-position: -102.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge { background-position: -204px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintPreviewBrowser { background-position: -102.0px -289.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_PrintPreviewBrowserLarge { background-position: -204px -578px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ProtectDocument { background-position: -153.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ProtectDocumentDisabled { background-position: -153.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ProtectDocumentLarge { background-position: -306px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ProtectDocumentLargeDisabled { background-position: -306px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ProtectDocument { background-position: -153.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ProtectDocumentLarge { background-position: -306px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ProtectDocument { background-position: -153.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ProtectDocumentLarge { background-position: -306px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ProtectDocument { background-position: -153.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ProtectDocumentLarge { background-position: -306px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Redo { background-position: -136.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RedoDisabled { background-position: -136.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RedoLarge { background-position: -272px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RedoLargeDisabled { background-position: -272px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Redo { background-position: -136.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RedoLarge { background-position: -272px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Redo { background-position: -136.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_RedoLarge { background-position: -272px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Redo { background-position: -136.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_RedoLarge { background-position: -272px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Replace { background-position: -119.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ReplaceDisabled { background-position: -119.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ReplaceLarge { background-position: -238px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReplaceLargeDisabled { background-position: -238px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Replace { background-position: -119.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReplaceLarge { background-position: -238px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Replace { background-position: -119.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ReplaceLarge { background-position: -238px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Replace { background-position: -119.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ReplaceLarge { background-position: -238px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Reviewers { background-position: -68.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ReviewersDisabled { background-position: -68.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ReviewersLarge { background-position: -136px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewersLargeDisabled { background-position: -136px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Reviewers { background-position: -68.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReviewersLarge { background-position: -136px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Reviewers { background-position: -68.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ReviewersLarge { background-position: -136px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Reviewers { background-position: -68.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ReviewersLarge { background-position: -136px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewingPane { background-position: -204.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ReviewingPaneDisabled { background-position: -204.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ReviewingPaneLarge { background-position: -408px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ReviewingPaneLargeDisabled { background-position: -408px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReviewingPane { background-position: -204.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ReviewingPaneLarge { background-position: -408px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ReviewingPane { background-position: -204.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ReviewingPaneLarge { background-position: -408px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ReviewingPane { background-position: -204.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ReviewingPaneLarge { background-position: -408px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RightColumns { background-position: -102.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RightColumnsDisabled { background-position: -102.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RightColumnsLarge { background-position: -204px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RightColumnsLargeDisabled { background-position: -204px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RightColumns { background-position: -102.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RightColumnsLarge { background-position: -204px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_RightColumns { background-position: -102.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_RightColumnsLarge { background-position: -204px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_RightColumns { background-position: -102.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_RightColumnsLarge { background-position: -204px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerHorizontal { background-position: -68.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RulerHorizontalDisabled { background-position: -68.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RulerHorizontalLarge { background-position: -136px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerHorizontalLargeDisabled { background-position: -136px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerHorizontal { background-position: -68.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerHorizontalLarge { background-position: -136px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_RulerHorizontal { background-position: -68.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_RulerHorizontalLarge { background-position: -136px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_RulerHorizontal { background-position: -68.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_RulerHorizontalLarge { background-position: -136px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerVertical { background-position: -85.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_RulerVerticalDisabled { background-position: -85.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_RulerVerticalLarge { background-position: -170px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_RulerVerticalLargeDisabled { background-position: -170px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerVertical { background-position: -85.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_RulerVerticalLarge { background-position: -170px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_RulerVertical { background-position: -85.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_RulerVerticalLarge { background-position: -170px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_RulerVertical { background-position: -85.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_RulerVerticalLarge { background-position: -170px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Save { background-position: 0.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SaveDisabled { background-position: 0.0px -153.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SaveLarge { background-position: 0px -306px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveLargeDisabled { background-position: 0px -306px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Save { background-position: 0.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SaveLarge { background-position: 0px -816px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Save { background-position: 0.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SaveLarge { background-position: 0px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Save { background-position: 0.0px -408.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SaveLarge { background-position: 0px -816px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveAs { background-position: -34.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SaveAsDisabled { background-position: -34.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SaveAsLarge { background-position: -68px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SaveAsLargeDisabled { background-position: -68px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SaveAs { background-position: -34.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SaveAsLarge { background-position: -68px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SaveAs { background-position: -34.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SaveAsLarge { background-position: -68px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SaveAs { background-position: -34.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SaveAsLarge { background-position: -68px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Select { background-position: -34.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectDisabled { background-position: -34.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectLarge { background-position: -68px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectLargeDisabled { background-position: -68px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Select { background-position: -34.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectLarge { background-position: -68px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Select { background-position: -34.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectLarge { background-position: -68px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Select { background-position: -34.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectLarge { background-position: -68px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectAll { background-position: -68.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectAllDisabled { background-position: -68.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectAllLarge { background-position: -136px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectAllLargeDisabled { background-position: -136px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectAll { background-position: -68.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectAllLarge { background-position: -136px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectAll { background-position: -68.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectAllLarge { background-position: -136px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectAll { background-position: -68.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectAllLarge { background-position: -136px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTable { background-position: -102.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableDisabled { background-position: -102.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableLarge { background-position: -204px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableLargeDisabled { background-position: -204px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTable { background-position: -102.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableLarge { background-position: -204px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTable { background-position: -102.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableLarge { background-position: -204px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTable { background-position: -102.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableLarge { background-position: -204px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableCell { background-position: -136.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableCellDisabled { background-position: -136.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableCellLarge { background-position: -272px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableCellLargeDisabled { background-position: -272px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableCell { background-position: -136.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableCellLarge { background-position: -272px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableCell { background-position: -136.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableCellLarge { background-position: -272px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableCell { background-position: -136.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableCellLarge { background-position: -272px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableColumn { background-position: -221.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableColumnDisabled { background-position: -221.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableColumnLarge { background-position: -442px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableColumnLargeDisabled { background-position: -442px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableColumn { background-position: -221.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableColumnLarge { background-position: -442px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableColumn { background-position: -221.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableColumnLarge { background-position: -442px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableColumn { background-position: -221.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableColumnLarge { background-position: -442px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableRow { background-position: -136.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SelectTableRowDisabled { background-position: -136.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SelectTableRowLarge { background-position: -272px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SelectTableRowLargeDisabled { background-position: -272px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableRow { background-position: -136.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SelectTableRowLarge { background-position: -272px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableRow { background-position: -136.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SelectTableRowLarge { background-position: -272px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableRow { background-position: -136.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SelectTableRowLarge { background-position: -272px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Shading { background-position: -153.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShadingDisabled { background-position: -153.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShadingLarge { background-position: -306px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShadingLargeDisabled { background-position: -306px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Shading { background-position: -153.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShadingLarge { background-position: -306px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Shading { background-position: -153.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShadingLarge { background-position: -306px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Shading { background-position: -153.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShadingLarge { background-position: -306px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodes { background-position: -34.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesDisabled { background-position: -34.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLarge { background-position: -68px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldCodesLargeDisabled { background-position: -68px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldCodes { background-position: -34.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge { background-position: -68px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldCodes { background-position: -34.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge { background-position: -68px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldCodes { background-position: -34.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldCodesLarge { background-position: -68px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldResults { background-position: -17.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsDisabled { background-position: -17.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLarge { background-position: -34px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowAllFieldResultsLargeDisabled { background-position: -34px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldResults { background-position: -17.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge { background-position: -34px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldResults { background-position: -17.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge { background-position: -34px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldResults { background-position: -17.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowAllFieldResultsLarge { background-position: -34px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowComments { background-position: -204.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowCommentsDisabled { background-position: -204.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowCommentsLarge { background-position: -408px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowCommentsLargeDisabled { background-position: -408px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowComments { background-position: -204.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowCommentsLarge { background-position: -408px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowComments { background-position: -204.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowCommentsLarge { background-position: -408px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowComments { background-position: -204.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowCommentsLarge { background-position: -408px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowHidden { background-position: -221.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ShowHiddenDisabled { background-position: -221.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ShowHiddenLarge { background-position: -442px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ShowHiddenLargeDisabled { background-position: -442px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowHidden { background-position: -221.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ShowHiddenLarge { background-position: -442px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowHidden { background-position: -221.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ShowHiddenLarge { background-position: -442px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowHidden { background-position: -221.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ShowHiddenLarge { background-position: -442px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SimpleView { background-position: -204.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SimpleViewDisabled { background-position: -204.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SimpleViewLarge { background-position: -408px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SimpleViewLargeDisabled { background-position: -408px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SimpleView { background-position: -204.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SimpleViewLarge { background-position: -408px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SimpleView { background-position: -204.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SimpleViewLarge { background-position: -408px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SimpleView { background-position: -204.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SimpleViewLarge { background-position: -408px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpacingDecrease { background-position: -17.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SpacingDecreaseDisabled { background-position: -17.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpacingDecreaseLarge { background-position: -34px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpacingDecreaseLargeDisabled { background-position: -34px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpacingDecrease { background-position: -17.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpacingDecreaseLarge { background-position: -34px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SpacingDecrease { background-position: -17.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SpacingDecreaseLarge { background-position: -34px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SpacingDecrease { background-position: -17.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SpacingDecreaseLarge { background-position: -34px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheck { background-position: -34.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SpellCheckDisabled { background-position: -34.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpellCheckLarge { background-position: -68px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckLargeDisabled { background-position: -68px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheck { background-position: -34.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheckLarge { background-position: -68px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheck { background-position: -34.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheckLarge { background-position: -68px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheck { background-position: -34.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheckLarge { background-position: -68px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouType { background-position: -170.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeDisabled { background-position: -170.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge { background-position: -340px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeDisabled { background-position: -340px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheckAsYouType { background-position: -170.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge { background-position: -340px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheckAsYouType { background-position: -170.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge { background-position: -340px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheckAsYouType { background-position: -170.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SpellCheckAsYouTypeLarge { background-position: -340px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTable { background-position: -153.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SplitTableDisabled { background-position: -153.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SplitTableLarge { background-position: -306px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableLargeDisabled { background-position: -306px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTable { background-position: -153.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTableLarge { background-position: -306px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SplitTable { background-position: -153.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SplitTableLarge { background-position: -306px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SplitTable { background-position: -153.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SplitTableLarge { background-position: -306px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableCells { background-position: -17.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SplitTableCellsDisabled { background-position: -17.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SplitTableCellsLarge { background-position: -34px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SplitTableCellsLargeDisabled { background-position: -34px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTableCells { background-position: -17.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SplitTableCellsLarge { background-position: -34px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SplitTableCells { background-position: -17.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SplitTableCellsLarge { background-position: -34px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SplitTableCells { background-position: -17.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SplitTableCellsLarge { background-position: -34px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Strikeout { background-position: -136.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_StrikeoutDisabled { background-position: -136.0px -170.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_StrikeoutLarge { background-position: -272px -340px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutLargeDisabled { background-position: -272px -340px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Strikeout { background-position: -136.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_StrikeoutLarge { background-position: -272px -850px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Strikeout { background-position: -136.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_StrikeoutLarge { background-position: -272px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Strikeout { background-position: -136.0px -425.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_StrikeoutLarge { background-position: -272px -850px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutDouble { background-position: -221.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleDisabled { background-position: -221.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLarge { background-position: -442px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_StrikeoutDoubleLargeDisabled { background-position: -442px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_StrikeoutDouble { background-position: -221.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_StrikeoutDoubleLarge { background-position: -442px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_StrikeoutDouble { background-position: -221.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_StrikeoutDoubleLarge { background-position: -442px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_StrikeoutDouble { background-position: -221.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_StrikeoutDoubleLarge { background-position: -442px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Subscript { background-position: -17.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SubscriptDisabled { background-position: -17.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SubscriptLarge { background-position: -34px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SubscriptLargeDisabled { background-position: -34px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Subscript { background-position: -17.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SubscriptLarge { background-position: -34px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Subscript { background-position: -17.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SubscriptLarge { background-position: -34px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Subscript { background-position: -17.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SubscriptLarge { background-position: -34px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Superscript { background-position: -51.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SuperscriptDisabled { background-position: -51.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SuperscriptLarge { background-position: -102px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SuperscriptLargeDisabled { background-position: -102px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Superscript { background-position: -51.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SuperscriptLarge { background-position: -102px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Superscript { background-position: -51.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SuperscriptLarge { background-position: -102px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Superscript { background-position: -51.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SuperscriptLarge { background-position: -102px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Symbol { background-position: -170.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_SymbolDisabled { background-position: -170.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_SymbolLarge { background-position: -340px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_SymbolLargeDisabled { background-position: -340px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Symbol { background-position: -170.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_SymbolLarge { background-position: -340px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Symbol { background-position: -170.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_SymbolLarge { background-position: -340px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Symbol { background-position: -170.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_SymbolLarge { background-position: -340px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitContents { background-position: -187.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsDisabled { background-position: -187.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLarge { background-position: -374px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitContentsLargeDisabled { background-position: -374px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitContents { background-position: -187.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitContentsLarge { background-position: -374px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitContents { background-position: -187.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitContentsLarge { background-position: -374px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitContents { background-position: -187.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitContentsLarge { background-position: -374px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitWindow { background-position: -68.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowDisabled { background-position: -68.0px -204.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLarge { background-position: -136px -408px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableAutoFitWindowLargeDisabled { background-position: -136px -408px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitWindow { background-position: -68.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableAutoFitWindowLarge { background-position: -136px -918px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitWindow { background-position: -68.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableAutoFitWindowLarge { background-position: -136px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitWindow { background-position: -68.0px -459.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableAutoFitWindowLarge { background-position: -136px -918px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableCellMargins { background-position: -85.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableCellMarginsDisabled { background-position: -85.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableCellMarginsLarge { background-position: -170px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableCellMarginsLargeDisabled { background-position: -170px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableCellMargins { background-position: -85.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableCellMarginsLarge { background-position: -170px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableCellMargins { background-position: -85.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableCellMarginsLarge { background-position: -170px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableCellMargins { background-position: -85.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableCellMarginsLarge { background-position: -170px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidth { background-position: -204.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthDisabled { background-position: -204.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLarge { background-position: -408px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableFixedColumnWidthLargeDisabled { background-position: -408px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableFixedColumnWidth { background-position: -204.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge { background-position: -408px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableFixedColumnWidth { background-position: -204.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge { background-position: -408px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableFixedColumnWidth { background-position: -204.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableFixedColumnWidthLarge { background-position: -408px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TableProperties { background-position: -170.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TablePropertiesDisabled { background-position: -170.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TablePropertiesLarge { background-position: -340px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TablePropertiesLargeDisabled { background-position: -340px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TableProperties { background-position: -170.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TablePropertiesLarge { background-position: -340px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TableProperties { background-position: -170.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TablePropertiesLarge { background-position: -340px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TableProperties { background-position: -170.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TablePropertiesLarge { background-position: -340px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapBehind { background-position: -238.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapBehindDisabled { background-position: -238.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapBehindLarge { background-position: -476px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapBehindLargeDisabled { background-position: -476px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapBehind { background-position: -238.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapBehindLarge { background-position: -476px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapBehind { background-position: -238.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapBehindLarge { background-position: -476px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapBehind { background-position: -238.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapBehindLarge { background-position: -476px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfText { background-position: -187.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextDisabled { background-position: -187.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge { background-position: -374px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeDisabled { background-position: -374px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInFrontOfText { background-position: -187.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge { background-position: -374px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInFrontOfText { background-position: -187.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge { background-position: -374px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInFrontOfText { background-position: -187.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInFrontOfTextLarge { background-position: -374px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInline { background-position: -85.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapInlineDisabled { background-position: -85.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapInlineLarge { background-position: -170px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapInlineLargeDisabled { background-position: -170px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInline { background-position: -85.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapInlineLarge { background-position: -170px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInline { background-position: -85.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapInlineLarge { background-position: -170px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInline { background-position: -85.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapInlineLarge { background-position: -170px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapSquare { background-position: 0.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapSquareDisabled { background-position: 0.0px -119.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapSquareLarge { background-position: 0px -238px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapSquareLargeDisabled { background-position: 0px -238px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapSquare { background-position: 0.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapSquareLarge { background-position: 0px -748px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapSquare { background-position: 0.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapSquareLarge { background-position: 0px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapSquare { background-position: 0.0px -374.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapSquareLarge { background-position: 0px -748px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapThrough { background-position: -85.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapThroughDisabled { background-position: -85.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapThroughLarge { background-position: -170px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapThroughLargeDisabled { background-position: -170px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapThrough { background-position: -85.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapThroughLarge { background-position: -170px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapThrough { background-position: -85.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapThroughLarge { background-position: -170px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapThrough { background-position: -85.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapThroughLarge { background-position: -170px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTight { background-position: -221.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapTightDisabled { background-position: -221.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapTightLarge { background-position: -442px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTightLargeDisabled { background-position: -442px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTight { background-position: -221.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTightLarge { background-position: -442px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTight { background-position: -221.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTightLarge { background-position: -442px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTight { background-position: -221.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTightLarge { background-position: -442px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottom { background-position: -238.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomDisabled { background-position: -238.0px -136.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge { background-position: -476px -272px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeDisabled { background-position: -476px -272px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTopAndBottom { background-position: -238.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge { background-position: -476px -782px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTopAndBottom { background-position: -238.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge { background-position: -476px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTopAndBottom { background-position: -238.0px -391.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TextWrapTopAndBottomLarge { background-position: -476px -782px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ThreeColumns { background-position: 0.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ThreeColumnsDisabled { background-position: 0.0px -85.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ThreeColumnsLarge { background-position: 0px -170px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ThreeColumnsLargeDisabled { background-position: 0px -170px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ThreeColumns { background-position: 0.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ThreeColumnsLarge { background-position: 0px -680px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ThreeColumns { background-position: 0.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ThreeColumnsLarge { background-position: 0px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ThreeColumns { background-position: 0.0px -340.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ThreeColumnsLarge { background-position: 0px -680px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ToggleFieldCodes { background-position: -204.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesDisabled { background-position: -204.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLarge { background-position: -408px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ToggleFieldCodesLargeDisabled { background-position: -408px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ToggleFieldCodes { background-position: -204.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ToggleFieldCodesLarge { background-position: -408px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ToggleFieldCodes { background-position: -204.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ToggleFieldCodesLarge { background-position: -408px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ToggleFieldCodes { background-position: -204.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ToggleFieldCodesLarge { background-position: -408px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TwoColumns { background-position: -187.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_TwoColumnsDisabled { background-position: -187.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_TwoColumnsLarge { background-position: -374px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_TwoColumnsLargeDisabled { background-position: -374px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TwoColumns { background-position: -187.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_TwoColumnsLarge { background-position: -374px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TwoColumns { background-position: -187.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_TwoColumnsLarge { background-position: -374px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TwoColumns { background-position: -187.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_TwoColumnsLarge { background-position: -374px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Underline { background-position: -170.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UnderlineDisabled { background-position: -170.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnderlineLarge { background-position: -340px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineLargeDisabled { background-position: -340px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Underline { background-position: -170.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnderlineLarge { background-position: -340px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Underline { background-position: -170.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UnderlineLarge { background-position: -340px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Underline { background-position: -170.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UnderlineLarge { background-position: -340px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineDouble { background-position: -153.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UnderlineDoubleDisabled { background-position: -153.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnderlineDoubleLarge { background-position: -306px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnderlineDoubleLargeDisabled { background-position: -306px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnderlineDouble { background-position: -153.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnderlineDoubleLarge { background-position: -306px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UnderlineDouble { background-position: -153.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UnderlineDoubleLarge { background-position: -306px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UnderlineDouble { background-position: -153.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UnderlineDoubleLarge { background-position: -306px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_Undo { background-position: -136.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UndoDisabled { background-position: -136.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UndoLarge { background-position: -272px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UndoLargeDisabled { background-position: -272px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_Undo { background-position: -136.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UndoLarge { background-position: -272px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_Undo { background-position: -136.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UndoLarge { background-position: -272px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_Undo { background-position: -136.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UndoLarge { background-position: -272px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnprotectDocument { background-position: -119.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UnprotectDocumentDisabled { background-position: -119.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UnprotectDocumentLarge { background-position: -238px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UnprotectDocumentLargeDisabled { background-position: -238px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnprotectDocument { background-position: -119.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UnprotectDocumentLarge { background-position: -238px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UnprotectDocument { background-position: -119.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UnprotectDocumentLarge { background-position: -238px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UnprotectDocument { background-position: -119.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UnprotectDocumentLarge { background-position: -238px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateField { background-position: -102.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UpdateFieldDisabled { background-position: -102.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UpdateFieldLarge { background-position: -204px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateFieldLargeDisabled { background-position: -204px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateField { background-position: -102.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateFieldLarge { background-position: -204px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UpdateField { background-position: -102.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UpdateFieldLarge { background-position: -204px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UpdateField { background-position: -102.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UpdateFieldLarge { background-position: -204px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateTableOfContents { background-position: -85.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsDisabled { background-position: -85.0px -102.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLarge { background-position: -170px -204px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_UpdateTableOfContentsLargeDisabled { background-position: -170px -204px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateTableOfContents { background-position: -85.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge { background-position: -170px -714px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UpdateTableOfContents { background-position: -85.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge { background-position: -170px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UpdateTableOfContents { background-position: -85.0px -357.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_UpdateTableOfContentsLarge { background-position: -170px -714px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewMergedData { background-position: -221.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ViewMergedDataDisabled { background-position: -221.0px -68.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ViewMergedDataLarge { background-position: -442px -136px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewMergedDataLargeDisabled { background-position: -442px -136px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewMergedData { background-position: -221.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewMergedDataLarge { background-position: -442px -646px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ViewMergedData { background-position: -221.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ViewMergedDataLarge { background-position: -442px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ViewMergedData { background-position: -221.0px -323.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ViewMergedDataLarge { background-position: -442px -646px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewTableGridlines { background-position: -119.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesDisabled { background-position: -119.0px -221.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLarge { background-position: -238px -442px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ViewTableGridlinesLargeDisabled { background-position: -238px -442px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewTableGridlines { background-position: -119.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ViewTableGridlinesLarge { background-position: -238px -952px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ViewTableGridlines { background-position: -119.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ViewTableGridlinesLarge { background-position: -238px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ViewTableGridlines { background-position: -119.0px -476.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ViewTableGridlinesLarge { background-position: -238px -952px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomIn { background-position: -170.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ZoomInDisabled { background-position: -170.0px -187.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ZoomInLarge { background-position: -340px -374px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomInLargeDisabled { background-position: -340px -374px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomIn { background-position: -170.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomInLarge { background-position: -340px -884px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ZoomIn { background-position: -170.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ZoomInLarge { background-position: -340px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ZoomIn { background-position: -170.0px -442.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ZoomInLarge { background-position: -340px -884px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomOut { background-position: -221.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxRichEdit_SVGIcon_ZoomOutDisabled { background-position: -221.0px -238.0px; background-size: 269.0px auto; width: 16px; height: 16px; opacity: 0.5 } 
.dxRichEdit_SVGIcon_ZoomOutLarge { background-position: -442px -476px; background-size: 538px auto; width: 32px; height: 32px } 
.dxRichEdit_SVGIcon_ZoomOutLargeDisabled { background-position: -442px -476px; background-size: 538px auto; width: 32px; height: 32px; opacity: 0.5 } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomOut { background-position: -221.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxm-main .dxm-hovered .dxRichEdit_SVGIcon_ZoomOutLarge { background-position: -442px -986px; background-size: 538px auto; width: 32px; height: 32px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ZoomOut { background-position: -221.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
 .dxr-itemHover .dxRichEdit_SVGIcon_ZoomOutLarge { background-position: -442px -986px; background-size: 538px auto; width: 32px; height: 32px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ZoomOut { background-position: -221.0px -493.0px; background-size: 269.0px auto; width: 16px; height: 16px } 
.dxr-itemPressed .dxRichEdit_SVGIcon_ZoomOutLarge { background-position: -442px -986px; background-size: 538px auto; width: 32px; height: 32px } 
     d  BMd      b   (                                  jii     qqp mml BBB 













































	

	




















	








	  po PNG

   
IHDR       㘲   	pHYs    od o"IDATx^6|kl/s0IҤĻIafffl8#ʺknrD
[@Qѯ@ek8 ޚ{*@rpExdRL >  p:g Т[*tOx8gGr-<N9v͠\g$O}@gs"췀0)n=޸ 9? _2J9C/F0ɫDp{pT[Om~؎g*ᔎ)G;d{IMxAlGH, Ҡlu^^C=ӜL6uXQK@}:e,C
D "*8 0by8:,zt͗
9U= ?w4zl֒ u2q0(aFo`srƘ\5^w8fspAEd`R@e4d3W
sg 8NOQoxwGqɝ.>ߏl0W~t/PK!#0wgs>@1#ѽe*x׮<Q	q߶um1gUx+ m꺃bLI0FGV*q~8Z`χ߭$%}1N|w <G
l	afܬ%ԡ ̶d(x@
xu85ʀxۭ	Ef?yPʒCsO Yv4^~$J?xrŢc
KK/{`Cs֩

0 SE$8RMXѱ^DEW
ѻ]&Y0pQmax}A̻~ <b|4R6pԕz}هyA !\PRTGb?}dQ$QWMxXQ#@b2 4
q.-\V3\}A=n+s'Pq9
ucbT<QY~	j6TA7(85P4oҧç3Q6Ƃ~Y`cHCU
0^aH")u4зs[QVxϽcUl@V~:Wv'늯F6l2*++
q7ul9<LBQXZILD{yx
cᗯ9!U6m3~7Ғ\6+}:.s'vGt"X}aCsy J\
3+JI-)q}^Ѐ6jݳS1bDq5H́1"EUJ:gLUx}ϫ
B1\;qp[{wmE~Fsw> #!2j*Fm0!!
h{6nr
 ? @Сx02]A
xyLVEΏ,`:\}rpjcyU
[m}1y;Ήs5?m^݋}6{^Ok$	{(?ˉ+`{ɶ|g -p2ڱ#/! eqz8V98&"0}Ϊjyk##0\EVR][j6LŮ/r*āy}itvvV Ю~@3FHxoΏ J[3'z_~	]`uDͻ`Tx+GVп[yc3ɮ~hCVfZi9 VZz,0-E/NG߹NO~\ID*~yéb2d0S?eʗ_3r3<f'v=gN<M=6E@b#ЦmCF
@) VC ^u:ɥ?.-)d"NQAyo|Ϭέ,
M(R<Yk7xgnv* _l@K_Ybo5[=a#Kѐ*S@ʤ,!)J.C^Sy<B
uah1V
b3ì凯<>4dcjr^s{;h&>>v2+ʅN0~F{巣6H +IQÌ/xﯛ
3l̓Ãs j2k0)	$Rj"5n2).-qv;zQZͲ<>ܿڎ'_7rʢ^ͦzu|'OyFjwIJr>Q֤Ud6ܨ?|7']|2~/O w2/Xh 
l


:;gL
JaqϚp(2ݻnݺUfܲWlJpkwb GD0 []ƅi.Ӵ x."%t{1t΂bf=Agaܷ)@@]->}~<1kM!V?3M⣮W\܌+\p8jxԜ>G'vxW@V떑9\tsa>dɯsn?)iNd֋̏F}P/k ӻeq	8spkf
gk?pƇw` ~a`{F4A)ry0Z_}*P\-7O;B-h
aV)y`:ܕƕn pPq'4 3@i<JM*2QɬKfNZOΉ hvԿǋVu-RRͳbFR*,o7SzM 
  {xӐN"
zM OбY2{{%*%o.! x%*.4` >+c]x0@/^?O|vhǿyZw]iۨe
RziI$F)^8k [J'Ϙ
+ >82:zS4 𔔔[IPG
)2*j/l W܍	ea'S^!};,@?6 (N8pq0y`t2U`9nʃY^$$0qMK ;ⶉEEM)a06#5n@p:xBrɹHH0HPsoj7]2ʼM1 <W]s_vK@a~ޭ۶]X^wy,4pRqQكTEwcO^{-}SGb6qH+csYA٬5.l)Y <T3E%>ޅB;D황HKI1qBYd0ÂO.
bDǠ`aꆒx붑!,D<J=n؏2y0(_T4U«!W˲YGsYr0CUy4z||/I |xk k?:k~7Y.IXY	d(riI'58?xٖ>Rd8nBR,aD
|<}kO
!b-	[v^w-o|~]1oT{d<Uy_<ZǓ$ᗖ-7i޼1\hx6?Ni Q3ԗ{@+2xϯss\-3OA"~C~;LFXU/2A)ܱGuz]	!.yZ㕃e 
JмiCh#v.>xNePegYA`%6ʣ&s8TZk <D94=@@킒@h@fV&7iy^ <_RABB!@ul\Ͽ؊]A@@@D)4SF=MCۡ矓.HJ,@L/{ 'v '2QRP<,%%ʊ1a TZV#9*=;_ء˻lv|(՜Zm?OKږŌn9~]s/D۬7k銅R3IKNA)K矇
Sj#. ϿR2.x/Ȁ;&틹 
wzT!₢>SOꈼB-ًS0b߃R*++:1FLPKv~):t 5  !#yc($ :>P7>!8QBbc-v¯߼V2S~7p`V* w`"ff6@z07b:<\D/:U$kn0,yc|d468*@СuVuӜ7]mGxQ F6s{WVԱ(7=?ujVm7oذah<	AQ]P0
(zչ[N>x9\.H{_\	3t&ۥޡ}vvnabk(ӣi1sC`̚d:~'	#;o7.S-Kao~_gѨSv ]0Hme4HMEBLC^Q|R u<s8@'ƍȓ%y
4ZrZ;"{VR
LA \ԕC#'P9<	 4T$GCB".>+;	2H)dg^MZRp&d
Q5i+
jZE
炲c۬aה:7(*\>(C)EحaPr/2;6W~@&LÕ7i+V;hD̜?`" ~{0˿m |@t{PP* .;_.+LNϪӳ 51yjk`uq(. c)3&:}5-'ϙC5С
s#ݺufC|J*/ez!ZH7ja3
`$1B΍]_${|u5 qY(xѾ?I͛'ڴEVÔ$@d$ > \LFhxo?ӂxŋh~P_9zuMŇ> mP4$ 
=Zz ;Y}T9V,ZkCàS6Y!p&+3{Y`	,Xs*L^w^9Nx☙<	{Nghq&rA 4]vBG8\Rw9ߥLC)@F0<ߦv.pdV}9)Ϥsn=x]eY#[0g%
֠z6mt" ű+c@|G(:Ԕ4mMJlQ EB}2we^3~YLtvrAn螳{uFzM@hɕ~@Gf<3<ecs-(VU!0nJ(iYŖ	hT.ӵw O0ìp4%	'c:8x<\v7`By=H6hڴi],+D5f}6eILQvIiSYp_P[KSI̕TDi7nqxi/F8rM>3us*DgrTʯs>ݛ e=CGQ%h]A~jے{e5LeTdg[{xp
1z:up}LuwN0pQ<~m
`dcA1g.dk?[@sh8TBhVN կay)2(CdΙV5 c^}"{9k;n9IҏǿPzٚ^ع7@6Z" m C},N`<\s/"!<44
DƟ114I

H%KHIH P@#R9
igv܆? |
lQc@{ V-+ƵeO{v|q?YX4QZ !5y?wGg<)/zpl50yX[S˔ D9ǹ"ʒ 1:YeƁ/@ED~{H9N񏌻g&>0X3gI
&!&r	x^Y Pb6P2MaH! 3x0BX@[ rOqquz 5RI[wJ U>;p8rơ; $Ƭ[
m%VH͑F-(Ӟ<f0&0M:e+")=M짭۔{eBBҤF۳ߵ-=f8eInk,] 8\̥-> >83q`4m\63	J@$/O
4q-{i~}`6iҤ}qI"t@jk-ݔ}b.ɿ
w_r"`(--O@jv#	FP-j VkG..S5;L>ձI57Μ_/8	q8I3	2Oa P)	ۜ>g8vh6Ur=!K|A4!J05Z$ʂ	#z42ZYEdhΓ-9@#v@lW-[	嚔{lc MO%/5bUI6h6e	[h_W͡2 i h_alǷv8gQHH '.+hCvmr/|A?^q3yg"O*k}7QЫ_LnsMa?m "׏"cTTr	2W3wO?pVj*x@EcߛA7.4	ᴅHd;<".DG"p0,y£Kl~~xv}8Wl$j&SE_uJXN$tRGp])}9O֟ekԠ0jjmtIqq[-*">7C2%¥9G0'(/>'GϡeO;n:ȉ(ާH0߾#;3ffAF݌ݨcߐ1CyXw^1.KqBk+cԡXe*ag
p&
ǞEN$2ckQ^`3}8ӡ5Br{|SLZeAd		m~Ya
	4d\D֪A\Ђp2  ^K9ZǕ%w}qEYIqop-Mb/f0ldf%'˖?8i'?ǹCU6
 \8#ix5%!AWnEF4tm:}q$&i"j.}-f:<߶q5gj%v.<x7hJ4!UȚ;;p_Q$C_;*<:R2 PBrp0CFP6C֛n[k{kpOYz-"GD,O11|g-Y"(ii:L	-;C̬Z=DR4@)٩Ҷ>*ڡWVh׶aK>nMuЩwhذIC.q@*REVR;J/|mǄfš=E߼H͎9R\
w9V-+**|/w|
4ѿ\wboς85\zv?_5B~ nQI1lǪ&=Uf1Tݨ!p	'6<bc[stH+Q7Xv3֋߇B><	-<3BB 4 Yckڴqk1J2#ص4sOMHq5g$8@!|i7+ m2~;oEFΉӢ=8/2~\wy9mwM#AC̛5N}_l\˨r&Ria0#A2yo. m5ŧwjPӃc\
R2NtH@iQ؀؇j<9Kl&Ғuw}٨6q	~M\ERϳ)(F*yŤ1(,0P)gvK2)LϜbݗř_ 4a
ƙmgvw%jSa7Pv-2u1##	A.|xV(~!(üSRn#,T%UPN	]4;? 45t
0x̬nоyIص)|p8!*DB0O$9	8,#ap:qw^ ئ;A-ڀ4ݰPu99Uր߇fM	!͚5+D݂Jâ}X:A/4Biݸ?ʨO8%VQix}k}ʹ3"j:@΂e#ځUdw-~lU>I#ƾ;IIF鈃CM]f?4r
w˖bu_VQxGڤ	A"P]?:T'y3@\h0RTCi$22>.A
?-0EA$2#CVGu
9tv	  bެ_gyΏ uTL;A1G9<*JF D(,mGya>bԩ^ tA$S'n<K8?yݞ44 .Ef;u8pVeSBAEYʞkWAUiݱ$<l.3biQwJ\W{߂WhPx:
K|s9\&q{
x!@Pucؽ}OR䣌¼$fCBFSPQcd$ǻx)^=HOwQ\FL=X'T[BϡhռsW@I<
4AytesYXm6zX
/O t"28QKug#NBl͑(n%&LE`>Tlbu4ebh%ڦF<k
0]n"5ևa2BXD`$|wQ
[]!IH[H6"55mDek[{i0jէj(NV]bݘ4C0݅#:WD>Ccs^J,ga߼ݭSnz@%'g(̲x>MA{^Jv0Xygv4%yf;LӴ;$i93c f+ǵ&V3o=%Qz^r߉溥}3%b*[
ZMkqNPDP4h]=<{:X1y^0cm0vL򙕢aX0Q|r0
jE jkSB2	lٔk漼Wx
!ϥ񻘩:nmwb 'xBDon<X8d$'v"0P5PT&=΅}Ѷ])J<98P~z$|A5'-LR	Lo9߃zFѷmj[BYN,>ntypF|k
^'(Wξ|w|J'0Kpx-nPwx "W~OO=p&8LbgJ-l, BՔ^T`w	zazRiTKy%./q8Hʊd~
t#D5F0X\2 $(!J.YP0f	NJv]֩#)!.@}仃~uiAs*m*;\cgf,v4r!~QE-YKR8gtS5i.ϒ(Js<Pkdf沅aʕ-s3=eƊmX7NhP*EƗ22z@Y~'WN}<gI IClj,KJ*JK7&h@r:4Q˼bկ5H`scnT*EЄsr~twzۻШ։$_rN?#2(ʜs vg~lDDaLȊ<)4`<ר@~q4l̟uyS]l$C&й	8X?o{
@=
	ՕlFƙi |i}&Yy@wGFq0q\W:mpKshz  8_t2DR륯fmZ^{'WQ4v
p1u.L	SQ̭s )? x@s#|&=g_D`ϧgr̀19(;z{n%Ql٘Y'a^A\}q%ՄTME?ة9 :orR#WRm(XaԽs82aqf
(a&$ PgN։"%+9މZ9~,5CgL*@.u<|P^ypS#T@OH 3PCQ60xZBՋvغ}orPҰ3G]ܺUT-J
_Z-<|k*[q f{rq;U@ifI T]Y&M($[P		B4,37bo.6eFi3AFc8aDCzFfU*K,p .Nt_AǎsCkօĵ~P={I	sp$'>\IK49A0?~cm^0B$ɥ'unԼ*)) #ZUswW=`@(a6'.&Ohs޸~XDǢ
T<cA"AR]ϙ+	lta25p1/.9p.@ ?sWiAa UsUBLJN*!a|3[=XUbjnۧd4t*"JwSY۱o%^
"2Ӱ!S 5	V
^K'w1?>G;pE+%!s$SZh(a`Ƅ0SBeN@t)\|#w1޷?qB ##=՗jyՏ$\6?ġy\UB.ߑX@da`Ģ&a3bvu_)C!{%\QR[Gқ)\ҠAv%m;S4ڰRT 6>olYY&^T@yG
xq'`p@I]?{kǽc\Li<vg3=  Xm^!2	;kD C7@l6l~9o8hlSh~	w0jgʎ
ZhERofBj6AA)병̪pac
gqf&dћlH<m;U+Ewuk~֭>o%L"yt'N(+~,f	A7Ź(_/uelbrzv{
w>sKI7SS:-P_etjr2D6?AjE.a`PZq\CC*ŢFUu*):9
1	qL`a#rr9lvm{8E}>
8g>q9mApjۈu^ {fm$^<<7\4}c$bOn:4Oh]s jحG6.:r2JX?[~JC	o&V3i ܆0
b4#ݦ;Dbh;%,73@𶊔6ze%JLJt^a?%&x?e}b"x0R'8v 3		@Yj+Nj'ه7dFuD*|qń
e9B$]>\-2?`&)iUJ=ڼO>N|βyz=<BJϷorͤ"~}׹f;z
!S;.ŭIJJ3|i`veU.܌!z۹@M;>[pHZq[D=E:;0ht
;޾}ӿBH??p컸ysÃ,`FMrb^aLM1ET}ї0t.,&iغn֯].y-gx
+!4# ovϛӊ&Lʿ'8)Y[o
ѮC1|,NkL^9{W :eIDuCP8(dO F}(SLqr[%@B
hݪ8W 1&
PB]XN% ڱ+)	[ޣ*jNCbs.}#R3⼡-k<
,Qy毛{D<ˡO9GZPrG"7CFTudِ̧<5rs:;;Z}rp8yy
tek eQYp'%sw5朒W( Eagl	SaN\03TQ4ҹq.M {?
4h2t]@OJdy*~d?zT멛LH.^yٝ WȎyWZhPJ2sp;}TAEY0]sWa!hj!TPE]{¢DYAz55\6 %;$Mڧ2/2%k_~:=K9QMhv>qu66,K=o|4l~u.e6209֯ۏ~zh-0'AޏƤ8\VE(gI%	e!=E幢5)ы(<4a  f"!3Jtx%XrhU(=1cDMNzjk3|	hDfU(JO׭`Pob	̰}i23b)7g(LY<j|- <VC_v^#)QOϛdCe9.\1@yPyy-kqߟx%(\My铈N?;w<Ҡ+)YMkl߰]9;8"?L;WcBSGu;UhsTMA$%IyODIɿy_?:  ZeWRH։&hzQQb#%(+XL=>"mg`d?*[r!&͒;&2[lS/}I.#j%5+֯ߏݻ_8.Nctf^T-v2 d5ı75KS" Mh	D'@*3,	#oՠ()e=
L([4<PE}NnMNI\.o{rI
f#p? 0b<T.'(+)۱cg S>8^6mO
J?w6cO)jJUm-PPa#MYBZIR6:!U
,%.!u
x8D}Tu<2T㥇Nd}RPO(.F\yjTմ`?(ϗ?`F䍂"3jAqcqI\dl
H"YTP'39;pav2نci_rG%[1fm(&vmqPRRw;#_/: ʋ
~zOy^5mJ[h8f]dGpTU|
 &[f.bl^4Y5۝s^R\`hFFJ(*(Z=큹Nqy'!,,I`Vv^Q-
i\v
[@s<
uI%Z
L"_ZʕyL E_^4uS`AFzpS{\>W 1!h0rÐ/,ߝWrx˽;Kki\)=^]3thwzN2JSVEL
9ڵ1DBlCMqUŉ؞0}yOe4rd 5seJ#zሳPCAH<X|H*.JSq=vG[?xzRw]vAt@,yn~J4	iMyy@ c
0FPcHN1%*S<xj7k,U Ƅ9h_JcA䀵,yw*5&,<4J"1B>ʐݪKv5hL,َ+Ј)ܺV[P",APUd/ޭ] OWMBsX)iu,,bxPצ<_	K
cӍ&Y "la]Ʒ󺾳́˿u.vͺ6lڂĽ@b)l:"| ++Yhuigu8|0NuuaaI4p)2y|Z˖-__9>W71֛/?V\
pNYzvm@;	 NQ6|nwƋ8|=6.edƎf?g `5XaIvGmfP)}ޟ}]ܖ9$"ڡacAKK<_}J:%="PXT ȎukHm8g'(oӲI2P		u`Xg(ݎFl(i;P\ +rXgkwWKJT⢢y|Ͽ{HnI)gma-j+ZTᔢ7]P#P + YвϤi`Ņ];taH<
>]7bqhĴh/fx{ᎹWV z'I>儙s5+I4$M(gO$Wh?|={;BY%fAk(F5y }Dq^=L(p{^^5AWlP̽c}A E
mHHkxTXxT9. d8+%o'N]ZiJW5 PRJ!)Jʆt~f2ģ53]"w_6ƴkQ6), ]GѵzYXIJ<oQT\c'`RFBBV}K~)Z =*'=;m9

nh\Ԡqe#!✧  <F'URڗ@E-.?ͷ?8t(?Q-R4y@<}UHKvUC}<yb[CSTq=v:{Apeغrׇf?r/w~'yBt	,
R?2ƸGi`f.+d2;oL14 ̺Km&vk6byIk1|0mc@:F>B>뤳 8k?
?Q 93#g'ѳ#4pydz]8P*7B{ҵoe
 1Oco&d&I'~tz;3p( _7?=f!z(>>WA̚iNx<ums{?GC,\v"*lr|l2ƴُ<$Aq(] LF_(Ǳ:^}ʪyt0l<'Se\]W]X$¹@"G%Şeel;%C<lZi HP!J=YZgじS8{&~]F-bPOpgZWk⪀YD=hw<QK=dȍ14Tv`ƺS $;^gZ qȨB'qE,zC}*jؒ_OIZ
̀CYz>b/x8x8x8x8x QEV."##7:}3Fv jwZiq]_"6Ƭm>mKO~ȧUV&;f1:N 5Ap<:z{U=8_m?9IO)z&25i0fr^[(Cذ/|톡M|8.*BU 㒳 R°_z
z??ůRu;5b*h 9=ja;>s) 6HqWhoc>t]@?JisVW,	Q=BksMAV#Nkt96bqc>#UnL<I/*b<"
p<tm>NR; q~;w֍3aJwa.+'0EC9W\YolSнe*`߯xH`,zZ[uyoT5Oy$c>~_x(RfS@r",x2s{&Fub,9O,
Hmų:l(T[_c,qˠRab]%1vi7O4jLu pB֠=˿=WZ6_M<ϐXzxJ@WRڎ3FuLKII0 =;*D2n	1nrxAogieao"Ir|H^[#Ȍ=Fwb\F zr#m(;jeQѺ[<vWNLeجJKP^Z^U^#۳(/FK.a@p~GQXZ}ج^[[8&>)y#FG83PJW{3gCVϱ?jؠj-pK
j _hh
CC?;,AxCdئ1v9\>yo7o7G\vۃz? #4BZ:38Ғ\6fx{;/TU3:h
?fmL䭬=M[$NH	X8_^^lȷSҝ;StR󘭏PJ	|2ƈ=O^iOa(Ӯ߬CszbٚOؽYrkةF/"x}*h7n٤C45鿖'9*4
i	؜M_z |`O|	ㅼųFƀq	Z6n/`NgFҿm$R?TNB:`A/lS2ޱ)>n|l]A޾cx'
 Cwk`VobP<
943  )މqg|x	6?xB5ڏEj@1*E';4Mnn.F؎ii)4MkdkΔȚ"쥕Xv+P.dbDE
縢R"	!E@\~N\C%LSK(	]S"
堐qKePe Zi]3P4h>y0ZvV}35~\S}ԷoW>X<h9`6*-l yQuE{?乃hI&)\Am3ćuy9g*\y*N 
{.⟦ez"456H7!ח1]>ZOW,(q+vᄾmD~ N8w_x;6KhTPѮY~_p9J.=7,  ?b@1n 1fX?T
N*{ 
0uGvF8kX]~Rv׹ݳ xʪ#| ُ/6RIArU㗧ǀs9x	

Uy{"ɉz=Lh2qCLA~
y`f 6J>0gec;	UhLVq#M2*
n,%X<G|ub_6]$
g
jHvT^Ź=E l8ɲo2Ȫ.PR*yb+YT
iS}ԯr.^&SJͣP֍
s	44Ys0eՏCGw+;4p$p	-x!n'e׌)|f$ǽz4GjrW	U]:wx3vيNz]7IGjRRX.ľyHkp4kN{}Ԅv ~DA#(|~ċRCV$q\JTzpeTN׿ۇB!fnLю+zNCeǷ l+E-yƺ0zZ&d9^gax@l^v!3iWOU=)fR5#K|P^V$d4d#<Zx`x..,; 'U} 
mڵ
zpYQdYڋ~;W^!ѫp
r}1uѾ(W^v饣a#OPV76SQ]F"~ʀ\Do֜P?e@;l|e"GҏKGRB`J5M@@Yc}8>X
tJ 
4hQTTsМIϳai1zx5g#
!As4LOğw;1θax/p{=2jL.WuƉJxX	\r*@@7 ઙ#ԢaTwNQoX3H<;NKgШ tSBV8k޾2;uLpv܉} Y3)hE@
U/ceyee W&gQ-+$+`_]$i)yq1qSQ<y6
~тz{FRT;QiAJ81]SևRO^dU
΢"PBUG>6989'CRU>rF(
a^2:U'f@"W泣N\sH2i~H`~_Qz<T8:c≭xQ]5΄'2pN݂baPhLlm~Ñiv|%^u$طS=kzE	C1c<w@x}n h( J9(cfE"wH`LEFV>:v,.CT!fξKǇuI֨t:cZpmۆf5tΟ
Sɞٳs⇏Fηߣ'Ya dxܠtcہxnnԱD2gnLև|6J} bP=2Tu
-?hC⩶Or$;D+uPD'#3#qd4솀?;&~Z;e(7RVVV

y"="J^ c½1Gqvqi6M
\:]Gr+UCͅv)zVQ8Tp}
p`C߯!E$ !aP&/pq6)Ps%Q/Dbol@m*@$IakYN";2gwvAq0ah;ܓl fw9yDkXÅx*qRE	 &l J lC`
23%Tj@vJ:ʹO,KvaL1gcQTZ^8ai!7ױ#^w]{|S~@SNŞEpFἉXs9H@|F2xEg\p:ձlc~g^t[gc@u(+i!3/eWXgpR,S
RXc(w.ǉ-gr"P,vQ9y ]V+S?eij)։j:ևG>P!:KoQC_Q9JEi	т f}L69X,FrLSX6i0EZj+;G2E?==&p"i2n]D$0~YK"bҎJ.9E
3
fO&
tE<{Bo2m
Z34ABEy;_:~e~|(+>/>e'g< o9Џ.TJaM0bvc!첓ؙfa%|BA5kdh I	qho{Xg4@o"%2vmV (އ<lG0Ji(kuCQ7CYɰQ,k(Ry+a
W+v`\m1u~YGf^/Y'wPd 1gF*-rfퟀ}t_}H@s#Z	
QGT,ŰQ4pa#OEQ5c'BVm\X)S ɺ`T,%Le!jcKs
"SُFtL{LYhm )yp]&cV>atl灮ш0Xdгi_zn?]h]?9S fMee`oW.~;oz	aIJ(mbW&XZ 1q$U(a[:aYe4,<??Eb0v#i!UZQ4jO<O
EނP &ƍ;*m5C
Gq͖^B;y~]9jj8Gy!aK)g@I49`*xsU*d9ι0?W?b4-z,6f1ۄ3j05IZ
 ?$ۅqSt+ԎC[*sdfԜf}	n}p\0m9D4#~jWSs^jkc`*UXٓ JkD};,|	(@ĉEDFynP?bHF2M
/
CǇ@@58tNBq{(3y&W{ؽ |
%C% iWU~8J)Q`Ȋ7U
LD%i^`5^lQVY663[ Ox$!G(N@kd(92m0Dgg5`c_a<tm,2> 
۴T.N%:VKcڗ`GԤ`3;U(Z}x(ƃ
4"\'/aM22ii⯊]*aYs]	Tz|'e^he<q)
U|]ZrPx
U4:PM1^l^/S4\ԸW=GZXE0Sܸy~xdj!(UZG]sWD~fk՚PYj]#kfjj|ԥ9bVzb'q+!Fjr<KkNyʴAh0#
bzD1J?Рv~e딦Mncnf1JbU'
dH*86`5/5W?^
(,L7(`48Zl}cs0@V*ݘuYd4
WVs*nN w?hNŘRӓAPxLp % >gU8fIB8i t7+)tݎFWøVZ&i?V@N
8B\W}Tp 'S#K]s~ ;゛G֦4"!hOQѨF>_O pT#O9SlvT&?<j3S2,¯ώ2*[`w۬Y"@C>m¨B>lD~!b#hm[Gv/jvkf4Grȶp9G`rMP1-r,'f8&m+W[NT$h,z,K>9,EL3,vhrP
[F#=ѭg 4bqR9)8Gl@$5땓&l<gf!<26>ĵ`,U`Z @YY "QMPh2#qI{a^S`9_	]L41m1
HTU$2ֹ>Qn@v}\4='9./mb%ppCf#Oae9[öqS*
Ey#3 @@2AX+ giqhI}w+w#7^ Sp&NI-$$ia.ch\oN]}wE4=aj"X;#u@܌s0cb٘)6\2zh63EN5K#%$Q5AaR22$95 )OXx;x L
aT+FkvfjјY0ƙuRCØmr
L,F0<ӾS`G#")ׇ284qhkZ3;5݉ncW. O̘p?<gVG%8lRՇ
B.g޴ov4璉T]
MӪf>.>j}Կlnd!R~XLYMJX{dX(lLE(_,yxd%/'݆77fw!.Bk[D*GE
\cp:46'T+@@5漳gT Ud'wr_L]舩wa҈N:&
8`Gk#jjQqX~{f?60$ҨDԢusA&ڨti^Yu݋Ώ?Gz\
0lX4,Rdř!tbp _o	[ՌePvd5D*.EQ;juaV+<n⤎Nh
p`Is)]?vv4zDQx&pl_ֶ>d_;'''gvK^RR*!$]~Hxd8qzήd[kvB`v~VبS!R(m S&kPL&
8&ʅiV&=s}xA}뾟=G	-ֿ\=3h:<nM: ԽJF_N{768cw{:=TpF d28 S.@p,a!Ax)®QטžUl)LAMjP")Hm,AFepڍ6+6i@f`%R#:q.̥F$3./o
JѰrȮOsg|'>jU*3ǃT/aş4MxG"@T2ʈc6jY
\^OׇzѮ7RA{ŷ[U"wy	Y\1c bp$bD 
Xh.VY
pEAS^cVaP	,֭?hZOeAnC8__P:+΀wnߞH}劉s @ԥvGcƘum 
lPh`T%aP2
Ch|HwQ}~[t";En1eN.ہ4xL;[m?^8bi#YK*φ_%HaP<DTw%hӧv@F&(W(##~a 0ƈBgoG
D	(F૫
W) xRFlQVgJ)]W۹m2;Ҥwxr]*(0?kS[ht2Zsx~Z9J=,j_*W"U鄯gG}^k,JSY;h?U
5|P@Z~JN=a9 ݫڒqa}.zjfV+<1
]r
|53hELꝕLz}k#?=p0EՖ̠,"`mC@Q,thx>t=Щ~
|`l&.\yXV\vROV*¤QvA!]1	 V;jl*"UnG2b
J%!a͚![qȝPVm n7$%"s:ϝݟ\	r.V+t`4qD5$BE0]	 }+^^"11	~|Tq/N. .j7G`I
Fup|]ʹ ADruw`}DH(fJ,k-A>ѯKN[}ԿB^:ӑL[x3ETO3jLDrѴ5ɊGaL#/ 9 r
ľƁM%W| I]x4Ƌ&jyb:o<W$<+ ^Ï
4 0]:5TB">g4G&/;cJE*N A h;4W
Z.\unƦ PoU)h@jz: eIHSC6߁`!bhhVV4v\<TFѰc싅SG7eR2~7oq̈́fnnKH~a.
w bmP(j
N}3'jooև^ u]'j*Z!P3PNd]|l'|9kGQr\_V +(n8[;x?UrM_"ÒܦYh'+kQe;V2JHhTCܯ1?;tw >XX2#?uIPx!QUVG[HLhG@]G_pWxpً$@{W ]Ce>\9@ItN2^"PUT؅djxdA&(zVσX"awf4,A)JC<'kxQ1/LFϋ4WOn./ki(UA\"mffOF"Cm#s.V~G^9a"gUv4~R#!%!vضU12U1da۩Vg[i]C R2Nt݈fǈWe%X8We:T/XtDLp&$wRF#oߡ&Y
*+-INYH5YHKt	AǖqH&n:ӯKWc)9-HKu:*Q}5;X>8
t9;S[hzr_I 4
@"~6͝ 9pAٌ^<فvs1e6LLN @@cv{#I0F SBmYھ{'*?6_' TR3N<FO1Z2_n!K vC|fIz'A5KGBh Tǉ4,?UZ=
'  
q)].Ѧm$#3	ͪpՀ浑ߴ_.e?$Z?>TYf}ԿXF"~}\~R|1s{Qr\{jW|9{"k7
_qE4,?ؽ]۽(mG0 w6&ќ
959`'Y!Cz4F +
*q֩0uC%j8 ο]6TP>i[ sH|X0] Zi0p$EõzFބ}nh!y\.? ok̾	ǿlxIU\8PUZࢳH'WQ2 LUEM
$X,
?J+`v>ݱQ>
5UnY
`"5xk✅  QhURWF}clDUGNCƫd4^,TD2Ҏf-|>F)(l&$%%`Z
fʖ6#bW;50bvvm1pyX4{sX$=vm7/R rV̛=2=.[謒jSBBzG>n8G,Qr \nGrn	UX=r&5 k7 3 9@G~x馫N=wֆJ8y uj{,
=>ړy #?d8Q/J넅+(O*nAm&N1+++ʶ&0i5#=ݘtNKEVqPq([R5̿zc껠:	sٓtwTb5E3V).nL	.̖BA&֢a.T:l}(_'vj5<.\>N ;b JS͈|Xjc>T)))ʎƑ
3dy~\!GKƟ`7٥e?)Fa|TL-@?l;D,)EA6Lgz1bͱc4pm ,.ۮL
vȋ&o4 &,%vN﫡 
I:uSqdț."Z
|;Grx@,?Fok.+쿧s.a;20lE) 5yR;a'fp;(V$_q,1Y*pȆ8Fx?nj
 mOkczŖ_<IQ1.DmhlTz}]D6@,y @;H]ifXwd\=
Y;$5YV]^$%p-ڏmvKQYsRQY\Q)sv\u(b2x̖w[T8dǆlnv9v!Po۳{kծ-i؁~_. 0-\#agwqΥ?d ^e]hUQ
vl:<e}u0L++Hftt Ou
Q
"E	*򙌺ypG=_I,Z	 g(܅7/d4o ";Ud]^[*	zJiv͓v	h}G6~zǻ}`NǇQ9[gf"־S,@8E?=ǧ
+IyB\	W${?ޑ4  HU%(d6c?t?W}cqF=;cm q :*2q,c>vE>5f[QOMretWsn915&[\id1ltS2Fmpp8.C;BeGmr<p<p<p<p<cg1b?gĤ˔Z^x M]=[s1R+dl"؄L1J+OE!G Gq*:si`@W@cΑ9ss
t
ʽ` cgvji^+g?}y uȱ_m?91f3ln8Si( 
n:Auyz+Hs<V x8΃42s!)Su^2/<>ޝA唧LJ9Լ%c?iϝ;U-:2iL%&	M9L H1|_EE;OYȲ>ބT~k(;hQʩ9Fv-pF^`@vݱ G8n`smgp&艺ogtUqAƛM4ht#n+ 5HuL;ccÞG?yOv?7-yQRF@9QNdKy?ȓw?ˡ@ƭ-<qh=yM.'t,8sR8Ļqh0F慦HkMH\B\fޟW:>DZiqk Uf
p9AKv ?'~9j$k<puѩ+}VhuXLUzQXǥpBRqϩ!ٟKqCKxpƮNrT.EdLjG}jC%'<PʞHtbۻ#?	 fnM94qă)B.xgCL~9Flҡy8k~BK_Kspڐ6˔p7>%6uܸ3\g0N+>\]G~)լS{"d L	.(I͖\==u,2s3eTsK bӞKs<lƂn<!&0&]d Obuw(ޅ^m,Mܹ=6>S{u]-|֑5-ByTl
vkilF[X(4ɃrfpQ_9a{T]7xc!spbr,xk50~
yybGxunTR]+jӣ&c 7cE6dx0ʐ'7'
V0έn8@l+Աi8qqӥ9
Cw<yɋ2cp9 HMR0r-a]GQ*dUv6n{.B2=Ev仿Lℏqb'[<z^+Cvm)@|R2\	p: `4q0T$?e~
d<r^G.
˶Y2khT@sB
PS?vw1^e
xM# 3 jHd
bّhT;耣'YmǏ6#:w 1 P`ãA<"G˔9LVݜE>sI+|m35k&Diz?\5=BHݵ1C  ZU*E`QJu
~<3#ARO
NXbyo|NӴƁ^Gxm*JQ	䬡
/Q\J@I݁:Wjpm)4(sչeP6yf5yfk\U(0oaϯ_C(@ZY=F_G oOf{4SmQX6&lBB4cxl ?#`P0zTNSW;4>WBӳ2
hmju=Oy 	Y27|%q#@p~jD4Ժ)̚=9^"eZilVvDL| "P	DCP4 Qp XG
hNJauF Mݗae~ps FDWSyE
hD`˘2{5& :ZuNk*󋿖Ӈ-HKrgPGOB|45z4q2	MSED3 z|¥5b$WNIr%rl7߾6 e1G'vxW@V떑9\tsS5YcĹz@oGcM _7 Xo;es}-YN͒My`<4=$.b k_D <)	58{Vm~. AiǄQ](}0O^	s]`*/rU0Y\7aNP9tF33ғ`IjաNˎ:qp%%#1X`+wW[xKJ%nP3+&h8t4umSNZ8x̔{(@ Y ~Lj|rPhDi^MF	dslTUʿ*r^[i]['u>5JwktA[Z<ۆ).M6{GN>d"L8D)6ތܯLH@?pp{4#-M4	6{aRIûRl)T;yf= }uatyэkbc(6!W\$$y}K,
40U6!PS:Q5nľ_1 >D	g>Jl+ʷQ1 SɎ}wk'hpꈎwK>;q߼qWa]\GC ѡ!u+MFq6@W_oo3y:jAVjڽ$qM?Wi)㉟d)Jٸ֣Ӄ Q,	E+"ggbCj&,P+~UFN̼#)9	ڷCX^
US&L{n%mS)Z؝jvycbPVK{N#,&`ֵ&
2:h.|J/7
J?z)
~[/1ym</AH;C
ilJnjbX6@L
!z'"h؃.ɕF8sHRr׹ (
Dæ
ѧFH$נ?aF߳?ÞAafX484&Bﵑb'jwx߼ws$A8y1TGV۶2Vv' AٚžG/|al zM@

ŀشvHD)4SF=MC;ssХI% HPj<6Ic-an-
[ꊻ7g>rﮘ ? \h4fy݇CzAKq%;mVЮQ N(-
]Ą8\|	e
v/8vˡͰgb B~L C!}I B5|q?/Hwy਍m	qΔ99OB^jBkݼu du/3@痡˶O
wRXkд!Jr"YhNbEe0(Cii_9 $ Ɂ#jLa"l.EeN-R1^4az	!?`HT7`ACs~#
4ͼ0y܊=b+4h*xt#d2ʔav*OjM0S&s{-tl^	Jȃ7ftF $~wۇԣgOA$ħAضd.v-CZz+x,4;!IgO
F xS?NgLժy"Xͫ8?hJfn ^SN`L
ʨH7B LBD*/'rĺ'sErnp23&ҷ&ԛT|< tlZg._w9y݆M|GQ/QYdEDSǀT;zQ"\i]82P1l \RE߳)ə`0佊G2
,Mƙt9%>ƟoOFaϩ:>(X=㟸S.zyhںi9nfIȓ\p`,XK]*J+:e%$^ Ru
^b[ʙj3)y*IUYBrj9
0[5g xo|J{?v<97 QkqiO}9~J8e}*`q hyS~9¬nBP*" kv6F~I`x+S`e91@ԮDՇp6&t@qq!**+ag쇀ۢʪ}/95ki]ٴ,yp>(ܽ	q&N5tms
lsCI|#>7<\2	)H¨`H&H `{i蘙HJl
X(NpoT?|\I @)eBq ( RVع`
=翞8ᘓ
0[Aܯztjv}__%w7ਿ,f$9X2+Фwo{ꆛY&p&&?~FXd#Bl3%ACr4.!-`nr0(('a758qKC)P_y	^zygz*@x6\,N}ob)Eh-ڵDΎ Ǽ8km6HLԙmgbɂx˼nd6o&-/CQT.(@C3eز >RHtip9IhFHDխ|x"
+@i"Ta3:i<$(ƨX(̓&@3 *0z(Xd3yj	B)!yNǚ<j2(3[Z(*%El((i>Y(TaX5d23 =k
vrx65=v
/mlǆ^ÆIQ~!RRϱ{0Ѿdl#<RO8aL88`P"CWc條jocI R;2TSpJ&SRpN>|º@Cs80+94mK>7Ni=Cap!RRRR@4| X}US]%Uf9qbwGJMc;zNt&o0VO 9qӵS_n_ד0/8Ҳ $C+q?׭v klZ~P9rqҫea7@jQxj3"Ңv9`$pfk%8Sx
hh}=L<|#3.} 2?7WTxz4j8֧\EڙYqHHpq?+Y؃M]T WYX|6ڎkR?Hul1JDQ{خ9ǢE̓4yfKr=wzzwt9?yd)vϏY1%) V'`1b2T9"PX$}JQ2v`j}W.*>D̝LiDD=@3{e?ۍ2N=t\xIX I<6mtCe9k ˁ$q	P	<``J5hJY$H FDp(`! L
N
QQ╃$'B"N'RBEu. ڞءڠ5J!<L8@43oЪ2.V	O9d4cT7ab!KM%o:|eBBҤF۳"6QYN4H|M J$|;
$)go]pkx׬clB1iV7olIN1:Sc K6N5V;"'!8vlvgF$0u7mSKCrj 48]甖˧=hܬns8+4G=̃囓{$픉첋(b4:9[ۍmHCo  J H Ui.Z | 0/ԩxۏ?4zKNm~38QcL|b	X(1ɫB,'vq1%j)7
THw2Sǚz}Z "ޣcG-ǽpE>cz2Pw	dw ̳pe\	N}
IZfMHHD|jcu\ Ɉj$WK@PPsNdHqpwJ*e{qY|`Wvsbwz
%L'HpIr3QAbQs&()c~ٟbgx;3%$BtUƃH-ի?2&H)]1(PTѴu\23e'\	O_]n.|eW"Jnl犝v k`F-Ċ7'@Uu]#DiJ@r(Jӈ-m&	~}[M`CۧVcy8YkK.5/Zu@7K5gly@; dʏw5TVP&
ФUdov! pW{-%@SNrV[ q{+fZMQr 2A]S(ǦضàLJl.	SnsfjW;+	<}JXZNI)b@Q+M=+0BKW|ġnx?Dib~V/ 5f?
-!Jsb~aj}G}"ϊE:,4ɠ%#C-e48T4SB$M*uGtj3Js5}UW`Wcd#w]oga/q{.0bt+4=
=QP849@4"fR]F|^wGs*"(/(B~^ -\YLQ?uƟ4&n
`L\u#̀[/F
` $DHk(|AbgcKFCR4?EYxQug
 t:6jpY֧ڭ?\_?=d\eYZxQs;  E ViBU@ L	s Q !*,S`ĺa<2Kv	pmcɯ⯕QTR	x,}Vx╗+˟m%%'6iޡ5RT%r"!!n'$%{̃pqdy	g$Mw>آE24OkbfcwGiQ)Z0%*d`DjpIm@
.44ѯ4q.y}yjҮ<cPSpnq,b`sj70<wgfȾo{@ݬ7@/a,@;L #MѰ#<Ĺ#%BY0^ՙeT "H!A`
y6OHqcZfVgD(M=6Ko3Hs6+%mí~~
]YtHx>B]lЩl:y%
h Cc42РLHeS<EE!
G	ōaKprpΕ/oԼl	Ύ{NM2NGȹ8.dS^¶E(HB899B4.L쬓q.JBRk`1կlkk\?Sfw~tV)~!&La)mP*("@aХK~1@R;  Cn@[p/x xc[T#a+7/nHJ6 B=Y5F yH!6ch=U46v&\No}}A$(4-.$*Pp%ehڼ!thܶ[^pA!5ijϬOaͦ&?آY:MC޲K@ca+[^Ks@?<#% N˛EtZ;Kn&hX.V hH<Y㺋Rv,0D<o5缟s2 W
 |Gh&#bS	@IM %][S0LK+`a'?Urffka5x#Wb1Rܸѓ|_xyLs]Evqc#YKdY/I@e\1Z7ox
l%*Jpj)zyύC;PՃJ ==w`HGvDQ)UN{P3K@H!j"Cgjh0r*`o`XNh%ڦF<k
0]71Ϗ<hP
NQB>GVB)Hs:ފr<f 8 Nbǡr 
*OJ͑}n
vv,'*e$Sc$0SP.6ٶQsU m͟s:4;yo@/݂M7!{7`ӳ
dTosry+ U"h='<rgv-РyLקKܲy=7W{4lggL.Y]RC?d;FHoPẏ8'.)uQ*ׯ}5Wk,)NGcZ8Xm DmCL
Q+(gD
naDӬ,źϚDT[¤ VvI$։
ԨlrEvnЩ*
eoa9hW%X}N
~sa4nqÆcǒˬ2%W =r#ݑ849(RlDa@e|epÕqɩL7tl#FY&Q⢲(YLt aߴ
esHB`!aM͡	xJG2)p:\^,Y?^[REyoh;bfw@XCɡ(/)̗2Ӊ ~r3gEjQ(.deS6[T^ο_)0Q3і`C+W${Է`͗oDV[\7mwLȆl P8UY>q`)r0 ZugrV̘5M.ykh|(eo/I"@oIBPKnAyFYh259PQ|fj|dŘ&p|F '
tvK`0@)! \IDSW2&T}Eb4"uP(?ftޛ||{/ڡX ̌i qbm|P*",Jݬko{[Ҙ;[]hȉZ
Q`FYE.'$fQ;ᮼOaCR}P[PEY.Ȍ~NK@K.܍v^7b
R#BqI%S\p:L50rxKPz  = R+)q$RD^3d*h(8'4_\".or*o6InMơsp|;~26$JPE
)^}hP
o@b 
 d,-;a򝁲OvZyΒXђf\J=No&i;mX5g;cqͱc2qMaA\jéMu1wSK%:įB^o+E[-S~@EGyѵ$}Q(_ g|Rdp]e]7gvYqh־
48m{~*-+x|T>(#	
$#gGE D7'{󖱭E+)|0BlGވVNAC&3AF09/6oK"pG
}x4^/CTp1YY|*p\<9)9K&3	kFjRAi-n6P@(3u$ˡRiS뻎'Y
7Т%[*p$!cwtO	e_b~r8>-%%4i xXs؍-ۂVjdHIX`0CmÐB4 o~=L8q5	4s@
Kǣ؛yARyl.w(`̔r@82qWeMTGU 9މZ9~,5CۧL&ꀭ <L~dXm\d"e#hD#P-e4 i`:NrHWjR	hF/ehszh3&C)((mw>MOߍ(jФ@WH̼Ԧ^Xsp!ܢ,-A+p!IN;&4Ԡp'_,
{JOyMNj2>qsdd .
o	VbƩϫ3ɒk!Sc:P	Å#Z<9.\90ݳ JV훥<5WXTηa邹#dc!#`1f&ckYn0Hlf{1AӾ{su$_u$u,0΢Y]r{{o8	-W#)i͚!.)$,2Jq`vP'F򒀰.J@dEQZ)|e(.CRJ|{	@ UL 
.(TR75# М_E쐈`zr=mCI sw|tcT+v;d4t
@i%;`ط܍Og/zoRe~8
 j"@RZiPS{|ws>(J%sB98 L)gj"$R9yx?V	FaOp'#cSI[#2quJi4%`W+ ?)%RQSwV|X{؉2O9%cԵKʽ2d5Or []9dݿvQS4: --)^khю7a,݉}zX37x9kdee	-稞Ҩ 5"®̹j<oZH@L
˧<¿2[T	K
AdS-n<vqf50e$[RDV1,f2[IPf(+6a5Wj7nlH+dDIZ88S\Rihi \/DDۂ-+EyA),V<p
\3 hX0nK*ʼZZ
W
SP\c*S2JP
gYM5&Dު	PLAtv`}=;9勵$[,
|y [tôX~¨Hԍvv!=(1\%ay6jgYiHOrSZ<	lehwp/}zf8;]&g܁\=y`LϏwx@J& h随/J쾦`U!v#"5Ç\G ޯn(iK3 39HKj|M{4mC)Oܰ7|ޝ%4h}h2&X7+Sl.*	T5Ixmˁr}&Yg}7!pE͈>y[Źx^UYgؐ?͕|SI1fށن$:+N<.x+ީ3&qIHn8?En
~O&ABjIxJJ ee9.La)ª݆0 &@crTz1]V?iN7CY!ViNi2ص9
CLm]WE5Kr^Y=J %WQY
sѫW3dlܘ|4q{~-!T;+kM*{	w6&ќ
9Xv ƩFȂ%Fϣ|s06zV**} p~i3J#*B
UTh$8eoI;+qbQ)WRLq c765ؓڬ4};ix4Ji8G^nz>'ܹhq_$h$n+Vف
j[bNWPӌ쪡
xXT=K$H06
	XY! NdcԒK9#[p¢rq9*_ZY]/:rO߁55;4Djh 9\(
 ChpМ 8	R0l`XoڥSpq2yDxOġ(EcI|VٴRM}dR@ǲڏS]br#Z3CTID[(ʓ+jF.RǊey?=yk +PnIG	VYbfwZFLY˲SrخF%-?|{o f pEr
H}v{:xuBżg`onV|;n{<_2JU~kvyA4ytb).Sv,fWz/"\CFDK7 xP%[;8{}u&!dʽehօT_/2#dvGCԌBoa1MOgFPT-7ۦ2z&ffEAjP,dH
	;=S{!K9Tjl=YT;HBĞ:STʎz@ٛK_GK+س'JXimSI[H=#fvѤY*kgh&aP-ࣨ(,BF@zYA9*2VXJ$|N,) iO< `ee,#-Gx顓-v2
*?u)uEP^Ay9,c!=
/R{K~c7)^[Q_Y 5L B9wP1\׺E5Zur !Z j$9ˡl$FةE㫇1&NhX
g +P!"WQBlmG:v3cr5,@hOnֈ8&NBrNU1-mNQO<G :s4iL8sL'EFj/IhAWFmav*.u򟳻[6إ<:cQ\G;TEf*\Q@, E(e^m~|ʌ;
AZnA6FUӾXr؝).a<ȪP/F:4՞u޳2RrKjzfcdKE|p@ԋ#Y\|C:é!.Kj$r0૨D>Dn^E`8^ph[PPZG-|Wz(v?GO@Jn2iNT%*Uif+ xbt_\Qx~M1%+Eu.yIlK*G@EIGZˬq!O@z4WR!`6f+ &OT1
\\;QM\ ݚ5(ؾzz8;/"@>KOIB_$jOfqOngpmn4]ug&6O)Wu`'dED|ƇY۔*FÖuBa*Gͬ2(Xl[=
q~aT	F!a݅<ky,"̩,6twUaxń8T:g5& N Qf0c18k%&;A{Xwu(g͕Q]\@|s)Pw @`3n]`B!vH.AF|ih38rBBame׸ˢغpry33Q5Ȳ*P*g,=F	e{&heGiɲTGV۬hģeާ T4Vw:Ht(M G	`+lA00ID ݠ,H 5Ŕkk0c̙<К3IFmθpY˱oNT6رwǯn 2bQn䦚X=@HM*ّ+j^X78RRS?
vum\ꅝ<";UjJj*-8@4P0޸i2O5Jaϫ=J((J}֜drQ1u-Uyq(vVP:_65>?Y\NM
8hqˍiݵa+^C|ġ3"2yQ6 絾x~%Y^-{] Wk?Uyt)V!*(fu.?D.%p,j
\;ы)6,Oː+娆mߪàIz%saϺ
رb5
+w CQFֳB'`f>n9s#R8.$8B	{	E\>"X/ Xk4 nlBcv&E#fD(V(H;l@R-X:v,Xh0_g[a1l,JRE*Ƕ6 pŅqըMs&byd	 EC|0P}2&9ژ.(+2.Pu`RiI.5Le#RĦMǕS<ņ:F=h@F=BW<<Zf_wg鬝W2_1z*p{U,6&"h>Xߏ& C͖/AGQ}9?5e(MV%6To_D&.<:6KL%~hp{aRC>
sn{XŎqa\TBjd4`]>6y1W2|ecp&:C6~b+녜ՂM!^Z^BR'h]Hz'~iтM@G@ YhhYƿ_.p,Gn[[ Ej>]07Uq]ĈةF=e0p@aX>#ΖbmӤ9\ $yI5/cΚ,H'Q3Zej#$K3.s'rj;blh	N>yjGI#IOi8Fu 6iN)y&*1.&-UH3l}q5f#HgǁFM;Ze
"Cs:9B:chb̈́c1C箛"?l( T<:ԼZ^q I:sx8x8x8x8e*%	3rtW;m]w>z[XҜjks
+ؓSھy=	/uVO6 WZfڽ
ʹ/kx ?Z5[#(.9iJ+Q){z@NWn]Å|6ulAƀ01Y@#sVsnhh0=-jՙv\4_8EC/#ZBo5L΋6PÏ1LGDTGC:G cl?пkO[wX >:WPSh2p f!6lpdy6#hu,ET~U#8; *Q|D42s
G߯kKMt&p 3%<،8"g"_ٮ(3) d}Df0~p	B
֕t?GDF'G=S]D:V#S2u{9xpˌ7(RsL7!C7_}iM_~zh.vhO.oȪo/{A0(|)0!dd.rk~vXA1gaMIeN=ڋX7Kl)?Zg].W%-C]{iz=Hȁ֒Rz1ck͚߷6od׺i
?>jqJӁxAEVSw!c,9+CcY}j7MI<2leq#ɕq0 0|p	 5PMK[
(ٝ /!ΥԢI@^C-*v}zn}kwtCy/071Md׮e;΄t
7qҪ\7)ʗ<*
s@΀ZV:bMgwhts)μԮA6-2ѸA
]  O[P\w3Sӓ+^zoګ??~Zqd5}ƌ cJy?`c&SnᔌZ=%:]h[F

/%IO8RaX寀l>cڻ_ZЙr~rEMZ FSѤQ(C02{Q^~+d$0(*ė_/Zx)iq5~ V4`z8RiԨQ9BNVƪHbU P9_MYM)_D$G
]Yw]ɉ-"+#A*zKo0)tS?ۺgg}8w9ozeCsӱXt=w*l(ekJ
+@缽nK_:[(	.]E:D$3q0(E&MH^^^Єy伎e*9!}AS?vw1,ƄM-*+=nH]=i?*\ͬ&_ <b9)c1N_Wl	ߝ[Xҽ?mr̔9,ݲa
ny#ORk`m00p@jai3]9N{hב$WvWd~<B|׿z7jӦnػ5]0X;
3SѼq:N&u=OhТӤ|`dϏD\#
~F)W%؀q4[yTg7sy$$:4ǣGQ(s\JK+WFcꝣ6-} rFxШe[hIɉHJJÞQVZ콇P#zh톇{a x3k;F/m/{Ww̏?~ k^n9vXЄ^T*2 ,Ɓ
{8% 2% 9)XW +@(Vw_PZ_`n|dr|r;dq	Nasb!nu&ġE8nO?aƜve;˧. |燸uHZF~ݹ8eN鍐v Ss[:m[1g>+ض..nX쒧^0|ch^ȴ8@\gvl;Tq}=##^$L .DW)\\5imM
{piqQ_p)aaޏ
s>>aeLQ^i" Ώnz``ƟuwiCGHOEͱm\Z6]Of34fu&GbQ]U)3s[rTrrı"/ٰyGбS}B\Sc6
нcc>5g%aĠh(ͿWOA @M]a'qzA
|h
Jyd\
yمwfU,4i$Pͅr?Gwe%(/FQn.NWCہuK0JC8_$kr[9BåHthѐ`	)hD
¡shL;dN|Gov!,OLxu:;jsǋ1%;^$oԇJ5rL 4M8w\83f clj_9h}zc]t׳W
,YI}x%ed?<6HMI`xZ
@ѾSKm(u֢.y컾,F%k'rkݩ	!{_KL*ơmQwԒD[ px|4('	q`PE}n?0%powbl],_/WW~r$6k@a.23Vr2hD,
r789$Ȑ xPQr֙Kja\rvCO3ǹ >Aum8K9Re<n8Nބ8M|ܷ19E\>$/A	t
^ĊRc!OCi8O3e.>]".>Ny])HvIm~1 ^܀o~ۀ&U<XW/ē;G+j toT|wYͣcС`cP|fpap=nVPPl/jኋCRM2-0]a?u
p ѣC
2q@) tJA% OD!9"zDJԅ73qG|1'³i;AmNN?Ʈd /\n?gLzPT2d:!/TOlI(S3(C΍кeFs~eV;V'!)Mwg=4Ķ`&(L
*ux41? Wix7,ZBnЪ:vl+@aJ
ol?f#9%׋RX<
мYn췏'9']WC_$&:3~zhulT)BB"$Ԡ/E#\ȏ:^\W']<jp@|&x<AE>-Bf֠L`D
6^Q(A#qIݬT3ն>bϛ5{o:Y@R
CϓƣhB#)c`Хw<7ŧܢ/ 6ˉ_[9=yϓC@ur(&X8]qi@\۵f% sD"_ltNMP^ǃ>~cOUh?%fR/j{/4<"~e$D.`0f%_~ <GlP R.bϮC8pPSF'˩#.ƹ4x
M3@.
Py8Y)6Hu(-,- B8FB+r8nI84΄Gfffh=hO>Yxս{\޽m4/|qsFkPXvdr7}+M{VP1T݈;]AS.huI^J".{RP4(,XbҞ2	.lI%y
#C
G/^濾b Ϥԇn
TN~wo.
*PVAJr"22SѢuthG ǐ\[$bܣ;C3Ǯ˰yf4l푢;-?2}WX`C:<Ol
3.^O J_1 s ab~("^
"Y'XMXs/
ôwiB~
l/21{G͒oG8?(c8z,|BRX/h,;ǘ,\>ʹ"EB`w|ywX{ͅ.b/83X<FKk}!8@3{e?ۍ2N=t\xIX I<6mtCӁm߸m/~aFmHьҴ&z([+ID`WE;O;ݽe_ٌj^%0B2Sm۹^@@G|⦛Os9Է7ϞF Z73Ϧr}$))m;`1wCuڍ7O~j¬7;b?|PpA	6zS4`pit锌vm4/FaQ%Ārp9h0Vh4@CP\24mi}{t96	a JA4	:" 4iRgO}ncWTd
L Bl߅CS/ӧKʆq??%2N|
dx6m*)Eņ(/NQr*dAql̟?W~靘~p#4AS]i8rsƟa'Νgi#gpwǞ>OAЮ?w=JKJnwKz4ooMwxbd5m]C>
F0!AҲ]6、=8O-
IJOj,TuXcŗ`B!'p D+ؖO 8B@J L*X}#7n
,r	gs[.w 3:caԷ&	\6B~F.4oFlP*Cő#n70iVi)O"[*(a:F@AVcd>j{99YL5_lxq/\ѫϘ~Lj;_gz#A  󬃿r\+n£S_CÁ֩Yhө%333oz҈aB0K
;?lpK; e`bJb LGsrDZuqN׎M''cݶØd?L	28|
0qѹi<6ABwڵu[1_3dţW®WxJ+D5ȼ>?cN]ڔo4#6PH
sС-ơ@"©3 CЈ0@4ՙX'. [0\rC2T,gL<M:5@eg{O^vIC4gV֝hrb/0^s2y֌O '\s̐

wdPGcH(eƝ9>tS׾By;;%6N
L^d}tt%
\{Yz3.
RZkF
8$Sι@:
ϺwiWY/`{~|v-7\F޾q3>En#4gs+w`-ŕŇ?ؗ| |2&-x;{fm3IC(E;c`$$!>>ܑs@Bfd=v <U">1(,Ē>ć֤!Lci>k]ga6j`R,SaPfw]4:%xD#%Ĵ!c$bb?Pq|-߲wҍsr&FD"pf	)7AːhѾ="R 6S;S6A#5gZZ2uGtj3Js5}UW`Wcd#w]oga/q{.0bt+4=
qmܳgt(5t103	0x@0
ݠ+bi	0F@Rt8kڵn(,څVеE`\`˩AB/h4My8eXths;xX%"Jca0(qWlkZXhp
5p?5
a2?| F b38tCRjoݖp*\6&@yJMeM~ɷf[	=0nݸ~Mn5B|`}K^NxYTnQ28ضt#[=woR'^Ed|zs4y!8N)}	0uuR1KKMwݺ6,WF9tAX͵>(9ƍNxI_녩F> =Ǟ|C6
[Gǀn0dÚ۲~Fb?<5m
IN,IPcE#Fu}Lw)0mڈ1nڏ,GjVEy^.Ja~s]Gey%oкx-g2ԐTr'F"f$4qN9i@cۮw17Sk^.^LBUzބI`~ ܼ>QV' g>;(ea&|!<#@Ą  + `v5^1^'we>,μ"ٴ`~!~xI,+vIKdW@/p_V/#8wR,߳KfCsвAק?}#U0нp8``|k.TFp"zD^)w
.0``LPuBCM2Pz;
@"
G\ѤA
h4m5-e\y	+%xTzջ7tݸ0(u (ؐM`p@4 F_W߯t:q:  H/ QX(7tNIAlf۟ad
ǅxN'sTV(Uwlz@3{`#<ɀ.`@zrP7L6-{#{wWw"AE~ 0y~p\_8>p];ξ;wO.>EqQ )B*<HYgMڸS;/i_RJ9~-àعe7+^Sd쵃׿{ϸ^֥[d{˱/x_l3fQmZPwW	AaA	t[ iWGFN1_U{PZ 0A\\};{[N%3U*4$E1:}XgKF>mw!JAzaP\$UMSmǕ
(*%"=>@<Y(_,LQ`b63hR)|tCH"hC#MA8^q^!Y_}:8t$7~$,}d2\h8{ѩ]z@jk㋯kPW ОNwFӸ U2S)*BErf"z5n=DѸt!~a(oфA5'&P҃V)؞C8L3M&
"zHMGYF
$S)(W ց(	,ťe
?T7?~~ n8l TxvyZVœI3&%5qKqCy4_sOkH
5@`5 h`W'1Ѿ}	Y]ҧ߿kWs $0!Mvq:Q~3-c{o*w8A  ;_P7	2.z-Zw{6l(/.I7X|~
!m;  ZiuUDdi(BUɇ?dA(q̵=<z쉷v
<(e@#z` *~ٲhn;!QO}Q0spp65\Bz4T7	8!;]Rҋt6"@-iޛǷKHH(
F=//WWAz^Ó{y`)_WqS5RsR[o5	*FqlYXuyQWM5(2=}/<B
be<eP ̐ CS@2HMGFV^`℞J7mѾ݃tꅊ8zAX'pU}s	V.*AS'aì1py Eaܰر2k&FJox/b`&t%!] 
0 g$sǗOcb
еOgT
`]#Nu0A%3(lBGuB)l1n\h.9n/
-3~@1N p >̚LNJ5e<tLй3 .}"@$~%تJE>P)	`2b!9G34@k M ;󍛁EM	k竷gBvPi$&Щ4M,)m2'U	8 yکs:Oزq"~494ʀ2CAZ6bʭ*=*?iE eySm ?OH}ѲXlyY(BHhz,SYY韓cRZlhӯHR"Ql:A!Q~p/Q\ciHcHk9b%XGW⧖	PV")K~I0C[I+>5g{wk'JSG|\LΑ,<2?gv%o6Ħj~kxGfWM$%@!wvUXn,6|6;^?B!풟lѺ7	P)LaU!sLQl=t畓R+<c'ԃx_)r7b2yQVC7E?a'wFrny%wWF;l)DZA3 (3ܒ%G43t.MBCT<h ̖b,&@Oh8[3[$Q
? &HN ʘx껀(@d200o6JfN pG=Fe1c{',3 I}mo`S|C03ۆ(oL)'Y'ai7{L$hVrt0Ck!~f/	s@&{	 QU¢J]\&p*}J2	x [Y]p3UɔSQI9yo^ӫ{GZo]2@,<  b}~g *ת
$`Jр׉g'wi!n	+dN$6S#%%J	M2(Ht a:ܕw%˖գ=[Kڲ;0k@uTXD{$[zg|r@TRDӴ80.'XJjdHdY.!vIN+:c%1Fy Wkk#̌|ZG=K{&)7)P6E}<p˸ ҳ&ɧ9绉w;OV
oE#KU:HJCVHiyA=>+ʐe(+KK9+a4`Tߺ1UNR>C' N÷w77|?ܑ
b,0"4΅J9@S9ڤfa@XIYacK|sj!CP.-tLIdC
D_
Ͽ␎¤ZAx|>h3ܞ 
p~azZ
_`#$w@KۧA\\3P&EO
eRFG
Eb ,Lu<N~^\3\b<w໻
#/mF7C-SVM&~CF]XJ+E;hkxJ~8^ Wz*.iI.+x_my%߻}G[yDuLT+ vAV =/ߴE]ii6kqpnto*|pi|rAKIIE85G5h:8 !ѱqko9pǖKOɤaz
)kjpdzCȟqrУaPU\a&pUZw*.΁/_bHULoٍuو
6!RUV`jȶPXNޞqXa!([쁯2 GRҚ5C\R
XI.Xd2lJ~]?(/	pk%qrГhuAiƚX1Oi-ED,&3W){ I! Di{i#¨m1gMC
q~UQHt ؓs'v{$T[C!GfyE҇4	.D.@Zxt{1j870YӟP 
pG*Y:H-a0 6j<U=r,"j0)l(YZ$ 
WjjB`1ܑ ^o91֭Z'ՙhm(={$=X$;BZ3l \o3S.rz雒9x48@Zؿ?1/DѰY#L:ot95%8qv,]>0
ӞQ09?Y3k'
!gr BGr[92fr]kh@[H&}^/~>[msv8
ޮyg4n徃`E9w߁ʂB _Q E׏.WLޜ=HJK@>ѲU*:vj9|=N޾s慾C6 xE<t͚7߳6*i" R-R\EF>"j\
VH2+9Hpf\D	/ZB1^P7nlH+dDIZ88S;r[HFy)EFi>2:иh'wHy_Wp0dxn&KLk p:HJJFRbhD^|''<7bHx<-ARTp8y8],݁"#9aي!sT	Uhp(t58TpήgtO*M76B1Z^mNH:c2JMl50uB)S+iP|hHi{*7qve'" 4ј쯉o|ݠA=lֱ	m2I"Xf]_e0޼}*GRQbM>&ȭpM;5гS<ap{*ai	x+ܘ5o+v:fx=өϳ.+-Qyu+22?lJb6c;pӜ<Sgq! =FAR?Ss8B J<q(s	IäD}'1~D9g.oth{(DnfPFO(!9>)qؽz-ZnTIWj*W6h>MڡGg
7(!.=O슜q^Η@*hS.}0>uF{+4
S^zۿm[oZ)J;[̴k/")tG' %TZo~Lf/XdllY?\s,>kTﺋNM}P W`nXMۘ}= WV3Aʧ7
Hf9Jv+>	a"os%@$cPh\.X#*ǧŭziO=&Uطg7Zvn)<<x!)^CF~sC$':=`5Z#1&8B ?Dغ
_~ YR7SRRns3|,-QTJ'9:	?F<pg֟K
*@Mz+@h@jp4B6 .<Œ1NK`);d $kMu}i,^+Taז݀F=a`O)o˺ -_f|d2ffʇQiuf:
:'O@A_'9`:YV=_584 }OZP75suָv߽{k#R튏op9
,~u|4'.WHv?l睔'&߈s$gxӽpa0Nީ.݅&~494TP̓z36S~89H hp ޟyHjxkfl^O#º.7 㶳W1
r*>ʷ͇*KT133Gt7?w2$~:g數K)$Er>?QʗVp{@׋w`r cM/Y)++m(M:!Ch((cueB ,LmppaF*4F &cv?6<lŪio3ߢY[5ŝO{Ӣmh֦6@4Do.E|uByX~-Zimz
L HKIТMKˡ_aO~\TTONB\E^Xm5Fa!)O+սkݕmTSi!ULz }j)|
JϕF⸋$Vj~7fPv=tU*-U~#v킁=;=ȃ;6ՙfLRzrPnl-h&AKkf-!HMtbXp,f\a EAz5`ˋr1/LLƘ),.N&x=>T2,HOӺ;ȉD D#!%rN[wF]V׍d{Q.4Ѡ	0COi;`wD4ç<J
T'8X)89ִٓxZE
5%&]j^)~ziBNP<k/"1xAg*B?1O$ck}|Z+kDd1Eu.P2}4=3Ը4_k\2gei
y+
[& wo}qlw\XĢzfs{:Ab^l˲*guŷXtc8#٫5wj9볱uWV.|ަ.Dd&P^6lڍoN野g߿'&vwktξ HeK?d\UN{_PjLۅQHvR\a&I2`IW$PD%R.x{P6`84
Fl nn߻M[taiۺ7O|kƄMl4{tx#6`#f Tczzr;-[f6b%e>-۷-
o^iT	
àS}A5mXm~|BT_鈏/w9NtŷxC}hU
Pa 4?-~J fXKHN?\	D18HOjF$qC\\~uغx%,]%4RKÊѮS4of(EQ塰7n
yW=4<km ;b9#%0nv&)yU 1Cl`g, 6~hLMq}z}D PǖMGfݺlTR\{flɼ zT8 	u%sY|Z[0nM'`:Cȴ1ŸMDxY=[~YŔCv62ғp	pnp:4 0еco3HwȬĊf^`Ri$,]|W $yժU
OcG?
 c]<Vd!"J|}	9HtKuМ=.$du$PۖOX!qHˇ/k]ܿGHG-нke|E5N3%M[hԡvmS=[S\e%GV0*
ǬQHJkprV
PZX0k
ܿ!wKq
46U_*; my:&եSI@C4 kcwDp\@|
ފd4qBw9.#xOᕧ08y
MF\mYA	lThӼ-ڷN1H;|lgh٪5
snZ4hT_iރv:}|Ε < АAӄLyh|"qΫKJnR"~j+?d_K#faP.#%p}۩2)Wgg'E\_摕r XHJˆEl9=K)[NX2 X.w]$`A]]wVX%`z?`2ZȒ]Zԅ1w9v}|MW
-cVh߮%Cص mۋ+6`넁g3\*Q.<}cǤ_7fP{3`Kt̿^й[YsM=z$|~dffWssLظn ulj(4t#ATG3Uό ։b .<Q5 l'!m 5дnR#g;o6A[axJSَB=_+סs:6M%6wD6mЯ]'e։զC !84q}5)UWGpLHKtzٱo=$wua5TذH ;	 `_>s17ooߖjDs4𢜳HTJ-.7"4g=PbXQYKG(t^:5$&š<,^{atmڷB|u;r܊B+?S"|tCnOg]Մq$)iQ䇅Aejylx
IEQNV	NabyEקq6/ xJaXwͱ	*?jwIs֒|ϕ̗y`LGMsރy#?/2L1q$PABB?+wAIQԭk~ݾǩ]$eڳw?<_CvZ#o you ` Kw}2kOpޱۡS;wШiSnXt Rj :cm(33 a~1RB q
+LH#*3~CcZL(wQ8k26-ѦSQ}'Ǽmu`1_[X໕?WY͇MRm*vE-!5a _4bU/)h8lwc׶^E1ҺmQ>XsJ[!6׷lIHDkō_:f>r&bHR*'wO1yXL"r|[zvC@xP!t-ۤo&9u=VBcthaͮg-I_Hλ>[=$()w
& z],,`ǕTƫ)êYn;xu_mŸh^_:v*M+EtG%Uizɏd}snrnG[Nht)de0Gg7u/g ap̼ܳyzBgͺ~\|R=ۼƉ7Ѝ~
,Y[]+? Ș=㏧ H A9k΀oׯZ4o6e˶]WvI
;E#E׆!ۧVl-0MRNq$.Iaa=rW7K	{H9 R;Euu)|=2U`&PΟm(QE&{Z*ceC|pr8m&A#­czQW;8CRN:u*I$
cdc3~! G^2R[U XK069OE| ` @M4٦mC.A\`
癞@94o@D
{|kbs@C"zMsmBW
خ?ig 6;* DeQN12rVC@#M*z}\:q>4E.Q,g6*3dy[υ)`<v<:/D>ncݛܘ*>IXj'4|lFFʕuF) O߆j.N>yg˂@cs]euv],`T@`oN>sЈ&+ɝX[f59nٿ(S+b.NIUG&PM겻sbCUBMWv#6
1u;mWR.>4m5vJ{4DKYl<S}wqe4dБ_X$%|ìqO _ 'F  ͕'F@"l3T	K{?D0>6(Yԇ$W
-LJXVV!kflL嫗FCfBmV32qU	H
vI \6<¸^k(2R]C?4Q̪Ɉ[7_9"z}(~skDѾ"HǕ1x	X}jMP@]L[{APW冀$UR kl5:uD3 E^
c\T Sڬ鿾m3?fϙw*N;_IIIx<ŻkE%70(36(>Z#X0*-23,2<ѢԿ~~0jq6dfg6^6GX5̦<T	ߡi {)gOR_k'  cC'P-?|ϴJl<o_]V~[?YTk4IZ8زL^Q灴LKw16sr{ /#IF7G= h@9Lu? 8:`(듔+5`PHű%\@H|5<`6I~fF@~]M+ZB617Ă̍lҮUGunܻWZLحm: )X⤶˒1w۞^x*o^7]>XJE/H3{sٚ	d0Y1啐2H<נSR~`<^o' hLڍ~;T7vYnWN<,7@JJ{m| SS#] 2o<1^$*Jc%S3/7iРG|Fj$fg7J &! *_9뛻i{_Ǆg +xCw1*yl|z$;]G 
y{gLFl8Ք &BNҎ
}9GS]ֹ,`CA3
ݘWT~B>+yVf8s:3l1䅢ڏK O.v/h`55mшD",;58D	N G	S3B'~w%P<?5e(͞n;}ݴ8ɝqo+!3}ά&R|I,YΘ٢e/d5Tⷒ#`9pq`(b~A'oVT<<8CXAB}SQ{D#O|npHU/TyyIw/Qؘd}u{2
\;EPR3=JUܿСKVZ3Wp:7nfϞ;Gsj V˿v
5IÆ5JHGHMtE6vJ}38'#Ǣ=Et5+{(V-|LTQcU)1n?_C1/.Zc@
׏R]G}fc 
8`V4&
 IhJf4_<ŀb
@{NtjÖM:Oru!t(BcmI:::8`v̓jŢ?d4N;G
 .[p
jZ1?CZ+q* GdA,yA3#d ܏?a8jt^łO,/ @Y4qG: ? X?<tpF3}n}-]g􌜃_h8i/5{#JM:_PYXP_y006W{*ʿP#xhSOWd̢%ԺaGmTj/@$oj2_dxt|;DYRd!Td*A?=s2%ePY^otW pGyj'W4z!(L	:p8Y·Im1g&I2A9;&f-.zH d,VYgOFQ>rҍū $FJkp&։u2@!,Dz#KI^|p͛*5M\מ+7@}Rȫ (d3DjP\l#,z(7D=Koc#(~tWn=t`9U]0KlsU]Qr
uSk&h3L朸MR9sF$;DsH(iѢ3uXA ?r٩6#Mi,(}E$F7%xchVZ픕~7MnE^:A'?Aj3_j#b&(#=ME"i=@<y1t
$˦E,UZ@6nу `
ǔ}`VZ^W#¼u<p<p<p<p<{y׾[E42F-nq&*ʉSLis^/vϭ*ԅuHZ9HmMAȞJ8R'Ys9VY<ț$`2KԫcCD|BMmwd2,\s\CVk (͝^U SڡJn8cJ-;߶9 Qfq.1vtM.){҆Cɓ/|톡T'8}HbBl;^K검mr9fuG8ゑHwm7cIV&Ҝ`ܨig>jr
\4 9A6ѮyzZiq0>$}#Ky-XjxPu`@mE;3bY_iobP+°50)n=޸%tD#sU'ݸU_y.S11#Ao}h4 \f~lwd0%2to>^1̀$Nk/2~Zog{?]=BA rӂM8odϣP ?w&ctK.0e?v<Ȟ>T|`p
CVӴ6IYx72^:x6T4hOրQPgNKPާ3$>p8F:ٯH=+*ƳTGk~+i8+yyy)N7ѰRG~qEb4.S7J 4hPZ-NbLkl:zPdpzqdx]-SJ:7oZǒ/QZ?oL.~eli>WN$WR09
)*T/\cC@+aS<wĐ\5(jdefFιPV485.:
/49ȿ.(F|	\Hd*sl@$lꇦ/r
C)Cv`#f~1k2~e^Ttͼ5lh2?JTHTp}u/Ge-ˡSuRڡEWZ^Wd}c}h [.jq5yY/7kiB]f-\NMm!w.NA#AqqWcuiҼIf8xt37~	MukUkgi۳?/<.)17'u^i;,Ig]oxfաTͺI#z7h	$AtsO~;wsb|ąKnיOܾX$uɢ^pic>M2ΙTS˗2R7/ArKbhp֒=oS=1o& gdN Ϥږ᭭߷v2ޕ	6]0f.;uhX>fda(=("f$Dt/
A_[I0rճm(磍Vy'ǠD8n-]o?L=cB)t$?u*@c\Ll<FD Ej }n}G-}(j(Sb5b	0T}vq9L>|Xq\NMԍR]
s\LK.Su]DP*U੣Hjњ4i
 =jY
|Ef]k(
h@au=qR'=4kWlN0	F8q#|=9˛s%q)YmGzw]߷j2lP7V`޼-pHCfMqcBɩQt qㄱK3own-7~pݞp(-EEnc
SsX6hxb[ gA1D*
U0^aG<ե?,8ePs}^P1(u*%f;K\.p8xq0]Qg,{ּU{؞i3KxL@pVt,`Rx'Nhs?mؙr#d'4*:~n!r1/8:w53 en;؂APA.^Y%ʵтy9ui!Q.Es֢	WLg.79[JU=燿*ҦɊ񤨤`?Y# TL$đQJ*q ÿoQ QbF~1;y<UP:Cx}MTV]X+O&6p$ˋ$+o@J'C.ޘe:;}Сً74_dCSD)%2'$ߖ4[ywFC]:!(KS{^56;A+ "#-]:5òjgdhԱ*Kg9"9.}gWs7PR^qd}Z-X
RXȀ<QcLbb!e^0
 n
p#byue2T.;yf
T[;!7{G:p@KJ,;7-0&9@!\<LWg٨E ȳQ'r^-WsiӍP&!ѥE:nx6{^6 J%`'߫A$2GI Τ=CH2o-&Wm9,91i *ZUhQLa
\p	Qc?K1y;{I{CF  &njR%t\=jQ!xTR$AL>\dAUF?+\JT\i17#CmPr2*qWɶ#s:~.%>Bjji6iоM;_&FYi[dќ1([tjݼ23#@?x'# ֹĮ#i#EZf*Z5dG
kGqZ:)(eEYAg,CoPH9gc% UN98(>@Hpqf_߫\*rN
I5P2{RI>{Q+WhPJ|^in#U׫-:h".a!<Y8ؙ, !EU	';t|)ō<.{wO^-1Bg
Q]n}"Xd%oKE`jDVN g9E `"cB]G:cV]KÎx  [}iRNavaf ɖQL 
ΨJx>D'4 8s@W1) 6T78
PctG$*U \s	eQ&s .9/(ydiҸqぅEeqwH5Aκa8+ؽPB
=Sؒ5Ѵn>>K.z& \-~X	7V_WFtO4<H+дK&*2ڑ.)PӉ,$$&%TjH'
^@{ݸ|3T;I$3Z<VļqSQMt$L߾hd[`0Q#9K NѬa2b8|L$2S&e(κΑr%GC
֚Xqyػ}e)Q@~@mvxBL||wZ[gԍH.=hTzܠ:E %a xVE&ad;\Mf&MQ1tD{9g9#zB
Q&66V
ԥοl)VRgCД{:c)5A3S
	 g4Vv	,{*q0XolT6F  .P
 в+IPLL@(
"T4
J+7KE߱]lstںAVj#qx3,Xu1*5 vNeɹ]6.$&&VǶ$
.>/jiY K hPy
p5p~v4*
йӦm@VXd5Cwcޒ0@PIWXjmDFTݐ2re!(Xd&޺m$@Rֲ6ƼoU!oW
,|cb4	R1X^#w:%.@ıM><Xp9 9(𧝂+v܂T	[mU!<N⡾fCY/$GF;cfc*=/|Md'Rj:y
W9(V P,>Ã]IK~8ܹ:6Kuo%&H]=%cpZՇԳ'PŎ dP" jJk:X
+300~ Oc%I8-ᅁS%AR#uv_wT?y}qw?x-Kgb2\	)/Ž;͆@xK@\r/_ӆÉ6M/۞;[jg 0Ѧ̍۲vٟܪYVe
W2r:}>Fqab~%lG3%K] :|>G<R3["ifg8|LR887E^N3$Dkq 'Z$o P6=8G6j_}6J[Y	ޟ7Qyy.q7LK,PY{7*eԪa@u# BԽ;&<jecM/cD^~^PVt{Z<v4aBShU3I_7c̰HLWաb12f)(Kܤr=I;* Q刨]G̴;6OZ4
[^cѰ(ZBED{n@7I]mT0!춢b"v_&>wnToQ;mؼ^w	a(3EC<K	"А*v_0zhs	@iI1ݕ0z|֢R SX+O2nχS
lQh0W5|`	мI]S~/Yմiiӆ_駟cf*ܶ@iDUe_[f
݃u,Ɖ{9;;w\
a;vhzŁ=ho0ѕЫvu$˨ƍxH`~O8c&u^=Du4(`@ b~bb4Jry f0`#fl3eMAm8DK4E/Kd#YP5`!b.wBfjQ,
 }౅=i^ӊ8NBWnd4
	2@('T6eqL8ƭsNN훀h j;"y)}7aUkdUHVK&"$:&V1YH\QgKخc5._tf
u(,-ų01&D+=y,p=Um-6?R\FXCQP5?;:SթdHENB DSNXY'T++O`zF&RѴЈ`M 풫 IC?-Dxl\0THJJ\OQ!N	o:2_[E^/)IAbǳ/tSJyVHBi~X'|9$ ?Ѵiӗr;{^FqQ3Ïoaqw:gdPq/x#0܁N!aSH:G F02P#D-яop$$ Ԣ#LBvs/P/,|G$3Gf<3<e.#S[n@fY`AqӋUosg2P%zڤ[F`JcfSIVVt ٻ2>`d)0rbAu:F9mqHNJ B44*6G=SϬG"Ю̒ C5 *
e$v9 n3+QZvS׈f/,1X=ڔþ?{VJ@ɔX;S9کKpSP>q,zNMߔ,pC
e,<kiPʄ|g:9{YcO
ҽ.b	?.;caVx݄βj*H%z'[eC
ŸO
0|>xȐ
f0jAYtkRRҍ"OEs(9}dbpwݥ~$l?w~(A|IM*--#B۸#s\ o \7}ЄN=.>zH>0~#zndq$$%IСUKi[O0{2_5"˺.Dh8d]?f6q huf2˼VKLl2YyӘF+g.7`2P%ow vKR
@CFCBHJJd|7ˋ|fڵ0&)09{/}оmSHX@%:?Z_C7%aMo= d̑AG	s5	3Fۅì(\i%C>@EkY}B\ҟ\P&uͲ~NOt4[}K} vQ3 A,^f$$d%'7ٳ)?41r.+. *Ju3z( ?BcM$I'6붱`[X2,6?bdx	c<64HQz"tb	2n Bapb-ST1Ȉ3.m޼}
[l 	p:3|G=
=_xFA,_ݜܬ={ٷo"`[X[%:WI%qHi
2(I@I`ސ/n7C~oUA ݲ>C9.Y˄	kfCO_E>pmܗ,yVs@-۵MkK߿I xI-f\Tq1FUV"}s<uBda`A?jBDbUbm4ӖC,v 
M#ȸhT[!uy
0;`3&0Ɣl #67r4oPedkE] "uIyRԥ:Շ8x PF;䄀]cؒ)lBnlhx`羙[^n[:ďϟ/'0Lq6*:<jrGܻ]Ȗ1cI_,1h ?.92?TʀN
*9g2O\;J_-Z6˂Ǿr:!(RfWGVkyi|BY=V;աĢ;cw>P\Gv-?;y z!6Ct4<4eʔnjF#Ms%s}zоpA=>}!9CNE9 `h '\ HM 𔾍mS<2	%TG˽զ]J?zCvti(w⿎u_\7	iH5
bP
)jUB@JcvH`K<Hssax)KBI&@7=g	gviH2$AjBkV)T|@uR nPRϩDe/B+}9K7Q&f^8g^9wRl(Q-ՇbXx?"%ɺ8mxz|9WN禽ݻwoٲŨfp:1AiJnnvC&D	XM,7qhTXipXLp+9Cy\3>⏸!
W0glN:Iʼ^?twĪÉ<mW=_{6&9 cO#vMobgls8XAjTx}i鍓@
,jgߌi@RFjq}ʪp3<lhbJp(?Gjd``J2ԼlJA5>r4BFVwu>;~} #V@Mr*Tgd,ÿ4 !IF
E)f$(S6Gj2ď8
~o%^~;<D$1hi(/xt{;:>=bf9Sy%,.Kh1Q&ʰSC j]jߍ] vR8,F,ԥ:ՇlGs}*i*)-egMYJڶJCN◬;$ny̲_](
j]MS~Fdj)1VO
`0iX43Ua	xF0u"L>i=bekcUK:㙭;x;qĉX1Wߎ(/unmWbC Oi0}A7n> <!3uOniQfzFZ#ts݆mCNz4;D	pDM
#	z0} her0xQZTߐe],ߥxu)ł<kAA)G|Nd1H%NU js92@Cj1"DCЪÔ/~77!S7_6^Nà=t`C#V	9\
i۾KEdep笐eƂzix
}&buR5m@@9nŵXwDr(zZC
"YҋQQ\f>l b"\%q; *~nSOQTim80ws1陙3j((6VAu8JORBeUQz#}ԔIZV?"DgbT]9\f)0gmpp볊
U:Kwi'-lÆsvX93n RѢG| IhvO<2ġ]㷕W]ص﷕/@i2|WYI㮉x8۠+<V`spk9F©Cs4 $N#e`.!s`$xRO@
` yZpD,-,O23{* 
=cnr# |./91>ScYJ|9]x^ɊTs7p 
1AVAIh	;1t[YFJa!^?w?E$
̀pʡ)Ǆ`GcB|3g/ZC
{F-nlYYH(u5 lϛt,#G)yW9 K9dG5Rzh~x$R]8徿1S¬3u)A.:M}'/LvL'nrɀߠb	PCهJ{5,(Kˠ,uiuVe1Q@E9`1Ļdwb/O]!Ktr\sN]urV&q%ALĢ]M)ecfk\x&ڶix.܌e|P hĳ(C<^z{<|Ǖۧ4߿xN
ˮyr7:##G1sQZ*k@Z凈5@߭Hp.8E<+NF`g҆Fu~L]rU%(ߛ#c5%	p $8SB5Ѡa5mzC < I	qu
ᔎNDGhPAMvzz1i:@`_>=Α&&8>}\}1	4`nhdP>/nUӏHc{RGm>BNHY8jR:y1$aUZYnƠBP{zP0ջv䔢If iF;ϦD]k}|uV`
|(*'?Y/.VBx$v=i/+tʠzoЩ}CW5IY7yԩS#N>f@?,(3ܤc6IPIѨfPۨL6~VD'2U{#`!d0^80sm \22~r\}	 ims<{ҹ-tV =-$b߾ Q2AgҲKWx[@!#`dۘs pxբ݊+㵐ynQ˃ˀDri47A6s麤i@NE':NQ-ݳ(x0iH9R}w|j'j	zs߷DmY౯G+ x@eXX§:iFQнe*tW0QB2{Cl
t:TMvA%!szh+/9	 NB,&!sp wZquGYw;PĚɱIKju	ZPH{'#o(PΈ[k]l=o3@Y9?*AYR{(˃:(
X(w]	HHX `@gɁrKA(₪ jʍ!q9B,lD%IOH-Z--W/a+,C _&/?-6^"@--ƩU*7^w*G30kA8~׿g>e)>k0 R[Ij:3&vHNYa8|XAlVDQI9RPh.?Uϭw5:()IT@T0&7fIQ
z4F@8T>=4:⠹4{rPQ};g: h j[T,FB5fsέko$A%J&%*O8[
ѻ]&hs޸~X8DZ2Jl/]ūZϤ79
=_ ":-pH/M%Z=9KpU g<>P(+Ђ*e*EH و9,v
;-j]w<2ui֫ທzst\<<pitm!
|ֽ>S}>;|K.GD"l	ơSg܁rR8۞ a!~ESRv2ô$1$EC0LfNi 	5F#Y6הLW$8g#lJ-@*qbg<~˙Ai\?
l&s	f#"'1roA_EYV8_+89`&̳k+7fpa	;>;	Ϟz0qŚ(++#2,D4nXWTWji<hk$H7KZBwH0:#3Z4+GBBZtT웗H0|dVuH b:N˞!R` ƥ
R3ނjeT3-Ʌm3@9>X9)aۨD)W\L
aPp0k+'=DFA +>NttbZHd4K7}:dY54{9ZMBkt5Jwr,]ZTxMZSI2ˡ0yDB7r
* #
&vu2XLasJgNQ
YYGe8c\\إ>I5t)a^8y0*8\
sST3^3JBN 
@GsT٭P㝅1lXT8Uv>4L)Uy`>?	r6c(2)gY=Yg
l|8=6w괘]SJiiiiC6Nn +E-20xZfc[eرs^:~ |>n;6N};ۂ,{l37	jFӐH|A;fڶh$mޅO~
K<c|qѱMSd%sۺsF/
AMm;ٶP&ȹc֝p}wI
#ㄊc?iUJZv6ܵu:N|βyz=],eѪ'ﾣ2yZ_\Z&TD4+*	q)DRμ@@BR6XXSl`6r\d~;d?N5vsk^ZCXSgFtDquI8C+b,GQZ\!kG,Ax>}sgMsĴ	W{.3LuN͉$%&RK
 i;6x T 7Z,+D$N)R'G@}{
ITO
XYHS0pڰx-46Gl
0s]Ї*@lAC+/ť))q?yЌ½*<84 _Z9p`҇}J7.ڊ{|D f_.&|ѸYqIC8oPt
(:Tפefon ;STЫK?\}0a8>uo Lev_هJ?Ydw.vo*#Uy-)J{1pD0oZx?놔!ѥElzT멛LTc*lY=^MeL )TZKKzԲ}Yv JX@l[ͱj2jt$LB)Y@D,b2QR-le	($mR;f"E8"CuzsD)G4ԥyoG?^cl0>r'
j)Hvo{]CRvN,6$MWF#:5-8ĻR/Lini	4i$뜄'2x=(=tu TOq(m'6vcԢu;rDN.Y e\i(
6v>"e
8q&&uP("Z{&Yl?"
24( #fR
{yA[EhN>7>{BܮF;II	=\slՎ{6L;o҆Q?57i$-$Sfd0N
D[S<ַX
,6
%( e?0#F
5kn9X$c\_7?gYUHie 6faPq$@2pΘ۽5Muo 1Ԣy_?:S;)pj,COMIP -ld"(
%Du":Nt=Ƴ"] Dj7dѠ"	-r(1L, lTc]@A 4
f;/^2ba٫-~ s}'Dզ~B.̵פRDRGǲM>B|<<xY?~65a;u)rrUx"i]3 ~O3YT`V3P@PTTݟ4iMiAPcc2
X=!.ſz"ZCYh(OVJffcvqۘnc$ƶWPjlاo6 |9s8@d)&(WFl_mгgϧoڔ))*q86F pd5Ŷ]Ř|)w(+b[rK
v~ *yG/X`
/{t(#11.,G^~	41}=bmN1m{KVviuRS8a$Kamf)
GnlHmHLZJ6J"\4(c 2yRon23%K.꟎JODbFeϠ S6yY{dXx^>JJ
p2"0jk-S>(>̉/RejV٢iDa*Xf`Ѥ
d$Gp_JOhac[5NBl65=ďWDZWLC%^$Ș8n "V._IcO@Ǐ5{V#x̫I.iẞYN"E.EO=TUO/ēFF;i|XS}ĊΘUؿq6?8w&\ԤS)}H&uN-=s* x eVA«$/)3wA52Pyq w/?UDUdވ$ow74 &s  on̝;Iv^^ǟċKXfFѝwd/v{NgbcMӒ
Cw|}h~I*WL)=*uڊ.tk X )"P/@HJÖLJLĩ#\1>]ˢ1	A
\DH P6sDcK
Su9S1Ř̓27pT3U>[2yke2PA0he)LDx6.U,*BdNX**Uj>U#bo	qpޘ6Q;2PV`IQZW6n9xZ}9*G
DnȘe$.AR:GűՇ_u(~|մـ%>DO&`Cwj&%Ow@QvΊ=*K5vBa(ڥ[:L&3UõWԱnl`OR[n1	lәpwpQʩiZ
GΝصzu=ҍţA壏hѭ_߾
%fr#lVDl 0J7~:
OܴmTOD ص {Kݡ]:5(
Ѥv0k[4AiYvA^~>ϢjGP7)qX0
JiDW XYٯxZY<ԟYdSnu.2Ugb)ÿ
44hJVh)3.	r+6_k J*
}S$M
ZN][;	Guô26I
$&J(@d( @Qr"u&뜙
aY`-vGZjrK}pvVyO.Tl#xnJJ p9]jwޚ٪Q\JtD5|Tx.>Sꪯc$@{=xw(.*ORf{*2}Aّ-ay{k00*21d	Ծ
+߹; +v[~n(֏>m^;O4Ca*ӺxJֽsTʁ8d@?6nc4AN]oתi@Yy%v	^5/+Vmpd,VR=)[GUJ*	<J~㱯
Dm`޲%R U8TQ,Ղ)oJ2)~.-`Q#,T2@C@H[oۭE=]`>wX8q&kNMeAoe
)M~_6w;-ɼiҶ_fYC~i릣]mSYl- _
p|'Ε\|-ܪ-jW]
1ԇk[mqDɓxپS_jnvkI5߁Cg7ץVuQGYDI=G\v6 \Pgx1x*r=՘(	y+ߵ}=~ݡ9(FiQ~{GlA/4~mٱiӦۮۗ׻]<㫕~A(N62T~]/.ݿ㮃Y~^9`Jt#<ˊ;wq#}9BiF19CIe,s	YnGuԌ"瘴qWehGb UtD%^H'sM%Y|("C3	F'fWPUR9xۨn^`}Oq		)~ Q	_<ռ
nX?\6<\P}#AD?МE"QdY|Ql|HNdqykڳ/ͩ%Wc	TSkYco+Ĝ=O#Ŏ2pK'} ]~f^1%BM01G~gd{+G&5-<|ʤxaJ/ʜϓ=@N zq}<A}lI!Y k;LQ|@{GΪ:`^/lx8x8x8x8hH~prc dJ5MXC5[>ZI=)lMX$B8fYU>l"uޝO>xpQ H](R'!|?ؽʣȖVM"J!W(Ǽ韍p5dTH_SC:f+$d[=@]|6ulA(KΊ2
ش},>ebÀ97^4xPP(|uA-77vi_^W5#<>>Ӄ`\?͉"Mjҵj>(Guvb
A;v7vP X-
'W\M6v ԙ!dаHM <gDc#j)xD̀;>qisŹPyu{_1J]|Ӫqq	/AJşĞ2xέ,vR] 9g$%{mBiﳼ3h&L<Լ8xճ9{ fu"䚦Ε4[CcՅ=5e?DsRʳ:+ILږPv.`EZO)1T:e ʲ0u?3$r؟& $"&%&㮴7yS.T~%:E	Ƿs Fv"Y@4^V!6 ,V`W}HR<x Q !@wFk\1]*oɃf6k\[8})hTeG@ĺ	E훶 PZn҈6)jD͋xG|`8<Tg1͂l\47ᢑmeUC:O,ۊ1kڕG sN_}hæCǕ|qؑ>{#
ߎ1Z@|❳Ֆ)u)m(U4B$Mo7*'Qw7EcOLvQxʓk^n9vXЄ@ xE,
}P(Vϋn*%ROG,YdUkW<i4V	d%2YVV)suS|41n,MTݐSn̞te>Sw͞vuݷ[GN4C9'`XY6 Idzk3;TJhY=d4"yGJ1K8v^mrܯWmV:)?ZJT"F]8AT D:q=,|bb\gs!=B9b։D4}zO>U0001q͝<>윓!BYş,muY7v9e֒MN7 /sY#kvcd# p҃diRcK$C> Q]d?t*+|\3y}?ˊp	D)8ma``0]	~Nfq*qpBqO|v d$??
uJ СCO<Ab$z/*:+ZӦ3oWm[˰xk)P 66|WoYX&Pg[:P
Վb]Nt,/5Cqg^?>(J'2Q1{G<,@rwaˠ"e 948гD"Zb3qG|1'³i;AmNN?Ʈd /\n?gL,_OP0uyy}.+-<N^˔c
p^S	q,f սKx ф,_ֆ8 CO?Qg|-z5 PL;(W
/WyhnpF`w8"1_2vo$^]#]׉?`ꌛDV)Sԃs&E\K?:<Αs~(99Q5#|-b]Z gVQ$\.^(%
Ƭ CAѸ@ U(=F)~"cAt`\U[:%Ieozf5j'vÐL#Z[_-ش&t3oڊG xu,ؘ_a'c^K>{45VTF9_g3|DWB*T.|@E^W.4Xmd~ip|?C}ANT@YfDB
19|@Fuעwg
߮}z@\܃&Qkg& A/~c'th?7mz@CڍhнT>5`VRKg=+/Jnߡds<IȐq,|m\w_5B;Ӣ1kE6jmaF0y2wy6F^cQ9nTzCd܌;Eh:	)*sPQAٲ5(m!9n0Q͎c;bLYr mf#1z~X#*:3<zk}(Vq{-l],?}נkv0x \]:_ 4H/'uya6:kRuQXDOy\VyN>7QIy@͛JCZ(
V,xzƈLp<0{x(rE_x(ZgvoƜ[:uX j
\xG=٤Qrvyj3+t9>LA?MX'c2 ԩB03ER &rqcΝ5rW0g69I`C#'uC}=Rc&N52ng၃{&g鵞thpJ_8wtI!AƉ/WϦ-0^Q]N)*6lFI~HLtvȝB~L3hR9pT{Qꥨ	mYDѻ2@}Wۀ;,2HU;DF&
e=@٘^Hj^%bǂsc#/o\eg3SՁ0=>.b~4,.20qWf٧S0HAkD@C GŇO
V.<A/3{_ 76޴vm^J|<]և=4#@)=]R3#Q0.hf0bUV2ְTV&l
{ɓQDI2t7(KB*kZR5m4t8)Z{pA]wKZjCNҡAեY6glN o	Ug!^4[T&.N)!TDIҧ`*w0PRVEmHHr2k=P # vp6ڥAP0&IIbێF lWܮܟ8iM[wɉ({eY3>;Ɠ'\s̐

wdP'Td0ʰsFqgDd1ˡiv2/tʘ"rSהPz1ykрOLs"mb`RȮ{f5R3,~c|6a
niYktpk*QH7F88La0d(9;-]hԹ-ߌ'٠Fwx6Sqb"ܖ1AB5ع"Zdi1 "8رϼbQ p:4PfuQ

~mH9۴ps#mӇ= g^tBԪ&,j~vEPB 4lEDYD ߴiS(
JX;UAsM8`Pثy?"aXX'HyjHUR6ONǊZm+X5j9~׉i
гyA}[G9rJHw@ШڃP"e{qvWAqI0<wdSY'<d2K
d#ida7pg
v<	04
hԒDP{1򔫮_05R4$Wƹ)!
3
ahNjǌ*45ԏfn\?
&px1Opoގ/z:fA RqFbҍlܽmJuBFpQ[KfKBé|
V
!~,LN|%"yc	2nr{) >M4SĽ&j)19gl7UE.Ze%H8F>0 M""xH+&,\bRC1y
Y~;	10F0[>xIјxRjwuO". ۵զ: _t
Bj^gj@dF
Dp+D 
1ȳ~1J0hH cvc7f4 FY])0Rů6--n u11αԀaX@ 8{g4jNMFqIq(7	{H,kc+ ID<:A}X'L(ԭXfjR`CeEP+}܄&֌@*{AıUB$e;/K	
8IϿf<Ҿ[w\Zȶ`b&#SjH6X^wwlz@3{
ܴ
Mt x T.hlZ۵G&LoPcn h{ԈWR&&©`~ )_W+Lpc8UdFe%0_w[m,{.<f-Fv&
!a߯T^onQa\a|ZtrG	:9a68/F.'K \X(r}pEFEs4C7ĸ"Ωҫ!N :)_Õ7Źw>4HM@\tSJƺ2ĳ_')r)
۳'*;bMhpF-pnxX#uμ趑
N)~Y$6
KEY13EX-h P	"u:dӦWNAk8
^:*Xt2%4JHjV{NW2yeUbF=NiP&V9P'CS]DkL5
Z=VtʏW\/>UȔ"e)WDRDK48is:o;H#i"^4	D͠^"?{o*w
 :t,&I@HJ}O #tʡP
m6ˈ=u"AâO75J<T~(L
tR}65K9Ah9@|7D~So+'
(*%{|<x$cWP<!v	YHcFYvl8%@}˯r"RbnYf"+ gN=wDѻ4 [	 m@Cmii i)pD{[qW?CCm͠6!fJ'6`cjhvd
3Yۊbb& i4ceeBFCGY]",G>g'<[3?65A#" 9bs\:MKG@ͭGe:QXu_USjm0:d(
P`xp+h$Xcy2"ҳ5hHTM@)a!$c[ PiچȃBaw	<V!t1yJv	)eP;
"5z='hP]ɷTl0	,)S
k竷gBԾQɑS:P?B 3*!  0A` |`2 	
M)D@cb&<K)PŲwOM2Qq"`T:,6>M3ƣ+Y hZIRФSzX$yMkQze}yz|)1PΪW$R99:ujo?I	NĂW 3t|\El}{tiH{?^ 7, oNp@KYKc~{fmc^)LSRP*2A 3&0AByL'00j(łZ2WK:c TBURrHPQ]yǦLLMm>-:p,4))1πDԭ_gL;;N+e45o#MMlڧ*Q
AX8n2ѝ(>KќEUz97-8M&*-
%*"YEQ5y#["
L(0@W`ā_=3W^fh*:Bdʩ!AׯϽ/xjj3txJ`akDR0Sd@-q([ o1,ykB]%<a= Uv[=SbjwimȠX?7H>;56ܿ(Aj<׆-&嫾Rc(`Ctzxˎܦm4
{tq,pp/2g ZH kh{%xjF?ǆdpL&V0ì9V<KIIQݻ/ pxiES}.Sh:N!.& :Pk28??N0qqqk58t#,[xڼԽ}ㆴC\j= "\
4(0uD+¦o-c)@FO X".Pk@FI{&v	gU)U JհNkR5
=z7»@dMTb[6,H2Q&v'qZ]Wf"`ESŲDy2z>P<Lpz@M"R5PR¢Dg<w໻
#/:-SVY&#ڠ n$!S*)]#z
&7$	3j(%<FZUDD!#޻TLVi?<37mn;%ی0Y,YeI[)}Npy/UɧQњw]}]ve˖w}75B)d:kPs;BV
ۀO!/zO_Ǿ{Qm?c'y10[Ce97(?_ 
Ơ79//;<˕J)ڲěLPWn
!R+|b17v׏Gu1X'ξ?#Tl

, Y1e%X4Z0

 GZ.> D.8'Z. e!pnq)qc`|}ߘSâ*"ڹzN`OͱK$`Q&RudP/P*UĎm<q)gpp)R&4w_i54+K-sKR2e>9)w^dt[z
R(˵&vV[L4V	NAO=IcO26Վ8;ԝ+Y'To1sBT/bzzKqy
`Sh:.&rX'3APǰ]%ԥ/s[b'*>mdp^
X5+$Nd&pՎԮm&<4@7SeƝGdv?СNgpF u$a]s9_YN@Y2:A_CpUO{ фzb$]355DTjmWYб7FԊ999 bjlTraThӦMRYPb^RKT	#s 1P6{t	֤.
=tl߼~ 0Hb5/(8m[epImAs jHy%cg+e$ vQ]c]%	~]H-Հ-@9C<5
Vn> 9H6
D"vAL%;Az>٬c <8	Ɂf]_e0޼}3FhFIIV@s@hDsH ǜs8-͖CGhw1 
UH#1NcZ#P61LZe8O`ՠZ9$a1[[qహZ%gL=xqd9bTROFgnZf[	>vBg<}q7nSߛ7IfݿvĵP$6tzpN,E<M6~D k\evݚsxG{&(dcGzvľ
KO X^QѓY3Ģ0Ti1R*ϟQP.ݼ3	F0zh޽{9[~*m~LN˜[p8CW({5'?nR1Mwpi6lOuS+jcS7tf޹vZzzY%?zm߻M^Z8ʽa;HJIKK]PP
o~v	d;P*fv]6C,l^Iڟsk^poώ 'db9s 
pV;jީ	c.~j:B|L{ڙ{iB`JB#u3. ɯpS~]i&%ׂzV2x
hԣK{;9e.. Ģ{0bXgH@a挵`6g7ܡh|1\5Ao?K;ê ?pgXaݳnagY%3O̼sT]f=OTvNc:َ׿;~fYPzC.l6<{(V2Rpa'2OdcRG1Wznp]O!/.:{zjq
	{/@`?k<޷?.) Ov	 G>	^FKA ePV]Bj nϐA](G-1np9]ޝv1K-XDՐ2<u5ߕۄrees?=XZp=a:7Ce(&y
ʘYփ
' C5|Sa0A%ȐBAd0˝t
@A{'{
] ݱ*
 
CǠ'uVu0_Izn¬ZZ
Q@
aK/"_JAÙ牪ϘAƫ=<oקB=^<KoDî]0g7ypǆ T*hH⢳q;"}8@S.G`"_kd\ q: KsBfqyϒ1kgW>dBi>Y~`w)$.JM,>\A[T,drA,5~RVY &Ǥ]hZzTRv|f0KL*bVqd'=<屑z٩C#ALK=zcZ= !vI|TxIAvdV=|QQ7	H)zd"Oҩ*aSS@!Y'Pޏla'"( ˀ	\SJDIv
%{Du]EY)[.CgRke١#^q~G6o~;iLz
 RN0#b
)1.|վSDk@z5n`zh05J)jwm?0pW-ZeP+W8T$fY0) 86	
2^;?ݴU:Jo!@uwuoxa6%Q6oAN1G'a<k{ *"
ɓ8	rP#NT3C!ꢿ7)ꚀS!(Pt~ݯ0QWy`謺>k
L}׮@ȏ`Ǣ߯~Z6{t,KuU_ȔYC|ˢ#2C՛be{_NAm`O
@}=,c_Ἷ
dmfVwd 6??1*k@I XdU3%``:vRfʭT/',~Q)*X*;eef]UN&w4lx{V}+o8?>x-I(sD2N14]g:aeNѰ !UTDfQj25Hâw$w8/7z  )J
~^-^fa4OLo;80iP7mis1I,%.}nߣZ|^8/K? DӞ<S
poݎFa`׶O<۳= 
l]s	u8lPi6Kwa/J	0Z+5?C	N~SQf(jxkyxq,.圔kuf6d@X \(9
`H,l+[>gm:{{$|.YT)6b/NM 2/mjGq4aTȧ,A~_ߴK}
0|Ƕ@{lU XljC٦MCꏈSW(g9-
<'TAFt5;"&`aa 67V9I|^{}m(eQ
L~>0@`g0ʑ~VWo]1돯#-"6fY
)7cQn:U[fkۋ]6:XI	.Tz)qlR4T%F<!G%L[-r#X$Pu%fTLMJJf.+W."$eo>5~g_3l	5"%v+)FbJټ	N=۹MdlV^`hGN!_SPǞ9sb,؉Fmڠ_O<ʸ}[?@lm;+VJG tO^uu2z`kr!Vo㬱M&ϕ߄g%X>+Ac\|PXF=WGfe%Ƥ^OpeET>sVzP7IO7
>bndtf7pzWV_uQؾ]-[gaG,Y-K{ѷt c>2b%3>'u}ب>V8T+YmSePj7%A<\1a4k*c_8iZKU\TَT77OɪEdgK?'&fzw)s*P&ȿ
neS~crlhrϕ*^FN݈8Pús39!~z FqfLR0$$řL>E#Ȉ$|n8$5	2/T'8BʕW	-^j$h|*Tgwv,kK|rB{%|X :4I!f'b^4jR3n\}VuONL@X 966H9V/'T3ӎ_~KUyQ}:3]Ic):Uze
`5iK:bGC5EQoև<W%bPY:CvǒKx4a+Aw{pC/¶XTmA<rb?U
j`| ɑuX冈 TdRR8Gh rhs.yo7,K21l Ne)f6?-w}f=VLsW9NEaP\:͠MEp]T7go	96W{b3FE(.*E=[7 i(3	HQSjU>Cι~_chr]7M-A9vЇ2?Rl32WI
9`TTJ̮C|MQC	a7plFI'"Pn4:o~{fW/.1;\Iۜ&52b
a[F Q[	-5p#.-,nbH }x9nmնI.
mG8gT{2flm~J)mu2V4
`1S(D=,yxm()2v9J5J̑U*//E ]^j}me@-oTnڿ+wY~Z^xI&*0zL
S]Ff^!_EBTV(Z nhe4@
Ǻ4^upnQM3iG2
dD
+4s(3YI5S4Ô;y5p'*=H]!$h7Mlawn_[~
P&Dn$~eg72מi (n'TVX
':s,l
 0`}# ܲcXǫf)>T9	4y	0P/*Q&*΢R4<`c|_jVc@|e
i}xݬ8݆	$h.ԕ8E5S+u}njݮ1qq*+*x6$Ic;al,Y
{|XV(@FyA~*!WVgj:+kb 䯙l q LWǎ+;ul_: qq	s%$nZ ˵bI  T]=p8dCXջcl#%|0^,h(DkPV	PLưz'5^
$v:sV`aF`2pY+'iiYvvmO[O^S5ʨez ҷS6"4X܈Ov,'/: e{XY5B]A	dp%<!0h3mŮ<WV~O !Ca;1lbr]5wƘHͯ.3^,n܋jxP_e ç/7(R&]-)Y5Rכƨ]77$f'Yo@^z] Woʥ_I@{cM eX`+5
L膿ҕQÊ]_<Y`~
8n
 X|&,:T6	{@ԩS|vVm*@S+Iȶ\c8ZrMދVv?UW4:@2`뷋k%  DеW^;`)j#Jiu<u^"I)*).(%((0|҂HnDdQGٳmh
fϏ0:X$&5pPFŰ9arp7w	 \[WZ؇)JcZP^Gxe<ANoQ>{Eu;D1DHB|AVDh=*rD UK)BQklAZ^FVhb4bf3so;!]ܝ;97w|?{o`3BF;kb0'\w|R
jD!+QHDV~c$D.GaWh<^[	nV7킏>;_^=!$CESvI^Z
qT[[+i ӫ rKYC	Ą	!SNVENҮ^`7$`/9p7c+jtVl;!M	`f)8S	5J4WI!k;wSHN"A֬WNcɬȟ3^k/u[G=޽
 ^ ]dvl̤ ٸ1Gc>S&`ii.AG	bmxp9J0
Շ41|JCpeO7|Fae=+)dXm-F&?k,?~<UBe?N;~$ 1HX!]IR5sb^*
q\C"dN4 b(l{}AttH՚n/ł(H2ճ[YHbܼʫYpb;uS#!/m7ȁq!_@d0<Cǔd
.B
nkjt\FaFSxaQyWSZ1#j*
hpX)|WX/H̍N7Ga1 Y$I_4U#\h¬
D?m?}5f艹ѻa(DZO|6lZhH&@$iA\!$D\H\brEEи?9,1\5OȱÇ)dq.dxhfq$-8O3xF1! $5,8@ِ4yw8vQyAxp8p8p  -/)bOr @fIs(^<.f\ VtYKLv]2*d	ڝ;w.1c6mF/_76g3a%9ܪ4$I4.3Ǟ):`KŤ/K[f6yo?qϘWa%Si5jr2mK*`Bw/ Y^eo"w]w>dӭ۰vi
6޸p
TL^y
/o}咆(Qʘ bZN61jM7FPc	-yR*nNUfKq0Z$cẺ
bM
ǆfLc^
g`?4s	pUsoWi'nXMm%VANDo'a fһui4Ac$ߝ6҅w[ D3ЏG4S,*ژh"8X	ɐ(3%{綇TW>5?.N2oNUz@ĜS_/m9X~KvW] {E)e%C٪OW SbA?A@rBrI!w(зmqHPfI~+ V\NA$#4si7mI$IN @v<jC+勗~oem}`p阴EbɪgDO`rsK
{\t^t̆ $G1HnhwUHsF+aQo *Og~Vg~kixjb9gs7l (V^\4G
%%h
(U꽹xRӯ3Uآ~ W[6zP7 D\ϲL鞕HxS@5O7.@d5uVofpB~Ҭ7dXY*//G:4JTsiwsGO "ri&EF$A?N&Zkw7|C&Z"yvX.e<ƌ$C{`ќ']>Pß>_r}k)[Zǚ=r}}/~bHֽ#i0cZ8/ˡJ_uiR}aoT<I?*
G%$UT8j  QoFc8' 	A~6 'HMte&X
Ldz̘lFZZJu$b˯$l[ۍ^àLA$LOt-WU>3]咗4Oshdc`|葒d|DXZ/X 7Ib3^04d>
A_
qIIZP)!]&m7+hʪԱ
mIPg̞%rL~id]a8t,l+BJjZkbCM~zUU:~r<w\md/~/PJO?X 8qCJ76l.Ȳ);3=اǱ>3z7`_Uޟ~Oݘ<d{}^~7b{;1AmV]Ч#ju۷Bwr.N$qTY{NP;f?` |b6*g+S'ȝ*b3TZ*,Fg`v^jIK@dDUBHV TX}!vlK֣LueĈz^5(O+AtsT1 X)xs!ZL[SvI!]W8 ۫`L?5\S{- *Ru!GKVokB `Lz#"ݷnu	Ttf	O}4 $g̙CҜ׾1DBY03 !
p| jafedj$#wa+i]F^f
T&DxbmyOMW]t9Kxg?vdCqyG=n&y|ەP޽ Km/>##c \v{],#; jb"5z/;{60E}CwHVLzhVƉV$?s^E5=zRذDWW]Z־}u]bGHB
!ޛfϽg7'<$7y{8w܉{j~Ppl&(~/6;;l6$TK8t`$`TN‣hӉĹB	TQngY
*0^{X |m"4Mf0WYg(-+YUR\Dx}}>9y=@iؠ.k2Iy@vbV^lp,35}ߜ՜qTO,]z9
NC\S ӭq,:$ۥ.3`L!#㱙2dtL{Xc͂5W< d	vh￟B%,$dWPᾋleR
*ھB
eؾk] O;鬽G	b'::m`},?tv  k?㩾퇧
5ɘGl$[raգuo*.MJǫ.HyM=?ĝ?defC$)N.V3 # Z4j5~̥L|d9ݷ;^'?p`zPo;K{g1oKuUv?KԆhO8V>C&LAFV<UG`KNGackZT( Ԡj nXsҭhmW#dAJr
_ay̏?"}?Lm%Ѩ,vb&_@ 	UfD@Nҿ׏o(Gpxr
sp[p0LjY:>M1_}FO(Tpq^x}f!o(kS#H L3ųB=L-eFf7B"
?#\9wLFx10QO?{_DbFz&8؅>9P_6
VGj
ŧ Zj\LYXXIzH`)$|p0pv"cF`P̞ZxƆYw?=soˎG6N1DoF#['p؜HVQÊS l^qpeڒ?/O"9[~ߔa&~2#%*
C{@ cߪ'O"dt#
D4D
jھfm,R(2j''&&=gJ	`7H={^?q1u9ta/1+EE6I4AU!:	N
osҥ/1d`gg8lۆܾGrwԔA{!	B[ G A	.?x'\fȊҦ70| X60>F|Eć8DJ	
L1c0 Iܖj	S@{oy}×<@n
l0J
Z'6Zɘ\ Xhmv͙}Q__FFI3(f_ KVB;[(e@Ӷ-`ɸ Uh_=n<^}=qq'q_xcxB]
dBQTH.#!x.EYxK[c1'.+&a)_
XP3&"p'JLNGc8I`i; 5Ż!
 򡯀T3 `Rp$bh'ְ$nSR$M$
4M?"M;z) o'"BfY^f_xغrK[~?A(5\F:m. lo	 SGLgE) L۩p_<g\6``%xrϳO)M]8e/},q%O:فfaq8 [{U;o cgEiÇl6RQUqWicJJJoh0㖉Q
JP3◄ܩRv%MU`Ed^E(А3PڦXZ\Z#eee|MPx`RȸTBЪ2
(k+a-
LxNTᗟ~B\	oM%lݐ=`XjOT@ }P6#S<pyi{O鉨MF}oU[4${e19f	"Z"j7B@IPzO_F,ƅ2wl}D`⩡b
m炡`>{YFA\-mpI6.CLŖ\xϷ5*8 ~*U#q)QjeW\r0,
H
9ٙ8Y?v$O4ae|藗;ϾBIIʏ~e_FxrXe1
58[`Qͨ]ލ䬾\Wb")+U{w.4W".-ə)Y֠{*4ֻF.4x
JC,8Hh̆5rM
 H܋g"%iϬݸU6i[ <(FZ
ۻ{4޺(! ZN|""w3Ix}zgy6i_;]tp̿zS;tg[Dx)E[?OFc}sWq@7{&?D djͷ1y;o'mW}f[EhI㔋/8"e+}YM6l- m[fJ^J[ԐAl%A+bJT0Uc&2uV%W썆4/h Z~>}d!Pdg(r} uHJ}uvN[]{v4 M|
? nFowW#pD%^^}0x84/á=켾'&#P^`s3h`؃`W`!u1Vh=Oa68{ ʯPF ݨ\+jNA|j!ӴXΜ>TU	ʯg~(6૏`Yd  {O
muDI/y翳|9S%Ӟz
!k^6'A=0}ӐJlJ)~?(*BNi졑t0a|͏8p?ވ/w݄E
/#aC ă=o[mov3fCO1yjh@CR D-:2Qz+;S`C89$/VCyۯ;zWAB* 3B4#3X$i FX_9.$̕o~͛'jePT
JzaH*yx/ӎpQ`1m;.ǜi'd_uH۔AQNkvyVϏ?bg)e0PI&yhl%(sYQW~8۸?!vif]
 $5	{y{ O{2Z뷊<0ڿE`|zsVUUM#W+/<O9Af
(C(>f[c%FY7WR8| . ^	 Ca@zj[ Dv{VA+-7z7z}m~&.Qto昑vbEua0#ZL4i@qUb@dpUW`êU#OݾVGzuO
헣)>Oh!2CJ* Fl ;:U=mUAE Q*g8BFE	vI	
-\fM=X$K}QWb+>Z[̙a޴X:;.rp0S;y_.LO_tf~ylXl:l݋;ud,\OрFo6yH";͉5ˇ_Icz9ɰv/x'P\ֈAcn3U.ơXHaxM،|
@J񜀵n?>;7b#po،=஬=ފGѳ;݇(ڶ#G87*k[rYhfCht iƟ/jrlNNOAgUtSAHV5?F̞҃|x7TwpP*dp\38-*.9)W7mRTM%!mS awr!mfWٖJ0J#_F2~h "}v}]^qCIcMLKEQԾ?f5;oe,*^IZB B[:t4Tl]UU'lQuR[+onm
C&FFi6,
DGjЭ5Ωa_K=.:䩪
@=^f/۳sBHjjj7H6	ǔ$ƺ"	~اU#N]~K1*22s9/QSBCE)~ٰyJha8qʆ=.F|^/<~A4	Im{# [[FA!bQR\;:zLA)@a`'vpz@@yP(* `Lߟ7`M `pE(H(tҬI	q{%/3vSѨ*7`#5a LCRյ
ؽI\u?xjE$ӱ:Bb݆-z/޴Ͻn'aC9Q!82WH6U ~S蕟l1ZX(.@9dpx`Mv8-1
]]M X? P]H`܇cDSTTPM7)gP8 'GH;?砩Om?^>)Θqګ5Šmr{<PdEx12	;N_|ηS49J9kcP03T HA Tw?D)dP@ir?i{Yg֢{y,pРo>g[0xC[B'bBg XO`z(	A"eڹ6";S{(sk+!(ŲX?1pkRc-IKaZhj铍
PJRSnIݛg
F>,/7

K+~QO	vS+0bL_d䠱V}	Ԍ17V.yV
y1qE-={vE޸A++¡CGpp	i ؆_\IN6\27!-_?5H)ר4_u
t^\@/`g5.$T6;1zM{Eñla̟xfǲՇ0F?A~mRt`aav\0)(T
C HM\slډ|ZtOMBa^O,8T|q=Ţ䟾|Q<*À?ipffME/:agSc_vt-DiEYsPj횅4
6&iªti' O:ė3PUBf|8AAɮ8%MHJNNxܨ,WJm1JMQ&Сg6,X[0
T߈P 
9H9T{n
h07@Qfs%nRU>׋;^G(|wM(
®8o80d"}juvJ9XTEFBЗlW8ƿwdyC}ݳ^71 xx?Kh&!5{t> kJ[eH)*{'Dk80i3@0\[eӧYROUh28EEjCNG!Wi|[H0'*@0I`R 6]eIo<\yz^p\ضt)r{(#H=Ga5 Q5j:jqbʏn#%
ΝcrΑ&\
V]]5FFABuWjS
7~Nh@~|A4mhd6D1c]
cȆY-`@^@U-pXyu2`pydp{l12 si80x_\ϥ+A͸3G˪pǏ@YeMbOWڇXpp(*Ij+"Tsx@AL,[7O~">*~e@t!4qR	H~rMH#(+oDjDT;5d
2"4¬7ט
U2mVF@!CR'DP*<2,O"r
*ܶ@~tÇ6V{ۊ҅YG[Z4b8.]ozJvA 8Io
MxkhL 
!Mƹ"

{pdE=Xy1(t
%oևF+ĺ(WN)?"oDJ,A)P@ƳLm,t0UM
S-ZUMOr=9vb| 1*j;IUT	RK"<_N|n
Ӯ+wOd id|^'w^@͆~ݭ>rEGpSFcG Q'(y#|@-@E
}Q;}]5< ,+V6j$"M<x	 IIS 6uE!3Lp |g8 ֹ}}3W=D[pa~@|gf|8I/%%WO\
`5Ovjd'bƄ^ݫJJ5
A7^naTwk/9H@p
հ)>FBEvh@޽H}n@PO2qă="1ʙ@Tpu"4Xh
tA*ͻQgêc;h
~xJFʙ
ʡH`~0 g /a48.?D]iyDV[#,5p󜡠1NuWl(CVdUt.b?"nzqa \w0;o(=\7أ 
 q(@!XmǶU.D0T[&BĢOc
?8&%%O*[ry#T(1A`ԢLs%ϸl3 2`'biTgCgqz?1pXaCTQKQ햂9HUPSū`4gh5Uԙ[0}̡fJڰeE\&jiY%3Ʈ!w?<[>eB[Q%PP*AFCN/4ei@0_~➿}~wNKY"	bS?~`
M4
f*? isO>>_`9- Ef/4320sb*@YlU⫪B@@56CT`	_R5`RV&2Qk?MB!HLfp`ST7!;Wϕ*Vќ?m:DY`J\A
!"PeU5Rg64b(>X^\6؀Ph2I;.,ҵک ZՅzu
ZBDj@+aJt!_ Is նyKNN=22fn:0ٸг:TMi<!B^,
 uH$WA*ˍ`D*=$&%V}
x%R}\$dn			p!9%dHnwѻO\<ݎn)`s:)9	8Sa.fR؋LUΔCʘ(L8o`ٗ&CYFT0,h|^
lHFDBkKC*2wǼxA,
,9[ė?Îu(} rFJ
#>ׇ@i*Cx~=^$%ġ@ GeSn'
K7M=eUv})cXG6"4Ù B-P^[;3.w}M:"ðTڈ~_3v!mF·=1
WoɃ>9GS`߆2꒑_(:lkô}
3sa;o(<|
RgF0"Pga
Hg|˵J	6`ߞcؽhؓy-
@bPA̆ AS(c:]&,[WY0'lq
0c!)Wn=uFQy9=b;oܣC't7%ʷZH,RcsrsBU"1;<$M ZnDE^C$iE!d`KFF=ƽm6-Ĳ(z+|Gn|fR5%itz	@Ӣ*1S( :T  @X7+6k3ԦA!QNw Lsnw 3\/91ml@ gh۰|?NN
5qdzx
cen)n)y! rFx8&g |e[`؇e=1$p A

dRW _L\wOYpٜQ&ĆM["Ssڱ⣷prG暵qwǘ
E;s[V X$Y]*a%IIcQՒoqD
aph=@RGMIz7mKA,+7Z.1h<Q;4GC`10)5
_k1 "m"$;(>TmNTVg\6 R;&־fg|8|${f7
?\_f1]JKs'܌778mn9؋(8{tE3Un?B 
F&l_u:d/DS]ѠҁwRd>G&]?6.tPVd:	YTEcDBJj7X,MqA`8n`;RZaaa7*
 /=\+!'ţݒ@r,! WpL]u#|#|ȕxIݏEmh;NSB*(Ob`@s41y"4`
".H%A,:EG?ޮƌosǼ ~\T忼Q?=%-dWƏEbuzZbrq
4H4|=0otѣp5&8JvXFmQ&K'h<B	1o\tKKEsśKޛz7 t;Tj^ɺ9i}UaZwO0 E?/Ͳuׄ,9 	;7݌:ǵKu(hL0BZOoKqglpft6t"~@ÊU
n!T+_^S;?+4a'=ItI zD-	k!''^dfy:NyH7lRtkkߨfABߨ_+dvc
.w bb8oyq;7=T 8awhD	shV
viUB܈1BhSgEjZC![655-ո+A0z*)C)0,%q8m+
g)@xb`5Vp
jv`A۴oӬQt=8P:w83oO`3beTKe񥧘P&fIMO6*Kt1Hwa^j~` ^LMSl)[	Ԉ,?2izM۰{g{hr"%-$t׋+qΜ`ٍ6I=aQUb4BA_6glA"H떊Ր>ŋ6EXv*?V.
Ft1#DuU
@<\ 
uAfñYP8lpMB\قFo@u	XW\j30T;\Nj}f{K klpʔ T}
YE u 	n/V}w%v?Z_[tCw\hi;uQY2L7bǕ5/$)ajՁjAun,2B^f\Bfgg[G"1ƏFDr*W Q,xd/)W<~FS--aI0Vu릠n>ǃG^ZW(rҊ8uJ<ZSEQTD4hبb.,9`S6!нyELߣ@Xa7+O@,$Z:2Ԗ~1Ɂ@ vGP]:
O4ߍQ8c-ʘi0hZ	,sf
#4'
ݭfjAAT8hwߵM!#WE@٩Vnn} 6kMǩ v=M
Lpo-ߦbg]vuǍx8x챇
0x.8s(x!}x<tV|/{Hz
YAUQP:*gnfu+f?B	>Ūw7KjO@I!HCDEbb"fF^mۀCUu4$x"Q	Dؼ,)~|	}r(ɵ͸pׄ{00m0.%ˤ0(}%(Ht/*[S)¸R!4Z D&C/Fu"Ecc#=e((fW? x@S{r:d*G1K .ubQ'F5M5zb&(XZh0`ZZ
ʯZ4媪/--U>zȸ;RMuu,
{M@58j-w
0$j]V]:8"˨,"eHtt~5O\🕇4@'dBMc4 jh1I8qic߾~?X1x5'H&NDY0uJv0SX܉c`QB1548w4O/0!8c@ۢ]bj`d4<͐7y\GA#ן_\s2P<<B>V]H{ţ
H1Xcǎ#*d(>x:e7王~5" e5623)dܓϴ"eR#lt<80Ƌ٬dsh-FCRFlPxEHZ-̀ȌA(έu
Ǟ97Z*,/"bǀ8pXS)-22435xN _'NǏe]9=s[Fک/L;!"ӇPm'LƢi[^R`]TUd[Co]h0Y
z}FDuLchx=SCU;A:7QvOIf6@ @khfަXIKd
(1}iiajBX
 3ׂ`!HŪ8 K_ËX ŐjR1S
xdh{ 2<ǁ5>D ,4DS"E|eD]xmU~K6(M_J~7F݀9îűbH+Uퟮ=aoAUHp,ԒO!g=@iXxzGfO $+X/͕ @0hU$V2ʀ%˶ADV-pf6
SwJ.+e@;
S*,9NRk2!
OAe	QJ%>
fLo&m ooU]*ع[66UW^w35 z;b'LX:I(F9B\U f LRm̠!v9
tg7eqĚ8NP&&Ga?Gh:Mֽ CScP^mglSkjB{~v5Mjl!Oƈ|/:h@QT+2;g X4h@7QBWޠ5ۃOmb8R.̞@D@E Fq/ƨ)f.~WĠT6cѨ9Z"Ͽn:O#Vn]}8ٕO`]ɇXkwDW7X=pFex<P`AH+eT߄roX:"Aj+P]üb83ѩMm PH W6
ILgpz
WA :!oP2d?I? Ef pT
ʢ?NvLO`x2SVwu:sIq01VR8t6ܽ.;坉ۿ矉3
 |uv*wu&Ve>iv^'_N@ea&*iB}ѽUх
zw Y) `Q
b#EGS0E
lc`@ BkO(b:xiiLX*dE, #;^]Px##A@ac(?#?`!^h∑sIh1"dq!AڜwF;72(
vm#(-z;׿2 "(Nz>%Lc]Xb7pzqą{[@lva^M_ro,­i"G̞c7{Jh0umpR B`zB4]:Ebi= ;uB6/4YbzSqi
SFsʽp]ڿo`1\-SϜ-6vmE$iH`&qPOˤ+أ+ 
@`,}Yy5
z
2['Dֈz e6E b1Uf
a	@HikJ(X; +n*1 `u]-oqYpա=gr
9F]W33KeHh׈ 6EN/up<hx(^rrM {mY&[⥾HVk@=q08U TDF|>zc8Y3SK
b]   @31e(ﴚL2= 7
@t@8'D`01uT	 F-d"AiO	4-=Wd{2~t	_Yx5.Ne  ^>
 (\|sQc$:B
@CynssB#0=7xWk{e(wL R:)$x#PaHɷY5zaBP	O2sށ=;W42rPkW?W3-(J1>28l|.LmӋݬyN4W##
)nKmoi` 8\Zzۉ7Aw];QzMTUAݔPLFҝ8@,-	jY]$b,qe
,  T=O|z.m"^}~͜=e1P"Wck44ڻMpс$P
]s.HɸōM\i4X4RԘЕ)m HhF<#&:zGa4tNj _o|yW?4jzw"3	kQD4mҐN!E'k޺m宽b%Gof_.>O-XL>X ﷌O޶ԤGJ'(͎1fuNU>Y=p'O1 =T<_GnLpxK|5MKq%}
9X-L\
LD"9f3i.~賤Rf_R|F8,V
vm0bN:I׋KQdE#LVC*CaIjOj 1VDӅ) J أh4: Ý.49<Z̓C@:^Y_;)*UՁZ2v{Bڬ=X
>Qot/ꧏ~un)--~9HNL~QAQq\O5}@ yaȽ\A'%4rT
V!LV/r ]}߾Ш^'ahWSwZӘ++j<{LUUuY믿v ǿ)"ȸ?!m(2k6Pݻs<>nAod$qNac6Ɵ4il8=bT%*q
v]eD/# zj5jWc|V03}oz<	^<^GA<ZZM
S&iM2?`˗oavg 1 Lk~'[RdP=yZV|O)~g =8+wjx;y`
3a<f\d|Mathke/
4
cϳ.^Fr3)33THz}Nŋm΋XN?䜑7)LSVh00SHPy(V=K?R@52uۓX,lT|} ]=)"W  *t$rR3x`aaaarqlKb
ߔjNGaw˓N ;yTP^snKPbH&,x^}-&<~[ mkmÏ<L
333ijhڔ)efn
i4ؤafffZA[==3_NȼK:zt[ٝړoaw_!P4m3éؽ;ә?sk
ϧzc=>'ykzW~\ɞ7yz[Ξ/yl-#\pT{.׳Jm-{bߣ>eڷH,PF1?xfl8] ͔%M`p̙cFEw\m0oJ}ˈ	8&f&Jsꀒ",u?DGH9S6ɀB5S K˿-cW\"X,Ҁ`vޅo+z^/-yB6̜M.C@okoX1b~p5G1sjޘLU((	j)%#e,QI X,u{[+zsN՟\
:Gg82QIwnRn%2opǄ|nJi=x  1žԎ	ր ^A?/8KoI<o4H Eӷ)ǿYT9 ];쵶dRO( QXӏ? G/F{.Agq7sTלKc=ghg\^m )dlx"&To
kF"[)&Gati%钌=DE!n}㳖?m6INKMt3 Vb͚-ӣ}[^x翮/. 8)n3tDѪN"lw~	 YD4	WS'Eۂ0+64,,WĂçvF@.W1(6hqhYl!8(u`h CT_h/k??9+%g]6_x7b$d}>
KczftBܿPgd3O,\B0C~RAN*Ba&U__b9 ѐ^HT9lш8ȨO5jT-v<ܼ( p{(.*瑬j`:@lOd]
k<ִ6lK.HWYmNC;j@]TP>'}pWOlȕN_a +wr{}pܛ
r쮱K_`:De
YQ69MG2ޞwH"/@h"c"|Fi)P~8|OKGla67t eVsL0oPԏ"Viy۲3KܻYBȗ@v dsCo,*'?6>Ag]D"RM$\`lGJϖ|N2ןO@h6b^(1w]JDbO*H45C+)`
sdQH/9cZ]("Z/kT}31Ų?kSf,j
d1d<YzN+͝6j5C'km?9ڲeQ D~SʔqLlh 
k[h?{!
H{'^_
cQTH҈|sO75#r'kVK}]e]{">!}6'%2xF~WOBe:q3LY3%w1 A`]D mUBBzbmEupAOdPyG!gfRM6fHȗ͟2mP"@F)677$Rݗ!P
&AeY{ Ggh1`P1?)
cXON69dw2io}BNVrX! j
300E`!px䄊37hq6 h<գӿ9)s,>~wCjjjq/~b/S4s8l6df%4yFě05%!B%I|-
簢Ed\ֻQo|@Kyr`:c@bǇbdeFj,(M}GY[->vfߔ{ul=tDL}zuyg?\K."ߢĭ4lH
s"<טTSX%NfmHX쇂THqBB)Lx!2F:bt L0qotD)!F F1$C/>3$
# ,>vVǘ[7aㆴ6Y{NeI$#zJ@ea"o^]u"Y)AÎsH%'^|N'w
G_@gWā}4f{SDg*&x;Xh0 !afhm/{HQx忇]RXAATDdv$
pDV5^^+@%KT0$1]ÛL(4|2l;8@ջq*xVi D=ED%E!Y$8np&+6'm PbsXjTp!I6[8MQtiۮu
H;[ֳ3$`:]AP{N=h j\5 7bE{?VbȘ
T &'$H"/]D;S(i׋Ae2f2?v!%<9@@e欳 ;S(]߇xmsGR0C]L{s7yoXHᛸ__He
}:0bB)L;'%O5`0 ZqI;QslvwsU!%
,{KȮo/=<,GKa&UB9rĮCE!13AbAZW='2*=Saa'99U/Ɍ>Hrr?EEET<~<aXy&SǊߑh'fP ӿVh>\YBQPȫ^r"Ya$H!/ EEHm[z}Kܮ ñY-ly+@d0Yvmv˗6,P1ʿo QsPTkQQb,!&kKWQ,./ êµ#̧+!X_v@FȝVHMzMR	LCQC7A0{I#9{¯)S%Q-avoNsW51o; J
ZQ35mC{'A]a;?7S6O（Fh;
n6MO``˥#2V{dT{DE°%ռUcd~}<^7[.jRS=d#vIcfOO!y{],keGX,p-YN;QRRXryH__(.
샟	Pph)  [Mf$ՙIIoCck$qioQe
d|un8{ӳ? sNM~3Qz#u6̫;C-re LNZM9Ba%Q6rՋ	v)s8Њ L T(|=e:俷k}	mL4$.ql
>gjo7'BO^DC)^|e>w9qV^Z	iw|yƏ4yx	Ov()]Kc;&ӁG?	06P<;1:51$
nS=	Q=qL_(UB^R(p	8
QVuzBO`n
2}
?sem-ꎨIΝnw
4cfC~Q	Q\ ''Ѧe}kNWvU#^of" ?rMGUpȉq?Wphy~dѮ훂1
~2q( cze+7YHKNrk{dحiPP/Nnְ6&B$~}GG|z>zkDf( okR#"H|ѷ#X4ScAXꋲ0 hU-{h%7h)>Msdbe}HV2%&FIq~m .mm_:U˺|^/\7ΟU&'"3Ps::,++x}gh(Q~oE7_])(.f{ϼ΅}5<g$Hя7BʌS!'
 QDw0 *&WDm*G+س!I ~	!>Td顇$:z<bsq{P?M9͊2jt7}Z
xMĤbĴ}Za|0vkQܐ	 Ey}11	JؑSܼbdfr!+++#!>uvB|

r{4~m;$
Y)({5/r߿Ϭ
@f*u0e(yZl֘'ܹMc)B3x9Є(d0-M<vsɉ5i^-GOgZ$W=wU(=.[5J<v 6b Q댭f`ѳ	<
n]aƲ]T7jIfoaTÔ.G!a*n=N4jx kJ1Hafm
Z0{;[n5AKqFv;,>PIK[PqD[re7a{a]w"/DqI4,^!@FoyU69	EށFwlJ./j_8㩊LT )̤J᝞+#fMi.DjtqV!H|$P9XяIj@WV6v#?'=ɼlE9Q
jxN	2 tpS%//lLۜR|tv
2T,[}'7?	[NcρS8s<nN8^qGtI5;'9YppIvnݍ"z3yE5Oh6y1 d5AB GmVr
OӰfVrиI#UEACZ
zȲOU"ppF
a%Pn:
K`ٺPE;"	B|O5Ԯ$ͪ̆ ko^DP
uӨ+`QgJ$ 3Xh[[am	@=vtxr^Ӱ{E?Xӕۀb|\M1v=DN}FjlKvR AX]((o]`Gϒ҈bd V϶i&oC['OEsdOҬ.|@gQ0Gwo}Cuv,WՃy	+.kyG].QҤoo}{K{)`#V|>(5^X}4R\l%N>]Gl6ۜRDaM`6Dƺ|ŽSݶ
G٥%q=
%D&P%-ڵ#t]QFn^vGWZ5qw+7riߺtXчl\=B+y1~/ze3w+YR\gx:Xذ4lW_SVU\AWN~a2p)2u/?#;O6w,[!Ta b X.[ 8/BrJSTۮDф\h0Նs0mA0k`hIߣzqn$*EQ%5?pMm \Uw D(=S6vHSRï3a|?-m FWGAcբڕ{HX<_FWwtq4hGǋn%eLM R9	Habg۶w+G7
Kn4v.xҊ<A[A.T#թ`ذg2!Df}"o\
(T{!n'BJ Pbּ6ɂ$Y@t>{RC	Udp
nU_5,{M͏aZJ|I.3t&
%I_&ڼ &u hl]xUr<ks?C,8J:K:$$$š9
=.J)XӾ"33vL	]9OHN5Уs+<^V_@cPMi
`,p/|Ud^EAlL`xJelu.7|>QK.df)OQ9Q޳$Ex(Υ		P#'`.!ƄN$@C5|cjS!b; +&ڳik!Kz#VIQ:->	"{ "Wq=X#vpMhlUͿP-=m;qb"~67ZW`! Hq.{bmu++2sXfcG7[nX,@O^^"A$TaǦAAØV5LL0ai@vQfD|AUp6ѻGKR;`+'MUOؓ"z\ߛjqC2I!DjݻяT{]sػ]J
Q4 @qƭ5$"fbe4b`QN-9U&sOI&Ju
4
7̙WPG`|U$u@P:Fv{Yt,Xv'f~^U/=kn~TQPfUNOþE(,,K!+ߍ;c΢8v*~߆``fh,=v+zN[torpڝ /{ayVk_/
u N}b˝@)3`;`(qVdͻрkoӰU_ģ}$'zqIny< /OI19$y/J~DgeH0wOmB~?UXƠ/@)/
?L}"C?(]?/).DYfR0\j^/heN^(EA/ )+QD`J<}s{6TTcCf
gN4^EW^=Ǡ br!A>I6Q;7]
^F&/ ϹѰ `|皶poqW#wfA7m.Jۏ:?{}CKdDw8yhCU`N V .c~n
ӼN(!pH#<yOKUa !ZTʌ"w^ *
2x"wF?0J2"[+>?'$n؉qNݼ`u ظm~~㕉ݺu_KLL\ E$e?.]Q8?Ʈ
"~ϛM5_{uj5\[f|T9;0mToqB"N0G1WԿ]&hҠ?A}:%cMc$5hGp`o1wc\үWzM'@{neG0텞
jBL72۹vÃÎMoS}VLF69,ٳ@jZ5ㆵvX,gf;1pVoCtHN\m{trujA rrCL3	݃r͋@,,0Ŭٞx/6+M`$ X~l?"E.ía&Q\G!)^0I]q~ HA΀	:T6]pCrAKpqrqԏIFv-&j-LU|$R*it 
KT8"AMzWKO=&P"~[^PSKS>԰g0}`yy 99[|5D#Ml%
<ʚfU/5ɳ%[7{aу
B ,ƵF0pt/?_aW-['N>ī)4f^dVVֱjժ	FoBRckz>26`f0/dLEWݗDK.8Ex5>>n¥z`30}jP37DnlSz!Ԭ1WWKɪרKWذZF
ȭ׵Y8{zu,ݲ
j&}}ׁ+V%!^0!5E4-Z8퍏[K8XcBa
ǋB?qubGܢVu%%@v&Rf[n#0~X4s)U=yxk#n_]{[_G=% ȥ]PE$4+&nǂ	LNf"Ie}iP- Ѡ4IXN0&8%Ѩ>i{3\uRyG9i E)L^&:_Cý
)JX!6|`vGpd.I=T3AfYC~ W ȿ^ *oaۤzuu:@pGӎXb{]_-8#´ȠY*^]h3+Hs}ֲr=U dh%ja"Aje*pxkŎN:=;]{VZ, \|M5nճ h(A!<|@Z\M·)?VY2d*sosyn{"ڎXX5]Xh[
PamڜuM+&[LIZQ
Jor &FXn6azI
/*iIݹj3#6bg%|
|>oYލoz {]_/SR)_ƍmH-ނV$GB"<w-v p" Ä+:gUQF(6v^`4Xj$ҳepT8H<	AN@5J$^Oatadh$ e$oq p \KRne)wpyh0dא5u,usw>Fbf"\

́Fa֌߃ WhR%uqEjN
GVG!}G}Β53we@뿬VmzRVilCI
E   ZJ	Fe;0F VQD#>kGxRfښ)F>!K |&X:fԠm[?Jbb1qϿ۽[ H4NV9++qO]O'ECa4IBWYY3r߹*
>!DA'#B sHp* 5tF[Wf,!%#.@ߟ\{F~b\1ic_FPf\5%rE2{lUu 9g,k 5rt" HNk\BT	w$BcJd;ܮ7=-MPt(l2w^+8(".XF X%cKLvPaT'ai6J B@C˕_T ,T?6˝1o-zX]C8 ~ސQP/Qh0c85b]u?~W{ݛy4Xj;-*uznن}7 32Wd #J`'/d<T-B5BR/trj32}	á=Ȩ*;]L&wjzgbc˖)O6-//"
ǉ4bIcT+Ϳ	-w.Հ\]B̙W3IFx"9DݪY;Ѯv\
{1n+{H^cZ-pIu[IDKƾb-Y%8u{îTF/Mn2nMy_7Pc2b4OSRd(#.<<:$ÐWTRC44A^׎T
/:pJtz~Y!kK54+&.Bm7K΢'GnK9 +:h10~Wq&P,@Ծ׌Uj_auL6A?|.h[w;`~o;USz |VH ,	p3gvۋ+i Ζ՟VJ4DHh鞷gA|@eЌQBWFZI(jc{T{'}uL,U3~}G*)R+tiJJ5IE#J4 POB+
'c'g(}6"  t+jY3=w2,?V?pvAZ99y8JEGsL,)W,9Z M䐐`"3|x\% (@/Ac@K1B1~ɊCKx	^/Ibe rA'`'L3/l(#E3ns wU`̤-F]c:D𢭀 Q*$
6{j*CCo<>F?>HE~H7'<W&r
/c)5>x߯M~Vd
ꦧ?{7bj_#H4ΌǯOuf1GvP1bٲɈdCTȠ |NtO4_,(tqpVS'aGHV+Djpb\a.A:\HC<f
WTъ$(ЫmF(5{3
g^Qҫ)̤,<td˾bS߰*v+l	1p8|4z5P\TH+E;٬_Ƙ 5	GK1b	~G5pp>-au1@
N-Ԝ՜#`V^% #霚8MƎ
qJHٚVo('EE@q.}	1.4X.S#CXpй>Hv쿢: 4Չ/5zq `ׂO/7T#-6*?Dމ.
/ơ=H)}>"+=?Q

!L##CDZqOq2o.]kFQ:ExG=DG 7R忇?^bRV +JSNյ3FV(0%
\ŅHX,TU0	^ cw	$V~&r\.0ʸw	7DJC}v˸
bOĖЩsTddb붣hQ-	6-[vX.!ٹcgi7^qy
bԫթIb8s:[@Z)HrXqfC?/KZ@D
,Х|;+7
|Yr}cbw7$.cE͸WGp) p_	q_؋ׅ0p߻V"L`zZާ6H@ôJ4P1
`rI !RԼ>\FksƌCI	R7D?*#o_%V,RͱLayw`G@L
l{D
2LH'W	zgE[Ւ0л~{&:tjVX"@ U^'ȈD%b'mŔ~lW/].Eh^Q}Ip%B*ޠ.It+h@#@hUfH!{r)8^fӇ쓞JR:|;v&8У~<b#8utQ(ޱXZM[(n:b}رvDP-9#Q=s.NtG e녾`IA0
03QsD))}ciXWcjdc+(q~($>l=x]sj_E!R/0uӄlF(B3 ?o`10mQQ׋o]"E?0hO+&p+
zp.cv 9&5
cd8ky*	+qMLLK:qLxYp>Bt3ا"%f(JqdxJ&1ubre5ߣYX԰adZ՗R"\';w왚N,w Dv*{	Iֈܠ_>CnkwWtHXmgos8~[Rj}2qlQl޸LCmZ5cC_rӯ"בG^nߡmuQuC~Ff&ރ
78uۗy_	mbRBb&"uRfKIIYլ5\[KvN{D=J}7|3{%NJd_.p]`aNgȿ1wݚ:@
	|}D*@CZXPbIL1Ԕm]s@юhչMoz$D}̓@}(#>,J4mmU  !nI }0! 	X'pwѥLpo` ! !tRq}m8HT͒h)I5CƩ"I"i*=Ȉ"n	RK4B:>*!^=z}-f-]P$g3-*ȁ(7oψ$(}?+$l6	mh@X	#*YUk5\3~#jozvy\ac8E_qi59sO-)^wɊ#{Vy
@j۶Z@cP6/0&O0q-~*1 9?}URg?*xgfUM&i='eyN 2%^Tc	uW4q[w &Ɏ oF=E6wILLKH$#$$;# H02MCB[ｱQ]r6E{$Ui:\:ڗ b2h7f`$LDנ +:4R\fb2FC]g*PU{Հx>eGaJG~b-NPӪO~iG?@Ҙ|Z$;u|>+7`N 	5l#xEbHxD_}?nOv-D
D=si
۴}B|4;(ŭ@	S;Gp`|> ~+̿lB. 3+W}zϷ) ވP[_,"B'/#atO(A}Uu"$Yۆ	Q}.X[ɝμ dP&p_8#sVHyPhܳ.$;Fb R׉RсXg	d0s{o֟2B00z\^)24d.\( Q]kf~ތ/]<t[
JMFkTV^Yja΋ͽy111].כ黢\~Pߜ "<m!*%U;3\jV109Q(#|sRW6*#1?RE"1ҙ"
2PjNa/3qYШ&
3pAW30qztwGq`:JЕBT4'3-fcd X2~ƅc0ѽ)ta.5¥f#np_Qa_ue bjL&AJ1u"ac"bİ,41X"17ԷVlêWm0(F7R`L#j+I!YWQJ`o/MP2.ϜFtpmJa2u?Dy	w.<Q/)ff\0Rl վ8/<+(2RRRph^h Bim}v>|Bf
B9ZKay?|sɓs@L"UL!h[\/h=aψjYJ^%4;\0&"c`C~Ԭ>%M8.D
B@h+g~fS^i*bW*8.|\+{+8n)m O~K"ּ{[εIˑPZynYYz唜Q wHa9!11IR4?8"EIP$#D_3|tK?&H,b
1pH$|+55P4 >IHۥp!y$]t.@]t.@7Ka2 ؽ ܷd%[uN߫+A u])l\O
9I24QaKo)-kj%q٤t.I*"ZkdMKJVNzB &hn觵&oumYFZ83230ʆ)H fp*3ƼU[~2e	"(=|űwHW0dw۱ r8pa.[6],1ᢖG LduV1xͲZo$K!B׭ւB(>>UkO!/ gPySUhDS>2F`;J<{׌ -k6A:x=Il:C(&f{f@*,}oJ4BVOB4[WQ^#"@ &tF3!{-2fxz]e"_aJDBOSK8P*zz-6 ۮ޻QY:tiXOϖ,]k蛟qe˭ I1YYdu`JC7п HT4^YaV#e ED$]TrD;X,ތ uZtxZ lRMgrW*1Auɻ>zyގ]2T0t@Yr>
Hߧ{G:ZgI
V2xҩ
mR@CRs(.
JS$i|ӆ-Q)EfdPJO|@>ǥ,(;e7 1YR<#./7+{7> Ҫ%I'˾]{7
d
5WB%.Q!3f=`B'wȹc%	?. 5z||:˜ܹs7r054m4ưKYߞݐQg ə_:vE
2޿Mt8|GhSIII-1҉R4 [Z*w&qVJFR
I6} +O}"n+CÌSFEd[JI@y<˿~% <A$
1DYnM_/,,ҮnKYuoÇO%;K\vERVIrRִq6Чkȑ#'Xt 
{ZS|CZǆ5ٕW&tݽo29c/_y&9=ß_>KP1"B(L-
_Qc _}E
FEZ'YS w'ƍҹ:mد!SY>GJ'Y<2NS!"FzܮIjӼ{7آ(ުl\eZ>+I5Z#dp~މ?kT@+
Պ?4|
S91E`%$PW,1*\BERS/
a쮒$C"$_\SA 'RzIώ`?U,IQhjzxȼ
`VwL=BCR%-
V W6S9/w(+8! ^m)y' )jPJ ""	[d$ >~"#fMv9tz'Og$J*|Rd3uQ>I*
xfLR;WEify9l<K;ׂY2".vOU7ϽDo ˵ꛇ^*Ϗ?]룯5?|t"((AqA[6K^nrBJJdM9gi̬=WVW 
P%rz5n0's)#} gO=?֗(*AcY Py,RRQ#-_(l 
/0rOϽ1Oiq1pܸ	`
_-\޺FW=SFM6[eR.J7ywwʬzd3_p`)jmb3_}(HP"V"e)EB̄C
hD`%LԔ
Y8U %V&d\ٳ&~]Dq9Ʒ^֎yO7,
1kh$2D g ^=IKڵUZwRP[u{ۅϮK*2$`Q'ђe؈Ͼhum2<n'7kT|tN>0?,HNI5$(*,@:NIJE]L g|lK
#
`B\1AL/ee2Ȉl Wv
ShӼNYӆBS~c~c{lj葓M%m*&5ѤWHƼI}>EQ5*yݷY7&f-Jo|M%.Gȱ/^:IeE	Fd!
a6	BIR(Pdhd
^x
ݮSJ
fYfUSw,-g_dE˖HJa@caXj#2P%5		Y٣asztE2+`Aگ(껤F.JB@cot}aBM&wCz\:ZMܪ~NJ!}C)mwDQT`5 PJ2jIH}ڵ (c ןT;۷ҥK_XGHW,4, w	x섛 uKD2ʗ1qpm>$sRO3烚4eB!mҪH޹gV~ɯ4$~ܲA:E\
7nD$\a̜J <cv`Je4͛׺s?/ʽc;P(LǋC'tf^ZvFx)ճ.VBu%ЭE(2Okvt0p9ѾmӬG~RR|Auo,W6 Cn땾5xiڤ6BbI
YYژvB B$
j7&ȿ x<q~ؘR/lv"ij>IfggQݗ^~`8堔WsMF+P_;K
quW+~؉$ |]J33S͜G;>ak9ReKڧ6T4nw4Se$Ya+ݤEïpCIb%>sFe旀Q1iY%Ȋ8]KhLd$&AHMIO⺻AN~z,1jOk٢Yn<"//$JKq)%E91ئK4JZ&2ZUoA
[jϬlbHȳ4$b$i~ik4\'ŀ
N
4F!j(Ǿr&+?ޯoCv	`
xgP>7>Sk,,)9ݤ~[eZZZ#FtTFfnșLI	q$GKO0/BP(W[S%U,YoKqmYOQ$ax!$H јLZK|Z[LHL閡>_qjTKwiBxT\B2۴TմćtoW#.ʐ㣚	P_,q\]yh"c
O>sOD
@^5x`֭Dni4u\щ3ؿcD+~5˓bIDA27B)zδTInn4ʳwb-02 #!!a0 ,Ҁ
NѨa]׉'&iD$mLs`Tʵb
," b*	Onwܾ`gRV ˅fB&%%ұSNetOI̍!Bň{-\.$aGg
]5zW$ժ$_=vqB?YMww]Vu$In|F[WB$ EWˌ(cE 0GDP&{
Y伃*Z99ʫN^1='yB'$%#2bvW|אD4nPKm6?t(SK[J)>f
ߤg
7%%KL|
%0:><㫼פ'˼T3Y
@C&׫>Ӹqt'y!Tǳd9BH̘S6,V+n]ep MGNxܨUp& 	r;߿[Wl/K[,s^\T,nC0b~AL-4iϿ4ݮ̋9Y7̀F"Ѐ |̪5(Z7M
VJdpwh\\aݝD.7/FP<)Il[~` CR(b,;>ꃔ!RvRfWn-8fihp +O&c{}*_Iu◯FersOدkf2B<!*93a_ggY "PP S(  4`:^-|atg!U)$51#SWtwDX0ʨae/A':Y;;nZ1Όon3vfzGymP~~\DJݴyW
1|*!&AU1vZjU%7Ww)91)eJ&Z	=M$%V^5-+5];j3|s۫W1vv7{ud|*騂*p@1rhm/=ǗϾxM+T~Q(c=i֏.z͓rqJ'gPWTּ -ic=~ {~fRbRʄ.]`Z%~At}UO٣2s3xԼg>ax\
{80"]\=·vPE'
<a5zאM p4lm^Su{~غvmjD6acښeǷ̸?N,ۭXEu
JޱH*c,ȑ#54h\wnQk>3)k7IکN~DY-	#vجc/*^zI^[6JZ$}\*! BU1".;Le]u[7/'yhWY .A%2 /h
YH4!V>,Dc`TH6F>6:>j7ڡ
</>Jq~hPF㷛K5GC$'8jQD10T=v"{<W+N^7pOFR{Q
;¤z9=|Ib
3׾9\@/9ߙGc͡w;L,>-VEjm'!6.Au!FCL8ւq>&R:˜&<U䐾E@"荆Cip5&Q-շ/
}H5UxPJd_  }P?w
5{3huqӣOcB[6xTNN*U$Ivj1`YԫY⷏@)66 CKܶm㧳!Xn[uuKiذuǏaYI }vVcÆ
Uֺ$;j߯<λfJ]~m8zpYE>)Tt7P2:n,RAb	ONg
fMu铿AyːZRa!w?hI	hլ&OỮERRS8̜"<؝xذNHꍵTIwE;]"X
m^@>sn'C  >>e oQ o}y~ѿyӄX"FqA̘-?@q\ay!e}7=sTnjZFԯS'麎*26.k^520Yc=&O[QY":y$TAG˯E	`7>Һ^f˺\JV^bPh}´mppъ"E}hۣ?./RtvѨĤ1~#ǽMKLY`k!Vg 4)=jr`$pJO3 c3\Rj5}e}wk {>xd
Gm$N׿`ՔlעA\2ñb^̭B Á]⩳uOq붝?~nH(U,s[^|Dc5rrYYLl3Clū79K@$.*Uݍ
b<z?=ʭ>Q p(ؾ榁>?%Q,S^[䅜1FWYoFvb)VELl@@!@Q`C^(P280\2F$GpECxiٟ} wm"ҙM+şG;`wƨfAz7bkmգ󛪍ۓy86{}?$*_~RFn"W> IVy,{}?/<<R{댆Ng{֭]ɓ'8p`_u:[Rh!mlߤVVA % <K,@vnƜTSV
h&p;T=ذm{uԫ]׎ڵj@S!3;w+7A-<MOETzEK/x>?LǠrA۰u\ЧZtT9^$Z%l٠+?_Oj^/yρc*X@˦k&$-[u 0C~OQރ_fQa!U#[Ҕ{z\N!C\?dɒ.rp%)֋]N^[{r@XD2)`4u߼Q<݊X0)##9 	+ZtɺDC"5}uICTtCY-@PaX_|&{OY3Kz7jTOBKF~2W91&oNqu[\/bbE>bc+`IWݯ۰&ڷjÑ[Ib/=@.''$YѬVuDe>9񶐘IɏFzuPn|E AFB l8q	,?rj|1#`,=Fп j&yؼm'?	>*qq卷\?-3`Ra`
Ǔ 1˨x'*3R(0}L$L&c^1BuP	ʏ)`^(b#t+GD-B]JJ7/nټ~ἅ	HJS|oQm61$xZ%r}о]];XagM"Y`K56lzF
:^~yyU/92x@lBVr0ͶƝjt
\o%̢L\C'<qd/4ǞedP)Jef5oP!_dYѿ@ɢUBA|T+6.6
1;b˔D/F鏙s୏ЪyS?~4jJogbQ MJSYR W}cs}hӭQŝqRIؾfX2 VYZW5,8xdҺ{Ү⎪Uf6XxUOK(yPx}=6C:Ug
2JehYPPBB>vmwo
jBj
Z[$G_ v󳌵( ^&
aDY c{	P
k6PT{n&2г~*Q?](t3.B GT|5аť,*C[Af
0
f0QzdDvТU]V8XV{o߼ x'kex1j}gt5b@NHZ\*jõy;" 8PEX.(±'ĩVA!2"Q?_.8ؙf[@>YpGU"\V6Aq)l޸ŋvvͯ7+UW3grtiU"8C6,@ĒЀwʓQEMCxeⅈ"(%ۼ()u6,rU"-?͌[`czNխC'_Lq)
%DݘD[vۮGUCGUzpZjT03sMc6C#|FUR<'mתQwp5jت
4G4$8)foo	@-X8 J|Dۨ>}|<rIVB+:A^~4JjBb^%`~9yU:nf:hcݦmض}'Uhٸ.<*L[s41<|NDB
c1ޏUd36}ռ WwFRǍ[2jQԬIQwc7믿n#oܬa<Ne$}oLH%BIјkE$$% z
N̃<'ykbWOqCB)$!%`	]ϔe
;U8O<V; Vj0$ivsNLruZ>&d,(|qi|ZD<[쓣8~I~г[]4CL,ˣĥUΰqRl~lͶ=ٰ?߹cAǂ=࿱iӆ廷cR-0w0d>ozµq+{	\8z$V8h>Y>$ydc13&_
!c$cԕhի=7#jHIK6?,[0PiE:NJsXfSjㆣF (I5PZTd%{ْc.04l^rA43-׆%1?.ƻ~D,VJyVh`oW_)o}sԪD2ogJ3jWwjpI~L%zb_ר>a:u^#"SI^>T,Q%cW2H73
UԴz@jW|+>l o;s I)ɚ'#)zѤjEN0E,̢ ;'xҮ;oP.bPQN?Y\qT0rrojUONB&
QNlVdg#gr̦͛V/9Nǚhfvm7# Gp\tZu-{θjJ5{,607oNRGAl:fLIHmOֹey=NdϮmN<23yV&9*R	t8zjۤI<bX,XQڻV Gv+FlS?kOdK'
p.d(ܳŃ}u%`<PjP9(^]Ijըz=LAhZP<VL'L{ZtknΈG6n9uUt7@m% >)^00-fyPPZs
~|`iR"z}ʙ]NlP* Ng/?A\LJ_j-I%8r$8}pu~Y>$
o?[@T>@\B"jPAſ![6FrcǇ-YxC'أ{΋oYՂ嫷ּjUucJz*TѐZH֐u?_3<DBMB)K?'H~\q	}~Y_}gfLFԠ}myD=p?͑AERn=x{׶1~k;)w>J;oA_!.9⾊ƍ}1/~x΂1ŧڟttox;?ȸ{T@B&/=+	I?FuZ<}ّrٵa]&c çp%|_V(VvN6^f 
 
!b~aUuݒ^2rk<򊏠j
;7 JbGUxr5P%%	EUp&WEX%8kvnDru w@$^ch׼M_F^ʾd	d^&=uCsMFكAuw>rn`iݻg^@vb˖-ITricc=IY~w{o_{X돩ja}$|"[7ņ4#b'z$bED[x.tjR|@L"35>USk7t,e<Zxe/5K1V]}iKUM<\y\eg-x.	vX]ٳ~ZZ&'nݪ=ۀl(zU68l%0x80KC6abxj9%o6x|/RMGt|]k#+j?vc@4xdO]rɓX|:,AFahSIB1g\9r C-6㿥p*ύ4+7mi! >|RZұm{viybu]_ʡO&ED45E@#4gcl l1D[j}LC^(娙o8%|cQW4,ÐA @@yXlBEl~?'Nפ'T$S˱û{b+ǏSZ*AL\-Z^On56m#r#d`Ş<cJsMP$]	
8.@Pr@R^7
6IB?JfO^wٕ7_}[c'2pXHPWYp{dPaZH%.+yx1Q{rHHUJ#f{ud%m$pC+Cљjڢ%Ǝl%n̐K0cZ]ہ C$*|͎4M꒧|Gg
[V[yo*cAPd*
i޼՛dYzZ8cۇ
Xcρ)J̃Okwnߢ=l|*v$^GY 7\s6lz.%Xȧ
d@"2naWm7HD3%:sԣ4sӲ{up9] erR?%pĲOW4լKǺPHD p
.U(|Ѻfg
ϸ]ڻw-6B@E>}
=*Uz4ԩ[]-5Am{׋c^:7h_{Ŀ޹|<'7)?nU,.Ժ*ucmlv)))&`zVNL/rˋCNciF桿]k5QT2QT%ĴꈑV&yB'řB/HEl@L)++7Tc=]m*_OV0;T}|GUkԨRPPpiPf TF`$Th`P*DCS[*`PcaE񚳺-/x^NIteP{KJ
",0KiD.Z40<x6o߱Lx%U'㠘k~La4LDKYZ@i+9'k-g꫐bcbzw	gtft:jrAFF8skO{
.d%T{O}<(}z˺G$Rvnm1Uv҉~J`}8gۻ罳'RC6}$Ѩ~C9sí[ԫnjg2T5-5QVd?.hϋRFB3+liۮ,TęߚҎ1>#5Q*ۂdxbrjԬ>y	|m߇<ce]5OURЩ}<pύHNIO''[cxOvBo!jA x>NB#H@_HI0;9+qOujWj۶u.
p(荛"տ>[^-n7\5
nv(~`\aGL}VIGWB	o#Y.ti^k7~Q~:qH^T9
ѹ3~yRJ*D&YAr$9xi}n<b0ԡޛ`ivNd@:oWl@napX%Dƣ:
Kd$x)|j50^2'^}Ńzd͛ރG]NmC
URrm[3M``K,Fǵ'g(*hiWyIFq!(/_űmoa1B=?Ԛ:kAĔ_+~hѸV<Op=?ekEy*xyۮ~[cYfqwh8UjZz!L9/0mf.AvsiMf"Y-T=]KnިqS2
tBSwQ/[gN}f_j%p;]7%[0!]>{o@k(cی'OQx?ѩɑ|B pkl\mŖi`ݦ)ng1ww_RzAY
5/
+VmM}ـ*֒BǱy15:Ӓm%}ztʺgWzlڵ?9L܏{M-*1{U}N%z}>nV-Tj8ex<ݰHAEH^7 ,x0NLD.^Gyqzvx]%ꪉ KS 7~
OfDueP'|.VQǊyZ#?Jvit`s	.8غ(K-tj§:vnѩsh@9GT /6yUCgQ=v*	Ilٱ%`;oIYQS ߿q|;%B7pQd>*(g2(3~ Ea@yxjvaxaШ2R+3&qu	
8`pOqkg5O&lr{DBH'$e|oݵ*rߑ@Ls)dzAQMH/9d⯵~gLe:=yט4L6m Pbߘ2oC>w)	i6DPRu]q7Oֵ]W?jcaŮǪ̙0MUUFdpSNeg4~[I,
ukܒ.IX,v8r:i^5{U`C#(SEؼ'SWZdՍ:M>v`Mc%_/4TcޭXhVKJ~#P2jWGZJx$c~/AX	z>,1I\:6^Yseܓ>=>_vQvVĬ8
d[cfOnYNe=; tnl޴k:sE굉-ӧϺJ p}Æҋ{x<qz@uL@D+ܨP'\e2"FS
EBȐ*95iU꡸l_O^-ZdJDsvø7T74fvT3\e>֬Un=fT仸Gf\u
3@j{G v=u]'9IV.T~ҁտ~{VK?x?}`ѫ;`^JE>iPVG5^.)xl HUv];`劍pCu=WTru2
wG>Ꭱ
+T葹ɿ[6nD)J GטӧKC6`MȪVzAoa3i=PC0q&Ѡݣp+eS~<yx]kMƫ㇁WCӅϦ,hdWkyC<@q\ӿ167}yH3-2d&VP3?n @Q$Z`ojyex}}ϵ.mVkc׬jNzl2*U`3N'qcǎTݣ֣.GڰqwkKzxx:	l.nPf /mHӹqՔ[Z b/qV;qem]F^^56A5xrÒːqW `a{|>_uE
TQ MKbvRrwzkB=ӫ"--oKb<퉬xh;@7bhYf#zNΑeYRW75TP?/՚h_.&뙺)ȐPʸAHpy}z(D=^)Rޙ
7&(KZQkVl	sb쩿>jI{>yuյW3$&ǡD"kR*gMH
*e|Uss^hԲbbԶ9rwOYoTռ6z$ӍVzŽ} ʌ'~lϱCRJ)K8X;mu" Td1Ɋ;znMm󡸨 փ@.RRѶ[?K1NlMW;uLC), B0*l@8Kdwѐ#F7`X,816(e_ BJ"F2dA̯7[k4W_jo7 ԩSgߚ5kT
_WٍX ~߾]ŝcڴiq<aDT@Ӂ1vLf*>U3%U_qqڗ?"qO?|}yWٳgN-Tl|HMexcAxUtou7r(/֬joX/";'-AFɯ6-,BbZzx<#e`4O:jǚXq-9@mpv*S2q`{ Wo]Q}y? `}͵Gt pu'\s$;>џ(Pk6dYƮ>u36-￟~@-~5Dr
5y'z<dv˜At nKdNĽǟFg">PmRL"b_Yd%m/J?\	ಂ
?rsZ7lԮK#)k":!|gQL1
s;~~a^m[E:iؓXb JOuR#a~kq5+(:$uFFH(S@TUD,9;zM z}xKwnĆ56g:ձw
mA1doUBA)5Eoa)0O0myrcfWJc0s2"hA4FxRH싧Fㅫ7*ltIf,)1cý{b_wb^JjyjC=5e=WV9Kxi"K>s%OY9~1qXt}3w?x*.RAH@j%(l `U>[rsޱAU$O +AX)y%%^16Kso=G'؇'լbվ]MFyͮ3;<i`Q߾lo4ʘ5NO1O8 Y3T?y'N0pf֬5G?	 {>Q; f̬]cĈ?qqa'91~2 #y
pyK&>|:8ٲ*̏o֤xU'TGRi),MaT\(-Y[d2wYk$~Y0PВ7Ʀ-psGhݥiZv*
4X/}bmub@1آp/uwl%{S^{}" [C@_ج|\
X9qHQ0OĶ^C>,E-hyEX</U~GBS2C˘quNCQ*h5TVaE8r`T3" %WK	O3F=C@\}]<wpU,5ʥ.z_0臌qʨl6G%*@;lUkH;2rԝT%%yj#S^~~=.<;ͿuMWxx)/"1H|:6XZ&&Uټt!b2B[w[M#,:)=%^ڽ-1Bb@4fcŎ
{ud{f3FAG:5gnͺ]wPJJџ~P5S `R{䧟UV~VsG87pĉΪ<?7omyxʃh]pyjiiIخ5{J|&	1$Q`0Z 
z-W3APTH3&AM{m3-0gּ(l0^B1~Q!r,~Ä6S=w[tkfIa6	֦,pd<kͫYUOs$b6`Bq7'~\ȯP\FHbGDrF}ey
pjVh>N$V<#o[|);Eˤ4`1,(r`&cPK^^Oa	(yyC[Zr߃Y{RJ6?}ɨP U΄4.>z5zR5:fl_5S5$0R4T8^DGb<˔5iZk$+1;qުE  #=~L1x
Y$\so>)tm;  `%GՍic7b,'1rN랽wo `1*.èӕs<ĬG zeq9πkXAeF(χ;n;oIp8v\d1ܞ uM-nmnO"q~}v~;Mm}<78S3?op]Ed'n,qQ˕WփQ($`IyPьLsYO8=>ϽZYq5d6`<^EN\G]Jp1pP!)2db첌VW
UO(ŧw;pzi
}]}q)FPzNU@>}I=u
QH (Qx-xE}Aゝ˨f`,#	ׇQt?$Ķ8q$5Ƽ鈍O !Rr  @AJdgeԀ
Zo d #r`A jld=9(3(vZ]s؉,k`@nG-c6Gw+b[UaykVKsf':p4u	;gĉO}z? Ywٻ?F(ȡ}UpRthko~(ZzcU.֋uغ}gG~8$T =slؐtWgTĽˍø풆 վyd>yiW^ku~y:!F0>ԜEm!l?~|[V9z\-!`Jشf7o LS_*y\Lp|vA2ۗlZB(5eڭ
 B1\4 P;5,wFQd뀓YLHp*?l.VqcdmWZ+~C'
@DrY$YeH2{x.6as> }"z?(#3n%op K
O [Y75s7٭lv{W.ƍG |m;b2ޒ5Z4BOeAmc83/'ո_ P=ϫYω〔i`C|b҇ٳ`jA<ЋC]Rix%kءzuj8:T4W>xGPF7y<~GC	(w?rIBȂiL=jAм//ʙ+nE	9CKSϯ?+ZG
F2f[`U?:d5a<oH4曱-VG-*v
v CE}+sr;A
xMǍظ80
hxP)<>,JB|tq *//g X0­qMp\>̘
>)_Vgn"|?ajJ,W9.5%b8HPrbیŦ]Z-ѤpJ,qK<se{1vMұwSk6mÎ})AozBN&=odFIJZM,[&y!o˓`H_&QDh`^   DA
# <DEjܨ~	UVf3)D[n2wmI۶uw9&>眆$[vWV̖-[~Py}_ZA d.XG?9LlN/o^Y
ș
'R3HIj'}886Ќر5~ɕ,ck_oL0WK.ilU(Q(<^C0e\d%ժWcoϹmrR2TKq驦*˸(q:7P<D0MwD$e>Jν*C6?oH*38jħ	Wq+`HRNnk=2}.b7_AH, \4CWsh1 }֗ {րiEǟz#-7Jx0dTf& 
[zTJRPxe`<`+m{L' Ot}'#6ǩ8&m%5 #z<.J
PR
;vhJ<Ђf
Tb8y>
`cNx:@Topc7
~ aN<j2J]'	 g eěTг$hlw^/&O"My;g&ge#1(Df뷯cJy	b<]?j9PBEz@/sr[n@f<xZjq8 8̎f&I &ڶGqK=aFNjݷ^Oik 9AgJ.k:AI(\$Jt:%]HQ=OU)]nyw[L\wF#5SaV%UjK gx_9SDs`QS(cDnbm[Rz+#Gȍ$˱cTkӦq.I]ncʉ3c%.kvVs
Q:ŭZ,|԰loԭ[/P(h{e3,J Y)"-ws%Wb15^NU f׻'PR»?@fP-@F~ {ab`p^X`l(([GǭEZpl{ͶTVE*"0#TeZG~Ln MEDWZ*h
WhӰD?^[q tUc,@MFμ]U].Ҫ iޮ<`;H)jeoí$iNmjר`1/ T!h\>E\-,ļe
_d\(V߳!/"IN,	f+mE¼دq{(ȕG?KVLR-CTc`FgøcT!u?J-2(:TZtŠCd@@]ѯ?a.B~{4v.T5@]t.@]t.@kI̄H./]Ji[ )S$IcVmM|
coHt5%!C1u"k+@a*zF1-][(D9.@ɹANL%Q΄70٪
	m~g
$7(@f؟T®EbH}1EǴ!+B	DϷ1mfr~5l`&7<f]zN^kLPPP-r+{Vt#k@lGo@]'J}ˈ)TURFb_q	vV\T%s釲|3eBBWC+'yb6gR`BLa]ԵeiI̴c+񎂧Hl2j[7 [ٝړoaw_!P4m3éؽ;ә.׳Jm-{_V'$=yMOʏ+&/=sCo}~yyJ9'lʘ<ڴC _ʀ(vmG}"+غc/ ĝe!hX;FJJT"	JY6om5?2	b׬~a416038(:	{V6M}P ߘ!~-8^?cOK C;(@KcԿνSRg[H$ˀR.Z2fR-R5}rQ'F#
^M'sdNV~k5|[;/:\ߐ$2+:V'ւ_n""A>y!^_D!1-{⮞^-_ׄ  TpaUkdZVAUkdZVAUk?ۿYd=Zs9N ^yPO(/<ekv@V(V°Z
G7%N"0jHc+X$:VShkL]a8_?04cd(;Z* #X'-bR}sXJcbOCùG=#H,Vz	 1jŸ;ic߱^SfTX@VVq^-oBM)ӷaF=w&	g	/ｶG5+ȄO+KFVEg_䵧xR*uܹ$ \.'8єvۼgI9vPP~		~0W"&wĂM++x7gBsLPAF1 i^H` J%sK91Oz~_\Wyj>
\5^WP'u1R@YMUs[U}>q}8~!?miU%ewXmHքcv;>]c̯t%8G4%,z)VLQ9A-4Rv^p9mq
 BQ̭$/ynqHjע:d	B@`P9z=
ȓdA<|K?|<ޤq/3$gfIN"#n[p֗=G^}auT6br!&e!Q0F?kl!ܙrAݤ" CH2"%УU~USE<Bdh)n 	 plo6V}dvvreӣKdOok>?j5I'``'w`}[sr QYzD|3b)#_m'Y,#DЧȲG5 B@ehSP@#,ZKpTsCbErNE_,bL}WQ&R=Q@kޙgXjSXeĪ`ՏhP@V(5Le>߰ۻ,hAu*aKiĦ v'X$+$ |5 SkE@@ুBi?_nC$u]$I#0"KGN_ŋ"I)# (`^R_Q|Bg30*w"I_y%hFٿ?Lgi 
?޷ sfܳ9~u "BK5J%5x>׭v(IP"S\䞸r/Oo*'}{'?5O`cpi{^އ26*h'371I1-p!R;?ZcbJN#sBS|^yGu;t8"Hӝ"v=ɹ`*ágB&;ٶ =")Ά6
R06@lݢvq?ҪG>%^l`'N9^61ɐ=E1'vNG#.6OO$>BbK<(<./dHOs(>)k{w
aT%Sd"Z<rą3\J@a׼OtQ8TzSN
g^$z~ap'YЪnM`WgdL$w ZD4T*;1qY(%4i5䋢ʐ2E>B s<]e3c;ǖd~`XaOHɕ/=369*ҭ둼*w$Ip݃ktg`h^S,ŠZj{BH?wMsO
hlAO~z&t0Ĉ6!Od'3v[֠
J4Ĥ \nd8-%cRw?Hmy˼8ۙL},>6ֵsF7=5D]窛f8<5AR^l`(<h*Hd`kȊ	~lA/Zd Ĉyg')~0<`ȬzU KT
[V-SQ:I77_#S!2hqw
*Isf/8ρj uf#%_=a{]X(q3.z-|r˂y=&6FoyݎW,*1OT Cx!wƿq줊!"Ҡ~z|0PEHƢ7vTH-	iU YHIND~~+ sD&qE iƳ{7'bԿSqИVM`k'cdφ}++Z/Xף$0:Ntm]&][R1bRZkE.O%iFnsCn0x<>X-X,.i*xSzMsvYGB-
~ų"lZzMƘKZ%b~1.!$ qPyRxb!,R!zm0>}г41İO}@󜾰=h|xka!mqpc(
/'~h0zfQuYj?xjJ"PxߡYo,+0Տt(cB\{2*V̔l1knS0ᅨŘ2::In/EZZ">50>ܵ?]^1i[B#L O,|-yw/&55[15j!
CV(S:gj_߳ WYzx+ |]vmQ&f}W"6ފ;#1wPzdl*Gk$''~fKA͟2 %b p3O,z@+  #<z~=e5fW
Y\8r{
?a)ỏ! ڻP!<Pi~fhM4]%Uj@7ωEuE2nqvT'56vDs뀀Eר`-6*b%g%&شK, k@`PԓeM2ac=΃&.E=P)?O	F,Esᶝg6nXsdrJ<[F?m|hp$a #<z[.|߹ѠlrP
BvIcfc٠E"^_uT"grWcؼo}[Z?7rmUkz'@EF޽!ٺ		9V}^$ӒkҚ=&nN7^'Sf%1$Fb^
hЛ&.mXaTq"( r`fLբf#@2
}Q׊n7]\c.C3 c`l*K]18MWy鱈)	i]tG,xķ'D<
c5 *+dm}4:*Vhbb1DЫt|D|:,bZ C2]Bu5L[2bbPMN'}8u`D>۠j$\	5
^fՈ}`:]=<C"oskxK@6	vc`|t1hL.]I/!Q մ+bq#5
Z- If ܫnU4Q&IYs"a
?FwVlF'[2}i<uXlqzPÁ{F-Qg=]UjjK4h5|ZV*EQi,_F7TrE׿.& WuƏmL<P rFYV恵dP!-R LIY@Ad.&
s<HI]4{p>
:~`C
	,5HR,hPZXŇ=+TP2XV`0#0@
  LD2$ZFCqϛK~^~Fzu={R^
?/rV-GOhMff"@9lAd_2}ύAހL7V`FFA
mXwR\^_WUb8Ȁs<`K
Wp',KLCu{bulxm7n'6p!&3ޤ
;6}0qż￈DuOc1K'F85O]jM'U>
{j*>nCRŃ˱	f1hh;%
R
[! 3F$lU W+2vhoq@H# ~ʸ2&EFD0
A&|*ea?Q* ,E=Sa(޷ԅ
Rƺ?;,1ۿ  k A]ƞ9k
 D1И)$,kb8ȥ%%jwcN ,*T^:TێG謧	^#t;KL4x}[mPc;j]=?{#,\JSFK4PAk[1IdX+pQTǄ:JYH֩o5qSV'ku7݀!oFm8n7$>@W$}EߦѺaOl?2Фnm8%) mV"&vO@$v/$i[ͿQ=-rUUpށG(NLل]"N=(JmI9b.&G% 0+'WWcB}@ qCŉ *4(Ab_nJ)㪱膗 
(.d'ïu"w>c:Pv|%V{=]FQ 1;䢲@@D9zH
0SBI-
Hh \! 
I3$"E~u֟\b/5lPU&08M}"%mTQVq16w?u{Yӆ/x5ߦrL\ 2?/G]scO&Z4h}b-k,DEzmGސdفKt{_~İk Q_V	<9?&⚌e#B-6ZxM,B*Ѷil߷rn $(	*9w.+-qV2b~/eIRqXbY_5~x;^KN:?AQcoV.mY@#45M-9y%WJ6׊I2(xalI"o ̿?oe2^Kl
aqW宼 рQjÞ]hw+@'Rr<}g\
I6@Ys0&˧b"ܧTkܭ
4*AZ|꣍ɢ h
?92ܫ?bO^ۋj|}o>dw7%M?y=䓟nLt/G?Ru!"]:"dTAȐ]bШZ(yq	4[󨦖QGGCl7 p'[nաf*8z J,z=O-M_`~=;5šCh~_R,]tIƃaw)AtSg,) o+ 0z+-	o' `#П#֢&
{q?j
V͖ylv 17?{=?I64\hЎɨiZ
:Hٴb{.ժu[Djl$&J @"t|$H0$McMB<I&5dDu 2c` 	ۮir6rی%SQ
՚5;Ѥ{}Z{uRK$>H4IٻdB$d=V} p;9q`B-;bLwJg(FݻdB}bR _D /OD<!0rb!2'/{ Hbj_es0ǹbEh%U;"px+	5:?pyYFpjgyvF^jg䵿3#K;ыbO,D켦Xo-"rE`=aq HaWZ-v ,S<䩜uDBR|LzW/
ojGGXSEQ=-
E=Y]I iF|6IT1CĪJXB<$q+|>9nUEQ	ܸ½ 8ǹ1Fػ3WcmT,rHAjIܻGn-Q-qV8m$IHRv`.*ʿA~PĤ.YI,)Dx\DB#ۛY"'t0<w&MA..O5ǑR?rNWxB3	βf0ғP4{Y>Yb>/.GgH
bӣ-P񏑔@Zi#PJDR'+
4{䛍AaR14oX{KD?$Ѭqh<b E8d
ΰ9]
j1
axh$^Xe<nr.%߉ݏ<ҭ i)`SSݽHMS%9P \`p]Aֽ
AQ gbՆ#fk~| ڳ6z	jTg.}+ ,x֎,{hſUh(V]"h@ 
g03	 jLmˣhEȠN"}֘0rNdVkn}4EbqrUuz[6*@n>d`f,?J)xJr.,ACKwzZ{!ŉ+Ь%yG<kLc˖m^=*F[PEx4m97'FO	+Ć:nw?pG J1Fł<WN/CAy"Mߜ{ؓbQʹµdDRr@Jd (PtYҎʸN}&205A&7<>ej5ݻm.xgښMh8jɩU_Pa뺦[poq̝*]L_d%q.Ћ`GAjd慬xC@CLm5x	ܘdcvcբM]HZ5-JxZ C^/{J#Z?zo[]׹{+(hɢx.E i둷ڏ.=q4LY.u	29#5.ȥ`FuZ>]Šҋ+,1\]l%.	iMZ!vkt̃ \W,Y2   yJP FKhIպ?q_DQ62UPTq p \KRneP(4|P+,X|LK.<MdECw|VF3,ۍF	x+Rc4eyĪ>Y+5FD| O,?m1kA  P$"siw?!RM'w%J19),|  T`\g*h.J6hD/FC!26Ѥa
8P^wy i
TM{k@bRbUz7'6\\z`i[k_V:՞0}g6auY̘kDxcۿDC	
AN
bz*Θ0T;/ʵ`ɟ|8wbhn-tÕ넻KI%
|:Y)6:</l̂)Eq2+bfc
VA(e
%2©N@?a&l^ye[0` XSbj  n/FÜh3dɸo>5ٺ/[M5bW;)Z)L[=AF
zb 4F[JFR7
}"j"YЂh0 ii>/	IM =Z\ueҤJHoF#1ubO$h	b8\ 2d4yz$eN-T[^C^\ @ $@L6PԚALW:6zJуGh g P%[Z%UME^V@} $[
-[Eߞ&e0,A&qE iۑ{lt9u¨XZp2.2۟IV)jua2N/);qIPd0_]R InVM_OA,jF@z0Ģ
y)t3nSJ4EDκNAf&
GFݗR{wLlȟوKHDRp( ئe8x2/ 2
@
?BW"(c]҈JR#6
:W@͆Wߑ2j38ڽoʯ7h5 G>7wbIyKpYxfOp+A!nrq4"b;X/x_FQOZţHʄib=	SDPFQ;%.̀sq߶R3VD/]Rm_}r3
ZH~L%4_E|`U*Pګ?V98"螷g~`>ov:NapHߗǙ @D@	aD?Z(6F2vGk@mq {-PY^/D@*
^'"29AFx"L`?7IIf\0A݂HٻdBw	W=|cpz)J|.·7,Gs1n`[d/zD$&&	5п?T2Va#P0LBz|E#zHwBN-hIQp̵o;M{bM6D"p֐t7죿^z͆n{S'o6x).0ǌ_>R^G􈊢cĞB5֥|/A+,XӀ
bn$$ZuHKf4ѕjJ)ErZ=}ؓLC?PJ2l	uխ'_c99_9g<=I`5߹
_HHf4%6\őȞˌ~*ĹlAdEm
Ji`2!Zͨ>3NY$pǨg/7gv9H.傌mbgQym6 i1znzVV.|cS7>{+U+:y<T%6J@f%h
=Lq@(|pd>Ԫmr8ش$z c(]uR;Ne!ôFLb)FΕIƴTaQh(:!A)O?Xksck>oqĴRؘ8.$<q[,$7Y_Iwɗs64OWH0"bEA2~A%
:1J02Y~vGd'1*KLʷ3%øz̅qտ:y*'O-L\V{3̽o`9F0-[s`3
>$y3Z 
8"f,E{
OeZMKIvLukGoJѠpgdċC 8qQgV2+_hK
ǏcA$	vysI8o5舫|RKo7
2"wonzRC]}wG%%U+PSzUa㮭.'
O-2 \
A_@5xzc?7
HX@(7Uy|L	sԨf~;owGm5WaKg=6 X!i/~
XͰⲁR#yKnmAUbo0هEzI)ZS%txDONf,2槆DBGac 	)`
<KR|F 
x݊({~6ސ1
qѩ' 1p\r(fRՁ66į3s.Ok>۾h01ȚfHM~J<g%T?-gSKn6Y6UHqh>6ͭϡv󎈍dcbbѸiwy8:M&Mu
06*&}'n]=pj5Jq]>M}A"۫9WSX Jb<~RslrSyxv{r}>MbIHOj7P
RBGꍲd,JhTzcL+/
=!9}t[S>-^r Z\5"@3+?z
@X x\? W0Ѝ;w>
KCbe
`4i4n4{_OA
l]
 O fcýr0fVeV3飣"]E_*rhxфO\750!$JՉ(U]Dx`"x_KUPz.UUogӲˑh?)UQMG$$oB@ؘF:.dX
+:k}pD .1R qM}56/تn
HN81}pdx\>.qeqwF.z77^Z*ȰZmؙDGï 8DfV0iïp!BRaP*:	FCb[ך>D0Dđ+Ցbra$H@=Iem0`B.DFp&׍6fZVB򋄂
^#'70s.O?CecύDQSo$b!^O[PJ=RliW	ܸ0;F"66X&Z@8k?.&
"
8IOHJ*IZbRZIQ}pI*$0 M'ІQbΒcAtf!bdzx*jهo2l6F#{jX\#(xr  l48	%-<)BC+?*2ϝW@1Yx^Z`X}IzZƋ*
$J9l6sXI<9D3(LDATGRO=?"DYԴBA?_YRl N#kX,,}eV3c16wf^Rf*F`h4 ɕkpU$%+$Y"<c(TգIG&ZP91n1йebY`k4jC{V777IA6((!Η.Q\TY&`p"		HO# >J-Edпu jfp/A<g
)v<fsW
gA:
L$z	Q>O: >93KVGW0C,eJ̱1
]!!y4#ei?PHJ-c@4JZk];	P(bPg4g@0	cD*)fɾBkPADx=z~|ha܄D	^rGǠ8OHjRByJEg*(OeHQA?<Ԥ04*M\ ^N PԨ5P+& 
FmfPDbPC{~cqh!ra(9 ﱹ_d0$vb!uԒ/#AkF5|@ɍP/܌BTVA E)3\0e|d/
#8,~w&uS
ª.#~q2~k]26>}e71+&0Gmd5^ stRbf,¼uF(o߻e6-e2N6+H.ðj	|jRa	EƠIq60qxd{,(>3⠌H͂OnID["+:_0#0/aL󙽆8f.<w`@Haӊ0}
oD(u w:1b eDHufl30(h:b"AT?Ǯr>]Ji S$I;<4=1I3LPR\+{+ ǿӜzKU=-XJ&zF.Z& 	m
L[N@NԽ7s	
ÂtlXJU(T*?n/;XdR%RJpkyYC-ci_31K`j3}@*kZmbFr@]t.@]t.@DYN$yë(W(
b¶*=ۺEPQe4ngy
A	j)^vZL,b`%Ji[ )S$IۣVqU.1Wߐ·ڊ'޳@)J20\dP='
ӌ^zx^ +m'76]jԪ
rN{y͓(TCDϴGn7KaBXkʰ۷l*U(5*uS޳Wt`kiU[Q8s탿^AJOj)r1MW':8DŅX7nta{]R]$fڌ}EomoE_@׿oX`Hle8*@"+Kﺮ dT?Cq^^nQΉ?v+}d `Fb{ /"O[<0&DpEGDB^B!x|2O2S{?%O=E J[ٝړoaw_!P4m3éؽ;ә.׳Jm-{_V3
WV^ӓSWX{]Nޅ_@A{i<iiܹY9HDryןtQ	L0\-ヌ~^&R~Vw&QjHc-NjQ~GdK˚V7흑uY8]po9	C1Q;z_xfC	F)MIM!xF8݌*?}!O&=ۺYm[IHk6Gٰul߻qyþ?^۵eY)l\JI~q8WWTfX
:f>爍IS\Q &ܐbp淚-=7y/>{y& gl7c-jfpI7͞={˕W^Ew5t388@a6{gI|	no|Z[&dkPk04xCe^SI52vmMj"7x5
\M'`ܲգrc̿
INu( @SVǕB]rYiI))hѩrrQT|{lI^PjP(;㼆AC0wS7.$i|6g7O)!޲7ރpaJؤԬY<uvXz3
FՔMk5W"K>wCCv8{}
w:0-s2*! b>	 mbN.,E;11UDCTIKz~Xƈ(B
܈V5-_[O[nVlPZ(%F7K}4{SoPPVt)Ee^|qΘxisW%P>CA@! nXwbKcbD-h
sR <DF(~⼶UD<޽%glVs8SJٰ#e=U:TPX(.qU T"ƍjnޠ=F9	b 	C$Y"-֊ķy G? 
O?䵧F_|F<k"$ǖқ_7YlCmǁ,GVnDݸq[Zf
ՍgMq)[s$f%ȉ/O'qySxe+.R{4@4t+h1<$0"*[ѿPl 򦢰ȉ36`Vkbh֠?bUfrv5fl	I_e`V2$U;_	Eur?+дU:
Ϥ~wm:bw|
VY<z\eY:%vf3#OF1XD*H៿>sDwYwcL㩋{4ALܬL{7i߃TE'v*m}1z
VjK}"FRQ@@~ A1g#BeڳIxpMPTI&	q!?cH9BUA"L@Wgdbj4z<qgHY+i<N2Q>Y=z
OʨS>v:t"+4
rA#ƒ[-=!5:2%9}~ݓOpeu!c&3&T~}FA,9tmŧ<&]" _y`ITI
SAF\}R-?8S˻81eSxn*筨gh6uΪQ%9զEO?xnjegUu(=s4ib[8̣݅s:8bᓩZBŚ,8"7#Z(e̜kbEpzrР~*.D$*;Ac-ؾs1'U큺՛x~ږ Y7	xh	p):\y梨tP''ط;it}|$ˊEA(xȽ2n-|
#_CL5,&-G4t}NN;I$
k.<Yeq.|B4Co2`7$e7>æ2	[a
k$K8 s(M^~[<R @{E$a5篅:/EE 䊾̀P	XiHWP
;ht{"CÎF /q=U
Y/S#i5-r'[FEDm 闿v9~:mq]Oo٬+''ߺd隔g,il[8rD,ިC|LB5dTHL@DBV@B^ S76DCUuIƳTIU	d8}sU$s;K/*P;nsӪ5[g|JްigO߼63>>z3gh2㉘xOBb>ԩ[dJsаpM@ľ-T1Q
R>WJYѥU?]"H t6mnANެEhۤvq=@j݁,1xU\oOA*i=ȕZ)vTfH<׵i53gZ̓_o/I~φo/3&V(D9^_x)2>+*dnDV#Z22lɬ9f-@"tX?rXxKKjjPj9R}+)Лz@iF@"xq{e~>on W=ʩ0nHk_B5b?t1F2T5Jxb"ϵ%5g/$Y;W@8	)#݊sXѢ^2.ݨ?Wr4`CU7vz)N$,l{/$invvIIƎ޺=o~0fS1hV'>b$x۲c{( кE-0y\ y\~xtcDL]HCDg|^! x|[-U-@Ik|-/*6gUaE(VAFB}tJMO	 ]~H|͗%mYЪoآի{!y?x0/Q):
QXTiSVGJEj	~ĶZ)J:W3XP
O3{Ц]\j G"o~
݁k"8EA[wP|4'$/Лǟ
	8pp?\Nnu=(%((,B-\}쯩̰p6o9Eܿ rA׷1jmU'0W]ê܊׻pncߧ py<զ^ AaM)񣡡8w_T8)V(IՒ"Sd>+Y8s$9E	W|-ůҷAo7 $wyS__'
jy	[cN{%m87u
|>+ KeރR^L srA
3Mc:@2`B$L8!QIKq@I56Iҳ2 2J>ZalydݸWv<tE4 (RqGIZm <\4xHclYRRk;uԙ}^'S223 jG-*7i|RaPz`@zڣx`ߖ̼8=
vK(D@дCEV]ё6I	<"{7GzZOx,/w	dlJ2J2(!*ٿw~o:?w瞃iU&y7kHT$Y:h֎c_i၍.S/ Tvbݨߪ3.q	BQf*
:Ƞ|f}B[|ppݗx<{ȥ{q2*+Ȧ1
QR$h=5܊Dj7J.Bݱd
\"]^8ۃL
`C-|_aX$~^yѯt uV%0Lx48GQ'GVUA1F"dFНy SVnNOH24HQX$8? tv{hd,җ_%tIQ[*P -r=,Q
Geڵs!ˊ޶J	Cŕ!nD$PUZeX.1敡Hf鈏;F Kω1 fcX"^o>\y
yZZ&:{&GBe9uӦ]`mu n äVZ{U	FնSycLU͆H.En
^3J`~>Ƅ|OaL.q̌jUBZbQtsɠ"36>Y Iq|LR]XϚDcD@AFd ;rT,߷unm6|tNg_R{o`UrrrRן'[8lEH-ġ}ǰzn
 HQ	72U.ݸsXK OL+B/U'5_ l!)Ȃ#Z .G\L,.B726p;(d+Orc]J6NɻA%	|>Ϯ-D' E=&sPPʥ}#9Xr
`ͼWt*@/EzN&H

Ή}D:{A-ߴ+sy:b$Ӎ';dBZ[Xo!,eְ&f
:dJbaA@nZJ2\ti(@BhoRy(~ჹDO"E8 FePuJH46iPE^t⏧\4b,b{N*Y#1m53&7FQq1d,W}}9gw˔RocLT߲+ˆ:}]]Z;whʔ4]LAÄ#,VE`RW+`Dz|! 6,I1HLpz?W8pD xnbYQĪ 74I2w^DJ,<|$g1沋
}Nߧί79m۶z@Q$Ji{blUu։5jIiwmt`?tJJ]5HaGѭ`=	$$$ (iE@nEj*1
J񍐙y2Hzgd0לhR(ȲY4~\"ݿ5jN7qrצ:
93<&z<
ESP{-_^
)0#b>ە !Ybcr @h@ ޡ+-<{1,~Y[t)8=|yHڿ 7]7v#xyKc]{
JиA:<J"F߾#ʦ&㋹QfO}v̏YxO)P>{PwikK5әp)@oGnȃwB524}}wI{Zo6))r5?@WMPdy$IXd<Ϫt˂C fZMZj1eVB8{_F(|:.6vl}d5j}رd\dhV=B]+af`+Noc`efk7Q]C`6fbWEa FwJ~֮.ND΁ֻyyyz6͚w^?-FqtV}_/$6lT8rt(jifvK_ʼuCF`Q*F%kñәpuǷp,O@R5=NlܶY(.,DBzZ*%	 FHB 8>MdfMaבT3htblt3+jBL'?P+Η1ueܑ.%Ws ˎOǮC{wc6c#&>)ǉONfaތ#GP]*N^yEIaծ<ܵ> Ө̠!jx^44xĉg~D܀]lïorݽSo8jp`AIoe̒ѡQ\~qolvJ:+ ?9:Vc}o}&o530Ha6-(7MgVPp RD^^*M=ݨnlYKo8b nn1fm
[TXvV?N̅FL'{\\rR~;C؁+ oaV? P>ټqy6KLJ!~[YQAzMZZdf [B[#N)*$[-WcW	I}BTU>ǣE&]2/>dbpPIĒY\~|_	Q%.
2bB@~<yx<7=n߾IȰlNδetSWt_i}m?
< kJ&lai'#s
SP'O偳$ޣpH,ñpFnhXwoz!1>yؾ؀^o~p^q:ШBz֭UbmZ
WhX57[ah2.0&:mѤ^S8<}-fflB~.Kf8(=#Ks8Ku4%o{mw 3Eq̨MҌM3jopqսjUvՇ}*1}3`+{J!ܹjfJ3i&b@PGMCfSn*uP&]ECwp[z[Kμ1oQԅ/&J܍$I2;mB}^<q`T	<~jjjJ{
GålYR !( :]|A8gbA@9]9
!.Ƥ c䰋p/_哝UNw4\0c?P*|+y}b˹(霛Lb[%\RkVlh1Lh{w@AA2YvV  Yj0ƖrbYyiצiqZjKh؄DfCnfgΜ]$P1#CBNN,..(c'Oc4>+4X>o}"'R^ fgACQB	r.D$0rNy΄GHdBͻ!h{끩|U~wg%mҤ?mz v*Xm;ڎ

b&.ر-:;;1VDOϛfUǂJVlߵTۆc軩8D4iPG)&$=#dIzɭmeɭUѪw/~4 NL|NɆq=7
Eh>e<3XqOS;˃#;|30T]Y(ƍuILHHIMH.-#QzhȔ3l=ZuQ̓R@l\deEeap	;ڣأZ?w5ӽF0%
DL:q"hP}@QkwL^s}OpfړBZ
/e@|B,V鵗݆SٸQz0xk9Yk?zAr͛kXS1ULze>A	ךW[T0}͕YˆhRv(5
F/Fv7Qۊ䚝p흴"\/36bkvU7GVL@F2$fPY@waލ D=>wdf)#Bxu c{Bt8@Yh ¾k`?DMXx>&.ǉT Z^((ㇵ<CYF"0w%
H
D,ӻ>x^>111PKTRRt]eM	W/h||_Ê f9ր'@#vjc38'o~sTm3Gѳ[{;u]^{մЕSjظ^pC;W$tkxؗ桱
6X,#J8y=pƸO+`/5[b#;wXaw"&>!Ju(CaAm{~jj*T]߯őcG  (3)(LBhqX
{RVz	\(h@`Gw {c%*FLl,lv;HɮG0wԫYx()㪪&uQNma Bd=q[(Eբ+RqVd4'ˎ5q>
@Ǐhg2۶}{J@I[on80O
ڏ&u'͍b8 H@mgs8@$u7Qώꄙ]eǧ"5=#7Kn+[T^E |҄򲑝y
T<tP
oQ>q!Ǘ1DJX>ƈ1aC"55هpҏ7f,\硱]D#dֽ#*Ajzޝ~UDbվ|\ѷ	
>_g4դz6؃{e%x1m%;9̙[ ,
J%%Ā[3 ?/91``AݸT3pg`>h[k^pUmGy[y<y7ip4: P
ܽR)p'؄'!>9;q`39K^F>|r `1sp4,)!0SV -fb*MbRzes&.}zVk'M)A-Lkb#j0'2s0Ҟ\Cb}ȫtM$VtF(I1X'd5),h Fj{vЯ<}Ku>iE9sXh7ī{PDKbs)qBfx8y.]x͋gh(	
)0%TLub]Fs[rmWlu0)x܊T{\M׌:.QIoԫTRl( # T	Oq4y 0qA$_q!Q(+_Oiس&#b!sػ]JPAr8=VA$招XJ+<Ffk#`XZfð7XJl"h Y5Q޻#nbf#Y$\BR|$MmCTӷɌ"20}͘1!daӦMklv@PJi+@ؿ N8,cj{Q~7c}Puni1LYy1h_V>`#L0?7x-	H2"V=W?zBC_E&It9UZ,BIv2J<rVZKF&H f̈h;{P)	AӲsqr7fꐂۯ?Gt`F4ȣ!&ϬxBMǾ	!N"Y#>	Μ[PyAEA"(D}&ciA!HJwE!6a2.y+ bصL&tcm⯁=Vbu+-&8BٽcS\I̽+"QPCGq&Oczuw!K"IM%ѨKtIFK;eh˹@$W˪=(.q"1>[WKK'׋xT $BjYDB`hAĐQ;5B6|zqEYҲeKdtC,akTmWIni>Wݑv!91	VO
Wh]ǀ+Ө ڹgkFT$Xe{p!.><ͦN	:.
E!2	!ވ u5 ;5"xebEj4S'O}9 6k1:B-b3=b֥JP{hyW,\{ZOA]u5>Qr	Ti+.arlY"[l _2kJqKZᚯsR
4jQCCҀ1%aH$vT 
lm1լpD橣(,Z)!a]GbZ\6TihN#My><hl|:'1oCp7[#Rru	N.BqT CH4oy4DL[4fcpI]1C켫5iR CӑKoJx5Z,V'o˱ap9e.2VX
	2n~,'RK{E
TI
 d0osZk%߾Ebp\_nG3q1oN Fw(lH޽5b![
DA	op)&Ln냏2>$e֭(*,\Y֤qT6U]'jRIP}Rq^6A- I|<}*J3)㷸QTT1{X
ӧ	ݍDK4AveʠCYt;$#ЌBS\DE1
1`0ɝٴfr]誔k6$dGrg`1Ǝ<;116gT`;vjK<J)Im]CQ 4ՉXDi< ?Lz;?'\]zHBPTƣWup%qL C|/Wݫ3(^+TAh5\3%@GاhZoϾ`> GS`J<SGѧ?a1/Wj _ʐ㾻o@BbՀOԡy={[4o?))P-ti CnpPWCm۶s#TA6ZƵ)ÑX9auxC׏mBւЬѡ+Lj na6:i$H,],=Oz/
Zx%Flr6ɠL"䉓XpuJ.mh\'7i.n`d0_;.IMchSdW?nj&{@1Ѡ,A1xĭB.`Ȳ?7
ɇv{`MYt8d/!(Ȳ PbXQqC~^<eg䰤Xqjni
zS=¥k߱cGS5X3͛5v$N
	65 2S0Eo'eP1dR=BĳBR
f(	U
p
}Bτ]G8H0U'U.dd43}pr
jfҷ
ED1\NX6#&X^Wdq vXdT`ahxeX@KeXx;aBBh0}txXO+C<&(ׯmڶ$IwAuW
XrƁ[6CuE:|0Wc !UKnD-Z'f¦A>b?HL̄>tQP@JF@:h(*!$h5+]]B5IFˍf+G
¼E˱dr՝aPwyy
g6sh֩e^,(̈CLB@qD?C{\wE'mLg_{-PrqNZϸw+{ᓽH?bZ .cQh4꣡XCIb]AjLO0%quALR5=0(c{llޫ60&`I
m|MbGžit	 E%[l
Ҏ
z M6{ϟgǎ<^X-6<@q|o601Z4am"	+D`|+k}QŠ?Гښe7qEO23!:9/l T
5NF|ʀ4h.|5e	nz'| ]\ PxPvCWƞ.Z'J>`(㠃?cpBܹÁۣSNh׮?P xg`]<:GX;fe"߻N4mD*Z?]gGtnǸU*@'FT!1·3A,Pd'L\8r!Vk,*ѴBŊ2d;]:}.F\'OgA6CѺu+4n5q1l߲s^@ҷ˛H3$wHvuQX	/{`kc*Faڟ<kg`sH"A]>E$&n{|<Q=
J#߼HdFE,4Hϩn:oWτBr`wz\xf5L[FfO<zU c	E+ȠKXt:z?eOHLbc_0__\?<t%|1vд~_Ќjc+X m14~}@ځq@\=f%AvQEG>"ٟRq91?fJ4FSk6Zj{ޞ>zxy% 0`0K4KJ+sf*B~7vp#f
qʆ(rdvȊ`!@0:mC1\uBi:4:A:uP^=TRjh9ܵ~×_~޽{;ď[.O?Ezt$%&$F
kn=`<Yeq.|1$  ĤgI|ICup3v~JN"O,χ"N+7ǚmmwNd*ƩS_P	#Jn̩A^@?
h Lƒ8G , tT Q^_?s`2 p[FP5#
A^u96R'R+4Szu=
\q|
)2W:տ=9ǆ
:*bI~Θ&2\.tħ:߻'/w
we_]2o~ qFc)Ta%Bp͔|[F
jjT=ݏfwh!P:ȫn޽u"ƌ=U_ɓ
P@Fh%dAF]g$	-(R@92
R\M HL\uq3|XK,kh) -(bU`
{|t;p"$3fM/FWG)q[cmngٸF:Ѧm ^v- h9997>>lH`r2AY&959OᴜDf{ ?2*2bD8f$k+"\h9ƨ.Oܰlr`CXGoaNg*/±i/Eݲ&ON:Ad.AS
Z燵ؿ"I}=wK&es)9fUc}\PTHʷX9_߃*"7'f[m*7oc 3tZ(̪w*I.o\|O-xd7ܲ.ԯnn,=M B|h~ίxQszQRᥙI0_wUoUj[uǌ,4i$2J)HQU.c<Oz >(ӣ%(ω_6g]Y#0{^2e%`0&I #a%y$ٻD~%w5}Hr
`f@Q 0/qA9`) Y'l `ǖ gl u
4Wpս#epUXuBB բ"yʈ:x㣹(q`_Rqٻ5Fuٷo_iZfuר3PW4~,*+2W5n["Sd>+Y8s$9E	W|-PxUd?x&1F
3ԣWD2̑Lin:32{S^Dn-PEUحxsQ!"ׯD3
Q^ҡ	T m4 }RDy%^<f>{ա熱]!ݢ;Vw
sD-ڦ^x})2J9!345SV]}	6q^؊+JTVs&8|,u-	;woܸqON2E9`Q5ڱsoG%Ayy_vqj=zJT3/`ZpA@K4|jӦ7R`}^XXu&)AZ0K*.ёDlDgsJ@,vS.넢$`ˡB\\ bU^V.YV%p5Ǉ+eUt*EHf>_<Ng "UE׿7
& Y(fQŇj KWz􉍍fs-]Qfl͚6z&LòeՇ<qR<R3g=
RyI(OGo|E^BQk.36)q)"#``P-f?' XȌ(1h>&nZ1%*q02e`ܳtF.N~z5WAF*R
2vcϊMX({O4iXի@3p҃ѰR͒$1տk'2ǡQϷ`ABtXN2nO>BYv;hN3~_23dM2f.)rן休=\Ap81k
@HRY^eDEPZ՜;GrZu7FTzg.hٍ֬n7?h Ap~8l>)Ig"73^jʷ|I$i~Ex.	 Xv]"9=B:P{\</1i0Ldp0h飣7E / F@} V.YX7dX:Xq-	tXT|ۗbZq='C^Axz>)K@85kYaqiR RƔ& (ٹs S $ H9pPeKvu8-Չ;yW;vʾrӮK\#n=!$Պx_Xd9dϽo64Nt}3MB&O &sLs΢ <"%}&Gz1iw@Vk_(yܸ.~
k:- !vÞ۰tQ̮4bg~e\E)7%@\ClIr):yc{c_$2&Oee2qQXX@ S5Rȹ}!n_6L:g0o`?^tkvˈKH"H)P
04fdh05kTd8JImopYRn۩\l۶;gݻhD
2oQN^zrT:&?㶁B' SAv&~3CHb?qI-H-8n6t>VU	@eKMo~jЇ\1i1GkWOuI4x:n[]6@@AΖ9yxlg `g݀Z@`?OUtO Ud*v~zP( C-@dKΔޔgjsbss=Y$
'<~\}|n?
	vج-J	ΞOL>

K18Ů_!݃Fj/\9@/DNmB`!*Y~Dvi,O;\e$dԮC*؅x\w#p y R&1" Jy9V(_mC(i0xA_9 /j0|(]<,3qB@Q3BǇ	c<r+2û_N]}F(0d
C]6HCBh\\(m޷	Oq+~h-edUM?ڵkV~~_~yq@*֜E>V:O
fB%r"~x
SOa..c+jWKpK4xcF!wO\2J0R
@Cۿ..ZEsqȡi&.Oq I(sč3{aWj;qw?3yUT4+"EX3 
*aD,S6Oxvrl}qU[#=Jr}x3x,{LGfoaɲAe6hE{rr,*$TD5>~TR8&Y[JΥ`!
.[k'oI|r ړwnBXzS`z xJ7bAǘ1I	!`dS
}7h$F
*u(ż]Yݏ{zmG޻rb06FF"MDt\FF7n u͚5)'Otġ7".ܻCѨQ#r.5
&5ӛq󎏙ƠIq"OOiXث	\/h
Y?ФW,n^=Rӓ=n ux yZ@Rk5<NZåLIٵy_>6h&bRFc[ m<A 
[ZSm0z)c⤥ Q_q|?{Bښ幔oV^{5#Zj`FGA(}Qwkə5&V#RR`u8-JCed..ܳf D# r
o͛  !`¼R&b"~ܶ"E  7gxK|mրi`3ģŀHı{^*?P2 _,G+ޓ_^]tY[r2yay6〻$okժ͛un֬i{,I n2$i{IIB5N 4q1b8=&>fAvFc:©n#HbJb's;'MHl!{랁O泷Lx{aTzV=wSq[Ǐ &C`tyD*qMQ:mRn@FuR
ٴ"E
[e" 4{R('D>H@%c֥?iCyF6 Rߧ<IvbdVU Mn(RcXP)Z;MRQag(T((\(qjj2$|D 5n=a)Þ~'3ema'a`ka\""O%FV10.$ 0 k g.ъ$@q2!Z%D,PsP*ݤe45o@bBA@]t.@]t.@WW{@bI C$\%Ћ 0ơ))`aRD1B6G^AUiH@zH,Ji[ )S߈5|`2vQז5k%&1;lѶ)1o̼Vm
@:4z~n܉|<}i=w$N݉F?6v!o=|eWok٣Wu'|T=yMOʏ+&/=sCows7%M?	3VPkK%@H4 Tl8F6
\xW|`ׯ1\.9X錭Q/µE2s/w9G/@\-z(t}07حG(e$$* Aotf
RRRų}zH^|>2HQR1A%%%)vv:qRqa}ޢ׎|es%ݬ!]͠eEJqYd"%kw`i"Wom`& O
GofBb`T&?<G<g:D=.iEhZHiǫ䷿ֳyZqj=_ߧj=_{ܩa˓wO_
gh>wj.ZH P\(r
(zW+!ә,Ag.".Pm)JlGOŪY(w\)łYd=Z_JK@(jG-2^=V k5i(Z"8k7{D){b`]Haq#cy$($nqc$iySb}ʌsV}P|R /4LQo5o>p@؉V-A2V[4a/VnǾ#3O~n7?ۀê7Ȯ2AL']YМ_&JNgPZ,NfI__ɏ;엋K
,=g}]/p]}OTr4*JZT5 Az^!=ĭ jA|[%I,!
gb)h
_iZQĽ=CXv⃁*$}Z~z> . PC2|[ @jPP @H1c'
ĘyܫV?j S[1.?Ȼ3,b=cur%ЎmZ4Fr NW1!
B@;t
B ~,,/ɐ,R-`T<1;shBV5.8-9#E`}qWeO%#+ω"׳O/SW@REOjj,.GOU`Uk&M,gpXyBCP$X03W7	IFH04{dqjz294Z
:*Xl38%sɔ@X(Oi҂7lV\LQ.@AE4'Λ&F!d+E//	HdZ|jY+Gx^`ߴ-"Ak 
SV'@FtAFEM
G5|OE0	@gxqBN+>bڲýDxR:{B202STGa?&mB&iT>ŷkz]$x?;71J(y;p>E)L)ߖ(_yMPKA1}~/"wCI~/#1.Զf˳R٩"ST~N@Ee)' FBue_dA<|K?|<ޤq/ ǓǊ(SqeuWUKG'ט53^۵3B\1&Q.:32c">4Isg\Sz*Ck%lW'>xE앉JJE>` abE!"0т!tu 2R(ꧥG5C`1@9*\|n/jԜޙ6#j+^Sq@1L(D_֨:4]f& _31iT1}?ѓ+5о7F.2Vx3"۰AHa@Dx$u>q  hF?Nbx-XI2h=vXB2v ŢT4QipuXߦId X,ے{
(|9-m^f>7$Z,VfXe-=^WdZ+ʳyWS(>z'kr}^,N
 nULSž~;1TmK?,ж
.a5FHsg--ƴ^}i"yn|Ko;
RCi+űoty chz8(9'`I(1TTej)p1<7ڣ 2#'N\8_Z:p-R`md㌈Q2`squ%٣t4$@K48Ȩp?
O=ٱf=߭^C5v Elj=P:v`W D2",Bٞ	P+FRJi8#vKv+sYQ@V*%`J8Ϛ] dbPPK]"%FT◪MIF17 7uEդj
$PPXӏ:|nT%ղJr/!:8ߋ0E;M` 
˫JOs(>)k{ >!S@Ӡ&.]5iݚIj{e󔇾hX>i0~~G'#ww̐k]'kVj׭x6]2JTɆ
6T5WWaꓽǖ,~yŭ
fi`y-˴B
2$a9E2ķ1V;6lyu{"#X/I>9!  MaE- 1(B)${4]F~ 0j.VӗR{Qxx;i_ `ʇx\)+hk#uUq"^_Vd7;?BBFB j#܆Pt|қ#2l6X:~4.Y[k!aWcW|sdArR2/fUP	۫n
 {kky@#:%T4{M
"Yӭ|^<{;n')v"ۨ^EC`Ҏ2BtǍ8	ygppD@ ᒁ@I]
(2^d£(FТck\?z?sc,x
B`G3EV!f1 0S.ȼؐUM&~EOQWݓn7/Ҵ
폅u|W
a(IAAF4pUH#f~`C0U  ͇M]E463KыZ|k>_2jU".C
d!j-Ch?8Ȩp?
Oӟ\us^,żH2JqT6<??Kbbcژ1K Jj(<w#b-.Xl@i!}2H
&8iQ/j.%Mb Atrj}5>󬀴&DU&ϒ+G]11kT({"55`E&%
P< $}zpL!y<>X-D`0\vI;PEV{/D!KddzA54堃MqAl_7({eyFOiL1v$,KZmM\A6JJS9FlJ?]^՚D@l%M(|AgT0>9wFu_ C_EA)dk7w\ڂ_C*l!"
q
1qhC^&/x7{FӿMC`^/kD{(IP~F.~q3+ d­w,b|׫޿$Dq<nA&svd6=L_?o0I*&'`QBEEۑT1܅9(9b"F޹{$(b#z2vhc{P-Sd+? B>F(?&QyhiT	^Ge
]3de4Ԙ\M|uĤR"L|_ATӈU{SqЀ\%$'8pRAmТE'..G(pp{jK%D}Wvd:sϜ-?S!A!9M:T=Lu(sb)`+$fwpzȠCkUO6-bW0	J7|ߒ*D5QR7M\6/47lhP[0xQr7t{|P"TDh'pB,@>uc*FOdTu)^./}kP%,\e0J7>u]B
hHx
BDq2e$GDz
T/l8{;,ڭJC=<k	|biz[ +'NK
!y?S.?aTVeԞdC~^IxuPb0ʷ5*AЩH,j!\PN4ɇk0(Lo5 
&2$
Ypݸ(qyd*O|S%*wS}Eq(W٧ydKy{fL<~	Bs7vqU$ ?p+Hy	m6Nf`#j=iԤe|
?RNy=~X_nmKYAXD9Ȉn` ,8g0(X&!{Je>defP=nEp;t?|6h٢_ }QoEq>a|bjV0q6L?^a{>4
{hXؠ Lg }\+Ih	v $]0v	/Kf rq&9Qu,v;7i+עFZ(:u8+Nl?jӰc.7	HJ{Y}U:A^~oTyDRDNR
0
E)Y-
+DPydH, 48o1RՉ|LX@2
U"7
=Hw !ކXԨ@Q|S>ȩU-wԑOm|1cDDJ0(d%~_rTb7ڝ\߯1 Ъw/yFF8I#_Y*6cԄŘECͪ&h G*ߢ򆝂ayxp<gq7GF<l}Wl@7?eo8N!@1\^p/GС`g6~Z 4<U>˦^D*Јڅ-] y(^=z n[۰bՄ=9d*t6,$l9]±='#	S4i & [I	<
6'<BR/ˎijM:E <ͨ[* +h]RoJdE<)&'EVx  |O,2e
- G ѡL.=(*va֓۬hۢ&jVK*}&yHHHm 0DLv
0v۝Y; aKFmjZ}h;&Q8JT[ŧ15eŮ77;jvl(Q%8y`c
6D
6	Cex.0w3|baoӦt 
L
;M;"B`_? ƨ/VVŮ=A'otF6RѤAm9;fWhɟ9'r`&:V s0V԰*x^Mj, O>	l8UU:y?y$1wK&e4k?mo愌N(ª0aog,Gܑ*zp'GA$&%ԁhNj1p*]!ZI.cԏ->V_~yD"@1U+r
xN'#BcИm]Uۋ`KfBvU>v(!_m͏Ds*f8E(*qachդ&WO7a(rzkCpmqTV?"9%!*#QnӿGW+HceDjo@@FO,F൬jEﻬc`ҫF)L=yF٨*Rt`,6}m2#@8QZJӧcq2׍b(OȾ9_oҥ
 /vk'^St
|q-Gf ),Ó?:1ިW:=Gѳ[{;u]˞Mݽz<!C;TkTq/ih+VG-LV`jf
/IMQ6֡80H7/&Cs&WLVa[/+]>o;)]8ȸsXS˫f[2NJ˜Oqs@s!zH]
 VmѰmɱN#%-]Մul
:ٚ!#Ȩ,qQPj(̴RiJJFe%N#||Lǟ6kAY\bAmrӌA]%x\c(A*$NwK	@eJuޏ(Չ6(lzAv77zth{Bfn87Fώ
p.-11H"Υ]mx]VfpM	&+0 Wׅ-ݭjΐ-$/i#`C`xhl}z	9x9.-CL	un+lBl<Nl@.U`wy[:Uj]wx5˟eة\>QTk.5NQeBWZ>Z=O #T}9o!NΤW{qqlw	r ZG?qI4mTgd`ӳ	
!jb62f$MU\<Ԩ[g 8	b*>m"7{f!JVWIG2SS-N[,jr3(0+](]`LMŇR$ǛK{uFPp$N܉*иu
O'ᕬpvоWu9R+#!
bЩ+eN(՟V'E^A.7y{&>dyCV=w8&wɣ6!$C(._ "X(Q3JK+x1KK.(P'ahy"8ZTJj$7nSsaxX.mzTU͢N?q2	q1H?'nMk(t+޲:dGj֩_?~)ر:o;Xd@dEc!Ld6;£Pf(2OdTeGƴ6rp	ՊOx CF)R"ll38H9#~sb 4K㺩^%3<Z5	Whep

}`qY^
5Hq|zs?o`3!Upa5uȊ
ꅿ|}kadPs^.`sbz=Xb-5'_{3.IjŠޝ/_[w vad&dp%H:/).{$D$&#<
 f@O	{|eooa*!.`e>/
BRFv~^"թ۪xYu"j2Mmv{} ^5ZÚ8m7ID歑PNq`%
SŊּ-K!2SSOdZVAUk?KDO?0zAd>}ՏB9<zq.oz	f%Ņb?(1uΒB3
|;F[	-s/
nOsn ):[0/R7`%ܷѮ
HB8<`ݥ	dxORQi]|>}3FuiEV 8PRZup!ȗ?׽*fL0KvxBQl3*(R(8ypҐ'aޫ`)Mu8ݰ+:CKeJ$to,-&.YapyҮ
p߿?jaHA*sMMRu{P\Db|,2P%5n  )>EHPkT 1 JĊdHKƜ.Έx hJB2sTO.zrh F3U0^ XU(}=:ilc{ԹA45>FqCj)IO;h1jZ2"Jf ,,ݮX2RwYykQg]΂bhB!MphatTVCaN6Pog6w)$`@-Jcᯖn@
	>uB`[Nz}0vD(S0^kbò?#k@Je2@RT\FG;-mq..	N
jjs8xC>,F^';QYAvի&`l<xe'#P"V	ڴs!qx6|!"х$ꝼ:
6nfP~^Dm+>T4V:{ ԭzUS'],xra&Y4	&R7alpdda|63Tۤ[:5S]WZd2}xU194:Y`i.>QZ_q
]X ϊX
8(04=
$|p>ru '+%zf:l0_nv?Q\'`O##2_C9Lce8ǸX[|1p;}dSקUߟ"B({ dղs$Uxndm؃v;nI^hg碤1(,t#)d;nLF6ϜjvU4z!XbzN.8h!ۮ^ChDFOA`Q$UQ>IFp
Y6"0Bܩ)9YIEbyC"'Y"0UrAg~nbtQVx8;&j|<V+.<n֦yŻBws Wf6($!ݽJKVu=+6KlrƉ3~1OC3}pR1(5︾ϘÁ&Qx!ߧ~~IݕL;)S4mTU:s
	[2e
AFm.Tu 2	N6ܽ"(gJ
:6HB={^BLQ4kOZ/<ղg0bl"^C)]65p猪1]"YPs?n5l?|Ͱ4
|l	Sɜi y\&t"UiLp혈QvTmd"~u!	FL1Y'0`To,].ef}}:Ypً?:!ϩ+D"iaĳz 55ppְcaf"K:EU**9<[f\\5߮B/= <Epà"w[vv2: 
J4D$帷*5	2>m,%!Iy6@tK+ k>x2옷#m'sixf|a0i	1((rroGpWd5) P?-?d(nP]aBi}Oj,?SyG6z`RP5M=:,l38%!#TpT1ZOEfH2>㝪ȥ9@,:tH
K
:q%u3nSGۆ63L.mIo!,YHUH	NDؐ(sض:}lӊO7_ph|yym4 Vn/v!O<鯼!!>wO>}{v NG~No?JwϨ cyU y1>	@^u=1/(pP8AJ,ؾ XP9q$ǼN,?x Af)vVRD;qa*x_Q	J|H-DE(p`DeUdDuGyŉjсg Fd
^QjFʤ"11?b(fV0 1VxAFOjw@&qiTM#_6:RR<7IpMZB>͛POU슃5 Sƙk&2=ob=lL*iv($R+P&(M`HA앩ZZQ(nW"V6HdDI°3r #U$Glvй$8OHVWSq1gkqW;e
",Mnqfj0$,4"aƠ\S{ ёaBZHp(S7D׻g.Z\|y?P]ߏ#ôfY1X[Ӫ&bc]83dvs.nw3 պxoW@U@#J1z䈵j`HPE;/?qP΄LP%6$#'ˣU'"y?B]o|Av,8"[@Ɓn$Ƞ
7zp[yPd. WP@V1c
c%K< +fLIpk1^	I]BI2~aڶhkz~N5i/B(M:!y	2vh3we,VF>lPm6<<KjeNSPW!+׺%mrp\4[jp [Bs>ϔgq(6-
y>U΅ʰSP>'nZ158:xI |:]%-sf*t]'܈Yzzd>_!g퀻0A"OGfom0cJ}lbX	~Z!ixZv_q+Pz8}a<̈́8MADwܛ#}(*vbGj/<2
s&..y}rIԬ=|>OnsZm$㋈V$p@\qגa  Q,b.69>0J?̉4!#0QH"84\'w"ha	-m7)j
Q,f"5/:)J(.&Ihڴ&nZ}N]oаi]4nPq:P.=z7waTOav+;Qh_wdSd_mg{gڥ5"F]6
Bod?2L
 o|X V xn[~x#?PV-x.h@~Ir3
Cq%u7~e/B`	*UഄE\J4Hq5Z 1Upb/HVM%@g䶠o\J!6">Ww%`j1xM7~'w]}g,KB+X03L
0[pB秫H\ү;P.Ԡ~mb4d[dJ( E%>PIһ)s_@ZTJޭ 7ς3J`Qb\^P-ppJ\NERN.=n{K5fFϬ C<BOHE:{kߐ!|VYэA b!͹(qD2 +}?*[,EUH8dPk|b	;݅Mkw#Ѕԯ/iի`5XdWUr>I4̾D4dQQFYeFfD^I̻`Nlj6=8`bpJ4 B4[62LLLJ	eW%L
tF1iQ	Ljp9(L%bdu
2=/u2ȣIEUhz BXA9`) Y'l `ǖVr(puD>GAKƥ?muPKķ Mߍ%( 	nÉo>fpMJIiGAWAÂmHm0@ ZZrY P@ 0kP=2SP೸@"/SA$܀XF߲@D.%\:@ϧQĠ
La6n3KqgIѶRF 6g#J"Tur/]Z0?RkJVTY>x<^kco	6jV+_b-lDOрχ={~Ǒ'ѥSsX챸s(|ߘ>c1js	E+h ׾w'xV_lW&ڢ
:S
A/򞹡YG+$
l$i`ol{7gO
zEFɑD2TJGjD,DR<	Nɢg
{g
hu T5Ȕ dի۹WBP@K)} 	-넢$`ˡB\\bl%"LF^L0:C+nd*ޣTdٌD?-z;Wzll*&w
`w~Eo}?_Vc	Ʒq8Է
?sLS{<$~qd\!iq:h5@t"9Zr%0IO D2EP?i⩑52_By[75eHPyl_E Z9E"%~myhꄀBTڸ)UoDye_~Y;777ljuc6k{Gby8x8#ЩICVuPfV?ڵp?N,z;YΏ8&\?
,(wBxP`ֳ}D$.&`c<Fq`RƧ@#"jzm1.d>56)szqdsp%y ǷAFԾ*Xlǆ`7tb)huj#@} VD;VK+9.B1Ư e%h!8+" DL#փS2'Jy
h Px){tKjj6vǤKGSg*&C_>!"ŻݸEuuQv^(q1V ^!ا8&ޜq"2> 4'CTjN.C`jQdS/@e(Ə t!5b"O	r#a׺7kN|:Ts	F }´mp]L񨔔TpQEBn'XnԿ$FfFB5]jx~Ơ!"#R!DD+c*.3q)!(	^\^
L(k$
6<;kҟ/ 7*;;ct}4 
Y۠2ř'sӟE;&Dߢ򆝂L #	]C)>0b[?b] y?8h+փB}3M@D<VF5ofTlFIw1} =Eyy램RuU+KO-n' D)۟+Kk"]EO:ma\DB/"2VϲϽ$D4-"/iv,Õu#ˌ3%f0'ZElvMF<
up2ѥt!g̲@v@HTE@݅;n-8EK0'QokFѬ׮ YYY^ r9>%µau9BH ۵#r2öi2<g{I|@Iub$tA
s 4/@`Ddo4y+QR$;Y"v:!u&{OrՃ֭fO]_{,W{3[zNХ8հsz]-к^_>ql/Bk.u#'n_;󋳳zLKHV\\I y94ͬ  $2Ƽi4g/?3i cO`Tx&$q r6 QD }é
2Fnu'R\J&j铲<K. kFj W,
JPm	_?pţ 8Ȅ^޸4&8ma,{5K67
㋚5H#_Ftq̗i)Zwo , 57o<B7ZEʪEkG\8).BqQ!<D2{S
eOEjc8jVKBU?y]sLF[-<
KE"4]Y 4D2q f&hTfT;*[ed/ctߚZe ~]S[X+>Npv`8!#LѰ[ǘ*
q$h~1s+O6nj9Nϐ@/oZ.R2h!I@(xk\}A* F0'k݊AJo}:5@VZF}frIrL
Db(G{gqy-êGOC
1O;fĒhL|L-@m5;c 'K
޶e&kSzw#"͙R=[
[NetoBD}L,< ܕTQT8MbnЪR__-:COs
..V	V'ԫ}('!pT?ux]$I6 XCmSZ"Yv(+?nի$A p&`mI&;CY$L-t	Z$ f "h)h>I#CKI
3xok$XS@fxyb/5 2:ʠALFY)Y1P6RD6u1H_{aܸ+%HKC ⳪֭L;l	Q(/ 	=kt.?/A `xyt.@]t.@]Dp~dJ\hC9--)_@[%X֤Ҷ\ϳ0*`~?_sD 4iιjUܴ"s >9=xveG6{.H>;yύ1	 }u
sT/~_V3
WV[^ӓW{[Ξ/ѭi0K{k>05")JB "ArS\FDPkxo!cv3aCpp]h͔%R5C^2I 
Ew\m0J'7,X_\z^l0tiu5KMp(}>l>]H3=FZ
*~ s/@c5kZ/{c*gUaq|ȋaƼ=X%q <z&ݳqD߲ʿw6l7fM$KbW(=*qu䮹硜JJ,989.? lCE
ps:ioQsdFls==K]ouO,G̑JEob
LJLٚwcpw0 Fr!!.п&Oxt_"~XbZ4z_Wټ~@b8SPG=qԏ;sr莨 ucBwɦm/BCx|:yM 92n8[׋ߏtO^{=nӃUV<<ꩨ>k9%Q]T\~9p'j.EhI?sü/JȷJƧ!
:6&<Ӵakz8l됕[бEo|?~VKj\靮V7 1SJ=u>>ɲj  >+bP$`U4ȽYl5JF`4 {|&I_c>|*pۯ _lPd&~PQz6g*B2x=E?0sDH"2(1t\n&BƗ&KCO@LiEp>.}Xhf_dHճIDwf~h,ḩCO\b8T51FTbgJ^nPJ
(j-{<()*`XBޖe|>HD2`H\ #|4'd"'ה3y8ғ|Y~SZ6Iۥ]= >EF!USQz2ztrá$˕W6t?qhBݮ1)!9Co$HZ[FP<QeHNB̜~Jcۖ-e_:eZ&Hu?c]sDqVD"2VFߑvhg9 ɦz-)
cuD9`XX*,^Cm&QQҐ8oZXAh|4`P$ UTHiA lاtkǵ+M@tT!\H$ҿ #VޱWW!|BLR
UӒ?ZlZTE9hjhIWBP]xK
F~Q֘Ԁ~)z|x/t΢
}g
!I)y֪xyMhT>]1~^;UՂ&Uнšo&Hj.ûTQOQ|`r	fi?e<ΰ߷ B	4VeA@6$҈@Bz>륪sTWl>][\fJ*!Z^ $cWo<VSLQIey"clZ-je$g٦|k۩Eg`kٓ۹sѴc|IjZez]O~FY_+ZIz/x9{?W=ԲM
W6^@O9[=6jñgM8Ȉtu 2 I@H?BG
&V!&a3һilg,'S)̀PmI	1'juNGC$ܰdffZ U1Q!4 R?@:uJz2feQ`	;osOީ%7>

eY$X(|$":
͠ >bf3'RqqdoQQ;tT)KSqZvv0Hղp<SpuI*'ҘGo_.Sn$ En'V-1*਋u85f83բ(a%YOQ
U$-}!`^#ϥ/"G~ݠXUӍ^+ubO:s?%SS>f4wxxT ŧ%D fw& Rx!sy52gLΒB|n
_/u8v"3	ZmD=g}?SF1 0K7}>
E4L_Mi/Hzнc̷_b! ?M]_f6,kLUlRuMR-ac YgMtDAр!8q/g fogRm-DlzxOÞk U
imVe}P)SCYf-LHDfzP
RVj@áUPzK
2٪)BY p(eT<c-b@C.kTL/mu{< Ew.U>9 ;F
;s]0cxp cU q| xF'.0+M0f4'i>e(,ɷN= ZWCD+xێ[$CVŬ'pnukWEv[\SƓC%³*^P/ϴ*0
f0*n$'F"ѐc]jd^Z *m~z1SC[Ղ M x*4ha+((xŖd͆-U:c'ON]rIVXK3[UR]wM/~oo%bg2p醺Dv
~N3jУ5I.g	UI,zTnnޟV=5x'(_ιY9$1 ˃Zerأ0{d:r<~$B0&6XS@$]j|R6 #JSD  ƹwŭ8	Rd|8	N'GQ	EjzPvDR Ms^HpFXbf1ARez}LBl
$nH>y҄b-rR60' >L"dE)jaDۮ8Шђ )~Vw"9~f"B2"G/QK~)EpvqV&;_M٭tP_}xWL1[ЭQ<jذtw`AB8y3
ѫk3l~W?_9ɔO$	!	@E$e^"e$Jib<lylۗ؍OF)	w]^q^:ػkzWQz,in.lT_2Oix`c
6<-~>$,'跎X;i506,l٬ҼIkVBg_*I`$VjZWjj];j3|s۫W\}]ǎxm]bYZ\wȠާ($AKMNkF޾b檧Of'n ۤIF
... SҔ䄆ڵ+j6kz`jyAH7DO!NP=[RzDAAF4p*	5QӬD8Z/"FUlx/TKže[1j|%9M)FC^4Kf
At5BRRR,
_,lj^aJŎ)7V(Dc(jE
=+L+`&vNl%EM~E8ulXַJjNÉgVZbmYx$B3"+sPmB*Z}nٜ_G}z_1'R"Ú~N,˺0RU[4Q=>΁-{`cxP2dZ_10_݈5cp,?mXkFHIrmڶ7x!B/QUd@y Ym$ խAMR٫D(50lA5>m>{+>Cg5-W5 >@O6 {\UVF|}Ҁ]`qqqE, Tz[|fvKqȕpH0m?Dfǚu۪gf4lǏϰw􃇎$K;VIݱaÆX{lU Pz{V
<_\⊋u+T ︗1f8%r,Vy0Y]^ ub(PmkD׍N[X=X~)䘤IL|%x6qa\vީv~}d'"@3!DpHf/ul֬,݉&ڣPdE,eADMXv_qq	HHHFPN#P)SGkzfg"/nu1`RfMB) 
tX_Up0Y%?dL3K*.TS(A)U hD2BQWd`CqfPrߴqز0h7 #ꠎ 7}Y^3 R7l0_*z 3tIzU4cފH[=%
PɋV 5ي%6)PyD^ѸaM,^iH<,O%1H /Ŀ-$!3ýjm6"px&ѐO=j&݀pA(4g RF!ZUe"r@5q7ߙ-ޱ∽?/zto.8F,!!'u+ybw
#k:o۾Oht}`oڵΨR'Ȉ([lrUJR !)eפ\zɀN V.+nNrTf`\ҳuT,??
2Z]ct˗eyse&

WN_n[L%8imhX{N.~m2tj95:2~Col_D0eĨ P]I! 5yHn2rq	xb0N9s}<[/19(K[Cc:a¥8CvGx; 'N|9.^%E<̅(ea! 
v(*+	f6O6H(z|<}Sy4bH6pP(qGjyψI4nxco=tRvzO{DƊS+_Zl:%QE^.b+W
HOX~	Or
ǖ!.`f"^;$ +΢I(EZ5R*زk5A-3p0P( XԨ=cXPE-O#5J";jvi5ۤh+ESBQ0Qs+>ȊLqj H;+ u%F!t!b"{rܢ}W+?knbz_#[l XSPIr\oעuN-3nYHXR
k^9QE~^tK+vZ1W!!gn$wŪM9k6nM:gfTE!..{
Px=^떭;:o-[(*v:r4J4gմT7UFm|3
fݵ{[޳moT6 ҆ቃ(l4KZ1(]_Ly8(aH=R{DH'YJ&s$5 
3^8_~v='9u\M8I\-j
B	TYe\MT<L0Bu+{7f)|)m
 K~󲲐
^p8
A *\T6FWlU\/38IDhA
1B4̿lƨɼ]"abcl(r:]DVk#y|0DpQ/~/:r=΁Fbu	H|Ӷ6<QQPӤh [ڌ	+3\˥T*2a*}^^(աx<ǵ] "AvQS}%)j1ܛ$Ħ髑wHyB6hmH6m.9#,x05򾢢oشywUVb69qDlVr QJ]1Nڶ- \ͷqˮX#*pۭlߛNN{i}baҵi*gI:lڲ3rJpcǎi{՚c"vm2I͞yUmjd6>Ee
;S!7L\1/"Qlc;S`qLTAQI?\³P8s؃?.@%)p7,䨌a Wo0mc8/B-ߨ }7v'2/>LW#,P7B=NT")1ڴ}AY@}gǭ.ٰ~7UVv222<=4PWｄlRv:qI!>zK aDj*iUqPJ/e0KP!o
dqAQQeZZ `xЪssx}^xZԚHUbq4]b\\(+\ Bֈh @Dx]4.)muW>m*}D) 9rqi]EurUۈ),qNGx "9
Q%$V{^/ +ΟnniĤ:TOg)xSc|^ˆ
8y$l2?cu2}6mIrrBG
Ũq:;豓Z;,գCԙ"*ٱz4Jol?7LQ<~v1.ͨTbx(@xb6 ߤȒ̊	6Od31K^0Eń+D)nɝΐc2A$timRj+f̞p7שFef*mWu+4Bt;,
#PK GHOhl4|/2ePh5hH./UmZШ,Z*d	wb޽	% [`dd'&6?"8|P+zWz "KBA0#!xngc*ۤ=X`.7IR(Pz"ً'Jh7ކDzxw_^
B  Rcxv=p:K|{)m}4ȭYRV$:=
=Bx`!@lbSFh!rՉ3`4Icjw1l0ОhجdUtq6fl|| "ظg`v M=@"%EyP<tuӧ7m%EVG ,PƍUKǌ9F~3Foiǉzhrrŋq6nٲesu,>v,+VoHj숞~e=/i߶i~Kb=*?uBpĢb;1Zm߹/Y2ѣK,+cQ
vu[\hSgMoz&`Hmrvk'^SXA
Pim"GPPpucتg aL"BXD$MضݪG(`r"PϬ>eI[=tRv9N&k?0(aFOql,$*v-J
(?gٶ6+o<Y!z}e@^(]@׳Jm-{_֨YX{WZŞy5K߯`ЇO~ɸ}0ѽKHɸg%~0{ߥ<B$
c";̠֎V4%hR]@фٔ"NCIDXTD8qydN$tn]+#.-i՝vح'BRzM(G<HP-ކ2вQ.̇_Tt^,4FAԤtXdq
u9us0kB2jGJ> ~qbO.:uIbմl_߂UG$q6>yбq6hIq!z_t23S)i~,.>_߭8z!&5^(^;`}K.:Z`ƌ sF^ilH}-*}5\9~̐bKE˫ݭfӦM ,Q^*Sݥ}FGL<bcg,[)M!ٶUӼk֔@ b%Lzq'f.U#n}X8Ȑ%}Lm6ndum" ;b%WhmUIZ3YJ*tU럾3XUps2:߈hG$<8!T)5zo1IT<n'RIIh=e_R[c&ī{;e+l}
coTgeu$q-Vhb>ի[T+'żg.
xUya} <~ *
2x^ :0'a!? ]FIFSPNY4Xae5ՍidW|>r&6\ O-sC%E&XdTd9on`іe`jrÑ"Neج}
@J,qh&ۉFw# *Sn-L, OaZ;0G5<ħ")
bׂjKÝg}Ndᵡ?1pIa&XF->޷Tvj^'
[AYq68xPlyJI50&lLb_!Bo]j(2
ĵжbc:oQ>IWͰ;&>bdJ.Z4+qII;bxن;vء= ?R
J>: 	Ke*wNvحr
6Z,[&۬,]:M=mܞt6:&{zQm2\^an_MF/0,_U|TIE; CH,Bk\kM"+4pz/_t8aſh3#6]Qls݄#McÄQ큠i#-"qLl>LO79HͼJj.է<JjXqjpU_KѣM 5,P-~q5ѩRNy
sOh蒌$UcoHakwǶ};M ^1o?RCbRs+]*1I-@
Ƹ/1)#F>m44w@<
Dd0VwϺb1۳U\jwk5#I#+, ,wp7ZՈ-j!H &a}ն&R8u kTN8K@CL5SRk_.<.̑ bO%d Fޢ*Ɗ`&2
[Aj)uѳEkthBRݯ֋~vEKrKﯛ	` [P_+ Z/+Y}'r_ZqСqlq6eȊ.w	c4E
To
 k'oQ<A9bpj9'@k\,v}DU7oUӯk,1qpƑѷ_TZ{Veti۪YIBBWHHMNV鸖-mB5>:]RƨdlؼyG:Xq[_ѵ{JVTzm@8+Ml9~ߛ$6!F6G,,6w
;	CiꎫFHA^F,#0/"P	ǿhu
*"8bAG4s_Ke3-;X>$b27Ϝ}"vDpy^}ǈ&E"8c%*)d2d1j6惁U&cY 0~ԏSҫ"	!9\[
&C[TK4<[E3έWn~W;26ȡӬl6ƪఢJA8+Fh\',ۈ̥̌?ƾ8ۇPux$G b
f9ɍhв16Ŕw7(Y +h:
br9?rJ	vKvBi8ȓ5fB;
`(md(/'vW'=՚K0&??48TM=B
KBWK\ )r%tƪ3׉TYaТwb=.iR]\^RNik(ϳ\4阸x,[%],X8ptʟfWjdCf &2:c	,0^/6[jsMdm*ޜ,d/ui`̙37O0Y'ZYI .Gb83ڷWuoS|Zj(Mϳ6G,&5MjrisjCUvǫaш[l#b'6qWBSDC\A/${ތ/D,1;~qP;sbR(88ľ":oU7S \5m#N1)/8~Yd:h ҸÇrvGR
 0Ѱлsҗj0xkFIS+~ܥ 4,1u#&}QA>-?+U"])^U5X0\Q3=U`:h>Ĩ1}=ddcXb(S:8ɞͳP"`Z7| |98${%WY-vGchW=	:6ENvO! ǎDFn>^kz'0mqkK</@	F!(RZPllݛ&qe>8\ ahD{(
 .%RuQVzD_`M%BAv8Տ;v4fG6l]A|/
UЦM|}27Kvh1T0t@Y:\|}MbbcǮ}),л{,jGSVM[AVVlH@jQ={ϨPĎ!KM;XW08$ T%$}p%qD)јa
%`/wը C|Va)Ln0aYbA~Q?ɟn{cβc߸oZ"|;y
,V)mvQĵ.`T؋#I1
2
sQ4eoHMK靜jUz_f%b~@d?\L>L!bjx}1yT
PXX`3ckYIb 5j5/X1a4F	NMkb֣}8֯.⫽SЪ~\U9p*v/QC;IF|όQW;ؠiAz<b%bޯW^h֬!6<]]1ԂxIqէRv<b.N?۔0Jgex=\r>pX0W-P K١PDy`9\pq FqbM@\J
$0XX	#>)x*>!'No&YvsF^xiFٙ㯸8˟jb {^IO\[iѢY}=]-)W-ucݿ+#L[Oώ-$ITaT
^i޼KUl"ۣs_VՁy֦[׻+6sgsIs]ǁo:p$69=jOMtNDAdDI]aŔpEa_DJ5
 >BbuBO~.LTL(5IKփ g)̄BݺkO &6GǽᗄUV7aLbX»RΓ|#f1*gGb{X1.xժwIt`Cty{,iFlZ'K
XL{D|ow,&ɺtIMb瘟Ɩ%bdkJʆ3魵'am5!<g@#Sʂ?=8p=>:4ݫ#RpY߯%	~)ף ]gaނ5Xb#5ѫ[K8bbY[t
f,P>Xe$k
2vb}_]n˯k#6ցw"!SFJz,.^\qUFaz{(n)"J
i4m"{_Τ8	orp1vnnظ4v8`L)GAfoAMqb52NR{fs ZZ\^<>HH$y>xXс F|aUcNg!CmZ:zjPc9W8y"'8,Z>}͙ݻuzRM)c~ɺF+"#r}u6iR`é @R
E	!Y	 rj׶ŭٽ={v*njV
EQ|椒{`&;n!|Vs$IK`K@MfE&dDI°3r #<}e7%-sw(a'vU?6Z(>Zve3Y;g[wѹ~TF{QFxQYEpxaH1cQ
P]-0#6hI4]U+)97bjTYO, wc66"9`%5_û*x8Pdnp~hcǎ-$o	/TWrhmKhw6WqS-cLP3MXp	smGNN\[.][';6mf[e?MrwжƜw} }R1Bf
`j!/(FÆG3CE!oaGRb

pI*F}#C0PElohOO5 q=YOxFP\e(*IMm2{6mRAi U0ъ×M2Xѫ=1	 EFm<X/wnٶ[|q[e_9vd?&M.]NN6-Ow^7~do~/ `~K4׽j99ǋJu6nL8 _KFViyѮ]R-
'.0V`nݺT+L5RiʵkH@X$Fvj_t:+b!?${6Ynr'WiO3&963X5\XYԩ艛VL
*Ҋ.x0NĐ	$<LƠRjJSq #0ެ3oRj Dý*K7JYt))H
=NF\S9EMw5}R
:m)u+pa}קǑ]blum)g%~1|m}
fq)Ͱ ˗L#;v,Q^^fFuV3eQ(o(>zϵ,/ݛflRiתKmMЬ`Ԡêޙӽ^\C[# QsrѦ қŝIԿOWnWWFjr"2N"yQVMEN$%§fCI+%%Xyq6@'<©O"-e@q	
si&[P!vZS.\kY 
33wAL{\CgP6[5]
 e̚?4I8ioբy[ U?q&,.}7Z\zQn6CUܦ7wӆHՖ-ـک~	$l@곷۶lb͖Y%4iҠ(11Z3^m@6Qaۤ`ϼU6wj%&)6 #Jo
&Gu ^{Eg*Xy'T);hPEdo_o'nr+
}`F4Wx d2=2@4r)vEWF $gUvp mo8G 5opߛsɵ/c[2 T2
EëCí
QTP ؔ煙=`Ìei5 FvJeO&vĥ
ZHx3z0V'Oj- \}mcsgn~#.@	 Z|ztfktB,h\Vۅ{E:pˑ#G}}
|jeݦcp:SAF>F`}ܫ>*`,1&qφ
 e;!e/( Sw"h;H"5#Ñb
45 PVJQko~طWX~nѧ5BW{v$mٰ!p\ϩ-&ٻz?.:CӑQclжEIE:eWVI<fbnճ`[>|SF)a۷W]_+'M)u dW1%\Rf "mMniY(}'n]=^S$"1YE*#ֻ` %醱]Mv! 	C9,.a|NV׬. bP*żpgIKKw%/?O
 jGGۂB]{+KEnE)~*TiP^t7)$9 Jϒ5Drҍm6ۺ%s~#*CKQJU3gW@k\QA;fmO^$m/!md,5Cj[З*^@_<Q̤ pjG:NںgbcH[J<lVuo8x$ի#Ga8+1WPU¥Cz!;3~"gC
*$dۼϴ]\9X\4"V 1V{8FrY̱1_qlGB j
aG\,1iW7	lӪ+n7W5y~T
vT l
U+g	sFz5kVk[NF[.DP::f;D7pwsK.K
ݕ2/$ɟ*۝UP''IH60x=Nwɡ8k
,T'&AG\2U"nRS S$DU]tPd.	Сom3 @ojkC $Tb
J8/1 . =L9|!c$==Ķ>ZT
2: #^8 E}A)	TP=\Q=u/vԸ؂"W͛Wm#UM?sK@:ԎSf~B7Tq``I!m6u!m֫UUf"7;իUAJr"r
pinq@AQGbڜ}xũ(0q6"WG.EKТ]BGK$1 4qbiFaˁ)iK	3p]g\0Tdە6Uۜ`_?iz7c1}xwZ\'iZ+ٹU}Idk>掣l"~1ḽL)'ۤGIk#0OşD&J)$b	,`\5ME&"EAFԾ*X;-BTU]3r1B1ӥwG
5goƾFu,ͷC 0Ne"	1Q
Ysvpq=QmjZ1:]1-+y3g
86CćTʚH|e6vCGLotɗݫ
۽JʙNy&m&-w3R[U
;uPIIXj#v=wjZ25/C\\NǱn'ss1v;m%TUf\, >%Y]i;Lh?"`rD,Ͱ5<э9Zڵ<ԙu1~RK_Klb5xcSbB-q eckiuޔ3@B0AMh#ߘGn{@bZIG69m)eI݋_kuJ5$VLjX6!jL-M8Ȩagx #\$.u'vPq03}b64Ds
A onޅo]ZRC;wJv*uyIwm4AU,y!r-q8a矈`{1eWV]Q\WamAQ6 J%9m{`ܱ~ۉKָ~*Z5knЅGp6*;~r
t%(ԨݠBJa^5@_33J$Hn휂@q7^	ʡӇ;1h]%o_/ݸs*Y^^\x/;F70aUX"*<MkS!RWDrۤ̑ND& K7vNBsE40Z'nR!Eh%n}kgR3
6e b| YLOo37;AǴ}{'Lm)/nFTHyFU#_/enOr1{鶁$35jOﺘ<!AchћC1'f%#nq_?n3_oߍMP$G[Dt[_[=˖ot?l]@+lNMmԦUFd&I>I:Ϛ}`˟ pr9m[TK"9ï`´v*'ޭ#hxExW1^PZx9T3eʓAЅ6	-RyiZ	Y!"	J BNK _O^7gZm . bw0KXP5<^ү߾2 %O.@W^iSWU;"N1ϺqFw:D*$gq0] ڶΕIijP0
OVy
4 H$II`2UJq)J"octM"7<4=1I3Ds @SK\߽w 
J
E
/>'X<UԤh5WV(zy%vNF,Ev=̙3%<ahaTDgGhp/йˬ<B]hJ=5IƬR/	ȚҳSU!>O1* =AH.@]t.@]t.Kz48KFd,|2uҶ Rߧ|IWB<
`ULKK~_ߤ"H4]#>`2(dfoJx)f*3K	eKz<{`q"loOTKRmM)ܱ8uv[O"LٸP"r_xUQqu(߰b79xһyqer\FB}B\ğ1{<p2ܴ`!...ĒW@4o>Yf(}sYWV.gW` #By*j-k(
d.A<A錭Qӷ/?syGMѝ{ndLc{plWv%o=zUw/zWVI_ӓ򣚃W{[Ξ/ѽOh{.msn$´8|) >N(Z*jͷy}ҟsqDqVD"2VFߑvhg9?ET2^@c;_rk~;I<+c&+T֟%ucBϦm/爂p >u{Z(G_~؆0g"q
FSRTsnyca㗢=)
xcEƞO?j@Aqt+_î)2 zW SyӯP| S"Dpz*kE7~|8QUtka.a>wXCPE'qa&V]m%mӗje(DkJk2e<Vp
ۓZ]Z:M6r({~~KEއ?}m7x|H >H3AVM~
{_DzZîG$b>ْwC3/K4H)a:ǄO"1YɷMbĴۤpn98Řg]#1U	5	ۼ6g$F6wcU@}>^a8tz]O_5ѥwgX(2P>ەc ·.y]8޶D`
c!$P0,^CkIQ.@^6$-͍B\Q}{{A@t*P(4(mħw]KEħ%D@Mb k9ϓD)
u5%[#fRJ_H)D|bs;JlcP.4~SCs4jB2QĹWD5(Cу1M`YYs4g'0K͠g]>e蔵q?#t̽"6H H?
*|2(US(|imV	=y=6?OIE8GI:p/޸4&8=m֤A8΍
S-BI	ߟƾ<&2#2`qPC
:ǢLlh 
c-nWގ$|֓1*]R !
j+b Y%Xm1|$efjXIۅP8|"I'^gL+&P{lW OR:X7:}djշ_s4ΈxW0Q#4#1aB\?GodpA(#v^+:jX)?7U8!iC8vNв$ڸҁWiD@C7q4%
dL<Yᡙz}L!+(Ue/߿jwqwFo+1(*=p{9Oakσ_w ;8IBϧ8	E&	6
6o3JD_֨6=O\ uJO@İ}eBGd}Ԭ/~]Zi>Z/
Oq+ZK +v_z s6(cpyVjziy!Id٧"q:bpոW4sb_`IQ^Y{]^\sv{dii/#7W`]5ኯӒw Y)Rm7R$I1:X `(%T+8,501CZT+/D,T q1!_Ҏw!/C㗃(isjUBO˨&ѐ}\P*RkQAx\S&XL5!se"cb0v*N'd2
(Z3v3O_?1l^&Xu֕icױ[BSS ߍw8'PE/v EQ:D#MPn2uL3lRC ٔhAFDs?^Lamj~
iNȞ
4sgޣcZ/"]Rdyɻ.ƞjcY4e ?u/Tz[|fvKěqP r;{A#DV*%޽k=HQK\)GvjTp~8>B6?}Rڍ1##TDaTL֤ux6A7P1q^Dbgʼbv&yfdi m,e(6PJ
Ĕ|XᦱJ βr\
}ĹS?6('B>E2́d
Pppp1SMx<˜]SB`C\g,HNJ(CFwn) جVZm.L/>^3ӟᎫ{qS|\m3/g;i=vO{U101Nd~'߀|"srޔrWw	$ݻQ	?1HHJoB
Fɥ8JDCGd@Ì?GH0ZL
Ah>\YA5Gg5 s0	o<Z! NmqÙ-ޱ∽+ .1ӰE8 uVMQ5Y
J G6ww<QeQGc WIR5ƲO>9~*4Sj5 -yO Ae^s&T-зyr=[p`[(kMr`51_kFKTp $"q#im^y!pM>_?N Pw)*vQ״ @h(
!^ML
d%_a@Vn1w
7(6ggM{iQGxg+N$1MZ^듦>z%MM"H#U@.0ݪT|_eq=`LX2~N63ʿ[f
wZx>8bGH9jpLB{ipذ.2#2#2"c.9w#0UcDlb0e۷](*.ej_-".Y\;~E cU>}W+?knbz_#[|<l %X(gѫܻv1L"s:y*4dF%,:0w'?W-eo%@QmRx9iR& KXmb@ClJI>ip̷!z*8XUgD1)@4+V+HqgVua[߹E1j`tk[w`q18~OXX7kVDCO

Ή}DC@{EU(U	S^[;)oO?8W4|$Ff}eڂYn"fZQ*(U@]AoMx}kmC+ćS3x~q_M 
;+R@Y_<GT/+-ztfUzʡnbD%q2V|~E$Rmi.T̴
H
cGx"]dibLZ'(>,3T*tmY5㿲|3D9˓[JxKJNlyZ.l	$Hu>*aK)CrC~߿~dBUv=5iRYkaF,V*3 I2Niy<@BbKNRAv-GRgf^T\6riԳ+|	,ՌݚDQ(^BWh+2-՛,{ȲZ0%lm5K[,(V$(1	(ɋ޷{b{B^!!!>вNY.)%C k"-  jw(@xTTtd~,46Ko[A\ Uw/ѬʕOVh96(TnPP  `xv|V|`3~㇚1tu_ 0> {\!2#2#2"c/ms.GxPgdK~##3Xi4bzX{.dU.E`2v
7|8Fvnr`]Ok=dr/TA OX*T碑*	[)V&֪sM{o 7I-Zܧ}gX,VDu;m2	uN\gFlS	eT4RR]k꾚]\(el#a,i??_]7Sr(vy/SVKTQ NڳV 9Az^|J}&`xdXI뼺]i Qhɳ`ä_+_q]yMaFxeh #.s=g6\3>{q1
zlٺ7 e1fm
 [wDG&C hhȉ"*=
dJqzFKGs5Jڊ͜

II@Y.e_է̦z%aFjC &Ysqāa||1fb۲LiR7L\(F:8_lL-95(8<XC91In?`^'x{!pcv,bxqS8h6U#2"u`{vjƔBx7͆˜/5-?hx`A+|_ֶBS>濊γ~mZإ+Z̸)ɦ2D4t-)ʃ)OorMH11\ꈟ 7 >#?KU[_ܥV0ѭeu9쾪᠔&?7ݱG8Ub.tSgT촤}ЏIf܅1-t'|'Nd~xӬ{6?XDm`"Q@ͱ`D|Iw%ɭqC|+kڃ{viXmjqb74}}{Vݭ PP÷iᗇ@khUDPƴ} 5պތ
GT(%AC,	'?&U@`4T.?)cam
c@
ѻg,_.8Ow'>d"|7zvvmoBP*`(@F]VOSq@ALYv`ĄTmFBsqF(Tafʁ>WA{5 w<  2p(g
JEi ʡ((l4B<)5[lDHHǰs?xF1`L[󀉷1%[Jt?Ef½P@w5:>.ۂ5j.Eyg  )؝wx|bkB	
KLLfCwHotiP=ѱ҆\EOuc_3g"$Ir9.ЮO,i-a5GSK7㯔fHVXlKku_Ԇɧ+(հ>#/pkϴoY+C;[ uX
Aq㚊Ʌ/&J=h^=&Tk}JVPPYpixf 
}5z7e]㖙4
>nARR"yg0L=I`"2mbZ67ksf:ݵ;DC4˯3@twM2h5.z?
tWV?xۮꮉbQ~_44p*rչ,B fAĻǐ߻cMB5)
 =Ob~1-B!QH44cNL3[WýH#(W0i^9q%6Qoo`2*]h[<+	>Bv;U(Qs<4A4eE}޾(V'V~h$K9̈C=hv3HwyqՀlvF,SHyBXo/m
|uCUeJZMje>JkyɡmHޢ\U}8BZ4a5CL|%6U 'mԭЮuR_/U'8tU|=Js/Z~2 v"-Aܯۜ5j߳ZVvb_ǓBy:bcbkQC[|>uᚫ{֝O\vWnW

P۵wb7<z_cY\[1ŌkyYVǋswtSʫ0dTh Ptd=g,!-G_]݀{eX,.&[p=1h@*^A
#ڙWUX,4јP/LJfa՟I}x+yaWl/Ʒ./'9^9δDCՊ<ÁW^I	KHD <=dF4%G5/'!cb =#[i^)Q%NTߪ.wU Z||tg&V-Pp;J܎,z`
H$I׫6CdDGdDGdD?ڟK~b)Vًk/jgs`~-ae~5^x?ʈ*,d)TkgoQgbM_gR{ Nޢx<
Nm6рܶ}qqعɇ7kSfJC:N8^ R	rOfc鮌C
\>?s
+))wrs3ss\@Л\AK1n,k |V<D׫ģ 
$%>X۞ş鑗}Rj4c߯Yn),7aYPM]Ն)~@:#f.+gc~DjjHV+H@b!PU0t6-̈N"ǅDjM?0+[?ڨa]ԫ[G$4Ğ)ׯ[[a5~%Rkвii5$UI_hЛ&.0qټ+Lj}_;nJ6aFc*ڗHvɪ8CD -?v "2QeE."tYt14Įxc'm4JA *+nD98]3:x-d!x W&$
 f'VS䰨ogmUOؓ"z\ߛjqC2I!DjݻяT{]sػ]J (j!$AIb#ؿMH 
#Uxx=q9 OPqNh8tiM
~Ō8)Tl$n4*Cє;s&WOh"t,H4,	U^-X%E.:0I[s/1àE"j6l6v:x ּ1W#a,ݝqhx7'[׮]xFFƏZծvU!
I=vؤB83K7n#`qtVgVUh̓yNڍ`H/O\aݎ}S :d
${rMv_ra1HJ
2^TK;<6E,5"y!JWjxxG*ce[{~-wRI`'%%7_U-CMr?|kT0 u}!Upa}!O^_7EF!yG&@@`Hd|T~ۂX{돋kI!R+"Qwy0 (Y7ț6oТ~|_B@,j'
5<8@dB
Ԓ/C~/a"w^ *
2x"wF?0J2Ȉ0S@.\$2OaHY[mj_Y>0-9n
E?ǍBhyIt K`[v2xZq(4KNץw*ŊqШI]%ܖ,ep*A'hR''TPp2I;}k tƍ$-]Q0v<4nta`"IXF Z-@~Y23' 0cPD1|CmmjݒD1CctAZ[xg{
Z[Bvۻ0bp3~kS`<>~%TļWSt6g1qB/Hl4́}ǄS,q Ng1 DSdWX]onY)aQ%Ds(h9!
жjFWA>	V
jZ\τ:Tn|kl 
5Fnp[Kuc[M@`E-u"E%Q,Rhx<R4w׈_%Ib: gaj	{Qw{9	L0kܡfFOƏ Ey*Ǡsj` HyfXp(	ٚ_g
+/,A<3}dx@P9\pi6J.I)& .%Hd-GM\|V)O
[@]%4EJ(!RcCe'UK,E'qHJz('دFwجVeX}W15,S-@ɩJ^nĨ[H혾sw
]$w[sּ?%Q.=Ly%o &V^L8k8W; uG6BĦW74쩩oMSH4OupuL1!`u 6Ǝ?|nE.[!5Wt
02((D1-" !sg(&O*	I@ڛC75O.8hfP=pE[0!BbXH6G7f⽌G
`X`lLX4@QФ7$"kJsI$X?!'S:rj+6(~]6R!F&ʌ?xxMY<.JtA3
*(:}JQ'ֶ33Jɖ/q)G(nto^UjUѬQވsuLxND+$ikiP\,,8 r꿦|˻ Raj[M泩QM]vb*zxu-No̵H d3+v,/7?xK 9 
㟂ř7ߣzZ$#5:Fw$rI1*^:8N@ӉQ{'lB.mZ6D
'w^[Oj
Lꇩ:;f8s&?)
dU$/oY{wEp{<p<zCPE	W/%rA}I4R}uuې	SxMul!+e
0q Qm?^#$Ru,Ā)$,Vn
cJ^@$
Ʃ31d}Z\oqgIa-?fYXW6=+5JÇT fND9q9?a#<EZ݋0&677UxGmEɆ
#<aDA !'H,$dG\,@NK6usmRAi h%֛{jFb|ulsT5}fSqhz=up"_<9Yռxz&*
S%3[g g]_\u<B$b(Upd[Tf휼SS]HH{p){r^r>
!4,v wc\~
w+{/o.o"ki '@ }`[ը
ojطl+Q
2י׌
4S6 k
Jj
\>wN'`ٲؿ |իW C7>nL[F/G2 1G
4 xdCdݜ34l(
REP^Qh`m&$~߇AAO)
UI Q r3hP1S:DO~*2MF$@Fd]7CۊH,	}80BBҧMQ UClϵy01;7i1襫ZWtU s37n|؄?,֊H\Pw 27, ϑ}6bw<iSjaߊ
}(zojxOϒiEǝxJG1Eokwat%Yx<
Xc/NݽfɵǢ *afXq>ǧxHn`]<Yx`?WŒ-}QP}|/T@C1fOHķ7#:A
HiDd)Qﺡ7d"MFnqؿd*ױZسt'tSkF``\$w"x	bebc`"^~{q/ &6`zW_yO<,/x>OYmWS}4QI"v8a
aXכ4 (n CA!Ũ:1(n)`#D"n$0E5(3e^qo]`Ov]-֨!Z/Yjջ$z{ JY죇GD?}!§9q=7p2
 _UJ; ~AxI%!!6%}"ӫ@	t-mħK-޶Tmp(	({ ia|(MO6]|x;Ow92,E7*L.Y F'k^CJf lq	6GUP1%ךoIS0J>"Q0Z[(@ PqC2{9  hALz ;R8>`U1M	>]pCrAKpqrqԏ	׍j6DXc.B
uc:B	Wnݺ?~`Q^;LBG|C
:dC%b̘Ǭ}|եI3H5tjN tv:㮰D9wPHR
PCc;hLcH 
ydU4Drڦ" CxDOdD?n9R	c,*~pB<;Ya(k%TZCE£2գ"0
{	@՞0Q@gq/6|#{=;7 Uft=v)Uqmp<<V*$SziLL,
~TcSFcͦob7Bp׳P>s!"HH]<./dZp頶P|c^;z	[ h4%Bǳ06?%uB"qOV0 L=oBlKvGpd~䵁w
}"BI}}Y);QM+aaz]7jvQQGA]aH C,cPAm A&
W`Ct$AKEebGmU$2j9u@a`ʈ9==ۆ a8?&c[r)2; Wп̮Bo
mFb@IA/Pq2%=|]G}od?22bo&3sSaESѨ0'MCLiPTN
s_HSnad(r(҉<6X,(q9p:9uuI7KҶ>$k&f`طq5bcW~3q]o$=sc1TCXIJa4ɂ-6MrK;:B5#_L#Ď@!
g."z%PQ2ק_x< ,sXca6~>+{p17t$ʗ<~d1=^w(K)?nx!%BnWC̔<Z7A )>43 V ~X0lPPR.Bk#8jakvhVLD1ㄯ5(&}Mo=vE   wob/}棈hv&\)ʅ"P"@Ft$@Ft$@Fd0h[%S]FĂs+:Wq,9 Dr_/-cP$嗡5<э jjRgowN~G{t R3NN7eMᕒQLԪ8P("|[و5~+/7n7 ؖp$'4VGWAb\`# _\o#ht{&BCY h2@xD
mVq#Rv|VP#S5	H&8(V:O[.s7&;>~vNoDVוSĚ%"C%cAJSi01h>&nZ1%*q FbA|[\'Tl׉Hdc"wDNgVS@62wʰtN 
)B(q
lx^ZPPaΰbbb1ȗՈP,Qҝo`>:D?um4R{o1?A룢q~gDe蹔hB"1-vx)eΜ&l((wꕛ҄&5X3I6[>
Gw:+ @LGqu9.J6*q;OlX8ȾOxu<$~+,\.OeEDF3/AEKD.!1ށ۟^:
z? F#UȠ^>}?!A !f*cxV=@!H<5eHdfzn,.EmS7'WTKdrظEdٵyR,&"kT$w̝>\!3c:^Uեz͋mi9*uxH,!!ᱠ-!NAFFOfws2,C$<;T#菆D>7'	d@
B#gz7	-H G=ֺӑFI5["wd;Cʞ3Kd*FBe≚n)_N)w;S0cdO/Ym]b&:h_?kx'Hp(ES!DcQ5
ct#]rҊ,Z~
5LRR8-=yk$JU 7gNl	4\.(]rRޅzVV׉LjY@B6  "RI.	M"5(Դ/EMhVfL+>d`vS}4c;
Y3Z
䀛!Ǔlr9A3aᳰ.Wx(7f`#;fﺩ_dGkj>R^h2bP2	^ 4v<+$҄fC]Һe#cw87wfd1)Le3  _59:RħؓTx` /d#'&!fYXtt 
K53'xj:>6حH	1w
dEрE\U]k3_ftTP YNR5HIh_Vx`b)>/#&0('B>&b|,$Y,m~oA^h:c
f1 @q_3J21;aIٶP7#,`@Th\i~Q _`MW=
Йk
C%/+c' g~`g8Ȩp2;JT'^B71j5S@LHϭ16R#hG &Ujx=6g#mLچ%@~ \BqV>VNOѓu&Ԝ >hK|}.tNNjoQIK@@*FC=R`Z`a*Fd(EbMh.P&;gws%Vi @PN\k?Qg-!A3V U<^R q
h 	j
Ll0&3y4mE@VE,"b2z8jt| Q
.Ldaj-ƈ@'35N]ddas?8w5K.At_>@
 v ;H#rPsAp}"'Mu1
Ry4w\=y"{݋K.ᾓtN:뭗~ir5e_=	?ZYmyMЬ]b߉z*FMLq
c\ jJJWq$dhTzL X$Y-*V v,
T$+\yi6{l?"V#ռ:	{OK7zsW|ޭW ((좄ZsWH1m }ʓ$iG9m bRĶгT
>=Sa|f4  -8p
_kyWkD!`6ZO+܍󢣌$s,ST8"y{L
\b!'$I{n %_^s?([Z<1t/fP39JED*,jNT8 ?rlL$]t.@]t.@C
RV)C'sM(O$O\EAB\WnS7ՎlfՕ
 #E~i(?|ð8s/$HGqd! =9慢A/bx0~0{"=a[[O 5o^(5o(V)NqO"  2V68tu/ L*FvHdeK,
hu,̠!b!
c]ԹEiI0cC|*5)oqVl
@zYs+J_a"
~je&WU( EVu]ϋȥ7+~ICȊw'pU!m{ͨU-!8}4R>)Sw 8ÌY"Id
WtDă>
٧r-p=璧" _ )-Z\,.޴1vϙa(U-BHT6KP3 ] RJ!( hǘ$I-Aj!~Z&PY+
?:H_E,3|7!$Z8 |( 2llm.2{#z9OïCDEAJ2uef`p90KQjq/}ޡC"dp`(=3F-&[&WM51zxvr%?ȸatG
M_c]Rxɦ
Sz!_
A^7drK1< 
/Ka+7{gI|єܓer&'&Pn]KIF+Xr</wKV`<5J
 PʛA"lH%^$~FY2 Dk|w3c[joEGp˅f3hxa~.6r$ݙJvw7) mK3Ķ~itn>$XnyקXR$?Ub`.ɰHRdc/e$aIŜ^\lnՓE	d0xDhzh>
Eċ,~%i2
w^Xه^d>Y*E7]	Lw#a+íynw<ATM8f8w?IqоF1塡<bΪ(2v܉xQEy''7N.z!C>B~vrH%
x-nD.&wOlK=6/ڨFR&3(cg?LD- M[Lo8=;7BOg*y8V;^U%}Ӟ-): A\޽-W|AW$HqV+\%K\_OGh]X{i#DKMދȻ}hʨ?|᭗\q_׃j+!Qേ^27Lz6U'D"xp񣋋Qq4Qos^~ZkClH-9v*+$fVzBrbAz&
kdȍwX'U8AF%gPU`SO`'󃌷nl(+ߍj)1>kj}ҋILy
Mř
U[e %V 7H@"[	Q 0+<:P~ $΄`QnO0	Y,LIO7]਩cpE@=03x KSW۟a\90µ#SZ<3IUS2lLieuz31XYFA,9χ"OFP|S<+yo/b]}~Uj6eiܭ%x'ܵw^uSLFZ]Z-K/1=ox_(;z𵞟UvI)>+*λZIC_m*wYȊ	$Ks\@
 !<
<UzhPԂ};^ V>ٔN]P{+HK	n7961 ;
q/=xR:<Eo϶'C*r>)Ip ~j=	s:NѣΜx8E؏
_VaVhzPXPQ^c_'k/o6|u9ɝ,~ Jf+` ao`5 nTָ˗&/ގWnٶ(Dg%VȔտv & " t0BMpV;X
Qfc}(Tdgũ\gP7T3fίݾ Ӕ*Q*t\}&#fVbf0& Fwc95$)PiNF
P(
5$L$h4m&"'
UNxQT쁬%Tܾ>dJ>=>ys 6H[[.x7ѣGQ$VA|*H*)y
cSB,Ll%n-~ӝ`맷< ~W9Y(BnM8h0/|Âwo2(/$2><@k*CpRf{LNXY/S] dk%wa )))}ɀ.5kY"YAv1cߨ)06f{Jtpg_qdM,#Db>٧k,Us">ދfȗM>ʴӭ0^`yWZ

VY3_Vpf$[B2뭡Z$nh`ダ
&Y51on0JS&[kv2dd5bĒ;쨘'_ޡvTg3E6Q$mr8XqkCN(<*aDFQ"d
Ly21Tq}:O(+wa2O/@&Y ϧ4dU  ۨ1>mM\gtJsV&PmA!a'A"^}0Hz ATh dP-'.PD8^]b|6fa%+xgWAn-?b=}޹关lPm{W#6ȔahN8q:3C/_:#'3'Tcj@ yv{jr|'{#?LM\~@SH]$03Q!4H u>Qz
@'Y 
rVU'Ȝ<Ԃd^J⣘Q۫n
 {tm%qE(fgΜYPV8sE@ETIK,ԩSsoe8fuӧ. Y(LZ:@C !be$,r%2Qx&1 G<>?Y&
Bsc/n-O0K3PJYY|fëwZM&tU$I cؕwD2P3@(,ŪSP1$8xtd1s.EnjY7\4NϻѨ]&6ܲ">>`ee%"xWqP㓕<9 ,\ZR5P'"
?;dę3+Y7KvI4ȩt
 >Qd(ȑossGn+Dd]ԫ1x0?J1OslI /L:!w׷;ql{
G3p8];q*+뗛|2F-~>&>
uXAO`K}
I!$}W~#&/?!=<)(֬
~sXѢ^2F(u>XzD^\Dy 9@ø2⤉!P~XS_iIni-4Rz1SKKu/Pnܸq2LBP^|NYf9EEE`ЍH߃t"'h mcrEuT.
Qn{QS9!\b!ՊzR<WB!Etb:8{o	c%W|G,HnpECa~

Ļ	cݢ
YNC<7^9~L6٭0Ɏ{rU |h㛊7/'E($F%t&BA
TZpPʯрI8#Ĩ75Nw f F
VEnJh5E9DB< ]pg~\R}SJ{eaK	UA^qiG<d(2)B8볜-2j|עAu@b~acHNNTmؑ5 PPI#Ť_.>fJ	§D[U#U0#45?>fNȞ
4kWCW _K*tu2SQ	4n7Yftuea,B QoufL,6IkH_U't)<ߙM{{Y *{[3AV"_iȔ_*1nt2`Ilfn+fJu_qK
ƈ'puɈyYoGbC19AfSoSgc;1Yd4b܇PFJ~)@YeU'ӯ#e&\SK4wu|J(.]3
I2
PfzMBpQ۪X=sdH%	AM!t"dwЀ_',
37l~nBao 
;aq0sv[vQ5-/IĨaѭKUo[w`q18~OGBT'0	)0brgl1Ѐ͵0(
1 	OF&	mϠX"5r`sH1T9ki5mQEre{&(Y)ڰ-sf \Ynt-κ戽DҠD$b
k|p.4PXi!T옶 ELmFѳE54ImS2^Z&Bi΢]{Ƕiy صP\~iԪY!Ơ	22
(m4/mv@)16nKSk0|`j
f~Z+^@ E}ރ۷1 \@RZ:RJ	~%FAe:Z5.E>:
D̀R~{Q{l,E"XX%	3߸5b헗}k5f3iX.XX$	'(U
͔j*!}>eMztsۮpPQ>fb3^JTɖ׋O
"^O#T3k0E'%ѠF<.&kUD]Z)$FDSr5%n1V &BZPx5?3?."+f_kWwY={bђU۫3~>$$o,.)%C  Yk>`@Ҿ_DCt&21nDrX 160>	BdK**FpR(GΟ'$VM$ã~aÆ=)HUZ`:M ,|3
Fa#۷{Lxc4
_A8b4Ϩ^ݯɦ(T![KEnn67O!sNGև<9r+>힞Aˉ7_cTƛ|B3Owj>ƠLW
q" -h:rjV@'3%}\Z8LPp@ĞM,@le&}Sj1G,нB%T̛3qjQY8p<`:6Zf2FrRµJ@ׄ?X B^p֪ 3vP*x=~Xf.ګUi8a(%P-kbUĥǫ'ۅ[ڊaʪY$6uVƃy`LK4w;(*fD2b$T=܎C[?#0y6veR̞(Ul:yi|ޫPzlٺCAVc=D4`0^Z2ǔQӁ"eL1`weM]YT
#. m[5=Äې&6nEaAV\?otB@ea-}junn
d6WAƶ{`K<JH_ ĽMje$Ħ髑wHaBjs!ݬ6;$[̨m.ܑF?-=4`M^h(h|\ц'nU/{o
oIc͚6(vЧP]cP¸2~30ͨ[hx z
?RN0 CWt#$O[eȀ3+Ut}h*h EWkYE|>wHЈv)Bf| j>޼VI*iQ%u2L2,IDN0ٞha;Df 揄:mqP^q.I.3"7\ajg^.QKBWN۶^rqkZm`e b?%|LVUgNBqq>d<3ڄIJs 199`8H:OA^'TkWGw6m{v`#}wOQA΀qg.h׶MwʄLㅙAH.M
Xj/01ֺjD;XRxѭaE^=kǟ$~%V
?	UdX5IU}d.hي
ȰAǇ3{dVd/c/=P\*`ظ50b"r,h~ Q&fm&@k~Uƻ,ޥ?1q\vOpAU2&~ltwQ spWpՎ)2gBLۦ^drΊ%!{\f*rQK48
EJhƠ%1]L5sPN:E9{ _AƽJq2hƂ&ЀC$*(;2!Zf(qQVI?AqQf&&_ަMMe4⏎(
CwRg .K_xEp =S>DC6E"jm-Q:_j)v͂fJ7Yl~ `pIx?su:ML31$E-_2i@c-`УG71uV@ӵ^%?fj7Zn{
i
(,g
5
agd0ܽ0-2c+Oxq->$-B۱.wqvĊmzV#}&~wmR*Ȩ!آ{\^
Nc#e!5v]hxj!1P:' -JK/ҡFIaAhqiyxL`(&FK_fV6  YZg-9cE%G57+5ZaI3l
5}|2y z):v^^*Ü#1*,!U<؛Yz))J4 KY(,"N!
R%3o%`_fud $7	]]3&kk+r}؂WZK\i8cCad0oMr~o8?ELzj(0L<O6[U-uk%S@8Fv'Vd/z^߷t҈
ذySqGkvZ
Y;,:GWx+`!CsnI4+q}᮫ɊU~ &P+Pd(Z."1	#jv	yYB#R	y&@	tu=\ Ƨ+m(tniDF\-Ɵ)"k$Ap`	0aD@V.S%:_ëHll\2~q.8RdX1n8>ԭxI::5m_^\-[w%x(8o֎)
 CLgh85G>gp@ɡr+X1# 
-~	͆)7P8,2
&
@o@ftbS0Z/7q^g=2(e5U+(PdR"l04d\2 Ex'vѸmMɬ9|$/S&\myWh#rd)X`[~JŌA}r=e.d:#4[
.&w{ ĉ(x5&){\ߘ%?%\KxIqo璌Y{#0SWg׆E
& .TxZ뗔R$X98x({3h]"9((:tՎ	7Sjʳk. 
 U֔wݾχn$I[˝.{G?+<xCݷ	 |Y<-t	;[7эjhQVBGN,&rvQ](K4*\U|x0Sp-^lcPyhYwd`c@fsi۸šV[Yuh԰.խ#GO)kBq;QnmeL*==80HI	$
~\
#½>b9}K_ڿ␓m!QR^/9~2o~M
.n7~zSj&pd d$"޿w ΜUMlq\n%K2C`p.ʙnO! DKlrë7RD6$fzD{ 
Gv ,buf{ʻp "~_|T
|]FLȑw@O.:yabOT7AS9QX;W/^XzGNcP%-ꧠvꐊICb8).Fd#`1 
nte@4Jݻ;n
N>]QR41x )f
ʏ:a2Q
C鲉{rcW5.dW-~;PAz>+՚xx|ɠLLD?,hn\7տ=ÃUpŀPK˸Lz)h űrÍk8r%nؾĉjY 8`.GŮ9 2CS"
	S&O&'h&)	-sm{Sx_Qu50ҀOF+|(<"|ů-(C|	W];\N6;noz2«	qDTHF@vRIVZO!r8hܸ>2md0ǸY=;FDLZYx!9;~Q,~vSASidx95gO9Ȯ,to@{m8kǙ-3mK0O,1\}^:JT52=eJ7l&yxM
opݠ0I>Qtg]Mqq|_CXR,RWeˮ=٘&&;
RL^W0[ӆ۵(f!BGBLFnYPQA\*2ĪD)mP[0rӍ`0c27%9w0`YQj>g<{5fP'cܫ<CWQp}3q̿O m%@WZ_sEgb&ɺDX;h[TIBvrxGv  w߱/߾Ӳ(zM6QM~`$[1wU'DMuU jI
M(+>N<y}%5ӫ"yT0&37J ,.bVi"f㪟ҸX
+
+*ɘ
Y
 xN᫯s=)H<2lUzB
%Q츠0#%́c@@b !!
l:N̼n湅h(W:흊u [l2?{?s 2 K\WpV";-0̉V(E3Bx/MZx`rb2ECw	H(@$`xcWv4 M03o4m3^C?pE[0l4oL  ؂J$O>._q߰m^n$IU7q(!pE%.+M0Cs a]A(6wؽCQ82!č!a*(R-e_175}!!= 
 	">ɰl4@+v$V#h0&B?e
qݨ~0\6	]	63Tۤ[:5S]Wުn?|`:p88T*;K+
ZfSb^|%c%D
'*Sp!dY+TB۾VZ~ڤlcPEqr>~Vn">qUn( )uJ	V^ ޲σ;=n.ڹVYvWwz!1I_5$P֓1֌=dy420 OE'&C"&Ձx~9ڷN0"6J̭kթkaֲe8~d=:x^G(
S-F~hrwEHp$8^{_#h7_ܘoR=53/
5<h}à"1ay/ ԐもYk~ C6:VVdQ=mڥCé3  ԔDW~qInh۱fK/0h8f	
ܰeWOz$ ܽ,4*Dbxdbk^j$ H^FAhs:vn۱T u?^#1co
wa?a$i(n<
@K$­˔)6*9U{-zN2e a<F*>c-
61\Qj{7%A=r@D6Csɼxru}bqA96	aU'y =s&3`U/{wX"}|D 7oÊRzs+)>g;LnP	`
@}H߶ sJk%| xn<yNPbm\f=r]2kK`~]/pЮD:*5$cP]S o
<g"7;]\ d;X۹

t)95k*I@lJ
,v{ꈅŚp9BIyFfaL}FBI&0:)|;,EPYOz cI/fyY4s|*w۩VlV9>}mn'dfdUdfu
9*i\%
7ﬖ_SN</O4IDM6LQ+mqE3U4_)ZDP_yՎ6U"eM?][!kRQV @gJE`Hyf IH4no~HS7oBI1 :s8_RCI hh}GC,/=i%^ŭ
KCpoT2^)'G$iR}%
EkayVm^vm@&bJVdZޤW/(UIM>֫Ww9
Oe+@juc|e
@~n#5+p>
=&Kt LSX;ogq>VM}`9(t(EJr0Vc}>yj
gvH64N.cÌus-n1i'}zl @F`ǥUX[bJZbaEfnXܲ:a n$[,D[|,r86N7]ܴ?e#v<U.[\'G c^~^{xZ޾cdp?$]cz;}K5gEXŧXm/i'=Hz衴;¬Ugܚ{KzJ5/;͎ƽU+E=hD3Judљxđ,<;[U	=82WɬZ.vt`2w:fkuo?
><E5&IZtEbևj4WELu{Q$9$8a	(~}T@QHuD.W#l,S>[6J4<'Uq4hYLxY h^?.݋ħp^䖬ò/kƯu%nEPBAԧ=?	7>6EDrȁ{to@b9 0="S+р"#Jb⭷߃/Xq^}<(..c?~z4)uE(+=_>¿sceb%Q%-ӦmOle曮Gnw%;42x7qe={JgNn;Os? dc!qoGܤ \Aߒh&U)Y4$b&JQ9l#`!a>wurުN*"}1g7R
PCc;RS\0W~{F,
Ŷ.-hq0@)]yF.jGil,lDNLOzu=_BŌ;wzC/]~IJ:;Ϙ?V`̨7k֤8//o E[eR*k9dSRaܬGAoHC=ZUb%XX$U]s8ܫq|W*q?KhԬ*zG(H$xտeJI
^j@p{S6W`=b`q(6-*Foܴ)n- ("q4l6,S$Bj"<%xPD'7iZnYK&+
ѥJ ]{*j-_(x\@PRDgPݺuKzt| H _?k9Ep(F=Z&n;~,4,Ztַy\zP=2ߎO¥Kz\W|MM0xrrNfggw+qB^d.RmAv,Ѐ,QЁ).e=iMo~R*`A)SGB>
oNZ]k{r\]v^J #/mfBYB#|EVB:-ɹck7)@؋;7H݌+7.P$˔Q=J*+¾yzCFl?H6I~U̮;w
4@DxTPEB1ˊIr7.IV:b]&|3&MCm4
0Qk~K0֫2hC}p7o|ZL&)G~tjY6W9r(#/C]^xݞIr3
+Kۦ)]wTP9?"Ӓ^:CCJ"524۲0' B>ZF˚6?Uh0wobzt@Q1@(9p$Ba+
O x2acg\x'bݔifUh_LY5FyӦ $
T85Lq)0U	+)-]PdHwHv9b%*Gj*xI(_ʔXƕZ~(>E j8F ?zQ[V"̪ۡH_'8,*жg㛶R> gh,޴g\ѹk1Rb;>f2eR
uk^sQ\3gae[J>~2#>'7ϡ3gURjVV6.9$cE^*U1}RսNh0&Kb^ZL+Htv9=ͫ|f8K-D'
m@C'&&ZBWqѲ«j̗MA^:p9(L%*h`m ewC'Ey(*7"-mVo&	E
nEBHx)J˪׿+nj!vB~[VD -	BhT3c0HFmCZK0a<Zv| B
䆱]r s'UZ8TY%!U^f];Ai
T$	baWȨxI;$i]͑0Q.8tW~L8|ٳ	iE 	ɰĤ]saHo0hM- 	4ef	'qA)xa
pifvNu#Az׉pade@<Ri*|%WA^I"
zOUV$⓬hުV׏>:@ݪq525
I
q\ʲQ
1/Pi[nZ=wF-3{XjaǢҭ*HE=êt-O
WEڴJ4׌JEH)4yq2ay1骚j~R3&GɑD2TJGjD,$gT|Y 3#Y4̡_aOl\B)'hд/e|6[zW,bZ8j_aj?Gs5Հz
ԉ."Ij5Fa"!

ѼRjT_.l48F㧍Qqɜ1*Tz]ER]-pqec*l}]pJ{@8t5x{5NwG-ESJj=>[I]Yݷ!1(!`ZC ,w̼-ǠѥB1
.~l SB)(L"}vgP@bR bE\͙rU{IK)t\}= $7UP4D捩@z>
Wз2g].,C,<<6Ƒu9:i %<1c}{EJa)%-#1!m5G~A	9>p[
@"EKϜ
2AF@Z7*)ÊӄX<\R5k5'W&H-6> R1-_lnWl$̷y}8x(l/J}b		h$Lm\37ƥ֞l縺F)Cn{ 7#rrGQJkS;KVJytcbqEv
LxQ̀X||qb"pM .*XPo YJm<xBy?hy$@mEO/r>B =	[9/,=7	QhEH<̢\a.m,}RvH\E!]q{>ٳrces!{TML֎v}QlMF9but#$VU{|+ȷ'#5
{/%vGCI)M;L&:uؚj֬YK	m&ԃqǻLL-gP~:G!(KUWJ	Luf0"&`h,
,۶A#gх}=Yj+>Z06idcm;a{Bbc' o.I'*qLPzTD܈dYQdlQ}.S[1]7vL|PdgJ;y룢O1F^	\eBYib7nT;wv]5)^/Ui:@,IF)?en<(1Q>p "!H97q4[$(.6F$A}2pe3E0RZ`B$nl̘idւj__1ym[-L.+BMƟf)1`9kM|g]GOzV.-׸A:xT}XqԑUVQы5]Y=JP!л.yOD8 NipzS PYnrND	i/b.bݪhP
uO
IƬjbpţ4iDU1[Z1ʰdκ?3YmVw/W- 6C	7>>cp֔V\.?% 	`AB)ܝNER.ywǶm0~GPP*_өZSp
TR"bpBx߈ WG|J;M:w'v{RV'TMacயEY=+=ٙb	[
Uwa8jOI>@PL()'R.~=F$yrk㑹GJ}3')y#,&̠Jѥߔl$6;<Sϼ Vw^]K5yW=	@ƠIq6
H*{	 H+"
Z&H$T:Qy-H\n [3$
޼_=s>c(3+n= 
h $̆J9l4n	qHٲȜXb_ s<ay΢um@欛0 )eF5IJ
|ɴ0 5S_ k´Ec'q诡=
1yJv|EF6^ru1#}]~?qMTu'	V÷CB0
f6+w01"ei/ x
kR@JOn?OK|m  "#1L0Ʊ)]iF
Y[%/df>,[zHST= C,V<egF?bn
5"`ì"&jMKwvWD`;ˑ}?)B7dV}f<1׹+&-oތ܅y /`9^Yb@uFRPPEc(Ȩ9imZ\B@	ȂgX9$ _4jr11	x=J
C\)pw^'$'܂IU
P
T%ff8a!G<q:,][}$OE9'$/}.Jn:xJ- H~,9RvQ3 *1aH7
TaAk6B~V[aTNI^DK*w9_&ZآWA9A>=(??DJJJ|BEj0QJ(`L111k8
ۉ>aܸ+%HKC ⳪֭L;yMaPIb2jP%(z'?.,1cfT`4
%jM]ѯ?aOBH$Z/59=4`@*=QsMIaC+I2&Ȭ6q>>!:I
6X @t.@]t.@]Dgt.9zxGxRT<ӊr>98912S1DI Pr zbjD}zߺE8!N߱H"#
v2͟=C*n""]e%;`@_oXU,yd.Bm![?pSOQ;RQU^
]C)3NM`l6{9kAEy1)HfZ IfI>TGYp]hP"LٸP"pY㒊p
̆,ʞ`38dE y#̌L[#?7!fffbò_c"hCVV&6cT*ty| 7K#+"4X;Ƌ@곹fpTIp8ci2AjC^d7 |B3,!?jم｡h&Zg[Mi>nr JeUJ߼udJ|ݭ등l-kS6ϑHǷ

a/NG?nl}ޢ׎|esr CbxSڶnuk#=nsӆߏ#g%׉d:%q.^QVzf OhH댱SZ&X,g }@)mp3ej٦DoK(s-$2+:u?DR=2hj233x]Z5ݥ1'ԐGɵ$?Ѯ!eXH: }bx<88ͳPY?)b^X9|[{ӥnu2f0]{j	&׵,z'.d)Ed5K|jh70Bü<L#ADw;?lcfWS]!w,ɊۆliwlqMy]ӱc	Ç
7K@}	3&FO8(( ěYnýNV$	
xRsyYDjT]+|XnyקXCn׀Eû'K̏de%X00i=zOΦ
<'w_cl Ԑ@a DTfb&qfDLvAneІ?ynӊɁs_~'のɜzCOpp?C歿{Q( 3p{}|ԢڇR@A%.ac(wNJ*007y<4k\U?=hި6
W\@	0{]ޜ	uR-?${)
8!.wq1J
*_Ʋ;L{ ޗ@@x*N;﫚5S.XIs~;+Kzz8(ުUS(ԋ{	7l0~³]9ii<dvn?#t^\! zXK0Ԣi㧲
J6hEuHJq5jРAԤQ./fget& Oryڡ}<psI wo
O>'Bi
	D ys%jlۿN[ow4έinҝC;>{wmT!$7ƣ[;πN/9.GP@yDqHHt% ,kl+vF!DBĥ}
}0kx
?~8'goxkѧK}Cj<A~âߧ{Hng6.#P|.$ O2 4m qW'1s-¦M}"]Aw
2p">5W_
[w]$1qtr)_X3]+<#\^CڽS("Ww\W`-pzdN:Y46]g1$INLoM۳@,J7"6Pֈ"R:c+{lJiߦ.=M$%q{2o}LP 4oN,uev6pov'CV$IQ



{ s@
{;.z `_Ti39J{
o"B)Ep]wEG
xl6'.I^.[Q\_9#k*#22{~=(
-	
Q1i
]>۔񤀲ȗI.E2I[~I4W 6 znq8L^Y7U	K(|2νw~4z*lڴ1cpG-\0m,tn7jR4n ?.oGvHig6,L/0F
b]شuJ\>Gxh٬_Lw}^ģI3Vń:U|Mf޻2m$LM{^7^ŋ_~	sđl4і'pLů̪Lïie(vBP\\dLSX52T,~&e/XKܲ
4| ?ZЮCtyheMd	VecF
>F
?!&gH\:ݳlq'cՐ1$;{|EW7^]?3R	r??7|pgFg7D=L^J4}HWi'T4'3k0U;D(Qbjp<URJ~ B.
<s?	Zox6iF$E3F0%
зX`|mM"m:cTݢ^xA4FthKVɔ° c~PCmR$,Nrǯ 2x}>dI>{_ƚG$0T߿4׍_z"Qi6<7)/!*5+V=]XWuB'v@u.~  {ѯO/>V;UL.+C^rdgQAM\VjҺ5i$s9)}kL(foߺ#)(?'^kf6=x?rmOh.YJE
DVz810qQ @*,:73WAΜ9f͚q()ܫ%rssg٩S榧ʸEU=Od_.#kPQ?B,Baqq;Jm_uߏB:B)vkb	'u|Gw6%\_v:))) c7&"D0?+Aҟ'A|OQ-]Z۫' Pg@BzeaM+OŬ#yDJj0 ѐ>_׿.MUPPո<|S[KD
|wWOV&a\ѮM{)܈@J搳3Р[%:v}	7Ÿo(}h٤:6/ ))	?ڥWNFkg~ˠ^hW^9FZ,$uNx/t"/E)<jq[R8l-:6@5S ?vh'jO^ _x.ub\oY$Yxq Q
&IҺsiѣtLkQ1"GV,bO;1jtƍTW^>J'֬Y"0pca^lY_LroYw..P]1̤b9S#/|̌;X@#+c1@ #j1qNϭO$pSK&{<>](EfǁH$P22r[/fz7nf,̽[XvvvAβqq]vwRbKl޸*JO.{t L?xY3"sAŉ~k6e&z>~8P0H
(߾qpc(dI ^4K4&8^ʝoO@Ehܰ Z$<Țb<HmJA. ICX7)ixfn@4;<-6u!؇惑пWLC?l}uBe`gFzضm8@j#>>>*T8zT 9W%2yBt@"bؾ~o^Qqo^v8Y0$5Bhh+W㗽SqVCaRt`%E`/+YK9#Q ?4n</P* zS:P	BH{*dg#! >"#.8"eϽ=cڭG<~{+7 DݥG}n%E+v`}(m="s!XoB%Ho|3GXv{{Esӭ:~s$?(\6g(Bc@:	dj{a?F'UysZ
vp<ϋ{T   6N2>	1,"22sF[RmwD剈%}bn@0kZu~TK굝P[J5FCsƋI4Pv-eDzݽ}
!E#yy!VWY\g2
^R:P/pf,::qQ{`힌R}>
]R=ڵRdY ~gF6$O(.n/ EVCO`c_gvgJn^;k^Euqq	|>Z|X>ӊ#hru h0"n~=.UǏ {k)x<)E12P1;ߐ.:d0J0	:aŋ` zyY,1 )cŘG|rd'O,g7o䜶<b:Rl
Yt?#_}&!&ܨ]>
JfLE(|@߇	$햃 ORŢ!嵏3u <%&ggrßKMk߭qvdWb-WPf:b/HPRB$?)Վ	@Rmb:Vķ7cZ-oD /@Fmn2N~Zz̕;0a`R1߾{ A<1ON~}ӑvtv7q"?N3-Sƌ*Sedi"+BVࠅ'HλvQFмΡc
g Y0	ϟB$Ir*wS.KEq(W٧ydKy{f.r	E|B5-7E
=*ZӬn]Umi^6U_}zӎU/n0
!VcUrZSk|߻4A%c&_ؠF^X5K*Ͳ|߸
| `
)  |t'ΨÇ9UMߦcmx
EuްZ^ߏ\A PS0jhg#clpO
@9J:zLZzۃĠ>-`	wҏZ 8nzgAӋ,_ޱq=W_FX
c:Y[5lJBBoו&9(j-P8z|(hV5i{R͚7^һTzr]2|^R!%c
e[)ixkc2aXy`Cl%|۠*Tv6'LavF(PQI^Z{ydؔWnzOZUV؉UOùXy'>	3mi|l; .｣{c3fL
\L?fFhPTseN:rtqᩍ/fly# W8;BLW>c.łfM1Ə?ݏg쀦p:4wߍ{P+D
4Xs\^퓱#VKǟӷC˛oKꆊ@4KF,i6|aԭW{guj2nt`VUU۵
9^(R]RY)TB2e
p "%6X*4{)QT>֭jJNznD÷jQCO=Awrxώ*+"L6Zko6w	xރH]jM'U>
{j*>.+ㆷ3WjXei^&( x_>½L/?7k	0a'>_M{*Y7zcHr23+eYeqrwrjخe
NyP1)S
dmKE]U)&-P0"`MLD4
Z7j4&VK4j7SxkE6WSsw94tP
/lE~QJY@I:qɑ2W7̕-֨[
E8ժ;ot<sKO⻒' 8`Lwyt!-Yt7
#}>0"B}/n]gLwL#LgDV~ދ9/
d c:ݙX}9~zGVٸiSOS}}>_u9Y
7~m{[jZNn%^;o4x	-;}m7^:9|
A[9cV@5H߲ouY	4A!iuW4hA/WѨ5YE00QѤ	PA"8]ߧľ#"	h[g$YI^>U{.XkXˣg-n2msgt>r׌9t )3./<c˯_w'EVw>F3>DA@Ud|8	N'GQ	EjzPڠ ~!Ļ,HrnQu]zvJir~ 15gJ X$Y_,>q .2Gǣȶ+}tbb՗ӠOz1	'@ ri||22dD:DI <ъpd	fT;6
2r&u*E߮;ǫŦPuސgz@=5,(w]G^<O9P\Y 12aVosHO]$cEM%%i|+L'HD0*T(30u+\G_?_DI&7rT
:h~m~%coi86JNCV}Ʒ[T!jվMm(J}`9xmv?Mh=Rl?[P$"Ûq39@(޹ԧh(Axok*Z^j [9uTL+%Eb)+S{YF;o>@ya(J<OֈMҭZn. r%rR5q:7tDE6
JL|߸tӹNiؾ};V 3;Z/"FUlx/TKže[1j|pՈ l#VYh{z|vMݻO[n=hv2ȲI-$@jY,j+{oG/8ϓ+aİA/PJxG_$Y!xIeT%W?sWkRZ5kpφ' )9#5
02EA+Oʽ@NG{+@C<L5<P\/B:RiI~e[_
A~ǽl(T
7].x	)f5'',"`坟n(VЂuiƶ΂,M_.xYGu˃J
|uG>wѽ_lPa״vO;ݙ%gr$%{~ؐK.Z[Lb΋dsghn ޳L XIo_!I6v),
4jxԨv5%Tr0b/dY	K)xhP&RQT5fFMz&=QCV"Y\"V.XW0Pxv`s@ND[2"$#h8=ܒ8@վbW%#\ fELE|DF=??g^jUqXpdר7rQ8D(d_|7'ء/kAAHx艔(lKz5k=KwI8(-96ja|]]Jw~Y}?.^/9ydڵkoXg./*D41eeeaڿ4za彻@cYQT!o>7nۥ	47'#Z%Ҫ&hbn%+58}%#}{
NqAeb &~[9&
P#2<[}\h^*@y)\*aSB | Jά3A
E$rOKKySCFnW@A
iUAF$v<|;i<B]JN6{M+޼賈h9|	JF+n@$+duA"h}؉֔|USffVQE#VtBxI64"9Ak1DK\A%apoU4șuUE~U8]29[-$?+T]'y/}a]1v9ڵjw8|L'p&ɜC! 5yHn2rq	xb0N9s8գ:
q5OJJnˇ7b٪i{:hqJa`0 6D!!aLDTHO6ACBͿ$зgE!k <F.%Xcc>\jFuXqv
>xP(4PE (	N 4CJrXd$zR _!;P
ſ3$ߑ|Êg>m;?|#7iج>-\
`
şbKNtZM%Il6#+-g<Y8:RIwgǷ2/CEȼeуZ.
 EgJ)t

HM}߯ 9ʁ.qSdxx2"QP5F8;[٢
Kr:)ܖԾcfWNS:
s0s-[V?Y2!"&cG(a$@=fk0'FǾh~ܣWQ#OͻNYZ[6WmM5^Fl<12D#(d`:bRfz|Ɲ{N<թ]mց2h@/5:P|Q"F^l 1sEȔSbYVQ	ߙ] #k[ V]Zڿ<2ß/0Y>R-%*eTPSYNJIU^dPf'bHxU	HJn4dȐ* NjժU땘HEzJh@fQ1j@auطiԓ[zȝ;G$*.
=5%u_ޝKw?7c\z5# RLA
Jv b{Ƚ$1PRp坂r|2J=~s1K>|$I @x+^ 8<Ҵ@g:¼)L`GQv^Y| wJ_A_yCϺ[ޥKcGf(*P()|rh*B0h%"J̱X{YE;g7 b
]@bR׉9{Nl~dYΒ*|㯷 P_p[4IО	}qQ-aTs*Lm]zڊURƬ|'8e^ӥϪ_~U#)TB ) n7~2qdϳ'}
 dH]Pטx+/7rH;l۟ԴD|,tvAL\,&NeAFUu<¾E=VSbjѤ
e$w>W5_ %N]˵Muu"khB0$̸Okqh`CA)٧ӿ`#;;Rt.
=s^Zi/3OyfZWv5k"%ç&-L;U0w}
"¥4fkt. 
1uk#K[p喂/PXŚO+ˢ\r*\f5Jyyf4 *EOc<&FqȅE%V]u/Yص`\zu XR(--î=C.pEhMhzXu]aՇNn=s
5>cs._ny{q#{BܵX/%^NOV<SfBzlË
^Wp4GHLr{.=;k 1jk<yY~Y}#a$p 1(4iW׌lD0w$gvD3n7w~VmA_]gDI{rU((OJвuk(
}R̟kw-uvW(6t@-7{'|n:j8Pd-dbj-`#PmMGt*R}LSTthE pjsNnu_F|j+ xs>~=EGBu}BHuO-k+c8okenpSq7Wcxݪ*@)qڵR_2pLb\i{
R3CѯaL`  <2,>9jr3W:4>CT49Ύ'Fu1I:TT={h7tRqDn
;w]תǤ} Lˏ[PQ5~e>--޼Wg
Y'JaM2Ԋ	U\ڶ,+O(-7 ?\	ಂ
?rsZ7lԮK#P5
NѮ:!}L,Bj
^t4Ķ^Ӹ@9:q`ޤ &\$c0"UI
6~~HjPXUD<瀼/`d˦
:J$3#Ibrrrw5
jE%33s,WRre$>H'φnW	v:'&LcL'n'ЦM]L'e-{
ZE_HmxJK	#׍8t5ڠ}sט9{FBIRb׏jIF
Or $EQݫ"+f
8STI-W^Fv})AB.dgc$g'č[7p@~۵B铠&!٨؀K>䍩i|`Zwi֬]h
rCBF-:!1DlaxBYthr+rG
zJV٠qF up!	(,"5{F.c*m1_sE_dk6}Ň<vwFRU&# y̚{HR|vQg l诋vyIJ3v! ,.|i:rvl{+u7[n;\dldhRH6{/wLõx% ^j[}9ң99u< D߹>EGwUs
uM4/JMQ!ևGPcbDbѣjbn-i1$%~yn]0t/pߡ` X	m{p:7P8zsvb2W1CRD%bfu#9']hA%τŌΫ`nNٝ4tY)ՙhQQ!֭%g$^ 0LBĝf FaZ2¢44s협}v{ Ly;vzC/ۮ┞;vIJJR?c_^Rї9ѼiYDIm>&1e"/O,(=_Yboɗ:钛CaуrLorΜ@u_X;vK>꿿- K9+D+Yȝb_|*"i!m;reEKR\6 #棨 `&[)648	aNRӪD-
"!fU-)O
&l1O
zg_3N)>؁;Nk8K6BnІT0-x˵ڷ%c#Yo 4̐"&Й	KePRbn/5"DH2`x (+(===KT|~W?@a?2,)=~&Ko2bW~G=NACamviܺ91|Uk5mN=b-۶.u7SW_Uk{bMyqwFߌ&H)[%q4zJufb}n=jr-ƺ_*(J81vR&=-ӂQt?@NNXѥ8fy8kC-;$PN&\{iѢ,Z32fB}zֈ@=hZn/@hkJ͒&th*^D̴K>J@ _dn@H)%^$'fU)y]j~7#xLƟBa 4?NJ*f!׍c9NUc˖IO-pm6RZK.yWնM"~[j_D0~Wм?եFz&\^I'(ZT˙/W'\zB",q)8}#\%y#1Jq
ʔN̔B23A ]u
6Iݸwo+GE4詼	o!ܖͭ3٪BzhrK۴k
7"!Y&!lpW4>%`D6JB cPif]
cKXpX	64U4@08MHX4advE;1!A1.;(
ѣzWI-Q﷨tӧoz|:=0t뜿V
[,nKhYl۸V)gŐ1kVHj4̻jH9ܻ69p"#@̦&b1ZC "MzU'L	OdT(l_3Z|mLǀqbڥ&\қnuiҾE_0G7ػи(<w`CE$olD?)"Jyi*P-hDB>PڒVQZ
۟4\ĄtgZ	&nw{rna>Ydg2wr7˅Z`}ـ$dj<</YޱlH*PPP
!η_"eq/)[7>G`F"0<6II6޾:C0SD>+;ؙs-Oe"ltϩ:;ڍ[Ff<m0lp@[8Q.ϿzfgfhӬ	շ	~b#"(@@)8,OL_	
t;i+zٙ2F?yӴ8wp>9+amN%Jx&Y!l,x#WC7
)(㭂 Hks~|#뎃
P 0xm
h7?o;vSs$PmYm"CSy:#ay`i2u>DF+Rr魒C#0@phT?/+)-%^ͷ/R<MD|q%D/ΒSB1iV7_''j6(Ўh0)kr@nO4!|>oAqID?973|bKsۼH8:
Cq
Zb懟XAaUAE
'8x|06D&rzx"Mc.}-ǁB
H4JLӅQ7kcQN@AAr%sE\Éyyn
*Sd^ݼ  B7l w	"yyC+
\c{Ne!ܷ6@' Ƴbb~#
yTeonEzUI%A )%Ƅ
p.l=U"r.$$Xy-*LKIfyU%%{}Sŭ7k+7hKcQ}əvp ~~lJ(jp)9%Ć+֯
xÚ-fdBdӱRs<0IY|a2I"w6X7ӛ+lIad|h+=28c(ك6n٨z?z#8̀ ;twwwP*!
JH!(-C0d]3s;93<}svʾ#fQK;g?"#2@gfھ4wqâ"6>|=Iw t蛦ȶyƠ̥'q:.R
@@d*5⛛^hnjì߆DlaU CӵsfB+
knB[Q͝JRgunf *{"S}U!Ns׃rq%^tgEZ je5K׎
k
:ǖHNW!12Ydaʕ+SomڴIʄj9s) Η@0ustyR⮪"Njpگ߶_C:l[:Km(zyf-ntlφO҉5榬<F'm<jH~ٛf;Z{w^?3g
M&]<Wqpr]v~~8ab\&TXЧh
ekstHKE4dXl9~
5Wt27ήǯj~ 	%|G*B$"p`즯Aw#rE^U9?On:>28&T:!Icگf󉙃`4&6%?3(Wh%!J29z/H#4Ӽ]9<2\jB9%q + :щ>ocߎpf{p\|	Dܳ84hpϿ[
@|㒌@Z $W+P5<`[ .G7^fkU/
s5EBQqXU@>UH<fH2vۘv5BtӚ	/Px~3L,Vy5i
łAݘ瘉esMed6bMH5K AU+ _JEosby|(̙*%?̙odfBdmPeID|E 
6ԭ S7,UOc;B@@ (~eu ?Vg?A FX텨{Nw~~o{P;3{}l@rT`E~BW_Kn	_.^pRx8t.=DLA|Ү~>e ,/s
o7!e+&q/;ndQTd%*K85NjSHN*x&;s!7'"M">Fݰ2ޫT{棄O1	|YtY	w<@ĐMk3S6ǔ`2#0vyY]
Rp~
[uzX2xξx(uV̆$IDQM)GqJFi0.<F@OͧK~sxD/D."
xoedY>(G qP1kk7 hΥKgSA:;)ŏL?+2p*{+e4Ab*9snsbJD"Er Sz
q~H5IH/`ƣVx L^@鋸rAѨӧ}OX2\m!LRV%l3I($h3Rŀ#-G/Ȟ9{G۲j0SKvߣm96LL@l#`d#F2r^/O.פlSy~xo	A@r.~$?2L7 +!:JLے|)L h:fkSFs.MˢPbR׏v/lWzu}{	i1p;<l9C -4Q9K~N1GYH%{_Č"m  =kwjrCzi:0ˮ;14=;) A' 
 ln7lHkx(Tjn2:6&C)$ЖKIFTl_GAyo;Ιcl1ke'Y-4xm&cǉA]z
iݲTS3*?xr=r{sqא"VCn!+FC'@bi]l-A_ ![9 8]xx*wDQP'qKH	qz)'{"boK.eCZ5.!ZJ	Ilgi*3<6K?zKOЬy9̙6p/jwx|Ǐ!Á8 0'֥#nJtfŬ^[t\0.n* c6HbjxBeU׭2qS5*강Gr &xb2~2*RU'Vt@Zrm=?6HĲ^6N|E2gVHsoAZ:{]gvx]|76;|;*LX_ .{V9aw7qң,{=$ >ٌ1fEʹYfAEIe;nrUGzs5]b'5;n}a-Ey@~98ɸҡXj.+o*M 7LQ-
D;yMg-RrRo"#_"QrԯVn>eXͦ4!X|+XNwDZ1x+$5RpRr8Y9D""XQ}}8B&E}c ^ňG`%b0 ay8;=G6uORl՚m>}6/ߪC/.۝K鐹{?ɗ'aK.GKpb1sW(z|oedK91W@@Ή++WNMFuq3W(bqY$nܼ7,
];_oǯ#8}ix;*潿߼HI{
X>.M c^j.}Mk 9Ǎ'Y1v+[Ǜ}Bk"ZYeW5"$?t\xU>,m
[&	8F
Iӌ5Ƿ%w/^݄xTMI%w~^@'J=bT>w _?} CN87
 >M]xQ9Sj	9]d{}_?ْ(^ TSDGMR{o7
ZǬ M,ۜw.yy
Q`Nkʑ(iڱ6-J}W:yI	xAh3FO
uPTD-<§o=x6"9>ܗwbз$xy]5׀ϕ+? Npx R-xMD3ĄOIh8X%%˞WJ	9T7%.~tTC(E5cPQ0ӊHy>l>-z5U%/2߆+s*FUN~jccی64f/vhcvۡX?&@o_'NU-N/Z8ً2u$'&P܃#kZix.h3G8+ l^nVTF,>%ϣҙ1	:ѹK"D>Zd"KEf`8cm@x6ݐ~?Hne1Ql=;>/VWʟ7@'}{j펲>_th" W@-$3pX)4G5+n֨$8Fǉ푔j)X}}/Ѡ?(d_~s#٠lFld/ZdX?5+T+EYB¥`|*Պ{dC̒@j0döArϪY@%r#@
G@Qh.^+xd?<se.\*sA;Qc*+ #w7ǜ?B$$&a~tHQ=<8B$I1(%`L72\pkI,
"3!TИd_Μ9$FcxIMuCA$R$= 9qx,/)im=q/?EL&N>`R'#ǎj
-h^l_]lA02lY6]H/ݥUP&9s3t$C߯79l@m˿^D12$L-4vyP$l+뱄oqGYB
?ᓞ]%ÇB\͚qE hIWo9P11HJ,5ă!Y89YOۖB
h01z:ީ,,0ZEPBMc(Vo	#PjzB<F91G.m,VS~"9K+%t,0rMOǩ;`N0us[h>ϗIq5*2uQ='2D1M&b}cqܹsi\y}HC>Ocp"ĩh>xhEE*I"v5kF;;K<z~c;!s뗌(DBCva"(NjӶ>WHGP{F^}d;=;%4>~ A>غkoޑ_|b{^蜟:`ATH,"H!R!V`4SC+ͣזKh3ZB"*1׏ND7y&79Π×3۫3UseB@N1L?6kP~H7~{$$TV
nq;(@rhh7\MU Qx^l2D#5DIxmA"=Kd܅)`8]vE	Qd-&)sjF9rBzՄΩSGxdu|LvM4&C9ɻ鋎̩uܿgH@ˇOn#4o7ݡFވ۰I_S)vU!0ͺ6if_G0Ƃr#dl2dJP
L6%FsZ?'Y_]<9 R	9ew _b|:ʞSw<Î

F`p0tz*/g.~H':\?}힉$Tcc. X@E{ ]$S_,[T 9;uB7u9
DTQ!at	[<J4eϘk0 ]g<wj2Woe7bM(U >҇@ST*$Ȩ)AQ{pz;r@Q<Z"S?/A"m=iV]4>Eoi^m/n]9jAYlm5rWmjFm1 /IZg]BBB u)˨/l5@A$x@Tޜ)oR$b怺w3HIMEPȘ
y<ѽ.@&9P#ꓗF)61rpy[^ѻ~gʊct͸}GkϿq}}|F./g磮lݱ@6l޺ıyqn^um;SG_zwae_=8@"T
[U"MIãK,ҘF7
9`c6ۘN̆~͖xYȟ7W I×c´>d(șIFX̖Tx}I*]FM*Qo;!dOG\͋S_*(q0tsⒿЕB|nʎDᚁyX
A-Nh(
f')_2>BZj	)F/#t SGzvX䓪>!0栒G.RGC.h̺:5hɏktT9vyTHֹ.v?Y\l뼣/@9Fg}.S͋unۯ |%5u
AI|8U]an8Q$kA؁kת)6*FCXc .5ECn<N0n?F"	?z]͏BFj֠<
jb9\=yTASSHoBzv}H4oSȡ}ѺM
pHiSmW;fj`@H1
xjTID3̼HE,cN
UOPq;D"yMJ&tB N f	WGkV8|=~(o^@ZݠZX;~i$V8<;e|4	e\d$H߳!~vk')W:O߯*QD2%#||EojIN4CI(ݹ1D.ըX[|dyNB hҔ*.O.A4#%
NF (U/;B:p㶃y7RzЌC,JAwͻLTP 'ltd;Z{^w8	!jWP=zf1CoF=Wf,ᯝJ($w Q'GhWش]bڣ0 GP+S+DCX|ju>8j{S\ovf#Đ f<vV\z縕/z=ip~<jɃlIɆNǑ|sZniI޼s.ގATCf'OO}8Ξo(q0qʯCky2hpHfRT`*r, +S"aQPJ:@2|g(#!%zz}Fѡ`lȐbK4Do8BFƽ"l?9A"#"M4sT9pY}@DciAPGOy 8n]鉤\3ڏIsDSsAXSnp՚ܫl+h(e( ~@j{I1mtk7ixc2#f܈:Bsp)l)$\H1҉+4jI}gѴyEPZ6lGvu]OnC(B +\:p?`ϛWɣ&Dh] zT0RUG]blB/15H`Au	=X\SM)W``9<O6݈[4zlG1q.l6:؅? l͗$P`uD`  "#-YggO4uH!,W,tP|k#ٜ#wql/XUiMǹD)Ǝ5fp'3~4k$uÈq/K>3Ob3X?{>6Ym
E2r:kXl'؛,Ne;Z{w48jmkw'!IT(_
.[h<p7,׷LXTqO甫^բs{)Y.ӵNxm_]UpmKc6J8RGȡ׻o.߱:O\IƳ1(W fWn ([ ~Z'W}˖)T 7G85Efޒ
ٹn]siKnU'IMZi6gScE"T-$Z.O	14gfE T*MOLgqq9#HHx릔D20;,Y-V̚+le`[~đ')q"Ǌ]*٪IaKa'Z$&$oiq"c\~K#44NΕ6H6i\q[qHIG<;7/8hgzo?]CpITi!!$Zk4D@y#ȃK GW/d_-0q`a4>j4op[8iz8 	j0_%@uHu9JsD0QBK{XeEV
	Vu`,xob@"
Y,$C@ ɺLB@9A
$+75CeDNp
U?[*	T0Ȍ/b. dp'uf^&!fLF8+z'wEdQ2w
b}A9sLF^!19~~N,.川oB	-oMcVqbo%k}ןMi,j5.l"IE4F?mYK d~#2fL@NyMK3a8vQyg%l.{	/d;=;Sdяl.[
Ո 
ob#܉; Nf#{rm ])zW]pE~CY[.K2;Q?\~S~߸xnRl
5+
G9Q*g V܁AQ/|{GH\8sgvߓƈG?	;%ܾxfB̑_xwNTd`k>
ޱ3O%(
C@γ Hr>H=	%>ix =$2cgqO矡db8tGO@pHTH=h=^#Ļ1cV /lr T~\MpX:jU$EAM&Φ=j0`3
I8F8 	:P'#|uVǓWE9Ui('cW՞h@	$TA)xu}2݉"vܽq"ݙ?;Oye0Z7d8[%_&[}x0"-Yb`}=@p:q+0X滭<DDx
Я[5GQy:I:iǮ; zYr?n JDOL1f0Iɥ]@9 
;HQLHĞTtĘS`@ިČ4>Vm?&&(Q3d\gP"b6=xfuHGC! D5tӀc<
hؑ]bJɁeOLzrw&#{2/fFtȦDCw(!iB!ׯ
j$ݎ>r")P0%$$X8Kd#<96sՓcX@`'5$~ h(~iF 8T⣈k{tҡɉ]_~yt+Gpp Ҍzf,>9aʸ%B' ~;q8+bտ|1݋**1%]D^z$Jc:T}+G.Ȯ$ڐPIX25( iQXa\DAKe-ΐ[0Gc7Ǐ7i.^`̨L*iR+HXM*R$""F|1\<o48z?Brt3iv i%.%	޹ַ{1O2Gky/tTת*qҘ_U{^AL1b#Wxg(c(<*^S߸uGT5$8` 9qKw%e?X vbvB92|}Szč X(ҬB=~pD,#g
#QȤTq1`hģ4BISrEio14=[
O:ȮyފL)F} ʠjO#y8ϓ'O̲~PnuU\H>Ԋg)wa?-<}(vOO]ʑ 6m(47(sB5گ n)u> IQ
hEb60U|2@- XdM  ח>s(	!Q:n$$ ;'{83fdzЦ>K2~OvČ|x*)U}U?fo׆h1MSߞ.`)Gvzm˘*J%-k!6ɄmG/s3eeج6RV}ABhzxɶ0Ӂ{ G dWK,' $Kٯ͙7Ʊ*W|ܷ٦t%ݻyۘT7)X|$%שFPFcCj`{ǂw:u}bñhלGb)#;ʰصi>DQ<EUqdQH0&w+GX-'ˁrں(ե̒v4Z[pB^U{^!|^{Li1}gL%t<Nɓ\0 0]^Xy^^"& gT}bhh[%_mo
9, d&
f	01B0J`	D]EDrxЂs-d1SXD,.FU_J0cUbĸ{aB'tf3_*qE4"5g"tY,
G`4KLr^K_z9sJb;f,ORb
Pz̀͵_rN
7oe7ζe}>s'?xKe~gm~+~$QDѫ:(e'=%j/&IFөym  o3i q>>koࣻX ֳpL$W]&HySV*A4I] W
{{Mu.I6ZlRž; 6dHIOMMl$oh0fm*rMeU I6BKVz]>8==aShܓ{|?wXcјw rxk,+욲hUP)##xފʕJ3G$Z&cb{ؘ"ăDczzbӆOϛR9upl-i>{8wˢ,^G|WVи@M:,_o}-:CJG㨊ވՒvr܏HG h{
h*	$MBI:v nR
C,Al|ay12$?`q<.#N/I8ϋ!eE+LdAn~EOfҔ(Ĕ3jEggL=v =t/K3TZ^̕+l7B~Pه:n ANVv\%zuqx7tn^?LRjZI;1]yP}m/ؔX̡%=}HBиՇ{8!uA8&ZD[1A6pch`W/,sGdм3hl?>wGo >rgv\ / Lԓ'w&J^^q)y8?7@q<):Y!$8]Ĥe1oX3aL` Wמh<58pt
vD&Njc*9{1#%{exSl^qE@/{acHe
rri,֍^F ~,ovx|1KojoU^ϢϮaU0WM%qUʕkT-T.cj昧q߽q 
8k_^32j/7Vh(3Z
_.y?	o
7xo
7x5 Yب',m܋&Jm\vO4".9DQ8:~hVYB%I:L)lpI?-wAǵU|/<o9KڭEK78H)ZɝP)ڷA1Vpݙ+`T':wfPm?;q8Ġf
F0yLT&I%oi֎0EEt05bK8}	zj9>j`fx_&ΠslM`96_#y=ws9-CYB$MfAq4+/1>hC"U$<KH8B|H@@6խCP<S9+HDBI[نeK?-˜i8UWM/Wu2UIReXb}VXzqu!>A}<J:h>6\\ٸo@-~3zyN
De_pj>p([*B` DCFsqu\miQ<9scP.ldq4,fdߡ-us7~!6!]a9`Z]! #hv6^ߦ;Bv`ܪk5kE>]9Zf;'b7)knm
PB\-G*/IJwi&|:}8@cӤ1S+MSkƵlrޱWD5qPPuFrʝUM M6m'Zǽ>[\oO8񭷱Sڤ'6_̛ҭ% ҝH"ߛ{RZbCU>Se8^wO1FSmA:ƫ\:nņmQ6"᝟kC%⑞ihf^Сum߃'n!͘^b"/<PN@	dxu;bJ9	I)N$P|)qcxwg^#!#R?0m!Gȭi%
Bzrw""QDDq.u˫v^xc_xa\3uCaSqzbt1>@1Bt_xRiB[|-^?
{ wWi+1d{+&
M6fť |A\⠞MI4߫F0v5>9x(%~[`5vFB8TM@Hd7@P	OY>=jΜ}Y!pgxdpW{a<# X-&\?\ ?~o?y'>cw<2-:<d mFqYuӯ:-|'50dEP۠Z  fRo?Da]QnE4͎_vE k:zWv`|(V~>Թ' ﹃OڔQ5r	I ">rN)吜nEy.xFZh = |ޫtp ڳ4fS  hpJx8mܶ9 SSJ[V0,SXl[㟆r?Dm-	WQ?l))Agߪl"{ T0l%>c'9:l4%X}֤B@_:,oH.sj\o]́,
ST-,يoP@.}Ƅg/uIG߲愉Zq"A"
.P;hd
gmqޙQ7z`Pl
땫\GlG٦P{_]1> 	 yiT:ˮ1(?HT挘	«BjNcMSWn?xWW I`[y,?Zi}vׅ0[u094ye;r:"J RmP( . DI
p%Oy[`YmJmv+\XٸQ%.8Chlvh^ӢᩪX=%R7E)Fd
%ژP~{~*>xk-$J݂u0gȮվJA|0J }hPVfI [fmc1]3&+c0Ozc%eui%U!JZ~L}Jrj%8nC@h=ڗEvAe8xG-V5#hL&X$3랤:gNbM{_o@$\sw=xp:[1.-fmgtlS]K#TmPPxaL2aH=Sן?3p N|6xĜ`Yb#(27THWlS:@Xs*UrXzvzA#Ir
L/haN7*߫~Fp9 hy9r T)Fגށ%)jf{CEHV͑7xn2JF"u^xcYWhIB%*:`~+j܂ThPh<KK[*tA
0[fD'/=OUQqĝXHJ$ jay$aΓiSA:r*"A^;4~{ʞy
>~2FvUlx*N P'2EA[8ޯ$edq>/Yr6V5dd܏Kۈ+t?mVoJ(I	6 #KF=u48dǘ3\#K03;?FRoORtvҍVF^ķ+Yn1= !	[HUGDXu
L9Zͮ)򘤋RiFr@)	̌(nłE؎aP!W~[= 8D̅m"`QA"Xwj9]kX4
ʁɀ,8%v3 r<1Z\wpg2{NgFI=0v0ʰx#OWw7aLh-[$Ⱦ/HPN:R")aU=>v{O6f?W_r:A }xdv"1$(s}py!qznߎ?y6NSi  Qigzh`AhQ-? {@qyB0^O5j8)hΈϑk4XMV">%+EVy׉hW>*5 [5쎌[̙eudGD#j4
_! M{?
vQ'ד(B'tȞyK7snEHq	YбpآDeBFIl`ɤr\p }o_yFyí%mĺ7Vt[>YdqC/ܿJ6 X<}t9sFzJ?%r8Jl5ZWhP av3Z(
"J0:yɪkGcYqA-"2 uqwZe߽9}f/0\@09vʸ16/)},"@ljz8*ő+A6e^eL$y|Ѹif(u(0@&mt-JٰI:
gٔ{w	
Ccsѐ@%k
"Te;:m@x{'ďkF~Ø$bEb`Тen!Y*
,
P.ԱP*	>5"w|H`J:":u|l|-Jd#%ɆJꄬ?Obyx
a{J@/ )նnS;od4SH̑' Op ;l?|lYH9j
s(u.VA&ogg<.ϠgbDEɉ^dǴ<]\+?=G|`}	1H⃣krl|:IiuiAdSM}Y}C Dp 8Q3%dg4Dh̀$ O@sHmDt '[`u`4d#ao(z=q.dz=[kIhXEDU`ƮW%l]Q j2jAGm{9xJo_Ȝ7m P{,<bԶ{D	0	2P5/ݫyGPJC
to uyD#wZΠ~ҾOn=n>04.fÀ0G5/}E`5PXNxéKSU[vF4/$Go(0_ҡ5]t>
%ф4&۽;c[{W"QRp0"Ą
LC
B״M+shv&)lCBʆΝ؇:Z#tӤ=C&qa_}#Յp!{xmH^`cH.uY-މ hV6F'$1tSw2&0 fX_;vB߳﹆{2 ~-ˠ_۪,( X0}ÊɇdϟPVr<"9K+%t,0rW)``
T+StNt 
-(w*$J".Z	+
hwGh0tܨ	rg'$ Cs΃g/A0ي[K5ֱ+=T͑/?+z1 Ǯ<ÍG)xb'N	"Yw\^d('`isYykw"F]~8y9ʭA̲[evn'}7J	BQ@հ'2N vU;
Xmx-1PDZ9V⟑5,^
8|0$%	e*A2:QgAKD@MNxj-__wAELJ
&
ơ$__>HܴTS[4-Ξ=xTơkX$)9gMOMĝ|<-t5j?ۤC&ѐۚgFdnhX`Lhӏr7!O):Muļ0q|:ˁu9T&V"U'.REVDyUQT0Aή6}
HKHf,܇uL4CY-3r&Z$Cd vբ(QQĕg8ȵ[@>J\)ޝ*?9	mJ>}\pnmiǳ[dP"Z!	V(wIP	i>{y:{]NPNYqNCNC*w&TD
XݯmkS
a
t>\=Q'Z$8+TbX<'6o;KM$(ȉwսYT.p\Jp<pw"ڥyoHfG),ɂY+Ơz'>}֙2a3x<f
/
q(V0|
:9|?IJB&xoG)lȪ2ԙ6]U|M={~~zԭ!84 jD\O0U:})vjzCc߂=＿^!2>c.K{|8r%zd4GƸn+-.kc= o}FeRj`X]KG9),1ԈTu	XwJBƘ$>F=e=LRI	KEfE@
_ FPWl`
 ZE$2.a}:DĠ=#дAqH4md8MȻ]j~xaݼ'NEW5bA32R͙o5_v٣H-ٴ%9L*E	B @$GQO# 3hu&JhV6N/*#JI⠚WH8"!
VK\exuToLnFQaYqU\8v
i<w8}Zq0r83LqC`1PPfU)jb/ D,|X[e$u"FЫ\,R$58~ܽ>EU ^qBZ%{g0-]:9pd0&+d;ԋDknp!홓KB,L[!<w~߷R_ht
}>BZê%r8V/H4Xɐ<tV~Tf&Xӥϑhaq0ݵqH h>OA<{b2o2	,@vMw
BP<o 
ǞhSN=<37p$޸^#싦#$|z7)Io{L6MY_1i?̼>K˩(u:?P^B&hS(A9_NtЧj{y05z*T')O mjy
oPB=$}ʃOƻprVd `|${uN۝M
I$,fPW"997_q
ؽyM",f)Wn 0݅R]YRbYKV=o|]"ж?7LWR =-~`HVbadnGLZ|L.uiB[c`םeil!33U2yrp^@联#z}3ȱkި,.}wsIqi׏
e,S78!*KX~]z T>h[TWdwUAxw-:Ё 4ַwajw%#   %!S(ͦp1EzWX*XY"Fet wϑsYڹ<SvCAJ4m5tM,}
g h<joUFj1PVV #O<-H7#}Ǘ_{i,)+~Z0zZQwUZy^jm2Fæ?WL )M dp~OXL,?zƠ[cZsAQנcLCPN̙;6EjNAQMkªϊ^&qYqix.\HdiSW%}g~1bPah~|!mzHx;pbq2mjJc$,ѰJx.R&h㊰>1-Qe(sA	 :E$ԿNAEJPǸy;-%~3)['D
RPw(*c:b$d4?jeS8ꝝ#H6s /\]
Ë׏TxȠF?
Y{v%hXHŴ?GCI~qce:a\Ǩ5l<N_ǘ޵d2hPXSCYErΏ#2XEmOt;jyڽo\u3oN7MDh0څ'O0U{#VRԁ:lrƥLKdJ
 i)
ChOHXd%'x::c?m"GID?6vpARΛD
&f!,Ĳ!ۼ`s<0<yN@t~݊Gto]"X.<D\1B}:"u}Vk:PlMGf|@Ng	B4`R5Lס¬|дfGUkw=⮯<e* Wfq/X{2~[,fnzvƨ3=d4\PkTN/ڵIF$ /Iv5Zx^xcwD[Nu" BI_A@": T6&`.0ܑ/Юf'j0Ƀҫ6u
=bж}r:"^ܽ?`~Dc@$UAR
d+ү?ؑ B[qz"-?=#s!f3nt=6@UUnk:v:fvD4M׼G]0 _+.7m&b$nb}4ֲVVub~H)dƄD$#A=l0Ϣrj 	qr#;{wd2p$*Lpgu~Q9{:,dhf 9f~k$V}Y5n`ovKs,c7)A[sKUoߏkX]U9[TBؽ	VPN읹;@ذEgq5DH*%91(4'*̇]2~5lZy;v
R Zn6w5_6^
PpNmg1]fVKX,iz6-EKD#ߡ^%>Es#
	Dࣷ~"cQN֞Tld,97`֙踯	&v&vBe0jyjXu!%۔R,~;1Nfc?5OA	"CCv8b}؄xa]ER%]&;Bq𰼿ΙcvR'3zb|{|3*&>_?GSS0͌^d֪/*u1gcУsm"Q%r75]_Yّ@Ź.0y )*4i
KUX2x2Nh"r> 1Mǃ+[ܾg^ó=8kkzG˴6oN|8t )Z"LмN Yq(r<+V1}3iev(n_a:Vz<s jw3pSȢ9 %GpԝȠO)b{4[I(gp;gq' 3uA6{4s/|NeDAdFRx)k}Guٸ{׎&$jB^!"}GKɟЏ[
ׄzrf}%;Y_K1kim tPnުsiF\MZ>$Mu*l7CNA^VaūQJa
uRĩ[?|9dddѐdq5544zi<5!YLG:F(9=
T
b'DRT^a6V:;7zwӷL
jT0.ь^TAzpbp =a6;<۟Gs:1{C߽9r{Am#
̊^''yѸ25J+c2v.GJ/ckf4#A-`ɝj1@%[HpP@ܷˢTX'ͩ	gM9Hi.Ձ4я*SrQ$cө{zn	 fD-^6; Xq`ŋJ(
ً&E_cV|E?$Ɣtxĸӑ!MZ,C+g2cPJ{fXT!ʤYayM7%F	`\RO	M9Ty5[EM0,a'GzO B9(qO&}&	\rQFut|Ԟɉ'$-1e&HsVSK.4g<zĢsv4R2>46)@dy\롍2=LPBde	3YQ782;mlsοo
B>ORU>pxMYyNd~gms6ulgGuuRex$ ]x<w cF6fEM%L_9]{scSKzdc=@ծC!oPtw'TxԚ۲eAhdfbG83
rs֏A.p40k[cҍֆKBP& &=9}\F/ǲ_+{N^x>3^Fv97'
Ydvxa`16w8An|l 9T1#m|oJ|mYw]9#ѨNāF' Yfl!̈ME9
(D:L(`JyHs}{~'{*_|5f
(^e2$>XWSEG;zZ;^o܈zDeEm"Ke$zXi'Nڎ/_@& [l6\7& 5CM}ܱ=6Y-i'W-Ӏ1өW9'	Ǻ}rH&?h_fx	.1;n{
h*	%$ITt߉;r%x>'ZWVoҹuqW`];JW7څ
tt]s8%׉Im<}u40kzQՐ:}^
bsbJ/c_xyx:  |=qnX+zI :l68me'_s^FS%k
vۅrQ;e(3u燵)ȡmD_lA 5C3yF諒}&2N^&U_.x<6FfxP/%-<k p=C«Lj=,7xo
7xo
pxK8k%1|&o,ǆk:b'.k
$-wAǵα|O(r짏kʆxPŉ+īR[x3Yq]kͺ9NBk㬨Rׂ7
ZSQژhE*0{IiqonC^Fc^PK잀7[NakW1Bȯ  EEt쎱fVQ7E@W
ǵq&ZzPKޔ~zɈ捠{]Khx3@?zNz_PzCU"W%AhE~b+I|U{%f5oӿ-ϫ͵X}P
l2^!P՜9u
:Jμ~;8g!,?L#3el||R
ƯL!{1_`QyAUoS\t&nZ{xy *
F.>ЇSyAH. /j^PɃ 1cl9~
5ޮ?\a50~ET W&P{$ik2yfua^b/殊l}F6kyPh+ģU{SQ)=?.6ۢڈoZIj&Ql>1sPV j
Fm%:s
n(ٻ_úfo>OGtXِ򼡢?~mĽzMYc"+-oސE\3 ׎O4׾trǗk0 W5as`ܪk'?Skf,^w5ت|*K4f+U9oLXD.F!%zRނW~k>߫`N#H(=.^K8ʡwJ#K`JK?fed5: p}rPQ-Ѳ:D)$,{V߶ƅZH KE_rZ8*B cFūΚK GS|;%t}X˼kߙ28hPw8eJqƙ5x:@?$XMÙ% #k(>~&	9C!I>kiޑv~hy	W^x<N`.sy%}OK1}'Έvl:WȐp 
3fkػgV ~r৲ L   jjj&bp_|`EJV:P||C@J eߐ 4_ףڋ;a W9;*αh);IAk*++rq "$1NScrE:B5[/8yG%°\䪱-6FRSϱa`aE9Ɂm93m 
=K)A%VR@B%2W8(,,m8uG{,a A[8}K+6$3C-@Ԍ@N;Ì1S	Hpx]Ƽ-W,!}KnKjϛ[L)cL^]WrmX{s3w;=ڗ7qb:ښ!&"L'bX
х1R]Ck0ٮeFC.M+=ѥyuS9B:U+S.{>,.3g\>-^ceGvcL|}85̨&8,;pD{ɾ;򕸟W#Zxu%,9
۟bVWr}
8SxaFìkK^x5'ςk
	7oXEd]S3}\a
# uק=2_?P!(gRkjT,@\kĕwsxsd(U 
˃@67j_!O(~^"7*
'!QxZ/JhZZ8 b/T Ak	>;Q
Q|b[" }-88Dvt-~[)׆A⠜jp!z4+,V	^hU'GϮV73nd6s(as[g8ӮU(D`M@ˎ l+U|m	]	řL=:#5,&Zrq\*!}Y=D+HkO'JInVeP났
Jۉz;i}(g{y1G
9)7$'z.BFxw!..t9s#H)}Wn}BA@
^ާy׾zG4 #MZ^mF:
`UbTi?=!7FaO(jB,PޮBaBVAcH4{}/[
MwqxW
4%e|h^9٥c@R}e/{ۖu:#
B8pT*#ν -#'q޼N=n'a?f_,/,ms箆7:b28;qF7f'nAW|||zE

#_(ĥ+~ɘSwl^IU:W[:Ndf+[j_w
mUTdPQВRx3	b0i>\AqбGjfљiQvŗԕiG^RKu-IE՘qIum:U'{_Hiʈ3oEX}}} e@EMx*?BhhԨH X}%9saX=ѥO(:<5%e0=k'85^A#~jfNKw3]=
 𑏯C*
4OǳۗbU{Kb{׹4$J2=i}X׬2׍|'B4f;q`2tF@L# glݸ8Q =Υdz:Oa.-]NpLv-(AM?N&T!щй"י]E|).ز]W[ي6X.U.]ùaq	~cPrE쓢Sp$0ӎFm;FMzOm4];&^0Dıo'=@'";E4v?cGˡA-rongE6`ޖjs^bg2<@X3_ z/R4'b-z.E]̒^< $݋]̰9A!"	,yWX:;*~#v*uУIAl8
:Ν  %0&cC- JuLlI0uLAEvo8Lk<X_DpXw? /Һג3	B9r%H=k7-sփ`QH"Rrb|"e$&bu!YJ4dM,5뒨KT
Aa!ec[hq]tHI4l/!thZZܜg "Gy/Ll L
ǾiUT
K}?k\9/:o!uWf6b-&ˡqεa,q,n8Lј8PX1ZdH`U+)GӼ/ Y
P˼kY/%8~!~xS'WTIH ?n^]c\$bEՠaCkT8K H44̕9ۥTcVG?VѣoWᶵ=EN=yc5ú5p5V)ihz҃[+o>4y5ͯ^ӼOoW^bb/a6$NI$Z҈ʌkR F
M <-R5I>W\`7Fx|iO>Xiwic0zxoىl@L1@ңzvK:6_?7Azid |[
\17(Q1ZuӼ
yiu_w_UD3  c27c4tz8DLԏ(R",$DH"mկPUVulȨ۳	iWz:nʂ85ѭm9\)kw*s$uhXν</ g@KP`hC 
DS?O(' !5)+Qչqq1C-Oj%cG= mV5 zσsMo	QQONN*:ܽUαOv\ۈ#wK(\!}

qV[BqV%|٬݊X,"RU8|dL]""2	*tjLz2gzO{UżksNV=`{5h5}Zv2<'6o;~}kJ"( PŐjaC>!"1E~lhD3gi#&&b]?<F7>@*]HOMĝ+GQ"EyҌ TV}? i٫Ky%Nk{$}o#;H4T_s)LOl6p]<1ύgF  |\aWCoj[78TKyf*{h<ѽ.dNf24py[ݩ"l e^9~K2]~
k2ۓzdhJ)PN׏]1xcXfXM8X,=[ݽq!xd4T#8߂@yS8g^lF[2i2OU'(%{26C˞&sbъKރx44];~Ƨ	J>#E`ee4(e{f_hDOlŚ="d@UNޏ bƠUh.KmH
*(0:9uLNFZbɸf:,)
  ^ߘ=GPh_HHď ]-qb$	Сf*)ĝb%:-TD\{BW+"Nj^2e{[ö
^$ŵEAyv1C\rne_OzOd%gq=c'̻('"#3L	W,'
G F[8|=~(o@KeJQ_=HO6Lxd![+(ufUI4<Cgrzzꗣ$rΒ8=3^XU'ep!{
?@+V!!!țͳnޯ~bWG#%-)ouhfu5o&ܦ(M&/D(iTuV<@Ö=Ó^$PV5΁ǱAPϖ\-jƳ'W"\rCNU"L0&|
y)``}6_?nRc:Աg%-F.d|#,fGb'¾}j3om3h8I2Q[cd/=b{j%6^U BxvF!rCEF1
Y^ta4	  g[޿,FJc/zG^Mѥc=Px0dm]6&p͆=d:
=7lP
>FR$%%%Q̳@QXA#! N|NeK.^^#
wvWTã1c!l>N͞?S%r-/ԤX<u=H5 C/>r}(sGo60| 5+WTޅ<E0  v\ތѱQMa^Fؙ ӷQ
d~=+%~g	Aɒ%1{=b*SyOuY<i&K̻~]hf-UtFoCھK⚒oJC?~9wW
"yvE)X1D"H>PZA>OƠZ̒zd|,.buuI|)˂xewRON8gЬYS)GȑE#ρi2ɘֻv/ơuBm߅XU%ﳅgxj3zXm/{~n 5λ!NV5lyX");ƃDe}^LKMnÍw?=z||Nu^g
X~q(D`=tְv|9ye:_?ׁuD{>o5Rt:bibt'Tv̻*au$UE5seVM=
?3w=;+Gc>h0f#3ՉE3~~r-bEup])\l4DVJ%XcJz[#׀uAo!_\ӁyKjTC|дsJ*t8yTgX:^-(S1"OȄr
vܠ21$v
|4(iQP9a7
Z[E.T~'2
EjS6v1 (
6>70Z:C&E.<1*Q1h8#7
T@Ǹ1׉A9ʢ.hiX"D{h/TN	4ՉPs}%/XpF^]΢
غ}`[)!C`qotpD>~)W	Quy*qdƗ
 :0bZh/ڢmzUb8k~ǁtIvDǎ2oUճ"o_#{%Ey`M/Sp1ԪHY?ZWI KIC*N'h^Կ(=]Whk
#SDmk`"_ϱvRZLi/Mc445BX}e?oPJˊv	fꯕLFjpmI{!K2 2_Z|歎Bj>Q] 	fbW<	H42wټkQ?nwRLP޾fHfaI^<2DsL?
tNhkm2M[xY%"k\m4a5e@pBZE	&	?&''7޴yw!QysYz}C k0W
|ܵ[㦈!}w~DaoO0<ƣ`6[l^\mMj_  PZ'xxQdeЋC\}BB^<f*iGG,Ԝ54|c9O`I*9WYN>x0Qz#E-ʌ1*$ʶ坹 $<Ϡs| %4Ktywzr=}gTKq7	EճF؇v/{?1)
	͠~%DT	 SF>L꓄nd6#)уDC>ehRb8PRL@DBl~4U)cR,_i9~]Ll1/RgFgIu2X'ZVܔVԫOrU8r@J4sL|aMōkt-W߈FUe>j~Nr)DD̕L1kN?NpA!p
҈j5wu񊔼rbv	)iig#S )
fPnlL1?H4'(c[e2Ȓ
VcpOa(c`p+GG"ؘ!ѰՄxw UK&DT48Hn
}/8$`Z.OW37C^*3ǃG>QѨڲ}&Ej'}Ujtd$Yd%jTr=apcA1X}:uZ򩀿d_ab&ܜ̮M2P}jCșJv5ě;{H9~L`=F^_gmpp&>_=xbc1fk|=z4 bdc;p[иxHJ
n{Rư߃_1v),vKaJa_{Aڞ?uݿڋ#7tf>P,^xy쥤n)cVD}naLQ>e)6+jAmK*}
!h0UκQ DDr5I}ʺpqj9/=~p_e㝒nER1.90;<ɺUhV%֢ݷiJIV&]!_Ece
'Yl@%;Dcjҩ>SV6:	~!k;n^,Vwn߹g
/(^ػGGӦ0lײdh/{b1_?^@r9[ zЪ3&"SY<q{du޳~iRM;KY'cM2&Åܥz|>0Lii!waaXR9 Dlŝ)\PG%8CϰR>M3	8q`4v`IK~??K2G<ih#`DIp´մͫ|QBxh G#*:ԔhBpDԘGǨDAdHzr#p HNO  Y<Dz;}񶎒MN8EL6}
D"1#"Q!"(<)hYL5Qk 2rN4%'=uI5}y׾3w'i1MzRvC9jLLt B oeGCK
"\%,Z-'^ByUիχnY;$JNmq㯳ޣE:%lѮ5kV8]uBxQ-|kj=WOfS	 5NkT|nB{o>J21_!4?p*d>YUi98c?ֆ1wmS|1&ف|N:TG6Rh^9~1gNLNpޥ~@ =1	1 A O^ռhP/)6L٧7mbukåfU.)hˠ" j<NUSrɕ8HLJVE ="JS<
_ /X6A{%UjI;-iT̵[̍D̩PkgP#1:k! zs͗XXJ!GRJm1	φ;PY~ qp
Ns kS4>m*	$ȈHBY:φ'Σ99EBd, &Z#~;&Qlw̝Y&
h!͑XLGmc<c)a2T'Y~}P:hs|ڜd'Ivi!4JQݭ$ߥ616fmpq2lLg66&Ռx U2
@B:!G(yB``Is^ռ#E! ;Ɣ<&:%/faL<(Ŏk8,棎x[+	 ,Լ'' $]V&}Y2ټ<o}OUoA{>hFڔ%tMJ,,UJ e_w^oYk[ ?/1#x /ط>;"t_t|?rҔ(}Km%5$z+ a 08Olג]'.4\c8pNPxo
7xo
7N`142B
璡5CzAI#owE vGqp:wHIޯQk {!5  Lrt\r\yr~~AhE'W_ A<4ipV/gݬч8>L[ckI	xČO`guqbJv< cnEaঠ;0gHCnOZ˟jUIϺm%TjUslr6v߿7ކΧq% >HޘڶdZ-^!Z
fCDOQ"ܩEEtl0Dr|͜EYͯ0UjNaprGaBH}]FRTG	D"Eֳf@ts^ĿpR`trsx_8#1
Wt&/!kpFޭ֥6W}T<7ci:gC'ďsSV6<!U@Bw#h1G5	aU毎j@0AH:V
Im\
vF
	n?`ܪk ^r֭[oeOЖ?bE='[_kN>SmK6 o㬃ޱ5tiZ#~X
_$ùd.V|6'X#vЇ֙--Ll3t~<_9Á0sn\KMWLimrs 2M́{qsܤ>'qb4CiX[\^=0~fW7wsk+}邛%Wܓ"}k*Iwlףz !8@7N6Ha
s
^殊l
!A9R"gk9W
b-_Plt_-^N/fo>OGt^XA .xIB)l!j@_)ѴiO,:~$Zh#7c M<}˗+
{D.j9|d&EDj-Qr @IFqv*
{..E@lDBHڦeӏ	τ
 O?<sU~I25X4 `[4X4>J l^Ot\SI԰EsgccnZ25UADsdP%uRSS#BCCVq+
^$_=$6tХß:X{_u۳pv'ڷkk+vo]hf$dm}	$RNmҹj'8M)ߊv

O$4,@}] LqkrL=Q_.m#_(aR@ foQj5sp#r`~-KA<ZrwS-Ry9 ?5݂۱nqW c2>q FtJH'oѫG6Di뙼yyJmx9S{3xׯA1nڪGt<q~uLDtɮg5>mQd
_Q>P&)/L\!L_HF/څ^ R,@uTPR3p}BcQ12
<j\j>p(F"WDq=!' W+pÁ80A(.	/Cᥣ8p:6_eoS\ypTtҠ"a*J3#5É{O>h)`׼Y.x5kzdxZ}^m
%|PdLI<a5бY)!]azYDE]qI*$pƠ8l.ICZE!"1hɼ}^'||,C+e`(kI,b6mQtxlSw̦T\>	,v~NM.FЩ]ՋC(9*ٛL{ZOloGcyZ})de_wʭQ(<^ĨWZS#b뛿D=|rz7$H84(vҚd(k#wp'^o?vF6TB̟{OSx=-슰7Ԫչ^/]QɌkx5&I>Ȁrl+0|yA^#-j/D57H<PqL`J_nq+&f"o=lTcYdyg8\bվ*Vaa֫4 '%42c=
'I2Rv:בr ۔hCA"
8|A9C@Wh߿ƜBOozԻY̖n# hAJXScYI?K("jT.&Ê(	x{wiz C]oy]J>*<'Q4xzmC~r$/+'OӾ: =ndr̢l\<3\`v=Ǝ}
^}^C~f^(_([ɮr
=7L#SQpDyk[N^oWUką	&}RDAWAǫ١?o8C|Ѐ˒^h}{ph\B
CPMVCpP]8G:T`L+cm|s	KQ+yITd-TyEq͂1f`_Rq=v	P@osL\w&a`R7.juhJi lr#WN
h<vlѸg(B`}|9`uQ/Ep^㖼i	6w-W]Ul2rz@nܳK JuG$& 6{SQmBR:m;ߥ,>&=75k[R#^NZBȈB%>4$JhhDeK`pW/Svg3HlGPSa%~!Er5PP.!"}٣k;`ۉظ^N@c
R"(CRTp@ǷُV5svxv
?^1C!P??T(Q6*m9P.I1E׬ChsM:%תOzUrpZU̇
ߕׄ0dagz
Y4c~;#Dq9*Ty.]Փ <DG5Q3$E#N?hvw|, &}C~rP]zՇ$#gHi/z>O|| `+Awj-s{A[5  +6&Mc":&)ye]~P`żQ >#V6IV/N/Pz'A)׾;jJ5Cg^"-8p
ʕ(ހU39h;gSI<O4ivE9W*OOLP/>tūYdd^0hǺCg/5_.Y@VV9zr`Ұvi>qfq.2@|9L{1N[J_{0BiXi"?gڐ('El[Ax*ǹ}P^BD[@EVKĵF^ IIØD{M_<$Rqc ~?/^8bL3$\_WàSx%;@J`LƄؘAVq0Q##b,$.'7A{%(}O]Bs~fsTF! >|}ZۻT]sx
R-۟'[Ҡ@o֡vuRl⭖ńpj
k} I[%l6xa6aW5\P?s|sG(~!22 ٙ'O1y~V-b<7&jECp;CF&^u$1g&%1S7<37O (| R\@ܡ֖֢ST.Rx+ηxy\G+Z|^ĦITDPD%'ܓ18!*}8Mطz	)nYeίJ`*bD,t	Ae
W=3͕#7C7=n> 0l.wtl4tsi?b;z,ܷG|ě/ǜzH R ,f{HOѢXۗO]b&"BW(RQ.ϓjlgຟgz	P\#iR n`	E?@`	za8>EBP2,GXhT^*(H5q^2zoT#b`0RTPC~Ύ$Kۘ֬A/9*5}|ܲS\&x5$OnKjfM/B*\Stԯ#bN^mdܰ\WGEz(q6햿RqIí Bpk>5^UꗷӰ7&Ŝk֪<23z5/VM&[bLx\oC1xP
`LGD 2B)|b0EOI4T[6B+*$/u<[4^$X #:,{.#DXH*p?e~ӉӖ^o.f<-6PdU+X.Wu}
 0ɕшؿMZ'RJq'3I[N 2$П\<~ZuDHh8ldBS4ޙ|]f3מҝ8Zfxg%,kvGjPQ,;,*60<N2}1fDƪ\q `+GVNnY7BBl~KU]j"p",QWFL.8?nS8kY0
j!N$ϩuWf6b-&ˡqεxڡY۔k2w^k]fݛ4QbHL0$1;FҙfxĮ3T(4""cǎհᎏvm/kuy+!)釠\P`=XLT	V<x_p>|zuB)@'qslwXTQ m`GΠ&(8ge |=z@JІnBXD6}>^Q|qdX+*Eq ]j]갯>q6ca1Ii
.lmj*Lp<c&*	%3Oxu嶛lYMT\Xzގլc2O/jC?O1,srtoՏ'O]ʷ|}|gg
Q5PsN'>{}
\
Zx|D&hqNI>V'ph&0|A3Iͬ3#K0'*3"oUb1!o\Yb6gH4jpM|	nzn
@1 η Pf*G̋H^K@0'n.c׻SEF#)D(/]ǖͦƖ'EM77r瞆D7#DUPm1v{7:'}S Ji.WbNa]l%tޘz~o-Uw"5SRl[v"o=܅OF Hyu+`Ώg \!E0~bj('rf`-^tKy7,N	R`x@)Lm(0ΎNi&,QU͡UhAA$\Kָ[l=|3+p1zf$;fmg<<+suEWم	
ty*Tzs!+|.lT :awN.IPA|T"MȻ!xp68!@aNED})2ƨq1׏*X,,89]@D-֓tXu>iǑ 2z`KUڎ{x{Vq{'IߠP\l%
EFv(@]{lLߟ'Opg>}K_D\|2_S7N|nUaŇc 91kO<utf׫<rJd-&=Տ:*qHM(Ň*nx5kzT&hVK
=|bKsg$xJ,_\qn=|(Y`c2<ɒ겾v{`iC]Μ݀Ղ@^DfkcB(۳} Jڈ{jgEƠ/-\4}Z0_Pcꔥń "XcP·<\90JiںӘBphqK?isXƥǁ1_fw8H>0,B*嬇t!	.ƍ^"р㿪2I]%*eֲ	:<?"F>ٙ?0▖]c9픜~+m uklYQ@+g"KI)/UҼ$$5&Uhh)85f=U؅^ؙHN3"V-Ah (%Ip [qD$l{hnN (bG2  >6ŊͿ7Ɣ3kzSVĦ:[%f(CFV[5dm gƜ UFg/Rer@k
9!VO
$<WbZt6Dg;o1G,ۺ SXNRJCZ#6Sq+*Vd~7붮[)WZ"ρORܨ$y2
O<m:krG&A#ʥKqfTI_	:(X
>O`!0	{izmE$;ֽ҆A>%XP& xztIW(K?,⺇.Qw~`9+rWH"ARE|$UŁBjHPÇq4uƱ ]%g.@:EQ$G]EaKv5C̚+^7.q
9[EoKA6e/'l~Q'\J$v_+^eCN+W*_Be#E}lnAWh~],]'q~Mpms& g'2Q#=;bm뤢m4>hZ)pdV~O{fhIYGb#%Hv[@5[ :I4!DPbLGmǀ	^<wm9N$y:!g9w5bHvFS@(.wι1nyf}p@1(.K:߃Zd_p~	`+ryM[Hp1iEU	VqtCWxHQ@./ҫ{b-TmIpB~k_X&H{vo\Ժ,YrT2c0:#%	6lt}'Y<b8/!A>UJc1@pp׾F)_XE ,# 
Yx[R֎8Ch [BWFдd< ʹj +dp#ª͇5='p$h@yq>TmT5{{o4M0/pbWۗ{Y>ET^ڧ[RKw𑽐o?bƎAi?pp<u3'8Sޜϒl/qo5lF5+|"y1݇w5Шۏϗr+kٽ~d وs~f(y+4<GC:[y
YLUD'),eOd,ު]]]U 4]͇~OKJ@عk<
5]9QΙAq|Śj AN`w.3A~>::TZpUܧC(ƒW?~*.0:P*^jb:e@8Mz.͐37Ou9T^̉S>~M+/j6\iG+ |P8jH^ٵ(MFCSPBx.VԔv~<@q z)-5Rݐz2XK]gXLUa{WX]4.I;.6lѼEc7tLJaSEjO{!p"`%FC_2x"d#N	c5$f;՗y{BCc+ƞ!}6(?=sK9q*^OgLEU$umu$ֶGJP	Z eGWx'tވc5n{HI3!	׏@ug&{vàPngn`޿%
SC (HhZ0'YX?._CTuSTR 
GԥG^/% |>tu
zb媕)V0D P$R!r@#	욈L圚uUodT
S6&C:1(T!Ÿڧ'\'C}:_4o/[qsqKBX9
xiiJ{8T.:1ʋGzE
@Z:Qœ1#P`t 8!
z F##g`rumT
_E@
 Cr \Bhۼn#TU`|s䛤Wm2芶J\I^D.ѠwH>ת7ǯbqѪ 0o-m~D Nce_
+24JfEokIyINA<:{8I5`LFS#B$Q!FɔJ!sOl*?bSR QU>]ksI[OyJWq4(@D{o:Nz:!xNHh 'OY2jb+}l]N>P$P]>"㌩dRN	.֜?lm/fFtp{'ȏ%]PZgC:Rx@ yhHywjv
N\ڤq-cۘ+պ9/SFP9Axe]{nO)S<ZxE{?8
8g]u"Ν3^n\|mf'Ep:JϏ_ƼatKĀRwѮU\?GQ  X&6D9QEP?}}0"{OyI4ow9%g?+ns/֧\ݲJU {g
;`f@0_\zgu.2J( LW=FɾKx+σn&IE"7uBrc1u\;
 'UWӖ#($醳Qwzѐ"#o_x|UFDQb8y/ծwAM\[Q{K -oE_zmCǦlx2_r PPLK''ХS7|~ AVLmRT՞=1r6{ `Bqhv;
oŝ )>wa{'F	6Ad7TGϧsUC	+
MҶxm|ҶƸP`آjj»wI9EAǎ v=u5
__%"iU<'\%۷kU;*Q
U8:Vky^'M4oߝ8qۗY	m" D޺˃P2}߱[VZtY@^&)>o_^1hN|&\J,,zh4APl4hHH8IK [4ܽÔδ}:z&Χqޠp(cgݸAj(\[InXFLO74`C@0ǗZȧݿ/ʁBū  81d̀x&͇Y6=!S;zyhVk3d513,Nˀ;Cǉ3pt> r߿]I'׆)-姚;Lp:o#e ZMǼӒSox)oL;Ξ2@K5*O5I%Dϻ˿f"O2I6ΛD^-k!6ɄGNZjvծs/htaDsDr7փ\Drő@n\x. )٘ |`ț?>"yIx~sB=xbCsŌ?C	<چ6[c8y&:&%6j0s
[84ҦWh~l9|
$^c˾(l}*čaJO@̎Yrn%s}dgw'+d쉌[Q2SU8ueT{^<]|&f f9\4(jāȁ0&$	K BٵJ=i:99x5kz,֖ӟq@_~Jq(;kDpcb~u]I_W(5Wʢ135$ĩLE`*lFt~:
,S/14	i, YY»f-PBV n8QhI,.%K4&6bk#~tvDCE?yi20S8S#l:6l3w:.!"_-WSl["R
qԬU<zezҐF ȺJ[iq
`rTiLJ8Ae6{3 XmnBrlIzxӒOyE&J$L5gZ`vxI9VM+EMs]7Wݖ8'#QT,::ك|#o/Zsm;XWvN]ZXazOMHM0:ECѢGHI 
Ked.i?C?ְp%LؼӇڼ:1}뺣HyMVIϟ<|xϱe5R}	gBɈZZ:Nn>#2Sszgw/7{bJ+׫أ5n~箒оU݆*ʗ*wxbJ}WQdOko?I
*U		#yʋE(>wK<`Ka_)^P3ҏ_r9]{dt<C~T]瑞W5x;`?6\vEFҾWXh+Һph bo:q;J}5u23mORy|bI=Z ؤy'
-Hl!.L`5&:sxS~aD"Dr"3/S#FW6Mbi`+L7'VrW%r(Js&44t4^-{Y'S͙'mB5])+c~@zm;o|
xf^߀&L4 C~)F)yk ΐWc=5w},GɠyzeדG0G3N漆q:7b&J=J$
1]1&3sۗMd )BqCص_5R$Vk@NT(//G{*IdNcz1q <
gI-%WUg@wԳgLE.m_`{Vs
Sj?7l6rv	,ç>HOM ⲒjkO91Qf 6@	kS~W<:d=_pIukEŔp艹Hzk?4.col6\7C^:TkqWWwO/]P2^CWk&G'bҾat@:8\~~X: .'e#!D6eQx #;V8%b>vqu[Z}n΄E~}n# 1߽"VJ):Whk@ׄ3| s;X)fN/7xo
7xo
7ZT'_}6m/ХK{݃fa@v߷ʑ3ЈLLܣ_i͓C[']Y3},Z\|`Hfgm>aJ-$qʞ({l91ӆXdv-@_:q\ŚR|k`96_#9
Z7lM
eA}Z+`憼E	%y
Pe0g^2ϦYK#"8.eh(?M+6&;]Y4^'v/R-bVVNn+[x?9C8UpBM]
 
C9S7eԁ4pՊÇSAXxW`^Ȝ:և ǂPE|l-Z9۵k&͕kBՊ}́@_M|qɝ_{̿o>KGn$Qa!*z5xBP/ᑹv.i@o|0VT%" z˒h=n~qG1c(WEt
	<t﷬
ƯjauB
f'Ѵ(^{1z7/Vz[`ןC0ykWݿ|Jfn>hW$_HK][31auZQs_́]}>ur\Gbl1mDt-E?{7tXnuOӱ=rJJxER%is%j% !8p2k!"vEbl̼Z|zvcۊ_:r|\~͐@s zoeq 3!)+'iSA%{xQu'3aqt:ȗd2{5V/	I=^&̹-bL![\Ng¨%l̊ʭRj@$c4(Fcܹ[oE	0
B|s|v;.Fc`^%OHUrxׄK/8)QY:u"&ވРZ>tiWS}]lF%c6_8nr"97	!}lnH'}U;9,0É~?0$[?VN[')|'ajL칢eՊ;6"h?
VqE3,ߘv <r|ŇdтGwMHR- ~N1YAdt^YnGwip:oTMe%jZ"Q@M񅽚( Zz	<Ra箻j%)95k*uD+PZa @q^mSאM?zABh0d$Qۃ[
Y@ 6&6&6&LcJOL[cmi$4b$rN^fw} } TF˶v|l[I?ů'Ɛyr*}Vܩw'<Hzꏒ"9 /H=P)p(\	@D
DR=ON 1<?|E!pSڋxo
dڙ/텵ߕVl|N3pcÈ	sm}+BPMn_î㼈
^	SWCVcy'ԉc5QBAܲ
! ,4H Ķ
dd2P}
땫\GlG٦PX7-tC]86\Ru$:ur1YҘ2,VIo&cǉA]z
iݲəsunU yyiF@!a+W+Pmbc!S=ﶡhJ&S_{~+ݤz ܑ{|Rnyy#ܕu]A IaL1Q(LihamP])sXF닖LHO"%ykǝtYzn
5h_h֘u"RfU%`!C<	iI2M$[L%H Vj<pA\@ZuoG!(6콅noOt,p'1W)OgirCD
r As&$xzxޠGj;$GFL8f].fIуX4L%\Senwjzp=K#ԁac_O	

lYR!\4SOfy>┐m!
L?rb+al0u$P:z#--	l+tW\hᴢI.$]KTܩDBjX\"EDD -AWND,xDPrcPKDscʀ9*0hɼ}^'||,C+/xHR
o%Ϟݴ#6GHֆS0;Q{wN;L"c3$^kuoH4TܚfaA!SƋq	1\ qȌmx1y	͚B1>~J2
ϧBM.XWū?Ο/5(@osx`3fU".>Ib"!-h&cq`LKY󓂅JU!ju>1vuWt>kW}03
e(AJ%.  
D\C|TEIB#΀Bs>Cj%q潡 v{c4w%-g@De$T3/?ٽ 8J}(\0[PuXMS|
s%kטQeT8/9` S\
j=D>CB	%Beý;lEOx3$drAZ_bZJ=5VװH1l6:.-*d^)͝ў%u19s$#)=zK G?w ZgiTA3A
P31/dS&m5u:qɻBd
gvnA1Ol%4?g.
"v9,_bD՚I!7rU3r'Pt1iQ=
  ?oˡSdӡ+/kZ3>_| |rXdf﫷/V5ϣ8_Oɔ?ش~%W R2v~z	wуx"@?	A
0<21ޯPߒӈĬidhhg2ePAy]$ԞǾ1qݙ053p:
#{J㣟߈^-ˌ_g2lj%s>U _'&'oZhLwg|}ή @',~`n_%'jO?f<CU%D<D !$\/(g@ƺ#D$3`$D9}r(2^̲S.p=tب5LwN~} }߁'4WCWjo>h
K^.FH)&]kB6CECK{4QG K͍#^HR$%$
>~@jp=\@jg"t![(b̟7GP\ DMpR߿鍕]r+:Drݯ躝˶	ݛоxeNPQ%Xo\`re?sy#"J RmP*8t:`B(#cƽ$sq>A X.JTB)(\8!;,V@{2*DN-aǨ|8l{[f.(k6	Vs{ˌv:le۔0Hjzw!k|0C*t>N:Z24~xU~DhZ7;u#K"I?f
wnLdΘI%_[
nm2끂Ny8NW+6'Z 1&b@w$8{MJQҥVaMp7 .CbH5[{~r !I(O,HK1CGgpQ%ռ Z"5QZhѠ,~baPw;-X?	rODvx|/HOrᡀ>|}ZۻTeoSQJ18
`cdoTwjG6"r1Hy`ʨ__MuR}X׬2׍|`OTS +}[BZ1QFuEhQ`ڀx>[%+-r
%C $HD0$Tt e?T|:
oɕ#oӢabHpbaXE6L,nhwt5NNs8gixq=!>8v1,!oaA7&,0|PY4tNĖg129Π<>;0ϧ[vOgs \)djMpǨ3.ӉV.
8I1}/ }x҅iF)9mjt2*WLϲ,\7zREnc4$'TDDUJVudiqIMuFEeI	W[p-ǅ\P✋@ۜ!}"VE<b߬+{%y1=PTj߷I؞9dܸ&%!@S<#4ۦ4#U;"*zz(6)L9"8,몌$kCF9bl$	|`2u{̗16K$`c#	p?fw1-}ԙDYt/J{֭=&#nڤ>UnRkta%JMzR$Y _Z}y4|ȃJ{p[6rxE X(4c%3
2!Wiif XEXy@ JrUp8vn<JF,<qJɺCθig$Hɠ^-|1V
hTKʤ+ѐA$v'oz|?Gvz| Ljǆ9}XMs#2]MebiY<82	734o\JpZwef#b\Kuhj^K0 ɓٰ.UeIuJhE=&%V,jvD7cׄ72F*]XO۴
oF
٣r}φ;ZrFy']DDcyr>
<dsM6?RDҍ4<A9qRUF!9cEy!lěBpN
>HxB+@6IFX̖TxSkpT룜9BŦ` N(uw'lh
W
[rb/~	bK}_S"5tg)=mHmz"Y	p^3ET"[@p#T3jy3c#Ϲ3>U'#OxqvÀV%c[vn
YuڠLM"(yTyh':&ѓz9J2$E>c'd h$XRl%}"SJqOxJDAdDΟ6
01˔)qǷ=xDA$n7#%k=zX<-^RvCy#9-/O;W٘tV
Q :0 I
ZL$Dc_.bv̓
_xn]8< YH<ނ'!:CUr&עr @5ɜӣn|8
W 
D|KSҖOKk}g U$I47(WlS4g=C:FA$**OI/}ǖͦƖ'EM77r瞆DFP(6y%oܦ~\U.D?purcƫV1M`r޲+|wk_r:`..d ^]xADU*J	AWPxh4T`PB_.
B
 @H>!(P'/A xo4Uu'7~AKlڶ1-~Ox-
$!<S?c.K{|8r9	urp;X>!ЕRu@HO3q+kJqs&
oŢF<z>̖^8]u-#ͷhsb`v9eK[THO5gS[qU(\P<<yAJI9GQg ,շ=_T{AFv&`ƓR8N!l'ՠµ  [p|J4$BOS
zHQnC|zذ'=#2(s!DJ<ה}K;˅B%yP/
 =Q9.l$OPU(>iH(g';J}hHfwlɃt8$Idӛ\Qvf`24-k`u(pd2^r@Qb^>]Tipes*@lgOg_t)LcZ]
u5FC@4$񰘭N*NKؙS"
t
S<v1ַ.C>zȥ8iH4	_MJAiu1+8HBKC
f[r~L} (	<|2Hgo#w"-y>0>Arn)9qFx:Ofkպ&KL<lT`tcGDs\+OjE?PՠWkesұ9v	:))1	{joW׉{2G>
B K.|"uG=F
?gIN_}lׂթOR]WtblUpY?LYt^^DY1{g4"'l2U.U.'#~nkz&
(8]*0O>^cu@gcPLlō;aE-?I	OW{qQηuHrV^(Y ݏ/lG~yNuO3|RY$	ZݍZt4.ЈJ_+t?W9F3JT.kN"*@]^{+O&ݺ<ߝf%ě@EAY39BsWzQ;(\KƀXmrpF(\A{i	T'Z44J-15$r+FI ?\#$:}ǘI(zI5[V?wD*)豋*G<lC T%*Qc[ՍV&.)HV9k(Ҭ%W%6u[4bEOcg%}xeT{ǬD0"	b^:\ljdF$et wϑsYylW'^_Dy/:k^j5_]n{1gT| :H0	7hҼ4i3Ç
Za=yām!c87Fyy$1,Z֏F<7IRℰm
=ڻ|z<ƽf++ /PW
 0]cɖsG:K"~PU"_
I4|,|Jh钝~|J
BH/Et:Y}O|tzCju[޺۟1Hu뉝x @O9}i@VcrH-@0
UE!LOe#lgV.]F#s){<u9΋ReJQ}$=DŲ%IfuՉO#cske'~V9rEjRDA9 
݄U0J#ɕh(qWՉ#Qf
wtj\kTx>ڑg >VBHMesy7n>޳[Gqr͊9Q`N+wls9_@pYD:]?ɷ Ho.G+[rB)Uyr๯F`;U*Q/%J"9<8 "M/Z'[ynÛs =	7Rӷ#"׌ZW>Bs/ؿqāq-LfHX-;kj
5~~4"I˴֮K DfviSPMɞ'菱DL[h80Qgf.;c)we$5f3'J]*u)o5A טtAa%P<
dx dx oLFٞB`{zz}SV|i铄]iV @;h0opAƼN
{Z($kMDEB91zp
iZP\)ڵIF$ $zT.`V_1FCOP!iBQEݐz/Ƅ祍Wc$	To/
>}CZlPBowF);۶NƠDpֱ7xp|&y$sѸ?cR,g0%<.ac2BRvj엟ۙK^@EE}zh)jQ/c֐ȟ+H53*:m5Wr r\)ΝlyJȃ~Yuşc߻1e\-oMmFC8+PN+f_F: ۴7S$&<umX^D%O3c6o3{0c+:S[OFBѝK&'v}~-[uTHK3{xC+ʾObҝf%1w(#yINLRp+##ɨ+RXCZ1)kAR?:)brbHr-WGwժx>ˍT?o
Md1
K(abwFyQϻ1txՐ
=0p}%O`X~LmHCJIl=tjk3 ;
!3K=\9*Ⱥp
,FCTN{?3<L$2:ؼ:D	~PA{J7OwX`-`ՔP
kbT=Y\())zo-f4h8ח܋ID|O=)]+6$n ddۻٻar|HM񲹿^|i1 #9QāY`ޠfEwry?]sYr!.EL!
<$A&d`H̎JĂA7r:ĭ]0V́ovFħ%p2MM5l4?uucE<y`DE}#}ܽ[4^1Wd
1o#TpPrr=[~m4|\A^PNI"Wz
89̘c}@ɡI
 Pɿ7n8NPqFPpk+"n;Gm<*R0yD]
G>C|&+
>]rؓbՖܹs
's%>C:5d&}ka4Apfnz$3W.;2CeJ.@>j+dWLLXΧ) ?*A^\۟ovmӤy0r:kshR~v%T6xC
ԕRi^|?𛟜\vNgQÜѱOWڔKAHIvcU"?/ ƙ+oX>ӤI =I$Щ*ģ8=mM&ވ"F]q$Q"W.THϻZVl|;PǛsjs
Y 8Q:N͑Ś}<h
vMu"pDѳu=&۾t
68-8{"^DBЦ~l?v%۔SHkD&^{m*d#V=xq'Yո8ڱ$,@% +Jy&8P՛B	Cܙ}n줟ڙ{6R ױuc|||*}AmKzgɼ8Ҧw	c2<I3Z!Vۤ-T#{ϗw-f'@Dur1QRO<i3?MѰIGE+V!y*97RFVG(HOI^] }	x7IJwĺ	TlF@24%zۖ@jp /| 9AL]f]b#ƖDxX/_RWU)[\M;vjŋBAo8Bϑj; &fRwn:fE_Dc:?6N;23jxƭf՜~[쓤܃Ȅj1@L	 K8`F \v"MZd'Mwu_ p
BF7Ǒ6JILMU{d:%<zU@bMI?˺CS瑧:<H㉰״ ǆS6gի]E=A׃pzDCO$<ŷThvWt 
XSٺ:II YreBf0(T;
*@"I`"?o q		\<!	&Q5!"6IFH1Kfwќf	+Zެ8\33NgQXLqfY??KNoA4&ߟ lj1zݻd~gms6ulgGu\iVD^rI5^|ys	4mrp ^Luj??)0(,K+Y9^W-laFk
!(gRR񏞜s`,pQ֒p.GƤDTnݿ7 &$ǖ$z6I3P.7Z;]gRe'm?nMB<&;#pP;XʔKo<p`%ߋvծQxձw^\y*V6XNIph)s= 5Wn],mի\/SQPf5$f{[ZpY$I]62H^pbڶ.ի7ƫv

HK[ֿO/U.7Vx #W1*O	["V!cj@.LM}l;v?N:7b&TOdi1:k; i,-YX08	S-b3dx6t>- 
	M>A(uQ kK4q4'dqM-:Cl0r鴓~Ԗ1FLɍ37z(s# ^|y`^/uu<'/bF_J-<xɵ@mpd&S]<ʴ2RtU|j1n9lVb,$~=TwoƯJ8
)#;`tc+H2_*mA
Ur}c߾l$ 	>= jm"݀Obո9I: 1p+~tt۱u9S;}}r~ 0`ySszgw/7%X60f.wEs_"dC4&!eepYÂT~wIm fXr x0L*ꅅWb/I$+>yov]ii^H]/Ix0ߜ3X1a0 ke42F\nV=:0]YjN91G`YliL܊ $!t|Bm#n8mrs7xo
7xo
׬:!Nghn׿S5Bl<91w{q^u{~[q-ddZR,rlxFpD=;࿢v>+ֵzwF:ZwQ(C:.\O7lv40YDPu|OwÛ^0Y j!SmrẨN9C	j9>j`f&eLs+WկW7A7kk!NSi+]+8f[dQioi֎mi6oo/ўj6j7p~zO/N.(AOyT͋­gϭ<[zlhDͅk^	z5=멢Wi>K9H,{20uUdc >
A!pSwKl2Z3ec pӋe
q~ﻣ(%j@Y  QI3yZL.顴h1vڤ_Ռb(WGCZkl_	i#vK޹s63,muc
8\&NU{j'fj
7!|h+՘
[ eFDpis(I<յc_V<1	bG9sx1wUdS0oݥ:e+pa<1o 3^t3v!!!ʽ~u2@M8EVyxFQޱ^.+1}Cq-vciQM\q;|t~{$1D$>Y:@{yB?xɕ/QZK "@PQDR=ON .}H)1E
HoI֙atG/+.m)Q"{VQ9^z݌n[Do^UȡGϖe1zzWOx1P͸'mʀbѹFaȃz1Sh6Km~tcW/S, UgU\F@u92('wб ŗjB=D&z~$wկWn0qx,^VZh*WyM_F2`i	n7=ChDAbd|(is! d`0.?_PA&q{L@?F?T9pYۏ|k = |ޫDIo1z@]ewg/:@AAz<2)Wԯ׸!ovi|cw<	杻OrZfT(S,y1t􌚷mSQ\Uw(EpJ%MJ9gDϱO8؈ΥZ3yllS[<aIїGE)sj6}+;'v_DPrcP9}1e@aӎyQd^>/zA>2UWD)D&Q*Ie5z@	m9auWF4gWVG7_Qt⋞z&E7I2&,>
Ih٢'Ȓ-=sN#"}٣ctl\L f|&db@N\	Lٰ.Dξ٣}Y9梎)mjOpj6rbIQbY4iś0[ySrWT=7bч㨉pYSK-9ME>:/#Jqr8@);y'.c]?~5_f%Doqґ$I%Ī8)Cgh<`mA
>
X=iC9}9J+$-7!(U	(8΅Ӕy+Qtt	E92O()}f:~S\h;
Fd};ɐa/c/4=d(A> %=6}Z~m]Zz(k*&*с:VVAR&x%cmdKqmȝ=IW""Ro
W!{{TCXqŅ3.^۾`tHB4D3Jf2 ϼ.GE%N;p~<Id?  )|dC"q<zVN/4̊;6q"HL ʉR GmeJ^'bCkn	.IX(U`SQM!OEｇMShcZH8
[H&^@b*L2Anx# DN?._/9=<OyQ<D%-	DY̾v-@Rޡ(HdxވWNԫS+ǭk1f(\0*V(ܹr(ؤ~|Ω5c%"g\@@hsŨu>	Bca"ܻs|:=^÷O~TmS/ryEtP@SR32wN9O$Y('v1kۭCڗ#/)|-z>l~ޤz-cX.lfZM4^_Ip/Ɉx1.HjY8=wµd2윁[E-/Ϯ0ߥ
ZAu6zI^aRxYY(mN	d42T!JpPAp~-0@Ւ9ugΩr+B,Ѿľ1cPc)e֞*%BY0%r8"2	nTȝb RS67v|-䶕J'^ݧ?-ΝW̽Ŋߦ Oނ(R,jp\|W3}[vj"$|/HY3<IbR2وIsP]!hRodH/{
j 3OOZr͓6E"d?.#Dq٣5;5'lB0dbvd{I2DIMdM)a Dw~3 d醈1KB_-YAnH6wDƂs!\("<*΍Ê[j{A&e.zeIFc8
$v H51X>5]vF+Eν;L<ZZUʡBxxtA*-pNYmeJdFP{f"BF9ּ߾\W3@%W
8ŌtczvXkVi.Fh<Qme`w<گ+oYrn$t1J
6+GŜzQȧ봣tIfߍVM_?_l xr|μtp]@پXH|+stj-"#f(*qpiU!rW8 \B!PF Qߚ$CDoQѢT$|+;aI>"WDV+)=KAs:Ԙ])IO)r|mfݻiT\d9[|pdX14l\ޚ8Ze.KbZJ)c2.N`}Q*7I.U働c 'NKgWY{.Od碭]6z"rd/ {󠽾1wɳg*V~+{#WoSSb9z ~@{ڍ[x.jT:~x+[?UTBý}!	JZzZb̭
1! N hV3Ubyaz[j]>
 *̥sdQǼF\כS >&dɲ|WF,T=2mJNz
P͞16Aơ;KW°ƳFK22j@U'PpmSO*Ϙ 3:3&[O.ơVB7.ǡf(G;7yfnmrGiϷ>=TuA M.U8)fAlr$pȨ<0=G!(WǙώQP	栣FC]{;%A4s(CDIDyaJOA/3x's	BufH'6,rLQa$g0\uJ|"XޮA߿ޫ7&J@w;|Rjɇ*j}|ve+ 8/"s6競ĐѰn
\|-7d5#-1m>1_]yP
aNrH-JF5kXѭS\
bDypM~')3˘QNY/P8ÿ&7Sӭ:UL@'v*w	 )!l/d
C!sFC $2CiW/ɸxH/SƀeE<4ʬd֞*CU #ք1Yp
8[evSՀ-Wk#7Ǖ'{Z?
f#(Ooa_W ׶/"`XQ4g$৾AsT.GjJl"lsJ
IZ,[OR0f_I9V˳^f{$:Yg,r.羳:yjmn~x]1
}U T	DHTM3$:CYMĂc/PU'f4q
-T-D"33PDAZ*P 뫐;y0Wf@e4֞xƮWy$or~ɾ;Jdb
'dW7Yߪ#G(?z];swlT4n\
=30Y^o"> h=FYm_iL,wՉ &ŢKIJJcB]Up;BB,.67a]j%?sG]e6ڵJ5{j ^6Z~IK<H$rw\ + 3M{ےb9ݩ"88~7obYA%Xj*q?q?}sDgVp$&9iQt#LlSd #jBIt&<#o>=b	,- 0
á>g_>,/Ӻ&`"jY39[YSJX}qܧ\MH:SJ$I'Bʡj11FHTKu/%sDP&ȅ/ץs)GFch[-7BC1m@U\N;)u$GP]ک-A/@lu6IFjaҹV'.mOxE	o݁bQO*1		"	/͝=CXdsƶ{7^RނEb/&~Gh
Cbb{	}k*qy/w9v/i+<+k#{+scүק:D6xL*@j!
$C"u9 ,ӧEq#-w	;Y	KWbrn.]NI|4D^SO\4$r9
DɮsߘD 
".l|иS{y͊*J췥DU}XI7d	
|R-L =}H~^rRb%q|ȕ3ݻu]( DVݚ$C.P~s?0FC0ϻpRA$S&: 9s`juK$O;.&$ۜ" A!`k8~8ԳK5x̀8ݹdϗcVS|[n&H-ٴ 
`

Bq!@CbŊ1dJ(1z`}ܢ,Xq&x	'l@B5[N&?>_.ƅ<ao&BĈ/
IdeZU_>v_~X"<QM,pOJJU[^@IDJہvڌCcRiDď G ,d4߽ȿLD~x-פ轉^dUZChPsz=1H`(2:J@ݤRM==#TQs ЬXo(U។	;b.F' |՚	{?`~|&c?< m_$&[>]n,[ż^JB]]+܋:ȇ6u|h1a{}&;p{UQw9p*NH/Vqa' 7Yjs_ P&y;h8%<>ǬXU#E3zX8Hi˒QYI`opJSߴva<N痯ġZBl0s࢖I o|m_]M*P[A!Q"J`}ԹFD
U~[=nt
rضyI*SBhْȗ;._{߻^R݋L5$ڡShXx*yS?jN78-"ູ5}yt@lʵLpRbօpǾO|rep<4
f>N Y-{Ue+o&뻉g;68}k+D#9^uc8qYSǏÑ#A
q[1Y]i '8V"ADY>466<y¡7һ
2~u^e0ѫstJ;AA2jJ:觔_82n Ch<YCGL9jϕ@(Ŵ*|͌[ dGuɤvi;	Lqk#b!Q
Ű.bu<v]j u*OŠ4+	qMym>Jm;m
h柯ܵjUo` ?J¡>_zz\2 m eiܸ	Bĩ'u

EOm_Tk|'
-j#fm_
7ՉsDd%ID<NH@fFZ{́dN/Z^ۤyf0soϻם~F;yH(ȄKT_hKOBd<zYjj	˗4#ES'N(
P0~yIG⟧ʏm/[t c{9B+?T	EŮUP8 ? oT%DE:vRݘ HzrgSUʕwk$݋`E{43]BM1 :fa2	Y^h,~jr6.
דp`V@Az.ׯhC&T˸F펧F 
{
mΗl/>PpXaA \<w7R7ՑQ-yzv8SpDC#r葖f!.	8B	bs1W-X%{{Z^1DyxB27M&)iRrn	y
oi<6'+qMY`ʹ?Zf)T\?kTn9VTT
km2uˆzfD !>	sB/oC7ՉT+DB5T-YJ4ȋnŗӏܵ7o
@xNKƎ; 8GpHnH%,pQs_HrIwtu͂1f`CzSquu}A)Uǻ[DU!R	5Uƶ{P4cPQijde k/Ⱦ{6g6_Vh2w2^դ5:A%&tUgn_U2 D=
7aP

ޙ
>X
Za* LiiG.?\!tB9&DQḺypQsnENcNl\ȩ="OX	,w-G$#d\FwluO݃$ )w.F|mJO~ɠ4{r8W z<q9$rפ8\8*!5]@ь;ؘ9 $a\X,\s	Fx}Brt3i .15(NIxw.
/a
쌞&xܬ9
N:n?
:JXkVHNCsޟ'_b%(4בgvzH:]"uA2;'%t^x̮&y	x~VFTbšGGo~//bk5c+z
P\eAiA BzQ ~ޝѬ_y_+z{	!,伻K*QAa$6U\ܽZ<qӏ!J4նRyߎR
]IPUQ bdn!0+c鳪J",,y܏MCx|꬧~AuMK #s8uD\o(
^<x OquuKpRu

WNwJT/Pd Iy5sl( :^^{-D<Y.U~FC3˻0͈>J_?B=K2Tp'M]"pǎ:`#oN *aþ-׻ kL<lTtsG':Du{&5|ٟW4u{g6b\X	`3쐦0474+s
VKP$.j\|[/V*W.DV@-E"~:Ӯ1
Ù]CES$PUʡOmvg9pNX\?_F UϪ0.9;s`"[w	h4[՗["2AteqdC~uM]R Ȭ V {P+j<VgoiT>ֿM9U8
*c	;@)ūڃ߲4
EQD"k̙
駵Gfv( ſO3 
6<}OEE=<1g`8^oC1xP
`ꪁhLK>>rŦ!<3fPHQBE5A3gIE%: +/AuӜ-pZv
4byƠQ;E _!]<Pdx)%	qĢs2maaTP9y$40BKTm~}
qD  Hv5 qPD	kG LU]V$yL9 ZRC-'jL8i=D{"0)턋yӢ~0$By<	Z!Uwk lVZ
]'Β{EcnFCysPsNZ4S){Η\ޥ[Yë׫_ھRtj_hz`뒈3U')"Tkypuz7BKnA	 8pe=B\M{m	DƟXgE@NDqur0I2ofuq^}cdDX{ y/t_q peJҭgLd C&cDICf5gNyh5ǿ^3)QYˡqSxM	,i62r/Ӹs#QHݝ>3KVuilpfqą g.KhYsB~A; >4IphӍif/=4~baAb *)(4,]Y[,6F6ͳ9rfI/ݘγv%>5$rV@i_j}Ah5OsHn籷=1$l<23aU%ӐCb4rJ/S狢*Q'K 1y k6{O]ݿCQ	$AL.>-u@/(1u토 "XcPBRZ;g缴EXG}OG/oA_zirT8S2AӾN 5QR3f4yHU+] 1sV?=x45-0{.㕆Yi_ .c"ɺ;_1ʂ=+<2E{5I/t7[ SȌK$D@{}eos__xo
7xo
7 p]TN,5;?V,Q7 1]:-wAǵPAhns<o9KڭJ×GFrnQJ_gpZ\V.Hiג2g~QdtFls8fU÷fˉ6l3
C`=G+ؾSQ!ˎ8nkErJsNS1Ӷ5g_&@֠k1vTc0l|꾇 ?{)YTvǏ+7tazT#Pp.GUM!CNlER)Ğq)%ymǵ߹V]kEG%8 N<FT+杶 fhByŲf凿320Ho8K(udfJfn>h#:ʽm)Q@VA!B߶_C:l[:KmntD܌؞
V?jsF\+qת$5NFkq:?UdXم+ 0ھg\Lvߡ[Qc7M[=zp2QMTn]6)i CgtnUw ܷFP:^tM['e}6auJ~эfK=4
2Jl }8b
  KƖ/S[xŷy*N15j0]
;7/#miQ)Yinu xKfD-Y	QO	LD3{?1g&Օ,1݊F @\ktWwkPݺq{v]ЮcAvmr_@cj}2p.VԠ9ZL|4DrlsK2Q& lLmLmLmL3Ed0zJ"s,MZ^ݧ`68J "h\ФXrHNz~T{mI,)5$ЌBcHkVĠzPhFL)NrUVvUƴĝNn ɕxE]i[܄~rgƬ+QkE_jr/cTyyRdo`2۩)BDt&͓t5`Ee4(սZ)W%;.XѦ5Wo
٭G p
(ƝwVK$ZP4XvyOC}%S"v$9Ѝ(J}13 bEtO9	?Qu]Z,qt\ş a:\ߏjZoB:U 緿M-'֘'>B] Y793w3e<qNbXx	
o	ՂudʤZΊzdlH?{A4s>w|Jckv5mn?]sxJrX{Ǌqj^%/9v9$
n~G=:z'ʜ6lmhi[v6auԯQPtܼsWB[k٬Mڕo~T5D}vtX=$_'/	^NW];J4vn2G(;qtL:bJf4l|UP_)F
!opn%1uIC:sx\*WN7醎rY)t:/wo
2ȕc0Ix!o=~ihX5&!өS_7`ko`%9%3佘D'7ڊGײ9R SPT8B4դE0޿p1jR%QPZAE8yAD[SJq`|l8mJ >	._­(պ&FCbkӨ2*n0)
8o9QV#~;!5)4c<t<1H48 =k~'_J7D>g0Ʈ&$ފ0Y]b -	@VV@{ӽ[s+7WAzx;CwoO;,:c"G-	"c0TᲦ
׬h8~6$}be]gcZ˕,kv?|WFqR- ˖Bx:;v#?u6nw׵$wك=OCq/_/u԰ۈk/_ށ+[:/"h!xj<> !(U0^2K	ę>9r|77M2`Ջ f_CL)Sqs¥WިND7=.PqF4C|a+R%`cϱ/:RE1Y#,?[?YP*I]",eHQ@	d"#|/@yd7ju烧&9F (h޲y"/
J4jyJh&%(EkJ&jYL7fݰ9 
wv/۪&woB͖9y
@F`q W6o7';D(֪*3'N]r'w># :|u\	$gdZOxnMpG枑/UZTˣQ;#o?GʮIh䓀.Hmi > x%|?Ψρs!(E|>nCA4-w𡔢G._pgf2h %H݈2~REh[v}ѷ[-7c5؞o/v_9  D)a3NRq5p_ a y*V^]+w~@Q0?*=M\oմ]bwdުm'j.?{Uk!zO[xBjBV<MXGH`5pspd	T@W6fNN$)f*|KVj}gVk\="W$][SJNǽ5F$`!}b+~s9ƾS?OϢٌSxo
юWmDuvsJ}A? e0e#eR(*2$*,{=$$,+;&l"i$ JwL'_R+n^M穨o
NɃu5j9ξ1t54 CI	UkZGJI SK_+	˨ܾ8Y6Q;{'>\UjqROc6NL=obCRI=51'&Cp/?=G|`}	1H⃈5ը䑴u_ {7d蹭i	ծR<T_ҹ4)Re>{11}%BbND- ѓRI%DPf(-U'eS4*[4?QV1V])(Vg\zb.H*y dp,ukklXt%ƣͧ~gTHlRp[yZ@z=k;/FM<H1|Hc!v٘U&CuF'	|$`.O{
W/w\yl}}=QpHxt?&\\%xAT@Zc۷ny R?oVوd/i8&^%$?[[?11<0Mk.)4aBL(wKmXD32A^Muږa8wJU-Į@g ("g
_<C5aNj
=2XJ ,f>kc<ߤ Ji.	ЫLO3XӍTkYiT{p	ӓ-`Ll'ǈDp%M=E䢍S&)MUC$iŤD0{y:{]NaMacnʊct͸K#蔁at̓	yl}nGÝHg!(?N\JG.'t;yC'Fw`mUKXߪȉs_@Ա^*|)8s1n*mZ煉DS;`sGBU'THګlLjɨ߼^%q?wl߱l{kwG/D9_#X߰D0iX6.dq6 8w_]D?7o!-P	<oAjU~ħWszEH;Q{^R]kgz%	Uhy6a-&^(ֶ0R	;1fJ`1bHQ`Tdh`IGs }+}ZJ ]z+d~KkG33q~])?سJ=?6
t·x# oJC 6Dy ~=>c hGӢAE#I>GQvDܘ2[b:ݓvh8	nDl3'2$!Qc# g{D>)rU*)%l).lF% bMlD޼r&dٚNR5[? L(K(H<3. O)iR4N΢ő'A!Y?Ju
ߪ9VUApl򛕔thac2Xmc2Xmc2Xd(*
 N=`պ/AAlT<Br#R2=z-qG Ocypha`FU,\LEL쭾ؾ(jf?N|ןI,փO TNVaŰ]!*9q?9{nX|w<'՜vÔύ3l	[dÒt&7(ش@ A]Py ~Dbe.̇߫Q	7=3x	n)KϗH>z8aцSBA0/GǘU'`L/?-+QƄ802
 C#+V)ToI{~'P=VւJ5ytp#]O.}WN2 G~1pĩS~fm5R=1?[iGaLڽ	,m<
 ;tz/qȑ N8sz"]
Ϡ}9yxް =J:{@dDʅp)xT}W`MKA2QҎ]~9CیFT.:rW,
1)$5p}tħg <I4x	Q)&(R8*nu)
%GB!5QrAo\s
KUB	￷dҭ(6/b~xNs1>/IumUKsLjIyNᑩyMs:e@8McP4㟭`0Ta1G<<O.b]uu7Z\8}3xI@ҹAƅ*]aBgO(#!)V[Qv]H8^	woi-WR^Ep%D<i֦G]t闎lwY-*xA%QWI1 |8Lxq2w'l;#4ky
c8r$:WpgOV?=ȆTQJhu"lmvשּZya	bVA]މ1/
ϋn	,Z+_p Ro$t>9-)G{ܡLI}7C@|bS_
Qb}0ig=uGٜ
f)
FC$bɆKvdqx)(_C7\TOĉz&fA\CL IsPBܻb2&J|ʁ/^LuBS^Y4~{$2oױ&ר_cHo>~xVƓD\د!CUZyT.^MbQVGhmu zqE]Fd죫>ߗ<Fb( \<{/j*7QhaXOl)o`v'7aiQFt(f^$C.	(x/
$@/D11WzOC{~<".`C;%d@9x.ue5u,Ѡa^L<t:b= '-@$	i&:pñ#8(Yn\ť=[L34)lOQX7R i+po1}x%WZ;ES4b1S }PZ(Q8е0 C`J.wݵ8* cN
svKL(EO}@Uk+"$LSSUHXM~Dp)Yr!Fhpc J ݿSt e= ][|t-{o W/wiMȒ^zf!3,he=Xx3󾂬oM.	բkD9jA@κwz~JOOA2JDtt,Y1h(SEZI;߻ۜɕwif!$,&ܘ4q"I	{ܣk
t)%8ݠGW\\֝Pt9EL.^,iW1|8UZG|HǬ~;?J%{zaoO0<㧭 @M=ki w*RuSPV2ql]H[x9~
dɀ=B3ETyI=ƙ8UTqn}:uxRlټ
?dR~~ը5o^>u%  ^`ETDF=y@?
ևV%!P%'A|]+[ ~8,]T1&@ǷNƯޯqW=VUüK
yg}u`\-^r@c\,Ϭe+K7tӻu.V,J
RH7g+0ABq4(qNc Qt3FM tDGk['>\K/W/O%i+bƶ 8F>ee»P>ou	D$o
a4@)~_	 rC0&LNRSSqP@gAqf !!	Sr>99D(}@sڕbI42UQX>Y% rlYj=Ñ{W㳑&(TZ
AAg2q*b3O&-  $PBfaik\O1X9 (0@.[\>wl\Vu8NhIiV<X-`(nd6/rc uxc}4DI>֯M9U1C%GIvM(^(f+6/_Ny_1e,%ID&%WmՂ"8N'glB"\f?f<Toѥ8p81d[
hN,>"
>on)E˖R~Y3Aop+SSŮ,-#/ISWwo$z>
4S>OV _Q\==TBF
go<Š_xQX|=ld%[bѐ˙!X(s6j&D*q3"!VH$4[EQ7@VggON(SF&Ѱ8Vg
qD΄\OKx(<w
Ś~ϧW{S$DXkZdowIjU>l`<N4Cˌ͖VDP`M{JD̦tctr_w1ӟ?kÍ֎b.:od.DhיqNJFKj ˥ ދӍGWp| 
X]d+"XZ'O>.!-/GbiҥV˔ޢ[諕 h*WHV1V<\m3+O87|'V- QxSOTQAŜcQ^324k$J %ZP5P,Q&H+08Gfg{}pJ^\7
	\-sR)|
"l<nM  ,A^Ьb11,I2e %}67 :L)#^[ 	Y*XoyW\y攧Ke,&NxYBc	^jN|*cdgxKߴse,ufNm׫
Ur}
Wo,Ɇ
$ɍŘvr dLЬCfS+U-ܽEl\BB4^|࿀J4po~Ƴzby$4pfEc+Z3>}Diŭ
wYCyb
6iYI>\r.[Z4Yhk
:[mU&IDMI^uva7]vptJ@O74 >RBp)>ZpMťKhURdr<J(X>L@n#? !_tcj
&lon2dّ՟,IByo_+(GߨXͲNXc,od.f.s
&]Ձȡj_^Kf\[A!D%dĲ/c@(w>9^w.e8nqjDjw\,!B!B!M    IENDB`    Y  PNG

   
IHDR       㘲   	pHYs    od  IDATx^
]UuǛb,(jtY}U M'!LtcuڊV,R*V_2օ"-t,؀R+# !
2&&2{]{wλ'^s9df{>Z
N<Ř޴600Xǽ>:q  q[vսM4BSBu:^'p;_s;L'
Z`H0(v~'˱hnM]>o6`mH`K qK
gTNg P4BФ^q_'_fͯ5׹{{H))ՖV6el 
FlO8Y0
_T.iڽdH~K@#%;h\rL	Z h 4+z}9ʑ7s]ֻ韸!ECm
񶓟)RH4T\ 
 
~D
^(J?AC
RT>|
I5鯤1f֯_Dh`19!@5<Ǩh 4"e(sO/S vKM2hW4XŐuIGKh$hokm
!7EqF
Xn 
ˀci+ 
2.%y	t=e%;˰!-1E#>hX%uo43i`@u<aECz7h?c2sFM{Y\@ח2z9oTYXE`w2A54^.uMИqsYuUT
+*SuK.Fmɺ4xw뿝LqW`9:3AC|q̺׳D3
Ls}gf^FᘭйˡhK?TyD`ck]@_sڒuh,-oEv]_Ǡ1^n3t{
d,J
ϔm
P&di([re[><7MHX*F	P4elA
7d||z=^X_;u(14

 xL-.Hk0tsLg4 u$Pk&b4n@ps~$vz 2h(@3+*
@Cxdf꧲&Af<ѿ!`#5iIGg
6k	΢[ظ[FGGt_Ι
y1l/
BѰ{#b4tИ*ΒT	|Fi7FذW4d{kA:4~^\O%+.^f.}̶?g~z%R*}@_O}wi׉4r<C$|Fk hD>ުQ
}[DFKґNyW	@N6@@P4-SU4 jY
|F&G%;[/v Fғ!@w<cCqÙDi.9}@1
@cNB @CBAt"DgȦCN+h88׃QBkk^:ITj̯0dEON~-{t24XӲ@c46UԏPR#xB1aIcA<
B`p{Gǻ azFB.SjMVە4$<,#V(ȣaP4(XY
:1XY0no=[jd|&
]S09||]o	:aW4`A~UQ6[eT|7Z2aXA
E#N!dLإ4]J;R^L^K<hpbwL5*ͷ|Cѐ0ۆ-^S:(HAK5]'M)V?mNgϫh	ɝ'
.xl|!<h 4tذFCՠhp:|xy@~>&>#g32|6( FjHvrn$g>o*OlЈb"Ex;_Q4GV\BHА[	 ^E)9hm?:
\	~OlDXɸd)hҍ 4Y DxaI94i_0;" _/rs_=J (

4[A@-p(wh!!C#JP4dACWsR1W?7(x'B h
K0(tQ2< @`:lt
;|<orܧdXNlM_ h 4 |/SOo	(э:D

7r&u
b$	
F*{`ʴ
v4L V-%x+A;Ah4+>@pGq;{]yF 4f0(0 h`0`0`0`^5z<<t߇4NAᗓv~9B 
˘}`
 h]2D&K
lm?C/>⃆Zvo"o9MQテNZfNc7h 4yXkШDll,r!5u#cߒj^	:P}f)[
{14(&>hT
p[9ch*!
(P4h@@HXbW𠡫b(4JMшP4Ws,K' -\$h@<F|}U
=t ht\ZڤE1
+>Ih 	ah@@b4hl>4o_}j$Ry@#ql#Aƺ1a@#UECzsw6hYf{8
(G|Ѐ?FsPEƮE1P4h@ѐ9:lOh F P4h F#Aш\o
(q|?
)#]Hp$]P4 ȣE axY# h@р<P4qn_0E!?:*GK,@gP4E12H=f) 
P4Bр ":{ch؃c*
Eh@рA]P4=aF]P4$ 
hhP4bP4h7(XZ!CEL@b4EJ@18ĵ[ɹEucc
@b4ف	vjaxĳ,d\?hp(P4G1P4@F6U 
F2%h 4
h FD8Y*΁Hn3}E㾀q
(0AT6yށ
S4  1"=!Ɯ籡h$EX72ld!C۸Mb@@O2  !t0~<
4`xc 4  
@aw`0`0`0`0Kj7$bϢAow/r^o܎	@ &`GD\N HGO4@҉nder@=Rr4?[
=s˶yV  h46xEowI/UѼɊe`zj}@aCFdȐ1 h	L 4Gb#QИBE196 X!T
X4؈0@.)ZPѸ=Py瞿/9n	vk+E
'92w 
{$<R
^&,Il\o{.zoaAj
M4h 4*Pw'8)CaKH4f:}El?N4CU,	 l 2fYUy֨FAkx<:UE#GAchhHFQs02LEC
9F*O%Y'BCaS@А_D
mOжl#-q1
hHhRFC9g\X
@C@8Л)
h(h8%cQ:קha	(M(dpWGCF
(D4쐡ÆS6̠A>I5,}oo hECϝ!tGMa2>h@ h!C
S=iP45)@1UE8"4"h@Ѱ'h!C
*Ol Q+hohzG@6 4tП+G4.74T;bL;5z4PCA~R[4ܺnv$sp@hhϭ8jr@Cɚ1\l
0>/)ꂦG 
qA|p[7RQݒ*Yclh`P
 
RV4 6;q
R۠~hP@!!C*E 92UG^ŭV눜HАm Ѩ
:d(ނ4h@s{hp2G2  
	|T\Y(D8Z8q%<iE@C
K?4!e`[̊@Fpla@X)mgaTѭٝ#<66؊e:p(H*F׋<=݅
4uuԏ
;dQҟ]Vz4O}8*}N0hgߝQ9dq>6*h 4=( иwаz;}E9n^^
=.ʩP3D^eTJ>L	֯_~W4 h 4fkCa`&"hV4$dW4 
j
e@RHxprQ
R
\t>H~P/pA>%2h,h hH	Q/Z;V.a
@CVh\Ѓ&;n5E

2аB%o5pNJre˳9lȌ}3+EY	u@#{
hD
2a3DGg0y_vHh@hhh/@F86p$f?v  
+ƃ= ch58А?BHH}*+,@Ѐ5O-}ЀMƕ-H4
F F"&R'oMPC	 
un  
D:R
`0`0`0Ĥ}0vA<m` m5;52GD6  
&]I>`6v/86p@apuf
h@@|{W%C"52±'ɏ=SdG=ڜ}z g\6D>y|hhh+9>M%9A:hLף4ƚWeа@
s/T
>ҞaKT[oh8]ri=ao9_wG>'R2frbb6~
	:hT.+V?v*'Q&iР</ Yզ*h޺?:Rm%9|0;_6xpʰqRֳ0$A9g>K)	&6Je}s_۪U~>!K'eMDXEuvO8hаg`ChZ# BV-n#8HGYk>KvQ-f` T&6Jm.!=?zE@#h,W c&\Mu?g{׺%ӥ֘E2T jݞOJP?oBOcX= >@QBFqԥFS_ \'2D<ks!`B7tuݪ<.puOr.6{;8h@рCTKUl
v%
@.XA)VXφ
!"h@^ylϊpNXq<0'SWOp$\FkZ?$ׂ{4h@ѰC0R-M{I[4xgx^s[|^v<@ŠF
ȘۤNf!}
*~CY
ȸ'gSyQL9nT 4k_T-XP4[|EA}JX@ԛAscd
=ν?e 6zrYdݶe!
1::z$;_s˃
+fUKrC4'%fAMإA{E$${K9}F]'P44L@aߑh,ttvTd@c!B]/\  ay
8<d&GgNn,
}}]!SdOʟI9)r_+3*wrPЀШ36$dZ#r-	4& wqGi3>h؁vАΉ|r7U&cA]"	l*dU!! %T(h|UySKL--͠h`gyAK'J(O
F|\*An
chYc3+ r+/Ũ`+=gS%@H +haW
]]zs]4G0F,Ȑ@sL6]CdHqΩK~rLcYQU:l]T"~/پTCѨ	Fğ݃>р]')no.nua>O\XLU7Ψ1F9?/ oq'.9 
uߊ
.Kne <{RKUѿq5 
=fmPô|4,'tϬ\#+l*<L}~A~|7]OQTwgd|%w'7<z(Vk!euښ;Ag=qFHA~UH8W?*h;Z0a+lسk%#Bo_vиS9֨:옼<ӭXѦTIgP!_ UWI>o<@
hm{	+<8TMz;2heK jȈԩpFF|+>$
\*p;Mұf4J?PnY	
XMmh#[cMaε!4C@?֚*cfq@XY0h~Nmq(vV'ܽb`!Q`9H~BҠ?5}Ec<&@аÁ
r,ݖ2unC~6,g|Le1AܘACWji{z%Y=4qFad/ LQ3A;D<Jr$.<h1
	
d4Q8o^`Ϣ_JhpK6Ǹ{-ߠQE \4d|W2.:NEΕT^^*#noΨ,O
%\{~uq帴H 	$(! ъ#8ǁN  u|Ow9ÆAwn<(0X1`#Ql{UFJe)ܭ OߪaKpChG'
P4:Rh)hqId6	и0Yrʟ;H9
4c56jq3G\	BIP4g=&w$PJ<g=AyH&t=߹6|_@[s|lLPyrZ{8hTN	(sn}*%j[8%Opth46,N/^t/r
hX2ڡ"/ȓT
߇1LXϪt=^Oׁ咊;*CY	x D*hT,W4dA_+&w$F^qo1q<AJBȀ]JŠhX2!C(ZV9 t,Xp+Iד.?*C@a
 
ު}qۦ*]Q}ThAh|.R>/oM	4Æ- c_fz ] 
C&]C_krʁjRI)N%d{~a 
Cwt9+]ܲʱq;fo8>@÷7 `j|:ٓV
;ht-4
'22\"FZV3ߧ<(64CBC

2̠TۨXVH d$ht`Bsn8mՔKQkr~CyF~J|( W([S4;h&ґ4Iu\Qj[;~e(S7Y6aЕ̉neEy2Qf=@4rր
ѠL{Dň1NIHc	7	L+JkQH&2p>:OZkժ]~ZV뷾*
-=V	OAN0u	4^"hh4Fh4Fh4FL1)<Gc;n
N!Pa/";gpKP>AVc
G_& H,4ůS * 6A#}4b<^[3C>>҇QJ9;rȜm˗GVF`,~sDĖ뛈NMTIA h/͠ ~X%yi޵^z칈q47E,
/J$2'r|^#F=kР>yШiAA hm6iXd`Gc(]m!
i xDwHeF?jƸc6
T4lz[cQѨlT4`]p@ash٪?={8hl3y?E`cQ2;55.`%9@C!?>C=@^rmG8YРC=pK%bPh	iEqm
h.h`Q5&#hk@[~U@8񗛝O4_
6<َ);3?W>nc6T4^dPѠAHhPшb1@c#W2z!IJ_kx۱cԇSDw~BR^
0 twC:q14g2`
F1F^рRp}U@iӾS8[Tg	r?4TcU	<V7ah(4ZcQhnu*N*A
҇

2JA*Jc2aq͛ ?YIgį/`
VH狤##;pi7SxW0F T4h9hPH
l(Ꮱ6A]֣|n5cʕZyN{y\5'Dsڌ36bW;z'v1aW|аAE@ANztT v7
^g\e`
--rf`i?砮`*DgZ}U,x
yz	ɓGc4υ
*T4hPuhTYRiT-ۀ\fZc]R~]|qϴСfZ L}`Q%́MGTEF 44sK icRѠAEC> ~tdP
#,_/34
 {!1>_uzӤG%,wp`#[+a
}<*x,Y?A:(*\[2PʴƘ㫀F<^ؗ^}0A
$KRih h>
*T4|@`F@
v2MR8LL`boߙ.aRnЩD^ HU{*(Nr4u6AcVQ4%.)T4he#h(CtZ@4p.8Sb
+)1d< (^;s`В{Oھ,~YYXoX^_&jA[ >iK 1	4T44ѱ@CʍUeyk`PC{/uV#)_̐;9q9õENwc549%q fA#dĿƬ/@b\ h Y-
 #hW4BapՆ[Č{L<7C dXOKO8f۵]f;2[(+R~ǋ_# 1ހ?҆]2x\u2T
6W4a]:ǌ ?R3]r	@ҥKt➴9Ӂ?ά 7~^
lBFЈt٦2*T hPhuEES놝Smbd|kٲeier&8pV)A
	 H>fn̠)@ceDИA hPrS5ݠ
 c@q^`b?7&JFYmD'#K]cx\&x
n@F\EAH`	
*A_! XV܍0(dRp-b)0u!~6?Pi>I
~Z`+Rݺ;[7xz}
,W0Fs{/6
t_}mӠaR  hu	Q!g?Qw	p<j}lL,ϊ@=dk@
,h$aGcFmT
e%6hK%pB0H#@PSI>Q6 Q7bd-:>hPѰT4Ac	oi`
6tȈi }L8'Sԛ 40~Ef;}(@U*T	H'\ 4t!#4tyDvp4hXA hD΃
4Z#M*H:dy6LRMH!n6PP媓#=h|l ћwqo= h?`#2C&W4rFЀ>6>4nRzG)g
TF<AEFh
A#Ah4Fh4FQq	|ͣ
A1"Lh4AFHK`4-0l.] iZkR˨d
AVbFkhXm s]eA ht &<4lqqF h}(M
ϛ듿U
8oh
n ZZ[Al}u]kTS
2 h4ln(pv0A@
o#h4`ق
{av_ѠE3w:
2| hPGR4|ﬢr"A{A׎QѠC] 
2AP^eh9N/o!C{pepA
hd~g5ب T4U!CzFN,d4hT4"F8dFfL@^ACFWAC-S'T4a#2RRѠ1S@;48u4tE[MAE#6teVc4ؐ
(hyAp\F|ذ7*UH
T48ub!cAР6зIɶ
f h 2^2LȀ)h3ABFFm?h谡CFnT4BcE0sbBFz ԍ[nW[@c||R)*	A#W份ꄊ
p #vAu$ 
$hCF|B
w.^2|*4*3
CvڧPCc4!#>l ѠͫB!1]+ŅF
;]yL2t؈<T4z
a
AEC.-olh4hI+a#=h1T4z d\(圔h4
aAuo	pȨA4uFLKhpȀ[*]LA4h/tAC@F8dWPS5/ YU!Ç

AcWe'T4M.-hxAƊaA m	A! WA׶ȨhFEC4YAC
/A#AE)yki
6B dN4h4h2ƵT4h4,l@AF@AE×-- hh 2-l҇
0EKANAЈ7/#hth
F,'hBР4AAF4F"4h4Fh4Fh4F;*{մ${zh4́<=JFИ9bA&ޣSMpM;km&ՒWdχU6N.)ı		"h4h@(V78uE؆  Guy?7)t4"&\Ԅ؛SHh1h`^gA#4W4  IȘNr}H0uBЌA#|^
hj6*w γPb̙-V[74M#wϜ?up"h0~!~_*T4^w@#E1y`ay}i]:̓@^})Զ59e$
hķAE#K1wAЀRFzE#jTɜ.yv39ǁ + ;
SY{\+W>L0m<.)(qکmECjTx4@S
u [hXRδ95kI-4tȰ9(
*:̃O.]t_r/Mh *~8!Ѐh|>tАrQAQ0cٹ 
*&Fno=8G}EC>i@#in\
e((eE榗±luP@_ey+
*u9$OP68.sv
E(~@낢}4?paNU x
o$s?Ì8VAd1iEe˖8e /kǵ)
E
x/wEÎ|0hBQr&'U+2Ft]8W1>>~ǊV;hښ5k$.ݸFh}χ!TQ"å0I0r^?5A.dv6 QAEy4LqWxs(hC_\';h>A#i4Y pPW6T4hDF?^ B> o,
1WV{y+ߧ+韏p#hS(Xޯ2#AEA%cEgnfЂ^ FFiAAЈ8u6-
h$0*T4bۊ+*/7Em&@ Ç
] h@y=F#iGA	M<\
pC#
P!WIy?J(R>\.HxAÁ@}
2W4Ohy>hTׇt˥],oM
T4hXA9(vLOO?cm.h{UՏFivPU{da.*T4<Kh@0]"k+>2m.v9kTSYO>hXH~^ zkiqNAwP`f%K/oAsYѸc2TiVjmñj
U4PF^7ACoF<ho?6U{EÚݜwԛްU'!׉ⷣm3x	Ahh]EC+)8FE#6\u/rs k%
lP;F#W3%h2:-61fWl`1
QR4nwl{
,k]Q4"x̠̣CFh>h$5h1J2{{sT4x'@Ch7*Hc
\4b۔1ˮ<A֧V49K!F8h_OE
*݇
v	JxhO &AaM[?+17%{.A]vFkOf9hP Dt`
0%5;BB;]oՉVYqI0^64F#h4<7@GI8NtHJ hh4Z̠
)Vޤ$QѠh4Fh4Fh4Fh4 n>|]Z^=eK,/gK7HeR~M|7ǨC4 ]b)4ϣQh$FX  qčڗsa=2%韏TA%aF[)[fSWZFXt阒D-[ hWr*iײQA.qݺuꈢA#h,(@| 1 hC릅/qsw4b5PhFRn쌢AE)~O!3x]}k"ha1{h4Tk*T4tކ] =VhAACR.^?ot!cժU]>.l`5ڠC(T4hPѠnπEƟiFzE#~ (oi$tX%d̝FXp܍s^F#FƨhTU1
<[p`AEmU4\j8hd?]@Y 
W4r.
2|o*T4{๩4fZh|1aX#{XBC*T4t`4oGAܝF?%>n)7VE,(YkMEpT4Fqb(vp469V촢AE_"墜
@+V@FAECXF h(fA%kFCѠ(3ݢU':hV(;OE~?V4t}EN6)'ەG!Ô{7
*T42m|*hpɜt2ryki@F>T4hO
*q!ё[uUMA(2aǵ
o
u2eEF8d43H]NA^4NT4AE#1hCc4ޮј+JE`S5{PwBmr ȈvP4{,h0FFl4GOv]a 6ګh[ɸhPH̣AE#2hPn+Pk?G16iGs
lH7Hӊ
*zEI!hA)-[l-UjːC|7ǨCU`P6Í
u	EQ2h0Fc$Fch 
EÆQ666IзzӊcF5AE+bU
2hPѨTq	тB/Fջ5ѠAEp FuUѨsrʥps핃>loU)8c4a][F|ohظƩ!#wE#)LNEc$8N
+{L}*T4-U4heۿmlNECQU40UsBT1	V﯍c4LɠQ>l$3*pkD
Ե(Ffޙ#FEFjШ8G08]w^lN^'AF_ LϤ[ު|9' &	 #>҃FPB|dh|	2'AAРZY
!Fh4Fh4Fh4Fјk%oScFLby3>6\}``	i
F-':ze0m z(2!7LLL< A1K!FX.>Sn]@C6֭[wQn`،zqĿon1
|Č%nPa"^!~耏D
!>م[gacFy[a@֬Y~[2W|Xczh3sL1)T}ǌKB\lL > >Y4:q-&A2tTByߓ!ѹ7P1Rw_3u76lx2 %:+ ~!J_ۿ͠fpwc}Z[q:A#8'PX[}3Dϴ(Fc&$^*[WaȐF4
T˘'X[ hS#q>f?zBD8])@
h{<c-SP.<:·4
 : 2b x
DX A_\hGA%u:\4pz@؛_ ,t|NS?oP4tP,!C
)_gc6BDWyWe)wCXj/  
/]`T;
q&[;q,bczHo	 zgc;MYPxMk(MµQ%k
dt4ZnP*(Q(Q\+ۆ01>dXXoƹ֜! x.ʕ+6>><ƯY2x#M6dwBo_pڿw^;ҳ_OlЀ:d4,{>K{0FF^Qr yeaϛS2<.llm}mU*j`+ ٚ1[ +Ƿ?/!,L\ko7S{oodWS3dsئ}FN_7 CYk׮=XhugDc#zP#J 1GoC,pmEZ4^{[zӏ6 ܨ~A[ҩ̭U3}n.w#M,ܗFF8dksRExc
r@ r@_~
vF
2 ?.m胾4
b6
!y@ӥ|O@0hΊ|
4iEJ^
ts8O#e:l萁)-~^)!A1׾4N4_GphXo+h4|7pzXSS'Au@HG
- I#uhC
Xޚ-h(c(4yS4 E+B
)5dhKm1a~q#Xkvoz Ј#٥	AE|MK3d6}?,[6l@	Ma9%MEFq^s"+幼U
]YcmMV3+^N"V8)$x}^UEBFbиP?Ԡ!mo4g5h  }?e7q
7Jп͠ߪkpmð+ svȀ!GѲR7 N2Am"} 'vꄠ,^锠%|66h_5SGpACio?lɺ/lh76P*KRVC;-?x!huh$pYuA#xԩhJЄ+}uF(kWU\h~[`-X!h4h2(Bht9frI"@J)Y.͂孯xD^snr,c$r~rˊF4X]{beqvSFU@`vQ
FUcy@f!ÓC;̵=[vF&;;\Z`мA#>l$ ApQ@S'gqCeAB-1da oIV^dȰCs۽ ؃2 ' [&F&}ڸuAe~>ugpE*`PFwo,LIL*pA,-4@
AC7x:J ruykw@ŘT q4V.;k4GmNwWP"gzA=Ǵ
]FAFΠ/oM@cm7aLJ®NF4<ݤz%*ǦAzBP6SC|&daRC4vGmLwq zջ[>p}*wix'2§NN+lO,d$̭17J #&h`"5ϯCHAx2񣋽>4Bn	9?ufyJʟHyԅ#|_
w?cE[˛؊y:ldoU
:(J50QC*9_ަjm"aN._I	H,Vb7
ƽ&`)=fQ,e;Z£G4_ewo{;cwzsw4t5oT
hpxxc&/ ^MsΖ/!~9WQңAATFK
@c+2lAWbз7Lc]DE#j{B
I5adN;_"WA61ӣ7F
6?CeЈu>d(;v4:p[Mۢ{*jl&h4CL/^(Yh0*op
4ӣRKcՉn#=34lG AHe E5tM< hb`=e(؀aK:n4Zz hyOvh
Ah4Fh4Fh4Fh4<h4eʚw{>|] ]0Z犂5(h4rm`~6hS}{\߳
Y 0 #hP
*F|x_<?-hdl@1ҒRk#<^%4W4rGЈU4$h
V)K.f3[˶D	u6xRցF]تFO
#h &߷.?E2t `xp:c
*T4p73xtK`S4hQ4m>'F ;l	!h 	U`A4h$+v |*TKwA;Ac}9KѠQTBAÇ0*9L7LLL<{иA@׏Fi+]U껯h
[">C	ˠs4F`ZΠCR%U4cD
*T48p9FEAN(I*mc'WX
2t05k<AE6@W7Sшf6*T4*!pgƦh萡H]S4иDxo"hčX\+Z׾`QøVJ%cҀ6%c*!ϡ
2t؀AECWݨh2GA# Q@F P _'>t@C6|@(A#4hP'KS& >GXx%R綨h%*ǖ>
ڣhP8XlkF4hPДsHD
<A Xx DG1m0r-h(1[2f˺S4 q?Ä!]k"4BN?h4
)BioۥpLR0*:lB;nhGI dxubV}ĴOs`Ah |̹k8Рe:l166T4p*8ECW,⡅4E^"
|Bw@o0F#'aC~]4
P8JkQb4қk&HEEC(
T̩1
64Ȁ]><%<!uY*+v>Ch8i &lAECU%zjm.iAEC
R`fAGѸ._U!Vuڎwuwp T@ămT4h谁}VN|%crrr
2U3\wqA#N`2R2hTS)ש
*mO.w!@AEg+*j?р,<r2B|*jh
&VdB
*ja@FIYmJh(4B*2*9yRh8T4BbHh
k1F
\
Рu4hP!ÁS(AcF6inAE#B<H*T4-4½;AEs
ddhT4h̣! <|($JA#:Zwb4hPшDF$lƯzVA#4bzdhR mh0AYh4C
F
h4AFh4Fh4F尺G;Dh ۱F486CՍ44F7_/Mpyo2SL(6v>lXfSqy83N^@NЈ*\TO_!)oME hT,c@_OKUц>9.#w@n@
\fTS?R#h^֠!PڒkM=H !PMg/_T1WEѨsl^QU4_Șz|>*k׮}aꌞ
*Äxk+Vd:иCḎ4	yo

<]Py}s -f[
,\|Pw_6"@#NRuNl.qfA<n|ȘU9ߏaηT4~R&''IO=66hXT4*{05""1R$Rc'UW X!׆颢!=М+kL B h3M
T4tR.I_.[v_I@U
*_`:K7&AzO= 4PLW4tAEJ;T@rR/C  &#4\F
?:]ݛsƻ@9+	
=XpYj/U&F?| %hP4tEC?ߤ)胾oF6}@㢾o4-[vBo
4TT T4tȨxP3tgHrq4*	:z<gg'boߝrnBIXl] ,y; opH`}4&c%L4W2tЀ7i@$)%vIhS'KɣqWe
@i@C&qwJ
R^7ڲqCM<`VO
 ~8G}k@CW3fݤ<?X+!C<7.Yk7
ezz176*t1oEC!&C-rej<(E%BIi4
 rԉ+
8Hjƌf0|~4/}0S"%m-#Mg'>ɠʹɏ6:	Q4)	hHނ%Gy / w~5
+mW }	(bq+O?P4|x#˕i/A# (Vvl
e@l_i%~G>
*}ˮ72JKEx"C,!e{=N%%mqԌTNLLv4<**h*Ҷ>?%C_m,	(A#
#AF4?(K1IeC	~/=>ڬEGKf?,S0І>Σ)u6w4bAB
ӡS&T1^<*Fh1jM~j4WY DY:1l1^.Km/Gb1OT4+Ӎ40A?%Emq!Q:^8Q60v6&sS$Z_L9`Рq\"D.	W4Fe:튵;aUɟ1jꄊF8d\2}"h|#eEvghh}=u
}Р.ڄ_"_]&K>,=.R0dtxQQ
6Qqu MEFz%#'%(;TZ$ľ 	P>eF>e$(%1b(~kd\ԐsaAE#dtj%|8̉;q=F}JmrnwELNk@FC>tyHxǱX;^,/|̈́]T4d`BGJMRC'ď5k^T4
TX0(A÷0S,iۆ*-+d{9cJl T4"Bh
h8j9*	
ݣ]T40[	dɒ]5C}mñjoU5kf=To |L5@)+T4ᐒc"'%ɹMdOE<HI6 kFr݄]cccǆr^IU4hRoEmV<pAc&AcQxDP4hA
ldN$
2}v4+:dXeK~4ZjP0&&AZ7U+KƄ:W
!	CR2hxPqHE֣_6JBcPРC9߷Z/hC\'#4=1<4WԌ`Р20fA:
h$W͟=<F@xQ߰jD6	>BFnN V4dT:^hNQ4*	
?g/7F(dA#_E#s!CI@C-
VӶY1L
.%!eA#<a

T~d(JSTРAd$T2CvH_6JB$-V@to!hPP F*[yz_JBB4Ry(
d4FЀ4*JB#A#h4A#WUmU+	F hh4Fh4Fh42R
:f4F#h467wF6x[bi`loPF57ӓN'<W9m˷rʖ'i&EߧF O]֣vhYZȁ2NXACp7ׇץ0<ೣz``)Ј*j)8\=G.+h>+=b"%#@#)lcv4,l&R6҃Fa:$E
F2#hh1!e1uA:`pL46ë(
l$Q4b׮oG0eE
*I,=h1@d$ 
F0S`;#
ZukX   AqP |΁B)z`g|;3hT 
*T4
-h즔
*|#
*T4T3DJƻ%ΩhP.
&*$ 6:hL6>:*T4h㎉sG
*
wz^Fmؠ*4ZlЀQ8T48@s' 
2F+z~vѯ!NEKJ~*

=]Ec
@Fv+O`c42W4h4XXȐ?;F{/8~ 
2sP4-[vU-sf]pm;}[{飥hPѠ
*h|B6[@ZGc4Ԋƒ%Kx\}w(<4niCJ
Gd@
2۷~p'XuBE#N
&&vLQ;ю~	@1Bрr> lVqZ
z

bgQL{kF4@L7L`F lV4RT%n\!1T4hx~P hPfF8lW4f;]Rw8b!)
[_/jG؎jO1MLb4
y֥n\l`iQ4%Wp	"
 yY0ޫ~Ph)hl(OU'шQon.tƷOP4zu*34*^vhT~
h0F#QL]+Z`g{(~
*׊b+诀FU
*
24J̠
ʣrÏq''Q4 .X1R1Ѹ֙.Q5OS4"Q#{ybbbu֭H	c4+	Nm[֍̠ظ2R< 4h4YEш]i!ؒ'4VX1>zWA, 
*
@96>^?= U6",o
ZMP4h1)	EF
#hlW.M
шMe[ķ%(^0%(S4hnFzEmOЀvSs]P6N< yNR u($<>d$ꅀ
 2hPaCԛq\`ZDq֔&bIY>PW4P7W.)]hyv@#sʕF&Nnd?}@nFF` C h"]f#m4+_seJ-{d@c
q1 CHnQ51Vı3I\tڞr
h4Fh4Fh4Fh¾b,,FhdƏw}xQ4BoLʯuhCg\-6ILqyUs[[9e˓4@ځk}kc
JV@@,54}5Ƨ44@ElE#-=h`CKzE#U;nk֬yJ\
U!fؠY"}<@FnEP4/meoeaSU' pm>l`\P+w7ㅂF=>֤)ZZ?t	x-G/02,E盋nLyAE#}kh#<)ZbSIi"=n6"uLEC
*̓|dr+~BƪU~A}\uA	_<~A?wϗGEwMA1J<
D{];GIѠQb#h4ě.4}iQɜ1mǉ&?pU(hPJ聝lP8C;h(գhaQe#-J`Eئ~B
yP) ЪE|) ycrҥ$no{*4rT4b)Cn&jƄmX]
ۮh?Qez]I/Vdq\eL6>+lsoXZﾶ*vNK@c}ݩ6zwꠏklƢ11?`>%H[lZ}dXֽ.z`)Ǹ%}V'hU4t!5A=$;99~Խ5.h4|?~@y.rW@a
$˽E:u-GƗ<wev
@]X@FS'g r֭[9l79{wU'
OZ>`"H]HSz@w2W^=3Qw܀OwvxIn\;*v)]3ff_$EX =]
M2Uu'siLLl*j1_=3=.dͬ C}MϣnZ^'/oV2SCi85la"@IP|2֪(]uc.T̂t9)*PqLM27 \(c=PhCm?*@2]
&B*oS~ʕ+cŊțEzi{y?u(@,Ey{詳~z; ւ{XT%Zh׋,R0JIE=S6VS ƟKy,{|Exc8UL{SQ=Uw|U#~6L_3*+Q
Z聝uAѐ*Q
6ËpMAo{i@,V @#
T\"=G_L0c? ǇǜAc[?N)7Xsn)P,利3h+ƣ@UxA):T456ᰡg~N< RnNo.;o4NШ85U)Ǐ2%pH-E7\aǙ`bc8@v (Bace/y5s68߿
]$h+q9M5Acsilߩ*Q <o+aҿ.638|튆9m?ڶ
 DjːC|7ǨCvVPUP)_hz#}NTw%_ZЧ6WTEj}yʱ)V [OO>
2Ҋ*Wp$S5VQ5J%o!!<@w@zS6!zۍѐ`	~Iqʦ%u4*? !(
MzcLk>3ҿ.5EOaU%[hP6ÆQQN ڵk_h@qo	@ю~`;w WZhE
2EuI	H,A$r-:-E҃
F|0rYZPYv٣w,q=B-r.Sh~/\'t;VLE1B ;8{OvQFfb#4& xz]bddI-T4{<Fq287ɻKW_D#V`{Mދ=$OQ?h(|^*7L}j-4{dh.444h 0  aȷ7&hSSSOIuk%WTf$@S)T56@\2BoߖAE cau
h\D5f rBWcs#h
-OРAE6tȠe	ոgVOϸy.0-b`\kJs\CV@EF1 h2ڽF#h4y4Fh4Fh4Fh4Fh4	%v>ůoƧAKWO7Gh^oM	F:(NP42[em?v
lCK7.PhǉH*E%Gh-h[×D)4i(J10\̫m|N4
}ӽN &44(q/>ohp?4?^2J[|ul<DPc
7)?RG@c=ޖu@T6~D>TIfI뢢AE~̼k>G9ŧ63
L+~weAĘh|sgF,չ7>"ИqOƇo
3e~cǏXhhl-->d4:l[)Rn,+!8胾򘻤u)
*x>3[6+T4g$&3pRǏ
,("b
@<K.ݷ`|o{vCѠQ@@ȽѨh \aC_R9Y22)=AHΠ1SN>hMbhhpw\rRwvGѠ@/~~0FȨh$ FaCS.m	v>	G҃RIRN8CT>N(S'mW4p%?WCـ㸤٣hP@[Օ9c4hPPsB>Ԅ5$8~8jv\?
Ʋe2*T4|AEC7GlDH၀0ZLLkQpg? ̱g\%epˣhYIr/iۍkhP@}E#kQmQ4 1M"d|4]n:s
xzZX0Yc,#_ubێBƙՇ(6Q8u
hPP`# P7ԽRd\-$~DW23y~~,Y9/a>aÆ'wSec 9ʮ(
*
ld
6NNNWpeHנd 2\3l_'}sN<EP^(kBaY8ի;y4BlFy4t&hl!CYa ~$TFJEc4P4VXqP^ԆkFOЭ@XF"И^>̓Na2&	GtSk>Wc&f4n7³hA4
9N?kF/FCu
qgGb=洦.haW?!:
4"*v91w 8cm1!_2h*4`ToJ2>Wn>d<.Nx9TYuUEÎ!OikhPտѠ1;j :[PV`2:~үQEcfH6{ƪQ4hA=M~XZ
35(q
Ya!~eMoRj
jHuEmSul*T4AE#h?G2ޣwvA
&G]#AoJHlW4h0F#Q4CRcec2r5ml%hh}EF= g
*7d\e, ~DX~ hP(0*	,A}y?Ot4h6
L4
k$AEKH!͒Zh(Fh+l&_	@޸"F1q	T4hh?ȡ%hdlT4
ݧ Ac"<=F|ENh`}M x< 4h
F4Aq!b12/0F#hh4Fh4Fh4Fh4Fh9Fh|7ClSn'd-(7cO
ߧٛq|2Έ(׭[oE= Xc	4}EЍ] iAS'賙uA2fAF
l:'!cO;A hߦ+Pmz -F
*9ʆك[jР4hHРAE#>d8>l f[$, Se||BRs1.AFТ_mL[[
SY{\
}BwIy={E#sR>v|pOi)n1K
S.JW*S #6T4:A4:86ҥK-}/wڶF$>di8Nx[ghPѨ 3GY 8FЧylZ[؃}+ ʛ 
@ܱrg>pKm~?\=E#9){ȐaA`}Ï{AOZqn©@:hԄq>
*yYzE#eWCـ㸤)clN$=:ix2FC|[UmT4OLL<<~r~;8F\Z
hxFE#R4-[Pv\=E#9)Qp# 4)znC
dyr2EXZn/h;FE#2u$%0^Ҷ׶4?']{cQ22%EQ6B+@Ƶ_vs8Fi&Jh)_ɫVz#-Y|ǨC[]D0Z6\'h(JqW<̙|6Fy4BeB\HݜӶ;n#DE:>C
*K,_@qFtHs*ق]Ax$v'F$a(:v?57|NZn;h`L0xdW@ɐZQ94T]H]Z97f!cDVnAEcش\Si厁hh|WK(h%cA6:yJJWï	cX/j5mV4?'CFU
EC*
>Hu832)oN	Z⛎h@8
qvƵU 1AC"x (?!Ec>@Ѩ3kAc %Z4h`ʦSH 8ZLܾ6cЀh:k$gAykKXwRܶ+rgUgFPѠO5
U.q
4 Gͬ.73F@CH^]]:*1a׵E;^9i D$6-=РMK`6_|͜h EESU3$Sm=UcUbEڂ{?޷sg!gyX닚$~B
oAv>d!_Ġ-O$`ACW5DhRԡ
}*@^	dVU4՞}
!CߩuG[	%ZJ
&`*;;BFNIh~qXښB䪓9W(;o6mlmRA5*h8C܅	Y]pN4h>ԁʷ_JЀ:PߎC	K
bß6ӱ8[hԂ
/NQb/oݰaÓ
@嘆eAZDxFTSL$wjէM铼@a}sIAME#}. -4
hפdd
=D/烖rA#2CۊI4}ɷi`F hAwJ{rFMt4FDѸluIjJWTrBg1܎A}M&FGY/J3A'FS}h4AFa٧Nh4Fh4Fh4/N;fzk"hpdQ,4oUMg8nFKF?˂" ˻K}Q*4
drR?FFh|]^:u{AP| P<*hXps	Ȑڃ|wiE#y7#'iO]#h=MsX@BИO0VFH0Fxh%xx]`#JcĎzA3k/~L8`<At
=ks
Ƶ~;v]6CF9lS4x.]lDx5Ѡ?h4ty2[aWYuuތsK |s$hM <Gv1oZ M@xMd0k	K.[bA86uxWm=A#E'5k+>VuPXhDC`cA/T!誢q:^	4h\QNh:;> w l2^4a8g"58uZ) &&& B=>55~.}Ǳ<ϓdt4u]ǂ7hǈ9Y(qUVxQ<p!#kUz5AQOHy38F]ֱ]Nj\T{^r*ԉA!&  >~2ȨGӿR>lqlA E#xT(uhCAC`<x9~X8
p瀍O
2?8Ǎ nz:lLʕ+J鎜
@W]1@1'mQg u#h5 
;<Mh Ĺ׾:$dě>YoI0(`<w4*[ѐ\Rc
;2CF8hhN4.Sh 2BV  \gNPҿ. #ƼW6tS,C
P4:s~%+
cx:d8qR:y1tAS%.6lԆ># *Uti޸7.L @F\W2.4\}@9(lXU}pN,h@FE^LؼevK S4c4|}ÀFJA>Ƭ{2^*EAFzE#yqU=e, 4>*lr)v	@IS, h:QW8 6b
2<uo 4"6
pNdG:vFQG{}aÆ'd,lPU6CAC+blD)2T4~u+[ZgvAe@AAr+x8uHXBo@%RS4P\=lAPIFlpD]k׮}nY_y +h 22$F:h,DVO4^rаgXw4h6o.@pv7L3^ߛ#Y~[x5nq-øP4ekb4tAKXAFhVܿ}xk5~CFت}6e ]^sG#9hq`q h4h#ʽW]=J8.ݸ6k񙲿ٮ	pnЯ6:lt4uRav/8
+Bk ; x*
~w[@~
'NtqC `J]{]q`Q6y>F4J$^	d
k: W!R6#(TM7:ZV55!T
wwv w}Cma!͠$I	VhTFukYi[}-f7KcԡKzh\!6yƷ#]ޚ`Y}Ј6&F#hL+@ L<urE`u2 e@=}||| ڸA⃆ƺt_a P^HQD G>h4LYQyUZ.ooYrӼW9J&lPh4N`I(|]vI¯%h7_ٍlAF#hֶ<Z
\I#pnѥpr@ckI7Fcuj{NF#h7$577F!VCmc4Ah4Fh4FhS#rwH rm^<8ZۗG^L{~=ga>JnFߵk.a)h5nFbB0
jf><e$"{ %Q?^Xav<>
ʁj#ܞzmcn郇7G{/2$D)dL+X<пX-
,[!~Lї%}~(!6h: Y[T0!`t7KR2xXb"jtJ(Ξu)6t}6~٨i+!f_2p^4B`f! 1{
@[Na%>_
ozMG2Dɰ)\ J[@&y{Ѐ
/F8TЈ	Euc)khTݔ#>W@#dWIFN橩'E8
B|
#>Yt/:ov:Xo
V92f|
u
#2tpnaʀk37<
"UxU0@p^(>Kp Yr|P*)IF4N
RJ&P40}Yfͯx
u@
@K}l
?&=8
@P {؄+&&cޝ\{S4N
@Ϥ|[Шr$hLV
u׉yP)QʓP'j?d6^y~2sh{(
+W:PR4l*LHrPrA _oHy@K(SFQ@
;i.(q+/S
L'^w>>hH&K,s& n0(L
- -pXj0K^= 9jݏMYpcmR4
ƽ~_uc4t辢 Pv^SO`SC^UkٲeN
~BS&ǨsԮ,`2ts")N,h/+K,wKV A:xVx,TL̡]660`@cb
l4e4v[΁FA,ʒFd_
3M<ҝpm#F+	 X4a.%Qߦ2Q48Jംa(ZB`<WſA>0uҴQ%n
X'XsF@C.=.
=FÀi
sPmMzlYAШV 9#F;Sh 2 >oTmd-}&Ŀ +w9@Fyܮh(S;:ɻ̝:AL<L\0oV4c?mඟi;% F#AECo3~ȍEiR8xp ZO
`=(#ǚ{yg
EEYU6lA%Ç
- eTa5=cKRb4ІY}' 4O|֭Z`eM%F#ia(Z	 (m]
<5#ZȀ{ϳZKVsW}4h괢~fV[ފ(ދ)[ފ]Q4D ;j=?LLY6xUIA;ubAACQ
21uRV$ĠT4\ p!GĿȐdGkYٵ})>h()o>CFcF8lܩoѐU
LA݇!)R]Uֶؐ3v :.=z?A
2 _ /!?m_:ϳhfNL?h&,U~dUǝ`|@E#
+Kƺ2
hVO`GWM
h\K@{ly+ڒAFh4Fh4FΜ:
!DdR<CSem&xSO%7^9eR~Su~B,u4JToÿ҃A#Gj>
XWvm'"h;+ȳ*hqW/n@݄<-B;Q7/6h$aϻ!W':~Z-SXQ*8Gi=U&
@fh8*hqo^2]X[93+Fl&X_Aq
r&&h=!)l  *T|5oG_Q_z)AjFQmKuXUjHhgc|`q^pO]PHPDU4Tؚ;3`3 oE'7RwV[jCa]t>ϝ~N:Z R4w8hѰ 2SQ6@CQ/ڪh<!>q5ЁhXS`]ѰVEшМ>סnPwVV@#ÆXFȡWa}S&Pߴ9$OWn*4|"2h{+
c
r)W
_Q(3h>Jjb4(Gs?n[ExP9A`.Щ4O|Ȱ~76lȠac0>VQֿFI 	H
&;Q<ɽ@VhTU'
?jۦH;+}) p=UXKh,=fN
8Fڲ 
2aC@cA㦊X4hZѐ&eD/R=2bHg
Ԍ5穦N4EB;]uRh[zE#Yj
3TY[ln;c(eq8ڣMq1G|cuc/4D՞l	?nC
rohBo^-I6ހ&s6V(Z4bv_*T4JߖMlvV,\C(SZAg6Kh@ui!]^@ªOVT3>]Z4A1AsaĞD 1o꿛irS4hcYhIFϖᶹUYRXSutLh>x>:ɂ7+g~E7S 
4nV/	=硰Q+FC6}K`P
6< so^gcůAd]Σ_(ۢU'ה-omuUwVj}ڇ
x7Z
 :hܭ>)<4Wccc2bF,{JAy.eS'vLY'''q.ohۨhפP4,oUz	eF`PJ]eШ-
=`@C0\
*j!#ЀbPM562a3vīdC۔K
_M߸k\0mQɣჃ=7EZ
xV
44Hw VVшzRW4šS'3*4C{OBc4zAtfPLؼ^-KA{g(/4*NˤqB =G3+8GHVѷ`@#§NhXU%\N|8T4b-xĿJ&իW{k ؍hT)cuRCA?Z:UewjS'-oa(7G`jqoi7T
)-cusGٽ:˶GfVta#6h-`@.h4Fh4FhݑviYGszcx-@n5ɓs8)	Vf
Gc4rv
0Y=N{S4~޽Pe4_/PJ ũ~HXa6W<]ހ 4 wB]Vzz#V^qb<'>;hqzo 9+_BVJ((Rܿ7xݺJE+A@fSN 4
c	 XaLRV+{	N:u6@:V>m2Pֹ>uW4
Ѡ>hTYurJ/F}(պtK-EC;\t;YX _T!o,;X>.~]P4]A˭RnIPVP4T*3ٓ~WF4m˼\0YNp]& f6 7(u]W4~MհD
4\eZ>@-=uҥKVXqMu1ACKZJZ
Sрa!CT 2:*_$ݷpRL
}i8:!@B;(IEC4h:^F9Qv !CQ4jxK,dLMM=߮ܨh)CAÅ8\&7!1`$i9}EW4\؈qQuB
O~Щ
jYzUd]Hg4\@^8Q6(ALZ
[q1P2~,?`FQ c(m9ujaC*RĞ)pOfmИ
$EPA#DPR4,\Qa$h@Rbƚ5k*ql邢%@p0
dk5U'qUL|
`6	V4m}m@#} h9v<	榴i߷4@ӏbBsz2bQj+W.~S'<?И~&Wy~<7R2#Xрa.(q
p>g̅*1^z!c:*>8{>|*F@pbCMb4 Z M(2.5(
l\JM%~8+s]Q4vu	]IA;IXIH֮<6/
 (C)	^@VR4s!NX0>jF5=4f5e?@PKXT4JY1@C#aoy@Wz 	@c!v5uh芆yu-hΓ o^U'\ު2FdY'M/&öYeU᠑?
amWTZFDͨ^'Aú@/߃CͣQY2rj?K`|%P2
&J4l& B?0 Kpr/lN|J`'!S-}ՉL,j4@mVSMV@(DcFwa5'SU1x<8hЈ2t\ʞ'9ު7cj
ZѪH&Qиd+ksǻs*߭Qtzw{h4Fh4Fh<1  C߯~c[ N?^uh?	8OӂN<VA'4FHp+
@ïpɽڊ_	 E 9Mc%وu/i,2o@_Q|zA#aԠACYfA䭵nRI+RgŦS6߀uhdihٗ? p6;5 
JVX"~,*<mùZ~efaϥR2XVL{qy/K/>oXƺQ"FeU˜vdG(]2j֞ p6߀HG
 4ʲ9h( K	*K S'0h`*(qzk2DрJ@
gJߒ3.3?5
d#c)6C$YT4|"0L(
hIЀ0y]>ц]:lA4.>>hDT4RbECYd;
@ MXd5EC/xZ;RQ=c6
0S%(k*zLƜC`,V@<Ɵ9Pw$qc6@,Y?I|J>6h:`kƧw8܄[he2	4pCF
7&jg!o2~ʶ*U(8S&UveL6ǓvUJLݤh1vm>(dTTu
[؈1~Jt
1
Ao7aF⯒[ŏw߈k8O~\jE zM`z اiRE-Pe 4.X}T'd :os]Q4 VʯhV (q^U@͢6g*f2h{dضWSA EC4,l
߃7 d&nr2r_xRQۣ	(,n{xĹ7tF  EAcȊâ\lq@c) 
4V5,u>6Pj ߎmU4 y+ɜwP4,⾂kpwl4>Q
(ϰ%qz\ڀ晀* "o?jϛ{ON
_s}iy>4u_W:#YFzE@J~?oA)ϠEP4:l({>|U4&\|&4l̆;:hC?s8G}Шm2^ؕEQZUl=XyW2pv>?#qmؠ|}δnfOZh^@ս, yO߇RFC?&0Lz7 E۠2'*E\1,E߷hJNNe6'5uP #̊Y`j4`b4 u^jIhCi7F;5	Pl|N6ߓUVb5=,q)A(=?qBBECN+4[0"R}w%ڰl
}xQAv*6pw+]e%۽qOjA
jՅQ5#K6~Ac6D=$Ʈ0A0vǁ/|sҌ`Pclذ
7y1[V=yN-{E#YsE*EΣaU;or@kQ21|hIaa#>3GW@RP6L1Q^d}JM8h(d<u㭠:&E=RѰq`FV4̀*aTvE|TF(bF̠Z.=Fo
qfy2LL]e~	|{
Y&D:|8d+ϣaac/N(^ )?^q4(OH-}
p-.1E1)R'
a*0SO
Z<s$Y}ˣ])@Up<)[Agryu]o{*;\{Dm/12f%wQeS5KAU:Te7U^'[8hpVFe{Uk׀6J%F\@5=ķh4Fh4FhGF1j1߇ZM8G>=?hr?& \@Pf;ACOîu4
4N~'r_'^~ǟ<q'ON0ͯ?Jc]~Ѐ4*Xᠡ=;O&dXyCAJ[@Þt4N8@c>QSfGy^MqvN[d\-ٽ#~'ؠ4
}`
6X &l_dFCB8~yMȱ
S
-\ cgA*MCA>\z[LXkImW
'`S槎/{1'_uGͯ~k|V]9Py}s&*;Cؠ?Ǿ
4z$el%h4n3l
s;Q6%9ו>Ykф
5OT4| WU4L51y.R2e7(~/3%1 {he>dx~-9h`s5=,0M6346\>(oڜ:Y#2bE7@ Q<\ڮ=%uolИs~R)w9/ֶQ4l-.hďz^j?WJ+7{Q?~eG3
^z$k^:ت/]fe.*pR4N-&Pr@Aiݫ˰S ។?c+T4,d8~quax&p$^&dĹ?	Q4`V.N@	yۭhY4]uA)BpO1*WFqwwq:hS ڴNhqȘF hDS4.͕HGCC
)eCF9l	V4̔yTڷXb҅C9$`aC1K"%V4| Tgj
Z4&N$ΏqK&&׼y_vMםqm"((%х
lxjJwe\2|8pa#q(ȸ mW wIMm64M{BW3F
dL @N}m6Rv+2hLMA.VeOd15h;iW
``ZVxđSVAОgY=3gc5U4^ E
8uv1~\Asw^Ш~[J `;ue~Z!"Gߤd<HG1ؠ4^"+H~*YA|V?h{gA>1zQhOݵ&(UȀy<uFab2>n~;0B)b4.oթ= @c.^hXЈQY ha%[JDލxy4`ɴU`fFzEW_sƞ#>~]2#iR0Vdh@ck	,m 7@c9 -K0raDXl0d)U'iBZjA%C
( w0elECFY49~+!&u(sʣae+y4b+I$
Ceɋ,;tGܸۛU&Ql:@}i4n?MUڪ)2^@h<30q+|Q6~CΟ
Ǳ 3ͥ:mv@#gh 6l(d@ʏgJeeh艌]wJ[)˕`Pgf8r 
̣>F[e3[IL 0Pҕ/:f
r:*Ydim\9GkOIck 2p8{`iFb7р5<
]Uw)9ڔ*L5}%P.F#Р`d<z^xHQ`ps8@Ʒ6uwϡlḌ~XDL!.wmJ Cno]JjFN8Uy/_8?TXZU훪zn@=qxF}
 n.
Fh4Fh4JȨNUDX^֐t|mWb_/yx<oL§=Xdi#閅\ONm84\z]q"mL4puK7^_`d\%ay>e'Ѝa $Skog)(Y"Eii~432Q na_"Р	&@#8uR8X<}>؂-d&k*uߤ^<$W1c=^'hgvV&i AEh0f
Ӵ]lаkX2˪/p,ED~o?u碨^S3
ƈA#E#dwۘ:h}CԱPy Rq[kB!-h]Cm~B9.q
}hTlذɈݰuU
y%w<Lph
P[),*hdf
}w:F:7eC6k<n1xҥK$MA86uiM	xIR]:8{:h[;˃(AE#,8r<E|Eqӄ_FJE#|cc4.³S4whTrs΃(= wE>(ך+v$N`Er|۠h sJa_q鞢h|]p}b~.ph"O+4;
-u6jZo6\ȨOF(@*e4J+dhTl
tυ<G
*m~K@Cq0
4
l ^aBSh(מT4mՉ>m2gc5wnD6hFzECYe?c=j`?8FQȮ2 ۤ1YuRF99+P2Ȼ-FvEc64Fÿ&ܷsϢ>-ry| W
}=ww議ݕrn6dE>(>CW4AFޟ
]ōcn>T(tN/4`?/~
4]=
Mhغ__.}qk|U=?wES4i߷TPE
ƙCېt1z
z=1>?VeAӊa/o
2ڢh[S0'-o?a$rykHh`zz
Fٸc2(>4V4 Z.T(6ի,uM٪IV(xX4{Z̠k,!3(G촉WF(pe5n_Zhh>.K
 
m
.go5LnF gfPzmjc({ZlEU=acx
`|аU@CkAߴ&}S5h|۔?p
"vMո{k4񍛪鰁}=FhDY<ȺZ[l=7ͪ}D"DbnRWݷ*6Fh4Fh4-h%S6gdWXyW,x%7R>h{Hf{c̰@CS_\f/ / Sx'ACOB6gҨ'Өh
XS*-ǞO:laFSRUwEao!pqsKC<hv@J9e $4FEC}a7vzX<遨>Qmf5߱w߬-
dD&qӏIb@S\Ȱ6і^!UO]4êbh<GBTРQKo(ߕV4_eE
ȝF	gug[GL	{&)
 9_6
dB\M~%zsq[kj؊ov6V!.hQ 
/WXߒ%K~Ǧ{DeU@16f">m'}\:=`ߞZ}`C@#'Ec||8Oc/f8 tcA_si<
2Bhko1ܻt1cSwݰuȈhh)b4tZŇ6*4*ߐGƿ'Ft辢sofC|1m;h_2@#ECx>IJEAHѰP?ʆnOEc	u~;
2R4ow**j
4h@p]^\ 4~!p^{WpV-#_dWNV4U'6i`')c4_  E=`#6h &%P2 kAj.l(;p矒eZ%_QiT;8Fg
h,*ac6ѫ X$$FJEcjj	("6AC_d802i)6g86u$а`8^L4ʞOQBpO  D5ɐ"hTah 2dOVę!>MQ6:0u[4-^0c4$&}e@$hKXmL=f6&C_**3掦T1PCAuV(N)*W# +(qN ẹ-sqXS*0:qw n@~EE*̹Xv1:h|^~Ft0(2@/` p˝˱R9.hQu)ՃDK
ԟMTU'r~=ⱧͰAc+&}&T	)Bb,o`}y*[S0'*ÔK6lx2CE?v	+%.-fJa#4TrU}ZE|K:yUUV3z4~
J7GC
Q1εa#_dHZJ-QFzE<~@:Q- 4 )W;{Ц|.$\j!&#~}	WW4ӦU8#]*h`DoѨhkqXA1d|nD.UZuy
go5LnFGc
 uhT\ƫ KX[ޠF h4oҪeJʪ]S4hgL}z& oj]u+6Bp{6#(C7G"zh MY@:ec;*hKVt*FF/
ZKvo.P2j>
wxMlJ{?㡔g\uh4Fh4FѬ\0Z    IENDB`   2 PNG

   
IHDR       ި   	pHYs    od IDATx^1jAacLܧrvK	
9Wp2WP:W V5yaq,	ON  aJ˕#}|M3ACа/<xQ!hzq<x@4신AC(OOOw/Nh#
KZ<fU׾zF5aYczγW^y1
ACIm3F}
vu)hD=bel4xhh4vH4V6
A#˾hF)e(/m\?Cɸ_4A&!FњCվXb)h
Acݶm2vF
'zQO}i44f4zx;h,9ٌBcƠ!h'g'S3FoW4"* MY 'M	y4yh3 hhh44^u,hL-VMFCyK0g4vѠ/<4
F{à\à9AhD4^ppCvV>iܰNήn4oxjK[R@H44N<x4 f1"F, f4{0t{jFCÌ`?,#Ohh4r{֔ss)ulhd	
F~<
AC3
M4X# 

1ש
<xk6JA1
-W < A<            J F BШju^_~}f \)?Ghxk h3V° gG*X[Hˤh8f7f]f	袓z E@,6ܸjMSnLm$ޅRy6A4\&ߦM<SuhW49oж8::wMX'}owoC
#}H0@AEAYOH˹[ؐ1
AA hgmF+4mh'mLˮ^a?]yT#h4R
4~jPt=h46W46Ј"@C?qxxqaCHT JECQxhwSYf݀>T4ze'h4,I7l
@of{ssI"@CV%{
{"ch42.p?υf!
h4pQl
hX 2ƻ\cSi0xАhL[:/Eq||x9uKxƽy/争J!}22\EAPn_7AEp~xeL%Eq)wT4a!oLxay
mP}}_P h46 ]c$^z%T$c҃*uP4u!$T}%_*xK|#ac-@̀ƃAH*4hCbϴuM\_:.
*) Ts=ar/
05(yμ+2t>d\P h42ZA|C輗bmbP0hL|Vc{{m%IrA5
q4>1[jIcA[h;X]\Văyq/hXѸ;427p
 ǃX-o505oEEޫRVzThć
hk
р
4`T>l @[RѰaP?:ytb׭Bb
{}A;@c#6z*xh@_~I
uXҦܻpp# a
 
Ackm
c +5ajo~da_XފS4A h Nڼ^1k4cSҥS^[ VF~Bur\.ElR4}`v
h442
YG>QjxQNc_I%YZؠaȫ%I5T42
{
;nnb@? 4-6ACJk42XA hl6@#h ah4{M<-dP h䬘ke\56cAB@16hectnhc#~OP3qEE#M%4hhl<?>\ ;(<F
#`{ȊF~?hXS!FA hx*
*66$
A h4Ѧ*NlقF{Ns* 4XU'Ol
q~	F(EE*1;hՄVuєBP,.ڍAMh0	AAD(.T(@Rn.\Ej"mZJMh:_g_;8oȷ>~w РcNAxG       ~>mŇl	 6(%?O	]@F*{_Ogܣ}Ǒ'c1yjnʨ>xɌt(4>c_13_5圝o~H5WC|+dBQ<bFD<g!+5?hFyX{`/AAA]VrBZߜyhؽF6s~-A
51nw,Ѱ8H1Q\uH m(o<

)% f
,܌4_ٷw7T*]
۴iBp
<l C{u4hR.4c'4(4A^=(&$F9GQ2Gc"ѲpM0>8 G٠!PQYG)i縉5\G":ZXJbU1GIņS!60RdScp 
:/1pc%ԮfPȨgnt4|Lp8NGa&~Gy<O_o\o%Åv:پ}{qI(_G#ؠ;aF$4*s5)%3N>,PdtpP"JeR)
!&xa|_uGx G'c֭ffBi:lG'2y8;ߦQиҩ\kSnt3MbO^
1m9wvAJ]þ&O{Юa>4<9giG$4
:y;٣Xhv|wpGaWMFQh{4KN$w%/LGot`F<o(FhTWB lPhff9֠Ć<?qI}NhOU Lhlp4v
g٢-Gc]J(DhՉ7,=K8XdcFu 
G1`
7٬ʚ t%43$e:l?Gc~ARcIbl|w
s1839!<w

) '5)$Fb b#a]t4y+~Dh$6pze;H!k"A%6X}ĕTC E+$r;2y`W~GKûc)e$Og 20W'Ƥl}	G_rG~ČDPlG'2y9u4h,7)@S٣QeTMqv|
0e^L8NsјU`$fr]t4Bg<#lG%2y؆N *5:*BvFgճ+d
ѠJ}Ge2'r8
OI粿
o
mI7#y8Nݧq2+^
:w%DYOOO5gc|&j9E9;7&16vCl~Phv4p"ÝG?JGCQq5WuV]$vF(b!mxqݳ1eq4d~\У c
@8_f>k)q-?hw%Ī{3j!D8hD;`su/
GV8wh
.\h^nUhHSlU?ox'V>Gj٬sp]h_beb-48hDCo
:|1eu[G/4(6h܌hG%6N
W'x!s*,<`@%"ÕGeG<b˓q4}\lv}OѠ!РhJe*6Ȉ4ъsp4`b#0!yy碅ø=b[b 2 y@G1"8}*it`AhArTAAAAAAAAIWq
E	8Q#F!/$@fEDFWeW]ݰOf\+.;(1$o!q#`$wsOssNg^̷nUsL2ɿvRq<R$"IuE/	/
>?)r?&0tˈHARЈKRHTA߳
u4|9~:a]_9;
vk
hॠa{}ђ71
9:<M 
ϢI9
-S,,X2PGC
u4ls6#χ:3u4|$+hdp4&' qx$`_x-PP5hl$3$d0ꏘ{=ĳ	#Ħ~
AhA7A<53`_-Pސv@CAC|=>	_>]
h(hy;d6dUgPGC
}Sffڇ1c^:/^ ;먣
K<o*hD;uP1b?{ ߝM
"VA6l!#c=vځ u4ѠLvݼyxu~xG cyO<Aҫ XF*R
{ذw?!O
Mɧ[9ׇANFJU9cC$0:/l2hP
aA>hf~ѡ&8dkh؂[eG{.FZ;^` XF\
hh5$cmk6\A;>hÆ:n^{,X`~k}cmkh(hp8	Ė8E6}tРh qFY  s3I$x.NQMtM=0RG=0$y
j;	x	-i0Cma
"GiV=3"q
`|jЉ>!944hVx΋ywt V0
xl1$8pvCƪDNkʂ]D_A%\Z.sȎmt&h4ʠ)	[(x*ʠ	m2\A#Kq00RXo	r2tC=lxzg:1PGkܹ Eu48d!
XPiFӲ8dh2(9dG a$ԃhd(h}2s4ܙ,Hih}BrOVCA6&Llb:65(N!	:Aذgj
BG:;ihhh<fmVheq?4+h\d]ڮ2mfwhC.%/a~G6Iah8hCFR
>!#u4
W2"/emWA#E*4n4mj`_[RO62R$ubg-l3u
PG{+gf"3Wc~	F\Q|:r5$uv%8Y/]=dFAB<돨QISAYj׉j]\۰O
Vࠡ #xGCXߢ?b
9H󡎆F`0*,fx8"20`}/
&PGe@n@C*n
m
9w4+|GCs4p@93<M_Lrpl`ismThj
*
{UK]9#|PPGb#{E9
C:jJARi@PGC4T*JAÿ4)
JR4T
*JRT*JRT*JRT*Mh?MRTn)ɗ616tFt}XPE=- " 
u4T*J
$(\ɷ`{]<)c}:hR<w񙬠Ar0hpXCx @Rt!6%5?ˈ3fLiqs 3k@GDy C-Mu4PGAF)Q,h(h1VJ%@rϱ>:.OFWh0p4_,>hWV
0,hPMO@|
Hqo{>4w ,ףQ/!xNɩ>5(a~ѸdP
u4  GK>Q.	NAC|=>	^P4Ѽ/Aq	v8R$'hI:<w
ӣ>ut4$ܙ`QC b*9$Sv1,ףZX<Lߓ07	֖htj-Zt*BEFjh):!
4T rnx*}(V97bh	؛)}4p0tZV
1/HOَAcC$0:/L>Gc{)XP`B

u4dؐ :{@lM)m[ڈIq@v0bcq	FJg<gCNZ6aRHqĖ8E6}TA
]GG4dģi?
d[)h(h: @] 4B@L bG"l>78gcW@XRP[8|MX(
E2h(hؕ3$Ghw4.J u2Fvo%^Jw\(h0X`0Q)9hekUAEפ3%44趡 CcA0tsА!`#Iy<Hq0Hi{Ed!K44GA%h|h[ ;;`b)FB*9h<wc$Uh9R`RG+ʐu1
Llb:65	hIX\01Y'#Au]ht˂]dH %Cگdqv)k
v4Ҟݞe;E
߽AZSֆ}Wv4(Znu
޲_-l]u4<$Bv-7]iF4M>GM7	MWt4Yc	4T
hT͇AsW22C]5Ib]ɚ
9x;VsDLs4ƯSvqphb^$KP)hjxw@216d̘1c
Nm-
T*	,
`*\/.`
hȐaƥ2dhs:.C}w4,s44l#}
u4 "('vs2;D@׳H%4,U*hxxEqMmQu4#
IPG~r{&yorKACACAp6
p.>$6L`ȽT*jrOQf!G d:;	h4[j!U?*J4T
*JRPT*JRT*JRT*J}=FʈHe&RR~444gDALin&JۧŬ~^?ljH#$pA:h;_9Vi2:=P4H]e: 
Y^A#@1п4*= ۂFT	r:s(lNF
;- qA#&iU7<d9FKQA#lѠ뱤42'Ѩ/h(hX^GC
Kf-XݡAr	nr4eFWNFa9M/ `yC!9BL4ѐMA#Ψ8sPG41Fnf
|И894RG/hp4Ѱ
K54,$
yb 
zFzFO@ZhP!A:h:8@1At>Г. 
h!@FeȷPGC
CaB@ҿahPBuB
Mw48d4h:hp˘NuY'GCN	Ɯ9sZ.Vm!@:h:	K@
DߠAѪ(IHI&hȎ2dp4PG^BC<GC
>D'q46
4(Z5u4,6I+"dXGC
u4x+e3g<uHh/$z
V(ɠE@?lȎM	6qku4V%PG#|`Ik+9r"haC
砡RGC
3٨D6_
e
>ؿΎŨ:NFhu4akhab1A#r$Ȩ19AGK
:hq:ć2;uubOo
u4PqW
u4,ѐAWD2;.h6":MB-hd:,59dh:6jhP,
u4B
ٕ
@cK"(dp4d؈:8eۜ?h8VC'K
DPcC	xGl;
6OF`=hT(LpOej[$PGC
6B
u48dt4l4
4ǩTʯ=hxK%I:"l}?JuAh@`neUohkV:6ऎ4qYq	. WGCwlbh448lDH
ƨ| "@BFqXGCACE`PEDRhT!>AF#AlP][(M|s!$
Z;+R)hdO1L

tR校RPT*JRT*JRd;7T*MT*m"pJR?AXHRKQ>\XFPN_9.?b`<CP:Nl_

* p
FDOP`UwFR0 c5!dJ%h$_CN8ithhhBx=g`3!nȔW? cxl~߽hx?NŗgϞ}HDcƀFYMq4h8ąq7,^}.
#qGZ#]xԏ4L챆jJ`CAߑ)kz7mjĬYf̝;0<5v4Ѡ:5 	1#!Ox_3IN+R
~=r.FClàmA"d0hh@R@ʹ@%:ڷcx&2iNEek>7FA!48\oBc x2}1
28l44dX	eOlgT
]hĖA?^-?C'E]t:`Ҁ@Jt,k*3dh\VР4w406;Ѹ	nFFuqiNx27esgvQ#UOE[}b{\Px-ޣ*4(z
U;'c޼yOи+(h'аx b?M" J>۱s־	Hu:NFb
!?#k\EANx.(_c*Swa;*,Z
VpݚAq9uupݥ
|GCNta's6dw/AY6.GCέO`|zd߳@{u~/}Q	2746
8YEHU_PGַpp	/Vנ!CACdR8db` c[gP[ЕApVu1#AvU
2hЉ1#M	kf,	2Gp3la?΅Ǟi'@X
h<Qr 24<)+r1SF{K
@^	9XBQ@FAZZK#l>B8	%%t%
*$Xx컆Kw~<4z9aDº"a8dC>.$=neI 
@F011TE|QGCAgbK`^hahWwGmk
ϕX!cm34aJxR
dPlX@FACv5z444
N{'/K+hpxdp<(/1Y,?c0m؀=lWv6a
9z>h(hhƒ;r41ù8ߛ!6a@kc@,%۸_2lD~.mJ,,8LtHOp,4l!Æd4$6-G^
::Bާd!@2X#Cx.]2lAr*XKqsI6\ `!:!ƥdt#h'=5|)hA	4,N!.\xOR[s(ڰAFa#08bklCys؊FLyRr'
pMD%'CEPN@m24Zh(h!'v-^2zچ
(GXH2_Ą3`<@l\^H^n|\ZV yzkِAA!CA4ԙ`R[>֍1Ӈs,ƕI*hX _3H@m(m/Cv	Ëdt[PJfOi:w;q4h4HmlU(6.(	%=}}G.AN1dh| VwoktxU\@^uu40\xڰF>ᳺ"gr
AgE֜Mƨ @|	t4ѰW79sNA
(hƧm(24!zJKA#0
Zf
9TJ费/h3#8lXB
@9P{?bWPGC
N[Uk44
d4
4B<t2hDuh]<4ls1Jr!s13<(Ayʰ͂]|-kINK|PQh|jUPj׉J!oɣ}/JTPT*

JRT*JRT*Jɑ2"=+RT*U%

}I*f-244TAӪ[Y6,X0
/@Xyo)hd(h )nhnDACAC4&ݥ^*g@l81HW/4|FVp qn
OhАe:FSoo@|% TENQV[P ;|_Z 	2dppWU 3#oU`RpB@4dPHorl>hP
2dȰ,u4Dٿ쇀
:)Y@ߊ	4r`AC
 	+$QyQHAѲ,
42V h=YBt4\d)h@u̾X,hȐ-*no$hÆdP;-o[	+RTQF	7&Ƹ
,Gh\ܖ6_GCA38c
>/Pߗ}5i2l-F>{4~4xN6$H?GCA c;s(c}F1
Oߗ  @S>G:EY}aCAcؤM'[iƊfO`Cv/91=,hȰ1QЉdP$߸G

Z(Nm;!4_
6463kX$&aKM: S}	4dJА&}!F-Z2l,:asFK0!$|P xg.#u$RGu։{%L44/͔fl`vA
DT`c C
U
yEVSSp}hhf`
2Qr"D)h	Pk)Qhf,܏@
1#AEA9XJZ)h%g,)#T*$jFhK	ws?w4dqbw}	44
p$HA3dP =mNo%5480~h)h444VR2F`:XGFߗJg(h_֛6F![
!K4
E+tG{LAY*Fa4|@F7USG>Z!;c
/

C+
!īa!;c
/5

Upmz0\А!48dr
Iq4U4(TG{̑\F@9
ÂUh
	-AFF{cߦ90C
=։F*
@*B V!ÆMs44;>h4{P!2AC
2PPPh44N|J"_SV{_5
tM

_4H?4T

ث
JRPPT*JRT*JRT*JRYob#JNRT3RPؐ[HQR4	
%E8D @ڴve풖R_q~)74x]544,a	,yb"򬦁}f	 oCBv;A@8ߕʣK
?)hҽeF]N~R8hFj:l d@YD˯S@|Fs!B܊.uU\2P^q'v*/B
4b&7 
2<ZUBeAqeu
2D^@`kS c	zrCZ$ЈD%JР֕	V
z֍ڐ!;-h
 #PG#L;АAAik..T,[y9A
V>bC\~xߦ9h41+
ޖ4|H9B
4ʆ
{lNN$L~mxF<|b`'~ƁwPO!NPА%@l4@BY64dUu?̟ĭ!T
Q;\hAC2A㨣/
2xKt@/442 $pXPS
^ b(l4hp<}?hJpfq5cٵ
4dA1*FCX'P*!`}{AR1S
̟2]M_u
3jHnK
A2dаR!CN844hvp0Ԑ^h44(Z

yH`Dp=w4\?\Li9c00lCr4-h(h1HGC^&]{G^uw4qin64$>sh@&HVG8h"dCVKur:>r4eQ2hh|bЈ0@L=$'hA;B)Pb/
אai
E44G\~]s  PX

9	DN8(GC1(\&d80
r2uNhd\bx$Wp1->lhȰ41`}ҝؐ!Cwou466qePEr0^^Vr(c@kӁ񝈤a/4h Q4ѩiGd+y
+VACA%Czoi:2d| ؆}jhW4Q
4&
нN
2a[#Gq:ZAC^|QFhĿNhq644tքa׮v4ht2x{8-٘Aqs<
Fy::჆


p ?GDy}
{CH	 'G 3Q輧ΠQdYq	6

iF%;+4<Bk	g4qH).Ǌf8%:$iAjoϚBǣ:АE=gҽv>/I
ꭿa7hCs
u@BXbeѬyJJ74&!d$9xMA(CNi.AK
Tmz
HLr7&h&^n h	
&I48΂.,!['kMƗٙxq;er4u4d`zke)hTu4dX86dcIOP(a2,4 44i)C;^჆xnu/C'1NY?'	m_|z+i

'E@ZFɲDv)dWcIKk 
%hu]A/2h@l׫4 |Lp(:@M\kѢEK^˥abR
(* O4BW
PP뙺z0¨r6^'*F
!CZGÄH_*
Y*/+T
*JRT*JRT*JRT*JS'"?RѶyJҜ7d*#8Hz@7`ų!IZ(Jq?՝}\7P[2**yʱUrj]Aw}b8<^JIy+G2l:KACjoI  H!9xkЈ
JACR 13>u
Iآh\}n .Bk2AIYI
uK0?hZe.b;а]#?9
4kRdb9DSݏ9l;
*{PZ-
Y=QG5\eE֍
t>JKiC 2۰未@ˣ:|H4Ѡ:9 cABp4(2ϟH1a*4lTwЀpbe[]>+ z2j9TG#6tЖ"5%vv؜pBA9Jq+)GgQFa_s  ؉A[]>P3JQGoѾqx$`_bGÆ:fBw4~5u4(ӁᆁPJC.T!c9cT;h,/prk(4	4!XKL!<R)24!IxrxmU&
PG>81nfxm<[dDc#z
P+ }}ޯF		
6( 8tƝ	t Ru$Ӂ`C
#ZՀ:Cb-|o3
6a:|RbgڠPd*^c
u44@G3+h ؇bUJs+v4ِ-_GC
۰fJVd`s4dx86@aW4\5|%ܦxݣ06ACBg
u4hك:|}'y{hpe>,@×!*
6tc[-Wu0thG#Ω
eրQ{tp4ؚ1RڶUB:9hPbghyEpʀ{GCVI13wx=
ɠh؃ưr	㺕|hk
$&/^;60ehNZx왵w4$&1Fukh?U
4:FqZ@ASm6u6rFd
ʹ@]?Nᐣyy<@}p
&8ThDY 6]K
נPHU8&;E{PG#he'~ &UV2J<rɻjhl>DVj!FK	RG	[%|hu+bѠg@96F
8dhse9c9ja<?_
ɠ6DL"!3&b$hpPG!#Y'm@딣dw8q4nHjzXB^=r4Ѱ&DPGCΣx,G>kP[sMPAǦ&6u2Le f\!ÌE\hL.-vjs4(,g#1ķ˂
u4ۤ<
,T`}t5 ,%:Jm{[(;daBG#2:hPB=zɿcHjI9ﻢ h;XT
W;lkb+Tw6ak2 4n4mj`jMSY óqT	2h58rIj ~a5̳$~&cYs9(zNr4ѰWIFU:pWcM.XGmWf$PGCGC;GјsUFʻ;噝a{:6Ѱ6:$ Au^Vh1w;BuJ[BoLm"RPG#PPGR4eb
Y(2420`C8@3l	
a>lR0chXF
_BAb4d0`R2ẖHtw5^ةU6Oh6הpo/u4dȰ12.roA[8#:JnuRGi!l
RdT2|GŘm`pG`HI+l(hae0:Y&d0@]woxh\bB*)bfZyQ?Ng`Y3Ph_U2,@AJ9$vߍl#!k UFHZ[)hT*
4b)hT*JAy\K0RT*JRT*JRT*U=T*Uؿ:rqM	|4UhBKx 9+Z{PP%4T~gH	29χk<nu44x]S&BWL*cq&`@~ACXBw@$GCAʏ
ڝH؀F,>$
VT]9Ȑa.FRGCACA" 
+u
2d؀b:ՁFHGC
T'ѡ}2FԿ^!;TK%hA#y2,`u4PGC
:)Mr4v؍b>sw<ƾ)ۅ_dĔ?_PGC6klF gmx?o0Fҡ
ᧆV$	q/!6)|5}>?{UG#69)/ǹHV9v&8;Xh!@lѐᦴ>L
"dʜ+6$g $|iFuE% C< h3ؖ6F:	rm;ZՀ:0108۰G1C'8`v*8	PuSYp!^?ě|}4PG,}![:S6d` lh  	>h؂:)bx3>϶*h @ "&1 L:j
2()mUGøwPGc?!΃bTw9h(h	?B1 utc(z4F>_h	Y'2'S_Iބmy[l`{u
u4l8
u4Bo)6ӒIWաtѰ?x%t=<1笈K
u4p| }A}/szo߄>W]`46oP\0x5=$:QGCMU#
8<Ο!;#wI:)ϗjG@>% 
\|)
?
wN	<2z#&$u4AwwpNJ (PGUtgIh/;Y' `;uQ& ؁E`}-hyhpب̱(_w:ΆN^DР~ _Lx)
]w>k|-K
ſat4
6HB-p)(!A:~=2pqF4	d@{_"&,<
	]'13FqQG'9֖iA19A#uU[!
?b á4A5Agĸw>_h^'/2uausnu!C
AAX6xWƣgoIFF!.[!:rhbKw4Fu0@>ӒAWS|9twƆi&=M_&sGï'f׋.mD1-2ֶYP%e1Zcs	܃b]hʠ!M]~@ghFACA)̙3\q'v*/zZf)Cfd؀WB̤U~l>3:8mYq_:u
d]g		C'6V'Р7S|ܨē0ʨes\Ю>_8̙s]ҵXOZFQ92i~2/_rH
4|>4n8	 b ު!.A"UI|lPAr
E
~|q%<2(1W|qhC@(RyFK7
XrV(tm4! T~ۛ4𯒁/ l{
2p#ҨШh/%`GIbR(1M5@w67BRs;Ѱ*"(GCAc /&Ϛ8|а-hp~!	2hl-A{ fB<֙9Wv9IhLаW+ Ҭ;h4'Gÿ|
~s1mQf)h|)_q(ć!Ca# >GB\Zj?:󩣡9
a
Y:ĩ?_6`	6 'CPPGÓuX
^
ح},hܩteP|s)hWKWH4^o*Iuqad!JACAfn

BFvT*16=RTYWUT*JRT*JRmmJRT*ÆJ{^AX6 QR[ ,{!>mu\,؀k8ns-Cl>
M[2BHƌT!M&a
Nppʡ	5`!Dr8ʕ6SOАaC;bAzXLL]-ݿa`z8i;B~&{O/R
MtL)A Ļ44VA_t /@/ƿ@<c@`t4ؐ$),FUp㉁$tn2vxJh T"n5	4B 26cYJ@<e@a{	z
ɸ]c}}Tcl:AF;.3
Ԋ~=:ʗy'5CF LuP44,@¢RJjC
(?C,H.ߠͿM%0pbF3u44G#
2JWt,񼓣`O@i庘u (C
hlmAcyPXv2aS6q?A4\p	Ļ,XP]"}jL?`H,gH92H熫1T9*D\	}W_W3Gиݰ-`B
GA#E4l;X9{q=E3
1gP`oC#hȰagQFa_sZrU  /ͥñ/o{7}dX'kjL/gC 	ݘƚh|:	4%^4?;ߧ
wΧ{lO;cѢEK7k!Zbָxkk2<`z}n/FݘUư	j:s8֚gw5/$lгrKA/R  1%jhw4ȭH8:lNfF$ZGn<WP
;ـ?y^l^x;w&8KȽHw`Y[ Y'VT@(%FoS nD)uJmh<\I10'~r9u5i~a-A-d%hl55BC[hbo؇bUJs]ڈdJ6YpI\Y$6O
]|A\{"	@`)@cҔcKЭxMi
ڶtq9}UArGcalF!BFؠA)(
P1*A*9APp %Tla:hxJ8O
		R*
qR]O߄cxw`
Tha@)m[ZKxɇ"
O	L)D}?_i@E"@p@S@@O!i*or):hXKE q >ś⽋/u /C|%J
tD$ɠ88	-qm5}Ȑ<d=[R9FJ2!Cr._MM 
!b)0oghȪ1{as9rb]Xmh4xҰ)Oo--ǃ 0
{q@[n
@E;a,7C'`1XB̠dpGS3g<@2vkي}o:OFM%{8D"!^yh_AƪD	58
c.F*P+!>Pus`t089ː02Tw@"'h<9;㹾эBāu#ǂ_1cH}qp	|):&8,Hi;,dQE)0q(iW{`S0@ax 	Xt+Gَ9qk@Ƞd
r4&Gcka4u`hL	;eGC
?@>ѐ@c-%8b_7W}К(1
mXf5>j	v:c1c?.{NZ<47X̻4\"ף
7 cfa6lcMM?uh{k09OB8Ny5ܨu4?Nfp`l4?S/АEqkk2X)AQdP8^E/o(GگdqRvt<QFg$ ,.A'%~N3ahiohV \`e:4$.wu!@uM?h2sєB(F!ROugcnshA0t3 1Wh>?&l8!wq9!>CX\ROAp+{4Ѹ b M?hLa/v͘1c
n]$h]5d>SەYMQBp7@y8AƑgiamwjg] OX~Q@cf!Cl$[hH/4TaB9A
аk{Yq7lᬔDC+X񆂰3&6XEhU/1r2C
Y:tbs ΫdȠ!C#/>hv4\ N 6\,ص'&&.aM?ȋ oѝZa9WGA0|f}P&Ա\}3!AF@C/\ާQgG9z.ۻd`P1ڣݘmS0lb=|FBai7a;5iL6. n!C|>lM( ʃ!^J{<AOAXO'IFHr4f]F>Mt(2j<hq/$A#I(hȰuhhΆ+Ru
b	FÏ4&AF6d4d(haH
U!CA^ Y,аTieD:r248lT	A|П`&;7
46-!C*JACR)hT*JRT*JRT*JRT]EDRUY_Umf;؊*
@Mv1FZ>ƒL*>eD9`1]` Og8	4 oO*R&WA |C؟{U@$.&= >{444y]݋6CG?+?wGIql!
ťF6bQǤAcE~
/g{]M@Kxy];\l6׆1,Шe,GCAC;	2h+|lb߲A	`?,N4ѐMasw7dh6h sHh4e(+cNEKj(?ȒAAX93o:UæA+
XaQ^k^KPGC g
{uYB^=|F}
{۾j({,ѐlGЫP
r%υ3ۘ`PGS[r+*
*07GiXS6d؂:2d\Dr3PD]b{{N0X(
u4/͘hy e8e(dP|lPGC=hh< A@NCt>
gD
аp2FX*Ug$6x.~(yvGѐ0Ɗ@]eů+2܀:mmp8& ];h.e3@CA&)5_s4 `Bܐ!V4ш@vLgT_XS0bWV]A&L}$!
+BA/m"sˇ{PGC2+yg	<!c3u4*!dP=?tGC
ٱxNph,&d@fЉh0sACVFlD
\+v
2ѐB6]6a\pvu4
9F>8:4FY';NbX_
Lu @C
k\$ph]I!Om2:.hzAcC0h^'Aq44G#6'+hɠQsإ%Gÿ;l?-Z CabhX	_%|3h硡]zINd7AՔ(_qb)ql։wT
=s6I|
!\'RM[CIh9XQu4t	~ئ=Yh. (ۃ:y Ș Ca6ѐ_.Rų=e9^_gYˀBުO ظaƌS걎尸+Fm;bpkʠi;aZjaC
9=ɬwft)OKXws
`:<nBذu44'QȸJe:$xS+PkgP,xLa
6dPG3{F3Q!/Ar/AI.GLOQC'
bɠ'@48

:	MpNhX& /@<t,3L|F*u4.L
lf%u3ACAC&kb?	j6t2Au"k6L1s97l!߯~xu4 
m(v
hIwyt^'FIqGBN-,|suz`{d)B
o2nPdNo-kZp&AWC<b&7 hLQoHa6IlH
=p}as;|e菓ߕC'5ABWWi2:
l44#^W̞= ,Y?RGhOc:]4c6U:$PG4^
l	6^
XewA{{tlςџ6h	4l#h\_*+haAg@<@&:<Mjhn
Hܛ7 5`Ϣ d
Up2F <5Q'eFѵ+

P_*\Lϣ:JAc`9T]j ~ Q?4KRQ>`B*J!JRT*JRT*JR4w>J0Eȡ~=¿JAÿZr{ϹZ˹B
;U]Z>|t@Cߥ
ɎLƲ}E kh3\АhhĖ/hd#p5NLR@`#AUA1dЈ=+"hЏ?ۤ,M
\hEA#OZACACQ28l؃FC'T7YFG#:LPG*u48dȰpЈbq;a/u4ш#G4PGcu.u4Hhds
-	4L)hVhY8Z
\ha~f&Z:
d1
K<
4PGKn؇ÇQ%hH:hthpѐCA c{l*4PGd`aC{4Y'h:A:
LPGC
) p44PѰƶ&FUhg o{h}	9Ѱ:'N3%ٹ3mKMPxߗПC
]TAChRG{,Zh&(LGKϡB<
e'
944 ΀@qFUNG+hx
9 *hgI#AcY$W@/dАaC]wo6u4<r1h>=G#D	0`:D1Ѱ 
Ljh8}	9p$ـ	PrRg|"}
rƨha*Mo>w4CPG9dl,m h(hl2JNaDA~z+
.Hxl7տ%PGdpu44~.ʨah`c!΃bTw`Ȏ;>_?F2:YQH
y]}+NA,%uePϡvsߐ44dp	AlZ0uPACA#l )h4PGF<6
n[罞4jh

44јAqsи& fq}0T24(K`V5A^@CMYɝoȎ:v44Φ#@-24t	rRGhhȰ!CFa.dLM4ϟ=d(hw }:C'A;2lȐ1j(u44pذAO7Vt @#p!bOm2hXNJWs4b%
yt%L%ߊAc9-b[uVb68	r4*RH9
.Q|ou4}U+h4%#I
IPP/JRT*JRT*JRd6N*J,q1CACACR9R)hK>4bjhBPqO@.öRٿ_[XPi}rKN!>ACAB;6dh?/BP7NaHa	
	{s1#D+(GچThll CPA7ImA5P.\&,g
pxF__^ qBLwq/Pu
%E	4Y JrGNPҖ	~Qb=	}zoqmE?ocQ8oHر2)ķaiUĀSݑ;\f{ب4%~Wd!@\ pu#!a؆}#ZV\y]a%7h{	
=Au<FOQG4*z ˓`]$؀Qd-Z "\ה<Z6vcsƳ)p='o4p
iu
M>r,s6btFl`aDp|-0@V.+G]2r5OwaiC/M



=\/
b8i;ރ@aQ	6
@h.w2rH9P5ծ]/52}#	h6ɶGLLiO
zoe\UFfA.0c```*c%"-,`2
2lp\`iA#|рdw%A|i<$,F%|9\uw4J]/do rfaˮ dְa2hT	v!F*!;	C PޟѸIFYz®QFa_F RaC{($Y@
ya >uWf !8>5444UY'PSXdq~08_ 
 F!CP	
u41BC({SuoP$6ka)pШ68d؃Y7'XMg74ѐݎow v׉YoF8HZ.̲^/ >f1S 
[ؐ!!CX9hЋ C$N
pӡ}8_ ?\	X/սNtA
Z`jiT^ys
-OWBȨj톖
pFm!1h144n`0<2
ʱ2h$ğ6PGCBDy6qj .`#F+'!cƌSڶ4 @|\TPn¾B|zPPPYhȠ⪘Ua1tbnN3nhC">4?FwڶA@yBo: N



y$xȐ4&6|j4T:8C$
(3P^B+}~


FƹQW+GCNu"ˊcH4vDX<O鷅Wjha̀2 O(4 h(hMv4L@fu5s4!C(r4dapv	SMACs4R0p]SL744tSrޏF
y!*؈('dWOah}AC	8/lCea5mMv4\ "qA?Y(|PF@P7)4$R^N!@CAPPGY9|S5r
KN~6xɀ>
ШOJ  h(h/5$Whlѐt\rM

 bmS WPȒ(x
m\>uC	ƥM


r(0)hX*h(h/ȣx9G=SbG
`lF)e׉uR3X!dl4
zJR5GeRАR4444T*JR)hJRT*JRT*JRT*JRT*D}+J:3ǫ]DK!N3g<X^-rߧQRР߫w ,K <]zqRFd<̙sFUz&F ᣩ*':!1k֬PNxwQ45"h


~no(hshĞUFXߑA۝ކAmwѰpAZ% d]K)c @PaIQ>hxРMY]ߪ߿sш=6FRC%^GCjJhD9TF|/u4܀/G#:hau4a#Hs4OFH :54Qp gGChuh`΅		$<"/2GG+,h~O4|Yh$hnb[CN4!ȸϻѠG^2
j4PGPI;mX⹭a81̩vM@ |PGC
!:?n|:^}:dJuh(hX$:hpcN:6-G s(@:j~u4VnX2fu4Dv2XTd9,p@#-u4rJ
u42AM"AhhF=@C:2h4dPGafXH
]GCA#dG0t(TG@
gX:(ɸ0[4h:2Z1;
u4Cp]s44GC
u4 ~4
4"R@#|GC*
mѐF
D~"}:jz7bˈ;:ņfgY>JNF2H:7y7Hˊ1:t

uWG#ΩPGy{Ȑq8ݑ

udayu4<F;_V/u4PGC
h/ջ!whVu4PGT
|$"5!Ged=ih:*u4|>h`;/(ww^ C𥎆EYhxP}
w2܀94LhQfDHs44PGCACW
?G.
t6޻(3,@lrP(Yut4huVt4Tu


u4.6&6Ѽ$$UA#>Two
\
*

JRT*JRT*JRT*JRM3뾁O25NT*,nQG5%8_ZpZ(#iC+hx
?9QRO'cw@	:/PYFAYFsިRP @|'DeR}U}y-V ò%ؐAc-өs R F7񍱯hhfCAÏض0
!È9Zp; *C*r*w4ld
ʞR`mn2qYAEAmMȈH&l74l ƢEc~4#c?4xV
x_?"8@62Lа	HTPА@#f_.hdKAcRt[2d d\
Ö'#xMxwMT(=e0r s!pp!hLrIA
 ^
6^pìx/:!TMhȎoނam9'vY' |3Gz+m&6V:bC\;
u4:2hThf+"7w!C4 MKNzp8a/~9b8eTVyaN!%ݯ9<A@CN4ֶhȐ!ml`hyDp{:F8V'%{<
5d[Y'dX+: 
m2hAF9?'>9FN,8Oa7;g$xmᐑg.	2PEAg\
C iXm4:]>uXF$JbRhVqc3ϝ;wz
+	rmxw9?"Fbe'x~dX d	>@C~52F ~=8tb81l4ѐaCVGa[t'8;2P2 ~A	6ܩhhЉWa1@Vn;!FL`}2d̘1cJBVW!ClʠY:|
+E*A[([اME@ìWY'y:
YVR9U4	A	9an{5	4IZx"b\<s2,#=قh;dT'e8!.x@u~;6uݽoBѰʹ@]?Nᐣyy<@}Vg=4n1g`*?πވ	oJ[J



3tߌ9Iɤx]؎xoQ2%2l 0(xOdF⓸7/|uU,Ѱ]k!kh(h(hl&7aHe%<
t 
695AѶ'zMw1(8r-E8bg"GQ 4ތPP2dv6 [j	r"^BFo
)uħ0ATZ2~G;J91ICN%RA:Y'w1xHuVA]Q
	tX_v4K_
r.|	s
T-d(h8#y:VCaa{Wܹ"	chV
LY=udH'd|403-X<p Q:jh(h56<9dlkҬa҆cv44-J@<q3kރxfT"ߑX
[&hBs4t	r
+ظ,)&"y21es
bTsX 2Aft 
]c8s>}8VYʵ9+቟mUQC.:h(hX _3\7А]
yxZj"(F!p944؄1mTt|%zhJ5web<l2n|1Ȩ45N@CA448l\ƇQK.cQggChbs5,
xfKo4n4e?"p=[k!8̅
d9dx>Nc!r2h!Nx4u4H:>grBZ;O@ߋ	OSeuP(Ss0d!P`t9Zk ΥɿQM!:_
p4ݬaP<}
A0b-f0Jb(lŸhJN

] h*3q(B5E8_J;eb\Z>"%4t

u

:94
f?mC
9P^C(%(9ZAcbа(	&˅TR̴H~)pҦA,Y2>|a!4T
Vu4Tz&mAÝ`#WF@CAlWGCN
"؈,
9*}XHR4<:*JRT*JRT*JRT*Uf1ǥүsFBU3E=ʀ

0?T

QэJ{v"ӹYmA}4쥠[*thʏ޷:JACEE5x/F{~4U4PАaCv4b
(F8F$"~
3/hTVop;M7,DYHW
 s@y:aC
u4d
L@ْw	PGC
1#
6CFr44oA׭ f'7c^yq,
ThA(z6t 69R

{5 *^k<o՘PGC2T!h\|@b4||=d)ht4~	(CwJNy:
0AJ׻XxL8*K
u4cl cP; mX-|9@owY/&^C9an2R8>GY론A=6DghxC܆AǿI跶1+GA
y<b-KZј X˓CY8h8hn9@+
vXԤo9\1֗h,Iq"?
7GS,fz-(hM;7;LN	/v9a8F0MC-cav9󯇂ƶVCáq/EZ]8
u4x@BݐӑkgLgmY8Z[88s,RM}X\E:GCAC4249P`]ޤ/AHݜ5q:lѦ%9mc

u9Զ+*hxPEu,_&Fx$_!qF̉:aC	!
GSA
gxu¯Ks&-طQ*hTPЛ8J"iț]i:Ges^
RGTo>BFjh=;}
Jr0(xѨBh4t8&^*$cȄo&/{аp40*t4F6l{YahhpȐ`Cv?
+R31R^qr4ȱȮޤ+0K4w,\MyG
`
B9ZnB;]= aBXB܍PА`#Y'B
p#/hR1:=g԰*
.
448AѴv_s'cqf2OF!%hȳJ4VBkcpTm8cQa@F蠱".q	wI]}= qNq?,wo}kar4,hph6p޾XnȐ	/X':Gi!RhȰэ+;2@{Q]}=
4%:9t3 ^t5o$H4H:ܥȹ}Ji<a
4GLOiƨuXPvo=.m|론!\_z'[n_TkT7иx؁}(Q9+"=`=+}OYR`V
`&R
\ҒhJݽ͸`]akV2|}=jN$;.CAFe8:!:0Lyhp=j_ZgE:*DbYXe(Q:
hTc9&.QRhx%)
6bC

4^hYf`YPh7cFRsT ChPRh4+[4!X5:J݄rR)hx%h4G*JRT*JRT*Uooo\ED
Jk QeRizfy7qA,v}/˩V?c)hCb8l|oyׁFI4cƌ)p b1a[?8E`444̙e(h$G~_!z  &msV3kC,X*(  bMQ.\QeAh6`,эAcEbЈ
NE퍁XGm
*Kh"0Çl	
PG#ʩ"רaPmվt50`({@edظ?ݻg±
ؚ
RG#qoy+Y~F
u4XRo,r2J
oұ
ZFE	t*@c'[(?<FhG"']؋}}}/"J^ƿQ$Rk(j@C
ԑ"Q5hl8N
RG#|i:8	:]3]v(N2 ~?{c#HM
I

s4l<
KC<;a?ρ#\GC
		A	>*czaˢ?ki2<WQh{}ACACAbV79 OϚ5k
}3ⵑ{B6ٵ!c 	fPFB

:tM3&Iv4Bh` SLT:΄yS1ڒ]!0vt
pq.Ws(:MP#+h/{PGz8[8B8X97:!O!#k bXa	=S?=߫eFp4x
h(hl
U 
ѸSHkkw4рԅ7
$0ڨ,I=
O 
j```*!J<?	KS =Ku4
}44tD!i/= zxmd!u4pXj"K"&db9<rA
=44ѐ51Ɏ4up0>]G:!nk& 96}
gd3ИJ	8bLbAmw(h(hV$8CTG܈ "lbcFu4BȰ1	(BܦzC'46nbJS
  6'9VgGFy #%s_HUI,Xh
e;\h
wk&Q0
إܹsKq0(bxM3pb4Ѱxv5zk
6jhu@ʳhe4>-

5x!(/Thŀr8Wr4hdg˴#~G0a֠aAvfS~ֵLU1*hPJ
:yu^
4"%Fl½&0MTVV'u˛hK1\kQgG0 2r4D!ܷ.]K>}KrQHP
GL<l=K+0x 	1C%x [ڦ9tݕ̵h]Ž*y-1>{j
6jhlU8dxUY\Fh6۫ vbH M7,Hx\_V,5=Mq9V4mQY'
F9C'v!A@ʜM	FۥܽUv5LGh{L`p(2/^hpW5Iba͐	w3N 9a:Q4p=k@^vsݫ8lKad4/2IBDT'd
ԇJl.GCA#b44h/}WMr4\F$J٠ѻ܂AǗ:_?i;eQ]$@F]@ۣ4Gc}F=!>foإRG~xa46AbhW^,Hg orPATwG[! 6`vFhΖ:?B4̙'X	4 X	%@L@CAC
Nl`hܩj	h  EUC4<;T'9/mlKcy%h(ḣ9(Č(Sh<9{8"
hu&9hȡT
ڛ7,'stD




Oy9RY'
*JRT*JRT*JRT*JRi2~="K{󋝿 .߼eDK.4+.>"WE?.J
ojht6=?
!58G0h(hX۪
u%qsջu4:0sY@C	]
2oeb]c0`Yԗ߷C~u2htU
|0ؚTGCA#d 
]T.V
u4;#E܌ PrvE h0h<hp;;ch'u2<hPMO@|
H(oH=5Ѡ }>c7ݻ*/^}wL6b
gd

nQ|8ʳ!
h2 O㯟5k>ߌ3י}
il܀ڦ;	O3b`c}3_򂖘#`cPՠAϼ4p62R`c	qNu4ɨh 0ܙٺyS1ڴ{0`Fo8w&9b*~P@B;]h=]Jm6!@L!]1M u4 #<G#s	xBgS[
nJ4Vtqnt>R[!48d
M
2d@gP' 9B8H`U8*n;cC$0:/ш!\!'hH4ޗCl:ш
A.W,ak
LHiۊV@a!L
S[S@b=FJV֣1Za@AgАa掆2l8):dx
Ѡ n xؒ`Pk{\@Մ68 !.gz`1oq)	װ
u*@CАaJЈ3*}?S#8[
u4 SY%S .4v`.&8xZ`x˘ې*\}K)p v)6}#AUn8tહ1ZMpD-4ш=H;90!#%s_הhl>DVrhq(㌢] cUD}^


r4Fm!WGCP
A@FF;wa)EJXpǃ4ȥ%ƂK'OJauX	qQGld!NF@w؍FAdl
8ߙRU8WCWGXZ 4΄{.wJ:iJ2(FȠzh	uF,92dQ(46b.x&*٩-ty\PxM
&(vcSu1[	6:ЕAG%Ƞ~&
а.QG@JZ\d]ڮ] 4V44 8~%EƵ{64.A'А!h&+h!CGCkdLHx\Qbe T@^TEłn2J
-A>%J72aؑ:hpW$u؆}r֡<S<B
ѐ]5Ib]WKG"shelTmKvoro8SPGC;*oaBNT36!mAC
Ǡ!ax_:h<;a9#yI%Ah
.ACFAyh!CF
*
zzk
4r'hp؈*
u4P'Cc;
6
 A^q4t	2]\h/4dبG:*u4,zS5u4J?hF}o4TA__jdT*JACACץ >CRT*JRT*JRT*JRT*Jd.^mDVRT'EKqikJ\g)
.\)hUden|
^pgt1%HS+\C}q8haO)
N)sB[A}'Ç ~˩ntNACA#XG@g(h(hYJ
e'JPpPh] ^
Gk 
~T;*u45444/%"8.-La@ 4nXU .F?	~^əF٠F)h(H嚘Æ1]:1U
s>dmTcNv4-Zt<;Xрx6n5?czN:bC<龜F

L1tanb ;M҆NnшAUkA ݶ 92d kGr4 XSL eQNe6 t p(ohh(hD|\q_ J >;аw4Neh

9 |="uk	,$[[e^@A4J~֬Y~3f^gkk
d'W
MȮ%X2%Ac	~2B]hp}Tg@_h/.id fτ[If(4P'p'D bݼyxu~xP@{l4$5PpCPpȳ`8\K z(m!P1	|Ϡb8#hC"#aF(Y-$ƹ)>64

4M4GC0]o{>Wh8VA@؅C) ǕhT3nGmpG ~x7DLCQ<{
K -4S!FNfϞ.FZ;^$(t
6hI=lxP]`B9:~y1898 	,\1 ё!acEf,+%P`= zxm٠QYS`<GfŲ7c:|
+HW~
Yu
?b)ıhKY0
V'?/l9)2&pT;? -? >ݕqɁѵ9z
 [jxMj!D~>@ÆG 56çO\dy#xbϟ? ==rb]Xmu
3ŬrA0d?.\xpl4vB2` 1Dh.7b (%E ;:}#oG{@Cap,?]Rp~K̙3<b,'o,ЕAt
X4Y wAS `G	0)&ڬQ])	[(x*6t։+S6#G֟`b	B`}Od+l
d,C9~F`nzs5XXmµsӎ
u'Gp
2+h_	(?r;
]ިkfAc=޷I1wR1^ GcGl
#*
k*t5zKu4"G=O- '#xMQА2P ăi}
t __@Bp4qC'
^mEH= 	/
C'6xqǀ{3t6ٙYPI+e?GcQ9^<?PL$eNfyKat42ar!L}6Aɮ}x CI}p| <
[;~M2(_\.
^mg%xn%Fl!4<fmM`mƈu4h\242bPB_ b@tnٳN(3.xmsv4ht2- i	KdaI17v3?bppi{z٧0ǯNךI
:4L:2 8\k51q%s-.2.emWm:Zc|&
AJ'bC
]@cb$q"/>tnjg/	X&F_Fa2Hy;$hik!܆(%{S\.@CY Чյ! kdLHx\a
+6vePyc<'B'!ʛt,LObKU.~ږh)Y_褐9Zge OW gBNӠ ~b3d
נAM
,YVI
u"@Fcr4&WV*JaN剟(ژ5j8:2Τ{햐|5')h0M0#]~ ,qx\C&) 1]ݘp 'R`V2*t	
t!wcab$0ŝ29:qII^S>,ą
kR_r@
 >^W4Ɠ܌/1t7|:!@w$VAÿ4d;eN~Ygdnx? d|S.<^1j褀T\qfF kdg=
⽱bxq4=Zz LˤN^	J

 X.i)}{@tcC3{a+1l/zzdqa
نPNEΆ1s:nC p2v=-6\LX½{!&4x'V莆ψЯ5y6\X½{ӆVN46V@N,UV:ONo*:u4rF٠3˜}qyt,kN s	EUC1*eu4R?o`ã
 9ɮT']5n.An/y.Lr r<@Byę
1W:jI%R~FAcu($b,yn>	47Us %%-HƅaFŊk2  ~j5^:?NhO?
^؋4(GcXچbaÝ`#
D6%oH|A2.v|L} eslյQaK]!/EJ%kT*8hWT*JRT*JRT*JRT*H['x
J^i.L74*:9}PI!PAV
48>-.FTB}&Y~gSd:hI1^OLr`FArsFha/4UVp!ױ:u4YѠ="ku4d54TYM44M
R[jPGCNÆ:AF
u4Hh	"WͳMv4!67QFѨH>@F@Cs4p4ѠhCA	> `7`hTmU˹Q	 
u4
:hX|=z}/}Zs4*s Plpo^΍r4U
0NѸ3AT~w6@5-QC]8joа
_`а:}4ԁh rn
bU)}m!Ϯp4܃pѭV6|8lDI

u4B劜h,
qоt
vy|䄘@F+  7#,x}F,hp5HMs4✪bk#m+^Y'@ꆄɰehX3NxF:
hx1ۓAm'A@[Qk4w/ˁ ('˿!C#T-2ꯄ]x&h(hhF	hupĎ8E؆}o3ѐaJ@`:7C]KוjAaƣGA7Aᎆ?,g{RՕA	2V%:LؗY%ƨ
	m+"i`4hL!N~I

]e:Gc4r.u4,]ÚhY&HȦk{)hp0kA2	6(&QQ\:\
Me:;`b)FB: 39˧b%cpy
A\
9B쯎hTq:u9&6AQ7qѪr0Vp';NA hX'{Uh(hQu4Ѡ+h\d\{)k
Cr4 hJƄ+А qNj :]TAҕAuV1hf74G߷
틥u:Ÿ^{(h{\5Ib]~\
Ks>6*
{漏uhp1&1ֹ!pu4KACʻȚs`t#c<&xW!+
Kh(hTp:{c[WGe8 
k׹$BF
u4uhpPGJh䐂!Ch:huT C
p(hKs44PU2WA^@CACACgh44+|PG.|54T
uWe*h4444JũRT
KRT*JRT*JRT*7.#{缮~ҜJO쥠abPИ3gjQw._R98->44]7^/V')h(hT{_gPhA6=Q6X V	@kr!Χ `wHA#v,G8)#$ Ǿ%F4ѰVS޾
 	qN4zmFy๋ ۃ#-ڿ`XZdS 44aIѥQG5fIE0 I,'cK 9{cqw 'иf#N?ѡ)t`4bRG^d/ 
Ά:<Z5}}},144l1cƔ1F	yQ;h#pĩ@܍aƃT^M;k-rsΜ
!6q&:>7h8P`F
A7A<5#An{[Ps+,yhx
VMAc<O[`	q/b3C\ӯpcC4,r8Ox	sd= }Eѐ!C
If؀h4G if#]?k֬}x?k/{#ǧ@|8lPhP4&!P,^u܁0a;@$fPCG <+hL\K/MphSh|y!z d^-אa?&ƃ!;.r.jA$x''Jh[7o޼x*C^vo[Խ(ASGC} vGG-h`pT>I@|T8kׁ~<΂{=C ?KК_pᛲh	C_3@!>Nu{EE0!?asv44H24G?p<7V)}-ɐaLf,Q
}x]1}6(oFx} mב3osֆ<Ʋ2p'\iY4DȠh;f-q=F 9tbk
ٳg/@zb㵝m2l0gC
K9$3
Icכ	.'7-X
h
 uTc8}6J4tG?d@EbĄ)pJf ",x}
$|G\= zxmN4od!
	 J{bm~>@Õӈ&8A@3>|-$>t8YEWȰ"R34c
qVSA;
]GNabKiRkZ@PDѰϷ!6<okAK	Ǝ<Wit9m7C<2CXF!C!ÿ!;apȀ+ѭ>30INI}AÞz.4v`[BF[r\b5F9A91:IXدɎqb 9	q@ˡ<x_E LΡ>,h~!#|Gp(t6&GDޯS5^!%s_tg-	ȵh; LjzzMv4 8v׽Afk躵R2(8
2sz
(Cgxh/ 3ܹsK1^a2&9b[Lp)6c[RG?0ok_.
GA<A 
q"	\s Z `)]su-GaF2w4Sa1.Q W}c V@ȅ΄4b$b!Cmkh
w;e8hF@53 ub 珠3b\{Y
@/s΀hpֽ9BF#jaƽhx=\A7"GAc#6mǬm"*M2l`a	%FS<x]T/nugћ8!(	#V$]Vm؟oY'@a2lT9=BF s44hh\\]%ݳ,zF&iNDJa*؊V6ݸh/h
<^!#|G;qf_:i1t3U7#kɰRWhVO0J7_92lȐaV2d4=WG#G,2Ј3ѐ]
8^+ar?[_˦.ng>|=+d`_ d|Z̍58G|7Op@Wz<ˌ_`_i9&3D
2*}Nh!þ魇?4/^S跀vs)|7.3QxPeط <lB9@rcxbc0/1;/cL5p:aC䎜%BG#?u]MpE`Bq4x}ޅAǗc%G%e_G$<4܍)>?i0\̟a^sR ϠW&!)|O*<
Awɠ!hlʆQd2\BSwoR ĐAó"&ubB{+7PPGC2#
HM


2܂
}(h(h4Ѱ;*UDT2a!
~ JAC%6C?h4RT

*JRT
$JRT*JRT*JRT*/X<DMQ&KX< [i&OsT*e#
O[_
q'v*/;8RW ,Lth9{	k 8OaOA;LT=k
l(hw4 PrFUJWUR)hO26LPab
~p<P.0REuu4ڡ]pPG_O
2CPJG.\z
aA	^%}@FB{4,鯨JEB\9$<:ǎƸNApl	F".E=4&QL
#>Aŝع`Cи܎wC3pANd7@c{Tb#&"R x{>QG4BYuCCC0ؘŠ
\	{ 3@c=?B 
2GSag,z#B>1
:׎]7l,+
Xa@FMAcEѪ7 a2Ϙ1c
%-J \ocWm@ǡ쁸hFC1	 C0|pk@;%O2\;*8!|q5hQg@8@@h;U쎪.r)m/8>s0x?
xOӱίP>q
D_hCN4!ȸ1q.6k=;kck2hL
8v@X:h-8"6Eȃ|qS_
8hl'8܄ /5taSKTMmcE ^PGcS'	>LQ/:ha͠qەhC.X*h0!!h*hwh,m '{qΟy9(r62Ҡs38|>h@VKnC^uU@ƹ:D

K)hp 7qC'o1ҿq;b @b:&HN$ΠAmcxN4t	!&Q0<86j	6'ʢMOFXŮI
u4r
,UPШAp!r &5|b b*˖ ' 
qYMjk_wq/n

߷`8g{laXe(D`ˈiC0$`GC:qhp:GQ>M钸(wYXY'
s-jFp['Ádǂ;?z+tVXAh~&c9r9p3Lʲ꣜
PG	I[#xШb8_1Im$

ywA6eB^=@c"f0Z&l
2<:GCҐ4,ѰGF9ƎWۦjD-]H
6|:|ws1.a=ܤDJ/Y'A:!Ǡsrly@ |GCgaF{s8#Z2ځ}4$h php{坎AcEA*`Q)h4d2Ȑgh44A1a#2X
682d@ζzw"X\uS6[]+FVůiЕXaGC
[
eyu4 C 
Qg_Vb2wjѕ|^/t|5!PCO00Шt褀K
	24Ȩ[{@Cm"A"h%;ʐѠ~͠9("XH5t4p(a褾AW7Gdh)ht ͳ;o~V>lR0czwlu2~~P4H[ E;hqAu  x%>eMuu 2rǎv∩~ Cީx>U*]%Y h< ":hUNoݡΠFR' 
v4#@Î|/`
,D
Ϣe}.6dq魥KACѠqG
t6Uvl"ȈAAM/@qV@C
{QcAsEtz+6	4<ܗ~ٮsջ*&:!8!Wh
`N(|S5
ӗmSTYɞmQJ:0N{8
q9]8}6
GOACjASXo؆%.QPP|hT
JRGCRT*JRT*JRT*iUIjTTJRTĭRPQR}؂DРN@<Cq/gѰwbun!0vA.ArTJ>#C<P1
qč+!Om7|*(ald>`Ɲ>60@)
:tF,>48d t/akIut4	|<{Ct|
Ľr2Į%ŔqN4
:Kn
w8
\wPA#vZC;ć!%и ` 56
q7ß5k֌sTYMftJ
oUpd?H1uhZghhd5ď!S YQ~G Gcxߎa8wVhT
4p; s Y\,XuRGCA>i?|>M
.2DAe "~'Xƃ4?
Pq(<tt,4>/PhGbБ&G&<:DN1)S]e޼yBw4bOihwU4vA	6b_X[vNO0)
U:UAb&!aC't
:i-GC
[N𱃜a
:: KW.]~,Fɠ:FA#|Q2(4O8JK~]Lɤ)u44Ѩ0W3g|UChm }rpz0@9>\(ms@c_z,12nk6`-qx0:F0>,u4IY  
q=x 5ķ!·  PK#6Ώ>oK0(F(DA.DAbb:LN4GC
Z
0?@|%3?&!1mi~H|%J`:`k}(hb00ju4t0bu	-=
<
qL!X/
4r< n 3ߠQ
#PРyƌSu4H'c؂D3P+!>B'!Fa(?q3,pA^I$CcZ4GCōCCCh
4'FfȠa0FZ
_KKu?o\0Aqf	uQɪ
45u4t
A ,ޝ4ȩXldI+y!g7.X`*@ v{hl
	
96Nxlm\\
]GC
2#Ph
S1/	42@y?OP
Qz--@졓P<44p9AQnh!C`#/ϲ랧YL}F
D"hI6!$~"T
RG᠁b.el҃嫣\RGC OQB'
)>t{}JKKqh%B/4^V[Uh44VI0h4xGj]G#iA@FA?MP54~+)G93G>6U'AuU.h@ƨMhbLbvM_XhVu4 r-r*? d
fA:
nCc!@)QA뱎f|vMX*7UK[9dXý;-ANɯy1
6]1:l\2HcPJ   XBi|
Kr:vv!(u{+
2d	_GZKAÛh"hC:@-`#{Rh12.oȤnABK^F[_?]m z5p/CGRPPGdr 06!bݱh C17	20ڰ2pw&hbSCxO!2U	hO-;А!48ݖ	
U_5;C
၆GEaBUp.7ك\/II(l	"Bd&(tP)h4ߡϡ\!Fѱo.4b*u4*A2j$Y'iKfX楀P(O
UF
*QC=hGR&;%~r6KRP(%AA<T&ڻ}V4T*JRaEJRT*JRT*JRT*JǌL:1$mrD%۱'J/*YYaEWD  |嚟zjf-Y^A)hT
e	SiT[So. ZR K8EeˌH,aLhpx4zgA4qR4y+j4b k6܍u4NpA9/*~p9u4AAci&h/4a]}*ˉhh@t}z*3|5,iK#ӷA}u4_X?sgoHϓpp  @y#!aԶM6SL
wo%׷{`,ϰo_Ѩˋ9l`F;hW*c x2}1M
tTD9RXI݆Q:ɐa?	έPG#
u4ߕ /бs
kRGM&ڹlQ(&4GAFrhtQ2:2W 
=.(aB74]tw/]Y @leАg9jX (3Ivw4PGC
	]QT<&ݫްI.buBp~g%hdl@cequ4Jm2/(QeRGR5ѐ䜌3`
pW"l>ؗ]{р.\/%o>}\9\1K{	\XK
d2u4C:VRGm}@83grh*hp!@@ȁ&|Ƌ0p/`_G-a>˄WeChx^h8q4BF
 9ah򲦰%R
y	@|StW(Av61NY o,(Gݴ2T
+ZI2(JzxN{ cߠ'GCV8Ac-+INM
ACCGF2.&Gއ}̌!΀@qY'uT wʠyA=d{k
{748lt)h$eAFSf%1cDp+{Yq
YMZ4cƌ)	}7퇖ׅ:t@'C
1
 "t;
88Lp{fh0А* 6dƠa&
AKShhѰhs6Fqo+#Gb~	4gD,u?>:<ALv#0ѮcGs4V:h!AFShX?\;F27N"FW% GcW

B}f6}	BdhQs12lH1aeYƑG
˯fqNeu?ѨdPn0}ʣ٠;7Ѡ!Cs2PGC,
[4 4&~\lp<Bw]q"
4ѐ `wN
-WcЈ9lHh^'2l]+|Iu%Mo}WdFRAsడFEp0aQHwyTwРٿd:l8\t4짃Jt4Y#OolWAC
Y0w ՘H^oy[haX :F4diFE8n86:3J
44?D-dس"_RG^8f:/u4ÝO?uldʃ IH5FCmѰh(hpPH CnA? 
RGo<hгVh(h(h2-ڊ`
ojnn}}QG#J/*FvoUPPT*JRT*JRT*JRTO+,`gDHR_ACACAa.K,JAMzos,9sV:سZQ֫8f][)O
bͬƂFY -\f$ spki?9dt^Y@9mxS\PI:Spv
2l{-X`%ykZ׮2x<5`V
u4go჆:UGР13,c*Ƥ1r>	<s{
y"	4ZZesѐYHBhGC
r[3Kr6t
aq5Čg`v9U$>lD
y Ԑh(h^t:T..6w4(2ϟH1a46.&
&LǻѰQu4&' qyKs)p"h	y	6v4p	.ukkཪ
2!
`G#|
 O3~֬Y~3f^gkph8,P|8ʳ!:DWGe 5Vdsu4.t>AhD9hР<Q;9A:r/nǠx?V
u4ܗAF"l,; ΁IDѸ g8W6=hu/s,|eACs48ȝ"BgSFa2lP%ӬAV
4լx[]NiiYLoUG#˘NuPаp4Jј={CVb
u45ѐ!C
t6|9
qM@$0s<esCBPT8~9P?>Zr^&5ˡW
zа5&cmkѰ:2dX9
pNASOkBŋ߅ǒ	
Y[ί)@ǓįtU+GG PG+hhqĖ4&/^PG#fj!C5r6phq CقTw|}AeР؄v	iA}:1
} Ɵ#LdũAoƆH$44G*pĎ`_]GBhH۩`5.
`  )6}Cޚg(CÝ
$('d(Pˣ,s0u:@Áꖣ!%s_yWhv4F:	ȵ
t2zQA``|Dr@pFPʏ?;w'zG<#C7C,PT	$008w4d5нNc"רa'u4dذ߅A.E.5 )Bg@ Ay(nƾʑ8x-G8^ zhr]gYp~6,!9NLXOc)FBN{GCs44G68dᔤc)'ck؊VV}{Gs1pV	&xtAxa+?"uutp|tTtV?<
J444	Ѱ:W!<kK&^VA=LC$/cC@Z>Lᄯtk!;`\\q`cNt
B̵痲{
RGCs4ʀ
gMsи4i>`1x 	$8&x&@bhT9M7ޤ{jWGNh@+A#ؿYD[JQ~S؇f
Q{Р\}_Ah@
6>p{p8Ѩj
>Ȯ8S~нNl`p-
{ɰ>hp88;a0qo	% a 93G{9'p\Is4j_ha!cHwo8S,Љ
9D$8g.|=n4dBA7uX~E$u4:~AD(U
69e:h/c.e2Oب@v'W]Mq]8ZBmp }#ghl
y\GC&hOo
5{ 
ŻC|5/FSWAC(t	RG$b3O0M 4GC
u4F`𝬛
]?m%@|4|¤[Р'X:
AJs44`BK{
	h\D@:,k:h(hn6ЉJAP GCs4f&9l`DaJ{_>JPШ
*JAc0m	cT]*JRT*JRT*JRY3i|TWXv4&
HTl@xbQ۩7r-ZSpK3ßvP梬h@885/WG2:=R &vO_,)h[]Df.шq7͝=!>	q$OB<h&#TACWҕ!Ŗnemȫ.
`n4 > / C<@l#A|	Atqw\?{:u4_謟!ط֠Ap+a~oERGÿD:E{bY4=0Ac
q!B!1@yM/S"AU"wTW_L+2FkhYmD466Hmɰ|GNS>@,X(K؃cO8E{#Q_GC
u4d ֎F\%h𶺒n[6hOukCw6B
JdN{@!N1Hq
ѽ_J
u4p4|
mOnr4pqQ?o)gmW!dP۾>DS}3r6ε
b)it pK%9@4l{;$hAdcg3\q=%~A"tе )v= 
q1@ d`XO$HU;x:6D?~]>]s\7|GCE9F:ЖKٮǡc
?6@<CoA =7@\A`Rۯ!A ܧ+
u4L uP1b?%:FR'Fq<5,
g4GW$F
8]uNXK 2R\
wpj(σXeLI]ڶ+#jE+!;h Xۥ!:Mo9xl1UA96F9Ѩ
\B!B́~(
tZ5hT{;ĳ	pJ%)mp4X ѡ}ab)喂 mhKs6uAq0QvX%:B}CDmj sA򁶦zxms4-ZDj hh`Am؅ÇiawA<r%:iY@F
u4H4	-qm5*,ѰNu6Z'"L^WBBb{ApmPGC͔bG"l>#(hxwcK#k'0-[P~.a#a$e!o3.{ 4CX E6t huw42V%:LwJ@CAC˒X> `Z_l>QМAS @{(IbQ Ķ{[;!dɠ~N'u4S1ú4 ȀOe¾ɠE%l`:LoRD3L>
az:ߚ@+L8;`b)FBNF 
m
cAùXаgDZ`4laA:!_vxM'C
q	C ݕSTiMPAǦ&ꗣ1KO:@'s"3h؃Էih
S%?>i W!N@@aS
A2&%^K:oI4.2.	X GCU 4$ k4G#lGCs6TMCA<qxBq.և1t3xi}Ѩ٦j2h1000'R$`7NamOhѰ
l6)"wid 7USG#|А]5){8]bAACAn3 4G*v4l^=lM'@<D q1
ST={%mU^Aÿw44XGmz4dYs4F.emIP46J\xmAj
xM
V,е2Fa!#g,s_@ݐ|Qi^A;:
lz+w,pdO<j`FFw6o=%q ǟiJVGC,ј

y.Ld!,إNjk>hsik*A@fwԝRGC
 WGC%Kب٠EV@y:1?	 au4Hh4447USGC>hCɠNV	44<*[=+R@l>ha4o/4oƨRPJACACRT*JRT*JRT*4%o%rݷnRT*JR5=
g_Vy0dyT2,RP)h(hO9{fg*4e>
IACA_
.م;^,PGCAÿ4dg44C+?)c ҡ], c2|NWI˱K IbmXom7CL+xix=n7
4^WpRG#/ّNQV
A
!@A5?ve  &dMsAO 9O\BѰ v
9:>EU	'
8 'W	hX^q
6@,sWATw$_<h,d<VS3^w*7=%dt7h1rNM
2d`9 .
|v B|C(HȠ|jK	e&I.̟<
̧@ *r@a ~4s4M}.-
4x2'7B/zSkz::te]A,pom? Pu䘠#ϰ?q P:h8m4\[Cob !؎%v쿟+PPG'hTYqrMlC'{9
40j Yx_;'݌4'kOhgYĥ#X
3&IawbahhĶN܂91/nX-N1I1N3 qcxW
$tx
%)gـ;
=BFACѰ
BsPv[(Y8%8}?':G ~񆈉AKtw: ?h
1?)قEi]Ta/h>h4;
h4 4~ 4> ,\1' 	a%rRgĕ@bbu; @ui	zl[
u4PK4G#HAcŇ'G'0/l8dPv>{䀍chܩHM@ײNdx<N!xнN8h(h1R2(9DKY_4%9h8`? pC? p=0SDUϮ`IPߣ_ACAC:dPJ^'G8[e7
h07*!8;vOh{o,*L}W?wDd .
4CO S\{>/(+h`
w
4XX
u4t ƶ,܏:@ܠGh_ɬ!JZGE HО>OGiyA|e_}OC!#h؄A|3|h_K;
l
[^s44GCACѠ5$$>YoAc$so%s$ P!#mTh=N/@?ƂhB58	
M!c!ķ2<rvX}S:

u4Y'{[YAUgGPA] 4^`OG=w
-ĝ[;%␈ +Mq<m1w-w؇`7179*,' Քr?i<R>&jZ6	׮6`ÁQgPG!v牬mae'ÿwK[;a1fN&i KI@?^ ł(7rWCћV6F85_&Pu9P,u4d]W
q	ڂ}\8gu04 4Fv	5	d[@d-IP'3(3p1.
HPd$zwvҧeh
D-A01a#	2hb@(>I^\^|s6->
◱!7&s[D;E)$rJvS޶9$DuP>QMV
hŠF(G
A+N	x8;
}
B$-v5;se|㱥(Mk
eFI჆:D<GCA/з:6 C /;m@mL}" :{#وĖaѡaCAC
)S

Z4\K X44 4}y  }螯/@cgx2i{mh1QAd4p h,nĮ)97! ˮxى B*MQjPGC

Y
hXm6 4h*j.jl^־/JZi;6A@(dElA#N4GUDNT:iqH0
Ą*Bq&Ct~` DᒔIo=ؑ!i 
_
#
Y

*I!A?h݌A:(QR

yk
i:*JACDlT*JRT*JRT*JRT*/뾪bENRϟE
	+`[ xu؆}oX̙e4
4r%KzTh>h@O S^q.ĚakںrLEWPGvh+b3h|$}hK @iC?DNN4Jg?G	 4 .ςk?܍P	q=?	{Te	v6NI蟷h8
Xp1P?PM!Ch(hjE\ٿA2Xx 
 4	Al %//5tCx:bgY@q: 8LIDc
@_
ȐnWۀ|GCAu3f̘?cN	2#W8뇆vP<owv6^ʍxOu4.ߵ\4hS:u4܃w-`:[hxY[
iq)}(Ġda'tGNŃX`C  r 9 ha8'
u4\7а:1ȵ ѷ۽EѠ={FBv4l sJl;T	Ioqv	Aw܋#k9oQcKٛK j
 _B(Cp|TP_4`1:w 
h
]	Jv	
8SCFL>AyBľpL !IF4Ƚ8
^ "/A  ߽yC9dwh?60d1VFa/Wnu2)A94b1* w::1@S!Fx7P(&C&&lu1CPކAǿ:Ӏx[
MС~.-S?1$	#?
P=(?3L}WP 0`l/_5k-{PGN
;Аd	<>'khpxo54x6DrAR(?&gR *7c)q@<Ut>lw+tBwu.C
ĮE]:;?4\
X܋ѡY
iNADwhP4G<PGCeދР%c(
	(Fbj_s6Mǡ{
jTh;?ˁ-hDLu
)%Imtn9í:.	<xm
p
V@RаL^5á-Bll3 a'%~B`0тx"4iFME^'?$ `<}:ݳӊBA_
4ϊ$@-
9?i{\NzwA)<u_8
0K
j{Ơa#X#Yt'hPFuAAΰHUpsAѬ8!:#_J(GC
 /C?  AU _%9)ǯ𚼎FаAa<	[>~PAiz<t׷d|Jy=i;\ EC'2FY s4"$$cgb$5hUA 5!ǠAtDs48d@ѩPX<4eiifɢNmJwHP1ڊ:!C޵UZ7C')MB9dcFۃNT^A}$|ӦiN5	 $:_4Q5u I62ǬQNq2!c8t29P%A.imXO:'l?U^Od&w2ĭ 4-v-m8dvsuacFO6wV2j1U^?E2
]GáL=gd惆P~ ~Ҁͯά(Ӡ~l	r" 1XhP3g<t38G$<6]
[EAe:tdhe+hwjCA, $WnM8d$_:AANůvq_s7i{pQ>26i\92dhա@X&KKg+А ;㚣jh&IOD2tD@!TA) <<Dxq'Z
8)iPo_%Aauq4˨5hT$%yb]U(2E*:2dH!n_YZHF7Accx
NF;А!Cjѐ!!-d0BZtmT8d44$;.ѐ!Cn4tD
&ɞ0d_Bچ4}m@2	9&͐:ːc~Ftd
$O!䜆	6NhlPY$(v n^'2lSQ7I
yh\XKyU&p4Bls4?eOUsD54?Eѐa?mrPGΠц	)nF"2Fu6hQ84H)48D {hP
q
Zt-985`_ 9~SШS>o2(^S\m*ACRE6hO4`!%[r徏JARŃJŖWT*JRT*JRT*JRT~+#k2h鞑J>T*U,5}A qZ(hq)
J~{@{۹s%4+h:"u
|8ʳ![%HŜJlA{ɛT^whI:d:✦aYIEd!l٠!+l/n
r78rШ͖4DȐa.4/X}{˺4~l7c9)J#$Xv;hdgȑ~

OCZ*2d؀bR4Рxӻ1c!@E6*4&fbRLt  z拃U3g|U
[߯!9
{B7@cs:ɇ2؄h0@hkW3 ϧ`s{>/ 
CP؂B^D@Ixq,$jWAePGbK
2l8IQvw=|NEh:jH[(bUk1jLtЉ=l>hpȰS?g5^@CAc 7b+'a^QGT86Qf#1 Ge83a~jhAGc4VUH>3pwס1ܡ
Y'	>Y!E#0$,"qT+  0y1hQlp`;
aQ:O=Q8mD^4X4pxb-Oe'8lF%	khWSݏ5
u4`Cm[Q`P !h
,ځ}a
u
u< Bp:QO_Thi`(w!hQl`{u+hr`R%@p@EntY%w44\FHTpm:G]h0˽No!oXj7@!9P7a!chgI
44pX$S|sQW	xE%'o'>K:2lysna4d\PG@c7 ?{ˬ
_.6͛wY^Ƃ:2l`9e* PА+a@|an1hLE>n@eu
 %:Ks=i:GYM!:V]"/ ǟrJ7F@&odZƛ}FQ>1sdB ɝ8@Ph
(FDTe"Vihhw4h p5yb
\c9
[@c؄4ޔ7qU 6tIA#HMs4ؿb\1sł]h8x0/a!Æ1-+=O(9%=A@C
9YDX0>ab)kb

Yu^$asىaa&kPGCP$6&y^Mph44"cwh+	2vF0K4 tL{3"-X`w6QdQZ+=ofu9`M
u4l@y+!f&N?6bۨ?1]>+GCPHJةuȅ $9 x4P<⮪_0:ĉtѕH*SPGC
t(8 3и$#A?F90DUmF	CIpd0#Q{k hIt4x 
neY's#RGÑhAy"ИAEFc
y[9v2H݌&+	fP>~&퓱'䥊Ń7[\RGÿg8,x
9h°b1E@eAn3 92hP	&8T}!fu;d#+AxL!~Bp54~m,:d(f$hw
x,QѰuVH`-`mЉmXFD@qlJ@CAPClUO0@*G@|o~t
Jt󺎆JAɠrɠ*^nAH%%8z.UeAY'*6;8t'K[L
{rPKo
J
hT$@>h!K%/؅ɟ4؂]IND ,9hJACe-_q?
-WTACRoƥRT*JRT*JRT*JҼ$U2 +
JI0!2#r]և<M46(V]Ogۨ;;q|
ˎ:-c.Ł}0pw2%e0E|8fw@
`DP_70X><V&
y|y-
4PP  lX@E-51򜀡1HdI-@
I>8(XKRYלs2Av"
 VmA %2Ő*kad2tdЀ[
0X&@ dȰAqɂ5k14L}%Ȑ`C
9eE 07 VbzPGh6, C
0B6m
t2 bdp (ly"F:E 2-Ɖۓ#4в9mkt	b}hP446= 
,!(l(lpFo(BJ
 VQ'@W \+FQlnѠ  } @yCW&*h\C
( *@cS(<AqDKgدe<*^ h!KP9*R!)}YC {ˀ}wP7bqdOYMg.6&F^8FX+
u4:%|v`	1`B z-;^b*~P@B;h(hav!У!c4V#RXC'*4G#|PGCv3a%+:lg\B6]*ޞ}2l+
 (v2X!BX:?gڂFabh1SY!fL膌}ːݎ^v#JQGcalFhq68d̘1cJB&AjAbh>h((T,4z@ĀĨr4ؚ1Rڶh(hRS
$~%F!C^4YhhJ:>Zi%̊Γ n )	t
sUFU2H.7̀Y>A (GN t։كgxqXKXW"OxbG"l>ط:Q0!AHU)0J!?hd(ϳݽ:9h{kPaVC'I+\(e<%BƪD	a;VU$|02Tl`5Ao&d
@V{3BAɠ龜Fɠ9w%X~Ja&
(<,NPLi;

ٱiwFn[ >	̈́!F{^'TV[ynH䟖
ɣ<DGcgL,HA@pFR;[8h!ȫCFs@C֐[}<CEv
gv`W<
v޴Q	&6Ap
Ew
Mkة5YVd448dqPGd폤EF!/څ aK7C!3&Jdqv)k*"ɎB".&82
qPP"
"WGM%{ JU^t<+J1hf7GC
ڦյ8d]yg25Sh. s66x?ÜyAÄ3}UAdPl2RGra2
Ԇ$}+p5$uv%h(h Y:gv
G<ĕ 3v@CFHWB//h d4426\A:4HSAǽ ~GE44G`M6VV &>x7rqu4e?4̯'FahGcn @@h΅:Ղi5?wB,7X\׉p:Æ
d6)1dx7V 	"b7XP?ۋh$A{Ss4vd'Gxr
*N|	7qX Q4~n_or)i62l8u4:! ؿPG4*F+ux2@̄ǡ	_3@cp2
q3w7#j:su4ʊ9 !FAC
]Gok lpP?4
6T{=چV9s[P^KP
eF@FHJs4tI+>F  ]c*U`Kĕr2j/U\:qu4F4u4T{{+
q@l+P)h(h-vJRT*6RT*JRT*JRT*d6M*JR;/|dPYz|/t%RL3Wlhh(h(ht;mbUaFT4ؐ
 xo"/88
7U$vzW
 
h4;!N44hAuR'@psРa:2PPGc tG`]q>oH$e8jkYNZ4|&Y1XJKc7t"oo쇳"4znXxc  {U8)_4N7f.Y`Ҧm{
u44;8\a
ȡ@\ p#!a؆}4eMoXU ɡ. ~1bu}~o>^1P!h:
4lBnw 
xṞOjtР"4=_x;s6,@CPTjU;JLpxS"	"ATW54PG#|PXX
@wY+/ȱsZu4@ƮX?sgj W	3	yA#|'Oј?K0#08#YhFACAM&3c	|v
mۋx-ޣl 
Ro
k!7o/^<O- 2@C\1HJ*ʀ
u4=hp54g@E|8t4b)]a.T<:lK
W
2l@c:q6_ġpKxοf<q?Ǳ\"h5!B
PGC
j
MV0kcb" E߳@/(E؆}/F:9d
ۅl@`kHJ9h44,4hAƜ9s"[e.#p83( WшkA$ 40B'#m:
u4hhثA (@`&AAf lCq~Sx
nphY0}lyihȐRGCn

t
<>Ȗ% ?a	EyD(<g٨dȠ!C"kia_RȰQGC
u44v& MY qcs
{pE2xNBFAvoW_u4#kiT^M
\b b /b](.8.9BY%ZyWIv4Cћ4B
%0q=9hWA`|
Cqf CΝ;`do(9dN0~V7G/d_G?BFA4.ܗCE2dhh(hHS
ҞaN
X
т8# Md`j7:p|tP2hhxu4 &"2 29t.AsPGC

u
QBq?NBk	Cɶ8u4zhJ+S)㊕2a`DPPGC

)g$GϢ7X?k֬0d< 4, -hPߵ}e󇺎B0 2tD
u4hpبh B
b
ٳgA(C/?@=AaNoSThP[dv4ɚ^AeP \%
QY'hAT'Р!C 6r8 &4s2 a#)A9
<F\:`WsQp1K˰2'lA
TWРi#omˊ942 }8+y\Kup7xpj?*,A^K01}2:k{w$<:@a^Ks4PGCA➘4Q0'υGx8
 c
~iSڃs #4И(	0cZÆ;hlAb{̷ .rx74MHalZh@q+Fa$hC
892l(d:UhT!!\\'OcXO'+|G+}F?hI
]hARs4d
xaFS~UAa
4D\ 4T:PX?9_8+xШH:!7a +EePRPАU'P)hRGCR&
`QPT*JRT*JRThݝq
[)YE
{G1j0zޕFR8pI](?^Bq#J{M L%Ӫvij'mh00Agk1^hA<l۠#>FH
4bue~ s(ΨA̯j<6[Pȸ	   L3dlA@'0YV4de*CFˀ`x+pauq)AaONsLlF:ߠ! נ!lpg03E"p~(_	q_B1ƾ00ص
G442ِݖjG#)a.AE;La
 נA޲,=_0q+T	hpK.ؽ4'Kr2h|!g㚥xM9,8\4G#iL,SH\,n9a.ʡ<FРA
h]AC#l FVx̾2,@P1bvqK4dWAăA	U|;Ľ'k k{0Y8.$ChjvQ~I-\ٚzL!hPߐs4؇$\Ciw%lA6.A;~G'0p5hx^###qߥ<7C\}>Kqap"(v,y
#a݃
ʂWǁa#\T3U	6|}:,;2hĆl`#fjXZƇі9P%hњ5k]/P]!I
*X!O9n؆%G$[	4s2^iѐ!#|ph~+:Cv4//4naj_ZA8? /C1Հa{[%@:A=6Dg`f, CTN4h(hT'hpш
hDJAMg 
hv:@#0 >]yĀ Am{	Ľ&wA<
NP^qt~KQ}6|h BAr*N
]NAB֠!Aϡ>'X8Dh?Φn]hDߕA:FyqQ
4D6k0HQAm,HmaMPgGtI3J9qR
GCZVr4giEw[$f:%_Ap+%bery!dP6BC@C 8@@Ñd2u4hGrЈ,`W4嚥5Bш|9hIY%d*y]Gˇa#784NaC'7u4Bw4dx
A#.Q9ތ/*mJ[	,~.:?te\^l[AB"Kh`NR7U3{0+AmB`NB=̳	k\.$	$P_!FsDAC7U

$M<,h\U2!6G	!J
3/[o@GׂF1UT*J\ 
nRT*JA$4wU*JRЈsHA#T*JRЈ2$f؂׿T*JR IvNѿRT*FаuRT*:,ֳ/JRPT*JJRT*IATT*J=9[GCRT**-T*JR)hT*JR{JRT*JRT*JRT*JRT*GDᕪu1ǌIFU޸H4u4R3o7`I!x b+Twz]~YWDT̙&/V@#H 	j+Oqh(hD
qa?1
ߘY:D
Ya2a,	R;k?Ej)a  0!Y!nX	q@C>h:6G
!jRTgZzlA\b t܀
:NcPH9drs\< 4,2d,Z0:D
nb*sp
)hrȸ	   L3dlA@'8lȫM+K~yns4jEg#&u
ֿXN@#
 6ÇxQM
p;А4Јx]RAC	6"k&=\u
3XVhT{J.ſ@J h7%/\аy s0Dh9}hdx}\W?CRm'/h	Uh48dFUw3R@cyЀ⬤@#PGdpqPNC|=l\9*KzSB|=fey
ǠFP+(uh]8IeG%Q_gSC@ðln 2
<0)$G#px^2
G4U)}~a|ĝ_ ʷCq2
 kv48hM.zaM7׀C)T|;w3g|SgC$шjh\p0Ѡ]e¶6`@h[a֡#hX;, Ѳs40
48dsb8p4F$ )${GSx37ܺh q} ƨ
h8v4F
'v1lFOGgP>N[9=X+GChBH
F_̾2^E@ʕ/^<pJvs ~m3$Q`a*j8|8Ko%!h}ѭrwH<GO}߀a:2l!
 c"A`uow6ƻQhP}˨6eöaSeh܈`C
6dxWNJe
QPf _!r!yFg4H|CSsxmHNȘ&<CW+𼀣(O.:Ǳjh\
r28d6Xγ/^.FNИNа[e8Ԇ
nɚ@L	,Z>2h'<
4l1#OWkjd]8 mXoЈ=C'q-}boK %0QN1hl&TV;'r4ϛ7Pr5j!TY'R c4/ԙus4~eյ)IfFw4;1< -oG!nϪ"h dxiP]%L@QRaI
i	vȣ80{ʓA#C4( и::K$%9?e
!;~ѐA,uyd
p1^g@ƭX㲝J4^{57000"(x`z+s191qCѰbs>`$Xo@HZdCQ*iz^iFb}lA#G7h05n
:Ag4p\-L(
֠AN@>B@Yo@ av"t@r)?xʠ@[rG>14	A#M=]/MrePЕA4$ s4@@ Cz.2(8uKc{$ ^O.ƙ=ϟq]A}^-h>/
\);re-AΠ@p2FrwV{hÆ|C	4\f5ۂhM6ۙ> C tGy+/lTMH:!lքԡ>UBF0C'.7U3B^:[4]
Blt	40
@Ň*7@AS]eA?w4TW9cHPY'a~&or4n[uVJRT*JRT*Uhc\*ehOkEhi)J7q[_<u|^w͑i vPyT(WH}]fF%s\W ,/}4Wu	E%Pil*6hH b	~S)߀ؽ٠A _FT
g\K ]q-uց`τx(Nc{kBKА Ebi2#Tp	gt~аAb1چ(:jDyNe!n9 'Xc
x`}VА"HY(oZ4}gsmfU;!AlX
*
q%a

4g c4*r>hX4,!CyQFY$ö-"Аܤ>>
Dn:!6
8Pw*XXp<<V8Fe9t wZ+^~MuE%0h~۰OB
<7`e}0~ຂJ .
^p/r=_:]ѢSm~G7밯QRѐ߯!̐AeYټ7h
!g\4d(	DO0{JH F8!qٹ'P}"ȖX
@h*hP1[{!m^GuYַ(0Wh[
Ca>t:8d2IgPZ?$baFl$Gc 15ZѠT/
;Ԇ3f2뱟%h<}tԗÆ,
L21,ruC zw4
h֨aG
6$Ȑ،,Q; IɠA簤sb8p4oPXG=
\u
(WRjY@'Ç'4{O;r48hܙ4>4gu/:-up9u"A#lK5tRQ{h~47a1MLF
3g Ur4b>܁807#TuB1
-(Jb'Y'hе7"\
|U5he+#A.@6lX%\u4~o?$팜Yp<@cS$(0ИNϽӂ6Pl$׬j{BzF&lph6Ytvhh\͸1Y'\V#
Ԩ4ڰ!U	</)kGC|ox 
r4ңv]q:K:֠A+QMJ鬦NrHZGCrdPN3\Q2v4K52GA5'hA2M=4|b
,*Gt|f/ 6B<
q&%~a魴S'gsaA`lH#\o=n
񽡎u4B
.ʠ@<aV"x2XAD/ɰ G
\Xpɥ;s@&(Ѡ&\G|@	>Ȇ=_
uC92r2x1:D\Q;#iahklhAgj{
)`Wk_r`4T^.y%Qpd+sU
Woc`ss6[}|>[Ly*2`{6mTXJm6jC2|Aʺ`\H9U
9GFWfcGeM%-Ħ?\%hpؠcXfMKp">`39<"ح7TKTn%'z/ķ{/폿pgQ-Zhf"pkͬYO[7rd^'!(:Uh
{? _P7@¢O CB\
_lr4O1%MՂ:)@G%񻷪Tw4KU+F(C*N|,Z͡
FRT*JRT*JeoT]xAH
.[DUO?w^@eSШP4m86/6ٽhx0_<Gr|Ugϱ𚨀?lrD
9d)hT!ZW>KU
«dk󜃁M$7C4׬G)to_뼥KР|^ Shme#<tG#dЈR౟d^pUw09;9<z@{=>'Ä}8:>Ac-qݗ㹯d0(h\h{r<	Yܹ<mPq3&:>gthy
bf<\F@Kv?N9ʑ$<'l|`	xnlWhD94ƨm:o	`+߲%oۗpTб 
V!6KȈ%G4]7µJvl>g;A//Cb9]v cѰp^
!t,q6p5WM[8پ5p4Hեw<_s/01bpÆ)@r4<%d Y2VC/\ <:j{H'<n`10c5
;{SX&GjhؿWs4{!GH
"ƒ]7	Wc0Nc{-)$G!ð%mf6҄D#ذ Z9,Z"QGH8>lHn@Fol߿80
u4j%{JG:iaU3&lu!dqiIAbK<!'R2sx
Kh" 2xKnyiЉ{Gj<2hܙ4>&@F"l h! ~ᒶ|?oѐ%F4VBBL`0c,Zq4FҕaaOC<l2a&=yOD/g
i;	.nc}\hцBɠ9YV^w߫۲B	>fN6Cԩ4ȸ9>,ۮ"h[-"hcA1_֝d]9d!h 

	261\aа190`b̌v]w:U{*G nƍ!XxX 
>-74j;jP-ؿVG#+UJa$~nNOf9@h8
f,!?tb]q:KYRs4'N#m{ѰVh	YF
ҹ8tB=6&X&up4©G2hLgEׁ2݄:;ηu4dhAm
v(ϓ
s?GCVUq)iƌS2:!͛7epסnBJE
[vguv4l^'LG%h0(
4u,i+Sz;ez+ĨAh_˕BWMqrĕ @gC:!p8mRcPШT:
S9:4dmzk	1gIQ#u"А#A46<+
hj{k{r0tpb
`ѽNt󺩚'˓b e{\ACJA#`Y'lVܮRT*JRT*JU9ǑWN$r84߁
vǐԲ,!hEK!nr07|zzHȿg
pK oA|`y
A12hwA:)	8 ת270̌$KW%h@$3!n؀AgbG0dTL2۰oM@CI} QS`l\1Uus4rʞ["iE!ʓKC$Q7а\-w[F\ycY>%Im}$ݛ>
pW#KaI%XG}XW4B̀{7QA1v@l_mGC4걼hг(^5 vo2JǮ1ԏÆ;h$ύc!fP,:j;h2ᬐgCe3.I;2h44~Gg ~B}1W,H?/m
! 	6Άx3s"~[@uj+hPC@V
GjxA`}xlXF؎ږS
f2_,X#G[}!/$|)4x%͇;|:|w?A
f6F ;!>4x7ALAֆ{.[hmh>O϶_To@-s4U%hd\X_		F L9f$͠
݌ޘǑ\FFFQGC?+XDC'R4;2)PZޙK[0vh `	x4S#D*JdАMߎF8m@g
PW4y{N2H6FMPgGhSW66Ѱ:
Ns,ai9ObJf.
ŝk CUA3!6XF!G-dߎ*
(p̙G$[F8d
2ؘ
9Ƈ~C'p
Ԅd*fspPGV9+!1u{Au/y?P4>AN:iPʜC'ūs9l:>ʞub<֎y/lX:5V3' dEZd-:>iF.Lȓj@7,AQ+}2hR~PN}&FѠr^ӳllJ!v.m46U%r0a\)GCº,Fy$K
A:Ԧ8y[[$hp `al؀F9Y:h`<;q^)ш3иlG:d@?	r*dP9s4^kͳu4%/VŅ9캑ÆDPFd
C';XKc%
$Oa6Ȑ  Mouh8~qp^STSX<av9]h踅y@C q	սhCo]6rl!.	lr6p xͥ.%SCx*G&"\@ٴp!bŐqNwk
ZT:qgN
llr2]@t~+x4e_G`f-GCrk[Ɨ,A:adPGJ0`Cƭ?w0Y.)h\(ƅ!9oG6ѠTG]h
jh\Ѱ
DPɠ2T8hT
YPuҥ]Cub"{SXZۨUIQx
wY9y1a6ѐK(urs@CݽUwol	]XG6Ӻe`]:/
nQs%
H91ݽURT*JRT*Je|kѢEY2[gߍC9y&Chȡb:cb0n5	~
ߋQgsf~rlyxRc|6/A?/:vǪ}+KA݉2?mu
lSdU@K=U\fFֺ@YV,H5U/~#|b\b%2F$)ь |u{mx؎:0C
Pn8!A9>qNu c9ai?yA YGÀ44:!3la[NHXLn8!֎=U8jЈrhdc?[
:ky_duW2*^
q`__߮Xa8_x=W	t<q3&:>r8
#x=D%c=g<V<rZ1D~n?hThH_Wrάo5h/
Bth|Q uü1F#.@͸M[R`bub[@M;!K w迾t VhQtcӞ	
 s> @[oaqB
]JM	*Ѱ788abKXB g>#a[
zVft:AuTG.8SU$z8<D8h
@˂Cǆhr8ܟ1ڟbWW~ֹ<Fzg3Hw؆}\2ﴸ-4*TƦTx$	4(r5ckFVg>v+v
0*p<
?hphp	xV4dxrh
n$)Xh{#ԝr2 m5PW1Q}VOcic-|аw44nlq1FL2V6Cp\] r*wl8=ڌG6PPlfVJFt4k({q^g@@c>@p:3YzP3(D::] NC'#r4dG;.@c޼y h
!Xb2`,SyN֡Ir4XvAl+4qcv4(Ջm,-;4lo@pa4ۑW4xB(O ex^`ꐠIʂpVV8n4'r$	
xT	wf0:N@#/"X6Lh	iDp4
Cơn4w<4\$,ױkV:x 6@ce;)4aJ+j۱΁!s,@9(]d@hfΆoAg@99<Dy#5
h0:
{((s
|@#!Ƞ a6ķ ~G3Kf67B|h7û4l7,#*+h9gSҨѼXMS]ѐU4(NfamWoA<ǧ@N6F;>Fw?Kݎ}|h
@CVzACF96C'<g7B	@َ}*:iKf-hpUǸC6t4.2CЉ9iʎIaѐN23`{{	Ix]@ݵ2Ew{p
q3e#fw:
2FS>9!!t@= WC g} ֤f
h[s>GW\JYMFr4t0u7hXR2(91~\Aodi0@sZ+i_YPu/D+hPo'WHIZC9dcbs0뤑[MUs4@V(Nmb:OorޟG>֋q5U1$u	ąyE4·a`Ԟ</7ۂ1&ŽѐU!ɓ!C"|':/%MI-hX^
\F2@#NQ5aht`,#'#u
h=h[!
>LeT$p8%ƅ1
tȐa1Þ.A.=KNవ~C_4jK+
 ;hPۿ@vUZhS,%Y'"ц
/`T;RtIUnЉ^'<f
6.3u4FѪz-&Tn4T*JRT*JRT:tRuX,B&l}Bo;~'D%ʒiG,G\%7444x{:1V@CACACJoOi6HL^ R&Xhh50eM'-lxIB咹*?cP_
6_K;-n<X4bUD9P`yluL1AK#Uߖ4 Ʋ,wjG#7_Cب4b@CAxڐ4_fS4vn544>
fH܂b9[!4檇O5VC~`û4hĂ8dBg#tG#!248dNHhx1tV
E%GCN)h0H
VPv%6ۤoPi2X<,Wzhfs
4FLhĆ,
!ˁ^ɰ 	xPG#,u]ٹ@ #
<ص8RM&ڹl9Be<Ϋj^'E&@ƨ
k*}oǻTѐ!#;%@F;jViw7hhF
рgS dp9&N
4l:G
gdY]Ql/0h5
4l uVЈs
G#Ѱ
{'#l FAah`F5Q6,"r6,\fF%.xXHN6 02d8Ah@Fv
5hȐA9fP{a'S8hQ_}F]M
(Gxd
 η)WCH5#{Rƨ%@>2n6LѪHdT^h!:/~hu4xs4#hQq<&k
hp79h0AsAX-ק'8|
UEa>˄W@ (@×`9dTh0"8
a8L>gXʖ%չK s4 .^K4tݎDDu
KmLAtMH`$uu 4T? яl@&dV"dT1j@^؎qp
t4|h̀'`*Pd84o޼סnAA=L1 [!ëa?u$-w4ʟ#VJbiZiT Ù;հnmS !;hpk4Hț4qS:lY'
Yuw4d%1GB僆Q^'B=snOpJǣ2*s4P
@'
+GByA#_Ѱw2> :aueP!4bAu
oJu։`|9ez	`)%"
:T!M=L>A.=
C7UMժ"Љ=dBiu/Zp4򄂆0n_
+h+5tIE]S8^nRT*JRT*JHމ}u{Qs<zLb?f؋fI,!R\A#,9xt6I	l`jŇ*|g3_i#B2TeϽוi"hHQۡi?}}}M6Z%HT	Ko!/&U F}(K WO"<k_sа
m92ɖ@cq&E}@RBh;88{d
)*
lu&B
sa+o!iNdF׻|N`C$	8ҵ WadAheb֑U"W kۮFu"<}lH@C@v7Yx-hӬ:y*@>'lp)Eh XKa~s#fd+ ipQNFy
4;ľbMJAp&Civn-\b8ot/4b02hpjg"YhPy A2L/ۡp BNFzg-h%b4(̰]Љh 6\:a[hAW!N`QY2n2@!6ld! [d|C^.Aku- ۰4gOC|́Q0Xlf@+phXd8 W94";ɠ"0[oUϪAK؝mƖhn!9E@Cp>F[9q42Bvmz&xUPI0PЉlKa
99Hv4X?C'3,,%;F[;:قDx04^R  |%c]4#8k=ώ(E2KdP%-f7G9g
C\@zxei;\KmS/@<!j!av9=Xa#|Gv<T9H
ONG՟rh#d 5o<Aҏmا*Ex=#p
BIs"':8h!>GMF$c$b:GK:	6b/	4dؐ﯌ep,ZB{4l#mg
RWG#|А
yGֶd.X`0	(yҨ{pf9d._%,!?tG`{
HbdJ9)ѣQI7614(hGF	F;a3IFjv?j;lGp0zt X/gA{t]mFC<uwQr8!!
 xb+G#"e86#PX߄
II,}
חA + 2;^
.aaFKNciBBęAO*4I&*Qph4`z=J s>; c#īp/(A"ʇN@!CgMoACACHbqc)da|r	8h*Z8ݣNAR Ce0x̀TA[nАf!YFR
X,C\^_Xhρ?s-)Y %@t8Q sL: dP"
{+K4_& %9txAuaŢ?Vɠ7T/SVmK;  oCn	E ~[]hT2(AK)h!XcU9\>ϳQoKON琋H?q1w
o( o"o5RH{k,kAPAus |#$<gL=mzkg(V3B2tx&xQЎFhRPT*JRT*JRsƋDR#zC[(][m6t* HJl16ZhL_!FUcia.U2)s7)hؾS
(R0ȼ̌u
(B
YK~,m9
4d	Uh}4Lg"z:@ou
[VA5o5hZ
XvzOž2б>#f!Fg!6QLu1.YHp62|p60_gG!#=(
U&U	 b,m@cϝTo`hd%/p#?+G
@,V"l>֠Aa^JѨ/@AyAg§s9+)$<t 4& 6cizj_+:5*Εa/E{'Á!~xs*:P}AC$Tbʃ0xڀs1АFh	[\F{A#>h\PP(UMCX:h!@F
Ii
0Llk(zq^yaQ4hhHi6ٜ0tIg>\ 6P܀uؖ-NjkpNd`*>:/
7q4r(mIwt2 $&w~~!9@o&8%-//8@L%g*N~͚OC&Ν;`Bޣ:mp4dѰjaCzFr-:oўuQmW ;h\
>l2 g'h0k!A"h{/<CvYT4]{ a"F:wJ͛1ƣގ;,:7ĂOAAClombCA9o@r4(Aorg 4S`k:PG:9
ޞ4dJX $ƆX4t"a9|:\e։<lc<	3Ɔ!ˬ8?x;s<l)t1x6s+:h_9hnZU9d4ѐ!CVϒA
&4px g*4nIZݣrHl،vp"`0Jq+Uh2f*Ei@ѐ4Sfh'F9T	!Ƅ1D42Ab9ѐ# SWSQsɠ CACX{ĖJu3ē>&ʎ$d𾩚iCy@wS5͠r TM2	^et
ݽ^,&AB!G#G#t`։noZXFu
l$/%HACU{а_K<4j)JRT*JRT*JRk4'ҹU,^pH*<wn6oZ:DoC!jjk5)KvƻⷼOSN{{|[ΈO<NORnKڊ.dR;аP/
ܻb5@şA,oA|`
"H)

!6dyW`?4hX$'z=s* ,`K7P!dd;QQphp
]{ciqޟ ~hѢSaItˋmuXkiLYO+dI9l8
_ՠ1o{ǟƧ`ħ'`3'/9E<?pq2,^K56=4
sN&;S(nM+4j
OP\~9l644?u^@
4UnEi<}R=0lC;1;ʣ^488;ڮx$ؚajz$Hذi%+\hdGCߊSmԧ.
:mx|
ĽاQcXˁ! 
0шIcNa4w41cv(P`="SȿO<mO='G/:f):s]>{~<83dPXlf'D_jANA:At²H鹞qcQP	I- j;>va;*-u@RE}]NmQu q)۱#;xk<
({Cl1>$.A)m۱~}@3d8
E k N8CyAydĄpk،hȿ>Aÿa@_&
4x]6KX'G:uy#scp)6qHD< 81^x1Kbl̾pdŚiyd6hjSvRG0w 8>~C7?zA	 MpEƓ<S^nm'GoNz
HC'f0PGj 3CƜߗ-!zFEGnBnƮ m1qگk~e'_ӆ 0*oa 7}KqXrM5\XlThȠ8 &d@"M 2FzhY' v݄T7kf␱۱>	
żڕQ{ц2AhXl`0|GR^
j
bBl@r2c %D[g:#Q0dK0ȣG92ƶwuv۸_jm`}DyYGK qƻ XG ʏ24"9D JYp<uSw:2ԠAmWyxA&0dgLd}N6 y7	4na:   ,< N} i I8\PgA/=KYr:>H%	9a ʅx@r4yP~]<τýH:4FAuC\gVѨ]9=a=BcI}e{FphnN
x3C%C2hlar4d\჆,:j{{! g|C$#`goxGć>t_16/hEz0	Q 4,_r&XgpP b	3't~A!2h/A!gu4QFi*y`w4:?H6A91``֟ g`k7 ďq|XQ-gf_8o5/~sسȰQ 4T?@ 2}f4(WOu'wϴݲ2
kc9 B*wT4|N
p`::Y1B*:o9783>4䃍ȳdheP{3؃)q+;HWthpȸ~g<^'.@:T 
ZxkRFQoXefǯy݌׾>-{p NCbF*f! 㶪uS5AN0*VT>59gn'axWtSwouhx
2߽U%ł]

KRT*JRT*H6&,*`mGɻF2߉8Sl8_q8:<ѿ
zTSU*mh
c~v
^#U lAiT%k>)ȥLř_cpppn
 b,/~L7Teҏ P}QNZ$LACA_zѪa
V/JәȚHįC1q͒Ѿ?ULS$o2(CW l
6IeܫFuS]8]0lUsBZABTChH;v:I*}h0,,͛2ߋ`crAX[ncCmip4qH
hd`eTU+ 4뾋
eJU!Bڃ5+b5GFiM\\p:pġlhw܋1wz7v0@c=@@cm-
@3xN9͍-S;2lh[e˳g>$"1]q@(54;yoy8Aus4$ym8dGρ^MYBݴSf͚1wDu9<8QeרX1a:Tsf#P
@ílh$Q6Fo]ÄW|ecwug;АUv 4u48hg*awo	4օh`Õ4lsauccd9|ohߛ::i(pZ<N-2ذw4l@C!'[Qu;z:i	
8#fdVLLx 6P܀u&h\7Gc2fqRGCs"XI}HP
4Y'$̇:M!:!9F[;`C;hP$p~
Lh\ 16SbOUGzA?/1鹉9qjhȐ1qdY؄*pGh8u4dh ā4*I,0&%:JMۍZt4( Wb:hk!%ɓ*[G#km.h|̱5YOIgv42&9pѰ`iV9
 #!wdP22 6 1i+x"@؂:[\y翣!9]!C<lc,4G߅f7ĳ 
-d T
߳NmXd	C\g_pi;e2(-)4Y!M͛\d
!hl:Hs4*Mw}ĞTѐ᠟AA!v(pcߤrtspBGC 
g:
:|x.%b)ԕ,
2A7ʿmCF$4pfDe^9w4Z24"]T7TG1L;trGC
W
!ϱ42(1R9*fr=hq~2(|$ЉaOU?h8
<i׏ӵY o6Sɠ	ǩ~+Q4(F9$c
a{GN%Fd DdP{5s	r91D.{h{Xu{G*GT>b@

r>+
6kJ9-ۨyy;9kRuR%h	1=ȻtxF724u2h7
Y,Ky`W[U*JRT*JRTdIqx=,6k$;߿h	Fx76@<1k>|N9j_AϲU~iΤ
7`@5~O4Vҗ,]Ҋf];@p4Jp8bCAwHȞu
!w"NWx,~e}Jw};sM:ܵaנeT@C,r+ZYȀج4[,ɀ|74/*E
2x9-OsF+Ј2c4d  *mOTPKgf	nNw>%xb9TcBAFʕ+ [&А8
޵JG/I48H1B
oX66%I0sO
yVQ5h/Pf+:@]9&slr7eZ"xL<"ϩ{e$d!
p}ڞXy6ݻe'
",xF}2F< ;@^ЈT@c_S8dXꄵ#06\.n|'aCd<S?߂A~4zi	1_]Hƨh$-OPs,8h8q4o@Zd¨0r(h``+gQc=ȧې188نm~]v'46mXGq-}&rƄ`vyrz"t3EZl@Pd
i(
XUwLd?g%8ĊGcۓP|buw4X}1
8Xa9	t3:6:w48<OP97'뱽jР(AXO 
iؕkG|G2
496$ 3$dTh\G}ZU!XBRhʰ2}x
	<$T7GpI곑=SI2h;C	ܛ4,œA}-b`3<q
kJAc`wt4vc T7kNH)=.	<NVa QUdZϘ1cJ\Ҩ|O&dѪ4PD^Q2Nؙ
ܝYD0o9|:oFx8d=
Ѱ9has4N(]|d`Ygܯ=\g3_ar7T?ɠ17lA#%|fŎPРXQ>hȎ1϶aC,Z,@Z2ئm!oתNM
eºZSވdB>C˓as42K,ا1n_k=òj`#_r=y
S?+}mV-[00ذ7AB a>X/ +D^$eAtys>9d
Q2h@cy`{^ OcNwȩQjh𘰀!Ù 42*/yJbfFm]
jۂͬ'
h(N
;f%Q3G˂]7
aS'2-'
y
l'!	4xFhȰ25@ؐ 42ASVR' 3K
d mWQUTP.A^g36ʓJكƝQ̼c
>A1 lo02+4STp
9#A9@6	x-)%CSՠDɮ$H4d-X`*Qso:^vYQ2ظT\QFM魣r6
+^!@G>Txo'EHh
J`uch`gZdSP=	m}%u
[AC^t2ؐ=XGN7AC'ga<fl|Y7{
9꦳:4h^5$xaO!4M#\NVs&&b)0ѩ
!ϱsѨ:YC[G
x
t,b,ELfLp#AtMn
+4/h@yw9(>/
u4V pǿy|AmIц
v@6!kZLacI޶qGϱ4r Fz2ʠ4ty.I6L1Lu󔦲e_+Gf`n9L𺩚P&WE Wh\NF!@(
~j$%ȹ,I7Uh]$: Lzw)*؅ .\/'GC'!h/
t2h$g=
aZ!7s QАax
6.3u4lܒ+Y'lV·ea( M{RT*JRT*Jo]:Vp&ʾk{)-XΞ={PҌZn_O?(.N(r04YRRN R<@uG(4͛FAO~/
66444wP,39 uQXGX4(Y0xw!={!>q2č='͵({zYVpL,7g9:9Y` 8 8 Ra>W}au_ uC)7oYקʯsp3ɰahT	6F1@Y(v@#ʠTfgm2n7\6@c?!thUaB&0RA!7G{6bl4|R
1(O+`?h,΃X
q JQbI-a:;md{<\h!<+<
p~H5oK_xMРGbϠ1ü. ė!1cAOGBTrA!^'+|PE}s>id@|wz62⎆Ż'hG{	37f{+[_C'1qp:?Q
8?¥t
\/N
ѐ' f@tٚ/i/8UxLu-h@(>K@|2nєavy XXBw4R c"Xnr4:9yw	W ,/}Y{瀲@r2bt0vz<~U;y_@<Hv'o{!N]iuwa>r46fQ1ؒ
)~a?ѠIL 6`ehCnHMImghnx<tB%T8%S}_Ab1jIhX{%gArxSPJMfQ'YA0x3<p}9>Ѓ>6/!8d
4dGC7#<dusdywnoJݦ1DQۤ.A'!X2:7|p4
 Cw4(loЅpʠ48d1Żh;T3Ѧl<L髰AV
<w	$?BIqĭ^@xIRlq@c4wKet4A$	njG'cT}La5s2>AIȞ2>ɸ1Y'6AJz9˷[g2Wo9qa;DOAC~Nr4V.3
&tѸh 偁{x.h0!EÇ 6l
*ۥEO)ʩvNm`t(9P^7ĂO)휌yFr2P'ub!S|pr2"Ms4hdА=ur4n@@i(vMK;	WC'	u\B|cm/\
(Q6rg1Zz/q9uuX62hȋasO2 g	|D'(6k"hd
j
YԿ9DАs4^IwAmU2N$W!DE2(ۘs;ő_Y.r('FE@9]9%0ӸXss4hdʿmCF{C
(l:uBu/C0ꉤdPh0լ!ˀ+ sz:6ފu%<*4j25u6Y2C'm7M
m>m~їF;j&AƗ ~By=hp0Bu4_Gkʠj 	qcZ_r`7z{4@A#pY$rG\Q OoHFi?`kddhVh"]3G6v9	)A75J[0
q3:8u5V
7HI2a\@tyS5As 9\%
59eeoN[ɦj`<`7F^`DKr(*sˤ
 |𷉧㛅JRT*JRT*epm{Y;ALPhYrX%XBn+y	M+OO;\8T\fF:?-@2R"hKx!O+4h	q*?Y 3-9pmd6 B&d0
4]#Q
Xՠ.Z8G*hCI&x?(d*c{UFQFNɣ	zl
,8d	4U68Xy$o(a_,d0.YንsD(?3`
4i;4Gm19#~pL{ŲjhW!N=6l`vlYW@|}ѥs# vd(
K_~b,C]w]!4zw4zh ꮁh_ ]
y!Q
aD#dv7`Y
>km7cU؅oxR5{Ƞ=XG@x:.{ y`UhƘYi'f͚5cܹ1խrP

wKGD$#cǩJqh`.-/FJ2(ɠM=ݻ׀HTomdxA_Dn$w6qb9p4dQX BHVbYGGC
)3.hȎƨ5xLq!&-Ɋ
Vfr2^Ӎ_^]h=c&\,X('abiIhڍ&9s4M:චQu2ņh
֯b ب8l0,41иkŠJ&,(QU9/|& ahMIxA_L*v4D'h$OS4,Jc`X3G#l~k.G}h܄T7_#AʙQ@ZG+
Bag-qOmYTh%=j^dP~R?aYNNd6ѐACƉkjKB:k։S!
jdVO.¦ƨOGCx9,@sАY'k(Xρkϼ@ /ӵA&\@}}hmKOC'lz9Tw9uuU56,r4Ac lȐaF02s4٬m:h </665p:r424(g
ٵ9NѠB}@C:yIN7Shdt:6|Lo ÀK*
&\t['G#6Tʠ@<!TE>e:( 1D`AC=XGN7ACt4\P
$_atlI-
k2|*CEdNZ^adiY(;!ƗgXOӱ4 jЉ([ X|bJi<$9=)A.N4 GA5hB٥T!hM6l@X/(UOmtM{؀㇣6hT`@@pU-+ ϡkp&w>$A!@y!QYVjU%*p4$`]
!A\.8K{{+`nl	G
4h8eh\R
{дIQ
V\K#tV&^RT*JRT*J6Ml¸qdo'ImP>Y
B<%%rIFHyU(0U[WRP>rⰜP\^ubWiBB堻W ,/}*O#؇P7tiaQK%Țy峴AC{NZij;s 	
qB
?!` k(Bh6ʤʼ1s^WbXn9ņč~E 4hx=
!*
>];4G#4mx "DѰo:Yu!ʓ!/m!CyZ>Y/6 h|Q y~H6$k%hD 4q۶9VȠ7Rh+]>A×akjt?/T &dQ-t4('COhIӴ:\8<E4Ue?eC>AKiơTh@ZH\
JSH1oW@܃0am.@3ZU$G1_@a ($ɳ{0TmzA}ωA>߸Ɇ!mƎ h\1;vJ\NaG 3 3XYIT*9sG7B6aQ@4򗡁ogH"q,|	j>N:f3zъ@*<Vh%/ZxhTu&mkQ?v8Ѱu*ؙ)*7 i>hP&<vp;AQuF׷cZ`˒N
y@
 =Ip&WQ'G}!HJX7*3)~a?hhAD_2lQhp7 wN$3^APLMGg
P{Ʌ7㶼drY6ARaAdK~ty$&C~q+;l@yu4X?; <ܻ`lF0laaXEwehAD_lahqoυ|,w44@$tGdNB>??;hp=M\P~]\o(vj:Y' v3݄T76kWTY}nIC'Th K,kDJ+	4h	zvm;6XwL갊h uS8i.B2h `RÌhHo9MwϱV
Ҋp
y
AwDrU
:ɸ	tM?GӚێmFq[V_	w\8CCC `|!(Ѡah؃Al"9))҇Uds2(Pr4DGc_WlX;`P.<K<cc
D+GCJ ??s4|bAX
,*H_@lӠH'QA0֮H4sir9Cn{ـ4tH\j:h;Uu"~k*c4(Kv)D8ǃa=BcI}3ү2(:^Y'2g	I_FkTnr^ uH`^$1rz?N@pWqp; A)ʛE]_:ڡЛ8]UVAz
魣]Ѩ{aÜR@؅a	Mys"h0x̴8~`qMxN|)~uʠyбAI0w2(w32k,4^yXn;=A:@VA0xȨg9vk@73Qt^
 7ÜŦdݐ`'{|ʭGL)%[A%a
t	4,@#p+v4Rd
t34F-!c̹Ӂe
@dX"pePRυY' hXJp4ގ2/| hwY%ES\4(1\4sOna4$*G-{rV.۪Z]voA	SXȣ@ñ@a(;Θ1c	x]!g*cMXdaY[eL@Cfo_6"A*JRT*JRT !N(*.P,;DiiH39irÓ!׸Մ|G./{lf<c]h:?(X)hmmFR*@4}|
{S v41TJ 
yU^{)ߣ~VjЈ	6& z)&:\-aEUF[uP<x43p4CCS&\[GG2аI
$@	4|?wb@E@CZOۮt1,@cyDg?ۛuD
QJ}]ACn4HH}9L,^yNxΜ9y>Y\!>|Zzp429f}Ȑ`C9L
נ_SYzYRb-hp.Аw|xq
Ľ/A48d
$ޤ#q]_ʨ<p4΀x11ɥAz$ ;2aÕހ[`0_}F_]gPq73D@Rga=|ш-!C_6X[\ANF2ApɠB;w4ҠgC/Mphpఱhv
u48yC 
<_	4$CjH (G,M⊥ V6dnFBt4b~]یѠϤU7` 4r4e[x..c\e$%TѰ)󓼽Aox3	x%c]Z0՟Ѡ~@'#-Yw% 4
	8|p9t48hLx 'b'm28R2
h'ڃ
,Cј&<.
Ch4G#uژz42=ˡ??Xm2f7#4v@i3Ìv4=h
Yne
&r-:
dz.6FN,8O)6T/KS
{А]&rPL@Q$!`ј7oެv{.mf
94wjo>kЈuAuC\g_qikB 
Ca=G
4z!ˁ$_ѶݏȒ!BhUcU(Xrh!!LJT:GXǶv4C=hlaȁl@CJMjts40WTp-q^
*1eaF
ǆ(1g>Kޟ@<dxLp	hNSG#Y'6!FpѰ:s4 ߊ%Kn
6tc[o2#
!ϱlq7p`p9၆<hp 
eh_G#Tt|96B_g
_mhC'ImgqȰ
+8yv4' E·O
49ACV}::Mՠl&!ʇZɠY3Ȱnf[1}S5{{OY/Y'yh4H=PKޚwΛS fg(~_v)hJRT*JRT**iJ;/&ĺZ"7G~&ZT*[-;+WEJiȣC0*rLhx4@T`>hPde<K44
4T*JZ@%#ZY~~Ny˪A,yag򓴢&rlo7!;hX<O5R)h%_>VABp_F$uiwJs /2!6sI`e(_"E\Fd)*[R$	4T:<29-藵˻FVv4l X[m
:~@\qoTa,HbϱY'geA4V'[-?J~P^6!`%Bܞ*6L2WFgPؐpw7}ݟqq4pGJt3:6gP
<Ia/(uD|"|8*Dsv#8
u4FAmAVQ>}_,m0,f
t4d6htdAFO.3Ahpr48lpȨh8LC%	u
.4T:ۄ٢.A?|LKh0r!.}:yfi;	.nc*:)4Ah{-@*a!A}ƍҵT4Bq4\ҤaE@#/53>Gv3g(؂%ed̂ps4ZmEAʞ@lhE+XGCIY-j. ȸ܌$ظ5`GA\Ǯ
zY<tOGoMJmY@0f`C'ʠ!LAuh4*կ	 QؾOGa 9u4uBnFc
[LhCE/]?.F,
ѐ?_g@ƭhT9E`2(:<'v0sנ!F^:	d1j"ϐK(9Rh?D̤q('̤rl"Ȳ 
A
WR߶!h]-@CѠP:iNF5F2(
q	r)\$&	e0M'c: 
t	_	hTռ8d	0A#)Gɻil&+[dyAC[x*s
F2JA#[eY't[wުRАghSh)mmRT*JRT*JRa    IENDB`  }R PNG

   
IHDR       T   	pHYs    od R/IDATx^1j@HEx1ذE _Î@''9Ġޓ@Ax̾C1!iM   8??Ԭ.  *bP)ü(ry|uu~FikӞ[51b$|M}6G}^:sQ~n|/1ASCI}#	7$F̜zD%h&	xF hW_e%<|R:Fh!×Ѩ?.%F
_ADx
z7BƳԝR=
=^0
A??h͡a w(x">l4ޚACotBOys3:9%CoH-FCᠡOa6j h~>!cXaC~/&#kh FaA .'29BFȱq:FѰtF#aWUqh'Q4hLxA#hl!h,#LNh`40
FcAT\_ŏFAa20
Fh 
FcFy뤾h`4`40%h`4qP-dpqzzeX}!R/mF~hL%h`4RMƨFh| ]6=5z!h FFRxyJ1d7{kɸ('l{=;a+d`40)c,F0
A#jqZ&2n4Jah.%)Xh8h`4Xxxc6:i~]Jb4AS'#HoDk6^#'W!d`4&b4km5F~h`40CqU9n6^>ro
MHu/zh/
Fc$
A20FѠ_0
Qd`4x{f['~_0
a#֐1ѰϋŠ
;0hg2a".F9<:1렁 ldFÎ]
%hhsh$s+1Ap6CFBFtS5FF	ZCzBFa6_$
!h8E#èvo/J4@а  |         =Q:𗽷8uVDXv <h$s{{q|#k'D3h0*'6|dbaˡod,qI`	0H?`oWu}Vݫ}Ww/<znZh% иK QE#5+Q)Գ>Fm8oi 6QbFb\[mT78M
K@;
,%8@#M YMhG@Ѷp[)A	FVQ)1)Ql]\JlH&F 8vIqyP4=xq
Hq {
!N\A!h 4쐡a'hl@Ј8W+
	v
GbqgkAw(Ʊd(
/Rs64аk8H1إ Q}
K.0ޯnШ}|h=_hyOD YAl{
2^mm8Lgz&qHUАhc2hd=j8%cܧa8Ϟs9KcvjѮIЀ?DMAc_]pA@ɜe\nrm> ̓@]ea{
oy[N4Jш,/W5@ኬ7>1r2Φ2Fi@Cdpad{x
>AFS'!0?7#@c;1иb~35	
chOlX ChH~]GF1UY}3C]dh
 
l	M+{0+hH<hѢɜGGCE#Aʝwup40uRQ&{uJ@CbM,H	4h`I?Ox
8:
!@V4$(g}T
78Ѐǈ<рp44dw,Y 0GcQS\K/OK4
h=;hĺF߅
8 
oM	4`Ss3FS'~lC)F
 p4:aРkVkNd#
%v6C4oA~w4hjY&>~F+=aL\\4 2 cR1&:TMFmOpku 
h𼼕/7\:ymَ<jhl\ɩe>q
*V_a}@):n0hр
ĩ	- Rs4,xm}26+Xw3gCKda
!:m
8؂[dl
ޠ:)OM
4<}V
FY'b27	e)f$v˵F9aCw+p%{arK_h%5GCDOGi&OF*S'@ѰCvX̓\`Cw\]R q3ivfC?6zcr4pLS9_]y+Aȼ@ÛfԉCx
s)> _GC.ذhlσ,hl#82p4X}<CΘV,B't)|2RҠ!A]86,uk'l|*(cqOUD?жy_Gcu
ZU.hΘqpeeykR0!Àkj\!cr@8@(hvp

Z^\054A.VԆ]	rWq=wh
9UN-QuNhL@%@CÆ
2B9[Am-R[74l{IIG@cqdpt`C >H'"dP
	65@'hC*'(c0yаƵE(Uӊ4e
˞
jǂN^-[>ԍB3Oh 4>h蜍(vU~@
8uacUy l]@#] 
>dc@#}A[CЀ P5    EAA@)A.
 4䀮# h~ JP&f,[&Z@x^)^CY9~4	%m
uDjP@ hӎ|]Z#l44d0@dZ-K?ШՑauKq,+s2/eMqtkWTr׼B؀'lt4\d
HрGvRoWTr6^}v4hрIu45}Y%hhpw4	mR㦽9p4h)2řE܆V诣pH~<
@c]VAI:2t&9
;8<HBG/Qf[^AA#9ѠAPsA<*?+.5t44dxp4*
8p4*wR@<DڃM h#8vWt(S|u\1{
;d
8p4hh@][`.h9:)	p4ܟmz"~V:2|8nGs9gi~-GQ=EF Zp4S(M1#nn:}@F u
8Z;vq4ꗣdɒW4~H)S'p4*B)nw?Jq!E0!#a	8w
LS\Gu(Jk\A[	soMq[}3h5r4h<݃8oYq8p4-Ztĵ_:f
mY'wߌ9WHG
,jx=L4oy+xhk7(Tྞ`#}GCZMp:\iN
>8wr:hFһAqJ~KƳ`!4F82}r4h,^\(ͫ>i8;Rh<T4~D·ðp
q3.cLpߴr4hPbT^ȑsA9g GÀIw]PLKQW}oN8F@g#}GC?U64hX@uJcVkVuSѰ+rdS0P\i 


;lh%KcW:
L^e@5s{"GG+dl88`h6 %,׃q09Gưfg"~\
L@S̷@r?j
wf@ՠy56!G
d8׈%tѠaCm40uGÿ	ps)> >W˴I>GÆFB2(
~_!A]86,WRPҼ

l;)F[hH_шАa5
.


;lhoGF9 
hTȸ멼<G%hhH
4/[4x~/32G!p<@a&zļ(
nЀjhp	
4>Az~4ϠF;rL|@zP~G _dg+Zy׹>g[4  
M5h 4 h 4     * YZY Rvn(!H֑9 
l
zm_45;)K^y)xpOq%ץ. ЀJ+Wq9(3>G[|?GTx;hd$ v1}wwmYC{2
֞o=(dr>z5*R|M` 
W<=?"Caٲe'eI|TsbZ6TsYh/kZ֜AܟsNEhaIw8_!q dA*Sy).dD1*OU6Vl(16zD \]|C%.\L\р8x*XdYq?EAPh C˹?? KewCd|+_`ԍJl 4T X7.l0*Wo]L0&_u<YMabs 	(K:"үt	Y߻9A6
wȐ/q8^JE6{)sC?P<&movzPXp3/ys6)9Իr\-E0m@%EA^q;nq-28i:2,>h!C8H|E㹿%Dn+? mv1@#[wH	2IlOS5ԇii!n7Ijr4lv}P_+/?hUC=6SmѵGs,DRq[ג\&?qWoJƯ<$p4A
4
kkVAR ^Vȵ)2řE܆T^I9:sYS9+koJ&Me!-R2h$~ed\cՠjժx\`_\ J])^A#%G:;߯-\LcI&4pxg#}g@Gm7mo	S oz.eJp4*d(:a3M`@FɢL$hMq[H+dA;sAXQ3d(l>hĴ,kh03=Dڃux/Ҵ
qxK/r"8!CkEҠ!Fɠ:s2ڏ(+.E3E~qluAFmG#p	:f[
'6ؿ~]fm%Ms9gш2n"ar428EAUK.=A^^Yq.IrɁwS.0v(',dAf(nr7s9giz-GQ=uxϒ v/FQp}f #%gxT24$p';wTa "m]_Ӝ`|T8*-N8m2	:Qؒ9H
30nf%	G,{Ѩ2 I9]B^mRэySWcf*o,s)H~):;"p4Ras.ҔQ72n9m6>6b[	(R7mOy>;TegFQ!\[ #EX/KjαL<-y溢6i8iFxȰDOr%E[J WHG
ʹACz}f[~!CJuN4#He"OtVyp4!2Ҫ` &-·ڦ>(H<X*فvu}˽c>Ȟ퐣uB
o!9.o:DUeEV9֖{4hcі~
Xŋ(p
&9O&JY|;0|1|+`Kq"G^аAö!Q]G+hhq A#~Р]B׀S[:aTŋ9{X\ȑsEóhhv)Au_H
[/dX`dUz77k*yGQ!CNj1ɠ8&y9dʜR@lUT&JY;dllrk{Rγs;ݗׁ
v6hx;d
}vQ4t2maAhC'PGۍ<}2j?C'zSpQwWxp4!Oo1SN#}23`p4@ACxUȠ8S^
4xrιF 0O_
"ud݋væ`n0i?͸
1$}:aB
M2Dz[q*#u4"оܰYpBa~5F[Æd8e_DW#cZ `{ɩ|
Wxp4IEmshZ
}` Gcq`Fjh
KѰClS
ڂyQ
b&xVock$s8CNH07w
H 4Qﺮ0ayW0(!8J#ޝOj&s:
yI|-pّs0ul.: @qX8b~HȰ?2zV\"FJаHڧMOhNm
Qɠ:ӥhkAۻ_yƥ1@~^WȨUXuDP?h@ېs~Flu;P
F%.} P;. xPX/0a2G?UZEH	4Va
->5oedu8L
.{* QE4(<$hȊ͖ޣ
*?B2 
G٠FBI3(vuш}rk_Wh@A5lM>ΆkNFx4\"rЀܗɑ[*8dgujq`W' < p, h@ @      AP+'!HV-9/!|BQ@hwl;学ħMT-Vs$N2@C h@jC&sU|Qk$v2>h 64d1.p? 
Mf4
Qgsl&kvXdW]}ot5l$	6TJ	@R_zSM@)z=(2\JKաР8*2bA_˵{5l=BlhȰOmzjX)O7j?2r.S 
2n~ۨ>kBPʞ4<O6b/daCC(
w hNy:V鏇-v64v4t2_mmL{Bk2`:R12!
GF1؁&C~_ǔSȔx!CFhp.Q4
+ h~uC*&*WSkN@m
6\AhPKOkc4Q\as!:|PcYj<<C8dQ=mf	0늲1o	edJyb
UN
ѐo?tTMAh G#YЀak%vؘFȘvqF;;&dp8hEݎncF*ƈ1ػ}F¬2!׮8> h,̱4VNÊ;рQ
VNKBn48,q	hF\3Wz!1|'h!La
v6@v
hpo݌Iޫ }cn4G2<8	F[+dacMh`XBbkS7рѶ(%GCV]0kyP뱃;l!#99lbFS'er@6.7r6NmZ>덕L@p &J'\kYr:4Dа 2Fp8J
2ɠe+VlXC2d܏MK.=!ݍ
8ڽ.kKآB
!#=?d^m}U[Ur4&*:9Ȧ@c}A
4\	p443XZXu*Q
6쐑2h.
qzk"v

!w
j
\Z2	> !a߻ eY(_ilS TA#xq0h~3O2i4aCCUͩt
wΟY"'p4'hdG zTN!st@CCF QGt'#Lx'lp)ƺYTn((O5oP.IACCF((Ze"xx;=p8&> )xÆ|];!͍@C|D0 
Q"C3Q;!H4wO4>،Km#i܆߰Af[jP)
ZfU^wU` 9Qeml$ CC>(wfJDWnrm5@\_7lpم7)X4tv}@%\A	r6XV?Om&)NA8ŁN*1V-2ᅯhCY QFp3Qoaó1)JK%0GU1a%Я)'pXj;\'oSx 
~ڥ(y|V
Z;dFxЈ~<4dw6@CÆ/PVU1ʶxV\L0˗h|KY|MVihpTkCֹc:G#c2v^hD=wC 9
+<lx
Q1io'hX*o)5a _#(9?)8"Q𱣯S_r (C,G{`C6 Z[(<W
!g/9iĎ!x1*Gów4 }Czg 
Wаۑ!@C2G=ov)"z8?7ˣ7(vGҵoxhGROk@CF882{T
2rhPP^/Pr~ĠH@p4Ԏs4ŰΆw 2> 
8 qJVlnkC`6Ȁ ^?h?a
}I0Ȁ (VG@  AAAAAAAI댕'cY  KeQ||F7(sD+|.vsi{֖+l^[ CSY ay	Ec&[Չ@Y
h-oгNQhHsՠ@AĨ3y=&S~
;lO*$2(
ؚD~A 
;3
vәa@ISACCGCr4Ɛ G#E'@\''Su4dH4RL3,ws4L@l.!Mh
e!C{/$a:d>97.[2ֶ98&C7+Wc!Gû4hqZm-M)Q!q9]E4hsskS<Ae33
q?Hs?1?:sѐ1f;;xp%/P<S7Qx1P' Z`#G-2
lajdHxʩۋWBó
nX37,K,smT5iG#)АiP9{Irw6 S*N CB!phqDstp4<<K|.ǃp8G?fuiQ83Q|.vh1ѰONƘfy6F2z.ڂ;)HYfmFJY?#sا,ɘm[q
iy^k7ElT@CC\ץHaO&0l|/srmiې	.Kó;xwLD͎}]]Q?@c9G :%Vα(N2ByQf^A1S 9
foC/YN4GӘ5r9Q#y\,g.sQ744d
&!NՓt	ŭ2)n}ܟY,q=;MR9M$OQ.qi`xS\G?~-.Nqj^
E8e &

&4x 
@߲Q?*#q'gq\GϡaþYW!4zk\mS
J6bP> hܟeVi
_!\׀Cv`(]rh?Vn9v(ǻ!N7{=ɠ!c1q*ϥr8., M!4$l"аC-3
sIa<?Gx?}
)e.z{884s2(Ne$	L(l%>[@6^ɠ7h3r\у,{Gưxtg6ڒju4H9 GuR_$'chp&})2?P 'PY%~j]"{ĴeJd@CgCeRN74djw<I/ݳĘGؘR0s8uw)>~<|}P'y+64+Ͽ7U݇8A'~RU|i'KML]2 v5moȴ1I1'zWuרqGY,saxtƣnGR|vCz[QUvAchj(h\)Ͽ$v2Tr}Q4a 8(-/Xr<2LhhL&{
:	חP˱hS"ǌLڳ.#(;4:܁:Px9Q,PuR9gQ Nǟ>_RQ0]2.zⴟ*:vzOmk7Cbȣ=N&usGY,sC׫ޯĎoGCbœ#uz@oRwJ<S 㭒1bo^P 
	-okh(qN	۰$
_S& Pe((ҫ$鳕Ӯ$
N:ۊ(ϼ*EY⍙??UÆ@D=mR1ca8y
%Ͱzps<GE>giҖxO
?#pWrBhFX$9qNHɂdl	K1f6)1}b
Ox\zmCQ.-&ԗ@KZ[b:dpqTG%Y}TT1^@QFҰlR.EAI8s!=8
ܧ\@<	G#]FiQ}\?DEih,HK@Q&-E)[
~

>sTbNWp  
Fͣ>
C ;CtEdtI]7h@~<r8&q9OA\ZAz/XA!lևAAAAAAAAPJd)Y#1!OjyA h`<lX+FӻrɴJe5VDnrm5Iw|O@K{7MPu;vAmmD!# hl7.ׇ&*W$H}+pwjj~+5-Yx+Nz5 `S|7 
>ڦ 
;lȵ)ȁ{)ar^
p6zQN
 At!tF Ѐ h~@6:V@dH1إ Q}Ѱ`jC練)>#6hGy
a55%~0!cxxն~Ƅ
Gq(VI9aal4zϽohvа%zhXG2qq鮫t`	'dМF{hh,zݢKوGP"瀣[;8 
$ːՎ&иB+2;nߤas6hL`BDρh 4w4&*:9mH1p4ik8a2?GxaFxE s4&\!Cv(TY}ИDEDa7 Ѱ(	
8 p4aɳͩI 4,Cyаhl(95"?(khs 4µCNhɊ0}4Ohx^<	

' hH4".).b k	|];!͍1%hSwp?h	8p4ͻbI~\K1.qn[
6.jhCF;lBF>рqhq:%lٛ]`.ϿI6Jpؿ1Wh hhȘxG&.E)qJK
?EH t4CF;dFcW ;b+őWu)hTF1dx_M |uT TCth~O
փt] a
Ϡ!1m.\n}/26+]Qܷ4 zc-21#;c+_S hX!C[4vEZG4
nCq63 2VΛ6<GGc¶I6r,VhK82$T,dXm
0u]]2W`" ϱK)&T36T6ATVlr7Ōn(OxtgOu
ῧr&I1p4BF/P	<y.GK@FSAS,sW1M1u&~-}S<Џ6hZ9o|2m2<@7 @Սq0lاNġcoB7).8K/XE@K4BF
9/yS'A

Nh_uaa#2ظ2MOPq,Sf0@cPJ(pF<x
wGCk Al|@S',p4Bݖ78h!?huvc
bVȴ>4~IqGMhxg-߶ofWSlzP[mɫ?uyс
Ȉj#$(<Ǘ
	ŧ
и7(jЈ6w4ul(T#V{
죑 h\y6 ^$!C<iv8L]=*߁V9oe=|
aemS
X~a]xu	 hU aU	: J{
y%{ Im+4dt}"؈ !ڸ'7AAвeVZAAAAAAA!9}gA@b\颷2{ܲ +{)\]ϒğr{RԠj״Q\ 3ޒE^Z?,5|m\7bMˆr4 ImQQ +5p4AF/`Bvz_W
s$
 
էT?h&[WАU;ZK40[cp;lȵ)ŮԨu-*C^@,t 4 .*y:If T::hhPpa
@~l~?a
*u|fSe)FQd" hWĽѶGC cRu4dp4sv(uhW)I;2`c,t3hp>h 4h|S9}
iA]
pi/F!"l\nlU06?vG4붖&1uB'z

6Qm-\L@S
vlAdTC9>}?ACwS+3\

nZѱ6V2Gc뽙g+dPRπU' 
ߊy+j01*htK2^
`c3hh86$/k1QјȁM);zDNC	8&4GC 11аC߅Wh7-	WȐg1f2[Wámh@p4ʃ
hs3VZ?h<S τv4|gS73[

rm/+h3(
8p42-NM4TL9%
h6xyHXf`:e4	GC,2/s$ 
86炮MԦNX>N͂wQLq1ux6k	|];!͍;6.MuI8 
Ep4<TB
AG%w=ߵ3qᶮj,Ya8 
L[![iVjS'6ub_bGC)nn(n\vMjhP!2BUGȘ=-[vR4)c-)&h'jаQhKQJܧuRaCl>E,YxJ h 44dPB]Ѓ !U
$ 6Gb:"mrm)~r4.
1} J͸J4r4pАq,u{шM
166+jvٰ>
NlWNj-
e­_ 
=]2.&lPF-1Fy*e]gaxJ@ch4w4v5mIϠA&dHlP~J.hX3,0huJt;}FI%VyTHa9ⅶHdz^O?UhL&{
~Ix h{6GCCDp4%1ʬNaH4쉡
ACFBk)9Tޫ)&Nį~bt4OjmY8@aL}Y';ؚ
h!

ԉ8S|W(&%gI%(Hy;fg6f+h 4  g記ӱ0hh}rλ@;h;hOOPq,Sf0@cPJ(p
9<M*t,tp4G_aՉRRGIza$aWtXBEK;NڿIC/P6Z	
8% h8AFNA~.(<Ǘ
	ŧ
и7(hWxG'h 4 Gû  
94N0a9|dZ,1- %h 4 ?р=T
h
r44D
2h `xv ^ߧ*S`C *8v4  Fۀ
pz@ hl!     $GGL='4O0vSFcNHYcx IqX-:
QAsCrہH
4  ,?OTx_*@F[ǹ瞻Y`#9I ^hx=ȦOi<*.h 踼PݮYt{>{RK`$e$/dOH4htm!=-'ѫ%42mǣu qh<L븮JmO{]ǰ!u;@-RGM4w4E2}TFxgb<j!!Jx 4h=+4dH|?Ш>m8RCACOpf~ѹ]OfIX]QX.1@!#AGи;@2D<
J4L7+/Nvj ?iG b(&hا_ZD|кР!0=.]x&dp'M<
#h>
rm?t4hp@RӁѰC4lpFjT 0Ϡg)&{	r,mN	\5Q	rۍL:~-eG9vZ!%[i:vEsʵ)92\z:]	E:hh	H gБ 9l9uҵ߅GÓ1֥Fo}FA6`i):ѐj(hQ\੐А}C8аB*:/*7$YG9ACñh˳vumPaӊVhH(8j32mN: `Ƞ8sŧF_iVЮ,
8@c2Ͳ6P"ABnإ!#uG@Ow[JRy!{yTP 
&m)	>p4<BU%q4|BFj;*H`x"8lٲ:wcߐ!z}Im]4V2e`H
:Xoh:i@OPJגp}ɗ2Eu>Mdu ֓Zixv3r^:鯣aqaެ+Qpt

v)JƳE	4:F /ih$f
>V/HJРPIх^a*s?h 4>%r9V*Ȱ0	hr4 .;˗/#1jLkq% 
*6(us˶:zI,1rq|r4<ȍk hCFʎګ!G]z;,N.6Wqx}eӖ͸${
8wXlrzk^O'Aꟍ
8sP#A2w4l$hʭb0t4i.}@Vh 
͓=5d&Į~;rz/
7}1F}< I;6u4a=؂2(TG%}V	;zP
G
@'a+
8`9Y8P	1j2Dz[qG4T(X?W&pa耣Q۶Ӗ-G
_AFj;1<<j#'#7>cQ%qh 4(> *.rPl>uAh&Iv-S	r]FdPGP
*vҥҼnyn*sԻ /Ϡ#@Iq|gqBg	(*6b
~p	vi7Ѡ!@m5= FlhCWp 8,1?d"<hh4g %T[%&
+Y>V6~uX|r;
);U"kѰmO{8`!
 |G#$|qm7RRKngPp}-90U$#!аM@C_+(xiw]lXz h|]AKT\6[
v#3.р
wa<4 ,b2͖ޛJ@{(~@HWNCH;\%@#JAA	!$VuvÆ>'?kKlH.1Aԋ40@#<_&KgPX"hXAЀQ|3       Aryw7m!qsA!=GQ>Gx x$
|ƁAz,Y+c7t$ (NЀ\au&&HjkӣG
F2hYs+
 p4b _h<:;d$hCU%q4N]h(ruNj^h>oI8ڠ9
Btm
iG
4tNF3
;dDh 4h{( rн_-ͱ,eрG]4Ed(4h44Xs
G j,q}.Gc*Q^=0!p6hb(vڜ
i#h! Hqrаȳ^
s?;Nн,[8
ox˩~ٖ~~>`Գ8Noj[ЀU'т
ԉ>9#U'4HRs;(#iwtGTʻ8Ou;G#,h(hxD(CqiN9p4!#wG_h4L lp6kkNsv68u^Ga9r}ܓ8?/h2XF*ᣔ:8q_EܷFGB;st78AACƄGBEa
d@FCdɒW4~[r
yuh
8c7<u7[ЀQzEh*v}PV<EBn#m=a}]}F>ј!q yb_cٖ
yo-
Fk[3hȿ^E@L.*K pAđ.yp̓FFF^FO1RhD%_R6}4<4@ U'Ek6Ѳ)ѐUyF1}<89C'}4&|!Nv*s0
hB
z!^Ycd_\[*ƱDyv-^ȫ>Yz[<sc:G#,h`gP|>QP'Xh@5W'CD9z]hG/x wGx@B_ɗQq7G^]zrw #9q7G^]*s4«Ș_%/O4zlyhr4ƔZ~<'ժkh~>ٯGC@곹!_O,8qq{}a_>:)QUt=ʱQ}up4,P{k=n~Y
p4ܷ '2*W(c<2$}ACh$hLht6"p4M78>kjghѢL7㬳zU&צmhG
u=t3(^jp[8p4./	u@v2hhWɂ)}9ĩI)r'7ov5~RpN 
8UA)o[ 6L28
GCh@~Noհa^
Gcx/
\-q8	hx8J9GFxАަ@C$@h:y Ip4J(8h*:S8@C)N;~FƁ
\GfXlʂϻ4l$ P +(ЀGC^}%Q
?<
hz
w}4t'e
 A  h@4{9	.i Fh(魞ĹA%	AAAAAAa^rTԹmn\/Slj*B=x9)YwƯ5W h44;Vت;(dk[)%uz.T铄!SX(1>rƮ=	Ov  n|.{3GS2 3_0~ܖ~qzF)f-
l!:cuRpq&Z~O%S%ߒgbh
?P<Og&ixph~F3A<Qft?T[i5?h1jF N_x,OUQǓPb
mG֩)Lp?>hxH1`Mx1s4H\skn[p9Rs>b<,h$hhk|Tq6GCNŗ),6ܖ[)NfٱqNy57)X8
h<u l{d+h w8vx!i˖fr}bX)dH1ɰԝiiy}}=O?P}t,6A9Mhtʨd0cgU[(<<YPmm8h\^x\_)ߣ)^~FIe@##٠GCms{e,J}˸W9#6ȘC*Q.$ѫ	Fܔ{"
h؜4eMVq~GGcgΗa*N/q"OEHѸOk2G؝9)~pnĽO)aU`<cn{t3>;FʟQqlh\B|*GkKUk⪞D>B/iтr40!rCl,bĝm64Vdr\Dq$/7$x@m7h\
(Ɂyo]
s4EDDɷ"p 7<,xsM?ase+#Qhj2ҲAXjRq,YH]WbgO}R1:m
w zU ʯ}hA1}/,̅9nGKoI}Nt693!k;_Tpc3`B-xKkZh6юhKI|VRb $spߦ
օƵ;(6_$m]_t%R'PuuQNY9 !ׇQF2@. 
$&;oR\-r=p6U
{L4d'KHHyȐ鍗U|K(n)׹Mq[xJx3ōSפE~!+	Q!r4r`okKl.3V5G,`_X.}hƘr)6
f,UMhz
Cy8oP<Ixjsht؂I4fb|s8|pnY':{2mi|r<dL&m?MQy;rmGh+@U@+cFJNv=2u 2"Qv5mѐ2̻7G{"Y'ɞ2+{h{}0b@*E	<esڜXMHfIdPw4XА=M@ㆂGf[%48d G#y&%r9Vj+Ljx3
|
)ھ;u.4SCNŪnA %mrT4|JcO*Vc
ΣxB}VGo 9b
4@OjmYiT;/B<)h 4$ЦF9G\l,] 7J47GN)G9ɠRעB%N
 h<liFk@}
4Ar4K-y_{b65}Ru4<NN4쒤FwF9p4ay]_]hWmy}S߬sحȔ䜥oS<qLxA!FZIz
zI0tk"3yi::ATb5p^bYuF8ip6X4Ar4ĴA+(+Lja͠8ި;t5mG5GF-u2JCű.-	Ah&hQ F%'@5ݰ0qw5פz͎/Ϩ-RvͥG"
|ݻ$l|	o:qCw3ŴǌI_ʸWyyA\U
h(>lAYavȰ=T-=+ઓř\ @GNpzE0z

8/,x9@Ü21|2
Ǝz|
!v4!ӂr~V[@#EKZVlogw?ˠOp,IzzvŽqS60kp@\h<%g2zrt~ڃrh9jWn hf)9tJ}2%8߻oi| h0
;dŞȸ<@@;tR7hp
@Tt{1Y +xIQ@ld\~:@Ƹ=JEmYha#u hO
YG# h|
 retlƂA &%a0~MYjR£gKd@f̃ B~{jdu3\2]/$br= @Ѐ          9)?. 3m^nVڝ&qAe,RwFk6244PF	Cq+ů%d
aǵEܧ)ah?6aG]m)8l@A0bv~P-/ 
xjЧOGJ{oG#@AA(TI@@.ӧV k1BSWƈhlTFuy䫘:h 4Tr82>&p4d
4c|рq'{T~H%>&q7ŷ͕6)vGШ5АSK2ϱ1^"8ƘR,K'R
nå_L네v5h 4$:װ 0m]=22rrYƯ(%=\g{k(hliTƔoG;ؤb/h 4M

6-[R,TKbZuB yQfX
 cXؗQh<CN  ho6hhȰÆ K,9>Qơĺ(vP|C^?QR#L+8
GW2hCNM(Gÿs 4"*!Fv$)oĝm: ר ~S{urnO\)$z S'q

8a
5Ѹ˒stU΅v:G;
Pw2hPШf GPQ6	;) u37GCO,TuU=qA84 h1\bsym~uʎă):iٖ"=n
r;mFp"h3m&+ hq9ȦD
<s	84pn!i35<ZbR>q4~G# l8':u4P#@`2YhE1`p\>ΎØ(
oOpku=ˤ%t0%zk6ܓAFh].BX
 h 49u3@$GAujk@{ra ֔e>]6qDBd7hT=
H_ԉLQ<Y>=+ 
9u?Gx h@?Q 9I
j<mXǮlhr4&T =Y
b'C)N(>:Lr)W*Xi@2DK.=!ݍM*H(x9T`h%{|^x5lMRYCxy&쩡!YA:?r4:%jdl/=
T
}
4~f"g붒*>UW q3ivFvNh4ɠdqmzby㩃

*V0"i8a.Ͼ|>V>uGC@dt3(77]
nդ
=-=Q;VJ3SΆUEM@C6 @Cv9 ŧ8A4aGC>'NqGr:T|*(cqUDVF[g84ǥ])3Q}4޿A-c
hƷ5d FpQK#!h'SmhusU7ؠT%m0uW&
syik1>64dAC	aozΊ?Gd|pڹ%8jْ;lF_P1 ~2Q
xN,oնֈ9 
Fɠe!%qt*Lh[9?:Ghp	%@"pcA=
p4VX+}ykxpsNN<ȣ*+-죡.Ұs 4 p4Koɟ4]!G7иEWhN4dL9hWxHZp4lAw6qUQ`EuQN$aHHRTD)#"jJ6(RҭH
.v ntfܹ_pÛ.2ϻA*H4?l@4 *$Kc|ehPJDpX&̨=<  I4 l,hWh
  v             @k hjT3|+yd*}/
 рh8s!7cF
pd9	sCr<rc<xs<yc\_e\W_ni7]AnH4ycDy.ClTޢw~ 1aX*oDrj;+
ws|(){m7Ub҃  B4cFʇ"[Vbn@4tI4BFrIgh@4KM{,w,FTB4FچyF/=S
 w"ѣK4X0k5p
G/A^	#R&E`
$IzyR"]{sV4.Q}AH
ծ0H4&)"dZ	6
$>,j%h@4hhQ]zoD߷==1A֣a2V!0	A~
Vh Ѩ3?k^A<X4)JeGJ J){hk9 
c޵M4X׋vx6V>r2
$UmY8x"DDCmTOXx$RYWzj.A26ch'W{I5wuW}&JFaDF	;_NF/X;'O@ջT{GJq2=ot`X6p׉PuJ54J&H4$H4RUjH4_D'<B"%C2p)uIeD	Jd>h1H4t!M3{$h4͍Td}@_JA7~[i7y _2ߍ\!J
E|u .=D#&)$hKS2=Fq]!XE2'YD
$^%COBh]mqAxƶGɘ A
~j
A_6v`jx+jH4E]62K4K,A4th:<IFnG҃dK4<Qs
$EC\,O>rC'v9dVr"ECF
sWpO ,]҂-aeA2"&bNl " d`rd#H4EcKcTSmFh>%CʆdL4eh 8KliOEc=,boHɀh8m%eoɐ 2Rz4x%bK''%G2L4hlseKePdQ2!}KrI˳dHxA2&<&H4hPE

$uTb$ 4pFHDm/-?H2иMgd.ɂD#h5NL̮eh`g¥?]6,}wPxl(0ŲJWDCnmΠѐyc'G|
]6<HDyɄd| x_ɐ 
u2&hήh @ˆOɐ׎$?<TmH*JDߒb#aZ:A[ĜCc'D#
$l@4}㚟z]q]"YIi,z V3hC H4b*2h e%# p5sLӬ01e-B2xKT
X
Ph:4vB4У<tP$l-1j㼴FF%v[qeî\DCFDh@4t%1%jm.K~9DN рh<H:	&wtƹN(<T
=H4&Z}.7mXqCK9G=+^GRldn_5e1Q
 рh`Ci -JfP   hh             @    cm(ʴW'DhdBHB23A,"Ȯ(2\5aY2.ˆe]eAD@\>}>əsz~sSU/N|Dh@;qzOJe/{Tkx54 !lU 4,V*~}t|VtD'8U^~_ h`2ŗ)NFq6 [I "p4
8 
}M_ML hѨ4RkdFDQ1E=S>v>ߥVЀ\VysƦ~*2^n7
6N 
C6L΍6{dljgjF- s)NwNrfᛛ}t=^>f:Arʌ~CV@c'ś}? 	>FtZrʜ(z
3	jDR<9Ŭ1S?s?r	Gԛf$bh0nr }b

;(4opV"h4wwKJp4d76PJ#
Ny)߸"Gh753GBm~$
h44l<K nGF!IAWI;O
UZ93MnX
=r
Pݍ}oEuGZLGzj7GNB#Bg.HH8A˱p¹K.ݭ̿]f_C|~-bF
 L w44Y8 n9)B4bnJh
C*Y'vJG~F~5`|b
C':}K~t~/EVBJG~F~BGmSb?q9n8|֓U"<|>lOqsi\T)	ɧ6m%;bUV~1nعucب44llp
8g.X`?*B[:Ls}4X3cָm]R@e*dY;lT΂(v&JF\Z;]G&yHѰ!!{Rhhب4?@Qhe19s66ܐ`yV$Ƃ0C
*RpsMs\y/] @ÝyLd},zaFа ŌX
Zu:!hGfP<"uq/
v@VL^۳T[@[\7|ml(L
fk:NteP۹J2%cUFhаQ+hhSр9~UD12Ժ2%cUƳW2j;1[lq8mOq
saX{<=NhV"C
\aC&|u僆
@(@P}<DrTw\22dC6|p]ɮT;qᾱaÄBj&)V!4GN\rd@	Cưrx
?]q8rf$r{:ɀ^39DAƚTÒ;5[KJ1}S%&ht"lWX혉bm
{86h\oTE	(VFiIvxLñp.)_1h~-/vdWciž{y!ytUZ~

@CƵ:'`<<(ؙq:ы-ec	@qŹ:||q!,U>fc_wP+[P	1OYAY&;ppb%x:fX{,c
8bɠ_-*\mr}'
'bӯc/4}>CZ\BX@Psu݅9:X5tW2~GCNs^#hִg(F
l1Ǽs.V{zĚwZjD>Py^f]:.U"'CAr<C?eL^FS)׮հQNΤܘFC؞tȱuPJߕAc[S`mZc @c]f͚J4:p,%V`S3s$Ѱ
cOy)o6`c;
/fƹp4* 
0PSQ:
ԆJ	4FDgۻ< ^?=
20d<:T`!r5֥ur};n*Ÿ]ˡs_ѵrnljCFE㜛[ʽ%|o4D}, =ޚB8{}QP7sT;yS
V
kǳ۵._	u!vDV'jÆ 2;Fhع㮜o2f Ghnys.6Y9Ѱ#.s:f4T=C2֖,K:} GRh 4h{D>|	$E\_厭:FT 
j@NP eqy\tWɓANѵ9K2?
l`VFɰe4 T~EdD p4J>՞*|aI(_<(F)ft!;j$V,]z-ѵPe4)h@AG@qnei CkAjrA%8A 
     BBP=	ĵփ a aSܙT$7E*<==&,9l@Ѐ hlJ*u`*^Q(`A/'^-^]GqMJkxUW Fʰ=h 44B|>ːAb9.!ؘ՟ۤa߰^Nөiר{Y+4{	BIA#8@.86l 


=?a6ioIC48,koRs36YN:Iq 4}G9gd 4,(G[)#qY@c0VQAv7mfP9ru@4fxA?|*oT{WlP7꤀? ,w9\ɐFZNFg5%@
@Ós0^nkJ:37[	hOe5Xɋ)x*qK{׳,@gT
ƼsFZeߑ;L_F-hPϹ-x:A/#*QՓ'\])ux()(-	t0{`}7Ayz\yƐY4:ꨓ 4Dp qf8p4䠡s6tJUcJy:\a=vw;C:\dk`E9!HAc@ 
\\<!GcЉ:jŠ5t;hh2b(I 2^9S[VpVlHN	dr04* LxO>:n>;F'yАN:~A`
dЍIC4M7ò~8V恩djaZq2,7$NQѥ[\WDæ+[4DÍ=\á؈H:E)xA#*M0lH3Z9}S`s3f-AcQKq3*nVuy1
ghؚfYގ"Ɯ9sFl 2<L_'hwJx$@`WLǖN422_8M5.ML,֍A'6g	ni0c8eQLB`Ű#hu4h 4\Սmc]洔'f}Oz+ a*WuV=er.^(RHJR^а_e."p4h5ha
!rА/
	=nSl!uBNP5 7m<\+E (s$Dr hh h4р0W&1VFC%vR`LИYp8 T\df;|C4/U?X?cX
FY'p4	{
w	hT>ֵ$	m
mH,*p;Z1hGc4>GhX368ψ 45bACH~e~GD.54we4x=2wkMؘ1kV՟qwrh`CY<={D`װ`=!#b;װ4Z%K
'h-B
uG݇i|lq_8#Aceʹ2@dPFt3X#ɠzɹʤ;48FB 
k]Aw}i4dDp46FmHњ!q6Lrrqu"|z4W\<Խu~c*NSnB
ԭ,Cs`,p@'GtSP)[/%OtX@)]B:$	r4C3h͉aY'nep ;&6AC%3);Rڐ!xhs2-At`Ytpu|!3hÍi u)woDhb::'ևh 4x62cf 9MlhplV$1qY|.s:fƔ?GAl0! r4c9@c1lRdDr&>" h;M'AjcmzQ0@9ii	!8 
H 
@A!cҼƎ NX5epp*~GÞjC
@ó rK@.b4dT2gр@aCYЀ (IR0(3p4jT&-\pI6-F;\ůDЀR|6	@M 9<A)F:'QZ@#4 8h       ,p1!2LH\(hAU05,$lZdH
{h3B
=(
( eh6%-RZL4 
g2e
g6d8`AXnؐ?l.
H*C..Oՠ!11s2vu|J+	'hP>ȷ*)۰'h 4Z鎆sMbFq-GC>A#4Klg#ϘH++xxfJcy~)`E0MT	X
hрVWy-C'p4GCK0ѐ:VSG
Y'e_q8u@
-GF܎;VUhP7Q<Iq-C܇#lрG:p4GQ<z[Zp{=Ō0FY}р04f8rȀ!OLVfp,FѸ#I@؟OwрS
+:EY}h(oQl3?)XcԽGí	hLU)q4bq4eۭbMFep4
DGCT*7UI-h!Sp4t,*{q4bX@C
8p4,x̄D:߬w9rȀ
>C:p4ؚ92ڶU;><8p4,X*QoUaC<tGCp4hں Fq
<ebK-n|6Ah*m(%x}8Ȩ4<Fm1.t2hө6-n>ܷu4$~_N0Ѐv5z#p4uCAƚTÒ;5ؽNhO?`r{mwo#8mh:p4BORv2@
c|4h/8b@FqaAc
qؙqр49GCuR\XGGMiT	l0Gc܂'¡MG
m
hшFn؀G#zW_9hz(jk/K2$G2X6lT9Cp4*
8nјm5

L7b6t5/

0Q4h Gj؀a9C97hD:v5֥ur}?

s(e;^A
6hb@p4
9h4؆:`pAFhTp4hg GC
80`2d GFa
8Xe6GF22.Vu_p4

PI>'XG
hM6lhh$h ha#VG_XԿFb0!<
C 
`	Xߛ@(UG؎aci
<<  @C Fw(M 
 PLBAAAAAAˬ\%	AM
6J 
|osYT24\p'Z 
w[ڔn^ 
$[Q>5jr5E%KihHx֬YS'\m4 YnPyV@kZEC1Hб>F }^ 
wU0RՇ&{CnƗ<b\/
)(DE T3x
4 
kxYokRjK1GCA#.h4ꄓ0d,]t7Wk:qWe:bh{s1ש{gh 4S\_4K^:Tw @cٛe`Æ9% 8A]3d?7hxbu"n44l<K,Q9aXr'Ⲍ`M$p2. .)$Tl(l`7[͟JKI19@2hE;v

t4	j:2©i{j~\
*Y>5g(!IFZ	4_Sޓ<	zu4@njy@C`T.j+n5NSx${=
GC'~nAKr\klͤlNNפ߬H
40tR\.!z?ƴ\_aO>M(~01l25*2А8he
p_s)ɑh{*.6Tߟ>
qyVQPB9CV+z_;<] ;55h(wڱp:?^ы	,ݍި
1 d)P\4GS§ö]k0&Xѐ9ht5"u"Daưf(Zm
//GCfymհE7>
C%!hl5@az^ɜk\ThD4خ nt
tz 
o/hxѴn@#ohxt4bġJ xg^۴!

[hXFV3b0c`0.GC~DhhP5^mk˄	h:tNjs4}VT9E1%ȋ۔I1˹qm,.GC~h0GIo.(, 
?dh
};I[9H
F\	B<V|?"XѰKXGh
Z8M7hԕ<ʰ%jh	{vca(.АhIAC2tR]h^+jGާ$Cp QДX@XhCŪ@C~D\H@Fu ۢp4Fo
&Gv6a#XjWĕ!?w4D MP̎r4BMkFt4xYеZ'aIw&-q:;r

T堁u4m:rfz+@CM
]ƪ
a/U|Ca!v@юlmlزr2!
+I5רbA4/RW j;r.ѐa;\
sM˹+
OѰDlkbTYGNdo˱DTMolhw&*2#Gѐۮ2Bj;r	aÿ!CaВ p¹1Loe1µ
GãT^2GNMG7lhIH.M|l>&szkAm~{8ޏ 


Y6`Ov4
4w4ѐ/N~9@M_`~}}}GW44
s4r4
tv3ۂPH@^{#Ahx4t<
N^'`a#|GKK.T]8ZPxG}ˬN* h4ј\f 4aȪCL6Z1>h
. 
8R@1-z 4ls4O p4 
ID hUǾDa#7T 8@jKq9z 4CCҎi

4 !4      *
 *x4 $A@#n*jtA[-:#~ h 4AMt8<v6*I'j%ii<TWݳ*%i/uK$6
Jx8
Pۻ'f> r)\ ~ 

TyCT͡PmR*Ep4D4D;A)M2GUhW_.˵xrnW}uVt2/ 3"I+r*ד9 
TVA
H@P־AC~nP95'
PJ@!6zwնF9ƊK ?b7GJi7ҡv)3ZZҧb%E648F|EJ$vGuEɠT!WlIk)flKLGämzАR@cf
12\dr
ut<L==V*
@kb璓3 h]^hYչbF
L묾V 
	t&p^efx}.lhR{Mc"._*@C
N|_͎@\'	;R6P?>*S!u4<DG˴B7'XUǰ	'M0mvpwHkgV#SI[ܯyr
:7>FgUh,˰PP&ϲVA4E`+66TG#
~ϻxk*
@Kb 4 EyCpW8RHpth_uo	Df4&PꖛhNy0VN1P葂#F" 
E
Zw(:fCp}S=(fF|m]	4=3
]k
+MP #: 2CbpH<S.Ƅu4-a'Q!PlImܗqh08/*lAxBLmc4Mj7`c5N	 #MYGwbןu4҄r4Roam,w1Ŏ$C}o{PmElIHa!уA5 b=
;J5us.ةhI-UB.pȢ$Rłן>,p4D2%F뛺׉5%wj{zr |F,<ĞmVap	ec
vL؈ze[Dd6۲pr!c#+jؠrY22lb;Z&ЉG>=hYr#;`7kb|U?Q?txArq4vq);};6d,Xc2QȭOJ/3ADLʐQf2}X=59o7oĐ{lZn~f;v$cOP1CH@TN䉠Zkasv{rT!cסjȐ,GBu49K9 7PlMa*P6dlkh!68ѢjܺƵYmW2?p'4V&iUWN+O87c4d	P	5ha)_2*t<͠nM7]
d*Lrrh׉X%/dThzp4DU
	8|%)ЖfXpvq:vy7Uq~Q"|֡"S<ݽU6UsCFE9uh,z}=ƜEz4Ȁ6FmGC
װ׵"2b
ǨsVv0M\mhM*AÆ}oNlȀVgl-|u9Ѱ!Qg42P g;=leNhgV*pR倌J@!8v]AG,xS1!cΜ9߆XHK\'du&rbc$Iܠ_6d&d$9Y2hxR"Tt|zhѲ?}F;Fb"2j&ַc$ю@[mpE!?hwlTp4<l4 )̄W^c4<e'v
\̡RDz@*∬$> Suш4 G	@ã0t%h 4  h@@ AAAAAAA2F"@>FT9޽sނw 4, h zE AV$h 4 n`Ţ(4p2d(UINq_i.'P[~_;<h7@c9?CE?ŝ&%d_{B@cb(emZ 
e
&MԵn٠)!AC
YX]T]Jr 
eFVdc(4
+gCs30G6kq[堑(IAQ9dGX7aF	p4C$j4Jv3}؜3隔UU^u'+D\
8AU:p4QQ
ZDq ߷aOG53sXߣV!
8p4^/:`F9C'`%h8 CTjhZ6ts)vk"8p4hx
Gh`b`8xO>:n>U9]
f,@}
% ~*h@F8Q6h(z0"ܧC'!FlC 7IԚ3	$xog8p4ZyY'
GCs@cQKq3*nVu1Xp'yM;rА4bxkpw:^u6H*hW h
X@dPIMHPVT9@1JFk|Iqla	
7hDh5>M IhV4
'
(֪\C8Z F=U9:K9B9~UhȜ
8p4hGQwixP/C,%\]lUPp%9@c{qАF
: 4h:q@<8pIm_U}Jۧ$Cx]u=h`a G
8bF+8iȰUkNTC5$p4

QFAGƜ9sGCACme}GXPWȒ/euȒAeƨ?'AF$Ep4hT6"r4x*-۸ANبRGǘ@C$iZT[ûɠ_2!C "-p4
6hhn4jKɠzɹA|-
YkD`^N=jOo!÷
8X6hj	1tRT@5u=5zĽxo˱~HRL.%T)sh`8h%
4ѵ ,#-y	^m'AC>dtkHfSIg@Ǝg4d5T~Rh8
4j$9E%ȫ'_xl!ic(π+(fM9QMjMw42bрGCTdĔa4<* UinFnD;n@

IAЈVnАo7LsCc:B}&;6dDhр!2  {u)2S)v
Ê?+N
VD@#AgPY1h 4EUC*:m|䀌HA h 4.$F4l|N%h 4 @C~_
`
p%Qa hx4RlM  hWppފEuAЀ^    7AA; 4l!ɏCV+i 
|4C`A( _yX(g:45H*Oރ&);r@ĊNQhTKp4!ܮku/1\@cMGՀ
ɰJ̠{aB
X ]{{q9YqS@#>!G8?hG9r~E7Q>hz82G#c.#p4P`q4h{'R<^抩|?oAC#G
8ʩAÏG"؈pr4
Hq:p4r@Åv?u~
8p4h`i*8q:Lp4B
hؐ!ӣ h`&
8G2|

{u8:9h;@cBЀ!x}8p4ha#G6 ޏX
a
86d
8v/2A#!
uGCq86d@C@#ؐ:4N GF*4hUGc4нhذ ~ 
B@p4h(
GcFxPP2hl64G9.oА0!#~рGöݧsшf Q:~HЀ!
(8f'TܬjAG=
HX#y?4s<Vd
VA0$CFI
+b	*@#"cS

8ra
h
lLGvoh 4h"8<4צp4hT"8oOX
4ՔD

}Jp4hɡqss
8IM(U98\GC'p,G'h4ɠa
8Ank;@@r4w4

8:Ar4?GFYhG3ɠ 
h4ѨH:p4 
QE.J@R0F~@ i$2!E P+!GAAAAAAykMT!	 @@ `45o̙Θ(hѢ$O85 hi}h
%F+rЈ0 P@+ߞ?QAʱv JH<k"hY!4h
m[>n 
&>Itl,hOi(z)L
54K჆ZĒ4Kw4 E_UPz{:3z+Zhi>D7R<DCmܧEQlP79֪ 2ߐկQ*&]ƦT5hh 4h@c'ś#:	Xpb"rs_S`,!.`h0{s- `u/cTp4Rah 4hXp"GCN]WER0kS7%d⡤6~#r4.;@ڀAFy(j8)
8l<K 򡒿-I|2+Ik&dp}G^(Џ]Aw&-۸@p04hBqNFd|Ü188srEFu]8S[VpVlF
wJG~F~6r}9Gmv
1l(
TՆj:s2O˺۸y^0'!~Iqf;p_
wnŪ5nعur0l%\/yM8O3.jP <Rh8GCF?l 2y:iCg6R #jj{Rhl mׄQ䎆4|9 x
z
86lZhű2uq$A@CZ:<V=Y*m hрa7АG{bF}N(vNtq%ka9TL4.r.RfLXe&:3Gr4GU)qzHtŸ#>M2E"t4n@C'~6pLa]22dC&|uRРF<:QpH]! х|nأƟ͈`$Hа@ Cv|dhIS\(a6]hdpl::~bs4&?Z:eA@-f*V:xIq
x22qpdU9+agvD6
7q[aC[,9$/sc\GׂR<~v4F@ÖrާTe@gt!4vd`<&:$;
~&q4߷n?rvv:2N>whb	rhtk[%*zȐ%:rGÝa2ن+8h"$rruߵG/Y}?[7
5\b:t=יl̉y։2
:U׳ydD7tNK
Gcy
Uov.5=)4@56<CېmK)6I
ο@+'pMyeP2&,h`P׷jA=U.V8V97cZYhq?$`okʆQ+9@c]{1aA^ (vr*nA~˽`
Ԇr6$AȓR}kCv4*kއgd@^pd̎2
8kjTj(%|`	@Ä5Qlqѐ!
$xXYqm/
H nnZPyy|՛V&
;b@Nx5휍Ϩ([8윌
-ɺkѨ<<F
Ɍ6+L,Ӎ&-ZxVˏw4ɠŵ"2GGam6@kg 4&TF"Ԅ
{z:5tg]sr4 p42Y6ւ @݂]Aõ`4h_6@VL 0ZEj|	r8ZX<:GC<(F)fa$xᗈЀ MՐOа#VGVcAh@Јq֢i         4!kBAZ@cce@Z>4[St tQ$ h4<<=(73 sE1]cvА:"Z]Gn~ \G#|bW	Vĳ|FpϡT'SRRLm\EDǓMDHpShT؅: GQ\p4Vt3r:lEFK<.K\O؎@#<GÃB
j${<O/J/A
$O
,^7
7Dh{MH9i`Vh}CTnV}~=|q
V
Y뜂! FqR6B
MF\9 
BEhABkj"._
z[*
@
Z3R`_g}6|GCC%L[(q!46vWkgFh̴je@#0G)C\؟bS);6dlO3C
8Ih#х3a_;135*Q:AFXOb5}hGC9GCp4҇7:58l-ع=1;{c59p4$,о GC.8ngƶA#Y'p4Y&Z0VP#kX
	O(g؃bkHlh6}I]G[hAcCN¸9by'D?넓iSgƦSp4P|
%s_&$硙
lQ$p4z_
:/H*RNx#Apr%Jp1Ŏ$C}oK)jGCi8M0ҡH@Ch 4RgZѰ]qr8rX`pX"؀V7h0d$%PGTU
Љ{N|9XGK 7Ƒvx
2l,\c=]r4|'!5mn0s$Ƽ xROs+oR
8;S`88ZubCGOnPNFB/,φ
}0ĝGݞy/o0715u4fzBو 4q&b
:65IƊ"!.|w9 v?:i0dycAnwipiAݫm
:07~0 B}|;`|mYmW<;IAu? p4ו9^ -Bq2l'qGJ# yA1hn7NGF"7tGWenyPFVr-
?֜9sKUwАvq:v9р
lT
6Ahs&@mu V,h('#>;GW1%hVC'zr6a3lD,=.~DFvɃ?GCI
$-C|,h03buN`
\FcA*l,Q.p4N%[p4hxVZ4s+FP3m[K/Q.2(s1&9p4 hрJ''U3h\hx
h9p4 AC9wp4h)Fa4Hꄣ4^gd:A~р u4<Au4v4 ^
A 
 ʠ5
     &+De}kcAA@yT>%ט$/
hca, h}k)h 4|*T@hS$MTj*{c
V݂UO%c/Oqg'4۟_[ߠ8ن	 h08X@1h:VM@N4?Հ|
u'%C8p}2tKA}Ut@\[P o3@#b:1$Q4tQl	1	[Hտ_>AÆ"QTh 4W\X@1K>h0	p4h	|o4Bv4
4	CрpFp(e(7
Wc0
)J@ 48;H\.';p4t%)hpH`
4VR$)v4ǃݏPE"!EhG
7dHA2p4tRՠa3-c	j\
Dvhp@FQ耣W%hŐ݂hHhNhaÇ度\/%SlWq/EV쎆 2QSE4:MVZ1֮Ҋ<nG?Qfb: 
!r6s4$؏-j=TQ'NGígdA[ :8	Z;'E.
de?M\,d$p49GEQ,9x	ש6["p4jv7m8FA!Ȗ LNP|ʻIB*L?=0^ц.:0t2@Chw6y3(V E*&RmD& TGCڹP z:ݞ
%
/E9E0f);yw/^	.C
8Z.
οP qc_U}/i!W'&dMȂ!:hVߢH
BC͛Ehx
ΆPp%9@c{\
-
vN·[hĕp¹xQ-Ar*9$is̡pCgRwE`~A6N:v}C)+VI{:ދnAap| 81h  <m ƵT@bWP̝;(idq>xttYӔ%KِhMt4Zр!4
Y*3mQP׽n?F^|
Vv1b@FYQg`&hT5σr4} K(Qq;
̢s` m&~R2tE
.6ِn$~UU~ACF @4\}c_G"S8R
Ld#<ahQ `aS+ڪbQShOo:
p4yL9K.ݍS0رr2:ꨣ^QX2C#"MEkZĿQ'4\(YvMF1^˿
8ؽuc]V@CyFp/7z̜j oLW
<F
mQ_!-hѨ6{LI8h.޺bS
oj:}}}9
euNF9JAƻyV
_`u?@y0l4XGC%8p6N3ԦjM(ksS58>!9
Q744	iKxs2x `|bA:R C,
l\<Gj,hT٠a=*7ڻ!v28߂CaU%T>NFr:AM]?Xe4^$	@FF$}r4h 4|ٛBxW %j')'_z5|"Cq@!
ɎK~
8p44lVb2SZ
hlA/BFJ)VG
טφM 
8ٰ!
dh	 hxPa

1\hy6Z	h /
0A{Ґ@#[}:@ h@4
      ƽ?(~E{.z_BΊ%
#I7YI<Ni9ǾQ4j?:^ed|[꒴]ᦁ
 hlsƶ@@#PXx
$GeߠOVuBh݂FYbUPܤ	W8@q{<(tLF7s4X(h_A 1ϳ6K}oe@FqM";knM&~73@BR>2nܿ&o?=  l%6d
t$0
ІM 
QHquݗtVtNF"@C*;|~f7Q4\CVq{hhdP$ r4(~.w	hhN&2hܐtP6{hlNhAc1|GBnA2hP
``U^\:q1@̠4 Љ5hIQ6h!4
:!pg\mhr4:i(h 4'Xb|h$&vϻG
<~G  J:{AC'2'иlEeM?B5ohrN 6AjA7UF@}0t"O
4a+n_!8(vp\/ ;݂QՔV:/CKdF"
A2? hL)
J`T"M%#
8<8cօtzkCAc[U̶3{}
QBBd 3ǃYvVo`xW=RnG)~NG}>($аKz+s4e24vhh'
te۰Q~b@p4q)5!sh-!]~ h$\`b1TClCF4aRаM
iCҥKw3
O N8άHLhOh4hܦaGϡll9u6dL}\
|/`в
6 
Q<ⴺfvv'
w;=JԥY\*XӇ˂@8Z6d}lg h"&S`CTpaN*7JnWa߫bbua4ܰ`_"pj/,%i\O Ȩ^,!(`UY
T6h0,S.8wo'64 9\a])pki Sf0e1
GC&l܏
yb@p4 8u@C:IR⃼ulD	4/rR"'d 4>8}
s4~3Gch-
FY}b h`n}	aAƷ2\duPS9⊔
IjhdpAC6f	\nt@#VGd<SItCxjg)Zɠ 
 hhu^7hDGh4wP|P8\)Pq;Ѐ[;LNθ׺O1hK
oˡre]2dnʠ,Q d(p4]'ӌR?5
Դ)g؊4 n0,Eˣ<^Sdq4,:uB 㶴ײap6hD %&vNm? +U9 
F!9@a2]!ܾpFpV6U;K	vql')@r5rVA 
=CŹ
6>/9h,atĂ7MGH7 r4 GKs90*
?	 !8Gc'vG<r"hр4WCv '\Pಕ[:(3[T# h h` 9l0JFNMϴRN hId5tGаaLGwY~T7-Y״W(F@

\̡RDz@*∬$>9YG]&phF
sUX3(b&&u{Fq=\h h@PAƅj
A$V L n_p-!ШPjM
]A@CjsODܮF١ת !S䭉*     E+^A<Qa_$
A 
|Nk@@Uf
 
;vm/6ƛNpzymTNso9.?KvyC
C"øAC-5T.t;@{_єj h7Opl
k-<Fs
WeTLuQʩAoxS3
qVD
u24|L@Ɲj(wy|ϝ1("Dh89<̥.~Ge&A+Ѐ!3
7$!œ
~N1 dObv4
sQ^p
eP1Q
	@tLN7,S=隔^p4|xoXI~

8nX8l8%upړjL;\7!p4hDB]kfF)
.v2D8dܞ 4I9Rqܗ^r7d޻8l|GuPȎ<S%'9Dň
O.Oqw%Vp44R{McPE\+4h_O1#5QuVgK)ȯk;T)nJHАaň
p4hXlt9y89v0fxޒ;R{Sb?rGCKkOqsi;TeV=Rbg
[VA#ܯr08\9H@.kJ
82_C1CŚ>*p$ؙ(Isi-hTl1[h/wg^%~]c5RЀ !eGY)BJ0aoQ!FvaIA	4W#X^$gh
?/]Gt:d"v4ؚ92ڶ7'q4)-h@Ch)'cYW0O 4Mj7[m
GCj;oImܗqW$cIC\.d\)ׂןAX<п,	@hAh:f 	@S	.ؑd۸)IL@#x'R\S.ߓZN]EOIP?@FTa,H Qh8hT׉5%wj{
tEIg-~@#6GCCF
:fp4hDnW%
ЉվN
7mWd~h;
4 $X^f 
HmCjZru&Gcg
LǑRGDq'8=V>ƅTv}AՂFd%KS68p4ݒP9
wsv{rT!rOo!baMyj,..q!F\Dh 4 4/9˞F:4pYjk/ڮtd(jϛC8Sb/e=rZ

8*]44Q
$qBh8p9Vʗ O hyaNc:׀ޔ7vSېv6`C	GΉ*@a"0	ChqS58nWc].\.sq
Zh,z}=ƜE{k~4^3hIH̴AD0GC*h;B!vWJF6 4h4VZ݌/h!=e64AѨ1
bt44rĂ7 h4v{4=P*hxVcAbSC'ra!8naIL@r)rcuh hx
dP;S~-\[Ԡ#i h0 8"ٹ ˞ꚢ*QUbg@Arɧj
h8ѐ,e/%N6׹Cr*UY1FI}.GQE 4#f9!\^,h{K]k9A+R4 @ _AAAAAA!|>X|NӄvW 
RE ȳIFb 
I&,v@%r4;'$ 
l =BA1 ШURzghP=i!?FQZ:ѢVYSFi1wS<9q!q_Wsvl:h >5"p4{[g *P4UhǏ?D21(yIB
94Hìgtþr h̚5k*=v)#֓ߓX
_1phhSe_aF2dBBm-r)qPwT1:\Y4!v6>{ Ao+qŻ\΄h

8z3[+hh1$G
َt Q\1}:\h!Mu4')	
;ԭVѱrh
Rx ueGh*Ϣ8мF>psp='#_3^l
hpQP|5dNr26g@ÕА˿>hhؐKgJ
83@ʵf]FRٗ5  DF2R֒JC |ŨFK\
Љ8O?tpC6tݥ+
h|5
lm9@wM
Ο28?FֆX)Kp	UKqt3ɠbWp4ND}`!+*>!H4G
n`gF5d a{P,;y$9+<FlƙZQt?}SXu_sYt:>hxvd`#2nшѰ!C g	Ibt4Ϯ! d6p4r^Z"(MQ۽`}]l9/|b1n%ש6[r&rQ:Fq7ţ?xcOD
HRThذ!?h0djCшpC6elGqv>@u K(>fxC`иx_,N8b
cm4.U}/ Xd^'8]@K@
4hhp@"Ӏ
6Ϊ4ѰPn#hJNEf@׽Rݒ?5
οPPpc_U}/qM1"ΣZbNKɆP[)Kh 0Ac` :q:]:)5p4 ^'d\"bx)8

U$h,n~V?št~?)^?=eV
!o[0{*: ]_3#{:r&N|C
d{(>qy҆u5lꬓP]u=h aow­iS6v G#0UEV::-۶(OCCCSx34#SM_|_2jş54nKe8>@#- khe F1?P\N1JC G
YGh!C/S-h G@s$zO!r5.]t7c~	눏6(GA㑤z-sժs4C':Xd|!#S|)a$qC2h,u4j_t~)}QxHww;ڶQoRy.C/; Nc jv<KGFP
{n$~dЌ(~D)v(?G(*HM
>|Z)ڐq-V/""*_ASbT^VR~jhS
H:/a}_[/S}/ C39SF9.2@R	hnG#Kӧu4{먆{^cFraϿ# Eݖ8VeIC@;5ƧZ9<0`T5: Yk)4hP YEZ~
,AtGc4u4hr|[TN-4I&(L# w=vH0Y
qRFNπ@. gL>nΗ)N×{PL5&4M!Wi
6)ç 2
ւ
5ي!c'XȸbT)ZTvp/$Jg*&>Tِ:t4t_Gcc`TwиH:r:k h|!Tz9E #uq6w_TPrbqxZP9 PeBѨ 
 ;[߬4"5ѐBF$WIW; {NBzXGHߚ4HHA@ X zْ.)}1݈]2 &g2 `um{bS@c֬YS9OU XG`%854Ԕup$I!C_+
lI.}?y(mrd'QTp4 ;G/rsF _+M 
8Bi<'0
Ÿ*PKqRLN}/w64b h&Kn_$9}6ğMp 
Ш8(>Mq;ů)vpU[B4AAAAAAAp>N%
=GEV*$oz+@Y^ђ?h$Th0UbFMAMn@ACꈄwp4*f4R7h0 hx
o>nm(z]@ЉI@C%Qj	:>9٠U-F
4U;AX}pVt
z(LXZq9Krْ4,ڥy\&h,\ 0pxu4R5G#tЀА
hIT
ѐ~qqFLv1:׽-`Ç![s4̙RY
8Ibr4b

>N2r4ܠPи
q
AMOR\K1;GܗAc}ۺ@ÿD)fGÆ@ÆjЉ6n'
6
ߙBPlh(4z)@3꯳>[E< c\A#UZ$͓рaFmC'䎆[d(&$l

C
8w*GTwJ;JU|<wܙЈрaFNު]wx

r0l%\_kXk(fXgY͞=ႇNqs6;r54䂣GÆhAC
6mtGƂ𹌣C܌I&'cPzGNp	1b@4hѰa[PA%w4ܰGc #m+_[f(]G1H
P@#eɁ@+dG
A#T*UHߗ
6рa$6[lq8kZBE˱h 
86l
}-<M 6DA;qyuGtߋ)v$6}[Hc0XX 2SoBTɤ|]`WBp4[ h*GCkRKW
ћ2ZCHvJX}O@F]eaܷ֨.0aC~(o$Eh;%NLrxʵ:#=
8p4:: %2yh~Thؙq;ڱp{:_v4Lih GCCBa0[P>ȐdDq1nTLPǦ[r02;WNtuHрQN_W~ȐFRPyݏ
%N)ˬ+K\;cUΥ7l65h 4q4h0$H}=@#x 'hq?bv4 L7b6t5oYkg0kf!^6h5A
h h%aFƺ]\N]^jnoo!ta(~ЀG
@C
AC+2GC>$@m,'hs5.$Â
lGC	F_j
ƅh2!b&
V1b6uGCm*uJ SBFnA 
8ShhȨ49
2!#vH*
8 
h$%)GCCа
O2!/@ဌZr4h> @@CҖ8Y'Z	hTrЀIA;Ѐ k[hAAAAAAAA52 (iyIPQ k'Hq*ت>Uwҗz{B2I@ hIg'q״JұShѢS 4 uꀏ@#}߀6w l
^7{MA7NqiRP|
_TEu ŀ9RDs4CFHh 4 \zY»v2. .)$Tl{T )UFRl$$0JQPu!
vOx)߇WM؝bO.E1U Fnreخ⎆n*4x(fu?Xל4  
#آ!p0tG#S)!_А1Tv6
yd$u/VƁ!_5h 4!9IA}8U.%/0Ѱ!2ц
$pɬ}a
D	%GNE
_zWG
l9B
jE&Ѻ7h 4 rؐKC W9ш 4|)|GC,ke	!:hh 4 6◶Wh6GÆu	y!.k
@a&Br40t!MHh 4h3ԟŋR<P50T!
r4!w	 
3ϟ?})~Ljt
:U
rؐQh`։\ѐCFdP ]Ѿ`D랡Լy^R#hp5
%r4|BM0-2NrCW(k
AÆ
C'8:E>U2]X&IA&1_T~裏s~Q.9aj ! U^E:D++-r_ gZ%9t(80UΙ3=TH\WR4Ex4<(GctMo%r4 Ml{66`4aAA<<t 8NAg)~I]@oPAǋᆌh(:
]0]96؈4
XA4DK_2PPʶX9fQ{@ CoZT$d	 h Gw Np;g9o8`;hT&@܌?% |T/(и	 #*А(.8F4;B;Ag\C}[Uܧ>MrgАS
/
gDq@?hP
$>t͚5k44<
9p4%ʑ=,Ȁ	hh4le8;i݌4q?Au<aX
(.g xѠ(-%^1q71:z2 рRhThp
 l2&8h0dl8kaPdV]
ws;~Fj	$
8f4sXVsE @E3# hȑ)@mw0P1r7PS\P|?r-vvw6f~-&쒚Gr4gcIK G286&4[-޵"J׼yf
/"]o=QiXȈ hpKhx* *h0dߞA`ͼ-]t7fH-Z\
ŗ)ެOJSd`9p4Kc#߯%:uM
2+@(Rfh+bA-C' hT.8xW >3hЀ Ш2Za	IxB!h@x4  
  AAAAA=>!JA2R@<sâI!2F
 
@^8,kbTY'FP}I	?
,$_Oq\s藂jލ" c Φ=qp_i@7ІV~4}8:M0Z62@f(S}J\//x/t/s'hlJHU_`NqiRP|
_[(#
F6l@CC;
p46"
iI	 ][|	h Ġ1I-d\j]*X_e#p8p4$GU<
86da#`px=Nb)ߩ;Ƃˊ9r @#}߅
hWQ9;G#
6h CGt
] H@>:hWQPQF**v4td$u/VƁ@$u4GAa"ZGHr___Q(12 zr=)ſ|$MA
iuh33HY`~9
eVpFOH!"~G-
ǾG7lП!E_K.GpaD&و!?,18p4tN6l}-H=xϟޞ|u}
WtImT^mhhxP2xG>»W{ha#FGcoрa'~:`	=Ġܧ h	{P<4xIF Hf Gc
9-ָ~k<6r4RIb2Y

Ι$=̆N
4ȹ8ϥ	u|.1v%PE
@6e/B5/-%
 h

;E`#ZGoj h`eP
\:įۍpt1on>E!n(.P|̪Ajng%Ѐ`{{ɠ?5l8Qu@V'hpE0 c-/X>:*~@N2^x
5@#
%q9H;2(G!Ϲ,4r/VO:$NĳN0NP5 e/KNc F@@chhh
 E2
Lo恮!CK jp3Y'ؽVu4>p3Oj$^I{(~OquTJq ņ1=T~0|iSAi$WSAg3aZG# rG-!hܖTuG?]m7dpSPk*_S|eW8} :\*Q

2ΧF 8h%G(G#xw4OVSh#!O!Π8OG
ѐ/xT-{4h5\`@W<l,:p4[hLo8wajF2t(e8А kY'Шlxl
p44\FvA>A)֪>:@Pp+(=OB͸T$Uhrh 4v4lgl3gÖ
l
p4Sh|
KIA/A.][y
Z+SY+~*b]*, i:h 4h	j65TGU},Slp4~Vh4АqM1wxirJvQCvA#I@h@2	`#4ЀԨZ1<]!m99 w4G>_plG1k֬<a4h\qswoEFd6][6hc)6qŏ~PN; hѨT
^ŮF|6Fnf
(1*@_jD\
`8ZZ"-mqENI@#GC k ӛM<r4!#NxxhhaKc$$4%^G p4
ÆAJ ˺bu44T,~
:ht
 *)Y
uҰ
7RbsF _i^G=4T$7@|\	~j	Ш.ZaV(l/<OcА, h@ 
jE h 4/AA@A@     0 ?[$Q!K.$&}
sdШu'x(Q$i@!ߑ8$Slǡ.n1yt|
mfuV \1'VSAC
c	IV=;gU: hH Æ.Q;gN5-W`UCF΄
k(K:EY} 
@CsGT
M'J2Ȇ
Ο?z1Ip4,ڥy<@Ãs @
@ !
T5s^.YW^,|_܏nr4ӭW=DCߨ	@2ܰqvaZ
!h})L
EhH c1UO%qwqK 8p4 p4
TD:x08!#[
W
zUUGɠ~k4pQDp4 p4䐡L}֪*ئ
n]$Ie2)hGC
pC_QlO_
Kp0%d5\6azkL!e\
=EaoeMph
'l!aC FU
9|u䎆8uxi܇Z4рG6lȘ5kԔV7lD
p4ceTu3Dhp2g
dQ34lhEh( p4䰡!E6䐑:jָu͸v9v40ShПʠ4h`CAւKw

qfHY;AŴ.@Ƃ璏iJp4$XE2
8zĭ-`ݚvo ݰeט!V^@dqA1ue̎FJ|d@逑j7-QaFܠGASm#r4$E 
86b
{&Z;nАGGC9daC
væjؽЉXp4h8}F_PQ|Y<z 
94K2hGFy$Ƌ^:o}{(V?G}(VmACQ*
F!8Oo[p4lG

MLhܦQ_N^h C 

8iUDvKԂЀ@yG^CZq9'NFYJhtQ:A5(%?G9 
K;OҒSyoOP1OADR^#(9vWFQ`^'p4bTa;

hY"2@t5thP<;ݠ>\bFA9IM'u

8 h4`px't[*Vŵh
и'SW7S:5AArm<G[h@.A hp56T{5ֆ5:OwqByEu4h`@
r4g!T @CQwH!w@\  
צq 
@ 4<)| h 4 _AAAAAASa۸}! j~.@:a<ʳ`[_Tz*UBBiLah 4b@zUXhdU Ш 
_Jr4me[;4FlAc:4[j ZH*NVQ젺T^O+Tmbjːw@C FeJW?ŝH}
ߋhaCI`T hpTx=ީO)Qb뫻~'xbOS|L`ؠ8=C	Y4ZTy__ *xM	IZ|Oȿ/rRKPT9N)zs47Mz{ɯC䝢ϟ%T;:B*>tАK?/L h0dTrаh/6,{/2*9F<Nb)ߩ;Ƃib|r.^K(5@c* B?R
a 4w4زd벚,FQ=hW!0dHl{\ Y'P|@HЉWV;^>:h𠡁D4(
x56hT|{)v4㻖dq_	hrhx֡DFcYheg<X2J2^zr ϟRkj9!C {;\LP.ſSn4:>s0x
*c_E9GQ
mIUq_8i;S[x}K,F4 K{hx,&~Eq2,(jԾ1~9@}YC/M:xCJ0
P#	Cſp۬YB)

aIh'R܍怆\r  
%%Z`BcCFd`ImC*gch9(Y'B6e-h!;h 49 Nإ[8&~~͂')>fӐQ
윞	{P<4xIFhdӺ:!6	T.5 OȽ8}Nǧa
Z rlaZ!@C
A!2А9tJE
@̦/qHKKb|p$a7ㄇN( (Wˀ@~_hi&Am[44 K$R:4$Y#>(|q	U
-RdhL-t^Fur96
h h 4ߗ@㔔υ{κ熂/b+8/
d@k^KE43J̟)<.,@Ãn(h!C /r]iA%;{R}h@ccP7QUG{0x/|_b 
 
*e*ʜ׽3PbJ\GPlHE>qyT=`$[p4h
p<Xj
6	4Zhȿ/-uS@5Emks*_S|eW8}Ϻ-ֽmKo)絴lPTLR}/lqpr 0 hhhhD4ߗѨ{gaN$M)G%{c~Q̥͸vIx"}><}ߺͰsz_[Bqţ;%шyz+f;OvZ
Lo 44l44ߗѐ,?"e{ GMq;(Rmb`ߤ8C/;o'űA3=֦-ufLb$by.7<`
'x%hH`IѲdF@C}`
,'Cj}\D
 -qZIK} hbk
lmV{o8P_Y8p4cZ;K`#а4<}_ϕy/8Rr(kO^*Jnq]tc_Sq}Thjcu9Zp4JyrH=GUp4,؈ 4XK=DnSa)~RX%0QɎӨYҥSKZ)e3>{hգRM5l_˺Fs7w~jomh
4_o64nd,}OS|$3 `͆5QlqѐQ=hϪNDhk]Q r4!

0l;2|u	_8 \19FAD"=SevJa-Tgl-|u9p417{jmWkѨ
6Z4eIjt4Xujc}KgJ pFBFUA2Pl
倍T
K*J GX/8UrF`c mrхckhXOPh\+hT7@ûJ2m.a=9Ku#o(6gĎNUUlh 4 U@C>EI6`X@SEVaAfذAAAAAAAAPRZPw]N* /zyޛ<<iuF
j)!~e4̙h:h 4^/\F
 
 8v]7weUmȰTΣk<: 	4x>r4ܒ_$GC2h h #
6)Ύ4 {[q
cFhw'lK)G "EhѐÆXp*Vp
8ZJp4
*&!Gns4l0Xؐup4 8yԬpC 6nh3_Q<Hq˩P}TGC]xlwlЀ
UœRqܗ-Tސu.B;65 2\.#g@XxdB%Gh0|ޢ)NYV7 hD&8	ZvG97k֬i:/_["Q
C
6Κ(Q 햽#r4S<fQ|C2zQl$؆Nh `" bG?Twݏ;4VQ6.Xf"%&JAr2;>"GcI]bo賤	9HLp44e@v688ϲ`b};?AJFg1*]_

.ɰķEhⱌCF-" <g(P*gPž<J10^GQG#:
,+qLǠ:_ a儘È
N4}aCNMi?hdQ+})GF|-٨4O) yߠ8Aа5&6rdmk[I)uC,
g0FACh`ۍ{O4 AWYj۠PF71:`x
_0LOQ$.G+(n xؒ^q8T{]֪
g
hHa~%Ng$5K ( )gѶjS:p*,JŭGÞU2 b@cᾭR1,,`7S* #'ÆGC5m}%Au[!"Ah%yp:r؈
UQZMAp|bK /Xygh`-=ޔmqiT1Na744l\v5!X	:FG0!gm/o
჆(1 ZWܚgPGsrcim|MK$	4rm*p4ܳ	llOP)t <Q/S&GC;ĝimrGC1>/:>NAgUjp}PlPAŢ8
8TLk8BGC;kOJuy\d(
~ĸ	]-1d>>(q((1~^@c(s>(
>[0( a:q.G~n܏Hvo}r-hdֲa#u4Tb^P\ӧnhPqZ\l@eVە{:UbOcexH|m1ᯣ!WlАHLm{t5o{_A)fd8{$ј#5h3Z#cz-Wc^kg˥uN"Kz)0îz4 #8E.wp͐9rؐAb6aOLt
*bʍ:0Y'p4,Wץu}/KQp6|b؈ 4Ī 4^Pψ#t
wV7m?f#ŽA@lMu+m>
_mzVƬws?ShxXL#cێG%G7P|D-wPD:>R)HyA!!ppsd
T@qQ`cZO\*cnb!_+Ѩ87%8OR;7QE1! Y|/ש);@h*8჆&[A?ּbտTxP<&vp4ͪp΢QQ 4|9p4ܰ
d|i9j7/Z5#icSP|xL[hрN#(~Kqk
_q«hрrFɠWrVBT. 4^Eqv5j*}o5:OaPR/
4 3GC#w4h h`
l 9UQs4hx(~ 4"@h/\A@       HȠhAH~PAŘx&-^8ɈѸ!
Jy"d-.gY*w6!6HW[ߠ8)=SިA"ihIN>  kͿ玘Kq+CG1B0|" <vKh	߃>+hHAQ'h$$ߠ[`aCF4Vp8^ hxݍ
#8EA|U8/ \0qFqNd6 v7zk
>_Mq݁R)vG4Ͽ!>.
{ 6P4hȿ>@!pY*hPx9hn"h {^^ p4 
lDdzɵ TaA
[	hpш4!
*Tr>VNM\GFհ Pd_]D	nȰ5T p4~oݠac>B
$K>/4ܐŠa`5L212djA`AGC(/HnpC߳[ 0<V+Fl
6dl7\_h9h7
CvK__n8
9l
9dp[Y!AF$
9h$y"PNFbחYp@HaةݐACC@2hѰa#'Cp4;JږACr8+:Ed ₌Dk^ڳM*C!C2#.#p4h`Ch!	RȀaF[l
9hhBYsPV1B;*V/}B:aőGÆ7l!\ѐoc
y481!ΆhMzz!Y'p4!w4*l 6!$hsS~|,u"
-2>aZ$}=tа nIhѐÆ'CrȀVA6dЎN}Lu>.Ac
&
nqhѐBHr4 hؐaǈhv~&cys9.\ĂAS||ʬhTdhȐA8 
4Rkxw?F}ک=&OP7WѐCCJ Cp4]v
4l`pHF12暐!aY'H
р
h`։
Tr46|HDq#|Y#INxY'Z:nȐ;rȐ^eŋ.W>hѨ\tW41 6q_;KŅf4}I9|CMu4dؠ%
8k!}o#A<i`+(^TꞧBsIAc*'4ĀqjѨ2 !|=9dHavc`0Ԇ
.P 4 gA㯬ayv6&8iv.T|t|GшP0٭mm_=h 9#qkPdjq{ڲϟUFNo݋
&Q@N@:"p4*	dTh C~hDu"4~\,aPHg`uI>\sr
;J0[FFU~FBr*5ye: B U:AApmmAÆ	hTR
 
,xs4 
v0Q8`I]&B54`c1b/eF [KS<hVhrШH50;G;Fbſ 6l>$kvIl r2VPl0 =x hmq:f\UCaçkF<d
roAu48h 4҃ u4

G QATteP qG/     
X'tނ;- NYu1=Г*$4cw&M߂ $VuD 4   MIh.}9hw_bX2)zh$JR|f@\o	@inYgP@x"P,?l G@?lK@C?W6[;h0de
4{TgРɐ odX\h 4KwNࠖbz d$b4аs2
h8Ϭ'dEVd}uf

);F7tY} R h<L*`Pe_՟Ysbë|__2hL߅`uW)6pY.]t7>澭N>oh44\X'qr h`Аogքl؉:/hLb` p~3ÂywPCmgS|A{@h2bq$ h!Æ*5TEqyi%A$?v s}k;-~Q
2GM,'v7z1t(pAC*th!#6)Vf`6U>)Iqno>TI~޼y/6X)Sh06А&hnV2dP@OАC6tݥQ&*0t2-؉VppVxр72<uy#C18VTpn	A5azkРh@V7l%haK`]'m$fv Sש(zTߪO

/5P]L3-[s0c8ep,4h 4 nBԪ]I6
f裏~*Xv'S<@,v83'6hh؈h.ƍ2@2]5C@C@
nxHO~5^kQ9UMQG!	,\~6s1/7BIoSOi0ϻ 6Xn!$DG#~ЀА+PH

* 8D3@WǲoثLX?"`8334DR*QUw%a8C'quRPcѨ
4x6=123G
@q8]:)5%~{?dkb_h0Jp34튴
*?aN]>dyv?܎v<TGjwHV_n3 haC\4lZ	jI@Þ) }r@c:>Iuַr'ŉ$tAt|D]aC|-)h:h܃A9߷\a4mo:hUjsk'hm-鞇P\E(8@hhVAw, u: 6P7egĸo3ܑlA0s4FH;a85X𰖢7cpƟi:hJ 4<\dDLt÷º
R=z

F(/)~?A)=JZpC1%wjа!
G#q(G4V!G9u݇0lMa982 hxa~
Р@u||։U
 CHUaC
Lrr聣G8,]W-_%F?
n{A6Ra=~!Ch8Z{;4 "8.rp[X
C'QlVe(wpk]bqt4T9oK^Ȩ4,Ȁ!ckխBh 4.m۶<) 
p~.3Uo-t	*V
vhD\N"Oa小)0?\ڿH92A6d0Æ2߽{&]th 4lTnPǟ4H~.rxR!P3
epʨzFsSv=@	l\怌ASca	@ WJpf$2LtȀ54 r2$ZN4x7R\mА*hw!@C$ ^	4JVpŰaBu\( @ (.- 
 UFxH48_"X18xZ 
FXJ)DvNF4 4bAAAAAA!׮
 <<A 
bf!APEu7Q"R܏{ 3	, FIlXG n͟?"n xL:>xЀCE%~Vh@
vFO8u.`	GC2t8`kL£Tbo8OJ1L珨r@$;B
	wsMS
5zh 4_*AYfQιNpCdb'\4zn,5@qD0%ԟaG`R1˒br
C'h44%Y07lCA-OSWAu'P|>ߧb/N4J
q4F 8Nt9PǨрGc
AiTLdg).d~ܟBBww4/l6"Qh0DhlNo:)NN4PUcO[E0z"I}hϣ- 
 CI>Sl+84|❼CmV}s?~ܿ}m쎆M̫(l,P7Q<Iq-lz\
6*oh"v442 oMa
x9şchDىSrN_~:$j;ss8G!hγ\O1#QuVgl(v1s%@5*?eG)34^I	4ΡxT=F[Z,FTf"Rm̂-OdЖ[;奰*p4H7(6u|J;FTRWb{).ⶲM,ڵݍ^!
'b=|Z4~OqGػ67dhy7aBܬ}p4C'pрL<r4㝜Q,\C1CŚ>jr4Τڏ-<d}æy+[[;,
w2(% 	ys hTZ.hAƂԕ "I(tTIYP&|4	2~a;~@hxNa퀣Q@C.(a<"كbkHlhV=^crUVŬif8	݌f62\Cр;31AOPeju4TI7tPmܗ7U@7ƚRG#
Q>
8H5յ+Dv TSU$C}o]h(xWX-%kÄBBafl4*h@*Hѐ+DPʠ
2֤:Tߩ}ĳN:v}[k6q
/+2DhT4إ)hg O[u!X@dP+h[~x1Ƒvx-FqػCRŰxXU"d̢D1Rd{_d:A
y2^;k֬)}
ݪl4ؙ֢q,pH0tr 4o3=eAENr4h 09.XDqC$<0L<AuljƽNv7AZq2ީx!c	&l XGaSazkdP]hיG9DЕU;r4.6\f]hbG{z+U54V 02{cx:p-`!=(Jkh QXh CCCST#NkמgӍ馫}k5NRL(k.k?\:z
dT>Y :P?XdPTݘlǲn:FFeoŎjrvJ٪r{=NOg,Ȑ:ߛGW9lp4F!Wu,A>G9DơtpyіR<;Obs	t2PP7s⯅Ļ6Vs]U![ǹdovJ7d^AVy^NA q;u^h_<hwl;u 42!+VMY&lxA_G#;ډuK>lG!Mw= * {h_u4hke쎆22wjM'rpC@en
 ֔aihwlѰއϥAŊrА:^sǪH[z2(r4BFQpeN;/h|ER~ t+4u4 2"'Rр<:).aA2 XGurрzaܹhM@Ap4 hA@?|y(}h 4 h4      C+De}s
xAIBpKhֵIFD+z_ʈRNPO{P\m1b@T)rr@#:miM߫iJ+MVQp4PSe{wX4&NxbG7eNM d۸O5_V+3ٽh:HX;jD6蛸OUQhHK \T1szz MCm7:CK@4h
!lAR݂FZjϠxڀK(✶k@u
./_afаh><\Gm>Di]ʈYfMmW 
8ײ$bv4pb
FM!Z(6OS|9]H,e99TV@F<ɠp4h>&tAFq44Krи(vn)]{P6zwն=`x"IAa	
bPy?0G!s,@4Sn1W[y	-P#(QA;\Np4W
HHN>n~r(4vSK)~`(f%MK[
1tLHr*:p܁)NYVpK:F1!,ʝ:0d/5wbh"GC%a
ŝtET\]cr6k(,җ[j܎zǬx6r_[G#ĐcD^^r8nlr9r44l!hw4!O]Px=ŏTb(.%*t{,eC>
ğar|F Y|=3,шe
Ο? 4` 
"p4d!Ԕ[w)XnY[`K!o)yþ>rG!_FcqGh$h!
l40)
yDh K-㌺oPi^yK
(Fg~pq[zK@C'YBFh0PJ`pEp)GF|mՎ 4s2ܰqЈm։<"p4D*NxFZ(Eqשd-@⋭ql'%c
hlbR_e9mU׬O2pjld%$GCrpX6knP qc{I_z=N8GÆ/0lDh`R}p4$<_b:?+xB1H}+hDY+
X,Ov=@chdƗAఎʟ986FGhVTt9wFdŖ D):9_p4`㟩S3382^GC.6D4dOpG?hx ,lD{+(.А'Rpƿ0lDh<wr(&ldCozҶϹ
p44C'֠@C
TLmA㖛<DV[a
	lh`Q4_8r:dP8>A
71l4ZcZL2ذ!Ckhg G;a?hbxz+
hA6+ G6vSCM7bv;|o_4ẋA:+
OALRe.5bŀchr4dP7l;v5~ܦ8E$
.;X34
>R^'p48{^@
;~h`z+f
~`GC c?\P|͂Aߋ z
8UN}4ܐqŌ~!GcbFhIɜ긼A<h%:)Y'K[ti4GCCFS_
7dp}K 85
ݯ6<t(^G-8N9ZhH!AѨ]3X݀8p4*l hl46,
uM}z,[ bb5̘hZeV[
xp4!ƁF1MUARߠaF+A/! ^36{Ā?G#@eF+i '9QU'X
Gá/@mOQ,>9{4 	  AAAAAAa|ʜ9sJ,!ȂC2ls4 FIH\4HQ1  ~ RCY3$Gw[QG44nosU?N,#^ُ#Z
0А+R hؐKg4d?{Jm]4GHDVݰQ6Ṗ4rbuh:j{Ot(b2 
2\.{N}h2ll.%q?h"Iᆌt44xIPG9kܹ[ c5ń
>NP}CѐC64рaC;h
ƋS5dȰ`ChR$
,nchhhu_S9wgwuk؎2q6
8&d8	G"=
*
4
M5GÆ
2lE
XS#A!P!7l80>GOpSt!\*oxZ93+lш42\!A:)bGcөܩ8Xc	4^T9a#zа!C`
8?Յtó_O1#QuVgcp42bq>$} !ɜ쐀wѭ8裏rr4H)hh
\G')*GTwJ;"p4 =
J/y ҆QPuΨ@P4aC\_d82`x
k2,HT1l
V'Z+C2 
|̥/а?XGC!
2T^ݶ5>GF
|+h, 8:/h6T&|NѰ@bh2A
4xw%
r]5
8{0fF|-r4*wefRN2C'Z>s4L[
W.F2b
)lpo>WMGT
}}}s9$x]-Im5|-r4˹62uڰ׉4v%ثMױ6<XGR+'Ւ䅤ֽbG!n>ܷjha!
x 
u hLVTwY_A
\v k,рC[;Ă5%whFeAgسM*CA3!؝74HjOG|[mQ;p44n4ORv2oհxhj^Fdo:	/GC'~n
nău4h<Rh,ؙqThT듼y|vCw4[MVFRhѸAYZxQ.'Pf^na
N5\C7aI[iavhaZmEV/@b2Jh+xx	jWu]"@Eڏʃ(OVN8GoA;5Ƨ6<͠nM7]
Lrrhxfs4\!@)P6]RB1m?f#Ž>PA*oOѰ]uirj<
9:+UrB{uqS5ܒhCPB4nQ&NOw
R^lGmg+N[Ic&6V؍Vh|Ĝu6%X~PT=,;$SyY"ИT*
w4Pl]V8ACM93}ph/s4(&_3@C&n85!qYhT%ƿY<,+4~M
>VX9OS<Os":E@
N7lh,
"4GKghJRܭZ4~Ah\Ad*f;rѸ8OЀ6bu
T WQCbU?kÀVyŧ]1/xj_xЀ8hmr1a#vpÆ2!@h G#Hhda 4JƂF
f/@h 4  X@w 4XЀ @AAAAAA!}	r3~.T|J	KYUi 
 ֝iW.t (D 
4;	 
WSYv7E .h 4HISF4@F@cSB
4X
[IFBЉ~Ȏh$9U=h 4GI*&rBKibZp4hDeFtH	ġn2m5@4444łI)1o-XGC
867`s"I}c$CF&5јp]@f͚ʱt:ݝ{{{w-	u3hTb4L!86߫ÐA׷ѴݶH̎9ڰ!)h 4;6h00h0P	fZa#RG7Q9܊S<ѭA}<	/4hx
X
AS`4/^|&q
w4^Op!ݧ!16VGh0<k9SHiTVQiؠq?+T s
8vh䰙/4:.;GಌDh 44dl7\TGk!P5np+uKjv8R=ݍT]<ׄDU[4ܰagRgACCF޾h 49
'Z4zCM
,]C1CŚ>˺|ͫKr2>@j@
8؈Ѱ@CCF@Cn''Hud@6FfYގR
Jv4~!gu_xC}~Jq\IQŏрဍx
`GCAވЈp+vG:J: {Pl m[Zս-؃b:_P^bW`	
lhs47GC{Qid7׳L*8PhѸ_%^>C|!n>u4,xv?xn`/P̂;!4yĂ@AO#Xx}:4x?~/~0@CS	.ؑd۸-\2݂
Qx@M9 Јr
x(@C[h0\
v4&Mi6;0u:.*.4#~F2hA!\5lЀqHV}#CAɐ[0GcC'ܿ#id^SMo_=FPFjer(Vа>F^HQ-d`S57lLu4l4x.>y܏/z>
4 ^zt4l1|A2

uzf<G؎FaTXaÆֽb
:6596p	GC.dۿY!!#8HD^#8G-@Õ hʰ	hнhH%
> bEı	 粢hm2|տ!w6yA1hnܷPtfȎNGQhJK64X
jP<+=Ѱ!B (s*2  h#GCÒM4<OÄ$F4} 9h!C(wEEdDr.r4T 5(GN^`czxwa;ѐB8eFG#| h18pа7W%.صF!pACpmz` }8AX`Vm=!lGFаWtC@5d 4R h@<h@/ƥK7d 4<6
kRMp4$_aK1T,߿L  ?рdF׊ 
:/ K4PA
 AAAAAXTk<-{oXD:ߕV=Θ=A@#ubh-a|	)tJ*o@
\NᾂT9C}GP\ξPIżxY=0QbaQA%pXF$֩kmpB>5kTX=Ftl	gު?4w4FLOqgbH 'P|xOO)Q#(^mk|Σr.Uq$G}T4۽mPt%]~w4V\tKY
h5 ဠ3	T=K)&rOS(~G(>$$u3ƫdi^ YXUF7o
Mj[)
24zTop4Z%	24Z↲%ȥ${644d<@)WSxw`G5_h6$>!4*
zb\y'G<B
hp4pd\BAq)O){(0ٓv6%γ
MdAO3=n44l
9l(HxR~|߆)7
Wc0
8
cD3
 khϯNn~/(S-6p9jnS޷TS`J;"_!0'q{ޤ=!
9ha"h(hLҵ҆&ج8zGCD$ŵgm6-Tސu~ȅˌÍ#(F%JնŽ}7r6U ehABkjk34XlfsOj"hIXo=;MG'T:q8@C':)ʱsY
T)'}bP^m'AKpC\mmvpw01uVri!T2Wnm}*|)@AqSz?(pb)!xL=ŘOxR7P|jk(>_5{jE *Q1dhj
v$p&k
HsdeJ.Pmq3,ZC1CŚ>bs4~jXISd$y;`*ϥXcr:m^5s8
!Co2;_C'ioa1 AC:) _ !eG!9)d4C'( x3GՂgPv( PK(P$P[-~{j@ѰHt+w !ϠG#~`Lp~ʜc~5
2?Gc #m+_@+^AATJ!vjߩ>o0T3	O
nؐC4Mj7R,rLC/ 
\ꯅ3l)ޭ c6C&dİj;ܒdƹ/_!y? hd$&I1j{WglwM-u:o%I"3Å 2p <:4ȷRAx:*bIX
28<r@#2J^@q9()KfLi 4k4	cMeg`KLR)B7iʲ|ЀjIwŰ25%Y*$mC*y R8M =Pb>ЉTN7R>x#CAɐ?m Ƶ]|ňݛɠ8P%TK94}%O5l+iMFq8ІN½\ML (~ba Ŷ{AOdP'!5MlE2>h!-
~Ih;NA1jeZ}Zl/hr>|.t4vq);w4r1l<N@(@>8ߺ8~pW:<gg,GpWV@nSj;G9ى?<P[݂O
9n	*pc%VÆAC']T1kBq+ťv"/`WTpݽ`5v4%	G)0Gp	;VlUDVBu9YARIj>	g|M]Cy\5hd-(6  %ߛñ_8Ś=g^Y/A[	VU!.Ac7{(~N1ʶr22^Gr:>`#t4CJӘg-	}^]FC.`	rǦjR`6PNwf,k5Qo&f0e}[<?g+8Fn[wS<Fq r4N\uűVmhfјm3>g
E@hԸ[[{ ˊ9{S <+E]Zղi)h@× :ilN5,g46z)V`CM0tR4"
{^fmP倂cԘ~`ݕhᎆC@N L;kkL(QPk$Ѐ!wCdpG;׈b+q;E9>hc^:	9ﵒ==k'B_}4J.xIU4O(YvgPi7р!W{ 4a}=ߤ80El/4ꅰ@Æ>o	4.=<#ZGR;V*~VRf44ejk P4Fڜy4G4T!dl
ѰPzToxۋqAFX1cjgА;T'`qs
hh
q 2-n<, AAAANc|fH/4/Zm\
oۛTU
?#|0 Ѐ fV!A  
:.
ef䃼#thլA
A@#>6[%zpc])8.  !XC@h 4 p4|脧xe
p	c݄ 4
Bw_Ѐ_ 
FBb؈ax tHj &SRRLm@F^ШѠze 4h
i6vF31l؈4 p4A̓h4Z%)njpIHNؐ9ShhB
8f)7c

F\F
9h[6b
G6a
S4[9p4!
<H@Nhd.|\hh8hpEiS;cq4lب4sK]Wh 4GIϹT竱`4b]Z{G3tSѰa.GtMh%mQP;ceTu3рeА8qF6
T 4?)>CGR9}()Q|(&ЀS;ڽ`[׌k#&G9Fł44lT[gDLx?xJyT5
9XXtDv4hdKk
a&G9F)^C9yS/i0h`ePIACGh G-9hNNE_]b1Ѩ4u4)+h`IYB
V%hh0$:j*\R0+,Qt4$:a0`hX
09p464.\FAc#7Аq3`\K*:ݕ.j%?2p׿9(6G^r|fu SővoeA@FG#/d`AC9}O_t|Ϫ(\ǀwuT,BF.ѐU6kKky=$}V`
8&dT 
5m
nxh<ϱO>Lu4̙/y*:GCxVZ=6G#
8i}_PS?9T)Y:=n9ooU,8p4Rn$2Tp:(>GCCFݠ汩@*g32_Z=hPOmygG=xq|QUX!hUa#2F1h8  h;)fSFUS9ݸf@*Gy3G~/z7cNu4.4XhVłY'#q2{+<GCCЈ"GCo8ݮW?WsUrVƬws?@i&

:a
4hؐDG̎T_q 
B>F%j=Op]mt&]ss;
86ex9@ZِQ/h;nPlbտTxP<&MܽNIVp{
8e'а?Q
="PȈ4*Py7AQ!x׏)66U	ŗ)ެO2`Gu!\ 
,<,]lD'@CC?(;x
+ܭeF(u\ `%u5$k6h 4RۅAc
Ѩ"U,U#tJрh@	)\gU4Lplw!
 No"FI;Zh!	q>Ҭ'\AAAAA['* |S9W[z*[4NZz*ΞJjo4jX]
[Y*! 6n h=nȈ^Tt_
(m>h0@c:4[э,F0qJu>h\<NGQ@ Dsw4Xkߟp.l8cк
7hɺom1v%f6;#큖[ h/{"=!:g{'
6$a#28Ppʕún'%08hΡq^N5`/	r's1nS4n>kϟT*) r4o޼mC'IM	"`+h 4ܻr
r@w4֦uAFYv32\֙uP߾˨\ Q'hhGcѐCFv(EiP0@p:Iq>|ŐB1i :}	$Qsmv
h,

c8qn|󩼑!mF6?(nxS,qC64hP8k${D׍~dt	~*Tj(ڼJ=Fut&jo+8E键kG҇Nmgvu9>nGA:共ڎW{t"p	`XLqSCG]haCh!C>g0I@`QȐ;
oq`49昗3cv4ز|=hS8p֤q&AE!а!V>N墲ϋnߓuV|9RS
vSOPRP|
_4ܰ!jC46YuXMO|!pNoekN2裏~Y__Q
8L%thC%K)\Ǐ44_&&Ded2KQ(>$w4sm\yJ$PfWrFhe;tWɘ@9CvKu4pɃDБ\dp #|GWP9 {_t~1t{(>r9!öHIf8/|X#EҐ c˄닾f:X:@x *	|+'c{
<|*_c>VuʀKA#|dH:XE,8xcY !ðF'p4^Cv75$Ls2Osr0l%\_`iа?+]c IqNp4}SQrȰnDqnPKl'c.Lj
2w4C(@1̲GgN!"2@c5
[akdN_'{- 83
)qU2\6Tu4ɰpIZ_8!JM
*aOa2\T
LYCp6(4JK27hҕAIO٠qJJB=_gsCCE'ȀᆌƁ;"qLKۉ!YCs41lV۸$LZ;o4.lh0d2d<yvI	N{5<'NFaFՋuyu	 [z
(Wql։4:FuЈx;sY6hHD{p9j鹑@ۺdHh	2v@F<Ow-2Vd@}I
R:GM)U	PRАÆ^IN
rаdh(`[H+랧961<" hluB~13756dذ!p?*:ωh%
9lW;i?h!Æ
dĥ/YкN]d(X

z2
O[|0V|ɂup7N!S4T
Q5 H(@C6l 22lӏH``Y[ɘaA
!dZ{ΕIŋhd~_4d5U^0sQ<gg,Gk&[@:$!	Љ
ظ,&Ȱ`y]x217
 #jG!g2F;\[70@Ɠd|4*u4p+OK*^unkP`[p4MCjgoDM*9_Jq28NCBpBFr}nmL3r2d9R	M\4l O!T[aag\+kٚOZ'~j8NȈѐÆ2ڸj9h4Vr}aOd@Â
9hxTM 8-E	68o}!'Ά2ba{d=S bjpdXMo02 CnB
VQ6p4Ƈ9AMfyK		Q;rА?h[%w3Wbs2p44d(h4t5^.p0Gl6yS5H!Mm:Ilzq2lؐ?h؉~5,xL`So.(ACWhxV+`U`p4Ldg؈2)_+H
p4l@FLaǪcj 16Vb\:e54 MWF܋Z%p6LȈ4KbkKڄQ  
l	F\f71tC
-
 *e2Ym/Ol  
N4)v;F$ hTfM,k1Ճܖ4 >*AudVQ^K	4j患4  GC.      Ci+De}CJ%$*tYV=κO(ƃA 
{׍ hGߛ
Av[TFP}|?׫~1jHG#)A#QeV4R;h 4*)tC>|C\60Аc ?h4h$$\%hl*
Q)H|A
:h7]A/1'hhh(nGñvr@> p@kb6hKP)adEFH-bu4u{~|G40!@r4F6hAR] hdb8<Cs4h$*AnaCͥOЀ	29p4TMOR\K1t-T1hѐ8AC˥Of2(
:p4\)f@4l0aKp4dG#Fаw<} Bv4Hq<7P?>*SQ
hT&hTU6v։6"
[iC!6
@c֬YSyHC'p4 :>e8k(fXgYe18INys4G:j?|FK82FQhј3gΈ}𬜎Ƃ.2&hH#q4䰁
9hxp	dڐa4a#hЀa[3@b#GFV6R,!`F!L2 r``#pI7%[lq8kN,
Ix
6
/P̂QY1p4
8!`*;q5&mpL|Th 4 p4
8!cMaIQy|uIC'!0dd[tGbIcFcNOR~2bePW_2ޫPMq8]H >Av2R_>tG%PɠI^Gh8#~WGCCӉC܇4l1u^/ѐ
ފu4h6r	r4-x)xm;jk=יĺQ@*۲`c	8Elv%r
8XGpmYmWB.$u4xPsunj@G#U?aI%ȱ׉aeD 0t3(jp_.JLQGXG}.B
hXݝbT-)h`Z].\uirj<Zͦ܇gd@^p$f2dш`xlGîʊH䠡5!C;@
2|2f8 !u4hhQ/hPg$*>tN|]%:A!>4"p4_\vG}GKsJ
GCCoА@F:YConV
2xk!qhѰZNV82B
{O7dYZo)261ɘ,8%G8Sl~1.]: #@АCY 7Y',җ Q-LE> ZbpV	B 	6U4 k)lg4 ,ЈQd--W 
     hŉhPDe}+A-Z( h@HJ͛BЕ{-Y>:n>ܷU 40@Ӯ>*Sugq@Hgĥ]_X*D,X=|
_r#h 
	 Φ=qp_	|
&x;,}Ok6?WGPytp|#.а!;np@/	
p1S\_e[hװ!L4|P&rT4ſTnwT5^ 
-<?h
+)LР'R ABEˆ
!ٝSq:D
)W8뇆P<"wtD__Q|
Ac߳a w"I	JSa=?kէQz~a.[MR 'vа>3:O(җCj<|")ơo6SqWQ9lЀ![9p2.Ytn
f̟?0%t|!?v~C-е'p6Nhhؐ!g4;~-a&Wˣ
_bA	vcq)}w#=H\ۮ*Fu܇Zch0wDdD:km'!COEpş<DvRZ`!Twu;g_)ဆ>|UIE49\r`7cLfBt4x$Qr5ƣ
>Jc̰`Pb:<S(Aſ;s$ʱH
C|mqew*p,{ѐOa'J_gs2xè?o-T^ɐ@b?:h&Κ5kӇ=Uz6@64GGKѰACC?w- 9Ra W*.&ZGA֮qtQlȰCN1:s*gTy"C
DhaT::-჆|~-*
&Q7W|GGѐe*MS{hD>TuoP}߫^قP6"/#Fd@Ʒ(>̹p1q[lq6xnޓh4Hj1D%y$wS<JS@ߦ<Ä?_CgU+)zixP/PmhkU	emGNv7U9|uMƸvr$hLVv
 7*xA\NۿG(U@ :%y<u=qktP׉2om	G#Jjċ88\5>!۳W(~_R@ÝG1$)Ch
y3UL>u9<b:C84hXͦ]84Nb]mТߪOl3
ظɠV7
%@TIPS7P*(1
?T-ʍ{+?R9hhheJh{M\9Lm!H
4v
?xťH>$X},4k_cF̡lؘPN
Jz-5q8}lJm$Tɟo0Td!a'S@cCy!?N0th8Thv$WhHι7Mmht&>WC(=)Ʒ)nxJ?Hq]%ŭ"
e&&ڰ>h
^9o'|=یk*GC ud@=D*
|2ohAc/;;@I6h(ٗ^EwEC'1>l&No-6;}O54R /<c^n	zQTRC*2RZ:E4̤)+p4ћ7qC' WdhT%9B Tz%Q;)v	`#ĕAaϐJ^fXQ3TCޮV=t"2D9e-rNyDk1sdA]4qa1)n0־A-TOOϩfD$Q4ֵj\BV	hO8:4Qܩf,p<BqG{[~&m%}<?;!5
hhhÆNUP0
f~>9ԸoC@C)RChCO&Nog&A'<GmvpZ?c/;aq64^C|~ 4Bz]cZ*LeA++Vu	QdnE}Ob[1ϖPҡ*y6\'G|2U1\\Km4#ʵR^mc.?? r
}lGM|-'1W[֘7ʆ
Tw4%ȩ|o[eޙ\zb:\<vаgZس/B _W8jy$NlkU},	|<|#{SlSv(T<+ UͰ7Uh3D4Oe<qt	$
:9bxJG˨_n z>n$_b	`#ֽNܐAp4Hpoo^+sW-9.P<a1h~/8f߀A3SPa_a8{80l!`FqAа ]	6xVcy~5#%pm*,Th$)zVhHG%
22UFǍ^[8F'kr5FM
^baC !u&ov62Q&QM(ݠ8G `GM0A2_Ѱ!ÀpÆv6	f'<ُ!
QO%F4GC.䀍12.roؐL(
ߧ$*Iq u9v{$(CF_K	h GC F'6.&:liц


;AtсF!ˌ=?  
`CѐKÆz
@ZgC-굒W{<aҖC!/`zR ၆X4h 
h 4@y
~@ h@AAAAAAA1RoooRe$B!ʱ?K PEb[BRߥ4  g$u@/t	iw:Q*`
/$uPg<
&­{E>hXMH 4W)9h'\

FY-C 
D|hGܯbи_0t2إ5kq@  h
h
A`|odGOqgbI
%~
n/<te;7	_Fx 9sM*g@Z.h4b|lBU?s?-i<h[v8p4|F,C'U:V%hmMv4ڜe@#_x'\ڟ=|.ş~$Jq@ hxTs
9
8iח
540t h 4xϣ3yt6.<5GC+6G'4h 4 rnޓϹ^FNW3hgH-I40t@/5RlLXǫr4Z4ɠFQ4p4V@K2,؈m։
TIE4l}*NBJ-Vh`DE4 p4lĜ
э8T!ZA@bѨ4 HH~aÿh>(V,\ A2h&hu:V8 
F81$!s47Mh\XBZ@@{@FR@_"hlV4FV<C:'9-GÏl4
@4lȰcD~1{
Tx /q`?b
&@۠au  h 4x.ws?2|;rhؐt9nȰa3A2.aNh 4 60c!_Gch̟?:GkR:FKL'7P:S9
zd˕AwUm;l@h$E"!4hH]s=fK7S<f6'h,MPsunjCh+QnqT5E!u2Ah   D넀Y mGuԂpܖ_=S4$tȰe%~Oűl( h 4  
{+[+aFF~3K2 u]y8j{#x9DJ0Lqu h 4 ht~}]@`oO_ACkCFDhx{+6v*&Oh h 4Z%?&^'G}ڛ-
0$:Y a~u8rȐ!WQ<j&=
QCh$<hT.k.hJLrŁ@ѐb׊
ERdg4" hP4h4t4Zɞw͉`l+cu24  
@C0t=GC.]i`W,C&&l CG`
u:)4_,uea@Qe@F?Åj6,'AZ1kE,h 4  
ӈk.4 ?h&Zш_AAAAAqfζ%A!y)XIv	F\3Ygl%PlxVSmp_|gO\xqbY	hd'ĭ3ZQ
Q䚐`^:	K>/$64۾ټZ2 9:ʤ7=y;&2hxoO*ϩw
)Lq6Fr	_3@xŹ8)2kݒv?9d`,zgVThhA65_ c7W$ZpêL0|tRItbZ(W`;Cy&!{ٲАB.e?shc!9HАÆ}A3@\5CFs[(|А8\Oy_TQ<j OPP|Ao`Q,cE6d}\6h<k>լ
8sr{>~h
U'1PYw+'!%:5ɸb7U?0%Ru9S30sv6]$6ddAn+4~h) AFbPe_<
18,=ڛkUN)ޖ[p4t'c7U?IJq)}^,b$ wlT)
a*؟ uFd(w4h(bGKfs_z-TސuolaF1@c(3n{#|L#'pxCjۏbc01պFƲ`TdP6&T<bӻ	p4 5U#<ro֬YӨuf_d@I*5TEq!?"Xefx}
hgF)8E{
r,bC}׫)G-uh|ºZyI.'"hpnyp5^E]?VvG#eW
ʽCok-XoWS'I  $.t$1nLo=f'Ty2SXIoQP|oSW0y
g8Ը6t>h3mr8p4e,
>賬l'	RlaF
1l
DW'Z+[	\KuH\*w8ӃՌ5mglcʯ)~ל
ăC>܍
>ÇqQG-@#to9da0
8nؐFTpn"%hܢ,03y(I1b{+s)r@#?c2t<Wz8p4ϟ]5&6rdmkr2qv|VVU(L
,!Gcé8CTQ6վb#C-r0|5h&N<󁽝#q4hQ:$>[6}}eᆍw9N$yvVr.jhQh<40]*At=Ou˞qMsJc8XGC*Jp1kG}lUqV\!wb
7LȇO׉4R/xy
E*Wpۻ )ac"t^4Ȏr4t08d$|np8(0Y+p4Ft4FSkw4hY*Ԟ_ؽ=t7,:lu5)(:t|pV1S&N*s`q5%2t};p4܎v<V("w2h	?RI;A^P<BqSEAZ|oߠQĆ
R<FY"A:k8{r'vqGJ"64dumO]i\G4X_L7SуvJ)QIg[XR[?NW@C.@?qDqbq4w4}-xbhhh
[m%C24L .OCSv
NE5Y'-EKͶ^~JqGz}<%Y'a<y&Xpن8h\n2J=˂
*; ߛGC+
FK7q Lqt%Mެр1t3h6>\yd@v4Ԍn1w Fwcg2+CFٛeK_QNwf,k+FE۸F:qtbݮq< 4|FhȂ&8ZNaQ62>Ihx[;/Q&v8FWK+;BR9SHlꆌ~.M\m!@(T qI'Pμ`}];몝coJ2h"PԎ8KYGhu!Ɋf1hFIS{a.s:fѐ_GMg}&gt_h|Īh 4:.CYd&>GFD0W*WlVǰIE'p4񠑳^+s??+w8!I0zk2hH4+:.
> Fڻ뱎FG!55"Zٙnh,mT2hAE@+!VJk@#ѰDF0ybƤG#+b
ɚ]5ѰPz
ru
Ҭ$vP4b^G24Wۛ,KC 
 v{QZ@Gk,@ A4  E    = |AHhAx~@ 4uF˳?:^ed|[꒴]A	nXFi$F~(}Χр +Vb^麾7b @l0h 4h01h,Zcʤ̠{PNE
zÛш4t?de!hX7Q2hzp6 I}%+؜MU;^GC
pb

h 6 p4!T 
sQ^p@4bq4ܜp6 hkА;cN&O,
o
a\m/<4 Pe8&')>/*oȺwՐh6MOR\K|?%s7TͥOP!OkI0_îѐ:p	a6\X-  
Keq]O1#QuVg=8UƳ֜<vYfMי}ڲA,QnR'bG;7r46hHbq4xxp0Rc qT2t24 Ѹ#C)Q?ݟ!VEV>x>~|4l<}KOԷ]t4,)C)H!#a~@%)53T̃Q5h,Xo
;|gYQ2l
N("ЀGc\z;9TW8jBY?rHR !eGGCuQG8ڒNF.\p	G}FBw4[ȵ
e$dP
\8JGm h؃bkHlhVd Aа5&6rdmk%Q64hxHʠ;p4!VL3wQ
 
'Gh趓(n[SlImܗq[nUI7<Slr0T8k*:"@C)ׂן1h1Կ@*hGEr.wsw3 \L#q[4H ;m	0u-Ųι`]'T	T!K^:p4z$xBn`2wT 
hX&తNuܻ%X#

5%7ѨT9j|hhbGi:Gp4NI6cFAcܹg8cim|
NN[14aep4*1sd'zr4u4vq);历6*6ٙq);q4d{jr4!s
-XY'
zIPMg ,xm@ƸOP1CُQP<14446Bq
 fxv44dl:=-UdiҥLݬb  GC_nFeVە-
qZ\l]fv	:kEC8r`cz+
v0>KkB>l%fq4T
GC 3Ft5Z@cfm|lhȾoEp44hl{1dĒ'y$h`Wc].\.s:`۪v5ȭX+qodXz9NѐC

!@#Ba<l1mp4J8:AoFK,y(}@C.QKBrm! 
AR}Ԡ#i8C8z6N͠^Yܒ'KG/,@#~gb Cp4?8&lhl**y
&aFo+
5cuC 2;ACÙ4a˜y¥hѨوXJ榲!C%~-81db 2h(Ȩ4.ŋ'F
hH_h6׹Cr*UY1FI}Q:Wh-AnAF
QQh@vAɌрFկ2XC@4 Pn'b؂ht#A/95;,IAAAAal
APl<h𘖯
g1@xB@
n1@aTtmdh%u@B>RC:hȣ>x44BoR H @CCD#]ܒ8^ӎ1ރwS<cK
˴QOkE3 >]bQA;7Uf⠡5!Wt˻R0QgЀAgoE۵l?:$8hOqgbI
%~
O_Kߥ<hрKJE.3a;1osV{#-si*v6h~qJAc4XZlM$Gc捏:@&GC(v(&XE{q}]F&2_7NG
6lpFHv6ѠNx<)Q|?oS
n4&FCA)~	
)Q~Q?
F
lM@#|G" h 4n$G\GA`J;'ʯIFIs6.[&#|G#0\N\8GR,1E񓌤_S۩5=hvNGPА@Đ:?Sߊ"׬9d2}>w4tk#p4Dh%}Vh{?_@M.mG^'**şS̢өTQ\P둣ɰ p吇χhhDh)hRDaCuSq-hd|6)k:2f;<4I@Chğ!?h;@c8
G&!G>QN[
 Ο#P8q)2Xd^'
h!84+|.ƻ$j8s
jp4nS̰?9llRҐ`-տ`r4s4?G#*G9 
&o*?@kkBǟ=c^N~Հ_+؟P:?Dpa@NTLeSd
h(h5Q<4ɬs4d|h`։]F!8hPy
Uء `wʜ&{:o3,p\a
hxOu46E(Gr?\m 
3GC }A*QLESRb{1p&p?р׾di
W_2ޫvNq.@cuCr[Z@9ؗڿaAƷ22`kOj:w(N1⊢C'+8}Ȏ ÿ_;)tilk':p4l
 <4Q{BH<K[%x$ѐo;]1d|vo(v4pd=יl) _KEݏ	
6ޞ8vfNg[Oq4@2>{kOG -M>VX &v]]VnMa*P6dlk':&qLe_rdZ?5
ER

Eh22|~>DmAC(5nW\_.I4M
)Eh0\h:3s 
p2	tR}?Kט,
9l&;	Ɇ!ÏGqRA3K2^u]y8j{JSWD(g8r448@/ ~WYq9+m3Ey
v.	d0eMĐ1,dnߚ(p߲a[z![pokuKfϩ9Z |]4hkپ19."DGIPexu*!Gg@mcUZpe`

66v '\`h9|
GB18!W8B㒊AcER\+:Cl [kREV+Cg)ҬѰDc/v#v鸉pE]
E
 r4\ӓ+
{z:5t'H&BEڥ٠8$mu
6q'Ż(桴%cЀ /`U8S`.a@Jn#5Qd;\4GF7w]c)ΠOI?ש%Zj![Qs4UK{а\hx)ESܗ.@2ߓWKN.h	mS5Zd/kۃ
7pQ|v_SPǷ =ИbpAšA@/zn4 A|eAAAAAa{iUqhc1,z*j*Wu4r&3uOB\ %BФ
r.Z-qoUhѢČ6h@`N<UʿSk|J^|#jqk^k@܀B:A@85h R<eU``cC(q+:@M:N"I
2Sŷ*A;ҟWAlDPs.{yi@AgF#`,fHH\zL:)ɳg4Z%HJ/C+ԢtIh'UNr(h8ߏ*>hS"O,v4gS$?.0Lq54#Xu1bC
64hThH8:dss(>PaP55i9ò"-W-4`7}ݠ1N`6lH6)W3x)>'Iχlk.N"x7*{'<h 4 !WZEٮDqZn^×%ϧP:@q;_
B{Φ 3gNr3sd\TW'P엤h{/mW>$Δ:rڰaՍ0QÜgQF{*<=
Ɗ+nPl)Gcr57NT]NRo;3)'PZA1Yn<9HAceSUTPp&d(Y1jFK hV4r7nRGQᆍLpJQM@@QD֭:?dʡD)
,\~
71̱J-ǍSgn@h>
ڲmBr4sPC&
l;w	gɂl]h~jCrgS"Y'nó)ؠU'(PmOPq2(@!Kj(
2$@>SݗJAÒr-:T3D@Yָ2Lp Fv=ssF)Npht Q4Pӱ
4F豺/>PC1pP1ʫ+ڶl/O4jqЈu=hLDg2@!:zĀiר6DjlU;
d7$qs4Fe9ڭȘe:ÑѠ#>ָ Gc$[+D,I_YtNn(V(VK}
388 JVcİV-r;jHTW+䎆4O>\*

2`ιGMO{ՎFWtʙ:*w2h6h蜍Gc/u|Ztz꺯;bRF?9
m 7QIDqŏ9-LGa;
Јu;0Y=tl	)
?az뜔5] 4oa̀Ӡu^FدRp {	ƴ2Ppbh>z(|#&r&;`CFk\0\')b::WLрGfM
DhpiÆ`W|\+E\u4Th\:kgj빝CK8,pa+X4t+
5
mt|)_COɭFeveOʥ͵
O/C]Uؙ6Y߿J{H8ՁÃ;4hy=!A2h
MvH:$ ]U.{Q\Ѭ"^=_7jv1ψERgkAlI6ϗ%.f`I)<}U9ɠU2hTp4f_AC @6fzk҅|nrqOQjh`g,GÞn )x9_
C'ؽ{
AÞO?5/]C{xu|#G@C`W㷉
Ȁ
v7v2co*GRjАC@AA 
$s7hu! 9nХ 4"z] 	@A4 <9hu! @C)IRs~] hx^ -.Aa%   
 h 4  h!  AaxAA 
AA 
      hѢ$ot7\᥾{=|:&E[Z,>HK$()??
\IAÒ@cIh)^N1A)`yA&ԼuHCIs
v}pKiOHTnQ\n4]tP<."#&9hhpD(ǐpSaG+XmȠ!p)I\uFKg`\_}?A "xv42(vR,Lbc5l>/VИ3gZ;
gAiK8CCCSH 
*8c3d-٨yhG2 #MACחlCEȎAr2~oO::r|FsxcH
1
hdYNnEBuGVE wa8<NW7nP04
wNFv:
u"-~nՃ%q4B
]/ƃ!U:h'Z( 1uz(vGlبpy$&G9ꨣN6C TRt\'?QLE}<*"Qm V-hHs2wܠaAC~AOаߗNmU;:m
0X+65;\gF	k#RG9UPo`>\v\v8i!:T~7qg͚5W^YЉ
Cjg33'J4'&GC:㪂N=>
rO|XRp/
6
*W9׫At5'aFGƙ8oϻq4TOXQ	CG5Hl<A<^ PɸMH9rи h|؃mglBK>ѐ)ѐ	4tΆ</hݍbqoeaY:( cy/>n@LÅ6ltjA-(?Guɠf>Y'NGPICQټAwR9C7U J;
2''9"Gc|=tbLR;tҶ+gz-\c<z̰9qmB{nWT^CK>O~
Qj,M<K>"G}d 01fFdhذᣞqv{- BAenhoAp}Ax1pǀ\m:`{|.-9h؊?GC̩?OIKUYMIC]h\c}1ж6 f¥[*!C!ϹT}ubk2 j9xFT!P㐙aBYijUvN`Рk =@K
@cCKuͷaå8G#Y'_Un)x՟B9s1וb x6%ԆG#2Gw4
hpцv0Ga;Q, OprrX`ac2q40Z:>e*_H5ꔓnk;\y!8hhS˧XfCFt{9hT^Apa2f8qI`иrKP v596<M+
E* ol\%NMڐ! 
2nUuubhh8f4|	r{]
h&,Vu31hxeP^ hg@8*x1!k	r.k:j<Äִ
v0r4bP*;<MxD 2&ʦj(
xeAw427yS5T:rW!Rڬ*wmh((n [{]ho
4V$Qb{k{ 
lAAAA_-VM_u?/ע]({>xWP0oHRаeYr
N̛]?7gkЦg{ Y,ht@TnQ\n4Z94Gr4ߡo:C6d\hNs6pP0|GCy6J4
GzА;R֮}V 4|1dPXNv\B0`QV3wY#

>I[륀`ו}t@ÃgQĽ8}
/uJ}e]g@ 
ѣN[Ns趆:ܯl~RGv/@ ,Аx!mw(@q0)|+q4"+;Vh^:3-QiXMC'+48- 9emX`{kwD
At{yAKZ)~IeΥx*@D;<I1p>Vϳ1(!yh΃ݯi^;:#6s-Јf?)h"W%9EI s.}Fh`pq~}MٟgNȼNp
KhAhخkƊnbB뭽NfÖC
7lb ;
Ƈ݀VAyAodxȹF48br4lذ!Ô\ cW(NxӸ
ѐ$[Vzp*єJ 
,w"׵axР2Ŷb\U*h
l 
)v* U>vhxq4d\9qpg^E?j?nG#T!<x8zG*|=tb$
abЉAD\nh
t3nk}9R(2lᣱ?)8x'<{`'x]\`+p4?{cj2Xr4lhܰHhYoRz}G}(>ƃA>ѰAHyPuseigoN{r9N5GCr:QHv=QgȄQ\"ՠ'WȧhȇB6%?(v'k	K@"
IZh<L
jl\/
ThWѐ>9<4wQ7@n~dJw4*_w$We٠a

ImY2N@N#GJcU%WĽI142YicI ^!/;iv\FAd;A#6UhxW]C'E雪adP{^
IлAcAQP
`sH욉meMogVܳNnWAC*Qr AAAAlPcCc5WE_*!*3gΜh_! NWSy?VS}x/MXoygUp?_
hįSUBEկux 
*vШÉ
\(oQ%s}^	/UEXMHwQ|O(n?>ܷ:^"R*-s6Sr4
h/us>.F}E2̝;N䟕 <r+((OާJGÂ͝8
6
3(̀'?#@Oՠ@0qAĿRYfM󋔫IAꏨb:o5EQpD|/tT"j
UFtf\f KG[2~p bEpF

aȂvi
OaUd!L p\y6/|yz޳KhcII'U
ّ4ZPr5W (3Fq5=5U 
Mu8.p\#6d 
v74'zq4TGua-%>) z,
zgu4cTvv9h߆Kfa@}\Y1fF:;'ct:?CtNlqSt4</_Fq')fQnʸ_%hHmȲ5hN6FmHBgp$9@4t]6G^͝

<#gѰ|ll Uzr4<>CA#8X}K\z>~݀},
2A<UO{~Co{(:@q;_ip4;hMΕ!w4mȬ%mo0/r~A;.AmaÆy~K>=8+"w4F
( ONC'<4LOG8tr4T'Ξ6dZ;iQ#h0@^20ȹx#AtH?Š0SS/yA#"GCjАA7uhmf|2;nyu4t
u%ήB۪ 
ʝaÆ	턽v4䳠TVnkB6ta3hl]`~VpķH~GǍSg@V8D\
Z@4
0b8Xc܇UE8B6<8Q)h`1tS97q';fvnh|(c:
Z@Cڰ!I5a7h>
Sݗ"1s4
[55܎ƀ2r2ypZ@
nphhء9G}TS=! hdę~TܣA93*jfp<Y/hh(4F;~]C'sr6?M{͛`T1tGv&ٰQX5hP\grEhTϴ}7PVU,a>w4t$uk]Sh0D(8xnz:Q8h1R%heSZ QhdPQ?Z9cItC'@#;_]NT|CngتXy9|\tz+&N54UTACTFmXsKaeaÆ4NG#Wzz+Iyט`e@õƃkM

.pYh|Υn:Uja6(qtúCu`l*w
42>GCGV1t%zK8Ps4{.x͌:=8E*@>Ѩy	س8c)uWP<ΖFNW*Ts8U
vpg]6@XY'q.&hVk	$o& 
qFЉ{Ҷ'^'O%F͢Dޫ4LGEA2G[` 8&MT TAF]ɠz[o#/7g87"ZuxhT,
PſLNKyxu|#G:_58AAAA$Ԗg%NRs׍xx{l9E=S|w$pg5F4fcGD+ZaGaiX*R'7hxl[(gWrbshr9l rjЈ"
XAC344\̄%6F۰rx

mȆ
_+&9U
h=ߏۋe9
݌s9xxZK0bqY0uU~Ou@U43l۠a׫s$)6d944dMm|O gȂl]"`
aȊAC?.m"PZp?I
78ߍ h(حNqլ?Tm`XϰaNzu$CAxʟUf'diR*>R@c"Ld;fNFAn;ҀOGC@:tY
 Ah$W.
?0k1nFPyq8cyfqA(ΠhU"ߙ:M]691h@ =mq4(8?L'C@ACbȆ
nT.ȁNmP*hqÆ?nGxnWQo?ύw;1l>Py!	%aw`&ZMs44z@b5ڄAeѰ@L-JhaA_7ACa̅pˆ> p	b`#vGxn
rl6O^CS]TQi 1
*6[*MH,*VGGCa'|; 
,hH #{։{WW!'ݢV`yn	`CCGHR$Ngac9.7hyxC:鿳$ɧUa'
m\umy`oCEʰ8\pCFh$"!:AVU3n Ԗ|h`俨8,G##a_bu"JrGƉGJ\߆`%Σw9'+k4U.JS1h(5&!cl}ɨ4䐑t!QX.6Ba4!m?+Q;ۄ<׷<4^g=5|p'zv	LY(.6+H7YNv 4$V
=V6I{8 #GC0VJKLKX/wz%H\"GÝە(MRbU?:u%M_m#A<4|GØU5nՍ
}*6p[[Gv3T]'dk|BT*xQdIbА[G;@#@RY.qCGn4xx j}
ezv.kxnNS:xrxbI
- =8-xh[wt梉HW ϐ
.m!@n 41!n:6^7\[PK !Wk4[$YQ9=̤P1+as8hd[*QoUa⅒AC_jWBƨ
@UArƪكV;I
w^5$rAG㧪|Ԁ(~GnĀ(
4aQޟ"@{my;%_/<'/| UK
|/ 
    XaDIvKUDZqҭHFFIVS-<bVDVxDU}}~fB&y;@cr `Viշip4 Z@6sU)@C?QMpTK),lȐ{
:@*WI1`C(qp<@ xKVhHTQq* p>)8!Qc8B`ay
uaσА)9;hdUN8ʤ12=lbGB!,r̎A#.Zf	\u
dK6q%-4Kq3\ns3ٔhࠡ/Ԯ73LYu ;lnp	Shrָ}
lr2+Ot:Ǐ57w47R1d@PUC/4!Gqġ;(4.\Ymܧ̀ݬQ/XG)R\d@.aLI<N?GC.뻟[8zJ+:ha;ke9!CYɠ\B8;FU]:*gU+v4r;,ft	id9sK'k4ح0 c-cSmj`s +Z
r-T¡qP6hd
:
_FlaCа-hAd4qKrCG
IGuUuVhRаB9ژjPfDC:qΡ.aB>;GW1eQ`<4b@Fo
R_!z(6Qd*79*&QcP0t0`i;rƐaoŰf=|"w4ϋ/Gv(hL6 )q_ r'hOŊаafx܂Pyٯckk 
{d N2Н4R$	ÅٟqaYqe7
4c]C'.GHF&q4v h%#Iq6.<2Y'f)x/岪7Ib2hhruCFQG]4pn@! hHq!d/ sq"`PZewtbɉ?!T
7G_%r0CFRnhaQThȇ]s5S4L'CAĐ:?S6P%;/_	6
d8<DSh)))U7Ά(NeC'r4
};K>92`Z;-I+/ٿ,OhX!hwv6GeR,ƃu42lW	pvhH_F
h*ܞ4
*/hd3rӪv4̼#}e.!ž4|w9rиѽhh7t" @,6ORaY}*Kg0%;|rH0t[
5I5lM!m+5GC
t4lt91T
6ly
/Kې!4?⠡K4s6v4LhCVⴓAO
49wȧA	
4HV*ޤ-H*ǌƈi]

:
yA]%G#vXoN
ѐCGiRnӰ4cud&]Љ4PA:Iv}QGCEbњPp4lg%TaNN(.UNo8nZS`
_j?苮ц.Z]ru.4a9@1ԅSSh>hhN,)('R!H%K:Innh@6<1\sHɠ:'#{
^аQ;ERxV<D]ݺ:4dȇNйX3S .2nU`=$ >n̦jvb(ۼm[Hh4d㰁
'Zt2h36Չ|T
"	ySB+
UCb΀֕%MoQ ]
шzS"By EǢe7
2f͚j;4F=r/AY[-vаPUؽ5i˺X'&)VMҐPAAAAyY,xe3=
DXqY+p!bݓ.尕}n9I!qC~c6<qB
 ޤb*P{*}||x4 !{^lH?ץ
vߊO2 hZsp l 4	dq!=ԑT*w4v-Z=3Pr\V>6XYz/SagYtj?-FPaϟ*-U#h:TG*x:ưA1>I5a]\1:շ@!R/4,to~=D%o3af'p̒W,v6J
Ġ'4mq=&J!\'jp4^ʃ?b/7tCÌ(!:zv*AÕaeGwj'u|8Vx
*Rq*v<!2:	dt4\r.h߇9ǋs- n}9ܩIY1aֺV
r-SGE'=l>;A#+K_/ni"/\quJY@c2YTGѐwC$6UJAv58 ~G'pAqn_r_	hȕh2a iLy+l2n*Y,#RGY!Wϟ

U@46ܐ!86hA,q$Q`d׵߯"{-uY%xΑ2w4vPc !
QqѐLuNSU>Ms4ʞʰaImYʵ(Se=ĲȖ#G^$)(
:ffw@L~.ۮFAXezL
 
Y9D(hekCf0e׽+C <}֑t<`0ѰaChdE]FrC:Ml*
˽>Ro6.ۮeQРh1!
~<aFkzMpY\yr0$uu*R9Ea-7h<8}*x3^{ss48qǏMmo02ly,u29p
rAc4
7lHכFH!:6hؐ!4Ja;W@կ`
0t"+r@P((,!\[2BAG[u[0gAӬ1I6v4䶣
a,upJ>t"ibF/Qpsη۵lp3lY(uvdj:4B|D0D
2q449h$Og69\as4䒃F9h,9haǆ
Oj6Œg	5]05w&xa;
wǾ`"s
#TM>oJAF  +j=ĞUnC?rV    dhjw0ZhAx'o'm?4U3D5)]$l3G{rǘ549@c?g{7P<6X}]y>U>Kyg1y뺞Ua*h/H
j"<cWB"t~M6l@`">ʯG@<=6>zn~eLcj1bEqn @/АI4ύ48ʂKu߿x)wj@#u~f~ֈH#
]¸3B_b C$\9sNf䭫`BAcRRqKp@~E`#J)gM

M)z*:ٿ
 !~)oPv2]
@#6+Xŵa#H஼	[yKuPT
ڝ;j$a+H/As'WSKF罂)_*Fߠp40_+ؘTh"

ݠU;nEhJKu~54qF |nRX!\hjY:;ῧkf͚5 ,:SlgǎpZRWO6;аѰȑjACA#H_L F
w|r4PqAÝ4
):Tƨ	y6Js;68Uk]wu}cr@oq`Ph*а>h0ACpRA㄄e1ն% GC
"<JH
~gFIDK\H\QU|D4SAs̊9s<N PmOqI)u$7l_s*]9''
vR װv4tۙMhb9
0hAAEo
7'۠G0O)#GaSٯʄSFҍ
$&**+hp>6ue	06ACs_amAg咡? 
;Ph<$%>a
2nА;cu:aUC`Ԑ Thw섴Jp3m\]
~F
I=imB8!RcK@uUIAhNFo"p4C 
[AV9;A*GNr4
h"vY%!Ih\]C'l(hhnAx<i|]92^F6f@ R<K&MT>AI<\BTg6,iؠi
h 9hز +*>h}|'U
I٠s6*p4&NIH!hgw4Om/h'6 Hf>4|yA%NK9	g5ϹVVhlH_Kh8d
&x/|:So!
25t"
q+|FZ_F$H"RVB3;Y?~/*v4l^ǋZA"k%``g#+Z;crPs.]M
+a

Cט
>صRS(+J\hp5
S7mpCrH24,im!
#h~O*ш(t4~@Ý*Y4O2(
w!l<\h*H_桐R5V-2h|n@6GCJv0
<  `Pٳ:S]$$zW{Hs4` 874ЈjS51׀q8VC'5?7&We@,GhIzw4TWFߊVrG9D*qcx|$
r*/`5d4rAAAA9@#TT%@InI$_R-#rk7>cK%b>҅QWhT iB s1!M'h Q f=Ykwfwߚg>}>;!n7H1={i8:5ͱqOh/>`A^ZȊjzYh݂ƀ,0cA#YYRu
j6i~\NO4diynmACq9 49ɶ줳ᓀ4 nQ8( M@GTx,p9wmŸ(S'@jm:lpה2a6:x)Bm"o;0hk9hqQ==DY<Pc*LHlbz(0%
M{E`{8DG#(Q'v!hjmm5 hD_nJp>TIp m(f(mfPLс1~BjP0mǳs

yz _R<E=Y=ӃhAo5kFlSۍsLyP|
&s#

Dp'4}.SBwgh7ˠ"\V>kz ײTSşr4p-+HFHH|+F뾙3g:gΜS6궵	;QM1$f!E:!A#,.4)
nv4rRUhѮA՟Rk h@FGcTD(8p0

у= 4?/u@Qâs4F!GCu-~\"S`Ԏh8*>h]4&h9ut4uv4~*d}f]pI)nûű᳄8@zVE0Jp-+n&h^a^'=hе.6Tp V&::AUV8ؾF:1h0ɠȓm);&lv)zIؤQwNeB/X4C;DmMANfH`e1l4@pŨJ¹ψ}FxIou";DmMۛÆ\=X$Z@s4 X8b=VAUȨQu\  q-uANr4z4_F6m:FM6x``#y<ĵ
 NATGc%hש[V3y`ΤL8*GEeu[9?ࣀ̩~xkv4A_𶂑h4v#,A4X2hu
k5GC dHdBFy4b8%r)~*8kk?I?r4Pw=Yw4`V?-s}=.eh1r5l^iXFAcOHI	᭣f_֦ϣCZF
4e2DI hD2ɠɕ 4EhS8wGûfrhtG#:
6j<h@!J
{fPzp!GLF#M?j3
k$d 4Hƺ3`2[hPu"A3ZWː0#*hw
 9̱	IAFL4WcH=)vq-C2(I.@FwBM
r?>hW<HF&+u	 ꖵN`c yɠz-G#ʮuƬub I/4ʏu*YYYU[rPW>F~Fveeeeeeeeeeeeeeeeej }lcץ йNK  ς>gNfNgFܮߋ߇wRS	LӤA#jXu4j4IuX8h " CD+ lxZ9F7#qjSsTIr5[l -N<(4 cKځ.|G4E9QY"u"_QQN h=h`Ѱ ԎF?YGR7`ֶvfYGqKނI:aAgnxty4$d}
C\߄17C1tGDF7Q Ƞs7fGQ>]'@w
JtݩEqb%T?$`y;^&,P']菟KB)p=Ahh.7 	RɮFY3d1{}kBF((hym~' R\RP(GZ<=,[ ӭnJkt-04V]/d3_;l
``[{M363(nخSY\bLF
J^1
,MRO6B8
<DqfH@_4)6*3wC[@9xGS]0$Ⴂ3*,0pMU-0&a\W
4@#"G
4TS՛	
u
z jjNDG(E!wDq4 ` h h,- JȠ-hVh CWScBx]'7EXf͚6=D8}n.m?ӭ3uh jmhDh09ʹPW瘐Qv6`&QDoP|PO2hX:+`q
Pl
6::@Q
 ?WrNNEPqQ2Ƨ(P@PU
;1
W tNDv2 9
bÆ:phAi4q/3p0v#Eݽz{XȀl
hyP?J5W@ XQg{D	hT<\9GC$t})@B[0@nm.TGQ%Q \-@48;(;DmM11!b]rNFv4!l*O퐣1,G
~h%9ooH]'J^ `ChsxG_~r
Ѧ3iLUp'tA#~Rs2Ȱ
-`#aq^fJNL>;ObzGm:+<RNmhzhzh}4@*d\%&^MdɠΪy-U@4{:>X\
*5h0C`8lpP
w~9$,hQN` esLkc'A*!U3ra0ukAcZ)KF=\军[(tv4ht9d0 "V!m?W pt4xP`c-NÃ4H8SvOq4T(
44ki$;yfP@Ce6X뵘+<bddwϾ*r\}'4x,cT~S0h~Th 243h`GuĠ/hJw7efP;:̠!:a)C+=d;̃p3h - -4< _K@S"$lH:j IH03\dSw74`9(\5*좸Z8q#L3aN}惆	&d 4~͢jyV?GWvڍ=!WolhKOK3/yL}.Լ YX2 
F50}.VVVVVVVVVVVVVVVVVV.*6i_+ߢEqyQb~.x/9;:5iD9 ˰#Fݲ s"
G^2hXMT>Ɍ?,=^ vQ
liz9|ƿr'c٠Q)`:ߑkP܎WmD4YA?ߢ&Qt'44;EBQ(smKk׌R\Dq\~ev4h$9h'ۀahx:l0q(fS#N	(thD}au<h=va.2`FomʱA#$*Ja#hp4:%ZA`\i2ʳ-fed
.u1*UCp)x7'(>B@_v! o<7x`%Fl5:	Kچ 
b!G˫`hCwh?@!j
T(n@Z@Ry(8r	> 8XNzL4h`
U=d<*CR\
@s9ڝ
] 4v&l
U'G#hw4yRȀh8t~^uǰ>vZԄ]ho&a;)Τw=@ >Spp6V7%9U/nBjЀ@b2lNhPd;nx@z0vL#?wS|W4yr'Gs.z}s`hLy'^<
21sW%򎆣B8A]h,&*/KPw~>Ol'QD(lN]
~Nh/S2Rw@s9urqLiʭx9̝<(h,=z4oXBq4x6ُr%3NWc
Gt4yE
2ot	Fl6&|O(G_*3liq@b68ВA?i?T(!s2\\@Ae]pGN ^F :&(sScꛑ{sŷRJ(Ĺa
Ac3@bahTy+eǉ8V]'
2\nt4hB_k;R"_QB;DmMGE4=*ARv(hh)ѦdI
( q9D-|8G(n1gcڎ[2ꄁմGGjѠɠW0Fo;15hX XlK@1]ؿ%ə8go>qhR}k u!{hú6u\(nQoxhOs9<@6C+fR 
$\։mQظFϋQpyWdиCmWkh $Lt`@z
d~<q=Zl$bb2vvbh)6U+=5$dPЍZhw4xr61c#z)оNdv˚2	<h(qF7GGuZ?GWv4\WU
6!+] -~ܤ{hq0wSS1T|1uvɱ-oq< hiO	zzfIr% Bp4&
m7zy4)`bGfe91f@ʌ:Y-teS_w11s]y:p	h:qv|Vsn(n ŃP(52946h]'4̠a3F/
(j(ݺ+jaBGQ'$y4PvĪ5Ѐfeo\=_wP<hl7c  :BZ̠jʯ{Lj>h4yԉԁ๙AAݧpg~xk)`:	ϻNuW[LJU&F]
dtځϕ%n˄]1&&GcSӟ=S[(\N8dժo3fy-~@u.\X؄5h@4a=ED.-%is24]|Bk s
cV]a/2ue]lgENckD{}l_[A9 vhh:lа*h#@75w^
8jX,NfÆ	sLu1kQf/.h 4\*
]A_*?lk=XRdg'yh$dh1^ք{کp2v(1̔Q@@5RFڂ
QAqx"-,߀Qc	߃~ٵ׷9И={Ap|4*@c02~s4~IdP<h@6w`7Slϩz.`L	 dUf <ZVǬTNDH+\m1ds6l	4္mA?0@,o
^cQFX'аm CDzG#hKEV8AFd8Ռ#tGq*)*l
ʂpcam[Q<Ѧh<$3A_ ^k=Nn97bcϟ?h0bTp3=Y*&;J;R8O6InKCٕY 
%P?@(QzcYvGp ذ8|Wfh
#GN;\	KV1kc~q4l;$PWb梨'dZhH:(E;+ШN7JRaCAwx8B?CݤЎ E}@q4nZ5Xa8u
6,TteRߨFxhsɓ}HrF2'58UW-\ђiUlvzx]%cA2xk|;dT\yNG#K?G}PgNFAqtQ6t
 (kG4֌=$/]d nfHAt4*	plݧGL8kCFUi7*+d@yF~ƃ9%/r2Q3$<Q^E1@l
W_'a#I6]6
QMdhdGA1Z
8T4}xu ̢EYuZ}&^kod ÂTp;O
Q'8/XhInhTE hpa3BCC&hjP2τY&觲Osw<Gnz8O>vTGuSlu^[ھBj^F;>,s3 p`
Ay4`3h9'b]'
 
>ѻ4~ǵ(h&6hHPeb
Gÿd8y/dK
*GUW

^!K#U%O%SWX žNӨhܹo  "%QQxkEbhw+ѲQ'@CW@~~Iv4?a83?hC(AyTQ'f\j1ct6Z@pԹ.8<
l`74 y@82Ĩ	Q?hdxbef"h))b
r!n_0!my4PB7-$GhB 1[@HtCcʄ~x
k)~x\q3 =_=SvgVsȋ:.4(J-1T;vfP^kSa)qNN4EuKl;A%Eq@R%aMM1pG\| aU}/fu^$/ЈԗA(Q_e!
I{K܍~^&>A#+++++++++++++++++d.7J/\|7rΡ=#ץ7o4R)Yf-[A#FPAÌX gQpe@2xQb_[bI%KYe4[u`ɠAû
#-ϟ)<$zRC
SFHG ̱y+0Q{1%єae$^"8>4̕uR}cmASb8!&ˠ*K9 iǴge@#=V5x*+(6QElBG3T`z:տ^8b~r2$dbQ}	]ߩjg	pc>?0=*dzF!+h0mˉ>=&h SbJ
@:)
|o7~XG;(nAq3vp3;)d=Gq5:`'Q H<bZ
([](`$d,Y(ؗ!ڵ	?xyhz4kb7 R\#QT:@& G#>CG#5h%.GN C_TQ9]ƱgL}@fJq*)z ls븟⏰.4n}RQ
Z堺Ͳ(Q&<一'յ3tа6ُr'h\X	F;Eh
q4_I
M	"_@q
@(MQ z{؏(aN}e'ľwXƓ(o)˹
^1-^p??ۀ> GUJٵ2
p6$d܍4
	IAؕtqwR؟(vu4c2|@#4BR\Fqlߊs
Ms4C̍4ELaCn5`
Qcu8hc
:~	š1S$bn1gcMN.biBhht4<d
 d,aJWАDШ:F#
'@j^qzԭ
\&:I dD
\4C;DmMG
KT:*x8)D1%qNkCr4v0GvVvN
6CCX՜UFlp.(|Yo`Q644(_:]ؿ4dѠQq4U*GR#ۢq+hTub9<hGCɘIg:Ft4Ƒ9YF'	U8G
q^jub	b_kN_m.4PČCXeNgNhp.fA%\a֩v(!32|A౥(MmjFUg .p4+kRlP7P휣@uѠGQo
ޝk|2^c7͖67U&!?UȠFK .1GBQF 6hPgAcH~i g ùx	=Bu&R5!,Ґ9ι
,X/P_F~u]'<hx p2c
ϟ.1T1I!b_]BU̥6fIa0
  19AC5d@j®РG:h]'4P5
ou"Q*53H#N.V/bP .v?T~]'u)jE&Z!E46f~  RLndɝ`Ty4t64 ʃQcIb:2
b_qJ։ 6bMA.B(54wɠMac
#tG GQq
fk
~ėVbr4=U'Z0GcX޻(czp2(	:V4hb4fkW,ڗpb #H3%kT55M`fh  $lK?3ht0&j7XunI}q)?Q<A(qj}yK1JTaRusLuߓB*+L]	}?hCS3պ_`nu/sZ=,Ffm	8śP8~4dI
d~@nd84$(nS 
nJаh"={)@T~=gvJL>mf֭8^p1c!@Cۙ#C>B?9LG#߅E{Klr1<hѢ\@
Ј1,F)[8\Wz)7h'k@(tG[.e5FF,4^+4>l~	K -xʙ7`u6bv$젅 @[.G[̇Q
n
k]Gqla_OR@D4 At8ckP1Y-DsJG{^^h|♂$:X.lXby:(k)[@!c<8wc$֒kq{TP,Vi
lNq6tez=Si~v;hWP9//1$ަ9OZϲd?ʕ>U94hv7-J^e`ܜ@
hXK.t?WpU!#D2(u2&Axp<A&4@ƍI͛E5a c4,@\CC
\ѨH`L)~&`*_V%G(fksK>46!a9mp[`{8M:q
W1+,m&8DBp8q2g{mKT7GAƨ
$W )dFv4RFq4P8@
h?8P@;qn1gc'b
\* 6Xh&h]'_^|
^ur4 hȜ5B1cZP@C{\yNLGaGU?$.;4s4:~[YX
YQ$?N_8fܧrLBZ^0mҀF_Ph؂y|G:i}ۗ,|!`jn;塐i(c]7(~*FP|{)~H.jٰLq.rv MVE.Hh萡ѺNă
^R*=9}^Aц61c-p:o+6%:2G#hDu4a
۹mdVAʺPPnOjm^-ahӮAqv;o4	s4RX
Yǆ	4>(GUhmXqmSe4De
FN\i
Uh09d<G ѯCNAS$vit
}ws(J1\k4EƉJؠ+}2hgQ'hIJ%Pf"gBֽZqmC(ԯɡ6P4<DiU
FMt4ЦP@F
;@czXu<hkDw8,X0	UnԉR[z4[OskyuѬ	|r4${t1.`CZhl@  d
duh̃m!ռ
$Bdѐn2h?Gxw^wa!f3`DFt42h 6A39v
4~uMm
h06}~.!G&d4рP]
6R=GEf42h4(lnXT͔V\W* CƄON+^׉Nh0
U[Ml*,%Ή6ThZ'sJdJnwj^ԲF9aWҮ Ffp4)@Fdva}@YYYYYYYYYYYYYYYYY> @oVYwDnzfϞ}Oz6 еf >uD*bUd ,>yTS@
txJ`C!Ag6Or8 h6uW~i)+z晱eEۊ6uH0hQTc\':sDFf44x@5O(bQTSI`zC:@uv6:[J"Oh =@z#h@	@c
g$VnNny[ 	NAC6j'{]N20ν/:տ^8b`/Po4YBl&hF;o*jjl=Nqœ-'?{MXx+HǾ38G
Md]uʺKZӺK<Ab11
@$nF93;)Ʃd=Gq5:`'Q/(fT<h
+(aBRt !%̌7x1:l	}ASh/:(f(gPL]xxhھi֬Y3dMu7Sl7Ѥ,%#Pcu2c;hTos!	h2hX7E&Zq?4nKoQ\[XޫTӲSd<0gc_e80gM0K-ŭa1śv4)xFuM+ Ӄ\]D +Gq*`r<{8D;*͜99s"Qm2F ιIu4~z$GcDvl@ʩ6xŃ+xKo)&4`Tz,ay8^k<hQ:Y
9uujT#"~;
3 ^q!F^Rh*re<ٓ( P>U9f>
~[e
#@#@C2(ā |FU	<4
h$
ޯXV@x=Dw9horק:3"R:em`BsmP]\ojq9sZmAC8\9Y с#ÆnSc+9ABm6	h8ڐ n5CM/\
P:*x8)D1%Ѩ lXU# hXMX8=˔|
	*t0ƽ؍xuFs4,e{Dh4Chs)̨-yM;DmMa ɤв!pqvBBE!@iǶZ'a]Tt4Ƒ9ʷ"$@W1=R8 cs4+KPt44UG ³u4(NR/ru4j<n
Cɠ=TG+
s4d>ADqBf׉)%'c&m	*c
1wܙT	Hk

蟅qtadv4P7
o;LH
Eɠ[c1
\˿Qeq"N'?2%y"Oem*F HpVUde7((VϞh9]OAi][֞_6UG
N΄;hw4PU	!ƀU1Lks	{Kj6:oh )mjOco-
~	@q+lfdh,nGCzxkpϞͣaHp-,6eo
6Q@us4h
u,;g_Tbe2ءrW8vy)=al`vV<B9;03w٦n..o
L޵)QT(1h);3(˩1UwhP2P	|6yZ(! ӌ<A펆?{h7h:jN]YqAsaz+F<>sitаPV통N:w4aT,а.];M
]qtXHh$TZife,КBѾK@_YYYYYYYYYYYYYYYYYD2vߌdG<e7jyOcTVDs޼ϡC8ŒXדʠ~E(~dJ.|B7bP\On6mhu|l;'Hwh̝'5lQ4v+0ۋ
\K\^H3n#윏Xw %6R@
>m	<	^/gbqE	n/SF;Q dA5٘Z8O$@BKa!{p㢴!hv1аNjd  A#s<vFKTr}CUs/qSDx>Q:J:lx1^X${l4,QFlss`QWG a9]x҂G]h4|`.װqG(hhgqHu 
:&(Dˀ*8C
P2
*ַϹ+)AT8iֵh<wv4)S2fˎʖlI4ࢎ
u?aG8b/^yXqc84*t_9(j@Ň N3sr4l1p2 ;+la055vtaCL=Ϊv
)GPFUFrpq4Aݰ0ǚhT>-7Ī r[\!a/~)S,X\WG#h	#UXQdT&]'+wFv4xO4
9HԮzL=cZsq~tGC
ɵn.i_ގ\KD Ga(N
,]XLq
mM囔5(f\0@V(Ź0@hS (QˎF7h *k>R`^2(h9"h9$i:!<>*_8HGdP<3k֬$3)"8)40AonGQ|,/)>=տs~
UhA$s2)uz1h󢬋hh@uv41$]b_,GPC%N*fR7҃FsdP^Xś,tԉX|OK0S2:_94 e,'JIh+
(pS~RkQy%!B4!C؋K:jNP`~p4u e(k-̽Q}>LK,G]Kq+0$sɠòԻNch 2v.&K^BSl$֨;)(|	]"mACq2Nv>GqQlU]'
S
Yh 	>J~ш9G9U^>@ᯒZƯA#u4ΩwrǛ0dkV@Ct5L1b]2	$9\2j̢,;ذP)dLUЍZVu xl)J$[ 
[Ь
j$`e9G
G+!tc{#<C.ߍ"s5D!sxfb}2xutGa1dN-As9u6E\h[,'3>/44'2̾_L0	2d?/h9ȎFY[GC:	h ux>M.hL!x	(Dw	3 8&!!4؟6Ac:'*yέ8\H,蘟	/=ljz߷첓9rv?o	5`P9h?7BNzr gRGBQdGɠfBk(QGg)v>.
fQ2OAG ľ(Y
6nm }
^ ARAh8}gdP~gUh*d!bhD}o^.9=q#LP2|Q5u
K|!!h> b٧R?o	u_TpZ a)0C\v,w4s4*N042hc2(YZۯ~xlobr46u4H[0ڔ.2
{#>ʋ=)ڷtq_eeeeeeeeeeeeeeeee, 㛬̅@eaׂ)>G`a j}P.uQNQ[аḿF&~'U9ޛP8~4Vudf--aDXPSَmM6 O4;~>E]j}mJ
sb\JAS-0M[S{d~	dBf<dQWT9DQ mԠ74xX!}
sЫw\`Xss_GP ]'Q@#=YhT("66A`%(}epX33q]ol:Np@ï8PjDwinY14:K v,FGXj28e3#l\wT\;'~yJh4M1E1ѦcM?pk)/h4ٌXiр8ahTHYhT-9ZV
Vm hah0
 ?۪;ٯ
ەK]X}l-a,4Y}f%
KWQݐ:WPG/YW5h 9\H%ddNh⟡΀rѐ>3+&b~	p` +Z\dRt(T(ml\N&h$Qf>Կ4Qhrr4*dhhaˆ;!: MRG_Aa Q%'PT)Ldn(ž)4  "9<\4H>G:q?5hw<l||XԎFQ' *aCK6E@
m)@]]۵}
qAMY9rie{\'GCm,@clڀ[6$vŨƦ="mIF#lAccQj׉Á!hh&*hm6hخ	νEF}]|]ghDF
l7LÔ;Y]'s.a9<d;G4!Q@C?^
1]ޠyh?#NAyXO@h`;h$v<(P!wQV$o5:UO
@ 0$
aN1}v!
6@wjeu7y
8ƗDYU2;A:TsT43(5GVGhbƪ.A)T;6n
hv.g-P %\Ġ4T39[:` 4b;c63\`4u֠Nn͉v3zx\ϳŚ4)h0
3yz;(6ѨJoѠ'Ksځ	1@#F}Adl6>I8?$h$\p 
Q6a(~G#TȈh
vs4nz'8'4räw(`V+MwWoeIh;
1Q![ӈu\XYYYYYYYYYYYYYYYYYgϾ'RXO
W9Xꖱ݉j=<RXHpE/b+kOVԝI6>.$b.qQvhۆ
9JL`[w(,4B,w%
iݟW"lWg̤4Tg:Q<&4Y-V3'yaOj\j\pzP26 (ީ+}
zQ|$ \Nl褣a{nڙ;LPxAi
r
ˁZJi TD;%X.ih4G9ߧ] !Bz	ei
Xڧ3͂8$v12
P+GHy8`
\{7>IUQ44
E1

&+_yG[u@~o>hdGCB*4ʀ$hT9!	@cLu0Ap d f[AmEɝqΎFmMȇ@Jpf;/;	XdQ&h?Lw4w4++ofS

 mA؈8֫eR,V@ڍW9

aɎhAu
C%M.`!TFpy)w4\tFȎj)yh[ A6*6,U[*dp@!|G#=hhL1r4N
4Ċ]f	l?uzFQ'i45a1S

dTbakaqA#}2hᠨQ}lT= 
@qTΤȎTeD5IxACB|T# Se4+TOh~jG-دt4 y1w.D Vh<	fF@y`ں|0k=C5NFԽ+A>!9
4+%q!nDt4 7PL%2Z`E9 d煸z4gõ@Vv84; 	5F
6 Snnm7-!KU׆Sݧ)*w⚟
MSϣQ(6df
le #	h9GCٗѾv[|>nh4.S~?hd?!h0JGM|2(DPv4~n![K]	A&
+h8@gdRM2@)&r2pHT	$Xt4>aW4&" @#h8Y.:q
^A;P ׅA\v:
(}4a@cNd!!Ӡ!)qLN?]opq+6QUqKȸW$uR^F[j
Y50ߥ(>NqhWА%s@!@B/E8FF)Ӄs>h+4 ` n<YB7R|mDq+P"ʐ0

^14r,)>.<֋  ˻Dn\Ĺ<7jzbCŋ(׉f^O~0DPern,Hǰ1@=285IB^.|Z1@}>"mlШa>6%ڊsZv~(.}_VtY}K.,}.ea(^حcA
~Е:d@
rj `cTFNHh
4,uFߔ
&u+h:ehpeDh<]XJQk7˶;E(3.~b1m#J/a#z҃Fd0ۅc
@dv!ۈsv@.͌j=3	re"V:[4	Ac#.jHύ~xov+Q\Rr0.bK^pq1WgIłE)zw1w"(hP@wXfRz6@
bfsU2IWOJPmiU*c.S. 
\4؀MkHGCt &V[cE
 
)VnF 7{H><
H=ɀU}AV =b Ss4d$+S/reL`R+l
k$Z[a@sw]3.JY8ة8'sPF H!	=>Ytt4T*Pk.?B<7.7)b8Sťy_TgҢbѹ+,<W8Ŝyg;8m֙ũ6шl:(E $zIPW05v46Ͱe_bߦDET5T[8^g<FH^n.m?ӭpFt4v)FMTG"
640w\
8SMd.eÆ(7P܊Y0<4?w^Et4un9`!B@sVv4P6`C_ύ%$yobs
q7<kȚmW~+6/GC	f%Gh<XGPdhL8CF~O*=5ܧ)Ct\4Q'΍:1f\?48bx^q/Vʮ*(Q,X`!׭fh(.#n[z 	0DŢ[ ア%[aQpcB 4ѐ}3iL ^K@\k;<"ĶXeBF᠊aYmc@s~
 46*lt:GC:esj̛7oӭ8<GÄ6B<7M#H}Nq& =b*ı+u_yyv<OrDGuSlP7P<Ǽ&1$-ᮟbЄv!CY|-dh p^((uHZ5UhaMG9GĂ:]/@ 
á@nns4}ar|2s]Z|/n(U >ʂ@uLRs=ϐ>kdr-l ] C&2I^Q(^~:5h ᜋHT (ɑU(66ѰqMee!FN#HyFoU|ŌSUc_nS6\WYs`zh|1z`_;̠.Y$`}ӄ44xJ96FTTFU9IFu 
r64q*֞ Fy4$40s\;kcF9E Qs8m6>gG6 E'~s C
2X@ڏQnG,t.TP}@#ڔp3Z8+FL8
K	]g))<΁BWɫ&`ÄB^1C*)~Img
4}ڭvXE҂F%6띈✎>7,U(;N:~zzkzG|p0bF|UvD?*eQ ddWxy0'T"++++++++++++++++3v'p⢙9(e1TD+>de.d5wDI}o}hwQ6"Zu듀lm%(ȏA1\.R*RLkHhԉ
ԫ[CE=zlAk`di*hN J}aNjύQ0rC:
IQ۩ 	ǪOGݝu!
 |8zcе}l[N_Nҹ,sD}r+
&TJHȠ«s42h\CX88OQ<F]YQ<7hw4bt0eGڄr
y{X!@k<hO46h UиN>P^#!IBQX8_8mbuшoq|R9v4 c6K!k^4TC0@Q):dP j@
v2xv4xѭ96
F|G#!hQHMg/YNۼ4x`Us41q

hyFɸ:慘æsis4xF
t4OhvT;*и48h4T֭bHzШs#
[GI(аCX՜c9{),uw4Lڴ

C;T tlg
j8`(d	G
hMA9g <?
h#iaۡ, 8:@p4h>hw4p-|"%h|͸r4*#M0 24T.;\,SkP#2x?>wvbfШ7?&Q(alzs"(;-AɠOӹ@1SP7>Q'}
G!4
kI蒫FYo
i}5, c/G
6 Sfw}.ı&
ou?W/4R;em]t3:m뱡)8Z'F@Ts4A,݌FIPף8dccDB)AM+АJ33(>wrM4h\N1ª'9j3P[G
9%򠱧SoAw29؀1.BlKȠVu42h$KQa
xF^n]'yQ.YE}n[e*R-?-MRG(ȫfsg2r2hs@lA_YYYYYYYYYYYYYYYYYYKےMn:q`-%j7ຬ۞X?Ty0?/ʚ=pQvK4Rmͥ֋vAmL-xZ`7ٳ?E]܈k.\<7[$ZE(Ʋv!@Q٦4v!k؏S~Р;<؆
'M&
o"c7lSCj۔mU]i@"&hHPF86<DEҵy1}ehY&Xz dPA"r%s,$.aeDii
wqm LݶkdTsTCm>NAX6Lh:A#AX	@6ZtN>dİ6Tw<hh$u4$d44i%.XhTFf4hlfS|<3[GyVP<ad8 4x[,!!
4xn4/HG%1>t4Zu:hH ayEmFٹ˼4ߘՀ12)vPjGC.l\?ub;Ebq@􎆿mŠg3
6p~7рA[:|ŉGI8`om}st`9tsR a
;4넷R?I>Ut<G
Q`-!\bVKU9TJe|y-pn(0G@s}i#O&dS:3;2F;t·)x GdP<C񞰠ap44mƂ0/w5z	1Af \s+"hJj6qL	h4ѐ۔òAFSq{`vi*dPZP0,B@B44mis44 +Ύwu0b88hXHo/ {G4]p|4Z-=OϕF0qhW !}EB	d<L낍:1!cPy
3ˍ:1A]K6;c!5/CF;>lQY j:2ގF]|2(`	yn]amʱxcRJ9m:=%]}/wrEW	 TLr
T7/V
nX9-tx+`#!hT THWxZ;͜@V"4а	8^v!
.)d!3JGQE/Pwq4gg>!u5 Ese}$Gf@9Why.
U>Ào.1mX1GC(ca
/4;AxGC
)uPN$h*hHxJ{G]'Z	H,Z1@^I~'Ń)$x>Okx2(fP?18-b=@9b2)hH؈	VB]&r )QuwYNA>,ıAQ峨JCAc"M!q]g@uc5x
4R<+<./PK=0y^T-4[
	ub
+d2ѵdЈc(W6_
}NĨ1D}IhG]&B|>kQNɒV3eP4BUhlXӭtM<l<y4҃ߕ@U[c=7m;0 p68ΣxJ-=/%h$4OYYYYYYYYYYYYYYYYY4jZ%-3,K>'*xAb] zO4DC8Œ: }V5'&QHMj6 &g|>ݢsK2|Y^ym,0hV	Dp	I.q 40r c{\M)c!{E¼|aN/Cx1)A,TڮB	Q<D"uAâ}01RhǱ,^V@%*
:<{T`|ze]Y渨Z#Eplhsش_X#GUO
(,z5F"lpEȀ9,>ĳɠ9;zqAFF-b@sMcOq߱y.nCـQ؏'[a䀕0YϩբǖsH[|ɸ|QG2D74 uAߍ"@ZI_Sfoq
or8~*16DƀFa(&vѠ3Q8溃o5ky\lScCW{!#YFyUө ^PV_ GJokn1%mma;9v;p3wwȀbd ΛLqp A4(@o
F 6Ag?@.8ti@bH+RzGz0yD{s@4f̙3O3g)buR:Vge:XF1.' *ڪ};94Nű=wO 
.Ȁl'	ϗ,h .T4n80}>)ͯ	 ӍB~NF C.$`U8~4I~]'Ehr:
UfO:-n
@E]Q*
Q7G_6B☺%$h8 u4_^gȀ\/4T2hYHyk)R|۱kWzD
:'74:yViajxeBhU9upJv]'=wL
2|
@pYFkn>@LȕU E)v,hhTmJѮ3vg
c^Y}Q2F9ګӓ2vca
o%g 
	~e`w
ye	CICT%_dVqv4ԙe|Fɗ]'N1o޼ibq).N `"⪾e#&DYBOM
=ڱ&hɠ
C1^s4
,wC2ngX>]O2(TLSu8_ 4hn?%zz*@B[ʩh\!Fv46&l]'e7y;ɘ;wL*τP^ֱ
<h_mɋƹ>PJ_x!4`v[mBbu stI}A
AFY@97c34$4c9@Ǎ:kNt8ϣ[7Gv	ktR'(
uиb*khJdݨʀᱝ 
viɀF2(~ݪń]5 *T=ʕΰĲ
 ~S@x*l8ᏧxI&|!?;!FQNn`%A[qdPWf
Ov4\m:}G#
]'1@1颬C 
l8.GS4xذ>:EfI?Gu0I&Hép4FI1n}1ն[q)Nuյ0ꄛA} l$hh%FAd)@И(^qM>z-&/f']' +5ăp5
`.^SyMxavxQpxIP@]'*6} RhH r+  -haI4L鎆gadP5dLA=nH3<8π~#>I軶v!G̠6I8/އ%<s4 eNuɋE 
t4hAb?`<h0 %qm& <|LFeD-]?htЭ_.Q7D[p>jA4x]YՎEWG9BW#'*-={cs=ޥ* -ac8ͣ$jʂt&+ߢEqyQ];v,@0u|?E?HM@Gpz03e%ډxe7(u
\+8"FB^<7'o4 !QFϫQves@\@>t?MTDt!C.<VQ5J
:z^Q0{\,fb&(q!ډ"5/.}^g%J	[e[!U'hwt-h-84(H%cs4Aæ
eavA#VM x/a3D+ Kq<OFy6Xlewط(
r5ڐ
: ; ve\=b
EOPC
T6CfcMwlkct4d]"Քܵ
~bFl
?Ey-俏\W̙?=I9ZQs2Z8>,,XP9Swt[aފ+v^4ػ]'hw4⸶~/):l9G;(nR[7Sl
~}Zf2
\w}ӬYf:Mu7SlpmhXs0*'gWI:r7ŅX*<I֢8+AYvj{T{h,Z$mr?
hD@cLu0Ap	h"K@#x@ fΜy9sNۨ&? W2(0lhkШOuOLHԛh4h<\07>_g^PArKPwV'uU8?$Q?,6M\ߠ,C'Apq">Gd:^Y_r|H92h@Ns4,_@ ݬaN|eUxG
 |*}"Xmoah!`NLzdG@o64.P!t
\)Р/׷-M1KqZŢKD)KA?rZdg.3\Ֆu͝;
y+ՍaIϋOu!nG&HnDX
TU.!
xtr)BJr{;w4ҫCqL2-Ǖpy6Q?w0O?&x9{@	jE!ύ0;xF@UgGU`C;DmMI1DvY~ϛ7o݇!Bln-HYF;µiڨɰɎoI@ƭ"ck4)W.JiAsY$6Аm1>ɠ H5dw4Z
ȜrfRy&@c#' 
28vto4үȠa!JCK8 P?.hÑ7h	wacB9[WjǊvjh#L]dPHh<NSڶ )6((V͹2G,,A4ؠo XW/u&JMw4R:׎gq$dhThPyMbHۀP^q˴j7"Q1 XLEzafБh|xUh[GSn'p2F|jXɎFy4FzG\k$d HTMľU;Q'Z?6+5294$X<|PGM:A ɠ2܌ ɠ] 53OdE4dwNs@WmA2/c 2- ǡGդ]{M{41귣|6jubz&	0GXC	4)FwI
SJ>MyX& qũ*dS̠d:|\(~)r7?/1:IZu2Wo6BF,GöbwN,ȠQd$WQ'Aw40inYF?Z
G1AaBДzA<cs+H"؛;BZlR]Jm	"6U"7&ޮ/Iwvnf      {u2E+ 03

riA#  hﶹvlU		'z]:  hqwuHvjjڱώm^&;
aU5h  h|4TMɨ
!cEsvTj^3Q-7AЈ
 
F&:6}NNƆM
=ͽMM
6֫t4OG @Gß2p	3{)u4|xZ FX2Q]psHׅ{!	h䅆A|_1w ф咖]NGu$vK8.dh>lꮓ{? FI\ѰnE[:uF	uv4~h  hXPxJh;Hm{unI	;|/TT?T_Tk
u  h$I	OU[1:@@¼']G郆TuI
Ղ^~Rá  h(\\OQ1T|h|[U7\T+듪]j; A aGɟʆW-mZ	򂭸TU۪e:s \ƩLxJs78Tm]׶s~Z $08&S-Wsz4        ==h    IENDB`       {   PNG

   
IHDR         a   BIDATx^1
 0O_Th@
$k/.>(Q#jX<$辙jUc(@!7C,    IENDB`   PNG

   
IHDR        T   	pHYs    od   PLTE   wwwkkkLLLKKKUUUGGG^^^DDDfffVVVlllTTT```NNNbbb>>>HHHWWWaaaCCCccceee]]]XXX[4W   tRNS ~8O  IDATx^ɲ Pَ ۙͯ?	"J/z:EpN}<k%1iyje
A
DbC54 [QW[hQYPDbeԍdPf%ݤƭ1rph 1np3@ܒx[c|T'a  L%ȩ@#]
5^iQv%rvo6}3
 rkORtb"!1902`BrڄwhwP7Ts6EI6a?܁.`hu+>;JщĢfл#rqMI7	?FHIQE*IUB!AI>@'}    IENDB`      n  PNG

   
IHDR  N     ڢ   	pHYs    od   IDATx^deyH1&A"eP%enG4x%lKHJ`KrHF)jtò;UttT}53=3;ۣw~ Xrw< ?I-Tu
    1	x"    8s@-mK?1:{I?yP   p"<Xzh(NfR<y N    @8)o|||ϩɪU>xx{W?I_G~?~k8ɧQgcUD     ᤔ5kgAܛH8)Ojzfp2    NJH,{`u]11c>옿O
d瘏ǬȮo0O8:1$ưڄUWy    'Y8DLO"MOY8[8	'IpD8   pGb<$\g\tq.fsCN%	H    'mm5Qļuh$yvD8N|pO    UWrycpRbJ_euM2W>0ɪ߰U۪pR>,:WE^V]    '}|JG|u&<?'p"'4    lUvKY1bvI}jh2xnW.3O^պ=@`̋N$?4lՕI8m    @8츘ifn&۶JVXx~O&梱Y 89f(D8ZO    V]'S;$$7-UI\h=x__v˳Hz&D8Qmت$    $"[:41k7b폶Ǔ-YNᤋkiTNw,    lUDm4`{tѢE𑘉sI\WXc'pRZ忯    @8/IB]_XgLB
gt;1	ٺ޾x]|kZU8NҘID8    [uEd©c!2j_t˒k&Lo6ۥc3KY,X&'Ikiتpb   5Nw>3ɔ'h=&ְ)f9=VX}Y\#D8Nz|-
D8    c8\zq8y(p{Ɠb45nǕa~v5lJD8NJߪV]     }[dJēILz}F?'p"    &D|dVX[<G{Lx1d8	˖-ۣpR6ծϥG9'   @8ɯI<D,7n? [å=[b'
11gyr1d$]c8tPg8Nu/'	    ޾#JOr]c?Έ5l*Oڪk:N    Nz"vF8/))`Nugl6[^z\&y4Nd$lNF    j_KB8qqxaG-    ND8N*&'    僀p2|NFmK9    ##NW4H~NU|#Xp2d?     iAF     δ(I8N3              85iNޘ `Kb~7I7Sz1[>7<>|9V  . Mz1[>+ƒ$  xL8rﺙsVR @8YGuLy3~\Cz>j梋.Zl6+f&^xdF '1E  uXpp"'%bGpRdT 	  {˒QZu$I':j-sp2tۮ'%N  dom4Y`U  :D8N/`kW\p2  pqaBBeI=luYG=_/GI?'z p  Xp"'p"' p `k*U`[u٪F8    '!'''p 'e 8hQV]vQ8U[u '  I]ap"'p '+WnL
 P܊ϥQ^Uj G=xb/9_Nr pR D8D8N^LR ': V]C@gɰlU"z|\dQϋ~BRplz @8 ND8ND8N   V]UUWJ(N @8 ND8A8N N  le2[ux[u{vQ8U[u	'U    uXp"'p"  IO %uتV]%u$[u	'ǝp '  `!''p"  ? NTa.[uQ	']   @8,D8ND8 l `.[d٪V]تK(U   @8,D8N V]3 uXGm׋p"ت N  ND8N
 N  ᤊba^/=uu+ 06b Nt$Xr]:ǼnnˇS*
'  *    y(?I @%='$   'w&7pד                pM*XznscVV}2S1{'~./c}'3=BמL_1v    8W$}4PL
YRuTs@ffYD2*W   hpR7ż+{lo?mdZu;l'[7}FI>T+$FH'pғ pp-VZ'޿ 	+q,hvzS̾uYpRM8~/w}g}.?߷ujX )Ѥ
	   IposIDvǦ$)l:C8>̛7s:jݾ.|-^mYlٯ/^ܹs/M5kօGu=ys=W݆KI`"uzM7ݭ׫:vO31Oߌ^he^/hRFW_of   NO~{|:!,Z4}}p266C9%K|/fzFg#8⎷mX8ɧQpxpX8NxiĖ#~MFՄ   V]՟q5k=/mzuoٳ?g<㱳>Y%[OqavkG{+Vx10nvI!.Ө&Ѥ,p"ϳ:#R$t8)dle. @8 )MY$o:'[
sYpiI_`u$
+/g̙3#;餓N[i8ɧQA8)uqxH8)?/囒o<ݾ)NN   UWA8vqM6X//b?::S>:%C=s9OQtkC=iH8Qp2pm@zDp~s(SL|evl7T{/~olk8c1?/k6/Nj
   @80mX!뮗 Y;_\ܪ+t+z(?dot[,$|Pe8+߁p2?&}'<1J$wg\`FIB?
'  V]c/];.$?z[uuN.~^Ή'`z/p?Y::_xwx9N?NʶAlu^?ln7B@h$cmӔUW) ppŊR"K
wq :p"ę$?MG1rey]viWN
?-qOҳMƵN>oczJ1K._shj8kФ%e_?j$1+>Tg|	')N   HlՇp2QR"Z4sx>կo4{9g^{uܹs?k4"֜j1O|#fk#t *z&[nUT4=
'upII5]|;    ЃoDO Ƌ?YoUuTN~\~|||4L
Xf>Nh25Xo/D8XS8IcgzMMbi	  3&z8äKկV]
at;M"$ޞہŔE1>xNh28Q'u	iB[4y!{@֗F
ۭ&&&v馛NP  _@
' @8ޘKb+fVvIAN~L&cNZ$%Iڵk_=]#'f`8Y7dK]I\o@+pRo'^{q=	 @/ ! z#:7$ř(
}'O:dDZ7ɺڪ+閁Iֆ
x.\tgK5LR$ `N NrIE0X疈
;U6\IQ~7̀ïG0hm#cI/pt|N?U\C8ȶz\8 ۲᫅'04L tPT[uUvnk8I9& GY\nT8TvfyX"dN-~+Ne~oSEsڜngd.]w_pzUmlS1o*tIaTs&'ت+b7pS=~	  /F$o8@8N_d<DR3M2SEy=׻h=r\pҚ!/<&?]xnc='4
ѤaNmʆ / c-$^3, te
'}rxNq߷ǬJlI՛Ǖ]O[uU_׏ge'/VcWƚ߶ks6޿'撘>$ְ8w@aaÆW' @be˖1: D8wRp^o!n1Jimud+dw8NcNK8 qea
17gxXD<N&0篿W'  _@ppa [dݑqIax5f͚}Z!lJM]0~s>'jtHyu!η>Eܽl92	Ix"89}J / kN N>;bH
ZGD8l8w
:<6^PLM&'NgDIMIIL*
q6Ǽ2,]e3IZR] Z[芳Mv+NzOjvē!  Ym8@8Y%TdIh:LH}S||j<x-<dx2<D8^Y&PdUWwilXeybR1q׸Vdl{tp2p뭷䞾 _@*  '
'!7+ֵ1e_O+'{q酥ӳn+'p"GWNpxrEm!k&1Oek{x	'	ys"nm8J3!$Ⱥ6eU@+"("8wf2-*8
+($A!d4AѰcXDC{y:ϩe9zFF  98 d~Q#*	ϟMh ꇪmҕ<ZrKmؑ%-+}\xj:> '   '  h'?g߯uӳɐc~RŔN+TKܺo)F2nCn'ABU.<yQUioo_-HL6 '   <ĪDGӉ7)0;.5*8(Ӕ -Ap.ع]     ?F$P0;@ą&R6JQ<T3qb*@pRT N   N     N   N   	 Nk                          ZJa9hתkv       /xf?        'EyXAC<qQG        8!8!8!8!8N     @e}I'(%8:uIP^D54s4          ѪV]3_ᯗ,୺      @pBpBpBpBpε'Mz5;::V'8!8)      ZueV]Ueiե6RRjPJnVױB7njb 8      					IQ~3zXA`Hr<V޲I`xU"      \HUhE.
F\X$UaÎP[Ƕը[Q˛U      NNNNNN>S===r(=ƈe#Q&Z'w@p2Xg jy      !PUhՕ6v>oEm A<*F	Ge	*      @pBpBpBpBp'u{vp
XG6^*gpD&'       8I;(h˴q~f}<#>ܫ@dqt2ZH
]ܲy&T7utt)8UZ'^pD&*2      عL!9KdFi;z/nppҫzw#,+II      Ъ+S*RE.Zu^A"r9Ld}o>-)S
M$M/)'!(P      NNNN
>s6<߫>	?SV
)j&~xipBFF	M'&      ɏ|ٯgVo_/GpS
?ӈL&h*0;MGN'D'      				I!Et+O
Mܲ	      ^ W`"O.
d0}=Ӫ+Zu?Mě#p#ND5^Z#_ޏ     6Sm۪74I98M{K*"      $BTpRV]UM*ӽ$"4I18qur      			ФߖDɃ?4Sȏ/'      ȼ@ĺ%	NhŤ*012)RN5ղ$z      D'qBpBpBpBp/k':^{!Eyɐ+/<	MN       ?<0	?8ɾ%KVǣ2!;1d+NɖcL&IthB     @x2RoUC5oKܬB
8	Nb      @!8ɰjXUwOq#_      9|G z&Ѫ^hwxDA'        	y'&        0WSOnU=2	                          ]U=e
Nʸfy>;Þ        '.ȼLp~      S+L,(诘 8ilmu~z\ՓSNIgg&CHBp FcD      S-/s
8'E~WW#3Tۺ=Km<}}}hs'#LG      D(7ӅUϧPXVe}a0@:؎M<ub}'q_z(8XK1xMiPk].C<׉z~YGp2XGM7A       8X]Il1}aa54 8I[t#G8NN~|U]`t*UgmeG$xɢiӦmہwD`      }Ulmb/>jv;N"T%uR'jcVѐ"j;qF,RMSkRYoʔ)jxj0N߫`x&1ާsJ+8IU	      ߾%mڏ=_$Ű`vF:ԾkT3'e	ON4	isutNBy-NMO'     oV#|Puo>Dq.lh#nPH+uƙh	ModƬ$ߋsvn<?N      Nj˕Gpk*4'8ѱ$	R
(Tg{E?I@}	nmzEҠP8QmZ??INpJ      N-ѕaps#i:W>CpKI[+U4qզs޶m"4U&<q'FOC^ןF
     oRoe0dm1/fįY:g6!8TprI1-oN%
Nv&'.|Fާ`'     @po+9?aSV]SjUكw5I[&8c
w˾UW~U};wMlWN~M
MEO~iUN      '~RpW}Mh1I!8eʔumՔ'KoĉVp|jU$u     D o386.^@,Sp'jmZ*8Q
|Ims$	Mwau-GN-3Bɀ'      '[U
s,SpPXNv	Is1=$
Nn^rmoepⅻ%N      N\VP9'O-SDɉ64q&6j䟪v#'Qު]P_糭,;^.oG1]]]\ҮzmkQp2`<N      N\KXx3ioo_N0n'o;nllxRd¯x	NN<W
9iPooz=w^
MlXb<v^ۛAp2`<޲N      Nk~spⷜ$&'}jّ&a_lv5N$YR8{#d-.:Gmn&ׄlCw-;hC:
N      %Þhr؏EVXxb'm.KpbG"$e#rrpH/g:4d>^eضѲmH6      $ob2d{kS>?vzᡉۧ䢒'llZue^/0$8Zi;o8z:7w6Zw\o,^V]u7ϫWۯ78     Ck'YyvX"ڜ'~hh/ݶfNbCc$sbhyRW+zx6,[pT'WXn	N      Åm^F3z`Ui`dL{IVN2lյҎK;8qUkd1F<mZ)1w=V]n٣6
!euIp      m^܎PWpcrԨ&N	
q/yߟ!\mZ>
q_:is}      d*%6/9=ą&"_ФYl<'Jhz	*+iS@qAHD-Sx0~#       8nbrV<?SOf$M08yEum~
1[>8!8l덾ζS0v?MIXxBpR       'm^LI34,*Ner?8_''z{'N      @pyih ihⳣ12
Bx$][I      _Tj'@p'L_ï-,tdR      hid`O$wdn4B       ȴUW       * f4\k                          U	XlPh6[54Iݏ׃z       @*P&2<7     VQj'TU7-\hj.f^	$
>NzH7QIDǭ  8:3nfKu{j]   1]H2QVgr'  `ƌ+r!sJ,4X  `s@0{Uꃪu]:Auj[aն&_ (`U9M'gp,G'IǨﯹdu~xY'N:YHֽ^L<߅;4Hz  s&
A#U_wn׶S`EݿA]2-M
  q<Dj{' @p&qǃ'ᡉjۿe6<iDFs<},6SmTQhJ	 M<:묽Lw5   	4y@ߚkЪV]qGRtpug႓.8I($
h_9
N?U#Cgg:{X]Ӕ
 О7z䗺]~Fc   #M5Z=-ि 			IΟb+,<Q`nkD-~]V_ګMi  &Ց&.4i)pm[  X;0>&TPM0# d6Idj(aJ'J+Lc| 4qBÓuĉ)Zc.ni 矿Vu"x۞+A{FF   NLԭn[&  8mNPEpBpBpR_hmQ"Q}#	NZ (Ru"u)F   ntaGIn[wUW^-ҾzSILѪV]]]]4bMPHtS]=ws' @p2Å_1	ian  x̅4m)(Ah>Ǜϥ(O2g}sĉnp p<|g9眳a6   M5r) jEW.
S)/ej}3'd d$
N[US},m+.P-u1J/f7]Em(̮KpҺ :jm-[F   ^sA:N $ d0?8!8!8Q -v+-m=cO!BP{<&?*gzNZ F<Up  :v0mI@.ZuѪV]KT_4<prɞz
|gRo=4	R=>o۫lղ	 <Zu$tN  LruۚcRN&s'&/h}jǸhpwGCoolp )L,#   .Mn[} hE.Zus#CwnoDkúF┾{"xڂ'}Vo qr%rC
N&  X_o*GL|PZd N?]Zą&ONt<rhJ@ڡ"'Zozpiنv^{dp '*XZ&UϨRml  E5Mƨq@.ZuѪKW'Vl&'1Ფ!֩7R<>E^~ze  <FN54hƌ+xmr	   z80?C[kWgrI3N:
oM
ONuNI!8&<
syqXqN d$ӧO`hr{>{+  V@v=i
v# UWN4OÇlxrN<naٝ&KdӧSk OT@窎4U}y睷	  OwH/6WUmmd	 ǕFF$M\dn=P{m."'*-=$>  <ǅ #I:9MsNs4'<  XS=ZĵZ?<hE.ZuyIN\=8)|:B&P09NR]/☏ywcNݽ㾼oN d[
?!HD=εlXRox  0AխSr y̓ҧLUQ 8!8!8qU)HpQdF';vEmUώxhBpre
M'G{k9߽מDp Ȓ g}8<f&Ʊ!I	  @	 Zue4xU%8ߪ+f-E;dBRN2 8;6uҺgy~[~uD @  @x '~U&8!8sBdЖhhBxrOsNL;xNjwk`BwDna_S,̵*  	   <hE.	NWwNUWdPMg
6NY @x  Oj3 ''$8?D&#t$8߂wU#@վ	Mb}7'{mc{⑐u׶O51 OTsL   ]& >H(y
NrދvU]P+<Q1&SG*(z\   
&e  AկTM  80Bpȟ#F0<E zF*p,s7rJ  &+@9}qfd    ФUC        Is$uA
#<9W&                          5-ӪojAt`FuI1#ڧETbsF`"yMb+r9˱:35ak٪<v     gc%/( 8dYV!#xVjٰݟR䳯&	M\U" GՄc(2      ^P~E
N?ǻ4B5wvv?*dm&Mz§m<\$ɽ=]Pkgw.fyj+p:hd{*~hӒ,0LzD      ]H#Ҧ`dGۺ L2SM,>-W4ڈB5wr1Z_ct
O}''& 8I	      jG߿:HsGV@<yZ=5UW*
ܨ"{G'{cp}qɇ[=۴}A1_+I$,4ioo_MEEnmw!^XkʵU۪9$iS;V#&q'ANQ;R	N      h_u뜟JL#5a[<yXv'v-m%*+"8Cﱃ[#[vl u؃^zI4bÆ;:ON::O2M\НzE5Բ	ɇ{6X\8cn		      NLE!#!^ײ
N\qvo4N08.wndvȪ'8QFt/V㳎~3[M5[{CF~BkR'<pc\`<[58B5⽪-HwmA IZum_yT#\7kpRV]      :NdBcU-Â=d5TGVG.dXSUcɕ
6q0*Ap3$8R6YcI2տ\+h=ZcpBiMd5U)Bpb[.=e[78!8mtY_%      .XM=6#h`dڴiېD˺	N>x^hJpM#nBkq6[RNT'!WUwj
` ;ĽvejlRS`vQ* ،IDaL_T	F5V'V]      p.?vBH'
DuA
n5an߯uNr#CH+8'c[GG&OLP}DNW
RHvfp|3C^w@p'𤺍	2rqǍyNw&      ͔N;o7VYvw_Dɓ7u.֯eG9B{'	;{8"GYa1;L{^hفv΋1<UQ[mb6;T.Wu[h#Dq&OQK:~oj)gpB.}>Ұ::F`7*_ R!YŴP      Q
BV8n[6=b'w*8Ѻ[ ;dҤI\ҦeNT?l
2
NFN
	GPQ-U7pVlt=v>Gz|'.k#8ժkEǽpcDFM%
N_Rc{×:85狝+wvp:!m	N      A6i PdYJX?W-dY)\"$89Yu`;%6r<c0a*]WηۤUWHթd<'O:$	\ٰ87&tذV0V]u     `c\y8dFOPPUDA`>÷TwW/nڑ8s,q<ԭtAݹxNFOep͞3NN`GTS-89N|J''      #}amtީIx#XUwФZۤH:ws?U:Pj;_LhV]PmZK.wSZ-E'W-ve\RV]\K,U$:>(b^TU      $ihln'M׷8o^mdσ5	Nf4Dkkm<KpG'Y/9ZGhr8Y      IL[?|CB[kvbb/kXXD?$ K	uprj=#Je=z?鳽bU>Ĩ߭ڇdc ai`ձ+MNhՕ      DL2^FǻTvz
XjUQ[Τ8d]yeDş(~G2OaqWgM|v      ?vy#doQuҪ+ǨNzTrp>J3!-^rǑU'Hjw7 
ws.2lՁZ6}T[uMVeoQhɿQK.H?sVa3ltTo؉#f"o-<7g[E)A_g^V]      '0x9ƅD?@Q(89$P;H#=F0v^Z._%;y`C6^{sr<lzd!(qpBp$
51      9Ց&s6uTdkMUgx!I/$<M;
^gZrh+|`:}Ha>k?ww}ԍRiç^^"~~;ÅjS_4iһL'?مf	mNte=znjolYV]      8|(UGH@j;UHq#)N57&y) ap;?~
M*mcΡrjHa̎kJ0CfQFFoݟqणcu-Q?޾[ʢ''      Zi/jeЪc!QPQBgh\3yJ2ң߉$<>P}IMrU{QĐ~U>땮
]D#M	vo${/      w$XOuTTk6imȍE@=zF۶.LǌdpdGnnI	M]]]T%n.xߏqr
XuiG'T]_}Q(E
NN      h5EW4?0)~|%d4*a!띤j3)Gp)'g@cxIHqn瓦!$vϿ߆$p̛3{]6	      N*ICƫzCɀ?θ:'Kqn㲦)υOe[k`;58!8      8UWtrj3]Cj{i(qGJqX$ZzIcRR{tIul-uբk[}_      	ɑ!!ȁ6I!;:/8G
ʍy1.Y]G3BpBpR9NjvFu}&?iV      B#I/lq~&27e_5}" 㢰yݾ-+tpg      Ğb~قD#=2`CjhST6U{tB۰enGpqidn^09      @fIU@Gzw'      Bk/t(>҃NAB
                         ds0؇yz{{ߧfnZۛUӴlGS ѿ)~+_      &.&c@d3vލF(֦4 ~OGj?Jߗ8      z|?9%xE&(LW
TW{48~
       8)_ZBp4      'ViĤ$DĔpy&9&i{K&4/OsZmM+vp\I,zp4 +8)_ZU      NN$si_2eʇ<XݞoYohREW$Ih/Q}N+      Jx,$:;ŋӳNz{{矮znDޱtI'(fN&O^f/'Jk      @pH4+DgX<SFĆ$6,Ic}ĉ?`RCpBp@pR*      
\\~JPuB\vjqUWVYpP΋-ۼm'IÓ$IIy!|I{{jzyv7oͅ3xhU$d     D[ǮV E4OGGZZgeBb{nhi:w^d?4Q@So6p\-Ȋ$|	I        ᪐~Q2FʭzekeBpb/7Ƚ&~p<<IhZz1 s,}a>f]]]պgk;'uONepbC֐aJߗ,      D!An?<&Y__T48ID&eNbN|[
|fQ8y!$]^$8      @Mb!{Oڑ(qεfjե㲗{|ꕜF*Mɱ:/z&N'QIYgMGk$q^2F˞Zo7}>apraHXsuMMߋ}cB%೤      Nźal[aF'?Nh=~CV	Nx{\I$"4)Mps@ c#6<Whݴl-ۉڍѡ$rͥeڇ媫m̂4[pߣsۈyc1        MYJk+oO^\g.i'gC.PV]ڿovYIdx"8<yA
0cIhYŖ!$0Ip΋ؿ,?if$d     M{g!vbߤBu{dR=6]l1ipb38#M;59PݖO
,{Kٶ6t{nvCI-8Izܤg|;FpR      4 {|
{}RV]ڷ\.(}z˽fC$u;f٪Kg+BpiyRt^Ǻ3OT>i}5W"'q#V]xr&d     ĶxAN'E	Nsa#nq_z/Tgp{9Zf^><q^trؼ
?ǺeN$$M     ЪK.-K#jqb6s]qi Z?TʫUOvnId0k9@;hG;۹_0;{N"m!8f<930}      ~IxۣSNd֪͊8ǉՠ>Zzkjghi[pⳣl?8IQD1Z&M.{Bs{\xOVHkhٯq	*^hoFxBp>{B      $hqrqH 1sh2)'z7]`nׂ{zz6DQ-bK___:<Y#8I'"<+8&TeӡtmSco)p>/бy>}0e4dQQ:8q\     @pTGvtwy >IoIagb/OnNQۏ̏\Tm$$FxypR+<Mg1hÅ/hq6@$vx#8sp27}%
N${      '"q箍mkDڲ<-oMvrBCdIIxx&ٳ#l0:B=i'ٷ*
9v5GpR'       89
h%.ĸ)Ҭk%"8I$ONÓffxMr0m6		      
p3I@.ϻU_f .8?TTBDIlp&58QrpTmԪ+*op      <dn@pr dXhR	ZmnRg`8"4iQ[It.?`TNN      @'&Nm川txL﬈$IxrQΡ@؄N'~PaҴ       8	GpR|
;V-BjMM?B+w>$߲?}Z      ${r>N'G2i3#G"
9>mΫ=7ҤIe      xr.}Xqr\cCF3OnP=xTޜ&ENKK      0j< <       .H14aE                         oq3'Fy&9N2='Lwwz>n/      NTIӪI GM~      Nr>D'yɠ3^oSޮ&UU5Ujir:Ց&FwnӲM~47      NC{{jI\x<yokmA%		  /u!CzL  @pR%qZ7e
N4buꧪGTKm~L7Qh0.d&z{{724Qkׅ'ɢiӦm^`ۼZUq>*8ߧG~MsMB  a4   9'C#2Bp<
)L8.V/
xFtiׄLB44<fh*	fd^HprPI   0ާjL1SL  dAE	NupA`m3(U.,xLtݮ?eʔu{zzvS@pwU_7_2hgBT7cW{蚗 8UWG|,&  @+Ny0  O&'''z6Vږjguz#=)$x[֚	{iw"MI1NNFp]  @gg
G^q
}c   <ȪLт&>O߃U#\4,=Z̎0mUZvzt@8ehեy!1
Wp>u{h΍:s	Mt^eW0ɭsLUTV]~ݿKqG'7x#NΘ1cu  M&Q'G  OcC}`hpda9\h[vψye	NDuiwpWyZjms#&
KNQ/[j+7Tg&ϵ$"4UuG$'GJ(9Js   mnBBl   <Q&!
粈/|pw+((P5x.K. s#6Q$DWQݨ_QIk?Elk۾=TN϶J!8Y~nѪ'	NhՕGa\2TuܕA  d}"oC@9X=?'oN8q=Sz   '(,/[pt0#	la9,.89+Qh*ah7Nե}{6PA?&čy:.fh.o#M~@vmRـdD?ߏUp7d뮻n7'ҫ   P}-jEev]    hlua֪Ka.۽	KЪhuܟH4:yߙ̭1_y1W"B6X-pdD'9ܜGGd#bG3'
E,衡6%y˾j   hgq7PLo?   8m-W]m۾.8}	GnmrTREOR][r)?b&BvTz@hrjG5F	'':xEQSߏx?<8%p
	F  M^N0&T|_p]W˷2M    *R.-21UEaKTZKjOo^1R
?NVɋzYGę4iһBB~U!I䛁](KoI	Q(ph`8v\2άY
.jL  OGGiJ   '.4rU!8	L\_ț''DT:BL? hDϛ"w~OBNvaIAR(~xR.oD=![g   8Y
VHp2fw  ̂ANth'YؿA2YhPatu+&hV]'v6S@0&Em8&12YD'IBxYVOk*>fDƨhzڗo#a̅.koK'
n^Q+~`P䴐uFD  إ6\Z-מ&5   '~kQ_VNtϮx+aTg:TǺ =qQZ>;D\`Е4<Cm.Μ^m'?r6"vs\$	NQ&'~D2)
k׵yPv55   FLO0b	  $TB^8#8VUe%h#1y=!J:wakqq 1;O6msf][u|GwuOMG4U"r=&IrN?
ڦ߆ qJ=   »8ApD=QW7  H>9_/4wwك$ӊ/ApDZ
q1tɓ'o`"DMb_vBmD5;8qUzz>i6t&~N?
F#KVS ͘1cu  Pzf
  $7:y"&R!bp7y.M@+I.<!Xۥ}=p<ްEL5kn_UDL޵\˯D'ivr#xݏf
Nj^'<	  N~Y&   &>'8q?g^F̴#{ɃM!sǝD?疹e6 4(|uG'
=~48Q]a   	f:Dݟl
S  @K^IV]Ó_X~Ѫ˵
Sc'?\)dG\}czA>W(F<1s̵M    89Mak9߽מd
	  ! II''~5!FpҦP-{x
<ƚ[NNz nu^e   Nn_muF   .t
4	[um}*@BM>a@B?ku~\@f  &aH[ި*[b    84ЦC*vn:o_nGNfވwDOu]ӬYFS67   
;&{3"?4@mt   ??|NA'
;Fkz^st  '{c=G   L2E'u!8)ۼN      rhfNǤ''yVa      'MtpbGxQqG$72)N8~f?J                                           pj0n	L>>;ɥ瘦 ]B      0I[&WAFeF      @pBh2R !y7ZVf~32(z䏿9O>?0`?:֤      '&^UNNNF>0h?J      C?$|}U/uwtt94ONҨK\D'e	9c'%:n?.'o     'B'IqQCxBpBp'h''      'iė<8}tfS>F-7Z Ѫ+|N+~pJ^Y}NƩ)W 8:U
28      I¶fglweKB&^QिY	NTu      $6}Cdt!1x6Ix'MҪV]"8QX      '	F\VZi}ƤNo4-WI__:Mi     K\J.MЪ+hE.ZueсGD$8      8 dFIgg
G^
9qo7ڦ\NNNNNN      N^rY'
M
.y^s><I=|3ϫ^s]\[T6ȺEX9܅J+87o.Zu+V]2      8!8%.|M)08?$ Q+6<& 8X|		{ 8     @pe5O2ɓ7p/twY}oE9jm}Zu˳z[+Zud_G燏     $A+mȋ60	HXCܴrp>				I      N\;{{m)|Ǚrx9ZuѪ+YV]buϨ^
	Nb      8Z`'#~wzmv3	i4{-w-fcZתvf&O''NN9v< w6	      7'mGD.Y}xE!le+]XÌQ&:sZu;8%_?SNn^у-ԭsRKN      N
)qMd6&OPdz9/&8I:$jrON$X'LiG*Vkz|I$      dM]dڲZviN#٪KA^q/+I}d'am6IH	ZuѪ$Ҫgt&'DjwuU     $z;o=H\obI6dRGpBpBp$8a5l͛X      NQ&H:;;PjM|=>Vi>1[T=,+WbvѪV]NhYlHX      NLUh$Gyŉu9{	1*Y]pBpBpBp$8arB'      'YIn<b+D(x;1C<^>E|s 8UW$      NG28<yvG D&0Jݾ4No4뗻׷'<Ķ]8_H14		      NGL>CgF&ſ@VY'oՕ}Z)I,R1Ϗd	      Q-jD|`WiNk
:YhMN#8!8?s>7      GdI@(3b@k2AUZ       d)0$#@pRM:L|         $         Zd                        Ntwwf2wma9&E%=aMW
6XV0gKwnƶͮ  fg?sw6)   >NNz߅feRT` o  L  @C.&>޾E WjDdPտ~RJ~>6៟Rl'Na	  CCCm]@Hpoq5   `^aM6 .N|'
!8)׈Ji^Pֶ&&TK'' n#ОkPO   -!@pSYTكF_	Zuy_Q; v{nv-Q&'U4B8N^%<' @T	<  ٹW-J>J 8&^
D!\gIzAم&d79k%gIx P+1eH`ɞ=5xm64
  @Q&BϨmɰlB ]UW>uY֟?쭺S`M۹qVVɔ)Sֵn5<RpY/z^׍V$nagCwU	 @!><Y   8%\n L$N]x?w-EկeK8xA9Fh2LIs
/<M@hޗup@s-[b~  8*e <i  0y
!Wo»M ..ƽ JЪh./(L
i_;^xRwh%
ß~./<;4	~vb}U%5Қ	 [OSՀD'lC  _IjW3NWW{]nwApBpBpBplťP9Q!
K"DRuL#N1^m"([po1 `qQ%4jƙ5kfZM   @p	wMP4H~MغVNb~JZXЂk\E#D&'x{I3'ѡ=@N  
Cnto	'H   {	N:75]hf	
Ot1?4QZQ6JI$DϵJe7'X;ۯF&aiɟў:?ǁ %[@$P:j׵  @ A&Z2ebUWIUWBLOH qnwsR6 ÖY$
M|IKoHI'O5jVm2WTTZ>8 FF,1c!-6  :@	^8LX|@e.*E9Mn|7[N7Bs6{-y2f}#D&'Պ}RNcDXŽlf' 6"Ҳ}&:볺ɴ  mWv&QSު@fw%QeYl-ϟUp*Ʃto9vQ቎=8$
M|I'
OvXdu3_2zjjN  7p6Sj׵[DhaΦu   {a$np+D&^}M(epBpBpBpF#8QkM]@9DuD$8qƙ6mz<Y΍
&m.t/݌
N 6]
N4ܨīMk   k(x5КbV_o?4kOV]NhEE7BތvH-ƟքEhեsvfF[ZvQV]?4q&M.x<z	 o@rVi;y_   ]9=x34߄hg/~	dKONQ&}}}fO"C7z	 @!/kxzBsqR   8%؊BȻM]C iPKr/I 8ɠUWIV]^`{S
/i/ݪjoKu[-taI$yaLڻQ&MIthhӁ^k N
 jΒ
M]7𺉄&A  L<y.2Z'M .NNNNa럁Oe8	'/uh:Fux$$bIS'+_Qgxf=K  @ rSr#T;44Fh &
f?%e[uѪV]C4	\ӳOa1^_81̂Iق;WQ8}x Mt}8"4  .
6	:E	EgE^0wLٗ?Xc_~Mb''e7ʤI @px̙:͚5k\f	  @AAzYV_֟?V]+(ϤIeMW5:$#EBZuN&ÓAh5k9  d   B'M .4R
%LتՐp;$S
[2.MW˴-$I5a5?d   493g   \.8nhwݪ+UV]UWLvTG`nNԐe_qP7yrVDhHxr2'%  8f$M   t`ɓ':.8"4hĶR(rj7WRݾZP ѧ6GUGCmcCk.91뛘>٪^hRwxZB6  D|k=sϽ'$Ih  :J	n^H:餓p-#LbNN䭺T̕`G}z\cߤ/﷉' zB+_s5*&  FO&N8EMr '>FM;4.4\_V=h'rw-r#Eڲ{=샓q  NIfΜy&.  NMj .(ly xL  o|_NT   CZGkBZu<>-E">%1B& fM  !0q  OCBhN .  '  l?4QrZwmo   &mS&'H  4  ɩ.(yF'Uz,F                       @LB?4Ⱦƾ6gb2eʇ 9mG-8~^rnur:\~r;Ḕ      8g5ap2O?%mbJp\      ȃIǽVå}/ipbFX3'nt麽01NJe=[===;kH @}q΋εu.h't;[hyE,qѲ߶L     {YAqx.+_pBpwGx}ǟv[=^wbUzϳ;::Vuj
N\4b-m+QDA˽      ('6|C
<RT.jfYjǙGz=h-
"D/:Odz˽xu"yT pڴi3|~AOTܺ۠|	I      8)Cx>^WG#v-=M't4Wtr|'.wWpK~߁h?8QtEi$yRoRVuw"8q{&Mm:GI#mPp     @p0<YG
UWۙ᭦&;bP1_5Ƕ5d}cg<ۮcU[>IӪ+:(02@g-hݷU6sI ,6*y}zF}SҴr#MkҚ6@rIxLW
fTW=8IT      N'{']&!lbī (`p&tnPWu>. g<	IĄ\^+8sl5)Kc!;bʅ>4ps~ڙmY|}̅&
#}`$)      I&Oi6I!aUuU{띦Z#1΅%GBۼI7-Oz{{?3USzzzv+4#%wn_S+8Q]h<3'O4E`R 0mD=W͵x{kBQ>(ǩDI     0$nxO헩շ@tڪ/,&	W($YoeWM<yג{qTeb!8_*Q?!ju}2l,N'wkȂJĈ'TJ	M/+cx\e
N}X>~Q&8!8i      dtnP(U!?p?ORHC]q=[.XY^C|K6DxyǮeZu5o5~
UaF9tqFmX'
y5?}}d>!{e
NoFspr"8)?      2dVl:[֫pޅGEQ
NR;=Cuh;YmlM>8%qr{O	a9:Zmզ`fiY6Ʃ~mq?),<TYN*و`!''     I+\"$89Yu`;EU^;*AGy_%kcm[iU5J/~׶Z/sǘ7m=Ft?8K틺wuÄ'EITokmpصJe12èob4'/O.߰T/i
M      dpPUDm
+:4)Kpb/*nҲܣھR0Cm0MJGϼصx[mȈ+sxɞQ#lX	&!w<& 8YTckv;gRA(;-{Z^      8qUI98TTk+4[ie8PeqzmTGiG9
i3.K~$m78V]vVǵ|'gz8!7qK	YێjV]sUp#jվ4[pb@Y     @p2w$[5J#8q#M
M9<T;6n;v8D@ق{qJ7$tNHz~iuiI	KT[(P7In=      y/}d&&SUmʽU׿9D`T޾^:}
Y|C#Ē>9&?Λf ,UorwBs4Y.jF|QUgի㿪ڶY,64Q=lT      NqQh'B|?v֡5pvy&eN|-Νq&!\]Yέַa#qxZ>S9`$89Uei=komDse{{{75Bp      1)5ո2&֯{	F\_~h
l{Y9Ф3/YD2mҟPOs Kr&V]Fڪ!ѾJ7<y.jes5h_P8>nՅ2
       u"9<0D44){pu$
N<y$+{ @ThRĎ.#e&QL{eQu|և42ǎjh	a<ߨ&j@"JuWmUF      ɦ3Kl5#H*elϕs`~Y\!9~.4%?<ϓ2'v>ot	oM[L۞:$P:;;7*0''_EMr``ȾTOToVήuY+      NF:BmT{<ߩ=m*%M5Cuv6_+~ۮG܍4׷p 8<)wpmLF>XO>;[U_Py D}VuT\I~<flw{gy[-$29.       8U1	G
*',7"ڏ-F[JФLZ'ſ'*)qkjI5?ToDn"Kl{.e4lpJG<t<{5oesj]u30K74     D:E*TUj0vjۗt?H$*4i['|F&t+ӎ /hY_p4
I'0
N:iO;:Fm۞77Kpen?>XpJ'.r!_u;      hՕWBFI}תū$ۯ>K!89*꼲';7~0x֢Ó%N:	{έ5oB]UݺٺrhTѦn55      dz
Y!T!rX땟Fx2`8IZmTDHoDprI IF{{jv*?#K[>jec.hg3y6      NBPmbkHpRQt#I?4IUW֏SUX)p\ˉ %~}ߪ+:9}$sTohlhu٤IޕqqsnXcRT     hjkSMJ.X]~.Hą&'B	MT7|^cC^Nr
O<ZԖ&~G>2yTO+uKߩ's4S[U      :*(]h^|~Q2.q=Wdx\vIyG.8AZu%O2r;)%>uG
ͦh      /Л_+$ok#w
j 24Aѡv΋gb=w(7IM18YDp7?<qYd"om7[nvjC3       +	S],(Mp8      )SN 4H                         UYp<ʊDsBZ3%K1|oM<꒬|yj       G		N}e.<	Mt<	      ,~"( 8iJ6|X3&I&z߻OBCEӦM<df	2,      @R].4'_k\
      ZӳߥP78"K'Z
e^7鯗p<ޟGpMeB'۪ηmoWZ      i$VT!8QKbꧪUkoVz
HV'N968aڥZ"BR'k%o	      .RS1e<X׺\ wegx.8 8l00q:s	MTP}L.lDɭ޶
^     @p[!8yDuvvnK܈]t)Ǧ`j#ڪ`:;{UVCM gpxYW5MMէT5kpJ'      ,2 _%㑼#'97
ONWmݬ󴏋U
udЪ# 0^ܧP?-d?E)c-jx6e.7ߞˆ=kB_Zu     Zp
PШ5|PRlHBg3y'64	ܗfB3T'ݪTbGU>翥q`lUSնj
60.QӼd&
NC7!8I      N\U) OɫU ^tBj]P^Vy'+~p2Ao7:0*k=I@pZuUmҪԹFQ.	zcy8H	      @p-{Sn_rřI'3kg#FN&9E*
T֑n)u
Z7PZoKU7efNl|kEp5      bpn}j4J&߫׭Tݨ?180mմJV]F]аjBeZ~pUk5-;p$
M1!fkեy74B.      jct_R]ۚXN\UZ-8:3===;q򢖭R;\u$pjSYsv7'֫=>HVpz      ]{t3wE2**9Oj>̲J]DAќΓy'ajbV]!.u{u#qDxӛJoϜWp?N     &'ۖEjj/)Sli"coHcUté]6񃓐ehus#X'OCx? jD?תo5N      `lk%%(<Y\
 ?jV]~UߪAApxU!8!8nIx:ݲ4w`bo51٭{}X#O$A^h2Zu     `_⪦
Q%8I}G%Mk.\ʷ[֫ZM9U_z?jF|ƭwThrM1}3\h2s4Vnz      `'V`cGbrxUIx9Z\،$rVѦZKj
CooZ
dd[SzV98l     ow K,v&)**^hjoDق]('BC      hrܵl14Dxܙ 8}G{pJ~SV]ENl+-Kֻ\spx.`j(R1'V]	Ѫ+       8Qhr.`xnAǃ$yxBpBpw?>od'[lfY/72IV]ފ8_|'e     @Id?8į"
IW->=F\8?hoo_k}QLQXgLFh      	$O'''on?P܍7^h l?.l8}{n֩&ppBp      &wC*;Gr/a?	UV]H9q
HzN>eZ|KXFO<yo5ZuѪ      I['M|
Ks)09Uu:G0ؾ΅*w8'      O
2:f_
\Tc	H)I@kMi_ wuoa[a.>9ɂ<qr       8INmlcw]I1wB;Yi3NNN^S!iٿV]vxHGGxK`NN      ѮW'@04	ɥ.(R
[wC
ZF)HkAxT5$/*dP[Z       b"8(E'(N^qv=]G%8       idn)K        4@                           UlHZc1E        lG      0tlx}).^cF80!IpXձ~^uj=      Gpj0~ڌ      ?SSN=W5c_TTS(֙]9~5eImbޣZzGTk{[Ozzz6o>󝪧pͪcZ48     @bCNNbIlO*8_694V|uչ$>Պzǔ)S$8      juViՕvpo?\'oa\^ayz
(dH'\ oȓӸ6}Ip     8 WJFBp2CpBpRؿ\'qF],,ֽ4Hi9R]ݽ[__:]kus'      '޴ʡe{)`.#q$y5Tvl>/G+ 8A	NfR]&ّ4<:Ǚ&M.7	      IhRO''$X]K0Ap\r=d#. M5g1g\h     $0K=I/i3UW
_N4aqqZo0ApswDZSubx.wq<^|{{{"8     @߫^;{iD}!%	>zojnL]rB =wM pRxUs{      km.پ.*S%K[u]r\އ\]um[uV깯qBo-
:|;}"8      8i$@yFڎ"8'n2r;jr3mz-D_4
Sf䬯:OAC"8      8in/NЪ+/f<zZVUR^>'n{I(7Dמ(XkMQ8aûa.[Ъ      iܿn''!8qɐJQ	Ϻu'5GDB&.Q
zu^Hh2AuU$5===sv\5$      h=.J~V]1Ъ&m&^U&(3tY(k.XiK6m0H)4?nS&2L{i!LUQ0      77&1' 8C*y':B=UѭsN@{:M"6q#NU}Tcr	:	N      cn_o+yp|>n9ߋ~Y? 0lco[Y'zOv{VmUc>;CF<4	T$om:ӽ-ڪ      
&S''?8qUB~W{guQ=zw=[u'81cÐ,C8Xkoo_MqXIp2      v徾uLbU#^JԪkD64,߾9H3JR	NqӘ5B낐e~wʖS=˖a'      '^MsRItxd&m'a&i̱.#UxˎwK#ٰ?|s/yE      f5Nv-UW^kyt`<<I+8|DuQ{^$oV]õSаiO\36u,=P[[6X`O shq8V]      '66llJĿhl^N'Ƀ	k.wRp<o@Ӹ_d-djZIXhxKUZr\E      .MTѪ+M\RV]ENtȳ5j[lSzl@hrƉO&N`$RTsBn     9k48!8CN{!8i׭t;a[<8YzZ-
MS˪&S]=&^Rox2`bP>ƯTtUKn&	      JߪCޗEflՕ}~1Ø2eʖSjS܅"VDΏ|      dnDvG1I=/7y?1XwAIVyy&''        HdQF(<Yb&2	O8?        @GP~e2En8'       i !7<	       h OT[                          YMf_I깜ds       H@g&7iҤw2M      iEtZzFjj#8)!SN~ޤ+yFL<};::=CBR>ջM]]]^msZ;]趢	      _D'NV
V&8!8qpU2'9?I:;;7RaB샦Az8<u7>S      2_v'BܳoK]XrjH't<?ݿUfn=~y:ڞ~j!Wo$OT*ٰDMpﻤD")Sj=>ARr7=)?      $MTlxspHxնTDm/:q.R}:H['9l$vhZ4mڴͽv[]Bh^r<1:#ZwauKOO6      (b;@ y(d4ÓAh.4yUH'
MnBT/9YZu%8d=Zueቂ;zIre6P1m;Q*k}v]k      'Zxw[~xRXXO'0ɦ1&02]			Iu_O4Itv\{)      ЪK[R ndUXxrQ#NpՅ<8r7+yޭeULi_xnV].\euȶR-ϴUIs$ƬK]豏Ic~ݦ)
      h#{?E'bܥ+ą#FnB>s,αy.|]Iup`nj#1uМ#;F{bu"xPu^L      V]G hnʡd9o
 <\G+'Z~;/rU
*vۆ*luf@0n[o=x2'?:);_"l%      =D\]DA:oL4]'O@WDm7@+'۫"<sm%ߴBp|
S/fN3{}'<hu4L3vn}m)B:      VАG.Mλzm.ǆ)-zhrj#Jȿ2)Gp.Rp~ 8q!
 8٭;_nV]vRsՒaη,[jÌ[uiS\(qI0;-:?)|e:      e	NoG.bK>Zݢ4R=:҄ 4L!И'cns>?=0s:Ol?Dl}jzCzFIk
Nu      0ʤV٪K!Muݢ
}Rlv~(F_}F:x#li
󇲷y&ms7l#IBp#Nv0	P     `RcT/588qzZ[#P\pAB&~p>),]pwl 8}Bp_q#N^0Nكo;xm0fpC^=~04QnSLl<,uSr      pmRl"SvN7f7#Qemb8u#N~asu7ߛ$I.2}W=\^'ךq{%wMJ      }R$xOV>l0ap2Sh'6k6ozPS'w{Pݮ 8q@5ZʽatYXwiD
LD٪՞KVfWc}ߪU>Ρ%n?Z      OvNFx2`=&z1Zw-7]:fq!-{]j'Fp~4gp~Sm&@n_>yҪKgY(4 +j dM iHi      
N	OHeҟE%h[.@T[rohnIGs'؝ý?soVĆ!-V|$49э$忝q3ngN[~-w![     ;:I*Vp'*Sґ<89/Z\f$'W|8V]%N~.|u
-jk9N	_k<U;οCtݽ* y޽fӞ+,Ȕ      NCDpb'uّ!le+]XkUH''Zj;'wtMFZ-8?GǕ6Q}w'zjhFU=jC@P^#'SݪYhϪnrbH	      h]EMj(
le{S@`&[?8[Hn^TiA[hlՕγ;]@u^qDMɈDꍨcϰ\=66,i      ''Ntq+ջ3iҤwUGx*8y5&lpBp3WdqnWWG{'OdL5ANx^%/.̮c,<      V;wNl:hŵβ-dVۦHG).NpRV]YVɽ^8WOh=M4ax      ۓi'| %rǶٱ_n庿<=$8R~7?m.;$Ls?		      hE.}4'vs ̱#K[zW}<`Eu|DPKq{[@o&	N&Nh>ȣ.,O2MO      @pBp2Vi'}}}h[W@+	pHr=u
^w!̪\%MZ>]''Y'g[{օ#P{kCװФ}ֿt       \OVV]sA̴i6Z{T:U݅#$Z3@+~Шsl[-_4̈WI	G]      *4&7''===;Wt#;
D,~7L~\:Zgjq50OlafOH?l l       VjIM* Q&o        I>                       RS     IENDB`      n  PNG

   
IHDR  N     ڢ   	pHYs    od   IDATx^deyH1&A"eP%enG4x%lKHJ`KrHF)jtò;UttT}53=3;ۣw~ Xrw< ?I-Tu
    1	x"    8s@-mK?1:{I?yP   p"<Xzh(NfR<y N    @8)o|||ϩɪU>xx{W?I_G~?~k8ɧQgcUD     ᤔ5kgAܛH8)Ojzfp2    NJH,{`u]11c>옿O
d瘏ǬȮo0O8:1$ưڄUWy    'Y8DLO"MOY8[8	'IpD8   pGb<$\g\tq.fsCN%	H    'mm5Qļuh$yvD8N|pO    UWrycpRbJ_euM2W>0ɪ߰U۪pR>,:WE^V]    '}|JG|u&<?'p"'4    lUvKY1bvI}jh2xnW.3O^պ=@`̋N$?4lՕI8m    @8츘ifn&۶JVXx~O&梱Y 89f(D8ZO    V]'S;$$7-UI\h=x__v˳Hz&D8Qmت$    $"[:41k7b폶Ǔ-YNᤋkiTNw,    lUDm4`{tѢE𑘉sI\WXc'pRZ忯    @8/IB]_XgLB
gt;1	ٺ޾x]|kZU8NҘID8    [uEd©c!2j_t˒k&Lo6ۥc3KY,X&'Ikiتpb   5Nw>3ɔ'h=&ְ)f9=VX}Y\#D8Nz|-
D8    c8\zq8y(p{Ɠb45nǕa~v5lJD8NJߪV]     }[dJēILz}F?'p"    &D|dVX[<G{Lx1d8	˖-ۣpR6ծϥG9'   @8ɯI<D,7n? [å=[b'
11gyr1d$]c8tPg8Nu/'	    ޾#JOr]c?Έ5l*Oڪk:N    Nz"vF8/))`Nugl6[^z\&y4Nd$lNF    j_KB8qqxaG-    ND8N*&'    僀p2|NFmK9    ##NW4H~NU|#Xp2d?     iAF     δ(I8N3              85iNޘ `Kb~7I7Sz1[>7<>|9V  . Mz1[>+ƒ$  xL8rﺙsVR @8YGuLy3~\Cz>j梋.Zl6+f&^xdF '1E  uXpp"'%bGpRdT 	  {˒QZu$I':j-sp2tۮ'%N  dom4Y`U  :D8N/`kW\p2  pqaBBeI=luYG=_/GI?'z p  Xp"'p"' p `k*U`[u٪F8    '!'''p 'e 8hQV]vQ8U[u '  I]ap"'p '+WnL
 P܊ϥQ^Uj G=xb/9_Nr pR D8D8N^LR ': V]C@gɰlU"z|\dQϋ~BRplz @8 ND8ND8N   V]UUWJ(N @8 ND8A8N N  le2[ux[u{vQ8U[u	'U    uXp"'p"  IO %uتV]%u$[u	'ǝp '  `!''p"  ? NTa.[uQ	']   @8,D8ND8 l `.[d٪V]تK(U   @8,D8N V]3 uXGm׋p"ت N  ND8N
 N  ᤊba^/=uu+ 06b Nt$Xr]:ǼnnˇS*
'  *    y(?I @%='$   'w&7pד                pM*XznscVV}2S1{'~./c}'3=BמL_1v    8W$}4PL
YRuTs@ffYD2*W   hpR7ż+{lo?mdZu;l'[7}FI>T+$FH'pғ pp-VZ'޿ 	+q,hvzS̾uYpRM8~/w}g}.?߷ujX )Ѥ
	   IposIDvǦ$)l:C8>̛7s:jݾ.|-^mYlٯ/^ܹs/M5kօGu=ys=W݆KI`"uzM7ݭ׫:vO31Oߌ^he^/hRFW_of   NO~{|:!,Z4}}p266C9%K|/fzFg#8⎷mX8ɧQpxpX8NxiĖ#~MFՄ   V]՟q5k=/mzuoٳ?g<㱳>Y%[OqavkG{+Vx10nvI!.Ө&Ѥ,p"ϳ:#R$t8)dle. @8 )MY$o:'[
sYpiI_`u$
+/g̙3#;餓N[i8ɧQA8)uqxH8)?/囒o<ݾ)NN   UWA8vqM6X//b?::S>:%C=s9OQtkC=iH8Qp2pm@zDp~s(SL|evl7T{/~olk8c1?/k6/Nj
   @80mX!뮗 Y;_\ܪ+t+z(?dot[,$|Pe8+߁p2?&}'<1J$wg\`FIB?
'  V]c/];.$?z[uuN.~^Ή'`z/p?Y::_xwx9N?NʶAlu^?ln7B@h$cmӔUW) ppŊR"K
wq :p"ę$?MG1rey]viWN
?-qOҳMƵN>oczJ1K._shj8kФ%e_?j$1+>Tg|	')N   HlՇp2QR"Z4sx>կo4{9g^{uܹs?k4"֜j1O|#fk#t *z&[nUT4=
'upII5]|;    ЃoDO Ƌ?YoUuTN~\~|||4L
Xf>Nh25Xo/D8XS8IcgzMMbi	  3&z8äKկV]
at;M"$ޞہŔE1>xNh28Q'u	iB[4y!{@֗F
ۭ&&&v馛NP  _@
' @8ޘKb+fVvIAN~L&cNZ$%Iڵk_=]#'f`8Y7dK]I\o@+pRo'^{q=	 @/ ! z#:7$ř(
}'O:dDZ7ɺڪ+閁Iֆ
x.\tgK5LR$ `N NrIE0X疈
;U6\IQ~7̀ïG0hm#cI/pt|N?U\C8ȶz\8 ۲᫅'04L tPT[uUvnk8I9& GY\nT8TvfyX"dN-~+Ne~oSEsڜngd.]w_pzUmlS1o*tIaTs&'ت+b7pS=~	  /F$o8@8N_d<DR3M2SEy=׻h=r\pҚ!/<&?]xnc='4
ѤaNmʆ / c-$^3, te
'}rxNq߷ǬJlI՛Ǖ]O[uU_׏ge'/VcWƚ߶ks6޿'撘>$ְ8w@aaÆW' @be˖1: D8wRp^o!n1Jimud+dw8NcNK8 qea
17gxXD<N&0篿W'  _@ppa [dݑqIax5f͚}Z!lJM]0~s>'jtHyu!η>Eܽl92	Ix"89}J / kN N>;bH
ZGD8l8w
:<6^PLM&'NgDIMIIL*
q6Ǽ2,]e3IZR] Z[芳Mv+NzOjvē!  Ym8@8Y%TdIh:LH}S||j<x-<dx2<D8^Y&PdUWwilXeybR1q׸Vdl{tp2p뭷䞾 _@*  '
'!7+ֵ1e_O+'{q酥ӳn+'p"GWNpxrEm!k&1Oek{x	'	ys"nm8J3!$Ⱥ6eU@+"("8wf2-*8
+($A!d4AѰcXDC{y:ϩe9zFF  98 d~Q#*	ϟMh ꇪmҕ<ZrKmؑ%-+}\xj:> '   '  h'?g߯uӳɐc~RŔN+TKܺo)F2nCn'ABU.<yQUioo_-HL6 '   <ĪDGӉ7)0;.5*8(Ӕ -Ap.ع]     ?F$P0;@ą&R6JQ<T3qb*@pRT N   N     N   N   	 Nk                          ZJa9hתkv       /xf?        'EyXAC<qQG        8!8!8!8!8N     @e}I'(%8:uIP^D54s4          ѪV]3_ᯗ,୺      @pBpBpBpBpε'Mz5;::V'8!8)      ZueV]Ueiե6RRjPJnVױB7njb 8      					IQ~3zXA`Hr<V޲I`xU"      \HUhE.
F\X$UaÎP[Ƕը[Q˛U      NNNNNN>S===r(=ƈe#Q&Z'w@p2Xg jy      !PUhՕ6v>oEm A<*F	Ge	*      @pBpBpBpBp'u{vp
XG6^*gpD&'       8I;(h˴q~f}<#>ܫ@dqt2ZH
]ܲy&T7utt)8UZ'^pD&*2      عL!9KdFi;z/nppҫzw#,+II      Ъ+S*RE.Zu^A"r9Ld}o>-)S
M$M/)'!(P      NNNN
>s6<߫>	?SV
)j&~xipBFF	M'&      ɏ|ٯgVo_/GpS
?ӈL&h*0;MGN'D'      				I!Et+O
Mܲ	      ^ W`"O.
d0}=Ӫ+Zu?Mě#p#ND5^Z#_ޏ     6Sm۪74I98M{K*"      $BTpRV]UM*ӽ$"4I18qur      			ФߖDɃ?4Sȏ/'      ȼ@ĺ%	NhŤ*012)RN5ղ$z      D'qBpBpBpBp/k':^{!Eyɐ+/<	MN       ?<0	?8ɾ%KVǣ2!;1d+NɖcL&IthB     @x2RoUC5oKܬB
8	Nb      @!8ɰjXUwOq#_      9|G z&Ѫ^hwxDA'        	y'&        0WSOnU=2	                          ]U=e
Nʸfy>;Þ        '.ȼLp~      S+L,(诘 8ilmu~z\ՓSNIgg&CHBp FcD      S-/s
8'E~WW#3Tۺ=Km<}}}hs'#LG      D(7ӅUϧPXVe}a0@:؎M<ub}'q_z(8XK1xMiPk].C<׉z~YGp2XGM7A       8X]Il1}aa54 8I[t#G8NN~|U]`t*UgmeG$xɢiӦmہwD`      }Ulmb/>jv;N"T%uR'jcVѐ"j;qF,RMSkRYoʔ)jxj0N߫`x&1ާsJ+8IU	      ߾%mڏ=_$Ű`vF:ԾkT3'e	ON4	isutNBy-NMO'     oV#|Puo>Dq.lh#nPH+uƙh	ModƬ$ߋsvn<?N      Nj˕Gpk*4'8ѱ$	R
(Tg{E?I@}	nmzEҠP8QmZ??INpJ      N-ѕaps#i:W>CpKI[+U4qզs޶m"4U&<q'FOC^ןF
     oRoe0dm1/fįY:g6!8TprI1-oN%
Nv&'.|Fާ`'     @po+9?aSV]SjUكw5I[&8c
w˾UW~U};wMlWN~M
MEO~iUN      '~RpW}Mh1I!8eʔumՔ'KoĉVp|jU$u     D o386.^@,Sp'jmZ*8Q
|Ims$	Mwau-GN-3Bɀ'      '[U
s,SpPXNv	Is1=$
Nn^rmoepⅻ%N      N\VP9'O-SDɉ64q&6j䟪v#'Qު]P_糭,;^.oG1]]]\ҮzmkQp2`<N      N\KXx3ioo_N0n'o;nllxRd¯x	NN<W
9iPooz=w^
MlXb<v^ۛAp2`<޲N      Nk~spⷜ$&'}jّ&a_lv5N$YR8{#d-.:Gmn&ׄlCw-;hC:
N      %Þhr؏EVXxb'm.KpbG"$e#rrpH/g:4d>^eضѲmH6      $ob2d{kS>?vzᡉۧ䢒'llZue^/0$8Zi;o8z:7w6Zw\o,^V]u7ϫWۯ78     Ck'YyvX"ڜ'~hh/ݶfNbCc$sbhyRW+zx6,[pT'WXn	N      Åm^F3z`Ui`dL{IVN2lյҎK;8qUkd1F<mZ)1w=V]n٣6
!euIp      m^܎PWpcrԨ&N	
q/yߟ!\mZ>
q_:is}      d*%6/9=ą&"_ФYl<'Jhz	*+iS@qAHD-Sx0~#       8nbrV<?SOf$M08yEum~
1[>8!8l덾ζS0v?MIXxBpR       'm^LI34,*Ner?8_''z{'N      @pyih ihⳣ12
Bx$][I      _Tj'@p'L_ï-,tdR      hid`O$wdn4B       ȴUW       * f4\k                          U	XlPh6[54Iݏ׃z       @*P&2<7     VQj'TU7-\hj.f^	$
>NzH7QIDǭ  8:3nfKu{j]   1]H2QVgr'  `ƌ+r!sJ,4X  `s@0{Uꃪu]:Auj[aն&_ (`U9M'gp,G'IǨﯹdu~xY'N:YHֽ^L<߅;4Hz  s&
A#U_wn׶S`EݿA]2-M
  q<Dj{' @p&qǃ'ᡉjۿe6<iDFs<},6SmTQhJ	 M<:묽Lw5   	4y@ߚkЪV]qGRtpug႓.8I($
h_9
N?U#Cgg:{X]Ӕ
 О7z䗺]~Fc   #M5Z=-ि 			IΟb+,<Q`nkD-~]V_ګMi  &Ց&.4i)pm[  X;0>&TPM0# d6Idj(aJ'J+Lc| 4qBÓuĉ)Zc.ni 矿Vu"x۞+A{FF   NLԭn[&  8mNPEpBpBpR_hmQ"Q}#	NZ (Ru"u)F   ntaGIn[wUW^-ҾzSILѪV]]]]4bMPHtS]=ws' @p2Å_1	ian  x̅4m)(Ah>Ǜϥ(O2g}sĉnp p<|g9眳a6   M5r) jEW.
S)/ej}3'd d$
N[US},m+.P-u1J/f7]Em(̮KpҺ :jm-[F   ^sA:N $ d0?8!8!8Q -v+-m=cO!BP{<&?*gzNZ F<Up  :v0mI@.ZuѪV]KT_4<prɞz
|gRo=4	R=>o۫lղ	 <Zu$tN  LruۚcRN&s'&/h}jǸhpwGCoolp )L,#   .Mn[} hE.Zus#CwnoDkúF┾{"xڂ'}Vo qr%rC
N&  X_o*GL|PZd N?]Zą&ONt<rhJ@ڡ"'Zozpiنv^{dp '*XZ&UϨRml  E5Mƨq@.ZuѪKW'Vl&'1Ფ!֩7R<>E^~ze  <FN54hƌ+xmr	   z80?C[kWgrI3N:
oM
ONuNI!8&<
syqXqN d$ӧO`hr{>{+  V@v=i
v# UWN4OÇlxrN<naٝ&KdӧSk OT@窎4U}y睷	  OwH/6WUmmd	 ǕFF$M\dn=P{m."'*-=$>  <ǅ #I:9MsNs4'<  XS=ZĵZ?<hE.ZuyIN\=8)|:B&P09NR]/☏ywcNݽ㾼oN d[
?!HD=εlXRox  0AխSr y̓ҧLUQ 8!8!8qU)HpQdF';vEmUώxhBpre
M'G{k9߽מDp Ȓ g}8<f&Ʊ!I	  @	 Zue4xU%8ߪ+f-E;dBRN2 8;6uҺgy~[~uD @  @x '~U&8!8sBdЖhhBxrOsNL;xNjwk`BwDna_S,̵*  	   <hE.	NWwNUWdPMg
6NY @x  Oj3 ''$8?D&#t$8߂wU#@վ	Mb}7'{mc{⑐u׶O51 OTsL   ]& >H(y
NrދvU]P+<Q1&SG*(z\   
&e  AկTM  80Bpȟ#F0<E zF*p,s7rJ  &+@9}qfd    ФUC        Is$uA
#<9W&                          5-ӪojAt`FuI1#ڧETbsF`"yMb+r9˱:35ak٪<v     gc%/( 8dYV!#xVjٰݟR䳯&	M\U" GՄc(2      ^P~E
N?ǻ4B5wvv?*dm&Mz§m<\$ɽ=]Pkgw.fyj+p:hd{*~hӒ,0LzD      ]H#Ҧ`dGۺ L2SM,>-W4ڈB5wr1Z_ct
O}''& 8I	      jG߿:HsGV@<yZ=5UW*
ܨ"{G'{cp}qɇ[=۴}A1_+I$,4ioo_MEEnmw!^XkʵU۪9$iS;V#&q'ANQ;R	N      h_u뜟JL#5a[<yXv'v-m%*+"8Cﱃ[#[vl u؃^zI4bÆ;:ON::O2M\НzE5Բ	ɇ{6X\8cn		      NLE!#!^ײ
N\qvo4N08.wndvȪ'8QFt/V㳎~3[M5[{CF~BkR'<pc\`<[58B5⽪-HwmA IZum_yT#\7kpRV]      :NdBcU-Â=d5TGVG.dXSUcɕ
6q0*Ap3$8R6YcI2տ\+h=ZcpBiMd5U)Bpb[.=e[78!8mtY_%      .XM=6#h`dڴiېD˺	N>x^hJpM#nBkq6[RNT'!WUwj
` ;ĽvejlRS`vQ* ،IDaL_T	F5V'V]      p.?vBH'
DuA
n5an߯uNr#CH+8'c[GG&OLP}DNW
RHvfp|3C^w@p'𤺍	2rqǍyNw&      ͔N;o7VYvw_Dɓ7u.֯eG9B{'	;{8"GYa1;L{^hفv΋1<UQ[mb6;T.Wu[h#Dq&OQK:~oj)gpB.}>Ұ::F`7*_ R!YŴP      Q
BV8n[6=b'w*8Ѻ[ ;dҤI\ҦeNT?l
2
NFN
	GPQ-U7pVlt=v>Gz|'.k#8ժkEǽpcDFM%
N_Rc{×:85狝+wvp:!m	N      A6i PdYJX?W-dY)\"$89Yu`;%6r<c0a*]WηۤUWHթd<'O:$	\ٰ87&tذV0V]u     `c\y8dFOPPUDA`>÷TwW/nڑ8s,q<ԭtAݹxNFOep͞3NN`GTS-89N|J''      #}amtީIx#XUwФZۤH:ws?U:Pj;_LhV]PmZK.wSZ-E'W-ve\RV]\K,U$:>(b^TU      $ihln'M׷8o^mdσ5	Nf4Dkkm<KpG'Y/9ZGhr8Y      IL[?|CB[kvbb/kXXD?$ K	uprj=#Je=z?鳽bU>Ĩ߭ڇdc ai`ձ+MNhՕ      DL2^FǻTvz
XjUQ[Τ8d]yeDş(~G2OaqWgM|v      ?vy#doQuҪ+ǨNzTrp>J3!-^rǑU'Hjw7 
ws.2lՁZ6}T[uMVeoQhɿQK.H?sVa3ltTo؉#f"o-<7g[E)A_g^V]      '0x9ƅD?@Q(89$P;H#=F0v^Z._%;y`C6^{sr<lzd!(qpBp$
51      9Ց&s6uTdkMUgx!I/$<M;
^gZrh+|`:}Ha>k?ww}ԍRiç^^"~~;ÅjS_4iһL'?مf	mNte=znjolYV]      8|(UGH@j;UHq#)N57&y) ap;?~
M*mcΡrjHa̎kJ0CfQFFoݟqणcu-Q?޾[ʢ''      Zi/jeЪc!QPQBgh\3yJ2ң߉$<>P}IMrU{QĐ~U>땮
]D#M	vo${/      w$XOuTTk6imȍE@=zF۶.LǌdpdGnnI	M]]]T%n.xߏqr
XuiG'T]_}Q(E
NN      h5EW4?0)~|%d4*a!띤j3)Gp)'g@cxIHqn瓦!$vϿ߆$p̛3{]6	      N*ICƫzCɀ?θ:'Kqn㲦)υOe[k`;58!8      8UWtrj3]Cj{i(qGJqX$ZzIcRR{tIul-uբk[}_      	ɑ!!ȁ6I!;:/8G
ʍy1.Y]G3BpBpR9NjvFu}&?iV      B#I/lq~&27e_5}" 㢰yݾ-+tpg      Ğb~قD#=2`CjhST6U{tB۰enGpqidn^09      @fIU@Gzw'      Bk/t(>҃NAB
                         ds0؇yz{{ߧfnZۛUӴlGS ѿ)~+_      &.&c@d3vލF(֦4 ~OGj?Jߗ8      z|?9%xE&(LW
TW{48~
       8)_ZBp4      'ViĤ$DĔpy&9&i{K&4/OsZmM+vp\I,zp4 +8)_ZU      NN$si_2eʇ<XݞoYohREW$Ih/Q}N+      Jx,$:;ŋӳNz{{矮znDޱtI'(fN&O^f/'Jk      @pH4+DgX<SFĆ$6,Ic}ĉ?`RCpBp@pR*      
\\~JPuB\vjqUWVYpP΋-ۼm'IÓ$IIy!|I{{jzyv7oͅ3xhU$d     D[ǮV E4OGGZZgeBb{nhi:w^d?4Q@So6p\-Ȋ$|	I        ᪐~Q2FʭzekeBpb/7Ƚ&~p<<IhZz1 s,}a>f]]]պgk;'uONepbC֐aJߗ,      D!An?<&Y__T48ID&eNbN|[
|fQ8y!$]^$8      @Mb!{Oڑ(qεfjե㲗{|ꕜF*Mɱ:/z&N'QIYgMGk$q^2F˞Zo7}>apraHXsuMMߋ}cB%೤      Nźal[aF'?Nh=~CV	Nx{\I$"4)Mps@ c#6<Whݴl-ۉڍѡ$rͥeڇ媫m̂4[pߣsۈyc1        MYJk+oO^\g.i'gC.PV]ڿovYIdx"8<yA
0cIhYŖ!$0Ip΋ؿ,?if$d     M{g!vbߤBu{dR=6]l1ipb38#M;59PݖO
,{Kٶ6t{nvCI-8Izܤg|;FpR      4 {|
{}RV]ڷ\.(}z˽fC$u;f٪Kg+BpiyRt^Ǻ3OT>i}5W"'q#V]xr&d     ĶxAN'E	Nsa#nq_z/Tgp{9Zf^><q^trؼ
?ǺeN$$M     ЪK.-K#jqb6s]qi Z?TʫUOvnId0k9@;hG;۹_0;{N"m!8f<930}      ~IxۣSNd֪͊8ǉՠ>Zzkjghi[pⳣl?8IQD1Z&M.{Bs{\xOVHkhٯq	*^hoFxBp>{B      $hqrqH 1sh2)'z7]`nׂ{zz6DQ-bK___:<Y#8I'"<+8&TeӡtmSco)p>/бy>}0e4dQQ:8q\     @pTGvtwy >IoIagb/OnNQۏ̏\Tm$$FxypR+<Mg1hÅ/hq6@$vx#8sp27}%
N${      '"q箍mkDڲ<-oMvrBCdIIxx&ٳ#l0:B=i'ٷ*
9v5GpR'       89
h%.ĸ)Ҭk%"8I$ONÓffxMr0m6		      
p3I@.ϻU_f .8?TTBDIlp&58QrpTmԪ+*op      <dn@pr dXhR	ZmnRg`8"4iQ[It.?`TNN      @'&Nm川txL﬈$IxrQΡ@؄N'~PaҴ       8	GpR|
;V-BjMM?B+w>$߲?}Z      ${r>N'G2i3#G"
9>mΫ=7ҤIe      xr.}Xqr\cCF3OnP=xTޜ&ENKK      0j< <       .H14aE                         oq3'Fy&9N2='Lwwz>n/      NTIӪI GM~      Nr>D'yɠ3^oSޮ&UU5Ujir:Ց&FwnӲM~47      NC{{jI\x<yokmA%		  /u!CzL  @pR%qZ7e
N4buꧪGTKm~L7Qh0.d&z{{724Qkׅ'ɢiӦm^`ۼZUq>*8ߧG~MsMB  a4   9'C#2Bp<
)L8.V/
xFtiׄLB44<fh*	fd^HprPI   0ާjL1SL  dAE	NupA`m3(U.,xLtݮ?eʔu{zzvS@pwU_7_2hgBT7cW{蚗 8UWG|,&  @+Ny0  O&'''z6Vږjguz#=)$x[֚	{iw"MI1NNFp]  @gg
G^q
}c   <ȪLт&>O߃U#\4,=Z̎0mUZvzt@8ehեy!1
Wp>u{h΍:s	Mt^eW0ɭsLUTV]~ݿKqG'7x#NΘ1cu  M&Q'G  OcC}`hpda9\h[vψye	NDuiwpWyZjms#&
KNQ/[j+7Tg&ϵ$"4UuG$'GJ(9Js   mnBBl   <Q&!
粈/|pw+((P5x.K. s#6Q$DWQݨ_QIk?Elk۾=TN϶J!8Y~nѪ'	NhՕGa\2TuܕA  d}"oC@9X=?'oN8q=Sz   '(,/[pt0#	la9,.89+Qh*ah7Nե}{6PA?&čy:.fh.o#M~@vmRـdD?ߏUp7d뮻n7'ҫ   P}-jEev]    hlua֪Ka.۽	KЪhuܟH4:yߙ̭1_y1W"B6X-pdD'9ܜGGd#bG3'
E,衡6%y˾j   hgq7PLo?   8m-W]m۾.8}	GnmrTREOR][r)?b&BvTz@hrjG5F	'':xEQSߏx?<8%p
	F  M^N0&T|_p]W˷2M    *R.-21UEaKTZKjOo^1R
?NVɋzYGę4iһBB~U!I䛁](KoI	Q(ph`8v\2άY
.jL  OGGiJ   '.4rU!8	L\_ț''DT:BL? hDϛ"w~OBNvaIAR(~xR.oD=![g   8Y
VHp2fw  ̂ANth'YؿA2YhPatu+&hV]'v6S@0&Em8&12YD'IBxYVOk*>fDƨhzڗo#a̅.koK'
n^Q+~`P䴐uFD  إ6\Z-מ&5   '~kQ_VNtϮx+aTg:TǺ =qQZ>;D\`Е4<Cm.Μ^m'?r6"vs\$	NQ&'~D2)
k׵yPv55   FLO0b	  $TB^8#8VUe%h#1y=!J:wakqq 1;O6msf][u|GwuOMG4U"r=&IrN?
ڦ߆ qJ=   »8ApD=QW7  H>9_/4wwك$ӊ/ApDZ
q1tɓ'o`"DMb_vBmD5;8qUzz>i6t&~N?
F#KVS ͘1cu  Pzf
  $7:y"&R!bp7y.M@+I.<!Xۥ}=p<ްEL5kn_UDL޵\˯D'ivr#xݏf
Nj^'<	  N~Y&   &>'8q?g^F̴#{ɃM!sǝD?疹e6 4(|uG'
=~48Q]a   	f:Dݟl
S  @K^IV]Ó_X~Ѫ˵
Sc'?\)dG\}czA>W(F<1s̵M    89Mak9߽מd
	  ! II''~5!FpҦP-{x
<ƚ[NNz nu^e   Nn_muF   .t
4	[um}*@BM>a@B?ku~\@f  &aH[ި*[b    84ЦC*vn:o_nGNfވwDOu]ӬYFS67   
;&{3"?4@mt   ??|NA'
;Fkz^st  '{c=G   L2E'u!8)ۼN      rhfNǤ''yVa      'MtpbGxQqG$72)N8~f?J                                           pj0n	L>>;ɥ瘦 ]B      0I[&WAFeF      @pBh2R !y7ZVf~32(z䏿9O>?0`?:֤      '&^UNNNF>0h?J      C?$|}U/uwtt94ONҨK\D'e	9c'%:n?.'o     'B'IqQCxBpBp'h''      'iė<8}tfS>F-7Z Ѫ+|N+~pJ^Y}NƩ)W 8:U
28      I¶fglweKB&^QिY	NTu      $6}Cdt!1x6Ix'MҪV]"8QX      '	F\VZi}ƤNo4-WI__:Mi     K\J.MЪ+hE.ZueсGD$8      8 dFIgg
G^
9qo7ڦ\NNNNNN      N^rY'
M
.y^s><I=|3ϫ^s]\[T6ȺEX9܅J+87o.Zu+V]2      8!8%.|M)08?$ Q+6<& 8X|		{ 8     @pe5O2ɓ7p/twY}oE9jm}Zu˳z[+Zud_G燏     $A+mȋ60	HXCܴrp>				I      N\;{{m)|Ǚrx9ZuѪ+YV]buϨ^
	Nb      8Z`'#~wzmv3	i4{-w-fcZתvf&O''NN9v< w6	      7'mGD.Y}xE!le+]XÌQ&:sZu;8%_?SNn^у-ԭsRKN      N
)qMd6&OPdz9/&8I:$jrON$X'LiG*Vkz|I$      dM]dڲZviN#٪KA^q/+I}d'am6IH	ZuѪ$Ҫgt&'DjwuU     $z;o=H\obI6dRGpBpBp$8a5l͛X      NQ&H:;;PjM|=>Vi>1[T=,+WbvѪV]NhYlHX      NLUh$Gyŉu9{	1*Y]pBpBpBp$8arB'      'YIn<b+D(x;1C<^>E|s 8UW$      NG28<yvG D&0Jݾ4No4뗻׷'<Ķ]8_H14		      NGL>CgF&ſ@VY'oՕ}Z)I,R1Ϗd	      Q-jD|`WiNk
:YhMN#8!8?s>7      GdI@(3b@k2AUZ       d)0$#@pRM:L|         $         Zd                        Ntwwf2wma9&E%=aMW
6XV0gKwnƶͮ  fg?sw6)   >NNz߅feRT` o  L  @C.&>޾E WjDdPտ~RJ~>6៟Rl'Na	  CCCm]@Hpoq5   `^aM6 .N|'
!8)׈Ji^Pֶ&&TK'' n#ОkPO   -!@pSYTكF_	Zuy_Q; v{nv-Q&'U4B8N^%<' @T	<  ٹW-J>J 8&^
D!\gIzAم&d79k%gIx P+1eH`ɞ=5xm64
  @Q&BϨmɰlB ]UW>uY֟?쭺S`M۹qVVɔ)Sֵn5<RpY/z^׍V$nagCwU	 @!><Y   8%\n L$N]x?w-EկeK8xA9Fh2LIs
/<M@hޗup@s-[b~  8*e <i  0y
!Wo»M ..ƽ JЪh./(L
i_;^xRwh%
ß~./<;4	~vb}U%5Қ	 [OSՀD'lC  _IjW3NWW{]nwApBpBpBplťP9Q!
K"DRuL#N1^m"([po1 `qQ%4jƙ5kfZM   @p	wMP4H~MغVNb~JZXЂk\E#D&'x{I3'ѡ=@N  
Cnto	'H   {	N:75]hf	
Ot1?4QZQ6JI$DϵJe7'X;ۯF&aiɟў:?ǁ %[@$P:j׵  @ A&Z2ebUWIUWBLOH qnwsR6 ÖY$
M|IKoHI'O5jVm2WTTZ>8 FF,1c!-6  :@	^8LX|@e.*E9Mn|7[N7Bs6{-y2f}#D&'Պ}RNcDXŽlf' 6"Ҳ}&:볺ɴ  mWv&QSު@fw%QeYl-ϟUp*Ʃto9vQ቎=8$
M|I'
OvXdu3_2zjjN  7p6Sj׵[DhaΦu   {a$np+D&^}M(epBpBpBpF#8QkM]@9DuD$8qƙ6mz<Y΍
&m.t/݌
N 6]
N4ܨīMk   k(x5КbV_o?4kOV]NhEE7BތvH-ƟքEhեsvfF[ZvQV]?4q&M.x<z	 o@rVi;y_   ]9=x34߄hg/~	dKONQ&}}}fO"C7z	 @!/kxzBsqR   8%؊BȻM]C iPKr/I 8ɠUWIV]^`{S
/i/ݪjoKu[-taI$yaLڻQ&MIthhӁ^k N
 jΒ
M]7𺉄&A  L<y.2Z'M .NNNNa럁Oe8	'/uh:Fux$$bIS'+_Qgxf=K  @ rSr#T;44Fh &
f?%e[uѪV]C4	\ӳOa1^_81̂Iق;WQ8}x Mt}8"4  .
6	:E	EgE^0wLٗ?Xc_~Mb''e7ʤI @px̙:͚5k\f	  @AAzYV_֟?V]+(ϤIeMW5:$#EBZuN&ÓAh5k9  d   B'M .4R
%LتՐp;$S
[2.MW˴-$I5a5?d   493g   \.8nhwݪ+UV]UWLvTG`nNԐe_qP7yrVDhHxr2'%  8f$M   t`ɓ':.8"4hĶR(rj7WRݾZP ѧ6GUGCmcCk.91뛘>٪^hRwxZB6  D|k=sϽ'$Ih  :J	n^H:餓p-#LbNN䭺T̕`G}z\cߤ/﷉' zB+_s5*&  FO&N8EMr '>FM;4.4\_V=h'rw-r#Eڲ{=샓q  NIfΜy&.  NMj .(ly xL  o|_NT   CZGkBZu<>-E">%1B& fM  !0q  OCBhN .  '  l?4QrZwmo   &mS&'H  4  ɩ.(yF'Uz,F                       @LB?4Ⱦƾ6gb2eʇ 9mG-8~^rnur:\~r;Ḕ      8g5ap2O?%mbJp\      ȃIǽVå}/ipbFX3'nt麽01NJe=[===;kH @}q΋εu.h't;[hyE,qѲ߶L     {YAqx.+_pBpwGx}ǟv[=^wbUzϳ;::Vuj
N\4b-m+QDA˽      ('6|C
<RT.jfYjǙGz=h-
"D/:Odz˽xu"yT pڴi3|~AOTܺ۠|	I      8)Cx>^WG#v-=M't4Wtr|'.wWpK~߁h?8QtEi$yRoRVuw"8q{&Mm:GI#mPp     @p0<YG
UWۙ᭦&;bP1_5Ƕ5d}cg<ۮcU[>IӪ+:(02@g-hݷU6sI ,6*y}zF}SҴr#MkҚ6@rIxLW
fTW=8IT      N'{']&!lbī (`p&tnPWu>. g<	IĄ\^+8sl5)Kc!;bʅ>4ps~ڙmY|}̅&
#}`$)      I&Oi6I!aUuU{띦Z#1΅%GBۼI7-Oz{{?3USzzzv+4#%wn_S+8Q]h<3'O4E`R 0mD=W͵x{kBQ>(ǩDI     0$nxO헩շ@tڪ/,&	W($YoeWM<yג{qTeb!8_*Q?!ju}2l,N'wkȂJĈ'TJ	M/+cx\e
N}X>~Q&8!8i      dtnP(U!?p?ORHC]q=[.XY^C|K6DxyǮeZu5o5~
UaF9tqFmX'
y5?}}d>!{e
NoFspr"8)?      2dVl:[֫pޅGEQ
NR;=Cuh;YmlM>8%qr{O	a9:Zmզ`fiY6Ʃ~mq?),<TYN*و`!''     I+\"$89Yu`;EU^;*AGy_%kcm[iU5J/~׶Z/sǘ7m=Ft?8K틺wuÄ'EITokmpصJe12èob4'/O.߰T/i
M      dpPUDm
+:4)Kpb/*nҲܣھR0Cm0MJGϼصx[mȈ+sxɞQ#lX	&!w<& 8YTckv;gRA(;-{Z^      8qUI98TTk+4[ie8PeqzmTGiG9
i3.K~$m78V]vVǵ|'gz8!7qK	YێjV]sUp#jվ4[pb@Y     @p2w$[5J#8q#M
M9<T;6n;v8D@ق{qJ7$tNHz~iuiI	KT[(P7In=      y/}d&&SUmʽU׿9D`T޾^:}
Y|C#Ē>9&?Λf ,UorwBs4Y.jF|QUgի㿪ڶY,64Q=lT      NqQh'B|?v֡5pvy&eN|-Νq&!\]Yέַa#qxZ>S9`$89Uei=komDse{{{75Bp      1)5ո2&֯{	F\_~h
l{Y9Ф3/YD2mҟPOs Kr&V]Fڪ!ѾJ7<y.jes5h_P8>nՅ2
       u"9<0D44){pu$
N<y$+{ @ThRĎ.#e&QL{eQu|և42ǎjh	a<ߨ&j@"JuWmUF      ɦ3Kl5#H*elϕs`~Y\!9~.4%?<ϓ2'v>ot	oM[L۞:$P:;;7*0''_EMr``ȾTOToVήuY+      NF:BmT{<ߩ=m*%M5Cuv6_+~ۮG܍4׷p 8<)wpmLF>XO>;[U_Py D}VuT\I~<flw{gy[-$29.       8U1	G
*',7"ڏ-F[JФLZ'ſ'*)qkjI5?ToDn"Kl{.e4lpJG<t<{5oesj]u30K74     D:E*TUj0vjۗt?H$*4i['|F&t+ӎ /hY_p4
I'0
N:iO;:Fm۞77Kpen?>XpJ'.r!_u;      hՕWBFI}תū$ۯ>K!89*꼲';7~0x֢Ó%N:	{έ5oB]UݺٺrhTѦn55      dz
Y!T!rX땟Fx2`8IZmTDHoDprI IF{{jv*?#K[>jec.hg3y6      NBPmbkHpRQt#I?4IUW֏SUX)p\ˉ %~}ߪ+:9}$sTohlhu٤IޕqqsnXcRT     hjkSMJ.X]~.Hą&'B	MT7|^cC^Nr
O<ZԖ&~G>2yTO+uKߩ's4S[U      :*(]h^|~Q2.q=Wdx\vIyG.8AZu%O2r;)%>uG
ͦh      /Л_+$ok#w
j 24Aѡv΋gb=w(7IM18YDp7?<qYd"om7[nvjC3       +	S],(Mp8      )SN 4H                         UYp<ʊDsBZ3%K1|oM<꒬|yj       G		N}e.<	Mt<	      ,~"( 8iJ6|X3&I&z߻OBCEӦM<df	2,      @R].4'_k\
      ZӳߥP78"K'Z
e^7鯗p<ޟGpMeB'۪ηmoWZ      i$VT!8QKbꧪUkoVz
HV'N968aڥZ"BR'k%o	      .RS1e<X׺\ wegx.8 8l00q:s	MTP}L.lDɭ޶
^     @p[!8yDuvvnK܈]t)Ǧ`j#ڪ`:;{UVCM gpxYW5MMէT5kpJ'      ,2 _%㑼#'97
ONWmݬ󴏋U
udЪ# 0^ܧP?-d?E)c-jx6e.7ߞˆ=kB_Zu     Zp
PШ5|PRlHBg3y'64	ܗfB3T'ݪTbGU>翥q`lUSնj
60.QӼd&
NC7!8I      N\U) OɫU ^tBj]P^Vy'+~p2Ao7:0*k=I@pZuUmҪԹFQ.	zcy8H	      @p-{Sn_rřI'3kg#FN&9E*
T֑n)u
Z7PZoKU7efNl|kEp5      bpn}j4J&߫׭Tݨ?180mմJV]F]аjBeZ~pUk5-;p$
M1!fkեy74B.      jct_R]ۚXN\UZ-8:3===;q򢖭R;\u$pjSYsv7'֫=>HVpz      ]{t3wE2**9Oj>̲J]DAќΓy'ajbV]!.u{u#qDxӛJoϜWp?N     &'ۖEjj/)Sli"coHcUté]6񃓐ehus#X'OCx? jD?תo5N      `lk%%(<Y\
 ?jV]~UߪAApxU!8!8nIx:ݲ4w`bo51٭{}X#O$A^h2Zu     `_⪦
Q%8I}G%Mk.\ʷ[֫ZM9U_z?jF|ƭwThrM1}3\h2s4Vnz      `'V`cGbrxUIx9Z\،$rVѦZKj
CooZ
dd[SzV98l     ow K,v&)**^hjoDق]('BC      hrܵl14Dxܙ 8}G{pJ~SV]ENl+-Kֻ\spx.`j(R1'V]	Ѫ+       8Qhr.`xnAǃ$yxBpBpw?>od'[lfY/72IV]ފ8_|'e     @Id?8į"
IW->=F\8?hoo_k}QLQXgLFh      	$O'''on?P܍7^h l?.l8}{n֩&ppBp      &wC*;Gr/a?	UV]H9q
HzN>eZ|KXFO<yo5ZuѪ      I['M|
Ks)09Uu:G0ؾ΅*w8'      O
2:f_
\Tc	H)I@kMi_ wuoa[a.>9ɂ<qr       8INmlcw]I1wB;Yi3NNN^S!iٿV]vxHGGxK`NN      ѮW'@04	ɥ.(R
[wC
ZF)HkAxT5$/*dP[Z       b"8(E'(N^qv=]G%8       idn)K        4@                           UlHZc1E        lG      0tlx}).^cF80!IpXձ~^uj=      Gpj0~ڌ      ?SSN=W5c_TTS(֙]9~5eImbޣZzGTk{[Ozzz6o>󝪧pͪcZ48     @bCNNbIlO*8_694V|uչ$>Պzǔ)S$8      juViՕvpo?\'oa\^ayz
(dH'\ oȓӸ6}Ip     8 WJFBp2CpBpRؿ\'qF],,ֽ4Hi9R]ݽ[__:]kus'      '޴ʡe{)`.#q$y5Tvl>/G+ 8A	NfR]&ّ4<:Ǚ&M.7	      IhRO''$X]K0Ap\r=d#. M5g1g\h     $0K=I/i3UW
_N4aqqZo0ApswDZSubx.wq<^|{{{"8     @߫^;{iD}!%	>zojnL]rB =wM pRxUs{      km.پ.*S%K[u]r\އ\]um[uV깯qBo-
:|;}"8      8i$@yFڎ"8'n2r;jr3mz-D_4
Sf䬯:OAC"8      8in/NЪ+/f<zZVUR^>'n{I(7Dמ(XkMQ8aûa.[Ъ      iܿn''!8qɐJQ	Ϻu'5GDB&.Q
zu^Hh2AuU$5===sv\5$      h=.J~V]1Ъ&m&^U&(3tY(k.XiK6m0H)4?nS&2L{i!LUQ0      77&1' 8C*y':B=UѭsN@{:M"6q#NU}Tcr	:	N      cn_o+yp|>n9ߋ~Y? 0lco[Y'zOv{VmUc>;CF<4	T$om:ӽ-ڪ      
&S''?8qUB~W{guQ=zw=[u'81cÐ,C8Xkoo_MqXIp2      v徾uLbU#^JԪkD64,߾9H3JR	NqӘ5B낐e~wʖS=˖a'      '^MsRItxd&m'a&i̱.#UxˎwK#ٰ?|s/yE      f5Nv-UW^kyt`<<I+8|DuQ{^$oV]õSаiO\36u,=P[[6X`O shq8V]      '66llJĿhl^N'Ƀ	k.wRp<o@Ӹ_d-djZIXhxKUZr\E      .MTѪ+M\RV]ENtȳ5j[lSzl@hrƉO&N`$RTsBn     9k48!8CN{!8i׭t;a[<8YzZ-
MS˪&S]=&^Rox2`bP>ƯTtUKn&	      JߪCޗEflՕ}~1Ø2eʖSjS܅"VDΏ|      dnDvG1I=/7y?1XwAIVyy&''        HdQF(<Yb&2	O8?        @GP~e2En8'       i !7<	       h OT[                          YMf_I깜ds       H@g&7iҤw2M      iEtZzFjj#8)!SN~ޤ+yFL<};::=CBR>ջM]]]^msZ;]趢	      _D'NV
V&8!8qpU2'9?I:;;7RaB샦Az8<u7>S      2_v'BܳoK]XrjH't<?ݿUfn=~y:ڞ~j!Wo$OT*ٰDMpﻤD")Sj=>ARr7=)?      $MTlxspHxնTDm/:q.R}:H['9l$vhZ4mڴͽv[]Bh^r<1:#ZwauKOO6      (b;@ y(d4ÓAh.4yUH'
MnBT/9YZu%8d=Zueቂ;zIre6P1m;Q*k}v]k      'Zxw[~xRXXO'0ɦ1&02]			Iu_O4Itv\{)      ЪK[R ndUXxrQ#NpՅ<8r7+yޭeULi_xnV].\euȶR-ϴUIs$ƬK]豏Ic~ݦ)
      h#{?E'bܥ+ą#FnB>s,αy.|]Iup`nj#1uМ#;F{bu"xPu^L      V]G hnʡd9o
 <\G+'Z~;/rU
*vۆ*luf@0n[o=x2'?:);_"l%      =D\]DA:oL4]'O@WDm7@+'۫"<sm%ߴBp|
S/fN3{}'<hu4L3vn}m)B:      VАG.Mλzm.ǆ)-zhrj#Jȿ2)Gp.Rp~ 8q!
 8٭;_nV]vRsՒaη,[jÌ[uiS\(qI0;-:?)|e:      e	NoG.bK>Zݢ4R=:҄ 4L!И'cns>?=0s:Ol?Dl}jzCzFIk
Nu      0ʤV٪K!Muݢ
}Rlv~(F_}F:x#li
󇲷y&ms7l#IBp#Nv0	P     `RcT/588qzZ[#P\pAB&~p>),]pwl 8}Bp_q#N^0Nكo;xm0fpC^=~04QnSLl<,uSr      pmRl"SvN7f7#Qemb8u#N~asu7ߛ$I.2}W=\^'ךq{%wMJ      }R$xOV>l0ap2Sh'6k6ozPS'w{Pݮ 8q@5ZʽatYXwiD
LD٪՞KVfWc}ߪU>Ρ%n?Z      OvNFx2`=&z1Zw-7]:fq!-{]j'Fp~4gp~Sm&@n_>yҪKgY(4 +j dM iHi      
N	OHeҟE%h[.@T[rohnIGs'؝ý?soVĆ!-V|$49э$忝q3ngN[~-w![     ;:I*Vp'*Sґ<89/Z\f$'W|8V]%N~.|u
-jk9N	_k<U;οCtݽ* y޽fӞ+,Ȕ      NCDpb'uّ!le+]XkUH''Zj;'wtMFZ-8?GǕ6Q}w'zjhFU=jC@P^#'SݪYhϪnrbH	      h]EMj(
le{S@`&[?8[Hn^TiA[hlՕγ;]@u^qDMɈDꍨcϰ\=66,i      ''Ntq+ջ3iҤwUGx*8y5&lpBp3WdqnWWG{'OdL5ANx^%/.̮c,<      V;wNl:hŵβ-dVۦHG).NpRV]YVɽ^8WOh=M4ax      ۓi'| %rǶٱ_n庿<=$8R~7?m.;$Ls?		      hE.}4'vs ̱#K[zW}<`Eu|DPKq{[@o&	N&Nh>ȣ.,O2MO      @pBp2Vi'}}}h[W@+	pHr=u
^w!̪\%MZ>]''Y'g[{օ#P{kCװФ}ֿt       \OVV]sA̴i6Z{T:U݅#$Z3@+~Шsl[-_4̈WI	G]      *4&7''===;Wt#;
D,~7L~\:Zgjq50OlafOH?l l       VjIM* Q&o        I>                       RS     IENDB`      +   GIF89a       !    ,       D ; U   GIF89a      !NETSCAPE2.0   !	2  ,       D !2  ,       L ;       U   GIF89a   n!NETSCAPE2.0   !	2  ,       D !2  ,       L ;       0   GIF89a     !   ,       [  ;    S  GIF89a     \\\???   fff&&&                                             !NETSCAPE2.0   !XMP DataXMP<?xpacket begin="﻿" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:01801174072068118083C0EDDE0D01CC" xmpMM:DocumentID="xmp.did:F43E69FAA51A11E2A76AC2C9B94580DF" xmpMM:InstanceID="xmp.iid:F43E69F9A51A11E2A76AC2C9B94580DF" xmp:CreatorTool="Adobe Photoshop CS6 (Macintosh)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:FD7B6AA73E206811822A9FE890860311" stRef:documentID="xmp.did:01801174072068118083C0EDDE0D01CC"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! 

	  !	
  ,         v $dihl뾰FA8 [`zpD4Bf( j( nZ(kH![uqk~"		qk.! !	
  ,         u $dihl뾰 <0H`h 
1 -3
@
9'1N-E48{$}#wy(		u! !	
  ,         u $dihl뾰 AQ( @p
B$0c2A[ng]`j
pAvrUx\>o#		('&! !	
  ,         v $dihl뾰E0,P 
A( #R9A[ng@p9J\n[JL67#

'&%! !	
  ,         u $dihl뾰 $pHP 1 -3
7 
B٧1N"0|#~"xz$

! !	
  ,         u $dihl뾰BB2[)4Bj*  nZZ>B6
Cpkb

pk~)! !	
  ,         t $dihlp, $s*T
U`q,
ANGu

n (mP G

GCn/! !	
  ,         t $dihlp,tmB@@EȮl"98T+:B!,  9]]
az2a8 

 y{}1qsv x6_,! !	
  ,         s $dihlp,tmx|	 1p-ʀ@\a~[qtZm].0
`   {} 

 2rtwy7P(! !	
  ,         s $dihlp,tmx|7Cg@ D#rJ	 @bUtZf[ aZ@ @z|~r1qs vx7O,! !	
  ,         s $dihlp,tmqc
N7
"$9`+mzE (9@0% .@{}1rtwy7p(! !
  ,         s $dihlp7Ȫ <fh"0f	J  [@ pnB \0\-a		LL[},! ;   GIF89a  w ɸڷ֑aaa达ݽ000Ƭppp着ooo왙Ѐ^^^|||>>>kkkuuugggeeecccMMMnnn򧧧qqqHHHYYYKKK<<<Ώrrr999                        !NETSCAPE2.0   ! w ,       w
-7917"wp!^= #w
"wG6$24#3ǌ((Í% & w 
w*+) w ς/@4! ! w ,   
  :w wH,w*b1!1&
_Ce425t2w ! w ,   
  ;w.'	86ow
\Tw
J36F0!N?@A ! w ,     8wwlB!7ws  wr8S1%wKDRmO;2= ! w , 	    Bw:X%!GZ
w	w*+)N?w	W2<0MEQ'0d! ! w ,      8((ww04LqYwv
O;	w4!9P[w
 ! w ,    
  <w3wwhRig)H:@	1wkAw w0w / ! w ,    
  <wA@?I0F>QwJ
w	I5w4 &   ! w ,      9w=u;a>Kw	D5>wPwS8jcL$w7!
1 ! w ,     Cww	9wBME6"w<	V2<` #w	Cwnf5$8:U] ;  e  <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="4cc98fab-5c88-424b-91b9-d840a05735b7_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
<style type="text/css">
	.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#C0C0C0;}
</style>
<g>
	<g>
		<path class="st0" d="M10,0L4,6h12L10,0z M10,20l6-6H4L10,20z M8,10c0,1.1,0.9,2,2,2s2-0.9,2-2s-0.9-2-2-2S8,8.9,8,10z"/>
	</g>
</g>
</svg>
         <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="_x31__1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="20" height="20"
	 viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
<path id="_x31_" d="M10,0L4,6h12L10,0z M12,10c0-1.1-0.9-2-2-2s-2,0.9-2,2s0.9,2,2,2S12,11.1,12,10z"/>
</svg>
       o  <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="e32ad255-882e-4b94-9d87-9f889fd4c58f_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="20" height="20"
	 viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
<style type="text/css">
	.st0{fill-rule:evenodd;clip-rule:evenodd;}
</style>
<g>
	<g>
		<path class="st0" d="M10,0L4,6h12L10,0z M10,20l6-6H4L10,20z M8,10c0,1.1,0.9,2,2,2s2-0.9,2-2s-0.9-2-2-2S8,8.9,8,10z"/>
	</g>
</g>
</svg>
       <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="_x31__1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="20" height="20"
	 viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
<path id="_x31_" d="M10,20l6-6H4L10,20z M8,10c0,1.1,0.9,2,2,2s2-0.9,2-2s-0.9-2-2-2S8,8.9,8,10z"/>
</svg>
    <?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="Layer" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 12 12" style="enable-background:new 0 0 12 12;" xml:space="preserve">
<style type="text/css">
	.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#020202;}
	.st1{opacity:0.5;fill-rule:evenodd;clip-rule:evenodd;fill:#020202;}
</style>
<path id="_x32_" class="st0" d="M9,11v-1h1V9h1v2H9z M10,6h1v2h-1V6z M10,4H9V3h2v2h-1V4z M6,10h2v1H6V10z M6,3h2v1H6V3z M5,4H4v1H3
	V3h2V4z M4,8H3V6h1V8z M4,10h1v1H3V9h1V10z"/>
<polygon id="_x31_" class="st1" points="1,1 1,8 2,8 2,2 8,2 8,1 "/>
</svg>
` <?xml version="1.0" encoding="utf-8"?> <svg xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css">.c_1{fill:currentColor;}.op75_5_1{ opacity:0.75;}.op50_26_1{opacity:0.5;}</style><symbol id="dxRichEdit_SVGIcon_AddParagraphToTableOfContentsNew" viewBox="0 0 32 32"><path class="c_1" d="M16,16H6v-2h10V16z M16,18H6v2h10V18z"/><path class="c_1" d="M26,26v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1h24c0.6,0,1,0.4,1,1v7h-2V2H2v26h22v-2H26z	 M20,6H6v2h14V6z M16,10H6v2h10V10z M16,22H6v2h10V22z"/><path class="c_1" d="M31,10H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V11C32,10.4,31.6,10,31,10z M30,18h-4v4h-2	v-4h-4v-2h4v-4h2v4h4V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M16,16H6v-2h10V16z M16,18H6v2h10V18z"/><path class="c_1" d="M26,26v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1h24c0.6,0,1,0.4,1,1v7h-2V2H2v26h22v-2H26z	 M20,6H6v2h14V6z M16,10H6v2h10V10z M16,22H6v2h10V22z"/><path class="c_1" d="M31,10H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V11C32,10.4,31.6,10,31,10z M30,18h-4v4h-2	v-4h-4v-2h4v-4h2v4h4V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,16H10v2h10V16z M24,20H6v2h18V20z M20,24H10v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,16H10v2h10V16z M24,20H6v2h18V20z M20,24H10v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,16H4v2h10V16z M20,20H4v2h16V20z M14,24H4v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,16H4v2h10V16z M20,20H4v2h16V20z M14,24H4v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,16H16v2h10V16z M26,20H10v2h16V20z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,16H16v2h10V16z M26,20H10v2h16V20z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignCenterNew" viewBox="0 0 32 32"><path id="Align_Center_1_" class="c_1" d="M28,8H4V6h24V8z M24,10H8v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M24,18H8v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignCenterLargeNew" viewBox="0 0 32 32"><path id="Align_Center_1_" class="c_1" d="M28,8H4V6h24V8z M24,10H8v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M24,18H8v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,22h-6v-2h6V22z M26,26h-6v-2h6V26z M10,22H4v-2h6V22z M10,26H4v-2h6V26z M26,14H4v-2h22V14z	 M26,18H4v-2h22V18z"/><g class="op75_5_1"><rect x="12" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,22h-6v-2h6V22z M26,26h-6v-2h6V26z M10,22H4v-2h6V22z M10,26H4v-2h6V26z M26,14H4v-2h22V14z	 M26,18H4v-2h22V18z"/><g class="op75_5_1"><rect x="12" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H12v-2h14V22z M26,26H12v-2h14V26z"/><g class="op75_5_1"><rect x="4" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H12v-2h14V22z M26,26H12v-2h14V26z"/><g class="op75_5_1"><rect x="4" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M18,22H4v-2h14V22z M18,26H4v-2h14V26z"/><g class="op75_5_1"><rect x="20" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M18,22H4v-2h14V22z M18,26H4v-2h14V26z"/><g class="op75_5_1"><rect x="20" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14h-6v-2h6V14z M26,18h-6v-2h6V18z M10,14H4v-2h6V14z M10,18H4v-2h6V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14h-6v-2h6V14z M26,18h-6v-2h6V18z M10,14H4v-2h6V14z M10,18H4v-2h6V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H12v-2h14V14z M26,18H12v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H12v-2h14V14z M26,18H12v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M10,6H4V4h6V6z M10,10H4V8h6V10z M26,6h-6V4h6V6z M26,10h-6V8h6V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M10,6H4V4h6V6z M10,10H4V8h6V10z M26,6h-6V4h6V6z M26,10h-6V8h6V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H12V4h14V6z M26,10H12V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H12V4h14V6z M26,10H12V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignJustifyNew" viewBox="0 0 32 32"><path id="Align_Justify_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H4v2h24V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H4v2h24	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignJustifyLargeNew" viewBox="0 0 32 32"><path id="Align_Justify_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H4v2h24V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H4v2h24	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignLeftNew" viewBox="0 0 32 32"><path id="Align_Left_2_" class="c_1" d="M28,8H4V6h24V8z M20,10H4v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M20,18H4v2h16V18	z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignLeftLargeNew" viewBox="0 0 32 32"><path id="Align_Left_2_" class="c_1" d="M28,8H4V6h24V8z M20,10H4v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M20,18H4v2h16V18	z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,10H10v2h10V10z M24,14H6v2h18V14z M20,18H10v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,10H10v2h10V10z M24,14H6v2h18V14z M20,18H10v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,10H4v2h10V10z M20,14H4v2h16V14z M14,18H4v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,10H4v2h10V10z M20,14H4v2h16V14z M14,18H4v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,10H16v2h10V10z M26,14H10v2h16V14z M26,18H16v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,10H16v2h10V10z M26,14H10v2h16V14z M26,18H16v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignRightNew" viewBox="0 0 32 32"><path id="Align_Right_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H12v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H12v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignRightLargeNew" viewBox="0 0 32 32"><path id="Align_Right_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H12v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H12v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,4H10v2h10V4z M24,8H6v2h18V8z M20,12H10v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,4H10v2h10V4z M24,8H6v2h18V8z M20,12H10v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,4H4v2h10V4z M20,8H4v2h16V8z M14,12H4v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,4H4v2h10V4z M20,8H4v2h16V8z M14,12H4v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,4H16v2h10V4z M26,8H10v2h16V8z M26,12H16v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,4H16v2h10V4z M26,8H10v2h16V8z M26,12H16v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_BackgroundNew" viewBox="0 0 32 32"><path class="c_1" d="M19,0H7C6.4,0,6,0.4,6,1v5.6l2-2V2h10v5c0,0.6,0.4,1,1,1h5v14H8v-1.1c-0.7-0.1-1.4-0.5-1.9-1L6,19.8V23	c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V7L19,0z"/><path class="c_1" d="M10.8,19.2c-1.1,1.1-2.9,1.1-4,0l-4-4c-1.1-1.1-1.1-2.9,0-4L8,6l8,8L10.8,19.2z"/><path class="c_1" d="M14,10c2.2,0,4,3.6,4,8c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C22,13.6,18.4,10,14,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_BackgroundLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,0H7C6.4,0,6,0.4,6,1v5.6l2-2V2h10v5c0,0.6,0.4,1,1,1h5v14H8v-1.1c-0.7-0.1-1.4-0.5-1.9-1L6,19.8V23	c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V7L19,0z"/><path class="c_1" d="M10.8,19.2c-1.1,1.1-2.9,1.1-4,0l-4-4c-1.1-1.1-1.1-2.9,0-4L8,6l8,8L10.8,19.2z"/><path class="c_1" d="M14,10c2.2,0,4,3.6,4,8c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C22,13.6,18.4,10,14,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_BoldNew" viewBox="0 0 32 32"><path class="c_1" d="M8,26V4h8c2.5,0,4.3,0.5,5.7,1.4c1.3,0.9,2,2.2,2,3.8c0,1.2-0.4,2.2-1.2,3.1c-0.8,0.9-1.8,1.5-3.1,1.9v0.1	c1.6,0.2,2.8,0.8,3.8,1.7c0.9,1,1.4,2.1,1.4,3.5c0,2-0.7,3.6-2.2,4.8C20.9,25.4,19,26,16.5,26H8z M13,7.7v5.2h2.2	c1,0,1.8-0.2,2.4-0.7c0.6-0.5,0.9-1.2,0.9-2c0-1.6-1.2-2.4-3.6-2.4H13z M13,16.6v5.8h2.7c1.1,0,2-0.3,2.7-0.8c0.6-0.5,1-1.3,1-2.2	c0-0.9-0.3-1.6-1-2.1c-0.6-0.5-1.5-0.8-2.7-0.8H13z"/></symbol><symbol id="dxRichEdit_SVGIcon_BoldLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,26V4h8c2.5,0,4.3,0.5,5.7,1.4c1.3,0.9,2,2.2,2,3.8c0,1.2-0.4,2.2-1.2,3.1c-0.8,0.9-1.8,1.5-3.1,1.9v0.1	c1.6,0.2,2.8,0.8,3.8,1.7c0.9,1,1.4,2.1,1.4,3.5c0,2-0.7,3.6-2.2,4.8C20.9,25.4,19,26,16.5,26H8z M13,7.7v5.2h2.2	c1,0,1.8-0.2,2.4-0.7c0.6-0.5,0.9-1.2,0.9-2c0-1.6-1.2-2.4-3.6-2.4H13z M13,16.6v5.8h2.7c1.1,0,2-0.3,2.7-0.8c0.6-0.5,1-1.3,1-2.2	c0-0.9-0.3-1.6-1-2.1c-0.6-0.5-1.5-0.8-2.7-0.8H13z"/></symbol><symbol id="dxRichEdit_SVGIcon_BookmarkNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M27,4H7C6.5,4,6,4.5,6,5v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M26,28H8V6h18V28z"/></g><path class="c_1" d="M17,2h-6c-0.5,0-1,0.5-1,1v15l4-4l4,4V3C18,2.5,17.5,2,17,2z"/></symbol><symbol id="dxRichEdit_SVGIcon_BookmarkLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M27,4H7C6.5,4,6,4.5,6,5v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M26,28H8V6h18V28z"/></g><path class="c_1" d="M17,2h-6c-0.5,0-1,0.5-1,1v15l4-4l4,4V3C18,2.5,17.5,2,17,2z"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderBottomNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M2,24h2v-2H2V24z M2,20h2v-2H2		V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z		 M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="26" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderBottomLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M2,24h2v-2H2V24z M2,20h2v-2H2		V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z		 M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="26" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideHorizontalNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2		v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z"/></g><polygon class="c_1" points="14,14 2,14 2,16 14,16 16,16 28,16 28,14 16,14 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideHorizontalLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2		v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z"/></g><polygon class="c_1" points="14,14 2,14 2,16 14,16 16,16 28,16 28,14 16,14 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideVerticalNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2		H2V12z M2,8h2V6H2V8z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><polygon class="c_1" points="16,16 16,14 16,10 16,2 14,2 14,10 14,14 14,16 14,28 16,28 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideVerticalLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2		H2V12z M2,8h2V6H2V8z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><polygon class="c_1" points="16,16 16,14 16,10 16,2 14,2 14,10 14,14 14,16 14,28 16,28 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderLeftNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6		h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z		 M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderLeftLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6		h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z		 M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderNoneNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BorderNoneLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BorderRightNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M22,28h2v-2		h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2		H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20		z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="26" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderRightLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M22,28h2v-2		h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2		H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20		z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="26" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersAllNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v2v24h26V16v-2V4V2H2z M14,4v10H4V4H14z M4,26V16h10v10H4z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersAllLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v2v24h26V16v-2V4V2H2z M14,4v10H4V4H14z M4,26V16h10v10H4z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersBoxNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersBoxLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersCustomNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,22h-2v2h2V22z M28,18h-2v2h2V18z M28,10h-2v2h2V10z M28,6h-2v2h2V6z"/></g><path class="c_1" d="M28,4V2H16h-2H4H2v2v10v2v10v2h2h10h2h12v-2H16V16h12v-2H16V4H28z M14,26H4V16h10V26z M14,14H4V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersCustomLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,22h-2v2h2V22z M28,18h-2v2h2V18z M28,10h-2v2h2V10z M28,6h-2v2h2V6z"/></g><path class="c_1" d="M28,4V2H16h-2H4H2v2v10v2v10v2h2h10h2h12v-2H16V16h12v-2H16V4H28z M14,26H4V16h10V26z M14,14H4V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersGridNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v12v2v12h26V16v-2V2H2z M14,26H4V16h10V26z M14,14H4V4h10V14z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersGridLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v12v2v12h26V16v-2V2H2z M14,26H4V16h10V26z M14,14H4V4h10V14z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersInsideNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M10,28h2		v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2v-2H2V12z M2,8h2V6H2V8z"/></g><polygon class="c_1" points="28,14 16,14 16,2 14,2 14,14 2,14 2,16 14,16 14,28 16,28 16,16 28,16 "/></symbol><symbol id="dxRichEdit_SVGIcon_BordersInsideLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M10,28h2		v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2v-2H2V12z M2,8h2V6H2V8z"/></g><polygon class="c_1" points="28,14 16,14 16,2 14,2 14,14 2,14 2,16 14,16 14,28 16,28 16,16 28,16 "/></symbol><symbol id="dxRichEdit_SVGIcon_BordersNoneNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BordersNoneLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BordersOutsideNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersOutsideLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderTopNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2		h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2		v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderTopLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2		h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2		v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ChangeFontStyleNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_ChangeFontStyleLargeNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_ChangeTextCaseNew" viewBox="0 0 32 32"><g id="ChangeTextCase">	<path class="c_1" d="M12.6,6l5.8,16h-3.6l-1.2-3.6H7.8L6.6,22H3.1L9.1,6H12.6z M12.8,15.8l-2-5.9h0l-2,5.9H12.8z M19.7,14		c0-0.7,0.2-1.4,0.5-1.9s0.7-0.9,1.2-1.2c0.5-0.3,1.1-0.5,1.7-0.6c0.6-0.1,1.2-0.2,1.9-0.2c0.6,0,1.1,0,1.7,0.1		c0.6,0.1,1.1,0.2,1.6,0.5c0.5,0.2,0.9,0.6,1.2,1c0.3,0.4,0.5,1,0.5,1.7v6c0,0.5,0,1,0.1,1.5c0.1,0.5,0.2,0.8,0.3,1.1h-3.2		c-0.1-0.2-0.1-0.4-0.1-0.5c0-0.2-0.1-0.4-0.1-0.6c-0.5,0.5-1.1,0.9-1.8,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.5,0-1-0.1-1.5-0.2		c-0.5-0.1-0.9-0.3-1.2-0.6c-0.3-0.3-0.6-0.6-0.8-1.1c-0.2-0.4-0.3-1-0.3-1.5c0-0.7,0.1-1.2,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1		c0.4-0.3,0.8-0.4,1.2-0.6c0.5-0.1,0.9-0.2,1.4-0.3c0.5-0.1,0.9-0.1,1.4-0.2c0.5,0,0.9-0.1,1.2-0.2c0.3-0.1,0.6-0.2,0.8-0.4		c0.2-0.2,0.3-0.4,0.3-0.8c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.2-0.3-0.4-0.4-0.5c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.8-0.1		c-0.6,0-1.1,0.1-1.4,0.4s-0.6,0.7-0.6,1.3H19.7z M26.9,16.3c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.2		c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.3,0.3-0.4,0.5		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0,0.5,0.1,0.7,0.1		c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.6-0.5,0.7-0.8c0.2-0.3,0.3-0.6,0.3-0.9c0-0.3,0.1-0.5,0.1-0.7V16.3z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ChangeTextCaseLargeNew" viewBox="0 0 32 32"><g id="ChangeTextCase">	<path class="c_1" d="M12.6,6l5.8,16h-3.6l-1.2-3.6H7.8L6.6,22H3.1L9.1,6H12.6z M12.8,15.8l-2-5.9h0l-2,5.9H12.8z M19.7,14		c0-0.7,0.2-1.4,0.5-1.9s0.7-0.9,1.2-1.2c0.5-0.3,1.1-0.5,1.7-0.6c0.6-0.1,1.2-0.2,1.9-0.2c0.6,0,1.1,0,1.7,0.1		c0.6,0.1,1.1,0.2,1.6,0.5c0.5,0.2,0.9,0.6,1.2,1c0.3,0.4,0.5,1,0.5,1.7v6c0,0.5,0,1,0.1,1.5c0.1,0.5,0.2,0.8,0.3,1.1h-3.2		c-0.1-0.2-0.1-0.4-0.1-0.5c0-0.2-0.1-0.4-0.1-0.6c-0.5,0.5-1.1,0.9-1.8,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.5,0-1-0.1-1.5-0.2		c-0.5-0.1-0.9-0.3-1.2-0.6c-0.3-0.3-0.6-0.6-0.8-1.1c-0.2-0.4-0.3-1-0.3-1.5c0-0.7,0.1-1.2,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1		c0.4-0.3,0.8-0.4,1.2-0.6c0.5-0.1,0.9-0.2,1.4-0.3c0.5-0.1,0.9-0.1,1.4-0.2c0.5,0,0.9-0.1,1.2-0.2c0.3-0.1,0.6-0.2,0.8-0.4		c0.2-0.2,0.3-0.4,0.3-0.8c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.2-0.3-0.4-0.4-0.5c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.8-0.1		c-0.6,0-1.1,0.1-1.4,0.4s-0.6,0.7-0.6,1.3H19.7z M26.9,16.3c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.2		c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.3,0.3-0.4,0.5		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0,0.5,0.1,0.7,0.1		c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.6-0.5,0.7-0.8c0.2-0.3,0.3-0.6,0.3-0.9c0-0.3,0.1-0.5,0.1-0.7V16.3z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ClearFormattingNew" viewBox="0 0 32 32"><g id="ClearFormatting">	<path class="c_1" d="M1.1,11.2c0-0.6,0.2-1.2,0.5-1.6c0.3-0.4,0.6-0.8,1.1-1C3,8.4,3.5,8.2,4.1,8.1C4.6,8,5.1,7.9,5.7,7.9		c0.5,0,1,0,1.5,0.1c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.8,0.5,1,0.8s0.4,0.8,0.4,1.4v5.1c0,0.4,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9		H7.6c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2-0.1-0.3-0.1-0.5C7,17.5,6.5,17.8,5.9,18c-0.6,0.2-1.2,0.3-1.8,0.3c-0.5,0-0.9-0.1-1.3-0.2		C2.4,18,2,17.8,1.7,17.5C1.4,17.3,1.2,17,1,16.6c-0.2-0.4-0.3-0.8-0.3-1.3c0-0.6,0.1-1,0.3-1.4s0.4-0.6,0.8-0.9		c0.3-0.2,0.7-0.4,1.1-0.5s0.8-0.2,1.2-0.3c0.4-0.1,0.8-0.1,1.2-0.2c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.2,0.7-0.3		c0.2-0.1,0.3-0.4,0.2-0.6c0-0.3,0-0.5-0.1-0.7C7.1,10.2,6.9,10,6.8,10C6.6,9.9,6.4,9.8,6.2,9.8s-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.3		c-0.3,0.2-0.5,0.6-0.5,1.1H1.1z M7.3,13.2c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.1		s-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.4,0.1-0.5,0.3c-0.1,0.1-0.3,0.2-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6		c0,0.2,0,0.4,0.1,0.6C3.7,16,3.8,16.1,4,16.2c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,0.9-0.1,1.2-0.3		C6.6,16,6.9,15.8,7,15.6s0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6V13.2z"/>	<path class="c_1" d="M14.7,4v5.4h0c0.3-0.5,0.8-0.9,1.3-1.1c0.6-0.2,1.1-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3		c0.5,0.2,0.9,0.5,1.3,0.9c0.4,0.4,0.7,1,0.9,1.6s0.4,1.4,0.4,2.3s-0.1,1.7-0.4,2.3S21,16.6,20.6,17c-0.4,0.4-0.8,0.7-1.3,0.9		c-0.5,0.2-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.6-0.2-1-0.6-1.3-1.2h0V18H12V4H14.7z M19.1,11.9c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.1-1,0.3c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0,0.8,0.1,1.2c0.1,0.4,0.2,0.7,0.4,1s0.4,0.5,0.7,0.7c0.3,0.2,0.6,0.3,1,0.3c0.4,0,0.8-0.1,1-0.3		c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-1c0.1-0.4,0.1-0.8,0.1-1.2C19.2,12.7,19.2,12.3,19.1,11.9z"/>	<g class="op50_26_1"><path class="c_1" d="M19,21.3L16.3,24c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,21.3z"/></g>	<path class="c_1" d="M31.7,18.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0L20,20.5l5.6,5.6l6.1-6.1C32.1,19.5,32.1,18.8,31.7,18.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ClearFormattingLargeNew" viewBox="0 0 32 32"><g id="ClearFormatting">	<path class="c_1" d="M1.1,11.2c0-0.6,0.2-1.2,0.5-1.6c0.3-0.4,0.6-0.8,1.1-1C3,8.4,3.5,8.2,4.1,8.1C4.6,8,5.1,7.9,5.7,7.9		c0.5,0,1,0,1.5,0.1c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.8,0.5,1,0.8s0.4,0.8,0.4,1.4v5.1c0,0.4,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9		H7.6c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2-0.1-0.3-0.1-0.5C7,17.5,6.5,17.8,5.9,18c-0.6,0.2-1.2,0.3-1.8,0.3c-0.5,0-0.9-0.1-1.3-0.2		C2.4,18,2,17.8,1.7,17.5C1.4,17.3,1.2,17,1,16.6c-0.2-0.4-0.3-0.8-0.3-1.3c0-0.6,0.1-1,0.3-1.4s0.4-0.6,0.8-0.9		c0.3-0.2,0.7-0.4,1.1-0.5s0.8-0.2,1.2-0.3c0.4-0.1,0.8-0.1,1.2-0.2c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.2,0.7-0.3		c0.2-0.1,0.3-0.4,0.2-0.6c0-0.3,0-0.5-0.1-0.7C7.1,10.2,6.9,10,6.8,10C6.6,9.9,6.4,9.8,6.2,9.8s-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.3		c-0.3,0.2-0.5,0.6-0.5,1.1H1.1z M7.3,13.2c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.1		s-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.4,0.1-0.5,0.3c-0.1,0.1-0.3,0.2-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6		c0,0.2,0,0.4,0.1,0.6C3.7,16,3.8,16.1,4,16.2c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,0.9-0.1,1.2-0.3		C6.6,16,6.9,15.8,7,15.6s0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6V13.2z"/>	<path class="c_1" d="M14.7,4v5.4h0c0.3-0.5,0.8-0.9,1.3-1.1c0.6-0.2,1.1-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3		c0.5,0.2,0.9,0.5,1.3,0.9c0.4,0.4,0.7,1,0.9,1.6s0.4,1.4,0.4,2.3s-0.1,1.7-0.4,2.3S21,16.6,20.6,17c-0.4,0.4-0.8,0.7-1.3,0.9		c-0.5,0.2-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.6-0.2-1-0.6-1.3-1.2h0V18H12V4H14.7z M19.1,11.9c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.1-1,0.3c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0,0.8,0.1,1.2c0.1,0.4,0.2,0.7,0.4,1s0.4,0.5,0.7,0.7c0.3,0.2,0.6,0.3,1,0.3c0.4,0,0.8-0.1,1-0.3		c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-1c0.1-0.4,0.1-0.8,0.1-1.2C19.2,12.7,19.2,12.3,19.1,11.9z"/>	<g class="op50_26_1"><path class="c_1" d="M19,21.3L16.3,24c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,21.3z"/></g>	<path class="c_1" d="M31.7,18.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0L20,20.5l5.6,5.6l6.1-6.1C32.1,19.5,32.1,18.8,31.7,18.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ClearTableStyleNew" viewBox="0 0 32 32"><g class="op50_26_1"><g>	<path class="c_1" d="M28,10h-8V4h8V10z M24.6,14.9c0.6-0.6,1.4-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.2V12h-8v6h1.5L24.6,14.9z M0,26		h8v-6H0V26z M14.9,24.6l3.1-3.1V20h-8v6h4.1C14.3,25.5,14.5,25,14.9,24.6z"/></g></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M19,23.3L16.3,26	c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_ClearTableStyleLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><g>	<path class="c_1" d="M28,10h-8V4h8V10z M24.6,14.9c0.6-0.6,1.4-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.2V12h-8v6h1.5L24.6,14.9z M0,26		h8v-6H0V26z M14.9,24.6l3.1-3.1V20h-8v6h4.1C14.3,25.5,14.5,25,14.9,24.6z"/></g></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M19,23.3L16.3,26	c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_CloseHeaderAndFooterNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4H5C4.5,4,4,4.5,4,5v22c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M22,20l-2,2l-4-4l-4,4	l-2-2l4-4l-4-4l2-2l4,4l4-4l2,2l-4,4L22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4H5C4.5,4,4,4.5,4,5v22c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M22,20l-2,2l-4-4l-4,4	l-2-2l4-4l-4-4l2-2l4,4l4-4l2,2l-4,4L22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnOneNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnOneLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M14,6H4V4h10V6z M26,4H16v2h10V4z M14,8H4v2h10V8z M26,8H16v2h10V8z M14,12H4v2h10V12z M26,12H16v2h10V12z	 M14,16H4v2h10V16z M26,16H16v2h10V16z M14,20H4v2h10V20z M26,20H16v2h10V20z M14,24H4v2h10V24z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M14,6H4V4h10V6z M26,4H16v2h10V4z M14,8H4v2h10V8z M26,8H16v2h10V8z M14,12H4v2h10V12z M26,12H16v2h10V12z	 M14,16H4v2h10V16z M26,16H16v2h10V16z M14,20H4v2h10V20z M26,20H16v2h10V20z M14,24H4v2h10V24z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsOneNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsOneLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsThreeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsThreeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsTwoNew" viewBox="0 0 32 32"><path class="c_1" d="M15,8H2V6h13V8z M30,6H17v2h13V6z M15,10H2v2h13V10z M30,10H17v2h13V10z M15,14H2v2h13V14z M30,14H17v2h13V14z	 M15,18H2v2h13V18z M30,18H17v2h13V18z M15,22H2v2h13V22z M30,22H17v2h13V22z"/><rect x="2" y="2" class="c_1" width="13" height="2"/><rect x="17" y="2" class="c_1" width="13" height="2"/><rect x="2" y="26" class="c_1" width="13" height="2"/><rect x="17" y="26" class="c_1" width="13" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsTwoLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M15,8H2V6h13V8z M30,6H17v2h13V6z M15,10H2v2h13V10z M30,10H17v2h13V10z M15,14H2v2h13V14z M30,14H17v2h13V14z	 M15,18H2v2h13V18z M30,18H17v2h13V18z M15,22H2v2h13V22z M30,22H17v2h13V22z"/><rect x="2" y="2" class="c_1" width="13" height="2"/><rect x="17" y="2" class="c_1" width="13" height="2"/><rect x="2" y="26" class="c_1" width="13" height="2"/><rect x="17" y="26" class="c_1" width="13" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_CopyNew" viewBox="0 0 32 32"><g id="Copy">	<path class="c_1" d="M21,2H11c-0.5,0-1,0.5-1,1v5H5C4.5,8,4,8.5,4,9v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1v-5h5c0.5,0,1-0.5,1-1		V9L21,2z M20,28H6V10h8v5c0,0.5,0.5,1,1,1h5V28z M26,22h-4v-7l-7-7h-3V4h8v5c0,0.5,0.5,1,1,1h5V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_CopyLargeNew" viewBox="0 0 32 32"><g id="Copy">	<path class="c_1" d="M21,2H11c-0.5,0-1,0.5-1,1v5H5C4.5,8,4,8.5,4,9v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1v-5h5c0.5,0,1-0.5,1-1		V9L21,2z M20,28H6V10h8v5c0,0.5,0.5,1,1,1h5V28z M26,22h-4v-7l-7-7h-3V4h8v5c0,0.5,0.5,1,1,1h5V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_CutNew" viewBox="0 0 32 32"><g id="Cut">	<path class="c_1" d="M16.4,11.6L26,2l-5.8,13.3L16.4,11.6z M12,23c0,2.8-2.2,5-5,5s-5-2.2-5-5s2.2-5,5-5S12,20.2,12,23z M10,23		c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S10,24.7,10,23z M28,23c0,2.8-2.2,5-5,5s-5-2.2-5-5c0-0.9,0.2-1.7,0.6-2.4L16,18h-5L4,2		l16.6,16.6c0.7-0.4,1.5-0.6,2.4-0.6C25.8,18,28,20.2,28,23z M26,23c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S26,24.7,26,23z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_CutLargeNew" viewBox="0 0 32 32"><g id="Cut">	<path class="c_1" d="M16.4,11.6L26,2l-5.8,13.3L16.4,11.6z M12,23c0,2.8-2.2,5-5,5s-5-2.2-5-5s2.2-5,5-5S12,20.2,12,23z M10,23		c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S10,24.7,10,23z M28,23c0,2.8-2.2,5-5,5s-5-2.2-5-5c0-0.9,0.2-1.7,0.6-2.4L16,18h-5L4,2		l16.6,16.6c0.7-0.4,1.5-0.6,2.4-0.6C25.8,18,28,20.2,28,23z M26,23c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S26,24.7,26,23z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DeleteNew" viewBox="0 0 32 32"><path class="c_1" d="M18.8,16l6.9-6.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L9.1,6.3c-0.4-0.4-1-0.4-1.4,0	L6.3,7.7c-0.4,0.4-0.4,1,0,1.4l6.9,6.9l-6.9,6.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l6.9-6.9l6.9,6.9	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M18.8,16l6.9-6.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L9.1,6.3c-0.4-0.4-1-0.4-1.4,0	L6.3,7.7c-0.4,0.4-0.4,1,0,1.4l6.9,6.9l-6.9,6.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l6.9-6.9l6.9,6.9	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteCommentNew" viewBox="0 0 32 32"><g id="Delete">	<path class="c_1" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0		L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9		c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DeleteCommentLargeNew" viewBox="0 0 32 32"><g id="Delete">	<path class="c_1" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0		L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9		c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableNew" viewBox="0 0 32 32"><path class="c_1" d="M8,8H0V2h8V8z M18,2h-8v6h8V2z M28,2h-8v6h8V2z"/><g class="op50_26_1">	<path class="c_1" d="M8,16H0v-6h8V16z M18,10h-8v6h8V10z M28,10h-8v6h8V10z M8,18H0v6h8V18z M18,18h-8v6h8V18z"/></g><polygon class="c_1" points="32,20 30,18 26,22 22,18 20,20 24,24 20,28 22,30 26,26 30,30 32,28 28,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,8H0V2h8V8z M18,2h-8v6h8V2z M28,2h-8v6h8V2z"/><g class="op50_26_1">	<path class="c_1" d="M8,16H0v-6h8V16z M18,10h-8v6h8V10z M28,10h-8v6h8V10z M8,18H0v6h8V18z M18,18h-8v6h8V18z"/></g><polygon class="c_1" points="32,20 30,18 26,22 22,18 20,20 24,24 20,28 22,30 26,26 30,30 32,28 28,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,16H2v6h8V16z M20,16		h-8v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,8h-8v6h8V8z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,16H2v6h8V16z M20,16		h-8v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,8h-8v6h8V8z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableColumnsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M30,0h-8v6h8V0z M10,16H2v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,0h-8v22h8V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableColumnsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M30,0h-8v6h8V0z M10,16H2v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,0h-8v22h8V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableRowsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,10h-8V4h8V10z M30,4h-8v6h8V4z M30,22h-8v6h8V22z M20,22h-8v6h8V22z"/></g><path class="c_1" d="M6,14h4v4H6v2l-4-4l4-4V14z M12,12v8h18v-8H12z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableRowsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,10h-8V4h8V10z M30,4h-8v6h8V4z M30,22h-8v6h8V22z M20,22h-8v6h8V22z"/></g><path class="c_1" d="M6,14h4v4H6v2l-4-4l4-4V14z M12,12v8h18v-8H12z"/></symbol><symbol id="dxRichEdit_SVGIcon_Delete_HyperlinkNew" viewBox="0 0 32 32"><g class="op75_5_1"><path id="Hyperlink" class="c_1" d="M16.8,18c1.3,1.9,1.1,4.6-0.6,6.3l-4.2,4.2c-2,2-5.1,2-7.1,0l-1.4-1.4c-2-2-2-5.1,0-7.1	l4.2-4.2c1.7-1.7,4.3-1.9,6.3-0.6l-1.5,1.5c-1.1-0.5-2.5-0.3-3.4,0.6l-4.2,4.2c-1.2,1.2-1.2,3.1,0,4.2l1.4,1.4	c1.2,1.2,3.1,1.2,4.2,0l4.2-4.2c0.9-0.9,1.1-2.3,0.6-3.4L16.8,18z M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2	c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2	c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z M21.7,11.7c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-10,10c-0.4,0.4-0.4,1,0,1.4l0,0c0.4,0.4,1,0.4,1.4,0L21.7,11.7z"/></g><polygon class="c_1" points="32,22 30,20 26,24 22,20 20,22 24,26 20,30 22,32 26,28 30,32 32,30 28,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_Delete_HyperlinkLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path id="Hyperlink" class="c_1" d="M16.8,18c1.3,1.9,1.1,4.6-0.6,6.3l-4.2,4.2c-2,2-5.1,2-7.1,0l-1.4-1.4c-2-2-2-5.1,0-7.1	l4.2-4.2c1.7-1.7,4.3-1.9,6.3-0.6l-1.5,1.5c-1.1-0.5-2.5-0.3-3.4,0.6l-4.2,4.2c-1.2,1.2-1.2,3.1,0,4.2l1.4,1.4	c1.2,1.2,3.1,1.2,4.2,0l4.2-4.2c0.9-0.9,1.1-2.3,0.6-3.4L16.8,18z M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2	c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2	c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z M21.7,11.7c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-10,10c-0.4,0.4-0.4,1,0,1.4l0,0c0.4,0.4,1,0.4,1.4,0L21.7,11.7z"/></g><polygon class="c_1" points="32,22 30,20 26,24 22,20 20,22 24,26 20,30 22,32 26,28 30,32 32,30 28,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_DifferentFirstPageNew" viewBox="0 0 32 32"><path class="c_1" d="M19,12H3c-0.5,0-1,0.5-1,1v18c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V13C20,12.5,19.5,12,19,12z M12,26h-2v-5.2	H8v-1.2c0.3,0,0.6,0,0.8-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8H12V26z"/><g class="op50_26_1"><path class="c_1" d="M31,0H15c-0.5,0-1,0.5-1,1v3h-3c-0.5,0-1,0.5-1,1v3H7C6.5,8,6,8.5,6,9v3h2v-2h14v16h-2v2h3c0.5,0,1-0.5,1-1	v-3h3c0.5,0,1-0.5,1-1v-3h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M26,22h-2V9c0-0.5-0.5-1-1-1H12V6h14V22z M30,18h-2V5	c0-0.5-0.5-1-1-1H16V2h14V18z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DifferentFirstPageLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,12H3c-0.5,0-1,0.5-1,1v18c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V13C20,12.5,19.5,12,19,12z M12,26h-2v-5.2	H8v-1.2c0.3,0,0.6,0,0.8-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8H12V26z"/><g class="op50_26_1"><path class="c_1" d="M31,0H15c-0.5,0-1,0.5-1,1v3h-3c-0.5,0-1,0.5-1,1v3H7C6.5,8,6,8.5,6,9v3h2v-2h14v16h-2v2h3c0.5,0,1-0.5,1-1	v-3h3c0.5,0,1-0.5,1-1v-3h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M26,22h-2V9c0-0.5-0.5-1-1-1H12V6h14V22z M30,18h-2V5	c0-0.5-0.5-1-1-1H16V2h14V18z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DifferentOddEvenPagesNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M28,5v18c0,0.5-0.5,1-1,1h-5V10H10V5c0-0.5,0.5-1,1-1h16C27.5,4,28,4.5,28,5z M3,32h16c0.5,0,1-0.5,1-1V13	c0-0.6-0.5-1-1-1H3c-0.5,0-1,0.4-1,1v18C2,31.5,2.5,32,3,32z"/></g><path class="c_1" d="M24,9v18c0,0.5-0.5,1-1,1h-3v-2h2V10H8v2H6V9c0-0.5,0.5-1,1-1h16C23.5,8,24,8.5,24,9z M31,0H15	c-0.5,0-1,0.5-1,1v3h2V2h14v16h-2v2h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M28,5v18c0,0.5-0.5,1-1,1h-5V10H10V5c0-0.5,0.5-1,1-1h16C27.5,4,28,4.5,28,5z M3,32h16c0.5,0,1-0.5,1-1V13	c0-0.6-0.5-1-1-1H3c-0.5,0-1,0.4-1,1v18C2,31.5,2.5,32,3,32z"/></g><path class="c_1" d="M24,9v18c0,0.5-0.5,1-1,1h-3v-2h2V10H8v2H6V9c0-0.5,0.5-1,1-1h16C23.5,8,24,8.5,24,9z M31,0H15	c-0.5,0-1,0.5-1,1v3h2V2h14v16h-2v2h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DraftViewNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M6,12h14v-2H6V12z M14.9,24.6l0.6-0.6H2V2h22v13.5l0.6-0.6c0.4-0.4,0.9-0.7,1.4-0.8V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h13.1C14.3,25.5,14.5,25,14.9,24.6z M6,16h14v-2H6V16z M6,20h14v-2H6V20z"/><g class="op75_5_1"><path class="c_1" d="M19,23.3L16.3,26c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/></g><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_DraftViewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M6,12h14v-2H6V12z M14.9,24.6l0.6-0.6H2V2h22v13.5l0.6-0.6c0.4-0.4,0.9-0.7,1.4-0.8V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h13.1C14.3,25.5,14.5,25,14.9,24.6z M6,16h14v-2H6V16z M6,20h14v-2H6V20z"/><g class="op75_5_1"><path class="c_1" d="M19,23.3L16.3,26c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/></g><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_EditRangePermissionNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,22h10v0.2c-0.9,0.3-1.5,1-1.8,1.8H10V22z M27,4H12.3c0,0,0,0,0,0c0,0.1,0.1,0.2,0.1,0.4	C12.6,5,12.5,5.6,12.3,6H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,18v2h10.1c0.2-0.7,0.5-1.4,0.9-2h-5H10z M6,18H4v11	c0,0.6,0.4,1,1,1h13v-2H6V18z M16,15.1V16h6v-2h-6.1C16,14.3,16,14.7,16,15.1z M15.4,12H22v-2h-8.6C14.1,10.4,14.9,11,15.4,12z"/><path class="c_1" d="M3.7,5.7C3.6,5.4,3.4,5.2,3.5,4.8c0-0.1,0.2-0.2,0.3-0.2C3.1,2.4,3.8,0.2,6.3,0C9-0.2,9.5,1.8,9.5,1.8	s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3	c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C3.7,6.7,3.9,6,3.7,5.7z M9.3,9.9c-0.5,0.9-1.2,2.5-2.3,2.5c-1.1,0-1.8-1.6-2.3-2.6	C3.4,12.1,0,10.5,0,15.1V16h14v-0.9C14,10.5,10.7,12,9.3,9.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_EditRangePermissionLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,22h10v0.2c-0.9,0.3-1.5,1-1.8,1.8H10V22z M27,4H12.3c0,0,0,0,0,0c0,0.1,0.1,0.2,0.1,0.4	C12.6,5,12.5,5.6,12.3,6H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,18v2h10.1c0.2-0.7,0.5-1.4,0.9-2h-5H10z M6,18H4v11	c0,0.6,0.4,1,1,1h13v-2H6V18z M16,15.1V16h6v-2h-6.1C16,14.3,16,14.7,16,15.1z M15.4,12H22v-2h-8.6C14.1,10.4,14.9,11,15.4,12z"/><path class="c_1" d="M3.7,5.7C3.6,5.4,3.4,5.2,3.5,4.8c0-0.1,0.2-0.2,0.3-0.2C3.1,2.4,3.8,0.2,6.3,0C9-0.2,9.5,1.8,9.5,1.8	s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3	c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C3.7,6.7,3.9,6,3.7,5.7z M9.3,9.9c-0.5,0.9-1.2,2.5-2.3,2.5c-1.1,0-1.8-1.6-2.3-2.6	C3.4,12.1,0,10.5,0,15.1V16h14v-0.9C14,10.5,10.7,12,9.3,9.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_FindNew" viewBox="0 0 32 32"><g id="Zoom">	<path class="c_1" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FindLargeNew" viewBox="0 0 32 32"><g id="Zoom">	<path class="c_1" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FirstNew" viewBox="0 0 32 32"><path class="c_1" d="M10.4,14.5c-0.5,0.3-0.5,0.8,0,1.1l16.8,10.3c0.5,0.3,0.9,0.1,0.9-0.5V4.6c0-0.6-0.4-0.8-0.9-0.5L10.4,14.5z	 M4,25V5c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v20c0,0.5-0.4,1-1,1H5C4.4,26,4,25.5,4,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_FirstLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10.4,14.5c-0.5,0.3-0.5,0.8,0,1.1l16.8,10.3c0.5,0.3,0.9,0.1,0.9-0.5V4.6c0-0.6-0.4-0.8-0.9-0.5L10.4,14.5z	 M4,25V5c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v20c0,0.5-0.4,1-1,1H5C4.4,26,4,25.5,4,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectAlignmentNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringForwardNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M22,21c0,0.6-0.4,1-1,1H3c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V21z"/></g><path class="c_1" d="M29,14h-5v2h4v12H16v-4h-2v5c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M22,21c0,0.6-0.4,1-1,1H3c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V21z"/></g><path class="c_1" d="M29,14h-5v2h4v12H16v-4h-2v5c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M26,25c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V25z"/></g><path class="c_1" d="M32,19v12c0,0.6-0.4,1-1,1H19c-0.6,0-1-0.4-1-1v-3h2v2h10V20h-2v-2h3C31.6,18,32,18.4,32,19z M1,14h3v-2H2V2	h10v2h2V1c0-0.6-0.4-1-1-1H1C0.4,0,0,0.4,0,1v12C0,13.6,0.4,14,1,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M26,25c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V25z"/></g><path class="c_1" d="M32,19v12c0,0.6-0.4,1-1,1H19c-0.6,0-1-0.4-1-1v-3h2v2h10V20h-2v-2h3C31.6,18,32,18.4,32,19z M1,14h3v-2H2V2	h10v2h2V1c0-0.6-0.4-1-1-1H1C0.4,0,0,0.4,0,1v12C0,13.6,0.4,14,1,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectFillColorNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M16.4,6c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4s2.4-1.1,2.4-2.4C26,10.3,21.7,6,16.4,6z"/></g><path class="c_1" d="M15,7.3l3,3L11.3,17c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,0l3,3L8.8,4.9	C8.3,5.4,8,6.2,8,7s0.3,1.6,0.9,2.1C9.5,9.7,10.2,10,11,10s1.6-0.3,2.1-0.9L15,7.3z M11.7,7.7l5.9-5.9c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,8.1,11.3,8.1,11.7,7.7z"/><g>	<path class="c_1" d="M20.4,24.9c0.2-0.2,0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9h-0.7v1.9h0.8C19.9,25.2,20.2,25.1,20.4,24.9z"/>	<path class="c_1" d="M19.8,26.5h-1.1v0.1v2.1h1c0.7,0,1.4-0.2,1.4-1.1C21.1,27.3,21,26.5,19.8,26.5z"/>	<path class="c_1" d="M12,24.1l-1.1,2.7h2C12.9,26.8,12,23.9,12,24.1z"/>	<path class="c_1" d="M31,20H7c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V21C32,20.5,31.5,20,31,20z M13.9,30		l-0.6-1.8h-2.8L10,30H8l2.9-8H13l2.9,8H13.9z M22.2,29.3C21.6,29.8,20.9,30,20,30h-3l0-8h2.8c0.9,0,1.6,0.2,2.1,0.5		s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1s-0.7,0.5-1.1,0.7c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3		C23,28.3,22.7,28.9,22.2,29.3z M30,29.6c0,0-0.7,0.5-2.4,0.5c-1.2,0-2.2-0.4-2.9-1.1s-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1		s1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9		c0,0.8,0.2,1.4,0.7,1.8c0.5,0.4,1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5V29.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectFillColorLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M16.4,6c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4s2.4-1.1,2.4-2.4C26,10.3,21.7,6,16.4,6z"/></g><path class="c_1" d="M15,7.3l3,3L11.3,17c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,0l3,3L8.8,4.9	C8.3,5.4,8,6.2,8,7s0.3,1.6,0.9,2.1C9.5,9.7,10.2,10,11,10s1.6-0.3,2.1-0.9L15,7.3z M11.7,7.7l5.9-5.9c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,8.1,11.3,8.1,11.7,7.7z"/><g>	<path class="c_1" d="M20.4,24.9c0.2-0.2,0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9h-0.7v1.9h0.8C19.9,25.2,20.2,25.1,20.4,24.9z"/>	<path class="c_1" d="M19.8,26.5h-1.1v0.1v2.1h1c0.7,0,1.4-0.2,1.4-1.1C21.1,27.3,21,26.5,19.8,26.5z"/>	<path class="c_1" d="M12,24.1l-1.1,2.7h2C12.9,26.8,12,23.9,12,24.1z"/>	<path class="c_1" d="M31,20H7c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V21C32,20.5,31.5,20,31,20z M13.9,30		l-0.6-1.8h-2.8L10,30H8l2.9-8H13l2.9,8H13.9z M22.2,29.3C21.6,29.8,20.9,30,20,30h-3l0-8h2.8c0.9,0,1.6,0.2,2.1,0.5		s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1s-0.7,0.5-1.1,0.7c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3		C23,28.3,22.7,28.9,22.2,29.3z M30,29.6c0,0-0.7,0.5-2.4,0.5c-1.2,0-2.2-0.4-2.9-1.1s-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1		s1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9		c0,0.8,0.2,1.4,0.7,1.8c0.5,0.4,1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5V29.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M6,22H4v-2h2V22z M4,26h22v-2H4V26z M6,12H4v2h2V12z M6,8H4v2h2V8z M6,16H4v2h2V16z M4,4v2h2h18h2V4H4z M24,22h2v-2h-2V22z M24,10	h2V8h-2V10z M24,14h2v-2h-2V14z M24,18h2v-2h-2V18z"/><path class="c_1" d="M8,8v6h6V8H8z M12,12h-2v-2h2V12z M16,8v6h6V8H16z M20,12h-2v-2h2V12z M16,16v6h6v-6H16z M20,20h-2v-2h2V20z	 M8,16v6h6v-6H8z M12,20h-2v-2h2V20z M16,12h-2v-2h2V12z M12,14h-2v2h2V14z M20,14h-2v2h2V14z M16,18h-2v2h2V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M6,22H4v-2h2V22z M4,26h22v-2H4V26z M6,12H4v2h2V12z M6,8H4v2h2V8z M6,16H4v2h2V16z M4,4v2h2h18h2V4H4z M24,22h2v-2h-2V22z M24,10	h2V8h-2V10z M24,14h2v-2h-2V14z M24,18h2v-2h-2V18z"/><path class="c_1" d="M8,8v6h6V8H8z M12,12h-2v-2h2V12z M16,8v6h6V8H16z M20,12h-2v-2h2V12z M16,16v6h6v-6H16z M20,20h-2v-2h2V20z	 M8,16v6h6v-6H8z M12,20h-2v-2h2V20z M16,12h-2v-2h2V12z M12,14h-2v2h2V14z M20,14h-2v2h2V14z M16,18h-2v2h2V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectOutlineColorNew" viewBox="0 0 32 32"><polygon class="c_1" points="17.2,10 19.2,8 2,8 2,22 10,22 10,20 4,20 4,10 "/><path class="c_1" d="M27,11L17,21l-4-4L23,7L27,11z M28,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L24,6L28,10z	 M12,18v4h4L12,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="17.2,10 19.2,8 2,8 2,22 10,22 10,20 4,20 4,10 "/><path class="c_1" d="M27,11L17,21l-4-4L23,7L27,11z M28,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L24,6L28,10z	 M12,18v4h4L12,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBackwardNew" viewBox="0 0 32 32"><path class="c_1" d="M29,14H15c-0.6,0-1,0.4-1,1v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z M28,28H16V16	h12V28z"/><g class="op75_5_1"><path class="c_1" d="M12,14c0-1.1,0.9-2,2-2h8V3c0-0.6-0.4-1-1-1H3C2.4,2,2,2.4,2,3v18c0,0.6,0.4,1,1,1h9V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,14H15c-0.6,0-1,0.4-1,1v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z M28,28H16V16	h12V28z"/><g class="op75_5_1"><path class="c_1" d="M12,14c0-1.1,0.9-2,2-2h8V3c0-0.6-0.4-1-1-1H3C2.4,2,2,2.4,2,3v18c0,0.6,0.4,1,1,1h9V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBehindTextNew" viewBox="0 0 32 32"><path class="c_1" d="M21,0H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V1C22,0.5,21.5,0,21,0z M20,20H2V2h18V20z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z"/><path class="c_1" d="M24,12.5V22c0,1.1-0.9,2-2,2h-9.5c1.2,3.5,4.6,6,8.5,6c5,0,9-4,9-9C30,17.1,27.5,13.8,24,12.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M21,0H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V1C22,0.5,21.5,0,21,0z M20,20H2V2h18V20z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z"/><path class="c_1" d="M24,12.5V22c0,1.1-0.9,2-2,2h-9.5c1.2,3.5,4.6,6,8.5,6c5,0,9-4,9-9C30,17.1,27.5,13.8,24,12.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendToBackNew" viewBox="0 0 32 32"><path class="c_1" d="M13,0H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C14,0.4,13.6,0,13,0z M12,12H2V2h10V12z	 M31,18H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V19C32,18.4,31.6,18,31,18z M30,30H20V20h10V30z"/><g class="op75_5_1"><path class="c_1" d="M25,6h-9v8c0,1.1-0.9,2-2,2H6v9c0,0.6,0.4,1,1,1h9v-8c0-1.1,0.9-2,2-2h8V7C26,6.4,25.6,6,25,6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M13,0H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C14,0.4,13.6,0,13,0z M12,12H2V2h10V12z	 M31,18H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V19C32,18.4,31.6,18,31,18z M30,30H20V20h10V30z"/><g class="op75_5_1"><path class="c_1" d="M25,6h-9v8c0,1.1-0.9,2-2,2H6v9c0,0.6,0.4,1,1,1h9v-8c0-1.1,0.9-2,2-2h8V7C26,6.4,25.6,6,25,6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontNew" viewBox="0 0 32 32"><path class="c_1" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontColorNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontColorLargeNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeNew" viewBox="0 0 32 32"><path class="c_1" d="M19.7,28H24L15.3,4h-0.4H11h-0.4L2,28h4.3l2.2-6h9.1L19.7,28z M9.9,18L13,9.4l3.1,8.6H9.9z"/><polygon class="c_1" points="30,8 32,8 29,4 26,8 28,8 28,24 26,24 29,28 32,24 30,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19.7,28H24L15.3,4h-0.4H11h-0.4L2,28h4.3l2.2-6h9.1L19.7,28z M9.9,18L13,9.4l3.1,8.6H9.9z"/><polygon class="c_1" points="30,8 32,8 29,4 26,8 28,8 28,24 26,24 29,28 32,24 30,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeDecreaseNew" viewBox="0 0 32 32"><path class="c_1" d="M22,28h-2.7l-1.2-4h-6.1l-1.2,4H8l5.6-16h2.8L22,28z M17.3,22l-2.1-6.6c-0.1-0.2-0.1-0.5-0.2-1h0	c-0.1,0.4-0.1,0.8-0.2,1L12.7,22H17.3z"/><polygon class="c_1" points="22,4 30,4 26,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeDecreaseLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M22,28h-2.7l-1.2-4h-6.1l-1.2,4H8l5.6-16h2.8L22,28z M17.3,22l-2.1-6.6c-0.1-0.2-0.1-0.5-0.2-1h0	c-0.1,0.4-0.1,0.8-0.2,1L12.7,22H17.3z"/><polygon class="c_1" points="22,4 30,4 26,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeIncreaseNew" viewBox="0 0 32 32"><polygon class="c_1" points="22,8 30,8 26,4 "/><path class="c_1" d="M24,28h-3.9l-1.9-5.6H9.7L7.9,28H4l8-22h4L24,28z M17.2,19.4l-3-8.8c-0.1-0.3-0.2-0.7-0.3-1.4h-0.1	c-0.1,0.6-0.2,1-0.3,1.4l-2.9,8.8H17.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeIncreaseLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="22,8 30,8 26,4 "/><path class="c_1" d="M24,28h-3.9l-1.9-5.6H9.7L7.9,28H4l8-22h4L24,28z M17.2,19.4l-3-8.8c-0.1-0.3-0.2-0.7-0.3-1.4h-0.1	c-0.1,0.6-0.2,1-0.3,1.4l-2.9,8.8H17.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FooterNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><g class="op75_5_1"><rect x="8" y="18" class="c_1" width="14" height="6"/></g><g class="op75_5_1">	<path class="c_1" d="M22,8H8V6h14V8z M22,10H8v2h14V10z M22,14H8v2h14V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FooterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><g class="op75_5_1"><rect x="8" y="18" class="c_1" width="14" height="6"/></g><g class="op75_5_1">	<path class="c_1" d="M22,8H8V6h14V8z M22,10H8v2h14V10z M22,14H8v2h14V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FullScreenNew" viewBox="0 0 32 32"><g id="FullScreen">	<polygon class="c_1" points="2,12 6,12 6,6 12,6 12,2 2,2 	"/>	<polygon class="c_1" points="6,20 2,20 2,30 12,30 12,26 6,26 	"/>	<polygon class="c_1" points="20,2 20,6 26,6 26,12 30,12 30,2 	"/>	<polygon class="c_1" points="26,26 20,26 20,30 30,30 30,20 26,20 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FullScreenLargeNew" viewBox="0 0 32 32"><g id="FullScreen">	<polygon class="c_1" points="2,12 6,12 6,6 12,6 12,2 2,2 	"/>	<polygon class="c_1" points="6,20 2,20 2,30 12,30 12,26 6,26 	"/>	<polygon class="c_1" points="20,2 20,6 26,6 26,12 30,12 30,2 	"/>	<polygon class="c_1" points="26,26 20,26 20,30 30,30 30,20 26,20 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToFooterNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10H10V4h18V10z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="24" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToFooterLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10H10V4h18V10z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="24" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToHeaderNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,30H10v-6h18V30z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="4" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToHeaderLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,30H10v-6h18V30z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="4" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToNextHeaderFooterNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="24,20 24,32 30,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="24,20 24,32 30,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_GoToPreviousHeaderFooterNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="30,20 30,32 24,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="30,20 30,32 24,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_HeaderNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><rect x="8" y="6" class="c_1" width="14" height="6"/><g class="op75_5_1">	<path class="c_1" d="M22,16H8v-2h14V16z M22,18H8v2h14V18z M22,22H8v2h14V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_HeaderLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><rect x="8" y="6" class="c_1" width="14" height="6"/><g class="op75_5_1">	<path class="c_1" d="M22,16H8v-2h14V16z M22,18H8v2h14V18z M22,22H8v2h14V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_HighlightNew" viewBox="0 0 32 32"><g id="Highlight">	<path class="c_1" d="M0.8,5.4c0.3-0.4,0.7-0.8,1.1-1C2.3,4.1,2.8,4,3.4,3.8C4,3.7,4.5,3.6,5.1,3.6c0.5,0,1,0,1.6,0.1		c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.7,0.5,1,0.9s0.4,0.9,0.4,1.5v5.3c0,0.5,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9H7.1		C7,13.9,7,13.7,6.9,13.5c0-0.2-0.1-0.3-0.1-0.5c-0.4,0.5-1,0.8-1.6,1S4,14.3,3.4,14.3c-0.5,0-0.9-0.1-1.4-0.2		c-0.3-0.1-0.7-0.3-1-0.6S0.4,13,0.3,12.6C0.1,12.2,0,11.8,0,11.2s0.1-1,0.3-1.4s0.5-0.7,0.8-0.9s0.7-0.4,1.1-0.5S3,8.2,3.4,8.2		C3.9,8.1,4.3,8.1,4.7,8c0.4,0,0.8-0.1,1.1-0.2c0.3-0.1,0.6-0.2,0.7-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3,0-0.5-0.1-0.7		C6.5,5.9,6.4,5.8,6.2,5.7C6,5.6,5.9,5.5,5.6,5.5c-0.2,0-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.4C3.3,6,3.2,6.4,3.1,7H0.3		C0.4,6.3,0.5,5.8,0.8,5.4z M6.3,9.3C6.1,9.4,5.9,9.4,5.7,9.4c-0.2,0-0.4,0.1-0.6,0.1S4.7,9.6,4.4,9.6C4.2,9.7,4,9.7,3.8,9.8		C3.6,9.9,3.4,10,3.3,10.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0,0.5,0.1,0.6C3,11.9,3.1,12,3.3,12.1		c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,1-0.1,1.3-0.3c0.3-0.2,0.5-0.4,0.7-0.7c0.1-0.3,0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6		V9C6.6,9.2,6.5,9.2,6.3,9.3z M14.5,0v5.1l0,0c0.3-0.5,0.8-0.9,1.4-1.1c0.6-0.2,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3s0.9,0.5,1.3,1		c0.4,0.4,0.7,1,1,1.7c0.2,0.7,0.4,1.5,0.4,2.4c0,0.9-0.1,1.7-0.4,2.4c-0.2,0.7-0.6,1.2-1,1.7c-0.4,0.4-0.8,0.8-1.3,1		s-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1.2l0,0V14h-2.6V0H14.5z M19,7.7c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.7-0.3-1.1-0.3S16,5.8,15.7,6c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2s0,0.8,0.1,1.2s0.2,0.7,0.4,1s0.4,0.5,0.7,0.7s0.7,0.3,1.1,0.3s0.8-0.1,1.1-0.3c0.3-0.2,0.5-0.4,0.7-0.7		s0.3-0.6,0.4-1s0.1-0.8,0.1-1.2S19.1,8.1,19,7.7z"/>	<path class="c_1" d="M29,15l-8,8l-4-4l8-8L29,15z M30,14l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,8.3c-0.4-0.4-1-0.4-1.3,0L26,10L30,14z		 M16,20v4h4L16,20z"/>	<g class="op75_5_1"><rect y="26" class="c_1" width="32" height="6"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_HighlightLargeNew" viewBox="0 0 32 32"><g id="Highlight">	<path class="c_1" d="M0.8,5.4c0.3-0.4,0.7-0.8,1.1-1C2.3,4.1,2.8,4,3.4,3.8C4,3.7,4.5,3.6,5.1,3.6c0.5,0,1,0,1.6,0.1		c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.7,0.5,1,0.9s0.4,0.9,0.4,1.5v5.3c0,0.5,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9H7.1		C7,13.9,7,13.7,6.9,13.5c0-0.2-0.1-0.3-0.1-0.5c-0.4,0.5-1,0.8-1.6,1S4,14.3,3.4,14.3c-0.5,0-0.9-0.1-1.4-0.2		c-0.3-0.1-0.7-0.3-1-0.6S0.4,13,0.3,12.6C0.1,12.2,0,11.8,0,11.2s0.1-1,0.3-1.4s0.5-0.7,0.8-0.9s0.7-0.4,1.1-0.5S3,8.2,3.4,8.2		C3.9,8.1,4.3,8.1,4.7,8c0.4,0,0.8-0.1,1.1-0.2c0.3-0.1,0.6-0.2,0.7-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3,0-0.5-0.1-0.7		C6.5,5.9,6.4,5.8,6.2,5.7C6,5.6,5.9,5.5,5.6,5.5c-0.2,0-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.4C3.3,6,3.2,6.4,3.1,7H0.3		C0.4,6.3,0.5,5.8,0.8,5.4z M6.3,9.3C6.1,9.4,5.9,9.4,5.7,9.4c-0.2,0-0.4,0.1-0.6,0.1S4.7,9.6,4.4,9.6C4.2,9.7,4,9.7,3.8,9.8		C3.6,9.9,3.4,10,3.3,10.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0,0.5,0.1,0.6C3,11.9,3.1,12,3.3,12.1		c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,1-0.1,1.3-0.3c0.3-0.2,0.5-0.4,0.7-0.7c0.1-0.3,0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6		V9C6.6,9.2,6.5,9.2,6.3,9.3z M14.5,0v5.1l0,0c0.3-0.5,0.8-0.9,1.4-1.1c0.6-0.2,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3s0.9,0.5,1.3,1		c0.4,0.4,0.7,1,1,1.7c0.2,0.7,0.4,1.5,0.4,2.4c0,0.9-0.1,1.7-0.4,2.4c-0.2,0.7-0.6,1.2-1,1.7c-0.4,0.4-0.8,0.8-1.3,1		s-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1.2l0,0V14h-2.6V0H14.5z M19,7.7c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.7-0.3-1.1-0.3S16,5.8,15.7,6c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2s0,0.8,0.1,1.2s0.2,0.7,0.4,1s0.4,0.5,0.7,0.7s0.7,0.3,1.1,0.3s0.8-0.1,1.1-0.3c0.3-0.2,0.5-0.4,0.7-0.7		s0.3-0.6,0.4-1s0.1-0.8,0.1-1.2S19.1,8.1,19,7.7z"/>	<path class="c_1" d="M29,15l-8,8l-4-4l8-8L29,15z M30,14l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,8.3c-0.4-0.4-1-0.4-1.3,0L26,10L30,14z		 M16,20v4h4L16,20z"/>	<g class="op75_5_1"><rect y="26" class="c_1" width="32" height="6"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_HyperlinkNew" viewBox="0 0 32 32"><g id="Hyperlink">	<path class="c_1" d="M10.3,21.7c0.4,0.4,1,0.4,1.4,0l10-10c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-10,10		C9.9,20.7,9.9,21.3,10.3,21.7z"/>	<path class="c_1" d="M15.4,19.5c0.5,1.1,0.3,2.5-0.6,3.4l-4.2,4.2c-1.2,1.2-3.1,1.2-4.2,0l-1.4-1.4c-1.2-1.2-1.2-3.1,0-4.2		l4.2-4.2c0.9-0.9,2.3-1.1,3.4-0.6l1.5-1.5c-1.9-1.3-4.6-1.1-6.3,0.6l-4.2,4.2c-2,2-2,5.1,0,7.1l1.4,1.4c2,2,5.1,2,7.1,0l4.2-4.2		c1.7-1.7,1.9-4.3,0.6-6.3L15.4,19.5z"/>	<path class="c_1" d="M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4		l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6		l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_HyperlinkLargeNew" viewBox="0 0 32 32"><g id="Hyperlink">	<path class="c_1" d="M10.3,21.7c0.4,0.4,1,0.4,1.4,0l10-10c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-10,10		C9.9,20.7,9.9,21.3,10.3,21.7z"/>	<path class="c_1" d="M15.4,19.5c0.5,1.1,0.3,2.5-0.6,3.4l-4.2,4.2c-1.2,1.2-3.1,1.2-4.2,0l-1.4-1.4c-1.2-1.2-1.2-3.1,0-4.2		l4.2-4.2c0.9-0.9,2.3-1.1,3.4-0.6l1.5-1.5c-1.9-1.3-4.6-1.1-6.3,0.6l-4.2,4.2c-2,2-2,5.1,0,7.1l1.4,1.4c2,2,5.1,2,7.1,0l4.2-4.2		c1.7-1.7,1.9-4.3,0.6-6.3L15.4,19.5z"/>	<path class="c_1" d="M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4		l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6		l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ImagePlaceHolderNew" viewBox="0 0 32 32"><circle class="c_1" cx="21" cy="11" r="3"/><polygon class="c_1" points="20,24 10,14 6,18 6,24 "/><g class="op50_26_1">	<polygon class="c_1" points="22,24 18,20 20,18 26,24 	"/></g><g>	<rect x="14" y="28" class="c_1" width="2" height="2"/>	<rect x="22" y="28" class="c_1" width="2" height="2"/>	<rect x="18" y="28" class="c_1" width="2" height="2"/>	<rect x="6" y="28" class="c_1" width="2" height="2"/>	<rect x="10" y="28" class="c_1" width="2" height="2"/></g><g>	<rect x="18" y="4" class="c_1" width="2" height="2"/>	<rect x="10" y="4" class="c_1" width="2" height="2"/>	<rect x="14" y="4" class="c_1" width="2" height="2"/>	<rect x="22" y="4" class="c_1" width="2" height="2"/>	<rect x="6" y="4" class="c_1" width="2" height="2"/></g><g>	<rect y="14" class="c_1" width="2" height="2"/>	<rect y="18" class="c_1" width="2" height="2"/>	<rect y="22" class="c_1" width="2" height="2"/>	<rect y="10" class="c_1" width="2" height="2"/>	<path class="c_1" d="M1,4C0.5,4,0,4.5,0,5v3h2V6h2V4H1z"/>	<path class="c_1" d="M2,26H0v3c0,0.5,0.5,1,1,1h3v-2H2V26z"/></g><g>	<path class="c_1" d="M28,8h2V5c0-0.5-0.5-1-1-1h-3v2h2V8z"/>	<rect x="28" y="18" class="c_1" width="2" height="2"/>	<rect x="28" y="22" class="c_1" width="2" height="2"/>	<path class="c_1" d="M28,26v2h-2v2h3c0.5,0,1-0.5,1-1v-3H28z"/>	<rect x="28" y="14" class="c_1" width="2" height="2"/>	<rect x="28" y="10" class="c_1" width="2" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ImagePlaceHolderLargeNew" viewBox="0 0 32 32"><circle class="c_1" cx="21" cy="11" r="3"/><polygon class="c_1" points="20,24 10,14 6,18 6,24 "/><g class="op50_26_1">	<polygon class="c_1" points="22,24 18,20 20,18 26,24 	"/></g><g>	<rect x="14" y="28" class="c_1" width="2" height="2"/>	<rect x="22" y="28" class="c_1" width="2" height="2"/>	<rect x="18" y="28" class="c_1" width="2" height="2"/>	<rect x="6" y="28" class="c_1" width="2" height="2"/>	<rect x="10" y="28" class="c_1" width="2" height="2"/></g><g>	<rect x="18" y="4" class="c_1" width="2" height="2"/>	<rect x="10" y="4" class="c_1" width="2" height="2"/>	<rect x="14" y="4" class="c_1" width="2" height="2"/>	<rect x="22" y="4" class="c_1" width="2" height="2"/>	<rect x="6" y="4" class="c_1" width="2" height="2"/></g><g>	<rect y="14" class="c_1" width="2" height="2"/>	<rect y="18" class="c_1" width="2" height="2"/>	<rect y="22" class="c_1" width="2" height="2"/>	<rect y="10" class="c_1" width="2" height="2"/>	<path class="c_1" d="M1,4C0.5,4,0,4.5,0,5v3h2V6h2V4H1z"/>	<path class="c_1" d="M2,26H0v3c0,0.5,0.5,1,1,1h3v-2H2V26z"/></g><g>	<path class="c_1" d="M28,8h2V5c0-0.5-0.5-1-1-1h-3v2h2V8z"/>	<rect x="28" y="18" class="c_1" width="2" height="2"/>	<rect x="28" y="22" class="c_1" width="2" height="2"/>	<path class="c_1" d="M28,26v2h-2v2h3c0.5,0,1-0.5,1-1v-3H28z"/>	<rect x="28" y="14" class="c_1" width="2" height="2"/>	<rect x="28" y="10" class="c_1" width="2" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_IndentDecreaseNew" viewBox="0 0 32 32"><g id="IndentDecrease">	<path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z"		/>	<path class="c_1" d="M14,16h-4v3l-6-4l6-4v3h4V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_IndentDecreaseLargeNew" viewBox="0 0 32 32"><g id="IndentDecrease">	<path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z"		/>	<path class="c_1" d="M14,16h-4v3l-6-4l6-4v3h4V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_IndentIncreaseNew" viewBox="0 0 32 32"><path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z	"/><path class="c_1" d="M4,14h4v-3l6,4l-6,4v-3H4V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_IndentIncreaseLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z	"/><path class="c_1" d="M4,14h4v-3l6,4l-6,4v-3H4V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertCaptionNew" viewBox="0 0 32 32"><polygon class="c_1" points="10,23 4,19 4,22 0,22 0,24 4,24 4,27 "/><g class="op50_26_1">	<rect x="12" y="8" class="c_1" width="14" height="12"/></g><path class="c_1" d="M31,0H7C6.4,0,6,0.4,6,1v17l2,1.3V2h22v28H8v-3.3L6,28v3c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C32,0.4,31.6,0,31,0z M26,24H12v-2h14V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertCaptionLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="10,23 4,19 4,22 0,22 0,24 4,24 4,27 "/><g class="op50_26_1">	<rect x="12" y="8" class="c_1" width="14" height="12"/></g><path class="c_1" d="M31,0H7C6.4,0,6,0.4,6,1v17l2,1.3V2h22v28H8v-3.3L6,28v3c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C32,0.4,31.6,0,31,0z M26,24H12v-2h14V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertColumnBreakNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v12.6l2,1.3V2h22v26H6v-2.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M16,8h-6V6h6V8z M16,10h-6v2h6V10z M16,14h-6v2h6V14z M4,24l6-4l-6-4V24z"/><path class="c_1" d="M24,6h-6v2h6V6z M24,10h-6v2h6V10z M24,14h-6v2h6V14z M24,18h-6v2h6V18z M24,22h-6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertColumnBreakLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v12.6l2,1.3V2h22v26H6v-2.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M16,8h-6V6h6V8z M16,10h-6v2h6V10z M16,14h-6v2h6V14z M4,24l6-4l-6-4V24z"/><path class="c_1" d="M24,6h-6v2h6V6z M24,10h-6v2h6V10z M24,14h-6v2h6V14z M24,18h-6v2h6V18z M24,22h-6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertDataFieldNew" viewBox="0 0 32 32"><g id="InsertField">	<g class="op75_5_1"><path class="c_1" d="M26,24H14v-2h12V24z M29,4h-5v2h4v22H12v-5.2l-2,1.3V29c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V5		C30,4.5,29.5,4,29,4z M26,14h-2H14v2h12V14z"/></g>	<path class="c_1" d="M8,18.1H6v-4H4v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V18.1z"/>	<g class="op75_5_1"><path class="c_1" d="M22,11V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v10c0,0.5,0.5,1,1,1h20C21.5,12,22,11.5,22,11z M16,18h10v2H16		V18z"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertDataFieldLargeNew" viewBox="0 0 32 32"><g id="InsertField">	<g class="op75_5_1"><path class="c_1" d="M26,24H14v-2h12V24z M29,4h-5v2h4v22H12v-5.2l-2,1.3V29c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V5		C30,4.5,29.5,4,29,4z M26,14h-2H14v2h12V14z"/></g>	<path class="c_1" d="M8,18.1H6v-4H4v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V18.1z"/>	<g class="op75_5_1"><path class="c_1" d="M22,11V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v10c0,0.5,0.5,1,1,1h20C21.5,12,22,11.5,22,11z M16,18h10v2H16		V18z"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertEquationCaptionNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertEquationCaptionLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertFigureCaptionNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertFigureCaptionLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertFloatingObjectImageNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertImageNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertImageLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageBreakNew" viewBox="0 0 32 32"><polyline class="c_1" points="0,20 6,16 0,12 "/><path class="c_1" d="M8,30V19c0-0.6,0.4-1,1-1h14l7,7v5h-2v-4h-5c-0.6,0-1-0.4-1-1v-5H10v10H8z M28,2v10H10V2H8v11	c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageBreakLargeNew" viewBox="0 0 32 32"><polyline class="c_1" points="0,20 6,16 0,12 "/><path class="c_1" d="M8,30V19c0-0.6,0.4-1,1-1h14l7,7v5h-2v-4h-5c-0.6,0-1-0.4-1-1v-5H10v10H8z M28,2v10H10V2H8v11	c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageCountNew" viewBox="0 0 32 32"><path class="c_1" d="M27,6h-3V3c0-0.5-0.5-1-1-1H3C2.5,2,2,2.5,2,3v22c0,0.5,0.5,1,1,1h3v3c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V7	C28,6.5,27.5,6,27,6z M6,7v17H4V4h18v2H7C6.5,6,6,6.5,6,7z M26,28H8V8h18V28z"/><path class="c_1" d="M22,15.3l-0.3,1.6H20l-0.5,2.3h1.8L21,20.8h-1.7L18.5,24h-1.8l0.6-3.2h-2L14.8,24H13l0.6-3.2H12l0.3-1.6H14	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H21l-0.7,3.3H22z M18.3,16.9h-2l-0.5,2.3h2L18.3,16.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageCountLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,6h-3V3c0-0.5-0.5-1-1-1H3C2.5,2,2,2.5,2,3v22c0,0.5,0.5,1,1,1h3v3c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V7	C28,6.5,27.5,6,27,6z M6,7v17H4V4h18v2H7C6.5,6,6,6.5,6,7z M26,28H8V8h18V28z"/><path class="c_1" d="M22,15.3l-0.3,1.6H20l-0.5,2.3h1.8L21,20.8h-1.7L18.5,24h-1.8l0.6-3.2h-2L14.8,24H13l0.6-3.2H12l0.3-1.6H14	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H21l-0.7,3.3H22z M18.3,16.9h-2l-0.5,2.3h2L18.3,16.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageNumberNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,28H6V4h18V28z"/><path class="c_1" d="M20,13.3l-0.3,1.6H18l-0.5,2.3h1.8L19,18.8h-1.7L16.5,22h-1.8l0.6-3.2h-2L12.8,22H11l0.6-3.2H10l0.3-1.6H12	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H19l-0.7,3.3H20z M16.3,14.9h-2l-0.5,2.3h2L16.3,14.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageNumberLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,28H6V4h18V28z"/><path class="c_1" d="M20,13.3l-0.3,1.6H18l-0.5,2.3h1.8L19,18.8h-1.7L16.5,22h-1.8l0.6-3.2h-2L12.8,22H11l0.6-3.2H10l0.3-1.6H12	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H19l-0.7,3.3H20z M16.3,14.9h-2l-0.5,2.3h2L16.3,14.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakContinuousNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v10.6l2,1.3V2h22v26H6v-4.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M24,8H12V6h12V8z M24,10H12v2h12V10z M24,14H12v2h12V14z M4,22l6-4l-6-4V22z"/><path class="c_1" d="M24,18H12v2h12V18z M24,22H12v2h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v10.6l2,1.3V2h22v26H6v-4.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M24,8H12V6h12V8z M24,10H12v2h12V10z M24,14H12v2h12V14z M4,22l6-4l-6-4V22z"/><path class="c_1" d="M24,18H12v2h12V18z M24,22H12v2h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakEvenPageNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M0,12l6,4l-6,4 M22,10V8.4h-3.4C18.7,8.2,18.9,8.1,19,8c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8V5.2c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C18.3,6.6,18,6.8,17.7,7c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V10H22z"/><path class="c_1" d="M18,30v-2h-3v-1.7l3.4-4.3H20l0,4.3h1V28h-1l0,2H18z M18,26.3v-1.5l-1.3,1.5H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M0,12l6,4l-6,4 M22,10V8.4h-3.4C18.7,8.2,18.9,8.1,19,8c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8V5.2c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C18.3,6.6,18,6.8,17.7,7c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V10H22z"/><path class="c_1" d="M18,30v-2h-3v-1.7l3.4-4.3H20l0,4.3h1V28h-1l0,2H18z M18,26.3v-1.5l-1.3,1.5H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakNextPageNew" viewBox="0 0 32 32"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/><path class="c_1" d="M0,12l6,4l-6,4 M24,6H14v2h10V6z M24,4H14V2h10V4z"/><path class="c_1" d="M24,30H14v-2h10V30z M24,24H14v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/><path class="c_1" d="M0,12l6,4l-6,4 M24,6H14v2h10V6z M24,4H14V2h10V4z"/><path class="c_1" d="M24,30H14v-2h10V30z M24,24H14v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakOddPageNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M20,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8c0.2-0.3,0.2-0.7,0.2-1.1c0-0.5-0.1-0.9-0.4-1.2	c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1c-0.2-0.3-0.4-0.5-0.6-0.7	c-0.2-0.2-0.5-0.3-0.8-0.4C19.5,22,19.2,22,18.9,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6c-0.2,0.2-0.4,0.5-0.6,0.9	c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3c0.2,0,0.5,0.1,0.6,0.2	c0.2,0.1,0.3,0.3,0.3,0.6c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.1,0-0.2,0-0.3,0	c-0.1,0-0.4,0-0.5,0l-0.2,0v1.4h0.1c0.2,0,0.6,0,0.8,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.1,0.3,0.1,0.6	c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.4	c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H16l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9c0.3,0.2,0.6,0.4,0.9,0.6	c0.4,0.1,0.8,0.2,1.2,0.2C19.3,30,19.6,29.9,20,29.8z"/><path class="c_1" d="M0,12l6,4l-6,4 M18.4,2l0,0.1c0,0.3-0.1,0.5-0.3,0.7c-0.1,0.2-0.3,0.4-0.5,0.5c-0.2,0.1-0.4,0.2-0.7,0.3	c-0.2,0-0.5,0.1-0.7,0.1l-0.2,0v1.6l2,0V10h2V2H18.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M20,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8c0.2-0.3,0.2-0.7,0.2-1.1c0-0.5-0.1-0.9-0.4-1.2	c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1c-0.2-0.3-0.4-0.5-0.6-0.7	c-0.2-0.2-0.5-0.3-0.8-0.4C19.5,22,19.2,22,18.9,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6c-0.2,0.2-0.4,0.5-0.6,0.9	c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3c0.2,0,0.5,0.1,0.6,0.2	c0.2,0.1,0.3,0.3,0.3,0.6c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.1,0-0.2,0-0.3,0	c-0.1,0-0.4,0-0.5,0l-0.2,0v1.4h0.1c0.2,0,0.6,0,0.8,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.1,0.3,0.1,0.6	c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.4	c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H16l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9c0.3,0.2,0.6,0.4,0.9,0.6	c0.4,0.1,0.8,0.2,1.2,0.2C19.3,30,19.6,29.9,20,29.8z"/><path class="c_1" d="M0,12l6,4l-6,4 M18.4,2l0,0.1c0,0.3-0.1,0.5-0.3,0.7c-0.1,0.2-0.3,0.4-0.5,0.5c-0.2,0.1-0.4,0.2-0.7,0.3	c-0.2,0-0.5,0.1-0.7,0.1l-0.2,0v1.6l2,0V10h2V2H18.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCaptionNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,12h8v6h-8V12z M12,12v6h8v-6H12z M10,18v-6H2v6H10z M22,26h8v-6h-8V26z M12,20v6h8v-6H12z M10,26v-6H2v6		H10z"/></g><rect x="2" y="4" class="c_1" width="28" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCaptionLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,12h8v6h-8V12z M12,12v6h8v-6H12z M10,18v-6H2v6H10z M22,26h8v-6h-8V26z M12,20v6h8v-6H12z M10,26v-6H2v6		H10z"/></g><rect x="2" y="4" class="c_1" width="28" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M30,6H20V0h10V6z M30,16H20v6h10V16z M30,24H20v6h10V24z"/></g><polygon class="c_1" points="12,10 12,12 18,12 18,14 22,11 18,8 18,10 "/><rect y="8" class="c_1" width="10" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M30,6H20V0h10V6z M30,16H20v6h10V16z M30,24H20v6h10V24z"/></g><polygon class="c_1" points="12,10 12,12 18,12 18,14 22,11 18,8 18,10 "/><rect y="8" class="c_1" width="10" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M30,12h-8v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M6,13h4v4H6v2l-4-4l4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M30,12h-8v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M6,13h4v4H6v2l-4-4l4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheRightNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M26,13h-4v4h4v2l4-4l-4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M26,13h-4v4h4v2l4-4l-4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfCaptionsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,20h-2v2h2V20z M22,24h-2v2h2V24z M22,16h-2v2h2V16z"/></g><path class="c_1" d="M26,16h-2v2h2V16z M26,20h-2v2h2V20z M26,24h-2v2h2V24z"/><path class="c_1" d="M12,26v-2h6v2H12z M18,22v-2h-6v2H18z M31,0H7C6.4,0,6,0.4,6,1v14.9l2,1.3V2h22v28H8v-5.3l-2,1.3V31	c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M18,16h-6v2h6V16z"/><polygon class="c_1" points="10,21 4,17 4,20 0,20 0,22 4,22 4,25 "/><g class="op50_26_1">	<rect x="12" y="6" class="c_1" width="14" height="8"/></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,20h-2v2h2V20z M22,24h-2v2h2V24z M22,16h-2v2h2V16z"/></g><path class="c_1" d="M26,16h-2v2h2V16z M26,20h-2v2h2V20z M26,24h-2v2h2V24z"/><path class="c_1" d="M12,26v-2h6v2H12z M18,22v-2h-6v2H18z M31,0H7C6.4,0,6,0.4,6,1v14.9l2,1.3V2h22v28H8v-5.3l-2,1.3V31	c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M18,16h-6v2h6V16z"/><polygon class="c_1" points="10,21 4,17 4,20 0,20 0,22 4,22 4,25 "/><g class="op50_26_1">	<rect x="12" y="6" class="c_1" width="14" height="8"/></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfContentsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,18h-2v2h2V18z M20,22h-2v2h2V22z M20,14h-2v2h2V14z M16,8h-2V6h2V8z		 M16,10h-2v2h2V10z M16,18h-2v2h2V18z M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z M24,18h-2v2h2V18z M24,22h-2v2h2V22z"/><path class="c_1" d="M27,0H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C28,0.4,27.6,0,27,0z M26,28H4V2h22V28z	 M12,8H6V6h6V8z M12,10H6v2h6V10z M12,14H6v2h6V14z M12,18H6v2h6V18z M12,22H6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfContentsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,18h-2v2h2V18z M20,22h-2v2h2V22z M20,14h-2v2h2V14z M16,8h-2V6h2V8z		 M16,10h-2v2h2V10z M16,18h-2v2h2V18z M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z M24,18h-2v2h2V18z M24,22h-2v2h2V22z"/><path class="c_1" d="M27,0H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C28,0.4,27.6,0,27,0z M26,28H4V2h22V28z	 M12,8H6V6h6V8z M12,10H6v2h6V10z M12,14H6v2h6V14z M12,18H6v2h6V18z M12,22H6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfEquationsNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfEquationsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfFiguresNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfFiguresLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsAboveNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,20h-8v6h8V20z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,6 16,2 12,6 14,6 14,10 18,10 18,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsAboveLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,20h-8v6h8V20z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,6 16,2 12,6 14,6 14,10 18,10 18,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsBelowNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,24 16,28 12,24 14,24 14,20 18,20 18,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsBelowLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,24 16,28 12,24 14,24 14,20 18,20 18,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTextBoxNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,28H6V4h20V28z"/><g class="op75_5_1">	<path class="c_1" d="M24,26H8v-2h16V26z M24,20H8v2h16V20z"/></g><path class="c_1" d="M22,18h-3l-0.9-2.7h-4.3L13,18h-3l4.4-12h3.2L22,18z M17.5,13.3l-1.3-4c-0.1-0.3-0.2-0.7-0.2-1.1h-0.1	c0,0.4-0.1,0.7-0.2,1l-1.3,4.1H17.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTextBoxLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,28H6V4h20V28z"/><g class="op75_5_1">	<path class="c_1" d="M24,26H8v-2h16V26z M24,20H8v2h16V20z"/></g><path class="c_1" d="M22,18h-3l-0.9-2.7h-4.3L13,18h-3l4.4-12h3.2L22,18z M17.5,13.3l-1.3-4c-0.1-0.3-0.2-0.7-0.2-1.1h-0.1	c0,0.4-0.1,0.7-0.2,1l-1.3,4.1H17.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_ItalicNew" viewBox="0 0 32 32"><polygon class="c_1" points="21.6,6 22,4 14,4 13.6,6 15.8,6 12,24 9.8,24 9.4,26 17.6,26 17.8,24 15.6,24 19.4,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_ItalicLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="21.6,6 22,4 14,4 13.6,6 15.8,6 12,24 9.8,24 9.4,26 17.6,26 17.8,24 15.6,24 19.4,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_LanguageNew" viewBox="0 0 32 32"><path class="c_1" d="M3.3,28c1.3-1.1,2.9-1.7,4.7-1.9v3.9C6.2,29.7,4.6,29.1,3.3,28z M14.9,18l-2,2h5.1c-0.1-0.7-0.3-1.4-0.5-2	H14.9z M10,22v2.1c2.3,0.2,4.4,1.1,6.1,2.5c1-1.3,1.7-2.9,1.9-4.6h-7.1H10z M1.9,26.6c1.7-1.4,3.8-2.3,6.1-2.5V22H0.1	C0.2,23.7,0.9,25.3,1.9,26.6z M10,29.9c1.8-0.2,3.4-0.9,4.7-1.9c-1.3-1.1-2.9-1.7-4.7-1.9V29.9z M5,18c-1.5,0-2.7-1.1-2.9-2.5	c0,0-0.1-0.1-0.1-0.1c-1,1.3-1.7,2.9-1.9,4.6H8v-2H7H5z"/><g class="op50_26_1"><path class="c_1" d="M29,0H5C4.5,0,4,0.5,4,1v14c0,0.5,0.5,1,1,1h5v4l4-4h15c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z"/></g><path class="c_1" d="M13.9,12h-2l-0.6-1.8H8.5L8,12H6l2.9-8H11L13.9,12z M10.9,8.8l-0.9-2.7C10,5.9,10,5.7,10,5.4h0	c0,0.2-0.1,0.5-0.1,0.7L8.9,8.8H10.9z M14.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5c0.5,0.3,0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1	c-0.3,0.3-0.7,0.5-1.1,0.7v0c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3c0,0.7-0.3,1.3-0.8,1.7C19.6,11.8,18.9,12,18,12H14.9z	 M16.7,5.3v1.9h0.8c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H16.7z M16.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3	c0.2-0.2,0.4-0.5,0.4-0.8c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3H16.7z M27.9,11.7c-0.6,0.3-1.3,0.4-2.3,0.4	c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7	c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9c0,0.8,0.2,1.4,0.7,1.8s1,0.7,1.8,0.7	c0.7,0,1.3-0.2,1.9-0.5V11.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_LanguageLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M3.3,28c1.3-1.1,2.9-1.7,4.7-1.9v3.9C6.2,29.7,4.6,29.1,3.3,28z M14.9,18l-2,2h5.1c-0.1-0.7-0.3-1.4-0.5-2	H14.9z M10,22v2.1c2.3,0.2,4.4,1.1,6.1,2.5c1-1.3,1.7-2.9,1.9-4.6h-7.1H10z M1.9,26.6c1.7-1.4,3.8-2.3,6.1-2.5V22H0.1	C0.2,23.7,0.9,25.3,1.9,26.6z M10,29.9c1.8-0.2,3.4-0.9,4.7-1.9c-1.3-1.1-2.9-1.7-4.7-1.9V29.9z M5,18c-1.5,0-2.7-1.1-2.9-2.5	c0,0-0.1-0.1-0.1-0.1c-1,1.3-1.7,2.9-1.9,4.6H8v-2H7H5z"/><g class="op50_26_1"><path class="c_1" d="M29,0H5C4.5,0,4,0.5,4,1v14c0,0.5,0.5,1,1,1h5v4l4-4h15c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z"/></g><path class="c_1" d="M13.9,12h-2l-0.6-1.8H8.5L8,12H6l2.9-8H11L13.9,12z M10.9,8.8l-0.9-2.7C10,5.9,10,5.7,10,5.4h0	c0,0.2-0.1,0.5-0.1,0.7L8.9,8.8H10.9z M14.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5c0.5,0.3,0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1	c-0.3,0.3-0.7,0.5-1.1,0.7v0c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3c0,0.7-0.3,1.3-0.8,1.7C19.6,11.8,18.9,12,18,12H14.9z	 M16.7,5.3v1.9h0.8c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H16.7z M16.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3	c0.2-0.2,0.4-0.5,0.4-0.8c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3H16.7z M27.9,11.7c-0.6,0.3-1.3,0.4-2.3,0.4	c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7	c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9c0,0.8,0.2,1.4,0.7,1.8s1,0.7,1.8,0.7	c0.7,0,1.3-0.2,1.9-0.5V11.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_LastNew" viewBox="0 0 32 32"><path class="c_1" d="M21.6,14.5c0.5,0.3,0.5,0.8,0,1.1L4.9,25.9C4.4,26.2,4,25.9,4,25.4V4.6c0-0.6,0.4-0.8,0.9-0.5L21.6,14.5z	 M28,25V5c0-0.6-0.5-1-1-1h-2c-0.5,0-1,0.4-1,1v20c0,0.5,0.5,1,1,1h2C27.5,26,28,25.5,28,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_LastLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M21.6,14.5c0.5,0.3,0.5,0.8,0,1.1L4.9,25.9C4.4,26.2,4,25.9,4,25.4V4.6c0-0.6,0.4-0.8,0.9-0.5L21.6,14.5z	 M28,25V5c0-0.6-0.5-1-1-1h-2c-0.5,0-1,0.4-1,1v20c0,0.5,0.5,1,1,1h2C27.5,26,28,25.5,28,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_LeftColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M12,8H2V6h10V8z M30,6H14v2h16V6z M12,10H2v2h10V10z M30,10H14v2h16V10z M12,14H2v2h10V14z M30,14H14v2h16V14z	 M12,18H2v2h10V18z M30,18H14v2h16V18z M12,22H2v2h10V22z M30,22H14v2h16V22z"/><rect x="2" y="2" class="c_1" width="10" height="2"/><rect x="14" y="2" class="c_1" width="16" height="2"/><rect x="2" y="26" class="c_1" width="10" height="2"/><rect x="14" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_LeftColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M12,8H2V6h10V8z M30,6H14v2h16V6z M12,10H2v2h10V10z M30,10H14v2h16V10z M12,14H2v2h10V14z M30,14H14v2h16V14z	 M12,18H2v2h10V18z M30,18H14v2h16V18z M12,22H2v2h10V22z M30,22H14v2h16V22z"/><rect x="2" y="2" class="c_1" width="10" height="2"/><rect x="14" y="2" class="c_1" width="16" height="2"/><rect x="2" y="26" class="c_1" width="10" height="2"/><rect x="14" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_LineNumberingNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M31,2H13c-0.5,0-1,0.5-1,1v26c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V3C32,2.5,31.5,2,31,2z M30,28H14V4h16V28z"	/></g><g class="op50_26_1"><path class="c_1" d="M26,12h-8v-2h8V12z M26,22h-8v-2h8V22z"/></g><path class="c_1" d="M4,6v8H2V9.3l-2,0V7.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M6,24v-1.6H2.6C2.7,22.2,2.9,22.1,3,22c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C2.3,20.6,2,20.8,1.7,21c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V24H6z M10,10H8v2h2V10z M10,20H8v2h2V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_LineNumberingLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M31,2H13c-0.5,0-1,0.5-1,1v26c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V3C32,2.5,31.5,2,31,2z M30,28H14V4h16V28z"	/></g><g class="op50_26_1"><path class="c_1" d="M26,12h-8v-2h8V12z M26,22h-8v-2h8V22z"/></g><path class="c_1" d="M4,6v8H2V9.3l-2,0V7.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M6,24v-1.6H2.6C2.7,22.2,2.9,22.1,3,22c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C2.3,20.6,2,20.8,1.7,21c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V24H6z M10,10H8v2h2V10z M10,20H8v2h2V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_LineSpacingNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,24h4l-5,5l-5-5h4v-6h2V24z M4,12h2V6h4L5,1L0,6h4V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_LineSpacingLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,24h4l-5,5l-5-5h4v-6h2V24z M4,12h2V6h4L5,1L0,6h4V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_LinkToPreviousNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M16,16H6v-6h10V16z M32,10H22v6h10V10z"/></g><path class="c_1" d="M14,16v11c0,0.5-0.5,1-1,1H3c-0.5,0-1-0.5-1-1V13c0-0.5,0.5-1,1-1h3v2H4v12h8V16H14z M28,16v10h-8V14h2v-2h-3	c-0.5,0-1,0.5-1,1v14c0,0.5,0.5,1,1,1h10c0.5,0,1-0.5,1-1V16H28z"/><path class="c_1" d="M10.9,2.9C12.7,1.1,15.2,0,18,0c4.8,0,8.9,3.4,9.8,8h-2.1c-0.9-3.4-4-6-7.7-6c-2.2,0-4.2,0.9-5.6,2.4L16,8H8V0	L10.9,2.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_LinkToPreviousLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M16,16H6v-6h10V16z M32,10H22v6h10V10z"/></g><path class="c_1" d="M14,16v11c0,0.5-0.5,1-1,1H3c-0.5,0-1-0.5-1-1V13c0-0.5,0.5-1,1-1h3v2H4v12h8V16H14z M28,16v10h-8V14h2v-2h-3	c-0.5,0-1,0.5-1,1v14c0,0.5,0.5,1,1,1h10c0.5,0,1-0.5,1-1V16H28z"/><path class="c_1" d="M10.9,2.9C12.7,1.1,15.2,0,18,0c4.8,0,8.9,3.4,9.8,8h-2.1c-0.9-3.4-4-6-7.7-6c-2.2,0-4.2,0.9-5.6,2.4L16,8H8V0	L10.9,2.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListBulletsNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H12V6h18V8z M30,16H12v-2h18V16z M30,24H12v-2h18V24z"/><path class="c_1" d="M8,7c0,1.7-1.3,3-3,3S2,8.7,2,7s1.3-3,3-3S8,5.3,8,7z M5,12c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,12,5,12	z M5,20c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,20,5,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListBulletsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H12V6h18V8z M30,16H12v-2h18V16z M30,24H12v-2h18V24z"/><path class="c_1" d="M8,7c0,1.7-1.3,3-3,3S2,8.7,2,7s1.3-3,3-3S8,5.3,8,7z M5,12c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,12,5,12	z M5,20c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,20,5,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListMultilevelNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M24,8H6V6h18V8z M28,18H10v-2h18V18z M32,28H14v-2h18V28z"/></g><path class="c_1" d="M4,2v8H2V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M5.4,20c0.3-0.1,0.6-0.3,0.8-0.5c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3l0,0.1h2l-0.1-0.2	c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.3,0-0.5,0-0.8v-3.3c0-0.4-0.1-0.8-0.3-1c-0.2-0.2-0.4-0.4-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.3	c-0.3,0-0.6-0.1-1-0.1c-0.3,0-0.7,0-1,0.1c-0.3,0.1-0.7,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.7-0.3,1.1l0,0.1h1.9	l0-0.1c0-0.3,0.1-0.5,0.3-0.7c0.2-0.1,0.4-0.2,0.7-0.2c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1C5.9,14.8,6,14.9,6,15	c0,0.1,0.1,0.2,0.1,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.1-0.2,0.1-0.4,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.5,0.1-0.8,0.1	c-0.3,0-0.5,0.1-0.8,0.2c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.3,0.1,0.6,0.2,0.9	c0.1,0.3,0.3,0.5,0.5,0.6C2.9,19.8,3.1,20,3.4,20c0.3,0.1,0.5,0.1,0.9,0.1C4.6,20.2,5,20.1,5.4,20z M6.1,17v0.4c0,0.1,0,0.2,0,0.4	c0,0.1-0.1,0.3-0.1,0.4c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.2-0.1-0.3-0.1	C4.1,18.6,4,18.5,4,18.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3,0.1-0.3c0-0.1,0.1-0.2,0.2-0.2c0.1-0.1,0.2-0.1,0.3-0.1	c0.1,0,0.2-0.1,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.4-0.1C6,17,6.1,17,6.1,17z M10,22H8v2h2V22z	 M10,30H8v-4.9h2V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListMultilevelLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M24,8H6V6h18V8z M28,18H10v-2h18V18z M32,28H14v-2h18V28z"/></g><path class="c_1" d="M4,2v8H2V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M5.4,20c0.3-0.1,0.6-0.3,0.8-0.5c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3l0,0.1h2l-0.1-0.2	c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.3,0-0.5,0-0.8v-3.3c0-0.4-0.1-0.8-0.3-1c-0.2-0.2-0.4-0.4-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.3	c-0.3,0-0.6-0.1-1-0.1c-0.3,0-0.7,0-1,0.1c-0.3,0.1-0.7,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.7-0.3,1.1l0,0.1h1.9	l0-0.1c0-0.3,0.1-0.5,0.3-0.7c0.2-0.1,0.4-0.2,0.7-0.2c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1C5.9,14.8,6,14.9,6,15	c0,0.1,0.1,0.2,0.1,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.1-0.2,0.1-0.4,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.5,0.1-0.8,0.1	c-0.3,0-0.5,0.1-0.8,0.2c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.3,0.1,0.6,0.2,0.9	c0.1,0.3,0.3,0.5,0.5,0.6C2.9,19.8,3.1,20,3.4,20c0.3,0.1,0.5,0.1,0.9,0.1C4.6,20.2,5,20.1,5.4,20z M6.1,17v0.4c0,0.1,0,0.2,0,0.4	c0,0.1-0.1,0.3-0.1,0.4c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.2-0.1-0.3-0.1	C4.1,18.6,4,18.5,4,18.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3,0.1-0.3c0-0.1,0.1-0.2,0.2-0.2c0.1-0.1,0.2-0.1,0.3-0.1	c0.1,0,0.2-0.1,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.4-0.1C6,17,6.1,17,6.1,17z M10,22H8v2h2V22z	 M10,30H8v-4.9h2V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListNumbersNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M30,8H12V6h18V8z M30,18H12v-2h18V18z M30,28H12v-2h18V28z"/></g><path class="c_1" d="M6,2v8H4V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H6z M8,20v-1.6H4.6C4.7,18.2,4.9,18.1,5,18c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C4.3,16.6,4,16.8,3.7,17c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V20H8z M6.1,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8C7.9,28.2,8,27.8,8,27.4	c0-0.5-0.1-0.9-0.4-1.2c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1	c-0.2-0.3-0.4-0.5-0.6-0.7c-0.2-0.2-0.5-0.3-0.8-0.4C5.7,22,5.4,22,5.1,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6	c-0.2,0.2-0.4,0.5-0.6,0.9c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3	c0.2,0,0.5,0.1,0.6,0.2C5.9,23.9,6,24.1,6,24.4c0,0.2,0,0.3-0.1,0.4C5.8,24.9,5.6,25,5.5,25c-0.1,0.1-0.3,0.1-0.5,0.1	c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.2,0l-0.2,0v1.4h0.1c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3	c0.1,0.1,0.1,0.3,0.1,0.6c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3	C4.1,28,4,27.8,4,27.7c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H2.2l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9	c0.3,0.2,0.6,0.4,0.9,0.6C4.2,29.9,4.6,30,5.1,30C5.4,30,5.8,29.9,6.1,29.8z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListNumbersLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M30,8H12V6h18V8z M30,18H12v-2h18V18z M30,28H12v-2h18V28z"/></g><path class="c_1" d="M6,2v8H4V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H6z M8,20v-1.6H4.6C4.7,18.2,4.9,18.1,5,18c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C4.3,16.6,4,16.8,3.7,17c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V20H8z M6.1,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8C7.9,28.2,8,27.8,8,27.4	c0-0.5-0.1-0.9-0.4-1.2c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1	c-0.2-0.3-0.4-0.5-0.6-0.7c-0.2-0.2-0.5-0.3-0.8-0.4C5.7,22,5.4,22,5.1,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6	c-0.2,0.2-0.4,0.5-0.6,0.9c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3	c0.2,0,0.5,0.1,0.6,0.2C5.9,23.9,6,24.1,6,24.4c0,0.2,0,0.3-0.1,0.4C5.8,24.9,5.6,25,5.5,25c-0.1,0.1-0.3,0.1-0.5,0.1	c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.2,0l-0.2,0v1.4h0.1c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3	c0.1,0.1,0.1,0.3,0.1,0.6c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3	C4.1,28,4,27.8,4,27.7c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H2.2l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9	c0.3,0.2,0.6,0.4,0.9,0.6C4.2,29.9,4.6,30,5.1,30C5.4,30,5.8,29.9,6.1,29.8z"/></symbol><symbol id="dxRichEdit_SVGIcon_MailMergeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,22H18v-2h10V22z M10,6c0-1.1,0.9-2,2-2h4V3c0-1.7-3.6-3-8-3S0,1.3,0,3v14c0,1.1,1.6,2.1,4,2.6V15	c0-0.5,0.5-1,1-1h3h1.1h0l0.9,0.6V6z"/><g class="op75_5_1"><path class="c_1" d="M16,16h12v2H16V16z M31,6H13c-0.5,0-1,0.5-1,1v8.9l2,1.3V8h16v22H14v-5.3l-2,1.3V31c0,0.5,0.5,1,1,1h18	c0.5,0,1-0.5,1-1V7C32,6.5,31.5,6,31,6z M28,12H16v2h12V12z M16,26h12v-2H16V26z"/></g><path class="c_1" d="M10,20H8v-4H6v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_MailMergeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,22H18v-2h10V22z M10,6c0-1.1,0.9-2,2-2h4V3c0-1.7-3.6-3-8-3S0,1.3,0,3v14c0,1.1,1.6,2.1,4,2.6V15	c0-0.5,0.5-1,1-1h3h1.1h0l0.9,0.6V6z"/><g class="op75_5_1"><path class="c_1" d="M16,16h12v2H16V16z M31,6H13c-0.5,0-1,0.5-1,1v8.9l2,1.3V8h16v22H14v-5.3l-2,1.3V31c0,0.5,0.5,1,1,1h18	c0.5,0,1-0.5,1-1V7C32,6.5,31.5,6,31,6z M28,12H16v2h12V12z M16,26h12v-2H16V26z"/></g><path class="c_1" d="M10,20H8v-4H6v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_MergeTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><rect x="12" y="8" class="c_1" width="18" height="14"/></symbol><symbol id="dxRichEdit_SVGIcon_MergeTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><rect x="12" y="8" class="c_1" width="18" height="14"/></symbol><symbol id="dxRichEdit_SVGIcon_ModifyTableStyleNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10h-8V4h8V10z M26.3,14.9c0.5-0.5,1.1-0.7,1.7-0.8v-2h-8v6h3.2L26.3,14.9z M0,26h8v-6H0V26z M18,23.2V20		h-8v6h5.2L18,23.2z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M29,23l-8,8l-4-4l8-8L29,23z M30,22	l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_ModifyTableStyleLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10h-8V4h8V10z M26.3,14.9c0.5-0.5,1.1-0.7,1.7-0.8v-2h-8v6h3.2L26.3,14.9z M0,26h8v-6H0V26z M18,23.2V20		h-8v6h5.2L18,23.2z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M29,23l-8,8l-4-4l8-8L29,23z M30,22	l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewCommentNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewCommentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewTableStyleNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M0,20h8v6H0V20z M10,26h8v-6h-8V26z M20,12v6h8v-6H20z M20,26h8v-6h-8V26z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z"/><g class="op75_5_1"><polygon class="c_1" points="25,2 27,0 27,3 30,3 28,5 30,7 27,7 27,10 25,8 23,10 23,7 20,7 22,5 20,3 23,3 23,0 "/></g></symbol><symbol id="dxRichEdit_SVGIcon_NewTableStyleLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M0,20h8v6H0V20z M10,26h8v-6h-8V26z M20,12v6h8v-6H20z M20,26h8v-6h-8V26z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z"/><g class="op75_5_1"><polygon class="c_1" points="25,2 27,0 27,3 30,3 28,5 30,7 27,7 27,10 25,8 23,10 23,7 20,7 22,5 20,3 23,3 23,0 "/></g></symbol><symbol id="dxRichEdit_SVGIcon_NextNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_NextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_NextCommentNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_NextCommentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_OneColumnNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_OneColumnLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_OpenNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M2.2,25.2l5.5-10C8,14.5,8.7,14,9.5,14H24v-3c0-0.6-0.4-1-1-1H12V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.5,2,7v18		c0,0.2,0,0.3,0.1,0.4C2.1,25.4,2.2,25.3,2.2,25.2z"/></g><path class="c_1" d="M29.3,16H9.6L4,26h19.8c0.5,0,1.1-0.2,1.3-0.6l4.9-8.9C30.1,16.2,29.8,16,29.3,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_OpenLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M2.2,25.2l5.5-10C8,14.5,8.7,14,9.5,14H24v-3c0-0.6-0.4-1-1-1H12V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.5,2,7v18		c0,0.2,0,0.3,0.1,0.4C2.1,25.4,2.2,25.3,2.2,25.2z"/></g><path class="c_1" d="M29.3,16H9.6L4,26h19.8c0.5,0,1.1-0.2,1.3-0.6l4.9-8.9C30.1,16.2,29.8,16,29.3,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageColorNew" viewBox="0 0 32 32"><path class="c_1" d="M32,3v26c0,0.5-0.5,1-1,1H9c-0.5,0-1-0.5-1-1v-3.1C8.2,26,8.5,26,8.7,26c1.5,0,2.9-0.6,4-1.6l6.2-6.1	c0.2,1,0.3,2.1,0.3,3.3c0,2.4,2,4.4,4.4,4.4s4.4-2,4.4-4.4c0-5.8-4.3-10.6-9.9-11.5L19,9.3c1.2-1.2,1.2-3.1,0-4.2	c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.1,0.9l-2.6,2.6L8,3.4V3c0-0.5,0.5-1,1-1h22C31.5,2,32,2.5,32,3z M16.4,12	c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C26,16.3,21.7,12,16.4,12z"/><g class="op75_5_1"><path class="c_1" d="M15,13.2l3,3l-6.7,6.7c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,6l3,3l-1.9,1.9	C8.3,11.4,8,12.2,8,13c0,0.8,0.3,1.6,0.9,2.1C9.4,15.7,10.2,16,11,16s1.6-0.3,2.1-0.9L15,13.2z M11.7,13.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,14.1,11.3,14.1,11.7,13.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PageColorLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,3v26c0,0.5-0.5,1-1,1H9c-0.5,0-1-0.5-1-1v-3.1C8.2,26,8.5,26,8.7,26c1.5,0,2.9-0.6,4-1.6l6.2-6.1	c0.2,1,0.3,2.1,0.3,3.3c0,2.4,2,4.4,4.4,4.4s4.4-2,4.4-4.4c0-5.8-4.3-10.6-9.9-11.5L19,9.3c1.2-1.2,1.2-3.1,0-4.2	c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.1,0.9l-2.6,2.6L8,3.4V3c0-0.5,0.5-1,1-1h22C31.5,2,32,2.5,32,3z M16.4,12	c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C26,16.3,21.7,12,16.4,12z"/><g class="op75_5_1"><path class="c_1" d="M15,13.2l3,3l-6.7,6.7c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,6l3,3l-1.9,1.9	C8.3,11.4,8,12.2,8,13c0,0.8,0.3,1.6,0.9,2.1C9.4,15.7,10.2,16,11,16s1.6-0.3,2.1-0.9L15,13.2z M11.7,13.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,14.1,11.3,14.1,11.7,13.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsModerateNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsModerateLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNarrowNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,8V6h-2V4h-2v2H10V4H8v2H6v2h2v16H6v2h2v2h2v-2h12v2h2v-2h2v-2h-2V8H26z M22,24H10V8h12V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNarrowLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,8V6h-2V4h-2v2H10V4H8v2H6v2h2v16H6v2h2v2h2v-2h12v2h2v-2h2v-2h-2V8H26z M22,24H10V8h12V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNormalNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-2V4h-2v4H12V4h-2v4H6v2h4v12H6v2h4v4h2v-4h10v4h2v-4h2v-2h-2V10H26z M22,22H12V10h10V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNormalLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-2V4h-2v4H12V4h-2v4H6v2h4v12H6v2h4v4h2v-4h10v4h2v-4h2v-2h-2V10H26z M22,22H12V10h10V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsWideNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-6V4h-2v4h-4V4h-2v4H6v2h6v12H6v2h6v4h2v-4h4v4h2v-4h6v-2h-6V10H26z M18,22h-4V10h4V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsWideLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-6V4h-2v4h-4V4h-2v4H6v2h6v12H6v2h6v4h2v-4h4v4h2v-4h6v-2h-6V10H26z M18,22h-4V10h4V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationNew" viewBox="0 0 32 32"><path class="c_1" d="M23,12h-3V7l-7-7H1C0.4,0,0,0.4,0,1v22c0,0.6,0.4,1,1,1h5v7c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V19L23,12z	 M2,22V2h10v5c0,0.6,0.4,1,1,1h5v4H7c-0.6,0-1,0.4-1,1v9H2z M28,30H8v-6v-2v-8h10h2h2v5c0,0.6,0.4,1,1,1h5V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M23,12h-3V7l-7-7H1C0.4,0,0,0.4,0,1v22c0,0.6,0.4,1,1,1h5v7c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V19L23,12z	 M2,22V2h10v5c0,0.6,0.4,1,1,1h5v4H7c-0.6,0-1,0.4-1,1v9H2z M28,30H8v-6v-2v-8h10h2h2v5c0,0.6,0.4,1,1,1h5V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationLandscapeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,14h16v2H8V14z"/><path class="c_1" d="M2,5v21c0,0.6,0.4,1,1,1h26c0.6,0,1-0.4,1-1V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5z M28,6v19H4V6H28z"/><rect x="8" y="18" class="c_1" width="16" height="2"/><path class="c_1" d="M8,10h16v2H8V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationLandscapeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,14h16v2H8V14z"/><path class="c_1" d="M2,5v21c0,0.6,0.4,1,1,1h26c0.6,0,1-0.4,1-1V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5z M28,6v19H4V6H28z"/><rect x="8" y="18" class="c_1" width="16" height="2"/><path class="c_1" d="M8,10h16v2H8V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationPortraitNew" viewBox="0 0 32 32"><path class="c_1" d="M22,16H10v-2h12V16z"/><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><rect x="10" y="10" class="c_1" width="12" height="2"/><path class="c_1" d="M22,20H10v-2h12V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationPortraitLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M22,16H10v-2h12V16z"/><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><rect x="10" y="10" class="c_1" width="12" height="2"/><path class="c_1" d="M22,20H10v-2h12V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PaperSizeNew" viewBox="0 0 32 32"><path class="c_1" d="M23,8H11c-0.6,0-1,0.4-1,1v22c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V15L23,8z M28,30H12V10h10v5	c0,0.6,0.4,1,1,1h5V30z"/><path class="c_1" d="M8,10H2V8h6V10z M8,30H2v2h6V30z M6,10H4v20h2V10z M12,0h-2v6h2V0z M28,2H10v2h18V2z M30,0h-2v6h2V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_PaperSizeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M23,8H11c-0.6,0-1,0.4-1,1v22c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V15L23,8z M28,30H12V10h10v5	c0,0.6,0.4,1,1,1h5V30z"/><path class="c_1" d="M8,10H2V8h6V10z M8,30H2v2h6V30z M6,10H4v20h2V10z M12,0h-2v6h2V0z M28,2H10v2h18V2z M30,0h-2v6h2V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_ParagraphNew" viewBox="0 0 32 32"><path class="c_1" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_ParagraphLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PasteNew" viewBox="0 0 32 32"><g id="Paste">	<path class="c_1" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z"/></g><path class="c_1" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z"/><g class="op50_26_1"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PasteLargeNew" viewBox="0 0 32 32"><g id="Paste">	<path class="c_1" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z"/></g><path class="c_1" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z"/><g class="op50_26_1"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PasteSpecialNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12,24v4H5c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h3v22H12z M25,2h-3v10h4V3C26,2.4,25.6,2,25,2z"/></g><path class="c_1" d="M32,18v-3c0-0.6-0.4-1-1-1H15c-0.6,0-1,0.4-1,1v3H32z"/><path class="c_1" d="M28,20v2H18v-2H28z M18,26h10v-2H18V26z M30,18v10H16V18h-2v11c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V18H30z"/><path class="c_1" d="M18,2V1c0-0.6-0.4-1-1-1h-4c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h2h4h2c0.6,0,1-0.4,1-1V2H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PasteSpecialLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12,24v4H5c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h3v22H12z M25,2h-3v10h4V3C26,2.4,25.6,2,25,2z"/></g><path class="c_1" d="M32,18v-3c0-0.6-0.4-1-1-1H15c-0.6,0-1,0.4-1,1v3H32z"/><path class="c_1" d="M28,20v2H18v-2H28z M18,26h10v-2H18V26z M30,18v10H16V18h-2v11c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V18H30z"/><path class="c_1" d="M18,2V1c0-0.6-0.4-1-1-1h-4c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h2h4h2c0.6,0,1-0.4,1-1V2H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PenColorNew" viewBox="0 0 32 32"><path class="c_1" d="M17,11L7,21l-4-4L13,7L17,11z M18,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L14,6L18,10z	 M2,18v4h4L2,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PenColorLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M17,11L7,21l-4-4L13,7L17,11z M18,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L14,6L18,10z	 M2,18v4h4L2,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrevNew" viewBox="0 0 32 32"><path class="c_1" d="M23.1,4.1c0.5-0.3,0.9,0,0.9,0.5v20.7c0,0.6-0.4,0.8-0.9,0.5L6.4,15.5c-0.5-0.3-0.5-0.8,0-1.1L23.1,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrevLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M23.1,4.1c0.5-0.3,0.9,0,0.9,0.5v20.7c0,0.6-0.4,0.8-0.9,0.5L6.4,15.5c-0.5-0.3-0.5-0.8,0-1.1L23.1,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_PreviewNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PreviewLargeNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PreviousCommentNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PreviousCommentLargeNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintNew" viewBox="0 0 32 32"><path class="c_1" d="M10,2h12v8h2V0H8v10h2V2z M28,8h-2v3c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V8H4c-1.1,0-2,0.9-2,2v12	c0,1.1,0.9,2,2,2h4v6h16v-6h4c1.1,0,2-0.9,2-2V10C30,8.9,29.1,8,28,8z M22,22v2v4H10v-4v-2v-4h12V22z M20,24h-8v2h8V24z M20,20h-8v2	h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,2h12v8h2V0H8v10h2V2z M28,8h-2v3c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V8H4c-1.1,0-2,0.9-2,2v12	c0,1.1,0.9,2,2,2h4v6h16v-6h4c1.1,0,2-0.9,2-2V10C30,8.9,29.1,8,28,8z M22,22v2v4H10v-4v-2v-4h12V22z M20,24h-8v2h8V24z M20,20h-8v2	h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintBrowserNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintBrowserLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintDialogNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintDialogLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintLayoutViewNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M12,24H2V2h22v10h2V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h11V24z M6,12h10h4	v-2H6V12z M6,20h6c0-0.7,0.2-1.4,0.6-2H6V20z M6,16h10v-2H6V16z"/><path id="Print" class="c_1" d="M28,20v-6H18v6h2v-4h6v4H28z M30,18L30,18v3c0,0.6-0.4,1-1,1H17c-0.6,0-1-0.4-1-1v-3l0,0	c-1.1,0-2,0.9-2,2v8c0,1.1,0.9,2,2,2h2v2h10v-2h2c1.1,0,2-0.9,2-2v-8C32,18.9,31.1,18,30,18z M26,30h-6v-4h6V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintLayoutViewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M12,24H2V2h22v10h2V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h11V24z M6,12h10h4	v-2H6V12z M6,20h6c0-0.7,0.2-1.4,0.6-2H6V20z M6,16h10v-2H6V16z"/><path id="Print" class="c_1" d="M28,20v-6H18v6h2v-4h6v4H28z M30,18L30,18v3c0,0.6-0.4,1-1,1H17c-0.6,0-1-0.4-1-1v-3l0,0	c-1.1,0-2,0.9-2,2v8c0,1.1,0.9,2,2,2h2v2h10v-2h2c1.1,0,2-0.9,2-2v-8C32,18.9,31.1,18,30,18z M26,30h-6v-4h6V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintPreviewBrowserNew" viewBox="0 0 32 32"><path class="c_1" d="M19.4,26H16c0,0,0,0,0,0c0,0,0,0,0,0H6V4h12v5c0,0.6,0.4,1,1,1h5v11.4l2,2V9l-7-7H5C4.4,2,4,2.4,4,3v24	c0,0.6,0.4,1,1,1h16.4L19.4,26z"/><path class="c_1" d="M16,12c3.3,0,6,2.7,6,6c0,1.2-0.4,2.3-1,3.3l4.6,4.6c0.5,0.5,0.5,1.3,0,1.7c-0.5,0.5-1.3,0.5-1.7,0L19.3,23	c-0.9,0.6-2.1,1-3.3,1c-3.3,0-6-2.7-6-6C10,14.7,12.7,12,16,12z M16,22c2.2,0,4-1.8,4-4s-1.8-4-4-4s-4,1.8-4,4S13.8,22,16,22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintPreviewBrowserLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19.4,26H16c0,0,0,0,0,0c0,0,0,0,0,0H6V4h12v5c0,0.6,0.4,1,1,1h5v11.4l2,2V9l-7-7H5C4.4,2,4,2.4,4,3v24	c0,0.6,0.4,1,1,1h16.4L19.4,26z"/><path class="c_1" d="M16,12c3.3,0,6,2.7,6,6c0,1.2-0.4,2.3-1,3.3l4.6,4.6c0.5,0.5,0.5,1.3,0,1.7c-0.5,0.5-1.3,0.5-1.7,0L19.3,23	c-0.9,0.6-2.1,1-3.3,1c-3.3,0-6-2.7-6-6C10,14.7,12.7,12,16,12z M16,22c2.2,0,4-1.8,4-4s-1.8-4-4-4s-4,1.8-4,4S13.8,22,16,22z"/></symbol><symbol id="dxRichEdit_SVGIcon_ProtectDocumentNew" viewBox="0 0 32 32"><path class="c_1" d="M8,10h14v2H8V10z M8,16h14v-2H8V16z M8,8h14V6H8V8z M18,28H4V2h22v14h1c0.3,0,0.7,0,1,0.1V1c0-0.6-0.4-1-1-1	H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h15V28z M8,24h10.2c0.3-0.9,1-1.5,1.8-1.8V22H8V24z M8,20h12.1c0.2-0.7,0.5-1.4,0.9-2H8V20z"	/><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ProtectDocumentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,10h14v2H8V10z M8,16h14v-2H8V16z M8,8h14V6H8V8z M18,28H4V2h22v14h1c0.3,0,0.7,0,1,0.1V1c0-0.6-0.4-1-1-1	H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h15V28z M8,24h10.2c0.3-0.9,1-1.5,1.8-1.8V22H8V24z M8,20h12.1c0.2-0.7,0.5-1.4,0.9-2H8V20z"	/><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_RedoNew" viewBox="0 0 32 32"><path class="c_1" d="M16,10V4l16,10L16,24v-6C0,18,0,26,0,26S0,10,16,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_RedoLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M16,10V4l16,10L16,24v-6C0,18,0,26,0,26S0,10,16,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReplaceNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M12,26h-0.2H9.9H9.8l0-0.1L9.2,24H4.8l-0.6,1.9l0,0.1H4.1H2.2H2l0.1-0.2l3.9-11.7L6,14h0.1H8h0.1l0,0.1	l3.8,11.7L12,26L12,26z M5.4,22h3.2L7,16.7c0,0,0,0,0-0.1c0,0,0,0,0,0.1L5.4,22z"/></g><path class="c_1" d="M20,26V14h4.4c1.3,0,2.4,0.2,3.1,0.7c0.7,0.5,1.1,1.2,1.1,2.1c0,0.6-0.2,1.2-0.7,1.7c-0.4,0.5-1,0.8-1.7,1v0	c0.9,0.1,1.5,0.4,2,0.9c0.5,0.5,0.8,1.2,0.8,1.9c0,1.1-0.4,2-1.2,2.6c-0.8,0.6-1.9,1-3.2,1H20z M22.7,16v2.8h1.2	c0.6,0,1-0.1,1.3-0.4c0.3-0.3,0.5-0.6,0.5-1.1c0-0.9-0.7-1.3-2-1.3H22.7z M22.7,20.8V24h1.5c0.6,0,1.1-0.1,1.5-0.4	c0.4-0.3,0.5-0.7,0.5-1.2c0-0.5-0.2-0.9-0.5-1.1c-0.3-0.3-0.8-0.4-1.5-0.4H22.7z"/><path class="c_1" d="M23.1,6.9C21.3,5.1,18.8,4,16,4c-4.8,0-8.9,3.4-9.8,8h2.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,12h5.7	h2.1H26V4L23.1,6.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReplaceLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M12,26h-0.2H9.9H9.8l0-0.1L9.2,24H4.8l-0.6,1.9l0,0.1H4.1H2.2H2l0.1-0.2l3.9-11.7L6,14h0.1H8h0.1l0,0.1	l3.8,11.7L12,26L12,26z M5.4,22h3.2L7,16.7c0,0,0,0,0-0.1c0,0,0,0,0,0.1L5.4,22z"/></g><path class="c_1" d="M20,26V14h4.4c1.3,0,2.4,0.2,3.1,0.7c0.7,0.5,1.1,1.2,1.1,2.1c0,0.6-0.2,1.2-0.7,1.7c-0.4,0.5-1,0.8-1.7,1v0	c0.9,0.1,1.5,0.4,2,0.9c0.5,0.5,0.8,1.2,0.8,1.9c0,1.1-0.4,2-1.2,2.6c-0.8,0.6-1.9,1-3.2,1H20z M22.7,16v2.8h1.2	c0.6,0,1-0.1,1.3-0.4c0.3-0.3,0.5-0.6,0.5-1.1c0-0.9-0.7-1.3-2-1.3H22.7z M22.7,20.8V24h1.5c0.6,0,1.1-0.1,1.5-0.4	c0.4-0.3,0.5-0.7,0.5-1.2c0-0.5-0.2-0.9-0.5-1.1c-0.3-0.3-0.8-0.4-1.5-0.4H22.7z"/><path class="c_1" d="M23.1,6.9C21.3,5.1,18.8,4,16,4c-4.8,0-8.9,3.4-9.8,8h2.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,12h5.7	h2.1H26V4L23.1,6.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewersNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M19.7,7.7c-0.1-0.3-0.3-0.5-0.2-0.9c0-0.1,0.2-0.2,0.3-0.2c-0.7-2.2,0-4.4,2.5-4.6c2.7-0.2,3.2,1.8,3.2,1.8		s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3		c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C19.7,8.7,19.9,8,19.7,7.7z M6.3,8.7c0,0,0,0.1,0,0.1c0.3,1.4,1.2,3,2.8,3		c1.6,0,2.4-1.6,2.8-3c0,0,0-0.1,0-0.1c0.6,0,0.4-0.7,0.5-1c0.1-0.3,0.2-0.5,0.2-0.9c-0.1-0.2-0.3-0.2-0.3-0.2		c0.7-2.9-0.6-2.9-0.6-2.9S11,1.8,8.3,2C5.8,2.2,5.1,4.4,5.8,6.6c-0.1,0-0.2,0.1-0.3,0.2C5.4,7.2,5.6,7.4,5.7,7.7		C5.9,8,5.7,8.7,6.3,8.7z M25.3,11.9c-0.5,0.9-1.2,2.5-2.3,2.5c-0.5,0-0.8-0.3-1.2-0.7c0,0.3,0,0.5-0.1,0.8c0.1,0.1,0.1,0.3,0.1,0.4		c0.2,0.9,0,1.6-0.2,2c0,0.4-0.1,0.7-0.2,1H30v-0.9C30,12.5,26.7,14,25.3,11.9z M10.4,17c-0.2-0.4-0.5-1.1-0.3-2.1		c0-0.1,0-0.2,0.1-0.3c0-0.3-0.1-0.5-0.1-0.8c-0.3,0.3-0.7,0.5-1.1,0.5c-1.1,0-1.8-1.6-2.3-2.6C5.4,14.1,2,12.5,2,17.1V18h8.6		C10.5,17.7,10.4,17.4,10.4,17z"/></g><path class="c_1" d="M12.3,16.4c-0.2-0.3-0.3-0.6-0.3-1c0-0.2,0.2-0.2,0.3-0.2c-0.7-2.5,0-5,2.9-5.2c3-0.2,3.7,2,3.7,2	s1.6-0.1,0.7,3.2c0.1,0,0.3-0.1,0.4,0.2c0.1,0.4,0,0.6-0.2,1c-0.2,0.3,0.1,1.1-0.6,1.1c0,0,0,0.1,0,0.1C18.8,19.2,17.8,21,16,21	c-1.8,0-2.8-1.7-3.2-3.4c0,0,0-0.1,0-0.1C12.2,17.6,12.4,16.8,12.3,16.4z M18.7,21.2c-0.5,1-1.4,2.8-2.7,2.8c-1.3,0-2.1-1.8-2.6-2.9	C11.9,23.6,8,21.8,8,27v1h16v-1C24,21.9,20.2,23.5,18.7,21.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewersLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M19.7,7.7c-0.1-0.3-0.3-0.5-0.2-0.9c0-0.1,0.2-0.2,0.3-0.2c-0.7-2.2,0-4.4,2.5-4.6c2.7-0.2,3.2,1.8,3.2,1.8		s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3		c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C19.7,8.7,19.9,8,19.7,7.7z M6.3,8.7c0,0,0,0.1,0,0.1c0.3,1.4,1.2,3,2.8,3		c1.6,0,2.4-1.6,2.8-3c0,0,0-0.1,0-0.1c0.6,0,0.4-0.7,0.5-1c0.1-0.3,0.2-0.5,0.2-0.9c-0.1-0.2-0.3-0.2-0.3-0.2		c0.7-2.9-0.6-2.9-0.6-2.9S11,1.8,8.3,2C5.8,2.2,5.1,4.4,5.8,6.6c-0.1,0-0.2,0.1-0.3,0.2C5.4,7.2,5.6,7.4,5.7,7.7		C5.9,8,5.7,8.7,6.3,8.7z M25.3,11.9c-0.5,0.9-1.2,2.5-2.3,2.5c-0.5,0-0.8-0.3-1.2-0.7c0,0.3,0,0.5-0.1,0.8c0.1,0.1,0.1,0.3,0.1,0.4		c0.2,0.9,0,1.6-0.2,2c0,0.4-0.1,0.7-0.2,1H30v-0.9C30,12.5,26.7,14,25.3,11.9z M10.4,17c-0.2-0.4-0.5-1.1-0.3-2.1		c0-0.1,0-0.2,0.1-0.3c0-0.3-0.1-0.5-0.1-0.8c-0.3,0.3-0.7,0.5-1.1,0.5c-1.1,0-1.8-1.6-2.3-2.6C5.4,14.1,2,12.5,2,17.1V18h8.6		C10.5,17.7,10.4,17.4,10.4,17z"/></g><path class="c_1" d="M12.3,16.4c-0.2-0.3-0.3-0.6-0.3-1c0-0.2,0.2-0.2,0.3-0.2c-0.7-2.5,0-5,2.9-5.2c3-0.2,3.7,2,3.7,2	s1.6-0.1,0.7,3.2c0.1,0,0.3-0.1,0.4,0.2c0.1,0.4,0,0.6-0.2,1c-0.2,0.3,0.1,1.1-0.6,1.1c0,0,0,0.1,0,0.1C18.8,19.2,17.8,21,16,21	c-1.8,0-2.8-1.7-3.2-3.4c0,0,0-0.1,0-0.1C12.2,17.6,12.4,16.8,12.3,16.4z M18.7,21.2c-0.5,1-1.4,2.8-2.7,2.8c-1.3,0-2.1-1.8-2.6-2.9	C11.9,23.6,8,21.8,8,27v1h16v-1C24,21.9,20.2,23.5,18.7,21.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewingPaneNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M29,2H14v10h2V7.3L27.6,15L16,22.7V18h-2v10h15c0.5,0,1-0.5,1-1V3C30,2.5,29.5,2,29,2z"/></g><path class="c_1" d="M8,16h10v3l6-4l-6-4v3H8V16z"/><path class="c_1" d="M6,18v-6h6V2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h9V18H6z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewingPaneLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M29,2H14v10h2V7.3L27.6,15L16,22.7V18h-2v10h15c0.5,0,1-0.5,1-1V3C30,2.5,29.5,2,29,2z"/></g><path class="c_1" d="M8,16h10v3l6-4l-6-4v3H8V16z"/><path class="c_1" d="M6,18v-6h6V2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h9V18H6z"/></symbol><symbol id="dxRichEdit_SVGIcon_RightColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M20,6h10v2H20V6z M2,8h16V6H2V8z M20,12h10v-2H20V12z M2,12h16v-2H2V12z M20,16h10v-2H20V16z M2,16h16v-2H2V16z	 M20,20h10v-2H20V20z M2,20h16v-2H2V20z M20,24h10v-2H20V24z M2,24h16v-2H2V24z"/><rect x="20" y="2" class="c_1" width="10" height="2"/><rect x="2" y="2" class="c_1" width="16" height="2"/><rect x="20" y="26" class="c_1" width="10" height="2"/><rect x="2" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_RightColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M20,6h10v2H20V6z M2,8h16V6H2V8z M20,12h10v-2H20V12z M2,12h16v-2H2V12z M20,16h10v-2H20V16z M2,16h16v-2H2V16z	 M20,20h10v-2H20V20z M2,20h16v-2H2V20z M20,24h10v-2H20V24z M2,24h16v-2H2V24z"/><rect x="20" y="2" class="c_1" width="10" height="2"/><rect x="2" y="2" class="c_1" width="16" height="2"/><rect x="20" y="26" class="c_1" width="10" height="2"/><rect x="2" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerHorizontalNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M29,22H1c-0.6,0-1-0.5-1-1V9c0-0.6,0.4-1,1-1h28c0.5,0,1,0.4,1,1v12C30,21.5,29.5,22,29,22z"/></g><path class="c_1" d="M4,22H2v-6h2V22z M8,18H6v4h2V18z M12,16h-2v6h2V16z M16,18h-2v4h2V18z M20,16h-2v6h2V16z M24,18h-2v4h2V18z	 M28,16h-2v6h2V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerHorizontalLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M29,22H1c-0.6,0-1-0.5-1-1V9c0-0.6,0.4-1,1-1h28c0.5,0,1,0.4,1,1v12C30,21.5,29.5,22,29,22z"/></g><path class="c_1" d="M4,22H2v-6h2V22z M8,18H6v4h2V18z M12,16h-2v6h2V16z M16,18h-2v4h2V18z M20,16h-2v6h2V16z M24,18h-2v4h2V18z	 M28,16h-2v6h2V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerVerticalNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M21,30H9c-0.6,0-1-0.5-1-1V1c0-0.6,0.4-1,1-1h12c0.5,0,1,0.4,1,1v28C22,29.5,21.5,30,21,30z"/></g><path class="c_1" d="M22,4h-6V2h6V4z M18,8h4V6h-4V8z M16,12h6v-2h-6V12z M18,16h4v-2h-4V16z M16,20h6v-2h-6V20z M18,24h4v-2h-4	V24z M16,28h6v-2h-6V28z"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerVerticalLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M21,30H9c-0.6,0-1-0.5-1-1V1c0-0.6,0.4-1,1-1h12c0.5,0,1,0.4,1,1v28C22,29.5,21.5,30,21,30z"/></g><path class="c_1" d="M22,4h-6V2h6V4z M18,8h4V6h-4V8z M16,12h6v-2h-6V12z M18,16h4v-2h-4V16z M16,20h6v-2h-6V20z M18,24h4v-2h-4	V24z M16,28h6v-2h-6V28z"/></symbol><symbol id="dxRichEdit_SVGIcon_SaveNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6	h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_SaveLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6	h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_SaveAsNew" viewBox="0 0 32 32"><g></g><g id="SaveAs">	<path class="c_1" d="M31,0H19c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,16H20V2h10V16z		 M22,20v4H6v-6h10v-4H6V4H3C2.4,4,2,4.4,2,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1v-7H22z M16,4H8v8h8V4z M12,10h-2V6h2V10z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SaveAsLargeNew" viewBox="0 0 32 32"><g></g><g id="SaveAs">	<path class="c_1" d="M31,0H19c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,16H20V2h10V16z		 M22,20v4H6v-6h10v-4H6V4H3C2.4,4,2,4.4,2,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1v-7H22z M16,4H8v8h8V4z M12,10h-2V6h2V10z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectNew" viewBox="0 0 32 32"><g id="Select">	<path class="c_1" d="M18.2,20H26L10,4v22l5.3-5.3l2.7,6.7c0.2,0.5,0.8,0.8,1.3,0.5l0.9-0.4c0.5-0.2,0.8-0.8,0.5-1.3L18.2,20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectLargeNew" viewBox="0 0 32 32"><g id="Select">	<path class="c_1" d="M18.2,20H26L10,4v22l5.3-5.3l2.7,6.7c0.2,0.5,0.8,0.8,1.3,0.5l0.9-0.4c0.5-0.2,0.8-0.8,0.5-1.3L18.2,20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectAllNew" viewBox="0 0 32 32"><path id="layer_1_" class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><g class="op50_26_1"><path id="layer" class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22	h2v-6h-2V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectAllLargeNew" viewBox="0 0 32 32"><path id="layer_1_" class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><g class="op50_26_1"><path id="layer" class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22	h2v-6h-2V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableCellNew" viewBox="0 0 32 32"><rect x="12" y="12" class="c_1" width="8" height="6"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z		 M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableCellLargeNew" viewBox="0 0 32 32"><rect x="12" y="12" class="c_1" width="8" height="6"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z		 M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableColumnNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableColumnLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableRowNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableRowLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShadingNew" viewBox="0 0 32 32"><path class="c_1" d="M18.4,8c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C28,12.3,23.7,8,18.4,8z"/><path class="c_1" d="M17,9.3l3,3L13.3,19c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L9.7,2l3,3l-1.9,1.9	C10.3,7.4,10,8.2,10,9c0,0.8,0.3,1.6,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9s1.6-0.3,2.1-0.9L17,9.3z M13.7,9.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C12.7,10.1,13.3,10.1,13.7,9.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShadingLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M18.4,8c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C28,12.3,23.7,8,18.4,8z"/><path class="c_1" d="M17,9.3l3,3L13.3,19c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L9.7,2l3,3l-1.9,1.9	C10.3,7.4,10,8.2,10,9c0,0.8,0.3,1.6,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9s1.6-0.3,2.1-0.9L17,9.3z M13.7,9.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C12.7,10.1,13.3,10.1,13.7,9.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldCodesNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_5_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M10,3.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,3.9,8.8,4.1,8.8,4.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,6.4,8.3,6.6,8.2,6.7		C8,6.8,7.8,6.9,7.5,7c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5C8.7,8.1,8.7,8.5,8.7,9c0,0.5,0,0.8,0.1,0.9s0.2,0.2,0.3,0.3		s0.4,0.1,0.9,0.1V12H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6c0-0.4,0-0.7-0.1-0.9		C6.1,8.2,5.3,7.9,5,7.9V6.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4c0-0.6,0.1-1.1,0.2-1.3		C6.6,2.7,6.8,2.5,7,2.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,2,8.6,2,9.1,2H10V3.7z M19,7.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V2h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V7.9z"/>	<rect id="layer_4_" x="18" y="20" class="c_1" width="10" height="2"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="24" class="c_1" width="18" height="2"/>	<rect id="layer_2_" x="10" y="20" class="c_1" width="6" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldCodesLargeNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_5_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M10,3.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,3.9,8.8,4.1,8.8,4.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,6.4,8.3,6.6,8.2,6.7		C8,6.8,7.8,6.9,7.5,7c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5C8.7,8.1,8.7,8.5,8.7,9c0,0.5,0,0.8,0.1,0.9s0.2,0.2,0.3,0.3		s0.4,0.1,0.9,0.1V12H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6c0-0.4,0-0.7-0.1-0.9		C6.1,8.2,5.3,7.9,5,7.9V6.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4c0-0.6,0.1-1.1,0.2-1.3		C6.6,2.7,6.8,2.5,7,2.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,2,8.6,2,9.1,2H10V3.7z M19,7.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V2h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V7.9z"/>	<rect id="layer_4_" x="18" y="20" class="c_1" width="10" height="2"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="24" class="c_1" width="18" height="2"/>	<rect id="layer_2_" x="10" y="20" class="c_1" width="6" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldResultsNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_6_" class="c_1" d="M16.2,5.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C18,10,18.4,5.6,16.2,5.6z"/>	<path id="layer_7_" class="c_1" d="M6,9.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8V8.2C8.8,8.3,8.3,8.4,8.2,8.4C6,8.4,6,9.6,6,9.8		z"/>	<rect id="layer_5_" x="18" y="20" class="c_1" width="10" height="2"/>	<path id="layer_4_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M9.2,11.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7C7.6,11.9,7.1,12,6.7,12C4.1,12,4,10.3,4,9.9c0-0.4,0.1-0.8,0.2-1.1		c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2C4.3,6.1,4.6,4,7.7,4		C10.4,4,11,5.8,11,6.2v4c0,0.4,0.2,1.6,0.3,1.7H9.2z M16.9,12.1c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V2h2.1v3.2		c0.2-0.4,0.6-0.7,1-0.9C16,4.1,16.5,4,16.9,4C19.8,4,20,7.4,20,8.1C20,8.8,19.7,12.1,16.9,12.1z"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="20" class="c_1" width="6" height="2"/>	<rect id="layer_2_" x="10" y="24" class="c_1" width="18" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldResultsLargeNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_6_" class="c_1" d="M16.2,5.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C18,10,18.4,5.6,16.2,5.6z"/>	<path id="layer_7_" class="c_1" d="M6,9.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8V8.2C8.8,8.3,8.3,8.4,8.2,8.4C6,8.4,6,9.6,6,9.8		z"/>	<rect id="layer_5_" x="18" y="20" class="c_1" width="10" height="2"/>	<path id="layer_4_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M9.2,11.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7C7.6,11.9,7.1,12,6.7,12C4.1,12,4,10.3,4,9.9c0-0.4,0.1-0.8,0.2-1.1		c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2C4.3,6.1,4.6,4,7.7,4		C10.4,4,11,5.8,11,6.2v4c0,0.4,0.2,1.6,0.3,1.7H9.2z M16.9,12.1c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V2h2.1v3.2		c0.2-0.4,0.6-0.7,1-0.9C16,4.1,16.5,4,16.9,4C19.8,4,20,7.4,20,8.1C20,8.8,19.7,12.1,16.9,12.1z"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="20" class="c_1" width="6" height="2"/>	<rect id="layer_2_" x="10" y="24" class="c_1" width="18" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowCommentsNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12.1,21.3C12.2,21,15,14,22,14c1.5,0,2.9,0.3,4,0.9V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.4,2,7v14	c0,0.6,0.4,1,1,1h3v6l6-6h0C12,21.8,12,21.5,12.1,21.3z"/></g><path class="c_1" d="M22,16c5.7,0,8,6,8,6s-2.3,6-8,6c-5.7,0-8-6-8-6S16.3,16,22,16 M22,18c-3.3,0-5.1,2.7-5.8,4	c0.7,1.3,2.5,4,5.8,4c3.3,0,5.1-2.7,5.8-4C27.1,20.7,25.3,18,22,18L22,18z M22,20c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2	S23.1,20,22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowCommentsLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12.1,21.3C12.2,21,15,14,22,14c1.5,0,2.9,0.3,4,0.9V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.4,2,7v14	c0,0.6,0.4,1,1,1h3v6l6-6h0C12,21.8,12,21.5,12.1,21.3z"/></g><path class="c_1" d="M22,16c5.7,0,8,6,8,6s-2.3,6-8,6c-5.7,0-8-6-8-6S16.3,16,22,16 M22,18c-3.3,0-5.1,2.7-5.8,4	c0.7,1.3,2.5,4,5.8,4c3.3,0,5.1-2.7,5.8-4C27.1,20.7,25.3,18,22,18L22,18z M22,20c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2	S23.1,20,22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowHiddenNew" viewBox="0 0 32 32"><path class="c_1" d="M14,4h-2h-2c-4.4,0-8,3.6-8,8s3.6,8,8,8h2v6v2h4V8h4v20h4V8h4V4H14z M10,16c-2.2,0-4-1.8-4-4s1.8-4,4-4h2v8	H10z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowHiddenLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M14,4h-2h-2c-4.4,0-8,3.6-8,8s3.6,8,8,8h2v6v2h4V8h4v20h4V8h4V4H14z M10,16c-2.2,0-4-1.8-4-4s1.8-4,4-4h2v8	H10z"/></symbol><symbol id="dxRichEdit_SVGIcon_SimpleViewNew" viewBox="0 0 32 32"><path class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><path class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22h2v-6h-2	V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_SimpleViewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><path class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22h2v-6h-2	V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_SpacingDecreaseNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,6h4l-5,5L0,6h4V0h2V6z M4,30h2v-6h4l-5-5l-5,5h4V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_SpacingDecreaseLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,6h4l-5,5L0,6h4V0h2V6z M4,30h2v-6h4l-5-5l-5,5h4V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckNew" viewBox="0 0 32 32"><g id="SpellCheck">	<polygon class="c_1" points="27,9 12,24 7,19 4,22 12,30 30,12 	"/>	<path class="c_1" d="M7.9,12H6l-0.6-1.8H2.6L2,12H0l3-8h2.1L7.9,12z M5,8.8L4.1,6.1C4.1,5.9,4,5.7,4,5.4l0,0c0,0.2-0.1,0.5-0.1,0.7		L3,8.8H5z M8.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1c-0.3,0.3-0.7,0.5-1.1,0.7l0,0		c0.6,0.1,1,0.3,1.4,0.6C14.9,8.6,15,9.1,15,9.6c0,0.7-0.3,1.3-0.8,1.7C13.6,11.8,12.9,12,12,12H8.9z M10.7,5.3v1.9h0.8		c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H10.7z M10.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3c0.2-0.2,0.4-0.5,0.4-0.8		S13,9,12.8,8.8s-0.6-0.3-1-0.3h-1.1V8.6z M22,11.7c-0.6,0.3-1.3,0.4-2.3,0.4c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9		c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7		c-0.5,0.5-0.7,1.1-0.7,1.9s0.2,1.4,0.7,1.8s1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5v1.8C22.1,11.7,22,11.7,22,11.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckLargeNew" viewBox="0 0 32 32"><g id="SpellCheck">	<polygon class="c_1" points="27,9 12,24 7,19 4,22 12,30 30,12 	"/>	<path class="c_1" d="M7.9,12H6l-0.6-1.8H2.6L2,12H0l3-8h2.1L7.9,12z M5,8.8L4.1,6.1C4.1,5.9,4,5.7,4,5.4l0,0c0,0.2-0.1,0.5-0.1,0.7		L3,8.8H5z M8.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1c-0.3,0.3-0.7,0.5-1.1,0.7l0,0		c0.6,0.1,1,0.3,1.4,0.6C14.9,8.6,15,9.1,15,9.6c0,0.7-0.3,1.3-0.8,1.7C13.6,11.8,12.9,12,12,12H8.9z M10.7,5.3v1.9h0.8		c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H10.7z M10.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3c0.2-0.2,0.4-0.5,0.4-0.8		S13,9,12.8,8.8s-0.6-0.3-1-0.3h-1.1V8.6z M22,11.7c-0.6,0.3-1.3,0.4-2.3,0.4c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9		c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7		c-0.5,0.5-0.7,1.1-0.7,1.9s0.2,1.4,0.7,1.8s1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5v1.8C22.1,11.7,22,11.7,22,11.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckAsYouTypeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,24c-1.4,0-2.2-0.7-2.7-1.3C28.8,22.2,28.6,22,28,22s-0.8,0.2-1.3,0.7C26.2,23.3,25.4,24,24,24	s-2.2-0.7-2.7-1.3C20.8,22.2,20.6,22,20,22s-0.8,0.2-1.3,0.7C18.2,23.3,17.4,24,16,24s-2.2-0.7-2.7-1.3C12.8,22.2,12.6,22,12,22	s-0.8,0.2-1.3,0.7C10.2,23.3,9.4,24,8,24s-2.2-0.7-2.7-1.3C4.8,22.2,4.6,22,4,22s-0.8,0.2-1.3,0.7C2.2,23.3,1.4,24,0,24v-2	c0.6,0,0.8-0.2,1.3-0.7C1.8,20.7,2.6,20,4,20s2.2,0.7,2.7,1.3C7.2,21.8,7.4,22,8,22s0.8-0.2,1.3-0.7C9.8,20.7,10.6,20,12,20	s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7	s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7V24z"/><g class="op50_26_1"><path class="c_1" d="M12.1,18H9.6l-0.7-2.2H5.2L4.5,18H2L5.7,8h2.7L12.1,18z M8.3,14l-1.1-3.3C7.1,10.4,7.1,10.1,7,9.8H7	c0,0.3-0.1,0.6-0.2,0.9L5.7,14H8.3z M13.3,18l0-10h3.7c1.1,0,2,0.2,2.6,0.6c0.6,0.4,0.9,1,0.9,1.7c0,0.5-0.2,1-0.6,1.4	c-0.4,0.4-0.8,0.7-1.4,0.8v0c0.7,0.1,1.3,0.3,1.7,0.8c0.4,0.4,0.7,1,0.7,1.6c0,0.9-0.3,1.6-1,2.2c-0.7,0.5-1.6,0.8-2.7,0.8H13.3z	 M15.6,9.7V12h1c0.5,0,0.8-0.1,1.1-0.3c0.3-0.2,0.4-0.5,0.4-0.9c0-0.7-0.6-1.1-1.7-1.1H15.6z M15.6,13.7v2.6h1.2	c0.5,0,0.9-0.1,1.2-0.4c0.3-0.2,0.5-0.6,0.5-1c0-0.4-0.1-0.7-0.4-0.9c-0.3-0.2-0.7-0.3-1.2-0.3H15.6z M30,17.6	c-0.7,0.4-1.7,0.5-2.9,0.5c-1.6,0-2.8-0.4-3.7-1.3c-0.9-0.9-1.3-2.1-1.3-3.6c0-1.6,0.5-2.9,1.5-3.9c1-1,2.3-1.5,3.9-1.5	c1,0,1.8,0.1,2.5,0.4v2.2c-0.7-0.4-1.5-0.6-2.3-0.6c-1,0-1.7,0.3-2.3,0.9c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.7,0.8,2.3	c0.6,0.6,1.3,0.9,2.2,0.9c0.9,0,1.7-0.2,2.5-0.6V17.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,24c-1.4,0-2.2-0.7-2.7-1.3C28.8,22.2,28.6,22,28,22s-0.8,0.2-1.3,0.7C26.2,23.3,25.4,24,24,24	s-2.2-0.7-2.7-1.3C20.8,22.2,20.6,22,20,22s-0.8,0.2-1.3,0.7C18.2,23.3,17.4,24,16,24s-2.2-0.7-2.7-1.3C12.8,22.2,12.6,22,12,22	s-0.8,0.2-1.3,0.7C10.2,23.3,9.4,24,8,24s-2.2-0.7-2.7-1.3C4.8,22.2,4.6,22,4,22s-0.8,0.2-1.3,0.7C2.2,23.3,1.4,24,0,24v-2	c0.6,0,0.8-0.2,1.3-0.7C1.8,20.7,2.6,20,4,20s2.2,0.7,2.7,1.3C7.2,21.8,7.4,22,8,22s0.8-0.2,1.3-0.7C9.8,20.7,10.6,20,12,20	s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7	s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7V24z"/><g class="op50_26_1"><path class="c_1" d="M12.1,18H9.6l-0.7-2.2H5.2L4.5,18H2L5.7,8h2.7L12.1,18z M8.3,14l-1.1-3.3C7.1,10.4,7.1,10.1,7,9.8H7	c0,0.3-0.1,0.6-0.2,0.9L5.7,14H8.3z M13.3,18l0-10h3.7c1.1,0,2,0.2,2.6,0.6c0.6,0.4,0.9,1,0.9,1.7c0,0.5-0.2,1-0.6,1.4	c-0.4,0.4-0.8,0.7-1.4,0.8v0c0.7,0.1,1.3,0.3,1.7,0.8c0.4,0.4,0.7,1,0.7,1.6c0,0.9-0.3,1.6-1,2.2c-0.7,0.5-1.6,0.8-2.7,0.8H13.3z	 M15.6,9.7V12h1c0.5,0,0.8-0.1,1.1-0.3c0.3-0.2,0.4-0.5,0.4-0.9c0-0.7-0.6-1.1-1.7-1.1H15.6z M15.6,13.7v2.6h1.2	c0.5,0,0.9-0.1,1.2-0.4c0.3-0.2,0.5-0.6,0.5-1c0-0.4-0.1-0.7-0.4-0.9c-0.3-0.2-0.7-0.3-1.2-0.3H15.6z M30,17.6	c-0.7,0.4-1.7,0.5-2.9,0.5c-1.6,0-2.8-0.4-3.7-1.3c-0.9-0.9-1.3-2.1-1.3-3.6c0-1.6,0.5-2.9,1.5-3.9c1-1,2.3-1.5,3.9-1.5	c1,0,1.8,0.1,2.5,0.4v2.2c-0.7-0.4-1.5-0.6-2.3-0.6c-1,0-1.7,0.3-2.3,0.9c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.7,0.8,2.3	c0.6,0.6,1.3,0.9,2.2,0.9c0.9,0,1.7-0.2,2.5-0.6V17.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableNew" viewBox="0 0 32 32"><g id="SplitTable_1_" class="op50_26_1">	<path class="c_1" d="M10,8H2v6h8V8z M20,8h-8v6h8V8z M30,8h-8v6h8V8z M10,0H2v6h8V0z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M30,18h-8		v6h8V18z M20,18h-8v6h8V18z M10,18H2v6h8V18z M10,26H2v6h8V26z M20,26h-8v6h8V26z M30,26h-8v6h8V26z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableLargeNew" viewBox="0 0 32 32"><g id="SplitTable_1_" class="op50_26_1">	<path class="c_1" d="M10,8H2v6h8V8z M20,8h-8v6h8V8z M30,8h-8v6h8V8z M10,0H2v6h8V0z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M30,18h-8		v6h8V18z M20,18h-8v6h8V18z M10,18H2v6h8V18z M10,26H2v6h8V26z M20,26h-8v6h8V26z M30,26h-8v6h8V26z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><path class="c_1" d="M20,14h-8V8h8V14z M30,8h-8v6h8V8z M30,16h-8v6h8V16z M20,16h-8v6h8V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><path class="c_1" d="M20,14h-8V8h8V14z M30,8h-8v6h8V8z M30,16h-8v6h8V16z M20,16h-8v6h8V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutNew" viewBox="0 0 32 32"><g id="Strikeout">	<path class="c_1" d="M24,14h-7c-0.2-0.1-0.4-0.2-0.7-0.4c-0.7-0.3-1.4-0.6-2-0.9c-0.6-0.3-1-0.6-1.4-0.8c-0.4-0.3-0.7-0.6-0.9-1		s-0.3-0.8-0.3-1.2c0-0.5,0.1-0.9,0.4-1.3c0.3-0.4,0.6-0.6,1-0.9c0.4-0.2,0.9-0.4,1.4-0.5c0.5-0.1,1.1-0.1,1.6-0.1		c1.9,0,3.5,0.4,4.8,1.3V4.8c-1-0.5-2.7-0.8-5-0.8c-1,0-2,0.1-3,0.3c-1,0.2-1.8,0.6-2.6,1.1C9.8,5.9,9.2,6.5,8.7,7.2S8,8.8,8,9.8		c0,0.8,0.1,1.5,0.4,2.1c0.3,0.6,0.6,1.1,1.1,1.6c0.1,0.1,0.3,0.3,0.5,0.4H6v2h7.1c0.1,0,0.1,0.1,0.2,0.1c0.7,0.3,1.3,0.6,1.9,0.9		c0.6,0.3,1.1,0.6,1.6,0.9c0.4,0.3,0.8,0.6,1,1c0.2,0.4,0.4,0.8,0.4,1.3c0,0.9-0.4,1.7-1.1,2.2c-0.7,0.5-1.9,0.7-3.4,0.7		c-0.4,0-0.9,0-1.4-0.1s-1-0.2-1.6-0.4c-0.5-0.2-1-0.4-1.5-0.6c-0.5-0.2-0.9-0.5-1.2-0.8v3.6c0.3,0.2,0.7,0.4,1.2,0.5		c0.5,0.1,1,0.3,1.6,0.4c0.6,0.1,1.1,0.2,1.6,0.2c0.5,0.1,1,0.1,1.3,0.1c1.1,0,2.1-0.1,3.1-0.3s1.9-0.5,2.6-1		c0.8-0.5,1.4-1.1,1.8-1.8s0.7-1.7,0.7-2.7c0-0.8-0.2-1.5-0.4-2.1c-0.3-0.6-0.7-1.2-1.2-1.7c-0.1-0.1-0.2-0.2-0.3-0.3h4V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutLargeNew" viewBox="0 0 32 32"><g id="Strikeout">	<path class="c_1" d="M24,14h-7c-0.2-0.1-0.4-0.2-0.7-0.4c-0.7-0.3-1.4-0.6-2-0.9c-0.6-0.3-1-0.6-1.4-0.8c-0.4-0.3-0.7-0.6-0.9-1		s-0.3-0.8-0.3-1.2c0-0.5,0.1-0.9,0.4-1.3c0.3-0.4,0.6-0.6,1-0.9c0.4-0.2,0.9-0.4,1.4-0.5c0.5-0.1,1.1-0.1,1.6-0.1		c1.9,0,3.5,0.4,4.8,1.3V4.8c-1-0.5-2.7-0.8-5-0.8c-1,0-2,0.1-3,0.3c-1,0.2-1.8,0.6-2.6,1.1C9.8,5.9,9.2,6.5,8.7,7.2S8,8.8,8,9.8		c0,0.8,0.1,1.5,0.4,2.1c0.3,0.6,0.6,1.1,1.1,1.6c0.1,0.1,0.3,0.3,0.5,0.4H6v2h7.1c0.1,0,0.1,0.1,0.2,0.1c0.7,0.3,1.3,0.6,1.9,0.9		c0.6,0.3,1.1,0.6,1.6,0.9c0.4,0.3,0.8,0.6,1,1c0.2,0.4,0.4,0.8,0.4,1.3c0,0.9-0.4,1.7-1.1,2.2c-0.7,0.5-1.9,0.7-3.4,0.7		c-0.4,0-0.9,0-1.4-0.1s-1-0.2-1.6-0.4c-0.5-0.2-1-0.4-1.5-0.6c-0.5-0.2-0.9-0.5-1.2-0.8v3.6c0.3,0.2,0.7,0.4,1.2,0.5		c0.5,0.1,1,0.3,1.6,0.4c0.6,0.1,1.1,0.2,1.6,0.2c0.5,0.1,1,0.1,1.3,0.1c1.1,0,2.1-0.1,3.1-0.3s1.9-0.5,2.6-1		c0.8-0.5,1.4-1.1,1.8-1.8s0.7-1.7,0.7-2.7c0-0.8-0.2-1.5-0.4-2.1c-0.3-0.6-0.7-1.2-1.2-1.7c-0.1-0.1-0.2-0.2-0.3-0.3h4V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutDoubleNew" viewBox="0 0 32 32"><g id="StrikeoutDouble">	<path class="c_1" d="M24,14h-7c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.7,1.5,1.1h4v2h-2.4c0.3,0.6,0.4,1.3,0.4,2.1		c0,1.1-0.2,2-0.7,2.7s-1,1.3-1.8,1.8c-0.8,0.5-1.6,0.8-2.6,1s-2,0.3-3.1,0.3c-0.4,0-0.8,0-1.3-0.1c-0.5-0.1-1.1-0.1-1.6-0.2		c-0.6-0.1-1.1-0.2-1.6-0.4C8.7,25.2,8.3,25,8,24.8v-3.6c0.3,0.3,0.7,0.6,1.2,0.8c0.5,0.2,1,0.4,1.5,0.6c0.5,0.2,1,0.3,1.6,0.4		s1,0.1,1.4,0.1c1.5,0,2.7-0.2,3.4-0.7c0.7-0.5,1.1-1.2,1.1-2.2c0-0.5-0.1-0.9-0.4-1.3c-0.2-0.3-0.5-0.6-0.9-0.9H6v-2h7.1		c-0.7-0.4-1.3-0.7-1.9-1.1c-0.5-0.3-0.8-0.6-1.2-0.9H6v-2h2.4c0,0,0,0,0,0C8.1,11.4,8,10.7,8,9.8c0-1,0.2-1.9,0.7-2.6		s1.1-1.3,1.8-1.8c0.8-0.5,1.6-0.8,2.6-1.1c1-0.2,1.9-0.3,3-0.3c2.3,0,4,0.3,5,0.8v3.5c-1.2-0.9-2.8-1.3-4.8-1.3		c-0.5,0-1.1,0-1.6,0.1c-0.5,0.1-1,0.3-1.4,0.5c-0.4,0.2-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.3c0,0.5,0.1,0.9,0.3,1.2		s0.5,0.7,0.9,1c0,0,0.1,0,0.1,0.1H24V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutDoubleLargeNew" viewBox="0 0 32 32"><g id="StrikeoutDouble">	<path class="c_1" d="M24,14h-7c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.7,1.5,1.1h4v2h-2.4c0.3,0.6,0.4,1.3,0.4,2.1		c0,1.1-0.2,2-0.7,2.7s-1,1.3-1.8,1.8c-0.8,0.5-1.6,0.8-2.6,1s-2,0.3-3.1,0.3c-0.4,0-0.8,0-1.3-0.1c-0.5-0.1-1.1-0.1-1.6-0.2		c-0.6-0.1-1.1-0.2-1.6-0.4C8.7,25.2,8.3,25,8,24.8v-3.6c0.3,0.3,0.7,0.6,1.2,0.8c0.5,0.2,1,0.4,1.5,0.6c0.5,0.2,1,0.3,1.6,0.4		s1,0.1,1.4,0.1c1.5,0,2.7-0.2,3.4-0.7c0.7-0.5,1.1-1.2,1.1-2.2c0-0.5-0.1-0.9-0.4-1.3c-0.2-0.3-0.5-0.6-0.9-0.9H6v-2h7.1		c-0.7-0.4-1.3-0.7-1.9-1.1c-0.5-0.3-0.8-0.6-1.2-0.9H6v-2h2.4c0,0,0,0,0,0C8.1,11.4,8,10.7,8,9.8c0-1,0.2-1.9,0.7-2.6		s1.1-1.3,1.8-1.8c0.8-0.5,1.6-0.8,2.6-1.1c1-0.2,1.9-0.3,3-0.3c2.3,0,4,0.3,5,0.8v3.5c-1.2-0.9-2.8-1.3-4.8-1.3		c-0.5,0-1.1,0-1.6,0.1c-0.5,0.1-1,0.3-1.4,0.5c-0.4,0.2-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.3c0,0.5,0.1,0.9,0.3,1.2		s0.5,0.7,0.9,1c0,0,0.1,0,0.1,0.1H24V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SubscriptNew" viewBox="0 0 32 32"><g id="Subscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,30.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,22.1,29,22,28.6,22		c-0.6,0-1.1,0.1-1.6,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,25.4,25,26l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.4,0.6,0.4,1.1		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6c-0.2,0.2-0.4,0.4-0.7,0.5c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32v-1.7H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SubscriptLargeNew" viewBox="0 0 32 32"><g id="Subscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,30.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,22.1,29,22,28.6,22		c-0.6,0-1.1,0.1-1.6,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,25.4,25,26l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.4,0.6,0.4,1.1		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6c-0.2,0.2-0.4,0.4-0.7,0.5c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32v-1.7H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SuperscriptNew" viewBox="0 0 32 32"><g id="Superscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,8.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,0.1,29,0,28.6,0		C28,0,27.5,0.1,27,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,3.4,25,4l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4C29.8,2.4,30,2.7,30,3.2		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6C29,4.8,28.8,5,28.6,5.2c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32V8.3H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SuperscriptLargeNew" viewBox="0 0 32 32"><g id="Superscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,8.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,0.1,29,0,28.6,0		C28,0,27.5,0.1,27,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,3.4,25,4l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4C29.8,2.4,30,2.7,30,3.2		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6C29,4.8,28.8,5,28.6,5.2c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32V8.3H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SymbolNew" viewBox="0 0 32 32"><path class="c_1" d="M28,14c0-6.6-5.4-12-12-12C9.4,2,4,7.4,4,14c0,2.9,2.3,6.7,4.8,10H4v4h8.2H14v-4v-0.1c-2.4-2.6-6-7-6-9.9	c0-4.4,3.6-8,8-8c4.4,0,8,3.6,8,8c0,3-3.6,7.4-6,9.9V24v4h1.8H28v-4h-4.8C25.7,20.7,28,16.9,28,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_SymbolLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,14c0-6.6-5.4-12-12-12C9.4,2,4,7.4,4,14c0,2.9,2.3,6.7,4.8,10H4v4h8.2H14v-4v-0.1c-2.4-2.6-6-7-6-9.9	c0-4.4,3.6-8,8-8c4.4,0,8,3.6,8,8c0,3-3.6,7.4-6,9.9V24v4h1.8H28v-4h-4.8C25.7,20.7,28,16.9,28,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitContentsNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><polygon class="c_1" points="20.7,4.7 22,6 22,2 18,2 19.3,3.3 16,6.6 12.7,3.3 14,2 10,2 10,6 11.3,4.7 14.6,8 11.3,11.3 10,10 	10,14 14,14 12.7,12.7 16,9.4 19.3,12.7 18,14 22,14 22,10 20.7,11.3 17.4,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitContentsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><polygon class="c_1" points="20.7,4.7 22,6 22,2 18,2 19.3,3.3 16,6.6 12.7,3.3 14,2 10,2 10,6 11.3,4.7 14.6,8 11.3,11.3 10,10 	10,14 14,14 12.7,12.7 16,9.4 19.3,12.7 18,14 22,14 22,10 20.7,11.3 17.4,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitWindowNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><path class="c_1" d="M12.6,9.1c-0.8,0-1.4-0.2-1.9-0.7C10.2,8,10,7.4,10,6.6c0-0.8,0.2-1.5,0.7-1.9c0.5-0.5,1.2-0.7,2-0.7	c0.8,0,1.4,0.2,1.9,0.6c0.4,0.4,0.7,1,0.7,1.8c0,0.8-0.2,1.4-0.7,1.9C14,8.8,13.4,9.1,12.6,9.1z M20,4l-6.2,10H12l6.2-10H20z	 M12.7,5.2c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.3,1.3,1,1.3c0.7,0,1.1-0.5,1.1-1.4C13.7,5.6,13.4,5.2,12.7,5.2z M19.3,14	c-0.8,0-1.4-0.2-1.9-0.7c-0.5-0.4-0.7-1-0.7-1.8c0-0.8,0.2-1.5,0.7-1.9s1.2-0.7,2-0.7c0.8,0,1.4,0.2,1.9,0.6s0.7,1,0.7,1.8	c0,0.8-0.2,1.4-0.7,1.9S20.1,14,19.3,14z M19.4,10.1c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.4,1.3,1.1,1.3c0.7,0,1.1-0.5,1.1-1.4	c0-0.4-0.1-0.7-0.3-1C20,10.2,19.7,10.1,19.4,10.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitWindowLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><path class="c_1" d="M12.6,9.1c-0.8,0-1.4-0.2-1.9-0.7C10.2,8,10,7.4,10,6.6c0-0.8,0.2-1.5,0.7-1.9c0.5-0.5,1.2-0.7,2-0.7	c0.8,0,1.4,0.2,1.9,0.6c0.4,0.4,0.7,1,0.7,1.8c0,0.8-0.2,1.4-0.7,1.9C14,8.8,13.4,9.1,12.6,9.1z M20,4l-6.2,10H12l6.2-10H20z	 M12.7,5.2c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.3,1.3,1,1.3c0.7,0,1.1-0.5,1.1-1.4C13.7,5.6,13.4,5.2,12.7,5.2z M19.3,14	c-0.8,0-1.4-0.2-1.9-0.7c-0.5-0.4-0.7-1-0.7-1.8c0-0.8,0.2-1.5,0.7-1.9s1.2-0.7,2-0.7c0.8,0,1.4,0.2,1.9,0.6s0.7,1,0.7,1.8	c0,0.8-0.2,1.4-0.7,1.9S20.1,14,19.3,14z M19.4,10.1c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.4,1.3,1.1,1.3c0.7,0,1.1-0.5,1.1-1.4	c0-0.4-0.1-0.7-0.3-1C20,10.2,19.7,10.1,19.4,10.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableCellMarginsNew" viewBox="0 0 32 32"><path class="c_1" d="M32,6V4h-4V0h-2v4H6V0H4v4H0v2h4v20H0v2h4v4h2v-4h20v4h2v-4h4v-2h-4V6H32z M26,26H6V6h20V26z"/><path class="c_1" d="M8,8v16h16V8H8z M22,22H10V10h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableCellMarginsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,6V4h-4V0h-2v4H6V0H4v4H0v2h4v20H0v2h4v4h2v-4h20v4h2v-4h4v-2h-4V6H32z M26,26H6V6h20V26z"/><path class="c_1" d="M8,8v16h16V8H8z M22,22H10V10h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableFixedColumnWidthNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8V4		H28z"/></g><path class="c_1" d="M21,6h-1V3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V7	C22,6.4,21.6,6,21,6z M14,3c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V3z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableFixedColumnWidthLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8V4		H28z"/></g><path class="c_1" d="M21,6h-1V3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V7	C22,6.4,21.6,6,21,6z M14,3c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V3z"/></symbol><symbol id="dxRichEdit_SVGIcon_TablePropertiesNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,18.1V22H2v-6h4.2c0.2,0.5,0.4,0.9,0.7,1.2c0.6,0.6,1.4,0.9,2.3,0.9C9.5,18.2,9.8,18.1,10,18.1z M12,30h8		v-6h-8V30z M2,30h8v-6H2V30z M27.3,16l-3,3c-0.6,0.6-1.4,1-2.3,1v2h8v-6h-1H27.3z M22,30h8v-6h-8V30z M19.6,19		c-0.4-0.4-0.7-1-0.9-1.5c-0.6-0.1-1.1-0.4-1.5-0.9c-0.2-0.2-0.3-0.4-0.5-0.6h-3.9L12,16.8V22h8v-2.7C19.9,19.2,19.7,19.1,19.6,19z"		/></g><g class="op75_5_1"><path class="c_1" d="M29,2h-7v0c-1,0-2,0.4-2.8,1.1L16,6.4L8.4,14c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l7.7-7.7	c0.6-0.6,1.2,0,0.6,0.6L16.2,11c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6l-2.3,2.3	c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6L21,15.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0	l3.6-3.6H29c1.7,0,3-1.4,3-3V5C32,3.3,30.7,2,29,2z"/></g><path class="c_1" d="M6.9,12.6L10,9.5V8H2v6h4.1C6.3,13.5,6.6,13,6.9,12.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_TablePropertiesLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,18.1V22H2v-6h4.2c0.2,0.5,0.4,0.9,0.7,1.2c0.6,0.6,1.4,0.9,2.3,0.9C9.5,18.2,9.8,18.1,10,18.1z M12,30h8		v-6h-8V30z M2,30h8v-6H2V30z M27.3,16l-3,3c-0.6,0.6-1.4,1-2.3,1v2h8v-6h-1H27.3z M22,30h8v-6h-8V30z M19.6,19		c-0.4-0.4-0.7-1-0.9-1.5c-0.6-0.1-1.1-0.4-1.5-0.9c-0.2-0.2-0.3-0.4-0.5-0.6h-3.9L12,16.8V22h8v-2.7C19.9,19.2,19.7,19.1,19.6,19z"		/></g><g class="op75_5_1"><path class="c_1" d="M29,2h-7v0c-1,0-2,0.4-2.8,1.1L16,6.4L8.4,14c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l7.7-7.7	c0.6-0.6,1.2,0,0.6,0.6L16.2,11c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6l-2.3,2.3	c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6L21,15.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0	l3.6-3.6H29c1.7,0,3-1.4,3-3V5C32,3.3,30.7,2,29,2z"/></g><path class="c_1" d="M6.9,12.6L10,9.5V8H2v6h4.1C6.3,13.5,6.6,13,6.9,12.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapBehindNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19		c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></g><path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z	 M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapBehindLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19		c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></g><path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z	 M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInFrontOfTextNew" viewBox="0 0 32 32"><path class="c_1" d="M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><g class="op50_26_1">	<path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z"		/></g><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><g class="op50_26_1">	<path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z"		/></g><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInlineNew" viewBox="0 0 32 32"><path class="c_1" d="M16.1,16.2C17.8,14.5,20,11.6,20,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C6.8,16.7,6,17.7,6,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C18,17.7,17.2,16.7,16.1,16.2z"/><path class="c_1" d="M31,0H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h30c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,28H2V2h28V28z"/><rect x="4" y="4" class="c_1" width="24" height="2"/><rect x="4" y="24" class="c_1" width="24" height="2"/><rect x="20" y="20" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInlineLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M16.1,16.2C17.8,14.5,20,11.6,20,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C6.8,16.7,6,17.7,6,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C18,17.7,17.2,16.7,16.1,16.2z"/><path class="c_1" d="M31,0H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h30c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,28H2V2h28V28z"/><rect x="4" y="4" class="c_1" width="24" height="2"/><rect x="4" y="24" class="c_1" width="24" height="2"/><rect x="20" y="20" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapSquareNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapSquareLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapThroughNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z M16,10c0.5-0.7,1.2-1.4,2-2h-4	C14.8,8.6,15.5,9.3,16,10z M24,22h4v-2h-4V22z M26,10h2V8h-2V10z M8,20H4v2h4V20z M28,24H4v2h24V24z M6,8H4v2h2V8z M32,1v28	c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z M8,16H4v2h4V16z M6,12H4v2h2V12z"	/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapThroughLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z M16,10c0.5-0.7,1.2-1.4,2-2h-4	C14.8,8.6,15.5,9.3,16,10z M24,22h4v-2h-4V22z M26,10h2V8h-2V10z M8,20H4v2h4V20z M28,24H4v2h24V24z M6,8H4v2h2V8z M32,1v28	c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z M8,16H4v2h4V16z M6,12H4v2h2V12z"	/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTightNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M8,22H4v-2h4V22z M8,16H4v2h4V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M24,22h4v-2h-4V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M8,22H4v-2h4V22z M8,16H4v2h4V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M24,22h4v-2h-4V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTopAndBottomNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M28,24H4v2h24V24z M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1	h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M28,24H4v2h24V24z M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1	h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_ThreeColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ThreeColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ToggleFieldCodesNew" viewBox="0 0 32 32"><g id="_x32_" class="op50_26_1">	<path id="layer_5_" class="c_1" d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.6,0.4,1,1,1h22C23.5,18,24,17.6,24,17z		 M10,5.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,5.9,8.8,6.1,8.8,6.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,8.4,8.3,8.6,8.2,8.7		C8,8.8,7.8,8.9,7.5,9c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.6,0.2,1.1c0,0.5,0,0.8,0.1,0.9		s0.2,0.2,0.3,0.3s0.4,0.1,0.9,0.1V14H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6		c0-0.4,0-0.7-0.1-0.9C6.1,10.2,5.3,9.9,5,9.9V8.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4		c0-0.6,0.1-1.1,0.2-1.3C6.6,4.7,6.8,4.5,7,4.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,4,8.6,4,9.1,4H10V5.7z M19,9.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V4h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V9.9z"/></g><g id="_x31_">	<path id="layer_2_" class="c_1" d="M24.2,21.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C26,26,26.4,21.6,24.2,21.6z"/>	<path id="layer_1_" class="c_1" d="M14,25.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8v-0.8c-0.1,0.1-0.6,0.2-0.7,0.2		C14,24.4,14,25.6,14,25.8z"/>	<path id="layer" class="c_1" d="M31,14H9c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h22c0.5,0,1-0.4,1-1V15C32,14.4,31.5,14,31,14z		 M17.2,27.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-2.6,0-2.7-1.7-2.7-2.1		c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2		c0-0.5,0.3-2.6,3.4-2.6c2.7,0,3.3,1.8,3.3,2.2v4c0,0.4,0.2,1.6,0.3,1.7H17.2z M24.9,28.1c-0.5,0-1-0.1-1.5-0.3		c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V18h2.1v3.2c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c2.9,0,3.1,3.4,3.1,4.1		C28,24.8,27.7,28.1,24.9,28.1z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ToggleFieldCodesLargeNew" viewBox="0 0 32 32"><g id="_x32_" class="op50_26_1">	<path id="layer_5_" class="c_1" d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.6,0.4,1,1,1h22C23.5,18,24,17.6,24,17z		 M10,5.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,5.9,8.8,6.1,8.8,6.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,8.4,8.3,8.6,8.2,8.7		C8,8.8,7.8,8.9,7.5,9c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.6,0.2,1.1c0,0.5,0,0.8,0.1,0.9		s0.2,0.2,0.3,0.3s0.4,0.1,0.9,0.1V14H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6		c0-0.4,0-0.7-0.1-0.9C6.1,10.2,5.3,9.9,5,9.9V8.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4		c0-0.6,0.1-1.1,0.2-1.3C6.6,4.7,6.8,4.5,7,4.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,4,8.6,4,9.1,4H10V5.7z M19,9.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V4h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V9.9z"/></g><g id="_x31_">	<path id="layer_2_" class="c_1" d="M24.2,21.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C26,26,26.4,21.6,24.2,21.6z"/>	<path id="layer_1_" class="c_1" d="M14,25.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8v-0.8c-0.1,0.1-0.6,0.2-0.7,0.2		C14,24.4,14,25.6,14,25.8z"/>	<path id="layer" class="c_1" d="M31,14H9c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h22c0.5,0,1-0.4,1-1V15C32,14.4,31.5,14,31,14z		 M17.2,27.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-2.6,0-2.7-1.7-2.7-2.1		c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2		c0-0.5,0.3-2.6,3.4-2.6c2.7,0,3.3,1.8,3.3,2.2v4c0,0.4,0.2,1.6,0.3,1.7H17.2z M24.9,28.1c-0.5,0-1-0.1-1.5-0.3		c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V18h2.1v3.2c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c2.9,0,3.1,3.4,3.1,4.1		C28,24.8,27.7,28.1,24.9,28.1z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_TwoColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M14,8H2V6h12V8z M30,6H18v2h12V6z M14,10H2v2h12V10z M30,10H18v2h12V10z M14,14H2v2h12V14z M30,14H18v2h12V14z	 M14,18H2v2h12V18z M30,18H18v2h12V18z M14,22H2v2h12V22z M30,22H18v2h12V22z"/><rect x="2" y="2" class="c_1" width="12" height="2"/><rect x="18" y="2" class="c_1" width="12" height="2"/><rect x="2" y="26" class="c_1" width="12" height="2"/><rect x="18" y="26" class="c_1" width="12" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_TwoColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M14,8H2V6h12V8z M30,6H18v2h12V6z M14,10H2v2h12V10z M30,10H18v2h12V10z M14,14H2v2h12V14z M30,14H18v2h12V14z	 M14,18H2v2h12V18z M30,18H18v2h12V18z M14,22H2v2h12V22z M30,22H18v2h12V22z"/><rect x="2" y="2" class="c_1" width="12" height="2"/><rect x="18" y="2" class="c_1" width="12" height="2"/><rect x="2" y="26" class="c_1" width="12" height="2"/><rect x="18" y="26" class="c_1" width="12" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineNew" viewBox="0 0 32 32"><g id="Underline">	<path class="c_1" d="M8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24v11.4c0,5.7-2.7,8.6-8.2,8.6		C10.6,24,8,21.2,8,15.7z M6,28v2h20v-2H6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineLargeNew" viewBox="0 0 32 32"><g id="Underline">	<path class="c_1" d="M8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24v11.4c0,5.7-2.7,8.6-8.2,8.6		C10.6,24,8,21.2,8,15.7z M6,28v2h20v-2H6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineDoubleNew" viewBox="0 0 32 32"><g id="UnderlineDouble">	<path class="c_1" d="M24,15.4c0,5.7-2.7,8.6-8.2,8.6C10.6,24,8,21.2,8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24		V15.4z M26,26H6v2h20V26z M26,30H6v2h20V30z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineDoubleLargeNew" viewBox="0 0 32 32"><g id="UnderlineDouble">	<path class="c_1" d="M24,15.4c0,5.7-2.7,8.6-8.2,8.6C10.6,24,8,21.2,8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24		V15.4z M26,26H6v2h20V26z M26,30H6v2h20V30z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UndoNew" viewBox="0 0 32 32"><path class="c_1" d="M32,26c0,0,0-8-16-8v6L0,14L16,4v6C32,10,32,26,32,26z"/></symbol><symbol id="dxRichEdit_SVGIcon_UndoLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,26c0,0,0-8-16-8v6L0,14L16,4v6C32,10,32,26,32,26z"/></symbol><symbol id="dxRichEdit_SVGIcon_UnprotectDocumentNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,18h11c-0.4,0.6-0.8,1.3-0.9,2H10V18z M10,24h8.2c0.3-0.9,1-1.5,1.8-1.8V22H10V24z M6,10.8l-2,2V29	c0,0.6,0.4,1,1,1h13v-2H6V10.8z M27,4H12.8l-2,2H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,14v2h12v-2H10z M12.8,12H22	v-2h-7.2L12.8,12z"/><polygon class="c_1" points="12,2 10,0 6,4 2,0 0,2 4,6 0,10 2,12 6,8 10,12 12,10 8,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_UnprotectDocumentLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,18h11c-0.4,0.6-0.8,1.3-0.9,2H10V18z M10,24h8.2c0.3-0.9,1-1.5,1.8-1.8V22H10V24z M6,10.8l-2,2V29	c0,0.6,0.4,1,1,1h13v-2H6V10.8z M27,4H12.8l-2,2H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,14v2h12v-2H10z M12.8,12H22	v-2h-7.2L12.8,12z"/><polygon class="c_1" points="12,2 10,0 6,4 2,0 0,2 4,6 0,10 2,12 6,8 10,12 12,10 8,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateFieldNew" viewBox="0 0 32 32"><g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g></g><path class="c_1" d="M32,16v6h-0.1h-2H26l2.5-2.5C27.6,18.6,26.4,18,25,18c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,16z M25,28c-1.4,0-2.6-0.6-3.5-1.5L24,24h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,26.3,27.4,28,25,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateFieldLargeNew" viewBox="0 0 32 32"><g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g></g><path class="c_1" d="M32,16v6h-0.1h-2H26l2.5-2.5C27.6,18.6,26.4,18,25,18c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,16z M25,28c-1.4,0-2.6-0.6-3.5-1.5L24,24h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,26.3,27.4,28,25,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateTableOfContentsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,14h-2v2h2V14z M16,8h-2V6h2V8z M16,10h-2v2h2V10z M16,18h-2v2h2V18z		 M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z"/><path class="c_1" d="M12,8H6V6h6V8z M12,18H6v2h6V18z M16,28H4V2h22v14.1c0.7,0.1,1.4,0.2,2,0.5V1c0-0.6-0.4-1-1-1H3	C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h13V28z M6,24h6v-2H6V24z M12,10H6v2h6V10z M12,14H6v2h6V14z"/><path class="c_1" d="M32,18v6h-0.1h-2H26l2.5-2.5C27.6,20.6,26.4,20,25,20c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,18z M25,30c-1.4,0-2.6-0.6-3.5-1.5L24,26h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,28.3,27.4,30,25,30z"/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateTableOfContentsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,14h-2v2h2V14z M16,8h-2V6h2V8z M16,10h-2v2h2V10z M16,18h-2v2h2V18z		 M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z"/><path class="c_1" d="M12,8H6V6h6V8z M12,18H6v2h6V18z M16,28H4V2h22v14.1c0.7,0.1,1.4,0.2,2,0.5V1c0-0.6-0.4-1-1-1H3	C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h13V28z M6,24h6v-2H6V24z M12,10H6v2h6V10z M12,14H6v2h6V14z"/><path class="c_1" d="M32,18v6h-0.1h-2H26l2.5-2.5C27.6,20.6,26.4,20,25,20c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,18z M25,30c-1.4,0-2.6-0.6-3.5-1.5L24,26h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,28.3,27.4,30,25,30z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewMergedDataNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h18v2H6V6z M21.4,28H4V2h22v21.4l2,2V1c0-0.5-0.5-1-1-1H3C2.5,0,2,0.5,2,1v28c0,0.5,0.5,1,1,1h20.4	L21.4,28z M12,14H6v2h6V14z M10,18H6v2h4V18z M10,22H6v2h4V22z"/><g class="op50_26_1"><rect x="6" y="10" class="c_1" width="18" height="2"/></g><path class="c_1" d="M27.6,27.9L23,23.3c0.6-0.9,1-2.1,1-3.3c0-3.3-2.7-6-6-6c-3.3,0-6,2.7-6,6s2.7,6,6,6c1.2,0,2.3-0.4,3.3-1	l4.6,4.6c0.5,0.5,1.3,0.5,1.7,0C28.1,29.2,28.1,28.4,27.6,27.9z M18,24c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4	C22,22.2,20.2,24,18,24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewMergedDataLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h18v2H6V6z M21.4,28H4V2h22v21.4l2,2V1c0-0.5-0.5-1-1-1H3C2.5,0,2,0.5,2,1v28c0,0.5,0.5,1,1,1h20.4	L21.4,28z M12,14H6v2h6V14z M10,18H6v2h4V18z M10,22H6v2h4V22z"/><g class="op50_26_1"><rect x="6" y="10" class="c_1" width="18" height="2"/></g><path class="c_1" d="M27.6,27.9L23,23.3c0.6-0.9,1-2.1,1-3.3c0-3.3-2.7-6-6-6c-3.3,0-6,2.7-6,6s2.7,6,6,6c1.2,0,2.3-0.4,3.3-1	l4.6,4.6c0.5,0.5,1.3,0.5,1.7,0C28.1,29.2,28.1,28.4,27.6,27.9z M18,24c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4	C22,22.2,20.2,24,18,24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewTableGridlinesNew" viewBox="0 0 32 32"><g>	<path class="c_1" d="M8,10H6v2h2V10z M16,10h-2v2h2V10z M24,10h-2v2h2V10z M8,18H6v2h2V18z M16,18h-2v2h2V18z M24,18h-2v2h2V18z		 M12,6h-2v2h2V6z M12,10h-2v2h2V10z M12,14h-2v2h2V14z M12,18h-2v2h2V18z M12,22h-2v2h2V22z M20,6h-2v2h2V6z M20,10h-2v2h2V10z		 M20,14h-2v2h2V14z M20,18h-2v2h2V18z M20,22h-2v2h2V22z"/></g><path class="c_1" d="M27,2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewTableGridlinesLargeNew" viewBox="0 0 32 32"><g>	<path class="c_1" d="M8,10H6v2h2V10z M16,10h-2v2h2V10z M24,10h-2v2h2V10z M8,18H6v2h2V18z M16,18h-2v2h2V18z M24,18h-2v2h2V18z		 M12,6h-2v2h2V6z M12,10h-2v2h2V10z M12,14h-2v2h2V14z M12,18h-2v2h2V18z M12,22h-2v2h2V22z M20,6h-2v2h2V6z M20,10h-2v2h2V10z		 M20,14h-2v2h2V14z M20,18h-2v2h2V18z M20,22h-2v2h2V22z"/></g><path class="c_1" d="M27,2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_ZoomInNew" viewBox="0 0 32 32"><polygon class="c_1" points="18,12 14,12 14,8 12,8 12,12 8,12 8,14 12,14 12,18 14,18 14,14 18,14 "/><path class="c_1" d="M29.7,27.3L22,19.6c0,0-0.1-0.1-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13	s4.9,11,11,11c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z	 M4,13c0-5,4-9,9-9c5,0,9,4,9,9s-4,9-9,9C8,22,4,18,4,13z"/></symbol><symbol id="dxRichEdit_SVGIcon_ZoomInLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="18,12 14,12 14,8 12,8 12,12 8,12 8,14 12,14 12,18 14,18 14,14 18,14 "/><path class="c_1" d="M29.7,27.3L22,19.6c0,0-0.1-0.1-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13	s4.9,11,11,11c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z	 M4,13c0-5,4-9,9-9c5,0,9,4,9,9s-4,9-9,9C8,22,4,18,4,13z"/></symbol><symbol id="dxRichEdit_SVGIcon_ZoomOutNew" viewBox="0 0 32 32"><g id="Zoom_Out">	<rect x="8" y="12" class="c_1" width="10" height="2"/>	<path class="c_1" d="M29.7,27.3l-7.9-7.9c1.3-1.8,2.1-4,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13s4.9,11,11,11		c2.4,0,4.6-0.8,6.5-2.1l7.9,7.9c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13c0-5,4-9,9-9c5,0,9,4,9,9		s-4,9-9,9C8,22,4,18,4,13z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ZoomOutLargeNew" viewBox="0 0 32 32"><g id="Zoom_Out">	<rect x="8" y="12" class="c_1" width="10" height="2"/>	<path class="c_1" d="M29.7,27.3l-7.9-7.9c1.3-1.8,2.1-4,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13s4.9,11,11,11		c2.4,0,4.6-0.8,6.5-2.1l7.9,7.9c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13c0-5,4-9,9-9c5,0,9,4,9,9		s-4,9-9,9C8,22,4,18,4,13z"/></g></symbol></svg>    ` <?xml version="1.0" encoding="utf-8"?> <svg xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css">.c_1{fill:currentColor;}.op75_5_1{ opacity:0.75;}.op50_26_1{opacity:0.5;}</style><symbol id="dxRichEdit_SVGIcon_AddParagraphToTableOfContentsNew" viewBox="0 0 32 32"><path class="c_1" d="M16,16H6v-2h10V16z M16,18H6v2h10V18z"/><path class="c_1" d="M26,26v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1h24c0.6,0,1,0.4,1,1v7h-2V2H2v26h22v-2H26z	 M20,6H6v2h14V6z M16,10H6v2h10V10z M16,22H6v2h10V22z"/><path class="c_1" d="M31,10H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V11C32,10.4,31.6,10,31,10z M30,18h-4v4h-2	v-4h-4v-2h4v-4h2v4h4V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AddParagraphToTableOfContentsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M16,16H6v-2h10V16z M16,18H6v2h10V18z"/><path class="c_1" d="M26,26v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1h24c0.6,0,1,0.4,1,1v7h-2V2H2v26h22v-2H26z	 M20,6H6v2h14V6z M16,10H6v2h10V10z M16,22H6v2h10V22z"/><path class="c_1" d="M31,10H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V11C32,10.4,31.6,10,31,10z M30,18h-4v4h-2	v-4h-4v-2h4v-4h2v4h4V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,16H10v2h10V16z M24,20H6v2h18V20z M20,24H10v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,16H10v2h10V16z M24,20H6v2h18V20z M20,24H10v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,16H4v2h10V16z M20,20H4v2h16V20z M14,24H4v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,16H4v2h10V16z M20,20H4v2h16V20z M14,24H4v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,16H16v2h10V16z M26,20H10v2h16V20z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignBottomRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,16H16v2h10V16z M26,20H10v2h16V20z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignCenterNew" viewBox="0 0 32 32"><path id="Align_Center_1_" class="c_1" d="M28,8H4V6h24V8z M24,10H8v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M24,18H8v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignCenterLargeNew" viewBox="0 0 32 32"><path id="Align_Center_1_" class="c_1" d="M28,8H4V6h24V8z M24,10H8v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M24,18H8v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,22h-6v-2h6V22z M26,26h-6v-2h6V26z M10,22H4v-2h6V22z M10,26H4v-2h6V26z M26,14H4v-2h22V14z	 M26,18H4v-2h22V18z"/><g class="op75_5_1"><rect x="12" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,22h-6v-2h6V22z M26,26h-6v-2h6V26z M10,22H4v-2h6V22z M10,26H4v-2h6V26z M26,14H4v-2h22V14z	 M26,18H4v-2h22V18z"/><g class="op75_5_1"><rect x="12" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H12v-2h14V22z M26,26H12v-2h14V26z"/><g class="op75_5_1"><rect x="4" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H12v-2h14V22z M26,26H12v-2h14V26z"/><g class="op75_5_1"><rect x="4" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M18,22H4v-2h14V22z M18,26H4v-2h14V26z"/><g class="op75_5_1"><rect x="20" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectBottomRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M18,22H4v-2h14V22z M18,26H4v-2h14V26z"/><g class="op75_5_1"><rect x="20" y="20" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14h-6v-2h6V14z M26,18h-6v-2h6V18z M10,14H4v-2h6V14z M10,18H4v-2h6V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14h-6v-2h6V14z M26,18h-6v-2h6V18z M10,14H4v-2h6V14z M10,18H4v-2h6V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H12v-2h14V14z M26,18H12v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H12v-2h14V14z M26,18H12v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectMiddleRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H4V4h22V6z M26,10H4V8h22V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="12" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M10,6H4V4h6V6z M10,10H4V8h6V10z M26,6h-6V4h6V6z M26,10h-6V8h6V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M10,6H4V4h6V6z M10,10H4V8h6V10z M26,6h-6V4h6V6z M26,10h-6V8h6V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z	 M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="12" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H12V4h14V6z M26,10H12V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M26,6H12V4h14V6z M26,10H12V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="4" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignFloatingObjectTopRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_AlignJustifyNew" viewBox="0 0 32 32"><path id="Align_Justify_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H4v2h24V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H4v2h24	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignJustifyLargeNew" viewBox="0 0 32 32"><path id="Align_Justify_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H4v2h24V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H4v2h24	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignLeftNew" viewBox="0 0 32 32"><path id="Align_Left_2_" class="c_1" d="M28,8H4V6h24V8z M20,10H4v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M20,18H4v2h16V18	z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignLeftLargeNew" viewBox="0 0 32 32"><path id="Align_Left_2_" class="c_1" d="M28,8H4V6h24V8z M20,10H4v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M20,18H4v2h16V18	z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,10H10v2h10V10z M24,14H6v2h18V14z M20,18H10v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,10H10v2h10V10z M24,14H6v2h18V14z M20,18H10v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,10H4v2h10V10z M20,14H4v2h16V14z M14,18H4v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,10H4v2h10V10z M20,14H4v2h16V14z M14,18H4v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,10H16v2h10V10z M26,14H10v2h16V14z M26,18H16v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignMiddleRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,10H16v2h10V10z M26,14H10v2h16V14z M26,18H16v2h10V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignRightNew" viewBox="0 0 32 32"><path id="Align_Right_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H12v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H12v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignRightLargeNew" viewBox="0 0 32 32"><path id="Align_Right_2_" class="c_1" d="M28,8H4V6h24V8z M28,10H12v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H12v2h16	V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopCenterNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,4H10v2h10V4z M24,8H6v2h18V8z M20,12H10v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopCenterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M20,4H10v2h10V4z M24,8H6v2h18V8z M20,12H10v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopLeftNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,4H4v2h10V4z M20,8H4v2h16V8z M14,12H4v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopLeftLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M14,4H4v2h10V4z M20,8H4v2h16V8z M14,12H4v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopRightNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,4H16v2h10V4z M26,8H10v2h16V8z M26,12H16v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_AlignTopRightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z"/><path class="c_1" d="M26,4H16v2h10V4z M26,8H10v2h16V8z M26,12H16v2h10V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_BackgroundNew" viewBox="0 0 32 32"><path class="c_1" d="M19,0H7C6.4,0,6,0.4,6,1v5.6l2-2V2h10v5c0,0.6,0.4,1,1,1h5v14H8v-1.1c-0.7-0.1-1.4-0.5-1.9-1L6,19.8V23	c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V7L19,0z"/><path class="c_1" d="M10.8,19.2c-1.1,1.1-2.9,1.1-4,0l-4-4c-1.1-1.1-1.1-2.9,0-4L8,6l8,8L10.8,19.2z"/><path class="c_1" d="M14,10c2.2,0,4,3.6,4,8c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C22,13.6,18.4,10,14,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_BackgroundLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,0H7C6.4,0,6,0.4,6,1v5.6l2-2V2h10v5c0,0.6,0.4,1,1,1h5v14H8v-1.1c-0.7-0.1-1.4-0.5-1.9-1L6,19.8V23	c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V7L19,0z"/><path class="c_1" d="M10.8,19.2c-1.1,1.1-2.9,1.1-4,0l-4-4c-1.1-1.1-1.1-2.9,0-4L8,6l8,8L10.8,19.2z"/><path class="c_1" d="M14,10c2.2,0,4,3.6,4,8c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C22,13.6,18.4,10,14,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_BoldNew" viewBox="0 0 32 32"><path class="c_1" d="M8,26V4h8c2.5,0,4.3,0.5,5.7,1.4c1.3,0.9,2,2.2,2,3.8c0,1.2-0.4,2.2-1.2,3.1c-0.8,0.9-1.8,1.5-3.1,1.9v0.1	c1.6,0.2,2.8,0.8,3.8,1.7c0.9,1,1.4,2.1,1.4,3.5c0,2-0.7,3.6-2.2,4.8C20.9,25.4,19,26,16.5,26H8z M13,7.7v5.2h2.2	c1,0,1.8-0.2,2.4-0.7c0.6-0.5,0.9-1.2,0.9-2c0-1.6-1.2-2.4-3.6-2.4H13z M13,16.6v5.8h2.7c1.1,0,2-0.3,2.7-0.8c0.6-0.5,1-1.3,1-2.2	c0-0.9-0.3-1.6-1-2.1c-0.6-0.5-1.5-0.8-2.7-0.8H13z"/></symbol><symbol id="dxRichEdit_SVGIcon_BoldLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,26V4h8c2.5,0,4.3,0.5,5.7,1.4c1.3,0.9,2,2.2,2,3.8c0,1.2-0.4,2.2-1.2,3.1c-0.8,0.9-1.8,1.5-3.1,1.9v0.1	c1.6,0.2,2.8,0.8,3.8,1.7c0.9,1,1.4,2.1,1.4,3.5c0,2-0.7,3.6-2.2,4.8C20.9,25.4,19,26,16.5,26H8z M13,7.7v5.2h2.2	c1,0,1.8-0.2,2.4-0.7c0.6-0.5,0.9-1.2,0.9-2c0-1.6-1.2-2.4-3.6-2.4H13z M13,16.6v5.8h2.7c1.1,0,2-0.3,2.7-0.8c0.6-0.5,1-1.3,1-2.2	c0-0.9-0.3-1.6-1-2.1c-0.6-0.5-1.5-0.8-2.7-0.8H13z"/></symbol><symbol id="dxRichEdit_SVGIcon_BookmarkNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M27,4H7C6.5,4,6,4.5,6,5v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M26,28H8V6h18V28z"/></g><path class="c_1" d="M17,2h-6c-0.5,0-1,0.5-1,1v15l4-4l4,4V3C18,2.5,17.5,2,17,2z"/></symbol><symbol id="dxRichEdit_SVGIcon_BookmarkLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M27,4H7C6.5,4,6,4.5,6,5v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M26,28H8V6h18V28z"/></g><path class="c_1" d="M17,2h-6c-0.5,0-1,0.5-1,1v15l4-4l4,4V3C18,2.5,17.5,2,17,2z"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderBottomNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M2,24h2v-2H2V24z M2,20h2v-2H2		V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z		 M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="26" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderBottomLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M2,24h2v-2H2V24z M2,20h2v-2H2		V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z		 M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="26" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideHorizontalNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2		v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z"/></g><polygon class="c_1" points="14,14 2,14 2,16 14,16 16,16 28,16 28,14 16,14 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideHorizontalLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2		v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z"/></g><polygon class="c_1" points="14,14 2,14 2,16 14,16 16,16 28,16 28,14 16,14 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideVerticalNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2		H2V12z M2,8h2V6H2V8z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><polygon class="c_1" points="16,16 16,14 16,10 16,2 14,2 14,10 14,14 14,16 14,28 16,28 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderInsideVerticalLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2		v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2		H2V12z M2,8h2V6H2V8z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><polygon class="c_1" points="16,16 16,14 16,10 16,2 14,2 14,10 14,14 14,16 14,28 16,28 "/></symbol><symbol id="dxRichEdit_SVGIcon_BorderLeftNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6		h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z		 M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderLeftLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6		h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z		 M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderNoneNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BorderNoneLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BorderRightNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M22,28h2v-2		h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2		H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20		z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="26" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderRightLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M22,28h2v-2		h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2		H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20		z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="26" y="2" class="c_1" width="2" height="26"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersAllNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v2v24h26V16v-2V4V2H2z M14,4v10H4V4H14z M4,26V16h10v10H4z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersAllLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v2v24h26V16v-2V4V2H2z M14,4v10H4V4H14z M4,26V16h10v10H4z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersBoxNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersBoxLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersCustomNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,22h-2v2h2V22z M28,18h-2v2h2V18z M28,10h-2v2h2V10z M28,6h-2v2h2V6z"/></g><path class="c_1" d="M28,4V2H16h-2H4H2v2v10v2v10v2h2h10h2h12v-2H16V16h12v-2H16V4H28z M14,26H4V16h10V26z M14,14H4V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersCustomLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,22h-2v2h2V22z M28,18h-2v2h2V18z M28,10h-2v2h2V10z M28,6h-2v2h2V6z"/></g><path class="c_1" d="M28,4V2H16h-2H4H2v2v10v2v10v2h2h10h2h12v-2H16V16h12v-2H16V4H28z M14,26H4V16h10V26z M14,14H4V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersGridNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v12v2v12h26V16v-2V2H2z M14,26H4V16h10V26z M14,14H4V4h10V14z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersGridLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M2,2v12v2v12h26V16v-2V2H2z M14,26H4V16h10V26z M14,14H4V4h10V14z M26,26H16V16h10V26z M26,14H16V4h10V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersInsideNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M10,28h2		v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2v-2H2V12z M2,8h2V6H2V8z"/></g><polygon class="c_1" points="28,14 16,14 16,2 14,2 14,14 2,14 2,16 14,16 14,28 16,28 16,16 28,16 "/></symbol><symbol id="dxRichEdit_SVGIcon_BordersInsideLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2		V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M10,28h2		v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2v-2H2V12z M2,8h2V6H2V8z"/></g><polygon class="c_1" points="28,14 16,14 16,2 14,2 14,14 2,14 2,16 14,16 14,28 16,28 16,16 28,16 "/></symbol><symbol id="dxRichEdit_SVGIcon_BordersNoneNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BordersNoneLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_BordersOutsideNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BordersOutsideLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><path class="c_1" d="M2,2v26h26V2H2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderTopNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2		h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2		v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_BorderTopLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2		h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2		v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z"/></g><rect x="2" y="2" class="c_1" width="26" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ChangeFontStyleNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_ChangeFontStyleLargeNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_ChangeTextCaseNew" viewBox="0 0 32 32"><g id="ChangeTextCase">	<path class="c_1" d="M12.6,6l5.8,16h-3.6l-1.2-3.6H7.8L6.6,22H3.1L9.1,6H12.6z M12.8,15.8l-2-5.9h0l-2,5.9H12.8z M19.7,14		c0-0.7,0.2-1.4,0.5-1.9s0.7-0.9,1.2-1.2c0.5-0.3,1.1-0.5,1.7-0.6c0.6-0.1,1.2-0.2,1.9-0.2c0.6,0,1.1,0,1.7,0.1		c0.6,0.1,1.1,0.2,1.6,0.5c0.5,0.2,0.9,0.6,1.2,1c0.3,0.4,0.5,1,0.5,1.7v6c0,0.5,0,1,0.1,1.5c0.1,0.5,0.2,0.8,0.3,1.1h-3.2		c-0.1-0.2-0.1-0.4-0.1-0.5c0-0.2-0.1-0.4-0.1-0.6c-0.5,0.5-1.1,0.9-1.8,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.5,0-1-0.1-1.5-0.2		c-0.5-0.1-0.9-0.3-1.2-0.6c-0.3-0.3-0.6-0.6-0.8-1.1c-0.2-0.4-0.3-1-0.3-1.5c0-0.7,0.1-1.2,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1		c0.4-0.3,0.8-0.4,1.2-0.6c0.5-0.1,0.9-0.2,1.4-0.3c0.5-0.1,0.9-0.1,1.4-0.2c0.5,0,0.9-0.1,1.2-0.2c0.3-0.1,0.6-0.2,0.8-0.4		c0.2-0.2,0.3-0.4,0.3-0.8c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.2-0.3-0.4-0.4-0.5c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.8-0.1		c-0.6,0-1.1,0.1-1.4,0.4s-0.6,0.7-0.6,1.3H19.7z M26.9,16.3c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.2		c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.3,0.3-0.4,0.5		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0,0.5,0.1,0.7,0.1		c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.6-0.5,0.7-0.8c0.2-0.3,0.3-0.6,0.3-0.9c0-0.3,0.1-0.5,0.1-0.7V16.3z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ChangeTextCaseLargeNew" viewBox="0 0 32 32"><g id="ChangeTextCase">	<path class="c_1" d="M12.6,6l5.8,16h-3.6l-1.2-3.6H7.8L6.6,22H3.1L9.1,6H12.6z M12.8,15.8l-2-5.9h0l-2,5.9H12.8z M19.7,14		c0-0.7,0.2-1.4,0.5-1.9s0.7-0.9,1.2-1.2c0.5-0.3,1.1-0.5,1.7-0.6c0.6-0.1,1.2-0.2,1.9-0.2c0.6,0,1.1,0,1.7,0.1		c0.6,0.1,1.1,0.2,1.6,0.5c0.5,0.2,0.9,0.6,1.2,1c0.3,0.4,0.5,1,0.5,1.7v6c0,0.5,0,1,0.1,1.5c0.1,0.5,0.2,0.8,0.3,1.1h-3.2		c-0.1-0.2-0.1-0.4-0.1-0.5c0-0.2-0.1-0.4-0.1-0.6c-0.5,0.5-1.1,0.9-1.8,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.5,0-1-0.1-1.5-0.2		c-0.5-0.1-0.9-0.3-1.2-0.6c-0.3-0.3-0.6-0.6-0.8-1.1c-0.2-0.4-0.3-1-0.3-1.5c0-0.7,0.1-1.2,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1		c0.4-0.3,0.8-0.4,1.2-0.6c0.5-0.1,0.9-0.2,1.4-0.3c0.5-0.1,0.9-0.1,1.4-0.2c0.5,0,0.9-0.1,1.2-0.2c0.3-0.1,0.6-0.2,0.8-0.4		c0.2-0.2,0.3-0.4,0.3-0.8c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.2-0.3-0.4-0.4-0.5c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.8-0.1		c-0.6,0-1.1,0.1-1.4,0.4s-0.6,0.7-0.6,1.3H19.7z M26.9,16.3c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.2		c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.3,0.3-0.4,0.5		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0,0.5,0.1,0.7,0.1		c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.6-0.5,0.7-0.8c0.2-0.3,0.3-0.6,0.3-0.9c0-0.3,0.1-0.5,0.1-0.7V16.3z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ClearFormattingNew" viewBox="0 0 32 32"><g id="ClearFormatting">	<path class="c_1" d="M1.1,11.2c0-0.6,0.2-1.2,0.5-1.6c0.3-0.4,0.6-0.8,1.1-1C3,8.4,3.5,8.2,4.1,8.1C4.6,8,5.1,7.9,5.7,7.9		c0.5,0,1,0,1.5,0.1c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.8,0.5,1,0.8s0.4,0.8,0.4,1.4v5.1c0,0.4,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9		H7.6c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2-0.1-0.3-0.1-0.5C7,17.5,6.5,17.8,5.9,18c-0.6,0.2-1.2,0.3-1.8,0.3c-0.5,0-0.9-0.1-1.3-0.2		C2.4,18,2,17.8,1.7,17.5C1.4,17.3,1.2,17,1,16.6c-0.2-0.4-0.3-0.8-0.3-1.3c0-0.6,0.1-1,0.3-1.4s0.4-0.6,0.8-0.9		c0.3-0.2,0.7-0.4,1.1-0.5s0.8-0.2,1.2-0.3c0.4-0.1,0.8-0.1,1.2-0.2c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.2,0.7-0.3		c0.2-0.1,0.3-0.4,0.2-0.6c0-0.3,0-0.5-0.1-0.7C7.1,10.2,6.9,10,6.8,10C6.6,9.9,6.4,9.8,6.2,9.8s-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.3		c-0.3,0.2-0.5,0.6-0.5,1.1H1.1z M7.3,13.2c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.1		s-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.4,0.1-0.5,0.3c-0.1,0.1-0.3,0.2-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6		c0,0.2,0,0.4,0.1,0.6C3.7,16,3.8,16.1,4,16.2c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,0.9-0.1,1.2-0.3		C6.6,16,6.9,15.8,7,15.6s0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6V13.2z"/>	<path class="c_1" d="M14.7,4v5.4h0c0.3-0.5,0.8-0.9,1.3-1.1c0.6-0.2,1.1-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3		c0.5,0.2,0.9,0.5,1.3,0.9c0.4,0.4,0.7,1,0.9,1.6s0.4,1.4,0.4,2.3s-0.1,1.7-0.4,2.3S21,16.6,20.6,17c-0.4,0.4-0.8,0.7-1.3,0.9		c-0.5,0.2-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.6-0.2-1-0.6-1.3-1.2h0V18H12V4H14.7z M19.1,11.9c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.1-1,0.3c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0,0.8,0.1,1.2c0.1,0.4,0.2,0.7,0.4,1s0.4,0.5,0.7,0.7c0.3,0.2,0.6,0.3,1,0.3c0.4,0,0.8-0.1,1-0.3		c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-1c0.1-0.4,0.1-0.8,0.1-1.2C19.2,12.7,19.2,12.3,19.1,11.9z"/>	<g class="op50_26_1"><path class="c_1" d="M19,21.3L16.3,24c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,21.3z"/></g>	<path class="c_1" d="M31.7,18.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0L20,20.5l5.6,5.6l6.1-6.1C32.1,19.5,32.1,18.8,31.7,18.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ClearFormattingLargeNew" viewBox="0 0 32 32"><g id="ClearFormatting">	<path class="c_1" d="M1.1,11.2c0-0.6,0.2-1.2,0.5-1.6c0.3-0.4,0.6-0.8,1.1-1C3,8.4,3.5,8.2,4.1,8.1C4.6,8,5.1,7.9,5.7,7.9		c0.5,0,1,0,1.5,0.1c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.8,0.5,1,0.8s0.4,0.8,0.4,1.4v5.1c0,0.4,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9		H7.6c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2-0.1-0.3-0.1-0.5C7,17.5,6.5,17.8,5.9,18c-0.6,0.2-1.2,0.3-1.8,0.3c-0.5,0-0.9-0.1-1.3-0.2		C2.4,18,2,17.8,1.7,17.5C1.4,17.3,1.2,17,1,16.6c-0.2-0.4-0.3-0.8-0.3-1.3c0-0.6,0.1-1,0.3-1.4s0.4-0.6,0.8-0.9		c0.3-0.2,0.7-0.4,1.1-0.5s0.8-0.2,1.2-0.3c0.4-0.1,0.8-0.1,1.2-0.2c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.2,0.7-0.3		c0.2-0.1,0.3-0.4,0.2-0.6c0-0.3,0-0.5-0.1-0.7C7.1,10.2,6.9,10,6.8,10C6.6,9.9,6.4,9.8,6.2,9.8s-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.3		c-0.3,0.2-0.5,0.6-0.5,1.1H1.1z M7.3,13.2c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.1		s-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.4,0.1-0.5,0.3c-0.1,0.1-0.3,0.2-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6		c0,0.2,0,0.4,0.1,0.6C3.7,16,3.8,16.1,4,16.2c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,0.9-0.1,1.2-0.3		C6.6,16,6.9,15.8,7,15.6s0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6V13.2z"/>	<path class="c_1" d="M14.7,4v5.4h0c0.3-0.5,0.8-0.9,1.3-1.1c0.6-0.2,1.1-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3		c0.5,0.2,0.9,0.5,1.3,0.9c0.4,0.4,0.7,1,0.9,1.6s0.4,1.4,0.4,2.3s-0.1,1.7-0.4,2.3S21,16.6,20.6,17c-0.4,0.4-0.8,0.7-1.3,0.9		c-0.5,0.2-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.6-0.2-1-0.6-1.3-1.2h0V18H12V4H14.7z M19.1,11.9c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.1-1,0.3c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0,0.8,0.1,1.2c0.1,0.4,0.2,0.7,0.4,1s0.4,0.5,0.7,0.7c0.3,0.2,0.6,0.3,1,0.3c0.4,0,0.8-0.1,1-0.3		c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-1c0.1-0.4,0.1-0.8,0.1-1.2C19.2,12.7,19.2,12.3,19.1,11.9z"/>	<g class="op50_26_1"><path class="c_1" d="M19,21.3L16.3,24c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,21.3z"/></g>	<path class="c_1" d="M31.7,18.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0L20,20.5l5.6,5.6l6.1-6.1C32.1,19.5,32.1,18.8,31.7,18.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ClearTableStyleNew" viewBox="0 0 32 32"><g class="op50_26_1"><g>	<path class="c_1" d="M28,10h-8V4h8V10z M24.6,14.9c0.6-0.6,1.4-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.2V12h-8v6h1.5L24.6,14.9z M0,26		h8v-6H0V26z M14.9,24.6l3.1-3.1V20h-8v6h4.1C14.3,25.5,14.5,25,14.9,24.6z"/></g></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M19,23.3L16.3,26	c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_ClearTableStyleLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><g>	<path class="c_1" d="M28,10h-8V4h8V10z M24.6,14.9c0.6-0.6,1.4-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.2V12h-8v6h1.5L24.6,14.9z M0,26		h8v-6H0V26z M14.9,24.6l3.1-3.1V20h-8v6h4.1C14.3,25.5,14.5,25,14.9,24.6z"/></g></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M19,23.3L16.3,26	c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_CloseHeaderAndFooterNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4H5C4.5,4,4,4.5,4,5v22c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M22,20l-2,2l-4-4l-4,4	l-2-2l4-4l-4-4l2-2l4,4l4-4l2,2l-4,4L22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_CloseHeaderAndFooterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4H5C4.5,4,4,4.5,4,5v22c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M22,20l-2,2l-4-4l-4,4	l-2-2l4-4l-4-4l2-2l4,4l4-4l2,2l-4,4L22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnOneNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnOneLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M14,6H4V4h10V6z M26,4H16v2h10V4z M14,8H4v2h10V8z M26,8H16v2h10V8z M14,12H4v2h10V12z M26,12H16v2h10V12z	 M14,16H4v2h10V16z M26,16H16v2h10V16z M14,20H4v2h10V20z M26,20H16v2h10V20z M14,24H4v2h10V24z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M14,6H4V4h10V6z M26,4H16v2h10V4z M14,8H4v2h10V8z M26,8H16v2h10V8z M14,12H4v2h10V12z M26,12H16v2h10V12z	 M14,16H4v2h10V16z M26,16H16v2h10V16z M14,20H4v2h10V20z M26,20H16v2h10V20z M14,24H4v2h10V24z M26,24H16v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsOneNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsOneLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsThreeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsThreeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsTwoNew" viewBox="0 0 32 32"><path class="c_1" d="M15,8H2V6h13V8z M30,6H17v2h13V6z M15,10H2v2h13V10z M30,10H17v2h13V10z M15,14H2v2h13V14z M30,14H17v2h13V14z	 M15,18H2v2h13V18z M30,18H17v2h13V18z M15,22H2v2h13V22z M30,22H17v2h13V22z"/><rect x="2" y="2" class="c_1" width="13" height="2"/><rect x="17" y="2" class="c_1" width="13" height="2"/><rect x="2" y="26" class="c_1" width="13" height="2"/><rect x="17" y="26" class="c_1" width="13" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ColumnsTwoLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M15,8H2V6h13V8z M30,6H17v2h13V6z M15,10H2v2h13V10z M30,10H17v2h13V10z M15,14H2v2h13V14z M30,14H17v2h13V14z	 M15,18H2v2h13V18z M30,18H17v2h13V18z M15,22H2v2h13V22z M30,22H17v2h13V22z"/><rect x="2" y="2" class="c_1" width="13" height="2"/><rect x="17" y="2" class="c_1" width="13" height="2"/><rect x="2" y="26" class="c_1" width="13" height="2"/><rect x="17" y="26" class="c_1" width="13" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_CopyNew" viewBox="0 0 32 32"><g id="Copy">	<path class="c_1" d="M21,2H11c-0.5,0-1,0.5-1,1v5H5C4.5,8,4,8.5,4,9v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1v-5h5c0.5,0,1-0.5,1-1		V9L21,2z M20,28H6V10h8v5c0,0.5,0.5,1,1,1h5V28z M26,22h-4v-7l-7-7h-3V4h8v5c0,0.5,0.5,1,1,1h5V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_CopyLargeNew" viewBox="0 0 32 32"><g id="Copy">	<path class="c_1" d="M21,2H11c-0.5,0-1,0.5-1,1v5H5C4.5,8,4,8.5,4,9v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1v-5h5c0.5,0,1-0.5,1-1		V9L21,2z M20,28H6V10h8v5c0,0.5,0.5,1,1,1h5V28z M26,22h-4v-7l-7-7h-3V4h8v5c0,0.5,0.5,1,1,1h5V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_CutNew" viewBox="0 0 32 32"><g id="Cut">	<path class="c_1" d="M16.4,11.6L26,2l-5.8,13.3L16.4,11.6z M12,23c0,2.8-2.2,5-5,5s-5-2.2-5-5s2.2-5,5-5S12,20.2,12,23z M10,23		c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S10,24.7,10,23z M28,23c0,2.8-2.2,5-5,5s-5-2.2-5-5c0-0.9,0.2-1.7,0.6-2.4L16,18h-5L4,2		l16.6,16.6c0.7-0.4,1.5-0.6,2.4-0.6C25.8,18,28,20.2,28,23z M26,23c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S26,24.7,26,23z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_CutLargeNew" viewBox="0 0 32 32"><g id="Cut">	<path class="c_1" d="M16.4,11.6L26,2l-5.8,13.3L16.4,11.6z M12,23c0,2.8-2.2,5-5,5s-5-2.2-5-5s2.2-5,5-5S12,20.2,12,23z M10,23		c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S10,24.7,10,23z M28,23c0,2.8-2.2,5-5,5s-5-2.2-5-5c0-0.9,0.2-1.7,0.6-2.4L16,18h-5L4,2		l16.6,16.6c0.7-0.4,1.5-0.6,2.4-0.6C25.8,18,28,20.2,28,23z M26,23c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S26,24.7,26,23z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DeleteNew" viewBox="0 0 32 32"><path class="c_1" d="M18.8,16l6.9-6.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L9.1,6.3c-0.4-0.4-1-0.4-1.4,0	L6.3,7.7c-0.4,0.4-0.4,1,0,1.4l6.9,6.9l-6.9,6.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l6.9-6.9l6.9,6.9	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M18.8,16l6.9-6.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L9.1,6.3c-0.4-0.4-1-0.4-1.4,0	L6.3,7.7c-0.4,0.4-0.4,1,0,1.4l6.9,6.9l-6.9,6.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l6.9-6.9l6.9,6.9	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteCommentNew" viewBox="0 0 32 32"><g id="Delete">	<path class="c_1" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0		L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9		c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DeleteCommentLargeNew" viewBox="0 0 32 32"><g id="Delete">	<path class="c_1" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0		L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9		c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableNew" viewBox="0 0 32 32"><path class="c_1" d="M8,8H0V2h8V8z M18,2h-8v6h8V2z M28,2h-8v6h8V2z"/><g class="op50_26_1">	<path class="c_1" d="M8,16H0v-6h8V16z M18,10h-8v6h8V10z M28,10h-8v6h8V10z M8,18H0v6h8V18z M18,18h-8v6h8V18z"/></g><polygon class="c_1" points="32,20 30,18 26,22 22,18 20,20 24,24 20,28 22,30 26,26 30,30 32,28 28,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,8H0V2h8V8z M18,2h-8v6h8V2z M28,2h-8v6h8V2z"/><g class="op50_26_1">	<path class="c_1" d="M8,16H0v-6h8V16z M18,10h-8v6h8V10z M28,10h-8v6h8V10z M8,18H0v6h8V18z M18,18h-8v6h8V18z"/></g><polygon class="c_1" points="32,20 30,18 26,22 22,18 20,20 24,24 20,28 22,30 26,26 30,30 32,28 28,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,16H2v6h8V16z M20,16		h-8v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,8h-8v6h8V8z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,16H2v6h8V16z M20,16		h-8v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,8h-8v6h8V8z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableColumnsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M30,0h-8v6h8V0z M10,16H2v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,0h-8v22h8V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableColumnsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M30,0h-8v6h8V0z M10,16H2v6h8V16z M30,16h-8v6h8V16z"/></g><path class="c_1" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,0h-8v22h8V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableRowsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,10h-8V4h8V10z M30,4h-8v6h8V4z M30,22h-8v6h8V22z M20,22h-8v6h8V22z"/></g><path class="c_1" d="M6,14h4v4H6v2l-4-4l4-4V14z M12,12v8h18v-8H12z"/></symbol><symbol id="dxRichEdit_SVGIcon_DeleteTableRowsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,10h-8V4h8V10z M30,4h-8v6h8V4z M30,22h-8v6h8V22z M20,22h-8v6h8V22z"/></g><path class="c_1" d="M6,14h4v4H6v2l-4-4l4-4V14z M12,12v8h18v-8H12z"/></symbol><symbol id="dxRichEdit_SVGIcon_Delete_HyperlinkNew" viewBox="0 0 32 32"><g class="op75_5_1"><path id="Hyperlink" class="c_1" d="M16.8,18c1.3,1.9,1.1,4.6-0.6,6.3l-4.2,4.2c-2,2-5.1,2-7.1,0l-1.4-1.4c-2-2-2-5.1,0-7.1	l4.2-4.2c1.7-1.7,4.3-1.9,6.3-0.6l-1.5,1.5c-1.1-0.5-2.5-0.3-3.4,0.6l-4.2,4.2c-1.2,1.2-1.2,3.1,0,4.2l1.4,1.4	c1.2,1.2,3.1,1.2,4.2,0l4.2-4.2c0.9-0.9,1.1-2.3,0.6-3.4L16.8,18z M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2	c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2	c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z M21.7,11.7c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-10,10c-0.4,0.4-0.4,1,0,1.4l0,0c0.4,0.4,1,0.4,1.4,0L21.7,11.7z"/></g><polygon class="c_1" points="32,22 30,20 26,24 22,20 20,22 24,26 20,30 22,32 26,28 30,32 32,30 28,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_Delete_HyperlinkLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path id="Hyperlink" class="c_1" d="M16.8,18c1.3,1.9,1.1,4.6-0.6,6.3l-4.2,4.2c-2,2-5.1,2-7.1,0l-1.4-1.4c-2-2-2-5.1,0-7.1	l4.2-4.2c1.7-1.7,4.3-1.9,6.3-0.6l-1.5,1.5c-1.1-0.5-2.5-0.3-3.4,0.6l-4.2,4.2c-1.2,1.2-1.2,3.1,0,4.2l1.4,1.4	c1.2,1.2,3.1,1.2,4.2,0l4.2-4.2c0.9-0.9,1.1-2.3,0.6-3.4L16.8,18z M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2	c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2	c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z M21.7,11.7c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-10,10c-0.4,0.4-0.4,1,0,1.4l0,0c0.4,0.4,1,0.4,1.4,0L21.7,11.7z"/></g><polygon class="c_1" points="32,22 30,20 26,24 22,20 20,22 24,26 20,30 22,32 26,28 30,32 32,30 28,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_DifferentFirstPageNew" viewBox="0 0 32 32"><path class="c_1" d="M19,12H3c-0.5,0-1,0.5-1,1v18c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V13C20,12.5,19.5,12,19,12z M12,26h-2v-5.2	H8v-1.2c0.3,0,0.6,0,0.8-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8H12V26z"/><g class="op50_26_1"><path class="c_1" d="M31,0H15c-0.5,0-1,0.5-1,1v3h-3c-0.5,0-1,0.5-1,1v3H7C6.5,8,6,8.5,6,9v3h2v-2h14v16h-2v2h3c0.5,0,1-0.5,1-1	v-3h3c0.5,0,1-0.5,1-1v-3h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M26,22h-2V9c0-0.5-0.5-1-1-1H12V6h14V22z M30,18h-2V5	c0-0.5-0.5-1-1-1H16V2h14V18z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DifferentFirstPageLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,12H3c-0.5,0-1,0.5-1,1v18c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V13C20,12.5,19.5,12,19,12z M12,26h-2v-5.2	H8v-1.2c0.3,0,0.6,0,0.8-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8H12V26z"/><g class="op50_26_1"><path class="c_1" d="M31,0H15c-0.5,0-1,0.5-1,1v3h-3c-0.5,0-1,0.5-1,1v3H7C6.5,8,6,8.5,6,9v3h2v-2h14v16h-2v2h3c0.5,0,1-0.5,1-1	v-3h3c0.5,0,1-0.5,1-1v-3h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M26,22h-2V9c0-0.5-0.5-1-1-1H12V6h14V22z M30,18h-2V5	c0-0.5-0.5-1-1-1H16V2h14V18z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_DifferentOddEvenPagesNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M28,5v18c0,0.5-0.5,1-1,1h-5V10H10V5c0-0.5,0.5-1,1-1h16C27.5,4,28,4.5,28,5z M3,32h16c0.5,0,1-0.5,1-1V13	c0-0.6-0.5-1-1-1H3c-0.5,0-1,0.4-1,1v18C2,31.5,2.5,32,3,32z"/></g><path class="c_1" d="M24,9v18c0,0.5-0.5,1-1,1h-3v-2h2V10H8v2H6V9c0-0.5,0.5-1,1-1h16C23.5,8,24,8.5,24,9z M31,0H15	c-0.5,0-1,0.5-1,1v3h2V2h14v16h-2v2h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DifferentOddEvenPagesLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M28,5v18c0,0.5-0.5,1-1,1h-5V10H10V5c0-0.5,0.5-1,1-1h16C27.5,4,28,4.5,28,5z M3,32h16c0.5,0,1-0.5,1-1V13	c0-0.6-0.5-1-1-1H3c-0.5,0-1,0.4-1,1v18C2,31.5,2.5,32,3,32z"/></g><path class="c_1" d="M24,9v18c0,0.5-0.5,1-1,1h-3v-2h2V10H8v2H6V9c0-0.5,0.5-1,1-1h16C23.5,8,24,8.5,24,9z M31,0H15	c-0.5,0-1,0.5-1,1v3h2V2h14v16h-2v2h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z"/></symbol><symbol id="dxRichEdit_SVGIcon_DraftViewNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M6,12h14v-2H6V12z M14.9,24.6l0.6-0.6H2V2h22v13.5l0.6-0.6c0.4-0.4,0.9-0.7,1.4-0.8V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h13.1C14.3,25.5,14.5,25,14.9,24.6z M6,16h14v-2H6V16z M6,20h14v-2H6V20z"/><g class="op75_5_1"><path class="c_1" d="M19,23.3L16.3,26c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/></g><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_DraftViewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M6,12h14v-2H6V12z M14.9,24.6l0.6-0.6H2V2h22v13.5l0.6-0.6c0.4-0.4,0.9-0.7,1.4-0.8V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h13.1C14.3,25.5,14.5,25,14.9,24.6z M6,16h14v-2H6V16z M6,20h14v-2H6V20z"/><g class="op75_5_1"><path class="c_1" d="M19,23.3L16.3,26c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z"/></g><path class="c_1" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_EditRangePermissionNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,22h10v0.2c-0.9,0.3-1.5,1-1.8,1.8H10V22z M27,4H12.3c0,0,0,0,0,0c0,0.1,0.1,0.2,0.1,0.4	C12.6,5,12.5,5.6,12.3,6H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,18v2h10.1c0.2-0.7,0.5-1.4,0.9-2h-5H10z M6,18H4v11	c0,0.6,0.4,1,1,1h13v-2H6V18z M16,15.1V16h6v-2h-6.1C16,14.3,16,14.7,16,15.1z M15.4,12H22v-2h-8.6C14.1,10.4,14.9,11,15.4,12z"/><path class="c_1" d="M3.7,5.7C3.6,5.4,3.4,5.2,3.5,4.8c0-0.1,0.2-0.2,0.3-0.2C3.1,2.4,3.8,0.2,6.3,0C9-0.2,9.5,1.8,9.5,1.8	s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3	c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C3.7,6.7,3.9,6,3.7,5.7z M9.3,9.9c-0.5,0.9-1.2,2.5-2.3,2.5c-1.1,0-1.8-1.6-2.3-2.6	C3.4,12.1,0,10.5,0,15.1V16h14v-0.9C14,10.5,10.7,12,9.3,9.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_EditRangePermissionLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,22h10v0.2c-0.9,0.3-1.5,1-1.8,1.8H10V22z M27,4H12.3c0,0,0,0,0,0c0,0.1,0.1,0.2,0.1,0.4	C12.6,5,12.5,5.6,12.3,6H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,18v2h10.1c0.2-0.7,0.5-1.4,0.9-2h-5H10z M6,18H4v11	c0,0.6,0.4,1,1,1h13v-2H6V18z M16,15.1V16h6v-2h-6.1C16,14.3,16,14.7,16,15.1z M15.4,12H22v-2h-8.6C14.1,10.4,14.9,11,15.4,12z"/><path class="c_1" d="M3.7,5.7C3.6,5.4,3.4,5.2,3.5,4.8c0-0.1,0.2-0.2,0.3-0.2C3.1,2.4,3.8,0.2,6.3,0C9-0.2,9.5,1.8,9.5,1.8	s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3	c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C3.7,6.7,3.9,6,3.7,5.7z M9.3,9.9c-0.5,0.9-1.2,2.5-2.3,2.5c-1.1,0-1.8-1.6-2.3-2.6	C3.4,12.1,0,10.5,0,15.1V16h14v-0.9C14,10.5,10.7,12,9.3,9.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_FindNew" viewBox="0 0 32 32"><g id="Zoom">	<path class="c_1" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FindLargeNew" viewBox="0 0 32 32"><g id="Zoom">	<path class="c_1" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FirstNew" viewBox="0 0 32 32"><path class="c_1" d="M10.4,14.5c-0.5,0.3-0.5,0.8,0,1.1l16.8,10.3c0.5,0.3,0.9,0.1,0.9-0.5V4.6c0-0.6-0.4-0.8-0.9-0.5L10.4,14.5z	 M4,25V5c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v20c0,0.5-0.4,1-1,1H5C4.4,26,4,25.5,4,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_FirstLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10.4,14.5c-0.5,0.3-0.5,0.8,0,1.1l16.8,10.3c0.5,0.3,0.9,0.1,0.9-0.5V4.6c0-0.6-0.4-0.8-0.9-0.5L10.4,14.5z	 M4,25V5c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v20c0,0.5-0.4,1-1,1H5C4.4,26,4,25.5,4,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectAlignmentNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectAlignmentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z"/><g class="op75_5_1"><rect x="20" y="4" class="c_1" width="6" height="6"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringForwardNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M22,21c0,0.6-0.4,1-1,1H3c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V21z"/></g><path class="c_1" d="M29,14h-5v2h4v12H16v-4h-2v5c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringForwardLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M22,21c0,0.6-0.4,1-1,1H3c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V21z"/></g><path class="c_1" d="M29,14h-5v2h4v12H16v-4h-2v5c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringInFrontOfTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M26,25c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V25z"/></g><path class="c_1" d="M32,19v12c0,0.6-0.4,1-1,1H19c-0.6,0-1-0.4-1-1v-3h2v2h10V20h-2v-2h3C31.6,18,32,18.4,32,19z M1,14h3v-2H2V2	h10v2h2V1c0-0.6-0.4-1-1-1H1C0.4,0,0,0.4,0,1v12C0,13.6,0.4,14,1,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M26,25c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V25z"/></g><path class="c_1" d="M32,19v12c0,0.6-0.4,1-1,1H19c-0.6,0-1-0.4-1-1v-3h2v2h10V20h-2v-2h3C31.6,18,32,18.4,32,19z M1,14h3v-2H2V2	h10v2h2V1c0-0.6-0.4-1-1-1H1C0.4,0,0,0.4,0,1v12C0,13.6,0.4,14,1,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectBringToFrontOfTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z"/><circle class="c_1" cx="21" cy="21" r="9"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectFillColorNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M16.4,6c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4s2.4-1.1,2.4-2.4C26,10.3,21.7,6,16.4,6z"/></g><path class="c_1" d="M15,7.3l3,3L11.3,17c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,0l3,3L8.8,4.9	C8.3,5.4,8,6.2,8,7s0.3,1.6,0.9,2.1C9.5,9.7,10.2,10,11,10s1.6-0.3,2.1-0.9L15,7.3z M11.7,7.7l5.9-5.9c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,8.1,11.3,8.1,11.7,7.7z"/><g>	<path class="c_1" d="M20.4,24.9c0.2-0.2,0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9h-0.7v1.9h0.8C19.9,25.2,20.2,25.1,20.4,24.9z"/>	<path class="c_1" d="M19.8,26.5h-1.1v0.1v2.1h1c0.7,0,1.4-0.2,1.4-1.1C21.1,27.3,21,26.5,19.8,26.5z"/>	<path class="c_1" d="M12,24.1l-1.1,2.7h2C12.9,26.8,12,23.9,12,24.1z"/>	<path class="c_1" d="M31,20H7c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V21C32,20.5,31.5,20,31,20z M13.9,30		l-0.6-1.8h-2.8L10,30H8l2.9-8H13l2.9,8H13.9z M22.2,29.3C21.6,29.8,20.9,30,20,30h-3l0-8h2.8c0.9,0,1.6,0.2,2.1,0.5		s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1s-0.7,0.5-1.1,0.7c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3		C23,28.3,22.7,28.9,22.2,29.3z M30,29.6c0,0-0.7,0.5-2.4,0.5c-1.2,0-2.2-0.4-2.9-1.1s-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1		s1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9		c0,0.8,0.2,1.4,0.7,1.8c0.5,0.4,1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5V29.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectFillColorLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M16.4,6c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4s2.4-1.1,2.4-2.4C26,10.3,21.7,6,16.4,6z"/></g><path class="c_1" d="M15,7.3l3,3L11.3,17c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,0l3,3L8.8,4.9	C8.3,5.4,8,6.2,8,7s0.3,1.6,0.9,2.1C9.5,9.7,10.2,10,11,10s1.6-0.3,2.1-0.9L15,7.3z M11.7,7.7l5.9-5.9c0.4-0.4,0.4-1,0-1.4l0,0	c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,8.1,11.3,8.1,11.7,7.7z"/><g>	<path class="c_1" d="M20.4,24.9c0.2-0.2,0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9h-0.7v1.9h0.8C19.9,25.2,20.2,25.1,20.4,24.9z"/>	<path class="c_1" d="M19.8,26.5h-1.1v0.1v2.1h1c0.7,0,1.4-0.2,1.4-1.1C21.1,27.3,21,26.5,19.8,26.5z"/>	<path class="c_1" d="M12,24.1l-1.1,2.7h2C12.9,26.8,12,23.9,12,24.1z"/>	<path class="c_1" d="M31,20H7c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V21C32,20.5,31.5,20,31,20z M13.9,30		l-0.6-1.8h-2.8L10,30H8l2.9-8H13l2.9,8H13.9z M22.2,29.3C21.6,29.8,20.9,30,20,30h-3l0-8h2.8c0.9,0,1.6,0.2,2.1,0.5		s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1s-0.7,0.5-1.1,0.7c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3		C23,28.3,22.7,28.9,22.2,29.3z M30,29.6c0,0-0.7,0.5-2.4,0.5c-1.2,0-2.2-0.4-2.9-1.1s-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1		s1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9		c0,0.8,0.2,1.4,0.7,1.8c0.5,0.4,1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5V29.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M6,22H4v-2h2V22z M4,26h22v-2H4V26z M6,12H4v2h2V12z M6,8H4v2h2V8z M6,16H4v2h2V16z M4,4v2h2h18h2V4H4z M24,22h2v-2h-2V22z M24,10	h2V8h-2V10z M24,14h2v-2h-2V14z M24,18h2v-2h-2V18z"/><path class="c_1" d="M8,8v6h6V8H8z M12,12h-2v-2h2V12z M16,8v6h6V8H16z M20,12h-2v-2h2V12z M16,16v6h6v-6H16z M20,20h-2v-2h2V20z	 M8,16v6h6v-6H8z M12,20h-2v-2h2V20z M16,12h-2v-2h2V12z M12,14h-2v2h2V14z M20,14h-2v2h2V14z M16,18h-2v2h2V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectLayoutOptionsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z	 M6,22H4v-2h2V22z M4,26h22v-2H4V26z M6,12H4v2h2V12z M6,8H4v2h2V8z M6,16H4v2h2V16z M4,4v2h2h18h2V4H4z M24,22h2v-2h-2V22z M24,10	h2V8h-2V10z M24,14h2v-2h-2V14z M24,18h2v-2h-2V18z"/><path class="c_1" d="M8,8v6h6V8H8z M12,12h-2v-2h2V12z M16,8v6h6V8H16z M20,12h-2v-2h2V12z M16,16v6h6v-6H16z M20,20h-2v-2h2V20z	 M8,16v6h6v-6H8z M12,20h-2v-2h2V20z M16,12h-2v-2h2V12z M12,14h-2v2h2V14z M20,14h-2v2h2V14z M16,18h-2v2h2V18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectOutlineColorNew" viewBox="0 0 32 32"><polygon class="c_1" points="17.2,10 19.2,8 2,8 2,22 10,22 10,20 4,20 4,10 "/><path class="c_1" d="M27,11L17,21l-4-4L23,7L27,11z M28,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L24,6L28,10z	 M12,18v4h4L12,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectOutlineColorLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="17.2,10 19.2,8 2,8 2,22 10,22 10,20 4,20 4,10 "/><path class="c_1" d="M27,11L17,21l-4-4L23,7L27,11z M28,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L24,6L28,10z	 M12,18v4h4L12,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBackwardNew" viewBox="0 0 32 32"><path class="c_1" d="M29,14H15c-0.6,0-1,0.4-1,1v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z M28,28H16V16	h12V28z"/><g class="op75_5_1"><path class="c_1" d="M12,14c0-1.1,0.9-2,2-2h8V3c0-0.6-0.4-1-1-1H3C2.4,2,2,2.4,2,3v18c0,0.6,0.4,1,1,1h9V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBackwardLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,14H15c-0.6,0-1,0.4-1,1v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z M28,28H16V16	h12V28z"/><g class="op75_5_1"><path class="c_1" d="M12,14c0-1.1,0.9-2,2-2h8V3c0-0.6-0.4-1-1-1H3C2.4,2,2,2.4,2,3v18c0,0.6,0.4,1,1,1h9V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBehindTextNew" viewBox="0 0 32 32"><path class="c_1" d="M21,0H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V1C22,0.5,21.5,0,21,0z M20,20H2V2h18V20z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z"/><path class="c_1" d="M24,12.5V22c0,1.1-0.9,2-2,2h-9.5c1.2,3.5,4.6,6,8.5,6c5,0,9-4,9-9C30,17.1,27.5,13.8,24,12.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendBehindTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M21,0H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V1C22,0.5,21.5,0,21,0z M20,20H2V2h18V20z	 M18,6H4V4h14V6z M18,10H4V8h14V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z"/><path class="c_1" d="M24,12.5V22c0,1.1-0.9,2-2,2h-9.5c1.2,3.5,4.6,6,8.5,6c5,0,9-4,9-9C30,17.1,27.5,13.8,24,12.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendToBackNew" viewBox="0 0 32 32"><path class="c_1" d="M13,0H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C14,0.4,13.6,0,13,0z M12,12H2V2h10V12z	 M31,18H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V19C32,18.4,31.6,18,31,18z M30,30H20V20h10V30z"/><g class="op75_5_1"><path class="c_1" d="M25,6h-9v8c0,1.1-0.9,2-2,2H6v9c0,0.6,0.4,1,1,1h9v-8c0-1.1,0.9-2,2-2h8V7C26,6.4,25.6,6,25,6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectSendToBackLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M13,0H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C14,0.4,13.6,0,13,0z M12,12H2V2h10V12z	 M31,18H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V19C32,18.4,31.6,18,31,18z M30,30H20V20h10V30z"/><g class="op75_5_1"><path class="c_1" d="M25,6h-9v8c0,1.1-0.9,2-2,2H6v9c0,0.6,0.4,1,1,1h9v-8c0-1.1,0.9-2,2-2h8V7C26,6.4,25.6,6,25,6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FloatingObjectTextWrapTypeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontNew" viewBox="0 0 32 32"><path class="c_1" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontColorNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontColorLargeNew" viewBox="0 0 32 32"><path id="layer_3_" class="c_1" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z"/><g class="op50_26_1"><path id="layer_2_" class="c_1" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z"/></g><g class="op75_5_1"><path id="layer_1_" class="c_1" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z"/></g><path id="layer" class="c_1" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeNew" viewBox="0 0 32 32"><path class="c_1" d="M19.7,28H24L15.3,4h-0.4H11h-0.4L2,28h4.3l2.2-6h9.1L19.7,28z M9.9,18L13,9.4l3.1,8.6H9.9z"/><polygon class="c_1" points="30,8 32,8 29,4 26,8 28,8 28,24 26,24 29,28 32,24 30,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19.7,28H24L15.3,4h-0.4H11h-0.4L2,28h4.3l2.2-6h9.1L19.7,28z M9.9,18L13,9.4l3.1,8.6H9.9z"/><polygon class="c_1" points="30,8 32,8 29,4 26,8 28,8 28,24 26,24 29,28 32,24 30,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeDecreaseNew" viewBox="0 0 32 32"><path class="c_1" d="M22,28h-2.7l-1.2-4h-6.1l-1.2,4H8l5.6-16h2.8L22,28z M17.3,22l-2.1-6.6c-0.1-0.2-0.1-0.5-0.2-1h0	c-0.1,0.4-0.1,0.8-0.2,1L12.7,22H17.3z"/><polygon class="c_1" points="22,4 30,4 26,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeDecreaseLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M22,28h-2.7l-1.2-4h-6.1l-1.2,4H8l5.6-16h2.8L22,28z M17.3,22l-2.1-6.6c-0.1-0.2-0.1-0.5-0.2-1h0	c-0.1,0.4-0.1,0.8-0.2,1L12.7,22H17.3z"/><polygon class="c_1" points="22,4 30,4 26,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeIncreaseNew" viewBox="0 0 32 32"><polygon class="c_1" points="22,8 30,8 26,4 "/><path class="c_1" d="M24,28h-3.9l-1.9-5.6H9.7L7.9,28H4l8-22h4L24,28z M17.2,19.4l-3-8.8c-0.1-0.3-0.2-0.7-0.3-1.4h-0.1	c-0.1,0.6-0.2,1-0.3,1.4l-2.9,8.8H17.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FontSizeIncreaseLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="22,8 30,8 26,4 "/><path class="c_1" d="M24,28h-3.9l-1.9-5.6H9.7L7.9,28H4l8-22h4L24,28z M17.2,19.4l-3-8.8c-0.1-0.3-0.2-0.7-0.3-1.4h-0.1	c-0.1,0.6-0.2,1-0.3,1.4l-2.9,8.8H17.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_FooterNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><g class="op75_5_1"><rect x="8" y="18" class="c_1" width="14" height="6"/></g><g class="op75_5_1">	<path class="c_1" d="M22,8H8V6h14V8z M22,10H8v2h14V10z M22,14H8v2h14V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FooterLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><g class="op75_5_1"><rect x="8" y="18" class="c_1" width="14" height="6"/></g><g class="op75_5_1">	<path class="c_1" d="M22,8H8V6h14V8z M22,10H8v2h14V10z M22,14H8v2h14V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FullScreenNew" viewBox="0 0 32 32"><g id="FullScreen">	<polygon class="c_1" points="2,12 6,12 6,6 12,6 12,2 2,2 	"/>	<polygon class="c_1" points="6,20 2,20 2,30 12,30 12,26 6,26 	"/>	<polygon class="c_1" points="20,2 20,6 26,6 26,12 30,12 30,2 	"/>	<polygon class="c_1" points="26,26 20,26 20,30 30,30 30,20 26,20 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_FullScreenLargeNew" viewBox="0 0 32 32"><g id="FullScreen">	<polygon class="c_1" points="2,12 6,12 6,6 12,6 12,2 2,2 	"/>	<polygon class="c_1" points="6,20 2,20 2,30 12,30 12,26 6,26 	"/>	<polygon class="c_1" points="20,2 20,6 26,6 26,12 30,12 30,2 	"/>	<polygon class="c_1" points="26,26 20,26 20,30 30,30 30,20 26,20 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToFooterNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10H10V4h18V10z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="24" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToFooterLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10H10V4h18V10z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="24" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToHeaderNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,30H10v-6h18V30z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="4" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToHeaderLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,30H10v-6h18V30z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z"/></g><rect x="10" y="4" class="c_1" width="18" height="6"/><g class="op50_26_1"><path class="c_1" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_GoToNextHeaderFooterNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="24,20 24,32 30,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_GoToNextHeaderFooterLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="24,20 24,32 30,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_GoToPreviousHeaderFooterNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="30,20 30,32 24,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_GoToPreviousHeaderFooterLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z"/></g><g class="op75_5_1"><rect x="10" y="4" class="c_1" width="18" height="6"/></g><path class="c_1" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z"/><polygon class="c_1" points="30,20 30,32 24,26 "/></symbol><symbol id="dxRichEdit_SVGIcon_HeaderNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><rect x="8" y="6" class="c_1" width="14" height="6"/><g class="op75_5_1">	<path class="c_1" d="M22,16H8v-2h14V16z M22,18H8v2h14V18z M22,22H8v2h14V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_HeaderLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z"/><rect x="8" y="6" class="c_1" width="14" height="6"/><g class="op75_5_1">	<path class="c_1" d="M22,16H8v-2h14V16z M22,18H8v2h14V18z M22,22H8v2h14V22z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_HighlightNew" viewBox="0 0 32 32"><g id="Highlight">	<path class="c_1" d="M0.8,5.4c0.3-0.4,0.7-0.8,1.1-1C2.3,4.1,2.8,4,3.4,3.8C4,3.7,4.5,3.6,5.1,3.6c0.5,0,1,0,1.6,0.1		c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.7,0.5,1,0.9s0.4,0.9,0.4,1.5v5.3c0,0.5,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9H7.1		C7,13.9,7,13.7,6.9,13.5c0-0.2-0.1-0.3-0.1-0.5c-0.4,0.5-1,0.8-1.6,1S4,14.3,3.4,14.3c-0.5,0-0.9-0.1-1.4-0.2		c-0.3-0.1-0.7-0.3-1-0.6S0.4,13,0.3,12.6C0.1,12.2,0,11.8,0,11.2s0.1-1,0.3-1.4s0.5-0.7,0.8-0.9s0.7-0.4,1.1-0.5S3,8.2,3.4,8.2		C3.9,8.1,4.3,8.1,4.7,8c0.4,0,0.8-0.1,1.1-0.2c0.3-0.1,0.6-0.2,0.7-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3,0-0.5-0.1-0.7		C6.5,5.9,6.4,5.8,6.2,5.7C6,5.6,5.9,5.5,5.6,5.5c-0.2,0-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.4C3.3,6,3.2,6.4,3.1,7H0.3		C0.4,6.3,0.5,5.8,0.8,5.4z M6.3,9.3C6.1,9.4,5.9,9.4,5.7,9.4c-0.2,0-0.4,0.1-0.6,0.1S4.7,9.6,4.4,9.6C4.2,9.7,4,9.7,3.8,9.8		C3.6,9.9,3.4,10,3.3,10.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0,0.5,0.1,0.6C3,11.9,3.1,12,3.3,12.1		c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,1-0.1,1.3-0.3c0.3-0.2,0.5-0.4,0.7-0.7c0.1-0.3,0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6		V9C6.6,9.2,6.5,9.2,6.3,9.3z M14.5,0v5.1l0,0c0.3-0.5,0.8-0.9,1.4-1.1c0.6-0.2,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3s0.9,0.5,1.3,1		c0.4,0.4,0.7,1,1,1.7c0.2,0.7,0.4,1.5,0.4,2.4c0,0.9-0.1,1.7-0.4,2.4c-0.2,0.7-0.6,1.2-1,1.7c-0.4,0.4-0.8,0.8-1.3,1		s-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1.2l0,0V14h-2.6V0H14.5z M19,7.7c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.7-0.3-1.1-0.3S16,5.8,15.7,6c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2s0,0.8,0.1,1.2s0.2,0.7,0.4,1s0.4,0.5,0.7,0.7s0.7,0.3,1.1,0.3s0.8-0.1,1.1-0.3c0.3-0.2,0.5-0.4,0.7-0.7		s0.3-0.6,0.4-1s0.1-0.8,0.1-1.2S19.1,8.1,19,7.7z"/>	<path class="c_1" d="M29,15l-8,8l-4-4l8-8L29,15z M30,14l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,8.3c-0.4-0.4-1-0.4-1.3,0L26,10L30,14z		 M16,20v4h4L16,20z"/>	<g class="op75_5_1"><rect y="26" class="c_1" width="32" height="6"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_HighlightLargeNew" viewBox="0 0 32 32"><g id="Highlight">	<path class="c_1" d="M0.8,5.4c0.3-0.4,0.7-0.8,1.1-1C2.3,4.1,2.8,4,3.4,3.8C4,3.7,4.5,3.6,5.1,3.6c0.5,0,1,0,1.6,0.1		c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.7,0.5,1,0.9s0.4,0.9,0.4,1.5v5.3c0,0.5,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9H7.1		C7,13.9,7,13.7,6.9,13.5c0-0.2-0.1-0.3-0.1-0.5c-0.4,0.5-1,0.8-1.6,1S4,14.3,3.4,14.3c-0.5,0-0.9-0.1-1.4-0.2		c-0.3-0.1-0.7-0.3-1-0.6S0.4,13,0.3,12.6C0.1,12.2,0,11.8,0,11.2s0.1-1,0.3-1.4s0.5-0.7,0.8-0.9s0.7-0.4,1.1-0.5S3,8.2,3.4,8.2		C3.9,8.1,4.3,8.1,4.7,8c0.4,0,0.8-0.1,1.1-0.2c0.3-0.1,0.6-0.2,0.7-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3,0-0.5-0.1-0.7		C6.5,5.9,6.4,5.8,6.2,5.7C6,5.6,5.9,5.5,5.6,5.5c-0.2,0-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.4C3.3,6,3.2,6.4,3.1,7H0.3		C0.4,6.3,0.5,5.8,0.8,5.4z M6.3,9.3C6.1,9.4,5.9,9.4,5.7,9.4c-0.2,0-0.4,0.1-0.6,0.1S4.7,9.6,4.4,9.6C4.2,9.7,4,9.7,3.8,9.8		C3.6,9.9,3.4,10,3.3,10.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0,0.5,0.1,0.6C3,11.9,3.1,12,3.3,12.1		c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,1-0.1,1.3-0.3c0.3-0.2,0.5-0.4,0.7-0.7c0.1-0.3,0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6		V9C6.6,9.2,6.5,9.2,6.3,9.3z M14.5,0v5.1l0,0c0.3-0.5,0.8-0.9,1.4-1.1c0.6-0.2,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3s0.9,0.5,1.3,1		c0.4,0.4,0.7,1,1,1.7c0.2,0.7,0.4,1.5,0.4,2.4c0,0.9-0.1,1.7-0.4,2.4c-0.2,0.7-0.6,1.2-1,1.7c-0.4,0.4-0.8,0.8-1.3,1		s-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1.2l0,0V14h-2.6V0H14.5z M19,7.7c-0.1-0.4-0.2-0.7-0.4-1		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.7-0.3-1.1-0.3S16,5.8,15.7,6c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1		c-0.1,0.4-0.1,0.8-0.1,1.2s0,0.8,0.1,1.2s0.2,0.7,0.4,1s0.4,0.5,0.7,0.7s0.7,0.3,1.1,0.3s0.8-0.1,1.1-0.3c0.3-0.2,0.5-0.4,0.7-0.7		s0.3-0.6,0.4-1s0.1-0.8,0.1-1.2S19.1,8.1,19,7.7z"/>	<path class="c_1" d="M29,15l-8,8l-4-4l8-8L29,15z M30,14l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,8.3c-0.4-0.4-1-0.4-1.3,0L26,10L30,14z		 M16,20v4h4L16,20z"/>	<g class="op75_5_1"><rect y="26" class="c_1" width="32" height="6"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_HyperlinkNew" viewBox="0 0 32 32"><g id="Hyperlink">	<path class="c_1" d="M10.3,21.7c0.4,0.4,1,0.4,1.4,0l10-10c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-10,10		C9.9,20.7,9.9,21.3,10.3,21.7z"/>	<path class="c_1" d="M15.4,19.5c0.5,1.1,0.3,2.5-0.6,3.4l-4.2,4.2c-1.2,1.2-3.1,1.2-4.2,0l-1.4-1.4c-1.2-1.2-1.2-3.1,0-4.2		l4.2-4.2c0.9-0.9,2.3-1.1,3.4-0.6l1.5-1.5c-1.9-1.3-4.6-1.1-6.3,0.6l-4.2,4.2c-2,2-2,5.1,0,7.1l1.4,1.4c2,2,5.1,2,7.1,0l4.2-4.2		c1.7-1.7,1.9-4.3,0.6-6.3L15.4,19.5z"/>	<path class="c_1" d="M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4		l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6		l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_HyperlinkLargeNew" viewBox="0 0 32 32"><g id="Hyperlink">	<path class="c_1" d="M10.3,21.7c0.4,0.4,1,0.4,1.4,0l10-10c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-10,10		C9.9,20.7,9.9,21.3,10.3,21.7z"/>	<path class="c_1" d="M15.4,19.5c0.5,1.1,0.3,2.5-0.6,3.4l-4.2,4.2c-1.2,1.2-3.1,1.2-4.2,0l-1.4-1.4c-1.2-1.2-1.2-3.1,0-4.2		l4.2-4.2c0.9-0.9,2.3-1.1,3.4-0.6l1.5-1.5c-1.9-1.3-4.6-1.1-6.3,0.6l-4.2,4.2c-2,2-2,5.1,0,7.1l1.4,1.4c2,2,5.1,2,7.1,0l4.2-4.2		c1.7-1.7,1.9-4.3,0.6-6.3L15.4,19.5z"/>	<path class="c_1" d="M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4		l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6		l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ImagePlaceHolderNew" viewBox="0 0 32 32"><circle class="c_1" cx="21" cy="11" r="3"/><polygon class="c_1" points="20,24 10,14 6,18 6,24 "/><g class="op50_26_1">	<polygon class="c_1" points="22,24 18,20 20,18 26,24 	"/></g><g>	<rect x="14" y="28" class="c_1" width="2" height="2"/>	<rect x="22" y="28" class="c_1" width="2" height="2"/>	<rect x="18" y="28" class="c_1" width="2" height="2"/>	<rect x="6" y="28" class="c_1" width="2" height="2"/>	<rect x="10" y="28" class="c_1" width="2" height="2"/></g><g>	<rect x="18" y="4" class="c_1" width="2" height="2"/>	<rect x="10" y="4" class="c_1" width="2" height="2"/>	<rect x="14" y="4" class="c_1" width="2" height="2"/>	<rect x="22" y="4" class="c_1" width="2" height="2"/>	<rect x="6" y="4" class="c_1" width="2" height="2"/></g><g>	<rect y="14" class="c_1" width="2" height="2"/>	<rect y="18" class="c_1" width="2" height="2"/>	<rect y="22" class="c_1" width="2" height="2"/>	<rect y="10" class="c_1" width="2" height="2"/>	<path class="c_1" d="M1,4C0.5,4,0,4.5,0,5v3h2V6h2V4H1z"/>	<path class="c_1" d="M2,26H0v3c0,0.5,0.5,1,1,1h3v-2H2V26z"/></g><g>	<path class="c_1" d="M28,8h2V5c0-0.5-0.5-1-1-1h-3v2h2V8z"/>	<rect x="28" y="18" class="c_1" width="2" height="2"/>	<rect x="28" y="22" class="c_1" width="2" height="2"/>	<path class="c_1" d="M28,26v2h-2v2h3c0.5,0,1-0.5,1-1v-3H28z"/>	<rect x="28" y="14" class="c_1" width="2" height="2"/>	<rect x="28" y="10" class="c_1" width="2" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ImagePlaceHolderLargeNew" viewBox="0 0 32 32"><circle class="c_1" cx="21" cy="11" r="3"/><polygon class="c_1" points="20,24 10,14 6,18 6,24 "/><g class="op50_26_1">	<polygon class="c_1" points="22,24 18,20 20,18 26,24 	"/></g><g>	<rect x="14" y="28" class="c_1" width="2" height="2"/>	<rect x="22" y="28" class="c_1" width="2" height="2"/>	<rect x="18" y="28" class="c_1" width="2" height="2"/>	<rect x="6" y="28" class="c_1" width="2" height="2"/>	<rect x="10" y="28" class="c_1" width="2" height="2"/></g><g>	<rect x="18" y="4" class="c_1" width="2" height="2"/>	<rect x="10" y="4" class="c_1" width="2" height="2"/>	<rect x="14" y="4" class="c_1" width="2" height="2"/>	<rect x="22" y="4" class="c_1" width="2" height="2"/>	<rect x="6" y="4" class="c_1" width="2" height="2"/></g><g>	<rect y="14" class="c_1" width="2" height="2"/>	<rect y="18" class="c_1" width="2" height="2"/>	<rect y="22" class="c_1" width="2" height="2"/>	<rect y="10" class="c_1" width="2" height="2"/>	<path class="c_1" d="M1,4C0.5,4,0,4.5,0,5v3h2V6h2V4H1z"/>	<path class="c_1" d="M2,26H0v3c0,0.5,0.5,1,1,1h3v-2H2V26z"/></g><g>	<path class="c_1" d="M28,8h2V5c0-0.5-0.5-1-1-1h-3v2h2V8z"/>	<rect x="28" y="18" class="c_1" width="2" height="2"/>	<rect x="28" y="22" class="c_1" width="2" height="2"/>	<path class="c_1" d="M28,26v2h-2v2h3c0.5,0,1-0.5,1-1v-3H28z"/>	<rect x="28" y="14" class="c_1" width="2" height="2"/>	<rect x="28" y="10" class="c_1" width="2" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_IndentDecreaseNew" viewBox="0 0 32 32"><g id="IndentDecrease">	<path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z"		/>	<path class="c_1" d="M14,16h-4v3l-6-4l6-4v3h4V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_IndentDecreaseLargeNew" viewBox="0 0 32 32"><g id="IndentDecrease">	<path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z"		/>	<path class="c_1" d="M14,16h-4v3l-6-4l6-4v3h4V16z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_IndentIncreaseNew" viewBox="0 0 32 32"><path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z	"/><path class="c_1" d="M4,14h4v-3l6,4l-6,4v-3H4V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_IndentIncreaseLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z	"/><path class="c_1" d="M4,14h4v-3l6,4l-6,4v-3H4V14z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertCaptionNew" viewBox="0 0 32 32"><polygon class="c_1" points="10,23 4,19 4,22 0,22 0,24 4,24 4,27 "/><g class="op50_26_1">	<rect x="12" y="8" class="c_1" width="14" height="12"/></g><path class="c_1" d="M31,0H7C6.4,0,6,0.4,6,1v17l2,1.3V2h22v28H8v-3.3L6,28v3c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C32,0.4,31.6,0,31,0z M26,24H12v-2h14V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertCaptionLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="10,23 4,19 4,22 0,22 0,24 4,24 4,27 "/><g class="op50_26_1">	<rect x="12" y="8" class="c_1" width="14" height="12"/></g><path class="c_1" d="M31,0H7C6.4,0,6,0.4,6,1v17l2,1.3V2h22v28H8v-3.3L6,28v3c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C32,0.4,31.6,0,31,0z M26,24H12v-2h14V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertColumnBreakNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v12.6l2,1.3V2h22v26H6v-2.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M16,8h-6V6h6V8z M16,10h-6v2h6V10z M16,14h-6v2h6V14z M4,24l6-4l-6-4V24z"/><path class="c_1" d="M24,6h-6v2h6V6z M24,10h-6v2h6V10z M24,14h-6v2h6V14z M24,18h-6v2h6V18z M24,22h-6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertColumnBreakLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v12.6l2,1.3V2h22v26H6v-2.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M16,8h-6V6h6V8z M16,10h-6v2h6V10z M16,14h-6v2h6V14z M4,24l6-4l-6-4V24z"/><path class="c_1" d="M24,6h-6v2h6V6z M24,10h-6v2h6V10z M24,14h-6v2h6V14z M24,18h-6v2h6V18z M24,22h-6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertDataFieldNew" viewBox="0 0 32 32"><g id="InsertField">	<g class="op75_5_1"><path class="c_1" d="M26,24H14v-2h12V24z M29,4h-5v2h4v22H12v-5.2l-2,1.3V29c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V5		C30,4.5,29.5,4,29,4z M26,14h-2H14v2h12V14z"/></g>	<path class="c_1" d="M8,18.1H6v-4H4v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V18.1z"/>	<g class="op75_5_1"><path class="c_1" d="M22,11V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v10c0,0.5,0.5,1,1,1h20C21.5,12,22,11.5,22,11z M16,18h10v2H16		V18z"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertDataFieldLargeNew" viewBox="0 0 32 32"><g id="InsertField">	<g class="op75_5_1"><path class="c_1" d="M26,24H14v-2h12V24z M29,4h-5v2h4v22H12v-5.2l-2,1.3V29c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V5		C30,4.5,29.5,4,29,4z M26,14h-2H14v2h12V14z"/></g>	<path class="c_1" d="M8,18.1H6v-4H4v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V18.1z"/>	<g class="op75_5_1"><path class="c_1" d="M22,11V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v10c0,0.5,0.5,1,1,1h20C21.5,12,22,11.5,22,11z M16,18h10v2H16		V18z"/></g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertEquationCaptionNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertEquationCaptionLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertFigureCaptionNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertFigureCaptionLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertFloatingObjectImageNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertFloatingObjectImageLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertImageNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertImageLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageBreakNew" viewBox="0 0 32 32"><polyline class="c_1" points="0,20 6,16 0,12 "/><path class="c_1" d="M8,30V19c0-0.6,0.4-1,1-1h14l7,7v5h-2v-4h-5c-0.6,0-1-0.4-1-1v-5H10v10H8z M28,2v10H10V2H8v11	c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageBreakLargeNew" viewBox="0 0 32 32"><polyline class="c_1" points="0,20 6,16 0,12 "/><path class="c_1" d="M8,30V19c0-0.6,0.4-1,1-1h14l7,7v5h-2v-4h-5c-0.6,0-1-0.4-1-1v-5H10v10H8z M28,2v10H10V2H8v11	c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageCountNew" viewBox="0 0 32 32"><path class="c_1" d="M27,6h-3V3c0-0.5-0.5-1-1-1H3C2.5,2,2,2.5,2,3v22c0,0.5,0.5,1,1,1h3v3c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V7	C28,6.5,27.5,6,27,6z M6,7v17H4V4h18v2H7C6.5,6,6,6.5,6,7z M26,28H8V8h18V28z"/><path class="c_1" d="M22,15.3l-0.3,1.6H20l-0.5,2.3h1.8L21,20.8h-1.7L18.5,24h-1.8l0.6-3.2h-2L14.8,24H13l0.6-3.2H12l0.3-1.6H14	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H21l-0.7,3.3H22z M18.3,16.9h-2l-0.5,2.3h2L18.3,16.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageCountLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,6h-3V3c0-0.5-0.5-1-1-1H3C2.5,2,2,2.5,2,3v22c0,0.5,0.5,1,1,1h3v3c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V7	C28,6.5,27.5,6,27,6z M6,7v17H4V4h18v2H7C6.5,6,6,6.5,6,7z M26,28H8V8h18V28z"/><path class="c_1" d="M22,15.3l-0.3,1.6H20l-0.5,2.3h1.8L21,20.8h-1.7L18.5,24h-1.8l0.6-3.2h-2L14.8,24H13l0.6-3.2H12l0.3-1.6H14	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H21l-0.7,3.3H22z M18.3,16.9h-2l-0.5,2.3h2L18.3,16.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageNumberNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,28H6V4h18V28z"/><path class="c_1" d="M20,13.3l-0.3,1.6H18l-0.5,2.3h1.8L19,18.8h-1.7L16.5,22h-1.8l0.6-3.2h-2L12.8,22H11l0.6-3.2H10l0.3-1.6H12	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H19l-0.7,3.3H20z M16.3,14.9h-2l-0.5,2.3h2L16.3,14.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertPageNumberLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,28H6V4h18V28z"/><path class="c_1" d="M20,13.3l-0.3,1.6H18l-0.5,2.3h1.8L19,18.8h-1.7L16.5,22h-1.8l0.6-3.2h-2L12.8,22H11l0.6-3.2H10l0.3-1.6H12	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H19l-0.7,3.3H20z M16.3,14.9h-2l-0.5,2.3h2L16.3,14.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakContinuousNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v10.6l2,1.3V2h22v26H6v-4.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M24,8H12V6h12V8z M24,10H12v2h12V10z M24,14H12v2h12V14z M4,22l6-4l-6-4V22z"/><path class="c_1" d="M24,18H12v2h12V18z M24,22H12v2h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakContinuousLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M29,0H5C4.4,0,4,0.4,4,1v10.6l2,1.3V2h22v26H6v-4.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1	C30,0.4,29.6,0,29,0z"/><path class="c_1" d="M24,8H12V6h12V8z M24,10H12v2h12V10z M24,14H12v2h12V14z M4,22l6-4l-6-4V22z"/><path class="c_1" d="M24,18H12v2h12V18z M24,22H12v2h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakEvenPageNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M0,12l6,4l-6,4 M22,10V8.4h-3.4C18.7,8.2,18.9,8.1,19,8c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8V5.2c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C18.3,6.6,18,6.8,17.7,7c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V10H22z"/><path class="c_1" d="M18,30v-2h-3v-1.7l3.4-4.3H20l0,4.3h1V28h-1l0,2H18z M18,26.3v-1.5l-1.3,1.5H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakEvenPageLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M0,12l6,4l-6,4 M22,10V8.4h-3.4C18.7,8.2,18.9,8.1,19,8c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8V5.2c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C18.3,6.6,18,6.8,17.7,7c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V10H22z"/><path class="c_1" d="M18,30v-2h-3v-1.7l3.4-4.3H20l0,4.3h1V28h-1l0,2H18z M18,26.3v-1.5l-1.3,1.5H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakNextPageNew" viewBox="0 0 32 32"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/><path class="c_1" d="M0,12l6,4l-6,4 M24,6H14v2h10V6z M24,4H14V2h10V4z"/><path class="c_1" d="M24,30H14v-2h10V30z M24,24H14v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakNextPageLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/><path class="c_1" d="M0,12l6,4l-6,4 M24,6H14v2h10V6z M24,4H14V2h10V4z"/><path class="c_1" d="M24,30H14v-2h10V30z M24,24H14v2h10V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakOddPageNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M20,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8c0.2-0.3,0.2-0.7,0.2-1.1c0-0.5-0.1-0.9-0.4-1.2	c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1c-0.2-0.3-0.4-0.5-0.6-0.7	c-0.2-0.2-0.5-0.3-0.8-0.4C19.5,22,19.2,22,18.9,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6c-0.2,0.2-0.4,0.5-0.6,0.9	c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3c0.2,0,0.5,0.1,0.6,0.2	c0.2,0.1,0.3,0.3,0.3,0.6c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.1,0-0.2,0-0.3,0	c-0.1,0-0.4,0-0.5,0l-0.2,0v1.4h0.1c0.2,0,0.6,0,0.8,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.1,0.3,0.1,0.6	c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.4	c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H16l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9c0.3,0.2,0.6,0.4,0.9,0.6	c0.4,0.1,0.8,0.2,1.2,0.2C19.3,30,19.6,29.9,20,29.8z"/><path class="c_1" d="M0,12l6,4l-6,4 M18.4,2l0,0.1c0,0.3-0.1,0.5-0.3,0.7c-0.1,0.2-0.3,0.4-0.5,0.5c-0.2,0.1-0.4,0.2-0.7,0.3	c-0.2,0-0.5,0.1-0.7,0.1l-0.2,0v1.6l2,0V10h2V2H18.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertSectionBreakOddPageLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20	c0.6,0,1,0.4,1,1v11H28z"/></g><path class="c_1" d="M20,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8c0.2-0.3,0.2-0.7,0.2-1.1c0-0.5-0.1-0.9-0.4-1.2	c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1c-0.2-0.3-0.4-0.5-0.6-0.7	c-0.2-0.2-0.5-0.3-0.8-0.4C19.5,22,19.2,22,18.9,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6c-0.2,0.2-0.4,0.5-0.6,0.9	c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3c0.2,0,0.5,0.1,0.6,0.2	c0.2,0.1,0.3,0.3,0.3,0.6c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.1,0-0.2,0-0.3,0	c-0.1,0-0.4,0-0.5,0l-0.2,0v1.4h0.1c0.2,0,0.6,0,0.8,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.1,0.3,0.1,0.6	c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.4	c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H16l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9c0.3,0.2,0.6,0.4,0.9,0.6	c0.4,0.1,0.8,0.2,1.2,0.2C19.3,30,19.6,29.9,20,29.8z"/><path class="c_1" d="M0,12l6,4l-6,4 M18.4,2l0,0.1c0,0.3-0.1,0.5-0.3,0.7c-0.1,0.2-0.3,0.4-0.5,0.5c-0.2,0.1-0.4,0.2-0.7,0.3	c-0.2,0-0.5,0.1-0.7,0.1l-0.2,0v1.6l2,0V10h2V2H18.4z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCaptionNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,12h8v6h-8V12z M12,12v6h8v-6H12z M10,18v-6H2v6H10z M22,26h8v-6h-8V26z M12,20v6h8v-6H12z M10,26v-6H2v6		H10z"/></g><rect x="2" y="4" class="c_1" width="28" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCaptionLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,12h8v6h-8V12z M12,12v6h8v-6H12z M10,18v-6H2v6H10z M22,26h8v-6h-8V26z M12,20v6h8v-6H12z M10,26v-6H2v6		H10z"/></g><rect x="2" y="4" class="c_1" width="28" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M30,6H20V0h10V6z M30,16H20v6h10V16z M30,24H20v6h10V24z"/></g><polygon class="c_1" points="12,10 12,12 18,12 18,14 22,11 18,8 18,10 "/><rect y="8" class="c_1" width="10" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M30,6H20V0h10V6z M30,16H20v6h10V16z M30,24H20v6h10V24z"/></g><polygon class="c_1" points="12,10 12,12 18,12 18,14 22,11 18,8 18,10 "/><rect y="8" class="c_1" width="10" height="6"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M30,12h-8v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M6,13h4v4H6v2l-4-4l4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheLeftLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M30,12h-8v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M6,13h4v4H6v2l-4-4l4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheRightNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M26,13h-4v4h4v2l4-4l-4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableColumnsToTheRightLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z"/></g><path class="c_1" d="M26,13h-4v4h4v2l4-4l-4-4V13z"/><rect x="12" y="4" class="c_1" width="8" height="22"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfCaptionsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,20h-2v2h2V20z M22,24h-2v2h2V24z M22,16h-2v2h2V16z"/></g><path class="c_1" d="M26,16h-2v2h2V16z M26,20h-2v2h2V20z M26,24h-2v2h2V24z"/><path class="c_1" d="M12,26v-2h6v2H12z M18,22v-2h-6v2H18z M31,0H7C6.4,0,6,0.4,6,1v14.9l2,1.3V2h22v28H8v-5.3l-2,1.3V31	c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M18,16h-6v2h6V16z"/><polygon class="c_1" points="10,21 4,17 4,20 0,20 0,22 4,22 4,25 "/><g class="op50_26_1">	<rect x="12" y="6" class="c_1" width="14" height="8"/></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfCaptionsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M22,20h-2v2h2V20z M22,24h-2v2h2V24z M22,16h-2v2h2V16z"/></g><path class="c_1" d="M26,16h-2v2h2V16z M26,20h-2v2h2V20z M26,24h-2v2h2V24z"/><path class="c_1" d="M12,26v-2h6v2H12z M18,22v-2h-6v2H18z M31,0H7C6.4,0,6,0.4,6,1v14.9l2,1.3V2h22v28H8v-5.3l-2,1.3V31	c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M18,16h-6v2h6V16z"/><polygon class="c_1" points="10,21 4,17 4,20 0,20 0,22 4,22 4,25 "/><g class="op50_26_1">	<rect x="12" y="6" class="c_1" width="14" height="8"/></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfContentsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,18h-2v2h2V18z M20,22h-2v2h2V22z M20,14h-2v2h2V14z M16,8h-2V6h2V8z		 M16,10h-2v2h2V10z M16,18h-2v2h2V18z M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z M24,18h-2v2h2V18z M24,22h-2v2h2V22z"/><path class="c_1" d="M27,0H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C28,0.4,27.6,0,27,0z M26,28H4V2h22V28z	 M12,8H6V6h6V8z M12,10H6v2h6V10z M12,14H6v2h6V14z M12,18H6v2h6V18z M12,22H6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfContentsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,18h-2v2h2V18z M20,22h-2v2h2V22z M20,14h-2v2h2V14z M16,8h-2V6h2V8z		 M16,10h-2v2h2V10z M16,18h-2v2h2V18z M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z M24,18h-2v2h2V18z M24,22h-2v2h2V22z"/><path class="c_1" d="M27,0H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C28,0.4,27.6,0,27,0z M26,28H4V2h22V28z	 M12,8H6V6h6V8z M12,10H6v2h6V10z M12,14H6v2h6V14z M12,18H6v2h6V18z M12,22H6v2h6V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfEquationsNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfEquationsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfFiguresNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableOfFiguresLargeNew" viewBox="0 0 32 32"><g id="Images">	<path class="c_1" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z"/>	<circle class="c_1" cx="21" cy="11" r="3"/>	<polygon class="c_1" points="20,24 10,14 6,18 6,24 	"/>	<g class="op50_26_1">		<polygon class="c_1" points="22,24 18,20 20,18 26,24 		"/>	</g></g></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsAboveNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,20h-8v6h8V20z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,6 16,2 12,6 14,6 14,10 18,10 18,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsAboveLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,20h-8v6h8V20z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,6 16,2 12,6 14,6 14,10 18,10 18,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsBelowNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,24 16,28 12,24 14,24 14,20 18,20 18,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTableRowsBelowLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z"/></g><path class="c_1" d="M30,12H2v6h28V12z"/><polygon class="c_1" points="20,24 16,28 12,24 14,24 14,20 18,20 18,24 "/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTextBoxNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,28H6V4h20V28z"/><g class="op75_5_1">	<path class="c_1" d="M24,26H8v-2h16V26z M24,20H8v2h16V20z"/></g><path class="c_1" d="M22,18h-3l-0.9-2.7h-4.3L13,18h-3l4.4-12h3.2L22,18z M17.5,13.3l-1.3-4c-0.1-0.3-0.2-0.7-0.2-1.1h-0.1	c0,0.4-0.1,0.7-0.2,1l-1.3,4.1H17.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_InsertTextBoxLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,28H6V4h20V28z"/><g class="op75_5_1">	<path class="c_1" d="M24,26H8v-2h16V26z M24,20H8v2h16V20z"/></g><path class="c_1" d="M22,18h-3l-0.9-2.7h-4.3L13,18h-3l4.4-12h3.2L22,18z M17.5,13.3l-1.3-4c-0.1-0.3-0.2-0.7-0.2-1.1h-0.1	c0,0.4-0.1,0.7-0.2,1l-1.3,4.1H17.5z"/></symbol><symbol id="dxRichEdit_SVGIcon_ItalicNew" viewBox="0 0 32 32"><polygon class="c_1" points="21.6,6 22,4 14,4 13.6,6 15.8,6 12,24 9.8,24 9.4,26 17.6,26 17.8,24 15.6,24 19.4,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_ItalicLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="21.6,6 22,4 14,4 13.6,6 15.8,6 12,24 9.8,24 9.4,26 17.6,26 17.8,24 15.6,24 19.4,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_LanguageNew" viewBox="0 0 32 32"><path class="c_1" d="M3.3,28c1.3-1.1,2.9-1.7,4.7-1.9v3.9C6.2,29.7,4.6,29.1,3.3,28z M14.9,18l-2,2h5.1c-0.1-0.7-0.3-1.4-0.5-2	H14.9z M10,22v2.1c2.3,0.2,4.4,1.1,6.1,2.5c1-1.3,1.7-2.9,1.9-4.6h-7.1H10z M1.9,26.6c1.7-1.4,3.8-2.3,6.1-2.5V22H0.1	C0.2,23.7,0.9,25.3,1.9,26.6z M10,29.9c1.8-0.2,3.4-0.9,4.7-1.9c-1.3-1.1-2.9-1.7-4.7-1.9V29.9z M5,18c-1.5,0-2.7-1.1-2.9-2.5	c0,0-0.1-0.1-0.1-0.1c-1,1.3-1.7,2.9-1.9,4.6H8v-2H7H5z"/><g class="op50_26_1"><path class="c_1" d="M29,0H5C4.5,0,4,0.5,4,1v14c0,0.5,0.5,1,1,1h5v4l4-4h15c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z"/></g><path class="c_1" d="M13.9,12h-2l-0.6-1.8H8.5L8,12H6l2.9-8H11L13.9,12z M10.9,8.8l-0.9-2.7C10,5.9,10,5.7,10,5.4h0	c0,0.2-0.1,0.5-0.1,0.7L8.9,8.8H10.9z M14.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5c0.5,0.3,0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1	c-0.3,0.3-0.7,0.5-1.1,0.7v0c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3c0,0.7-0.3,1.3-0.8,1.7C19.6,11.8,18.9,12,18,12H14.9z	 M16.7,5.3v1.9h0.8c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H16.7z M16.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3	c0.2-0.2,0.4-0.5,0.4-0.8c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3H16.7z M27.9,11.7c-0.6,0.3-1.3,0.4-2.3,0.4	c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7	c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9c0,0.8,0.2,1.4,0.7,1.8s1,0.7,1.8,0.7	c0.7,0,1.3-0.2,1.9-0.5V11.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_LanguageLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M3.3,28c1.3-1.1,2.9-1.7,4.7-1.9v3.9C6.2,29.7,4.6,29.1,3.3,28z M14.9,18l-2,2h5.1c-0.1-0.7-0.3-1.4-0.5-2	H14.9z M10,22v2.1c2.3,0.2,4.4,1.1,6.1,2.5c1-1.3,1.7-2.9,1.9-4.6h-7.1H10z M1.9,26.6c1.7-1.4,3.8-2.3,6.1-2.5V22H0.1	C0.2,23.7,0.9,25.3,1.9,26.6z M10,29.9c1.8-0.2,3.4-0.9,4.7-1.9c-1.3-1.1-2.9-1.7-4.7-1.9V29.9z M5,18c-1.5,0-2.7-1.1-2.9-2.5	c0,0-0.1-0.1-0.1-0.1c-1,1.3-1.7,2.9-1.9,4.6H8v-2H7H5z"/><g class="op50_26_1"><path class="c_1" d="M29,0H5C4.5,0,4,0.5,4,1v14c0,0.5,0.5,1,1,1h5v4l4-4h15c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z"/></g><path class="c_1" d="M13.9,12h-2l-0.6-1.8H8.5L8,12H6l2.9-8H11L13.9,12z M10.9,8.8l-0.9-2.7C10,5.9,10,5.7,10,5.4h0	c0,0.2-0.1,0.5-0.1,0.7L8.9,8.8H10.9z M14.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5c0.5,0.3,0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1	c-0.3,0.3-0.7,0.5-1.1,0.7v0c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3c0,0.7-0.3,1.3-0.8,1.7C19.6,11.8,18.9,12,18,12H14.9z	 M16.7,5.3v1.9h0.8c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H16.7z M16.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3	c0.2-0.2,0.4-0.5,0.4-0.8c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3H16.7z M27.9,11.7c-0.6,0.3-1.3,0.4-2.3,0.4	c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7	c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9c0,0.8,0.2,1.4,0.7,1.8s1,0.7,1.8,0.7	c0.7,0,1.3-0.2,1.9-0.5V11.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_LastNew" viewBox="0 0 32 32"><path class="c_1" d="M21.6,14.5c0.5,0.3,0.5,0.8,0,1.1L4.9,25.9C4.4,26.2,4,25.9,4,25.4V4.6c0-0.6,0.4-0.8,0.9-0.5L21.6,14.5z	 M28,25V5c0-0.6-0.5-1-1-1h-2c-0.5,0-1,0.4-1,1v20c0,0.5,0.5,1,1,1h2C27.5,26,28,25.5,28,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_LastLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M21.6,14.5c0.5,0.3,0.5,0.8,0,1.1L4.9,25.9C4.4,26.2,4,25.9,4,25.4V4.6c0-0.6,0.4-0.8,0.9-0.5L21.6,14.5z	 M28,25V5c0-0.6-0.5-1-1-1h-2c-0.5,0-1,0.4-1,1v20c0,0.5,0.5,1,1,1h2C27.5,26,28,25.5,28,25z"/></symbol><symbol id="dxRichEdit_SVGIcon_LeftColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M12,8H2V6h10V8z M30,6H14v2h16V6z M12,10H2v2h10V10z M30,10H14v2h16V10z M12,14H2v2h10V14z M30,14H14v2h16V14z	 M12,18H2v2h10V18z M30,18H14v2h16V18z M12,22H2v2h10V22z M30,22H14v2h16V22z"/><rect x="2" y="2" class="c_1" width="10" height="2"/><rect x="14" y="2" class="c_1" width="16" height="2"/><rect x="2" y="26" class="c_1" width="10" height="2"/><rect x="14" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_LeftColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M12,8H2V6h10V8z M30,6H14v2h16V6z M12,10H2v2h10V10z M30,10H14v2h16V10z M12,14H2v2h10V14z M30,14H14v2h16V14z	 M12,18H2v2h10V18z M30,18H14v2h16V18z M12,22H2v2h10V22z M30,22H14v2h16V22z"/><rect x="2" y="2" class="c_1" width="10" height="2"/><rect x="14" y="2" class="c_1" width="16" height="2"/><rect x="2" y="26" class="c_1" width="10" height="2"/><rect x="14" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_LineNumberingNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M31,2H13c-0.5,0-1,0.5-1,1v26c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V3C32,2.5,31.5,2,31,2z M30,28H14V4h16V28z"	/></g><g class="op50_26_1"><path class="c_1" d="M26,12h-8v-2h8V12z M26,22h-8v-2h8V22z"/></g><path class="c_1" d="M4,6v8H2V9.3l-2,0V7.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M6,24v-1.6H2.6C2.7,22.2,2.9,22.1,3,22c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C2.3,20.6,2,20.8,1.7,21c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V24H6z M10,10H8v2h2V10z M10,20H8v2h2V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_LineNumberingLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M31,2H13c-0.5,0-1,0.5-1,1v26c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V3C32,2.5,31.5,2,31,2z M30,28H14V4h16V28z"	/></g><g class="op50_26_1"><path class="c_1" d="M26,12h-8v-2h8V12z M26,22h-8v-2h8V22z"/></g><path class="c_1" d="M4,6v8H2V9.3l-2,0V7.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M6,24v-1.6H2.6C2.7,22.2,2.9,22.1,3,22c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C2.3,20.6,2,20.8,1.7,21c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V24H6z M10,10H8v2h2V10z M10,20H8v2h2V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_LineSpacingNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,24h4l-5,5l-5-5h4v-6h2V24z M4,12h2V6h4L5,1L0,6h4V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_LineSpacingLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,24h4l-5,5l-5-5h4v-6h2V24z M4,12h2V6h4L5,1L0,6h4V12z"/></symbol><symbol id="dxRichEdit_SVGIcon_LinkToPreviousNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M16,16H6v-6h10V16z M32,10H22v6h10V10z"/></g><path class="c_1" d="M14,16v11c0,0.5-0.5,1-1,1H3c-0.5,0-1-0.5-1-1V13c0-0.5,0.5-1,1-1h3v2H4v12h8V16H14z M28,16v10h-8V14h2v-2h-3	c-0.5,0-1,0.5-1,1v14c0,0.5,0.5,1,1,1h10c0.5,0,1-0.5,1-1V16H28z"/><path class="c_1" d="M10.9,2.9C12.7,1.1,15.2,0,18,0c4.8,0,8.9,3.4,9.8,8h-2.1c-0.9-3.4-4-6-7.7-6c-2.2,0-4.2,0.9-5.6,2.4L16,8H8V0	L10.9,2.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_LinkToPreviousLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M16,16H6v-6h10V16z M32,10H22v6h10V10z"/></g><path class="c_1" d="M14,16v11c0,0.5-0.5,1-1,1H3c-0.5,0-1-0.5-1-1V13c0-0.5,0.5-1,1-1h3v2H4v12h8V16H14z M28,16v10h-8V14h2v-2h-3	c-0.5,0-1,0.5-1,1v14c0,0.5,0.5,1,1,1h10c0.5,0,1-0.5,1-1V16H28z"/><path class="c_1" d="M10.9,2.9C12.7,1.1,15.2,0,18,0c4.8,0,8.9,3.4,9.8,8h-2.1c-0.9-3.4-4-6-7.7-6c-2.2,0-4.2,0.9-5.6,2.4L16,8H8V0	L10.9,2.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListBulletsNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H12V6h18V8z M30,16H12v-2h18V16z M30,24H12v-2h18V24z"/><path class="c_1" d="M8,7c0,1.7-1.3,3-3,3S2,8.7,2,7s1.3-3,3-3S8,5.3,8,7z M5,12c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,12,5,12	z M5,20c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,20,5,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListBulletsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H12V6h18V8z M30,16H12v-2h18V16z M30,24H12v-2h18V24z"/><path class="c_1" d="M8,7c0,1.7-1.3,3-3,3S2,8.7,2,7s1.3-3,3-3S8,5.3,8,7z M5,12c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,12,5,12	z M5,20c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,20,5,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListMultilevelNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M24,8H6V6h18V8z M28,18H10v-2h18V18z M32,28H14v-2h18V28z"/></g><path class="c_1" d="M4,2v8H2V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M5.4,20c0.3-0.1,0.6-0.3,0.8-0.5c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3l0,0.1h2l-0.1-0.2	c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.3,0-0.5,0-0.8v-3.3c0-0.4-0.1-0.8-0.3-1c-0.2-0.2-0.4-0.4-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.3	c-0.3,0-0.6-0.1-1-0.1c-0.3,0-0.7,0-1,0.1c-0.3,0.1-0.7,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.7-0.3,1.1l0,0.1h1.9	l0-0.1c0-0.3,0.1-0.5,0.3-0.7c0.2-0.1,0.4-0.2,0.7-0.2c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1C5.9,14.8,6,14.9,6,15	c0,0.1,0.1,0.2,0.1,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.1-0.2,0.1-0.4,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.5,0.1-0.8,0.1	c-0.3,0-0.5,0.1-0.8,0.2c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.3,0.1,0.6,0.2,0.9	c0.1,0.3,0.3,0.5,0.5,0.6C2.9,19.8,3.1,20,3.4,20c0.3,0.1,0.5,0.1,0.9,0.1C4.6,20.2,5,20.1,5.4,20z M6.1,17v0.4c0,0.1,0,0.2,0,0.4	c0,0.1-0.1,0.3-0.1,0.4c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.2-0.1-0.3-0.1	C4.1,18.6,4,18.5,4,18.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3,0.1-0.3c0-0.1,0.1-0.2,0.2-0.2c0.1-0.1,0.2-0.1,0.3-0.1	c0.1,0,0.2-0.1,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.4-0.1C6,17,6.1,17,6.1,17z M10,22H8v2h2V22z	 M10,30H8v-4.9h2V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListMultilevelLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M24,8H6V6h18V8z M28,18H10v-2h18V18z M32,28H14v-2h18V28z"/></g><path class="c_1" d="M4,2v8H2V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M5.4,20c0.3-0.1,0.6-0.3,0.8-0.5c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3l0,0.1h2l-0.1-0.2	c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.3,0-0.5,0-0.8v-3.3c0-0.4-0.1-0.8-0.3-1c-0.2-0.2-0.4-0.4-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.3	c-0.3,0-0.6-0.1-1-0.1c-0.3,0-0.7,0-1,0.1c-0.3,0.1-0.7,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.7-0.3,1.1l0,0.1h1.9	l0-0.1c0-0.3,0.1-0.5,0.3-0.7c0.2-0.1,0.4-0.2,0.7-0.2c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1C5.9,14.8,6,14.9,6,15	c0,0.1,0.1,0.2,0.1,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.1-0.2,0.1-0.4,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.5,0.1-0.8,0.1	c-0.3,0-0.5,0.1-0.8,0.2c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.3,0.1,0.6,0.2,0.9	c0.1,0.3,0.3,0.5,0.5,0.6C2.9,19.8,3.1,20,3.4,20c0.3,0.1,0.5,0.1,0.9,0.1C4.6,20.2,5,20.1,5.4,20z M6.1,17v0.4c0,0.1,0,0.2,0,0.4	c0,0.1-0.1,0.3-0.1,0.4c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.2-0.1-0.3-0.1	C4.1,18.6,4,18.5,4,18.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3,0.1-0.3c0-0.1,0.1-0.2,0.2-0.2c0.1-0.1,0.2-0.1,0.3-0.1	c0.1,0,0.2-0.1,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.4-0.1C6,17,6.1,17,6.1,17z M10,22H8v2h2V22z	 M10,30H8v-4.9h2V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListNumbersNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M30,8H12V6h18V8z M30,18H12v-2h18V18z M30,28H12v-2h18V28z"/></g><path class="c_1" d="M6,2v8H4V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H6z M8,20v-1.6H4.6C4.7,18.2,4.9,18.1,5,18c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C4.3,16.6,4,16.8,3.7,17c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V20H8z M6.1,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8C7.9,28.2,8,27.8,8,27.4	c0-0.5-0.1-0.9-0.4-1.2c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1	c-0.2-0.3-0.4-0.5-0.6-0.7c-0.2-0.2-0.5-0.3-0.8-0.4C5.7,22,5.4,22,5.1,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6	c-0.2,0.2-0.4,0.5-0.6,0.9c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3	c0.2,0,0.5,0.1,0.6,0.2C5.9,23.9,6,24.1,6,24.4c0,0.2,0,0.3-0.1,0.4C5.8,24.9,5.6,25,5.5,25c-0.1,0.1-0.3,0.1-0.5,0.1	c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.2,0l-0.2,0v1.4h0.1c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3	c0.1,0.1,0.1,0.3,0.1,0.6c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3	C4.1,28,4,27.8,4,27.7c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H2.2l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9	c0.3,0.2,0.6,0.4,0.9,0.6C4.2,29.9,4.6,30,5.1,30C5.4,30,5.8,29.9,6.1,29.8z"/></symbol><symbol id="dxRichEdit_SVGIcon_ListNumbersLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M30,8H12V6h18V8z M30,18H12v-2h18V18z M30,28H12v-2h18V28z"/></g><path class="c_1" d="M6,2v8H4V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H6z M8,20v-1.6H4.6C4.7,18.2,4.9,18.1,5,18c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C4.3,16.6,4,16.8,3.7,17c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9	c-0.1,0.3-0.2,0.7-0.2,1.2V20H8z M6.1,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8C7.9,28.2,8,27.8,8,27.4	c0-0.5-0.1-0.9-0.4-1.2c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1	c-0.2-0.3-0.4-0.5-0.6-0.7c-0.2-0.2-0.5-0.3-0.8-0.4C5.7,22,5.4,22,5.1,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6	c-0.2,0.2-0.4,0.5-0.6,0.9c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3	c0.2,0,0.5,0.1,0.6,0.2C5.9,23.9,6,24.1,6,24.4c0,0.2,0,0.3-0.1,0.4C5.8,24.9,5.6,25,5.5,25c-0.1,0.1-0.3,0.1-0.5,0.1	c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.2,0l-0.2,0v1.4h0.1c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3	c0.1,0.1,0.1,0.3,0.1,0.6c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3	C4.1,28,4,27.8,4,27.7c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H2.2l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9	c0.3,0.2,0.6,0.4,0.9,0.6C4.2,29.9,4.6,30,5.1,30C5.4,30,5.8,29.9,6.1,29.8z"/></symbol><symbol id="dxRichEdit_SVGIcon_MailMergeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,22H18v-2h10V22z M10,6c0-1.1,0.9-2,2-2h4V3c0-1.7-3.6-3-8-3S0,1.3,0,3v14c0,1.1,1.6,2.1,4,2.6V15	c0-0.5,0.5-1,1-1h3h1.1h0l0.9,0.6V6z"/><g class="op75_5_1"><path class="c_1" d="M16,16h12v2H16V16z M31,6H13c-0.5,0-1,0.5-1,1v8.9l2,1.3V8h16v22H14v-5.3l-2,1.3V31c0,0.5,0.5,1,1,1h18	c0.5,0,1-0.5,1-1V7C32,6.5,31.5,6,31,6z M28,12H16v2h12V12z M16,26h12v-2H16V26z"/></g><path class="c_1" d="M10,20H8v-4H6v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_MailMergeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,22H18v-2h10V22z M10,6c0-1.1,0.9-2,2-2h4V3c0-1.7-3.6-3-8-3S0,1.3,0,3v14c0,1.1,1.6,2.1,4,2.6V15	c0-0.5,0.5-1,1-1h3h1.1h0l0.9,0.6V6z"/><g class="op75_5_1"><path class="c_1" d="M16,16h12v2H16V16z M31,6H13c-0.5,0-1,0.5-1,1v8.9l2,1.3V8h16v22H14v-5.3l-2,1.3V31c0,0.5,0.5,1,1,1h18	c0.5,0,1-0.5,1-1V7C32,6.5,31.5,6,31,6z M28,12H16v2h12V12z M16,26h12v-2H16V26z"/></g><path class="c_1" d="M10,20H8v-4H6v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_MergeTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><rect x="12" y="8" class="c_1" width="18" height="14"/></symbol><symbol id="dxRichEdit_SVGIcon_MergeTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><rect x="12" y="8" class="c_1" width="18" height="14"/></symbol><symbol id="dxRichEdit_SVGIcon_ModifyTableStyleNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10h-8V4h8V10z M26.3,14.9c0.5-0.5,1.1-0.7,1.7-0.8v-2h-8v6h3.2L26.3,14.9z M0,26h8v-6H0V26z M18,23.2V20		h-8v6h5.2L18,23.2z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M29,23l-8,8l-4-4l8-8L29,23z M30,22	l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_ModifyTableStyleLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M28,10h-8V4h8V10z M26.3,14.9c0.5-0.5,1.1-0.7,1.7-0.8v-2h-8v6h3.2L26.3,14.9z M0,26h8v-6H0V26z M18,23.2V20		h-8v6h5.2L18,23.2z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M29,23l-8,8l-4-4l8-8L29,23z M30,22	l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewCommentNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewCommentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5	V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_NewTableStyleNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M0,20h8v6H0V20z M10,26h8v-6h-8V26z M20,12v6h8v-6H20z M20,26h8v-6h-8V26z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z"/><g class="op75_5_1"><polygon class="c_1" points="25,2 27,0 27,3 30,3 28,5 30,7 27,7 27,10 25,8 23,10 23,7 20,7 22,5 20,3 23,3 23,0 "/></g></symbol><symbol id="dxRichEdit_SVGIcon_NewTableStyleLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M0,20h8v6H0V20z M10,26h8v-6h-8V26z M20,12v6h8v-6H20z M20,26h8v-6h-8V26z"/></g><path class="c_1" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z"/><g class="op75_5_1"><polygon class="c_1" points="25,2 27,0 27,3 30,3 28,5 30,7 27,7 27,10 25,8 23,10 23,7 20,7 22,5 20,3 23,3 23,0 "/></g></symbol><symbol id="dxRichEdit_SVGIcon_NextNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_NextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_NextCommentNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_NextCommentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_OneColumnNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_OneColumnLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z"/><rect x="2" y="2" class="c_1" width="28" height="2"/><rect x="2" y="26" class="c_1" width="28" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_OpenNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M2.2,25.2l5.5-10C8,14.5,8.7,14,9.5,14H24v-3c0-0.6-0.4-1-1-1H12V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.5,2,7v18		c0,0.2,0,0.3,0.1,0.4C2.1,25.4,2.2,25.3,2.2,25.2z"/></g><path class="c_1" d="M29.3,16H9.6L4,26h19.8c0.5,0,1.1-0.2,1.3-0.6l4.9-8.9C30.1,16.2,29.8,16,29.3,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_OpenLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M2.2,25.2l5.5-10C8,14.5,8.7,14,9.5,14H24v-3c0-0.6-0.4-1-1-1H12V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.5,2,7v18		c0,0.2,0,0.3,0.1,0.4C2.1,25.4,2.2,25.3,2.2,25.2z"/></g><path class="c_1" d="M29.3,16H9.6L4,26h19.8c0.5,0,1.1-0.2,1.3-0.6l4.9-8.9C30.1,16.2,29.8,16,29.3,16z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageColorNew" viewBox="0 0 32 32"><path class="c_1" d="M32,3v26c0,0.5-0.5,1-1,1H9c-0.5,0-1-0.5-1-1v-3.1C8.2,26,8.5,26,8.7,26c1.5,0,2.9-0.6,4-1.6l6.2-6.1	c0.2,1,0.3,2.1,0.3,3.3c0,2.4,2,4.4,4.4,4.4s4.4-2,4.4-4.4c0-5.8-4.3-10.6-9.9-11.5L19,9.3c1.2-1.2,1.2-3.1,0-4.2	c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.1,0.9l-2.6,2.6L8,3.4V3c0-0.5,0.5-1,1-1h22C31.5,2,32,2.5,32,3z M16.4,12	c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C26,16.3,21.7,12,16.4,12z"/><g class="op75_5_1"><path class="c_1" d="M15,13.2l3,3l-6.7,6.7c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,6l3,3l-1.9,1.9	C8.3,11.4,8,12.2,8,13c0,0.8,0.3,1.6,0.9,2.1C9.4,15.7,10.2,16,11,16s1.6-0.3,2.1-0.9L15,13.2z M11.7,13.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,14.1,11.3,14.1,11.7,13.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PageColorLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,3v26c0,0.5-0.5,1-1,1H9c-0.5,0-1-0.5-1-1v-3.1C8.2,26,8.5,26,8.7,26c1.5,0,2.9-0.6,4-1.6l6.2-6.1	c0.2,1,0.3,2.1,0.3,3.3c0,2.4,2,4.4,4.4,4.4s4.4-2,4.4-4.4c0-5.8-4.3-10.6-9.9-11.5L19,9.3c1.2-1.2,1.2-3.1,0-4.2	c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.1,0.9l-2.6,2.6L8,3.4V3c0-0.5,0.5-1,1-1h22C31.5,2,32,2.5,32,3z M16.4,12	c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C26,16.3,21.7,12,16.4,12z"/><g class="op75_5_1"><path class="c_1" d="M15,13.2l3,3l-6.7,6.7c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,6l3,3l-1.9,1.9	C8.3,11.4,8,12.2,8,13c0,0.8,0.3,1.6,0.9,2.1C9.4,15.7,10.2,16,11,16s1.6-0.3,2.1-0.9L15,13.2z M11.7,13.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,14.1,11.3,14.1,11.7,13.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsModerateNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsModerateLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNarrowNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,8V6h-2V4h-2v2H10V4H8v2H6v2h2v16H6v2h2v2h2v-2h12v2h2v-2h2v-2h-2V8H26z M22,24H10V8h12V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNarrowLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,8V6h-2V4h-2v2H10V4H8v2H6v2h2v16H6v2h2v2h2v-2h12v2h2v-2h2v-2h-2V8H26z M22,24H10V8h12V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNormalNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-2V4h-2v4H12V4h-2v4H6v2h4v12H6v2h4v4h2v-4h10v4h2v-4h2v-2h-2V10H26z M22,22H12V10h10V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsNormalLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-2V4h-2v4H12V4h-2v4H6v2h4v12H6v2h4v4h2v-4h10v4h2v-4h2v-2h-2V10H26z M22,22H12V10h10V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsWideNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-6V4h-2v4h-4V4h-2v4H6v2h6v12H6v2h6v4h2v-4h4v4h2v-4h6v-2h-6V10H26z M18,22h-4V10h4V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageMarginsWideLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><path class="c_1" d="M26,10V8h-6V4h-2v4h-4V4h-2v4H6v2h6v12H6v2h6v4h2v-4h4v4h2v-4h6v-2h-6V10H26z M18,22h-4V10h4V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationNew" viewBox="0 0 32 32"><path class="c_1" d="M23,12h-3V7l-7-7H1C0.4,0,0,0.4,0,1v22c0,0.6,0.4,1,1,1h5v7c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V19L23,12z	 M2,22V2h10v5c0,0.6,0.4,1,1,1h5v4H7c-0.6,0-1,0.4-1,1v9H2z M28,30H8v-6v-2v-8h10h2h2v5c0,0.6,0.4,1,1,1h5V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M23,12h-3V7l-7-7H1C0.4,0,0,0.4,0,1v22c0,0.6,0.4,1,1,1h5v7c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V19L23,12z	 M2,22V2h10v5c0,0.6,0.4,1,1,1h5v4H7c-0.6,0-1,0.4-1,1v9H2z M28,30H8v-6v-2v-8h10h2h2v5c0,0.6,0.4,1,1,1h5V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationLandscapeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,14h16v2H8V14z"/><path class="c_1" d="M2,5v21c0,0.6,0.4,1,1,1h26c0.6,0,1-0.4,1-1V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5z M28,6v19H4V6H28z"/><rect x="8" y="18" class="c_1" width="16" height="2"/><path class="c_1" d="M8,10h16v2H8V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationLandscapeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,14h16v2H8V14z"/><path class="c_1" d="M2,5v21c0,0.6,0.4,1,1,1h26c0.6,0,1-0.4,1-1V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5z M28,6v19H4V6H28z"/><rect x="8" y="18" class="c_1" width="16" height="2"/><path class="c_1" d="M8,10h16v2H8V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationPortraitNew" viewBox="0 0 32 32"><path class="c_1" d="M22,16H10v-2h12V16z"/><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><rect x="10" y="10" class="c_1" width="12" height="2"/><path class="c_1" d="M22,20H10v-2h12V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PageOrientationPortraitLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M22,16H10v-2h12V16z"/><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z"/><rect x="10" y="10" class="c_1" width="12" height="2"/><path class="c_1" d="M22,20H10v-2h12V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PaperSizeNew" viewBox="0 0 32 32"><path class="c_1" d="M23,8H11c-0.6,0-1,0.4-1,1v22c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V15L23,8z M28,30H12V10h10v5	c0,0.6,0.4,1,1,1h5V30z"/><path class="c_1" d="M8,10H2V8h6V10z M8,30H2v2h6V30z M6,10H4v20h2V10z M12,0h-2v6h2V0z M28,2H10v2h18V2z M30,0h-2v6h2V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_PaperSizeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M23,8H11c-0.6,0-1,0.4-1,1v22c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V15L23,8z M28,30H12V10h10v5	c0,0.6,0.4,1,1,1h5V30z"/><path class="c_1" d="M8,10H2V8h6V10z M8,30H2v2h6V30z M6,10H4v20h2V10z M12,0h-2v6h2V0z M28,2H10v2h18V2z M30,0h-2v6h2V0z"/></symbol><symbol id="dxRichEdit_SVGIcon_ParagraphNew" viewBox="0 0 32 32"><path class="c_1" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_ParagraphLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PasteNew" viewBox="0 0 32 32"><g id="Paste">	<path class="c_1" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z"/></g><path class="c_1" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z"/><g class="op50_26_1"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PasteLargeNew" viewBox="0 0 32 32"><g id="Paste">	<path class="c_1" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z"/></g><path class="c_1" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z"/><g class="op50_26_1"><path class="c_1" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PasteSpecialNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12,24v4H5c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h3v22H12z M25,2h-3v10h4V3C26,2.4,25.6,2,25,2z"/></g><path class="c_1" d="M32,18v-3c0-0.6-0.4-1-1-1H15c-0.6,0-1,0.4-1,1v3H32z"/><path class="c_1" d="M28,20v2H18v-2H28z M18,26h10v-2H18V26z M30,18v10H16V18h-2v11c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V18H30z"/><path class="c_1" d="M18,2V1c0-0.6-0.4-1-1-1h-4c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h2h4h2c0.6,0,1-0.4,1-1V2H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PasteSpecialLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12,24v4H5c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h3v22H12z M25,2h-3v10h4V3C26,2.4,25.6,2,25,2z"/></g><path class="c_1" d="M32,18v-3c0-0.6-0.4-1-1-1H15c-0.6,0-1,0.4-1,1v3H32z"/><path class="c_1" d="M28,20v2H18v-2H28z M18,26h10v-2H18V26z M30,18v10H16V18h-2v11c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V18H30z"/><path class="c_1" d="M18,2V1c0-0.6-0.4-1-1-1h-4c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h2h4h2c0.6,0,1-0.4,1-1V2H18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PenColorNew" viewBox="0 0 32 32"><path class="c_1" d="M17,11L7,21l-4-4L13,7L17,11z M18,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L14,6L18,10z	 M2,18v4h4L2,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PenColorLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M17,11L7,21l-4-4L13,7L17,11z M18,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L14,6L18,10z	 M2,18v4h4L2,18z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrevNew" viewBox="0 0 32 32"><path class="c_1" d="M23.1,4.1c0.5-0.3,0.9,0,0.9,0.5v20.7c0,0.6-0.4,0.8-0.9,0.5L6.4,15.5c-0.5-0.3-0.5-0.8,0-1.1L23.1,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrevLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M23.1,4.1c0.5-0.3,0.9,0,0.9,0.5v20.7c0,0.6-0.4,0.8-0.9,0.5L6.4,15.5c-0.5-0.3-0.5-0.8,0-1.1L23.1,4.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_PreviewNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PreviewLargeNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PreviousCommentNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PreviousCommentLargeNew" viewBox="0 0 32 32"><g id="PagePrevious">	<polygon class="c_1" points="24,4 24,28 4,16 	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintNew" viewBox="0 0 32 32"><path class="c_1" d="M10,2h12v8h2V0H8v10h2V2z M28,8h-2v3c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V8H4c-1.1,0-2,0.9-2,2v12	c0,1.1,0.9,2,2,2h4v6h16v-6h4c1.1,0,2-0.9,2-2V10C30,8.9,29.1,8,28,8z M22,22v2v4H10v-4v-2v-4h12V22z M20,24h-8v2h8V24z M20,20h-8v2	h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,2h12v8h2V0H8v10h2V2z M28,8h-2v3c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V8H4c-1.1,0-2,0.9-2,2v12	c0,1.1,0.9,2,2,2h4v6h16v-6h4c1.1,0,2-0.9,2-2V10C30,8.9,29.1,8,28,8z M22,22v2v4H10v-4v-2v-4h12V22z M20,24h-8v2h8V24z M20,20h-8v2	h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintBrowserNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintBrowserLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintDialogNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintDialogLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7	C28,5,28,5.3,27.9,5.5z"/><g class="op75_5_1"><path class="c_1" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6	v10h2V4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_PrintLayoutViewNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M12,24H2V2h22v10h2V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h11V24z M6,12h10h4	v-2H6V12z M6,20h6c0-0.7,0.2-1.4,0.6-2H6V20z M6,16h10v-2H6V16z"/><path id="Print" class="c_1" d="M28,20v-6H18v6h2v-4h6v4H28z M30,18L30,18v3c0,0.6-0.4,1-1,1H17c-0.6,0-1-0.4-1-1v-3l0,0	c-1.1,0-2,0.9-2,2v8c0,1.1,0.9,2,2,2h2v2h10v-2h2c1.1,0,2-0.9,2-2v-8C32,18.9,31.1,18,30,18z M26,30h-6v-4h6V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintLayoutViewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h14v2H6V6z M12,24H2V2h22v10h2V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h11V24z M6,12h10h4	v-2H6V12z M6,20h6c0-0.7,0.2-1.4,0.6-2H6V20z M6,16h10v-2H6V16z"/><path id="Print" class="c_1" d="M28,20v-6H18v6h2v-4h6v4H28z M30,18L30,18v3c0,0.6-0.4,1-1,1H17c-0.6,0-1-0.4-1-1v-3l0,0	c-1.1,0-2,0.9-2,2v8c0,1.1,0.9,2,2,2h2v2h10v-2h2c1.1,0,2-0.9,2-2v-8C32,18.9,31.1,18,30,18z M26,30h-6v-4h6V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintPreviewBrowserNew" viewBox="0 0 32 32"><path class="c_1" d="M19.4,26H16c0,0,0,0,0,0c0,0,0,0,0,0H6V4h12v5c0,0.6,0.4,1,1,1h5v11.4l2,2V9l-7-7H5C4.4,2,4,2.4,4,3v24	c0,0.6,0.4,1,1,1h16.4L19.4,26z"/><path class="c_1" d="M16,12c3.3,0,6,2.7,6,6c0,1.2-0.4,2.3-1,3.3l4.6,4.6c0.5,0.5,0.5,1.3,0,1.7c-0.5,0.5-1.3,0.5-1.7,0L19.3,23	c-0.9,0.6-2.1,1-3.3,1c-3.3,0-6-2.7-6-6C10,14.7,12.7,12,16,12z M16,22c2.2,0,4-1.8,4-4s-1.8-4-4-4s-4,1.8-4,4S13.8,22,16,22z"/></symbol><symbol id="dxRichEdit_SVGIcon_PrintPreviewBrowserLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M19.4,26H16c0,0,0,0,0,0c0,0,0,0,0,0H6V4h12v5c0,0.6,0.4,1,1,1h5v11.4l2,2V9l-7-7H5C4.4,2,4,2.4,4,3v24	c0,0.6,0.4,1,1,1h16.4L19.4,26z"/><path class="c_1" d="M16,12c3.3,0,6,2.7,6,6c0,1.2-0.4,2.3-1,3.3l4.6,4.6c0.5,0.5,0.5,1.3,0,1.7c-0.5,0.5-1.3,0.5-1.7,0L19.3,23	c-0.9,0.6-2.1,1-3.3,1c-3.3,0-6-2.7-6-6C10,14.7,12.7,12,16,12z M16,22c2.2,0,4-1.8,4-4s-1.8-4-4-4s-4,1.8-4,4S13.8,22,16,22z"/></symbol><symbol id="dxRichEdit_SVGIcon_ProtectDocumentNew" viewBox="0 0 32 32"><path class="c_1" d="M8,10h14v2H8V10z M8,16h14v-2H8V16z M8,8h14V6H8V8z M18,28H4V2h22v14h1c0.3,0,0.7,0,1,0.1V1c0-0.6-0.4-1-1-1	H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h15V28z M8,24h10.2c0.3-0.9,1-1.5,1.8-1.8V22H8V24z M8,20h12.1c0.2-0.7,0.5-1.4,0.9-2H8V20z"	/><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ProtectDocumentLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M8,10h14v2H8V10z M8,16h14v-2H8V16z M8,8h14V6H8V8z M18,28H4V2h22v14h1c0.3,0,0.7,0,1,0.1V1c0-0.6-0.4-1-1-1	H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h15V28z M8,24h10.2c0.3-0.9,1-1.5,1.8-1.8V22H8V24z M8,20h12.1c0.2-0.7,0.5-1.4,0.9-2H8V20z"	/><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_RedoNew" viewBox="0 0 32 32"><path class="c_1" d="M16,10V4l16,10L16,24v-6C0,18,0,26,0,26S0,10,16,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_RedoLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M16,10V4l16,10L16,24v-6C0,18,0,26,0,26S0,10,16,10z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReplaceNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M12,26h-0.2H9.9H9.8l0-0.1L9.2,24H4.8l-0.6,1.9l0,0.1H4.1H2.2H2l0.1-0.2l3.9-11.7L6,14h0.1H8h0.1l0,0.1	l3.8,11.7L12,26L12,26z M5.4,22h3.2L7,16.7c0,0,0,0,0-0.1c0,0,0,0,0,0.1L5.4,22z"/></g><path class="c_1" d="M20,26V14h4.4c1.3,0,2.4,0.2,3.1,0.7c0.7,0.5,1.1,1.2,1.1,2.1c0,0.6-0.2,1.2-0.7,1.7c-0.4,0.5-1,0.8-1.7,1v0	c0.9,0.1,1.5,0.4,2,0.9c0.5,0.5,0.8,1.2,0.8,1.9c0,1.1-0.4,2-1.2,2.6c-0.8,0.6-1.9,1-3.2,1H20z M22.7,16v2.8h1.2	c0.6,0,1-0.1,1.3-0.4c0.3-0.3,0.5-0.6,0.5-1.1c0-0.9-0.7-1.3-2-1.3H22.7z M22.7,20.8V24h1.5c0.6,0,1.1-0.1,1.5-0.4	c0.4-0.3,0.5-0.7,0.5-1.2c0-0.5-0.2-0.9-0.5-1.1c-0.3-0.3-0.8-0.4-1.5-0.4H22.7z"/><path class="c_1" d="M23.1,6.9C21.3,5.1,18.8,4,16,4c-4.8,0-8.9,3.4-9.8,8h2.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,12h5.7	h2.1H26V4L23.1,6.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReplaceLargeNew" viewBox="0 0 32 32"><g class="op50_26_1"><path class="c_1" d="M12,26h-0.2H9.9H9.8l0-0.1L9.2,24H4.8l-0.6,1.9l0,0.1H4.1H2.2H2l0.1-0.2l3.9-11.7L6,14h0.1H8h0.1l0,0.1	l3.8,11.7L12,26L12,26z M5.4,22h3.2L7,16.7c0,0,0,0,0-0.1c0,0,0,0,0,0.1L5.4,22z"/></g><path class="c_1" d="M20,26V14h4.4c1.3,0,2.4,0.2,3.1,0.7c0.7,0.5,1.1,1.2,1.1,2.1c0,0.6-0.2,1.2-0.7,1.7c-0.4,0.5-1,0.8-1.7,1v0	c0.9,0.1,1.5,0.4,2,0.9c0.5,0.5,0.8,1.2,0.8,1.9c0,1.1-0.4,2-1.2,2.6c-0.8,0.6-1.9,1-3.2,1H20z M22.7,16v2.8h1.2	c0.6,0,1-0.1,1.3-0.4c0.3-0.3,0.5-0.6,0.5-1.1c0-0.9-0.7-1.3-2-1.3H22.7z M22.7,20.8V24h1.5c0.6,0,1.1-0.1,1.5-0.4	c0.4-0.3,0.5-0.7,0.5-1.2c0-0.5-0.2-0.9-0.5-1.1c-0.3-0.3-0.8-0.4-1.5-0.4H22.7z"/><path class="c_1" d="M23.1,6.9C21.3,5.1,18.8,4,16,4c-4.8,0-8.9,3.4-9.8,8h2.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,12h5.7	h2.1H26V4L23.1,6.9z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewersNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M19.7,7.7c-0.1-0.3-0.3-0.5-0.2-0.9c0-0.1,0.2-0.2,0.3-0.2c-0.7-2.2,0-4.4,2.5-4.6c2.7-0.2,3.2,1.8,3.2,1.8		s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3		c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C19.7,8.7,19.9,8,19.7,7.7z M6.3,8.7c0,0,0,0.1,0,0.1c0.3,1.4,1.2,3,2.8,3		c1.6,0,2.4-1.6,2.8-3c0,0,0-0.1,0-0.1c0.6,0,0.4-0.7,0.5-1c0.1-0.3,0.2-0.5,0.2-0.9c-0.1-0.2-0.3-0.2-0.3-0.2		c0.7-2.9-0.6-2.9-0.6-2.9S11,1.8,8.3,2C5.8,2.2,5.1,4.4,5.8,6.6c-0.1,0-0.2,0.1-0.3,0.2C5.4,7.2,5.6,7.4,5.7,7.7		C5.9,8,5.7,8.7,6.3,8.7z M25.3,11.9c-0.5,0.9-1.2,2.5-2.3,2.5c-0.5,0-0.8-0.3-1.2-0.7c0,0.3,0,0.5-0.1,0.8c0.1,0.1,0.1,0.3,0.1,0.4		c0.2,0.9,0,1.6-0.2,2c0,0.4-0.1,0.7-0.2,1H30v-0.9C30,12.5,26.7,14,25.3,11.9z M10.4,17c-0.2-0.4-0.5-1.1-0.3-2.1		c0-0.1,0-0.2,0.1-0.3c0-0.3-0.1-0.5-0.1-0.8c-0.3,0.3-0.7,0.5-1.1,0.5c-1.1,0-1.8-1.6-2.3-2.6C5.4,14.1,2,12.5,2,17.1V18h8.6		C10.5,17.7,10.4,17.4,10.4,17z"/></g><path class="c_1" d="M12.3,16.4c-0.2-0.3-0.3-0.6-0.3-1c0-0.2,0.2-0.2,0.3-0.2c-0.7-2.5,0-5,2.9-5.2c3-0.2,3.7,2,3.7,2	s1.6-0.1,0.7,3.2c0.1,0,0.3-0.1,0.4,0.2c0.1,0.4,0,0.6-0.2,1c-0.2,0.3,0.1,1.1-0.6,1.1c0,0,0,0.1,0,0.1C18.8,19.2,17.8,21,16,21	c-1.8,0-2.8-1.7-3.2-3.4c0,0,0-0.1,0-0.1C12.2,17.6,12.4,16.8,12.3,16.4z M18.7,21.2c-0.5,1-1.4,2.8-2.7,2.8c-1.3,0-2.1-1.8-2.6-2.9	C11.9,23.6,8,21.8,8,27v1h16v-1C24,21.9,20.2,23.5,18.7,21.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewersLargeNew" viewBox="0 0 32 32"><g class="op75_5_1">	<path class="c_1" d="M19.7,7.7c-0.1-0.3-0.3-0.5-0.2-0.9c0-0.1,0.2-0.2,0.3-0.2c-0.7-2.2,0-4.4,2.5-4.6c2.7-0.2,3.2,1.8,3.2,1.8		s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3		c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C19.7,8.7,19.9,8,19.7,7.7z M6.3,8.7c0,0,0,0.1,0,0.1c0.3,1.4,1.2,3,2.8,3		c1.6,0,2.4-1.6,2.8-3c0,0,0-0.1,0-0.1c0.6,0,0.4-0.7,0.5-1c0.1-0.3,0.2-0.5,0.2-0.9c-0.1-0.2-0.3-0.2-0.3-0.2		c0.7-2.9-0.6-2.9-0.6-2.9S11,1.8,8.3,2C5.8,2.2,5.1,4.4,5.8,6.6c-0.1,0-0.2,0.1-0.3,0.2C5.4,7.2,5.6,7.4,5.7,7.7		C5.9,8,5.7,8.7,6.3,8.7z M25.3,11.9c-0.5,0.9-1.2,2.5-2.3,2.5c-0.5,0-0.8-0.3-1.2-0.7c0,0.3,0,0.5-0.1,0.8c0.1,0.1,0.1,0.3,0.1,0.4		c0.2,0.9,0,1.6-0.2,2c0,0.4-0.1,0.7-0.2,1H30v-0.9C30,12.5,26.7,14,25.3,11.9z M10.4,17c-0.2-0.4-0.5-1.1-0.3-2.1		c0-0.1,0-0.2,0.1-0.3c0-0.3-0.1-0.5-0.1-0.8c-0.3,0.3-0.7,0.5-1.1,0.5c-1.1,0-1.8-1.6-2.3-2.6C5.4,14.1,2,12.5,2,17.1V18h8.6		C10.5,17.7,10.4,17.4,10.4,17z"/></g><path class="c_1" d="M12.3,16.4c-0.2-0.3-0.3-0.6-0.3-1c0-0.2,0.2-0.2,0.3-0.2c-0.7-2.5,0-5,2.9-5.2c3-0.2,3.7,2,3.7,2	s1.6-0.1,0.7,3.2c0.1,0,0.3-0.1,0.4,0.2c0.1,0.4,0,0.6-0.2,1c-0.2,0.3,0.1,1.1-0.6,1.1c0,0,0,0.1,0,0.1C18.8,19.2,17.8,21,16,21	c-1.8,0-2.8-1.7-3.2-3.4c0,0,0-0.1,0-0.1C12.2,17.6,12.4,16.8,12.3,16.4z M18.7,21.2c-0.5,1-1.4,2.8-2.7,2.8c-1.3,0-2.1-1.8-2.6-2.9	C11.9,23.6,8,21.8,8,27v1h16v-1C24,21.9,20.2,23.5,18.7,21.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewingPaneNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M29,2H14v10h2V7.3L27.6,15L16,22.7V18h-2v10h15c0.5,0,1-0.5,1-1V3C30,2.5,29.5,2,29,2z"/></g><path class="c_1" d="M8,16h10v3l6-4l-6-4v3H8V16z"/><path class="c_1" d="M6,18v-6h6V2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h9V18H6z"/></symbol><symbol id="dxRichEdit_SVGIcon_ReviewingPaneLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M29,2H14v10h2V7.3L27.6,15L16,22.7V18h-2v10h15c0.5,0,1-0.5,1-1V3C30,2.5,29.5,2,29,2z"/></g><path class="c_1" d="M8,16h10v3l6-4l-6-4v3H8V16z"/><path class="c_1" d="M6,18v-6h6V2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h9V18H6z"/></symbol><symbol id="dxRichEdit_SVGIcon_RightColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M20,6h10v2H20V6z M2,8h16V6H2V8z M20,12h10v-2H20V12z M2,12h16v-2H2V12z M20,16h10v-2H20V16z M2,16h16v-2H2V16z	 M20,20h10v-2H20V20z M2,20h16v-2H2V20z M20,24h10v-2H20V24z M2,24h16v-2H2V24z"/><rect x="20" y="2" class="c_1" width="10" height="2"/><rect x="2" y="2" class="c_1" width="16" height="2"/><rect x="20" y="26" class="c_1" width="10" height="2"/><rect x="2" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_RightColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M20,6h10v2H20V6z M2,8h16V6H2V8z M20,12h10v-2H20V12z M2,12h16v-2H2V12z M20,16h10v-2H20V16z M2,16h16v-2H2V16z	 M20,20h10v-2H20V20z M2,20h16v-2H2V20z M20,24h10v-2H20V24z M2,24h16v-2H2V24z"/><rect x="20" y="2" class="c_1" width="10" height="2"/><rect x="2" y="2" class="c_1" width="16" height="2"/><rect x="20" y="26" class="c_1" width="10" height="2"/><rect x="2" y="26" class="c_1" width="16" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerHorizontalNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M29,22H1c-0.6,0-1-0.5-1-1V9c0-0.6,0.4-1,1-1h28c0.5,0,1,0.4,1,1v12C30,21.5,29.5,22,29,22z"/></g><path class="c_1" d="M4,22H2v-6h2V22z M8,18H6v4h2V18z M12,16h-2v6h2V16z M16,18h-2v4h2V18z M20,16h-2v6h2V16z M24,18h-2v4h2V18z	 M28,16h-2v6h2V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerHorizontalLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M29,22H1c-0.6,0-1-0.5-1-1V9c0-0.6,0.4-1,1-1h28c0.5,0,1,0.4,1,1v12C30,21.5,29.5,22,29,22z"/></g><path class="c_1" d="M4,22H2v-6h2V22z M8,18H6v4h2V18z M12,16h-2v6h2V16z M16,18h-2v4h2V18z M20,16h-2v6h2V16z M24,18h-2v4h2V18z	 M28,16h-2v6h2V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerVerticalNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M21,30H9c-0.6,0-1-0.5-1-1V1c0-0.6,0.4-1,1-1h12c0.5,0,1,0.4,1,1v28C22,29.5,21.5,30,21,30z"/></g><path class="c_1" d="M22,4h-6V2h6V4z M18,8h4V6h-4V8z M16,12h6v-2h-6V12z M18,16h4v-2h-4V16z M16,20h6v-2h-6V20z M18,24h4v-2h-4	V24z M16,28h6v-2h-6V28z"/></symbol><symbol id="dxRichEdit_SVGIcon_RulerVerticalLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M21,30H9c-0.6,0-1-0.5-1-1V1c0-0.6,0.4-1,1-1h12c0.5,0,1,0.4,1,1v28C22,29.5,21.5,30,21,30z"/></g><path class="c_1" d="M22,4h-6V2h6V4z M18,8h4V6h-4V8z M16,12h6v-2h-6V12z M18,16h4v-2h-4V16z M16,20h6v-2h-6V20z M18,24h4v-2h-4	V24z M16,28h6v-2h-6V28z"/></symbol><symbol id="dxRichEdit_SVGIcon_SaveNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6	h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_SaveLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6	h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z"/></symbol><symbol id="dxRichEdit_SVGIcon_SaveAsNew" viewBox="0 0 32 32"><g></g><g id="SaveAs">	<path class="c_1" d="M31,0H19c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,16H20V2h10V16z		 M22,20v4H6v-6h10v-4H6V4H3C2.4,4,2,4.4,2,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1v-7H22z M16,4H8v8h8V4z M12,10h-2V6h2V10z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SaveAsLargeNew" viewBox="0 0 32 32"><g></g><g id="SaveAs">	<path class="c_1" d="M31,0H19c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,16H20V2h10V16z		 M22,20v4H6v-6h10v-4H6V4H3C2.4,4,2,4.4,2,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1v-7H22z M16,4H8v8h8V4z M12,10h-2V6h2V10z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectNew" viewBox="0 0 32 32"><g id="Select">	<path class="c_1" d="M18.2,20H26L10,4v22l5.3-5.3l2.7,6.7c0.2,0.5,0.8,0.8,1.3,0.5l0.9-0.4c0.5-0.2,0.8-0.8,0.5-1.3L18.2,20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectLargeNew" viewBox="0 0 32 32"><g id="Select">	<path class="c_1" d="M18.2,20H26L10,4v22l5.3-5.3l2.7,6.7c0.2,0.5,0.8,0.8,1.3,0.5l0.9-0.4c0.5-0.2,0.8-0.8,0.5-1.3L18.2,20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectAllNew" viewBox="0 0 32 32"><path id="layer_1_" class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><g class="op50_26_1"><path id="layer" class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22	h2v-6h-2V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectAllLargeNew" viewBox="0 0 32 32"><path id="layer_1_" class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><g class="op50_26_1"><path id="layer" class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22	h2v-6h-2V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z	"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableCellNew" viewBox="0 0 32 32"><rect x="12" y="12" class="c_1" width="8" height="6"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z		 M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableCellLargeNew" viewBox="0 0 32 32"><rect x="12" y="12" class="c_1" width="8" height="6"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z		 M20,20h-8v6h8V20z M30,20h-8v6h8V20z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableColumnNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableColumnLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableRowNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_SelectTableRowLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z"/><g class="op50_26_1">	<path class="c_1" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z"		/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShadingNew" viewBox="0 0 32 32"><path class="c_1" d="M18.4,8c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C28,12.3,23.7,8,18.4,8z"/><path class="c_1" d="M17,9.3l3,3L13.3,19c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L9.7,2l3,3l-1.9,1.9	C10.3,7.4,10,8.2,10,9c0,0.8,0.3,1.6,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9s1.6-0.3,2.1-0.9L17,9.3z M13.7,9.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C12.7,10.1,13.3,10.1,13.7,9.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShadingLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M18.4,8c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C28,12.3,23.7,8,18.4,8z"/><path class="c_1" d="M17,9.3l3,3L13.3,19c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L9.7,2l3,3l-1.9,1.9	C10.3,7.4,10,8.2,10,9c0,0.8,0.3,1.6,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9s1.6-0.3,2.1-0.9L17,9.3z M13.7,9.7l5.9-5.9	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C12.7,10.1,13.3,10.1,13.7,9.7z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldCodesNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_5_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M10,3.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,3.9,8.8,4.1,8.8,4.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,6.4,8.3,6.6,8.2,6.7		C8,6.8,7.8,6.9,7.5,7c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5C8.7,8.1,8.7,8.5,8.7,9c0,0.5,0,0.8,0.1,0.9s0.2,0.2,0.3,0.3		s0.4,0.1,0.9,0.1V12H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6c0-0.4,0-0.7-0.1-0.9		C6.1,8.2,5.3,7.9,5,7.9V6.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4c0-0.6,0.1-1.1,0.2-1.3		C6.6,2.7,6.8,2.5,7,2.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,2,8.6,2,9.1,2H10V3.7z M19,7.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V2h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V7.9z"/>	<rect id="layer_4_" x="18" y="20" class="c_1" width="10" height="2"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="24" class="c_1" width="18" height="2"/>	<rect id="layer_2_" x="10" y="20" class="c_1" width="6" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldCodesLargeNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_5_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M10,3.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,3.9,8.8,4.1,8.8,4.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,6.4,8.3,6.6,8.2,6.7		C8,6.8,7.8,6.9,7.5,7c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5C8.7,8.1,8.7,8.5,8.7,9c0,0.5,0,0.8,0.1,0.9s0.2,0.2,0.3,0.3		s0.4,0.1,0.9,0.1V12H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6c0-0.4,0-0.7-0.1-0.9		C6.1,8.2,5.3,7.9,5,7.9V6.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4c0-0.6,0.1-1.1,0.2-1.3		C6.6,2.7,6.8,2.5,7,2.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,2,8.6,2,9.1,2H10V3.7z M19,7.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V2h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V7.9z"/>	<rect id="layer_4_" x="18" y="20" class="c_1" width="10" height="2"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="24" class="c_1" width="18" height="2"/>	<rect id="layer_2_" x="10" y="20" class="c_1" width="6" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldResultsNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_6_" class="c_1" d="M16.2,5.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C18,10,18.4,5.6,16.2,5.6z"/>	<path id="layer_7_" class="c_1" d="M6,9.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8V8.2C8.8,8.3,8.3,8.4,8.2,8.4C6,8.4,6,9.6,6,9.8		z"/>	<rect id="layer_5_" x="18" y="20" class="c_1" width="10" height="2"/>	<path id="layer_4_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M9.2,11.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7C7.6,11.9,7.1,12,6.7,12C4.1,12,4,10.3,4,9.9c0-0.4,0.1-0.8,0.2-1.1		c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2C4.3,6.1,4.6,4,7.7,4		C10.4,4,11,5.8,11,6.2v4c0,0.4,0.2,1.6,0.3,1.7H9.2z M16.9,12.1c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V2h2.1v3.2		c0.2-0.4,0.6-0.7,1-0.9C16,4.1,16.5,4,16.9,4C19.8,4,20,7.4,20,8.1C20,8.8,19.7,12.1,16.9,12.1z"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="20" class="c_1" width="6" height="2"/>	<rect id="layer_2_" x="10" y="24" class="c_1" width="18" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowAllFieldResultsLargeNew" viewBox="0 0 32 32"><g id="_x32_" class="op75_5_1">	<path id="layer_6_" class="c_1" d="M16.2,5.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C18,10,18.4,5.6,16.2,5.6z"/>	<path id="layer_7_" class="c_1" d="M6,9.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8V8.2C8.8,8.3,8.3,8.4,8.2,8.4C6,8.4,6,9.6,6,9.8		z"/>	<rect id="layer_5_" x="18" y="20" class="c_1" width="10" height="2"/>	<path id="layer_4_" class="c_1" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z		 M9.2,11.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7C7.6,11.9,7.1,12,6.7,12C4.1,12,4,10.3,4,9.9c0-0.4,0.1-0.8,0.2-1.1		c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2C4.3,6.1,4.6,4,7.7,4		C10.4,4,11,5.8,11,6.2v4c0,0.4,0.2,1.6,0.3,1.7H9.2z M16.9,12.1c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V2h2.1v3.2		c0.2-0.4,0.6-0.7,1-0.9C16,4.1,16.5,4,16.9,4C19.8,4,20,7.4,20,8.1C20,8.8,19.7,12.1,16.9,12.1z"/></g><g id="_x31_">	<rect id="layer_3_" x="10" y="20" class="c_1" width="6" height="2"/>	<rect id="layer_2_" x="10" y="24" class="c_1" width="18" height="2"/>	<path id="layer_1_" class="c_1" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z"/>	<rect id="layer" x="10" y="16" class="c_1" width="18" height="2"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ShowCommentsNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12.1,21.3C12.2,21,15,14,22,14c1.5,0,2.9,0.3,4,0.9V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.4,2,7v14	c0,0.6,0.4,1,1,1h3v6l6-6h0C12,21.8,12,21.5,12.1,21.3z"/></g><path class="c_1" d="M22,16c5.7,0,8,6,8,6s-2.3,6-8,6c-5.7,0-8-6-8-6S16.3,16,22,16 M22,18c-3.3,0-5.1,2.7-5.8,4	c0.7,1.3,2.5,4,5.8,4c3.3,0,5.1-2.7,5.8-4C27.1,20.7,25.3,18,22,18L22,18z M22,20c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2	S23.1,20,22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowCommentsLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M12.1,21.3C12.2,21,15,14,22,14c1.5,0,2.9,0.3,4,0.9V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.4,2,7v14	c0,0.6,0.4,1,1,1h3v6l6-6h0C12,21.8,12,21.5,12.1,21.3z"/></g><path class="c_1" d="M22,16c5.7,0,8,6,8,6s-2.3,6-8,6c-5.7,0-8-6-8-6S16.3,16,22,16 M22,18c-3.3,0-5.1,2.7-5.8,4	c0.7,1.3,2.5,4,5.8,4c3.3,0,5.1-2.7,5.8-4C27.1,20.7,25.3,18,22,18L22,18z M22,20c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2	S23.1,20,22,20z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowHiddenNew" viewBox="0 0 32 32"><path class="c_1" d="M14,4h-2h-2c-4.4,0-8,3.6-8,8s3.6,8,8,8h2v6v2h4V8h4v20h4V8h4V4H14z M10,16c-2.2,0-4-1.8-4-4s1.8-4,4-4h2v8	H10z"/></symbol><symbol id="dxRichEdit_SVGIcon_ShowHiddenLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M14,4h-2h-2c-4.4,0-8,3.6-8,8s3.6,8,8,8h2v6v2h4V8h4v20h4V8h4V4H14z M10,16c-2.2,0-4-1.8-4-4s1.8-4,4-4h2v8	H10z"/></symbol><symbol id="dxRichEdit_SVGIcon_SimpleViewNew" viewBox="0 0 32 32"><path class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><path class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22h2v-6h-2	V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_SimpleViewLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z"/><path class="c_1" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22h2v-6h-2	V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z"/></symbol><symbol id="dxRichEdit_SVGIcon_SpacingDecreaseNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,6h4l-5,5L0,6h4V0h2V6z M4,30h2v-6h4l-5-5l-5,5h4V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_SpacingDecreaseLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z"/><path class="c_1" d="M6,6h4l-5,5L0,6h4V0h2V6z M4,30h2v-6h4l-5-5l-5,5h4V30z"/></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckNew" viewBox="0 0 32 32"><g id="SpellCheck">	<polygon class="c_1" points="27,9 12,24 7,19 4,22 12,30 30,12 	"/>	<path class="c_1" d="M7.9,12H6l-0.6-1.8H2.6L2,12H0l3-8h2.1L7.9,12z M5,8.8L4.1,6.1C4.1,5.9,4,5.7,4,5.4l0,0c0,0.2-0.1,0.5-0.1,0.7		L3,8.8H5z M8.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1c-0.3,0.3-0.7,0.5-1.1,0.7l0,0		c0.6,0.1,1,0.3,1.4,0.6C14.9,8.6,15,9.1,15,9.6c0,0.7-0.3,1.3-0.8,1.7C13.6,11.8,12.9,12,12,12H8.9z M10.7,5.3v1.9h0.8		c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H10.7z M10.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3c0.2-0.2,0.4-0.5,0.4-0.8		S13,9,12.8,8.8s-0.6-0.3-1-0.3h-1.1V8.6z M22,11.7c-0.6,0.3-1.3,0.4-2.3,0.4c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9		c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7		c-0.5,0.5-0.7,1.1-0.7,1.9s0.2,1.4,0.7,1.8s1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5v1.8C22.1,11.7,22,11.7,22,11.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckLargeNew" viewBox="0 0 32 32"><g id="SpellCheck">	<polygon class="c_1" points="27,9 12,24 7,19 4,22 12,30 30,12 	"/>	<path class="c_1" d="M7.9,12H6l-0.6-1.8H2.6L2,12H0l3-8h2.1L7.9,12z M5,8.8L4.1,6.1C4.1,5.9,4,5.7,4,5.4l0,0c0,0.2-0.1,0.5-0.1,0.7		L3,8.8H5z M8.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1c-0.3,0.3-0.7,0.5-1.1,0.7l0,0		c0.6,0.1,1,0.3,1.4,0.6C14.9,8.6,15,9.1,15,9.6c0,0.7-0.3,1.3-0.8,1.7C13.6,11.8,12.9,12,12,12H8.9z M10.7,5.3v1.9h0.8		c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H10.7z M10.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3c0.2-0.2,0.4-0.5,0.4-0.8		S13,9,12.8,8.8s-0.6-0.3-1-0.3h-1.1V8.6z M22,11.7c-0.6,0.3-1.3,0.4-2.3,0.4c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9		c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7		c-0.5,0.5-0.7,1.1-0.7,1.9s0.2,1.4,0.7,1.8s1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5v1.8C22.1,11.7,22,11.7,22,11.7z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckAsYouTypeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,24c-1.4,0-2.2-0.7-2.7-1.3C28.8,22.2,28.6,22,28,22s-0.8,0.2-1.3,0.7C26.2,23.3,25.4,24,24,24	s-2.2-0.7-2.7-1.3C20.8,22.2,20.6,22,20,22s-0.8,0.2-1.3,0.7C18.2,23.3,17.4,24,16,24s-2.2-0.7-2.7-1.3C12.8,22.2,12.6,22,12,22	s-0.8,0.2-1.3,0.7C10.2,23.3,9.4,24,8,24s-2.2-0.7-2.7-1.3C4.8,22.2,4.6,22,4,22s-0.8,0.2-1.3,0.7C2.2,23.3,1.4,24,0,24v-2	c0.6,0,0.8-0.2,1.3-0.7C1.8,20.7,2.6,20,4,20s2.2,0.7,2.7,1.3C7.2,21.8,7.4,22,8,22s0.8-0.2,1.3-0.7C9.8,20.7,10.6,20,12,20	s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7	s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7V24z"/><g class="op50_26_1"><path class="c_1" d="M12.1,18H9.6l-0.7-2.2H5.2L4.5,18H2L5.7,8h2.7L12.1,18z M8.3,14l-1.1-3.3C7.1,10.4,7.1,10.1,7,9.8H7	c0,0.3-0.1,0.6-0.2,0.9L5.7,14H8.3z M13.3,18l0-10h3.7c1.1,0,2,0.2,2.6,0.6c0.6,0.4,0.9,1,0.9,1.7c0,0.5-0.2,1-0.6,1.4	c-0.4,0.4-0.8,0.7-1.4,0.8v0c0.7,0.1,1.3,0.3,1.7,0.8c0.4,0.4,0.7,1,0.7,1.6c0,0.9-0.3,1.6-1,2.2c-0.7,0.5-1.6,0.8-2.7,0.8H13.3z	 M15.6,9.7V12h1c0.5,0,0.8-0.1,1.1-0.3c0.3-0.2,0.4-0.5,0.4-0.9c0-0.7-0.6-1.1-1.7-1.1H15.6z M15.6,13.7v2.6h1.2	c0.5,0,0.9-0.1,1.2-0.4c0.3-0.2,0.5-0.6,0.5-1c0-0.4-0.1-0.7-0.4-0.9c-0.3-0.2-0.7-0.3-1.2-0.3H15.6z M30,17.6	c-0.7,0.4-1.7,0.5-2.9,0.5c-1.6,0-2.8-0.4-3.7-1.3c-0.9-0.9-1.3-2.1-1.3-3.6c0-1.6,0.5-2.9,1.5-3.9c1-1,2.3-1.5,3.9-1.5	c1,0,1.8,0.1,2.5,0.4v2.2c-0.7-0.4-1.5-0.6-2.3-0.6c-1,0-1.7,0.3-2.3,0.9c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.7,0.8,2.3	c0.6,0.6,1.3,0.9,2.2,0.9c0.9,0,1.7-0.2,2.5-0.6V17.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SpellCheckAsYouTypeLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,24c-1.4,0-2.2-0.7-2.7-1.3C28.8,22.2,28.6,22,28,22s-0.8,0.2-1.3,0.7C26.2,23.3,25.4,24,24,24	s-2.2-0.7-2.7-1.3C20.8,22.2,20.6,22,20,22s-0.8,0.2-1.3,0.7C18.2,23.3,17.4,24,16,24s-2.2-0.7-2.7-1.3C12.8,22.2,12.6,22,12,22	s-0.8,0.2-1.3,0.7C10.2,23.3,9.4,24,8,24s-2.2-0.7-2.7-1.3C4.8,22.2,4.6,22,4,22s-0.8,0.2-1.3,0.7C2.2,23.3,1.4,24,0,24v-2	c0.6,0,0.8-0.2,1.3-0.7C1.8,20.7,2.6,20,4,20s2.2,0.7,2.7,1.3C7.2,21.8,7.4,22,8,22s0.8-0.2,1.3-0.7C9.8,20.7,10.6,20,12,20	s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7	s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7V24z"/><g class="op50_26_1"><path class="c_1" d="M12.1,18H9.6l-0.7-2.2H5.2L4.5,18H2L5.7,8h2.7L12.1,18z M8.3,14l-1.1-3.3C7.1,10.4,7.1,10.1,7,9.8H7	c0,0.3-0.1,0.6-0.2,0.9L5.7,14H8.3z M13.3,18l0-10h3.7c1.1,0,2,0.2,2.6,0.6c0.6,0.4,0.9,1,0.9,1.7c0,0.5-0.2,1-0.6,1.4	c-0.4,0.4-0.8,0.7-1.4,0.8v0c0.7,0.1,1.3,0.3,1.7,0.8c0.4,0.4,0.7,1,0.7,1.6c0,0.9-0.3,1.6-1,2.2c-0.7,0.5-1.6,0.8-2.7,0.8H13.3z	 M15.6,9.7V12h1c0.5,0,0.8-0.1,1.1-0.3c0.3-0.2,0.4-0.5,0.4-0.9c0-0.7-0.6-1.1-1.7-1.1H15.6z M15.6,13.7v2.6h1.2	c0.5,0,0.9-0.1,1.2-0.4c0.3-0.2,0.5-0.6,0.5-1c0-0.4-0.1-0.7-0.4-0.9c-0.3-0.2-0.7-0.3-1.2-0.3H15.6z M30,17.6	c-0.7,0.4-1.7,0.5-2.9,0.5c-1.6,0-2.8-0.4-3.7-1.3c-0.9-0.9-1.3-2.1-1.3-3.6c0-1.6,0.5-2.9,1.5-3.9c1-1,2.3-1.5,3.9-1.5	c1,0,1.8,0.1,2.5,0.4v2.2c-0.7-0.4-1.5-0.6-2.3-0.6c-1,0-1.7,0.3-2.3,0.9c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.7,0.8,2.3	c0.6,0.6,1.3,0.9,2.2,0.9c0.9,0,1.7-0.2,2.5-0.6V17.6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableNew" viewBox="0 0 32 32"><g id="SplitTable_1_" class="op50_26_1">	<path class="c_1" d="M10,8H2v6h8V8z M20,8h-8v6h8V8z M30,8h-8v6h8V8z M10,0H2v6h8V0z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M30,18h-8		v6h8V18z M20,18h-8v6h8V18z M10,18H2v6h8V18z M10,26H2v6h8V26z M20,26h-8v6h8V26z M30,26h-8v6h8V26z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableLargeNew" viewBox="0 0 32 32"><g id="SplitTable_1_" class="op50_26_1">	<path class="c_1" d="M10,8H2v6h8V8z M20,8h-8v6h8V8z M30,8h-8v6h8V8z M10,0H2v6h8V0z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M30,18h-8		v6h8V18z M20,18h-8v6h8V18z M10,18H2v6h8V18z M10,26H2v6h8V26z M20,26h-8v6h8V26z M30,26h-8v6h8V26z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableCellsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><path class="c_1" d="M20,14h-8V8h8V14z M30,8h-8v6h8V8z M30,16h-8v6h8V16z M20,16h-8v6h8V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_SplitTableCellsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24		h-8v6h8V24z M30,24h-8v6h8V24z"/></g><path class="c_1" d="M20,14h-8V8h8V14z M30,8h-8v6h8V8z M30,16h-8v6h8V16z M20,16h-8v6h8V16z"/></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutNew" viewBox="0 0 32 32"><g id="Strikeout">	<path class="c_1" d="M24,14h-7c-0.2-0.1-0.4-0.2-0.7-0.4c-0.7-0.3-1.4-0.6-2-0.9c-0.6-0.3-1-0.6-1.4-0.8c-0.4-0.3-0.7-0.6-0.9-1		s-0.3-0.8-0.3-1.2c0-0.5,0.1-0.9,0.4-1.3c0.3-0.4,0.6-0.6,1-0.9c0.4-0.2,0.9-0.4,1.4-0.5c0.5-0.1,1.1-0.1,1.6-0.1		c1.9,0,3.5,0.4,4.8,1.3V4.8c-1-0.5-2.7-0.8-5-0.8c-1,0-2,0.1-3,0.3c-1,0.2-1.8,0.6-2.6,1.1C9.8,5.9,9.2,6.5,8.7,7.2S8,8.8,8,9.8		c0,0.8,0.1,1.5,0.4,2.1c0.3,0.6,0.6,1.1,1.1,1.6c0.1,0.1,0.3,0.3,0.5,0.4H6v2h7.1c0.1,0,0.1,0.1,0.2,0.1c0.7,0.3,1.3,0.6,1.9,0.9		c0.6,0.3,1.1,0.6,1.6,0.9c0.4,0.3,0.8,0.6,1,1c0.2,0.4,0.4,0.8,0.4,1.3c0,0.9-0.4,1.7-1.1,2.2c-0.7,0.5-1.9,0.7-3.4,0.7		c-0.4,0-0.9,0-1.4-0.1s-1-0.2-1.6-0.4c-0.5-0.2-1-0.4-1.5-0.6c-0.5-0.2-0.9-0.5-1.2-0.8v3.6c0.3,0.2,0.7,0.4,1.2,0.5		c0.5,0.1,1,0.3,1.6,0.4c0.6,0.1,1.1,0.2,1.6,0.2c0.5,0.1,1,0.1,1.3,0.1c1.1,0,2.1-0.1,3.1-0.3s1.9-0.5,2.6-1		c0.8-0.5,1.4-1.1,1.8-1.8s0.7-1.7,0.7-2.7c0-0.8-0.2-1.5-0.4-2.1c-0.3-0.6-0.7-1.2-1.2-1.7c-0.1-0.1-0.2-0.2-0.3-0.3h4V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutLargeNew" viewBox="0 0 32 32"><g id="Strikeout">	<path class="c_1" d="M24,14h-7c-0.2-0.1-0.4-0.2-0.7-0.4c-0.7-0.3-1.4-0.6-2-0.9c-0.6-0.3-1-0.6-1.4-0.8c-0.4-0.3-0.7-0.6-0.9-1		s-0.3-0.8-0.3-1.2c0-0.5,0.1-0.9,0.4-1.3c0.3-0.4,0.6-0.6,1-0.9c0.4-0.2,0.9-0.4,1.4-0.5c0.5-0.1,1.1-0.1,1.6-0.1		c1.9,0,3.5,0.4,4.8,1.3V4.8c-1-0.5-2.7-0.8-5-0.8c-1,0-2,0.1-3,0.3c-1,0.2-1.8,0.6-2.6,1.1C9.8,5.9,9.2,6.5,8.7,7.2S8,8.8,8,9.8		c0,0.8,0.1,1.5,0.4,2.1c0.3,0.6,0.6,1.1,1.1,1.6c0.1,0.1,0.3,0.3,0.5,0.4H6v2h7.1c0.1,0,0.1,0.1,0.2,0.1c0.7,0.3,1.3,0.6,1.9,0.9		c0.6,0.3,1.1,0.6,1.6,0.9c0.4,0.3,0.8,0.6,1,1c0.2,0.4,0.4,0.8,0.4,1.3c0,0.9-0.4,1.7-1.1,2.2c-0.7,0.5-1.9,0.7-3.4,0.7		c-0.4,0-0.9,0-1.4-0.1s-1-0.2-1.6-0.4c-0.5-0.2-1-0.4-1.5-0.6c-0.5-0.2-0.9-0.5-1.2-0.8v3.6c0.3,0.2,0.7,0.4,1.2,0.5		c0.5,0.1,1,0.3,1.6,0.4c0.6,0.1,1.1,0.2,1.6,0.2c0.5,0.1,1,0.1,1.3,0.1c1.1,0,2.1-0.1,3.1-0.3s1.9-0.5,2.6-1		c0.8-0.5,1.4-1.1,1.8-1.8s0.7-1.7,0.7-2.7c0-0.8-0.2-1.5-0.4-2.1c-0.3-0.6-0.7-1.2-1.2-1.7c-0.1-0.1-0.2-0.2-0.3-0.3h4V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutDoubleNew" viewBox="0 0 32 32"><g id="StrikeoutDouble">	<path class="c_1" d="M24,14h-7c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.7,1.5,1.1h4v2h-2.4c0.3,0.6,0.4,1.3,0.4,2.1		c0,1.1-0.2,2-0.7,2.7s-1,1.3-1.8,1.8c-0.8,0.5-1.6,0.8-2.6,1s-2,0.3-3.1,0.3c-0.4,0-0.8,0-1.3-0.1c-0.5-0.1-1.1-0.1-1.6-0.2		c-0.6-0.1-1.1-0.2-1.6-0.4C8.7,25.2,8.3,25,8,24.8v-3.6c0.3,0.3,0.7,0.6,1.2,0.8c0.5,0.2,1,0.4,1.5,0.6c0.5,0.2,1,0.3,1.6,0.4		s1,0.1,1.4,0.1c1.5,0,2.7-0.2,3.4-0.7c0.7-0.5,1.1-1.2,1.1-2.2c0-0.5-0.1-0.9-0.4-1.3c-0.2-0.3-0.5-0.6-0.9-0.9H6v-2h7.1		c-0.7-0.4-1.3-0.7-1.9-1.1c-0.5-0.3-0.8-0.6-1.2-0.9H6v-2h2.4c0,0,0,0,0,0C8.1,11.4,8,10.7,8,9.8c0-1,0.2-1.9,0.7-2.6		s1.1-1.3,1.8-1.8c0.8-0.5,1.6-0.8,2.6-1.1c1-0.2,1.9-0.3,3-0.3c2.3,0,4,0.3,5,0.8v3.5c-1.2-0.9-2.8-1.3-4.8-1.3		c-0.5,0-1.1,0-1.6,0.1c-0.5,0.1-1,0.3-1.4,0.5c-0.4,0.2-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.3c0,0.5,0.1,0.9,0.3,1.2		s0.5,0.7,0.9,1c0,0,0.1,0,0.1,0.1H24V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_StrikeoutDoubleLargeNew" viewBox="0 0 32 32"><g id="StrikeoutDouble">	<path class="c_1" d="M24,14h-7c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.7,1.5,1.1h4v2h-2.4c0.3,0.6,0.4,1.3,0.4,2.1		c0,1.1-0.2,2-0.7,2.7s-1,1.3-1.8,1.8c-0.8,0.5-1.6,0.8-2.6,1s-2,0.3-3.1,0.3c-0.4,0-0.8,0-1.3-0.1c-0.5-0.1-1.1-0.1-1.6-0.2		c-0.6-0.1-1.1-0.2-1.6-0.4C8.7,25.2,8.3,25,8,24.8v-3.6c0.3,0.3,0.7,0.6,1.2,0.8c0.5,0.2,1,0.4,1.5,0.6c0.5,0.2,1,0.3,1.6,0.4		s1,0.1,1.4,0.1c1.5,0,2.7-0.2,3.4-0.7c0.7-0.5,1.1-1.2,1.1-2.2c0-0.5-0.1-0.9-0.4-1.3c-0.2-0.3-0.5-0.6-0.9-0.9H6v-2h7.1		c-0.7-0.4-1.3-0.7-1.9-1.1c-0.5-0.3-0.8-0.6-1.2-0.9H6v-2h2.4c0,0,0,0,0,0C8.1,11.4,8,10.7,8,9.8c0-1,0.2-1.9,0.7-2.6		s1.1-1.3,1.8-1.8c0.8-0.5,1.6-0.8,2.6-1.1c1-0.2,1.9-0.3,3-0.3c2.3,0,4,0.3,5,0.8v3.5c-1.2-0.9-2.8-1.3-4.8-1.3		c-0.5,0-1.1,0-1.6,0.1c-0.5,0.1-1,0.3-1.4,0.5c-0.4,0.2-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.3c0,0.5,0.1,0.9,0.3,1.2		s0.5,0.7,0.9,1c0,0,0.1,0,0.1,0.1H24V14z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SubscriptNew" viewBox="0 0 32 32"><g id="Subscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,30.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,22.1,29,22,28.6,22		c-0.6,0-1.1,0.1-1.6,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,25.4,25,26l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.4,0.6,0.4,1.1		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6c-0.2,0.2-0.4,0.4-0.7,0.5c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32v-1.7H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SubscriptLargeNew" viewBox="0 0 32 32"><g id="Subscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,30.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,22.1,29,22,28.6,22		c-0.6,0-1.1,0.1-1.6,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,25.4,25,26l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.4,0.6,0.4,1.1		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6c-0.2,0.2-0.4,0.4-0.7,0.5c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32v-1.7H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SuperscriptNew" viewBox="0 0 32 32"><g id="Superscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,8.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,0.1,29,0,28.6,0		C28,0,27.5,0.1,27,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,3.4,25,4l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4C29.8,2.4,30,2.7,30,3.2		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6C29,4.8,28.8,5,28.6,5.2c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32V8.3H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SuperscriptLargeNew" viewBox="0 0 32 32"><g id="Superscript">	<g class="op50_26_1"><path class="c_1" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z"/></g>	<path class="c_1" d="M27.4,8.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,0.1,29,0,28.6,0		C28,0,27.5,0.1,27,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,3.4,25,4l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4C29.8,2.4,30,2.7,30,3.2		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6C29,4.8,28.8,5,28.6,5.2c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32V8.3H27.4z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_SymbolNew" viewBox="0 0 32 32"><path class="c_1" d="M28,14c0-6.6-5.4-12-12-12C9.4,2,4,7.4,4,14c0,2.9,2.3,6.7,4.8,10H4v4h8.2H14v-4v-0.1c-2.4-2.6-6-7-6-9.9	c0-4.4,3.6-8,8-8c4.4,0,8,3.6,8,8c0,3-3.6,7.4-6,9.9V24v4h1.8H28v-4h-4.8C25.7,20.7,28,16.9,28,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_SymbolLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M28,14c0-6.6-5.4-12-12-12C9.4,2,4,7.4,4,14c0,2.9,2.3,6.7,4.8,10H4v4h8.2H14v-4v-0.1c-2.4-2.6-6-7-6-9.9	c0-4.4,3.6-8,8-8c4.4,0,8,3.6,8,8c0,3-3.6,7.4-6,9.9V24v4h1.8H28v-4h-4.8C25.7,20.7,28,16.9,28,14z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitContentsNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><polygon class="c_1" points="20.7,4.7 22,6 22,2 18,2 19.3,3.3 16,6.6 12.7,3.3 14,2 10,2 10,6 11.3,4.7 14.6,8 11.3,11.3 10,10 	10,14 14,14 12.7,12.7 16,9.4 19.3,12.7 18,14 22,14 22,10 20.7,11.3 17.4,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitContentsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><polygon class="c_1" points="20.7,4.7 22,6 22,2 18,2 19.3,3.3 16,6.6 12.7,3.3 14,2 10,2 10,6 11.3,4.7 14.6,8 11.3,11.3 10,10 	10,14 14,14 12.7,12.7 16,9.4 19.3,12.7 18,14 22,14 22,10 20.7,11.3 17.4,8 "/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitWindowNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><path class="c_1" d="M12.6,9.1c-0.8,0-1.4-0.2-1.9-0.7C10.2,8,10,7.4,10,6.6c0-0.8,0.2-1.5,0.7-1.9c0.5-0.5,1.2-0.7,2-0.7	c0.8,0,1.4,0.2,1.9,0.6c0.4,0.4,0.7,1,0.7,1.8c0,0.8-0.2,1.4-0.7,1.9C14,8.8,13.4,9.1,12.6,9.1z M20,4l-6.2,10H12l6.2-10H20z	 M12.7,5.2c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.3,1.3,1,1.3c0.7,0,1.1-0.5,1.1-1.4C13.7,5.6,13.4,5.2,12.7,5.2z M19.3,14	c-0.8,0-1.4-0.2-1.9-0.7c-0.5-0.4-0.7-1-0.7-1.8c0-0.8,0.2-1.5,0.7-1.9s1.2-0.7,2-0.7c0.8,0,1.4,0.2,1.9,0.6s0.7,1,0.7,1.8	c0,0.8-0.2,1.4-0.7,1.9S20.1,14,19.3,14z M19.4,10.1c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.4,1.3,1.1,1.3c0.7,0,1.1-0.5,1.1-1.4	c0-0.4-0.1-0.7-0.3-1C20,10.2,19.7,10.1,19.4,10.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableAutoFitWindowLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8		V4H28z"/></g><path class="c_1" d="M12.6,9.1c-0.8,0-1.4-0.2-1.9-0.7C10.2,8,10,7.4,10,6.6c0-0.8,0.2-1.5,0.7-1.9c0.5-0.5,1.2-0.7,2-0.7	c0.8,0,1.4,0.2,1.9,0.6c0.4,0.4,0.7,1,0.7,1.8c0,0.8-0.2,1.4-0.7,1.9C14,8.8,13.4,9.1,12.6,9.1z M20,4l-6.2,10H12l6.2-10H20z	 M12.7,5.2c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.3,1.3,1,1.3c0.7,0,1.1-0.5,1.1-1.4C13.7,5.6,13.4,5.2,12.7,5.2z M19.3,14	c-0.8,0-1.4-0.2-1.9-0.7c-0.5-0.4-0.7-1-0.7-1.8c0-0.8,0.2-1.5,0.7-1.9s1.2-0.7,2-0.7c0.8,0,1.4,0.2,1.9,0.6s0.7,1,0.7,1.8	c0,0.8-0.2,1.4-0.7,1.9S20.1,14,19.3,14z M19.4,10.1c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.4,1.3,1.1,1.3c0.7,0,1.1-0.5,1.1-1.4	c0-0.4-0.1-0.7-0.3-1C20,10.2,19.7,10.1,19.4,10.1z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableCellMarginsNew" viewBox="0 0 32 32"><path class="c_1" d="M32,6V4h-4V0h-2v4H6V0H4v4H0v2h4v20H0v2h4v4h2v-4h20v4h2v-4h4v-2h-4V6H32z M26,26H6V6h20V26z"/><path class="c_1" d="M8,8v16h16V8H8z M22,22H10V10h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableCellMarginsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,6V4h-4V0h-2v4H6V0H4v4H0v2h4v20H0v2h4v4h2v-4h20v4h2v-4h4v-2h-4V6H32z M26,26H6V6h20V26z"/><path class="c_1" d="M8,8v16h16V8H8z M22,22H10V10h12V22z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableFixedColumnWidthNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8V4		H28z"/></g><path class="c_1" d="M21,6h-1V3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V7	C22,6.4,21.6,6,21,6z M14,3c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V3z"/></symbol><symbol id="dxRichEdit_SVGIcon_TableFixedColumnWidthLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z"/><g class="op50_26_1">	<path class="c_1" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8V4		H28z"/></g><path class="c_1" d="M21,6h-1V3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V7	C22,6.4,21.6,6,21,6z M14,3c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V3z"/></symbol><symbol id="dxRichEdit_SVGIcon_TablePropertiesNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,18.1V22H2v-6h4.2c0.2,0.5,0.4,0.9,0.7,1.2c0.6,0.6,1.4,0.9,2.3,0.9C9.5,18.2,9.8,18.1,10,18.1z M12,30h8		v-6h-8V30z M2,30h8v-6H2V30z M27.3,16l-3,3c-0.6,0.6-1.4,1-2.3,1v2h8v-6h-1H27.3z M22,30h8v-6h-8V30z M19.6,19		c-0.4-0.4-0.7-1-0.9-1.5c-0.6-0.1-1.1-0.4-1.5-0.9c-0.2-0.2-0.3-0.4-0.5-0.6h-3.9L12,16.8V22h8v-2.7C19.9,19.2,19.7,19.1,19.6,19z"		/></g><g class="op75_5_1"><path class="c_1" d="M29,2h-7v0c-1,0-2,0.4-2.8,1.1L16,6.4L8.4,14c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l7.7-7.7	c0.6-0.6,1.2,0,0.6,0.6L16.2,11c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6l-2.3,2.3	c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6L21,15.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0	l3.6-3.6H29c1.7,0,3-1.4,3-3V5C32,3.3,30.7,2,29,2z"/></g><path class="c_1" d="M6.9,12.6L10,9.5V8H2v6h4.1C6.3,13.5,6.6,13,6.9,12.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_TablePropertiesLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M10,18.1V22H2v-6h4.2c0.2,0.5,0.4,0.9,0.7,1.2c0.6,0.6,1.4,0.9,2.3,0.9C9.5,18.2,9.8,18.1,10,18.1z M12,30h8		v-6h-8V30z M2,30h8v-6H2V30z M27.3,16l-3,3c-0.6,0.6-1.4,1-2.3,1v2h8v-6h-1H27.3z M22,30h8v-6h-8V30z M19.6,19		c-0.4-0.4-0.7-1-0.9-1.5c-0.6-0.1-1.1-0.4-1.5-0.9c-0.2-0.2-0.3-0.4-0.5-0.6h-3.9L12,16.8V22h8v-2.7C19.9,19.2,19.7,19.1,19.6,19z"		/></g><g class="op75_5_1"><path class="c_1" d="M29,2h-7v0c-1,0-2,0.4-2.8,1.1L16,6.4L8.4,14c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l7.7-7.7	c0.6-0.6,1.2,0,0.6,0.6L16.2,11c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6l-2.3,2.3	c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6L21,15.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0	l3.6-3.6H29c1.7,0,3-1.4,3-3V5C32,3.3,30.7,2,29,2z"/></g><path class="c_1" d="M6.9,12.6L10,9.5V8H2v6h4.1C6.3,13.5,6.6,13,6.9,12.6z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapBehindNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19		c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></g><path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z	 M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapBehindLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19		c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></g><path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z	 M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInFrontOfTextNew" viewBox="0 0 32 32"><path class="c_1" d="M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><g class="op50_26_1">	<path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z"		/></g><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInFrontOfTextLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><g class="op50_26_1">	<path class="c_1" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z"		/></g><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInlineNew" viewBox="0 0 32 32"><path class="c_1" d="M16.1,16.2C17.8,14.5,20,11.6,20,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C6.8,16.7,6,17.7,6,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C18,17.7,17.2,16.7,16.1,16.2z"/><path class="c_1" d="M31,0H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h30c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,28H2V2h28V28z"/><rect x="4" y="4" class="c_1" width="24" height="2"/><rect x="4" y="24" class="c_1" width="24" height="2"/><rect x="20" y="20" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapInlineLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M16.1,16.2C17.8,14.5,20,11.6,20,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C6.8,16.7,6,17.7,6,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C18,17.7,17.2,16.7,16.1,16.2z"/><path class="c_1" d="M31,0H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h30c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,28H2V2h28V28z"/><rect x="4" y="4" class="c_1" width="24" height="2"/><rect x="4" y="24" class="c_1" width="24" height="2"/><rect x="20" y="20" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapSquareNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapSquareLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapThroughNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z M16,10c0.5-0.7,1.2-1.4,2-2h-4	C14.8,8.6,15.5,9.3,16,10z M24,22h4v-2h-4V22z M26,10h2V8h-2V10z M8,20H4v2h4V20z M28,24H4v2h24V24z M6,8H4v2h2V8z M32,1v28	c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z M8,16H4v2h4V16z M6,12H4v2h2V12z"	/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapThroughLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z M16,10c0.5-0.7,1.2-1.4,2-2h-4	C14.8,8.6,15.5,9.3,16,10z M24,22h4v-2h-4V22z M26,10h2V8h-2V10z M8,20H4v2h4V20z M28,24H4v2h24V24z M6,8H4v2h2V8z M32,1v28	c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z M8,16H4v2h4V16z M6,12H4v2h2V12z"	/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTightNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M8,22H4v-2h4V22z M8,16H4v2h4V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M24,22h4v-2h-4V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTightLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z	 M8,22H4v-2h4V22z M8,16H4v2h4V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M24,22h4v-2h-4V22z M26,10h2V8	h-2V10z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTopAndBottomNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M28,24H4v2h24V24z M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1	h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_TextWrapTopAndBottomLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6H4V4h24v2h-2h-2H8H6z M28,24H4v2h24V24z M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1	h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z"/><path class="c_1" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z"/></symbol><symbol id="dxRichEdit_SVGIcon_ThreeColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ThreeColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z"/><rect x="2" y="2" class="c_1" width="8" height="2"/><rect x="2" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z"/><rect x="12" y="2" class="c_1" width="8" height="2"/><rect x="12" y="26" class="c_1" width="8" height="2"/><path class="c_1" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z"/><rect x="22" y="2" class="c_1" width="8" height="2"/><rect x="22" y="26" class="c_1" width="8" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_ToggleFieldCodesNew" viewBox="0 0 32 32"><g id="_x32_" class="op50_26_1">	<path id="layer_5_" class="c_1" d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.6,0.4,1,1,1h22C23.5,18,24,17.6,24,17z		 M10,5.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,5.9,8.8,6.1,8.8,6.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,8.4,8.3,8.6,8.2,8.7		C8,8.8,7.8,8.9,7.5,9c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.6,0.2,1.1c0,0.5,0,0.8,0.1,0.9		s0.2,0.2,0.3,0.3s0.4,0.1,0.9,0.1V14H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6		c0-0.4,0-0.7-0.1-0.9C6.1,10.2,5.3,9.9,5,9.9V8.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4		c0-0.6,0.1-1.1,0.2-1.3C6.6,4.7,6.8,4.5,7,4.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,4,8.6,4,9.1,4H10V5.7z M19,9.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V4h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V9.9z"/></g><g id="_x31_">	<path id="layer_2_" class="c_1" d="M24.2,21.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C26,26,26.4,21.6,24.2,21.6z"/>	<path id="layer_1_" class="c_1" d="M14,25.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8v-0.8c-0.1,0.1-0.6,0.2-0.7,0.2		C14,24.4,14,25.6,14,25.8z"/>	<path id="layer" class="c_1" d="M31,14H9c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h22c0.5,0,1-0.4,1-1V15C32,14.4,31.5,14,31,14z		 M17.2,27.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-2.6,0-2.7-1.7-2.7-2.1		c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2		c0-0.5,0.3-2.6,3.4-2.6c2.7,0,3.3,1.8,3.3,2.2v4c0,0.4,0.2,1.6,0.3,1.7H17.2z M24.9,28.1c-0.5,0-1-0.1-1.5-0.3		c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V18h2.1v3.2c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c2.9,0,3.1,3.4,3.1,4.1		C28,24.8,27.7,28.1,24.9,28.1z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ToggleFieldCodesLargeNew" viewBox="0 0 32 32"><g id="_x32_" class="op50_26_1">	<path id="layer_5_" class="c_1" d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.6,0.4,1,1,1h22C23.5,18,24,17.6,24,17z		 M10,5.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,5.9,8.8,6.1,8.8,6.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,8.4,8.3,8.6,8.2,8.7		C8,8.8,7.8,8.9,7.5,9c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.6,0.2,1.1c0,0.5,0,0.8,0.1,0.9		s0.2,0.2,0.3,0.3s0.4,0.1,0.9,0.1V14H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6		c0-0.4,0-0.7-0.1-0.9C6.1,10.2,5.3,9.9,5,9.9V8.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4		c0-0.6,0.1-1.1,0.2-1.3C6.6,4.7,6.8,4.5,7,4.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,4,8.6,4,9.1,4H10V5.7z M19,9.9c-0.3,0-1.1,0.3-1.2,0.5		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4		c-0.1-0.1-0.3-0.1-0.6-0.1H14V4h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V9.9z"/></g><g id="_x31_">	<path id="layer_2_" class="c_1" d="M24.2,21.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3		c0.3,0,0.5-0.1,0.6-0.1C26,26,26.4,21.6,24.2,21.6z"/>	<path id="layer_1_" class="c_1" d="M14,25.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8v-0.8c-0.1,0.1-0.6,0.2-0.7,0.2		C14,24.4,14,25.6,14,25.8z"/>	<path id="layer" class="c_1" d="M31,14H9c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h22c0.5,0,1-0.4,1-1V15C32,14.4,31.5,14,31,14z		 M17.2,27.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-2.6,0-2.7-1.7-2.7-2.1		c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2		c0-0.5,0.3-2.6,3.4-2.6c2.7,0,3.3,1.8,3.3,2.2v4c0,0.4,0.2,1.6,0.3,1.7H17.2z M24.9,28.1c-0.5,0-1-0.1-1.5-0.3		c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V18h2.1v3.2c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c2.9,0,3.1,3.4,3.1,4.1		C28,24.8,27.7,28.1,24.9,28.1z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_TwoColumnsNew" viewBox="0 0 32 32"><path class="c_1" d="M14,8H2V6h12V8z M30,6H18v2h12V6z M14,10H2v2h12V10z M30,10H18v2h12V10z M14,14H2v2h12V14z M30,14H18v2h12V14z	 M14,18H2v2h12V18z M30,18H18v2h12V18z M14,22H2v2h12V22z M30,22H18v2h12V22z"/><rect x="2" y="2" class="c_1" width="12" height="2"/><rect x="18" y="2" class="c_1" width="12" height="2"/><rect x="2" y="26" class="c_1" width="12" height="2"/><rect x="18" y="26" class="c_1" width="12" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_TwoColumnsLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M14,8H2V6h12V8z M30,6H18v2h12V6z M14,10H2v2h12V10z M30,10H18v2h12V10z M14,14H2v2h12V14z M30,14H18v2h12V14z	 M14,18H2v2h12V18z M30,18H18v2h12V18z M14,22H2v2h12V22z M30,22H18v2h12V22z"/><rect x="2" y="2" class="c_1" width="12" height="2"/><rect x="18" y="2" class="c_1" width="12" height="2"/><rect x="2" y="26" class="c_1" width="12" height="2"/><rect x="18" y="26" class="c_1" width="12" height="2"/></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineNew" viewBox="0 0 32 32"><g id="Underline">	<path class="c_1" d="M8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24v11.4c0,5.7-2.7,8.6-8.2,8.6		C10.6,24,8,21.2,8,15.7z M6,28v2h20v-2H6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineLargeNew" viewBox="0 0 32 32"><g id="Underline">	<path class="c_1" d="M8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24v11.4c0,5.7-2.7,8.6-8.2,8.6		C10.6,24,8,21.2,8,15.7z M6,28v2h20v-2H6z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineDoubleNew" viewBox="0 0 32 32"><g id="UnderlineDouble">	<path class="c_1" d="M24,15.4c0,5.7-2.7,8.6-8.2,8.6C10.6,24,8,21.2,8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24		V15.4z M26,26H6v2h20V26z M26,30H6v2h20V30z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UnderlineDoubleLargeNew" viewBox="0 0 32 32"><g id="UnderlineDouble">	<path class="c_1" d="M24,15.4c0,5.7-2.7,8.6-8.2,8.6C10.6,24,8,21.2,8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24		V15.4z M26,26H6v2h20V26z M26,30H6v2h20V30z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_UndoNew" viewBox="0 0 32 32"><path class="c_1" d="M32,26c0,0,0-8-16-8v6L0,14L16,4v6C32,10,32,26,32,26z"/></symbol><symbol id="dxRichEdit_SVGIcon_UndoLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M32,26c0,0,0-8-16-8v6L0,14L16,4v6C32,10,32,26,32,26z"/></symbol><symbol id="dxRichEdit_SVGIcon_UnprotectDocumentNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,18h11c-0.4,0.6-0.8,1.3-0.9,2H10V18z M10,24h8.2c0.3-0.9,1-1.5,1.8-1.8V22H10V24z M6,10.8l-2,2V29	c0,0.6,0.4,1,1,1h13v-2H6V10.8z M27,4H12.8l-2,2H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,14v2h12v-2H10z M12.8,12H22	v-2h-7.2L12.8,12z"/><polygon class="c_1" points="12,2 10,0 6,4 2,0 0,2 4,6 0,10 2,12 6,8 10,12 12,10 8,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_UnprotectDocumentLargeNew" viewBox="0 0 32 32"><g class="op75_5_1"><path class="c_1" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z"/></g><path class="c_1" d="M10,18h11c-0.4,0.6-0.8,1.3-0.9,2H10V18z M10,24h8.2c0.3-0.9,1-1.5,1.8-1.8V22H10V24z M6,10.8l-2,2V29	c0,0.6,0.4,1,1,1h13v-2H6V10.8z M27,4H12.8l-2,2H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,14v2h12v-2H10z M12.8,12H22	v-2h-7.2L12.8,12z"/><polygon class="c_1" points="12,2 10,0 6,4 2,0 0,2 4,6 0,10 2,12 6,8 10,12 12,10 8,6 "/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateFieldNew" viewBox="0 0 32 32"><g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g></g><path class="c_1" d="M32,16v6h-0.1h-2H26l2.5-2.5C27.6,18.6,26.4,18,25,18c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,16z M25,28c-1.4,0-2.6-0.6-3.5-1.5L24,24h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,26.3,27.4,28,25,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateFieldLargeNew" viewBox="0 0 32 32"><g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g>	<g>		<g class="op50_26_1"><path class="c_1" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14			c0,0.5,0.5,1,1,1H16.1L16.1,22z"/></g>	</g></g><path class="c_1" d="M32,16v6h-0.1h-2H26l2.5-2.5C27.6,18.6,26.4,18,25,18c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,16z M25,28c-1.4,0-2.6-0.6-3.5-1.5L24,24h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,26.3,27.4,28,25,28z"/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateTableOfContentsNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,14h-2v2h2V14z M16,8h-2V6h2V8z M16,10h-2v2h2V10z M16,18h-2v2h2V18z		 M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z"/><path class="c_1" d="M12,8H6V6h6V8z M12,18H6v2h6V18z M16,28H4V2h22v14.1c0.7,0.1,1.4,0.2,2,0.5V1c0-0.6-0.4-1-1-1H3	C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h13V28z M6,24h6v-2H6V24z M12,10H6v2h6V10z M12,14H6v2h6V14z"/><path class="c_1" d="M32,18v6h-0.1h-2H26l2.5-2.5C27.6,20.6,26.4,20,25,20c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,18z M25,30c-1.4,0-2.6-0.6-3.5-1.5L24,26h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,28.3,27.4,30,25,30z"/></symbol><symbol id="dxRichEdit_SVGIcon_UpdateTableOfContentsLargeNew" viewBox="0 0 32 32"><g class="op50_26_1">	<path class="c_1" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,14h-2v2h2V14z M16,8h-2V6h2V8z M16,10h-2v2h2V10z M16,18h-2v2h2V18z		 M16,22h-2v2h2V22z M16,14h-2v2h2V14z"/></g><path class="c_1" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z"/><path class="c_1" d="M12,8H6V6h6V8z M12,18H6v2h6V18z M16,28H4V2h22v14.1c0.7,0.1,1.4,0.2,2,0.5V1c0-0.6-0.4-1-1-1H3	C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h13V28z M6,24h6v-2H6V24z M12,10H6v2h6V10z M12,14H6v2h6V14z"/><path class="c_1" d="M32,18v6h-0.1h-2H26l2.5-2.5C27.6,20.6,26.4,20,25,20c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6	c1.9,0,3.7,0.8,4.9,2.1L32,18z M25,30c-1.4,0-2.6-0.6-3.5-1.5L24,26h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1	c3.5,0,6.4-2.6,6.9-6h-2C29.4,28.3,27.4,30,25,30z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewMergedDataNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h18v2H6V6z M21.4,28H4V2h22v21.4l2,2V1c0-0.5-0.5-1-1-1H3C2.5,0,2,0.5,2,1v28c0,0.5,0.5,1,1,1h20.4	L21.4,28z M12,14H6v2h6V14z M10,18H6v2h4V18z M10,22H6v2h4V22z"/><g class="op50_26_1"><rect x="6" y="10" class="c_1" width="18" height="2"/></g><path class="c_1" d="M27.6,27.9L23,23.3c0.6-0.9,1-2.1,1-3.3c0-3.3-2.7-6-6-6c-3.3,0-6,2.7-6,6s2.7,6,6,6c1.2,0,2.3-0.4,3.3-1	l4.6,4.6c0.5,0.5,1.3,0.5,1.7,0C28.1,29.2,28.1,28.4,27.6,27.9z M18,24c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4	C22,22.2,20.2,24,18,24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewMergedDataLargeNew" viewBox="0 0 32 32"><path class="c_1" d="M6,6h18v2H6V6z M21.4,28H4V2h22v21.4l2,2V1c0-0.5-0.5-1-1-1H3C2.5,0,2,0.5,2,1v28c0,0.5,0.5,1,1,1h20.4	L21.4,28z M12,14H6v2h6V14z M10,18H6v2h4V18z M10,22H6v2h4V22z"/><g class="op50_26_1"><rect x="6" y="10" class="c_1" width="18" height="2"/></g><path class="c_1" d="M27.6,27.9L23,23.3c0.6-0.9,1-2.1,1-3.3c0-3.3-2.7-6-6-6c-3.3,0-6,2.7-6,6s2.7,6,6,6c1.2,0,2.3-0.4,3.3-1	l4.6,4.6c0.5,0.5,1.3,0.5,1.7,0C28.1,29.2,28.1,28.4,27.6,27.9z M18,24c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4	C22,22.2,20.2,24,18,24z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewTableGridlinesNew" viewBox="0 0 32 32"><g>	<path class="c_1" d="M8,10H6v2h2V10z M16,10h-2v2h2V10z M24,10h-2v2h2V10z M8,18H6v2h2V18z M16,18h-2v2h2V18z M24,18h-2v2h2V18z		 M12,6h-2v2h2V6z M12,10h-2v2h2V10z M12,14h-2v2h2V14z M12,18h-2v2h2V18z M12,22h-2v2h2V22z M20,6h-2v2h2V6z M20,10h-2v2h2V10z		 M20,14h-2v2h2V14z M20,18h-2v2h2V18z M20,22h-2v2h2V22z"/></g><path class="c_1" d="M27,2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_ViewTableGridlinesLargeNew" viewBox="0 0 32 32"><g>	<path class="c_1" d="M8,10H6v2h2V10z M16,10h-2v2h2V10z M24,10h-2v2h2V10z M8,18H6v2h2V18z M16,18h-2v2h2V18z M24,18h-2v2h2V18z		 M12,6h-2v2h2V6z M12,10h-2v2h2V10z M12,14h-2v2h2V14z M12,18h-2v2h2V18z M12,22h-2v2h2V22z M20,6h-2v2h2V6z M20,10h-2v2h2V10z		 M20,14h-2v2h2V14z M20,18h-2v2h2V18z M20,22h-2v2h2V22z"/></g><path class="c_1" d="M27,2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,26H4V4h22V26z"/></symbol><symbol id="dxRichEdit_SVGIcon_ZoomInNew" viewBox="0 0 32 32"><polygon class="c_1" points="18,12 14,12 14,8 12,8 12,12 8,12 8,14 12,14 12,18 14,18 14,14 18,14 "/><path class="c_1" d="M29.7,27.3L22,19.6c0,0-0.1-0.1-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13	s4.9,11,11,11c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z	 M4,13c0-5,4-9,9-9c5,0,9,4,9,9s-4,9-9,9C8,22,4,18,4,13z"/></symbol><symbol id="dxRichEdit_SVGIcon_ZoomInLargeNew" viewBox="0 0 32 32"><polygon class="c_1" points="18,12 14,12 14,8 12,8 12,12 8,12 8,14 12,14 12,18 14,18 14,14 18,14 "/><path class="c_1" d="M29.7,27.3L22,19.6c0,0-0.1-0.1-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13	s4.9,11,11,11c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z	 M4,13c0-5,4-9,9-9c5,0,9,4,9,9s-4,9-9,9C8,22,4,18,4,13z"/></symbol><symbol id="dxRichEdit_SVGIcon_ZoomOutNew" viewBox="0 0 32 32"><g id="Zoom_Out">	<rect x="8" y="12" class="c_1" width="10" height="2"/>	<path class="c_1" d="M29.7,27.3l-7.9-7.9c1.3-1.8,2.1-4,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13s4.9,11,11,11		c2.4,0,4.6-0.8,6.5-2.1l7.9,7.9c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13c0-5,4-9,9-9c5,0,9,4,9,9		s-4,9-9,9C8,22,4,18,4,13z"/></g></symbol><symbol id="dxRichEdit_SVGIcon_ZoomOutLargeNew" viewBox="0 0 32 32"><g id="Zoom_Out">	<rect x="8" y="12" class="c_1" width="10" height="2"/>	<path class="c_1" d="M29.7,27.3l-7.9-7.9c1.3-1.8,2.1-4,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13s4.9,11,11,11		c2.4,0,4.6-0.8,6.5-2.1l7.9,7.9c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13c0-5,4-9,9-9c5,0,9,4,9,9		s-4,9-9,9C8,22,4,18,4,13z"/></g></symbol></svg>    s <?xml version="1.0" encoding="utf-8"?>

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="538" height="1020">
<g transform="translate(0, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st00 { fill:#727272;}

</style>
<path class="st00" d="M16,16H6v-2h10V16z M16,18H6v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st00" d="M26,26v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1h24c0.6,0,1,0.4,1,1v7h-2V2H2v26h22v-2H26z&#xD;&#xA;	 M20,6H6v2h14V6z M16,10H6v2h10V10z M16,22H6v2h10V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st00" d="M31,10H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V11C32,10.4,31.6,10,31,10z M30,18h-4v4h-2&#xD;&#xA;	v-4h-4v-2h4v-4h2v4h4V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st000_white { fill:#FFFFFF;}

</style>
<path class="st000_white" d="M16,16H6v-2h10V16z M16,18H6v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st000_white" d="M26,26v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1h24c0.6,0,1,0.4,1,1v7h-2V2H2v26h22v-2H26z&#xD;&#xA;	 M20,6H6v2h14V6z M16,10H6v2h10V10z M16,22H6v2h10V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st000_white" d="M31,10H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V11C32,10.4,31.6,10,31,10z M30,18h-4v4h-2&#xD;&#xA;	v-4h-4v-2h4v-4h2v4h4V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01 { fill:#727272;}
	.st01 { fill:#727272;}
</style>
<path class="st01" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st01" d="M20,16H10v2h10V16z M24,20H6v2h18V20z M20,24H10v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st011_white { fill:#FFFFFF;}
	.st011_white { fill:#FFFFFF;}
</style>
<path class="st011_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st011_white" d="M20,16H10v2h10V16z M24,20H6v2h18V20z M20,24H10v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02 { fill:#727272;}
	.st02 { fill:#727272;}
</style>
<path class="st02" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st02" d="M14,16H4v2h10V16z M20,20H4v2h16V20z M14,24H4v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st022_white { fill:#FFFFFF;}
	.st022_white { fill:#FFFFFF;}
</style>
<path class="st022_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st022_white" d="M14,16H4v2h10V16z M20,20H4v2h16V20z M14,24H4v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03 { fill:#727272;}
	.st03 { fill:#727272;}
</style>
<path class="st03" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st03" d="M26,16H16v2h10V16z M26,20H10v2h16V20z M26,24H16v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st033_white { fill:#FFFFFF;}
	.st033_white { fill:#FFFFFF;}
</style>
<path class="st033_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st033_white" d="M26,16H16v2h10V16z M26,20H10v2h16V20z M26,24H16v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04 { fill:#727272;}
</style>
<path id="Align_Center_1_" class="st04" d="M28,8H4V6h24V8z M24,10H8v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M24,18H8v2h16&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st044_white { fill:#FFFFFF;}
</style>
<path id="Align_Center_1_" class="st044_white" d="M28,8H4V6h24V8z M24,10H8v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M24,18H8v2h16&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op755 { opacity:0.75;}
	.st05 { fill:#727272;}
</style>
<path class="st05" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,22h-6v-2h6V22z M26,26h-6v-2h6V26z M10,22H4v-2h6V22z M10,26H4v-2h6V26z M26,14H4v-2h22V14z&#xD;&#xA;	 M26,18H4v-2h22V18z" xmlns="http://www.w3.org/2000/svg" />
<g class="op755" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="20" class="st05" width="6" height="6" /></g>
</g>
<g transform="translate(102, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7555_white { opacity:0.75;}
	.st055_white { fill:#FFFFFF;}
</style>
<path class="st055_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,22h-6v-2h6V22z M26,26h-6v-2h6V26z M10,22H4v-2h6V22z M10,26H4v-2h6V26z M26,14H4v-2h22V14z&#xD;&#xA;	 M26,18H4v-2h22V18z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7555_white" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="20" class="st055_white" width="6" height="6" /></g>
</g>
<g transform="translate(374, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op756 { opacity:0.75;}
	.st06 { fill:#727272;}
</style>
<path class="st06" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H12v-2h14V22z M26,26H12v-2h14V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op756" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="20" class="st06" width="6" height="6" /></g>
</g>
<g transform="translate(374, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7566_white { opacity:0.75;}
	.st066_white { fill:#FFFFFF;}
</style>
<path class="st066_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H12v-2h14V22z M26,26H12v-2h14V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7566_white" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="20" class="st066_white" width="6" height="6" /></g>
</g>
<g transform="translate(34, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op757 { opacity:0.75;}
	.st07 { fill:#727272;}
</style>
<path class="st07" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M18,22H4v-2h14V22z M18,26H4v-2h14V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op757" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="20" class="st07" width="6" height="6" /></g>
</g>
<g transform="translate(34, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7577_white { opacity:0.75;}
	.st077_white { fill:#FFFFFF;}
</style>
<path class="st077_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M18,22H4v-2h14V22z M18,26H4v-2h14V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7577_white" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="20" class="st077_white" width="6" height="6" /></g>
</g>
<g transform="translate(68, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op758 { opacity:0.75;}
	.st08 { fill:#727272;}
</style>
<path class="st08" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14h-6v-2h6V14z M26,18h-6v-2h6V18z M10,14H4v-2h6V14z M10,18H4v-2h6V18z M26,22H4v-2h22V22z&#xD;&#xA;	 M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op758" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="12" class="st08" width="6" height="6" /></g>
</g>
<g transform="translate(68, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7588_white { opacity:0.75;}
	.st088_white { fill:#FFFFFF;}
</style>
<path class="st088_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14h-6v-2h6V14z M26,18h-6v-2h6V18z M10,14H4v-2h6V14z M10,18H4v-2h6V18z M26,22H4v-2h22V22z&#xD;&#xA;	 M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7588_white" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="12" class="st088_white" width="6" height="6" /></g>
</g>
<g transform="translate(102, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op759 { opacity:0.75;}
	.st09 { fill:#727272;}
</style>
<path class="st09" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H12v-2h14V14z M26,18H12v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op759" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="12" class="st09" width="6" height="6" /></g>
</g>
<g transform="translate(102, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7599_white { opacity:0.75;}
	.st099_white { fill:#FFFFFF;}
</style>
<path class="st099_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H12v-2h14V14z M26,18H12v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7599_white" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="12" class="st099_white" width="6" height="6" /></g>
</g>
<g transform="translate(136, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7510 { opacity:0.75;}
	.st010 { fill:#727272;}
</style>
<path class="st010" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7510" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="12" class="st010" width="6" height="6" /></g>
</g>
<g transform="translate(136, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op751010_white { opacity:0.75;}
	.st01010_white { fill:#FFFFFF;}
</style>
<path class="st01010_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op751010_white" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="12" class="st01010_white" width="6" height="6" /></g>
</g>
<g transform="translate(170, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7511 { opacity:0.75;}
	.st011 { fill:#727272;}
</style>
<path class="st011" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M10,6H4V4h6V6z M10,10H4V8h6V10z M26,6h-6V4h6V6z M26,10h-6V8h6V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z&#xD;&#xA;	 M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7511" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="4" class="st011" width="6" height="6" /></g>
</g>
<g transform="translate(170, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op751111_white { opacity:0.75;}
	.st01111_white { fill:#FFFFFF;}
</style>
<path class="st01111_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M10,6H4V4h6V6z M10,10H4V8h6V10z M26,6h-6V4h6V6z M26,10h-6V8h6V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z&#xD;&#xA;	 M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op751111_white" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="4" class="st01111_white" width="6" height="6" /></g>
</g>
<g transform="translate(238, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7512 { opacity:0.75;}
	.st012 { fill:#727272;}
</style>
<path class="st012" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H12V4h14V6z M26,10H12V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7512" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="4" class="st012" width="6" height="6" /></g>
</g>
<g transform="translate(238, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op751212_white { opacity:0.75;}
	.st01212_white { fill:#FFFFFF;}
</style>
<path class="st01212_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H12V4h14V6z M26,10H12V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op751212_white" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="4" class="st01212_white" width="6" height="6" /></g>
</g>
<g transform="translate(238, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7513 { opacity:0.75;}
	.st013 { fill:#727272;}
</style>
<path class="st013" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7513" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="4" class="st013" width="6" height="6" /></g>
</g>
<g transform="translate(238, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op751313_white { opacity:0.75;}
	.st01313_white { fill:#FFFFFF;}
</style>
<path class="st01313_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op751313_white" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="4" class="st01313_white" width="6" height="6" /></g>
</g>
<g transform="translate(272, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st014 { fill:#727272;}
</style>
<path id="Align_Justify_2_" class="st014" d="M28,8H4V6h24V8z M28,10H4v2h24V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H4v2h24&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01414_white { fill:#FFFFFF;}
</style>
<path id="Align_Justify_2_" class="st01414_white" d="M28,8H4V6h24V8z M28,10H4v2h24V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H4v2h24&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st015 { fill:#727272;}
</style>
<path id="Align_Left_2_" class="st015" d="M28,8H4V6h24V8z M20,10H4v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M20,18H4v2h16V18&#xD;&#xA;	z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01515_white { fill:#FFFFFF;}
</style>
<path id="Align_Left_2_" class="st01515_white" d="M28,8H4V6h24V8z M20,10H4v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M20,18H4v2h16V18&#xD;&#xA;	z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st016 { fill:#727272;}
	.st016 { fill:#727272;}
</style>
<path class="st016" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st016" d="M20,10H10v2h10V10z M24,14H6v2h18V14z M20,18H10v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01616_white { fill:#FFFFFF;}
	.st01616_white { fill:#FFFFFF;}
</style>
<path class="st01616_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st01616_white" d="M20,10H10v2h10V10z M24,14H6v2h18V14z M20,18H10v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st017 { fill:#727272;}
	.st017 { fill:#727272;}
</style>
<path class="st017" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st017" d="M14,10H4v2h10V10z M20,14H4v2h16V14z M14,18H4v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01717_white { fill:#FFFFFF;}
	.st01717_white { fill:#FFFFFF;}
</style>
<path class="st01717_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st01717_white" d="M14,10H4v2h10V10z M20,14H4v2h16V14z M14,18H4v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st018 { fill:#727272;}
	.st018 { fill:#727272;}
</style>
<path class="st018" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st018" d="M26,10H16v2h10V10z M26,14H10v2h16V14z M26,18H16v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01818_white { fill:#FFFFFF;}
	.st01818_white { fill:#FFFFFF;}
</style>
<path class="st01818_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st01818_white" d="M26,10H16v2h10V10z M26,14H10v2h16V14z M26,18H16v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st019 { fill:#727272;}
</style>
<path id="Align_Right_2_" class="st019" d="M28,8H4V6h24V8z M28,10H12v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H12v2h16&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01919_white { fill:#FFFFFF;}
</style>
<path id="Align_Right_2_" class="st01919_white" d="M28,8H4V6h24V8z M28,10H12v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H12v2h16&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st020 { fill:#727272;}
	.st020 { fill:#727272;}
</style>
<path class="st020" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st020" d="M20,4H10v2h10V4z M24,8H6v2h18V8z M20,12H10v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02020_white { fill:#FFFFFF;}
	.st02020_white { fill:#FFFFFF;}
</style>
<path class="st02020_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st02020_white" d="M20,4H10v2h10V4z M24,8H6v2h18V8z M20,12H10v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st021 { fill:#727272;}
	.st021 { fill:#727272;}
</style>
<path class="st021" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st021" d="M14,4H4v2h10V4z M20,8H4v2h16V8z M14,12H4v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02121_white { fill:#FFFFFF;}
	.st02121_white { fill:#FFFFFF;}
</style>
<path class="st02121_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st02121_white" d="M14,4H4v2h10V4z M20,8H4v2h16V8z M14,12H4v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st022 { fill:#727272;}
	.st022 { fill:#727272;}
</style>
<path class="st022" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st022" d="M26,4H16v2h10V4z M26,8H10v2h16V8z M26,12H16v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02222_white { fill:#FFFFFF;}
	.st02222_white { fill:#FFFFFF;}
</style>
<path class="st02222_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st02222_white" d="M26,4H16v2h10V4z M26,8H10v2h16V8z M26,12H16v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st023 { fill:#727272;}
	.st023 { fill:#727272;}
</style>
<path class="st023" d="M19,0H7C6.4,0,6,0.4,6,1v5.6l2-2V2h10v5c0,0.6,0.4,1,1,1h5v14H8v-1.1c-0.7-0.1-1.4-0.5-1.9-1L6,19.8V23&#xD;&#xA;	c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V7L19,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st023" d="M10.8,19.2c-1.1,1.1-2.9,1.1-4,0l-4-4c-1.1-1.1-1.1-2.9,0-4L8,6l8,8L10.8,19.2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st023" d="M14,10c2.2,0,4,3.6,4,8c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C22,13.6,18.4,10,14,10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02323_white { fill:#FFFFFF;}
	.st02323_white { fill:#FFFFFF;}
</style>
<path class="st02323_white" d="M19,0H7C6.4,0,6,0.4,6,1v5.6l2-2V2h10v5c0,0.6,0.4,1,1,1h5v14H8v-1.1c-0.7-0.1-1.4-0.5-1.9-1L6,19.8V23&#xD;&#xA;	c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V7L19,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st02323_white" d="M10.8,19.2c-1.1,1.1-2.9,1.1-4,0l-4-4c-1.1-1.1-1.1-2.9,0-4L8,6l8,8L10.8,19.2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st02323_white" d="M14,10c2.2,0,4,3.6,4,8c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C22,13.6,18.4,10,14,10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st024 { fill:#727272;}
</style>
<path class="st024" d="M8,26V4h8c2.5,0,4.3,0.5,5.7,1.4c1.3,0.9,2,2.2,2,3.8c0,1.2-0.4,2.2-1.2,3.1c-0.8,0.9-1.8,1.5-3.1,1.9v0.1&#xD;&#xA;	c1.6,0.2,2.8,0.8,3.8,1.7c0.9,1,1.4,2.1,1.4,3.5c0,2-0.7,3.6-2.2,4.8C20.9,25.4,19,26,16.5,26H8z M13,7.7v5.2h2.2&#xD;&#xA;	c1,0,1.8-0.2,2.4-0.7c0.6-0.5,0.9-1.2,0.9-2c0-1.6-1.2-2.4-3.6-2.4H13z M13,16.6v5.8h2.7c1.1,0,2-0.3,2.7-0.8c0.6-0.5,1-1.3,1-2.2&#xD;&#xA;	c0-0.9-0.3-1.6-1-2.1c-0.6-0.5-1.5-0.8-2.7-0.8H13z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02424_white { fill:#FFFFFF;}
</style>
<path class="st02424_white" d="M8,26V4h8c2.5,0,4.3,0.5,5.7,1.4c1.3,0.9,2,2.2,2,3.8c0,1.2-0.4,2.2-1.2,3.1c-0.8,0.9-1.8,1.5-3.1,1.9v0.1&#xD;&#xA;	c1.6,0.2,2.8,0.8,3.8,1.7c0.9,1,1.4,2.1,1.4,3.5c0,2-0.7,3.6-2.2,4.8C20.9,25.4,19,26,16.5,26H8z M13,7.7v5.2h2.2&#xD;&#xA;	c1,0,1.8-0.2,2.4-0.7c0.6-0.5,0.9-1.2,0.9-2c0-1.6-1.2-2.4-3.6-2.4H13z M13,16.6v5.8h2.7c1.1,0,2-0.3,2.7-0.8c0.6-0.5,1-1.3,1-2.2&#xD;&#xA;	c0-0.9-0.3-1.6-1-2.1c-0.6-0.5-1.5-0.8-2.7-0.8H13z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st025 { fill:#727272;}
	.op7525 { opacity:0.75;}
</style>
<g class="op7525" xmlns="http://www.w3.org/2000/svg"><path class="st025" d="M27,4H7C6.5,4,6,4.5,6,5v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M26,28H8V6h18V28z" /></g>
<path class="st025" d="M17,2h-6c-0.5,0-1,0.5-1,1v15l4-4l4,4V3C18,2.5,17.5,2,17,2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02525_white { fill:#FFFFFF;}
	.op752525_white { opacity:0.75;}
</style>
<g class="op752525_white" xmlns="http://www.w3.org/2000/svg"><path class="st02525_white" d="M27,4H7C6.5,4,6,4.5,6,5v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M26,28H8V6h18V28z" /></g>
<path class="st02525_white" d="M17,2h-6c-0.5,0-1,0.5-1,1v15l4-4l4,4V3C18,2.5,17.5,2,17,2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st026 { fill:#727272;}
	.op5026 {opacity:0.5;}
</style>
<g class="op5026" xmlns="http://www.w3.org/2000/svg">
	<path class="st026" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M2,24h2v-2H2V24z M2,20h2v-2H2&#xD;&#xA;		V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z&#xD;&#xA;		 M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="26" class="st026" width="26" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02626_white { fill:#FFFFFF;}
	.op502626_white {opacity:0.5;}
</style>
<g class="op502626_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st02626_white" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M2,24h2v-2H2V24z M2,20h2v-2H2&#xD;&#xA;		V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z&#xD;&#xA;		 M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="26" class="st02626_white" width="26" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st027 { fill:#727272;}
	.op5027 {opacity:0.5;}
</style>
<g class="op5027" xmlns="http://www.w3.org/2000/svg">
	<path class="st027" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2&#xD;&#xA;		v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2&#xD;&#xA;		v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z" />
</g>
<polygon class="st027" points="14,14 2,14 2,16 14,16 16,16 28,16 28,14 16,14 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02727_white { fill:#FFFFFF;}
	.op502727_white {opacity:0.5;}
</style>
<g class="op502727_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st02727_white" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2&#xD;&#xA;		v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2&#xD;&#xA;		v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z" />
</g>
<polygon class="st02727_white" points="14,14 2,14 2,16 14,16 16,16 28,16 28,14 16,14 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st028 { fill:#727272;}
	.op5028 {opacity:0.5;}
</style>
<g class="op5028" xmlns="http://www.w3.org/2000/svg">
	<path class="st028" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2&#xD;&#xA;		V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2&#xD;&#xA;		v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2&#xD;&#xA;		H2V12z M2,8h2V6H2V8z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<polygon class="st028" points="16,16 16,14 16,10 16,2 14,2 14,10 14,14 14,16 14,28 16,28 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02828_white { fill:#FFFFFF;}
	.op502828_white {opacity:0.5;}
</style>
<g class="op502828_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st02828_white" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2&#xD;&#xA;		V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2&#xD;&#xA;		v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2&#xD;&#xA;		H2V12z M2,8h2V6H2V8z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<polygon class="st02828_white" points="16,16 16,14 16,10 16,2 14,2 14,10 14,14 14,16 14,28 16,28 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st029 { fill:#727272;}
	.op5029 {opacity:0.5;}
</style>
<g class="op5029" xmlns="http://www.w3.org/2000/svg">
	<path class="st029" d="M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6&#xD;&#xA;		h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z&#xD;&#xA;		 M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2&#xD;&#xA;		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="2" class="st029" width="2" height="26" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02929_white { fill:#FFFFFF;}
	.op502929_white {opacity:0.5;}
</style>
<g class="op502929_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st02929_white" d="M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6&#xD;&#xA;		h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z&#xD;&#xA;		 M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2&#xD;&#xA;		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="2" class="st02929_white" width="2" height="26" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st030 { fill:#727272;}
	.op5030 {opacity:0.5;}
</style>
<g class="op5030" xmlns="http://www.w3.org/2000/svg">
	<path class="st030" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2&#xD;&#xA;		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2&#xD;&#xA;		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2&#xD;&#xA;		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
</g>
<g transform="translate(102, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03030_white { fill:#FFFFFF;}
	.op503030_white {opacity:0.5;}
</style>
<g class="op503030_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03030_white" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2&#xD;&#xA;		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2&#xD;&#xA;		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2&#xD;&#xA;		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
</g>
<g transform="translate(306, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st031 { fill:#727272;}
	.op5031 {opacity:0.5;}
</style>
<g class="op5031" xmlns="http://www.w3.org/2000/svg">
	<path class="st031" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M22,28h2v-2&#xD;&#xA;		h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2&#xD;&#xA;		H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20&#xD;&#xA;		z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="26" y="2" class="st031" width="2" height="26" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03131_white { fill:#FFFFFF;}
	.op503131_white {opacity:0.5;}
</style>
<g class="op503131_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03131_white" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M22,28h2v-2&#xD;&#xA;		h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2&#xD;&#xA;		H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20&#xD;&#xA;		z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="26" y="2" class="st03131_white" width="2" height="26" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st032 { fill:#727272;}
</style>
<path class="st032" d="M2,2v2v24h26V16v-2V4V2H2z M14,4v10H4V4H14z M4,26V16h10v10H4z M26,26H16V16h10V26z M26,14H16V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03232_white { fill:#FFFFFF;}
</style>
<path class="st03232_white" d="M2,2v2v24h26V16v-2V4V2H2z M14,4v10H4V4H14z M4,26V16h10v10H4z M26,26H16V16h10V26z M26,14H16V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st033 {fill:#727272;}
	.op5033 {opacity:0.5;}
</style>
<g class="op5033" xmlns="http://www.w3.org/2000/svg">
	<path class="st033" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2&#xD;&#xA;		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<path class="st033" d="M2,2v26h26V2H2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03333_white { fill:#FFFFFF;}
	.op503333_white {opacity:0.5;}
</style>
<g class="op503333_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03333_white" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2&#xD;&#xA;		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<path class="st03333_white" d="M2,2v26h26V2H2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op5034 {opacity:0.5;}
	.st034 {fill:#727272;}
</style>
<g class="op5034" xmlns="http://www.w3.org/2000/svg">
	<path class="st034" d="M28,22h-2v2h2V22z M28,18h-2v2h2V18z M28,10h-2v2h2V10z M28,6h-2v2h2V6z" />
</g>
<path class="st034" d="M28,4V2H16h-2H4H2v2v10v2v10v2h2h10h2h12v-2H16V16h12v-2H16V4H28z M14,26H4V16h10V26z M14,14H4V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op503434_white {opacity:0.5;}
	.st03434_white { fill:#FFFFFF;}
</style>
<g class="op503434_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03434_white" d="M28,22h-2v2h2V22z M28,18h-2v2h2V18z M28,10h-2v2h2V10z M28,6h-2v2h2V6z" />
</g>
<path class="st03434_white" d="M28,4V2H16h-2H4H2v2v10v2v10v2h2h10h2h12v-2H16V16h12v-2H16V4H28z M14,26H4V16h10V26z M14,14H4V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st035 {fill:#727272;}
</style>
<path class="st035" d="M2,2v12v2v12h26V16v-2V2H2z M14,26H4V16h10V26z M14,14H4V4h10V14z M26,26H16V16h10V26z M26,14H16V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03535_white { fill:#FFFFFF;}
</style>
<path class="st03535_white" d="M2,2v12v2v12h26V16v-2V2H2z M14,26H4V16h10V26z M14,14H4V4h10V14z M26,26H16V16h10V26z M26,14H16V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st036 {fill:#727272;}
	.op5036 {opacity:0.5;}
</style>
<g class="op5036" xmlns="http://www.w3.org/2000/svg">
	<path class="st036" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2&#xD;&#xA;		V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M10,28h2&#xD;&#xA;		v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2v-2H2V12z M2,8h2V6H2V8z" />
</g>
<polygon class="st036" points="28,14 16,14 16,2 14,2 14,14 2,14 2,16 14,16 14,28 16,28 16,16 28,16 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03636_white { fill:#FFFFFF;}
	.op503636_white {opacity:0.5;}
</style>
<g class="op503636_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03636_white" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2&#xD;&#xA;		V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M10,28h2&#xD;&#xA;		v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2v-2H2V12z M2,8h2V6H2V8z" />
</g>
<polygon class="st03636_white" points="28,14 16,14 16,2 14,2 14,14 2,14 2,16 14,16 14,28 16,28 16,16 28,16 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st037 { fill:#727272;}
	.op5037 {opacity:0.5;}
</style>
<g class="op5037" xmlns="http://www.w3.org/2000/svg">
	<path class="st037" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2&#xD;&#xA;		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2&#xD;&#xA;		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2&#xD;&#xA;		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
</g>
<g transform="translate(170, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03737_white { fill:#FFFFFF;}
	.op503737_white {opacity:0.5;}
</style>
<g class="op503737_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03737_white" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2&#xD;&#xA;		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2&#xD;&#xA;		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2&#xD;&#xA;		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
</g>
<g transform="translate(204, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st038 {fill:#727272;}
	.op5038 {opacity:0.5;}
</style>
<g class="op5038" xmlns="http://www.w3.org/2000/svg">
	<path class="st038" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2&#xD;&#xA;		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<path class="st038" d="M2,2v26h26V2H2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03838_white { fill:#FFFFFF;}
	.op503838_white {opacity:0.5;}
</style>
<g class="op503838_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03838_white" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2&#xD;&#xA;		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<path class="st03838_white" d="M2,2v26h26V2H2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st039 {fill:#727272;}
	.op5039 {opacity:0.5;}
</style>
<g class="op5039" xmlns="http://www.w3.org/2000/svg">
	<path class="st039" d="M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2&#xD;&#xA;		h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2&#xD;&#xA;		v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2&#xD;&#xA;		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="2" class="st039" width="26" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03939_white { fill:#FFFFFF;}
	.op503939_white {opacity:0.5;}
</style>
<g class="op503939_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st03939_white" d="M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2&#xD;&#xA;		h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2&#xD;&#xA;		v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2&#xD;&#xA;		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="2" class="st03939_white" width="26" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st040 {fill:#727272;}
	.st040 { fill:#727272;}
.op5040 { opacity:0.5;}
	.st040 { fill:#727272;}
.op7540 { opacity:0.75;}
</style>
<path id="layer_3_" class="st040" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5040" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st040" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op7540" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st040" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st040" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04040_white { fill:#FFFFFF;}
	.st04040_white { fill:#FFFFFF;}
.op504040_white { opacity:0.5;}
	.st04040_white { fill:#FFFFFF;}
.op754040_white { opacity:0.75;}
</style>
<path id="layer_3_" class="st04040_white" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op504040_white" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st04040_white" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op754040_white" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st04040_white" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st04040_white" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st041 {fill:#727272;}
	.st041 { fill:#727272;}
.op5041 { opacity:0.5;}
	.st041 { fill:#727272;}
.op7541 { opacity:0.75;}
</style>
<path id="layer_3_" class="st041" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5041" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st041" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op7541" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st041" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st041" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04141_white { fill:#FFFFFF;}
	.st04141_white { fill:#FFFFFF;}
.op504141_white { opacity:0.5;}
	.st04141_white { fill:#FFFFFF;}
.op754141_white { opacity:0.75;}
</style>
<path id="layer_3_" class="st04141_white" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op504141_white" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st04141_white" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op754141_white" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st04141_white" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st04141_white" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st042 { fill:#727272;}
	
	
	
	
	
	
	
	
</style>
<g id="ChangeTextCase" xmlns="http://www.w3.org/2000/svg">
	<path class="st042" d="M12.6,6l5.8,16h-3.6l-1.2-3.6H7.8L6.6,22H3.1L9.1,6H12.6z M12.8,15.8l-2-5.9h0l-2,5.9H12.8z M19.7,14&#xD;&#xA;		c0-0.7,0.2-1.4,0.5-1.9s0.7-0.9,1.2-1.2c0.5-0.3,1.1-0.5,1.7-0.6c0.6-0.1,1.2-0.2,1.9-0.2c0.6,0,1.1,0,1.7,0.1&#xD;&#xA;		c0.6,0.1,1.1,0.2,1.6,0.5c0.5,0.2,0.9,0.6,1.2,1c0.3,0.4,0.5,1,0.5,1.7v6c0,0.5,0,1,0.1,1.5c0.1,0.5,0.2,0.8,0.3,1.1h-3.2&#xD;&#xA;		c-0.1-0.2-0.1-0.4-0.1-0.5c0-0.2-0.1-0.4-0.1-0.6c-0.5,0.5-1.1,0.9-1.8,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.5,0-1-0.1-1.5-0.2&#xD;&#xA;		c-0.5-0.1-0.9-0.3-1.2-0.6c-0.3-0.3-0.6-0.6-0.8-1.1c-0.2-0.4-0.3-1-0.3-1.5c0-0.7,0.1-1.2,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1&#xD;&#xA;		c0.4-0.3,0.8-0.4,1.2-0.6c0.5-0.1,0.9-0.2,1.4-0.3c0.5-0.1,0.9-0.1,1.4-0.2c0.5,0,0.9-0.1,1.2-0.2c0.3-0.1,0.6-0.2,0.8-0.4&#xD;&#xA;		c0.2-0.2,0.3-0.4,0.3-0.8c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.2-0.3-0.4-0.4-0.5c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.8-0.1&#xD;&#xA;		c-0.6,0-1.1,0.1-1.4,0.4s-0.6,0.7-0.6,1.3H19.7z M26.9,16.3c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.2&#xD;&#xA;		c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.3,0.3-0.4,0.5&#xD;&#xA;		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0,0.5,0.1,0.7,0.1&#xD;&#xA;		c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.6-0.5,0.7-0.8c0.2-0.3,0.3-0.6,0.3-0.9c0-0.3,0.1-0.5,0.1-0.7V16.3z" />
</g>
</g>
<g transform="translate(238, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st04242_white { fill:#FFFFFF;}
	
	
	
	
	
	
	
	
</style>
<g id="ChangeTextCase" xmlns="http://www.w3.org/2000/svg">
	<path class="st04242_white" d="M12.6,6l5.8,16h-3.6l-1.2-3.6H7.8L6.6,22H3.1L9.1,6H12.6z M12.8,15.8l-2-5.9h0l-2,5.9H12.8z M19.7,14&#xD;&#xA;		c0-0.7,0.2-1.4,0.5-1.9s0.7-0.9,1.2-1.2c0.5-0.3,1.1-0.5,1.7-0.6c0.6-0.1,1.2-0.2,1.9-0.2c0.6,0,1.1,0,1.7,0.1&#xD;&#xA;		c0.6,0.1,1.1,0.2,1.6,0.5c0.5,0.2,0.9,0.6,1.2,1c0.3,0.4,0.5,1,0.5,1.7v6c0,0.5,0,1,0.1,1.5c0.1,0.5,0.2,0.8,0.3,1.1h-3.2&#xD;&#xA;		c-0.1-0.2-0.1-0.4-0.1-0.5c0-0.2-0.1-0.4-0.1-0.6c-0.5,0.5-1.1,0.9-1.8,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.5,0-1-0.1-1.5-0.2&#xD;&#xA;		c-0.5-0.1-0.9-0.3-1.2-0.6c-0.3-0.3-0.6-0.6-0.8-1.1c-0.2-0.4-0.3-1-0.3-1.5c0-0.7,0.1-1.2,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1&#xD;&#xA;		c0.4-0.3,0.8-0.4,1.2-0.6c0.5-0.1,0.9-0.2,1.4-0.3c0.5-0.1,0.9-0.1,1.4-0.2c0.5,0,0.9-0.1,1.2-0.2c0.3-0.1,0.6-0.2,0.8-0.4&#xD;&#xA;		c0.2-0.2,0.3-0.4,0.3-0.8c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.2-0.3-0.4-0.4-0.5c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.8-0.1&#xD;&#xA;		c-0.6,0-1.1,0.1-1.4,0.4s-0.6,0.7-0.6,1.3H19.7z M26.9,16.3c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.2&#xD;&#xA;		c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.3,0.3-0.4,0.5&#xD;&#xA;		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0,0.5,0.1,0.7,0.1&#xD;&#xA;		c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.6-0.5,0.7-0.8c0.2-0.3,0.3-0.6,0.3-0.9c0-0.3,0.1-0.5,0.1-0.7V16.3z" />
</g>
</g>
<g transform="translate(374, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op5043 { opacity:0.5;}
	.st043 { fill:#727272;}
</style>
<g id="ClearFormatting" xmlns="http://www.w3.org/2000/svg">
	<path class="st043" d="M1.1,11.2c0-0.6,0.2-1.2,0.5-1.6c0.3-0.4,0.6-0.8,1.1-1C3,8.4,3.5,8.2,4.1,8.1C4.6,8,5.1,7.9,5.7,7.9&#xD;&#xA;		c0.5,0,1,0,1.5,0.1c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.8,0.5,1,0.8s0.4,0.8,0.4,1.4v5.1c0,0.4,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9&#xD;&#xA;		H7.6c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2-0.1-0.3-0.1-0.5C7,17.5,6.5,17.8,5.9,18c-0.6,0.2-1.2,0.3-1.8,0.3c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;		C2.4,18,2,17.8,1.7,17.5C1.4,17.3,1.2,17,1,16.6c-0.2-0.4-0.3-0.8-0.3-1.3c0-0.6,0.1-1,0.3-1.4s0.4-0.6,0.8-0.9&#xD;&#xA;		c0.3-0.2,0.7-0.4,1.1-0.5s0.8-0.2,1.2-0.3c0.4-0.1,0.8-0.1,1.2-0.2c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.2,0.7-0.3&#xD;&#xA;		c0.2-0.1,0.3-0.4,0.2-0.6c0-0.3,0-0.5-0.1-0.7C7.1,10.2,6.9,10,6.8,10C6.6,9.9,6.4,9.8,6.2,9.8s-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.3&#xD;&#xA;		c-0.3,0.2-0.5,0.6-0.5,1.1H1.1z M7.3,13.2c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.1&#xD;&#xA;		s-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.4,0.1-0.5,0.3c-0.1,0.1-0.3,0.2-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6&#xD;&#xA;		c0,0.2,0,0.4,0.1,0.6C3.7,16,3.8,16.1,4,16.2c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,0.9-0.1,1.2-0.3&#xD;&#xA;		C6.6,16,6.9,15.8,7,15.6s0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6V13.2z" />
	<path class="st043" d="M14.7,4v5.4h0c0.3-0.5,0.8-0.9,1.3-1.1c0.6-0.2,1.1-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3&#xD;&#xA;		c0.5,0.2,0.9,0.5,1.3,0.9c0.4,0.4,0.7,1,0.9,1.6s0.4,1.4,0.4,2.3s-0.1,1.7-0.4,2.3S21,16.6,20.6,17c-0.4,0.4-0.8,0.7-1.3,0.9&#xD;&#xA;		c-0.5,0.2-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.6-0.2-1-0.6-1.3-1.2h0V18H12V4H14.7z M19.1,11.9c-0.1-0.4-0.2-0.7-0.4-1&#xD;&#xA;		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.1-1,0.3c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1&#xD;&#xA;		c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0,0.8,0.1,1.2c0.1,0.4,0.2,0.7,0.4,1s0.4,0.5,0.7,0.7c0.3,0.2,0.6,0.3,1,0.3c0.4,0,0.8-0.1,1-0.3&#xD;&#xA;		c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-1c0.1-0.4,0.1-0.8,0.1-1.2C19.2,12.7,19.2,12.3,19.1,11.9z" />
	<g class="op5043"><path class="st043" d="M19,21.3L16.3,24c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,21.3z" /></g>
	<path class="st043" d="M31.7,18.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0L20,20.5l5.6,5.6l6.1-6.1C32.1,19.5,32.1,18.8,31.7,18.4z" />
</g>
</g>
<g transform="translate(374, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op504343_white { opacity:0.5;}
	.st04343_white { fill:#FFFFFF;}
</style>
<g id="ClearFormatting" xmlns="http://www.w3.org/2000/svg">
	<path class="st04343_white" d="M1.1,11.2c0-0.6,0.2-1.2,0.5-1.6c0.3-0.4,0.6-0.8,1.1-1C3,8.4,3.5,8.2,4.1,8.1C4.6,8,5.1,7.9,5.7,7.9&#xD;&#xA;		c0.5,0,1,0,1.5,0.1c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.8,0.5,1,0.8s0.4,0.8,0.4,1.4v5.1c0,0.4,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9&#xD;&#xA;		H7.6c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2-0.1-0.3-0.1-0.5C7,17.5,6.5,17.8,5.9,18c-0.6,0.2-1.2,0.3-1.8,0.3c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;		C2.4,18,2,17.8,1.7,17.5C1.4,17.3,1.2,17,1,16.6c-0.2-0.4-0.3-0.8-0.3-1.3c0-0.6,0.1-1,0.3-1.4s0.4-0.6,0.8-0.9&#xD;&#xA;		c0.3-0.2,0.7-0.4,1.1-0.5s0.8-0.2,1.2-0.3c0.4-0.1,0.8-0.1,1.2-0.2c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.2,0.7-0.3&#xD;&#xA;		c0.2-0.1,0.3-0.4,0.2-0.6c0-0.3,0-0.5-0.1-0.7C7.1,10.2,6.9,10,6.8,10C6.6,9.9,6.4,9.8,6.2,9.8s-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.3&#xD;&#xA;		c-0.3,0.2-0.5,0.6-0.5,1.1H1.1z M7.3,13.2c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.1&#xD;&#xA;		s-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.4,0.1-0.5,0.3c-0.1,0.1-0.3,0.2-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6&#xD;&#xA;		c0,0.2,0,0.4,0.1,0.6C3.7,16,3.8,16.1,4,16.2c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,0.9-0.1,1.2-0.3&#xD;&#xA;		C6.6,16,6.9,15.8,7,15.6s0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6V13.2z" />
	<path class="st04343_white" d="M14.7,4v5.4h0c0.3-0.5,0.8-0.9,1.3-1.1c0.6-0.2,1.1-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3&#xD;&#xA;		c0.5,0.2,0.9,0.5,1.3,0.9c0.4,0.4,0.7,1,0.9,1.6s0.4,1.4,0.4,2.3s-0.1,1.7-0.4,2.3S21,16.6,20.6,17c-0.4,0.4-0.8,0.7-1.3,0.9&#xD;&#xA;		c-0.5,0.2-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.6-0.2-1-0.6-1.3-1.2h0V18H12V4H14.7z M19.1,11.9c-0.1-0.4-0.2-0.7-0.4-1&#xD;&#xA;		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.1-1,0.3c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1&#xD;&#xA;		c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0,0.8,0.1,1.2c0.1,0.4,0.2,0.7,0.4,1s0.4,0.5,0.7,0.7c0.3,0.2,0.6,0.3,1,0.3c0.4,0,0.8-0.1,1-0.3&#xD;&#xA;		c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-1c0.1-0.4,0.1-0.8,0.1-1.2C19.2,12.7,19.2,12.3,19.1,11.9z" />
	<g class="op504343_white"><path class="st04343_white" d="M19,21.3L16.3,24c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,21.3z" /></g>
	<path class="st04343_white" d="M31.7,18.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0L20,20.5l5.6,5.6l6.1-6.1C32.1,19.5,32.1,18.8,31.7,18.4z" />
</g>
</g>
<g transform="translate(408, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st044 { fill:#727272;}
	.op5044 {opacity:0.5;}
</style>
<g class="op5044" xmlns="http://www.w3.org/2000/svg"><g>
	<path class="st044" d="M28,10h-8V4h8V10z M24.6,14.9c0.6-0.6,1.4-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.2V12h-8v6h1.5L24.6,14.9z M0,26&#xD;&#xA;		h8v-6H0V26z M14.9,24.6l3.1-3.1V20h-8v6h4.1C14.3,25.5,14.5,25,14.9,24.6z" /></g>
</g>
<path class="st044" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M19,23.3L16.3,26&#xD;&#xA;	c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z" xmlns="http://www.w3.org/2000/svg" />
<path class="st044" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04444_white { fill:#FFFFFF;}
	.op504444_white {opacity:0.5;}
</style>
<g class="op504444_white" xmlns="http://www.w3.org/2000/svg"><g>
	<path class="st04444_white" d="M28,10h-8V4h8V10z M24.6,14.9c0.6-0.6,1.4-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.2V12h-8v6h1.5L24.6,14.9z M0,26&#xD;&#xA;		h8v-6H0V26z M14.9,24.6l3.1-3.1V20h-8v6h4.1C14.3,25.5,14.5,25,14.9,24.6z" /></g>
</g>
<path class="st04444_white" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M19,23.3L16.3,26&#xD;&#xA;	c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z" xmlns="http://www.w3.org/2000/svg" />
<path class="st04444_white" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st045 { fill:#727272;}
</style>
<path class="st045" d="M27,4H5C4.5,4,4,4.5,4,5v22c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M22,20l-2,2l-4-4l-4,4&#xD;&#xA;	l-2-2l4-4l-4-4l2-2l4,4l4-4l2,2l-4,4L22,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04545_white { fill:#FFFFFF;}
</style>
<path class="st04545_white" d="M27,4H5C4.5,4,4,4.5,4,5v22c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M22,20l-2,2l-4-4l-4,4&#xD;&#xA;	l-2-2l4-4l-4-4l2-2l4,4l4-4l2,2l-4,4L22,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st046 {fill:#727272;enable-background:new    ;}
</style>
<path class="st046" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st046" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st046" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04646_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st04646_white" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st04646_white" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st04646_white" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st047 { fill:#727272;}
</style>
<path class="st047" d="M14,6H4V4h10V6z M26,4H16v2h10V4z M14,8H4v2h10V8z M26,8H16v2h10V8z M14,12H4v2h10V12z M26,12H16v2h10V12z&#xD;&#xA;	 M14,16H4v2h10V16z M26,16H16v2h10V16z M14,20H4v2h10V20z M26,20H16v2h10V20z M14,24H4v2h10V24z M26,24H16v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04747_white { fill:#FFFFFF;}
</style>
<path class="st04747_white" d="M14,6H4V4h10V6z M26,4H16v2h10V4z M14,8H4v2h10V8z M26,8H16v2h10V8z M14,12H4v2h10V12z M26,12H16v2h10V12z&#xD;&#xA;	 M14,16H4v2h10V16z M26,16H16v2h10V16z M14,20H4v2h10V20z M26,20H16v2h10V20z M14,24H4v2h10V24z M26,24H16v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st048 {fill:#727272;enable-background:new    ;}
</style>
<path class="st048" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st048" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st048" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04848_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st04848_white" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st04848_white" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st04848_white" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st049 {fill:#727272;enable-background:new    ;}
</style>
<path class="st049" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st049" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="2" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="26" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st049" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="2" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="26" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04949_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st04949_white" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st04949_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st04949_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st04949_white" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="2" class="st04949_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="26" class="st04949_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st04949_white" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="2" class="st04949_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="26" class="st04949_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st050 {fill:#727272;enable-background:new    ;}
</style>
<path class="st050" d="M15,8H2V6h13V8z M30,6H17v2h13V6z M15,10H2v2h13V10z M30,10H17v2h13V10z M15,14H2v2h13V14z M30,14H17v2h13V14z&#xD;&#xA;	 M15,18H2v2h13V18z M30,18H17v2h13V18z M15,22H2v2h13V22z M30,22H17v2h13V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="17" y="2" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="17" y="26" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05050_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st05050_white" d="M15,8H2V6h13V8z M30,6H17v2h13V6z M15,10H2v2h13V10z M30,10H17v2h13V10z M15,14H2v2h13V14z M30,14H17v2h13V14z&#xD;&#xA;	 M15,18H2v2h13V18z M30,18H17v2h13V18z M15,22H2v2h13V22z M30,22H17v2h13V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st05050_white" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="17" y="2" class="st05050_white" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st05050_white" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="17" y="26" class="st05050_white" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st051 { fill:#727272;}
	
	
</style>
<g id="Copy" xmlns="http://www.w3.org/2000/svg">
	<path class="st051" d="M21,2H11c-0.5,0-1,0.5-1,1v5H5C4.5,8,4,8.5,4,9v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1v-5h5c0.5,0,1-0.5,1-1&#xD;&#xA;		V9L21,2z M20,28H6V10h8v5c0,0.5,0.5,1,1,1h5V28z M26,22h-4v-7l-7-7h-3V4h8v5c0,0.5,0.5,1,1,1h5V22z" />
</g>
</g>
<g transform="translate(0, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st05151_white { fill:#FFFFFF;}
	
	
</style>
<g id="Copy" xmlns="http://www.w3.org/2000/svg">
	<path class="st05151_white" d="M21,2H11c-0.5,0-1,0.5-1,1v5H5C4.5,8,4,8.5,4,9v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1v-5h5c0.5,0,1-0.5,1-1&#xD;&#xA;		V9L21,2z M20,28H6V10h8v5c0,0.5,0.5,1,1,1h5V28z M26,22h-4v-7l-7-7h-3V4h8v5c0,0.5,0.5,1,1,1h5V22z" />
</g>
</g>
<g transform="translate(306, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st052 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="Cut" xmlns="http://www.w3.org/2000/svg">
	<path class="st052" d="M16.4,11.6L26,2l-5.8,13.3L16.4,11.6z M12,23c0,2.8-2.2,5-5,5s-5-2.2-5-5s2.2-5,5-5S12,20.2,12,23z M10,23&#xD;&#xA;		c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S10,24.7,10,23z M28,23c0,2.8-2.2,5-5,5s-5-2.2-5-5c0-0.9,0.2-1.7,0.6-2.4L16,18h-5L4,2&#xD;&#xA;		l16.6,16.6c0.7-0.4,1.5-0.6,2.4-0.6C25.8,18,28,20.2,28,23z M26,23c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S26,24.7,26,23z" />
</g>
</g>
<g transform="translate(306, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st05252_white { fill:#FFFFFF;}
	
	
	
	
	
	
</style>
<g id="Cut" xmlns="http://www.w3.org/2000/svg">
	<path class="st05252_white" d="M16.4,11.6L26,2l-5.8,13.3L16.4,11.6z M12,23c0,2.8-2.2,5-5,5s-5-2.2-5-5s2.2-5,5-5S12,20.2,12,23z M10,23&#xD;&#xA;		c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S10,24.7,10,23z M28,23c0,2.8-2.2,5-5,5s-5-2.2-5-5c0-0.9,0.2-1.7,0.6-2.4L16,18h-5L4,2&#xD;&#xA;		l16.6,16.6c0.7-0.4,1.5-0.6,2.4-0.6C25.8,18,28,20.2,28,23z M26,23c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S26,24.7,26,23z" />
</g>
</g>
<g transform="translate(374, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st053 {fill:#727272;}
</style>
<path class="st053" d="M18.8,16l6.9-6.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L9.1,6.3c-0.4-0.4-1-0.4-1.4,0&#xD;&#xA;	L6.3,7.7c-0.4,0.4-0.4,1,0,1.4l6.9,6.9l-6.9,6.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l6.9-6.9l6.9,6.9&#xD;&#xA;	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05353_white { fill:#FFFFFF;}
</style>
<path class="st05353_white" d="M18.8,16l6.9-6.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L9.1,6.3c-0.4-0.4-1-0.4-1.4,0&#xD;&#xA;	L6.3,7.7c-0.4,0.4-0.4,1,0,1.4l6.9,6.9l-6.9,6.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l6.9-6.9l6.9,6.9&#xD;&#xA;	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st054 { fill:#727272;}
	.op7554 { opacity:0.75;}
</style>
<g class="op7554" xmlns="http://www.w3.org/2000/svg"><path id="Hyperlink" class="st054" d="M16.8,18c1.3,1.9,1.1,4.6-0.6,6.3l-4.2,4.2c-2,2-5.1,2-7.1,0l-1.4-1.4c-2-2-2-5.1,0-7.1&#xD;&#xA;	l4.2-4.2c1.7-1.7,4.3-1.9,6.3-0.6l-1.5,1.5c-1.1-0.5-2.5-0.3-3.4,0.6l-4.2,4.2c-1.2,1.2-1.2,3.1,0,4.2l1.4,1.4&#xD;&#xA;	c1.2,1.2,3.1,1.2,4.2,0l4.2-4.2c0.9-0.9,1.1-2.3,0.6-3.4L16.8,18z M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2&#xD;&#xA;	c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2&#xD;&#xA;	c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z M21.7,11.7c0.4-0.4,0.4-1,0-1.4l0,0&#xD;&#xA;	c-0.4-0.4-1-0.4-1.4,0l-10,10c-0.4,0.4-0.4,1,0,1.4l0,0c0.4,0.4,1,0.4,1.4,0L21.7,11.7z" /></g>
<polygon class="st054" points="32,22 30,20 26,24 22,20 20,22 24,26 20,30 22,32 26,28 30,32 32,30 28,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05454_white { fill:#FFFFFF;}
	.op755454_white { opacity:0.75;}
</style>
<g class="op755454_white" xmlns="http://www.w3.org/2000/svg"><path id="Hyperlink" class="st05454_white" d="M16.8,18c1.3,1.9,1.1,4.6-0.6,6.3l-4.2,4.2c-2,2-5.1,2-7.1,0l-1.4-1.4c-2-2-2-5.1,0-7.1&#xD;&#xA;	l4.2-4.2c1.7-1.7,4.3-1.9,6.3-0.6l-1.5,1.5c-1.1-0.5-2.5-0.3-3.4,0.6l-4.2,4.2c-1.2,1.2-1.2,3.1,0,4.2l1.4,1.4&#xD;&#xA;	c1.2,1.2,3.1,1.2,4.2,0l4.2-4.2c0.9-0.9,1.1-2.3,0.6-3.4L16.8,18z M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2&#xD;&#xA;	c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2&#xD;&#xA;	c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z M21.7,11.7c0.4-0.4,0.4-1,0-1.4l0,0&#xD;&#xA;	c-0.4-0.4-1-0.4-1.4,0l-10,10c-0.4,0.4-0.4,1,0,1.4l0,0c0.4,0.4,1,0.4,1.4,0L21.7,11.7z" /></g>
<polygon class="st05454_white" points="32,22 30,20 26,24 22,20 20,22 24,26 20,30 22,32 26,28 30,32 32,30 28,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st055 { fill:#727272;}

</style>
<g id="Delete" xmlns="http://www.w3.org/2000/svg">
	<path class="st055" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0&#xD;&#xA;		L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9&#xD;&#xA;		c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z" />
</g>
</g>
<g transform="translate(170, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05555_white { fill:#FFFFFF;}

</style>
<g id="Delete" xmlns="http://www.w3.org/2000/svg">
	<path class="st05555_white" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0&#xD;&#xA;		L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9&#xD;&#xA;		c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z" />
</g>
</g>
<g transform="translate(204, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st056 {fill:#727272;}
	.op5056 {opacity:0.5;}
</style>
<path class="st056" d="M8,8H0V2h8V8z M18,2h-8v6h8V2z M28,2h-8v6h8V2z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5056" xmlns="http://www.w3.org/2000/svg">
	<path class="st056" d="M8,16H0v-6h8V16z M18,10h-8v6h8V10z M28,10h-8v6h8V10z M8,18H0v6h8V18z M18,18h-8v6h8V18z" />
</g>
<polygon class="st056" points="32,20 30,18 26,22 22,18 20,20 24,24 20,28 22,30 26,26 30,30 32,28 28,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05656_white { fill:#FFFFFF;}
	.op505656_white {opacity:0.5;}
</style>
<path class="st05656_white" d="M8,8H0V2h8V8z M18,2h-8v6h8V2z M28,2h-8v6h8V2z" xmlns="http://www.w3.org/2000/svg" />
<g class="op505656_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st05656_white" d="M8,16H0v-6h8V16z M18,10h-8v6h8V10z M28,10h-8v6h8V10z M8,18H0v6h8V18z M18,18h-8v6h8V18z" />
</g>
<polygon class="st05656_white" points="32,20 30,18 26,22 22,18 20,20 24,24 20,28 22,30 26,26 30,30 32,28 28,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st057 { fill:#727272;}
	.op5057 {opacity:0.5;}
</style>
<g class="op5057" xmlns="http://www.w3.org/2000/svg">
	<path class="st057" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,16H2v6h8V16z M20,16&#xD;&#xA;		h-8v6h8V16z M30,16h-8v6h8V16z" />
</g>
<path class="st057" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,8h-8v6h8V8z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05757_white { fill:#FFFFFF;}
	.op505757_white {opacity:0.5;}
</style>
<g class="op505757_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st05757_white" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,16H2v6h8V16z M20,16&#xD;&#xA;		h-8v6h8V16z M30,16h-8v6h8V16z" />
</g>
<path class="st05757_white" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,8h-8v6h8V8z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st058 { fill:#727272;}
	.op5058 {opacity:0.5;}
</style>
<g class="op5058" xmlns="http://www.w3.org/2000/svg">
	<path class="st058" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M30,0h-8v6h8V0z M10,16H2v6h8V16z M30,16h-8v6h8V16z" />
</g>
<path class="st058" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,0h-8v22h8V0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05858_white { fill:#FFFFFF;}
	.op505858_white {opacity:0.5;}
</style>
<g class="op505858_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st05858_white" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M30,0h-8v6h8V0z M10,16H2v6h8V16z M30,16h-8v6h8V16z" />
</g>
<path class="st05858_white" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,0h-8v22h8V0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st059 { fill:#727272;}
	.op5059 {opacity:0.5;}
</style>
<g class="op5059" xmlns="http://www.w3.org/2000/svg">
	<path class="st059" d="M20,10h-8V4h8V10z M30,4h-8v6h8V4z M30,22h-8v6h8V22z M20,22h-8v6h8V22z" />
</g>
<path class="st059" d="M6,14h4v4H6v2l-4-4l4-4V14z M12,12v8h18v-8H12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st05959_white { fill:#FFFFFF;}
	.op505959_white {opacity:0.5;}
</style>
<g class="op505959_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st05959_white" d="M20,10h-8V4h8V10z M30,4h-8v6h8V4z M30,22h-8v6h8V22z M20,22h-8v6h8V22z" />
</g>
<path class="st05959_white" d="M6,14h4v4H6v2l-4-4l4-4V14z M12,12v8h18v-8H12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st060 { fill:#727272;}
	.op5060 { opacity:0.5;}
</style>
<path class="st060" d="M19,12H3c-0.5,0-1,0.5-1,1v18c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V13C20,12.5,19.5,12,19,12z M12,26h-2v-5.2&#xD;&#xA;	H8v-1.2c0.3,0,0.6,0,0.8-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8H12V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5060" xmlns="http://www.w3.org/2000/svg"><path class="st060" d="M31,0H15c-0.5,0-1,0.5-1,1v3h-3c-0.5,0-1,0.5-1,1v3H7C6.5,8,6,8.5,6,9v3h2v-2h14v16h-2v2h3c0.5,0,1-0.5,1-1&#xD;&#xA;	v-3h3c0.5,0,1-0.5,1-1v-3h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M26,22h-2V9c0-0.5-0.5-1-1-1H12V6h14V22z M30,18h-2V5&#xD;&#xA;	c0-0.5-0.5-1-1-1H16V2h14V18z" /></g>
</g>
<g transform="translate(170, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st06060_white { fill:#FFFFFF;}
	.op506060_white { opacity:0.5;}
</style>
<path class="st06060_white" d="M19,12H3c-0.5,0-1,0.5-1,1v18c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V13C20,12.5,19.5,12,19,12z M12,26h-2v-5.2&#xD;&#xA;	H8v-1.2c0.3,0,0.6,0,0.8-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8H12V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op506060_white" xmlns="http://www.w3.org/2000/svg"><path class="st06060_white" d="M31,0H15c-0.5,0-1,0.5-1,1v3h-3c-0.5,0-1,0.5-1,1v3H7C6.5,8,6,8.5,6,9v3h2v-2h14v16h-2v2h3c0.5,0,1-0.5,1-1&#xD;&#xA;	v-3h3c0.5,0,1-0.5,1-1v-3h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M26,22h-2V9c0-0.5-0.5-1-1-1H12V6h14V22z M30,18h-2V5&#xD;&#xA;	c0-0.5-0.5-1-1-1H16V2h14V18z" /></g>
</g>
<g transform="translate(204, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st061 { fill:#727272;}
	.op7561 { opacity:0.75;}
</style>
<g class="op7561" xmlns="http://www.w3.org/2000/svg"><path class="st061" d="M28,5v18c0,0.5-0.5,1-1,1h-5V10H10V5c0-0.5,0.5-1,1-1h16C27.5,4,28,4.5,28,5z M3,32h16c0.5,0,1-0.5,1-1V13&#xD;&#xA;	c0-0.6-0.5-1-1-1H3c-0.5,0-1,0.4-1,1v18C2,31.5,2.5,32,3,32z" /></g>
<path class="st061" d="M24,9v18c0,0.5-0.5,1-1,1h-3v-2h2V10H8v2H6V9c0-0.5,0.5-1,1-1h16C23.5,8,24,8.5,24,9z M31,0H15&#xD;&#xA;	c-0.5,0-1,0.5-1,1v3h2V2h14v16h-2v2h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st06161_white { fill:#FFFFFF;}
	.op756161_white { opacity:0.75;}
</style>
<g class="op756161_white" xmlns="http://www.w3.org/2000/svg"><path class="st06161_white" d="M28,5v18c0,0.5-0.5,1-1,1h-5V10H10V5c0-0.5,0.5-1,1-1h16C27.5,4,28,4.5,28,5z M3,32h16c0.5,0,1-0.5,1-1V13&#xD;&#xA;	c0-0.6-0.5-1-1-1H3c-0.5,0-1,0.4-1,1v18C2,31.5,2.5,32,3,32z" /></g>
<path class="st06161_white" d="M24,9v18c0,0.5-0.5,1-1,1h-3v-2h2V10H8v2H6V9c0-0.5,0.5-1,1-1h16C23.5,8,24,8.5,24,9z M31,0H15&#xD;&#xA;	c-0.5,0-1,0.5-1,1v3h2V2h14v16h-2v2h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st062 { fill:#727272;}
	.op7562 { opacity:0.75;}
</style>
<path class="st062" d="M6,6h14v2H6V6z M6,12h14v-2H6V12z M14.9,24.6l0.6-0.6H2V2h22v13.5l0.6-0.6c0.4-0.4,0.9-0.7,1.4-0.8V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h13.1C14.3,25.5,14.5,25,14.9,24.6z M6,16h14v-2H6V16z M6,20h14v-2H6V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7562" xmlns="http://www.w3.org/2000/svg"><path class="st062" d="M19,23.3L16.3,26c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z" /></g>
<path class="st062" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st06262_white { fill:#FFFFFF;}
	.op756262_white { opacity:0.75;}
</style>
<path class="st06262_white" d="M6,6h14v2H6V6z M6,12h14v-2H6V12z M14.9,24.6l0.6-0.6H2V2h22v13.5l0.6-0.6c0.4-0.4,0.9-0.7,1.4-0.8V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h13.1C14.3,25.5,14.5,25,14.9,24.6z M6,16h14v-2H6V16z M6,20h14v-2H6V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op756262_white" xmlns="http://www.w3.org/2000/svg"><path class="st06262_white" d="M19,23.3L16.3,26c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z" /></g>
<path class="st06262_white" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7563 { opacity:0.75;}
	.st063 { fill:#727272;}
</style>
<g class="op7563" xmlns="http://www.w3.org/2000/svg"><path class="st063" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
<path class="st063" d="M10,22h10v0.2c-0.9,0.3-1.5,1-1.8,1.8H10V22z M27,4H12.3c0,0,0,0,0,0c0,0.1,0.1,0.2,0.1,0.4&#xD;&#xA;	C12.6,5,12.5,5.6,12.3,6H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,18v2h10.1c0.2-0.7,0.5-1.4,0.9-2h-5H10z M6,18H4v11&#xD;&#xA;	c0,0.6,0.4,1,1,1h13v-2H6V18z M16,15.1V16h6v-2h-6.1C16,14.3,16,14.7,16,15.1z M15.4,12H22v-2h-8.6C14.1,10.4,14.9,11,15.4,12z" xmlns="http://www.w3.org/2000/svg" />
<path class="st063" d="M3.7,5.7C3.6,5.4,3.4,5.2,3.5,4.8c0-0.1,0.2-0.2,0.3-0.2C3.1,2.4,3.8,0.2,6.3,0C9-0.2,9.5,1.8,9.5,1.8&#xD;&#xA;	s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3&#xD;&#xA;	c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C3.7,6.7,3.9,6,3.7,5.7z M9.3,9.9c-0.5,0.9-1.2,2.5-2.3,2.5c-1.1,0-1.8-1.6-2.3-2.6&#xD;&#xA;	C3.4,12.1,0,10.5,0,15.1V16h14v-0.9C14,10.5,10.7,12,9.3,9.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op756363_white { opacity:0.75;}
	.st06363_white { fill:#FFFFFF;}
</style>
<g class="op756363_white" xmlns="http://www.w3.org/2000/svg"><path class="st06363_white" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
<path class="st06363_white" d="M10,22h10v0.2c-0.9,0.3-1.5,1-1.8,1.8H10V22z M27,4H12.3c0,0,0,0,0,0c0,0.1,0.1,0.2,0.1,0.4&#xD;&#xA;	C12.6,5,12.5,5.6,12.3,6H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,18v2h10.1c0.2-0.7,0.5-1.4,0.9-2h-5H10z M6,18H4v11&#xD;&#xA;	c0,0.6,0.4,1,1,1h13v-2H6V18z M16,15.1V16h6v-2h-6.1C16,14.3,16,14.7,16,15.1z M15.4,12H22v-2h-8.6C14.1,10.4,14.9,11,15.4,12z" xmlns="http://www.w3.org/2000/svg" />
<path class="st06363_white" d="M3.7,5.7C3.6,5.4,3.4,5.2,3.5,4.8c0-0.1,0.2-0.2,0.3-0.2C3.1,2.4,3.8,0.2,6.3,0C9-0.2,9.5,1.8,9.5,1.8&#xD;&#xA;	s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3&#xD;&#xA;	c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C3.7,6.7,3.9,6,3.7,5.7z M9.3,9.9c-0.5,0.9-1.2,2.5-2.3,2.5c-1.1,0-1.8-1.6-2.3-2.6&#xD;&#xA;	C3.4,12.1,0,10.5,0,15.1V16h14v-0.9C14,10.5,10.7,12,9.3,9.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st064 {fill:currentColor;}
	
	
</style>
<g id="Zoom" xmlns="http://www.w3.org/2000/svg">
	<path class="st064" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13&#xD;&#xA;		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z" />
</g>
</g>
<g transform="translate(306, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st06464_white { fill:#FFFFFF;}
	
	
</style>
<g id="Zoom" xmlns="http://www.w3.org/2000/svg">
	<path class="st06464_white" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13&#xD;&#xA;		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z" />
</g>
</g>
<g transform="translate(340, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st065 {fill:currentColor;}
	
	
</style>
<g id="Zoom" xmlns="http://www.w3.org/2000/svg">
	<path class="st065" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13&#xD;&#xA;		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z" />
</g>
</g>
<g transform="translate(340, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st06565_white { fill:#FFFFFF;}
	
	
</style>
<g id="Zoom" xmlns="http://www.w3.org/2000/svg">
	<path class="st06565_white" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13&#xD;&#xA;		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z" />
</g>
</g>
<g transform="translate(136, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st066 { fill:#727272;}
</style>
<path class="st066" d="M10.4,14.5c-0.5,0.3-0.5,0.8,0,1.1l16.8,10.3c0.5,0.3,0.9,0.1,0.9-0.5V4.6c0-0.6-0.4-0.8-0.9-0.5L10.4,14.5z&#xD;&#xA;	 M4,25V5c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v20c0,0.5-0.4,1-1,1H5C4.4,26,4,25.5,4,25z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st06666_white { fill:#FFFFFF;}
</style>
<path class="st06666_white" d="M10.4,14.5c-0.5,0.3-0.5,0.8,0,1.1l16.8,10.3c0.5,0.3,0.9,0.1,0.9-0.5V4.6c0-0.6-0.4-0.8-0.9-0.5L10.4,14.5z&#xD;&#xA;	 M4,25V5c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v20c0,0.5-0.4,1-1,1H5C4.4,26,4,25.5,4,25z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7567 { opacity:0.75;}
	.st067 { fill:#727272;}
</style>
<path class="st067" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7567" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="4" class="st067" width="6" height="6" /></g>
</g>
<g transform="translate(238, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op756767_white { opacity:0.75;}
	.st06767_white { fill:#FFFFFF;}
</style>
<path class="st06767_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op756767_white" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="4" class="st06767_white" width="6" height="6" /></g>
</g>
<g transform="translate(0, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st068 { fill:#727272;}
	.op7568 { opacity:0.75;}
</style>
<g class="op7568" xmlns="http://www.w3.org/2000/svg"><path class="st068" d="M22,21c0,0.6-0.4,1-1,1H3c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V21z" /></g>
<path class="st068" d="M29,14h-5v2h4v12H16v-4h-2v5c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st06868_white { fill:#FFFFFF;}
	.op756868_white { opacity:0.75;}
</style>
<g class="op756868_white" xmlns="http://www.w3.org/2000/svg"><path class="st06868_white" d="M22,21c0,0.6-0.4,1-1,1H3c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V21z" /></g>
<path class="st06868_white" d="M29,14h-5v2h4v12H16v-4h-2v5c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st069 { fill:#727272;}
	.st069 { fill:#727272;}
</style>
<path class="st069" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18&#xD;&#xA;	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z" xmlns="http://www.w3.org/2000/svg" />
<circle class="st069" cx="21" cy="21" r="9" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st06969_white { fill:#FFFFFF;}
	.st06969_white { fill:#FFFFFF;}
</style>
<path class="st06969_white" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18&#xD;&#xA;	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z" xmlns="http://www.w3.org/2000/svg" />
<circle class="st06969_white" cx="21" cy="21" r="9" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st070 { fill:#727272;}
	.op7570 { opacity:0.75;}
</style>
<g class="op7570" xmlns="http://www.w3.org/2000/svg"><path class="st070" d="M26,25c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V25z" /></g>
<path class="st070" d="M32,19v12c0,0.6-0.4,1-1,1H19c-0.6,0-1-0.4-1-1v-3h2v2h10V20h-2v-2h3C31.6,18,32,18.4,32,19z M1,14h3v-2H2V2&#xD;&#xA;	h10v2h2V1c0-0.6-0.4-1-1-1H1C0.4,0,0,0.4,0,1v12C0,13.6,0.4,14,1,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07070_white { fill:#FFFFFF;}
	.op757070_white { opacity:0.75;}
</style>
<g class="op757070_white" xmlns="http://www.w3.org/2000/svg"><path class="st07070_white" d="M26,25c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V25z" /></g>
<path class="st07070_white" d="M32,19v12c0,0.6-0.4,1-1,1H19c-0.6,0-1-0.4-1-1v-3h2v2h10V20h-2v-2h3C31.6,18,32,18.4,32,19z M1,14h3v-2H2V2&#xD;&#xA;	h10v2h2V1c0-0.6-0.4-1-1-1H1C0.4,0,0,0.4,0,1v12C0,13.6,0.4,14,1,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st071 { fill:#727272;}
	.st071 { fill:#727272;}
</style>
<path class="st071" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18&#xD;&#xA;	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z" xmlns="http://www.w3.org/2000/svg" />
<circle class="st071" cx="21" cy="21" r="9" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07171_white { fill:#FFFFFF;}
	.st07171_white { fill:#FFFFFF;}
</style>
<path class="st07171_white" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18&#xD;&#xA;	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z" xmlns="http://www.w3.org/2000/svg" />
<circle class="st07171_white" cx="21" cy="21" r="9" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st072 { fill:#727272;}
.op5072 { opacity:0.5;}
	.st072 {fill:#727272;}
</style>
<g class="op5072" xmlns="http://www.w3.org/2000/svg"><path class="st072" d="M16.4,6c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4s2.4-1.1,2.4-2.4C26,10.3,21.7,6,16.4,6z" /></g>
<path class="st072" d="M15,7.3l3,3L11.3,17c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,0l3,3L8.8,4.9&#xD;&#xA;	C8.3,5.4,8,6.2,8,7s0.3,1.6,0.9,2.1C9.5,9.7,10.2,10,11,10s1.6-0.3,2.1-0.9L15,7.3z M11.7,7.7l5.9-5.9c0.4-0.4,0.4-1,0-1.4l0,0&#xD;&#xA;	c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,8.1,11.3,8.1,11.7,7.7z" xmlns="http://www.w3.org/2000/svg" />
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st072" d="M20.4,24.9c0.2-0.2,0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9h-0.7v1.9h0.8C19.9,25.2,20.2,25.1,20.4,24.9z" />
	<path class="st072" d="M19.8,26.5h-1.1v0.1v2.1h1c0.7,0,1.4-0.2,1.4-1.1C21.1,27.3,21,26.5,19.8,26.5z" />
	<path class="st072" d="M12,24.1l-1.1,2.7h2C12.9,26.8,12,23.9,12,24.1z" />
	<path class="st072" d="M31,20H7c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V21C32,20.5,31.5,20,31,20z M13.9,30&#xD;&#xA;		l-0.6-1.8h-2.8L10,30H8l2.9-8H13l2.9,8H13.9z M22.2,29.3C21.6,29.8,20.9,30,20,30h-3l0-8h2.8c0.9,0,1.6,0.2,2.1,0.5&#xD;&#xA;		s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1s-0.7,0.5-1.1,0.7c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3&#xD;&#xA;		C23,28.3,22.7,28.9,22.2,29.3z M30,29.6c0,0-0.7,0.5-2.4,0.5c-1.2,0-2.2-0.4-2.9-1.1s-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1&#xD;&#xA;		s1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9&#xD;&#xA;		c0,0.8,0.2,1.4,0.7,1.8c0.5,0.4,1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5V29.6z" />
</g>
</g>
<g transform="translate(374, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07272_white { fill:#FFFFFF;}
.op507272_white { opacity:0.5;}
	.st07272_white { fill:#FFFFFF;}
</style>
<g class="op507272_white" xmlns="http://www.w3.org/2000/svg"><path class="st07272_white" d="M16.4,6c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4s2.4-1.1,2.4-2.4C26,10.3,21.7,6,16.4,6z" /></g>
<path class="st07272_white" d="M15,7.3l3,3L11.3,17c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,0l3,3L8.8,4.9&#xD;&#xA;	C8.3,5.4,8,6.2,8,7s0.3,1.6,0.9,2.1C9.5,9.7,10.2,10,11,10s1.6-0.3,2.1-0.9L15,7.3z M11.7,7.7l5.9-5.9c0.4-0.4,0.4-1,0-1.4l0,0&#xD;&#xA;	c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,8.1,11.3,8.1,11.7,7.7z" xmlns="http://www.w3.org/2000/svg" />
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st07272_white" d="M20.4,24.9c0.2-0.2,0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9h-0.7v1.9h0.8C19.9,25.2,20.2,25.1,20.4,24.9z" />
	<path class="st07272_white" d="M19.8,26.5h-1.1v0.1v2.1h1c0.7,0,1.4-0.2,1.4-1.1C21.1,27.3,21,26.5,19.8,26.5z" />
	<path class="st07272_white" d="M12,24.1l-1.1,2.7h2C12.9,26.8,12,23.9,12,24.1z" />
	<path class="st07272_white" d="M31,20H7c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V21C32,20.5,31.5,20,31,20z M13.9,30&#xD;&#xA;		l-0.6-1.8h-2.8L10,30H8l2.9-8H13l2.9,8H13.9z M22.2,29.3C21.6,29.8,20.9,30,20,30h-3l0-8h2.8c0.9,0,1.6,0.2,2.1,0.5&#xD;&#xA;		s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1s-0.7,0.5-1.1,0.7c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3&#xD;&#xA;		C23,28.3,22.7,28.9,22.2,29.3z M30,29.6c0,0-0.7,0.5-2.4,0.5c-1.2,0-2.2-0.4-2.9-1.1s-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1&#xD;&#xA;		s1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9&#xD;&#xA;		c0,0.8,0.2,1.4,0.7,1.8c0.5,0.4,1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5V29.6z" />
</g>
</g>
<g transform="translate(34, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st073 { fill:#727272;}
	.st073 { fill:#727272;}
</style>
<path class="st073" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M4,26h22v-2H4V26z M6,12H4v2h2V12z M6,8H4v2h2V8z M6,16H4v2h2V16z M4,4v2h2h18h2V4H4z M24,22h2v-2h-2V22z M24,10&#xD;&#xA;	h2V8h-2V10z M24,14h2v-2h-2V14z M24,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st073" d="M8,8v6h6V8H8z M12,12h-2v-2h2V12z M16,8v6h6V8H16z M20,12h-2v-2h2V12z M16,16v6h6v-6H16z M20,20h-2v-2h2V20z&#xD;&#xA;	 M8,16v6h6v-6H8z M12,20h-2v-2h2V20z M16,12h-2v-2h2V12z M12,14h-2v2h2V14z M20,14h-2v2h2V14z M16,18h-2v2h2V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07373_white { fill:#FFFFFF;}
	.st07373_white { fill:#FFFFFF;}
</style>
<path class="st07373_white" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M4,26h22v-2H4V26z M6,12H4v2h2V12z M6,8H4v2h2V8z M6,16H4v2h2V16z M4,4v2h2h18h2V4H4z M24,22h2v-2h-2V22z M24,10&#xD;&#xA;	h2V8h-2V10z M24,14h2v-2h-2V14z M24,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st07373_white" d="M8,8v6h6V8H8z M12,12h-2v-2h2V12z M16,8v6h6V8H16z M20,12h-2v-2h2V12z M16,16v6h6v-6H16z M20,20h-2v-2h2V20z&#xD;&#xA;	 M8,16v6h6v-6H8z M12,20h-2v-2h2V20z M16,12h-2v-2h2V12z M12,14h-2v2h2V14z M20,14h-2v2h2V14z M16,18h-2v2h2V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st074 { fill:#727272;}
	.st074 { fill:#727272;}
</style>
<polygon class="st074" points="17.2,10 19.2,8 2,8 2,22 10,22 10,20 4,20 4,10 " xmlns="http://www.w3.org/2000/svg" />
<path class="st074" d="M27,11L17,21l-4-4L23,7L27,11z M28,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L24,6L28,10z&#xD;&#xA;	 M12,18v4h4L12,18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07474_white { fill:#FFFFFF;}
	.st07474_white { fill:#FFFFFF;}
</style>
<polygon class="st07474_white" points="17.2,10 19.2,8 2,8 2,22 10,22 10,20 4,20 4,10 " xmlns="http://www.w3.org/2000/svg" />
<path class="st07474_white" d="M27,11L17,21l-4-4L23,7L27,11z M28,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L24,6L28,10z&#xD;&#xA;	 M12,18v4h4L12,18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st075 { fill:#727272;}
	.op7575 { opacity:0.75;}
</style>
<path class="st075" d="M29,14H15c-0.6,0-1,0.4-1,1v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z M28,28H16V16&#xD;&#xA;	h12V28z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7575" xmlns="http://www.w3.org/2000/svg"><path class="st075" d="M12,14c0-1.1,0.9-2,2-2h8V3c0-0.6-0.4-1-1-1H3C2.4,2,2,2.4,2,3v18c0,0.6,0.4,1,1,1h9V14z" /></g>
</g>
<g transform="translate(306, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07575_white { fill:#FFFFFF;}
	.op757575_white { opacity:0.75;}
</style>
<path class="st07575_white" d="M29,14H15c-0.6,0-1,0.4-1,1v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z M28,28H16V16&#xD;&#xA;	h12V28z" xmlns="http://www.w3.org/2000/svg" />
<g class="op757575_white" xmlns="http://www.w3.org/2000/svg"><path class="st07575_white" d="M12,14c0-1.1,0.9-2,2-2h8V3c0-0.6-0.4-1-1-1H3C2.4,2,2,2.4,2,3v18c0,0.6,0.4,1,1,1h9V14z" /></g>
</g>
<g transform="translate(340, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st076 { fill:#727272;}
	.st076 { fill:#727272;}
</style>
<path class="st076" d="M21,0H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V1C22,0.5,21.5,0,21,0z M20,20H2V2h18V20z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st076" d="M24,12.5V22c0,1.1-0.9,2-2,2h-9.5c1.2,3.5,4.6,6,8.5,6c5,0,9-4,9-9C30,17.1,27.5,13.8,24,12.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07676_white { fill:#FFFFFF;}
	.st07676_white { fill:#FFFFFF;}
</style>
<path class="st07676_white" d="M21,0H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V1C22,0.5,21.5,0,21,0z M20,20H2V2h18V20z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st07676_white" d="M24,12.5V22c0,1.1-0.9,2-2,2h-9.5c1.2,3.5,4.6,6,8.5,6c5,0,9-4,9-9C30,17.1,27.5,13.8,24,12.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st077 { fill:#727272;}
	.op7577 { opacity:0.75;}
</style>
<path class="st077" d="M13,0H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C14,0.4,13.6,0,13,0z M12,12H2V2h10V12z&#xD;&#xA;	 M31,18H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V19C32,18.4,31.6,18,31,18z M30,30H20V20h10V30z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7577" xmlns="http://www.w3.org/2000/svg"><path class="st077" d="M25,6h-9v8c0,1.1-0.9,2-2,2H6v9c0,0.6,0.4,1,1,1h9v-8c0-1.1,0.9-2,2-2h8V7C26,6.4,25.6,6,25,6z" /></g>
</g>
<g transform="translate(374, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07777_white { fill:#FFFFFF;}
	.op757777_white { opacity:0.75;}
</style>
<path class="st07777_white" d="M13,0H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C14,0.4,13.6,0,13,0z M12,12H2V2h10V12z&#xD;&#xA;	 M31,18H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V19C32,18.4,31.6,18,31,18z M30,30H20V20h10V30z" xmlns="http://www.w3.org/2000/svg" />
<g class="op757777_white" xmlns="http://www.w3.org/2000/svg"><path class="st07777_white" d="M25,6h-9v8c0,1.1-0.9,2-2,2H6v9c0,0.6,0.4,1,1,1h9v-8c0-1.1,0.9-2,2-2h8V7C26,6.4,25.6,6,25,6z" /></g>
</g>
<g transform="translate(408, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st078 { fill:#727272;}
	.st078 { fill:#727272;}
</style>
<path class="st078" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st078" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07878_white { fill:#FFFFFF;}
	.st07878_white { fill:#FFFFFF;}
</style>
<path class="st07878_white" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st07878_white" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st079 {fill:#727272;}
</style>
<path class="st079" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st07979_white { fill:#FFFFFF;}
</style>
<path class="st07979_white" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st080 {fill:#727272;}
	.st080 { fill:#727272;}
.op5080 { opacity:0.5;}
	.st080 { fill:#727272;}
.op7580 { opacity:0.75;}
</style>
<path id="layer_3_" class="st080" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5080" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st080" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op7580" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st080" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st080" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08080_white { fill:#FFFFFF;}
	.st08080_white { fill:#FFFFFF;}
.op508080_white { opacity:0.5;}
	.st08080_white { fill:#FFFFFF;}
.op758080_white { opacity:0.75;}
</style>
<path id="layer_3_" class="st08080_white" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op508080_white" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st08080_white" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op758080_white" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st08080_white" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st08080_white" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st081 {fill:#727272;}
</style>
<path class="st081" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08181_white { fill:#FFFFFF;}
</style>
<path class="st08181_white" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st082 {fill:#727272;}
</style>
<path class="st082" d="M19.7,28H24L15.3,4h-0.4H11h-0.4L2,28h4.3l2.2-6h9.1L19.7,28z M9.9,18L13,9.4l3.1,8.6H9.9z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st082" points="30,8 32,8 29,4 26,8 28,8 28,24 26,24 29,28 32,24 30,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08282_white { fill:#FFFFFF;}
</style>
<path class="st08282_white" d="M19.7,28H24L15.3,4h-0.4H11h-0.4L2,28h4.3l2.2-6h9.1L19.7,28z M9.9,18L13,9.4l3.1,8.6H9.9z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st08282_white" points="30,8 32,8 29,4 26,8 28,8 28,24 26,24 29,28 32,24 30,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st083 { fill:#727272;}
	.st083 { fill:#727272;}
</style>
<path class="st083" d="M22,28h-2.7l-1.2-4h-6.1l-1.2,4H8l5.6-16h2.8L22,28z M17.3,22l-2.1-6.6c-0.1-0.2-0.1-0.5-0.2-1h0&#xD;&#xA;	c-0.1,0.4-0.1,0.8-0.2,1L12.7,22H17.3z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st083" points="22,4 30,4 26,8 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08383_white { fill:#FFFFFF;}
	.st08383_white { fill:#FFFFFF;}
</style>
<path class="st08383_white" d="M22,28h-2.7l-1.2-4h-6.1l-1.2,4H8l5.6-16h2.8L22,28z M17.3,22l-2.1-6.6c-0.1-0.2-0.1-0.5-0.2-1h0&#xD;&#xA;	c-0.1,0.4-0.1,0.8-0.2,1L12.7,22H17.3z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st08383_white" points="22,4 30,4 26,8 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st084 { fill:#727272;}
	.st084 { fill:#727272;}
</style>
<polygon class="st084" points="22,8 30,8 26,4 " xmlns="http://www.w3.org/2000/svg" />
<path class="st084" d="M24,28h-3.9l-1.9-5.6H9.7L7.9,28H4l8-22h4L24,28z M17.2,19.4l-3-8.8c-0.1-0.3-0.2-0.7-0.3-1.4h-0.1&#xD;&#xA;	c-0.1,0.6-0.2,1-0.3,1.4l-2.9,8.8H17.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08484_white { fill:#FFFFFF;}
	.st08484_white { fill:#FFFFFF;}
</style>
<polygon class="st08484_white" points="22,8 30,8 26,4 " xmlns="http://www.w3.org/2000/svg" />
<path class="st08484_white" d="M24,28h-3.9l-1.9-5.6H9.7L7.9,28H4l8-22h4L24,28z M17.2,19.4l-3-8.8c-0.1-0.3-0.2-0.7-0.3-1.4h-0.1&#xD;&#xA;	c-0.1,0.6-0.2,1-0.3,1.4l-2.9,8.8H17.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st085 { fill:#727272;}
	.op7585 {opacity:0.75;}
</style>
<path class="st085" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7585" xmlns="http://www.w3.org/2000/svg"><rect x="8" y="18" class="st085" width="14" height="6" /></g>
<g class="op7585" xmlns="http://www.w3.org/2000/svg">
	<path class="st085" d="M22,8H8V6h14V8z M22,10H8v2h14V10z M22,14H8v2h14V14z" />
</g>
</g>
<g transform="translate(340, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08585_white { fill:#FFFFFF;}
	.op758585_white {opacity:0.75;}
</style>
<path class="st08585_white" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op758585_white" xmlns="http://www.w3.org/2000/svg"><rect x="8" y="18" class="st08585_white" width="14" height="6" /></g>
<g class="op758585_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st08585_white" d="M22,8H8V6h14V8z M22,10H8v2h14V10z M22,14H8v2h14V14z" />
</g>
</g>
<g transform="translate(68, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st086 { fill:#727272;}
	
	
	
	
</style>
<g id="FullScreen" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st086" points="2,12 6,12 6,6 12,6 12,2 2,2 	" />
	<polygon class="st086" points="6,20 2,20 2,30 12,30 12,26 6,26 	" />
	<polygon class="st086" points="20,2 20,6 26,6 26,12 30,12 30,2 	" />
	<polygon class="st086" points="26,26 20,26 20,30 30,30 30,20 26,20 	" />
</g>
</g>
<g transform="translate(68, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st08686_white { fill:#FFFFFF;}
	
	
	
	
</style>
<g id="FullScreen" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st08686_white" points="2,12 6,12 6,6 12,6 12,2 2,2 	" />
	<polygon class="st08686_white" points="6,20 2,20 2,30 12,30 12,26 6,26 	" />
	<polygon class="st08686_white" points="20,2 20,6 26,6 26,12 30,12 30,2 	" />
	<polygon class="st08686_white" points="26,26 20,26 20,30 30,30 30,20 26,20 	" />
</g>
</g>
<g transform="translate(102, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st087 { fill:#727272;}
	.op5087 {opacity:0.5;}
</style>
<g class="op5087" xmlns="http://www.w3.org/2000/svg">
	<path class="st087" d="M28,10H10V4h18V10z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z" />
</g>
<rect x="10" y="24" class="st087" width="18" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op5087" xmlns="http://www.w3.org/2000/svg"><path class="st087" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z" /></g>
</g>
<g transform="translate(102, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08787_white { fill:#FFFFFF;}
	.op508787_white {opacity:0.5;}
</style>
<g class="op508787_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st08787_white" d="M28,10H10V4h18V10z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z" />
</g>
<rect x="10" y="24" class="st08787_white" width="18" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op508787_white" xmlns="http://www.w3.org/2000/svg"><path class="st08787_white" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z" /></g>
</g>
<g transform="translate(204, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st088 { fill:#727272;}
	.op5088 {opacity:0.5;}
</style>
<g class="op5088" xmlns="http://www.w3.org/2000/svg">
	<path class="st088" d="M28,30H10v-6h18V30z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z" />
</g>
<rect x="10" y="4" class="st088" width="18" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op5088" xmlns="http://www.w3.org/2000/svg"><path class="st088" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z" /></g>
</g>
<g transform="translate(204, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08888_white { fill:#FFFFFF;}
	.op508888_white {opacity:0.5;}
</style>
<g class="op508888_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st08888_white" d="M28,30H10v-6h18V30z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z" />
</g>
<rect x="10" y="4" class="st08888_white" width="18" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op508888_white" xmlns="http://www.w3.org/2000/svg"><path class="st08888_white" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z" /></g>
</g>
<g transform="translate(136, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st089 { fill:#727272;}
	.op7589 {opacity:0.75;}
</style>
<g class="op7589" xmlns="http://www.w3.org/2000/svg">
	<path class="st089" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z" />
</g>
<g class="op7589" xmlns="http://www.w3.org/2000/svg"><rect x="10" y="4" class="st089" width="18" height="6" /></g>
<path class="st089" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st089" points="24,20 24,32 30,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st08989_white { fill:#FFFFFF;}
	.op758989_white {opacity:0.75;}
</style>
<g class="op758989_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st08989_white" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z" />
</g>
<g class="op758989_white" xmlns="http://www.w3.org/2000/svg"><rect x="10" y="4" class="st08989_white" width="18" height="6" /></g>
<path class="st08989_white" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st08989_white" points="24,20 24,32 30,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st090 { fill:#727272;}
	.op7590 {opacity:0.75;}
</style>
<g class="op7590" xmlns="http://www.w3.org/2000/svg">
	<path class="st090" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z" />
</g>
<g class="op7590" xmlns="http://www.w3.org/2000/svg"><rect x="10" y="4" class="st090" width="18" height="6" /></g>
<path class="st090" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st090" points="30,20 30,32 24,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st09090_white { fill:#FFFFFF;}
	.op759090_white {opacity:0.75;}
</style>
<g class="op759090_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st09090_white" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z" />
</g>
<g class="op759090_white" xmlns="http://www.w3.org/2000/svg"><rect x="10" y="4" class="st09090_white" width="18" height="6" /></g>
<path class="st09090_white" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st09090_white" points="30,20 30,32 24,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st091 { fill:#727272;}
	.op7591 {opacity:0.75;}
</style>
<path class="st091" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z" xmlns="http://www.w3.org/2000/svg" />
<rect x="8" y="6" class="st091" width="14" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op7591" xmlns="http://www.w3.org/2000/svg">
	<path class="st091" d="M22,16H8v-2h14V16z M22,18H8v2h14V18z M22,22H8v2h14V22z" />
</g>
</g>
<g transform="translate(238, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st09191_white { fill:#FFFFFF;}
	.op759191_white {opacity:0.75;}
</style>
<path class="st09191_white" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z" xmlns="http://www.w3.org/2000/svg" />
<rect x="8" y="6" class="st09191_white" width="14" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op759191_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st09191_white" d="M22,16H8v-2h14V16z M22,18H8v2h14V18z M22,22H8v2h14V22z" />
</g>
</g>
<g transform="translate(204, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7592 { opacity:0.75;}
	.st092 { fill:#727272;}
</style>
<g id="Highlight" xmlns="http://www.w3.org/2000/svg">
	<path class="st092" d="M0.8,5.4c0.3-0.4,0.7-0.8,1.1-1C2.3,4.1,2.8,4,3.4,3.8C4,3.7,4.5,3.6,5.1,3.6c0.5,0,1,0,1.6,0.1&#xD;&#xA;		c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.7,0.5,1,0.9s0.4,0.9,0.4,1.5v5.3c0,0.5,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9H7.1&#xD;&#xA;		C7,13.9,7,13.7,6.9,13.5c0-0.2-0.1-0.3-0.1-0.5c-0.4,0.5-1,0.8-1.6,1S4,14.3,3.4,14.3c-0.5,0-0.9-0.1-1.4-0.2&#xD;&#xA;		c-0.3-0.1-0.7-0.3-1-0.6S0.4,13,0.3,12.6C0.1,12.2,0,11.8,0,11.2s0.1-1,0.3-1.4s0.5-0.7,0.8-0.9s0.7-0.4,1.1-0.5S3,8.2,3.4,8.2&#xD;&#xA;		C3.9,8.1,4.3,8.1,4.7,8c0.4,0,0.8-0.1,1.1-0.2c0.3-0.1,0.6-0.2,0.7-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3,0-0.5-0.1-0.7&#xD;&#xA;		C6.5,5.9,6.4,5.8,6.2,5.7C6,5.6,5.9,5.5,5.6,5.5c-0.2,0-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.4C3.3,6,3.2,6.4,3.1,7H0.3&#xD;&#xA;		C0.4,6.3,0.5,5.8,0.8,5.4z M6.3,9.3C6.1,9.4,5.9,9.4,5.7,9.4c-0.2,0-0.4,0.1-0.6,0.1S4.7,9.6,4.4,9.6C4.2,9.7,4,9.7,3.8,9.8&#xD;&#xA;		C3.6,9.9,3.4,10,3.3,10.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0,0.5,0.1,0.6C3,11.9,3.1,12,3.3,12.1&#xD;&#xA;		c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,1-0.1,1.3-0.3c0.3-0.2,0.5-0.4,0.7-0.7c0.1-0.3,0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6&#xD;&#xA;		V9C6.6,9.2,6.5,9.2,6.3,9.3z M14.5,0v5.1l0,0c0.3-0.5,0.8-0.9,1.4-1.1c0.6-0.2,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3s0.9,0.5,1.3,1&#xD;&#xA;		c0.4,0.4,0.7,1,1,1.7c0.2,0.7,0.4,1.5,0.4,2.4c0,0.9-0.1,1.7-0.4,2.4c-0.2,0.7-0.6,1.2-1,1.7c-0.4,0.4-0.8,0.8-1.3,1&#xD;&#xA;		s-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1.2l0,0V14h-2.6V0H14.5z M19,7.7c-0.1-0.4-0.2-0.7-0.4-1&#xD;&#xA;		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.7-0.3-1.1-0.3S16,5.8,15.7,6c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1&#xD;&#xA;		c-0.1,0.4-0.1,0.8-0.1,1.2s0,0.8,0.1,1.2s0.2,0.7,0.4,1s0.4,0.5,0.7,0.7s0.7,0.3,1.1,0.3s0.8-0.1,1.1-0.3c0.3-0.2,0.5-0.4,0.7-0.7&#xD;&#xA;		s0.3-0.6,0.4-1s0.1-0.8,0.1-1.2S19.1,8.1,19,7.7z" />
	<path class="st092" d="M29,15l-8,8l-4-4l8-8L29,15z M30,14l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,8.3c-0.4-0.4-1-0.4-1.3,0L26,10L30,14z&#xD;&#xA;		 M16,20v4h4L16,20z" />
	<g class="op7592"><rect y="26" class="st092" width="32" height="6" /></g>
</g>
</g>
<g transform="translate(204, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op759292_white { opacity:0.75;}
	.st09292_white { fill:#FFFFFF;}
</style>
<g id="Highlight" xmlns="http://www.w3.org/2000/svg">
	<path class="st09292_white" d="M0.8,5.4c0.3-0.4,0.7-0.8,1.1-1C2.3,4.1,2.8,4,3.4,3.8C4,3.7,4.5,3.6,5.1,3.6c0.5,0,1,0,1.6,0.1&#xD;&#xA;		c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.7,0.5,1,0.9s0.4,0.9,0.4,1.5v5.3c0,0.5,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9H7.1&#xD;&#xA;		C7,13.9,7,13.7,6.9,13.5c0-0.2-0.1-0.3-0.1-0.5c-0.4,0.5-1,0.8-1.6,1S4,14.3,3.4,14.3c-0.5,0-0.9-0.1-1.4-0.2&#xD;&#xA;		c-0.3-0.1-0.7-0.3-1-0.6S0.4,13,0.3,12.6C0.1,12.2,0,11.8,0,11.2s0.1-1,0.3-1.4s0.5-0.7,0.8-0.9s0.7-0.4,1.1-0.5S3,8.2,3.4,8.2&#xD;&#xA;		C3.9,8.1,4.3,8.1,4.7,8c0.4,0,0.8-0.1,1.1-0.2c0.3-0.1,0.6-0.2,0.7-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3,0-0.5-0.1-0.7&#xD;&#xA;		C6.5,5.9,6.4,5.8,6.2,5.7C6,5.6,5.9,5.5,5.6,5.5c-0.2,0-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.4C3.3,6,3.2,6.4,3.1,7H0.3&#xD;&#xA;		C0.4,6.3,0.5,5.8,0.8,5.4z M6.3,9.3C6.1,9.4,5.9,9.4,5.7,9.4c-0.2,0-0.4,0.1-0.6,0.1S4.7,9.6,4.4,9.6C4.2,9.7,4,9.7,3.8,9.8&#xD;&#xA;		C3.6,9.9,3.4,10,3.3,10.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0,0.5,0.1,0.6C3,11.9,3.1,12,3.3,12.1&#xD;&#xA;		c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,1-0.1,1.3-0.3c0.3-0.2,0.5-0.4,0.7-0.7c0.1-0.3,0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6&#xD;&#xA;		V9C6.6,9.2,6.5,9.2,6.3,9.3z M14.5,0v5.1l0,0c0.3-0.5,0.8-0.9,1.4-1.1c0.6-0.2,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3s0.9,0.5,1.3,1&#xD;&#xA;		c0.4,0.4,0.7,1,1,1.7c0.2,0.7,0.4,1.5,0.4,2.4c0,0.9-0.1,1.7-0.4,2.4c-0.2,0.7-0.6,1.2-1,1.7c-0.4,0.4-0.8,0.8-1.3,1&#xD;&#xA;		s-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1.2l0,0V14h-2.6V0H14.5z M19,7.7c-0.1-0.4-0.2-0.7-0.4-1&#xD;&#xA;		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.7-0.3-1.1-0.3S16,5.8,15.7,6c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1&#xD;&#xA;		c-0.1,0.4-0.1,0.8-0.1,1.2s0,0.8,0.1,1.2s0.2,0.7,0.4,1s0.4,0.5,0.7,0.7s0.7,0.3,1.1,0.3s0.8-0.1,1.1-0.3c0.3-0.2,0.5-0.4,0.7-0.7&#xD;&#xA;		s0.3-0.6,0.4-1s0.1-0.8,0.1-1.2S19.1,8.1,19,7.7z" />
	<path class="st09292_white" d="M29,15l-8,8l-4-4l8-8L29,15z M30,14l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,8.3c-0.4-0.4-1-0.4-1.3,0L26,10L30,14z&#xD;&#xA;		 M16,20v4h4L16,20z" />
	<g class="op759292_white"><rect y="26" class="st09292_white" width="32" height="6" /></g>
</g>
</g>
<g transform="translate(408, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st093 {fill:#727272;}
	
	
	
	
</style>
<g id="Hyperlink" xmlns="http://www.w3.org/2000/svg">
	<path class="st093" d="M10.3,21.7c0.4,0.4,1,0.4,1.4,0l10-10c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-10,10&#xD;&#xA;		C9.9,20.7,9.9,21.3,10.3,21.7z" />
	<path class="st093" d="M15.4,19.5c0.5,1.1,0.3,2.5-0.6,3.4l-4.2,4.2c-1.2,1.2-3.1,1.2-4.2,0l-1.4-1.4c-1.2-1.2-1.2-3.1,0-4.2&#xD;&#xA;		l4.2-4.2c0.9-0.9,2.3-1.1,3.4-0.6l1.5-1.5c-1.9-1.3-4.6-1.1-6.3,0.6l-4.2,4.2c-2,2-2,5.1,0,7.1l1.4,1.4c2,2,5.1,2,7.1,0l4.2-4.2&#xD;&#xA;		c1.7-1.7,1.9-4.3,0.6-6.3L15.4,19.5z" />
	<path class="st093" d="M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4&#xD;&#xA;		l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6&#xD;&#xA;		l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z" />
</g>
</g>
<g transform="translate(408, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st09393_white { fill:#FFFFFF;}
	
	
	
	
</style>
<g id="Hyperlink" xmlns="http://www.w3.org/2000/svg">
	<path class="st09393_white" d="M10.3,21.7c0.4,0.4,1,0.4,1.4,0l10-10c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-10,10&#xD;&#xA;		C9.9,20.7,9.9,21.3,10.3,21.7z" />
	<path class="st09393_white" d="M15.4,19.5c0.5,1.1,0.3,2.5-0.6,3.4l-4.2,4.2c-1.2,1.2-3.1,1.2-4.2,0l-1.4-1.4c-1.2-1.2-1.2-3.1,0-4.2&#xD;&#xA;		l4.2-4.2c0.9-0.9,2.3-1.1,3.4-0.6l1.5-1.5c-1.9-1.3-4.6-1.1-6.3,0.6l-4.2,4.2c-2,2-2,5.1,0,7.1l1.4,1.4c2,2,5.1,2,7.1,0l4.2-4.2&#xD;&#xA;		c1.7-1.7,1.9-4.3,0.6-6.3L15.4,19.5z" />
	<path class="st09393_white" d="M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4&#xD;&#xA;		l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6&#xD;&#xA;		l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z" />
</g>
</g>
<g transform="translate(102, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st094 {fill:#727272;}
	.op5094 {opacity:0.5;}
</style>
<circle class="st094" cx="21" cy="11" r="3" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st094" points="20,24 10,14 6,18 6,24 " xmlns="http://www.w3.org/2000/svg" />
<g class="op5094" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st094" points="22,24 18,20 20,18 26,24 	" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect x="14" y="28" class="st094" width="2" height="2" />
	<rect x="22" y="28" class="st094" width="2" height="2" />
	<rect x="18" y="28" class="st094" width="2" height="2" />
	<rect x="6" y="28" class="st094" width="2" height="2" />
	<rect x="10" y="28" class="st094" width="2" height="2" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect x="18" y="4" class="st094" width="2" height="2" />
	<rect x="10" y="4" class="st094" width="2" height="2" />
	<rect x="14" y="4" class="st094" width="2" height="2" />
	<rect x="22" y="4" class="st094" width="2" height="2" />
	<rect x="6" y="4" class="st094" width="2" height="2" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect y="14" class="st094" width="2" height="2" />
	<rect y="18" class="st094" width="2" height="2" />
	<rect y="22" class="st094" width="2" height="2" />
	<rect y="10" class="st094" width="2" height="2" />
	<path class="st094" d="M1,4C0.5,4,0,4.5,0,5v3h2V6h2V4H1z" />
	<path class="st094" d="M2,26H0v3c0,0.5,0.5,1,1,1h3v-2H2V26z" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st094" d="M28,8h2V5c0-0.5-0.5-1-1-1h-3v2h2V8z" />
	<rect x="28" y="18" class="st094" width="2" height="2" />
	<rect x="28" y="22" class="st094" width="2" height="2" />
	<path class="st094" d="M28,26v2h-2v2h3c0.5,0,1-0.5,1-1v-3H28z" />
	<rect x="28" y="14" class="st094" width="2" height="2" />
	<rect x="28" y="10" class="st094" width="2" height="2" />
</g>
</g>
<g transform="translate(102, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st09494_white { fill:#FFFFFF;}
	.op509494_white {opacity:0.5;}
</style>
<circle class="st09494_white" cx="21" cy="11" r="3" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st09494_white" points="20,24 10,14 6,18 6,24 " xmlns="http://www.w3.org/2000/svg" />
<g class="op509494_white" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st09494_white" points="22,24 18,20 20,18 26,24 	" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect x="14" y="28" class="st09494_white" width="2" height="2" />
	<rect x="22" y="28" class="st09494_white" width="2" height="2" />
	<rect x="18" y="28" class="st09494_white" width="2" height="2" />
	<rect x="6" y="28" class="st09494_white" width="2" height="2" />
	<rect x="10" y="28" class="st09494_white" width="2" height="2" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect x="18" y="4" class="st09494_white" width="2" height="2" />
	<rect x="10" y="4" class="st09494_white" width="2" height="2" />
	<rect x="14" y="4" class="st09494_white" width="2" height="2" />
	<rect x="22" y="4" class="st09494_white" width="2" height="2" />
	<rect x="6" y="4" class="st09494_white" width="2" height="2" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect y="14" class="st09494_white" width="2" height="2" />
	<rect y="18" class="st09494_white" width="2" height="2" />
	<rect y="22" class="st09494_white" width="2" height="2" />
	<rect y="10" class="st09494_white" width="2" height="2" />
	<path class="st09494_white" d="M1,4C0.5,4,0,4.5,0,5v3h2V6h2V4H1z" />
	<path class="st09494_white" d="M2,26H0v3c0,0.5,0.5,1,1,1h3v-2H2V26z" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st09494_white" d="M28,8h2V5c0-0.5-0.5-1-1-1h-3v2h2V8z" />
	<rect x="28" y="18" class="st09494_white" width="2" height="2" />
	<rect x="28" y="22" class="st09494_white" width="2" height="2" />
	<path class="st09494_white" d="M28,26v2h-2v2h3c0.5,0,1-0.5,1-1v-3H28z" />
	<rect x="28" y="14" class="st09494_white" width="2" height="2" />
	<rect x="28" y="10" class="st09494_white" width="2" height="2" />
</g>
</g>
<g transform="translate(0, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st095 {fill:#727272;}
</style>
<g id="IndentDecrease" xmlns="http://www.w3.org/2000/svg">
	<path class="st095" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z" />
	<path class="st095" d="M14,16h-4v3l-6-4l6-4v3h4V16z" />
</g>
</g>
<g transform="translate(0, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st09595_white { fill:#FFFFFF;}
</style>
<g id="IndentDecrease" xmlns="http://www.w3.org/2000/svg">
	<path class="st09595_white" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z" />
	<path class="st09595_white" d="M14,16h-4v3l-6-4l6-4v3h4V16z" />
</g>
</g>
<g transform="translate(374, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st096 { fill:#727272;}
	.st096 { fill:#727272;}
</style>
<path class="st096" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z&#xD;&#xA;	" xmlns="http://www.w3.org/2000/svg" />
<path class="st096" d="M4,14h4v-3l6,4l-6,4v-3H4V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st09696_white { fill:#FFFFFF;}
	.st09696_white { fill:#FFFFFF;}
</style>
<path class="st09696_white" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z&#xD;&#xA;	" xmlns="http://www.w3.org/2000/svg" />
<path class="st09696_white" d="M4,14h4v-3l6,4l-6,4v-3H4V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st097 { fill:#727272;}
	.op5097 {opacity:0.5;}
</style>
<polygon class="st097" points="10,23 4,19 4,22 0,22 0,24 4,24 4,27 " xmlns="http://www.w3.org/2000/svg" />
<g class="op5097" xmlns="http://www.w3.org/2000/svg">
	<rect x="12" y="8" class="st097" width="14" height="12" />
</g>
<path class="st097" d="M31,0H7C6.4,0,6,0.4,6,1v17l2,1.3V2h22v28H8v-3.3L6,28v3c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C32,0.4,31.6,0,31,0z M26,24H12v-2h14V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st09797_white { fill:#FFFFFF;}
	.op509797_white {opacity:0.5;}
</style>
<polygon class="st09797_white" points="10,23 4,19 4,22 0,22 0,24 4,24 4,27 " xmlns="http://www.w3.org/2000/svg" />
<g class="op509797_white" xmlns="http://www.w3.org/2000/svg">
	<rect x="12" y="8" class="st09797_white" width="14" height="12" />
</g>
<path class="st09797_white" d="M31,0H7C6.4,0,6,0.4,6,1v17l2,1.3V2h22v28H8v-3.3L6,28v3c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C32,0.4,31.6,0,31,0z M26,24H12v-2h14V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st098 { fill:#727272;}
</style>
<path class="st098" d="M29,0H5C4.4,0,4,0.4,4,1v12.6l2,1.3V2h22v26H6v-2.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C30,0.4,29.6,0,29,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st098" d="M16,8h-6V6h6V8z M16,10h-6v2h6V10z M16,14h-6v2h6V14z M4,24l6-4l-6-4V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st098" d="M24,6h-6v2h6V6z M24,10h-6v2h6V10z M24,14h-6v2h6V14z M24,18h-6v2h6V18z M24,22h-6v2h6V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st09898_white { fill:#FFFFFF;}
</style>
<path class="st09898_white" d="M29,0H5C4.4,0,4,0.4,4,1v12.6l2,1.3V2h22v26H6v-2.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C30,0.4,29.6,0,29,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st09898_white" d="M16,8h-6V6h6V8z M16,10h-6v2h6V10z M16,14h-6v2h6V14z M4,24l6-4l-6-4V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st09898_white" d="M24,6h-6v2h6V6z M24,10h-6v2h6V10z M24,14h-6v2h6V14z M24,18h-6v2h6V18z M24,22h-6v2h6V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7599 { opacity:0.75;}
	.st099 { fill:#727272;}
</style>
<g id="InsertField" xmlns="http://www.w3.org/2000/svg">
	<g class="op7599"><path class="st099" d="M26,24H14v-2h12V24z M29,4h-5v2h4v22H12v-5.2l-2,1.3V29c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V5&#xD;&#xA;		C30,4.5,29.5,4,29,4z M26,14h-2H14v2h12V14z" /></g>
	<path class="st099" d="M8,18.1H6v-4H4v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V18.1z" />
	<g class="op7599"><path class="st099" d="M22,11V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v10c0,0.5,0.5,1,1,1h20C21.5,12,22,11.5,22,11z M16,18h10v2H16&#xD;&#xA;		V18z" /></g>
</g>
</g>
<g transform="translate(34, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op759999_white { opacity:0.75;}
	.st09999_white { fill:#FFFFFF;}
</style>
<g id="InsertField" xmlns="http://www.w3.org/2000/svg">
	<g class="op759999_white"><path class="st09999_white" d="M26,24H14v-2h12V24z M29,4h-5v2h4v22H12v-5.2l-2,1.3V29c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V5&#xD;&#xA;		C30,4.5,29.5,4,29,4z M26,14h-2H14v2h12V14z" /></g>
	<path class="st09999_white" d="M8,18.1H6v-4H4v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V18.1z" />
	<g class="op759999_white"><path class="st09999_white" d="M22,11V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v10c0,0.5,0.5,1,1,1h20C21.5,12,22,11.5,22,11z M16,18h10v2H16&#xD;&#xA;		V18z" /></g>
</g>
</g>
<g transform="translate(136, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0100 { fill:#727272;}
</style>
<path class="st0100" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9&#xD;&#xA;	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5&#xD;&#xA;	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1&#xD;&#xA;	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3&#xD;&#xA;	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2&#xD;&#xA;	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5&#xD;&#xA;	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3&#xD;&#xA;	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3&#xD;&#xA;	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1&#xD;&#xA;	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28&#xD;&#xA;	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5&#xD;&#xA;	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8&#xD;&#xA;	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0100100_white { fill:#FFFFFF;}
</style>
<path class="st0100100_white" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9&#xD;&#xA;	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5&#xD;&#xA;	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1&#xD;&#xA;	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3&#xD;&#xA;	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2&#xD;&#xA;	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5&#xD;&#xA;	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3&#xD;&#xA;	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3&#xD;&#xA;	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1&#xD;&#xA;	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28&#xD;&#xA;	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5&#xD;&#xA;	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8&#xD;&#xA;	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0101 { fill:#727272;}
	.op50101 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0101" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0101" cx="21" cy="11" r="3" />
	<polygon class="st0101" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50101">
		<polygon class="st0101" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(272, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0101101_white { fill:#FFFFFF;}
	.op50101101_white {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0101101_white" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0101101_white" cx="21" cy="11" r="3" />
	<polygon class="st0101101_white" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50101101_white">
		<polygon class="st0101101_white" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(272, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0102 { fill:#727272;}
	.op50102 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0102" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0102" cx="21" cy="11" r="3" />
	<polygon class="st0102" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50102">
		<polygon class="st0102" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(272, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0102102_white { fill:#FFFFFF;}
	.op50102102_white {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0102102_white" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0102102_white" cx="21" cy="11" r="3" />
	<polygon class="st0102102_white" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50102102_white">
		<polygon class="st0102102_white" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(170, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0103 { fill:#727272;}
	.op50103 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0103" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0103" cx="21" cy="11" r="3" />
	<polygon class="st0103" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50103">
		<polygon class="st0103" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(170, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0103103_white { fill:#FFFFFF;}
	.op50103103_white {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0103103_white" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0103103_white" cx="21" cy="11" r="3" />
	<polygon class="st0103103_white" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50103103_white">
		<polygon class="st0103103_white" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(170, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0104 { fill:#727272;}
	.st0104 { fill:#727272;}
</style>
<polyline class="st0104" points="0,20 6,16 0,12 " xmlns="http://www.w3.org/2000/svg" />
<path class="st0104" d="M8,30V19c0-0.6,0.4-1,1-1h14l7,7v5h-2v-4h-5c-0.6,0-1-0.4-1-1v-5H10v10H8z M28,2v10H10V2H8v11&#xD;&#xA;	c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0104104_white { fill:#FFFFFF;}
	.st0104104_white { fill:#FFFFFF;}
</style>
<polyline class="st0104104_white" points="0,20 6,16 0,12 " xmlns="http://www.w3.org/2000/svg" />
<path class="st0104104_white" d="M8,30V19c0-0.6,0.4-1,1-1h14l7,7v5h-2v-4h-5c-0.6,0-1-0.4-1-1v-5H10v10H8z M28,2v10H10V2H8v11&#xD;&#xA;	c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0105 { fill:#727272;}
	.st0105 { fill:#727272;}
</style>
<path class="st0105" d="M27,6h-3V3c0-0.5-0.5-1-1-1H3C2.5,2,2,2.5,2,3v22c0,0.5,0.5,1,1,1h3v3c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V7&#xD;&#xA;	C28,6.5,27.5,6,27,6z M6,7v17H4V4h18v2H7C6.5,6,6,6.5,6,7z M26,28H8V8h18V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0105" d="M22,15.3l-0.3,1.6H20l-0.5,2.3h1.8L21,20.8h-1.7L18.5,24h-1.8l0.6-3.2h-2L14.8,24H13l0.6-3.2H12l0.3-1.6H14&#xD;&#xA;	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H21l-0.7,3.3H22z M18.3,16.9h-2l-0.5,2.3h2L18.3,16.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0105105_white { fill:#FFFFFF;}
	.st0105105_white { fill:#FFFFFF;}
</style>
<path class="st0105105_white" d="M27,6h-3V3c0-0.5-0.5-1-1-1H3C2.5,2,2,2.5,2,3v22c0,0.5,0.5,1,1,1h3v3c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V7&#xD;&#xA;	C28,6.5,27.5,6,27,6z M6,7v17H4V4h18v2H7C6.5,6,6,6.5,6,7z M26,28H8V8h18V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0105105_white" d="M22,15.3l-0.3,1.6H20l-0.5,2.3h1.8L21,20.8h-1.7L18.5,24h-1.8l0.6-3.2h-2L14.8,24H13l0.6-3.2H12l0.3-1.6H14&#xD;&#xA;	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H21l-0.7,3.3H22z M18.3,16.9h-2l-0.5,2.3h2L18.3,16.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0106 { fill:#727272;}
	.st0106 { fill:#727272;}
</style>
<path class="st0106" d="M25,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,28H6V4h18V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0106" d="M20,13.3l-0.3,1.6H18l-0.5,2.3h1.8L19,18.8h-1.7L16.5,22h-1.8l0.6-3.2h-2L12.8,22H11l0.6-3.2H10l0.3-1.6H12&#xD;&#xA;	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H19l-0.7,3.3H20z M16.3,14.9h-2l-0.5,2.3h2L16.3,14.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0106106_white { fill:#FFFFFF;}
	.st0106106_white { fill:#FFFFFF;}
</style>
<path class="st0106106_white" d="M25,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,28H6V4h18V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0106106_white" d="M20,13.3l-0.3,1.6H18l-0.5,2.3h1.8L19,18.8h-1.7L16.5,22h-1.8l0.6-3.2h-2L12.8,22H11l0.6-3.2H10l0.3-1.6H12&#xD;&#xA;	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H19l-0.7,3.3H20z M16.3,14.9h-2l-0.5,2.3h2L16.3,14.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0107 { fill:#727272;}
</style>
<path class="st0107" d="M29,0H5C4.4,0,4,0.4,4,1v10.6l2,1.3V2h22v26H6v-4.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C30,0.4,29.6,0,29,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0107" d="M24,8H12V6h12V8z M24,10H12v2h12V10z M24,14H12v2h12V14z M4,22l6-4l-6-4V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0107" d="M24,18H12v2h12V18z M24,22H12v2h12V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0107107_white { fill:#FFFFFF;}
</style>
<path class="st0107107_white" d="M29,0H5C4.4,0,4,0.4,4,1v10.6l2,1.3V2h22v26H6v-4.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C30,0.4,29.6,0,29,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0107107_white" d="M24,8H12V6h12V8z M24,10H12v2h12V10z M24,14H12v2h12V14z M4,22l6-4l-6-4V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0107107_white" d="M24,18H12v2h12V18z M24,22H12v2h12V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50108 { opacity:0.5;}
	.st0108 { fill:#727272;}
</style>
<g class="op50108" xmlns="http://www.w3.org/2000/svg"><path class="st0108" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" /></g>
<path class="st0108" d="M0,12l6,4l-6,4 M22,10V8.4h-3.4C18.7,8.2,18.9,8.1,19,8c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8V5.2c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C18.3,6.6,18,6.8,17.7,7c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V10H22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0108" d="M18,30v-2h-3v-1.7l3.4-4.3H20l0,4.3h1V28h-1l0,2H18z M18,26.3v-1.5l-1.3,1.5H18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50108108_white { opacity:0.5;}
	.st0108108_white { fill:#FFFFFF;}
</style>
<g class="op50108108_white" xmlns="http://www.w3.org/2000/svg"><path class="st0108108_white" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" /></g>
<path class="st0108108_white" d="M0,12l6,4l-6,4 M22,10V8.4h-3.4C18.7,8.2,18.9,8.1,19,8c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8V5.2c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C18.3,6.6,18,6.8,17.7,7c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V10H22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0108108_white" d="M18,30v-2h-3v-1.7l3.4-4.3H20l0,4.3h1V28h-1l0,2H18z M18,26.3v-1.5l-1.3,1.5H18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0109 { fill:#727272;}
</style>
<path class="st0109" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0109" d="M0,12l6,4l-6,4 M24,6H14v2h10V6z M24,4H14V2h10V4z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0109" d="M24,30H14v-2h10V30z M24,24H14v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0109109_white { fill:#FFFFFF;}
</style>
<path class="st0109109_white" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0109109_white" d="M0,12l6,4l-6,4 M24,6H14v2h10V6z M24,4H14V2h10V4z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0109109_white" d="M24,30H14v-2h10V30z M24,24H14v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50110 { opacity:0.5;}
	.st0110 { fill:#727272;}
</style>
<g class="op50110" xmlns="http://www.w3.org/2000/svg"><path class="st0110" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" /></g>
<path class="st0110" d="M20,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8c0.2-0.3,0.2-0.7,0.2-1.1c0-0.5-0.1-0.9-0.4-1.2&#xD;&#xA;	c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1c-0.2-0.3-0.4-0.5-0.6-0.7&#xD;&#xA;	c-0.2-0.2-0.5-0.3-0.8-0.4C19.5,22,19.2,22,18.9,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6c-0.2,0.2-0.4,0.5-0.6,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3c0.2,0,0.5,0.1,0.6,0.2&#xD;&#xA;	c0.2,0.1,0.3,0.3,0.3,0.6c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.1,0-0.2,0-0.3,0&#xD;&#xA;	c-0.1,0-0.4,0-0.5,0l-0.2,0v1.4h0.1c0.2,0,0.6,0,0.8,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.1,0.3,0.1,0.6&#xD;&#xA;	c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.4&#xD;&#xA;	c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H16l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9c0.3,0.2,0.6,0.4,0.9,0.6&#xD;&#xA;	c0.4,0.1,0.8,0.2,1.2,0.2C19.3,30,19.6,29.9,20,29.8z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0110" d="M0,12l6,4l-6,4 M18.4,2l0,0.1c0,0.3-0.1,0.5-0.3,0.7c-0.1,0.2-0.3,0.4-0.5,0.5c-0.2,0.1-0.4,0.2-0.7,0.3&#xD;&#xA;	c-0.2,0-0.5,0.1-0.7,0.1l-0.2,0v1.6l2,0V10h2V2H18.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50110110_white { opacity:0.5;}
	.st0110110_white { fill:#FFFFFF;}
</style>
<g class="op50110110_white" xmlns="http://www.w3.org/2000/svg"><path class="st0110110_white" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" /></g>
<path class="st0110110_white" d="M20,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8c0.2-0.3,0.2-0.7,0.2-1.1c0-0.5-0.1-0.9-0.4-1.2&#xD;&#xA;	c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1c-0.2-0.3-0.4-0.5-0.6-0.7&#xD;&#xA;	c-0.2-0.2-0.5-0.3-0.8-0.4C19.5,22,19.2,22,18.9,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6c-0.2,0.2-0.4,0.5-0.6,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3c0.2,0,0.5,0.1,0.6,0.2&#xD;&#xA;	c0.2,0.1,0.3,0.3,0.3,0.6c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.1,0-0.2,0-0.3,0&#xD;&#xA;	c-0.1,0-0.4,0-0.5,0l-0.2,0v1.4h0.1c0.2,0,0.6,0,0.8,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.1,0.3,0.1,0.6&#xD;&#xA;	c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.4&#xD;&#xA;	c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H16l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9c0.3,0.2,0.6,0.4,0.9,0.6&#xD;&#xA;	c0.4,0.1,0.8,0.2,1.2,0.2C19.3,30,19.6,29.9,20,29.8z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0110110_white" d="M0,12l6,4l-6,4 M18.4,2l0,0.1c0,0.3-0.1,0.5-0.3,0.7c-0.1,0.2-0.3,0.4-0.5,0.5c-0.2,0.1-0.4,0.2-0.7,0.3&#xD;&#xA;	c-0.2,0-0.5,0.1-0.7,0.1l-0.2,0v1.6l2,0V10h2V2H18.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0111 { fill:#727272;}
</style>
<path class="st0111" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z&#xD;&#xA;	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0111111_white { fill:#FFFFFF;}
</style>
<path class="st0111111_white" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z&#xD;&#xA;	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50112 {opacity:0.5;}
	.st0112 {fill:#727272;}
</style>
<g class="op50112" xmlns="http://www.w3.org/2000/svg">
	<path class="st0112" d="M22,12h8v6h-8V12z M12,12v6h8v-6H12z M10,18v-6H2v6H10z M22,26h8v-6h-8V26z M12,20v6h8v-6H12z M10,26v-6H2v6&#xD;&#xA;		H10z" />
</g>
<rect x="2" y="4" class="st0112" width="28" height="6" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50112112_white {opacity:0.5;}
	.st0112112_white { fill:#FFFFFF;}
</style>
<g class="op50112112_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0112112_white" d="M22,12h8v6h-8V12z M12,12v6h8v-6H12z M10,18v-6H2v6H10z M22,26h8v-6h-8V26z M12,20v6h8v-6H12z M10,26v-6H2v6&#xD;&#xA;		H10z" />
</g>
<rect x="2" y="4" class="st0112112_white" width="28" height="6" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0113 { fill:#727272;}
	.op50113 {opacity:0.5;}
</style>
<g class="op50113" xmlns="http://www.w3.org/2000/svg">
	<path class="st0113" d="M30,6H20V0h10V6z M30,16H20v6h10V16z M30,24H20v6h10V24z" />
</g>
<polygon class="st0113" points="12,10 12,12 18,12 18,14 22,11 18,8 18,10 " xmlns="http://www.w3.org/2000/svg" />
<rect y="8" class="st0113" width="10" height="6" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0113113_white { fill:#FFFFFF;}
	.op50113113_white {opacity:0.5;}
</style>
<g class="op50113113_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0113113_white" d="M30,6H20V0h10V6z M30,16H20v6h10V16z M30,24H20v6h10V24z" />
</g>
<polygon class="st0113113_white" points="12,10 12,12 18,12 18,14 22,11 18,8 18,10 " xmlns="http://www.w3.org/2000/svg" />
<rect y="8" class="st0113113_white" width="10" height="6" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0114 { fill:#727272;}
	.op50114 {opacity:0.5;}
</style>
<g class="op50114" xmlns="http://www.w3.org/2000/svg">
	<path class="st0114" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M30,12h-8v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z" />
</g>
<path class="st0114" d="M6,13h4v4H6v2l-4-4l4-4V13z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="4" class="st0114" width="8" height="22" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0114114_white { fill:#FFFFFF;}
	.op50114114_white {opacity:0.5;}
</style>
<g class="op50114114_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0114114_white" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M30,12h-8v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z" />
</g>
<path class="st0114114_white" d="M6,13h4v4H6v2l-4-4l4-4V13z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="4" class="st0114114_white" width="8" height="22" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0115 { fill:#727272;}
	.op50115 {opacity:0.5;}
</style>
<g class="op50115" xmlns="http://www.w3.org/2000/svg">
	<path class="st0115" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z" />
</g>
<path class="st0115" d="M26,13h-4v4h4v2l4-4l-4-4V13z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="4" class="st0115" width="8" height="22" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0115115_white { fill:#FFFFFF;}
	.op50115115_white {opacity:0.5;}
</style>
<g class="op50115115_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0115115_white" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z" />
</g>
<path class="st0115115_white" d="M26,13h-4v4h4v2l4-4l-4-4V13z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="4" class="st0115115_white" width="8" height="22" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0116 { fill:#727272;}
	.op50116 {opacity:0.5;}
</style>
<g class="op50116" xmlns="http://www.w3.org/2000/svg">
	<path class="st0116" d="M22,20h-2v2h2V20z M22,24h-2v2h2V24z M22,16h-2v2h2V16z" />
</g>
<path class="st0116" d="M26,16h-2v2h2V16z M26,20h-2v2h2V20z M26,24h-2v2h2V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0116" d="M12,26v-2h6v2H12z M18,22v-2h-6v2H18z M31,0H7C6.4,0,6,0.4,6,1v14.9l2,1.3V2h22v28H8v-5.3l-2,1.3V31&#xD;&#xA;	c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M18,16h-6v2h6V16z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0116" points="10,21 4,17 4,20 0,20 0,22 4,22 4,25 " xmlns="http://www.w3.org/2000/svg" />
<g class="op50116" xmlns="http://www.w3.org/2000/svg">
	<rect x="12" y="6" class="st0116" width="14" height="8" />
</g>
</g>
<g transform="translate(374, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0116116_white { fill:#FFFFFF;}
	.op50116116_white {opacity:0.5;}
</style>
<g class="op50116116_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0116116_white" d="M22,20h-2v2h2V20z M22,24h-2v2h2V24z M22,16h-2v2h2V16z" />
</g>
<path class="st0116116_white" d="M26,16h-2v2h2V16z M26,20h-2v2h2V20z M26,24h-2v2h2V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0116116_white" d="M12,26v-2h6v2H12z M18,22v-2h-6v2H18z M31,0H7C6.4,0,6,0.4,6,1v14.9l2,1.3V2h22v28H8v-5.3l-2,1.3V31&#xD;&#xA;	c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M18,16h-6v2h6V16z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0116116_white" points="10,21 4,17 4,20 0,20 0,22 4,22 4,25 " xmlns="http://www.w3.org/2000/svg" />
<g class="op50116116_white" xmlns="http://www.w3.org/2000/svg">
	<rect x="12" y="6" class="st0116116_white" width="14" height="8" />
</g>
</g>
<g transform="translate(204, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0117 { fill:#727272;}
	.st0117 { fill:#727272;}
	.op50117 {opacity:0.5;}
</style>
<g class="op50117" xmlns="http://www.w3.org/2000/svg">
	<path class="st0117" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,18h-2v2h2V18z M20,22h-2v2h2V22z M20,14h-2v2h2V14z M16,8h-2V6h2V8z&#xD;&#xA;		 M16,10h-2v2h2V10z M16,18h-2v2h2V18z M16,22h-2v2h2V22z M16,14h-2v2h2V14z" />
</g>
<path class="st0117" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z M24,18h-2v2h2V18z M24,22h-2v2h2V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0117" d="M27,0H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C28,0.4,27.6,0,27,0z M26,28H4V2h22V28z&#xD;&#xA;	 M12,8H6V6h6V8z M12,10H6v2h6V10z M12,14H6v2h6V14z M12,18H6v2h6V18z M12,22H6v2h6V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0117117_white { fill:#FFFFFF;}
	.st0117117_white { fill:#FFFFFF;}
	.op50117117_white {opacity:0.5;}
</style>
<g class="op50117117_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0117117_white" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,18h-2v2h2V18z M20,22h-2v2h2V22z M20,14h-2v2h2V14z M16,8h-2V6h2V8z&#xD;&#xA;		 M16,10h-2v2h2V10z M16,18h-2v2h2V18z M16,22h-2v2h2V22z M16,14h-2v2h2V14z" />
</g>
<path class="st0117117_white" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z M24,18h-2v2h2V18z M24,22h-2v2h2V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0117117_white" d="M27,0H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C28,0.4,27.6,0,27,0z M26,28H4V2h22V28z&#xD;&#xA;	 M12,8H6V6h6V8z M12,10H6v2h6V10z M12,14H6v2h6V14z M12,18H6v2h6V18z M12,22H6v2h6V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0118 { fill:#727272;}
</style>
<path class="st0118" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9&#xD;&#xA;	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5&#xD;&#xA;	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1&#xD;&#xA;	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3&#xD;&#xA;	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2&#xD;&#xA;	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5&#xD;&#xA;	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3&#xD;&#xA;	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3&#xD;&#xA;	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1&#xD;&#xA;	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28&#xD;&#xA;	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5&#xD;&#xA;	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8&#xD;&#xA;	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0118118_white { fill:#FFFFFF;}
</style>
<path class="st0118118_white" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9&#xD;&#xA;	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5&#xD;&#xA;	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1&#xD;&#xA;	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3&#xD;&#xA;	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2&#xD;&#xA;	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5&#xD;&#xA;	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3&#xD;&#xA;	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3&#xD;&#xA;	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1&#xD;&#xA;	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28&#xD;&#xA;	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5&#xD;&#xA;	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8&#xD;&#xA;	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0119 { fill:#727272;}
	.op50119 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0119" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0119" cx="21" cy="11" r="3" />
	<polygon class="st0119" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50119">
		<polygon class="st0119" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(442, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0119119_white { fill:#FFFFFF;}
	.op50119119_white {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0119119_white" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0119119_white" cx="21" cy="11" r="3" />
	<polygon class="st0119119_white" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50119119_white">
		<polygon class="st0119119_white" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(476, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0120 { fill:#727272;}
	.op50120 {opacity:0.5;}
</style>
<g class="op50120" xmlns="http://www.w3.org/2000/svg">
	<path class="st0120" d="M10,10H2V4h8V10z M20,20h-8v6h8V20z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
<path class="st0120" d="M30,12H2v6h28V12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0120" points="20,6 16,2 12,6 14,6 14,10 18,10 18,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0120120_white { fill:#FFFFFF;}
	.op50120120_white {opacity:0.5;}
</style>
<g class="op50120120_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0120120_white" d="M10,10H2V4h8V10z M20,20h-8v6h8V20z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
<path class="st0120120_white" d="M30,12H2v6h28V12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0120120_white" points="20,6 16,2 12,6 14,6 14,10 18,10 18,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0121 { fill:#727272;}
	.op50121 {opacity:0.5;}
</style>
<g class="op50121" xmlns="http://www.w3.org/2000/svg">
	<path class="st0121" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
<path class="st0121" d="M30,12H2v6h28V12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0121" points="20,24 16,28 12,24 14,24 14,20 18,20 18,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 612)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0121121_white { fill:#FFFFFF;}
	.op50121121_white {opacity:0.5;}
</style>
<g class="op50121121_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0121121_white" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
<path class="st0121121_white" d="M30,12H2v6h28V12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0121121_white" points="20,24 16,28 12,24 14,24 14,20 18,20 18,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0122 { fill:#727272;}
	.st0122 { fill:#727272;}
	.op75122 {opacity:0.75;}
</style>
<path class="st0122" d="M27,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75122" xmlns="http://www.w3.org/2000/svg">
	<path class="st0122" d="M24,26H8v-2h16V26z M24,20H8v2h16V20z" />
</g>
<path class="st0122" d="M22,18h-3l-0.9-2.7h-4.3L13,18h-3l4.4-12h3.2L22,18z M17.5,13.3l-1.3-4c-0.1-0.3-0.2-0.7-0.2-1.1h-0.1&#xD;&#xA;	c0,0.4-0.1,0.7-0.2,1l-1.3,4.1H17.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0122122_white { fill:#FFFFFF;}
	.st0122122_white { fill:#FFFFFF;}
	.op75122122_white {opacity:0.75;}
</style>
<path class="st0122122_white" d="M27,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75122122_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0122122_white" d="M24,26H8v-2h16V26z M24,20H8v2h16V20z" />
</g>
<path class="st0122122_white" d="M22,18h-3l-0.9-2.7h-4.3L13,18h-3l4.4-12h3.2L22,18z M17.5,13.3l-1.3-4c-0.1-0.3-0.2-0.7-0.2-1.1h-0.1&#xD;&#xA;	c0,0.4-0.1,0.7-0.2,1l-1.3,4.1H17.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0123 { fill:#727272;}
</style>
<polygon class="st0123" points="21.6,6 22,4 14,4 13.6,6 15.8,6 12,24 9.8,24 9.4,26 17.6,26 17.8,24 15.6,24 19.4,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0123123_white { fill:#FFFFFF;}
</style>
<polygon class="st0123123_white" points="21.6,6 22,4 14,4 13.6,6 15.8,6 12,24 9.8,24 9.4,26 17.6,26 17.8,24 15.6,24 19.4,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0124 { fill:#727272;}
	.op50124 { opacity:0.5;}
</style>
<path class="st0124" d="M3.3,28c1.3-1.1,2.9-1.7,4.7-1.9v3.9C6.2,29.7,4.6,29.1,3.3,28z M14.9,18l-2,2h5.1c-0.1-0.7-0.3-1.4-0.5-2&#xD;&#xA;	H14.9z M10,22v2.1c2.3,0.2,4.4,1.1,6.1,2.5c1-1.3,1.7-2.9,1.9-4.6h-7.1H10z M1.9,26.6c1.7-1.4,3.8-2.3,6.1-2.5V22H0.1&#xD;&#xA;	C0.2,23.7,0.9,25.3,1.9,26.6z M10,29.9c1.8-0.2,3.4-0.9,4.7-1.9c-1.3-1.1-2.9-1.7-4.7-1.9V29.9z M5,18c-1.5,0-2.7-1.1-2.9-2.5&#xD;&#xA;	c0,0-0.1-0.1-0.1-0.1c-1,1.3-1.7,2.9-1.9,4.6H8v-2H7H5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50124" xmlns="http://www.w3.org/2000/svg"><path class="st0124" d="M29,0H5C4.5,0,4,0.5,4,1v14c0,0.5,0.5,1,1,1h5v4l4-4h15c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z" /></g>
<path class="st0124" d="M13.9,12h-2l-0.6-1.8H8.5L8,12H6l2.9-8H11L13.9,12z M10.9,8.8l-0.9-2.7C10,5.9,10,5.7,10,5.4h0&#xD;&#xA;	c0,0.2-0.1,0.5-0.1,0.7L8.9,8.8H10.9z M14.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5c0.5,0.3,0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1&#xD;&#xA;	c-0.3,0.3-0.7,0.5-1.1,0.7v0c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3c0,0.7-0.3,1.3-0.8,1.7C19.6,11.8,18.9,12,18,12H14.9z&#xD;&#xA;	 M16.7,5.3v1.9h0.8c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H16.7z M16.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3&#xD;&#xA;	c0.2-0.2,0.4-0.5,0.4-0.8c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3H16.7z M27.9,11.7c-0.6,0.3-1.3,0.4-2.3,0.4&#xD;&#xA;	c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7&#xD;&#xA;	c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9c0,0.8,0.2,1.4,0.7,1.8s1,0.7,1.8,0.7&#xD;&#xA;	c0.7,0,1.3-0.2,1.9-0.5V11.7z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0124124_white { fill:#FFFFFF;}
	.op50124124_white { opacity:0.5;}
</style>
<path class="st0124124_white" d="M3.3,28c1.3-1.1,2.9-1.7,4.7-1.9v3.9C6.2,29.7,4.6,29.1,3.3,28z M14.9,18l-2,2h5.1c-0.1-0.7-0.3-1.4-0.5-2&#xD;&#xA;	H14.9z M10,22v2.1c2.3,0.2,4.4,1.1,6.1,2.5c1-1.3,1.7-2.9,1.9-4.6h-7.1H10z M1.9,26.6c1.7-1.4,3.8-2.3,6.1-2.5V22H0.1&#xD;&#xA;	C0.2,23.7,0.9,25.3,1.9,26.6z M10,29.9c1.8-0.2,3.4-0.9,4.7-1.9c-1.3-1.1-2.9-1.7-4.7-1.9V29.9z M5,18c-1.5,0-2.7-1.1-2.9-2.5&#xD;&#xA;	c0,0-0.1-0.1-0.1-0.1c-1,1.3-1.7,2.9-1.9,4.6H8v-2H7H5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50124124_white" xmlns="http://www.w3.org/2000/svg"><path class="st0124124_white" d="M29,0H5C4.5,0,4,0.5,4,1v14c0,0.5,0.5,1,1,1h5v4l4-4h15c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z" /></g>
<path class="st0124124_white" d="M13.9,12h-2l-0.6-1.8H8.5L8,12H6l2.9-8H11L13.9,12z M10.9,8.8l-0.9-2.7C10,5.9,10,5.7,10,5.4h0&#xD;&#xA;	c0,0.2-0.1,0.5-0.1,0.7L8.9,8.8H10.9z M14.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5c0.5,0.3,0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1&#xD;&#xA;	c-0.3,0.3-0.7,0.5-1.1,0.7v0c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3c0,0.7-0.3,1.3-0.8,1.7C19.6,11.8,18.9,12,18,12H14.9z&#xD;&#xA;	 M16.7,5.3v1.9h0.8c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H16.7z M16.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3&#xD;&#xA;	c0.2-0.2,0.4-0.5,0.4-0.8c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3H16.7z M27.9,11.7c-0.6,0.3-1.3,0.4-2.3,0.4&#xD;&#xA;	c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7&#xD;&#xA;	c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9c0,0.8,0.2,1.4,0.7,1.8s1,0.7,1.8,0.7&#xD;&#xA;	c0.7,0,1.3-0.2,1.9-0.5V11.7z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0125 { fill:#727272;}
</style>
<path class="st0125" d="M21.6,14.5c0.5,0.3,0.5,0.8,0,1.1L4.9,25.9C4.4,26.2,4,25.9,4,25.4V4.6c0-0.6,0.4-0.8,0.9-0.5L21.6,14.5z&#xD;&#xA;	 M28,25V5c0-0.6-0.5-1-1-1h-2c-0.5,0-1,0.4-1,1v20c0,0.5,0.5,1,1,1h2C27.5,26,28,25.5,28,25z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0125125_white { fill:#FFFFFF;}
</style>
<path class="st0125125_white" d="M21.6,14.5c0.5,0.3,0.5,0.8,0,1.1L4.9,25.9C4.4,26.2,4,25.9,4,25.4V4.6c0-0.6,0.4-0.8,0.9-0.5L21.6,14.5z&#xD;&#xA;	 M28,25V5c0-0.6-0.5-1-1-1h-2c-0.5,0-1,0.4-1,1v20c0,0.5,0.5,1,1,1h2C27.5,26,28,25.5,28,25z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0126 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0126" d="M12,8H2V6h10V8z M30,6H14v2h16V6z M12,10H2v2h10V10z M30,10H14v2h16V10z M12,14H2v2h10V14z M30,14H14v2h16V14z&#xD;&#xA;	 M12,18H2v2h10V18z M30,18H14v2h16V18z M12,22H2v2h10V22z M30,22H14v2h16V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0126" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="14" y="2" class="st0126" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0126" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="14" y="26" class="st0126" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0126126_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st0126126_white" d="M12,8H2V6h10V8z M30,6H14v2h16V6z M12,10H2v2h10V10z M30,10H14v2h16V10z M12,14H2v2h10V14z M30,14H14v2h16V14z&#xD;&#xA;	 M12,18H2v2h10V18z M30,18H14v2h16V18z M12,22H2v2h10V22z M30,22H14v2h16V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0126126_white" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="14" y="2" class="st0126126_white" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0126126_white" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="14" y="26" class="st0126126_white" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0127 { fill:#727272;}
	.op50127 { opacity:0.5;}
</style>
<g class="op50127" xmlns="http://www.w3.org/2000/svg"><path class="st0127" d="M31,2H13c-0.5,0-1,0.5-1,1v26c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V3C32,2.5,31.5,2,31,2z M30,28H14V4h16V28z" /></g>
<g class="op50127" xmlns="http://www.w3.org/2000/svg"><path class="st0127" d="M26,12h-8v-2h8V12z M26,22h-8v-2h8V22z" /></g>
<path class="st0127" d="M4,6v8H2V9.3l-2,0V7.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M6,24v-1.6H2.6C2.7,22.2,2.9,22.1,3,22c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C2.3,20.6,2,20.8,1.7,21c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V24H6z M10,10H8v2h2V10z M10,20H8v2h2V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0127127_white { fill:#FFFFFF;}
	.op50127127_white { opacity:0.5;}
</style>
<g class="op50127127_white" xmlns="http://www.w3.org/2000/svg"><path class="st0127127_white" d="M31,2H13c-0.5,0-1,0.5-1,1v26c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V3C32,2.5,31.5,2,31,2z M30,28H14V4h16V28z" /></g>
<g class="op50127127_white" xmlns="http://www.w3.org/2000/svg"><path class="st0127127_white" d="M26,12h-8v-2h8V12z M26,22h-8v-2h8V22z" /></g>
<path class="st0127127_white" d="M4,6v8H2V9.3l-2,0V7.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M6,24v-1.6H2.6C2.7,22.2,2.9,22.1,3,22c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C2.3,20.6,2,20.8,1.7,21c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V24H6z M10,10H8v2h2V10z M10,20H8v2h2V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0128 { fill:#727272;}
	.st0128 { fill:#727272;}
</style>
<path class="st0128" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0128" d="M6,24h4l-5,5l-5-5h4v-6h2V24z M4,12h2V6h4L5,1L0,6h4V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0128128_white { fill:#FFFFFF;}
	.st0128128_white { fill:#FFFFFF;}
</style>
<path class="st0128128_white" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0128128_white" d="M6,24h4l-5,5l-5-5h4v-6h2V24z M4,12h2V6h4L5,1L0,6h4V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75129 { opacity:0.75;}
	.st0129 { fill:#727272;}
</style>
<g class="op75129" xmlns="http://www.w3.org/2000/svg"><path class="st0129" d="M16,16H6v-6h10V16z M32,10H22v6h10V10z" /></g>
<path class="st0129" d="M14,16v11c0,0.5-0.5,1-1,1H3c-0.5,0-1-0.5-1-1V13c0-0.5,0.5-1,1-1h3v2H4v12h8V16H14z M28,16v10h-8V14h2v-2h-3&#xD;&#xA;	c-0.5,0-1,0.5-1,1v14c0,0.5,0.5,1,1,1h10c0.5,0,1-0.5,1-1V16H28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0129" d="M10.9,2.9C12.7,1.1,15.2,0,18,0c4.8,0,8.9,3.4,9.8,8h-2.1c-0.9-3.4-4-6-7.7-6c-2.2,0-4.2,0.9-5.6,2.4L16,8H8V0&#xD;&#xA;	L10.9,2.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75129129_white { opacity:0.75;}
	.st0129129_white { fill:#FFFFFF;}
</style>
<g class="op75129129_white" xmlns="http://www.w3.org/2000/svg"><path class="st0129129_white" d="M16,16H6v-6h10V16z M32,10H22v6h10V10z" /></g>
<path class="st0129129_white" d="M14,16v11c0,0.5-0.5,1-1,1H3c-0.5,0-1-0.5-1-1V13c0-0.5,0.5-1,1-1h3v2H4v12h8V16H14z M28,16v10h-8V14h2v-2h-3&#xD;&#xA;	c-0.5,0-1,0.5-1,1v14c0,0.5,0.5,1,1,1h10c0.5,0,1-0.5,1-1V16H28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0129129_white" d="M10.9,2.9C12.7,1.1,15.2,0,18,0c4.8,0,8.9,3.4,9.8,8h-2.1c-0.9-3.4-4-6-7.7-6c-2.2,0-4.2,0.9-5.6,2.4L16,8H8V0&#xD;&#xA;	L10.9,2.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0130 { fill:#727272;}
	.st0130 { fill:#727272;}
</style>
<path class="st0130" d="M30,8H12V6h18V8z M30,16H12v-2h18V16z M30,24H12v-2h18V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0130" d="M8,7c0,1.7-1.3,3-3,3S2,8.7,2,7s1.3-3,3-3S8,5.3,8,7z M5,12c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,12,5,12&#xD;&#xA;	z M5,20c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,20,5,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0130130_white { fill:#FFFFFF;}
	.st0130130_white { fill:#FFFFFF;}
</style>
<path class="st0130130_white" d="M30,8H12V6h18V8z M30,16H12v-2h18V16z M30,24H12v-2h18V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0130130_white" d="M8,7c0,1.7-1.3,3-3,3S2,8.7,2,7s1.3-3,3-3S8,5.3,8,7z M5,12c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,12,5,12&#xD;&#xA;	z M5,20c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,20,5,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50131 { opacity:0.5;}
	.st0131 { fill:#727272;}
</style>
<g class="op50131" xmlns="http://www.w3.org/2000/svg"><path class="st0131" d="M24,8H6V6h18V8z M28,18H10v-2h18V18z M32,28H14v-2h18V28z" /></g>
<path class="st0131" d="M4,2v8H2V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M5.4,20c0.3-0.1,0.6-0.3,0.8-0.5c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3l0,0.1h2l-0.1-0.2&#xD;&#xA;	c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.3,0-0.5,0-0.8v-3.3c0-0.4-0.1-0.8-0.3-1c-0.2-0.2-0.4-0.4-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.3&#xD;&#xA;	c-0.3,0-0.6-0.1-1-0.1c-0.3,0-0.7,0-1,0.1c-0.3,0.1-0.7,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.7-0.3,1.1l0,0.1h1.9&#xD;&#xA;	l0-0.1c0-0.3,0.1-0.5,0.3-0.7c0.2-0.1,0.4-0.2,0.7-0.2c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1C5.9,14.8,6,14.9,6,15&#xD;&#xA;	c0,0.1,0.1,0.2,0.1,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.1-0.2,0.1-0.4,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.5,0.1-0.8,0.1&#xD;&#xA;	c-0.3,0-0.5,0.1-0.8,0.2c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.3,0.1,0.6,0.2,0.9&#xD;&#xA;	c0.1,0.3,0.3,0.5,0.5,0.6C2.9,19.8,3.1,20,3.4,20c0.3,0.1,0.5,0.1,0.9,0.1C4.6,20.2,5,20.1,5.4,20z M6.1,17v0.4c0,0.1,0,0.2,0,0.4&#xD;&#xA;	c0,0.1-0.1,0.3-0.1,0.4c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.2-0.1-0.3-0.1&#xD;&#xA;	C4.1,18.6,4,18.5,4,18.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3,0.1-0.3c0-0.1,0.1-0.2,0.2-0.2c0.1-0.1,0.2-0.1,0.3-0.1&#xD;&#xA;	c0.1,0,0.2-0.1,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.4-0.1C6,17,6.1,17,6.1,17z M10,22H8v2h2V22z&#xD;&#xA;	 M10,30H8v-4.9h2V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50131131_white { opacity:0.5;}
	.st0131131_white { fill:#FFFFFF;}
</style>
<g class="op50131131_white" xmlns="http://www.w3.org/2000/svg"><path class="st0131131_white" d="M24,8H6V6h18V8z M28,18H10v-2h18V18z M32,28H14v-2h18V28z" /></g>
<path class="st0131131_white" d="M4,2v8H2V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M5.4,20c0.3-0.1,0.6-0.3,0.8-0.5c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3l0,0.1h2l-0.1-0.2&#xD;&#xA;	c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.3,0-0.5,0-0.8v-3.3c0-0.4-0.1-0.8-0.3-1c-0.2-0.2-0.4-0.4-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.3&#xD;&#xA;	c-0.3,0-0.6-0.1-1-0.1c-0.3,0-0.7,0-1,0.1c-0.3,0.1-0.7,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.7-0.3,1.1l0,0.1h1.9&#xD;&#xA;	l0-0.1c0-0.3,0.1-0.5,0.3-0.7c0.2-0.1,0.4-0.2,0.7-0.2c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1C5.9,14.8,6,14.9,6,15&#xD;&#xA;	c0,0.1,0.1,0.2,0.1,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.1-0.2,0.1-0.4,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.5,0.1-0.8,0.1&#xD;&#xA;	c-0.3,0-0.5,0.1-0.8,0.2c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.3,0.1,0.6,0.2,0.9&#xD;&#xA;	c0.1,0.3,0.3,0.5,0.5,0.6C2.9,19.8,3.1,20,3.4,20c0.3,0.1,0.5,0.1,0.9,0.1C4.6,20.2,5,20.1,5.4,20z M6.1,17v0.4c0,0.1,0,0.2,0,0.4&#xD;&#xA;	c0,0.1-0.1,0.3-0.1,0.4c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.2-0.1-0.3-0.1&#xD;&#xA;	C4.1,18.6,4,18.5,4,18.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3,0.1-0.3c0-0.1,0.1-0.2,0.2-0.2c0.1-0.1,0.2-0.1,0.3-0.1&#xD;&#xA;	c0.1,0,0.2-0.1,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.4-0.1C6,17,6.1,17,6.1,17z M10,22H8v2h2V22z&#xD;&#xA;	 M10,30H8v-4.9h2V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50132 { opacity:0.5;}
	.st0132 { fill:#727272;}
</style>
<g class="op50132" xmlns="http://www.w3.org/2000/svg"><path class="st0132" d="M30,8H12V6h18V8z M30,18H12v-2h18V18z M30,28H12v-2h18V28z" /></g>
<path class="st0132" d="M6,2v8H4V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H6z M8,20v-1.6H4.6C4.7,18.2,4.9,18.1,5,18c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C4.3,16.6,4,16.8,3.7,17c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V20H8z M6.1,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8C7.9,28.2,8,27.8,8,27.4&#xD;&#xA;	c0-0.5-0.1-0.9-0.4-1.2c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1&#xD;&#xA;	c-0.2-0.3-0.4-0.5-0.6-0.7c-0.2-0.2-0.5-0.3-0.8-0.4C5.7,22,5.4,22,5.1,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6&#xD;&#xA;	c-0.2,0.2-0.4,0.5-0.6,0.9c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3&#xD;&#xA;	c0.2,0,0.5,0.1,0.6,0.2C5.9,23.9,6,24.1,6,24.4c0,0.2,0,0.3-0.1,0.4C5.8,24.9,5.6,25,5.5,25c-0.1,0.1-0.3,0.1-0.5,0.1&#xD;&#xA;	c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.2,0l-0.2,0v1.4h0.1c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3&#xD;&#xA;	c0.1,0.1,0.1,0.3,0.1,0.6c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3&#xD;&#xA;	C4.1,28,4,27.8,4,27.7c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H2.2l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9&#xD;&#xA;	c0.3,0.2,0.6,0.4,0.9,0.6C4.2,29.9,4.6,30,5.1,30C5.4,30,5.8,29.9,6.1,29.8z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50132132_white { opacity:0.5;}
	.st0132132_white { fill:#FFFFFF;}
</style>
<g class="op50132132_white" xmlns="http://www.w3.org/2000/svg"><path class="st0132132_white" d="M30,8H12V6h18V8z M30,18H12v-2h18V18z M30,28H12v-2h18V28z" /></g>
<path class="st0132132_white" d="M6,2v8H4V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H6z M8,20v-1.6H4.6C4.7,18.2,4.9,18.1,5,18c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C4.3,16.6,4,16.8,3.7,17c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V20H8z M6.1,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8C7.9,28.2,8,27.8,8,27.4&#xD;&#xA;	c0-0.5-0.1-0.9-0.4-1.2c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1&#xD;&#xA;	c-0.2-0.3-0.4-0.5-0.6-0.7c-0.2-0.2-0.5-0.3-0.8-0.4C5.7,22,5.4,22,5.1,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6&#xD;&#xA;	c-0.2,0.2-0.4,0.5-0.6,0.9c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3&#xD;&#xA;	c0.2,0,0.5,0.1,0.6,0.2C5.9,23.9,6,24.1,6,24.4c0,0.2,0,0.3-0.1,0.4C5.8,24.9,5.6,25,5.5,25c-0.1,0.1-0.3,0.1-0.5,0.1&#xD;&#xA;	c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.2,0l-0.2,0v1.4h0.1c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3&#xD;&#xA;	c0.1,0.1,0.1,0.3,0.1,0.6c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3&#xD;&#xA;	C4.1,28,4,27.8,4,27.7c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H2.2l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9&#xD;&#xA;	c0.3,0.2,0.6,0.4,0.9,0.6C4.2,29.9,4.6,30,5.1,30C5.4,30,5.8,29.9,6.1,29.8z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0133 { fill:#727272;}
	.op75133 { opacity:0.75;}
</style>
<path class="st0133" d="M28,22H18v-2h10V22z M10,6c0-1.1,0.9-2,2-2h4V3c0-1.7-3.6-3-8-3S0,1.3,0,3v14c0,1.1,1.6,2.1,4,2.6V15&#xD;&#xA;	c0-0.5,0.5-1,1-1h3h1.1h0l0.9,0.6V6z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75133" xmlns="http://www.w3.org/2000/svg"><path class="st0133" d="M16,16h12v2H16V16z M31,6H13c-0.5,0-1,0.5-1,1v8.9l2,1.3V8h16v22H14v-5.3l-2,1.3V31c0,0.5,0.5,1,1,1h18&#xD;&#xA;	c0.5,0,1-0.5,1-1V7C32,6.5,31.5,6,31,6z M28,12H16v2h12V12z M16,26h12v-2H16V26z" /></g>
<path class="st0133" d="M10,20H8v-4H6v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0133133_white { fill:#FFFFFF;}
	.op75133133_white { opacity:0.75;}
</style>
<path class="st0133133_white" d="M28,22H18v-2h10V22z M10,6c0-1.1,0.9-2,2-2h4V3c0-1.7-3.6-3-8-3S0,1.3,0,3v14c0,1.1,1.6,2.1,4,2.6V15&#xD;&#xA;	c0-0.5,0.5-1,1-1h3h1.1h0l0.9,0.6V6z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75133133_white" xmlns="http://www.w3.org/2000/svg"><path class="st0133133_white" d="M16,16h12v2H16V16z M31,6H13c-0.5,0-1,0.5-1,1v8.9l2,1.3V8h16v22H14v-5.3l-2,1.3V31c0,0.5,0.5,1,1,1h18&#xD;&#xA;	c0.5,0,1-0.5,1-1V7C32,6.5,31.5,6,31,6z M28,12H16v2h12V12z M16,26h12v-2H16V26z" /></g>
<path class="st0133133_white" d="M10,20H8v-4H6v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0134 { fill:#727272;}
	.op50134 {opacity:0.5;}
</style>
<g class="op50134" xmlns="http://www.w3.org/2000/svg">
	<path class="st0134" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24&#xD;&#xA;		h-8v6h8V24z M30,24h-8v6h8V24z" />
</g>
<rect x="12" y="8" class="st0134" width="18" height="14" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0134134_white { fill:#FFFFFF;}
	.op50134134_white {opacity:0.5;}
</style>
<g class="op50134134_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0134134_white" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24&#xD;&#xA;		h-8v6h8V24z M30,24h-8v6h8V24z" />
</g>
<rect x="12" y="8" class="st0134134_white" width="18" height="14" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0135 { fill:#727272;}
	.st0135 { fill:#727272;}
	.op50135 {opacity:0.5;}
</style>
<g class="op50135" xmlns="http://www.w3.org/2000/svg">
	<path class="st0135" d="M28,10h-8V4h8V10z M26.3,14.9c0.5-0.5,1.1-0.7,1.7-0.8v-2h-8v6h3.2L26.3,14.9z M0,26h8v-6H0V26z M18,23.2V20&#xD;&#xA;		h-8v6h5.2L18,23.2z" />
</g>
<path class="st0135" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M29,23l-8,8l-4-4l8-8L29,23z M30,22&#xD;&#xA;	l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0135135_white { fill:#FFFFFF;}
	.st0135135_white { fill:#FFFFFF;}
	.op50135135_white {opacity:0.5;}
</style>
<g class="op50135135_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0135135_white" d="M28,10h-8V4h8V10z M26.3,14.9c0.5-0.5,1.1-0.7,1.7-0.8v-2h-8v6h3.2L26.3,14.9z M0,26h8v-6H0V26z M18,23.2V20&#xD;&#xA;		h-8v6h5.2L18,23.2z" />
</g>
<path class="st0135135_white" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M29,23l-8,8l-4-4l8-8L29,23z M30,22&#xD;&#xA;	l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0136 {fill:#727272;}
</style>
<path class="st0136" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5&#xD;&#xA;	V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0136136_white { fill:#FFFFFF;}
</style>
<path class="st0136136_white" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5&#xD;&#xA;	V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0137 {fill:#727272;}
</style>
<path class="st0137" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5&#xD;&#xA;	V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0137137_white { fill:#FFFFFF;}
</style>
<path class="st0137137_white" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5&#xD;&#xA;	V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0138 { fill:#727272;}
	.op75138 { opacity:0.75;}
	.op50138 {opacity:0.5;}
</style>
<g class="op50138" xmlns="http://www.w3.org/2000/svg">
	<path class="st0138" d="M0,20h8v6H0V20z M10,26h8v-6h-8V26z M20,12v6h8v-6H20z M20,26h8v-6h-8V26z" />
</g>
<path class="st0138" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75138" xmlns="http://www.w3.org/2000/svg"><polygon class="st0138" points="25,2 27,0 27,3 30,3 28,5 30,7 27,7 27,10 25,8 23,10 23,7 20,7 22,5 20,3 23,3 23,0 " /></g>
</g>
<g transform="translate(238, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0138138_white { fill:#FFFFFF;}
	.op75138138_white { opacity:0.75;}
	.op50138138_white {opacity:0.5;}
</style>
<g class="op50138138_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0138138_white" d="M0,20h8v6H0V20z M10,26h8v-6h-8V26z M20,12v6h8v-6H20z M20,26h8v-6h-8V26z" />
</g>
<path class="st0138138_white" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75138138_white" xmlns="http://www.w3.org/2000/svg"><polygon class="st0138138_white" points="25,2 27,0 27,3 30,3 28,5 30,7 27,7 27,10 25,8 23,10 23,7 20,7 22,5 20,3 23,3 23,0 " /></g>
</g>
<g transform="translate(0, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0139 {fill:#727272;}
</style>
<path class="st0139" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0139139_white { fill:#FFFFFF;}
</style>
<path class="st0139139_white" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0140 {fill:#727272;}
</style>
<path class="st0140" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0140140_white { fill:#FFFFFF;}
</style>
<path class="st0140140_white" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0141 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0141" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0141" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0141" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0141141_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st0141141_white" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0141141_white" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0141141_white" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0142 { fill:#727272;}
	.op75142 {opacity:0.75;}
</style>
<g class="op75142" xmlns="http://www.w3.org/2000/svg">
	<path class="st0142" d="M2.2,25.2l5.5-10C8,14.5,8.7,14,9.5,14H24v-3c0-0.6-0.4-1-1-1H12V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.5,2,7v18&#xD;&#xA;		c0,0.2,0,0.3,0.1,0.4C2.1,25.4,2.2,25.3,2.2,25.2z" />
</g>
<path class="st0142" d="M29.3,16H9.6L4,26h19.8c0.5,0,1.1-0.2,1.3-0.6l4.9-8.9C30.1,16.2,29.8,16,29.3,16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0142142_white { fill:#FFFFFF;}
	.op75142142_white {opacity:0.75;}
</style>
<g class="op75142142_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0142142_white" d="M2.2,25.2l5.5-10C8,14.5,8.7,14,9.5,14H24v-3c0-0.6-0.4-1-1-1H12V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.5,2,7v18&#xD;&#xA;		c0,0.2,0,0.3,0.1,0.4C2.1,25.4,2.2,25.3,2.2,25.2z" />
</g>
<path class="st0142142_white" d="M29.3,16H9.6L4,26h19.8c0.5,0,1.1-0.2,1.3-0.6l4.9-8.9C30.1,16.2,29.8,16,29.3,16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0143 { fill:#727272;}
	.op75143 { opacity:0.75;}
</style>
<path class="st0143" d="M32,3v26c0,0.5-0.5,1-1,1H9c-0.5,0-1-0.5-1-1v-3.1C8.2,26,8.5,26,8.7,26c1.5,0,2.9-0.6,4-1.6l6.2-6.1&#xD;&#xA;	c0.2,1,0.3,2.1,0.3,3.3c0,2.4,2,4.4,4.4,4.4s4.4-2,4.4-4.4c0-5.8-4.3-10.6-9.9-11.5L19,9.3c1.2-1.2,1.2-3.1,0-4.2&#xD;&#xA;	c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.1,0.9l-2.6,2.6L8,3.4V3c0-0.5,0.5-1,1-1h22C31.5,2,32,2.5,32,3z M16.4,12&#xD;&#xA;	c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C26,16.3,21.7,12,16.4,12z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75143" xmlns="http://www.w3.org/2000/svg"><path class="st0143" d="M15,13.2l3,3l-6.7,6.7c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,6l3,3l-1.9,1.9&#xD;&#xA;	C8.3,11.4,8,12.2,8,13c0,0.8,0.3,1.6,0.9,2.1C9.4,15.7,10.2,16,11,16s1.6-0.3,2.1-0.9L15,13.2z M11.7,13.7l5.9-5.9&#xD;&#xA;	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,14.1,11.3,14.1,11.7,13.7z" /></g>
</g>
<g transform="translate(68, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0143143_white { fill:#FFFFFF;}
	.op75143143_white { opacity:0.75;}
</style>
<path class="st0143143_white" d="M32,3v26c0,0.5-0.5,1-1,1H9c-0.5,0-1-0.5-1-1v-3.1C8.2,26,8.5,26,8.7,26c1.5,0,2.9-0.6,4-1.6l6.2-6.1&#xD;&#xA;	c0.2,1,0.3,2.1,0.3,3.3c0,2.4,2,4.4,4.4,4.4s4.4-2,4.4-4.4c0-5.8-4.3-10.6-9.9-11.5L19,9.3c1.2-1.2,1.2-3.1,0-4.2&#xD;&#xA;	c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.1,0.9l-2.6,2.6L8,3.4V3c0-0.5,0.5-1,1-1h22C31.5,2,32,2.5,32,3z M16.4,12&#xD;&#xA;	c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C26,16.3,21.7,12,16.4,12z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75143143_white" xmlns="http://www.w3.org/2000/svg"><path class="st0143143_white" d="M15,13.2l3,3l-6.7,6.7c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,6l3,3l-1.9,1.9&#xD;&#xA;	C8.3,11.4,8,12.2,8,13c0,0.8,0.3,1.6,0.9,2.1C9.4,15.7,10.2,16,11,16s1.6-0.3,2.1-0.9L15,13.2z M11.7,13.7l5.9-5.9&#xD;&#xA;	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,14.1,11.3,14.1,11.7,13.7z" /></g>
</g>
<g transform="translate(102, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0144 { fill:#727272;}
	.st0144 { fill:#727272;}
</style>
<path class="st0144" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0144" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0144144_white { fill:#FFFFFF;}
	.st0144144_white { fill:#FFFFFF;}
</style>
<path class="st0144144_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0144144_white" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0145 { fill:#727272;}
	.st0145 { fill:#727272;}
</style>
<path class="st0145" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0145" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0145145_white { fill:#FFFFFF;}
	.st0145145_white { fill:#FFFFFF;}
</style>
<path class="st0145145_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0145145_white" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0146 { fill:#727272;}
	.st0146 { fill:#727272;}
</style>
<path class="st0146" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0146" d="M26,8V6h-2V4h-2v2H10V4H8v2H6v2h2v16H6v2h2v2h2v-2h12v2h2v-2h2v-2h-2V8H26z M22,24H10V8h12V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0146146_white { fill:#FFFFFF;}
	.st0146146_white { fill:#FFFFFF;}
</style>
<path class="st0146146_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0146146_white" d="M26,8V6h-2V4h-2v2H10V4H8v2H6v2h2v16H6v2h2v2h2v-2h12v2h2v-2h2v-2h-2V8H26z M22,24H10V8h12V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0147 { fill:#727272;}
	.st0147 { fill:#727272;}
</style>
<path class="st0147" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0147" d="M26,10V8h-2V4h-2v4H12V4h-2v4H6v2h4v12H6v2h4v4h2v-4h10v4h2v-4h2v-2h-2V10H26z M22,22H12V10h10V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0147147_white { fill:#FFFFFF;}
	.st0147147_white { fill:#FFFFFF;}
</style>
<path class="st0147147_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0147147_white" d="M26,10V8h-2V4h-2v4H12V4h-2v4H6v2h4v12H6v2h4v4h2v-4h10v4h2v-4h2v-2h-2V10H26z M22,22H12V10h10V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0148 { fill:#727272;}
	.st0148 { fill:#727272;}
</style>
<path class="st0148" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0148" d="M26,10V8h-6V4h-2v4h-4V4h-2v4H6v2h6v12H6v2h6v4h2v-4h4v4h2v-4h6v-2h-6V10H26z M18,22h-4V10h4V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0148148_white { fill:#FFFFFF;}
	.st0148148_white { fill:#FFFFFF;}
</style>
<path class="st0148148_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0148148_white" d="M26,10V8h-6V4h-2v4h-4V4h-2v4H6v2h6v12H6v2h6v4h2v-4h4v4h2v-4h6v-2h-6V10H26z M18,22h-4V10h4V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0149 {fill:#727272;}
</style>
<path class="st0149" d="M23,12h-3V7l-7-7H1C0.4,0,0,0.4,0,1v22c0,0.6,0.4,1,1,1h5v7c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V19L23,12z&#xD;&#xA;	 M2,22V2h10v5c0,0.6,0.4,1,1,1h5v4H7c-0.6,0-1,0.4-1,1v9H2z M28,30H8v-6v-2v-8h10h2h2v5c0,0.6,0.4,1,1,1h5V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0149149_white { fill:#FFFFFF;}
</style>
<path class="st0149149_white" d="M23,12h-3V7l-7-7H1C0.4,0,0,0.4,0,1v22c0,0.6,0.4,1,1,1h5v7c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V19L23,12z&#xD;&#xA;	 M2,22V2h10v5c0,0.6,0.4,1,1,1h5v4H7c-0.6,0-1,0.4-1,1v9H2z M28,30H8v-6v-2v-8h10h2h2v5c0,0.6,0.4,1,1,1h5V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0150 {fill:#727272;}
</style>
<path class="st0150" d="M8,14h16v2H8V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0150" d="M2,5v21c0,0.6,0.4,1,1,1h26c0.6,0,1-0.4,1-1V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5z M28,6v19H4V6H28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="8" y="18" class="st0150" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0150" d="M8,10h16v2H8V10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0150150_white { fill:#FFFFFF;}
</style>
<path class="st0150150_white" d="M8,14h16v2H8V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0150150_white" d="M2,5v21c0,0.6,0.4,1,1,1h26c0.6,0,1-0.4,1-1V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5z M28,6v19H4V6H28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="8" y="18" class="st0150150_white" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0150150_white" d="M8,10h16v2H8V10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0151 {fill:#727272;}
</style>
<path class="st0151" d="M22,16H10v-2h12V16z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0151" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="10" y="10" class="st0151" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0151" d="M22,20H10v-2h12V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0151151_white { fill:#FFFFFF;}
</style>
<path class="st0151151_white" d="M22,16H10v-2h12V16z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0151151_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="10" y="10" class="st0151151_white" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0151151_white" d="M22,20H10v-2h12V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0152 { fill:#727272;}
	.st0152 { fill:#727272;}
</style>
<path class="st0152" d="M23,8H11c-0.6,0-1,0.4-1,1v22c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V15L23,8z M28,30H12V10h10v5&#xD;&#xA;	c0,0.6,0.4,1,1,1h5V30z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0152" d="M8,10H2V8h6V10z M8,30H2v2h6V30z M6,10H4v20h2V10z M12,0h-2v6h2V0z M28,2H10v2h18V2z M30,0h-2v6h2V0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0152152_white { fill:#FFFFFF;}
	.st0152152_white { fill:#FFFFFF;}
</style>
<path class="st0152152_white" d="M23,8H11c-0.6,0-1,0.4-1,1v22c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V15L23,8z M28,30H12V10h10v5&#xD;&#xA;	c0,0.6,0.4,1,1,1h5V30z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0152152_white" d="M8,10H2V8h6V10z M8,30H2v2h6V30z M6,10H4v20h2V10z M12,0h-2v6h2V0z M28,2H10v2h18V2z M30,0h-2v6h2V0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0153 { fill:#727272;}
</style>
<path class="st0153" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18&#xD;&#xA;	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0153153_white { fill:#FFFFFF;}
</style>
<path class="st0153153_white" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18&#xD;&#xA;	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0154 { fill:#727272;}
</style>
<path class="st0154" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18&#xD;&#xA;	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0154154_white { fill:#FFFFFF;}
</style>
<path class="st0154154_white" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18&#xD;&#xA;	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0155 {fill:#727272;}
	.op50155 { opacity: 0.5;}
</style>
<g id="Paste" xmlns="http://www.w3.org/2000/svg">
	<path class="st0155" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14&#xD;&#xA;		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z" />
</g>
<path class="st0155" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50155" xmlns="http://www.w3.org/2000/svg"><path class="st0155" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z" /></g>
</g>
<g transform="translate(476, 510)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0155155_white { fill:#FFFFFF;}
	.op50155155_white { opacity: 0.5;}
</style>
<g id="Paste" xmlns="http://www.w3.org/2000/svg">
	<path class="st0155155_white" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14&#xD;&#xA;		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z" />
</g>
<path class="st0155155_white" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50155155_white" xmlns="http://www.w3.org/2000/svg"><path class="st0155155_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z" /></g>
</g>
<g transform="translate(0, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0156 {fill:#727272;}
	.op50156 { opacity: 0.5;}
</style>
<g id="Paste" xmlns="http://www.w3.org/2000/svg">
	<path class="st0156" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14&#xD;&#xA;		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z" />
</g>
<path class="st0156" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50156" xmlns="http://www.w3.org/2000/svg"><path class="st0156" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z" /></g>
</g>
<g transform="translate(0, 544)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0156156_white { fill:#FFFFFF;}
	.op50156156_white { opacity: 0.5;}
</style>
<g id="Paste" xmlns="http://www.w3.org/2000/svg">
	<path class="st0156156_white" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14&#xD;&#xA;		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z" />
</g>
<path class="st0156156_white" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50156156_white" xmlns="http://www.w3.org/2000/svg"><path class="st0156156_white" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z" /></g>
</g>
<g transform="translate(238, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75157 { opacity:0.75;}
	.st0157 { fill:#727272;}
</style>
<g class="op75157" xmlns="http://www.w3.org/2000/svg"><path class="st0157" d="M12,24v4H5c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h3v22H12z M25,2h-3v10h4V3C26,2.4,25.6,2,25,2z" /></g>
<path class="st0157" d="M32,18v-3c0-0.6-0.4-1-1-1H15c-0.6,0-1,0.4-1,1v3H32z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0157" d="M28,20v2H18v-2H28z M18,26h10v-2H18V26z M30,18v10H16V18h-2v11c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V18H30z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0157" d="M18,2V1c0-0.6-0.4-1-1-1h-4c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h2h4h2c0.6,0,1-0.4,1-1V2H18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75157157_white { opacity:0.75;}
	.st0157157_white { fill:#FFFFFF;}
</style>
<g class="op75157157_white" xmlns="http://www.w3.org/2000/svg"><path class="st0157157_white" d="M12,24v4H5c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h3v22H12z M25,2h-3v10h4V3C26,2.4,25.6,2,25,2z" /></g>
<path class="st0157157_white" d="M32,18v-3c0-0.6-0.4-1-1-1H15c-0.6,0-1,0.4-1,1v3H32z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0157157_white" d="M28,20v2H18v-2H28z M18,26h10v-2H18V26z M30,18v10H16V18h-2v11c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V18H30z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0157157_white" d="M18,2V1c0-0.6-0.4-1-1-1h-4c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h2h4h2c0.6,0,1-0.4,1-1V2H18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0158 { fill:#727272;}
</style>
<path class="st0158" d="M17,11L7,21l-4-4L13,7L17,11z M18,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L14,6L18,10z&#xD;&#xA;	 M2,18v4h4L2,18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0158158_white { fill:#FFFFFF;}
</style>
<path class="st0158158_white" d="M17,11L7,21l-4-4L13,7L17,11z M18,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L14,6L18,10z&#xD;&#xA;	 M2,18v4h4L2,18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0159 {fill:#727272;}
</style>
<path class="st0159" d="M23.1,4.1c0.5-0.3,0.9,0,0.9,0.5v20.7c0,0.6-0.4,0.8-0.9,0.5L6.4,15.5c-0.5-0.3-0.5-0.8,0-1.1L23.1,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0159159_white { fill:#FFFFFF;}
</style>
<path class="st0159159_white" d="M23.1,4.1c0.5-0.3,0.9,0,0.9,0.5v20.7c0,0.6-0.4,0.8-0.9,0.5L6.4,15.5c-0.5-0.3-0.5-0.8,0-1.1L23.1,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0160 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="PagePrevious" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0160" points="24,4 24,28 4,16 	" />
</g>
</g>
<g transform="translate(408, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0160160_white { fill:#FFFFFF;}
	
	
	
	
	
	
</style>
<g id="PagePrevious" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0160160_white" points="24,4 24,28 4,16 	" />
</g>
</g>
<g transform="translate(34, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0161 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="PagePrevious" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0161" points="24,4 24,28 4,16 	" />
</g>
</g>
<g transform="translate(34, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0161161_white { fill:#FFFFFF;}
	
	
	
	
	
	
</style>
<g id="PagePrevious" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0161161_white" points="24,4 24,28 4,16 	" />
</g>
</g>
<g transform="translate(340, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0162 {fill:#727272;}
</style>
<path class="st0162" d="M10,2h12v8h2V0H8v10h2V2z M28,8h-2v3c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V8H4c-1.1,0-2,0.9-2,2v12&#xD;&#xA;	c0,1.1,0.9,2,2,2h4v6h16v-6h4c1.1,0,2-0.9,2-2V10C30,8.9,29.1,8,28,8z M22,22v2v4H10v-4v-2v-4h12V22z M20,24h-8v2h8V24z M20,20h-8v2&#xD;&#xA;	h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0162162_white { fill:#FFFFFF;}
</style>
<path class="st0162162_white" d="M10,2h12v8h2V0H8v10h2V2z M28,8h-2v3c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V8H4c-1.1,0-2,0.9-2,2v12&#xD;&#xA;	c0,1.1,0.9,2,2,2h4v6h16v-6h4c1.1,0,2-0.9,2-2V10C30,8.9,29.1,8,28,8z M22,22v2v4H10v-4v-2v-4h12V22z M20,24h-8v2h8V24z M20,20h-8v2&#xD;&#xA;	h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0163 { fill:#727272;}
	.op75163 { opacity:0.75;}
</style>
<path class="st0163" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5&#xD;&#xA;	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3&#xD;&#xA;	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6&#xD;&#xA;	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4&#xD;&#xA;	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1&#xD;&#xA;	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7&#xD;&#xA;	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7&#xD;&#xA;	C28,5,28,5.3,27.9,5.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75163" xmlns="http://www.w3.org/2000/svg"><path class="st0163" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2&#xD;&#xA;	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6&#xD;&#xA;	v10h2V4z" /></g>
</g>
<g transform="translate(34, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0163163_white { fill:#FFFFFF;}
	.op75163163_white { opacity:0.75;}
</style>
<path class="st0163163_white" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5&#xD;&#xA;	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3&#xD;&#xA;	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6&#xD;&#xA;	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4&#xD;&#xA;	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1&#xD;&#xA;	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7&#xD;&#xA;	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7&#xD;&#xA;	C28,5,28,5.3,27.9,5.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75163163_white" xmlns="http://www.w3.org/2000/svg"><path class="st0163163_white" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2&#xD;&#xA;	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6&#xD;&#xA;	v10h2V4z" /></g>
</g>
<g transform="translate(68, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0164 { fill:#727272;}
	.op75164 { opacity:0.75;}
</style>
<path class="st0164" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5&#xD;&#xA;	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3&#xD;&#xA;	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6&#xD;&#xA;	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4&#xD;&#xA;	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1&#xD;&#xA;	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7&#xD;&#xA;	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7&#xD;&#xA;	C28,5,28,5.3,27.9,5.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75164" xmlns="http://www.w3.org/2000/svg"><path class="st0164" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2&#xD;&#xA;	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6&#xD;&#xA;	v10h2V4z" /></g>
</g>
<g transform="translate(68, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0164164_white { fill:#FFFFFF;}
	.op75164164_white { opacity:0.75;}
</style>
<path class="st0164164_white" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5&#xD;&#xA;	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3&#xD;&#xA;	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6&#xD;&#xA;	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4&#xD;&#xA;	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1&#xD;&#xA;	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7&#xD;&#xA;	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7&#xD;&#xA;	C28,5,28,5.3,27.9,5.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75164164_white" xmlns="http://www.w3.org/2000/svg"><path class="st0164164_white" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2&#xD;&#xA;	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6&#xD;&#xA;	v10h2V4z" /></g>
</g>
<g transform="translate(102, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0165 {fill:#727272;}
</style>
<path class="st0165" d="M6,6h14v2H6V6z M12,24H2V2h22v10h2V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h11V24z M6,12h10h4&#xD;&#xA;	v-2H6V12z M6,20h6c0-0.7,0.2-1.4,0.6-2H6V20z M6,16h10v-2H6V16z" xmlns="http://www.w3.org/2000/svg" />
<path id="Print" class="st0165" d="M28,20v-6H18v6h2v-4h6v4H28z M30,18L30,18v3c0,0.6-0.4,1-1,1H17c-0.6,0-1-0.4-1-1v-3l0,0&#xD;&#xA;	c-1.1,0-2,0.9-2,2v8c0,1.1,0.9,2,2,2h2v2h10v-2h2c1.1,0,2-0.9,2-2v-8C32,18.9,31.1,18,30,18z M26,30h-6v-4h6V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0165165_white { fill:#FFFFFF;}
</style>
<path class="st0165165_white" d="M6,6h14v2H6V6z M12,24H2V2h22v10h2V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h11V24z M6,12h10h4&#xD;&#xA;	v-2H6V12z M6,20h6c0-0.7,0.2-1.4,0.6-2H6V20z M6,16h10v-2H6V16z" xmlns="http://www.w3.org/2000/svg" />
<path id="Print" class="st0165165_white" d="M28,20v-6H18v6h2v-4h6v4H28z M30,18L30,18v3c0,0.6-0.4,1-1,1H17c-0.6,0-1-0.4-1-1v-3l0,0&#xD;&#xA;	c-1.1,0-2,0.9-2,2v8c0,1.1,0.9,2,2,2h2v2h10v-2h2c1.1,0,2-0.9,2-2v-8C32,18.9,31.1,18,30,18z M26,30h-6v-4h6V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0166 { fill:#727272;}
	.st0166 { fill:#727272;}
</style>
<path class="st0166" d="M19.4,26H16c0,0,0,0,0,0c0,0,0,0,0,0H6V4h12v5c0,0.6,0.4,1,1,1h5v11.4l2,2V9l-7-7H5C4.4,2,4,2.4,4,3v24&#xD;&#xA;	c0,0.6,0.4,1,1,1h16.4L19.4,26z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0166" d="M16,12c3.3,0,6,2.7,6,6c0,1.2-0.4,2.3-1,3.3l4.6,4.6c0.5,0.5,0.5,1.3,0,1.7c-0.5,0.5-1.3,0.5-1.7,0L19.3,23&#xD;&#xA;	c-0.9,0.6-2.1,1-3.3,1c-3.3,0-6-2.7-6-6C10,14.7,12.7,12,16,12z M16,22c2.2,0,4-1.8,4-4s-1.8-4-4-4s-4,1.8-4,4S13.8,22,16,22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 578)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0166166_white { fill:#FFFFFF;}
	.st0166166_white { fill:#FFFFFF;}
</style>
<path class="st0166166_white" d="M19.4,26H16c0,0,0,0,0,0c0,0,0,0,0,0H6V4h12v5c0,0.6,0.4,1,1,1h5v11.4l2,2V9l-7-7H5C4.4,2,4,2.4,4,3v24&#xD;&#xA;	c0,0.6,0.4,1,1,1h16.4L19.4,26z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0166166_white" d="M16,12c3.3,0,6,2.7,6,6c0,1.2-0.4,2.3-1,3.3l4.6,4.6c0.5,0.5,0.5,1.3,0,1.7c-0.5,0.5-1.3,0.5-1.7,0L19.3,23&#xD;&#xA;	c-0.9,0.6-2.1,1-3.3,1c-3.3,0-6-2.7-6-6C10,14.7,12.7,12,16,12z M16,22c2.2,0,4-1.8,4-4s-1.8-4-4-4s-4,1.8-4,4S13.8,22,16,22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75167 { opacity:0.75;}
	.st0167 { fill:#727272;}
</style>
<path class="st0167" d="M8,10h14v2H8V10z M8,16h14v-2H8V16z M8,8h14V6H8V8z M18,28H4V2h22v14h1c0.3,0,0.7,0,1,0.1V1c0-0.6-0.4-1-1-1&#xD;&#xA;	H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h15V28z M8,24h10.2c0.3-0.9,1-1.5,1.8-1.8V22H8V24z M8,20h12.1c0.2-0.7,0.5-1.4,0.9-2H8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75167" xmlns="http://www.w3.org/2000/svg"><path class="st0167" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
</g>
<g transform="translate(306, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75167167_white { opacity:0.75;}
	.st0167167_white { fill:#FFFFFF;}
</style>
<path class="st0167167_white" d="M8,10h14v2H8V10z M8,16h14v-2H8V16z M8,8h14V6H8V8z M18,28H4V2h22v14h1c0.3,0,0.7,0,1,0.1V1c0-0.6-0.4-1-1-1&#xD;&#xA;	H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h15V28z M8,24h10.2c0.3-0.9,1-1.5,1.8-1.8V22H8V24z M8,20h12.1c0.2-0.7,0.5-1.4,0.9-2H8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75167167_white" xmlns="http://www.w3.org/2000/svg"><path class="st0167167_white" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
</g>
<g transform="translate(272, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0168 {fill:#727272;}
</style>
<path class="st0168" d="M16,10V4l16,10L16,24v-6C0,18,0,26,0,26S0,10,16,10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0168168_white { fill:#FFFFFF;}
</style>
<path class="st0168168_white" d="M16,10V4l16,10L16,24v-6C0,18,0,26,0,26S0,10,16,10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0169 { fill:#727272;}
	.op50169 { opacity:0.5;}
</style>
<g class="op50169" xmlns="http://www.w3.org/2000/svg"><path class="st0169" d="M12,26h-0.2H9.9H9.8l0-0.1L9.2,24H4.8l-0.6,1.9l0,0.1H4.1H2.2H2l0.1-0.2l3.9-11.7L6,14h0.1H8h0.1l0,0.1&#xD;&#xA;	l3.8,11.7L12,26L12,26z M5.4,22h3.2L7,16.7c0,0,0,0,0-0.1c0,0,0,0,0,0.1L5.4,22z" /></g>
<path class="st0169" d="M20,26V14h4.4c1.3,0,2.4,0.2,3.1,0.7c0.7,0.5,1.1,1.2,1.1,2.1c0,0.6-0.2,1.2-0.7,1.7c-0.4,0.5-1,0.8-1.7,1v0&#xD;&#xA;	c0.9,0.1,1.5,0.4,2,0.9c0.5,0.5,0.8,1.2,0.8,1.9c0,1.1-0.4,2-1.2,2.6c-0.8,0.6-1.9,1-3.2,1H20z M22.7,16v2.8h1.2&#xD;&#xA;	c0.6,0,1-0.1,1.3-0.4c0.3-0.3,0.5-0.6,0.5-1.1c0-0.9-0.7-1.3-2-1.3H22.7z M22.7,20.8V24h1.5c0.6,0,1.1-0.1,1.5-0.4&#xD;&#xA;	c0.4-0.3,0.5-0.7,0.5-1.2c0-0.5-0.2-0.9-0.5-1.1c-0.3-0.3-0.8-0.4-1.5-0.4H22.7z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0169" d="M23.1,6.9C21.3,5.1,18.8,4,16,4c-4.8,0-8.9,3.4-9.8,8h2.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,12h5.7&#xD;&#xA;	h2.1H26V4L23.1,6.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0169169_white { fill:#FFFFFF;}
	.op50169169_white { opacity:0.5;}
</style>
<g class="op50169169_white" xmlns="http://www.w3.org/2000/svg"><path class="st0169169_white" d="M12,26h-0.2H9.9H9.8l0-0.1L9.2,24H4.8l-0.6,1.9l0,0.1H4.1H2.2H2l0.1-0.2l3.9-11.7L6,14h0.1H8h0.1l0,0.1&#xD;&#xA;	l3.8,11.7L12,26L12,26z M5.4,22h3.2L7,16.7c0,0,0,0,0-0.1c0,0,0,0,0,0.1L5.4,22z" /></g>
<path class="st0169169_white" d="M20,26V14h4.4c1.3,0,2.4,0.2,3.1,0.7c0.7,0.5,1.1,1.2,1.1,2.1c0,0.6-0.2,1.2-0.7,1.7c-0.4,0.5-1,0.8-1.7,1v0&#xD;&#xA;	c0.9,0.1,1.5,0.4,2,0.9c0.5,0.5,0.8,1.2,0.8,1.9c0,1.1-0.4,2-1.2,2.6c-0.8,0.6-1.9,1-3.2,1H20z M22.7,16v2.8h1.2&#xD;&#xA;	c0.6,0,1-0.1,1.3-0.4c0.3-0.3,0.5-0.6,0.5-1.1c0-0.9-0.7-1.3-2-1.3H22.7z M22.7,20.8V24h1.5c0.6,0,1.1-0.1,1.5-0.4&#xD;&#xA;	c0.4-0.3,0.5-0.7,0.5-1.2c0-0.5-0.2-0.9-0.5-1.1c-0.3-0.3-0.8-0.4-1.5-0.4H22.7z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0169169_white" d="M23.1,6.9C21.3,5.1,18.8,4,16,4c-4.8,0-8.9,3.4-9.8,8h2.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,12h5.7&#xD;&#xA;	h2.1H26V4L23.1,6.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0170 { fill:#727272;}
	.op75170 {opacity:0.75;}
</style>
<g class="op75170" xmlns="http://www.w3.org/2000/svg">
	<path class="st0170" d="M19.7,7.7c-0.1-0.3-0.3-0.5-0.2-0.9c0-0.1,0.2-0.2,0.3-0.2c-0.7-2.2,0-4.4,2.5-4.6c2.7-0.2,3.2,1.8,3.2,1.8&#xD;&#xA;		s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3&#xD;&#xA;		c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C19.7,8.7,19.9,8,19.7,7.7z M6.3,8.7c0,0,0,0.1,0,0.1c0.3,1.4,1.2,3,2.8,3&#xD;&#xA;		c1.6,0,2.4-1.6,2.8-3c0,0,0-0.1,0-0.1c0.6,0,0.4-0.7,0.5-1c0.1-0.3,0.2-0.5,0.2-0.9c-0.1-0.2-0.3-0.2-0.3-0.2&#xD;&#xA;		c0.7-2.9-0.6-2.9-0.6-2.9S11,1.8,8.3,2C5.8,2.2,5.1,4.4,5.8,6.6c-0.1,0-0.2,0.1-0.3,0.2C5.4,7.2,5.6,7.4,5.7,7.7&#xD;&#xA;		C5.9,8,5.7,8.7,6.3,8.7z M25.3,11.9c-0.5,0.9-1.2,2.5-2.3,2.5c-0.5,0-0.8-0.3-1.2-0.7c0,0.3,0,0.5-0.1,0.8c0.1,0.1,0.1,0.3,0.1,0.4&#xD;&#xA;		c0.2,0.9,0,1.6-0.2,2c0,0.4-0.1,0.7-0.2,1H30v-0.9C30,12.5,26.7,14,25.3,11.9z M10.4,17c-0.2-0.4-0.5-1.1-0.3-2.1&#xD;&#xA;		c0-0.1,0-0.2,0.1-0.3c0-0.3-0.1-0.5-0.1-0.8c-0.3,0.3-0.7,0.5-1.1,0.5c-1.1,0-1.8-1.6-2.3-2.6C5.4,14.1,2,12.5,2,17.1V18h8.6&#xD;&#xA;		C10.5,17.7,10.4,17.4,10.4,17z" />
</g>
<path class="st0170" d="M12.3,16.4c-0.2-0.3-0.3-0.6-0.3-1c0-0.2,0.2-0.2,0.3-0.2c-0.7-2.5,0-5,2.9-5.2c3-0.2,3.7,2,3.7,2&#xD;&#xA;	s1.6-0.1,0.7,3.2c0.1,0,0.3-0.1,0.4,0.2c0.1,0.4,0,0.6-0.2,1c-0.2,0.3,0.1,1.1-0.6,1.1c0,0,0,0.1,0,0.1C18.8,19.2,17.8,21,16,21&#xD;&#xA;	c-1.8,0-2.8-1.7-3.2-3.4c0,0,0-0.1,0-0.1C12.2,17.6,12.4,16.8,12.3,16.4z M18.7,21.2c-0.5,1-1.4,2.8-2.7,2.8c-1.3,0-2.1-1.8-2.6-2.9&#xD;&#xA;	C11.9,23.6,8,21.8,8,27v1h16v-1C24,21.9,20.2,23.5,18.7,21.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0170170_white { fill:#FFFFFF;}
	.op75170170_white {opacity:0.75;}
</style>
<g class="op75170170_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0170170_white" d="M19.7,7.7c-0.1-0.3-0.3-0.5-0.2-0.9c0-0.1,0.2-0.2,0.3-0.2c-0.7-2.2,0-4.4,2.5-4.6c2.7-0.2,3.2,1.8,3.2,1.8&#xD;&#xA;		s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3&#xD;&#xA;		c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C19.7,8.7,19.9,8,19.7,7.7z M6.3,8.7c0,0,0,0.1,0,0.1c0.3,1.4,1.2,3,2.8,3&#xD;&#xA;		c1.6,0,2.4-1.6,2.8-3c0,0,0-0.1,0-0.1c0.6,0,0.4-0.7,0.5-1c0.1-0.3,0.2-0.5,0.2-0.9c-0.1-0.2-0.3-0.2-0.3-0.2&#xD;&#xA;		c0.7-2.9-0.6-2.9-0.6-2.9S11,1.8,8.3,2C5.8,2.2,5.1,4.4,5.8,6.6c-0.1,0-0.2,0.1-0.3,0.2C5.4,7.2,5.6,7.4,5.7,7.7&#xD;&#xA;		C5.9,8,5.7,8.7,6.3,8.7z M25.3,11.9c-0.5,0.9-1.2,2.5-2.3,2.5c-0.5,0-0.8-0.3-1.2-0.7c0,0.3,0,0.5-0.1,0.8c0.1,0.1,0.1,0.3,0.1,0.4&#xD;&#xA;		c0.2,0.9,0,1.6-0.2,2c0,0.4-0.1,0.7-0.2,1H30v-0.9C30,12.5,26.7,14,25.3,11.9z M10.4,17c-0.2-0.4-0.5-1.1-0.3-2.1&#xD;&#xA;		c0-0.1,0-0.2,0.1-0.3c0-0.3-0.1-0.5-0.1-0.8c-0.3,0.3-0.7,0.5-1.1,0.5c-1.1,0-1.8-1.6-2.3-2.6C5.4,14.1,2,12.5,2,17.1V18h8.6&#xD;&#xA;		C10.5,17.7,10.4,17.4,10.4,17z" />
</g>
<path class="st0170170_white" d="M12.3,16.4c-0.2-0.3-0.3-0.6-0.3-1c0-0.2,0.2-0.2,0.3-0.2c-0.7-2.5,0-5,2.9-5.2c3-0.2,3.7,2,3.7,2&#xD;&#xA;	s1.6-0.1,0.7,3.2c0.1,0,0.3-0.1,0.4,0.2c0.1,0.4,0,0.6-0.2,1c-0.2,0.3,0.1,1.1-0.6,1.1c0,0,0,0.1,0,0.1C18.8,19.2,17.8,21,16,21&#xD;&#xA;	c-1.8,0-2.8-1.7-3.2-3.4c0,0,0-0.1,0-0.1C12.2,17.6,12.4,16.8,12.3,16.4z M18.7,21.2c-0.5,1-1.4,2.8-2.7,2.8c-1.3,0-2.1-1.8-2.6-2.9&#xD;&#xA;	C11.9,23.6,8,21.8,8,27v1h16v-1C24,21.9,20.2,23.5,18.7,21.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0171 { fill:#727272;}
	.op50171 {opacity:0.5;}
</style>
<g class="op50171" xmlns="http://www.w3.org/2000/svg">
	<path class="st0171" d="M29,2H14v10h2V7.3L27.6,15L16,22.7V18h-2v10h15c0.5,0,1-0.5,1-1V3C30,2.5,29.5,2,29,2z" />
</g>
<path class="st0171" d="M8,16h10v3l6-4l-6-4v3H8V16z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0171" d="M6,18v-6h6V2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h9V18H6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0171171_white { fill:#FFFFFF;}
	.op50171171_white {opacity:0.5;}
</style>
<g class="op50171171_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0171171_white" d="M29,2H14v10h2V7.3L27.6,15L16,22.7V18h-2v10h15c0.5,0,1-0.5,1-1V3C30,2.5,29.5,2,29,2z" />
</g>
<path class="st0171171_white" d="M8,16h10v3l6-4l-6-4v3H8V16z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0171171_white" d="M6,18v-6h6V2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h9V18H6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0172 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0172" d="M20,6h10v2H20V6z M2,8h16V6H2V8z M20,12h10v-2H20V12z M2,12h16v-2H2V12z M20,16h10v-2H20V16z M2,16h16v-2H2V16z&#xD;&#xA;	 M20,20h10v-2H20V20z M2,20h16v-2H2V20z M20,24h10v-2H20V24z M2,24h16v-2H2V24z" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="2" class="st0172" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0172" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="26" class="st0172" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0172" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0172172_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st0172172_white" d="M20,6h10v2H20V6z M2,8h16V6H2V8z M20,12h10v-2H20V12z M2,12h16v-2H2V12z M20,16h10v-2H20V16z M2,16h16v-2H2V16z&#xD;&#xA;	 M20,20h10v-2H20V20z M2,20h16v-2H2V20z M20,24h10v-2H20V24z M2,24h16v-2H2V24z" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="2" class="st0172172_white" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0172172_white" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="26" class="st0172172_white" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0172172_white" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0173 { fill:#727272;}
	.op75173 { opacity:0.75;}
</style>
<g class="op75173" xmlns="http://www.w3.org/2000/svg"><path class="st0173" d="M29,22H1c-0.6,0-1-0.5-1-1V9c0-0.6,0.4-1,1-1h28c0.5,0,1,0.4,1,1v12C30,21.5,29.5,22,29,22z" /></g>
<path class="st0173" d="M4,22H2v-6h2V22z M8,18H6v4h2V18z M12,16h-2v6h2V16z M16,18h-2v4h2V18z M20,16h-2v6h2V16z M24,18h-2v4h2V18z&#xD;&#xA;	 M28,16h-2v6h2V16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0173173_white { fill:#FFFFFF;}
	.op75173173_white { opacity:0.75;}
</style>
<g class="op75173173_white" xmlns="http://www.w3.org/2000/svg"><path class="st0173173_white" d="M29,22H1c-0.6,0-1-0.5-1-1V9c0-0.6,0.4-1,1-1h28c0.5,0,1,0.4,1,1v12C30,21.5,29.5,22,29,22z" /></g>
<path class="st0173173_white" d="M4,22H2v-6h2V22z M8,18H6v4h2V18z M12,16h-2v6h2V16z M16,18h-2v4h2V18z M20,16h-2v6h2V16z M24,18h-2v4h2V18z&#xD;&#xA;	 M28,16h-2v6h2V16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0174 { fill:#727272;}
	.op75174 { opacity:0.75;}
</style>
<g class="op75174" xmlns="http://www.w3.org/2000/svg"><path class="st0174" d="M21,30H9c-0.6,0-1-0.5-1-1V1c0-0.6,0.4-1,1-1h12c0.5,0,1,0.4,1,1v28C22,29.5,21.5,30,21,30z" /></g>
<path class="st0174" d="M22,4h-6V2h6V4z M18,8h4V6h-4V8z M16,12h6v-2h-6V12z M18,16h4v-2h-4V16z M16,20h6v-2h-6V20z M18,24h4v-2h-4&#xD;&#xA;	V24z M16,28h6v-2h-6V28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0174174_white { fill:#FFFFFF;}
	.op75174174_white { opacity:0.75;}
</style>
<g class="op75174174_white" xmlns="http://www.w3.org/2000/svg"><path class="st0174174_white" d="M21,30H9c-0.6,0-1-0.5-1-1V1c0-0.6,0.4-1,1-1h12c0.5,0,1,0.4,1,1v28C22,29.5,21.5,30,21,30z" /></g>
<path class="st0174174_white" d="M22,4h-6V2h6V4z M18,8h4V6h-4V8z M16,12h6v-2h-6V12z M18,16h4v-2h-4V16z M16,20h6v-2h-6V20z M18,24h4v-2h-4&#xD;&#xA;	V24z M16,28h6v-2h-6V28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0175 {fill:#727272;}
</style>
<path class="st0175" d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6&#xD;&#xA;	h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 816)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0175175_white { fill:#FFFFFF;}
</style>
<path class="st0175175_white" d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6&#xD;&#xA;	h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0176 { fill:#727272;}
	
	
	
	
	
	
	
</style>
<g xmlns="http://www.w3.org/2000/svg">
</g>
<g id="SaveAs" xmlns="http://www.w3.org/2000/svg">
	<path class="st0176" d="M31,0H19c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,16H20V2h10V16z&#xD;&#xA;		 M22,20v4H6v-6h10v-4H6V4H3C2.4,4,2,4.4,2,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1v-7H22z M16,4H8v8h8V4z M12,10h-2V6h2V10z" />
</g>
</g>
<g transform="translate(68, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0176176_white { fill:#FFFFFF;}
	
	
	
	
	
	
	
</style>
<g xmlns="http://www.w3.org/2000/svg">
</g>
<g id="SaveAs" xmlns="http://www.w3.org/2000/svg">
	<path class="st0176176_white" d="M31,0H19c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,16H20V2h10V16z&#xD;&#xA;		 M22,20v4H6v-6h10v-4H6V4H3C2.4,4,2,4.4,2,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1v-7H22z M16,4H8v8h8V4z M12,10h-2V6h2V10z" />
</g>
</g>
<g transform="translate(68, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0177 {fill:#727272;}
	
	
</style>
<g id="Select" xmlns="http://www.w3.org/2000/svg">
	<path class="st0177" d="M18.2,20H26L10,4v22l5.3-5.3l2.7,6.7c0.2,0.5,0.8,0.8,1.3,0.5l0.9-0.4c0.5-0.2,0.8-0.8,0.5-1.3L18.2,20z" />
</g>
</g>
<g transform="translate(68, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0177177_white { fill:#FFFFFF;}
	
	
</style>
<g id="Select" xmlns="http://www.w3.org/2000/svg">
	<path class="st0177177_white" d="M18.2,20H26L10,4v22l5.3-5.3l2.7,6.7c0.2,0.5,0.8,0.8,1.3,0.5l0.9-0.4c0.5-0.2,0.8-0.8,0.5-1.3L18.2,20z" />
</g>
</g>
<g transform="translate(136, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0178 {fill:#727272;}
	.st0178 { fill:#727272;}
.op50178 { opacity:0.5;}
</style>
<path id="layer_1_" class="st0178" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50178" xmlns="http://www.w3.org/2000/svg"><path id="layer" class="st0178" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22&#xD;&#xA;	h2v-6h-2V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z&#xD;&#xA;	" /></g>
</g>
<g transform="translate(136, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0178178_white { fill:#FFFFFF;}
	.st0178178_white { fill:#FFFFFF;}
.op50178178_white { opacity:0.5;}
</style>
<path id="layer_1_" class="st0178178_white" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50178178_white" xmlns="http://www.w3.org/2000/svg"><path id="layer" class="st0178178_white" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22&#xD;&#xA;	h2v-6h-2V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z&#xD;&#xA;	" /></g>
</g>
<g transform="translate(204, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0179 {fill:#727272;}
</style>
<path class="st0179" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z&#xD;&#xA;	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0179179_white { fill:#FFFFFF;}
</style>
<path class="st0179179_white" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z&#xD;&#xA;	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0180 { fill:#727272;}
	.st0180 { fill:#727272;}
	.op50180 {opacity:0.5;}
</style>
<rect x="12" y="12" class="st0180" width="8" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op50180" xmlns="http://www.w3.org/2000/svg">
	<path class="st0180" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z&#xD;&#xA;		 M20,20h-8v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(272, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0180180_white { fill:#FFFFFF;}
	.st0180180_white { fill:#FFFFFF;}
	.op50180180_white {opacity:0.5;}
</style>
<rect x="12" y="12" class="st0180180_white" width="8" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op50180180_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0180180_white" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z&#xD;&#xA;		 M20,20h-8v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(442, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0181 { fill:#727272;}
	.st0181 { fill:#727272;}
	.op50181 {opacity:0.5;}
</style>
<path class="st0181" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50181" xmlns="http://www.w3.org/2000/svg">
	<path class="st0181" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(442, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0181181_white { fill:#FFFFFF;}
	.st0181181_white { fill:#FFFFFF;}
	.op50181181_white {opacity:0.5;}
</style>
<path class="st0181181_white" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50181181_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0181181_white" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(272, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0182 { fill:#727272;}
	.st0182 { fill:#727272;}
	.op50182 {opacity:0.5;}
</style>
<path class="st0182" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50182" xmlns="http://www.w3.org/2000/svg">
	<path class="st0182" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(272, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0182182_white { fill:#FFFFFF;}
	.st0182182_white { fill:#FFFFFF;}
	.op50182182_white {opacity:0.5;}
</style>
<path class="st0182182_white" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50182182_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0182182_white" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(306, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0183 {fill:#727272;}
</style>
<path class="st0183" d="M18.4,8c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C28,12.3,23.7,8,18.4,8z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0183" d="M17,9.3l3,3L13.3,19c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L9.7,2l3,3l-1.9,1.9&#xD;&#xA;	C10.3,7.4,10,8.2,10,9c0,0.8,0.3,1.6,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9s1.6-0.3,2.1-0.9L17,9.3z M13.7,9.7l5.9-5.9&#xD;&#xA;	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C12.7,10.1,13.3,10.1,13.7,9.7z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0183183_white { fill:#FFFFFF;}
</style>
<path class="st0183183_white" d="M18.4,8c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C28,12.3,23.7,8,18.4,8z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0183183_white" d="M17,9.3l3,3L13.3,19c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L9.7,2l3,3l-1.9,1.9&#xD;&#xA;	C10.3,7.4,10,8.2,10,9c0,0.8,0.3,1.6,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9s1.6-0.3,2.1-0.9L17,9.3z M13.7,9.7l5.9-5.9&#xD;&#xA;	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C12.7,10.1,13.3,10.1,13.7,9.7z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75184 {opacity:0.75;}
	.st0184 {fill:#727272;}
</style>
<g id="_x32_" class="op75184" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_5_" class="st0184" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z&#xD;&#xA;		 M10,3.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,3.9,8.8,4.1,8.8,4.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,6.4,8.3,6.6,8.2,6.7&#xD;&#xA;		C8,6.8,7.8,6.9,7.5,7c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5C8.7,8.1,8.7,8.5,8.7,9c0,0.5,0,0.8,0.1,0.9s0.2,0.2,0.3,0.3&#xD;&#xA;		s0.4,0.1,0.9,0.1V12H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6c0-0.4,0-0.7-0.1-0.9&#xD;&#xA;		C6.1,8.2,5.3,7.9,5,7.9V6.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4c0-0.6,0.1-1.1,0.2-1.3&#xD;&#xA;		C6.6,2.7,6.8,2.5,7,2.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,2,8.6,2,9.1,2H10V3.7z M19,7.9c-0.3,0-1.1,0.3-1.2,0.5&#xD;&#xA;		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7&#xD;&#xA;		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3&#xD;&#xA;		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4&#xD;&#xA;		c-0.1-0.1-0.3-0.1-0.6-0.1H14V2h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3&#xD;&#xA;		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V7.9z" />
	<rect id="layer_4_" x="18" y="20" class="st0184" width="10" height="2" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<rect id="layer_3_" x="10" y="24" class="st0184" width="18" height="2" />
	<rect id="layer_2_" x="10" y="20" class="st0184" width="6" height="2" />
	<path id="layer_1_" class="st0184" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z" />
	<rect id="layer" x="10" y="16" class="st0184" width="18" height="2" />
</g>
</g>
<g transform="translate(68, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75184184_white {opacity:0.75;}
	.st0184184_white { fill:#FFFFFF;}
</style>
<g id="_x32_" class="op75184184_white" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_5_" class="st0184184_white" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z&#xD;&#xA;		 M10,3.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,3.9,8.8,4.1,8.8,4.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,6.4,8.3,6.6,8.2,6.7&#xD;&#xA;		C8,6.8,7.8,6.9,7.5,7c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5C8.7,8.1,8.7,8.5,8.7,9c0,0.5,0,0.8,0.1,0.9s0.2,0.2,0.3,0.3&#xD;&#xA;		s0.4,0.1,0.9,0.1V12H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6c0-0.4,0-0.7-0.1-0.9&#xD;&#xA;		C6.1,8.2,5.3,7.9,5,7.9V6.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4c0-0.6,0.1-1.1,0.2-1.3&#xD;&#xA;		C6.6,2.7,6.8,2.5,7,2.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,2,8.6,2,9.1,2H10V3.7z M19,7.9c-0.3,0-1.1,0.3-1.2,0.5&#xD;&#xA;		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7&#xD;&#xA;		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3&#xD;&#xA;		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4&#xD;&#xA;		c-0.1-0.1-0.3-0.1-0.6-0.1H14V2h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3&#xD;&#xA;		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V7.9z" />
	<rect id="layer_4_" x="18" y="20" class="st0184184_white" width="10" height="2" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<rect id="layer_3_" x="10" y="24" class="st0184184_white" width="18" height="2" />
	<rect id="layer_2_" x="10" y="20" class="st0184184_white" width="6" height="2" />
	<path id="layer_1_" class="st0184184_white" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z" />
	<rect id="layer" x="10" y="16" class="st0184184_white" width="18" height="2" />
</g>
</g>
<g transform="translate(34, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75185 {opacity:0.75;}
	.st0185 {fill:#727272;}
</style>
<g id="_x32_" class="op75185" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_6_" class="st0185" d="M16.2,5.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3&#xD;&#xA;		c0.3,0,0.5-0.1,0.6-0.1C18,10,18.4,5.6,16.2,5.6z" />
	<path id="layer_7_" class="st0185" d="M6,9.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8V8.2C8.8,8.3,8.3,8.4,8.2,8.4C6,8.4,6,9.6,6,9.8&#xD;&#xA;		z" />
	<rect id="layer_5_" x="18" y="20" class="st0185" width="10" height="2" />
	<path id="layer_4_" class="st0185" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z&#xD;&#xA;		 M9.2,11.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7C7.6,11.9,7.1,12,6.7,12C4.1,12,4,10.3,4,9.9c0-0.4,0.1-0.8,0.2-1.1&#xD;&#xA;		c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2C4.3,6.1,4.6,4,7.7,4&#xD;&#xA;		C10.4,4,11,5.8,11,6.2v4c0,0.4,0.2,1.6,0.3,1.7H9.2z M16.9,12.1c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V2h2.1v3.2&#xD;&#xA;		c0.2-0.4,0.6-0.7,1-0.9C16,4.1,16.5,4,16.9,4C19.8,4,20,7.4,20,8.1C20,8.8,19.7,12.1,16.9,12.1z" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<rect id="layer_3_" x="10" y="20" class="st0185" width="6" height="2" />
	<rect id="layer_2_" x="10" y="24" class="st0185" width="18" height="2" />
	<path id="layer_1_" class="st0185" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z" />
	<rect id="layer" x="10" y="16" class="st0185" width="18" height="2" />
</g>
</g>
<g transform="translate(34, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75185185_white {opacity:0.75;}
	.st0185185_white { fill:#FFFFFF;}
</style>
<g id="_x32_" class="op75185185_white" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_6_" class="st0185185_white" d="M16.2,5.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3&#xD;&#xA;		c0.3,0,0.5-0.1,0.6-0.1C18,10,18.4,5.6,16.2,5.6z" />
	<path id="layer_7_" class="st0185185_white" d="M6,9.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8V8.2C8.8,8.3,8.3,8.4,8.2,8.4C6,8.4,6,9.6,6,9.8&#xD;&#xA;		z" />
	<rect id="layer_5_" x="18" y="20" class="st0185185_white" width="10" height="2" />
	<path id="layer_4_" class="st0185185_white" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z&#xD;&#xA;		 M9.2,11.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7C7.6,11.9,7.1,12,6.7,12C4.1,12,4,10.3,4,9.9c0-0.4,0.1-0.8,0.2-1.1&#xD;&#xA;		c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2C4.3,6.1,4.6,4,7.7,4&#xD;&#xA;		C10.4,4,11,5.8,11,6.2v4c0,0.4,0.2,1.6,0.3,1.7H9.2z M16.9,12.1c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V2h2.1v3.2&#xD;&#xA;		c0.2-0.4,0.6-0.7,1-0.9C16,4.1,16.5,4,16.9,4C19.8,4,20,7.4,20,8.1C20,8.8,19.7,12.1,16.9,12.1z" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<rect id="layer_3_" x="10" y="20" class="st0185185_white" width="6" height="2" />
	<rect id="layer_2_" x="10" y="24" class="st0185185_white" width="18" height="2" />
	<path id="layer_1_" class="st0185185_white" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z" />
	<rect id="layer" x="10" y="16" class="st0185185_white" width="18" height="2" />
</g>
</g>
<g transform="translate(408, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75186 { opacity:0.75;}
	.st0186 { fill:#727272;}
</style>
<g class="op75186" xmlns="http://www.w3.org/2000/svg"><path class="st0186" d="M12.1,21.3C12.2,21,15,14,22,14c1.5,0,2.9,0.3,4,0.9V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.4,2,7v14&#xD;&#xA;	c0,0.6,0.4,1,1,1h3v6l6-6h0C12,21.8,12,21.5,12.1,21.3z" /></g>
<path class="st0186" d="M22,16c5.7,0,8,6,8,6s-2.3,6-8,6c-5.7,0-8-6-8-6S16.3,16,22,16 M22,18c-3.3,0-5.1,2.7-5.8,4&#xD;&#xA;	c0.7,1.3,2.5,4,5.8,4c3.3,0,5.1-2.7,5.8-4C27.1,20.7,25.3,18,22,18L22,18z M22,20c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2&#xD;&#xA;	S23.1,20,22,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75186186_white { opacity:0.75;}
	.st0186186_white { fill:#FFFFFF;}
</style>
<g class="op75186186_white" xmlns="http://www.w3.org/2000/svg"><path class="st0186186_white" d="M12.1,21.3C12.2,21,15,14,22,14c1.5,0,2.9,0.3,4,0.9V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.4,2,7v14&#xD;&#xA;	c0,0.6,0.4,1,1,1h3v6l6-6h0C12,21.8,12,21.5,12.1,21.3z" /></g>
<path class="st0186186_white" d="M22,16c5.7,0,8,6,8,6s-2.3,6-8,6c-5.7,0-8-6-8-6S16.3,16,22,16 M22,18c-3.3,0-5.1,2.7-5.8,4&#xD;&#xA;	c0.7,1.3,2.5,4,5.8,4c3.3,0,5.1-2.7,5.8-4C27.1,20.7,25.3,18,22,18L22,18z M22,20c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2&#xD;&#xA;	S23.1,20,22,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0187 { fill:#727272;}
</style>
<path class="st0187" d="M14,4h-2h-2c-4.4,0-8,3.6-8,8s3.6,8,8,8h2v6v2h4V8h4v20h4V8h4V4H14z M10,16c-2.2,0-4-1.8-4-4s1.8-4,4-4h2v8&#xD;&#xA;	H10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0187187_white { fill:#FFFFFF;}
</style>
<path class="st0187187_white" d="M14,4h-2h-2c-4.4,0-8,3.6-8,8s3.6,8,8,8h2v6v2h4V8h4v20h4V8h4V4H14z M10,16c-2.2,0-4-1.8-4-4s1.8-4,4-4h2v8&#xD;&#xA;	H10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0188 { fill:#727272;}
	.st0188 { fill:#727272;}
</style>
<path class="st0188" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0188" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22h2v-6h-2&#xD;&#xA;	V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0188188_white { fill:#FFFFFF;}
	.st0188188_white { fill:#FFFFFF;}
</style>
<path class="st0188188_white" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0188188_white" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22h2v-6h-2&#xD;&#xA;	V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0189 { fill:#727272;}
	.st0189 { fill:#727272;}
</style>
<path class="st0189" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0189" d="M6,6h4l-5,5L0,6h4V0h2V6z M4,30h2v-6h4l-5-5l-5,5h4V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0189189_white { fill:#FFFFFF;}
	.st0189189_white { fill:#FFFFFF;}
</style>
<path class="st0189189_white" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0189189_white" d="M6,6h4l-5,5L0,6h4V0h2V6z M4,30h2v-6h4l-5-5l-5,5h4V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0190 {fill:#727272;}
</style>
<g id="SpellCheck" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0190" points="27,9 12,24 7,19 4,22 12,30 30,12 	" />
	<path class="st0190" d="M7.9,12H6l-0.6-1.8H2.6L2,12H0l3-8h2.1L7.9,12z M5,8.8L4.1,6.1C4.1,5.9,4,5.7,4,5.4l0,0c0,0.2-0.1,0.5-0.1,0.7&#xD;&#xA;		L3,8.8H5z M8.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1c-0.3,0.3-0.7,0.5-1.1,0.7l0,0&#xD;&#xA;		c0.6,0.1,1,0.3,1.4,0.6C14.9,8.6,15,9.1,15,9.6c0,0.7-0.3,1.3-0.8,1.7C13.6,11.8,12.9,12,12,12H8.9z M10.7,5.3v1.9h0.8&#xD;&#xA;		c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H10.7z M10.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3c0.2-0.2,0.4-0.5,0.4-0.8&#xD;&#xA;		S13,9,12.8,8.8s-0.6-0.3-1-0.3h-1.1V8.6z M22,11.7c-0.6,0.3-1.3,0.4-2.3,0.4c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9&#xD;&#xA;		c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7&#xD;&#xA;		c-0.5,0.5-0.7,1.1-0.7,1.9s0.2,1.4,0.7,1.8s1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5v1.8C22.1,11.7,22,11.7,22,11.7z" />
</g>
</g>
<g transform="translate(68, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0190190_white { fill:#FFFFFF;}
</style>
<g id="SpellCheck" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0190190_white" points="27,9 12,24 7,19 4,22 12,30 30,12 	" />
	<path class="st0190190_white" d="M7.9,12H6l-0.6-1.8H2.6L2,12H0l3-8h2.1L7.9,12z M5,8.8L4.1,6.1C4.1,5.9,4,5.7,4,5.4l0,0c0,0.2-0.1,0.5-0.1,0.7&#xD;&#xA;		L3,8.8H5z M8.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1c-0.3,0.3-0.7,0.5-1.1,0.7l0,0&#xD;&#xA;		c0.6,0.1,1,0.3,1.4,0.6C14.9,8.6,15,9.1,15,9.6c0,0.7-0.3,1.3-0.8,1.7C13.6,11.8,12.9,12,12,12H8.9z M10.7,5.3v1.9h0.8&#xD;&#xA;		c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H10.7z M10.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3c0.2-0.2,0.4-0.5,0.4-0.8&#xD;&#xA;		S13,9,12.8,8.8s-0.6-0.3-1-0.3h-1.1V8.6z M22,11.7c-0.6,0.3-1.3,0.4-2.3,0.4c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9&#xD;&#xA;		c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7&#xD;&#xA;		c-0.5,0.5-0.7,1.1-0.7,1.9s0.2,1.4,0.7,1.8s1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5v1.8C22.1,11.7,22,11.7,22,11.7z" />
</g>
</g>
<g transform="translate(340, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0191 { fill:#727272;}
	.op50191 { opacity:0.5;}
</style>
<path class="st0191" d="M32,24c-1.4,0-2.2-0.7-2.7-1.3C28.8,22.2,28.6,22,28,22s-0.8,0.2-1.3,0.7C26.2,23.3,25.4,24,24,24&#xD;&#xA;	s-2.2-0.7-2.7-1.3C20.8,22.2,20.6,22,20,22s-0.8,0.2-1.3,0.7C18.2,23.3,17.4,24,16,24s-2.2-0.7-2.7-1.3C12.8,22.2,12.6,22,12,22&#xD;&#xA;	s-0.8,0.2-1.3,0.7C10.2,23.3,9.4,24,8,24s-2.2-0.7-2.7-1.3C4.8,22.2,4.6,22,4,22s-0.8,0.2-1.3,0.7C2.2,23.3,1.4,24,0,24v-2&#xD;&#xA;	c0.6,0,0.8-0.2,1.3-0.7C1.8,20.7,2.6,20,4,20s2.2,0.7,2.7,1.3C7.2,21.8,7.4,22,8,22s0.8-0.2,1.3-0.7C9.8,20.7,10.6,20,12,20&#xD;&#xA;	s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7&#xD;&#xA;	s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7V24z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50191" xmlns="http://www.w3.org/2000/svg"><path class="st0191" d="M12.1,18H9.6l-0.7-2.2H5.2L4.5,18H2L5.7,8h2.7L12.1,18z M8.3,14l-1.1-3.3C7.1,10.4,7.1,10.1,7,9.8H7&#xD;&#xA;	c0,0.3-0.1,0.6-0.2,0.9L5.7,14H8.3z M13.3,18l0-10h3.7c1.1,0,2,0.2,2.6,0.6c0.6,0.4,0.9,1,0.9,1.7c0,0.5-0.2,1-0.6,1.4&#xD;&#xA;	c-0.4,0.4-0.8,0.7-1.4,0.8v0c0.7,0.1,1.3,0.3,1.7,0.8c0.4,0.4,0.7,1,0.7,1.6c0,0.9-0.3,1.6-1,2.2c-0.7,0.5-1.6,0.8-2.7,0.8H13.3z&#xD;&#xA;	 M15.6,9.7V12h1c0.5,0,0.8-0.1,1.1-0.3c0.3-0.2,0.4-0.5,0.4-0.9c0-0.7-0.6-1.1-1.7-1.1H15.6z M15.6,13.7v2.6h1.2&#xD;&#xA;	c0.5,0,0.9-0.1,1.2-0.4c0.3-0.2,0.5-0.6,0.5-1c0-0.4-0.1-0.7-0.4-0.9c-0.3-0.2-0.7-0.3-1.2-0.3H15.6z M30,17.6&#xD;&#xA;	c-0.7,0.4-1.7,0.5-2.9,0.5c-1.6,0-2.8-0.4-3.7-1.3c-0.9-0.9-1.3-2.1-1.3-3.6c0-1.6,0.5-2.9,1.5-3.9c1-1,2.3-1.5,3.9-1.5&#xD;&#xA;	c1,0,1.8,0.1,2.5,0.4v2.2c-0.7-0.4-1.5-0.6-2.3-0.6c-1,0-1.7,0.3-2.3,0.9c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.7,0.8,2.3&#xD;&#xA;	c0.6,0.6,1.3,0.9,2.2,0.9c0.9,0,1.7-0.2,2.5-0.6V17.6z" /></g>
</g>
<g transform="translate(340, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0191191_white { fill:#FFFFFF;}
	.op50191191_white { opacity:0.5;}
</style>
<path class="st0191191_white" d="M32,24c-1.4,0-2.2-0.7-2.7-1.3C28.8,22.2,28.6,22,28,22s-0.8,0.2-1.3,0.7C26.2,23.3,25.4,24,24,24&#xD;&#xA;	s-2.2-0.7-2.7-1.3C20.8,22.2,20.6,22,20,22s-0.8,0.2-1.3,0.7C18.2,23.3,17.4,24,16,24s-2.2-0.7-2.7-1.3C12.8,22.2,12.6,22,12,22&#xD;&#xA;	s-0.8,0.2-1.3,0.7C10.2,23.3,9.4,24,8,24s-2.2-0.7-2.7-1.3C4.8,22.2,4.6,22,4,22s-0.8,0.2-1.3,0.7C2.2,23.3,1.4,24,0,24v-2&#xD;&#xA;	c0.6,0,0.8-0.2,1.3-0.7C1.8,20.7,2.6,20,4,20s2.2,0.7,2.7,1.3C7.2,21.8,7.4,22,8,22s0.8-0.2,1.3-0.7C9.8,20.7,10.6,20,12,20&#xD;&#xA;	s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7&#xD;&#xA;	s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7V24z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50191191_white" xmlns="http://www.w3.org/2000/svg"><path class="st0191191_white" d="M12.1,18H9.6l-0.7-2.2H5.2L4.5,18H2L5.7,8h2.7L12.1,18z M8.3,14l-1.1-3.3C7.1,10.4,7.1,10.1,7,9.8H7&#xD;&#xA;	c0,0.3-0.1,0.6-0.2,0.9L5.7,14H8.3z M13.3,18l0-10h3.7c1.1,0,2,0.2,2.6,0.6c0.6,0.4,0.9,1,0.9,1.7c0,0.5-0.2,1-0.6,1.4&#xD;&#xA;	c-0.4,0.4-0.8,0.7-1.4,0.8v0c0.7,0.1,1.3,0.3,1.7,0.8c0.4,0.4,0.7,1,0.7,1.6c0,0.9-0.3,1.6-1,2.2c-0.7,0.5-1.6,0.8-2.7,0.8H13.3z&#xD;&#xA;	 M15.6,9.7V12h1c0.5,0,0.8-0.1,1.1-0.3c0.3-0.2,0.4-0.5,0.4-0.9c0-0.7-0.6-1.1-1.7-1.1H15.6z M15.6,13.7v2.6h1.2&#xD;&#xA;	c0.5,0,0.9-0.1,1.2-0.4c0.3-0.2,0.5-0.6,0.5-1c0-0.4-0.1-0.7-0.4-0.9c-0.3-0.2-0.7-0.3-1.2-0.3H15.6z M30,17.6&#xD;&#xA;	c-0.7,0.4-1.7,0.5-2.9,0.5c-1.6,0-2.8-0.4-3.7-1.3c-0.9-0.9-1.3-2.1-1.3-3.6c0-1.6,0.5-2.9,1.5-3.9c1-1,2.3-1.5,3.9-1.5&#xD;&#xA;	c1,0,1.8,0.1,2.5,0.4v2.2c-0.7-0.4-1.5-0.6-2.3-0.6c-1,0-1.7,0.3-2.3,0.9c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.7,0.8,2.3&#xD;&#xA;	c0.6,0.6,1.3,0.9,2.2,0.9c0.9,0,1.7-0.2,2.5-0.6V17.6z" /></g>
</g>
<g transform="translate(306, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0192 {fill:#727272;}
	.op50192 {opacity:0.5;}
</style>
<g id="SplitTable_1_" class="op50192" xmlns="http://www.w3.org/2000/svg">
	<path class="st0192" d="M10,8H2v6h8V8z M20,8h-8v6h8V8z M30,8h-8v6h8V8z M10,0H2v6h8V0z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M30,18h-8&#xD;&#xA;		v6h8V18z M20,18h-8v6h8V18z M10,18H2v6h8V18z M10,26H2v6h8V26z M20,26h-8v6h8V26z M30,26h-8v6h8V26z" />
</g>
</g>
<g transform="translate(306, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0192192_white { fill:#FFFFFF;}
	.op50192192_white {opacity:0.5;}
</style>
<g id="SplitTable_1_" class="op50192192_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0192192_white" d="M10,8H2v6h8V8z M20,8h-8v6h8V8z M30,8h-8v6h8V8z M10,0H2v6h8V0z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M30,18h-8&#xD;&#xA;		v6h8V18z M20,18h-8v6h8V18z M10,18H2v6h8V18z M10,26H2v6h8V26z M20,26h-8v6h8V26z M30,26h-8v6h8V26z" />
</g>
</g>
<g transform="translate(34, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0193 { fill:#727272;}
	.op50193 {opacity:0.5;}
</style>
<g class="op50193" xmlns="http://www.w3.org/2000/svg">
	<path class="st0193" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24&#xD;&#xA;		h-8v6h8V24z M30,24h-8v6h8V24z" />
</g>
<path class="st0193" d="M20,14h-8V8h8V14z M30,8h-8v6h8V8z M30,16h-8v6h8V16z M20,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0193193_white { fill:#FFFFFF;}
	.op50193193_white {opacity:0.5;}
</style>
<g class="op50193193_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0193193_white" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24&#xD;&#xA;		h-8v6h8V24z M30,24h-8v6h8V24z" />
</g>
<path class="st0193193_white" d="M20,14h-8V8h8V14z M30,8h-8v6h8V8z M30,16h-8v6h8V16z M20,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0194 {fill:#727272;}
	
	
	
	
	
	
</style>
<g id="Strikeout" xmlns="http://www.w3.org/2000/svg">
	<path class="st0194" d="M24,14h-7c-0.2-0.1-0.4-0.2-0.7-0.4c-0.7-0.3-1.4-0.6-2-0.9c-0.6-0.3-1-0.6-1.4-0.8c-0.4-0.3-0.7-0.6-0.9-1&#xD;&#xA;		s-0.3-0.8-0.3-1.2c0-0.5,0.1-0.9,0.4-1.3c0.3-0.4,0.6-0.6,1-0.9c0.4-0.2,0.9-0.4,1.4-0.5c0.5-0.1,1.1-0.1,1.6-0.1&#xD;&#xA;		c1.9,0,3.5,0.4,4.8,1.3V4.8c-1-0.5-2.7-0.8-5-0.8c-1,0-2,0.1-3,0.3c-1,0.2-1.8,0.6-2.6,1.1C9.8,5.9,9.2,6.5,8.7,7.2S8,8.8,8,9.8&#xD;&#xA;		c0,0.8,0.1,1.5,0.4,2.1c0.3,0.6,0.6,1.1,1.1,1.6c0.1,0.1,0.3,0.3,0.5,0.4H6v2h7.1c0.1,0,0.1,0.1,0.2,0.1c0.7,0.3,1.3,0.6,1.9,0.9&#xD;&#xA;		c0.6,0.3,1.1,0.6,1.6,0.9c0.4,0.3,0.8,0.6,1,1c0.2,0.4,0.4,0.8,0.4,1.3c0,0.9-0.4,1.7-1.1,2.2c-0.7,0.5-1.9,0.7-3.4,0.7&#xD;&#xA;		c-0.4,0-0.9,0-1.4-0.1s-1-0.2-1.6-0.4c-0.5-0.2-1-0.4-1.5-0.6c-0.5-0.2-0.9-0.5-1.2-0.8v3.6c0.3,0.2,0.7,0.4,1.2,0.5&#xD;&#xA;		c0.5,0.1,1,0.3,1.6,0.4c0.6,0.1,1.1,0.2,1.6,0.2c0.5,0.1,1,0.1,1.3,0.1c1.1,0,2.1-0.1,3.1-0.3s1.9-0.5,2.6-1&#xD;&#xA;		c0.8-0.5,1.4-1.1,1.8-1.8s0.7-1.7,0.7-2.7c0-0.8-0.2-1.5-0.4-2.1c-0.3-0.6-0.7-1.2-1.2-1.7c-0.1-0.1-0.2-0.2-0.3-0.3h4V14z" />
</g>
</g>
<g transform="translate(272, 850)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0194194_white { fill:#FFFFFF;}
	
	
	
	
	
	
</style>
<g id="Strikeout" xmlns="http://www.w3.org/2000/svg">
	<path class="st0194194_white" d="M24,14h-7c-0.2-0.1-0.4-0.2-0.7-0.4c-0.7-0.3-1.4-0.6-2-0.9c-0.6-0.3-1-0.6-1.4-0.8c-0.4-0.3-0.7-0.6-0.9-1&#xD;&#xA;		s-0.3-0.8-0.3-1.2c0-0.5,0.1-0.9,0.4-1.3c0.3-0.4,0.6-0.6,1-0.9c0.4-0.2,0.9-0.4,1.4-0.5c0.5-0.1,1.1-0.1,1.6-0.1&#xD;&#xA;		c1.9,0,3.5,0.4,4.8,1.3V4.8c-1-0.5-2.7-0.8-5-0.8c-1,0-2,0.1-3,0.3c-1,0.2-1.8,0.6-2.6,1.1C9.8,5.9,9.2,6.5,8.7,7.2S8,8.8,8,9.8&#xD;&#xA;		c0,0.8,0.1,1.5,0.4,2.1c0.3,0.6,0.6,1.1,1.1,1.6c0.1,0.1,0.3,0.3,0.5,0.4H6v2h7.1c0.1,0,0.1,0.1,0.2,0.1c0.7,0.3,1.3,0.6,1.9,0.9&#xD;&#xA;		c0.6,0.3,1.1,0.6,1.6,0.9c0.4,0.3,0.8,0.6,1,1c0.2,0.4,0.4,0.8,0.4,1.3c0,0.9-0.4,1.7-1.1,2.2c-0.7,0.5-1.9,0.7-3.4,0.7&#xD;&#xA;		c-0.4,0-0.9,0-1.4-0.1s-1-0.2-1.6-0.4c-0.5-0.2-1-0.4-1.5-0.6c-0.5-0.2-0.9-0.5-1.2-0.8v3.6c0.3,0.2,0.7,0.4,1.2,0.5&#xD;&#xA;		c0.5,0.1,1,0.3,1.6,0.4c0.6,0.1,1.1,0.2,1.6,0.2c0.5,0.1,1,0.1,1.3,0.1c1.1,0,2.1-0.1,3.1-0.3s1.9-0.5,2.6-1&#xD;&#xA;		c0.8-0.5,1.4-1.1,1.8-1.8s0.7-1.7,0.7-2.7c0-0.8-0.2-1.5-0.4-2.1c-0.3-0.6-0.7-1.2-1.2-1.7c-0.1-0.1-0.2-0.2-0.3-0.3h4V14z" />
</g>
</g>
<g transform="translate(442, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0195 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="StrikeoutDouble" xmlns="http://www.w3.org/2000/svg">
	<path class="st0195" d="M24,14h-7c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.7,1.5,1.1h4v2h-2.4c0.3,0.6,0.4,1.3,0.4,2.1&#xD;&#xA;		c0,1.1-0.2,2-0.7,2.7s-1,1.3-1.8,1.8c-0.8,0.5-1.6,0.8-2.6,1s-2,0.3-3.1,0.3c-0.4,0-0.8,0-1.3-0.1c-0.5-0.1-1.1-0.1-1.6-0.2&#xD;&#xA;		c-0.6-0.1-1.1-0.2-1.6-0.4C8.7,25.2,8.3,25,8,24.8v-3.6c0.3,0.3,0.7,0.6,1.2,0.8c0.5,0.2,1,0.4,1.5,0.6c0.5,0.2,1,0.3,1.6,0.4&#xD;&#xA;		s1,0.1,1.4,0.1c1.5,0,2.7-0.2,3.4-0.7c0.7-0.5,1.1-1.2,1.1-2.2c0-0.5-0.1-0.9-0.4-1.3c-0.2-0.3-0.5-0.6-0.9-0.9H6v-2h7.1&#xD;&#xA;		c-0.7-0.4-1.3-0.7-1.9-1.1c-0.5-0.3-0.8-0.6-1.2-0.9H6v-2h2.4c0,0,0,0,0,0C8.1,11.4,8,10.7,8,9.8c0-1,0.2-1.9,0.7-2.6&#xD;&#xA;		s1.1-1.3,1.8-1.8c0.8-0.5,1.6-0.8,2.6-1.1c1-0.2,1.9-0.3,3-0.3c2.3,0,4,0.3,5,0.8v3.5c-1.2-0.9-2.8-1.3-4.8-1.3&#xD;&#xA;		c-0.5,0-1.1,0-1.6,0.1c-0.5,0.1-1,0.3-1.4,0.5c-0.4,0.2-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.3c0,0.5,0.1,0.9,0.3,1.2&#xD;&#xA;		s0.5,0.7,0.9,1c0,0,0.1,0,0.1,0.1H24V14z" />
</g>
</g>
<g transform="translate(442, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0195195_white { fill:#FFFFFF;}
	
	
	
	
	
	
</style>
<g id="StrikeoutDouble" xmlns="http://www.w3.org/2000/svg">
	<path class="st0195195_white" d="M24,14h-7c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.7,1.5,1.1h4v2h-2.4c0.3,0.6,0.4,1.3,0.4,2.1&#xD;&#xA;		c0,1.1-0.2,2-0.7,2.7s-1,1.3-1.8,1.8c-0.8,0.5-1.6,0.8-2.6,1s-2,0.3-3.1,0.3c-0.4,0-0.8,0-1.3-0.1c-0.5-0.1-1.1-0.1-1.6-0.2&#xD;&#xA;		c-0.6-0.1-1.1-0.2-1.6-0.4C8.7,25.2,8.3,25,8,24.8v-3.6c0.3,0.3,0.7,0.6,1.2,0.8c0.5,0.2,1,0.4,1.5,0.6c0.5,0.2,1,0.3,1.6,0.4&#xD;&#xA;		s1,0.1,1.4,0.1c1.5,0,2.7-0.2,3.4-0.7c0.7-0.5,1.1-1.2,1.1-2.2c0-0.5-0.1-0.9-0.4-1.3c-0.2-0.3-0.5-0.6-0.9-0.9H6v-2h7.1&#xD;&#xA;		c-0.7-0.4-1.3-0.7-1.9-1.1c-0.5-0.3-0.8-0.6-1.2-0.9H6v-2h2.4c0,0,0,0,0,0C8.1,11.4,8,10.7,8,9.8c0-1,0.2-1.9,0.7-2.6&#xD;&#xA;		s1.1-1.3,1.8-1.8c0.8-0.5,1.6-0.8,2.6-1.1c1-0.2,1.9-0.3,3-0.3c2.3,0,4,0.3,5,0.8v3.5c-1.2-0.9-2.8-1.3-4.8-1.3&#xD;&#xA;		c-0.5,0-1.1,0-1.6,0.1c-0.5,0.1-1,0.3-1.4,0.5c-0.4,0.2-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.3c0,0.5,0.1,0.9,0.3,1.2&#xD;&#xA;		s0.5,0.7,0.9,1c0,0,0.1,0,0.1,0.1H24V14z" />
</g>
</g>
<g transform="translate(34, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50196 { opacity:0.5;}
	.st0196 { fill:#727272;}
</style>
<g id="Subscript" xmlns="http://www.w3.org/2000/svg">
	<g class="op50196"><path class="st0196" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z" /></g>
	<path class="st0196" d="M27.4,30.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9&#xD;&#xA;		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,22.1,29,22,28.6,22&#xD;&#xA;		c-0.6,0-1.1,0.1-1.6,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,25.4,25,26l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8&#xD;&#xA;		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.4,0.6,0.4,1.1&#xD;&#xA;		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6c-0.2,0.2-0.4,0.4-0.7,0.5c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9&#xD;&#xA;		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32v-1.7H27.4z" />
</g>
</g>
<g transform="translate(34, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50196196_white { opacity:0.5;}
	.st0196196_white { fill:#FFFFFF;}
</style>
<g id="Subscript" xmlns="http://www.w3.org/2000/svg">
	<g class="op50196196_white"><path class="st0196196_white" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z" /></g>
	<path class="st0196196_white" d="M27.4,30.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9&#xD;&#xA;		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,22.1,29,22,28.6,22&#xD;&#xA;		c-0.6,0-1.1,0.1-1.6,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,25.4,25,26l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8&#xD;&#xA;		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.4,0.6,0.4,1.1&#xD;&#xA;		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6c-0.2,0.2-0.4,0.4-0.7,0.5c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9&#xD;&#xA;		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32v-1.7H27.4z" />
</g>
</g>
<g transform="translate(102, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">	
	.op50197 { opacity:0.5;}	
	.st0197 { fill:#727272;}
</style>
<g id="Superscript" xmlns="http://www.w3.org/2000/svg">
	<g class="op50197"><path class="st0197" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z" /></g>
	<path class="st0197" d="M27.4,8.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9&#xD;&#xA;		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,0.1,29,0,28.6,0&#xD;&#xA;		C28,0,27.5,0.1,27,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,3.4,25,4l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8&#xD;&#xA;		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4C29.8,2.4,30,2.7,30,3.2&#xD;&#xA;		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6C29,4.8,28.8,5,28.6,5.2c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9&#xD;&#xA;		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32V8.3H27.4z" />
</g>
</g>
<g transform="translate(102, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">	
	.op50197197_white { opacity:0.5;}	
	.st0197197_white { fill:#FFFFFF;}
</style>
<g id="Superscript" xmlns="http://www.w3.org/2000/svg">
	<g class="op50197197_white"><path class="st0197197_white" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z" /></g>
	<path class="st0197197_white" d="M27.4,8.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9&#xD;&#xA;		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,0.1,29,0,28.6,0&#xD;&#xA;		C28,0,27.5,0.1,27,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,3.4,25,4l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8&#xD;&#xA;		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4C29.8,2.4,30,2.7,30,3.2&#xD;&#xA;		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6C29,4.8,28.8,5,28.6,5.2c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9&#xD;&#xA;		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32V8.3H27.4z" />
</g>
</g>
<g transform="translate(340, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0198 { fill:#727272;}
</style>
<path class="st0198" d="M28,14c0-6.6-5.4-12-12-12C9.4,2,4,7.4,4,14c0,2.9,2.3,6.7,4.8,10H4v4h8.2H14v-4v-0.1c-2.4-2.6-6-7-6-9.9&#xD;&#xA;	c0-4.4,3.6-8,8-8c4.4,0,8,3.6,8,8c0,3-3.6,7.4-6,9.9V24v4h1.8H28v-4h-4.8C25.7,20.7,28,16.9,28,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0198198_white { fill:#FFFFFF;}
</style>
<path class="st0198198_white" d="M28,14c0-6.6-5.4-12-12-12C9.4,2,4,7.4,4,14c0,2.9,2.3,6.7,4.8,10H4v4h8.2H14v-4v-0.1c-2.4-2.6-6-7-6-9.9&#xD;&#xA;	c0-4.4,3.6-8,8-8c4.4,0,8,3.6,8,8c0,3-3.6,7.4-6,9.9V24v4h1.8H28v-4h-4.8C25.7,20.7,28,16.9,28,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0199 { fill:#727272;}
	.st0199 { fill:#727272;}
	.op50199 {opacity:0.5;}
</style>
<path class="st0199" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50199" xmlns="http://www.w3.org/2000/svg">
	<path class="st0199" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8&#xD;&#xA;		V4H28z" />
</g>
<polygon class="st0199" points="20.7,4.7 22,6 22,2 18,2 19.3,3.3 16,6.6 12.7,3.3 14,2 10,2 10,6 11.3,4.7 14.6,8 11.3,11.3 10,10 &#xD;&#xA;	10,14 14,14 12.7,12.7 16,9.4 19.3,12.7 18,14 22,14 22,10 20.7,11.3 17.4,8 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0199199_white { fill:#FFFFFF;}
	.st0199199_white { fill:#FFFFFF;}
	.op50199199_white {opacity:0.5;}
</style>
<path class="st0199199_white" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50199199_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0199199_white" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8&#xD;&#xA;		V4H28z" />
</g>
<polygon class="st0199199_white" points="20.7,4.7 22,6 22,2 18,2 19.3,3.3 16,6.6 12.7,3.3 14,2 10,2 10,6 11.3,4.7 14.6,8 11.3,11.3 10,10 &#xD;&#xA;	10,14 14,14 12.7,12.7 16,9.4 19.3,12.7 18,14 22,14 22,10 20.7,11.3 17.4,8 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0200 { fill:#727272;}
	.st0200 { fill:#727272;}
	.op50200 {opacity:0.5;}
</style>
<path class="st0200" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50200" xmlns="http://www.w3.org/2000/svg">
	<path class="st0200" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8&#xD;&#xA;		V4H28z" />
</g>
<path class="st0200" d="M12.6,9.1c-0.8,0-1.4-0.2-1.9-0.7C10.2,8,10,7.4,10,6.6c0-0.8,0.2-1.5,0.7-1.9c0.5-0.5,1.2-0.7,2-0.7&#xD;&#xA;	c0.8,0,1.4,0.2,1.9,0.6c0.4,0.4,0.7,1,0.7,1.8c0,0.8-0.2,1.4-0.7,1.9C14,8.8,13.4,9.1,12.6,9.1z M20,4l-6.2,10H12l6.2-10H20z&#xD;&#xA;	 M12.7,5.2c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.3,1.3,1,1.3c0.7,0,1.1-0.5,1.1-1.4C13.7,5.6,13.4,5.2,12.7,5.2z M19.3,14&#xD;&#xA;	c-0.8,0-1.4-0.2-1.9-0.7c-0.5-0.4-0.7-1-0.7-1.8c0-0.8,0.2-1.5,0.7-1.9s1.2-0.7,2-0.7c0.8,0,1.4,0.2,1.9,0.6s0.7,1,0.7,1.8&#xD;&#xA;	c0,0.8-0.2,1.4-0.7,1.9S20.1,14,19.3,14z M19.4,10.1c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.4,1.3,1.1,1.3c0.7,0,1.1-0.5,1.1-1.4&#xD;&#xA;	c0-0.4-0.1-0.7-0.3-1C20,10.2,19.7,10.1,19.4,10.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 918)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0200200_white { fill:#FFFFFF;}
	.st0200200_white { fill:#FFFFFF;}
	.op50200200_white {opacity:0.5;}
</style>
<path class="st0200200_white" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50200200_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0200200_white" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8&#xD;&#xA;		V4H28z" />
</g>
<path class="st0200200_white" d="M12.6,9.1c-0.8,0-1.4-0.2-1.9-0.7C10.2,8,10,7.4,10,6.6c0-0.8,0.2-1.5,0.7-1.9c0.5-0.5,1.2-0.7,2-0.7&#xD;&#xA;	c0.8,0,1.4,0.2,1.9,0.6c0.4,0.4,0.7,1,0.7,1.8c0,0.8-0.2,1.4-0.7,1.9C14,8.8,13.4,9.1,12.6,9.1z M20,4l-6.2,10H12l6.2-10H20z&#xD;&#xA;	 M12.7,5.2c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.3,1.3,1,1.3c0.7,0,1.1-0.5,1.1-1.4C13.7,5.6,13.4,5.2,12.7,5.2z M19.3,14&#xD;&#xA;	c-0.8,0-1.4-0.2-1.9-0.7c-0.5-0.4-0.7-1-0.7-1.8c0-0.8,0.2-1.5,0.7-1.9s1.2-0.7,2-0.7c0.8,0,1.4,0.2,1.9,0.6s0.7,1,0.7,1.8&#xD;&#xA;	c0,0.8-0.2,1.4-0.7,1.9S20.1,14,19.3,14z M19.4,10.1c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.4,1.3,1.1,1.3c0.7,0,1.1-0.5,1.1-1.4&#xD;&#xA;	c0-0.4-0.1-0.7-0.3-1C20,10.2,19.7,10.1,19.4,10.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0201 { fill:#727272;}
	.st0201 { fill:#727272;}
</style>
<path class="st0201" d="M32,6V4h-4V0h-2v4H6V0H4v4H0v2h4v20H0v2h4v4h2v-4h20v4h2v-4h4v-2h-4V6H32z M26,26H6V6h20V26z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0201" d="M8,8v16h16V8H8z M22,22H10V10h12V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0201201_white { fill:#FFFFFF;}
	.st0201201_white { fill:#FFFFFF;}
</style>
<path class="st0201201_white" d="M32,6V4h-4V0h-2v4H6V0H4v4H0v2h4v20H0v2h4v4h2v-4h20v4h2v-4h4v-2h-4V6H32z M26,26H6V6h20V26z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0201201_white" d="M8,8v16h16V8H8z M22,22H10V10h12V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0202 {fill:#727272;}
	.op50202 {opacity:0.5;}
</style>
<path class="st0202" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50202" xmlns="http://www.w3.org/2000/svg">
	<path class="st0202" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8V4&#xD;&#xA;		H28z" />
</g>
<path class="st0202" d="M21,6h-1V3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V7&#xD;&#xA;	C22,6.4,21.6,6,21,6z M14,3c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V3z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0202202_white { fill:#FFFFFF;}
	.op50202202_white {opacity:0.5;}
</style>
<path class="st0202202_white" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50202202_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0202202_white" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8V4&#xD;&#xA;		H28z" />
</g>
<path class="st0202202_white" d="M21,6h-1V3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V7&#xD;&#xA;	C22,6.4,21.6,6,21,6z M14,3c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V3z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0203 { fill:#727272;}
	.op75203 { opacity:0.75;}
	.op50203 {opacity:0.5;}
</style>
<g class="op50203" xmlns="http://www.w3.org/2000/svg">
	<path class="st0203" d="M10,18.1V22H2v-6h4.2c0.2,0.5,0.4,0.9,0.7,1.2c0.6,0.6,1.4,0.9,2.3,0.9C9.5,18.2,9.8,18.1,10,18.1z M12,30h8&#xD;&#xA;		v-6h-8V30z M2,30h8v-6H2V30z M27.3,16l-3,3c-0.6,0.6-1.4,1-2.3,1v2h8v-6h-1H27.3z M22,30h8v-6h-8V30z M19.6,19&#xD;&#xA;		c-0.4-0.4-0.7-1-0.9-1.5c-0.6-0.1-1.1-0.4-1.5-0.9c-0.2-0.2-0.3-0.4-0.5-0.6h-3.9L12,16.8V22h8v-2.7C19.9,19.2,19.7,19.1,19.6,19z" />
</g>
<g class="op75203" xmlns="http://www.w3.org/2000/svg"><path class="st0203" d="M29,2h-7v0c-1,0-2,0.4-2.8,1.1L16,6.4L8.4,14c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l7.7-7.7&#xD;&#xA;	c0.6-0.6,1.2,0,0.6,0.6L16.2,11c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6l-2.3,2.3&#xD;&#xA;	c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6L21,15.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0&#xD;&#xA;	l3.6-3.6H29c1.7,0,3-1.4,3-3V5C32,3.3,30.7,2,29,2z" /></g>
<path class="st0203" d="M6.9,12.6L10,9.5V8H2v6h4.1C6.3,13.5,6.6,13,6.9,12.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0203203_white { fill:#FFFFFF;}
	.op75203203_white { opacity:0.75;}
	.op50203203_white {opacity:0.5;}
</style>
<g class="op50203203_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0203203_white" d="M10,18.1V22H2v-6h4.2c0.2,0.5,0.4,0.9,0.7,1.2c0.6,0.6,1.4,0.9,2.3,0.9C9.5,18.2,9.8,18.1,10,18.1z M12,30h8&#xD;&#xA;		v-6h-8V30z M2,30h8v-6H2V30z M27.3,16l-3,3c-0.6,0.6-1.4,1-2.3,1v2h8v-6h-1H27.3z M22,30h8v-6h-8V30z M19.6,19&#xD;&#xA;		c-0.4-0.4-0.7-1-0.9-1.5c-0.6-0.1-1.1-0.4-1.5-0.9c-0.2-0.2-0.3-0.4-0.5-0.6h-3.9L12,16.8V22h8v-2.7C19.9,19.2,19.7,19.1,19.6,19z" />
</g>
<g class="op75203203_white" xmlns="http://www.w3.org/2000/svg"><path class="st0203203_white" d="M29,2h-7v0c-1,0-2,0.4-2.8,1.1L16,6.4L8.4,14c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l7.7-7.7&#xD;&#xA;	c0.6-0.6,1.2,0,0.6,0.6L16.2,11c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6l-2.3,2.3&#xD;&#xA;	c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6L21,15.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0&#xD;&#xA;	l3.6-3.6H29c1.7,0,3-1.4,3-3V5C32,3.3,30.7,2,29,2z" /></g>
<path class="st0203203_white" d="M6.9,12.6L10,9.5V8H2v6h4.1C6.3,13.5,6.6,13,6.9,12.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0204 { fill:#727272;}
	.st0204 { fill:#727272;}
	.op50204 {opacity:0.5;}
</style>
<g class="op50204" xmlns="http://www.w3.org/2000/svg">
	<path class="st0204" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;		c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" />
</g>
<path class="st0204" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z&#xD;&#xA;	 M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0204204_white { fill:#FFFFFF;}
	.st0204204_white { fill:#FFFFFF;}
	.op50204204_white {opacity:0.5;}
</style>
<g class="op50204204_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0204204_white" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;		c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" />
</g>
<path class="st0204204_white" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z&#xD;&#xA;	 M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0205 { fill:#727272;}
	.st0205 { fill:#727272;}
	.op50205 {opacity:0.5;}
</style>
<path class="st0205" d="M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50205" xmlns="http://www.w3.org/2000/svg">
	<path class="st0205" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z" />
</g>
<path class="st0205" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0205205_white { fill:#FFFFFF;}
	.st0205205_white { fill:#FFFFFF;}
	.op50205205_white {opacity:0.5;}
</style>
<path class="st0205205_white" d="M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50205205_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0205205_white" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z" />
</g>
<path class="st0205205_white" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0206 { fill:#727272;}
	.st0206 { fill:#727272;}
</style>
<path class="st0206" d="M16.1,16.2C17.8,14.5,20,11.6,20,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C6.8,16.7,6,17.7,6,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C18,17.7,17.2,16.7,16.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0206" d="M31,0H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h30c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,28H2V2h28V28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="4" y="4" class="st0206" width="24" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="4" y="24" class="st0206" width="24" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="20" class="st0206" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0206206_white { fill:#FFFFFF;}
	.st0206206_white { fill:#FFFFFF;}
</style>
<path class="st0206206_white" d="M16.1,16.2C17.8,14.5,20,11.6,20,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C6.8,16.7,6,17.7,6,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C18,17.7,17.2,16.7,16.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0206206_white" d="M31,0H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h30c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,28H2V2h28V28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="4" y="4" class="st0206206_white" width="24" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="4" y="24" class="st0206206_white" width="24" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="20" class="st0206206_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0207 { fill:#727272;}
	.st0207 { fill:#727272;}
</style>
<path class="st0207" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0207" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 748)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0207207_white { fill:#FFFFFF;}
	.st0207207_white { fill:#FFFFFF;}
</style>
<path class="st0207207_white" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0207207_white" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0208 { fill:#727272;}
	.st0208 { fill:#727272;}
</style>
<path class="st0208" d="M6,6H4V4h24v2h-2h-2H8H6z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z M16,10c0.5-0.7,1.2-1.4,2-2h-4&#xD;&#xA;	C14.8,8.6,15.5,9.3,16,10z M24,22h4v-2h-4V22z M26,10h2V8h-2V10z M8,20H4v2h4V20z M28,24H4v2h24V24z M6,8H4v2h2V8z M32,1v28&#xD;&#xA;	c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z M8,16H4v2h4V16z M6,12H4v2h2V12z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0208" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0208208_white { fill:#FFFFFF;}
	.st0208208_white { fill:#FFFFFF;}
</style>
<path class="st0208208_white" d="M6,6H4V4h24v2h-2h-2H8H6z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z M16,10c0.5-0.7,1.2-1.4,2-2h-4&#xD;&#xA;	C14.8,8.6,15.5,9.3,16,10z M24,22h4v-2h-4V22z M26,10h2V8h-2V10z M8,20H4v2h4V20z M28,24H4v2h24V24z M6,8H4v2h2V8z M32,1v28&#xD;&#xA;	c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z M8,16H4v2h4V16z M6,12H4v2h2V12z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0208208_white" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0209 { fill:#727272;}
	.st0209 { fill:#727272;}
</style>
<path class="st0209" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M8,22H4v-2h4V22z M8,16H4v2h4V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M24,22h4v-2h-4V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0209" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0209209_white { fill:#FFFFFF;}
	.st0209209_white { fill:#FFFFFF;}
</style>
<path class="st0209209_white" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M8,22H4v-2h4V22z M8,16H4v2h4V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M24,22h4v-2h-4V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0209209_white" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0210 { fill:#727272;}
	.st0210 { fill:#727272;}
</style>
<path class="st0210" d="M6,6H4V4h24v2h-2h-2H8H6z M28,24H4v2h24V24z M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1&#xD;&#xA;	h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0210" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 782)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0210210_white { fill:#FFFFFF;}
	.st0210210_white { fill:#FFFFFF;}
</style>
<path class="st0210210_white" d="M6,6H4V4h24v2h-2h-2H8H6z M28,24H4v2h24V24z M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1&#xD;&#xA;	h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0210210_white" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0211 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0211" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0211" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="2" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="26" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0211" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="2" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="26" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 680)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0211211_white { fill:#FFFFFF;enable-background:new    ;}
</style>
<path class="st0211211_white" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0211211_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0211211_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0211211_white" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="2" class="st0211211_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="26" class="st0211211_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0211211_white" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="2" class="st0211211_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="26" class="st0211211_white" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50212 {opacity:0.5;}
	.st0212 {fill:#727272;}
</style>
<g id="_x32_" class="op50212" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_5_" class="st0212" d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.6,0.4,1,1,1h22C23.5,18,24,17.6,24,17z&#xD;&#xA;		 M10,5.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,5.9,8.8,6.1,8.8,6.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,8.4,8.3,8.6,8.2,8.7&#xD;&#xA;		C8,8.8,7.8,8.9,7.5,9c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.6,0.2,1.1c0,0.5,0,0.8,0.1,0.9&#xD;&#xA;		s0.2,0.2,0.3,0.3s0.4,0.1,0.9,0.1V14H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6&#xD;&#xA;		c0-0.4,0-0.7-0.1-0.9C6.1,10.2,5.3,9.9,5,9.9V8.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4&#xD;&#xA;		c0-0.6,0.1-1.1,0.2-1.3C6.6,4.7,6.8,4.5,7,4.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,4,8.6,4,9.1,4H10V5.7z M19,9.9c-0.3,0-1.1,0.3-1.2,0.5&#xD;&#xA;		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7&#xD;&#xA;		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3&#xD;&#xA;		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4&#xD;&#xA;		c-0.1-0.1-0.3-0.1-0.6-0.1H14V4h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3&#xD;&#xA;		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V9.9z" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_2_" class="st0212" d="M24.2,21.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3&#xD;&#xA;		c0.3,0,0.5-0.1,0.6-0.1C26,26,26.4,21.6,24.2,21.6z" />
	<path id="layer_1_" class="st0212" d="M14,25.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8v-0.8c-0.1,0.1-0.6,0.2-0.7,0.2&#xD;&#xA;		C14,24.4,14,25.6,14,25.8z" />
	<path id="layer" class="st0212" d="M31,14H9c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h22c0.5,0,1-0.4,1-1V15C32,14.4,31.5,14,31,14z&#xD;&#xA;		 M17.2,27.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-2.6,0-2.7-1.7-2.7-2.1&#xD;&#xA;		c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2&#xD;&#xA;		c0-0.5,0.3-2.6,3.4-2.6c2.7,0,3.3,1.8,3.3,2.2v4c0,0.4,0.2,1.6,0.3,1.7H17.2z M24.9,28.1c-0.5,0-1-0.1-1.5-0.3&#xD;&#xA;		c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V18h2.1v3.2c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c2.9,0,3.1,3.4,3.1,4.1&#xD;&#xA;		C28,24.8,27.7,28.1,24.9,28.1z" />
</g>
</g>
<g transform="translate(408, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50212212_white {opacity:0.5;}
	.st0212212_white { fill:#FFFFFF;}
</style>
<g id="_x32_" class="op50212212_white" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_5_" class="st0212212_white" d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.6,0.4,1,1,1h22C23.5,18,24,17.6,24,17z&#xD;&#xA;		 M10,5.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,5.9,8.8,6.1,8.8,6.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,8.4,8.3,8.6,8.2,8.7&#xD;&#xA;		C8,8.8,7.8,8.9,7.5,9c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.6,0.2,1.1c0,0.5,0,0.8,0.1,0.9&#xD;&#xA;		s0.2,0.2,0.3,0.3s0.4,0.1,0.9,0.1V14H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6&#xD;&#xA;		c0-0.4,0-0.7-0.1-0.9C6.1,10.2,5.3,9.9,5,9.9V8.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4&#xD;&#xA;		c0-0.6,0.1-1.1,0.2-1.3C6.6,4.7,6.8,4.5,7,4.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,4,8.6,4,9.1,4H10V5.7z M19,9.9c-0.3,0-1.1,0.3-1.2,0.5&#xD;&#xA;		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7&#xD;&#xA;		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3&#xD;&#xA;		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4&#xD;&#xA;		c-0.1-0.1-0.3-0.1-0.6-0.1H14V4h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3&#xD;&#xA;		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V9.9z" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_2_" class="st0212212_white" d="M24.2,21.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3&#xD;&#xA;		c0.3,0,0.5-0.1,0.6-0.1C26,26,26.4,21.6,24.2,21.6z" />
	<path id="layer_1_" class="st0212212_white" d="M14,25.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8v-0.8c-0.1,0.1-0.6,0.2-0.7,0.2&#xD;&#xA;		C14,24.4,14,25.6,14,25.8z" />
	<path id="layer" class="st0212212_white" d="M31,14H9c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h22c0.5,0,1-0.4,1-1V15C32,14.4,31.5,14,31,14z&#xD;&#xA;		 M17.2,27.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-2.6,0-2.7-1.7-2.7-2.1&#xD;&#xA;		c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2&#xD;&#xA;		c0-0.5,0.3-2.6,3.4-2.6c2.7,0,3.3,1.8,3.3,2.2v4c0,0.4,0.2,1.6,0.3,1.7H17.2z M24.9,28.1c-0.5,0-1-0.1-1.5-0.3&#xD;&#xA;		c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V18h2.1v3.2c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c2.9,0,3.1,3.4,3.1,4.1&#xD;&#xA;		C28,24.8,27.7,28.1,24.9,28.1z" />
</g>
</g>
<g transform="translate(374, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0213 {fill:#727272;}
</style>
<path class="st0213" d="M14,8H2V6h12V8z M30,6H18v2h12V6z M14,10H2v2h12V10z M30,10H18v2h12V10z M14,14H2v2h12V14z M30,14H18v2h12V14z&#xD;&#xA;	 M14,18H2v2h12V18z M30,18H18v2h12V18z M14,22H2v2h12V22z M30,22H18v2h12V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="18" y="2" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="18" y="26" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0213213_white { fill:#FFFFFF;}
</style>
<path class="st0213213_white" d="M14,8H2V6h12V8z M30,6H18v2h12V6z M14,10H2v2h12V10z M30,10H18v2h12V10z M14,14H2v2h12V14z M30,14H18v2h12V14z&#xD;&#xA;	 M14,18H2v2h12V18z M30,18H18v2h12V18z M14,22H2v2h12V22z M30,22H18v2h12V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0213213_white" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="18" y="2" class="st0213213_white" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0213213_white" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="18" y="26" class="st0213213_white" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0214 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="Underline" xmlns="http://www.w3.org/2000/svg">
	<path class="st0214" d="M8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24v11.4c0,5.7-2.7,8.6-8.2,8.6&#xD;&#xA;		C10.6,24,8,21.2,8,15.7z M6,28v2h20v-2H6z" />
</g>
</g>
<g transform="translate(340, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0214214_white { fill:#FFFFFF;}
	
	
	
	
	
	
</style>
<g id="Underline" xmlns="http://www.w3.org/2000/svg">
	<path class="st0214214_white" d="M8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24v11.4c0,5.7-2.7,8.6-8.2,8.6&#xD;&#xA;		C10.6,24,8,21.2,8,15.7z M6,28v2h20v-2H6z" />
</g>
</g>
<g transform="translate(306, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0215 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="UnderlineDouble" xmlns="http://www.w3.org/2000/svg">
	<path class="st0215" d="M24,15.4c0,5.7-2.7,8.6-8.2,8.6C10.6,24,8,21.2,8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24&#xD;&#xA;		V15.4z M26,26H6v2h20V26z M26,30H6v2h20V30z" />
</g>
</g>
<g transform="translate(306, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0215215_white { fill:#FFFFFF;}
	
	
	
	
	
	
</style>
<g id="UnderlineDouble" xmlns="http://www.w3.org/2000/svg">
	<path class="st0215215_white" d="M24,15.4c0,5.7-2.7,8.6-8.2,8.6C10.6,24,8,21.2,8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24&#xD;&#xA;		V15.4z M26,26H6v2h20V26z M26,30H6v2h20V30z" />
</g>
</g>
<g transform="translate(272, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0216 { fill:#727272;}
</style>
<path class="st0216" d="M32,26c0,0,0-8-16-8v6L0,14L16,4v6C32,10,32,26,32,26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0216216_white { fill:#FFFFFF;}
</style>
<path class="st0216216_white" d="M32,26c0,0,0-8-16-8v6L0,14L16,4v6C32,10,32,26,32,26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75217 { opacity:0.75;}
	.st0217 { fill:#727272;}
</style>
<g class="op75217" xmlns="http://www.w3.org/2000/svg"><path class="st0217" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
<path class="st0217" d="M10,18h11c-0.4,0.6-0.8,1.3-0.9,2H10V18z M10,24h8.2c0.3-0.9,1-1.5,1.8-1.8V22H10V24z M6,10.8l-2,2V29&#xD;&#xA;	c0,0.6,0.4,1,1,1h13v-2H6V10.8z M27,4H12.8l-2,2H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,14v2h12v-2H10z M12.8,12H22&#xD;&#xA;	v-2h-7.2L12.8,12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0217" points="12,2 10,0 6,4 2,0 0,2 4,6 0,10 2,12 6,8 10,12 12,10 8,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75217217_white { opacity:0.75;}
	.st0217217_white { fill:#FFFFFF;}
</style>
<g class="op75217217_white" xmlns="http://www.w3.org/2000/svg"><path class="st0217217_white" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
<path class="st0217217_white" d="M10,18h11c-0.4,0.6-0.8,1.3-0.9,2H10V18z M10,24h8.2c0.3-0.9,1-1.5,1.8-1.8V22H10V24z M6,10.8l-2,2V29&#xD;&#xA;	c0,0.6,0.4,1,1,1h13v-2H6V10.8z M27,4H12.8l-2,2H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,14v2h12v-2H10z M12.8,12H22&#xD;&#xA;	v-2h-7.2L12.8,12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0217217_white" points="12,2 10,0 6,4 2,0 0,2 4,6 0,10 2,12 6,8 10,12 12,10 8,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0218 { fill:#727272;}
	.op50218 { opacity:0.5;}
</style>
<g xmlns="http://www.w3.org/2000/svg">
	<g>
		<g class="op50218"><path class="st0218" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14&#xD;&#xA;			c0,0.5,0.5,1,1,1H16.1L16.1,22z" /></g>
	</g>
	<g>
		<g class="op50218"><path class="st0218" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14&#xD;&#xA;			c0,0.5,0.5,1,1,1H16.1L16.1,22z" /></g>
	</g>
</g>
<path class="st0218" d="M32,16v6h-0.1h-2H26l2.5-2.5C27.6,18.6,26.4,18,25,18c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6&#xD;&#xA;	c1.9,0,3.7,0.8,4.9,2.1L32,16z M25,28c-1.4,0-2.6-0.6-3.5-1.5L24,24h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1&#xD;&#xA;	c3.5,0,6.4-2.6,6.9-6h-2C29.4,26.3,27.4,28,25,28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0218218_white { fill:#FFFFFF;}
	.op50218218_white { opacity:0.5;}
</style>
<g xmlns="http://www.w3.org/2000/svg">
	<g>
		<g class="op50218218_white"><path class="st0218218_white" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14&#xD;&#xA;			c0,0.5,0.5,1,1,1H16.1L16.1,22z" /></g>
	</g>
	<g>
		<g class="op50218218_white"><path class="st0218218_white" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14&#xD;&#xA;			c0,0.5,0.5,1,1,1H16.1L16.1,22z" /></g>
	</g>
</g>
<path class="st0218218_white" d="M32,16v6h-0.1h-2H26l2.5-2.5C27.6,18.6,26.4,18,25,18c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6&#xD;&#xA;	c1.9,0,3.7,0.8,4.9,2.1L32,16z M25,28c-1.4,0-2.6-0.6-3.5-1.5L24,24h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1&#xD;&#xA;	c3.5,0,6.4-2.6,6.9-6h-2C29.4,26.3,27.4,28,25,28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50219 {opacity:0.5;}
	.st0219 {fill:#727272;}
</style>
<g class="op50219" xmlns="http://www.w3.org/2000/svg">
	<path class="st0219" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,14h-2v2h2V14z M16,8h-2V6h2V8z M16,10h-2v2h2V10z M16,18h-2v2h2V18z&#xD;&#xA;		 M16,22h-2v2h2V22z M16,14h-2v2h2V14z" />
</g>
<path class="st0219" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0219" d="M12,8H6V6h6V8z M12,18H6v2h6V18z M16,28H4V2h22v14.1c0.7,0.1,1.4,0.2,2,0.5V1c0-0.6-0.4-1-1-1H3&#xD;&#xA;	C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h13V28z M6,24h6v-2H6V24z M12,10H6v2h6V10z M12,14H6v2h6V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0219" d="M32,18v6h-0.1h-2H26l2.5-2.5C27.6,20.6,26.4,20,25,20c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6&#xD;&#xA;	c1.9,0,3.7,0.8,4.9,2.1L32,18z M25,30c-1.4,0-2.6-0.6-3.5-1.5L24,26h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1&#xD;&#xA;	c3.5,0,6.4-2.6,6.9-6h-2C29.4,28.3,27.4,30,25,30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 714)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50219219_white {opacity:0.5;}
	.st0219219_white { fill:#FFFFFF;}
</style>
<g class="op50219219_white" xmlns="http://www.w3.org/2000/svg">
	<path class="st0219219_white" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,14h-2v2h2V14z M16,8h-2V6h2V8z M16,10h-2v2h2V10z M16,18h-2v2h2V18z&#xD;&#xA;		 M16,22h-2v2h2V22z M16,14h-2v2h2V14z" />
</g>
<path class="st0219219_white" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0219219_white" d="M12,8H6V6h6V8z M12,18H6v2h6V18z M16,28H4V2h22v14.1c0.7,0.1,1.4,0.2,2,0.5V1c0-0.6-0.4-1-1-1H3&#xD;&#xA;	C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h13V28z M6,24h6v-2H6V24z M12,10H6v2h6V10z M12,14H6v2h6V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0219219_white" d="M32,18v6h-0.1h-2H26l2.5-2.5C27.6,20.6,26.4,20,25,20c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6&#xD;&#xA;	c1.9,0,3.7,0.8,4.9,2.1L32,18z M25,30c-1.4,0-2.6-0.6-3.5-1.5L24,26h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1&#xD;&#xA;	c3.5,0,6.4-2.6,6.9-6h-2C29.4,28.3,27.4,30,25,30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0220 { fill:#727272;}
	.op50220 { opacity:0.5;}
</style>
<path class="st0220" d="M6,6h18v2H6V6z M21.4,28H4V2h22v21.4l2,2V1c0-0.5-0.5-1-1-1H3C2.5,0,2,0.5,2,1v28c0,0.5,0.5,1,1,1h20.4&#xD;&#xA;	L21.4,28z M12,14H6v2h6V14z M10,18H6v2h4V18z M10,22H6v2h4V22z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50220" xmlns="http://www.w3.org/2000/svg"><rect x="6" y="10" class="st0220" width="18" height="2" /></g>
<path class="st0220" d="M27.6,27.9L23,23.3c0.6-0.9,1-2.1,1-3.3c0-3.3-2.7-6-6-6c-3.3,0-6,2.7-6,6s2.7,6,6,6c1.2,0,2.3-0.4,3.3-1&#xD;&#xA;	l4.6,4.6c0.5,0.5,1.3,0.5,1.7,0C28.1,29.2,28.1,28.4,27.6,27.9z M18,24c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4&#xD;&#xA;	C22,22.2,20.2,24,18,24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 646)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0220220_white { fill:#FFFFFF;}
	.op50220220_white { opacity:0.5;}
</style>
<path class="st0220220_white" d="M6,6h18v2H6V6z M21.4,28H4V2h22v21.4l2,2V1c0-0.5-0.5-1-1-1H3C2.5,0,2,0.5,2,1v28c0,0.5,0.5,1,1,1h20.4&#xD;&#xA;	L21.4,28z M12,14H6v2h6V14z M10,18H6v2h4V18z M10,22H6v2h4V22z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50220220_white" xmlns="http://www.w3.org/2000/svg"><rect x="6" y="10" class="st0220220_white" width="18" height="2" /></g>
<path class="st0220220_white" d="M27.6,27.9L23,23.3c0.6-0.9,1-2.1,1-3.3c0-3.3-2.7-6-6-6c-3.3,0-6,2.7-6,6s2.7,6,6,6c1.2,0,2.3-0.4,3.3-1&#xD;&#xA;	l4.6,4.6c0.5,0.5,1.3,0.5,1.7,0C28.1,29.2,28.1,28.4,27.6,27.9z M18,24c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4&#xD;&#xA;	C22,22.2,20.2,24,18,24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0221 { fill:#727272;}
</style>
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st0221" d="M8,10H6v2h2V10z M16,10h-2v2h2V10z M24,10h-2v2h2V10z M8,18H6v2h2V18z M16,18h-2v2h2V18z M24,18h-2v2h2V18z&#xD;&#xA;		 M12,6h-2v2h2V6z M12,10h-2v2h2V10z M12,14h-2v2h2V14z M12,18h-2v2h2V18z M12,22h-2v2h2V22z M20,6h-2v2h2V6z M20,10h-2v2h2V10z&#xD;&#xA;		 M20,14h-2v2h2V14z M20,18h-2v2h2V18z M20,22h-2v2h2V22z" />
</g>
<path class="st0221" d="M27,2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 952)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0221221_white { fill:#FFFFFF;}
</style>
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st0221221_white" d="M8,10H6v2h2V10z M16,10h-2v2h2V10z M24,10h-2v2h2V10z M8,18H6v2h2V18z M16,18h-2v2h2V18z M24,18h-2v2h2V18z&#xD;&#xA;		 M12,6h-2v2h2V6z M12,10h-2v2h2V10z M12,14h-2v2h2V14z M12,18h-2v2h2V18z M12,22h-2v2h2V22z M20,6h-2v2h2V6z M20,10h-2v2h2V10z&#xD;&#xA;		 M20,14h-2v2h2V14z M20,18h-2v2h2V18z M20,22h-2v2h2V22z" />
</g>
<path class="st0221221_white" d="M27,2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0222 { fill:#727272;}
	.st0222 { fill:#727272;}
</style>
<polygon class="st0222" points="18,12 14,12 14,8 12,8 12,12 8,12 8,14 12,14 12,18 14,18 14,14 18,14 " xmlns="http://www.w3.org/2000/svg" />
<path class="st0222" d="M29.7,27.3L22,19.6c0,0-0.1-0.1-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13&#xD;&#xA;	s4.9,11,11,11c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z&#xD;&#xA;	 M4,13c0-5,4-9,9-9c5,0,9,4,9,9s-4,9-9,9C8,22,4,18,4,13z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 884)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0222222_white { fill:#FFFFFF;}
	.st0222222_white { fill:#FFFFFF;}
</style>
<polygon class="st0222222_white" points="18,12 14,12 14,8 12,8 12,12 8,12 8,14 12,14 12,18 14,18 14,14 18,14 " xmlns="http://www.w3.org/2000/svg" />
<path class="st0222222_white" d="M29.7,27.3L22,19.6c0,0-0.1-0.1-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13&#xD;&#xA;	s4.9,11,11,11c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z&#xD;&#xA;	 M4,13c0-5,4-9,9-9c5,0,9,4,9,9s-4,9-9,9C8,22,4,18,4,13z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0223 { fill:#727272;}
	.st0223 { fill:#727272;}
</style>
<g id="Zoom_Out" xmlns="http://www.w3.org/2000/svg">
	<rect x="8" y="12" class="st0223" width="10" height="2" />
	<path class="st0223" d="M29.7,27.3l-7.9-7.9c1.3-1.8,2.1-4,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.6-0.8,6.5-2.1l7.9,7.9c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13c0-5,4-9,9-9c5,0,9,4,9,9&#xD;&#xA;		s-4,9-9,9C8,22,4,18,4,13z" />
</g>
</g>
<g transform="translate(442, 986)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0223223_white { fill:#FFFFFF;}
	.st0223223_white { fill:#FFFFFF;}
</style>
<g id="Zoom_Out" xmlns="http://www.w3.org/2000/svg">
	<rect x="8" y="12" class="st0223223_white" width="10" height="2" />
	<path class="st0223223_white" d="M29.7,27.3l-7.9-7.9c1.3-1.8,2.1-4,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.6-0.8,6.5-2.1l7.9,7.9c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13c0-5,4-9,9-9c5,0,9,4,9,9&#xD;&#xA;		s-4,9-9,9C8,22,4,18,4,13z" />
</g>
</g>

</svg>
 { <?xml version="1.0" encoding="utf-8"?>

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="538" height="510">
<g transform="translate(0, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st00 { fill:#727272;}

</style>
<path class="st00" d="M16,16H6v-2h10V16z M16,18H6v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st00" d="M26,26v3c0,0.6-0.4,1-1,1H1c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1h24c0.6,0,1,0.4,1,1v7h-2V2H2v26h22v-2H26z&#xD;&#xA;	 M20,6H6v2h14V6z M16,10H6v2h10V10z M16,22H6v2h10V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st00" d="M31,10H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V11C32,10.4,31.6,10,31,10z M30,18h-4v4h-2&#xD;&#xA;	v-4h-4v-2h4v-4h2v4h4V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st01 { fill:#727272;}
	.st01 { fill:#727272;}
</style>
<path class="st01" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st01" d="M20,16H10v2h10V16z M24,20H6v2h18V20z M20,24H10v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st02 { fill:#727272;}
	.st02 { fill:#727272;}
</style>
<path class="st02" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st02" d="M14,16H4v2h10V16z M20,20H4v2h16V20z M14,24H4v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st03 { fill:#727272;}
	.st03 { fill:#727272;}
</style>
<path class="st03" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st03" d="M26,16H16v2h10V16z M26,20H10v2h16V20z M26,24H16v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st04 { fill:#727272;}
</style>
<path id="Align_Center_1_" class="st04" d="M28,8H4V6h24V8z M24,10H8v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M24,18H8v2h16&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op755 { opacity:0.75;}
	.st05 { fill:#727272;}
</style>
<path class="st05" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,22h-6v-2h6V22z M26,26h-6v-2h6V26z M10,22H4v-2h6V22z M10,26H4v-2h6V26z M26,14H4v-2h22V14z&#xD;&#xA;	 M26,18H4v-2h22V18z" xmlns="http://www.w3.org/2000/svg" />
<g class="op755" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="20" class="st05" width="6" height="6" /></g>
</g>
<g transform="translate(374, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op756 { opacity:0.75;}
	.st06 { fill:#727272;}
</style>
<path class="st06" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H12v-2h14V22z M26,26H12v-2h14V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op756" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="20" class="st06" width="6" height="6" /></g>
</g>
<g transform="translate(34, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op757 { opacity:0.75;}
	.st07 { fill:#727272;}
</style>
<path class="st07" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M18,22H4v-2h14V22z M18,26H4v-2h14V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op757" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="20" class="st07" width="6" height="6" /></g>
</g>
<g transform="translate(68, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op758 { opacity:0.75;}
	.st08 { fill:#727272;}
</style>
<path class="st08" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14h-6v-2h6V14z M26,18h-6v-2h6V18z M10,14H4v-2h6V14z M10,18H4v-2h6V18z M26,22H4v-2h22V22z&#xD;&#xA;	 M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op758" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="12" class="st08" width="6" height="6" /></g>
</g>
<g transform="translate(102, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op759 { opacity:0.75;}
	.st09 { fill:#727272;}
</style>
<path class="st09" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M26,14H12v-2h14V14z M26,18H12v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op759" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="12" class="st09" width="6" height="6" /></g>
</g>
<g transform="translate(136, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7510 { opacity:0.75;}
	.st010 { fill:#727272;}
</style>
<path class="st010" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H4V4h22V6z M26,10H4V8h22V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7510" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="12" class="st010" width="6" height="6" /></g>
</g>
<g transform="translate(170, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7511 { opacity:0.75;}
	.st011 { fill:#727272;}
</style>
<path class="st011" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M10,6H4V4h6V6z M10,10H4V8h6V10z M26,6h-6V4h6V6z M26,10h-6V8h6V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z&#xD;&#xA;	 M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7511" xmlns="http://www.w3.org/2000/svg"><rect x="12" y="4" class="st011" width="6" height="6" /></g>
</g>
<g transform="translate(238, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7512 { opacity:0.75;}
	.st012 { fill:#727272;}
</style>
<path class="st012" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M26,6H12V4h14V6z M26,10H12V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7512" xmlns="http://www.w3.org/2000/svg"><rect x="4" y="4" class="st012" width="6" height="6" /></g>
</g>
<g transform="translate(238, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7513 { opacity:0.75;}
	.st013 { fill:#727272;}
</style>
<path class="st013" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7513" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="4" class="st013" width="6" height="6" /></g>
</g>
<g transform="translate(272, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st014 { fill:#727272;}
</style>
<path id="Align_Justify_2_" class="st014" d="M28,8H4V6h24V8z M28,10H4v2h24V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H4v2h24&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st015 { fill:#727272;}
</style>
<path id="Align_Left_2_" class="st015" d="M28,8H4V6h24V8z M20,10H4v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M20,18H4v2h16V18&#xD;&#xA;	z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st016 { fill:#727272;}
	.st016 { fill:#727272;}
</style>
<path class="st016" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st016" d="M20,10H10v2h10V10z M24,14H6v2h18V14z M20,18H10v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st017 { fill:#727272;}
	.st017 { fill:#727272;}
</style>
<path class="st017" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st017" d="M14,10H4v2h10V10z M20,14H4v2h16V14z M14,18H4v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st018 { fill:#727272;}
	.st018 { fill:#727272;}
</style>
<path class="st018" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st018" d="M26,10H16v2h10V10z M26,14H10v2h16V14z M26,18H16v2h10V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st019 { fill:#727272;}
</style>
<path id="Align_Right_2_" class="st019" d="M28,8H4V6h24V8z M28,10H12v2h16V10z M28,14H4v2h24V14z M28,22H4v2h24V22z M28,18H12v2h16&#xD;&#xA;	V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st020 { fill:#727272;}
	.st020 { fill:#727272;}
</style>
<path class="st020" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st020" d="M20,4H10v2h10V4z M24,8H6v2h18V8z M20,12H10v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st021 { fill:#727272;}
	.st021 { fill:#727272;}
</style>
<path class="st021" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st021" d="M14,4H4v2h10V4z M20,8H4v2h16V8z M14,12H4v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st022 { fill:#727272;}
	.st022 { fill:#727272;}
</style>
<path class="st022" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st022" d="M26,4H16v2h10V4z M26,8H10v2h16V8z M26,12H16v2h10V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st023 { fill:#727272;}
	.st023 { fill:#727272;}
</style>
<path class="st023" d="M19,0H7C6.4,0,6,0.4,6,1v5.6l2-2V2h10v5c0,0.6,0.4,1,1,1h5v14H8v-1.1c-0.7-0.1-1.4-0.5-1.9-1L6,19.8V23&#xD;&#xA;	c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V7L19,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st023" d="M10.8,19.2c-1.1,1.1-2.9,1.1-4,0l-4-4c-1.1-1.1-1.1-2.9,0-4L8,6l8,8L10.8,19.2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st023" d="M14,10c2.2,0,4,3.6,4,8c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C22,13.6,18.4,10,14,10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st024 { fill:#727272;}
</style>
<path class="st024" d="M8,26V4h8c2.5,0,4.3,0.5,5.7,1.4c1.3,0.9,2,2.2,2,3.8c0,1.2-0.4,2.2-1.2,3.1c-0.8,0.9-1.8,1.5-3.1,1.9v0.1&#xD;&#xA;	c1.6,0.2,2.8,0.8,3.8,1.7c0.9,1,1.4,2.1,1.4,3.5c0,2-0.7,3.6-2.2,4.8C20.9,25.4,19,26,16.5,26H8z M13,7.7v5.2h2.2&#xD;&#xA;	c1,0,1.8-0.2,2.4-0.7c0.6-0.5,0.9-1.2,0.9-2c0-1.6-1.2-2.4-3.6-2.4H13z M13,16.6v5.8h2.7c1.1,0,2-0.3,2.7-0.8c0.6-0.5,1-1.3,1-2.2&#xD;&#xA;	c0-0.9-0.3-1.6-1-2.1c-0.6-0.5-1.5-0.8-2.7-0.8H13z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st025 { fill:#727272;}
	.op7525 { opacity:0.75;}
</style>
<g class="op7525" xmlns="http://www.w3.org/2000/svg"><path class="st025" d="M27,4H7C6.5,4,6,4.5,6,5v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M26,28H8V6h18V28z" /></g>
<path class="st025" d="M17,2h-6c-0.5,0-1,0.5-1,1v15l4-4l4,4V3C18,2.5,17.5,2,17,2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st026 { fill:#727272;}
	.op5026 {opacity:0.5;}
</style>
<g class="op5026" xmlns="http://www.w3.org/2000/svg">
	<path class="st026" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M2,24h2v-2H2V24z M2,20h2v-2H2&#xD;&#xA;		V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z&#xD;&#xA;		 M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="26" class="st026" width="26" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st027 { fill:#727272;}
	.op5027 {opacity:0.5;}
</style>
<g class="op5027" xmlns="http://www.w3.org/2000/svg">
	<path class="st027" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2&#xD;&#xA;		v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2&#xD;&#xA;		v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z" />
</g>
<polygon class="st027" points="14,14 2,14 2,16 14,16 16,16 28,16 28,14 16,14 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st028 { fill:#727272;}
	.op5028 {opacity:0.5;}
</style>
<g class="op5028" xmlns="http://www.w3.org/2000/svg">
	<path class="st028" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2&#xD;&#xA;		V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2&#xD;&#xA;		v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2&#xD;&#xA;		H2V12z M2,8h2V6H2V8z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<polygon class="st028" points="16,16 16,14 16,10 16,2 14,2 14,10 14,14 14,16 14,28 16,28 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st029 { fill:#727272;}
	.op5029 {opacity:0.5;}
</style>
<g class="op5029" xmlns="http://www.w3.org/2000/svg">
	<path class="st029" d="M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6&#xD;&#xA;		h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z&#xD;&#xA;		 M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2&#xD;&#xA;		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="2" class="st029" width="2" height="26" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st030 { fill:#727272;}
	.op5030 {opacity:0.5;}
</style>
<g class="op5030" xmlns="http://www.w3.org/2000/svg">
	<path class="st030" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2&#xD;&#xA;		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2&#xD;&#xA;		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2&#xD;&#xA;		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
</g>
<g transform="translate(306, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st031 { fill:#727272;}
	.op5031 {opacity:0.5;}
</style>
<g class="op5031" xmlns="http://www.w3.org/2000/svg">
	<path class="st031" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M22,28h2v-2&#xD;&#xA;		h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2&#xD;&#xA;		H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20&#xD;&#xA;		z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="26" y="2" class="st031" width="2" height="26" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st032 { fill:#727272;}
</style>
<path class="st032" d="M2,2v2v24h26V16v-2V4V2H2z M14,4v10H4V4H14z M4,26V16h10v10H4z M26,26H16V16h10V26z M26,14H16V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st033 {fill:#727272;}
	.op5033 {opacity:0.5;}
</style>
<g class="op5033" xmlns="http://www.w3.org/2000/svg">
	<path class="st033" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2&#xD;&#xA;		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<path class="st033" d="M2,2v26h26V2H2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op5034 {opacity:0.5;}
	.st034 {fill:#727272;}
</style>
<g class="op5034" xmlns="http://www.w3.org/2000/svg">
	<path class="st034" d="M28,22h-2v2h2V22z M28,18h-2v2h2V18z M28,10h-2v2h2V10z M28,6h-2v2h2V6z" />
</g>
<path class="st034" d="M28,4V2H16h-2H4H2v2v10v2v10v2h2h10h2h12v-2H16V16h12v-2H16V4H28z M14,26H4V16h10V26z M14,14H4V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st035 {fill:#727272;}
</style>
<path class="st035" d="M2,2v12v2v12h26V16v-2V2H2z M14,26H4V16h10V26z M14,14H4V4h10V14z M26,26H16V16h10V26z M26,14H16V4h10V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st036 {fill:#727272;}
	.op5036 {opacity:0.5;}
</style>
<g class="op5036" xmlns="http://www.w3.org/2000/svg">
	<path class="st036" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2H26z M26,8h2V6h-2&#xD;&#xA;		V8z M26,12h2v-2h-2V12z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M10,28h2&#xD;&#xA;		v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2v-2H2V20z M2,12h2v-2H2V12z M2,8h2V6H2V8z" />
</g>
<polygon class="st036" points="28,14 16,14 16,2 14,2 14,14 2,14 2,16 14,16 14,28 16,28 16,16 28,16 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st037 { fill:#727272;}
	.op5037 {opacity:0.5;}
</style>
<g class="op5037" xmlns="http://www.w3.org/2000/svg">
	<path class="st037" d="M2,2h2v2H2V2z M6,4h2V2H6V4z M10,4h2V2h-2V4z M14,4h2V2h-2V4z M18,4h2V2h-2V4z M22,4h2V2h-2V4z M26,2v2h2V2&#xD;&#xA;		H26z M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2h-2V28z M22,28h2&#xD;&#xA;		v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2v-2H2V24z M2,20h2&#xD;&#xA;		v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2&#xD;&#xA;		V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
</g>
<g transform="translate(204, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st038 {fill:#727272;}
	.op5038 {opacity:0.5;}
</style>
<g class="op5038" xmlns="http://www.w3.org/2000/svg">
	<path class="st038" d="M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2&#xD;&#xA;		h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<path class="st038" d="M2,2v26h26V2H2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st039 {fill:#727272;}
	.op5039 {opacity:0.5;}
</style>
<g class="op5039" xmlns="http://www.w3.org/2000/svg">
	<path class="st039" d="M26,8h2V6h-2V8z M26,12h2v-2h-2V12z M26,16h2v-2h-2V16z M26,20h2v-2h-2V20z M26,24h2v-2h-2V24z M26,28h2v-2&#xD;&#xA;		h-2V28z M22,28h2v-2h-2V28z M18,28h2v-2h-2V28z M14,28h2v-2h-2V28z M10,28h2v-2h-2V28z M6,28h2v-2H6V28z M2,28h2v-2H2V28z M2,24h2&#xD;&#xA;		v-2H2V24z M2,20h2v-2H2V20z M2,16h2v-2H2V16z M2,12h2v-2H2V12z M2,8h2V6H2V8z M14,8h2V6h-2V8z M14,12h2v-2h-2V12z M14,16h2v-2h-2&#xD;&#xA;		V16z M14,20h2v-2h-2V20z M14,24h2v-2h-2V24z M18,16h2v-2h-2V16z M22,16h2v-2h-2V16z M10,16h2v-2h-2V16z M6,16h2v-2H6V16z" />
</g>
<rect x="2" y="2" class="st039" width="26" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st040 {fill:#727272;}
	.st040 { fill:#727272;}
.op5040 { opacity:0.5;}
	.st040 { fill:#727272;}
.op7540 { opacity:0.75;}
</style>
<path id="layer_3_" class="st040" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5040" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st040" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op7540" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st040" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st040" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st041 {fill:#727272;}
	.st041 { fill:#727272;}
.op5041 { opacity:0.5;}
	.st041 { fill:#727272;}
.op7541 { opacity:0.75;}
</style>
<path id="layer_3_" class="st041" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5041" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st041" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op7541" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st041" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st041" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st042 { fill:#727272;}
	
	
	
	
	
	
	
	
</style>
<g id="ChangeTextCase" xmlns="http://www.w3.org/2000/svg">
	<path class="st042" d="M12.6,6l5.8,16h-3.6l-1.2-3.6H7.8L6.6,22H3.1L9.1,6H12.6z M12.8,15.8l-2-5.9h0l-2,5.9H12.8z M19.7,14&#xD;&#xA;		c0-0.7,0.2-1.4,0.5-1.9s0.7-0.9,1.2-1.2c0.5-0.3,1.1-0.5,1.7-0.6c0.6-0.1,1.2-0.2,1.9-0.2c0.6,0,1.1,0,1.7,0.1&#xD;&#xA;		c0.6,0.1,1.1,0.2,1.6,0.5c0.5,0.2,0.9,0.6,1.2,1c0.3,0.4,0.5,1,0.5,1.7v6c0,0.5,0,1,0.1,1.5c0.1,0.5,0.2,0.8,0.3,1.1h-3.2&#xD;&#xA;		c-0.1-0.2-0.1-0.4-0.1-0.5c0-0.2-0.1-0.4-0.1-0.6c-0.5,0.5-1.1,0.9-1.8,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.5,0-1-0.1-1.5-0.2&#xD;&#xA;		c-0.5-0.1-0.9-0.3-1.2-0.6c-0.3-0.3-0.6-0.6-0.8-1.1c-0.2-0.4-0.3-1-0.3-1.5c0-0.7,0.1-1.2,0.3-1.6c0.2-0.4,0.5-0.8,0.9-1&#xD;&#xA;		c0.4-0.3,0.8-0.4,1.2-0.6c0.5-0.1,0.9-0.2,1.4-0.3c0.5-0.1,0.9-0.1,1.4-0.2c0.5,0,0.9-0.1,1.2-0.2c0.3-0.1,0.6-0.2,0.8-0.4&#xD;&#xA;		c0.2-0.2,0.3-0.4,0.3-0.8c0-0.3-0.1-0.6-0.2-0.8c-0.1-0.2-0.3-0.4-0.4-0.5c-0.2-0.1-0.4-0.2-0.6-0.2c-0.2,0-0.5-0.1-0.8-0.1&#xD;&#xA;		c-0.6,0-1.1,0.1-1.4,0.4s-0.6,0.7-0.6,1.3H19.7z M26.9,16.3c-0.1,0.1-0.3,0.2-0.5,0.3c-0.2,0.1-0.4,0.1-0.6,0.2&#xD;&#xA;		c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.1c-0.2,0-0.5,0.1-0.7,0.2c-0.2,0.1-0.4,0.2-0.6,0.3c-0.2,0.1-0.3,0.3-0.4,0.5&#xD;&#xA;		c-0.1,0.2-0.2,0.4-0.2,0.7c0,0.3,0.1,0.5,0.2,0.7c0.1,0.2,0.2,0.3,0.4,0.5c0.2,0.1,0.4,0.2,0.6,0.2c0.2,0,0.5,0.1,0.7,0.1&#xD;&#xA;		c0.6,0,1.1-0.1,1.4-0.3c0.3-0.2,0.6-0.5,0.7-0.8c0.2-0.3,0.3-0.6,0.3-0.9c0-0.3,0.1-0.5,0.1-0.7V16.3z" />
</g>
</g>
<g transform="translate(374, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op5043 { opacity:0.5;}
	.st043 { fill:#727272;}
</style>
<g id="ClearFormatting" xmlns="http://www.w3.org/2000/svg">
	<path class="st043" d="M1.1,11.2c0-0.6,0.2-1.2,0.5-1.6c0.3-0.4,0.6-0.8,1.1-1C3,8.4,3.5,8.2,4.1,8.1C4.6,8,5.1,7.9,5.7,7.9&#xD;&#xA;		c0.5,0,1,0,1.5,0.1c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.8,0.5,1,0.8s0.4,0.8,0.4,1.4v5.1c0,0.4,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9&#xD;&#xA;		H7.6c-0.1-0.2-0.1-0.3-0.1-0.5c0-0.2-0.1-0.3-0.1-0.5C7,17.5,6.5,17.8,5.9,18c-0.6,0.2-1.2,0.3-1.8,0.3c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;		C2.4,18,2,17.8,1.7,17.5C1.4,17.3,1.2,17,1,16.6c-0.2-0.4-0.3-0.8-0.3-1.3c0-0.6,0.1-1,0.3-1.4s0.4-0.6,0.8-0.9&#xD;&#xA;		c0.3-0.2,0.7-0.4,1.1-0.5s0.8-0.2,1.2-0.3c0.4-0.1,0.8-0.1,1.2-0.2c0.4,0,0.7-0.1,1-0.2c0.3-0.1,0.5-0.2,0.7-0.3&#xD;&#xA;		c0.2-0.1,0.3-0.4,0.2-0.6c0-0.3,0-0.5-0.1-0.7C7.1,10.2,6.9,10,6.8,10C6.6,9.9,6.4,9.8,6.2,9.8s-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.3&#xD;&#xA;		c-0.3,0.2-0.5,0.6-0.5,1.1H1.1z M7.3,13.2c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.1&#xD;&#xA;		s-0.4,0.1-0.6,0.1c-0.2,0-0.4,0.1-0.6,0.2c-0.2,0.1-0.4,0.1-0.5,0.3c-0.1,0.1-0.3,0.2-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6&#xD;&#xA;		c0,0.2,0,0.4,0.1,0.6C3.7,16,3.8,16.1,4,16.2c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,0.9-0.1,1.2-0.3&#xD;&#xA;		C6.6,16,6.9,15.8,7,15.6s0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6V13.2z" />
	<path class="st043" d="M14.7,4v5.4h0c0.3-0.5,0.8-0.9,1.3-1.1c0.6-0.2,1.1-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3&#xD;&#xA;		c0.5,0.2,0.9,0.5,1.3,0.9c0.4,0.4,0.7,1,0.9,1.6s0.4,1.4,0.4,2.3s-0.1,1.7-0.4,2.3S21,16.6,20.6,17c-0.4,0.4-0.8,0.7-1.3,0.9&#xD;&#xA;		c-0.5,0.2-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-1.9-0.3c-0.6-0.2-1-0.6-1.3-1.2h0V18H12V4H14.7z M19.1,11.9c-0.1-0.4-0.2-0.7-0.4-1&#xD;&#xA;		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.1-1,0.3c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1&#xD;&#xA;		c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0,0.8,0.1,1.2c0.1,0.4,0.2,0.7,0.4,1s0.4,0.5,0.7,0.7c0.3,0.2,0.6,0.3,1,0.3c0.4,0,0.8-0.1,1-0.3&#xD;&#xA;		c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-1c0.1-0.4,0.1-0.8,0.1-1.2C19.2,12.7,19.2,12.3,19.1,11.9z" />
	<g class="op5043"><path class="st043" d="M19,21.3L16.3,24c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,21.3z" /></g>
	<path class="st043" d="M31.7,18.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0L20,20.5l5.6,5.6l6.1-6.1C32.1,19.5,32.1,18.8,31.7,18.4z" />
</g>
</g>
<g transform="translate(408, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st044 { fill:#727272;}
	.op5044 {opacity:0.5;}
</style>
<g class="op5044" xmlns="http://www.w3.org/2000/svg"><g>
	<path class="st044" d="M28,10h-8V4h8V10z M24.6,14.9c0.6-0.6,1.4-0.9,2.2-0.9c0.4,0,0.8,0.1,1.2,0.2V12h-8v6h1.5L24.6,14.9z M0,26&#xD;&#xA;		h8v-6H0V26z M14.9,24.6l3.1-3.1V20h-8v6h4.1C14.3,25.5,14.5,25,14.9,24.6z" /></g>
</g>
<path class="st044" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M19,23.3L16.3,26&#xD;&#xA;	c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z" xmlns="http://www.w3.org/2000/svg" />
<path class="st044" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st045 { fill:#727272;}
</style>
<path class="st045" d="M27,4H5C4.5,4,4,4.5,4,5v22c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V5C28,4.5,27.5,4,27,4z M22,20l-2,2l-4-4l-4,4&#xD;&#xA;	l-2-2l4-4l-4-4l2-2l4,4l4-4l2,2l-4,4L22,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st046 {fill:#727272;enable-background:new    ;}
</style>
<path class="st046" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st046" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st046" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st047 { fill:#727272;}
</style>
<path class="st047" d="M14,6H4V4h10V6z M26,4H16v2h10V4z M14,8H4v2h10V8z M26,8H16v2h10V8z M14,12H4v2h10V12z M26,12H16v2h10V12z&#xD;&#xA;	 M14,16H4v2h10V16z M26,16H16v2h10V16z M14,20H4v2h10V20z M26,20H16v2h10V20z M14,24H4v2h10V24z M26,24H16v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st048 {fill:#727272;enable-background:new    ;}
</style>
<path class="st048" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st048" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st048" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st049 {fill:#727272;enable-background:new    ;}
</style>
<path class="st049" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st049" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="2" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="26" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st049" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="2" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="26" class="st049" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st050 {fill:#727272;enable-background:new    ;}
</style>
<path class="st050" d="M15,8H2V6h13V8z M30,6H17v2h13V6z M15,10H2v2h13V10z M30,10H17v2h13V10z M15,14H2v2h13V14z M30,14H17v2h13V14z&#xD;&#xA;	 M15,18H2v2h13V18z M30,18H17v2h13V18z M15,22H2v2h13V22z M30,22H17v2h13V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="17" y="2" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="17" y="26" class="st050" width="13" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st051 { fill:#727272;}
	
	
</style>
<g id="Copy" xmlns="http://www.w3.org/2000/svg">
	<path class="st051" d="M21,2H11c-0.5,0-1,0.5-1,1v5H5C4.5,8,4,8.5,4,9v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1v-5h5c0.5,0,1-0.5,1-1&#xD;&#xA;		V9L21,2z M20,28H6V10h8v5c0,0.5,0.5,1,1,1h5V28z M26,22h-4v-7l-7-7h-3V4h8v5c0,0.5,0.5,1,1,1h5V22z" />
</g>
</g>
<g transform="translate(306, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st052 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="Cut" xmlns="http://www.w3.org/2000/svg">
	<path class="st052" d="M16.4,11.6L26,2l-5.8,13.3L16.4,11.6z M12,23c0,2.8-2.2,5-5,5s-5-2.2-5-5s2.2-5,5-5S12,20.2,12,23z M10,23&#xD;&#xA;		c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S10,24.7,10,23z M28,23c0,2.8-2.2,5-5,5s-5-2.2-5-5c0-0.9,0.2-1.7,0.6-2.4L16,18h-5L4,2&#xD;&#xA;		l16.6,16.6c0.7-0.4,1.5-0.6,2.4-0.6C25.8,18,28,20.2,28,23z M26,23c0-1.7-1.3-3-3-3s-3,1.3-3,3s1.3,3,3,3S26,24.7,26,23z" />
</g>
</g>
<g transform="translate(374, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st053 {fill:#727272;}
</style>
<path class="st053" d="M18.8,16l6.9-6.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L9.1,6.3c-0.4-0.4-1-0.4-1.4,0&#xD;&#xA;	L6.3,7.7c-0.4,0.4-0.4,1,0,1.4l6.9,6.9l-6.9,6.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l6.9-6.9l6.9,6.9&#xD;&#xA;	c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st054 { fill:#727272;}
	.op7554 { opacity:0.75;}
</style>
<g class="op7554" xmlns="http://www.w3.org/2000/svg"><path id="Hyperlink" class="st054" d="M16.8,18c1.3,1.9,1.1,4.6-0.6,6.3l-4.2,4.2c-2,2-5.1,2-7.1,0l-1.4-1.4c-2-2-2-5.1,0-7.1&#xD;&#xA;	l4.2-4.2c1.7-1.7,4.3-1.9,6.3-0.6l-1.5,1.5c-1.1-0.5-2.5-0.3-3.4,0.6l-4.2,4.2c-1.2,1.2-1.2,3.1,0,4.2l1.4,1.4&#xD;&#xA;	c1.2,1.2,3.1,1.2,4.2,0l4.2-4.2c0.9-0.9,1.1-2.3,0.6-3.4L16.8,18z M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2&#xD;&#xA;	c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2&#xD;&#xA;	c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z M21.7,11.7c0.4-0.4,0.4-1,0-1.4l0,0&#xD;&#xA;	c-0.4-0.4-1-0.4-1.4,0l-10,10c-0.4,0.4-0.4,1,0,1.4l0,0c0.4,0.4,1,0.4,1.4,0L21.7,11.7z" /></g>
<polygon class="st054" points="32,22 30,20 26,24 22,20 20,22 24,26 20,30 22,32 26,28 30,32 32,30 28,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st055 { fill:#727272;}

</style>
<g id="Delete" xmlns="http://www.w3.org/2000/svg">
	<path class="st055" d="M18.8,16l8.9-8.9c0.4-0.4,0.4-1,0-1.4l-1.4-1.4c-0.4-0.4-1-0.4-1.4,0L16,13.2L7.1,4.3c-0.4-0.4-1-0.4-1.4,0&#xD;&#xA;		L4.3,5.7c-0.4,0.4-0.4,1,0,1.4l8.9,8.9l-8.9,8.9c-0.4,0.4-0.4,1,0,1.4l1.4,1.4c0.4,0.4,1,0.4,1.4,0l8.9-8.9l8.9,8.9&#xD;&#xA;		c0.4,0.4,1,0.4,1.4,0l1.4-1.4c0.4-0.4,0.4-1,0-1.4L18.8,16z" />
</g>
</g>
<g transform="translate(204, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st056 {fill:#727272;}
	.op5056 {opacity:0.5;}
</style>
<path class="st056" d="M8,8H0V2h8V8z M18,2h-8v6h8V2z M28,2h-8v6h8V2z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5056" xmlns="http://www.w3.org/2000/svg">
	<path class="st056" d="M8,16H0v-6h8V16z M18,10h-8v6h8V10z M28,10h-8v6h8V10z M8,18H0v6h8V18z M18,18h-8v6h8V18z" />
</g>
<polygon class="st056" points="32,20 30,18 26,22 22,18 20,20 24,24 20,28 22,30 26,26 30,30 32,28 28,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st057 { fill:#727272;}
	.op5057 {opacity:0.5;}
</style>
<g class="op5057" xmlns="http://www.w3.org/2000/svg">
	<path class="st057" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,16H2v6h8V16z M20,16&#xD;&#xA;		h-8v6h8V16z M30,16h-8v6h8V16z" />
</g>
<path class="st057" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,8h-8v6h8V8z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st058 { fill:#727272;}
	.op5058 {opacity:0.5;}
</style>
<g class="op5058" xmlns="http://www.w3.org/2000/svg">
	<path class="st058" d="M10,14H2V8h8V14z M30,8h-8v6h8V8z M10,6H2V0h8V6z M30,0h-8v6h8V0z M10,16H2v6h8V16z M30,16h-8v6h8V16z" />
</g>
<path class="st058" d="M20,28l-4,4l-4-4h2v-4h4v4H20z M20,0h-8v22h8V0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st059 { fill:#727272;}
	.op5059 {opacity:0.5;}
</style>
<g class="op5059" xmlns="http://www.w3.org/2000/svg">
	<path class="st059" d="M20,10h-8V4h8V10z M30,4h-8v6h8V4z M30,22h-8v6h8V22z M20,22h-8v6h8V22z" />
</g>
<path class="st059" d="M6,14h4v4H6v2l-4-4l4-4V14z M12,12v8h18v-8H12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st060 { fill:#727272;}
	.op5060 { opacity:0.5;}
</style>
<path class="st060" d="M19,12H3c-0.5,0-1,0.5-1,1v18c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V13C20,12.5,19.5,12,19,12z M12,26h-2v-5.2&#xD;&#xA;	H8v-1.2c0.3,0,0.6,0,0.8-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5c0.1-0.2,0.2-0.5,0.3-0.8H12V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5060" xmlns="http://www.w3.org/2000/svg"><path class="st060" d="M31,0H15c-0.5,0-1,0.5-1,1v3h-3c-0.5,0-1,0.5-1,1v3H7C6.5,8,6,8.5,6,9v3h2v-2h14v16h-2v2h3c0.5,0,1-0.5,1-1&#xD;&#xA;	v-3h3c0.5,0,1-0.5,1-1v-3h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M26,22h-2V9c0-0.5-0.5-1-1-1H12V6h14V22z M30,18h-2V5&#xD;&#xA;	c0-0.5-0.5-1-1-1H16V2h14V18z" /></g>
</g>
<g transform="translate(204, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st061 { fill:#727272;}
	.op7561 { opacity:0.75;}
</style>
<g class="op7561" xmlns="http://www.w3.org/2000/svg"><path class="st061" d="M28,5v18c0,0.5-0.5,1-1,1h-5V10H10V5c0-0.5,0.5-1,1-1h16C27.5,4,28,4.5,28,5z M3,32h16c0.5,0,1-0.5,1-1V13&#xD;&#xA;	c0-0.6-0.5-1-1-1H3c-0.5,0-1,0.4-1,1v18C2,31.5,2.5,32,3,32z" /></g>
<path class="st061" d="M24,9v18c0,0.5-0.5,1-1,1h-3v-2h2V10H8v2H6V9c0-0.5,0.5-1,1-1h16C23.5,8,24,8.5,24,9z M31,0H15&#xD;&#xA;	c-0.5,0-1,0.5-1,1v3h2V2h14v16h-2v2h3c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st062 { fill:#727272;}
	.op7562 { opacity:0.75;}
</style>
<path class="st062" d="M6,6h14v2H6V6z M6,12h14v-2H6V12z M14.9,24.6l0.6-0.6H2V2h22v13.5l0.6-0.6c0.4-0.4,0.9-0.7,1.4-0.8V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h13.1C14.3,25.5,14.5,25,14.9,24.6z M6,16h14v-2H6V16z M6,20h14v-2H6V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7562" xmlns="http://www.w3.org/2000/svg"><path class="st062" d="M19,23.3L16.3,26c-0.4,0.4-0.4,1.2,0,1.6l4,4c0.4,0.4,1.2,0.4,1.6,0l2.7-2.7L19,23.3z" /></g>
<path class="st062" d="M31.7,20.4l-4-4c-0.4-0.4-1.2-0.4-1.6,0l-6.1,6.1l5.6,5.6l6.1-6.1C32.1,21.5,32.1,20.8,31.7,20.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7563 { opacity:0.75;}
	.st063 { fill:#727272;}
</style>
<g class="op7563" xmlns="http://www.w3.org/2000/svg"><path class="st063" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
<path class="st063" d="M10,22h10v0.2c-0.9,0.3-1.5,1-1.8,1.8H10V22z M27,4H12.3c0,0,0,0,0,0c0,0.1,0.1,0.2,0.1,0.4&#xD;&#xA;	C12.6,5,12.5,5.6,12.3,6H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,18v2h10.1c0.2-0.7,0.5-1.4,0.9-2h-5H10z M6,18H4v11&#xD;&#xA;	c0,0.6,0.4,1,1,1h13v-2H6V18z M16,15.1V16h6v-2h-6.1C16,14.3,16,14.7,16,15.1z M15.4,12H22v-2h-8.6C14.1,10.4,14.9,11,15.4,12z" xmlns="http://www.w3.org/2000/svg" />
<path class="st063" d="M3.7,5.7C3.6,5.4,3.4,5.2,3.5,4.8c0-0.1,0.2-0.2,0.3-0.2C3.1,2.4,3.8,0.2,6.3,0C9-0.2,9.5,1.8,9.5,1.8&#xD;&#xA;	s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3&#xD;&#xA;	c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C3.7,6.7,3.9,6,3.7,5.7z M9.3,9.9c-0.5,0.9-1.2,2.5-2.3,2.5c-1.1,0-1.8-1.6-2.3-2.6&#xD;&#xA;	C3.4,12.1,0,10.5,0,15.1V16h14v-0.9C14,10.5,10.7,12,9.3,9.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st064 {fill:currentColor;}
	
	
</style>
<g id="Zoom" xmlns="http://www.w3.org/2000/svg">
	<path class="st064" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13&#xD;&#xA;		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z" />
</g>
</g>
<g transform="translate(340, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st065 {fill:currentColor;}
	
	
</style>
<g id="Zoom" xmlns="http://www.w3.org/2000/svg">
	<path class="st065" d="M29.7,27.3L22,19.6l-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11S2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13&#xD;&#xA;		c0-5,4-9,9-9s9,4,9,9s-4,9-9,9S4,18,4,13z" />
</g>
</g>
<g transform="translate(136, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st066 { fill:#727272;}
</style>
<path class="st066" d="M10.4,14.5c-0.5,0.3-0.5,0.8,0,1.1l16.8,10.3c0.5,0.3,0.9,0.1,0.9-0.5V4.6c0-0.6-0.4-0.8-0.9-0.5L10.4,14.5z&#xD;&#xA;	 M4,25V5c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v20c0,0.5-0.4,1-1,1H5C4.4,26,4,25.5,4,25z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7567 { opacity:0.75;}
	.st067 { fill:#727272;}
</style>
<path class="st067" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M26,14H4v-2h22V14z M26,18H4v-2h22V18z M26,22H4v-2h22V22z M26,26H4v-2h22V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7567" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="4" class="st067" width="6" height="6" /></g>
</g>
<g transform="translate(0, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st068 { fill:#727272;}
	.op7568 { opacity:0.75;}
</style>
<g class="op7568" xmlns="http://www.w3.org/2000/svg"><path class="st068" d="M22,21c0,0.6-0.4,1-1,1H3c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V21z" /></g>
<path class="st068" d="M29,14h-5v2h4v12H16v-4h-2v5c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st069 { fill:#727272;}
	.st069 { fill:#727272;}
</style>
<path class="st069" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18&#xD;&#xA;	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z" xmlns="http://www.w3.org/2000/svg" />
<circle class="st069" cx="21" cy="21" r="9" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st070 { fill:#727272;}
	.op7570 { opacity:0.75;}
</style>
<g class="op7570" xmlns="http://www.w3.org/2000/svg"><path class="st070" d="M26,25c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V7c0-0.6,0.4-1,1-1h18c0.6,0,1,0.4,1,1V25z" /></g>
<path class="st070" d="M32,19v12c0,0.6-0.4,1-1,1H19c-0.6,0-1-0.4-1-1v-3h2v2h10V20h-2v-2h3C31.6,18,32,18.4,32,19z M1,14h3v-2H2V2&#xD;&#xA;	h10v2h2V1c0-0.6-0.4-1-1-1H1C0.4,0,0,0.4,0,1v12C0,13.6,0.4,14,1,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st071 { fill:#727272;}
	.st071 { fill:#727272;}
</style>
<path class="st071" d="M4,8h14v2H4V8z M4,6h14V4H4V6z M10,21c0-0.3,0-0.7,0.1-1H2V2h18v8.1c0.3,0,0.7-0.1,1-0.1s0.7,0,1,0.1V1&#xD;&#xA;	c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h9.1C10,21.7,10,21.3,10,21z M4,14h8.5c0.6-0.8,1.4-1.4,2.2-2H4V14z M4,18&#xD;&#xA;	h6.4c0.2-0.7,0.5-1.4,0.8-2H4V18z" xmlns="http://www.w3.org/2000/svg" />
<circle class="st071" cx="21" cy="21" r="9" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st072 { fill:#727272;}
.op5072 { opacity:0.5;}
	.st072 {fill:#727272;}
</style>
<g class="op5072" xmlns="http://www.w3.org/2000/svg"><path class="st072" d="M16.4,6c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4s2.4-1.1,2.4-2.4C26,10.3,21.7,6,16.4,6z" /></g>
<path class="st072" d="M15,7.3l3,3L11.3,17c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,0l3,3L8.8,4.9&#xD;&#xA;	C8.3,5.4,8,6.2,8,7s0.3,1.6,0.9,2.1C9.5,9.7,10.2,10,11,10s1.6-0.3,2.1-0.9L15,7.3z M11.7,7.7l5.9-5.9c0.4-0.4,0.4-1,0-1.4l0,0&#xD;&#xA;	c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,8.1,11.3,8.1,11.7,7.7z" xmlns="http://www.w3.org/2000/svg" />
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st072" d="M20.4,24.9c0.2-0.2,0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9h-0.7v1.9h0.8C19.9,25.2,20.2,25.1,20.4,24.9z" />
	<path class="st072" d="M19.8,26.5h-1.1v0.1v2.1h1c0.7,0,1.4-0.2,1.4-1.1C21.1,27.3,21,26.5,19.8,26.5z" />
	<path class="st072" d="M12,24.1l-1.1,2.7h2C12.9,26.8,12,23.9,12,24.1z" />
	<path class="st072" d="M31,20H7c-0.5,0-1,0.5-1,1v10c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V21C32,20.5,31.5,20,31,20z M13.9,30&#xD;&#xA;		l-0.6-1.8h-2.8L10,30H8l2.9-8H13l2.9,8H13.9z M22.2,29.3C21.6,29.8,20.9,30,20,30h-3l0-8h2.8c0.9,0,1.6,0.2,2.1,0.5&#xD;&#xA;		s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1s-0.7,0.5-1.1,0.7c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3&#xD;&#xA;		C23,28.3,22.7,28.9,22.2,29.3z M30,29.6c0,0-0.7,0.5-2.4,0.5c-1.2,0-2.2-0.4-2.9-1.1s-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1&#xD;&#xA;		s1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9&#xD;&#xA;		c0,0.8,0.2,1.4,0.7,1.8c0.5,0.4,1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5V29.6z" />
</g>
</g>
<g transform="translate(34, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st073 { fill:#727272;}
	.st073 { fill:#727272;}
</style>
<path class="st073" d="M29,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h28c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z M28,28H2V2h26V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M4,26h22v-2H4V26z M6,12H4v2h2V12z M6,8H4v2h2V8z M6,16H4v2h2V16z M4,4v2h2h18h2V4H4z M24,22h2v-2h-2V22z M24,10&#xD;&#xA;	h2V8h-2V10z M24,14h2v-2h-2V14z M24,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st073" d="M8,8v6h6V8H8z M12,12h-2v-2h2V12z M16,8v6h6V8H16z M20,12h-2v-2h2V12z M16,16v6h6v-6H16z M20,20h-2v-2h2V20z&#xD;&#xA;	 M8,16v6h6v-6H8z M12,20h-2v-2h2V20z M16,12h-2v-2h2V12z M12,14h-2v2h2V14z M20,14h-2v2h2V14z M16,18h-2v2h2V18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st074 { fill:#727272;}
	.st074 { fill:#727272;}
</style>
<polygon class="st074" points="17.2,10 19.2,8 2,8 2,22 10,22 10,20 4,20 4,10 " xmlns="http://www.w3.org/2000/svg" />
<path class="st074" d="M27,11L17,21l-4-4L23,7L27,11z M28,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L24,6L28,10z&#xD;&#xA;	 M12,18v4h4L12,18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st075 { fill:#727272;}
	.op7575 { opacity:0.75;}
</style>
<path class="st075" d="M29,14H15c-0.6,0-1,0.4-1,1v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1V15C30,14.4,29.6,14,29,14z M28,28H16V16&#xD;&#xA;	h12V28z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7575" xmlns="http://www.w3.org/2000/svg"><path class="st075" d="M12,14c0-1.1,0.9-2,2-2h8V3c0-0.6-0.4-1-1-1H3C2.4,2,2,2.4,2,3v18c0,0.6,0.4,1,1,1h9V14z" /></g>
</g>
<g transform="translate(340, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st076 { fill:#727272;}
	.st076 { fill:#727272;}
</style>
<path class="st076" d="M21,0H1C0.5,0,0,0.5,0,1v20c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V1C22,0.5,21.5,0,21,0z M20,20H2V2h18V20z&#xD;&#xA;	 M18,6H4V4h14V6z M18,10H4V8h14V10z M18,14H4v-2h14V14z M18,18H4v-2h14V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st076" d="M24,12.5V22c0,1.1-0.9,2-2,2h-9.5c1.2,3.5,4.6,6,8.5,6c5,0,9-4,9-9C30,17.1,27.5,13.8,24,12.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st077 { fill:#727272;}
	.op7577 { opacity:0.75;}
</style>
<path class="st077" d="M13,0H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C14,0.4,13.6,0,13,0z M12,12H2V2h10V12z&#xD;&#xA;	 M31,18H19c-0.6,0-1,0.4-1,1v12c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V19C32,18.4,31.6,18,31,18z M30,30H20V20h10V30z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7577" xmlns="http://www.w3.org/2000/svg"><path class="st077" d="M25,6h-9v8c0,1.1-0.9,2-2,2H6v9c0,0.6,0.4,1,1,1h9v-8c0-1.1,0.9-2,2-2h8V7C26,6.4,25.6,6,25,6z" /></g>
</g>
<g transform="translate(408, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st078 { fill:#727272;}
	.st078 { fill:#727272;}
</style>
<path class="st078" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st078" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st079 {fill:#727272;}
</style>
<path class="st079" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st080 {fill:#727272;}
	.st080 { fill:#727272;}
.op5080 { opacity:0.5;}
	.st080 { fill:#727272;}
.op7580 { opacity:0.75;}
</style>
<path id="layer_3_" class="st080" d="M18,25.5c4,4-2.5-2.5,1.5,1.5c0,5.4-6.5,5-8.5,5C15.5,27.5,14.3,25.5,18,25.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op5080" xmlns="http://www.w3.org/2000/svg"><path id="layer_2_" class="st080" d="M31,14L31,14c-0.4-0.4-1.5-1.5-3,0l-9,9l3,3l9-9C32.5,15.5,31.4,14.4,31,14z" /></g>
<g class="op7580" xmlns="http://www.w3.org/2000/svg"><path id="layer_1_" class="st080" d="M19,23L19,23c-0.4,0.4-1.4,2.1-1,2.5l1.5,1.5c0.4,0.4,2.1-0.6,2.5-1l0,0L19,23z" /></g>
<path id="layer" class="st080" d="M17.8,21.2l2.8-2.8L14,0h-4L2,22h3.9l1.8-5.6h8.5L17.8,21.2z M8.6,13.4l2.9-8.8&#xD;&#xA;	c0.1-0.4,0.2-0.8,0.3-1.4h0.1c0.1,0.7,0.2,1.1,0.3,1.4l3,8.8H8.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st081 {fill:#727272;}
</style>
<path class="st081" d="M21.7,28H26L17.3,4h-0.4H13h-0.4L4,28h4.3l2.2-6h9.1L21.7,28z M11.9,18L15,9.4l3.1,8.6H11.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st082 {fill:#727272;}
</style>
<path class="st082" d="M19.7,28H24L15.3,4h-0.4H11h-0.4L2,28h4.3l2.2-6h9.1L19.7,28z M9.9,18L13,9.4l3.1,8.6H9.9z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st082" points="30,8 32,8 29,4 26,8 28,8 28,24 26,24 29,28 32,24 30,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st083 { fill:#727272;}
	.st083 { fill:#727272;}
</style>
<path class="st083" d="M22,28h-2.7l-1.2-4h-6.1l-1.2,4H8l5.6-16h2.8L22,28z M17.3,22l-2.1-6.6c-0.1-0.2-0.1-0.5-0.2-1h0&#xD;&#xA;	c-0.1,0.4-0.1,0.8-0.2,1L12.7,22H17.3z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st083" points="22,4 30,4 26,8 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st084 { fill:#727272;}
	.st084 { fill:#727272;}
</style>
<polygon class="st084" points="22,8 30,8 26,4 " xmlns="http://www.w3.org/2000/svg" />
<path class="st084" d="M24,28h-3.9l-1.9-5.6H9.7L7.9,28H4l8-22h4L24,28z M17.2,19.4l-3-8.8c-0.1-0.3-0.2-0.7-0.3-1.4h-0.1&#xD;&#xA;	c-0.1,0.6-0.2,1-0.3,1.4l-2.9,8.8H17.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st085 { fill:#727272;}
	.op7585 {opacity:0.75;}
</style>
<path class="st085" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z" xmlns="http://www.w3.org/2000/svg" />
<g class="op7585" xmlns="http://www.w3.org/2000/svg"><rect x="8" y="18" class="st085" width="14" height="6" /></g>
<g class="op7585" xmlns="http://www.w3.org/2000/svg">
	<path class="st085" d="M22,8H8V6h14V8z M22,10H8v2h14V10z M22,14H8v2h14V14z" />
</g>
</g>
<g transform="translate(68, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st086 { fill:#727272;}
	
	
	
	
</style>
<g id="FullScreen" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st086" points="2,12 6,12 6,6 12,6 12,2 2,2 	" />
	<polygon class="st086" points="6,20 2,20 2,30 12,30 12,26 6,26 	" />
	<polygon class="st086" points="20,2 20,6 26,6 26,12 30,12 30,2 	" />
	<polygon class="st086" points="26,26 20,26 20,30 30,30 30,20 26,20 	" />
</g>
</g>
<g transform="translate(102, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st087 { fill:#727272;}
	.op5087 {opacity:0.5;}
</style>
<g class="op5087" xmlns="http://www.w3.org/2000/svg">
	<path class="st087" d="M28,10H10V4h18V10z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z" />
</g>
<rect x="10" y="24" class="st087" width="18" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op5087" xmlns="http://www.w3.org/2000/svg"><path class="st087" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z" /></g>
</g>
<g transform="translate(204, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st088 { fill:#727272;}
	.op5088 {opacity:0.5;}
</style>
<g class="op5088" xmlns="http://www.w3.org/2000/svg">
	<path class="st088" d="M28,30H10v-6h18V30z M18,12H8v2h10V12z M18,18H8v-2h10V18z M18,22H8v-2h10V22z" />
</g>
<rect x="10" y="4" class="st088" width="18" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op5088" xmlns="http://www.w3.org/2000/svg"><path class="st088" d="M6,26h4v2H5c-0.5,0-1-0.5-1-1V7c0-0.5,0.5-1,1-1h5v2H6V26z M20,10v14h2V10H20z" /></g>
</g>
<g transform="translate(136, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st089 { fill:#727272;}
	.op7589 {opacity:0.75;}
</style>
<g class="op7589" xmlns="http://www.w3.org/2000/svg">
	<path class="st089" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z" />
</g>
<g class="op7589" xmlns="http://www.w3.org/2000/svg"><rect x="10" y="4" class="st089" width="18" height="6" /></g>
<path class="st089" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st089" points="24,20 24,32 30,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st090 { fill:#727272;}
	.op7590 {opacity:0.75;}
</style>
<g class="op7590" xmlns="http://www.w3.org/2000/svg">
	<path class="st090" d="M18,14H8v-2h10V14z M18,16H8v2h10V16z M18,20H8v2h10V20z" />
</g>
<g class="op7590" xmlns="http://www.w3.org/2000/svg"><rect x="10" y="4" class="st090" width="18" height="6" /></g>
<path class="st090" d="M20,10v16H6V8h4V6H5C4.5,6,4,6.5,4,7v20c0,0.5,0.5,1,1,1h16c0.5,0,1-0.5,1-1V10H20z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st090" points="30,20 30,32 24,26 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st091 { fill:#727272;}
	.op7591 {opacity:0.75;}
</style>
<path class="st091" d="M25,2H5C4.5,2,4,2.5,4,3v24c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,26H6V4h18V26z" xmlns="http://www.w3.org/2000/svg" />
<rect x="8" y="6" class="st091" width="14" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op7591" xmlns="http://www.w3.org/2000/svg">
	<path class="st091" d="M22,16H8v-2h14V16z M22,18H8v2h14V18z M22,22H8v2h14V22z" />
</g>
</g>
<g transform="translate(204, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7592 { opacity:0.75;}
	.st092 { fill:#727272;}
</style>
<g id="Highlight" xmlns="http://www.w3.org/2000/svg">
	<path class="st092" d="M0.8,5.4c0.3-0.4,0.7-0.8,1.1-1C2.3,4.1,2.8,4,3.4,3.8C4,3.7,4.5,3.6,5.1,3.6c0.5,0,1,0,1.6,0.1&#xD;&#xA;		c0.5,0.1,1,0.2,1.4,0.4c0.4,0.2,0.7,0.5,1,0.9s0.4,0.9,0.4,1.5v5.3c0,0.5,0,0.9,0.1,1.3c0.1,0.4,0.1,0.7,0.3,0.9H7.1&#xD;&#xA;		C7,13.9,7,13.7,6.9,13.5c0-0.2-0.1-0.3-0.1-0.5c-0.4,0.5-1,0.8-1.6,1S4,14.3,3.4,14.3c-0.5,0-0.9-0.1-1.4-0.2&#xD;&#xA;		c-0.3-0.1-0.7-0.3-1-0.6S0.4,13,0.3,12.6C0.1,12.2,0,11.8,0,11.2s0.1-1,0.3-1.4s0.5-0.7,0.8-0.9s0.7-0.4,1.1-0.5S3,8.2,3.4,8.2&#xD;&#xA;		C3.9,8.1,4.3,8.1,4.7,8c0.4,0,0.8-0.1,1.1-0.2c0.3-0.1,0.6-0.2,0.7-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3,0-0.5-0.1-0.7&#xD;&#xA;		C6.5,5.9,6.4,5.8,6.2,5.7C6,5.6,5.9,5.5,5.6,5.5c-0.2,0-0.4,0-0.7,0c-0.5,0-1,0.1-1.3,0.4C3.3,6,3.2,6.4,3.1,7H0.3&#xD;&#xA;		C0.4,6.3,0.5,5.8,0.8,5.4z M6.3,9.3C6.1,9.4,5.9,9.4,5.7,9.4c-0.2,0-0.4,0.1-0.6,0.1S4.7,9.6,4.4,9.6C4.2,9.7,4,9.7,3.8,9.8&#xD;&#xA;		C3.6,9.9,3.4,10,3.3,10.1c-0.2,0.1-0.3,0.3-0.4,0.4c-0.1,0.2-0.1,0.4-0.1,0.6c0,0.2,0,0.5,0.1,0.6C3,11.9,3.1,12,3.3,12.1&#xD;&#xA;		c0.2,0.1,0.3,0.2,0.5,0.2s0.4,0.1,0.6,0.1c0.5,0,1-0.1,1.3-0.3c0.3-0.2,0.5-0.4,0.7-0.7c0.1-0.3,0.2-0.5,0.3-0.8c0-0.3,0-0.5,0-0.6&#xD;&#xA;		V9C6.6,9.2,6.5,9.2,6.3,9.3z M14.5,0v5.1l0,0c0.3-0.5,0.8-0.9,1.4-1.1c0.6-0.2,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.3s0.9,0.5,1.3,1&#xD;&#xA;		c0.4,0.4,0.7,1,1,1.7c0.2,0.7,0.4,1.5,0.4,2.4c0,0.9-0.1,1.7-0.4,2.4c-0.2,0.7-0.6,1.2-1,1.7c-0.4,0.4-0.8,0.8-1.3,1&#xD;&#xA;		s-1,0.3-1.5,0.3c-0.7,0-1.4-0.1-2-0.4c-0.6-0.2-1-0.6-1.3-1.2l0,0V14h-2.6V0H14.5z M19,7.7c-0.1-0.4-0.2-0.7-0.4-1&#xD;&#xA;		c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.7-0.3-1.1-0.3S16,5.8,15.7,6c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.6-0.4,1&#xD;&#xA;		c-0.1,0.4-0.1,0.8-0.1,1.2s0,0.8,0.1,1.2s0.2,0.7,0.4,1s0.4,0.5,0.7,0.7s0.7,0.3,1.1,0.3s0.8-0.1,1.1-0.3c0.3-0.2,0.5-0.4,0.7-0.7&#xD;&#xA;		s0.3-0.6,0.4-1s0.1-0.8,0.1-1.2S19.1,8.1,19,7.7z" />
	<path class="st092" d="M29,15l-8,8l-4-4l8-8L29,15z M30,14l1.7-1.7c0.4-0.4,0.4-1,0-1.3L29,8.3c-0.4-0.4-1-0.4-1.3,0L26,10L30,14z&#xD;&#xA;		 M16,20v4h4L16,20z" />
	<g class="op7592"><rect y="26" class="st092" width="32" height="6" /></g>
</g>
</g>
<g transform="translate(408, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st093 {fill:#727272;}
	
	
	
	
</style>
<g id="Hyperlink" xmlns="http://www.w3.org/2000/svg">
	<path class="st093" d="M10.3,21.7c0.4,0.4,1,0.4,1.4,0l10-10c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0l-10,10&#xD;&#xA;		C9.9,20.7,9.9,21.3,10.3,21.7z" />
	<path class="st093" d="M15.4,19.5c0.5,1.1,0.3,2.5-0.6,3.4l-4.2,4.2c-1.2,1.2-3.1,1.2-4.2,0l-1.4-1.4c-1.2-1.2-1.2-3.1,0-4.2&#xD;&#xA;		l4.2-4.2c0.9-0.9,2.3-1.1,3.4-0.6l1.5-1.5c-1.9-1.3-4.6-1.1-6.3,0.6l-4.2,4.2c-2,2-2,5.1,0,7.1l1.4,1.4c2,2,5.1,2,7.1,0l4.2-4.2&#xD;&#xA;		c1.7-1.7,1.9-4.3,0.6-6.3L15.4,19.5z" />
	<path class="st093" d="M28.5,4.9l-1.4-1.4c-2-2-5.1-2-7.1,0l-4.2,4.2c-1.7,1.7-1.9,4.3-0.6,6.3l1.5-1.5c-0.5-1.1-0.3-2.5,0.6-3.4&#xD;&#xA;		l4.2-4.2c1.2-1.2,3.1-1.2,4.2,0l1.4,1.4c1.2,1.2,1.2,3.1,0,4.2l-4.2,4.2c-0.9,0.9-2.3,1.1-3.4,0.6L18,16.8c1.9,1.3,4.6,1.1,6.3-0.6&#xD;&#xA;		l4.2-4.2C30.5,10,30.5,6.8,28.5,4.9z" />
</g>
</g>
<g transform="translate(102, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st094 {fill:#727272;}
	.op5094 {opacity:0.5;}
</style>
<circle class="st094" cx="21" cy="11" r="3" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st094" points="20,24 10,14 6,18 6,24 " xmlns="http://www.w3.org/2000/svg" />
<g class="op5094" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st094" points="22,24 18,20 20,18 26,24 	" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect x="14" y="28" class="st094" width="2" height="2" />
	<rect x="22" y="28" class="st094" width="2" height="2" />
	<rect x="18" y="28" class="st094" width="2" height="2" />
	<rect x="6" y="28" class="st094" width="2" height="2" />
	<rect x="10" y="28" class="st094" width="2" height="2" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect x="18" y="4" class="st094" width="2" height="2" />
	<rect x="10" y="4" class="st094" width="2" height="2" />
	<rect x="14" y="4" class="st094" width="2" height="2" />
	<rect x="22" y="4" class="st094" width="2" height="2" />
	<rect x="6" y="4" class="st094" width="2" height="2" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<rect y="14" class="st094" width="2" height="2" />
	<rect y="18" class="st094" width="2" height="2" />
	<rect y="22" class="st094" width="2" height="2" />
	<rect y="10" class="st094" width="2" height="2" />
	<path class="st094" d="M1,4C0.5,4,0,4.5,0,5v3h2V6h2V4H1z" />
	<path class="st094" d="M2,26H0v3c0,0.5,0.5,1,1,1h3v-2H2V26z" />
</g>
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st094" d="M28,8h2V5c0-0.5-0.5-1-1-1h-3v2h2V8z" />
	<rect x="28" y="18" class="st094" width="2" height="2" />
	<rect x="28" y="22" class="st094" width="2" height="2" />
	<path class="st094" d="M28,26v2h-2v2h3c0.5,0,1-0.5,1-1v-3H28z" />
	<rect x="28" y="14" class="st094" width="2" height="2" />
	<rect x="28" y="10" class="st094" width="2" height="2" />
</g>
</g>
<g transform="translate(0, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st095 {fill:#727272;}
</style>
<g id="IndentDecrease" xmlns="http://www.w3.org/2000/svg">
	<path class="st095" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z" />
	<path class="st095" d="M14,16h-4v3l-6-4l6-4v3h4V16z" />
</g>
</g>
<g transform="translate(374, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st096 { fill:#727272;}
	.st096 { fill:#727272;}
</style>
<path class="st096" d="M28,6H4V4h24V6z M28,8H4v2h24V8z M28,12H16v2h12V12z M28,20H4v2h24V20z M28,24H4v2h24V24z M28,16H16v2h12V16z&#xD;&#xA;	" xmlns="http://www.w3.org/2000/svg" />
<path class="st096" d="M4,14h4v-3l6,4l-6,4v-3H4V14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st097 { fill:#727272;}
	.op5097 {opacity:0.5;}
</style>
<polygon class="st097" points="10,23 4,19 4,22 0,22 0,24 4,24 4,27 " xmlns="http://www.w3.org/2000/svg" />
<g class="op5097" xmlns="http://www.w3.org/2000/svg">
	<rect x="12" y="8" class="st097" width="14" height="12" />
</g>
<path class="st097" d="M31,0H7C6.4,0,6,0.4,6,1v17l2,1.3V2h22v28H8v-3.3L6,28v3c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C32,0.4,31.6,0,31,0z M26,24H12v-2h14V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st098 { fill:#727272;}
</style>
<path class="st098" d="M29,0H5C4.4,0,4,0.4,4,1v12.6l2,1.3V2h22v26H6v-2.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C30,0.4,29.6,0,29,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st098" d="M16,8h-6V6h6V8z M16,10h-6v2h6V10z M16,14h-6v2h6V14z M4,24l6-4l-6-4V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st098" d="M24,6h-6v2h6V6z M24,10h-6v2h6V10z M24,14h-6v2h6V14z M24,18h-6v2h6V18z M24,22h-6v2h6V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op7599 { opacity:0.75;}
	.st099 { fill:#727272;}
</style>
<g id="InsertField" xmlns="http://www.w3.org/2000/svg">
	<g class="op7599"><path class="st099" d="M26,24H14v-2h12V24z M29,4h-5v2h4v22H12v-5.2l-2,1.3V29c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V5&#xD;&#xA;		C30,4.5,29.5,4,29,4z M26,14h-2H14v2h12V14z" /></g>
	<path class="st099" d="M8,18.1H6v-4H4v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V18.1z" />
	<g class="op7599"><path class="st099" d="M22,11V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v10c0,0.5,0.5,1,1,1h20C21.5,12,22,11.5,22,11z M16,18h10v2H16&#xD;&#xA;		V18z" /></g>
</g>
</g>
<g transform="translate(136, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0100 { fill:#727272;}
</style>
<path class="st0100" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9&#xD;&#xA;	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5&#xD;&#xA;	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1&#xD;&#xA;	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3&#xD;&#xA;	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2&#xD;&#xA;	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5&#xD;&#xA;	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3&#xD;&#xA;	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3&#xD;&#xA;	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1&#xD;&#xA;	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28&#xD;&#xA;	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5&#xD;&#xA;	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8&#xD;&#xA;	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0101 { fill:#727272;}
	.op50101 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0101" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0101" cx="21" cy="11" r="3" />
	<polygon class="st0101" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50101">
		<polygon class="st0101" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(272, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0102 { fill:#727272;}
	.op50102 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0102" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0102" cx="21" cy="11" r="3" />
	<polygon class="st0102" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50102">
		<polygon class="st0102" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(170, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0103 { fill:#727272;}
	.op50103 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0103" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0103" cx="21" cy="11" r="3" />
	<polygon class="st0103" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50103">
		<polygon class="st0103" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(170, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0104 { fill:#727272;}
	.st0104 { fill:#727272;}
</style>
<polyline class="st0104" points="0,20 6,16 0,12 " xmlns="http://www.w3.org/2000/svg" />
<path class="st0104" d="M8,30V19c0-0.6,0.4-1,1-1h14l7,7v5h-2v-4h-5c-0.6,0-1-0.4-1-1v-5H10v10H8z M28,2v10H10V2H8v11&#xD;&#xA;	c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0105 { fill:#727272;}
	.st0105 { fill:#727272;}
</style>
<path class="st0105" d="M27,6h-3V3c0-0.5-0.5-1-1-1H3C2.5,2,2,2.5,2,3v22c0,0.5,0.5,1,1,1h3v3c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V7&#xD;&#xA;	C28,6.5,27.5,6,27,6z M6,7v17H4V4h18v2H7C6.5,6,6,6.5,6,7z M26,28H8V8h18V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0105" d="M22,15.3l-0.3,1.6H20l-0.5,2.3h1.8L21,20.8h-1.7L18.5,24h-1.8l0.6-3.2h-2L14.8,24H13l0.6-3.2H12l0.3-1.6H14&#xD;&#xA;	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H21l-0.7,3.3H22z M18.3,16.9h-2l-0.5,2.3h2L18.3,16.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0106 { fill:#727272;}
	.st0106 { fill:#727272;}
</style>
<path class="st0106" d="M25,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h20c0.5,0,1-0.5,1-1V3C26,2.5,25.5,2,25,2z M24,28H6V4h18V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0106" d="M20,13.3l-0.3,1.6H18l-0.5,2.3h1.8L19,18.8h-1.7L16.5,22h-1.8l0.6-3.2h-2L12.8,22H11l0.6-3.2H10l0.3-1.6H12&#xD;&#xA;	l0.5-2.3h-1.8l0.3-1.6h1.8l0.7-3.3h1.8l-0.7,3.3h2l0.7-3.3H19l-0.7,3.3H20z M16.3,14.9h-2l-0.5,2.3h2L16.3,14.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0107 { fill:#727272;}
</style>
<path class="st0107" d="M29,0H5C4.4,0,4,0.4,4,1v10.6l2,1.3V2h22v26H6v-4.9l-2,1.3V29c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1&#xD;&#xA;	C30,0.4,29.6,0,29,0z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0107" d="M24,8H12V6h12V8z M24,10H12v2h12V10z M24,14H12v2h12V14z M4,22l6-4l-6-4V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0107" d="M24,18H12v2h12V18z M24,22H12v2h12V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50108 { opacity:0.5;}
	.st0108 { fill:#727272;}
</style>
<g class="op50108" xmlns="http://www.w3.org/2000/svg"><path class="st0108" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" /></g>
<path class="st0108" d="M0,12l6,4l-6,4 M22,10V8.4h-3.4C18.7,8.2,18.9,8.1,19,8c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8V5.2c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C18.3,6.6,18,6.8,17.7,7c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V10H22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0108" d="M18,30v-2h-3v-1.7l3.4-4.3H20l0,4.3h1V28h-1l0,2H18z M18,26.3v-1.5l-1.3,1.5H18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0109 { fill:#727272;}
</style>
<path class="st0109" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0109" d="M0,12l6,4l-6,4 M24,6H14v2h10V6z M24,4H14V2h10V4z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0109" d="M24,30H14v-2h10V30z M24,24H14v2h10V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50110 { opacity:0.5;}
	.st0110 { fill:#727272;}
</style>
<g class="op50110" xmlns="http://www.w3.org/2000/svg"><path class="st0110" d="M28,2v10H10V2H8v11c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V2H28z M28,30V20H10v10H8V19c0-0.6,0.4-1,1-1h20&#xD;&#xA;	c0.6,0,1,0.4,1,1v11H28z" /></g>
<path class="st0110" d="M20,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8c0.2-0.3,0.2-0.7,0.2-1.1c0-0.5-0.1-0.9-0.4-1.2&#xD;&#xA;	c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1c-0.2-0.3-0.4-0.5-0.6-0.7&#xD;&#xA;	c-0.2-0.2-0.5-0.3-0.8-0.4C19.5,22,19.2,22,18.9,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6c-0.2,0.2-0.4,0.5-0.6,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3c0.2,0,0.5,0.1,0.6,0.2&#xD;&#xA;	c0.2,0.1,0.3,0.3,0.3,0.6c0,0.2,0,0.3-0.1,0.4c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.1,0-0.2,0-0.3,0&#xD;&#xA;	c-0.1,0-0.4,0-0.5,0l-0.2,0v1.4h0.1c0.2,0,0.6,0,0.8,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.1,0.3,0.1,0.6&#xD;&#xA;	c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.4&#xD;&#xA;	c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H16l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9c0.3,0.2,0.6,0.4,0.9,0.6&#xD;&#xA;	c0.4,0.1,0.8,0.2,1.2,0.2C19.3,30,19.6,29.9,20,29.8z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0110" d="M0,12l6,4l-6,4 M18.4,2l0,0.1c0,0.3-0.1,0.5-0.3,0.7c-0.1,0.2-0.3,0.4-0.5,0.5c-0.2,0.1-0.4,0.2-0.7,0.3&#xD;&#xA;	c-0.2,0-0.5,0.1-0.7,0.1l-0.2,0v1.6l2,0V10h2V2H18.4z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0111 { fill:#727272;}
</style>
<path class="st0111" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z&#xD;&#xA;	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50112 {opacity:0.5;}
	.st0112 {fill:#727272;}
</style>
<g class="op50112" xmlns="http://www.w3.org/2000/svg">
	<path class="st0112" d="M22,12h8v6h-8V12z M12,12v6h8v-6H12z M10,18v-6H2v6H10z M22,26h8v-6h-8V26z M12,20v6h8v-6H12z M10,26v-6H2v6&#xD;&#xA;		H10z" />
</g>
<rect x="2" y="4" class="st0112" width="28" height="6" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0113 { fill:#727272;}
	.op50113 {opacity:0.5;}
</style>
<g class="op50113" xmlns="http://www.w3.org/2000/svg">
	<path class="st0113" d="M30,6H20V0h10V6z M30,16H20v6h10V16z M30,24H20v6h10V24z" />
</g>
<polygon class="st0113" points="12,10 12,12 18,12 18,14 22,11 18,8 18,10 " xmlns="http://www.w3.org/2000/svg" />
<rect y="8" class="st0113" width="10" height="6" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0114 { fill:#727272;}
	.op50114 {opacity:0.5;}
</style>
<g class="op50114" xmlns="http://www.w3.org/2000/svg">
	<path class="st0114" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M30,12h-8v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z" />
</g>
<path class="st0114" d="M6,13h4v4H6v2l-4-4l4-4V13z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="4" class="st0114" width="8" height="22" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0115 { fill:#727272;}
	.op50115 {opacity:0.5;}
</style>
<g class="op50115" xmlns="http://www.w3.org/2000/svg">
	<path class="st0115" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,20h-8v6h8V20z M10,20H2v6h8V20z" />
</g>
<path class="st0115" d="M26,13h-4v4h4v2l4-4l-4-4V13z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="4" class="st0115" width="8" height="22" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0116 { fill:#727272;}
	.op50116 {opacity:0.5;}
</style>
<g class="op50116" xmlns="http://www.w3.org/2000/svg">
	<path class="st0116" d="M22,20h-2v2h2V20z M22,24h-2v2h2V24z M22,16h-2v2h2V16z" />
</g>
<path class="st0116" d="M26,16h-2v2h2V16z M26,20h-2v2h2V20z M26,24h-2v2h2V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0116" d="M12,26v-2h6v2H12z M18,22v-2h-6v2H18z M31,0H7C6.4,0,6,0.4,6,1v14.9l2,1.3V2h22v28H8v-5.3l-2,1.3V31&#xD;&#xA;	c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M18,16h-6v2h6V16z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0116" points="10,21 4,17 4,20 0,20 0,22 4,22 4,25 " xmlns="http://www.w3.org/2000/svg" />
<g class="op50116" xmlns="http://www.w3.org/2000/svg">
	<rect x="12" y="6" class="st0116" width="14" height="8" />
</g>
</g>
<g transform="translate(204, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0117 { fill:#727272;}
	.st0117 { fill:#727272;}
	.op50117 {opacity:0.5;}
</style>
<g class="op50117" xmlns="http://www.w3.org/2000/svg">
	<path class="st0117" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,18h-2v2h2V18z M20,22h-2v2h2V22z M20,14h-2v2h2V14z M16,8h-2V6h2V8z&#xD;&#xA;		 M16,10h-2v2h2V10z M16,18h-2v2h2V18z M16,22h-2v2h2V22z M16,14h-2v2h2V14z" />
</g>
<path class="st0117" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z M24,18h-2v2h2V18z M24,22h-2v2h2V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0117" d="M27,0H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h24c0.6,0,1-0.4,1-1V1C28,0.4,27.6,0,27,0z M26,28H4V2h22V28z&#xD;&#xA;	 M12,8H6V6h6V8z M12,10H6v2h6V10z M12,14H6v2h6V14z M12,18H6v2h6V18z M12,22H6v2h6V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0118 { fill:#727272;}
</style>
<path class="st0118" d="M17.1,10h2.5l-0.5,2h-2.5l-2.5,10.2c-0.3,1.3-0.7,2.4-1.4,3.2c-0.6,0.9-1.3,1.5-2.2,1.9&#xD;&#xA;	C9.8,27.8,8.8,28,7.7,28c-1.1,0-1.9-0.2-2.6-0.6C4.4,26.8,4,26.2,4,25.6c0-0.5,0.2-1,0.5-1.3c0.4-0.4,0.8-0.5,1.3-0.5&#xD;&#xA;	c0.2,0,0.4,0,0.7,0.1C6.8,23.9,7,24,7.2,24.2c0.1,0.1,0.4,0.3,0.7,0.8c0.1,0.2,0.3,0.3,0.4,0.4c0.1,0.1,0.3,0.1,0.4,0.1&#xD;&#xA;	c0.6,0,1-0.6,1.2-1.9L12.5,12h-1.8l0.4-2H13l0.3-1.3c0.3-1.5,1.1-2.6,2.2-3.5S18,4,19.8,4c0.9,0,1.6,0.1,2.1,0.3&#xD;&#xA;	c0.5,0.2,0.9,0.5,1.2,0.9c0.3,0.4,0.4,0.8,0.4,1.2c0,0.3-0.1,0.7-0.3,1c-0.2,0.3-0.4,0.5-0.7,0.7c-0.3,0.2-0.6,0.2-1,0.2&#xD;&#xA;	c-0.3,0-0.6-0.1-0.9-0.2c-0.3-0.1-0.6-0.4-0.8-0.7c-0.3-0.4-0.5-0.6-0.7-0.7c-0.1-0.1-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.2-0.8,0.5&#xD;&#xA;	c-0.2,0.2-0.3,0.7-0.5,1.4L17.1,10z M21.5,18.2l1.5,3.1c0.8-1.2,1.4-1.9,1.7-2.2c0.4-0.4,0.8-0.7,1.2-0.9s0.8-0.3,1.1-0.3&#xD;&#xA;	c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.5,0.4,0.9c0,0.2,0,0.5-0.1,0.6c-0.1,0.2-0.2,0.3-0.4,0.5c-0.2,0.1-0.4,0.2-0.5,0.3&#xD;&#xA;	c-0.1,0-0.3,0-0.7,0.1c-0.4,0-0.7,0-0.8,0.1c-0.2,0-0.3,0.1-0.5,0.3c-0.2,0.2-0.4,0.3-0.6,0.6c-0.1,0.1-0.4,0.5-1,1.4l0.5,1&#xD;&#xA;	c0.4,0.8,0.7,1.3,1,1.6c0.3,0.2,0.5,0.4,0.8,0.4c0.4,0,0.9-0.2,1.4-0.7l1.1,1.2c-1.1,1-2.2,1.5-3.4,1.5c-0.5,0-0.9-0.1-1.3-0.2&#xD;&#xA;	c-0.4-0.2-0.7-0.4-1-0.7c-0.3-0.3-0.6-0.8-0.9-1.4l-0.5-1.1c-0.5,0.8-1,1.5-1.6,2.1c-0.5,0.6-1,0.9-1.4,1.1C18,27.9,17.6,28,17.2,28&#xD;&#xA;	c-0.3,0-0.5-0.1-0.8-0.2c-0.2-0.1-0.3-0.2-0.4-0.5c-0.1-0.2-0.2-0.4-0.2-0.7c0-0.3,0.1-0.5,0.2-0.7c0.1-0.2,0.3-0.4,0.5-0.5&#xD;&#xA;	c0.2-0.1,0.6-0.2,1.1-0.2c0.4,0,0.7-0.1,0.9-0.2c0.2-0.1,0.5-0.3,0.7-0.6c0.3-0.3,0.7-0.8,1.2-1.7l-0.9-2h-1.4l0.4-1.8&#xD;&#xA;	c0.8-0.1,1.5-0.4,2.2-0.8H21.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0119 { fill:#727272;}
	.op50119 {opacity:0.5;}
</style>
<g id="Images" xmlns="http://www.w3.org/2000/svg">
	<path class="st0119" d="M29,4H3C2.5,4,2,4.5,2,5v22c0,0.5,0.5,1,1,1h26c0.5,0,1-0.5,1-1V5C30,4.5,29.5,4,29,4z M28,26H4V6h24V26z" />
	<circle class="st0119" cx="21" cy="11" r="3" />
	<polygon class="st0119" points="20,24 10,14 6,18 6,24 	" />
	<g class="op50119">
		<polygon class="st0119" points="22,24 18,20 20,18 26,24 		" />
	</g>
</g>
</g>
<g transform="translate(476, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0120 { fill:#727272;}
	.op50120 {opacity:0.5;}
</style>
<g class="op50120" xmlns="http://www.w3.org/2000/svg">
	<path class="st0120" d="M10,10H2V4h8V10z M20,20h-8v6h8V20z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
<path class="st0120" d="M30,12H2v6h28V12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0120" points="20,6 16,2 12,6 14,6 14,10 18,10 18,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 102)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0121 { fill:#727272;}
	.op50121 {opacity:0.5;}
</style>
<g class="op50121" xmlns="http://www.w3.org/2000/svg">
	<path class="st0121" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
<path class="st0121" d="M30,12H2v6h28V12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0121" points="20,24 16,28 12,24 14,24 14,20 18,20 18,24 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0122 { fill:#727272;}
	.st0122 { fill:#727272;}
	.op75122 {opacity:0.75;}
</style>
<path class="st0122" d="M27,2H5C4.5,2,4,2.5,4,3v26c0,0.5,0.5,1,1,1h22c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75122" xmlns="http://www.w3.org/2000/svg">
	<path class="st0122" d="M24,26H8v-2h16V26z M24,20H8v2h16V20z" />
</g>
<path class="st0122" d="M22,18h-3l-0.9-2.7h-4.3L13,18h-3l4.4-12h3.2L22,18z M17.5,13.3l-1.3-4c-0.1-0.3-0.2-0.7-0.2-1.1h-0.1&#xD;&#xA;	c0,0.4-0.1,0.7-0.2,1l-1.3,4.1H17.5z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0123 { fill:#727272;}
</style>
<polygon class="st0123" points="21.6,6 22,4 14,4 13.6,6 15.8,6 12,24 9.8,24 9.4,26 17.6,26 17.8,24 15.6,24 19.4,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0124 { fill:#727272;}
	.op50124 { opacity:0.5;}
</style>
<path class="st0124" d="M3.3,28c1.3-1.1,2.9-1.7,4.7-1.9v3.9C6.2,29.7,4.6,29.1,3.3,28z M14.9,18l-2,2h5.1c-0.1-0.7-0.3-1.4-0.5-2&#xD;&#xA;	H14.9z M10,22v2.1c2.3,0.2,4.4,1.1,6.1,2.5c1-1.3,1.7-2.9,1.9-4.6h-7.1H10z M1.9,26.6c1.7-1.4,3.8-2.3,6.1-2.5V22H0.1&#xD;&#xA;	C0.2,23.7,0.9,25.3,1.9,26.6z M10,29.9c1.8-0.2,3.4-0.9,4.7-1.9c-1.3-1.1-2.9-1.7-4.7-1.9V29.9z M5,18c-1.5,0-2.7-1.1-2.9-2.5&#xD;&#xA;	c0,0-0.1-0.1-0.1-0.1c-1,1.3-1.7,2.9-1.9,4.6H8v-2H7H5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50124" xmlns="http://www.w3.org/2000/svg"><path class="st0124" d="M29,0H5C4.5,0,4,0.5,4,1v14c0,0.5,0.5,1,1,1h5v4l4-4h15c0.5,0,1-0.5,1-1V1C30,0.5,29.5,0,29,0z" /></g>
<path class="st0124" d="M13.9,12h-2l-0.6-1.8H8.5L8,12H6l2.9-8H11L13.9,12z M10.9,8.8l-0.9-2.7C10,5.9,10,5.7,10,5.4h0&#xD;&#xA;	c0,0.2-0.1,0.5-0.1,0.7L8.9,8.8H10.9z M14.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5c0.5,0.3,0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1&#xD;&#xA;	c-0.3,0.3-0.7,0.5-1.1,0.7v0c0.6,0.1,1,0.3,1.4,0.6c0.3,0.3,0.5,0.8,0.5,1.3c0,0.7-0.3,1.3-0.8,1.7C19.6,11.8,18.9,12,18,12H14.9z&#xD;&#xA;	 M16.7,5.3v1.9h0.8c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H16.7z M16.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3&#xD;&#xA;	c0.2-0.2,0.4-0.5,0.4-0.8c0-0.3-0.1-0.6-0.3-0.8c-0.2-0.2-0.6-0.3-1-0.3H16.7z M27.9,11.7c-0.6,0.3-1.3,0.4-2.3,0.4&#xD;&#xA;	c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7&#xD;&#xA;	c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7c-0.5,0.5-0.7,1.1-0.7,1.9c0,0.8,0.2,1.4,0.7,1.8s1,0.7,1.8,0.7&#xD;&#xA;	c0.7,0,1.3-0.2,1.9-0.5V11.7z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0125 { fill:#727272;}
</style>
<path class="st0125" d="M21.6,14.5c0.5,0.3,0.5,0.8,0,1.1L4.9,25.9C4.4,26.2,4,25.9,4,25.4V4.6c0-0.6,0.4-0.8,0.9-0.5L21.6,14.5z&#xD;&#xA;	 M28,25V5c0-0.6-0.5-1-1-1h-2c-0.5,0-1,0.4-1,1v20c0,0.5,0.5,1,1,1h2C27.5,26,28,25.5,28,25z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0126 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0126" d="M12,8H2V6h10V8z M30,6H14v2h16V6z M12,10H2v2h10V10z M30,10H14v2h16V10z M12,14H2v2h10V14z M30,14H14v2h16V14z&#xD;&#xA;	 M12,18H2v2h10V18z M30,18H14v2h16V18z M12,22H2v2h10V22z M30,22H14v2h16V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0126" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="14" y="2" class="st0126" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0126" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="14" y="26" class="st0126" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0127 { fill:#727272;}
	.op50127 { opacity:0.5;}
</style>
<g class="op50127" xmlns="http://www.w3.org/2000/svg"><path class="st0127" d="M31,2H13c-0.5,0-1,0.5-1,1v26c0,0.5,0.5,1,1,1h18c0.5,0,1-0.5,1-1V3C32,2.5,31.5,2,31,2z M30,28H14V4h16V28z" /></g>
<g class="op50127" xmlns="http://www.w3.org/2000/svg"><path class="st0127" d="M26,12h-8v-2h8V12z M26,22h-8v-2h8V22z" /></g>
<path class="st0127" d="M4,6v8H2V9.3l-2,0V7.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M6,24v-1.6H2.6C2.7,22.2,2.9,22.1,3,22c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C2.3,20.6,2,20.8,1.7,21c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V24H6z M10,10H8v2h2V10z M10,20H8v2h2V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0128 { fill:#727272;}
	.st0128 { fill:#727272;}
</style>
<path class="st0128" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0128" d="M6,24h4l-5,5l-5-5h4v-6h2V24z M4,12h2V6h4L5,1L0,6h4V12z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75129 { opacity:0.75;}
	.st0129 { fill:#727272;}
</style>
<g class="op75129" xmlns="http://www.w3.org/2000/svg"><path class="st0129" d="M16,16H6v-6h10V16z M32,10H22v6h10V10z" /></g>
<path class="st0129" d="M14,16v11c0,0.5-0.5,1-1,1H3c-0.5,0-1-0.5-1-1V13c0-0.5,0.5-1,1-1h3v2H4v12h8V16H14z M28,16v10h-8V14h2v-2h-3&#xD;&#xA;	c-0.5,0-1,0.5-1,1v14c0,0.5,0.5,1,1,1h10c0.5,0,1-0.5,1-1V16H28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0129" d="M10.9,2.9C12.7,1.1,15.2,0,18,0c4.8,0,8.9,3.4,9.8,8h-2.1c-0.9-3.4-4-6-7.7-6c-2.2,0-4.2,0.9-5.6,2.4L16,8H8V0&#xD;&#xA;	L10.9,2.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0130 { fill:#727272;}
	.st0130 { fill:#727272;}
</style>
<path class="st0130" d="M30,8H12V6h18V8z M30,16H12v-2h18V16z M30,24H12v-2h18V24z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0130" d="M8,7c0,1.7-1.3,3-3,3S2,8.7,2,7s1.3-3,3-3S8,5.3,8,7z M5,12c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,12,5,12&#xD;&#xA;	z M5,20c-1.7,0-3,1.3-3,3s1.3,3,3,3s3-1.3,3-3S6.7,20,5,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50131 { opacity:0.5;}
	.st0131 { fill:#727272;}
</style>
<g class="op50131" xmlns="http://www.w3.org/2000/svg"><path class="st0131" d="M24,8H6V6h18V8z M28,18H10v-2h18V18z M32,28H14v-2h18V28z" /></g>
<path class="st0131" d="M4,2v8H2V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H4z M5.4,20c0.3-0.1,0.6-0.3,0.8-0.5c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3l0,0.1h2l-0.1-0.2&#xD;&#xA;	c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.3,0-0.5,0-0.8v-3.3c0-0.4-0.1-0.8-0.3-1c-0.2-0.2-0.4-0.4-0.7-0.6c-0.3-0.1-0.6-0.2-0.9-0.3&#xD;&#xA;	c-0.3,0-0.6-0.1-1-0.1c-0.3,0-0.7,0-1,0.1c-0.3,0.1-0.7,0.2-0.9,0.4c-0.3,0.2-0.5,0.4-0.7,0.7c-0.2,0.3-0.3,0.7-0.3,1.1l0,0.1h1.9&#xD;&#xA;	l0-0.1c0-0.3,0.1-0.5,0.3-0.7c0.2-0.1,0.4-0.2,0.7-0.2c0.1,0,0.3,0,0.4,0c0.1,0,0.2,0.1,0.3,0.1C5.9,14.8,6,14.9,6,15&#xD;&#xA;	c0,0.1,0.1,0.2,0.1,0.4c0,0.1,0,0.2-0.1,0.3c-0.1,0.1-0.2,0.1-0.4,0.2c-0.2,0-0.4,0.1-0.6,0.1c-0.2,0-0.5,0.1-0.8,0.1&#xD;&#xA;	c-0.3,0-0.5,0.1-0.8,0.2c-0.3,0.1-0.5,0.2-0.7,0.3c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.3-0.2,0.6-0.2,1c0,0.3,0.1,0.6,0.2,0.9&#xD;&#xA;	c0.1,0.3,0.3,0.5,0.5,0.6C2.9,19.8,3.1,20,3.4,20c0.3,0.1,0.5,0.1,0.9,0.1C4.6,20.2,5,20.1,5.4,20z M6.1,17v0.4c0,0.1,0,0.2,0,0.4&#xD;&#xA;	c0,0.1-0.1,0.3-0.1,0.4c-0.1,0.1-0.2,0.3-0.4,0.4c-0.2,0.1-0.4,0.2-0.7,0.2c-0.1,0-0.3,0-0.4,0c-0.1,0-0.2-0.1-0.3-0.1&#xD;&#xA;	C4.1,18.6,4,18.5,4,18.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1,0-0.3,0.1-0.3c0-0.1,0.1-0.2,0.2-0.2c0.1-0.1,0.2-0.1,0.3-0.1&#xD;&#xA;	c0.1,0,0.2-0.1,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.4-0.1C6,17,6.1,17,6.1,17z M10,22H8v2h2V22z&#xD;&#xA;	 M10,30H8v-4.9h2V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50132 { opacity:0.5;}
	.st0132 { fill:#727272;}
</style>
<g class="op50132" xmlns="http://www.w3.org/2000/svg"><path class="st0132" d="M30,8H12V6h18V8z M30,18H12v-2h18V18z M30,28H12v-2h18V28z" /></g>
<path class="st0132" d="M6,2v8H4V5.3l-2,0V3.7l0.2,0c0.2,0,0.5,0,0.7-0.1c0.3,0,0.5-0.1,0.7-0.3c0.2-0.1,0.4-0.3,0.5-0.5&#xD;&#xA;	c0.1-0.2,0.2-0.4,0.3-0.7l0-0.1H6z M8,20v-1.6H4.6C4.7,18.2,4.9,18.1,5,18c0.2-0.2,0.5-0.4,0.7-0.5c0.3-0.2,0.5-0.3,0.8-0.5&#xD;&#xA;	c0.3-0.2,0.5-0.4,0.7-0.6c0.2-0.2,0.4-0.5,0.5-0.8c0.1-0.3,0.2-0.6,0.2-1c0-0.4-0.1-0.7-0.2-1.1c-0.1-0.3-0.4-0.6-0.6-0.8&#xD;&#xA;	c-0.3-0.2-0.5-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.5,0-0.9,0.1-1.3,0.2c-0.4,0.2-0.7,0.4-0.9,0.7c-0.2,0.3-0.4,0.6-0.5,1&#xD;&#xA;	c-0.1,0.4-0.2,0.8-0.2,1.3l0,0.1h1.8v-0.1c0-0.2,0-0.4,0.1-0.6c0-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.3,0.3-0.4&#xD;&#xA;	c0.1-0.1,0.3-0.1,0.5-0.1c0.3,0,0.5,0.1,0.7,0.3c0.2,0.2,0.3,0.4,0.3,0.8c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.4,0.5&#xD;&#xA;	c-0.1,0.1-0.3,0.3-0.5,0.4c-0.2,0.1-0.4,0.2-0.5,0.4C4.3,16.6,4,16.8,3.7,17c-0.3,0.2-0.6,0.5-0.8,0.7c-0.2,0.3-0.4,0.6-0.5,0.9&#xD;&#xA;	c-0.1,0.3-0.2,0.7-0.2,1.2V20H8z M6.1,29.8c0.3-0.1,0.7-0.3,0.9-0.5c0.3-0.2,0.5-0.5,0.6-0.8C7.9,28.2,8,27.8,8,27.4&#xD;&#xA;	c0-0.5-0.1-0.9-0.4-1.2c-0.2-0.2-0.4-0.4-0.7-0.5c0.2-0.1,0.4-0.3,0.5-0.5c0.2-0.3,0.3-0.6,0.3-1c0-0.4-0.1-0.7-0.2-1&#xD;&#xA;	c-0.2-0.3-0.4-0.5-0.6-0.7c-0.2-0.2-0.5-0.3-0.8-0.4C5.7,22,5.4,22,5.1,22c-0.4,0-0.8,0.1-1.1,0.2c-0.3,0.1-0.6,0.3-0.9,0.6&#xD;&#xA;	c-0.2,0.2-0.4,0.5-0.6,0.9c-0.1,0.3-0.2,0.7-0.2,1.1l0,0.1h1.7l0-0.1c0-0.3,0.1-0.6,0.3-0.9c0.2-0.2,0.4-0.3,0.8-0.3&#xD;&#xA;	c0.2,0,0.5,0.1,0.6,0.2C5.9,23.9,6,24.1,6,24.4c0,0.2,0,0.3-0.1,0.4C5.8,24.9,5.6,25,5.5,25c-0.1,0.1-0.3,0.1-0.5,0.1&#xD;&#xA;	c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.2,0l-0.2,0v1.4h0.1c0.2,0,0.4,0,0.6,0c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3&#xD;&#xA;	c0.1,0.1,0.1,0.3,0.1,0.6c0,0.3-0.1,0.6-0.3,0.7c-0.2,0.2-0.5,0.3-0.8,0.3c-0.2,0-0.4,0-0.5-0.1c-0.1-0.1-0.3-0.2-0.4-0.3&#xD;&#xA;	C4.1,28,4,27.8,4,27.7c-0.1-0.2-0.1-0.3-0.1-0.5l0-0.1H2.2l0,0.1c0,0.4,0.1,0.9,0.2,1.2c0.1,0.4,0.3,0.7,0.6,0.9&#xD;&#xA;	c0.3,0.2,0.6,0.4,0.9,0.6C4.2,29.9,4.6,30,5.1,30C5.4,30,5.8,29.9,6.1,29.8z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0133 { fill:#727272;}
	.op75133 { opacity:0.75;}
</style>
<path class="st0133" d="M28,22H18v-2h10V22z M10,6c0-1.1,0.9-2,2-2h4V3c0-1.7-3.6-3-8-3S0,1.3,0,3v14c0,1.1,1.6,2.1,4,2.6V15&#xD;&#xA;	c0-0.5,0.5-1,1-1h3h1.1h0l0.9,0.6V6z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75133" xmlns="http://www.w3.org/2000/svg"><path class="st0133" d="M16,16h12v2H16V16z M31,6H13c-0.5,0-1,0.5-1,1v8.9l2,1.3V8h16v22H14v-5.3l-2,1.3V31c0,0.5,0.5,1,1,1h18&#xD;&#xA;	c0.5,0,1-0.5,1-1V7C32,6.5,31.5,6,31,6z M28,12H16v2h12V12z M16,26h12v-2H16V26z" /></g>
<path class="st0133" d="M10,20H8v-4H6v5c0,0.6,0.4,1,1,1h3v3l6-4l-6-4V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0134 { fill:#727272;}
	.op50134 {opacity:0.5;}
</style>
<g class="op50134" xmlns="http://www.w3.org/2000/svg">
	<path class="st0134" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24&#xD;&#xA;		h-8v6h8V24z M30,24h-8v6h8V24z" />
</g>
<rect x="12" y="8" class="st0134" width="18" height="14" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(102, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0135 { fill:#727272;}
	.st0135 { fill:#727272;}
	.op50135 {opacity:0.5;}
</style>
<g class="op50135" xmlns="http://www.w3.org/2000/svg">
	<path class="st0135" d="M28,10h-8V4h8V10z M26.3,14.9c0.5-0.5,1.1-0.7,1.7-0.8v-2h-8v6h3.2L26.3,14.9z M0,26h8v-6H0V26z M18,23.2V20&#xD;&#xA;		h-8v6h5.2L18,23.2z" />
</g>
<path class="st0135" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z M29,23l-8,8l-4-4l8-8L29,23z M30,22&#xD;&#xA;	l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L26,18L30,22z M16,28v4h4L16,28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0136 {fill:#727272;}
</style>
<path class="st0136" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5&#xD;&#xA;	V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0137 {fill:#727272;}
</style>
<path class="st0137" d="M19,2H5C4.4,2,4,2.4,4,3v24c0,0.6,0.4,1,1,1h20c0.6,0,1-0.4,1-1V9L19,2z M24,26H6V4h12v5c0,0.6,0.4,1,1,1h5&#xD;&#xA;	V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0138 { fill:#727272;}
	.op75138 { opacity:0.75;}
	.op50138 {opacity:0.5;}
</style>
<g class="op50138" xmlns="http://www.w3.org/2000/svg">
	<path class="st0138" d="M0,20h8v6H0V20z M10,26h8v-6h-8V26z M20,12v6h8v-6H20z M20,26h8v-6h-8V26z" />
</g>
<path class="st0138" d="M0,4h8v6H0V4z M0,18h8v-6H0V18z M10,10h8V4h-8V10z M10,18h8v-6h-8V18z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75138" xmlns="http://www.w3.org/2000/svg"><polygon class="st0138" points="25,2 27,0 27,3 30,3 28,5 30,7 27,7 27,10 25,8 23,10 23,7 20,7 22,5 20,3 23,3 23,0 " /></g>
</g>
<g transform="translate(0, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0139 {fill:#727272;}
</style>
<path class="st0139" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0140 {fill:#727272;}
</style>
<path class="st0140" d="M8.9,4.1C8.4,3.8,8,4.1,8,4.6v20.7c0,0.6,0.4,0.8,0.9,0.5l16.8-10.3c0.5-0.3,0.5-0.8,0-1.1L8.9,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0141 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0141" d="M30,8H2V6h28V8z M30,10H2v2h28V10z M30,14H2v2h28V14z M30,18H2v2h28V18z M30,22H2v2h28V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0141" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0141" width="28" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0142 { fill:#727272;}
	.op75142 {opacity:0.75;}
</style>
<g class="op75142" xmlns="http://www.w3.org/2000/svg">
	<path class="st0142" d="M2.2,25.2l5.5-10C8,14.5,8.7,14,9.5,14H24v-3c0-0.6-0.4-1-1-1H12V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.5,2,7v18&#xD;&#xA;		c0,0.2,0,0.3,0.1,0.4C2.1,25.4,2.2,25.3,2.2,25.2z" />
</g>
<path class="st0142" d="M29.3,16H9.6L4,26h19.8c0.5,0,1.1-0.2,1.3-0.6l4.9-8.9C30.1,16.2,29.8,16,29.3,16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0143 { fill:#727272;}
	.op75143 { opacity:0.75;}
</style>
<path class="st0143" d="M32,3v26c0,0.5-0.5,1-1,1H9c-0.5,0-1-0.5-1-1v-3.1C8.2,26,8.5,26,8.7,26c1.5,0,2.9-0.6,4-1.6l6.2-6.1&#xD;&#xA;	c0.2,1,0.3,2.1,0.3,3.3c0,2.4,2,4.4,4.4,4.4s4.4-2,4.4-4.4c0-5.8-4.3-10.6-9.9-11.5L19,9.3c1.2-1.2,1.2-3.1,0-4.2&#xD;&#xA;	c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.1,0.9l-2.6,2.6L8,3.4V3c0-0.5,0.5-1,1-1h22C31.5,2,32,2.5,32,3z M16.4,12&#xD;&#xA;	c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C26,16.3,21.7,12,16.4,12z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75143" xmlns="http://www.w3.org/2000/svg"><path class="st0143" d="M15,13.2l3,3l-6.7,6.7c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L7.7,6l3,3l-1.9,1.9&#xD;&#xA;	C8.3,11.4,8,12.2,8,13c0,0.8,0.3,1.6,0.9,2.1C9.4,15.7,10.2,16,11,16s1.6-0.3,2.1-0.9L15,13.2z M11.7,13.7l5.9-5.9&#xD;&#xA;	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C10.7,14.1,11.3,14.1,11.7,13.7z" /></g>
</g>
<g transform="translate(102, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0144 { fill:#727272;}
	.st0144 { fill:#727272;}
</style>
<path class="st0144" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0144" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0145 { fill:#727272;}
	.st0145 { fill:#727272;}
</style>
<path class="st0145" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0145" d="M26,10V8h-4V4h-2v4h-8V4h-2v4H6v2h4v12H6v2h4v4h2v-4h8v4h2v-4h4v-2h-4V10H26z M20,22h-8V10h8V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0146 { fill:#727272;}
	.st0146 { fill:#727272;}
</style>
<path class="st0146" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0146" d="M26,8V6h-2V4h-2v2H10V4H8v2H6v2h2v16H6v2h2v2h2v-2h12v2h2v-2h2v-2h-2V8H26z M22,24H10V8h12V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0147 { fill:#727272;}
	.st0147 { fill:#727272;}
</style>
<path class="st0147" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0147" d="M26,10V8h-2V4h-2v4H12V4h-2v4H6v2h4v12H6v2h4v4h2v-4h10v4h2v-4h2v-2h-2V10H26z M22,22H12V10h10V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0148 { fill:#727272;}
	.st0148 { fill:#727272;}
</style>
<path class="st0148" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0148" d="M26,10V8h-6V4h-2v4h-4V4h-2v4H6v2h6v12H6v2h6v4h2v-4h4v4h2v-4h6v-2h-6V10H26z M18,22h-4V10h4V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0149 {fill:#727272;}
</style>
<path class="st0149" d="M23,12h-3V7l-7-7H1C0.4,0,0,0.4,0,1v22c0,0.6,0.4,1,1,1h5v7c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V19L23,12z&#xD;&#xA;	 M2,22V2h10v5c0,0.6,0.4,1,1,1h5v4H7c-0.6,0-1,0.4-1,1v9H2z M28,30H8v-6v-2v-8h10h2h2v5c0,0.6,0.4,1,1,1h5V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0150 {fill:#727272;}
</style>
<path class="st0150" d="M8,14h16v2H8V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0150" d="M2,5v21c0,0.6,0.4,1,1,1h26c0.6,0,1-0.4,1-1V5c0-0.6-0.4-1-1-1H3C2.4,4,2,4.4,2,5z M28,6v19H4V6H28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="8" y="18" class="st0150" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0150" d="M8,10h16v2H8V10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0151 {fill:#727272;}
</style>
<path class="st0151" d="M22,16H10v-2h12V16z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0151" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V3C28,2.4,27.6,2,27,2z M26,28H6V4h20V28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="10" y="10" class="st0151" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0151" d="M22,20H10v-2h12V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0152 { fill:#727272;}
	.st0152 { fill:#727272;}
</style>
<path class="st0152" d="M23,8H11c-0.6,0-1,0.4-1,1v22c0,0.6,0.4,1,1,1h18c0.6,0,1-0.4,1-1V15L23,8z M28,30H12V10h10v5&#xD;&#xA;	c0,0.6,0.4,1,1,1h5V30z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0152" d="M8,10H2V8h6V10z M8,30H2v2h6V30z M6,10H4v20h2V10z M12,0h-2v6h2V0z M28,2H10v2h18V2z M30,0h-2v6h2V0z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0153 { fill:#727272;}
</style>
<path class="st0153" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18&#xD;&#xA;	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0154 { fill:#727272;}
</style>
<path class="st0154" d="M30,4H10V2h20V4z M30,6H2v2h28V6z M30,10H2v2h28V10z M10,18H2v2h8V18z M10,14H2v2h8V14z M30,14H18&#xD;&#xA;	c-3.3,0-6,2.7-6,6s2.7,6,6,6v6h4V18h2v14h4V18h2V14z M18,22c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 0)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0155 {fill:#727272;}
	.op50155 { opacity: 0.5;}
</style>
<g id="Paste" xmlns="http://www.w3.org/2000/svg">
	<path class="st0155" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14&#xD;&#xA;		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z" />
</g>
<path class="st0155" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50155" xmlns="http://www.w3.org/2000/svg"><path class="st0155" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z" /></g>
</g>
<g transform="translate(0, 34)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0156 {fill:#727272;}
	.op50156 { opacity: 0.5;}
</style>
<g id="Paste" xmlns="http://www.w3.org/2000/svg">
	<path class="st0156" d="M31,12H15c-0.6,0-1,0.4-1,1v18c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V13C32,12.4,31.6,12,31,12z M30,30H16V14h14&#xD;&#xA;		V30z M28,22H18v-2h10V22z M28,26H18v-2h10V26z" />
</g>
<path class="st0156" d="M20,2V1c0-0.6-0.4-1-1-1h-6c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V2H20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50156" xmlns="http://www.w3.org/2000/svg"><path class="st0156" d="M27,2H5C4.4,2,4,2.4,4,3v26c0,0.6,0.4,1,1,1h7v-4V10h16V2.8C28,2.4,27.6,2,27,2z" /></g>
</g>
<g transform="translate(238, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75157 { opacity:0.75;}
	.st0157 { fill:#727272;}
</style>
<g class="op75157" xmlns="http://www.w3.org/2000/svg"><path class="st0157" d="M12,24v4H5c-0.6,0-1-0.4-1-1V3c0-0.6,0.4-1,1-1h3v22H12z M25,2h-3v10h4V3C26,2.4,25.6,2,25,2z" /></g>
<path class="st0157" d="M32,18v-3c0-0.6-0.4-1-1-1H15c-0.6,0-1,0.4-1,1v3H32z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0157" d="M28,20v2H18v-2H28z M18,26h10v-2H18V26z M30,18v10H16V18h-2v11c0,0.6,0.4,1,1,1h16c0.6,0,1-0.4,1-1V18H30z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0157" d="M18,2V1c0-0.6-0.4-1-1-1h-4c-0.6,0-1,0.4-1,1v1h-2v3c0,0.6,0.4,1,1,1h2h4h2c0.6,0,1-0.4,1-1V2H18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0158 { fill:#727272;}
</style>
<path class="st0158" d="M17,11L7,21l-4-4L13,7L17,11z M18,10l1.7-1.7c0.4-0.4,0.4-1,0-1.3l-2.7-2.7c-0.4-0.4-1-0.4-1.3,0L14,6L18,10z&#xD;&#xA;	 M2,18v4h4L2,18z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0159 {fill:#727272;}
</style>
<path class="st0159" d="M23.1,4.1c0.5-0.3,0.9,0,0.9,0.5v20.7c0,0.6-0.4,0.8-0.9,0.5L6.4,15.5c-0.5-0.3-0.5-0.8,0-1.1L23.1,4.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0160 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="PagePrevious" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0160" points="24,4 24,28 4,16 	" />
</g>
</g>
<g transform="translate(34, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0161 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="PagePrevious" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0161" points="24,4 24,28 4,16 	" />
</g>
</g>
<g transform="translate(340, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0162 {fill:#727272;}
</style>
<path class="st0162" d="M10,2h12v8h2V0H8v10h2V2z M28,8h-2v3c0,0.6-0.4,1-1,1H7c-0.6,0-1-0.4-1-1V8H4c-1.1,0-2,0.9-2,2v12&#xD;&#xA;	c0,1.1,0.9,2,2,2h4v6h16v-6h4c1.1,0,2-0.9,2-2V10C30,8.9,29.1,8,28,8z M22,22v2v4H10v-4v-2v-4h12V22z M20,24h-8v2h8V24z M20,20h-8v2&#xD;&#xA;	h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0163 { fill:#727272;}
	.op75163 { opacity:0.75;}
</style>
<path class="st0163" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5&#xD;&#xA;	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3&#xD;&#xA;	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6&#xD;&#xA;	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4&#xD;&#xA;	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1&#xD;&#xA;	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7&#xD;&#xA;	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7&#xD;&#xA;	C28,5,28,5.3,27.9,5.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75163" xmlns="http://www.w3.org/2000/svg"><path class="st0163" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2&#xD;&#xA;	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6&#xD;&#xA;	v10h2V4z" /></g>
</g>
<g transform="translate(68, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0164 { fill:#727272;}
	.op75164 { opacity:0.75;}
</style>
<path class="st0164" d="M25,0c-3.9,0-7,3.1-7,7c0,3.9,3.1,7,7,7c3.9,0,7-3.1,7-7C32,3.1,28.9,0,25,0z M26,12h-2v-2h2V12z M27.9,5.5&#xD;&#xA;	c-0.1,0.2-0.1,0.5-0.2,0.6c-0.1,0.2-0.2,0.3-0.3,0.5C27.2,6.8,27.1,6.9,27,7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.3,0.2-0.4,0.3&#xD;&#xA;	c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.2-0.1,0.3-0.2,0.5V9h-1.7V8.5c0-0.3,0.1-0.6,0.1-0.8c0.1-0.2,0.2-0.4,0.3-0.6&#xD;&#xA;	c0.1-0.2,0.2-0.3,0.3-0.4c0.1-0.1,0.2-0.2,0.4-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.4&#xD;&#xA;	c0-0.1,0.1-0.3,0.1-0.5c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.8-0.3c-0.2,0-0.4,0-0.6,0.1C24.3,3.9,24.1,4,24,4.1&#xD;&#xA;	c-0.1,0.2-0.2,0.3-0.2,0.6c0,0.1,0,0.2,0,0.3H22c0-0.4,0.1-0.7,0.2-1c0.1-0.4,0.3-0.8,0.6-1.1c0.3-0.3,0.6-0.5,0.9-0.7&#xD;&#xA;	C24.1,2.1,24.5,2,24.9,2c0.6,0,1.1,0.1,1.5,0.3c0.4,0.2,0.7,0.4,0.9,0.7c0.2,0.3,0.4,0.6,0.5,0.9C27.9,4.1,28,4.4,28,4.7&#xD;&#xA;	C28,5,28,5.3,27.9,5.5z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75164" xmlns="http://www.w3.org/2000/svg"><path class="st0164" d="M16,20h-6v2h6V20z M16,24h-6v2h6V24z M25,16c-2.1,0-4.1-0.8-5.7-2H5c-0.6,0-1-0.4-1-1v-3H2c-1.1,0-2,0.9-2,2&#xD;&#xA;	v10c0,1.1,0.9,2,2,2h4v6h14v-6h4c1.1,0,2-0.9,2-2v-6.1C25.7,16,25.3,16,25,16z M18,28H8V18h10V28z M8,4h8.5c0.3-0.7,0.6-1.4,1-2H6&#xD;&#xA;	v10h2V4z" /></g>
</g>
<g transform="translate(102, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0165 {fill:#727272;}
</style>
<path class="st0165" d="M6,6h14v2H6V6z M12,24H2V2h22v10h2V1c0-0.5-0.5-1-1-1H1C0.5,0,0,0.5,0,1v24c0,0.5,0.5,1,1,1h11V24z M6,12h10h4&#xD;&#xA;	v-2H6V12z M6,20h6c0-0.7,0.2-1.4,0.6-2H6V20z M6,16h10v-2H6V16z" xmlns="http://www.w3.org/2000/svg" />
<path id="Print" class="st0165" d="M28,20v-6H18v6h2v-4h6v4H28z M30,18L30,18v3c0,0.6-0.4,1-1,1H17c-0.6,0-1-0.4-1-1v-3l0,0&#xD;&#xA;	c-1.1,0-2,0.9-2,2v8c0,1.1,0.9,2,2,2h2v2h10v-2h2c1.1,0,2-0.9,2-2v-8C32,18.9,31.1,18,30,18z M26,30h-6v-4h6V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 68)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0166 { fill:#727272;}
	.st0166 { fill:#727272;}
</style>
<path class="st0166" d="M19.4,26H16c0,0,0,0,0,0c0,0,0,0,0,0H6V4h12v5c0,0.6,0.4,1,1,1h5v11.4l2,2V9l-7-7H5C4.4,2,4,2.4,4,3v24&#xD;&#xA;	c0,0.6,0.4,1,1,1h16.4L19.4,26z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0166" d="M16,12c3.3,0,6,2.7,6,6c0,1.2-0.4,2.3-1,3.3l4.6,4.6c0.5,0.5,0.5,1.3,0,1.7c-0.5,0.5-1.3,0.5-1.7,0L19.3,23&#xD;&#xA;	c-0.9,0.6-2.1,1-3.3,1c-3.3,0-6-2.7-6-6C10,14.7,12.7,12,16,12z M16,22c2.2,0,4-1.8,4-4s-1.8-4-4-4s-4,1.8-4,4S13.8,22,16,22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(306, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75167 { opacity:0.75;}
	.st0167 { fill:#727272;}
</style>
<path class="st0167" d="M8,10h14v2H8V10z M8,16h14v-2H8V16z M8,8h14V6H8V8z M18,28H4V2h22v14h1c0.3,0,0.7,0,1,0.1V1c0-0.6-0.4-1-1-1&#xD;&#xA;	H3C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h15V28z M8,24h10.2c0.3-0.9,1-1.5,1.8-1.8V22H8V24z M8,20h12.1c0.2-0.7,0.5-1.4,0.9-2H8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op75167" xmlns="http://www.w3.org/2000/svg"><path class="st0167" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
</g>
<g transform="translate(272, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0168 {fill:#727272;}
</style>
<path class="st0168" d="M16,10V4l16,10L16,24v-6C0,18,0,26,0,26S0,10,16,10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0169 { fill:#727272;}
	.op50169 { opacity:0.5;}
</style>
<g class="op50169" xmlns="http://www.w3.org/2000/svg"><path class="st0169" d="M12,26h-0.2H9.9H9.8l0-0.1L9.2,24H4.8l-0.6,1.9l0,0.1H4.1H2.2H2l0.1-0.2l3.9-11.7L6,14h0.1H8h0.1l0,0.1&#xD;&#xA;	l3.8,11.7L12,26L12,26z M5.4,22h3.2L7,16.7c0,0,0,0,0-0.1c0,0,0,0,0,0.1L5.4,22z" /></g>
<path class="st0169" d="M20,26V14h4.4c1.3,0,2.4,0.2,3.1,0.7c0.7,0.5,1.1,1.2,1.1,2.1c0,0.6-0.2,1.2-0.7,1.7c-0.4,0.5-1,0.8-1.7,1v0&#xD;&#xA;	c0.9,0.1,1.5,0.4,2,0.9c0.5,0.5,0.8,1.2,0.8,1.9c0,1.1-0.4,2-1.2,2.6c-0.8,0.6-1.9,1-3.2,1H20z M22.7,16v2.8h1.2&#xD;&#xA;	c0.6,0,1-0.1,1.3-0.4c0.3-0.3,0.5-0.6,0.5-1.1c0-0.9-0.7-1.3-2-1.3H22.7z M22.7,20.8V24h1.5c0.6,0,1.1-0.1,1.5-0.4&#xD;&#xA;	c0.4-0.3,0.5-0.7,0.5-1.2c0-0.5-0.2-0.9-0.5-1.1c-0.3-0.3-0.8-0.4-1.5-0.4H22.7z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0169" d="M23.1,6.9C21.3,5.1,18.8,4,16,4c-4.8,0-8.9,3.4-9.8,8h2.1c0.9-3.4,4-6,7.7-6c2.2,0,4.2,0.9,5.6,2.4L18,12h5.7&#xD;&#xA;	h2.1H26V4L23.1,6.9z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0170 { fill:#727272;}
	.op75170 {opacity:0.75;}
</style>
<g class="op75170" xmlns="http://www.w3.org/2000/svg">
	<path class="st0170" d="M19.7,7.7c-0.1-0.3-0.3-0.5-0.2-0.9c0-0.1,0.2-0.2,0.3-0.2c-0.7-2.2,0-4.4,2.5-4.6c2.7-0.2,3.2,1.8,3.2,1.8&#xD;&#xA;		s1.4-0.1,0.6,2.9c0.1,0,0.3,0,0.3,0.2c0.1,0.3,0,0.6-0.2,0.9c-0.1,0.3,0.1,1-0.5,1c0,0,0,0.1,0,0.1c-0.3,1.4-1.2,3-2.8,3&#xD;&#xA;		c-1.6,0-2.4-1.6-2.8-3c0,0,0-0.1,0-0.1C19.7,8.7,19.9,8,19.7,7.7z M6.3,8.7c0,0,0,0.1,0,0.1c0.3,1.4,1.2,3,2.8,3&#xD;&#xA;		c1.6,0,2.4-1.6,2.8-3c0,0,0-0.1,0-0.1c0.6,0,0.4-0.7,0.5-1c0.1-0.3,0.2-0.5,0.2-0.9c-0.1-0.2-0.3-0.2-0.3-0.2&#xD;&#xA;		c0.7-2.9-0.6-2.9-0.6-2.9S11,1.8,8.3,2C5.8,2.2,5.1,4.4,5.8,6.6c-0.1,0-0.2,0.1-0.3,0.2C5.4,7.2,5.6,7.4,5.7,7.7&#xD;&#xA;		C5.9,8,5.7,8.7,6.3,8.7z M25.3,11.9c-0.5,0.9-1.2,2.5-2.3,2.5c-0.5,0-0.8-0.3-1.2-0.7c0,0.3,0,0.5-0.1,0.8c0.1,0.1,0.1,0.3,0.1,0.4&#xD;&#xA;		c0.2,0.9,0,1.6-0.2,2c0,0.4-0.1,0.7-0.2,1H30v-0.9C30,12.5,26.7,14,25.3,11.9z M10.4,17c-0.2-0.4-0.5-1.1-0.3-2.1&#xD;&#xA;		c0-0.1,0-0.2,0.1-0.3c0-0.3-0.1-0.5-0.1-0.8c-0.3,0.3-0.7,0.5-1.1,0.5c-1.1,0-1.8-1.6-2.3-2.6C5.4,14.1,2,12.5,2,17.1V18h8.6&#xD;&#xA;		C10.5,17.7,10.4,17.4,10.4,17z" />
</g>
<path class="st0170" d="M12.3,16.4c-0.2-0.3-0.3-0.6-0.3-1c0-0.2,0.2-0.2,0.3-0.2c-0.7-2.5,0-5,2.9-5.2c3-0.2,3.7,2,3.7,2&#xD;&#xA;	s1.6-0.1,0.7,3.2c0.1,0,0.3-0.1,0.4,0.2c0.1,0.4,0,0.6-0.2,1c-0.2,0.3,0.1,1.1-0.6,1.1c0,0,0,0.1,0,0.1C18.8,19.2,17.8,21,16,21&#xD;&#xA;	c-1.8,0-2.8-1.7-3.2-3.4c0,0,0-0.1,0-0.1C12.2,17.6,12.4,16.8,12.3,16.4z M18.7,21.2c-0.5,1-1.4,2.8-2.7,2.8c-1.3,0-2.1-1.8-2.6-2.9&#xD;&#xA;	C11.9,23.6,8,21.8,8,27v1h16v-1C24,21.9,20.2,23.5,18.7,21.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0171 { fill:#727272;}
	.op50171 {opacity:0.5;}
</style>
<g class="op50171" xmlns="http://www.w3.org/2000/svg">
	<path class="st0171" d="M29,2H14v10h2V7.3L27.6,15L16,22.7V18h-2v10h15c0.5,0,1-0.5,1-1V3C30,2.5,29.5,2,29,2z" />
</g>
<path class="st0171" d="M8,16h10v3l6-4l-6-4v3H8V16z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0171" d="M6,18v-6h6V2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h9V18H6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0172 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0172" d="M20,6h10v2H20V6z M2,8h16V6H2V8z M20,12h10v-2H20V12z M2,12h16v-2H2V12z M20,16h10v-2H20V16z M2,16h16v-2H2V16z&#xD;&#xA;	 M20,20h10v-2H20V20z M2,20h16v-2H2V20z M20,24h10v-2H20V24z M2,24h16v-2H2V24z" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="2" class="st0172" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0172" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="26" class="st0172" width="10" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0172" width="16" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0173 { fill:#727272;}
	.op75173 { opacity:0.75;}
</style>
<g class="op75173" xmlns="http://www.w3.org/2000/svg"><path class="st0173" d="M29,22H1c-0.6,0-1-0.5-1-1V9c0-0.6,0.4-1,1-1h28c0.5,0,1,0.4,1,1v12C30,21.5,29.5,22,29,22z" /></g>
<path class="st0173" d="M4,22H2v-6h2V22z M8,18H6v4h2V18z M12,16h-2v6h2V16z M16,18h-2v4h2V18z M20,16h-2v6h2V16z M24,18h-2v4h2V18z&#xD;&#xA;	 M28,16h-2v6h2V16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0174 { fill:#727272;}
	.op75174 { opacity:0.75;}
</style>
<g class="op75174" xmlns="http://www.w3.org/2000/svg"><path class="st0174" d="M21,30H9c-0.6,0-1-0.5-1-1V1c0-0.6,0.4-1,1-1h12c0.5,0,1,0.4,1,1v28C22,29.5,21.5,30,21,30z" /></g>
<path class="st0174" d="M22,4h-6V2h6V4z M18,8h4V6h-4V8z M16,12h6v-2h-6V12z M18,16h4v-2h-4V16z M16,20h6v-2h-6V20z M18,24h4v-2h-4&#xD;&#xA;	V24z M16,28h6v-2h-6V28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 306)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0175 {fill:#727272;}
</style>
<path class="st0175" d="M27,4h-3v10H8V4H5C4.4,4,4,4.4,4,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V5C28,4.4,27.6,4,27,4z M24,24H8v-6&#xD;&#xA;	h16V24z M10,4v8h10V4H10z M14,10h-2V6h2V10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	.st0176 { fill:#727272;}
	
	
	
	
	
	
	
</style>
<g xmlns="http://www.w3.org/2000/svg">
</g>
<g id="SaveAs" xmlns="http://www.w3.org/2000/svg">
	<path class="st0176" d="M31,0H19c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h12c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,16H20V2h10V16z&#xD;&#xA;		 M22,20v4H6v-6h10v-4H6V4H3C2.4,4,2,4.4,2,5v22c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1v-7H22z M16,4H8v8h8V4z M12,10h-2V6h2V10z" />
</g>
</g>
<g transform="translate(68, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0177 {fill:#727272;}
	
	
</style>
<g id="Select" xmlns="http://www.w3.org/2000/svg">
	<path class="st0177" d="M18.2,20H26L10,4v22l5.3-5.3l2.7,6.7c0.2,0.5,0.8,0.8,1.3,0.5l0.9-0.4c0.5-0.2,0.8-0.8,0.5-1.3L18.2,20z" />
</g>
</g>
<g transform="translate(136, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0178 {fill:#727272;}
	.st0178 { fill:#727272;}
.op50178 { opacity:0.5;}
</style>
<path id="layer_1_" class="st0178" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50178" xmlns="http://www.w3.org/2000/svg"><path id="layer" class="st0178" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22&#xD;&#xA;	h2v-6h-2V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z&#xD;&#xA;	" /></g>
</g>
<g transform="translate(204, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0179 {fill:#727272;}
</style>
<path class="st0179" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M20,12h-8v6h8V12z M30,12h-8v6h8V12z&#xD;&#xA;	 M10,20H2v6h8V20z M20,20h-8v6h8V20z M30,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0180 { fill:#727272;}
	.st0180 { fill:#727272;}
	.op50180 {opacity:0.5;}
</style>
<rect x="12" y="12" class="st0180" width="8" height="6" xmlns="http://www.w3.org/2000/svg" />
<g class="op50180" xmlns="http://www.w3.org/2000/svg">
	<path class="st0180" d="M10,10H2V4h8V10z M20,4h-8v6h8V4z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z&#xD;&#xA;		 M20,20h-8v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(442, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0181 { fill:#727272;}
	.st0181 { fill:#727272;}
	.op50181 {opacity:0.5;}
</style>
<path class="st0181" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50181" xmlns="http://www.w3.org/2000/svg">
	<path class="st0181" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(272, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0182 { fill:#727272;}
	.st0182 { fill:#727272;}
	.op50182 {opacity:0.5;}
</style>
<path class="st0182" d="M20,10h-8V4h8V10z M20,12h-8v6h8V12z M20,20h-8v6h8V20z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50182" xmlns="http://www.w3.org/2000/svg">
	<path class="st0182" d="M10,10H2V4h8V10z M30,4h-8v6h8V4z M10,12H2v6h8V12z M30,12h-8v6h8V12z M10,20H2v6h8V20z M30,20h-8v6h8V20z" />
</g>
</g>
<g transform="translate(306, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0183 {fill:#727272;}
</style>
<path class="st0183" d="M18.4,8c2.6,0,4.8,4.3,4.8,9.6c0,1.3,1.1,2.4,2.4,2.4c1.3,0,2.4-1.1,2.4-2.4C28,12.3,23.7,8,18.4,8z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0183" d="M17,9.3l3,3L13.3,19c-1.4,1.4-3.7,1.4-5.1,0l-5.1-5.1c-1.4-1.4-1.4-3.7,0-5.1L9.7,2l3,3l-1.9,1.9&#xD;&#xA;	C10.3,7.4,10,8.2,10,9c0,0.8,0.3,1.6,0.9,2.1c0.6,0.6,1.3,0.9,2.1,0.9s1.6-0.3,2.1-0.9L17,9.3z M13.7,9.7l5.9-5.9&#xD;&#xA;	c0.4-0.4,0.4-1,0-1.4l0,0c-0.4-0.4-1-0.4-1.4,0l-5.9,5.9c-0.4,0.4-0.4,1,0,1.4l0,0C12.7,10.1,13.3,10.1,13.7,9.7z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75184 {opacity:0.75;}
	.st0184 {fill:#727272;}
</style>
<g id="_x32_" class="op75184" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_5_" class="st0184" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z&#xD;&#xA;		 M10,3.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,3.9,8.8,4.1,8.8,4.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,6.4,8.3,6.6,8.2,6.7&#xD;&#xA;		C8,6.8,7.8,6.9,7.5,7c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5C8.7,8.1,8.7,8.5,8.7,9c0,0.5,0,0.8,0.1,0.9s0.2,0.2,0.3,0.3&#xD;&#xA;		s0.4,0.1,0.9,0.1V12H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6c0-0.4,0-0.7-0.1-0.9&#xD;&#xA;		C6.1,8.2,5.3,7.9,5,7.9V6.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4c0-0.6,0.1-1.1,0.2-1.3&#xD;&#xA;		C6.6,2.7,6.8,2.5,7,2.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,2,8.6,2,9.1,2H10V3.7z M19,7.9c-0.3,0-1.1,0.3-1.2,0.5&#xD;&#xA;		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7&#xD;&#xA;		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3&#xD;&#xA;		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4&#xD;&#xA;		c-0.1-0.1-0.3-0.1-0.6-0.1H14V2h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3&#xD;&#xA;		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V7.9z" />
	<rect id="layer_4_" x="18" y="20" class="st0184" width="10" height="2" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<rect id="layer_3_" x="10" y="24" class="st0184" width="18" height="2" />
	<rect id="layer_2_" x="10" y="20" class="st0184" width="6" height="2" />
	<path id="layer_1_" class="st0184" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z" />
	<rect id="layer" x="10" y="16" class="st0184" width="18" height="2" />
</g>
</g>
<g transform="translate(34, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75185 {opacity:0.75;}
	.st0185 {fill:#727272;}
</style>
<g id="_x32_" class="op75185" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_6_" class="st0185" d="M16.2,5.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3&#xD;&#xA;		c0.3,0,0.5-0.1,0.6-0.1C18,10,18.4,5.6,16.2,5.6z" />
	<path id="layer_7_" class="st0185" d="M6,9.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8V8.2C8.8,8.3,8.3,8.4,8.2,8.4C6,8.4,6,9.6,6,9.8&#xD;&#xA;		z" />
	<rect id="layer_5_" x="18" y="20" class="st0185" width="10" height="2" />
	<path id="layer_4_" class="st0185" d="M24,13V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v12c0,0.6,0.4,1,1,1h22C23.5,14,24,13.6,24,13z&#xD;&#xA;		 M9.2,11.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7C7.6,11.9,7.1,12,6.7,12C4.1,12,4,10.3,4,9.9c0-0.4,0.1-0.8,0.2-1.1&#xD;&#xA;		c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2C4.3,6.1,4.6,4,7.7,4&#xD;&#xA;		C10.4,4,11,5.8,11,6.2v4c0,0.4,0.2,1.6,0.3,1.7H9.2z M16.9,12.1c-0.5,0-1-0.1-1.5-0.3c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V2h2.1v3.2&#xD;&#xA;		c0.2-0.4,0.6-0.7,1-0.9C16,4.1,16.5,4,16.9,4C19.8,4,20,7.4,20,8.1C20,8.8,19.7,12.1,16.9,12.1z" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<rect id="layer_3_" x="10" y="20" class="st0185" width="6" height="2" />
	<rect id="layer_2_" x="10" y="24" class="st0185" width="18" height="2" />
	<path id="layer_1_" class="st0185" d="M31,4h-7v2h6v24H8V14H6v17c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V5C32,4.5,31.5,4,31,4z" />
	<rect id="layer" x="10" y="16" class="st0185" width="18" height="2" />
</g>
</g>
<g transform="translate(408, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75186 { opacity:0.75;}
	.st0186 { fill:#727272;}
</style>
<g class="op75186" xmlns="http://www.w3.org/2000/svg"><path class="st0186" d="M12.1,21.3C12.2,21,15,14,22,14c1.5,0,2.9,0.3,4,0.9V7c0-0.6-0.4-1-1-1H3C2.4,6,2,6.4,2,7v14&#xD;&#xA;	c0,0.6,0.4,1,1,1h3v6l6-6h0C12,21.8,12,21.5,12.1,21.3z" /></g>
<path class="st0186" d="M22,16c5.7,0,8,6,8,6s-2.3,6-8,6c-5.7,0-8-6-8-6S16.3,16,22,16 M22,18c-3.3,0-5.1,2.7-5.8,4&#xD;&#xA;	c0.7,1.3,2.5,4,5.8,4c3.3,0,5.1-2.7,5.8-4C27.1,20.7,25.3,18,22,18L22,18z M22,20c-1.1,0-2,0.9-2,2s0.9,2,2,2c1.1,0,2-0.9,2-2&#xD;&#xA;	S23.1,20,22,20z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0187 { fill:#727272;}
</style>
<path class="st0187" d="M14,4h-2h-2c-4.4,0-8,3.6-8,8s3.6,8,8,8h2v6v2h4V8h4v20h4V8h4V4H14z M10,16c-2.2,0-4-1.8-4-4s1.8-4,4-4h2v8&#xD;&#xA;	H10z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0188 { fill:#727272;}
	.st0188 { fill:#727272;}
</style>
<path class="st0188" d="M24,8H6V6h18V8z M24,10H6v2h18V10z M24,14H6v2h18V14z M24,18H6v2h18V18z M24,22H6v2h18V22z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0188" d="M2,0h4v2H2v4H0V0H2z M8,2h6V0H8V2z M16,2h6V0h-6V2z M24,0v2h4v4h2V2V0H24z M28,14h2V8h-2V14z M28,22h2v-6h-2&#xD;&#xA;	V22z M28,28h-4v2h4h2v-6h-2V28z M8,30h6v-2H8V30z M16,30h6v-2h-6V30z M2,8H0v6h2V8z M2,16H0v6h2V16z M2,24H0v4v2h6v-2H2V24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(34, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0189 { fill:#727272;}
	.st0189 { fill:#727272;}
</style>
<path class="st0189" d="M30,16H12v-2h18V16z M30,8H12v2h18V8z M30,20H12v2h18V20z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0189" d="M6,6h4l-5,5L0,6h4V0h2V6z M4,30h2v-6h4l-5-5l-5,5h4V30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(68, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0190 {fill:#727272;}
</style>
<g id="SpellCheck" xmlns="http://www.w3.org/2000/svg">
	<polygon class="st0190" points="27,9 12,24 7,19 4,22 12,30 30,12 	" />
	<path class="st0190" d="M7.9,12H6l-0.6-1.8H2.6L2,12H0l3-8h2.1L7.9,12z M5,8.8L4.1,6.1C4.1,5.9,4,5.7,4,5.4l0,0c0,0.2-0.1,0.5-0.1,0.7&#xD;&#xA;		L3,8.8H5z M8.9,12V4h2.9c0.9,0,1.6,0.2,2.1,0.5s0.7,0.8,0.7,1.4c0,0.4-0.1,0.8-0.4,1.1c-0.3,0.3-0.7,0.5-1.1,0.7l0,0&#xD;&#xA;		c0.6,0.1,1,0.3,1.4,0.6C14.9,8.6,15,9.1,15,9.6c0,0.7-0.3,1.3-0.8,1.7C13.6,11.8,12.9,12,12,12H8.9z M10.7,5.3v1.9h0.8&#xD;&#xA;		c0.4,0,0.7-0.1,0.9-0.3s0.3-0.4,0.3-0.7c0-0.6-0.4-0.9-1.3-0.9H10.7z M10.7,8.6v2.1h1c0.4,0,0.7-0.1,1-0.3c0.2-0.2,0.4-0.5,0.4-0.8&#xD;&#xA;		S13,9,12.8,8.8s-0.6-0.3-1-0.3h-1.1V8.6z M22,11.7c-0.6,0.3-1.3,0.4-2.3,0.4c-1.2,0-2.2-0.4-2.9-1.1c-0.7-0.7-1.1-1.7-1.1-2.9&#xD;&#xA;		c0-1.3,0.4-2.3,1.2-3.1c0.8-0.8,1.8-1.2,3.1-1.2c0.8,0,1.4,0.1,2,0.3v1.7c-0.5-0.3-1.1-0.5-1.8-0.5c-0.8,0-1.4,0.2-1.8,0.7&#xD;&#xA;		c-0.5,0.5-0.7,1.1-0.7,1.9s0.2,1.4,0.7,1.8s1,0.7,1.8,0.7c0.7,0,1.3-0.2,1.9-0.5v1.8C22.1,11.7,22,11.7,22,11.7z" />
</g>
</g>
<g transform="translate(340, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0191 { fill:#727272;}
	.op50191 { opacity:0.5;}
</style>
<path class="st0191" d="M32,24c-1.4,0-2.2-0.7-2.7-1.3C28.8,22.2,28.6,22,28,22s-0.8,0.2-1.3,0.7C26.2,23.3,25.4,24,24,24&#xD;&#xA;	s-2.2-0.7-2.7-1.3C20.8,22.2,20.6,22,20,22s-0.8,0.2-1.3,0.7C18.2,23.3,17.4,24,16,24s-2.2-0.7-2.7-1.3C12.8,22.2,12.6,22,12,22&#xD;&#xA;	s-0.8,0.2-1.3,0.7C10.2,23.3,9.4,24,8,24s-2.2-0.7-2.7-1.3C4.8,22.2,4.6,22,4,22s-0.8,0.2-1.3,0.7C2.2,23.3,1.4,24,0,24v-2&#xD;&#xA;	c0.6,0,0.8-0.2,1.3-0.7C1.8,20.7,2.6,20,4,20s2.2,0.7,2.7,1.3C7.2,21.8,7.4,22,8,22s0.8-0.2,1.3-0.7C9.8,20.7,10.6,20,12,20&#xD;&#xA;	s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7&#xD;&#xA;	s0.8-0.2,1.3-0.7c0.5-0.5,1.3-1.3,2.7-1.3s2.2,0.7,2.7,1.3c0.5,0.5,0.7,0.7,1.3,0.7V24z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50191" xmlns="http://www.w3.org/2000/svg"><path class="st0191" d="M12.1,18H9.6l-0.7-2.2H5.2L4.5,18H2L5.7,8h2.7L12.1,18z M8.3,14l-1.1-3.3C7.1,10.4,7.1,10.1,7,9.8H7&#xD;&#xA;	c0,0.3-0.1,0.6-0.2,0.9L5.7,14H8.3z M13.3,18l0-10h3.7c1.1,0,2,0.2,2.6,0.6c0.6,0.4,0.9,1,0.9,1.7c0,0.5-0.2,1-0.6,1.4&#xD;&#xA;	c-0.4,0.4-0.8,0.7-1.4,0.8v0c0.7,0.1,1.3,0.3,1.7,0.8c0.4,0.4,0.7,1,0.7,1.6c0,0.9-0.3,1.6-1,2.2c-0.7,0.5-1.6,0.8-2.7,0.8H13.3z&#xD;&#xA;	 M15.6,9.7V12h1c0.5,0,0.8-0.1,1.1-0.3c0.3-0.2,0.4-0.5,0.4-0.9c0-0.7-0.6-1.1-1.7-1.1H15.6z M15.6,13.7v2.6h1.2&#xD;&#xA;	c0.5,0,0.9-0.1,1.2-0.4c0.3-0.2,0.5-0.6,0.5-1c0-0.4-0.1-0.7-0.4-0.9c-0.3-0.2-0.7-0.3-1.2-0.3H15.6z M30,17.6&#xD;&#xA;	c-0.7,0.4-1.7,0.5-2.9,0.5c-1.6,0-2.8-0.4-3.7-1.3c-0.9-0.9-1.3-2.1-1.3-3.6c0-1.6,0.5-2.9,1.5-3.9c1-1,2.3-1.5,3.9-1.5&#xD;&#xA;	c1,0,1.8,0.1,2.5,0.4v2.2c-0.7-0.4-1.5-0.6-2.3-0.6c-1,0-1.7,0.3-2.3,0.9c-0.6,0.6-0.9,1.4-0.9,2.4c0,1,0.3,1.7,0.8,2.3&#xD;&#xA;	c0.6,0.6,1.3,0.9,2.2,0.9c0.9,0,1.7-0.2,2.5-0.6V17.6z" /></g>
</g>
<g transform="translate(306, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0192 {fill:#727272;}
	.op50192 {opacity:0.5;}
</style>
<g id="SplitTable_1_" class="op50192" xmlns="http://www.w3.org/2000/svg">
	<path class="st0192" d="M10,8H2v6h8V8z M20,8h-8v6h8V8z M30,8h-8v6h8V8z M10,0H2v6h8V0z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M30,18h-8&#xD;&#xA;		v6h8V18z M20,18h-8v6h8V18z M10,18H2v6h8V18z M10,26H2v6h8V26z M20,26h-8v6h8V26z M30,26h-8v6h8V26z" />
</g>
</g>
<g transform="translate(34, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0193 { fill:#727272;}
	.op50193 {opacity:0.5;}
</style>
<g class="op50193" xmlns="http://www.w3.org/2000/svg">
	<path class="st0193" d="M10,6H2V0h8V6z M20,0h-8v6h8V0z M30,0h-8v6h8V0z M10,8H2v6h8V8z M10,16H2v6h8V16z M10,24H2v6h8V24z M20,24&#xD;&#xA;		h-8v6h8V24z M30,24h-8v6h8V24z" />
</g>
<path class="st0193" d="M20,14h-8V8h8V14z M30,8h-8v6h8V8z M30,16h-8v6h8V16z M20,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(272, 340)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0194 {fill:#727272;}
	
	
	
	
	
	
</style>
<g id="Strikeout" xmlns="http://www.w3.org/2000/svg">
	<path class="st0194" d="M24,14h-7c-0.2-0.1-0.4-0.2-0.7-0.4c-0.7-0.3-1.4-0.6-2-0.9c-0.6-0.3-1-0.6-1.4-0.8c-0.4-0.3-0.7-0.6-0.9-1&#xD;&#xA;		s-0.3-0.8-0.3-1.2c0-0.5,0.1-0.9,0.4-1.3c0.3-0.4,0.6-0.6,1-0.9c0.4-0.2,0.9-0.4,1.4-0.5c0.5-0.1,1.1-0.1,1.6-0.1&#xD;&#xA;		c1.9,0,3.5,0.4,4.8,1.3V4.8c-1-0.5-2.7-0.8-5-0.8c-1,0-2,0.1-3,0.3c-1,0.2-1.8,0.6-2.6,1.1C9.8,5.9,9.2,6.5,8.7,7.2S8,8.8,8,9.8&#xD;&#xA;		c0,0.8,0.1,1.5,0.4,2.1c0.3,0.6,0.6,1.1,1.1,1.6c0.1,0.1,0.3,0.3,0.5,0.4H6v2h7.1c0.1,0,0.1,0.1,0.2,0.1c0.7,0.3,1.3,0.6,1.9,0.9&#xD;&#xA;		c0.6,0.3,1.1,0.6,1.6,0.9c0.4,0.3,0.8,0.6,1,1c0.2,0.4,0.4,0.8,0.4,1.3c0,0.9-0.4,1.7-1.1,2.2c-0.7,0.5-1.9,0.7-3.4,0.7&#xD;&#xA;		c-0.4,0-0.9,0-1.4-0.1s-1-0.2-1.6-0.4c-0.5-0.2-1-0.4-1.5-0.6c-0.5-0.2-0.9-0.5-1.2-0.8v3.6c0.3,0.2,0.7,0.4,1.2,0.5&#xD;&#xA;		c0.5,0.1,1,0.3,1.6,0.4c0.6,0.1,1.1,0.2,1.6,0.2c0.5,0.1,1,0.1,1.3,0.1c1.1,0,2.1-0.1,3.1-0.3s1.9-0.5,2.6-1&#xD;&#xA;		c0.8-0.5,1.4-1.1,1.8-1.8s0.7-1.7,0.7-2.7c0-0.8-0.2-1.5-0.4-2.1c-0.3-0.6-0.7-1.2-1.2-1.7c-0.1-0.1-0.2-0.2-0.3-0.3h4V14z" />
</g>
</g>
<g transform="translate(442, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0195 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="StrikeoutDouble" xmlns="http://www.w3.org/2000/svg">
	<path class="st0195" d="M24,14h-7c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.7,1.5,1.1h4v2h-2.4c0.3,0.6,0.4,1.3,0.4,2.1&#xD;&#xA;		c0,1.1-0.2,2-0.7,2.7s-1,1.3-1.8,1.8c-0.8,0.5-1.6,0.8-2.6,1s-2,0.3-3.1,0.3c-0.4,0-0.8,0-1.3-0.1c-0.5-0.1-1.1-0.1-1.6-0.2&#xD;&#xA;		c-0.6-0.1-1.1-0.2-1.6-0.4C8.7,25.2,8.3,25,8,24.8v-3.6c0.3,0.3,0.7,0.6,1.2,0.8c0.5,0.2,1,0.4,1.5,0.6c0.5,0.2,1,0.3,1.6,0.4&#xD;&#xA;		s1,0.1,1.4,0.1c1.5,0,2.7-0.2,3.4-0.7c0.7-0.5,1.1-1.2,1.1-2.2c0-0.5-0.1-0.9-0.4-1.3c-0.2-0.3-0.5-0.6-0.9-0.9H6v-2h7.1&#xD;&#xA;		c-0.7-0.4-1.3-0.7-1.9-1.1c-0.5-0.3-0.8-0.6-1.2-0.9H6v-2h2.4c0,0,0,0,0,0C8.1,11.4,8,10.7,8,9.8c0-1,0.2-1.9,0.7-2.6&#xD;&#xA;		s1.1-1.3,1.8-1.8c0.8-0.5,1.6-0.8,2.6-1.1c1-0.2,1.9-0.3,3-0.3c2.3,0,4,0.3,5,0.8v3.5c-1.2-0.9-2.8-1.3-4.8-1.3&#xD;&#xA;		c-0.5,0-1.1,0-1.6,0.1c-0.5,0.1-1,0.3-1.4,0.5c-0.4,0.2-0.8,0.5-1,0.9c-0.3,0.4-0.4,0.8-0.4,1.3c0,0.5,0.1,0.9,0.3,1.2&#xD;&#xA;		s0.5,0.7,0.9,1c0,0,0.1,0,0.1,0.1H24V14z" />
</g>
</g>
<g transform="translate(34, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50196 { opacity:0.5;}
	.st0196 { fill:#727272;}
</style>
<g id="Subscript" xmlns="http://www.w3.org/2000/svg">
	<g class="op50196"><path class="st0196" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z" /></g>
	<path class="st0196" d="M27.4,30.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9&#xD;&#xA;		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,22.1,29,22,28.6,22&#xD;&#xA;		c-0.6,0-1.1,0.1-1.6,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,25.4,25,26l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8&#xD;&#xA;		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.4,0.6,0.4,1.1&#xD;&#xA;		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6c-0.2,0.2-0.4,0.4-0.7,0.5c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9&#xD;&#xA;		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32v-1.7H27.4z" />
</g>
</g>
<g transform="translate(102, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">	
	.op50197 { opacity:0.5;}	
	.st0197 { fill:#727272;}
</style>
<g id="Superscript" xmlns="http://www.w3.org/2000/svg">
	<g class="op50197"><path class="st0197" d="M2.6,6H8l4.1,7l4.3-7h5.1l-6.8,10.5L22,28h-5.5l-4.6-7.6L7.2,28H2l7.3-11.5L2.6,6z" /></g>
	<path class="st0197" d="M27.4,8.3c0.2-0.3,0.5-0.6,0.8-0.9s0.6-0.5,1-0.7s0.7-0.4,1-0.7s0.6-0.5,0.9-0.7c0.3-0.3,0.5-0.6,0.6-0.9&#xD;&#xA;		c0.2-0.4,0.2-0.8,0.2-1.3c0-0.5-0.1-0.9-0.3-1.3c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.1-0.6C29.5,0.1,29,0,28.6,0&#xD;&#xA;		C28,0,27.5,0.1,27,0.3c-0.5,0.2-0.8,0.5-1.1,0.8c-0.3,0.4-0.5,0.8-0.7,1.3S25,3.4,25,4l0,0h1.9l0,0c0-0.3,0-0.5,0.1-0.8&#xD;&#xA;		c0.1-0.3,0.1-0.5,0.3-0.7c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.4,0,0.8,0.1,1.1,0.4C29.8,2.4,30,2.7,30,3.2&#xD;&#xA;		c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.3,0.4-0.5,0.6C29,4.8,28.8,5,28.6,5.2c-0.2,0.2-0.5,0.3-0.7,0.5c-0.4,0.3-0.8,0.6-1.2,0.9&#xD;&#xA;		c-0.4,0.3-0.7,0.6-1,0.9c-0.3,0.3-0.5,0.7-0.7,1.1s-0.2,0.9-0.2,1.5H32V8.3H27.4z" />
</g>
</g>
<g transform="translate(340, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0198 { fill:#727272;}
</style>
<path class="st0198" d="M28,14c0-6.6-5.4-12-12-12C9.4,2,4,7.4,4,14c0,2.9,2.3,6.7,4.8,10H4v4h8.2H14v-4v-0.1c-2.4-2.6-6-7-6-9.9&#xD;&#xA;	c0-4.4,3.6-8,8-8c4.4,0,8,3.6,8,8c0,3-3.6,7.4-6,9.9V24v4h1.8H28v-4h-4.8C25.7,20.7,28,16.9,28,14z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0199 { fill:#727272;}
	.st0199 { fill:#727272;}
	.op50199 {opacity:0.5;}
</style>
<path class="st0199" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50199" xmlns="http://www.w3.org/2000/svg">
	<path class="st0199" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8&#xD;&#xA;		V4H28z" />
</g>
<polygon class="st0199" points="20.7,4.7 22,6 22,2 18,2 19.3,3.3 16,6.6 12.7,3.3 14,2 10,2 10,6 11.3,4.7 14.6,8 11.3,11.3 10,10 &#xD;&#xA;	10,14 14,14 12.7,12.7 16,9.4 19.3,12.7 18,14 22,14 22,10 20.7,11.3 17.4,8 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(136, 408)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0200 { fill:#727272;}
	.st0200 { fill:#727272;}
	.op50200 {opacity:0.5;}
</style>
<path class="st0200" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50200" xmlns="http://www.w3.org/2000/svg">
	<path class="st0200" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8&#xD;&#xA;		V4H28z" />
</g>
<path class="st0200" d="M12.6,9.1c-0.8,0-1.4-0.2-1.9-0.7C10.2,8,10,7.4,10,6.6c0-0.8,0.2-1.5,0.7-1.9c0.5-0.5,1.2-0.7,2-0.7&#xD;&#xA;	c0.8,0,1.4,0.2,1.9,0.6c0.4,0.4,0.7,1,0.7,1.8c0,0.8-0.2,1.4-0.7,1.9C14,8.8,13.4,9.1,12.6,9.1z M20,4l-6.2,10H12l6.2-10H20z&#xD;&#xA;	 M12.7,5.2c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.3,1.3,1,1.3c0.7,0,1.1-0.5,1.1-1.4C13.7,5.6,13.4,5.2,12.7,5.2z M19.3,14&#xD;&#xA;	c-0.8,0-1.4-0.2-1.9-0.7c-0.5-0.4-0.7-1-0.7-1.8c0-0.8,0.2-1.5,0.7-1.9s1.2-0.7,2-0.7c0.8,0,1.4,0.2,1.9,0.6s0.7,1,0.7,1.8&#xD;&#xA;	c0,0.8-0.2,1.4-0.7,1.9S20.1,14,19.3,14z M19.4,10.1c-0.7,0-1.1,0.5-1.1,1.4c0,0.9,0.4,1.3,1.1,1.3c0.7,0,1.1-0.5,1.1-1.4&#xD;&#xA;	c0-0.4-0.1-0.7-0.3-1C20,10.2,19.7,10.1,19.4,10.1z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0201 { fill:#727272;}
	.st0201 { fill:#727272;}
</style>
<path class="st0201" d="M32,6V4h-4V0h-2v4H6V0H4v4H0v2h4v20H0v2h4v4h2v-4h20v4h2v-4h4v-2h-4V6H32z M26,26H6V6h20V26z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0201" d="M8,8v16h16V8H8z M22,22H10V10h12V22z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0202 {fill:#727272;}
	.op50202 {opacity:0.5;}
</style>
<path class="st0202" d="M10,22H2v-6h8V22z M20,16h-8v6h8V16z M30,16h-8v6h8V16z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50202" xmlns="http://www.w3.org/2000/svg">
	<path class="st0202" d="M10,30H2v-6h8V30z M20,24h-8v6h8V24z M30,24h-8v6h8V24z M4,8h4v2H4v4H2v-4V8V4h2V8z M28,4v4h-4v2h4v4h2v-4V8V4&#xD;&#xA;		H28z" />
</g>
<path class="st0202" d="M21,6h-1V3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10c0.6,0,1-0.4,1-1V7&#xD;&#xA;	C22,6.4,21.6,6,21,6z M14,3c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V3z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0203 { fill:#727272;}
	.op75203 { opacity:0.75;}
	.op50203 {opacity:0.5;}
</style>
<g class="op50203" xmlns="http://www.w3.org/2000/svg">
	<path class="st0203" d="M10,18.1V22H2v-6h4.2c0.2,0.5,0.4,0.9,0.7,1.2c0.6,0.6,1.4,0.9,2.3,0.9C9.5,18.2,9.8,18.1,10,18.1z M12,30h8&#xD;&#xA;		v-6h-8V30z M2,30h8v-6H2V30z M27.3,16l-3,3c-0.6,0.6-1.4,1-2.3,1v2h8v-6h-1H27.3z M22,30h8v-6h-8V30z M19.6,19&#xD;&#xA;		c-0.4-0.4-0.7-1-0.9-1.5c-0.6-0.1-1.1-0.4-1.5-0.9c-0.2-0.2-0.3-0.4-0.5-0.6h-3.9L12,16.8V22h8v-2.7C19.9,19.2,19.7,19.1,19.6,19z" />
</g>
<g class="op75203" xmlns="http://www.w3.org/2000/svg"><path class="st0203" d="M29,2h-7v0c-1,0-2,0.4-2.8,1.1L16,6.4L8.4,14c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l7.7-7.7&#xD;&#xA;	c0.6-0.6,1.2,0,0.6,0.6L16.2,11c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6l-2.3,2.3&#xD;&#xA;	c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0l2.3-2.3c0.6-0.6,1.2,0,0.6,0.6L21,15.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0&#xD;&#xA;	l3.6-3.6H29c1.7,0,3-1.4,3-3V5C32,3.3,30.7,2,29,2z" /></g>
<path class="st0203" d="M6.9,12.6L10,9.5V8H2v6h4.1C6.3,13.5,6.6,13,6.9,12.6z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0204 { fill:#727272;}
	.st0204 { fill:#727272;}
	.op50204 {opacity:0.5;}
</style>
<g class="op50204" xmlns="http://www.w3.org/2000/svg">
	<path class="st0204" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;		c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" />
</g>
<path class="st0204" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z&#xD;&#xA;	 M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(374, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0205 { fill:#727272;}
	.st0205 { fill:#727272;}
	.op50205 {opacity:0.5;}
</style>
<path class="st0205" d="M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50205" xmlns="http://www.w3.org/2000/svg">
	<path class="st0205" d="M4,6V4h24v2H4z M28,10V8H4v2H28z M28,14v-2H4v2H28z M28,18v-2H4v2H28z M28,22v-2H4v2H28z M28,24H4v2h24V24z" />
</g>
<path class="st0205" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0206 { fill:#727272;}
	.st0206 { fill:#727272;}
</style>
<path class="st0206" d="M16.1,16.2C17.8,14.5,20,11.6,20,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C6.8,16.7,6,17.7,6,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C18,17.7,17.2,16.7,16.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0206" d="M31,0H1C0.4,0,0,0.4,0,1v28c0,0.6,0.4,1,1,1h30c0.6,0,1-0.4,1-1V1C32,0.4,31.6,0,31,0z M30,28H2V2h28V28z" xmlns="http://www.w3.org/2000/svg" />
<rect x="4" y="4" class="st0206" width="24" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="4" y="24" class="st0206" width="24" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="20" y="20" class="st0206" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 238)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0207 { fill:#727272;}
	.st0207 { fill:#727272;}
</style>
<path class="st0207" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M6,22H4v-2h2V22z M6,16H4v2h2V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M26,22h2v-2h-2V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M26,18h2v-2h-2V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0207" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0208 { fill:#727272;}
	.st0208 { fill:#727272;}
</style>
<path class="st0208" d="M6,6H4V4h24v2h-2h-2H8H6z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z M16,10c0.5-0.7,1.2-1.4,2-2h-4&#xD;&#xA;	C14.8,8.6,15.5,9.3,16,10z M24,22h4v-2h-4V22z M26,10h2V8h-2V10z M8,20H4v2h4V20z M28,24H4v2h24V24z M6,8H4v2h2V8z M32,1v28&#xD;&#xA;	c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z M8,16H4v2h4V16z M6,12H4v2h2V12z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0208" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0209 { fill:#727272;}
	.st0209 { fill:#727272;}
</style>
<path class="st0209" d="M31,0H1C0.5,0,0,0.5,0,1v28c0,0.5,0.5,1,1,1h30c0.5,0,1-0.5,1-1V1C32,0.5,31.5,0,31,0z M30,28H2V2h28V28z&#xD;&#xA;	 M8,22H4v-2h4V22z M8,16H4v2h4V16z M6,8H4v2h2V8z M4,26h24v-2H4V26z M6,12H4v2h2V12z M4,4v2h24V4H4z M24,22h4v-2h-4V22z M26,10h2V8&#xD;&#xA;	h-2V10z M26,14h2v-2h-2V14z M24,18h4v-2h-4V18z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0209" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(476, 272)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0210 { fill:#727272;}
	.st0210 { fill:#727272;}
</style>
<path class="st0210" d="M6,6H4V4h24v2h-2h-2H8H6z M28,24H4v2h24V24z M32,1v28c0,0.5-0.5,1-1,1H1c-0.5,0-1-0.5-1-1V1c0-0.5,0.5-1,1-1&#xD;&#xA;	h30C31.5,0,32,0.5,32,1z M30,2H2v26h28V2z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0210" d="M20.1,16.2C21.8,14.5,24,11.6,24,8c-6,0-8,6-8,6s-2-6-8-6c0,3.6,2.2,6.5,3.9,8.2C10.8,16.7,10,17.7,10,19&#xD;&#xA;	c0,1.7,1.3,3,3,3s3-1.3,3-3c0,1.7,1.3,3,3,3s3-1.3,3-3C22,17.7,21.2,16.7,20.1,16.2z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(0, 170)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0211 {fill:#727272;enable-background:new    ;}
</style>
<path class="st0211" d="M10,8H2V6h8V8z M10,10H2v2h8V10z M10,14H2v2h8V14z M10,18H2v2h8V18z M10,22H2v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0211" d="M20,8h-8V6h8V8z M20,10h-8v2h8V10z M20,14h-8v2h8V14z M20,18h-8v2h8V18z M20,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="2" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="12" y="26" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<path class="st0211" d="M30,8h-8V6h8V8z M30,10h-8v2h8V10z M30,14h-8v2h8V14z M30,18h-8v2h8V18z M30,22h-8v2h8V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="2" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="22" y="26" class="st0211" width="8" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(408, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50212 {opacity:0.5;}
	.st0212 {fill:#727272;}
</style>
<g id="_x32_" class="op50212" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_5_" class="st0212" d="M24,17V1c0-0.6-0.5-1-1-1H1C0.4,0,0,0.4,0,1v16c0,0.6,0.4,1,1,1h22C23.5,18,24,17.6,24,17z&#xD;&#xA;		 M10,5.7H9.7c-0.3,0-0.5,0-0.6,0.1C8.9,5.9,8.8,6.1,8.8,6.3c0,0.1,0,0.4-0.1,0.9c0,0.5-0.1,0.8-0.2,1.1C8.4,8.4,8.3,8.6,8.2,8.7&#xD;&#xA;		C8,8.8,7.8,8.9,7.5,9c0.3,0.1,0.5,0.2,0.7,0.3c0.1,0.1,0.3,0.3,0.4,0.5c0.1,0.2,0.2,0.6,0.2,1.1c0,0.5,0,0.8,0.1,0.9&#xD;&#xA;		s0.2,0.2,0.3,0.3s0.4,0.1,0.9,0.1V14H9.2c-0.9,0-1.5-0.1-1.9-0.2s-0.6-0.4-0.8-0.6c-0.2-0.3-0.2-0.7-0.2-1.3c0-0.1,0-0.5,0-0.6&#xD;&#xA;		c0-0.4,0-0.7-0.1-0.9C6.1,10.2,5.3,9.9,5,9.9V8.1c0.3,0,1.1-0.3,1.2-0.5c0.1-0.2,0.1-0.5,0.1-0.9c0,0,0-0.3,0-0.4&#xD;&#xA;		c0-0.6,0.1-1.1,0.2-1.3C6.6,4.7,6.8,4.5,7,4.4c0.2-0.1,0.4-0.2,0.7-0.2C8.1,4,8.6,4,9.1,4H10V5.7z M19,9.9c-0.3,0-1.1,0.3-1.2,0.5&#xD;&#xA;		c-0.1,0.2-0.1,0.5-0.1,0.9c0,0.1,0,0.5,0,0.6c0,0.6-0.1,1-0.2,1.3c-0.2,0.3-0.4,0.5-0.8,0.6s-1,0.2-1.9,0.2H14v-1.7&#xD;&#xA;		c0.4,0,0.7,0,0.9-0.1s0.2-0.2,0.3-0.3s0.1-0.4,0.1-0.9c0-0.5,0.1-0.9,0.2-1.1c0.1-0.2,0.2-0.4,0.4-0.5c0.1-0.1,0.4-0.2,0.7-0.3&#xD;&#xA;		c-0.3-0.1-0.5-0.2-0.6-0.3c-0.2-0.1-0.3-0.3-0.4-0.5c-0.1-0.3-0.2-0.6-0.2-1.1c0-0.5,0-0.8-0.1-0.9c-0.1-0.2-0.2-0.3-0.3-0.4&#xD;&#xA;		c-0.1-0.1-0.3-0.1-0.6-0.1H14V4h0.9c0.5,0,1,0,1.4,0.1c0.3,0.1,0.5,0.1,0.7,0.2c0.2,0.1,0.4,0.4,0.5,0.6c0.1,0.3,0.2,0.7,0.2,1.3&#xD;&#xA;		c0,0.1,0,0.4,0,0.4c0,0.4,0,0.7,0.1,0.9c0.1,0.2,0.8,0.5,1.2,0.5V9.9z" />
</g>
<g id="_x31_" xmlns="http://www.w3.org/2000/svg">
	<path id="layer_2_" class="st0212" d="M24.2,21.6c-0.3,0-0.6,0.1-0.8,0.2c-0.6,0.4-0.7,1-0.8,1.3c-0.1,0.3-0.5,3.3,1.6,3.3&#xD;&#xA;		c0.3,0,0.5-0.1,0.6-0.1C26,26,26.4,21.6,24.2,21.6z" />
	<path id="layer_1_" class="st0212" d="M14,25.8c0,0.2-0.1,1,1.3,1c1.5,0,1.6-1.7,1.6-1.8v-0.8c-0.1,0.1-0.6,0.2-0.7,0.2&#xD;&#xA;		C14,24.4,14,25.6,14,25.8z" />
	<path id="layer" class="st0212" d="M31,14H9c-0.6,0-1,0.4-1,1v16c0,0.6,0.4,1,1,1h22c0.5,0,1-0.4,1-1V15C32,14.4,31.5,14,31,14z&#xD;&#xA;		 M17.2,27.9c0-0.1-0.1-0.7-0.1-0.8c-0.3,0.4-0.7,0.6-1.1,0.7c-0.4,0.1-0.9,0.2-1.3,0.2c-2.6,0-2.7-1.7-2.7-2.1&#xD;&#xA;		c0-0.4,0.1-0.8,0.2-1.1c0.1-0.3,0.6-1.4,3.2-1.4c0.3,0,1.5-0.1,1.5-0.9c0-0.2,0-1-1.3-1c-0.9,0-1.3,0.7-1.3,1.1h-2&#xD;&#xA;		c0-0.5,0.3-2.6,3.4-2.6c2.7,0,3.3,1.8,3.3,2.2v4c0,0.4,0.2,1.6,0.3,1.7H17.2z M24.9,28.1c-0.5,0-1-0.1-1.5-0.3&#xD;&#xA;		c-0.4-0.2-0.8-0.5-1-0.9v1h-1.9V18h2.1v3.2c0.2-0.4,0.6-0.7,1-0.9c0.4-0.2,0.9-0.3,1.3-0.3c2.9,0,3.1,3.4,3.1,4.1&#xD;&#xA;		C28,24.8,27.7,28.1,24.9,28.1z" />
</g>
</g>
<g transform="translate(374, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0213 {fill:#727272;}
</style>
<path class="st0213" d="M14,8H2V6h12V8z M30,6H18v2h12V6z M14,10H2v2h12V10z M30,10H18v2h12V10z M14,14H2v2h12V14z M30,14H18v2h12V14z&#xD;&#xA;	 M14,18H2v2h12V18z M30,18H18v2h12V18z M14,22H2v2h12V22z M30,22H18v2h12V22z" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="2" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="18" y="2" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="2" y="26" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
<rect x="18" y="26" class="st0213" width="12" height="2" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0214 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="Underline" xmlns="http://www.w3.org/2000/svg">
	<path class="st0214" d="M8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24v11.4c0,5.7-2.7,8.6-8.2,8.6&#xD;&#xA;		C10.6,24,8,21.2,8,15.7z M6,28v2h20v-2H6z" />
</g>
</g>
<g transform="translate(306, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	
	
	
	
	.st0215 { fill:#727272;}
	
	
	
	
	
	
</style>
<g id="UnderlineDouble" xmlns="http://www.w3.org/2000/svg">
	<path class="st0215" d="M24,15.4c0,5.7-2.7,8.6-8.2,8.6C10.6,24,8,21.2,8,15.7V4h3.4v11c0,4,1.6,6,4.7,6c3,0,4.5-1.9,4.5-5.8V4H24&#xD;&#xA;		V15.4z M26,26H6v2h20V26z M26,30H6v2h20V30z" />
</g>
</g>
<g transform="translate(272, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0216 { fill:#727272;}
</style>
<path class="st0216" d="M32,26c0,0,0-8-16-8v6L0,14L16,4v6C32,10,32,26,32,26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op75217 { opacity:0.75;}
	.st0217 { fill:#727272;}
</style>
<g class="op75217" xmlns="http://www.w3.org/2000/svg"><path class="st0217" d="M31,24h-1v-3c0-1.7-1.3-3-3-3h-2c-1.7,0-3,1.3-3,3v3h-1c-0.6,0-1,0.4-1,1v6c0,0.6,0.4,1,1,1h10&#xD;&#xA;	c0.6,0,1-0.4,1-1v-6C32,24.4,31.6,24,31,24z M24,21c0-0.6,0.4-1,1-1h2c0.6,0,1,0.4,1,1v3h-4V21z" /></g>
<path class="st0217" d="M10,18h11c-0.4,0.6-0.8,1.3-0.9,2H10V18z M10,24h8.2c0.3-0.9,1-1.5,1.8-1.8V22H10V24z M6,10.8l-2,2V29&#xD;&#xA;	c0,0.6,0.4,1,1,1h13v-2H6V10.8z M27,4H12.8l-2,2H26v10h1c0.3,0,0.7,0,1,0.1V5C28,4.4,27.6,4,27,4z M10,14v2h12v-2H10z M12.8,12H22&#xD;&#xA;	v-2h-7.2L12.8,12z" xmlns="http://www.w3.org/2000/svg" />
<polygon class="st0217" points="12,2 10,0 6,4 2,0 0,2 4,6 0,10 2,12 6,8 10,12 12,10 8,6 " xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(204, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0218 { fill:#727272;}
	.op50218 { opacity:0.5;}
</style>
<g xmlns="http://www.w3.org/2000/svg">
	<g>
		<g class="op50218"><path class="st0218" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14&#xD;&#xA;			c0,0.5,0.5,1,1,1H16.1L16.1,22z" /></g>
	</g>
	<g>
		<g class="op50218"><path class="st0218" d="M16.1,22l0-0.3c0.6-4.4,4.5-7.7,8.9-7.7c1,0,2,0.2,3,0.5V7c0-0.5-0.5-1-1-1H1C0.5,6,0,6.5,0,7v14&#xD;&#xA;			c0,0.5,0.5,1,1,1H16.1L16.1,22z" /></g>
	</g>
</g>
<path class="st0218" d="M32,16v6h-0.1h-2H26l2.5-2.5C27.6,18.6,26.4,18,25,18c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6&#xD;&#xA;	c1.9,0,3.7,0.8,4.9,2.1L32,16z M25,28c-1.4,0-2.6-0.6-3.5-1.5L24,24h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1&#xD;&#xA;	c3.5,0,6.4-2.6,6.9-6h-2C29.4,26.3,27.4,28,25,28z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(170, 204)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.op50219 {opacity:0.5;}
	.st0219 {fill:#727272;}
</style>
<g class="op50219" xmlns="http://www.w3.org/2000/svg">
	<path class="st0219" d="M20,8h-2V6h2V8z M20,10h-2v2h2V10z M20,14h-2v2h2V14z M16,8h-2V6h2V8z M16,10h-2v2h2V10z M16,18h-2v2h2V18z&#xD;&#xA;		 M16,22h-2v2h2V22z M16,14h-2v2h2V14z" />
</g>
<path class="st0219" d="M24,8h-2V6h2V8z M24,10h-2v2h2V10z M24,14h-2v2h2V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0219" d="M12,8H6V6h6V8z M12,18H6v2h6V18z M16,28H4V2h22v14.1c0.7,0.1,1.4,0.2,2,0.5V1c0-0.6-0.4-1-1-1H3&#xD;&#xA;	C2.4,0,2,0.4,2,1v28c0,0.6,0.4,1,1,1h13V28z M6,24h6v-2H6V24z M12,10H6v2h6V10z M12,14H6v2h6V14z" xmlns="http://www.w3.org/2000/svg" />
<path class="st0219" d="M32,18v6h-0.1h-2H26l2.5-2.5C27.6,20.6,26.4,20,25,20c-2.4,0-4.4,1.7-4.9,4h-2c0.5-3.4,3.4-6,6.9-6&#xD;&#xA;	c1.9,0,3.7,0.8,4.9,2.1L32,18z M25,30c-1.4,0-2.6-0.6-3.5-1.5L24,26h-3.9h-2H18v6l2.1-2.1c1.3,1.3,3,2.1,4.9,2.1&#xD;&#xA;	c3.5,0,6.4-2.6,6.9-6h-2C29.4,28.3,27.4,30,25,30z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 136)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0220 { fill:#727272;}
	.op50220 { opacity:0.5;}
</style>
<path class="st0220" d="M6,6h18v2H6V6z M21.4,28H4V2h22v21.4l2,2V1c0-0.5-0.5-1-1-1H3C2.5,0,2,0.5,2,1v28c0,0.5,0.5,1,1,1h20.4&#xD;&#xA;	L21.4,28z M12,14H6v2h6V14z M10,18H6v2h4V18z M10,22H6v2h4V22z" xmlns="http://www.w3.org/2000/svg" />
<g class="op50220" xmlns="http://www.w3.org/2000/svg"><rect x="6" y="10" class="st0220" width="18" height="2" /></g>
<path class="st0220" d="M27.6,27.9L23,23.3c0.6-0.9,1-2.1,1-3.3c0-3.3-2.7-6-6-6c-3.3,0-6,2.7-6,6s2.7,6,6,6c1.2,0,2.3-0.4,3.3-1&#xD;&#xA;	l4.6,4.6c0.5,0.5,1.3,0.5,1.7,0C28.1,29.2,28.1,28.4,27.6,27.9z M18,24c-2.2,0-4-1.8-4-4c0-2.2,1.8-4,4-4s4,1.8,4,4&#xD;&#xA;	C22,22.2,20.2,24,18,24z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(238, 442)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0221 { fill:#727272;}
</style>
<g xmlns="http://www.w3.org/2000/svg">
	<path class="st0221" d="M8,10H6v2h2V10z M16,10h-2v2h2V10z M24,10h-2v2h2V10z M8,18H6v2h2V18z M16,18h-2v2h2V18z M24,18h-2v2h2V18z&#xD;&#xA;		 M12,6h-2v2h2V6z M12,10h-2v2h2V10z M12,14h-2v2h2V14z M12,18h-2v2h2V18z M12,22h-2v2h2V22z M20,6h-2v2h2V6z M20,10h-2v2h2V10z&#xD;&#xA;		 M20,14h-2v2h2V14z M20,18h-2v2h2V18z M20,22h-2v2h2V22z" />
</g>
<path class="st0221" d="M27,2H3C2.5,2,2,2.5,2,3v24c0,0.5,0.5,1,1,1h24c0.5,0,1-0.5,1-1V3C28,2.5,27.5,2,27,2z M26,26H4V4h22V26z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(340, 374)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0222 { fill:#727272;}
	.st0222 { fill:#727272;}
</style>
<polygon class="st0222" points="18,12 14,12 14,8 12,8 12,12 8,12 8,14 12,14 12,18 14,18 14,14 18,14 " xmlns="http://www.w3.org/2000/svg" />
<path class="st0222" d="M29.7,27.3L22,19.6c0,0-0.1-0.1-0.1-0.1c1.3-1.8,2.1-4.1,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13&#xD;&#xA;	s4.9,11,11,11c2.4,0,4.7-0.8,6.5-2.1c0,0,0,0.1,0.1,0.1l7.7,7.7c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z&#xD;&#xA;	 M4,13c0-5,4-9,9-9c5,0,9,4,9,9s-4,9-9,9C8,22,4,18,4,13z" xmlns="http://www.w3.org/2000/svg" />
</g>
<g transform="translate(442, 476)">
<style type="text/css" xmlns="http://www.w3.org/2000/svg">
	.st0223 { fill:#727272;}
	.st0223 { fill:#727272;}
</style>
<g id="Zoom_Out" xmlns="http://www.w3.org/2000/svg">
	<rect x="8" y="12" class="st0223" width="10" height="2" />
	<path class="st0223" d="M29.7,27.3l-7.9-7.9c1.3-1.8,2.1-4,2.1-6.5c0-6.1-4.9-11-11-11C6.9,2,2,6.9,2,13s4.9,11,11,11&#xD;&#xA;		c2.4,0,4.6-0.8,6.5-2.1l7.9,7.9c0.3,0.3,0.9,0.3,1.2,0l1.2-1.2C30.1,28.2,30.1,27.6,29.7,27.3z M4,13c0-5,4-9,9-9c5,0,9,4,9,9&#xD;&#xA;		s-4,9-9,9C8,22,4,18,4,13z" />
</g>
</g>

</svg>
      /*! For license information please see pdfkit.min.js.LICENSE.txt */
!function(){var t={29849:function(t,e,r){"use strict";function n(t,e,r,n,i){var o={};Object.keys(n).forEach((function(t){o[t]=n[t]})),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=r.slice().reverse().reduce((function(r,n){return n&&n(t,e,r)||r}),o);var s=Object.prototype.hasOwnProperty.call(o,"get")||Object.prototype.hasOwnProperty.call(o,"set");return i&&void 0!==o.initializer&&!s&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),s&&(delete o.writable,delete o.initializer,delete o.value),void 0===o.initializer&&(Object.defineProperty(t,e,o),o=null),o}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function s(t){if(Array.isArray(t))return t}function a(t){if(Array.isArray(t))return i(t)}function c(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function u(t){this.wrapped=t}function l(t){var e,r;function n(e,r){try{var o=t[e](r),s=o.value,a=s instanceof u;Promise.resolve(a?s.wrapped:s).then((function(t){a?n("next",t):i(o.done?"return":"normal",t)}),(function(t){n("throw",t)}))}catch(t){i("throw",t)}}function i(t,i){switch(t){case"return":e.resolve({value:i,done:!0});break;case"throw":e.reject(i);break;default:e.resolve({value:i,done:!1})}(e=e.next)?n(e.key,e.arg):r=null}this._invoke=function(t,i){return new Promise((function(o,s){var a={key:t,arg:i,resolve:o,reject:s,next:null};r?r=r.next=a:(e=r=a,n(t,i))}))},"function"!=typeof t.return&&(this.return=void 0)}function f(t,e){var r={},n=!1;function i(r,i){return n=!0,i=new Promise((function(e){e(t[r](i))})),{done:!1,value:e(i)}}return"function"==typeof Symbol&&Symbol.iterator&&(r[Symbol.iterator]=function(){return this}),r.next=function(t){return n?(n=!1,t):i("next",t)},"function"==typeof t.throw&&(r.throw=function(t){if(n)throw n=!1,t;return i("throw",t)}),"function"==typeof t.return&&(r.return=function(t){return i("return",t)}),r}function h(t){var e;if("function"==typeof Symbol){if(Symbol.asyncIterator&&null!=(e=t[Symbol.asyncIterator]))return e.call(t);if(Symbol.iterator&&null!=(e=t[Symbol.iterator]))return e.call(t)}throw new TypeError("Object is not async iterable")}function d(t,e,r,n,i,o,s){try{var a=t[o](s),c=a.value}catch(t){return void r(t)}a.done?e(c):Promise.resolve(c).then(n,i)}function p(t){return function(){var e=this,r=arguments;return new Promise((function(n,i){var o=t.apply(e,r);function s(t){d(o,n,i,s,a,"next",t)}function a(t){d(o,n,i,s,a,"throw",t)}s(void 0)}))}}function g(t){return new u(t)}function y(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function b(t,e){if(e.set)return"__destrObj"in e||(e.__destrObj={set value(r){e.set.call(t,r)}}),e.__destrObj;if(!e.writable)throw new TypeError("attempted to set read only private field");return e}function v(t,e){return e.get?e.get.call(t):e.value}function m(t,e,r){if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function w(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function S(t,e){if(void 0===t)throw new TypeError("attempted to "+e+" private static field before its declaration")}function x(t,e){if(t!==e)throw new TypeError("Private static access of wrong provenance")}function _(t){throw new Error('Class "'+t+'" cannot be referenced in computed property keys.')}function A(t,e,r){if(!e.has(t))throw new TypeError("attempted to "+r+" private field on non-instance");return e.get(t)}function C(t,e){return b(t,A(t,e,"set"))}function k(t,e){return v(t,A(t,e,"get"))}function E(t,e,r){y(t,e),e.set(t,r)}function P(t,e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new TypeError("attempted to use private field on non-instance");return t}r.r(e),r.d(e,{__decorate:function(){return ne},__metadata:function(){return oe},__param:function(){return ie},_instanceof:function(){return Bt},_throw:function(){return Qt},applyDecoratedDescriptor:function(){return n},arrayLikeToArray:function(){return i},arrayWithHoles:function(){return s},arrayWithoutHoles:function(){return a},assertThisInitialized:function(){return c},asyncGenerator:function(){return l},asyncGeneratorDelegate:function(){return f},asyncIterator:function(){return h},asyncToGenerator:function(){return p},awaitAsyncGenerator:function(){return g},awaitValue:function(){return u},checkPrivateRedeclaration:function(){return y},classApplyDescriptorDestructureSet:function(){return b},classApplyDescriptorGet:function(){return v},classApplyDescriptorSet:function(){return m},classCallCheck:function(){return w},classCheckPrivateStaticAccess:function(){return x},classCheckPrivateStaticFieldDescriptor:function(){return S},classNameTDZError:function(){return _},classPrivateFieldDestructureSet:function(){return C},classPrivateFieldGet:function(){return k},classPrivateFieldInit:function(){return E},classPrivateFieldLooseBase:function(){return P},classPrivateFieldLooseKey:function(){return I},classPrivateFieldSet:function(){return T},classPrivateMethodGet:function(){return R},classPrivateMethodInit:function(){return M},classPrivateMethodSet:function(){return D},classStaticPrivateFieldDestructureSet:function(){return F},classStaticPrivateFieldSpecGet:function(){return N},classStaticPrivateFieldSpecSet:function(){return L},construct:function(){return W},createClass:function(){return V},createSuper:function(){return Y},decorate:function(){return nt},defaults:function(){return vt},defineEnumerableProperties:function(){return mt},defineProperty:function(){return wt},extends:function(){return xt},get:function(){return Ct},getPrototypeOf:function(){return H},inherits:function(){return kt},inheritsLoose:function(){return Et},initializerDefineProperty:function(){return Pt},initializerWarningHelper:function(){return Ot},interopRequireDefault:function(){return It},interopRequireWildcard:function(){return Rt},isNativeFunction:function(){return Mt},isNativeReflectConstruct:function(){return X},iterableToArray:function(){return J},iterableToArrayLimit:function(){return Dt},iterableToArrayLimitLoose:function(){return Ft},jsx:function(){return Nt},newArrowCheck:function(){return Lt},nonIterableRest:function(){return Q},nonIterableSpread:function(){return jt},objectSpread:function(){return zt},objectSpreadProps:function(){return Ut},objectWithoutProperties:function(){return Gt},objectWithoutPropertiesLoose:function(){return Wt},possibleConstructorReturn:function(){return K},readOnlyError:function(){return Vt},set:function(){return qt},setPrototypeOf:function(){return z},skipFirstGeneratorNext:function(){return Ht},slicedToArray:function(){return Zt},slicedToArrayLoose:function(){return Kt},superPropBase:function(){return _t},taggedTemplateLiteral:function(){return Yt},taggedTemplateLiteralLoose:function(){return Jt},toArray:function(){return tt},toConsumableArray:function(){return $t},toPrimitive:function(){return et},toPropertyKey:function(){return rt},typeOf:function(){return Z},unsupportedIterableToArray:function(){return $},wrapAsyncGenerator:function(){return te},wrapNativeSuper:function(){return re}}),"function"==typeof Symbol&&Symbol.asyncIterator&&(l.prototype[Symbol.asyncIterator]=function(){return this}),l.prototype.next=function(t){return this._invoke("next",t)},l.prototype.throw=function(t){return this._invoke("throw",t)},l.prototype.return=function(t){return this._invoke("return",t)};var O,B=0;function I(t){return"__private_"+B+++"_"+t}function T(t,e,r){return m(t,A(t,e,"set"),r),r}function R(t,e,r){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return r}function M(t,e){y(t,e),e.add(t)}function D(){throw new TypeError("attempted to reassign private method")}function F(t,e,r){return x(t,e),x(r,"set"),b(t,r)}function N(t,e,r){return x(t,e),x(r,"get"),v(t,r)}function L(t,e,r,n){return x(t,e),x(r,"set"),m(t,r,n),n}function j(t,e){return j=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},j(t,e)}function z(t,e){return j(t,e)}function U(t,e,r){return U=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var i=new(Function.bind.apply(t,n));return r&&z(i,r.prototype),i},U.apply(null,arguments)}function W(t,e,r){return U.apply(null,arguments)}function G(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function V(t,e,r){return e&&G(t.prototype,e),r&&G(t,r),t}function X(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function q(t){return q=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},q(t)}function H(t){return q(t)}function Z(t){return t&&t.constructor===Symbol?"symbol":typeof t}function K(t,e){return!e||"object"!==Z(e)&&"function"!=typeof e?c(t):e}function Y(t){var e=X();return function(){var r,n=H(t);if(e){var i=H(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return K(this,r)}}function J(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function Q(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function $(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}function tt(t){return s(t)||J(t)||$(t,o)||Q()}function et(t,e){if("object"!==Z(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==Z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}function rt(t){var e=et(t,"string");return"symbol"===Z(e)?e:String(e)}function nt(t,e,r){var n,i,o,s=e((function(t){!function(t,e){["method","field"].forEach((function(r){e.forEach((function(e){e.kind===r&&"own"===e.placement&&ct(t,e)}))}))}(t,a.elements)}),r),a=function(t,e){var r=[],n=[],i={static:[],prototype:[],own:[]};if(t.forEach((function(t){ut(t,i)})),t.forEach((function(t){if(!st(t))return r.push(t);var e=function(t,e){for(var r=[],n=[],i=t.decorators,o=i.length-1;o>=0;o--){var s=e[t.placement];s.splice(s.indexOf(t.key),1);var a=lt(t),c=dt((0,i[o])(a)||a);ut(t=c.element,e),c.finisher&&n.push(c.finisher);var u=c.extras;if(u){for(var l=0;l<u.length;l++)ut(u[l],e);r.push.apply(r,u)}}return{element:t,finishers:n,extras:r}}(t,i);r.push(e.element),r.push.apply(r,e.extras),n.push.apply(n,e.finishers)})),!e)return{elements:r,finishers:n};var o=function(t,e){for(var r=[],n=e.length-1;n>=0;n--){var i=pt(t),o=gt((0,e[n])(i)||i);if(void 0!==o.finisher&&r.push(o.finisher),void 0!==o.elements){t=o.elements;for(var s=0;s<t.length-1;s++)for(var a=s+1;a<t.length;a++)if(t[s].key===t[a].key&&t[s].placement===t[a].placement)throw new TypeError("Duplicated element ("+t[s].key+")")}}return{elements:t,finishers:r}}(r,e);return n.push.apply(n,o.finishers),o.finishers=n,o}(function(t){for(var e=[],r=function(t){return"method"===t.kind&&t.key===o.key&&t.placement===o.placement},n=0;n<t.length;n++){var i,o=t[n];if("method"===o.kind&&(i=e.find(r)))if(at(o.descriptor)||at(i.descriptor)){if(st(o)||st(i))throw new ReferenceError("Duplicated methods ("+o.key+") can't be decorated.");i.descriptor=o.descriptor}else{if(st(o)){if(st(i))throw new ReferenceError("Decorators can't be placed on different accessors with for the same property ("+o.key+").");i.decorators=o.decorators}ot(o,i)}else e.push(o)}return e}(s.d.map(it)),t);return n=s.F,i=a.elements,o=n.prototype,["method","field"].forEach((function(t){i.forEach((function(e){var r=e.placement;e.kind!==t||"static"!==r&&"prototype"!==r||ct("static"===r?n:o,e)}))})),function(t,e){for(var r=0;r<e.length;r++){var n=(0,e[r])(t);if(void 0!==n){if("function"!=typeof n)throw new TypeError("Finishers must return a constructor.");t=n}}return t}(s.F,a.finishers)}function it(t){var e,r=rt(t.key);"method"===t.kind?(e={value:t.value,writable:!0,configurable:!0,enumerable:!1},Object.defineProperty(t.value,"name",{value:"symbol"===_typeof(r)?"":r,configurable:!0})):"get"===t.kind?e={get:t.value,configurable:!0,enumerable:!1}:"set"===t.kind?e={set:t.value,configurable:!0,enumerable:!1}:"field"===t.kind&&(e={configurable:!0,writable:!0,enumerable:!0});var n={kind:"field"===t.kind?"field":"method",key:r,placement:t.static?"static":"field"===t.kind?"own":"prototype",descriptor:e};return t.decorators&&(n.decorators=t.decorators),"field"===t.kind&&(n.initializer=t.value),n}function ot(t,e){void 0!==t.descriptor.get?e.descriptor.get=t.descriptor.get:e.descriptor.set=t.descriptor.set}function st(t){return t.decorators&&t.decorators.length}function at(t){return void 0!==t&&!(void 0===t.value&&void 0===t.writable)}function ct(t,e){var r=e.descriptor;if("field"===e.kind){var n=e.initializer;r={enumerable:r.enumerable,writable:r.writable,configurable:r.configurable,value:void 0===n?void 0:n.call(t)}}Object.defineProperty(t,e.key,r)}function ut(t,e,r){var n=e[t.placement];if(!r&&-1!==n.indexOf(t.key))throw new TypeError("Duplicated element ("+t.key+")");n.push(t.key)}function lt(t){var e={kind:t.kind,key:t.key,placement:t.placement,descriptor:t.descriptor};return Object.defineProperty(e,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),"field"===t.kind&&(e.initializer=t.initializer),e}function ft(t){if(void 0!==t)return tt(t).map((function(t){var e=ht(t);return yt(t,"finisher","An element descriptor"),yt(t,"extras","An element descriptor"),e}))}function ht(t){var e=String(t.kind);if("method"!==e&&"field"!==e)throw new TypeError('An element descriptor\'s .kind property must be either "method" or "field", but a decorator created an element descriptor with .kind "'+e+'"');var r=rt(t.key),n=String(t.placement);if("static"!==n&&"prototype"!==n&&"own"!==n)throw new TypeError('An element descriptor\'s .placement property must be one of "static", "prototype" or "own", but a decorator created an element descriptor with .placement "'+n+'"');var i=t.descriptor;yt(t,"elements","An element descriptor");var o={kind:e,key:r,placement:n,descriptor:Object.assign({},i)};return"field"!==e?yt(t,"initializer","A method descriptor"):(yt(i,"get","The property descriptor of a field descriptor"),yt(i,"set","The property descriptor of a field descriptor"),yt(i,"value","The property descriptor of a field descriptor"),o.initializer=t.initializer),o}function dt(t){return{element:ht(t),finisher:bt(t,"finisher"),extras:ft(t.extras)}}function pt(t){var e={kind:"class",elements:t.map(lt)};return Object.defineProperty(e,Symbol.toStringTag,{value:"Descriptor",configurable:!0}),e}function gt(t){var e=String(t.kind);if("class"!==e)throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator created a class descriptor with .kind "'+e+'"');yt(t,"key","A class descriptor"),yt(t,"placement","A class descriptor"),yt(t,"descriptor","A class descriptor"),yt(t,"initializer","A class descriptor"),yt(t,"extras","A class descriptor");var r=bt(t,"finisher");return{elements:ft(t.elements),finisher:r}}function yt(t,e,r){if(void 0!==t[e])throw new TypeError(r+" can't have a ."+e+" property.")}function bt(t,e){var r=t[e];if(void 0!==r&&"function"!=typeof r)throw new TypeError("Expected '"+e+"' to be a function");return r}function vt(t,e){for(var r=Object.getOwnPropertyNames(e),n=0;n<r.length;n++){var i=r[n],o=Object.getOwnPropertyDescriptor(e,i);o&&o.configurable&&void 0===t[i]&&Object.defineProperty(t,i,o)}return t}function mt(t,e){for(var r in e){(o=e[r]).configurable=o.enumerable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,r,o)}if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(e),i=0;i<n.length;i++){var o,s=n[i];(o=e[s]).configurable=o.enumerable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,s,o)}return t}function wt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function St(){return St=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},St.apply(this,arguments)}function xt(){return St.apply(this,arguments)}function _t(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=H(t)););return t}function At(t,e,r){return At="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,r){var n=_t(t,e);if(n){var i=Object.getOwnPropertyDescriptor(n,e);return i.get?i.get.call(r||t):i.value}},At(t,e,r)}function Ct(t,e,r){return At(t,e,r)}function kt(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&z(t,e)}function Et(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function Pt(t,e,r,n){r&&Object.defineProperty(t,e,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(n):void 0})}function Ot(t,e){throw new Error("Decorating class property failed. Please ensure that proposal-class-properties is enabled and set to use loose mode. To use proposal-class-properties in spec mode with decorators, wait for the next major version of decorators in stage 2.")}function Bt(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function It(t){return t&&t.__esModule?t:{default:t}}function Tt(){if("function"!=typeof WeakMap)return null;var t=new WeakMap;return Tt=function(){return t},t}function Rt(t){if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var e=Tt();if(e&&e.has(t))return e.get(t);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=n?Object.getOwnPropertyDescriptor(t,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=t[i]}return r.default=t,e&&e.set(t,r),r}function Mt(t){return-1!==Function.toString.call(t).indexOf("[native code]")}function Dt(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o=[],s=!0,a=!1;try{for(r=r.call(t);!(s=(n=r.next()).done)&&(o.push(n.value),!e||o.length!==e);s=!0);}catch(t){a=!0,i=t}finally{try{s||null==r.return||r.return()}finally{if(a)throw i}}return o}}function Ft(t,e){var r=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=r){var n=[];for(r=r.call(t),_step;!(_step=r.next()).done&&(n.push(_step.value),!e||n.length!==e););return n}}function Nt(t,e,r,n){O||(O="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103);var i=t&&t.defaultProps,o=arguments.length-3;if(e||0===o||(e={children:void 0}),e&&i)for(var s in i)void 0===e[s]&&(e[s]=i[s]);else e||(e=i||{});if(1===o)e.children=n;else if(o>1){for(var a=new Array(o),c=0;c<o;c++)a[c]=arguments[c+3];e.children=a}return{$$typeof:O,type:t,key:void 0===r?null:""+r,ref:null,props:e,_owner:null}}function Lt(t,e){if(t!==e)throw new TypeError("Cannot instantiate an arrow function")}function jt(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function zt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),n.forEach((function(e){wt(t,e,r[e])}))}return t}function Ut(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}function Wt(t,e){if(null==t)return{};var r,n,i={},o=Object.keys(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||(i[r]=t[r]);return i}function Gt(t,e){if(null==t)return{};var r,n,i=Wt(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}function Vt(t){throw new Error('"'+t+'" is read-only')}function Xt(t,e,r,n){return Xt="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(t,e,r,n){var i,o=_t(t,e);if(o){if((i=Object.getOwnPropertyDescriptor(o,e)).set)return i.set.call(n,r),!0;if(!i.writable)return!1}if(i=Object.getOwnPropertyDescriptor(n,e)){if(!i.writable)return!1;i.value=r,Object.defineProperty(n,e,i)}else wt(n,e,r);return!0},Xt(t,e,r,n)}function qt(t,e,r,n,i){if(!Xt(t,e,r,n||t)&&i)throw new Error("failed to set property");return r}function Ht(t){return function(){var e=t.apply(this,arguments);return e.next(),e}}function Zt(t,e){return s(t)||J(t)||$(t,e)||Q()}function Kt(t,e){return s(t)||Ft(t,e)||$(t,e)||Q()}function Yt(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function Jt(t,e){return e||(e=t.slice(0)),t.raw=e,t}function Qt(t){throw t}function $t(t){return a(t)||J(t)||$(t)||jt()}function te(t){return function(){return new l(t.apply(this,arguments))}}function ee(t){var e="function"==typeof Map?new Map:void 0;return ee=function(t){if(null===t||!Mt(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return W(t,arguments,H(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),z(r,t)},ee(t)}function re(t){return ee(t)}function ne(t,e,r,n){var i,o=arguments.length,s=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s}function ie(t,e){return function(r,n){e(r,n,t)}}function oe(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}Object.create;Object.create;"function"==typeof SuppressedError&&SuppressedError},80867:function(t,e,r){"use strict";var n=r(93385)("ArrayBuffer.prototype.byteLength",!0),i=r(23349);t.exports=function(t){return i(t)?n?n(t):t.byteLength:NaN}},82526:function(t,e,r){"use strict";var n=r(96456);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function o(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,(o=n.key,s=void 0,s=function(t,e){if("object"!==i(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(o,"string"),"symbol"===i(s)?s:String(s)),n)}var o,s}function s(t,e,r){return e&&o(t.prototype,e),r&&o(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}var a,c,u=r(13829).codes,l=u.ERR_AMBIGUOUS_ARGUMENT,f=u.ERR_INVALID_ARG_TYPE,h=u.ERR_INVALID_ARG_VALUE,d=u.ERR_INVALID_RETURN_VALUE,p=u.ERR_MISSING_ARGS,g=r(49128),y=r(42781).inspect,b=r(42781).types,v=b.isPromise,m=b.isRegExp,w=r(57479)(),S=r(84127)(),x=r(93385)("RegExp.prototype.test");new Map;function _(){var t=r(19118);a=t.isDeepEqual,c=t.isDeepStrictEqual}var A=!1,C=t.exports=O,k={};function E(t){if(t.message instanceof Error)throw t.message;throw new g(t)}function P(t,e,r,n){if(!r){var i=!1;if(0===e)i=!0,n="No value argument passed to `assert.ok()`";else if(n instanceof Error)throw n;var o=new g({actual:r,expected:!0,message:n,operator:"==",stackStartFn:t});throw o.generatedMessage=i,o}}function O(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];P.apply(void 0,[O,e.length].concat(e))}C.fail=function t(e,r,i,o,s){var a,c=arguments.length;if(0===c)a="Failed";else if(1===c)i=e,e=void 0;else{if(!1===A)A=!0,(n.emitWarning?n.emitWarning:console.warn.bind(console))("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094");2===c&&(o="!=")}if(i instanceof Error)throw i;var u={actual:e,expected:r,operator:void 0===o?"fail":o,stackStartFn:s||t};void 0!==i&&(u.message=i);var l=new g(u);throw a&&(l.message=a,l.generatedMessage=!0),l},C.AssertionError=g,C.ok=O,C.equal=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");e!=r&&E({actual:e,expected:r,message:n,operator:"==",stackStartFn:t})},C.notEqual=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");e==r&&E({actual:e,expected:r,message:n,operator:"!=",stackStartFn:t})},C.deepEqual=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");void 0===a&&_(),a(e,r)||E({actual:e,expected:r,message:n,operator:"deepEqual",stackStartFn:t})},C.notDeepEqual=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");void 0===a&&_(),a(e,r)&&E({actual:e,expected:r,message:n,operator:"notDeepEqual",stackStartFn:t})},C.deepStrictEqual=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");void 0===a&&_(),c(e,r)||E({actual:e,expected:r,message:n,operator:"deepStrictEqual",stackStartFn:t})},C.notDeepStrictEqual=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");void 0===a&&_();c(e,r)&&E({actual:e,expected:r,message:n,operator:"notDeepStrictEqual",stackStartFn:t})},C.strictEqual=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");S(e,r)||E({actual:e,expected:r,message:n,operator:"strictEqual",stackStartFn:t})},C.notStrictEqual=function t(e,r,n){if(arguments.length<2)throw new p("actual","expected");S(e,r)&&E({actual:e,expected:r,message:n,operator:"notStrictEqual",stackStartFn:t})};var B=s((function t(e,r,n){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),r.forEach((function(t){t in e&&(void 0!==n&&"string"==typeof n[t]&&m(e[t])&&x(e[t],n[t])?i[t]=n[t]:i[t]=e[t])}))}));function I(t,e,r,n){if("function"!=typeof e){if(m(e))return x(e,t);if(2===arguments.length)throw new f("expected",["Function","RegExp"],e);if("object"!==i(t)||null===t){var o=new g({actual:t,expected:e,message:r,operator:"deepStrictEqual",stackStartFn:n});throw o.operator=n.name,o}var s=Object.keys(e);if(e instanceof Error)s.push("name","message");else if(0===s.length)throw new h("error",e,"may not be an empty object");return void 0===a&&_(),s.forEach((function(i){"string"==typeof t[i]&&m(e[i])&&x(e[i],t[i])||function(t,e,r,n,i,o){if(!(r in t)||!c(t[r],e[r])){if(!n){var s=new B(t,i),a=new B(e,i,t),u=new g({actual:s,expected:a,operator:"deepStrictEqual",stackStartFn:o});throw u.actual=t,u.expected=e,u.operator=o.name,u}E({actual:t,expected:e,message:n,operator:o.name,stackStartFn:o})}}(t,e,i,r,s,n)})),!0}return void 0!==e.prototype&&t instanceof e||!Error.isPrototypeOf(e)&&!0===e.call({},t)}function T(t){if("function"!=typeof t)throw new f("fn","Function",t);try{t()}catch(t){return t}return k}function R(t){return v(t)||null!==t&&"object"===i(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function M(t){return Promise.resolve().then((function(){var e;if("function"==typeof t){if(!R(e=t()))throw new d("instance of Promise","promiseFn",e)}else{if(!R(t))throw new f("promiseFn",["Function","Promise"],t);e=t}return Promise.resolve().then((function(){return e})).then((function(){return k})).catch((function(t){return t}))}))}function D(t,e,r,n){if("string"==typeof r){if(4===arguments.length)throw new f("error",["Object","Error","Function","RegExp"],r);if("object"===i(e)&&null!==e){if(e.message===r)throw new l("error/message",'The error message "'.concat(e.message,'" is identical to the message.'))}else if(e===r)throw new l("error/message",'The error "'.concat(e,'" is identical to the message.'));n=r,r=void 0}else if(null!=r&&"object"!==i(r)&&"function"!=typeof r)throw new f("error",["Object","Error","Function","RegExp"],r);if(e===k){var o="";r&&r.name&&(o+=" (".concat(r.name,")")),o+=n?": ".concat(n):".";var s="rejects"===t.name?"rejection":"exception";E({actual:void 0,expected:r,operator:t.name,message:"Missing expected ".concat(s).concat(o),stackStartFn:t})}if(r&&!I(e,r,n,t))throw e}function F(t,e,r,n){if(e!==k){if("string"==typeof r&&(n=r,r=void 0),!r||I(e,r)){var i=n?": ".concat(n):".",o="doesNotReject"===t.name?"rejection":"exception";E({actual:e,expected:r,operator:t.name,message:"Got unwanted ".concat(o).concat(i,"\n")+'Actual message: "'.concat(e&&e.message,'"'),stackStartFn:t})}throw e}}function N(t,e,r,n,o){if(!m(e))throw new f("regexp","RegExp",e);var s="match"===o;if("string"!=typeof t||x(e,t)!==s){if(r instanceof Error)throw r;var a=!r;r=r||("string"!=typeof t?'The "string" argument must be of type string. Received type '+"".concat(i(t)," (").concat(y(t),")"):(s?"The input did not match the regular expression ":"The input was expected to not match the regular expression ")+"".concat(y(e),". Input:\n\n").concat(y(t),"\n"));var c=new g({actual:t,expected:e,message:r,operator:o,stackStartFn:n});throw c.generatedMessage=a,c}}function L(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];P.apply(void 0,[L,e.length].concat(e))}C.throws=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];D.apply(void 0,[t,T(e)].concat(n))},C.rejects=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return M(e).then((function(e){return D.apply(void 0,[t,e].concat(n))}))},C.doesNotThrow=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];F.apply(void 0,[t,T(e)].concat(n))},C.doesNotReject=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return M(e).then((function(e){return F.apply(void 0,[t,e].concat(n))}))},C.ifError=function t(e){if(null!=e){var r="ifError got unwanted exception: ";"object"===i(e)&&"string"==typeof e.message?0===e.message.length&&e.constructor?r+=e.constructor.name:r+=e.message:r+=y(e);var n=new g({actual:e,expected:null,operator:"ifError",message:r,stackStartFn:t}),o=e.stack;if("string"==typeof o){var s=o.split("\n");s.shift();for(var a=n.stack.split("\n"),c=0;c<s.length;c++){var u=a.indexOf(s[c]);if(-1!==u){a=a.slice(0,u);break}}n.stack="".concat(a.join("\n"),"\n").concat(s.join("\n"))}throw n}},C.match=function t(e,r,n){N(e,r,n,t,"match")},C.doesNotMatch=function t(e,r,n){N(e,r,n,t,"doesNotMatch")},C.strict=w(L,C,{equal:C.strictEqual,deepEqual:C.deepStrictEqual,notEqual:C.notStrictEqual,notDeepEqual:C.notDeepStrictEqual}),C.strict.strict=C.strict},49128:function(t,e,r){"use strict";var n=r(96456);function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function o(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?i(Object(r),!0).forEach((function(e){s(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function s(t,e,r){return(e=c(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,c(n.key),n)}}function c(t){var e=function(t,e){if("object"!==y(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==y(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===y(e)?e:String(e)}function u(t,e){if(e&&("object"===y(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return l(t)}function l(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function f(t){var e="function"==typeof Map?new Map:void 0;return f=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return h(t,arguments,g(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),p(n,t)},f(t)}function h(t,e,r){return h=d()?Reflect.construct.bind():function(t,e,r){var n=[null];n.push.apply(n,e);var i=new(Function.bind.apply(t,n));return r&&p(i,r.prototype),i},h.apply(null,arguments)}function d(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}function p(t,e){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},p(t,e)}function g(t){return g=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},g(t)}function y(t){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},y(t)}var b=r(42781).inspect,v=r(13829).codes.ERR_INVALID_ARG_TYPE;function m(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}var w="",S="",x="",_="",A={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function C(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function k(t){return b(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function E(t,e,r){var i="",o="",s=0,a="",c=!1,u=k(t),l=u.split("\n"),f=k(e).split("\n"),h=0,d="";if("strictEqual"===r&&"object"===y(t)&&"object"===y(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===l.length&&1===f.length&&l[0]!==f[0]){var p=l[0].length+f[0].length;if(p<=10){if(!("object"===y(t)&&null!==t||"object"===y(e)&&null!==e||0===t&&0===e))return"".concat(A[r],"\n\n")+"".concat(l[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r){if(p<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;l[0][h]===f[0][h];)h++;h>2&&(d="\n  ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",h),"^"),h=0)}}}for(var g=l[l.length-1],b=f[f.length-1];g===b&&(h++<2?a="\n  ".concat(g).concat(a):i=g,l.pop(),f.pop(),0!==l.length&&0!==f.length);)g=l[l.length-1],b=f[f.length-1];var v=Math.max(l.length,f.length);if(0===v){var C=u.split("\n");if(C.length>30)for(C[26]="".concat(w,"...").concat(_);C.length>27;)C.pop();return"".concat(A.notIdentical,"\n\n").concat(C.join("\n"),"\n")}h>3&&(a="\n".concat(w,"...").concat(_).concat(a),c=!0),""!==i&&(a="\n  ".concat(i).concat(a),i="");var E=0,P=A[r]+"\n".concat(S,"+ actual").concat(_," ").concat(x,"- expected").concat(_),O=" ".concat(w,"...").concat(_," Lines skipped");for(h=0;h<v;h++){var B=h-s;if(l.length<h+1)B>1&&h>2&&(B>4?(o+="\n".concat(w,"...").concat(_),c=!0):B>3&&(o+="\n  ".concat(f[h-2]),E++),o+="\n  ".concat(f[h-1]),E++),s=h,i+="\n".concat(x,"-").concat(_," ").concat(f[h]),E++;else if(f.length<h+1)B>1&&h>2&&(B>4?(o+="\n".concat(w,"...").concat(_),c=!0):B>3&&(o+="\n  ".concat(l[h-2]),E++),o+="\n  ".concat(l[h-1]),E++),s=h,o+="\n".concat(S,"+").concat(_," ").concat(l[h]),E++;else{var I=f[h],T=l[h],R=T!==I&&(!m(T,",")||T.slice(0,-1)!==I);R&&m(I,",")&&I.slice(0,-1)===T&&(R=!1,T+=","),R?(B>1&&h>2&&(B>4?(o+="\n".concat(w,"...").concat(_),c=!0):B>3&&(o+="\n  ".concat(l[h-2]),E++),o+="\n  ".concat(l[h-1]),E++),s=h,o+="\n".concat(S,"+").concat(_," ").concat(T),i+="\n".concat(x,"-").concat(_," ").concat(I),E+=2):(o+=i,i="",1!==B&&0!==h||(o+="\n  ".concat(T),E++))}if(E>20&&h<v-2)return"".concat(P).concat(O,"\n").concat(o,"\n").concat(w,"...").concat(_).concat(i,"\n")+"".concat(w,"...").concat(_)}return"".concat(P).concat(c?O:"","\n").concat(o).concat(i).concat(a).concat(d)}var P=function(t,e){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&p(t,e)}(m,t);var r,i,s,c,f,h=(r=m,i=d(),function(){var t,e=g(r);if(i){var n=g(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return u(this,t)});function m(t){var e;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,m),"object"!==y(t)||null===t)throw new v("options","Object",t);var r=t.message,i=t.operator,o=t.stackStartFn,s=t.actual,a=t.expected,c=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=r)e=h.call(this,String(r));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(w="[34m",S="[32m",_="[39m",x="[31m"):(w="",S="",_="",x="")),"object"===y(s)&&null!==s&&"object"===y(a)&&null!==a&&"stack"in s&&s instanceof Error&&"stack"in a&&a instanceof Error&&(s=C(s),a=C(a)),"deepStrictEqual"===i||"strictEqual"===i)e=h.call(this,E(s,a,i));else if("notDeepStrictEqual"===i||"notStrictEqual"===i){var f=A[i],d=k(s).split("\n");if("notStrictEqual"===i&&"object"===y(s)&&null!==s&&(f=A.notStrictEqualObject),d.length>30)for(d[26]="".concat(w,"...").concat(_);d.length>27;)d.pop();e=1===d.length?h.call(this,"".concat(f," ").concat(d[0])):h.call(this,"".concat(f,"\n\n").concat(d.join("\n"),"\n"))}else{var p=k(s),g="",b=A[i];"notDeepEqual"===i||"notEqual"===i?(p="".concat(A[i],"\n\n").concat(p)).length>1024&&(p="".concat(p.slice(0,1021),"...")):(g="".concat(k(a)),p.length>512&&(p="".concat(p.slice(0,509),"...")),g.length>512&&(g="".concat(g.slice(0,509),"...")),"deepEqual"===i||"equal"===i?p="".concat(b,"\n\n").concat(p,"\n\nshould equal\n\n"):g=" ".concat(i," ").concat(g)),e=h.call(this,"".concat(p).concat(g))}return Error.stackTraceLimit=c,e.generatedMessage=!r,Object.defineProperty(l(e),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),e.code="ERR_ASSERTION",e.actual=s,e.expected=a,e.operator=i,Error.captureStackTrace&&Error.captureStackTrace(l(e),o),e.stack,e.name="AssertionError",u(e)}return s=m,(c=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:e,value:function(t,e){return b(this,o(o({},e),{},{customInspect:!1,depth:0}))}}])&&a(s.prototype,c),f&&a(s,f),Object.defineProperty(s,"prototype",{writable:!1}),m}(f(Error),b.custom);t.exports=P},13829:function(t,e,r){"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,(o=i.key,s=void 0,s=function(t,e){if("object"!==n(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,e||"default");if("object"!==n(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(o,"string"),"symbol"===n(s)?s:String(s)),i)}var o,s}function o(t,e){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},o(t,e)}function s(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,i=a(t);if(e){var o=a(this).constructor;r=Reflect.construct(i,arguments,o)}else r=i.apply(this,arguments);return function(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,r)}}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var c,u,l={};function f(t,e,r){r||(r=Error);var n=function(r){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&o(t,e)}(l,r);var n,a,c,u=s(l);function l(r,n,i){var o;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,l),o=u.call(this,function(t,r,n){return"string"==typeof e?e:e(t,r,n)}(r,n,i)),o.code=t,o}return n=l,a&&i(n.prototype,a),c&&i(n,c),Object.defineProperty(n,"prototype",{writable:!1}),n}(r);l[t]=n}function h(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}f("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),f("ERR_INVALID_ARG_TYPE",(function(t,e,i){var o,s,a,u;if(void 0===c&&(c=r(82526)),c("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(!a||a<0?0:+a,s.length)===s)?(o="must not be",e=e.replace(/^not /,"")):o="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))u="The ".concat(t," ").concat(o," ").concat(h(e,"type"));else{var l=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(l," ").concat(o," ").concat(h(e,"type"))}return u+=". Received type ".concat(n(i))}),TypeError),f("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===u&&(u=r(42781));var i=u.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),f("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),f("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];void 0===c&&(c=r(82526)),c(e.length>0,"At least one arg needs to be specified");var i="The ",o=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),o){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,o-1).join(", "),i+=", and ".concat(e[o-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},19118:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,s,a=[],c=!0,u=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=o.call(r)).done)&&(a.push(n.value),a.length!==e);c=!0);}catch(t){u=!0,i=t}finally{try{if(!c&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}var s=void 0!==/a/g.flags,a=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},c=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},u=Object.is?Object.is:r(6757),l=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},f=Number.isNaN?Number.isNaN:r(36935);function h(t){return t.call.bind(t)}var d=h(Object.prototype.hasOwnProperty),p=h(Object.prototype.propertyIsEnumerable),g=h(Object.prototype.toString),y=r(42781).types,b=y.isAnyArrayBuffer,v=y.isArrayBufferView,m=y.isDate,w=y.isMap,S=y.isRegExp,x=y.isSet,_=y.isNativeError,A=y.isBoxedPrimitive,C=y.isNumberObject,k=y.isStringObject,E=y.isBooleanObject,P=y.isBigIntObject,O=y.isSymbolObject,B=y.isFloat32Array,I=y.isFloat64Array;function T(t){if(0===t.length||t.length>10)return!0;for(var e=0;e<t.length;e++){var r=t.charCodeAt(e);if(r<48||r>57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function R(t){return Object.keys(t).filter(T).concat(l(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function M(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}var D=0,F=1,N=2,L=3;function j(t,e,r,n){if(t===e)return 0!==t||(!r||u(t,e));if(r){if("object"!==o(t))return"number"==typeof t&&f(t)&&f(e);if("object"!==o(e)||null===t||null===e)return!1;if(Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1}else{if(null===t||"object"!==o(t))return(null===e||"object"!==o(e))&&t==e;if(null===e||"object"!==o(e))return!1}var i,a,c,l,h=g(t);if(h!==g(e))return!1;if(Array.isArray(t)){if(t.length!==e.length)return!1;var d=R(t),p=R(e);return d.length===p.length&&U(t,e,r,n,F,d)}if("[object Object]"===h&&(!w(t)&&w(e)||!x(t)&&x(e)))return!1;if(m(t)){if(!m(e)||Date.prototype.getTime.call(t)!==Date.prototype.getTime.call(e))return!1}else if(S(t)){if(!S(e)||(c=t,l=e,!(s?c.source===l.source&&c.flags===l.flags:RegExp.prototype.toString.call(c)===RegExp.prototype.toString.call(l))))return!1}else if(_(t)||t instanceof Error){if(t.message!==e.message||t.name!==e.name)return!1}else{if(v(t)){if(r||!B(t)&&!I(t)){if(!function(t,e){return t.byteLength===e.byteLength&&0===M(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}(t,e))return!1}else if(!function(t,e){if(t.byteLength!==e.byteLength)return!1;for(var r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}(t,e))return!1;var y=R(t),T=R(e);return y.length===T.length&&U(t,e,r,n,D,y)}if(x(t))return!(!x(e)||t.size!==e.size)&&U(t,e,r,n,N);if(w(t))return!(!w(e)||t.size!==e.size)&&U(t,e,r,n,L);if(b(t)){if(a=e,(i=t).byteLength!==a.byteLength||0!==M(new Uint8Array(i),new Uint8Array(a)))return!1}else if(A(t)&&!function(t,e){return C(t)?C(e)&&u(Number.prototype.valueOf.call(t),Number.prototype.valueOf.call(e)):k(t)?k(e)&&String.prototype.valueOf.call(t)===String.prototype.valueOf.call(e):E(t)?E(e)&&Boolean.prototype.valueOf.call(t)===Boolean.prototype.valueOf.call(e):P(t)?P(e)&&BigInt.prototype.valueOf.call(t)===BigInt.prototype.valueOf.call(e):O(e)&&Symbol.prototype.valueOf.call(t)===Symbol.prototype.valueOf.call(e)}(t,e))return!1}return U(t,e,r,n,D)}function z(t,e){return e.filter((function(e){return p(t,e)}))}function U(t,e,r,i,s,u){if(5===arguments.length){u=Object.keys(t);var f=Object.keys(e);if(u.length!==f.length)return!1}for(var h=0;h<u.length;h++)if(!d(e,u[h]))return!1;if(r&&5===arguments.length){var g=l(t);if(0!==g.length){var y=0;for(h=0;h<g.length;h++){var b=g[h];if(p(t,b)){if(!p(e,b))return!1;u.push(b),y++}else if(p(e,b))return!1}var v=l(e);if(g.length!==v.length&&z(e,v).length!==y)return!1}else{var m=l(e);if(0!==m.length&&0!==z(e,m).length)return!1}}if(0===u.length&&(s===D||s===F&&0===t.length||0===t.size))return!0;if(void 0===i)i={val1:new Map,val2:new Map,position:0};else{var w=i.val1.get(t);if(void 0!==w){var S=i.val2.get(e);if(void 0!==S)return w===S}i.position++}i.val1.set(t,i.position),i.val2.set(e,i.position);var x=function(t,e,r,i,s,u){var l=0;if(u===N){if(!function(t,e,r,n){for(var i=null,s=a(t),c=0;c<s.length;c++){var u=s[c];if("object"===o(u)&&null!==u)null===i&&(i=new Set),i.add(u);else if(!e.has(u)){if(r)return!1;if(!V(t,e,u))return!1;null===i&&(i=new Set),i.add(u)}}if(null!==i){for(var l=a(e),f=0;f<l.length;f++){var h=l[f];if("object"===o(h)&&null!==h){if(!W(i,h,r,n))return!1}else if(!r&&!t.has(h)&&!W(i,h,r,n))return!1}return 0===i.size}return!0}(t,e,r,s))return!1}else if(u===L){if(!function(t,e,r,i){for(var s=null,a=c(t),u=0;u<a.length;u++){var l=n(a[u],2),f=l[0],h=l[1];if("object"===o(f)&&null!==f)null===s&&(s=new Set),s.add(f);else{var d=e.get(f);if(void 0===d&&!e.has(f)||!j(h,d,r,i)){if(r)return!1;if(!X(t,e,f,h,i))return!1;null===s&&(s=new Set),s.add(f)}}}if(null!==s){for(var p=c(e),g=0;g<p.length;g++){var y=n(p[g],2),b=y[0],v=y[1];if("object"===o(b)&&null!==b){if(!q(s,t,b,v,r,i))return!1}else if(!(r||t.has(b)&&j(t.get(b),v,!1,i)||q(s,t,b,v,!1,i)))return!1}return 0===s.size}return!0}(t,e,r,s))return!1}else if(u===F)for(;l<t.length;l++){if(!d(t,l)){if(d(e,l))return!1;for(var f=Object.keys(t);l<f.length;l++){var h=f[l];if(!d(e,h)||!j(t[h],e[h],r,s))return!1}return f.length===Object.keys(e).length}if(!d(e,l)||!j(t[l],e[l],r,s))return!1}for(l=0;l<i.length;l++){var p=i[l];if(!j(t[p],e[p],r,s))return!1}return!0}(t,e,r,u,i,s);return i.val1.delete(t),i.val2.delete(e),x}function W(t,e,r,n){for(var i=a(t),o=0;o<i.length;o++){var s=i[o];if(j(e,s,r,n))return t.delete(s),!0}return!1}function G(t){switch(o(t)){case"undefined":return null;case"object":return;case"symbol":return!1;case"string":t=+t;case"number":if(f(t))return!1}return!0}function V(t,e,r){var n=G(r);return null!=n?n:e.has(n)&&!t.has(n)}function X(t,e,r,n,i){var o=G(r);if(null!=o)return o;var s=e.get(o);return!(void 0===s&&!e.has(o)||!j(n,s,!1,i))&&(!t.has(o)&&j(n,s,!1,i))}function q(t,e,r,n,i,o){for(var s=a(t),c=0;c<s.length;c++){var u=s[c];if(j(r,u,i,o)&&j(n,e.get(u),i,o))return t.delete(u),!0}return!1}t.exports={isDeepEqual:function(t,e){return j(t,e,false)},isDeepStrictEqual:function(t,e){return j(t,e,true)}}},29349:function(t,e){!function(t){"use strict";var e="undefined"!=typeof Uint8Array?Uint8Array:Array,r="+".charCodeAt(0),n="/".charCodeAt(0),i="0".charCodeAt(0),o="a".charCodeAt(0),s="A".charCodeAt(0),a="-".charCodeAt(0),c="_".charCodeAt(0);function u(t){var e=t.charCodeAt(0);return e===r||e===a?62:e===n||e===c?63:e<i?-1:e<i+10?e-i+26+26:e<s+26?e-s:e<o+26?e-o+26:void 0}t.toByteArray=function(t){var r,n,i,o,s,a;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var c=t.length;s="="===t.charAt(c-2)?2:"="===t.charAt(c-1)?1:0,a=new e(3*t.length/4-s),i=s>0?t.length-4:t.length;var l=0;function f(t){a[l++]=t}for(r=0,n=0;r<i;r+=4,n+=3)f((16711680&(o=u(t.charAt(r))<<18|u(t.charAt(r+1))<<12|u(t.charAt(r+2))<<6|u(t.charAt(r+3))))>>16),f((65280&o)>>8),f(255&o);return 2===s?f(255&(o=u(t.charAt(r))<<2|u(t.charAt(r+1))>>4)):1===s&&(f((o=u(t.charAt(r))<<10|u(t.charAt(r+1))<<4|u(t.charAt(r+2))>>2)>>8&255),f(255&o)),a},t.fromByteArray=function(t){var e,r,n,i,o=t.length%3,s="";function a(t){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)}for(e=0,n=t.length-o;e<n;e+=3)r=(t[e]<<16)+(t[e+1]<<8)+t[e+2],s+=a((i=r)>>18&63)+a(i>>12&63)+a(i>>6&63)+a(63&i);switch(o){case 1:s+=a((r=t[t.length-1])>>2),s+=a(r<<4&63),s+="==";break;case 2:s+=a((r=(t[t.length-2]<<8)+t[t.length-1])>>10),s+=a(r>>4&63),s+=a(r<<2&63),s+="="}return s}}(e)},34451:function(t,e){"use strict";e.byteLength=function(t){var e=a(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,o=a(t),s=o[0],c=o[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,s,c)),l=0,f=c>0?s-4:s;for(r=0;r<f;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],u[l++]=e>>16&255,u[l++]=e>>8&255,u[l++]=255&e;2===c&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[l++]=255&e);1===c&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[l++]=e>>8&255,u[l++]=255&e);return u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],s=16383,a=0,u=n-i;a<u;a+=s)o.push(c(t,a,a+s>u?u:a+s));1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return o.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)r[s]=o[s],n[o.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,n){for(var i,o,s=[],a=e;a<n;a+=3)i=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(r[(o=i)>>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},77597:function(t,e,r){var n=r(2776).Writable,i=r(42781),o=r(16694),s=r.g.URL||r.g.webkitURL||r.g.mozURL;function a(){if(!(this instanceof a))return new a;n.call(this),this._chunks=[],this._blob=null,this.length=0}i.inherits(a,n),a.prototype._write=function(t,e,r){t instanceof Uint8Array||(t=new Uint8Array(t)),this.length+=t.length,this._chunks.push(t),r()},a.prototype.toBlob=function(t){return t=t||"application/octet-stream",this._blob||(this._blob=new o(this._chunks,{type:t}),this._chunks=[]),this._blob.type!==t&&(this._blob=new o([this._blob],{type:t})),this._blob},a.prototype.toBlobURL=function(t){return s.createObjectURL(this.toBlob(t))},t.exports=a},16694:function(t,e,r){var n=r.g.BlobBuilder||r.g.WebKitBlobBuilder||r.g.MSBlobBuilder||r.g.MozBlobBuilder,i=function(){try{return 2===new Blob(["hi"]).size}catch(t){return!1}}(),o=i&&function(){try{return 2===new Blob([new Uint8Array([1,2])]).size}catch(t){return!1}}(),s=n&&n.prototype.append&&n.prototype.getBlob;function a(t){for(var e=0;e<t.length;e++){var r=t[e];if(r.buffer instanceof ArrayBuffer){var n=r.buffer;if(r.byteLength!==n.byteLength){var i=new Uint8Array(r.byteLength);i.set(new Uint8Array(n,r.byteOffset,r.byteLength)),n=i.buffer}t[e]=n}}}function c(t,e){e=e||{};var r=new n;a(t);for(var i=0;i<t.length;i++)r.append(t[i]);return e.type?r.getBlob(e.type):r.getBlob()}function u(t,e){return a(t),new Blob(t,e||{})}t.exports=i?o?r.g.Blob:u:s?c:void 0},92663:function(t){var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function n(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}n.READ_SIZE=e,n.IBUF_MASK=8191,n.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},n.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var n=0;n<32;n++)this.buf_[t+r+n]=0}if(0===t){for(n=0;n<32;n++)this.buf_[8192+n]=this.buf_[n];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},n.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},n.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=n},22990:function(t,e){e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},86745:function(t,e,r){var n=r(20695).g,i=r(20695).j,o=r(92663),s=r(42043),a=r(31945).h,c=r(31945).g,u=r(22990),l=r(54490),f=r(97672),h=8,d=16,p=256,g=704,y=26,b=6,v=2,m=8,w=255,S=1080,x=18,_=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),A=16,C=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),k=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),E=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function P(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function O(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function B(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function I(t){var e,r,n,i=new B;if(i.input_end=t.readBits(1),i.input_end&&t.readBits(1))return i;if(7===(e=t.readBits(2)+4)){if(i.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return i;for(n=0;n<r;n++){var o=t.readBits(8);if(n+1===r&&r>1&&0===o)throw new Error("Invalid size byte");i.meta_block_length|=o<<8*n}}else for(n=0;n<e;++n){var s=t.readBits(4);if(n+1===e&&e>4&&0===s)throw new Error("Invalid size nibble");i.meta_block_length|=s<<4*n}return++i.meta_block_length,i.input_end||i.is_metadata||(i.is_uncompressed=t.readBits(1)),i}function T(t,e,r){var n;return r.fillBitWindow(),(n=t[e+=r.val_>>>r.bit_pos_&w].bits-m)>0&&(r.bit_pos_+=m,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<n)-1),r.bit_pos_+=t[e].bits,t[e].value}function R(t,e,r,n){var i,o,s=new Uint8Array(t);if(n.readMoreInput(),1===(o=n.readBits(2))){for(var u=t-1,l=0,f=new Int32Array(4),p=n.readBits(2)+1;u;)u>>=1,++l;for(g=0;g<p;++g)f[g]=n.readBits(l)%t,s[f[g]]=2;switch(s[f[0]]=1,p){case 1:break;case 3:if(f[0]===f[1]||f[0]===f[2]||f[1]===f[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(f[0]===f[1])throw new Error("[ReadHuffmanCode] invalid symbols");s[f[1]]=1;break;case 4:if(f[0]===f[1]||f[0]===f[2]||f[0]===f[3]||f[1]===f[2]||f[1]===f[3]||f[2]===f[3])throw new Error("[ReadHuffmanCode] invalid symbols");n.readBits(1)?(s[f[2]]=3,s[f[3]]=3):s[f[0]]=2}}else{var g,y=new Uint8Array(x),b=32,v=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(g=o;g<x&&b>0;++g){var S,A=_[g],C=0;n.fillBitWindow(),C+=n.val_>>>n.bit_pos_&15,n.bit_pos_+=w[C].bits,S=w[C].value,y[A]=S,0!==S&&(b-=32>>S,++v)}if(1!==v&&0!==b)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,n){for(var i=0,o=h,s=0,u=0,l=32768,f=[],p=0;p<32;p++)f.push(new a(0,0));for(c(f,0,5,t,x);i<e&&l>0;){var g,y=0;if(n.readMoreInput(),n.fillBitWindow(),y+=n.val_>>>n.bit_pos_&31,n.bit_pos_+=f[y].bits,(g=255&f[y].value)<d)s=0,r[i++]=g,0!==g&&(o=g,l-=32768>>g);else{var b,v,m=g-14,w=0;if(g===d&&(w=o),u!==w&&(s=0,u=w),b=s,s>0&&(s-=2,s<<=m),i+(v=(s+=n.readBits(m)+3)-b)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var S=0;S<v;S++)r[i+S]=u;i+=v,0!==u&&(l-=v<<15-u)}}if(0!==l)throw new Error("[ReadHuffmanCodeLengths] space = "+l);for(;i<e;i++)r[i]=0}(y,t,s,n)}if(0===(i=c(e,r,m,s,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return i}function M(t,e,r){var n,i;return n=T(t,e,r),i=l.kBlockLengthPrefixCode[n].nbits,l.kBlockLengthPrefixCode[n].offset+r.readBits(i)}function D(t,e,r){var n;return t<A?(r+=C[t],n=e[r&=3]+k[t]):n=t-A+1,n}function F(t,e){for(var r=t[e],n=e;n;--n)t[n]=t[n-1];t[0]=r}function N(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*E[t+31>>>5]),this.htrees=new Uint32Array(e)}function L(t,e){var r,n,i={num_htrees:null,context_map:null},o=0;e.readMoreInput();var s=i.num_htrees=O(e)+1,c=i.context_map=new Uint8Array(t);if(s<=1)return i;for(e.readBits(1)&&(o=e.readBits(4)+1),r=[],n=0;n<S;n++)r[n]=new a(0,0);for(R(s+o,r,0,e),n=0;n<t;){var u;if(e.readMoreInput(),0===(u=T(r,0,e)))c[n]=0,++n;else if(u<=o)for(var l=1+(1<<u)+e.readBits(u);--l;){if(n>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[n]=0,++n}else c[n]=u-o,++n}return e.readBits(1)&&function(t,e){var r,n=new Uint8Array(256);for(r=0;r<256;++r)n[r]=r;for(r=0;r<e;++r){var i=t[r];t[r]=n[i],i&&F(n,i)}}(c,t),i}function j(t,e,r,n,i,o,s){var a,c=2*r,u=r,l=T(e,r*S,s);(a=0===l?i[c+(1&o[u])]:1===l?i[c+(o[u]-1&1)]+1:l-2)>=t&&(a-=t),n[r]=a,i[c+(1&o[u])]=a,++o[u]}function z(t,e,r,n,i,s){var a,c=i+1,u=r&i,l=s.pos_&o.IBUF_MASK;if(e<8||s.bit_pos_+(e<<3)<s.bit_end_pos_)for(;e-- >0;)s.readMoreInput(),n[u++]=s.readBits(8),u===c&&(t.write(n,c),u=0);else{if(s.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;s.bit_pos_<32;)n[u]=s.val_>>>s.bit_pos_,s.bit_pos_+=8,++u,--e;if(l+(a=s.bit_end_pos_-s.bit_pos_>>3)>o.IBUF_MASK){for(var f=o.IBUF_MASK+1-l,h=0;h<f;h++)n[u+h]=s.buf_[l+h];a-=f,u+=f,e-=f,l=0}for(h=0;h<a;h++)n[u+h]=s.buf_[l+h];if(e-=a,(u+=a)>=c){t.write(n,c),u-=c;for(h=0;h<u;h++)n[h]=n[c+h]}for(;u+e>=c;){if(a=c-u,s.input_.read(n,u,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(n,c),e-=a,u=0}if(s.input_.read(n,u,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");s.reset()}}function U(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function W(t){var e=new n(t),r=new o(e);return P(r),I(r).meta_block_length}function G(t,e){var r,n,i,c,h,d,m,w,x,_,C=0,k=0,E=0,B=[16,15,11,4],F=0,W=0,G=0,V=[new N(0,0),new N(0,0),new N(0,0)],X=128+o.READ_SIZE;i=(1<<(n=P(_=new o(t))))-16,h=(c=1<<n)-1,d=new Uint8Array(c+X+s.maxDictionaryWordLength),m=c,w=[],x=[];for(var q=0;q<3*S;q++)w[q]=new a(0,0),x[q]=new a(0,0);for(;!k;){var H,Z,K,Y,J,Q,$,tt,et,rt,nt,it=0,ot=[1<<28,1<<28,1<<28],st=[0],at=[1,1,1],ct=[0,1,0,1,0,1],ut=[0],lt=null,ft=null,ht=0,dt=null,pt=0,gt=0,yt=0;for(r=0;r<3;++r)V[r].codes=null,V[r].htrees=null;_.readMoreInput();var bt=I(_);if(C+(it=bt.meta_block_length)>e.buffer.length){var vt=new Uint8Array(C+it);vt.set(e.buffer),e.buffer=vt}if(k=bt.input_end,H=bt.is_uncompressed,bt.is_metadata)for(U(_);it>0;--it)_.readMoreInput(),_.readBits(8);else if(0!==it)if(H)_.bit_pos_=_.bit_pos_+7&-8,z(e,it,C,d,h,_),C+=it;else{for(r=0;r<3;++r)at[r]=O(_)+1,at[r]>=2&&(R(at[r]+2,w,r*S,_),R(y,x,r*S,_),ot[r]=M(x,r*S,_),ut[r]=1);for(_.readMoreInput(),Y=(1<<(Z=_.readBits(2)))-1,J=(K=A+(_.readBits(4)<<Z))+(48<<Z),lt=new Uint8Array(at[0]),r=0;r<at[0];++r)_.readMoreInput(),lt[r]=_.readBits(2)<<1;var mt=L(at[0]<<b,_);$=mt.num_htrees,Q=mt.context_map;var wt=L(at[2]<<v,_);for(et=wt.num_htrees,tt=wt.context_map,V[0]=new N(p,$),V[1]=new N(g,at[1]),V[2]=new N(J,et),r=0;r<3;++r)V[r].decode(_);for(ft=0,dt=0,rt=lt[st[0]],gt=u.lookupOffsets[rt],yt=u.lookupOffsets[rt+1],nt=V[1].htrees[0];it>0;){var St,xt,_t,At,Ct,kt,Et,Pt,Ot,Bt,It,Tt;for(_.readMoreInput(),0===ot[1]&&(j(at[1],w,1,st,ct,ut,_),ot[1]=M(x,S,_),nt=V[1].htrees[st[1]]),--ot[1],(xt=(St=T(V[1].codes,nt,_))>>6)>=2?(xt-=2,Et=-1):Et=0,_t=l.kInsertRangeLut[xt]+(St>>3&7),At=l.kCopyRangeLut[xt]+(7&St),Ct=l.kInsertLengthPrefixCode[_t].offset+_.readBits(l.kInsertLengthPrefixCode[_t].nbits),kt=l.kCopyLengthPrefixCode[At].offset+_.readBits(l.kCopyLengthPrefixCode[At].nbits),W=d[C-1&h],G=d[C-2&h],Ot=0;Ot<Ct;++Ot)_.readMoreInput(),0===ot[0]&&(j(at[0],w,0,st,ct,ut,_),ot[0]=M(x,0,_),ft=st[0]<<b,rt=lt[st[0]],gt=u.lookupOffsets[rt],yt=u.lookupOffsets[rt+1]),ht=Q[ft+(u.lookup[gt+W]|u.lookup[yt+G])],--ot[0],G=W,W=T(V[0].codes,V[0].htrees[ht],_),d[C&h]=W,(C&h)===h&&e.write(d,c),++C;if((it-=Ct)<=0)break;if(Et<0)if(_.readMoreInput(),0===ot[2]&&(j(at[2],w,2,st,ct,ut,_),ot[2]=M(x,2*S,_),dt=st[2]<<v),--ot[2],pt=tt[dt+(255&(kt>4?3:kt-2))],(Et=T(V[2].codes,V[2].htrees[pt],_))>=K)Tt=(Et-=K)&Y,Et=K+((Rt=(2+(1&(Et>>=Z))<<(It=1+(Et>>1)))-4)+_.readBits(It)<<Z)+Tt;if((Pt=D(Et,B,F))<0)throw new Error("[BrotliDecompress] invalid distance");if(Bt=C&h,Pt>(E=C<i&&E!==i?C:i)){if(!(kt>=s.minDictionaryWordLength&&kt<=s.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+C+" distance: "+Pt+" len: "+kt+" bytes left: "+it);var Rt=s.offsetsByLength[kt],Mt=Pt-E-1,Dt=s.sizeBitsByLength[kt],Ft=Mt>>Dt;if(Rt+=(Mt&(1<<Dt)-1)*kt,!(Ft<f.kNumTransforms))throw new Error("Invalid backward reference. pos: "+C+" distance: "+Pt+" len: "+kt+" bytes left: "+it);var Nt=f.transformDictionaryWord(d,Bt,Rt,kt,Ft);if(C+=Nt,it-=Nt,(Bt+=Nt)>=m){e.write(d,c);for(var Lt=0;Lt<Bt-m;Lt++)d[Lt]=d[m+Lt]}}else{if(Et>0&&(B[3&F]=Pt,++F),kt>it)throw new Error("Invalid backward reference. pos: "+C+" distance: "+Pt+" len: "+kt+" bytes left: "+it);for(Ot=0;Ot<kt;++Ot)d[C&h]=d[C-Pt&h],(C&h)===h&&e.write(d,c),++C,--it}W=d[C-1&h],G=d[C-2&h]}C&=1073741823}}e.write(d,C&h)}N.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=R(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new n(t);null==e&&(e=W(t));var o=new Uint8Array(e),s=new i(o);return G(r,s),s.pos<s.buffer.length&&(s.buffer=s.buffer.subarray(0,s.pos)),s.buffer},s.init()},76533:function(t,e,r){var n=r(34451);e.init=function(){return(0,r(86745).BrotliDecompressBuffer)(n.toByteArray(r(2870)))}},2870:function(t){t.exports="W5/fcQLn5gKf2XUbAiQ1XULX+TZz6ADToDsgqk6qVfeC0e4m6OO2wcQ1J76ZBVRV1fRkEsdu//62zQsFEZWSTCnMhcsQKlS2qOhuVYYMGCkV0fXWEoMFbESXrKEZ9wdUEsyw9g4bJlEt1Y6oVMxMRTEVbCIwZzJzboK5j8m4YH02qgXYhv1V+PM435sLVxyHJihaJREEhZGqL03txGFQLm76caGO/ovxKvzCby/3vMTtX/459f0igi7WutnKiMQ6wODSoRh/8Lx1V3Q99MvKtwB6bHdERYRY0hStJoMjNeTsNX7bn+Y7e4EQ3bf8xBc7L0BsyfFPK43dGSXpL6clYC/I328h54/VYrQ5i0648FgbGtl837svJ35L3Mot/+nPlNpWgKx1gGXQYqX6n+bbZ7wuyCHKcUok12Xjqub7NXZGzqBx0SD+uziNf87t7ve42jxSKQoW3nyxVrWIGlFShhCKxjpZZ5MeGna0+lBkk+kaN8F9qFBAFgEogyMBdcX/T1W/WnMOi/7ycWUQloEBKGeC48MkiwqJkJO+12eQiOFHMmck6q/IjWW3RZlany23TBm+cNr/84/oi5GGmGBZWrZ6j+zykVozz5fT/QH/Da6WTbZYYPynVNO7kxzuNN2kxKKWche5WveitPKAecB8YcAHz/+zXLjcLzkdDSktNIDwZE9J9X+tto43oJy65wApM3mDzYtCwX9lM+N5VR3kXYo0Z3t0TtXfgBFg7gU8oN0Dgl7fZlUbhNll+0uuohRVKjrEd8egrSndy5/Tgd2gqjA4CAVuC7ESUmL3DZoGnfhQV8uwnpi8EGvAVVsowNRxPudck7+oqAUDkwZopWqFnW1riss0t1z6iCISVKreYGNvQcXv+1L9+jbP8cd/dPUiqBso2q+7ZyFBvENCkkVr44iyPbtOoOoCecWsiuqMSML5lv+vN5MzUr+Dnh73G7Q1YnRYJVYXHRJaNAOByiaK6CusgFdBPE40r0rvqXV7tksKO2DrHYXBTv8P5ysqxEx8VDXUDDqkPH6NNOV/a2WH8zlkXRELSa8P+heNyJBBP7PgsG1EtWtNef6/i+lcayzQwQCsduidpbKfhWUDgAEmyhGu/zVTacI6RS0zTABrOYueemnVa19u9fT23N/Ta6RvTpof5DWygqreCqrDAgM4LID1+1T/taU6yTFVLqXOv+/MuQOFnaF8vLMKD7tKWDoBdALgxF33zQccCcdHx8fKIVdW69O7qHtXpeGr9jbbpFA+qRMWr5hp0s67FPc7HAiLV0g0/peZlW7hJPYEhZyhpSwahnf93/tZgfqZWXFdmdXBzqxGHLrQKxoAY6fRoBhgCRPmmGueYZ5JexTVDKUIXzkG/fqp/0U3hAgQdJ9zumutK6nqWbaqvm1pgu03IYR+G+8s0jDBBz8cApZFSBeuWasyqo2OMDKAZCozS+GWSvL/HsE9rHxooe17U3s/lTE+VZAk4j3dp6uIGaC0JMiqR5CUsabPyM0dOYDR7Ea7ip4USZlya38YfPtvrX/tBlhHilj55nZ1nfN24AOAi9BVtz/Mbn8AEDJCqJgsVUa6nQnSxv2Fs7l/NlCzpfYEjmPrNyib/+t0ei2eEMjvNhLkHCZlci4WhBe7ePZTmzYqlY9+1pxtS4GB+5lM1BHT9tS270EWUDYFq1I0yY/fNiAk4bk9yBgmef/f2k6AlYQZHsNFnW8wBQxCd68iWv7/35bXfz3JZmfGligWAKRjIs3IpzxQ27vAglHSiOzCYzJ9L9A1CdiyFvyR66ucA4jKifu5ehwER26yV7HjKqn5Mfozo7Coxxt8LWWPT47BeMxX8p0Pjb7hZn+6bw7z3Lw+7653j5sI8CLu5kThpMlj1m4c2ch3jGcP1FsT13vuK3qjecKTZk2kHcOZY40UX+qdaxstZqsqQqgXz+QGF99ZJLqr3VYu4aecl1Ab5GmqS8k/GV5b95zxQ5d4EfXUJ6kTS/CXF/aiqKDOT1T7Jz5z0PwDUcwr9clLN1OJGCiKfqvah+h3XzrBOiLOW8wvn8gW6qE8vPxi+Efv+UH55T7PQFVMh6cZ1pZQlzJpKZ7P7uWvwPGJ6DTlR6wbyj3Iv2HyefnRo/dv7dNx+qaa0N38iBsR++Uil7Wd4afwDNsrzDAK4fXZwvEY/jdKuIKXlfrQd2C39dW7ntnRbIp9OtGy9pPBn/V2ASoi/2UJZfS+xuGLH8bnLuPlzdTNS6zdyk8Dt/h6sfOW5myxh1f+zf3zZ3MX/mO9cQPp5pOx967ZA6/pqHvclNfnUFF+rq+Vd7alKr6KWPcIDhpn6v2K6NlUu6LrKo8b/pYpU/Gazfvtwhn7tEOUuXht5rUJdSf6sLjYf0VTYDgwJ81yaqKTUYej/tbHckSRb/HZicwGJqh1mAHB/IuNs9dc9yuvF3D5Xocm3elWFdq5oEy70dYFit79yaLiNjPj5UUcVmZUVhQEhW5V2Z6Cm4HVH/R8qlamRYwBileuh07CbEce3TXa2JmXWBf+ozt319psboobeZhVnwhMZzOeQJzhpTDbP71Tv8HuZxxUI/+ma3XW6DFDDs4+qmpERwHGBd2edxwUKlODRdUWZ/g0GOezrbzOZauFMai4QU6GVHV6aPNBiBndHSsV4IzpvUiiYyg6OyyrL4Dj5q/Lw3N5kAwftEVl9rNd7Jk5PDij2hTH6wIXnsyXkKePxbmHYgC8A6an5Fob/KH5GtC0l4eFso+VpxedtJHdHpNm+Bvy4C79yVOkrZsLrQ3OHCeB0Ra+kBIRldUGlDCEmq2RwXnfyh6Dz+alk6eftI2n6sastRrGwbwszBeDRS/Fa/KwRJkCzTsLr/JCs5hOPE/MPLYdZ1F1fv7D+VmysX6NpOC8aU9F4Qs6HvDyUy9PvFGDKZ/P5101TYHFl8pjj6wm/qyS75etZhhfg0UEL4OYmHk6m6dO192AzoIyPSV9QedDA4Ml23rRbqxMPMxf7FJnDc5FTElVS/PyqgePzmwVZ26NWhRDQ+oaT7ly7ell4s3DypS1s0g+tOr7XHrrkZj9+x/mJBttrLx98lFIaRZzHz4aC7r52/JQ4VjHahY2/YVXZn/QC2ztQb/sY3uRlyc5vQS8nLPGT/n27495i8HPA152z7Fh5aFpyn1GPJKHuPL8Iw94DuW3KjkURAWZXn4EQy89xiKEHN1mk/tkM4gYDBxwNoYvRfE6LFqsxWJtPrDGbsnLMap3Ka3MUoytW0cvieozOmdERmhcqzG+3HmZv2yZeiIeQTKGdRT4HHNxekm1tY+/n06rGmFleqLscSERzctTKM6G9P0Pc1RmVvrascIxaO1CQCiYPE15bD7c3xSeW7gXxYjgxcrUlcbIvO0r+Yplhx0kTt3qafDOmFyMjgGxXu73rddMHpV1wMubyAGcf/v5dLr5P72Ta9lBF+fzMJrMycwv+9vnU3ANIl1cH9tfW7af8u0/HG0vV47jNFXzFTtaha1xvze/s8KMtCYucXc1nzfd/MQydUXn/b72RBt5wO/3jRcMH9BdhC/yctKBIveRYPrNpDWqBsO8VMmP+WvRaOcA4zRMR1PvSoO92rS7pYEv+fZfEfTMzEdM+6X5tLlyxExhqLRkms5EuLovLfx66de5fL2/yX02H52FPVwahrPqmN/E0oVXnsCKhbi/yRxX83nRbUKWhzYceXOntfuXn51NszJ6MO73pQf5Pl4in3ec4JU8hF7ppV34+mm9r1LY0ee/i1O1wpd8+zfLztE0cqBxggiBi5Bu95v9l3r9r/U5hweLn+TbfxowrWDqdJauKd8+q/dH8sbPkc9ttuyO94f7/XK/nHX46MPFLEb5qQlNPvhJ50/59t9ft3LXu7uVaWaO2bDrDCnRSzZyWvFKxO1+vT8MwwunR3bX0CkfPjqb4K9O19tn5X50PvmYpEwHtiW9WtzuV/s76B1zvLLNkViNd8ySxIl/3orfqP90TyTGaf7/rx8jQzeHJXdmh/N6YDvbvmTBwCdxfEQ1NcL6wNMdSIXNq7b1EUzRy1/Axsyk5p22GMG1b+GxFgbHErZh92wuvco0AuOLXct9hvw2nw/LqIcDRRmJmmZzcgUa7JpM/WV/S9IUfbF56TL2orzqwebdRD8nIYNJ41D/hz37Fo11p2Y21wzPcn713qVGhqtevStYfGH4n69OEJtPvbbLYWvscDqc3Hgnu166+tAyLnxrX0Y5zoYjV++1sI7t5kMr02KT/+uwtkc+rZLOf/qn/s3nYCf13Dg8/sB2diJgjGqjQ+TLhxbzyue2Ob7X6/9lUwW7a+lbznHzOYy8LKW1C/uRPbQY3KW/0gO9LXunHLvPL97afba9bFtc9hmz7GAttjVYlCvQAiOwAk/gC5+hkLEs6tr3AZKxLJtOEwk2dLxTYWsIB/j/ToWtIWzo906FrSG8iaqqqqqqiIiIiAgzMzMzNz+AyK+01/zi8n8S+Y1MjoRaQ80WU/G8MBlO+53VPXANrWm4wzGUVZUjjBJZVdhpcfkjsmcWaO+UEldXi1e+zq+HOsCpknYshuh8pOLISJun7TN0EIGW2xTnlOImeecnoGW4raxe2G1T3HEvfYUYMhG+gAFOAwh5nK8mZhwJMmN7r224QVsNFvZ87Z0qatvknklyPDK3Hy45PgVKXji52Wen4d4PlFVVYGnNap+fSpFbK90rYnhUc6n91Q3AY9E0tJOFrcfZtm/491XbcG/jsViUPPX76qmeuiz+qY1Hk7/1VPM405zWVuoheLUimpWYdVzCmUdKHebMdzgrYrb8mL2eeLSnRWHdonfZa8RsOU9F37w+591l5FLYHiOqWeHtE/lWrBHcRKp3uhtr8yXm8LU/5ms+NM6ZKsqu90cFZ4o58+k4rdrtB97NADFbwmEG7lXqvirhOTOqU14xuUF2myIjURcPHrPOQ4lmM3PeMg7bUuk0nnZi67bXsU6H8lhqIo8TaOrEafCO1ARK9PjC0QOoq2BxmMdgYB9G/lIb9++fqNJ2s7BHGFyBNmZAR8J3KCo012ikaSP8BCrf6VI0X5xdnbhHIO+B5rbOyB54zXkzfObyJ4ecwxfqBJMLFc7m59rNcw7hoHnFZ0b00zee+gTqvjm61Pb4xn0kcDX4jvHM0rBXZypG3DCKnD/Waa/ZtHmtFPgO5eETx+k7RrVg3aSwm2YoNXnCs3XPQDhNn+Fia6IlOOuIG6VJH7TP6ava26ehKHQa2T4N0tcZ9dPCGo3ZdnNltsHQbeYt5vPnJezV/cAeNypdml1vCHI8M81nSRP5Qi2+mI8v/sxiZru9187nRtp3f/42NemcONa+4eVC3PCZzc88aZh851CqSsshe70uPxeN/dmYwlwb3trwMrN1Gq8jbnApcVDx/yDPeYs5/7r62tsQ6lLg+DiFXTEhzR9dHqv0iT4tgj825W+H3XiRUNUZT2kR9Ri0+lp+UM3iQtS8uOE23Ly4KYtvqH13jghUntJRAewuzNLDXp8RxdcaA3cMY6TO2IeSFRXezeWIjCqyhsUdMYuCgYTZSKpBype1zRfq8FshvfBPc6BAQWl7/QxIDp3VGo1J3vn42OEs3qznws+YLRXbymyB19a9XBx6n/owcyxlEYyFWCi+kG9F+EyD/4yn80+agaZ9P7ay2Dny99aK2o91FkfEOY8hBwyfi5uwx2y5SaHmG+oq/zl1FX/8irOf8Y3vAcX/6uLP6A6nvMO24edSGPjQc827Rw2atX+z2bKq0CmW9mOtYnr5/AfDa1ZfPaXnKtlWborup7QYx+Or2uWb+N3N//2+yDcXMqIJdf55xl7/vsj4WoPPlxLxtVrkJ4w/tTe3mLdATOOYwxcq52w5Wxz5MbPdVs5O8/lhfE7dPj0bIiPQ3QV0iqm4m3YX8hRfc6jQ3fWepevMqUDJd86Z4vwM40CWHnn+WphsGHfieF02D3tmZvpWD+kBpNCFcLnZhcmmrhpGzzbdA+sQ1ar18OJD87IOKOFoRNznaHPNHUfUNhvY1iU+uhvEvpKHaUn3qK3exVVyX4joipp3um7FmYJWmA+WbIDshRpbVRx5/nqstCgy87FGbfVB8yDGCqS+2qCsnRwnSAN6zgzxfdB2nBT/vZ4/6uxb6oH8b4VBRxiIB93wLa47hG3w2SL/2Z27yOXJFwZpSJaBYyvajA7vRRYNKqljXKpt/CFD/tSMr18DKKbwB0xggBePatl1nki0yvqW5zchlyZmJ0OTxJ3D+fsYJs/mxYN5+Le5oagtcl+YsVvy8kSjI2YGvGjvmpkRS9W2dtXqWnVuxUhURm1lKtou/hdEq19VBp9OjGvHEQSmrpuf2R24mXGheil8KeiANY8fW1VERUfBImb64j12caBZmRViZHbeVMjCrPDg9A90IXrtnsYCuZtRQ0PyrKDjBNOsPfKsg1pA02gHlVr0OXiFhtp6nJqXVzcbfM0KnzC3ggOENPE9VBdmHKN6LYaijb4wXxJn5A0FSDF5j+h1ooZx885Jt3ZKzO5n7Z5WfNEOtyyPqQEnn7WLv5Fis3PdgMshjF1FRydbNyeBbyKI1oN1TRVrVK7kgsb/zjX4NDPIRMctVeaxVB38Vh1x5KbeJbU138AM5KzmZu3uny0ErygxiJF7GVXUrPzFxrlx1uFdAaZFDN9cvIb74qD9tzBMo7L7WIEYK+sla1DVMHpF0F7b3+Y6S+zjvLeDMCpapmJo1weBWuxKF3rOocih1gun4BoJh1kWnV/Jmiq6uOhK3VfKxEHEkafjLgK3oujaPzY6SXg8phhL4TNR1xvJd1Wa0aYFfPUMLrNBDCh4AuGRTbtKMc6Z1Udj8evY/ZpCuMAUefdo69DZUngoqE1P9A3PJfOf7WixCEj+Y6t7fYeHbbxUAoFV3M89cCKfma3fc1+jKRe7MFWEbQqEfyzO2x/wrO2VYH7iYdQ9BkPyI8/3kXBpLaCpU7eC0Yv/am/tEDu7HZpqg0EvHo0nf/R/gRzUWy33/HXMJQeu1GylKmOkXzlCfGFruAcPPhaGqZOtu19zsJ1SO2Jz4Ztth5cBX6mRQwWmDwryG9FUMlZzNckMdK+IoMJv1rOWnBamS2w2KHiaPMPLC15hCZm4KTpoZyj4E2TqC/P6r7/EhnDMhKicZZ1ZwxuC7DPzDGs53q8gXaI9kFTK+2LTq7bhwsTbrMV8Rsfua5lMS0FwbTitUVnVa1yTb5IX51mmYnUcP9wPr8Ji1tiYJeJV9GZTrQhF7vvdU2OTU42ogJ9FDwhmycI2LIg++03C6scYhUyUuMV5tkw6kGUoL+mjNC38+wMdWNljn6tGPpRES7veqrSn5TRuv+dh6JVL/iDHU1db4c9WK3++OrH3PqziF916UMUKn8G67nN60GfWiHrXYhUG3yVWmyYak59NHj8t1smG4UDiWz2rPHNrKnN4Zo1LBbr2/eF9YZ0n0blx2nG4X+EKFxvS3W28JESD+FWk61VCD3z/URGHiJl++7TdBwkCj6tGOH3qDb0QqcOF9Kzpj0HUb/KyFW3Yhj2VMKJqGZleFBH7vqvf7WqLC3XMuHV8q8a4sTFuxUtkD/6JIBvKaVjv96ndgruKZ1k/BHzqf2K9fLk7HGXANyLDd1vxkK/i055pnzl+zw6zLnwXlVYVtfmacJgEpRP1hbGgrYPVN6v2lG+idQNGmwcKXu/8xEj/P6qe/sB2WmwNp6pp8jaISMkwdleFXYK55NHWLTTbutSUqjBfDGWo/Yg918qQ+8BRZSAHZbfuNZz2O0sov1Ue4CWlVg3rFhM3Kljj9ksGd/NUhk4nH+a5UN2+1i8+NM3vRNp7uQ6sqexSCukEVlVZriHNqFi5rLm9TMWa4qm3idJqppQACol2l4VSuvWLfta4JcXy3bROPNbXOgdOhG47LC0CwW/dMlSx4Jf17aEU3yA1x9p+Yc0jupXgcMuYNku64iYOkGToVDuJvlbEKlJqsmiHbvNrIVZEH+yFdF8DbleZ6iNiWwMqvtMp/mSpwx5KxRrT9p3MAPTHGtMbfvdFhyj9vhaKcn3At8Lc16Ai+vBcSp1ztXi7rCJZx/ql7TXcclq6Q76UeKWDy9boS0WHIjUuWhPG8LBmW5y2rhuTpM5vsLt+HOLh1Yf0DqXa9tsfC+kaKt2htA0ai/L2i7RKoNjEwztkmRU0GfgW1TxUvPFhg0V7DdfWJk5gfrccpYv+MA9M0dkGTLECeYwUixRzjRFdmjG7zdZIl3XKB9YliNKI31lfa7i2JG5C8Ss+rHe0D7Z696/V3DEAOWHnQ9yNahMUl5kENWS6pHKKp2D1BaSrrHdE1w2qNxIztpXgUIrF0bm15YML4b6V1k+GpNysTahKMVrrS85lTVo9OGJ96I47eAy5rYWpRf/mIzeoYU1DKaQCTUVwrhHeyNoDqHel+lLxr9WKzhSYw7vrR6+V5q0pfi2k3L1zqkubY6rrd9ZLvSuWNf0uqnkY+FpTvFzSW9Fp0b9l8JA7THV9eCi/PY/SCZIUYx3BU2alj7Cm3VV6eYpios4b6WuNOJdYXUK3zTqj5CVG2FqYM4Z7CuIU0qO05XR0d71FHM0YhZmJmTRfLlXEumN82BGtzdX0S19t1e+bUieK8zRmqpa4Qc5TSjifmaQsY2ETLjhI36gMR1+7qpjdXXHiceUekfBaucHShAOiFXmv3sNmGQyU5iVgnoocuonQXEPTFwslHtS8R+A47StI9wj0iSrtbi5rMysczFiImsQ+bdFClnFjjpXXwMy6O7qfjOr8Fb0a7ODItisjnn3EQO16+ypd1cwyaAW5Yzxz5QknfMO7643fXW/I9y3U2xH27Oapqr56Z/tEzglj6IbT6HEHjopiXqeRbe5mQQvxtcbDOVverN0ZgMdzqRYRjaXtMRd56Q4cZSmdPvZJdSrhJ1D9zNXPqAEqPIavPdfubt5oke2kmv0dztIszSv2VYuoyf1UuopbsYb+uX9h6WpwjpgtZ6fNNawNJ4q8O3CFoSbioAaOSZMx2GYaPYB+rEb6qjQiNRFQ76TvwNFVKD+BhH9VhcKGsXzmMI7BptU/CNWolM7YzROvpFAntsiWJp6eR2d3GarcYShVYSUqhmYOWj5E96NK2WvmYNTeY7Zs4RUEdv9h9QT4EseKt6LzLrqEOs3hxAY1MaNWpSa6zZx8F3YOVeCYMS88W+CYHDuWe4yoc6YK+djDuEOrBR5lvh0r+Q9uM88lrjx9x9AtgpQVNE8r+3O6Gvw59D+kBF/UMXyhliYUtPjmvXGY6Dk3x+kEOW+GtdMVC4EZTqoS/jmR0P0LS75DOc/w2vnri97M4SdbZ8qeU7gg8DVbERkU5geaMQO3mYrSYyAngeUQqrN0C0/vsFmcgWNXNeidsTAj7/4MncJR0caaBUpbLK1yBCBNRjEv6KvuVSdpPnEMJdsRRtqJ+U8tN1gXA4ePHc6ZT0eviI73UOJF0fEZ8YaneAQqQdGphNvwM4nIqPnXxV0xA0fnCT+oAhJuyw/q8jO0y8CjSteZExwBpIN6SvNp6A5G/abi6egeND/1GTguhuNjaUbbnSbGd4L8937Ezm34Eyi6n1maeOBxh3PI0jzJDf5mh/BsLD7F2GOKvlA/5gtvxI3/eV4sLfKW5Wy+oio+es/u6T8UU+nsofy57Icb/JlZHPFtCgd/x+bwt3ZT+xXTtTtTrGAb4QehC6X9G+8YT+ozcLxDsdCjsuOqwPFnrdLYaFc92Ui0m4fr39lYmlCaqTit7G6O/3kWDkgtXjNH4BiEm/+jegQnihOtfffn33WxsFjhfMd48HT+f6o6X65j7XR8WLSHMFkxbvOYsrRsF1bowDuSQ18Mkxk4qz2zoGPL5fu9h2Hqmt1asl3Q3Yu3szOc+spiCmX4AETBM3pLoTYSp3sVxahyhL8eC4mPN9k2x3o0xkiixIzM3CZFzf5oR4mecQ5+ax2wCah3/crmnHoqR0+KMaOPxRif1oEFRFOO/kTPPmtww+NfMXxEK6gn6iU32U6fFruIz8Q4WgljtnaCVTBgWx7diUdshC9ZEa5yKpRBBeW12r/iNc/+EgNqmhswNB8SBoihHXeDF7rrWDLcmt3V8GYYN7pXRy4DZjj4DJuUBL5iC3DQAaoo4vkftqVTYRGLS3mHZ7gdmdTTqbgNN/PTdTCOTgXolc88MhXAEUMdX0iy1JMuk5wLsgeu0QUYlz2S4skTWwJz6pOm/8ihrmgGfFgri+ZWUK2gAPHgbWa8jaocdSuM4FJYoKicYX/ZSENkg9Q1ZzJfwScfVnR2DegOGwCvmogaWJCLQepv9WNlU6QgsmOwICquU28Mlk3d9W5E81lU/5Ez0LcX6lwKMWDNluNKfBDUy/phJgBcMnfkh9iRxrdOzgs08JdPB85Lwo+GUSb4t3nC+0byqMZtO2fQJ4U2zGIr49t/28qmmGv2RanDD7a3FEcdtutkW8twwwlUSpb8QalodddbBfNHKDQ828BdE7OBgFdiKYohLawFYqpybQoxATZrheLhdI7+0Zlu9Q1myRcd15r9UIm8K2LGJxqTegntqNVMKnf1a8zQiyUR1rxoqjiFxeHxqFcYUTHfDu7rhbWng6qOxOsI+5A1p9mRyEPdVkTlE24vY54W7bWc6jMgZvNXdfC9/9q7408KDsbdL7Utz7QFSDetz2picArzrdpL8OaCHC9V26RroemtDZ5yNM/KGkWMyTmfnInEvwtSD23UcFcjhaE3VKzkoaEMKGBft4XbIO6forTY1lmGQwVmKicBCiArDzE+1oIxE08fWeviIOD5TznqH+OoHadvoOP20drMPe5Irg3XBQziW2XDuHYzjqQQ4wySssjXUs5H+t3FWYMHppUnBHMx/nYIT5d7OmjDbgD9F6na3m4l7KdkeSO3kTEPXafiWinogag7b52taiZhL1TSvBFmEZafFq2H8khQaZXuitCewT5FBgVtPK0j4xUHPfUz3Q28eac1Z139DAP23dgki94EC8vbDPTQC97HPPSWjUNG5tWKMsaxAEMKC0665Xvo1Ntd07wCLNf8Q56mrEPVpCxlIMVlQlWRxM3oAfpgIc+8KC3rEXUog5g06vt7zgXY8grH7hhwVSaeuvC06YYRAwpbyk/Unzj9hLEZNs2oxPQB9yc+GnL6zTgq7rI++KDJwX2SP8Sd6YzTuw5lV/kU6eQxRD12omfQAW6caTR4LikYkBB1CMOrvgRr/VY75+NSB40Cni6bADAtaK+vyxVWpf9NeKJxN2KYQ8Q2xPB3K1s7fuhvWbr2XpgW044VD6DRs0qXoqKf1NFsaGvKJc47leUV3pppP/5VTKFhaGuol4Esfjf5zyCyUHmHthChcYh4hYLQF+AFWsuq4t0wJyWgdwQVOZiV0efRHPoK5+E1vjz9wTJmVkITC9oEstAsyZSgE/dbicwKr89YUxKZI+owD205Tm5lnnmDRuP/JnzxX3gMtlrcX0UesZdxyQqYQuEW4R51vmQ5xOZteUd8SJruMlTUzhtVw/Nq7eUBcqN2/HVotgfngif60yKEtoUx3WYOZlVJuJOh8u59fzSDPFYtQgqDUAGyGhQOAvKroXMcOYY0qjnStJR/G3aP+Jt1sLVlGV8POwr/6OGsqetnyF3TmTqZjENfnXh51oxe9qVUw2M78EzAJ+IM8lZ1MBPQ9ZWSVc4J3mWSrLKrMHReA5qdGoz0ODRsaA+vwxXA2cAM4qlfzBJA6581m4hzxItQw5dxrrBL3Y6kCbUcFxo1S8jyV44q//+7ASNNudZ6xeaNOSIUffqMn4A9lIjFctYn2gpEPAb3f7p3iIBN8H14FUGQ9ct2hPsL+cEsTgUrR47uJVN4n4wt/wgfwwHuOnLd4yobkofy8JvxSQTA7rMpDIc608SlZFJfZYcmbT0tAHpPE8MrtQ42siTUNWxqvWZOmvu9f0JPoQmg+6l7sZWwyfi6PXkxJnwBraUG0MYG4zYHQz3igy/XsFkx5tNQxw43qvI9dU3f0DdhOUlHKjmi1VAr2Kiy0HZwD8VeEbhh0OiDdMYspolQsYdSwjCcjeowIXNZVUPmL2wwIkYhmXKhGozdCJ4lRKbsf4NBh/XnQoS92NJEWOVOFs2YhN8c5QZFeK0pRdAG40hqvLbmoSA8xQmzOOEc7wLcme9JOsjPCEgpCwUs9E2DohMHRhUeyGIN6TFvrbny8nDuilsDpzrH5mS76APoIEJmItS67sQJ+nfwddzmjPxcBEBBCw0kWDwd0EZCkNeOD7NNQhtBm7KHL9mRxj6U1yWU2puzlIDtpYxdH4ZPeXBJkTGAJfUr/oTCz/iypY6uXaR2V1doPxJYlrw2ghH0D5gbrhFcIxzYwi4a/4hqVdf2DdxBp6vGYDjavxMAAoy+1+3aiO6S3W/QAKNVXagDtvsNtx7Ks+HKgo6U21B+QSZgIogV5Bt+BnXisdVfy9VyXV+2P5fMuvdpAjM1o/K9Z+XnE4EOCrue+kcdYHqAQ0/Y/OmNlQ6OI33jH/uD1RalPaHpJAm2av0/xtpqdXVKNDrc9F2izo23Wu7firgbURFDNX9eGGeYBhiypyXZft2j3hTvzE6PMWKsod//rEILDkzBXfi7xh0eFkfb3/1zzPK/PI5Nk3FbZyTl4mq5BfBoVoqiPHO4Q4QKZAlrQ3MdNfi3oxIjvsM3kAFv3fdufurqYR3PSwX/mpGy/GFI/B2MNPiNdOppWVbs/gjF3YH+QA9jMhlAbhvasAHstB0IJew09iAkmXHl1/TEj+jvHOpOGrPRQXbPADM+Ig2/OEcUcpgPTItMtW4DdqgfYVI/+4hAFWYjUGpOP/UwNuB7+BbKOcALbjobdgzeBQfjgNSp2GOpxzGLj70Vvq5cw2AoYENwKLUtJUX8sGRox4dVa/TN4xKwaKcl9XawQR/uNus700Hf17pyNnezrUgaY9e4MADhEDBpsJT6y1gDJs1q6wlwGhuUzGR7C8kgpjPyHWwsvrf3yn1zJEIRa5eSxoLAZOCR9xbuztxFRJW9ZmMYfCFJ0evm9F2fVnuje92Rc4Pl6A8bluN8MZyyJGZ0+sNSb//DvAFxC2BqlEsFwccWeAl6CyBcQV1bx4mQMBP1Jxqk1EUADNLeieS2dUFbQ/c/kvwItbZ7tx0st16viqd53WsRmPTKv2AD8CUnhtPWg5aUegNpsYgasaw2+EVooeNKmrW3MFtj76bYHJm5K9gpAXZXsE5U8DM8XmVOSJ1F1WnLy6nQup+jx52bAb+rCq6y9WXl2B2oZDhfDkW7H3oYfT/4xx5VncBuxMXP2lNfhUVQjSSzSRbuZFE4vFawlzveXxaYKVs8LpvAb8IRYF3ZHiRnm0ADeNPWocwxSzNseG7NrSEVZoHdKWqaGEBz1N8Pt7kFbqh3LYmAbm9i1IChIpLpM5AS6mr6OAPHMwwznVy61YpBYX8xZDN/a+lt7n+x5j4bNOVteZ8lj3hpAHSx1VR8vZHec4AHO9XFCdjZ9eRkSV65ljMmZVzaej2qFn/qt1lvWzNZEfHxK3qOJrHL6crr0CRzMox5f2e8ALBB4UGFZKA3tN6F6IXd32GTJXGQ7DTi9j/dNcLF9jCbDcWGKxoKTYblIwbLDReL00LRcDPMcQuXLMh5YzgtfjkFK1DP1iDzzYYVZz5M/kWYRlRpig1htVRjVCknm+h1M5LiEDXOyHREhvzCGpFZjHS0RsK27o2avgdilrJkalWqPW3D9gmwV37HKmfM3F8YZj2ar+vHFvf3B8CRoH4kDHIK9mrAg+owiEwNjjd9V+FsQKYR8czJrUkf7Qoi2YaW6EVDZp5zYlqiYtuXOTHk4fAcZ7qBbdLDiJq0WNV1l2+Hntk1mMWvxrYmc8kIx8G3rW36J6Ra4lLrTOCgiOihmow+YnzUT19jbV2B3RWqSHyxkhmgsBqMYWvOcUom1jDQ436+fcbu3xf2bbeqU/ca+C4DOKE+e3qvmeMqW3AxejfzBRFVcwVYPq4L0APSWWoJu+5UYX4qg5U6YTioqQGPG9XrnuZ/BkxuYpe6Li87+18EskyQW/uA+uk2rpHpr6hut2TlVbKgWkFpx+AZffweiw2+VittkEyf/ifinS/0ItRL2Jq3tQOcxPaWO2xrG68GdFoUpZgFXaP2wYVtRc6xYCfI1CaBqyWpg4bx8OHBQwsV4XWMibZZ0LYjWEy2IxQ1mZrf1/UNbYCJplWu3nZ4WpodIGVA05d+RWSS+ET9tH3RfGGmNI1cIY7evZZq7o+a0bjjygpmR3mVfalkT/SZGT27Q8QGalwGlDOS9VHCyFAIL0a1Q7JiW3saz9gqY8lqKynFrPCzxkU4SIfLc9VfCI5edgRhDXs0edO992nhTKHriREP1NJC6SROMgQ0xO5kNNZOhMOIT99AUElbxqeZF8A3xrfDJsWtDnUenAHdYWSwAbYjFqQZ+D5gi3hNK8CSxU9i6f6ClL9IGlj1OPMQAsr84YG6ijsJpCaGWj75c3yOZKBB9mNpQNPUKkK0D6wgLH8MGoyRxTX6Y05Q4AnYNXMZwXM4eij/9WpsM/9CoRnFQXGR6MEaY+FXvXEO3RO0JaStk6OXuHVATHJE+1W+TU3bSZ2ksMtqjO0zfSJCdBv7y2d8DMx6TfVme3q0ZpTKMMu4YL/t7ciTNtdDkwPogh3Cnjx7qk08SHwf+dksZ7M2vCOlfsF0hQ6J4ehPCaHTNrM/zBSOqD83dBEBCW/F/LEmeh0nOHd7oVl3/Qo/9GUDkkbj7yz+9cvvu+dDAtx8NzCDTP4iKdZvk9MWiizvtILLepysflSvTLFBZ37RLwiriqyRxYv/zrgFd/9XVHh/OmzBvDX4mitMR/lUavs2Vx6cR94lzAkplm3IRNy4TFfu47tuYs9EQPIPVta4P64tV+sZ7n3ued3cgEx2YK+QL5+xms6osk8qQbTyuKVGdaX9FQqk6qfDnT5ykxk0VK7KZ62b6DNDUfQlqGHxSMKv1P0XN5BqMeKG1P4Wp5QfZDUCEldppoX0U6ss2jIko2XpURKCIhfaOqLPfShdtS37ZrT+jFRSH2xYVV1rmT/MBtRQhxiO4MQ3iAGlaZi+9PWBEIXOVnu9jN1f921lWLZky9bqbM3J2MAAI9jmuAx3gyoEUa6P2ivs0EeNv/OR+AX6q5SW6l5HaoFuS6jr6yg9limu+P0KYKzfMXWcQSfTXzpOzKEKpwI3YGXZpSSy2LTlMgfmFA3CF6R5c9xWEtRuCg2ZPUQ2Nb6dRFTNd4TfGHrnEWSKHPuRyiJSDAZ+KX0VxmSHjGPbQTLVpqixia2uyhQ394gBMt7C3ZAmxn/DJS+l1fBsAo2Eir/C0jG9csd4+/tp12pPc/BVJGaK9mfvr7M/CeztrmCO5qY06Edi4xAGtiEhnWAbzLy2VEyazE1J5nPmgU4RpW4Sa0TnOT6w5lgt3/tMpROigHHmexBGAMY0mdcDbDxWIz41NgdD6oxgHsJRgr5RnT6wZAkTOcStU4NMOQNemSO7gxGahdEsC+NRVGxMUhQmmM0llWRbbmFGHzEqLM4Iw0H7577Kyo+Zf+2cUFIOw93gEY171vQaM0HLwpjpdRR6Jz7V0ckE7XzYJ0TmY9znLdzkva0vNrAGGT5SUZ5uaHDkcGvI0ySpwkasEgZPMseYcu85w8HPdSNi+4T6A83iAwDbxgeFcB1ZM2iGXzFcEOUlYVrEckaOyodfvaYSQ7GuB4ISE0nYJc15X/1ciDTPbPCgYJK55VkEor4LvzL9S2WDy4xj+6FOqVyTAC2ZNowheeeSI5hA/02l8UYkv4nk9iaVn+kCVEUstgk5Hyq+gJm6R9vG3rhuM904he/hFmNQaUIATB1y3vw+OmxP4X5Yi6A5I5jJufHCjF9+AGNwnEllZjUco6XhsO5T5+R3yxz5yLVOnAn0zuS+6zdj0nTJbEZCbXJdtpfYZfCeCOqJHoE2vPPFS6eRLjIJlG69X93nfR0mxSFXzp1Zc0lt/VafDaImhUMtbnqWVb9M4nGNQLN68BHP7AR8Il9dkcxzmBv8PCZlw9guY0lurbBsmNYlwJZsA/B15/HfkbjbwPddaVecls/elmDHNW2r4crAx43feNkfRwsaNq/yyJ0d/p5hZ6AZajz7DBfUok0ZU62gCzz7x8eVfJTKA8IWn45vINLSM1q+HF9CV9qF3zP6Ml21kPPL3CXzkuYUlnSqT+Ij4tI/od5KwIs+tDajDs64owN7tOAd6eucGz+KfO26iNcBFpbWA5732bBNWO4kHNpr9D955L61bvHCF/mwSrz6eQaDjfDEANqGMkFc+NGxpKZzCD2sj/JrHd+zlPQ8Iz7Q+2JVIiVCuCKoK/hlAEHzvk/Piq3mRL1rT/fEh9hoT5GJmeYswg1otiKydizJ/fS2SeKHVu6Z3JEHjiW8NaTQgP5xdBli8nC57XiN9hrquBu99hn9zqwo92+PM2JXtpeVZS0PdqR5mDyDreMMtEws+CpwaRyyzoYtfcvt9PJIW0fJVNNi/FFyRsea7peLvJrL+5b4GOXJ8tAr+ATk9f8KmiIsRhqRy0vFzwRV3Z5dZ3QqIU8JQ/uQpkJbjMUMFj2F9sCFeaBjI4+fL/oN3+LQgjI4zuAfQ+3IPIPFQBccf0clJpsfpnBxD84atwtupkGqKvrH7cGNl/QcWcSi6wcVDML6ljOgYbo+2BOAWNNjlUBPiyitUAwbnhFvLbnqw42kR3Yp2kv2dMeDdcGOX5kT4S6M44KHEB/SpCfl7xgsUvs+JNY9G3O2X/6FEt9FyAn57lrbiu+tl83sCymSvq9eZbe9mchL7MTf/Ta78e80zSf0hYY5eUU7+ff14jv7Xy8qjzfzzzvaJnrIdvFb5BLWKcWGy5/w7+vV2cvIfwHqdTB+RuJK5oj9mbt0Hy94AmjMjjwYNZlNS6uiyxNnwNyt3gdreLb64p/3+08nXkb92LTkkRgFOwk1oGEVllcOj5lv1hfAZywDows0944U8vUFw+A/nuVq/UCygsrmWIBnHyU01d0XJPwriEOvx/ISK6Pk4y2w0gmojZs7lU8TtakBAdne4v/aNxmMpK4VcGMp7si0yqsiolXRuOi1Z1P7SqD3Zmp0CWcyK4Ubmp2SXiXuI5nGLCieFHKHNRIlcY3Pys2dwMTYCaqlyWSITwr2oGXvyU3h1Pf8eQ3w1bnD7ilocVjYDkcXR3Oo1BXgMLTUjNw2xMVwjtp99NhSVc5aIWrDQT5DHPKtCtheBP4zHcw4dz2eRdTMamhlHhtfgqJJHI7NGDUw1XL8vsSeSHyKqDtqoAmrQqsYwvwi7HW3ojWyhIa5oz5xJTaq14NAzFLjVLR12rRNUQ6xohDnrWFb5bG9yf8aCD8d5phoackcNJp+Dw3Due3RM+5Rid7EuIgsnwgpX0rUWh/nqPtByMhMZZ69NpgvRTKZ62ViZ+Q7Dp5r4K0d7EfJuiy06KuIYauRh5Ecrhdt2QpTS1k1AscEHvapNbU3HL1F2TFyR33Wxb5MvH5iZsrn3SDcsxlnnshO8PLwmdGN+paWnQuORtZGX37uhFT64SeuPsx8UOokY6ON85WdQ1dki5zErsJGazcBOddWJEKqNPiJpsMD1GrVLrVY+AOdPWQneTyyP1hRX/lMM4ZogGGOhYuAdr7F/DOiAoc++cn5vlf0zkMUJ40Z1rlgv9BelPqVOpxKeOpzKdF8maK+1Vv23MO9k/8+qpLoxrIGH2EDQlnGmH8CD31G8QqlyQIcpmR5bwmSVw9/Ns6IHgulCRehvZ/+VrM60Cu/r3AontFfrljew74skYe2uyn7JKQtFQBQRJ9ryGic/zQOsbS4scUBctA8cPToQ3x6ZBQu6DPu5m1bnCtP8TllLYA0UTQNVqza5nfew3Mopy1GPUwG5jsl0OVXniPmAcmLqO5HG8Hv3nSLecE9oOjPDXcsTxoCBxYyzBdj4wmnyEV4kvFDunipS8SSkvdaMnTBN9brHUR8xdmmEAp/Pdqk9uextp1t+JrtXwpN/MG2w/qhRMpSNxQ1uhg/kKO30eQ/FyHUDkWHT8V6gGRU4DhDMxZu7xXij9Ui6jlpWmQCqJg3FkOTq3WKneCRYZxBXMNAVLQgHXSCGSqNdjebY94oyIpVjMYehAiFx/tqzBXFHZaL5PeeD74rW5OysFoUXY8sebUZleFTUa/+zBKVTFDopTReXNuZq47QjkWnxjirCommO4L/GrFtVV21EpMyw8wyThL5Y59d88xtlx1g1ttSICDwnof6lt/6zliPzgVUL8jWBjC0o2D6Kg+jNuThkAlaDJsq/AG2aKA//A76avw2KNqtv223P+Wq3StRDDNKFFgtsFukYt1GFDWooFVXitaNhb3RCyJi4cMeNjROiPEDb4k+G3+hD8tsg+5hhmSc/8t2JTSwYoCzAI75doq8QTHe+E/Tw0RQSUDlU+6uBeNN3h6jJGX/mH8oj0i3caCNsjvTnoh73BtyZpsflHLq6AfwJNCDX4S98h4+pCOhGKDhV3rtkKHMa3EG4J9y8zFWI4UsfNzC/Rl5midNn7gwoN9j23HGCQQ+OAZpTTPMdiVow740gIyuEtd0qVxMyNXhHcnuXRKdw5wDUSL358ktjMXmAkvIB73BLa1vfF9BAUZInPYJiwxqFWQQBVk7gQH4ojfUQ/KEjn+A/WR6EEe4CtbpoLe1mzHkajgTIoE0SLDHVauKhrq12zrAXBGbPPWKCt4DGedq3JyGRbmPFW32bE7T20+73BatV/qQhhBWfWBFHfhYWXjALts38FemnoT+9bn1jDBMcUMmYgSc0e7GQjv2MUBwLU8ionCpgV+Qrhg7iUIfUY6JFxR0Y+ZTCPM+rVuq0GNLyJXX6nrUTt8HzFBRY1E/FIm2EeVA9NcXrj7S6YYIChVQCWr/m2fYUjC4j0XLkzZ8GCSLfmkW3PB/xq+nlXsKVBOj7vTvqKCOMq7Ztqr3cQ+N8gBnPaAps+oGwWOkbuxnRYj/x/WjiDclVrs22xMK4qArE1Ztk1456kiJriw6abkNeRHogaPRBgbgF9Z8i/tbzWELN4CvbqtrqV9TtGSnmPS2F9kqOIBaazHYaJ9bi3AoDBvlZasMluxt0BDXfhp02Jn411aVt6S4TUB8ZgFDkI6TP6gwPY85w+oUQSsjIeXVminrwIdK2ZAawb8Se6XOJbOaliQxHSrnAeONDLuCnFejIbp4YDtBcQCwMsYiRZfHefuEJqJcwKTTJ8sx5hjHmJI1sPFHOr6W9AhZ2NAod38mnLQk1gOz2LCAohoQbgMbUK9RMEA3LkiF7Sr9tLZp6lkciIGhE2V546w3Mam53VtVkGbB9w0Yk2XiRnCmbpxmHr2k4eSC0RuNbjNsUfDIfc8DZvRvgUDe1IlKdZTzcT4ZGEb53dp8VtsoZlyXzLHOdAbsp1LPTVaHvLA0GYDFMbAW/WUBfUAdHwqLFAV+3uHvYWrCfhUOR2i89qvCBoOb48usAGdcF2M4aKn79k/43WzBZ+xR1L0uZfia70XP9soQReeuhZiUnXFDG1T8/OXNmssTSnYO+3kVLAgeiY719uDwL9FQycgLPessNihMZbAKG7qwPZyG11G1+ZA3jAX2yddpYfmaKBlmfcK/V0mwIRUDC0nJSOPUl2KB8h13F4dlVZiRhdGY5farwN+f9hEb1cRi41ZcGDn6Xe9MMSTOY81ULJyXIHSWFIQHstVYLiJEiUjktlHiGjntN5/btB8Fu+vp28zl2fZXN+dJDyN6EXhS+0yzqpl/LSJNEUVxmu7BsNdjAY0jVsAhkNuuY0E1G48ej25mSt+00yPbQ4SRCVkIwb6ISvYtmJRPz9Zt5dk76blf+lJwAPH5KDF+vHAmACLoCdG2Adii6dOHnNJnTmZtoOGO8Q1jy1veMw6gbLFToQmfJa7nT7Al89mRbRkZZQxJTKgK5Kc9INzmTJFp0tpAPzNmyL/F08bX3nhCumM/cR/2RPn9emZ3VljokttZD1zVWXlUIqEU7SLk5I0lFRU0AcENXBYazNaVzsVHA/sD3o9hm42wbHIRb/BBQTKzAi8s3+bMtpOOZgLdQzCYPfX3UUxKd1WYVkGH7lh/RBBgMZZwXzU9+GYxdBqlGs0LP+DZ5g2BWNh6FAcR944B+K/JTWI3t9YyVyRhlP4CCoUk/mmF7+r2pilVBjxXBHFaBfBtr9hbVn2zDuI0kEOG3kBx8CGdPOjX1ph1POOZJUO1JEGG0jzUy2tK4X0CgVNYhmkqqQysRNtKuPdCJqK3WW57kaV17vXgiyPrl4KEEWgiGF1euI4QkSFHFf0TDroQiLNKJiLbdhH0YBhriRNCHPxSqJmNNoketaioohqMglh6wLtEGWSM1EZbQg72h0UJAIPVFCAJOThpQGGdKfFovcwEeiBuZHN2Ob4uVM7+gwZLz1D9E7ta4RmMZ24OBBAg7Eh6dLXGofZ4U2TFOCQMKjwhVckjrydRS+YaqCw1kYt6UexuzbNEDyYLTZnrY1PzsHZJT4U+awO2xlqTSYu6n/U29O2wPXgGOEKDMSq+zTUtyc8+6iLp0ivav4FKx+xxVy4FxhIF/pucVDqpsVe2jFOfdZhTzLz2QjtzvsTCvDPU7bzDH2eXVKUV9TZ+qFtaSSxnYgYdXKwVreIgvWhT9eGDB2OvnWyPLfIIIfNnfIxU8nW7MbcH05nhlsYtaW9EZRsxWcKdEqInq1DiZPKCz7iGmAU9/ccnnQud2pNgIGFYOTAWjhIrd63aPDgfj8/sdlD4l+UTlcxTI9jbaMqqN0gQxSHs60IAcW3cH4p3V1aSciTKB29L1tz2eUQhRiTgTvmqc+sGtBNh4ky0mQJGsdycBREP+fAaSs1EREDVo5gvgi5+aCN7NECw30owbCc1mSpjiahyNVwJd1jiGgzSwfTpzf2c5XJvG/g1n0fH88KHNnf+u7ZiRMlXueSIsloJBUtW9ezvsx9grfsX/FNxnbxU1Lvg0hLxixypHKGFAaPu0xCD8oDTeFSyfRT6s8109GMUZL8m2xXp8X2dpPCWWdX84iga4BrTlOfqox4shqEgh/Ht4qRst52cA1xOIUuOxgfUivp6v5f8IVyaryEdpVk72ERAwdT4aoY1usBgmP+0m06Q216H/nubtNYxHaOIYjcach3A8Ez/zc0KcShhel0HCYjFsA0FjYqyJ5ZUH1aZw3+zWC0hLpM6GDfcAdn9fq2orPmZbW6XXrf+Krc9RtvII5jeD3dFoT1KwZJwxfUMvc5KLfn8rROW23Jw89sJ2a5dpB3qWDUBWF2iX8OCuKprHosJ2mflBR+Wqs86VvgI/XMnsqb97+VlKdPVysczPj8Jhzf+WCvGBHijAqYlavbF60soMWlHbvKT+ScvhprgeTln51xX0sF+Eadc/l2s2a5BgkVbHYyz0E85p0LstqH+gEGiR84nBRRFIn8hLSZrGwqjZ3E29cuGi+5Z5bp7EM8MWFa9ssS/vy4VrDfECSv7DSU84DaP0sXI3Ap4lWznQ65nQoTKRWU30gd7Nn8ZowUvGIx4aqyXGwmA/PB4qN8msJUODezUHEl0VP9uo+cZ8vPFodSIB4C7lQYjEFj8yu49C2KIV3qxMFYTevG8KqAr0TPlkbzHHnTpDpvpzziAiNFh8xiT7C/TiyH0EguUw4vxAgpnE27WIypV+uFN2zW7xniF/n75trs9IJ5amB1zXXZ1LFkJ6GbS/dFokzl4cc2mamVwhL4XU0Av5gDWAl+aEWhAP7t2VIwU+EpvfOPDcLASX7H7lZpXA2XQfbSlD4qU18NffNPoAKMNSccBfO9YVVgmlW4RydBqfHAV7+hrZ84WJGho6bNT0YMhxxLdOx/dwGj0oyak9aAkNJ8lRJzUuA8sR+fPyiyTgUHio5+Pp+YaKlHrhR41jY5NESPS3x+zTMe0S2HnLOKCOQPpdxKyviBvdHrCDRqO+l96HhhNBLXWv4yEMuEUYo8kXnYJM8oIgVM4XJ+xXOev4YbWeqsvgq0lmw4/PiYr9sYLt+W5EAuYSFnJEan8CwJwbtASBfLBBpJZiRPor/aCJBZsM+MhvS7ZepyHvU8m5WSmaZnxuLts8ojl6KkS8oSAHkq5GWlCB/NgJ5W3rO2Cj1MK7ahxsCrbTT3a0V/QQH+sErxV4XUWDHx0kkFy25bPmBMBQ6BU3HoHhhYcJB9JhP6NXUWKxnE0raXHB6U9KHpWdQCQI72qevp5fMzcm+AvC85rsynVQhruDA9fp9COe7N56cg1UKGSas89vrN+WlGLYTwi5W+0xYdKEGtGCeNJwXKDU0XqU5uQYnWsMwTENLGtbQMvoGjIFIEMzCRal4rnBAg7D/CSn8MsCvS+FDJJAzoiioJEhZJgAp9n2+1Yznr7H+6eT4YkJ9Mpj60ImcW4i4iHDLn9RydB8dx3QYm3rsX6n4VRrZDsYK6DCGwkwd5n3/INFEpk16fYpP6JtMQpqEMzcOfQGAHXBTEGzuLJ03GYQL9bmV2/7ExDlRf+Uvf1sM2frRtCWmal12pMgtonvSCtR4n1CLUZRdTHDHP1Otwqd+rcdlavnKjUB/OYXQHUJzpNyFoKpQK+2OgrEKpGyIgIBgn2y9QHnTJihZOpEvOKIoHAMGAXHmj21Lym39Mbiow4IF+77xNuewziNVBxr6KD5e+9HzZSBIlUa/AmsDFJFXeyrQakR3FwowTGcADJHcEfhGkXYNGSYo4dh4bxwLM+28xjiqkdn0/3R4UEkvcBrBfn/SzBc1XhKM2VPlJgKSorjDac96V2UnQYXl1/yZPT4DVelgO+soMjexXwYO58VLl5xInQUZI8jc3H2CPnCNb9X05nOxIy4MlecasTqGK6s2az4RjpF2cQP2G28R+7wDPsZDZC/kWtjdoHC7SpdPmqQrUAhMwKVuxCmYTiD9q/O7GHtZvPSN0CAUQN/rymXZNniYLlJDE70bsk6Xxsh4kDOdxe7A2wo7P9F5YvqqRDI6brf79yPCSp4I0jVoO4YnLYtX5nzspR5WB4AKOYtR1ujXbOQpPyYDvfRE3FN5zw0i7reehdi7yV0YDRKRllGCGRk5Yz+Uv1fYl2ZwrnGsqsjgAVo0xEUba8ohjaNMJNwTwZA/wBDWFSCpg1eUH8MYL2zdioxRTqgGQrDZxQyNzyBJPXZF0+oxITJAbj7oNC5JwgDMUJaM5GqlGCWc//KCIrI+aclEe4IA0uzv7cuj6GCdaJONpi13O544vbtIHBF+A+JeDFUQNy61Gki3rtyQ4aUywn6ru314/dkGiP8Iwjo0J/2Txs49ZkwEl4mx+iYUUO55I6pJzU4P+7RRs+DXZkyKUYZqVWrPF4I94m4Wx1tXeE74o9GuX977yvJ/jkdak8+AmoHVjI15V+WwBdARFV2IPirJgVMdsg1Pez2VNHqa7EHWdTkl3XTcyjG9BiueWFvQfXI8aWSkuuRmqi/HUuzqyvLJfNfs0txMqldYYflWB1BS31WkuPJGGwXUCpjiQSktkuBMWwHjSkQxeehqw1Kgz0Trzm7QbtgxiEPDVmWCNCAeCfROTphd1ZNOhzLy6XfJyG6Xgd5MCAZw4xie0Sj5AnY1/akDgNS9YFl3Y06vd6FAsg2gVQJtzG7LVq1OH2frbXNHWH/NY89NNZ4QUSJqL2yEcGADbT38X0bGdukqYlSoliKOcsSTuqhcaemUeYLLoI8+MZor2RxXTRThF1LrHfqf/5LcLAjdl4EERgUysYS2geE+yFdasU91UgUDsc2cSQ1ZoT9+uLOwdgAmifwQqF028INc2IQEDfTmUw3eZxvz7Ud1z3xc1PQfeCvfKsB9jOhRj7rFyb9XcDWLcYj0bByosychMezMLVkFiYcdBBQtvI6K0KRuOZQH2kBsYHJaXTkup8F0eIhO1/GcIwWKpr2mouB7g5TUDJNvORXPXa/mU8bh27TAZYBe2sKx4NSv5OjnHIWD2RuysCzBlUfeNXhDd2jxnHoUlheJ3jBApzURy0fwm2FwwsSU0caQGl0Kv8hopRQE211NnvtLRsmCNrhhpEDoNiZEzD2QdJWKbRRWnaFedXHAELSN0t0bfsCsMf0ktfBoXBoNA+nZN9+pSlmuzspFevmsqqcMllzzvkyXrzoA+Ryo1ePXpdGOoJvhyru+EBRsmOp7MXZ0vNUMUqHLUoKglg1p73sWeZmPc+KAw0pE2zIsFFE5H4192KwDvDxdxEYoDBDNZjbg2bmADTeUKK57IPD4fTYF4c6EnXx/teYMORBDtIhPJneiZny7Nv/zG+YmekIKCoxr6kauE2bZtBLufetNG0BtBY7f+/ImUypMBvdWu/Q7vTMRzw5aQGZWuc1V0HEsItFYMIBnoKGZ0xcarba/TYZq50kCaflFysYjA4EDKHqGdpYWdKYmm+a7TADmW35yfnOYpZYrkpVEtiqF0EujI00aeplNs2k+qyFZNeE3CDPL9P6b4PQ/kataHkVpLSEVGK7EX6rAa7IVNrvZtFvOA6okKvBgMtFDAGZOx88MeBcJ8AR3AgUUeIznAN6tjCUipGDZONm1FjWJp4A3QIzSaIOmZ7DvF/ysYYbM/fFDOV0jntAjRdapxJxL0eThpEhKOjCDDq2ks+3GrwxqIFKLe1WdOzII8XIOPGnwy6LKXVfpSDOTEfaRsGujhpS4hBIsMOqHbl16PJxc4EkaVu9wpEYlF/84NSv5Zum4drMfp9yXbzzAOJqqS4YkI4cBrFrC7bMPiCfgI3nNZAqkk3QOZqR+yyqx+nDQKBBBZ7QKrfGMCL+XpqFaBJU0wpkBdAhbR4hJsmT5aynlvkouoxm/NjD5oe6BzVIO9uktM+/5dEC5P7vZvarmuO/lKXz4sBabVPIATuKTrwbJP8XUkdM6uEctHKXICUJGjaZIWRbZp8czquQYfY6ynBUCfIU+gG6wqSIBmYIm9pZpXdaL121V7q0VjDjmQnXvMe7ysoEZnZL15B0SpxS1jjd83uNIOKZwu5MPzg2NhOx3xMOPYwEn2CUzbSrwAs5OAtrz3GAaUkJOU74XwjaYUmGJdZBS1NJVkGYrToINLKDjxcuIlyfVsKQSG/G4DyiO2SlQvJ0d0Ot1uOG5IFSAkq+PRVMgVMDvOIJMdqjeCFKUGRWBW9wigYvcbU7CQL/7meF2KZAaWl+4y9uhowAX7elogAvItAAxo2+SFxGRsHGEW9BnhlTuWigYxRcnVUBRQHV41LV+Fr5CJYV7sHfeywswx4XMtUx6EkBhR+q8AXXUA8uPJ73Pb49i9KG9fOljvXeyFj9ixgbo6CcbAJ7WHWqKHy/h+YjBwp6VcN7M89FGzQ04qbrQtgrOFybg3gQRTYG5xn73ArkfQWjCJROwy3J38Dx/D7jOa6BBNsitEw1wGq780EEioOeD+ZGp2J66ADiVGMayiHYucMk8nTK2zzT9CnEraAk95kQjy4k0GRElLL5YAKLQErJ5rp1eay9O4Fb6yJGm9U4FaMwPGxtKD6odIIHKoWnhKo1U8KIpFC+MVn59ZXmc7ZTBZfsg6FQ8W10YfTr4u0nYrpHZbZ1jXiLmooF0cOm0+mPnJBXQtepc7n0BqOipNCqI6yyloTeRShNKH04FIo0gcMk0H/xThyN4pPAWjDDkEp3lNNPRNVfpMI44CWRlRgViP64eK0JSRp0WUvCWYumlW/c58Vcz/yMwVcW5oYb9+26TEhwvbxiNg48hl1VI1UXTU//Eta+BMKnGUivctfL5wINDD0giQL1ipt6U7C9cd4+lgqY2lMUZ02Uv6Prs+ZEZer7ZfWBXVghlfOOrClwsoOFKzWEfz6RZu1eCs+K8fLvkts5+BX0gyrFYve0C3qHrn5U/Oh6D/CihmWIrY7HUZRhJaxde+tldu6adYJ+LeXupQw0XExC36RETdNFxcq9glMu4cNQSX9cqR/GQYp+IxUkIcNGWVU7ZtGa6P3XAyodRt0XeS3Tp01AnCh0ZbUh4VrSZeV9RWfSoWyxnY3hzcZ30G/InDq4wxRrEejreBxnhIQbkxenxkaxl+k7eLUQkUR6vKJ2iDFNGX3WmVA1yaOH+mvhBd+sE6vacQzFobwY5BqEAFmejwW5ne7HtVNolOUgJc8CsUxmc/LBi8N5mu9VsIA5HyErnS6zeCz7VLI9+n/hbT6hTokMXTVyXJRKSG2hd2labXTbtmK4fNH3IZBPreSA4FMeVouVN3zG5x9CiGpLw/3pceo4qGqp+rVp+z+7yQ98oEf+nyH4F3+J9IheDBa94Wi63zJbLBCIZm7P0asHGpIJt3PzE3m0S4YIWyXBCVXGikj8MudDPB/6Nm2v4IxJ5gU0ii0guy5SUHqGUYzTP0jIJU5E82RHUXtX4lDdrihBLdP1YaG1AGUC12rQKuIaGvCpMjZC9bWSCYnjDlvpWbkdXMTNeBHLKiuoozMGIvkczmP0aRJSJ8PYnLCVNhKHXBNckH79e8Z8Kc2wUej4sQZoH8qDRGkg86maW/ZQWGNnLcXmq3FlXM6ssR/3P6E/bHMvm6HLrv1yRixit25JsH3/IOr2UV4BWJhxXW5BJ6Xdr07n9kF3ZNAk6/Xpc5MSFmYJ2R7bdL8Kk7q1OU9Elg/tCxJ8giT27wSTySF0GOxg4PbYJdi/Nyia9Nn89CGDulfJemm1aiEr/eleGSN+5MRrVJ4K6lgyTTIW3i9cQ0dAi6FHt0YMbH3wDSAtGLSAccezzxHitt1QdhW36CQgPcA8vIIBh3/JNjf/Obmc2yzpk8edSlS4lVdwgW5vzbYEyFoF4GCBBby1keVNueHAH+evi+H7oOVfS3XuPQSNTXOONAbzJeSb5stwdQHl1ZjrGoE49I8+A9j3t+ahhQj74FCSWpZrj7wRSFJJnnwi1T9HL5qrCFW/JZq6P62XkMWTb+u4lGpKfmmwiJWx178GOG7KbrZGqyWwmuyKWPkNswkZ1q8uptUlviIi+AXh2bOOTOLsrtNkfqbQJeh24reebkINLkjut5r4d9GR/r8CBa9SU0UQhsnZp5cP+RqWCixRm7i4YRFbtZ4EAkhtNa6jHb6gPYQv7MKqkPLRmX3dFsK8XsRLVZ6IEVrCbmNDc8o5mqsogjAQfoC9Bc7R6gfw03m+lQpv6kTfhxscDIX6s0w+fBxtkhjXAXr10UouWCx3C/p/FYwJRS/AXRKkjOb5CLmK4XRe0+xeDDwVkJPZau52bzLEDHCqV0f44pPgKOkYKgTZJ33fmk3Tu8SdxJ02SHM8Fem5SMsWqRyi2F1ynfRJszcFKykdWlNqgDA/L9lKYBmc7Zu/q9ii1FPF47VJkqhirUob53zoiJtVVRVwMR34gV9iqcBaHbRu9kkvqk3yMpfRFG49pKKjIiq7h/VpRwPGTHoY4cg05X5028iHsLvUW/uz+kjPyIEhhcKUwCkJAwbR9pIEGOn8z6svAO8i89sJ3dL5qDWFYbS+HGPRMxYwJItFQN86YESeJQhn2urGiLRffQeLptDl8dAgb+Tp47UQPxWOw17OeChLN1WnzlkPL1T5O+O3Menpn4C3IY5LEepHpnPeZHbvuWfeVtPlkH4LZjPbBrkJT3NoRJzBt86CO0Xq59oQ+8dsm0ymRcmQyn8w71mhmcuEI5byuF+C88VPYly2sEzjlzAQ3vdn/1+Hzguw6qFNNbqenhZGbdiG6RwZaTG7jTA2X9RdXjDN9yj1uQpyO4Lx8KRAcZcbZMafp4wPOd5MdXoFY52V1A8M9hi3sso93+uprE0qYNMjkE22CvK4HuUxqN7oIz5pWuETq1lQAjqlSlqdD2Rnr/ggp/TVkQYjn9lMfYelk2sH5HPdopYo7MHwlV1or9Bxf+QCyLzm92vzG2wjiIjC/ZHEJzeroJl6bdFPTpZho5MV2U86fLQqxNlGIMqCGy+9WYhJ8ob1r0+Whxde9L2PdysETv97O+xVw+VNN1TZSQN5I6l9m5Ip6pLIqLm4a1B1ffH6gHyqT9p82NOjntRWGIofO3bJz5GhkvSWbsXueTAMaJDou99kGLqDlhwBZNEQ4mKPuDvVwSK4WmLluHyhA97pZiVe8g+JxmnJF8IkV/tCs4Jq/HgOoAEGR9tCDsDbDmi3OviUQpG5D8XmKcSAUaFLRXb2lmJTNYdhtYyfjBYZQmN5qT5CNuaD3BVnlkCk7bsMW3AtXkNMMTuW4HjUERSJnVQ0vsBGa1wo3Qh7115XGeTF3NTz8w0440AgU7c3bSXO/KMINaIWXd0oLpoq/0/QJxCQSJ9XnYy1W7TYLBJpHsVWD1ahsA7FjNvRd6mxCiHsm8g6Z0pnzqIpF1dHUtP2ITU5Z1hZHbu+L3BEEStBbL9XYvGfEakv1bmf+bOZGnoiuHEdlBnaChxYKNzB23b8sw8YyT7Ajxfk49eJIAvdbVkdFCe2J0gMefhQ0bIZxhx3fzMIysQNiN8PgOUKxOMur10LduigREDRMZyP4oGWrP1GFY4t6groASsZ421os48wAdnrbovNhLt7ScNULkwZ5AIZJTrbaKYTLjA1oJ3sIuN/aYocm/9uoQHEIlacF1s/TM1fLcPTL38O9fOsjMEIwoPKfvt7opuI9G2Hf/PR4aCLDQ7wNmIdEuXJ/QNL72k5q4NejAldPfe3UVVqzkys8YZ/jYOGOp6c+YzRCrCuq0M11y7TiN6qk7YXRMn/gukxrEimbMQjr3jwRM6dKVZ4RUfWQr8noPXLJq6yh5R3EH1IVOHESst/LItbG2D2vRsZRkAObzvQAAD3mb3/G4NzopI0FAiHfbpq0X72adg6SRj+8OHMShtFxxLZlf/nLgRLbClwl5WmaYSs+yEjkq48tY7Z2bE0N91mJwt+ua0NlRJIDh0HikF4UvSVorFj2YVu9YeS5tfvlVjPSoNu/Zu6dEUfBOT555hahBdN3Sa5Xuj2Rvau1lQNIaC944y0RWj9UiNDskAK1WoL+EfXcC6IbBXFRyVfX/WKXxPAwUyIAGW8ggZ08hcijKTt1YKnUO6QPvcrmDVAb0FCLIXn5id4fD/Jx4tw/gbXs7WF9b2RgXtPhLBG9vF5FEkdHAKrQHZAJC/HWvk7nvzzDzIXZlfFTJoC3JpGgLPBY7SQTjGlUvG577yNutZ1hTfs9/1nkSXK9zzKLRZ3VODeKUovJe0WCq1zVMYxCJMenmNzPIU2S8TA4E7wWmbNkxq9rI2dd6v0VpcAPVMxnDsvWTWFayyqvKZO7Z08a62i/oH2/jxf8rpmfO64in3FLiL1GX8IGtVE9M23yGsIqJbxDTy+LtaMWDaPqkymb5VrQdzOvqldeU0SUi6IirG8UZ3jcpRbwHa1C0Dww9G/SFX3gPvTJQE+kyz+g1BeMILKKO+olcHzctOWgzxYHnOD7dpCRtuZEXACjgqesZMasoPgnuDC4nUviAAxDc5pngjoAITIkvhKwg5d608pdrZcA+qn5TMT6Uo/QzBaOxBCLTJX3Mgk85rMfsnWx86oLxf7p2PX5ONqieTa/qM3tPw4ZXvlAp83NSD8F7+ZgctK1TpoYwtiU2h02HCGioH5tkVCqNVTMH5p00sRy2JU1qyDBP2CII/Dg4WDsIl+zgeX7589srx6YORRQMBfKbodbB743Tl4WLKOEnwWUVBsm94SOlCracU72MSyj068wdpYjyz1FwC2bjQnxnB6Mp/pZ+yyZXtguEaYB+kqhjQ6UUmwSFazOb+rhYjLaoiM+aN9/8KKn0zaCTFpN9eKwWy7/u4EHzO46TdFSNjMfn2iPSJwDPCFHc0I1+vjdAZw5ZjqR/uzi9Zn20oAa5JnLEk/EA3VRWE7J/XrupfFJPtCUuqHPpnlL7ISJtRpSVcB8qsZCm2QEkWoROtCKKxUh3yEcMbWYJwk6DlEBG0bZP6eg06FL3v6RPb7odGuwm7FN8fG4woqtB8e7M5klPpo97GoObNwt+ludTAmxyC5hmcFx+dIvEZKI6igFKHqLH01iY1o7903VzG9QGetyVx5RNmBYUU+zIuSva/yIcECUi4pRmE3VkF2avqulQEUY4yZ/wmNboBzPmAPey3+dSYtBZUjeWWT0pPwCz4Vozxp9xeClIU60qvEFMQCaPvPaA70WlOP9f/ey39macvpGCVa+zfa8gO44wbxpJUlC8GN/pRMTQtzY8Z8/hiNrU+Zq64ZfFGIkdj7m7abcK1EBtws1X4J/hnqvasPvvDSDYWN+QcQVGMqXalkDtTad5rYY0TIR1Eqox3czwPMjKPvF5sFv17Thujr1IZ1Ytl4VX1J0vjXKmLY4lmXipRAro0qVGEcXxEVMMEl54jQMd4J7RjgomU0j1ptjyxY+cLiSyXPfiEcIS2lWDK3ISAy6UZ3Hb5vnPncA94411jcy75ay6B6DSTzK6UTCZR9uDANtPBrvIDgjsfarMiwoax2OlLxaSoYn4iRgkpEGqEkwox5tyI8aKkLlfZ12lO11TxsqRMY89j5JaO55XfPJPDL1LGSnC88Re9Ai+Nu5bZjtwRrvFITUFHPR4ZmxGslQMecgbZO7nHk32qHxYkdvWpup07ojcMCaVrpFAyFZJJbNvBpZfdf39Hdo2kPtT7v0/f8R/B5Nz4f1t9/3zNM/7n6SUHfcWk5dfQFJvcJMgPolGCpOFb/WC0FGWU2asuQyT+rm88ZKZ78Cei/CAh939CH0JYbpZIPtxc2ufXqjS3pHH9lnWK4iJ7OjR/EESpCo2R3MYKyE7rHfhTvWho4cL1QdN4jFTyR6syMwFm124TVDDRXMNveI1Dp/ntwdz8k8kxw7iFSx6+Yx6O+1LzMVrN0BBzziZi9kneZSzgollBnVwBh6oSOPHXrglrOj+QmR/AESrhDpKrWT+8/AiMDxS/5wwRNuGQPLlJ9ovomhJWn8sMLVItQ8N/7IXvtD8kdOoHaw+vBSbFImQsv/OCAIui99E+YSIOMlMvBXkAt+NAZK8wB9Jf8CPtB+TOUOR+z71d/AFXpPBT6+A5FLjxMjLIEoJzrQfquvxEIi+WoUzGR1IzQFNvbYOnxb2PyQ0kGdyXKzW2axQL8lNAXPk6NEjqrRD1oZtKLlFoofrXw0dCNWASHzy+7PSzOUJ3XtaPZsxLDjr+o41fKuKWNmjiZtfkOzItvlV2MDGSheGF0ma04qE3TUEfqJMrXFm7DpK+27DSvCUVf7rbNoljPhha5W7KBqVq0ShUSTbRmuqPtQreVWH4JET5yMhuqMoSd4r/N8sDmeQiQQvi1tcZv7Moc7dT5X5AtCD6kNEGZOzVcNYlpX4AbTsLgSYYliiPyVoniuYYySxsBy5cgb3pD+EK0Gpb0wJg031dPgaL8JZt6sIvzNPEHfVPOjXmaXj4bd4voXzpZ5GApMhILgMbCEWZ2zwgdeQgjNHLbPIt+KqxRwWPLTN6HwZ0Ouijj4UF+Sg0Au8XuIKW0WxlexdrFrDcZJ8Shauat3X0XmHygqgL1nAu2hrJFb4wZXkcS+i36KMyU1yFvYv23bQUJi/3yQpqr/naUOoiEWOxckyq/gq43dFou1DVDaYMZK9tho7+IXXokBCs5GRfOcBK7g3A+jXQ39K4YA8PBRW4m5+yR0ZAxWJncjRVbITvIAPHYRt1EJ3YLiUbqIvoKHtzHKtUy1ddRUQ0AUO41vonZDUOW+mrszw+SW/6Q/IUgNpcXFjkM7F4CSSQ2ExZg85otsMs7kqsQD4OxYeBNDcSpifjMoLb7GEbGWTwasVObmB/bfPcUlq0wYhXCYEDWRW02TP5bBrYsKTGWjnWDDJ1F7zWai0zW/2XsCuvBQjPFcTYaQX3tSXRSm8hsAoDdjArK/OFp6vcWYOE7lizP0Yc+8p16i7/NiXIiiQTp7c7Xus925VEtlKAjUdFhyaiLT7VxDagprMFwix4wZ05u0qj7cDWFd0W9OYHIu3JbJKMXRJ1aYNovugg+QqRN7fNHSi26VSgBpn+JfMuPo3aeqPWik/wI5Rz3BWarPQX4i5+dM0npwVOsX+KsOhC7vDg+OJsz4Q5zlnIeflUWL6QYMbf9WDfLmosLF4Qev3mJiOuHjoor/dMeBpA9iKDkMjYBNbRo414HCxjsHrB4EXNbHzNMDHCLuNBG6Sf+J4MZ/ElVsDSLxjIiGsTPhw8BPjxbfQtskj+dyNMKOOcUYIRBEIqbazz3lmjlRQhplxq673VklMMY6597vu+d89ec/zq7Mi4gQvh87ehYbpOuZEXj5g/Q7S7BFDAAB9DzG35SC853xtWVcnZQoH54jeOqYLR9NDuwxsVthTV7V99n/B7HSbAytbEyVTz/5NhJ8gGIjG0E5j3griULUd5Rg7tQR+90hJgNQKQH2btbSfPcaTOfIexc1db1BxUOhM1vWCpLaYuKr3FdNTt/T3PWCpEUWDKEtzYrjpzlL/wri3MITKsFvtF8QVV/NhVo97aKIBgdliNc10dWdXVDpVtsNn+2UIolrgqdWA4EY8so0YvB4a+aLzMXiMAuOHQrXY0tr+CL10JbvZzgjJJuB1cRkdT7DUqTvnswVUp5kkUSFVtIIFYK05+tQxT6992HHNWVhWxUsD1PkceIrlXuUVRogwmfdhyrf6zzaL8+c0L7GXMZOteAhAVQVwdJh+7nrX7x4LaIIfz2F2v7Dg/uDfz2Fa+4gFm2zHAor8UqimJG3VTJtZEoFXhnDYXvxMJFc6ku2bhbCxzij2z5UNuK0jmp1mnvkVNUfR+SEmj1Lr94Lym75PO7Fs0MIr3GdsWXRXSfgLTVY0FLqba97u1In8NAcY7IC6TjWLigwKEIm43NxTdaVTv9mcKkzuzBkKd8x/xt1p/9BbP7Wyb4bpo1K1gnOpbLvKz58pWl3B55RJ/Z5mRDLPtNQg14jdOEs9+h/V5UVpwrAI8kGbX8KPVPDIMfIqKDjJD9UyDOPhjZ3vFAyecwyq4akUE9mDOtJEK1hpDyi6Ae87sWAClXGTiwPwN7PXWwjxaR79ArHRIPeYKTunVW24sPr/3HPz2IwH8oKH4OlWEmt4BLM6W5g4kMcYbLwj2usodD1088stZA7VOsUSpEVl4w7NMb1EUHMRxAxLF0CIV+0L3iZb+ekB1vSDSFjAZ3hfLJf7gFaXrOKn+mhR+rWw/eTXIcAgl4HvFuBg1LOmOAwJH3eoVEjjwheKA4icbrQCmvAtpQ0mXG0agYp5mj4Rb6mdQ+RV4QBPbxMqh9C7o8nP0Wko2ocnCHeRGhN1XVyT2b9ACsL+6ylUy+yC3QEnaKRIJK91YtaoSrcWZMMwxuM0E9J68Z+YyjA0g8p1PfHAAIROy6Sa04VXOuT6A351FOWhKfTGsFJ3RTJGWYPoLk5FVK4OaYR9hkJvezwF9vQN1126r6isMGXWTqFW+3HL3I/jurlIdDWIVvYY+s6yq7lrFSPAGRdnU7PVwY/SvWbZGpXzy3BQ2LmAJlrONUsZs4oGkly0V267xbD5KMY8woNNsmWG1VVgLCra8aQBBcI4DP2BlNwxhiCtHlaz6OWFoCW0vMR3ErrG7JyMjTSCnvRcsEHgmPnwA6iNpJ2DrFb4gLlhKJyZGaWkA97H6FFdwEcLT6DRQQL++fOkVC4cYGW1TG/3iK5dShRSuiBulmihqgjR45Vi03o2RbQbP3sxt90VxQ6vzdlGfkXmmKmjOi080JSHkLntjvsBJnv7gKscOaTOkEaRQqAnCA4HWtB4XnMtOhpRmH2FH8tTXrIjAGNWEmudQLCkcVlGTQ965Kh0H6ixXbgImQP6b42B49sO5C8pc7iRlgyvSYvcnH9FgQ3azLbQG2cUW96SDojTQStxkOJyOuDGTHAnnWkz29aEwN9FT8EJ4yhXOg+jLTrCPKeEoJ9a7lDXOjEr8AgX4BmnMQ668oW0zYPyQiVMPxKRHtpfnEEyaKhdzNVThlxxDQNdrHeZiUFb6NoY2KwvSb7BnRcpJy+/g/zAYx3fYSN5QEaVD2Y1VsNWxB0BSO12MRsRY8JLfAezRMz5lURuLUnG1ToKk6Q30FughqWN6gBNcFxP/nY/iv+iaUQOa+2Nuym46wtI/DvSfzSp1jEi4SdYBE7YhTiVV5cX9gwboVDMVgZp5YBQlHOQvaDNfcCoCJuYhf5kz5kwiIKPjzgpcRJHPbOhJajeoeRL53cuMahhV8Z7IRr6M4hW0JzT7mzaMUzQpm866zwM7Cs07fJYXuWvjAMkbe5O6V4bu71sOG6JQ4oL8zIeXHheFVavzxmlIyBkgc9IZlEDplMPr8xlcyss4pVUdwK1e7CK2kTsSdq7g5SHRAl3pYUB9Ko4fsh4qleOyJv1z3KFSTSvwEcRO/Ew8ozEDYZSqpfoVW9uhJfYrNAXR0Z3VmeoAD+rVWtwP/13sE/3ICX3HhDG3CMc476dEEC0K3umSAD4j+ZQLVdFOsWL2C1TH5+4KiSWH+lMibo+B55hR3Gq40G1n25sGcN0mEcoU2wN9FCVyQLBhYOu9aHVLWjEKx2JIUZi5ySoHUAI9b8hGzaLMxCZDMLhv8MkcpTqEwz9KFDpCpqQhVmsGQN8m24wyB82FAKNmjgfKRsXRmsSESovAwXjBIoMKSG51p6Um8b3i7GISs7kjTq/PZoioCfJzfKdJTN0Q45kQEQuh9H88M3yEs3DbtRTKALraM0YC8laiMiOOe6ADmTcCiREeAWZelBaEXRaSuj2lx0xHaRYqF65O0Lo5OCFU18A8cMDE4MLYm9w2QSr9NgQAIcRxZsNpA7UJR0e71JL+VU+ISWFk5I97lra8uGg7GlQYhGd4Gc6rxsLFRiIeGO4abP4S4ekQ1fiqDCy87GZHd52fn5aaDGuvOmIofrzpVwMvtbreZ/855OaXTRcNiNE0wzGZSxbjg26v8ko8L537v/XCCWP2MFaArJpvnkep0pA+O86MWjRAZPQRfznZiSIaTppy6m3p6HrNSsY7fDtz7Cl4V/DJAjQDoyiL2uwf1UHVd2AIrzBUSlJaTj4k6NL97a/GqhWKU9RUmjnYKpm2r+JYUcrkCuZKvcYvrg8pDoUKQywY9GDWg03DUFSirlUXBS5SWn/KAntnf0IdHGL/7mwXqDG+LZYjbEdQmqUqq4y54TNmWUP7IgcAw5816YBzwiNIJiE9M4lPCzeI/FGBeYy3p6IAmH4AjXXmvQ4Iy0Y82NTobcAggT2Cdqz6Mx4TdGoq9fn2etrWKUNFyatAHydQTVUQ2S5OWVUlugcNvoUrlA8cJJz9MqOa/W3iVno4zDHfE7zhoY5f5lRTVZDhrQbR8LS4eRLz8iPMyBL6o4PiLlp89FjdokQLaSBmKHUwWp0na5fE3v9zny2YcDXG/jfI9sctulHRbdkI5a4GOPJx4oAJQzVZ/yYAado8KNZUdEFs9ZPiBsausotXMNebEgr0dyopuqfScFJ3ODNPHgclACPdccwv0YJGQdsN2lhoV4HVGBxcEUeUX/alr4nqpcc1CCR3vR7g40zteQg/JvWmFlUE4mAiTpHlYGrB7w+U2KdSwQz2QJKBe/5eiixWipmfP15AFWrK8Sh1GBBYLgzki1wTMhGQmagXqJ2+FuqJ8f0XzXCVJFHQdMAw8xco11HhM347alrAu+wmX3pDFABOvkC+WPX0Uhg1Z5MVHKNROxaR84YV3s12UcM+70cJ460SzEaKLyh472vOMD3XnaK7zxZcXlWqenEvcjmgGNR2OKbI1s8U+iwiW+HotHalp3e1MGDy6BMVIvajnAzkFHbeVsgjmJUkrP9OAwnEHYXVBqYx3q7LvXjoVR0mY8h+ZaOnh053pdsGkmbqhyryN01eVHySr+CkDYkSMeZ1xjPNVM+gVLTDKu2VGsMUJqWO4TwPDP0VOg2/8ITbAUaMGb4LjL7L+Pi11lEVMXTYIlAZ/QHmTENjyx3kDkBdfcvvQt6tKk6jYFM4EG5UXDTaF5+1ZjRz6W7MdJPC+wTkbDUim4p5QQH3b9kGk2Bkilyeur8Bc20wm5uJSBO95GfYDI1EZipoRaH7uVveneqz43tlTZGRQ4a7CNmMHgXyOQQOL6WQkgMUTQDT8vh21aSdz7ERiZT1jK9F+v6wgFvuEmGngSvIUR2CJkc5tx1QygfZnAruONobB1idCLB1FCfO7N1ZdRocT8/Wye+EnDiO9pzqIpnLDl4bkaRKW+ekBVwHn46Shw1X0tclt/0ROijuUB4kIInrVJU4buWf4YITJtjOJ6iKdr1u+flgQeFH70GxKjhdgt/MrwfB4K/sXczQ+9zYcrD4dhY6qZhZ010rrxggWA8JaZyg2pYij8ieYEg1aZJkZK9O1Re7sB0iouf60rK0Gd+AYlp7soqCBCDGwfKeUQhCBn0E0o0GS6PdmjLi0TtCYZeqazqwN+yNINIA8Lk3iPDnWUiIPLGNcHmZDxfeK0iAdxm/T7LnN+gemRL61hHIc0NCAZaiYJR+OHnLWSe8sLrK905B5eEJHNlWq4RmEXIaFTmo49f8w61+NwfEUyuJAwVqZCLFcyHBKAcIVj3sNzfEOXzVKIndxHw+AR93owhbCxUZf6Gs8cz6/1VdrFEPrv330+9s6BtMVPJ3zl/Uf9rUi0Z/opexfdL3ykF76e999GPfVv8fJv/Y/+/5hEMon1tqNFyVRevV9y9/uIvsG3dbB8GRRrgaEXfhx+2xeOFt+cEn3RZanNxdEe2+B6MHpNbrRE53PlDifPvFcp4kO78ILR0T4xyW/WGPyBsqGdoA7zJJCu1TKbGfhnqgnRbxbB2B3UZoeQ2bz2sTVnUwokTcTU21RxN1PYPS3Sar7T0eRIsyCNowr9amwoMU/od9s2APtiKNL6ENOlyKADstAEWKA+sdKDhrJ6BOhRJmZ+QJbAaZ3/5Fq0/lumCgEzGEbu3yi0Y4I4EgVAjqxh4HbuQn0GrRhOWyAfsglQJAVL1y/6yezS2k8RE2MstJLh92NOB3GCYgFXznF4d25qiP4ZCyI4RYGesut6FXK6GwPpKK8WHEkhYui0AyEmr5Ml3uBFtPFdnioI8RiCooa7Z1G1WuyIi3nSNglutc+xY8BkeW3JJXPK6jd2VIMpaSxpVtFq+R+ySK9J6WG5Qvt+C+QH1hyYUOVK7857nFmyDBYgZ/o+AnibzNVqyYCJQvyDXDTK+iXdkA71bY7TL3bvuLxLBQ8kbTvTEY9aqkQ3+MiLWbEgjLzOH+lXgco1ERgzd80rDCymlpaRQbOYnKG/ODoFl46lzT0cjM5FYVvv0qLUbD5lyJtMUaC1pFlTkNONx6lliaX9o0i/1vws5bNKn5OuENQEKmLlcP4o2ZmJjD4zzd3Fk32uQ4uRWkPSUqb4LBe3EXHdORNB2BWsws5daRnMfNVX7isPSb1hMQdAJi1/qmDMfRUlCU74pmnzjbXfL8PVG8NsW6IQM2Ne23iCPIpryJjYbVnm5hCvKpMa7HLViNiNc+xTfDIaKm3jctViD8A1M9YPJNk003VVr4Zo2MuGW8vil8SLaGpPXqG7I4DLdtl8a4Rbx1Lt4w5Huqaa1XzZBtj208EJVGcmKYEuaeN27zT9EE6a09JerXdEbpaNgNqYJdhP1NdqiPKsbDRUi86XvvNC7rME5mrSQtrzAZVndtSjCMqd8BmaeGR4l4YFULGRBeXIV9Y4yxLFdyoUNpiy2IhePSWzBofYPP0eIa2q5JP4j9G8at/AqoSsLAUuRXtvgsqX/zYwsE+of6oSDbUOo4RMJw+DOUTJq+hnqwKim9Yy/napyZNTc2rCq6V9jHtJbxGPDwlzWj/Sk3zF/BHOlT/fSjSq7FqlPI1q6J+ru8Aku008SFINXZfOfnZNOvGPMtEmn2gLPt+H4QLA+/SYe4j398auzhKIp2Pok3mPC5q1IN1HgR+mnEfc4NeeHYwd2/kpszR3cBn7ni9NbIqhtSWFW8xbUJuUPVOeeXu3j0IGZmFNiwaNZ6rH4/zQ2ODz6tFxRLsUYZu1bfd1uIvfQDt4YD/efKYv8VF8bHGDgK22w2Wqwpi43vNCOXFJZCGMqWiPbL8mil6tsmOTXAWCyMCw73e2rADZj2IK6rqksM3EXF2cbLb4vjB14wa/yXK5vwU+05MzERJ5nXsXsW21o7M+gO0js2OyKciP5uF2iXyb2DiptwQeHeqygkrNsqVCSlldxBMpwHi1vfc8RKpP/4L3Lmpq6DZcvhDDfxTCE3splacTcOtXdK2g303dIWBVe2wD/Gvja1cClFQ67gw0t1ZUttsUgQ1Veky8oOpS6ksYEc4bqseCbZy766SvL3FodmnahlWJRgVCNjPxhL/fk2wyvlKhITH/VQCipOI0dNcRa5B1M5HmOBjTLeZQJy237e2mobwmDyJNHePhdDmiknvLKaDbShL+Is1XTCJuLQd2wmdJL7+mKvs294whXQD+vtd88KKk0DXP8B1Xu9J+xo69VOuFgexgTrcvI6SyltuLix9OPuE6/iRJYoBMEXxU4shQMf4Fjqwf1PtnJ/wWSZd29rhZjRmTGgiGTAUQqRz+nCdjeMfYhsBD5Lv60KILWEvNEHfmsDs2L0A252351eUoYxAysVaCJVLdH9QFWAmqJDCODUcdoo12+gd6bW2boY0pBVHWL6LQDK5bYWh1V8vFvi0cRpfwv7cJiMX3AZNJuTddHehTIdU0YQ/sQ1dLoF2xQPcCuHKiuCWOY30DHe1OwcClLAhqAKyqlnIbH/8u9ScJpcS4kgp6HKDUdiOgRaRGSiUCRBjzI5gSksMZKqy7Sd51aeg0tgJ+x0TH9YH2Mgsap9N7ENZdEB0bey2DMTrBA1hn56SErNHf3tKtqyL9b6yXEP97/rc+jgD2N1LNUH6RM9AzP3kSipr06RkKOolR7HO768jjWiH1X92jA7dkg7gcNcjqsZCgfqWw0tPXdLg20cF6vnQypg7gLtkazrHAodyYfENPQZsdfnjMZiNu4nJO97D1/sQE+3vNFzrSDOKw+keLECYf7RJwVHeP/j79833oZ0egonYB2FlFE5qj02B/LVOMJQlsB8uNg3Leg4qtZwntsOSNidR0abbZmAK4sCzvt8Yiuz2yrNCJoH5O8XvX/vLeR/BBYTWj0sOPYM/jyxRd5+/JziKAABaPcw/34UA3aj/gLZxZgRCWN6m4m3demanNgsx0P237/Q+Ew5VYnJPkyCY0cIVHoFn2Ay/e7U4P19APbPFXEHX94N6KhEMPG7iwB3+I+O1jd5n6VSgHegxgaSawO6iQCYFgDsPSMsNOcUj4q3sF6KzGaH/0u5PQoAj/8zq6Uc9MoNrGqhYeb2jQo0WlGlXjxtanZLS24/OIN5Gx/2g684BPDQpwlqnkFcxpmP/osnOXrFuu4PqifouQH0eF5qCkvITQbJw/Zvy5mAHWC9oU+cTiYhJmSfKsCyt1cGVxisKu+NymEQIAyaCgud/V09qT3nk/9s/SWsYtha7yNpzBIMM40rCSGaJ9u6lEkl00vXBiEt7p9P5IBCiavynEOv7FgLqPdeqxRiCwuFVMolSIUBcoyfUC2e2FJSAUgYdVGFf0b0Kn2EZlK97yyxrT2MVgvtRikfdaAW8RwEEfN+B7/eK8bBdp7URpbqn1xcrC6d2UjdsKbzCjBFqkKkoZt7Mrhg6YagE7spkqj0jOrWM+UGQ0MUlG2evP1uE1p2xSv4dMK0dna6ENcNUF+xkaJ7B764NdxLCpuvhblltVRAf7vK5qPttJ/9RYFUUSGcLdibnz6mf7WkPO3MkUUhR2mAOuGv8IWw5XG1ZvoVMnjSAZe6T7WYA99GENxoHkMiKxHlCuK5Gd0INrISImHQrQmv6F4mqU/TTQ8nHMDzCRivKySQ8dqkpQgnUMnwIkaAuc6/FGq1hw3b2Sba398BhUwUZSAIO8XZvnuLdY2n6hOXws+gq9BHUKcKFA6kz6FDnpxLPICa3qGhnc97bo1FT/XJk48LrkHJ2CAtBv0RtN97N21plfpXHvZ8gMJb7Zc4cfI6MbPwsW7AilCSXMFIEUEmir8XLEklA0ztYbGpTTGqttp5hpFTTIqUyaAIqvMT9A/x+Ji5ejA4Bhxb/cl1pUdOD6epd3yilIdO6j297xInoiBPuEDW2/UfslDyhGkQs7Wy253bVnlT+SWg89zYIK/9KXFl5fe+jow2rd5FXv8zDPrmfMXiUPt9QBO/iK4QGbX5j/7Rx1c1vzsY8ONbP3lVIaPrhL4+1QrECTN3nyKavGG0gBBtHvTKhGoBHgMXHStFowN+HKrPriYu+OZ05Frn8okQrPaaxoKP1ULCS/cmKFN3gcH7HQlVjraCeQmtjg1pSQxeuqXiSKgLpxc/1OiZsU4+n4lz4hpahGyWBURLi4642n1gn9qz9bIsaCeEPJ0uJmenMWp2tJmIwLQ6VSgDYErOeBCfSj9P4G/vI7oIF+l/n5fp956QgxGvur77ynawAu3G9MdFbJbu49NZnWnnFcQHjxRuhUYvg1U/e84N4JTecciDAKb/KYIFXzloyuE1eYXf54MmhjTq7B/yBToDzzpx3tJCTo3HCmVPYfmtBRe3mPYEE/6RlTIxbf4fSOcaKFGk4gbaUWe44hVk9SZzhW80yfW5QWBHxmtUzvMhfVQli4gZTktIOZd9mjJ5hsbmzttaHQB29Am3dZkmx3g/qvYocyhZ2PXAWsNQiIaf+Q8W/MWPIK7/TjvCx5q2XRp4lVWydMc2wIQkhadDB0xsnw/kSEyGjLKjI4coVIwtubTF3E7MJ6LS6UOsJKj82XVAVPJJcepfewbzE91ivXZvOvYfsmMevwtPpfMzGmC7WJlyW2j0jh7AF1JLmwEJSKYwIvu6DHc3YnyLH9ZdIBnQ+nOVDRiP+REpqv++typYHIvoJyICGA40d8bR7HR2k7do6UQTHF4oriYeIQbxKe4Th6+/l1BjUtS9hqORh3MbgvYrStXTfSwaBOmAVQZzpYNqsAmQyjY56MUqty3c/xH6GuhNvNaG9vGbG6cPtBM8UA3e8r51D0AR9kozKuGGSMgLz3nAHxDNnc7GTwpLj7/6HeWp1iksDeTjwCLpxejuMtpMnGJgsiku1sOACwQ9ukzESiDRN77YNESxR5LphOlcASXA5uIts1LnBIcn1J7BLWs49DMALSnuz95gdOrTZr0u1SeYHinno/pE58xYoXbVO/S+FEMMs5qyWkMnp8Q3ClyTlZP52Y9nq7b8fITPuVXUk9ohG5EFHw4gAEcjFxfKb3xuAsEjx2z1wxNbSZMcgS9GKyW3R6KwJONgtA64LTyxWm8Bvudp0M1FdJPEGopM4Fvg7G/hsptkhCfHFegv4ENwxPeXmYhxwZy7js+BeM27t9ODBMynVCLJ7RWcBMteZJtvjOYHb5lOnCLYWNEMKC59BA7covu1cANa2PXL05iGdufOzkgFqqHBOrgQVUmLEc+Mkz4Rq8O6WkNr7atNkH4M8d+SD1t/tSzt3oFql+neVs+AwEI5JaBJaxARtY2Z4mKoUqxds4UpZ0sv3zIbNoo0J4fihldQTX3XNcuNcZmcrB5LTWMdzeRuAtBk3cZHYQF6gTi3PNuDJ0nmR+4LPLoHvxQIxRgJ9iNNXqf2SYJhcvCtJiVWo85TsyFOuq7EyBPJrAdhEgE0cTq16FQXhYPJFqSfiVn0IQnPOy0LbU4BeG94QjdYNB0CiQ3QaxQqD2ebSMiNjaVaw8WaM4Z5WnzcVDsr4eGweSLa2DE3BWViaxhZFIcSTjgxNCAfelg+hznVOYoe5VqTYs1g7WtfTm3e4/WduC6p+qqAM8H4ZyrJCGpewThTDPe6H7CzX/zQ8Tm+r65HeZn+MsmxUciEWPlAVaK/VBaQBWfoG/aRL/jSZIQfep/89GjasWmbaWzeEZ2R1FOjvyJT37O9B8046SRSKVEnXWlBqbkb5XCS3qFeuE9xb9+frEknxWB5h1D/hruz2iVDEAS7+qkEz5Ot5agHJc7WCdY94Ws61sURcX5nG8UELGBAHZ3i+3VulAyT0nKNNz4K2LBHBWJcTBX1wzf+//u/j/9+//v87+9/l9Lbh/L/uyNYiTsWV2LwsjaA6MxTuzFMqmxW8Jw/+IppdX8t/Clgi1rI1SN0UC/r6tX/4lUc2VV1OQReSeCsjUpKZchw4XUcjHfw6ryCV3R8s6VXm67vp4n+lcPV9gJwmbKQEsmrJi9c2vkwrm8HFbVYNTaRGq8D91t9n5+U+aD/hNtN3HjC/nC/vUoGFSCkXP+NlRcmLUqLbiUBl4LYf1U/CCvwtd3ryCH8gUmGITAxiH1O5rnGTz7y1LuFjmnFGQ1UWuM7HwfXtWl2fPFKklYwNUpF2IL/TmaRETjQiM5SJacI+3Gv5MBU8lP5Io6gWkawpyzNEVGqOdx4YlO1dCvjbWFZWbCmeiFKPSlMKtKcMFLs/KQxtgAHi7NZNCQ32bBAW2mbHflVZ8wXKi1JKVHkW20bnYnl3dKWJeWJOiX3oKPBD6Zbi0ZvSIuWktUHB8qDR8DMMh1ZfkBL9FS9x5r0hBGLJ8pUCJv3NYH+Ae8p40mZWd5m5fhobFjQeQvqTT4VKWIYfRL0tfaXKiVl75hHReuTJEcqVlug+eOIIc4bdIydtn2K0iNZPsYWQvQio2qbO3OqAlPHDDOB7DfjGEfVF51FqqNacd6QmgFKJpMfLp5DHTv4wXlONKVXF9zTJpDV4m1sYZqJPhotcsliZM8yksKkCkzpiXt+EcRQvSQqmBS9WdWkxMTJXPSw94jqI3varCjQxTazjlMH8jTS8ilaW8014/vwA/LNa+YiFoyyx3s/KswP3O8QW1jtq45yTM/DX9a8M4voTVaO2ebvw1EooDw/yg6Y1faY+WwrdVs5Yt0hQ5EwRfYXSFxray1YvSM+kYmlpLG2/9mm1MfmbKHXr44Ih8nVKb1M537ZANUkCtdsPZ80JVKVKabVHCadaLXg+IV8i5GSwpZti0h6diTaKs9sdpUKEpd7jDUpYmHtiX33SKiO3tuydkaxA7pEc9XIQEOfWJlszj5YpL5bKeQyT7aZSBOamvSHl8xsWvgo26IP/bqk+0EJUz+gkkcvlUlyPp2kdKFtt7y5aCdks9ZJJcFp5ZWeaWKgtnXMN3ORwGLBE0PtkEIek5FY2aVssUZHtsWIvnljMVJtuVIjpZup/5VL1yPOHWWHkOMc6YySWMckczD5jUj2mlLVquFaMU8leGVaqeXis+aRRL8zm4WuBk6cyWfGMxgtr8useQEx7k/PvRoZyd9nde1GUCV84gMX8Ogu/BWezYPSR27llzQnA97oo0pYyxobYUJfsj+ysTm9zJ+S4pk0TGo9VTG0KjqYhTmALfoDZVKla2b5yhv241PxFaLJs3i05K0AAIdcGxCJZmT3ZdT7CliR7q+kur7WdQjygYtOWRL9B8E4s4LI8KpAj7bE0dg7DLOaX+MGeAi0hMMSSWZEz+RudXbZCsGYS0QqiXjH9XQbd8sCB+nIVTq7/T/FDS+zWY9q7Z2fdq1tdLb6v3hKKVDAw5gjj6o9r1wHFROdHc18MJp4SJ2Ucvu+iQ9EgkekW8VCM+psM6y+/2SBy8tNN4a3L1MzP+OLsyvESo5gS7IQOnIqMmviJBVc6zbVG1n8eXiA3j46kmvvtJlewwNDrxk4SbJOtP/TV/lIVK9ueShNbbMHfwnLTLLhbZuO79ec5XvfgRwLFK+w1r5ZWW15rVFZrE+wKqNRv5KqsLNfpGgnoUU6Y71NxEmN7MyqwqAQqoIULOw/LbuUB2+uE75gJt+kq1qY4LoxV+qR/zalupea3D5+WMeaRIn0sAI6DDWDh158fqUb4YhAxhREbUN0qyyJYkBU4V2KARXDT65gW3gRsiv7xSPYEKLwzgriWcWgPr0sbZnv7m1XHNFW6xPdGNZUdxFiUYlmXNjDVWuu7LCkX/nVkrXaJhiYktBISC2xgBXQnNEP+cptWl1eG62a7CPXrnrkTQ5BQASbEqUZWMDiZUisKyHDeLFOaJILUo5f6iDt4ZO8MlqaKLto0AmTHVVbkGuyPa1R/ywZsWRoRDoRdNMMHwYTsklMVnlAd2S0282bgMI8fiJpDh69OSL6K3qbo20KfpNMurnYGQSr/stFqZ7hYsxKlLnKAKhsmB8AIpEQ4bd/NrTLTXefsE6ChRmKWjXKVgpGoPs8GAicgKVw4K0qgDgy1A6hFq1WRat3fHF+FkU+b6H4NWpOU3KXTxrIb2qSHAb+qhm8hiSROi/9ofapjxhyKxxntPpge6KL5Z4+WBMYkAcE6+0Hd3Yh2zBsK2MV3iW0Y6cvOCroXlRb2MMJtdWx+3dkFzGh2Pe3DZ9QpSqpaR/rE1ImOrHqYYyccpiLC22amJIjRWVAherTfpQLmo6/K2pna85GrDuQPlH1Tsar8isAJbXLafSwOof4gg9RkAGm/oYpBQQiPUoyDk2BCQ1k+KILq48ErFo4WSRhHLq/y7mgw3+L85PpP6xWr6cgp9sOjYjKagOrxF148uhuaWtjet953fh1IQiEzgC+d2IgBCcUZqgTAICm2bR8oCjDLBsmg+ThyhfD+zBalsKBY1Ce54Y/t9cwfbLu9SFwEgphfopNA3yNxgyDafUM3mYTovZNgPGdd4ZFFOj1vtfFW3u7N+iHEN1HkeesDMXKPyoCDCGVMo4GCCD6PBhQ3dRZIHy0Y/3MaE5zU9mTCrwwnZojtE+qNpMSkJSpmGe0EzLyFelMJqhfFQ7a50uXxZ8pCc2wxtAKWgHoeamR2O7R+bq7IbPYItO0esdRgoTaY38hZLJ5y02oIVwoPokGIzxAMDuanQ1vn2WDQ00Rh6o5QOaCRu99fwDbQcN0XAuqkFpxT/cfz3slGRVokrNU0iqiMAJFEbKScZdmSkTUznC0U+MfwFOGdLgsewRyPKwBZYSmy6U325iUhBQNxbAC3FLKDV9VSOuQpOOukJ/GAmu/tyEbX9DgEp6dv1zoU0IqzpG6gssSjIYRVPGgU1QAQYRgIT8gEV0EXr1sqeh2I6rXjtmoCYyEDCe/PkFEi/Q48FuT29p557iN+LCwk5CK/CZ2WdAdfQZh2Z9QGrzPLSNRj5igUWzl9Vi0rCqH8G1Kp4QMLkuwMCAypdviDXyOIk0AHTM8HBYKh3b0/F+DxoNj4ZdoZfCpQVdnZarqoMaHWnMLNVcyevytGsrXQEoIbubqWYNo7NRHzdc0zvT21fWVirj7g36iy6pxogfvgHp1xH1Turbz8QyyHnXeBJicpYUctbzApwzZ1HT+FPEXMAgUZetgeGMwt4G+DHiDT2Lu+PT21fjJCAfV16a/Wu1PqOkUHSTKYhWW6PhhHUlNtWzFnA7MbY+r64vkwdpfNB2JfWgWXAvkzd42K4lN9x7Wrg4kIKgXCb4mcW595MCPJ/cTfPAMQMFWwnqwde4w8HZYJFpQwcSMhjVz4B8p6ncSCN1X4klxoIH4BN2J6taBMj6lHkAOs8JJAmXq5xsQtrPIPIIp/HG6i21xMGcFgqDXSRF0xQg14d2uy6HgKE13LSvQe52oShF5Jx1R6avyL4thhXQZHfC94oZzuPUBKFYf1VvDaxIrtV6dNGSx7DO0i1p6CzBkuAmEqyWceQY7F9+U0ObYDzoa1iKao/cOD/v6Q9gHrrr1uCeOk8fST9MG23Ul0KmM3r+Wn6Hi6WAcL7gEeaykicvgjzkjSwFsAXIR81Zx4QJ6oosVyJkCcT+4xAldCcihqvTf94HHUPXYp3REIaR4dhpQF6+FK1H0i9i7Pvh8owu3lO4PT1iuqu+DkL2Bj9+kdfGAg2TXw03iNHyobxofLE2ibjsYDPgeEQlRMR7afXbSGQcnPjI2D+sdtmuQ771dbASUsDndU7t58jrrNGRzISvwioAlHs5FA+cBE5Ccznkd8NMV6BR6ksnKLPZnMUawRDU1MZ/ib3xCdkTblHKu4blNiylH5n213yM0zubEie0o4JhzcfAy3H5qh2l17uLooBNLaO+gzonTH2uF8PQu9EyH+pjGsACTMy4cHzsPdymUSXYJOMP3yTkXqvO/lpvt0cX5ekDEu9PUfBeZODkFuAjXCaGdi6ew4qxJ8PmFfwmPpkgQjQlWqomFY6UkjmcnAtJG75EVR+NpzGpP1Ef5qUUbfowrC3zcSLX3BxgWEgEx/v9cP8H8u1Mvt9/rMDYf6sjwU1xSOPBgzFEeJLMRVFtKo5QHsUYT8ZRLCah27599EuqoC9PYjYO6aoAMHB8X1OHwEAYouHfHB3nyb2B+SnZxM/vw/bCtORjLMSy5aZoEpvgdGvlJfNPFUu/p7Z4VVK1hiI0/UTuB3ZPq4ohEbm7Mntgc1evEtknaosgZSwnDC2BdMmibpeg48X8Ixl+/8+xXdbshQXUPPvx8jT3fkELivHSmqbhblfNFShWAyQnJ3WBU6SMYSIpTDmHjdLVAdlADdz9gCplZw6mTiHqDwIsxbm9ErGusiVpg2w8Q3khKV/R9Oj8PFeF43hmW/nSd99nZzhyjCX3QOZkkB6BsH4H866WGyv9E0hVAzPYah2tkRfQZMmP2rinfOeQalge0ovhduBjJs9a1GBwReerceify49ctOh5/65ATYuMsAkVltmvTLBk4oHpdl6i+p8DoNj4Fb2vhdFYer2JSEilEwPd5n5zNoGBXEjreg/wh2NFnNRaIUHSOXa4eJRwygZoX6vnWnqVdCRT1ARxeFrNBJ+tsdooMwqnYhE7zIxnD8pZH+P0Nu1wWxCPTADfNWmqx626IBJJq6NeapcGeOmbtXvl0TeWG0Y7OGGV4+EHTtNBIT5Wd0Bujl7inXgZgfXTM5efD3qDTJ54O9v3Bkv+tdIRlq1kXcVD0BEMirmFxglNPt5pedb1AnxuCYMChUykwsTIWqT23XDpvTiKEru1cTcEMeniB+HQDehxPXNmkotFdwUPnilB/u4Nx5Xc6l8J9jH1EgKZUUt8t8cyoZleDBEt8oibDmJRAoMKJ5Oe9CSWS5ZMEJvacsGVdXDWjp/Ype5x0p9PXB2PAwt2LRD3d+ftNgpuyvxlP8pB84oB1i73vAVpwyrmXW72hfW6Dzn9Jkj4++0VQ4d0KSx1AsDA4OtXXDo63/w+GD+zC7w5SJaxsmnlYRQ4dgdjA7tTl2KNLnpJ+mvkoDxtt1a4oPaX3EVqj96o9sRKBQqU7ZOiupeAIyLMD+Y3YwHx30XWHB5CQiw7q3mj1EDlP2eBsZbz79ayUMbyHQ7s8gu4Lgip1LiGJj7NQj905/+rgUYKAA5qdrlHKIknWmqfuR+PB8RdBkDg/NgnlT89G72h2NvySnj7UyBwD+mi/IWs1xWbxuVwUIVXun5cMqBtFbrccI+DILjsVQg6eeq0itiRfedn89CvyFtpkxaauEvSANuZmB1p8FGPbU94J9medwsZ9HkUYjmI7OH5HuxendLbxTaYrPuIfE2ffXFKhoNBUp33HsFAXmCV/Vxpq5AYgFoRr5Ay93ZLRlgaIPjhZjXZZChT+aE5iWAXMX0oSFQEtwjiuhQQItTQX5IYrKfKB+queTNplR1Hoflo5/I6aPPmACwQCE2jTOYo5Dz1cs7Sod0KTG/3kEDGk3kUaUCON19xSJCab3kNpWZhSWkO8l+SpW70Wn3g0ciOIJO5JXma6dbos6jyisuxXwUUhj2+1uGhcvuliKtWwsUTw4gi1c/diEEpZHoKoxTBeMDmhPhKTx7TXWRakV8imJR355DcIHkR9IREHxohP4TbyR5LtFU24umRPRmEYHbpe1LghyxPx7YgUHjNbbQFRQhh4KeU1EabXx8FS3JAxp2rwRDoeWkJgWRUSKw6gGP5U2PuO9V4ZuiKXGGzFQuRuf+tkSSsbBtRJKhCi3ENuLlXhPbjTKD4djXVnfXFds6Zb+1XiUrRfyayGxJq1+SYBEfbKlgjiSmk0orgTqzSS+DZ5rTqsJbttiNtp+KMqGE2AHGFw6jQqM5vD6vMptmXV9OAjq49Uf/Lx9Opam+Hn5O9p8qoBBAQixzQZ4eNVkO9sPzJAMyR1y4/RCQQ1s0pV5KAU5sKLw3tkcFbI/JqrjCsK4Mw+W8aod4lioYuawUiCyVWBE/qPaFi5bnkgpfu/ae47174rI1fqQoTbW0HrU6FAejq7ByM0V4zkZTg02/YJK2N7hUQRCeZ4BIgSEqgD8XsjzG6LIsSbuHoIdz/LhFzbNn1clci1NHWJ0/6/O8HJMdIpEZbqi1RrrFfoo/rI/7ufm2MPG5lUI0IYJ4MAiHRTSOFJ2oTverFHYXThkYFIoyFx6rMYFgaOKM4xNWdlOnIcKb/suptptgTOTdVIf4YgdaAjJnIAm4qNNHNQqqAzvi53GkyRCEoseUBrHohZsjUbkR8gfKtc/+Oa72lwxJ8Mq6HDfDATbfbJhzeIuFQJSiw1uZprHlzUf90WgqG76zO0eCB1WdPv1IT6sNxxh91GEL2YpgC97ikFHyoaH92ndwduqZ6IYjkg20DX33MWdoZk7QkcKUCgisIYslOaaLyvIIqRKWQj16jE1DlQWJJaPopWTJjXfixEjRJJo8g4++wuQjbq+WVYjsqCuNIQW3YjnxKe2M5ZKEqq+cX7ZVgnkbsU3RWIyXA1rxv4kGersYJjD//auldXGmcEbcfTeF16Y1708FB1HIfmWv6dSFi6oD4E+RIjCsEZ+kY7dKnwReJJw3xCjKvi3kGN42rvyhUlIz0Bp+fNSV5xwFiuBzG296e5s/oHoFtUyUplmPulIPl+e1CQIQVtjlzLzzzbV+D/OVQtYzo5ixtMi5BmHuG4N/uKfJk5UIREp7+12oZlKtPBomXSzAY0KgtbPzzZoHQxujnREUgBU+O/jKKhgxVhRPtbqyHiUaRwRpHv7pgRPyUrnE7fYkVblGmfTY28tFCvlILC04Tz3ivkNWVazA+OsYrxvRM/hiNn8Fc4bQBeUZABGx5S/xFf9Lbbmk298X7iFg2yeimvsQqqJ+hYbt6uq+Zf9jC+Jcwiccd61NKQtFvGWrgJiHB5lwi6fR8KzYS7EaEHf/ka9EC7H8D+WEa3TEACHBkNSj/cXxFeq4RllC+fUFm2xtstYLL2nos1DfzsC9vqDDdRVcPA3Ho95aEQHvExVThXPqym65llkKlfRXbPTRiDepdylHjmV9YTWAEjlD9DdQnCem7Aj/ml58On366392214B5zrmQz/9ySG2mFqEwjq5sFl5tYJPw5hNz8lyZPUTsr5E0F2C9VMPnZckWP7+mbwp/BiN7f4kf7vtGnZF2JGvjK/sDX1RtcFY5oPQnE4lIAYV49U3C9SP0LCY/9i/WIFK9ORjzM9kG/KGrAuwFmgdEpdLaiqQNpCTGZVuAO65afkY1h33hrqyLjZy92JK3/twdj9pafFcwfXONmPQWldPlMe7jlP24Js0v9m8bIJ9TgS2IuRvE9ZVRaCwSJYOtAfL5H/YS4FfzKWKbek+GFulheyKtDNlBtrdmr+KU+ibHTdalzFUmMfxw3f36x+3cQbJLItSilW9cuvZEMjKw987jykZRlsH/UI+HlKfo2tLwemBEeBFtmxF2xmItA/dAIfQ+rXnm88dqvXa+GapOYVt/2waFimXFx3TC2MUiOi5/Ml+3rj/YU6Ihx2hXgiDXFsUeQkRAD6wF3SCPi2flk7XwKAA4zboqynuELD312EJ88lmDEVOMa1W/K/a8tGylZRMrMoILyoMQzzbDJHNZrhH77L9qSC42HVmKiZ5S0016UTp83gOhCwz9XItK9fgXfK3F5d7nZCBUekoLxrutQaPHa16Rjsa0gTrzyjqTnmcIcrxg6X6dkKiucudc0DD5W4pJPf0vuDW8r5/uw24YfMuxFRpD2ovT2mFX79xH6Jf+MVdv2TYqR6/955QgVPe3JCD/WjAYcLA9tpXgFiEjge2J5ljeI/iUzg91KQuHkII4mmHZxC3XQORLAC6G7uFn5LOmlnXkjFdoO976moNTxElS8HdxWoPAkjjocDR136m2l+f5t6xaaNgdodOvTu0rievnhNAB79WNrVs6EsPgkgfahF9gSFzzAd+rJSraw5Mllit7vUP5YxA843lUpu6/5jAR0RvH4rRXkSg3nE+O5GFyfe+L0s5r3k05FyghSFnKo4TTgs07qj4nTLqOYj6qaW9knJTDkF5OFMYbmCP+8H16Ty482OjvERV6OFyw043L9w3hoJi408sR+SGo1WviXUu8d7qS+ehKjpKwxeCthsm2LBFSFeetx0x4AaKPxtp3CxdWqCsLrB1s/j5TAhc1jNZsXWl6tjo/WDoewxzg8T8NnhZ1niUwL/nhfygLanCnRwaFGDyLw+sfZhyZ1UtYTp8TYB6dE7R3VsKKH95CUxJ8u8N+9u2/9HUNKHW3x3w5GQrfOPafk2w5qZq8MaHT0ebeY3wIsp3rN9lrpIsW9c1ws3VNV+JwNz0Lo9+V7zZr6GD56We6gWVIvtmam5GPPkVAbr74r6SwhuL+TRXtW/0pgyX16VNl4/EAD50TnUPuwrW6OcUO2VlWXS0inq872kk7GUlW6o/ozFKq+Sip6LcTtSDfDrPTcCHhx75H8BeRon+KG2wRwzfDgWhALmiWOMO6h3pm1UCZEPEjScyk7tdLx6WrdA2N1QTPENvNnhCQjW6kl057/qv7IwRryHrZBCwVSbLLnFRiHdTwk8mlYixFt1slEcPD7FVht13HyqVeyD55HOXrh2ElAxJyinGeoFzwKA91zfrdLvDxJSjzmImfvTisreI25EDcVfGsmxLVbfU8PGe/7NmWWKjXcdTJ11jAlVIY/Bv/mcxg/Q10vCHwKG1GW/XbJq5nxDhyLqiorn7Wd7VEVL8UgVzpHMjQ+Z8DUgSukiVwWAKkeTlVVeZ7t1DGnCgJVIdBPZAEK5f8CDyDNo7tK4/5DBjdD5MPV86TaEhGsLVFPQSI68KlBYy84FievdU9gWh6XZrugvtCZmi9vfd6db6V7FmoEcRHnG36VZH8N4aZaldq9zZawt1uBFgxYYx+Gs/qW1jwANeFy+LCoymyM6zgG7j8bGzUyLhvrbJkTYAEdICEb4kMKusKT9V3eIwMLsjdUdgijMc+7iKrr+TxrVWG0U+W95SGrxnxGrE4eaJFfgvAjUM4SAy8UaRwE9j6ZQH5qYAWGtXByvDiLSDfOD0yFA3UCMKSyQ30fyy1mIRg4ZcgZHLNHWl+c9SeijOvbOJxoQy7lTN2r3Y8p6ovxvUY74aOYbuVezryqXA6U+fcp6wSV9X5/OZKP18tB56Ua0gMyxJI7XyNT7IrqN8GsB9rL/kP5KMrjXxgqKLDa+V5OCH6a5hmOWemMUsea9vQl9t5Oce76PrTyTv50ExOqngE3PHPfSL//AItPdB7kGnyTRhVUUFNdJJ2z7RtktZwgmQzhBG/G7QsjZmJfCE7k75EmdIKH7xlnmDrNM/XbTT6FzldcH/rcRGxlPrv4qDScqE7JSmQABJWqRT/TUcJSwoQM+1jvDigvrjjH8oeK2in1S+/yO1j8xAws/T5u0VnIvAPqaE1atNuN0cuRliLcH2j0nTL4JpcR7w9Qya0JoaHgsOiALLCCzRkl1UUESz+ze/gIXHGtDwgYrK6pCFKJ1webSDog4zTlPkgXZqxlQDiYMjhDpwTtBW2WxthWbov9dt2X9XFLFmcF+eEc1UaQ74gqZiZsdj63pH1qcv3Vy8JYciogIVKsJ8Yy3J9w/GhjWVSQAmrS0BPOWK+RKV+0lWqXgYMnIFwpcZVD7zPSp547i9HlflB8gVnSTGmmq1ClO081OW/UH11pEQMfkEdDFzjLC1Cdo/BdL3s7cXb8J++Hzz1rhOUVZFIPehRiZ8VYu6+7Er7j5PSZu9g/GBdmNzJmyCD9wiswj9BZw+T3iBrg81re36ihMLjoVLoWc+62a1U/7qVX5CpvTVF7rocSAKwv4cBVqZm7lLDS/qoXs4fMs/VQi6BtVbNA3uSzKpQfjH1o3x4LrvkOn40zhm6hjduDglzJUwA0POabgdXIndp9fzhOo23Pe+Rk9GSLX0d71Poqry8NQDTzNlsa+JTNG9+UrEf+ngxCjGEsDCc0bz+udVRyHQI1jmEO3S+IOQycEq7XwB6z3wfMfa73m8PVRp+iOgtZfeSBl01xn03vMaQJkyj7vnhGCklsCWVRUl4y+5oNUzQ63B2dbjDF3vikd/3RUMifPYnX5Glfuk2FsV/7RqjI9yKTbE8wJY+74p7qXO8+dIYgjtLD/N8TJtRh04N9tXJA4H59IkMmLElgvr0Q5OCeVfdAt+5hkh4pQgfRMHpL74XatLQpPiOyHRs/OdmHtBf8nOZcxVKzdGclIN16lE7kJ+pVMjspOI+5+TqLRO6m0ZpNXJoZRv9MPDRcAfJUtNZHyig/s2wwReakFgPPJwCQmu1I30/tcBbji+Na53i1W1N+BqoY7Zxo+U/M9XyJ4Ok2SSkBtoOrwuhAY3a03Eu6l8wFdIG1cN+e8hopTkiKF093KuH/BcB39rMiGDLn6XVhGKEaaT/vqb/lufuAdpGExevF1+J9itkFhCfymWr9vGb3BTK4j598zRH7+e+MU9maruZqb0pkGxRDRE1CD4Z8LV4vhgPidk5w2Bq816g3nHw1//j3JStz7NR9HIWELO8TMn3QrP/zZp//+Dv9p429/ogv+GATR+n/UdF+ns9xNkXZQJXY4t9jMkJNUFygAtzndXwjss+yWH9HAnLQQfhAskdZS2l01HLWv7L7us5uTH409pqitvfSOQg/c+Zt7k879P3K9+WV68n7+3cZfuRd/dDPP/03rn+d+/nBvWfgDlt8+LzjqJ/vx3CnNOwiXhho778C96iD+1TBvRZYeP+EH81LE0vVwOOrmCLB3iKzI1x+vJEsrPH4uF0UB4TJ4X3uDfOCo3PYpYe0MF4bouh0DQ/l43fxUF7Y+dpWuvTSffB0yO2UQUETI/LwCZE3BvnevJ7c9zUlY3H58xzke6DNFDQG8n0WtDN4LAYN4nogKav1ezOfK/z+t6tsCTp+dhx4ymjWuCJk1dEUifDP+HyS4iP/Vg9B2jTo9L4NbiBuDS4nuuHW6H+JDQn2JtqRKGkEQPEYE7uzazXIkcxIAqUq1esasZBETlEZY7y7Jo+RoV/IsjY9eIMkUvr42Hc0xqtsavZvhz1OLwSxMOTuqzlhb0WbdOwBH9EYiyBjatz40bUxTHbiWxqJ0uma19qhPruvcWJlbiSSH48OLDDpaHPszvyct41ZfTu10+vjox6kOqK6v0K/gEPphEvMl/vwSv+A4Hhm36JSP9IXTyCZDm4kKsqD5ay8b1Sad/vaiyO5N/sDfEV6Z4q95E+yfjxpqBoBETW2C7xl4pIO2bDODDFurUPwE7EWC2Uplq+AHmBHvir2PSgkR12/Ry65O0aZtQPeXi9mTlF/Wj5GQ+vFkYyhXsLTjrBSP9hwk4GPqDP5rBn5/l8b0mLRAvRSzXHc293bs3s8EsdE3m2exxidWVB4joHR+S+dz5/W+v00K3TqN14CDBth8eWcsTbiwXPsygHdGid0PEdy6HHm2v/IUuV5RVapYmzGsX90mpnIdNGcOOq64Dbc5GUbYpD9M7S+6cLY//QmjxFLP5cuTFRm3vA5rkFZroFnO3bjHF35uU3s8mvL7Tp9nyTc4mymTJ5sLIp7umSnGkO23faehtz3mmTS7fbVx5rP7x3HXIjRNeq/A3xCs9JNB08c9S9BF2O3bOur0ItslFxXgRPdaapBIi4dRpKGxVz7ir69t/bc9qTxjvtOyGOfiLGDhR4fYywHv1WdOplxIV87TpLBy3Wc0QP0P9s4G7FBNOdITS/tep3o3h1TEa5XDDii7fWtqRzUEReP2fbxz7bHWWJdbIOxOUJZtItNZpTFRfj6vm9sYjRxQVO+WTdiOhdPeTJ+8YirPvoeL88l5iLYOHd3b/Imkq+1ZN1El3UikhftuteEYxf1Wujof8Pr4ICTu5ezZyZ4tHQMxlzUHLYO2VMOoNMGL/20S5i2o2obfk+8qqdR7xzbRDbgU0lnuIgz4LelQ5XS7xbLuSQtNS95v3ZUOdaUx/Qd8qxCt6xf2E62yb/HukLO6RyorV8KgYl5YNc75y+KvefrxY+lc/64y9kvWP0a0bDz/rojq+RWjO06WeruWqNFU7r3HPIcLWRql8ICZsz2Ls/qOm/CLn6++X+Qf7mGspYCrZod/lpl6Rw4xN/yuq8gqV4B6aHk1hVE1SfILxWu5gvXqbfARYQpspcxKp1F/c8XOPzkZvmoSw+vEqBLdrq1fr3wAPv5NnM9i8F+jdAuxkP5Z71c6uhK3enlnGymr7UsWZKC12qgUiG8XXGQ9mxnqz4GSIlybF9eXmbqj2sHX+a1jf0gRoONHRdRSrIq03Ty89eQ1GbV/Bk+du4+V15zls+vvERvZ4E7ZbnxWTVjDjb4o/k8jlw44pTIrUGxxuJvBeO+heuhOjpFsO6lVJ/aXnJDa/bM0Ql1cLbXE/Pbv3EZ3vj3iVrB5irjupZTzlnv677NrI9UNYNqbPgp/HZXS+lJmk87wec+7YOxTDo2aw2l3NfDr34VNlvqWJBknuK7oSlZ6/T10zuOoPZOeoIk81N+sL843WJ2Q4Z0fZ3scsqC/JV2fuhWi1jGURSKZV637lf53Xnnx16/vKEXY89aVJ0fv91jGdfG+G4+sniwHes4hS+udOr4RfhFhG/F5gUG35QaU+McuLmclb5ZWmR+sG5V6nf+PxYzlrnFGxpZaK8eqqVo0NfmAWoGfXDiT/FnUbWvzGDOTr8aktOZWg4BYvz5YH12ZbfCcGtNk+dDAZNGWvHov+PIOnY9Prjg8h/wLRrT69suaMVZ5bNuK00lSVpnqSX1NON/81FoP92rYndionwgOiA8WMf4vc8l15KqEEG4yAm2+WAN5Brfu1sq9suWYqgoajgOYt/JCk1gC8wPkK+XKCtRX6TAtgvrnuBgNRmn6I8lVDipOVB9kX6Oxkp4ZKyd1M6Gj8/v2U7k+YQBL95Kb9PQENucJb0JlW3b5tObN7m/Z1j1ev388d7o15zgXsI9CikAGAViR6lkJv7nb4Ak40M2G8TJ447kN+pvfHiOFjSUSP6PM+QfbAywKJCBaxSVxpizHseZUyUBhq59vFwrkyGoRiHbo0apweEZeSLuNiQ+HAekOnarFg00dZNXaPeoHPTRR0FmEyqYExOVaaaO8c0uFUh7U4e/UxdBmthlBDgg257Q33j1hA7HTxSeTTSuVnPZbgW1nodwmG16aKBDKxEetv7D9OjO0JhrbJTnoe+kcGoDJazFSO8/fUN9Jy/g4XK5PUkw2dgPDGpJqBfhe7GA+cjzfE/EGsMM+FV9nj9IAhrSfT/J3QE5TEIYyk5UjsI6ZZcCPr6A8FZUF4g9nnpVmjX90MLSQysIPD0nFzqwCcSJmIb5mYv2Cmk+C1MDFkZQyCBq4c/Yai9LJ6xYkGS/x2s5/frIW2vmG2Wrv0APpCdgCA9snFvfpe8uc0OwdRs4G9973PGEBnQB5qKrCQ6m6X/H7NInZ7y/1674/ZXOVp7OeuCRk8JFS516VHrnH1HkIUIlTIljjHaQtEtkJtosYul77cVwjk3gW1Ajaa6zWeyHGLlpk3VHE2VFzT2yI/EvlGUSz2H9zYE1s4nsKMtMqNyKNtL/59CpFJki5Fou6VXGm8vWATEPwrUVOLvoA8jLuwOzVBCgHB2Cr5V6OwEWtJEKokJkfc87h+sNHTvMb0KVTp5284QTPupoWvQVUwUeogZR3kBMESYo0mfukewRVPKh5+rzLQb7HKjFFIgWhj1w3yN/qCNoPI8XFiUgBNT1hCHBsAz8L7Oyt8wQWUFj92ONn/APyJFg8hzueqoJdNj57ROrFbffuS/XxrSXLTRgj5uxZjpgQYceeMc2wJrahReSKpm3QjHfqExTLAB2ipVumE8pqcZv8LYXQiPHHsgb5BMW8zM5pvQit+mQx8XGaVDcfVbLyMTlY8xcfmm/RSAT/H09UQol5gIz7rESDmnrQ4bURIB4iRXMDQwxgex1GgtDxKp2HayIkR+E/aDmCttNm2C6lytWdfOVzD6X2SpDWjQDlMRvAp1symWv4my1bPCD+E1EmGnMGWhNwmycJnDV2WrQNxO45ukEb08AAffizYKVULp15I4vbNK5DzWwCSUADfmKhfGSUqii1L2UsE8rB7mLuHuUJZOx4+WiizHBJ/hwboaBzhpNOVvgFTf5cJsHef7L1HCI9dOUUbb+YxUJWn6dYOLz+THi91kzY5dtO5c+grX7v0jEbsuoOGnoIreDIg/sFMyG+TyCLIcAWd1IZ1UNFxE8Uie13ucm40U2fcxC0u3WLvLOxwu+F7MWUsHsdtFQZ7W+nlfCASiAKyh8rnP3EyDByvtJb6Kax6/HkLzT9SyEyTMVM1zPtM0MJY14DmsWh4MgD15Ea9Hd00AdkTZ0EiG5NAGuIBzQJJ0JR0na+OB7lQA6UKxMfihIQ7GCCnVz694QvykWXTxpS2soDu+smru1UdIxSvAszBFD1c8c6ZOobA8bJiJIvuycgIXBQIXWwhyTgZDQxJTRXgEwRNAawGSXO0a1DKjdihLVNp/taE/xYhsgwe+VpKEEB4LlraQyE84gEihxCnbfoyOuJIEXy2FIYw+JjRusybKlU2g/vhTSGTydvCvXhYBdtAXtS2v7LkHtmXh/8fly1do8FI/D0f8UbzVb5h+KRhMGSAmR2mhi0YG/uj7wgxcfzCrMvdjitUIpXDX8ae2JcF/36qUWIMwN6JsjaRGNj+jEteGDcFyTUb8X/NHSucKMJp7pduxtD6KuxVlyxxwaeiC1FbGBESO84lbyrAugYxdl+2N8/6AgWpo/IeoAOcsG35IA/b3AuSyoa55L7llBLlaWlEWvuCFd8f8NfcTUgzJv6CbB+6ohWwodlk9nGWFpBAOaz5uEW5xBvmjnHFeDsb0mXwayj3mdYq5gxxNf3H3/tnCgHwjSrpSgVxLmiTtuszdRUFIsn6LiMPjL808vL1uQhDbM7aA43mISXReqjSskynIRcHCJ9qeFopJfx9tqyUoGbSwJex/0aDE3plBPGtNBYgWbdLom3+Q/bjdizR2/AS/c/dH/d3G7pyl1qDXgtOFtEqidwLqxPYtrNEveasWq3vPUUtqTeu8gpov4bdOQRI2kneFvRNMrShyVeEupK1PoLDPMSfWMIJcs267mGB8X9CehQCF0gIyhpP10mbyM7lwW1e6TGvHBV1sg/UyTghHPGRqMyaebC6pbB1WKNCQtlai1GGvmq9zUKaUzLaXsXEBYtHxmFbEZ2kJhR164LhWW2Tlp1dhsGE7ZgIWRBOx3Zcu2DxgH+G83WTPceKG0TgQKKiiNNOlWgvqNEbnrk6fVD+AqRam2OguZb0YWSTX88N+i/ELSxbaUUpPx4vJUzYg/WonSeA8xUK6u7DPHgpqWpEe6D4cXg5uK9FIYVba47V/nb+wyOtk+zG8RrS4EA0ouwa04iByRLSvoJA2FzaobbZtXnq8GdbfqEp5I2dpfpj59TCVif6+E75p665faiX8gS213RqBxTZqfHP46nF6NSenOneuT+vgbLUbdTH2/t0REFXZJOEB6DHvx6N6g9956CYrY/AYcm9gELJXYkrSi+0F0geKDZgOCIYkLU/+GOW5aGj8mvLFgtFH5+XC8hvAE3CvHRfl4ofM/Qwk4x2A+R+nyc9gNu/9Tem7XW4XRnyRymf52z09cTOdr+PG6+P/Vb4QiXlwauc5WB1z3o+IJjlbxI8MyWtSzT+k4sKVbhF3xa+vDts3NxXa87iiu+xRH9cAprnOL2h6vV54iQRXuOAj1s8nLFK8gZ70ThIQcWdF19/2xaJmT0efrkNDkWbpAQPdo92Z8+Hn/aLjbOzB9AI/k12fPs9HhUNDJ1u6ax2VxD3R6PywN7BrLJ26z6s3QoMp76qzzwetrDABKSGkfW5PwS1GvYNUbK6uRqxfyVGNyFB0E+OugMM8kKwmJmupuRWO8XkXXXQECyRVw9UyIrtCtcc4oNqXqr7AURBmKn6Khz3eBN96LwIJrAGP9mr/59uTOSx631suyT+QujDd4beUFpZ0kJEEnjlP+X/Kr2kCKhnENTg4BsMTOmMqlj2WMFLRUlVG0fzdCBgUta9odrJfpVdFomTi6ak0tFjXTcdqqvWBAzjY6hVrH9sbt3Z9gn+AVDpTcQImefbB4edirjzrsNievve4ZT4EUZWV3TxEsIW+9MT/RJoKfZZYSRGfC1CwPG/9rdMOM8qR/LUYvw5f/emUSoD7YSFuOoqchdUg2UePd1eCtFSKgxLSZ764oy4lvRCIH6bowPxZWwxNFctksLeil47pfevcBipkkBIc4ngZG+kxGZ71a72KQ7VaZ6MZOZkQJZXM6kb/Ac0/XkJx8dvyfJcWbI3zONEaEPIW8GbkYjsZcwy+eMoKrYjDmvEEixHzkCSCRPRzhOfJZuLdcbx19EL23MA8rnjTZZ787FGMnkqnpuzB5/90w1gtUSRaWcb0eta8198VEeZMUSfIhyuc4/nywFQ9uqn7jdqXh+5wwv+RK9XouNPbYdoEelNGo34KyySwigsrfCe0v/PlWPvQvQg8R0KgHO18mTVThhQrlbEQ0Kp/JxPdjHyR7E1QPw/ut0r+HDDG7BwZFm9IqEUZRpv2WpzlMkOemeLcAt5CsrzskLGaVOAxyySzZV/D2EY7ydNZMf8e8VhHcKGHAWNszf1EOq8fNstijMY4JXyATwTdncFFqcNDfDo+mWFvxJJpc4sEZtjXyBdoFcxbUmniCoKq5jydUHNjYJxMqN1KzYV62MugcELVhS3Bnd+TLLOh7dws/zSXWzxEb4Nj4aFun5x4kDWLK5TUF/yCXB/cZYvI9kPgVsG2jShtXkxfgT+xzjJofXqPEnIXIQ1lnIdmVzBOM90EXvJUW6a0nZ/7XjJGl8ToO3H/fdxnxmTNKBZxnkpXLVgLXCZywGT3YyS75w/PAH5I/jMuRspej8xZObU9kREbRA+kqjmKRFaKGWAmFQspC+QLbKPf0RaK3OXvBSWqo46p70ws/eZpu6jCtZUgQy6r4tHMPUdAgWGGUYNbuv/1a6K+MVFsd3T183+T8capSo6m0+Sh57fEeG/95dykGJBQMj09DSW2bY0mUonDy9a8trLnnL5B5LW3Nl8rJZNysO8Zb+80zXxqUGFpud3Qzwb7bf+8mq6x0TAnJU9pDQR9YQmZhlna2xuxJt0aCO/f1SU8gblOrbIyMsxTlVUW69VJPzYU2HlRXcqE2lLLxnObZuz2tT9CivfTAUYfmzJlt/lOPgsR6VN64/xQd4Jlk/RV7UKVv2Gx/AWsmTAuCWKhdwC+4HmKEKYZh2Xis4KsUR1BeObs1c13wqFRnocdmuheaTV30gvVXZcouzHKK5zwrN52jXJEuX6dGx3BCpV/++4f3hyaW/cQJLFKqasjsMuO3B3WlMq2gyYfdK1e7L2pO/tRye2mwzwZPfdUMrl5wdLqdd2Kv/wVtnpyWYhd49L6rsOV+8HXPrWH2Kup89l2tz6bf80iYSd+V4LROSOHeamvexR524q4r43rTmtFzQvArpvWfLYFZrbFspBsXNUqqenjxNNsFXatZvlIhk7teUPfK+YL32F8McTnjv0BZNppb+vshoCrtLXjIWq3EJXpVXIlG6ZNL0dh6qEm2WMwDjD3LfOfkGh1/czYc/0qhiD2ozNnH4882MVVt3JbVFkbwowNCO3KL5IoYW5wlVeGCViOuv1svZx7FbzxKzA4zGqBlRRaRWCobXaVq4yYCWbZf8eiJwt3OY+MFiSJengcFP2t0JMfzOiJ7cECvpx7neg1Rc5x+7myPJOXt2FohVRyXtD+/rDoTOyGYInJelZMjolecVHUhUNqvdZWg2J2t0jPmiLFeRD/8fOT4o+NGILb+TufCo9ceBBm3JLVn+MO2675n7qiEX/6W+188cYg3Zn5NSTjgOKfWFSAANa6raCxSoVU851oJLY11WIoYK0du0ec5E4tCnAPoKh71riTsjVIp3gKvBbEYQiNYrmH22oLQWA2AdwMnID6PX9b58dR2QKo4qag1D1Z+L/FwEKTR7osOZPWECPJIHQqPUsM5i/CH5YupVPfFA5pHUBcsesh8eO5YhyWnaVRPZn/BmdXVumZWPxMP5e28zm2uqHgFoT9CymHYNNrzrrjlXZM06HnzDxYNlI5b/QosxLmmrqDFqmogQdqk0WLkUceoAvQxHgkIyvWU69BPFr24VB6+lx75Rna6dGtrmOxDnvBojvi1/4dHjVeg8owofPe1cOnxU1ioh016s/Vudv9mhV9f35At+Sh28h1bpp8xhr09+vf47Elx3Ms6hyp6QvB3t0vnLbOhwo660cp7K0vvepabK7YJfxEWWfrC2YzJfYOjygPwfwd/1amTqa0hZ5ueebhWYVMubRTwIjj+0Oq0ohU3zfRfuL8gt59XsHdwKtxTQQ4Y2qz6gisxnm2UdlmpEkgOsZz7iEk6QOt8BuPwr+NR01LTqXmJo1C76o1N274twJvl+I069TiLpenK/miRxhyY8jvYV6W1WuSwhH9q7kuwnJMtm7IWcqs7HsnyHSqWXLSpYtZGaR1V3t0gauninFPZGtWskF65rtti48UV9uV9KM8kfDYs0pgB00S+TlzTXV6P8mxq15b9En8sz3jWSszcifZa/NuufPNnNTb031pptt0+sRSH/7UG8pzbsgtt3OG3ut7B9JzDMt2mTZuyRNIV8D54TuTrpNcHtgmMlYJeiY9XS83NYJicjRjtJSf9BZLsQv629QdDsKQhTK5CnXhpk7vMNkHzPhm0ExW/VCGApHfPyBagtZQTQmPHx7g5IXXsrQDPzIVhv2LB6Ih138iSDww1JNHrDvzUxvp73MsQBVhW8EbrReaVUcLB1R3PUXyaYG4HpJUcLVxMgDxcPkVRQpL7VTAGabDzbKcvg12t5P8TSGQkrj/gOrpnbiDHwluA73xbXts/L7u468cRWSWRtgTwlQnA47EKg0OiZDgFxAKQQUcsbGomITgeXUAAyKe03eA7Mp4gnyKQmm0LXJtEk6ddksMJCuxDmmHzmVhO+XaN2A54MIh3niw5CF7PwiXFZrnA8wOdeHLvvhdoqIDG9PDI7UnWWHq526T8y6ixJPhkuVKZnoUruOpUgOOp3iIKBjk+yi1vHo5cItHXb1PIKzGaZlRS0g5d3MV2pD8FQdGYLZ73aae/eEIUePMc4NFz8pIUfLCrrF4jVWH5gQneN3S8vANBmUXrEcKGn6hIUN95y1vpsvLwbGpzV9L0ZKTan6TDXM05236uLJcIEMKVAxKNT0K8WljuwNny3BNQRfzovA85beI9zr1AGNYnYCVkR1aGngWURUrgqR+gRrQhxW81l3CHevjvGEPzPMTxdsIfB9dfGRbZU0cg/1mcubtECX4tvaedmNAvTxCJtc2QaoUalGfENCGK7IS/O8CRpdOVca8EWCRwv2sSWE8CJPW5PCugjCXPd3h6U60cPD+bdhtXZuYB6stcoveE7Sm5MM2yvfUHXFSW7KzLmi7/EeEWL0wqcOH9MOSKjhCHHmw+JGLcYE/7SBZQCRggox0ZZTAxrlzNNXYXL5fNIjkdT4YMqVUz6p8YDt049v4OXGdg3qTrtLBUXOZf7ahPlZAY/O+7Sp0bvGSHdyQ8B1LOsplqMb9Se8VAE7gIdSZvxbRSrfl+Lk5Qaqi5QJceqjitdErcHXg/3MryljPSIAMaaloFm1cVwBJ8DNmkDqoGROSHFetrgjQ5CahuKkdH5pRPigMrgTtlFI8ufJPJSUlGgTjbBSvpRc0zypiUn6U5KZqcRoyrtzhmJ7/caeZkmVRwJQeLOG8LY6vP5ChpKhc8Js0El+n6FXqbx9ItdtLtYP92kKfaTLtCi8StLZdENJa9Ex1nOoz1kQ7qxoiZFKRyLf4O4CHRT0T/0W9F8epNKVoeyxUXhy3sQMMsJjQJEyMOjmOhMFgOmmlscV4eFi1CldU92yjwleirEKPW3bPAuEhRZV7JsKV3Lr5cETAiFuX5Nw5UlF7d2HZ96Bh0sgFIL5KGaKSoVYVlvdKpZJVP5+NZ7xDEkQhmDgsDKciazJCXJ6ZN2B3FY2f6VZyGl/t4aunGIAk/BHaS+i+SpdRfnB/OktOvyjinWNfM9Ksr6WwtCa1hCmeRI6icpFM4o8quCLsikU0tMoZI/9EqXRMpKGaWzofl4nQuVQm17d5fU5qXCQeCDqVaL9XJ9qJ08n3G3EFZS28SHEb3cdRBdtO0YcTzil3QknNKEe/smQ1fTb0XbpyNB5xAeuIlf+5KWlEY0DqJbsnzJlQxJPOVyHiKMx5Xu9FcEv1Fbg6Fhm4t+Jyy5JC1W3YO8dYLsO0PXPbxodBgttTbH3rt9Cp1lJIk2r3O1Zqu94eRbnIz2f50lWolYzuKsj4PMok4abHLO8NAC884hiXx5Fy5pWKO0bWL7uEGXaJCtznhP67SlQ4xjWIfgq6EpZ28QMtuZK7JC0RGbl9nA4XtFLug/NLMoH1pGt9IonAJqcEDLyH6TDROcbsmGPaGIxMo41IUAnQVPMPGByp4mOmh9ZQMkBAcksUK55LsZj7E5z5XuZoyWCKu6nHmDq22xI/9Z8YdxJy4kWpD16jLVrpwGLWfyOD0Wd+cBzFBxVaGv7S5k9qwh/5t/LQEXsRqI3Q9Rm3QIoaZW9GlsDaKOUyykyWuhNOprSEi0s1G4rgoiX1V743EELti+pJu5og6X0g6oTynUqlhH9k6ezyRi05NGZHz0nvp3HOJr7ebrAUFrDjbkFBObEvdQWkkUbL0pEvMU46X58vF9j9F3j6kpyetNUBItrEubW9ZvMPM4qNqLlsSBJqOH3XbNwv/cXDXNxN8iFLzUhteisYY+RlHYOuP29/Cb+L+xv+35Rv7xudnZ6ohK4cMPfCG8KI7dNmjNk/H4e84pOxn/sZHK9psfvj8ncA8qJz7O8xqbxESDivGJOZzF7o5PJLQ7g34qAWoyuA+x3btU98LT6ZyGyceIXjrqob2CAVql4VOTQPUQYvHV/g4zAuCZGvYQBtf0wmd5lilrvuEn1BXLny01B4h4SMDlYsnNpm9d7m9h578ufpef9Z4WplqWQvqo52fyUA7J24eZD5av6SyGIV9kpmHNqyvdfzcpEMw97BvknV2fq+MFHun9BT3Lsf8pbzvisWiIQvYkng+8Vxk1V+dli1u56kY50LRjaPdotvT5BwqtwyF+emo/z9J3yVUVGfKrxQtJMOAQWoQii/4dp9wgybSa5mkucmRLtEQZ/pz0tL/NVcgWAd95nEQ3Tg6tNbuyn3Iepz65L3huMUUBntllWuu4DbtOFSMSbpILV4fy6wlM0SOvi6CpLh81c1LreIvKd61uEWBcDw1lUBUW1I0Z+m/PaRlX+PQ/oxg0Ye6KUiIiTF4ADNk59Ydpt5/rkxmq9tV5Kcp/eQLUVVmBzQNVuytQCP6Ezd0G8eLxWyHpmZWJ3bAzkWTtg4lZlw42SQezEmiUPaJUuR/qklVA/87S4ArFCpALdY3QRdUw3G3XbWUp6aq9z0zUizcPa7351p9JXOZyfdZBFnqt90VzQndXB/mwf8LC9STj5kenVpNuqOQQP3mIRJj7eV21FxG8VAxKrEn3c+XfmZ800EPb9/5lIlijscUbB6da0RQaMook0zug1G0tKi/JBC4rw7/D3m4ARzAkzMcVrDcT2SyFtUdWAsFlsPDFqV3N+EjyXaoEePwroaZCiLqEzb8MW+PNE9TmTC01EzWli51PzZvUqkmyuROU+V6ik+Le/9qT6nwzUzf9tP68tYei0YaDGx6kAd7jn1cKqOCuYbiELH9zYqcc4MnRJjkeGiqaGwLImhyeKs+xKJMBlOJ05ow9gGCKZ1VpnMKoSCTbMS+X+23y042zOb5MtcY/6oBeAo1Vy89OTyhpavFP78jXCcFH0t7Gx24hMEOm2gsEfGabVpQgvFqbQKMsknFRRmuPHcZu0Su/WMFphZvB2r/EGbG72rpGGho3h+Msz0uGzJ7hNK2uqQiE1qmn0zgacKYYZBCqsxV+sjbpoVdSilW/b94n2xNb648VmNIoizqEWhBnsen+d0kbCPmRItfWqSBeOd9Wne3c6bcd6uvXOJ6WdiSsuXq0ndhqrQ4QoWUjCjYtZ0EAhnSOP1m44xkf0O7jXghrzSJWxP4a/t72jU29Vu2rvu4n7HfHkkmQOMGSS+NPeLGO5I73mC2B7+lMiBQQZRM9/9liLIfowupUFAbPBbR+lxDM6M8Ptgh1paJq5Rvs7yEuLQv/7d1oU2woFSb3FMPWQOKMuCuJ7pDDjpIclus5TeEoMBy2YdVB4fxmesaCeMNsEgTHKS5WDSGyNUOoEpcC2OFWtIRf0w27ck34/DjxRTVIcc9+kqZE6iMSiVDsiKdP/Xz5XfEhm/sBhO50p1rvJDlkyyxuJ9SPgs7YeUJBjXdeAkE+P9OQJm6SZnn1svcduI78dYmbkE2mtziPrcjVisXG78spLvbZaSFx/Rks9zP4LKn0Cdz/3JsetkT06A8f/yCgMO6Mb1Hme0JJ7b2wZz1qleqTuKBGokhPVUZ0dVu+tnQYNEY1fmkZSz6+EGZ5EzL7657mreZGR3jUfaEk458PDniBzsSmBKhDRzfXameryJv9/D5m6HIqZ0R+ouCE54Dzp4IJuuD1e4Dc5i+PpSORJfG23uVgqixAMDvchMR0nZdH5brclYwRoJRWv/rlxGRI5ffD5NPGmIDt7vDE1434pYdVZIFh89Bs94HGGJbTwrN8T6lh1HZFTOB4lWzWj6EVqxSMvC0/ljWBQ3F2kc/mO2b6tWonT2JEqEwFts8rz2h+oWNds9ceR2cb7zZvJTDppHaEhK5avWqsseWa2Dt5BBhabdWSktS80oMQrL4TvAM9b5HMmyDnO+OkkbMXfUJG7eXqTIG6lqSOEbqVR+qYdP7uWb57WEJqzyh411GAVsDinPs7KvUeXItlcMdOUWzXBH6zscymV1LLVCtc8IePojzXHF9m5b5zGwBRdzcyUJkiu938ApmAayRdJrX1PmVguWUvt2ThQ62czItTyWJMW2An/hdDfMK7SiFQlGIdAbltHz3ycoh7j9V7GxNWBpbtcSdqm4XxRwTawc3cbZ+xfSv9qQfEkDKfZTwCkqWGI/ur250ItXlMlh6vUNWEYIg9A3GzbgmbqvTN8js2YMo87CU5y6nZ4dbJLDQJj9fc7yM7tZzJDZFtqOcU8+mZjYlq4VmifI23iHb1ZoT9E+kT2dolnP1AfiOkt7PQCSykBiXy5mv637IegWSKj9IKrYZf4Lu9+I7ub+mkRdlvYzehh/jaJ9n7HUH5b2IbgeNdkY7wx1yVzxS7pbvky6+nmVUtRllEFfweUQ0/nG017WoUYSxs+j2B4FV/F62EtHlMWZXYrjGHpthnNb1x66LKZ0Qe92INWHdfR/vqp02wMS8r1G4dJqHok8KmQ7947G13a4YXbsGgHcBvRuVu1eAi4/A5+ZixmdSXM73LupB/LH7O9yxLTVXJTyBbI1S49TIROrfVCOb/czZ9pM4JsZx8kUz8dQGv7gUWKxXvTH7QM/3J2OuXXgciUhqY+cgtaOliQQVOYthBLV3xpESZT3rmfEYNZxmpBbb24CRao86prn+i9TNOh8VxRJGXJfXHATJHs1T5txgc/opYrY8XjlGQQbRcoxIBcnVsMjmU1ymmIUL4dviJXndMAJ0Yet+c7O52/p98ytlmAsGBaTAmMhimAnvp1TWNGM9BpuitGj+t810CU2UhorrjPKGtThVC8WaXw04WFnT5fTjqmPyrQ0tN3CkLsctVy2xr0ZWgiWVZ1OrlFjjxJYsOiZv2cAoOvE+7sY0I/TwWcZqMoyIKNOftwP7w++Rfg67ljfovKYa50if3fzE/8aPYVey/Nq35+nH2sLPh/fP5TsylSKGOZ4k69d2PnH43+kq++sRXHQqGArWdwhx+hpwQC6JgT2uxehYU4Zbw7oNb6/HLikPyJROGK2ouyr+vzseESp9G50T4AyFrSqOQ0rroCYP4sMDFBrHn342EyZTMlSyk47rHSq89Y9/nI3zG5lX16Z5lxphguLOcZUndL8wNcrkyjH82jqg8Bo8OYkynrxZvbFno5lUS3OPr8Ko3mX9NoRPdYOKKjD07bvgFgpZ/RF+YzkWvJ/Hs/tUbfeGzGWLxNAjfDzHHMVSDwB5SabQLsIZHiBp43FjGkaienYoDd18hu2BGwOK7U3o70K/WY/kuuKdmdrykIBUdG2mvE91L1JtTbh20mOLbk1vCAamu7utlXeGU2ooVikbU/actcgmsC1FKk2qmj3GWeIWbj4tGIxE7BLcBWUvvcnd/lYxsMV4F917fWeFB/XbINN3qGvIyTpCalz1lVewdIGqeAS/gB8Mi+sA+BqDiX3VGD2eUunTRbSY+AuDy4E3Qx3hAhwnSXX+B0zuj3eQ1miS8Vux2z/l6/BkWtjKGU72aJkOCWhGcSf3+kFkkB15vGOsQrSdFr6qTj0gBYiOlnBO41170gOWHSUoBVRU2JjwppYdhIFDfu7tIRHccSNM5KZOFDPz0TGMAjzzEpeLwTWp+kn201kU6NjbiMQJx83+LX1e1tZ10kuChJZ/XBUQ1dwaBHjTDJDqOympEk8X2M3VtVw21JksChA8w1tTefO3RJ1FMbqZ01bHHkudDB/OhLfe7P5GOHaI28ZXKTMuqo0hLWQ4HabBsGG7NbP1RiXtETz074er6w/OerJWEqjmkq2y51q1BVI+JUudnVa3ogBpzdhFE7fC7kybrAt2Z6RqDjATAUEYeYK45WMupBKQRtQlU+uNsjnzj6ZmGrezA+ASrWxQ6LMkHRXqXwNq7ftv28dUx/ZSJciDXP2SWJsWaN0FjPX9Yko6LobZ7aYW/IdUktI9apTLyHS8DyWPyuoZyxN1TK/vtfxk3HwWh6JczZC8Ftn0bIJay2g+n5wd7lm9rEsKO+svqVmi+c1j88hSCxbzrg4+HEP0Nt1/B6YW1XVm09T1CpAKjc9n18hjqsaFGdfyva1ZG0Xu3ip6N6JGpyTSqY5h4BOlpLPaOnyw45PdXTN+DtAKg7DLrLFTnWusoSBHk3s0d7YouJHq85/R09Tfc37ENXZF48eAYLnq9GLioNcwDZrC6FW6godB8JnqYUPvn0pWLfQz0lM0Yy8Mybgn84Ds3Q9bDP10bLyOV+qzxa4Rd9Dhu7cju8mMaONXK3UqmBQ9qIg7etIwEqM/kECk/Dzja4Bs1xR+Q/tCbc8IKrSGsTdJJ0vge7IG20W687uVmK6icWQ6cD3lwFzgNMGtFvO5qyJeKflGLAAcQZOrkxVwy3cWvqlGpvjmf9Qe6Ap20MPbV92DPV0OhFM4kz8Yr0ffC2zLWSQ1kqY6QdQrttR3kh1YLtQd1kCEv5hVoPIRWl5ERcUTttBIrWp6Xs5Ehh5OUUwI5aEBvuiDmUoENmnVw1FohCrbRp1A1E+XSlWVOTi7ADW+5Ohb9z1vK4qx5R5lPdGCPBJZ00mC+Ssp8VUbgpGAvXWMuWQQRbCqI6Rr2jtxZxtfP7W/8onz+yz0Gs76LaT5HX9ecyiZCB/ZR/gFtMxPsDwohoeCRtiuLxE1GM1vUEUgBv86+eehL58/P56QFGQ/MqOe/vC76L63jzmeax4exd/OKTUvkXg+fOJUHych9xt/9goJMrapSgvXrj8+8vk/N80f22Sewj6cyGqt1B6mztoeklVHHraouhvHJaG/OuBz6DHKMpFmQULU1bRWlyYE0RPXYYkUycIemN7TLtgNCJX6BqdyxDKkegO7nJK5xQ7OVYDZTMf9bVHidtk6DQX9Et+V9M7esgbsYBdEeUpsB0Xvw2kd9+rI7V+m47u+O/tq7mw7262HU1WlS9uFzsV6JxIHNmUCy0QS9e077JGRFbG65z3/dOKB/Zk+yDdKpUmdXjn/aS3N5nv4fK7bMHHmPlHd4E2+iTbV5rpzScRnxk6KARuDTJ8Q1LpK2mP8gj1EbuJ9RIyY+EWK4hCiIDBAS1Tm2IEXAFfgKPgdL9O6mAa06wjCcUAL6EsxPQWO9VNegBPm/0GgkZbDxCynxujX/92vmGcjZRMAY45puak2sFLCLSwXpEsyy5fnF0jGJBhm+fNSHKKUUfy+276A7/feLOFxxUuHRNJI2Osenxyvf8DAGObT60pfTTlhEg9u/KKkhJqm5U1/+BEcSkpFDA5XeCqxwXmPac1jcuZ3JWQ+p0NdWzb/5v1ZvF8GtMTFFEdQjpLO0bwPb0BHNWnip3liDXI2fXf05jjvfJ0NpjLCUgfTh9CMFYVFKEd4Z/OG/2C+N435mnK+9t1gvCiVcaaH7rK4+PjCvpVNiz+t2QyqH1O8x3JKZVl6Q+Lp/XK8wMjVMslOq9FdSw5FtUs/CptXH9PW+wbWHgrV17R5jTVOtGtKFu3nb80T+E0tv9QkzW3J2dbaw/8ddAKZ0pxIaEqLjlPrji3VgJ3GvdFvlqD8075woxh4fVt0JZE0KVFsAvqhe0dqN9b35jtSpnYMXkU+vZq+IAHad3IHc2s/LYrnD1anfG46IFiMIr9oNbZDWvwthqYNqOigaKd/XlLU4XHfk/PXIjPsLy/9/kAtQ+/wKH+hI/IROWj5FPvTZAT9f7j4ZXQyG4M0TujMAFXYkKvEHv1xhySekgXGGqNxWeWKlf8dDAlLuB1cb/qOD+rk7cmwt+1yKpk9cudqBanTi6zTbXRtV8qylNtjyOVKy1HTz0GW9rjt6sSjAZcT5R+KdtyYb0zyqG9pSLuCw5WBwAn7fjBjKLLoxLXMI+52L9cLwIR2B6OllJZLHJ8vDxmWdtF+QJnmt1rsHPIWY20lftk8fYePkAIg6Hgn532QoIpegMxiWgAOfe5/U44APR8Ac0NeZrVh3gEhs12W+tVSiWiUQekf/YBECUy5fdYbA08dd7VzPAP9aiVcIB9k6tY7WdJ1wNV+bHeydNtmC6G5ICtFC1ZwmJU/j8hf0I8TRVKSiz5oYIa93EpUI78X8GYIAZabx47/n8LDAAJ0nNtP1rpROprqKMBRecShca6qXuTSI3jZBLOB3Vp381B5rCGhjSvh/NSVkYp2qIdP/Bg="},42043:function(t,e,r){var n=r(76533);e.init=function(){e.dictionary=n.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},31945:function(t,e){function r(t,e){this.bits=t,this.value=e}e.h=r;var n=15;function i(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function o(t,e,n,i,o){do{t[e+(i-=n)]=new r(o.bits,o.value)}while(i>0)}function s(t,e,r){for(var i=1<<e-r;e<n&&!((i-=t[e])<=0);)++e,i<<=1;return e-r}e.g=function(t,e,a,c,u){var l,f,h,d,p,g,y,b,v,m,w=e,S=new Int32Array(16),x=new Int32Array(16);for(m=new Int32Array(u),f=0;f<u;f++)S[c[f]]++;for(x[1]=0,l=1;l<n;l++)x[l+1]=x[l]+S[l];for(f=0;f<u;f++)0!==c[f]&&(m[x[c[f]]++]=f);if(v=b=1<<(y=a),1===x[15]){for(h=0;h<v;++h)t[e+h]=new r(0,65535&m[0]);return v}for(h=0,f=0,l=1,d=2;l<=a;++l,d<<=1)for(;S[l]>0;--S[l])o(t,e+h,d,b,new r(255&l,65535&m[f++])),h=i(h,l);for(g=v-1,p=-1,l=a+1,d=2;l<=n;++l,d<<=1)for(;S[l]>0;--S[l])(h&g)!==p&&(e+=b,v+=b=1<<(y=s(S,l,a)),t[w+(p=h&g)]=new r(y+a&255,e-w-p&65535)),o(t,e+(h>>a),d,b,new r(l-a&255,65535&m[f++])),h=i(h,l);return v}},54490:function(t,e){function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},20695:function(t,e){function r(t){this.buffer=t,this.pos=0}function n(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var n=0;n<r;n++)t[e+n]=this.buffer[this.pos+n];return this.pos+=r,r},e.g=r,n.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.j=n},97672:function(t,e,r){var n=r(42043),i=10,o=11;function s(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var n=0;n<t.length;n++)this.prefix[n]=t.charCodeAt(n);for(n=0;n<r.length;n++)this.suffix[n]=r.charCodeAt(n)}var a=[new s("",0,""),new s("",0," "),new s(" ",0," "),new s("",12,""),new s("",i," "),new s("",0," the "),new s(" ",0,""),new s("s ",0," "),new s("",0," of "),new s("",i,""),new s("",0," and "),new s("",13,""),new s("",1,""),new s(", ",0," "),new s("",0,", "),new s(" ",i," "),new s("",0," in "),new s("",0," to "),new s("e ",0," "),new s("",0,'"'),new s("",0,"."),new s("",0,'">'),new s("",0,"\n"),new s("",3,""),new s("",0,"]"),new s("",0," for "),new s("",14,""),new s("",2,""),new s("",0," a "),new s("",0," that "),new s(" ",i,""),new s("",0,". "),new s(".",0,""),new s(" ",0,", "),new s("",15,""),new s("",0," with "),new s("",0,"'"),new s("",0," from "),new s("",0," by "),new s("",16,""),new s("",17,""),new s(" the ",0,""),new s("",4,""),new s("",0,". The "),new s("",o,""),new s("",0," on "),new s("",0," as "),new s("",0," is "),new s("",7,""),new s("",1,"ing "),new s("",0,"\n\t"),new s("",0,":"),new s(" ",0,". "),new s("",0,"ed "),new s("",20,""),new s("",18,""),new s("",6,""),new s("",0,"("),new s("",i,", "),new s("",8,""),new s("",0," at "),new s("",0,"ly "),new s(" the ",0," of "),new s("",5,""),new s("",9,""),new s(" ",i,", "),new s("",i,'"'),new s(".",0,"("),new s("",o," "),new s("",i,'">'),new s("",0,'="'),new s(" ",0,"."),new s(".com/",0,""),new s(" the ",0," of the "),new s("",i,"'"),new s("",0,". This "),new s("",0,","),new s(".",0," "),new s("",i,"("),new s("",i,"."),new s("",0," not "),new s(" ",0,'="'),new s("",0,"er "),new s(" ",o," "),new s("",0,"al "),new s(" ",o,""),new s("",0,"='"),new s("",o,'"'),new s("",i,". "),new s(" ",0,"("),new s("",0,"ful "),new s(" ",i,". "),new s("",0,"ive "),new s("",0,"less "),new s("",o,"'"),new s("",0,"est "),new s(" ",i,"."),new s("",o,'">'),new s(" ",0,"='"),new s("",i,","),new s("",0,"ize "),new s("",o,"."),new s("Â ",0,""),new s(" ",0,","),new s("",i,'="'),new s("",o,'="'),new s("",0,"ous "),new s("",o,", "),new s("",i,"='"),new s(" ",i,","),new s(" ",o,'="'),new s(" ",o,", "),new s("",o,","),new s("",o,"("),new s("",o,". "),new s(" ",o,"."),new s("",o,"='"),new s(" ",o,". "),new s(" ",i,'="'),new s(" ",o,"='"),new s(" ",i,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,s,u){var l,f=a[u].prefix,h=a[u].suffix,d=a[u].transform,p=d<12?0:d-11,g=0,y=e;p>s&&(p=s);for(var b=0;b<f.length;)t[e++]=f[b++];for(r+=p,s-=p,d<=9&&(s-=d),g=0;g<s;g++)t[e++]=n.dictionary[r+g];if(l=e-s,d===i)c(t,l);else if(d===o)for(;s>0;){var v=c(t,l);l+=v,s-=v}for(var m=0;m<h.length;)t[e++]=h[m++];return e-y}},85076:function(t,e,r){t.exports=r(86745).BrotliDecompressBuffer},64747:function(t,e,r){"use strict";var n=r(17173).Buffer,i=r(96456),o=r(82526),s=r(51206),a=r(13633),c=r(61515),u=r(81769);for(var l in u)e[l]=u[l];e.NONE=0,e.DEFLATE=1,e.INFLATE=2,e.GZIP=3,e.GUNZIP=4,e.DEFLATERAW=5,e.INFLATERAW=6,e.UNZIP=7;function f(t){if("number"!=typeof t||t<e.DEFLATE||t>e.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=t,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}f.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,o(this.init_done,"close before init"),o(this.mode<=e.UNZIP),this.mode===e.DEFLATE||this.mode===e.GZIP||this.mode===e.DEFLATERAW?a.deflateEnd(this.strm):this.mode!==e.INFLATE&&this.mode!==e.GUNZIP&&this.mode!==e.INFLATERAW&&this.mode!==e.UNZIP||c.inflateEnd(this.strm),this.mode=e.NONE,this.dictionary=null)},f.prototype.write=function(t,e,r,n,i,o,s){return this._write(!0,t,e,r,n,i,o,s)},f.prototype.writeSync=function(t,e,r,n,i,o,s){return this._write(!1,t,e,r,n,i,o,s)},f.prototype._write=function(t,r,s,a,c,u,l,f){if(o.equal(arguments.length,8),o(this.init_done,"write before init"),o(this.mode!==e.NONE,"already finalized"),o.equal(!1,this.write_in_progress,"write already in progress"),o.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,o.equal(!1,void 0===r,"must provide flush value"),this.write_in_progress=!0,r!==e.Z_NO_FLUSH&&r!==e.Z_PARTIAL_FLUSH&&r!==e.Z_SYNC_FLUSH&&r!==e.Z_FULL_FLUSH&&r!==e.Z_FINISH&&r!==e.Z_BLOCK)throw new Error("Invalid flush value");if(null==s&&(s=n.alloc(0),c=0,a=0),this.strm.avail_in=c,this.strm.input=s,this.strm.next_in=a,this.strm.avail_out=f,this.strm.output=u,this.strm.next_out=l,this.flush=r,!t)return this._process(),this._checkError()?this._afterSync():void 0;var h=this;return i.nextTick((function(){h._process(),h._after()})),this},f.prototype._afterSync=function(){var t=this.strm.avail_out,e=this.strm.avail_in;return this.write_in_progress=!1,[e,t]},f.prototype._process=function(){var t=null;switch(this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=a.deflate(this.strm,this.flush);break;case e.UNZIP:switch(this.strm.avail_in>0&&(t=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===t)break;if(31!==this.strm.input[t]){this.mode=e.INFLATE;break}if(this.gzip_id_bytes_read=1,t++,1===this.strm.avail_in)break;case 1:if(null===t)break;139===this.strm.input[t]?(this.gzip_id_bytes_read=2,this.mode=e.GUNZIP):this.mode=e.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:for(this.err=c.inflate(this.strm,this.flush),this.err===e.Z_NEED_DICT&&this.dictionary&&(this.err=c.inflateSetDictionary(this.strm,this.dictionary),this.err===e.Z_OK?this.err=c.inflate(this.strm,this.flush):this.err===e.Z_DATA_ERROR&&(this.err=e.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===e.GUNZIP&&this.err===e.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=c.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},f.prototype._checkError=function(){switch(this.err){case e.Z_OK:case e.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===e.Z_FINISH)return this._error("unexpected end of file"),!1;break;case e.Z_STREAM_END:break;case e.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},f.prototype._after=function(){if(this._checkError()){var t=this.strm.avail_out,e=this.strm.avail_in;this.write_in_progress=!1,this.callback(e,t),this.pending_close&&this.close()}},f.prototype._error=function(t){this.strm.msg&&(t=this.strm.msg),this.onerror(t,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},f.prototype.init=function(t,r,n,i,s){o(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),o(t>=8&&t<=15,"invalid windowBits"),o(r>=-1&&r<=9,"invalid compression level"),o(n>=1&&n<=9,"invalid memlevel"),o(i===e.Z_FILTERED||i===e.Z_HUFFMAN_ONLY||i===e.Z_RLE||i===e.Z_FIXED||i===e.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(r,t,n,i,s),this._setDictionary()},f.prototype.params=function(){throw new Error("deflateParams Not supported")},f.prototype.reset=function(){this._reset(),this._setDictionary()},f.prototype._init=function(t,r,n,i,o){switch(this.level=t,this.windowBits=r,this.memLevel=n,this.strategy=i,this.flush=e.Z_NO_FLUSH,this.err=e.Z_OK,this.mode!==e.GZIP&&this.mode!==e.GUNZIP||(this.windowBits+=16),this.mode===e.UNZIP&&(this.windowBits+=32),this.mode!==e.DEFLATERAW&&this.mode!==e.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new s,this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=a.deflateInit2(this.strm,this.level,e.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:case e.UNZIP:this.err=c.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==e.Z_OK&&this._error("Init error"),this.dictionary=o,this.write_in_progress=!1,this.init_done=!0},f.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:this.err=a.deflateSetDictionary(this.strm,this.dictionary)}this.err!==e.Z_OK&&this._error("Failed to set dictionary")}},f.prototype._reset=function(){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:case e.GZIP:this.err=a.deflateReset(this.strm);break;case e.INFLATE:case e.INFLATERAW:case e.GUNZIP:this.err=c.inflateReset(this.strm)}this.err!==e.Z_OK&&this._error("Failed to reset stream")},e.Zlib=f},76582:function(t,e,r){"use strict";var n=r(96456),i=r(17173).Buffer,o=r(2776).Transform,s=r(64747),a=r(42781),c=r(82526).ok,u=r(17173).kMaxLength,l="Cannot create final Buffer. It would be larger than 0x"+u.toString(16)+" bytes";s.Z_MIN_WINDOWBITS=8,s.Z_MAX_WINDOWBITS=15,s.Z_DEFAULT_WINDOWBITS=15,s.Z_MIN_CHUNK=64,s.Z_MAX_CHUNK=1/0,s.Z_DEFAULT_CHUNK=16384,s.Z_MIN_MEMLEVEL=1,s.Z_MAX_MEMLEVEL=9,s.Z_DEFAULT_MEMLEVEL=8,s.Z_MIN_LEVEL=-1,s.Z_MAX_LEVEL=9,s.Z_DEFAULT_LEVEL=s.Z_DEFAULT_COMPRESSION;for(var f=Object.keys(s),h=0;h<f.length;h++){var d=f[h];d.match(/^Z/)&&Object.defineProperty(e,d,{enumerable:!0,value:s[d],writable:!1})}for(var p={Z_OK:s.Z_OK,Z_STREAM_END:s.Z_STREAM_END,Z_NEED_DICT:s.Z_NEED_DICT,Z_ERRNO:s.Z_ERRNO,Z_STREAM_ERROR:s.Z_STREAM_ERROR,Z_DATA_ERROR:s.Z_DATA_ERROR,Z_MEM_ERROR:s.Z_MEM_ERROR,Z_BUF_ERROR:s.Z_BUF_ERROR,Z_VERSION_ERROR:s.Z_VERSION_ERROR},g=Object.keys(p),y=0;y<g.length;y++){var b=g[y];p[p[b]]=b}function v(t,e,r){var n=[],o=0;function s(){for(var e;null!==(e=t.read());)n.push(e),o+=e.length;t.once("readable",s)}function a(){var e,s=null;o>=u?s=new RangeError(l):e=i.concat(n,o),n=[],t.close(),r(s,e)}t.on("error",(function(e){t.removeListener("end",a),t.removeListener("readable",s),r(e)})),t.on("end",a),t.end(e),s()}function m(t,e){if("string"==typeof e&&(e=i.from(e)),!i.isBuffer(e))throw new TypeError("Not a string or buffer");var r=t._finishFlushFlag;return t._processChunk(e,r)}function w(t){if(!(this instanceof w))return new w(t);P.call(this,t,s.DEFLATE)}function S(t){if(!(this instanceof S))return new S(t);P.call(this,t,s.INFLATE)}function x(t){if(!(this instanceof x))return new x(t);P.call(this,t,s.GZIP)}function _(t){if(!(this instanceof _))return new _(t);P.call(this,t,s.GUNZIP)}function A(t){if(!(this instanceof A))return new A(t);P.call(this,t,s.DEFLATERAW)}function C(t){if(!(this instanceof C))return new C(t);P.call(this,t,s.INFLATERAW)}function k(t){if(!(this instanceof k))return new k(t);P.call(this,t,s.UNZIP)}function E(t){return t===s.Z_NO_FLUSH||t===s.Z_PARTIAL_FLUSH||t===s.Z_SYNC_FLUSH||t===s.Z_FULL_FLUSH||t===s.Z_FINISH||t===s.Z_BLOCK}function P(t,r){var n=this;if(this._opts=t=t||{},this._chunkSize=t.chunkSize||e.Z_DEFAULT_CHUNK,o.call(this,t),t.flush&&!E(t.flush))throw new Error("Invalid flush flag: "+t.flush);if(t.finishFlush&&!E(t.finishFlush))throw new Error("Invalid flush flag: "+t.finishFlush);if(this._flushFlag=t.flush||s.Z_NO_FLUSH,this._finishFlushFlag=void 0!==t.finishFlush?t.finishFlush:s.Z_FINISH,t.chunkSize&&(t.chunkSize<e.Z_MIN_CHUNK||t.chunkSize>e.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+t.chunkSize);if(t.windowBits&&(t.windowBits<e.Z_MIN_WINDOWBITS||t.windowBits>e.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+t.windowBits);if(t.level&&(t.level<e.Z_MIN_LEVEL||t.level>e.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+t.level);if(t.memLevel&&(t.memLevel<e.Z_MIN_MEMLEVEL||t.memLevel>e.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+t.memLevel);if(t.strategy&&t.strategy!=e.Z_FILTERED&&t.strategy!=e.Z_HUFFMAN_ONLY&&t.strategy!=e.Z_RLE&&t.strategy!=e.Z_FIXED&&t.strategy!=e.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+t.strategy);if(t.dictionary&&!i.isBuffer(t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new s.Zlib(r);var a=this;this._hadError=!1,this._handle.onerror=function(t,r){O(a),a._hadError=!0;var n=new Error(t);n.errno=r,n.code=e.codes[r],a.emit("error",n)};var c=e.Z_DEFAULT_COMPRESSION;"number"==typeof t.level&&(c=t.level);var u=e.Z_DEFAULT_STRATEGY;"number"==typeof t.strategy&&(u=t.strategy),this._handle.init(t.windowBits||e.Z_DEFAULT_WINDOWBITS,c,t.memLevel||e.Z_DEFAULT_MEMLEVEL,u,t.dictionary),this._buffer=i.allocUnsafe(this._chunkSize),this._offset=0,this._level=c,this._strategy=u,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!n._handle},configurable:!0,enumerable:!0})}function O(t,e){e&&n.nextTick(e),t._handle&&(t._handle.close(),t._handle=null)}function B(t){t.emit("close")}Object.defineProperty(e,"codes",{enumerable:!0,value:Object.freeze(p),writable:!1}),e.Deflate=w,e.Inflate=S,e.Gzip=x,e.Gunzip=_,e.DeflateRaw=A,e.InflateRaw=C,e.Unzip=k,e.createDeflate=function(t){return new w(t)},e.createInflate=function(t){return new S(t)},e.createDeflateRaw=function(t){return new A(t)},e.createInflateRaw=function(t){return new C(t)},e.createGzip=function(t){return new x(t)},e.createGunzip=function(t){return new _(t)},e.createUnzip=function(t){return new k(t)},e.deflate=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new w(e),t,r)},e.deflateSync=function(t,e){return m(new w(e),t)},e.gzip=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new x(e),t,r)},e.gzipSync=function(t,e){return m(new x(e),t)},e.deflateRaw=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new A(e),t,r)},e.deflateRawSync=function(t,e){return m(new A(e),t)},e.unzip=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new k(e),t,r)},e.unzipSync=function(t,e){return m(new k(e),t)},e.inflate=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new S(e),t,r)},e.inflateSync=function(t,e){return m(new S(e),t)},e.gunzip=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new _(e),t,r)},e.gunzipSync=function(t,e){return m(new _(e),t)},e.inflateRaw=function(t,e,r){return"function"==typeof e&&(r=e,e={}),v(new C(e),t,r)},e.inflateRawSync=function(t,e){return m(new C(e),t)},a.inherits(P,o),P.prototype.params=function(t,r,i){if(t<e.Z_MIN_LEVEL||t>e.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+t);if(r!=e.Z_FILTERED&&r!=e.Z_HUFFMAN_ONLY&&r!=e.Z_RLE&&r!=e.Z_FIXED&&r!=e.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+r);if(this._level!==t||this._strategy!==r){var o=this;this.flush(s.Z_SYNC_FLUSH,(function(){c(o._handle,"zlib binding closed"),o._handle.params(t,r),o._hadError||(o._level=t,o._strategy=r,i&&i())}))}else n.nextTick(i)},P.prototype.reset=function(){return c(this._handle,"zlib binding closed"),this._handle.reset()},P.prototype._flush=function(t){this._transform(i.alloc(0),"",t)},P.prototype.flush=function(t,e){var r=this,o=this._writableState;("function"==typeof t||void 0===t&&!e)&&(e=t,t=s.Z_FULL_FLUSH),o.ended?e&&n.nextTick(e):o.ending?e&&this.once("end",e):o.needDrain?e&&this.once("drain",(function(){return r.flush(t,e)})):(this._flushFlag=t,this.write(i.alloc(0),"",e))},P.prototype.close=function(t){O(this,t),n.nextTick(B,this)},P.prototype._transform=function(t,e,r){var n,o=this._writableState,a=(o.ending||o.ended)&&(!t||o.length===t.length);return null===t||i.isBuffer(t)?this._handle?(a?n=this._finishFlushFlag:(n=this._flushFlag,t.length>=o.length&&(this._flushFlag=this._opts.flush||s.Z_NO_FLUSH)),void this._processChunk(t,n,r)):r(new Error("zlib binding closed")):r(new Error("invalid input"))},P.prototype._processChunk=function(t,e,r){var n=t&&t.length,o=this._chunkSize-this._offset,s=0,a=this,f="function"==typeof r;if(!f){var h,d=[],p=0;this.on("error",(function(t){h=t})),c(this._handle,"zlib binding closed");do{var g=this._handle.writeSync(e,t,s,n,this._buffer,this._offset,o)}while(!this._hadError&&v(g[0],g[1]));if(this._hadError)throw h;if(p>=u)throw O(this),new RangeError(l);var y=i.concat(d,p);return O(this),y}c(this._handle,"zlib binding closed");var b=this._handle.write(e,t,s,n,this._buffer,this._offset,o);function v(u,l){if(this&&(this.buffer=null,this.callback=null),!a._hadError){var h=o-l;if(c(h>=0,"have should not go down"),h>0){var g=a._buffer.slice(a._offset,a._offset+h);a._offset+=h,f?a.push(g):(d.push(g),p+=g.length)}if((0===l||a._offset>=a._chunkSize)&&(o=a._chunkSize,a._offset=0,a._buffer=i.allocUnsafe(a._chunkSize)),0===l){if(s+=n-u,n=u,!f)return!0;var y=a._handle.write(e,t,s,n,a._buffer,a._offset,a._chunkSize);return y.callback=v,void(y.buffer=t)}if(!f)return!1;r()}}b.buffer=t,b.callback=v},a.inherits(w,P),a.inherits(S,P),a.inherits(x,P),a.inherits(_,P),a.inherits(A,P),a.inherits(C,P),a.inherits(k,P)},17173:function(t,e,r){"use strict";const n=r(34451),i=r(61858),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=function(t){+t!=t&&(t=0);return c.alloc(+t)},e.INSPECT_MAX_BYTES=50;const s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return u(t,e,r)}function u(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|g(t,e);let n=a(r);const i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(K(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(K(t,ArrayBuffer)||t&&K(t.buffer,ArrayBuffer))return d(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(K(t,SharedArrayBuffer)||t&&K(t.buffer,SharedArrayBuffer)))return d(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return c.from(n,e,r);const i=function(t){if(c.isBuffer(t)){const e=0|p(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||Y(t.length)?a(0):h(t);if("Buffer"===t.type&&Array.isArray(t.data))return h(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function l(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return l(t),a(t<0?0:0|p(t))}function h(t){const e=t.length<0?0:0|p(t.length),r=a(e);for(let n=0;n<e;n+=1)r[n]=255&t[n];return r}function d(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,c.prototype),n}function p(t){if(t>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function g(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||K(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return H(t).length;default:if(i)return n?-1:q(t).length;e=(""+e).toLowerCase(),i=!0}}function y(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return B(this,e,r);case"utf8":case"utf-8":return k(this,e,r);case"ascii":return P(this,e,r);case"latin1":case"binary":return O(this,e,r);case"base64":return C(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function b(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function v(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Y(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=c.from(e,n)),c.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,i){let o,s=1,a=t.length,c=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){let n=-1;for(o=r;o<a;o++)if(u(t,o)===u(e,-1===n?0:o-n)){if(-1===n&&(n=o),o-n+1===c)return n*s}else-1!==n&&(o-=o-n),n=-1}else for(r+c>a&&(r=a-c),o=r;o>=0;o--){let r=!0;for(let n=0;n<c;n++)if(u(t,o+n)!==u(e,n)){r=!1;break}if(r)return o}return-1}function w(t,e,r,n){r=Number(r)||0;const i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;const o=e.length;let s;for(n>o/2&&(n=o/2),s=0;s<n;++s){const n=parseInt(e.substr(2*s,2),16);if(Y(n))return s;t[r+s]=n}return s}function S(t,e,r,n){return Z(q(e,t.length-r),t,r,n)}function x(t,e,r,n){return Z(function(t){const e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function _(t,e,r,n){return Z(H(e),t,r,n)}function A(t,e,r,n){return Z(function(t,e){let r,n,i;const o=[];for(let s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function k(t,e,r){r=Math.min(t.length,r);const n=[];let i=e;for(;i<r;){const e=t[i];let o=null,s=e>239?4:e>223?3:e>191?2:1;if(i+s<=r){let r,n,a,c;switch(s){case 1:e<128&&(o=e);break;case 2:r=t[i+1],128==(192&r)&&(c=(31&e)<<6|63&r,c>127&&(o=c));break;case 3:r=t[i+1],n=t[i+2],128==(192&r)&&128==(192&n)&&(c=(15&e)<<12|(63&r)<<6|63&n,c>2047&&(c<55296||c>57343)&&(o=c));break;case 4:r=t[i+1],n=t[i+2],a=t[i+3],128==(192&r)&&128==(192&n)&&128==(192&a)&&(c=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&a,c>65535&&c<1114112&&(o=c))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){const e=t.length;if(e<=E)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=E));return r}(n)}e.kMaxLength=s,c.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),c.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}}),c.poolSize=8192,c.from=function(t,e,r){return u(t,e,r)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array),c.alloc=function(t,e,r){return function(t,e,r){return l(t),t<=0?a(t):void 0!==e?"string"==typeof r?a(t).fill(e,r):a(t).fill(e):a(t)}(t,e,r)},c.allocUnsafe=function(t){return f(t)},c.allocUnsafeSlow=function(t){return f(t)},c.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==c.prototype},c.compare=function(t,e){if(K(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),K(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,n=e.length;for(let i=0,o=Math.min(r,n);i<o;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return c.alloc(0);let r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;const n=c.allocUnsafe(e);let i=0;for(r=0;r<t.length;++r){let e=t[r];if(K(e,Uint8Array))i+e.length>n.length?(c.isBuffer(e)||(e=c.from(e)),e.copy(n,i)):Uint8Array.prototype.set.call(n,e,i);else{if(!c.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,i)}i+=e.length}return n},c.byteLength=g,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)b(this,e,e+1);return this},c.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)b(this,e,e+3),b(this,e+1,e+2);return this},c.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)b(this,e,e+7),b(this,e+1,e+6),b(this,e+2,e+5),b(this,e+3,e+4);return this},c.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?k(this,0,t):y.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){let t="";const r=e.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},o&&(c.prototype[o]=c.prototype.inspect),c.prototype.compare=function(t,e,r,n,i){if(K(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;let o=(i>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0);const a=Math.min(o,s),u=this.slice(n,i),l=t.slice(e,r);for(let t=0;t<a;++t)if(u[t]!==l[t]){o=u[t],s=l[t];break}return o<s?-1:s<o?1:0},c.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},c.prototype.indexOf=function(t,e,r){return v(this,t,e,r,!0)},c.prototype.lastIndexOf=function(t,e,r){return v(this,t,e,r,!1)},c.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let o=!1;for(;;)switch(n){case"hex":return w(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return x(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const E=4096;function P(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function O(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function B(t,e,r){const n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let n=e;n<r;++n)i+=J[t[n]];return i}function I(t,e,r){const n=t.slice(e,r);let i="";for(let t=0;t<n.length-1;t+=2)i+=String.fromCharCode(n[t]+256*n[t+1]);return i}function T(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function R(t,e,r,n,i,o){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function M(t,e,r,n,i){W(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function D(t,e,r,n,i){W(e,n,i,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function F(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(t,e,r,n,o){return e=+e,r>>>=0,o||F(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function L(t,e,r,n,o){return e=+e,r>>>=0,o||F(t,0,r,8),i.write(t,e,r,n,52,8),r+8}c.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);const n=this.subarray(t,e);return Object.setPrototypeOf(n,c.prototype),n},c.prototype.readUintLE=c.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||T(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return n},c.prototype.readUintBE=c.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||T(t,e,this.length);let n=this[t+--e],i=1;for(;e>0&&(i*=256);)n+=this[t+--e]*i;return n},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||T(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||T(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||T(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||T(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||T(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readBigUInt64LE=Q((function(t){G(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||V(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(n)+(BigInt(i)<<BigInt(32))})),c.prototype.readBigUInt64BE=Q((function(t){G(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||V(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<<BigInt(32))+BigInt(i)})),c.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||T(t,e,this.length);let n=this[t],i=1,o=0;for(;++o<e&&(i*=256);)n+=this[t+o]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n},c.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||T(t,e,this.length);let n=e,i=1,o=this[t+--n];for(;n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},c.prototype.readInt8=function(t,e){return t>>>=0,e||T(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||T(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(t,e){t>>>=0,e||T(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||T(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||T(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readBigInt64LE=Q((function(t){G(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||V(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),c.prototype.readBigInt64BE=Q((function(t){G(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||V(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+r)})),c.prototype.readFloatLE=function(t,e){return t>>>=0,e||T(t,4,this.length),i.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||T(t,4,this.length),i.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||T(t,8,this.length),i.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||T(t,8,this.length),i.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){R(this,t,e,r,Math.pow(2,8*r)-1,0)}let i=1,o=0;for(this[e]=255&t;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r},c.prototype.writeUintBE=c.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e>>>=0,r>>>=0,!n){R(this,t,e,r,Math.pow(2,8*r)-1,0)}let i=r-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigUInt64LE=Q((function(t){return M(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeBigUInt64BE=Q((function(t){return D(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),c.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);R(this,t,e,r,n-1,-n)}let i=0,o=1,s=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},c.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);R(this,t,e,r,n-1,-n)}let i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},c.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||R(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigInt64LE=Q((function(t){return M(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeBigInt64BE=Q((function(t){return D(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),c.prototype.writeFloatLE=function(t,e,r){return N(this,t,e,!0,r)},c.prototype.writeFloatBE=function(t,e,r){return N(this,t,e,!1,r)},c.prototype.writeDoubleLE=function(t,e,r){return L(this,t,e,!0,r)},c.prototype.writeDoubleBE=function(t,e,r){return L(this,t,e,!1,r)},c.prototype.copy=function(t,e,r,n){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);const i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},c.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!c.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){const e=t.charCodeAt(0);("utf8"===n&&e<128||"latin1"===n)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;let i;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(i=e;i<r;++i)this[i]=t;else{const o=c.isBuffer(t)?t:c.from(t,n),s=o.length;if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<r-e;++i)this[i+e]=o[i%s]}return this};const j={};function z(t,e,r){j[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function U(t){let e="",r=t.length;const n="-"===t[0]?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function W(t,e,r,n,i,o){if(t>r||t<e){const n="bigint"==typeof e?"n":"";let i;throw i=o>3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(o+1)}${n}`:`>= -(2${n} ** ${8*(o+1)-1}${n}) and < 2 ** ${8*(o+1)-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new j.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,r){G(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||V(e,t.length-(r+1))}(n,i,o)}function G(t,e){if("number"!=typeof t)throw new j.ERR_INVALID_ARG_TYPE(e,"number",t)}function V(t,e,r){if(Math.floor(t)!==t)throw G(t,r),new j.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new j.ERR_BUFFER_OUT_OF_BOUNDS;throw new j.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}z("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),z("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),z("ERR_OUT_OF_RANGE",(function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=U(String(r)):"bigint"==typeof r&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=U(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n}),RangeError);const X=/[^+/0-9A-Za-z-_]/g;function q(t,e){let r;e=e||1/0;const n=t.length;let i=null;const o=[];for(let s=0;s<n;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function H(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(X,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Z(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function K(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function Y(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function Q(t){return"undefined"==typeof BigInt?$:t}function $(){throw new Error("BigInt not supported")}},93385:function(t,e,r){"use strict";var n=r(15329),i=r(60541),o=i(n("String.prototype.indexOf"));t.exports=function(t,e){var r=n(t,!!e);return"function"==typeof r&&o(t,".prototype.")>-1?i(r):r}},60541:function(t,e,r){"use strict";var n=r(58405),i=r(15329),o=r(11990),s=i("%TypeError%"),a=i("%Function.prototype.apply%"),c=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||n.call(c,a),l=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(l)try{l({},"a",{value:1})}catch(t){l=null}t.exports=function(t){if("function"!=typeof t)throw new s("a function is required");var e=u(n,c,arguments);return o(e,1+f(0,t.length-(arguments.length-1)),!0)};var h=function(){return u(n,a,arguments)};l?l(t.exports,"apply",{value:h}):t.exports.apply=h},34570:function(t,e,r){var n=r(17173).Buffer,i=function(){"use strict";function t(t,e){return null!=e&&t instanceof e}var e,r,i;try{e=Map}catch(t){e=function(){}}try{r=Set}catch(t){r=function(){}}try{i=Promise}catch(t){i=function(){}}function o(s,c,u,l,f){"object"==typeof c&&(u=c.depth,l=c.prototype,f=c.includeNonEnumerable,c=c.circular);var h=[],d=[],p=void 0!==n;return void 0===c&&(c=!0),void 0===u&&(u=1/0),function s(u,g){if(null===u)return null;if(0===g)return u;var y,b;if("object"!=typeof u)return u;if(t(u,e))y=new e;else if(t(u,r))y=new r;else if(t(u,i))y=new i((function(t,e){u.then((function(e){t(s(e,g-1))}),(function(t){e(s(t,g-1))}))}));else if(o.__isArray(u))y=[];else if(o.__isRegExp(u))y=new RegExp(u.source,a(u)),u.lastIndex&&(y.lastIndex=u.lastIndex);else if(o.__isDate(u))y=new Date(u.getTime());else{if(p&&n.isBuffer(u))return y=n.allocUnsafe?n.allocUnsafe(u.length):new n(u.length),u.copy(y),y;t(u,Error)?y=Object.create(u):void 0===l?(b=Object.getPrototypeOf(u),y=Object.create(b)):(y=Object.create(l),b=l)}if(c){var v=h.indexOf(u);if(-1!=v)return d[v];h.push(u),d.push(y)}for(var m in t(u,e)&&u.forEach((function(t,e){var r=s(e,g-1),n=s(t,g-1);y.set(r,n)})),t(u,r)&&u.forEach((function(t){var e=s(t,g-1);y.add(e)})),u){var w;b&&(w=Object.getOwnPropertyDescriptor(b,m)),w&&null==w.set||(y[m]=s(u[m],g-1))}if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(u);for(m=0;m<S.length;m++){var x=S[m];(!(A=Object.getOwnPropertyDescriptor(u,x))||A.enumerable||f)&&(y[x]=s(u[x],g-1),A.enumerable||Object.defineProperty(y,x,{enumerable:!1}))}}if(f){var _=Object.getOwnPropertyNames(u);for(m=0;m<_.length;m++){var A,C=_[m];(A=Object.getOwnPropertyDescriptor(u,C))&&A.enumerable||(y[C]=s(u[C],g-1),Object.defineProperty(y,C,{enumerable:!1}))}}return y}(s,u)}function s(t){return Object.prototype.toString.call(t)}function a(t){var e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),e}return o.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},o.__objToStr=s,o.__isDate=function(t){return"object"==typeof t&&"[object Date]"===s(t)},o.__isArray=function(t){return"object"==typeof t&&"[object Array]"===s(t)},o.__isRegExp=function(t){return"object"==typeof t&&"[object RegExp]"===s(t)},o.__getRegExpFlags=a,o}();t.exports&&(t.exports=i)},11307:function(t,e,r){var n;t.exports=(n=r(24747),r(26836),r(47133),r(40704),r(26763),function(){var t=n,e=t.lib.BlockCipher,r=t.algo,i=[],o=[],s=[],a=[],c=[],u=[],l=[],f=[],h=[],d=[];!function(){for(var t=[],e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;var r=0,n=0;for(e=0;e<256;e++){var p=n^n<<1^n<<2^n<<3^n<<4;p=p>>>8^255&p^99,i[r]=p,o[p]=r;var g=t[r],y=t[g],b=t[y],v=257*t[p]^16843008*p;s[r]=v<<24|v>>>8,a[r]=v<<16|v>>>16,c[r]=v<<8|v>>>24,u[r]=v,v=16843009*b^65537*y^257*g^16843008*r,l[p]=v<<24|v>>>8,f[p]=v<<16|v>>>16,h[p]=v<<8|v>>>24,d[p]=v,r?(r=g^t[t[t[b^g]]],n^=t[t[n]]):r=n=1}}();var p=[0,1,2,4,8,16,32,64,128,27,54],g=r.AES=e.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var t=this._keyPriorReset=this._key,e=t.words,r=t.sigBytes/4,n=4*((this._nRounds=r+6)+1),o=this._keySchedule=[],s=0;s<n;s++)s<r?o[s]=e[s]:(u=o[s-1],s%r?r>6&&s%r==4&&(u=i[u>>>24]<<24|i[u>>>16&255]<<16|i[u>>>8&255]<<8|i[255&u]):(u=i[(u=u<<8|u>>>24)>>>24]<<24|i[u>>>16&255]<<16|i[u>>>8&255]<<8|i[255&u],u^=p[s/r|0]<<24),o[s]=o[s-r]^u);for(var a=this._invKeySchedule=[],c=0;c<n;c++){if(s=n-c,c%4)var u=o[s];else u=o[s-4];a[c]=c<4||s<=4?u:l[i[u>>>24]]^f[i[u>>>16&255]]^h[i[u>>>8&255]]^d[i[255&u]]}}},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,s,a,c,u,i)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,l,f,h,d,o),r=t[e+1],t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,n,i,o,s,a){for(var c=this._nRounds,u=t[e]^r[0],l=t[e+1]^r[1],f=t[e+2]^r[2],h=t[e+3]^r[3],d=4,p=1;p<c;p++){var g=n[u>>>24]^i[l>>>16&255]^o[f>>>8&255]^s[255&h]^r[d++],y=n[l>>>24]^i[f>>>16&255]^o[h>>>8&255]^s[255&u]^r[d++],b=n[f>>>24]^i[h>>>16&255]^o[u>>>8&255]^s[255&l]^r[d++],v=n[h>>>24]^i[u>>>16&255]^o[l>>>8&255]^s[255&f]^r[d++];u=g,l=y,f=b,h=v}g=(a[u>>>24]<<24|a[l>>>16&255]<<16|a[f>>>8&255]<<8|a[255&h])^r[d++],y=(a[l>>>24]<<24|a[f>>>16&255]<<16|a[h>>>8&255]<<8|a[255&u])^r[d++],b=(a[f>>>24]<<24|a[h>>>16&255]<<16|a[u>>>8&255]<<8|a[255&l])^r[d++],v=(a[h>>>24]<<24|a[u>>>16&255]<<16|a[l>>>8&255]<<8|a[255&f])^r[d++],t[e]=g,t[e+1]=y,t[e+2]=b,t[e+3]=v},keySize:8});t.AES=e._createHelper(g)}(),n.AES)},30248:function(t,e,r){var n;t.exports=(n=r(24747),r(26836),r(47133),r(40704),r(26763),function(){var t=n,e=t.lib.BlockCipher,r=t.algo;const i=16,o=[608135816,2242054355,320440878,57701188,2752067618,698298832,137296536,3964562569,1160258022,953160567,3193202383,887688300,3232508343,3380367581,1065670069,3041331479,2450970073,2306472731],s=[[3509652390,2564797868,805139163,3491422135,3101798381,1780907670,3128725573,4046225305,614570311,3012652279,134345442,2240740374,1667834072,1901547113,2757295779,4103290238,227898511,1921955416,1904987480,2182433518,2069144605,3260701109,2620446009,720527379,3318853667,677414384,3393288472,3101374703,2390351024,1614419982,1822297739,2954791486,3608508353,3174124327,2024746970,1432378464,3864339955,2857741204,1464375394,1676153920,1439316330,715854006,3033291828,289532110,2706671279,2087905683,3018724369,1668267050,732546397,1947742710,3462151702,2609353502,2950085171,1814351708,2050118529,680887927,999245976,1800124847,3300911131,1713906067,1641548236,4213287313,1216130144,1575780402,4018429277,3917837745,3693486850,3949271944,596196993,3549867205,258830323,2213823033,772490370,2760122372,1774776394,2652871518,566650946,4142492826,1728879713,2882767088,1783734482,3629395816,2517608232,2874225571,1861159788,326777828,3124490320,2130389656,2716951837,967770486,1724537150,2185432712,2364442137,1164943284,2105845187,998989502,3765401048,2244026483,1075463327,1455516326,1322494562,910128902,469688178,1117454909,936433444,3490320968,3675253459,1240580251,122909385,2157517691,634681816,4142456567,3825094682,3061402683,2540495037,79693498,3249098678,1084186820,1583128258,426386531,1761308591,1047286709,322548459,995290223,1845252383,2603652396,3431023940,2942221577,3202600964,3727903485,1712269319,422464435,3234572375,1170764815,3523960633,3117677531,1434042557,442511882,3600875718,1076654713,1738483198,4213154764,2393238008,3677496056,1014306527,4251020053,793779912,2902807211,842905082,4246964064,1395751752,1040244610,2656851899,3396308128,445077038,3742853595,3577915638,679411651,2892444358,2354009459,1767581616,3150600392,3791627101,3102740896,284835224,4246832056,1258075500,768725851,2589189241,3069724005,3532540348,1274779536,3789419226,2764799539,1660621633,3471099624,4011903706,913787905,3497959166,737222580,2514213453,2928710040,3937242737,1804850592,3499020752,2949064160,2386320175,2390070455,2415321851,4061277028,2290661394,2416832540,1336762016,1754252060,3520065937,3014181293,791618072,3188594551,3933548030,2332172193,3852520463,3043980520,413987798,3465142937,3030929376,4245938359,2093235073,3534596313,375366246,2157278981,2479649556,555357303,3870105701,2008414854,3344188149,4221384143,3956125452,2067696032,3594591187,2921233993,2428461,544322398,577241275,1471733935,610547355,4027169054,1432588573,1507829418,2025931657,3646575487,545086370,48609733,2200306550,1653985193,298326376,1316178497,3007786442,2064951626,458293330,2589141269,3591329599,3164325604,727753846,2179363840,146436021,1461446943,4069977195,705550613,3059967265,3887724982,4281599278,3313849956,1404054877,2845806497,146425753,1854211946],[1266315497,3048417604,3681880366,3289982499,290971e4,1235738493,2632868024,2414719590,3970600049,1771706367,1449415276,3266420449,422970021,1963543593,2690192192,3826793022,1062508698,1531092325,1804592342,2583117782,2714934279,4024971509,1294809318,4028980673,1289560198,2221992742,1669523910,35572830,157838143,1052438473,1016535060,1802137761,1753167236,1386275462,3080475397,2857371447,1040679964,2145300060,2390574316,1461121720,2956646967,4031777805,4028374788,33600511,2920084762,1018524850,629373528,3691585981,3515945977,2091462646,2486323059,586499841,988145025,935516892,3367335476,2599673255,2839830854,265290510,3972581182,2759138881,3795373465,1005194799,847297441,406762289,1314163512,1332590856,1866599683,4127851711,750260880,613907577,1450815602,3165620655,3734664991,3650291728,3012275730,3704569646,1427272223,778793252,1343938022,2676280711,2052605720,1946737175,3164576444,3914038668,3967478842,3682934266,1661551462,3294938066,4011595847,840292616,3712170807,616741398,312560963,711312465,1351876610,322626781,1910503582,271666773,2175563734,1594956187,70604529,3617834859,1007753275,1495573769,4069517037,2549218298,2663038764,504708206,2263041392,3941167025,2249088522,1514023603,1998579484,1312622330,694541497,2582060303,2151582166,1382467621,776784248,2618340202,3323268794,2497899128,2784771155,503983604,4076293799,907881277,423175695,432175456,1378068232,4145222326,3954048622,3938656102,3820766613,2793130115,2977904593,26017576,3274890735,3194772133,1700274565,1756076034,4006520079,3677328699,720338349,1533947780,354530856,688349552,3973924725,1637815568,332179504,3949051286,53804574,2852348879,3044236432,1282449977,3583942155,3416972820,4006381244,1617046695,2628476075,3002303598,1686838959,431878346,2686675385,1700445008,1080580658,1009431731,832498133,3223435511,2605976345,2271191193,2516031870,1648197032,4164389018,2548247927,300782431,375919233,238389289,3353747414,2531188641,2019080857,1475708069,455242339,2609103871,448939670,3451063019,1395535956,2413381860,1841049896,1491858159,885456874,4264095073,4001119347,1565136089,3898914787,1108368660,540939232,1173283510,2745871338,3681308437,4207628240,3343053890,4016749493,1699691293,1103962373,3625875870,2256883143,3830138730,1031889488,3479347698,1535977030,4236805024,3251091107,2132092099,1774941330,1199868427,1452454533,157007616,2904115357,342012276,595725824,1480756522,206960106,497939518,591360097,863170706,2375253569,3596610801,1814182875,2094937945,3421402208,1082520231,3463918190,2785509508,435703966,3908032597,1641649973,2842273706,3305899714,1510255612,2148256476,2655287854,3276092548,4258621189,236887753,3681803219,274041037,1734335097,3815195456,3317970021,1899903192,1026095262,4050517792,356393447,2410691914,3873677099,3682840055],[3913112168,2491498743,4132185628,2489919796,1091903735,1979897079,3170134830,3567386728,3557303409,857797738,1136121015,1342202287,507115054,2535736646,337727348,3213592640,1301675037,2528481711,1895095763,1721773893,3216771564,62756741,2142006736,835421444,2531993523,1442658625,3659876326,2882144922,676362277,1392781812,170690266,3921047035,1759253602,3611846912,1745797284,664899054,1329594018,3901205900,3045908486,2062866102,2865634940,3543621612,3464012697,1080764994,553557557,3656615353,3996768171,991055499,499776247,1265440854,648242737,3940784050,980351604,3713745714,1749149687,3396870395,4211799374,3640570775,1161844396,3125318951,1431517754,545492359,4268468663,3499529547,1437099964,2702547544,3433638243,2581715763,2787789398,1060185593,1593081372,2418618748,4260947970,69676912,2159744348,86519011,2512459080,3838209314,1220612927,3339683548,133810670,1090789135,1078426020,1569222167,845107691,3583754449,4072456591,1091646820,628848692,1613405280,3757631651,526609435,236106946,48312990,2942717905,3402727701,1797494240,859738849,992217954,4005476642,2243076622,3870952857,3732016268,765654824,3490871365,2511836413,1685915746,3888969200,1414112111,2273134842,3281911079,4080962846,172450625,2569994100,980381355,4109958455,2819808352,2716589560,2568741196,3681446669,3329971472,1835478071,660984891,3704678404,4045999559,3422617507,3040415634,1762651403,1719377915,3470491036,2693910283,3642056355,3138596744,1364962596,2073328063,1983633131,926494387,3423689081,2150032023,4096667949,1749200295,3328846651,309677260,2016342300,1779581495,3079819751,111262694,1274766160,443224088,298511866,1025883608,3806446537,1145181785,168956806,3641502830,3584813610,1689216846,3666258015,3200248200,1692713982,2646376535,4042768518,1618508792,1610833997,3523052358,4130873264,2001055236,3610705100,2202168115,4028541809,2961195399,1006657119,2006996926,3186142756,1430667929,3210227297,1314452623,4074634658,4101304120,2273951170,1399257539,3367210612,3027628629,1190975929,2062231137,2333990788,2221543033,2438960610,1181637006,548689776,2362791313,3372408396,3104550113,3145860560,296247880,1970579870,3078560182,3769228297,1714227617,3291629107,3898220290,166772364,1251581989,493813264,448347421,195405023,2709975567,677966185,3703036547,1463355134,2715995803,1338867538,1343315457,2802222074,2684532164,233230375,2599980071,2000651841,3277868038,1638401717,4028070440,3237316320,6314154,819756386,300326615,590932579,1405279636,3267499572,3150704214,2428286686,3959192993,3461946742,1862657033,1266418056,963775037,2089974820,2263052895,1917689273,448879540,3550394620,3981727096,150775221,3627908307,1303187396,508620638,2975983352,2726630617,1817252668,1876281319,1457606340,908771278,3720792119,3617206836,2455994898,1729034894,1080033504],[976866871,3556439503,2881648439,1522871579,1555064734,1336096578,3548522304,2579274686,3574697629,3205460757,3593280638,3338716283,3079412587,564236357,2993598910,1781952180,1464380207,3163844217,3332601554,1699332808,1393555694,1183702653,3581086237,1288719814,691649499,2847557200,2895455976,3193889540,2717570544,1781354906,1676643554,2592534050,3230253752,1126444790,2770207658,2633158820,2210423226,2615765581,2414155088,3127139286,673620729,2805611233,1269405062,4015350505,3341807571,4149409754,1057255273,2012875353,2162469141,2276492801,2601117357,993977747,3918593370,2654263191,753973209,36408145,2530585658,25011837,3520020182,2088578344,530523599,2918365339,1524020338,1518925132,3760827505,3759777254,1202760957,3985898139,3906192525,674977740,4174734889,2031300136,2019492241,3983892565,4153806404,3822280332,352677332,2297720250,60907813,90501309,3286998549,1016092578,2535922412,2839152426,457141659,509813237,4120667899,652014361,1966332200,2975202805,55981186,2327461051,676427537,3255491064,2882294119,3433927263,1307055953,942726286,933058658,2468411793,3933900994,4215176142,1361170020,2001714738,2830558078,3274259782,1222529897,1679025792,2729314320,3714953764,1770335741,151462246,3013232138,1682292957,1483529935,471910574,1539241949,458788160,3436315007,1807016891,3718408830,978976581,1043663428,3165965781,1927990952,4200891579,2372276910,3208408903,3533431907,1412390302,2931980059,4132332400,1947078029,3881505623,4168226417,2941484381,1077988104,1320477388,886195818,18198404,3786409e3,2509781533,112762804,3463356488,1866414978,891333506,18488651,661792760,1628790961,3885187036,3141171499,876946877,2693282273,1372485963,791857591,2686433993,3759982718,3167212022,3472953795,2716379847,445679433,3561995674,3504004811,3574258232,54117162,3331405415,2381918588,3769707343,4154350007,1140177722,4074052095,668550556,3214352940,367459370,261225585,2610173221,4209349473,3468074219,3265815641,314222801,3066103646,3808782860,282218597,3406013506,3773591054,379116347,1285071038,846784868,2669647154,3771962079,3550491691,2305946142,453669953,1268987020,3317592352,3279303384,3744833421,2610507566,3859509063,266596637,3847019092,517658769,3462560207,3443424879,370717030,4247526661,2224018117,4143653529,4112773975,2788324899,2477274417,1456262402,2901442914,1517677493,1846949527,2295493580,3734397586,2176403920,1280348187,1908823572,3871786941,846861322,1172426758,3287448474,3383383037,1655181056,3139813346,901632758,1897031941,2986607138,3066810236,3447102507,1393639104,373351379,950779232,625454576,3124240540,4148612726,2007998917,544563296,2244738638,2330496472,2058025392,1291430526,424198748,50039436,29584100,3605783033,2429876329,2791104160,1057563949,3255363231,3075367218,3463963227,1469046755,985887462]];var a={pbox:[],sbox:[]};function c(t,e){let r=e>>24&255,n=e>>16&255,i=e>>8&255,o=255&e,s=t.sbox[0][r]+t.sbox[1][n];return s^=t.sbox[2][i],s+=t.sbox[3][o],s}function u(t,e,r){let n,o=e,s=r;for(let e=0;e<i;++e)o^=t.pbox[e],s=c(t,o)^s,n=o,o=s,s=n;return n=o,o=s,s=n,s^=t.pbox[i],o^=t.pbox[i+1],{left:o,right:s}}function l(t,e,r){let n,o=e,s=r;for(let e=i+1;e>1;--e)o^=t.pbox[e],s=c(t,o)^s,n=o,o=s,s=n;return n=o,o=s,s=n,s^=t.pbox[1],o^=t.pbox[0],{left:o,right:s}}function f(t,e,r){for(let e=0;e<4;e++){t.sbox[e]=[];for(let r=0;r<256;r++)t.sbox[e][r]=s[e][r]}let n=0;for(let s=0;s<i+2;s++)t.pbox[s]=o[s]^e[n],n++,n>=r&&(n=0);let a=0,c=0,l=0;for(let e=0;e<i+2;e+=2)l=u(t,a,c),a=l.left,c=l.right,t.pbox[e]=a,t.pbox[e+1]=c;for(let e=0;e<4;e++)for(let r=0;r<256;r+=2)l=u(t,a,c),a=l.left,c=l.right,t.sbox[e][r]=a,t.sbox[e][r+1]=c;return!0}var h=r.Blowfish=e.extend({_doReset:function(){if(this._keyPriorReset!==this._key){var t=this._keyPriorReset=this._key,e=t.words,r=t.sigBytes/4;f(a,e,r)}},encryptBlock:function(t,e){var r=u(a,t[e],t[e+1]);t[e]=r.left,t[e+1]=r.right},decryptBlock:function(t,e){var r=l(a,t[e],t[e+1]);t[e]=r.left,t[e+1]=r.right},blockSize:2,keySize:4,ivSize:2});t.Blowfish=e._createHelper(h)}(),n.Blowfish)},26763:function(t,e,r){var n;t.exports=(n=r(24747),r(40704),void(n.lib.Cipher||function(t){var e=n,r=e.lib,i=r.Base,o=r.WordArray,s=r.BufferedBlockAlgorithm,a=e.enc,c=(a.Utf8,a.Base64),u=e.algo.EvpKDF,l=r.Cipher=s.extend({cfg:i.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r),this._xformMode=t,this._key=e,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function t(t){return"string"==typeof t?m:b}return function(e){return{encrypt:function(r,n,i){return t(n).encrypt(e,r,n,i)},decrypt:function(r,n,i){return t(n).decrypt(e,r,n,i)}}}}()}),f=(r.StreamCipher=l.extend({_doFinalize:function(){return this._process(!0)},blockSize:1}),e.mode={}),h=r.BlockCipherMode=i.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),d=f.CBC=function(){var e=h.extend();function r(e,r,n){var i,o=this._iv;o?(i=o,this._iv=t):i=this._prevBlock;for(var s=0;s<n;s++)e[r+s]^=i[s]}return e.Encryptor=e.extend({processBlock:function(t,e){var n=this._cipher,i=n.blockSize;r.call(this,t,e,i),n.encryptBlock(t,e),this._prevBlock=t.slice(e,e+i)}}),e.Decryptor=e.extend({processBlock:function(t,e){var n=this._cipher,i=n.blockSize,o=t.slice(e,e+i);n.decryptBlock(t,e),r.call(this,t,e,i),this._prevBlock=o}}),e}(),p=(e.pad={}).Pkcs7={pad:function(t,e){for(var r=4*e,n=r-t.sigBytes%r,i=n<<24|n<<16|n<<8|n,s=[],a=0;a<n;a+=4)s.push(i);var c=o.create(s,n);t.concat(c)},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},g=(r.BlockCipher=l.extend({cfg:l.cfg.extend({mode:d,padding:p}),reset:function(){var t;l.reset.call(this);var e=this.cfg,r=e.iv,n=e.mode;this._xformMode==this._ENC_XFORM_MODE?t=n.createEncryptor:(t=n.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==t?this._mode.init(this,r&&r.words):(this._mode=t.call(n,this,r&&r.words),this._mode.__creator=t)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t,e=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(e.pad(this._data,this.blockSize),t=this._process(!0)):(t=this._process(!0),e.unpad(t)),t},blockSize:4}),r.CipherParams=i.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}})),y=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,r=t.salt;return(r?o.create([1398893684,1701076831]).concat(r).concat(e):e).toString(c)},parse:function(t){var e,r=c.parse(t),n=r.words;return 1398893684==n[0]&&1701076831==n[1]&&(e=o.create(n.slice(2,4)),n.splice(0,4),r.sigBytes-=16),g.create({ciphertext:r,salt:e})}},b=r.SerializableCipher=i.extend({cfg:i.extend({format:y}),encrypt:function(t,e,r,n){n=this.cfg.extend(n);var i=t.createEncryptor(r,n),o=i.finalize(e),s=i.cfg;return g.create({ciphertext:o,key:r,iv:s.iv,algorithm:t,mode:s.mode,padding:s.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,r,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(r,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}}),v=(e.kdf={}).OpenSSL={execute:function(t,e,r,n,i){if(n||(n=o.random(8)),i)s=u.create({keySize:e+r,hasher:i}).compute(t,n);else var s=u.create({keySize:e+r}).compute(t,n);var a=o.create(s.words.slice(e),4*r);return s.sigBytes=4*e,g.create({key:s,iv:a,salt:n})}},m=r.PasswordBasedCipher=b.extend({cfg:b.cfg.extend({kdf:v}),encrypt:function(t,e,r,n){var i=(n=this.cfg.extend(n)).kdf.execute(r,t.keySize,t.ivSize,n.salt,n.hasher);n.iv=i.iv;var o=b.encrypt.call(this,t,e,i.key,n);return o.mixIn(i),o},decrypt:function(t,e,r,n){n=this.cfg.extend(n),e=this._parse(e,n.format);var i=n.kdf.execute(r,t.keySize,t.ivSize,e.salt,n.hasher);return n.iv=i.iv,b.decrypt.call(this,t,e,i.key,n)}})}()))},24747:function(t,e,r){var n;t.exports=(n=n||function(t,e){var n;if("undefined"!=typeof window&&window.crypto&&(n=window.crypto),"undefined"!=typeof self&&self.crypto&&(n=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(n=globalThis.crypto),!n&&"undefined"!=typeof window&&window.msCrypto&&(n=window.msCrypto),!n&&void 0!==r.g&&r.g.crypto&&(n=r.g.crypto),!n)try{n=r(91054)}catch(t){}var i=function(){if(n){if("function"==typeof n.getRandomValues)try{return n.getRandomValues(new Uint32Array(1))[0]}catch(t){}if("function"==typeof n.randomBytes)try{return n.randomBytes(4).readInt32LE()}catch(t){}}throw new Error("Native crypto module could not be used to get secure random number.")},o=Object.create||function(){function t(){}return function(e){var r;return t.prototype=e,r=new t,t.prototype=null,r}}(),s={},a=s.lib={},c=a.Base={extend:function(t){var e=o(this);return t&&e.mixIn(t),e.hasOwnProperty("init")&&this.init!==e.init||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},u=a.WordArray=c.extend({init:function(t,r){t=this.words=t||[],this.sigBytes=r!=e?r:4*t.length},toString:function(t){return(t||f).stringify(this)},concat:function(t){var e=this.words,r=t.words,n=this.sigBytes,i=t.sigBytes;if(this.clamp(),n%4)for(var o=0;o<i;o++){var s=r[o>>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(var a=0;a<i;a+=4)e[n+a>>>2]=r[a>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=t.ceil(r/4)},clone:function(){var t=c.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var e=[],r=0;r<t;r+=4)e.push(i());return new u.init(e,t)}}),l=s.enc={},f=l.Hex={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i<r;i++){var o=e[i>>>2]>>>24-i%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n<e;n+=2)r[n>>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new u.init(r,e/2)}},h=l.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i<r;i++){var o=e[i>>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n<e;n++)r[n>>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new u.init(r,e)}},d=l.Utf8={stringify:function(t){try{return decodeURIComponent(escape(h.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return h.parse(unescape(encodeURIComponent(t)))}},p=a.BufferedBlockAlgorithm=c.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=d.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var r,n=this._data,i=n.words,o=n.sigBytes,s=this.blockSize,a=o/(4*s),c=(a=e?t.ceil(a):t.max((0|a)-this._minBufferSize,0))*s,l=t.min(4*c,o);if(c){for(var f=0;f<c;f+=s)this._doProcessBlock(i,f);r=i.splice(0,c),n.sigBytes-=l}return new u.init(r,l)},clone:function(){var t=c.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0}),g=(a.Hasher=p.extend({cfg:c.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,r){return new t.init(r).finalize(e)}},_createHmacHelper:function(t){return function(e,r){return new g.HMAC.init(t,r).finalize(e)}}}),s.algo={});return s}(Math),n)},26836:function(t,e,r){var n;t.exports=(n=r(24747),function(){var t=n,e=t.lib.WordArray;function r(t,r,n){for(var i=[],o=0,s=0;s<r;s++)if(s%4){var a=n[t.charCodeAt(s-1)]<<s%4*2|n[t.charCodeAt(s)]>>>6-s%4*2;i[o>>>2]|=a<<24-o%4*8,o++}return e.create(i,o)}t.enc.Base64={stringify:function(t){var e=t.words,r=t.sigBytes,n=this._map;t.clamp();for(var i=[],o=0;o<r;o+=3)for(var s=(e[o>>>2]>>>24-o%4*8&255)<<16|(e[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|e[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;a<4&&o+.75*a<r;a++)i.push(n.charAt(s>>>6*(3-a)&63));var c=n.charAt(64);if(c)for(;i.length%4;)i.push(c);return i.join("")},parse:function(t){var e=t.length,n=this._map,i=this._reverseMap;if(!i){i=this._reverseMap=[];for(var o=0;o<n.length;o++)i[n.charCodeAt(o)]=o}var s=n.charAt(64);if(s){var a=t.indexOf(s);-1!==a&&(e=a)}return r(t,e,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),n.enc.Base64)},74855:function(t,e,r){var n;t.exports=(n=r(24747),function(){var t=n,e=t.lib.WordArray;function r(t,r,n){for(var i=[],o=0,s=0;s<r;s++)if(s%4){var a=n[t.charCodeAt(s-1)]<<s%4*2|n[t.charCodeAt(s)]>>>6-s%4*2;i[o>>>2]|=a<<24-o%4*8,o++}return e.create(i,o)}t.enc.Base64url={stringify:function(t,e){void 0===e&&(e=!0);var r=t.words,n=t.sigBytes,i=e?this._safe_map:this._map;t.clamp();for(var o=[],s=0;s<n;s+=3)for(var a=(r[s>>>2]>>>24-s%4*8&255)<<16|(r[s+1>>>2]>>>24-(s+1)%4*8&255)<<8|r[s+2>>>2]>>>24-(s+2)%4*8&255,c=0;c<4&&s+.75*c<n;c++)o.push(i.charAt(a>>>6*(3-c)&63));var u=i.charAt(64);if(u)for(;o.length%4;)o.push(u);return o.join("")},parse:function(t,e){void 0===e&&(e=!0);var n=t.length,i=e?this._safe_map:this._map,o=this._reverseMap;if(!o){o=this._reverseMap=[];for(var s=0;s<i.length;s++)o[i.charCodeAt(s)]=s}var a=i.charAt(64);if(a){var c=t.indexOf(a);-1!==c&&(n=c)}return r(t,n,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),n.enc.Base64url)},61992:function(t,e,r){var n;t.exports=(n=r(24747),function(){var t=n,e=t.lib.WordArray,r=t.enc;function i(t){return t<<8&4278255360|t>>>8&16711935}r.Utf16=r.Utf16BE={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i<r;i+=2){var o=e[i>>>2]>>>16-i%4*8&65535;n.push(String.fromCharCode(o))}return n.join("")},parse:function(t){for(var r=t.length,n=[],i=0;i<r;i++)n[i>>>1]|=t.charCodeAt(i)<<16-i%2*16;return e.create(n,2*r)}},r.Utf16LE={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],o=0;o<r;o+=2){var s=i(e[o>>>2]>>>16-o%4*8&65535);n.push(String.fromCharCode(s))}return n.join("")},parse:function(t){for(var r=t.length,n=[],o=0;o<r;o++)n[o>>>1]|=i(t.charCodeAt(o)<<16-o%2*16);return e.create(n,2*r)}}}(),n.enc.Utf16)},40704:function(t,e,r){var n,i,o,s,a,c,u,l;t.exports=(l=r(24747),r(64908),r(72754),i=(n=l).lib,o=i.Base,s=i.WordArray,a=n.algo,c=a.MD5,u=a.EvpKDF=o.extend({cfg:o.extend({keySize:4,hasher:c,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var r,n=this.cfg,i=n.hasher.create(),o=s.create(),a=o.words,c=n.keySize,u=n.iterations;a.length<c;){r&&i.update(r),r=i.update(t).finalize(e),i.reset();for(var l=1;l<u;l++)r=i.finalize(r),i.reset();o.concat(r)}return o.sigBytes=4*c,o}}),n.EvpKDF=function(t,e,r){return u.create(r).compute(t,e)},l.EvpKDF)},20803:function(t,e,r){var n,i,o,s;t.exports=(s=r(24747),r(26763),i=(n=s).lib.CipherParams,o=n.enc.Hex,n.format.Hex={stringify:function(t){return t.ciphertext.toString(o)},parse:function(t){var e=o.parse(t);return i.create({ciphertext:e})}},s.format.Hex)},72754:function(t,e,r){var n,i,o,s;t.exports=(n=r(24747),o=(i=n).lib.Base,s=i.enc.Utf8,void(i.algo.HMAC=o.extend({init:function(t,e){t=this._hasher=new t.init,"string"==typeof e&&(e=s.parse(e));var r=t.blockSize,n=4*r;e.sigBytes>n&&(e=t.finalize(e)),e.clamp();for(var i=this._oKey=e.clone(),o=this._iKey=e.clone(),a=i.words,c=o.words,u=0;u<r;u++)a[u]^=1549556828,c[u]^=909522486;i.sigBytes=o.sigBytes=n,this.reset()},reset:function(){var t=this._hasher;t.reset(),t.update(this._iKey)},update:function(t){return this._hasher.update(t),this},finalize:function(t){var e=this._hasher,r=e.finalize(t);return e.reset(),e.finalize(this._oKey.clone().concat(r))}})))},27772:function(t,e,r){var n;t.exports=(n=r(24747),r(25372),r(12964),r(61992),r(26836),r(74855),r(47133),r(64908),r(62094),r(60436),r(27946),r(74948),r(66312),r(2530),r(72754),r(90841),r(40704),r(26763),r(41273),r(7191),r(16845),r(97163),r(25017),r(53210),r(46709),r(67512),r(20173),r(75539),r(20803),r(11307),r(30221),r(49868),r(70446),r(29639),r(30248),n)},12964:function(t,e,r){var n;t.exports=(n=r(24747),function(){if("function"==typeof ArrayBuffer){var t=n.lib.WordArray,e=t.init,r=t.init=function(t){if(t instanceof ArrayBuffer&&(t=new Uint8Array(t)),(t instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)&&(t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array){for(var r=t.byteLength,n=[],i=0;i<r;i++)n[i>>>2]|=t[i]<<24-i%4*8;e.call(this,n,r)}else e.apply(this,arguments)};r.prototype=t}}(),n.lib.WordArray)},47133:function(t,e,r){var n;t.exports=(n=r(24747),function(t){var e=n,r=e.lib,i=r.WordArray,o=r.Hasher,s=e.algo,a=[];!function(){for(var e=0;e<64;e++)a[e]=4294967296*t.abs(t.sin(e+1))|0}();var c=s.MD5=o.extend({_doReset:function(){this._hash=new i.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var n=e+r,i=t[n];t[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,s=t[e+0],c=t[e+1],d=t[e+2],p=t[e+3],g=t[e+4],y=t[e+5],b=t[e+6],v=t[e+7],m=t[e+8],w=t[e+9],S=t[e+10],x=t[e+11],_=t[e+12],A=t[e+13],C=t[e+14],k=t[e+15],E=o[0],P=o[1],O=o[2],B=o[3];E=u(E,P,O,B,s,7,a[0]),B=u(B,E,P,O,c,12,a[1]),O=u(O,B,E,P,d,17,a[2]),P=u(P,O,B,E,p,22,a[3]),E=u(E,P,O,B,g,7,a[4]),B=u(B,E,P,O,y,12,a[5]),O=u(O,B,E,P,b,17,a[6]),P=u(P,O,B,E,v,22,a[7]),E=u(E,P,O,B,m,7,a[8]),B=u(B,E,P,O,w,12,a[9]),O=u(O,B,E,P,S,17,a[10]),P=u(P,O,B,E,x,22,a[11]),E=u(E,P,O,B,_,7,a[12]),B=u(B,E,P,O,A,12,a[13]),O=u(O,B,E,P,C,17,a[14]),E=l(E,P=u(P,O,B,E,k,22,a[15]),O,B,c,5,a[16]),B=l(B,E,P,O,b,9,a[17]),O=l(O,B,E,P,x,14,a[18]),P=l(P,O,B,E,s,20,a[19]),E=l(E,P,O,B,y,5,a[20]),B=l(B,E,P,O,S,9,a[21]),O=l(O,B,E,P,k,14,a[22]),P=l(P,O,B,E,g,20,a[23]),E=l(E,P,O,B,w,5,a[24]),B=l(B,E,P,O,C,9,a[25]),O=l(O,B,E,P,p,14,a[26]),P=l(P,O,B,E,m,20,a[27]),E=l(E,P,O,B,A,5,a[28]),B=l(B,E,P,O,d,9,a[29]),O=l(O,B,E,P,v,14,a[30]),E=f(E,P=l(P,O,B,E,_,20,a[31]),O,B,y,4,a[32]),B=f(B,E,P,O,m,11,a[33]),O=f(O,B,E,P,x,16,a[34]),P=f(P,O,B,E,C,23,a[35]),E=f(E,P,O,B,c,4,a[36]),B=f(B,E,P,O,g,11,a[37]),O=f(O,B,E,P,v,16,a[38]),P=f(P,O,B,E,S,23,a[39]),E=f(E,P,O,B,A,4,a[40]),B=f(B,E,P,O,s,11,a[41]),O=f(O,B,E,P,p,16,a[42]),P=f(P,O,B,E,b,23,a[43]),E=f(E,P,O,B,w,4,a[44]),B=f(B,E,P,O,_,11,a[45]),O=f(O,B,E,P,k,16,a[46]),E=h(E,P=f(P,O,B,E,d,23,a[47]),O,B,s,6,a[48]),B=h(B,E,P,O,v,10,a[49]),O=h(O,B,E,P,C,15,a[50]),P=h(P,O,B,E,y,21,a[51]),E=h(E,P,O,B,_,6,a[52]),B=h(B,E,P,O,p,10,a[53]),O=h(O,B,E,P,S,15,a[54]),P=h(P,O,B,E,c,21,a[55]),E=h(E,P,O,B,m,6,a[56]),B=h(B,E,P,O,k,10,a[57]),O=h(O,B,E,P,b,15,a[58]),P=h(P,O,B,E,A,21,a[59]),E=h(E,P,O,B,g,6,a[60]),B=h(B,E,P,O,x,10,a[61]),O=h(O,B,E,P,d,15,a[62]),P=h(P,O,B,E,w,21,a[63]),o[0]=o[0]+E|0,o[1]=o[1]+P|0,o[2]=o[2]+O|0,o[3]=o[3]+B|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;r[i>>>5]|=128<<24-i%32;var o=t.floor(n/4294967296),s=n;r[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r[14+(i+64>>>9<<4)]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),e.sigBytes=4*(r.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var l=c[u];c[u]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return a},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});function u(t,e,r,n,i,o,s){var a=t+(e&r|~e&n)+i+s;return(a<<o|a>>>32-o)+e}function l(t,e,r,n,i,o,s){var a=t+(e&n|r&~n)+i+s;return(a<<o|a>>>32-o)+e}function f(t,e,r,n,i,o,s){var a=t+(e^r^n)+i+s;return(a<<o|a>>>32-o)+e}function h(t,e,r,n,i,o,s){var a=t+(r^(e|~n))+i+s;return(a<<o|a>>>32-o)+e}e.MD5=o._createHelper(c),e.HmacMD5=o._createHmacHelper(c)}(Math),n.MD5)},41273:function(t,e,r){var n;t.exports=(n=r(24747),r(26763),n.mode.CFB=function(){var t=n.lib.BlockCipherMode.extend();function e(t,e,r,n){var i,o=this._iv;o?(i=o.slice(0),this._iv=void 0):i=this._prevBlock,n.encryptBlock(i,0);for(var s=0;s<r;s++)t[e+s]^=i[s]}return t.Encryptor=t.extend({processBlock:function(t,r){var n=this._cipher,i=n.blockSize;e.call(this,t,r,i,n),this._prevBlock=t.slice(r,r+i)}}),t.Decryptor=t.extend({processBlock:function(t,r){var n=this._cipher,i=n.blockSize,o=t.slice(r,r+i);e.call(this,t,r,i,n),this._prevBlock=o}}),t}(),n.mode.CFB)},16845:function(t,e,r){var n;t.exports=(n=r(24747),r(26763),n.mode.CTRGladman=function(){var t=n.lib.BlockCipherMode.extend();function e(t){if(255==(t>>24&255)){var e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}else t+=1<<24;return t}function r(t){return 0===(t[0]=e(t[0]))&&(t[1]=e(t[1])),t}var i=t.Encryptor=t.extend({processBlock:function(t,e){var n=this._cipher,i=n.blockSize,o=this._iv,s=this._counter;o&&(s=this._counter=o.slice(0),this._iv=void 0),r(s);var a=s.slice(0);n.encryptBlock(a,0);for(var c=0;c<i;c++)t[e+c]^=a[c]}});return t.Decryptor=i,t}(),n.mode.CTRGladman)},7191:function(t,e,r){var n,i,o;t.exports=(o=r(24747),r(26763),o.mode.CTR=(n=o.lib.BlockCipherMode.extend(),i=n.Encryptor=n.extend({processBlock:function(t,e){var r=this._cipher,n=r.blockSize,i=this._iv,o=this._counter;i&&(o=this._counter=i.slice(0),this._iv=void 0);var s=o.slice(0);r.encryptBlock(s,0),o[n-1]=o[n-1]+1|0;for(var a=0;a<n;a++)t[e+a]^=s[a]}}),n.Decryptor=i,n),o.mode.CTR)},25017:function(t,e,r){var n,i;t.exports=(i=r(24747),r(26763),i.mode.ECB=((n=i.lib.BlockCipherMode.extend()).Encryptor=n.extend({processBlock:function(t,e){this._cipher.encryptBlock(t,e)}}),n.Decryptor=n.extend({processBlock:function(t,e){this._cipher.decryptBlock(t,e)}}),n),i.mode.ECB)},97163:function(t,e,r){var n,i,o;t.exports=(o=r(24747),r(26763),o.mode.OFB=(n=o.lib.BlockCipherMode.extend(),i=n.Encryptor=n.extend({processBlock:function(t,e){var r=this._cipher,n=r.blockSize,i=this._iv,o=this._keystream;i&&(o=this._keystream=i.slice(0),this._iv=void 0),r.encryptBlock(o,0);for(var s=0;s<n;s++)t[e+s]^=o[s]}}),n.Decryptor=i,n),o.mode.OFB)},53210:function(t,e,r){var n;t.exports=(n=r(24747),r(26763),n.pad.AnsiX923={pad:function(t,e){var r=t.sigBytes,n=4*e,i=n-r%n,o=r+i-1;t.clamp(),t.words[o>>>2]|=i<<24-o%4*8,t.sigBytes+=i},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},n.pad.Ansix923)},46709:function(t,e,r){var n;t.exports=(n=r(24747),r(26763),n.pad.Iso10126={pad:function(t,e){var r=4*e,i=r-t.sigBytes%r;t.concat(n.lib.WordArray.random(i-1)).concat(n.lib.WordArray.create([i<<24],1))},unpad:function(t){var e=255&t.words[t.sigBytes-1>>>2];t.sigBytes-=e}},n.pad.Iso10126)},67512:function(t,e,r){var n;t.exports=(n=r(24747),r(26763),n.pad.Iso97971={pad:function(t,e){t.concat(n.lib.WordArray.create([2147483648],1)),n.pad.ZeroPadding.pad(t,e)},unpad:function(t){n.pad.ZeroPadding.unpad(t),t.sigBytes--}},n.pad.Iso97971)},75539:function(t,e,r){var n;t.exports=(n=r(24747),r(26763),n.pad.NoPadding={pad:function(){},unpad:function(){}},n.pad.NoPadding)},20173:function(t,e,r){var n;t.exports=(n=r(24747),r(26763),n.pad.ZeroPadding={pad:function(t,e){var r=4*e;t.clamp(),t.sigBytes+=r-(t.sigBytes%r||r)},unpad:function(t){var e=t.words,r=t.sigBytes-1;for(r=t.sigBytes-1;r>=0;r--)if(e[r>>>2]>>>24-r%4*8&255){t.sigBytes=r+1;break}}},n.pad.ZeroPadding)},90841:function(t,e,r){var n,i,o,s,a,c,u,l,f;t.exports=(f=r(24747),r(62094),r(72754),i=(n=f).lib,o=i.Base,s=i.WordArray,a=n.algo,c=a.SHA256,u=a.HMAC,l=a.PBKDF2=o.extend({cfg:o.extend({keySize:4,hasher:c,iterations:25e4}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var r=this.cfg,n=u.create(r.hasher,t),i=s.create(),o=s.create([1]),a=i.words,c=o.words,l=r.keySize,f=r.iterations;a.length<l;){var h=n.update(e).finalize(o);n.reset();for(var d=h.words,p=d.length,g=h,y=1;y<f;y++){g=n.finalize(g),n.reset();for(var b=g.words,v=0;v<p;v++)d[v]^=b[v]}i.concat(h),c[0]++}return i.sigBytes=4*l,i}}),n.PBKDF2=function(t,e,r){return l.create(r).compute(t,e)},f.PBKDF2)},29639:function(t,e,r){var n;t.exports=(n=r(24747),r(26836),r(47133),r(40704),r(26763),function(){var t=n,e=t.lib.StreamCipher,r=t.algo,i=[],o=[],s=[],a=r.RabbitLegacy=e.extend({_doReset:function(){var t=this._key.words,e=this.cfg.iv,r=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],n=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];this._b=0;for(var i=0;i<4;i++)c.call(this);for(i=0;i<8;i++)n[i]^=r[i+4&7];if(e){var o=e.words,s=o[0],a=o[1],u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=u>>>16|4294901760&l,h=l<<16|65535&u;for(n[0]^=u,n[1]^=f,n[2]^=l,n[3]^=h,n[4]^=u,n[5]^=f,n[6]^=l,n[7]^=h,i=0;i<4;i++)c.call(this)}},_doProcessBlock:function(t,e){var r=this._X;c.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),t[e+n]^=i[n]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,r=0;r<8;r++)o[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<o[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<o[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<o[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<o[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<o[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<o[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<o[6]>>>0?1:0)|0,this._b=e[7]>>>0<o[7]>>>0?1:0,r=0;r<8;r++){var n=t[r]+e[r],i=65535&n,a=n>>>16,c=((i*i>>>17)+i*a>>>15)+a*a,u=((4294901760&n)*n|0)+((65535&n)*n|0);s[r]=c^u}t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}t.RabbitLegacy=e._createHelper(a)}(),n.RabbitLegacy)},70446:function(t,e,r){var n;t.exports=(n=r(24747),r(26836),r(47133),r(40704),r(26763),function(){var t=n,e=t.lib.StreamCipher,r=t.algo,i=[],o=[],s=[],a=r.Rabbit=e.extend({_doReset:function(){for(var t=this._key.words,e=this.cfg.iv,r=0;r<4;r++)t[r]=16711935&(t[r]<<8|t[r]>>>24)|4278255360&(t[r]<<24|t[r]>>>8);var n=this._X=[t[0],t[3]<<16|t[2]>>>16,t[1],t[0]<<16|t[3]>>>16,t[2],t[1]<<16|t[0]>>>16,t[3],t[2]<<16|t[1]>>>16],i=this._C=[t[2]<<16|t[2]>>>16,4294901760&t[0]|65535&t[1],t[3]<<16|t[3]>>>16,4294901760&t[1]|65535&t[2],t[0]<<16|t[0]>>>16,4294901760&t[2]|65535&t[3],t[1]<<16|t[1]>>>16,4294901760&t[3]|65535&t[0]];for(this._b=0,r=0;r<4;r++)c.call(this);for(r=0;r<8;r++)i[r]^=n[r+4&7];if(e){var o=e.words,s=o[0],a=o[1],u=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),l=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),f=u>>>16|4294901760&l,h=l<<16|65535&u;for(i[0]^=u,i[1]^=f,i[2]^=l,i[3]^=h,i[4]^=u,i[5]^=f,i[6]^=l,i[7]^=h,r=0;r<4;r++)c.call(this)}},_doProcessBlock:function(t,e){var r=this._X;c.call(this),i[0]=r[0]^r[5]>>>16^r[3]<<16,i[1]=r[2]^r[7]>>>16^r[5]<<16,i[2]=r[4]^r[1]>>>16^r[7]<<16,i[3]=r[6]^r[3]>>>16^r[1]<<16;for(var n=0;n<4;n++)i[n]=16711935&(i[n]<<8|i[n]>>>24)|4278255360&(i[n]<<24|i[n]>>>8),t[e+n]^=i[n]},blockSize:4,ivSize:2});function c(){for(var t=this._X,e=this._C,r=0;r<8;r++)o[r]=e[r];for(e[0]=e[0]+1295307597+this._b|0,e[1]=e[1]+3545052371+(e[0]>>>0<o[0]>>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0<o[1]>>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0<o[2]>>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0<o[3]>>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0<o[4]>>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0<o[5]>>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0<o[6]>>>0?1:0)|0,this._b=e[7]>>>0<o[7]>>>0?1:0,r=0;r<8;r++){var n=t[r]+e[r],i=65535&n,a=n>>>16,c=((i*i>>>17)+i*a>>>15)+a*a,u=((4294901760&n)*n|0)+((65535&n)*n|0);s[r]=c^u}t[0]=s[0]+(s[7]<<16|s[7]>>>16)+(s[6]<<16|s[6]>>>16)|0,t[1]=s[1]+(s[0]<<8|s[0]>>>24)+s[7]|0,t[2]=s[2]+(s[1]<<16|s[1]>>>16)+(s[0]<<16|s[0]>>>16)|0,t[3]=s[3]+(s[2]<<8|s[2]>>>24)+s[1]|0,t[4]=s[4]+(s[3]<<16|s[3]>>>16)+(s[2]<<16|s[2]>>>16)|0,t[5]=s[5]+(s[4]<<8|s[4]>>>24)+s[3]|0,t[6]=s[6]+(s[5]<<16|s[5]>>>16)+(s[4]<<16|s[4]>>>16)|0,t[7]=s[7]+(s[6]<<8|s[6]>>>24)+s[5]|0}t.Rabbit=e._createHelper(a)}(),n.Rabbit)},49868:function(t,e,r){var n;t.exports=(n=r(24747),r(26836),r(47133),r(40704),r(26763),function(){var t=n,e=t.lib.StreamCipher,r=t.algo,i=r.RC4=e.extend({_doReset:function(){for(var t=this._key,e=t.words,r=t.sigBytes,n=this._S=[],i=0;i<256;i++)n[i]=i;i=0;for(var o=0;i<256;i++){var s=i%r,a=e[s>>>2]>>>24-s%4*8&255;o=(o+n[i]+a)%256;var c=n[i];n[i]=n[o],n[o]=c}this._i=this._j=0},_doProcessBlock:function(t,e){t[e]^=o.call(this)},keySize:8,ivSize:0});function o(){for(var t=this._S,e=this._i,r=this._j,n=0,i=0;i<4;i++){r=(r+t[e=(e+1)%256])%256;var o=t[e];t[e]=t[r],t[r]=o,n|=t[(t[e]+t[r])%256]<<24-8*i}return this._i=e,this._j=r,n}t.RC4=e._createHelper(i);var s=r.RC4Drop=i.extend({cfg:i.cfg.extend({drop:192}),_doReset:function(){i._doReset.call(this);for(var t=this.cfg.drop;t>0;t--)o.call(this)}});t.RC4Drop=e._createHelper(s)}(),n.RC4)},2530:function(t,e,r){var n;t.exports=(n=r(24747),function(t){var e=n,r=e.lib,i=r.WordArray,o=r.Hasher,s=e.algo,a=i.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),c=i.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),u=i.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),l=i.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),f=i.create([0,1518500249,1859775393,2400959708,2840853838]),h=i.create([1352829926,1548603684,1836072691,2053994217,0]),d=s.RIPEMD160=o.extend({_doReset:function(){this._hash=i.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=0;r<16;r++){var n=e+r,i=t[n];t[n]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8)}var o,s,d,w,S,x,_,A,C,k,E,P=this._hash.words,O=f.words,B=h.words,I=a.words,T=c.words,R=u.words,M=l.words;for(x=o=P[0],_=s=P[1],A=d=P[2],C=w=P[3],k=S=P[4],r=0;r<80;r+=1)E=o+t[e+I[r]]|0,E+=r<16?p(s,d,w)+O[0]:r<32?g(s,d,w)+O[1]:r<48?y(s,d,w)+O[2]:r<64?b(s,d,w)+O[3]:v(s,d,w)+O[4],E=(E=m(E|=0,R[r]))+S|0,o=S,S=w,w=m(d,10),d=s,s=E,E=x+t[e+T[r]]|0,E+=r<16?v(_,A,C)+B[0]:r<32?b(_,A,C)+B[1]:r<48?y(_,A,C)+B[2]:r<64?g(_,A,C)+B[3]:p(_,A,C)+B[4],E=(E=m(E|=0,M[r]))+k|0,x=k,k=C,C=m(A,10),A=_,_=E;E=P[1]+d+C|0,P[1]=P[2]+w+k|0,P[2]=P[3]+S+x|0,P[3]=P[4]+o+_|0,P[4]=P[0]+s+A|0,P[0]=E},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(e.length+1),this._process();for(var i=this._hash,o=i.words,s=0;s<5;s++){var a=o[s];o[s]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}return i},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});function p(t,e,r){return t^e^r}function g(t,e,r){return t&e|~t&r}function y(t,e,r){return(t|~e)^r}function b(t,e,r){return t&r|e&~r}function v(t,e,r){return t^(e|~r)}function m(t,e){return t<<e|t>>>32-e}e.RIPEMD160=o._createHelper(d),e.HmacRIPEMD160=o._createHmacHelper(d)}(Math),n.RIPEMD160)},64908:function(t,e,r){var n,i,o,s,a,c,u,l;t.exports=(l=r(24747),i=(n=l).lib,o=i.WordArray,s=i.Hasher,a=n.algo,c=[],u=a.SHA1=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],a=r[4],u=0;u<80;u++){if(u<16)c[u]=0|t[e+u];else{var l=c[u-3]^c[u-8]^c[u-14]^c[u-16];c[u]=l<<1|l>>>31}var f=(n<<5|n>>>27)+a+c[u];f+=u<20?1518500249+(i&o|~i&s):u<40?1859775393+(i^o^s):u<60?(i&o|i&s|o&s)-1894007588:(i^o^s)-899497514,a=s,s=o,o=i<<30|i>>>2,i=n,n=f}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[14+(n+64>>>9<<4)]=Math.floor(r/4294967296),e[15+(n+64>>>9<<4)]=r,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=s.clone.call(this);return t._hash=this._hash.clone(),t}}),n.SHA1=s._createHelper(u),n.HmacSHA1=s._createHmacHelper(u),l.SHA1)},60436:function(t,e,r){var n,i,o,s,a,c;t.exports=(c=r(24747),r(62094),i=(n=c).lib.WordArray,o=n.algo,s=o.SHA256,a=o.SHA224=s.extend({_doReset:function(){this._hash=new i.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function(){var t=s._doFinalize.call(this);return t.sigBytes-=4,t}}),n.SHA224=s._createHelper(a),n.HmacSHA224=s._createHmacHelper(a),c.SHA224)},62094:function(t,e,r){var n;t.exports=(n=r(24747),function(t){var e=n,r=e.lib,i=r.WordArray,o=r.Hasher,s=e.algo,a=[],c=[];!function(){function e(e){for(var r=t.sqrt(e),n=2;n<=r;n++)if(!(e%n))return!1;return!0}function r(t){return 4294967296*(t-(0|t))|0}for(var n=2,i=0;i<64;)e(n)&&(i<8&&(a[i]=r(t.pow(n,.5))),c[i]=r(t.pow(n,1/3)),i++),n++}();var u=[],l=s.SHA256=o.extend({_doReset:function(){this._hash=new i.init(a.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],a=r[4],l=r[5],f=r[6],h=r[7],d=0;d<64;d++){if(d<16)u[d]=0|t[e+d];else{var p=u[d-15],g=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,y=u[d-2],b=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;u[d]=g+u[d-7]+b+u[d-16]}var v=n&i^n&o^i&o,m=(n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22),w=h+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&l^~a&f)+c[d]+u[d];h=f,f=l,l=a,a=s+w|0,s=o,o=i,i=n,n=w+(m+v)|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+o|0,r[3]=r[3]+s|0,r[4]=r[4]+a|0,r[5]=r[5]+l|0,r[6]=r[6]+f|0,r[7]=r[7]+h|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=o._createHelper(l),e.HmacSHA256=o._createHmacHelper(l)}(Math),n.SHA256)},66312:function(t,e,r){var n;t.exports=(n=r(24747),r(25372),function(t){var e=n,r=e.lib,i=r.WordArray,o=r.Hasher,s=e.x64.Word,a=e.algo,c=[],u=[],l=[];!function(){for(var t=1,e=0,r=0;r<24;r++){c[t+5*e]=(r+1)*(r+2)/2%64;var n=(2*t+3*e)%5;t=e%5,e=n}for(t=0;t<5;t++)for(e=0;e<5;e++)u[t+5*e]=e+(2*t+3*e)%5*5;for(var i=1,o=0;o<24;o++){for(var a=0,f=0,h=0;h<7;h++){if(1&i){var d=(1<<h)-1;d<32?f^=1<<d:a^=1<<d-32}128&i?i=i<<1^113:i<<=1}l[o]=s.create(a,f)}}();var f=[];!function(){for(var t=0;t<25;t++)f[t]=s.create()}();var h=a.SHA3=o.extend({cfg:o.cfg.extend({outputLength:512}),_doReset:function(){for(var t=this._state=[],e=0;e<25;e++)t[e]=new s.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(t,e){for(var r=this._state,n=this.blockSize/2,i=0;i<n;i++){var o=t[e+2*i],s=t[e+2*i+1];o=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),s=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8),(P=r[i]).high^=s,P.low^=o}for(var a=0;a<24;a++){for(var h=0;h<5;h++){for(var d=0,p=0,g=0;g<5;g++)d^=(P=r[h+5*g]).high,p^=P.low;var y=f[h];y.high=d,y.low=p}for(h=0;h<5;h++){var b=f[(h+4)%5],v=f[(h+1)%5],m=v.high,w=v.low;for(d=b.high^(m<<1|w>>>31),p=b.low^(w<<1|m>>>31),g=0;g<5;g++)(P=r[h+5*g]).high^=d,P.low^=p}for(var S=1;S<25;S++){var x=(P=r[S]).high,_=P.low,A=c[S];A<32?(d=x<<A|_>>>32-A,p=_<<A|x>>>32-A):(d=_<<A-32|x>>>64-A,p=x<<A-32|_>>>64-A);var C=f[u[S]];C.high=d,C.low=p}var k=f[0],E=r[0];for(k.high=E.high,k.low=E.low,h=0;h<5;h++)for(g=0;g<5;g++){var P=r[S=h+5*g],O=f[S],B=f[(h+1)%5+5*g],I=f[(h+2)%5+5*g];P.high=O.high^~B.high&I.high,P.low=O.low^~B.low&I.low}P=r[0];var T=l[a];P.high^=T.high,P.low^=T.low}},_doFinalize:function(){var e=this._data,r=e.words,n=(this._nDataBytes,8*e.sigBytes),o=32*this.blockSize;r[n>>>5]|=1<<24-n%32,r[(t.ceil((n+1)/o)*o>>>5)-1]|=128,e.sigBytes=4*r.length,this._process();for(var s=this._state,a=this.cfg.outputLength/8,c=a/8,u=[],l=0;l<c;l++){var f=s[l],h=f.high,d=f.low;h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8),d=16711935&(d<<8|d>>>24)|4278255360&(d<<24|d>>>8),u.push(d),u.push(h)}return new i.init(u,a)},clone:function(){for(var t=o.clone.call(this),e=t._state=this._state.slice(0),r=0;r<25;r++)e[r]=e[r].clone();return t}});e.SHA3=o._createHelper(h),e.HmacSHA3=o._createHmacHelper(h)}(Math),n.SHA3)},74948:function(t,e,r){var n,i,o,s,a,c,u,l;t.exports=(l=r(24747),r(25372),r(27946),i=(n=l).x64,o=i.Word,s=i.WordArray,a=n.algo,c=a.SHA512,u=a.SHA384=c.extend({_doReset:function(){this._hash=new s.init([new o.init(3418070365,3238371032),new o.init(1654270250,914150663),new o.init(2438529370,812702999),new o.init(355462360,4144912697),new o.init(1731405415,4290775857),new o.init(2394180231,1750603025),new o.init(3675008525,1694076839),new o.init(1203062813,3204075428)])},_doFinalize:function(){var t=c._doFinalize.call(this);return t.sigBytes-=16,t}}),n.SHA384=c._createHelper(u),n.HmacSHA384=c._createHmacHelper(u),l.SHA384)},27946:function(t,e,r){var n;t.exports=(n=r(24747),r(25372),function(){var t=n,e=t.lib.Hasher,r=t.x64,i=r.Word,o=r.WordArray,s=t.algo;function a(){return i.create.apply(i,arguments)}var c=[a(1116352408,3609767458),a(1899447441,602891725),a(3049323471,3964484399),a(3921009573,2173295548),a(961987163,4081628472),a(1508970993,3053834265),a(2453635748,2937671579),a(2870763221,3664609560),a(3624381080,2734883394),a(310598401,1164996542),a(607225278,1323610764),a(1426881987,3590304994),a(1925078388,4068182383),a(2162078206,991336113),a(2614888103,633803317),a(3248222580,3479774868),a(3835390401,2666613458),a(4022224774,944711139),a(264347078,2341262773),a(604807628,2007800933),a(770255983,1495990901),a(1249150122,1856431235),a(1555081692,3175218132),a(1996064986,2198950837),a(2554220882,3999719339),a(2821834349,766784016),a(2952996808,2566594879),a(3210313671,3203337956),a(3336571891,1034457026),a(3584528711,2466948901),a(113926993,3758326383),a(338241895,168717936),a(666307205,1188179964),a(773529912,1546045734),a(1294757372,1522805485),a(1396182291,2643833823),a(1695183700,2343527390),a(1986661051,1014477480),a(2177026350,1206759142),a(2456956037,344077627),a(2730485921,1290863460),a(2820302411,3158454273),a(3259730800,3505952657),a(3345764771,106217008),a(3516065817,3606008344),a(3600352804,1432725776),a(4094571909,1467031594),a(275423344,851169720),a(430227734,3100823752),a(506948616,1363258195),a(659060556,3750685593),a(883997877,3785050280),a(958139571,3318307427),a(1322822218,3812723403),a(1537002063,2003034995),a(1747873779,3602036899),a(1955562222,1575990012),a(2024104815,1125592928),a(2227730452,2716904306),a(2361852424,442776044),a(2428436474,593698344),a(2756734187,3733110249),a(3204031479,2999351573),a(3329325298,3815920427),a(3391569614,3928383900),a(3515267271,566280711),a(3940187606,3454069534),a(4118630271,4000239992),a(116418474,1914138554),a(174292421,2731055270),a(289380356,3203993006),a(460393269,320620315),a(685471733,587496836),a(852142971,1086792851),a(1017036298,365543100),a(1126000580,2618297676),a(1288033470,3409855158),a(1501505948,4234509866),a(1607167915,987167468),a(1816402316,1246189591)],u=[];!function(){for(var t=0;t<80;t++)u[t]=a()}();var l=s.SHA512=e.extend({_doReset:function(){this._hash=new o.init([new i.init(1779033703,4089235720),new i.init(3144134277,2227873595),new i.init(1013904242,4271175723),new i.init(2773480762,1595750129),new i.init(1359893119,2917565137),new i.init(2600822924,725511199),new i.init(528734635,4215389547),new i.init(1541459225,327033209)])},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],o=r[2],s=r[3],a=r[4],l=r[5],f=r[6],h=r[7],d=n.high,p=n.low,g=i.high,y=i.low,b=o.high,v=o.low,m=s.high,w=s.low,S=a.high,x=a.low,_=l.high,A=l.low,C=f.high,k=f.low,E=h.high,P=h.low,O=d,B=p,I=g,T=y,R=b,M=v,D=m,F=w,N=S,L=x,j=_,z=A,U=C,W=k,G=E,V=P,X=0;X<80;X++){var q,H,Z=u[X];if(X<16)H=Z.high=0|t[e+2*X],q=Z.low=0|t[e+2*X+1];else{var K=u[X-15],Y=K.high,J=K.low,Q=(Y>>>1|J<<31)^(Y>>>8|J<<24)^Y>>>7,$=(J>>>1|Y<<31)^(J>>>8|Y<<24)^(J>>>7|Y<<25),tt=u[X-2],et=tt.high,rt=tt.low,nt=(et>>>19|rt<<13)^(et<<3|rt>>>29)^et>>>6,it=(rt>>>19|et<<13)^(rt<<3|et>>>29)^(rt>>>6|et<<26),ot=u[X-7],st=ot.high,at=ot.low,ct=u[X-16],ut=ct.high,lt=ct.low;H=(H=(H=Q+st+((q=$+at)>>>0<$>>>0?1:0))+nt+((q+=it)>>>0<it>>>0?1:0))+ut+((q+=lt)>>>0<lt>>>0?1:0),Z.high=H,Z.low=q}var ft,ht=N&j^~N&U,dt=L&z^~L&W,pt=O&I^O&R^I&R,gt=B&T^B&M^T&M,yt=(O>>>28|B<<4)^(O<<30|B>>>2)^(O<<25|B>>>7),bt=(B>>>28|O<<4)^(B<<30|O>>>2)^(B<<25|O>>>7),vt=(N>>>14|L<<18)^(N>>>18|L<<14)^(N<<23|L>>>9),mt=(L>>>14|N<<18)^(L>>>18|N<<14)^(L<<23|N>>>9),wt=c[X],St=wt.high,xt=wt.low,_t=G+vt+((ft=V+mt)>>>0<V>>>0?1:0),At=bt+gt;G=U,V=W,U=j,W=z,j=N,z=L,N=D+(_t=(_t=(_t=_t+ht+((ft+=dt)>>>0<dt>>>0?1:0))+St+((ft+=xt)>>>0<xt>>>0?1:0))+H+((ft+=q)>>>0<q>>>0?1:0))+((L=F+ft|0)>>>0<F>>>0?1:0)|0,D=R,F=M,R=I,M=T,I=O,T=B,O=_t+(yt+pt+(At>>>0<bt>>>0?1:0))+((B=ft+At|0)>>>0<ft>>>0?1:0)|0}p=n.low=p+B,n.high=d+O+(p>>>0<B>>>0?1:0),y=i.low=y+T,i.high=g+I+(y>>>0<T>>>0?1:0),v=o.low=v+M,o.high=b+R+(v>>>0<M>>>0?1:0),w=s.low=w+F,s.high=m+D+(w>>>0<F>>>0?1:0),x=a.low=x+L,a.high=S+N+(x>>>0<L>>>0?1:0),A=l.low=A+z,l.high=_+j+(A>>>0<z>>>0?1:0),k=f.low=k+W,f.high=C+U+(k>>>0<W>>>0?1:0),P=h.low=P+V,h.high=E+G+(P>>>0<V>>>0?1:0)},_doFinalize:function(){var t=this._data,e=t.words,r=8*this._nDataBytes,n=8*t.sigBytes;return e[n>>>5]|=128<<24-n%32,e[30+(n+128>>>10<<5)]=Math.floor(r/4294967296),e[31+(n+128>>>10<<5)]=r,t.sigBytes=4*e.length,this._process(),this._hash.toX32()},clone:function(){var t=e.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:32});t.SHA512=e._createHelper(l),t.HmacSHA512=e._createHmacHelper(l)}(),n.SHA512)},30221:function(t,e,r){var n;t.exports=(n=r(24747),r(26836),r(47133),r(40704),r(26763),function(){var t=n,e=t.lib,r=e.WordArray,i=e.BlockCipher,o=t.algo,s=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],a=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],c=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],u=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],l=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],f=o.DES=i.extend({_doReset:function(){for(var t=this._key.words,e=[],r=0;r<56;r++){var n=s[r]-1;e[r]=t[n>>>5]>>>31-n%32&1}for(var i=this._subKeys=[],o=0;o<16;o++){var u=i[o]=[],l=c[o];for(r=0;r<24;r++)u[r/6|0]|=e[(a[r]-1+l)%28]<<31-r%6,u[4+(r/6|0)]|=e[28+(a[r+24]-1+l)%28]<<31-r%6;for(u[0]=u[0]<<1|u[0]>>>31,r=1;r<7;r++)u[r]=u[r]>>>4*(r-1)+3;u[7]=u[7]<<5|u[7]>>>27}var f=this._invSubKeys=[];for(r=0;r<16;r++)f[r]=i[15-r]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t,e,r){this._lBlock=t[e],this._rBlock=t[e+1],h.call(this,4,252645135),h.call(this,16,65535),d.call(this,2,858993459),d.call(this,8,16711935),h.call(this,1,1431655765);for(var n=0;n<16;n++){for(var i=r[n],o=this._lBlock,s=this._rBlock,a=0,c=0;c<8;c++)a|=u[c][((s^i[c])&l[c])>>>0];this._lBlock=s,this._rBlock=o^a}var f=this._lBlock;this._lBlock=this._rBlock,this._rBlock=f,h.call(this,1,1431655765),d.call(this,8,16711935),d.call(this,2,858993459),h.call(this,16,65535),h.call(this,4,252645135),t[e]=this._lBlock,t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function h(t,e){var r=(this._lBlock>>>t^this._rBlock)&e;this._rBlock^=r,this._lBlock^=r<<t}function d(t,e){var r=(this._rBlock>>>t^this._lBlock)&e;this._lBlock^=r,this._rBlock^=r<<t}t.DES=i._createHelper(f);var p=o.TripleDES=i.extend({_doReset:function(){var t=this._key.words;if(2!==t.length&&4!==t.length&&t.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var e=t.slice(0,2),n=t.length<4?t.slice(0,2):t.slice(2,4),i=t.length<6?t.slice(0,2):t.slice(4,6);this._des1=f.createEncryptor(r.create(e)),this._des2=f.createEncryptor(r.create(n)),this._des3=f.createEncryptor(r.create(i))},encryptBlock:function(t,e){this._des1.encryptBlock(t,e),this._des2.decryptBlock(t,e),this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e),this._des2.encryptBlock(t,e),this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});t.TripleDES=i._createHelper(p)}(),n.TripleDES)},25372:function(t,e,r){var n;t.exports=(n=r(24747),function(t){var e=n,r=e.lib,i=r.Base,o=r.WordArray,s=e.x64={};s.Word=i.extend({init:function(t,e){this.high=t,this.low=e}}),s.WordArray=i.extend({init:function(e,r){e=this.words=e||[],this.sigBytes=r!=t?r:8*e.length},toX32:function(){for(var t=this.words,e=t.length,r=[],n=0;n<e;n++){var i=t[n];r.push(i.high),r.push(i.low)}return o.create(r,this.sigBytes)},clone:function(){for(var t=i.clone.call(this),e=t.words=this.words.slice(0),r=e.length,n=0;n<r;n++)e[n]=e[n].clone();return t}})}(),n)},25288:function(t,e,r){"use strict";var n=r(36347),i=r(93385),o=r(89521),s=r(15329),a=r(19422),c=r(40185),u=r(6757),l=r(6996),f=r(36841),h=r(23349),d=r(45876),p=r(78511),g=r(16457),y=r(59757),b=r(79528),v=r(13293),m=r(98549),w=r(80867),S=i("SharedArrayBuffer.prototype.byteLength",!0),x=i("Date.prototype.getTime"),_=Object.getPrototypeOf,A=i("Object.prototype.toString"),C=s("%Set%",!0),k=i("Map.prototype.has",!0),E=i("Map.prototype.get",!0),P=i("Map.prototype.size",!0),O=i("Set.prototype.add",!0),B=i("Set.prototype.delete",!0),I=i("Set.prototype.has",!0),T=i("Set.prototype.size",!0);function R(t,e,r,n){for(var i,o=a(t);(i=o.next())&&!i.done;)if(L(e,i.value,r,n))return B(t,i.value),!0;return!1}function M(t){return void 0===t?null:"object"!=typeof t?"symbol"!=typeof t&&("string"!=typeof t&&"number"!=typeof t||+t==+t):void 0}function D(t,e,r,i,o,s){var a=M(r);if(null!=a)return a;var c=E(e,a),u=n({},o,{strict:!1});return!(void 0===c&&!k(e,a)||!L(i,c,u,s))&&(!k(t,a)&&L(i,c,u,s))}function F(t,e,r){var n=M(r);return null!=n?n:I(e,n)&&!I(t,n)}function N(t,e,r,n,i,o){for(var s,c,u=a(t);(s=u.next())&&!s.done;)if(L(r,c=s.value,i,o)&&L(n,E(e,c),i,o))return B(t,c),!0;return!1}function L(t,e,r,i){var s=r||{};if(s.strict?u(t,e):t===e)return!0;if(b(t)!==b(e))return!1;if(!t||!e||"object"!=typeof t&&"object"!=typeof e)return s.strict?u(t,e):t==e;var c,B=i.has(t),M=i.has(e);if(B&&M){if(i.get(t)===i.get(e))return!0}else c={};return B||i.set(t,c),M||i.set(e,c),function(t,e,r,i){var s,c;if(typeof t!=typeof e)return!1;if(null==t||null==e)return!1;if(A(t)!==A(e))return!1;if(l(t)!==l(e))return!1;var u=f(t),b=f(e);if(u!==b)return!1;var B=t instanceof Error,M=e instanceof Error;if(B!==M)return!1;if((B||M)&&(t.name!==e.name||t.message!==e.message))return!1;var z=p(t),U=p(e);if(z!==U)return!1;if((z||U)&&(t.source!==e.source||o(t)!==o(e)))return!1;var W=d(t),G=d(e);if(W!==G)return!1;if((W||G)&&x(t)!==x(e))return!1;if(r.strict&&_&&_(t)!==_(e))return!1;var V=m(t),X=m(e);if(V!==X)return!1;if(V||X){if(t.length!==e.length)return!1;for(s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}var q=j(t),H=j(e);if(q!==H)return!1;if(q||H){if(t.length!==e.length)return!1;for(s=0;s<t.length;s++)if(t[s]!==e[s])return!1;return!0}var Z=h(t),K=h(e);if(Z!==K)return!1;if(Z||K)return w(t)===w(e)&&("function"==typeof Uint8Array&&L(new Uint8Array(t),new Uint8Array(e),r,i));var Y=g(t),J=g(e);if(Y!==J)return!1;if(Y||J)return S(t)===S(e)&&("function"==typeof Uint8Array&&L(new Uint8Array(t),new Uint8Array(e),r,i));if(typeof t!=typeof e)return!1;var Q=y(t),$=y(e);if(Q.length!==$.length)return!1;for(Q.sort(),$.sort(),s=Q.length-1;s>=0;s--)if(Q[s]!=$[s])return!1;for(s=Q.length-1;s>=0;s--)if(!L(t[c=Q[s]],e[c],r,i))return!1;var tt=v(t),et=v(e);if(tt!==et)return!1;if("Set"===tt||"Set"===et)return function(t,e,r,n){if(T(t)!==T(e))return!1;var i,o,s,c=a(t),u=a(e);for(;(i=c.next())&&!i.done;)if(i.value&&"object"==typeof i.value)s||(s=new C),O(s,i.value);else if(!I(e,i.value)){if(r.strict)return!1;if(!F(t,e,i.value))return!1;s||(s=new C),O(s,i.value)}if(s){for(;(o=u.next())&&!o.done;)if(o.value&&"object"==typeof o.value){if(!R(s,o.value,r.strict,n))return!1}else if(!r.strict&&!I(t,o.value)&&!R(s,o.value,r.strict,n))return!1;return 0===T(s)}return!0}(t,e,r,i);if("Map"===tt)return function(t,e,r,i){if(P(t)!==P(e))return!1;var o,s,c,u,l,f,h=a(t),d=a(e);for(;(o=h.next())&&!o.done;)if(u=o.value[0],l=o.value[1],u&&"object"==typeof u)c||(c=new C),O(c,u);else if(void 0===(f=E(e,u))&&!k(e,u)||!L(l,f,r,i)){if(r.strict)return!1;if(!D(t,e,u,l,r,i))return!1;c||(c=new C),O(c,u)}if(c){for(;(s=d.next())&&!s.done;)if(u=s.value[0],f=s.value[1],u&&"object"==typeof u){if(!N(c,t,u,f,r,i))return!1}else if(!(r.strict||t.has(u)&&L(E(t,u),f,r,i)||N(c,t,u,f,n({},r,{strict:!1}),i)))return!1;return 0===T(c)}return!0}(t,e,r,i);return!0}(t,e,s,i)}function j(t){return!(!t||"object"!=typeof t||"number"!=typeof t.length)&&("function"==typeof t.copy&&"function"==typeof t.slice&&(!(t.length>0&&"number"!=typeof t[0])&&!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))))}t.exports=function(t,e,r){return L(t,e,r,c())}},68906:function(t,e,r){"use strict";var n=r(9665)(),i=r(15329),o=n&&i("%Object.defineProperty%",!0);if(o)try{o({},"a",{value:1})}catch(t){o=!1}var s=i("%SyntaxError%"),a=i("%TypeError%"),c=r(83565);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new a("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new a("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new a("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new a("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new a("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new a("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,l=arguments.length>6&&arguments[6],f=!!c&&c(t,e);if(o)o(t,e,{configurable:null===u&&f?f.configurable:!u,enumerable:null===n&&f?f.enumerable:!n,value:r,writable:null===i&&f?f.writable:!i});else{if(!l&&(n||i||u))throw new s("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},71396:function(t,e,r){"use strict";var n=r(59757),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),o=Object.prototype.toString,s=Array.prototype.concat,a=r(68906),c=r(9665)(),u=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==o.call(i)||!n())return;var i;c?a(t,e,r,!0):a(t,e,r)},l=function(t,e){var r=arguments.length>2?arguments[2]:{},o=n(e);i&&(o=s.call(o,Object.getOwnPropertySymbols(e)));for(var a=0;a<o.length;a+=1)u(t,o[a],e[o[a]],r[o[a]])};l.supportsDescriptors=!!c,t.exports=l},11482:function(t){"use strict";t.exports=class{constructor(t){this.stateTable=t.stateTable,this.accepting=t.accepting,this.tags=t.tags}match(t){var e=this;return{*[Symbol.iterator](){for(var r=1,n=null,i=null,o=null,s=0;s<t.length;s++){var a=t[s];o=r,0===(r=e.stateTable[r][a])&&(null!=n&&null!=i&&i>=n&&(yield[n,i,e.tags[o]]),r=e.stateTable[1][a],n=null),0!==r&&null==n&&(n=s),e.accepting[r]&&(i=s),0===r&&(r=1)}null!=n&&null!=i&&i>=n&&(yield[n,i,e.tags[r]])}}}apply(t,e){for(var[r,n,i]of this.match(t))for(var o of i)"function"==typeof e[o]&&e[o](r,n,t.slice(r,n+1))}}},80090:function(t){"use strict";var e,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function o(){o.init.call(this)}t.exports=o,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,o),n(r)}function o(){"function"==typeof t.removeListener&&t.removeListener("error",i),r([].slice.call(arguments))}g(t,e,o,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&g(t,"error",e,r)}(t,i,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function c(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function u(t,e,r,n){var i,o,s,u;if(a(r),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),void 0===s)s=o[e]=r,++t._eventsCount;else if("function"==typeof s?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(i=c(t))>0&&s.length>i&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,u=l,console&&console.warn&&console.warn(u)}return t}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=l.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):p(i,i.length)}function d(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function p(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function g(t,e,r,n){if("function"==typeof t.on)n.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,(function i(o){n.once&&t.removeEventListener(e,i),r(o)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(t){if("number"!=typeof t||t<0||i(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");s=t}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||i(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return c(this)},o.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var i="error"===t,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[t];if(void 0===c)return!1;if("function"==typeof c)n(c,this,e);else{var u=c.length,l=p(c,u);for(r=0;r<u;++r)n(l[r],this,e)}return!0},o.prototype.addListener=function(t,e){return u(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return u(this,t,e,!0)},o.prototype.once=function(t,e){return a(e),this.on(t,f(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){return a(e),this.prependListener(t,f(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,n,i,o,s;if(a(e),void 0===(n=this._events))return this;if(void 0===(r=n[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,i),1===r.length&&(n[t]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",t,s||e)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(t){var e,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var i,o=Object.keys(r);for(n=0;n<o.length;++n)"removeListener"!==(i=o[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(t,e[n]);return this},o.prototype.listeners=function(t){return h(this,t,!0)},o.prototype.rawListeners=function(t){return h(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):d.call(t,e)},o.prototype.listenerCount=d,o.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},13136:function(t,e,r){"use strict";var n=r(88885),i=Object.prototype.toString,o=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var s;arguments.length>=3&&(s=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n<i;n++)o.call(t,n)&&(null==r?e(t[n],n,t):e.call(r,t[n],n,t))}(t,e,s):"string"==typeof t?function(t,e,r){for(var n=0,i=t.length;n<i;n++)null==r?e(t.charAt(n),n,t):e.call(r,t.charAt(n),n,t)}(t,e,s):function(t,e,r){for(var n in t)o.call(t,n)&&(null==r?e(t[n],n,t):e.call(r,t[n],n,t))}(t,e,s)}},29283:function(t){"use strict";var e=Object.prototype.toString,r=Math.max,n=function(t,e){for(var r=[],n=0;n<t.length;n+=1)r[n]=t[n];for(var i=0;i<e.length;i+=1)r[i+t.length]=e[i];return r};t.exports=function(t){var i=this;if("function"!=typeof i||"[object Function]"!==e.apply(i))throw new TypeError("Function.prototype.bind called on incompatible "+i);for(var o,s=function(t,e){for(var r=[],n=e||0,i=0;n<t.length;n+=1,i+=1)r[i]=t[n];return r}(arguments,1),a=r(0,i.length-s.length),c=[],u=0;u<a;u++)c[u]="$"+u;if(o=Function("binder","return function ("+function(t,e){for(var r="",n=0;n<t.length;n+=1)r+=t[n],n+1<t.length&&(r+=e);return r}(c,",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof o){var e=i.apply(this,n(s,arguments));return Object(e)===e?e:this}return i.apply(t,n(s,arguments))})),i.prototype){var l=function(){};l.prototype=i.prototype,o.prototype=new l,l.prototype=null}return o}},58405:function(t,e,r){"use strict";var n=r(29283);t.exports=Function.prototype.bind||n},96140:function(t){"use strict";var e=function(){return"string"==typeof function(){}.name},r=Object.getOwnPropertyDescriptor;if(r)try{r([],"length")}catch(t){r=null}e.functionsHaveConfigurableNames=function(){if(!e()||!r)return!1;var t=r((function(){}),"name");return!!t&&!!t.configurable};var n=Function.prototype.bind;e.boundFunctionsHaveNames=function(){return e()&&"function"==typeof n&&""!==function(){}.bind().name},t.exports=e},15329:function(t,e,r){"use strict";var n,i=SyntaxError,o=Function,s=TypeError,a=function(t){try{return o('"use strict"; return ('+t+").constructor;")()}catch(t){}},c=Object.getOwnPropertyDescriptor;if(c)try{c({},"")}catch(t){c=null}var u=function(){throw new s},l=c?function(){try{return u}catch(t){try{return c(arguments,"callee").get}catch(t){return u}}}():u,f=r(19117)(),h=r(14068)(),d=Object.getPrototypeOf||(h?function(t){return t.__proto__}:null),p={},g="undefined"!=typeof Uint8Array&&d?d(Uint8Array):n,y={"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":f&&d?d([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":p,"%AsyncGenerator%":p,"%AsyncGeneratorFunction%":p,"%AsyncIteratorPrototype%":p,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?n:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":o,"%GeneratorFunction%":p,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":f&&d?d(d([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&f&&d?d((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&f&&d?d((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":f&&d?d(""[Symbol.iterator]()):n,"%Symbol%":f?Symbol:n,"%SyntaxError%":i,"%ThrowTypeError%":l,"%TypedArray%":g,"%TypeError%":s,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet};if(d)try{null.error}catch(t){var b=d(d(t));y["%Error.prototype%"]=b}var v=function t(e){var r;if("%AsyncFunction%"===e)r=a("async function () {}");else if("%GeneratorFunction%"===e)r=a("function* () {}");else if("%AsyncGeneratorFunction%"===e)r=a("async function* () {}");else if("%AsyncGenerator%"===e){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===e){var i=t("%AsyncGenerator%");i&&d&&(r=d(i.prototype))}return y[e]=r,r},m={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},w=r(58405),S=r(51457),x=w.call(Function.call,Array.prototype.concat),_=w.call(Function.apply,Array.prototype.splice),A=w.call(Function.call,String.prototype.replace),C=w.call(Function.call,String.prototype.slice),k=w.call(Function.call,RegExp.prototype.exec),E=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,P=/\\(\\)?/g,O=function(t,e){var r,n=t;if(S(m,n)&&(n="%"+(r=m[n])[0]+"%"),S(y,n)){var o=y[n];if(o===p&&(o=v(n)),void 0===o&&!e)throw new s("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:o}}throw new i("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new s('"allowMissing" argument must be a boolean');if(null===k(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=C(t,0,1),r=C(t,-1);if("%"===e&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new i("invalid intrinsic syntax, expected opening `%`");var n=[];return A(t,E,(function(t,e,r,i){n[n.length]=r?A(i,P,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",o=O("%"+n+"%",e),a=o.name,u=o.value,l=!1,f=o.alias;f&&(n=f[0],_(r,x([0,1],f)));for(var h=1,d=!0;h<r.length;h+=1){var p=r[h],g=C(p,0,1),b=C(p,-1);if(('"'===g||"'"===g||"`"===g||'"'===b||"'"===b||"`"===b)&&g!==b)throw new i("property names with quotes must have matching quotes");if("constructor"!==p&&d||(l=!0),S(y,a="%"+(n+="."+p)+"%"))u=y[a];else if(null!=u){if(!(p in u)){if(!e)throw new s("base intrinsic for "+t+" exists, but the property is not available.");return}if(c&&h+1>=r.length){var v=c(u,p);u=(d=!!v)&&"get"in v&&!("originalValue"in v.get)?v.get:u[p]}else d=S(u,p),u=u[p];d&&!l&&(y[a]=u)}}return u}},83565:function(t,e,r){"use strict";var n=r(15329)("%Object.getOwnPropertyDescriptor%",!0);if(n)try{n([],"length")}catch(t){n=null}t.exports=n},3965:function(t){"use strict";var e="undefined"!=typeof BigInt&&BigInt;t.exports=function(){return"function"==typeof e&&"function"==typeof BigInt&&"bigint"==typeof e(42)&&"bigint"==typeof BigInt(42)}},9665:function(t,e,r){"use strict";var n=r(15329)("%Object.defineProperty%",!0),i=function(){if(n)try{return n({},"a",{value:1}),!0}catch(t){return!1}return!1};i.hasArrayLengthDefineBug=function(){if(!i())return null;try{return 1!==n([],"length",{value:1}).length}catch(t){return!0}},t.exports=i},14068:function(t){"use strict";var e={foo:{}},r=Object;t.exports=function(){return{__proto__:e}.foo===e.foo&&!({__proto__:null}instanceof r)}},19117:function(t,e,r){"use strict";var n="undefined"!=typeof Symbol&&Symbol,i=r(70748);t.exports=function(){return"function"==typeof n&&("function"==typeof Symbol&&("symbol"==typeof n("foo")&&("symbol"==typeof Symbol("bar")&&i())))}},70748:function(t){"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},53231:function(t,e,r){"use strict";var n=r(70748);t.exports=function(){return n()&&!!Symbol.toStringTag}},51457:function(t,e,r){"use strict";var n=Function.prototype.call,i=Object.prototype.hasOwnProperty,o=r(58405);t.exports=o.call(n,i)},7263:function(t,e,r){"use strict";var n=r(99623).Buffer;e._dbcs=l;for(var i=-1,o=-2,s=-10,a=-1e3,c=new Array(256),u=0;u<256;u++)c[u]=i;function l(t,e){if(this.encodingName=t.encodingName,!t)throw new Error("DBCS codec is called without the data.");if(!t.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=t.table();this.decodeTables=[],this.decodeTables[0]=c.slice(0),this.decodeTableSeq=[];for(var n=0;n<r.length;n++)this._addDecodeChunk(r[n]);this.defaultCharUnicode=e.defaultCharUnicode,this.encodeTable=[],this.encodeTableSeq=[];var s={};if(t.encodeSkipVals)for(n=0;n<t.encodeSkipVals.length;n++){var u=t.encodeSkipVals[n];if("number"==typeof u)s[u]=!0;else for(var l=u.from;l<=u.to;l++)s[l]=!0}if(this._fillEncodeTable(0,0,s),t.encodeAdd)for(var f in t.encodeAdd)Object.prototype.hasOwnProperty.call(t.encodeAdd,f)&&this._setEncodeChar(f.charCodeAt(0),t.encodeAdd[f]);if(this.defCharSB=this.encodeTable[0][e.defaultCharSingleByte.charCodeAt(0)],this.defCharSB===i&&(this.defCharSB=this.encodeTable[0]["?"]),this.defCharSB===i&&(this.defCharSB="?".charCodeAt(0)),"function"==typeof t.gb18030){this.gb18030=t.gb18030();var h=this.decodeTables.length,d=this.decodeTables[h]=c.slice(0),p=this.decodeTables.length,g=this.decodeTables[p]=c.slice(0);for(n=129;n<=254;n++){var y=a-this.decodeTables[0][n],b=this.decodeTables[y];for(l=48;l<=57;l++)b[l]=a-h}for(n=129;n<=254;n++)d[n]=a-p;for(n=48;n<=57;n++)g[n]=o}}function f(t,e){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=e.encodeTable,this.encodeTableSeq=e.encodeTableSeq,this.defaultCharSingleByte=e.defCharSB,this.gb18030=e.gb18030}function h(t,e){this.nodeIdx=0,this.prevBuf=n.alloc(0),this.decodeTables=e.decodeTables,this.decodeTableSeq=e.decodeTableSeq,this.defaultCharUnicode=e.defaultCharUnicode,this.gb18030=e.gb18030}function d(t,e){if(t[0]>e)return-1;for(var r=0,n=t.length;r<n-1;){var i=r+Math.floor((n-r+1)/2);t[i]<=e?r=i:n=i}return r}l.prototype.encoder=f,l.prototype.decoder=h,l.prototype._getDecodeTrieNode=function(t){for(var e=[];t>0;t>>=8)e.push(255&t);0==e.length&&e.push(0);for(var r=this.decodeTables[0],n=e.length-1;n>0;n--){var o=r[e[n]];if(o==i)r[e[n]]=a-this.decodeTables.length,this.decodeTables.push(r=c.slice(0));else{if(!(o<=a))throw new Error("Overwrite byte in "+this.encodingName+", addr: "+t.toString(16));r=this.decodeTables[a-o]}}return r},l.prototype._addDecodeChunk=function(t){var e=parseInt(t[0],16),r=this._getDecodeTrieNode(e);e&=255;for(var n=1;n<t.length;n++){var i=t[n];if("string"==typeof i)for(var o=0;o<i.length;){var a=i.charCodeAt(o++);if(55296<=a&&a<56320){var c=i.charCodeAt(o++);if(!(56320<=c&&c<57344))throw new Error("Incorrect surrogate pair in "+this.encodingName+" at chunk "+t[0]);r[e++]=65536+1024*(a-55296)+(c-56320)}else if(4080<a&&a<=4095){for(var u=4095-a+2,l=[],f=0;f<u;f++)l.push(i.charCodeAt(o++));r[e++]=s-this.decodeTableSeq.length,this.decodeTableSeq.push(l)}else r[e++]=a}else{if("number"!=typeof i)throw new Error("Incorrect type '"+typeof i+"' given in "+this.encodingName+" at chunk "+t[0]);var h=r[e-1]+1;for(o=0;o<i;o++)r[e++]=h++}}if(e>255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+t[0]+": too long"+e)},l.prototype._getEncodeBucket=function(t){var e=t>>8;return void 0===this.encodeTable[e]&&(this.encodeTable[e]=c.slice(0)),this.encodeTable[e]},l.prototype._setEncodeChar=function(t,e){var r=this._getEncodeBucket(t),n=255&t;r[n]<=s?this.encodeTableSeq[s-r[n]][-1]=e:r[n]==i&&(r[n]=e)},l.prototype._setEncodeSequence=function(t,e){var r,n=t[0],o=this._getEncodeBucket(n),a=255&n;o[a]<=s?r=this.encodeTableSeq[s-o[a]]:(r={},o[a]!==i&&(r[-1]=o[a]),o[a]=s-this.encodeTableSeq.length,this.encodeTableSeq.push(r));for(var c=1;c<t.length-1;c++){var u=r[n];"object"==typeof u?r=u:(r=r[n]={},void 0!==u&&(r[-1]=u))}r[n=t[t.length-1]]=e},l.prototype._fillEncodeTable=function(t,e,r){for(var n=this.decodeTables[t],i=0;i<256;i++){var o=n[i],c=e+i;r[c]||(o>=0?this._setEncodeChar(o,c):o<=a?this._fillEncodeTable(a-o,c<<8,r):o<=s&&this._setEncodeSequence(this.decodeTableSeq[s-o],c))}},f.prototype.write=function(t){for(var e=n.alloc(t.length*(this.gb18030?4:3)),r=this.leadSurrogate,o=this.seqObj,a=-1,c=0,u=0;;){if(-1===a){if(c==t.length)break;var l=t.charCodeAt(c++)}else{l=a;a=-1}if(55296<=l&&l<57344)if(l<56320){if(-1===r){r=l;continue}r=l,l=i}else-1!==r?(l=65536+1024*(r-55296)+(l-56320),r=-1):l=i;else-1!==r&&(a=l,l=i,r=-1);var f=i;if(void 0!==o&&l!=i){var h=o[l];if("object"==typeof h){o=h;continue}"number"==typeof h?f=h:null==h&&void 0!==(h=o[-1])&&(f=h,a=l),o=void 0}else if(l>=0){var p=this.encodeTable[l>>8];if(void 0!==p&&(f=p[255&l]),f<=s){o=this.encodeTableSeq[s-f];continue}if(f==i&&this.gb18030){var g=d(this.gb18030.uChars,l);if(-1!=g){f=this.gb18030.gbChars[g]+(l-this.gb18030.uChars[g]);e[u++]=129+Math.floor(f/12600),f%=12600,e[u++]=48+Math.floor(f/1260),f%=1260,e[u++]=129+Math.floor(f/10),f%=10,e[u++]=48+f;continue}}}f===i&&(f=this.defaultCharSingleByte),f<256?e[u++]=f:f<65536?(e[u++]=f>>8,e[u++]=255&f):(e[u++]=f>>16,e[u++]=f>>8&255,e[u++]=255&f)}return this.seqObj=o,this.leadSurrogate=r,e.slice(0,u)},f.prototype.end=function(){if(-1!==this.leadSurrogate||void 0!==this.seqObj){var t=n.alloc(10),e=0;if(this.seqObj){var r=this.seqObj[-1];void 0!==r&&(r<256?t[e++]=r:(t[e++]=r>>8,t[e++]=255&r)),this.seqObj=void 0}return-1!==this.leadSurrogate&&(t[e++]=this.defaultCharSingleByte,this.leadSurrogate=-1),t.slice(0,e)}},f.prototype.findIdx=d,h.prototype.write=function(t){var e=n.alloc(2*t.length),r=this.nodeIdx,c=this.prevBuf,u=this.prevBuf.length,l=-this.prevBuf.length;u>0&&(c=n.concat([c,t.slice(0,10)]));for(var f=0,h=0;f<t.length;f++){var p,g=f>=0?t[f]:c[f+u];if((p=this.decodeTables[r][g])>=0);else if(p===i)f=l,p=this.defaultCharUnicode.charCodeAt(0);else if(p===o){var y=l>=0?t.slice(l,f+1):c.slice(l+u,f+1+u),b=12600*(y[0]-129)+1260*(y[1]-48)+10*(y[2]-129)+(y[3]-48),v=d(this.gb18030.gbChars,b);p=this.gb18030.uChars[v]+b-this.gb18030.gbChars[v]}else{if(p<=a){r=a-p;continue}if(!(p<=s))throw new Error("iconv-lite internal error: invalid decoding table value "+p+" at "+r+"/"+g);for(var m=this.decodeTableSeq[s-p],w=0;w<m.length-1;w++)p=m[w],e[h++]=255&p,e[h++]=p>>8;p=m[m.length-1]}if(p>65535){p-=65536;var S=55296+Math.floor(p/1024);e[h++]=255&S,e[h++]=S>>8,p=56320+p%1024}e[h++]=255&p,e[h++]=p>>8,r=0,l=f+1}return this.nodeIdx=r,this.prevBuf=l>=0?t.slice(l):c.slice(l+u),e.slice(0,h).toString("ucs2")},h.prototype.end=function(){for(var t="";this.prevBuf.length>0;){t+=this.defaultCharUnicode;var e=this.prevBuf.slice(1);this.prevBuf=n.alloc(0),this.nodeIdx=0,e.length>0&&(t+=this.write(e))}return this.nodeIdx=0,t}},44306:function(t,e,r){"use strict";t.exports={shiftjis:{type:"_dbcs",table:function(){return r(63250)},encodeAdd:{"¥":92,"‾":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return r(22973)},encodeAdd:{"¥":92,"‾":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return r(3232)}},gbk:{type:"_dbcs",table:function(){return r(3232).concat(r(32111))}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return r(3232).concat(r(32111))},gb18030:function(){return r(90675)},encodeSkipVals:[128],encodeAdd:{"€":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return r(39640)}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return r(6224)}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return r(6224).concat(r(21207))},encodeSkipVals:[41676]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}},76763:function(t,e,r){"use strict";for(var n=[r(22280),r(24183),r(94900),r(57653),r(29149),r(23943),r(7263),r(44306)],i=0;i<n.length;i++){var o=n[i];for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&(e[s]=o[s])}},22280:function(t,e,r){"use strict";var n=r(99623).Buffer;function i(t,e){this.enc=t.encodingName,this.bomAware=t.bomAware,"base64"===this.enc?this.encoder=c:"cesu8"===this.enc&&(this.enc="utf8",this.encoder=u,"💩"!==n.from("eda0bdedb2a9","hex").toString()&&(this.decoder=l,this.defaultCharUnicode=e.defaultCharUnicode))}t.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:i},i.prototype.encoder=a,i.prototype.decoder=s;var o=r(91521).s;function s(t,e){o.call(this,e.enc)}function a(t,e){this.enc=e.enc}function c(t,e){this.prevStr=""}function u(t,e){}function l(t,e){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=e.defaultCharUnicode}o.prototype.end||(o.prototype.end=function(){}),s.prototype=o.prototype,a.prototype.write=function(t){return n.from(t,this.enc)},a.prototype.end=function(){},c.prototype.write=function(t){var e=(t=this.prevStr+t).length-t.length%4;return this.prevStr=t.slice(e),t=t.slice(0,e),n.from(t,"base64")},c.prototype.end=function(){return n.from(this.prevStr,"base64")},u.prototype.write=function(t){for(var e=n.alloc(3*t.length),r=0,i=0;i<t.length;i++){var o=t.charCodeAt(i);o<128?e[r++]=o:o<2048?(e[r++]=192+(o>>>6),e[r++]=128+(63&o)):(e[r++]=224+(o>>>12),e[r++]=128+(o>>>6&63),e[r++]=128+(63&o))}return e.slice(0,r)},u.prototype.end=function(){},l.prototype.write=function(t){for(var e=this.acc,r=this.contBytes,n=this.accBytes,i="",o=0;o<t.length;o++){var s=t[o];128!=(192&s)?(r>0&&(i+=this.defaultCharUnicode,r=0),s<128?i+=String.fromCharCode(s):s<224?(e=31&s,r=1,n=1):s<240?(e=15&s,r=2,n=1):i+=this.defaultCharUnicode):r>0?(e=e<<6|63&s,n++,0===--r&&(i+=2===n&&e<128&&e>0||3===n&&e<2048?this.defaultCharUnicode:String.fromCharCode(e))):i+=this.defaultCharUnicode}return this.acc=e,this.contBytes=r,this.accBytes=n,i},l.prototype.end=function(){var t=0;return this.contBytes>0&&(t+=this.defaultCharUnicode),t}},57653:function(t,e,r){"use strict";var n=r(99623).Buffer;function i(t,e){if(!t)throw new Error("SBCS codec is called without the data.");if(!t.chars||128!==t.chars.length&&256!==t.chars.length)throw new Error("Encoding '"+t.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(128===t.chars.length){for(var r="",i=0;i<128;i++)r+=String.fromCharCode(i);t.chars=r+t.chars}this.decodeBuf=n.from(t.chars,"ucs2");var o=n.alloc(65536,e.defaultCharSingleByte.charCodeAt(0));for(i=0;i<t.chars.length;i++)o[t.chars.charCodeAt(i)]=i;this.encodeBuf=o}function o(t,e){this.encodeBuf=e.encodeBuf}function s(t,e){this.decodeBuf=e.decodeBuf}e._sbcs=i,i.prototype.encoder=o,i.prototype.decoder=s,o.prototype.write=function(t){for(var e=n.alloc(t.length),r=0;r<t.length;r++)e[r]=this.encodeBuf[t.charCodeAt(r)];return e},o.prototype.end=function(){},s.prototype.write=function(t){for(var e=this.decodeBuf,r=n.alloc(2*t.length),i=0,o=0,s=0;s<t.length;s++)i=2*t[s],r[o=2*s]=e[i],r[o+1]=e[i+1];return r.toString("ucs2")},s.prototype.end=function(){}},23943:function(t){"use strict";t.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:" Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:" Ħ˘£¤�Ĥ§¨İŞĞĴ­�Ż°ħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:" ĄĸŖ¤ĨĻ§¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩļˇ¸šēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖ×ØŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:" ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:" ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:" ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:" �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:" ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:" ĄĒĢĪĨĶ§ĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:" ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:" Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:" ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:" ĄąŁ€„Š§š©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ "},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ "},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ "},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘę¬źČş«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ "},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ "},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ "},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞğ¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ "},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñÑªº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýÝ¯´­±‗¾¶§÷¸°¨·¹³²■ "},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñÑªº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñÑªº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñÑªº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ "},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:" ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"ﺈ×÷ﹱ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:" ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:" ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:" ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ "},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"€…‘’“”•–— กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:" ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"},maccyrillic:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},macgreek:{type:"_sbcs",chars:"Ä¹²É³ÖÜ΅àâä΄¨çéèêë£™îï•½‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�"},maciceland:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macroman:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macromania:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macthai:{type:"_sbcs",chars:"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู\ufeff​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����"},macturkish:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ"},macukraine:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},koi8r:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8u:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8ru:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8t:{type:"_sbcs",chars:"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},armscii8:{type:"_sbcs",chars:" �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�"},rk1048:{type:"_sbcs",chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},tcvn:{type:"_sbcs",chars:"\0ÚỤỪỬỮ\b\t\n\v\f\rỨỰỲỶỸÝỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"},georgianacademy:{type:"_sbcs",chars:"‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},georgianps:{type:"_sbcs",chars:"‚ƒ„…†‡ˆ‰Š‹Œ‘’“”•–—˜™š›œŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},pt154:{type:"_sbcs",chars:"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},viscii:{type:"_sbcs",chars:"\0ẲẴẪ\b\t\n\v\f\rỶỸỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"},iso646cn:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},iso646jp:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},hproman8:{type:"_sbcs",chars:" ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"},macintosh:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›ﬁﬂ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},ascii:{type:"_sbcs",chars:"��������������������������������������������������������������������������������������������������������������������������������"},tis620:{type:"_sbcs",chars:"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"}}},29149:function(t){"use strict";t.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"ÄĀāÉĄÖÜáąČäčĆćéŹźĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņŃ¬√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ "},mik:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",1e4:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}},24183:function(t,e,r){"use strict";var n=r(99623).Buffer;function i(){}function o(){}function s(){this.overflowByte=-1}function a(t,e){this.iconv=e}function c(t,e){void 0===(t=t||{}).addBOM&&(t.addBOM=!0),this.encoder=e.iconv.getEncoder("utf-16le",t)}function u(t,e){this.decoder=null,this.initialBytes=[],this.initialBytesLen=0,this.options=t||{},this.iconv=e.iconv}function l(t,e){var r=e||"utf-16le";if(t.length>=2)if(254==t[0]&&255==t[1])r="utf-16be";else if(255==t[0]&&254==t[1])r="utf-16le";else{for(var n=0,i=0,o=Math.min(t.length-t.length%2,64),s=0;s<o;s+=2)0===t[s]&&0!==t[s+1]&&i++,0!==t[s]&&0===t[s+1]&&n++;i>n?r="utf-16be":i<n&&(r="utf-16le")}return r}e.utf16be=i,i.prototype.encoder=o,i.prototype.decoder=s,i.prototype.bomAware=!0,o.prototype.write=function(t){for(var e=n.from(t,"ucs2"),r=0;r<e.length;r+=2){var i=e[r];e[r]=e[r+1],e[r+1]=i}return e},o.prototype.end=function(){},s.prototype.write=function(t){if(0==t.length)return"";var e=n.alloc(t.length+1),r=0,i=0;for(-1!==this.overflowByte&&(e[0]=t[0],e[1]=this.overflowByte,r=1,i=2);r<t.length-1;r+=2,i+=2)e[i]=t[r+1],e[i+1]=t[r];return this.overflowByte=r==t.length-1?t[t.length-1]:-1,e.slice(0,i).toString("ucs2")},s.prototype.end=function(){},e.utf16=a,a.prototype.encoder=c,a.prototype.decoder=u,c.prototype.write=function(t){return this.encoder.write(t)},c.prototype.end=function(){return this.encoder.end()},u.prototype.write=function(t){if(!this.decoder){if(this.initialBytes.push(t),this.initialBytesLen+=t.length,this.initialBytesLen<16)return"";var e=l(t=n.concat(this.initialBytes),this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(e,this.options),this.initialBytes.length=this.initialBytesLen=0}return this.decoder.write(t)},u.prototype.end=function(){if(!this.decoder){var t=n.concat(this.initialBytes),e=l(t,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(e,this.options);var r=this.decoder.write(t),i=this.decoder.end();return i?r+i:r}return this.decoder.end()}},94900:function(t,e,r){"use strict";var n=r(99623).Buffer;function i(t,e){this.iconv=e}e.utf7=i,e.unicode11utf7="utf7",i.prototype.encoder=s,i.prototype.decoder=a,i.prototype.bomAware=!0;var o=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function s(t,e){this.iconv=e.iconv}function a(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}s.prototype.write=function(t){return n.from(t.replace(o,function(t){return"+"+("+"===t?"":this.iconv.encode(t,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))},s.prototype.end=function(){};for(var c=/[A-Za-z0-9\/+]/,u=[],l=0;l<256;l++)u[l]=c.test(String.fromCharCode(l));var f="+".charCodeAt(0),h="-".charCodeAt(0),d="&".charCodeAt(0);function p(t,e){this.iconv=e}function g(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=n.alloc(6),this.base64AccumIdx=0}function y(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}a.prototype.write=function(t){for(var e="",r=0,i=this.inBase64,o=this.base64Accum,s=0;s<t.length;s++)if(i){if(!u[t[s]]){if(s==r&&t[s]==h)e+="+";else{var a=o+t.slice(r,s).toString();e+=this.iconv.decode(n.from(a,"base64"),"utf16-be")}t[s]!=h&&s--,r=s+1,i=!1,o=""}}else t[s]==f&&(e+=this.iconv.decode(t.slice(r,s),"ascii"),r=s+1,i=!0);if(i){var c=(a=o+t.slice(r).toString()).length-a.length%8;o=a.slice(c),a=a.slice(0,c),e+=this.iconv.decode(n.from(a,"base64"),"utf16-be")}else e+=this.iconv.decode(t.slice(r),"ascii");return this.inBase64=i,this.base64Accum=o,e},a.prototype.end=function(){var t="";return this.inBase64&&this.base64Accum.length>0&&(t=this.iconv.decode(n.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t},e.utf7imap=p,p.prototype.encoder=g,p.prototype.decoder=y,p.prototype.bomAware=!0,g.prototype.write=function(t){for(var e=this.inBase64,r=this.base64Accum,i=this.base64AccumIdx,o=n.alloc(5*t.length+10),s=0,a=0;a<t.length;a++){var c=t.charCodeAt(a);32<=c&&c<=126?(e&&(i>0&&(s+=o.write(r.slice(0,i).toString("base64").replace(/\//g,",").replace(/=+$/,""),s),i=0),o[s++]=h,e=!1),e||(o[s++]=c,c===d&&(o[s++]=h))):(e||(o[s++]=d,e=!0),e&&(r[i++]=c>>8,r[i++]=255&c,i==r.length&&(s+=o.write(r.toString("base64").replace(/\//g,","),s),i=0)))}return this.inBase64=e,this.base64AccumIdx=i,o.slice(0,s)},g.prototype.end=function(){var t=n.alloc(10),e=0;return this.inBase64&&(this.base64AccumIdx>0&&(e+=t.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),e),this.base64AccumIdx=0),t[e++]=h,this.inBase64=!1),t.slice(0,e)};var b=u.slice();b[",".charCodeAt(0)]=!0,y.prototype.write=function(t){for(var e="",r=0,i=this.inBase64,o=this.base64Accum,s=0;s<t.length;s++)if(i){if(!b[t[s]]){if(s==r&&t[s]==h)e+="&";else{var a=o+t.slice(r,s).toString().replace(/,/g,"/");e+=this.iconv.decode(n.from(a,"base64"),"utf16-be")}t[s]!=h&&s--,r=s+1,i=!1,o=""}}else t[s]==d&&(e+=this.iconv.decode(t.slice(r,s),"ascii"),r=s+1,i=!0);if(i){var c=(a=o+t.slice(r).toString().replace(/,/g,"/")).length-a.length%8;o=a.slice(c),a=a.slice(0,c),e+=this.iconv.decode(n.from(a,"base64"),"utf16-be")}else e+=this.iconv.decode(t.slice(r),"ascii");return this.inBase64=i,this.base64Accum=o,e},y.prototype.end=function(){var t="";return this.inBase64&&this.base64Accum.length>0&&(t=this.iconv.decode(n.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t}},91325:function(t,e){"use strict";function r(t,e){this.encoder=t,this.addBOM=!0}function n(t,e){this.decoder=t,this.pass=!1,this.options=e||{}}e.PrependBOM=r,r.prototype.write=function(t){return this.addBOM&&(t="\ufeff"+t,this.addBOM=!1),this.encoder.write(t)},r.prototype.end=function(){return this.encoder.end()},e.StripBOM=n,n.prototype.write=function(t){var e=this.decoder.write(t);return this.pass||!e||("\ufeff"===e[0]&&(e=e.slice(1),"function"==typeof this.options.stripBOM&&this.options.stripBOM()),this.pass=!0),e},n.prototype.end=function(){return this.decoder.end()}},88674:function(t,e,r){"use strict";var n=r(96456),i=r(99623).Buffer,o=r(91325),s=t.exports;s.encodings=null,s.defaultCharUnicode="�",s.defaultCharSingleByte="?",s.encode=function(t,e,r){t=""+(t||"");var n=s.getEncoder(e,r),o=n.write(t),a=n.end();return a&&a.length>0?i.concat([o,a]):o},s.decode=function(t,e,r){"string"==typeof t&&(s.skipDecodeWarning||(console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"),s.skipDecodeWarning=!0),t=i.from(""+(t||""),"binary"));var n=s.getDecoder(e,r),o=n.write(t),a=n.end();return a?o+a:o},s.encodingExists=function(t){try{return s.getCodec(t),!0}catch(t){return!1}},s.toEncoding=s.encode,s.fromEncoding=s.decode,s._codecDataCache={},s.getCodec=function(t){s.encodings||(s.encodings=r(76763));for(var e=s._canonicalizeEncoding(t),n={};;){var i=s._codecDataCache[e];if(i)return i;var o=s.encodings[e];switch(typeof o){case"string":e=o;break;case"object":for(var a in o)n[a]=o[a];n.encodingName||(n.encodingName=e),e=o.type;break;case"function":return n.encodingName||(n.encodingName=e),i=new o(n,s),s._codecDataCache[n.encodingName]=i,i;default:throw new Error("Encoding not recognized: '"+t+"' (searched as: '"+e+"')")}}},s._canonicalizeEncoding=function(t){return(""+t).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")},s.getEncoder=function(t,e){var r=s.getCodec(t),n=new r.encoder(e,r);return r.bomAware&&e&&e.addBOM&&(n=new o.PrependBOM(n,e)),n},s.getDecoder=function(t,e){var r=s.getCodec(t),n=new r.decoder(e,r);return!r.bomAware||e&&!1===e.stripBOM||(n=new o.StripBOM(n,e)),n};var a=void 0!==n&&n.versions&&n.versions.node;if(a){var c=a.split(".").map(Number);(c[0]>0||c[1]>=10)&&r(99808)(s),r(37265)(s)}},61858:function(t,e){e.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,h=r?-1:1,d=t[e+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=256*o+t[e+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=n;l>0;s=256*s+t[e+f],f+=h,l-=8);if(0===o)o=1-u;else{if(o===c)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),o-=u}return(d?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,c,u=8*o-i-1,l=(1<<u)-1,f=l>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,p=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+f>=1?h/c:h*Math.pow(2,1-f))*c>=2&&(s++,c/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(e*c-1)*Math.pow(2,i),s+=f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;t[r+d]=255&a,d+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;t[r+d]=255&s,d+=p,s/=256,u-=8);t[r+d-p]|=128*g}},16796:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},8775:function(t,e,r){"use strict";var n=r(15329),i=r(51457),o=r(40185)(),s=n("%TypeError%"),a={assert:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`O` is not an object");if("string"!=typeof e)throw new s("`slot` must be a string");if(o.assert(t),!a.has(t,e))throw new s("`"+e+"` is not present on `O`")},get:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`O` is not an object");if("string"!=typeof e)throw new s("`slot` must be a string");var r=o.get(t);return r&&r["$"+e]},has:function(t,e){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`O` is not an object");if("string"!=typeof e)throw new s("`slot` must be a string");var r=o.get(t);return!!r&&i(r,"$"+e)},set:function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`O` is not an object");if("string"!=typeof e)throw new s("`slot` must be a string");var n=o.get(t);n||(n={},o.set(t,n)),n["$"+e]=r}};Object.freeze&&Object.freeze(a),t.exports=a},6996:function(t,e,r){"use strict";var n=r(53231)(),i=r(93385)("Object.prototype.toString"),o=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},s=function(t){return!!o(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},a=function(){return o(arguments)}();o.isLegacyArguments=s,t.exports=a?o:s},23349:function(t,e,r){"use strict";var n=r(60541),i=r(93385),o=r(15329),s=r(78422),a=o("ArrayBuffer",!0),c=o("Float32Array",!0),u=i("ArrayBuffer.prototype.byteLength",!0),l=a&&!u&&(new a).slice,f=l&&n(l);t.exports=u||f?function(t){if(!t||"object"!=typeof t)return!1;try{return u?u(t):f(t,0),!0}catch(t){return!1}}:c?function(t){try{return new c(t).buffer===t&&!s(t)}catch(e){return"object"==typeof t&&"RangeError"===e.name}}:function(t){return!1}},22579:function(t,e,r){"use strict";if(r(3965)()){var n=BigInt.prototype.valueOf;t.exports=function(t){return null!=t&&"boolean"!=typeof t&&"string"!=typeof t&&"number"!=typeof t&&"symbol"!=typeof t&&"function"!=typeof t&&("bigint"==typeof t||function(t){try{return n.call(t),!0}catch(t){}return!1}(t))}}else t.exports=function(t){return!1}},81869:function(t,e,r){"use strict";var n=r(93385),i=n("Boolean.prototype.toString"),o=n("Object.prototype.toString"),s=r(53231)();t.exports=function(t){return"boolean"==typeof t||null!==t&&"object"==typeof t&&(s&&Symbol.toStringTag in t?function(t){try{return i(t),!0}catch(t){return!1}}(t):"[object Boolean]"===o(t))}},88885:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var o=/^\s*class\b/,s=function(t){try{var e=n.call(t);return o.test(e)}catch(t){return!1}},a=function(t){try{return!s(t)&&(n.call(t),!0)}catch(t){return!1}},c=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,l=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;c.call(h)===c.call(document.all)&&(f=function(t){if((l||!t)&&(void 0===t||"object"==typeof t))try{var e=c.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!s(t)&&a(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return a(t);if(s(t))return!1;var e=c.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&a(t)}},45876:function(t,e,r){"use strict";var n=Date.prototype.getDay,i=Object.prototype.toString,o=r(53231)();t.exports=function(t){return"object"==typeof t&&null!==t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object Date]"===i.call(t))}},24278:function(t,e,r){"use strict";var n,i=Object.prototype.toString,o=Function.prototype.toString,s=/^\s*(?:function)?\*/,a=r(53231)(),c=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(s.test(o.call(t)))return!0;if(!a)return"[object GeneratorFunction]"===i.call(t);if(!c)return!1;if(void 0===n){var e=function(){if(!a)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&c(e)}return c(t)===n}},74773:function(t){"use strict";var e,r="function"==typeof Map&&Map.prototype?Map:null,n="function"==typeof Set&&Set.prototype?Set:null;r||(e=function(t){return!1});var i=r?Map.prototype.has:null,o=n?Set.prototype.has:null;e||i||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(i.call(t),o)try{o.call(t)}catch(t){return!0}return t instanceof r}catch(t){}return!1}},18250:function(t){"use strict";t.exports=function(t){return t!=t}},36935:function(t,e,r){"use strict";var n=r(60541),i=r(71396),o=r(18250),s=r(90603),a=r(9350),c=n(s(),Number);i(c,{getPolyfill:s,implementation:o,shim:a}),t.exports=c},90603:function(t,e,r){"use strict";var n=r(18250);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},9350:function(t,e,r){"use strict";var n=r(71396),i=r(90603);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},58306:function(t,e,r){"use strict";var n=Number.prototype.toString,i=Object.prototype.toString,o=r(53231)();t.exports=function(t){return"number"==typeof t||"object"==typeof t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object Number]"===i.call(t))}},78511:function(t,e,r){"use strict";var n,i,o,s,a=r(93385),c=r(53231)();if(c){n=a("Object.prototype.hasOwnProperty"),i=a("RegExp.prototype.exec"),o={};var u=function(){throw o};s={toString:u,valueOf:u},"symbol"==typeof Symbol.toPrimitive&&(s[Symbol.toPrimitive]=u)}var l=a("Object.prototype.toString"),f=Object.getOwnPropertyDescriptor;t.exports=c?function(t){if(!t||"object"!=typeof t)return!1;var e=f(t,"lastIndex");if(!(e&&n(e,"value")))return!1;try{i(t,s)}catch(t){return t===o}}:function(t){return!(!t||"object"!=typeof t&&"function"!=typeof t)&&"[object RegExp]"===l(t)}},70439:function(t){"use strict";var e,r="function"==typeof Map&&Map.prototype?Map:null,n="function"==typeof Set&&Set.prototype?Set:null;n||(e=function(t){return!1});var i=r?Map.prototype.has:null,o=n?Set.prototype.has:null;e||o||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(o.call(t),i)try{i.call(t)}catch(t){return!0}return t instanceof n}catch(t){}return!1}},16457:function(t,e,r){"use strict";var n=r(93385)("SharedArrayBuffer.prototype.byteLength",!0);t.exports=n?function(t){if(!t||"object"!=typeof t)return!1;try{return n(t),!0}catch(t){return!1}}:function(t){return!1}},14146:function(t,e,r){"use strict";var n=String.prototype.valueOf,i=Object.prototype.toString,o=r(53231)();t.exports=function(t){return"string"==typeof t||"object"==typeof t&&(o?function(t){try{return n.call(t),!0}catch(t){return!1}}(t):"[object String]"===i.call(t))}},72505:function(t,e,r){"use strict";var n=Object.prototype.toString;if(r(19117)()){var i=Symbol.prototype.toString,o=/^Symbol\(.*\)$/;t.exports=function(t){if("symbol"==typeof t)return!0;if("[object Symbol]"!==n.call(t))return!1;try{return function(t){return"symbol"==typeof t.valueOf()&&o.test(i.call(t))}(t)}catch(t){return!1}}}else t.exports=function(t){return!1}},78422:function(t,e,r){"use strict";var n=r(98549);t.exports=function(t){return!!n(t)}},22389:function(t){"use strict";var e,r="function"==typeof WeakMap&&WeakMap.prototype?WeakMap:null,n="function"==typeof WeakSet&&WeakSet.prototype?WeakSet:null;r||(e=function(t){return!1});var i=r?r.prototype.has:null,o=n?n.prototype.has:null;e||i||(e=function(t){return!1}),t.exports=e||function(t){if(!t||"object"!=typeof t)return!1;try{if(i.call(t,i),o)try{o.call(t,o)}catch(t){return!0}return t instanceof r}catch(t){}return!1}},99267:function(t,e,r){"use strict";var n=r(15329),i=r(93385),o=n("%WeakSet%",!0),s=i("WeakSet.prototype.has",!0);if(s){var a=i("WeakMap.prototype.has",!0);t.exports=function(t){if(!t||"object"!=typeof t)return!1;try{if(s(t,s),a)try{a(t,a)}catch(t){return!0}return t instanceof o}catch(t){}return!1}}else t.exports=function(t){return!1}},36841:function(t){var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},11056:function(t,e,r){var n="function"==typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=n&&i&&"function"==typeof i.get?i.get:null,s=n&&Map.prototype.forEach,a="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&a?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,u=a&&c&&"function"==typeof c.get?c.get:null,l=a&&Set.prototype.forEach,f="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,h="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,d="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,g=Object.prototype.toString,y=Function.prototype.toString,b=String.prototype.match,v=String.prototype.slice,m=String.prototype.replace,w=String.prototype.toUpperCase,S=String.prototype.toLowerCase,x=RegExp.prototype.test,_=Array.prototype.concat,A=Array.prototype.join,C=Array.prototype.slice,k=Math.floor,E="function"==typeof BigInt?BigInt.prototype.valueOf:null,P=Object.getOwnPropertySymbols,O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,B="function"==typeof Symbol&&"object"==typeof Symbol.iterator,I="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===B||"symbol")?Symbol.toStringTag:null,T=Object.prototype.propertyIsEnumerable,R=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function M(t,e){if(t===1/0||t===-1/0||t!=t||t&&t>-1e3&&t<1e3||x.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof t){var n=t<0?-k(-t):k(t);if(n!==t){var i=String(n),o=v.call(e,i.length+1);return m.call(i,r,"$&_")+"."+m.call(m.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return m.call(e,r,"$&_")}var D=r(65660),F=D.custom,N=W(F)?F:null;function L(t,e,r){var n="double"===(r.quoteStyle||e)?'"':"'";return n+t+n}function j(t){return m.call(String(t),/"/g,"&quot;")}function z(t){return!("[object Array]"!==X(t)||I&&"object"==typeof t&&I in t)}function U(t){return!("[object RegExp]"!==X(t)||I&&"object"==typeof t&&I in t)}function W(t){if(B)return t&&"object"==typeof t&&t instanceof Symbol;if("symbol"==typeof t)return!0;if(!t||"object"!=typeof t||!O)return!1;try{return O.call(t),!0}catch(t){}return!1}t.exports=function t(e,n,i,a){var c=n||{};if(V(c,"quoteStyle")&&"single"!==c.quoteStyle&&"double"!==c.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(V(c,"maxStringLength")&&("number"==typeof c.maxStringLength?c.maxStringLength<0&&c.maxStringLength!==1/0:null!==c.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var g=!V(c,"customInspect")||c.customInspect;if("boolean"!=typeof g&&"symbol"!==g)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(V(c,"indent")&&null!==c.indent&&"\t"!==c.indent&&!(parseInt(c.indent,10)===c.indent&&c.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(V(c,"numericSeparator")&&"boolean"!=typeof c.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var w=c.numericSeparator;if(void 0===e)return"undefined";if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("string"==typeof e)return H(e,c);if("number"==typeof e){if(0===e)return 1/0/e>0?"0":"-0";var x=String(e);return w?M(e,x):x}if("bigint"==typeof e){var k=String(e)+"n";return w?M(e,k):k}var P=void 0===c.depth?5:c.depth;if(void 0===i&&(i=0),i>=P&&P>0&&"object"==typeof e)return z(e)?"[Array]":"[Object]";var F=function(t,e){var r;if("\t"===t.indent)r="\t";else{if(!("number"==typeof t.indent&&t.indent>0))return null;r=A.call(Array(t.indent+1)," ")}return{base:r,prev:A.call(Array(e+1),r)}}(c,i);if(void 0===a)a=[];else if(q(a,e)>=0)return"[Circular]";function G(e,r,n){if(r&&(a=C.call(a)).push(r),n){var o={depth:c.depth};return V(c,"quoteStyle")&&(o.quoteStyle=c.quoteStyle),t(e,o,i+1,a)}return t(e,c,i+1,a)}if("function"==typeof e&&!U(e)){var Z=function(t){if(t.name)return t.name;var e=b.call(y.call(t),/^function\s*([\w$]+)/);if(e)return e[1];return null}(e),tt=$(e,G);return"[Function"+(Z?": "+Z:" (anonymous)")+"]"+(tt.length>0?" { "+A.call(tt,", ")+" }":"")}if(W(e)){var et=B?m.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):O.call(e);return"object"!=typeof e||B?et:K(et)}if(function(t){if(!t||"object"!=typeof t)return!1;if("undefined"!=typeof HTMLElement&&t instanceof HTMLElement)return!0;return"string"==typeof t.nodeName&&"function"==typeof t.getAttribute}(e)){for(var rt="<"+S.call(String(e.nodeName)),nt=e.attributes||[],it=0;it<nt.length;it++)rt+=" "+nt[it].name+"="+L(j(nt[it].value),"double",c);return rt+=">",e.childNodes&&e.childNodes.length&&(rt+="..."),rt+="</"+S.call(String(e.nodeName))+">"}if(z(e)){if(0===e.length)return"[]";var ot=$(e,G);return F&&!function(t){for(var e=0;e<t.length;e++)if(q(t[e],"\n")>=0)return!1;return!0}(ot)?"["+Q(ot,F)+"]":"[ "+A.call(ot,", ")+" ]"}if(function(t){return!("[object Error]"!==X(t)||I&&"object"==typeof t&&I in t)}(e)){var st=$(e,G);return"cause"in Error.prototype||!("cause"in e)||T.call(e,"cause")?0===st.length?"["+String(e)+"]":"{ ["+String(e)+"] "+A.call(st,", ")+" }":"{ ["+String(e)+"] "+A.call(_.call("[cause]: "+G(e.cause),st),", ")+" }"}if("object"==typeof e&&g){if(N&&"function"==typeof e[N]&&D)return D(e,{depth:P-i});if("symbol"!==g&&"function"==typeof e.inspect)return e.inspect()}if(function(t){if(!o||!t||"object"!=typeof t)return!1;try{o.call(t);try{u.call(t)}catch(t){return!0}return t instanceof Map}catch(t){}return!1}(e)){var at=[];return s&&s.call(e,(function(t,r){at.push(G(r,e,!0)+" => "+G(t,e))})),J("Map",o.call(e),at,F)}if(function(t){if(!u||!t||"object"!=typeof t)return!1;try{u.call(t);try{o.call(t)}catch(t){return!0}return t instanceof Set}catch(t){}return!1}(e)){var ct=[];return l&&l.call(e,(function(t){ct.push(G(t,e))})),J("Set",u.call(e),ct,F)}if(function(t){if(!f||!t||"object"!=typeof t)return!1;try{f.call(t,f);try{h.call(t,h)}catch(t){return!0}return t instanceof WeakMap}catch(t){}return!1}(e))return Y("WeakMap");if(function(t){if(!h||!t||"object"!=typeof t)return!1;try{h.call(t,h);try{f.call(t,f)}catch(t){return!0}return t instanceof WeakSet}catch(t){}return!1}(e))return Y("WeakSet");if(function(t){if(!d||!t||"object"!=typeof t)return!1;try{return d.call(t),!0}catch(t){}return!1}(e))return Y("WeakRef");if(function(t){return!("[object Number]"!==X(t)||I&&"object"==typeof t&&I in t)}(e))return K(G(Number(e)));if(function(t){if(!t||"object"!=typeof t||!E)return!1;try{return E.call(t),!0}catch(t){}return!1}(e))return K(G(E.call(e)));if(function(t){return!("[object Boolean]"!==X(t)||I&&"object"==typeof t&&I in t)}(e))return K(p.call(e));if(function(t){return!("[object String]"!==X(t)||I&&"object"==typeof t&&I in t)}(e))return K(G(String(e)));if("undefined"!=typeof window&&e===window)return"{ [object Window] }";if(e===r.g)return"{ [object globalThis] }";if(!function(t){return!("[object Date]"!==X(t)||I&&"object"==typeof t&&I in t)}(e)&&!U(e)){var ut=$(e,G),lt=R?R(e)===Object.prototype:e instanceof Object||e.constructor===Object,ft=e instanceof Object?"":"null prototype",ht=!lt&&I&&Object(e)===e&&I in e?v.call(X(e),8,-1):ft?"Object":"",dt=(lt||"function"!=typeof e.constructor?"":e.constructor.name?e.constructor.name+" ":"")+(ht||ft?"["+A.call(_.call([],ht||[],ft||[]),": ")+"] ":"");return 0===ut.length?dt+"{}":F?dt+"{"+Q(ut,F)+"}":dt+"{ "+A.call(ut,", ")+" }"}return String(e)};var G=Object.prototype.hasOwnProperty||function(t){return t in this};function V(t,e){return G.call(t,e)}function X(t){return g.call(t)}function q(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}function H(t,e){if(t.length>e.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return H(v.call(t,0,e.maxStringLength),e)+n}return L(m.call(m.call(t,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Z),"single",e)}function Z(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+w.call(e.toString(16))}function K(t){return"Object("+t+")"}function Y(t){return t+" { ? }"}function J(t,e,r,n){return t+" ("+e+") {"+(n?Q(r,n):A.call(r,", "))+"}"}function Q(t,e){if(0===t.length)return"";var r="\n"+e.prev+e.base;return r+A.call(t,","+r)+"\n"+e.prev}function $(t,e){var r=z(t),n=[];if(r){n.length=t.length;for(var i=0;i<t.length;i++)n[i]=V(t,i)?e(t[i],t):""}var o,s="function"==typeof P?P(t):[];if(B){o={};for(var a=0;a<s.length;a++)o["$"+s[a]]=s[a]}for(var c in t)V(t,c)&&(r&&String(Number(c))===c&&c<t.length||B&&o["$"+c]instanceof Symbol||(x.call(/[^\w$]/,c)?n.push(e(c,t)+": "+e(t[c],t)):n.push(c+": "+e(t[c],t))));if("function"==typeof P)for(var u=0;u<s.length;u++)T.call(t,s[u])&&n.push("["+e(s[u])+"]: "+e(t[s[u]],t));return n}},19409:function(t){"use strict";var e=function(t){return t!=t};t.exports=function(t,r){return 0===t&&0===r?1/t==1/r:t===r||!(!e(t)||!e(r))}},6757:function(t,e,r){"use strict";var n=r(71396),i=r(60541),o=r(19409),s=r(84127),a=r(38036),c=i(s(),Object);n(c,{getPolyfill:s,implementation:o,shim:a}),t.exports=c},84127:function(t,e,r){"use strict";var n=r(19409);t.exports=function(){return"function"==typeof Object.is?Object.is:n}},38036:function(t,e,r){"use strict";var n=r(84127),i=r(71396);t.exports=function(){var t=n();return i(Object,{is:t},{is:function(){return Object.is!==t}}),t}},45424:function(t,e,r){"use strict";var n;if(!Object.keys){var i=Object.prototype.hasOwnProperty,o=Object.prototype.toString,s=r(49084),a=Object.prototype.propertyIsEnumerable,c=!a.call({toString:null},"toString"),u=a.call((function(){}),"prototype"),l=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(t){var e=t.constructor;return e&&e.prototype===t},h={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!h["$"+t]&&i.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{f(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();n=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===o.call(t),n=s(t),a=e&&"[object String]"===o.call(t),h=[];if(!e&&!r&&!n)throw new TypeError("Object.keys called on a non-object");var p=u&&r;if(a&&t.length>0&&!i.call(t,0))for(var g=0;g<t.length;++g)h.push(String(g));if(n&&t.length>0)for(var y=0;y<t.length;++y)h.push(String(y));else for(var b in t)p&&"prototype"===b||!i.call(t,b)||h.push(String(b));if(c)for(var v=function(t){if("undefined"==typeof window||!d)return f(t);try{return f(t)}catch(t){return!1}}(t),m=0;m<l.length;++m)v&&"constructor"===l[m]||!i.call(t,l[m])||h.push(l[m]);return h}}t.exports=n},59757:function(t,e,r){"use strict";var n=Array.prototype.slice,i=r(49084),o=Object.keys,s=o?function(t){return o(t)}:r(45424),a=Object.keys;s.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return i(t)?a(n.call(t)):a(t)})}else Object.keys=s;return Object.keys||s},t.exports=s},49084:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r=e.call(t),n="[object Arguments]"===r;return n||(n="[object Array]"!==r&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),n}},86612:function(t,e,r){"use strict";var n=r(59757),i=r(70748)(),o=r(93385),s=Object,a=o("Array.prototype.push"),c=o("Object.prototype.propertyIsEnumerable"),u=i?Object.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError("target must be an object");var r=s(t);if(1===arguments.length)return r;for(var o=1;o<arguments.length;++o){var l=s(arguments[o]),f=n(l),h=i&&(Object.getOwnPropertySymbols||u);if(h)for(var d=h(l),p=0;p<d.length;++p){var g=d[p];c(l,g)&&a(f,g)}for(var y=0;y<f.length;++y){var b=f[y];if(c(l,b)){var v=l[b];r[b]=v}}}return r}},36347:function(t,e,r){"use strict";var n=r(71396),i=r(60541),o=r(86612),s=r(57479),a=r(61856),c=i.apply(s()),u=function(t,e){return c(Object,arguments)};n(u,{getPolyfill:s,implementation:o,shim:a}),t.exports=u},57479:function(t,e,r){"use strict";var n=r(86612);t.exports=function(){return Object.assign?function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),r={},n=0;n<e.length;++n)r[e[n]]=e[n];var i=Object.assign({},r),o="";for(var s in i)o+=s;return t!==o}()||function(){if(!Object.assign||!Object.preventExtensions)return!1;var t=Object.preventExtensions({1:2});try{Object.assign(t,"xy")}catch(e){return"y"===t[1]}return!1}()?n:Object.assign:n}},61856:function(t,e,r){"use strict";var n=r(71396),i=r(57479);t.exports=function(){var t=i();return n(Object,{assign:t},{assign:function(){return Object.assign!==t}}),t}},33211:function(t,e){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var i in r)n(r,i)&&(t[i]=r[i])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,r,n,i){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+n),i);else for(var o=0;o<n;o++)t[i+o]=e[r+o]},flattenChunks:function(t){var e,r,n,i,o,s;for(n=0,e=0,r=t.length;e<r;e++)n+=t[e].length;for(s=new Uint8Array(n),i=0,e=0,r=t.length;e<r;e++)o=t[e],s.set(o,i),i+=o.length;return s}},o={arraySet:function(t,e,r,n,i){for(var o=0;o<n;o++)t[i+o]=e[r+o]},flattenChunks:function(t){return[].concat.apply([],t)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,i)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,o))},e.setTyped(r)},59759:function(t){"use strict";t.exports=function(t,e,r,n){for(var i=65535&t|0,o=t>>>16&65535|0,s=0;0!==r;){r-=s=r>2e3?2e3:r;do{o=o+(i=i+e[n++]|0)|0}while(--s);i%=65521,o%=65521}return i|o<<16|0}},81769:function(t){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},68015:function(t){"use strict";var e=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();t.exports=function(t,r,n,i){var o=e,s=i+n;t^=-1;for(var a=i;a<s;a++)t=t>>>8^o[255&(t^r[a])];return-1^t}},13633:function(t,e,r){"use strict";var n,i=r(33211),o=r(2500),s=r(59759),a=r(68015),c=r(3777),u=0,l=4,f=0,h=-2,d=-1,p=4,g=2,y=8,b=9,v=286,m=30,w=19,S=2*v+1,x=15,_=3,A=258,C=A+_+1,k=42,E=103,P=113,O=666,B=1,I=2,T=3,R=4;function M(t,e){return t.msg=c[e],e}function D(t){return(t<<1)-(t>4?9:0)}function F(t){for(var e=t.length;--e>=0;)t[e]=0}function N(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(i.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function L(t,e){o._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,N(t.strm)}function j(t,e){t.pending_buf[t.pending++]=e}function z(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function U(t,e){var r,n,i=t.max_chain_length,o=t.strstart,s=t.prev_length,a=t.nice_match,c=t.strstart>t.w_size-C?t.strstart-(t.w_size-C):0,u=t.window,l=t.w_mask,f=t.prev,h=t.strstart+A,d=u[o+s-1],p=u[o+s];t.prev_length>=t.good_match&&(i>>=2),a>t.lookahead&&(a=t.lookahead);do{if(u[(r=e)+s]===p&&u[r+s-1]===d&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&o<h);if(n=A-(h-o),o=h-A,n>s){if(t.match_start=e,s=n,n>=a)break;d=u[o+s-1],p=u[o+s]}}}while((e=f[e&l])>c&&0!=--i);return s<=t.lookahead?s:t.lookahead}function W(t){var e,r,n,o,c,u,l,f,h,d,p=t.w_size;do{if(o=t.window_size-t.lookahead-t.strstart,t.strstart>=p+(p-C)){i.arraySet(t.window,t.window,p,p,0),t.match_start-=p,t.strstart-=p,t.block_start-=p,e=r=t.hash_size;do{n=t.head[--e],t.head[e]=n>=p?n-p:0}while(--r);e=r=p;do{n=t.prev[--e],t.prev[e]=n>=p?n-p:0}while(--r);o+=p}if(0===t.strm.avail_in)break;if(u=t.strm,l=t.window,f=t.strstart+t.lookahead,h=o,d=void 0,(d=u.avail_in)>h&&(d=h),r=0===d?0:(u.avail_in-=d,i.arraySet(l,u.input,u.next_in,d,f),1===u.state.wrap?u.adler=s(u.adler,l,d,f):2===u.state.wrap&&(u.adler=a(u.adler,l,d,f)),u.next_in+=d,u.total_in+=d,d),t.lookahead+=r,t.lookahead+t.insert>=_)for(c=t.strstart-t.insert,t.ins_h=t.window[c],t.ins_h=(t.ins_h<<t.hash_shift^t.window[c+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[c+_-1])&t.hash_mask,t.prev[c&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=c,c++,t.insert--,!(t.lookahead+t.insert<_)););}while(t.lookahead<C&&0!==t.strm.avail_in)}function G(t,e){for(var r,n;;){if(t.lookahead<C){if(W(t),t.lookahead<C&&e===u)return B;if(0===t.lookahead)break}if(r=0,t.lookahead>=_&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+_-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-C&&(t.match_length=U(t,r)),t.match_length>=_)if(n=o._tr_tally(t,t.strstart-t.match_start,t.match_length-_),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=_){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+_-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else n=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(L(t,!1),0===t.strm.avail_out))return B}return t.insert=t.strstart<_-1?t.strstart:_-1,e===l?(L(t,!0),0===t.strm.avail_out?T:R):t.last_lit&&(L(t,!1),0===t.strm.avail_out)?B:I}function V(t,e){for(var r,n,i;;){if(t.lookahead<C){if(W(t),t.lookahead<C&&e===u)return B;if(0===t.lookahead)break}if(r=0,t.lookahead>=_&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+_-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=_-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-C&&(t.match_length=U(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===_&&t.strstart-t.match_start>4096)&&(t.match_length=_-1)),t.prev_length>=_&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-_,n=o._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-_),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+_-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=_-1,t.strstart++,n&&(L(t,!1),0===t.strm.avail_out))return B}else if(t.match_available){if((n=o._tr_tally(t,0,t.window[t.strstart-1]))&&L(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return B}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=o._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<_-1?t.strstart:_-1,e===l?(L(t,!0),0===t.strm.avail_out?T:R):t.last_lit&&(L(t,!1),0===t.strm.avail_out)?B:I}function X(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}function q(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*S),this.dyn_dtree=new i.Buf16(2*(2*m+1)),this.bl_tree=new i.Buf16(2*(2*w+1)),F(this.dyn_ltree),F(this.dyn_dtree),F(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(x+1),this.heap=new i.Buf16(2*v+1),F(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*v+1),F(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function H(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=g,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?k:P,t.adler=2===e.wrap?0:1,e.last_flush=u,o._tr_init(e),f):M(t,h)}function Z(t){var e,r=H(t);return r===f&&((e=t.state).window_size=2*e.w_size,F(e.head),e.max_lazy_match=n[e.level].max_lazy,e.good_match=n[e.level].good_length,e.nice_match=n[e.level].nice_length,e.max_chain_length=n[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=_-1,e.match_available=0,e.ins_h=0),r}function K(t,e,r,n,o,s){if(!t)return h;var a=1;if(e===d&&(e=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),o<1||o>b||r!==y||n<8||n>15||e<0||e>9||s<0||s>p)return M(t,h);8===n&&(n=9);var c=new q;return t.state=c,c.strm=t,c.wrap=a,c.gzhead=null,c.w_bits=n,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=o+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+_-1)/_),c.window=new i.Buf8(2*c.w_size),c.head=new i.Buf16(c.hash_size),c.prev=new i.Buf16(c.w_size),c.lit_bufsize=1<<o+6,c.pending_buf_size=4*c.lit_bufsize,c.pending_buf=new i.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=e,c.strategy=s,c.method=r,Z(t)}n=[new X(0,0,0,0,(function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(W(t),0===t.lookahead&&e===u)return B;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,L(t,!1),0===t.strm.avail_out))return B;if(t.strstart-t.block_start>=t.w_size-C&&(L(t,!1),0===t.strm.avail_out))return B}return t.insert=0,e===l?(L(t,!0),0===t.strm.avail_out?T:R):(t.strstart>t.block_start&&(L(t,!1),t.strm.avail_out),B)})),new X(4,4,8,4,G),new X(4,5,16,8,G),new X(4,6,32,32,G),new X(4,4,16,16,V),new X(8,16,32,32,V),new X(8,16,128,128,V),new X(8,32,128,256,V),new X(32,128,258,1024,V),new X(32,258,258,4096,V)],e.deflateInit=function(t,e){return K(t,e,y,15,8,0)},e.deflateInit2=K,e.deflateReset=Z,e.deflateResetKeep=H,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?h:(t.state.gzhead=e,f):h},e.deflate=function(t,e){var r,i,s,c;if(!t||!t.state||e>5||e<0)return t?M(t,h):h;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===O&&e!==l)return M(t,0===t.avail_out?-5:h);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===k)if(2===i.wrap)t.adler=0,j(i,31),j(i,139),j(i,8),i.gzhead?(j(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),j(i,255&i.gzhead.time),j(i,i.gzhead.time>>8&255),j(i,i.gzhead.time>>16&255),j(i,i.gzhead.time>>24&255),j(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),j(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(j(i,255&i.gzhead.extra.length),j(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=a(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(j(i,0),j(i,0),j(i,0),j(i,0),j(i,0),j(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),j(i,3),i.status=P);else{var d=y+(i.w_bits-8<<4)<<8;d|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(d|=32),d+=31-d%31,i.status=P,z(i,d),0!==i.strstart&&(z(i,t.adler>>>16),z(i,65535&t.adler)),t.adler=1}if(69===i.status)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),N(t),s=i.pending,i.pending!==i.pending_buf_size));)j(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),N(t),s=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,j(i,c)}while(0!==c);i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),0===c&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),N(t),s=i.pending,i.pending===i.pending_buf_size)){c=1;break}c=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,j(i,c)}while(0!==c);i.gzhead.hcrc&&i.pending>s&&(t.adler=a(t.adler,i.pending_buf,i.pending-s,s)),0===c&&(i.status=E)}else i.status=E;if(i.status===E&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&N(t),i.pending+2<=i.pending_buf_size&&(j(i,255&t.adler),j(i,t.adler>>8&255),t.adler=0,i.status=P)):i.status=P),0!==i.pending){if(N(t),0===t.avail_out)return i.last_flush=-1,f}else if(0===t.avail_in&&D(e)<=D(r)&&e!==l)return M(t,-5);if(i.status===O&&0!==t.avail_in)return M(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==u&&i.status!==O){var p=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(W(t),0===t.lookahead)){if(e===u)return B;break}if(t.match_length=0,r=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(L(t,!1),0===t.strm.avail_out))return B}return t.insert=0,e===l?(L(t,!0),0===t.strm.avail_out?T:R):t.last_lit&&(L(t,!1),0===t.strm.avail_out)?B:I}(i,e):3===i.strategy?function(t,e){for(var r,n,i,s,a=t.window;;){if(t.lookahead<=A){if(W(t),t.lookahead<=A&&e===u)return B;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=_&&t.strstart>0&&(n=a[i=t.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=t.strstart+A;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);t.match_length=A-(s-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=_?(r=o._tr_tally(t,1,t.match_length-_),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=o._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(L(t,!1),0===t.strm.avail_out))return B}return t.insert=0,e===l?(L(t,!0),0===t.strm.avail_out?T:R):t.last_lit&&(L(t,!1),0===t.strm.avail_out)?B:I}(i,e):n[i.level].func(i,e);if(p!==T&&p!==R||(i.status=O),p===B||p===T)return 0===t.avail_out&&(i.last_flush=-1),f;if(p===I&&(1===e?o._tr_align(i):5!==e&&(o._tr_stored_block(i,0,0,!1),3===e&&(F(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),N(t),0===t.avail_out))return i.last_flush=-1,f}return e!==l?f:i.wrap<=0?1:(2===i.wrap?(j(i,255&t.adler),j(i,t.adler>>8&255),j(i,t.adler>>16&255),j(i,t.adler>>24&255),j(i,255&t.total_in),j(i,t.total_in>>8&255),j(i,t.total_in>>16&255),j(i,t.total_in>>24&255)):(z(i,t.adler>>>16),z(i,65535&t.adler)),N(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?f:1)},e.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==k&&69!==e&&73!==e&&91!==e&&e!==E&&e!==P&&e!==O?M(t,h):(t.state=null,e===P?M(t,-3):f):h},e.deflateSetDictionary=function(t,e){var r,n,o,a,c,u,l,d,p=e.length;if(!t||!t.state)return h;if(2===(a=(r=t.state).wrap)||1===a&&r.status!==k||r.lookahead)return h;for(1===a&&(t.adler=s(t.adler,e,p,0)),r.wrap=0,p>=r.w_size&&(0===a&&(F(r.head),r.strstart=0,r.block_start=0,r.insert=0),d=new i.Buf8(r.w_size),i.arraySet(d,e,p-r.w_size,r.w_size,0),e=d,p=r.w_size),c=t.avail_in,u=t.next_in,l=t.input,t.avail_in=p,t.next_in=0,t.input=e,W(r);r.lookahead>=_;){n=r.strstart,o=r.lookahead-(_-1);do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+_-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++}while(--o);r.strstart=n,r.lookahead=_-1,W(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=_-1,r.match_available=0,t.next_in=u,t.input=l,t.avail_in=c,r.wrap=a,f},e.deflateInfo="pako deflate (from Nodeca project)"},30713:function(t){"use strict";t.exports=function(t,e){var r,n,i,o,s,a,c,u,l,f,h,d,p,g,y,b,v,m,w,S,x,_,A,C,k;r=t.state,n=t.next_in,C=t.input,i=n+(t.avail_in-5),o=t.next_out,k=t.output,s=o-(e-t.avail_out),a=o+(t.avail_out-257),c=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,h=r.window,d=r.hold,p=r.bits,g=r.lencode,y=r.distcode,b=(1<<r.lenbits)-1,v=(1<<r.distbits)-1;t:do{p<15&&(d+=C[n++]<<p,p+=8,d+=C[n++]<<p,p+=8),m=g[d&b];e:for(;;){if(d>>>=w=m>>>24,p-=w,0===(w=m>>>16&255))k[o++]=65535&m;else{if(!(16&w)){if(0==(64&w)){m=g[(65535&m)+(d&(1<<w)-1)];continue e}if(32&w){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}S=65535&m,(w&=15)&&(p<w&&(d+=C[n++]<<p,p+=8),S+=d&(1<<w)-1,d>>>=w,p-=w),p<15&&(d+=C[n++]<<p,p+=8,d+=C[n++]<<p,p+=8),m=y[d&v];r:for(;;){if(d>>>=w=m>>>24,p-=w,!(16&(w=m>>>16&255))){if(0==(64&w)){m=y[(65535&m)+(d&(1<<w)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(x=65535&m,p<(w&=15)&&(d+=C[n++]<<p,(p+=8)<w&&(d+=C[n++]<<p,p+=8)),(x+=d&(1<<w)-1)>c){t.msg="invalid distance too far back",r.mode=30;break t}if(d>>>=w,p-=w,x>(w=o-s)){if((w=x-w)>l&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(_=0,A=h,0===f){if(_+=u-w,w<S){S-=w;do{k[o++]=h[_++]}while(--w);_=o-x,A=k}}else if(f<w){if(_+=u+f-w,(w-=f)<S){S-=w;do{k[o++]=h[_++]}while(--w);if(_=0,f<S){S-=w=f;do{k[o++]=h[_++]}while(--w);_=o-x,A=k}}}else if(_+=f-w,w<S){S-=w;do{k[o++]=h[_++]}while(--w);_=o-x,A=k}for(;S>2;)k[o++]=A[_++],k[o++]=A[_++],k[o++]=A[_++],S-=3;S&&(k[o++]=A[_++],S>1&&(k[o++]=A[_++]))}else{_=o-x;do{k[o++]=k[_++],k[o++]=k[_++],k[o++]=k[_++],S-=3}while(S>2);S&&(k[o++]=k[_++],S>1&&(k[o++]=k[_++]))}break}}break}}while(n<i&&o<a);n-=S=p>>3,d&=(1<<(p-=S<<3))-1,t.next_in=n,t.next_out=o,t.avail_in=n<i?i-n+5:5-(n-i),t.avail_out=o<a?a-o+257:257-(o-a),r.hold=d,r.bits=p}},61515:function(t,e,r){"use strict";var n=r(33211),i=r(59759),o=r(68015),s=r(30713),a=r(48103),c=1,u=2,l=0,f=-2,h=1,d=12,p=30,g=852,y=592;function b(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function v(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function m(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=h,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new n.Buf32(g),e.distcode=e.distdyn=new n.Buf32(y),e.sane=1,e.back=-1,l):f}function w(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,m(t)):f}function S(t,e){var r,n;return t&&t.state?(n=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?f:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,w(t))):f}function x(t,e){var r,n;return t?(n=new v,t.state=n,n.window=null,(r=S(t,e))!==l&&(t.state=null),r):f}var _,A,C=!0;function k(t){if(C){var e;for(_=new n.Buf32(512),A=new n.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(a(c,t.lens,0,288,_,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;a(u,t.lens,0,32,A,0,t.work,{bits:5}),C=!1}t.lencode=_,t.lenbits=9,t.distcode=A,t.distbits=5}function E(t,e,r,i){var o,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new n.Buf8(s.wsize)),i>=s.wsize?(n.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((o=s.wsize-s.wnext)>i&&(o=i),n.arraySet(s.window,e,r-i,o,s.wnext),(i-=o)?(n.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=o,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=o))),0}e.inflateReset=w,e.inflateReset2=S,e.inflateResetKeep=m,e.inflateInit=function(t){return x(t,15)},e.inflateInit2=x,e.inflate=function(t,e){var r,g,y,v,m,w,S,x,_,A,C,P,O,B,I,T,R,M,D,F,N,L,j,z,U=0,W=new n.Buf8(4),G=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return f;(r=t.state).mode===d&&(r.mode=13),m=t.next_out,y=t.output,S=t.avail_out,v=t.next_in,g=t.input,w=t.avail_in,x=r.hold,_=r.bits,A=w,C=S,L=l;t:for(;;)switch(r.mode){case h:if(0===r.wrap){r.mode=13;break}for(;_<16;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(2&r.wrap&&35615===x){r.check=0,W[0]=255&x,W[1]=x>>>8&255,r.check=o(r.check,W,2,0),x=0,_=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&x)<<8)+(x>>8))%31){t.msg="incorrect header check",r.mode=p;break}if(8!=(15&x)){t.msg="unknown compression method",r.mode=p;break}if(_-=4,N=8+(15&(x>>>=4)),0===r.wbits)r.wbits=N;else if(N>r.wbits){t.msg="invalid window size",r.mode=p;break}r.dmax=1<<N,t.adler=r.check=1,r.mode=512&x?10:d,x=0,_=0;break;case 2:for(;_<16;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(r.flags=x,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=p;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=p;break}r.head&&(r.head.text=x>>8&1),512&r.flags&&(W[0]=255&x,W[1]=x>>>8&255,r.check=o(r.check,W,2,0)),x=0,_=0,r.mode=3;case 3:for(;_<32;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}r.head&&(r.head.time=x),512&r.flags&&(W[0]=255&x,W[1]=x>>>8&255,W[2]=x>>>16&255,W[3]=x>>>24&255,r.check=o(r.check,W,4,0)),x=0,_=0,r.mode=4;case 4:for(;_<16;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}r.head&&(r.head.xflags=255&x,r.head.os=x>>8),512&r.flags&&(W[0]=255&x,W[1]=x>>>8&255,r.check=o(r.check,W,2,0)),x=0,_=0,r.mode=5;case 5:if(1024&r.flags){for(;_<16;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}r.length=x,r.head&&(r.head.extra_len=x),512&r.flags&&(W[0]=255&x,W[1]=x>>>8&255,r.check=o(r.check,W,2,0)),x=0,_=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&((P=r.length)>w&&(P=w),P&&(r.head&&(N=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),n.arraySet(r.head.extra,g,v,P,N)),512&r.flags&&(r.check=o(r.check,g,P,v)),w-=P,v+=P,r.length-=P),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===w)break t;P=0;do{N=g[v+P++],r.head&&N&&r.length<65536&&(r.head.name+=String.fromCharCode(N))}while(N&&P<w);if(512&r.flags&&(r.check=o(r.check,g,P,v)),w-=P,v+=P,N)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===w)break t;P=0;do{N=g[v+P++],r.head&&N&&r.length<65536&&(r.head.comment+=String.fromCharCode(N))}while(N&&P<w);if(512&r.flags&&(r.check=o(r.check,g,P,v)),w-=P,v+=P,N)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;_<16;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(x!==(65535&r.check)){t.msg="header crc mismatch",r.mode=p;break}x=0,_=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=d;break;case 10:for(;_<32;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}t.adler=r.check=b(x),x=0,_=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=m,t.avail_out=S,t.next_in=v,t.avail_in=w,r.hold=x,r.bits=_,2;t.adler=r.check=1,r.mode=d;case d:if(5===e||6===e)break t;case 13:if(r.last){x>>>=7&_,_-=7&_,r.mode=27;break}for(;_<3;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}switch(r.last=1&x,_-=1,3&(x>>>=1)){case 0:r.mode=14;break;case 1:if(k(r),r.mode=20,6===e){x>>>=2,_-=2;break t}break;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=p}x>>>=2,_-=2;break;case 14:for(x>>>=7&_,_-=7&_;_<32;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if((65535&x)!=(x>>>16^65535)){t.msg="invalid stored block lengths",r.mode=p;break}if(r.length=65535&x,x=0,_=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(P=r.length){if(P>w&&(P=w),P>S&&(P=S),0===P)break t;n.arraySet(y,g,v,P,m),w-=P,v+=P,S-=P,m+=P,r.length-=P;break}r.mode=d;break;case 17:for(;_<14;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(r.nlen=257+(31&x),x>>>=5,_-=5,r.ndist=1+(31&x),x>>>=5,_-=5,r.ncode=4+(15&x),x>>>=4,_-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=p;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;_<3;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}r.lens[G[r.have++]]=7&x,x>>>=3,_-=3}for(;r.have<19;)r.lens[G[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,j={bits:r.lenbits},L=a(0,r.lens,0,19,r.lencode,0,r.work,j),r.lenbits=j.bits,L){t.msg="invalid code lengths set",r.mode=p;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;T=(U=r.lencode[x&(1<<r.lenbits)-1])>>>16&255,R=65535&U,!((I=U>>>24)<=_);){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(R<16)x>>>=I,_-=I,r.lens[r.have++]=R;else{if(16===R){for(z=I+2;_<z;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(x>>>=I,_-=I,0===r.have){t.msg="invalid bit length repeat",r.mode=p;break}N=r.lens[r.have-1],P=3+(3&x),x>>>=2,_-=2}else if(17===R){for(z=I+3;_<z;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}_-=I,N=0,P=3+(7&(x>>>=I)),x>>>=3,_-=3}else{for(z=I+7;_<z;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}_-=I,N=0,P=11+(127&(x>>>=I)),x>>>=7,_-=7}if(r.have+P>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=p;break}for(;P--;)r.lens[r.have++]=N}}if(r.mode===p)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=p;break}if(r.lenbits=9,j={bits:r.lenbits},L=a(c,r.lens,0,r.nlen,r.lencode,0,r.work,j),r.lenbits=j.bits,L){t.msg="invalid literal/lengths set",r.mode=p;break}if(r.distbits=6,r.distcode=r.distdyn,j={bits:r.distbits},L=a(u,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,j),r.distbits=j.bits,L){t.msg="invalid distances set",r.mode=p;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(w>=6&&S>=258){t.next_out=m,t.avail_out=S,t.next_in=v,t.avail_in=w,r.hold=x,r.bits=_,s(t,C),m=t.next_out,y=t.output,S=t.avail_out,v=t.next_in,g=t.input,w=t.avail_in,x=r.hold,_=r.bits,r.mode===d&&(r.back=-1);break}for(r.back=0;T=(U=r.lencode[x&(1<<r.lenbits)-1])>>>16&255,R=65535&U,!((I=U>>>24)<=_);){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(T&&0==(240&T)){for(M=I,D=T,F=R;T=(U=r.lencode[F+((x&(1<<M+D)-1)>>M)])>>>16&255,R=65535&U,!(M+(I=U>>>24)<=_);){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}x>>>=M,_-=M,r.back+=M}if(x>>>=I,_-=I,r.back+=I,r.length=R,0===T){r.mode=26;break}if(32&T){r.back=-1,r.mode=d;break}if(64&T){t.msg="invalid literal/length code",r.mode=p;break}r.extra=15&T,r.mode=22;case 22:if(r.extra){for(z=r.extra;_<z;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}r.length+=x&(1<<r.extra)-1,x>>>=r.extra,_-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;T=(U=r.distcode[x&(1<<r.distbits)-1])>>>16&255,R=65535&U,!((I=U>>>24)<=_);){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(0==(240&T)){for(M=I,D=T,F=R;T=(U=r.distcode[F+((x&(1<<M+D)-1)>>M)])>>>16&255,R=65535&U,!(M+(I=U>>>24)<=_);){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}x>>>=M,_-=M,r.back+=M}if(x>>>=I,_-=I,r.back+=I,64&T){t.msg="invalid distance code",r.mode=p;break}r.offset=R,r.extra=15&T,r.mode=24;case 24:if(r.extra){for(z=r.extra;_<z;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}r.offset+=x&(1<<r.extra)-1,x>>>=r.extra,_-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=p;break}r.mode=25;case 25:if(0===S)break t;if(P=C-S,r.offset>P){if((P=r.offset-P)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=p;break}P>r.wnext?(P-=r.wnext,O=r.wsize-P):O=r.wnext-P,P>r.length&&(P=r.length),B=r.window}else B=y,O=m-r.offset,P=r.length;P>S&&(P=S),S-=P,r.length-=P;do{y[m++]=B[O++]}while(--P);0===r.length&&(r.mode=21);break;case 26:if(0===S)break t;y[m++]=r.length,S--,r.mode=21;break;case 27:if(r.wrap){for(;_<32;){if(0===w)break t;w--,x|=g[v++]<<_,_+=8}if(C-=S,t.total_out+=C,r.total+=C,C&&(t.adler=r.check=r.flags?o(r.check,y,C,m-C):i(r.check,y,C,m-C)),C=S,(r.flags?x:b(x))!==r.check){t.msg="incorrect data check",r.mode=p;break}x=0,_=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;_<32;){if(0===w)break t;w--,x+=g[v++]<<_,_+=8}if(x!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=p;break}x=0,_=0}r.mode=29;case 29:L=1;break t;case p:L=-3;break t;case 31:return-4;default:return f}return t.next_out=m,t.avail_out=S,t.next_in=v,t.avail_in=w,r.hold=x,r.bits=_,(r.wsize||C!==t.avail_out&&r.mode<p&&(r.mode<27||4!==e))&&E(t,t.output,t.next_out,C-t.avail_out)?(r.mode=31,-4):(A-=t.avail_in,C-=t.avail_out,t.total_in+=A,t.total_out+=C,r.total+=C,r.wrap&&C&&(t.adler=r.check=r.flags?o(r.check,y,C,t.next_out-C):i(r.check,y,C,t.next_out-C)),t.data_type=r.bits+(r.last?64:0)+(r.mode===d?128:0)+(20===r.mode||15===r.mode?256:0),(0===A&&0===C||4===e)&&L===l&&(L=-5),L)},e.inflateEnd=function(t){if(!t||!t.state)return f;var e=t.state;return e.window&&(e.window=null),t.state=null,l},e.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?f:(r.head=e,e.done=!1,l):f},e.inflateSetDictionary=function(t,e){var r,n=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?f:11===r.mode&&i(1,e,n,0)!==r.check?-3:E(t,e,n,n)?(r.mode=31,-4):(r.havedict=1,l):f},e.inflateInfo="pako inflate (from Nodeca project)"},48103:function(t,e,r){"use strict";var n=r(33211),i=15,o=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],s=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],c=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(t,e,r,u,l,f,h,d){var p,g,y,b,v,m,w,S,x,_=d.bits,A=0,C=0,k=0,E=0,P=0,O=0,B=0,I=0,T=0,R=0,M=null,D=0,F=new n.Buf16(16),N=new n.Buf16(16),L=null,j=0;for(A=0;A<=i;A++)F[A]=0;for(C=0;C<u;C++)F[e[r+C]]++;for(P=_,E=i;E>=1&&0===F[E];E--);if(P>E&&(P=E),0===E)return l[f++]=20971520,l[f++]=20971520,d.bits=1,0;for(k=1;k<E&&0===F[k];k++);for(P<k&&(P=k),I=1,A=1;A<=i;A++)if(I<<=1,(I-=F[A])<0)return-1;if(I>0&&(0===t||1!==E))return-1;for(N[1]=0,A=1;A<i;A++)N[A+1]=N[A]+F[A];for(C=0;C<u;C++)0!==e[r+C]&&(h[N[e[r+C]]++]=C);if(0===t?(M=L=h,m=19):1===t?(M=o,D-=257,L=s,j-=257,m=256):(M=a,L=c,m=-1),R=0,C=0,A=k,v=f,O=P,B=0,y=-1,b=(T=1<<P)-1,1===t&&T>852||2===t&&T>592)return 1;for(;;){w=A-B,h[C]<m?(S=0,x=h[C]):h[C]>m?(S=L[j+h[C]],x=M[D+h[C]]):(S=96,x=0),p=1<<A-B,k=g=1<<O;do{l[v+(R>>B)+(g-=p)]=w<<24|S<<16|x|0}while(0!==g);for(p=1<<A-1;R&p;)p>>=1;if(0!==p?(R&=p-1,R+=p):R=0,C++,0==--F[A]){if(A===E)break;A=e[r+h[C]]}if(A>P&&(R&b)!==y){for(0===B&&(B=P),v+=k,I=1<<(O=A-B);O+B<E&&!((I-=F[O+B])<=0);)O++,I<<=1;if(T+=1<<O,1===t&&T>852||2===t&&T>592)return 1;l[y=R&b]=P<<24|O<<16|v-f|0}}return 0!==R&&(l[v+R]=A-B<<24|64<<16|0),d.bits=P,0}},3777:function(t){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},2500:function(t,e,r){"use strict";var n=r(33211),i=0,o=1;function s(t){for(var e=t.length;--e>=0;)t[e]=0}var a=0,c=29,u=256,l=u+1+c,f=30,h=19,d=2*l+1,p=15,g=16,y=7,b=256,v=16,m=17,w=18,S=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],x=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],_=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],C=new Array(2*(l+2));s(C);var k=new Array(2*f);s(k);var E=new Array(512);s(E);var P=new Array(256);s(P);var O=new Array(c);s(O);var B,I,T,R=new Array(f);function M(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}function D(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function F(t){return t<256?E[t]:E[256+(t>>>7)]}function N(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function L(t,e,r){t.bi_valid>g-r?(t.bi_buf|=e<<t.bi_valid&65535,N(t,t.bi_buf),t.bi_buf=e>>g-t.bi_valid,t.bi_valid+=r-g):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function j(t,e,r){L(t,r[2*e],r[2*e+1])}function z(t,e){var r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1}function U(t,e,r){var n,i,o=new Array(p+1),s=0;for(n=1;n<=p;n++)o[n]=s=s+r[n-1]<<1;for(i=0;i<=e;i++){var a=t[2*i+1];0!==a&&(t[2*i]=z(o[a]++,a))}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<h;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*b]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function G(t){t.bi_valid>8?N(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function V(t,e,r,n){var i=2*e,o=2*r;return t[i]<t[o]||t[i]===t[o]&&n[e]<=n[r]}function X(t,e,r){for(var n=t.heap[r],i=r<<1;i<=t.heap_len&&(i<t.heap_len&&V(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!V(e,n,t.heap[i],t.depth));)t.heap[r]=t.heap[i],r=i,i<<=1;t.heap[r]=n}function q(t,e,r){var n,i,o,s,a=0;if(0!==t.last_lit)do{n=t.pending_buf[t.d_buf+2*a]<<8|t.pending_buf[t.d_buf+2*a+1],i=t.pending_buf[t.l_buf+a],a++,0===n?j(t,i,e):(j(t,(o=P[i])+u+1,e),0!==(s=S[o])&&L(t,i-=O[o],s),j(t,o=F(--n),r),0!==(s=x[o])&&L(t,n-=R[o],s))}while(a<t.last_lit);j(t,b,e)}function H(t,e){var r,n,i,o=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.has_stree,c=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=d,r=0;r<c;r++)0!==o[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):o[2*r+1]=0;for(;t.heap_len<2;)o[2*(i=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[i]=0,t.opt_len--,a&&(t.static_len-=s[2*i+1]);for(e.max_code=u,r=t.heap_len>>1;r>=1;r--)X(t,o,r);i=c;do{r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],X(t,o,1),n=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=n,o[2*i]=o[2*r]+o[2*n],t.depth[i]=(t.depth[r]>=t.depth[n]?t.depth[r]:t.depth[n])+1,o[2*r+1]=o[2*n+1]=i,t.heap[1]=i++,X(t,o,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,n,i,o,s,a,c=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,h=e.stat_desc.extra_bits,g=e.stat_desc.extra_base,y=e.stat_desc.max_length,b=0;for(o=0;o<=p;o++)t.bl_count[o]=0;for(c[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<d;r++)(o=c[2*c[2*(n=t.heap[r])+1]+1]+1)>y&&(o=y,b++),c[2*n+1]=o,n>u||(t.bl_count[o]++,s=0,n>=g&&(s=h[n-g]),a=c[2*n],t.opt_len+=a*(o+s),f&&(t.static_len+=a*(l[2*n+1]+s)));if(0!==b){do{for(o=y-1;0===t.bl_count[o];)o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[y]--,b-=2}while(b>0);for(o=y;0!==o;o--)for(n=t.bl_count[o];0!==n;)(i=t.heap[--r])>u||(c[2*i+1]!==o&&(t.opt_len+=(o-c[2*i+1])*c[2*i],c[2*i+1]=o),n--)}}(t,e),U(o,u,t.bl_count)}function Z(t,e,r){var n,i,o=-1,s=e[1],a=0,c=7,u=4;for(0===s&&(c=138,u=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=s,s=e[2*(n+1)+1],++a<c&&i===s||(a<u?t.bl_tree[2*i]+=a:0!==i?(i!==o&&t.bl_tree[2*i]++,t.bl_tree[2*v]++):a<=10?t.bl_tree[2*m]++:t.bl_tree[2*w]++,a=0,o=i,0===s?(c=138,u=3):i===s?(c=6,u=3):(c=7,u=4))}function K(t,e,r){var n,i,o=-1,s=e[1],a=0,c=7,u=4;for(0===s&&(c=138,u=3),n=0;n<=r;n++)if(i=s,s=e[2*(n+1)+1],!(++a<c&&i===s)){if(a<u)do{j(t,i,t.bl_tree)}while(0!=--a);else 0!==i?(i!==o&&(j(t,i,t.bl_tree),a--),j(t,v,t.bl_tree),L(t,a-3,2)):a<=10?(j(t,m,t.bl_tree),L(t,a-3,3)):(j(t,w,t.bl_tree),L(t,a-11,7));a=0,o=i,0===s?(c=138,u=3):i===s?(c=6,u=3):(c=7,u=4)}}s(R);var Y=!1;function J(t,e,r,i){L(t,(a<<1)+(i?1:0),3),function(t,e,r,i){G(t),i&&(N(t,r),N(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}e._tr_init=function(t){Y||(!function(){var t,e,r,n,i,o=new Array(p+1);for(r=0,n=0;n<c-1;n++)for(O[n]=r,t=0;t<1<<S[n];t++)P[r++]=n;for(P[r-1]=n,i=0,n=0;n<16;n++)for(R[n]=i,t=0;t<1<<x[n];t++)E[i++]=n;for(i>>=7;n<f;n++)for(R[n]=i<<7,t=0;t<1<<x[n]-7;t++)E[256+i++]=n;for(e=0;e<=p;e++)o[e]=0;for(t=0;t<=143;)C[2*t+1]=8,t++,o[8]++;for(;t<=255;)C[2*t+1]=9,t++,o[9]++;for(;t<=279;)C[2*t+1]=7,t++,o[7]++;for(;t<=287;)C[2*t+1]=8,t++,o[8]++;for(U(C,l+1,o),t=0;t<f;t++)k[2*t+1]=5,k[2*t]=z(t,5);B=new M(C,S,u+1,l,p),I=new M(k,x,0,f,p),T=new M(new Array(0),_,0,h,y)}(),Y=!0),t.l_desc=new D(t.dyn_ltree,B),t.d_desc=new D(t.dyn_dtree,I),t.bl_desc=new D(t.bl_tree,T),t.bi_buf=0,t.bi_valid=0,W(t)},e._tr_stored_block=J,e._tr_flush_block=function(t,e,r,n){var s,a,c=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return i;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return o;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return o;return i}(t)),H(t,t.l_desc),H(t,t.d_desc),c=function(t){var e;for(Z(t,t.dyn_ltree,t.l_desc.max_code),Z(t,t.dyn_dtree,t.d_desc.max_code),H(t,t.bl_desc),e=h-1;e>=3&&0===t.bl_tree[2*A[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),s=t.opt_len+3+7>>>3,(a=t.static_len+3+7>>>3)<=s&&(s=a)):s=a=r+5,r+4<=s&&-1!==e?J(t,e,r,n):4===t.strategy||a===s?(L(t,2+(n?1:0),3),q(t,C,k)):(L(t,4+(n?1:0),3),function(t,e,r,n){var i;for(L(t,e-257,5),L(t,r-1,5),L(t,n-4,4),i=0;i<n;i++)L(t,t.bl_tree[2*A[i]+1],3);K(t,t.dyn_ltree,e-1),K(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,c+1),q(t,t.dyn_ltree,t.dyn_dtree)),W(t),n&&G(t)},e._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(P[r]+u+1)]++,t.dyn_dtree[2*F(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){L(t,2,3),j(t,b,C),function(t){16===t.bi_valid?(N(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},51206:function(t){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},22653:function(t,e,r){"use strict";var n="/",i=r(17173).Buffer,o=r(2776),s=r(82871),a=r(76582),c=r(27772),u=r(39531),l=r(80090),f=r(56277),h=r(94121);class d{toString(){throw new Error("Must be implemented by subclasses")}}class p{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._items={},this.limits="boolean"!=typeof t.limits||t.limits}add(t,e){return this._items[t]=e}get(t){return this._items[t]}toString(){const t=Object.keys(this._items).sort(((t,e)=>this._compareKeys(t,e))),e=["<<"];if(this.limits&&t.length>1){const r=t[0],n=t[t.length-1];e.push(`  /Limits ${v.convert([this._dataForKey(r),this._dataForKey(n)])}`)}e.push(`  /${this._keysName()} [`);for(let r of t)e.push(`    ${v.convert(this._dataForKey(r))} ${v.convert(this._items[r])}`);return e.push("]"),e.push(">>"),e.join("\n")}_compareKeys(){throw new Error("Must be implemented by subclasses")}_keysName(){throw new Error("Must be implemented by subclasses")}_dataForKey(){throw new Error("Must be implemented by subclasses")}}const g=(t,e)=>(Array(e+1).join("0")+t).slice(-e),y=/[\n\r\t\b\f()\\]/g,b={"\n":"\\n","\r":"\\r","\t":"\\t","\b":"\\b","\f":"\\f","\\":"\\\\","(":"\\(",")":"\\)"};class v{static convert(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof t)return`/${t}`;if(t instanceof String){let r,n=t,o=!1;for(let t=0,e=n.length;t<e;t++)if(n.charCodeAt(t)>127){o=!0;break}return r=o?function(t){const e=t.length;if(1&e)throw new Error("Buffer length must be even");for(let r=0,n=e-1;r<n;r+=2){const e=t[r];t[r]=t[r+1],t[r+1]=e}return t}(i.from(`\ufeff${n}`,"utf16le")):i.from(n.valueOf(),"ascii"),n=e?e(r).toString("binary"):r.toString("binary"),n=n.replace(y,(t=>b[t])),`(${n})`}if(i.isBuffer(t))return`<${t.toString("hex")}>`;if(t instanceof d||t instanceof p)return t.toString();if(t instanceof Date){let r=`D:${g(t.getUTCFullYear(),4)}`+g(t.getUTCMonth()+1,2)+g(t.getUTCDate(),2)+g(t.getUTCHours(),2)+g(t.getUTCMinutes(),2)+g(t.getUTCSeconds(),2)+"Z";return e&&(r=e(i.from(r,"ascii")).toString("binary"),r=r.replace(y,(t=>b[t]))),`(${r})`}if(Array.isArray(t)){return`[${t.map((t=>v.convert(t,e))).join(" ")}]`}if("[object Object]"==={}.toString.call(t)){const r=["<<"];for(let n in t){const i=t[n];r.push(`/${n} ${v.convert(i,e)}`)}return r.push(">>"),r.join("\n")}return"number"==typeof t?v.number(t):`${t}`}static number(t){if(t>-1e21&&t<1e21)return Math.round(1e6*t)/1e6;throw new Error(`unsupported number: ${t}`)}}class m extends d{constructor(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(),this.document=t,this.id=e,this.data=r,this.gen=0,this.compress=this.document.compress&&!this.data.Filter,this.uncompressedLength=0,this.buffer=[]}write(t){if(i.isBuffer(t)||(t=i.from(t+"\n","binary")),this.uncompressedLength+=t.length,null==this.data.Length&&(this.data.Length=0),this.buffer.push(t),this.data.Length+=t.length,this.compress)return this.data.Filter="FlateDecode"}end(t){return t&&this.write(t),this.finalize()}finalize(){this.offset=this.document._offset;const t=this.document._security?this.document._security.getEncryptFn(this.id,this.gen):null;this.buffer.length&&(this.buffer=i.concat(this.buffer),this.compress&&(this.buffer=a.deflateSync(this.buffer)),t&&(this.buffer=t(this.buffer)),this.data.Length=this.buffer.length),this.document._write(`${this.id} ${this.gen} obj`),this.document._write(v.convert(this.data,t)),this.buffer.length&&(this.document._write("stream"),this.document._write(this.buffer),this.buffer=[],this.document._write("\nendstream")),this.document._write("endobj"),this.document._refEnd(this)}toString(){return`${this.id} ${this.gen} R`}}const w={top:72,left:72,bottom:72,right:72},S={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]};class x{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.document=t,this.size=e.size||"letter",this.layout=e.layout||"portrait","number"==typeof e.margin?this.margins={top:e.margin,left:e.margin,bottom:e.margin,right:e.margin}:this.margins=e.margins||w;const r=Array.isArray(this.size)?this.size:S[this.size.toUpperCase()];this.width=r["portrait"===this.layout?0:1],this.height=r["portrait"===this.layout?1:0],this.content=this.document.ref(),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources}),this.markings=[]}get fonts(){const t=this.resources.data;return null!=t.Font?t.Font:t.Font={}}get xobjects(){const t=this.resources.data;return null!=t.XObject?t.XObject:t.XObject={}}get ext_gstates(){const t=this.resources.data;return null!=t.ExtGState?t.ExtGState:t.ExtGState={}}get patterns(){const t=this.resources.data;return null!=t.Pattern?t.Pattern:t.Pattern={}}get colorSpaces(){const t=this.resources.data;return t.ColorSpace||(t.ColorSpace={})}get annotations(){const t=this.dictionary.data;return null!=t.Annots?t.Annots:t.Annots=[]}get structParentTreeKey(){const t=this.dictionary.data;return null!=t.StructParents?t.StructParents:t.StructParents=this.document.createStructParentTreeNextKey()}maxY(){return this.height-this.margins.bottom}write(t){return this.content.write(t)}end(){return this.dictionary.end(),this.resources.end(),this.content.end()}}class _ extends p{_compareKeys(t,e){return t.localeCompare(e)}_keysName(){return"Names"}_dataForKey(t){return new String(t)}}function A(t,e){if(t<e[0])return!1;let r=0,n=e.length/2;for(;r<=n;){const i=Math.floor((r+n)/2),o=2*i;if(t>=e[o]&&t<=e[o+1])return!0;t>e[o+1]?r=i+1:n=i-1}return!1}const C=[545,545,564,591,686,687,751,767,848,863,880,883,886,889,891,893,895,899,907,907,909,909,930,930,975,975,1015,1023,1159,1159,1231,1231,1270,1271,1274,1279,1296,1328,1367,1368,1376,1376,1416,1416,1419,1424,1442,1442,1466,1466,1477,1487,1515,1519,1525,1547,1549,1562,1564,1566,1568,1568,1595,1599,1622,1631,1774,1775,1791,1791,1806,1806,1837,1839,1867,1919,1970,2304,2308,2308,2362,2363,2382,2383,2389,2391,2417,2432,2436,2436,2445,2446,2449,2450,2473,2473,2481,2481,2483,2485,2490,2491,2493,2493,2501,2502,2505,2506,2510,2518,2520,2523,2526,2526,2532,2533,2555,2561,2563,2564,2571,2574,2577,2578,2601,2601,2609,2609,2612,2612,2615,2615,2618,2619,2621,2621,2627,2630,2633,2634,2638,2648,2653,2653,2655,2661,2677,2688,2692,2692,2700,2700,2702,2702,2706,2706,2729,2729,2737,2737,2740,2740,2746,2747,2758,2758,2762,2762,2766,2767,2769,2783,2785,2789,2800,2816,2820,2820,2829,2830,2833,2834,2857,2857,2865,2865,2868,2869,2874,2875,2884,2886,2889,2890,2894,2901,2904,2907,2910,2910,2914,2917,2929,2945,2948,2948,2955,2957,2961,2961,2966,2968,2971,2971,2973,2973,2976,2978,2981,2983,2987,2989,2998,2998,3002,3005,3011,3013,3017,3017,3022,3030,3032,3046,3059,3072,3076,3076,3085,3085,3089,3089,3113,3113,3124,3124,3130,3133,3141,3141,3145,3145,3150,3156,3159,3167,3170,3173,3184,3201,3204,3204,3213,3213,3217,3217,3241,3241,3252,3252,3258,3261,3269,3269,3273,3273,3278,3284,3287,3293,3295,3295,3298,3301,3312,3329,3332,3332,3341,3341,3345,3345,3369,3369,3386,3389,3396,3397,3401,3401,3406,3414,3416,3423,3426,3429,3440,3457,3460,3460,3479,3481,3506,3506,3516,3516,3518,3519,3527,3529,3531,3534,3541,3541,3543,3543,3552,3569,3573,3584,3643,3646,3676,3712,3715,3715,3717,3718,3721,3721,3723,3724,3726,3731,3736,3736,3744,3744,3748,3748,3750,3750,3752,3753,3756,3756,3770,3770,3774,3775,3781,3781,3783,3783,3790,3791,3802,3803,3806,3839,3912,3912,3947,3952,3980,3983,3992,3992,4029,4029,4045,4046,4048,4095,4130,4130,4136,4136,4139,4139,4147,4149,4154,4159,4186,4255,4294,4303,4345,4346,4348,4351,4442,4446,4515,4519,4602,4607,4615,4615,4679,4679,4681,4681,4686,4687,4695,4695,4697,4697,4702,4703,4743,4743,4745,4745,4750,4751,4783,4783,4785,4785,4790,4791,4799,4799,4801,4801,4806,4807,4815,4815,4823,4823,4847,4847,4879,4879,4881,4881,4886,4887,4895,4895,4935,4935,4955,4960,4989,5023,5109,5120,5751,5759,5789,5791,5873,5887,5901,5901,5909,5919,5943,5951,5972,5983,5997,5997,6001,6001,6004,6015,6109,6111,6122,6143,6159,6159,6170,6175,6264,6271,6314,7679,7836,7839,7930,7935,7958,7959,7966,7967,8006,8007,8014,8015,8024,8024,8026,8026,8028,8028,8030,8030,8062,8063,8117,8117,8133,8133,8148,8149,8156,8156,8176,8177,8181,8181,8191,8191,8275,8278,8280,8286,8292,8297,8306,8307,8335,8351,8370,8399,8427,8447,8507,8508,8524,8530,8580,8591,9167,9215,9255,9279,9291,9311,9471,9471,9748,9749,9752,9752,9854,9855,9866,9984,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10079,10080,10133,10135,10160,10160,10175,10191,10220,10223,11008,11903,11930,11930,12020,12031,12246,12271,12284,12287,12352,12352,12439,12440,12544,12548,12589,12592,12687,12687,12728,12783,12829,12831,12868,12880,12924,12926,13004,13007,13055,13055,13175,13178,13278,13279,13311,13311,19894,19967,40870,40959,42125,42127,42183,44031,55204,55295,64046,64047,64107,64255,64263,64274,64280,64284,64311,64311,64317,64317,64319,64319,64322,64322,64325,64325,64434,64466,64832,64847,64912,64913,64968,64975,65021,65023,65040,65055,65060,65071,65095,65096,65107,65107,65127,65127,65132,65135,65141,65141,65277,65278,65280,65280,65471,65473,65480,65481,65488,65489,65496,65497,65501,65503,65511,65511,65519,65528,65536,66303,66335,66335,66340,66351,66379,66559,66598,66599,66638,118783,119030,119039,119079,119081,119262,119807,119893,119893,119965,119965,119968,119969,119971,119972,119975,119976,119981,119981,119994,119994,119996,119996,120001,120001,120004,120004,120070,120070,120075,120076,120085,120085,120093,120093,120122,120122,120127,120127,120133,120133,120135,120137,120145,120145,120484,120487,120778,120781,120832,131069,173783,194559,195102,196605,196608,262141,262144,327677,327680,393213,393216,458749,458752,524285,524288,589821,589824,655357,655360,720893,720896,786429,786432,851965,851968,917501,917504,917504,917506,917535,917632,983037],k=t=>A(t,C),E=[173,173,847,847,6150,6150,6155,6155,6156,6156,6157,6157,8203,8203,8204,8204,8205,8205,8288,8288,65024,65024,65025,65025,65026,65026,65027,65027,65028,65028,65029,65029,65030,65030,65031,65031,65032,65032,65033,65033,65034,65034,65035,65035,65036,65036,65037,65037,65038,65038,65039,65039,65279,65279],P=[160,160,5760,5760,8192,8192,8193,8193,8194,8194,8195,8195,8196,8196,8197,8197,8198,8198,8199,8199,8200,8200,8201,8201,8202,8202,8203,8203,8239,8239,8287,8287,12288,12288],O=[128,159,1757,1757,1807,1807,6158,6158,8204,8204,8205,8205,8232,8232,8233,8233,8288,8288,8289,8289,8290,8290,8291,8291,8298,8303,65279,65279,65529,65532,119155,119162],B=[64976,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1114110,1114111],I=[0,31,127,127,832,832,833,833,8206,8206,8207,8207,8234,8234,8235,8235,8236,8236,8237,8237,8238,8238,8298,8298,8299,8299,8300,8300,8301,8301,8302,8302,8303,8303,12272,12283,55296,57343,57344,63743,65529,65529,65530,65530,65531,65531,65532,65532,65533,65533,917505,917505,917536,917631,983040,1048573,1048576,1114109],T=t=>A(t,P)||A(t,I)||A(t,O)||A(t,B),R=[1470,1470,1472,1472,1475,1475,1488,1514,1520,1524,1563,1563,1567,1567,1569,1594,1600,1610,1645,1647,1649,1749,1757,1757,1765,1766,1786,1790,1792,1805,1808,1808,1810,1836,1920,1957,1969,1969,8207,8207,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65020,65136,65140,65142,65276],M=t=>A(t,R),D=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,544,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,1013,1024,1154,1162,1230,1232,1269,1272,1273,1280,1295,1329,1366,1369,1375,1377,1415,1417,1417,2307,2307,2309,2361,2365,2368,2377,2380,2384,2384,2392,2401,2404,2416,2434,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2494,2496,2503,2504,2507,2508,2519,2519,2524,2525,2527,2529,2534,2545,2548,2554,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2622,2624,2649,2652,2654,2654,2662,2671,2674,2676,2691,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2752,2761,2761,2763,2764,2768,2768,2784,2784,2790,2799,2818,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2878,2880,2880,2887,2888,2891,2892,2903,2903,2908,2909,2911,2913,2918,2928,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3007,3009,3010,3014,3016,3018,3020,3031,3031,3047,3058,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3137,3140,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3262,3264,3268,3271,3272,3274,3275,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3392,3398,3400,3402,3404,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3535,3537,3544,3551,3570,3572,3585,3632,3634,3635,3648,3654,3663,3675,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3792,3801,3804,3805,3840,3863,3866,3892,3894,3894,3896,3896,3902,3911,3913,3946,3967,3967,3973,3973,3976,3979,4030,4037,4039,4044,4047,4047,4096,4129,4131,4135,4137,4138,4140,4140,4145,4145,4152,4152,4160,4183,4256,4293,4304,4344,4347,4347,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4961,4988,5024,5108,5121,5750,5761,5786,5792,5872,5888,5900,5902,5905,5920,5937,5941,5942,5952,5969,5984,5996,5998,6e3,6016,6070,6078,6085,6087,6088,6100,6106,6108,6108,6112,6121,6160,6169,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8206,8206,8305,8305,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8509,8511,8517,8521,8544,8579,9014,9082,9109,9109,9372,9449,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12588,12593,12686,12688,12727,12784,12828,12832,12867,12896,12923,12927,12976,12992,13003,13008,13054,13056,13174,13179,13277,13280,13310,13312,19893,19968,40869,40960,42124,44032,55203,55296,64045,64048,64106,64256,64262,64275,64279,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,66304,66334,66336,66339,66352,66378,66560,66597,66600,66637,118784,119029,119040,119078,119082,119142,119146,119154,119171,119172,119180,119209,119214,119261,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,12e4,120002,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120483,120488,120777,131072,173782,194560,195101,983040,1048573,1048576,1114109],F=t=>A(t,D),N=t=>A(t,P),L=t=>A(t,E),j=t=>t.codePointAt(0),z=t=>t[0],U=t=>t[t.length-1];function W(t){const e=[],r=t.length;for(let n=0;n<r;n+=1){const i=t.charCodeAt(n);if(i>=55296&&i<=56319&&r>n+1){const r=t.charCodeAt(n+1);if(r>=56320&&r<=57343){e.push(1024*(i-55296)+r-56320+65536),n+=1;continue}}e.push(i)}return e}class G{static generateFileID(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=`${t.CreationDate.getTime()}\n`;for(let r in t)t.hasOwnProperty(r)&&(e+=`${r}: ${t[r].valueOf()}\n`);return Z(c.MD5(e))}static generateRandomWordArray(t){return c.lib.WordArray.random(t)}static create(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.ownerPassword||e.userPassword?new G(t,e):null}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.ownerPassword&&!e.userPassword)throw new Error("None of owner password and user password is defined.");this.document=t,this._setupEncryption(e)}_setupEncryption(t){switch(t.pdfVersion){case"1.4":case"1.5":this.version=2;break;case"1.6":case"1.7":this.version=4;break;case"1.7ext3":this.version=5;break;default:this.version=1}const e={Filter:"Standard"};switch(this.version){case 1:case 2:case 4:this._setupEncryptionV1V2V4(this.version,e,t);break;case 5:this._setupEncryptionV5(e,t)}this.dictionary=this.document.ref(e)}_setupEncryptionV1V2V4(t,e,r){let n,i;switch(t){case 1:n=2,this.keyBits=40,i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=-64;t.printing&&(e|=4);t.modifying&&(e|=8);t.copying&&(e|=16);t.annotating&&(e|=32);return e}(r.permissions);break;case 2:n=3,this.keyBits=128,i=V(r.permissions);break;case 4:n=4,this.keyBits=128,i=V(r.permissions)}const o=X(r.userPassword),s=r.ownerPassword?X(r.ownerPassword):o,a=function(t,e,r,n){let i=n,o=t>=3?51:1;for(let t=0;t<o;t++)i=c.MD5(i);const s=i.clone();s.sigBytes=e/8;let a=r;o=t>=3?20:1;for(let t=0;t<o;t++){const e=Math.ceil(s.sigBytes/4);for(let r=0;r<e;r++)s.words[r]=i.words[r]^(t|t<<8|t<<16|t<<24);a=c.RC4.encrypt(a,s).ciphertext}return a}(n,this.keyBits,o,s);let u;var l;this.encryptionKey=function(t,e,r,n,i,o){let s=n.clone().concat(i).concat(c.lib.WordArray.create([H(o)],4)).concat(c.lib.WordArray.create(r));const a=t>=3?51:1;for(let t=0;t<a;t++)s=c.MD5(s),s.sigBytes=e/8;return s}(n,this.keyBits,this.document._id,o,a,i),2===n?(l=this.encryptionKey,u=c.RC4.encrypt(X(),l).ciphertext):u=function(t,e){const r=e.clone();let n=c.MD5(X().concat(c.lib.WordArray.create(t)));for(let t=0;t<20;t++){const i=Math.ceil(r.sigBytes/4);for(let n=0;n<i;n++)r.words[n]=e.words[n]^(t|t<<8|t<<16|t<<24);n=c.RC4.encrypt(n,r).ciphertext}return n.concat(c.lib.WordArray.create(null,16))}(this.document._id,this.encryptionKey),e.V=t,t>=2&&(e.Length=this.keyBits),4===t&&(e.CF={StdCF:{AuthEvent:"DocOpen",CFM:"AESV2",Length:this.keyBits/8}},e.StmF="StdCF",e.StrF="StdCF"),e.R=n,e.O=Z(a),e.U=Z(u),e.P=i}_setupEncryptionV5(t,e){this.keyBits=256;const r=V(e.permissions),n=q(e.userPassword),i=e.ownerPassword?q(e.ownerPassword):n;this.encryptionKey=(0,G.generateRandomWordArray)(32);const o=function(t,e){const r=e(8),n=e(8);return c.SHA256(t.clone().concat(r)).concat(r).concat(n)}(n,G.generateRandomWordArray),s=function(t,e,r){const n=c.SHA256(t.clone().concat(e)),i={mode:c.mode.CBC,padding:c.pad.NoPadding,iv:c.lib.WordArray.create(null,16)};return c.AES.encrypt(r,n,i).ciphertext}(n,c.lib.WordArray.create(o.words.slice(10,12),8),this.encryptionKey),a=function(t,e,r){const n=r(8),i=r(8);return c.SHA256(t.clone().concat(n).concat(e)).concat(n).concat(i)}(i,o,G.generateRandomWordArray),u=function(t,e,r,n){const i=c.SHA256(t.clone().concat(e).concat(r)),o={mode:c.mode.CBC,padding:c.pad.NoPadding,iv:c.lib.WordArray.create(null,16)};return c.AES.encrypt(n,i,o).ciphertext}(i,c.lib.WordArray.create(a.words.slice(10,12),8),o,this.encryptionKey),l=function(t,e,r){const n=c.lib.WordArray.create([H(t),4294967295,1415668834],12).concat(r(4)),i={mode:c.mode.ECB,padding:c.pad.NoPadding};return c.AES.encrypt(n,e,i).ciphertext}(r,this.encryptionKey,G.generateRandomWordArray);t.V=5,t.Length=this.keyBits,t.CF={StdCF:{AuthEvent:"DocOpen",CFM:"AESV3",Length:this.keyBits/8}},t.StmF="StdCF",t.StrF="StdCF",t.R=5,t.O=Z(a),t.OE=Z(u),t.U=Z(o),t.UE=Z(s),t.P=r,t.Perms=Z(l)}getEncryptFn(t,e){let r,n;if(this.version<5&&(r=this.encryptionKey.clone().concat(c.lib.WordArray.create([(255&t)<<24|(65280&t)<<8|t>>8&65280|255&e,(65280&e)<<16],5))),1===this.version||2===this.version){let t=c.MD5(r);return t.sigBytes=Math.min(16,this.keyBits/8+5),e=>Z(c.RC4.encrypt(c.lib.WordArray.create(e),t).ciphertext)}n=4===this.version?c.MD5(r.concat(c.lib.WordArray.create([1933667412],4))):this.encryptionKey;const i=G.generateRandomWordArray(16),o={mode:c.mode.CBC,padding:c.pad.Pkcs7,iv:i};return t=>Z(i.clone().concat(c.AES.encrypt(c.lib.WordArray.create(t),n,o).ciphertext))}end(){this.dictionary.end()}}function V(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=-3904;return"lowResolution"===t.printing&&(e|=4),"highResolution"===t.printing&&(e|=2052),t.modifying&&(e|=8),t.copying&&(e|=16),t.annotating&&(e|=32),t.fillingForms&&(e|=256),t.contentAccessibility&&(e|=512),t.documentAssembly&&(e|=1024),e}function X(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const e=i.alloc(32),r=t.length;let n=0;for(;n<r&&n<32;){const r=t.charCodeAt(n);if(r>255)throw new Error("Password contains one or more invalid characters.");e[n]=r,n++}for(;n<32;)e[n]=K[n-r],n++;return c.lib.WordArray.create(e)}function q(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";t=unescape(encodeURIComponent(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof t)throw new TypeError("Expected string.");if(0===t.length)return"";const r=W(t).map((t=>N(t)?32:t)).filter((t=>!L(t))),n=String.fromCodePoint.apply(null,r).normalize("NFKC"),i=W(n);if(i.some(T))throw new Error("Prohibited character, see https://tools.ietf.org/html/rfc4013#section-2.3");if(!0!==e.allowUnassigned&&i.some(k))throw new Error("Unassigned code point, see https://tools.ietf.org/html/rfc4013#section-2.5");const o=i.some(M),s=i.some(F);if(o&&s)throw new Error("String must not contain RandALCat and LCat at the same time, see https://tools.ietf.org/html/rfc3454#section-6");const a=M(j(z(n))),c=M(j(U(n)));if(o&&(!a||!c))throw new Error("Bidirectional RandALCat character must be the first and the last character of the string, see https://tools.ietf.org/html/rfc3454#section-6");return n}(t)));const e=Math.min(127,t.length),r=i.alloc(e);for(let n=0;n<e;n++)r[n]=t.charCodeAt(n);return c.lib.WordArray.create(r)}function H(t){return(255&t)<<24|(65280&t)<<8|t>>8&65280|t>>24&255}function Z(t){const e=[];for(let r=0;r<t.sigBytes;r++)e.push(t.words[Math.floor(r/4)]>>8*(3-r%4)&255);return i.from(e)}const K=[40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122],{number:Y}=v;class J{constructor(t){this.doc=t,this.stops=[],this.embedded=!1,this.transform=[1,0,0,1,0,0]}stop(t,e,r){if(null==r&&(r=1),e=this.doc._normalizeColor(e),0===this.stops.length)if(3===e.length)this._colorSpace="DeviceRGB";else if(4===e.length)this._colorSpace="DeviceCMYK";else{if(1!==e.length)throw new Error("Unknown color space");this._colorSpace="DeviceGray"}else if("DeviceRGB"===this._colorSpace&&3!==e.length||"DeviceCMYK"===this._colorSpace&&4!==e.length||"DeviceGray"===this._colorSpace&&1!==e.length)throw new Error("All gradient stops must use the same color space");return r=Math.max(0,Math.min(1,r)),this.stops.push([t,e,r]),this}setTransform(t,e,r,n,i,o){return this.transform=[t,e,r,n,i,o],this}embed(t){let e;const r=this.stops.length;if(0===r)return;this.embedded=!0,this.matrix=t;const n=this.stops[r-1];n[0]<1&&this.stops.push([1,n[1],n[2]]);const i=[],o=[],s=[];for(let t=0;t<r-1;t++)o.push(0,1),t+2!==r&&i.push(this.stops[t+1][0]),e=this.doc.ref({FunctionType:2,Domain:[0,1],C0:this.stops[t+0][1],C1:this.stops[t+1][1],N:1}),s.push(e),e.end();1===r?e=s[0]:(e=this.doc.ref({FunctionType:3,Domain:[0,1],Functions:s,Bounds:i,Encode:o}),e.end()),this.id="Sh"+ ++this.doc._gradCount;const a=this.shader(e);a.end();const c=this.doc.ref({Type:"Pattern",PatternType:2,Shading:a,Matrix:this.matrix.map(Y)});if(c.end(),this.stops.some((t=>t[2]<1))){let t=this.opacityGradient();t._colorSpace="DeviceGray";for(let e of this.stops)t.stop(e[0],[e[2]]);t=t.embed(this.matrix);const e=[0,0,this.doc.page.width,this.doc.page.height],r=this.doc.ref({Type:"XObject",Subtype:"Form",FormType:1,BBox:e,Group:{Type:"Group",S:"Transparency",CS:"DeviceGray"},Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:t}}});r.write("/Pattern cs /Sh1 scn"),r.end(`${e.join(" ")} re f`);const n=this.doc.ref({Type:"ExtGState",SMask:{Type:"Mask",S:"Luminosity",G:r}});n.end();const i=this.doc.ref({Type:"Pattern",PatternType:1,PaintType:1,TilingType:2,BBox:e,XStep:e[2],YStep:e[3],Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:c},ExtGState:{Gs1:n}}});i.write("/Gs1 gs /Pattern cs /Sh1 scn"),i.end(`${e.join(" ")} re f`),this.doc.page.patterns[this.id]=i}else this.doc.page.patterns[this.id]=c;return c}apply(t){const[e,r,n,i,o,s]=this.doc._ctm,[a,c,u,l,f,h]=this.transform,d=[e*a+n*c,r*a+i*c,e*u+n*l,r*u+i*l,e*f+n*h+o,r*f+i*h+s];this.embedded&&d.join(" ")===this.matrix.join(" ")||this.embed(d),this.doc._setColorSpace("Pattern",t);const p=t?"SCN":"scn";return this.doc.addContent(`/${this.id} ${p}`)}}class Q extends J{constructor(t,e,r,n,i){super(t),this.x1=e,this.y1=r,this.x2=n,this.y2=i}shader(t){return this.doc.ref({ShadingType:2,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.x2,this.y2],Function:t,Extend:[!0,!0]})}opacityGradient(){return new Q(this.doc,this.x1,this.y1,this.x2,this.y2)}}class $ extends J{constructor(t,e,r,n,i,o,s){super(t),this.doc=t,this.x1=e,this.y1=r,this.r1=n,this.x2=i,this.y2=o,this.r2=s}shader(t){return this.doc.ref({ShadingType:3,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.r1,this.x2,this.y2,this.r2],Function:t,Extend:[!0,!0]})}opacityGradient(){return new $(this.doc,this.x1,this.y1,this.r1,this.x2,this.y2,this.r2)}}var tt={PDFGradient:J,PDFLinearGradient:Q,PDFRadialGradient:$};const et=["DeviceCMYK","DeviceRGB"];var rt={PDFTilingPattern:class{constructor(t,e,r,n,i){this.doc=t,this.bBox=e,this.xStep=r,this.yStep=n,this.stream=i}createPattern(){const t=this.doc.ref();t.end();const[e,r,n,i,o,s]=this.doc._ctm,[a,c,u,l,f,h]=[1,0,0,1,0,0],d=[e*a+n*c,r*a+i*c,e*u+n*l,r*u+i*l,e*f+n*h+o,r*f+i*h+s],p=this.doc.ref({Type:"Pattern",PatternType:1,PaintType:2,TilingType:2,BBox:this.bBox,XStep:this.xStep,YStep:this.yStep,Matrix:d.map((t=>+t.toFixed(5))),Resources:t});return p.end(this.stream),p}embedPatternColorSpaces(){et.forEach((t=>{const e=this.getPatternColorSpaceId(t);if(this.doc.page.colorSpaces[e])return;const r=this.doc.ref(["Pattern",t]);r.end(),this.doc.page.colorSpaces[e]=r}))}getPatternColorSpaceId(t){return`CsP${t}`}embed(){this.id||(this.doc._patternCount=this.doc._patternCount+1,this.id="P"+this.doc._patternCount,this.pattern=this.createPattern()),this.doc.page.patterns[this.id]||(this.doc.page.patterns[this.id]=this.pattern)}apply(t,e){this.embedPatternColorSpaces(),this.embed();const r=this.doc._normalizeColor(e);if(!r)throw Error(`invalid pattern color. (value: ${e})`);const n=this.getPatternColorSpaceId(this.doc._getColorSpace(r));this.doc._setColorSpace(n,t);const i=t?"SCN":"scn";return this.doc.addContent(`${r.join(" ")} /${this.id} ${i}`)}}};const{PDFGradient:nt,PDFLinearGradient:it,PDFRadialGradient:ot}=tt,{PDFTilingPattern:st}=rt;var at={initColor(){return this._opacityRegistry={},this._opacityCount=0,this._patternCount=0,this._gradCount=0},_normalizeColor(t){if("string"==typeof t)if("#"===t.charAt(0)){4===t.length&&(t=t.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3"));const e=parseInt(t.slice(1),16);t=[e>>16,e>>8&255,255&e]}else ct[t]&&(t=ct[t]);return Array.isArray(t)?(3===t.length?t=t.map((t=>t/255)):4===t.length&&(t=t.map((t=>t/100))),t):null},_setColor(t,e){return t instanceof nt?(t.apply(e),!0):Array.isArray(t)&&t[0]instanceof st?(t[0].apply(e,t[1]),!0):this._setColorCore(t,e)},_setColorCore(t,e){if(!(t=this._normalizeColor(t)))return!1;const r=e?"SCN":"scn",n=this._getColorSpace(t);return this._setColorSpace(n,e),t=t.join(" "),this.addContent(`${t} ${r}`),!0},_setColorSpace(t,e){const r=e?"CS":"cs";return this.addContent(`/${t} ${r}`)},_getColorSpace(t){return 4===t.length?"DeviceCMYK":"DeviceRGB"},fillColor(t,e){return this._setColor(t,!1)&&this.fillOpacity(e),this._fillColor=[t,e],this},strokeColor(t,e){return this._setColor(t,!0)&&this.strokeOpacity(e),this},opacity(t){return this._doOpacity(t,t),this},fillOpacity(t){return this._doOpacity(t,null),this},strokeOpacity(t){return this._doOpacity(null,t),this},_doOpacity(t,e){let r,n;if(null==t&&null==e)return;null!=t&&(t=Math.max(0,Math.min(1,t))),null!=e&&(e=Math.max(0,Math.min(1,e)));const i=`${t}_${e}`;if(this._opacityRegistry[i])[r,n]=this._opacityRegistry[i];else{r={Type:"ExtGState"},null!=t&&(r.ca=t),null!=e&&(r.CA=e),r=this.ref(r),r.end();n=`Gs${++this._opacityCount}`,this._opacityRegistry[i]=[r,n]}return this.page.ext_gstates[n]=r,this.addContent(`/${n} gs`)},linearGradient(t,e,r,n){return new it(this,t,e,r,n)},radialGradient(t,e,r,n,i,o){return new ot(this,t,e,r,n,i,o)},pattern(t,e,r,n){return new st(this,t,e,r,n)}},ct={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};let ut,lt,ft,ht,dt,pt;ut=lt=ft=ht=dt=pt=0;const gt={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0},yt={M(t,e){return ut=e[0],lt=e[1],ft=ht=null,dt=ut,pt=lt,t.moveTo(ut,lt)},m(t,e){return ut+=e[0],lt+=e[1],ft=ht=null,dt=ut,pt=lt,t.moveTo(ut,lt)},C(t,e){return ut=e[4],lt=e[5],ft=e[2],ht=e[3],t.bezierCurveTo(...e)},c(t,e){return t.bezierCurveTo(e[0]+ut,e[1]+lt,e[2]+ut,e[3]+lt,e[4]+ut,e[5]+lt),ft=ut+e[2],ht=lt+e[3],ut+=e[4],lt+=e[5]},S(t,e){return null===ft&&(ft=ut,ht=lt),t.bezierCurveTo(ut-(ft-ut),lt-(ht-lt),e[0],e[1],e[2],e[3]),ft=e[0],ht=e[1],ut=e[2],lt=e[3]},s(t,e){return null===ft&&(ft=ut,ht=lt),t.bezierCurveTo(ut-(ft-ut),lt-(ht-lt),ut+e[0],lt+e[1],ut+e[2],lt+e[3]),ft=ut+e[0],ht=lt+e[1],ut+=e[2],lt+=e[3]},Q(t,e){return ft=e[0],ht=e[1],ut=e[2],lt=e[3],t.quadraticCurveTo(e[0],e[1],ut,lt)},q(t,e){return t.quadraticCurveTo(e[0]+ut,e[1]+lt,e[2]+ut,e[3]+lt),ft=ut+e[0],ht=lt+e[1],ut+=e[2],lt+=e[3]},T(t,e){return null===ft?(ft=ut,ht=lt):(ft=ut-(ft-ut),ht=lt-(ht-lt)),t.quadraticCurveTo(ft,ht,e[0],e[1]),ft=ut-(ft-ut),ht=lt-(ht-lt),ut=e[0],lt=e[1]},t(t,e){return null===ft?(ft=ut,ht=lt):(ft=ut-(ft-ut),ht=lt-(ht-lt)),t.quadraticCurveTo(ft,ht,ut+e[0],lt+e[1]),ut+=e[0],lt+=e[1]},A(t,e){return bt(t,ut,lt,e),ut=e[5],lt=e[6]},a(t,e){return e[5]+=ut,e[6]+=lt,bt(t,ut,lt,e),ut=e[5],lt=e[6]},L(t,e){return ut=e[0],lt=e[1],ft=ht=null,t.lineTo(ut,lt)},l(t,e){return ut+=e[0],lt+=e[1],ft=ht=null,t.lineTo(ut,lt)},H(t,e){return ut=e[0],ft=ht=null,t.lineTo(ut,lt)},h(t,e){return ut+=e[0],ft=ht=null,t.lineTo(ut,lt)},V(t,e){return lt=e[0],ft=ht=null,t.lineTo(ut,lt)},v(t,e){return lt+=e[0],ft=ht=null,t.lineTo(ut,lt)},Z(t){return t.closePath(),ut=dt,lt=pt},z(t){return t.closePath(),ut=dt,lt=pt}},bt=function(t,e,r,n){const[i,o,s,a,c,u,l]=n,f=vt(u,l,i,o,a,c,s,e,r);for(let e of f){const r=mt(...e);t.bezierCurveTo(...r)}},vt=function(t,e,r,n,i,o,s,a,c){const u=s*(Math.PI/180),l=Math.sin(u),f=Math.cos(u);r=Math.abs(r),n=Math.abs(n),ft=f*(a-t)*.5+l*(c-e)*.5,ht=f*(c-e)*.5-l*(a-t)*.5;let h=ft*ft/(r*r)+ht*ht/(n*n);h>1&&(h=Math.sqrt(h),r*=h,n*=h);const d=f/r,p=l/r,g=-l/n,y=f/n,b=d*a+p*c,v=g*a+y*c,m=d*t+p*e,w=g*t+y*e;let S=1/((m-b)*(m-b)+(w-v)*(w-v))-.25;S<0&&(S=0);let x=Math.sqrt(S);o===i&&(x=-x);const _=.5*(b+m)-x*(w-v),A=.5*(v+w)+x*(m-b),C=Math.atan2(v-A,b-_);let k=Math.atan2(w-A,m-_)-C;k<0&&1===o?k+=2*Math.PI:k>0&&0===o&&(k-=2*Math.PI);const E=Math.ceil(Math.abs(k/(.5*Math.PI+.001))),P=[];for(let t=0;t<E;t++){const e=C+t*k/E,i=C+(t+1)*k/E;P[t]=[_,A,e,i,r,n,l,f]}return P},mt=function(t,e,r,n,i,o,s,a){const c=a*i,u=-s*o,l=s*i,f=a*o,h=.5*(n-r),d=8/3*Math.sin(.5*h)*Math.sin(.5*h)/Math.sin(h),p=t+Math.cos(r)-d*Math.sin(r),g=e+Math.sin(r)+d*Math.cos(r),y=t+Math.cos(n),b=e+Math.sin(n),v=y+d*Math.sin(n),m=b-d*Math.cos(n);return[c*p+u*g,l*p+f*g,c*v+u*m,l*v+f*m,c*y+u*b,l*y+f*b]};class wt{static apply(t,e){const r=function(t){let e;const r=[];let n=[],i="",o=!1,s=0;for(let a of t)if(null!=gt[a])s=gt[a],e&&(i.length>0&&(n[n.length]=+i),r[r.length]={cmd:e,args:n},n=[],i="",o=!1),e=a;else if([" ",","].includes(a)||"-"===a&&i.length>0&&"e"!==i[i.length-1]||"."===a&&o){if(0===i.length)continue;n.length===s?(r[r.length]={cmd:e,args:n},n=[+i],"M"===e&&(e="L"),"m"===e&&(e="l")):n[n.length]=+i,o="."===a,i=["-","."].includes(a)?a:""}else i+=a,"."===a&&(o=!0);return i.length>0&&(n.length===s?(r[r.length]={cmd:e,args:n},n=[+i],"M"===e&&(e="L"),"m"===e&&(e="l")):n[n.length]=+i),r[r.length]={cmd:e,args:n},r}(e);!function(t,e){ut=lt=ft=ht=dt=pt=0;for(let r=0;r<t.length;r++){const n=t[r];"function"==typeof yt[n.cmd]&&yt[n.cmd](e,n.args)}}(r,t)}}const{number:St}=v,xt=(Math.sqrt(2)-1)/3*4;var _t={initVector(){return this._ctm=[1,0,0,1,0,0],this._ctmStack=[]},save(){return this._ctmStack.push(this._ctm.slice()),this.addContent("q")},restore(){return this._ctm=this._ctmStack.pop()||[1,0,0,1,0,0],this.addContent("Q")},closePath(){return this.addContent("h")},lineWidth(t){return this.addContent(`${St(t)} w`)},_CAP_STYLES:{BUTT:0,ROUND:1,SQUARE:2},lineCap(t){return"string"==typeof t&&(t=this._CAP_STYLES[t.toUpperCase()]),this.addContent(`${t} J`)},_JOIN_STYLES:{MITER:0,ROUND:1,BEVEL:2},lineJoin(t){return"string"==typeof t&&(t=this._JOIN_STYLES[t.toUpperCase()]),this.addContent(`${t} j`)},miterLimit(t){return this.addContent(`${St(t)} M`)},dash(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=t;Array.isArray(t)||(t=[t,e.space||t]);if(!t.every((t=>Number.isFinite(t)&&t>0)))throw new Error(`dash(${JSON.stringify(r)}, ${JSON.stringify(e)}) invalid, lengths must be numeric and greater than zero`);return t=t.map(St).join(" "),this.addContent(`[${t}] ${St(e.phase||0)} d`)},undash(){return this.addContent("[] 0 d")},moveTo(t,e){return this.addContent(`${St(t)} ${St(e)} m`)},lineTo(t,e){return this.addContent(`${St(t)} ${St(e)} l`)},bezierCurveTo(t,e,r,n,i,o){return this.addContent(`${St(t)} ${St(e)} ${St(r)} ${St(n)} ${St(i)} ${St(o)} c`)},quadraticCurveTo(t,e,r,n){return this.addContent(`${St(t)} ${St(e)} ${St(r)} ${St(n)} v`)},rect(t,e,r,n){return this.addContent(`${St(t)} ${St(e)} ${St(r)} ${St(n)} re`)},roundedRect(t,e,r,n,i){null==i&&(i=0);const o=(i=Math.min(i,.5*r,.5*n))*(1-xt);return this.moveTo(t+i,e),this.lineTo(t+r-i,e),this.bezierCurveTo(t+r-o,e,t+r,e+o,t+r,e+i),this.lineTo(t+r,e+n-i),this.bezierCurveTo(t+r,e+n-o,t+r-o,e+n,t+r-i,e+n),this.lineTo(t+i,e+n),this.bezierCurveTo(t+o,e+n,t,e+n-o,t,e+n-i),this.lineTo(t,e+i),this.bezierCurveTo(t,e+o,t+o,e,t+i,e),this.closePath()},ellipse(t,e,r,n){null==n&&(n=r);const i=r*xt,o=n*xt,s=(t-=r)+2*r,a=(e-=n)+2*n,c=t+r,u=e+n;return this.moveTo(t,u),this.bezierCurveTo(t,u-o,c-i,e,c,e),this.bezierCurveTo(c+i,e,s,u-o,s,u),this.bezierCurveTo(s,u+o,c+i,a,c,a),this.bezierCurveTo(c-i,a,t,u+o,t,u),this.closePath()},circle(t,e,r){return this.ellipse(t,e,r)},arc(t,e,r,n,i,o){null==o&&(o=!1);const s=2*Math.PI,a=.5*Math.PI;let c=i-n;if(Math.abs(c)>s)c=s;else if(0!==c&&o!==c<0){c=(o?-1:1)*s+c}const u=Math.ceil(Math.abs(c)/a),l=c/u,f=l/a*xt*r;let h=n,d=-Math.sin(h)*f,p=Math.cos(h)*f,g=t+Math.cos(h)*r,y=e+Math.sin(h)*r;this.moveTo(g,y);for(let n=0;n<u;n++){const n=g+d,i=y+p;h+=l,g=t+Math.cos(h)*r,y=e+Math.sin(h)*r,d=-Math.sin(h)*f,p=Math.cos(h)*f;const o=g-d,s=y-p;this.bezierCurveTo(n,i,o,s,g,y)}return this},polygon(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];this.moveTo(...e.shift()||[]);for(let t of e)this.lineTo(...t||[]);return this.closePath()},path(t){return wt.apply(this,t),this},_windingRule(t){return/even-?odd/.test(t)?"*":""},fill(t,e){return/(even-?odd)|(non-?zero)/.test(t)&&(e=t,t=null),t&&this.fillColor(t),this.addContent(`f${this._windingRule(e)}`)},stroke(t){return t&&this.strokeColor(t),this.addContent("S")},fillAndStroke(t,e,r){null==e&&(e=t);const n=/(even-?odd)|(non-?zero)/;return n.test(t)&&(r=t,t=null),n.test(e)&&(r=e,e=t),t&&(this.fillColor(t),this.strokeColor(e)),this.addContent(`B${this._windingRule(r)}`)},clip(t){return this.addContent(`W${this._windingRule(t)} n`)},transform(t,e,r,n,i,o){const s=this._ctm,[a,c,u,l,f,h]=s;s[0]=a*t+u*e,s[1]=c*t+l*e,s[2]=a*r+u*n,s[3]=c*r+l*n,s[4]=a*i+u*o+f,s[5]=c*i+l*o+h;const d=[t,e,r,n,i,o].map((t=>St(t))).join(" ");return this.addContent(`${d} cm`)},translate(t,e){return this.transform(1,0,0,1,t,e)},rotate(t){let e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t*Math.PI/180,i=Math.cos(n),o=Math.sin(n);let s=e=0;if(null!=r.origin){[s,e]=r.origin;const t=s*o+e*i;s-=s*i-e*o,e-=t}return this.transform(i,o,-o,i,s,e)},scale(t,e){let r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};null==e&&(e=t),"object"==typeof e&&(n=e,e=t);let i=r=0;return null!=n.origin&&([i,r]=n.origin,i-=t*i,r-=e*r),this.transform(t,0,0,e,i,r)}};const At={402:131,8211:150,8212:151,8216:145,8217:146,8218:130,8220:147,8221:148,8222:132,8224:134,8225:135,8226:149,8230:133,8364:128,8240:137,8249:139,8250:155,710:136,8482:153,338:140,339:156,732:152,352:138,353:154,376:159,381:142,382:158},Ct=".notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n  \nspace         exclam         quotedbl       numbersign\ndollar        percent        ampersand      quotesingle\nparenleft     parenright     asterisk       plus\ncomma         hyphen         period         slash\nzero          one            two            three\nfour          five           six            seven\neight         nine           colon          semicolon\nless          equal          greater        question\n  \nat            A              B              C\nD             E              F              G\nH             I              J              K\nL             M              N              O\nP             Q              R              S\nT             U              V              W\nX             Y              Z              bracketleft\nbackslash     bracketright   asciicircum    underscore\n  \ngrave         a              b              c\nd             e              f              g\nh             i              j              k\nl             m              n              o\np             q              r              s\nt             u              v              w\nx             y              z              braceleft\nbar           braceright     asciitilde     .notdef\n  \nEuro          .notdef        quotesinglbase florin\nquotedblbase  ellipsis       dagger         daggerdbl\ncircumflex    perthousand    Scaron         guilsinglleft\nOE            .notdef        Zcaron         .notdef\n.notdef       quoteleft      quoteright     quotedblleft\nquotedblright bullet         endash         emdash\ntilde         trademark      scaron         guilsinglright\noe            .notdef        zcaron         ydieresis\n  \nspace         exclamdown     cent           sterling\ncurrency      yen            brokenbar      section\ndieresis      copyright      ordfeminine    guillemotleft\nlogicalnot    hyphen         registered     macron\ndegree        plusminus      twosuperior    threesuperior\nacute         mu             paragraph      periodcentered\ncedilla       onesuperior    ordmasculine   guillemotright\nonequarter    onehalf        threequarters  questiondown\n  \nAgrave        Aacute         Acircumflex    Atilde\nAdieresis     Aring          AE             Ccedilla\nEgrave        Eacute         Ecircumflex    Edieresis\nIgrave        Iacute         Icircumflex    Idieresis\nEth           Ntilde         Ograve         Oacute\nOcircumflex   Otilde         Odieresis      multiply\nOslash        Ugrave         Uacute         Ucircumflex\nUdieresis     Yacute         Thorn          germandbls\n  \nagrave        aacute         acircumflex    atilde\nadieresis     aring          ae             ccedilla\negrave        eacute         ecircumflex    edieresis\nigrave        iacute         icircumflex    idieresis\neth           ntilde         ograve         oacute\nocircumflex   otilde         odieresis      divide\noslash        ugrave         uacute         ucircumflex\nudieresis     yacute         thorn          ydieresis".split(/\s+/);class kt{static open(t){return new kt(s.readFileSync(t,"utf8"))}constructor(t){this.contents=t,this.attributes={},this.glyphWidths={},this.boundingBoxes={},this.kernPairs={},this.parse(),this.charWidths=new Array(256);for(let t=0;t<=255;t++)this.charWidths[t]=this.glyphWidths[Ct[t]];this.bbox=this.attributes.FontBBox.split(/\s+/).map((t=>+t)),this.ascender=+(this.attributes.Ascender||0),this.descender=+(this.attributes.Descender||0),this.xHeight=+(this.attributes.XHeight||0),this.capHeight=+(this.attributes.CapHeight||0),this.lineGap=this.bbox[3]-this.bbox[1]-(this.ascender-this.descender)}parse(){let t="";for(let s of this.contents.split("\n")){var e,r;if(e=s.match(/^Start(\w+)/))t=e[1];else if(e=s.match(/^End(\w+)/))t="";else switch(t){case"FontMetrics":var n=(e=s.match(/(^\w+)\s+(.*)/))[1],i=e[2];(r=this.attributes[n])?(Array.isArray(r)||(r=this.attributes[n]=[r]),r.push(i)):this.attributes[n]=i;break;case"CharMetrics":if(!/^CH?\s/.test(s))continue;var o=s.match(/\bN\s+(\.?\w+)\s*;/)[1];this.glyphWidths[o]=+s.match(/\bWX\s+(\d+)\s*;/)[1];break;case"KernPairs":(e=s.match(/^KPX\s+(\.?\w+)\s+(\.?\w+)\s+(-?\d+)/))&&(this.kernPairs[e[1]+"\0"+e[2]]=parseInt(e[3]))}}}encodeText(t){const e=[];for(let r=0,n=t.length;r<n;r++){let n=t.charCodeAt(r);n=At[n]||n,e.push(n.toString(16))}return e}glyphsForString(t){const e=[];for(let r=0,n=t.length;r<n;r++){const n=t.charCodeAt(r);e.push(this.characterToGlyph(n))}return e}characterToGlyph(t){return Ct[At[t]||t]||".notdef"}widthOfGlyph(t){return this.glyphWidths[t]||0}getKernPair(t,e){return this.kernPairs[t+"\0"+e]||0}advancesForGlyphs(t){const e=[];for(let r=0;r<t.length;r++){const n=t[r],i=t[r+1];e.push(this.widthOfGlyph(n)+this.getKernPair(n,i))}return e}}class Et{constructor(){}encode(){throw new Error("Must be implemented by subclasses")}widthOfString(){throw new Error("Must be implemented by subclasses")}ref(){return null!=this.dictionary?this.dictionary:this.dictionary=this.document.ref()}finalize(){if(!this.embedded&&null!=this.dictionary)return this.embed(),this.embedded=!0}embed(){throw new Error("Must be implemented by subclasses")}lineHeight(t,e){null==e&&(e=!1);const r=e?this.lineGap:0;return(this.ascender+r-this.descender)/1e3*t}}const Pt={Courier(){return s.readFileSync("//data/Courier.afm","utf8")},"Courier-Bold"(){return s.readFileSync("//data/Courier-Bold.afm","utf8")},"Courier-Oblique"(){return s.readFileSync("//data/Courier-Oblique.afm","utf8")},"Courier-BoldOblique"(){return s.readFileSync("//data/Courier-BoldOblique.afm","utf8")},Helvetica(){return s.readFileSync("//data/Helvetica.afm","utf8")},"Helvetica-Bold"(){return s.readFileSync("//data/Helvetica-Bold.afm","utf8")},"Helvetica-Oblique"(){return s.readFileSync("//data/Helvetica-Oblique.afm","utf8")},"Helvetica-BoldOblique"(){return s.readFileSync("//data/Helvetica-BoldOblique.afm","utf8")},"Times-Roman"(){return s.readFileSync("//data/Times-Roman.afm","utf8")},"Times-Bold"(){return s.readFileSync("//data/Times-Bold.afm","utf8")},"Times-Italic"(){return s.readFileSync("//data/Times-Italic.afm","utf8")},"Times-BoldItalic"(){return s.readFileSync("//data/Times-BoldItalic.afm","utf8")},Symbol(){return s.readFileSync("//data/Symbol.afm","utf8")},ZapfDingbats(){return s.readFileSync("//data/ZapfDingbats.afm","utf8")}};class Ot extends Et{constructor(t,e,r){super(),this.document=t,this.name=e,this.id=r,this.font=new kt(Pt[this.name]()),({ascender:this.ascender,descender:this.descender,bbox:this.bbox,lineGap:this.lineGap,xHeight:this.xHeight,capHeight:this.capHeight}=this.font)}embed(){return this.dictionary.data={Type:"Font",BaseFont:this.name,Subtype:"Type1",Encoding:"WinAnsiEncoding"},this.dictionary.end()}encode(t){const e=this.font.encodeText(t),r=this.font.glyphsForString(`${t}`),n=this.font.advancesForGlyphs(r),i=[];for(let t=0;t<r.length;t++){const e=r[t];i.push({xAdvance:n[t],yAdvance:0,xOffset:0,yOffset:0,advanceWidth:this.font.widthOfGlyph(e)})}return[e,i]}widthOfString(t,e){const r=this.font.glyphsForString(`${t}`),n=this.font.advancesForGlyphs(r);let i=0;for(let t of n)i+=t;return i*(e/1e3)}static isStandardFont(t){return t in Pt}}const Bt=function(t){return`0000${t.toString(16)}`.slice(-4)};class It extends Et{constructor(t,e,r){super(),this.document=t,this.font=e,this.id=r,this.subset=this.font.createSubset(),this.unicode=[[0]],this.widths=[this.font.getGlyph(0).advanceWidth],this.name=this.font.postscriptName,this.scale=1e3/this.font.unitsPerEm,this.ascender=this.font.ascent*this.scale,this.descender=this.font.descent*this.scale,this.xHeight=this.font.xHeight*this.scale,this.capHeight=this.font.capHeight*this.scale,this.lineGap=this.font.lineGap*this.scale,this.bbox=this.font.bbox,!1!==t.options.fontLayoutCache&&(this.layoutCache=Object.create(null))}layoutRun(t,e){const r=this.font.layout(t,e);for(let t=0;t<r.positions.length;t++){const e=r.positions[t];for(let t in e)e[t]*=this.scale;e.advanceWidth=r.glyphs[t].advanceWidth*this.scale}return r}layoutCached(t){if(!this.layoutCache)return this.layoutRun(t);let e;if(e=this.layoutCache[t])return e;const r=this.layoutRun(t);return this.layoutCache[t]=r,r}layout(t,e,r){if(e)return this.layoutRun(t,e);let n=r?null:[],i=r?null:[],o=0,s=0,a=0;for(;a<=t.length;){var c;if(a===t.length&&s<a||(c=t.charAt(a),[" ","\t"].includes(c))){const e=this.layoutCached(t.slice(s,++a));r||(n=n.concat(e.glyphs),i=i.concat(e.positions)),o+=e.advanceWidth,s=a}else a++}return{glyphs:n,positions:i,advanceWidth:o}}encode(t,e){const{glyphs:r,positions:n}=this.layout(t,e),i=[];for(let t=0;t<r.length;t++){const e=r[t],n=this.subset.includeGlyph(e.id);i.push(`0000${n.toString(16)}`.slice(-4)),null==this.widths[n]&&(this.widths[n]=e.advanceWidth*this.scale),null==this.unicode[n]&&(this.unicode[n]=e.codePoints)}return[i,n]}widthOfString(t,e,r){return this.layout(t,r,!0).advanceWidth*(e/1e3)}embed(){const t=null!=this.subset.cff,e=this.document.ref();t&&(e.data.Subtype="CIDFontType0C"),this.subset.encodeStream().on("data",(t=>e.write(t))).on("end",(()=>e.end()));const r=((null!=this.font["OS/2"]?this.font["OS/2"].sFamilyClass:void 0)||0)>>8;let n=0;this.font.post.isFixedPitch&&(n|=1),1<=r&&r<=7&&(n|=2),n|=4,10===r&&(n|=8),this.font.head.macStyle.italic&&(n|=64);const o=[1,2,3,4,5,6].map((t=>String.fromCharCode((this.id.charCodeAt(t)||73)+17))).join(""),s=o+"+"+this.font.postscriptName,{bbox:a}=this.font,c=this.document.ref({Type:"FontDescriptor",FontName:s,Flags:n,FontBBox:[a.minX*this.scale,a.minY*this.scale,a.maxX*this.scale,a.maxY*this.scale],ItalicAngle:this.font.italicAngle,Ascent:this.ascender,Descent:this.descender,CapHeight:(this.font.capHeight||this.font.ascent)*this.scale,XHeight:(this.font.xHeight||0)*this.scale,StemV:0});if(t?c.data.FontFile3=e:c.data.FontFile2=e,this.document.subset){const t=i.from("FFFFFFFFC0","hex"),e=this.document.ref();e.write(t),e.end(),c.data.CIDSet=e}c.end();const u={Type:"Font",Subtype:"CIDFontType0",BaseFont:s,CIDSystemInfo:{Registry:new String("Adobe"),Ordering:new String("Identity"),Supplement:0},FontDescriptor:c,W:[0,this.widths]};t||(u.Subtype="CIDFontType2",u.CIDToGIDMap="Identity");const l=this.document.ref(u);return l.end(),this.dictionary.data={Type:"Font",Subtype:"Type0",BaseFont:s,Encoding:"Identity-H",DescendantFonts:[l],ToUnicode:this.toUnicodeCmap()},this.dictionary.end()}toUnicodeCmap(){const t=this.document.ref(),e=[];for(let t of this.unicode){const r=[];for(let e of t)e>65535&&(e-=65536,r.push(Bt(e>>>10&1023|55296)),e=56320|1023&e),r.push(Bt(e));e.push(`<${r.join(" ")}>`)}return t.end(`/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n  /Registry (Adobe)\n  /Ordering (UCS)\n  /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange\n1 beginbfrange\n<0000> <${Bt(e.length-1)}> [${e.join(" ")}]\nendbfrange\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend`),t}}class Tt{static open(t,e,r,n){let o;if("string"==typeof e){if(Ot.isStandardFont(e))return new Ot(t,e,n);e=s.readFileSync(e)}if(i.isBuffer(e)?o=u.create(e,r):e instanceof Uint8Array?o=u.create(i.from(e),r):e instanceof ArrayBuffer&&(o=u.create(i.from(new Uint8Array(e)),r)),null==o)throw new Error("Not a supported font format or standard PDF font.");return new It(t,o,n)}}var Rt={initFonts(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Helvetica";this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={},t&&this.font(t)},font(t,e,r){let n,i;if("number"==typeof e&&(r=e,e=null),"string"==typeof t&&this._registeredFonts[t]?(n=t,({src:t,family:e}=this._registeredFonts[t])):(n=e||t,"string"!=typeof n&&(n=null)),null!=r&&this.fontSize(r),i=this._fontFamilies[n])return this._font=i,this;const o="F"+ ++this._fontCount;return this._font=Tt.open(this,t,e,o),(i=this._fontFamilies[this._font.name])?(this._font=i,this):(n&&(this._fontFamilies[n]=this._font),this._font.name&&(this._fontFamilies[this._font.name]=this._font),this)},fontSize(t){return this._fontSize=t,this},currentLineHeight(t){return null==t&&(t=!1),this._font.lineHeight(this._fontSize,t)},registerFont(t,e,r){return this._registeredFonts[t]={src:e,family:r},this}};class Mt extends l.EventEmitter{constructor(t,e){super(),this.document=t,this.indent=e.indent||0,this.characterSpacing=e.characterSpacing||0,this.wordSpacing=0===e.wordSpacing,this.columns=e.columns||1,this.columnGap=null!=e.columnGap?e.columnGap:18,this.lineWidth=(e.width-this.columnGap*(this.columns-1))/this.columns,this.spaceLeft=this.lineWidth,this.startX=this.document.x,this.startY=this.document.y,this.column=1,this.ellipsis=e.ellipsis,this.continuedX=0,this.features=e.features,null!=e.height?(this.height=e.height,this.maxY=this.startY+e.height):this.maxY=this.document.page.maxY(),this.on("firstLine",(t=>{const e=this.continuedX||this.indent;return this.document.x+=e,this.lineWidth-=e,this.once("line",(()=>{if(this.document.x-=e,this.lineWidth+=e,t.continued&&!this.continuedX&&(this.continuedX=this.indent),!t.continued)return this.continuedX=0}))})),this.on("lastLine",(t=>{const{align:e}=t;return"justify"===e&&(t.align="left"),this.lastLine=!0,this.once("line",(()=>(this.document.y+=t.paragraphGap||0,t.align=e,this.lastLine=!1)))}))}wordWidth(t){return this.document.widthOfString(t,this)+this.characterSpacing+this.wordSpacing}eachWord(t,e){let r;const n=new f(t);let i=null;const o=Object.create(null);for(;r=n.nextBreak();){var s;let n=t.slice((null!=i?i.position:void 0)||0,r.position),u=null!=o[n]?o[n]:o[n]=this.wordWidth(n);if(u>this.lineWidth+this.continuedX){let t=i;const o={};for(;n.length;){var a,c;u>this.spaceLeft?(a=Math.ceil(this.spaceLeft/(u/n.length)),u=this.wordWidth(n.slice(0,a)),c=u<=this.spaceLeft&&a<n.length):a=n.length;let i=u>this.spaceLeft&&a>0;for(;i||c;)i?(u=this.wordWidth(n.slice(0,--a)),i=u>this.spaceLeft&&a>0):(u=this.wordWidth(n.slice(0,++a)),i=u>this.spaceLeft&&a>0,c=u<=this.spaceLeft&&a<n.length);if(0===a&&this.spaceLeft===this.lineWidth&&(a=1),o.required=r.required||a<n.length,s=e(n.slice(0,a),u,o,t),t={required:!1},n=n.slice(a),u=this.wordWidth(n),!1===s)break}}else s=e(n,u,r,i);if(!1===s)break;i=r}}wrap(t,e){null!=e.indent&&(this.indent=e.indent),null!=e.characterSpacing&&(this.characterSpacing=e.characterSpacing),null!=e.wordSpacing&&(this.wordSpacing=e.wordSpacing),null!=e.ellipsis&&(this.ellipsis=e.ellipsis);const r=this.document.y+this.document.currentLineHeight(!0);(this.document.y>this.maxY||r>this.maxY)&&this.nextSection();let n="",i=0,o=0,s=0,{y:a}=this.document;const c=()=>(e.textWidth=i+this.wordSpacing*(o-1),e.wordCount=o,e.lineWidth=this.lineWidth,({y:a}=this.document),this.emit("line",n,e,this),s++);return this.emit("sectionStart",e,this),this.eachWord(t,((t,r,s,a)=>{if((null==a||a.required)&&(this.emit("firstLine",e,this),this.spaceLeft=this.lineWidth),r<=this.spaceLeft&&(n+=t,i+=r,o++),s.required||r>this.spaceLeft){const a=this.document.currentLineHeight(!0);if(null!=this.height&&this.ellipsis&&this.document.y+2*a>this.maxY&&this.column>=this.columns){for(!0===this.ellipsis&&(this.ellipsis="…"),n=n.replace(/\s+$/,""),i=this.wordWidth(n+this.ellipsis);n&&i>this.lineWidth;)n=n.slice(0,-1).replace(/\s+$/,""),i=this.wordWidth(n+this.ellipsis);i<=this.lineWidth&&(n+=this.ellipsis),i=this.wordWidth(n)}if(s.required&&(r>this.spaceLeft&&(c(),n=t,i=r,o=1),this.emit("lastLine",e,this)),c(),this.document.y+a>this.maxY){if(!this.nextSection())return o=0,n="",!1}return s.required?(this.spaceLeft=this.lineWidth,n="",i=0,o=0):(this.spaceLeft=this.lineWidth-r,n=t,i=r,o=1)}return this.spaceLeft-=r})),o>0&&(this.emit("lastLine",e,this),c()),this.emit("sectionEnd",e,this),!0===e.continued?(s>1&&(this.continuedX=0),this.continuedX+=e.textWidth||0,this.document.y=a):this.document.x=this.startX}nextSection(t){if(this.emit("sectionEnd",t,this),++this.column>this.columns){if(null!=this.height)return!1;this.document.continueOnNewPage(),this.column=1,this.startY=this.document.page.margins.top,this.maxY=this.document.page.maxY(),this.document.x=this.startX,this.document._fillColor&&this.document.fillColor(...this.document._fillColor),this.emit("pageBreak",t,this)}else this.document.x+=this.lineWidth+this.columnGap,this.document.y=this.startY,this.emit("columnBreak",t,this);return this.emit("sectionStart",t,this),!0}}const{number:Dt}=v;var Ft={initText(){return this._line=this._line.bind(this),this.x=0,this.y=0,this._lineGap=0},lineGap(t){return this._lineGap=t,this},moveDown(t){return null==t&&(t=1),this.y+=this.currentLineHeight(!0)*t+this._lineGap,this},moveUp(t){return null==t&&(t=1),this.y-=this.currentLineHeight(!0)*t+this._lineGap,this},_text(t,e,r,n,i){t=null==t?"":`${t}`,(n=this._initOptions(e,r,n)).wordSpacing&&(t=t.replace(/\s{2,}/g," "));const o=()=>{n.structParent&&n.structParent.add(this.struct(n.structType||"P",[this.markStructureContent(n.structType||"P")]))};if(n.width){let e=this._wrapper;e||(e=new Mt(this,n),e.on("line",i),e.on("firstLine",o)),this._wrapper=n.continued?e:null,this._textOptions=n.continued?n:null,e.wrap(t,n)}else for(let e of t.split("\n"))o(),i(e,n);return this},text(t,e,r,n){return this._text(t,e,r,n,this._line)},widthOfString(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._font.widthOfString(t,this._fontSize,e.features)+(e.characterSpacing||0)*(t.length-1)},heightOfString(t,e){const{x:r,y:n}=this;(e=this._initOptions(e)).height=1/0;const i=e.lineGap||this._lineGap||0;this._text(t,this.x,this.y,e,(()=>this.y+=this.currentLineHeight(!0)+i));const o=this.y-n;return this.x=r,this.y=n,o},list(t,e,r,n,i){const o=(n=this._initOptions(e,r,n)).listType||"bullet",s=Math.round(this._font.ascender/1e3*this._fontSize),a=s/2,c=n.bulletRadius||s/3,u=n.textIndent||("bullet"===o?5*c:2*s),l=n.bulletIndent||("bullet"===o?8*c:2*s);let f=1;const h=[],d=[],p=[];var g=function(t){let e=1;for(let r=0;r<t.length;r++){const n=t[r];Array.isArray(n)?(f++,g(n),f--):(h.push(n),d.push(f),"bullet"!==o&&p.push(e++))}};g(t);(i=new Mt(this,n)).on("line",this._line),f=1;let y=0;return i.on("firstLine",(()=>{let t,e,r,s,h;if(n.structParent&&(n.structTypes?[e,r,s]=n.structTypes:[e,r,s]=["LI","Lbl","LBody"]),e?(t=this.struct(e),n.structParent.add(t)):n.structParent&&(t=n.structParent),(h=d[y++])!==f){const t=l*(h-f);this.x+=t,i.lineWidth-=t,f=h}switch(t&&(r||s)&&t.add(this.struct(r||s,[this.markStructureContent(r||s)])),o){case"bullet":this.circle(this.x-u+c,this.y+a,c),this.fill();break;case"numbered":case"lettered":var g=function(t){switch(o){case"numbered":return`${t}.`;case"lettered":var e=String.fromCharCode((t-1)%26+65),r=Math.floor((t-1)/26+1);return`${Array(r+1).join(e)}.`}}(p[y-1]);this._fragment(g,this.x-u,this.y,n)}t&&r&&s&&t.add(this.struct(s,[this.markStructureContent(s)])),t&&t!==n.structParent&&t.end()})),i.on("sectionStart",(()=>{const t=u+l*(f-1);return this.x+=t,i.lineWidth-=t})),i.on("sectionEnd",(()=>{const t=u+l*(f-1);return this.x-=t,i.lineWidth+=t})),i.wrap(h.join("\n"),n),this},_initOptions(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};"object"==typeof t&&(r=t,t=null);const n=Object.assign({},r);if(this._textOptions)for(let t in this._textOptions){const e=this._textOptions[t];"continued"!==t&&void 0===n[t]&&(n[t]=e)}return null!=t&&(this.x=t),null!=e&&(this.y=e),!1!==n.lineBreak&&(null==n.width&&(n.width=this.page.width-this.x-this.page.margins.right),n.width=Math.max(n.width,0)),n.columns||(n.columns=0),null==n.columnGap&&(n.columnGap=18),n},_line(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;this._fragment(t,this.x,this.y,e);const n=e.lineGap||this._lineGap||0;return r?this.y+=this.currentLineHeight(!0)+n:this.x+=this.widthOfString(t)},_fragment(t,e,r,n){let i,o,s,a,c,u;if(0===(t=`${t}`.replace(/\n/g,"")).length)return;const l=n.align||"left";let f=n.wordSpacing||0;const h=n.characterSpacing||0;if(n.width)switch(l){case"right":c=this.widthOfString(t.replace(/\s+$/,""),n),e+=n.lineWidth-c;break;case"center":e+=n.lineWidth/2-n.textWidth/2;break;case"justify":u=t.trim().split(/\s+/),c=this.widthOfString(t.replace(/\s+/g,""),n);var d=this.widthOfString(" ")+h;f=Math.max(0,(n.lineWidth-c)/Math.max(1,u.length-1)-d)}if("number"==typeof n.baseline)i=-n.baseline;else{switch(n.baseline){case"svg-middle":i=.5*this._font.xHeight;break;case"middle":case"svg-central":i=.5*(this._font.descender+this._font.ascender);break;case"bottom":case"ideographic":i=this._font.descender;break;case"alphabetic":i=0;break;case"mathematical":i=.5*this._font.ascender;break;case"hanging":i=.8*this._font.ascender;break;default:i=this._font.ascender}i=i/1e3*this._fontSize}const p=n.textWidth+f*(n.wordCount-1)+h*(t.length-1);if(null!=n.link&&this.link(e,r,p,this.currentLineHeight(),n.link),null!=n.goTo&&this.goTo(e,r,p,this.currentLineHeight(),n.goTo),null!=n.destination&&this.addNamedDestination(n.destination,"XYZ",e,r,null),n.underline){this.save(),n.stroke||this.strokeColor(...this._fillColor||[]);const t=this._fontSize<10?.5:Math.floor(this._fontSize/10);this.lineWidth(t);let i=r+this.currentLineHeight()-t;this.moveTo(e,i),this.lineTo(e+p,i),this.stroke(),this.restore()}if(n.strike){this.save(),n.stroke||this.strokeColor(...this._fillColor||[]);const t=this._fontSize<10?.5:Math.floor(this._fontSize/10);this.lineWidth(t);let i=r+this.currentLineHeight()/2;this.moveTo(e,i),this.lineTo(e+p,i),this.stroke(),this.restore()}if(this.save(),n.oblique){let t;t="number"==typeof n.oblique?-Math.tan(n.oblique*Math.PI/180):-.25,this.transform(1,0,0,1,e,r),this.transform(1,0,t,1,-t*i,0),this.transform(1,0,0,1,-e,-r)}this.transform(1,0,0,-1,0,this.page.height),r=this.page.height-r-i,null==this.page.fonts[this._font.id]&&(this.page.fonts[this._font.id]=this._font.ref()),this.addContent("BT"),this.addContent(`1 0 0 1 ${Dt(e)} ${Dt(r)} Tm`),this.addContent(`/${this._font.id} ${Dt(this._fontSize)} Tf`);const g=n.fill&&n.stroke?2:n.stroke?1:0;if(g&&this.addContent(`${g} Tr`),h&&this.addContent(`${Dt(h)} Tc`),f){u=t.trim().split(/\s+/),f+=this.widthOfString(" ")+h,f*=1e3/this._fontSize,o=[],a=[];for(let t of u){const[e,r]=this._font.encode(t,n.features);o=o.concat(e),a=a.concat(r);const i={},s=a[a.length-1];for(let t in s){const e=s[t];i[t]=e}i.xAdvance+=f,a[a.length-1]=i}}else[o,a]=this._font.encode(t,n.features);const y=this._fontSize/1e3,b=[];let v=0,m=!1;const w=t=>{if(v<t){const e=o.slice(v,t).join(""),r=a[t-1].xAdvance-a[t-1].advanceWidth;b.push(`<${e}> ${Dt(-r)}`)}return v=t},S=t=>{if(w(t),b.length>0)return this.addContent(`[${b.join(" ")}] TJ`),b.length=0};for(s=0;s<a.length;s++){const t=a[s];t.xOffset||t.yOffset?(S(s),this.addContent(`1 0 0 1 ${Dt(e+t.xOffset*y)} ${Dt(r+t.yOffset*y)} Tm`),S(s+1),m=!0):(m&&(this.addContent(`1 0 0 1 ${Dt(e)} ${Dt(r)} Tm`),m=!1),t.xAdvance-t.advanceWidth!=0&&w(s+1)),e+=t.xAdvance*y}return S(s),this.addContent("ET"),this.restore()}};const Nt=[65472,65473,65474,65475,65477,65478,65479,65480,65481,65482,65483,65484,65485,65486,65487],Lt={1:"DeviceGray",3:"DeviceRGB",4:"DeviceCMYK"};class jt{constructor(t,e){let r;if(this.data=t,this.label=e,65496!==this.data.readUInt16BE(0))throw"SOI not found in JPEG";let n=2;for(;n<this.data.length&&(r=this.data.readUInt16BE(n),n+=2,!Nt.includes(r));)n+=this.data.readUInt16BE(n);if(!Nt.includes(r))throw"Invalid JPEG.";n+=2,this.bits=this.data[n++],this.height=this.data.readUInt16BE(n),n+=2,this.width=this.data.readUInt16BE(n),n+=2;const i=this.data[n++];this.colorSpace=Lt[i],this.obj=null}embed(t){if(!this.obj)return this.obj=t.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.bits,Width:this.width,Height:this.height,ColorSpace:this.colorSpace,Filter:"DCTDecode"}),"DeviceCMYK"===this.colorSpace&&(this.obj.data.Decode=[1,0,1,0,1,0,1,0]),this.obj.end(this.data),this.data=null}}class zt{constructor(t,e){this.label=e,this.image=new h(t),this.width=this.image.width,this.height=this.image.height,this.imgData=this.image.imgData,this.obj=null}embed(t){let e=!1;if(this.document=t,this.obj)return;const r=this.image.hasAlphaChannel,n=1===this.image.interlaceMethod;if(this.obj=this.document.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:r?8:this.image.bits,Width:this.width,Height:this.height,Filter:"FlateDecode"}),!r){const t=this.document.ref({Predictor:n?1:15,Colors:this.image.colors,BitsPerComponent:this.image.bits,Columns:this.width});this.obj.data.DecodeParms=t,t.end()}if(0===this.image.palette.length)this.obj.data.ColorSpace=this.image.colorSpace;else{const t=this.document.ref();t.end(i.from(this.image.palette)),this.obj.data.ColorSpace=["Indexed","DeviceRGB",this.image.palette.length/3-1,t]}if(null!=this.image.transparency.grayscale){const t=this.image.transparency.grayscale;this.obj.data.Mask=[t,t]}else if(this.image.transparency.rgb){const{rgb:t}=this.image.transparency,e=[];for(let r of t)e.push(r,r);this.obj.data.Mask=e}else{if(this.image.transparency.indexed)return e=!0,this.loadIndexedAlphaChannel();if(r)return e=!0,this.splitAlphaChannel()}if(n&&!e)return this.decodeData();this.finalize()}finalize(){if(this.alphaChannel){const t=this.document.ref({Type:"XObject",Subtype:"Image",Height:this.height,Width:this.width,BitsPerComponent:8,Filter:"FlateDecode",ColorSpace:"DeviceGray",Decode:[0,1]});t.end(this.alphaChannel),this.obj.data.SMask=t}return this.obj.end(this.imgData),this.image=null,this.imgData=null}splitAlphaChannel(){return this.image.decodePixels((t=>{let e,r;const n=this.image.colors,o=this.width*this.height,s=i.alloc(o*n),c=i.alloc(o);let u=r=e=0;const l=t.length,f=16===this.image.bits?1:0;for(;u<l;){for(let e=0;e<n;e++)s[r++]=t[u++],u+=f;c[e++]=t[u++],u+=f}return this.imgData=a.deflateSync(s),this.alphaChannel=a.deflateSync(c),this.finalize()}))}loadIndexedAlphaChannel(){const t=this.image.transparency.indexed;return this.image.decodePixels((e=>{const r=i.alloc(this.width*this.height);let n=0;for(let i=0,o=e.length;i<o;i++)r[n++]=t[e[i]];return this.alphaChannel=a.deflateSync(r),this.finalize()}))}decodeData(){this.image.decodePixels((t=>{this.imgData=a.deflateSync(t),this.finalize()}))}}class Ut{static open(t,e){let r;if(i.isBuffer(t))r=t;else if(t instanceof ArrayBuffer)r=i.from(new Uint8Array(t));else{let e;if(e=/^data:.+;base64,(.*)$/.exec(t))r=i.from(e[1],"base64");else if(r=s.readFileSync(t),!r)return}if(255===r[0]&&216===r[1])return new jt(r,e);if(137===r[0]&&"PNG"===r.toString("ascii",1,4))return new zt(r,e);throw new Error("Unknown image format.")}}var Wt={initImages(){return this._imageRegistry={},this._imageCount=0},image(t,e,r){let n,i,o,s,a,c,u,l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};"object"==typeof e&&(l=e,e=null),e=null!=(c=null!=e?e:l.x)?c:this.x,r=null!=(u=null!=r?r:l.y)?u:this.y,"string"==typeof t&&(s=this._imageRegistry[t]),s||(s=t.width&&t.height?t:this.openImage(t)),s.obj||s.embed(this),null==this.page.xobjects[s.label]&&(this.page.xobjects[s.label]=s.obj);let f=l.width||s.width,h=l.height||s.height;if(l.width&&!l.height){const t=f/s.width;f=s.width*t,h=s.height*t}else if(l.height&&!l.width){const t=h/s.height;f=s.width*t,h=s.height*t}else l.scale?(f=s.width*l.scale,h=s.height*l.scale):l.fit?([o,n]=l.fit,i=o/n,a=s.width/s.height,a>i?(f=o,h=o/a):(h=n,f=n*a)):l.cover&&([o,n]=l.cover,i=o/n,a=s.width/s.height,a>i?(h=n,f=n*a):(f=o,h=o/a));return(l.fit||l.cover)&&("center"===l.align?e=e+o/2-f/2:"right"===l.align&&(e=e+o-f),"center"===l.valign?r=r+n/2-h/2:"bottom"===l.valign&&(r=r+n-h)),null!=l.link&&this.link(e,r,f,h,l.link),null!=l.goTo&&this.goTo(e,r,f,h,l.goTo),null!=l.destination&&this.addNamedDestination(l.destination,"XYZ",e,r,null),this.y===r&&(this.y+=h),this.save(),this.transform(f,0,0,-h,e,r+h),this.addContent(`/${s.label} Do`),this.restore(),this},openImage(t){let e;return"string"==typeof t&&(e=this._imageRegistry[t]),e||(e=Ut.open(t,"I"+ ++this._imageCount),"string"==typeof t&&(this._imageRegistry[t]=e)),e}},Gt={annotate(t,e,r,n,i){i.Type="Annot",i.Rect=this._convertRect(t,e,r,n),i.Border=[0,0,0],"Link"===i.Subtype&&void 0===i.F&&(i.F=4),"Link"!==i.Subtype&&null==i.C&&(i.C=this._normalizeColor(i.color||[0,0,0])),delete i.color,"string"==typeof i.Dest&&(i.Dest=new String(i.Dest));for(let t in i){const e=i[t];i[t[0].toUpperCase()+t.slice(1)]=e}const o=this.ref(i);return this.page.annotations.push(o),o.end(),this},note(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return o.Subtype="Text",o.Contents=new String(i),o.Name="Comment",null==o.color&&(o.color=[243,223,92]),this.annotate(t,e,r,n,o)},goTo(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return o.Subtype="Link",o.A=this.ref({S:"GoTo",D:new String(i)}),o.A.end(),this.annotate(t,e,r,n,o)},link(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(o.Subtype="Link","number"==typeof i){const t=this._root.data.Pages.data;if(!(i>=0&&i<t.Kids.length))throw new Error(`The document has no page ${i}`);o.A=this.ref({S:"GoTo",D:[t.Kids[i],"XYZ",null,null,null]}),o.A.end()}else o.A=this.ref({S:"URI",URI:new String(i)}),o.A.end();return this.annotate(t,e,r,n,o)},_markup(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const[o,s,a,c]=this._convertRect(t,e,r,n);return i.QuadPoints=[o,c,a,c,o,s,a,s],i.Contents=new String,this.annotate(t,e,r,n,i)},highlight(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return i.Subtype="Highlight",null==i.color&&(i.color=[241,238,148]),this._markup(t,e,r,n,i)},underline(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return i.Subtype="Underline",this._markup(t,e,r,n,i)},strike(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return i.Subtype="StrikeOut",this._markup(t,e,r,n,i)},lineAnnotation(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return i.Subtype="Line",i.Contents=new String,i.L=[t,this.page.height-e,r,this.page.height-n],this.annotate(t,e,r,n,i)},rectAnnotation(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return i.Subtype="Square",i.Contents=new String,this.annotate(t,e,r,n,i)},ellipseAnnotation(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return i.Subtype="Circle",i.Contents=new String,this.annotate(t,e,r,n,i)},textAnnotation(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return o.Subtype="FreeText",o.Contents=new String(i),o.DA=new String,this.annotate(t,e,r,n,o)},fileAnnotation(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=this.file(i.src,Object.assign({hidden:!0},i));return o.Subtype="FileAttachment",o.FS=s,o.Contents?o.Contents=new String(o.Contents):s.data.Desc&&(o.Contents=s.data.Desc),this.annotate(t,e,r,n,o)},_convertRect(t,e,r,n){let i=e;e+=n;let o=t+r;const[s,a,c,u,l,f]=this._ctm;return o=s*o+c*i+l,i=a*o+u*i+f,[t=s*t+c*e+l,e=a*t+u*e+f,o,i]}};class Vt{constructor(t,e,r,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{expanded:!1};this.document=t,this.options=i,this.outlineData={},null!==n&&(this.outlineData.Dest=[n.dictionary,"Fit"]),null!==e&&(this.outlineData.Parent=e),null!==r&&(this.outlineData.Title=new String(r)),this.dictionary=this.document.ref(this.outlineData),this.children=[]}addItem(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expanded:!1};const r=new Vt(this.document,this.dictionary,t,this.document.page,e);return this.children.push(r),r}endOutline(){if(this.children.length>0){this.options.expanded&&(this.outlineData.Count=this.children.length);const t=this.children[0],e=this.children[this.children.length-1];this.outlineData.First=t.dictionary,this.outlineData.Last=e.dictionary;for(let t=0,e=this.children.length;t<e;t++){const e=this.children[t];t>0&&(e.outlineData.Prev=this.children[t-1].dictionary),t<this.children.length-1&&(e.outlineData.Next=this.children[t+1].dictionary),e.endOutline()}}return this.dictionary.end()}}var Xt={initOutline(){return this.outline=new Vt(this,null,null,null)},endOutline(){if(this.outline.endOutline(),this.outline.children.length>0)return this._root.data.Outlines=this.outline.dictionary,this._root.data.PageMode="UseOutlines"}};function qt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ht(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Zt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ht(Object(r),!0).forEach((function(e){qt(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ht(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}class Kt{constructor(t,e){this.refs=[{pageRef:t,mcid:e}]}push(t){t.refs.forEach((t=>this.refs.push(t)))}}class Yt{constructor(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;this.document=t,this._attached=!1,this._ended=!1,this._flushed=!1,this.dictionary=t.ref({S:e});const i=this.dictionary.data;(Array.isArray(r)||this._isValidChild(r))&&(n=r,r={}),void 0!==r.title&&(i.T=new String(r.title)),void 0!==r.lang&&(i.Lang=new String(r.lang)),void 0!==r.alt&&(i.Alt=new String(r.alt)),void 0!==r.expanded&&(i.E=new String(r.expanded)),void 0!==r.actual&&(i.ActualText=new String(r.actual)),this._children=[],n&&(Array.isArray(n)||(n=[n]),n.forEach((t=>this.add(t))),this.end())}add(t){if(this._ended)throw new Error("Cannot add child to already-ended structure element");if(!this._isValidChild(t))throw new Error("Invalid structure element child");return t instanceof Yt&&(t.setParent(this.dictionary),this._attached&&t.setAttached()),t instanceof Kt&&this._addContentToParentTree(t),"function"==typeof t&&this._attached&&(t=this._contentForClosure(t)),this._children.push(t),this}_addContentToParentTree(t){t.refs.forEach((t=>{let{pageRef:e,mcid:r}=t;this.document.getStructParentTree().get(e.data.StructParents)[r]=this.dictionary}))}setParent(t){if(this.dictionary.data.P)throw new Error("Structure element added to more than one parent");this.dictionary.data.P=t,this._flush()}setAttached(){this._attached||(this._children.forEach(((t,e)=>{t instanceof Yt&&t.setAttached(),"function"==typeof t&&(this._children[e]=this._contentForClosure(t))})),this._attached=!0,this._flush())}end(){this._ended||(this._children.filter((t=>t instanceof Yt)).forEach((t=>t.end())),this._ended=!0,this._flush())}_isValidChild(t){return t instanceof Yt||t instanceof Kt||"function"==typeof t}_contentForClosure(t){const e=this.document.markStructureContent(this.dictionary.data.S);return t(),this.document.endMarkedContent(),this._addContentToParentTree(e),e}_isFlushable(){return!(!this.dictionary.data.P||!this._ended)&&this._children.every((t=>"function"!=typeof t&&(!(t instanceof Yt)||t._isFlushable())))}_flush(){!this._flushed&&this._isFlushable()&&(this.dictionary.data.K=[],this._children.forEach((t=>this._flushChild(t))),this.dictionary.end(),this._children=[],this.dictionary.data.K=null,this._flushed=!0)}_flushChild(t){t instanceof Yt&&this.dictionary.data.K.push(t.dictionary),t instanceof Kt&&t.refs.forEach((t=>{let{pageRef:e,mcid:r}=t;this.dictionary.data.Pg||(this.dictionary.data.Pg=e),this.dictionary.data.Pg===e?this.dictionary.data.K.push(r):this.dictionary.data.K.push({Type:"MCR",Pg:e,MCID:r})}))}}class Jt extends p{_compareKeys(t,e){return parseInt(t)-parseInt(e)}_keysName(){return"Nums"}_dataForKey(t){return parseInt(t)}}var Qt={initMarkings(t){this.structChildren=[],t.tagged&&(this.getMarkInfoDictionary().data.Marked=!0,this.getStructTreeRoot())},markContent(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("Artifact"===t||e&&e.mcid){let t=0;for(this.page.markings.forEach((e=>{(t||e.structContent||"Artifact"===e.tag)&&t++}));t--;)this.endMarkedContent()}if(!e)return this.page.markings.push({tag:t}),this.addContent(`/${t} BMC`),this;this.page.markings.push({tag:t,options:e});const r={};return void 0!==e.mcid&&(r.MCID=e.mcid),"Artifact"===t&&("string"==typeof e.type&&(r.Type=e.type),Array.isArray(e.bbox)&&(r.BBox=[e.bbox[0],this.page.height-e.bbox[3],e.bbox[2],this.page.height-e.bbox[1]]),Array.isArray(e.attached)&&e.attached.every((t=>"string"==typeof t))&&(r.Attached=e.attached)),"Span"===t&&(e.lang&&(r.Lang=new String(e.lang)),e.alt&&(r.Alt=new String(e.alt)),e.expanded&&(r.E=new String(e.expanded)),e.actual&&(r.ActualText=new String(e.actual))),this.addContent(`/${t} ${v.convert(r)} BDC`),this},markStructureContent(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.getStructParentTree().get(this.page.structParentTreeKey),n=r.length;r.push(null),this.markContent(t,Zt(Zt({},e),{},{mcid:n}));const i=new Kt(this.page.dictionary,n);return this.page.markings.slice(-1)[0].structContent=i,i},endMarkedContent(){return this.page.markings.pop(),this.addContent("EMC"),this},struct(t){return new Yt(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)},addStructure(t){const e=this.getStructTreeRoot();return t.setParent(e),t.setAttached(),this.structChildren.push(t),e.data.K||(e.data.K=[]),e.data.K.push(t.dictionary),this},initPageMarkings(t){t.forEach((t=>{if(t.structContent){const e=t.structContent,r=this.markStructureContent(t.tag,t.options);e.push(r),this.page.markings.slice(-1)[0].structContent=e}else this.markContent(t.tag,t.options)}))},endPageMarkings(t){const e=t.markings;return e.forEach((()=>t.write("EMC"))),t.markings=[],e},getMarkInfoDictionary(){return this._root.data.MarkInfo||(this._root.data.MarkInfo=this.ref({})),this._root.data.MarkInfo},getStructTreeRoot(){return this._root.data.StructTreeRoot||(this._root.data.StructTreeRoot=this.ref({Type:"StructTreeRoot",ParentTree:new Jt,ParentTreeNextKey:0})),this._root.data.StructTreeRoot},getStructParentTree(){return this.getStructTreeRoot().data.ParentTree},createStructParentTreeNextKey(){this.getMarkInfoDictionary();const t=this.getStructTreeRoot(),e=t.data.ParentTreeNextKey++;return t.data.ParentTree.add(e,[]),e},endMarkings(){const t=this._root.data.StructTreeRoot;t&&(t.end(),this.structChildren.forEach((t=>t.end()))),this._root.data.MarkInfo&&this._root.data.MarkInfo.end()}};const $t={readOnly:1,required:2,noExport:4,multiline:4096,password:8192,toggleToOffButton:16384,radioButton:32768,pushButton:65536,combo:131072,edit:262144,sort:524288,multiSelect:2097152,noSpell:4194304},te={left:0,center:1,right:2},ee={value:"V",defaultValue:"DV"},re={zip:"0",zipPlus4:"1",zip4:"1",phone:"2",ssn:"3"},ne={nDec:0,sepComma:!1,negStyle:"MinusBlack",currency:"",currencyPrepend:!0},ie={nDec:0,sepComma:!1};var oe={initForm(){if(!this._font)throw new Error("Must set a font before calling initForm method");this._acroform={fonts:{},defaultFont:this._font.name},this._acroform.fonts[this._font.id]=this._font.ref();let t={Fields:[],NeedAppearances:!0,DA:new String(`/${this._font.id} 0 Tf 0 g`),DR:{Font:{}}};t.DR.Font[this._font.id]=this._font.ref();const e=this.ref(t);return this._root.data.AcroForm=e,this},endAcroForm(){if(this._root.data.AcroForm){if(!Object.keys(this._acroform.fonts).length&&!this._acroform.defaultFont)throw new Error("No fonts specified for PDF form");let t=this._root.data.AcroForm.data.DR.Font;Object.keys(this._acroform.fonts).forEach((e=>{t[e]=this._acroform.fonts[e]})),this._root.data.AcroForm.data.Fields.forEach((t=>{this._endChild(t)})),this._root.data.AcroForm.end()}return this},_endChild(t){return Array.isArray(t.data.Kids)&&(t.data.Kids.forEach((t=>{this._endChild(t)})),t.end()),this},formField(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this._fieldDict(t,null,e),n=this.ref(r);return this._addToParent(n),n},formAnnotation(t,e,r,n,i,o){let s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},a=this._fieldDict(t,e,s);a.Subtype="Widget",void 0===a.F&&(a.F=4),this.annotate(r,n,i,o,a);let c=this.page.annotations[this.page.annotations.length-1];return this._addToParent(c)},formText(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(t,"text",e,r,n,i,o)},formPushButton(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(t,"pushButton",e,r,n,i,o)},formCombo(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(t,"combo",e,r,n,i,o)},formList(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(t,"list",e,r,n,i,o)},formRadioButton(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(t,"radioButton",e,r,n,i,o)},formCheckbox(t,e,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(t,"checkbox",e,r,n,i,o)},_addToParent(t){let e=t.data.Parent;return e?(e.data.Kids||(e.data.Kids=[]),e.data.Kids.push(t)):this._root.data.AcroForm.data.Fields.push(t),this},_fieldDict(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this._acroform)throw new Error("Call document.initForms() method before adding form elements to document");let n=Object.assign({},r);return null!==e&&(n=this._resolveType(e,r)),n=this._resolveFlags(n),n=this._resolveJustify(n),n=this._resolveFont(n),n=this._resolveStrings(n),n=this._resolveColors(n),n=this._resolveFormat(n),n.T=new String(t),n.parent&&(n.Parent=n.parent,delete n.parent),n},_resolveType(t,e){if("text"===t)e.FT="Tx";else if("pushButton"===t)e.FT="Btn",e.pushButton=!0;else if("radioButton"===t)e.FT="Btn",e.radioButton=!0;else if("checkbox"===t)e.FT="Btn";else if("combo"===t)e.FT="Ch",e.combo=!0;else{if("list"!==t)throw new Error(`Invalid form annotation type '${t}'`);e.FT="Ch"}return e},_resolveFormat(t){const e=t.format;if(e&&e.type){let r,n,i="";if(void 0!==re[e.type])r="AFSpecial_Keystroke",n="AFSpecial_Format",i=re[e.type];else{let t=e.type.charAt(0).toUpperCase()+e.type.slice(1);if(r=`AF${t}_Keystroke`,n=`AF${t}_Format`,"date"===e.type)r+="Ex",i=String(e.param);else if("time"===e.type)i=String(e.param);else if("number"===e.type){let t=Object.assign({},ne,e);i=String([String(t.nDec),t.sepComma?"0":"1",'"'+t.negStyle+'"',"null",'"'+t.currency+'"',String(t.currencyPrepend)].join(","))}else if("percent"===e.type){let t=Object.assign({},ie,e);i=String([String(t.nDec),t.sepComma?"0":"1"].join(","))}}t.AA=t.AA?t.AA:{},t.AA.K={S:"JavaScript",JS:new String(`${r}(${i});`)},t.AA.F={S:"JavaScript",JS:new String(`${n}(${i});`)}}return delete t.format,t},_resolveColors(t){let e=this._normalizeColor(t.backgroundColor);return e&&(t.MK||(t.MK={}),t.MK.BG=e),e=this._normalizeColor(t.borderColor),e&&(t.MK||(t.MK={}),t.MK.BC=e),delete t.backgroundColor,delete t.borderColor,t},_resolveFlags(t){let e=0;return Object.keys(t).forEach((r=>{$t[r]&&(e|=$t[r],delete t[r])})),0!==e&&(t.Ff=t.Ff?t.Ff:0,t.Ff|=e),t},_resolveJustify(t){let e=0;return void 0!==t.align&&("number"==typeof te[t.align]&&(e=te[t.align]),delete t.align),0!==e&&(t.Q=e),t},_resolveFont(t){if(null===this._acroform.fonts[this._font.id]&&(this._acroform.fonts[this._font.id]=this._font.ref()),this._acroform.defaultFont!==this._font.name){t.DR={Font:{}};const e=t.fontSize||0;t.DR.Font[this._font.id]=this._font.ref(),t.DA=new String(`/${this._font.id} ${e} Tf 0 g`)}return t},_resolveStrings(t){let e=[];function r(t){if(Array.isArray(t))for(let r=0;r<t.length;r++)"string"==typeof t[r]?e.push(new String(t[r])):e.push(t[r])}return r(t.Opt),t.select&&(r(t.select),delete t.select),e.length&&(t.Opt=e),Object.keys(ee).forEach((e=>{void 0!==t[e]&&(t[ee[e]]=t[e],delete t[e])})),["V","DV"].forEach((e=>{"string"==typeof t[e]&&(t[e]=new String(t[e]))})),t.MK&&t.MK.CA&&(t.MK.CA=new String(t.MK.CA)),t.label&&(t.MK=t.MK?t.MK:{},t.MK.CA=new String(t.label),delete t.label),t}},se={file(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.name=e.name||t;const r={Type:"EmbeddedFile",Params:{}};let n;if(!t)throw new Error("No src specified");if(i.isBuffer(t))n=t;else if(t instanceof ArrayBuffer)n=i.from(new Uint8Array(t));else{let e;if(e=/^data:(.*);base64,(.*)$/.exec(t))e[1]&&(r.Subtype=e[1].replace("/","#2F")),n=i.from(e[2],"base64");else{if(n=s.readFileSync(t),!n)throw new Error(`Could not read contents of file at filepath ${t}`);const{birthtime:e,ctime:i}=s.statSync(t);r.Params.CreationDate=e,r.Params.ModDate=i}}e.creationDate instanceof Date&&(r.Params.CreationDate=e.creationDate),e.modifiedDate instanceof Date&&(r.Params.ModDate=e.modifiedDate),e.type&&(r.Subtype=e.type.replace("/","#2F"));const o=c.MD5(c.lib.WordArray.create(new Uint8Array(n)));let a;r.Params.CheckSum=new String(o),r.Params.Size=n.byteLength,this._fileRegistry||(this._fileRegistry={});let u=this._fileRegistry[e.name];var l,f;u&&(f=u,(l=r).Subtype===f.Subtype&&l.Params.CheckSum.toString()===f.Params.CheckSum.toString()&&l.Params.Size===f.Params.Size&&l.Params.CreationDate===f.Params.CreationDate&&l.Params.ModDate===f.Params.ModDate)?a=u.ref:(a=this.ref(r),a.end(n),this._fileRegistry[e.name]=Zt(Zt({},r),{},{ref:a}));const h={Type:"Filespec",F:new String(e.name),EF:{F:a},UF:new String(e.name)};e.description&&(h.Desc=new String(e.description));const d=this.ref(h);return d.end(),e.hidden||this.addNamedEmbeddedFile(e.name,d),d}};var ae={initPDFA(t){"-"===t.charAt(t.length-3)?(this.subset_conformance=t.charAt(t.length-1).toUpperCase(),this.subset=parseInt(t.charAt(t.length-2))):(this.subset_conformance="B",this.subset=parseInt(t.charAt(t.length-1)))},endSubset(){this._addPdfaMetadata();const t=`${n}/data/sRGB_IEC61966_2_1.icc`,e=`${n}/../color_profiles/sRGB_IEC61966_2_1.icc`;this._addColorOutputIntent(s.existsSync(t)?t:e)},_addColorOutputIntent(t){const e=s.readFileSync(t),r=this.ref({Length:e.length,N:3});r.write(e),r.end();const n=this.ref({Type:"OutputIntent",S:"GTS_PDFA1",Info:new String("sRGB IEC61966-2.1"),OutputConditionIdentifier:new String("sRGB IEC61966-2.1"),DestOutputProfile:r});n.end(),this._root.data.OutputIntents=[n]},_getPdfaid(){return`\n        <rdf:Description xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/" rdf:about="">\n            <pdfaid:part>${this.subset}</pdfaid:part>\n            <pdfaid:conformance>${this.subset_conformance}</pdfaid:conformance>\n        </rdf:Description>\n        `},_addPdfaMetadata(){this.appendXML(this._getPdfaid())}},ce={_importSubset(t){Object.assign(this,t)},initSubset(t){switch(t.subset){case"PDF/A-1":case"PDF/A-1a":case"PDF/A-1b":case"PDF/A-2":case"PDF/A-2a":case"PDF/A-2b":case"PDF/A-3":case"PDF/A-3a":case"PDF/A-3b":this._importSubset(ae),this.initPDFA(t.subset)}}};class ue{constructor(){this._metadata='\n        <?xpacket begin="\ufeff" id="W5M0MpCehiHzreSzNTczkc9d"?>\n            <x:xmpmeta xmlns:x="adobe:ns:meta/">\n                <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n        '}_closeTags(){this._metadata=this._metadata.concat('\n                </rdf:RDF>\n            </x:xmpmeta>\n        <?xpacket end="w"?>\n        ')}append(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._metadata=this._metadata.concat(t),e&&(this._metadata=this._metadata.concat("\n"))}getXML(){return this._metadata}getLength(){return this._metadata.length}end(){this._closeTags(),this._metadata=this._metadata.trim()}}var le={initMetadata(){this.metadata=new ue},appendXML(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.metadata.append(t,e)},_addInfo(){this.appendXML(`\n        <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/">\n            <xmp:CreateDate>${this.info.CreationDate.toISOString().split(".")[0]+"Z"}</xmp:CreateDate>\n            <xmp:CreatorTool>${this.info.Creator}</xmp:CreatorTool>\n        </rdf:Description>\n        `),(this.info.Title||this.info.Author||this.info.Subject)&&(this.appendXML('\n            <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/">\n            '),this.info.Title&&this.appendXML(`\n                <dc:title>\n                    <rdf:Alt>\n                        <rdf:li xml:lang="x-default">${this.info.Title}</rdf:li>\n                    </rdf:Alt>\n                </dc:title>\n                `),this.info.Author&&this.appendXML(`\n                <dc:creator>\n                    <rdf:Seq>\n                        <rdf:li>${this.info.Author}</rdf:li>\n                    </rdf:Seq>\n                </dc:creator>\n                `),this.info.Subject&&this.appendXML(`\n                <dc:description>\n                    <rdf:Alt>\n                        <rdf:li xml:lang="x-default">${this.info.Subject}</rdf:li>\n                    </rdf:Alt>\n                </dc:description>\n                `),this.appendXML("\n            </rdf:Description>\n            ")),this.appendXML(`\n        <rdf:Description rdf:about="" xmlns:pdf="http://ns.adobe.com/pdf/1.3/">\n            <pdf:Producer>${this.info.Creator}</pdf:Producer>`,!1),this.info.Keywords&&this.appendXML(`\n            <pdf:Keywords>${this.info.Keywords}</pdf:Keywords>`,!1),this.appendXML("\n        </rdf:Description>\n        ")},endMetadata(){this._addInfo(),this.metadata.end(),1.3!=this.version&&(this.metadataRef=this.ref({length:this.metadata.getLength(),Type:"Metadata",Subtype:"XML"}),this.metadataRef.compress=!1,this.metadataRef.write(i.from(this.metadata.getXML(),"utf-8")),this.metadataRef.end(),this._root.data.Metadata=this.metadataRef)}};class fe extends o.Readable{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(super(t),this.options=t,t.pdfVersion){case"1.4":this.version=1.4;break;case"1.5":this.version=1.5;break;case"1.6":this.version=1.6;break;case"1.7":case"1.7ext3":this.version=1.7;break;default:this.version=1.3}this.compress=null==this.options.compress||this.options.compress,this._pageBuffer=[],this._pageBufferStart=0,this._offsets=[],this._waiting=0,this._ended=!1,this._offset=0;const e=this.ref({Type:"Pages",Count:0,Kids:[]}),r=this.ref({Dests:new _});if(this._root=this.ref({Type:"Catalog",Pages:e,Names:r}),this.options.lang&&(this._root.data.Lang=new String(this.options.lang)),this.page=null,this.initMetadata(),this.initColor(),this.initVector(),this.initFonts(t.font),this.initText(),this.initImages(),this.initOutline(),this.initMarkings(t),this.initSubset(t),this.info={Producer:"PDFKit",Creator:"PDFKit",CreationDate:new Date},this.options.info)for(let t in this.options.info){const e=this.options.info[t];this.info[t]=e}this.options.displayTitle&&(this._root.data.ViewerPreferences=this.ref({DisplayDocTitle:!0})),this._id=G.generateFileID(this.info),this._security=G.create(this,t),this._write(`%PDF-${this.version}`),this._write("%ÿÿÿÿ"),!1!==this.options.autoFirstPage&&this.addPage()}addPage(t){null==t&&({options:t}=this),this.options.bufferPages||this.flushPages(),this.page=new x(this,t),this._pageBuffer.push(this.page);const e=this._root.data.Pages.data;return e.Kids.push(this.page.dictionary),e.Count++,this.x=this.page.margins.left,this.y=this.page.margins.top,this._ctm=[1,0,0,1,0,0],this.transform(1,0,0,-1,0,this.page.height),this.emit("pageAdded"),this}continueOnNewPage(t){const e=this.endPageMarkings(this.page);return this.addPage(t),this.initPageMarkings(e),this}bufferedPageRange(){return{start:this._pageBufferStart,count:this._pageBuffer.length}}switchToPage(t){let e;if(!(e=this._pageBuffer[t-this._pageBufferStart]))throw new Error(`switchToPage(${t}) out of bounds, current buffer covers pages ${this._pageBufferStart} to ${this._pageBufferStart+this._pageBuffer.length-1}`);return this.page=e}flushPages(){const t=this._pageBuffer;this._pageBuffer=[],this._pageBufferStart+=t.length;for(let e of t)this.endPageMarkings(e),e.end()}addNamedDestination(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];0===r.length&&(r=["XYZ",null,null,null]),"XYZ"===r[0]&&null!==r[2]&&(r[2]=this.page.height-r[2]),r.unshift(this.page.dictionary),this._root.data.Names.data.Dests.add(t,r)}addNamedEmbeddedFile(t,e){this._root.data.Names.data.EmbeddedFiles||(this._root.data.Names.data.EmbeddedFiles=new _({limits:!1})),this._root.data.Names.data.EmbeddedFiles.add(t,e)}addNamedJavaScript(t,e){this._root.data.Names.data.JavaScript||(this._root.data.Names.data.JavaScript=new _);let r={JS:new String(e),S:"JavaScript"};this._root.data.Names.data.JavaScript.add(t,r)}ref(t){const e=new m(this,this._offsets.length+1,t);return this._offsets.push(null),this._waiting++,e}_read(){}_write(t){return i.isBuffer(t)||(t=i.from(t+"\n","binary")),this.push(t),this._offset+=t.length}addContent(t){return this.page.write(t),this}_refEnd(t){if(this._offsets[t.id-1]=t.offset,0==--this._waiting&&this._ended)return this._finalize(),this._ended=!1}write(t,e){const r=new Error("PDFDocument#write is deprecated, and will be removed in a future version of PDFKit. Please pipe the document into a Node stream.");return console.warn(r.stack),this.pipe(s.createWriteStream(t)),this.end(),this.once("end",e)}end(){this.flushPages(),this._info=this.ref();for(let t in this.info){let e=this.info[t];"string"==typeof e&&(e=new String(e));let r=this.ref(e);r.end(),this._info.data[t]=r}this._info.end();for(let t in this._fontFamilies){this._fontFamilies[t].finalize()}return this.endOutline(),this.endMarkings(),this.subset&&this.endSubset(),this.endMetadata(),this._root.end(),this._root.data.Pages.end(),this._root.data.Names.end(),this.endAcroForm(),this._root.data.ViewerPreferences&&this._root.data.ViewerPreferences.end(),this._security&&this._security.end(),0===this._waiting?this._finalize():this._ended=!0}_finalize(){const t=this._offset;this._write("xref"),this._write(`0 ${this._offsets.length+1}`),this._write("0000000000 65535 f ");for(let t of this._offsets)t=`0000000000${t}`.slice(-10),this._write(t+" 00000 n ");const e={Size:this._offsets.length+1,Root:this._root,Info:this._info,ID:[this._id,this._id]};return this._security&&(e.Encrypt=this._security.dictionary),this._write("trailer"),this._write(v.convert(e)),this._write("startxref"),this._write(`${t}`),this._write("%%EOF"),this.push(null)}toString(){return"[object PDFDocument]"}}const he=t=>{Object.assign(fe.prototype,t)};he(le),he(at),he(_t),he(Rt),he(Ft),he(Wt),he(Gt),he(Xt),he(Qt),he(oe),he(se),he(ce),fe.LineWrapper=Mt,t.exports=fe},82871:function(t,e,r){"use strict";var n=r(17173).Buffer;function i(t){return 0===t.indexOf("/")&&(t=t.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),t}var o=new(function(){function t(){this.fileData={}}var e=t.prototype;return e.readFileSync=function(t,e){void 0===e&&(e={});var r="string"==typeof e?e:e.encoding,o=i(t),s=this.fileData[o];if(null==s)throw new Error("File '"+o+"' not found in virtual file system");return r?"string"==typeof s?s:s.toString(r):n.from(s,"string"==typeof s?"base64":void 0)},e.writeFileSync=function(t,e){this.fileData[i(t)]=e},e.bindFileData=function(t,e){void 0===t&&(t={}),void 0===e&&(e={}),e.reset?this.fileData=t:Object.assign(this.fileData,t)},t}());t.exports=o},94121:function(t,e,r){var n=r(17173).Buffer;const i=r(82871),o=r(76582);t.exports=class t{static decode(e,r){return i.readFile(e,(function(e,n){return new t(n).decode((t=>r(t)))}))}static load(e){const r=i.readFileSync(e);return new t(r)}constructor(t){let e;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.text={};;){const t=this.readUInt32();let c="";for(e=0;e<4;e++)c+=String.fromCharCode(this.data[this.pos++]);switch(c){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"PLTE":this.palette=this.read(t);break;case"IDAT":for(e=0;e<t;e++)this.imgData.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:this.transparency.indexed=this.read(t);var r=255-this.transparency.indexed.length;if(r>0)for(e=0;e<r;e++)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(t)[0];break;case 2:this.transparency.rgb=this.read(t)}break;case"tEXt":var i=this.read(t),o=i.indexOf(0),s=String.fromCharCode.apply(String,i.slice(0,o));this.text[s]=String.fromCharCode.apply(String,i.slice(o+1));break;case"IEND":switch(this.colorType){case 0:case 3:case 4:this.colors=1;break;case 2:case 6:this.colors=3}this.hasAlphaChannel=[4,6].includes(this.colorType);var a=this.colors+(this.hasAlphaChannel?1:0);switch(this.pixelBitlength=this.bits*a,this.colors){case 1:this.colorSpace="DeviceGray";break;case 3:this.colorSpace="DeviceRGB"}return void(this.imgData=new n(this.imgData));default:this.pos+=t}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}read(t){const e=new Array(t);for(let r=0;r<t;r++)e[r]=this.data[this.pos++];return e}readUInt32(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]}readUInt16(){return this.data[this.pos++]<<8|this.data[this.pos++]}decodePixels(t){return o.inflate(this.imgData,((e,r)=>{if(e)throw e;const{width:i,height:o}=this,s=this.pixelBitlength/8,a=new n(i*o*s),{length:c}=r;let u=0;function l(t,e,l,f){let h=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const d=Math.ceil((i-t)/l),p=Math.ceil((o-e)/f),g=s*d,y=h?a:new n(g*p);let b=0,v=0;for(;b<p&&u<c;){var m,w,S,x,_;switch(r[u++]){case 0:for(S=0;S<g;S++)y[v++]=r[u++];break;case 1:for(S=0;S<g;S++)m=r[u++],x=S<s?0:y[v-s],y[v++]=(m+x)%256;break;case 2:for(S=0;S<g;S++)m=r[u++],w=(S-S%s)/s,_=b&&y[(b-1)*g+w*s+S%s],y[v++]=(_+m)%256;break;case 3:for(S=0;S<g;S++)m=r[u++],w=(S-S%s)/s,x=S<s?0:y[v-s],_=b&&y[(b-1)*g+w*s+S%s],y[v++]=(m+Math.floor((x+_)/2))%256;break;case 4:for(S=0;S<g;S++){var A,C;m=r[u++],w=(S-S%s)/s,x=S<s?0:y[v-s],0===b?_=C=0:(_=y[(b-1)*g+w*s+S%s],C=w&&y[(b-1)*g+(w-1)*s+S%s]);const t=x+_-C,e=Math.abs(t-x),n=Math.abs(t-_),i=Math.abs(t-C);A=e<=n&&e<=i?x:n<=i?_:C,y[v++]=(m+A)%256}break;default:throw new Error(`Invalid filter algorithm: ${r[u-1]}`)}if(!h){let r=((e+b*f)*i+t)*s,n=b*g;for(S=0;S<d;S++){for(let t=0;t<s;t++)a[r++]=y[n++];r+=(l-1)*s}}b++}}return 1===this.interlaceMethod?(l(0,0,8,8),l(4,0,8,8),l(0,4,4,8),l(2,0,4,4),l(0,2,2,4),l(1,0,2,2),l(0,1,1,2)):l(0,0,1,1,!0),t(a)}))}decodePalette(){const{palette:t}=this,{length:e}=t,r=this.transparency.indexed||[],i=new n(r.length+e);let o=0,s=0;for(let n=0;n<e;n+=3){var a;i[o++]=t[n],i[o++]=t[n+1],i[o++]=t[n+2],i[o++]=null!=(a=r[s++])?a:255}return i}copyToImageData(t,e){let r,n,{colors:i}=this,o=null,s=this.hasAlphaChannel;this.palette.length&&(o=this._decodedPalette||(this._decodedPalette=this.decodePalette()),i=4,s=!0);const a=t.data||t,{length:c}=a,u=o||e;let l=r=0;if(1===i)for(;l<c;){n=o?4*e[l/4]:r;const t=u[n++];a[l++]=t,a[l++]=t,a[l++]=t,a[l++]=s?u[n++]:255,r=n}else for(;l<c;)n=o?4*e[l/4]:r,a[l++]=u[n++],a[l++]=u[n++],a[l++]=u[n++],a[l++]=s?u[n++]:255,r=n}decode(t){const e=new n(this.width*this.height*4);return this.decodePixels((r=>(this.copyToImageData(e,r),t(e))))}}},96456:function(t){var e,r,n=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var a,c=[],u=!1,l=-1;function f(){u&&a&&(u=!1,a.length?c=a.concat(c):l=-1,c.length&&h())}function h(){if(!u){var t=s(f);u=!0;for(var e=c.length;e;){for(a=c,c=[];++l<e;)a&&a[l].run();l=-1,e=c.length}a=null,u=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{return r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function p(){}n.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new d(t,e)),1!==c.length||u||s(h)},d.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=p,n.addListener=p,n.once=p,n.off=p,n.removeListener=p,n.removeAllListeners=p,n.emit=p,n.prependListener=p,n.prependOnceListener=p,n.listeners=function(t){return[]},n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},22104:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,o,s,a;if("string"==typeof e&&(o="not ",e.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))a="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var c=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";a='The "'.concat(t,'" ').concat(c," ").concat(i," ").concat(n(e,"type"))}return a+=". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},98999:function(t,e,r){"use strict";var n=r(96456),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=l;var o=r(16175),s=r(50004);r(16796)(l,o);for(var a=i(s.prototype),c=0;c<a.length;c++){var u=a[c];l.prototype[u]||(l.prototype[u]=s.prototype[u])}function l(t){if(!(this instanceof l))return new l(t);o.call(this,t),s.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",f)))}function f(){this._writableState.ended||n.nextTick(h,this)}function h(t){t.end()}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(l.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(l.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(l.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}})},36750:function(t,e,r){"use strict";t.exports=i;var n=r(92094);function i(t){if(!(this instanceof i))return new i(t);n.call(this,t)}r(16796)(i,n),i.prototype._transform=function(t,e,r){r(null,t)}},16175:function(t,e,r){"use strict";var n,i=r(96456);t.exports=C,C.ReadableState=A;r(80090).EventEmitter;var o=function(t,e){return t.listeners(e).length},s=r(68986),a=r(17173).Buffer,c=(void 0!==r.g?r.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var u,l=r(82880);u=l&&l.debuglog?l.debuglog("stream"):function(){};var f,h,d,p=r(13394),g=r(69127),y=r(93313).getHighWaterMark,b=r(22104).q,v=b.ERR_INVALID_ARG_TYPE,m=b.ERR_STREAM_PUSH_AFTER_EOF,w=b.ERR_METHOD_NOT_IMPLEMENTED,S=b.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(16796)(C,s);var x=g.errorOrDestroy,_=["error","close","destroy","pause","resume"];function A(t,e,i){n=n||r(98999),t=t||{},"boolean"!=typeof i&&(i=e instanceof n),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=y(this,t,"readableHighWaterMark",i),this.buffer=new p,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(f||(f=r(26267).s),this.decoder=new f(t.encoding),this.encoding=t.encoding)}function C(t){if(n=n||r(98999),!(this instanceof C))return new C(t);var e=this instanceof n;this._readableState=new A(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),s.call(this)}function k(t,e,r,n,i){u("readableAddChunk",e);var o,s=t._readableState;if(null===e)s.reading=!1,function(t,e){if(u("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?B(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,I(t)))}(t,s);else if(i||(o=function(t,e){var r;n=e,a.isBuffer(n)||n instanceof c||"string"==typeof e||void 0===e||t.objectMode||(r=new v("chunk",["string","Buffer","Uint8Array"],e));var n;return r}(s,e)),o)x(t,o);else if(s.objectMode||e&&e.length>0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===a.prototype||(e=function(t){return a.from(t)}(e)),n)s.endEmitted?x(t,new S):E(t,s,e,!0);else if(s.ended)x(t,new m);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?E(t,s,e,!1):T(t,s)):E(t,s,e,!1)}else n||(s.reading=!1,T(t,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function E(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&B(t)),T(t,e)}Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),C.prototype.destroy=g.destroy,C.prototype._undestroy=g.undestroy,C.prototype._destroy=function(t,e){e(t)},C.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=a.from(t,e),e=""),r=!0),k(this,t,e,!1,r)},C.prototype.unshift=function(t){return k(this,t,null,!0,!1)},C.prototype.isPaused=function(){return!1===this._readableState.flowing},C.prototype.setEncoding=function(t){f||(f=r(26267).s);var e=new f(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i="";null!==n;)i+=e.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var P=1073741824;function O(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=P?t=P:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function B(t){var e=t._readableState;u("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(u("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(I,t))}function I(t){var e=t._readableState;u("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,N(t)}function T(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(R,t,e))}function R(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(u("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function M(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function D(t){u("readable nexttick read 0"),t.read(0)}function F(t,e){u("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),N(t),e.flowing&&!e.reading&&t.read(0)}function N(t){var e=t._readableState;for(u("flow",e.flowing);e.flowing&&null!==t.read(););}function L(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function j(t){var e=t._readableState;u("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(z,e,t))}function z(t,e){if(u("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}C.prototype.read=function(t){u("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return u("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?j(this):B(this),null;if(0===(t=O(t,e))&&e.ended)return 0===e.length&&j(this),null;var n,i=e.needReadable;return u("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&u("length less than watermark",i=!0),e.ended||e.reading?u("reading or ended",i=!1):i&&(u("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=O(r,e))),null===(n=t>0?L(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&j(this)),null!==n&&this.emit("data",n),n},C.prototype._read=function(t){x(this,new w("_read()"))},C.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,u("pipe count=%d opts=%j",n.pipesCount,e);var s=(!e||!1!==e.end)&&t!==i.stdout&&t!==i.stderr?c:y;function a(e,i){u("onunpipe"),e===r&&i&&!1===i.hasUnpiped&&(i.hasUnpiped=!0,u("cleanup"),t.removeListener("close",p),t.removeListener("finish",g),t.removeListener("drain",l),t.removeListener("error",d),t.removeListener("unpipe",a),r.removeListener("end",c),r.removeListener("end",y),r.removeListener("data",h),f=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||l())}function c(){u("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",a);var l=function(t){return function(){var e=t._readableState;u("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,N(t))}}(r);t.on("drain",l);var f=!1;function h(e){u("ondata");var i=t.write(e);u("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!f&&(u("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function d(e){u("onerror",e),y(),t.removeListener("error",d),0===o(t,"error")&&x(t,e)}function p(){t.removeListener("finish",g),y()}function g(){u("onfinish"),t.removeListener("close",p),y()}function y(){u("unpipe"),r.unpipe(t)}return r.on("data",h),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",d),t.once("close",p),t.once("finish",g),t.emit("pipe",r),n.flowing||(u("pipe resume"),r.resume()),t},C.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<i;o++)n[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=U(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},C.prototype.on=function(t,e){var r=s.prototype.on.call(this,t,e),n=this._readableState;return"data"===t?(n.readableListening=this.listenerCount("readable")>0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,u("on readable",n.length,n.reading),n.length?B(this):n.reading||i.nextTick(D,this))),r},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(M,this),r},C.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(M,this),e},C.prototype.resume=function(){var t=this._readableState;return t.flowing||(u("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(F,t,e))}(this,t)),t.paused=!1,this},C.prototype.pause=function(){return u("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(u("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(u("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){(u("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i)||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<_.length;o++)t.on(_[o],this.emit.bind(this,_[o]));return this._read=function(e){u("wrapped _read",e),n&&(n=!1,t.resume())},this},"function"==typeof Symbol&&(C.prototype[Symbol.asyncIterator]=function(){return void 0===h&&(h=r(97042)),h(this)}),Object.defineProperty(C.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(C.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(C.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),C._fromList=L,Object.defineProperty(C.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(C.from=function(t,e){return void 0===d&&(d=r(45274)),d(C,t,e)})},92094:function(t,e,r){"use strict";t.exports=l;var n=r(22104).q,i=n.ERR_METHOD_NOT_IMPLEMENTED,o=n.ERR_MULTIPLE_CALLBACK,s=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=n.ERR_TRANSFORM_WITH_LENGTH_0,c=r(98999);function u(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new o);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function l(t){if(!(this instanceof l))return new l(t);c.call(this,t),this._transformState={afterTransform:u.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",f)}function f(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?h(this,null,null):this._flush((function(e,r){h(t,e,r)}))}function h(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new a;if(t._transformState.transforming)throw new s;return t.push(null)}r(16796)(l,c),l.prototype.push=function(t,e){return this._transformState.needTransform=!1,c.prototype.push.call(this,t,e)},l.prototype._transform=function(t,e,r){r(new i("_transform()"))},l.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},l.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},l.prototype._destroy=function(t,e){c.prototype._destroy.call(this,t,(function(t){e(t)}))}},50004:function(t,e,r){"use strict";var n,i=r(96456);function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;t.entry=null;for(;n;){var i=n.callback;e.pendingcb--,i(r),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=C,C.WritableState=A;var s={deprecate:r(43976)},a=r(68986),c=r(17173).Buffer,u=(void 0!==r.g?r.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var l,f=r(69127),h=r(93313).getHighWaterMark,d=r(22104).q,p=d.ERR_INVALID_ARG_TYPE,g=d.ERR_METHOD_NOT_IMPLEMENTED,y=d.ERR_MULTIPLE_CALLBACK,b=d.ERR_STREAM_CANNOT_PIPE,v=d.ERR_STREAM_DESTROYED,m=d.ERR_STREAM_NULL_VALUES,w=d.ERR_STREAM_WRITE_AFTER_END,S=d.ERR_UNKNOWN_ENCODING,x=f.errorOrDestroy;function _(){}function A(t,e,s){n=n||r(98999),t=t||{},"boolean"!=typeof s&&(s=e instanceof n),this.objectMode=!!t.objectMode,s&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h(this,t,"writableHighWaterMark",s),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,o=r.writecb;if("function"!=typeof o)throw new y;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,o){--e.pendingcb,r?(i.nextTick(o,n),i.nextTick(I,t,e),t._writableState.errorEmitted=!0,x(t,n)):(o(n),t._writableState.errorEmitted=!0,x(t,n),I(t,e))}(t,r,n,e,o);else{var s=O(r)||t.destroyed;s||r.corked||r.bufferProcessing||!r.bufferedRequest||P(t,r),n?i.nextTick(E,t,r,s,o):E(t,r,s,o)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function C(t){var e=this instanceof(n=n||r(98999));if(!e&&!l.call(C,this))return new C(t);this._writableState=new A(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),a.call(this)}function k(t,e,r,n,i,o,s){e.writelen=n,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new v("write")):r?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function E(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),I(t,e)}function P(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),s=e.corkedRequestsFree;s.entry=r;for(var a=0,c=!0;r;)i[a]=r,r.isBuf||(c=!1),r=r.next,a+=1;i.allBuffers=c,k(t,e,!0,e.length,i,"",s.finish),e.pendingcb++,e.lastBufferedRequest=null,s.next?(e.corkedRequestsFree=s.next,s.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,l=r.encoding,f=r.callback;if(k(t,e,!1,e.objectMode?1:u.length,u,l,f),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function O(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function B(t,e){t._final((function(r){e.pendingcb--,r&&x(t,r),e.prefinished=!0,t.emit("prefinish"),I(t,e)}))}function I(t,e){var r=O(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(B,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return r}r(16796)(C,a),A.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(A.prototype,"buffer",{get:s.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(l=Function.prototype[Symbol.hasInstance],Object.defineProperty(C,Symbol.hasInstance,{value:function(t){return!!l.call(this,t)||this===C&&(t&&t._writableState instanceof A)}})):l=function(t){return t instanceof this},C.prototype.pipe=function(){x(this,new b)},C.prototype.write=function(t,e,r){var n,o=this._writableState,s=!1,a=!o.objectMode&&(n=t,c.isBuffer(n)||n instanceof u);return a&&!c.isBuffer(t)&&(t=function(t){return c.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof r&&(r=_),o.ending?function(t,e){var r=new w;x(t,r),i.nextTick(e,r)}(this,r):(a||function(t,e,r,n){var o;return null===r?o=new m:"string"==typeof r||e.objectMode||(o=new p("chunk",["string","Buffer"],r)),!o||(x(t,o),i.nextTick(n,o),!1)}(this,o,t,r))&&(o.pendingcb++,s=function(t,e,r,n,i,o){if(!r){var s=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=c.from(e,r));return e}(e,n,i);n!==s&&(r=!0,i="buffer",n=s)}var a=e.objectMode?1:n.length;e.length+=a;var u=e.length<e.highWaterMark;u||(e.needDrain=!0);if(e.writing||e.corked){var l=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:o,next:null},l?l.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else k(t,e,!1,a,n,i,o);return u}(this,o,a,t,e,r)),s},C.prototype.cork=function(){this._writableState.corked++},C.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||P(this,t))},C.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new S(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(t,e,r){r(new g("_write()"))},C.prototype._writev=null,C.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,I(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),C.prototype.destroy=f.destroy,C.prototype._undestroy=f.undestroy,C.prototype._destroy=function(t,e){e(t)}},97042:function(t,e,r){"use strict";var n,i=r(96456);function o(t,e,r){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var s=r(51745),a=Symbol("lastResolve"),c=Symbol("lastReject"),u=Symbol("error"),l=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),d=Symbol("stream");function p(t,e){return{value:t,done:e}}function g(t){var e=t[a];if(null!==e){var r=t[d].read();null!==r&&(t[f]=null,t[a]=null,t[c]=null,e(p(r,!1)))}}function y(t){i.nextTick(g,t)}var b=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((o(n={get stream(){return this[d]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[l])return Promise.resolve(p(void 0,!0));if(this[d].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(p(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[l]?r(p(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var o=this[d].read();if(null!==o)return Promise.resolve(p(o,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),o(n,"return",(function(){var t=this;return new Promise((function(e,r){t[d].destroy(null,(function(t){t?r(t):e(p(void 0,!0))}))}))})),n),b);t.exports=function(t){var e,r=Object.create(v,(o(e={},d,{value:t,writable:!0}),o(e,a,{value:null,writable:!0}),o(e,c,{value:null,writable:!0}),o(e,u,{value:null,writable:!0}),o(e,l,{value:t._readableState.endEmitted,writable:!0}),o(e,h,{value:function(t,e){var n=r[d].read();n?(r[f]=null,r[a]=null,r[c]=null,t(p(n,!1))):(r[a]=t,r[c]=e)},writable:!0}),e));return r[f]=null,s(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[c];return null!==e&&(r[f]=null,r[a]=null,r[c]=null,e(t)),void(r[u]=t)}var n=r[a];null!==n&&(r[f]=null,r[a]=null,r[c]=null,n(p(void 0,!0))),r[l]=!0})),t.on("readable",y.bind(null,r)),r}},13394:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(Object(r),!0).forEach((function(e){o(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function o(t,e,r){return(e=a(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,a(n.key),n)}}function a(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}var c=r(17173).Buffer,u=r(87942).inspect,l=u&&u.custom||"inspect";t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r,n;return e=t,r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return c.alloc(0);for(var e,r,n,i=c.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,r=i,n=s,c.prototype.copy.call(e,r,n),s+=o.data.length,o=o.next;return i}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,n=e.data;for(t-=n.length;e=e.next;){var i=e.data,o=t>i.length?i.length:t;if(o===i.length?n+=i:n+=i.slice(0,t),0==(t-=o)){o===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=c.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(o));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return u(this,i(i({},e),{},{depth:0,customInspect:!1}))}}],r&&s(e.prototype,r),n&&s(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t}()},69127:function(t,e,r){"use strict";var n=r(96456);function i(t,e){s(t,e),o(t)}function o(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function s(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,a=this._readableState&&this._readableState.destroyed,c=this._writableState&&this._writableState.destroyed;return a||c?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(s,this,t)):n.nextTick(s,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?n.nextTick(o,r):(r._writableState.errorEmitted=!0,n.nextTick(i,r,t)):n.nextTick(i,r,t):e?(n.nextTick(o,r),e(t)):n.nextTick(o,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}}},51745:function(t,e,r){"use strict";var n=r(22104).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,o){if("function"==typeof r)return t(e,null,r);r||(r={}),o=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];t.apply(this,n)}}}(o||i);var s=r.readable||!1!==r.readable&&e.readable,a=r.writable||!1!==r.writable&&e.writable,c=function(){e.writable||l()},u=e._writableState&&e._writableState.finished,l=function(){a=!1,u=!0,s||o.call(e)},f=e._readableState&&e._readableState.endEmitted,h=function(){s=!1,f=!0,a||o.call(e)},d=function(t){o.call(e,t)},p=function(){var t;return s&&!f?(e._readableState&&e._readableState.ended||(t=new n),o.call(e,t)):a&&!u?(e._writableState&&e._writableState.ended||(t=new n),o.call(e,t)):void 0},g=function(){e.req.on("finish",l)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(e)?a&&!e._writableState&&(e.on("end",c),e.on("close",c)):(e.on("complete",l),e.on("abort",p),e.req?g():e.on("request",g)),e.on("end",h),e.on("finish",l),!1!==r.error&&e.on("error",d),e.on("close",p),function(){e.removeListener("complete",l),e.removeListener("abort",p),e.removeListener("request",g),e.req&&e.req.removeListener("finish",l),e.removeListener("end",c),e.removeListener("close",c),e.removeListener("finish",l),e.removeListener("end",h),e.removeListener("error",d),e.removeListener("close",p)}}},45274:function(t){t.exports=function(){throw new Error("Readable.from is not available in the browser")}},69269:function(t,e,r){"use strict";var n;var i=r(22104).q,o=i.ERR_MISSING_ARGS,s=i.ERR_STREAM_DESTROYED;function a(t){if(t)throw t}function c(t){t()}function u(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var l,f=function(t){return t.length?"function"!=typeof t[t.length-1]?a:t.pop():a}(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new o("streams");var h=e.map((function(t,i){var o=i<e.length-1;return function(t,e,i,o){o=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(o);var a=!1;t.on("close",(function(){a=!0})),void 0===n&&(n=r(51745)),n(t,{readable:e,writable:i},(function(t){if(t)return o(t);a=!0,o()}));var c=!1;return function(e){if(!a&&!c)return c=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void o(e||new s("pipe"))}}(t,o,i>0,(function(t){l||(l=t),t&&h.forEach(c),o||(h.forEach(c),f(l))}))}));return e.reduce(u)}},93313:function(t,e,r){"use strict";var n=r(22104).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var o=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new n(i?r:"highWaterMark",o);return Math.floor(o)}return t.objectMode?16:16384}}},68986:function(t,e,r){t.exports=r(80090).EventEmitter},50442:function(t,e,r){"use strict";var n=r(79008),i=Object,o=TypeError;t.exports=n((function(){if(null!=this&&this!==i(this))throw new o("RegExp.prototype.flags getter called on non-object");var t="";return this.hasIndices&&(t+="d"),this.global&&(t+="g"),this.ignoreCase&&(t+="i"),this.multiline&&(t+="m"),this.dotAll&&(t+="s"),this.unicode&&(t+="u"),this.unicodeSets&&(t+="v"),this.sticky&&(t+="y"),t}),"get flags",!0)},89521:function(t,e,r){"use strict";var n=r(71396),i=r(60541),o=r(50442),s=r(81218),a=r(28631),c=i(s());n(c,{getPolyfill:s,implementation:o,shim:a}),t.exports=c},81218:function(t,e,r){"use strict";var n=r(50442),i=r(71396).supportsDescriptors,o=Object.getOwnPropertyDescriptor;t.exports=function(){if(i&&"gim"===/a/gim.flags){var t=o(RegExp.prototype,"flags");if(t&&"function"==typeof t.get&&"boolean"==typeof RegExp.prototype.dotAll&&"boolean"==typeof RegExp.prototype.hasIndices){var e="",r={};if(Object.defineProperty(r,"hasIndices",{get:function(){e+="d"}}),Object.defineProperty(r,"sticky",{get:function(){e+="y"}}),"dy"===e)return t.get}}return n}},28631:function(t,e,r){"use strict";var n=r(71396).supportsDescriptors,i=r(81218),o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,a=TypeError,c=Object.getPrototypeOf,u=/a/;t.exports=function(){if(!n||!c)throw new a("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var t=i(),e=c(u),r=o(e,"flags");return r&&r.get===t||s(e,"flags",{configurable:!0,enumerable:!1,get:t}),t}},40870:function(t,e,r){e.EncodeStream=r(22e3),e.DecodeStream=r(67263),e.Array=r(70651),e.LazyArray=r(63359),e.Bitfield=r(74613),e.Boolean=r(24419),e.Buffer=r(25271),e.Enum=r(64154),e.Optional=r(23019),e.Reserved=r(60955),e.String=r(73633),e.Struct=r(61934),e.VersionedStruct=r(46514);const n=r(79858),i=r(36808),o=r(49733);Object.assign(e,n,i,o)},70651:function(t,e,r){const{Number:n}=r(36808),i=r(79858);t.exports=class{constructor(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"count";this.type=t,this.length=e,this.lengthType=r}decode(t,e){let r;const{pos:o}=t,s=[];let a=e;if(null!=this.length&&(r=i.resolveLength(this.length,t,e)),this.length instanceof n&&(Object.defineProperties(s,{parent:{value:e},_startOffset:{value:o},_currentOffset:{value:0,writable:!0},_length:{value:r}}),a=s),null==r||"bytes"===this.lengthType){const n=null!=r?t.pos+r:(null!=e?e._length:void 0)?e._startOffset+e._length:t.length;for(;t.pos<n;)s.push(this.type.decode(t,a))}else for(let e=0,n=r;e<n;e++)s.push(this.type.decode(t,a));return s}size(t,e){if(!t)return this.type.size(null,e)*i.resolveLength(this.length,null,e);let r=0;this.length instanceof n&&(r+=this.length.size(),e={parent:e});for(let n of t)r+=this.type.size(n,e);return r}encode(t,e,r){let i=r;this.length instanceof n&&(i={pointers:[],startOffset:t.pos,parent:r},i.pointerOffset=t.pos+this.size(e,i),this.length.encode(t,e.length));for(let r of e)this.type.encode(t,r,i);if(this.length instanceof n){let e=0;for(;e<i.pointers.length;){const r=i.pointers[e++];r.type.encode(t,r.val)}}}}},74613:function(t){t.exports=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.type=t,this.flags=e}decode(t){const e=this.type.decode(t),r={};for(let t=0;t<this.flags.length;t++){const n=this.flags[t];null!=n&&(r[n]=!!(e&1<<t))}return r}size(){return this.type.size()}encode(t,e){let r=0;for(let t=0;t<this.flags.length;t++){const n=this.flags[t];null!=n&&e[n]&&(r|=1<<t)}return this.type.encode(t,r)}}},24419:function(t){t.exports=class{constructor(t){this.type=t}decode(t,e){return!!this.type.decode(t,e)}size(t,e){return this.type.size(t,e)}encode(t,e,r){return this.type.encode(t,+e,r)}}},25271:function(t,e,r){const n=r(79858),{Number:i}=r(36808);t.exports=class{constructor(t){this.length=t}decode(t,e){const r=n.resolveLength(this.length,t,e);return t.readBuffer(r)}size(t,e){return t?t.length:n.resolveLength(this.length,null,e)}encode(t,e,r){return this.length instanceof i&&this.length.encode(t,e.length),t.writeBuffer(e)}}},67263:function(t,e,r){var n=r(17173).Buffer;let i;try{i=r(88674)}catch(t){}class o{constructor(t){this.buffer=t,this.pos=0,this.length=this.buffer.length}readString(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ascii";switch(e){case"utf16le":case"ucs2":case"utf8":case"ascii":return this.buffer.toString(e,this.pos,this.pos+=t);case"utf16be":var r=n.from(this.readBuffer(t));for(let t=0,e=r.length-1;t<e;t+=2){const e=r[t];r[t]=r[t+1],r[t+1]=e}return r.toString("utf16le");default:if(r=this.readBuffer(t),i)try{return i.decode(r,e)}catch(t){}return r}}readBuffer(t){return this.buffer.slice(this.pos,this.pos+=t)}readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()}readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)}readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()}readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)}}o.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};for(let t in n.prototype)if("read"===t.slice(0,4)){const e=o.TYPES[t.replace(/read|[BL]E/g,"")];o.prototype[t]=function(){const r=this.buffer[t](this.pos);return this.pos+=e,r}}t.exports=o},22e3:function(t,e,r){var n=r(17173).Buffer;let i;const o=r(2776),s=r(67263);try{i=r(88674)}catch(t){}class a extends o.Readable{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:65536;super(...arguments),this.buffer=n.alloc(t),this.bufferOffset=0,this.pos=0}_read(){}ensure(t){if(this.bufferOffset+t>this.buffer.length)return this.flush()}flush(){if(this.bufferOffset>0)return this.push(n.from(this.buffer.slice(0,this.bufferOffset))),this.bufferOffset=0}writeBuffer(t){return this.flush(),this.push(t),this.pos+=t.length}writeString(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ascii";switch(e){case"utf16le":case"ucs2":case"utf8":case"ascii":return this.writeBuffer(n.from(t,e));case"utf16be":var r=n.from(t,"utf16le");for(let t=0,e=r.length-1;t<e;t+=2){const e=r[t];r[t]=r[t+1],r[t+1]=e}return this.writeBuffer(r);default:if(i)return this.writeBuffer(i.encode(t,e));throw new Error("Install iconv-lite to enable additional string encodings.")}}writeUInt24BE(t){return this.ensure(3),this.buffer[this.bufferOffset++]=t>>>16&255,this.buffer[this.bufferOffset++]=t>>>8&255,this.buffer[this.bufferOffset++]=255&t,this.pos+=3}writeUInt24LE(t){return this.ensure(3),this.buffer[this.bufferOffset++]=255&t,this.buffer[this.bufferOffset++]=t>>>8&255,this.buffer[this.bufferOffset++]=t>>>16&255,this.pos+=3}writeInt24BE(t){return t>=0?this.writeUInt24BE(t):this.writeUInt24BE(t+16777215+1)}writeInt24LE(t){return t>=0?this.writeUInt24LE(t):this.writeUInt24LE(t+16777215+1)}fill(t,e){if(e<this.buffer.length)return this.ensure(e),this.buffer.fill(t,this.bufferOffset,this.bufferOffset+e),this.bufferOffset+=e,this.pos+=e;{const r=n.alloc(e);return r.fill(t),this.writeBuffer(r)}}end(){return this.flush(),this.push(null)}}for(let t in n.prototype)if("write"===t.slice(0,5)){const e=+s.TYPES[t.replace(/write|[BL]E/g,"")];a.prototype[t]=function(r){return this.ensure(e),this.buffer[t](r,this.bufferOffset),this.bufferOffset+=e,this.pos+=e}}t.exports=a},64154:function(t){t.exports=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.type=t,this.options=e}decode(t){const e=this.type.decode(t);return this.options[e]||e}size(){return this.type.size()}encode(t,e){const r=this.options.indexOf(e);if(-1===r)throw new Error(`Unknown option in enum: ${e}`);return this.type.encode(t,r)}}},63359:function(t,e,r){const n=r(70651),{Number:i}=r(36808),o=r(79858),{inspect:s}=r(42781);class a{constructor(t,e,r,n){this.type=t,this.length=e,this.stream=r,this.ctx=n,this.base=this.stream.pos,this.items=[]}get(t){if(!(t<0||t>=this.length)){if(null==this.items[t]){const{pos:e}=this.stream;this.stream.pos=this.base+this.type.size(null,this.ctx)*t,this.items[t]=this.type.decode(this.stream,this.ctx),this.stream.pos=e}return this.items[t]}}toArray(){const t=[];for(let e=0,r=this.length;e<r;e++)t.push(this.get(e));return t}inspect(){return s(this.toArray())}}t.exports=class extends n{decode(t,e){const{pos:r}=t,n=o.resolveLength(this.length,t,e);this.length instanceof i&&(e={parent:e,_startOffset:r,_currentOffset:0,_length:n});const s=new a(this.type,n,t,e);return t.pos+=n*this.type.size(null,e),s}size(t,e){return t instanceof a&&(t=t.toArray()),super.size(t,e)}encode(t,e,r){return e instanceof a&&(e=e.toArray()),super.encode(t,e,r)}}},36808:function(t,e,r){const n=r(67263);class i{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"BE";this.type=t,this.endian=e,this.fn=this.type,"8"!==this.type[this.type.length-1]&&(this.fn+=this.endian)}size(){return n.TYPES[this.type]}decode(t){return t[`read${this.fn}`]()}encode(t,e){return t[`write${this.fn}`](e)}}e.Number=i,e.uint8=new i("UInt8"),e.uint16be=e.uint16=new i("UInt16","BE"),e.uint16le=new i("UInt16","LE"),e.uint24be=e.uint24=new i("UInt24","BE"),e.uint24le=new i("UInt24","LE"),e.uint32be=e.uint32=new i("UInt32","BE"),e.uint32le=new i("UInt32","LE"),e.int8=new i("Int8"),e.int16be=e.int16=new i("Int16","BE"),e.int16le=new i("Int16","LE"),e.int24be=e.int24=new i("Int24","BE"),e.int24le=new i("Int24","LE"),e.int32be=e.int32=new i("Int32","BE"),e.int32le=new i("Int32","LE"),e.floatbe=e.float=new i("Float","BE"),e.floatle=new i("Float","LE"),e.doublebe=e.double=new i("Double","BE"),e.doublele=new i("Double","LE");class o extends i{constructor(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t>>1;super(`Int${t}`,e),this._point=1<<r}decode(t){return super.decode(t)/this._point}encode(t,e){return super.encode(t,e*this._point|0)}}e.Fixed=o,e.fixed16be=e.fixed16=new o(16,"BE"),e.fixed16le=new o(16,"LE"),e.fixed32be=e.fixed32=new o(32,"BE"),e.fixed32le=new o(32,"LE")},23019:function(t){t.exports=class{constructor(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.type=t,this.condition=e}decode(t,e){let{condition:r}=this;if("function"==typeof r&&(r=r.call(e,e)),r)return this.type.decode(t,e)}size(t,e){let{condition:r}=this;return"function"==typeof r&&(r=r.call(e,e)),r?this.type.size(t,e):0}encode(t,e,r){let{condition:n}=this;if("function"==typeof n&&(n=n.call(r,r)),n)return this.type.encode(t,e,r)}}},49733:function(t,e,r){const n=r(79858);class i{constructor(t,e){this.type=t,this.value=e}}e.Pointer=class{constructor(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.offsetType=t,this.type=e,this.options=r,"void"===this.type&&(this.type=null),null==this.options.type&&(this.options.type="local"),null==this.options.allowNull&&(this.options.allowNull=!0),null==this.options.nullValue&&(this.options.nullValue=0),null==this.options.lazy&&(this.options.lazy=!1),this.options.relativeTo){if("function"!=typeof this.options.relativeTo)throw new Error("relativeTo option must be a function");this.relativeToGetter=r.relativeTo}}decode(t,e){const r=this.offsetType.decode(t,e);if(r===this.options.nullValue&&this.options.allowNull)return null;let i;switch(this.options.type){case"local":i=e._startOffset;break;case"immediate":i=t.pos-this.offsetType.size();break;case"parent":i=e.parent._startOffset;break;default:for(var o=e;o.parent;)o=o.parent;i=o._startOffset||0}this.options.relativeTo&&(i+=this.relativeToGetter(e));const s=r+i;if(null!=this.type){let r=null;const i=()=>{if(null!=r)return r;const{pos:n}=t;return t.pos=s,r=this.type.decode(t,e),t.pos=n,r};return this.options.lazy?new n.PropertyDescriptor({get:i}):i()}return s}size(t,e){const r=e;switch(this.options.type){case"local":case"immediate":break;case"parent":e=e.parent;break;default:for(;e.parent;)e=e.parent}let{type:n}=this;if(null==n){if(!(t instanceof i))throw new Error("Must be a VoidPointer");({type:n}=t),t=t.value}return t&&e&&(e.pointerSize+=n.size(t,r)),this.offsetType.size()}encode(t,e,r){let n;const o=r;if(null==e)return void this.offsetType.encode(t,this.options.nullValue);switch(this.options.type){case"local":n=r.startOffset;break;case"immediate":n=t.pos+this.offsetType.size(e,o);break;case"parent":n=(r=r.parent).startOffset;break;default:for(n=0;r.parent;)r=r.parent}this.options.relativeTo&&(n+=this.relativeToGetter(o.val)),this.offsetType.encode(t,r.pointerOffset-n);let{type:s}=this;if(null==s){if(!(e instanceof i))throw new Error("Must be a VoidPointer");({type:s}=e),e=e.value}return r.pointers.push({type:s,val:e,parent:o}),r.pointerOffset+=s.size(e,o)}},e.VoidPointer=i},60955:function(t,e,r){const n=r(79858);t.exports=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.type=t,this.count=e}decode(t,e){t.pos+=this.size(null,e)}size(t,e){const r=n.resolveLength(this.count,null,e);return this.type.size()*r}encode(t,e,r){return t.fill(0,this.size(e,r))}}},73633:function(t,e,r){var n=r(17173).Buffer;const{Number:i}=r(36808),o=r(79858);t.exports=class{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ascii";this.length=t,this.encoding=e}decode(t,e){let r,n;if(null!=this.length)r=o.resolveLength(this.length,t,e);else{let e;for(({buffer:e,length:r,pos:n}=t);n<r&&0!==e[n];)++n;r=n-t.pos}let{encoding:i}=this;"function"==typeof i&&(i=i.call(e,e)||"ascii");const s=t.readString(r,i);return null==this.length&&t.pos<t.length&&t.pos++,s}size(t,e){if(!t)return o.resolveLength(this.length,null,e);let{encoding:r}=this;"function"==typeof r&&(r=r.call(null!=e?e.val:void 0,null!=e?e.val:void 0)||"ascii"),"utf16be"===r&&(r="utf16le");let s=n.byteLength(t,r);return this.length instanceof i&&(s+=this.length.size()),null==this.length&&s++,s}encode(t,e,r){let{encoding:o}=this;if("function"==typeof o&&(o=o.call(null!=r?r.val:void 0,null!=r?r.val:void 0)||"ascii"),this.length instanceof i&&this.length.encode(t,n.byteLength(e,o)),t.writeString(e,o),null==this.length)return t.writeUInt8(0)}}},61934:function(t,e,r){const n=r(79858);t.exports=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.fields=t}decode(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n=this._setup(t,e,r);return this._parseFields(t,n,this.fields),null!=this.process&&this.process.call(n,t),n}_setup(t,e,r){const n={};return Object.defineProperties(n,{parent:{value:e},_startOffset:{value:t.pos},_currentOffset:{value:0,writable:!0},_length:{value:r}}),n}_parseFields(t,e,r){for(let o in r){var i;const s=r[o];void 0!==(i="function"==typeof s?s.call(e,e):s.decode(t,e))&&(i instanceof n.PropertyDescriptor?Object.defineProperty(e,o,i):e[o]=i),e._currentOffset=t.pos-e._startOffset}}size(t,e,r){null==t&&(t={}),null==r&&(r=!0);const n={parent:e,val:t,pointerSize:0};let i=0;for(let e in this.fields){const r=this.fields[e];null!=r.size&&(i+=r.size(t[e],n))}return r&&(i+=n.pointerSize),i}encode(t,e,r){let n;null!=this.preEncode&&this.preEncode.call(e,t);const i={pointers:[],startOffset:t.pos,parent:r,val:e,pointerSize:0};i.pointerOffset=t.pos+this.size(e,i,!1);for(let r in this.fields)n=this.fields[r],null!=n.encode&&n.encode(t,e[r],i);let o=0;for(;o<i.pointers.length;){const e=i.pointers[o++];e.type.encode(t,e.val,e.parent)}}}},46514:function(t,e,r){const n=r(61934);class i extends n{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.type=t,this.versions=e,"string"==typeof t&&(this.versionPath=t.split("."))}decode(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n=this._setup(t,e,r);var o;"string"==typeof this.type?n.version=(o=e,this.versionPath.reduce(((t,e)=>t&&t[e]),o)):n.version=this.type.decode(t),this.versions.header&&this._parseFields(t,n,this.versions.header);const s=this.versions[n.version];if(null==s)throw new Error(`Unknown version ${n.version}`);return s instanceof i?s.decode(t,e):(this._parseFields(t,n,s),null!=this.process&&this.process.call(n,t),n)}size(t,e){let r,n,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t)throw new Error("Not a fixed size");const o={parent:e,val:t,pointerSize:0};let s=0;if("string"!=typeof this.type&&(s+=this.type.size(t.version,o)),this.versions.header)for(r in this.versions.header)n=this.versions.header[r],null!=n.size&&(s+=n.size(t[r],o));const a=this.versions[t.version];if(null==a)throw new Error(`Unknown version ${t.version}`);for(r in a)n=a[r],null!=n.size&&(s+=n.size(t[r],o));return i&&(s+=o.pointerSize),s}encode(t,e,r){let n,i;null!=this.preEncode&&this.preEncode.call(e,t);const o={pointers:[],startOffset:t.pos,parent:r,val:e,pointerSize:0};if(o.pointerOffset=t.pos+this.size(e,o,!1),"string"!=typeof this.type&&this.type.encode(t,e.version),this.versions.header)for(n in this.versions.header)i=this.versions.header[n],null!=i.encode&&i.encode(t,e[n],o);const s=this.versions[e.version];for(n in s)i=s[n],null!=i.encode&&i.encode(t,e[n],o);let a=0;for(;a<o.pointers.length;){const e=o.pointers[a++];e.type.encode(t,e.val,e.parent)}}}t.exports=i},79858:function(t,e,r){const{Number:n}=r(36808);e.resolveLength=function(t,e,r){let i;if("number"==typeof t?i=t:"function"==typeof t?i=t.call(r,r):r&&"string"==typeof t?i=r[t]:e&&t instanceof n&&(i=t.decode(e)),isNaN(i))throw new Error("Not a fixed size");return i};e.PropertyDescriptor=class{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.enumerable=!0,this.configurable=!0;for(let e in t){const r=t[e];this[e]=r}}}},89270:function(t,e,r){var n=r(17173),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function s(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=s),o(i,s),s.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},s.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},50187:function(t,e,r){var n=r(17173),i=n.Buffer;function o(t,e){for(var r in t)e[r]=t[r]}function s(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(o(n,e),e.Buffer=s),s.prototype=Object.create(i.prototype),o(i,s),s.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},s.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},s.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},s.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},99623:function(t,e,r){"use strict";var n,i=r(96456),o=r(17173),s=o.Buffer,a={};for(n in o)o.hasOwnProperty(n)&&"SlowBuffer"!==n&&"Buffer"!==n&&(a[n]=o[n]);var c=a.Buffer={};for(n in s)s.hasOwnProperty(n)&&"allocUnsafe"!==n&&"allocUnsafeSlow"!==n&&(c[n]=s[n]);if(a.Buffer.prototype=s.prototype,c.from&&c.from!==Uint8Array.from||(c.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return s(t,e,r)}),c.alloc||(c.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var n=s(t);return e&&0!==e.length?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n}),!a.kStringMaxLength)try{a.kStringMaxLength=i.binding("buffer").kStringMaxLength}catch(t){}a.constants||(a.constants={MAX_LENGTH:a.kMaxLength},a.kStringMaxLength&&(a.constants.MAX_STRING_LENGTH=a.kStringMaxLength)),t.exports=a},11990:function(t,e,r){"use strict";var n=r(15329),i=r(68906),o=r(9665)(),s=r(83565),a=n("%TypeError%"),c=n("%Math.floor%");t.exports=function(t,e){if("function"!=typeof t)throw new a("`fn` is not a function");if("number"!=typeof e||e<0||e>4294967295||c(e)!==e)throw new a("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in t&&s){var l=s(t,"length");l&&!l.configurable&&(n=!1),l&&!l.writable&&(u=!1)}return(n||u||!r)&&(o?i(t,"length",e,!0,!0):i(t,"length",e)),t}},79008:function(t,e,r){"use strict";var n=r(68906),i=r(9665)(),o=r(96140).functionsHaveConfigurableNames(),s=TypeError;t.exports=function(t,e){if("function"!=typeof t)throw new s("`fn` is not a function");return arguments.length>2&&!!arguments[2]&&!o||(i?n(t,"name",e,!0,!0):n(t,"name",e)),t}},40185:function(t,e,r){"use strict";var n=r(15329),i=r(93385),o=r(11056),s=n("%TypeError%"),a=n("%WeakMap%",!0),c=n("%Map%",!0),u=i("WeakMap.prototype.get",!0),l=i("WeakMap.prototype.set",!0),f=i("WeakMap.prototype.has",!0),h=i("Map.prototype.get",!0),d=i("Map.prototype.set",!0),p=i("Map.prototype.has",!0),g=function(t,e){for(var r,n=t;null!==(r=n.next);n=r)if(r.key===e)return n.next=r.next,r.next=t.next,t.next=r,r};t.exports=function(){var t,e,r,n={assert:function(t){if(!n.has(t))throw new s("Side channel does not contain "+o(t))},get:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(t)return u(t,n)}else if(c){if(e)return h(e,n)}else if(r)return function(t,e){var r=g(t,e);return r&&r.value}(r,n)},has:function(n){if(a&&n&&("object"==typeof n||"function"==typeof n)){if(t)return f(t,n)}else if(c){if(e)return p(e,n)}else if(r)return function(t,e){return!!g(t,e)}(r,n);return!1},set:function(n,i){a&&n&&("object"==typeof n||"function"==typeof n)?(t||(t=new a),l(t,n,i)):c?(e||(e=new c),d(e,n,i)):(r||(r={key:{},next:null}),function(t,e,r){var n=g(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}}(r,n,i))}};return n}},86320:function(t,e,r){"use strict";var n=r(8775),i=SyntaxError,o="object"==typeof StopIteration?StopIteration:null;t.exports=function(t){if(!o)throw new i("this environment lacks StopIteration");n.set(t,"[[Done]]",!1);var e={next:function(){var t=n.get(this,"[[Iterator]]"),e=n.get(t,"[[Done]]");try{return{done:e,value:e?void 0:t.next()}}catch(e){if(n.set(t,"[[Done]]",!0),e!==o)throw e;return{done:!0,value:void 0}}}};return n.set(e,"[[Iterator]]",t),e}},2776:function(t,e,r){t.exports=i;var n=r(80090).EventEmitter;function i(){n.call(this)}r(16796)(i,n),i.Readable=r(16175),i.Writable=r(50004),i.Duplex=r(98999),i.Transform=r(92094),i.PassThrough=r(36750),i.finished=r(51745),i.pipeline=r(69269),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function o(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",o),t._isStdio||e&&!1===e.end||(r.on("end",a),r.on("close",c));var s=!1;function a(){s||(s=!0,t.end())}function c(){s||(s=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(l(),0===n.listenerCount(this,"error"))throw t}function l(){r.removeListener("data",i),t.removeListener("drain",o),r.removeListener("end",a),r.removeListener("close",c),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",l),r.removeListener("close",l),t.removeListener("close",l)}return r.on("error",u),t.on("error",u),r.on("end",l),r.on("close",l),t.on("close",l),t.emit("pipe",r),t}},91521:function(t,e,r){"use strict";var n=r(89270).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=c,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=l,this.end=f,e=3;break;default:return this.write=h,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function l(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.s=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=s(e[n]);if(i>=0)return i>0&&(t.lastNeed=i-1),i;if(--n<r||-2===i)return 0;if(i=s(e[n]),i>=0)return i>0&&(t.lastNeed=i-2),i;if(--n<r||-2===i)return 0;if(i=s(e[n]),i>=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},26267:function(t,e,r){"use strict";var n=r(50187).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=c,this.end=u,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=l,this.end=f,e=3;break;default:return this.write=h,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function l(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.s=o,o.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},o.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},o.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=s(e[n]);if(i>=0)return i>0&&(t.lastNeed=i-1),i;if(--n<r||-2===i)return 0;if(i=s(e[n]),i>=0)return i>0&&(t.lastNeed=i-2),i;if(--n<r||-2===i)return 0;if(i=s(e[n]),i>=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},65341:function(t){var e=0,r=-3;function n(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function i(t,e){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new n,this.dtree=new n}var o=new n,s=new n,a=new Uint8Array(30),c=new Uint16Array(30),u=new Uint8Array(30),l=new Uint16Array(30),f=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),h=new n,d=new Uint8Array(320);function p(t,e,r,n){var i,o;for(i=0;i<r;++i)t[i]=0;for(i=0;i<30-r;++i)t[i+r]=i/r|0;for(o=n,i=0;i<30;++i)e[i]=o,o+=1<<t[i]}var g=new Uint16Array(16);function y(t,e,r,n){var i,o;for(i=0;i<16;++i)t.table[i]=0;for(i=0;i<n;++i)t.table[e[r+i]]++;for(t.table[0]=0,o=0,i=0;i<16;++i)g[i]=o,o+=t.table[i];for(i=0;i<n;++i)e[r+i]&&(t.trans[g[e[r+i]]++]=i)}function b(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var e=1&t.tag;return t.tag>>>=1,e}function v(t,e,r){if(!e)return r;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var n=t.tag&65535>>>16-e;return t.tag>>>=e,t.bitcount-=e,n+r}function m(t,e){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var r=0,n=0,i=0,o=t.tag;do{n=2*n+(1&o),o>>>=1,++i,r+=e.table[i],n-=e.table[i]}while(n>=0);return t.tag=o,t.bitcount-=i,e.trans[r+n]}function w(t,e,r){var n,i,o,s,a,c;for(n=v(t,5,257),i=v(t,5,1),o=v(t,4,4),s=0;s<19;++s)d[s]=0;for(s=0;s<o;++s){var u=v(t,3,0);d[f[s]]=u}for(y(h,d,0,19),a=0;a<n+i;){var l=m(t,h);switch(l){case 16:var p=d[a-1];for(c=v(t,2,3);c;--c)d[a++]=p;break;case 17:for(c=v(t,3,3);c;--c)d[a++]=0;break;case 18:for(c=v(t,7,11);c;--c)d[a++]=0;break;default:d[a++]=l}}y(e,d,0,n),y(r,d,n,i)}function S(t,r,n){for(;;){var i,o,s,f,h=m(t,r);if(256===h)return e;if(h<256)t.dest[t.destLen++]=h;else for(i=v(t,a[h-=257],c[h]),o=m(t,n),f=s=t.destLen-v(t,u[o],l[o]);f<s+i;++f)t.dest[t.destLen++]=t.dest[f]}}function x(t){for(var n,i;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if((n=256*(n=t.source[t.sourceIndex+1])+t.source[t.sourceIndex])!==(65535&~(256*t.source[t.sourceIndex+3]+t.source[t.sourceIndex+2])))return r;for(t.sourceIndex+=4,i=n;i;--i)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,e}!function(t,e){var r;for(r=0;r<7;++r)t.table[r]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,r=0;r<24;++r)t.trans[r]=256+r;for(r=0;r<144;++r)t.trans[24+r]=r;for(r=0;r<8;++r)t.trans[168+r]=280+r;for(r=0;r<112;++r)t.trans[176+r]=144+r;for(r=0;r<5;++r)e.table[r]=0;for(e.table[5]=32,r=0;r<32;++r)e.trans[r]=r}(o,s),p(a,c,4,3),p(u,l,2,1),a[28]=0,c[28]=258,t.exports=function(t,n){var a,c,u=new i(t,n);do{switch(a=b(u),v(u,2,0)){case 0:c=x(u);break;case 1:c=S(u,o,s);break;case 2:w(u,u.ltree,u.dtree),c=S(u,u.ltree,u.dtree);break;default:c=r}if(c!==e)throw new Error("Data error")}while(!a);return u.destLen<u.dest.length?"function"==typeof u.dest.slice?u.dest.slice(0,u.destLen):u.dest.subarray(0,u.destLen):u.dest}},48134:function(t,e,r){const n=r(65341),{swap32LE:i}=r(94550);t.exports=class{constructor(t){const e="function"==typeof t.readUInt32BE&&"function"==typeof t.slice;if(e||t instanceof Uint8Array){let r;if(e)this.highStart=t.readUInt32LE(0),this.errorValue=t.readUInt32LE(4),r=t.readUInt32LE(8),t=t.slice(12);else{const e=new DataView(t.buffer);this.highStart=e.getUint32(0,!0),this.errorValue=e.getUint32(4,!0),r=e.getUint32(8,!0),t=t.subarray(12)}t=n(t,new Uint8Array(r)),t=n(t,new Uint8Array(r)),i(t),this.data=new Uint32Array(t.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=t)}get(t){let e;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(e=(this.data[t>>5]<<2)+(31&t),this.data[e]):t<=65535?(e=(this.data[2048+(t-55296>>5)]<<2)+(31&t),this.data[e]):t<this.highStart?(e=this.data[2080+(t>>11)],e=this.data[e+(t>>5&63)],e=(e<<2)+(31&t),this.data[e]):this.data[this.data.length-4]}}},94550:function(t){const e=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],r=(t,e,r)=>{let n=t[e];t[e]=t[r],t[r]=n};t.exports={swap32LE:t=>{e&&(t=>{const e=t.length;for(let n=0;n<e;n+=4)r(t,n,n+3),r(t,n+1,n+2)})(t)}}},43976:function(t,e,r){function n(t){try{if(!r.g.localStorage)return!1}catch(t){return!1}var e=r.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}},1013:function(t){t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},52562:function(t,e,r){"use strict";var n=r(6996),i=r(24278),o=r(98549),s=r(78422);function a(t){return t.call.bind(t)}var c="undefined"!=typeof BigInt,u="undefined"!=typeof Symbol,l=a(Object.prototype.toString),f=a(Number.prototype.valueOf),h=a(String.prototype.valueOf),d=a(Boolean.prototype.valueOf);if(c)var p=a(BigInt.prototype.valueOf);if(u)var g=a(Symbol.prototype.valueOf);function y(t,e){if("object"!=typeof t)return!1;try{return e(t),!0}catch(t){return!1}}function b(t){return"[object Map]"===l(t)}function v(t){return"[object Set]"===l(t)}function m(t){return"[object WeakMap]"===l(t)}function w(t){return"[object WeakSet]"===l(t)}function S(t){return"[object ArrayBuffer]"===l(t)}function x(t){return"undefined"!=typeof ArrayBuffer&&(S.working?S(t):t instanceof ArrayBuffer)}function _(t){return"[object DataView]"===l(t)}function A(t){return"undefined"!=typeof DataView&&(_.working?_(t):t instanceof DataView)}e.isArgumentsObject=n,e.isGeneratorFunction=i,e.isTypedArray=s,e.isPromise=function(t){return"undefined"!=typeof Promise&&t instanceof Promise||null!==t&&"object"==typeof t&&"function"==typeof t.then&&"function"==typeof t.catch},e.isArrayBufferView=function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):s(t)||A(t)},e.isUint8Array=function(t){return"Uint8Array"===o(t)},e.isUint8ClampedArray=function(t){return"Uint8ClampedArray"===o(t)},e.isUint16Array=function(t){return"Uint16Array"===o(t)},e.isUint32Array=function(t){return"Uint32Array"===o(t)},e.isInt8Array=function(t){return"Int8Array"===o(t)},e.isInt16Array=function(t){return"Int16Array"===o(t)},e.isInt32Array=function(t){return"Int32Array"===o(t)},e.isFloat32Array=function(t){return"Float32Array"===o(t)},e.isFloat64Array=function(t){return"Float64Array"===o(t)},e.isBigInt64Array=function(t){return"BigInt64Array"===o(t)},e.isBigUint64Array=function(t){return"BigUint64Array"===o(t)},b.working="undefined"!=typeof Map&&b(new Map),e.isMap=function(t){return"undefined"!=typeof Map&&(b.working?b(t):t instanceof Map)},v.working="undefined"!=typeof Set&&v(new Set),e.isSet=function(t){return"undefined"!=typeof Set&&(v.working?v(t):t instanceof Set)},m.working="undefined"!=typeof WeakMap&&m(new WeakMap),e.isWeakMap=function(t){return"undefined"!=typeof WeakMap&&(m.working?m(t):t instanceof WeakMap)},w.working="undefined"!=typeof WeakSet&&w(new WeakSet),e.isWeakSet=function(t){return w(t)},S.working="undefined"!=typeof ArrayBuffer&&S(new ArrayBuffer),e.isArrayBuffer=x,_.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&_(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=A;var C="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function k(t){return"[object SharedArrayBuffer]"===l(t)}function E(t){return void 0!==C&&(void 0===k.working&&(k.working=k(new C)),k.working?k(t):t instanceof C)}function P(t){return y(t,f)}function O(t){return y(t,h)}function B(t){return y(t,d)}function I(t){return c&&y(t,p)}function T(t){return u&&y(t,g)}e.isSharedArrayBuffer=E,e.isAsyncFunction=function(t){return"[object AsyncFunction]"===l(t)},e.isMapIterator=function(t){return"[object Map Iterator]"===l(t)},e.isSetIterator=function(t){return"[object Set Iterator]"===l(t)},e.isGeneratorObject=function(t){return"[object Generator]"===l(t)},e.isWebAssemblyCompiledModule=function(t){return"[object WebAssembly.Module]"===l(t)},e.isNumberObject=P,e.isStringObject=O,e.isBooleanObject=B,e.isBigIntObject=I,e.isSymbolObject=T,e.isBoxedPrimitive=function(t){return P(t)||O(t)||B(t)||I(t)||T(t)},e.isAnyArrayBuffer=function(t){return"undefined"!=typeof Uint8Array&&(x(t)||E(t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))},42781:function(t,e,r){var n=r(96456),i=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),r={},n=0;n<e.length;n++)r[e[n]]=Object.getOwnPropertyDescriptor(t,e[n]);return r},o=/%[sdj%]/g;e.format=function(t){if(!m(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(u(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,i=n.length,s=String(t).replace(o,(function(t){if("%%"===t)return"%";if(r>=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),a=n[r];r<i;a=n[++r])b(a)||!x(a)?s+=" "+a:s+=" "+u(a);return s},e.deprecate=function(t,r){if(void 0!==n&&!0===n.noDeprecation)return t;if(void 0===n)return function(){return e.deprecate(t,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(n.throwDeprecation)throw new Error(r);n.traceDeprecation?console.trace(r):console.error(r),i=!0}return t.apply(this,arguments)}};var s={},a=/^$/;if(n.env.NODE_DEBUG){var c=n.env.NODE_DEBUG;c=c.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),a=new RegExp("^"+c+"$","i")}function u(t,r){var n={seen:[],stylize:f};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),y(r)?n.showHidden=r:r&&e._extend(n,r),w(n.showHidden)&&(n.showHidden=!1),w(n.depth)&&(n.depth=2),w(n.colors)&&(n.colors=!1),w(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),h(n,t,n.depth)}function l(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&C(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return m(i)||(i=h(t,i,n)),i}var o=function(t,e){if(w(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(e))return t.stylize(""+e,"number");if(y(e))return t.stylize(""+e,"boolean");if(b(e))return t.stylize("null","null")}(t,r);if(o)return o;var s=Object.keys(r),a=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(s);if(t.showHidden&&(s=Object.getOwnPropertyNames(r)),A(r)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return d(r);if(0===s.length){if(C(r)){var c=r.name?": "+r.name:"";return t.stylize("[Function"+c+"]","special")}if(S(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(_(r))return t.stylize(Date.prototype.toString.call(r),"date");if(A(r))return d(r)}var u,l="",f=!1,x=["{","}"];(g(r)&&(f=!0,x=["[","]"]),C(r))&&(l=" [Function"+(r.name?": "+r.name:"")+"]");return S(r)&&(l=" "+RegExp.prototype.toString.call(r)),_(r)&&(l=" "+Date.prototype.toUTCString.call(r)),A(r)&&(l=" "+d(r)),0!==s.length||f&&0!=r.length?n<0?S(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var o=[],s=0,a=e.length;s<a;++s)O(e,String(s))?o.push(p(t,e,r,n,String(s),!0)):o.push("");return i.forEach((function(i){i.match(/^\d+$/)||o.push(p(t,e,r,n,i,!0))})),o}(t,r,n,a,s):s.map((function(e){return p(t,r,n,a,e,f)})),t.seen.pop(),function(t,e,r){var n=t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(n>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n  ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(u,l,x)):x[0]+l+x[1]}function d(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,r,n,i,o){var s,a,c;if((c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?a=c.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):c.set&&(a=t.stylize("[Setter]","special")),O(n,i)||(s="["+i+"]"),a||(t.seen.indexOf(c.value)<0?(a=b(r)?h(t,c.value,null):h(t,c.value,r-1)).indexOf("\n")>-1&&(a=o?a.split("\n").map((function(t){return"  "+t})).join("\n").slice(2):"\n"+a.split("\n").map((function(t){return"   "+t})).join("\n")):a=t.stylize("[Circular]","special")),w(s)){if(o&&i.match(/^\d+$/))return a;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.slice(1,-1),s=t.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string"))}return s+": "+a}function g(t){return Array.isArray(t)}function y(t){return"boolean"==typeof t}function b(t){return null===t}function v(t){return"number"==typeof t}function m(t){return"string"==typeof t}function w(t){return void 0===t}function S(t){return x(t)&&"[object RegExp]"===k(t)}function x(t){return"object"==typeof t&&null!==t}function _(t){return x(t)&&"[object Date]"===k(t)}function A(t){return x(t)&&("[object Error]"===k(t)||t instanceof Error)}function C(t){return"function"==typeof t}function k(t){return Object.prototype.toString.call(t)}function E(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!s[t])if(a.test(t)){var r=n.pid;s[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(52562),e.isArray=g,e.isBoolean=y,e.isNull=b,e.isNullOrUndefined=function(t){return null==t},e.isNumber=v,e.isString=m,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=w,e.isRegExp=S,e.types.isRegExp=S,e.isObject=x,e.isDate=_,e.types.isDate=_,e.isError=A,e.types.isNativeError=A,e.isFunction=C,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(1013);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function O(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(t=new Date,r=[E(t.getHours()),E(t.getMinutes()),E(t.getSeconds())].join(":"),[t.getDate(),P[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(16796),e._extend=function(t,e){if(!e||!x(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var B="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function I(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(B&&t[B]){var e;if("function"!=typeof(e=t[B]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,B,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);i.push((function(t,n){t?r(t):e(n)}));try{t.apply(this,i)}catch(t){r(t)}return n}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),B&&Object.defineProperty(e,B,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,i(t))},e.promisify.custom=B,e.callbackify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function e(){for(var e=[],r=0;r<arguments.length;r++)e.push(arguments[r]);var i=e.pop();if("function"!=typeof i)throw new TypeError("The last argument must be of type Function");var o=this,s=function(){return i.apply(o,arguments)};t.apply(this,e).then((function(t){n.nextTick(s.bind(null,null,t))}),(function(t){n.nextTick(I.bind(null,t,s))}))}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),Object.defineProperties(e,i(t)),e}},79528:function(t,e,r){"use strict";var n=r(14146),i=r(58306),o=r(81869),s=r(72505),a=r(22579);t.exports=function(t){return null==t||"object"!=typeof t&&"function"!=typeof t?null:n(t)?"String":i(t)?"Number":o(t)?"Boolean":s(t)?"Symbol":a(t)?"BigInt":void 0}},98549:function(t,e,r){"use strict";var n=r(13136),i=r(95992),o=r(60541),s=r(93385),a=r(83565),c=s("Object.prototype.toString"),u=r(53231)(),l="undefined"==typeof globalThis?r.g:globalThis,f=i(),h=s("String.prototype.slice"),d=Object.getPrototypeOf,p=s("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r<t.length;r+=1)if(t[r]===e)return r;return-1},g={__proto__:null};n(f,u&&a&&d?function(t){var e=new l[t];if(Symbol.toStringTag in e){var r=d(e),n=a(r,Symbol.toStringTag);if(!n){var i=d(r);n=a(i,Symbol.toStringTag)}g["$"+t]=o(n.get)}}:function(t){var e=new l[t],r=e.slice||e.set;r&&(g["$"+t]=o(r))});t.exports=function(t){if(!t||"object"!=typeof t)return!1;if(!u){var e=h(c(t),8,-1);return p(f,e)>-1?e:"Object"===e&&function(t){var e=!1;return n(g,(function(r,n){if(!e)try{r(t),e=h(n,1)}catch(t){}})),e}(t)}return a?function(t){var e=!1;return n(g,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=h(n,1))}catch(t){}})),e}(t):null}},91054:function(){},37265:function(){},99808:function(){},65660:function(){},87942:function(){},82880:function(){},95992:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e<n.length;e++)"function"==typeof i[n[e]]&&(t[t.length]=n[e]);return t}},35767:function(t,e,r){"use strict";var n=r(70064),i=r(28647),o=TypeError;t.exports=function(t){if(n(t))return t;throw new o(i(t)+" is not a function")}},23013:function(t,e,r){"use strict";var n=r(85123),i=r(28647),o=TypeError;t.exports=function(t){if(n(t))return t;throw new o(i(t)+" is not a constructor")}},53378:function(t,e,r){"use strict";var n=r(61692),i=TypeError;t.exports=function(t){if("DataView"===n(t))return t;throw new i("Argument is not a DataView")}},45636:function(t,e,r){"use strict";var n=r(81808).has;t.exports=function(t){return n(t),t}},63592:function(t,e,r){"use strict";var n=r(99086),i=String,o=TypeError;t.exports=function(t){if(n(t))return t;throw new o("Can't set "+i(t)+" as a prototype")}},27365:function(t,e,r){"use strict";var n=r(77258).has;t.exports=function(t){return n(t),t}},13600:function(t){"use strict";var e=TypeError;t.exports=function(t){if("string"==typeof t)return t;throw new e("Argument is not a string")}},35957:function(t,e,r){"use strict";var n=r(53571).has;t.exports=function(t){return n(t),t}},30921:function(t,e,r){"use strict";var n=r(60294).has;t.exports=function(t){return n(t),t}},2573:function(t,e,r){"use strict";var n=r(30840),i=r(69421),o=r(80004),s=r(58785),a=r(35767),c=r(1813),u=r(25131),l=r(68961),f=l("asyncDispose"),h=l("dispose"),d=i([].push),p=function(t,e,r){return arguments.length<3&&!c(t)&&(r=a(function(t,e){if("async-dispose"===e){var r=u(t,f);return void 0!==r?r:(r=u(t,h),function(){n(r,this)})}return u(t,h)}(s(t),e))),void 0===r?function(){}:o(r,t)};t.exports=function(t,e,r,n){var i;if(arguments.length<4){if(c(e)&&"sync-dispose"===r)return;i=p(e,r)}else i=p(void 0,r,n);d(t.stack,i)}},68305:function(t,e,r){"use strict";var n=r(68961),i=r(96388),o=r(78841).f,s=n("unscopables"),a=Array.prototype;void 0===a[s]&&o(a,s,{configurable:!0,value:i(null)}),t.exports=function(t){a[s][t]=!0}},74691:function(t,e,r){"use strict";var n=r(95799),i=TypeError;t.exports=function(t,e){if(n(e,t))return t;throw new i("Incorrect invocation")}},61062:function(t,e,r){"use strict";var n=r(94633),i=String,o=TypeError;t.exports=function(t){if(void 0===t||n(t))return t;throw new o(i(t)+" is not an object or undefined")}},58785:function(t,e,r){"use strict";var n=r(94633),i=String,o=TypeError;t.exports=function(t){if(n(t))return t;throw new o(i(t)+" is not an object")}},31109:function(t,e,r){"use strict";var n=r(61692),i=TypeError;t.exports=function(t){if("Uint8Array"===n(t))return t;throw new i("Argument is not an Uint8Array")}},4729:function(t){"use strict";t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},93849:function(t,e,r){"use strict";var n=r(1309),i=r(62915),o=TypeError;t.exports=n(ArrayBuffer.prototype,"byteLength","get")||function(t){if("ArrayBuffer"!==i(t))throw new o("ArrayBuffer expected");return t.byteLength}},78650:function(t,e,r){"use strict";var n=r(69421),i=r(93849),o=n(ArrayBuffer.prototype.slice);t.exports=function(t){if(0!==i(t))return!1;try{return o(t,0,0),!1}catch(t){return!0}}},24147:function(t,e,r){"use strict";var n=r(49402);t.exports=n((function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}))},53318:function(t,e,r){"use strict";var n=r(7925),i=r(69421),o=r(1309),s=r(91471),a=r(78650),c=r(93849),u=r(9238),l=r(72093),f=n.structuredClone,h=n.ArrayBuffer,d=n.DataView,p=n.TypeError,g=Math.min,y=h.prototype,b=d.prototype,v=i(y.slice),m=o(y,"resizable","get"),w=o(y,"maxByteLength","get"),S=i(b.getInt8),x=i(b.setInt8);t.exports=(l||u)&&function(t,e,r){var n,i=c(t),o=void 0===e?i:s(e),y=!m||!m(t);if(a(t))throw new p("ArrayBuffer is detached");if(l&&(t=f(t,{transfer:[t]}),i===o&&(r||y)))return t;if(i>=o&&(!r||y))n=v(t,0,o);else{var b=r&&!y&&w?{maxByteLength:w(t)}:void 0;n=new h(o,b);for(var _=new d(t),A=new d(n),C=g(o,i),k=0;k<C;k++)x(A,k,S(_,k))}return l||u(t),n}},67858:function(t,e,r){"use strict";var n,i,o,s=r(4729),a=r(76202),c=r(7925),u=r(70064),l=r(94633),f=r(91565),h=r(61692),d=r(28647),p=r(52605),g=r(19104),y=r(22363),b=r(95799),v=r(80393),m=r(98086),w=r(68961),S=r(27919),x=r(96422),_=x.enforce,A=x.get,C=c.Int8Array,k=C&&C.prototype,E=c.Uint8ClampedArray,P=E&&E.prototype,O=C&&v(C),B=k&&v(k),I=Object.prototype,T=c.TypeError,R=w("toStringTag"),M=S("TYPED_ARRAY_TAG"),D="TypedArrayConstructor",F=s&&!!m&&"Opera"!==h(c.opera),N=!1,L={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},j={BigInt64Array:8,BigUint64Array:8},z=function(t){var e=v(t);if(l(e)){var r=A(e);return r&&f(r,D)?r[D]:z(e)}},U=function(t){if(!l(t))return!1;var e=h(t);return f(L,e)||f(j,e)};for(n in L)(o=(i=c[n])&&i.prototype)?_(o)[D]=i:F=!1;for(n in j)(o=(i=c[n])&&i.prototype)&&(_(o)[D]=i);if((!F||!u(O)||O===Function.prototype)&&(O=function(){throw new T("Incorrect invocation")},F))for(n in L)c[n]&&m(c[n],O);if((!F||!B||B===I)&&(B=O.prototype,F))for(n in L)c[n]&&m(c[n].prototype,B);if(F&&v(P)!==B&&m(P,B),a&&!f(B,R))for(n in N=!0,y(B,R,{configurable:!0,get:function(){return l(this)?this[M]:void 0}}),L)c[n]&&p(c[n],M,n);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:F,TYPED_ARRAY_TAG:N&&M,aTypedArray:function(t){if(U(t))return t;throw new T("Target is not a typed array")},aTypedArrayConstructor:function(t){if(u(t)&&(!m||b(O,t)))return t;throw new T(d(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,r,n){if(a){if(r)for(var i in L){var o=c[i];if(o&&f(o.prototype,t))try{delete o.prototype[t]}catch(r){try{o.prototype[t]=e}catch(t){}}}B[t]&&!r||g(B,t,r?e:F&&k[t]||e,n)}},exportTypedArrayStaticMethod:function(t,e,r){var n,i;if(a){if(m){if(r)for(n in L)if((i=c[n])&&f(i,t))try{delete i[t]}catch(t){}if(O[t]&&!r)return;try{return g(O,t,r?e:F&&O[t]||e)}catch(t){}}for(n in L)!(i=c[n])||i[t]&&!r||g(i,t,e)}},getTypedArrayConstructor:z,isView:function(t){if(!l(t))return!1;var e=h(t);return"DataView"===e||f(L,e)||f(j,e)},isTypedArray:U,TypedArray:O,TypedArrayPrototype:B}},49260:function(t,e,r){"use strict";var n=r(80004),i=r(69421),o=r(89197),s=r(85123),a=r(35389),c=r(94453),u=r(79020),l=r(19139),f=r(25131),h=r(32078),d=r(52828),p=r(68961),g=r(86569),y=r(20250).toArray,b=p("asyncIterator"),v=i(d("Array","values")),m=i(v([]).next),w=function(){return new S(this)},S=function(t){this.iterator=v(t)};S.prototype.next=function(){return m(this.iterator)},t.exports=function(t){var e=this,r=arguments.length,i=r>1?arguments[1]:void 0,d=r>2?arguments[2]:void 0;return new(h("Promise"))((function(r){var h=o(t);void 0!==i&&(i=n(i,d));var p=f(h,b),v=p?void 0:l(h)||w,m=s(e)?new e:[],S=p?a(h,p):new g(u(c(h,v)));r(y(S,i,m))}))}},28754:function(t,e,r){"use strict";var n=r(73448);t.exports=function(t,e,r){for(var i=0,o=arguments.length>2?r:n(e),s=new t(o);o>i;)s[i]=e[i++];return s}},97372:function(t,e,r){"use strict";var n=r(80004),i=r(69421),o=r(70413),s=r(89197),a=r(73448),c=r(81808),u=c.Map,l=c.get,f=c.has,h=c.set,d=i([].push);t.exports=function(t){for(var e,r,i=s(this),c=o(i),p=n(t,arguments.length>1?arguments[1]:void 0),g=new u,y=a(c),b=0;y>b;b++)e=p(r=c[b],b,i),f(g,e)?d(l(g,e),r):h(g,e,[r]);return g}},8824:function(t,e,r){"use strict";var n=r(80004),i=r(69421),o=r(70413),s=r(89197),a=r(27832),c=r(73448),u=r(96388),l=r(28754),f=Array,h=i([].push);t.exports=function(t,e,r,i){for(var d,p,g,y=s(t),b=o(y),v=n(e,r),m=u(null),w=c(b),S=0;w>S;S++)g=b[S],(p=a(v(g,S,y)))in m?h(m[p],g):m[p]=[g];if(i&&(d=i(y))!==f)for(p in m)m[p]=l(d,m[p]);return m}},86054:function(t,e,r){"use strict";var n=r(32936),i=r(26281),o=r(73448),s=function(t){return function(e,r,s){var a,c=n(e),u=o(c),l=i(s,u);if(t&&r!=r){for(;u>l;)if((a=c[l++])!=a)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===r)return t||l||0;return!t&&-1}};t.exports={includes:s(!0),indexOf:s(!1)}},88874:function(t,e,r){"use strict";var n=r(80004),i=r(69421),o=r(70413),s=r(89197),a=r(73448),c=r(95710),u=i([].push),l=function(t){var e=1===t,r=2===t,i=3===t,l=4===t,f=6===t,h=7===t,d=5===t||f;return function(p,g,y,b){for(var v,m,w=s(p),S=o(w),x=a(S),_=n(g,y),A=0,C=b||c,k=e?C(p,x):r||h?C(p,0):void 0;x>A;A++)if((d||A in S)&&(m=_(v=S[A],A,w),t))if(e)k[A]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return A;case 2:u(k,v)}else switch(t){case 4:return!1;case 7:u(k,v)}return f?-1:i||l?l:k}};t.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterReject:l(7)}},90790:function(t,e,r){"use strict";var n=r(49402);t.exports=function(t,e){var r=[][t];return!!r&&n((function(){r.call(null,e||function(){return 1},1)}))}},32643:function(t,e,r){"use strict";var n=r(76202),i=r(95542),o=TypeError,s=Object.getOwnPropertyDescriptor,a=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=a?function(t,e){if(i(t)&&!s(t,"length").writable)throw new o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},70373:function(t,e,r){"use strict";var n=r(69421);t.exports=n([].slice)},14126:function(t,e,r){"use strict";var n=r(95542),i=r(85123),o=r(94633),s=r(68961)("species"),a=Array;t.exports=function(t){var e;return n(t)&&(e=t.constructor,(i(e)&&(e===a||n(e.prototype))||o(e)&&null===(e=e[s]))&&(e=void 0)),void 0===e?a:e}},95710:function(t,e,r){"use strict";var n=r(14126);t.exports=function(t,e){return new(n(t))(0===e?0:e)}},50934:function(t,e,r){"use strict";var n=r(73448);t.exports=function(t,e){for(var r=n(t),i=new e(r),o=0;o<r;o++)i[o]=t[r-o-1];return i}},38447:function(t,e,r){"use strict";var n=r(69421),i=r(35767),o=r(1813),s=r(73448),a=r(89197),c=r(81808),u=r(67002),l=c.Map,f=c.has,h=c.set,d=n([].push);t.exports=function(t){var e,r,n,c=a(this),p=s(c),g=[],y=new l,b=o(t)?function(t){return t}:i(t);for(e=0;e<p;e++)n=b(r=c[e]),f(y,n)||h(y,n,r);return u(y,(function(t){d(g,t)})),g}},78470:function(t,e,r){"use strict";var n=r(73448),i=r(69640),o=RangeError;t.exports=function(t,e,r,s){var a=n(t),c=i(r),u=c<0?a+c:c;if(u>=a||u<0)throw new o("Incorrect index");for(var l=new e(a),f=0;f<a;f++)l[f]=f===u?s:t[f];return l}},86569:function(t,e,r){"use strict";var n=r(30840),i=r(58785),o=r(96388),s=r(25131),a=r(82190),c=r(96422),u=r(32078),l=r(97489),f=r(56625),h=u("Promise"),d="AsyncFromSyncIterator",p=c.set,g=c.getterFor(d),y=function(t,e,r){var n=t.done;h.resolve(t.value).then((function(t){e(f(t,n))}),r)},b=function(t){t.type=d,p(this,t)};b.prototype=a(o(l),{next:function(){var t=g(this);return new h((function(e,r){var o=i(n(t.next,t.iterator));y(o,e,r)}))},return:function(){var t=g(this).iterator;return new h((function(e,r){var o=s(t,"return");if(void 0===o)return e(f(void 0,!0));var a=i(n(o,t));y(a,e,r)}))}}),t.exports=b},19776:function(t,e,r){"use strict";var n=r(30840),i=r(32078),o=r(25131);t.exports=function(t,e,r,s){try{var a=o(t,"return");if(a)return i("Promise").resolve(n(a,t)).then((function(){e(r)}),(function(t){s(t)}))}catch(t){return s(t)}e(r)}},70061:function(t,e,r){"use strict";var n=r(30840),i=r(43556),o=r(58785),s=r(96388),a=r(52605),c=r(82190),u=r(68961),l=r(96422),f=r(32078),h=r(25131),d=r(97489),p=r(56625),g=r(76511),y=f("Promise"),b=u("toStringTag"),v="AsyncIteratorHelper",m="WrapForValidAsyncIterator",w=l.set,S=function(t){var e=!t,r=l.getterFor(t?m:v),a=function(t){var n=i((function(){return r(t)})),o=n.error,s=n.value;return o||e&&s.done?{exit:!0,value:o?y.reject(s):y.resolve(p(void 0,!0))}:{exit:!1,value:s}};return c(s(d),{next:function(){var t=a(this),e=t.value;if(t.exit)return e;var r=i((function(){return o(e.nextHandler(y))})),n=r.error,s=r.value;return n&&(e.done=!0),n?y.reject(s):y.resolve(s)},return:function(){var e=a(this),r=e.value;if(e.exit)return r;r.done=!0;var s,c,u=r.iterator,l=i((function(){if(r.inner)try{g(r.inner.iterator,"normal")}catch(t){return g(u,"throw",t)}return h(u,"return")}));return s=c=l.value,l.error?y.reject(c):void 0===s?y.resolve(p(void 0,!0)):(c=(l=i((function(){return n(s,u)}))).value,l.error?y.reject(c):t?y.resolve(c):y.resolve(c).then((function(t){return o(t),p(void 0,!0)})))}})},x=S(!0),_=S(!1);a(_,b,"Async Iterator Helper"),t.exports=function(t,e){var r=function(r,n){n?(n.iterator=r.iterator,n.next=r.next):n=r,n.type=e?m:v,n.nextHandler=t,n.counter=0,n.done=!1,w(this,n)};return r.prototype=e?x:_,r}},41064:function(t,e,r){"use strict";var n=r(30840),i=r(79291),o=function(t,e){return[e,t]};t.exports=function(){return n(i,this,o)}},20250:function(t,e,r){"use strict";var n=r(30840),i=r(35767),o=r(58785),s=r(94633),a=r(62283),c=r(32078),u=r(79020),l=r(19776),f=function(t){var e=0===t,r=1===t,f=2===t,h=3===t;return function(t,d,p){o(t);var g=void 0!==d;!g&&e||i(d);var y=u(t),b=c("Promise"),v=y.iterator,m=y.next,w=0;return new b((function(t,i){var c=function(t){l(v,i,t,i)},u=function(){try{if(g)try{a(w)}catch(t){c(t)}b.resolve(o(n(m,v))).then((function(n){try{if(o(n).done)e?(p.length=w,t(p)):t(!h&&(f||void 0));else{var a=n.value;try{if(g){var y=d(a,w),m=function(n){if(r)u();else if(f)n?u():l(v,t,!1,i);else if(e)try{p[w++]=n,u()}catch(t){c(t)}else n?l(v,t,h||a,i):u()};s(y)?b.resolve(y).then(m,c):m(y)}else p[w++]=a,u()}catch(t){c(t)}}}catch(t){i(t)}}),i)}catch(t){i(t)}};u()}))}};t.exports={toArray:f(0),forEach:f(1),every:f(2),some:f(3),find:f(4)}},79291:function(t,e,r){"use strict";var n=r(30840),i=r(35767),o=r(58785),s=r(94633),a=r(79020),c=r(70061),u=r(56625),l=r(19776),f=c((function(t){var e=this,r=e.iterator,i=e.mapper;return new t((function(a,c){var f=function(t){e.done=!0,c(t)},h=function(t){l(r,f,t,f)};t.resolve(o(n(e.next,r))).then((function(r){try{if(o(r).done)e.done=!0,a(u(void 0,!0));else{var n=r.value;try{var c=i(n,e.counter++),l=function(t){a(u(t,!1))};s(c)?t.resolve(c).then(l,h):l(c)}catch(t){h(t)}}}catch(t){f(t)}}),f)}))}));t.exports=function(t){return o(this),i(t),new f(a(this),{mapper:t})}},97489:function(t,e,r){"use strict";var n,i,o=r(7925),s=r(10137),a=r(70064),c=r(96388),u=r(80393),l=r(19104),f=r(68961),h=r(46234),d="USE_FUNCTION_CONSTRUCTOR",p=f("asyncIterator"),g=o.AsyncIterator,y=s.AsyncIteratorPrototype;if(y)n=y;else if(a(g))n=g.prototype;else if(s[d]||o[d])try{i=u(u(u(Function("return async function*(){}()")()))),u(i)===Object.prototype&&(n=i)}catch(t){}n?h&&(n=c(n)):n={},a(n[p])||l(n,p,(function(){return this})),t.exports=n},6449:function(t,e,r){"use strict";var n=r(30840),i=r(70061);t.exports=i((function(){return n(this.next,this.iterator)}),!0)},15006:function(t){"use strict";var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=e+"+/",n=e+"-_",i=function(t){for(var e={},r=0;r<64;r++)e[t.charAt(r)]=r;return e};t.exports={i2c:r,c2i:i(r),i2cUrl:n,c2iUrl:i(n)}},9228:function(t,e,r){"use strict";var n=r(58785),i=r(76511);t.exports=function(t,e,r,o){try{return o?e(n(r)[0],r[1]):e(r)}catch(e){i(t,"throw",e)}}},64950:function(t,e,r){"use strict";var n=r(68961)("iterator"),i=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){i=!0}};s[n]=function(){return this},Array.from(s,(function(){throw 2}))}catch(t){}t.exports=function(t,e){try{if(!e&&!i)return!1}catch(t){return!1}var r=!1;try{var o={};o[n]=function(){return{next:function(){return{done:r=!0}}}},t(o)}catch(t){}return r}},62915:function(t,e,r){"use strict";var n=r(69421),i=n({}.toString),o=n("".slice);t.exports=function(t){return o(i(t),8,-1)}},61692:function(t,e,r){"use strict";var n=r(21028),i=r(70064),o=r(62915),s=r(68961)("toStringTag"),a=Object,c="Arguments"===o(function(){return arguments}());t.exports=n?o:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=a(t),s))?r:c?o(e):"Object"===(n=o(e))&&i(e.callee)?"Arguments":n}},849:function(t,e,r){"use strict";var n=r(80004),i=r(58785),o=r(89197),s=r(97887);t.exports=function(t,e,r){return function(a){var c=o(a),u=arguments.length,l=u>1?arguments[1]:void 0,f=void 0!==l,h=f?n(l,u>2?arguments[2]:void 0):void 0,d=new t,p=0;return s(c,(function(t){var n=f?h(t,p++):t;r?e(d,i(n)[0],n[1]):e(d,n)})),d}}},45095:function(t,e,r){"use strict";var n=r(58785);t.exports=function(t,e,r){return function(){for(var i=new t,o=arguments.length,s=0;s<o;s++){var a=arguments[s];r?e(i,n(a)[0],a[1]):e(i,a)}return i}}},15705:function(t,e,r){"use strict";var n=r(96388),i=r(22363),o=r(82190),s=r(80004),a=r(74691),c=r(1813),u=r(97887),l=r(66689),f=r(56625),h=r(88228),d=r(76202),p=r(61176).fastKey,g=r(96422),y=g.set,b=g.getterFor;t.exports={getConstructor:function(t,e,r,l){var f=t((function(t,i){a(t,h),y(t,{type:e,index:n(null),first:void 0,last:void 0,size:0}),d||(t.size=0),c(i)||u(i,t[l],{that:t,AS_ENTRIES:r})})),h=f.prototype,g=b(e),v=function(t,e,r){var n,i,o=g(t),s=m(t,e);return s?s.value=r:(o.last=s={index:i=p(e,!0),key:e,value:r,previous:n=o.last,next:void 0,removed:!1},o.first||(o.first=s),n&&(n.next=s),d?o.size++:t.size++,"F"!==i&&(o.index[i]=s)),t},m=function(t,e){var r,n=g(t),i=p(e);if("F"!==i)return n.index[i];for(r=n.first;r;r=r.next)if(r.key===e)return r};return o(h,{clear:function(){for(var t=g(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),e=e.next;t.first=t.last=void 0,t.index=n(null),d?t.size=0:this.size=0},delete:function(t){var e=this,r=g(e),n=m(e,t);if(n){var i=n.next,o=n.previous;delete r.index[n.index],n.removed=!0,o&&(o.next=i),i&&(i.previous=o),r.first===n&&(r.first=i),r.last===n&&(r.last=o),d?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=g(this),n=s(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!m(this,t)}}),o(h,r?{get:function(t){var e=m(this,t);return e&&e.value},set:function(t,e){return v(this,0===t?0:t,e)}}:{add:function(t){return v(this,t=0===t?0:t,t)}}),d&&i(h,"size",{configurable:!0,get:function(){return g(this).size}}),f},setStrong:function(t,e,r){var n=e+" Iterator",i=b(e),o=b(n);l(t,e,(function(t,e){y(this,{type:n,target:t,state:i(t),kind:e,last:void 0})}),(function(){for(var t=o(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?f("keys"===e?r.key:"values"===e?r.value:[r.key,r.value],!1):(t.target=void 0,f(void 0,!0))}),r?"entries":"values",!r,!0),h(e)}}},14857:function(t,e,r){"use strict";var n=r(69421),i=r(82190),o=r(61176).getWeakData,s=r(74691),a=r(58785),c=r(1813),u=r(94633),l=r(97887),f=r(88874),h=r(91565),d=r(96422),p=d.set,g=d.getterFor,y=f.find,b=f.findIndex,v=n([].splice),m=0,w=function(t){return t.frozen||(t.frozen=new S)},S=function(){this.entries=[]},x=function(t,e){return y(t.entries,(function(t){return t[0]===e}))};S.prototype={get:function(t){var e=x(this,t);if(e)return e[1]},has:function(t){return!!x(this,t)},set:function(t,e){var r=x(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=b(this.entries,(function(e){return e[0]===t}));return~e&&v(this.entries,e,1),!!~e}},t.exports={getConstructor:function(t,e,r,n){var f=t((function(t,i){s(t,d),p(t,{type:e,id:m++,frozen:void 0}),c(i)||l(i,t[n],{that:t,AS_ENTRIES:r})})),d=f.prototype,y=g(e),b=function(t,e,r){var n=y(t),i=o(a(e),!0);return!0===i?w(n).set(e,r):i[n.id]=r,t};return i(d,{delete:function(t){var e=y(this);if(!u(t))return!1;var r=o(t);return!0===r?w(e).delete(t):r&&h(r,e.id)&&delete r[e.id]},has:function(t){var e=y(this);if(!u(t))return!1;var r=o(t);return!0===r?w(e).has(t):r&&h(r,e.id)}}),i(d,r?{get:function(t){var e=y(this);if(u(t)){var r=o(t);return!0===r?w(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return b(this,t,e)}}:{add:function(t){return b(this,t,!0)}}),f}}},46165:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(69421),s=r(23309),a=r(19104),c=r(61176),u=r(97887),l=r(74691),f=r(70064),h=r(1813),d=r(94633),p=r(49402),g=r(64950),y=r(14853),b=r(21360);t.exports=function(t,e,r){var v=-1!==t.indexOf("Map"),m=-1!==t.indexOf("Weak"),w=v?"set":"add",S=i[t],x=S&&S.prototype,_=S,A={},C=function(t){var e=o(x[t]);a(x,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(m&&!d(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return m&&!d(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(m&&!d(t))&&e(this,0===t?0:t)}:function(t,r){return e(this,0===t?0:t,r),this})};if(s(t,!f(S)||!(m||x.forEach&&!p((function(){(new S).entries().next()})))))_=r.getConstructor(e,t,v,w),c.enable();else if(s(t,!0)){var k=new _,E=k[w](m?{}:-0,1)!==k,P=p((function(){k.has(1)})),O=g((function(t){new S(t)})),B=!m&&p((function(){for(var t=new S,e=5;e--;)t[w](e,e);return!t.has(-0)}));O||((_=e((function(t,e){l(t,x);var r=b(new S,t,_);return h(e)||u(e,r[w],{that:r,AS_ENTRIES:v}),r}))).prototype=x,x.constructor=_),(P||B)&&(C("delete"),C("has"),v&&C("get")),(B||E)&&C(w),m&&x.clear&&delete x.clear}return A[t]=_,n({global:!0,constructor:!0,forced:_!==S},A),y(_,t),m||r.setStrong(_,t,v),_}},65977:function(t,e,r){"use strict";r(97663),r(79780);var n=r(32078),i=r(96388),o=r(94633),s=Object,a=TypeError,c=n("Map"),u=n("WeakMap"),l=function(){this.object=null,this.symbol=null,this.primitives=null,this.objectsByIndex=i(null)};l.prototype.get=function(t,e){return this[t]||(this[t]=e())},l.prototype.next=function(t,e,r){var n=r?this.objectsByIndex[t]||(this.objectsByIndex[t]=new u):this.primitives||(this.primitives=new c),i=n.get(e);return i||n.set(e,i=new l),i};var f=new l;t.exports=function(){var t,e,r=f,n=arguments.length;for(t=0;t<n;t++)o(e=arguments[t])&&(r=r.next(t,e,!0));if(this===s&&r===f)throw new a("Composite keys must contain a non-primitive component");for(t=0;t<n;t++)o(e=arguments[t])||(r=r.next(t,e,!1));return r}},60652:function(t,e,r){"use strict";var n=r(91565),i=r(52399),o=r(93283),s=r(78841);t.exports=function(t,e,r){for(var a=i(e),c=s.f,u=o.f,l=0;l<a.length;l++){var f=a[l];n(t,f)||r&&n(r,f)||c(t,f,u(e,f))}}},7570:function(t,e,r){"use strict";var n=r(49402);t.exports=!n((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},56625:function(t){"use strict";t.exports=function(t,e){return{value:t,done:e}}},52605:function(t,e,r){"use strict";var n=r(76202),i=r(78841),o=r(90814);t.exports=n?function(t,e,r){return i.f(t,e,o(1,r))}:function(t,e,r){return t[e]=r,t}},90814:function(t){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},15313:function(t,e,r){"use strict";var n=r(27832),i=r(78841),o=r(90814);t.exports=function(t,e,r){var s=n(e);s in t?i.f(t,s,o(0,r)):t[s]=r}},22363:function(t,e,r){"use strict";var n=r(50026),i=r(78841);t.exports=function(t,e,r){return r.get&&n(r.get,e,{getter:!0}),r.set&&n(r.set,e,{setter:!0}),i.f(t,e,r)}},19104:function(t,e,r){"use strict";var n=r(70064),i=r(78841),o=r(50026),s=r(92428);t.exports=function(t,e,r,a){a||(a={});var c=a.enumerable,u=void 0!==a.name?a.name:e;if(n(r)&&o(r,u,a),a.global)c?t[e]=r:s(e,r);else{try{a.unsafe?t[e]&&(c=!0):delete t[e]}catch(t){}c?t[e]=r:i.f(t,e,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return t}},82190:function(t,e,r){"use strict";var n=r(19104);t.exports=function(t,e,r){for(var i in e)n(t,i,e[i],r);return t}},92428:function(t,e,r){"use strict";var n=r(7925),i=Object.defineProperty;t.exports=function(t,e){try{i(n,t,{value:e,configurable:!0,writable:!0})}catch(r){n[t]=e}return e}},82847:function(t,e,r){"use strict";var n=r(28647),i=TypeError;t.exports=function(t,e){if(!delete t[e])throw new i("Cannot delete property "+n(e)+" of "+n(t))}},76202:function(t,e,r){"use strict";var n=r(49402);t.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},9238:function(t,e,r){"use strict";var n,i,o,s,a=r(7925),c=r(98831),u=r(72093),l=a.structuredClone,f=a.ArrayBuffer,h=a.MessageChannel,d=!1;if(u)d=function(t){l(t,{transfer:[t]})};else if(f)try{h||(n=c("worker_threads"))&&(h=n.MessageChannel),h&&(i=new h,o=new f(2),s=function(t){i.port1.postMessage(null,[t])},2===o.byteLength&&(s(o),0===o.byteLength&&(d=s)))}catch(t){}t.exports=d},21633:function(t,e,r){"use strict";var n=r(7925),i=r(94633),o=n.document,s=i(o)&&i(o.createElement);t.exports=function(t){return s?o.createElement(t):{}}},62283:function(t){"use strict";var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw e("Maximum allowed index exceeded");return t}},35456:function(t){"use strict";t.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},87403:function(t,e,r){"use strict";var n=r(14151),i=r(97125);t.exports=!n&&!i&&"object"==typeof window&&"object"==typeof document},7173:function(t){"use strict";t.exports="function"==typeof Bun&&Bun&&"string"==typeof Bun.version},14151:function(t){"use strict";t.exports="object"==typeof Deno&&Deno&&"object"==typeof Deno.version},11517:function(t,e,r){"use strict";var n=r(90584);t.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},97125:function(t,e,r){"use strict";var n=r(7925),i=r(62915);t.exports="process"===i(n.process)},90584:function(t){"use strict";t.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},11915:function(t,e,r){"use strict";var n,i,o=r(7925),s=r(90584),a=o.process,c=o.Deno,u=a&&a.versions||c&&c.version,l=u&&u.v8;l&&(i=(n=l.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!i&&s&&(!(n=s.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=s.match(/Chrome\/(\d+)/))&&(i=+n[1]),t.exports=i},96258:function(t){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},70477:function(t,e,r){"use strict";var n=r(69421),i=Error,o=n("".replace),s=String(new i("zxcasd").stack),a=/\n\s*at [^:]*:[^\n]*/,c=a.test(s);t.exports=function(t,e){if(c&&"string"==typeof t&&!i.prepareStackTrace)for(;e--;)t=o(t,a,"");return t}},23739:function(t,e,r){"use strict";var n=r(52605),i=r(70477),o=r(92718),s=Error.captureStackTrace;t.exports=function(t,e,r,a){o&&(s?s(t,e):n(t,"stack",i(r,a)))}},92718:function(t,e,r){"use strict";var n=r(49402),i=r(90814);t.exports=!n((function(){var t=new Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)}))},56868:function(t,e,r){"use strict";var n=r(7925),i=r(93283).f,o=r(52605),s=r(19104),a=r(92428),c=r(60652),u=r(23309);t.exports=function(t,e){var r,l,f,h,d,p=t.target,g=t.global,y=t.stat;if(r=g?n:y?n[p]||a(p,{}):(n[p]||{}).prototype)for(l in e){if(h=e[l],f=t.dontCallGetSet?(d=i(r,l))&&d.value:r[l],!u(g?l:p+(y?".":"#")+l,t.forced)&&void 0!==f){if(typeof h==typeof f)continue;c(h,f)}(t.sham||f&&f.sham)&&o(h,"sham",!0),s(r,l,h,t)}}},49402:function(t){"use strict";t.exports=function(t){try{return!!t()}catch(t){return!0}}},54133:function(t,e,r){"use strict";var n=r(49402);t.exports=!n((function(){return Object.isExtensible(Object.preventExtensions({}))}))},65177:function(t,e,r){"use strict";var n=r(48529),i=Function.prototype,o=i.apply,s=i.call;t.exports="object"==typeof Reflect&&Reflect.apply||(n?s.bind(o):function(){return s.apply(o,arguments)})},80004:function(t,e,r){"use strict";var n=r(27285),i=r(35767),o=r(48529),s=n(n.bind);t.exports=function(t,e){return i(t),void 0===e?t:o?s(t,e):function(){return t.apply(e,arguments)}}},48529:function(t,e,r){"use strict";var n=r(49402);t.exports=!n((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},30840:function(t,e,r){"use strict";var n=r(48529),i=Function.prototype.call;t.exports=n?i.bind(i):function(){return i.apply(i,arguments)}},96763:function(t,e,r){"use strict";var n=r(69421),i=r(35767);t.exports=function(){return n(i(this))}},14417:function(t,e,r){"use strict";var n=r(76202),i=r(91565),o=Function.prototype,s=n&&Object.getOwnPropertyDescriptor,a=i(o,"name"),c=a&&"something"===function(){}.name,u=a&&(!n||n&&s(o,"name").configurable);t.exports={EXISTS:a,PROPER:c,CONFIGURABLE:u}},1309:function(t,e,r){"use strict";var n=r(69421),i=r(35767);t.exports=function(t,e,r){try{return n(i(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}}},27285:function(t,e,r){"use strict";var n=r(62915),i=r(69421);t.exports=function(t){if("Function"===n(t))return i(t)}},69421:function(t,e,r){"use strict";var n=r(48529),i=Function.prototype,o=i.call,s=n&&i.bind.bind(o,o);t.exports=n?s:function(t){return function(){return o.apply(t,arguments)}}},3532:function(t){"use strict";var e=TypeError;t.exports=function(t){var r=t&&t.alphabet;if(void 0===r||"base64"===r||"base64url"===r)return r||"base64";throw new e("Incorrect `alphabet` option")}},83712:function(t,e,r){"use strict";var n=r(30840),i=r(70064),o=r(58785),s=r(79020),a=r(19139),c=r(25131),u=r(68961),l=r(86569),f=u("asyncIterator");t.exports=function(t){var e,r=o(t),u=!0,h=c(r,f);return i(h)||(h=a(r),u=!1),void 0!==h?e=n(h,r):(e=r,u=!0),o(e),s(u?e:new l(s(e)))}},35389:function(t,e,r){"use strict";var n=r(30840),i=r(86569),o=r(58785),s=r(94453),a=r(79020),c=r(25131),u=r(68961)("asyncIterator");t.exports=function(t,e){var r=arguments.length<2?c(t,u):e;return r?o(n(r,t)):new i(a(s(t)))}},52828:function(t,e,r){"use strict";var n=r(7925);t.exports=function(t,e){var r=n[t],i=r&&r.prototype;return i&&i[e]}},32078:function(t,e,r){"use strict";var n=r(7925),i=r(70064);t.exports=function(t,e){return arguments.length<2?(r=n[t],i(r)?r:void 0):n[t]&&n[t][e];var r}},79020:function(t){"use strict";t.exports=function(t){return{iterator:t,next:t.next,done:!1}}},77390:function(t,e,r){"use strict";var n=r(30840),i=r(58785),o=r(79020),s=r(19139);t.exports=function(t,e){e&&"string"==typeof t||i(t);var r=s(t);return o(i(void 0!==r?n(r,t):t))}},19139:function(t,e,r){"use strict";var n=r(61692),i=r(25131),o=r(1813),s=r(6425),a=r(68961)("iterator");t.exports=function(t){if(!o(t))return i(t,a)||i(t,"@@iterator")||s[n(t)]}},94453:function(t,e,r){"use strict";var n=r(30840),i=r(35767),o=r(58785),s=r(28647),a=r(19139),c=TypeError;t.exports=function(t,e){var r=arguments.length<2?a(t):e;if(i(r))return o(n(r,t));throw new c(s(t)+" is not iterable")}},90258:function(t,e,r){"use strict";var n=r(69421),i=r(95542),o=r(70064),s=r(62915),a=r(45364),c=n([].push);t.exports=function(t){if(o(t))return t;if(i(t)){for(var e=t.length,r=[],n=0;n<e;n++){var u=t[n];"string"==typeof u?c(r,u):"number"!=typeof u&&"Number"!==s(u)&&"String"!==s(u)||c(r,a(u))}var l=r.length,f=!0;return function(t,e){if(f)return f=!1,e;if(i(this))return e;for(var n=0;n<l;n++)if(r[n]===t)return e}}}},25131:function(t,e,r){"use strict";var n=r(35767),i=r(1813);t.exports=function(t,e){var r=t[e];return i(r)?void 0:n(r)}},77201:function(t,e,r){"use strict";var n=r(35767),i=r(58785),o=r(30840),s=r(69640),a=r(79020),c="Invalid size",u=RangeError,l=TypeError,f=Math.max,h=function(t,e){this.set=t,this.size=f(e,0),this.has=n(t.has),this.keys=n(t.keys)};h.prototype={getIterator:function(){return a(i(o(this.keys,this.set)))},includes:function(t){return o(this.has,this.set,t)}},t.exports=function(t){i(t);var e=+t.size;if(e!=e)throw new l(c);var r=s(e);if(r<0)throw new u(c);return new h(t,r)}},7925:function(t,e,r){"use strict";var n=function(t){return t&&t.Math===Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||n("object"==typeof this&&this)||function(){return this}()||Function("return this")()},91565:function(t,e,r){"use strict";var n=r(69421),i=r(89197),o=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},60711:function(t){"use strict";t.exports={}},28057:function(t){"use strict";t.exports=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}},94226:function(t,e,r){"use strict";var n=r(32078);t.exports=n("document","documentElement")},32645:function(t,e,r){"use strict";var n=r(76202),i=r(49402),o=r(21633);t.exports=!n&&!i((function(){return 7!==Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},66131:function(t){"use strict";var e=Array,r=Math.abs,n=Math.pow,i=Math.floor,o=Math.log,s=Math.LN2;t.exports={pack:function(t,a,c){var u,l,f,h=e(c),d=8*c-a-1,p=(1<<d)-1,g=p>>1,y=23===a?n(2,-24)-n(2,-77):0,b=t<0||0===t&&1/t<0?1:0,v=0;for((t=r(t))!=t||t===1/0?(l=t!=t?1:0,u=p):(u=i(o(t)/s),t*(f=n(2,-u))<1&&(u--,f*=2),(t+=u+g>=1?y/f:y*n(2,1-g))*f>=2&&(u++,f/=2),u+g>=p?(l=0,u=p):u+g>=1?(l=(t*f-1)*n(2,a),u+=g):(l=t*n(2,g-1)*n(2,a),u=0));a>=8;)h[v++]=255&l,l/=256,a-=8;for(u=u<<a|l,d+=a;d>0;)h[v++]=255&u,u/=256,d-=8;return h[--v]|=128*b,h},unpack:function(t,e){var r,i=t.length,o=8*i-e-1,s=(1<<o)-1,a=s>>1,c=o-7,u=i-1,l=t[u--],f=127&l;for(l>>=7;c>0;)f=256*f+t[u--],c-=8;for(r=f&(1<<-c)-1,f>>=-c,c+=e;c>0;)r=256*r+t[u--],c-=8;if(0===f)f=1-a;else{if(f===s)return r?NaN:l?-1/0:1/0;r+=n(2,e),f-=a}return(l?-1:1)*r*n(2,f-e)}}},70413:function(t,e,r){"use strict";var n=r(69421),i=r(49402),o=r(62915),s=Object,a=n("".split);t.exports=i((function(){return!s("z").propertyIsEnumerable(0)}))?function(t){return"String"===o(t)?a(t,""):s(t)}:s},21360:function(t,e,r){"use strict";var n=r(70064),i=r(94633),o=r(98086);t.exports=function(t,e,r){var s,a;return o&&n(s=e.constructor)&&s!==r&&i(a=s.prototype)&&a!==r.prototype&&o(t,a),t}},60009:function(t,e,r){"use strict";var n=r(69421),i=r(70064),o=r(10137),s=n(Function.toString);i(o.inspectSource)||(o.inspectSource=function(t){return s(t)}),t.exports=o.inspectSource},61176:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(60711),s=r(94633),a=r(91565),c=r(78841).f,u=r(25269),l=r(1710),f=r(56047),h=r(27919),d=r(54133),p=!1,g=h("meta"),y=0,b=function(t){c(t,g,{value:{objectID:"O"+y++,weakData:{}}})},v=t.exports={enable:function(){v.enable=function(){},p=!0;var t=u.f,e=i([].splice),r={};r[g]=1,t(r).length&&(u.f=function(r){for(var n=t(r),i=0,o=n.length;i<o;i++)if(n[i]===g){e(n,i,1);break}return n},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:l.f}))},fastKey:function(t,e){if(!s(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!a(t,g)){if(!f(t))return"F";if(!e)return"E";b(t)}return t[g].objectID},getWeakData:function(t,e){if(!a(t,g)){if(!f(t))return!0;if(!e)return!1;b(t)}return t[g].weakData},onFreeze:function(t){return d&&p&&f(t)&&!a(t,g)&&b(t),t}};o[g]=!0},96422:function(t,e,r){"use strict";var n,i,o,s=r(56363),a=r(7925),c=r(94633),u=r(52605),l=r(91565),f=r(10137),h=r(45185),d=r(60711),p="Object already initialized",g=a.TypeError,y=a.WeakMap;if(s||f.state){var b=f.state||(f.state=new y);b.get=b.get,b.has=b.has,b.set=b.set,n=function(t,e){if(b.has(t))throw new g(p);return e.facade=t,b.set(t,e),e},i=function(t){return b.get(t)||{}},o=function(t){return b.has(t)}}else{var v=h("state");d[v]=!0,n=function(t,e){if(l(t,v))throw new g(p);return e.facade=t,u(t,v,e),e},i=function(t){return l(t,v)?t[v]:{}},o=function(t){return l(t,v)}}t.exports={set:n,get:i,has:o,enforce:function(t){return o(t)?i(t):n(t,{})},getterFor:function(t){return function(e){var r;if(!c(e)||(r=i(e)).type!==t)throw new g("Incompatible receiver, "+t+" required");return r}}}},83885:function(t,e,r){"use strict";var n=r(68961),i=r(6425),o=n("iterator"),s=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||s[o]===t)}},95542:function(t,e,r){"use strict";var n=r(62915);t.exports=Array.isArray||function(t){return"Array"===n(t)}},10181:function(t,e,r){"use strict";var n=r(61692);t.exports=function(t){var e=n(t);return"BigInt64Array"===e||"BigUint64Array"===e}},70064:function(t){"use strict";var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},85123:function(t,e,r){"use strict";var n=r(69421),i=r(49402),o=r(70064),s=r(61692),a=r(32078),c=r(60009),u=function(){},l=[],f=a("Reflect","construct"),h=/^\s*(?:class|function)\b/,d=n(h.exec),p=!h.test(u),g=function(t){if(!o(t))return!1;try{return f(u,l,t),!0}catch(t){return!1}},y=function(t){if(!o(t))return!1;switch(s(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return p||!!d(h,c(t))}catch(t){return!0}};y.sham=!0,t.exports=!f||i((function(){var t;return g(g.call)||!g(Object)||!g((function(){t=!0}))||t}))?y:g},23309:function(t,e,r){"use strict";var n=r(49402),i=r(70064),o=/#|\.prototype\./,s=function(t,e){var r=c[a(t)];return r===l||r!==u&&(i(e)?n(e):!!e)},a=s.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=s.data={},u=s.NATIVE="N",l=s.POLYFILL="P";t.exports=s},7862:function(t,e,r){"use strict";var n=r(61692),i=r(91565),o=r(1813),s=r(68961),a=r(6425),c=s("iterator"),u=Object;t.exports=function(t){if(o(t))return!1;var e=u(t);return void 0!==e[c]||"@@iterator"in e||i(a,n(e))}},1813:function(t){"use strict";t.exports=function(t){return null==t}},94633:function(t,e,r){"use strict";var n=r(70064);t.exports=function(t){return"object"==typeof t?null!==t:n(t)}},99086:function(t,e,r){"use strict";var n=r(94633);t.exports=function(t){return n(t)||null===t}},46234:function(t){"use strict";t.exports=!1},20065:function(t,e,r){"use strict";var n=r(94633),i=r(96422).get;t.exports=function(t){if(!n(t))return!1;var e=i(t);return!!e&&"RawJSON"===e.type}},39936:function(t,e,r){"use strict";var n=r(32078),i=r(70064),o=r(95799),s=r(14935),a=Object;t.exports=s?function(t){return"symbol"==typeof t}:function(t){var e=n("Symbol");return i(e)&&o(e.prototype,a(t))}},53768:function(t,e,r){"use strict";var n=r(30840);t.exports=function(t,e,r){for(var i,o,s=r?t:t.iterator,a=t.next;!(i=n(a,s)).done;)if(void 0!==(o=e(i.value)))return o}},97887:function(t,e,r){"use strict";var n=r(80004),i=r(30840),o=r(58785),s=r(28647),a=r(83885),c=r(73448),u=r(95799),l=r(94453),f=r(19139),h=r(76511),d=TypeError,p=function(t,e){this.stopped=t,this.result=e},g=p.prototype;t.exports=function(t,e,r){var y,b,v,m,w,S,x,_=r&&r.that,A=!(!r||!r.AS_ENTRIES),C=!(!r||!r.IS_RECORD),k=!(!r||!r.IS_ITERATOR),E=!(!r||!r.INTERRUPTED),P=n(e,_),O=function(t){return y&&h(y,"normal",t),new p(!0,t)},B=function(t){return A?(o(t),E?P(t[0],t[1],O):P(t[0],t[1])):E?P(t,O):P(t)};if(C)y=t.iterator;else if(k)y=t;else{if(!(b=f(t)))throw new d(s(t)+" is not iterable");if(a(b)){for(v=0,m=c(t);m>v;v++)if((w=B(t[v]))&&u(g,w))return w;return new p(!1)}y=l(t,b)}for(S=C?t.next:y.next;!(x=i(S,y)).done;){try{w=B(x.value)}catch(t){h(y,"throw",t)}if("object"==typeof w&&w&&u(g,w))return w}return new p(!1)}},76511:function(t,e,r){"use strict";var n=r(30840),i=r(58785),o=r(25131);t.exports=function(t,e,r){var s,a;i(t);try{if(!(s=o(t,"return"))){if("throw"===e)throw r;return r}s=n(s,t)}catch(t){a=!0,s=t}if("throw"===e)throw r;if(a)throw s;return i(s),r}},56386:function(t,e,r){"use strict";var n=r(63320).IteratorPrototype,i=r(96388),o=r(90814),s=r(14853),a=r(6425),c=function(){return this};t.exports=function(t,e,r,u){var l=e+" Iterator";return t.prototype=i(n,{next:o(+!u,r)}),s(t,l,!1,!0),a[l]=c,t}},45792:function(t,e,r){"use strict";var n=r(30840),i=r(96388),o=r(52605),s=r(82190),a=r(68961),c=r(96422),u=r(25131),l=r(63320).IteratorPrototype,f=r(56625),h=r(76511),d=a("toStringTag"),p="IteratorHelper",g="WrapForValidIterator",y=c.set,b=function(t){var e=c.getterFor(t?g:p);return s(i(l),{next:function(){var r=e(this);if(t)return r.nextHandler();try{var n=r.done?void 0:r.nextHandler();return f(n,r.done)}catch(t){throw r.done=!0,t}},return:function(){var r=e(this),i=r.iterator;if(r.done=!0,t){var o=u(i,"return");return o?n(o,i):f(void 0,!0)}if(r.inner)try{h(r.inner.iterator,"normal")}catch(t){return h(i,"throw",t)}return h(i,"normal"),f(void 0,!0)}})},v=b(!0),m=b(!1);o(m,d,"Iterator Helper"),t.exports=function(t,e){var r=function(r,n){n?(n.iterator=r.iterator,n.next=r.next):n=r,n.type=e?g:p,n.nextHandler=t,n.counter=0,n.done=!1,y(this,n)};return r.prototype=e?v:m,r}},66689:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(46234),s=r(14417),a=r(70064),c=r(56386),u=r(80393),l=r(98086),f=r(14853),h=r(52605),d=r(19104),p=r(68961),g=r(6425),y=r(63320),b=s.PROPER,v=s.CONFIGURABLE,m=y.IteratorPrototype,w=y.BUGGY_SAFARI_ITERATORS,S=p("iterator"),x="keys",_="values",A="entries",C=function(){return this};t.exports=function(t,e,r,s,p,y,k){c(r,e,s);var E,P,O,B=function(t){if(t===p&&D)return D;if(!w&&t&&t in R)return R[t];switch(t){case x:case _:case A:return function(){return new r(this,t)}}return function(){return new r(this)}},I=e+" Iterator",T=!1,R=t.prototype,M=R[S]||R["@@iterator"]||p&&R[p],D=!w&&M||B(p),F="Array"===e&&R.entries||M;if(F&&(E=u(F.call(new t)))!==Object.prototype&&E.next&&(o||u(E)===m||(l?l(E,m):a(E[S])||d(E,S,C)),f(E,I,!0,!0),o&&(g[I]=C)),b&&p===_&&M&&M.name!==_&&(!o&&v?h(R,"name",_):(T=!0,D=function(){return i(M,this)})),p)if(P={values:B(_),keys:y?D:B(x),entries:B(A)},k)for(O in P)(w||T||!(O in R))&&d(R,O,P[O]);else n({target:e,proto:!0,forced:w||T},P);return o&&!k||R[S]===D||d(R,S,D,{name:p}),g[e]=D,P}},76197:function(t,e,r){"use strict";var n=r(30840),i=r(84485),o=function(t,e){return[e,t]};t.exports=function(){return n(i,this,o)}},84485:function(t,e,r){"use strict";var n=r(30840),i=r(35767),o=r(58785),s=r(79020),a=r(45792),c=r(9228),u=a((function(){var t=this.iterator,e=o(n(this.next,t));if(!(this.done=!!e.done))return c(t,this.mapper,[e.value,this.counter++],!0)}));t.exports=function(t){return o(this),i(t),new u(s(this),{mapper:t})}},63320:function(t,e,r){"use strict";var n,i,o,s=r(49402),a=r(70064),c=r(94633),u=r(96388),l=r(80393),f=r(19104),h=r(68961),d=r(46234),p=h("iterator"),g=!1;[].keys&&("next"in(o=[].keys())?(i=l(l(o)))!==Object.prototype&&(n=i):g=!0),!c(n)||s((function(){var t={};return n[p].call(t)!==t}))?n={}:d&&(n=u(n)),a(n[p])||f(n,p,(function(){return this})),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:g}},6425:function(t){"use strict";t.exports={}},73448:function(t,e,r){"use strict";var n=r(29876);t.exports=function(t){return n(t.length)}},50026:function(t,e,r){"use strict";var n=r(69421),i=r(49402),o=r(70064),s=r(91565),a=r(76202),c=r(14417).CONFIGURABLE,u=r(60009),l=r(96422),f=l.enforce,h=l.get,d=String,p=Object.defineProperty,g=n("".slice),y=n("".replace),b=n([].join),v=a&&!i((function(){return 8!==p((function(){}),"length",{value:8}).length})),m=String(String).split("String"),w=t.exports=function(t,e,r){"Symbol("===g(d(e),0,7)&&(e="["+y(d(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!s(t,"name")||c&&t.name!==e)&&(a?p(t,"name",{value:e,configurable:!0}):t.name=e),v&&r&&s(r,"arity")&&t.length!==r.arity&&p(t,"length",{value:r.arity});try{r&&s(r,"constructor")&&r.constructor?a&&p(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=f(t);return s(n,"source")||(n.source=b(m,"string"==typeof e?e:"")),t};Function.prototype.toString=w((function(){return o(this)&&h(this).source||u(this)}),"toString")},81808:function(t,e,r){"use strict";var n=r(69421),i=Map.prototype;t.exports={Map:Map,set:n(i.set),get:n(i.get),has:n(i.has),remove:n(i.delete),proto:i}},67002:function(t,e,r){"use strict";var n=r(69421),i=r(53768),o=r(81808),s=o.Map,a=o.proto,c=n(a.forEach),u=n(a.entries),l=u(new s).next;t.exports=function(t,e,r){return r?i({iterator:u(t),next:l},(function(t){return e(t[1],t[0])})):c(t,e)}},11353:function(t,e,r){"use strict";var n=r(30840),i=r(35767),o=r(70064),s=r(58785),a=TypeError;t.exports=function(t,e){var r,c=s(this),u=i(c.get),l=i(c.has),f=i(c.set),h=arguments.length>2?arguments[2]:void 0;if(!o(e)&&!o(h))throw new a("At least one callback required");return n(l,c,t)?(r=n(u,c,t),o(e)&&(r=e(r),n(f,c,t,r))):o(h)&&(r=h(),n(f,c,t,r)),r}},92721:function(t,e,r){"use strict";var n=r(54611);t.exports=Math.f16round||function(t){return n(t,.0009765625,65504,6103515625e-14)}},54611:function(t,e,r){"use strict";var n=r(45497),i=Math.abs,o=2220446049250313e-31,s=1/o;t.exports=function(t,e,r,a){var c=+t,u=i(c),l=n(c);if(u<a)return l*function(t){return t+s-s}(u/a/e)*a*e;var f=(1+e/o)*u,h=f-(f-u);return h>r||h!=h?l*(1/0):l*h}},52573:function(t,e,r){"use strict";var n=r(54611);t.exports=Math.fround||function(t){return n(t,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)}},43561:function(t){"use strict";t.exports=Math.scale||function(t,e,r,n,i){var o=+t,s=+e,a=+r,c=+n,u=+i;return o!=o||s!=s||a!=a||c!=c||u!=u?NaN:o===1/0||o===-1/0?o:(o-s)*(u-c)/(a-s)+c}},45497:function(t){"use strict";t.exports=Math.sign||function(t){var e=+t;return 0===e||e!=e?e:e<0?-1:1}},29938:function(t){"use strict";var e=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){var n=+t;return(n>0?r:e)(n)}},86934:function(t,e,r){"use strict";var n=r(49402);t.exports=!n((function(){var t="9007199254740993",e=JSON.rawJSON(t);return!JSON.isRawJSON(e)||JSON.stringify(e)!==t}))},31269:function(t,e,r){"use strict";var n=r(35767),i=TypeError,o=function(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw new i("Bad Promise constructor");e=t,r=n})),this.resolve=n(e),this.reject=n(r)};t.exports.f=function(t){return new o(t)}},55930:function(t,e,r){"use strict";var n=r(45364);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:n(t)}},77774:function(t){"use strict";var e=RangeError;t.exports=function(t){if(t==t)return t;throw new e("NaN is not allowed")}},69572:function(t,e,r){"use strict";var n=r(7925).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&n(t)}},68288:function(t,e,r){"use strict";var n=r(96422),i=r(56386),o=r(56625),s=r(1813),a=r(94633),c=r(22363),u=r(76202),l="Incorrect Iterator.range arguments",f="NumericRangeIterator",h=n.set,d=n.getterFor(f),p=RangeError,g=TypeError,y=i((function(t,e,r,n,i,o){if(typeof t!=n||e!==1/0&&e!==-1/0&&typeof e!=n)throw new g(l);if(t===1/0||t===-1/0)throw new p(l);var c,d=e>t,y=!1;if(void 0===r)c=void 0;else if(a(r))c=r.step,y=!!r.inclusive;else{if(typeof r!=n)throw new g(l);c=r}if(s(c)&&(c=d?o:-o),typeof c!=n)throw new g(l);if(c===1/0||c===-1/0||c===i&&t!==e)throw new p(l);h(this,{type:f,start:t,end:e,step:c,inclusive:y,hitsEnd:t!=t||e!=e||c!=c||e>t!=c>i,currentCount:i,zero:i}),u||(this.start=t,this.end=e,this.step=c,this.inclusive=y)}),f,(function(){var t=d(this);if(t.hitsEnd)return o(void 0,!0);var e=t.start,r=t.end,n=e+t.step*t.currentCount++;n===r&&(t.hitsEnd=!0);var i=t.inclusive;return(r>e?i?n>r:n>=r:i?r>n:r>=n)?(t.hitsEnd=!0,o(void 0,!0)):o(n,!1)})),b=function(t){c(y.prototype,t,{get:function(){return d(this)[t]},set:function(){},configurable:!0,enumerable:!1})};u&&(b("start"),b("end"),b("inclusive"),b("step")),t.exports=y},96388:function(t,e,r){"use strict";var n,i=r(58785),o=r(4445),s=r(96258),a=r(60711),c=r(94226),u=r(21633),l=r(45185),f="prototype",h="script",d=l("IE_PROTO"),p=function(){},g=function(t){return"<"+h+">"+t+"</"+h+">"},y=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},b=function(){try{n=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;b="undefined"!=typeof document?document.domain&&n?y(n):(e=u("iframe"),r="java"+h+":",e.style.display="none",c.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(g("document.F=Object")),t.close(),t.F):y(n);for(var i=s.length;i--;)delete b[f][s[i]];return b()};a[d]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(p[f]=i(t),r=new p,p[f]=null,r[d]=t):r=b(),void 0===e?r:o.f(r,e)}},4445:function(t,e,r){"use strict";var n=r(76202),i=r(5709),o=r(78841),s=r(58785),a=r(32936),c=r(77568);e.f=n&&!i?Object.defineProperties:function(t,e){s(t);for(var r,n=a(e),i=c(e),u=i.length,l=0;u>l;)o.f(t,r=i[l++],n[r]);return t}},78841:function(t,e,r){"use strict";var n=r(76202),i=r(32645),o=r(5709),s=r(58785),a=r(27832),c=TypeError,u=Object.defineProperty,l=Object.getOwnPropertyDescriptor,f="enumerable",h="configurable",d="writable";e.f=n?o?function(t,e,r){if(s(t),e=a(e),s(r),"function"==typeof t&&"prototype"===e&&"value"in r&&d in r&&!r[d]){var n=l(t,e);n&&n[d]&&(t[e]=r.value,r={configurable:h in r?r[h]:n[h],enumerable:f in r?r[f]:n[f],writable:!1})}return u(t,e,r)}:u:function(t,e,r){if(s(t),e=a(e),s(r),i)try{return u(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new c("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},93283:function(t,e,r){"use strict";var n=r(76202),i=r(30840),o=r(19183),s=r(90814),a=r(32936),c=r(27832),u=r(91565),l=r(32645),f=Object.getOwnPropertyDescriptor;e.f=n?f:function(t,e){if(t=a(t),e=c(e),l)try{return f(t,e)}catch(t){}if(u(t,e))return s(!i(o.f,t,e),t[e])}},1710:function(t,e,r){"use strict";var n=r(62915),i=r(32936),o=r(25269).f,s=r(70373),a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"Window"===n(t)?function(t){try{return o(t)}catch(t){return s(a)}}(t):o(i(t))}},25269:function(t,e,r){"use strict";var n=r(5835),i=r(96258).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return n(t,i)}},53115:function(t,e){"use strict";e.f=Object.getOwnPropertySymbols},80393:function(t,e,r){"use strict";var n=r(91565),i=r(70064),o=r(89197),s=r(45185),a=r(7570),c=s("IE_PROTO"),u=Object,l=u.prototype;t.exports=a?u.getPrototypeOf:function(t){var e=o(t);if(n(e,c))return e[c];var r=e.constructor;return i(r)&&e instanceof r?r.prototype:e instanceof u?l:null}},56047:function(t,e,r){"use strict";var n=r(49402),i=r(94633),o=r(62915),s=r(24147),a=Object.isExtensible,c=n((function(){a(1)}));t.exports=c||s?function(t){return!!i(t)&&((!s||"ArrayBuffer"!==o(t))&&(!a||a(t)))}:a},95799:function(t,e,r){"use strict";var n=r(69421);t.exports=n({}.isPrototypeOf)},92226:function(t,e,r){"use strict";var n=r(96422),i=r(56386),o=r(56625),s=r(91565),a=r(77568),c=r(89197),u="Object Iterator",l=n.set,f=n.getterFor(u);t.exports=i((function(t,e){var r=c(t);l(this,{type:u,mode:e,object:r,keys:a(r),index:0})}),"Object",(function(){for(var t=f(this),e=t.keys;;){if(null===e||t.index>=e.length)return t.object=t.keys=null,o(void 0,!0);var r=e[t.index++],n=t.object;if(s(n,r)){switch(t.mode){case"keys":return o(r,!1);case"values":return o(n[r],!1)}return o([r,n[r]],!1)}}}))},5835:function(t,e,r){"use strict";var n=r(69421),i=r(91565),o=r(32936),s=r(86054).indexOf,a=r(60711),c=n([].push);t.exports=function(t,e){var r,n=o(t),u=0,l=[];for(r in n)!i(a,r)&&i(n,r)&&c(l,r);for(;e.length>u;)i(n,r=e[u++])&&(~s(l,r)||c(l,r));return l}},77568:function(t,e,r){"use strict";var n=r(5835),i=r(96258);t.exports=Object.keys||function(t){return n(t,i)}},19183:function(t,e){"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,i=n&&!r.call({1:2},1);e.f=i?function(t){var e=n(this,t);return!!e&&e.enumerable}:r},98086:function(t,e,r){"use strict";var n=r(1309),i=r(58785),o=r(63592);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=n(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return i(r),o(n),e?t(r,n):r.__proto__=n,r}}():void 0)},43055:function(t,e,r){"use strict";var n=r(30840),i=r(70064),o=r(94633),s=TypeError;t.exports=function(t,e){var r,a;if("string"===e&&i(r=t.toString)&&!o(a=n(r,t)))return a;if(i(r=t.valueOf)&&!o(a=n(r,t)))return a;if("string"!==e&&i(r=t.toString)&&!o(a=n(r,t)))return a;throw new s("Can't convert object to primitive value")}},52399:function(t,e,r){"use strict";var n=r(32078),i=r(69421),o=r(25269),s=r(53115),a=r(58785),c=i([].concat);t.exports=n("Reflect","ownKeys")||function(t){var e=o.f(a(t)),r=s.f;return r?c(e,r(t)):e}},3991:function(t,e,r){"use strict";var n=r(69421),i=r(91565),o=SyntaxError,s=parseInt,a=String.fromCharCode,c=n("".charAt),u=n("".slice),l=n(/./.exec),f={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},h=/^[\da-f]{4}$/i,d=/^[\u0000-\u001F]$/;t.exports=function(t,e){for(var r=!0,n="";e<t.length;){var p=c(t,e);if("\\"===p){var g=u(t,e,e+2);if(i(f,g))n+=f[g],e+=2;else{if("\\u"!==g)throw new o('Unknown escape sequence: "'+g+'"');var y=u(t,e+=2,e+4);if(!l(h,y))throw new o("Bad Unicode escape at: "+e);n+=a(s(y,16)),e+=4}}else{if('"'===p){r=!1,e++;break}if(l(d,p))throw new o("Bad control character in string literal at: "+e);n+=p,e++}}if(r)throw new o("Unterminated string at: "+e);return{value:n,end:e}}},92642:function(t,e,r){"use strict";var n=r(7925);t.exports=n},43556:function(t){"use strict";t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},47087:function(t,e,r){"use strict";r(97663),r(79780);var n=r(32078),i=r(69421),o=r(79329),s=n("Map"),a=n("WeakMap"),c=i([].push),u=o("metadata"),l=u.store||(u.store=new a),f=function(t,e,r){var n=l.get(t);if(!n){if(!r)return;l.set(t,n=new s)}var i=n.get(e);if(!i){if(!r)return;n.set(e,i=new s)}return i};t.exports={store:l,getMap:f,has:function(t,e,r){var n=f(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=f(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){f(r,n,!0).set(t,e)},keys:function(t,e){var r=f(t,e,!1),n=[];return r&&r.forEach((function(t,e){c(n,e)})),n},toKey:function(t){return void 0===t||"symbol"==typeof t?t:String(t)}}},89990:function(t,e,r){"use strict";var n=r(58785);t.exports=function(){var t=n(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e}},48448:function(t,e,r){"use strict";var n=r(30840),i=r(91565),o=r(95799),s=r(89990),a=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||"flags"in a||i(t,"flags")||!o(a,t)?e:n(s,t)}},66325:function(t,e,r){"use strict";var n=r(1813),i=TypeError;t.exports=function(t){if(n(t))throw new i("Can't call method on "+t);return t}},59945:function(t){"use strict";t.exports=function(t,e){return t===e||t!=t&&e!=e}},79913:function(t,e,r){"use strict";var n,i=r(7925),o=r(65177),s=r(70064),a=r(7173),c=r(90584),u=r(70373),l=r(18418),f=i.Function,h=/MSIE .\./.test(c)||a&&((n=i.Bun.version.split(".")).length<3||"0"===n[0]&&(n[1]<3||"3"===n[1]&&"0"===n[2]));t.exports=function(t,e){var r=e?2:1;return h?function(n,i){var a=l(arguments.length,1)>r,c=s(n)?n:f(n),h=a?u(arguments,r):[],d=a?function(){o(c,this,h)}:c;return e?t(d,i):t(d)}:t}},57686:function(t,e,r){"use strict";var n=r(77258),i=r(18505),o=n.Set,s=n.add;t.exports=function(t){var e=new o;return i(t,(function(t){s(e,t)})),e}},81005:function(t,e,r){"use strict";var n=r(27365),i=r(77258),o=r(57686),s=r(54673),a=r(77201),c=r(18505),u=r(53768),l=i.has,f=i.remove;t.exports=function(t){var e=n(this),r=a(t),i=o(e);return s(e)<=r.size?c(e,(function(t){r.includes(t)&&f(i,t)})):u(r.getIterator(),(function(t){l(e,t)&&f(i,t)})),i}},77258:function(t,e,r){"use strict";var n=r(69421),i=Set.prototype;t.exports={Set:Set,add:n(i.add),has:n(i.has),remove:n(i.delete),proto:i}},90155:function(t,e,r){"use strict";var n=r(27365),i=r(77258),o=r(54673),s=r(77201),a=r(18505),c=r(53768),u=i.Set,l=i.add,f=i.has;t.exports=function(t){var e=n(this),r=s(t),i=new u;return o(e)>r.size?c(r.getIterator(),(function(t){f(e,t)&&l(i,t)})):a(e,(function(t){r.includes(t)&&l(i,t)})),i}},27649:function(t,e,r){"use strict";var n=r(27365),i=r(77258).has,o=r(54673),s=r(77201),a=r(18505),c=r(53768),u=r(76511);t.exports=function(t){var e=n(this),r=s(t);if(o(e)<=r.size)return!1!==a(e,(function(t){if(r.includes(t))return!1}),!0);var l=r.getIterator();return!1!==c(l,(function(t){if(i(e,t))return u(l,"normal",!1)}))}},84161:function(t,e,r){"use strict";var n=r(27365),i=r(54673),o=r(18505),s=r(77201);t.exports=function(t){var e=n(this),r=s(t);return!(i(e)>r.size)&&!1!==o(e,(function(t){if(!r.includes(t))return!1}),!0)}},43349:function(t,e,r){"use strict";var n=r(27365),i=r(77258).has,o=r(54673),s=r(77201),a=r(53768),c=r(76511);t.exports=function(t){var e=n(this),r=s(t);if(o(e)<r.size)return!1;var u=r.getIterator();return!1!==a(u,(function(t){if(!i(e,t))return c(u,"normal",!1)}))}},18505:function(t,e,r){"use strict";var n=r(69421),i=r(53768),o=r(77258),s=o.Set,a=o.proto,c=n(a.forEach),u=n(a.keys),l=u(new s).next;t.exports=function(t,e,r){return r?i({iterator:u(t),next:l},e):c(t,e)}},85271:function(t,e,r){"use strict";var n=r(32078),i=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};t.exports=function(t){var e=n("Set");try{(new e)[t](i(0));try{return(new e)[t](i(-1)),!1}catch(t){return!0}}catch(t){return!1}}},54673:function(t,e,r){"use strict";var n=r(1309),i=r(77258);t.exports=n(i.proto,"size","get")||function(t){return t.size}},88228:function(t,e,r){"use strict";var n=r(32078),i=r(22363),o=r(68961),s=r(76202),a=o("species");t.exports=function(t){var e=n(t);s&&e&&!e[a]&&i(e,a,{configurable:!0,get:function(){return this}})}},99835:function(t,e,r){"use strict";var n=r(27365),i=r(77258),o=r(57686),s=r(77201),a=r(53768),c=i.add,u=i.has,l=i.remove;t.exports=function(t){var e=n(this),r=s(t).getIterator(),i=o(e);return a(r,(function(t){u(e,t)?l(i,t):c(i,t)})),i}},14853:function(t,e,r){"use strict";var n=r(78841).f,i=r(91565),o=r(68961)("toStringTag");t.exports=function(t,e,r){t&&!r&&(t=t.prototype),t&&!i(t,o)&&n(t,o,{configurable:!0,value:e})}},13879:function(t,e,r){"use strict";var n=r(27365),i=r(77258).add,o=r(57686),s=r(77201),a=r(53768);t.exports=function(t){var e=n(this),r=s(t).getIterator(),c=o(e);return a(r,(function(t){i(c,t)})),c}},45185:function(t,e,r){"use strict";var n=r(79329),i=r(27919),o=n("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},10137:function(t,e,r){"use strict";var n=r(7925),i=r(92428),o="__core-js_shared__",s=n[o]||i(o,{});t.exports=s},79329:function(t,e,r){"use strict";var n=r(46234),i=r(10137);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.35.0",mode:n?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.35.0/LICENSE",source:"https://github.com/zloirock/core-js"})},44487:function(t,e,r){"use strict";var n=r(58785),i=r(23013),o=r(1813),s=r(68961)("species");t.exports=function(t,e){var r,a=n(t).constructor;return void 0===a||o(r=n(a)[s])?e:i(r)}},55176:function(t,e,r){"use strict";var n=r(69421),i=r(32936),o=r(45364),s=r(73448),a=TypeError,c=n([].push),u=n([].join);t.exports=function(t){var e=i(t),r=s(e);if(!r)return"";for(var n=arguments.length,l=[],f=0;;){var h=e[f++];if(void 0===h)throw new a("Incorrect template");if(c(l,o(h)),f===r)return u(l,"");f<n&&c(l,o(arguments[f]))}}},62882:function(t,e,r){"use strict";var n=r(69421),i=r(69640),o=r(45364),s=r(66325),a=n("".charAt),c=n("".charCodeAt),u=n("".slice),l=function(t){return function(e,r){var n,l,f=o(s(e)),h=i(r),d=f.length;return h<0||h>=d?t?"":void 0:(n=c(f,h))<55296||n>56319||h+1===d||(l=c(f,h+1))<56320||l>57343?t?a(f,h):n:t?u(f,h,h+2):l-56320+(n-55296<<10)+65536}};t.exports={codeAt:l(!1),charAt:l(!0)}},81230:function(t,e,r){"use strict";var n=r(32078),i=r(69421),o=String.fromCharCode,s=n("String","fromCodePoint"),a=i("".charAt),c=i("".charCodeAt),u=i("".indexOf),l=i("".slice),f=function(t,e){var r=c(t,e);return r>=48&&r<=57},h=function(t,e,r){if(r>=t.length)return-1;for(var n=0;e<r;e++){var i=d(c(t,e));if(-1===i)return-1;n=16*n+i}return n},d=function(t){return t>=48&&t<=57?t-48:t>=97&&t<=102?t-97+10:t>=65&&t<=70?t-65+10:-1};t.exports=function(t){for(var e,r="",n=0,i=0;(i=u(t,"\\",i))>-1;){if(r+=l(t,n,i),++i===t.length)return;var c=a(t,i++);switch(c){case"b":r+="\b";break;case"t":r+="\t";break;case"n":r+="\n";break;case"v":r+="\v";break;case"f":r+="\f";break;case"r":r+="\r";break;case"\r":i<t.length&&"\n"===a(t,i)&&++i;case"\n":case"\u2028":case"\u2029":break;case"0":if(f(t,i))return;r+="\0";break;case"x":if(-1===(e=h(t,i,i+2)))return;i+=2,r+=o(e);break;case"u":if(i<t.length&&"{"===a(t,i)){var d=u(t,"}",++i);if(-1===d)return;e=h(t,i,d),i=d+1}else e=h(t,i,i+4),i+=4;if(-1===e||e>1114111)return;r+=s(e);break;default:if(f(c,0))return;r+=c}n=i}return r+l(t,n)}},72093:function(t,e,r){"use strict";var n=r(7925),i=r(49402),o=r(11915),s=r(87403),a=r(14151),c=r(97125),u=n.structuredClone;t.exports=!!u&&!i((function(){if(a&&o>92||c&&o>94||s&&o>97)return!1;var t=new ArrayBuffer(8),e=u(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength}))},77054:function(t,e,r){"use strict";var n=r(11915),i=r(49402),o=r(7925).String;t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol("symbol detection");return!o(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&n&&n<41}))},8587:function(t,e,r){"use strict";var n=r(32078),i=r(69421),o=n("Symbol"),s=o.keyFor,a=i(o.prototype.valueOf);t.exports=o.isRegisteredSymbol||function(t){try{return void 0!==s(a(t))}catch(t){return!1}}},73950:function(t,e,r){"use strict";for(var n=r(79329),i=r(32078),o=r(69421),s=r(39936),a=r(68961),c=i("Symbol"),u=c.isWellKnownSymbol,l=i("Object","getOwnPropertyNames"),f=o(c.prototype.valueOf),h=n("wks"),d=0,p=l(c),g=p.length;d<g;d++)try{var y=p[d];s(c[y])&&a(y)}catch(t){}t.exports=function(t){if(u&&u(t))return!0;try{for(var e=f(t),r=0,n=l(h),i=n.length;r<i;r++)if(h[n[r]]==e)return!0}catch(t){}return!1}},12027:function(t,e,r){"use strict";var n,i,o,s,a=r(7925),c=r(65177),u=r(80004),l=r(70064),f=r(91565),h=r(49402),d=r(94226),p=r(70373),g=r(21633),y=r(18418),b=r(11517),v=r(97125),m=a.setImmediate,w=a.clearImmediate,S=a.process,x=a.Dispatch,_=a.Function,A=a.MessageChannel,C=a.String,k=0,E={},P="onreadystatechange";h((function(){n=a.location}));var O=function(t){if(f(E,t)){var e=E[t];delete E[t],e()}},B=function(t){return function(){O(t)}},I=function(t){O(t.data)},T=function(t){a.postMessage(C(t),n.protocol+"//"+n.host)};m&&w||(m=function(t){y(arguments.length,1);var e=l(t)?t:_(t),r=p(arguments,1);return E[++k]=function(){c(e,void 0,r)},i(k),k},w=function(t){delete E[t]},v?i=function(t){S.nextTick(B(t))}:x&&x.now?i=function(t){x.now(B(t))}:A&&!b?(s=(o=new A).port2,o.port1.onmessage=I,i=u(s.postMessage,s)):a.addEventListener&&l(a.postMessage)&&!a.importScripts&&n&&"file:"!==n.protocol&&!h(T)?(i=T,a.addEventListener("message",I,!1)):i=P in g("script")?function(t){d.appendChild(g("script"))[P]=function(){d.removeChild(this),O(t)}}:function(t){setTimeout(B(t),0)}),t.exports={set:m,clear:w}},26281:function(t,e,r){"use strict";var n=r(69640),i=Math.max,o=Math.min;t.exports=function(t,e){var r=n(t);return r<0?i(r+e,0):o(r,e)}},56653:function(t,e,r){"use strict";var n=r(91094),i=TypeError;t.exports=function(t){var e=n(t,"number");if("number"==typeof e)throw new i("Can't convert number to bigint");return BigInt(e)}},91471:function(t,e,r){"use strict";var n=r(69640),i=r(29876),o=RangeError;t.exports=function(t){if(void 0===t)return 0;var e=n(t),r=i(e);if(e!==r)throw new o("Wrong length or index");return r}},32936:function(t,e,r){"use strict";var n=r(70413),i=r(66325);t.exports=function(t){return n(i(t))}},69640:function(t,e,r){"use strict";var n=r(29938);t.exports=function(t){var e=+t;return e!=e||0===e?0:n(e)}},29876:function(t,e,r){"use strict";var n=r(69640),i=Math.min;t.exports=function(t){return t>0?i(n(t),9007199254740991):0}},89197:function(t,e,r){"use strict";var n=r(66325),i=Object;t.exports=function(t){return i(n(t))}},40183:function(t,e,r){"use strict";var n=r(69640),i=RangeError;t.exports=function(t){var e=n(t);if(e<0)throw new i("The argument can't be less than 0");return e}},91094:function(t,e,r){"use strict";var n=r(30840),i=r(94633),o=r(39936),s=r(25131),a=r(43055),c=r(68961),u=TypeError,l=c("toPrimitive");t.exports=function(t,e){if(!i(t)||o(t))return t;var r,c=s(t,l);if(c){if(void 0===e&&(e="default"),r=n(c,t,e),!i(r)||o(r))return r;throw new u("Can't convert object to primitive value")}return void 0===e&&(e="number"),a(t,e)}},27832:function(t,e,r){"use strict";var n=r(91094),i=r(39936);t.exports=function(t){var e=n(t,"string");return i(e)?e:e+""}},33338:function(t,e,r){"use strict";var n=r(32078),i=r(70064),o=r(7862),s=r(94633),a=n("Set");t.exports=function(t){return function(t){return s(t)&&"number"==typeof t.size&&i(t.has)&&i(t.keys)}(t)?t:o(t)?new a(t):t}},21028:function(t,e,r){"use strict";var n={};n[r(68961)("toStringTag")]="z",t.exports="[object z]"===String(n)},45364:function(t,e,r){"use strict";var n=r(61692),i=String;t.exports=function(t){if("Symbol"===n(t))throw new TypeError("Cannot convert a Symbol value to a string");return i(t)}},36624:function(t){"use strict";var e=Math.round;t.exports=function(t){var r=e(t);return r<0?0:r>255?255:255&r}},98831:function(t,e,r){"use strict";var n=r(97125);t.exports=function(t){try{if(n)return Function('return require("'+t+'")')()}catch(t){}}},28647:function(t){"use strict";var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},1891:function(t,e,r){"use strict";var n=r(28754),i=r(48853);t.exports=function(t,e){return n(i(t),e)}},48853:function(t,e,r){"use strict";var n=r(67858),i=r(44487),o=n.aTypedArrayConstructor,s=n.getTypedArrayConstructor;t.exports=function(t){return o(i(t,s(t)))}},27919:function(t,e,r){"use strict";var n=r(69421),i=0,o=Math.random(),s=n(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++i+o,36)}},68991:function(t,e,r){"use strict";var n=r(49402),i=r(68961),o=r(76202),s=r(46234),a=i("iterator");t.exports=!n((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach((function(t,r){e.delete("b"),n+=r+t})),r.delete("a",2),r.delete("b",void 0),s&&(!t.toJSON||!r.has("a",1)||r.has("a",2)||!r.has("a",void 0)||r.has("b"))||!e.size&&(s||!o)||!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},14935:function(t,e,r){"use strict";var n=r(77054);t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},5709:function(t,e,r){"use strict";var n=r(76202),i=r(49402);t.exports=n&&i((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},18418:function(t){"use strict";var e=TypeError;t.exports=function(t,r){if(t<r)throw new e("Not enough arguments");return t}},56363:function(t,e,r){"use strict";var n=r(7925),i=r(70064),o=n.WeakMap;t.exports=i(o)&&/native code/.test(String(o))},53571:function(t,e,r){"use strict";var n=r(69421),i=WeakMap.prototype;t.exports={WeakMap:WeakMap,set:n(i.set),get:n(i.get),has:n(i.has),remove:n(i.delete)}},60294:function(t,e,r){"use strict";var n=r(69421),i=WeakSet.prototype;t.exports={WeakSet:WeakSet,add:n(i.add),has:n(i.has),remove:n(i.delete)}},51462:function(t,e,r){"use strict";var n=r(92642),i=r(91565),o=r(82027),s=r(78841).f;t.exports=function(t){var e=n.Symbol||(n.Symbol={});i(e,t)||s(e,t,{value:o.f(t)})}},82027:function(t,e,r){"use strict";var n=r(68961);e.f=n},68961:function(t,e,r){"use strict";var n=r(7925),i=r(79329),o=r(91565),s=r(27919),a=r(77054),c=r(14935),u=n.Symbol,l=i("wks"),f=c?u.for||u:u&&u.withoutSetter||s;t.exports=function(t){return o(l,t)||(l[t]=a&&o(u,t)?u[t]:f("Symbol."+t)),l[t]}},67679:function(t){"use strict";t.exports="\t\n\v\f\r                　\u2028\u2029\ufeff"},21941:function(t,e,r){"use strict";var n=r(56868),i=r(89197),o=r(73448),s=r(32643),a=r(62283);n({target:"Array",proto:!0,arity:1,forced:r(49402)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function(t){var e=i(this),r=o(e),n=arguments.length;a(r+n);for(var c=0;c<n;c++)e[r]=arguments[c],r++;return s(e,r),r}})},55588:function(t,e,r){"use strict";var n=r(56868),i=r(50934),o=r(32936),s=r(68305),a=Array;n({target:"Array",proto:!0},{toReversed:function(){return i(o(this),a)}}),s("toReversed")},10803:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(35767),s=r(32936),a=r(28754),c=r(52828),u=r(68305),l=Array,f=i(c("Array","sort"));n({target:"Array",proto:!0},{toSorted:function(t){void 0!==t&&o(t);var e=s(this),r=a(l,e);return f(r,t)}}),u("toSorted")},35898:function(t,e,r){"use strict";var n=r(56868),i=r(68305),o=r(62283),s=r(73448),a=r(26281),c=r(32936),u=r(69640),l=Array,f=Math.max,h=Math.min;n({target:"Array",proto:!0},{toSpliced:function(t,e){var r,n,i,d,p=c(this),g=s(p),y=a(t,g),b=arguments.length,v=0;for(0===b?r=n=0:1===b?(r=0,n=g-y):(r=b-2,n=h(f(u(e),0),g-y)),i=o(g+r-n),d=l(i);v<y;v++)d[v]=p[v];for(;v<y+r;v++)d[v]=arguments[v-y+2];for(;v<i;v++)d[v]=p[v+n-r];return d}}),i("toSpliced")},5312:function(t,e,r){"use strict";var n=r(56868),i=r(89197),o=r(73448),s=r(32643),a=r(82847),c=r(62283);n({target:"Array",proto:!0,arity:1,forced:1!==[].unshift(0)||!function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(t){return t instanceof TypeError}}()},{unshift:function(t){var e=i(this),r=o(e),n=arguments.length;if(n){c(r+n);for(var u=r;u--;){var l=u+n;u in e?e[l]=e[u]:a(e,l)}for(var f=0;f<n;f++)e[f]=arguments[f]}return s(e,r+n)}})},44111:function(t,e,r){"use strict";var n=r(56868),i=r(78470),o=r(32936),s=Array;n({target:"Array",proto:!0},{with:function(t,e){return i(o(this),s,t,e)}})},38819:function(t,e,r){"use strict";r(46165)("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),r(15705))},46100:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(35767),s=r(66325),a=r(97887),c=r(81808),u=r(46234),l=c.Map,f=c.has,h=c.get,d=c.set,p=i([].push);n({target:"Map",stat:!0,forced:u},{groupBy:function(t,e){s(t),o(e);var r=new l,n=0;return a(t,(function(t){var i=e(t,n++);f(r,i)?p(h(r,i),t):d(r,i,[t])})),r}})},97663:function(t,e,r){"use strict";r(38819)},43314:function(t,e,r){"use strict";var n=r(56868),i=r(32078),o=r(69421),s=r(35767),a=r(66325),c=r(27832),u=r(97887),l=i("Object","create"),f=o([].push);n({target:"Object",stat:!0},{groupBy:function(t,e){a(t),s(e);var r=l(null),n=0;return u(t,(function(t){var i=c(e(t,n++));i in r?f(r[i],t):r[i]=[t]})),r}})},41814:function(t,e,r){"use strict";var n=r(56868),i=r(31269);n({target:"Promise",stat:!0},{withResolvers:function(){var t=i.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}})},46678:function(t,e,r){"use strict";var n=r(7925),i=r(76202),o=r(22363),s=r(89990),a=r(49402),c=n.RegExp,u=c.prototype;i&&a((function(){var t=!0;try{c(".","d")}catch(e){t=!1}var e={},r="",n=t?"dgimsy":"gimsy",i=function(t,n){Object.defineProperty(e,t,{get:function(){return r+=n,!0}})},o={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var s in t&&(o.hasIndices="d"),o)i(s,o[s]);return Object.getOwnPropertyDescriptor(u,"flags").get.call(e)!==n||r!==n}))&&o(u,"flags",{configurable:!0,get:s})},12526:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(66325),s=r(45364),a=i("".charCodeAt);n({target:"String",proto:!0},{isWellFormed:function(){for(var t=s(o(this)),e=t.length,r=0;r<e;r++){var n=a(t,r);if(55296==(63488&n)&&(n>=56320||++r>=e||56320!=(64512&a(t,r))))return!1}return!0}})},76354:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(69421),s=r(66325),a=r(45364),c=r(49402),u=Array,l=o("".charAt),f=o("".charCodeAt),h=o([].join),d="".toWellFormed,p=d&&c((function(){return"1"!==i(d,1)}));n({target:"String",proto:!0,forced:p},{toWellFormed:function(){var t=a(s(this));if(p)return i(d,t);for(var e=t.length,r=u(e),n=0;n<e;n++){var o=f(t,n);55296!=(63488&o)?r[n]=l(t,n):o>=56320||n+1>=e||56320!=(64512&f(t,n+1))?r[n]="�":(r[n]=l(t,n),r[++n]=l(t,n))}return h(r,"")}})},55812:function(t,e,r){"use strict";var n=r(50934),i=r(67858),o=i.aTypedArray,s=i.exportTypedArrayMethod,a=i.getTypedArrayConstructor;s("toReversed",(function(){return n(o(this),a(this))}))},22974:function(t,e,r){"use strict";var n=r(67858),i=r(69421),o=r(35767),s=r(28754),a=n.aTypedArray,c=n.getTypedArrayConstructor,u=n.exportTypedArrayMethod,l=i(n.TypedArrayPrototype.sort);u("toSorted",(function(t){void 0!==t&&o(t);var e=a(this),r=s(c(e),e);return l(r,t)}))},29555:function(t,e,r){"use strict";var n=r(78470),i=r(67858),o=r(10181),s=r(69640),a=r(56653),c=i.aTypedArray,u=i.getTypedArrayConstructor,l=i.exportTypedArrayMethod,f=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(t){return 8===t}}();l("with",{with:function(t,e){var r=c(this),i=s(t),l=o(r)?a(e):+e;return n(r,u(r),i,l)}}.with,!f)},40630:function(t,e,r){"use strict";var n,i=r(54133),o=r(7925),s=r(69421),a=r(82190),c=r(61176),u=r(46165),l=r(14857),f=r(94633),h=r(96422).enforce,d=r(49402),p=r(56363),g=Object,y=Array.isArray,b=g.isExtensible,v=g.isFrozen,m=g.isSealed,w=g.freeze,S=g.seal,x=!o.ActiveXObject&&"ActiveXObject"in o,_=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},A=u("WeakMap",_,l),C=A.prototype,k=s(C.set);if(p)if(x){n=l.getConstructor(_,"WeakMap",!0),c.enable();var E=s(C.delete),P=s(C.has),O=s(C.get);a(C,{delete:function(t){if(f(t)&&!b(t)){var e=h(this);return e.frozen||(e.frozen=new n),E(this,t)||e.frozen.delete(t)}return E(this,t)},has:function(t){if(f(t)&&!b(t)){var e=h(this);return e.frozen||(e.frozen=new n),P(this,t)||e.frozen.has(t)}return P(this,t)},get:function(t){if(f(t)&&!b(t)){var e=h(this);return e.frozen||(e.frozen=new n),P(this,t)?O(this,t):e.frozen.get(t)}return O(this,t)},set:function(t,e){if(f(t)&&!b(t)){var r=h(this);r.frozen||(r.frozen=new n),P(this,t)?k(this,t,e):r.frozen.set(t,e)}else k(this,t,e);return this}})}else i&&d((function(){var t=w([]);return k(new A,t,1),!v(t)}))&&a(C,{set:function(t,e){var r;return y(t)&&(v(t)?r=w:m(t)&&(r=S)),k(this,t,e),r&&r(t),this}})},79780:function(t,e,r){"use strict";r(40630)},4079:function(t,e,r){"use strict";var n=r(76202),i=r(22363),o=r(78650),s=ArrayBuffer.prototype;n&&!("detached"in s)&&i(s,"detached",{configurable:!0,get:function(){return o(this)}})},34927:function(t,e,r){"use strict";var n=r(56868),i=r(53318);i&&n({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return i(this,arguments.length?arguments[0]:void 0,!1)}})},43246:function(t,e,r){"use strict";var n=r(56868),i=r(53318);i&&n({target:"ArrayBuffer",proto:!0},{transfer:function(){return i(this,arguments.length?arguments[0]:void 0,!0)}})},39188:function(t,e,r){"use strict";var n=r(56868),i=r(88874).filterReject,o=r(68305);n({target:"Array",proto:!0,forced:!0},{filterOut:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("filterOut")},64616:function(t,e,r){"use strict";var n=r(56868),i=r(88874).filterReject,o=r(68305);n({target:"Array",proto:!0,forced:!0},{filterReject:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("filterReject")},51283:function(t,e,r){"use strict";r(56868)({target:"Array",stat:!0},{fromAsync:r(49260)})},27738:function(t,e,r){"use strict";var n=r(56868),i=r(90790),o=r(68305),s=r(97372);n({target:"Array",proto:!0,name:"groupToMap",forced:r(46234)||!i("groupByToMap")},{groupByToMap:s}),o("groupByToMap")},26044:function(t,e,r){"use strict";var n=r(56868),i=r(8824),o=r(90790),s=r(68305);n({target:"Array",proto:!0,forced:!o("groupBy")},{groupBy:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),s("groupBy")},22291:function(t,e,r){"use strict";var n=r(56868),i=r(68305),o=r(97372);n({target:"Array",proto:!0,forced:r(46234)},{groupToMap:o}),i("groupToMap")},79822:function(t,e,r){"use strict";var n=r(56868),i=r(8824),o=r(68305);n({target:"Array",proto:!0},{group:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),o("group")},71075:function(t,e,r){"use strict";var n=r(56868),i=r(95542),o=Object.isFrozen,s=function(t,e){if(!o||!i(t)||!o(t))return!1;for(var r,n=0,s=t.length;n<s;)if(!("string"==typeof(r=t[n++])||e&&void 0===r))return!1;return 0!==s};n({target:"Array",stat:!0,sham:!0,forced:!0},{isTemplateObject:function(t){if(!s(t,!0))return!1;var e=t.raw;return e.length===t.length&&s(e,!1)}})},60011:function(t,e,r){"use strict";var n=r(76202),i=r(68305),o=r(89197),s=r(73448),a=r(22363);n&&(a(Array.prototype,"lastIndex",{configurable:!0,get:function(){var t=o(this),e=s(t);return 0===e?0:e-1}}),i("lastIndex"))},13892:function(t,e,r){"use strict";var n=r(76202),i=r(68305),o=r(89197),s=r(73448),a=r(22363);n&&(a(Array.prototype,"lastItem",{configurable:!0,get:function(){var t=o(this),e=s(t);return 0===e?void 0:t[e-1]},set:function(t){var e=o(this),r=s(e);return e[0===r?0:r-1]=t}}),i("lastItem"))},45138:function(t,e,r){"use strict";var n=r(56868),i=r(68305);n({target:"Array",proto:!0,forced:!0},{uniqueBy:r(38447)}),i("uniqueBy")},39636:function(t,e,r){"use strict";var n=r(56868),i=r(76202),o=r(32078),s=r(35767),a=r(74691),c=r(19104),u=r(82190),l=r(22363),f=r(68961),h=r(96422),d=r(2573),p=o("Promise"),g=o("SuppressedError"),y=ReferenceError,b=f("asyncDispose"),v=f("toStringTag"),m="AsyncDisposableStack",w=h.set,S=h.getterFor(m),x="async-dispose",_="disposed",A=function(t){var e=S(t);if(e.state===_)throw new y(m+" already disposed");return e},C=function(){w(a(this,k),{type:m,state:"pending",stack:[]}),i||(this.disposed=!1)},k=C.prototype;u(k,{disposeAsync:function(){var t=this;return new p((function(e,r){var n=S(t);if(n.state===_)return e(void 0);n.state=_,i||(t.disposed=!0);var o,s=n.stack,a=s.length,c=!1,u=function(t){c?o=new g(t,o):(c=!0,o=t),l()},l=function(){if(a){var t=s[--a];s[a]=null;try{p.resolve(t()).then(l,u)}catch(t){u(t)}}else n.stack=null,c?r(o):e(void 0)};l()}))},use:function(t){return d(A(this),t,x),t},adopt:function(t,e){var r=A(this);return s(e),d(r,void 0,x,(function(){return e(t)})),t},defer:function(t){var e=A(this);s(t),d(e,void 0,x,t)},move:function(){var t=A(this),e=new C;return S(e).stack=t.stack,t.stack=[],t.state=_,i||(this.disposed=!0),e}}),i&&l(k,"disposed",{configurable:!0,get:function(){return S(this).state===_}}),c(k,b,k.disposeAsync,{name:"disposeAsync"}),c(k,v,m,{nonWritable:!0}),n({global:!0,constructor:!0},{AsyncDisposableStack:C})},58781:function(t,e,r){"use strict";r(56868)({target:"AsyncIterator",name:"indexed",proto:!0,real:!0,forced:!0},{asIndexedPairs:r(41064)})},77873:function(t,e,r){"use strict";var n=r(30840),i=r(19104),o=r(32078),s=r(25131),a=r(91565),c=r(68961),u=r(97489),l=c("asyncDispose"),f=o("Promise");a(u,l)||i(u,l,(function(){var t=this;return new f((function(e,r){var i=s(t,"return");i?f.resolve(n(i,t)).then((function(){e(void 0)}),r):e(void 0)}))}))},33180:function(t,e,r){"use strict";var n=r(56868),i=r(74691),o=r(80393),s=r(52605),a=r(91565),c=r(68961),u=r(97489),l=r(46234),f=c("toStringTag"),h=TypeError,d=function(){if(i(this,u),o(this)===u)throw new h("Abstract class AsyncIterator not directly constructable")};d.prototype=u,a(u,f)||s(u,f,"AsyncIterator"),!l&&a(u,"constructor")&&u.constructor!==Object||s(u,"constructor",d),n({global:!0,constructor:!0,forced:l},{AsyncIterator:d})},18684:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(58785),s=r(79020),a=r(77774),c=r(40183),u=r(70061),l=r(56625),f=r(46234),h=u((function(t){var e=this;return new t((function(r,n){var s=function(t){e.done=!0,n(t)},a=function(){try{t.resolve(o(i(e.next,e.iterator))).then((function(t){try{o(t).done?(e.done=!0,r(l(void 0,!0))):e.remaining?(e.remaining--,a()):r(l(t.value,!1))}catch(t){s(t)}}),s)}catch(t){s(t)}};a()}))}));n({target:"AsyncIterator",proto:!0,real:!0,forced:f},{drop:function(t){o(this);var e=c(a(+t));return new h(s(this),{remaining:e})}})},5722:function(t,e,r){"use strict";var n=r(56868),i=r(20250).every;n({target:"AsyncIterator",proto:!0,real:!0},{every:function(t){return i(this,t)}})},74957:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(35767),s=r(58785),a=r(94633),c=r(79020),u=r(70061),l=r(56625),f=r(19776),h=r(46234),d=u((function(t){var e=this,r=e.iterator,n=e.predicate;return new t((function(o,c){var u=function(t){e.done=!0,c(t)},h=function(t){f(r,u,t,u)},d=function(){try{t.resolve(s(i(e.next,r))).then((function(r){try{if(s(r).done)e.done=!0,o(l(void 0,!0));else{var i=r.value;try{var c=n(i,e.counter++),f=function(t){t?o(l(i,!1)):d()};a(c)?t.resolve(c).then(f,h):f(c)}catch(t){h(t)}}}catch(t){u(t)}}),u)}catch(t){u(t)}};d()}))}));n({target:"AsyncIterator",proto:!0,real:!0,forced:h},{filter:function(t){return s(this),o(t),new d(c(this),{predicate:t})}})},33631:function(t,e,r){"use strict";var n=r(56868),i=r(20250).find;n({target:"AsyncIterator",proto:!0,real:!0},{find:function(t){return i(this,t)}})},71863:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(35767),s=r(58785),a=r(94633),c=r(79020),u=r(70061),l=r(56625),f=r(83712),h=r(19776),d=r(46234),p=u((function(t){var e=this,r=e.iterator,n=e.mapper;return new t((function(o,c){var u=function(t){e.done=!0,c(t)},d=function(t){h(r,u,t,u)},p=function(){try{t.resolve(s(i(e.next,r))).then((function(r){try{if(s(r).done)e.done=!0,o(l(void 0,!0));else{var i=r.value;try{var c=n(i,e.counter++),h=function(t){try{e.inner=f(t),g()}catch(t){d(t)}};a(c)?t.resolve(c).then(h,d):h(c)}catch(t){d(t)}}}catch(t){u(t)}}),u)}catch(t){u(t)}},g=function(){var r=e.inner;if(r)try{t.resolve(s(i(r.next,r.iterator))).then((function(t){try{s(t).done?(e.inner=null,p()):o(l(t.value,!1))}catch(t){d(t)}}),d)}catch(t){d(t)}else p()};g()}))}));n({target:"AsyncIterator",proto:!0,real:!0,forced:d},{flatMap:function(t){return s(this),o(t),new p(c(this),{mapper:t,inner:null})}})},60903:function(t,e,r){"use strict";var n=r(56868),i=r(20250).forEach;n({target:"AsyncIterator",proto:!0,real:!0},{forEach:function(t){return i(this,t)}})},43489:function(t,e,r){"use strict";var n=r(56868),i=r(89197),o=r(95799),s=r(83712),a=r(97489),c=r(6449);n({target:"AsyncIterator",stat:!0,forced:r(46234)},{from:function(t){var e=s("string"==typeof t?i(t):t);return o(a,e.iterator)?e.iterator:new c(e)}})},70065:function(t,e,r){"use strict";r(56868)({target:"AsyncIterator",proto:!0,real:!0,forced:!0},{indexed:r(41064)})},89889:function(t,e,r){"use strict";var n=r(56868),i=r(79291);n({target:"AsyncIterator",proto:!0,real:!0,forced:r(46234)},{map:i})},43010:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(35767),s=r(58785),a=r(94633),c=r(32078),u=r(79020),l=r(19776),f=c("Promise"),h=TypeError;n({target:"AsyncIterator",proto:!0,real:!0},{reduce:function(t){s(this),o(t);var e=u(this),r=e.iterator,n=e.next,c=arguments.length<2,d=c?void 0:arguments[1],p=0;return new f((function(e,o){var u=function(t){l(r,o,t,o)},g=function(){try{f.resolve(s(i(n,r))).then((function(r){try{if(s(r).done)c?o(new h("Reduce of empty iterator with no initial value")):e(d);else{var n=r.value;if(c)c=!1,d=n,g();else try{var i=t(d,n,p),l=function(t){d=t,g()};a(i)?f.resolve(i).then(l,u):l(i)}catch(t){u(t)}}p++}catch(t){o(t)}}),o)}catch(t){o(t)}};g()}))}})},12705:function(t,e,r){"use strict";var n=r(56868),i=r(20250).some;n({target:"AsyncIterator",proto:!0,real:!0},{some:function(t){return i(this,t)}})},50426:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(58785),s=r(79020),a=r(77774),c=r(40183),u=r(70061),l=r(56625),f=r(46234),h=u((function(t){var e,r=this,n=r.iterator;if(!r.remaining--){var s=l(void 0,!0);return r.done=!0,void 0!==(e=n.return)?t.resolve(i(e,n,void 0)).then((function(){return s})):s}return t.resolve(i(r.next,n)).then((function(t){return o(t).done?(r.done=!0,l(void 0,!0)):l(t.value,!1)})).then(null,(function(t){throw r.done=!0,t}))}));n({target:"AsyncIterator",proto:!0,real:!0,forced:f},{take:function(t){o(this);var e=c(a(+t));return new h(s(this),{remaining:e})}})},41865:function(t,e,r){"use strict";var n=r(56868),i=r(20250).toArray;n({target:"AsyncIterator",proto:!0,real:!0},{toArray:function(){return i(this,void 0,[])}})},17250:function(t,e,r){"use strict";var n=r(56868),i=r(68288);"function"==typeof BigInt&&n({target:"BigInt",stat:!0,forced:!0},{range:function(t,e,r){return new i(t,e,r,"bigint",BigInt(0),BigInt(1))}})},76123:function(t,e,r){"use strict";var n=r(56868),i=r(65177),o=r(65977),s=r(32078),a=r(96388),c=Object,u=function(){var t=s("Object","freeze");return t?t(a(null)):a(null)};n({global:!0,forced:!0},{compositeKey:function(){return i(o,c,arguments).get("object",u)}})},95240:function(t,e,r){"use strict";var n=r(56868),i=r(65977),o=r(32078),s=r(65177);n({global:!0,forced:!0},{compositeSymbol:function(){return 1===arguments.length&&"string"==typeof arguments[0]?o("Symbol").for(arguments[0]):s(i,null,arguments).get("symbol",o("Symbol"))}})},89359:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(66131).unpack,s=i(DataView.prototype.getUint16);n({target:"DataView",proto:!0},{getFloat16:function(t){var e=s(this,t,arguments.length>1&&arguments[1]);return o([255&e,e>>8&255],10)}})},83118:function(t,e,r){"use strict";var n=r(56868),i=r(69421)(DataView.prototype.getUint8);n({target:"DataView",proto:!0,forced:!0},{getUint8Clamped:function(t){return i(this,t)}})},13204:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(53378),s=r(91471),a=r(66131).pack,c=r(92721),u=i(DataView.prototype.setUint16);n({target:"DataView",proto:!0},{setFloat16:function(t,e){o(this);var r=s(t),n=a(c(e),10,2);return u(this,r,n[1]<<8|n[0],arguments.length>2&&arguments[2])}})},17549:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(53378),s=r(91471),a=r(36624),c=i(DataView.prototype.setUint8);n({target:"DataView",proto:!0,forced:!0},{setUint8Clamped:function(t,e){o(this);var r=s(t);return c(this,r,a(e))}})},25792:function(t,e,r){"use strict";var n=r(56868),i=r(76202),o=r(32078),s=r(35767),a=r(74691),c=r(19104),u=r(82190),l=r(22363),f=r(68961),h=r(96422),d=r(2573),p=o("SuppressedError"),g=ReferenceError,y=f("dispose"),b=f("toStringTag"),v="DisposableStack",m=h.set,w=h.getterFor(v),S="sync-dispose",x="disposed",_=function(t){var e=w(t);if(e.state===x)throw new g(v+" already disposed");return e},A=function(){m(a(this,C),{type:v,state:"pending",stack:[]}),i||(this.disposed=!1)},C=A.prototype;u(C,{dispose:function(){var t=w(this);if(t.state!==x){t.state=x,i||(this.disposed=!0);for(var e,r=t.stack,n=r.length,o=!1;n;){var s=r[--n];r[n]=null;try{s()}catch(t){o?e=new p(t,e):(o=!0,e=t)}}if(t.stack=null,o)throw e}},use:function(t){return d(_(this),t,S),t},adopt:function(t,e){var r=_(this);return s(e),d(r,void 0,S,(function(){e(t)})),t},defer:function(t){var e=_(this);s(t),d(e,void 0,S,t)},move:function(){var t=_(this),e=new A;return w(e).stack=t.stack,t.stack=[],t.state=x,i||(this.disposed=!0),e}}),i&&l(C,"disposed",{configurable:!0,get:function(){return w(this).state===x}}),c(C,y,C.dispose,{name:"dispose"}),c(C,b,v,{nonWritable:!0}),n({global:!0,constructor:!0},{DisposableStack:A})},72744:function(t,e,r){"use strict";r(56868)({target:"Function",proto:!0,forced:!0},{demethodize:r(96763)})},6048:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(70064),s=r(60009),a=r(91565),c=r(76202),u=Object.getOwnPropertyDescriptor,l=/^\s*class\b/,f=i(l.exec);n({target:"Function",stat:!0,sham:!0,forced:!0},{isCallable:function(t){return o(t)&&!function(t){try{if(!c||!f(l,s(t)))return!1}catch(t){}var e=u(t,"prototype");return!!e&&a(e,"writable")&&!e.writable}(t)}})},28727:function(t,e,r){"use strict";r(56868)({target:"Function",stat:!0,forced:!0},{isConstructor:r(85123)})},76500:function(t,e,r){"use strict";var n=r(68961),i=r(78841).f,o=n("metadata"),s=Function.prototype;void 0===s[o]&&i(s,o,{value:null})},24884:function(t,e,r){"use strict";r(56868)({target:"Function",proto:!0,forced:!0,name:"demethodize"},{unThis:r(96763)})},83645:function(t,e,r){"use strict";r(56868)({target:"Iterator",name:"indexed",proto:!0,real:!0,forced:!0},{asIndexedPairs:r(76197)})},69472:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(74691),s=r(58785),a=r(70064),c=r(80393),u=r(22363),l=r(15313),f=r(49402),h=r(91565),d=r(68961),p=r(63320).IteratorPrototype,g=r(76202),y=r(46234),b="constructor",v="Iterator",m=d("toStringTag"),w=TypeError,S=i[v],x=y||!a(S)||S.prototype!==p||!f((function(){S({})})),_=function(){if(o(this,p),c(this)===p)throw new w("Abstract class Iterator not directly constructable")},A=function(t,e){g?u(p,t,{configurable:!0,get:function(){return e},set:function(e){if(s(this),this===p)throw new w("You can't redefine this property");h(this,t)?this[t]=e:l(this,t,e)}}):p[t]=e};h(p,m)||A(m,v),!x&&h(p,b)&&p[b]!==Object||A(b,_),_.prototype=p,n({global:!0,constructor:!0,forced:x},{Iterator:_})},78960:function(t,e,r){"use strict";var n=r(30840),i=r(19104),o=r(25131),s=r(91565),a=r(68961),c=r(63320).IteratorPrototype,u=a("dispose");s(c,u)||i(c,u,(function(){var t=o(this,"return");t&&n(t,this)}))},6013:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(58785),s=r(79020),a=r(77774),c=r(40183),u=r(45792),l=r(46234),f=u((function(){for(var t,e=this.iterator,r=this.next;this.remaining;)if(this.remaining--,t=o(i(r,e)),this.done=!!t.done)return;if(t=o(i(r,e)),!(this.done=!!t.done))return t.value}));n({target:"Iterator",proto:!0,real:!0,forced:l},{drop:function(t){o(this);var e=c(a(+t));return new f(s(this),{remaining:e})}})},19198:function(t,e,r){"use strict";var n=r(56868),i=r(97887),o=r(35767),s=r(58785),a=r(79020);n({target:"Iterator",proto:!0,real:!0},{every:function(t){s(this),o(t);var e=a(this),r=0;return!i(e,(function(e,n){if(!t(e,r++))return n()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},54554:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(35767),s=r(58785),a=r(79020),c=r(45792),u=r(9228),l=r(46234),f=c((function(){for(var t,e,r=this.iterator,n=this.predicate,o=this.next;;){if(t=s(i(o,r)),this.done=!!t.done)return;if(e=t.value,u(r,n,[e,this.counter++],!0))return e}}));n({target:"Iterator",proto:!0,real:!0,forced:l},{filter:function(t){return s(this),o(t),new f(a(this),{predicate:t})}})},15069:function(t,e,r){"use strict";var n=r(56868),i=r(97887),o=r(35767),s=r(58785),a=r(79020);n({target:"Iterator",proto:!0,real:!0},{find:function(t){s(this),o(t);var e=a(this),r=0;return i(e,(function(e,n){if(t(e,r++))return n(e)}),{IS_RECORD:!0,INTERRUPTED:!0}).result}})},52751:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(35767),s=r(58785),a=r(79020),c=r(77390),u=r(45792),l=r(76511),f=r(46234),h=u((function(){for(var t,e,r=this.iterator,n=this.mapper;;){if(e=this.inner)try{if(!(t=s(i(e.next,e.iterator))).done)return t.value;this.inner=null}catch(t){l(r,"throw",t)}if(t=s(i(this.next,r)),this.done=!!t.done)return;try{this.inner=c(n(t.value,this.counter++),!1)}catch(t){l(r,"throw",t)}}}));n({target:"Iterator",proto:!0,real:!0,forced:f},{flatMap:function(t){return s(this),o(t),new h(a(this),{mapper:t,inner:null})}})},46543:function(t,e,r){"use strict";var n=r(56868),i=r(97887),o=r(35767),s=r(58785),a=r(79020);n({target:"Iterator",proto:!0,real:!0},{forEach:function(t){s(this),o(t);var e=a(this),r=0;i(e,(function(e){t(e,r++)}),{IS_RECORD:!0})}})},90872:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(89197),s=r(95799),a=r(63320).IteratorPrototype,c=r(45792),u=r(77390),l=r(46234),f=c((function(){return i(this.next,this.iterator)}),!0);n({target:"Iterator",stat:!0,forced:l},{from:function(t){var e=u("string"==typeof t?o(t):t,!0);return s(a,e.iterator)?e.iterator:new f(e)}})},88148:function(t,e,r){"use strict";r(56868)({target:"Iterator",proto:!0,real:!0,forced:!0},{indexed:r(76197)})},91022:function(t,e,r){"use strict";var n=r(56868),i=r(84485);n({target:"Iterator",proto:!0,real:!0,forced:r(46234)},{map:i})},84006:function(t,e,r){"use strict";var n=r(56868),i=r(68288),o=TypeError;n({target:"Iterator",stat:!0,forced:!0},{range:function(t,e,r){if("number"==typeof t)return new i(t,e,r,"number",0,1);if("bigint"==typeof t)return new i(t,e,r,"bigint",BigInt(0),BigInt(1));throw new o("Incorrect Iterator.range arguments")}})},90936:function(t,e,r){"use strict";var n=r(56868),i=r(97887),o=r(35767),s=r(58785),a=r(79020),c=TypeError;n({target:"Iterator",proto:!0,real:!0},{reduce:function(t){s(this),o(t);var e=a(this),r=arguments.length<2,n=r?void 0:arguments[1],u=0;if(i(e,(function(e){r?(r=!1,n=e):n=t(n,e,u),u++}),{IS_RECORD:!0}),r)throw new c("Reduce of empty iterator with no initial value");return n}})},88120:function(t,e,r){"use strict";var n=r(56868),i=r(97887),o=r(35767),s=r(58785),a=r(79020);n({target:"Iterator",proto:!0,real:!0},{some:function(t){s(this),o(t);var e=a(this),r=0;return i(e,(function(e,n){if(t(e,r++))return n()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},63582:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(58785),s=r(79020),a=r(77774),c=r(40183),u=r(45792),l=r(76511),f=r(46234),h=u((function(){var t=this.iterator;if(!this.remaining--)return this.done=!0,l(t,"normal",void 0);var e=o(i(this.next,t));return(this.done=!!e.done)?void 0:e.value}));n({target:"Iterator",proto:!0,real:!0,forced:f},{take:function(t){o(this);var e=c(a(+t));return new h(s(this),{remaining:e})}})},88368:function(t,e,r){"use strict";var n=r(56868),i=r(58785),o=r(97887),s=r(79020),a=[].push;n({target:"Iterator",proto:!0,real:!0},{toArray:function(){var t=[];return o(s(i(this)),a,{that:t,IS_RECORD:!0}),t}})},5331:function(t,e,r){"use strict";var n=r(56868),i=r(58785),o=r(86569),s=r(6449),a=r(79020);n({target:"Iterator",proto:!0,real:!0,forced:r(46234)},{toAsync:function(){return new s(a(new o(a(i(this)))))}})},96697:function(t,e,r){"use strict";r(56868)({target:"JSON",stat:!0,forced:!r(86934)},{isRawJSON:r(20065)})},85512:function(t,e,r){"use strict";var n=r(56868),i=r(76202),o=r(7925),s=r(32078),a=r(69421),c=r(30840),u=r(70064),l=r(94633),f=r(95542),h=r(91565),d=r(45364),p=r(73448),g=r(15313),y=r(49402),b=r(3991),v=r(77054),m=o.JSON,w=o.Number,S=o.SyntaxError,x=m&&m.parse,_=s("Object","keys"),A=Object.getOwnPropertyDescriptor,C=a("".charAt),k=a("".slice),E=a(/./.exec),P=a([].push),O=/^\d$/,B=/^[1-9]$/,I=/^(?:-|\d)$/,T=/^[\t\n\r ]$/,R=function(t,e,r,n){var i,o,s,a,u,d=t[e],g=n&&d===n.value,y=g&&"string"==typeof n.source?{source:n.source}:{};if(l(d)){var b=f(d),v=g?n.nodes:b?[]:{};if(b)for(i=v.length,s=p(d),a=0;a<s;a++)M(d,a,R(d,""+a,r,a<i?v[a]:void 0));else for(o=_(d),s=p(o),a=0;a<s;a++)u=o[a],M(d,u,R(d,u,r,h(v,u)?v[u]:void 0))}return c(r,t,e,d,y)},M=function(t,e,r){if(i){var n=A(t,e);if(n&&!n.configurable)return}void 0===r?delete t[e]:g(t,e,r)},D=function(t,e,r,n){this.value=t,this.end=e,this.source=r,this.nodes=n},F=function(t,e){this.source=t,this.index=e};F.prototype={fork:function(t){return new F(this.source,t)},parse:function(){var t=this.source,e=this.skip(T,this.index),r=this.fork(e),n=C(t,e);if(E(I,n))return r.number();switch(n){case"{":return r.object();case"[":return r.array();case'"':return r.string();case"t":return r.keyword(!0);case"f":return r.keyword(!1);case"n":return r.keyword(null)}throw new S('Unexpected character: "'+n+'" at: '+e)},node:function(t,e,r,n,i){return new D(e,n,t?null:k(this.source,r,n),i)},object:function(){for(var t=this.source,e=this.index+1,r=!1,n={},i={};e<t.length;){if(e=this.until(['"',"}"],e),"}"===C(t,e)&&!r){e++;break}var o=this.fork(e).string(),s=o.value;e=o.end,e=this.until([":"],e)+1,e=this.skip(T,e),o=this.fork(e).parse(),g(i,s,o),g(n,s,o.value),e=this.until([",","}"],o.end);var a=C(t,e);if(","===a)r=!0,e++;else if("}"===a){e++;break}}return this.node(1,n,this.index,e,i)},array:function(){for(var t=this.source,e=this.index+1,r=!1,n=[],i=[];e<t.length;){if(e=this.skip(T,e),"]"===C(t,e)&&!r){e++;break}var o=this.fork(e).parse();if(P(i,o),P(n,o.value),e=this.until([",","]"],o.end),","===C(t,e))r=!0,e++;else if("]"===C(t,e)){e++;break}}return this.node(1,n,this.index,e,i)},string:function(){var t=this.index,e=b(this.source,this.index+1);return this.node(0,e.value,t,e.end)},number:function(){var t=this.source,e=this.index,r=e;if("-"===C(t,r)&&r++,"0"===C(t,r))r++;else{if(!E(B,C(t,r)))throw new S("Failed to parse number at: "+r);r=this.skip(O,++r)}if(("."===C(t,r)&&(r=this.skip(O,++r)),"e"===C(t,r)||"E"===C(t,r))&&(r++,"+"!==C(t,r)&&"-"!==C(t,r)||r++,r===(r=this.skip(O,r))))throw new S("Failed to parse number's exponent value at: "+r);return this.node(0,w(k(t,e,r)),e,r)},keyword:function(t){var e=""+t,r=this.index,n=r+e.length;if(k(this.source,r,n)!==e)throw new S("Failed to parse value at: "+r);return this.node(0,t,r,n)},skip:function(t,e){for(var r=this.source;e<r.length&&E(t,C(r,e));e++);return e},until:function(t,e){e=this.skip(T,e);for(var r=C(this.source,e),n=0;n<t.length;n++)if(t[n]===r)return e;throw new S('Unexpected character: "'+r+'" at: '+e)}};var N=y((function(){var t,e="9007199254740993";return x(e,(function(e,r,n){t=n.source})),t!==e})),L=v&&!y((function(){return 1/x("-0 \t")!=-1/0}));n({target:"JSON",stat:!0,forced:N},{parse:function(t,e){return L&&!u(e)?x(t):function(t,e){t=d(t);var r=new F(t,0,""),n=r.parse(),i=n.value,o=r.skip(T,n.end);if(o<t.length)throw new S('Unexpected extra character: "'+C(t,o)+'" after the parsed data at: '+o);return u(e)?R({"":i},"",e,n):i}(t,e)}})},54873:function(t,e,r){"use strict";var n=r(56868),i=r(54133),o=r(86934),s=r(32078),a=r(30840),c=r(69421),u=r(70064),l=r(20065),f=r(45364),h=r(15313),d=r(3991),p=r(90258),g=r(27919),y=r(96422).set,b=String,v=SyntaxError,m=s("JSON","parse"),w=s("JSON","stringify"),S=s("Object","create"),x=s("Object","freeze"),_=c("".charAt),A=c("".slice),C=c(/./.exec),k=c([].push),E=g(),P=E.length,O="Unacceptable as raw JSON",B=/^[\t\n\r ]$/;n({target:"JSON",stat:!0,forced:!o},{rawJSON:function(t){var e=f(t);if(""===e||C(B,_(e,0))||C(B,_(e,e.length-1)))throw new v(O);var r=m(e);if("object"==typeof r&&null!==r)throw new v(O);var n=S(null);return y(n,{type:"RawJSON"}),h(n,"rawJSON",e),i?x(n):n}}),w&&n({target:"JSON",stat:!0,arity:3,forced:!o},{stringify:function(t,e,r){var n=p(e),i=[],o=w(t,(function(t,e){var r=u(n)?a(n,this,b(t),e):e;return l(r)?E+(k(i,r.rawJSON)-1):r}),r);if("string"!=typeof o)return o;for(var s="",c=o.length,f=0;f<c;f++){var h=_(o,f);if('"'===h){var g=d(o,++f).end-1,y=A(o,f,g);s+=A(y,0,P)===E?i[A(y,P)]:'"'+y+'"',f=g}else s+=h}return s}})},13336:function(t,e,r){"use strict";var n=r(56868),i=r(45636),o=r(81808).remove;n({target:"Map",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=i(this),r=!0,n=0,s=arguments.length;n<s;n++)t=o(e,arguments[n]),r=r&&t;return!!r}})},18631:function(t,e,r){"use strict";var n=r(56868),i=r(45636),o=r(81808),s=o.get,a=o.has,c=o.set;n({target:"Map",proto:!0,real:!0,forced:!0},{emplace:function(t,e){var r,n,o=i(this);return a(o,t)?(r=s(o,t),"update"in e&&(r=e.update(r,t,o),c(o,t,r)),r):(n=e.insert(t,o),c(o,t,n),n)}})},31263:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(45636),s=r(67002);n({target:"Map",proto:!0,real:!0,forced:!0},{every:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0);return!1!==s(e,(function(t,n){if(!r(t,n,e))return!1}),!0)}})},58215:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(45636),s=r(81808),a=r(67002),c=s.Map,u=s.set;n({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=new c;return a(e,(function(t,i){r(t,i,e)&&u(n,i,t)})),n}})},99234:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(45636),s=r(67002);n({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=s(e,(function(t,n){if(r(t,n,e))return{key:n}}),!0);return n&&n.key}})},88984:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(45636),s=r(67002);n({target:"Map",proto:!0,real:!0,forced:!0},{find:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=s(e,(function(t,n){if(r(t,n,e))return{value:t}}),!0);return n&&n.value}})},62921:function(t,e,r){"use strict";var n=r(56868),i=r(81808);n({target:"Map",stat:!0,forced:!0},{from:r(849)(i.Map,i.set,!0)})},12615:function(t,e,r){"use strict";var n=r(56868),i=r(59945),o=r(45636),s=r(67002);n({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(t){return!0===s(o(this),(function(e){if(i(e,t))return!0}),!0)}})},91321:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(97887),s=r(70064),a=r(35767),c=r(81808).Map;n({target:"Map",stat:!0,forced:!0},{keyBy:function(t,e){var r=new(s(this)?this:c);a(e);var n=a(r.set);return o(t,(function(t){i(n,r,e(t),t)})),r}})},81119:function(t,e,r){"use strict";var n=r(56868),i=r(45636),o=r(67002);n({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(t){var e=o(i(this),(function(e,r){if(e===t)return{key:r}}),!0);return e&&e.key}})},20846:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(45636),s=r(81808),a=r(67002),c=s.Map,u=s.set;n({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=new c;return a(e,(function(t,i){u(n,r(t,i,e),t)})),n}})},39591:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(45636),s=r(81808),a=r(67002),c=s.Map,u=s.set;n({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=new c;return a(e,(function(t,i){u(n,i,r(t,i,e))})),n}})},64820:function(t,e,r){"use strict";var n=r(56868),i=r(45636),o=r(97887),s=r(81808).set;n({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(t){for(var e=i(this),r=arguments.length,n=0;n<r;)o(arguments[n++],(function(t,r){s(e,t,r)}),{AS_ENTRIES:!0});return e}})},50921:function(t,e,r){"use strict";var n=r(56868),i=r(81808);n({target:"Map",stat:!0,forced:!0},{of:r(45095)(i.Map,i.set,!0)})},32096:function(t,e,r){"use strict";var n=r(56868),i=r(35767),o=r(45636),s=r(67002),a=TypeError;n({target:"Map",proto:!0,real:!0,forced:!0},{reduce:function(t){var e=o(this),r=arguments.length<2,n=r?void 0:arguments[1];if(i(t),s(e,(function(i,o){r?(r=!1,n=i):n=t(n,i,o,e)})),r)throw new a("Reduce of empty map with no initial value");return n}})},82818:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(45636),s=r(67002);n({target:"Map",proto:!0,real:!0,forced:!0},{some:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0);return!0===s(e,(function(t,n){if(r(t,n,e))return!0}),!0)}})},86930:function(t,e,r){"use strict";r(56868)({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:r(11353)})},51998:function(t,e,r){"use strict";var n=r(56868),i=r(35767),o=r(45636),s=r(81808),a=TypeError,c=s.get,u=s.has,l=s.set;n({target:"Map",proto:!0,real:!0,forced:!0},{update:function(t,e){var r=o(this),n=arguments.length;i(e);var s=u(r,t);if(!s&&n<3)throw new a("Updating absent value");var f=s?c(r,t):i(n>2?arguments[2]:void 0)(t,r);return l(r,t,e(f,t,r)),r}})},30303:function(t,e,r){"use strict";r(56868)({target:"Map",proto:!0,real:!0,forced:!0},{upsert:r(11353)})},97250:function(t,e,r){"use strict";var n=r(56868),i=Math.min,o=Math.max;n({target:"Math",stat:!0,forced:!0},{clamp:function(t,e,r){return i(r,o(e,t))}})},28136:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,nonConfigurable:!0,nonWritable:!0},{DEG_PER_RAD:Math.PI/180})},60467:function(t,e,r){"use strict";var n=r(56868),i=180/Math.PI;n({target:"Math",stat:!0,forced:!0},{degrees:function(t){return t*i}})},89621:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0},{f16round:r(92721)})},19801:function(t,e,r){"use strict";var n=r(56868),i=r(43561),o=r(52573);n({target:"Math",stat:!0,forced:!0},{fscale:function(t,e,r,n,s){return o(i(t,e,r,n,s))}})},20208:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,forced:!0},{iaddh:function(t,e,r,n){var i=t>>>0,o=r>>>0;return(e>>>0)+(n>>>0)+((i&o|(i|o)&~(i+o>>>0))>>>31)|0}})},87510:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,forced:!0},{imulh:function(t,e){var r=65535,n=+t,i=+e,o=n&r,s=i&r,a=n>>16,c=i>>16,u=(a*s>>>0)+(o*s>>>16);return a*c+(u>>16)+((o*c>>>0)+(u&r)>>16)}})},55225:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,forced:!0},{isubh:function(t,e,r,n){var i=t>>>0,o=r>>>0;return(e>>>0)-(n>>>0)-((~i&o|~(i^o)&i-o>>>0)>>>31)|0}})},15477:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,nonConfigurable:!0,nonWritable:!0},{RAD_PER_DEG:180/Math.PI})},45033:function(t,e,r){"use strict";var n=r(56868),i=Math.PI/180;n({target:"Math",stat:!0,forced:!0},{radians:function(t){return t*i}})},38297:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,forced:!0},{scale:r(43561)})},26055:function(t,e,r){"use strict";var n=r(56868),i=r(58785),o=r(69572),s=r(56386),a=r(56625),c=r(96422),u="Seeded Random",l=u+" Generator",f=c.set,h=c.getterFor(l),d=TypeError,p=s((function(t){f(this,{type:l,seed:t%2147483647})}),u,(function(){var t=h(this),e=t.seed=(1103515245*t.seed+12345)%2147483647;return a((1073741823&e)/1073741823,!1)}));n({target:"Math",stat:!0,forced:!0},{seededPRNG:function(t){var e=i(t).seed;if(!o(e))throw new d('Math.seededPRNG() argument should have a "seed" field with a finite value.');return new p(e)}})},71463:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,forced:!0},{signbit:function(t){var e=+t;return e==e&&0===e?1/e==-1/0:e<0}})},47160:function(t,e,r){"use strict";r(56868)({target:"Math",stat:!0,forced:!0},{umulh:function(t,e){var r=65535,n=+t,i=+e,o=n&r,s=i&r,a=n>>>16,c=i>>>16,u=(a*s>>>0)+(o*s>>>16);return a*c+(u>>>16)+((o*c>>>0)+(u&r)>>>16)}})},52831:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(69640),s="Invalid number representation",a=RangeError,c=SyntaxError,u=TypeError,l=parseInt,f=Math.pow,h=/^[\d.a-z]+$/,d=i("".charAt),p=i(h.exec),g=i(1..toString),y=i("".slice),b=i("".split);n({target:"Number",stat:!0,forced:!0},{fromString:function(t,e){var r=1;if("string"!=typeof t)throw new u(s);if(!t.length)throw new c(s);if("-"===d(t,0)&&(r=-1,!(t=y(t,1)).length))throw new c(s);var n=void 0===e?10:o(e);if(n<2||n>36)throw new a("Invalid radix");if(!p(h,t))throw new c(s);var i=b(t,"."),v=l(i[0],n);if(i.length>1&&(v+=l(i[1],n)/f(n,i[1].length)),10===n&&g(v,n)!==t)throw new c(s);return r*v}})},64701:function(t,e,r){"use strict";var n=r(56868),i=r(68288);n({target:"Number",stat:!0,forced:!0},{range:function(t,e,r){return new i(t,e,r,"number",0,1)}})},2012:function(t,e,r){"use strict";var n=r(56868),i=r(92226);n({target:"Object",stat:!0,forced:!0},{iterateEntries:function(t){return new i(t,"entries")}})},89905:function(t,e,r){"use strict";var n=r(56868),i=r(92226);n({target:"Object",stat:!0,forced:!0},{iterateKeys:function(t){return new i(t,"keys")}})},21649:function(t,e,r){"use strict";var n=r(56868),i=r(92226);n({target:"Object",stat:!0,forced:!0},{iterateValues:function(t){return new i(t,"values")}})},95129:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(76202),s=r(88228),a=r(35767),c=r(58785),u=r(74691),l=r(70064),f=r(1813),h=r(94633),d=r(25131),p=r(19104),g=r(82190),y=r(22363),b=r(28057),v=r(68961),m=r(96422),w=v("observable"),S="Observable",x="Subscription",_="SubscriptionObserver",A=m.getterFor,C=m.set,k=A(S),E=A(x),P=A(_),O=function(t){this.observer=c(t),this.cleanup=void 0,this.subscriptionObserver=void 0};O.prototype={type:x,clean:function(){var t=this.cleanup;if(t){this.cleanup=void 0;try{t()}catch(t){b(t)}}},close:function(){if(!o){var t=this.facade,e=this.subscriptionObserver;t.closed=!0,e&&(e.closed=!0)}this.observer=void 0},isClosed:function(){return void 0===this.observer}};var B=function(t,e){var r,n=C(this,new O(t));o||(this.closed=!1);try{(r=d(t,"start"))&&i(r,t,this)}catch(t){b(t)}if(!n.isClosed()){var s=n.subscriptionObserver=new I(n);try{var c=e(s),u=c;f(c)||(n.cleanup=l(c.unsubscribe)?function(){u.unsubscribe()}:a(c))}catch(t){return void s.error(t)}n.isClosed()&&n.clean()}};B.prototype=g({},{unsubscribe:function(){var t=E(this);t.isClosed()||(t.close(),t.clean())}}),o&&y(B.prototype,"closed",{configurable:!0,get:function(){return E(this).isClosed()}});var I=function(t){C(this,{type:_,subscriptionState:t}),o||(this.closed=!1)};I.prototype=g({},{next:function(t){var e=P(this).subscriptionState;if(!e.isClosed()){var r=e.observer;try{var n=d(r,"next");n&&i(n,r,t)}catch(t){b(t)}}},error:function(t){var e=P(this).subscriptionState;if(!e.isClosed()){var r=e.observer;e.close();try{var n=d(r,"error");n?i(n,r,t):b(t)}catch(t){b(t)}e.clean()}},complete:function(){var t=P(this).subscriptionState;if(!t.isClosed()){var e=t.observer;t.close();try{var r=d(e,"complete");r&&i(r,e)}catch(t){b(t)}t.clean()}}}),o&&y(I.prototype,"closed",{configurable:!0,get:function(){return P(this).subscriptionState.isClosed()}});var T=function(t){u(this,R),C(this,{type:S,subscriber:a(t)})},R=T.prototype;g(R,{subscribe:function(t){var e=arguments.length;return new B(l(t)?{next:t,error:e>1?arguments[1]:void 0,complete:e>2?arguments[2]:void 0}:h(t)?t:{},k(this).subscriber)}}),p(R,w,(function(){return this})),n({global:!0,constructor:!0,forced:!0},{Observable:T}),s(S)},62098:function(t,e,r){"use strict";var n=r(56868),i=r(32078),o=r(30840),s=r(58785),a=r(85123),c=r(94453),u=r(25131),l=r(97887),f=r(68961)("observable");n({target:"Observable",stat:!0,forced:!0},{from:function(t){var e=a(this)?this:i("Observable"),r=u(s(t),f);if(r){var n=s(o(r,t));return n.constructor===e?n:new e((function(t){return n.subscribe(t)}))}var h=c(t);return new e((function(t){l(h,(function(e,r){if(t.next(e),t.closed)return r()}),{IS_ITERATOR:!0,INTERRUPTED:!0}),t.complete()}))}})},32069:function(t,e,r){"use strict";r(95129),r(62098),r(47450)},47450:function(t,e,r){"use strict";var n=r(56868),i=r(32078),o=r(85123),s=i("Array");n({target:"Observable",stat:!0,forced:!0},{of:function(){for(var t=o(this)?this:i("Observable"),e=arguments.length,r=s(e),n=0;n<e;)r[n]=arguments[n++];return new t((function(t){for(var n=0;n<e;n++)if(t.next(r[n]),t.closed)return;t.complete()}))}})},90338:function(t,e,r){"use strict";var n=r(56868),i=r(31269),o=r(43556);n({target:"Promise",stat:!0,forced:!0},{try:function(t){var e=i.f(this),r=o(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}})},7641:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=i.toKey,a=i.set;n({target:"Reflect",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:s(arguments[3]);a(t,e,o(r),n)}})},20507:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=i.toKey,a=i.getMap,c=i.store;n({target:"Reflect",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:s(arguments[2]),n=a(o(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var i=c.get(e);return i.delete(r),!!i.size||c.delete(e)}})},61641:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(47087),s=r(58785),a=r(80393),c=i(r(38447)),u=i([].concat),l=o.keys,f=o.toKey,h=function(t,e){var r=l(t,e),n=a(t);if(null===n)return r;var i=h(n,e);return i.length?r.length?c(u(r,i)):i:r};n({target:"Reflect",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:f(arguments[1]);return h(s(t),e)}})},86800:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=r(80393),a=i.has,c=i.get,u=i.toKey,l=function(t,e,r){if(a(t,e,r))return c(t,e,r);var n=s(e);return null!==n?l(t,n,r):void 0};n({target:"Reflect",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:u(arguments[2]);return l(t,o(e),r)}})},93064:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=i.keys,a=i.toKey;n({target:"Reflect",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:a(arguments[1]);return s(o(t),e)}})},42716:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=i.get,a=i.toKey;n({target:"Reflect",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:a(arguments[2]);return s(t,o(e),r)}})},92931:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=r(80393),a=i.has,c=i.toKey,u=function(t,e,r){if(a(t,e,r))return!0;var n=s(e);return null!==n&&u(t,n,r)};n({target:"Reflect",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:c(arguments[2]);return u(t,o(e),r)}})},80261:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=i.has,a=i.toKey;n({target:"Reflect",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:a(arguments[2]);return s(t,o(e),r)}})},72178:function(t,e,r){"use strict";var n=r(56868),i=r(47087),o=r(58785),s=i.toKey,a=i.set;n({target:"Reflect",stat:!0},{metadata:function(t,e){return function(r,n){a(t,e,o(r),s(n))}}})},1021:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(45364),s=r(67679),a=i("".charCodeAt),c=i("".replace),u=RegExp("[!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^`{|}~"+s+"]","g");n({target:"RegExp",stat:!0,forced:!0},{escape:function(t){var e=o(t),r=a(e,0);return(r>47&&r<58?"\\x3":"")+c(e,u,"\\$&")}})},78547:function(t,e,r){"use strict";var n=r(56868),i=r(27365),o=r(77258).add;n({target:"Set",proto:!0,real:!0,forced:!0},{addAll:function(){for(var t=i(this),e=0,r=arguments.length;e<r;e++)o(t,arguments[e]);return t}})},21663:function(t,e,r){"use strict";var n=r(56868),i=r(27365),o=r(77258).remove;n({target:"Set",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=i(this),r=!0,n=0,s=arguments.length;n<s;n++)t=o(e,arguments[n]),r=r&&t;return!!r}})},88811:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(33338),s=r(81005);n({target:"Set",proto:!0,real:!0,forced:!0},{difference:function(t){return i(s,this,o(t))}})},4298:function(t,e,r){"use strict";var n=r(56868),i=r(81005);n({target:"Set",proto:!0,real:!0,forced:!r(85271)("difference")},{difference:i})},36099:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(27365),s=r(18505);n({target:"Set",proto:!0,real:!0,forced:!0},{every:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0);return!1!==s(e,(function(t){if(!r(t,t,e))return!1}),!0)}})},98290:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(27365),s=r(77258),a=r(18505),c=s.Set,u=s.add;n({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=new c;return a(e,(function(t){r(t,t,e)&&u(n,t)})),n}})},18059:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(27365),s=r(18505);n({target:"Set",proto:!0,real:!0,forced:!0},{find:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=s(e,(function(t){if(r(t,t,e))return{value:t}}),!0);return n&&n.value}})},36587:function(t,e,r){"use strict";var n=r(56868),i=r(77258);n({target:"Set",stat:!0,forced:!0},{from:r(849)(i.Set,i.add,!1)})},61498:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(33338),s=r(90155);n({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(t){return i(s,this,o(t))}})},91189:function(t,e,r){"use strict";var n=r(56868),i=r(49402),o=r(90155);n({target:"Set",proto:!0,real:!0,forced:!r(85271)("intersection")||i((function(){return"3,2"!==Array.from(new Set([1,2,3]).intersection(new Set([3,2])))}))},{intersection:o})},50754:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(33338),s=r(27649);n({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(t){return i(s,this,o(t))}})},11950:function(t,e,r){"use strict";var n=r(56868),i=r(27649);n({target:"Set",proto:!0,real:!0,forced:!r(85271)("isDisjointFrom")},{isDisjointFrom:i})},97156:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(33338),s=r(84161);n({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(t){return i(s,this,o(t))}})},44190:function(t,e,r){"use strict";var n=r(56868),i=r(84161);n({target:"Set",proto:!0,real:!0,forced:!r(85271)("isSubsetOf")},{isSubsetOf:i})},14597:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(33338),s=r(43349);n({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(t){return i(s,this,o(t))}})},80984:function(t,e,r){"use strict";var n=r(56868),i=r(43349);n({target:"Set",proto:!0,real:!0,forced:!r(85271)("isSupersetOf")},{isSupersetOf:i})},72971:function(t,e,r){"use strict";var n=r(56868),i=r(69421),o=r(27365),s=r(18505),a=r(45364),c=i([].join),u=i([].push);n({target:"Set",proto:!0,real:!0,forced:!0},{join:function(t){var e=o(this),r=void 0===t?",":a(t),n=[];return s(e,(function(t){u(n,t)})),c(n,r)}})},31415:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(27365),s=r(77258),a=r(18505),c=s.Set,u=s.add;n({target:"Set",proto:!0,real:!0,forced:!0},{map:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0),n=new c;return a(e,(function(t){u(n,r(t,t,e))})),n}})},1699:function(t,e,r){"use strict";var n=r(56868),i=r(77258);n({target:"Set",stat:!0,forced:!0},{of:r(45095)(i.Set,i.add,!1)})},15868:function(t,e,r){"use strict";var n=r(56868),i=r(35767),o=r(27365),s=r(18505),a=TypeError;n({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(t){var e=o(this),r=arguments.length<2,n=r?void 0:arguments[1];if(i(t),s(e,(function(i){r?(r=!1,n=i):n=t(n,i,i,e)})),r)throw new a("Reduce of empty set with no initial value");return n}})},33924:function(t,e,r){"use strict";var n=r(56868),i=r(80004),o=r(27365),s=r(18505);n({target:"Set",proto:!0,real:!0,forced:!0},{some:function(t){var e=o(this),r=i(t,arguments.length>1?arguments[1]:void 0);return!0===s(e,(function(t){if(r(t,t,e))return!0}),!0)}})},69175:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(33338),s=r(99835);n({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(t){return i(s,this,o(t))}})},64441:function(t,e,r){"use strict";var n=r(56868),i=r(99835);n({target:"Set",proto:!0,real:!0,forced:!r(85271)("symmetricDifference")},{symmetricDifference:i})},88357:function(t,e,r){"use strict";var n=r(56868),i=r(30840),o=r(33338),s=r(13879);n({target:"Set",proto:!0,real:!0,forced:!0},{union:function(t){return i(s,this,o(t))}})},64963:function(t,e,r){"use strict";var n=r(56868),i=r(13879);n({target:"Set",proto:!0,real:!0,forced:!r(85271)("union")},{union:i})},19721:function(t,e,r){"use strict";var n=r(56868),i=r(62882).charAt,o=r(66325),s=r(69640),a=r(45364);n({target:"String",proto:!0,forced:!0},{at:function(t){var e=a(o(this)),r=e.length,n=s(t),c=n>=0?n:r+n;return c<0||c>=r?void 0:i(e,c)}})},17149:function(t,e,r){"use strict";var n=r(56868),i=r(56386),o=r(56625),s=r(66325),a=r(45364),c=r(96422),u=r(62882),l=u.codeAt,f=u.charAt,h="String Iterator",d=c.set,p=c.getterFor(h),g=i((function(t){d(this,{type:h,string:t,index:0})}),"String",(function(){var t,e=p(this),r=e.string,n=e.index;return n>=r.length?o(void 0,!0):(t=f(r,n),e.index+=t.length,o({codePoint:l(t,0),position:n},!1))}));n({target:"String",proto:!0,forced:!0},{codePoints:function(){return new g(a(s(this)))}})},9760:function(t,e,r){"use strict";r(56868)({target:"String",stat:!0,forced:!0},{cooked:r(55176)})},80840:function(t,e,r){"use strict";var n=r(54133),i=r(56868),o=r(50026),s=r(69421),a=r(65177),c=r(58785),u=r(89197),l=r(70064),f=r(73448),h=r(78841).f,d=r(70373),p=r(53571),g=r(55176),y=r(81230),b=r(67679),v=new p.WeakMap,m=p.get,w=p.has,S=p.set,x=Array,_=TypeError,A=Object.freeze||Object,C=Object.isFrozen,k=Math.min,E=s("".charAt),P=s("".slice),O=s("".split),B=s(/./.exec),I=/([\n\u2028\u2029]|\r\n?)/g,T=RegExp("^["+b+"]*"),R=RegExp("[^"+b+"]"),M="Invalid tag",D=function(t){var e,r,n,i,o=u(t),s=f(o),a=x(s),c=x(s),l=0;if(!s)throw new _(M);for(;l<s;l++){var h=o[l];if("string"!=typeof h)throw new _(M);a[l]=O(h,I)}for(l=0;l<s;l++){var d=l+1===s;if(e=a[l],0===l){if(1===e.length||e[0].length>0)throw new _("Invalid opening line");e[1]=""}if(d){if(1===e.length||B(R,e[e.length-1]))throw new _("Invalid closing line");e[e.length-2]="",e[e.length-1]=""}for(var p=2;p<e.length;p+=2){var g=e[p],y=p+1===e.length&&!d,b=B(T,g)[0];y||b.length!==g.length?r=F(b,r):e[p]=""}}var v=r?r.length:0;for(l=0;l<s;l++){for(n=(e=a[l])[0],i=1;i<e.length;i+=2)n+=e[i]+P(e[i+1],v);c[l]=n}return c},F=function(t,e){if(void 0===e||t===e)return t;for(var r=0,n=k(t.length,e.length);r<n&&E(t,r)===E(e,r);r++);return P(t,0,r)},N=function(t){for(var e=0,r=t.length,n=x(r);e<r;e++)n[e]=y(t[e]);return n},L=function(t){return o((function(e){var r=d(arguments);return r[0]=function(t){var e=t.raw;if(n&&!C(e))throw new _("Raw template should be frozen");if(w(v,e))return m(v,e);var r=D(e),i=N(r);return h(i,"raw",{value:A(r)}),A(i),S(v,e,i),i}(c(e)),a(t,this,r)}),"")},j=L(g);i({target:"String",stat:!0,forced:!0},{dedent:function(t){return c(t),l(t)?L(t):a(j,this,arguments)}})},43761:function(t,e,r){"use strict";var n=r(56868),i=r(95799),o=r(80393),s=r(98086),a=r(60652),c=r(96388),u=r(52605),l=r(90814),f=r(23739),h=r(55930),d=r(68961)("toStringTag"),p=Error,g=function(t,e,r){var n,a=i(y,this);return s?n=s(new p,a?o(this):y):(n=a?this:c(y),u(n,d,"Error")),void 0!==r&&u(n,"message",h(r)),f(n,g,n.stack,1),u(n,"error",t),u(n,"suppressed",e),n};s?s(g,p):a(g,p,{name:!0});var y=g.prototype=c(p.prototype,{constructor:l(1,g),message:l(1,""),name:l(1,"SuppressedError")});n({global:!0,constructor:!0,arity:3},{SuppressedError:g})},14361:function(t,e,r){"use strict";var n=r(7925),i=r(51462),o=r(78841).f,s=r(93283).f,a=n.Symbol;if(i("asyncDispose"),a){var c=s(a,"asyncDispose");c.enumerable&&c.configurable&&c.writable&&o(a,"asyncDispose",{value:c.value,enumerable:!1,configurable:!1,writable:!1})}},81741:function(t,e,r){"use strict";var n=r(7925),i=r(51462),o=r(78841).f,s=r(93283).f,a=n.Symbol;if(i("dispose"),a){var c=s(a,"dispose");c.enumerable&&c.configurable&&c.writable&&o(a,"dispose",{value:c.value,enumerable:!1,configurable:!1,writable:!1})}},51825:function(t,e,r){"use strict";r(56868)({target:"Symbol",stat:!0},{isRegisteredSymbol:r(8587)})},1884:function(t,e,r){"use strict";r(56868)({target:"Symbol",stat:!0,name:"isRegisteredSymbol"},{isRegistered:r(8587)})},1693:function(t,e,r){"use strict";r(56868)({target:"Symbol",stat:!0,forced:!0},{isWellKnownSymbol:r(73950)})},54715:function(t,e,r){"use strict";r(56868)({target:"Symbol",stat:!0,name:"isWellKnownSymbol",forced:!0},{isWellKnown:r(73950)})},17365:function(t,e,r){"use strict";r(51462)("matcher")},22993:function(t,e,r){"use strict";r(51462)("metadataKey")},65502:function(t,e,r){"use strict";r(51462)("metadata")},71595:function(t,e,r){"use strict";r(51462)("observable")},68318:function(t,e,r){"use strict";r(51462)("patternMatch")},43174:function(t,e,r){"use strict";r(51462)("replaceAll")},50620:function(t,e,r){"use strict";var n=r(67858),i=r(88874).filterReject,o=r(1891),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("filterOut",(function(t){var e=i(s(this),t,arguments.length>1?arguments[1]:void 0);return o(this,e)}),!0)},69429:function(t,e,r){"use strict";var n=r(67858),i=r(88874).filterReject,o=r(1891),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("filterReject",(function(t){var e=i(s(this),t,arguments.length>1?arguments[1]:void 0);return o(this,e)}),!0)},80015:function(t,e,r){"use strict";var n=r(32078),i=r(23013),o=r(49260),s=r(67858),a=r(28754),c=s.aTypedArrayConstructor;(0,s.exportTypedArrayStaticMethod)("fromAsync",(function(t){var e=this,r=arguments.length,s=r>1?arguments[1]:void 0,u=r>2?arguments[2]:void 0;return new(n("Promise"))((function(r){i(e),r(o(t,s,u))})).then((function(t){return a(c(e),t)}))}),!0)},77586:function(t,e,r){"use strict";var n=r(67858),i=r(8824),o=r(48853),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("groupBy",(function(t){var e=arguments.length>1?arguments[1]:void 0;return i(s(this),t,e,o)}),!0)},89607:function(t,e,r){"use strict";var n=r(67858),i=r(73448),o=r(10181),s=r(26281),a=r(56653),c=r(69640),u=r(49402),l=n.aTypedArray,f=n.getTypedArrayConstructor,h=n.exportTypedArrayMethod,d=Math.max,p=Math.min;h("toSpliced",(function(t,e){var r,n,u,h,g,y,b,v=l(this),m=f(v),w=i(v),S=s(t,w),x=arguments.length,_=0;if(0===x)r=n=0;else if(1===x)r=0,n=w-S;else if(n=p(d(c(e),0),w-S),r=x-2){h=new m(r),u=o(h);for(var A=2;A<x;A++)g=arguments[A],h[A-2]=u?a(g):+g}for(b=new m(y=w+r-n);_<S;_++)b[_]=v[_];for(;_<S+r;_++)b[_]=h[_-S];for(;_<y;_++)b[_]=v[_+n-r];return b}),!!u((function(){var t=new Int8Array([1]),e=t.toSpliced(1,0,{valueOf:function(){return t[0]=2,3}});return 2!==e[0]||3!==e[1]})))},91042:function(t,e,r){"use strict";var n=r(69421),i=r(67858),o=r(28754),s=r(38447),a=i.aTypedArray,c=i.getTypedArrayConstructor,u=i.exportTypedArrayMethod,l=n(s);u("uniqueBy",(function(t){return a(this),o(c(this),l(this,t))}),!0)},14653:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(69421),s=r(61062),a=r(13600),c=r(91565),u=r(28754),l=r(15006),f=r(3532),h=l.c2i,d=l.c2iUrl,p=i.Uint8Array,g=i.SyntaxError,y=o("".charAt),b=o("".replace),v=o("".slice),m=o([].push),w=/[\t\n\f\r ]/g,S="Extra bits";p&&n({target:"Uint8Array",stat:!0,forced:!0},{fromBase64:function(t){a(t);var e=arguments.length>1?s(arguments[1]):void 0,r="base64"===f(e)?h:d,n=!!e&&!!e.strict,i=n?t:b(t,w,"");if(i.length%4==0)"=="===v(i,-2)?i=v(i,0,-2):"="===v(i,-1)&&(i=v(i,0,-1));else if(n)throw new g("Input is not correctly padded");var o=i.length%4;switch(o){case 1:throw new g("Bad input length");case 2:i+="AA";break;case 3:i+="A"}for(var l=[],x=0,_=i.length,A=function(t){var e=y(i,x+t);if(!c(r,e))throw new g('Bad char in input: "'+e+'"');return r[e]<<18-6*t};x<_;x+=4){var C=A(0)+A(1)+A(2)+A(3);m(l,C>>16&255,C>>8&255,255&C)}var k=l.length;if(2===o){if(n&&0!==l[k-2])throw new g(S);k-=2}else if(3===o){if(n&&0!==l[k-1])throw new g(S);k--}return u(p,l,k)}})},67379:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(69421),s=r(13600),a=i.Uint8Array,c=i.SyntaxError,u=i.parseInt,l=/[^\da-f]/i,f=o(l.exec),h=o("".slice);a&&n({target:"Uint8Array",stat:!0,forced:!0},{fromHex:function(t){s(t);var e=t.length;if(e%2)throw new c("String should have an even number of characters");if(f(l,t))throw new c("String should only contain hex characters");for(var r=new a(e/2),n=0;n<e;n+=2)r[n/2]=u(h(t,n,n+2),16);return r}})},5073:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(69421),s=r(61062),a=r(31109),c=r(15006),u=r(3532),l=c.i2c,f=c.i2cUrl,h=i.Uint8Array,d=o("".charAt);h&&n({target:"Uint8Array",proto:!0,forced:!0},{toBase64:function(){for(var t,e=a(this),r=arguments.length?s(arguments[0]):void 0,n="base64"===u(r)?l:f,i="",o=0,c=e.length,h=function(e){return d(n,t>>6*e&63)};o+2<c;o+=3)t=(e[o]<<16)+(e[o+1]<<8)+e[o+2],i+=h(3)+h(2)+h(1)+h(0);return o+2===c?(t=(e[o]<<16)+(e[o+1]<<8),i+=h(3)+h(2)+h(1)+"="):o+1===c&&(t=e[o]<<16,i+=h(3)+h(2)+"=="),i}})},21786:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(69421),s=r(31109),a=i.Uint8Array,c=o(1..toString);a&&n({target:"Uint8Array",proto:!0,forced:!0},{toHex:function(){s(this);for(var t="",e=0,r=this.length;e<r;e++){var n=c(this[e],16);t+=1===n.length?"0"+n:n}return t}})},37510:function(t,e,r){"use strict";var n=r(56868),i=r(35957),o=r(53571).remove;n({target:"WeakMap",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=i(this),r=!0,n=0,s=arguments.length;n<s;n++)t=o(e,arguments[n]),r=r&&t;return!!r}})},36854:function(t,e,r){"use strict";var n=r(56868),i=r(35957),o=r(53571),s=o.get,a=o.has,c=o.set;n({target:"WeakMap",proto:!0,real:!0,forced:!0},{emplace:function(t,e){var r,n,o=i(this);return a(o,t)?(r=s(o,t),"update"in e&&(r=e.update(r,t,o),c(o,t,r)),r):(n=e.insert(t,o),c(o,t,n),n)}})},40491:function(t,e,r){"use strict";var n=r(56868),i=r(53571);n({target:"WeakMap",stat:!0,forced:!0},{from:r(849)(i.WeakMap,i.set,!0)})},13613:function(t,e,r){"use strict";var n=r(56868),i=r(53571);n({target:"WeakMap",stat:!0,forced:!0},{of:r(45095)(i.WeakMap,i.set,!0)})},45433:function(t,e,r){"use strict";r(56868)({target:"WeakMap",proto:!0,real:!0,forced:!0},{upsert:r(11353)})},79942:function(t,e,r){"use strict";var n=r(56868),i=r(30921),o=r(60294).add;n({target:"WeakSet",proto:!0,real:!0,forced:!0},{addAll:function(){for(var t=i(this),e=0,r=arguments.length;e<r;e++)o(t,arguments[e]);return t}})},5626:function(t,e,r){"use strict";var n=r(56868),i=r(30921),o=r(60294).remove;n({target:"WeakSet",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=i(this),r=!0,n=0,s=arguments.length;n<s;n++)t=o(e,arguments[n]),r=r&&t;return!!r}})},878:function(t,e,r){"use strict";var n=r(56868),i=r(60294);n({target:"WeakSet",stat:!0,forced:!0},{from:r(849)(i.WeakSet,i.add,!1)})},56154:function(t,e,r){"use strict";var n=r(56868),i=r(60294);n({target:"WeakSet",stat:!0,forced:!0},{of:r(45095)(i.WeakSet,i.add,!1)})},79026:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(12027).clear;n({global:!0,bind:!0,enumerable:!0,forced:i.clearImmediate!==o},{clearImmediate:o})},8695:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(32078),s=r(90814),a=r(78841).f,c=r(91565),u=r(74691),l=r(21360),f=r(55930),h=r(35456),d=r(70477),p=r(76202),g=r(46234),y="DOMException",b=o("Error"),v=o(y),m=function(){u(this,w);var t=arguments.length,e=f(t<1?void 0:arguments[0]),r=f(t<2?void 0:arguments[1],"Error"),n=new v(e,r),i=new b(e);return i.name=y,a(n,"stack",s(1,d(i.stack,1))),l(n,this,m),n},w=m.prototype=v.prototype,S="stack"in new b(y),x="stack"in new v(1,2),_=v&&p&&Object.getOwnPropertyDescriptor(i,y),A=!(!_||_.writable&&_.configurable),C=S&&!A&&!x;n({global:!0,constructor:!0,forced:g||C},{DOMException:C?m:v});var k=o(y),E=k.prototype;if(E.constructor!==k)for(var P in g||a(E,"constructor",s(1,k)),h)if(c(h,P)){var O=h[P],B=O.s;c(k,B)||a(k,B,s(6,O.c))}},74243:function(t,e,r){"use strict";r(79026),r(62615)},62615:function(t,e,r){"use strict";var n=r(56868),i=r(7925),o=r(12027).set,s=r(79913),a=i.setImmediate?s(o,!1):o;n({global:!0,bind:!0,enumerable:!0,forced:i.setImmediate!==a},{setImmediate:a})},80741:function(t,e,r){"use strict";var n,i=r(46234),o=r(56868),s=r(7925),a=r(32078),c=r(69421),u=r(49402),l=r(27919),f=r(70064),h=r(85123),d=r(1813),p=r(94633),g=r(39936),y=r(97887),b=r(58785),v=r(61692),m=r(91565),w=r(15313),S=r(52605),x=r(73448),_=r(18418),A=r(48448),C=r(81808),k=r(77258),E=r(18505),P=r(9238),O=r(92718),B=r(72093),I=s.Object,T=s.Array,R=s.Date,M=s.Error,D=s.TypeError,F=s.PerformanceMark,N=a("DOMException"),L=C.Map,j=C.has,z=C.get,U=C.set,W=k.Set,G=k.add,V=k.has,X=a("Object","keys"),q=c([].push),H=c((!0).valueOf),Z=c(1..valueOf),K=c("".valueOf),Y=c(R.prototype.getTime),J=l("structuredClone"),Q="DataCloneError",$="Transferring",tt=function(t){return!u((function(){var e=new s.Set([7]),r=t(e),n=t(I(7));return r===e||!r.has(7)||!p(n)||7!=+n}))&&t},et=function(t,e){return!u((function(){var r=new e,n=t({a:r,b:r});return!(n&&n.a===n.b&&n.a instanceof e&&n.a.stack===r.stack)}))},rt=s.structuredClone,nt=i||!et(rt,M)||!et(rt,N)||(n=rt,!!u((function(){var t=n(new s.AggregateError([1],J,{cause:3}));return"AggregateError"!==t.name||1!==t.errors[0]||t.message!==J||3!==t.cause}))),it=!rt&&tt((function(t){return new F(J,{detail:t}).detail})),ot=tt(rt)||it,st=function(t){throw new N("Uncloneable type: "+t,Q)},at=function(t,e){throw new N((e||"Cloning")+" of "+t+" cannot be properly polyfilled in this engine",Q)},ct=function(t,e){return ot||at(e),ot(t)},ut=function(t,e,r){if(j(e,t))return z(e,t);var n,i,o,a,c,u;if("SharedArrayBuffer"===(r||v(t)))n=ot?ot(t):t;else{var l=s.DataView;l||f(t.slice)||at("ArrayBuffer");try{if(f(t.slice)&&!t.resizable)n=t.slice(0);else{i=t.byteLength,o="maxByteLength"in t?{maxByteLength:t.maxByteLength}:void 0,n=new ArrayBuffer(i,o),a=new l(t),c=new l(n);for(u=0;u<i;u++)c.setUint8(u,a.getUint8(u))}}catch(t){throw new N("ArrayBuffer is detached",Q)}}return U(e,t,n),n},lt=function(t,e){if(g(t)&&st("Symbol"),!p(t))return t;if(e){if(j(e,t))return z(e,t)}else e=new L;var r,n,i,o,c,u,l,h,d=v(t);switch(d){case"Array":i=T(x(t));break;case"Object":i={};break;case"Map":i=new L;break;case"Set":i=new W;break;case"RegExp":i=new RegExp(t.source,A(t));break;case"Error":switch(n=t.name){case"AggregateError":i=new(a(n))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":i=new(a(n));break;case"CompileError":case"LinkError":case"RuntimeError":i=new(a("WebAssembly",n));break;default:i=new M}break;case"DOMException":i=new N(t.message,t.name);break;case"ArrayBuffer":case"SharedArrayBuffer":i=ut(t,e,d);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":u="DataView"===d?t.byteLength:t.length,i=function(t,e,r,n,i){var o=s[e];return p(o)||at(e),new o(ut(t.buffer,i),r,n)}(t,d,t.byteOffset,u,e);break;case"DOMQuad":try{i=new DOMQuad(lt(t.p1,e),lt(t.p2,e),lt(t.p3,e),lt(t.p4,e))}catch(e){i=ct(t,d)}break;case"File":if(ot)try{i=ot(t),v(i)!==d&&(i=void 0)}catch(t){}if(!i)try{i=new File([t],t.name,t)}catch(t){}i||at(d);break;case"FileList":if(o=function(){var t;try{t=new s.DataTransfer}catch(e){try{t=new s.ClipboardEvent("").clipboardData}catch(t){}}return t&&t.items&&t.files?t:null}()){for(c=0,u=x(t);c<u;c++)o.items.add(lt(t[c],e));i=o.files}else i=ct(t,d);break;case"ImageData":try{i=new ImageData(lt(t.data,e),t.width,t.height,{colorSpace:t.colorSpace})}catch(e){i=ct(t,d)}break;default:if(ot)i=ot(t);else switch(d){case"BigInt":i=I(t.valueOf());break;case"Boolean":i=I(H(t));break;case"Number":i=I(Z(t));break;case"String":i=I(K(t));break;case"Date":i=new R(Y(t));break;case"Blob":try{i=t.slice(0,t.size,t.type)}catch(t){at(d)}break;case"DOMPoint":case"DOMPointReadOnly":r=s[d];try{i=r.fromPoint?r.fromPoint(t):new r(t.x,t.y,t.z,t.w)}catch(t){at(d)}break;case"DOMRect":case"DOMRectReadOnly":r=s[d];try{i=r.fromRect?r.fromRect(t):new r(t.x,t.y,t.width,t.height)}catch(t){at(d)}break;case"DOMMatrix":case"DOMMatrixReadOnly":r=s[d];try{i=r.fromMatrix?r.fromMatrix(t):new r(t)}catch(t){at(d)}break;case"AudioData":case"VideoFrame":f(t.clone)||at(d);try{i=t.clone()}catch(t){st(d)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":at(d);default:st(d)}}switch(U(e,t,i),d){case"Array":case"Object":for(l=X(t),c=0,u=x(l);c<u;c++)h=l[c],w(i,h,lt(t[h],e));break;case"Map":t.forEach((function(t,r){U(i,lt(r,e),lt(t,e))}));break;case"Set":t.forEach((function(t){G(i,lt(t,e))}));break;case"Error":S(i,"message",lt(t.message,e)),m(t,"cause")&&S(i,"cause",lt(t.cause,e)),"AggregateError"===n?i.errors=lt(t.errors,e):"SuppressedError"===n&&(i.error=lt(t.error,e),i.suppressed=lt(t.suppressed,e));case"DOMException":O&&S(i,"stack",lt(t.stack,e))}return i};o({global:!0,enumerable:!0,sham:!B,forced:nt},{structuredClone:function(t){var e,r,n=_(arguments.length,1)>1&&!d(arguments[1])?b(arguments[1]):void 0,i=n?n.transfer:void 0;void 0!==i&&(r=function(t,e){if(!p(t))throw new D("Transfer option cannot be converted to a sequence");var r=[];y(t,(function(t){q(r,b(t))}));for(var n,i,o,a,c,u=0,l=x(r),d=new W;u<l;){if(n=r[u++],"ArrayBuffer"===(i=v(n))?V(d,n):j(e,n))throw new N("Duplicate transferable",Q);if("ArrayBuffer"!==i){if(B)a=rt(n,{transfer:[n]});else switch(i){case"ImageBitmap":o=s.OffscreenCanvas,h(o)||at(i,$);try{(c=new o(n.width,n.height)).getContext("bitmaprenderer").transferFromImageBitmap(n),a=c.transferToImageBitmap()}catch(t){}break;case"AudioData":case"VideoFrame":f(n.clone)&&f(n.close)||at(i,$);try{a=n.clone(),n.close()}catch(t){}break;case"MediaSourceHandle":case"MessagePort":case"OffscreenCanvas":case"ReadableStream":case"TransformStream":case"WritableStream":at(i,$)}if(void 0===a)throw new N("This object cannot be transferred: "+i,Q);U(e,n,a)}else G(d,n)}return d}(i,e=new L));var o=lt(t,e);return r&&function(t){E(t,(function(t){B?ot(t,{transfer:[t]}):f(t.transfer)?t.transfer():P?P(t):at("ArrayBuffer",$)}))}(r),o}})},55989:function(t,e,r){"use strict";var n=r(19104),i=r(69421),o=r(45364),s=r(18418),a=URLSearchParams,c=a.prototype,u=i(c.append),l=i(c.delete),f=i(c.forEach),h=i([].push),d=new a("a=1&a=2&b=3");d.delete("a",1),d.delete("b",void 0),d+""!="a=2"&&n(c,"delete",(function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return l(this,t);var n=[];f(this,(function(t,e){h(n,{key:e,value:t})})),s(e,1);for(var i,a=o(t),c=o(r),d=0,p=0,g=!1,y=n.length;d<y;)i=n[d++],g||i.key===a?(g=!0,l(this,i.key)):p++;for(;p<y;)(i=n[p++]).key===a&&i.value===c||u(this,i.key,i.value)}),{enumerable:!0,unsafe:!0})},48999:function(t,e,r){"use strict";var n=r(19104),i=r(69421),o=r(45364),s=r(18418),a=URLSearchParams,c=a.prototype,u=i(c.getAll),l=i(c.has),f=new a("a=1");!f.has("a",2)&&f.has("a",void 0)||n(c,"has",(function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return l(this,t);var n=u(this,t);s(e,1);for(var i=o(r),a=0;a<n.length;)if(n[a++]===i)return!0;return!1}),{enumerable:!0,unsafe:!0})},83133:function(t,e,r){"use strict";var n=r(76202),i=r(69421),o=r(22363),s=URLSearchParams.prototype,a=i(s.forEach);n&&!("size"in s)&&o(s,"size",{get:function(){var t=0;return a(this,(function(){t++})),t},configurable:!0,enumerable:!0})},71507:function(t,e,r){"use strict";var n=r(56868),i=r(32078),o=r(49402),s=r(18418),a=r(45364),c=r(68991),u=i("URL");n({target:"URL",stat:!0,forced:!(c&&o((function(){u.canParse()})))},{canParse:function(t){var e=s(arguments.length,1),r=a(t),n=e<2||void 0===arguments[1]?void 0:a(arguments[1]);try{return!!new u(r,n)}catch(t){return!1}}})},19422:function(t,e,r){"use strict";var n=r(96456),i=r(6996),o=r(86320);if(r(19117)()||r(70748)()){var s=Symbol.iterator;t.exports=function(t){return null!=t&&void 0!==t[s]?t[s]():i(t)?Array.prototype[s].call(t):void 0}}else{var a=r(36841),c=r(14146),u=r(15329),l=u("%Map%",!0),f=u("%Set%",!0),h=r(93385),d=h("Array.prototype.push"),p=h("String.prototype.charCodeAt"),g=h("String.prototype.slice"),y=function(t){var e=0;return{next:function(){var r,n=e>=t.length;return n||(r=t[e],e+=1),{done:n,value:r}}}},b=function(t,e){if(a(t)||i(t))return y(t);if(c(t)){var r=0;return{next:function(){var e=function(t,e){if(e+1>=t.length)return e+1;var r=p(t,e);if(r<55296||r>56319)return e+1;var n=p(t,e+1);return n<56320||n>57343?e+1:e+2}(t,r),n=g(t,r,e);return r=e,{done:e>t.length,value:n}}}}return e&&void 0!==t["_es6-shim iterator_"]?t["_es6-shim iterator_"]():void 0};if(l||f){var v=r(74773),m=r(70439),w=h("Map.prototype.forEach",!0),S=h("Set.prototype.forEach",!0);if(void 0===n||!n.versions||!n.versions.node)var x=h("Map.prototype.iterator",!0),_=h("Set.prototype.iterator",!0);var A=h("Map.prototype.@@iterator",!0)||h("Map.prototype._es6-shim iterator_",!0),C=h("Set.prototype.@@iterator",!0)||h("Set.prototype._es6-shim iterator_",!0);t.exports=function(t){return function(t){if(v(t)){if(x)return o(x(t));if(A)return A(t);if(w){var e=[];return w(t,(function(t,r){d(e,[r,t])})),y(e)}}if(m(t)){if(_)return o(_(t));if(C)return C(t);if(S){var r=[];return S(t,(function(t){d(r,t)})),y(r)}}}(t)||b(t)}}else t.exports=function(t){if(null!=t)return b(t,!0)}}},13293:function(t,e,r){"use strict";var n=r(74773),i=r(70439),o=r(22389),s=r(99267);t.exports=function(t){if(t&&"object"==typeof t){if(n(t))return"Map";if(i(t))return"Set";if(o(t))return"WeakMap";if(s(t))return"WeakSet"}return!1}},39531:function(t,e,r){var n,i=r(40870),o=r(82871),s=r(29849),a=r(17173),c=r(79858),u=r(25288),l=r(86556),f=r(4978),h=r(48134),d=r(11482),p=r(34570),g=r(65341),y=r(85076);function b(t,e,r,n){Object.defineProperty(t,e,{get:r,set:n,enumerable:!0,configurable:!0})}function v(t){return t&&t.__esModule?t.default:t}n=t.exports,Object.defineProperty(n,"__esModule",{value:!0,configurable:!0}),b(t.exports,"default",(()=>Na));var m={};b(m,"logErrors",(()=>w)),b(m,"registerFormat",(()=>x)),b(m,"openSync",(()=>_)),b(m,"create",(()=>C)),b(m,"open",(()=>A)),b(m,"defaultLanguage",(()=>k)),b(m,"setDefaultLanguage",(()=>E));let w=!1,S=[];function x(t){S.push(t)}function _(t,e){return C(o.readFileSync(t),e)}function A(t,e,r){"function"==typeof e&&(r=e,e=null),o.readFile(t,(function(t,n){if(t)return r(t);try{var i=C(n,e)}catch(t){return r(t)}return r(null,i)}))}function C(t,e){for(let r=0;r<S.length;r++){let n=S[r];if(n.probe(t)){let r=new n(new(v(i).DecodeStream)(t));return e?r.getFont(e):r}}throw new Error("Unknown font format")}let k="en";function E(t="en"){k=t}function P(t,e,r){if(r.get){let t=r.get;r.get=function(){let r=t.call(this);return Object.defineProperty(this,e,{value:r}),r}}else if("function"==typeof r.value){let t=r.value;return{get(){let r=new Map;function n(...e){let n=e.length>0?e[0]:"value";if(r.has(n))return r.get(n);let i=t.apply(this,e);return r.set(n,i),i}return Object.defineProperty(this,e,{value:n}),n}}}}let O=new(v(i).Struct)({firstCode:v(i).uint16,entryCount:v(i).uint16,idDelta:v(i).int16,idRangeOffset:v(i).uint16}),B=new(v(i).Struct)({startCharCode:v(i).uint32,endCharCode:v(i).uint32,glyphID:v(i).uint32}),I=new(v(i).Struct)({startUnicodeValue:v(i).uint24,additionalCount:v(i).uint8}),T=new(v(i).Struct)({unicodeValue:v(i).uint24,glyphID:v(i).uint16}),R=new(v(i).Array)(I,v(i).uint32),M=new(v(i).Array)(T,v(i).uint32),D=new(v(i).Struct)({varSelector:v(i).uint24,defaultUVS:new(v(i).Pointer)(v(i).uint32,R,{type:"parent"}),nonDefaultUVS:new(v(i).Pointer)(v(i).uint32,M,{type:"parent"})}),F=new(v(i).VersionedStruct)(v(i).uint16,{0:{length:v(i).uint16,language:v(i).uint16,codeMap:new(v(i).LazyArray)(v(i).uint8,256)},2:{length:v(i).uint16,language:v(i).uint16,subHeaderKeys:new(v(i).Array)(v(i).uint16,256),subHeaderCount:t=>Math.max.apply(Math,t.subHeaderKeys),subHeaders:new(v(i).LazyArray)(O,"subHeaderCount"),glyphIndexArray:new(v(i).LazyArray)(v(i).uint16,"subHeaderCount")},4:{length:v(i).uint16,language:v(i).uint16,segCountX2:v(i).uint16,segCount:t=>t.segCountX2>>1,searchRange:v(i).uint16,entrySelector:v(i).uint16,rangeShift:v(i).uint16,endCode:new(v(i).LazyArray)(v(i).uint16,"segCount"),reservedPad:new(v(i).Reserved)(v(i).uint16),startCode:new(v(i).LazyArray)(v(i).uint16,"segCount"),idDelta:new(v(i).LazyArray)(v(i).int16,"segCount"),idRangeOffset:new(v(i).LazyArray)(v(i).uint16,"segCount"),glyphIndexArray:new(v(i).LazyArray)(v(i).uint16,(t=>(t.length-t._currentOffset)/2))},6:{length:v(i).uint16,language:v(i).uint16,firstCode:v(i).uint16,entryCount:v(i).uint16,glyphIndices:new(v(i).LazyArray)(v(i).uint16,"entryCount")},8:{reserved:new(v(i).Reserved)(v(i).uint16),length:v(i).uint32,language:v(i).uint16,is32:new(v(i).LazyArray)(v(i).uint8,8192),nGroups:v(i).uint32,groups:new(v(i).LazyArray)(B,"nGroups")},10:{reserved:new(v(i).Reserved)(v(i).uint16),length:v(i).uint32,language:v(i).uint32,firstCode:v(i).uint32,entryCount:v(i).uint32,glyphIndices:new(v(i).LazyArray)(v(i).uint16,"numChars")},12:{reserved:new(v(i).Reserved)(v(i).uint16),length:v(i).uint32,language:v(i).uint32,nGroups:v(i).uint32,groups:new(v(i).LazyArray)(B,"nGroups")},13:{reserved:new(v(i).Reserved)(v(i).uint16),length:v(i).uint32,language:v(i).uint32,nGroups:v(i).uint32,groups:new(v(i).LazyArray)(B,"nGroups")},14:{length:v(i).uint32,numRecords:v(i).uint32,varSelectors:new(v(i).LazyArray)(D,"numRecords")}}),N=new(v(i).Struct)({platformID:v(i).uint16,encodingID:v(i).uint16,table:new(v(i).Pointer)(v(i).uint32,F,{type:"parent",lazy:!0})});var L=new(v(i).Struct)({version:v(i).uint16,numSubtables:v(i).uint16,tables:new(v(i).Array)(N,"numSubtables")}),j=new(v(i).Struct)({version:v(i).int32,revision:v(i).int32,checkSumAdjustment:v(i).uint32,magicNumber:v(i).uint32,flags:v(i).uint16,unitsPerEm:v(i).uint16,created:new(v(i).Array)(v(i).int32,2),modified:new(v(i).Array)(v(i).int32,2),xMin:v(i).int16,yMin:v(i).int16,xMax:v(i).int16,yMax:v(i).int16,macStyle:new(v(i).Bitfield)(v(i).uint16,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:v(i).uint16,fontDirectionHint:v(i).int16,indexToLocFormat:v(i).int16,glyphDataFormat:v(i).int16}),z=new(v(i).Struct)({version:v(i).int32,ascent:v(i).int16,descent:v(i).int16,lineGap:v(i).int16,advanceWidthMax:v(i).uint16,minLeftSideBearing:v(i).int16,minRightSideBearing:v(i).int16,xMaxExtent:v(i).int16,caretSlopeRise:v(i).int16,caretSlopeRun:v(i).int16,caretOffset:v(i).int16,reserved:new(v(i).Reserved)(v(i).int16,4),metricDataFormat:v(i).int16,numberOfMetrics:v(i).uint16});let U=new(v(i).Struct)({advance:v(i).uint16,bearing:v(i).int16});var W=new(v(i).Struct)({metrics:new(v(i).LazyArray)(U,(t=>t.parent.hhea.numberOfMetrics)),bearings:new(v(i).LazyArray)(v(i).int16,(t=>t.parent.maxp.numGlyphs-t.parent.hhea.numberOfMetrics))}),G=new(v(i).Struct)({version:v(i).int32,numGlyphs:v(i).uint16,maxPoints:v(i).uint16,maxContours:v(i).uint16,maxComponentPoints:v(i).uint16,maxComponentContours:v(i).uint16,maxZones:v(i).uint16,maxTwilightPoints:v(i).uint16,maxStorage:v(i).uint16,maxFunctionDefs:v(i).uint16,maxInstructionDefs:v(i).uint16,maxStackElements:v(i).uint16,maxSizeOfInstructions:v(i).uint16,maxComponentElements:v(i).uint16,maxComponentDepth:v(i).uint16});function V(t,e,r=0){return 1===t&&q[r]?q[r]:X[t][e]}const X=[["utf16be","utf16be","utf16be","utf16be","utf16be","utf16be"],["macroman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","macgreek","maccyrillic","symbol","Devanagari","Gurmukhi","Gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","macthai","Laotian","Georgian","Armenian","gb-2312-80","Tibetan","Mongolian","Geez","maccenteuro","Vietnamese","Sindhi"],["ascii"],["symbol","utf16be","shift-jis","gb18030","big5","wansung","johab",null,null,null,"utf16be"]],q={15:"maciceland",17:"macturkish",18:"maccroatian",24:"maccenteuro",25:"maccenteuro",26:"maccenteuro",27:"maccenteuro",28:"maccenteuro",30:"maciceland",37:"macromania",38:"maccenteuro",39:"maccenteuro",40:"maccenteuro",143:"macinuit",146:"macgaelic"},H=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}];var Z=a.Buffer;let K=new(v(i).Struct)({platformID:v(i).uint16,encodingID:v(i).uint16,languageID:v(i).uint16,nameID:v(i).uint16,length:v(i).uint16,string:new(v(i).Pointer)(v(i).uint16,new(v(i).String)("length",(t=>V(t.platformID,t.encodingID,t.languageID))),{type:"parent",relativeTo:t=>t.parent.stringOffset,allowNull:!1})}),Y=new(v(i).Struct)({length:v(i).uint16,tag:new(v(i).Pointer)(v(i).uint16,new(v(i).String)("length","utf16be"),{type:"parent",relativeTo:t=>t.stringOffset})});var J=new(v(i).VersionedStruct)(v(i).uint16,{0:{count:v(i).uint16,stringOffset:v(i).uint16,records:new(v(i).Array)(K,"count")},1:{count:v(i).uint16,stringOffset:v(i).uint16,records:new(v(i).Array)(K,"count"),langTagCount:v(i).uint16,langTags:new(v(i).Array)(Y,"langTagCount")}}),Q=J;const $=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];J.process=function(t){var e={};for(let t of this.records){let r=H[t.platformID][t.languageID];null==r&&null!=this.langTags&&t.languageID>=32768&&(r=this.langTags[t.languageID-32768].tag),null==r&&(r=t.platformID+"-"+t.languageID);let n=t.nameID>=256?"fontFeatures":$[t.nameID]||t.nameID;null==e[n]&&(e[n]={});let i=e[n];t.nameID>=256&&(i=i[t.nameID]||(i[t.nameID]={})),"string"!=typeof t.string&&"string"==typeof i[r]||(i[r]=t.string)}this.records=e},J.preEncode=function(){if(Array.isArray(this.records))return;this.version=0;let t=[];for(let e in this.records){let r=this.records[e];"fontFeatures"!==e&&(t.push({platformID:3,encodingID:1,languageID:1033,nameID:$.indexOf(e),length:Z.byteLength(r.en,"utf16le"),string:r.en}),"postscriptName"===e&&t.push({platformID:1,encodingID:0,languageID:0,nameID:$.indexOf(e),length:r.en.length,string:r.en}))}this.records=t,this.count=t.length,this.stringOffset=J.size(this,null,!1)};var tt=new(v(i).VersionedStruct)(v(i).uint16,{header:{xAvgCharWidth:v(i).int16,usWeightClass:v(i).uint16,usWidthClass:v(i).uint16,fsType:new(v(i).Bitfield)(v(i).uint16,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:v(i).int16,ySubscriptYSize:v(i).int16,ySubscriptXOffset:v(i).int16,ySubscriptYOffset:v(i).int16,ySuperscriptXSize:v(i).int16,ySuperscriptYSize:v(i).int16,ySuperscriptXOffset:v(i).int16,ySuperscriptYOffset:v(i).int16,yStrikeoutSize:v(i).int16,yStrikeoutPosition:v(i).int16,sFamilyClass:v(i).int16,panose:new(v(i).Array)(v(i).uint8,10),ulCharRange:new(v(i).Array)(v(i).uint32,4),vendorID:new(v(i).String)(4),fsSelection:new(v(i).Bitfield)(v(i).uint16,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:v(i).uint16,usLastCharIndex:v(i).uint16},0:{},1:{typoAscender:v(i).int16,typoDescender:v(i).int16,typoLineGap:v(i).int16,winAscent:v(i).uint16,winDescent:v(i).uint16,codePageRange:new(v(i).Array)(v(i).uint32,2)},2:{typoAscender:v(i).int16,typoDescender:v(i).int16,typoLineGap:v(i).int16,winAscent:v(i).uint16,winDescent:v(i).uint16,codePageRange:new(v(i).Array)(v(i).uint32,2),xHeight:v(i).int16,capHeight:v(i).int16,defaultChar:v(i).uint16,breakChar:v(i).uint16,maxContent:v(i).uint16},5:{typoAscender:v(i).int16,typoDescender:v(i).int16,typoLineGap:v(i).int16,winAscent:v(i).uint16,winDescent:v(i).uint16,codePageRange:new(v(i).Array)(v(i).uint32,2),xHeight:v(i).int16,capHeight:v(i).int16,defaultChar:v(i).uint16,breakChar:v(i).uint16,maxContent:v(i).uint16,usLowerOpticalPointSize:v(i).uint16,usUpperOpticalPointSize:v(i).uint16}});let et=tt.versions;et[3]=et[4]=et[2];var rt=tt,nt=new(v(i).VersionedStruct)(v(i).fixed32,{header:{italicAngle:v(i).fixed32,underlinePosition:v(i).int16,underlineThickness:v(i).int16,isFixedPitch:v(i).uint32,minMemType42:v(i).uint32,maxMemType42:v(i).uint32,minMemType1:v(i).uint32,maxMemType1:v(i).uint32},1:{},2:{numberOfGlyphs:v(i).uint16,glyphNameIndex:new(v(i).Array)(v(i).uint16,"numberOfGlyphs"),names:new(v(i).Array)(new(v(i).String)(v(i).uint8))},2.5:{numberOfGlyphs:v(i).uint16,offsets:new(v(i).Array)(v(i).uint8,"numberOfGlyphs")},3:{},4:{map:new(v(i).Array)(v(i).uint32,(t=>t.parent.maxp.numGlyphs))}}),it=new(v(i).Struct)({controlValues:new(v(i).Array)(v(i).int16)}),ot=new(v(i).Struct)({instructions:new(v(i).Array)(v(i).uint8)});let st=new(v(i).VersionedStruct)("head.indexToLocFormat",{0:{offsets:new(v(i).Array)(v(i).uint16)},1:{offsets:new(v(i).Array)(v(i).uint32)}});st.process=function(){if(0===this.version)for(let t=0;t<this.offsets.length;t++)this.offsets[t]<<=1},st.preEncode=function(){if(0===this.version)for(let t=0;t<this.offsets.length;t++)this.offsets[t]>>>=1};var at=st,ct=new(v(i).Struct)({controlValueProgram:new(v(i).Array)(v(i).uint8)}),ut=new(v(i).Array)(new(v(i).Buffer));class lt{getCFFVersion(t){for(;t&&!t.hdrSize;)t=t.parent;return t?t.version:-1}decode(t,e){let r=this.getCFFVersion(e)>=2?t.readUInt32BE():t.readUInt16BE();if(0===r)return[];let n,o=t.readUInt8();if(1===o)n=v(i).uint8;else if(2===o)n=v(i).uint16;else if(3===o)n=v(i).uint24;else{if(4!==o)throw new Error(`Bad offset size in CFFIndex: ${o} ${t.pos}`);n=v(i).uint32}let s=[],a=t.pos+(r+1)*o-1,c=n.decode(t);for(let i=0;i<r;i++){let r=n.decode(t);if(null!=this.type){let n=t.pos;t.pos=a+c,e.length=r-c,s.push(this.type.decode(t,e)),t.pos=n}else s.push({offset:a+c,length:r-c});c=r}return t.pos=a+c,s}size(t,e){let r=2;if(0===t.length)return r;let n,o=this.type||new(v(i).Buffer),s=1;for(let r=0;r<t.length;r++){let n=t[r];s+=o.size(n,e)}if(s<=255)n=v(i).uint8;else if(s<=65535)n=v(i).uint16;else if(s<=16777215)n=v(i).uint24;else{if(!(s<=4294967295))throw new Error("Bad offset in CFFIndex");n=v(i).uint32}return r+=1+n.size()*(t.length+1),r+=s-1,r}encode(t,e,r){if(t.writeUInt16BE(e.length),0===e.length)return;let n,o=this.type||new(v(i).Buffer),s=[],a=1;for(let t of e){let e=o.size(t,r);s.push(e),a+=e}if(a<=255)n=v(i).uint8;else if(a<=65535)n=v(i).uint16;else if(a<=16777215)n=v(i).uint24;else{if(!(a<=4294967295))throw new Error("Bad offset in CFFIndex");n=v(i).uint32}t.writeUInt8(n.size()),a=1,n.encode(t,a);for(let e of s)a+=e,n.encode(t,a);for(let n of e)o.encode(t,n,r)}constructor(t){this.type=t}}const ft=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],ht={".":10,E:11,"E-":12,"-":14};class dt{static decode(t,e){if(32<=e&&e<=246)return e-139;if(247<=e&&e<=250)return 256*(e-247)+t.readUInt8()+108;if(251<=e&&e<=254)return 256*-(e-251)-t.readUInt8()-108;if(28===e)return t.readInt16BE();if(29===e)return t.readInt32BE();if(30===e){let e="";for(;;){let r=t.readUInt8(),n=r>>4;if(15===n)break;e+=ft[n];let i=15&r;if(15===i)break;e+=ft[i]}return parseFloat(e)}return null}static size(t){if(t.forceLarge&&(t=32768),(0|t)!==t){let e=""+t;return 1+Math.ceil((e.length+1)/2)}return-107<=t&&t<=107?1:108<=t&&t<=1131||-1131<=t&&t<=-108?2:-32768<=t&&t<=32767?3:5}static encode(t,e){let r=Number(e);if(e.forceLarge)return t.writeUInt8(29),t.writeInt32BE(r);if((0|r)===r)return-107<=r&&r<=107?t.writeUInt8(r+139):108<=r&&r<=1131?(r-=108,t.writeUInt8(247+(r>>8)),t.writeUInt8(255&r)):-1131<=r&&r<=-108?(r=-r-108,t.writeUInt8(251+(r>>8)),t.writeUInt8(255&r)):-32768<=r&&r<=32767?(t.writeUInt8(28),t.writeInt16BE(r)):(t.writeUInt8(29),t.writeInt32BE(r));{t.writeUInt8(30);let e=""+r;for(let r=0;r<e.length;r+=2){let i=e[r],o=ht[i]||+i;if(r===e.length-1)var n=15;else{let t=e[r+1];n=ht[t]||+t}t.writeUInt8(o<<4|15&n)}if(15!==n)return t.writeUInt8(240)}}}class pt{decodeOperands(t,e,r,n){if(Array.isArray(t))return n.map(((n,i)=>this.decodeOperands(t[i],e,r,[n])));if(null!=t.decode)return t.decode(e,r,n);switch(t){case"number":case"offset":case"sid":return n[0];case"boolean":return!!n[0];default:return n}}encodeOperands(t,e,r,n){return Array.isArray(t)?n.map(((n,i)=>this.encodeOperands(t[i],e,r,n)[0])):null!=t.encode?t.encode(e,n,r):"number"==typeof n?[n]:"boolean"==typeof n?[+n]:Array.isArray(n)?n:[n]}decode(t,e){let r=t.pos+e.length,n={},i=[];Object.defineProperties(n,{parent:{value:e},_startOffset:{value:t.pos}});for(let t in this.fields){let e=this.fields[t];n[e[1]]=e[3]}for(;t.pos<r;){let e=t.readUInt8();if(e<28){12===e&&(e=e<<8|t.readUInt8());let r=this.fields[e];if(!r)throw new Error(`Unknown operator ${e}`);let o=this.decodeOperands(r[2],t,n,i);null!=o&&(o instanceof c.PropertyDescriptor?Object.defineProperty(n,r[1],o):n[r[1]]=o),i=[]}else i.push(dt.decode(t,e))}return n}size(t,e,r=!0){let n={parent:e,val:t,pointerSize:0,startOffset:e.startOffset||0},i=0;for(let e in this.fields){let r=this.fields[e],o=t[r[1]];if(null==o||v(u)(o,r[3]))continue;let s=this.encodeOperands(r[2],null,n,o);for(let t of s)i+=dt.size(t);i+=(Array.isArray(r[0])?r[0]:[r[0]]).length}return r&&(i+=n.pointerSize),i}encode(t,e,r){let n={pointers:[],startOffset:t.pos,parent:r,val:e,pointerSize:0};n.pointerOffset=t.pos+this.size(e,n,!1);for(let r of this.ops){let i=e[r[1]];if(null==i||v(u)(i,r[3]))continue;let o=this.encodeOperands(r[2],t,n,i);for(let e of o)dt.encode(t,e);let s=Array.isArray(r[0])?r[0]:[r[0]];for(let e of s)t.writeUInt8(e)}let i=0;for(;i<n.pointers.length;){let e=n.pointers[i++];e.type.encode(t,e.val,e.parent)}}constructor(t=[]){this.ops=t,this.fields={};for(let e of t){let t=Array.isArray(e[0])?e[0][0]<<8|e[0][1]:e[0];this.fields[t]=e}}}class gt extends v(i).Pointer{decode(t,e,r){return this.offsetType={decode:()=>r[0]},super.decode(t,e,r)}encode(t,e,r){if(!t)return this.offsetType={size:()=>0},this.size(e,r),[new yt(0)];let n=null;return this.offsetType={encode:(t,e)=>n=e},super.encode(t,e,r),[new yt(n)]}constructor(t,e={}){null==e.type&&(e.type="global"),super(null,t,e)}}class yt{valueOf(){return this.val}constructor(t){this.val=t,this.forceLarge=!0}}var bt=new pt([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",class{static decode(t,e,r){let n=r.pop();for(;r.length>n;)r.pop()}},null],[19,"Subrs",new gt(new lt,{type:"local"}),null]]),vt=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];let mt=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],wt=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],St=new(v(i).Struct)({reserved:new(v(i).Reserved)(v(i).uint16),reqFeatureIndex:v(i).uint16,featureCount:v(i).uint16,featureIndexes:new(v(i).Array)(v(i).uint16,"featureCount")}),xt=new(v(i).Struct)({tag:new(v(i).String)(4),langSys:new(v(i).Pointer)(v(i).uint16,St,{type:"parent"})}),_t=new(v(i).Struct)({defaultLangSys:new(v(i).Pointer)(v(i).uint16,St),count:v(i).uint16,langSysRecords:new(v(i).Array)(xt,"count")}),At=new(v(i).Struct)({tag:new(v(i).String)(4),script:new(v(i).Pointer)(v(i).uint16,_t,{type:"parent"})}),Ct=new(v(i).Array)(At,v(i).uint16),kt=new(v(i).Struct)({version:v(i).uint16,nameID:v(i).uint16}),Et=new(v(i).Struct)({featureParams:new(v(i).Pointer)(v(i).uint16,kt),lookupCount:v(i).uint16,lookupListIndexes:new(v(i).Array)(v(i).uint16,"lookupCount")}),Pt=new(v(i).Struct)({tag:new(v(i).String)(4),feature:new(v(i).Pointer)(v(i).uint16,Et,{type:"parent"})}),Ot=new(v(i).Array)(Pt,v(i).uint16),Bt=new(v(i).Struct)({markAttachmentType:v(i).uint8,flags:new(v(i).Bitfield)(v(i).uint8,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function It(t){let e=new(v(i).Struct)({lookupType:v(i).uint16,flags:Bt,subTableCount:v(i).uint16,subTables:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,t),"subTableCount"),markFilteringSet:new(v(i).Optional)(v(i).uint16,(t=>t.flags.flags.useMarkFilteringSet))});return new(v(i).LazyArray)(new(v(i).Pointer)(v(i).uint16,e),v(i).uint16)}let Tt=new(v(i).Struct)({start:v(i).uint16,end:v(i).uint16,startCoverageIndex:v(i).uint16}),Rt=new(v(i).VersionedStruct)(v(i).uint16,{1:{glyphCount:v(i).uint16,glyphs:new(v(i).Array)(v(i).uint16,"glyphCount")},2:{rangeCount:v(i).uint16,rangeRecords:new(v(i).Array)(Tt,"rangeCount")}}),Mt=new(v(i).Struct)({start:v(i).uint16,end:v(i).uint16,class:v(i).uint16}),Dt=new(v(i).VersionedStruct)(v(i).uint16,{1:{startGlyph:v(i).uint16,glyphCount:v(i).uint16,classValueArray:new(v(i).Array)(v(i).uint16,"glyphCount")},2:{classRangeCount:v(i).uint16,classRangeRecord:new(v(i).Array)(Mt,"classRangeCount")}}),Ft=new(v(i).Struct)({a:v(i).uint16,b:v(i).uint16,deltaFormat:v(i).uint16}),Nt=new(v(i).Struct)({sequenceIndex:v(i).uint16,lookupListIndex:v(i).uint16}),Lt=new(v(i).Struct)({glyphCount:v(i).uint16,lookupCount:v(i).uint16,input:new(v(i).Array)(v(i).uint16,(t=>t.glyphCount-1)),lookupRecords:new(v(i).Array)(Nt,"lookupCount")}),jt=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Lt),v(i).uint16),zt=new(v(i).Struct)({glyphCount:v(i).uint16,lookupCount:v(i).uint16,classes:new(v(i).Array)(v(i).uint16,(t=>t.glyphCount-1)),lookupRecords:new(v(i).Array)(Nt,"lookupCount")}),Ut=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,zt),v(i).uint16),Wt=new(v(i).VersionedStruct)(v(i).uint16,{1:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),ruleSetCount:v(i).uint16,ruleSets:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,jt),"ruleSetCount")},2:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),classDef:new(v(i).Pointer)(v(i).uint16,Dt),classSetCnt:v(i).uint16,classSet:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Ut),"classSetCnt")},3:{glyphCount:v(i).uint16,lookupCount:v(i).uint16,coverages:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Rt),"glyphCount"),lookupRecords:new(v(i).Array)(Nt,"lookupCount")}}),Gt=new(v(i).Struct)({backtrackGlyphCount:v(i).uint16,backtrack:new(v(i).Array)(v(i).uint16,"backtrackGlyphCount"),inputGlyphCount:v(i).uint16,input:new(v(i).Array)(v(i).uint16,(t=>t.inputGlyphCount-1)),lookaheadGlyphCount:v(i).uint16,lookahead:new(v(i).Array)(v(i).uint16,"lookaheadGlyphCount"),lookupCount:v(i).uint16,lookupRecords:new(v(i).Array)(Nt,"lookupCount")}),Vt=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Gt),v(i).uint16),Xt=new(v(i).VersionedStruct)(v(i).uint16,{1:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),chainCount:v(i).uint16,chainRuleSets:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Vt),"chainCount")},2:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),backtrackClassDef:new(v(i).Pointer)(v(i).uint16,Dt),inputClassDef:new(v(i).Pointer)(v(i).uint16,Dt),lookaheadClassDef:new(v(i).Pointer)(v(i).uint16,Dt),chainCount:v(i).uint16,chainClassSet:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Vt),"chainCount")},3:{backtrackGlyphCount:v(i).uint16,backtrackCoverage:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Rt),"backtrackGlyphCount"),inputGlyphCount:v(i).uint16,inputCoverage:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Rt),"inputGlyphCount"),lookaheadGlyphCount:v(i).uint16,lookaheadCoverage:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Rt),"lookaheadGlyphCount"),lookupCount:v(i).uint16,lookupRecords:new(v(i).Array)(Nt,"lookupCount")}}),qt=new(v(i).Fixed)(16,"BE",14),Ht=new(v(i).Struct)({startCoord:qt,peakCoord:qt,endCoord:qt}),Zt=new(v(i).Struct)({axisCount:v(i).uint16,regionCount:v(i).uint16,variationRegions:new(v(i).Array)(new(v(i).Array)(Ht,"axisCount"),"regionCount")}),Kt=new(v(i).Struct)({shortDeltas:new(v(i).Array)(v(i).int16,(t=>t.parent.shortDeltaCount)),regionDeltas:new(v(i).Array)(v(i).int8,(t=>t.parent.regionIndexCount-t.parent.shortDeltaCount)),deltas:t=>t.shortDeltas.concat(t.regionDeltas)}),Yt=new(v(i).Struct)({itemCount:v(i).uint16,shortDeltaCount:v(i).uint16,regionIndexCount:v(i).uint16,regionIndexes:new(v(i).Array)(v(i).uint16,"regionIndexCount"),deltaSets:new(v(i).Array)(Kt,"itemCount")}),Jt=new(v(i).Struct)({format:v(i).uint16,variationRegionList:new(v(i).Pointer)(v(i).uint32,Zt),variationDataCount:v(i).uint16,itemVariationData:new(v(i).Array)(new(v(i).Pointer)(v(i).uint32,Yt),"variationDataCount")}),Qt=new(v(i).VersionedStruct)(v(i).uint16,{1:{axisIndex:v(i).uint16,axisIndex:v(i).uint16,filterRangeMinValue:qt,filterRangeMaxValue:qt}}),$t=new(v(i).Struct)({conditionCount:v(i).uint16,conditionTable:new(v(i).Array)(new(v(i).Pointer)(v(i).uint32,Qt),"conditionCount")}),te=new(v(i).Struct)({featureIndex:v(i).uint16,alternateFeatureTable:new(v(i).Pointer)(v(i).uint32,Et,{type:"parent"})}),ee=new(v(i).Struct)({version:v(i).fixed32,substitutionCount:v(i).uint16,substitutions:new(v(i).Array)(te,"substitutionCount")}),re=new(v(i).Struct)({conditionSet:new(v(i).Pointer)(v(i).uint32,$t,{type:"parent"}),featureTableSubstitution:new(v(i).Pointer)(v(i).uint32,ee,{type:"parent"})}),ne=new(v(i).Struct)({majorVersion:v(i).uint16,minorVersion:v(i).uint16,featureVariationRecordCount:v(i).uint32,featureVariationRecords:new(v(i).Array)(re,"featureVariationRecordCount")});class ie{decode(t,e,r){return this.predefinedOps[r[0]]?this.predefinedOps[r[0]]:this.type.decode(t,e,r)}size(t,e){return this.type.size(t,e)}encode(t,e,r){let n=this.predefinedOps.indexOf(e);return-1!==n?n:this.type.encode(t,e,r)}constructor(t,e){this.predefinedOps=t,this.type=e}}class oe extends v(i).Number{decode(t){return 127&v(i).uint8.decode(t)}constructor(){super("UInt8")}}let se=new(v(i).Struct)({first:v(i).uint16,nLeft:v(i).uint8}),ae=new(v(i).Struct)({first:v(i).uint16,nLeft:v(i).uint16}),ce=new ie([mt,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"]],new gt(new(v(i).VersionedStruct)(new oe,{0:{nCodes:v(i).uint8,codes:new(v(i).Array)(v(i).uint8,"nCodes")},1:{nRanges:v(i).uint8,ranges:new(v(i).Array)(se,"nRanges")}}),{lazy:!0}));class ue extends v(i).Array{decode(t,e){let r=c.resolveLength(this.length,t,e),n=0,i=[];for(;n<r;){let r=this.type.decode(t,e);r.offset=n,n+=r.nLeft+1,i.push(r)}return i}}let le=new ie([wt,[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"]],new gt(new(v(i).VersionedStruct)(v(i).uint8,{0:{glyphs:new(v(i).Array)(v(i).uint16,(t=>t.parent.CharStrings.length-1))},1:{ranges:new ue(se,(t=>t.parent.CharStrings.length-1))},2:{ranges:new ue(ae,(t=>t.parent.CharStrings.length-1))}}),{lazy:!0})),fe=new(v(i).Struct)({first:v(i).uint16,fd:v(i).uint8}),he=new(v(i).Struct)({first:v(i).uint32,fd:v(i).uint16}),de=new(v(i).VersionedStruct)(v(i).uint8,{0:{fds:new(v(i).Array)(v(i).uint8,(t=>t.parent.CharStrings.length))},3:{nRanges:v(i).uint16,ranges:new(v(i).Array)(fe,"nRanges"),sentinel:v(i).uint16},4:{nRanges:v(i).uint32,ranges:new(v(i).Array)(he,"nRanges"),sentinel:v(i).uint32}}),pe=new gt(bt);class ge{decode(t,e,r){return e.length=r[0],pe.decode(t,e,[r[1]])}size(t,e){return[bt.size(t,e,!1),pe.size(t,e)[0]]}encode(t,e,r){return[bt.size(e,r,!1),pe.encode(t,e,r)[0]]}}let ye=new pt([[18,"Private",new ge,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),be=new pt([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",le,wt],[16,"Encoding",ce,mt],[17,"CharStrings",new gt(new lt),null],[18,"Private",new ge,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new gt(de),null],[[12,36],"FDArray",new gt(new lt(ye)),null],[[12,38],"FontName","sid",null]]),ve=new(v(i).Struct)({length:v(i).uint16,itemVariationStore:Jt}),me=new pt([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new gt(new lt),null],[[12,37],"FDSelect",new gt(de),null],[[12,36],"FDArray",new gt(new lt(ye)),null],[24,"vstore",new gt(ve),null],[25,"maxstack","number",193]]);var we=new(v(i).VersionedStruct)(v(i).fixed16,{1:{hdrSize:v(i).uint8,offSize:v(i).uint8,nameIndex:new lt(new(v(i).String)("length")),topDictIndex:new lt(be),stringIndex:new lt(new(v(i).String)("length")),globalSubrIndex:new lt},2:{hdrSize:v(i).uint8,length:v(i).uint16,topDict:me,globalSubrIndex:new lt}});class Se{static decode(t){return new Se(t)}decode(){this.stream.pos;let t=we.decode(this.stream);for(let e in t){let r=t[e];this[e]=r}if(this.version<2){if(1!==this.topDictIndex.length)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=null!=this.topDict.ROS,this}string(t){return this.version>=2?null:t<vt.length?vt[t]:this.stringIndex[t-vt.length]}get postscriptName(){return this.version<2?this.nameIndex[0]:null}get fullName(){return this.string(this.topDict.FullName)}get familyName(){return this.string(this.topDict.FamilyName)}getCharString(t){return this.stream.pos=this.topDict.CharStrings[t].offset,this.stream.readBuffer(this.topDict.CharStrings[t].length)}getGlyphName(t){if(this.version>=2)return null;if(this.isCIDFont)return null;let{charset:e}=this.topDict;if(Array.isArray(e))return e[t];if(0===t)return".notdef";switch(t-=1,e.version){case 0:return this.string(e.glyphs[t]);case 1:case 2:for(let r=0;r<e.ranges.length;r++){let n=e.ranges[r];if(n.offset<=t&&t<=n.offset+n.nLeft)return this.string(n.first+(t-n.offset))}}return null}fdForGlyph(t){if(!this.topDict.FDSelect)return null;switch(this.topDict.FDSelect.version){case 0:return this.topDict.FDSelect.fds[t];case 3:case 4:let{ranges:e}=this.topDict.FDSelect,r=0,n=e.length-1;for(;r<=n;){let i=r+n>>1;if(t<e[i].first)n=i-1;else{if(!(i<n&&t>=e[i+1].first))return e[i].fd;r=i+1}}default:throw new Error(`Unknown FDSelect version: ${this.topDict.FDSelect.version}`)}}privateDictForGlyph(t){if(this.topDict.FDSelect){let e=this.fdForGlyph(t);return this.topDict.FDArray[e]?this.topDict.FDArray[e].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private}constructor(t){this.stream=t,this.decode()}}var xe=Se;let _e=new(v(i).Struct)({glyphIndex:v(i).uint16,vertOriginY:v(i).int16});var Ae=new(v(i).Struct)({majorVersion:v(i).uint16,minorVersion:v(i).uint16,defaultVertOriginY:v(i).int16,numVertOriginYMetrics:v(i).uint16,metrics:new(v(i).Array)(_e,"numVertOriginYMetrics")});let Ce=new(v(i).Struct)({height:v(i).uint8,width:v(i).uint8,horiBearingX:v(i).int8,horiBearingY:v(i).int8,horiAdvance:v(i).uint8,vertBearingX:v(i).int8,vertBearingY:v(i).int8,vertAdvance:v(i).uint8}),ke=new(v(i).Struct)({height:v(i).uint8,width:v(i).uint8,bearingX:v(i).int8,bearingY:v(i).int8,advance:v(i).uint8}),Ee=new(v(i).Struct)({glyph:v(i).uint16,xOffset:v(i).int8,yOffset:v(i).int8});class Pe{}class Oe{}new(v(i).VersionedStruct)("version",{1:{metrics:ke,data:Pe},2:{metrics:ke,data:Oe},5:{data:Oe},6:{metrics:Ce,data:Pe},7:{metrics:Ce,data:Oe},8:{metrics:ke,pad:new(v(i).Reserved)(v(i).uint8),numComponents:v(i).uint16,components:new(v(i).Array)(Ee,"numComponents")},9:{metrics:Ce,pad:new(v(i).Reserved)(v(i).uint8),numComponents:v(i).uint16,components:new(v(i).Array)(Ee,"numComponents")},17:{metrics:ke,dataLen:v(i).uint32,data:new(v(i).Buffer)("dataLen")},18:{metrics:Ce,dataLen:v(i).uint32,data:new(v(i).Buffer)("dataLen")},19:{dataLen:v(i).uint32,data:new(v(i).Buffer)("dataLen")}});let Be=new(v(i).Struct)({ascender:v(i).int8,descender:v(i).int8,widthMax:v(i).uint8,caretSlopeNumerator:v(i).int8,caretSlopeDenominator:v(i).int8,caretOffset:v(i).int8,minOriginSB:v(i).int8,minAdvanceSB:v(i).int8,maxBeforeBL:v(i).int8,minAfterBL:v(i).int8,pad:new(v(i).Reserved)(v(i).int8,2)}),Ie=new(v(i).Struct)({glyphCode:v(i).uint16,offset:v(i).uint16}),Te=new(v(i).VersionedStruct)(v(i).uint16,{header:{imageFormat:v(i).uint16,imageDataOffset:v(i).uint32},1:{offsetArray:new(v(i).Array)(v(i).uint32,(t=>t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1))},2:{imageSize:v(i).uint32,bigMetrics:Ce},3:{offsetArray:new(v(i).Array)(v(i).uint16,(t=>t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1))},4:{numGlyphs:v(i).uint32,glyphArray:new(v(i).Array)(Ie,(t=>t.numGlyphs+1))},5:{imageSize:v(i).uint32,bigMetrics:Ce,numGlyphs:v(i).uint32,glyphCodeArray:new(v(i).Array)(v(i).uint16,"numGlyphs")}}),Re=new(v(i).Struct)({firstGlyphIndex:v(i).uint16,lastGlyphIndex:v(i).uint16,subtable:new(v(i).Pointer)(v(i).uint32,Te)}),Me=new(v(i).Struct)({indexSubTableArray:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(Re,1),{type:"parent"}),indexTablesSize:v(i).uint32,numberOfIndexSubTables:v(i).uint32,colorRef:v(i).uint32,hori:Be,vert:Be,startGlyphIndex:v(i).uint16,endGlyphIndex:v(i).uint16,ppemX:v(i).uint8,ppemY:v(i).uint8,bitDepth:v(i).uint8,flags:new(v(i).Bitfield)(v(i).uint8,["horizontal","vertical"])});var De=new(v(i).Struct)({version:v(i).uint32,numSizes:v(i).uint32,sizes:new(v(i).Array)(Me,"numSizes")});let Fe=new(v(i).Struct)({ppem:v(i).uint16,resolution:v(i).uint16,imageOffsets:new(v(i).Array)(new(v(i).Pointer)(v(i).uint32,"void"),(t=>t.parent.parent.maxp.numGlyphs+1))});var Ne=new(v(i).Struct)({version:v(i).uint16,flags:new(v(i).Bitfield)(v(i).uint16,["renderOutlines"]),numImgTables:v(i).uint32,imageTables:new(v(i).Array)(new(v(i).Pointer)(v(i).uint32,Fe),"numImgTables")});let Le=new(v(i).Struct)({gid:v(i).uint16,paletteIndex:v(i).uint16}),je=new(v(i).Struct)({gid:v(i).uint16,firstLayerIndex:v(i).uint16,numLayers:v(i).uint16});var ze=new(v(i).Struct)({version:v(i).uint16,numBaseGlyphRecords:v(i).uint16,baseGlyphRecord:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(je,"numBaseGlyphRecords")),layerRecords:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(Le,"numLayerRecords"),{lazy:!0}),numLayerRecords:v(i).uint16});let Ue=new(v(i).Struct)({blue:v(i).uint8,green:v(i).uint8,red:v(i).uint8,alpha:v(i).uint8});var We=new(v(i).VersionedStruct)(v(i).uint16,{header:{numPaletteEntries:v(i).uint16,numPalettes:v(i).uint16,numColorRecords:v(i).uint16,colorRecords:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(Ue,"numColorRecords")),colorRecordIndices:new(v(i).Array)(v(i).uint16,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(v(i).uint32,"numPalettes")),offsetPaletteLabelArray:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(v(i).uint16,"numPalettes")),offsetPaletteEntryLabelArray:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(v(i).uint16,"numPaletteEntries"))}});let Ge=new(v(i).VersionedStruct)(v(i).uint16,{1:{coordinate:v(i).int16},2:{coordinate:v(i).int16,referenceGlyph:v(i).uint16,baseCoordPoint:v(i).uint16},3:{coordinate:v(i).int16,deviceTable:new(v(i).Pointer)(v(i).uint16,Ft)}}),Ve=new(v(i).Struct)({defaultIndex:v(i).uint16,baseCoordCount:v(i).uint16,baseCoords:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Ge),"baseCoordCount")}),Xe=new(v(i).Struct)({tag:new(v(i).String)(4),minCoord:new(v(i).Pointer)(v(i).uint16,Ge,{type:"parent"}),maxCoord:new(v(i).Pointer)(v(i).uint16,Ge,{type:"parent"})}),qe=new(v(i).Struct)({minCoord:new(v(i).Pointer)(v(i).uint16,Ge),maxCoord:new(v(i).Pointer)(v(i).uint16,Ge),featMinMaxCount:v(i).uint16,featMinMaxRecords:new(v(i).Array)(Xe,"featMinMaxCount")}),He=new(v(i).Struct)({tag:new(v(i).String)(4),minMax:new(v(i).Pointer)(v(i).uint16,qe,{type:"parent"})}),Ze=new(v(i).Struct)({baseValues:new(v(i).Pointer)(v(i).uint16,Ve),defaultMinMax:new(v(i).Pointer)(v(i).uint16,qe),baseLangSysCount:v(i).uint16,baseLangSysRecords:new(v(i).Array)(He,"baseLangSysCount")}),Ke=new(v(i).Struct)({tag:new(v(i).String)(4),script:new(v(i).Pointer)(v(i).uint16,Ze,{type:"parent"})}),Ye=new(v(i).Array)(Ke,v(i).uint16),Je=new(v(i).Array)(new(v(i).String)(4),v(i).uint16),Qe=new(v(i).Struct)({baseTagList:new(v(i).Pointer)(v(i).uint16,Je),baseScriptList:new(v(i).Pointer)(v(i).uint16,Ye)});var $e=new(v(i).VersionedStruct)(v(i).uint32,{header:{horizAxis:new(v(i).Pointer)(v(i).uint16,Qe),vertAxis:new(v(i).Pointer)(v(i).uint16,Qe)},65536:{},65537:{itemVariationStore:new(v(i).Pointer)(v(i).uint32,Jt)}});let tr=new(v(i).Array)(v(i).uint16,v(i).uint16),er=new(v(i).Struct)({coverage:new(v(i).Pointer)(v(i).uint16,Rt),glyphCount:v(i).uint16,attachPoints:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,tr),"glyphCount")}),rr=new(v(i).VersionedStruct)(v(i).uint16,{1:{coordinate:v(i).int16},2:{caretValuePoint:v(i).uint16},3:{coordinate:v(i).int16,deviceTable:new(v(i).Pointer)(v(i).uint16,Ft)}}),nr=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,rr),v(i).uint16),ir=new(v(i).Struct)({coverage:new(v(i).Pointer)(v(i).uint16,Rt),ligGlyphCount:v(i).uint16,ligGlyphs:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,nr),"ligGlyphCount")}),or=new(v(i).Struct)({markSetTableFormat:v(i).uint16,markSetCount:v(i).uint16,coverage:new(v(i).Array)(new(v(i).Pointer)(v(i).uint32,Rt),"markSetCount")});var sr=new(v(i).VersionedStruct)(v(i).uint32,{header:{glyphClassDef:new(v(i).Pointer)(v(i).uint16,Dt),attachList:new(v(i).Pointer)(v(i).uint16,er),ligCaretList:new(v(i).Pointer)(v(i).uint16,ir),markAttachClassDef:new(v(i).Pointer)(v(i).uint16,Dt)},65536:{},65538:{markGlyphSetsDef:new(v(i).Pointer)(v(i).uint16,or)},65539:{markGlyphSetsDef:new(v(i).Pointer)(v(i).uint16,or),itemVariationStore:new(v(i).Pointer)(v(i).uint32,Jt)}});let ar=new(v(i).Bitfield)(v(i).uint16,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),cr={xPlacement:v(i).int16,yPlacement:v(i).int16,xAdvance:v(i).int16,yAdvance:v(i).int16,xPlaDevice:new(v(i).Pointer)(v(i).uint16,Ft,{type:"global",relativeTo:t=>t.rel}),yPlaDevice:new(v(i).Pointer)(v(i).uint16,Ft,{type:"global",relativeTo:t=>t.rel}),xAdvDevice:new(v(i).Pointer)(v(i).uint16,Ft,{type:"global",relativeTo:t=>t.rel}),yAdvDevice:new(v(i).Pointer)(v(i).uint16,Ft,{type:"global",relativeTo:t=>t.rel})};class ur{buildStruct(t){let e=t;for(;!e[this.key]&&e.parent;)e=e.parent;if(!e[this.key])return;let r={rel:()=>e._startOffset},n=e[this.key];for(let t in n)n[t]&&(r[t]=cr[t]);return new(v(i).Struct)(r)}size(t,e){return this.buildStruct(e).size(t,e)}decode(t,e){let r=this.buildStruct(e).decode(t,e);return delete r.rel,r}constructor(t="valueFormat"){this.key=t}}let lr=new(v(i).Struct)({secondGlyph:v(i).uint16,value1:new ur("valueFormat1"),value2:new ur("valueFormat2")}),fr=new(v(i).Array)(lr,v(i).uint16),hr=new(v(i).Struct)({value1:new ur("valueFormat1"),value2:new ur("valueFormat2")}),dr=new(v(i).VersionedStruct)(v(i).uint16,{1:{xCoordinate:v(i).int16,yCoordinate:v(i).int16},2:{xCoordinate:v(i).int16,yCoordinate:v(i).int16,anchorPoint:v(i).uint16},3:{xCoordinate:v(i).int16,yCoordinate:v(i).int16,xDeviceTable:new(v(i).Pointer)(v(i).uint16,Ft),yDeviceTable:new(v(i).Pointer)(v(i).uint16,Ft)}}),pr=new(v(i).Struct)({entryAnchor:new(v(i).Pointer)(v(i).uint16,dr,{type:"parent"}),exitAnchor:new(v(i).Pointer)(v(i).uint16,dr,{type:"parent"})}),gr=new(v(i).Struct)({class:v(i).uint16,markAnchor:new(v(i).Pointer)(v(i).uint16,dr,{type:"parent"})}),yr=new(v(i).Array)(gr,v(i).uint16),br=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,dr),(t=>t.parent.classCount)),vr=new(v(i).Array)(br,v(i).uint16),mr=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,dr),(t=>t.parent.parent.classCount)),wr=new(v(i).Array)(mr,v(i).uint16),Sr=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,wr),v(i).uint16),xr=new(v(i).VersionedStruct)("lookupType",{1:new(v(i).VersionedStruct)(v(i).uint16,{1:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),valueFormat:ar,value:new ur},2:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),valueFormat:ar,valueCount:v(i).uint16,values:new(v(i).LazyArray)(new ur,"valueCount")}}),2:new(v(i).VersionedStruct)(v(i).uint16,{1:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),valueFormat1:ar,valueFormat2:ar,pairSetCount:v(i).uint16,pairSets:new(v(i).LazyArray)(new(v(i).Pointer)(v(i).uint16,fr),"pairSetCount")},2:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),valueFormat1:ar,valueFormat2:ar,classDef1:new(v(i).Pointer)(v(i).uint16,Dt),classDef2:new(v(i).Pointer)(v(i).uint16,Dt),class1Count:v(i).uint16,class2Count:v(i).uint16,classRecords:new(v(i).LazyArray)(new(v(i).LazyArray)(hr,"class2Count"),"class1Count")}}),3:{format:v(i).uint16,coverage:new(v(i).Pointer)(v(i).uint16,Rt),entryExitCount:v(i).uint16,entryExitRecords:new(v(i).Array)(pr,"entryExitCount")},4:{format:v(i).uint16,markCoverage:new(v(i).Pointer)(v(i).uint16,Rt),baseCoverage:new(v(i).Pointer)(v(i).uint16,Rt),classCount:v(i).uint16,markArray:new(v(i).Pointer)(v(i).uint16,yr),baseArray:new(v(i).Pointer)(v(i).uint16,vr)},5:{format:v(i).uint16,markCoverage:new(v(i).Pointer)(v(i).uint16,Rt),ligatureCoverage:new(v(i).Pointer)(v(i).uint16,Rt),classCount:v(i).uint16,markArray:new(v(i).Pointer)(v(i).uint16,yr),ligatureArray:new(v(i).Pointer)(v(i).uint16,Sr)},6:{format:v(i).uint16,mark1Coverage:new(v(i).Pointer)(v(i).uint16,Rt),mark2Coverage:new(v(i).Pointer)(v(i).uint16,Rt),classCount:v(i).uint16,mark1Array:new(v(i).Pointer)(v(i).uint16,yr),mark2Array:new(v(i).Pointer)(v(i).uint16,vr)},7:Wt,8:Xt,9:{posFormat:v(i).uint16,lookupType:v(i).uint16,extension:new(v(i).Pointer)(v(i).uint32,null)}});xr.versions[9].extension.type=xr;var _r=new(v(i).VersionedStruct)(v(i).uint32,{header:{scriptList:new(v(i).Pointer)(v(i).uint16,Ct),featureList:new(v(i).Pointer)(v(i).uint16,Ot),lookupList:new(v(i).Pointer)(v(i).uint16,new It(xr))},65536:{},65537:{featureVariations:new(v(i).Pointer)(v(i).uint32,ne)}});let Ar=new(v(i).Array)(v(i).uint16,v(i).uint16),Cr=Ar,kr=new(v(i).Struct)({glyph:v(i).uint16,compCount:v(i).uint16,components:new(v(i).Array)(v(i).uint16,(t=>t.compCount-1))}),Er=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,kr),v(i).uint16),Pr=new(v(i).VersionedStruct)("lookupType",{1:new(v(i).VersionedStruct)(v(i).uint16,{1:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),deltaGlyphID:v(i).int16},2:{coverage:new(v(i).Pointer)(v(i).uint16,Rt),glyphCount:v(i).uint16,substitute:new(v(i).LazyArray)(v(i).uint16,"glyphCount")}}),2:{substFormat:v(i).uint16,coverage:new(v(i).Pointer)(v(i).uint16,Rt),count:v(i).uint16,sequences:new(v(i).LazyArray)(new(v(i).Pointer)(v(i).uint16,Ar),"count")},3:{substFormat:v(i).uint16,coverage:new(v(i).Pointer)(v(i).uint16,Rt),count:v(i).uint16,alternateSet:new(v(i).LazyArray)(new(v(i).Pointer)(v(i).uint16,Cr),"count")},4:{substFormat:v(i).uint16,coverage:new(v(i).Pointer)(v(i).uint16,Rt),count:v(i).uint16,ligatureSets:new(v(i).LazyArray)(new(v(i).Pointer)(v(i).uint16,Er),"count")},5:Wt,6:Xt,7:{substFormat:v(i).uint16,lookupType:v(i).uint16,extension:new(v(i).Pointer)(v(i).uint32,null)},8:{substFormat:v(i).uint16,coverage:new(v(i).Pointer)(v(i).uint16,Rt),backtrackCoverage:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Rt),"backtrackGlyphCount"),lookaheadGlyphCount:v(i).uint16,lookaheadCoverage:new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Rt),"lookaheadGlyphCount"),glyphCount:v(i).uint16,substitutes:new(v(i).Array)(v(i).uint16,"glyphCount")}});Pr.versions[7].extension.type=Pr;var Or=new(v(i).VersionedStruct)(v(i).uint32,{header:{scriptList:new(v(i).Pointer)(v(i).uint16,Ct),featureList:new(v(i).Pointer)(v(i).uint16,Ot),lookupList:new(v(i).Pointer)(v(i).uint16,new It(Pr))},65536:{},65537:{featureVariations:new(v(i).Pointer)(v(i).uint32,ne)}});let Br=new(v(i).Array)(v(i).uint16,v(i).uint16),Ir=new(v(i).Struct)({shrinkageEnableGSUB:new(v(i).Pointer)(v(i).uint16,Br),shrinkageDisableGSUB:new(v(i).Pointer)(v(i).uint16,Br),shrinkageEnableGPOS:new(v(i).Pointer)(v(i).uint16,Br),shrinkageDisableGPOS:new(v(i).Pointer)(v(i).uint16,Br),shrinkageJstfMax:new(v(i).Pointer)(v(i).uint16,new It(xr)),extensionEnableGSUB:new(v(i).Pointer)(v(i).uint16,Br),extensionDisableGSUB:new(v(i).Pointer)(v(i).uint16,Br),extensionEnableGPOS:new(v(i).Pointer)(v(i).uint16,Br),extensionDisableGPOS:new(v(i).Pointer)(v(i).uint16,Br),extensionJstfMax:new(v(i).Pointer)(v(i).uint16,new It(xr))}),Tr=new(v(i).Array)(new(v(i).Pointer)(v(i).uint16,Ir),v(i).uint16),Rr=new(v(i).Struct)({tag:new(v(i).String)(4),jstfLangSys:new(v(i).Pointer)(v(i).uint16,Tr)}),Mr=new(v(i).Struct)({extenderGlyphs:new(v(i).Pointer)(v(i).uint16,new(v(i).Array)(v(i).uint16,v(i).uint16)),defaultLangSys:new(v(i).Pointer)(v(i).uint16,Tr),langSysCount:v(i).uint16,langSysRecords:new(v(i).Array)(Rr,"langSysCount")}),Dr=new(v(i).Struct)({tag:new(v(i).String)(4),script:new(v(i).Pointer)(v(i).uint16,Mr,{type:"parent"})});var Fr=new(v(i).Struct)({version:v(i).uint32,scriptCount:v(i).uint16,scriptList:new(v(i).Array)(Dr,"scriptCount")});let Nr=new(v(i).Struct)({entry:new class{decode(t,e){switch(this.size(0,e)){case 1:return t.readUInt8();case 2:return t.readUInt16BE();case 3:return t.readUInt24BE();case 4:return t.readUInt32BE()}}size(t,e){return c.resolveLength(this._size,null,e)}constructor(t){this._size=t}}((t=>1+((48&t.parent.entryFormat)>>4))),outerIndex:t=>t.entry>>1+(15&t.parent.entryFormat),innerIndex:t=>t.entry&(1<<1+(15&t.parent.entryFormat))-1}),Lr=new(v(i).Struct)({entryFormat:v(i).uint16,mapCount:v(i).uint16,mapData:new(v(i).Array)(Nr,"mapCount")});var jr=new(v(i).Struct)({majorVersion:v(i).uint16,minorVersion:v(i).uint16,itemVariationStore:new(v(i).Pointer)(v(i).uint32,Jt),advanceWidthMapping:new(v(i).Pointer)(v(i).uint32,Lr),LSBMapping:new(v(i).Pointer)(v(i).uint32,Lr),RSBMapping:new(v(i).Pointer)(v(i).uint32,Lr)});let zr=new(v(i).Struct)({format:v(i).uint32,length:v(i).uint32,offset:v(i).uint32}),Ur=new(v(i).Struct)({reserved:new(v(i).Reserved)(v(i).uint16,2),cbSignature:v(i).uint32,signature:new(v(i).Buffer)("cbSignature")});var Wr=new(v(i).Struct)({ulVersion:v(i).uint32,usNumSigs:v(i).uint16,usFlag:v(i).uint16,signatures:new(v(i).Array)(zr,"usNumSigs"),signatureBlocks:new(v(i).Array)(Ur,"usNumSigs")});let Gr=new(v(i).Struct)({rangeMaxPPEM:v(i).uint16,rangeGaspBehavior:new(v(i).Bitfield)(v(i).uint16,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])});var Vr=new(v(i).Struct)({version:v(i).uint16,numRanges:v(i).uint16,gaspRanges:new(v(i).Array)(Gr,"numRanges")});let Xr=new(v(i).Struct)({pixelSize:v(i).uint8,maximumWidth:v(i).uint8,widths:new(v(i).Array)(v(i).uint8,(t=>t.parent.parent.maxp.numGlyphs))});var qr=new(v(i).Struct)({version:v(i).uint16,numRecords:v(i).int16,sizeDeviceRecord:v(i).int32,records:new(v(i).Array)(Xr,"numRecords")});let Hr=new(v(i).Struct)({left:v(i).uint16,right:v(i).uint16,value:v(i).int16}),Zr=new(v(i).Struct)({firstGlyph:v(i).uint16,nGlyphs:v(i).uint16,offsets:new(v(i).Array)(v(i).uint16,"nGlyphs"),max:t=>t.offsets.length&&Math.max.apply(Math,t.offsets)}),Kr=new(v(i).Struct)({off:t=>t._startOffset-t.parent.parent._startOffset,len:t=>((t.parent.leftTable.max-t.off)/t.parent.rowWidth+1)*(t.parent.rowWidth/2),values:new(v(i).LazyArray)(v(i).int16,"len")}),Yr=new(v(i).VersionedStruct)("format",{0:{nPairs:v(i).uint16,searchRange:v(i).uint16,entrySelector:v(i).uint16,rangeShift:v(i).uint16,pairs:new(v(i).Array)(Hr,"nPairs")},2:{rowWidth:v(i).uint16,leftTable:new(v(i).Pointer)(v(i).uint16,Zr,{type:"parent"}),rightTable:new(v(i).Pointer)(v(i).uint16,Zr,{type:"parent"}),array:new(v(i).Pointer)(v(i).uint16,Kr,{type:"parent"})},3:{glyphCount:v(i).uint16,kernValueCount:v(i).uint8,leftClassCount:v(i).uint8,rightClassCount:v(i).uint8,flags:v(i).uint8,kernValue:new(v(i).Array)(v(i).int16,"kernValueCount"),leftClass:new(v(i).Array)(v(i).uint8,"glyphCount"),rightClass:new(v(i).Array)(v(i).uint8,"glyphCount"),kernIndex:new(v(i).Array)(v(i).uint8,(t=>t.leftClassCount*t.rightClassCount))}}),Jr=new(v(i).VersionedStruct)("version",{0:{subVersion:v(i).uint16,length:v(i).uint16,format:v(i).uint8,coverage:new(v(i).Bitfield)(v(i).uint8,["horizontal","minimum","crossStream","override"]),subtable:Yr,padding:new(v(i).Reserved)(v(i).uint8,(t=>t.length-t._currentOffset))},1:{length:v(i).uint32,coverage:new(v(i).Bitfield)(v(i).uint8,[null,null,null,null,null,"variation","crossStream","vertical"]),format:v(i).uint8,tupleIndex:v(i).uint16,subtable:Yr,padding:new(v(i).Reserved)(v(i).uint8,(t=>t.length-t._currentOffset))}});var Qr=new(v(i).VersionedStruct)(v(i).uint16,{0:{nTables:v(i).uint16,tables:new(v(i).Array)(Jr,"nTables")},1:{reserved:new(v(i).Reserved)(v(i).uint16),nTables:v(i).uint32,tables:new(v(i).Array)(Jr,"nTables")}}),$r=new(v(i).Struct)({version:v(i).uint16,numGlyphs:v(i).uint16,yPels:new(v(i).Array)(v(i).uint8,"numGlyphs")}),tn=new(v(i).Struct)({version:v(i).uint16,fontNumber:v(i).uint32,pitch:v(i).uint16,xHeight:v(i).uint16,style:v(i).uint16,typeFamily:v(i).uint16,capHeight:v(i).uint16,symbolSet:v(i).uint16,typeface:new(v(i).String)(16),characterComplement:new(v(i).String)(8),fileName:new(v(i).String)(6),strokeWeight:new(v(i).String)(1),widthType:new(v(i).String)(1),serifStyle:v(i).uint8,reserved:new(v(i).Reserved)(v(i).uint8)});let en=new(v(i).Struct)({bCharSet:v(i).uint8,xRatio:v(i).uint8,yStartRatio:v(i).uint8,yEndRatio:v(i).uint8}),rn=new(v(i).Struct)({yPelHeight:v(i).uint16,yMax:v(i).int16,yMin:v(i).int16}),nn=new(v(i).Struct)({recs:v(i).uint16,startsz:v(i).uint8,endsz:v(i).uint8,entries:new(v(i).Array)(rn,"recs")});var on=new(v(i).Struct)({version:v(i).uint16,numRecs:v(i).uint16,numRatios:v(i).uint16,ratioRanges:new(v(i).Array)(en,"numRatios"),offsets:new(v(i).Array)(v(i).uint16,"numRatios"),groups:new(v(i).Array)(nn,"numRecs")}),sn=new(v(i).Struct)({version:v(i).uint16,ascent:v(i).int16,descent:v(i).int16,lineGap:v(i).int16,advanceHeightMax:v(i).int16,minTopSideBearing:v(i).int16,minBottomSideBearing:v(i).int16,yMaxExtent:v(i).int16,caretSlopeRise:v(i).int16,caretSlopeRun:v(i).int16,caretOffset:v(i).int16,reserved:new(v(i).Reserved)(v(i).int16,4),metricDataFormat:v(i).int16,numberOfMetrics:v(i).uint16});let an=new(v(i).Struct)({advance:v(i).uint16,bearing:v(i).int16});var cn=new(v(i).Struct)({metrics:new(v(i).LazyArray)(an,(t=>t.parent.vhea.numberOfMetrics)),bearings:new(v(i).LazyArray)(v(i).int16,(t=>t.parent.maxp.numGlyphs-t.parent.vhea.numberOfMetrics))});let un=new(v(i).Fixed)(16,"BE",14),ln=new(v(i).Struct)({fromCoord:un,toCoord:un}),fn=new(v(i).Struct)({pairCount:v(i).uint16,correspondence:new(v(i).Array)(ln,"pairCount")});var hn=new(v(i).Struct)({version:v(i).fixed32,axisCount:v(i).uint32,segment:new(v(i).Array)(fn,"axisCount")});class dn{getItem(t){if(null==this._items[t]){let e=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*t,this._items[t]=this.type.decode(this.stream,this.parent),this.stream.pos=e}return this._items[t]}inspect(){return`[UnboundedArray ${this.type.constructor.name}]`}constructor(t,e,r){this.type=t,this.stream=e,this.parent=r,this.base=this.stream.pos,this._items=[]}}class pn extends v(i).Array{decode(t,e){return new dn(this.type,t,e)}constructor(t){super(t,0)}}let gn=function(t=v(i).uint16){t=new class{decode(t,e){return e=e.parent.parent,this.type.decode(t,e)}size(t,e){return e=e.parent.parent,this.type.size(t,e)}encode(t,e,r){return r=r.parent.parent,this.type.encode(t,e,r)}constructor(t){this.type=t}}(t);let e=new(v(i).Struct)({unitSize:v(i).uint16,nUnits:v(i).uint16,searchRange:v(i).uint16,entrySelector:v(i).uint16,rangeShift:v(i).uint16}),r=new(v(i).Struct)({lastGlyph:v(i).uint16,firstGlyph:v(i).uint16,value:t}),n=new(v(i).Struct)({lastGlyph:v(i).uint16,firstGlyph:v(i).uint16,values:new(v(i).Pointer)(v(i).uint16,new(v(i).Array)(t,(t=>t.lastGlyph-t.firstGlyph+1)),{type:"parent"})}),o=new(v(i).Struct)({glyph:v(i).uint16,value:t});return new(v(i).VersionedStruct)(v(i).uint16,{0:{values:new pn(t)},2:{binarySearchHeader:e,segments:new(v(i).Array)(r,(t=>t.binarySearchHeader.nUnits))},4:{binarySearchHeader:e,segments:new(v(i).Array)(n,(t=>t.binarySearchHeader.nUnits))},6:{binarySearchHeader:e,segments:new(v(i).Array)(o,(t=>t.binarySearchHeader.nUnits))},8:{firstGlyph:v(i).uint16,count:v(i).uint16,values:new(v(i).Array)(t,"count")}})};function yn(t={},e=v(i).uint16){let r=Object.assign({newState:v(i).uint16,flags:v(i).uint16},t),n=new(v(i).Struct)(r),o=new pn(new(v(i).Array)(v(i).uint16,(t=>t.nClasses)));return new(v(i).Struct)({nClasses:v(i).uint32,classTable:new(v(i).Pointer)(v(i).uint32,new gn(e)),stateArray:new(v(i).Pointer)(v(i).uint32,o),entryTable:new(v(i).Pointer)(v(i).uint32,new pn(n))})}let bn=new(v(i).VersionedStruct)("format",{0:{deltas:new(v(i).Array)(v(i).int16,32)},1:{deltas:new(v(i).Array)(v(i).int16,32),mappingData:new gn(v(i).uint16)},2:{standardGlyph:v(i).uint16,controlPoints:new(v(i).Array)(v(i).uint16,32)},3:{standardGlyph:v(i).uint16,controlPoints:new(v(i).Array)(v(i).uint16,32),mappingData:new gn(v(i).uint16)}});var vn=new(v(i).Struct)({version:v(i).fixed32,format:v(i).uint16,defaultBaseline:v(i).uint16,subtable:bn});let mn=new(v(i).Struct)({setting:v(i).uint16,nameIndex:v(i).int16,name:t=>t.parent.parent.parent.name.records.fontFeatures[t.nameIndex]}),wn=new(v(i).Struct)({feature:v(i).uint16,nSettings:v(i).uint16,settingTable:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(mn,"nSettings"),{type:"parent"}),featureFlags:new(v(i).Bitfield)(v(i).uint8,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:v(i).uint8,nameIndex:v(i).int16,name:t=>t.parent.parent.name.records.fontFeatures[t.nameIndex]});var Sn=new(v(i).Struct)({version:v(i).fixed32,featureNameCount:v(i).uint16,reserved1:new(v(i).Reserved)(v(i).uint16),reserved2:new(v(i).Reserved)(v(i).uint32),featureNames:new(v(i).Array)(wn,"featureNameCount")});let xn=new(v(i).Struct)({axisTag:new(v(i).String)(4),minValue:v(i).fixed32,defaultValue:v(i).fixed32,maxValue:v(i).fixed32,flags:v(i).uint16,nameID:v(i).uint16,name:t=>t.parent.parent.name.records.fontFeatures[t.nameID]}),_n=new(v(i).Struct)({nameID:v(i).uint16,name:t=>t.parent.parent.name.records.fontFeatures[t.nameID],flags:v(i).uint16,coord:new(v(i).Array)(v(i).fixed32,(t=>t.parent.axisCount)),postscriptNameID:new(v(i).Optional)(v(i).uint16,(t=>t.parent.instanceSize-t._currentOffset>0))});var An=new(v(i).Struct)({version:v(i).fixed32,offsetToData:v(i).uint16,countSizePairs:v(i).uint16,axisCount:v(i).uint16,axisSize:v(i).uint16,instanceCount:v(i).uint16,instanceSize:v(i).uint16,axis:new(v(i).Array)(xn,"axisCount"),instance:new(v(i).Array)(_n,"instanceCount")});let Cn=new(v(i).Fixed)(16,"BE",14);var kn=new(v(i).Struct)({version:v(i).uint16,reserved:new(v(i).Reserved)(v(i).uint16),axisCount:v(i).uint16,globalCoordCount:v(i).uint16,globalCoords:new(v(i).Pointer)(v(i).uint32,new(v(i).Array)(new(v(i).Array)(Cn,"axisCount"),"globalCoordCount")),glyphCount:v(i).uint16,flags:v(i).uint16,offsetToData:v(i).uint32,offsets:new(v(i).Array)(new(v(i).Pointer)(class{static decode(t,e){return e.flags?t.readUInt32BE():2*t.readUInt16BE()}},"void",{relativeTo:t=>t.offsetToData,allowNull:!1}),(t=>t.glyphCount+1))});let En=new(v(i).Struct)({length:v(i).uint16,coverage:v(i).uint16,subFeatureFlags:v(i).uint32,stateTable:new function(t={},e=v(i).uint16){let r=new(v(i).Struct)({version(){return 8},firstGlyph:v(i).uint16,values:new(v(i).Array)(v(i).uint8,v(i).uint16)}),n=Object.assign({newStateOffset:v(i).uint16,newState:t=>(t.newStateOffset-(t.parent.stateArray.base-t.parent._startOffset))/t.parent.nClasses,flags:v(i).uint16},t),o=new(v(i).Struct)(n),s=new pn(new(v(i).Array)(v(i).uint8,(t=>t.nClasses)));return new(v(i).Struct)({nClasses:v(i).uint16,classTable:new(v(i).Pointer)(v(i).uint16,r),stateArray:new(v(i).Pointer)(v(i).uint16,s),entryTable:new(v(i).Pointer)(v(i).uint16,new pn(o))})}}),Pn=new(v(i).Struct)({justClass:v(i).uint32,beforeGrowLimit:v(i).fixed32,beforeShrinkLimit:v(i).fixed32,afterGrowLimit:v(i).fixed32,afterShrinkLimit:v(i).fixed32,growFlags:v(i).uint16,shrinkFlags:v(i).uint16}),On=new(v(i).Array)(Pn,v(i).uint32),Bn=new(v(i).VersionedStruct)("actionType",{0:{lowerLimit:v(i).fixed32,upperLimit:v(i).fixed32,order:v(i).uint16,glyphs:new(v(i).Array)(v(i).uint16,v(i).uint16)},1:{addGlyph:v(i).uint16},2:{substThreshold:v(i).fixed32,addGlyph:v(i).uint16,substGlyph:v(i).uint16},3:{},4:{variationAxis:v(i).uint32,minimumLimit:v(i).fixed32,noStretchValue:v(i).fixed32,maximumLimit:v(i).fixed32},5:{flags:v(i).uint16,glyph:v(i).uint16}}),In=new(v(i).Struct)({actionClass:v(i).uint16,actionType:v(i).uint16,actionLength:v(i).uint32,actionData:Bn,padding:new(v(i).Reserved)(v(i).uint8,(t=>t.actionLength-t._currentOffset))}),Tn=new(v(i).Array)(In,v(i).uint32),Rn=new(v(i).Struct)({lookupTable:new gn(new(v(i).Pointer)(v(i).uint16,Tn))}),Mn=new(v(i).Struct)({classTable:new(v(i).Pointer)(v(i).uint16,En,{type:"parent"}),wdcOffset:v(i).uint16,postCompensationTable:new(v(i).Pointer)(v(i).uint16,Rn,{type:"parent"}),widthDeltaClusters:new gn(new(v(i).Pointer)(v(i).uint16,On,{type:"parent",relativeTo:t=>t.wdcOffset}))});var Dn=new(v(i).Struct)({version:v(i).uint32,format:v(i).uint16,horizontal:new(v(i).Pointer)(v(i).uint16,Mn),vertical:new(v(i).Pointer)(v(i).uint16,Mn)});let Fn={action:v(i).uint16},Nn={markIndex:v(i).uint16,currentIndex:v(i).uint16},Ln={currentInsertIndex:v(i).uint16,markedInsertIndex:v(i).uint16},jn=new(v(i).Struct)({items:new pn(new(v(i).Pointer)(v(i).uint32,new gn))}),zn=new(v(i).VersionedStruct)("type",{0:{stateTable:new yn},1:{stateTable:new yn(Nn),substitutionTable:new(v(i).Pointer)(v(i).uint32,jn)},2:{stateTable:new yn(Fn),ligatureActions:new(v(i).Pointer)(v(i).uint32,new pn(v(i).uint32)),components:new(v(i).Pointer)(v(i).uint32,new pn(v(i).uint16)),ligatureList:new(v(i).Pointer)(v(i).uint32,new pn(v(i).uint16))},4:{lookupTable:new gn},5:{stateTable:new yn(Ln),insertionActions:new(v(i).Pointer)(v(i).uint32,new pn(v(i).uint16))}}),Un=new(v(i).Struct)({length:v(i).uint32,coverage:v(i).uint24,type:v(i).uint8,subFeatureFlags:v(i).uint32,table:zn,padding:new(v(i).Reserved)(v(i).uint8,(t=>t.length-t._currentOffset))}),Wn=new(v(i).Struct)({featureType:v(i).uint16,featureSetting:v(i).uint16,enableFlags:v(i).uint32,disableFlags:v(i).uint32}),Gn=new(v(i).Struct)({defaultFlags:v(i).uint32,chainLength:v(i).uint32,nFeatureEntries:v(i).uint32,nSubtables:v(i).uint32,features:new(v(i).Array)(Wn,"nFeatureEntries"),subtables:new(v(i).Array)(Un,"nSubtables")});var Vn=new(v(i).Struct)({version:v(i).uint16,unused:new(v(i).Reserved)(v(i).uint16),nChains:v(i).uint32,chains:new(v(i).Array)(Gn,"nChains")});let Xn=new(v(i).Struct)({left:v(i).int16,top:v(i).int16,right:v(i).int16,bottom:v(i).int16});var qn=new(v(i).Struct)({version:v(i).fixed32,format:v(i).uint16,lookupTable:new gn(Xn)});let Hn={};var Zn=Hn;Hn.cmap=L,Hn.head=j,Hn.hhea=z,Hn.hmtx=W,Hn.maxp=G,Hn.name=Q,Hn["OS/2"]=rt,Hn.post=nt,Hn.fpgm=ot,Hn.loca=at,Hn.prep=ct,Hn["cvt "]=it,Hn.glyf=ut,Hn["CFF "]=xe,Hn.CFF2=xe,Hn.VORG=Ae,Hn.EBLC=De,Hn.CBLC=Hn.EBLC,Hn.sbix=Ne,Hn.COLR=ze,Hn.CPAL=We,Hn.BASE=$e,Hn.GDEF=sr,Hn.GPOS=_r,Hn.GSUB=Or,Hn.JSTF=Fr,Hn.HVAR=jr,Hn.DSIG=Wr,Hn.gasp=Vr,Hn.hdmx=qr,Hn.kern=Qr,Hn.LTSH=$r,Hn.PCLT=tn,Hn.VDMX=on,Hn.vhea=sn,Hn.vmtx=cn,Hn.avar=hn,Hn.bsln=vn,Hn.feat=Sn,Hn.fvar=An,Hn.gvar=kn,Hn.just=Dn,Hn.morx=Vn,Hn.opbd=qn;let Kn=new(v(i).Struct)({tag:new(v(i).String)(4),checkSum:v(i).uint32,offset:new(v(i).Pointer)(v(i).uint32,"void",{type:"global"}),length:v(i).uint32}),Yn=new(v(i).Struct)({tag:new(v(i).String)(4),numTables:v(i).uint16,searchRange:v(i).uint16,entrySelector:v(i).uint16,rangeShift:v(i).uint16,tables:new(v(i).Array)(Kn,"numTables")});Yn.process=function(){let t={};for(let e of this.tables)t[e.tag]=e;this.tables=t},Yn.preEncode=function(t){let e=[];for(let t in this.tables){let r=this.tables[t];r&&e.push({tag:t,checkSum:0,offset:new(v(i).VoidPointer)(Zn[t],r),length:Zn[t].size(r)})}this.tag="true",this.numTables=e.length,this.tables=e;let r=Math.floor(Math.log(this.numTables)/Math.LN2),n=Math.pow(2,r);this.searchRange=16*n,this.entrySelector=Math.log(n)/Math.LN2,this.rangeShift=16*this.numTables-this.searchRange};var Jn=Yn;function Qn(t,e){let r=0,n=t.length-1;for(;r<=n;){let i=r+n>>1,o=e(t[i]);if(o<0)n=i-1;else{if(!(o>0))return i;r=i+1}}return-1}function $n(t,e){let r=[];for(;t<e;)r.push(t++);return r}let ti=(ra=class{findSubtable(t,e){for(let[r,n]of e)for(let e of t.tables)if(e.platformID===r&&e.encodingID===n)return e.table;return null}lookup(t,e){if(this.encoding){let e=v(l).encode(String.fromCodePoint(t),this.encoding);t=0;for(let r=0;r<e.length;r++)t=t<<8|e[r]}else if(e){let r=this.getVariationSelector(t,e);if(r)return r}let r=this.cmap;switch(r.version){case 0:return r.codeMap.get(t)||0;case 4:{let e=0,n=r.segCount-1;for(;e<=n;){let i=e+n>>1;if(t<r.startCode.get(i))n=i-1;else{if(!(t>r.endCode.get(i))){let e,n=r.idRangeOffset.get(i);if(0===n)e=t+r.idDelta.get(i);else{let o=n/2+(t-r.startCode.get(i))-(r.segCount-i);e=r.glyphIndexArray.get(o)||0,0!==e&&(e+=r.idDelta.get(i))}return 65535&e}e=i+1}}return 0}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return r.glyphIndices.get(t-r.firstCode)||0;case 12:case 13:{let e=0,n=r.nGroups-1;for(;e<=n;){let i=e+n>>1,o=r.groups.get(i);if(t<o.startCharCode)n=i-1;else{if(!(t>o.endCharCode))return 12===r.version?o.glyphID+(t-o.startCharCode):o.glyphID;e=i+1}}return 0}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${r.version}`)}}getVariationSelector(t,e){if(!this.uvs)return 0;let r=this.uvs.varSelectors.toArray(),n=Qn(r,(t=>e-t.varSelector)),i=r[n];return-1!==n&&i.defaultUVS&&(n=Qn(i.defaultUVS,(e=>t<e.startUnicodeValue?-1:t>e.startUnicodeValue+e.additionalCount?1:0))),-1!==n&&i.nonDefaultUVS&&(n=Qn(i.nonDefaultUVS,(e=>t-e.unicodeValue)),-1!==n)?i.nonDefaultUVS[n].glyphID:0}getCharacterSet(){let t=this.cmap;switch(t.version){case 0:return $n(0,t.codeMap.length);case 4:{let e=[],r=t.endCode.toArray();for(let n=0;n<r.length;n++){let i=r[n]+1,o=t.startCode.get(n);e.push(...$n(o,i))}return e}case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return $n(t.firstCode,t.firstCode+t.glyphIndices.length);case 12:case 13:{let e=[];for(let r of t.groups.toArray())e.push(...$n(r.startCharCode,r.endCharCode+1));return e}case 14:throw new Error("TODO: cmap format 14");default:throw new Error(`Unknown cmap format ${t.version}`)}}codePointsForGlyph(t){let e=this.cmap;switch(e.version){case 0:{let r=[];for(let n=0;n<256;n++)e.codeMap.get(n)===t&&r.push(n);return r}case 4:{let n=[];for(let i=0;i<e.segCount;i++){let o=e.endCode.get(i),s=e.startCode.get(i),a=e.idRangeOffset.get(i),c=e.idDelta.get(i);for(var r=s;r<=o;r++){let o=0;if(0===a)o=r+c;else{let t=a/2+(r-s)-(e.segCount-i);o=e.glyphIndexArray.get(t)||0,0!==o&&(o+=c)}o===t&&n.push(r)}}return n}case 12:{let r=[];for(let n of e.groups.toArray())t>=n.glyphID&&t<=n.glyphID+(n.endCharCode-n.startCharCode)&&r.push(n.startCharCode+(t-n.glyphID));return r}case 13:{let r=[];for(let n of e.groups.toArray())t===n.glyphID&&r.push(...$n(n.startCharCode,n.endCharCode+1));return r}default:throw new Error(`Unknown cmap format ${e.version}`)}}constructor(t){if(this.encoding=null,this.cmap=this.findSubtable(t,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap&&v(l))for(let e of t.tables){let t=V(e.platformID,e.encodingID,e.table.language-1);v(l).encodingExists(t)&&(this.cmap=e.table,this.encoding=t)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(t,[[0,5]]),this.uvs&&14!==this.uvs.version&&(this.uvs=null)}},s.applyDecoratedDescriptor(ra.prototype,"getCharacterSet",[P],Object.getOwnPropertyDescriptor(ra.prototype,"getCharacterSet"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"codePointsForGlyph",[P],Object.getOwnPropertyDescriptor(ra.prototype,"codePointsForGlyph"),ra.prototype),ra);class ei{process(t,e){for(let r=0;r<t.length-1;r++){let n=t[r].id,i=t[r+1].id;e[r].xAdvance+=this.getKerning(n,i)}}getKerning(t,e){let r=0;for(let n of this.kern.tables){if(n.coverage.crossStream)continue;switch(n.version){case 0:if(!n.coverage.horizontal)continue;break;case 1:if(n.coverage.vertical||n.coverage.variation)continue;break;default:throw new Error(`Unsupported kerning table version ${n.version}`)}let i=0,o=n.subtable;switch(n.format){case 0:let r=Qn(o.pairs,(function(r){return t-r.left||e-r.right}));r>=0&&(i=o.pairs[r].value);break;case 2:let s=0,a=0;s=t>=o.leftTable.firstGlyph&&t<o.leftTable.firstGlyph+o.leftTable.nGlyphs?o.leftTable.offsets[t-o.leftTable.firstGlyph]:o.array.off,e>=o.rightTable.firstGlyph&&e<o.rightTable.firstGlyph+o.rightTable.nGlyphs&&(a=o.rightTable.offsets[e-o.rightTable.firstGlyph]);let c=(s+a-o.array.off)/2;i=o.array.values.get(c);break;case 3:if(t>=o.glyphCount||e>=o.glyphCount)return 0;i=o.kernValue[o.kernIndex[o.leftClass[t]*o.rightClassCount+o.rightClass[e]]];break;default:throw new Error(`Unsupported kerning sub-table format ${n.format}`)}n.coverage.override?r=i:r+=i}return r}constructor(t){this.kern=t.kern}}class ri{positionGlyphs(t,e){let r=0,n=0;for(let i=0;i<t.length;i++){t[i].isMark?n=i:(r!==n&&this.positionCluster(t,e,r,n),r=n=i)}return r!==n&&this.positionCluster(t,e,r,n),e}positionCluster(t,e,r,n){let i=t[r],o=i.cbox.copy();i.codePoints.length>1&&(o.minX+=(i.codePoints.length-1)*o.width/i.codePoints.length);let s=-e[r].xAdvance,a=0,c=this.font.unitsPerEm/16;for(let i=r+1;i<=n;i++){let r=t[i],n=r.cbox,u=e[i],l=this.getCombiningClass(r.codePoints[0]);if("Not_Reordered"!==l){switch(u.xOffset=u.yOffset=0,l){case"Double_Above":case"Double_Below":u.xOffset+=o.minX-n.width/2-n.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":u.xOffset+=o.minX-n.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":u.xOffset+=o.maxX-n.width-n.minX;break;default:u.xOffset+=o.minX+(o.width-n.width)/2-n.minX}switch(l){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":"Attached_Below_Left"!==l&&"Attached_Below"!==l||(o.minY+=c),u.yOffset=-o.minY-n.maxY,o.minY+=n.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":"Attached_Above"!==l&&"Attached_Above_Right"!==l||(o.maxY+=c),u.yOffset=o.maxY-n.minY,o.maxY+=n.height}u.xAdvance=u.yAdvance=0,u.xOffset+=s,u.yOffset+=a}else s-=u.xAdvance,a-=u.yAdvance}}getCombiningClass(t){let e=v(f).getCombiningClass(t);if(3584==(-256&t))if("Not_Reordered"===e)switch(t){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===t)return"Below_Right";switch(e){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":case"CCC29":case"CCC32":case"CCC118":case"CCC129":case"CCC132":return"Below";case"CCC23":return"Attached_Above";case"CCC24":case"CCC107":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":case"CCC122":case"CCC130":return"Above";case"CCC21":break;case"CCC103":return"Below_Right"}return e}constructor(t){this.font=t}}class ni{get width(){return this.maxX-this.minX}get height(){return this.maxY-this.minY}addPoint(t,e){Math.abs(t)!==1/0&&(t<this.minX&&(this.minX=t),t>this.maxX&&(this.maxX=t)),Math.abs(e)!==1/0&&(e<this.minY&&(this.minY=e),e>this.maxY&&(this.maxY=e))}copy(){return new ni(this.minX,this.minY,this.maxX,this.maxY)}constructor(t=1/0,e=1/0,r=-1/0,n=-1/0){this.minX=t,this.minY=e,this.maxX=r,this.maxY=n}}const ii={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi  ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},oi={};for(let t in ii){let e=ii[t];if(Array.isArray(e))for(let r of e)oi[r]=t;else oi[e]=t}const si={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function ai(t){return si[t]?"rtl":"ltr"}class ci{get advanceWidth(){let t=0;for(let e of this.positions)t+=e.xAdvance;return t}get advanceHeight(){let t=0;for(let e of this.positions)t+=e.yAdvance;return t}get bbox(){let t=new ni,e=0,r=0;for(let n=0;n<this.glyphs.length;n++){let i=this.glyphs[n],o=this.positions[n],s=i.bbox;t.addPoint(s.minX+e+o.xOffset,s.minY+r+o.yOffset),t.addPoint(s.maxX+e+o.xOffset,s.maxY+r+o.yOffset),e+=o.xAdvance,r+=o.yAdvance}return t}constructor(t,e,r,n,i){if(this.glyphs=t,this.positions=null,this.script=r,this.language=n||null,this.direction=i||ai(r),this.features={},Array.isArray(e))for(let t of e)this.features[t]=!0;else"object"==typeof e&&(this.features=e)}}class ui{constructor(t=0,e=0,r=0,n=0){this.xAdvance=t,this.yAdvance=e,this.xOffset=r,this.yOffset=n}}const li={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},fi=(t,e)=>[li[t].code,li[t][e]],hi={rlig:fi("ligatures","requiredLigatures"),clig:fi("ligatures","contextualLigatures"),dlig:fi("ligatures","rareLigatures"),hlig:fi("ligatures","historicalLigatures"),liga:fi("ligatures","commonLigatures"),hist:fi("ligatures","historicalLigatures"),smcp:fi("lowerCase","lowerCaseSmallCaps"),pcap:fi("lowerCase","lowerCasePetiteCaps"),frac:fi("fractions","diagonalFractions"),dnom:fi("fractions","diagonalFractions"),numr:fi("fractions","diagonalFractions"),afrc:fi("fractions","verticalFractions"),case:fi("caseSensitiveLayout","caseSensitiveLayout"),ccmp:fi("unicodeDecomposition","canonicalComposition"),cpct:fi("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:fi("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:fi("contextualAlternates","swashAlternates"),cswh:fi("contextualAlternates","contextualSwashAlternates"),curs:fi("cursiveConnection","cursive"),c2pc:fi("upperCase","upperCasePetiteCaps"),c2sc:fi("upperCase","upperCaseSmallCaps"),init:fi("smartSwash","wordInitialSwashes"),fin2:fi("smartSwash","wordFinalSwashes"),medi:fi("smartSwash","nonFinalSwashes"),med2:fi("smartSwash","nonFinalSwashes"),fin3:fi("smartSwash","wordFinalSwashes"),fina:fi("smartSwash","wordFinalSwashes"),pkna:fi("kanaSpacing","proportionalKana"),half:fi("textSpacing","halfWidthText"),halt:fi("textSpacing","altHalfWidthText"),hkna:fi("alternateKana","alternateHorizKana"),vkna:fi("alternateKana","alternateVertKana"),ital:fi("italicCJKRoman","CJKItalicRoman"),lnum:fi("numberCase","upperCaseNumbers"),onum:fi("numberCase","lowerCaseNumbers"),mgrk:fi("mathematicalExtras","mathematicalGreek"),calt:fi("contextualAlternates","contextualAlternates"),vrt2:fi("verticalSubstitution","substituteVerticalForms"),vert:fi("verticalSubstitution","substituteVerticalForms"),tnum:fi("numberSpacing","monospacedNumbers"),pnum:fi("numberSpacing","proportionalNumbers"),sups:fi("verticalPosition","superiors"),subs:fi("verticalPosition","inferiors"),ordn:fi("verticalPosition","ordinals"),pwid:fi("textSpacing","proportionalText"),hwid:fi("textSpacing","halfWidthText"),qwid:fi("textSpacing","quarterWidthText"),twid:fi("textSpacing","thirdWidthText"),fwid:fi("textSpacing","proportionalText"),palt:fi("textSpacing","altProportionalText"),trad:fi("characterShape","traditionalCharacters"),smpl:fi("characterShape","simplifiedCharacters"),jp78:fi("characterShape","JIS1978Characters"),jp83:fi("characterShape","JIS1983Characters"),jp90:fi("characterShape","JIS1990Characters"),jp04:fi("characterShape","JIS2004Characters"),expt:fi("characterShape","expertCharacters"),hojo:fi("characterShape","hojoCharacters"),nlck:fi("characterShape","NLCCharacters"),tnam:fi("characterShape","traditionalNamesCharacters"),ruby:fi("rubyKana","rubyKana"),titl:fi("styleOptions","titlingCaps"),zero:fi("typographicExtras","slashedZero"),ss01:fi("stylisticAlternatives","stylisticAltOne"),ss02:fi("stylisticAlternatives","stylisticAltTwo"),ss03:fi("stylisticAlternatives","stylisticAltThree"),ss04:fi("stylisticAlternatives","stylisticAltFour"),ss05:fi("stylisticAlternatives","stylisticAltFive"),ss06:fi("stylisticAlternatives","stylisticAltSix"),ss07:fi("stylisticAlternatives","stylisticAltSeven"),ss08:fi("stylisticAlternatives","stylisticAltEight"),ss09:fi("stylisticAlternatives","stylisticAltNine"),ss10:fi("stylisticAlternatives","stylisticAltTen"),ss11:fi("stylisticAlternatives","stylisticAltEleven"),ss12:fi("stylisticAlternatives","stylisticAltTwelve"),ss13:fi("stylisticAlternatives","stylisticAltThirteen"),ss14:fi("stylisticAlternatives","stylisticAltFourteen"),ss15:fi("stylisticAlternatives","stylisticAltFifteen"),ss16:fi("stylisticAlternatives","stylisticAltSixteen"),ss17:fi("stylisticAlternatives","stylisticAltSeventeen"),ss18:fi("stylisticAlternatives","stylisticAltEighteen"),ss19:fi("stylisticAlternatives","stylisticAltNineteen"),ss20:fi("stylisticAlternatives","stylisticAltTwenty")};for(let t=1;t<=99;t++)hi[`cv${`00${t}`.slice(-2)}`]=[li.characterAlternatives.code,t];let di={};for(let t in hi){let e=hi[t];null==di[e[0]]&&(di[e[0]]={}),di[e[0]][e[1]]=t}function pi(t){let[e,r]=t;if(isNaN(e))var n=li[e]&&li[e].code;else n=e;if(isNaN(r))var i=li[e]&&li[e][r];else i=r;return[n,i]}let gi=(ra=class{lookup(t){switch(this.table.version){case 0:return this.table.values.getItem(t);case 2:case 4:{let n=0,i=this.table.binarySearchHeader.nUnits-1;for(;n<=i;){var e=n+i>>1;if(65535===(r=this.table.segments[e]).firstGlyph)return null;if(t<r.firstGlyph)i=e-1;else{if(!(t>r.lastGlyph))return 2===this.table.version?r.value:r.values[t-r.firstGlyph];n=e+1}}return null}case 6:{let n=0,i=this.table.binarySearchHeader.nUnits-1;for(;n<=i;){var r;e=n+i>>1;if(65535===(r=this.table.segments[e]).glyph)return null;if(t<r.glyph)i=e-1;else{if(!(t>r.glyph))return r.value;n=e+1}}return null}case 8:return this.table.values[t-this.table.firstGlyph];default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}}glyphsForValue(t){let e=[];switch(this.table.version){case 2:case 4:for(let r of this.table.segments)if(2===this.table.version&&r.value===t)e.push(...$n(r.firstGlyph,r.lastGlyph+1));else for(let n=0;n<r.values.length;n++)r.values[n]===t&&e.push(r.firstGlyph+n);break;case 6:for(let r of this.table.segments)r.value===t&&e.push(r.glyph);break;case 8:for(let r=0;r<this.table.values.length;r++)this.table.values[r]===t&&e.push(this.table.firstGlyph+r);break;default:throw new Error(`Unknown lookup table format: ${this.table.version}`)}return e}constructor(t){this.table=t}},s.applyDecoratedDescriptor(ra.prototype,"glyphsForValue",[P],Object.getOwnPropertyDescriptor(ra.prototype,"glyphsForValue"),ra.prototype),ra);class yi{process(t,e,r){let n=0,i=e?t.length-1:0,o=e?-1:1;for(;1===o&&i<=t.length||-1===o&&i>=-1;){let e=null,s=1,a=!0;i===t.length||-1===i?s=0:(e=t[i],65535===e.id?s=2:(s=this.lookupTable.lookup(e.id),null==s&&(s=1)));let c=this.stateTable.stateArray.getItem(n)[s],u=this.stateTable.entryTable.getItem(c);0!==s&&2!==s&&(r(e,u,i),a=!(16384&u.flags)),n=u.newState,a&&(i+=o)}return t}traverse(t,e=0,r=new Set){if(r.has(e))return;r.add(e);let{nClasses:n,stateArray:i,entryTable:o}=this.stateTable,s=i.getItem(e);for(let e=4;e<n;e++){let n=s[e],i=o.getItem(n);for(let n of this.lookupTable.glyphsForValue(e))t.enter&&t.enter(n,i),0!==i.newState&&this.traverse(t,i.newState,r),t.exit&&t.exit(n,i)}}constructor(t){this.stateTable=t,this.lookupTable=new gi(t.classTable)}}const bi=4194304;let vi=(ra=class{process(t,e={}){for(let r of this.morx.chains){let n=r.defaultFlags;for(let t of r.features){let r;(r=e[t.featureType])&&(r[t.featureSetting]?(n&=t.disableFlags,n|=t.enableFlags):!1===r[t.featureSetting]&&(n|=~t.disableFlags,n&=~t.enableFlags))}for(let e of r.subtables)e.subFeatureFlags&n&&this.processSubtable(e,t)}let r=t.length-1;for(;r>=0;)65535===t[r].id&&t.splice(r,1),r--;return t}processSubtable(t,e){if(this.subtable=t,this.glyphs=e,4===this.subtable.type)return void this.processNoncontextualSubstitutions(this.subtable,this.glyphs);this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;let r=this.getStateMachine(t),n=this.getProcessor(),i=!!(this.subtable.coverage&bi);return r.process(this.glyphs,i,n)}getStateMachine(t){return new yi(t.table.stateTable)}getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error(`Invalid morx subtable type: ${this.subtable.type}`)}}processIndicRearragement(t,e,r){32768&e.flags&&(this.firstGlyph=r),8192&e.flags&&(this.lastGlyph=r),function(t,e,r,n){switch(e){case 0:return t;case 1:return mi(t,[r,1],[n,0]);case 2:return mi(t,[r,0],[n,1]);case 3:return mi(t,[r,1],[n,1]);case 4:return mi(t,[r,2],[n,0]);case 5:return mi(t,[r,2],[n,0],!0,!1);case 6:return mi(t,[r,0],[n,2]);case 7:return mi(t,[r,0],[n,2],!1,!0);case 8:return mi(t,[r,1],[n,2]);case 9:return mi(t,[r,1],[n,2],!1,!0);case 10:return mi(t,[r,2],[n,1]);case 11:return mi(t,[r,2],[n,1],!0,!1);case 12:return mi(t,[r,2],[n,2]);case 13:return mi(t,[r,2],[n,2],!0,!1);case 14:return mi(t,[r,2],[n,2],!1,!0);case 15:return mi(t,[r,2],[n,2],!0,!0);default:throw new Error(`Unknown verb: ${e}`)}}(this.glyphs,15&e.flags,this.firstGlyph,this.lastGlyph)}processContextualSubstitution(t,e,r){let n=this.subtable.table.substitutionTable.items;if(65535!==e.markIndex){let r=n.getItem(e.markIndex),o=new gi(r);t=this.glyphs[this.markedGlyph],(i=o.lookup(t.id))&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(i,t.codePoints))}if(65535!==e.currentIndex){let o=n.getItem(e.currentIndex),s=new gi(o);var i;t=this.glyphs[r],(i=s.lookup(t.id))&&(this.glyphs[r]=this.font.getGlyph(i,t.codePoints))}32768&e.flags&&(this.markedGlyph=r)}processLigature(t,e,r){if(32768&e.flags&&this.ligatureStack.push(r),8192&e.flags){let t=this.subtable.table.ligatureActions,r=this.subtable.table.components,n=this.subtable.table.ligatureList,i=e.action,o=!1,s=0,a=[],c=[];for(;!o;){let e=this.ligatureStack.pop();a.unshift(...this.glyphs[e].codePoints);let u=t.getItem(i++);o=!!(2147483648&u);let l=!!(1073741824&u),f=(1073741823&u)<<2>>2;if(f+=this.glyphs[e].id,s+=r.getItem(f),o||l){let t=n.getItem(s);this.glyphs[e]=this.font.getGlyph(t,a),c.push(e),s=0,a=[]}else this.glyphs[e]=this.font.getGlyph(65535)}this.ligatureStack.push(...c)}}processNoncontextualSubstitutions(t,e,r){let n=new gi(t.table.lookupTable);for(r=0;r<e.length;r++){let t=e[r];if(65535!==t.id){let i=n.lookup(t.id);i&&(e[r]=this.font.getGlyph(i,t.codePoints))}}}_insertGlyphs(t,e,r,n){let i=[];for(;r--;){let t=this.subtable.table.insertionActions.getItem(e++);i.push(this.font.getGlyph(t))}n||t++,this.glyphs.splice(t,0,...i)}processGlyphInsertion(t,e,r){if(32768&e.flags&&(this.markedIndex=r),65535!==e.markedInsertIndex){let t=(31&e.flags)>>>5,r=!!(1024&e.flags);this._insertGlyphs(this.markedIndex,e.markedInsertIndex,t,r)}if(65535!==e.currentInsertIndex){let t=(992&e.flags)>>>5,n=!!(2048&e.flags);this._insertGlyphs(r,e.currentInsertIndex,t,n)}}getSupportedFeatures(){let t=[];for(let e of this.morx.chains)for(let r of e.features)t.push([r.featureType,r.featureSetting]);return t}generateInputs(t){return this.inputCache||this.generateInputCache(),this.inputCache[t]||[]}generateInputCache(){this.inputCache={};for(let t of this.morx.chains){let e=t.defaultFlags;for(let r of t.subtables)r.subFeatureFlags&e&&this.generateInputsForSubtable(r)}}generateInputsForSubtable(t){if(2!==t.type)return;if(!!(t.coverage&bi))throw new Error("Reverse subtable, not supported.");this.subtable=t,this.ligatureStack=[];let e=this.getStateMachine(t),r=this.getProcessor(),n=[],i=[];this.glyphs=[],e.traverse({enter:(t,e)=>{let o=this.glyphs;i.push({glyphs:o.slice(),ligatureStack:this.ligatureStack.slice()});let s=this.font.getGlyph(t);n.push(s),o.push(n[n.length-1]),r(o[o.length-1],e,o.length-1);let a=0,c=0;for(let t=0;t<o.length&&a<=1;t++)65535!==o[t].id&&(a++,c=o[t].id);if(1===a){let t=n.map((t=>t.id)),e=this.inputCache[c];e?e.push(t):this.inputCache[c]=[t]}},exit:()=>{({glyphs:this.glyphs,ligatureStack:this.ligatureStack}=i.pop()),n.pop()}})}constructor(t){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=t,this.morx=t.morx,this.inputCache=null}},s.applyDecoratedDescriptor(ra.prototype,"getStateMachine",[P],Object.getOwnPropertyDescriptor(ra.prototype,"getStateMachine"),ra.prototype),ra);function mi(t,e,r,n=!1,i=!1){let o=t.splice(r[0]-(r[1]-1),r[1]);i&&o.reverse();let s=t.splice(e[0],e[1],...o);return n&&s.reverse(),t.splice(r[0]-(e[1]-1),0,...s),t}class wi{substitute(t){"rtl"===t.direction&&t.glyphs.reverse(),this.morxProcessor.process(t.glyphs,function(t){let e={};for(let r in t){let n;(n=hi[r])&&(null==e[n[0]]&&(e[n[0]]={}),e[n[0]][n[1]]=t[r])}return e}(t.features))}getAvailableFeatures(t,e){return function(t){let e={};if(Array.isArray(t))for(let r=0;r<t.length;r++){let n,i=pi(t[r]);(n=di[i[0]]&&di[i[0]][i[1]])&&(e[n]=!0)}else if("object"==typeof t)for(let r in t){let n=t[r];for(let t in n){let i,o=pi([r,t]);n[t]&&(i=di[o[0]]&&di[o[0]][o[1]])&&(e[i]=!0)}}return Object.keys(e)}(this.morxProcessor.getSupportedFeatures())}stringsForGlyph(t){let e=this.morxProcessor.generateInputs(t),r=new Set;for(let t of e)this._addStrings(t,0,r,"");return r}_addStrings(t,e,r,n){let i=this.font._cmapProcessor.codePointsForGlyph(t[e]);for(let o of i){let i=n+String.fromCodePoint(o);e<t.length-1?this._addStrings(t,e+1,r,i):r.add(i)}}constructor(t){this.font=t,this.morxProcessor=new vi(t),this.fallbackPosition=!1}}class Si{_addFeatures(t,e){let r=this.stages.length-1,n=this.stages[r];for(let i of t)null==this.allFeatures[i]&&(n.push(i),this.allFeatures[i]=r,e&&(this.globalFeatures[i]=!0))}add(t,e=!0){if(0===this.stages.length&&this.stages.push([]),"string"==typeof t&&(t=[t]),Array.isArray(t))this._addFeatures(t,e);else{if("object"!=typeof t)throw new Error("Unsupported argument to ShapingPlan#add");this._addFeatures(t.global||[],!0),this._addFeatures(t.local||[],!1)}}addStage(t,e){"function"==typeof t?this.stages.push(t,[]):(this.stages.push([]),this.add(t,e))}setFeatureOverrides(t){if(Array.isArray(t))this.add(t);else if("object"==typeof t)for(let e in t)if(t[e])this.add(e);else if(null!=this.allFeatures[e]){let t=this.stages[this.allFeatures[e]];t.splice(t.indexOf(e),1),delete this.allFeatures[e],delete this.globalFeatures[e]}}assignGlobalFeatures(t){for(let e of t)for(let t in this.globalFeatures)e.features[t]=!0}process(t,e,r){for(let n of this.stages)"function"==typeof n?r||n(this.font,e,this):n.length>0&&t.applyFeatures(n,e,r)}constructor(t,e,r){this.font=t,this.script=e,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}}const xi=["rvrn"],_i=["ccmp","locl","rlig","mark","mkmk"],Ai=["frac","numr","dnom"],Ci=["calt","clig","liga","rclt","curs","kern"],ki={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]};class Ei{static plan(t,e,r){this.planPreprocessing(t),this.planFeatures(t),this.planPostprocessing(t,r),t.assignGlobalFeatures(e),this.assignFeatures(t,e)}static planPreprocessing(t){t.add({global:[...xi,...ki[t.direction]],local:Ai})}static planFeatures(t){}static planPostprocessing(t,e){t.add([..._i,...Ci]),t.setFeatureOverrides(e)}static assignFeatures(t,e){for(let t=0;t<e.length;t++){let r=e[t];if(8260===r.codePoints[0]){let n=t,i=t+1;for(;n>0&&v(f).isDigit(e[n-1].codePoints[0]);)e[n-1].features.numr=!0,e[n-1].features.frac=!0,n--;for(;i<e.length&&v(f).isDigit(e[i].codePoints[0]);)e[i].features.dnom=!0,e[i].features.frac=!0,i++;r.features.frac=!0,t=i-1}}}}s.defineProperty(Ei,"zeroMarkWidths","AFTER_GPOS");var Pi=a.Buffer;const Oi=new(v(h))(Pi.from("ABABAAAAAACgMQAAAZUBav7t2CtPA0EUBeDZB00pin9AJZIEgyUEj0QhweDAgQOJxCBRBElQSBwSicLgkOAwnNKZ5GaY2c7uzj4o5yZfZrrbefbuIx2nSq3CGmzAWH/+K+UO7MIe7MMhHMMpnMMFXMIVXIt2t3CnP088iPqjqNN8e4Ij7Rle4LUH82rLm6i/92A+RERERERERERNmfz/89GDeRARERERzbN8ceps2Iwt9H0C9/AJ6yOlDkbTczcot5VSm8Pm1vcFWfb7+BKOLTuOd2UlTX4wGP85Eg953lWPFbnuN7PkjtLmalOWbNenkHOSa7T3KmR9MVTZ2zZkVj1kHa68MueVKH0R4zqQ44WEXLM8VjcWHP0PtKLfPzQnMtGn3W4QYf6qxFxceVI394r2xnV+1rih0fV1Vzf3fO1n3evL5J78ruvZ5ptX2Rwy92Tfb1wlEqut3U+sZ3HXOeJ7/zDrbyuP6+Zz0fqa6Nv3vhY7Yu1xWnGevmsvsUpTT/RYIe8waUH/rvHMWKFzLfN8L+rTfp645mfX7ftlnfDtYxN59w0=","base64")),Bi=["isol","fina","fin2","fin3","medi","med2","init"],Ii=0,Ti=6,Ri="isol",Mi="fina",Di="fin2",Fi="medi",Ni="med2",Li="init",ji=null,zi=[[[ji,ji,0],[ji,Ri,2],[ji,Ri,1],[ji,Ri,2],[ji,Ri,1],[ji,Ri,6]],[[ji,ji,0],[ji,Ri,2],[ji,Ri,1],[ji,Ri,2],[ji,Di,5],[ji,Ri,6]],[[ji,ji,0],[ji,Ri,2],[Li,Mi,1],[Li,Mi,3],[Li,Mi,4],[Li,Mi,6]],[[ji,ji,0],[ji,Ri,2],[Fi,Mi,1],[Fi,Mi,3],[Fi,Mi,4],[Fi,Mi,6]],[[ji,ji,0],[ji,Ri,2],[Ni,Ri,1],[Ni,Ri,2],[Ni,Di,5],[Ni,Ri,6]],[[ji,ji,0],[ji,Ri,2],[Ri,Ri,1],[Ri,Ri,2],[Ri,Di,5],[Ri,Ri,6]],[[ji,ji,0],[ji,Ri,2],[ji,Ri,1],[ji,Ri,2],[ji,"fin3",5],[ji,Ri,6]]];class Ui extends Ei{static planFeatures(t){t.add(["ccmp","locl"]);for(let e=0;e<Bi.length;e++){let r=Bi[e];t.addStage(r,!1)}t.addStage("mset")}static assignFeatures(t,e){super.assignFeatures(t,e);let r=-1,n=0,i=[];for(let t=0;t<e.length;t++){let s,a;let c=Wi((o=e[t]).codePoints[0]);c!==Ti?([a,s,n]=zi[n][c],a!==ji&&-1!==r&&(i[r]=a),i[t]=s,r=t):i[t]=ji}for(let t=0;t<e.length;t++){let r;var o=e[t];(r=i[t])&&(o.features[r]=!0)}}}function Wi(t){let e=Oi.get(t);if(e)return e-1;let r=v(f).getCategory(t);return"Mn"===r||"Me"===r||"Cf"===r?Ti:Ii}class Gi{reset(t={},e=0){this.options=t,this.flags=t.flags||{},this.markAttachmentType=t.markAttachmentType||0,this.index=e}get cur(){return this.glyphs[this.index]||null}shouldIgnore(t){return this.flags.ignoreMarks&&t.isMark||this.flags.ignoreBaseGlyphs&&t.isBase||this.flags.ignoreLigatures&&t.isLigature||this.markAttachmentType&&t.isMark&&t.markAttachmentType!==this.markAttachmentType}move(t){for(this.index+=t;0<=this.index&&this.index<this.glyphs.length&&this.shouldIgnore(this.glyphs[this.index]);)this.index+=t;return 0>this.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]}next(){return this.move(1)}prev(){return this.move(-1)}peek(t=1){let e=this.index,r=this.increment(t);return this.index=e,r}peekIndex(t=1){let e=this.index;this.increment(t);let r=this.index;return this.index=e,r}increment(t=1){let e=t<0?-1:1;for(t=Math.abs(t);t--;)this.move(e);return this.glyphs[this.index]}constructor(t,e){this.glyphs=t,this.reset(e)}}const Vi=["DFLT","dflt","latn"];class Xi{findScript(t){if(null==this.table.scriptList)return null;Array.isArray(t)||(t=[t]);for(let e of t)for(let t of this.table.scriptList)if(t.tag===e)return t;return null}selectScript(t,e,r){let n,i=!1;if(!this.script||t!==this.scriptTag){if(n=this.findScript(t),n||(n=this.findScript(Vi)),!n)return this.scriptTag;this.scriptTag=n.tag,this.script=n.script,this.language=null,this.languageTag=null,i=!0}if(r&&r===this.direction||(this.direction=r||ai(t)),e&&e.length<4&&(e+=" ".repeat(4-e.length)),!e||e!==this.languageTag){this.language=null;for(let t of this.script.langSysRecords)if(t.tag===e){this.language=t.langSys,this.languageTag=t.tag;break}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),i=!0}if(i&&(this.features={},this.language))for(let t of this.language.featureIndexes){let e=this.table.featureList[t],r=this.substituteFeatureForVariations(t);this.features[e.tag]=r||e.feature}return this.scriptTag}lookupsForFeatures(t=[],e){let r=[];for(let n of t){let t=this.features[n];if(t)for(let i of t.lookupListIndexes)e&&-1!==e.indexOf(i)||r.push({feature:n,index:i,lookup:this.table.lookupList.get(i)})}return r.sort(((t,e)=>t.index-e.index)),r}substituteFeatureForVariations(t){if(-1===this.variationsIndex)return null;let e=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions;for(let r of e)if(r.featureIndex===t)return r.alternateFeatureTable;return null}findVariationsIndex(t){let e=this.table.featureVariations;if(!e)return-1;let r=e.featureVariationRecords;for(let e=0;e<r.length;e++){let n=r[e].conditionSet.conditionTable;if(this.variationConditionsMatch(n,t))return e}return-1}variationConditionsMatch(t,e){return t.every((t=>{let r=t.axisIndex<e.length?e[t.axisIndex]:0;return t.filterRangeMinValue<=r&&r<=t.filterRangeMaxValue}))}applyFeatures(t,e,r){let n=this.lookupsForFeatures(t);this.applyLookups(n,e,r)}applyLookups(t,e,r){this.glyphs=e,this.positions=r,this.glyphIterator=new Gi(e);for(let{feature:r,lookup:n}of t)for(this.currentFeature=r,this.glyphIterator.reset(n.flags);this.glyphIterator.index<e.length;)if(r in this.glyphIterator.cur.features){for(let t of n.subTables){if(this.applyLookup(n.lookupType,t))break}this.glyphIterator.next()}else this.glyphIterator.next()}applyLookup(t,e){throw new Error("applyLookup must be implemented by subclasses")}applyLookupList(t){let e=this.glyphIterator.options,r=this.glyphIterator.index;for(let n of t){this.glyphIterator.reset(e,r),this.glyphIterator.increment(n.sequenceIndex);let t=this.table.lookupList.get(n.lookupListIndex);this.glyphIterator.reset(t.flags,this.glyphIterator.index);for(let e of t.subTables)if(this.applyLookup(t.lookupType,e))break}return this.glyphIterator.reset(e,r),!0}coverageIndex(t,e){switch(null==e&&(e=this.glyphIterator.cur.id),t.version){case 1:return t.glyphs.indexOf(e);case 2:for(let r of t.rangeRecords)if(r.start<=e&&e<=r.end)return r.startCoverageIndex+e-r.start}return-1}match(t,e,r,n){let i=this.glyphIterator.index,o=this.glyphIterator.increment(t),s=0;for(;s<e.length&&o&&r(e[s],o);)n&&n.push(this.glyphIterator.index),s++,o=this.glyphIterator.next();return this.glyphIterator.index=i,!(s<e.length)&&(n||!0)}sequenceMatches(t,e){return this.match(t,e,((t,e)=>t===e.id))}sequenceMatchIndices(t,e){return this.match(t,e,((t,e)=>this.currentFeature in e.features&&t===e.id),[])}coverageSequenceMatches(t,e){return this.match(t,e,((t,e)=>this.coverageIndex(t,e.id)>=0))}getClassID(t,e){switch(e.version){case 1:let r=t-e.startGlyph;if(r>=0&&r<e.classValueArray.length)return e.classValueArray[r];break;case 2:for(let r of e.classRangeRecord)if(r.start<=t&&t<=r.end)return r.class}return 0}classSequenceMatches(t,e,r){return this.match(t,e,((t,e)=>t===this.getClassID(e.id,r)))}applyContext(t){let e,r;switch(t.version){case 1:if(e=this.coverageIndex(t.coverage),-1===e)return!1;r=t.ruleSets[e];for(let t of r)if(this.sequenceMatches(1,t.input))return this.applyLookupList(t.lookupRecords);break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;if(e=this.getClassID(this.glyphIterator.cur.id,t.classDef),-1===e)return!1;r=t.classSet[e];for(let e of r)if(this.classSequenceMatches(1,e.classes,t.classDef))return this.applyLookupList(e.lookupRecords);break;case 3:if(this.coverageSequenceMatches(0,t.coverages))return this.applyLookupList(t.lookupRecords)}return!1}applyChainingContext(t){let e;switch(t.version){case 1:if(e=this.coverageIndex(t.coverage),-1===e)return!1;let r=t.chainRuleSets[e];for(let t of r)if(this.sequenceMatches(-t.backtrack.length,t.backtrack)&&this.sequenceMatches(1,t.input)&&this.sequenceMatches(1+t.input.length,t.lookahead))return this.applyLookupList(t.lookupRecords);break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;e=this.getClassID(this.glyphIterator.cur.id,t.inputClassDef);let n=t.chainClassSet[e];if(!n)return!1;for(let e of n)if(this.classSequenceMatches(-e.backtrack.length,e.backtrack,t.backtrackClassDef)&&this.classSequenceMatches(1,e.input,t.inputClassDef)&&this.classSequenceMatches(1+e.input.length,e.lookahead,t.lookaheadClassDef))return this.applyLookupList(e.lookupRecords);break;case 3:if(this.coverageSequenceMatches(-t.backtrackGlyphCount,t.backtrackCoverage)&&this.coverageSequenceMatches(0,t.inputCoverage)&&this.coverageSequenceMatches(t.inputGlyphCount,t.lookaheadCoverage))return this.applyLookupList(t.lookupRecords)}return!1}constructor(t,e){this.font=t,this.table=e,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=t._variationProcessor?this.findVariationsIndex(t._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}}class qi{get id(){return this._id}set id(t){this._id=t,this.substituted=!0;let e=this._font.GDEF;if(e&&e.glyphClassDef){let r=Xi.prototype.getClassID(t,e.glyphClassDef);this.isBase=1===r,this.isLigature=2===r,this.isMark=3===r,this.markAttachmentType=e.markAttachClassDef?Xi.prototype.getClassID(t,e.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(v(f).isMark),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}copy(){return new qi(this._font,this.id,this.codePoints,this.features)}constructor(t,e,r=[],n){if(this._font=t,this.codePoints=r,this.id=e,this.features={},Array.isArray(n))for(let t=0;t<n.length;t++){let e=n[t];this.features[e]=!0}else"object"==typeof n&&Object.assign(this.features,n);this.ligatureID=null,this.ligatureComponent=null,this.isLigated=!1,this.cursiveAttachment=null,this.markAttachment=null,this.shaperInfo=null,this.substituted=!1,this.isMultiplied=!1}}class Hi extends Ei{static planFeatures(t){t.add(["ljmo","vjmo","tjmo"],!1)}static assignFeatures(t,e){let r=0,n=0;for(;n<e.length;){let i,o=e[n].codePoints[0],s=xo(o);switch([i,r]=Eo[r][s],i){case _o:t.font.hasGlyphForCodePoint(o)||(n=Oo(e,n,t.font));break;case Ao:n=Bo(e,n,t.font);break;case Co:Io(e,n,t.font);break;case ko:n=To(e,n,t.font)}n++}}}s.defineProperty(Hi,"zeroMarkWidths","NONE");const Zi=44032,Ki=55204-Zi+1,Yi=4352,Ji=4449,Qi=4519,$i=21,to=28,eo=Yi+19-1,ro=Ji+$i-1,no=Qi+to-1,io=9676,oo=t=>4352<=t&&t<=4447||43360<=t&&t<=43388,so=t=>4448<=t&&t<=4519||55216<=t&&t<=55238,ao=t=>4520<=t&&t<=4607||55243<=t&&t<=55291,co=t=>12334<=t&&t<=12335,uo=t=>Zi<=t&&t<=55204,lo=t=>t-Zi<Ki&&(t-Zi)%to==0,fo=t=>Yi<=t&&t<=eo,ho=t=>Ji<=t&&t<=ro,po=t=>Qi+1&&1<=t&&t<=no,go=0,yo=1,bo=2,vo=3,mo=4,wo=5,So=6;function xo(t){return oo(t)?yo:so(t)?bo:ao(t)?vo:lo(t)?mo:uo(t)?wo:co(t)?So:go}const _o=1,Ao=2,Co=4,ko=5,Eo=[[[0,0],[0,1],[0,0],[0,0],[_o,2],[_o,3],[ko,0]],[[0,0],[0,1],[Ao,2],[0,0],[_o,2],[_o,3],[ko,0]],[[0,0],[0,1],[0,0],[Ao,3],[_o,2],[_o,3],[Co,0]],[[0,0],[0,1],[0,0],[0,0],[_o,2],[_o,3],[Co,0]]];function Po(t,e,r){return new qi(t,t.glyphForCodePoint(e).id,[e],r)}function Oo(t,e,r){let n=t[e],i=n.codePoints[0]-Zi,o=Qi+i%to;i=i/to|0;let s=Yi+i/$i|0,a=Ji+i%$i;if(!r.hasGlyphForCodePoint(s)||!r.hasGlyphForCodePoint(a)||o!==Qi&&!r.hasGlyphForCodePoint(o))return e;let c=Po(r,s,n.features);c.features.ljmo=!0;let u=Po(r,a,n.features);u.features.vjmo=!0;let l=[c,u];if(o>Qi){let t=Po(r,o,n.features);t.features.tjmo=!0,l.push(t)}return t.splice(e,1,...l),e+l.length-1}function Bo(t,e,r){let n,i,o,s,a=t[e],c=xo(t[e].codePoints[0]),u=t[e-1].codePoints[0],l=xo(u);if(l===mo&&c===vo)n=u,s=a;else{c===bo?(i=t[e-1],o=a):(i=t[e-2],o=t[e-1],s=a);let r=i.codePoints[0],u=o.codePoints[0];fo(r)&&ho(u)&&(n=Zi+((r-Yi)*$i+(u-Ji))*to)}let f=s&&s.codePoints[0]||Qi;if(null!=n&&(f===Qi||po(f))){let i=n+(f-Qi);if(r.hasGlyphForCodePoint(i)){let n=l===bo?3:2;return t.splice(e-n+1,n,Po(r,i,a.features)),e-n+1}}return i&&(i.features.ljmo=!0),o&&(o.features.vjmo=!0),s&&(s.features.tjmo=!0),l===mo?(Oo(t,e-1,r),e+1):e}function Io(t,e,r){let n=t[e],i=t[e].codePoints[0];if(0===r.glyphForCodePoint(i).advanceWidth)return;let o=function(t){switch(xo(t)){case mo:case wo:return 1;case bo:return 2;case vo:return 3}}(t[e-1].codePoints[0]);return t.splice(e,1),t.splice(e-o,0,n)}function To(t,e,r){let n=t[e],i=t[e].codePoints[0];if(r.hasGlyphForCodePoint(io)){let o=Po(r,io,n.features),s=0===r.glyphForCodePoint(i).advanceWidth?e:e+1;t.splice(s,0,o),e++}return e}var Ro;Ro=JSON.parse('{"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],"accepting":[false,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,false,false,true,true,true,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,true,true,true,false,true,false,true,true,false,false,true,true,true,true,true,true,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,false,true,false,true,true,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,false,true,false,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,true,false,true,true,false,false,false,false,true,true,false,false,true,true,true,false,true,true,false,false,true,false,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,true,false,true,false,true,true,false,false,true,true,false,false,true,true,true,false,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,false,false,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,false,false,false,false,false,false,false,true,true,false,false,true,true,false,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,true,true,false,true,true,true,true,true,true,false,true,true,false,true,false,true,true,true,true,true,true,false,true,true,true,true,true,true,false,true,true,false,false,false,false,false,true,true,false,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,false,false,false,true,false,true,true,true,true,true,false,true,true,true,false,true,true,true,true,true,false,true,true,true,true,false,true,true,true,true,true,false,true,true,false,true,true,true],"tags":[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]}');var Mo;Mo=JSON.parse('{"categories":["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","VS","N","HN","MAbv"],"decompositions":{"2507":[2503,2494],"2508":[2503,2519],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3270,3266,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415],"3546":[3545,3530],"3548":[3545,3535],"3549":[3545,3535,3530],"3550":[3545,3551],"3635":[3661,3634],"3763":[3789,3762],"3955":[3953,3954],"3957":[3953,3956],"3958":[4018,3968],"3959":[4018,3953,3968],"3960":[4019,3968],"3961":[4019,3953,3968],"3969":[3953,3968],"6971":[6970,6965],"6973":[6972,6965],"6976":[6974,6965],"6977":[6975,6965],"6979":[6978,6965],"69934":[69937,69927],"69935":[69938,69927],"70475":[70471,70462],"70476":[70471,70487],"70843":[70841,70842],"70844":[70841,70832],"70846":[70841,70845],"71098":[71096,71087],"71099":[71097,71087]},"stateTable":[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,23,0,0,2,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],"accepting":[false,true,true,true,true,true,true,true,true,true,true,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true,true],"tags":[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]}');const Do=1,Fo=8,No=16,Lo=32,jo=64,zo=128,Uo=8192,Wo=32768,Go=65536,Vo=131072,Xo={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},qo=2|Go|Vo|4|2048|4096,Ho=jo|Lo,Zo=No|16384,Ko={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:Xo.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:Xo.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:Xo.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:Xo.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:Xo.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:Xo.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:Xo.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:Xo.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:Xo.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:Xo.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:Xo.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},Yo={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]};var Jo=a.Buffer;const{decompositions:Qo}=v(Mo),$o=new(v(h))(Jo.from("AAARAAAAAACgwgAAAbENTvLtnX+sHUUVx/f13nd/vHf7bl+FRGL7R0OJMcWYphBrimkVCSJR2xiEaLEGQ7AkBGowbYRSgj8K2B/GkpRYE6wlQSyJKCagrSlGkmqsqUZMY7S2CWkgqQViQSkt4Hfuzrx77tyZ2fm1u+/RPcknuzs7O3PmnDOzs7N73zteS5KXwKvgDTCnniTvBfPBJeAVpP2vFr69GGUtAkvAModyr0DeT4BrwCpwPVgDbga3ga+DjYbyluLcCvBN8F2wGWwHO8Ej4DjyPIbtz0DCeZpvD4CD4E/gb+AoOAFOgtPgLKiNJkkbTIKLwALwfvAh8GGwHFwFPg2uAzeCm8Ft4E5wN7gPPAi+D34AfgR+Ap7kx8+AZ8HvwZ/BEXAMvAheAa+Bc6OpzvVGknTABY30eB62C8GlYDFYCpaDq/n5z2J7PVgDbgG3N1KbrOdbWzby/N/G9i6wlR8/wLebUNcOll7vX7PLsQ4bdpAy92B/L3gK7AO/A38EfwX/AC+AkyT/m3x7mqdtYz7Gfq2ZJOPgPc3UXu/D9uJmmmcRT1uC7TJwZTONJxFL1+J4JbgBrAG3gNv5Nev5dhO2m3l54rqtON7RNLd1V8Z5auMfI+8Wbvv12P4Ux78AvyZl/Bb7fwD34HwH/EVR/t8t6rRlrYgFlHnMsdyXIupRFP+Gzv8Bb4CklSSjrTR9bz21uZx/Nj8v+uIFOJ4HFnJo3kWtNG6WkPSzBl1YbC8jeVfx+q+R9Pg48lxN8jFdhd8+01LrLTCdq6io8GNb1a8qKioqKioqKioc2cbXGcrWQ2Ynf9a9rmV/zVua9Dc16V/gz8pfxvar4A6wAdwL7gdbwUPgh+BR8AR4qpWuLe3D9gA4CA6DI+AoOAFOtdL1nNexfYs937fxDA8ubKf1zmv3dViI/Uvb9m2sqKioqAiHrVtehrH3TK2/3l4WZduioqIiDq+Rd1Jbef9ehnHmSnCtNNf7nOPcr8PHilO8jrfBF9v996lfwf6tUpl3tPvvdSjsvcwGnLt3Gsw/kzkpK8CdYH83my3Id0iT91WkL5xMktXgIfD85OD54zjfmYu5OFgN7h1LkmdBMg5fgbvAChzv49ujfEuZ3xlOk7kReTaSfL/B/jl+fMXsJLkb7AcPj8TlHC/zsgnYcyLd3zSh1vGAJr2ioqKiIn/eKXkMjn3/cWF5t/z6y37+K5urwP2YB36vPfw8yr7zeRjpu8g8cTf2H2+n89EtivLE93fs27Ez/Br2vM2+qWPl/ZyX9StFfQxW5v724PPxzXz7XHu4Pps5Jvtmiq13szmzfP0hlHkYHGn358bHeD0vYvsy+K+kz9vt/jy8gT40G1w4Rua0PN98nnaGf/e1G+mXIO2DY8P6Xz7WPz7Ky/7omJ0PBff4+B91fAqsAp8HXwI3gR04txbbdWDDWDpP/g7Yxs6BXWAP2AueJHo+M5bOpw+Cw+AIOApOgFMW7Xkdec6AkXH1+QfgyzbOTY73jy/C/gJ+/CCOP4D9xfz4I9h+TFMWtf9SRWzZwq7f0yi/L9voWSRbDfV/clx/3TuKfjoT26/iX813URx4tiVG3ay/sfFuJenb7J50A4mr1di/CZzLKZ6y2reunup4qzT+fM0wHp0PUD9+A7bYNJ5fn3eNP/Ft5bc0+S4n9/l1Gj+K82zesd1wfj3fZ79h2YyyVvLj7djfCR4xjJEyuy1+S/FyDt/MPwodn5hB8axrxy9nSBtYjOyHrs+BQ+B58E+u+wsWbWBtpb/hYL8RuA/pJ8fT2GffX+wl+daSa08jz9nxNG2k4963XBG/ZVhpUS573mh3BtPo7x/Eb7pE2yd5XvZssY/M/RZLc9SLeDsfD5gfTidi9//pwrzWu7t9lKcN7dxynthAh8vcKrQu1frHTGKBNF662KfoOXU1FsaFxe6x2kjClkBnGvXxwX0bytZ5unK+S9n2jxabTc5M0HUaIyTrfFa+Ljmflc9Xz7JtNdPa4eKz6WAPlb5l6xfLBzopWxcfncvSf7rHRJk2KSN2bKRsvcu2UZmxVIb9qd551e8rZcTERGuQ+qwIjERkjl2+djOlhWfpibnp/qxmP92FVr1/bc9GYxxuI5o3UzdukzYpj+H6nOxra9nHiaksjhDdsasPe9ca/CvOU1GVwUT4t8P921H4T8gsnkdIh+dn/pXrU0mnOZw21CbJv1P5LP0r4jtkbLH171BbCvavnFfeZ8L8K2wv/CuQRU6n/qWSNSbr2mO8xtK/U+Mq6Y/1yQyFJHHtv8Kn2uOC/Gvbf2VEPxJ9SvhY5d+Q+y21iRxLruOzsY6MWGrOkPHZ1b+jFuPzqEX/VcmoZkyIPT53k36/DZnrMd+K/Dbjs6kv6+6VYl9OU+WT07TplvMvWWhfVo3f4t48S+rbjIZl/1b5Xyd5vJdQiTyf7tUdMlbn0J9d/cn6c7M5DO1TNF0+bmT0Z3qdKaaoXeg1Lv7NEhufzyT/6vIKEeO1jX/psdi38a889qpkStcI/u12U3zE1Re+/Yv6QNwvdTDJGi9t2ps1XtKYDJ0PmcZKcU812sRxvms7J47mZ5c+SWJD5LPRg4qqj+nWL8Q5sRVrGar1EG0sOI6ndH3DVWL7wpeuwaY6O1Nh19N+Oqs5uI7Eto3aICxNrCn5rAuZ7Cn2bdJtfZPlL/k8Ld+ki6v9E56XPUvT52mV/YVvmMj2Zz8TEuNMTxfHuFfFUJ60OLrz1utODnFG47fLbSjXy0xSy4gN63EywlhMxWcNmK71svszi5OGTvdJe3rtd8ifB6I/mKBr1ap7uU/sqqTsMb+H5fxBFyuq+yqLnd7cmj33TwyOVVOwuj3nVXRtQtUGWR9jzI6kecZrKSKPuFakU2hZmXXZMDlsS1W9jBavv6eHpf3EtfJ7mKwYV0lX2g9FVY5N+Ung9aH1590+n3KLgEredfiez6u9svisY/Suk9Jsnkli1a+C1m/T7rzqd5UY9mfiXX9R92ibdZUIawTC96b1GBn6rDG1JsPv/b392SkiXVUGmyN0LO5LYi46Zf/Adc/QMaCo8TtG/bH1Z/TsW1QfUPRjm2cZee5PRaT33lEbnhlMax4qe1o/Y8a0icdaoOv9bsh+Hj6jonueoGtHumcMlX9lxLxXq7/D84fSzznGt6rtUerXxYU47/IcPeG3vqBbJ1StETZqg9fS2Akd/0Ovp+/CxD3P+/6bQwzJtsvyh5w+XjeXH9KfXGH3/VbSX4tS4XoftPZbnvcyxX1G5QvW1wbWTkbs7c3mTco6NWODbdxk3R9lGZo/aGxhiknTmETXLVs1c90u9+mBGCf6hs6fsmTq29sxPv8d82CuhCpNjGNjg31blGHrz1i41hd6nuYzbU3XhLQzj7Jt67Otw0uXUdDoH8e4F/joMdVui2dMJc3E+Tetvr6jEtPnPhJaVwz9Y7TDVlx1qnfitlEbtzlTVD0qX/pcm1esxI65PO3mU4eNrr5SZMz46FDE+aIlb5tntb1o/WOUETsW847pvNpaZH225eUpNnrS9yDy9wTysyr9XVOe63+qd3M6e4X6Ptd1Dpc1SdV53ZqFag1hpP+bE5f4ivY74BzXilzWWW1+S0TjJng91Gd9wmbNgpMVz6W8d7GJZwWtWp8p++c8fpjW0Vzff3dJfzGuoersEtnmpjVLupY48H6o7n8/C+kvJn+Lcd6q3QHx3usvZax3W8apvP6rev+UJSHfiCYe/h2aTwTaRi5DO28ZSd9zNhTfJ8b2je7drOo9HtNNbPMW03zOpq2qNqnKFN+0huhlMye2Pe9TdzfCedfxMlRfG7xjncaJ7fiXMYZk3X+ZvuKbXCGh8y8XH8TybajPTfq4tjG2/qb0RJO3SB19ba2SMuoNbW8R/g653qa9sdsRYsssu+ZxPss+tnayFd94yjofEi+hZdvo73q9jd3yisUYbfEpQ9XmMqUIm2fFZh4xkZeE1BNDL5v+ZcqXh/90bSwjflz8U0QcFWHzPOpy0amM+stqf1ad7LltVPqWmG3p3+GiIvLJf8duYA3NcBwbWRpkDXmo7RP+z5E6+8Xswz512dbrW2aMNrpKaBt9y45VR2j9efhAQL/PF38Xadq907NYC5dpZLy3kMX6PUHgeGGS3nfoPn9rObJ9s/4uMntnSt/J5TX+2ZRhtFcB8ZgVmyZbit8GCd/7/C7EOcYK7LdyjNhIlL81nqN/Xf9mOHt/anovP4X0tyem/OUZF9TmscY2nzEulq96ZeVwv2Bxxnwk3s9njT8m/YWOKl199fe53tTXyu5DLojfKWXej6R3RAPtDf1ex/PvtdJ8Q7aP7Ht6XpdXSJf8/wMdQuS/j0/HtKny9KbT+oT2K2ETuW7Tt09Uss5nCdWhjPuMTXzrztO4FHMy+V6TJaH9I6+2C5HPq9oc8xlKRva5rF8M/7tC26/6BsNFivQ//e1pVsyP19VrNrH1D5Wi7oUDdVp8Q5HVr1ztlzXPtH2Gc30+lMX3edH3ecm3fp0+Ps/IPvWH6OpiV7meEMlbzyIkpi1jtDU0Pmm6nMd0jU8bXK7N0jWkb/joHyNebfWgtrJpc0h7QiQP24aKqcwYPnTRIUmG63fRQ5VXLsekgy5NtVXVadLfpjzV9S6xYnuNri159ZmsmLCpJ8/6XSRGOaH659H+GLYtwhd51xvq31B9Qm0UavM84qhoKaNOnfwf","base64")),ts=new(v(d))(v(Ro));class es extends Ei{static planFeatures(t){var e;t.addStage(os),t.addStage(["locl","ccmp"]),t.addStage(fs),t.addStage("nukt"),t.addStage("akhn"),t.addStage("rphf",!1),t.addStage("rkrf"),t.addStage("pref",!1),t.addStage("blwf",!1),t.addStage("abvf",!1),t.addStage("half",!1),t.addStage("pstf",!1),t.addStage("vatu"),t.addStage("cjct"),t.addStage("cfar",!1),t.addStage(hs),t.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),t.unicodeScript=(e=t.script,oi[e]),t.indicConfig=Ko[t.unicodeScript]||Ko.Default,t.isOldSpec=t.indicConfig.hasOldSpec&&"2"!==t.script[t.script.length-1]}static assignFeatures(t,e){for(let r=e.length-1;r>=0;r--){let n=e[r].codePoints[0],i=Yo[n]||Qo[n];if(i){let n=i.map((n=>{let i=t.font.glyphForCodePoint(n);return new qi(t.font,i.id,[n],e[r].features)}));e.splice(r,1,...n)}}}}function rs(t){return $o.get(t.codePoints[0])>>8}function ns(t){return 1<<(255&$o.get(t.codePoints[0]))}s.defineProperty(es,"zeroMarkWidths","NONE");class is{constructor(t,e,r,n){this.category=t,this.position=e,this.syllableType=r,this.syllable=n}}function os(t,e){let r=0,n=0;for(let[t,i,o]of ts.match(e.map(rs))){if(t>n){++r;for(let i=n;i<t;i++)e[i].shaperInfo=new is(Do,Xo.End,"non_indic_cluster",r)}++r;for(let n=t;n<=i;n++)e[n].shaperInfo=new is(1<<rs(e[n]),ns(e[n]),o[0],r);n=i+1}if(n<e.length){++r;for(let t=n;t<e.length;t++)e[t].shaperInfo=new is(Do,Xo.End,"non_indic_cluster",r)}}function ss(t){return t.shaperInfo.category&qo}function as(t){return t.shaperInfo.category&Ho}function cs(t){return t.shaperInfo.category&Zo}function us(t,e){for(let r of t)r.features={[e]:!0};return t[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],t),1===t.length}function ls(t,e,r){let n=[r,e,r];return us(n.slice(0,2),"blwf")||us(n.slice(1,3),"blwf")?Xo.Below_C:us(n.slice(0,2),"pstf")||us(n.slice(1,3),"pstf")||us(n.slice(0,2),"pref")||us(n.slice(1,3),"pref")?Xo.Post_C:Xo.Base_C}function fs(t,e,r){let n=r.indicConfig,i=t._layoutEngine.engine.GSUBProcessor.features,o=t.glyphForCodePoint(9676).id,s=t.glyphForCodePoint(n.virama).id;if(s){let r=new qi(t,s,[n.virama]);for(let t=0;t<e.length;t++)e[t].shaperInfo.position===Xo.Base_C&&(e[t].shaperInfo.position=ls(0,e[t].copy(),r))}for(let s=0,a=ds(e,0);s<e.length;s=a,a=ds(e,s)){let{category:c,syllableType:u}=e[s].shaperInfo;if("symbol_cluster"===u||"non_indic_cluster"===u)continue;if("broken_cluster"===u&&o){let r=new qi(t,o,[9676]);r.shaperInfo=new is(1<<rs(r),ns(r),e[s].shaperInfo.syllableType,e[s].shaperInfo.syllable);let n=s;for(;n<a&&e[n].shaperInfo.category===Wo;)n++;e.splice(n++,0,r),a++}let l=a,f=s,h=!1;if(n.rephPos!==Xo.Ra_To_Become_Reph&&i.rphf&&s+3<=a&&("Implicit"===n.rephMode&&!as(e[s+2])||"Explicit"===n.rephMode&&e[s+2].shaperInfo.category===jo)){let t=[e[s].copy(),e[s+1].copy(),e[s+2].copy()];if(us(t.slice(0,2),"rphf")||"Explicit"===n.rephMode&&us(t,"rphf")){for(f+=2;f<a&&as(e[f]);)f++;l=s,h=!0}}else if("Log_Repha"===n.rephMode&&e[s].shaperInfo.category===Wo){for(f++;f<a&&as(e[f]);)f++;l=s,h=!0}switch(n.basePos){case"Last":{let t=a,r=!1;do{let n=e[--t].shaperInfo;if(ss(e[t])){if(n.position!==Xo.Below_C&&(n.position!==Xo.Post_C||r)){l=t;break}n.position===Xo.Below_C&&(r=!0),l=t}else if(s<t&&n.category===jo&&e[t-1].shaperInfo.category===No)break}while(t>f);break}case"First":l=s;for(let t=l+1;t<a;t++)ss(e[t])&&(e[t].shaperInfo.position=Xo.Below_C)}h&&l===s&&f-l<=2&&(h=!1);for(let t=s;t<l;t++){let r=e[t].shaperInfo;r.position=Math.min(Xo.Pre_C,r.position)}l<a&&(e[l].shaperInfo.position=Xo.Base_C);for(let t=l+1;t<a;t++)if(e[t].shaperInfo.category===zo){for(let r=t+1;r<a;r++)if(ss(e[r])){e[r].shaperInfo.position=Xo.Final_C;break}break}if(h&&(e[s].shaperInfo.position=Xo.Ra_To_Become_Reph),r.isOldSpec){let t="Malayalam"!==r.unicodeScript;for(let r=l+1;r<a;r++)if(e[r].shaperInfo.category===No){let n;for(n=a-1;n>r&&!(ss(e[n])||t&&e[n].shaperInfo.category===No);n--);if(e[n].shaperInfo.category!==No&&n>r){let t=e[r];e.splice(r,0,...e.splice(r+1,n-r)),e[n]=t}break}}let d=Xo.Start;for(let t=s;t<a;t++){let r=e[t].shaperInfo;if(r.category&(Ho|Fo|Uo|Vo|Zo&r.category)){if(r.position=d,r.category===No&&r.position===Xo.Pre_M)for(let n=t;n>s;n--)if(e[n-1].shaperInfo.position!==Xo.Pre_M){r.position=e[n-1].shaperInfo.position;break}}else r.position!==Xo.SMVD&&(d=r.position)}let p=l;for(let t=l+1;t<a;t++)if(ss(e[t])){for(let r=p+1;r<t;r++)e[r].shaperInfo.position<Xo.SMVD&&(e[r].shaperInfo.position=e[t].shaperInfo.position);p=t}else e[t].shaperInfo.category===zo&&(p=t);let g=e.slice(s,a);g.sort(((t,e)=>t.shaperInfo.position-e.shaperInfo.position)),e.splice(s,g.length,...g);for(let t=s;t<a;t++)if(e[t].shaperInfo.position===Xo.Base_C){l=t;break}for(let t=s;t<a&&e[t].shaperInfo.position===Xo.Ra_To_Become_Reph;t++)e[t].features.rphf=!0;let y=!r.isOldSpec&&"Pre_And_Post"===n.blwfMode;for(let t=s;t<l;t++)e[t].features.half=!0,y&&(e[t].features.blwf=!0);for(let t=l+1;t<a;t++)e[t].features.abvf=!0,e[t].features.pstf=!0,e[t].features.blwf=!0;if(r.isOldSpec&&"Devanagari"===r.unicodeScript)for(let t=s;t+1<l;t++)e[t].shaperInfo.category!==Go||e[t+1].shaperInfo.category!==No||t+1!==l&&e[t+2].shaperInfo.category!==jo||(e[t].features.blwf=!0,e[t+1].features.blwf=!0);let b=2;if(i.pref&&l+b<a)for(let t=l+1;t+b-1<a;t++){if(us([e[t].copy(),e[t+1].copy()],"pref")){for(let r=0;r<b;r++)e[t++].features.pref=!0;if(i.cfar)for(;t<a;t++)e[t].features.cfar=!0;break}}for(let t=s+1;t<a;t++)if(as(e[t])){let r=e[t].shaperInfo.category===Lo,n=t;do{n--,r&&delete e[n].features.half}while(n>s&&!ss(e[n]))}}}function hs(t,e,r){let n=r.indicConfig,i=t._layoutEngine.engine.GSUBProcessor.features;for(let t=0,o=ds(e,0);t<e.length;t=o,o=ds(e,t)){let s=!!i.pref,a=t;for(;a<o;a++)if(e[a].shaperInfo.position>=Xo.Base_C){if(s&&a+1<o)for(let t=a+1;t<o;t++)if(e[t].features.pref){if(!e[t].substituted||!e[t].isLigated||e[t].isMultiplied){for(a=t;a<o&&cs(e[a]);)a++;e[a].shaperInfo.position=Xo.BASE_C,s=!1}break}if("Malayalam"===r.unicodeScript)for(let t=a+1;t<o;t++){for(;t<o&&as(e[t]);)t++;if(t===o||!cs(e[t]))break;for(t++;t<o&&as(e[t]);)t++;t<o&&ss(e[t])&&e[t].shaperInfo.position===Xo.Below_C&&(a=t,e[a].shaperInfo.position=Xo.Base_C)}t<a&&e[a].shaperInfo.position>Xo.Base_C&&a--;break}if(a===o&&t<a&&e[a-1].shaperInfo.category===jo&&a--,a<o)for(;t<a&&e[a].shaperInfo.category&(Fo|Zo);)a--;if(t+1<o&&t<a){let n=a===o?a-2:a-1;if("Malayalam"!==r.unicodeScript&&"Tamil"!==r.unicodeScript){for(;n>t&&!(e[n].shaperInfo.category&(zo|Zo));)n--;cs(e[n])&&e[n].shaperInfo.position!==Xo.Pre_M?n+1<o&&as(e[n+1])&&n++:n=t}if(t<n&&e[n].shaperInfo.position!==Xo.Pre_M)for(let r=n;r>t;r--)if(e[r-1].shaperInfo.position===Xo.Pre_M){let t=r-1;t<a&&a<=n&&a--;let i=e[t];e.splice(t,0,...e.splice(t+1,n-t)),e[n]=i,n--}}if(t+1<o&&e[t].shaperInfo.position===Xo.Ra_To_Become_Reph&&e[t].shaperInfo.category===Wo!==(e[t].isLigated&&!e[t].isMultiplied)){let r,i=n.rephPos,s=!1;if(i!==Xo.After_Post){for(r=t+1;r<a&&!cs(e[r]);)r++;if(r<a&&cs(e[r])&&(r+1<a&&as(e[r+1])&&r++,s=!0),!s&&i===Xo.After_Main){for(r=a;r+1<o&&e[r+1].shaperInfo.position<=Xo.After_Main;)r++;s=r<o}if(!s&&i===Xo.After_Sub){for(r=a;r+1<o&&!(e[r+1].shaperInfo.position&(Xo.Post_C|Xo.After_Post|Xo.SMVD));)r++;s=r<o}}if(!s){for(r=t+1;r<a&&!cs(e[r]);)r++;r<a&&cs(e[r])&&(r+1<a&&as(e[r+1])&&r++,s=!0)}if(!s){for(r=o-1;r>t&&e[r].shaperInfo.position===Xo.SMVD;)r--;if(cs(e[r]))for(let t=a+1;t<r;t++)e[t].shaperInfo.category===zo&&r--}let c=e[t];e.splice(t,0,...e.splice(t+1,r-t)),e[r]=c,t<a&&a<=r&&a--}if(s&&a+1<o)for(let n=a+1;n<o;n++)if(e[n].features.pref){if(e[n].isLigated&&!e[n].isMultiplied){let i=a;if("Malayalam"!==r.unicodeScript&&"Tamil"!==r.unicodeScript){for(;i>t&&!(e[i-1].shaperInfo.category&(zo|Zo));)i--;if(i>t&&e[i-1].shaperInfo.category===zo){let t=n;for(let r=a+1;r<t;r++)if(e[r].shaperInfo.category===zo){i--;break}}}i>t&&cs(e[i-1])&&i<o&&as(e[i])&&i++;let s=n,c=e[s];e.splice(i+1,0,...e.splice(i,s-i)),e[i]=c,i<=a&&a<s&&a++}break}e[t].shaperInfo.position!==Xo.Pre_M||t&&/Cf|Mn/.test(v(f).getCategory(e[t-1].codePoints[0]))||(e[t].features.init=!0)}}function ds(t,e){if(e>=t.length)return e;let r=t[e].shaperInfo.syllable;for(;++e<t.length&&t[e].shaperInfo.syllable===r;);return e}var ps=a.Buffer;const{categories:gs,decompositions:ys}=v(Mo),bs=new(v(h))(ps.from("AAACAAAAAADQqQAAAVEMrvPtnH+oHUcVx+fd99799W5e8mx+9NkYm7YUI2KtimkVDG3FWgVTFY1Fqa2VJirYB0IaUFLBaKGJViXir6oxKCSBoi0UTKtg2yA26h+milYNtMH+0WK1VQyvtBS/487hnncyMzuzu7N7n7kHPszu7OzMmTNzdmdmfzzfUmpiUqkemAMbwSZwKbjcxM1XEL4VvB28G3zAk+56cLMlfgdYADvBbvBF8GWwH9xl+CFLfwj8BPwU/MKS38/AMfA86v9ro9ucQcdR+CjCP4CT4EnwDPg3eAFMTik1A+bAPNgINoFLwGawZSpLfzXCrWAb+AjYDm4BO8FusAfsA/vBXeAgOALuNfv3g4fAcXACPAaeAE+B58Bp8NJUpnN7WqlZsHY629+A8GLwWvAG8BZwJXinOf5ehB8EN4AdYGE6q7dmF9uugs8hvz0V58nZK/L+Kva/BX4ADoN7prP6HgUPgkfA73L0eQzHnwBPgX+Y80+DF8FUW6lBO4tbjXA9uAi8pj3sS2/E9mawBVwNtoJt5pzrTXgzwk+B7awP7sT+7nY6WxFfQBlfAl8H3wU/Anezcu/D9s/BMRN3HOEJ8EdwMkC/J5HmmXZmq2fBIjgEVEepbieLX4Fw0MnSrzRxmrVsm7MB8ReDV4vjr3ekJy7rZGVPMb196Xm6oug83oRyt4CrwDVgK9gGPtzxn3uTOD6YPDPNJ5Hm0+AznazffJ7Z4KSnXncg3VfAN8EBhx42/z/UGdbrx52sr9yH8AFTrt5+2GzfnWPbKuw7ZszZyNh/xowZM2bMmDFjxsQyZ5lPNs3h9nBNYHuAfr9ic9ffiHnsJzznU91/j3P+2snWYf6G8O/gn+A0eMnEt7vQp5ulX4NwHmwEm7rZ8UsRXg6uMPvXIHwPuK7rLl+nu9FzfMyYMWPGpGVuslmarv+YMWPSkNq/d2D8uNDNngvdivA2y3jy9m72bF9v3ymOf2MExp8fG2TsAcfA2wJYBJetWBq3i+0fwPafwLmzSl0LFmZNPMLHZ4fpnsX2AdjgcXB+T6kPge+AG7D/vXYW/tLsc9r9M+MkVyLNR1m6g9g+ZfYvmMExcHCm+ftP0+T5y/e17Uw/PYLwHnC0m80TH+zG30/3mjSDnPS2/B4pUJ4rX3n+b5H3o92l6UjfvZ7y/oJzToGnu8O66XTPYf8/Jr8XWL6TPXf9bPnHtmVs+89AnxVgDVgPLgKvAg+Y/F6H7c1gC7jKHH8XeJ/x15vAjt4wvwVs7wKfBXvAPvA18G1wsJevj36f5gjS3etIq+ft9+PYQ73h/nFsn2D7f+5l75bo/VPYftpTblFb2/Jo2pdjfL0uXOX/qxfnp8vZVk2Xv9hbmu+LxvYt3A/7/WZsPoptPkr9bdCv1ya+d4TuMO8Tre5n4XkILwSbzP4l/WHazX1//r2O/z7cFHnvSYW8R/Vm02ZXIHxHze1Xdf9bbn7p0z2kDroNr2X9WL+7937sX9fP+v9h9n6jTrfI3jG9EfsfN3G35PR/G4uRfY3eMTwdkFa/C3hrf2kcfy/xYTOmprrfZsLbEe7rDPW/U9Rrv9k/ahmTL0cWWxP/YxRkgtES+zwNhZPs+FQgMj/liEsto2HxsZBQX2pZoLZqWc5riXDaQBLSt1L3hcnE+Vct7aYVKCEhbXk2+b7NZ84mmXAwCiL14Ne85S62MYPcXi5StM/YxlJF2lfabznZsC6/C807xvZV+yFve9d1KY//d3HNO8pKUXuTDh0Gpp7B852q6QFMgdWM2dfbAxOuEPQEfcEsO5fquJLZrMfyCtWP0heZF6oSdiH9u4aQvJRIJ/eL6BBynItLp5D2JRkY5L5u3xAf6lviXHWSZcfaKO/+5zvO/c9Xtq8uRXSObd+8bS0zJrS1rxTyX7k/a0nrk5D+mHeOC90uq1Q216X57lykfqHt62uTGJ2rat+i/kttyq/RSi29PlclZf2Xxq55ZeSV34T96d5X5PqZJ9I3ZX2lnkXt3xL1Kyrav/LutbZ6uGxuS6ss6V3pXOXY4kP7EBfyJT7+4TJQS9uf74f6n+3+6ZIi9bCtieatFfCxUMx4KMYfy/pzrB30vm88q9SZ11K+n9eeNN612UFKWX8uI9TmRca7TbWvKy2JvF6naF+b/0uRupZp35cZikhZvyniY2R/CbdB3vXynIC6hbRBHf4l1xps6w4x/lVEtxRtGZMuRA8uNh/jfYV8kdpsBUszcODrD7E2JT2KrB3V6XMhbdNjcXItxzaOJWkpf976/I5glQn1sbLP86U9FQvz4l0S28/lcWUJbbrE2l+Z/TlHvi4/kvZXLMyrmy1PW7x8hl6UFgvlmNM1Jq3aJ3Se0yJcpdwS6mOp/ZgLX5N1rdFKaIzH9ztquMbqq+/qCFRk+hRoyZvrTHuO8fNd/djmEzZJ3TdisN1bNQNl7y96DV/3mVkTtwasVdk1ai6ybGlDek8nT1fXc4M5tVSPvhqOsWQeXQs8L1n3IradU8OxCeVjK7dr7Dpl0cMHnUvt18TzfVsfb/pZY56fV2GnVPVIYaOi9xcZJ8cmKcu3wcuPsVHV5cdKFfZXNZefp5sWft+wzR1cczKCxh99NRx76HvwOpWNv6YZtAajt6WPyPswtVVs/VOJ7xpYx3VR31er7gMxNuV9Q443CDlW43KuYSXblsybfKYt58trfez7A1X7Tdm+V7TcoudL+LpVGf2khN63U5OyD5Af0NoUv06l7Jc0Rte+so4xL9Ayy3Rz+SufY5Jf267xcm7J4dd3kumIOrmk7Pl549bUY1puI91Gdb8Tpu+9tjmhXFdwtfVsTv5SQvXKW0cK4eXgPBO6iJ07NNVOHH7/tF1jyJdnWbrU/Uau3VNI156QZ2ZaZFu76i6vQXy9YJ2H9QZ97aF3p1xlx1yfuYRcd0Kl7NyaX190+pUOKI0tvus5j7/nSWKLo3FER8R3LHEx8gqwge1POgi1l1yfirV3zHpISHxs3vLeFXOellcG1DFGbGP00PPkeKEOaXIsqhzbruOh9Qk5L08nW2grJ0avsvWocv0zRh/fGCG0TV35hB4v0rds5Vddjm/sFCKx+aXSt2yalPZsolxXW46CDnXp0YQ0rdso9OUYPSYT6+yzuxxzlrVfFfavQ/LKqsP+dbVzE/0qRb8pKin6V9U6Fnn24pqHufLMWy90nV+0DkXmcrb0Uq+6pU7/qcs/67SHTeTaaBk9ipyXQvLqW1U7uPKpux/ESlP9umydR8H3UjzHoXxj0/J1Yr5ubHsPrWOJqxK+hk5r+EVtH3pe1XWIXa+1vQ9YJ/oZre1bGReh3xKWeX7BxfYstwh5errGJi59be8482cSsfUPQT4Xlc9K+XMmatcY0fo2+SxYQs/4XO8M03Ng/TxujYH+FRELSdH+6mtveu8itb1Cy7C9X8GfsVOcfN86RHg56wJ0ob5qOz/E/rIdq7YhF34/0cfoeWKVftJjIbWDbDfXeXR/prBOKWJ/3dd43+sr+32TvgEIEZ6/7Zt5/l7ghMm77u+ey4gcz5xfktA5vE9C5vy2Y3lpXeX40tHcLMX42qZHS/ltZluXiSlDxillt3VdIvufbc0j75wy5aWaOxWRUZmfl5nDSh3LzoWbXJOg8uumKkndp1PnH2IPfe+U33z7vjWhdPQuWMh4raqxWMh9X89RZtSZ7/JpyXs3NWQcETN3CZHU/lmVnstZB1+ZfM5A/1VJ2V9t8wTXN1S+f27mzaulbCxJHePwC1Tz/0K1/VdPvtOsba+vL7ZxM1/jakJ/V9/yfdtNx+i7bhVRRll/rrK+sk3qLt/3T0afH+tzz1HDfxzZ/HlGDduK1y/GL21zvKptQGWFSpVlFm0z+ZxD/vdAt9EqQ971NkRHW7qytog53+cfVfeFGLStfddfYka5x6dl+yi//4z6/559aUn4/+/k2pv8BqfM/0qVCnu+If2OJPRZUcyzJF/5RQm5xtM9ln+LRN+8U9+iMQS1Veg9q2z/TlV3Ett3/rLOIXOookidy/5X3GYD+S8a1z2e0vH695T9vhEqdbY//0dU3jWZ2rYq/cvCRT8r08/NLlT5/zySdSurv1ybLiup5tAp5+NNzfPJ5r61warapajItfTQNeK610/rWEMPyb+uOo/ierRNbGU01Z+rqneIPWNsT9t1rD+OYr8rm0eKvp/Ch1P4Yepyy+hWVD/f+VWXX5X+TZdfZZ+KLb9J+S8=","base64")),vs=new(v(d))(v(Mo));class ms extends Ei{static planFeatures(t){t.addStage(xs),t.addStage(["locl","ccmp","nukt","akhn"]),t.addStage(_s),t.addStage(["rphf"],!1),t.addStage(As),t.addStage(_s),t.addStage(["pref"]),t.addStage(Cs),t.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),t.addStage(ks),t.addStage(["abvs","blws","pres","psts","dist","abvm","blwm"])}static assignFeatures(t,e){for(let r=e.length-1;r>=0;r--){let n=e[r].codePoints[0];if(ys[n]){let i=ys[n].map((n=>{let i=t.font.glyphForCodePoint(n);return new qi(t.font,i.id,[n],e[r].features)}));e.splice(r,1,...i)}}}}function ws(t){return bs.get(t.codePoints[0])}s.defineProperty(ms,"zeroMarkWidths","BEFORE_GPOS");class Ss{constructor(t,e,r){this.category=t,this.syllableType=e,this.syllable=r}}function xs(t,e){let r=0;for(let[t,n,i]of vs.match(e.map(ws))){++r;for(let o=t;o<=n;o++)e[o].shaperInfo=new Ss(gs[ws(e[o])],i[0],r);let o="R"===e[t].shaperInfo.category?1:Math.min(3,n-t);for(let r=t;r<t+o;r++)e[r].features.rphf=!0}}function _s(t,e){for(let t of e)t.substituted=!1}function As(t,e){for(let t of e)t.substituted&&t.features.rphf&&(t.shaperInfo.category="R")}function Cs(t,e){for(let t of e)t.substituted&&(t.shaperInfo.category="VPre")}function ks(t,e){let r=t.glyphForCodePoint(9676).id;for(let n=0,i=Es(e,0);n<e.length;n=i,i=Es(e,n)){let o,s,a=e[n].shaperInfo,c=a.syllableType;if("virama_terminated_cluster"===c||"standard_cluster"===c||"broken_cluster"===c){if("broken_cluster"===c&&r){let s=new qi(t,r,[9676]);for(s.shaperInfo=a,o=n;o<i&&"R"===e[o].shaperInfo.category;o++);e.splice(++o,0,s),i++}if("R"===a.category&&i-n>1)for(o=n+1;o<i;o++)if(a=e[o].shaperInfo,Os(a)||Ps(e[o])){Ps(e[o])&&o--,e.splice(n,0,...e.splice(n+1,o-n),e[o]);break}for(o=n,s=i;o<i;o++)a=e[o].shaperInfo,Os(a)||Ps(e[o])?s=Ps(e[o])?o+1:o:("VPre"===a.category||"VMPre"===a.category)&&s<o&&e.splice(s,1,e[o],...e.splice(s,o-s))}}}function Es(t,e){if(e>=t.length)return e;let r=t[e].shaperInfo.syllable;for(;++e<t.length&&t[e].shaperInfo.syllable===r;);return e}function Ps(t){return"H"===t.shaperInfo.category&&!t.isLigated}function Os(t){return"B"===t.category||"GB"===t.category}const Bs={arab:Ui,mong:Ui,syrc:Ui,"nko ":Ui,phag:Ui,mand:Ui,mani:Ui,phlp:Ui,hang:Hi,bng2:es,beng:es,dev2:es,deva:es,gjr2:es,gujr:es,guru:es,gur2:es,knda:es,knd2:es,mlm2:es,mlym:es,ory2:es,orya:es,taml:es,tml2:es,telu:es,tel2:es,khmr:es,bali:ms,batk:ms,brah:ms,bugi:ms,buhd:ms,cakm:ms,cham:ms,dupl:ms,egyp:ms,gran:ms,hano:ms,java:ms,kthi:ms,kali:ms,khar:ms,khoj:ms,sind:ms,lepc:ms,limb:ms,mahj:ms,mtei:ms,modi:ms,hmng:ms,rjng:ms,saur:ms,shrd:ms,sidd:ms,sinh:es,sund:ms,sylo:ms,tglg:ms,tagb:ms,tale:ms,lana:ms,tavt:ms,takr:ms,tibt:ms,tfng:ms,tirh:ms,latn:Ei,DFLT:Ei};class Is extends Xi{applyLookup(t,e){switch(t){case 1:{let t=this.coverageIndex(e.coverage);if(-1===t)return!1;let r=this.glyphIterator.cur;switch(e.version){case 1:r.id=r.id+e.deltaGlyphID&65535;break;case 2:r.id=e.substitute.get(t)}return!0}case 2:{let t=this.coverageIndex(e.coverage);if(-1!==t){let r=e.sequences.get(t);if(0===r.length)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=r[0],this.glyphIterator.cur.ligatureComponent=0;let n=this.glyphIterator.cur.features,i=this.glyphIterator.cur,o=r.slice(1).map(((t,e)=>{let r=new qi(this.font,t,void 0,n);return r.shaperInfo=i.shaperInfo,r.isLigated=i.isLigated,r.ligatureComponent=e+1,r.substituted=!0,r.isMultiplied=!0,r}));return this.glyphs.splice(this.glyphIterator.index+1,0,...o),!0}return!1}case 3:{let t=this.coverageIndex(e.coverage);if(-1!==t){let r=0;return this.glyphIterator.cur.id=e.alternateSet.get(t)[r],!0}return!1}case 4:{let t=this.coverageIndex(e.coverage);if(-1===t)return!1;for(let n of e.ligatureSets.get(t)){let t=this.sequenceMatchIndices(1,n.components);if(!t)continue;let e=this.glyphIterator.cur,i=e.codePoints.slice();for(let e of t)i.push(...this.glyphs[e].codePoints);let o=new qi(this.font,n.glyph,i,e.features);o.shaperInfo=e.shaperInfo,o.isLigated=!0,o.substituted=!0;let s=e.isMark;for(let e=0;e<t.length&&s;e++)s=this.glyphs[t[e]].isMark;o.ligatureID=s?null:this.ligatureID++;let a=e.ligatureID,c=e.codePoints.length,u=c,l=this.glyphIterator.index+1;for(let e of t){if(s)l=e;else for(;l<e;){var r=u-c+Math.min(this.glyphs[l].ligatureComponent||1,c);this.glyphs[l].ligatureID=o.ligatureID,this.glyphs[l].ligatureComponent=r,l++}a=this.glyphs[l].ligatureID,c=this.glyphs[l].codePoints.length,u+=c,l++}if(a&&!s)for(let t=l;t<this.glyphs.length&&this.glyphs[t].ligatureID===a;t++){r=u-c+Math.min(this.glyphs[t].ligatureComponent||1,c);this.glyphs[t].ligatureComponent=r}for(let e=t.length-1;e>=0;e--)this.glyphs.splice(t[e],1);return this.glyphs[this.glyphIterator.index]=o,!0}return!1}case 5:return this.applyContext(e);case 6:return this.applyChainingContext(e);case 7:return this.applyLookup(e.lookupType,e.extension);default:throw new Error(`GSUB lookupType ${t} is not supported`)}}}class Ts extends Xi{applyPositionValue(t,e){let r=this.positions[this.glyphIterator.peekIndex(t)];null!=e.xAdvance&&(r.xAdvance+=e.xAdvance),null!=e.yAdvance&&(r.yAdvance+=e.yAdvance),null!=e.xPlacement&&(r.xOffset+=e.xPlacement),null!=e.yPlacement&&(r.yOffset+=e.yPlacement);let n=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;n&&i&&(e.xPlaDevice&&(r.xOffset+=n.getDelta(i,e.xPlaDevice.a,e.xPlaDevice.b)),e.yPlaDevice&&(r.yOffset+=n.getDelta(i,e.yPlaDevice.a,e.yPlaDevice.b)),e.xAdvDevice&&(r.xAdvance+=n.getDelta(i,e.xAdvDevice.a,e.xAdvDevice.b)),e.yAdvDevice&&(r.yAdvance+=n.getDelta(i,e.yAdvDevice.a,e.yAdvDevice.b)))}applyLookup(t,e){switch(t){case 1:{let t=this.coverageIndex(e.coverage);if(-1===t)return!1;switch(e.version){case 1:this.applyPositionValue(0,e.value);break;case 2:this.applyPositionValue(0,e.values.get(t))}return!0}case 2:{let t=this.glyphIterator.peek();if(!t)return!1;let n=this.coverageIndex(e.coverage);if(-1===n)return!1;switch(e.version){case 1:let i=e.pairSets.get(n);for(let e of i)if(e.secondGlyph===t.id)return this.applyPositionValue(0,e.value1),this.applyPositionValue(1,e.value2),!0;return!1;case 2:let o=this.getClassID(this.glyphIterator.cur.id,e.classDef1),s=this.getClassID(t.id,e.classDef2);if(-1===o||-1===s)return!1;var r=e.classRecords.get(o).get(s);return this.applyPositionValue(0,r.value1),this.applyPositionValue(1,r.value2),!0}}case 3:{let t=this.glyphIterator.peekIndex(),r=this.glyphs[t];if(!r)return!1;let n=e.entryExitRecords[this.coverageIndex(e.coverage)];if(!n||!n.exitAnchor)return!1;let i=e.entryExitRecords[this.coverageIndex(e.coverage,r.id)];if(!i||!i.entryAnchor)return!1;let o,s=this.getAnchor(i.entryAnchor),a=this.getAnchor(n.exitAnchor),c=this.positions[this.glyphIterator.index],u=this.positions[t];switch(this.direction){case"ltr":c.xAdvance=a.x+c.xOffset,o=s.x+u.xOffset,u.xAdvance-=o,u.xOffset-=o;break;case"rtl":o=a.x+c.xOffset,c.xAdvance-=o,c.xOffset-=o,u.xAdvance=s.x+u.xOffset}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=t,c.yOffset=s.y-a.y):(r.cursiveAttachment=this.glyphIterator.index,c.yOffset=a.y-s.y),!0}case 4:{let t=this.coverageIndex(e.markCoverage);if(-1===t)return!1;let r=this.glyphIterator.index;for(;--r>=0&&(this.glyphs[r].isMark||this.glyphs[r].ligatureComponent>0););if(r<0)return!1;let n=this.coverageIndex(e.baseCoverage,this.glyphs[r].id);if(-1===n)return!1;let i=e.markArray[t],o=e.baseArray[n][i.class];return this.applyAnchor(i,o,r),!0}case 5:{let t=this.coverageIndex(e.markCoverage);if(-1===t)return!1;let r=this.glyphIterator.index;for(;--r>=0&&this.glyphs[r].isMark;);if(r<0)return!1;let n=this.coverageIndex(e.ligatureCoverage,this.glyphs[r].id);if(-1===n)return!1;let i=e.ligatureArray[n],o=this.glyphIterator.cur,s=this.glyphs[r],a=s.ligatureID&&s.ligatureID===o.ligatureID&&o.ligatureComponent>0?Math.min(o.ligatureComponent,s.codePoints.length)-1:s.codePoints.length-1,c=e.markArray[t],u=i[a][c.class];return this.applyAnchor(c,u,r),!0}case 6:{let t=this.coverageIndex(e.mark1Coverage);if(-1===t)return!1;let r=this.glyphIterator.peekIndex(-1),n=this.glyphs[r];if(!n||!n.isMark)return!1;let i=this.glyphIterator.cur,o=!1;if(i.ligatureID===n.ligatureID?i.ligatureID?i.ligatureComponent===n.ligatureComponent&&(o=!0):o=!0:(i.ligatureID&&!i.ligatureComponent||n.ligatureID&&!n.ligatureComponent)&&(o=!0),!o)return!1;let s=this.coverageIndex(e.mark2Coverage,n.id);if(-1===s)return!1;let a=e.mark1Array[t],c=e.mark2Array[s][a.class];return this.applyAnchor(a,c,r),!0}case 7:return this.applyContext(e);case 8:return this.applyChainingContext(e);case 9:return this.applyLookup(e.lookupType,e.extension);default:throw new Error(`Unsupported GPOS table: ${t}`)}}applyAnchor(t,e,r){let n=this.getAnchor(e),i=this.getAnchor(t.markAnchor),o=(this.positions[r],this.positions[this.glyphIterator.index]);o.xOffset=n.x-i.x,o.yOffset=n.y-i.y,this.glyphIterator.cur.markAttachment=r}getAnchor(t){let e=t.xCoordinate,r=t.yCoordinate,n=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;return n&&i&&(t.xDeviceTable&&(e+=n.getDelta(i,t.xDeviceTable.a,t.xDeviceTable.b)),t.yDeviceTable&&(r+=n.getDelta(i,t.yDeviceTable.a,t.yDeviceTable.b))),{x:e,y:r}}applyFeatures(t,e,r){super.applyFeatures(t,e,r);for(var n=0;n<this.glyphs.length;n++)this.fixCursiveAttachment(n);this.fixMarkAttachment()}fixCursiveAttachment(t){let e=this.glyphs[t];if(null!=e.cursiveAttachment){let r=e.cursiveAttachment;e.cursiveAttachment=null,this.fixCursiveAttachment(r),this.positions[t].yOffset+=this.positions[r].yOffset}}fixMarkAttachment(){for(let t=0;t<this.glyphs.length;t++){let e=this.glyphs[t];if(null!=e.markAttachment){let r=e.markAttachment;if(this.positions[t].xOffset+=this.positions[r].xOffset,this.positions[t].yOffset+=this.positions[r].yOffset,"ltr"===this.direction)for(let e=r;e<t;e++)this.positions[t].xOffset-=this.positions[e].xAdvance,this.positions[t].yOffset-=this.positions[e].yAdvance;else for(let e=r+1;e<t+1;e++)this.positions[t].xOffset+=this.positions[e].xAdvance,this.positions[t].yOffset+=this.positions[e].yAdvance}}}}class Rs{setup(t){this.glyphInfos=t.glyphs.map((t=>new qi(this.font,t.id,[...t.codePoints])));let e=null;this.GPOSProcessor&&(e=this.GPOSProcessor.selectScript(t.script,t.language,t.direction)),this.GSUBProcessor&&(e=this.GSUBProcessor.selectScript(t.script,t.language,t.direction)),this.shaper=function(t){Array.isArray(t)||(t=[t]);for(let e of t){let t=Bs[e];if(t)return t}return Ei}(e),this.plan=new Si(this.font,e,t.direction),this.shaper.plan(this.plan,this.glyphInfos,t.features);for(let e in this.plan.allFeatures)t.features[e]=!0}substitute(t){this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),t.glyphs=this.glyphInfos.map((t=>this.font.getGlyph(t.id,t.codePoints))))}position(t){return"BEFORE_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(t.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,t.positions),"AFTER_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(t.positions),"rtl"===t.direction&&(t.glyphs.reverse(),t.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features}zeroMarkAdvances(t){for(let e=0;e<this.glyphInfos.length;e++)this.glyphInfos[e].isMark&&(t[e].xAdvance=0,t[e].yAdvance=0)}cleanup(){this.glyphInfos=null,this.plan=null,this.shaper=null}getAvailableFeatures(t,e){let r=[];return this.GSUBProcessor&&(this.GSUBProcessor.selectScript(t,e),r.push(...Object.keys(this.GSUBProcessor.features))),this.GPOSProcessor&&(this.GPOSProcessor.selectScript(t,e),r.push(...Object.keys(this.GPOSProcessor.features))),r}constructor(t){this.font=t,this.glyphInfos=null,this.plan=null,this.GSUBProcessor=null,this.GPOSProcessor=null,this.fallbackPosition=!0,t.GSUB&&(this.GSUBProcessor=new Is(t,t.GSUB)),t.GPOS&&(this.GPOSProcessor=new Ts(t,t.GPOS))}}class Ms{layout(t,e,r,n,i){if("string"==typeof e&&(i=n,n=r,r=e,e=[]),"string"==typeof t){null==r&&(r=function(t){let e=t.length,r=0;for(;r<e;){let n=t.charCodeAt(r++);if(55296<=n&&n<=56319&&r<e){let e=t.charCodeAt(r);56320<=e&&e<=57343&&(r++,n=((1023&n)<<10)+(1023&e)+65536)}let i=v(f).getScript(n);if("Common"!==i&&"Inherited"!==i&&"Unknown"!==i)return ii[i]}return ii.Unknown}(t));var o=this.font.glyphsForString(t)}else{if(null==r){let e=[];for(let r of t)e.push(...r.codePoints);r=function(t){for(let e=0;e<t.length;e++){let r=t[e],n=v(f).getScript(r);if("Common"!==n&&"Inherited"!==n&&"Unknown"!==n)return ii[n]}return ii.Unknown}(e)}o=t}let s=new ci(o,e,r,n,i);return 0===o.length?(s.positions=[],s):(this.engine&&this.engine.setup&&this.engine.setup(s),this.substitute(s),this.position(s),this.hideDefaultIgnorables(s.glyphs,s.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),s)}substitute(t){this.engine&&this.engine.substitute&&this.engine.substitute(t)}position(t){t.positions=t.glyphs.map((t=>new ui(t.advanceWidth)));let e=null;this.engine&&this.engine.position&&(e=this.engine.position(t)),e||this.engine&&!this.engine.fallbackPosition||(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new ri(this.font)),this.unicodeLayoutEngine.positionGlyphs(t.glyphs,t.positions)),e&&e.kern||!1===t.features.kern||!this.font.kern||(this.kernProcessor||(this.kernProcessor=new ei(this.font)),this.kernProcessor.process(t.glyphs,t.positions),t.features.kern=!0)}hideDefaultIgnorables(t,e){let r=this.font.glyphForCodePoint(32);for(let n=0;n<t.length;n++)this.isDefaultIgnorable(t[n].codePoints[0])&&(t[n]=r,e[n].xAdvance=0,e[n].yAdvance=0)}isDefaultIgnorable(t){let e=t>>16;if(0===e)switch(t>>8){case 0:return 173===t;case 3:return 847===t;case 6:return 1564===t;case 23:return 6068<=t&&t<=6069;case 24:return 6155<=t&&t<=6158;case 32:return 8203<=t&&t<=8207||8234<=t&&t<=8238||8288<=t&&t<=8303;case 254:return 65024<=t&&t<=65039||65279===t;case 255:return 65520<=t&&t<=65528;default:return!1}else switch(e){case 1:return 113824<=t&&t<=113827||119155<=t&&t<=119162;case 14:return 917504<=t&&t<=921599;default:return!1}}getAvailableFeatures(t,e){let r=[];return this.engine&&r.push(...this.engine.getAvailableFeatures(t,e)),this.font.kern&&-1===r.indexOf("kern")&&r.push("kern"),r}stringsForGlyph(t){let e=new Set,r=this.font._cmapProcessor.codePointsForGlyph(t);for(let t of r)e.add(String.fromCodePoint(t));if(this.engine&&this.engine.stringsForGlyph)for(let r of this.engine.stringsForGlyph(t))e.add(r);return Array.from(e)}constructor(t){this.font=t,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new wi(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new Rs(this.font))}}const Ds={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"};class Fs{toFunction(){return t=>{this.commands.forEach((e=>t[e.command].apply(t,e.args)))}}toSVG(){return this.commands.map((t=>{let e=t.args.map((t=>Math.round(100*t)/100));return`${Ds[t.command]}${e.join(" ")}`})).join("")}get cbox(){if(!this._cbox){let t=new ni;for(let e of this.commands)for(let r=0;r<e.args.length;r+=2)t.addPoint(e.args[r],e.args[r+1]);this._cbox=Object.freeze(t)}return this._cbox}get bbox(){if(this._bbox)return this._bbox;let t=new ni,e=0,r=0,n=t=>Math.pow(1-t,3)*h[y]+3*Math.pow(1-t,2)*t*d[y]+3*(1-t)*Math.pow(t,2)*p[y]+Math.pow(t,3)*g[y];for(let b of this.commands)switch(b.command){case"moveTo":case"lineTo":let[v,m]=b.args;t.addPoint(v,m),e=v,r=m;break;case"quadraticCurveTo":case"bezierCurveTo":if("quadraticCurveTo"===b.command)var[i,o,s,a]=b.args,c=e+2/3*(i-e),u=r+2/3*(o-r),l=s+2/3*(i-s),f=a+2/3*(o-a);else var[c,u,l,f,s,a]=b.args;t.addPoint(s,a);for(var h=[e,r],d=[c,u],p=[l,f],g=[s,a],y=0;y<=1;y++){let e=6*h[y]-12*d[y]+6*p[y],r=-3*h[y]+9*d[y]-9*p[y]+3*g[y];if(b=3*d[y]-3*h[y],0===r){if(0===e)continue;let r=-b/e;0<r&&r<1&&(0===y?t.addPoint(n(r),t.maxY):1===y&&t.addPoint(t.maxX,n(r)));continue}let i=Math.pow(e,2)-4*b*r;if(i<0)continue;let o=(-e+Math.sqrt(i))/(2*r);0<o&&o<1&&(0===y?t.addPoint(n(o),t.maxY):1===y&&t.addPoint(t.maxX,n(o)));let s=(-e-Math.sqrt(i))/(2*r);0<s&&s<1&&(0===y?t.addPoint(n(s),t.maxY):1===y&&t.addPoint(t.maxX,n(s)))}e=s,r=a}return this._bbox=Object.freeze(t)}mapPoints(t){let e=new Fs;for(let r of this.commands){let n=[];for(let e=0;e<r.args.length;e+=2){let[i,o]=t(r.args[e],r.args[e+1]);n.push(i,o)}e[r.command](...n)}return e}transform(t,e,r,n,i,o){return this.mapPoints(((s,a)=>[t*s+r*a+i,e*s+n*a+o]))}translate(t,e){return this.transform(1,0,0,1,t,e)}rotate(t){let e=Math.cos(t),r=Math.sin(t);return this.transform(e,r,-r,e,0,0)}scale(t,e=t){return this.transform(t,0,0,e,0,0)}constructor(){this.commands=[],this._bbox=null,this._cbox=null}}for(let t of["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"])Fs.prototype[t]=function(...e){return this._bbox=this._cbox=null,this.commands.push({command:t,args:e}),this};var Ns=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];let Ls=(ra=class{_getPath(){return new Fs}_getCBox(){return this.path.cbox}_getBBox(){return this.path.bbox}_getTableMetrics(t){if(this.id<t.metrics.length)return t.metrics.get(this.id);let e=t.metrics.get(t.metrics.length-1);return{advance:e?e.advance:0,bearing:t.bearings.get(this.id-t.metrics.length)||0}}_getMetrics(t){if(this._metrics)return this._metrics;let{advance:e,bearing:r}=this._getTableMetrics(this._font.hmtx);if(this._font.vmtx)var{advance:n,bearing:i}=this._getTableMetrics(this._font.vmtx);else{let e;if(null==t&&({cbox:t}=this),(e=this._font["OS/2"])&&e.version>0)n=Math.abs(e.typoAscender-e.typoDescender),i=e.typoAscender-t.maxY;else{let{hhea:e}=this._font;var n=Math.abs(e.ascent-e.descent),i=e.ascent-t.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(e+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:e,advanceHeight:n,leftBearing:r,topBearing:i}}get cbox(){return this._getCBox()}get bbox(){return this._getBBox()}get path(){return this._getPath()}getScaledPath(t){let e=1/this._font.unitsPerEm*t;return this.path.scale(e)}get advanceWidth(){return this._getMetrics().advanceWidth}get advanceHeight(){return this._getMetrics().advanceHeight}get ligatureCaretPositions(){}_getName(){let{post:t}=this._font;if(!t)return null;switch(t.version){case 1:return Ns[this.id];case 2:let e=t.glyphNameIndex[this.id];return e<Ns.length?Ns[e]:t.names[e-Ns.length];case 2.5:return Ns[this.id+t.offsets[this.id]];case 4:return String.fromCharCode(t.map[this.id])}}get name(){return this._getName()}render(t,e){t.save();let r=1/this._font.head.unitsPerEm*e;t.scale(r,r),this.path.toFunction()(t),t.fill(),t.restore()}constructor(t,e,r){this.id=t,this.codePoints=e,this._font=r,this.isMark=this.codePoints.length>0&&this.codePoints.every(v(f).isMark),this.isLigature=this.codePoints.length>1}},s.applyDecoratedDescriptor(ra.prototype,"cbox",[P],Object.getOwnPropertyDescriptor(ra.prototype,"cbox"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"bbox",[P],Object.getOwnPropertyDescriptor(ra.prototype,"bbox"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"path",[P],Object.getOwnPropertyDescriptor(ra.prototype,"path"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"advanceWidth",[P],Object.getOwnPropertyDescriptor(ra.prototype,"advanceWidth"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"advanceHeight",[P],Object.getOwnPropertyDescriptor(ra.prototype,"advanceHeight"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"name",[P],Object.getOwnPropertyDescriptor(ra.prototype,"name"),ra.prototype),ra),js=new(v(i).Struct)({numberOfContours:v(i).int16,xMin:v(i).int16,yMin:v(i).int16,xMax:v(i).int16,yMax:v(i).int16});class zs{copy(){return new zs(this.onCurve,this.endContour,this.x,this.y)}constructor(t,e,r=0,n=0){this.onCurve=t,this.endContour=e,this.x=r,this.y=n}}class Us{constructor(t,e,r){this.glyphID=t,this.dx=e,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0}}class Ws extends Ls{_getCBox(t){if(this._font._variationProcessor&&!t)return this.path.cbox;let e=this._font._getTableStream("glyf");e.pos+=this._font.loca.offsets[this.id];let r=js.decode(e),n=new ni(r.xMin,r.yMin,r.xMax,r.yMax);return Object.freeze(n)}_parseGlyphCoord(t,e,r,n){if(r){var i=t.readUInt8();n||(i=-i),i+=e}else if(n)i=e;else i=e+t.readInt16BE();return i}_decode(){let t=this._font.loca.offsets[this.id];if(t===this._font.loca.offsets[this.id+1])return null;let e=this._font._getTableStream("glyf");e.pos+=t;let r=e.pos,n=js.decode(e);return n.numberOfContours>0?this._decodeSimple(n,e):n.numberOfContours<0&&this._decodeComposite(n,e,r),n}_decodeSimple(t,e){t.points=[];let r=new(v(i).Array)(v(i).uint16,t.numberOfContours).decode(e);t.instructions=new(v(i).Array)(v(i).uint8,v(i).uint16).decode(e);let n=[],o=r[r.length-1]+1;for(;n.length<o;){var s=e.readUInt8();if(n.push(s),8&s){let t=e.readUInt8();for(let e=0;e<t;e++)n.push(s)}}for(var a=0;a<n.length;a++){s=n[a];let e=new zs(!!(1&s),r.indexOf(a)>=0,0,0);t.points.push(e)}let c=0;for(a=0;a<n.length;a++){s=n[a];t.points[a].x=c=this._parseGlyphCoord(e,c,2&s,16&s)}let u=0;for(a=0;a<n.length;a++){s=n[a];t.points[a].y=u=this._parseGlyphCoord(e,u,4&s,32&s)}if(this._font._variationProcessor){let e=t.points.slice();e.push(...this._getPhantomPoints(t)),this._font._variationProcessor.transformPoints(this.id,e),t.phantomPoints=e.slice(-4)}}_decodeComposite(t,e,r=0){t.components=[];let n=!1,i=32;for(;32&i;){i=e.readUInt16BE();let c=e.pos-r,u=e.readUInt16BE();if(n||(n=0!=(256&i)),1&i)var o=e.readInt16BE(),s=e.readInt16BE();else o=e.readInt8(),s=e.readInt8();(a=new Us(u,o,s)).pos=c,8&i?a.scaleX=a.scaleY=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824:64&i?(a.scaleX=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,a.scaleY=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824):128&i&&(a.scaleX=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,a.scale01=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,a.scale10=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,a.scaleY=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824),t.components.push(a)}if(this._font._variationProcessor){let e=[];for(let r=0;r<t.components.length;r++){var a=t.components[r];e.push(new zs(!0,!0,a.dx,a.dy))}e.push(...this._getPhantomPoints(t)),this._font._variationProcessor.transformPoints(this.id,e),t.phantomPoints=e.splice(-4,4);for(let r=0;r<e.length;r++){let n=e[r];t.components[r].dx=n.x,t.components[r].dy=n.y}}return n}_getPhantomPoints(t){let e=this._getCBox(!0);null==this._metrics&&(this._metrics=Ls.prototype._getMetrics.call(this,e));let{advanceWidth:r,advanceHeight:n,leftBearing:i,topBearing:o}=this._metrics;return[new zs(!1,!0,t.xMin-i,0),new zs(!1,!0,t.xMin-i+r,0),new zs(!1,!0,0,t.yMax+o),new zs(!1,!0,0,t.yMax+o+n)]}_getContours(){let t=this._decode();if(!t)return[];let e=[];if(t.numberOfContours<0)for(let r of t.components){let t=this._font.getGlyph(r.glyphID)._getContours();for(let n=0;n<t.length;n++){let i=t[n];for(let t=0;t<i.length;t++){let n=i[t],o=n.x*r.scaleX+n.y*r.scale01+r.dx,s=n.y*r.scaleY+n.x*r.scale10+r.dy;e.push(new zs(n.onCurve,n.endContour,o,s))}}}else e=t.points||[];t.phantomPoints&&!this._font.directory.tables.HVAR&&(this._metrics.advanceWidth=t.phantomPoints[1].x-t.phantomPoints[0].x,this._metrics.advanceHeight=t.phantomPoints[3].y-t.phantomPoints[2].y,this._metrics.leftBearing=t.xMin-t.phantomPoints[0].x,this._metrics.topBearing=t.phantomPoints[2].y-t.yMax);let r=[],n=[];for(let t=0;t<e.length;t++){var i=e[t];n.push(i),i.endContour&&(r.push(n),n=[])}return r}_getMetrics(){if(this._metrics)return this._metrics;let t=this._getCBox(!0);return super._getMetrics(t),this._font._variationProcessor&&!this._font.HVAR&&this.path,this._metrics}_getPath(){let t=this._getContours(),e=new Fs;for(let n=0;n<t.length;n++){let i=t[n],o=i[0],s=i[i.length-1],a=0;if(o.onCurve){var r=null;a=1}else{o=s.onCurve?s:new zs(!1,!1,(o.x+s.x)/2,(o.y+s.y)/2);r=o}e.moveTo(o.x,o.y);for(let t=a;t<i.length;t++){let n=i[t],s=0===t?o:i[t-1];if(s.onCurve&&n.onCurve)e.lineTo(n.x,n.y);else if(s.onCurve&&!n.onCurve)r=n;else if(s.onCurve||n.onCurve){if(s.onCurve||!n.onCurve)throw new Error("Unknown TTF path state");e.quadraticCurveTo(r.x,r.y,n.x,n.y);r=null}else{let t=(s.x+n.x)/2,i=(s.y+n.y)/2;e.quadraticCurveTo(s.x,s.y,t,i);var r=n}}r&&e.quadraticCurveTo(r.x,r.y,o.x,o.y),e.closePath()}return e}constructor(...t){super(...t),s.defineProperty(this,"type","TTF")}}class Gs extends Ls{_getName(){return this._font.CFF2?super._getName():this._font["CFF "].getGlyphName(this.id)}bias(t){return t.length<1240?107:t.length<33900?1131:32768}_getPath(){let t=this._font.CFF2||this._font["CFF "],{stream:e}=t,r=t.topDict.CharStrings[this.id],n=r.offset+r.length;e.pos=r.offset;let i,o,s=new Fs,a=[],c=[],u=null,l=0,f=0,h=0,d=!1;this._usedGsubrs=i={},this._usedSubrs=o={};let p=t.globalSubrIndex||[],g=this.bias(p),y=t.privateDictForGlyph(this.id)||{},b=y.Subrs||[],v=this.bias(b),m=t.topDict.vstore&&t.topDict.vstore.itemVariationStore,w=y.vsindex,S=this._font._variationProcessor;function x(){null==u&&(u=a.shift()+y.nominalWidthX)}function _(){return a.length%2!=0&&x(),l+=a.length>>1,a.length=0}function A(t,e){d&&s.closePath(),s.moveTo(t,e),d=!0}let C=function(){for(;e.pos<n;){let I=e.readUInt8();if(I<32){let B,T,R;switch(I){case 1:case 3:case 18:case 23:_();break;case 4:a.length>1&&x(),h+=a.shift(),A(f,h);break;case 5:for(;a.length>=2;)f+=a.shift(),h+=a.shift(),s.lineTo(f,h);break;case 6:case 7:for(R=6===I;a.length>=1;)R?f+=a.shift():h+=a.shift(),s.lineTo(f,h),R=!R;break;case 8:for(;a.length>0;){var r=f+a.shift(),u=h+a.shift(),y=r+a.shift(),k=u+a.shift();f=y+a.shift(),h=k+a.shift(),s.bezierCurveTo(r,u,y,k,f,h)}break;case 10:if(B=a.pop()+v,T=b[B],T){o[B]=!0;var E=e.pos,P=n;e.pos=T.offset,n=T.offset+T.length,C(),e.pos=E,n=P}break;case 11:if(t.version>=2)break;return;case 14:if(t.version>=2)break;a.length>0&&x(),d&&(s.closePath(),d=!1);break;case 15:if(t.version<2)throw new Error("vsindex operator not supported in CFF v1");w=a.pop();break;case 16:{if(t.version<2)throw new Error("blend operator not supported in CFF v1");if(!S)throw new Error("blend operator in non-variation font");let e=S.getBlendVector(m,w),r=a.pop(),n=r*e.length,i=a.length-n,o=i-r;for(let t=0;t<r;t++){let r=a[o+t];for(let t=0;t<e.length;t++)r+=e[t]*a[i++];a[o+t]=r}for(;n--;)a.pop();break}case 19:case 20:_(),e.pos+=l+7>>3;break;case 21:a.length>2&&x(),f+=a.shift(),h+=a.shift(),A(f,h);break;case 22:a.length>1&&x(),f+=a.shift(),A(f,h);break;case 24:for(;a.length>=8;){r=f+a.shift(),u=h+a.shift(),y=r+a.shift(),k=u+a.shift();f=y+a.shift(),h=k+a.shift(),s.bezierCurveTo(r,u,y,k,f,h)}f+=a.shift(),h+=a.shift(),s.lineTo(f,h);break;case 25:for(;a.length>=8;)f+=a.shift(),h+=a.shift(),s.lineTo(f,h);r=f+a.shift(),u=h+a.shift(),y=r+a.shift(),k=u+a.shift();f=y+a.shift(),h=k+a.shift(),s.bezierCurveTo(r,u,y,k,f,h);break;case 26:for(a.length%2&&(f+=a.shift());a.length>=4;)r=f,u=h+a.shift(),y=r+a.shift(),k=u+a.shift(),f=y,h=k+a.shift(),s.bezierCurveTo(r,u,y,k,f,h);break;case 27:for(a.length%2&&(h+=a.shift());a.length>=4;)r=f+a.shift(),u=h,y=r+a.shift(),k=u+a.shift(),f=y+a.shift(),h=k,s.bezierCurveTo(r,u,y,k,f,h);break;case 28:a.push(e.readInt16BE());break;case 29:if(B=a.pop()+g,T=p[B],T){i[B]=!0;E=e.pos,P=n;e.pos=T.offset,n=T.offset+T.length,C(),e.pos=E,n=P}break;case 30:case 31:for(R=31===I;a.length>=4;)R?(r=f+a.shift(),u=h,y=r+a.shift(),k=u+a.shift(),h=k+a.shift(),f=y+(1===a.length?a.shift():0)):(r=f,u=h+a.shift(),y=r+a.shift(),k=u+a.shift(),f=y+a.shift(),h=k+(1===a.length?a.shift():0)),s.bezierCurveTo(r,u,y,k,f,h),R=!R;break;case 12:switch(I=e.readUInt8(),I){case 3:let t=a.pop(),e=a.pop();a.push(t&&e?1:0);break;case 4:t=a.pop(),e=a.pop(),a.push(t||e?1:0);break;case 5:t=a.pop(),a.push(t?0:1);break;case 9:t=a.pop(),a.push(Math.abs(t));break;case 10:t=a.pop(),e=a.pop(),a.push(t+e);break;case 11:t=a.pop(),e=a.pop(),a.push(t-e);break;case 12:t=a.pop(),e=a.pop(),a.push(t/e);break;case 14:t=a.pop(),a.push(-t);break;case 15:t=a.pop(),e=a.pop(),a.push(t===e?1:0);break;case 18:a.pop();break;case 20:let n=a.pop(),i=a.pop();c[i]=n;break;case 21:i=a.pop(),a.push(c[i]||0);break;case 22:let o=a.pop(),l=a.pop(),d=a.pop(),p=a.pop();a.push(d<=p?o:l);break;case 23:a.push(Math.random());break;case 24:t=a.pop(),e=a.pop(),a.push(t*e);break;case 26:t=a.pop(),a.push(Math.sqrt(t));break;case 27:t=a.pop(),a.push(t,t);break;case 28:t=a.pop(),e=a.pop(),a.push(e,t);break;case 29:i=a.pop(),i<0?i=0:i>a.length-1&&(i=a.length-1),a.push(a[i]);break;case 30:let g=a.pop(),b=a.pop();if(b>=0)for(;b>0;){var O=a[g-1];for(let t=g-2;t>=0;t--)a[t+1]=a[t];a[0]=O,b--}else for(;b<0;){O=a[0];for(let t=0;t<=g;t++)a[t]=a[t+1];a[g-1]=O,b++}break;case 34:r=f+a.shift(),u=h,y=r+a.shift(),k=u+a.shift();let v=y+a.shift(),m=k,w=v+a.shift(),S=m,x=w+a.shift(),_=S,A=x+a.shift(),C=_;f=A,h=C,s.bezierCurveTo(r,u,y,k,v,m),s.bezierCurveTo(w,S,x,_,A,C);break;case 35:let E=[];for(let t=0;t<=5;t++)f+=a.shift(),h+=a.shift(),E.push(f,h);s.bezierCurveTo(...E.slice(0,6)),s.bezierCurveTo(...E.slice(6)),a.shift();break;case 36:r=f+a.shift(),u=h+a.shift(),y=r+a.shift(),k=u+a.shift(),v=y+a.shift(),m=k,w=v+a.shift(),S=m,x=w+a.shift(),_=S+a.shift(),A=x+a.shift(),C=_,f=A,h=C,s.bezierCurveTo(r,u,y,k,v,m),s.bezierCurveTo(w,S,x,_,A,C);break;case 37:let P=f,B=h;E=[];for(let t=0;t<=4;t++)f+=a.shift(),h+=a.shift(),E.push(f,h);Math.abs(f-P)>Math.abs(h-B)?(f+=a.shift(),h=B):(f=P,h+=a.shift()),E.push(f,h),s.bezierCurveTo(...E.slice(0,6)),s.bezierCurveTo(...E.slice(6));break;default:throw new Error(`Unknown op: 12 ${I}`)}break;default:throw new Error(`Unknown op: ${I}`)}}else if(I<247)a.push(I-139);else if(I<251){var B=e.readUInt8();a.push(256*(I-247)+B+108)}else if(I<255){B=e.readUInt8();a.push(256*-(I-251)-B-108)}else a.push(e.readInt32BE()/65536)}};return C(),d&&s.closePath(),s}constructor(...t){super(...t),s.defineProperty(this,"type","CFF")}}let Vs=new(v(i).Struct)({originX:v(i).uint16,originY:v(i).uint16,type:new(v(i).String)(4),data:new(v(i).Buffer)((t=>t.parent.buflen-t._currentOffset))});class Xs extends Ws{getImageForSize(t){for(let r=0;r<this._font.sbix.imageTables.length;r++){var e=this._font.sbix.imageTables[r];if(e.ppem>=t)break}let r=e.imageOffsets,n=r[this.id],i=r[this.id+1];return n===i?null:(this._font.stream.pos=n,Vs.decode(this._font.stream,{buflen:i-n}))}render(t,e){let r=this.getImageForSize(e);if(null!=r){let n=e/this._font.unitsPerEm;t.image(r.data,{height:e,x:r.originX,y:(this.bbox.minY-r.originY)*n})}this._font.sbix.flags.renderOutlines&&super.render(t,e)}constructor(...t){super(...t),s.defineProperty(this,"type","SBIX")}}class qs{constructor(t,e){this.glyph=t,this.color=e}}class Hs extends Ls{_getBBox(){let t=new ni;for(let e=0;e<this.layers.length;e++){let r=this.layers[e].glyph.bbox;t.addPoint(r.minX,r.minY),t.addPoint(r.maxX,r.maxY)}return t}get layers(){let t=this._font.CPAL,e=this._font.COLR,r=0,n=e.baseGlyphRecord.length-1;for(;r<=n;){let t=r+n>>1;var i=e.baseGlyphRecord[t];if(this.id<i.gid)n=t-1;else{if(!(this.id>i.gid)){var o=i;break}r=t+1}}if(null==o){var s=this._font._getBaseGlyph(this.id);return[new qs(s,c={red:0,green:0,blue:0,alpha:255})]}let a=[];for(let r=o.firstLayerIndex;r<o.firstLayerIndex+o.numLayers;r++){i=e.layerRecords[r];var c=t.colorRecords[i.paletteIndex];s=this._font._getBaseGlyph(i.gid);a.push(new qs(s,c))}return a}render(t,e){for(let{glyph:r,color:n}of this.layers)t.fillColor([n.red,n.green,n.blue],n.alpha/255*100),r.render(t,e)}constructor(...t){super(...t),s.defineProperty(this,"type","COLR")}}class Zs{normalizeCoords(t){let e=[];for(var r=0;r<this.font.fvar.axis.length;r++){let n=this.font.fvar.axis[r];t[r]<n.defaultValue?e.push((t[r]-n.defaultValue+Number.EPSILON)/(n.defaultValue-n.minValue+Number.EPSILON)):e.push((t[r]-n.defaultValue+Number.EPSILON)/(n.maxValue-n.defaultValue+Number.EPSILON))}if(this.font.avar)for(r=0;r<this.font.avar.segment.length;r++){let t=this.font.avar.segment[r];for(let n=0;n<t.correspondence.length;n++){let i=t.correspondence[n];if(n>=1&&e[r]<i.fromCoord){let o=t.correspondence[n-1];e[r]=((e[r]-o.fromCoord)*(i.toCoord-o.toCoord)+Number.EPSILON)/(i.fromCoord-o.fromCoord+Number.EPSILON)+o.toCoord;break}}}return e}transformPoints(t,e){if(!this.font.fvar||!this.font.gvar)return;let{gvar:r}=this.font;if(t>=r.glyphCount)return;let n=r.offsets[t];if(n===r.offsets[t+1])return;let{stream:i}=this.font;if(i.pos=n,i.pos>=i.length)return;let o=i.readUInt16BE(),s=n+i.readUInt16BE();if(32768&o){var a=i.pos;i.pos=s;var c=this.decodePoints();s=i.pos,i.pos=a}let u=e.map((t=>t.copy()));o&=4095;for(let t=0;t<o;t++){let t=i.readUInt16BE(),n=i.readUInt16BE();if(32768&n){var l=[];for(let t=0;t<r.axisCount;t++)l.push(i.readInt16BE()/16384)}else{if((4095&n)>=r.globalCoordCount)throw new Error("Invalid gvar table");l=r.globalCoords[4095&n]}if(16384&n){var f=[];for(let t=0;t<r.axisCount;t++)f.push(i.readInt16BE()/16384);var h=[];for(let t=0;t<r.axisCount;t++)h.push(i.readInt16BE()/16384)}let o=this.tupleFactor(n,l,f,h);if(0===o){s+=t;continue}a=i.pos;if(i.pos=s,8192&n)var d=this.decodePoints();else d=c;let g=0===d.length?e.length:d.length,y=this.decodeDeltas(g),b=this.decodeDeltas(g);if(0===d.length)for(let t=0;t<e.length;t++){var p=e[t];p.x+=Math.round(y[t]*o),p.y+=Math.round(b[t]*o)}else{let t=u.map((t=>t.copy())),r=e.map((()=>!1));for(let n=0;n<d.length;n++){let i=d[n];if(i<e.length){let e=t[i];r[i]=!0,e.x+=Math.round(y[n]*o),e.y+=Math.round(b[n]*o)}}this.interpolateMissingDeltas(t,u,r);for(let r=0;r<e.length;r++){let n=t[r].x-u[r].x,i=t[r].y-u[r].y;e[r].x+=n,e[r].y+=i}}s+=t,i.pos=a}}decodePoints(){let t=this.font.stream,e=t.readUInt8();128&e&&(e=(127&e)<<8|t.readUInt8());let r=new Uint16Array(e),n=0,i=0;for(;n<e;){let o=t.readUInt8(),s=1+(127&o),a=128&o?t.readUInt16:t.readUInt8;for(let o=0;o<s&&n<e;o++)i+=a.call(t),r[n++]=i}return r}decodeDeltas(t){let e=this.font.stream,r=0,n=new Int16Array(t);for(;r<t;){let i=e.readUInt8(),o=1+(63&i);if(128&i)r+=o;else{let s=64&i?e.readInt16BE:e.readInt8;for(let i=0;i<o&&r<t;i++)n[r++]=s.call(e)}}return n}tupleFactor(t,e,r,n){let i=this.normalizedCoords,{gvar:o}=this.font,s=1;for(let a=0;a<o.axisCount;a++)if(0!==e[a]){if(0===i[a])return 0;if(0==(16384&t)){if(i[a]<Math.min(0,e[a])||i[a]>Math.max(0,e[a]))return 0;s=(s*i[a]+Number.EPSILON)/(e[a]+Number.EPSILON)}else{if(i[a]<r[a]||i[a]>n[a])return 0;s=i[a]<e[a]?s*(i[a]-r[a]+Number.EPSILON)/(e[a]-r[a]+Number.EPSILON):s*(n[a]-i[a]+Number.EPSILON)/(n[a]-e[a]+Number.EPSILON)}}return s}interpolateMissingDeltas(t,e,r){if(0===t.length)return;let n=0;for(;n<t.length;){let i=n,o=n,s=t[o];for(;!s.endContour;)s=t[++o];for(;n<=o&&!r[n];)n++;if(n>o)continue;let a=n,c=n;for(n++;n<=o;)r[n]&&(this.deltaInterpolate(c+1,n-1,c,n,e,t),c=n),n++;c===a?this.deltaShift(i,o,c,e,t):(this.deltaInterpolate(c+1,o,c,a,e,t),a>0&&this.deltaInterpolate(i,a-1,c,a,e,t)),n=o+1}}deltaInterpolate(t,e,r,n,i,o){if(t>e)return;let s=["x","y"];for(let c=0;c<s.length;c++){let u=s[c];if(i[r][u]>i[n][u]){var a=r;r=n,n=a}let l=i[r][u],f=i[n][u],h=o[r][u],d=o[n][u];if(l!==f||h===d){let r=l===f?0:(d-h)/(f-l);for(let n=t;n<=e;n++){let t=i[n][u];t<=l?t+=h-l:t>=f?t+=d-f:t=h+(t-l)*r,o[n][u]=t}}}}deltaShift(t,e,r,n,i){let o=i[r].x-n[r].x,s=i[r].y-n[r].y;if(0!==o||0!==s)for(let n=t;n<=e;n++)n!==r&&(i[n].x+=o,i[n].y+=s)}getAdvanceAdjustment(t,e){let r,n;if(e.advanceWidthMapping){let i=t;i>=e.advanceWidthMapping.mapCount&&(i=e.advanceWidthMapping.mapCount-1);e.advanceWidthMapping.entryFormat;({outerIndex:r,innerIndex:n}=e.advanceWidthMapping.mapData[i])}else r=0,n=t;return this.getDelta(e.itemVariationStore,r,n)}getDelta(t,e,r){if(e>=t.itemVariationData.length)return 0;let n=t.itemVariationData[e];if(r>=n.deltaSets.length)return 0;let i=n.deltaSets[r],o=this.getBlendVector(t,e),s=0;for(let t=0;t<n.regionIndexCount;t++)s+=i.deltas[t]*o[t];return s}getBlendVector(t,e){let r=t.itemVariationData[e];if(this.blendVectors.has(r))return this.blendVectors.get(r);let n=this.normalizedCoords,i=[];for(let e=0;e<r.regionIndexCount;e++){let o=1,s=r.regionIndexes[e],a=t.variationRegionList.variationRegions[s];for(let t=0;t<a.length;t++){let e,r=a[t];e=r.startCoord>r.peakCoord||r.peakCoord>r.endCoord||r.startCoord<0&&r.endCoord>0&&0!==r.peakCoord||0===r.peakCoord?1:n[t]<r.startCoord||n[t]>r.endCoord?0:n[t]===r.peakCoord?1:n[t]<r.peakCoord?(n[t]-r.startCoord+Number.EPSILON)/(r.peakCoord-r.startCoord+Number.EPSILON):(r.endCoord-n[t]+Number.EPSILON)/(r.endCoord-r.peakCoord+Number.EPSILON),o*=e}i[e]=o}return this.blendVectors.set(r,i),i}constructor(t,e){this.font=t,this.normalizedCoords=this.normalizeCoords(e),this.blendVectors=new Map}}const Ks=Promise.resolve();class Ys{includeGlyph(t){return"object"==typeof t&&(t=t.id),null==this.mapping[t]&&(this.glyphs.push(t),this.mapping[t]=this.glyphs.length-1),this.mapping[t]}encodeStream(){let t=new(v(i).EncodeStream);return Ks.then((()=>(this.encode(t),t.end()))),t}constructor(t){this.font=t,this.glyphs=[],this.mapping={},this.includeGlyph(0)}}class Js{static size(t){return t>=0&&t<=255?1:2}static encode(t,e){e>=0&&e<=255?t.writeUInt8(e):t.writeInt16BE(e)}}let Qs=new(v(i).Struct)({numberOfContours:v(i).int16,xMin:v(i).int16,yMin:v(i).int16,xMax:v(i).int16,yMax:v(i).int16,endPtsOfContours:new(v(i).Array)(v(i).uint16,"numberOfContours"),instructions:new(v(i).Array)(v(i).uint8,v(i).uint16),flags:new(v(i).Array)(v(i).uint8,0),xPoints:new(v(i).Array)(Js,0),yPoints:new(v(i).Array)(Js,0)});class $s{encodeSimple(t,e=[]){let r=[],n=[],o=[],s=[],a=0,c=0,u=0,l=0,f=0;for(let e=0;e<t.commands.length;e++){let i=t.commands[e];for(let r=0;r<i.args.length;r+=2){let h=i.args[r],d=i.args[r+1],p=0;if("quadraticCurveTo"===i.command&&2===r){let r=t.commands[e+1];if(r&&"quadraticCurveTo"===r.command){let t=(c+r.args[0])/2,e=(u+r.args[1])/2;if(h===t&&d===e)continue}}"quadraticCurveTo"===i.command&&0===r||(p|=1),p=this._encodePoint(h,c,n,p,2,16),p=this._encodePoint(d,u,o,p,4,32),p===l&&a<255?(s[s.length-1]|=8,a++):(a>0&&(s.push(a),a=0),s.push(p),l=p),c=h,u=d,f++}"closePath"===i.command&&r.push(f-1)}t.commands.length>1&&"closePath"!==t.commands[t.commands.length-1].command&&r.push(f-1);let h=t.bbox,d={numberOfContours:r.length,xMin:h.minX,yMin:h.minY,xMax:h.maxX,yMax:h.maxY,endPtsOfContours:r,instructions:e,flags:s,xPoints:n,yPoints:o},p=Qs.size(d),g=4-p%4,y=new(v(i).EncodeStream)(p+g);return Qs.encode(y,d),0!==g&&y.fill(0,g),y.buffer}_encodePoint(t,e,r,n,i,o){let s=t-e;return t===e?n|=o:(-255<=s&&s<=255&&(n|=i,s<0?s=-s:n|=o),r.push(s)),n}}var ta=a.Buffer;class ea extends Ys{_addGlyph(t){let e=this.font.getGlyph(t),r=e._decode(),n=this.font.loca.offsets[t],i=this.font.loca.offsets[t+1],o=this.font._getTableStream("glyf");o.pos+=n;let s=o.readBuffer(i-n);if(r&&r.numberOfContours<0){s=ta.from(s);for(let e of r.components)t=this.includeGlyph(e.glyphID),s.writeUInt16BE(t,e.pos)}else r&&this.font._variationProcessor&&(s=this.glyphEncoder.encodeSimple(e.path,r.instructions));return this.glyf.push(s),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:e.advanceWidth,bearing:e._getMetrics().leftBearing}),this.offset+=s.length,this.glyf.length-1}encode(t){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};let e=0;for(;e<this.glyphs.length;)this._addGlyph(this.glyphs[e++]);let r=v(p)(this.font.maxp);r.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);let n=v(p)(this.font.head);n.indexToLocFormat=this.loca.version;let i=v(p)(this.font.hhea);i.numberOfMetrics=this.hmtx.metrics.length,Jn.encode(t,{tables:{head:n,hhea:i,loca:this.loca,maxp:r,"cvt ":this.font["cvt "],prep:this.font.prep,glyf:this.glyf,hmtx:this.hmtx,fpgm:this.font.fpgm}})}constructor(t){super(t),this.glyphEncoder=new $s}}var ra,na=a.Buffer;class ia extends Ys{subsetCharstrings(){this.charstrings=[];let t={};for(let e of this.glyphs){this.charstrings.push(this.cff.getCharString(e));let r=this.font.getGlyph(e);r.path;for(let e in r._usedGsubrs)t[e]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,t)}subsetSubrs(t,e){let r=[];for(let n=0;n<t.length;n++){let i=t[n];e[n]?(this.cff.stream.pos=i.offset,r.push(this.cff.stream.readBuffer(i.length))):r.push(na.from([11]))}return r}subsetFontdict(t){t.FDArray=[],t.FDSelect={version:0,fds:[]};let e={},r=[],n={};for(let i of this.glyphs){let o=this.cff.fdForGlyph(i);if(null==o)continue;e[o]||(t.FDArray.push(Object.assign({},this.cff.topDict.FDArray[o])),r.push({}),n[o]=t.FDArray.length-1),e[o]=!0,t.FDSelect.fds.push(n[o]);let s=this.font.getGlyph(i);s.path;for(let t in s._usedSubrs)r[n[o]][t]=!0}for(let e=0;e<t.FDArray.length;e++){let n=t.FDArray[e];delete n.FontName,n.Private&&n.Private.Subrs&&(n.Private=Object.assign({},n.Private),n.Private.Subrs=this.subsetSubrs(n.Private.Subrs,r[e]))}}createCIDFontdict(t){let e={};for(let t of this.glyphs){let r=this.font.getGlyph(t);r.path;for(let t in r._usedSubrs)e[t]=!0}let r=Object.assign({},this.cff.topDict.Private);return this.cff.topDict.Private&&this.cff.topDict.Private.Subrs&&(r.Subrs=this.subsetSubrs(this.cff.topDict.Private.Subrs,e)),t.FDArray=[{Private:r}],t.FDSelect={version:3,nRanges:1,ranges:[{first:0,fd:0}],sentinel:this.charstrings.length}}addString(t){return t?(this.strings||(this.strings=[]),this.strings.push(t),vt.length+this.strings.length-1):null}encode(t){this.subsetCharstrings();let e={version:this.charstrings.length>255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},r=Object.assign({},this.cff.topDict);r.Private=null,r.charset=e,r.Encoding=null,r.CharStrings=this.charstrings;for(let t of["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"])r[t]=this.addString(this.cff.string(r[t]));r.ROS=[this.addString("Adobe"),this.addString("Identity"),0],r.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(r):this.createCIDFontdict(r);let n={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[r],stringIndex:this.strings,globalSubrIndex:this.gsubrs};we.encode(t,n)}constructor(t){if(super(t),this.cff=this.font["CFF "],!this.cff)throw new Error("Not a CFF Font")}}let oa=(ra=class t{static probe(t){let e=t.toString("ascii",0,4);return"true"===e||"OTTO"===e||e===String.fromCharCode(0,1,0,0)}setDefaultLanguage(t=null){this.defaultLanguage=t}_getTable(t){if(!(t.tag in this._tables))try{this._tables[t.tag]=this._decodeTable(t)}catch(e){w&&(console.error(`Error decoding table ${t.tag}`),console.error(e.stack))}return this._tables[t.tag]}_getTableStream(t){let e=this.directory.tables[t];return e?(this.stream.pos=e.offset,this.stream):null}_decodeDirectory(){return this.directory=Jn.decode(this.stream,{_startOffset:0})}_decodeTable(t){let e=this.stream.pos,r=this._getTableStream(t.tag),n=Zn[t.tag].decode(r,this,t.length);return this.stream.pos=e,n}getName(t,e=this.defaultLanguage||k){let r=this.name&&this.name.records[t];return r&&(r[e]||r[this.defaultLanguage]||r[k]||r.en||r[Object.keys(r)[0]])||null}get postscriptName(){return this.getName("postscriptName")}get fullName(){return this.getName("fullName")}get familyName(){return this.getName("fontFamily")}get subfamilyName(){return this.getName("fontSubfamily")}get copyright(){return this.getName("copyright")}get version(){return this.getName("version")}get ascent(){return this.hhea.ascent}get descent(){return this.hhea.descent}get lineGap(){return this.hhea.lineGap}get underlinePosition(){return this.post.underlinePosition}get underlineThickness(){return this.post.underlineThickness}get italicAngle(){return this.post.italicAngle}get capHeight(){let t=this["OS/2"];return t?t.capHeight:this.ascent}get xHeight(){let t=this["OS/2"];return t?t.xHeight:0}get numGlyphs(){return this.maxp.numGlyphs}get unitsPerEm(){return this.head.unitsPerEm}get bbox(){return Object.freeze(new ni(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}get _cmapProcessor(){return new ti(this.cmap)}get characterSet(){return this._cmapProcessor.getCharacterSet()}hasGlyphForCodePoint(t){return!!this._cmapProcessor.lookup(t)}glyphForCodePoint(t){return this.getGlyph(this._cmapProcessor.lookup(t),[t])}glyphsForString(t){let e=[],r=t.length,n=0,i=-1,o=-1;for(;n<=r;){let s=0,a=0;if(n<r){if(s=t.charCodeAt(n++),55296<=s&&s<=56319&&n<r){let e=t.charCodeAt(n);56320<=e&&e<=57343&&(n++,s=((1023&s)<<10)+(1023&e)+65536)}a=65024<=s&&s<=65039||917760<=s&&s<=917999?1:0}else n++;0===o&&1===a?e.push(this.getGlyph(this._cmapProcessor.lookup(i,s),[i,s])):0===o&&0===a&&e.push(this.glyphForCodePoint(i)),i=s,o=a}return e}get _layoutEngine(){return new Ms(this)}layout(t,e,r,n,i){return this._layoutEngine.layout(t,e,r,n,i)}stringsForGlyph(t){return this._layoutEngine.stringsForGlyph(t)}get availableFeatures(){return this._layoutEngine.getAvailableFeatures()}getAvailableFeatures(t,e){return this._layoutEngine.getAvailableFeatures(t,e)}_getBaseGlyph(t,e=[]){return this._glyphs[t]||(this.directory.tables.glyf?this._glyphs[t]=new Ws(t,e,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[t]=new Gs(t,e,this))),this._glyphs[t]||null}getGlyph(t,e=[]){return this._glyphs[t]||(this.directory.tables.sbix?this._glyphs[t]=new Xs(t,e,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[t]=new Hs(t,e,this):this._getBaseGlyph(t,e)),this._glyphs[t]||null}createSubset(){return this.directory.tables["CFF "]?new ia(this):new ea(this)}get variationAxes(){let t={};if(!this.fvar)return t;for(let e of this.fvar.axis)t[e.axisTag.trim()]={name:e.name.en,min:e.minValue,default:e.defaultValue,max:e.maxValue};return t}get namedVariations(){let t={};if(!this.fvar)return t;for(let e of this.fvar.instance){let r={};for(let t=0;t<this.fvar.axis.length;t++){r[this.fvar.axis[t].axisTag.trim()]=e.coord[t]}t[e.name.en]=r}return t}getVariation(e){if(!this.directory.tables.fvar||!(this.directory.tables.gvar&&this.directory.tables.glyf||this.directory.tables.CFF2))throw new Error("Variations require a font with the fvar, gvar and glyf, or CFF2 tables.");if("string"==typeof e&&(e=this.namedVariations[e]),"object"!=typeof e)throw new Error("Variation settings must be either a variation name or settings object.");let r=this.fvar.axis.map(((t,r)=>{let n=t.axisTag.trim();return n in e?Math.max(t.minValue,Math.min(t.maxValue,e[n])):t.defaultValue})),n=new(v(i).DecodeStream)(this.stream.buffer);n.pos=this._directoryPos;let o=new t(n,r);return o._tables=this._tables,o}get _variationProcessor(){if(!this.fvar)return null;let t=this.variationCoords;return t||this.CFF2?(t||(t=this.fvar.axis.map((t=>t.defaultValue))),new Zs(this,t)):null}getFont(t){return this.getVariation(t)}constructor(t,e=null){s.defineProperty(this,"type","TTF"),this.defaultLanguage=null,this.stream=t,this.variationCoords=e,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory();for(let t in this.directory.tables){let e=this.directory.tables[t];Zn[t]&&e.length>0&&Object.defineProperty(this,t,{get:this._getTable.bind(this,e)})}}},s.applyDecoratedDescriptor(ra.prototype,"bbox",[P],Object.getOwnPropertyDescriptor(ra.prototype,"bbox"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"_cmapProcessor",[P],Object.getOwnPropertyDescriptor(ra.prototype,"_cmapProcessor"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"characterSet",[P],Object.getOwnPropertyDescriptor(ra.prototype,"characterSet"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"_layoutEngine",[P],Object.getOwnPropertyDescriptor(ra.prototype,"_layoutEngine"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"variationAxes",[P],Object.getOwnPropertyDescriptor(ra.prototype,"variationAxes"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"namedVariations",[P],Object.getOwnPropertyDescriptor(ra.prototype,"namedVariations"),ra.prototype),s.applyDecoratedDescriptor(ra.prototype,"_variationProcessor",[P],Object.getOwnPropertyDescriptor(ra.prototype,"_variationProcessor"),ra.prototype),ra),sa=new(v(i).Struct)({tag:new(v(i).String)(4),offset:new(v(i).Pointer)(v(i).uint32,"void",{type:"global"}),compLength:v(i).uint32,length:v(i).uint32,origChecksum:v(i).uint32}),aa=new(v(i).Struct)({tag:new(v(i).String)(4),flavor:v(i).uint32,length:v(i).uint32,numTables:v(i).uint16,reserved:new(v(i).Reserved)(v(i).uint16),totalSfntSize:v(i).uint32,majorVersion:v(i).uint16,minorVersion:v(i).uint16,metaOffset:v(i).uint32,metaLength:v(i).uint32,metaOrigLength:v(i).uint32,privOffset:v(i).uint32,privLength:v(i).uint32,tables:new(v(i).Array)(sa,"numTables")});aa.process=function(){let t={};for(let e of this.tables)t[e.tag]=e;this.tables=t};var ca=aa,ua=a.Buffer;class la extends Ws{_decode(){return this._font._transformedGlyphs[this.id]}_getCBox(){return this.path.bbox}constructor(...t){super(...t),s.defineProperty(this,"type","WOFF2")}}const fa={decode(t){let e=0,r=[0,1,2,3,4];for(let n=0;n<r.length;n++){let r=t.readUInt8();if(3758096384&e)throw new Error("Overflow");if(e=e<<7|127&r,0==(128&r))return e}throw new Error("Bad base 128 number")}};let ha=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"],da=new(v(i).Struct)({flags:v(i).uint8,customTag:new(v(i).Optional)(new(v(i).String)(4),(t=>63==(63&t.flags))),tag:t=>t.customTag||ha[63&t.flags],length:fa,transformVersion:t=>t.flags>>>6&3,transformed:t=>"glyf"===t.tag||"loca"===t.tag?0===t.transformVersion:0!==t.transformVersion,transformLength:new(v(i).Optional)(fa,(t=>t.transformed))}),pa=new(v(i).Struct)({tag:new(v(i).String)(4),flavor:v(i).uint32,length:v(i).uint32,numTables:v(i).uint16,reserved:new(v(i).Reserved)(v(i).uint16),totalSfntSize:v(i).uint32,totalCompressedSize:v(i).uint32,majorVersion:v(i).uint16,minorVersion:v(i).uint16,metaOffset:v(i).uint32,metaLength:v(i).uint32,metaOrigLength:v(i).uint32,privOffset:v(i).uint32,privLength:v(i).uint32,tables:new(v(i).Array)(da,"numTables")});pa.process=function(){let t={};for(let e=0;e<this.tables.length;e++){let r=this.tables[e];t[r.tag]=r}return this.tables=t};var ga=pa,ya=a.Buffer;class ba{decode(t,e){return new(v(i).DecodeStream)(this._buf.decode(t,e))}constructor(t){this.length=t,this._buf=new(v(i).Buffer)(t)}}let va=new(v(i).Struct)({version:v(i).uint32,numGlyphs:v(i).uint16,indexFormat:v(i).uint16,nContourStreamSize:v(i).uint32,nPointsStreamSize:v(i).uint32,flagStreamSize:v(i).uint32,glyphStreamSize:v(i).uint32,compositeStreamSize:v(i).uint32,bboxStreamSize:v(i).uint32,instructionStreamSize:v(i).uint32,nContours:new ba("nContourStreamSize"),nPoints:new ba("nPointsStreamSize"),flags:new ba("flagStreamSize"),glyphs:new ba("glyphStreamSize"),composites:new ba("compositeStreamSize"),bboxes:new ba("bboxStreamSize"),instructions:new ba("instructionStreamSize")});const ma=253,wa=254,Sa=255,xa=253;function _a(t){let e=t.readUInt8();return e===ma?t.readUInt16BE():e===Sa?t.readUInt8()+xa:e===wa?t.readUInt8()+2*xa:e}function Aa(t,e){return 1&t?e:-e}function Ca(t,e,r){let n,i=n=0,o=[];for(let c=0;c<r;c++){let r=0,c=0,u=t.readUInt8(),l=!(u>>7);if(u&=127,u<10)r=0,c=Aa(u,((14&u)<<7)+e.readUInt8());else if(u<20)r=Aa(u,((u-10&14)<<7)+e.readUInt8()),c=0;else if(u<84){r=Aa(u,1+(48&(s=u-20))+((a=e.readUInt8())>>4)),c=Aa(u>>1,1+((12&s)<<2)+(15&a))}else if(u<120){var s;r=Aa(u,1+((s=u-84)/12<<8)+e.readUInt8()),c=Aa(u>>1,1+(s%12>>2<<8)+e.readUInt8())}else if(u<124){var a=e.readUInt8();let t=e.readUInt8();r=Aa(u,(a<<4)+(t>>4)),c=Aa(u>>1,((15&t)<<8)+e.readUInt8())}else r=Aa(u,e.readUInt16BE()),c=Aa(u>>1,e.readUInt16BE());i+=r,n+=c,o.push(new zs(l,!1,i,n))}return o}var ka=a.Buffer;let Ea=new(v(i).VersionedStruct)(v(i).uint32,{65536:{numFonts:v(i).uint32,offsets:new(v(i).Array)(v(i).uint32,"numFonts")},131072:{numFonts:v(i).uint32,offsets:new(v(i).Array)(v(i).uint32,"numFonts"),dsigTag:v(i).uint32,dsigLength:v(i).uint32,dsigOffset:v(i).uint32}});var Pa=a.Buffer;let Oa=new(v(i).String)(v(i).uint8),Ba=(new(v(i).Struct)({len:v(i).uint32,buf:new(v(i).Buffer)("len")}),new(v(i).Struct)({id:v(i).uint16,nameOffset:v(i).int16,attr:v(i).uint8,dataOffset:v(i).uint24,handle:v(i).uint32})),Ia=new(v(i).Struct)({name:new(v(i).String)(4),maxTypeIndex:v(i).uint16,refList:new(v(i).Pointer)(v(i).uint16,new(v(i).Array)(Ba,(t=>t.maxTypeIndex+1)),{type:"parent"})}),Ta=new(v(i).Struct)({length:v(i).uint16,types:new(v(i).Array)(Ia,(t=>t.length+1))}),Ra=new(v(i).Struct)({reserved:new(v(i).Reserved)(v(i).uint8,24),typeList:new(v(i).Pointer)(v(i).uint16,Ta),nameListOffset:new(v(i).Pointer)(v(i).uint16,"void")}),Ma=new(v(i).Struct)({dataOffset:v(i).uint32,map:new(v(i).Pointer)(v(i).uint32,Ra),dataLength:v(i).uint32,mapLength:v(i).uint32});x(oa),x(class extends oa{static probe(t){return"wOFF"===t.toString("ascii",0,4)}_decodeDirectory(){this.directory=ca.decode(this.stream,{_startOffset:0})}_getTableStream(t){let e=this.directory.tables[t];if(e){if(this.stream.pos=e.offset,e.compLength<e.length){this.stream.pos+=2;let t=ua.alloc(e.length),r=v(g)(this.stream.readBuffer(e.compLength-2),t);return new(v(i).DecodeStream)(r)}return this.stream}return null}constructor(...t){super(...t),s.defineProperty(this,"type","WOFF")}}),x(class extends oa{static probe(t){return"wOF2"===t.toString("ascii",0,4)}_decodeDirectory(){this.directory=ga.decode(this.stream),this._dataPos=this.stream.pos}_decompress(){if(!this._decompressed){this.stream.pos=this._dataPos;let t=this.stream.readBuffer(this.directory.totalCompressedSize),e=0;for(let t in this.directory.tables){let r=this.directory.tables[t];r.offset=e,e+=null!=r.transformLength?r.transformLength:r.length}let r=v(y)(t,e);if(!r)throw new Error("Error decoding compressed data in WOFF2");this.stream=new(v(i).DecodeStream)(ya.from(r)),this._decompressed=!0}}_decodeTable(t){return this._decompress(),super._decodeTable(t)}_getBaseGlyph(t,e=[]){if(!this._glyphs[t])return this.directory.tables.glyf&&this.directory.tables.glyf.transformed?(this._transformedGlyphs||this._transformGlyfTable(),this._glyphs[t]=new la(t,e,this)):super._getBaseGlyph(t,e)}_transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;let t=va.decode(this.stream),e=[];for(let r=0;r<t.numGlyphs;r++){let r={},n=t.nContours.readInt16BE();if(r.numberOfContours=n,n>0){let e=[],i=0;for(let r=0;r<n;r++){i+=_a(t.nPoints),e.push(i)}r.points=Ca(t.flags,t.glyphs,i);for(let t=0;t<n;t++)r.points[e[t]-1].endContour=!0;_a(t.glyphs)}else if(n<0){if(Ws.prototype._decodeComposite.call({_font:this},r,t.composites))_a(t.glyphs)}e.push(r)}this._transformedGlyphs=e}constructor(...t){super(...t),s.defineProperty(this,"type","WOFF2")}}),x(class{static probe(t){return"ttcf"===t.toString("ascii",0,4)}getFont(t){for(let e of this.header.offsets){let r=new(v(i).DecodeStream)(this.stream.buffer);r.pos=e;let n=new oa(r);if(ka.isBuffer(n.postscriptName)&&n.postscriptName.equals(t)||n.postscriptName===t)return n}return null}get fonts(){let t=[];for(let e of this.header.offsets){let r=new(v(i).DecodeStream)(this.stream.buffer);r.pos=e,t.push(new oa(r))}return t}constructor(t){if(s.defineProperty(this,"type","TTC"),this.stream=t,"ttcf"!==t.readString(4))throw new Error("Not a TrueType collection");this.header=Ea.decode(t)}}),x(class{static probe(t){let e=new(v(i).DecodeStream)(t);try{var r=Ma.decode(e)}catch(t){return!1}for(let t of r.map.typeList.types)if("sfnt"===t.name)return!0;return!1}getFont(t){if(!this.sfnt)return null;for(let e of this.sfnt.refList){let r=this.header.dataOffset+e.dataOffset+4,n=new(v(i).DecodeStream)(this.stream.buffer.slice(r)),o=new oa(n);if(Pa.isBuffer(o.postscriptName)&&o.postscriptName.equals(t)||o.postscriptName===t)return o}return null}get fonts(){let t=[];for(let e of this.sfnt.refList){let r=this.header.dataOffset+e.dataOffset+4,n=new(v(i).DecodeStream)(this.stream.buffer.slice(r));t.push(new oa(n))}return t}constructor(t){s.defineProperty(this,"type","DFont"),this.stream=t,this.header=Ma.decode(this.stream);for(let t of this.header.map.typeList.types){for(let e of t.refList)e.nameOffset>=0?(this.stream.pos=e.nameOffset+this.header.map.nameListOffset,e.name=Oa.decode(this.stream)):e.name=null;"sfnt"===t.name&&(this.sfnt=t)}}});var Da,Fa,Na={registerFormat:x,openSync:_,open:A,create:C,defaultLanguage:k,setDefaultLanguage:E};Da=t.exports,Fa=m,Object.keys(Fa).forEach((function(t){"default"===t||"__esModule"===t||Da.hasOwnProperty(t)||Object.defineProperty(Da,t,{enumerable:!0,get:function(){return Fa[t]}})}))},86556:function(t,e,r){try{t.exports=r(88674)}catch(t){}},56277:function(t,e,r){var n=r(48134),i=r(29349);function o(t){return t&&t.__esModule?t.default:t}const s=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]],a=o(i).toByteArray("AAgOAAAAAAAQ4QAAAQ0P8vDtnQuMXUUZx+eyu7d7797d9m5bHoWltKVUlsjLWE0VJNigQoMVqkStEoNQQUl5GIo1KKmogEgqkKbBRki72lYabZMGKoGAjQRtJJDaCCIRiiigREBQS3z+xzOTnZ3O+3HOhd5NfpkzZx7fN9988zivu2M9hGwB28F94DnwEngd/Asc1EtIs9c/bIPDwCxwLDgezHcodyo4w5C+CCwBS8FnwSXgCnA1uFbI93XwbXAbWAfWgx+CzWAb+An4KfgFeAzsYWWfYuFz4CXwGvgb+Dfo6yNkEEwGh4CZYB44FpwI3g1OY+kfBItZOo2fB84Hy8DF4HJwNbiWpV8PVoO1LH4n2NRXyN+KcAd4kNVP9XsY4aPgcfAbsBfs6SniL4K/sPjfEf6HlanXCRkCw2BGvUh/keWfXS/CY+pFXs7x9XHmM94LTmWIeU2cgbxnS/k/B3kf86jDhU8L9V2E40vAFWAlWFUfb++NOL4F3C7JX4/4GiE+hvgWsF0oS7mXldspnN+F493gyXrh9xTav0cg3EvzgVfBG6wsmVSEkxBOBgdPGpd7JI6PnqRvJ68/xlbHof53gPeA94OzwLngk+ACsAwsByvASrAK3MB0Ws3CtQjvBJvAVrADPMDSHkb4CNijaccTwvnf4fiPEs8Lxy+D18A/QU8/xjgYBjPAbDAKTgYLwOngTHAO+EQ/8wuEF4EvsPiVCFf2+9tsFStzA8LVHuXXBsi6QyqzUYiPMR/7Mc7dAx7oL8bzw/3u/Bw8Bp4Az4AXwCtgHzsmDXP5fiF9iiVvly5d0sHngar16NKlS5cuXbp06fLmYlqHXrcd3ph4P0THUY3iXh49novju4S0tzfs5d+JPKewfAsRntZb3K9ZhOMlrO6lCC8An28U9+OuovcPcPxlVu5rCL/VmHh/iHIrzn3fIPu7SN8Axmg+8AOwEWwCm7tp3bRuWjetm5Y8bSu4B9zbKO6ZVsnORrVU3f4uXTqZ2H3sLoyx3eDXjfDndE9qyj6L838CfwVvgFpzYnof4oNgOhgBc8Fos9DrZIQLmtXPP1MmF6wGj4H+KXoWguvADkXaPil+YpuQy8Am8Ey7ODdtmJDF4HowBp4De6HDTNjhfHAHeBr0DBBy0kDxfPbcgSIusgrcWhtnJ8vL+TPix7UIOQtcBq4C28Cr4KRBnANbwSuDE+s50JgyNNFuXbp06XIgsXjIvPafjvXozKY+fVFz/z0LT1uCtKVSWbrOLWPnztG8e0Xfy7ol8XtZJi7WtG+5od2UFXQ/A12vUeS7jp27yVKHjdsU9lXB869TyNvAzt0lpP2oWbwLdjiO78bx/Sz+EMJHwK9Y/LcIfw+eZ3F67/Hl5vh9xX80J+rwX8SvRDhpgL17iPAQMHNArfPrqHPewLheI+AERV6efwV418B4nOZ/H+IfYHV8GOF5LJ3eAz0fx8sM9S0fUNud39O9CulfGZhY5huI3wzWgNvBelbHZoTbNPVpfYjKQpkHwUNgl0LWblbnk0LbbDxr0OMFpL3iqWdu9nWYPlVAWkXY39LnGdCkDbeqv1YNbfcMQ3t9oe8lzm6NH9N1ZB6Ln4BwfkJZJk7RyFnYKt6b/JDQXx9p5X+eFdqOjzM9P9MB/lUlFzr20aXIdzlY4dmn9F3YqtvoO76/2hp/D/xA5Zue88nNyL8GbFbs075X0tyUig3Qd2MCnf//HjnzpbsR3g9+1kHzzVjdnE71/qVBX9rGPUh/ysNWe1neFzvIDi5zAufV1sT0N0poR22wkFUfTOPfA4N2mbZ5fSrqOHSw+IbkSBbOGSzSRgf91/GTUWYBOB2cIZQ/G8cfBZ8CFwrnL8XxF8FKcA24jqXdiPA7Qr61OF7H4mMItwzuv2/YLth1ISt3Hzu3k4W7EH5JqPdRHD/O4k+z8A8IX5Lq3y7Z4nXE9xn6kX6vQ4bKfy+ok+hH+xf3hq9dnTTHhjKd2GmDuWA242iHMq4cC7A8kJ7i8o1+skSa7Jieo38HCWnoNjKFhdSFBxzpZ7QE6lI8N4S14aASZcryaV/WWHw66f6NHuCoxuQxmvM56GX9QMd8Q4D65ywGP+ZzRJuM+zQvx/MOS2VFeqQ4IXnH26zM9Xe6/E6D+4foAzzuajPZp8Qyw5ayZVDWuH0z0BtYRkeIDqH9KO9VbH1btd/lhNqCzvl8zeLnG0S/hnU6baHfpiuO6yy0rd+DHURo/zYF5H26j03rQsip2ndzz82u1z9N4VjWKWeb68Tedpt95HRVXp7H1R6p+/Wt4FPy/PpWwscOLRJ+PVWF/+W0iVyGzs18TIvXkOJ1Wxm66vSXz+vylenrZcj1ub439W+K8RNCGTJi2p/TJ1K23VaXr35tRpnzmjxequgfcfyk6B/TGBVlyedsNgpdd/h+W1U3P99QyFPNo1X3TwpM/WLTIWYfoBqXrv6iskHZ/RFr79R6hIyHBrH3f1nrUVnjP8SnZZ+rYtzr9Exld5MNbPNErusAPg+77u/eDOPftU9yj39TH7rezxd1LvsZQJlzkWlOirG/79zjMj/mtHUKu7vKy+3/LnXr9okyKedjX5/0He9iP/j63LwOQdarEVlfy8OO/Lqw023j6xcqmwxLiOd6heM2i9cV9LJy8jMJ23yQ+rpbfu7EQ/pXE8KYvUSqvVnb4XzZa6LrHMXHR+zcLvqWbm/Bn0/HzIs6fWPHoat8XfnDKmZGxRxeMbn2UqZ5Q94nmcZRbqqUXbZ8+lcjE+cPX11t814orvvAXNcG8vqj2vvk1MGn3anlj0bIT72v47bvE+Lc98T9b6r7AKn6j+8Duf7D0nnZx/j7Zjn0j9nbpSTndaLr9WNLivP+iN23xF7L+fqv6ZouFyb78jxVXvv5jJ9YUs9/sddO8h7KNg5jrhfaJGztT6G7KF+1d6yCmD5Kdb2fan60rSc552fZr3zeQ9DpnPp+Si5cx5Ktv2QfSzF/mMbWdOm46rFI4XstnU9xeqX4NKb7TKEdcr6pZOK3ID1k/LvFHkVczEuZLEDr499YqvqBym1aEHWgcvoYOtv0M91qQl5TfpO/in6rWx8OVpT1Wedkv3f5xom3T/xeR/6Gx6V86PWAOB4bBpqWdN+yTcVxjIyGRz/FrDGu6w/3d7kPm8StX8RyPu+uuvpNju/vTLJV37GpvoM0oZPnW87VLnL/5pDno1NoW1R6yedU6TyUv3u19a3KFnIbTLYz+ZCLP4T0tU1uivFgso0pnsJ/UtXvarNY28Xq5cvkBDrQP/E5ZaiuQwwfmTlsOiQRU1fMuqrDd/3ISSuwjOwXOfTyGUMpZIXq4GpLn3pUcdfzch2x7XO1u2uZHOPb1G6b3Xg9PH1IIWeEpJlPQtqos2EKW8b0u8rnuP1UeVLoXJb9be0uG9nnbchjU+XTszT5VeNBThPHnc5OKj1U9aj0GTHIVaGy1YhEWT4ixns00DT+XEzWn/7VAsIc63Cov3OdyhwjrnaqQqZvWKXdypRdlq+k8msZ031U+Rm4fA+3TtyeR9hwfW9G9yxDN0fZMN33F+9TE6md4hwoxumfaUzI9fN3PFT3xVV2msrQ3UsnChm6Nulk8TndpS28D3zX9tTIPsF/z7Am5OkTjm1tI1JZW74+4VgsZ0N3L1yXV3WeP5uR7TGHHdvC3JQlxybfpd22tDlk/2eofRK8TzrN/qnar/K/OUTth6I/+jAnEptNbPvFHP2gs40N3+dfMWtwqvVct7/wfd8gtQ7imifial9ZJ9/3IHLYU6eDj3+4PhsNhX+vwvcWLnu6kGfEMe8DuciPfUfGZB8X/7HJy/Gefe5n+VRGFd/wyP2ta7/LO4yh/sbLV/k9lev6kfO9Dt/5U67b1/6u/epqB1U9Me23jfHY9sscAg4tkbLl+e4/U36rJ9ddxfd6sg5vq5ice42Wpk/pb9FOJ36/W9tpv4kbC79nUbZceX8Zu6/qJ+P3WvhvA8v3reh7Jbn2d6rrNC7XNZTLma4Ba0JI9efX2uLzF5scG/w9UNU1ZxW+ymUfzELeTllXlQ1rUuhzjS5fp9c964iFBOqeSz63bU065nZKdU+mDEz3qHIjjifquw0pnb/raRtvrnsYcb46ihT3taoYz6brdNW9l6rWRnE/navdPn1XlR1km7hcz1WlH/elKuSOSvLLuE8U6m8uzwRdfcGl73VyTHuyMvzJ1Sa2cWDTP/Z63Kc94n2B1PYr24dz1JlyHLlcP+S4B6vD1c9EW4q2LWstCvUjeVy63k/LMYdUNd5D1xQfvVTzX1VjkMsUv88N8VH5fReVn/Fjn++/h6X6Q8a6b1/q3g/i/ewi0/Scs8zxXeV6mWIOUPlPzBgdFerW+bZrm2P18dnjuK6HunEp+rHvPMXbr+sHVb/lnL+pTP57jPw9Cvk3PW178JD9qChfzuvTf7Htl38L1QUf/VKu9SFjwWbTWPvFEvu7Uq76y7+31g6QlYPc669pbsm9Xur2LWI9Pu8ypfDXqm3A2z8s1FWGn4ntL9NfQu2oSlftX9uetvTtv7J8Ql4zxfXGZ3zk8PeQ9w59x2uMfqI8/q5eKh/l9cb2rwsu9rSNl06ZP2Pmxtz+rNMx93yno0n2/82rVH7rQ+y9P15H6FyRun9ViH81ATmffI7nJ5r8uXXW6enbP6b/B8/l5OifVHYLnb9S39s2zcc+Ph+rh8+eQgVPS72elzGWY/tUtbbabBpDiI7yN1q6/4th2y+ErAc5+9BVvu/7KamJbWNZeuqI/R4tRf+YyD1HmOZM1bMV3/14Sn10c0Xu+Sj1nOXb5jL73ncdy02uvlXZNde65dOHYl7Vs4KYuS6FzWLn2zJlpZqPXPVPOa5yzKOyn1VhT9lmMfdbfH7D11Wf2PXN5h9y+dD287+qxgSnaYmnIrRtIb8pJe6/Uv9OVer6Whn0zfGO/BEloZI9ojmfAlUflClDd178bTmVHVTpZXOkAlk/lb42UujmI89HH5V+cl7XtowY6vTxLVWok6UrGzoGTHN+bB+6ri05687VNpvfuvRfaP2uMlNQth1D5JjGelm/8yn+9p3p/7qk9gnfeddXZmq/Sm333PJT659Kv1zjNbZ9uv2Oi//67CV8/N1nj1DmviyXDNVeJkaeaX8UsyesYg8cu2+NvdaPfb+lLDu5tvt/"),c=new(o(n))(a),u=function(t){switch(t){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return t}},l=function(t){switch(t){case 37:case 38:return 34;case 41:return 22;default:return t}};class f{constructor(t,e=!1){this.position=t,this.required=e}}t.exports=class{nextCodePoint(){const t=this.string.charCodeAt(this.pos++),e=this.string.charCodeAt(this.pos);return 55296<=t&&t<=56319&&56320<=e&&e<=57343?(this.pos++,1024*(t-55296)+(e-56320)+65536):t}nextCharClass(){return u(c.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case 41:return!1;case 34:case 37:case 38:return this.curClass=34,!1;case 36:return this.curClass=36,!1}return null}getPairTableBreak(t){let e=!1;switch(s[this.curClass][this.nextClass]){case 0:e=!0;break;case 1:e=41===t;break;case 2:if(e=41===t,!e)return e=!1,e;break;case 3:if(41!==t)return e}return this.LB8a&&(e=!1),!this.LB21a||16!==this.curClass&&17!==this.curClass?this.LB21a=13===this.curClass:(e=!1,this.LB21a=!1),28===this.curClass?(this.LB30a++,2==this.LB30a&&28===this.nextClass&&(e=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,e}nextBreak(){if(null==this.curClass){let t=this.nextCharClass();this.curClass=l(t),this.nextClass=t,this.LB8a=31===t,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;const t=this.nextClass;if(this.nextClass=this.nextCharClass(),34===this.curClass||36===this.curClass&&37!==this.nextClass)return this.curClass=l(u(this.nextClass)),new f(this.lastPos,!0);let e=this.getSimpleBreak();if(null===e&&(e=this.getPairTableBreak(t)),this.LB8a=31===this.nextClass,e)return new f(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new f(this.string.length)):null}constructor(t){this.string=t,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}}},4978:function(t,e,r){var n,i=r(34451),o=r(48134);function s(t){return t&&t.__esModule?t.default:t}function a(t,e,r,n){Object.defineProperty(t,e,{get:r,set:n,enumerable:!0,configurable:!0})}n=t.exports,Object.defineProperty(n,"__esModule",{value:!0,configurable:!0}),a(t.exports,"getCategory",(()=>C)),a(t.exports,"getCombiningClass",(()=>k)),a(t.exports,"getScript",(()=>E)),a(t.exports,"getEastAsianWidth",(()=>P)),a(t.exports,"getNumericValue",(()=>O)),a(t.exports,"isAlphabetic",(()=>B)),a(t.exports,"isDigit",(()=>I)),a(t.exports,"isPunctuation",(()=>T)),a(t.exports,"isLowerCase",(()=>R)),a(t.exports,"isUpperCase",(()=>M)),a(t.exports,"isTitleCase",(()=>D)),a(t.exports,"isWhiteSpace",(()=>F)),a(t.exports,"isBaseForm",(()=>N)),a(t.exports,"isMark",(()=>L)),a(t.exports,"default",(()=>j));var c={};c=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');const u=new(s(o))(s(i).toByteArray("AAARAAAAAADwfAEAZXl5ONRt+/5bPVFZimRfKoTQJNm37CGE7Iw0j3UsTWKsoyI7kwyyTiEUzSD7NiEzhWYijH0wMVkHE4Mx49fzfo+3nuP4/fdZjvv+XNd5n/d9nef1WZvmKhTxiZndzDQBSEYQqxqKwnsKvGQucFh+6t6cJ792ePQBZv5S9yXSwkyjf/P4T7mTNnIAv1dOVhMlR9lflbUL9JeJguqsjvG9NTj/wLb566VAURnLo2vvRi89S3gW/33ihh2eXpDn40BIW7REl/7coRKIhAFlAiOtbLDTt6mMb4GzMF1gNnvX/sBxtbsAIjfztCNcQjcNDtLThRvuXu5M5g/CBjaLBE4lJm4qy/oZD97+IJryApcXfgWYlkvWbhfXgujOJKVu8B+ozqTLbxyJ5kNiR75CxDqfBM9eOlDMmGeoZ0iQbbS5VUplIwI+ZNXEKQVJxlwqjhOY7w3XwPesbLK5JZE+Tt4X8q8km0dzInsPPzbscrjBMVjF5mOHSeRdJVgKUjLTHiHqXSPkep8N/zFk8167KLp75f6RndkvzdfB6Uz3MmqvRArzdCbs1/iRZjYPLLF3U8Qs+H+Rb8iK51a6NIV2V9+07uJsTGFWpPz8J++7iRu2B6eAKlK/kujrLthwaD/7a6J5w90TusnH1JMAc+gNrql4aspOUG/RrsxUKmPzhHgP4Bleru+6Vfc/MBjgXVx7who94nPn7MPFrnwQP7g0k0Dq0h2GSKO6fTZ8nLodN1SiOUj/5EL/Xo1DBvRm0wmrh3x6phcJ20/9CuMr5h8WPqXMSasLoLHoufTmE7mzYrs6B0dY7KjuCogKqsvxnxAwXWvd9Puc9PnE8DOHT2INHxRlIyVHrqZahtfV2E/A2PDdtA3ewlRHMtFIBKO/T4IozWTQZ+mb+gdKuk/ZHrqloucKdsOSJmlWTSntWjcxVMjUmroXLM10I6TwDLnBq4LP69TxgVeyGsd8yHvhF8ydPlrNRSNs9EP7WmeuSE7Lu10JbOuQcJw/63sDp68wB9iwP5AO+mBpV0R5VDDeyQUFCel1G+4KHBgEVFS0YK+m2sXLWLuGTlkVAd97WwKKdacjWElRCuDRauf33l/yVcDF6sVPKeTes99FC1NpNWcpieGSV/IbO8PCTy5pbUR1U8lxzf4T+y6fZMxOz3LshkQLeeDSd0WmUrQgajmbktrxsb2AZ0ACw2Vgni+gV/m+KvCRWLg08Clx7uhql+v9XySGcjjOHlsp8vBw/e8HS7dtiqF6T/XcSXuaMW66GF1g4q9YyBadHqy3Y5jin1c7yZos6BBr6dsomSHxiUHanYtcYQwnMMZhRhOnaYJeyJzaRuukyCUh48+e/BUvk/aEfDp8ag+jD64BHxNnQ5v/E7WRk7eLjGV13I3oqy45YNONi/1op1oDr7rPjkhPsTXgUpQtGDPlIs55KhQaic9kSGs/UrZ2QKQOflB8MTEQxRF9pullToWO7Eplan6mcMRFnUu2441yxi23x+KqKlr7RWWsi9ZXMWlr8vfP3llk1m2PRj0yudccxBuoa7VfIgRmnFPGX6Pm1WIfMm/Rm4n/xTn8IGqA0GWuqgu48pEUO0U9nN+ZdIvFpPb7VDPphIfRZxznlHeVFebkd9l+raXy9BpTMcIUIvBfgHEb6ndGo8VUkxpief14KjzFOcaANfgvFpvyY8lE8lE4raHizLpluPzMks1hx/e1Hok5yV0p7qQH7GaYeMzzZTFvRpv6k6iaJ4yNqzBvN8J7B430h2wFm1IBPcqbou33G7/NWPgopl4Mllla6e24L3TOTVNkza2zv3QKuDWTeDpClCEYgTQ+5vEBSQZs/rMF50+sm4jofTgWLqgX1x3TkrDEVaRqfY/xZizFZ3Y8/DFEFD31VSfBQ5raEB6nHnZh6ddehtclQJ8fBrldyIh99LNnV32HzKEej04hk6SYjdauCa4aYW0ru/QxvQRGzLKOAQszf3ixJypTW3WWL6BLSF2EMCMIw7OUvWBC6A/gDc2D1jvBapMCc7ztx6jYczwTKsRLL6dMNXb83HS8kdD0pTMMj161zbVHkU0mhSHo9SlBDDXdN6hDvRGizmohtIyR3ot8tF5iUG4GLNcXeGvBudSFrHu+bVZb9jirNVG+rQPI51A7Hu8/b0UeaIaZ4UgDO68PkYx3PE2HWpKapJ764Kxt5TFYpywMy4DLQqVRy11I7SOLhxUFmqiEK52NaijWArIfCg6qG8q5eSiwRCJb1R7GDJG74TrYgx/lVq7w9++Kh929xSJEaoSse5fUOQg9nMAnIZv+7fwVRcNv3gOHI46Vb5jYUC66PYHO6lS+TOmvEQjuYmx4RkffYGxqZIp/DPWNHAixbRBc+XKE3JEOgs4jIwu/dSAwhydruOGF39co91aTs85JJ3Z/LpXoF43hUwJsb/M1Chzdn8HX8vLXnqWUKvRhNLpfAF4PTFqva1sBQG0J+59HyYfmQ3oa4/sxZdapVLlo/fooxSXi/dOEQWIWq8E0FkttEyTFXR2aNMPINMIzZwCNEheYTVltsdaLkMyKoEUluPNAYCM2IG3br0DLy0fVNWKHtbSKbBjfiw7Lu06gQFalC7RC9BwRMSpLYDUo9pDtDfzwUiPJKLJ2LGcSphWBadOI/iJjNqUHV7ucG8yC6+iNM9QYElqBR7ECFXrcTgWQ3eG/tCWacT9bxIkfmxPmi3vOd36KxihAJA73vWNJ+Y9oapXNscVSVqS5g15xOWND/WuUCcA9YAAg6WFbjHamrblZ5c0L6Zx1X58ZittGcfDKU697QRSqW/g+RofNRyvrWMrBn44cPvkRe2HdTu/Cq01C5/riWPHZyXPKHuSDDdW8c1XPgd6ogvLh20qEIu8c19sqr4ufyHrwh37ZN5MkvY1dsGmEz9pUBTxWrvvhNyODyX2Q1k/fbX/T/vbHNcBrmjgDtvBdtZrVtiIg5iXQuzO/DEMvRX8Mi1zymSlt92BGILeKItjoShJXE/H7xwnf0Iewb8BFieJ9MflEBCQYEDm8eZniiEPfGoaYiiEdhQxHQNr2AuRdmbL9mcl18Kumh+HEZLp6z+j35ML9zTbUwahUZCyQQOgQrGfdfQtaR/OYJ/9dYXb2TWZFMijfCA8Nov4sa5FFDUe1T68h4q08WDE7JbbDiej4utRMR9ontevxlXv6LuJTXt1YEv8bDzEt683PuSsIN0afvu0rcBu9AbXZbkOG3K3AhtqQ28N23lXm7S3Yn6KXmAhBhz+GeorJJ4XxO/b3vZk2LXp42+QvsVxGSNVpfSctIFMTR1bD9t70i6sfNF3WKz/uKDEDCpzzztwhL45lsw89H2IpWN10sXHRlhDse9KCdpP5qNNpU84cTY+aiqswqR8XZ9ea0KbVRwRuOGQU3csAtV2fSbnq47U6es6rKlWLWhg3s/B9C9g+oTyp6RtIldR51OOkP5/6nSy6itUVPcMNOp4M/hDdKOz3uK6srbdxOrc2cJgr1Sg02oBxxSky6V7JaG+ziNwlfqnjnvh2/uq1lKfbp+qpwq/D/5OI5gkFl5CejKGxfc2YVJfGqc4E0x5e9PHK2ukbHNI7/RZV6LNe65apbTGjoCaQls0txPPbmQbCQn+/upCoXRZy9yzorWJvZ0KWcbXlBxU/d5I4ERUTxMuVWhSMmF677LNN7NnLwsmKawXkCgbrpcluOl0WChR1qhtSrxGXHu251dEItYhYX3snvn1gS2uXuzdTxCJjZtjsip0iT2sDC0qMS7Bk9su2NyXjFK5/f5ZoWwofg3DtTyjaFqspnOOTSh8xK/CKUFS57guVEkw9xoQuRCwwEO9Lu9z2vYxSa9NFV8DvSxv2C4WYLYF8Nrc4DzWkzNsk81JJOlZ/LYJrGCoj4MmZpnf3AXmzxT4rtl9jsqljEyedz468SGKdBiQzyz/qWKEhFg45ZczlZZ3KGL3l6sn+3TTa3zMVMhPa1obGp/z+fvY0QXTrJTf1XAT3EtQdUfYYlmWZyvPZ/6rWwU7UOQei7pVE0osgN94Iy+T1+omE6z4Rh2O20FjgBeK2y1mcoFiMDOJvuZPn5Moy9fmFH3wyfKvn4+TwfLvt/lHTTVnvrtoUWRBiQXhiNM8nE6ZoWeux/Z0b2unRcdUzdDpmL7CAgd1ToRXwgmHTZOgiGtVT+xr1QH9ObebRTT4NzL+XSpLuuWp62GqQvJVTPoZOeJCb6gIwd9XHMftQ+Kc08IKKdKQANSJ1a2gve3JdRhO0+tNiYzWAZfd7isoeBu67W7xuK8WX7nhJURld98Inb0t/dWOSau/kDvV4DJo/cImw9AO2Gvq0F2n0M7yIZKL8amMbjYld+qFls7hq8Acvq97K2PrCaomuUiesu7qNanGupEl6J/iem8lyr/NMnsTr6o41PO0yhQh3hPFN0wJP7S830je9iTBLzUNgYH+gUZpROo3rN2qgCI+6GewpX8w8CH+ro6QrWiStqmcMzVa3vEel+3/dDxMp0rDv1Q6wTMS3K64zTT6RWzK1y643im25Ja7X2ePCV2mTswd/4jshZPo4bLnerqIosq/hy2bKUAmVn9n4oun1+a0DIZ56UhVwmZHdUNpLa8gmPvxS1eNvCF1T0wo1wKPdCJi0qOrWz7oYRTzgTtkzEzZn308XSLwUog4OWGKJzCn/3FfF9iA32dZHSv30pRCM3KBY9WZoRhtdK/ChHk6DEQBsfV6tN2o1Cn0mLtPBfnkS+qy1L2xfFe9TQPtDE1Be44RTl82E9hPT2rS2+93LFbzhQQO3C/hD2jRFH3BWWbasAfuMhRJFcTri73eE835y016s22DjoFJ862WvLj69fu2TgSF3RHia9D5DSitlQAXYCnbdqjPkR287Lh6dCHDapos+eFDvcZPP2edPmTFxznJE/EBLoQQ0Qmn9EkZOyJmHxMbvKYb8o21ZHmv5YLqgsEPk9gWZwYQY9wLqGXuax/8QlV5qDaPbq9pLPT1yp+zOWKmraEy1OUJI7zdEcEmvBpbdwLrDCgEb2xX8S/nxZgjK4bRi+pbOmbh8bEeoPvU/L9ndx9kntlDALbdAvp0O8ZC3zSUnFg4cePsw7jxewWvL7HRSBLUn6J7vTH9uld5N76JFPgBCdXGF221oEJk++XfRwXplLSyrVO7HFWBEs99nTazKveW3HpbD4dH/YmdAl+lwbSt8BQWyTG7jAsACI7bPPUU9hI9XUHWqQOuezHzUjnx5Qqs6T1qNHfTTHleDtmqK7flA9a0gz2nycIpz1FHBuWxKNtUeTdqP29Fb3tv+tl5JyBqXoR+vCsdzZwZUhf6Lu8bvkB9yQP4x7GGegB0ym0Lpl03Q7e+C0cDsm9GSDepCDji7nUslLyYyluPfvLyKaDSX4xpR+nVYQjQQn5F8KbY1gbIVLiK1J3mW90zTyR1bqApX2BlWh7KG8LAY9/S9nWC0XXh9pZZo6xuir12T43rkaGfQssbQyIslA7uJnSHOV22NhlNtUo0czxPAsXhh8tIQYaTM4l/yAlZlydTcXhlG22Gs/n3BxKBd/3ZjYwg3NaUurVXhNB+afVnFfNr9TbC9ksNdvwpNfeHanyJ8M6GrIVfLlYAPv0ILe4dn0Z+BJSbJkN7eZY/c6+6ttDYcIDeUKIDXqUSE42Xdh5nRbuaObozjht0HJ5H1e+em+NJi/+8kQlyjCbJpPckwThZeIF9/u7lrVIKNeJLCN/TpPAeXxvd31/CUDWHK9MuP1V1TJgngzi4V0qzS3SW3Qy5UiGHqg02wQa5tsEl9s/X9nNMosgLlUgZSfCBj1DiypLfhr9/r0nR0XY2tmhDOcUS4E7cqa4EJBhzqvpbZa35Q5Iz5EqmhYiOGDAYk606Tv74+KGfPjKVuP15rIzgW0I7/niOu9el/sn2bRye0gV+GrePDRDMHjwO1lEdeXH8N+UTO3IoN18kpI3tPxz+fY+n2MGMSGFHAx/83tKeJOl+2i+f1O9v6FfEDBbqrw+lpM8Anav7zHNr7hE78nXUtPNodMbCnITWA7Ma/IHlZ50F9hWge/wzOvSbtqFVFtkS8Of2nssjZwbSFdU+VO8z6tCEc9UA9ACxT5zIUeSrkBB/v1krOpm7bVMrGxEKfI6LcnpB4D8bvn2hDKGqKrJaVAJuDaBEY3F7eXyqnFWlOoFV/8ZLspZiZd7orXLhd4mhHQgbuKbHjJWUzrnm0Dxw/LJLzXCkh7slMxKo8uxZIWZfdKHlfI7uj3LP6ARAuWdF7ZmZ7daOKqKGbz5LxOggTgS39oEioYmrqkCeUDvbxkBYKeHhcLmMN8dMF01ZMb32IpL/cH8R7VHQSI5I0YfL14g9d7P/6cjB1JXXxbozEDbsrPdmL8ph7QW10jio+v7YsqHKQ6xrBbOVtxU0/nFfzUGZwIBLwyUvg49ii+54nv9FyECBpURnQK4Ox6N7lw5fsjdd5l/2SwBcAHMJoyjO1Pifye2dagaOwCVMqdJWAo77pvBe0zdJcTWu5fdzPNfV2p1pc7/JKQ8zhKkwsOELUDhXygPJ5oR8Vpk2lsCen3D3QOQp2zdrSZHjVBstDF/wWO98rrkQ6/7zt/Drip7OHIug1lomNdmRaHRrjmqeodn22sesQQPgzimPOMqC60a5+i/UYh51uZm+ijWkkaI2xjrBO2558DZNZMiuDQlaVAvBy2wLn/bR3FrNzfnO/9oDztYqxZrr7JMIhqmrochbqmQnKowxW29bpqTaJu7kW1VotC72QkYX8OoDDdMDwV1kJRk3mufgJBzf+iwFRJ7XWQwO5ujVglgFgHtycWiMLx5N+6XU+TulLabWjOzoao03fniUW0xvIJNPbk7CQlFZd/RCOPvgQbLjh5ITE8NVJeKt3HGr6JTnFdIzcVOlEtwqbIIX0IM7saC+4N5047MTJ9+Wn11EhyEPIlwsHE5utCeXRjQzlrR+R1Cf/qDzcNbqLXdk3J7gQ39VUrrEkS/VMWjjg+t2oYrqB0tUZClcUF6+LBC3EQ7KnGIwm/qjZX4GKPtjTX1zQKV6nPAb2t/Rza5IqKRf8i2DFEhV/YSifX0YwsiF6TQnp48Gr65TFq0zUe6LGjiY7fq0LSGKL1VnC6ESI2yxvt3XqBx53B3gSlGFeJcPbUbonW1E9E9m4NfuwPh+t5QjRxX34lvBPVxwQd7aeTd+r9dw5CiP1pt8wMZoMdni7GapYdo6KPgeQKcmlFfq4UYhvV0IBgeiR3RnTMBaqDqpZrTRyLdsp4l0IXZTdErfH0sN3dqBG5vRIx3VgCYcHmmkqJ8Hyu3s9K9uBD1d8cZUEx3qYcF5vsqeRpF1GOg8emeWM2OmBlWPdZ6qAXwm3nENFyh+kvXk132PfWAlN0kb7yh4fz2T7VWUY/hEXX5DvxGABC03XRpyOG8t/u3Gh5tZdpsSV9AWaxJN7zwhVglgII1gV28tUViyqn4UMdIh5t+Ea2zo7PO48oba0TwQbiSZOH4YhD578kPF3reuaP7LujPMsjHmaDuId9XEaZBCJhbXJbRg5VCk3KJpryH/+8S3wdhR47pdFcmpZG2p0Bpjp/VbvalgIZMllYX5L31aMPdt1J7r/7wbixt0Mnz2ZvNGTARHPVD+2O1D8SGpWXlVnP2ekgon55YiinADDynyaXtZDXueVqbuTi8z8cHHK325pgqM+mWZwzHeEreMvhZopAScXM14SJHpGwZyRljMlDvcMm9FZ/1e9+r/puOnpXOtc9Iu2fmgBfEP9cGW1Fzb1rGlfJ08pACtq1ZW18bf2cevebzVeHbaA50G9qoUp39JWdPHbYkPCRXjt4gzlq3Cxge28Mky8MoS/+On72kc+ZI2xBtgJytpAQHQ1zrEddMIVyR5urX6yBNu8v5lKC8eLdGKTJtbgIZ3ZyTzSfWmx9f+cvcJe8yM39K/djkp2aUTE/9m2Lj5jg7b8vdRAer7DO3SyLNHs1CAm5x5iAdh2yGJYivArZbCBNY88Tw+w+C1Tbt7wK3zl2rzTHo/D8/gb3c3mYrnEIEipYqPUcdWjnTsSw471O3EUN7Gtg4NOAs9PJrxm03VuZKa5xwXAYCjt7Gs01Km6T2DhOYUMoFcCSu7Hk1p3yP1eG+M3v3Q5luAze6WwBnZIYO0TCucPWK+UJ36KoJ8Y+vpavhLO8g5ed704IjlQdfemrMu//EvPYXTQSGIPPfiagJS9nMqP5IvkxN9pvuJz7h8carPXTKMq8jnTeL0STan6dnLTAqwIswcIwWDR2KwbGddAVN8SYWRB7kfBfBRkSXzvHlIF8D6jo64kUzYk5o/n8oLjKqat0rdXvQ86MkwQGMnnlcasqPPT2+mVtUGb32KuH6cyZQenrRG11TArcAl27+nvOMBDe++EKHf4YdyGf7mznzOz33cFFGEcv329p4qG2hoaQ8ULiMyVz6ENcxhoqGnFIdupcn7GICQWuw3yO3W8S33mzCcMYJ8ywc7U7rmaQf/W5K63Gr4bVTpXOyOp4tbaPyIaatBNpXqlmQUTSZXjxPr19+73PSaT+QnI35YsWn6WpfJjRtK8vlJZoTSgjaRU39AGCkWOZtifJrnefCrqwTKDFmuWUCukEsYcRrMzCoit28wYpP7kSVjMD8WJYQiNc2blMjuqYegmf6SsfC1jqz8XzghMlOX+gn/MKZmgljszrmehEa4V98VreJDxYvHr3j7IeJB9/sBZV41BWT/AZAjuC5XorlIPnZgBAniBEhanp0/0+qZmEWDpu8ige1hUPIyTo6T6gDEcFhWSoduNh8YSu65KgMOGBw7VlNYzNIgwHtq9KP2yyTVysqX5v12sf7D+vQUdR2dRDvCV40rIInXSLWT/yrC6ExOQxBJwIDbeZcl3z1yR5Rj3l8IGpxspapnvBL+fwupA3b6fkFceID9wgiM1ILB0cHVdvo/R4xg8yqKXT8efl0GnGX1/27FUYeUW2L/GNRGGWVGp3i91oaJkb4rybENHre9a2P5viz/yqk8ngWUUS+Kv+fu+9BLFnfLiLXOFcIeBJLhnayCiuDRSqcx0Qu68gVsGYc6EHD500Fkt+gpDj6gvr884n8wZ5o6q7xtL5wA0beXQnffWYkZrs2NGIRgQbsc5NB302SVx+R4ROvmgZaR8wBcji128BMfJ9kcvJ4DC+bQ57kRmv5yxgU4ngZfn0/JNZ8JBwxjTqS+s9kjJFG1unGUGLwMiIuXUD9EFhNIJuyCEAmVZSIGKH4G6v1gRR1LyzQKH2ZqiI1DnHMoDEZspbDjTeaFIAbSvjSq3A+n46y9hhVM8wIpnARSXyzmOD96d9UXvFroSPgGw1dq2vdEqDq9fJN1EbL2WulNmHkFDvxSO9ZT/RX/Bw2gA/BrF90XrJACereVfbV/YXaKfp77Nmx5NjEIUlxojsy7iN7nBHSZigfsbFyVOX1ZTeCCxvqnRSExP4lk5ZeYlRu9caaa743TWNdchRIhEWwadsBIe245C8clpaZ4zrPsk+OwXzxWCvRRumyNSLW5KWaSJyJU95cwheK76gr7228spZ3hmTtLyrfM2QRFqZFMR8/Q6yWfVgwTdfX2Ry4w3+eAO/5VT5nFb5NlzXPvBEAWrNZ6Q3jbH0RF4vcbp+fDngf/ywpoyNQtjrfvcq93AVb1RDWRghvyqgI2BkMr1rwYi8gizZ0G9GmPpMeqPerAQ0dJbzx+KAFM4IBq6iSLpZHUroeyfd9o5o+4fR2EtsZBoJORQEA4SW0CmeXSnblx2e9QkCHIodyqV6+g5ETEpZsLqnd/Na60EKPX/tQpPEcO+COIBPcQdszDzSiHGyQFPly/7KciUh1u+mFfxTCHGv9nn2WqndGgeGjQ/kr02qmTBX7Hc1qiEvgiSz1Tz/sy7Es29wvn6FrDGPP7asXlhOaiHxOctPvTptFA1kHFUk8bME7SsTSnGbFbUrssxrq70LhoSh5OwvQna+w84XdXhZb2sloJ4ZsCg3j+PrjJL08/JBi5zGd6ud/ZxhmcGKLOXPcNunQq5ESW92iJvfsuRrNYtawWwSmNhPYoFj2QqWNF0ffLpGt/ad24RJ8vkb5sXkpyKXmvFG5Vcdzf/44k3PBL/ojJ52+kWGzOArnyp5f969oV3J2c4Li27Nkova9VwRNVKqN0V+gV+mTHitgkXV30aWd3A1RSildEleiNPA+5cp+3+T7X+xfHiRZXQ1s4FA9TxIcnveQs9JSZ5r5qNmgqlW4zMtZ6rYNvgmyVcywKtu8ZxnSbS5vXlBV+NXdIfi3+xzrnJ0TkFL+Un8v1PWOC2PPFCjVPq7qTH7mOpzOYj/b4h0ceT+eHgr97Jqhb1ziVfeANzfN8bFUhPKBi7hJBCukQnB0aGjFTYLJPXL26lQ2b80xrOD5cFWgA8hz3St0e69kwNnD3+nX3gy12FjrjO+ddRvvvfyV3SWbXcxqNHfmsb9u1TV+wHTb9B07/L2sB8WUHJ9eeNomDyysEWZ0deqEhH/oWI2oiEh526gvAK1Nx2kIhNvkYR+tPYHEa9j+nd1VBpQP1uzSjIDO+fDDB7uy029rRjDC5Sk6aKczyz1D5uA9Lu+Rrrapl8JXNL3VRllNQH2K1ZFxOpX8LprttfqQ56MbPM0IttUheXWD/mROOeFqGUbL+kUOVlXLTFX/525g4faLEFO4qWWdmOXMNvVjpIVTWt650HfQjX9oT3Dg5Au6+v1/Ci78La6ZOngYCFPT1AUwxQuZ0yt5xKdNXLaDTISMTeCj16XTryhM36K2mfGRIgot71voWs8tTpL/f1rvcwv3LSDf+/G8THCT7NpfHWcW+lsF/ol8q9Bi6MezNTqp0rpp/kJRiVfNrX/w27cRRTu8RIIqtUblBMkxy4jwAVqCjUJkiPBj2cAoVloG8B2/N5deLdMhDb7xs5nhd3dubJhuj8WbaFRyu1L678DHhhA+rMimNo4C1kGpp0tD/qnCfCFHejpf0LJX43OTr578PY0tnIIrlWyNYyuR/ie6j2xNb1OV6u0dOX/1Dtcd7+ya9W+rY2LmnyQMtk8SMLTon8RAdwOaN2tNg5zVnDKlmVeOxPV2vhHIo9QEPV7jc3f+zVDquiNg1OaHX3cZXJDRY5MJpo+VanAcmqp4oasYLG+wrXUL5vJU0kqk2hGEskhP+Jjigrz1l6QnEwp6n8PMVeJp70Ii6ppeaK9GhF6fJE00ceLyxv08tKiPat4QdxZFgSbQknnEiCLD8Qc1rjazVKM3r3gXnnMeONgdz/yFV1q+haaN+wnF3Fn4uYCI9XsKOuVwDD0LsCO/f0gj5cmxCFcr7sclIcefWjvore+3aSU474cyqDVxH7w1RX3CHsaqsMRX17ZLgjsDXws3kLm2XJdM3Ku383UXqaHqsywzPhx7NFir0Fqjym/w6cxD2U9ypa3dx7Z12w/fi3Jps8sqJ8f8Ah8aZAvkHXvIRyrsxK7rrFaNNdNvjI8+3Emri195DCNa858anj2Qdny6Czshkn4N2+1m+k5S8sunX3Ja7I+JutRzg1mc2e9Yc0Zv9PZn1SwhxIdU9sXwZRTd/J5FoUm0e+PYREeHg3oc2YYzGf2xfJxXExt4pT3RfDRHvMXLUmoXOy63xv5pLuhOEax0dRgSywZ/GH+YBXFgCeTU0hZ8SPEFsn8punp1Kurd1KgXxUZ+la3R5+4ePGR4ZF5UQtOa83+Vj8zh80dfzbhxWCeoJnQ4dkZJM4drzknZOOKx2n3WrvJnzFIS8p0xeic+M3ZRVXIp10tV2DyYKwRxLzulPwzHcLlYTxl4PF7v8l106Azr+6wBFejbq/3P72C/0j78cepY9990/d4eAurn2lqdGKLU8FffnMw7cY7pVeXJRMU73Oxwi2g2vh/+4gX8dvbjfojn/eLVhhYl8GthwCQ50KcZq4z2JeW5eeOnJWFQEnVxDoG459TaC4zXybECEoJ0V5q1tXrQbDMtUxeTV6Pdt1/zJuc7TJoV/9YZFWxUtCf6Ou3Vd/vR/vG0138hJQrHkNeoep5dLe+6umcSquKvMaFpm3EZHDBOvCi0XYyIFHMgX7Cqp3JVXlxJFwQfHSaIUEbI2u1lBVUdlNw4Qa9UsLPEK94Qiln3pyKxQVCeNlx8yd7EegVNQBkFLabKvnietYVB4IPZ1fSor82arbgYec8aSdFMaIluYTYuNx32SxfrjKUdPGq+UNp5YpydoEG3xVLixtmHO9zXxKAnHnPuH2fPGrjx0GcuCDEU+yXUtXh6nfUL+cykws1gJ5vkfYFaFBr9PdCXvVf35OJQxzUMmWjv0W6uGJK11uAGDqSpOwCf6rouSIjPVgw57cJCOQ4b9tkI/Y5WNon9Swe72aZryKo8d+HyHBEdWJKrkary0LIGczA4Irq353Wc0Zga3om7UQiAGCvIl8GGyaqz5zH+1gMP5phWUCpKtttWIyicz09vXg76GxkmiGSMQ06Z9X8BUwqOtauDbPIf4rpK/yYoeAHxJ9soXS9VDe1Aw+awOOxaN8foLrif0TXBvQ55dtRtulRq9emFDBxlQcqKCaD8NeTSE7FOHvcjf/+oKbbtRqz9gbofoc2EzQ3pL6W5JdfJzAWmOk8oeoECe90lVMruwl/ltM015P/zIPazqvdvFmLNVHMIZrwiQ2tIKtGh6PDVH+85ew3caqVt2BsDv5rOcu3G9srQWd7NmgtzCRUXLYknYRSwtH9oUtkqyN3CfP20xQ1faXQl4MEmjQehWR6GmGnkdpYNQYeIG408yAX7uCZmYUic9juOfb+Re28+OVOB+scYK4DaPcBe+5wmji9gymtkMpKo4UKqCz7yxzuN8VIlx9yNozpRJpNaWHtaZVEqP45n2JemTlYBSmNIK1FuSYAUQ1yBLnKxevrjayd+h2i8PjdB3YY6b0nr3JuOXGpPMyh4V2dslpR3DFEvgpsBLqhqLDOWP4yEvIL6f21PpA7/8B")),l=Math.log2||(t=>Math.log(t)/Math.LN2),f=t=>l(t)+1|0,h=f(s(c).categories.length-1),d=f(s(c).combiningClasses.length-1),p=f(s(c).scripts.length-1),g=f(s(c).eaw.length-1),y=d+p+g+10,b=p+g+10,v=g+10,m=10,w=(1<<h)-1,S=(1<<d)-1,x=(1<<p)-1,_=(1<<g)-1,A=1023;function C(t){const e=u.get(t);return s(c).categories[e>>y&w]}function k(t){const e=u.get(t);return s(c).combiningClasses[e>>b&S]}function E(t){const e=u.get(t);return s(c).scripts[e>>v&x]}function P(t){const e=u.get(t);return s(c).eaw[e>>m&_]}function O(t){let e=u.get(t),r=e&A;if(0===r)return null;if(r<=50)return r-1;if(r<480){return((r>>4)-12)/(1+(15&r))}if(r<768){e=(r>>5)-14;let t=2+(31&r);for(;t>0;)e*=10,t--;return e}{e=(r>>2)-191;let t=1+(3&r);for(;t>0;)e*=60,t--;return e}}function B(t){const e=C(t);return"Lu"===e||"Ll"===e||"Lt"===e||"Lm"===e||"Lo"===e||"Nl"===e}function I(t){return"Nd"===C(t)}function T(t){const e=C(t);return"Pc"===e||"Pd"===e||"Pe"===e||"Pf"===e||"Pi"===e||"Po"===e||"Ps"===e}function R(t){return"Ll"===C(t)}function M(t){return"Lu"===C(t)}function D(t){return"Lt"===C(t)}function F(t){const e=C(t);return"Zs"===e||"Zl"===e||"Zp"===e}function N(t){const e=C(t);return"Nd"===e||"No"===e||"Nl"===e||"Lu"===e||"Ll"===e||"Lt"===e||"Lm"===e||"Lo"===e||"Me"===e||"Mc"===e}function L(t){const e=C(t);return"Mn"===e||"Me"===e||"Mc"===e}var j={getCategory:C,getCombiningClass:k,getScript:E,getEastAsianWidth:P,getNumericValue:O,isAlphabetic:B,isDigit:I,isPunctuation:T,isLowerCase:R,isUpperCase:M,isTitleCase:D,isWhiteSpace:F,isBaseForm:N,isMark:L}},21207:function(t){"use strict";t.exports=JSON.parse('[["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー［］✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","￢￤＇＂㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","￭"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]')},3232:function(t){"use strict";t.exports=JSON.parse('[["0","\\u0000",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1","　、。·ˉˇ¨〃々—～‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃＄¤￠￡‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","！＂＃￥％",88,"￣"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰￢￤"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]')},39640:function(t){"use strict";t.exports=JSON.parse('[["0","\\u0000",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎　、。·‥…¨〃­―∥＼∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´～ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛！",58,"￦］",32,"￣"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆÐªĦ"],["a8a6","Ĳ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıĳĸŀłøœßþŧŋŉ㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]')},6224:function(t){"use strict";t.exports=JSON.parse('[["0","\\u0000",127],["a140","　，、。．‧；：？！︰…‥﹐﹑﹒·﹔﹕﹖﹗｜–︱—︳╴︴﹏（）︵︶｛｝︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′＃＆＊※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯￣＿ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡＋－×÷±√＜＞＝≦≧≠∞≒≡﹢",4,"～∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣／"],["a240","＼∕﹨＄￥〒￠￡％＠℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳０",9,"Ⅰ",9,"〡",8,"十卄卅Ａ",25,"ａ",21],["a340","ｗｘｙｚΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]')},22973:function(t){"use strict";t.exports=JSON.parse('[["0","\\u0000",127],["8ea1","｡",62],["a1a1","　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",9,"＋－±×÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨￢⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","Å‰♯♭♪†‡¶"],["a2fe","◯"],["a3b0","０",9],["a3c1","Ａ",25],["a3e1","ａ",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"￢￤＇＂"],["8fa2af","˘ˇ¸˙˝¯˛˚～΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","Ĳ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıĳĸłŀŉŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]')},90675:function(t){"use strict";t.exports=JSON.parse('{"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]}')},32111:function(t){"use strict";t.exports=JSON.parse('[["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31,"　"],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc",""],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93]]')},63250:function(t){"use strict";t.exports=JSON.parse('[["0","\\u0000",128],["a1","｡",62],["8140","　、。，．・：；？！゛゜´｀¨＾￣＿ヽヾゝゞ〃仝々〆〇ー―‐／＼～∥｜…‥‘’“”（）〔〕［］｛｝〈",9,"＋－±×"],["8180","÷＝≠＜＞≦≧∞∴♂♀°′″℃￥＄￠￡％＃＆＊＠§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨￢⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","Å‰♯♭♪†‡¶"],["81fc","◯"],["824f","０",9],["8260","Ａ",25],["8281","ａ",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"￢￤＇＂"],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"￢￤＇＂㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]')}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var o=e[n]={exports:{}};return t[n].call(o.exports,o,o.exports,r),o.exports}r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var n={};!function(){"use strict";r.r(n),r.d(n,{BlobStream:function(){return a},PDFDocument:function(){return s}});r(21941),r(55588),r(10803),r(35898),r(5312),r(44111),r(46100),r(43314),r(41814),r(46678),r(12526),r(76354),r(55812),r(22974),r(29555),r(43761),r(51283),r(39188),r(64616),r(79822),r(26044),r(27738),r(22291),r(71075),r(60011),r(13892),r(45138),r(4079),r(43246),r(34927),r(39636),r(33180),r(58781),r(77873),r(18684),r(5722),r(74957),r(33631),r(71863),r(60903),r(43489),r(70065),r(89889),r(43010),r(12705),r(50426),r(41865),r(17250),r(76123),r(95240),r(89359),r(83118),r(13204),r(17549),r(25792),r(72744),r(6048),r(28727),r(76500),r(24884),r(69472),r(83645),r(78960),r(6013),r(19198),r(54554),r(15069),r(52751),r(46543),r(90872),r(88148),r(91022),r(84006),r(90936),r(88120),r(63582),r(88368),r(5331),r(96697),r(85512),r(54873),r(13336),r(18631),r(31263),r(58215),r(88984),r(99234),r(62921),r(12615),r(91321),r(81119),r(20846),r(39591),r(64820),r(50921),r(32096),r(82818),r(51998),r(86930),r(30303),r(97250),r(28136),r(60467),r(19801),r(89621),r(20208),r(87510),r(55225),r(15477),r(45033),r(38297),r(26055),r(71463),r(47160),r(52831),r(64701),r(2012),r(89905),r(21649),r(32069),r(90338),r(7641),r(20507),r(86800),r(61641),r(42716),r(93064),r(92931),r(80261),r(72178),r(1021),r(78547),r(21663),r(4298),r(88811),r(36099),r(98290),r(18059),r(36587),r(91189),r(61498),r(11950),r(50754),r(44190),r(97156),r(80984),r(14597),r(72971),r(31415),r(1699),r(15868),r(33924),r(64441),r(69175),r(64963),r(88357),r(19721),r(9760),r(17149),r(80840),r(14361),r(81741),r(51825),r(1884),r(1693),r(54715),r(17365),r(65502),r(22993),r(71595),r(68318),r(43174),r(80015),r(50620),r(69429),r(77586),r(89607),r(91042),r(14653),r(67379),r(5073),r(21786),r(37510),r(40491),r(13613),r(36854),r(45433),r(79942),r(5626),r(878),r(56154),r(8695),r(74243),r(80741),r(71507),r(55989),r(48999),r(83133);var t=r(22653),e=r.n(t),i=r(77597),o=r(82871);r.n(o)().writeFileSync("data/Symbol.afm","StartFontMetrics 4.1\r\nComment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved.\r\nComment Creation Date: Thu May  1 15:12:25 1997\r\nComment UniqueID 43064\r\nComment VMusage 30820 39997\r\nFontName Symbol\r\nFullName Symbol\r\nFamilyName Symbol\r\nWeight Medium\r\nItalicAngle 0\r\nIsFixedPitch false\r\nCharacterSet Special\r\nFontBBox -180 -293 1090 1010 \r\nUnderlinePosition -100\r\nUnderlineThickness 50\r\nVersion 001.008\r\nNotice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved.\r\nEncodingScheme FontSpecific\r\nStdHW 92\r\nStdVW 85\r\nStartCharMetrics 190\r\nC 32 ; WX 250 ; N space ; B 0 0 0 0 ;\r\nC 33 ; WX 333 ; N exclam ; B 128 -17 240 672 ;\r\nC 34 ; WX 713 ; N universal ; B 31 0 681 705 ;\r\nC 35 ; WX 500 ; N numbersign ; B 20 -16 481 673 ;\r\nC 36 ; WX 549 ; N existential ; B 25 0 478 707 ;\r\nC 37 ; WX 833 ; N percent ; B 63 -36 771 655 ;\r\nC 38 ; WX 778 ; N ampersand ; B 41 -18 750 661 ;\r\nC 39 ; WX 439 ; N suchthat ; B 48 -17 414 500 ;\r\nC 40 ; WX 333 ; N parenleft ; B 53 -191 300 673 ;\r\nC 41 ; WX 333 ; N parenright ; B 30 -191 277 673 ;\r\nC 42 ; WX 500 ; N asteriskmath ; B 65 134 427 551 ;\r\nC 43 ; WX 549 ; N plus ; B 10 0 539 533 ;\r\nC 44 ; WX 250 ; N comma ; B 56 -152 194 104 ;\r\nC 45 ; WX 549 ; N minus ; B 11 233 535 288 ;\r\nC 46 ; WX 250 ; N period ; B 69 -17 181 95 ;\r\nC 47 ; WX 278 ; N slash ; B 0 -18 254 646 ;\r\nC 48 ; WX 500 ; N zero ; B 24 -14 476 685 ;\r\nC 49 ; WX 500 ; N one ; B 117 0 390 673 ;\r\nC 50 ; WX 500 ; N two ; B 25 0 475 685 ;\r\nC 51 ; WX 500 ; N three ; B 43 -14 435 685 ;\r\nC 52 ; WX 500 ; N four ; B 15 0 469 685 ;\r\nC 53 ; WX 500 ; N five ; B 32 -14 445 690 ;\r\nC 54 ; WX 500 ; N six ; B 34 -14 468 685 ;\r\nC 55 ; WX 500 ; N seven ; B 24 -16 448 673 ;\r\nC 56 ; WX 500 ; N eight ; B 56 -14 445 685 ;\r\nC 57 ; WX 500 ; N nine ; B 30 -18 459 685 ;\r\nC 58 ; WX 278 ; N colon ; B 81 -17 193 460 ;\r\nC 59 ; WX 278 ; N semicolon ; B 83 -152 221 460 ;\r\nC 60 ; WX 549 ; N less ; B 26 0 523 522 ;\r\nC 61 ; WX 549 ; N equal ; B 11 141 537 390 ;\r\nC 62 ; WX 549 ; N greater ; B 26 0 523 522 ;\r\nC 63 ; WX 444 ; N question ; B 70 -17 412 686 ;\r\nC 64 ; WX 549 ; N congruent ; B 11 0 537 475 ;\r\nC 65 ; WX 722 ; N Alpha ; B 4 0 684 673 ;\r\nC 66 ; WX 667 ; N Beta ; B 29 0 592 673 ;\r\nC 67 ; WX 722 ; N Chi ; B -9 0 704 673 ;\r\nC 68 ; WX 612 ; N Delta ; B 6 0 608 688 ;\r\nC 69 ; WX 611 ; N Epsilon ; B 32 0 617 673 ;\r\nC 70 ; WX 763 ; N Phi ; B 26 0 741 673 ;\r\nC 71 ; WX 603 ; N Gamma ; B 24 0 609 673 ;\r\nC 72 ; WX 722 ; N Eta ; B 39 0 729 673 ;\r\nC 73 ; WX 333 ; N Iota ; B 32 0 316 673 ;\r\nC 74 ; WX 631 ; N theta1 ; B 18 -18 623 689 ;\r\nC 75 ; WX 722 ; N Kappa ; B 35 0 722 673 ;\r\nC 76 ; WX 686 ; N Lambda ; B 6 0 680 688 ;\r\nC 77 ; WX 889 ; N Mu ; B 28 0 887 673 ;\r\nC 78 ; WX 722 ; N Nu ; B 29 -8 720 673 ;\r\nC 79 ; WX 722 ; N Omicron ; B 41 -17 715 685 ;\r\nC 80 ; WX 768 ; N Pi ; B 25 0 745 673 ;\r\nC 81 ; WX 741 ; N Theta ; B 41 -17 715 685 ;\r\nC 82 ; WX 556 ; N Rho ; B 28 0 563 673 ;\r\nC 83 ; WX 592 ; N Sigma ; B 5 0 589 673 ;\r\nC 84 ; WX 611 ; N Tau ; B 33 0 607 673 ;\r\nC 85 ; WX 690 ; N Upsilon ; B -8 0 694 673 ;\r\nC 86 ; WX 439 ; N sigma1 ; B 40 -233 436 500 ;\r\nC 87 ; WX 768 ; N Omega ; B 34 0 736 688 ;\r\nC 88 ; WX 645 ; N Xi ; B 40 0 599 673 ;\r\nC 89 ; WX 795 ; N Psi ; B 15 0 781 684 ;\r\nC 90 ; WX 611 ; N Zeta ; B 44 0 636 673 ;\r\nC 91 ; WX 333 ; N bracketleft ; B 86 -155 299 674 ;\r\nC 92 ; WX 863 ; N therefore ; B 163 0 701 487 ;\r\nC 93 ; WX 333 ; N bracketright ; B 33 -155 246 674 ;\r\nC 94 ; WX 658 ; N perpendicular ; B 15 0 652 674 ;\r\nC 95 ; WX 500 ; N underscore ; B -2 -125 502 -75 ;\r\nC 96 ; WX 500 ; N radicalex ; B 480 881 1090 917 ;\r\nC 97 ; WX 631 ; N alpha ; B 41 -18 622 500 ;\r\nC 98 ; WX 549 ; N beta ; B 61 -223 515 741 ;\r\nC 99 ; WX 549 ; N chi ; B 12 -231 522 499 ;\r\nC 100 ; WX 494 ; N delta ; B 40 -19 481 740 ;\r\nC 101 ; WX 439 ; N epsilon ; B 22 -19 427 502 ;\r\nC 102 ; WX 521 ; N phi ; B 28 -224 492 673 ;\r\nC 103 ; WX 411 ; N gamma ; B 5 -225 484 499 ;\r\nC 104 ; WX 603 ; N eta ; B 0 -202 527 514 ;\r\nC 105 ; WX 329 ; N iota ; B 0 -17 301 503 ;\r\nC 106 ; WX 603 ; N phi1 ; B 36 -224 587 499 ;\r\nC 107 ; WX 549 ; N kappa ; B 33 0 558 501 ;\r\nC 108 ; WX 549 ; N lambda ; B 24 -17 548 739 ;\r\nC 109 ; WX 576 ; N mu ; B 33 -223 567 500 ;\r\nC 110 ; WX 521 ; N nu ; B -9 -16 475 507 ;\r\nC 111 ; WX 549 ; N omicron ; B 35 -19 501 499 ;\r\nC 112 ; WX 549 ; N pi ; B 10 -19 530 487 ;\r\nC 113 ; WX 521 ; N theta ; B 43 -17 485 690 ;\r\nC 114 ; WX 549 ; N rho ; B 50 -230 490 499 ;\r\nC 115 ; WX 603 ; N sigma ; B 30 -21 588 500 ;\r\nC 116 ; WX 439 ; N tau ; B 10 -19 418 500 ;\r\nC 117 ; WX 576 ; N upsilon ; B 7 -18 535 507 ;\r\nC 118 ; WX 713 ; N omega1 ; B 12 -18 671 583 ;\r\nC 119 ; WX 686 ; N omega ; B 42 -17 684 500 ;\r\nC 120 ; WX 493 ; N xi ; B 27 -224 469 766 ;\r\nC 121 ; WX 686 ; N psi ; B 12 -228 701 500 ;\r\nC 122 ; WX 494 ; N zeta ; B 60 -225 467 756 ;\r\nC 123 ; WX 480 ; N braceleft ; B 58 -183 397 673 ;\r\nC 124 ; WX 200 ; N bar ; B 65 -293 135 707 ;\r\nC 125 ; WX 480 ; N braceright ; B 79 -183 418 673 ;\r\nC 126 ; WX 549 ; N similar ; B 17 203 529 307 ;\r\nC 160 ; WX 750 ; N Euro ; B 20 -12 714 685 ;\r\nC 161 ; WX 620 ; N Upsilon1 ; B -2 0 610 685 ;\r\nC 162 ; WX 247 ; N minute ; B 27 459 228 735 ;\r\nC 163 ; WX 549 ; N lessequal ; B 29 0 526 639 ;\r\nC 164 ; WX 167 ; N fraction ; B -180 -12 340 677 ;\r\nC 165 ; WX 713 ; N infinity ; B 26 124 688 404 ;\r\nC 166 ; WX 500 ; N florin ; B 2 -193 494 686 ;\r\nC 167 ; WX 753 ; N club ; B 86 -26 660 533 ;\r\nC 168 ; WX 753 ; N diamond ; B 142 -36 600 550 ;\r\nC 169 ; WX 753 ; N heart ; B 117 -33 631 532 ;\r\nC 170 ; WX 753 ; N spade ; B 113 -36 629 548 ;\r\nC 171 ; WX 1042 ; N arrowboth ; B 24 -15 1024 511 ;\r\nC 172 ; WX 987 ; N arrowleft ; B 32 -15 942 511 ;\r\nC 173 ; WX 603 ; N arrowup ; B 45 0 571 910 ;\r\nC 174 ; WX 987 ; N arrowright ; B 49 -15 959 511 ;\r\nC 175 ; WX 603 ; N arrowdown ; B 45 -22 571 888 ;\r\nC 176 ; WX 400 ; N degree ; B 50 385 350 685 ;\r\nC 177 ; WX 549 ; N plusminus ; B 10 0 539 645 ;\r\nC 178 ; WX 411 ; N second ; B 20 459 413 737 ;\r\nC 179 ; WX 549 ; N greaterequal ; B 29 0 526 639 ;\r\nC 180 ; WX 549 ; N multiply ; B 17 8 533 524 ;\r\nC 181 ; WX 713 ; N proportional ; B 27 123 639 404 ;\r\nC 182 ; WX 494 ; N partialdiff ; B 26 -20 462 746 ;\r\nC 183 ; WX 460 ; N bullet ; B 50 113 410 473 ;\r\nC 184 ; WX 549 ; N divide ; B 10 71 536 456 ;\r\nC 185 ; WX 549 ; N notequal ; B 15 -25 540 549 ;\r\nC 186 ; WX 549 ; N equivalence ; B 14 82 538 443 ;\r\nC 187 ; WX 549 ; N approxequal ; B 14 135 527 394 ;\r\nC 188 ; WX 1000 ; N ellipsis ; B 111 -17 889 95 ;\r\nC 189 ; WX 603 ; N arrowvertex ; B 280 -120 336 1010 ;\r\nC 190 ; WX 1000 ; N arrowhorizex ; B -60 220 1050 276 ;\r\nC 191 ; WX 658 ; N carriagereturn ; B 15 -16 602 629 ;\r\nC 192 ; WX 823 ; N aleph ; B 175 -18 661 658 ;\r\nC 193 ; WX 686 ; N Ifraktur ; B 10 -53 578 740 ;\r\nC 194 ; WX 795 ; N Rfraktur ; B 26 -15 759 734 ;\r\nC 195 ; WX 987 ; N weierstrass ; B 159 -211 870 573 ;\r\nC 196 ; WX 768 ; N circlemultiply ; B 43 -17 733 673 ;\r\nC 197 ; WX 768 ; N circleplus ; B 43 -15 733 675 ;\r\nC 198 ; WX 823 ; N emptyset ; B 39 -24 781 719 ;\r\nC 199 ; WX 768 ; N intersection ; B 40 0 732 509 ;\r\nC 200 ; WX 768 ; N union ; B 40 -17 732 492 ;\r\nC 201 ; WX 713 ; N propersuperset ; B 20 0 673 470 ;\r\nC 202 ; WX 713 ; N reflexsuperset ; B 20 -125 673 470 ;\r\nC 203 ; WX 713 ; N notsubset ; B 36 -70 690 540 ;\r\nC 204 ; WX 713 ; N propersubset ; B 37 0 690 470 ;\r\nC 205 ; WX 713 ; N reflexsubset ; B 37 -125 690 470 ;\r\nC 206 ; WX 713 ; N element ; B 45 0 505 468 ;\r\nC 207 ; WX 713 ; N notelement ; B 45 -58 505 555 ;\r\nC 208 ; WX 768 ; N angle ; B 26 0 738 673 ;\r\nC 209 ; WX 713 ; N gradient ; B 36 -19 681 718 ;\r\nC 210 ; WX 790 ; N registerserif ; B 50 -17 740 673 ;\r\nC 211 ; WX 790 ; N copyrightserif ; B 51 -15 741 675 ;\r\nC 212 ; WX 890 ; N trademarkserif ; B 18 293 855 673 ;\r\nC 213 ; WX 823 ; N product ; B 25 -101 803 751 ;\r\nC 214 ; WX 549 ; N radical ; B 10 -38 515 917 ;\r\nC 215 ; WX 250 ; N dotmath ; B 69 210 169 310 ;\r\nC 216 ; WX 713 ; N logicalnot ; B 15 0 680 288 ;\r\nC 217 ; WX 603 ; N logicaland ; B 23 0 583 454 ;\r\nC 218 ; WX 603 ; N logicalor ; B 30 0 578 477 ;\r\nC 219 ; WX 1042 ; N arrowdblboth ; B 27 -20 1023 510 ;\r\nC 220 ; WX 987 ; N arrowdblleft ; B 30 -15 939 513 ;\r\nC 221 ; WX 603 ; N arrowdblup ; B 39 2 567 911 ;\r\nC 222 ; WX 987 ; N arrowdblright ; B 45 -20 954 508 ;\r\nC 223 ; WX 603 ; N arrowdbldown ; B 44 -19 572 890 ;\r\nC 224 ; WX 494 ; N lozenge ; B 18 0 466 745 ;\r\nC 225 ; WX 329 ; N angleleft ; B 25 -198 306 746 ;\r\nC 226 ; WX 790 ; N registersans ; B 50 -20 740 670 ;\r\nC 227 ; WX 790 ; N copyrightsans ; B 49 -15 739 675 ;\r\nC 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ;\r\nC 229 ; WX 713 ; N summation ; B 14 -108 695 752 ;\r\nC 230 ; WX 384 ; N parenlefttp ; B 24 -293 436 926 ;\r\nC 231 ; WX 384 ; N parenleftex ; B 24 -85 108 925 ;\r\nC 232 ; WX 384 ; N parenleftbt ; B 24 -293 436 926 ;\r\nC 233 ; WX 384 ; N bracketlefttp ; B 0 -80 349 926 ;\r\nC 234 ; WX 384 ; N bracketleftex ; B 0 -79 77 925 ;\r\nC 235 ; WX 384 ; N bracketleftbt ; B 0 -80 349 926 ;\r\nC 236 ; WX 494 ; N bracelefttp ; B 209 -85 445 925 ;\r\nC 237 ; WX 494 ; N braceleftmid ; B 20 -85 284 935 ;\r\nC 238 ; WX 494 ; N braceleftbt ; B 209 -75 445 935 ;\r\nC 239 ; WX 494 ; N braceex ; B 209 -85 284 935 ;\r\nC 241 ; WX 329 ; N angleright ; B 21 -198 302 746 ;\r\nC 242 ; WX 274 ; N integral ; B 2 -107 291 916 ;\r\nC 243 ; WX 686 ; N integraltp ; B 308 -88 675 920 ;\r\nC 244 ; WX 686 ; N integralex ; B 308 -88 378 975 ;\r\nC 245 ; WX 686 ; N integralbt ; B 11 -87 378 921 ;\r\nC 246 ; WX 384 ; N parenrighttp ; B 54 -293 466 926 ;\r\nC 247 ; WX 384 ; N parenrightex ; B 382 -85 466 925 ;\r\nC 248 ; WX 384 ; N parenrightbt ; B 54 -293 466 926 ;\r\nC 249 ; WX 384 ; N bracketrighttp ; B 22 -80 371 926 ;\r\nC 250 ; WX 384 ; N bracketrightex ; B 294 -79 371 925 ;\r\nC 251 ; WX 384 ; N bracketrightbt ; B 22 -80 371 926 ;\r\nC 252 ; WX 494 ; N bracerighttp ; B 48 -85 284 925 ;\r\nC 253 ; WX 494 ; N bracerightmid ; B 209 -85 473 935 ;\r\nC 254 ; WX 494 ; N bracerightbt ; B 48 -75 284 935 ;\r\nC -1 ; WX 790 ; N apple ; B 56 -3 733 808 ;\r\nEndCharMetrics\r\nEndFontMetrics\r\n");const s=e(),a=i}();var i=window;for(var o in n)i[o]=n[o];n.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})}();   	   (function() { 
  "use strict";
  var __webpack_require__ = {};
  !function() {
   __webpack_require__.r = function(exports) {
    if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    }
    Object.defineProperty(exports, '__esModule', { value: true });
   };
  }();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
;
const constants = {
 MainID: "_Main",
 ViewID: "_View",
 DialogControlID: "_REDC",
 ModalDialogControlID: "_REMC",
 PopupMenuControlID: "_REPUM",
 AutoCorrectBarID: "_AC",
 RibbonID: "_R",
 HelperFrameID: "_HF",
 LoadingPanel: "_LPC",
 Bar: "_Bar",
 MeasurerContainerCssClass: "dxreMeasurer",
 HelperFrameCssClass: "dxre-helperFrame",
 SuggestionMenuItemCssClass: "dxre-pum-suggestionItem",
 PlaceholderDivCssClass: "dxrePlaceholderDiv",
 InternalCallBackPostfix: "%RichEdit",
 PerformCallbackPrefix: "REPC",
 CommandsCallbackPrefix: "REC",
 InternalCallbackPrefix: "IC-",
 UploadControlUrlParameter: "REUCUP",
 Base64ImageDataUrl: "data:image/png;base64,"
};
;
const currMixin = _baseClass => {
 return {
  createUploadManager: function createUploadManager(stateHelper) {
   return new ASPxRichEditFileManagerUploadManagerClass(this.options, stateHelper);
  },
 };
};
class RichEditFileManagerUploadControl extends ASPx.FileManagerUploadControl {
 get _template() { return currMixin(ASPx.FileManagerUploadControl); }
 ;
 createUploadManager(stateHelper) {
  return this._template.createUploadManager.call(this, stateHelper);
 }
 static createMixinForBootstrap() {
  ASPx.RegisterMixin("RE_FileManagerUploadControl", currMixin);
 }
}
RichEditFileManagerUploadControl._createMixinForBootstrap = RichEditFileManagerUploadControl.createMixinForBootstrap();
class ASPxRichEditFileManagerUploadManagerClass extends ASPxClientUploadControl.UploadManagerClass {
 GetUploadFormAction(form) {
  var action = super.GetUploadFormAction(form);
  return this.AddQueryParamToUrl(action, constants.UploadControlUrlParameter, constants.InternalCallBackPostfix);
 }
}
;
(window.ASPx)['RichEditFileManagerUploadControl'] = RichEditFileManagerUploadControl;
var __webpack_export_target__ = window;
for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
 })()
;    (function() { 
  "use strict";
  var __webpack_require__ = {};
  !function() {
   __webpack_require__.d = function(exports, definition) {
    for(var key in definition) {
     if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
      Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
     }
    }
   };
  }();
  !function() {
   __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
  }();
  !function() {
   __webpack_require__.r = function(exports) {
    if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    }
    Object.defineProperty(exports, '__esModule', { value: true });
   };
  }();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
 __webpack_require__.d(__webpack_exports__, {
   ASPxClientRichEditFolderManager: function() { return  ASPxClientRichEditFolderManager; }
 });
const constants = {
 CallbackPrefix: "REFM"
};
const managerName = "RE_FolderManager";
const currMixin = baseClass => {
 return {
  constructor: function (name) {
   this.constructor.prototype.constructor.call(this, name);
   this.callbackCount = 0;
   this.notifyOwnerDialogOnEndCallback = false;
  },
  InitializeKbdHelper: function () {
  },
  CreateCallback: function (callbackString) {
   this.richedit.sendInternalServiceCallback(constants.CallbackPrefix, callbackString, this);
   this.callbackCount++;
   this.notifyOwnerDialogOnEndCallback = false;
  },
  OnCallback: function (result) {
   baseClass.prototype.OnCallback.call(this, result);
   this.notifyOwnerDialogOnEndCallback = this.isChangeFolderCallback(result);
  },
  OnEndCallback: function () {
   if (this.callbackCount > 0)
    this.callbackCount--;
   if (this.callbackCount <= 0)
    this.richedit.clearOwnerControlCallback();
   baseClass.prototype.DoEndCallback.apply(this);
   if (this.notifyOwnerDialogOnEndCallback) {
    var currentDialog = this.richedit.getCurrentDialog();
    if (currentDialog && currentDialog.onFileManagerReceivedData)
     currentDialog.onFileManagerReceivedData();
   }
   this.notifyOwnerDialogOnEndCallback = false;
  },
  InCallback: function () {
   return this.callbackCount > 0 || baseClass.prototype.InCallback.call(this);
  },
  isChangeFolderCallback: function (result) {
   return result && result.command === "CHANGEFOLDER" || result.command === "GETFILELIST";
  },
  PrepareFileStates: function () {
   baseClass.prototype.PrepareFileStates();
   this.forEachFile((file) => {
    (() => {
     var fileId = file.id;
     ASPx.GetStateController().RemoveSelectedItem(fileId);
    }).call(this);
   });
  },
  RaiseEndCallback: function () {
   this.RaiseEndCallbackInternal();
  },
 };
};
class ASPxClientRichEditFolderManager extends ASPxClientFileManager {
 get _template() { return currMixin(ASPxClientFileManager); }
 ;
 constructor(name) {
  super(name);
  this.callbackCount = 0;
  this.notifyOwnerDialogOnEndCallback = false;
 }
 InitializeKbdHelper() {
  this._template.InitializeKbdHelper.call(this);
 }
 CreateCallback(callbackString) {
  this._template.CreateCallback.call(this, callbackString);
 }
 OnCallback(result) {
  this._template.OnCallback.call(this, result);
 }
 OnEndCallback() {
  this._template.OnEndCallback.call(this);
 }
 InCallback() {
  return this._template.InCallback.call(this);
 }
 isChangeFolderCallback(result) {
  return this._template.isChangeFolderCallback.call(this, result);
 }
 PrepareFileStates() {
  this._template.PrepareFileStates.call(this);
 }
 RaiseEndCallback() {
  this._template.RaiseEndCallback.call(this);
 }
 static SetOwner(container, owner) {
  let fileManager = null;
  ASPx.GetControlCollection().ProcessControlsInContainer(container, (control) => {
   if (control instanceof ASPxClientRichEditFolderManager || control.mixinName == managerName)
    fileManager = control;
  });
  if (fileManager)
   fileManager.richedit = owner;
 }
}
ASPxClientRichEditFolderManager._createMixinForBootstrap = (() => ASPx.RegisterMixin(managerName, currMixin))();
var __webpack_export_target__ = window;
for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
 })()
;  7	   (function() { 
  "use strict";
  var __webpack_require__ = {};
  !function() {
   __webpack_require__.r = function(exports) {
    if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    }
    Object.defineProperty(exports, '__esModule', { value: true });
   };
  }();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
;
const constants = {
 MainID: "_Main",
 ViewID: "_View",
 DialogControlID: "_REDC",
 ModalDialogControlID: "_REMC",
 PopupMenuControlID: "_REPUM",
 AutoCorrectBarID: "_AC",
 RibbonID: "_R",
 HelperFrameID: "_HF",
 LoadingPanel: "_LPC",
 Bar: "_Bar",
 MeasurerContainerCssClass: "dxreMeasurer",
 HelperFrameCssClass: "dxre-helperFrame",
 SuggestionMenuItemCssClass: "dxre-pum-suggestionItem",
 PlaceholderDivCssClass: "dxrePlaceholderDiv",
 InternalCallBackPostfix: "%RichEdit",
 PerformCallbackPrefix: "REPC",
 CommandsCallbackPrefix: "REC",
 InternalCallbackPrefix: "IC-",
 UploadControlUrlParameter: "REUCUP",
 Base64ImageDataUrl: "data:image/png;base64,"
};
;
const currMixin = _baseClass => {
 return {
  createUploadManager: function createUploadManager(stateHelper) {
   return new RichEditUploadManagerClass(this.options, stateHelper);
  },
 };
};
class RichEditUploadControl extends ASPxClientUploadControl {
 get _template() { return currMixin(ASPxClientUploadControl); }
 ;
 createUploadManager(stateHelper) {
  return this._template.createUploadManager.call(this, stateHelper);
 }
 static createMixinForBootstrap() {
  ASPx.RegisterMixin("RE_UploadControl", currMixin);
 }
}
RichEditUploadControl._createMixinForBootstrap = RichEditUploadControl.createMixinForBootstrap();
class RichEditUploadManagerClass extends ASPxClientUploadControl.UploadManagerClass {
 GetUploadFormAction(form) {
  var action = super.GetUploadFormAction(form);
  return this.AddQueryParamToUrl(action, constants.UploadControlUrlParameter, constants.InternalCallBackPostfix);
 }
}
;
(window.ASPx)['RichEditUploadControl'] = RichEditUploadControl;
var __webpack_export_target__ = window;
for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
 })()
;     n /******/ (function() { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ({

/***/ 9279:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Browser = void 0;
var Browser = (function () {
    function Browser() {
    }
    Browser.IdentUserAgent = function (userAgent, ignoreDocumentMode) {
        if (ignoreDocumentMode === void 0) { ignoreDocumentMode = false; }
        var browserTypesOrderedList = ['Mozilla', 'IE', 'Firefox', 'Netscape', 'Safari', 'Chrome', 'Opera', 'Opera10', 'Edge'];
        var defaultBrowserType = 'IE';
        var defaultPlatform = 'Win';
        var defaultVersions = { Safari: 2, Chrome: 0.1, Mozilla: 1.9, Netscape: 8, Firefox: 2, Opera: 9, IE: 6, Edge: 12 };
        if (!userAgent || userAgent.length === 0) {
            Browser.fillUserAgentInfo(browserTypesOrderedList, defaultBrowserType, defaultVersions[defaultBrowserType], defaultPlatform);
            return;
        }
        userAgent = userAgent.toLowerCase();
        Browser.indentPlatformMajorVersion(userAgent);
        try {
            var platformIdentStrings = {
                'Windows': 'Win',
                'Macintosh': 'Mac',
                'Mac OS': 'Mac',
                'Mac_PowerPC': 'Mac',
                'cpu os': 'MacMobile',
                'cpu iphone os': 'MacMobile',
                'Android': 'Android',
                '!Windows Phone': 'WinPhone',
                '!WPDesktop': 'WinPhone',
                '!ZuneWP': 'WinPhone'
            };
            var optSlashOrSpace = '(?:/|\\s*)?';
            var versionString = '(\\d+)(?:\\.((?:\\d+?[1-9])|\\d)0*?)?';
            var optVersion = '(?:' + versionString + ')?';
            var patterns = {
                Safari: 'applewebkit(?:.*?(?:version/' + versionString + '[\\.\\w\\d]*?(?:\\s+mobile/\\S*)?\\s+safari))?',
                Chrome: '(?:chrome|crios)(?!frame)' + optSlashOrSpace + optVersion,
                Mozilla: 'mozilla(?:.*rv:' + optVersion + '.*Gecko)?',
                Netscape: '(?:netscape|navigator)\\d*/?\\s*' + optVersion,
                Firefox: 'firefox' + optSlashOrSpace + optVersion,
                Opera: '(?:opera|\\sopr)' + optSlashOrSpace + optVersion,
                Opera10: 'opera.*\\s*version' + optSlashOrSpace + optVersion,
                IE: 'msie\\s*' + optVersion,
                Edge: 'edge' + optSlashOrSpace + optVersion
            };
            var browserType = null;
            var version = -1;
            for (var i = 0; i < browserTypesOrderedList.length; i++) {
                var browserTypeCandidate = browserTypesOrderedList[i];
                var regExp = new RegExp(patterns[browserTypeCandidate], 'i');
                var matches = regExp.exec(userAgent);
                if (matches && matches.index >= 0) {
                    if (browserType === 'IE' && version >= 11 && browserTypeCandidate === 'Safari')
                        continue;
                    browserType = browserTypeCandidate;
                    if (browserType === 'Opera10')
                        browserType = 'Opera';
                    var tridentPattern = 'trident' + optSlashOrSpace + optVersion;
                    version = Browser.GetBrowserVersion(userAgent, matches, tridentPattern, Browser.getIECompatibleVersionString());
                    if (browserType === 'Mozilla' && version >= 11)
                        browserType = 'IE';
                }
            }
            if (!browserType)
                browserType = defaultBrowserType;
            var browserVersionDetected = version !== -1;
            if (!browserVersionDetected)
                version = defaultVersions[browserType];
            var platform = null;
            var minOccurenceIndex = Number.MAX_VALUE;
            for (var identStr in platformIdentStrings) {
                if (!Object.prototype.hasOwnProperty.call(platformIdentStrings, identStr))
                    continue;
                var importantIdent = identStr.substr(0, 1) === '!';
                var occurenceIndex = userAgent.indexOf((importantIdent ? identStr.substr(1) : identStr).toLowerCase());
                if (occurenceIndex >= 0 && (occurenceIndex < minOccurenceIndex || importantIdent)) {
                    minOccurenceIndex = importantIdent ? 0 : occurenceIndex;
                    platform = platformIdentStrings[identStr];
                }
            }
            var samsungPattern = 'SM-[A-Z]';
            var m = userAgent.toUpperCase().match(samsungPattern);
            var isSamsungAndroidDevice = m && m.length > 0;
            if (platform === 'WinPhone' && version < 9)
                version = Math.floor(Browser.getVersionFromTrident(userAgent, 'trident' + optSlashOrSpace + optVersion));
            if (!ignoreDocumentMode && browserType === 'IE' && version > 7 && document.documentMode < version)
                version = document.documentMode;
            if (platform === 'WinPhone')
                version = Math.max(9, version);
            if (!platform)
                platform = defaultPlatform;
            if (platform === platformIdentStrings['cpu os'] && !browserVersionDetected)
                version = 4;
            Browser.fillUserAgentInfo(browserTypesOrderedList, browserType, version, platform, isSamsungAndroidDevice);
        }
        catch (e) {
            Browser.fillUserAgentInfo(browserTypesOrderedList, defaultBrowserType, defaultVersions[defaultBrowserType], defaultPlatform);
        }
    };
    Browser.GetBrowserVersion = function (userAgent, matches, tridentPattern, ieCompatibleVersionString) {
        var version = Browser.getVersionFromMatches(matches);
        if (ieCompatibleVersionString) {
            var versionFromTrident = Browser.getVersionFromTrident(userAgent, tridentPattern);
            if (ieCompatibleVersionString === 'edge' || parseInt(ieCompatibleVersionString) === versionFromTrident)
                return versionFromTrident;
        }
        return version;
    };
    Browser.getIECompatibleVersionString = function () {
        if (document.compatible) {
            for (var i = 0; i < document.compatible.length; i++) {
                if (document.compatible[i].userAgent === 'IE' && document.compatible[i].version)
                    return document.compatible[i].version.toLowerCase();
            }
        }
        return '';
    };
    Browser.isTouchEnabled = function () {
        return Browser.hasTouchStart() || Browser.hasMaxTouchPoints() || Browser.hasMsMaxTouchPoints();
    };
    Browser.hasTouchStart = function () {
        return ('ontouchstart' in window);
    };
    Browser.hasMaxTouchPoints = function () {
        return navigator['maxTouchPoints'] > 0;
    };
    Browser.hasMsMaxTouchPoints = function () {
        return navigator['msMaxTouchPoints'] > 0;
    };
    Browser.hasNavigator = function () {
        return typeof navigator !== 'undefined';
    };
    Browser.fillUserAgentInfo = function (browserTypesOrderedList, browserType, version, platform, isSamsungAndroidDevice) {
        if (isSamsungAndroidDevice === void 0) { isSamsungAndroidDevice = false; }
        for (var i = 0; i < browserTypesOrderedList.length; i++) {
            var type = browserTypesOrderedList[i];
            Browser[type] = type === browserType;
        }
        Browser.Version = Math.floor(10.0 * version) / 10.0;
        Browser.MajorVersion = Math.floor(Browser.Version);
        Browser.WindowsPlatform = platform === 'Win' || platform === 'WinPhone';
        Browser.MacOSMobilePlatform = platform === 'MacMobile' || (platform === 'Mac' && Browser.isTouchEnabled());
        Browser.MacOSPlatform = platform === 'Mac' && !Browser.MacOSMobilePlatform;
        Browser.AndroidMobilePlatform = platform === 'Android';
        Browser.WindowsPhonePlatform = platform === 'WinPhone';
        Browser.WebKitFamily = Browser.Safari || Browser.Chrome || Browser.Opera && Browser.MajorVersion >= 15;
        Browser.NetscapeFamily = Browser.Netscape || Browser.Mozilla || Browser.Firefox;
        Browser.WebKitTouchUI = Browser.MacOSMobilePlatform || Browser.AndroidMobilePlatform;
        var isIETouchUI = Browser.IE && Browser.MajorVersion > 9 && Browser.WindowsPlatform && Browser.UserAgent.toLowerCase().indexOf('touch') >= 0;
        Browser.MSTouchUI = isIETouchUI || (Browser.Edge && !!window.navigator.maxTouchPoints);
        Browser.TouchUI = Browser.WebKitTouchUI || Browser.MSTouchUI;
        Browser.MobileUI = Browser.WebKitTouchUI || Browser.WindowsPhonePlatform;
        Browser.AndroidDefaultBrowser = Browser.AndroidMobilePlatform && !Browser.Chrome;
        Browser.AndroidChromeBrowser = Browser.AndroidMobilePlatform && Browser.Chrome;
        if (isSamsungAndroidDevice)
            Browser.SamsungAndroidDevice = isSamsungAndroidDevice;
        if (Browser.MSTouchUI) {
            var isARMArchitecture = Browser.UserAgent.toLowerCase().indexOf('arm;') > -1;
            Browser.VirtualKeyboardSupported = isARMArchitecture || Browser.WindowsPhonePlatform;
        }
        else
            Browser.VirtualKeyboardSupported = Browser.WebKitTouchUI;
        Browser.fillDocumentElementBrowserTypeClassNames(browserTypesOrderedList);
    };
    Browser.indentPlatformMajorVersion = function (userAgent) {
        var regex = /(?:(?:windows nt|macintosh|mac os|cpu os|cpu iphone os|android|windows phone|linux) )(\d+)(?:[-0-9_.])*/;
        var matches = regex.exec(userAgent);
        if (matches)
            Browser.PlaformMajorVersion = matches[1];
    };
    Browser.getVersionFromMatches = function (matches) {
        var result = -1;
        var versionStr = '';
        if (matches) {
            if (matches[1]) {
                versionStr += matches[1];
                if (matches[2])
                    versionStr += '.' + matches[2];
            }
            if (versionStr !== '') {
                result = parseFloat(versionStr);
                if (isNaN(result))
                    result = -1;
            }
        }
        return result;
    };
    Browser.getVersionFromTrident = function (userAgent, tridentPattern) {
        var tridentDiffFromVersion = 4;
        var matches = new RegExp(tridentPattern, 'i').exec(userAgent);
        return Browser.getVersionFromMatches(matches) + tridentDiffFromVersion;
    };
    Browser.fillDocumentElementBrowserTypeClassNames = function (browserTypesOrderedList) {
        var documentElementClassName = '';
        var browserTypeslist = browserTypesOrderedList.concat(['WindowsPlatform', 'MacOSPlatform', 'MacOSMobilePlatform', 'AndroidMobilePlatform',
            'WindowsPhonePlatform', 'WebKitFamily', 'WebKitTouchUI', 'MSTouchUI', 'TouchUI', 'AndroidDefaultBrowser']);
        for (var i = 0; i < browserTypeslist.length; i++) {
            var type = browserTypeslist[i];
            if (Browser[type])
                documentElementClassName += 'dx' + type + ' ';
        }
        documentElementClassName += 'dxBrowserVersion-' + Browser.MajorVersion;
        if (typeof document !== 'undefined' && document && document.documentElement) {
            if (document.documentElement.className !== '')
                documentElementClassName = ' ' + documentElementClassName;
            document.documentElement.className += documentElementClassName;
            Browser.Info = documentElementClassName;
        }
    };
    Browser.getUserAgent = function () {
        return Browser.hasNavigator() && navigator.userAgent ? navigator.userAgent.toLowerCase() : '';
    };
    Browser.UserAgent = Browser.getUserAgent();
    Browser._foo = Browser.IdentUserAgent(Browser.UserAgent);
    return Browser;
}());
exports.Browser = Browser;


/***/ }),

/***/ 1772:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.m1 = exports.IS = void 0;
var BatchUpdatableObject = (function () {
    function BatchUpdatableObject() {
        this.suspendUpdateCount = 0;
        this.occurredEvents = 0;
    }
    BatchUpdatableObject.prototype.beginUpdate = function () {
        if (this.suspendUpdateCount === 0)
            this.onUpdateLocked();
        if (this.suspendUpdateCount < 0)
            this.suspendUpdateCount--;
        else
            this.suspendUpdateCount++;
    };
    BatchUpdatableObject.prototype.endUpdate = function () {
        if (this.suspendUpdateCount < 0)
            this.suspendUpdateCount++;
        else if (this.suspendUpdateCount > 0)
            this.suspendUpdateCount--;
        if (!this.isUpdateLocked()) {
            var occurredEvents = this.occurredEvents;
            this.occurredEvents = 0;
            this.onUpdateUnlocked(occurredEvents);
        }
    };
    BatchUpdatableObject.prototype.suspendUpdate = function () {
        if (this.suspendUpdateCount > 0) {
            this.suspendUpdateCount *= -1;
            var occurredEvents = this.occurredEvents;
            this.occurredEvents = 0;
            this.onUpdateUnlocked(occurredEvents);
        }
    };
    BatchUpdatableObject.prototype.continueUpdate = function () {
        if (this.suspendUpdateCount < 0)
            this.suspendUpdateCount *= -1;
    };
    BatchUpdatableObject.prototype.isUpdateLocked = function () {
        return this.suspendUpdateCount > 0;
    };
    BatchUpdatableObject.prototype.onUpdateLocked = function () { };
    BatchUpdatableObject.prototype.registerOccurredEvent = function (eventMask) {
        this.occurredEvents |= eventMask;
    };
    BatchUpdatableObject.prototype.resetOccurredEvents = function () {
        this.occurredEvents = 0;
    };
    BatchUpdatableObject.prototype.isLocked = function () {
        return this.suspendUpdateCount !== 0;
    };
    return BatchUpdatableObject;
}());
exports.IS = BatchUpdatableObject;
var EmptyBatchUpdatableObject = (function () {
    function EmptyBatchUpdatableObject() {
    }
    EmptyBatchUpdatableObject.prototype.beginUpdate = function () { };
    EmptyBatchUpdatableObject.prototype.endUpdate = function () { };
    return EmptyBatchUpdatableObject;
}());
exports.m1 = EmptyBatchUpdatableObject;


/***/ }),

/***/ 677:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.T = void 0;
var ChunkedText = (function () {
    function ChunkedText(text, maxChunkSize) {
        if (maxChunkSize === void 0) { maxChunkSize = 2000; }
        this.maxChunkSize = maxChunkSize;
        this.chunks = [];
        this._textLength = 0;
        this.pushText(text);
        this.resetToStart();
    }
    Object.defineProperty(ChunkedText.prototype, "currChar", {
        get: function () {
            return this.chunk[this.posInChunk];
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(ChunkedText.prototype, "currPos", {
        get: function () {
            return this._currPos;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(ChunkedText.prototype, "textLength", {
        get: function () {
            return this._textLength;
        },
        enumerable: false,
        configurable: true
    });
    ChunkedText.prototype.resetToStart = function () {
        this.setChunk(0);
        this.posInChunk = -1;
        this._currPos = -1;
    };
    ChunkedText.prototype.resetToEnd = function () {
        this.setChunk(this.chunks.length - 1);
        this.posInChunk = this.chunkLength - 1;
        this._currPos = this._textLength;
    };
    ChunkedText.prototype.addText = function (text) {
        this.pushText(text);
        if (this._currPos === -1) {
            this.chunk = this.chunks[0];
            this.chunkLength = this.chunk.length;
        }
        else
            this.setPositionTo(this._currPos);
    };
    ChunkedText.prototype.getText = function () {
        return this.chunks.join('');
    };
    ChunkedText.prototype.moveToNextChar = function () {
        this.posInChunk++;
        this._currPos++;
        if (this.posInChunk < this.chunkLength)
            return true;
        if (this.setChunk(this.chunkIndex + 1)) {
            this.posInChunk = 0;
            return true;
        }
        else {
            this.posInChunk = this.chunkLength;
            this._currPos = this._textLength;
            return false;
        }
    };
    ChunkedText.prototype.moveToPrevChar = function () {
        this.posInChunk--;
        this._currPos--;
        if (this.posInChunk >= 0)
            return true;
        if (this.setChunk(this.chunkIndex - 1)) {
            this.posInChunk = this.chunkLength - 1;
            return true;
        }
        else {
            this.posInChunk = -1;
            this._currPos = -1;
            return false;
        }
    };
    ChunkedText.prototype.setPositionTo = function (position) {
        var restLength = position;
        this.chunkIndex = 0;
        for (var ind = 0; true; ind++) {
            if (this.setChunk(ind)) {
                if (restLength > this.chunkLength)
                    restLength -= this.chunk.length;
                else {
                    this.posInChunk = restLength;
                    this._currPos = position;
                    return;
                }
            }
            else {
                this.posInChunk = this.chunkLength;
                this._currPos = this._textLength;
                return;
            }
        }
    };
    ChunkedText.prototype.setChunk = function (index) {
        var prevChunkVal = this.chunk;
        this.chunk = this.chunks[index];
        if (!this.chunk) {
            this.chunk = prevChunkVal;
            return false;
        }
        this.chunkIndex = index;
        this.chunkLength = this.chunk.length;
        return true;
    };
    ChunkedText.prototype.pushText = function (text) {
        if (!text.length)
            return;
        var textPos = 0;
        while (textPos < text.length) {
            if (textPos === 0) {
                var lastChunk = this.chunks.pop();
                if (lastChunk) {
                    if (lastChunk.length < this.maxChunkSize) {
                        var restLen = this.maxChunkSize - lastChunk.length;
                        this.chunks.push(lastChunk + text.substr(textPos, restLen));
                        textPos += restLen;
                        continue;
                    }
                    else
                        this.chunks.push(lastChunk);
                }
            }
            this.chunks.push(text.substr(textPos, this.maxChunkSize));
            textPos += this.maxChunkSize;
        }
        this._textLength += text.length;
    };
    return ChunkedText;
}());
exports.T = ChunkedText;


/***/ }),

/***/ 6218:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.R = void 0;
var DelayedActionManager = (function () {
    function DelayedActionManager(action) {
        this.action = action;
        this.reset();
    }
    Object.defineProperty(DelayedActionManager.prototype, "actionExecuted", {
        get: function () {
            return this.actionTimeoutId === null;
        },
        enumerable: false,
        configurable: true
    });
    DelayedActionManager.prototype.reset = function () {
        this.actionTimeout = undefined;
        this.actionTimeoutId = undefined;
        this.actionStartTime = undefined;
    };
    DelayedActionManager.prototype.start = function (timeout) {
        var _this = this;
        this.actionTimeout = timeout;
        this.actionTimeoutId = setTimeout(function () { return _this.executeAction(); }, this.actionTimeout);
        this.actionStartTime = Date.now();
    };
    DelayedActionManager.prototype.executeIfTimerExpired = function () {
        if (Date.now() - this.actionStartTime > this.actionTimeout)
            this.executeAction();
    };
    DelayedActionManager.prototype.executeAction = function () {
        if (!this.actionExecuted) {
            this.action();
            this.stop();
        }
    };
    DelayedActionManager.prototype.stop = function () {
        clearTimeout(this.actionTimeoutId);
        this.actionTimeoutId = null;
    };
    return DelayedActionManager;
}());
exports.R = DelayedActionManager;


/***/ }),

/***/ 6136:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.$ = void 0;
var touch_1 = __webpack_require__(1632);
var DomEventHandler = (function () {
    function DomEventHandler(element, eventName, handler, options) {
        if (options === void 0) { options = true; }
        this.element = element;
        this.eventName = eventName;
        this.handler = handler;
        this.options = options;
    }
    return DomEventHandler;
}());
var DomEventHandlersHolder = (function () {
    function DomEventHandlersHolder() {
        this.handlers = [];
    }
    DomEventHandlersHolder.prototype.addListener = function (element, eventName, handler, options) {
        if (options === void 0) { options = true; }
        this.handlers.push(new DomEventHandler(element, eventName, handler, options));
        element.addEventListener(eventName, handler, options);
    };
    DomEventHandlersHolder.prototype.addListenerToWindow = function (eventName, handler, options) {
        if (options === void 0) { options = true; }
        this.handlers.push(new DomEventHandler(window, eventName, handler, options));
        window.addEventListener(eventName, handler, options);
    };
    DomEventHandlersHolder.prototype.addListenerToDocument = function (eventName, handler, options) {
        if (options === void 0) { options = true; }
        var attachingAllowed = touch_1.TouchUtils.onEventAttachingToDocument(eventName, handler);
        if (attachingAllowed) {
            this.handlers.push(new DomEventHandler(document, eventName, handler, options));
            document.addEventListener(eventName, handler, options);
        }
    };
    DomEventHandlersHolder.prototype.removeAllListeners = function () {
        this.handlers.forEach(function (evtHandler) { return evtHandler.element.removeEventListener(evtHandler.eventName, evtHandler.handler, evtHandler.options); });
        this.handlers = [];
    };
    return DomEventHandlersHolder;
}());
exports.$ = DomEventHandlersHolder;


/***/ }),

/***/ 7820:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Flag = void 0;
var Flag = (function () {
    function Flag(initValue) {
        if (initValue === void 0) { initValue = 0; }
        this.value = initValue;
    }
    Flag.prototype.get = function (enumVal) {
        return (this.value & enumVal) === enumVal;
    };
    Flag.prototype.set = function (enumVal, newValue) {
        var currVal = (this.value & enumVal) === enumVal;
        if (currVal !== newValue) {
            if (newValue)
                this.value |= enumVal;
            else
                this.value ^= enumVal;
        }
        return this;
    };
    Flag.prototype.add = function (value) {
        this.value |= value;
    };
    Flag.prototype.anyOf = function () {
        var flags = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            flags[_i] = arguments[_i];
        }
        for (var _a = 0, flags_1 = flags; _a < flags_1.length; _a++) {
            var flag = flags_1[_a];
            if ((this.value & flag) === flag)
                return true;
        }
        return false;
    };
    Flag.prototype.getValue = function () {
        return this.value;
    };
    Flag.prototype.clone = function () {
        return new Flag(this.value);
    };
    return Flag;
}());
exports.Flag = Flag;


/***/ }),

/***/ 7496:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
__webpack_unused_export__ = exports.m7 = void 0;
var Initializer = (function () {
    function Initializer() {
    }
    Initializer.prototype.set = function (property, value) {
        this[property] = value;
        return this;
    };
    return Initializer;
}());
exports.m7 = Initializer;
function Initialize(options) {
    var set = function (property, value) {
        options[property] = value;
        return {
            set: set,
            result: options
        };
    };
    return {
        set: set,
        result: options
    };
}
__webpack_unused_export__ = Initialize;


/***/ }),

/***/ 6799:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ExtendedMinMax = exports.ExtendedMax = exports.ExtendedMin = exports.MinMaxNumber = exports.MinMax = void 0;
var tslib_1 = __webpack_require__(2020);
var MinMax = (function () {
    function MinMax(minElement, maxElement) {
        this.minElement = minElement;
        this.maxElement = maxElement;
    }
    return MinMax;
}());
exports.MinMax = MinMax;
var MinMaxNumber = (function (_super) {
    tslib_1.__extends(MinMaxNumber, _super);
    function MinMaxNumber() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Object.defineProperty(MinMaxNumber.prototype, "length", {
        get: function () {
            return this.maxElement - this.minElement;
        },
        enumerable: false,
        configurable: true
    });
    return MinMaxNumber;
}(MinMax));
exports.MinMaxNumber = MinMaxNumber;
var ExtendedMin = (function () {
    function ExtendedMin(minElement, minValue) {
        this.minElement = minElement;
        this.minValue = minValue;
    }
    return ExtendedMin;
}());
exports.ExtendedMin = ExtendedMin;
var ExtendedMax = (function () {
    function ExtendedMax(maxElement, maxValue) {
        this.maxElement = maxElement;
        this.maxValue = maxValue;
    }
    return ExtendedMax;
}());
exports.ExtendedMax = ExtendedMax;
var ExtendedMinMax = (function (_super) {
    tslib_1.__extends(ExtendedMinMax, _super);
    function ExtendedMinMax(minElement, minValue, maxElement, maxValue) {
        var _this = _super.call(this, minElement, maxElement) || this;
        _this.minValue = minValue;
        _this.maxValue = maxValue;
        return _this;
    }
    return ExtendedMinMax;
}(MinMax));
exports.ExtendedMinMax = ExtendedMinMax;


/***/ }),

/***/ 9094:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.K = void 0;
var Stack = (function () {
    function Stack() {
        this.list = [];
        this._count = 0;
        this.last = undefined;
    }
    Stack.prototype.push = function (val) {
        this.list.push(val);
        this.last = val;
        this._count++;
    };
    Stack.prototype.pop = function () {
        this._count--;
        var result = this.list.pop();
        this.last = this.list[this.list.length - 1];
        return result;
    };
    Stack.prototype.peek = function () {
        return this.last;
    };
    Object.defineProperty(Stack.prototype, "count", {
        get: function () {
            return this._count;
        },
        enumerable: false,
        configurable: true
    });
    Stack.prototype.getPrevious = function () {
        return this.list[this._count - 2];
    };
    return Stack;
}());
exports.K = Stack;


/***/ }),

/***/ 9291:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.u = void 0;
var UnitConverter = (function () {
    function UnitConverter() {
    }
    UnitConverter.hundredthsOfMillimeterToTwipsRound = function (value) {
        return Math.round(1440 * value / 2540.0);
    };
    UnitConverter.documentsToTwips = function (value) {
        return 24 * value / 5;
    };
    UnitConverter.pixelsToTwips = function (value) {
        return Math.round(UnitConverter.pixelsToTwipsF(value));
    };
    UnitConverter.pixelsToTwipsCustomDpi = function (value, dpi) {
        return Math.round(UnitConverter.pixelsToTwipsFCustomDpi(value, dpi));
    };
    UnitConverter.inchesToTwips = function (value) {
        return Math.round(UnitConverter.inchesToTwipsF(value));
    };
    UnitConverter.pointsToTwips = function (value) {
        return Math.round(UnitConverter.pointsToTwipsF(value));
    };
    UnitConverter.picasToTwips = function (value) {
        return Math.round(value * 1440 / UnitConverter.PICAS_PER_INCH);
    };
    UnitConverter.centimetersToTwips = function (value) {
        return Math.round(UnitConverter.centimetersToTwipsF(value));
    };
    UnitConverter.pixelsToTwipsF = function (value) {
        return value * 1440 / UnitConverter.DPI;
    };
    UnitConverter.pixelsToTwipsFCustomDpi = function (value, dpi) {
        return value * 1440 / dpi;
    };
    UnitConverter.inchesToTwipsF = function (value) {
        return value * 1440;
    };
    UnitConverter.pointsToTwipsF = function (value) {
        return value * 20;
    };
    UnitConverter.centimetersToTwipsF = function (value) {
        return value * 1440 / UnitConverter.CENTIMETERS_PER_INCH;
    };
    UnitConverter.twipsToDegrees = function (value) {
        return value / 60000;
    };
    UnitConverter.twipsToRadians = function (value) {
        return value / 60000 * Math.PI / 180;
    };
    UnitConverter.degreesToTwips = function (value) {
        return value * 60000;
    };
    UnitConverter.radiansToTwips = function (value) {
        return value * 60000 / Math.PI * 180;
    };
    UnitConverter.radiansToDegrees = function (value) {
        return value / Math.PI * 180;
    };
    UnitConverter.twipsToFD = function (value) {
        return Math.round(value * 2048 / 1875);
    };
    UnitConverter.fdToTwips = function (value) {
        return Math.round(value * 1875 / 2048);
    };
    UnitConverter.emuToTwips = function (val) {
        return val / 635;
    };
    UnitConverter.twipsToPixels = function (value) {
        return Math.round(UnitConverter.twipsToPixelsF(value));
    };
    UnitConverter.inchesToPixels = function (value) {
        return Math.round(UnitConverter.DPI * value);
    };
    UnitConverter.centimeterToPixel = function (value) {
        return Math.round(this.centimeterToPixelF(value));
    };
    UnitConverter.centimeterToPixelF = function (value) {
        return value * UnitConverter.DPI / UnitConverter.CENTIMETERS_PER_INCH;
    };
    UnitConverter.millimetersToPixel = function (value) {
        return Math.round(value / (UnitConverter.CENTIMETERS_PER_INCH / UnitConverter.DPI) / 10);
    };
    UnitConverter.pointsToPixels = function (value) {
        return Math.round(value * UnitConverter.DPI / 72);
    };
    UnitConverter.pointsToPixelsF = function (value) {
        return value * UnitConverter.DPI / 72;
    };
    UnitConverter.twipsToPixelsF = function (value) {
        return value * UnitConverter.DPI / 1440;
    };
    UnitConverter.pixelsToPoints = function (value) {
        return Math.round(value * 72 / UnitConverter.DPI);
    };
    UnitConverter.pixelsToPointsF = function (value) {
        return value * 72 / UnitConverter.DPI;
    };
    UnitConverter.twipsToPoints = function (value) {
        return Math.round(this.twipsToPointsF(value));
    };
    UnitConverter.twipsToPointsF = function (value) {
        return value / 20;
    };
    UnitConverter.twipsToInches = function (value) {
        return value / 1440;
    };
    UnitConverter.pixelsToInches = function (value) {
        return value / UnitConverter.DPI;
    };
    UnitConverter.twipsToCentimeters = function (value) {
        return value * UnitConverter.CENTIMETERS_PER_INCH / 1440;
    };
    UnitConverter.pixelToCentimeters = function (value) {
        return value * UnitConverter.CENTIMETERS_PER_INCH / UnitConverter.DPI;
    };
    UnitConverter.twipsToHundredthsOfMillimeter = function (value) {
        return Math.round(127 * value / 72);
    };
    UnitConverter.pixelsToHundredthsOfMillimeter = function (value) {
        return Math.round(2540 * value / UnitConverter.DPI);
    };
    UnitConverter.hundredthsOfMillimeterToTwips = function (value) {
        return 15 * value / 127;
    };
    UnitConverter.twipsToEmu = function (val) {
        return val * 635;
    };
    UnitConverter.twipsToDegree = function (value) {
        return value / 60000;
    };
    UnitConverter.DPI = 96;
    UnitConverter.CENTIMETERS_PER_INCH = 2.54;
    UnitConverter.PICAS_PER_INCH = 6;
    return UnitConverter;
}());
exports.u = UnitConverter;


/***/ }),

/***/ 8785:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Int32Constants = exports.Constants = void 0;
var Constants = (function () {
    function Constants() {
    }
    Constants.MIN_SAFE_INTEGER = -(Math.pow(2, 53) - 1);
    Constants.MAX_SAFE_INTEGER = (Math.pow(2, 53) - 1);
    Constants.MAX_BYTE = Math.pow(2, 8) - 1;
    return Constants;
}());
exports.Constants = Constants;
var Int32Constants = (function () {
    function Int32Constants() {
    }
    Int32Constants.MIN_VALUE = -2147483648;
    Int32Constants.MAX_VALUE = 2147483647;
    return Int32Constants;
}());
exports.Int32Constants = Int32Constants;


/***/ }),

/***/ 7774:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.D = void 0;
var Errors = (function () {
    function Errors() {
    }
    Errors.internalExceptionTemplate = function (str) {
        return Errors.InternalException + " " + str;
    };
    Errors.NotImplemented = 'The method is not implemented.';
    Errors.InternalException = 'Internal exception.';
    Errors.ValueCannotBeNull = 'Value cannot be null.';
    return Errors;
}());
exports.D = Errors;


/***/ }),

/***/ 8889:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.J = void 0;
var tslib_1 = __webpack_require__(2020);
var DateTimeFieldFormatter = (function () {
    function DateTimeFieldFormatter(options) {
        this.AMPMKeyword = 'am/pm';
        this.options = options;
    }
    DateTimeFieldFormatter.prototype.format = function (date, formatString) {
        this.date = date;
        this.formatString = formatString;
        this.result = '';
        var index = 0;
        var formatLength = this.formatString.length;
        while (index < formatLength)
            index += this.formatNext(index);
        return this.result;
    };
    DateTimeFieldFormatter.prototype.formatNext = function (index) {
        var ch = this.formatString[index];
        var formattingItem = this.tryCreateFormattingItem(ch);
        if (formattingItem)
            return this.processAsFormattingItem(index, formattingItem);
        if (this.isKeyword(this.AMPMKeyword, index))
            return this.processAsAMPMKeyword();
        if (ch === '\'')
            return this.processAsEmbedText(index);
        return this.processAsSingleCharacter(index);
    };
    DateTimeFieldFormatter.prototype.isKeyword = function (keyword, index) {
        if (keyword.length > (this.formatString.length - index))
            return false;
        var substring = this.formatString.substr(index, keyword.length);
        return keyword.toLowerCase() === substring.toLowerCase();
    };
    DateTimeFieldFormatter.prototype.processAsAMPMKeyword = function () {
        var result = (this.date.getHours() - 12) >= 0 ? this.options.pm : this.options.am;
        this.result += result;
        return this.AMPMKeyword.length;
    };
    DateTimeFieldFormatter.prototype.processAsEmbedText = function (index) {
        var startTextIndex = index + 1;
        if (startTextIndex >= (this.formatString.length - 1))
            return 1;
        var textLength = this.getCharacterSequenceLength(this.formatString[index], startTextIndex, this.charsAreNotEqual);
        if ((textLength + startTextIndex) === this.formatString.length) {
            this.result += '\'';
            return 1;
        }
        this.result += this.formatString.substr(startTextIndex, textLength);
        return textLength + 2;
    };
    DateTimeFieldFormatter.prototype.processAsSingleCharacter = function (index) {
        this.result += this.formatString[index];
        return 1;
    };
    DateTimeFieldFormatter.prototype.processAsFormattingItem = function (index, formattingItem) {
        var sequenceLength = this.getCharacterSequenceLength(this.formatString[index], index, this.charsAreEqual);
        var patternLength = formattingItem.getAvailablePatternLength(sequenceLength);
        var result = formattingItem.format(this.date, patternLength);
        this.result += result;
        return Math.min(sequenceLength, patternLength);
    };
    DateTimeFieldFormatter.prototype.getCharacterSequenceLength = function (ch, index, predicate) {
        var length = this.formatString.length;
        var nextCharIndex = index + 1;
        while (nextCharIndex < length && predicate(ch, this.formatString[nextCharIndex]))
            nextCharIndex++;
        return nextCharIndex - index;
    };
    DateTimeFieldFormatter.prototype.tryCreateFormattingItem = function (formattingChar) {
        switch (formattingChar) {
            case 'h':
                return new Hour12FormattingItem(this.options);
            case 'H':
                return new Hour24FormattingItem(this.options);
            case 'm':
                return new MinuteFormattingItem(this.options);
            case 'S':
            case 's':
                return new SecondFormattingItem(this.options);
            case 'Y':
            case 'y':
                return new YearFormattingItem(this.options);
            case 'M':
                return new MonthFormattingItem(this.options);
            case 'D':
            case 'd':
                return new DayFormattingItem(this.options);
        }
        return null;
    };
    DateTimeFieldFormatter.prototype.charsAreEqual = function (ch1, ch2) {
        return ch1 === ch2;
    };
    DateTimeFieldFormatter.prototype.charsAreNotEqual = function (ch1, ch2) {
        return ch1 !== ch2;
    };
    return DateTimeFieldFormatter;
}());
exports.J = DateTimeFieldFormatter;
var DateTimeFormattingItem = (function () {
    function DateTimeFormattingItem(options) {
        this.options = options;
    }
    DateTimeFormattingItem.prototype.getAvailablePatternLength = function (patternLength) {
        var count = this.patternsLength.length;
        for (var i = 0; i < count; i++) {
            if (this.patternsLength[i] >= patternLength)
                return this.patternsLength[i];
        }
        return this.patternsLength[count - 1];
    };
    return DateTimeFormattingItem;
}());
var NumericFormattingItem = (function (_super) {
    tslib_1.__extends(NumericFormattingItem, _super);
    function NumericFormattingItem() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.patternsLength = [1, 2];
        return _this;
    }
    NumericFormattingItem.prototype.formatCore = function (value, patternLength) {
        var result = '' + value;
        if (patternLength === 2 && result.length === 1)
            return '0' + result;
        return result;
    };
    return NumericFormattingItem;
}(DateTimeFormattingItem));
var CombinedFormattingItem = (function (_super) {
    tslib_1.__extends(CombinedFormattingItem, _super);
    function CombinedFormattingItem() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.patternsLength = [1, 2, 3, 4];
        return _this;
    }
    CombinedFormattingItem.prototype.format = function (date, patternLength) {
        if (patternLength <= 2)
            return this.formatCore(this.getNumericValue(date), patternLength);
        if (patternLength === 3)
            return this.getAbbreviatedName(date);
        return this.getFullName(date);
    };
    return CombinedFormattingItem;
}(NumericFormattingItem));
var Hour24FormattingItem = (function (_super) {
    tslib_1.__extends(Hour24FormattingItem, _super);
    function Hour24FormattingItem() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Hour24FormattingItem.prototype.format = function (date, patternLength) {
        return this.formatCore(date.getHours(), patternLength);
    };
    return Hour24FormattingItem;
}(NumericFormattingItem));
var Hour12FormattingItem = (function (_super) {
    tslib_1.__extends(Hour12FormattingItem, _super);
    function Hour12FormattingItem() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Hour12FormattingItem.prototype.format = function (date, patternLength) {
        var hour = date.getHours() % 12;
        if (hour === 0)
            hour = 12;
        return this.formatCore(hour, patternLength);
    };
    return Hour12FormattingItem;
}(NumericFormattingItem));
var MinuteFormattingItem = (function (_super) {
    tslib_1.__extends(MinuteFormattingItem, _super);
    function MinuteFormattingItem() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    MinuteFormattingItem.prototype.format = function (date, patternLength) {
        return this.formatCore(date.getMinutes(), patternLength);
    };
    return MinuteFormattingItem;
}(NumericFormattingItem));
var SecondFormattingItem = (function (_super) {
    tslib_1.__extends(SecondFormattingItem, _super);
    function SecondFormattingItem() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    SecondFormattingItem.prototype.format = function (date, patternLength) {
        return this.formatCore(date.getSeconds(), patternLength);
    };
    return SecondFormattingItem;
}(NumericFormattingItem));
var DayFormattingItem = (function (_super) {
    tslib_1.__extends(DayFormattingItem, _super);
    function DayFormattingItem() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    DayFormattingItem.prototype.getAbbreviatedName = function (date) {
        return this.options.abbrDayNames[this.getDayOfWeek(date)];
    };
    DayFormattingItem.prototype.getFullName = function (date) {
        return this.options.dayNames[this.getDayOfWeek(date)];
    };
    DayFormattingItem.prototype.getNumericValue = function (date) {
        return date.getDate();
    };
    DayFormattingItem.prototype.getDayOfWeek = function (date) {
        return date.getDay();
    };
    return DayFormattingItem;
}(CombinedFormattingItem));
var MonthFormattingItem = (function (_super) {
    tslib_1.__extends(MonthFormattingItem, _super);
    function MonthFormattingItem() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    MonthFormattingItem.prototype.getAbbreviatedName = function (date) {
        return this.options.abbrMonthNames[date.getMonth()];
    };
    MonthFormattingItem.prototype.getFullName = function (date) {
        return this.options.monthNames[date.getMonth()];
    };
    MonthFormattingItem.prototype.getNumericValue = function (date) {
        return date.getMonth() + 1;
    };
    return MonthFormattingItem;
}(CombinedFormattingItem));
var YearFormattingItem = (function (_super) {
    tslib_1.__extends(YearFormattingItem, _super);
    function YearFormattingItem() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.patternsLength = [2, 4];
        return _this;
    }
    YearFormattingItem.prototype.format = function (date, patternLength) {
        var year = date.getFullYear();
        if (patternLength === 2 && year > 99) {
            var shortYear = year % 100;
            var result = '' + shortYear;
            if (result.length === 1)
                return '0' + result;
            return result;
        }
        return '' + year;
    };
    return YearFormattingItem;
}(DateTimeFormattingItem));


/***/ }),

/***/ 8786:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DateUtils = void 0;
var DateUtils = (function () {
    function DateUtils() {
    }
    DateUtils.fixTimezoneGap = function (oldDate, newDate) {
        var diff = newDate.getHours() - oldDate.getHours();
        if (diff === 0)
            return;
        var sign = (diff === 1 || diff === -23) ? -1 : 1;
        var trial = new Date(newDate.getTime() + sign * 3600000);
        var isDateChangedAsExpected = newDate.getHours() - trial.getHours() === diff;
        if (isDateChangedAsExpected && (sign > 0 || trial.getDate() === newDate.getDate()))
            newDate.setTime(trial.getTime());
    };
    DateUtils.expandTwoDigitYear = function (value, options) {
        value += 1900;
        if (value + 99 < options.twoDigitYearMax)
            value += 100;
        return value;
    };
    DateUtils.toUtcTime = function (date) {
        var result = new Date();
        result.setTime(date.valueOf() + DateUtils.getTimeZoneOffset(date));
        return result;
    };
    DateUtils.getTimeZoneOffset = function (date) {
        var utcFullYear = date.getUTCFullYear();
        var utcDate = new Date(utcFullYear, date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
        if (utcFullYear < 100)
            utcDate.setFullYear(utcFullYear);
        return utcDate.valueOf() - date.valueOf();
    };
    return DateUtils;
}());
exports.DateUtils = DateUtils;


/***/ }),

/***/ 5308:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DateFormatter = void 0;
var string_1 = __webpack_require__(2866);
var string_2 = __webpack_require__(49);
var date_utils_1 = __webpack_require__(8786);
var DateFormatter = (function () {
    function DateFormatter(options) {
        this.date = new Date(2000, 0, 1);
        this.mask = '';
        this.specifiers = {};
        this.spPositions = [];
        this.parserKeys = [];
        this.savedYear = -1;
        this.isYearParsed = false;
        this.parsedMonth = -1;
        this.knownSpecifiers = ['d', 'M', 'y', 'H', 'h', 'm', 's', 'f', 'F', 'g', 't'];
        this.replacers = {
            'd': this.replaceDay,
            'M': this.replaceMonth,
            'y': this.replaceYear,
            'H': this.replaceHours23,
            'h': this.replaceHours12,
            'm': this.replaceMinutes,
            's': this.replaceSeconds,
            'F': this.replaceMsTrimmed,
            'f': this.replaceMs,
            'g': this.replaceEra,
            't': this.replaceAmPm
        };
        this.parsers = {
            'd': this.parseDay,
            'M': this.parseMonth,
            'y': this.parseYear,
            'H': this.parseHours,
            'h': this.parseHours,
            'm': this.parseMinutes,
            's': this.parseSeconds,
            'F': this.parseMs,
            'f': this.parseMs,
            'g': this.parseEra,
            't': this.parseAmPm
        };
        this.options = options;
    }
    DateFormatter.prototype.setFormatString = function (mask) {
        if (mask.length === 2 && mask.charAt(0) === '%')
            mask = mask.charAt(1);
        var stringContainsDateSeparator = !!mask && (mask.indexOf(this.options.ds) !== -1);
        this.specifiers = {};
        this.spPositions = [];
        this.mask = '';
        var subt = 0;
        var startPos = 0;
        var skip = false;
        var backslash = false;
        var sp = '';
        var prevCh = '';
        for (var pos = 0; true; pos++) {
            var ch = mask.charAt(pos);
            if (ch === '') {
                if (sp.length > 0)
                    this.registerSpecifier(startPos, sp, stringContainsDateSeparator);
                break;
            }
            if (ch === '\\' && !backslash) {
                backslash = true;
                subt++;
            }
            else {
                if (!backslash && (ch === '\'' || ch === '"')) {
                    skip = !skip;
                    subt++;
                }
                else {
                    if (!skip) {
                        if (ch === '/')
                            ch = this.options.ds;
                        else if (ch === ':')
                            ch = this.options.ts;
                        else if (this.isKnownSpecifier(ch)) {
                            if (prevCh.length === 0)
                                prevCh = ch;
                            if (ch === prevCh)
                                sp += ch;
                            else {
                                if (sp.length > 0)
                                    this.registerSpecifier(startPos, sp, stringContainsDateSeparator);
                                sp = ch;
                                startPos = pos - subt;
                            }
                        }
                    }
                    this.mask += ch;
                }
                backslash = false;
            }
            prevCh = ch;
        }
        this.spPositions.reverse();
    };
    DateFormatter.prototype.format = function (date) {
        this.date = date;
        var result = this.mask;
        for (var _i = 0, _a = this.spPositions; _i < _a.length; _i++) {
            var pos = _a[_i];
            var sp = this.specifiers[pos];
            var replacerKey = sp.substr(0, 1);
            if (this.replacers[replacerKey])
                result = result.substr(0, pos) + this.replacers[replacerKey].call(this, sp.length) + result.substr(pos + sp.length);
        }
        return result;
    };
    DateFormatter.prototype.parse = function (str, rememberParserKeys) {
        var now = new Date();
        this.savedYear = now.getFullYear();
        this.isYearParsed = false;
        this.parsedMonth = -1;
        this.date = new Date(2000, 0, now.getDate());
        this.strToParse = str;
        this.catchNumbers(str);
        this.hasAmPm = false;
        for (var _i = 0, _a = this.spPositions; _i < _a.length; _i++) {
            var pos = _a[_i];
            var sp = this.specifiers[pos];
            var parserKey = sp.substr(0, 1);
            if (this.parsers[parserKey]) {
                if (rememberParserKeys)
                    this.parserKeys.push(parserKey);
                if (!this.parsers[parserKey].call(this, sp.length))
                    return false;
            }
        }
        if (this.hasAmPm) {
            if (!this.fixHours())
                return false;
        }
        if (!this.isYearParsed)
            this.date.setFullYear(this.savedYear);
        if (this.parsedMonth < 0)
            this.parsedMonth = now.getMonth();
        this.applyMonth();
        return this.date;
    };
    DateFormatter.prototype.hasYear = function () {
        return this.hasParserKey('y');
    };
    DateFormatter.prototype.hasMonth = function () {
        return this.hasParserKey('M');
    };
    DateFormatter.prototype.hasDay = function () {
        return this.hasParserKey('d');
    };
    DateFormatter.prototype.hasHours = function () {
        return this.hasParserKey('h') || this.hasParserKey('H');
    };
    DateFormatter.prototype.hasMinutes = function () {
        return this.hasParserKey('m');
    };
    DateFormatter.prototype.hasSeconds = function () {
        return this.hasParserKey('s');
    };
    DateFormatter.prototype.hasMilliseconds = function () {
        return this.hasParserKey('f') || this.hasParserKey('F');
    };
    DateFormatter.prototype.hasParserKey = function (key) {
        return this.parserKeys.indexOf(key) !== -1;
    };
    DateFormatter.expandPredefinedFormat = function (format, options) {
        switch (format) {
            case 'd':
                return options.shortDate;
            case 'D':
                return options.longDate;
            case 't':
                return options.shortTime;
            case 'T':
                return options.longTime;
            case 'g':
                return options.shortDate + ' ' + options.shortTime;
            case 'f':
                return options.longDate + ' ' + options.shortTime;
            case 'G':
                return options.shortDate + ' ' + options.longTime;
            case 'F':
            case 'U':
                return options.longDate + ' ' + options.longTime;
            case 'M':
            case 'm':
                return options.monthDay;
            case 'Y':
            case 'y':
                return options.yearMonth;
            case 'O':
            case 'o':
                return 'yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss.fffffff';
            case 'R':
            case 'r':
                return 'ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'';
            case 's':
                return 'yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss';
            case 'u':
                return 'yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'';
        }
        return format;
    };
    DateFormatter.prototype.applyMonth = function () {
        var trial;
        var day = this.date.getDate();
        while (true) {
            trial = new Date();
            trial.setTime(this.date.getTime());
            trial.setMonth(this.parsedMonth);
            if (trial.getMonth() === this.parsedMonth)
                break;
            --day;
            this.date.setDate(day);
        }
        date_utils_1.DateUtils.fixTimezoneGap(this.date, trial);
        this.date = trial;
    };
    DateFormatter.prototype.registerSpecifier = function (pos, sp, stringContainsDateSeparator) {
        if (this.options.ds.length > 1 && this.mask && !stringContainsDateSeparator) {
            var dateParts = this.mask.split(this.options.ds);
            if (dateParts) {
                if (dateParts.length > 0 && dateParts[dateParts.length - 1] === '')
                    dateParts.pop();
                pos += (dateParts.length - 1) * (this.options.ds.length - 1);
            }
        }
        this.spPositions.push(pos);
        this.specifiers[pos] = sp;
    };
    DateFormatter.prototype.replaceDay = function (length) {
        if (length < 3) {
            var value = this.date.getDate().toString();
            return length === 2 ? this.padLeft(value, 2) : value;
        }
        else if (length === 3)
            return this.options.abbrDayNames[this.date.getDay()];
        else
            return this.options.dayNames[this.date.getDay()];
    };
    DateFormatter.prototype.replaceMonth = function (length) {
        var value = 1 + this.date.getMonth();
        switch (length) {
            case 1:
                return value.toString();
            case 2:
                return this.padLeft(value.toString(), 2);
            case 3:
                return this.options.abbrMonthNames[value - 1];
            default:
                for (var i in this.specifiers) {
                    if (Object.prototype.hasOwnProperty.call(this.specifiers, i)) {
                        var spec = this.specifiers[i];
                        if (spec === 'd' || spec === 'dd')
                            return this.options.genMonthNames[value - 1];
                    }
                }
                return this.options.monthNames[value - 1];
        }
    };
    DateFormatter.prototype.replaceYear = function (length) {
        var value = this.date.getFullYear();
        if (length <= 2)
            value = value % 100;
        return this.padLeft(value.toString(), length);
    };
    DateFormatter.prototype.replaceHours23 = function (length) {
        var value = this.date.getHours().toString();
        return length > 1 ? this.padLeft(value, 2) : value;
    };
    DateFormatter.prototype.replaceHours12 = function (length) {
        var value = this.date.getHours() % 12;
        if (value === 0)
            value = 12;
        var strValue = value.toString();
        return length > 1 ? this.padLeft(strValue, 2) : strValue;
    };
    DateFormatter.prototype.replaceMinutes = function (length) {
        var value = this.date.getMinutes().toString();
        return length > 1 ? this.padLeft(value, 2) : value;
    };
    DateFormatter.prototype.replaceSeconds = function (length) {
        var value = this.date.getSeconds().toString();
        return length > 1 ? this.padLeft(value, 2) : value;
    };
    DateFormatter.prototype.replaceMsTrimmed = function (length) {
        return this.formatMs(length, true);
    };
    DateFormatter.prototype.replaceMs = function (length) {
        return this.formatMs(length, false);
    };
    DateFormatter.prototype.replaceEra = function (_length) {
        return 'A.D.';
    };
    DateFormatter.prototype.replaceAmPm = function (length) {
        var value = this.date.getHours() < 12 ? this.options.am : this.options.pm;
        return length < 2 ? value.charAt(0) : value;
    };
    DateFormatter.prototype.catchNumbers = function (str) {
        var _this = this;
        this.parseNumbers = [];
        var regex = /\d+/g;
        var match;
        while (true) {
            match = regex.exec(str);
            if (!match)
                break;
            this.parseNumbers.push(this.parseDecInt(match[0]));
        }
        var spCount = 0;
        var now = new Date();
        string_1.StringMapUtils.forEach(this.specifiers, function (sp) {
            if (typeof (sp) !== 'string' || !_this.isNumericSpecifier(sp))
                return;
            spCount++;
            if (_this.parseNumbers.length < spCount) {
                var defaultValue = 0;
                if (sp.charAt(0) === 'y')
                    defaultValue = now.getFullYear();
                _this.parseNumbers.push(defaultValue);
            }
        });
        var excess = this.parseNumbers.length - spCount;
        if (excess > 0)
            this.parseNumbers.splice(spCount, excess);
        this.currentParseNumber = this.parseNumbers.length - 1;
    };
    DateFormatter.prototype.popParseNumber = function () {
        return this.parseNumbers[this.currentParseNumber--];
    };
    DateFormatter.prototype.findAbbrMonth = function () {
        return this.findMonthCore(this.options.abbrMonthNames);
    };
    DateFormatter.prototype.findFullMonth = function () {
        return this.findMonthCore(this.options.genMonthNames);
    };
    DateFormatter.prototype.findMonthCore = function (monthNames) {
        var inputLower = this.strToParse.toLowerCase();
        for (var i = 0; i < monthNames.length; i++) {
            var monthName = monthNames[i].toLowerCase();
            if (monthName.length > 0 && inputLower.indexOf(monthName) > -1) {
                this.strToParse = this.strToParse.replace(new RegExp(monthName, 'gi'), string_2.StringUtils.repeat(' ', monthName.length));
                return 1 + i;
            }
        }
        return false;
    };
    DateFormatter.prototype.parseDay = function (length) {
        if (length < 3) {
            var value = this.popParseNumber();
            if (value < 1 || value > 31)
                return false;
            this.date.setDate(value);
        }
        return true;
    };
    DateFormatter.prototype.parseMonth = function (length) {
        var value;
        switch (length) {
            case 1:
            case 2:
                value = this.popParseNumber();
                break;
            case 3:
                value = this.findAbbrMonth();
                break;
            default:
                value = this.findFullMonth();
                break;
        }
        if (value === false || value < 1 || value > 12)
            return false;
        this.parsedMonth = value - 1;
        return true;
    };
    DateFormatter.prototype.parseYear = function (_length) {
        var value = this.popParseNumber();
        if (value > 9999)
            return false;
        if (value < 100)
            value = date_utils_1.DateUtils.expandTwoDigitYear(value, this.options);
        this.date.setFullYear(value);
        this.isYearParsed = true;
        return true;
    };
    DateFormatter.prototype.parseHours = function (_length) {
        var value = this.popParseNumber();
        if (value > 23)
            return false;
        this.date.setHours(value);
        return true;
    };
    DateFormatter.prototype.parseMinutes = function (_length) {
        var value = this.parseMinSecCore();
        if (value === -1)
            return false;
        this.date.setMinutes(value);
        return true;
    };
    DateFormatter.prototype.parseSeconds = function (_length) {
        var value = this.parseMinSecCore();
        if (value === -1)
            return false;
        this.date.setSeconds(value);
        return true;
    };
    DateFormatter.prototype.parseMs = function (length) {
        if (length > 3)
            length = 3;
        var thr = 1;
        for (var i = 0; i < length; i++)
            thr *= 10;
        thr -= 1;
        var value = this.popParseNumber();
        while (value > thr)
            value /= 10;
        this.date.setMilliseconds(Math.round(value));
        return true;
    };
    DateFormatter.prototype.parseEra = function (_length) {
        return true;
    };
    DateFormatter.prototype.parseAmPm = function (_length) {
        this.hasAmPm = this.options.am.length > 0 && this.options.pm.length > 0;
        return true;
    };
    DateFormatter.prototype.parseDecInt = function (str) {
        return parseInt(str, 10);
    };
    DateFormatter.prototype.padLeft = function (str, length) {
        while (str.length < length)
            str = '0' + str;
        return str;
    };
    DateFormatter.prototype.formatMs = function (length, trim) {
        var numVal = Math.floor(this.date.getMilliseconds() * Math.pow(10, length - 3));
        var value = this.padLeft(numVal.toString(), length);
        if (trim) {
            var pos = value.length - 1;
            var req = false;
            while (value.charAt(pos) === '0') {
                req = true;
                pos--;
            }
            if (req)
                value = value.substring(0, pos + 1);
        }
        return value;
    };
    DateFormatter.prototype.parseMinSecCore = function () {
        var value = this.popParseNumber();
        return value > 59 ? -1 : value;
    };
    DateFormatter.prototype.fixHours = function () {
        var state = this.getAmPmState(this.strToParse, false);
        if (!state)
            return true;
        var h = this.date.getHours();
        switch (state) {
            case 'P':
                if (h > 12)
                    return false;
                if (h < 12)
                    this.date.setHours(12 + h);
                break;
            case 'A':
                if (h === 12)
                    this.date.setHours(0);
        }
        return true;
    };
    DateFormatter.prototype.getAmPmState = function (str, skipCorrection) {
        var am = this.options.am.charAt(0).toLowerCase();
        var pm = this.options.pm.charAt(0).toLowerCase();
        var amMatches = new RegExp(am, 'gi').exec(str);
        var pmMatches = new RegExp(pm, 'gi').exec(str);
        var amCount = amMatches ? amMatches.length : 0;
        var pmCount = pmMatches ? pmMatches.length : 0;
        var hasAm = amCount > 0;
        var hasPm = pmCount > 0;
        if (hasAm !== hasPm && amCount < 2 && pmCount < 2)
            return hasAm ? 'A' : 'P';
        if (!skipCorrection) {
            str = str.replace(new RegExp(this.getDayMonthNameReplacePattern(), 'gi'), '');
            return this.getAmPmState(str, true);
        }
        return null;
    };
    DateFormatter.prototype.getDayMonthNameReplacePattern = function () {
        if (!this.dayMonthNameReplacePattern)
            return this.createDayMonthNameReplacePattern();
        return this.dayMonthNameReplacePattern;
    };
    DateFormatter.prototype.createDayMonthNameReplacePattern = function () {
        var parts = [];
        parts.push('(?:');
        parts.push(this.createReplacePattern(this.options.monthNames));
        parts.push(this.createReplacePattern(this.options.genMonthNames));
        parts.push(this.createReplacePattern(this.options.abbrMonthNames));
        parts.push(this.createReplacePattern(this.options.abbrDayNames));
        parts.push(this.createReplacePattern(this.options.dayNames));
        parts.push(')');
        return parts.join('');
    };
    DateFormatter.prototype.createReplacePattern = function (names) {
        return names && names.length > 0 ? '\\b' + names.join('\\b|\\b') + '\\b' : '';
    };
    DateFormatter.prototype.isNumericSpecifier = function (sp) {
        var ch = sp.charAt(0);
        return !(ch === 'g' || ch === 't' || ((ch === 'M' || ch === 'd') && sp.length > 2));
    };
    DateFormatter.prototype.isKnownSpecifier = function (sp) {
        sp = sp.charAt(0);
        return this.knownSpecifiers.indexOf(sp) !== -1;
    };
    return DateFormatter;
}());
exports.DateFormatter = DateFormatter;


/***/ }),

/***/ 1768:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.$ = void 0;
var tslib_1 = __webpack_require__(2020);
var date_1 = __webpack_require__(5308);
var number_1 = __webpack_require__(2004);
var string_1 = __webpack_require__(5418);
var SimpleFormattersManager = (function () {
    function SimpleFormattersManager(options) {
        this.options = options;
        this.dateFormatter = new date_1.DateFormatter(options);
        this.numberFormatter = new number_1.NumberFormatter(options);
        this.stringFormatter = new string_1.StringFormatter(this.dateFormatter, this.numberFormatter);
    }
    SimpleFormattersManager.prototype.formatString = function (pattern) {
        var _a;
        var args = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            args[_i - 1] = arguments[_i];
        }
        return (_a = this.stringFormatter).format.apply(_a, tslib_1.__spreadArray([pattern], args));
    };
    SimpleFormattersManager.prototype.formatDate = function (format, date) {
        this.dateFormatter.setFormatString(format);
        return this.dateFormatter.format(date);
    };
    SimpleFormattersManager.prototype.formatNumber = function (format, value) {
        return this.numberFormatter.format(format, value);
    };
    return SimpleFormattersManager;
}());
exports.$ = SimpleFormattersManager;


/***/ }),

/***/ 2004:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.NumberFormatter = void 0;
var NumberFormatter = (function () {
    function NumberFormatter(options) {
        this.positive = true;
        this.digits = [];
        this.pointPos = 0;
        this.spec = '';
        this.prec = -1;
        this.upper = true;
        this.custom = false;
        this.options = options;
    }
    NumberFormatter.prototype.format = function (format, value) {
        if (isNaN(value))
            return this.options.numNan;
        if (!isFinite(value)) {
            return value > 0 ?
                this.options.numPosInf :
                this.options.numNegInf;
        }
        this.fillFormatInfo(format);
        if (this.spec === 'X')
            return this.formatHex(value);
        this.fillDigitInfo(value);
        switch (this.spec) {
            case 'C':
                return this.formatCurrency();
            case 'D':
                return this.formatDecimal();
            case 'E':
                return this.formatExp();
            case 'F':
                return this.formatFixed();
            case 'G':
                return this.formatGeneral();
            case 'N':
                return this.formatNumber();
            case 'P':
                return this.formatPercent();
            default:
                if (this.custom)
                    return this.formatCustom(format);
                return '?';
        }
    };
    NumberFormatter.prototype.formatCurrency = function () {
        if (this.prec < 0)
            this.prec = this.options.currPrec;
        this.round(this.prec);
        var bag = [];
        if (this.positive) {
            switch (this.options.currPosPattern) {
                case 0:
                    bag.push(this.options.currency);
                    break;
                case 2:
                    bag.push(this.options.currency, ' ');
                    break;
            }
        }
        else {
            switch (this.options.currNegPattern) {
                case 0:
                    bag.push('(', this.options.currency);
                    break;
                case 1:
                    bag.push('-', this.options.currency);
                    break;
                case 2:
                    bag.push(this.options.currency, '-');
                    break;
                case 3:
                    bag.push(this.options.currency);
                    break;
                case 4:
                    bag.push('(');
                    break;
                case 5:
                case 8:
                    bag.push('-');
                    break;
                case 9:
                    bag.push('-', this.options.currency, ' ');
                    break;
                case 11:
                    bag.push(this.options.currency, ' ');
                    break;
                case 12:
                    bag.push(this.options.currency, ' -');
                    break;
                case 14:
                    bag.push('(', this.options.currency, ' ');
                    break;
                case 15:
                    bag.push('(');
                    break;
            }
        }
        this.appendGroupedInteger(bag, this.options.currGroups, this.options.currGroupSeparator);
        if (this.prec > 0) {
            bag.push(this.options.currDecimalPoint);
            this.appendDigits(bag, this.pointPos, this.pointPos + this.prec);
        }
        if (this.positive) {
            switch (this.options.currPosPattern) {
                case 1:
                    bag.push(this.options.currency);
                    break;
                case 3:
                    bag.push(' ', this.options.currency);
                    break;
            }
        }
        else {
            switch (this.options.currNegPattern) {
                case 0:
                case 14:
                    bag.push(')');
                    break;
                case 3:
                    bag.push('-');
                    break;
                case 4:
                    bag.push(this.options.currency, ')');
                    break;
                case 5:
                    bag.push(this.options.currency);
                    break;
                case 6:
                    bag.push('-', this.options.currency);
                    break;
                case 7:
                    bag.push(this.options.currency, '-');
                    break;
                case 8:
                    bag.push(' ', this.options.currency);
                    break;
                case 10:
                    bag.push(' ', this.options.currency, '-');
                    break;
                case 11:
                    bag.push('-');
                    break;
                case 13:
                    bag.push('- ', this.options.currency);
                    break;
                case 15:
                    bag.push(' ', this.options.currency, ')');
                    break;
            }
        }
        return bag.join('');
    };
    NumberFormatter.prototype.formatDecimal = function () {
        if (this.prec < this.pointPos)
            this.prec = this.pointPos;
        if (this.prec < 1)
            return '0';
        var bag = [];
        if (!this.positive)
            bag.push('-');
        this.appendDigits(bag, this.pointPos - this.prec, this.pointPos);
        return bag.join('');
    };
    NumberFormatter.prototype.formatExp = function () {
        if (this.prec < 0)
            this.prec = 6;
        this.round(1 - this.pointPos + this.prec);
        return this.formatExpCore(3);
    };
    NumberFormatter.prototype.formatExpCore = function (minExpDigits) {
        var bag = [];
        if (!this.positive)
            bag.push('-');
        this.appendDigits(bag, 0, 1);
        if (this.prec > 0) {
            bag.push(this.options.numDecimalPoint);
            this.appendDigits(bag, 1, 1 + this.prec);
        }
        bag.push(this.upper ? 'E' : 'e');
        var order = this.pointPos - 1;
        if (order >= 0)
            bag.push('+');
        else {
            bag.push('-');
            order = -order;
        }
        var orderStr = String(order);
        for (var i = orderStr.length; i < minExpDigits; i++)
            bag.push(0);
        bag.push(orderStr);
        return bag.join('');
    };
    NumberFormatter.prototype.formatFixed = function () {
        if (this.prec < 0)
            this.prec = this.options.numPrec;
        this.round(this.prec);
        var bag = [];
        if (!this.positive)
            bag.push('-');
        if (this.pointPos < 1)
            bag.push(0);
        else
            this.appendDigits(bag, 0, this.pointPos);
        if (this.prec > 0) {
            bag.push(this.options.numDecimalPoint);
            this.appendDigits(bag, this.pointPos, this.pointPos + this.prec);
        }
        return bag.join('');
    };
    NumberFormatter.prototype.formatGeneral = function () {
        var hasFrac = this.pointPos < this.digits.length;
        var allowExp;
        if (this.prec < 0) {
            allowExp = hasFrac;
            this.prec = hasFrac ? 15 : 10;
        }
        else {
            allowExp = true;
            if (this.prec < 1)
                this.prec = hasFrac ? 15 : 10;
            this.round(this.prec - this.pointPos);
        }
        if (allowExp) {
            if (this.pointPos > this.prec || this.pointPos <= -4) {
                this.prec = this.digits.length - 1;
                return this.formatExpCore(2);
            }
        }
        this.prec = Math.min(this.prec, Math.max(1, this.digits.length)) - this.pointPos;
        return this.formatFixed();
    };
    NumberFormatter.prototype.formatNumber = function () {
        if (this.prec < 0)
            this.prec = this.options.numPrec;
        this.round(this.prec);
        var bag = [];
        if (!this.positive) {
            switch (this.options.numNegPattern) {
                case 0:
                    bag.push('(');
                    break;
                case 1:
                    bag.push('-');
                    break;
                case 2:
                    bag.push('- ');
                    break;
            }
        }
        this.appendGroupedInteger(bag, this.options.numGroups, this.options.numGroupSeparator);
        if (this.prec > 0) {
            bag.push(this.options.numDecimalPoint);
            this.appendDigits(bag, this.pointPos, this.pointPos + this.prec);
        }
        if (!this.positive) {
            switch (this.options.numNegPattern) {
                case 0:
                    bag.push(')');
                    break;
                case 3:
                    bag.push('-');
                    break;
                case 4:
                    bag.push(' -');
                    break;
            }
        }
        return bag.join('');
    };
    NumberFormatter.prototype.formatPercent = function () {
        if (this.prec < 0)
            this.prec = this.options.numPrec;
        if (this.digits.length > 0)
            this.pointPos += 2;
        this.round(this.prec);
        var bag = [];
        if (!this.positive)
            bag.push('-');
        if (this.options.percentPattern === 2)
            bag.push('%');
        this.appendGroupedInteger(bag, this.options.numGroups, this.options.numGroupSeparator);
        if (this.prec > 0) {
            bag.push(this.options.numDecimalPoint);
            this.appendDigits(bag, this.pointPos, this.pointPos + this.prec);
        }
        switch (this.options.percentPattern) {
            case 0:
                bag.push(' %');
                break;
            case 1:
                bag.push('%');
                break;
        }
        return bag.join('');
    };
    NumberFormatter.prototype.formatHex = function (value) {
        var result = value.toString(16);
        if (result.indexOf('(') > -1)
            return result;
        result = this.upper ? result.toUpperCase() : result.toLowerCase();
        if (this.prec <= result.length)
            return result;
        var bag = [];
        for (var i = result.length; i < this.prec; i++)
            bag.push(0);
        bag.push(result);
        return bag.join('');
    };
    NumberFormatter.prototype.formatCustom = function (format) {
        var sectionList = NumberFormatter.getCustomFormatSections(format);
        var section = this.selectCustomFormatSection(sectionList);
        if (section === '')
            return this.positive ? '' : '-';
        var info = NumberFormatter.parseCustomFormatSection(section);
        var lists = this.createCustomFormatLists(info);
        if (sectionList.length > 2 && section !== sectionList[2]) {
            var zero = lists.i.concat(lists.f).join('').split('0').join('') === '';
            if (zero) {
                section = sectionList[2];
                info = NumberFormatter.parseCustomFormatSection(section);
                lists = this.createCustomFormatLists(info);
            }
        }
        return this.formatCustomCore(section, info, lists);
    };
    NumberFormatter.getCustomFormatSections = function (format) {
        var sections = [];
        var escaping = false;
        var quote = '';
        var length = 0;
        var prevPos = 0;
        for (var i = 0; i < format.length; i++) {
            var ch = format.charAt(i);
            if (!escaping && quote === '' && ch === ';') {
                sections.push(format.substr(prevPos, length));
                length = 0;
                prevPos = i + 1;
                if (sections.length > 2)
                    break;
            }
            else {
                if (escaping)
                    escaping = false;
                else if (ch === quote)
                    quote = quote === '' ? ch : '';
                else if (ch === '\\')
                    escaping = true;
                else if (ch === '\'' || ch === '"')
                    quote = ch;
                ++length;
            }
        }
        if (length > 0)
            sections.push(format.substr(prevPos, length));
        if (sections.length < 1)
            sections.push(format);
        return sections;
    };
    NumberFormatter.prototype.selectCustomFormatSection = function (sections) {
        if (!this.positive && sections.length > 1 && sections[1] !== '') {
            this.positive = true;
            return sections[1];
        }
        if (this.digits.length < 1 && sections.length > 2 && sections[2] !== '')
            return sections[2];
        return sections[0];
    };
    NumberFormatter.createCustomFormatInfo = function () {
        return {
            pointPos: -1,
            grouping: false,
            exp: false,
            expShowPlus: false,
            percent: false,
            scaling: 0,
            intDigits: 0,
            fracDigits: 0,
            expDigits: 0,
            intSharps: 0,
            fracSharps: 0,
            expSharps: 0
        };
    };
    NumberFormatter.parseCustomFormatSection = function (section) {
        var quote = '';
        var area = 'i';
        var canParseIntSharps = true;
        var result = NumberFormatter.createCustomFormatInfo();
        var groupSeparators = 0;
        for (var i = 0; i < section.length; i++) {
            var ch = section.charAt(i);
            if (ch === quote) {
                quote = '';
                continue;
            }
            if (quote !== '')
                continue;
            if (area === 'e' && ch !== '0' && ch !== '#') {
                area = result.pointPos < 0 ? 'i' : 'f';
                i--;
                continue;
            }
            switch (ch) {
                case '\\':
                    i++;
                    continue;
                case '\'':
                case '"':
                    quote = ch;
                    continue;
                case '#':
                case '0':
                    if (ch === '#') {
                        switch (area) {
                            case 'i':
                                if (canParseIntSharps)
                                    result.intSharps++;
                                break;
                            case 'f':
                                result.fracSharps++;
                                break;
                            case 'e':
                                result.expSharps++;
                                break;
                        }
                    }
                    else {
                        canParseIntSharps = false;
                        switch (area) {
                            case 'f':
                                result.fracSharps = 0;
                                break;
                            case 'e':
                                result.expSharps = 0;
                                break;
                        }
                    }
                    switch (area) {
                        case 'i':
                            result.intDigits++;
                            if (groupSeparators > 0)
                                result.grouping = true;
                            groupSeparators = 0;
                            break;
                        case 'f':
                            result.fracDigits++;
                            break;
                        case 'e':
                            result.expDigits++;
                            break;
                    }
                    break;
                case 'e':
                case 'E':
                    if (result.exp)
                        break;
                    result.exp = true;
                    area = 'e';
                    if (i < section.length - 1) {
                        var next = section.charAt(1 + i);
                        if (next === '+' || next === '-') {
                            if (next === '+')
                                result.expShowPlus = true;
                            i++;
                        }
                        else if (next !== '0' && next !== '#') {
                            result.exp = false;
                            if (result.pointPos < 0)
                                area = 'i';
                        }
                    }
                    break;
                case '.':
                    area = 'f';
                    if (result.pointPos < 0)
                        result.pointPos = i;
                    break;
                case '%':
                    result.percent = true;
                    break;
                case ',':
                    if (area === 'i' && result.intDigits > 0)
                        groupSeparators++;
                    break;
                default:
                    break;
            }
        }
        if (result.expDigits < 1)
            result.exp = false;
        else
            result.intSharps = 0;
        if (result.fracDigits < 1)
            result.pointPos = -1;
        result.scaling = 3 * groupSeparators;
        return result;
    };
    NumberFormatter.prototype.createCustomFormatLists = function (info) {
        var intList = [];
        var fracList = [];
        var expList = [];
        if (this.digits.length > 0) {
            if (info.percent)
                this.pointPos += 2;
            this.pointPos -= info.scaling;
        }
        var expPositive = true;
        if (info.exp && (info.intDigits > 0 || info.fracDigits > 0)) {
            var diff = 0;
            if (this.digits.length > 0) {
                this.round(info.intDigits + info.fracDigits - this.pointPos);
                diff -= this.pointPos - info.intDigits;
                this.pointPos = info.intDigits;
            }
            expPositive = diff <= 0;
            expList = String(diff < 0 ? -diff : diff).split('');
        }
        else
            this.round(info.fracDigits);
        if (this.digits.length < 1 || this.pointPos < 1)
            intList = [0];
        else
            this.appendDigits(intList, 0, this.pointPos);
        this.appendDigits(fracList, this.pointPos, this.digits.length);
        if (info.exp) {
            while (intList.length < info.intDigits)
                intList.unshift(0);
            while (expList.length < info.expDigits - info.expSharps)
                expList.unshift(0);
            if (expPositive && info.expShowPlus)
                expList.unshift('+');
            else if (!expPositive)
                expList.unshift('-');
        }
        else {
            while (intList.length < info.intDigits - info.intSharps)
                intList.unshift(0);
            if (info.intSharps >= info.intDigits) {
                var zero = true;
                for (var i = 0; i < intList.length; i++) {
                    if (intList[i] !== 0) {
                        zero = false;
                        break;
                    }
                }
                if (zero)
                    intList = [];
            }
        }
        while (fracList.length < info.fracDigits - info.fracSharps)
            fracList.push(0);
        return {
            i: intList,
            f: fracList,
            e: expList
        };
    };
    NumberFormatter.prototype.formatCustomCore = function (section, info, lists) {
        var intLen = 0;
        var total = 0;
        var groupIndex = 0;
        var counter = 0;
        var groupSize = 0;
        if (info.grouping && this.options.numGroups.length > 0) {
            intLen = lists.i.length;
            for (var i = 0; i < this.options.numGroups.length; i++) {
                if (total + this.options.numGroups[i] <= intLen) {
                    total += this.options.numGroups[i];
                    groupIndex = i;
                }
            }
            groupSize = this.options.numGroups[groupIndex];
            var fraction = intLen > total ? intLen - total : 0;
            if (groupSize === 0) {
                while (groupIndex >= 0 && this.options.numGroups[groupIndex] === 0)
                    groupIndex--;
                groupSize = fraction > 0 ? fraction : this.options.numGroups[groupIndex];
            }
            if (fraction === 0)
                counter = groupSize;
            else {
                groupIndex += Math.floor(fraction / groupSize);
                counter = fraction % groupSize;
                if (counter === 0)
                    counter = groupSize;
                else
                    groupIndex++;
            }
        }
        else
            info.grouping = false;
        var bag = [];
        var area = 'i';
        var intSharps = 0;
        var intListIndex = 0;
        var fracListIndex = 0;
        var savedCh = '';
        for (var i = 0; i < section.length; i++) {
            var ch = section.charAt(i);
            if (ch === savedCh) {
                savedCh = '';
                continue;
            }
            if (savedCh !== '') {
                bag.push(ch);
                continue;
            }
            switch (ch) {
                case '\\':
                    ++i;
                    if (i < section.length)
                        bag.push(section.charAt(i));
                    continue;
                case '\'':
                case '"':
                    savedCh = ch;
                    continue;
                case '#':
                case '0':
                    if (area === 'i') {
                        intSharps++;
                        if (ch === '0' || info.intDigits - intSharps < lists.i.length + intListIndex) {
                            while (info.intDigits - intSharps + intListIndex < lists.i.length) {
                                bag.push(lists.i[intListIndex].toString());
                                intListIndex++;
                                if (info.grouping && --intLen > 0 && --counter === 0) {
                                    bag.push(this.options.numGroupSeparator);
                                    if (--groupIndex < this.options.numGroups.length && groupIndex >= 0)
                                        groupSize = this.options.numGroups[groupIndex];
                                    counter = groupSize;
                                }
                            }
                        }
                    }
                    else if (area === 'f') {
                        if (fracListIndex < lists.f.length) {
                            bag.push(lists.f[fracListIndex].toString());
                            fracListIndex++;
                        }
                    }
                    break;
                case 'e':
                case 'E': {
                    if (lists.e == null || !info.exp) {
                        bag.push(ch);
                        break;
                    }
                    var q = i + 1;
                    for (; q < section.length; q++) {
                        if (q === i + 1 && (section.charAt(q) === '+' || section.charAt(q) === '-'))
                            continue;
                        if (section.charAt(q) === '0' || section.charAt(q) === '#')
                            continue;
                        break;
                    }
                    i = q - 1;
                    area = info.pointPos < 0 ? 'i' : 'f';
                    bag.push(ch);
                    bag = bag.concat(lists.e);
                    lists.e = null;
                    break;
                }
                case '.':
                    if (info.pointPos === i && lists.f.length > 0)
                        bag.push(this.options.numDecimalPoint);
                    area = 'f';
                    break;
                case ',':
                    break;
                default:
                    bag.push(ch);
                    break;
            }
        }
        if (!this.positive)
            bag.unshift('-');
        return bag.join('');
    };
    NumberFormatter.prototype.fillDigitInfo = function (value) {
        this.positive = true;
        if (value < 0) {
            value = -value;
            this.positive = false;
        }
        this.digits = [];
        this.pointPos = 0;
        if (value === 0 || !isFinite(value) || isNaN(value)) {
            this.pointPos = 1;
            return;
        }
        var list = String(value).split('e');
        var str = list[0];
        if (list.length > 1)
            this.pointPos = Number(list[1]);
        var frac = false;
        var decimalCount = 0;
        for (var i = 0; i < str.length; i++) {
            var ch = str.charAt(i);
            if (ch === '.')
                frac = true;
            else {
                if (frac)
                    decimalCount++;
                if (ch !== '0' || this.digits.length > 0)
                    this.digits.push(Number(ch));
            }
        }
        this.pointPos += this.digits.length - decimalCount;
    };
    NumberFormatter.prototype.fillFormatInfo = function (format) {
        this.upper = true;
        this.custom = false;
        this.prec = -1;
        var spec;
        if (format == null || format.length < 1)
            spec = 'G';
        else
            spec = format.charAt(0);
        if (spec >= 'a' && spec <= 'z') {
            spec = spec.toUpperCase();
            this.upper = false;
        }
        if (spec >= 'A' && spec <= 'Z') {
            if (format != null && format.length > 1) {
                var prec = Number(format.substr(1));
                if (!isNaN(prec))
                    this.prec = prec;
                else
                    this.custom = true;
            }
        }
        else
            this.custom = true;
        this.spec = this.custom ? '0' : spec;
    };
    NumberFormatter.prototype.round = function (shift) {
        var amount = this.digits.length - this.pointPos - shift;
        if (amount <= 0)
            return;
        var cutPos = this.pointPos + shift;
        if (cutPos < 0) {
            this.digits = [];
            this.pointPos = 0;
            return;
        }
        var digit = this.digits[cutPos];
        if (digit > 4) {
            for (var i = 0; i < amount; i++) {
                var index = cutPos - 1 - i;
                if (index < 0) {
                    this.digits.unshift(0);
                    this.pointPos++;
                    cutPos++;
                    index++;
                }
                digit = this.digits[index];
                if (digit < 9) {
                    this.digits[index] = 1 + digit;
                    break;
                }
                else {
                    this.digits[index] = 0;
                    amount++;
                }
            }
        }
        for (var i = cutPos - 1; i >= 0; i--) {
            if (this.digits[i] > 0)
                break;
            cutPos--;
        }
        this.digits.splice(cutPos, this.digits.length - cutPos);
    };
    NumberFormatter.prototype.appendGroupedInteger = function (list, groups, separator) {
        if (this.pointPos < 1) {
            list.push(0);
            return;
        }
        var total = 0;
        var groupIndex = 0;
        for (var i = 0; i < groups.length; i++) {
            if (total + groups[i] <= this.pointPos) {
                total += groups[i];
                groupIndex = i;
            }
            else
                break;
        }
        if (groups.length > 0 && total > 0) {
            var counter = void 0;
            var groupSize = groups[groupIndex];
            var fraction = this.pointPos > total ? this.pointPos - total : 0;
            if (groupSize === 0) {
                while (groupIndex >= 0 && groups[groupIndex] === 0)
                    groupIndex--;
                groupSize = fraction > 0 ? fraction : groups[groupIndex];
            }
            if (fraction === 0)
                counter = groupSize;
            else {
                groupIndex += Math.floor(fraction / groupSize);
                counter = fraction % groupSize;
                if (counter === 0)
                    counter = groupSize;
                else
                    groupIndex++;
            }
            var i = 0;
            while (true) {
                if (this.pointPos - i <= counter || counter === 0) {
                    this.appendDigits(list, i, this.pointPos);
                    break;
                }
                this.appendDigits(list, i, i + counter);
                list.push(separator);
                i += counter;
                groupIndex--;
                if (groupIndex < groups.length && groupIndex >= 0)
                    groupSize = groups[groupIndex];
                counter = groupSize;
            }
        }
        else
            this.appendDigits(list, 0, this.pointPos);
    };
    NumberFormatter.prototype.appendDigits = function (list, start, end) {
        for (var i = start; i < end; i++) {
            if (i < 0 || i >= this.digits.length)
                list.push(0);
            else
                list.push(this.digits[i]);
        }
    };
    return NumberFormatter;
}());
exports.NumberFormatter = NumberFormatter;


/***/ }),

/***/ 5418:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.StringFormatter = void 0;
var date_1 = __webpack_require__(5308);
var date_utils_1 = __webpack_require__(8786);
var StringFormatter = (function () {
    function StringFormatter(dateFormatter, numberFormatter) {
        this.activeDateFormat = null;
        this.dateFormatter = dateFormatter;
        this.numberFormatter = numberFormatter;
    }
    StringFormatter.prototype.format = function (pattern) {
        var args = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            args[_i - 1] = arguments[_i];
        }
        var bag = [];
        var pos = 0;
        var savedPos = 0;
        while (pos < pattern.length) {
            var ch = pattern.charAt(pos);
            pos++;
            if (ch === '{') {
                bag.push(pattern.substr(savedPos, pos - savedPos - 1));
                if (pattern.charAt(pos) === '{') {
                    savedPos = pos;
                    pos++;
                    continue;
                }
                var spec = this.parseSpec(pattern, pos);
                pos = spec.pos;
                var arg = args[spec.index];
                var argString = void 0;
                if (arg == null)
                    argString = '';
                else if (typeof arg === 'number')
                    argString = this.numberFormatter.format(spec.format, arg);
                else if (arg instanceof Date) {
                    if (spec.format !== this.activeDateFormat) {
                        this.activeDateFormat = spec.format;
                        if (spec.format === '')
                            spec.format = 'G';
                        if (spec.format.length === 1)
                            spec.format = date_1.DateFormatter.expandPredefinedFormat(spec.format, this.dateFormatter.options);
                        this.dateFormatter.setFormatString(spec.format);
                    }
                    if (this.activeDateFormat === 'U')
                        arg = date_utils_1.DateUtils.toUtcTime(arg);
                    argString = this.dateFormatter.format(arg);
                }
                else {
                    argString = String(arg);
                    if (spec.format !== '' && argString.length > 0) {
                        var num = Number(argString.replace(',', '.'));
                        if (!isNaN(num))
                            argString = this.numberFormatter.format(spec.format, num);
                    }
                }
                var padLen = spec.width - argString.length;
                if (padLen > 0) {
                    if (spec.left)
                        bag.push(argString);
                    for (var i = 0; i < padLen; i++)
                        bag.push(' ');
                    if (!spec.left)
                        bag.push(argString);
                }
                else
                    bag.push(argString);
                savedPos = pos;
            }
            else if (ch === '}' && pos < pattern.length && pattern.charAt(pos) === '}') {
                bag.push(pattern.substr(savedPos, pos - savedPos - 1));
                savedPos = pos;
                pos++;
            }
            else if (ch === '}')
                return '';
        }
        if (savedPos < pattern.length)
            bag.push(pattern.substr(savedPos));
        return bag.join('');
    };
    StringFormatter.prototype.parseSpec = function (format, pos) {
        var result = {
            index: -1,
            left: false,
            width: 0,
            format: '',
            pos: 0
        };
        var savedPos;
        var ch;
        savedPos = pos;
        while (true) {
            ch = format.charAt(pos);
            if (ch < '0' || ch > '9')
                break;
            pos++;
        }
        if (pos > savedPos)
            result.index = Number(format.substr(savedPos, pos - savedPos));
        if (format.charAt(pos) === ',') {
            pos++;
            while (true) {
                ch = format.charAt(pos);
                if (ch !== ' ' && ch !== '\t')
                    break;
                pos++;
            }
            result.left = format.charAt(pos) === '-';
            if (result.left)
                pos++;
            savedPos = pos;
            while (true) {
                ch = format.charAt(pos);
                if (ch < '0' || ch > '9')
                    break;
                pos++;
            }
            if (pos > savedPos)
                result.width = Number(format.substr(savedPos, pos - savedPos));
        }
        if (format.charAt(pos) === ':') {
            pos++;
            savedPos = pos;
            while (format.charAt(pos) !== '}')
                pos++;
            result.format = format.substr(savedPos, pos - savedPos);
        }
        pos++;
        result.pos = pos;
        return result;
    };
    return StringFormatter;
}());
exports.StringFormatter = StringFormatter;


/***/ }),

/***/ 3604:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.m = void 0;
var tslib_1 = __webpack_require__(2020);
var offsets_1 = __webpack_require__(4125);
var Margins = (function (_super) {
    tslib_1.__extends(Margins, _super);
    function Margins() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Margins.empty = function () {
        return new Margins(0, 0, 0, 0);
    };
    Margins.prototype.clone = function () {
        return new Margins(this.left, this.right, this.top, this.bottom);
    };
    return Margins;
}(offsets_1.Offsets));
exports.m = Margins;


/***/ }),

/***/ 5596:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Metrics = void 0;
var Metrics = (function () {
    function Metrics() {
    }
    Metrics.euclideanDistance = function (a, b) {
        var xDist = a.x - b.x;
        var yDist = a.y - b.y;
        return Math.sqrt(xDist * xDist + yDist * yDist);
    };
    Metrics.manhattanDistance = function (a, b) {
        return Math.abs(a.x - b.x) + Math.abs(a.y - b.y);
    };
    return Metrics;
}());
exports.Metrics = Metrics;


/***/ }),

/***/ 4125:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Offsets = void 0;
var Offsets = (function () {
    function Offsets(left, right, top, bottom) {
        this.left = left;
        this.right = right;
        this.top = top;
        this.bottom = bottom;
    }
    Offsets.empty = function () {
        return new Offsets(0, 0, 0, 0);
    };
    Object.defineProperty(Offsets.prototype, "horizontal", {
        get: function () {
            return this.left + this.right;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Offsets.prototype, "vertical", {
        get: function () {
            return this.top + this.bottom;
        },
        enumerable: false,
        configurable: true
    });
    Offsets.fromNumber = function (offset) {
        return new Offsets(offset, offset, offset, offset);
    };
    Offsets.fromOffsets = function (offsets) {
        return new Offsets(offsets.left, offsets.right, offsets.top, offsets.bottom);
    };
    Offsets.fromSide = function (horizontal, vertical) {
        return new Offsets(horizontal, horizontal, vertical, vertical);
    };
    Offsets.prototype.normalize = function () {
        this.left = Math.max(0, this.left);
        this.right = Math.max(0, this.right);
        this.top = Math.max(0, this.top);
        this.bottom = Math.max(0, this.bottom);
        return this;
    };
    Offsets.prototype.toString = function () {
        return JSON.stringify(this);
    };
    Offsets.prototype.isEmpty = function () {
        return this.left === 0 && this.right === 0 && this.top === 0 && this.bottom === 0;
    };
    Offsets.prototype.offset = function (offset) {
        this.left += offset.left;
        this.right += offset.right;
        this.top += offset.top;
        this.bottom += offset.bottom;
        return this;
    };
    Offsets.prototype.multiply = function (multLeft, multRight, multTop, multBottom) {
        switch (arguments.length) {
            case 1: {
                this.left *= multLeft;
                this.right *= multLeft;
                this.top *= multLeft;
                this.bottom *= multLeft;
                return this;
            }
            case 2: {
                this.left *= multLeft;
                this.right *= multLeft;
                this.top *= multRight;
                this.bottom *= multRight;
                return this;
            }
            case 4: {
                this.left *= multLeft;
                this.right *= multRight;
                this.top *= multTop;
                this.bottom *= multBottom;
                return this;
            }
        }
        return this;
    };
    Offsets.prototype.clone = function () {
        return new Offsets(this.left, this.right, this.top, this.bottom);
    };
    Offsets.prototype.copyFrom = function (obj) {
        this.left = obj.left;
        this.right = obj.right;
        this.top = obj.top;
        this.bottom = obj.bottom;
    };
    Offsets.prototype.equals = function (obj) {
        return this.top === obj.top &&
            this.bottom === obj.bottom &&
            this.right === obj.right &&
            this.left === obj.left;
    };
    Offsets.prototype.applyConverter = function (converter) {
        this.left = converter(this.left);
        this.right = converter(this.right);
        this.top = converter(this.top);
        this.bottom = converter(this.bottom);
        return this;
    };
    return Offsets;
}());
exports.Offsets = Offsets;


/***/ }),

/***/ 8900:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Point = void 0;
var Point = (function () {
    function Point(x, y) {
        this.x = x;
        this.y = y;
    }
    Point.zero = function () {
        return new Point(0, 0);
    };
    Point.fromNumber = function (num) {
        return new Point(num, num);
    };
    Point.prototype.isZero = function () {
        return this.x === 0 && this.y === 0;
    };
    Point.prototype.toString = function () {
        return JSON.stringify(this);
    };
    Point.prototype.copyFrom = function (obj) {
        this.x = obj.x;
        this.y = obj.y;
    };
    Point.prototype.clone = function () {
        return new Point(this.x, this.y);
    };
    Point.prototype.equals = function (obj) {
        return this.x === obj.x && this.y === obj.y;
    };
    Point.prototype.offset = function (offsetX, offsetY) {
        this.x += offsetX;
        this.y += offsetY;
        return this;
    };
    Point.prototype.offsetByPoint = function (offset) {
        this.x += offset.x;
        this.y += offset.y;
        return this;
    };
    Point.prototype.multiply = function (multiplierX, multiplierY) {
        this.x *= multiplierX;
        this.y *= multiplierY;
        return this;
    };
    Point.prototype.negative = function () {
        this.x *= -1;
        this.y *= -1;
        return this;
    };
    Point.prototype.applyConverter = function (converter) {
        this.x = converter(this.x);
        this.y = converter(this.y);
        return this;
    };
    Point.plus = function (a, b) {
        return new Point(a.x + b.x, a.y + b.y);
    };
    Point.minus = function (a, b) {
        return new Point(a.x - b.x, a.y - b.y);
    };
    Point.xComparer = function (a, b) {
        return a.x - b.x;
    };
    Point.yComparer = function (a, b) {
        return a.y - b.y;
    };
    Point.equals = function (a, b) {
        return a.x === b.x && a.y === b.y;
    };
    return Point;
}());
exports.Point = Point;


/***/ }),

/***/ 9210:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.VW = exports.mg = void 0;
var tslib_1 = __webpack_require__(2020);
var point_1 = __webpack_require__(8900);
var vector_1 = __webpack_require__(9716);
var segment_1 = __webpack_require__(1335);
var polygonal_chain_1 = __webpack_require__(2313);
var Polygon = (function (_super) {
    tslib_1.__extends(Polygon, _super);
    function Polygon() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    Object.defineProperty(Polygon.prototype, "numEdges", {
        get: function () {
            return this.points.length;
        },
        enumerable: false,
        configurable: true
    });
    Polygon.fromRectangle = function (rect) {
        var right = rect.x + rect.width;
        var bottom = rect.y + rect.height;
        return new Polygon([
            new point_1.Point(rect.x, rect.y),
            new point_1.Point(right, rect.y),
            new point_1.Point(right, bottom),
            new point_1.Point(rect.x, bottom)
        ]);
    };
    Polygon.prototype.getEdge = function (edgeIndex) {
        return new segment_1.Segment(this.points[edgeIndex], this.points[(edgeIndex + 1) % this.numEdges]);
    };
    Polygon.collision = function (a, b) {
        var edgeCountA = a.numEdges;
        var edgeCountB = b.numEdges;
        var intersect = false;
        for (var edgeIndex = 0; edgeIndex < edgeCountA + edgeCountB; edgeIndex++) {
            var edge = edgeIndex < edgeCountA ? a.getEdge(edgeIndex) : b.getEdge(edgeIndex - edgeCountA);
            var edgeVector = vector_1.Vector.fromSegment(edge);
            var axis = new vector_1.Vector(-edgeVector.y, edgeVector.x).normalize();
            var projectionA = a.projection(axis);
            var projectionB = b.projection(axis);
            var intersectionOfProjection = projectionA.minValue < projectionB.minValue ?
                projectionB.minValue - projectionA.maxValue :
                projectionA.minValue - projectionB.maxValue;
            if (intersectionOfProjection > 0)
                return CollisionResult.None;
            if (intersectionOfProjection < 0)
                intersect = true;
        }
        return intersect ? CollisionResult.Intersect : CollisionResult.Contact;
    };
    return Polygon;
}(polygonal_chain_1.PolygonalChain));
exports.mg = Polygon;
var CollisionResult;
(function (CollisionResult) {
    CollisionResult[CollisionResult["None"] = 0] = "None";
    CollisionResult[CollisionResult["Intersect"] = 1] = "Intersect";
    CollisionResult[CollisionResult["Contact"] = 2] = "Contact";
})(CollisionResult = exports.VW || (exports.VW = {}));


/***/ }),

/***/ 2313:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.PolygonalChain = void 0;
var list_1 = __webpack_require__(2940);
var point_1 = __webpack_require__(8900);
var rectangle_1 = __webpack_require__(8011);
var segment_1 = __webpack_require__(1335);
var vector_1 = __webpack_require__(9716);
var PolygonalChain = (function () {
    function PolygonalChain(points) {
        this.points = [];
        this.points = points;
    }
    PolygonalChain.prototype.getSegment = function (edgeIndex) {
        return new segment_1.Segment(this.points[edgeIndex], this.points[(edgeIndex + 1)]);
    };
    Object.defineProperty(PolygonalChain.prototype, "bounds", {
        get: function () {
            var vertBounds = list_1.ListUtils.minMaxExtended(this.points, function (p) { return p.y; });
            var horBounds = list_1.ListUtils.minMaxExtended(this.points, function (p) { return p.x; });
            return new rectangle_1.Rectangle(horBounds.minValue, vertBounds.minValue, horBounds.maxValue - horBounds.minValue, vertBounds.maxValue - vertBounds.minValue);
        },
        enumerable: false,
        configurable: true
    });
    PolygonalChain.prototype.rotateAround = function (point, angle, rightSC, byClockwise) {
        if (rightSC === void 0) { rightSC = false; }
        if (byClockwise === void 0) { byClockwise = true; }
        var center = new point_1.Point(point.x, point.y);
        this.changeCoordinateCenterTo(center);
        var sinFi = Math.sin(angle);
        var cosFi = Math.cos(angle);
        var sign = (rightSC ? 1 : 0) ^ (byClockwise ? 1 : 0) ? -1 : 1;
        for (var _i = 0, _a = this.points; _i < _a.length; _i++) {
            var pt = _a[_i];
            var clone = pt.clone();
            pt.x = clone.x * cosFi + sign * clone.y * sinFi;
            pt.y = -sign * clone.x * sinFi + clone.y * cosFi;
        }
        this.changeCoordinateCenterTo(center.multiply(-1, -1));
        return this;
    };
    PolygonalChain.prototype.changeCoordinateCenterTo = function (p) {
        var offset = new point_1.Point(p.x, p.y).multiply(-1, -1);
        list_1.ListUtils.forEach(this.points, function (rp) { return rp.offsetByPoint(offset); });
        return this;
    };
    PolygonalChain.prototype.projection = function (axis) {
        return list_1.ListUtils.minMaxExtended(this.points, function (p) { return vector_1.Vector.scalarProduct(p, axis); });
    };
    return PolygonalChain;
}());
exports.PolygonalChain = PolygonalChain;


/***/ }),

/***/ 8011:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.RectangleDeviation = exports.HitTestDeviation = exports.Rectangle = void 0;
var flag_1 = __webpack_require__(7820);
var algorithms_1 = __webpack_require__(1104);
var fixed_1 = __webpack_require__(8860);
var point_1 = __webpack_require__(8900);
var size_1 = __webpack_require__(6353);
var Rectangle = (function () {
    function Rectangle(x, y, width, height) {
        this.x = x;
        this.y = y;
        this.width = width;
        this.height = height;
    }
    Object.defineProperty(Rectangle.prototype, "right", {
        get: function () {
            return this.x + this.width;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Rectangle.prototype, "bottom", {
        get: function () {
            return this.y + this.height;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Rectangle.prototype, "center", {
        get: function () {
            return Rectangle.center(this);
        },
        enumerable: false,
        configurable: true
    });
    Rectangle.prototype.createRectangle = function () {
        return new Rectangle(this.x, this.y, this.width, this.height);
    };
    Rectangle.prototype.createSize = function () {
        return new size_1.Size(this.width, this.height);
    };
    Rectangle.prototype.createPosition = function () {
        return new point_1.Point(this.x, this.y);
    };
    Rectangle.prototype.createVerticalInterval = function () {
        return new fixed_1.FixedInterval(this.y, this.height);
    };
    Rectangle.prototype.createHorizontalInterval = function () {
        return new fixed_1.FixedInterval(this.x, this.width);
    };
    Rectangle.fromGeometry = function (point, size) {
        return new Rectangle(point.x, point.y, size.width, size.height);
    };
    Rectangle.fromPoints = function (pointA, pointB) {
        var x = Math.min(pointA.x, pointB.x);
        var y = Math.min(pointA.y, pointB.y);
        var width = Math.abs(pointA.x - pointB.x);
        var height = Math.abs(pointA.y - pointB.y);
        return new Rectangle(x, y, width, height);
    };
    Rectangle.fromPositions = function (x1, y1, x2, y2) {
        var x = Math.min(x1, x2);
        var y = Math.min(y1, y2);
        var width = Math.abs(x2 - x1);
        var height = Math.abs(y2 - y1);
        return new Rectangle(x, y, width, height);
    };
    Rectangle.fromCenter = function (center, minRadius) {
        return new Rectangle(center.x - minRadius, center.y - minRadius, minRadius * 2, minRadius * 2);
    };
    Rectangle.prototype.isCollapsed = function () {
        return this.width === 0 || this.height === 0;
    };
    Rectangle.prototype.isEmpty = function () {
        return this.x === 0 && this.y === 0 &&
            this.width === 0 && this.height === 0;
    };
    Rectangle.prototype.toString = function () {
        return JSON.stringify(this);
    };
    Rectangle.prototype.setPosition = function (pos) {
        this.x = pos.x;
        this.y = pos.y;
        return this;
    };
    Rectangle.prototype.setSize = function (size) {
        this.width = size.width;
        this.height = size.height;
        return this;
    };
    Rectangle.prototype.setGeomerty = function (rect) {
        this.x = rect.x;
        this.y = rect.y;
        this.width = rect.width;
        this.height = rect.height;
        return this;
    };
    Rectangle.prototype.moveRectangle = function (offsetX, offsetY) {
        this.x += offsetX;
        this.y += offsetY;
        return this;
    };
    Rectangle.prototype.moveRectangleByPoint = function (offset) {
        this.x += offset.x;
        this.y += offset.y;
        return this;
    };
    Rectangle.prototype.resize = function (deltaX, deltaY) {
        this.width += deltaX;
        this.height += deltaY;
        return this;
    };
    Rectangle.prototype.nonNegativeSize = function () {
        if (this.width < 0)
            this.width = 0;
        if (this.height < 0)
            this.height = 0;
        return this;
    };
    Rectangle.prototype.multiply = function (multiplierX, multiplierY) {
        this.x *= multiplierX;
        this.y *= multiplierY;
        this.width *= multiplierX;
        this.height *= multiplierY;
        return this;
    };
    Rectangle.prototype.equals = function (obj) {
        return Rectangle.equals(this, obj);
    };
    Rectangle.prototype.clone = function () {
        var rect = new Rectangle(0, 0, 0, 0);
        rect.copyFrom(this);
        return rect;
    };
    Rectangle.prototype.copyFrom = function (obj) {
        this.x = obj.x;
        this.y = obj.y;
        this.width = obj.width;
        this.height = obj.height;
    };
    Rectangle.prototype.containsPoint = function (point) {
        return Rectangle.containsPoint(this, point);
    };
    Rectangle.prototype.containsRectangle = function (rectangle) {
        return this.x <= rectangle.x &&
            this.right >= rectangle.right &&
            this.y <= rectangle.y &&
            this.bottom >= rectangle.bottom;
    };
    Rectangle.prototype.inflate = function (deltaX, deltaY) {
        if (deltaY === void 0) { deltaY = deltaX; }
        this.x -= deltaX;
        this.y -= deltaY;
        this.width += deltaX * 2;
        this.height += deltaY * 2;
        return this;
    };
    Rectangle.prototype.applyOffsetsInside = function (offsets) {
        this.x += offsets.left;
        this.y += offsets.top;
        this.width -= offsets.left + offsets.right;
        this.height -= offsets.top + offsets.bottom;
        return this;
    };
    Rectangle.prototype.applyNormalizedOffsetsInside = function (offsets) {
        var left = Math.max(0, offsets.left);
        var right = Math.max(0, offsets.right);
        var horSum = left + right;
        if (horSum !== 0) {
            if (horSum <= this.width) {
                this.x += left;
                this.width -= horSum;
            }
            else {
                this.x += this.width * (left / horSum);
                this.width = 0;
            }
        }
        var top = Math.max(0, offsets.top);
        var bottom = Math.max(0, offsets.bottom);
        var vertSum = top + bottom;
        if (vertSum !== 0) {
            if (vertSum <= this.height) {
                this.y += top;
                this.height -= vertSum;
            }
            else {
                this.y += this.height * (top / vertSum);
                this.height = 0;
            }
        }
        return this;
    };
    Rectangle.prototype.applyOffsetsOutside = function (offsets) {
        this.x -= offsets.left;
        this.y -= offsets.top;
        this.width += offsets.left + offsets.right;
        this.height += offsets.top + offsets.bottom;
        return this;
    };
    Rectangle.prototype.applyConverter = function (converter) {
        this.x = converter(this.x);
        this.y = converter(this.y);
        this.width = converter(this.width);
        this.height = converter(this.height);
        return this;
    };
    Rectangle.getHorizIntersection = function (objA, objB) {
        return algorithms_1.IntervalAlgorithms.getIntersection(new fixed_1.FixedInterval(objA.x, objA.width), new fixed_1.FixedInterval(objB.x, objB.width));
    };
    Rectangle.getVertIntersection = function (objA, objB) {
        return algorithms_1.IntervalAlgorithms.getIntersection(new fixed_1.FixedInterval(objA.y, objA.height), new fixed_1.FixedInterval(objB.y, objB.height));
    };
    Rectangle.getIntersection = function (objA, objB) {
        var horInters = algorithms_1.IntervalAlgorithms.getIntersection(new fixed_1.FixedInterval(objA.x, objA.width), new fixed_1.FixedInterval(objB.x, objB.width));
        if (!horInters)
            return null;
        var vertInters = algorithms_1.IntervalAlgorithms.getIntersection(new fixed_1.FixedInterval(objA.y, objA.height), new fixed_1.FixedInterval(objB.y, objB.height));
        if (!vertInters)
            return null;
        return new Rectangle(horInters.start, vertInters.start, horInters.length, vertInters.length);
    };
    Rectangle.getHorNonCollapsedIntersection = function (objA, objB) {
        var inters = Rectangle.getHorizIntersection(objA, objB);
        return inters && !inters.isCollapsed() ? inters : null;
    };
    Rectangle.getVertNonCollapsedIntersection = function (objA, objB) {
        var inters = Rectangle.getVertIntersection(objA, objB);
        return inters && !inters.isCollapsed() ? inters : null;
    };
    Rectangle.getNonCollapsedIntersection = function (objA, objB) {
        var inters = Rectangle.getIntersection(objA, objB);
        return inters && !inters.isCollapsed() ? inters : null;
    };
    Rectangle.areIntersected = function (rectA, rectB) {
        return !(rectA.x > rectB.x + rectB.width || rectB.x > rectA.x + rectA.width) &&
            !(rectA.y > rectB.y + rectB.height || rectB.y > rectA.y + rectA.height);
    };
    Rectangle.union = function (rectA, rectB) {
        var right = Math.max(rectA.x + rectA.width, rectB.x + rectB.width);
        var bottom = Math.max(rectA.y + rectA.height, rectB.y + rectB.height);
        var x = Math.min(rectA.x, rectB.x);
        var y = Math.min(rectA.y, rectB.y);
        return new Rectangle(x, y, right - x, bottom - y);
    };
    Rectangle.equals = function (a, b) {
        return a.x === b.x &&
            a.y === b.y &&
            a.width === b.width &&
            a.height === b.height;
    };
    Rectangle.center = function (rect) {
        return new point_1.Point(rect.x + rect.width / 2, rect.y + rect.height / 2);
    };
    Rectangle.containsPoint = function (rect, point) {
        var right = rect.x + rect.width;
        var bottom = rect.y + rect.height;
        return point.y >= rect.y && bottom >= point.y &&
            point.x >= rect.x && right >= point.x;
    };
    return Rectangle;
}());
exports.Rectangle = Rectangle;
var HitTestDeviation;
(function (HitTestDeviation) {
    HitTestDeviation[HitTestDeviation["None"] = 0] = "None";
    HitTestDeviation[HitTestDeviation["Top"] = 1] = "Top";
    HitTestDeviation[HitTestDeviation["Bottom"] = 2] = "Bottom";
    HitTestDeviation[HitTestDeviation["Left"] = 4] = "Left";
    HitTestDeviation[HitTestDeviation["Right"] = 8] = "Right";
})(HitTestDeviation = exports.HitTestDeviation || (exports.HitTestDeviation = {}));
var RectangleDeviation = (function () {
    function RectangleDeviation(initRectangle, initPoint) {
        this.initRectangle = initRectangle;
        this.initPoint = initPoint;
        this.deviation = new flag_1.Flag(HitTestDeviation.None);
    }
    RectangleDeviation.prototype.calcDeviation = function () {
        if (this.initPoint.x < this.initRectangle.x)
            this.deviation.set(HitTestDeviation.Left, true);
        else if (this.initPoint.x > this.initRectangle.right)
            this.deviation.set(HitTestDeviation.Right, true);
        if (this.initPoint.y < this.initRectangle.y)
            this.deviation.set(HitTestDeviation.Top, true);
        else if (this.initPoint.y > this.initRectangle.bottom)
            this.deviation.set(HitTestDeviation.Bottom, true);
        return this;
    };
    RectangleDeviation.prototype.calcAdditionalParams = function () {
        this.insidePoint = this.initPoint.clone();
        this.offsetToInside = new point_1.Point(0, 0);
        if (this.deviation.get(HitTestDeviation.Left)) {
            this.insidePoint.x = this.initRectangle.x;
            this.offsetToInside.x = this.insidePoint.x - this.initPoint.x;
        }
        else if (this.deviation.get(HitTestDeviation.Right)) {
            this.insidePoint.x = this.initRectangle.right;
            this.offsetToInside.x = this.initPoint.x - this.insidePoint.x;
        }
        if (this.deviation.get(HitTestDeviation.Top)) {
            this.insidePoint.y = this.initRectangle.y;
            this.offsetToInside.y = this.insidePoint.y - this.initPoint.y;
        }
        else if (this.deviation.get(HitTestDeviation.Bottom)) {
            this.insidePoint.y = this.initRectangle.bottom;
            this.offsetToInside.y = this.initPoint.y - this.insidePoint.y;
        }
        return this;
    };
    return RectangleDeviation;
}());
exports.RectangleDeviation = RectangleDeviation;


/***/ }),

/***/ 1335:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Segment = void 0;
var math_1 = __webpack_require__(8679);
var metrics_1 = __webpack_require__(5596);
var point_1 = __webpack_require__(8900);
var rectangle_1 = __webpack_require__(8011);
var Segment = (function () {
    function Segment(startPoint, endPoint) {
        this.startPoint = startPoint;
        this.endPoint = endPoint;
    }
    Object.defineProperty(Segment.prototype, "length", {
        get: function () {
            return metrics_1.Metrics.euclideanDistance(this.startPoint, this.endPoint);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Segment.prototype, "xLength", {
        get: function () {
            return Math.abs(this.endPoint.x - this.startPoint.x);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Segment.prototype, "yLength", {
        get: function () {
            return Math.abs(this.endPoint.y - this.startPoint.y);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Segment.prototype, "center", {
        get: function () {
            return new point_1.Point(this.startPoint.x + (this.endPoint.x - this.startPoint.x) / 2, this.startPoint.y + (this.endPoint.y - this.startPoint.y) / 2);
        },
        enumerable: false,
        configurable: true
    });
    Segment.prototype.isIntersected = function (segment) {
        return this.startPoint.equals(segment.startPoint) || this.endPoint.equals(segment.startPoint) ||
            this.startPoint.equals(segment.endPoint) || this.endPoint.equals(segment.endPoint) ||
            (this.intersectCore(segment) && segment.intersectCore(this));
    };
    Segment.prototype.containsPoint = function (point, accuracy) {
        if (accuracy === void 0) { accuracy = 0.0000001; }
        return this.startPoint.equals(point) || this.endPoint.equals(point) ||
            math_1.MathUtils.numberCloseTo(this.length, metrics_1.Metrics.euclideanDistance(this.startPoint, point) + metrics_1.Metrics.euclideanDistance(this.endPoint, point), accuracy);
    };
    Segment.prototype.isIntersectedByRect = function (rect) {
        if (rectangle_1.Rectangle.containsPoint(rect, this.startPoint) || rectangle_1.Rectangle.containsPoint(rect, this.endPoint))
            return true;
        var left = rect.x;
        var right = rect.x + rect.width;
        var top = rect.y;
        var bottom = rect.y + rect.height;
        return this.isIntersected(new Segment(new point_1.Point(left, top), new point_1.Point(left, bottom))) ||
            this.isIntersected(new Segment(new point_1.Point(right, top), new point_1.Point(right, bottom))) ||
            this.isIntersected(new Segment(new point_1.Point(left, top), new point_1.Point(right, top))) ||
            this.isIntersected(new Segment(new point_1.Point(left, bottom), new point_1.Point(right, bottom)));
    };
    Segment.prototype.intersectCore = function (segment) {
        if (this.startPoint.x === this.endPoint.x) {
            if (this.startPoint.x - segment.endPoint.x !== 0)
                return (this.startPoint.x - segment.startPoint.x) / (this.startPoint.x - segment.endPoint.x) <= 0;
            if (segment.endPoint.y - this.endPoint.y !== 0)
                return (segment.endPoint.y - this.startPoint.y) / (segment.endPoint.y - this.endPoint.y) <= 0;
        }
        if (this.startPoint.y === this.endPoint.y) {
            if (this.startPoint.y - segment.endPoint.y !== 0)
                return (this.startPoint.y - segment.startPoint.y) / (this.startPoint.y - segment.endPoint.y) <= 0;
            if (segment.endPoint.x - this.endPoint.x !== 0)
                return (segment.endPoint.x - this.startPoint.x) / (segment.endPoint.x - this.endPoint.x) <= 0;
        }
        var tg = (this.endPoint.y - this.startPoint.y) / (this.endPoint.x - this.startPoint.x);
        var y1 = this.startPoint.y + (segment.startPoint.x - this.startPoint.x) * tg;
        var y2 = this.startPoint.y + (segment.endPoint.x - this.startPoint.x) * tg;
        var dy1 = segment.startPoint.y - y1;
        var dy2 = segment.endPoint.y - y2;
        if (dy1 === 0 && dy2 === 0) {
            return (this.startPoint.y - y1) / (this.endPoint.y - y1) <= 0 ||
                (this.startPoint.y - y2) / (this.endPoint.y - y2) <= 0;
        }
        return dy1 === 0 || dy2 === 0 || dy1 / dy2 < 0;
    };
    return Segment;
}());
exports.Segment = Segment;


/***/ }),

/***/ 6353:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Size = void 0;
var Size = (function () {
    function Size(width, height) {
        this.width = width;
        this.height = height;
    }
    Size.empty = function () {
        return new Size(0, 0);
    };
    Size.fromNumber = function (num) {
        return new Size(num, num);
    };
    Size.initByCommonAction = function (action) {
        var widthAdp = function (s) { return s.width; };
        var heightAdp = function (s) { return s.height; };
        return new Size(action(widthAdp, heightAdp), action(heightAdp, widthAdp));
    };
    Size.prototype.isEmpty = function () {
        return this.width === 0 && this.height === 0;
    };
    Size.prototype.toString = function () {
        return JSON.stringify(this);
    };
    Size.prototype.nonNegativeSize = function () {
        if (this.width < 0)
            this.width = 0;
        if (this.height < 0)
            this.height = 0;
        return this;
    };
    Size.prototype.offset = function (offsetWidth, offsetHeight) {
        this.width = this.width + offsetWidth;
        this.height = this.height + offsetHeight;
        return this;
    };
    Size.prototype.multiply = function (multiplierW, multiplierH) {
        this.width *= multiplierW;
        this.height *= multiplierH;
        return this;
    };
    Size.prototype.equals = function (obj) {
        return this.width === obj.width && this.height === obj.height;
    };
    Size.prototype.clone = function () {
        return new Size(this.width, this.height);
    };
    Size.prototype.copyFrom = function (obj) {
        this.width = obj.width;
        this.height = obj.height;
    };
    Size.prototype.applyConverter = function (conv) {
        this.width = conv(this.width);
        this.height = conv(this.height);
        return this;
    };
    Size.equals = function (a, b) {
        return a.width === b.width && a.height === b.height;
    };
    return Size;
}());
exports.Size = Size;


/***/ }),

/***/ 9716:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Vector = void 0;
var Vector = (function () {
    function Vector(x, y) {
        if (x === void 0) { x = 0; }
        if (y === void 0) { y = 0; }
        this.x = x;
        this.y = y;
    }
    Object.defineProperty(Vector.prototype, "length", {
        get: function () {
            return Math.sqrt(this.x * this.x + this.y * this.y);
        },
        enumerable: false,
        configurable: true
    });
    Vector.fromPoints = function (begin, end) {
        return new Vector(end.x - begin.x, end.y - begin.y);
    };
    Vector.fromSegment = function (segment) {
        return new Vector(segment.endPoint.x - segment.startPoint.x, segment.endPoint.y - segment.startPoint.y);
    };
    Vector.prototype.normalize = function () {
        var length = this.length;
        if (length !== 0) {
            this.x /= length;
            this.y /= length;
        }
        return this;
    };
    Vector.prototype.negative = function () {
        this.x *= -1;
        this.y *= -1;
        return this;
    };
    Object.defineProperty(Vector, "axisX", {
        get: function () {
            return new Vector(1, 0);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(Vector, "axisY", {
        get: function () {
            return new Vector(0, 1);
        },
        enumerable: false,
        configurable: true
    });
    Vector.angleBetween = function (a, b) {
        var cosFi = Vector.scalarProduct(a, b) / (a.length * b.length);
        return Math.acos(cosFi);
    };
    Vector.scalarProduct = function (a, b) {
        return a.x * b.x + a.y * b.y;
    };
    return Vector;
}());
exports.Vector = Vector;


/***/ }),

/***/ 1104:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.IntervalAlgorithms = void 0;
var list_1 = __webpack_require__(2940);
var search_1 = __webpack_require__(2400);
var fixed_1 = __webpack_require__(8860);
var collector_1 = __webpack_require__(6102);
var IntervalAlgorithms = (function () {
    function IntervalAlgorithms() {
    }
    IntervalAlgorithms.oneConstainsOtherArraysOfInterval = function (mergedIntervalsA, intervalsB) {
        var shouldBeContais = list_1.ListUtils.deepCopy(intervalsB);
        var currenInterval = shouldBeContais.pop();
        while (currenInterval) {
            if (!list_1.ListUtils.unsafeAnyOf(mergedIntervalsA, function (mergedInterval) { return mergedInterval.containsInterval(currenInterval); }))
                return false;
            currenInterval = shouldBeContais.pop();
        }
        return true;
    };
    IntervalAlgorithms.getIntersection = function (intervalA, intervalB) {
        return IntervalAlgorithms.getIntersectionTemplate(intervalA, intervalB, intervalA);
    };
    IntervalAlgorithms.getIntersectionTemplate = function (intervalA, intervalB, template) {
        var start = Math.max(intervalA.start, intervalB.start);
        var end = Math.min(intervalA.end, intervalB.end);
        if (start > end)
            return null;
        return template.makeByStartEnd(start, end);
    };
    IntervalAlgorithms.getIntersectionNonNullLength = function (intervalA, intervalB) {
        return IntervalAlgorithms.getIntersectionNonNullLengthTemplate(intervalA, intervalB, intervalA);
    };
    IntervalAlgorithms.getIntersectionNonNullLengthTemplate = function (intervalA, intervalB, template) {
        var inters = IntervalAlgorithms.getIntersectionTemplate(intervalA, intervalB, template);
        return inters && inters.length ? inters : null;
    };
    IntervalAlgorithms.getIntersectionsTwoArraysOfInterval = function (intervalsA, intervalsB) {
        return IntervalAlgorithms.getIntersectionsTwoArraysOfIntervalTemplate(intervalsA, intervalsB, intervalsA[0]);
    };
    IntervalAlgorithms.getIntersectionsTwoArraysOfIntervalTemplate = function (intervalsA, intervalsB, template) {
        var result = [];
        var lengthIntervalsA = intervalsA.length;
        var lengthIntervalsB = intervalsB.length;
        var intervalsAIndex = 0;
        var intervalsBIndex = 0;
        var currAInterval = intervalsA[intervalsAIndex];
        var currBInterval = intervalsB[intervalsBIndex];
        var currResultInterval = null;
        while (intervalsAIndex < lengthIntervalsA && intervalsBIndex < lengthIntervalsB) {
            var intersection = IntervalAlgorithms.getIntersectionTemplate(currAInterval, currBInterval, template);
            if (intersection) {
                if (currResultInterval && currResultInterval.end === intersection.start)
                    currResultInterval.length += intersection.length;
                else {
                    currResultInterval = intersection;
                    result.push(currResultInterval);
                }
            }
            if (currAInterval.end < currBInterval.end) {
                intervalsAIndex++;
                currAInterval = intervalsA[intervalsAIndex];
            }
            else {
                intervalsBIndex++;
                currBInterval = intervalsB[intervalsBIndex];
            }
        }
        return result;
    };
    IntervalAlgorithms.getAffectedObjects = function (objects, intervals, getFirstIndex, conflictResolver) {
        if (getFirstIndex === void 0) { getFirstIndex = function (start) {
            return search_1.SearchUtils.normedInterpolationIndexOf(objects, function (obj) { return obj.interval.start; }, start);
        }; }
        if (conflictResolver === void 0) { conflictResolver = function (objectInterval, touchingIntervalLength, touchPoint) {
            return objectInterval.start === touchPoint && touchingIntervalLength === 0;
        }; }
        return IntervalAlgorithms.getAffectedObjectsTemplate(objects, intervals, intervals[0], getFirstIndex, conflictResolver);
    };
    IntervalAlgorithms.getAffectedObjectsTemplate = function (objects, intervals, template, getFirstIndex, conflictResolver) {
        if (getFirstIndex === void 0) { getFirstIndex = function (start) {
            return search_1.SearchUtils.normedInterpolationIndexOf(objects, function (obj) { return obj.interval.start; }, start);
        }; }
        if (conflictResolver === void 0) { conflictResolver = function (objectInterval, touchingIntervalLength, touchPoint) {
            return objectInterval.start === touchPoint && touchingIntervalLength === 0;
        }; }
        var collector = new collector_1.SparseIntervalsCollector(template);
        for (var _i = 0, intervals_1 = intervals; _i < intervals_1.length; _i++) {
            var interval = intervals_1[_i];
            var ind = Math.max(0, getFirstIndex(interval.start, objects));
            for (var obj = void 0; obj = objects[ind]; ind++) {
                var objInterval = obj.interval;
                if (objInterval.start > interval.end)
                    break;
                var intersection = IntervalAlgorithms.getIntersectionTemplate(objInterval, interval, template);
                if (intersection && (intersection.length || conflictResolver(objInterval, interval.length, intersection.start)))
                    collector.add(ind);
            }
        }
        return collector.getIntervals();
    };
    IntervalAlgorithms.handleAffectedObjects = function (objects, intervals, callback, getFirstIndex) {
        if (getFirstIndex === void 0) { getFirstIndex = function (start) {
            return search_1.SearchUtils.normedInterpolationIndexOf(objects, function (obj) { return obj.interval.start; }, start);
        }; }
        var template = new fixed_1.FixedInterval(0, 0);
        for (var _i = 0, intervals_2 = intervals; _i < intervals_2.length; _i++) {
            var interval = intervals_2[_i];
            var ind = Math.max(0, getFirstIndex(interval.start, objects));
            for (var obj = void 0; obj = objects[ind]; ind++) {
                var objInterval = obj.interval;
                if (objInterval.start > interval.end)
                    break;
                var intersection = IntervalAlgorithms.getIntersectionTemplate(objInterval, interval, template);
                if (intersection)
                    callback(obj, ind, interval, intersection);
            }
        }
    };
    IntervalAlgorithms.getMergedIntervals = function (intervals, needSort) {
        return IntervalAlgorithms.getMergedIntervalsTemplate(intervals, needSort, intervals[0]);
    };
    IntervalAlgorithms.getMergedIntervalsTemplate = function (intervals, needSort, template) {
        if (intervals.length < 2)
            return intervals.length > 0 ? [template.makeByStartLength(intervals[0].start, intervals[0].length)] : [];
        var sortedIntervals = needSort ?
            [].concat(intervals).sort(function (a, b) { return a.start - b.start; }) :
            intervals;
        var result = [];
        for (var i = 0, interval = void 0; interval = sortedIntervals[i];) {
            var minBound = interval.start;
            var maxBound = interval.end;
            for (++i; (interval = sortedIntervals[i]) !== undefined && (interval.start <= maxBound); i++) {
                if (interval.end > maxBound)
                    maxBound = interval.end;
            }
            result.push(template.makeByStartEnd(minBound, maxBound));
        }
        return result;
    };
    IntervalAlgorithms.reflectIntervals = function (intervals, bounds) {
        return IntervalAlgorithms.reflectIntervalsTemplate(intervals, bounds, bounds);
    };
    IntervalAlgorithms.reflectIntervalsTemplate = function (intervals, bounds, template) {
        if (!intervals.length)
            return [template.makeByStartLength(bounds.start, bounds.length)];
        var lastIntervalEnd = list_1.ListUtils.last(intervals).end;
        var result = list_1.ListUtils.reducedMap(intervals, function (curr, i) {
            return IntervalAlgorithms.getIntersectionNonNullLengthTemplate(template.makeByStartEnd(intervals[i - 1].end, curr.start), bounds, template);
        }, 1);
        if (bounds.start < intervals[0].start)
            result.unshift(template.makeByStartEnd(bounds.start, intervals[0].start));
        if (bounds.end > lastIntervalEnd)
            result.push(template.makeByStartEnd(lastIntervalEnd, bounds.end));
        return result;
    };
    IntervalAlgorithms.reflectionOfPointOnInterval = function (value, valInterval, targetInterval) {
        return (value - valInterval.start) / valInterval.length * targetInterval.length + targetInterval.start;
    };
    return IntervalAlgorithms;
}());
exports.IntervalAlgorithms = IntervalAlgorithms;


/***/ }),

/***/ 7093:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.e = void 0;
var tslib_1 = __webpack_require__(2020);
var mutable_1 = __webpack_require__(8678);
var BoundaryInterval = (function (_super) {
    tslib_1.__extends(BoundaryInterval, _super);
    function BoundaryInterval(start, end) {
        var _this = _super.call(this) || this;
        _this.start = start;
        _this.end = end;
        return _this;
    }
    Object.defineProperty(BoundaryInterval.prototype, "length", {
        get: function () {
            return this.end - this.start;
        },
        set: function (newLength) {
            this.end = this.start + newLength;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(BoundaryInterval.prototype, "center", {
        get: function () {
            return (this.start + this.end) / 2;
        },
        enumerable: false,
        configurable: true
    });
    BoundaryInterval.normalized = function (pointA, pointB) {
        return pointA > pointB ?
            new BoundaryInterval(pointB, pointA) :
            new BoundaryInterval(pointA, pointB);
    };
    BoundaryInterval.prototype.copyFrom = function (obj) {
        this.start = obj.start;
        this.end = obj.end;
    };
    BoundaryInterval.prototype.equals = function (obj) {
        return obj && this.start === obj.start && this.end === obj.end;
    };
    BoundaryInterval.prototype.clone = function () {
        return new BoundaryInterval(this.start, this.length);
    };
    BoundaryInterval.prototype.makeByStartEnd = function (start, end) {
        return new BoundaryInterval(start, end);
    };
    BoundaryInterval.prototype.makeByStartLength = function (start, length) {
        return new BoundaryInterval(start, start + length);
    };
    BoundaryInterval.prototype.makeByLengthEnd = function (length, end) {
        return new BoundaryInterval(end - length, end);
    };
    BoundaryInterval.makeByConstInterval = function (interval) {
        return new BoundaryInterval(interval.start, interval.end);
    };
    BoundaryInterval.prototype.expand = function (interval) {
        this.start = Math.min(interval.start, this.start);
        this.end = Math.max(interval.end, this.end);
        return this;
    };
    return BoundaryInterval;
}(mutable_1.MutableInterval));
exports.e = BoundaryInterval;


/***/ }),

/***/ 7814:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ConstInterval = void 0;
var ConstInterval = (function () {
    function ConstInterval() {
    }
    Object.defineProperty(ConstInterval.prototype, "center", {
        get: function () {
            return this.start + (this.length / 2);
        },
        enumerable: false,
        configurable: true
    });
    ConstInterval.prototype.isNormalized = function () {
        return this.end >= this.start;
    };
    ConstInterval.prototype.isCollapsed = function () {
        return this.length === 0;
    };
    ConstInterval.prototype.equals = function (obj) {
        return this.start === obj.start && this.end === obj.end;
    };
    ConstInterval.isCollapsed = function (intervals) {
        return !intervals[1] && intervals[0].isCollapsed();
    };
    ConstInterval.prototype.containsInterval = function (interval) {
        return this.start <= interval.start && this.end >= interval.end;
    };
    ConstInterval.prototype.containsIntervalWithoutEnd = function (interval) {
        return this.start <= interval.start && this.end > interval.end;
    };
    ConstInterval.prototype.contains = function (pos) {
        return this.start <= pos && pos < this.end;
    };
    ConstInterval.prototype.containsWithIntervalEnd = function (val) {
        return this.start <= val && val <= this.end;
    };
    ConstInterval.prototype.containsWithoutIntervalEndAndStart = function (pos) {
        return this.start < pos && pos < this.end;
    };
    return ConstInterval;
}());
exports.ConstInterval = ConstInterval;


/***/ }),

/***/ 8860:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FixedInterval = void 0;
var tslib_1 = __webpack_require__(2020);
var mutable_1 = __webpack_require__(8678);
var FixedInterval = (function (_super) {
    tslib_1.__extends(FixedInterval, _super);
    function FixedInterval(start, length) {
        var _this = _super.call(this) || this;
        _this.start = start;
        _this.length = length;
        return _this;
    }
    Object.defineProperty(FixedInterval.prototype, "end", {
        get: function () {
            return this.start + this.length;
        },
        set: function (newEnd) {
            this.length = newEnd - this.start;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(FixedInterval.prototype, "center", {
        get: function () {
            return this.start + this.length / 2;
        },
        enumerable: false,
        configurable: true
    });
    FixedInterval.prototype.copyFrom = function (obj) {
        this.start = obj.start;
        this.length = obj.length;
    };
    FixedInterval.prototype.equals = function (obj) {
        return obj && this.start === obj.start && this.length === obj.length;
    };
    FixedInterval.prototype.clone = function () {
        return new FixedInterval(this.start, this.length);
    };
    FixedInterval.prototype.makeByStartEnd = function (start, end) {
        return new FixedInterval(start, end - start);
    };
    FixedInterval.prototype.makeByStartLength = function (start, length) {
        return new FixedInterval(start, length);
    };
    FixedInterval.prototype.makeByLengthEnd = function (length, end) {
        return new FixedInterval(end - length, length);
    };
    FixedInterval.fromPositions = function (start, end) {
        return new FixedInterval(start, end - start);
    };
    FixedInterval.makeByConstInterval = function (interval) {
        return new FixedInterval(interval.start, interval.length);
    };
    FixedInterval.prototype.expand = function (interval) {
        var end = Math.max(interval.end, this.end);
        this.start = Math.min(interval.start, this.start);
        this.end = end;
        return this;
    };
    return FixedInterval;
}(mutable_1.MutableInterval));
exports.FixedInterval = FixedInterval;


/***/ }),

/***/ 8678:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.MutableInterval = void 0;
var tslib_1 = __webpack_require__(2020);
var const_1 = __webpack_require__(7814);
var MutableInterval = (function (_super) {
    tslib_1.__extends(MutableInterval, _super);
    function MutableInterval() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    MutableInterval.prototype.normalizeLength = function () {
        if (this.length < 0)
            this.length = 0;
        return this;
    };
    return MutableInterval;
}(const_1.ConstInterval));
exports.MutableInterval = MutableInterval;


/***/ }),

/***/ 6102:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SparseIntervalsCollector = void 0;
var intervals_1 = __webpack_require__(448);
var SparseIntervalsCollector = (function () {
    function SparseIntervalsCollector(template) {
        this.intervals = [];
        this.template = template;
    }
    SparseIntervalsCollector.prototype.add = function (index) {
        if (this.curr && this.curr.end === index) {
            this.curr.length++;
            return;
        }
        this.curr = this.template.makeByStartLength(index, 1);
        this.intervals.push(this.curr);
    };
    SparseIntervalsCollector.prototype.getIntervals = function () {
        return new intervals_1.SparseIntervals(this.intervals);
    };
    return SparseIntervalsCollector;
}());
exports.SparseIntervalsCollector = SparseIntervalsCollector;


/***/ }),

/***/ 448:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SparseIntervals = void 0;
var iterator_1 = __webpack_require__(8094);
var objects_iterator_1 = __webpack_require__(510);
var SparseIntervals = (function () {
    function SparseIntervals(list) {
        if (list === void 0) { list = []; }
        this.list = list;
        this._count = 0;
        this._numIntervals = 0;
        for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
            var curr = list_1[_i];
            this._count += curr.length;
            this._numIntervals++;
        }
    }
    Object.defineProperty(SparseIntervals.prototype, "count", {
        get: function () {
            return this._count;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(SparseIntervals.prototype, "numIntervals", {
        get: function () {
            return this._numIntervals;
        },
        enumerable: false,
        configurable: true
    });
    SparseIntervals.prototype.getInterval = function (index) {
        return this.list[index];
    };
    SparseIntervals.prototype.getNativeIterator = function () {
        return new iterator_1.SparseIntervalsIterator(this);
    };
    SparseIntervals.prototype.getObjectsIterator = function (objects) {
        return new objects_iterator_1.SparseObjectsIterator(this, objects);
    };
    return SparseIntervals;
}());
exports.SparseIntervals = SparseIntervals;


/***/ }),

/***/ 8094:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SparseIntervalsIterator = void 0;
var SparseIntervalsIterator = (function () {
    function SparseIntervalsIterator(sparseIntervals) {
        this.sparseIntervals = sparseIntervals;
        this.intervalIndex = -1;
    }
    Object.defineProperty(SparseIntervalsIterator.prototype, "isStarted", {
        get: function () {
            return !!this.curr;
        },
        enumerable: false,
        configurable: true
    });
    SparseIntervalsIterator.prototype.moveNext = function () {
        if (this.curr && this.posInInterval + 1 < this.curr.length) {
            this.posInInterval++;
            this.index++;
            this.initObject();
            return true;
        }
        if (this.intervalIndex + 1 < this.sparseIntervals.numIntervals) {
            this.intervalIndex++;
            this.curr = this.sparseIntervals.getInterval(this.intervalIndex);
            if (!this.curr.length)
                return this.moveNext();
            this.posInInterval = 0;
            this.index = this.curr.start;
            this.initObject();
            return true;
        }
        return false;
    };
    SparseIntervalsIterator.prototype.movePrev = function () {
        if (this.curr && this.posInInterval - 1 >= this.curr.start) {
            this.posInInterval--;
            this.index--;
            this.initObject();
            return true;
        }
        if (!this.isStarted)
            this.intervalIndex = this.sparseIntervals.numIntervals;
        if (this.intervalIndex - 1 >= 0) {
            this.intervalIndex--;
            this.curr = this.sparseIntervals.getInterval(this.intervalIndex);
            this.posInInterval = Math.max(this.curr.length - 1, this.curr.start);
            this.index = this.curr.start;
            this.initObject();
            return true;
        }
        return false;
    };
    SparseIntervalsIterator.prototype.initObject = function () { };
    return SparseIntervalsIterator;
}());
exports.SparseIntervalsIterator = SparseIntervalsIterator;


/***/ }),

/***/ 1215:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.g = void 0;
var map_iterator_1 = __webpack_require__(3578);
var SparseIntervalsMapCollector = (function () {
    function SparseIntervalsMapCollector(cmp, template) {
        this.intervals = [];
        this.valMap = {};
        this.cmp = cmp;
        this.template = template;
    }
    SparseIntervalsMapCollector.prototype.add = function (index, value) {
        if (this.curr && this.curr.end === index && this.cmp(this.currVal, value) === 0) {
            this.curr.length++;
            return;
        }
        this.curr = this.template.makeByStartLength(index, 1);
        this.intervals.push(this.curr);
        this.currVal = value;
        this.valMap[index] = value;
    };
    SparseIntervalsMapCollector.prototype.getIterator = function () {
        return new map_iterator_1.SparseIntervalsMapIterator(this.intervals, this.valMap);
    };
    return SparseIntervalsMapCollector;
}());
exports.g = SparseIntervalsMapCollector;


/***/ }),

/***/ 3578:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SparseIntervalsMapIterator = void 0;
var intervals_1 = __webpack_require__(448);
var SparseIntervalsMapIterator = (function () {
    function SparseIntervalsMapIterator(intervals, valMap) {
        this.sparseIntervals = new intervals_1.SparseIntervals(intervals);
        this.valMap = valMap;
        this.intervalIndex = -1;
    }
    Object.defineProperty(SparseIntervalsMapIterator.prototype, "numIntervals", {
        get: function () {
            return this.sparseIntervals.numIntervals;
        },
        enumerable: false,
        configurable: true
    });
    SparseIntervalsMapIterator.prototype.moveToNextPosition = function () {
        if (this.interval && this.posInInterval + 1 < this.interval.length) {
            this.posInInterval++;
            this.position++;
            return true;
        }
        return this.moveToNextInterval();
    };
    SparseIntervalsMapIterator.prototype.moveToNextInterval = function () {
        if (this.intervalIndex + 1 < this.sparseIntervals.numIntervals) {
            this.intervalIndex++;
            this.interval = this.sparseIntervals.getInterval(this.intervalIndex);
            this.posInInterval = 0;
            this.position = this.interval.start;
            this.object = this.valMap[this.position];
            return true;
        }
        return false;
    };
    return SparseIntervalsMapIterator;
}());
exports.SparseIntervalsMapIterator = SparseIntervalsMapIterator;


/***/ }),

/***/ 510:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SparseObjectsIterator = void 0;
var tslib_1 = __webpack_require__(2020);
var iterator_1 = __webpack_require__(8094);
var SparseObjectsIterator = (function (_super) {
    tslib_1.__extends(SparseObjectsIterator, _super);
    function SparseObjectsIterator(sparseIntervals, objects) {
        var _this = _super.call(this, sparseIntervals) || this;
        _this.objects = objects;
        return _this;
    }
    SparseObjectsIterator.prototype.initObject = function () {
        this.obj = this.objects[this.index];
    };
    return SparseObjectsIterator;
}(iterator_1.SparseIntervalsIterator));
exports.SparseObjectsIterator = SparseObjectsIterator;


/***/ }),

/***/ 1695:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.E = void 0;
var browser_1 = __webpack_require__(9279);
var dom_1 = __webpack_require__(6907);
var plugin_helper_1 = __webpack_require__(7719);
var PdfHelperFrame = (function () {
    function PdfHelperFrame(container, frameClassName) {
        this.helperFrame = null;
        this.helperFrameName = null;
        this.container = container;
        this.frameClassName = frameClassName;
    }
    PdfHelperFrame.prototype.dispose = function () {
        this.removeHelperFrame();
    };
    PdfHelperFrame.prototype.showPrintDialog = function (resourceUrl) {
        if (browser_1.Browser.Edge || plugin_helper_1.PdfPluginHelper.isInstalled())
            this.getHelperFrame().document.location = resourceUrl;
        else {
            var printWindow_1 = window.open(resourceUrl, 'print', "height=" + window.innerHeight + ",width=" + window.innerWidth + ",tabbar=no");
            if (printWindow_1) {
                printWindow_1.focus();
                setTimeout(function () {
                    printWindow_1.print();
                }, 100);
            }
        }
    };
    PdfHelperFrame.prototype.getHelperFrame = function () {
        if (browser_1.Browser.Firefox)
            this.removeHelperFrame();
        if (!this.helperFrame)
            this.createHelperFrame();
        return this.helperFrame;
    };
    PdfHelperFrame.prototype.removeHelperFrame = function () {
        if (this.helperFrame) {
            dom_1.DomUtils.hideNode(this.helperFrame);
            try {
                delete window.frames[this.helperFrameName];
            }
            catch (e) {
            }
            this.helperFrame = null;
            this.helperFrameName = null;
        }
    };
    PdfHelperFrame.prototype.createHelperFrame = function () {
        var helperFrame = document.createElement('iframe');
        var frameSize = browser_1.Browser.Safari ? '1px' : '0px';
        helperFrame.style.width = frameSize;
        helperFrame.style.height = frameSize;
        helperFrame.name = this.getNewName();
        helperFrame.className = this.frameClassName;
        if ((browser_1.Browser.Chrome && browser_1.Browser.Version >= 77) || browser_1.Browser.Edge || browser_1.Browser.Safari) {
            helperFrame.addEventListener('load', function () {
                var _a, _b, _c;
                if (((_a = helperFrame.contentDocument) === null || _a === void 0 ? void 0 : _a.contentType) === 'application/pdf') {
                    if (browser_1.Browser.Edge)
                        (_b = helperFrame.contentWindow) === null || _b === void 0 ? void 0 : _b.document.execCommand('print', false, undefined);
                    else if (browser_1.Browser.Safari) {
                        setTimeout(function () {
                            var _a;
                            (_a = helperFrame.contentWindow) === null || _a === void 0 ? void 0 : _a.print();
                        }, 1000);
                    }
                    else
                        (_c = helperFrame.contentWindow) === null || _c === void 0 ? void 0 : _c.print();
                }
            });
        }
        this.container.appendChild(helperFrame);
        this.helperFrame = window.frames[helperFrame.name];
        this.helperFrameName = helperFrame.name;
    };
    PdfHelperFrame.prototype.getNewName = function () {
        for (var index = 0; true; index++) {
            var name_1 = "dxreHelperFrame" + index;
            if (!window.frames[name_1])
                return name_1;
        }
    };
    return PdfHelperFrame;
}());
exports.E = PdfHelperFrame;


/***/ }),

/***/ 7719:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.PdfPluginHelper = void 0;
var browser_1 = __webpack_require__(9279);
var PdfPluginHelper = (function () {
    function PdfPluginHelper() {
    }
    PdfPluginHelper.isInstalled = function () {
        return !!PdfPluginHelper.getPdfPlugin();
    };
    PdfPluginHelper.getPdfPlugin = function () {
        if (!PdfPluginHelper.plugin) {
            PdfPluginHelper.plugin = browser_1.Browser.IE ?
                PdfPluginHelper.getActiveXObject('AcroPDF.PDF') || PdfPluginHelper.getActiveXObject('PDF.PdfCtrl') :
                PdfPluginHelper.getNavigatorPlugin('Adobe Acrobat') || PdfPluginHelper.getNavigatorPlugin('Chrome PDF Viewer') ||
                    PdfPluginHelper.getNavigatorPlugin('WebKit built-in PDF') || PdfPluginHelper.getNavigatorPlugin('Chromium PDF Viewer');
        }
        return PdfPluginHelper.plugin;
    };
    PdfPluginHelper.getActiveXObject = function (name) {
        try {
            return new ActiveXObject(name);
        }
        catch (e) {
            return null;
        }
    };
    PdfPluginHelper.getNavigatorPlugin = function (name) {
        var plugins = navigator.plugins;
        for (var key in plugins) {
            if (!Object.prototype.hasOwnProperty.call(plugins, key))
                continue;
            var plugin = plugins[key];
            if (plugin.name === name)
                return plugin;
        }
        return null;
    };
    PdfPluginHelper.getVersion = function () {
        try {
            var plugin = PdfPluginHelper.getPdfPlugin();
            if (browser_1.Browser.IE) {
                var versions = plugin.GetVersions().split(',');
                var latest = versions[0].split('=');
                return parseFloat(latest[1]);
            }
            return plugin.version ? parseInt(plugin.version) : plugin.name;
        }
        catch (e) {
            return null;
        }
    };
    return PdfPluginHelper;
}());
exports.PdfPluginHelper = PdfPluginHelper;


/***/ }),

/***/ 2217:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.F = void 0;
var browser_1 = __webpack_require__(9279);
var AttrUtils = (function () {
    function AttrUtils() {
    }
    AttrUtils.setElementAttribute = function (obj, attrName, value) {
        if (obj.setAttribute) {
            if (browser_1.Browser.IE && browser_1.Browser.MajorVersion >= 11 && attrName.toLowerCase() === 'src')
                obj.setAttribute(attrName, '');
            obj.setAttribute(attrName, value);
        }
    };
    AttrUtils.setStyleAttribute = function (obj, attrName, value) {
        if (obj.setProperty)
            obj.setProperty(attrName, value, '');
    };
    AttrUtils.getElementAttribute = function (obj, attrName) {
        return obj.getAttribute(attrName);
    };
    AttrUtils.getStyleAttribute = function (obj, attrName) {
        if (obj.getPropertyValue) {
            if (browser_1.Browser.Firefox) {
                try {
                    return obj.getPropertyValue(attrName);
                }
                catch (e) {
                    return obj[attrName];
                }
            }
            return obj.getPropertyValue(attrName);
        }
        return null;
    };
    AttrUtils.removeElementAttribute = function (obj, attrName) {
        if (obj.removeAttribute)
            obj.removeAttribute(attrName);
    };
    AttrUtils.removeStyleAttribute = function (obj, attrName) {
        if (obj.removeProperty)
            obj.removeProperty(attrName);
    };
    AttrUtils.changeElementStyleAttribute = function (obj, attrName, newValue) {
        AttrUtils.saveStyleAttributeInElement(obj, attrName);
        AttrUtils.setStyleAttribute(obj.style, attrName, newValue);
    };
    AttrUtils.restoreElementStyleAttribute = function (obj, attrName) {
        var savedAttrName = "dxwu_saved" + attrName;
        var style = obj.style;
        if (AttrUtils.isExistsAttributeInElement(obj, savedAttrName)) {
            var oldValue = AttrUtils.getElementAttribute(obj, savedAttrName);
            if (oldValue === AttrUtils.emptyObject || oldValue === null)
                AttrUtils.removeStyleAttribute(style, attrName);
            else
                AttrUtils.setStyleAttribute(style, attrName, oldValue);
            AttrUtils.removeElementAttribute(obj, savedAttrName);
            return true;
        }
        return false;
    };
    AttrUtils.saveStyleAttributeInElement = function (obj, attrName) {
        var savedAttrName = "dxwu_saved" + attrName;
        var style = obj.style;
        if (!AttrUtils.isExistsAttributeInElement(obj, savedAttrName)) {
            var oldValue = AttrUtils.getStyleAttribute(style, attrName);
            AttrUtils.setElementAttribute(obj, savedAttrName, AttrUtils.isAttributeExists(oldValue) ? oldValue : AttrUtils.emptyObject);
        }
    };
    AttrUtils.isExistsAttributeInElement = function (obj, attrName) {
        var value = AttrUtils.getElementAttribute(obj, attrName);
        return AttrUtils.isAttributeExists(value);
    };
    AttrUtils.isAttributeExists = function (attrValue) {
        return attrValue !== null && attrValue !== '';
    };
    AttrUtils.emptyObject = 'DxEmptyValue';
    return AttrUtils;
}());
exports.F = AttrUtils;


/***/ }),

/***/ 6477:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Base64Utils = void 0;
var file_1 = __webpack_require__(2674);
var mime_type_1 = __webpack_require__(4633);
var Base64Utils = (function () {
    function Base64Utils() {
    }
    Base64Utils.normalizeToDataUrl = function (base64, mimeType) {
        if (!Base64Utils.checkPrependDataUrl(base64))
            base64 = Base64Utils.prependByDataUrl(base64, mimeType);
        return base64;
    };
    Base64Utils.prependByDataUrl = function (base64, mimeType) {
        return "data:" + mimeType + ";base64," + base64;
    };
    Base64Utils.checkPrependDataUrl = function (base64) {
        return Base64Utils.dataUrl.test(base64);
    };
    Base64Utils.deleteDataUrlPrefix = function (base64DataUrl) {
        return base64DataUrl.replace(Base64Utils.dataUrl, '');
    };
    Base64Utils.getUint8Array = function (base64) {
        base64 = atob(base64);
        var n = base64.length;
        var arr = new Uint8Array(n);
        while (n--)
            arr[n] = base64.charCodeAt(n);
        return arr;
    };
    Base64Utils.fromArrayBuffer = function (buffer) {
        var binary = [];
        var bytes = new Uint8Array(buffer);
        var len = bytes.byteLength;
        for (var i = 0; i < len; i++)
            binary.push(String.fromCharCode(bytes[i]));
        return window.btoa(binary.join(''));
    };
    Base64Utils.getFileFromBase64 = function (base64, fileName, options) {
        if (fileName === void 0) { fileName = ''; }
        var data = Base64Utils.getUint8Array(base64);
        return file_1.FileUtils.createFile([data], fileName, options);
    };
    Base64Utils.getMimeTypeAsString = function (base64) {
        var match = base64.match(Base64Utils.dataUrl);
        return match ? match[1] : null;
    };
    Base64Utils.getKnownMimeType = function (base64) {
        var match = base64.match(Base64Utils.dataUrl);
        return match ? mime_type_1.MimeTypeUtils.stringTypeToType(match[1]) : mime_type_1.DxMimeType.Unknown;
    };
    Base64Utils.fromBlobAsArrayBuffer = function (blob, callback) {
        var reader = new FileReader();
        reader.onloadend = function () { return callback(Base64Utils.fromArrayBuffer(reader.result)); };
        reader.readAsArrayBuffer(blob);
    };
    Base64Utils.fromBlobAsDataUrl = function (blob, callback) {
        var reader = new FileReader();
        reader.onloadend = function () { return callback(reader.result); };
        reader.readAsDataURL(blob);
    };
    Base64Utils.dataUrl = /^data:(.*?)(;(.*?))??(;base64)?,/;
    return Base64Utils;
}());
exports.Base64Utils = Base64Utils;


/***/ }),

/***/ 13:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.i = void 0;
var string_1 = __webpack_require__(49);
var ColorUtils = (function () {
    function ColorUtils() {
    }
    ColorUtils.getAlpha = function (color) {
        return (color >> 24) & 255;
    };
    ColorUtils.getRed = function (color) {
        return (color >> 16) & 255;
    };
    ColorUtils.getGreen = function (color) {
        return (color >> 8) & 255;
    };
    ColorUtils.getBlue = function (color) {
        return color & 255;
    };
    ColorUtils.redPartToString = function (color) {
        var redStr = ColorUtils.getRed(color).toString(16);
        return redStr.length > 1 ? redStr : '0' + redStr;
    };
    ColorUtils.greenPartToString = function (color) {
        var greenStr = ColorUtils.getGreen(color).toString(16);
        return greenStr.length > 1 ? greenStr : '0' + greenStr;
    };
    ColorUtils.bluePartToString = function (color) {
        var blueStr = ColorUtils.getBlue(color).toString(16);
        return blueStr.length > 1 ? blueStr : '0' + blueStr;
    };
    ColorUtils.fromArgbNumber = function (alpha, red, green, blue) {
        return (alpha << 24) | (red << 16) | (green << 8) | blue;
    };
    ColorUtils.fromRgbaString = function (color, alpha) {
        if (alpha === void 0) { alpha = 255; }
        var matchesRGBA = color.replace(/ +/g, '').match(/(rgba?)|(\d+(\.\d+)?%?)|(\.\d+)/g);
        if (matchesRGBA && matchesRGBA.length > 3) {
            var result = [];
            for (var i = 1, matchItem = void 0; matchItem = matchesRGBA[i]; i++) {
                var item = matchItem.indexOf('%') !== -1 ?
                    Math.round(parseFloat(matchItem) * 2.55) :
                    parseInt(matchItem);
                if (item < 0 || item > 255)
                    return null;
                result.push(item);
            }
            if (color.indexOf('rgba') === 0) {
                if (isNaN(result[3]) || result[3] < 0 || result[3] > 1)
                    return null;
                else if (result[3] <= 1)
                    result[3] = Math.round(result[3] * 255);
            }
            else if (result[3])
                return null;
            return ((result[0] & 255) << 16) | ((result[1] & 255) << 8) | (result[2] & 255) |
                (((result.length > 3 ? result[3] : alpha) & 255) << 24);
        }
        return null;
    };
    ColorUtils.fromHashString = function (hash, alpha) {
        if (alpha === void 0) { alpha = 255; }
        if (!ColorUtils.isHashColorString(hash))
            return null;
        if (hash.charAt(0) === '#')
            hash = hash.substr(1);
        if (hash.length === 3)
            hash = string_1.StringUtils.repeat(hash.charAt(0), 2) + string_1.StringUtils.repeat(hash.charAt(1), 2) + string_1.StringUtils.repeat(hash.charAt(2), 2);
        return parseInt(hash, 16) | (alpha << 24);
    };
    ColorUtils.fromColorName = function (color, alpha) {
        if (alpha === void 0) { alpha = 255; }
        var colorNameAsHash = ColorUtils.colorNames[color.toLowerCase()];
        return colorNameAsHash ? ColorUtils.fromHashString(colorNameAsHash, alpha) : null;
    };
    ColorUtils.fromString = function (color, alpha) {
        if (alpha === void 0) { alpha = 255; }
        var rgbaColor = ColorUtils.fromRgbaString(color, alpha);
        if (rgbaColor !== null)
            return rgbaColor;
        var hashColor = ColorUtils.fromHashString(color, alpha);
        if (hashColor !== null)
            return hashColor;
        return ColorUtils.fromColorName(color, alpha);
    };
    ColorUtils.colorToHash = function (color) {
        return '#' + ColorUtils.redPartToString(color) + ColorUtils.greenPartToString(color) + ColorUtils.bluePartToString(color);
    };
    ColorUtils.stringToHash = function (color) {
        var result = this.fromString(color);
        return result !== null ? this.colorToHash(result) : null;
    };
    ColorUtils.isHashColorString = function (color) {
        return /^#?([0-9a-f]{6})$/i.test(color) || /^#?([0-9a-f]{3})$/i.test(color);
    };
    ColorUtils.isKnownColorName = function (color) {
        return !!ColorUtils.colorNames[color.toLowerCase()];
    };
    ColorUtils.isGray = function (color) {
        var red = ColorUtils.getRed(color);
        return red === ColorUtils.getGreen(color) && red === ColorUtils.getBlue(color);
    };
    ColorUtils.DARK_COLOR = -16777216;
    ColorUtils.LIGHT_COLOR = -1;
    ColorUtils.colorNames = {
        aliceblue: '#f0f8ff', antiquewhite: '#faebd7', aqua: '#00ffff',
        aquamarine: '#7fffd4', azure: '#f0ffff', beige: '#f5f5dc',
        bisque: '#ffe4c4', black: '#000000', blanchedalmond: '#ffebcd',
        blue: '#0000ff', blueviolet: '#8a2be2', brown: '#a52a2a',
        burlywood: '#deb887', cadetblue: '#5f9ea0', chartreuse: '#7fff00',
        chocolate: '#d2691e', coral: '#ff7f50', cornflowerblue: '#6495ed',
        cornsilk: '#fff8dc', crimson: '#dc143c', cyan: '#00ffff',
        darkblue: '#00008b', darkcyan: '#008b8b', darkgoldenrod: '#b8860b',
        darkgray: '#a9a9a9', darkgreen: '#006400', darkkhaki: '#bdb76b',
        darkmagenta: '#8b008b', darkolivegreen: '#556b2f', darkorange: '#ff8c00',
        darkorchid: '#9932cc', darkred: '#8b0000', darksalmon: '#e9967a',
        darkseagreen: '#8fbc8f', darkslateblue: '#483d8b', darkslategray: '#2f4f4f',
        darkturquoise: '#00ced1', darkviolet: '#9400d3', deeppink: '#ff1493',
        deepskyblue: '#00bfff', dimgray: '#696969', dodgerblue: '#1e90ff',
        feldspar: '#d19275', firebrick: '#b22222', floralwhite: '#fffaf0',
        forestgreen: '#228b22', fuchsia: '#ff00ff', gainsboro: '#dcdcdc',
        ghostwhite: '#f8f8ff', gold: '#ffd700', goldenrod: '#daa520', gray: '#808080',
        green: '#00ff00', greenyellow: '#adff2f', honeydew: '#f0fff0', hotpink: '#ff69b4',
        indianred: '#cd5c5c', indigo: '#4b0082', ivory: '#fffff0', khaki: '#f0e68c',
        lavender: '#e6e6fa', lavenderblush: '#fff0f5', lawngreen: '#7cfc00',
        lemonchiffon: '#fffacd', lightblue: '#add8e6', lightcoral: '#f08080',
        lightcyan: '#e0ffff', lightgoldenrodyellow: '#fafad2', lightgray: '#d3d3d3',
        lightgreen: '#90ee90', lightpink: '#ffb6c1', lightsalmon: '#ffa07a',
        lightseagreen: '#20b2aa', lightskyblue: '#87cefa', lightslateblue: '#8470ff',
        lightslategray: '#778899', lightsteelblue: '#b0c4de', lightyellow: '#ffffe0',
        lime: '#00ff00', limegreen: '#32cd32', linen: '#faf0e6', magenta: '#ff00ff',
        maroon: '#800000', mediumaquamarine: '#66cdaa', mediumblue: '#0000cd',
        mediumorchid: '#ba55d3', mediumpurple: '#9370d8', mediumseagreen: '#3cb371',
        mediumslateblue: '#7b68ee', mediumspringgreen: '#00fa9a', mediumturquoise: '#48d1cc',
        mediumvioletred: '#c71585', midnightblue: '#191970', mintcream: '#f5fffa',
        mistyrose: '#ffe4e1', moccasin: '#ffe4b5', navajowhite: '#ffdead', navy: '#000080',
        oldlace: '#fdf5e6', olive: '#808000', olivedrab: '#6b8e23', orange: '#ffa500',
        orangered: '#ff4500', orchid: '#da70d6', palegoldenrod: '#eee8aa', palegreen: '#98fb98',
        paleturquoise: '#afeeee', palevioletred: '#d87093', papayawhip: '#ffefd5',
        peachpuff: '#ffdab9', peru: '#cd853f', pink: '#ffc0cb', plum: '#dda0dd',
        powderblue: '#b0e0e6', purple: '#800080', red: '#ff0000', rosybrown: '#bc8f8f',
        royalblue: '#4169e1', saddlebrown: '#8b4513', salmon: '#fa8072', sandybrown: '#f4a460',
        seagreen: '#2e8b57', seashell: '#fff5ee', sienna: '#a0522d', silver: '#c0c0c0',
        skyblue: '#87ceeb', slateblue: '#6a5acd', slategray: '#708090', snow: '#fffafa',
        springgreen: '#00ff7f', steelblue: '#4682b4', tan: '#d2b48c', teal: '#008080',
        thistle: '#d8bfd8', tomato: '#ff6347', turquoise: '#40e0d0', violet: '#ee82ee',
        violetred: '#d02090', wheat: '#f5deb3', white: '#ffffff', whitesmoke: '#f5f5f5',
        yellow: '#ffff00', yellowgreen: '#9acd32', windowtext: '#000000'
    };
    return ColorUtils;
}());
exports.i = ColorUtils;


/***/ }),

/***/ 2491:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.numberToStringHex = exports.numberToStringBin = exports.isOdd = exports.isEven = exports.isNonNullString = exports.isString = exports.isNumber = exports.boolToString = exports.boolToInt = exports.isDefined = void 0;
var string_1 = __webpack_require__(49);
function isDefined(value) {
    return value !== undefined && value !== null;
}
exports.isDefined = isDefined;
function boolToInt(value) {
    return value ? 1 : 0;
}
exports.boolToInt = boolToInt;
function boolToString(value) {
    return value ? '1' : '0';
}
exports.boolToString = boolToString;
function isNumber(obj) {
    return typeof obj === 'number';
}
exports.isNumber = isNumber;
function isString(obj) {
    return typeof obj === 'string';
}
exports.isString = isString;
function isNonNullString(str) {
    return !!str;
}
exports.isNonNullString = isNonNullString;
function isEven(num) {
    return (num % 2) !== 0;
}
exports.isEven = isEven;
function isOdd(num) {
    return (num % 2) === 0;
}
exports.isOdd = isOdd;
function numberToStringBin(num, minLength) {
    if (minLength === void 0) { minLength = 0; }
    return string_1.StringUtils.padLeft(num.toString(2), minLength, '0');
}
exports.numberToStringBin = numberToStringBin;
function numberToStringHex(num, minLength) {
    if (minLength === void 0) { minLength = 0; }
    return string_1.StringUtils.padLeft(num.toString(16), minLength, '0');
}
exports.numberToStringHex = numberToStringHex;


/***/ }),

/***/ 4170:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Equals = exports.Comparers = void 0;
var Comparers = (function () {
    function Comparers() {
    }
    Comparers.number = function (a, b) {
        return a - b;
    };
    Comparers.string = function (a, b) {
        return ((a === b) ? 0 : ((a > b) ? 1 : -1));
    };
    Comparers.stringIgnoreCase = function (a, b) {
        a = a.toLowerCase();
        b = b.toLowerCase();
        return ((a === b) ? 0 : ((a > b) ? 1 : -1));
    };
    return Comparers;
}());
exports.Comparers = Comparers;
var Equals = (function () {
    function Equals() {
    }
    Equals.simpleType = function (a, b) {
        return a === b;
    };
    Equals.object = function (a, b) {
        return a && b && (a === b || a.equals(b));
    };
    return Equals;
}());
exports.Equals = Equals;


/***/ }),

/***/ 6017:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.F = void 0;
var browser_1 = __webpack_require__(9279);
var DataTransferUtils = (function () {
    function DataTransferUtils() {
    }
    DataTransferUtils.isBrowserSupportExtendedClientBuffer = function () {
        return browser_1.Browser.WebKitFamily || (browser_1.Browser.Firefox && browser_1.Browser.MajorVersion >= 50) || (browser_1.Browser.Edge && browser_1.Browser.MajorVersion >= 14);
    };
    DataTransferUtils.getPlainTextItem = function (items) {
        return DataTransferUtils.getTransferItemByType(items, 'text/plain');
    };
    DataTransferUtils.getRtfTextItem = function (items) {
        return DataTransferUtils.getTransferItemByType(items, 'text/rtf');
    };
    DataTransferUtils.getImageItem = function (items) {
        var len = items.length;
        while (len--) {
            if (items[len].type.indexOf('image') >= 0)
                return items[len].getAsFile();
        }
        return null;
    };
    DataTransferUtils.getTransferItemByType = function (items, type) {
        if (this.isBrowserSupportExtendedClientBuffer()) {
            var len = items.length;
            while (len--) {
                var item = items[len];
                if (item.type.indexOf(type) >= 0)
                    return item;
            }
        }
        return null;
    };
    return DataTransferUtils;
}());
exports.F = DataTransferUtils;


/***/ }),

/***/ 6907:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DomUtils = void 0;
var browser_1 = __webpack_require__(9279);
var common_1 = __webpack_require__(2491);
var math_1 = __webpack_require__(8679);
var string_1 = __webpack_require__(49);
var DomUtils = (function () {
    function DomUtils() {
    }
    DomUtils.clearInnerHtml = function (element) {
        while (element.firstChild)
            element.removeChild(element.firstChild);
    };
    DomUtils.setStylePosition = function (style, point) {
        style.left = math_1.MathUtils.round(point.x, 3) + 'px';
        style.top = math_1.MathUtils.round(point.y, 3) + 'px';
    };
    DomUtils.setStyleSize = function (style, size) {
        style.width = math_1.MathUtils.round(size.width, 3) + 'px';
        style.height = math_1.MathUtils.round(size.height, 3) + 'px';
    };
    DomUtils.setStyleSizeAndPosition = function (style, rectangle) {
        DomUtils.setStylePosition(style, rectangle);
        DomUtils.setStyleSize(style, rectangle);
    };
    DomUtils.hideNode = function (node) {
        if (node) {
            var parentNode = node.parentNode;
            if (parentNode)
                parentNode.removeChild(node);
        }
    };
    DomUtils.isHTMLElementNode = function (node) {
        return node.nodeType === Node.ELEMENT_NODE;
    };
    DomUtils.isTextNode = function (node) {
        return node.nodeType === Node.TEXT_NODE;
    };
    DomUtils.isElementNode = function (node) {
        return node.nodeType === Node.ELEMENT_NODE;
    };
    DomUtils.isHTMLTableRowElement = function (element) {
        return element.tagName === 'TR';
    };
    DomUtils.isItParent = function (parentElement, element) {
        if (!parentElement || !element)
            return false;
        while (element) {
            if (element === parentElement)
                return true;
            if (element.tagName === 'BODY')
                return false;
            element = element.parentNode;
        }
        return false;
    };
    DomUtils.getParentByTagName = function (element, tagName) {
        tagName = tagName.toUpperCase();
        while (element) {
            if (element.tagName === 'BODY')
                return null;
            if (element.tagName === tagName)
                return element;
            element = element.parentNode;
        }
        return null;
    };
    DomUtils.getDocumentScrollTop = function () {
        var isScrollBodyIE = browser_1.Browser.IE && DomUtils.getCurrentStyle(document.body).overflow === 'hidden' && document.body.scrollTop > 0;
        if (browser_1.Browser.WebKitFamily || browser_1.Browser.Edge || isScrollBodyIE) {
            if (browser_1.Browser.MacOSMobilePlatform)
                return window.pageYOffset;
            if (browser_1.Browser.WebKitFamily)
                return document.documentElement.scrollTop || document.body.scrollTop;
            return document.body.scrollTop;
        }
        else
            return document.documentElement.scrollTop;
    };
    DomUtils.getDocumentScrollLeft = function () {
        var isScrollBodyIE = browser_1.Browser.IE && DomUtils.getCurrentStyle(document.body).overflow === 'hidden' && document.body.scrollLeft > 0;
        if (browser_1.Browser.Edge || isScrollBodyIE)
            return document.body ? document.body.scrollLeft : document.documentElement.scrollLeft;
        if (browser_1.Browser.WebKitFamily)
            return document.documentElement.scrollLeft || document.body.scrollLeft;
        return document.documentElement.scrollLeft;
    };
    DomUtils.getCurrentStyle = function (element) {
        if (element.currentStyle)
            return element.currentStyle;
        else if (document.defaultView && document.defaultView.getComputedStyle) {
            var result = document.defaultView.getComputedStyle(element, null);
            if (!result && browser_1.Browser.Firefox && window.frameElement) {
                var changes = [];
                var curElement = window.frameElement;
                while (!(result = document.defaultView.getComputedStyle(element, null))) {
                    changes.push([curElement, curElement.style.display]);
                    curElement.style.setProperty('display', 'block', 'important');
                    curElement = curElement.tagName === 'BODY' ? curElement.ownerDocument.defaultView.frameElement : curElement.parentNode;
                }
                result = cloneObject(result);
                for (var ch = void 0, i = 0; ch = changes[i]; i++)
                    ch[0].style.display = ch[1];
                document.body.offsetWidth;
            }
            return result;
        }
        return window.getComputedStyle(element, null);
    };
    DomUtils.setFocus = function (element) {
        function focusCore() {
            try {
                element.focus();
                if (browser_1.Browser.IE && document.activeElement !== element)
                    element.focus();
            }
            catch (e) {
            }
        }
        if (browser_1.Browser.MacOSMobilePlatform)
            focusCore();
        else {
            setTimeout(function () {
                focusCore();
            }, 100);
        }
    };
    DomUtils.hasClassName = function (element, className) {
        try {
            var classNames = className.split(' ');
            var classList = element.classList;
            if (classList) {
                for (var i = classNames.length - 1; i >= 0; i--) {
                    if (!classList.contains(classNames[i]))
                        return false;
                }
            }
            else {
                var elementClassName = element.getAttribute && element.getAttribute('class');
                if (!elementClassName)
                    return false;
                var elementClasses = elementClassName.split(' ');
                for (var i = classNames.length - 1; i >= 0; i--) {
                    if (elementClasses.indexOf(classNames[i]) < 0)
                        return false;
                }
            }
            return true;
        }
        catch (e) {
            return false;
        }
    };
    DomUtils.addClassName = function (element, className) {
        if (!DomUtils.hasClassName(element, className)) {
            var elementClassName = element.getAttribute && element.getAttribute('class');
            element.setAttribute('class', elementClassName === '' ? className : elementClassName + " " + className);
        }
    };
    DomUtils.removeClassName = function (element, className) {
        var elementClassName = element.getAttribute && element.getAttribute('class');
        var updClassName = " " + elementClassName + " ";
        var newClassName = updClassName.replace(" " + className + " ", ' ');
        if (updClassName.length !== newClassName.length)
            element.setAttribute('class', string_1.StringUtils.trim(newClassName));
    };
    DomUtils.toggleClassName = function (element, className, toggle) {
        if (toggle === undefined) {
            if (DomUtils.hasClassName(element, className))
                DomUtils.removeClassName(element, className);
            else
                DomUtils.addClassName(element, className);
        }
        else {
            if (toggle)
                DomUtils.addClassName(element, className);
            else
                DomUtils.removeClassName(element, className);
        }
    };
    DomUtils.pxToInt = function (px) {
        return pxToNumber(px, parseInt);
    };
    DomUtils.pxToFloat = function (px) {
        return pxToNumber(px, parseFloat);
    };
    DomUtils.getAbsolutePositionY = function (element) {
        function getAbsolutePositionY_IE(element) {
            return browser_1.Browser.IE && element.parentNode === null ?
                0 :
                element.getBoundingClientRect().top + DomUtils.getDocumentScrollTop();
        }
        function getAbsolutePositionY_FF3(element) {
            return Math.round(element.getBoundingClientRect().top + DomUtils.getDocumentScrollTop());
        }
        function getAbsolutePositionY_NS(curEl) {
            var pos = getAbsoluteScrollOffset_OperaFF(curEl, false);
            var isFirstCycle = true;
            while (curEl != null) {
                pos += curEl.offsetTop;
                if (!isFirstCycle && curEl.offsetParent != null)
                    pos -= curEl.scrollTop;
                if (!isFirstCycle && browser_1.Browser.Firefox) {
                    var style = DomUtils.getCurrentStyle(curEl);
                    if (curEl.tagName === 'DIV' && style.overflow !== 'visible')
                        pos += DomUtils.pxToInt(style.borderTopWidth);
                }
                isFirstCycle = false;
                curEl = curEl.offsetParent;
            }
            return pos;
        }
        function getAbsolutePositionY_Other(curEl) {
            var pos = 0;
            var isFirstCycle = true;
            while (curEl != null) {
                pos += curEl.offsetTop;
                if (!isFirstCycle && curEl.offsetParent != null)
                    pos -= curEl.scrollTop;
                isFirstCycle = false;
                curEl = curEl.offsetParent;
            }
            return pos;
        }
        if (!element)
            return 0;
        if (browser_1.Browser.IE)
            return getAbsolutePositionY_IE(element);
        else if (browser_1.Browser.Firefox && browser_1.Browser.Version >= 3)
            return getAbsolutePositionY_FF3(element);
        else if (browser_1.Browser.NetscapeFamily && (!browser_1.Browser.Firefox || browser_1.Browser.Version < 3))
            return getAbsolutePositionY_NS(element);
        else if (browser_1.Browser.WebKitFamily || browser_1.Browser.Edge)
            return getAbsolutePositionY_FF3(element);
        return getAbsolutePositionY_Other(element);
    };
    DomUtils.getAbsolutePositionX = function (element) {
        function getAbsolutePositionX_IE(element) {
            return browser_1.Browser.IE && element.parentNode === null ?
                0 :
                element.getBoundingClientRect().left + DomUtils.getDocumentScrollLeft();
        }
        function getAbsolutePositionX_FF3(element) {
            return Math.round(element.getBoundingClientRect().left + DomUtils.getDocumentScrollLeft());
        }
        function getAbsolutePositionX_Opera(curEl) {
            var isFirstCycle = true;
            var pos = getAbsoluteScrollOffset_OperaFF(curEl, true);
            while (curEl != null) {
                pos += curEl.offsetLeft;
                if (!isFirstCycle)
                    pos -= curEl.scrollLeft;
                curEl = curEl.offsetParent;
                isFirstCycle = false;
            }
            pos += document.body.scrollLeft;
            return pos;
        }
        function getAbsolutePositionX_NS(curEl) {
            var pos = getAbsoluteScrollOffset_OperaFF(curEl, true);
            var isFirstCycle = true;
            while (curEl != null) {
                pos += curEl.offsetLeft;
                if (!isFirstCycle && curEl.offsetParent != null)
                    pos -= curEl.scrollLeft;
                if (!isFirstCycle && browser_1.Browser.Firefox) {
                    var style = DomUtils.getCurrentStyle(curEl);
                    if (curEl.tagName === 'DIV' && style.overflow !== 'visible')
                        pos += DomUtils.pxToInt(style.borderLeftWidth);
                }
                isFirstCycle = false;
                curEl = curEl.offsetParent;
            }
            return pos;
        }
        function getAbsolutePositionX_Other(curEl) {
            var pos = 0;
            var isFirstCycle = true;
            while (curEl != null) {
                pos += curEl.offsetLeft;
                if (!isFirstCycle && curEl.offsetParent != null)
                    pos -= curEl.scrollLeft;
                isFirstCycle = false;
                curEl = curEl.offsetParent;
            }
            return pos;
        }
        if (!element)
            return 0;
        if (browser_1.Browser.IE)
            return getAbsolutePositionX_IE(element);
        else if (browser_1.Browser.Firefox && browser_1.Browser.Version >= 3)
            return getAbsolutePositionX_FF3(element);
        else if (browser_1.Browser.Opera && browser_1.Browser.Version <= 12)
            return getAbsolutePositionX_Opera(element);
        else if (browser_1.Browser.NetscapeFamily && (!browser_1.Browser.Firefox || browser_1.Browser.Version < 3))
            return getAbsolutePositionX_NS(element);
        else if (browser_1.Browser.WebKitFamily || browser_1.Browser.Edge)
            return getAbsolutePositionX_FF3(element);
        else
            return getAbsolutePositionX_Other(element);
    };
    DomUtils.isInteractiveControl = function (element) {
        return ['A', 'INPUT', 'SELECT', 'OPTION', 'TEXTAREA', 'BUTTON', 'IFRAME'].indexOf(element.tagName) > -1;
    };
    DomUtils.getClearClientHeight = function (element) {
        return element.offsetHeight - (DomUtils.getTopBottomPaddings(element) + DomUtils.getVerticalBordersWidth(element));
    };
    DomUtils.getTopBottomPaddings = function (element, style) {
        var currentStyle = style ? style : DomUtils.getCurrentStyle(element);
        return DomUtils.pxToInt(currentStyle.paddingTop) + DomUtils.pxToInt(currentStyle.paddingBottom);
    };
    DomUtils.getVerticalBordersWidth = function (element, style) {
        if (!common_1.isDefined(style))
            style = (browser_1.Browser.IE && browser_1.Browser.MajorVersion !== 9 && window.getComputedStyle) ? window.getComputedStyle(element) : DomUtils.getCurrentStyle(element);
        var res = 0;
        if (style.borderTopStyle !== 'none')
            res += DomUtils.pxToFloat(style.borderTopWidth);
        if (style.borderBottomStyle !== 'none')
            res += DomUtils.pxToFloat(style.borderBottomWidth);
        return res;
    };
    DomUtils.getNodes = function (parent, predicate) {
        var collection = parent.all || parent.getElementsByTagName('*');
        var result = [];
        for (var i = 0; i < collection.length; i++) {
            var element = collection[i];
            if (predicate(element))
                result.push(element);
        }
        return result;
    };
    DomUtils.getChildNodes = function (parent, predicate) {
        var collection = parent.childNodes;
        var result = [];
        for (var i = 0; i < collection.length; i++) {
            var element = collection[i];
            if (predicate(element))
                result.push(element);
        }
        return result;
    };
    DomUtils.getNodesByClassName = function (parent, className) {
        if (parent.querySelectorAll) {
            var children = parent.querySelectorAll("." + className);
            var result_1 = [];
            children.forEach(function (element) { return result_1.push(element); });
            return result_1;
        }
        else
            return DomUtils.getNodes(parent, function (elem) { return DomUtils.hasClassName(elem, className); });
    };
    DomUtils.getChildNodesByClassName = function (parent, className) {
        function nodeListToArray(nodeList, filter) {
            var result = [];
            for (var i = 0; i < nodeList.length; i++) {
                var element = nodeList[i];
                if (filter(element))
                    result.push(element);
            }
            return result;
        }
        if (parent.querySelectorAll) {
            var children = parent.querySelectorAll("." + className);
            return nodeListToArray(children, function (element) { return element.parentNode === parent; });
        }
        else {
            return DomUtils.getChildNodes(parent, function (elem) {
                if (DomUtils.isElementNode(elem))
                    return common_1.isNonNullString(elem.className) && DomUtils.hasClassName(elem, elem.className);
                else
                    return false;
            });
        }
    };
    DomUtils.getVerticalScrollBarWidth = function () {
        if (DomUtils.verticalScrollBarWidth === undefined) {
            var container = document.createElement('DIV');
            container.style.cssText = 'position: absolute; top: 0px; left: 0px; visibility: hidden; width: 200px; height: 150px; overflow: hidden; box-sizing: content-box';
            document.body.appendChild(container);
            var child = document.createElement('P');
            container.appendChild(child);
            child.style.cssText = 'width: 100%; height: 200px;';
            var widthWithoutScrollBar = child.offsetWidth;
            container.style.overflow = 'scroll';
            var widthWithScrollBar = child.offsetWidth;
            if (widthWithoutScrollBar === widthWithScrollBar)
                widthWithScrollBar = container.clientWidth;
            DomUtils.verticalScrollBarWidth = widthWithoutScrollBar - widthWithScrollBar;
            document.body.removeChild(container);
        }
        return DomUtils.verticalScrollBarWidth;
    };
    DomUtils.getHorizontalBordersWidth = function (element, style) {
        if (!common_1.isDefined(style))
            style = (browser_1.Browser.IE && window.getComputedStyle) ? window.getComputedStyle(element) : DomUtils.getCurrentStyle(element);
        var res = 0;
        if (style.borderLeftStyle !== 'none')
            res += DomUtils.pxToFloat(style.borderLeftWidth);
        if (style.borderRightStyle !== 'none')
            res += DomUtils.pxToFloat(style.borderRightWidth);
        return res;
    };
    DomUtils.getFontFamiliesFromCssString = function (cssString) {
        return cssString.split(',').map(function (fam) { return string_1.StringUtils.trim(fam.replace(/'|"/gi, '')); });
    };
    DomUtils.getInnerText = function (container) {
        if (browser_1.Browser.Safari && browser_1.Browser.MajorVersion <= 5) {
            if (DomUtils.html2PlainTextFilter === null) {
                DomUtils.html2PlainTextFilter = document.createElement('DIV');
                DomUtils.html2PlainTextFilter.style.width = '0';
                DomUtils.html2PlainTextFilter.style.height = '0';
                DomUtils.html2PlainTextFilter.style.overflow = 'visible';
                DomUtils.html2PlainTextFilter.style.display = 'none';
                document.body.appendChild(DomUtils.html2PlainTextFilter);
            }
            var filter = DomUtils.html2PlainTextFilter;
            filter.innerHTML = container.innerHTML;
            filter.style.display = '';
            var innerText = filter.innerText;
            filter.style.display = 'none';
            return innerText;
        }
        else if (browser_1.Browser.NetscapeFamily || browser_1.Browser.WebKitFamily || (browser_1.Browser.IE && browser_1.Browser.Version >= 9) || browser_1.Browser.Edge)
            return container.textContent;
        else
            return container.innerText;
    };
    DomUtils.html2PlainTextFilter = null;
    DomUtils.verticalScrollBarWidth = undefined;
    return DomUtils;
}());
exports.DomUtils = DomUtils;
function cloneObject(srcObject) {
    if (typeof (srcObject) !== 'object' || !common_1.isDefined(srcObject))
        return srcObject;
    var newObject = {};
    for (var i in srcObject)
        newObject[i] = srcObject[i];
    return newObject;
}
function pxToNumber(px, parseFunction) {
    var result = 0;
    if (common_1.isDefined(px) && px !== '') {
        try {
            var indexOfPx = px.indexOf('px');
            if (indexOfPx > -1)
                result = parseFunction(px.substr(0, indexOfPx));
        }
        catch (e) { }
    }
    return result;
}
function getAbsoluteScrollOffset_OperaFF(curEl, isX) {
    var pos = 0;
    var isFirstCycle = true;
    while (curEl != null) {
        if (curEl.tagName === 'BODY')
            break;
        var style = DomUtils.getCurrentStyle(curEl);
        if (style.position === 'absolute')
            break;
        if (!isFirstCycle && curEl.tagName === 'DIV' && (style.position === '' || style.position === 'static'))
            pos -= isX ? curEl.scrollLeft : curEl.scrollTop;
        curEl = curEl.parentNode;
        isFirstCycle = false;
    }
    return pos;
}


/***/ }),

/***/ 9712:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.EncodeUtils = void 0;
var EncodeUtils = (function () {
    function EncodeUtils() {
    }
    EncodeUtils.encodeHtml = function (text) {
        return text
            .replace(/&/g, '&amp;')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;');
    };
    EncodeUtils.decodeHtml = function (text) {
        return text
            .replace(/&amp;/g, '&')
            .replace(/&lt;/g, '<')
            .replace(/&gt;/g, '>');
    };
    EncodeUtils.prepareTextForRequest = function (text) {
        return text
            .replace(/%/g, '%25')
            .replace(/&/g, '%26amp;')
            .replace(/\+/g, '%2B')
            .replace(/</g, '%26lt;')
            .replace(/>/g, '%26gt;')
            .replace(/"/g, '%26quot;');
    };
    EncodeUtils.prepareTextForCallBackRequest = function (text) {
        return text
            .replace(/&/g, '&amp;')
            .replace(/</g, '&lt;')
            .replace(/>/g, '&gt;')
            .replace(/"/g, '&quot;');
    };
    EncodeUtils.decodeViaTextArea = function (html) {
        var textArea = document.createElement('TEXTAREA');
        textArea.innerHTML = html;
        return textArea.value;
    };
    return EncodeUtils;
}());
exports.EncodeUtils = EncodeUtils;


/***/ }),

/***/ 310:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.Y = void 0;
var EnumUtils = (function () {
    function EnumUtils() {
    }
    EnumUtils.forEach = function (enumObject, callback) {
        for (var key in enumObject) {
            if (!Object.prototype.hasOwnProperty.call(enumObject, key))
                continue;
            var keyNum = parseInt(key);
            if (!isNaN(keyNum))
                callback(keyNum);
        }
    };
    EnumUtils.isAnyOf = function (value) {
        var params = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            params[_i - 1] = arguments[_i];
        }
        for (var _a = 0, params_1 = params; _a < params_1.length; _a++) {
            var param = params_1[_a];
            if (value === param)
                return true;
        }
        return false;
    };
    return EnumUtils;
}());
exports.Y = EnumUtils;


/***/ }),

/***/ 3714:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.g = void 0;
var browser_1 = __webpack_require__(9279);
var common_1 = __webpack_require__(2491);
var dom_1 = __webpack_require__(6907);
var touch_1 = __webpack_require__(1632);
var EvtUtils = (function () {
    function EvtUtils() {
    }
    EvtUtils.preventEvent = function (evt) {
        if (!evt.cancelable)
            return;
        if (evt.preventDefault)
            evt.preventDefault();
        else
            evt.returnValue = false;
    };
    EvtUtils.getEventSource = function (evt) {
        return common_1.isDefined(evt) ? EvtUtils.getEventSourceCore(evt) : null;
    };
    EvtUtils.getEventSourceByPosition = function (evt) {
        if (!common_1.isDefined(evt))
            return null;
        if (!document.elementFromPoint)
            return EvtUtils.getEventSourceCore(evt);
        var clientX = EvtUtils.getEventX(evt) - (EvtUtils.clientEventRequiresDocScrollCorrection() ? dom_1.DomUtils.getDocumentScrollLeft() : 0);
        var clientY = EvtUtils.getEventY(evt) - (EvtUtils.clientEventRequiresDocScrollCorrection() ? dom_1.DomUtils.getDocumentScrollTop() : 0);
        if (clientX === undefined || clientY === undefined)
            return EvtUtils.getEventSourceCore(evt);
        return document.elementFromPoint(clientX, clientY);
    };
    EvtUtils.getEventSourceCore = function (evt) {
        return evt.srcElement ? evt.srcElement : evt.target;
    };
    EvtUtils.getMouseWheelEventName = function () {
        if (browser_1.Browser.Safari)
            return 'mousewheel';
        if (browser_1.Browser.NetscapeFamily && browser_1.Browser.MajorVersion < 17)
            return 'DOMMouseScroll';
        return 'wheel';
    };
    EvtUtils.isLeftButtonPressed = function (evt) {
        if (touch_1.TouchUtils.isTouchEvent(evt))
            return true;
        evt = (browser_1.Browser.IE && common_1.isDefined(event)) ? event : evt;
        if (!evt)
            return false;
        if (browser_1.Browser.IE && browser_1.Browser.Version < 11)
            return browser_1.Browser.MSTouchUI ? true : evt.button % 2 === 1;
        if (browser_1.Browser.WebKitFamily)
            return (evt.type === 'pointermove' || evt.type === 'pointerenter' || evt.type === 'pointerleave') ? evt.buttons === 1 : evt.which === 1;
        if (browser_1.Browser.NetscapeFamily || browser_1.Browser.Edge || (browser_1.Browser.IE && browser_1.Browser.Version >= 11))
            return EvtUtils.isMoveEventName(evt.type) ? evt.buttons === 1 : evt.which === 1;
        return browser_1.Browser.Opera ? evt.button === 0 : true;
    };
    EvtUtils.isMoveEventName = function (type) {
        return type === touch_1.TouchUtils.touchMouseMoveEventName || type === EvtUtils.getMoveEventName();
    };
    EvtUtils.getMoveEventName = function () {
        return window.PointerEvent ? 'pointermove' : (browser_1.Browser.TouchUI ? 'touchmove' : 'mousemove');
    };
    EvtUtils.preventEventAndBubble = function (evt) {
        EvtUtils.preventEvent(evt);
        if (evt.stopPropagation)
            evt.stopPropagation();
        evt.cancelBubble = true;
    };
    EvtUtils.clientEventRequiresDocScrollCorrection = function () {
        var isSafariVerLess3 = browser_1.Browser.Safari && browser_1.Browser.Version < 3;
        var isMacOSMobileVerLess51 = browser_1.Browser.MacOSMobilePlatform && browser_1.Browser.Version < 5.1;
        return browser_1.Browser.AndroidDefaultBrowser || browser_1.Browser.AndroidChromeBrowser || !(isSafariVerLess3 || isMacOSMobileVerLess51);
    };
    EvtUtils.getEventX = function (evt) {
        if (touch_1.TouchUtils.isTouchEvent(evt))
            return touch_1.TouchUtils.getEventX(evt);
        return evt.clientX + (EvtUtils.clientEventRequiresDocScrollCorrection() ? dom_1.DomUtils.getDocumentScrollLeft() : 0);
    };
    EvtUtils.getEventY = function (evt) {
        if (touch_1.TouchUtils.isTouchEvent(evt))
            return touch_1.TouchUtils.getEventY(evt);
        return evt.clientY + (EvtUtils.clientEventRequiresDocScrollCorrection() ? dom_1.DomUtils.getDocumentScrollTop() : 0);
    };
    EvtUtils.cancelBubble = function (evt) {
        evt.cancelBubble = true;
    };
    EvtUtils.getWheelDelta = function (evt) {
        var ret;
        if (browser_1.Browser.NetscapeFamily && browser_1.Browser.MajorVersion < 17)
            ret = -evt.detail;
        else if (browser_1.Browser.Safari)
            ret = evt.wheelDelta;
        else
            ret = -evt.deltaY;
        if (browser_1.Browser.Opera && browser_1.Browser.Version < 9)
            ret = -ret;
        return ret;
    };
    return EvtUtils;
}());
exports.g = EvtUtils;


/***/ }),

/***/ 2674:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.FileUtils = void 0;
var browser_1 = __webpack_require__(9279);
var base64_1 = __webpack_require__(6477);
var common_1 = __webpack_require__(2491);
var FileUtils = (function () {
    function FileUtils() {
    }
    FileUtils.loadJavascriptFile = function (srcUri, callback) {
        var _a;
        var headElem = document.getElementsByTagName('head')[0];
        if (!headElem) {
            headElem = document.createElement('head');
            var bodyElem = document.getElementsByTagName('body')[0];
            (_a = bodyElem.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(headElem, bodyElem);
        }
        var scriptElem = document.createElement('script');
        scriptElem.onload = callback;
        scriptElem.src = srcUri;
        headElem.appendChild(scriptElem);
        return { htmlScriptElement: scriptElem };
    };
    FileUtils.startDownloadFileLocal = function (content, fileName) {
        if (content instanceof ArrayBuffer)
            content = base64_1.Base64Utils.fromArrayBuffer(content);
        if (common_1.isString(content))
            content = base64_1.Base64Utils.getFileFromBase64(content);
        if (window.navigator.msSaveOrOpenBlob)
            window.navigator.msSaveOrOpenBlob(content, fileName);
        else {
            var a_1 = document.createElement('a');
            var url_1 = URL.createObjectURL(content);
            a_1.href = url_1;
            a_1.download = fileName;
            document.body.appendChild(a_1);
            a_1.click();
            setTimeout(function () {
                document.body.removeChild(a_1);
                window.URL.revokeObjectURL(url_1);
            }, 0);
        }
    };
    FileUtils.createFile = function (fileBits, fileName, options) {
        var _a;
        if (browser_1.Browser.IE || browser_1.Browser.Edge && browser_1.Browser.MajorVersion < 86) {
            var blob = new Blob(fileBits, options);
            blob['lastModifiedDate'] = (_a = options === null || options === void 0 ? void 0 : options.lastModified) !== null && _a !== void 0 ? _a : Date.now();
            blob['name'] = fileName;
            return blob;
        }
        else
            return new File(fileBits, fileName, options);
    };
    FileUtils.isFile = function (file) {
        if (browser_1.Browser.IE || browser_1.Browser.Edge && browser_1.Browser.MajorVersion < 86)
            return (file instanceof File) || (file instanceof Blob && common_1.isDefined(file.name));
        else
            return file instanceof File;
    };
    return FileUtils;
}());
exports.FileUtils = FileUtils;


/***/ }),

/***/ 4004:
/***/ (function(__unused_webpack_module, exports) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
__webpack_unused_export__ = __webpack_unused_export__ = exports.mx = exports.mw = exports.lX = void 0;
function fontWebApiAvailable() {
    return document.fonts && document.fonts.ready && document.fonts.ready.then;
}
exports.lX = fontWebApiAvailable;
function afterFontsLoaded(callback) {
    document.fonts.ready.then(callback);
}
exports.mw = afterFontsLoaded;
function loadFont(fontFamily, source, fontFaceDescriptors, callback) {
    var font = new (window.FontFace)(fontFamily, source, fontFaceDescriptors);
    font.load().then(function (loadedFace) {
        addFontToDocument(loadedFace);
        callback(null);
    }).catch(function (error) {
        return callback(error);
    });
}
exports.mx = loadFont;
function addFontToDocument(loadedFace) {
    document.fonts.add(loadedFace);
}
__webpack_unused_export__ = addFontToDocument;
function checkFont(fontFamily, text) {
    if (text === void 0) { text = 'b'; }
    return document.fonts.check("12px '" + fontFamily + "'", text);
}
__webpack_unused_export__ = checkFont;


/***/ }),

/***/ 2153:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.VD = exports.tx = exports.LN = void 0;
var browser_1 = __webpack_require__(9279);
var encode_1 = __webpack_require__(9712);
var string_1 = __webpack_require__(49);
var KeyUtils = (function () {
    function KeyUtils() {
    }
    KeyUtils.getKeyModifiers = function (evt) {
        var result = 0;
        if (evt.altKey)
            result |= ModifierKey.Alt;
        if (evt.ctrlKey)
            result |= ModifierKey.Ctrl;
        if (evt.shiftKey)
            result |= ModifierKey.Shift;
        if (evt.metaKey)
            result |= ModifierKey.Meta;
        return result;
    };
    KeyUtils.getShortcutCode = function (keyCode, isCtrlKey, isShiftKey, isAltKey, isMetaKey) {
        var value = keyCode;
        value |= isCtrlKey ? ModifierKey.Ctrl : 0;
        value |= isShiftKey ? ModifierKey.Shift : 0;
        value |= isAltKey ? ModifierKey.Alt : 0;
        value |= isMetaKey ? ModifierKey.Meta : 0;
        return value;
    };
    KeyUtils.getShortcutCodeByEvent = function (evt) {
        return KeyUtils.getShortcutCode(KeyUtils.getEventKeyCode(evt), evt.ctrlKey, evt.shiftKey, evt.altKey, browser_1.Browser.MacOSPlatform ? evt.metaKey : false);
    };
    KeyUtils.getEventKeyCode = function (evt) {
        return browser_1.Browser.NetscapeFamily || browser_1.Browser.Opera ? evt.which : evt.keyCode;
    };
    KeyUtils.parseShortcutString = function (shortcutString) {
        if (!shortcutString)
            return 0;
        var isCtrlKey = false;
        var isShiftKey = false;
        var isAltKey = false;
        var isMetaKey = false;
        var keyCode = null;
        var shcKeys = shortcutString.toString().split('+');
        if (shcKeys.length > 0) {
            for (var i = 0; i < shcKeys.length; i++) {
                var key = string_1.StringUtils.trim(shcKeys[i].toUpperCase());
                switch (key) {
                    case 'CONTROL':
                    case 'CONTROLKEY':
                    case 'CTRL':
                        isCtrlKey = true;
                        break;
                    case 'SHIFT':
                    case 'SHIFTKEY':
                        isShiftKey = true;
                        break;
                    case 'ALT':
                        isAltKey = true;
                        break;
                    case 'CMD':
                        isMetaKey = true;
                        break;
                    case 'F1':
                        keyCode = KeyCode.F1;
                        break;
                    case 'F2':
                        keyCode = KeyCode.F2;
                        break;
                    case 'F3':
                        keyCode = KeyCode.F3;
                        break;
                    case 'F4':
                        keyCode = KeyCode.F4;
                        break;
                    case 'F5':
                        keyCode = KeyCode.F5;
                        break;
                    case 'F6':
                        keyCode = KeyCode.F6;
                        break;
                    case 'F7':
                        keyCode = KeyCode.F7;
                        break;
                    case 'F8':
                        keyCode = KeyCode.F8;
                        break;
                    case 'F9':
                        keyCode = KeyCode.F9;
                        break;
                    case 'F10':
                        keyCode = KeyCode.F10;
                        break;
                    case 'F11':
                        keyCode = KeyCode.F11;
                        break;
                    case 'F12':
                        keyCode = KeyCode.F12;
                        break;
                    case 'RETURN':
                    case 'ENTER':
                        keyCode = KeyCode.Enter;
                        break;
                    case 'HOME':
                        keyCode = KeyCode.Home;
                        break;
                    case 'END':
                        keyCode = KeyCode.End;
                        break;
                    case 'LEFT':
                        keyCode = KeyCode.Left;
                        break;
                    case 'RIGHT':
                        keyCode = KeyCode.Right;
                        break;
                    case 'UP':
                        keyCode = KeyCode.Up;
                        break;
                    case 'DOWN':
                        keyCode = KeyCode.Down;
                        break;
                    case 'PAGEUP':
                        keyCode = KeyCode.PageUp;
                        break;
                    case 'PAGEDOWN':
                        keyCode = KeyCode.PageDown;
                        break;
                    case 'SPACE':
                        keyCode = KeyCode.Space;
                        break;
                    case 'TAB':
                        keyCode = KeyCode.Tab;
                        break;
                    case 'BACKSPACE':
                    case 'BACK':
                        keyCode = KeyCode.Backspace;
                        break;
                    case 'CONTEXT':
                        keyCode = KeyCode.ContextMenu;
                        break;
                    case 'ESCAPE':
                    case 'ESC':
                        keyCode = KeyCode.Esc;
                        break;
                    case 'DELETE':
                    case 'DEL':
                        keyCode = KeyCode.Delete;
                        break;
                    case 'INSERT':
                    case 'INS':
                        keyCode = KeyCode.Insert;
                        break;
                    case 'PLUS':
                        keyCode = '+'.charCodeAt(0);
                        break;
                    default:
                        keyCode = key.charCodeAt(0);
                        break;
                }
            }
        }
        else
            alert(encode_1.EncodeUtils.decodeViaTextArea('Invalid shortcut'));
        return KeyUtils.getShortcutCode(keyCode, isCtrlKey, isShiftKey, isAltKey, isMetaKey);
    };
    return KeyUtils;
}());
exports.LN = KeyUtils;
var ModifierKey;
(function (ModifierKey) {
    ModifierKey[ModifierKey["None"] = 0] = "None";
    ModifierKey[ModifierKey["Ctrl"] = 65536] = "Ctrl";
    ModifierKey[ModifierKey["Shift"] = 262144] = "Shift";
    ModifierKey[ModifierKey["Alt"] = 1048576] = "Alt";
    ModifierKey[ModifierKey["Meta"] = 16777216] = "Meta";
})(ModifierKey = exports.tx || (exports.tx = {}));
var KeyCode;
(function (KeyCode) {
    KeyCode[KeyCode["Backspace"] = 8] = "Backspace";
    KeyCode[KeyCode["Tab"] = 9] = "Tab";
    KeyCode[KeyCode["Enter"] = 13] = "Enter";
    KeyCode[KeyCode["Pause"] = 19] = "Pause";
    KeyCode[KeyCode["CapsLock"] = 20] = "CapsLock";
    KeyCode[KeyCode["Esc"] = 27] = "Esc";
    KeyCode[KeyCode["Space"] = 32] = "Space";
    KeyCode[KeyCode["PageUp"] = 33] = "PageUp";
    KeyCode[KeyCode["PageDown"] = 34] = "PageDown";
    KeyCode[KeyCode["End"] = 35] = "End";
    KeyCode[KeyCode["Home"] = 36] = "Home";
    KeyCode[KeyCode["Left"] = 37] = "Left";
    KeyCode[KeyCode["Up"] = 38] = "Up";
    KeyCode[KeyCode["Right"] = 39] = "Right";
    KeyCode[KeyCode["Down"] = 40] = "Down";
    KeyCode[KeyCode["Insert"] = 45] = "Insert";
    KeyCode[KeyCode["Delete"] = 46] = "Delete";
    KeyCode[KeyCode["Key_0"] = 48] = "Key_0";
    KeyCode[KeyCode["Key_1"] = 49] = "Key_1";
    KeyCode[KeyCode["Key_2"] = 50] = "Key_2";
    KeyCode[KeyCode["Key_3"] = 51] = "Key_3";
    KeyCode[KeyCode["Key_4"] = 52] = "Key_4";
    KeyCode[KeyCode["Key_5"] = 53] = "Key_5";
    KeyCode[KeyCode["Key_6"] = 54] = "Key_6";
    KeyCode[KeyCode["Key_7"] = 55] = "Key_7";
    KeyCode[KeyCode["Key_8"] = 56] = "Key_8";
    KeyCode[KeyCode["Key_9"] = 57] = "Key_9";
    KeyCode[KeyCode["Key_a"] = 65] = "Key_a";
    KeyCode[KeyCode["Key_b"] = 66] = "Key_b";
    KeyCode[KeyCode["Key_c"] = 67] = "Key_c";
    KeyCode[KeyCode["Key_d"] = 68] = "Key_d";
    KeyCode[KeyCode["Key_e"] = 69] = "Key_e";
    KeyCode[KeyCode["Key_f"] = 70] = "Key_f";
    KeyCode[KeyCode["Key_g"] = 71] = "Key_g";
    KeyCode[KeyCode["Key_h"] = 72] = "Key_h";
    KeyCode[KeyCode["Key_i"] = 73] = "Key_i";
    KeyCode[KeyCode["Key_j"] = 74] = "Key_j";
    KeyCode[KeyCode["Key_k"] = 75] = "Key_k";
    KeyCode[KeyCode["Key_l"] = 76] = "Key_l";
    KeyCode[KeyCode["Key_m"] = 77] = "Key_m";
    KeyCode[KeyCode["Key_n"] = 78] = "Key_n";
    KeyCode[KeyCode["Key_o"] = 79] = "Key_o";
    KeyCode[KeyCode["Key_p"] = 80] = "Key_p";
    KeyCode[KeyCode["Key_q"] = 81] = "Key_q";
    KeyCode[KeyCode["Key_r"] = 82] = "Key_r";
    KeyCode[KeyCode["Key_s"] = 83] = "Key_s";
    KeyCode[KeyCode["Key_t"] = 84] = "Key_t";
    KeyCode[KeyCode["Key_u"] = 85] = "Key_u";
    KeyCode[KeyCode["Key_v"] = 86] = "Key_v";
    KeyCode[KeyCode["Key_w"] = 87] = "Key_w";
    KeyCode[KeyCode["Key_x"] = 88] = "Key_x";
    KeyCode[KeyCode["Key_y"] = 89] = "Key_y";
    KeyCode[KeyCode["Key_z"] = 90] = "Key_z";
    KeyCode[KeyCode["Windows"] = 91] = "Windows";
    KeyCode[KeyCode["ContextMenu"] = 93] = "ContextMenu";
    KeyCode[KeyCode["Numpad_0"] = 96] = "Numpad_0";
    KeyCode[KeyCode["Numpad_1"] = 97] = "Numpad_1";
    KeyCode[KeyCode["Numpad_2"] = 98] = "Numpad_2";
    KeyCode[KeyCode["Numpad_3"] = 99] = "Numpad_3";
    KeyCode[KeyCode["Numpad_4"] = 100] = "Numpad_4";
    KeyCode[KeyCode["Numpad_5"] = 101] = "Numpad_5";
    KeyCode[KeyCode["Numpad_6"] = 102] = "Numpad_6";
    KeyCode[KeyCode["Numpad_7"] = 103] = "Numpad_7";
    KeyCode[KeyCode["Numpad_8"] = 104] = "Numpad_8";
    KeyCode[KeyCode["Numpad_9"] = 105] = "Numpad_9";
    KeyCode[KeyCode["Multiply"] = 106] = "Multiply";
    KeyCode[KeyCode["Add"] = 107] = "Add";
    KeyCode[KeyCode["Subtract"] = 109] = "Subtract";
    KeyCode[KeyCode["Decimal"] = 110] = "Decimal";
    KeyCode[KeyCode["Divide"] = 111] = "Divide";
    KeyCode[KeyCode["F1"] = 112] = "F1";
    KeyCode[KeyCode["F2"] = 113] = "F2";
    KeyCode[KeyCode["F3"] = 114] = "F3";
    KeyCode[KeyCode["F4"] = 115] = "F4";
    KeyCode[KeyCode["F5"] = 116] = "F5";
    KeyCode[KeyCode["F6"] = 117] = "F6";
    KeyCode[KeyCode["F7"] = 118] = "F7";
    KeyCode[KeyCode["F8"] = 119] = "F8";
    KeyCode[KeyCode["F9"] = 120] = "F9";
    KeyCode[KeyCode["F10"] = 121] = "F10";
    KeyCode[KeyCode["F11"] = 122] = "F11";
    KeyCode[KeyCode["F12"] = 123] = "F12";
    KeyCode[KeyCode["NumLock"] = 144] = "NumLock";
    KeyCode[KeyCode["ScrollLock"] = 145] = "ScrollLock";
    KeyCode[KeyCode["Semicolon"] = 186] = "Semicolon";
    KeyCode[KeyCode["Equals"] = 187] = "Equals";
    KeyCode[KeyCode["Comma"] = 188] = "Comma";
    KeyCode[KeyCode["Dash"] = 189] = "Dash";
    KeyCode[KeyCode["Period"] = 190] = "Period";
    KeyCode[KeyCode["ForwardSlash"] = 191] = "ForwardSlash";
    KeyCode[KeyCode["GraveAccent"] = 192] = "GraveAccent";
    KeyCode[KeyCode["OpenBracket"] = 219] = "OpenBracket";
    KeyCode[KeyCode["BackSlash"] = 220] = "BackSlash";
    KeyCode[KeyCode["CloseBracket"] = 221] = "CloseBracket";
    KeyCode[KeyCode["SingleQuote"] = 222] = "SingleQuote";
})(KeyCode = exports.VD || (exports.VD = {}));


/***/ }),

/***/ 2940:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.ListUtils = void 0;
var min_max_1 = __webpack_require__(6799);
var comparers_1 = __webpack_require__(4170);
var ListUtils = (function () {
    function ListUtils() {
    }
    ListUtils.remove = function (list, element) {
        var index = list.indexOf(element, 0);
        if (index >= 0)
            list.splice(index, 1);
    };
    ListUtils.removeBy = function (list, callback) {
        var len = list.length;
        for (var index = 0; index < len; index++) {
            if (callback(list[index], index))
                return list.splice(index, 1)[0];
        }
        return null;
    };
    ListUtils.shallowCopy = function (list) {
        return list.slice();
    };
    ListUtils.deepCopy = function (list) {
        return ListUtils.map(list, function (val) { return val.clone(); });
    };
    ListUtils.initByValue = function (numElements, initValue) {
        var result = [];
        for (; numElements > 0; numElements--)
            result.push(initValue);
        return result;
    };
    ListUtils.initByCallback = function (numElements, initCallback) {
        var result = [];
        for (var index = 0; index < numElements; index++)
            result.push(initCallback(index));
        return result;
    };
    ListUtils.forEachOnInterval = function (interval, callback) {
        var end = interval.end;
        for (var index = interval.start; index < end; index++)
            callback(index);
    };
    ListUtils.reverseForEachOnInterval = function (interval, callback) {
        var start = interval.start;
        for (var index = interval.end - 1; index >= start; index--)
            callback(index);
    };
    ListUtils.reducedMap = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var result = [];
        for (var index = startIndex; index < endIndex; index++) {
            var newItem = callback(list[index], index);
            if (newItem !== null)
                result.push(newItem);
        }
        return result;
    };
    ListUtils.filter = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var result = [];
        for (var index = startIndex; index < endIndex; index++) {
            var item = list[index];
            if (callback(item, index))
                result.push(item);
        }
        return result;
    };
    ListUtils.map = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var result = [];
        for (var index = startIndex; index < endIndex; index++)
            result.push(callback(list[index], index));
        return result;
    };
    ListUtils.indexBy = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        for (var ind = startIndex; ind < endIndex; ind++) {
            if (callback(list[ind], ind))
                return ind;
        }
        return -1;
    };
    ListUtils.reverseIndexBy = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = list.length - 1; }
        if (endIndex === void 0) { endIndex = 0; }
        for (var ind = startIndex; ind >= endIndex; ind--) {
            if (callback(list[ind], ind))
                return ind;
        }
        return -1;
    };
    ListUtils.elementBy = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var ind = ListUtils.indexBy(list, callback, startIndex, endIndex);
        return ind < 0 ? null : list[ind];
    };
    ListUtils.reverseElementBy = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = list.length - 1; }
        if (endIndex === void 0) { endIndex = 0; }
        var ind = ListUtils.reverseIndexBy(list, callback, startIndex, endIndex);
        return ind < 0 ? null : list[ind];
    };
    ListUtils.last = function (list) {
        return list[list.length - 1];
    };
    ListUtils.setLast = function (list, newVal) {
        return list[list.length - 1] = newVal;
    };
    ListUtils.incLast = function (list) {
        return ++list[list.length - 1];
    };
    ListUtils.decLast = function (list) {
        return --list[list.length - 1];
    };
    ListUtils.equals = function (a, b) {
        return a.length === b.length && ListUtils.allOf2(a, b, function (a, b) { return a.equals(b); });
    };
    ListUtils.equalsByReference = function (a, b) {
        var aLen = a.length;
        var bLen = a.length;
        if (aLen !== bLen)
            return false;
        for (var i = 0; i < aLen; i++) {
            if (a[i] !== b[i])
                return false;
        }
        return true;
    };
    ListUtils.unique = function (list, cmp, equal, finalizeObj) {
        if (equal === void 0) { equal = cmp; }
        if (finalizeObj === void 0) { finalizeObj = function () { }; }
        var len = list.length;
        if (len === 0)
            return [];
        list = list.sort(cmp);
        var prevValue = list[0];
        var result = ListUtils.reducedMap(list, function (v) {
            if (equal(prevValue, v) !== 0) {
                prevValue = v;
                return v;
            }
            finalizeObj(v);
            return null;
        }, 1, len);
        result.unshift(list[0]);
        return result;
    };
    ListUtils.uniqueNumber = function (list) {
        list = list.sort(comparers_1.Comparers.number);
        var prevValue = Number.NaN;
        for (var i = list.length - 1; i >= 0; i--) {
            if (prevValue === list[i])
                list.splice(i, 1);
            else
                prevValue = list[i];
        }
        return list;
    };
    ListUtils.forEach = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        for (var index = startIndex; index < endIndex; index++)
            callback(list[index], index);
    };
    ListUtils.forEach2 = function (listA, listB, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = listA.length; }
        for (var index = startIndex; index < endIndex; index++)
            callback(listA[index], listB[index], index);
    };
    ListUtils.reverseForEach = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = list.length - 1; }
        if (endIndex === void 0) { endIndex = 0; }
        for (var index = startIndex; index >= endIndex; index--)
            callback(list[index], index);
    };
    ListUtils.reverseIndexOf = function (list, element, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = list.length - 1; }
        if (endIndex === void 0) { endIndex = 0; }
        for (var index = startIndex; index >= endIndex; index--) {
            if (list[index] === element)
                return index;
        }
        return -1;
    };
    ListUtils.accumulate = function (list, initAccValue, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var acc = initAccValue;
        for (var ind = startIndex; ind < endIndex; ind++)
            acc = callback(acc, list[ind], ind);
        return acc;
    };
    ListUtils.accumulateNumber = function (list, callback, initAccValue, startIndex, endIndex) {
        if (initAccValue === void 0) { initAccValue = 0; }
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var acc = initAccValue;
        for (var ind = startIndex; ind < endIndex; ind++)
            acc += callback(list[ind], ind, acc);
        return acc;
    };
    ListUtils.anyOf = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        for (var index = startIndex; index < endIndex; index++) {
            if (callback(list[index], index))
                return true;
        }
        return false;
    };
    ListUtils.unsafeAnyOf = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        for (var index = startIndex; index < endIndex; index++) {
            var currResult = callback(list[index], index);
            if (currResult)
                return currResult;
        }
        return null;
    };
    ListUtils.reverseAnyOf = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = list.length - 1; }
        if (endIndex === void 0) { endIndex = 0; }
        for (var index = startIndex; index >= endIndex; index--) {
            if (callback(list[index], index))
                return true;
        }
        return false;
    };
    ListUtils.unsafeReverseAnyOf = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = list.length - 1; }
        if (endIndex === void 0) { endIndex = 0; }
        for (var index = startIndex; index >= endIndex; index--) {
            var currResult = callback(list[index], index);
            if (currResult)
                return currResult;
        }
        return null;
    };
    ListUtils.anyOf2 = function (listA, listB, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = listA.length; }
        for (var index = startIndex; index < endIndex; index++) {
            if (callback(listA[index], listB[index], index))
                return true;
        }
        return false;
    };
    ListUtils.allOf = function (list, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        for (var index = startIndex; index < endIndex; index++) {
            if (!callback(list[index], index))
                return false;
        }
        return true;
    };
    ListUtils.allOf2 = function (listA, listB, callback, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = listA.length; }
        for (var index = startIndex; index < endIndex; index++) {
            if (!callback(listA[index], listB[index], index))
                return false;
        }
        return true;
    };
    ListUtils.allOfOnInterval = function (interval, callback) {
        var endIndex = interval.end;
        for (var index = interval.start; index < endIndex; index++) {
            if (!callback(index))
                return false;
        }
        return true;
    };
    ListUtils.addListOnTail = function (resultList, addedList) {
        for (var i = 0, elem = void 0; elem = addedList[i]; i++)
            resultList.push(elem);
        return resultList;
    };
    ListUtils.joinLists = function (converter) {
        var lists = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            lists[_i - 1] = arguments[_i];
        }
        return ListUtils.accumulate(lists, [], function (accList, list) {
            ListUtils.addListOnTail(accList, converter(list));
            return accList;
        });
    };
    ListUtils.push = function (list, element) {
        list.push(element);
        return list;
    };
    ListUtils.countIf = function (list, callback) {
        return ListUtils.accumulateNumber(list, function (elem, ind) { return callback(elem, ind) ? 1 : 0; });
    };
    ListUtils.clear = function (list) {
        list.splice(0);
    };
    ListUtils.merge = function (list, cmp, shouldMerge, merge, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        list = list.slice(startIndex, endIndex);
        if (endIndex - startIndex < 2)
            return list;
        list = list.sort(cmp);
        var prevObj = list[startIndex];
        var result = [prevObj];
        for (var ind = startIndex + 1; ind < endIndex; ind++) {
            var obj = list[ind];
            if (shouldMerge(prevObj, obj))
                merge(prevObj, obj);
            else {
                prevObj = obj;
                result.push(prevObj);
            }
        }
        return result;
    };
    ListUtils.min = function (list, getValue, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var res = ListUtils.minExtended(list, getValue, startIndex, endIndex);
        return res ? res.minElement : null;
    };
    ListUtils.max = function (list, getValue, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var res = ListUtils.maxExtended(list, getValue, startIndex, endIndex);
        return res ? res.maxElement : null;
    };
    ListUtils.minMax = function (list, getValue, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        var res = ListUtils.minMaxExtended(list, getValue, startIndex, endIndex);
        return res ? new min_max_1.MinMax(res.minElement, res.maxElement) : null;
    };
    ListUtils.minExtended = function (list, getValue, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        if (list.length === 0)
            return null;
        var minElement = list[startIndex];
        var minValue = getValue(minElement);
        for (var index = startIndex + 1; index < endIndex; index++) {
            var elem = list[index];
            var elemValue = getValue(elem);
            if (elemValue < minValue) {
                minValue = elemValue;
                minElement = elem;
            }
        }
        return new min_max_1.ExtendedMin(minElement, minValue);
    };
    ListUtils.maxExtended = function (list, getValue, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        if (list.length === 0)
            return null;
        var maxElement = list[startIndex];
        var maxValue = getValue(maxElement);
        for (var index = startIndex + 1; index < endIndex; index++) {
            var elem = list[index];
            var elemValue = getValue(elem);
            if (elemValue > maxValue) {
                maxValue = elemValue;
                maxElement = elem;
            }
        }
        return new min_max_1.ExtendedMax(maxElement, maxValue);
    };
    ListUtils.minMaxExtended = function (list, getValue, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        if (list.length === 0)
            return null;
        var minElement = list[startIndex];
        var maxElement = minElement;
        var minValue = getValue(minElement);
        var maxValue = minValue;
        for (var index = startIndex + 1; index < endIndex; index++) {
            var elem = list[index];
            var elemValue = getValue(elem);
            if (elemValue < minValue) {
                minValue = elemValue;
                minElement = elem;
            }
            else if (elemValue > maxValue) {
                maxValue = elemValue;
                maxElement = elem;
            }
        }
        return new min_max_1.ExtendedMinMax(minElement, minValue, maxElement, maxValue);
    };
    ListUtils.minByCmp = function (list, cmp, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        if (list.length === 0)
            return null;
        var found = list[startIndex];
        for (var index = startIndex + 1; index < endIndex; index++) {
            var elem = list[index];
            if (cmp(elem, found) < 0)
                found = elem;
        }
        return found;
    };
    ListUtils.maxByCmp = function (list, cmp, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        if (list.length === 0)
            return null;
        var found = list[startIndex];
        for (var index = startIndex + 1; index < endIndex; index++) {
            var elem = list[index];
            if (cmp(elem, found) > 0)
                found = elem;
        }
        return found;
    };
    ListUtils.minMaxByCmp = function (list, cmp, startIndex, endIndex) {
        if (startIndex === void 0) { startIndex = 0; }
        if (endIndex === void 0) { endIndex = list.length; }
        if (list.length === 0)
            return null;
        var min = list[startIndex];
        var max = min;
        for (var index = startIndex + 1; index < endIndex; index++) {
            var elem = list[index];
            var res = cmp(elem, min);
            if (res > 0)
                max = elem;
            else if (res < 0)
                min = elem;
        }
        return new min_max_1.MinMax(min, max);
    };
    return ListUtils;
}());
exports.ListUtils = ListUtils;


/***/ }),

/***/ 1167:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.j = void 0;
var constants_1 = __webpack_require__(8785);
var min_max_1 = __webpack_require__(6799);
var NumberMapUtils = (function () {
    function NumberMapUtils() {
    }
    NumberMapUtils.forEach = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                callback(map[key], parseInt(key));
        }
    };
    NumberMapUtils.map = function (map, callback) {
        var result = {};
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                result[key] = callback(map[key], parseInt(key));
        }
        return result;
    };
    NumberMapUtils.reducedMap = function (map, callback) {
        var result = {};
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var newItem = callback(map[key], parseInt(key));
                if (newItem !== null)
                    result[key] = newItem;
            }
        }
        return result;
    };
    NumberMapUtils.clear = function (map) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                delete map[key];
        }
    };
    NumberMapUtils.shallowCopy = function (map) {
        return NumberMapUtils.map(map, function (val) { return val; });
    };
    NumberMapUtils.deepCopy = function (map) {
        return NumberMapUtils.map(map, function (val) { return val.clone(); });
    };
    NumberMapUtils.isEmpty = function (map) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                return false;
        }
        return true;
    };
    NumberMapUtils.accumulate = function (map, initAccValue, callback) {
        var acc = initAccValue;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                acc = callback(acc, map[key], parseInt(key));
        }
        return acc;
    };
    NumberMapUtils.keyBy = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var intKey = parseInt(key);
                if (callback(map[key], intKey))
                    return intKey;
            }
        }
        return null;
    };
    NumberMapUtils.elementBy = function (map, callback) {
        var key = NumberMapUtils.keyBy(map, callback);
        return key === null ? null : map[key];
    };
    NumberMapUtils.containsBy = function (map, callback) {
        return NumberMapUtils.keyBy(map, callback) !== null;
    };
    NumberMapUtils.toList = function (map) {
        return NumberMapUtils.toListBy(map, function (elem) { return elem; });
    };
    NumberMapUtils.toListBy = function (map, callback, maxElements) {
        if (maxElements === void 0) { maxElements = constants_1.Constants.MAX_SAFE_INTEGER; }
        var result = [];
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                result.push(callback(map[key], parseInt(key)));
                if (!--maxElements)
                    break;
            }
        }
        return result;
    };
    NumberMapUtils.anyOf = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var res = callback(map[key], parseInt(key));
                if (res !== null)
                    return res;
            }
        }
        return null;
    };
    NumberMapUtils.unsafeAnyOf = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var res = callback(map[key], parseInt(key));
                if (res)
                    return res;
            }
        }
        return null;
    };
    NumberMapUtils.allOf = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                if (!callback(map[key], parseInt(key)))
                    return false;
            }
        }
        return true;
    };
    NumberMapUtils.mapLength = function (map) {
        var length = 0;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                length++;
        }
        return length;
    };
    NumberMapUtils.min = function (map, getValue) {
        var res = NumberMapUtils.minExtended(map, getValue);
        return res === null ? null : res.minElement;
    };
    NumberMapUtils.max = function (map, getValue) {
        var res = NumberMapUtils.maxExtended(map, getValue);
        return res === null ? null : res.maxElement;
    };
    NumberMapUtils.minMax = function (map, getValue) {
        var res = NumberMapUtils.minMaxExtended(map, getValue);
        return res === null ? null : new min_max_1.MinMax(res.minElement, res.maxElement);
    };
    NumberMapUtils.minExtended = function (map, getValue) {
        var minElement;
        var minValue = constants_1.Constants.MAX_SAFE_INTEGER;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var currElem = map[key];
                var currValue = getValue(currElem, parseInt(key));
                if (currValue < minValue) {
                    minElement = currElem;
                    minValue = currValue;
                }
            }
        }
        return minElement === undefined ? null : new min_max_1.ExtendedMin(minElement, minValue);
    };
    NumberMapUtils.maxExtended = function (map, getValue) {
        var maxElement;
        var maxValue = constants_1.Constants.MIN_SAFE_INTEGER;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var currElem = map[key];
                var currValue = getValue(currElem, parseInt(key));
                if (currValue > maxValue) {
                    maxElement = currElem;
                    maxValue = currValue;
                }
            }
        }
        return maxElement === undefined ? null : new min_max_1.ExtendedMax(maxElement, maxValue);
    };
    NumberMapUtils.minMaxExtended = function (map, getValue) {
        var minElement;
        var minValue = constants_1.Constants.MAX_SAFE_INTEGER;
        var maxElement;
        var maxValue = constants_1.Constants.MIN_SAFE_INTEGER;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var currElem = map[key];
                var currValue = getValue(currElem, parseInt(key));
                if (currValue < minValue) {
                    minElement = currElem;
                    minValue = currValue;
                }
                else if (currValue > maxValue) {
                    maxElement = currElem;
                    maxValue = currValue;
                }
            }
        }
        return minElement === undefined ? null : new min_max_1.ExtendedMinMax(minElement, minValue, maxElement, maxValue);
    };
    NumberMapUtils.maxByCmp = function (map, cmp) {
        var found;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                if (found !== undefined) {
                    var elem = map[key];
                    if (cmp(elem, found) > 0)
                        found = elem;
                }
                else
                    found = map[key];
            }
        }
        return found === undefined ? null : found;
    };
    NumberMapUtils.minByCmp = function (map, cmp) {
        var found;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                if (found !== undefined) {
                    var elem = map[key];
                    if (cmp(elem, found) < 0)
                        found = elem;
                }
                else
                    found = map[key];
            }
        }
        return found === undefined ? null : found;
    };
    return NumberMapUtils;
}());
exports.j = NumberMapUtils;


/***/ }),

/***/ 2866:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.StringMapUtils = void 0;
var min_max_1 = __webpack_require__(6799);
var constants_1 = __webpack_require__(8785);
var StringMapUtils = (function () {
    function StringMapUtils() {
    }
    StringMapUtils.forEach = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                callback(map[key], key);
        }
    };
    StringMapUtils.map = function (map, callback) {
        var result = {};
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                result[key] = callback(map[key], key);
        }
        return result;
    };
    StringMapUtils.reducedMap = function (map, callback) {
        var result = {};
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var newItem = callback(map[key], key);
                if (newItem !== null)
                    result[key] = newItem;
            }
        }
        return result;
    };
    StringMapUtils.clear = function (map) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                delete map[key];
        }
    };
    StringMapUtils.shallowCopy = function (map) {
        return StringMapUtils.map(map, function (val) { return val; });
    };
    StringMapUtils.deepCopy = function (map) {
        return StringMapUtils.map(map, function (val) { return val.clone(); });
    };
    StringMapUtils.isEmpty = function (map) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                return false;
        }
        return true;
    };
    StringMapUtils.accumulate = function (map, initAccValue, callback) {
        var acc = initAccValue;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                acc = callback(acc, map[key], key);
        }
        return acc;
    };
    StringMapUtils.keyBy = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                if (callback(map[key], key))
                    return key;
            }
        }
        return null;
    };
    StringMapUtils.elementBy = function (map, callback) {
        var key = StringMapUtils.keyBy(map, callback);
        return key === null ? null : map[key];
    };
    StringMapUtils.containsBy = function (map, callback) {
        return StringMapUtils.keyBy(map, callback) !== null;
    };
    StringMapUtils.toList = function (map) {
        return StringMapUtils.toListBy(map, function (elem) { return elem; });
    };
    StringMapUtils.toListBy = function (map, callback, maxElements) {
        if (maxElements === void 0) { maxElements = constants_1.Constants.MAX_SAFE_INTEGER; }
        var result = [];
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                result.push(callback(map[key], key));
                if (!--maxElements)
                    break;
            }
        }
        return result;
    };
    StringMapUtils.anyOf = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var res = callback(map[key], key);
                if (res !== null)
                    return res;
            }
        }
        return null;
    };
    StringMapUtils.unsafeAnyOf = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var res = callback(map[key], key);
                if (res)
                    return res;
            }
        }
        return null;
    };
    StringMapUtils.allOf = function (map, callback) {
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                if (!callback(map[key], key))
                    return false;
            }
        }
        return true;
    };
    StringMapUtils.mapLength = function (map) {
        var length = 0;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key))
                length++;
        }
        return length;
    };
    StringMapUtils.min = function (map, getValue) {
        var res = StringMapUtils.minExtended(map, getValue);
        return res === null ? null : res.minElement;
    };
    StringMapUtils.max = function (map, getValue) {
        var res = StringMapUtils.maxExtended(map, getValue);
        return res === null ? null : res.maxElement;
    };
    StringMapUtils.minMax = function (map, getValue) {
        var res = StringMapUtils.minMaxExtended(map, getValue);
        return res === null ? null : new min_max_1.MinMax(res.minElement, res.maxElement);
    };
    StringMapUtils.minExtended = function (map, getValue) {
        var minElement;
        var minValue = constants_1.Constants.MAX_SAFE_INTEGER;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var currElem = map[key];
                var currValue = getValue(currElem, key);
                if (currValue < minValue) {
                    minElement = currElem;
                    minValue = currValue;
                }
            }
        }
        return minElement === undefined ? null : new min_max_1.ExtendedMin(minElement, minValue);
    };
    StringMapUtils.maxExtended = function (map, getValue) {
        var maxElement;
        var maxValue = constants_1.Constants.MIN_SAFE_INTEGER;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var currElem = map[key];
                var currValue = getValue(currElem, key);
                if (currValue > maxValue) {
                    maxElement = currElem;
                    maxValue = currValue;
                }
            }
        }
        return maxElement === undefined ? null : new min_max_1.ExtendedMax(maxElement, maxValue);
    };
    StringMapUtils.minMaxExtended = function (map, getValue) {
        var minElement;
        var minValue = constants_1.Constants.MAX_SAFE_INTEGER;
        var maxElement;
        var maxValue = constants_1.Constants.MIN_SAFE_INTEGER;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                var currElem = map[key];
                var currValue = getValue(currElem, key);
                if (currValue < minValue) {
                    minElement = currElem;
                    minValue = currValue;
                }
                else if (currValue > maxValue) {
                    maxElement = currElem;
                    maxValue = currValue;
                }
            }
        }
        return minElement === undefined ? null : new min_max_1.ExtendedMinMax(minElement, minValue, maxElement, maxValue);
    };
    StringMapUtils.maxByCmp = function (map, cmp) {
        var found;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                if (found !== undefined) {
                    var elem = map[key];
                    if (cmp(elem, found) > 0)
                        found = elem;
                }
                else
                    found = map[key];
            }
        }
        return found === undefined ? null : found;
    };
    StringMapUtils.minByCmp = function (map, cmp) {
        var found;
        for (var key in map) {
            if (Object.prototype.hasOwnProperty.call(map, key)) {
                if (found !== undefined) {
                    var elem = map[key];
                    if (cmp(elem, found) < 0)
                        found = elem;
                }
                else
                    found = map[key];
            }
        }
        return found === undefined ? null : found;
    };
    return StringMapUtils;
}());
exports.StringMapUtils = StringMapUtils;


/***/ }),

/***/ 8679:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.MathUtils = void 0;
var list_1 = __webpack_require__(2940);
var MathUtils = (function () {
    function MathUtils() {
    }
    MathUtils.round = function (value, digits) {
        if (digits === void 0) { digits = 0; }
        var factor = MathUtils.powFactor[digits];
        return Math.round(value * factor) / factor;
    };
    MathUtils.numberCloseTo = function (num, to, accuracy) {
        if (accuracy === void 0) { accuracy = 0.00001; }
        return Math.abs(num - to) < accuracy;
    };
    MathUtils.restrictValue = function (val, minVal, maxVal) {
        if (maxVal < minVal)
            maxVal = minVal;
        if (val > maxVal)
            return maxVal;
        else if (val < minVal)
            return minVal;
        return val;
    };
    MathUtils.getRandomInt = function (min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    };
    MathUtils.generateGuid = function () {
        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
            var r = Math.random() * 16 | 0;
            var v = c === 'x' ? r : (r & 0x3 | 0x8);
            return v.toString(16);
        });
    };
    MathUtils.powFactor = list_1.ListUtils.initByCallback(20, function (ind) { return Math.pow(10, ind); });
    MathUtils.somePrimes = [1009, 1013,
        1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069,
        1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
        1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223,
        1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291,
        1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373,
        1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451,
        1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511,
        1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583,
        1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657,
        1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733,
        1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811,
        1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889,
        1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987,
        1993, 1997, 1999, 2003];
    return MathUtils;
}());
exports.MathUtils = MathUtils;


/***/ }),

/***/ 4633:
/***/ (function(__unused_webpack_module, exports) {


var _a, _b, _c;
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.MimeTypeUtils = exports.DxMimeType = exports.ImageWebpMimeType = exports.ImageWbmpMimeType = exports.ImageIcoMimeType = exports.ImageTiffMimeType = exports.ImageSvgMimeType = exports.ImagePjpegMimeType = exports.ImageJpegMimeType = exports.ImageGifMimeType = exports.ImagePngMimeType = exports.DocmMimeType = exports.HtmlMimeType = exports.PlainTextMimeType = exports.RtfMimeType = exports.OpenXmlMimeType = void 0;
exports.OpenXmlMimeType = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
exports.RtfMimeType = 'application/rtf';
exports.PlainTextMimeType = 'text/plain';
exports.HtmlMimeType = 'text/html';
exports.DocmMimeType = 'application/vnd.ms-word.document.macroEnabled.12';
exports.ImagePngMimeType = 'image/png';
exports.ImageGifMimeType = 'image/gif';
exports.ImageJpegMimeType = 'image/jpeg';
exports.ImagePjpegMimeType = 'image/pjpeg';
exports.ImageSvgMimeType = 'image/svg+xml';
exports.ImageTiffMimeType = 'image/tiff';
exports.ImageIcoMimeType = 'image/vnd.microsoft.icon';
exports.ImageWbmpMimeType = 'image/vnd.wap.wbmp';
exports.ImageWebpMimeType = 'image/webp';
var DxMimeType;
(function (DxMimeType) {
    DxMimeType[DxMimeType["Unknown"] = 0] = "Unknown";
    DxMimeType[DxMimeType["OpenXml"] = 1] = "OpenXml";
    DxMimeType[DxMimeType["Rtf"] = 2] = "Rtf";
    DxMimeType[DxMimeType["PlainText"] = 3] = "PlainText";
    DxMimeType[DxMimeType["Docm"] = 4] = "Docm";
    DxMimeType[DxMimeType["Png"] = 5] = "Png";
    DxMimeType[DxMimeType["Gif"] = 6] = "Gif";
    DxMimeType[DxMimeType["Jpeg"] = 7] = "Jpeg";
    DxMimeType[DxMimeType["Pjpeg"] = 8] = "Pjpeg";
    DxMimeType[DxMimeType["Svg"] = 9] = "Svg";
    DxMimeType[DxMimeType["Tiff"] = 10] = "Tiff";
    DxMimeType[DxMimeType["Ico"] = 11] = "Ico";
    DxMimeType[DxMimeType["Wbmp"] = 12] = "Wbmp";
    DxMimeType[DxMimeType["Webp"] = 13] = "Webp";
    DxMimeType[DxMimeType["Html"] = 14] = "Html";
})(DxMimeType = exports.DxMimeType || (exports.DxMimeType = {}));
var MimeTypeUtils = (function () {
    function MimeTypeUtils() {
    }
    MimeTypeUtils.stringTypeToExtension = function (mimeTypeAsStr) {
        var mimeType = MimeTypeUtils.stringTypeToTypeMap[mimeTypeAsStr];
        return mimeType === undefined ? '' : MimeTypeUtils.typeToExtensionMap[mimeType];
    };
    MimeTypeUtils.typeToExtension = function (mimeType) {
        var ext = MimeTypeUtils.typeToExtensionMap[mimeType];
        return ext !== null && ext !== void 0 ? ext : '';
    };
    MimeTypeUtils.extensionToType = function (extension) {
        extension = extension.toLowerCase();
        if (extension[0] !== '.')
            extension += '.';
        var mimeType = MimeTypeUtils.extensionToTypeMap[extension];
        return mimeType !== null && mimeType !== void 0 ? mimeType : DxMimeType.Unknown;
    };
    MimeTypeUtils.typeToStringType = function (mimeType) {
        var str = MimeTypeUtils.typeToStringTypeMap[mimeType];
        return str !== null && str !== void 0 ? str : '';
    };
    MimeTypeUtils.stringTypeToType = function (mimeTypeAsStr) {
        var mimeType = MimeTypeUtils.stringTypeToTypeMap[mimeTypeAsStr];
        return mimeType === undefined ? DxMimeType.Unknown : mimeType;
    };
    MimeTypeUtils.stringTypeToTypeMap = (_a = {},
        _a[exports.OpenXmlMimeType] = DxMimeType.OpenXml,
        _a[exports.RtfMimeType] = DxMimeType.Rtf,
        _a[exports.PlainTextMimeType] = DxMimeType.PlainText,
        _a[exports.DocmMimeType] = DxMimeType.Docm,
        _a[exports.HtmlMimeType] = DxMimeType.Html,
        _a[exports.ImagePngMimeType] = DxMimeType.Png,
        _a[exports.ImageGifMimeType] = DxMimeType.Gif,
        _a[exports.ImageJpegMimeType] = DxMimeType.Jpeg,
        _a[exports.ImagePjpegMimeType] = DxMimeType.Pjpeg,
        _a[exports.ImageSvgMimeType] = DxMimeType.Svg,
        _a[exports.ImageTiffMimeType] = DxMimeType.Tiff,
        _a[exports.ImageIcoMimeType] = DxMimeType.Ico,
        _a[exports.ImageWbmpMimeType] = DxMimeType.Wbmp,
        _a[exports.ImageWebpMimeType] = DxMimeType.Webp,
        _a);
    MimeTypeUtils.typeToStringTypeMap = (_b = {},
        _b[DxMimeType.Unknown] = undefined,
        _b[DxMimeType.OpenXml] = exports.OpenXmlMimeType,
        _b[DxMimeType.Rtf] = exports.RtfMimeType,
        _b[DxMimeType.PlainText] = exports.PlainTextMimeType,
        _b[DxMimeType.Docm] = exports.DocmMimeType,
        _b[DxMimeType.Html] = exports.HtmlMimeType,
        _b[DxMimeType.Png] = exports.ImagePngMimeType,
        _b[DxMimeType.Gif] = exports.ImageGifMimeType,
        _b[DxMimeType.Jpeg] = exports.ImageJpegMimeType,
        _b[DxMimeType.Pjpeg] = exports.ImagePjpegMimeType,
        _b[DxMimeType.Svg] = exports.ImageSvgMimeType,
        _b[DxMimeType.Tiff] = exports.ImageTiffMimeType,
        _b[DxMimeType.Ico] = exports.ImageIcoMimeType,
        _b[DxMimeType.Wbmp] = exports.ImageWbmpMimeType,
        _b[DxMimeType.Webp] = exports.ImageWebpMimeType,
        _b);
    MimeTypeUtils.typeToExtensionMap = (_c = {},
        _c[DxMimeType.Unknown] = undefined,
        _c[DxMimeType.OpenXml] = '.docx',
        _c[DxMimeType.Rtf] = '.rtf',
        _c[DxMimeType.PlainText] = '.txt',
        _c[DxMimeType.Docm] = '.docm',
        _c[DxMimeType.Html] = '.html',
        _c[DxMimeType.Png] = '.png',
        _c[DxMimeType.Gif] = '.gif',
        _c[DxMimeType.Jpeg] = '.jpeg',
        _c[DxMimeType.Pjpeg] = '.pjpeg',
        _c[DxMimeType.Svg] = '.svg',
        _c[DxMimeType.Tiff] = '.tiff',
        _c[DxMimeType.Ico] = '.ico',
        _c[DxMimeType.Wbmp] = '.wbmp',
        _c[DxMimeType.Webp] = '.webp',
        _c);
    MimeTypeUtils.extensionToTypeMap = {
        '.docx': DxMimeType.OpenXml,
        '.rtf': DxMimeType.Rtf,
        '.txt': DxMimeType.PlainText,
        '.docm': DxMimeType.Docm,
        '.html': DxMimeType.Html,
        '.htm': DxMimeType.Html,
        '.png': DxMimeType.Png,
        '.gif': DxMimeType.Gif,
        '.jpeg': DxMimeType.Jpeg,
        '.pjpeg': DxMimeType.Pjpeg,
        '.svg': DxMimeType.Svg,
        '.tiff': DxMimeType.Tiff,
        '.ico': DxMimeType.Ico,
        '.wbmp': DxMimeType.Wbmp,
        '.webp': DxMimeType.Webp,
    };
    return MimeTypeUtils;
}());
exports.MimeTypeUtils = MimeTypeUtils;


/***/ }),

/***/ 499:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.y = void 0;
var browser_1 = __webpack_require__(9279);
var PopupUtils = (function () {
    function PopupUtils() {
    }
    PopupUtils.preventContextMenu = function (evt) {
        evt === null || evt === void 0 ? void 0 : evt.stopPropagation();
        evt === null || evt === void 0 ? void 0 : evt.preventDefault();
        if (browser_1.Browser.WebKitFamily)
            evt.returnValue = false;
    };
    return PopupUtils;
}());
exports.y = PopupUtils;


/***/ }),

/***/ 2400:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.SearchUtils = void 0;
var SearchUtils = (function () {
    function SearchUtils() {
    }
    SearchUtils.binaryIndexOf = function (array, comparer, minIndex, maxIndex) {
        if (minIndex === void 0) { minIndex = 0; }
        if (maxIndex === void 0) { maxIndex = -2; }
        var findFromZeroPosition = minIndex === 0;
        if (maxIndex === -2)
            maxIndex = array.length - 1;
        while (minIndex <= maxIndex) {
            var currentIndex = (minIndex + ((maxIndex - minIndex) >> 1));
            var compare = comparer(array[currentIndex]);
            if (compare < 0)
                minIndex = currentIndex + 1;
            else if (compare > 0)
                maxIndex = currentIndex - 1;
            else
                return currentIndex;
        }
        return findFromZeroPosition ? ~minIndex : -1;
    };
    SearchUtils.normedBinaryIndexOf = function (array, comparer, minIndex, maxIndex) {
        if (minIndex === void 0) { minIndex = 0; }
        if (maxIndex === void 0) { maxIndex = -2; }
        var index = SearchUtils.binaryIndexOf(array, comparer, minIndex, maxIndex);
        return SearchUtils.binaryIndexNormalizator(index);
    };
    SearchUtils.binaryIndexNormalizator = function (index) {
        return index < 0 ? ~index - 1 : index;
    };
    SearchUtils.normedInterpolationIndexOf = function (array, getValue, toFind, lowIndex, highIndex) {
        if (lowIndex === void 0) { lowIndex = 0; }
        if (highIndex === void 0) { highIndex = -2; }
        if (highIndex === -2)
            highIndex = array.length - 1;
        var firstObject = array[Math.min(lowIndex, highIndex)];
        if (firstObject === undefined || toFind < getValue(firstObject))
            return -1;
        var lowValue = getValue(array[lowIndex]);
        var highValue = getValue(array[highIndex]);
        while (true) {
            if (toFind > lowValue && toFind < highValue) {
                var midIndex = lowIndex + Math.floor(((toFind - lowValue) * (highIndex - lowIndex)) / (highValue - lowValue));
                var midValue = getValue(array[midIndex]);
                if (toFind > midValue) {
                    lowIndex = midIndex + 1;
                    lowValue = getValue(array[lowIndex]);
                    if (toFind < lowValue)
                        return midIndex;
                }
                else if (toFind < midValue) {
                    highIndex = midIndex - 1;
                    highValue = getValue(array[highIndex]);
                }
                else
                    return midIndex;
            }
            else
                return toFind === lowValue ? lowIndex : highIndex;
        }
    };
    return SearchUtils;
}());
exports.SearchUtils = SearchUtils;


/***/ }),

/***/ 49:
/***/ (function(__unused_webpack_module, exports) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.StringUtils = void 0;
var StringUtils = (function () {
    function StringUtils() {
    }
    StringUtils.isAlpha = function (ch) {
        return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');
    };
    StringUtils.isDigit = function (ch) {
        return ch >= '0' && ch <= '9';
    };
    StringUtils.stringHashCode = function (str) {
        var hash = 0;
        if (str.length === 0)
            return hash;
        var strLen = str.length;
        for (var i = 0; i < strLen; i++) {
            hash = ((hash << 5) - hash) + str.charCodeAt(i);
            hash |= 0;
        }
        return hash;
    };
    StringUtils.endsAt = function (str, template) {
        var strInd = str.length - 1;
        var tmplInd = template.length - 1;
        var strStartInd = strInd - tmplInd;
        if (strStartInd < 0)
            return false;
        for (; strInd >= strStartInd; strInd--, tmplInd--) {
            if (str[strInd] !== template[tmplInd])
                return false;
        }
        return true;
    };
    StringUtils.startsAt = function (str, template) {
        return str.substr(0, template.length) === template;
    };
    StringUtils.stringInLowerCase = function (str) {
        return str.toLowerCase() === str;
    };
    StringUtils.stringInUpperCase = function (str) {
        return str.toUpperCase() === str;
    };
    StringUtils.atLeastOneSymbolInUpperCase = function (str) {
        for (var i = 0, char = void 0; char = str[i]; i++) {
            if (StringUtils.stringInUpperCase(char) && !StringUtils.stringInLowerCase(char))
                return true;
        }
        return false;
    };
    StringUtils.getSymbolFromEnd = function (text, posFromEnd) {
        return text[text.length - posFromEnd];
    };
    StringUtils.trim = function (str, trimChars) {
        if (trimChars === undefined)
            return StringUtils.trimInternal(str, true, true);
        else {
            var joinedChars = trimChars.join('');
            return str.replace(new RegExp("(^[" + joinedChars + "]*)|([" + joinedChars + "]*$)", 'g'), '');
        }
    };
    StringUtils.trimStart = function (str, trimChars) {
        if (trimChars === undefined)
            return StringUtils.trimInternal(str, true, false);
        else {
            var joinedChars = trimChars.join('');
            return str.replace(new RegExp("^[" + joinedChars + "]*", 'g'), '');
        }
    };
    StringUtils.trimEnd = function (str, trimChars) {
        if (trimChars === undefined)
            return StringUtils.trimInternal(str, false, true);
        else {
            var joinedChars = trimChars.join('');
            return str.replace(new RegExp("[" + joinedChars + "]*$", 'g'), '');
        }
    };
    StringUtils.getDecimalSeparator = function () {
        return (1.1).toLocaleString().substr(1, 1);
    };
    StringUtils.repeat = function (str, count) {
        return new Array(count <= 0 ? 0 : count + 1).join(str);
    };
    StringUtils.isNullOrEmpty = function (str) {
        return !str || !str.length;
    };
    StringUtils.padLeft = function (str, totalWidth, paddingChar) {
        return StringUtils.repeat(paddingChar, Math.max(0, totalWidth - str.length)) + str;
    };
    StringUtils.trimInternal = function (source, trimStart, trimEnd) {
        var len = source.length;
        if (!len)
            return source;
        if (len < 0xBABA1) {
            var result = source;
            if (trimStart)
                result = result.replace(/^\s+/, '');
            if (trimEnd)
                result = result.replace(/\s+$/, '');
            return result;
        }
        else {
            var start = 0;
            if (trimEnd) {
                while (len > 0 && /\s/.test(source[len - 1]))
                    len--;
            }
            if (trimStart && len > 0) {
                while (start < len && /\s/.test(source[start]))
                    start++;
            }
            return source.substring(start, len);
        }
    };
    return StringUtils;
}());
exports.StringUtils = StringUtils;


/***/ }),

/***/ 1632:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {


Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.TouchUtils = void 0;
var browser_1 = __webpack_require__(9279);
var common_1 = __webpack_require__(2491);
var TouchUtils = (function () {
    function TouchUtils() {
    }
    TouchUtils.onEventAttachingToDocument = function (eventName, func) {
        if (browser_1.Browser.MacOSMobilePlatform && TouchUtils.isTouchEventName(eventName)) {
            if (!TouchUtils.documentTouchHandlers[eventName])
                TouchUtils.documentTouchHandlers[eventName] = [];
            TouchUtils.documentTouchHandlers[eventName].push(func);
            return TouchUtils.documentEventAttachingAllowed;
        }
        return true;
    };
    TouchUtils.isTouchEventName = function (eventName) {
        return browser_1.Browser.WebKitTouchUI && (eventName.indexOf('touch') > -1 || eventName.indexOf('gesture') > -1);
    };
    TouchUtils.isTouchEvent = function (evt) {
        return browser_1.Browser.WebKitTouchUI && common_1.isDefined(evt.changedTouches);
    };
    TouchUtils.getEventX = function (evt) {
        return browser_1.Browser.IE ? evt.pageX : evt.changedTouches[0].pageX;
    };
    TouchUtils.getEventY = function (evt) {
        return browser_1.Browser.IE ? evt.pageY : evt.changedTouches[0].pageY;
    };
    TouchUtils.touchMouseDownEventName = browser_1.Browser.WebKitTouchUI ? 'touchstart' : (browser_1.Browser.Edge && browser_1.Browser.MSTouchUI && window.PointerEvent ? 'pointerdown' : 'mousedown');
    TouchUtils.touchMouseUpEventName = browser_1.Browser.WebKitTouchUI ? 'touchend' : (browser_1.Browser.Edge && browser_1.Browser.MSTouchUI && window.PointerEvent ? 'pointerup' : 'mouseup');
    TouchUtils.touchMouseMoveEventName = browser_1.Browser.WebKitTouchUI ? 'touchmove' : (browser_1.Browser.Edge && browser_1.Browser.MSTouchUI && window.PointerEvent ? 'pointermove' : 'mousemove');
    TouchUtils.msTouchDraggableClassName = 'dxMSTouchDraggable';
    TouchUtils.documentTouchHandlers = {};
    TouchUtils.documentEventAttachingAllowed = true;
    return TouchUtils;
}());
exports.TouchUtils = TouchUtils;


/***/ }),

/***/ 6795:
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {

var __webpack_unused_export__;

__webpack_unused_export__ = ({ value: true });
exports.R = void 0;
var browser_1 = __webpack_require__(9279);
var common_1 = __webpack_require__(2491);
var string_1 = __webpack_require__(49);
var javascriptPrefix = 'javascript:';
var Url = (function () {
    function Url() {
    }
    Url.containsClientScript = function (url) {
        return url.toLowerCase().indexOf(javascriptPrefix) !== -1;
    };
    Url.navigate = function (url, target) {
        if (string_1.StringUtils.isNullOrEmpty(url))
            return;
        else if (Url.containsClientScript(url))
            eval(url.substr(javascriptPrefix.length));
        else {
            try {
                if (common_1.isNonNullString(target))
                    Url.navigateTo(url, target);
                else
                    location.href = url;
            }
            catch (e) {
            }
        }
    };
    Url.navigateTo = function (url, target) {
        var lowerCaseTarget = target.toLowerCase();
        if ('_top' === lowerCaseTarget)
            top.location.href = url;
        else if ('_self' === lowerCaseTarget)
            location.href = url;
        else if ('_search' === lowerCaseTarget)
            Url.openInNewWindow(url);
        else if ('_media' === lowerCaseTarget)
            Url.openInNewWindow(url);
        else if ('_parent' === lowerCaseTarget)
            window.parent.location.href = url;
        else if ('_blank' === lowerCaseTarget)
            Url.openInNewWindow(url);
        else {
            var frame = Url.getFrame(top.frames, target);
            if (frame !== null)
                frame.location.href = url;
            else
                Url.openInNewWindow(url);
        }
    };
    Url.openInNewWindow = function (url) {
        if (browser_1.Browser.Safari)
            Url.openInNewWindowViaIframe(url);
        else {
            var newWindow = window.open();
            if (newWindow) {
                newWindow.opener = null;
                newWindow.location.assign(url);
            }
        }
    };
    Url.openInNewWindowViaIframe = function (url) {
        var iframe = document.createElement('iframe');
        iframe.style.display = 'none';
        document.body.appendChild(iframe);
        var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
        var openArgs = '"' + url + '"';
        var script = iframeDoc.createElement('script');
        script.type = 'text/javascript';
        script.text = 'window.parent = null; ' +
            'window.top = null;' +
            'window.frameElement = null;' +
            'var child = window.open(' + openArgs + ');' +
            'child.opener = null';
        iframeDoc.body.appendChild(script);
        document.body.removeChild(iframe);
    };
    Url.getFrame = function (frames, name) {
        if (frames[name])
            return frames[name];
        for (var i = 0; i < frames.length; i++) {
            try {
                var frame = frames[i];
                if (frame.name === name)
                    return frame;
                frame = Url.getFrame(frame.frames, name);
                if (frame !== null)
                    return frame;
            }
            catch (e) {
            }
        }
        return null;
    };
    return Url;
}());
exports.R = Url;


/***/ }),

/***/ 2020:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   __assign: function() { return /* binding */ __assign; },
/* harmony export */   __asyncDelegator: function() { return /* binding */ __asyncDelegator; },
/* harmony export */   __asyncGenerator: function() { return /* binding */ __asyncGenerator; },
/* harmony export */   __asyncValues: function() { return /* binding */ __asyncValues; },
/* harmony export */   __await: function() { return /* binding */ __await; },
/* harmony export */   __awaiter: function() { return /* binding */ __awaiter; },
/* harmony export */   __classPrivateFieldGet: function() { return /* binding */ __classPrivateFieldGet; },
/* harmony export */   __classPrivateFieldSet: function() { return /* binding */ __classPrivateFieldSet; },
/* harmony export */   __createBinding: function() { return /* binding */ __createBinding; },
/* harmony export */   __decorate: function() { return /* binding */ __decorate; },
/* harmony export */   __exportStar: function() { return /* binding */ __exportStar; },
/* harmony export */   __extends: function() { return /* binding */ __extends; },
/* harmony export */   __generator: function() { return /* binding */ __generator; },
/* harmony export */   __importDefault: function() { return /* binding */ __importDefault; },
/* harmony export */   __importStar: function() { return /* binding */ __importStar; },
/* harmony export */   __makeTemplateObject: function() { return /* binding */ __makeTemplateObject; },
/* harmony export */   __metadata: function() { return /* binding */ __metadata; },
/* harmony export */   __param: function() { return /* binding */ __param; },
/* harmony export */   __read: function() { return /* binding */ __read; },
/* harmony export */   __rest: function() { return /* binding */ __rest; },
/* harmony export */   __spread: function() { return /* binding */ __spread; },
/* harmony export */   __spreadArray: function() { return /* binding */ __spreadArray; },
/* harmony export */   __spreadArrays: function() { return /* binding */ __spreadArrays; },
/* harmony export */   __values: function() { return /* binding */ __values; }
/* harmony export */ });
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise */

var extendStatics = function(d, b) {
    extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
    return extendStatics(d, b);
};

function __extends(d, b) {
    if (typeof b !== "function" && b !== null)
        throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
    extendStatics(d, b);
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

var __assign = function() {
    __assign = Object.assign || function __assign(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
        return t;
    }
    return __assign.apply(this, arguments);
}

function __rest(s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
}

function __decorate(decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
}

function __param(paramIndex, decorator) {
    return function (target, key) { decorator(target, key, paramIndex); }
}

function __metadata(metadataKey, metadataValue) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}

function __awaiter(thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
}

function __generator(thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
}

var __createBinding = Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
});

function __exportStar(m, o) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
}

function __values(o) {
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
    if (m) return m.call(o);
    if (o && typeof o.length === "number") return {
        next: function () {
            if (o && i >= o.length) o = void 0;
            return { value: o && o[i++], done: !o };
        }
    };
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}

function __read(o, n) {
    var m = typeof Symbol === "function" && o[Symbol.iterator];
    if (!m) return o;
    var i = m.call(o), r, ar = [], e;
    try {
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
    }
    catch (error) { e = { error: error }; }
    finally {
        try {
            if (r && !r.done && (m = i["return"])) m.call(i);
        }
        finally { if (e) throw e.error; }
    }
    return ar;
}

/** @deprecated */
function __spread() {
    for (var ar = [], i = 0; i < arguments.length; i++)
        ar = ar.concat(__read(arguments[i]));
    return ar;
}

/** @deprecated */
function __spreadArrays() {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
}

function __spreadArray(to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
}

function __await(v) {
    return this instanceof __await ? (this.v = v, this) : new __await(v);
}

function __asyncGenerator(thisArg, _arguments, generator) {
    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
    var g = generator.apply(thisArg, _arguments || []), i, q = [];
    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
    function fulfill(value) { resume("next", value); }
    function reject(value) { resume("throw", value); }
    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
}

function __asyncDelegator(o) {
    var i, p;
    return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
}

function __asyncValues(o) {
    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
    var m = o[Symbol.asyncIterator], i;
    return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
}

function __makeTemplateObject(cooked, raw) {
    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
    return cooked;
};

var __setModuleDefault = Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
};

function __importStar(mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
}

function __importDefault(mod) {
    return (mod && mod.__esModule) ? mod : { default: mod };
}

function __classPrivateFieldGet(receiver, state, kind, f) {
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}

function __classPrivateFieldSet(receiver, state, value, kind, f) {
    if (kind === "m") throw new TypeError("Private method is not writable");
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
}


/***/ }),

/***/ 6785:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FR: function() { return /* binding */ ApiUtils; },
/* harmony export */   Il: function() { return /* binding */ ApiParameterDescriptor; },
/* harmony export */   mL: function() { return /* binding */ ApiParametersChecker; }
/* harmony export */ });
/* harmony import */ var _common_model_color_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7217);
/* harmony import */ var _common_model_model_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7747);
/* harmony import */ var _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8785);
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2866);
/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2751);
/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5535);
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6987);










class ApiParameterDescriptor {
    constructor(parameterName, parameterType, typeAssertion, getResult) {
        this.parameterName = parameterName;
        this.parameterType = parameterType;
        this.typeAssertion = typeAssertion;
        this.getResult = getResult;
    }
    getStringRepresentation(canBeUndefined) {
        return `${this.parameterName}: ${this.parameterType}${canBeUndefined ? '|undefined' : ''}`;
    }
}
class ApiParametersChecker {
    static check(value, parameterIndex, canBeUndefined, pairs) {
        for (const pair of pairs) {
            if (pair.typeAssertion(value))
                return pair.getResult(value);
        }
        if (canBeUndefined && (value === undefined || value === null))
            return undefined;
        ApiParametersChecker.showErrorString(parameterIndex, canBeUndefined, pairs);
    }
    static showErrorString(parameterIndex, canBeUndefined, pairs) {
        const pairStringRepresentation = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__.ListUtils.map(pairs, (pair) => pair.getStringRepresentation(canBeUndefined));
        let parameterIndexAsString;
        switch (parameterIndex) {
            case 1:
                parameterIndexAsString = 'First';
                break;
            case 2:
                parameterIndexAsString = 'Second';
                break;
            case 3:
                parameterIndexAsString = 'Third';
                break;
            case 4:
                parameterIndexAsString = 'Fourth';
                break;
            case 5:
                parameterIndexAsString = 'Fifth';
                break;
            case 6:
                parameterIndexAsString = 'Sixth';
                break;
            case 7:
                parameterIndexAsString = 'Seventh';
                break;
            case 8:
                parameterIndexAsString = 'Eighth';
                break;
            case 9:
                parameterIndexAsString = 'Ninth';
                break;
            case 10:
                parameterIndexAsString = 'Tenth';
                break;
            default:
                parameterIndexAsString = 'One of the last';
                break;
        }
        throw new Error(`${parameterIndexAsString} parameter must be one of [${pairStringRepresentation.join(', ')}]`);
    }
    static defaultDescriptor(getResult) {
        return new ApiParameterDescriptor('', '', () => true, getResult);
    }
    static numberDescriptor(parameterName, getResult, minBound = _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_2__.Constants.MIN_SAFE_INTEGER, maxBound = _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_2__.Constants.MAX_SAFE_INTEGER) {
        return new ApiParameterDescriptor(parameterName, `number on interval [${minBound}, ${maxBound}]`, (value) => (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.isNumber)(value) && (value >= minBound && value < maxBound), getResult);
    }
    static booleanDescriptor(parameterName, getResult) {
        return new ApiParameterDescriptor(parameterName, 'boolean', (value) => typeof value === 'boolean', getResult);
    }
    static arrayDescriptor(parameterName, getResult) {
        return new ApiParameterDescriptor(parameterName, 'array', (value) => value instanceof Array, getResult);
    }
    static functionDescriptor(parameterName, getResult) {
        return new ApiParameterDescriptor(parameterName, 'function', (value) => typeof value === 'function', getResult);
    }
    static stringDescriptor(parameterName, getResult, canBeEmpty) {
        return new ApiParameterDescriptor(parameterName, 'string', (value) => (typeof value === 'string') && (canBeEmpty || !!value.length), getResult);
    }
    static stringDescriptorPredefined(parameterName, map, canBeEmpty) {
        return new ApiParameterDescriptor(parameterName, `string of constants(${_devexpress_utils_lib_utils_map_string__WEBPACK_IMPORTED_MODULE_6__.StringMapUtils.toList(_devexpress_utils_lib_utils_map_string__WEBPACK_IMPORTED_MODULE_6__.StringMapUtils.map(map, (_e, key) => `"${key}"`)).join(', ')})`, (value) => (typeof value === 'string') && (canBeEmpty || !!value.length) && map[value] !== undefined, (val) => map[val]);
    }
    static regExpDescriptor(parameterName, getResult) {
        return new ApiParameterDescriptor(parameterName, 'RegExp', (value) => (typeof value === 'object'), getResult);
    }
    static intervalDescriptor(parameterName, getResult, minBound = _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_2__.Constants.MIN_SAFE_INTEGER, maxBound = _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_2__.Constants.MAX_SAFE_INTEGER) {
        return new ApiParameterDescriptor(parameterName, `ASPx.Interval on interval [${minBound}, ${maxBound})`, (value) => (value instanceof _selection__WEBPACK_IMPORTED_MODULE_7__/* .Interval */ .X) && value.start >= minBound && value.start + value.length <= maxBound, getResult);
    }
    static intervalsDescriptor(parameterName, getResult, minBound, maxBound) {
        return new ApiParameterDescriptor(parameterName, `ASPx.Interval[] on interval [${minBound}, ${maxBound})`, (intervals) => Array.isArray(intervals) && _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__.ListUtils.allOf(intervals, (interval) => (interval instanceof _selection__WEBPACK_IMPORTED_MODULE_7__/* .Interval */ .X) && interval.start >= minBound && interval.start + interval.length <= maxBound), getResult);
    }
    static enumDescriptor(parameterName, getResult, enumTypeObj, enumTypeName) {
        return new ApiParameterDescriptor(parameterName, enumTypeName, (value) => enumTypeObj[value] !== undefined, getResult);
    }
    static objectDescriptor(parameterName, objectTypeAsString, getResult) {
        return new ApiParameterDescriptor(parameterName, objectTypeAsString, (value) => typeof value === 'object', getResult);
    }
    static colorDescriptors(parameterName) {
        return [
            new ApiParameterDescriptor(parameterName, `"Auto"`, (value) => typeof value === 'string' && value.toLowerCase() == 'auto', (_value) => _common_model_color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.AUTOMATIC_COLOR),
            new ApiParameterDescriptor(parameterName, `"NoColor"`, (value) => typeof value === 'string' && value.toLowerCase() == 'nocolor', (_value) => _common_model_color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.NO_COLOR),
            new ApiParameterDescriptor(parameterName, 'KnownColorName(darkblue, darkcyan, etc)', (value) => typeof value === 'string' && _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.isKnownColorName(value), (value) => _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.fromColorName(value)),
            new ApiParameterDescriptor(parameterName, 'HEX(#354843)|RGB(A)(0%, 0%, 0%);', (value) => {
                if (typeof value !== 'string')
                    return false;
                const val = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.fromString(value.toLowerCase());
                return val !== null && val != undefined;
            }, (value) => _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.fromString(value.toLowerCase()))
        ];
    }
    static subDocumentById(subDocumentId, parameterIndex, canBeUndefined, core, isShowErrorIfIdNotFound) {
        const pairs = [ApiParametersChecker.numberDescriptor('subDocumentId', (id) => core.modelManager.model.subDocuments[id])];
        const subDocument = ApiParametersChecker.check(subDocumentId, parameterIndex, canBeUndefined, pairs);
        if (subDocument)
            return subDocument;
        if (subDocumentId === undefined)
            return core.selection.activeSubDocument;
        if (isShowErrorIfIdNotFound)
            ApiParametersChecker.showErrorString(parameterIndex, canBeUndefined, pairs);
        return null;
    }
}
class ApiUtils {
    static makeInterval(from) {
        return new _selection__WEBPACK_IMPORTED_MODULE_7__/* .Interval */ .X(from.start, from.length);
    }
    static getAllRunsByFullSearch(sd, callback) {
        const it = new _common_model_model_iterator__WEBPACK_IMPORTED_MODULE_1__/* .ModelIterator */ .w(sd, false);
        it.setPosition(0);
        do {
            if (callback(it))
                return it;
        } while (it.moveToNextRun());
        return null;
    }
    static internalColorToApiColor(color) {
        if (color === undefined)
            return undefined;
        if (color === _common_model_color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.AUTOMATIC_COLOR)
            return 'Auto';
        if (color === _common_model_color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.NO_COLOR)
            return 'NoColor';
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.colorToHash(color).toUpperCase();
    }
    static assertObject(value, parameter) {
        if (typeof value !== 'object')
            throw new Error(parameter + ' must be object');
    }
    static assertBoolean(value, parameter) {
        if (typeof value !== 'boolean')
            throw new Error(parameter + ' must be boolean or undefined');
    }
    static assertArray(value, parameter) {
        if (!(value instanceof Array))
            throw new Error(parameter + ' must be array or undefined');
    }
    static assertNumber(value, parameter) {
        if (!(0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.isNumber)(value))
            throw new Error(parameter + ' must be number or undefined');
    }
    static assertNonNegativeNumber(value, parameter) {
        ApiUtils.assertNumber(value, parameter);
        if (value < 0)
            throw new Error(parameter + ' must be non-negative');
    }
    static assertNumberByBounds(value, minValue, maxValue, parameter) {
        ApiUtils.assertNumber(value, parameter);
        if (value < minValue || value > maxValue)
            throw new Error(`${parameter} must be between ${minValue} and ${maxValue}`);
    }
    static assertPositiveNumber(value, parameter) {
        ApiUtils.assertNumber(value, parameter);
        if (value <= 0)
            throw new Error(parameter + ' must be positive');
    }
    static assertFunction(value, parameter) {
        if (typeof value !== 'function')
            throw new Error(parameter + ' must be function');
    }
    static assertString(value, notEmpty, parameter) {
        if (typeof value !== 'string')
            throw new Error(parameter + ' must be string or undefined');
        if (notEmpty && !value)
            throw new Error(parameter + ' must be non-empty or undefined');
    }
    static assertAndConvertColor(value, allowNull, parameter) {
        const typeMessage = `${parameter} must be string${allowNull ? ' or null' : ''}`;
        if (value === undefined)
            throw new Error(typeMessage);
        if (value === null || value === '') {
            if (allowNull)
                return null;
            throw new Error(typeMessage);
        }
        if (typeof value !== 'string')
            throw new Error(typeMessage);
        if (_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.colorNames[value])
            value = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.colorNames[value];
        else if (value.length !== 4 && value.length !== 7 && value.charAt(0) != '#')
            throw new Error(parameter + ' must be hash code or a known color');
        if (value.toLocaleLowerCase() === 'auto')
            return null;
        const color = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorUtils */ .i.fromString(value);
        if (color === null)
            throw new Error(`${parameter} is unknown color (${value})`);
        return color;
    }
    static assertFile(value, parameter) {
        if (typeof value === 'string') {
            if (value.length > 0)
                return;
        }
        throw new Error(parameter + ' must be non-empty string or File');
    }
    static assertEnum(value, enumType, enumTypeName, parameter) {
        if (enumType[value] === undefined)
            throw new Error(parameter + ' must be ' + enumTypeName);
    }
    static isNullOrEmptyString(value) {
        return value === null || value === '';
    }
    static createSimpleState(state) {
        return new _states__WEBPACK_IMPORTED_MODULE_9__/* .SimpleCommandState */ .m(state.visible, state.enabled && state.visible);
    }
    static createState(state) {
        return new _states__WEBPACK_IMPORTED_MODULE_9__/* .CommandState */ .J(state.visible, state.enabled && state.visible, state.value);
    }
    static createStateWithValue(state, value) {
        return new _states__WEBPACK_IMPORTED_MODULE_9__/* .CommandState */ .J(state.visible, state.enabled && state.visible, value);
    }
    static createParagraphStyle(style, existedStyles) {
        return existedStyles.filter((s) => s.name === style.styleName && s instanceof _styles__WEBPACK_IMPORTED_MODULE_8__/* .ParagraphStyle */ .PO)[0] ||
            new _styles__WEBPACK_IMPORTED_MODULE_8__/* .ParagraphStyle */ .PO(style, existedStyles);
    }
    static createCharacterStyle(style, existedStyles) {
        return existedStyles.filter((s) => s.name === style.styleName && s instanceof _styles__WEBPACK_IMPORTED_MODULE_8__/* .CharacterStyle */ .H2)[0] ||
            new _styles__WEBPACK_IMPORTED_MODULE_8__/* .CharacterStyle */ .H2(style, existedStyles);
    }
    static createTableStyle(style, existedStyles) {
        return existedStyles.filter((s) => s.name === style.styleName && s instanceof _styles__WEBPACK_IMPORTED_MODULE_8__/* .TableStyle */ .kA)[0] ||
            new _styles__WEBPACK_IMPORTED_MODULE_8__/* .TableStyle */ .kA(style, existedStyles);
    }
}


/***/ }),

/***/ 3468:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Cm: function() { return /* binding */ CommandDialogBase; },
/* harmony export */   Vt: function() { return /* binding */ CommandWithSimpleStateDialogBase; },
/* harmony export */   eK: function() { return /* binding */ CommandBase; },
/* harmony export */   lO: function() { return /* binding */ CommandWithBooleanStateBase; },
/* harmony export */   p8: function() { return /* binding */ CommandWithSimpleStateBase; }
/* harmony export */ });
class CommandBase {
    constructor(core) {
        this._hasValue = false;
        this._core = core;
    }
    get coreCommand() {
        return this._core.commandManager.getCommand(this._coreCommandId);
    }
    get coreState() {
        return this.coreCommand.getState();
    }
}
class CommandDialogBase extends CommandBase {
    applyParameters(initParameters, newParameters, command) {
        if (!command)
            command = this.coreCommand;
        this._core.beginUpdate();
        const result = command.applyParameters(this.coreState, newParameters, initParameters);
        this._core.endUpdate();
        return result;
    }
}
class CommandWithSimpleStateBase extends CommandBase {
}
class CommandWithSimpleStateDialogBase extends CommandDialogBase {
}
class CommandWithBooleanStateBase extends CommandBase {
}


/***/ }),

/***/ 6170:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AG: function() { return /* binding */ CreateTimeFieldCommand; },
/* harmony export */   B: function() { return /* binding */ InsertEquationsCaptionCommand; },
/* harmony export */   EE: function() { return /* binding */ ShowMergedDataCommand; },
/* harmony export */   Ew: function() { return /* binding */ MergeFieldDialogCommand; },
/* harmony export */   FI: function() { return /* binding */ GoToLastDataRecordCommand; },
/* harmony export */   GM: function() { return /* binding */ CreatePageCountFieldCommand; },
/* harmony export */   J1: function() { return /* binding */ MailMergeDialogCommand; },
/* harmony export */   J9: function() { return /* binding */ ShowAllFieldCodesCommand; },
/* harmony export */   Mw: function() { return /* binding */ InsertTableOfTablesCommand; },
/* harmony export */   OS: function() { return /* binding */ GoToPreviousDataRecordCommand; },
/* harmony export */   QW: function() { return /* binding */ InsertFiguresCaptionCommand; },
/* harmony export */   Tx: function() { return /* binding */ UpdateTableOfContentsCommand; },
/* harmony export */   Vd: function() { return /* binding */ UpdateAllFieldsCommand; },
/* harmony export */   Wh: function() { return /* binding */ MailMergeAndSaveAsCommand; },
/* harmony export */   _o: function() { return /* binding */ CreateFieldCommand; },
/* harmony export */   ay: function() { return /* binding */ InsertTableOfContentsCommand; },
/* harmony export */   b0: function() { return /* binding */ MailMergeSettings; },
/* harmony export */   cq: function() { return /* binding */ GoToNextDataRecordCommand; },
/* harmony export */   dK: function() { return /* binding */ MailMergeAndDownloadCommand; },
/* harmony export */   f3: function() { return /* binding */ GoToDataRecordCommand; },
/* harmony export */   jm: function() { return /* binding */ ShowFieldCodesCommand; },
/* harmony export */   kN: function() { return /* binding */ InsertTablesCaptionCommand; },
/* harmony export */   nr: function() { return /* binding */ CreatePageFieldCommand; },
/* harmony export */   qV: function() { return /* binding */ InsertTableOfFiguresCommand; },
/* harmony export */   sF: function() { return /* binding */ MailMergeExportRange; },
/* harmony export */   sI: function() { return /* binding */ CreateMergeFieldCommand; },
/* harmony export */   t: function() { return /* binding */ InsertTableOfEquationsCommand; },
/* harmony export */   tv: function() { return /* binding */ GoToFirstDataRecordCommand; },
/* harmony export */   uE: function() { return /* binding */ MergeMode; },
/* harmony export */   vw: function() { return /* binding */ CreateDateFieldCommand; },
/* harmony export */   yI: function() { return /* binding */ UpdateFieldCommand; }
/* harmony export */ });
/* unused harmony export DataRecordOptions */
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);
/* harmony import */ var _common_commands_fields_update_field_command__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1849);
/* harmony import */ var _common_formats_file_name_helper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(611);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3468);
/* harmony import */ var _document__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1835);
/* harmony import */ var _document_formats__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(752);








class CreateFieldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateField;
    }
    execute(code) {
        code = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(code, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.stringDescriptor('code', (val) => val, true)
        ]);
        return code ?
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateFieldWithCode).execute(true, code) :
            this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class UpdateFieldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.UpdateField;
    }
    execute(callback) {
        callback = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(callback, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.functionDescriptor('callback', (val) => val)
        ]);
        return this.coreCommand.execute(true, new _common_commands_fields_update_field_command__WEBPACK_IMPORTED_MODULE_2__/* .UpdateFieldCommandParameters */ .j(this._core.selection.activeSubDocument, this._core.selection.intervals, callback));
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ShowFieldCodesCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleFieldCodes;
    }
    execute(showFieldCodes) {
        const arg = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(showFieldCodes, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.booleanDescriptor('showFieldCodes', (val) => val)
        ]);
        return this.coreCommand.execute(true, arg);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ShowAllFieldCodesCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleAllFields;
    }
    execute(showFieldCodes) {
        showFieldCodes = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(showFieldCodes, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.booleanDescriptor('showFieldCodes', (val) => val)
        ]);
        if (showFieldCodes === undefined)
            return this.coreCommand.execute(true);
        return this._core.commandManager.getCommand(showFieldCodes ?
            _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowAllFieldCodes :
            _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowAllFieldResults).execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class UpdateAllFieldsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.UpdateAllFields;
    }
    execute(callback) {
        callback = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(callback, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.functionDescriptor('callback', (val) => val)
        ]);
        return this.coreCommand.execute(true, callback);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class CreateDateFieldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateDateField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class CreateTimeFieldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateTimeField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class CreatePageFieldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreatePageField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertFiguresCaptionCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateFigureCaptionField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTablesCaptionCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateTableCaptionField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertEquationsCaptionCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateEquationCaptionField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableOfFiguresCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateTableOfFiguresField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableOfTablesCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateTableOfTablesField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableOfEquationsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateTableOfEquationsField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableOfContentsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateTocField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class UpdateTableOfContentsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.UpdateTableOfContents;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToDataRecordCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.GoToDataRecord;
    }
    execute(activeRecordIndex) {
        activeRecordIndex = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(activeRecordIndex, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.numberDescriptor('activeRecordIndex', (val) => val, 0)
        ]);
        return this.coreCommand.execute(true, activeRecordIndex);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, {
            activeRecordIndex: this._core.modelManager.richOptions.mailMerge.activeRecordIndex,
            recordCount: this._core.modelManager.richOptions.mailMerge.recordCount
        });
    }
}
class DataRecordOptions {
}
class GoToFirstDataRecordCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.GoToFirstDataRecord;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToPreviousDataRecordCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.GoToPreviousDataRecord;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToNextDataRecordCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.GoToNextDataRecord;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToLastDataRecordCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.GoToLastDataRecord;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ShowMergedDataCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleViewMergedData;
    }
    execute(showMergedData) {
        showMergedData = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(showMergedData, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.booleanDescriptor('showMergedData', (val) => val)
        ]);
        return this.coreCommand.execute(true, showMergedData);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class MergeFieldDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowInsertMergeFieldForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class CreateMergeFieldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CreateMergeField;
    }
    execute(fieldName) {
        fieldName = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(fieldName, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.stringDescriptor('fieldName', (val) => val, false)
        ]);
        return this.coreCommand.execute(true, fieldName);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class MailMergeDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowFinishAndMergeForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class MailMergeAndDownloadCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowFinishAndMergeForm;
    }
    execute(fileExtension, settings) {
        const documentFormat = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(fileExtension, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.stringDescriptor('fileExtension', (val) => _common_formats_file_name_helper__WEBPACK_IMPORTED_MODULE_3__/* .FileNameHelper */ .a.convertExtensionToDocumentFormat(val), false),
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.enumDescriptor('documentFormat', (val) => val, _document_formats__WEBPACK_IMPORTED_MODULE_6__/* .DocumentFormat */ .r, 'ASPx.DocumentFormat'),
        ]);
        if (documentFormat == _document_formats__WEBPACK_IMPORTED_MODULE_6__/* .DocumentFormat */ .r.Undefined)
            throw new Error('Unsupported document format');
        settings = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(settings, 2, true, [
            new _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParameterDescriptor */ .Il('settings', 'MailMergeSettings', (value) => value instanceof MailMergeSettings, (s) => s)
        ]);
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const mergeParameters = getMailMergeParameters(this._core, this.coreCommand, settings);
        const downloadCommand = this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowSaveMergedDocumentForm);
        const initDownloadParameters = downloadCommand.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, mergeParameters));
        const downloadParameters = initDownloadParameters.clone();
        downloadParameters.documentFormat = documentFormat;
        downloadParameters.fileSavedToServer = false;
        return this.applyParameters(initDownloadParameters, downloadParameters, downloadCommand);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const value = getMailMergeSettings(this._core, this.coreCommand);
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createStateWithValue(state, value);
    }
}
class MailMergeAndSaveAsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowFinishAndMergeForm;
    }
    execute(filePath, settings) {
        const fileInfo = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(filePath, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.stringDescriptor('filePath', (fp) => {
                const pathInfo = new _common_formats_file_name_helper__WEBPACK_IMPORTED_MODULE_3__/* .FileNameHelper */ .a(fp, false);
                pathInfo.checkExtension();
                pathInfo.checkFileName();
                return new _document__WEBPACK_IMPORTED_MODULE_5__/* .RichEditFileInfo */ .Vy(pathInfo.folderPath, pathInfo.name, pathInfo.documentFormat);
            }, false),
            new _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParameterDescriptor */ .Il('fileInfo', 'RichEditFileInfo', (val) => val instanceof _document__WEBPACK_IMPORTED_MODULE_5__/* .RichEditFileInfo */ .Vy, (fInfo) => {
                fInfo.folderPath = _common_formats_file_name_helper__WEBPACK_IMPORTED_MODULE_3__/* .FileNameHelper */ .a.normalizeVirtualFolderPath(fInfo.folderPath, true);
                return fInfo;
            })
        ]);
        settings = _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParametersChecker */ .mL.check(settings, 2, true, [
            new _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiParameterDescriptor */ .Il('settings', 'MailMergeSettings', (value) => value instanceof MailMergeSettings, (s) => s)
        ]);
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const mergeParameters = getMailMergeParameters(this._core, this.coreCommand, settings);
        const saveCommand = this._core.commandManager
            .getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowSaveMergedDocumentForm);
        const initSaveParameters = saveCommand.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, mergeParameters));
        const saveParameters = initSaveParameters.clone();
        saveParameters.fileSavedToServer = true;
        saveParameters.folderPath = fileInfo.folderPath;
        saveParameters.fileName = fileInfo.fileName;
        saveParameters.documentFormat = fileInfo.documentFormat;
        return this.applyParameters(initSaveParameters, saveParameters, saveCommand);
    }
    getState() {
        const value = getMailMergeSettings(this._core, this.coreCommand);
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class CreatePageCountFieldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_7__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertPageCountField;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
function getMailMergeParameters(core, mergeCommand, settings) {
    const mergeParameters = mergeCommand.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(core));
    if (!settings)
        return mergeParameters;
    if (settings.range !== undefined) {
        _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.assertEnum(settings.range, MailMergeExportRange, 'MailMergeExportRange', 'settings.range');
        mergeParameters.range = settings.range;
    }
    if (settings.mergeMode !== undefined) {
        _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.assertEnum(settings.mergeMode, MergeMode, 'MergeMode', 'settings.mergeMode');
        mergeParameters.mergeMode = settings.mergeMode;
    }
    if (settings.exportFrom !== undefined) {
        _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.exportFrom, 'settings.exportFrom');
        mergeParameters.exportFrom = settings.exportFrom;
    }
    if (settings.exportRecordsCount !== undefined) {
        _api_utils__WEBPACK_IMPORTED_MODULE_4__/* .ApiUtils */ .FR.assertPositiveNumber(settings.exportRecordsCount, 'settings.exportRecordsCount');
        mergeParameters.exportRecordsCount = settings.exportRecordsCount;
    }
    return mergeParameters;
}
function getMailMergeSettings(core, mergeCommand) {
    const mergeParameters = mergeCommand.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(core));
    const value = new MailMergeSettings();
    value.exportFrom = mergeParameters.exportFrom;
    value.exportRecordsCount = mergeParameters.exportRecordsCount;
    value.mergeMode = mergeParameters.mergeMode;
    value.range = mergeParameters.range;
    return value;
}
class MailMergeSettings {
}
var MergeMode;
(function (MergeMode) {
    MergeMode[MergeMode["NewParagraph"] = 0] = "NewParagraph";
    MergeMode[MergeMode["NewSection"] = 1] = "NewSection";
    MergeMode[MergeMode["JoinTables"] = 2] = "JoinTables";
})(MergeMode || (MergeMode = {}));
var MailMergeExportRange;
(function (MailMergeExportRange) {
    MailMergeExportRange[MailMergeExportRange["AllRecords"] = 0] = "AllRecords";
    MailMergeExportRange[MailMergeExportRange["CurrentRecord"] = 1] = "CurrentRecord";
    MailMergeExportRange[MailMergeExportRange["Range"] = 2] = "Range";
})(MailMergeExportRange || (MailMergeExportRange = {}));


/***/ }),

/***/ 864:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ci: function() { return /* binding */ ChangeTextBoxResizeShapeToFitTextCommand; },
/* harmony export */   D3: function() { return /* binding */ FloatingObjectTextWrappingSettings; },
/* harmony export */   D8: function() { return /* binding */ FloatingObjectHorizontalPositionType; },
/* harmony export */   DE: function() { return /* binding */ ChangeFloatingObjectRotationCommand; },
/* harmony export */   ED: function() { return /* binding */ ChangeFloatingObjectOutlineColorCommand; },
/* harmony export */   HG: function() { return /* binding */ TextBoxRelativeSizeSettings; },
/* harmony export */   Mg: function() { return /* binding */ InsertFloatingTextBoxCommand; },
/* harmony export */   R5: function() { return /* binding */ ChangeFloatingObjectAlignmentPositionCommand; },
/* harmony export */   SQ: function() { return /* binding */ FloatingObjectTextWrapType; },
/* harmony export */   Uo: function() { return /* binding */ ChangeFloatingObjectAbsoluteSizeCommand; },
/* harmony export */   WH: function() { return /* binding */ FloatingObjectRelativeHeightType; },
/* harmony export */   Wm: function() { return /* binding */ ChangeFloatingObjectTextWrappingCommand; },
/* harmony export */   bs: function() { return /* binding */ ChangeFloatingObjectOutlineWidthCommand; },
/* harmony export */   cd: function() { return /* binding */ FloatingObjectAbsoluteSizeSettings; },
/* harmony export */   gs: function() { return /* binding */ FloatingObjectRelativePositionSettings; },
/* harmony export */   iB: function() { return /* binding */ FloatingObjectVerticalPositionAlignment; },
/* harmony export */   iS: function() { return /* binding */ ChangeFloatingObjectLockAnchorCommand; },
/* harmony export */   ib: function() { return /* binding */ OpenLayoutOptionsDialogCommand; },
/* harmony export */   kM: function() { return /* binding */ FloatingObjectVerticalPositionType; },
/* harmony export */   ng: function() { return /* binding */ FloatingObjectAbsolutePositionSettings; },
/* harmony export */   ny: function() { return /* binding */ ChangeFloatingObjectAbsolutePositionCommand; },
/* harmony export */   oC: function() { return /* binding */ ChangeFloatingObjectRelativePositionCommand; },
/* harmony export */   oD: function() { return /* binding */ ChangeFloatingObjectFillColorCommand; },
/* harmony export */   of: function() { return /* binding */ FloatingObjectRelativeWidthType; },
/* harmony export */   q7: function() { return /* binding */ FloatingObjectAlignmentPositionSettings; },
/* harmony export */   r7: function() { return /* binding */ ChangeTextBoxRelativeSizeCommand; },
/* harmony export */   tE: function() { return /* binding */ ChangeTextBoxContentMarginsCommand; },
/* harmony export */   tu: function() { return /* binding */ FloatingObjectTextWrapSide; },
/* harmony export */   u9: function() { return /* binding */ ChangeFloatingObjectLockAspectRatioCommand; },
/* harmony export */   vu: function() { return /* binding */ FloatingObjectHorizontalPositionAlignment; }
/* harmony export */ });
/* unused harmony export ChangeFloatingObjectPropertyCommandBase */
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);
/* harmony import */ var _common_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8927);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3468);





class OpenLayoutOptionsDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowLayoutOptionsForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertFloatingTextBoxCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertAnchoredTextBox;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeFloatingObjectPropertyCommandBase extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowLayoutOptionsForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        this.fillParameters(parameters, settings);
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const value = this.getStateValue(parameters);
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
    fillParameters(_parameters, _settings) {
        return null;
    }
    getStateValue(_parameters) {
        return null;
    }
}
class ChangeFloatingObjectLockAnchorCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(lockAnchor) {
        return super.execute(lockAnchor);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        if (settings !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(settings, 'lockAnchort');
            parameters.locked = settings;
        }
    }
    getStateValue(parameters) {
        return parameters.locked;
    }
}
class ChangeFloatingObjectAlignmentPositionCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(settings) {
        return super.execute(settings);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        if (settings.horizontalPositionAlignment !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.horizontalPositionAlignment, FloatingObjectHorizontalPositionAlignment, 'FloatingObjectHorizontalPositionAlignment', 'settings.horizontalPositionAlignment');
            parameters.horizontalPositionAlignment = settings.horizontalPositionAlignment;
        }
        if (settings.horizontalPositionType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.horizontalPositionType, FloatingObjectHorizontalPositionType, 'FloatingObjectHorizontalPositionType', 'settings.horizontalPositionType');
            parameters.horizontalPositionType = settings.horizontalPositionType;
        }
        if (settings.verticalPositionAlignment !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.verticalPositionAlignment, FloatingObjectVerticalPositionAlignment, 'FloatingObjectVerticalPositionAlignment', 'settings.verticalPositionAlignment');
            parameters.verticalPositionAlignment = settings.verticalPositionAlignment;
        }
        if (settings.verticalPositionType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.verticalPositionType, FloatingObjectVerticalPositionType, 'FloatingObjectVerticalPositionType', 'settings.verticalPositionType');
            parameters.verticalPositionType = settings.verticalPositionType;
        }
    }
    getStateValue(parameters) {
        const value = new FloatingObjectAlignmentPositionSettings();
        value.horizontalPositionAlignment = parameters.horizontalPositionAlignment;
        value.horizontalPositionType = parameters.horizontalPositionType;
        value.verticalPositionAlignment = parameters.verticalPositionAlignment;
        value.verticalPositionType = parameters.verticalPositionType;
        return value;
    }
}
class ChangeFloatingObjectAbsolutePositionCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(settings) {
        return super.execute(settings);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        if (settings.horizontalAbsolutePosition !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNumber(settings.horizontalAbsolutePosition, 'settings.horizontalAbsolutePosition');
            parameters.offsetX = settings.horizontalAbsolutePosition;
        }
        if (settings.horizontalPositionType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.horizontalPositionType, FloatingObjectHorizontalPositionType, 'FloatingObjectHorizontalPositionType', 'settings.horizontalPositionType');
            parameters.horizontalPositionType = settings.horizontalPositionType;
        }
        if (settings.verticalAbsolutePosition !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNumber(settings.verticalAbsolutePosition, 'settings.verticalAbsolutePosition');
            parameters.offsetY = settings.verticalAbsolutePosition;
        }
        if (settings.verticalPositionType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.verticalPositionType, FloatingObjectVerticalPositionType, 'FloatingObjectVerticalPositionType', 'settings.verticalPositionType');
            parameters.verticalPositionType = settings.verticalPositionType;
        }
        parameters.horizontalPositionAlignment = _common_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_2__/* .AnchorObjectHorizontalPositionAlignment */ .xC.None;
        parameters.verticalPositionAlignment = _common_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_2__/* .AnchorObjectVerticalPositionAlignment */ .Iw.None;
        parameters.percentOffsetX = 0;
        parameters.percentOffsetY = 0;
    }
    getStateValue(parameters) {
        const value = new FloatingObjectAbsolutePositionSettings();
        value.horizontalAbsolutePosition = parameters.offsetX ? parameters.offsetX : 0;
        value.horizontalPositionType = parameters.horizontalPositionType;
        value.verticalAbsolutePosition = parameters.offsetY ? parameters.offsetY : 0;
        value.verticalPositionType = parameters.verticalPositionType;
        return value;
    }
}
class ChangeFloatingObjectRelativePositionCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(settings) {
        return super.execute(settings);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        const RELATIVE_COEFF = 1000;
        if (settings.horizontalPositionType == FloatingObjectHorizontalPositionType.Column ||
            settings.horizontalPositionType == FloatingObjectHorizontalPositionType.Character)
            throw new Error('Incorrect Horizontal Position Type');
        if (settings.verticalPositionType == FloatingObjectVerticalPositionType.Line ||
            settings.verticalPositionType == FloatingObjectVerticalPositionType.Paragraph)
            throw new Error('Incorrect Vertical Position Type');
        if (settings.horizontalRelativePosition !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNumber(settings.horizontalRelativePosition, 'settings.horizontalRelativePosition');
            parameters.percentOffsetX = settings.horizontalRelativePosition * RELATIVE_COEFF;
        }
        if (settings.horizontalPositionType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.horizontalPositionType, FloatingObjectHorizontalPositionType, 'FloatingObjectHorizontalPositionType', 'settings.horizontalPositionType');
            parameters.horizontalPositionType = settings.horizontalPositionType;
        }
        if (settings.verticalRelativePosition !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNumber(settings.verticalRelativePosition, 'settings.verticalRelativePosition');
            parameters.percentOffsetY = settings.verticalRelativePosition * RELATIVE_COEFF;
        }
        if (settings.verticalPositionType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.verticalPositionType, FloatingObjectVerticalPositionType, 'FloatingObjectVerticalPositionType', 'settings.verticalPositionType');
            parameters.verticalPositionType = settings.verticalPositionType;
        }
        parameters.horizontalPositionAlignment = _common_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_2__/* .AnchorObjectHorizontalPositionAlignment */ .xC.None;
        parameters.verticalPositionAlignment = _common_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_2__/* .AnchorObjectVerticalPositionAlignment */ .Iw.None;
    }
    getStateValue(parameters) {
        const value = new FloatingObjectRelativePositionSettings();
        value.horizontalRelativePosition = parameters.percentOffsetX ? parameters.percentOffsetX : 0;
        value.horizontalPositionType = parameters.horizontalPositionType;
        value.verticalRelativePosition = parameters.percentOffsetY ? parameters.percentOffsetY : 0;
        value.verticalPositionType = parameters.verticalPositionType;
        return value;
    }
}
class ChangeFloatingObjectTextWrappingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowLayoutOptionsForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        if (settings.floatingObjectTextWrapType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.floatingObjectTextWrapType, FloatingObjectTextWrapType, 'FloatingObjectTextWrapType', 'settings.floatingObjectTextWrapType');
            parameters.wrapType = settings.floatingObjectTextWrapType;
        }
        if (settings.floatingObjectTextWrapSide !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.floatingObjectTextWrapSide, FloatingObjectTextWrapSide, 'FloatingObjectTextWrapSide', 'settings.floatingObjectTextWrapSide');
            parameters.wrapSide = settings.floatingObjectTextWrapSide;
        }
        if (settings.leftDistance !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.leftDistance, 'settings.leftDistance');
            parameters.leftDistance = settings.leftDistance;
        }
        if (settings.rightDistance !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.rightDistance, 'settings.rightDistance');
            parameters.rightDistance = settings.rightDistance;
        }
        if (settings.topDistance !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.leftDistance, 'settings.topDistance');
            parameters.topDistance = settings.topDistance;
        }
        if (settings.bottomDistance !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.bottomDistance, 'settings.bottomDistance');
            parameters.bottomDistance = settings.bottomDistance;
        }
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const value = new FloatingObjectTextWrappingSettings();
        value.floatingObjectTextWrapType = parameters.wrapType;
        value.floatingObjectTextWrapSide = parameters.wrapSide;
        value.leftDistance = parameters.leftDistance ? parameters.leftDistance : 0;
        value.rightDistance = parameters.rightDistance ? parameters.rightDistance : 0;
        value.topDistance = parameters.topDistance ? parameters.topDistance : 0;
        value.bottomDistance = parameters.bottomDistance ? parameters.bottomDistance : 0;
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class ChangeFloatingObjectAbsoluteSizeCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(settings) {
        return super.execute(settings);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        if (settings.absoluteWidth !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.absoluteWidth, 'settings.absoluteWidth');
            parameters.absoluteWidth = settings.absoluteWidth;
        }
        if (settings.absoluteHeight !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.absoluteHeight, 'settings.absoluteHeight');
            parameters.absoluteHeight = settings.absoluteHeight;
        }
        parameters.useAbsoluteWidth = true;
        parameters.useAbsoluteHeight = true;
    }
    getStateValue(parameters) {
        const value = new FloatingObjectAbsoluteSizeSettings();
        value.absoluteWidth = parameters.absoluteWidth;
        value.absoluteHeight = parameters.absoluteHeight;
        return value;
    }
}
class ChangeTextBoxRelativeSizeCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(settings) {
        return super.execute(settings);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        const RELATIVE_COEFF = 1000;
        if (settings.relativeWidth !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.relativeWidth, 'settings.relativeWidth');
            parameters.relativeWidth = settings.relativeWidth * RELATIVE_COEFF;
        }
        if (settings.relativeWidthType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.relativeWidthType, FloatingObjectRelativeWidthType, 'FloatingObjectRelativeWidthType', 'settings.relativeWidthType');
            parameters.relativeWidthType = settings.relativeWidthType;
        }
        if (settings.relativeHeight !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.relativeHeight, 'settings.relativeHeight');
            parameters.relativeHeight = settings.relativeHeight * RELATIVE_COEFF;
        }
        if (settings.relativeHeightType !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(settings.relativeHeightType, FloatingObjectRelativeHeightType, 'FloatingObjectRelativeHeightType', 'settings.relativeHeightType');
            parameters.relativeHeightType = settings.relativeHeightType;
        }
        parameters.useAbsoluteWidth = false;
        parameters.useAbsoluteHeight = false;
    }
    getStateValue(parameters) {
        const value = new TextBoxRelativeSizeSettings();
        value.relativeWidth = parameters.relativeWidth;
        value.relativeWidthType = parameters.relativeWidthType;
        value.relativeHeight = parameters.relativeHeight;
        value.relativeHeightType = parameters.relativeHeightType;
        return value;
    }
}
class ChangeFloatingObjectRotationCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(rotation) {
        return super.execute(rotation);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        if (settings !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings, 'rotation');
            parameters.rotation = settings;
        }
    }
    getStateValue(parameters) {
        return parameters.rotation;
    }
}
class ChangeFloatingObjectLockAspectRatioCommand extends ChangeFloatingObjectPropertyCommandBase {
    execute(lockAspectRatio) {
        return super.execute(lockAspectRatio);
    }
    getState() {
        return super.getState();
    }
    fillParameters(parameters, settings) {
        if (settings !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(settings, 'lockAspectRatio');
            parameters.lockAspectRatio = settings;
        }
    }
    getStateValue(parameters) {
        return parameters.lockAspectRatio;
    }
}
class ChangeFloatingObjectFillColorCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeFloatingObjectFillColor;
    }
    execute(color) {
        const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(color, 1, false, _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.colorDescriptors('color'));
        return this.coreCommand.execute(true, coreColor);
    }
    getState() {
        const state = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
        state.value = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.internalColorToApiColor(this.coreState.value);
        return state;
    }
}
class ChangeFloatingObjectOutlineColorCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeFloatingObjectOutlineColor;
    }
    execute(color) {
        const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(color, 1, false, _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.colorDescriptors('color'));
        return this.coreCommand.execute(true, coreColor);
    }
    getState() {
        const state = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
        state.value = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.internalColorToApiColor(this.coreState.value);
        return state;
    }
}
class ChangeFloatingObjectOutlineWidthCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeFloatingObjectOutlineWidth;
    }
    execute(width) {
        _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(width, 'width');
        return this.coreCommand.execute(true, width);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeTextBoxContentMarginsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTextBoxProperties;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.getValue();
        if (settings.left !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.left, 'settings.left');
            parameters.leftMargin = settings.left;
        }
        if (settings.right !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.right, 'settings.right');
            parameters.rightMargin = settings.right;
        }
        if (settings.top !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.top, 'settings.top');
            parameters.topMargin = settings.top;
        }
        if (settings.bottom !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.bottom, 'settings.bottom');
            parameters.bottomMargin = settings.bottom;
        }
        return command.execute(true, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(state);
    }
}
class ChangeTextBoxResizeShapeToFitTextCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTextBoxProperties;
    }
    execute(resizeShapeToFitText) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.getValue();
        if (resizeShapeToFitText !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(resizeShapeToFitText, 'resizeShapeToFitText');
            parameters.resizeShapeToFitText = resizeShapeToFitText;
        }
        return command.execute(true, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const value = state.value.resizeShapeToFitText;
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class FloatingObjectAlignmentPositionSettings {
}
class FloatingObjectAbsolutePositionSettings {
}
class FloatingObjectRelativePositionSettings {
}
class FloatingObjectTextWrappingSettings {
}
class FloatingObjectAbsoluteSizeSettings {
}
class TextBoxRelativeSizeSettings {
}
var FloatingObjectRelativeWidthType;
(function (FloatingObjectRelativeWidthType) {
    FloatingObjectRelativeWidthType[FloatingObjectRelativeWidthType["Margin"] = 0] = "Margin";
    FloatingObjectRelativeWidthType[FloatingObjectRelativeWidthType["Page"] = 1] = "Page";
    FloatingObjectRelativeWidthType[FloatingObjectRelativeWidthType["LeftMargin"] = 2] = "LeftMargin";
    FloatingObjectRelativeWidthType[FloatingObjectRelativeWidthType["RightMargin"] = 3] = "RightMargin";
    FloatingObjectRelativeWidthType[FloatingObjectRelativeWidthType["InsideMargin"] = 4] = "InsideMargin";
    FloatingObjectRelativeWidthType[FloatingObjectRelativeWidthType["OutsideMargin"] = 5] = "OutsideMargin";
})(FloatingObjectRelativeWidthType || (FloatingObjectRelativeWidthType = {}));
var FloatingObjectRelativeHeightType;
(function (FloatingObjectRelativeHeightType) {
    FloatingObjectRelativeHeightType[FloatingObjectRelativeHeightType["Margin"] = 0] = "Margin";
    FloatingObjectRelativeHeightType[FloatingObjectRelativeHeightType["Page"] = 1] = "Page";
    FloatingObjectRelativeHeightType[FloatingObjectRelativeHeightType["TopMargin"] = 2] = "TopMargin";
    FloatingObjectRelativeHeightType[FloatingObjectRelativeHeightType["BottomMargin"] = 3] = "BottomMargin";
    FloatingObjectRelativeHeightType[FloatingObjectRelativeHeightType["InsideMargin"] = 4] = "InsideMargin";
    FloatingObjectRelativeHeightType[FloatingObjectRelativeHeightType["OutsideMargin"] = 5] = "OutsideMargin";
})(FloatingObjectRelativeHeightType || (FloatingObjectRelativeHeightType = {}));
var FloatingObjectTextWrapType;
(function (FloatingObjectTextWrapType) {
    FloatingObjectTextWrapType[FloatingObjectTextWrapType["None"] = 0] = "None";
    FloatingObjectTextWrapType[FloatingObjectTextWrapType["TopAndBottom"] = 1] = "TopAndBottom";
    FloatingObjectTextWrapType[FloatingObjectTextWrapType["Tight"] = 2] = "Tight";
    FloatingObjectTextWrapType[FloatingObjectTextWrapType["Through"] = 3] = "Through";
    FloatingObjectTextWrapType[FloatingObjectTextWrapType["Square"] = 4] = "Square";
})(FloatingObjectTextWrapType || (FloatingObjectTextWrapType = {}));
var FloatingObjectTextWrapSide;
(function (FloatingObjectTextWrapSide) {
    FloatingObjectTextWrapSide[FloatingObjectTextWrapSide["Both"] = 0] = "Both";
    FloatingObjectTextWrapSide[FloatingObjectTextWrapSide["Left"] = 1] = "Left";
    FloatingObjectTextWrapSide[FloatingObjectTextWrapSide["Right"] = 2] = "Right";
    FloatingObjectTextWrapSide[FloatingObjectTextWrapSide["Largest"] = 3] = "Largest";
})(FloatingObjectTextWrapSide || (FloatingObjectTextWrapSide = {}));
var FloatingObjectHorizontalPositionType;
(function (FloatingObjectHorizontalPositionType) {
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["Page"] = 0] = "Page";
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["Character"] = 1] = "Character";
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["Column"] = 2] = "Column";
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["Margin"] = 3] = "Margin";
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["LeftMargin"] = 4] = "LeftMargin";
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["RightMargin"] = 5] = "RightMargin";
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["InsideMargin"] = 6] = "InsideMargin";
    FloatingObjectHorizontalPositionType[FloatingObjectHorizontalPositionType["OutsideMargin"] = 7] = "OutsideMargin";
})(FloatingObjectHorizontalPositionType || (FloatingObjectHorizontalPositionType = {}));
var FloatingObjectHorizontalPositionAlignment;
(function (FloatingObjectHorizontalPositionAlignment) {
    FloatingObjectHorizontalPositionAlignment[FloatingObjectHorizontalPositionAlignment["None"] = 0] = "None";
    FloatingObjectHorizontalPositionAlignment[FloatingObjectHorizontalPositionAlignment["Left"] = 1] = "Left";
    FloatingObjectHorizontalPositionAlignment[FloatingObjectHorizontalPositionAlignment["Center"] = 2] = "Center";
    FloatingObjectHorizontalPositionAlignment[FloatingObjectHorizontalPositionAlignment["Right"] = 3] = "Right";
    FloatingObjectHorizontalPositionAlignment[FloatingObjectHorizontalPositionAlignment["Inside"] = 4] = "Inside";
    FloatingObjectHorizontalPositionAlignment[FloatingObjectHorizontalPositionAlignment["Outside"] = 5] = "Outside";
})(FloatingObjectHorizontalPositionAlignment || (FloatingObjectHorizontalPositionAlignment = {}));
var FloatingObjectVerticalPositionType;
(function (FloatingObjectVerticalPositionType) {
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["Page"] = 0] = "Page";
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["Line"] = 1] = "Line";
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["Paragraph"] = 2] = "Paragraph";
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["Margin"] = 3] = "Margin";
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["TopMargin"] = 4] = "TopMargin";
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["BottomMargin"] = 5] = "BottomMargin";
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["InsideMargin"] = 6] = "InsideMargin";
    FloatingObjectVerticalPositionType[FloatingObjectVerticalPositionType["OutsideMargin"] = 7] = "OutsideMargin";
})(FloatingObjectVerticalPositionType || (FloatingObjectVerticalPositionType = {}));
var FloatingObjectVerticalPositionAlignment;
(function (FloatingObjectVerticalPositionAlignment) {
    FloatingObjectVerticalPositionAlignment[FloatingObjectVerticalPositionAlignment["None"] = 0] = "None";
    FloatingObjectVerticalPositionAlignment[FloatingObjectVerticalPositionAlignment["Top"] = 1] = "Top";
    FloatingObjectVerticalPositionAlignment[FloatingObjectVerticalPositionAlignment["Center"] = 2] = "Center";
    FloatingObjectVerticalPositionAlignment[FloatingObjectVerticalPositionAlignment["Bottom"] = 3] = "Bottom";
    FloatingObjectVerticalPositionAlignment[FloatingObjectVerticalPositionAlignment["Inside"] = 4] = "Inside";
    FloatingObjectVerticalPositionAlignment[FloatingObjectVerticalPositionAlignment["Outside"] = 5] = "Outside";
})(FloatingObjectVerticalPositionAlignment || (FloatingObjectVerticalPositionAlignment = {}));


/***/ }),

/***/ 5428:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   EE: function() { return /* binding */ InsertHyperlinkCommand; },
/* harmony export */   f5: function() { return /* binding */ DeleteHyperlinksCommand; },
/* harmony export */   jI: function() { return /* binding */ OpenInsertHyperlinkDialogCommand; },
/* harmony export */   ji: function() { return /* binding */ OpenHyperlinkCommand; },
/* harmony export */   tR: function() { return /* binding */ ChangeHyperlinkCommand; },
/* harmony export */   wh: function() { return /* binding */ DeleteHyperlinkCommand; },
/* harmony export */   zD: function() { return /* binding */ HyperlinkSettings; }
/* harmony export */ });
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);
/* harmony import */ var _common_model_fields_field__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8277);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3468);
/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5535);






class OpenInsertHyperlinkDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowHyperlinkForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertHyperlinkCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowHyperlinkForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        if (settings.tooltip === undefined)
            settings.tooltip = '';
        if (settings.text === undefined)
            settings.text = '';
        if (settings.bookmark === undefined)
            settings.bookmark = '';
        if (settings.url === undefined)
            settings.url = '';
        _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertString(settings.text, false, 'settings.text');
        _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertString(settings.tooltip, false, 'settings.tooltip');
        _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertString(settings.bookmark, false, 'settings.bookmark');
        _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertString(settings.url, false, 'settings.url');
        if (!settings.url && !settings.bookmark)
            return false;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        parameters.text = settings.text;
        parameters.tooltip = settings.tooltip;
        parameters.url = settings.url;
        parameters.anchor = settings.bookmark;
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const parameters = this.coreCommand.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const settings = new HyperlinkSettings();
        settings.bookmark = parameters.anchor;
        settings.text = parameters.text;
        settings.tooltip = parameters.tooltip;
        settings.url = parameters.url;
        return new _states__WEBPACK_IMPORTED_MODULE_5__/* .CommandState */ .J(state.visible, state.enabled, settings);
    }
}
class DeleteHyperlinkCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.RemoveHyperlink;
    }
    execute() {
        if (!this.getState().visible)
            return false;
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DeleteHyperlinksCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.RemoveHyperlinks;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class OpenHyperlinkCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.OpenHyperlink;
    }
    execute() {
        if (!this.getState().visible)
            return false;
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeHyperlinkCommand extends _command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeHyperlink;
    }
    execute(fieldIndex, hyperlinkSettings, subDocumentId) {
        fieldIndex = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(fieldIndex, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.numberDescriptor('fieldIndex', (v) => v, 0)
        ]);
        hyperlinkSettings = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(hyperlinkSettings, 2, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.objectDescriptor('hyperlinkSettings', 'ASPx.HyperlinkInfo', (v) => v)
        ]);
        let subDocument = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(subDocumentId, 3, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.numberDescriptor('subDocumentId', (id) => this._core.modelManager.model.subDocuments[id])
        ]);
        if (!subDocument)
            subDocument = this._core.selection.activeSubDocument;
        const uri = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(hyperlinkSettings.url, 2, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.stringDescriptor('hyperlinkInfo.url', (v) => v ? v : '', true)
        ]);
        const tip = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(hyperlinkSettings.tooltip, 2, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.stringDescriptor('hyperlinkInfo.tooltip', (v) => v ? v : '', true)
        ]);
        const anchor = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(hyperlinkSettings.bookmark, 2, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.stringDescriptor('hyperlinkInfo.bookmark', (v) => v ? v : '', true)
        ]);
        const shownText = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(hyperlinkSettings.text, 2, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.stringDescriptor('hyperlinkInfo.text', (v) => v ? v : '', true)
        ]);
        const hyperlinkInfo = new _common_model_fields_field__WEBPACK_IMPORTED_MODULE_2__/* .HyperlinkInfo */ .AP(uri, anchor, tip, false);
        const field = subDocument.fields[fieldIndex];
        return this._core.modelManager.modelManipulator.field.changeHyperlinkInfo(subDocument ? subDocument : this._core.selection.activeSubDocument, field, hyperlinkInfo, shownText);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class HyperlinkSettings {
    constructor(url = null, bookmark = null, tooltip = null, text = null) {
        this.url = url;
        this.bookmark = bookmark;
        this.tooltip = tooltip;
        this.text = text;
    }
}


/***/ }),

/***/ 1511:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $F: function() { return /* binding */ ToggleNumberingListCommand; },
/* harmony export */   Cy: function() { return /* binding */ OpenCustomNumberingListDialogCommand; },
/* harmony export */   GL: function() { return /* binding */ RemoveNumerationCommand; },
/* harmony export */   H$: function() { return /* binding */ ContinueNumberingListCommand; },
/* harmony export */   LZ: function() { return /* binding */ ListLevelFormat; },
/* harmony export */   Pc: function() { return /* binding */ InsertNumerationCommand; },
/* harmony export */   SW: function() { return /* binding */ ToggleBulletedListCommand; },
/* harmony export */   VA: function() { return /* binding */ ToggleMultilevelListCommand; },
/* harmony export */   _Z: function() { return /* binding */ ListLevelNumberAlignment; },
/* harmony export */   k3: function() { return /* binding */ OpenNumberingListDialogCommand; },
/* harmony export */   lw: function() { return /* binding */ ListLevelSettings; },
/* harmony export */   rC: function() { return /* binding */ DecrementNumberingIndentCommand; },
/* harmony export */   su: function() { return /* binding */ ChangeCustomNumberingListCommand; },
/* harmony export */   w_: function() { return /* binding */ RestartNumberingListCommand; },
/* harmony export */   wt: function() { return /* binding */ IncrementNumberingIndentCommand; }
/* harmony export */ });
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_dialogs_dialog_custom_numbering_list_command__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(277);
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3468);
/* harmony import */ var _paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(889);






class ToggleBulletedListCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleBulletedListItem;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleNumberingListCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleNumberingListItem;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleMultilevelListCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleMultilevelListItem;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class OpenNumberingListDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowNumberingListForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class OpenCustomNumberingListDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowCustomNumberingListForm;
    }
    execute(abstractNumberingListIndex) {
        const parameters = new _common_commands_dialogs_dialog_custom_numbering_list_command__WEBPACK_IMPORTED_MODULE_1__/* .DialogCustomNumberingListParameters */ .Fs();
        const numberingList = this._core.modelManager.model.abstractNumberingLists[abstractNumberingListIndex];
        if (!numberingList)
            throw new Error("AbstractNumbering list doesn't exist");
        parameters.init(this._core.modelManager.model.colorProvider, numberingList, 0);
        return this.coreCommand.execute(true, parameters);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeCustomNumberingListCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowCustomNumberingListForm;
    }
    execute(abstractNumberingListIndex, listLevelSettings) {
        const parameters = new _common_commands_dialogs_dialog_custom_numbering_list_command__WEBPACK_IMPORTED_MODULE_1__/* .DialogCustomNumberingListParameters */ .Fs();
        const initParameters = parameters.clone();
        _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(abstractNumberingListIndex, 'abstractNumberingListIndex');
        const numberingList = this._core.modelManager.model.abstractNumberingLists[abstractNumberingListIndex];
        if (!numberingList)
            throw new Error(`AbstractNumbering ${abstractNumberingListIndex} list doesn't exist`);
        if (listLevelSettings.length !== 9)
            throw new Error('listLevelSettings must have 9 elements');
        parameters.init(this._core.modelManager.model.colorProvider, numberingList, 0);
        for (let i = 0, listLevel; listLevel = listLevelSettings[i]; i++) {
            const coreLevel = parameters.levels[i];
            if (listLevel.alignment !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(listLevel.alignment, ListLevelNumberAlignment, 'ListLevelNumberAlignment', `listLevelSettings[${i}].alignment`);
                coreLevel.alignment = listLevel.alignment;
            }
            if (listLevel.displayFormatString !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertString(listLevel.displayFormatString, false, `listLevelSettings[${i}].alignment`);
                coreLevel.displayFormatString = listLevel.displayFormatString;
            }
            if (listLevel.firstLineIndent !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNumber(listLevel.firstLineIndent, `listLevelSettings[${i}].firstLineIndent`);
                coreLevel.firstLineIndent = listLevel.firstLineIndent;
            }
            if (listLevel.firstLineIndentType !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(listLevel.firstLineIndentType, _paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_4__/* .ParagraphFirstLineIndent */ .Qi, 'ParagraphFirstLineIndent', `listLevelSettings[${i}].firstLineIndentType`);
                coreLevel.firstLineIndentType = listLevel.firstLineIndentType;
            }
            if (listLevel.fontBold !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(listLevel.fontBold, `listLevelSettings[${i}].fontBold`);
                if (listLevel.fontBold)
                    coreLevel.fontStyle |= 1;
                else
                    coreLevel.fontStyle &= ~1;
            }
            if (listLevel.fontColor !== undefined) {
                const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(listLevel.fontColor, 2, false, _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.colorDescriptors(`listLevelSettings[${i}].fontColor`));
                coreLevel.fontColor = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_2__/* .ColorUtils */ .i.colorToHash(coreColor);
            }
            if (listLevel.fontItalic !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(listLevel.fontItalic, `listLevelSettings[${i}].fontItalic`);
                if (listLevel.fontItalic)
                    coreLevel.fontStyle |= 2;
                else
                    coreLevel.fontStyle &= ~2;
            }
            if (listLevel.fontName !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertString(listLevel.fontName, true, `listLevelSettings[${i}].fontName`);
                coreLevel.fontName = listLevel.fontName;
            }
            if (listLevel.fontSize !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertPositiveNumber(listLevel.fontSize, `listLevelSettings[${i}].fontSize`);
                coreLevel.fontSize = listLevel.fontSize;
            }
            if (listLevel.format !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertEnum(listLevel.format, ListLevelFormat, 'ListLevelFormat', `listLevelSettings[${i}].format`);
                coreLevel.format = listLevel.format;
            }
            if (listLevel.leftIndent !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(listLevel.leftIndent, `listLevelSettings[${i}].leftIndent`);
                coreLevel.leftIndent = listLevel.leftIndent;
            }
            if (listLevel.separator !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertString(listLevel.separator, false, `listLevelSettings[${i}].separator`);
                coreLevel.separator = listLevel.separator;
            }
            if (listLevel.start !== undefined) {
                _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNumber(listLevel.start, `listLevelSettings[${i}].start`);
                coreLevel.start = listLevel.start;
            }
        }
        parameters.applyToParagraph = false;
        return this.applyParameters(initParameters, parameters);
    }
    getState(abstractNumberingListIndex) {
        const parameters = new _common_commands_dialogs_dialog_custom_numbering_list_command__WEBPACK_IMPORTED_MODULE_1__/* .DialogCustomNumberingListParameters */ .Fs();
        const numberingList = this._core.modelManager.model.abstractNumberingLists[abstractNumberingListIndex];
        if (!numberingList)
            throw new Error("AbstractNumbering list doesn't exist");
        parameters.init(this._core.modelManager.model.colorProvider, numberingList, 0);
        const value = [];
        for (let i = 0, level; level = parameters.levels[i]; i++) {
            const levelSettings = new ListLevelSettings();
            levelSettings.alignment = level.alignment;
            levelSettings.displayFormatString = level.displayFormatString;
            levelSettings.firstLineIndent = level.firstLineIndent;
            levelSettings.firstLineIndentType = level.firstLineIndentType;
            levelSettings.fontBold = !!(level.fontStyle & 1);
            levelSettings.fontColor = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.internalColorToApiColor(parameters.coreInitialFontColors[i]);
            levelSettings.fontItalic = !!(level.fontStyle & 2);
            levelSettings.fontName = level.fontName;
            levelSettings.fontSize = level.fontSize;
            levelSettings.format = level.format;
            levelSettings.leftIndent = level.leftIndent;
            levelSettings.separator = level.separator;
            levelSettings.start = level.start;
            value.push(levelSettings);
        }
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class RestartNumberingListCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.RestartNumberingList;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class IncrementNumberingIndentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.IncrementNumberingIndent;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DecrementNumberingIndentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DecrementNumberingIndent;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ContinueNumberingListCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ContinueNumberingList;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertNumerationCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertNumerationToParagraphs;
    }
    execute(numberingListIndex, isAbstractNumberingList) {
        if (arguments.length === 1)
            isAbstractNumberingList = true;
        if (arguments.length === 2)
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(isAbstractNumberingList, 'isAbstractNumberingList');
        if (isAbstractNumberingList) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(numberingListIndex, 'abstractNumberingListIndex');
            const abstractNumberingList = this._core.modelManager.model.abstractNumberingLists[numberingListIndex];
            if (!abstractNumberingList)
                throw new Error("abstract numbering list doesn't exist");
            return this.coreCommand.execute(true, abstractNumberingList);
        }
        else {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertNonNegativeNumber(numberingListIndex, 'numberingListIndex');
            const numberingList = this._core.modelManager.model.numberingLists[numberingListIndex];
            if (!numberingList)
                throw new Error("numbering list doesn't exist");
            return this.coreCommand.execute(true, numberingList);
        }
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class RemoveNumerationCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DeleteNumerationFromParagraphs;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ListLevelSettings {
}
var ListLevelFormat;
(function (ListLevelFormat) {
    ListLevelFormat[ListLevelFormat["Decimal"] = 0] = "Decimal";
    ListLevelFormat[ListLevelFormat["AIUEOHiragana"] = 1] = "AIUEOHiragana";
    ListLevelFormat[ListLevelFormat["AIUEOFullWidthHiragana"] = 2] = "AIUEOFullWidthHiragana";
    ListLevelFormat[ListLevelFormat["ArabicAbjad"] = 3] = "ArabicAbjad";
    ListLevelFormat[ListLevelFormat["ArabicAlpha"] = 4] = "ArabicAlpha";
    ListLevelFormat[ListLevelFormat["Bullet"] = 5] = "Bullet";
    ListLevelFormat[ListLevelFormat["CardinalText"] = 6] = "CardinalText";
    ListLevelFormat[ListLevelFormat["Chicago"] = 7] = "Chicago";
    ListLevelFormat[ListLevelFormat["ChineseCounting"] = 8] = "ChineseCounting";
    ListLevelFormat[ListLevelFormat["ChineseCountingThousand"] = 9] = "ChineseCountingThousand";
    ListLevelFormat[ListLevelFormat["ChineseLegalSimplified"] = 10] = "ChineseLegalSimplified";
    ListLevelFormat[ListLevelFormat["Chosung"] = 11] = "Chosung";
    ListLevelFormat[ListLevelFormat["DecimalEnclosedCircle"] = 12] = "DecimalEnclosedCircle";
    ListLevelFormat[ListLevelFormat["DecimalEnclosedCircleChinese"] = 13] = "DecimalEnclosedCircleChinese";
    ListLevelFormat[ListLevelFormat["DecimalEnclosedFullstop"] = 14] = "DecimalEnclosedFullstop";
    ListLevelFormat[ListLevelFormat["DecimalEnclosedParentheses"] = 15] = "DecimalEnclosedParentheses";
    ListLevelFormat[ListLevelFormat["DecimalFullWidth"] = 16] = "DecimalFullWidth";
    ListLevelFormat[ListLevelFormat["DecimalFullWidth2"] = 17] = "DecimalFullWidth2";
    ListLevelFormat[ListLevelFormat["DecimalHalfWidth"] = 18] = "DecimalHalfWidth";
    ListLevelFormat[ListLevelFormat["DecimalZero"] = 19] = "DecimalZero";
    ListLevelFormat[ListLevelFormat["Ganada"] = 20] = "Ganada";
    ListLevelFormat[ListLevelFormat["Hebrew1"] = 21] = "Hebrew1";
    ListLevelFormat[ListLevelFormat["Hebrew2"] = 22] = "Hebrew2";
    ListLevelFormat[ListLevelFormat["Hex"] = 23] = "Hex";
    ListLevelFormat[ListLevelFormat["HindiConsonants"] = 24] = "HindiConsonants";
    ListLevelFormat[ListLevelFormat["HindiDescriptive"] = 25] = "HindiDescriptive";
    ListLevelFormat[ListLevelFormat["HindiNumbers"] = 26] = "HindiNumbers";
    ListLevelFormat[ListLevelFormat["HindiVowels"] = 27] = "HindiVowels";
    ListLevelFormat[ListLevelFormat["IdeographDigital"] = 28] = "IdeographDigital";
    ListLevelFormat[ListLevelFormat["IdeographEnclosedCircle"] = 29] = "IdeographEnclosedCircle";
    ListLevelFormat[ListLevelFormat["IdeographLegalTraditional"] = 30] = "IdeographLegalTraditional";
    ListLevelFormat[ListLevelFormat["IdeographTraditional"] = 31] = "IdeographTraditional";
    ListLevelFormat[ListLevelFormat["IdeographZodiac"] = 32] = "IdeographZodiac";
    ListLevelFormat[ListLevelFormat["IdeographZodiacTraditional"] = 33] = "IdeographZodiacTraditional";
    ListLevelFormat[ListLevelFormat["Iroha"] = 34] = "Iroha";
    ListLevelFormat[ListLevelFormat["IrohaFullWidth"] = 35] = "IrohaFullWidth";
    ListLevelFormat[ListLevelFormat["JapaneseCounting"] = 36] = "JapaneseCounting";
    ListLevelFormat[ListLevelFormat["JapaneseDigitalTenThousand"] = 37] = "JapaneseDigitalTenThousand";
    ListLevelFormat[ListLevelFormat["JapaneseLegal"] = 38] = "JapaneseLegal";
    ListLevelFormat[ListLevelFormat["KoreanCounting"] = 39] = "KoreanCounting";
    ListLevelFormat[ListLevelFormat["KoreanDigital"] = 40] = "KoreanDigital";
    ListLevelFormat[ListLevelFormat["KoreanDigital2"] = 41] = "KoreanDigital2";
    ListLevelFormat[ListLevelFormat["KoreanLegal"] = 42] = "KoreanLegal";
    ListLevelFormat[ListLevelFormat["LowerLetter"] = 43] = "LowerLetter";
    ListLevelFormat[ListLevelFormat["LowerRoman"] = 44] = "LowerRoman";
    ListLevelFormat[ListLevelFormat["None"] = 45] = "None";
    ListLevelFormat[ListLevelFormat["NumberInDash"] = 46] = "NumberInDash";
    ListLevelFormat[ListLevelFormat["Ordinal"] = 47] = "Ordinal";
    ListLevelFormat[ListLevelFormat["OrdinalText"] = 48] = "OrdinalText";
    ListLevelFormat[ListLevelFormat["RussianLower"] = 49] = "RussianLower";
    ListLevelFormat[ListLevelFormat["RussianUpper"] = 50] = "RussianUpper";
    ListLevelFormat[ListLevelFormat["TaiwaneseCounting"] = 51] = "TaiwaneseCounting";
    ListLevelFormat[ListLevelFormat["TaiwaneseCountingThousand"] = 52] = "TaiwaneseCountingThousand";
    ListLevelFormat[ListLevelFormat["TaiwaneseDigital"] = 53] = "TaiwaneseDigital";
    ListLevelFormat[ListLevelFormat["ThaiDescriptive"] = 54] = "ThaiDescriptive";
    ListLevelFormat[ListLevelFormat["ThaiLetters"] = 55] = "ThaiLetters";
    ListLevelFormat[ListLevelFormat["ThaiNumbers"] = 56] = "ThaiNumbers";
    ListLevelFormat[ListLevelFormat["UpperLetter"] = 57] = "UpperLetter";
    ListLevelFormat[ListLevelFormat["UpperRoman"] = 58] = "UpperRoman";
    ListLevelFormat[ListLevelFormat["VietnameseDescriptive"] = 59] = "VietnameseDescriptive";
})(ListLevelFormat || (ListLevelFormat = {}));
var ListLevelNumberAlignment;
(function (ListLevelNumberAlignment) {
    ListLevelNumberAlignment[ListLevelNumberAlignment["Left"] = 0] = "Left";
    ListLevelNumberAlignment[ListLevelNumberAlignment["Center"] = 1] = "Center";
    ListLevelNumberAlignment[ListLevelNumberAlignment["Right"] = 2] = "Right";
})(ListLevelNumberAlignment || (ListLevelNumberAlignment = {}));


/***/ }),

/***/ 6103:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   BT: function() { return /* binding */ InsertTextCommand; },
/* harmony export */   Ci: function() { return /* binding */ Scale; },
/* harmony export */   Cj: function() { return /* binding */ OpenInsertPictureDialogCommand; },
/* harmony export */   GN: function() { return /* binding */ InsertParagraphCommand; },
/* harmony export */   Jx: function() { return /* binding */ RemovePrevWordCommand; },
/* harmony export */   Kn: function() { return /* binding */ InsertSymbolCommand; },
/* harmony export */   MA: function() { return /* binding */ DeleteCommand; },
/* harmony export */   Vo: function() { return /* binding */ BackspaceCommand; },
/* harmony export */   f1: function() { return /* binding */ RemoveNextWordCommand; },
/* harmony export */   fl: function() { return /* binding */ ChangePictureScaleCommand; },
/* harmony export */   fm: function() { return /* binding */ InsertTabCommand; },
/* harmony export */   n2: function() { return /* binding */ CopyContentCommand; },
/* harmony export */   rn: function() { return /* binding */ OpenInsertSymbolDialogCommand; },
/* harmony export */   rp: function() { return /* binding */ InsertNonBreakingSpaceCommand; },
/* harmony export */   tS: function() { return /* binding */ MoveContentCommand; },
/* harmony export */   uQ: function() { return /* binding */ InsertPictureCommand; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9145);
/* harmony import */ var _common_commands_dialogs_dialog_symbols_command__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(928);
/* harmony import */ var _common_model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6341);
/* harmony import */ var _common_model_manipulators_paragraph_manipulator_insert_paragraph_manipulator_params__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7970);
/* harmony import */ var _common_model_manipulators_picture_manipulator_insert_picture_manipulator_params__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4990);
/* harmony import */ var _common_model_manipulators_picture_manipulator_loader_image_loading_options__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(4285);
/* harmony import */ var _common_model_manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2598);
/* harmony import */ var _common_model_runs_run_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3549);
/* harmony import */ var _common_model_sub_document__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8096);
/* harmony import */ var _common_selection_input_position_base__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(1680);
/* harmony import */ var _common_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(655);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3468);
/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2751);
/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(5535);

















class OpenInsertPictureDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.InsertPicture;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertPictureCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.InsertPicture;
    }
    execute(imageUrl, callback) {
        _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.assertFile(imageUrl, 'imageUrl');
        callback = _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.check(callback, 2, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.functionDescriptor('callback', (val) => val)
        ]);
        const innerCallback = callback ?
            (picInterval, _cacheInfo) => callback(new _selection__WEBPACK_IMPORTED_MODULE_13__/* .Interval */ .X(picInterval.start, picInterval.length)) :
            () => { };
        this._core.modelManager.history.addTransaction(() => {
            const interval = this._core.selection.lastSelectedInterval.clone();
            if (interval.length > 0) {
                this._core.modelManager.history.addAndRedo(new _common_model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_4__/* .SelectionHistoryItem */ .n(this._core.modelManager.modelManipulator, this._core.selection, this._core.selection.getState(), this._core.selection.getState().setPosition(interval.start)));
                this._core.modelManager.modelManipulator.range.removeInterval(new _common_model_sub_document__WEBPACK_IMPORTED_MODULE_9__/* .SubDocumentInterval */ .v8(this._core.selection.activeSubDocument, interval.clone()), true, false);
                interval.length = 0;
            }
            const imgData = this._core.modelManager.model.cache.imageCache.createUnloadedByBase64OrUrl(imageUrl);
            this._core.modelManager.modelManipulator.picture.insertInlinePictureViaHistory(new _common_model_sub_document__WEBPACK_IMPORTED_MODULE_9__/* .SubDocumentPosition */ .rg(this._core.selection.activeSubDocument, interval.start), this._core.inputPosition.charPropsBundle, _common_model_manipulators_picture_manipulator_insert_picture_manipulator_params__WEBPACK_IMPORTED_MODULE_6__/* .InlinePictureInfo */ .AT.defaultInfo(imgData), new _common_model_manipulators_picture_manipulator_loader_image_loading_options__WEBPACK_IMPORTED_MODULE_15__/* .ImageLoadingOptions */ .j(true, undefined, innerCallback));
            this._core.modelManager.history.addAndRedo(new _common_model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_4__/* .SelectionHistoryItem */ .n(this._core.modelManager.modelManipulator, this._core.selection, this._core.selection.getState(), this._core.selection.getState().setPosition(interval.start + 1)));
        });
        return true;
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class OpenInsertSymbolDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.ShowSymbolForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertSymbolCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateDialogBase */ .Vt {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.ShowSymbolForm;
    }
    execute(symbol, fontName) {
        _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.assertString(symbol, true, 'symbol');
        _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.assertString(fontName, true, 'fontName');
        const parameters = new _common_commands_dialogs_dialog_symbols_command__WEBPACK_IMPORTED_MODULE_3__/* .DialogSymbolsParameters */ .yG();
        const initParameters = parameters.clone();
        parameters.fontName = fontName;
        parameters.symbol = symbol;
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertParagraphCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.InsertParagraph;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTextCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.InsertText;
    }
    execute(text, interval, subDocumentId) {
        const insertedText = _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.check(text, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.stringDescriptor('text', (v) => v.replace(/\r\n/g, '\n').replace(/\r/g, '\n'), false)
        ]);
        const subDocument = _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.subDocumentById(subDocumentId, 3, true, this._core, true);
        const subDocEndPos = subDocument.getDocumentEndPosition();
        let coreInterval = _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.check(interval, 2, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.objectDescriptor('interval', 'ASPx.Interval', (v) => new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(v.start, v.length)),
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiParametersChecker */ .mL.numberDescriptor('position', (pos) => new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(pos, 0), 0, subDocEndPos - 1)
        ]);
        const allowChangeSelection = coreInterval === undefined;
        if (!coreInterval)
            coreInterval = this._core.selection.lastSelectedInterval;
        if (coreInterval.end > subDocEndPos || coreInterval.start > subDocEndPos - 1)
            coreInterval = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(Math.min(subDocEndPos - 1, coreInterval.start), Math.min(subDocEndPos, coreInterval.end));
        return allowChangeSelection ?
            this._insertTextBySelection(subDocument, coreInterval, insertedText) :
            this._insertTextByInterval(subDocument, coreInterval, insertedText);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
    _insertTextByInterval(subDocument, coreInterval, insertedText) {
        const stringLength = insertedText.length;
        const inpPos = new _common_selection_input_position_base__WEBPACK_IMPORTED_MODULE_10__/* .InputPositionBase */ .Cd();
        let paragraphSymbolPostion = insertedText.indexOf('\n');
        let result = false;
        let fromPos = 0;
        let toPos = coreInterval.start;
        this._core.beginUpdate();
        this._core.modelManager.history.beginTransaction();
        if (coreInterval.length)
            this._core.modelManager.modelManipulator.range.removeInterval(new _common_model_sub_document__WEBPACK_IMPORTED_MODULE_9__/* .SubDocumentInterval */ .v8(subDocument, coreInterval), true, true);
        while (fromPos < stringLength) {
            inpPos.setIntervals(_common_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_11__/* .SelectionIntervalsInfo */ .v.fromPosition(subDocument, toPos));
            let insertedTextLength;
            if (paragraphSymbolPostion == fromPos) {
                this._core.modelManager.modelManipulator.paragraph.insertParagraphViaHistory(_common_model_manipulators_paragraph_manipulator_insert_paragraph_manipulator_params__WEBPACK_IMPORTED_MODULE_5__/* .InsertParagraphManipulatorParams */ .n.makeParamsByPosition(new _common_model_sub_document__WEBPACK_IMPORTED_MODULE_9__/* .SubDocumentPosition */ .rg(subDocument, toPos), inpPos));
                insertedTextLength = 1;
                paragraphSymbolPostion = insertedText.indexOf('\n', fromPos + insertedTextLength);
            }
            else {
                const paragraphEndPos = paragraphSymbolPostion == -1 ? stringLength : paragraphSymbolPostion;
                const paragraphText = insertedText.substring(fromPos, paragraphEndPos);
                this._core.modelManager.modelManipulator.text.insertTextViaHistory(new _common_model_manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_7__/* .InsertTextManipulatorParams */ .N(new _common_model_sub_document__WEBPACK_IMPORTED_MODULE_9__/* .SubDocumentPosition */ .rg(subDocument, toPos), inpPos.charPropsBundle, _common_model_runs_run_type__WEBPACK_IMPORTED_MODULE_8__/* .RunType */ .m.TextRun, paragraphText));
                insertedTextLength = paragraphText.length;
            }
            result = true;
            toPos += insertedTextLength;
            fromPos += insertedTextLength;
        }
        this._core.modelManager.history.endTransaction();
        this._core.endUpdate();
        return result;
    }
    _insertTextBySelection(subDocument, coreInterval, insertedText) {
        let currPosition = 0;
        const stringLength = insertedText.length;
        let paragraphSymbolPostion = insertedText.indexOf('\n', currPosition);
        let result = false;
        this._core.beginUpdate();
        this._core.modelManager.history.beginTransaction();
        while (currPosition < stringLength) {
            if (paragraphSymbolPostion == currPosition) {
                const options = new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandOptions */ .dg(this._core).setIntervalsInfo(new _common_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_11__/* .SelectionIntervalsInfo */ .v(subDocument, [coreInterval]));
                result = this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.InsertParagraph)
                    .execute(true, options) || result;
                currPosition++;
                paragraphSymbolPostion = insertedText.indexOf('\n', currPosition);
                coreInterval.start++;
            }
            else {
                const paragraphEndPos = paragraphSymbolPostion == -1 ? stringLength : paragraphSymbolPostion;
                const paragraphText = insertedText.substring(currPosition, paragraphEndPos);
                const options = new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandSimpleOptions */ .LF(this._core, paragraphText)
                    .setIntervalsInfo(new _common_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_11__/* .SelectionIntervalsInfo */ .v(subDocument, [coreInterval]));
                result = this.coreCommand.execute(true, options) || result;
                currPosition = paragraphEndPos;
                coreInterval.start += paragraphText.length;
            }
            coreInterval.length = 0;
        }
        this._core.modelManager.history.endTransaction();
        this._core.endUpdate();
        return result;
    }
}
class DeleteCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.ToggleDeleteKey;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class RemovePrevWordCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.RemovePrevWord;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class RemoveNextWordCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.RemoveNextWord;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class BackspaceCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.ToggleBackspaceKey;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangePictureScaleCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.ChangeInlinePictureScale;
    }
    execute(x, y) {
        if (arguments.length === 2) {
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.assertPositiveNumber(x, 'x');
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.assertPositiveNumber(y, 'y');
            return this.coreCommand.execute(true, [x, y]);
        }
        else if (arguments.length === 1) {
            const scale = x;
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.assertPositiveNumber(scale.x, 'scale.x');
            _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.assertPositiveNumber(scale.y, 'scale.y');
            return this.coreCommand.execute(true, [scale.x, scale.y]);
        }
        return this.coreCommand.execute(true);
    }
    getState() {
        const state = this.coreState;
        let value;
        if (state.enabled && state.value) {
            value = new Scale();
            value.x = state.value[0];
            value.y = state.value[1];
        }
        return new _states__WEBPACK_IMPORTED_MODULE_16__/* .CommandState */ .J(state.visible, state.enabled, value);
    }
}
class MoveContentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.DragMoveContent;
    }
    execute(position) {
        return this.coreCommand.execute(true, position);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class CopyContentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.DragCopyContent;
    }
    execute(position) {
        return this.coreCommand.execute(true, position);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTabCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.InsertTabMark;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertNonBreakingSpaceCommand extends _command_base__WEBPACK_IMPORTED_MODULE_14__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_1__/* .RichEditClientCommand */ .f.InsertNonBreakingSpace;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_12__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class Scale {
}


/***/ }),

/***/ 7718:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $u: function() { return /* binding */ Size; },
/* harmony export */   Do: function() { return /* binding */ GoToFooterCommand; },
/* harmony export */   Fy: function() { return /* binding */ OpenSectionColumnsDialogCommand; },
/* harmony export */   Hk: function() { return /* binding */ CloseHeaderFooterCommand; },
/* harmony export */   Mg: function() { return /* binding */ ChangeSectionEqualColumnCountCommand; },
/* harmony export */   P_: function() { return /* binding */ InsertFooterCommand; },
/* harmony export */   QH: function() { return /* binding */ SetPageSizeDialogCommand; },
/* harmony export */   V: function() { return /* binding */ SetDifferentOddAndEvenPagesHeaderFooterCommand; },
/* harmony export */   VZ: function() { return /* binding */ LinkHeaderFooterToPreviousCommand; },
/* harmony export */   WI: function() { return /* binding */ SetDifferentFirstPageHeaderFooterCommand; },
/* harmony export */   XA: function() { return /* binding */ ChangePageColorCommand; },
/* harmony export */   bE: function() { return /* binding */ SectionColumn; },
/* harmony export */   bf: function() { return /* binding */ GoToHeaderCommand; },
/* harmony export */   bs: function() { return /* binding */ ChangePageMarginsCommand; },
/* harmony export */   dA: function() { return /* binding */ ChangeSectionColumnsCommand; },
/* harmony export */   i5: function() { return /* binding */ Orientation; },
/* harmony export */   iK: function() { return /* binding */ GoToNextHeaderFooterCommand; },
/* harmony export */   mT: function() { return /* binding */ Margins; },
/* harmony export */   oQ: function() { return /* binding */ OpenPageMarginsDialogCommand; },
/* harmony export */   p_: function() { return /* binding */ ChangePageOrientationCommand; },
/* harmony export */   vp: function() { return /* binding */ ChangePageSizeCommand; },
/* harmony export */   wE: function() { return /* binding */ OpenPagePaperSizeDialogCommand; },
/* harmony export */   yq: function() { return /* binding */ InsertHeaderCommand; },
/* harmony export */   z_: function() { return /* binding */ GoToPreviousHeaderFooterCommand; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6353);
/* harmony import */ var _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3604);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9145);
/* harmony import */ var _common_commands_dialogs_dialog_columns_command__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2433);
/* harmony import */ var _common_commands_dialogs_dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5715);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3468);
/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5535);
/* harmony import */ var _common_model_section_paper_kind__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6498);











class ChangePageMarginsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SetSectionPageMargins;
    }
    execute(left, top, right, bottom) {
        switch (arguments.length) {
            case 4:
                const _22_inches = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.inchesToTwips(22);
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumberByBounds(left, 0, _22_inches, 'left');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumberByBounds(top, -_22_inches, _22_inches, 'top');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumberByBounds(right, 0, _22_inches, 'right');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumberByBounds(bottom, -_22_inches, _22_inches, 'bottom');
                return this.coreCommand.execute(true, new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandSimpleOptions */ .LF(this._core, new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_2__/* .Margins */ .m(arguments[0], arguments[2], arguments[1], arguments[3])));
            case 1:
                const margins = left;
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertObject(margins, 'margins');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumber(margins.left, 'margins.left');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumber(margins.right, 'margins.right');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumber(margins.top, 'margins.top');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumber(margins.bottom, 'margins.bottom');
                return this.coreCommand.execute(true, new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandSimpleOptions */ .LF(this._core, new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_2__/* .Margins */ .m(margins.left, margins.right, margins.top, margins.bottom)));
            default: throw new Error('arguments must be a Margins object, or a list of margin of each side: left, top, right, bottom');
        }
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class OpenPageMarginsDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ShowPageMarginsSetupForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangePageOrientationCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SetLandscapePageOrientation;
    }
    execute(orientation) {
        _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertEnum(orientation, Orientation, 'Orientation', 'orientation');
        if (orientation === Orientation.Portrait)
            return this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SetPortraitPageOrientation).execute(true);
        return this.coreCommand.execute(true);
    }
    getState() {
        const state = this.coreState;
        if (state.value)
            return new _states__WEBPACK_IMPORTED_MODULE_10__/* .CommandState */ .J(state.visible, state.enabled, Orientation.Landscape);
        else if (this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SetPortraitPageOrientation).getState())
            return new _states__WEBPACK_IMPORTED_MODULE_10__/* .CommandState */ .J(state.visible, state.enabled, Orientation.Portrait);
        return new _states__WEBPACK_IMPORTED_MODULE_10__/* .CommandState */ .J(state.visible, state.enabled, undefined);
    }
}
class OpenPagePaperSizeDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ShowPagePaperSetupForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class SetPageSizeDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ShowPagePaperSetupForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangePageSizeCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SetSectionPageSize;
    }
    execute(width, height) {
        switch (arguments.length) {
            case 2:
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNonNegativeNumber(width, 'width');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNonNegativeNumber(height, 'height');
                return this.coreCommand.execute(true, { size: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__.Size(arguments[0], arguments[1]), updateOrientation: true,
                    paperKind: _common_model_section_paper_kind__WEBPACK_IMPORTED_MODULE_8__/* .PaperSizeConverter */ .Y.calculatePaperKind(new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__.Size(width, height), _common_model_section_paper_kind__WEBPACK_IMPORTED_MODULE_8__/* .PaperKind */ .e.Custom, 0, _common_model_section_paper_kind__WEBPACK_IMPORTED_MODULE_8__/* .PaperKind */ .e.Letter) });
            case 1:
                const size = width;
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertObject(size, 'size');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumber(size.width, 'size.width');
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumber(size.height, 'size.height');
                const sizeCore = new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__.Size(size.width, size.height);
                return this.coreCommand.execute(true, { size: sizeCore, updateOrientation: true,
                    paperKind: _common_model_section_paper_kind__WEBPACK_IMPORTED_MODULE_8__/* .PaperSizeConverter */ .Y.calculatePaperKind(sizeCore, _common_model_section_paper_kind__WEBPACK_IMPORTED_MODULE_8__/* .PaperKind */ .e.Custom, 0, _common_model_section_paper_kind__WEBPACK_IMPORTED_MODULE_8__/* .PaperKind */ .e.Letter) });
            default:
                throw new Error('Arguments must be Size or list of width and height');
        }
    }
    getState() {
        const state = this.coreState;
        const stateSize = state.value;
        const size = new Size();
        size.width = stateSize.width;
        size.height = stateSize.height;
        return new _states__WEBPACK_IMPORTED_MODULE_10__/* .CommandState */ .J(state.visible, state.enabled, size);
    }
}
class ChangeSectionEqualColumnCountCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SetSectionColumnCount;
    }
    execute(columnCount) {
        _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertPositiveNumber(columnCount, 'columnCount');
        return this.coreCommand.execute(true, columnCount);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class OpenSectionColumnsDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ShowColumnsSetupForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeSectionColumnsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ShowColumnsSetupForm;
    }
    execute(columns) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertArray(columns, 'columns');
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        parameters.columnsInfo.columns = [];
        for (let i = 0, column; column = columns[i]; i++) {
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertObject(column, 'column');
            const columnUI = new _common_commands_dialogs_dialog_columns_command__WEBPACK_IMPORTED_MODULE_5__/* .ColumnInfoUI */ .SC(0);
            columnUI.width = column.width;
            columnUI.spacing = column.spacing;
            parameters.columnsInfo.columns.push(columnUI);
        }
        parameters.columnsInfo.columnCount = parameters.columnsInfo.columns.length;
        parameters.columnsInfo.equalColumnWidth = false;
        parameters.columnsInfo.applyType = _common_commands_dialogs_dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_6__/* .SectionPropertiesApplyType */ .TC.SelectedSections;
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_4__/* .CommandOptions */ .dg(this._core));
        const value = [];
        for (let i = 0, columnUI; columnUI = parameters.columnsInfo.columns[i]; i++) {
            const column = new SectionColumn();
            column.spacing = columnUI.spacing;
            column.width = columnUI.width;
            value.push(column);
        }
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createStateWithValue(state, value);
    }
}
class ChangePageColorCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ChangePageColor;
    }
    execute(color) {
        const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(color, 1, false, _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.colorDescriptors('color'));
        return this.coreCommand.execute(true, coreColor);
    }
    getState() {
        const state = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
        state.value = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.internalColorToApiColor(this.coreState.value);
        return state;
    }
}
class InsertHeaderCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.InsertHeader;
    }
    execute() {
        return this.coreCommand.execute(true, null);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertFooterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.InsertFooter;
    }
    execute() {
        return this.coreCommand.execute(true, null);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class LinkHeaderFooterToPreviousCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.LinkHeaderFooterToPrevious;
    }
    execute() {
        return this.coreCommand.execute(true, null);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToFooterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToPageFooter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToHeaderCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToPageHeader;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToNextHeaderFooterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToNextPageHeaderFooter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class GoToPreviousHeaderFooterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToPreviousPageHeaderFooter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class SetDifferentFirstPageHeaderFooterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ToggleDifferentFirstPage;
    }
    execute(differentFirstPage) {
        if (differentFirstPage !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertBoolean(differentFirstPage, 'differentFirstPage');
        return this.coreCommand.execute(true, differentFirstPage);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class SetDifferentOddAndEvenPagesHeaderFooterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ToggleDifferentOddAndEvenPages;
    }
    execute(differentOddAndEvenPages) {
        if (differentOddAndEvenPages !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertBoolean(differentOddAndEvenPages, 'differentFirstPage');
        return this.coreCommand.execute(true, differentOddAndEvenPages);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class CloseHeaderFooterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ClosePageHeaderFooter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class SectionColumn {
}
class Size {
}
class Margins {
}
var Orientation;
(function (Orientation) {
    Orientation[Orientation["Landscape"] = 0] = "Landscape";
    Orientation[Orientation["Portrait"] = 1] = "Portrait";
})(Orientation || (Orientation = {}));


/***/ }),

/***/ 889:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AX: function() { return /* binding */ ParagraphFormattingSettings; },
/* harmony export */   Ad: function() { return /* binding */ TabsSettings; },
/* harmony export */   CZ: function() { return /* binding */ SetSesquialteralParagraphSpacingCommand; },
/* harmony export */   DC: function() { return /* binding */ IncrementParagraphLeftIndentCommand; },
/* harmony export */   DP: function() { return /* binding */ AddSpacingBeforeParagraphCommand; },
/* harmony export */   Db: function() { return /* binding */ ChangeParagraphFormattingCommand; },
/* harmony export */   G$: function() { return /* binding */ ToggleParagraphAlignmentJustifyCommand; },
/* harmony export */   I9: function() { return /* binding */ ToggleParagraphAlignmentCenterCommand; },
/* harmony export */   K9: function() { return /* binding */ TabAlign; },
/* harmony export */   LT: function() { return /* binding */ TabLeaderType; },
/* harmony export */   Lo: function() { return /* binding */ IncreaseIndentCommand; },
/* harmony export */   Lw: function() { return /* binding */ ToggleParagraphAlignmentRightCommand; },
/* harmony export */   O_: function() { return /* binding */ ToggleParagraphAlignmentLeftCommand; },
/* harmony export */   Qi: function() { return /* binding */ ParagraphFirstLineIndent; },
/* harmony export */   RO: function() { return /* binding */ ChangeParagraphBackColorCommand; },
/* harmony export */   TB: function() { return /* binding */ TabSettings; },
/* harmony export */   Wq: function() { return /* binding */ OpenTabsDialogCommand; },
/* harmony export */   X9: function() { return /* binding */ AddSpacingAfterParagraphCommand; },
/* harmony export */   Yc: function() { return /* binding */ DecreaseIndentCommand; },
/* harmony export */   Zh: function() { return /* binding */ RemoveSpacingAfterParagraphCommand; },
/* harmony export */   _W: function() { return /* binding */ OpenParagraphFormattingDialogCommand; },
/* harmony export */   ar: function() { return /* binding */ ChangeTabsCommand; },
/* harmony export */   le: function() { return /* binding */ ShowHiddenSymbolsCommand; },
/* harmony export */   mT: function() { return /* binding */ SetDoubleParagraphSpacingCommand; },
/* harmony export */   rn: function() { return /* binding */ RemoveSpacingBeforeParagraphCommand; },
/* harmony export */   sB: function() { return /* binding */ SetParagraphLevelCommand; },
/* harmony export */   tl: function() { return /* binding */ SetSingleParagraphSpacingCommand; },
/* harmony export */   wq: function() { return /* binding */ ParagraphAlignment; },
/* harmony export */   yX: function() { return /* binding */ ParagraphLineSpacingType; },
/* harmony export */   zK: function() { return /* binding */ DecrementParagraphLeftIndentCommand; }
/* harmony export */ });
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);
/* harmony import */ var _common_model_color_color_model_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4837);
/* harmony import */ var _common_model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1423);
/* harmony import */ var _common_model_paragraph_paragraph_properties_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9687);
/* harmony import */ var _common_model_paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5631);
/* harmony import */ var _common_model_shadings_shading_info__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3428);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3468);
/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5535);










class IncreaseIndentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.IncreaseIndent;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DecreaseIndentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DecreaseIndent;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ShowHiddenSymbolsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleShowWhitespace;
    }
    execute(show) {
        return this.coreCommand.execute(true, show);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleParagraphAlignmentLeftCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleParagraphAlignmentLeft;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleParagraphAlignmentCenterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleParagraphAlignmentCenter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleParagraphAlignmentRightCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleParagraphAlignmentRight;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleParagraphAlignmentJustifyCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleParagraphAlignmentJustify;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class SetSingleParagraphSpacingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetSingleParagraphSpacing;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class SetSesquialteralParagraphSpacingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetSesquialteralParagraphSpacing;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class SetDoubleParagraphSpacingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetDoubleParagraphSpacing;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class AddSpacingBeforeParagraphCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.AddSpacingBeforeParagraph;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class AddSpacingAfterParagraphCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.AddSpacingAfterParagraph;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class RemoveSpacingBeforeParagraphCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.RemoveSpacingBeforeParagraph;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class RemoveSpacingAfterParagraphCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.RemoveSpacingAfterParagraph;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeParagraphBackColorCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeParagraphBackColor;
    }
    execute(color) {
        const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(color, 1, false, _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.colorDescriptors('color'));
        return this.coreCommand.execute(true, coreColor);
    }
    getState() {
        const state = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
        state.value = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.internalColorToApiColor(this.coreState.value);
        return state;
    }
}
class OpenParagraphFormattingDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowParagraphForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeParagraphFormattingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowParagraphForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        settings = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.objectDescriptor('settings', 'ParagraphFormattingSettings', (val) => val)
        ]);
        const props = new _common_model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_3__/* .ParagraphProperties */ .Y4();
        props.alignment = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.alignment, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.enumDescriptor('settings.alignment', (val) => val, ParagraphAlignment, 'ASPx.ParagraphAlignment')
        ]);
        props.contextualSpacing = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.contextualSpacing, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.contextualSpacing', (val) => val)
        ]);
        props.firstLineIndent = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.firstLineIndent, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.firstLineIndent', (val) => val)
        ]);
        props.firstLineIndentType = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.firstLineIndentType, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.enumDescriptor('settings.firstLineIndentType', (val) => val, ParagraphFirstLineIndent, 'ASPx.ParagraphFirstLineIndent')
        ]);
        props.keepLinesTogether = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.keepLinesTogether, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.keepLinesTogether', (val) => val)
        ]);
        props.leftIndent = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.leftIndent, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.leftIndent', (val) => val)
        ]);
        props.outlineLevel = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.outlineLevel, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.outlineLevel', (val) => val)
        ]);
        props.pageBreakBefore = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.pageBreakBefore, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.pageBreakBefore', (val) => val)
        ]);
        props.rightIndent = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.rightIndent, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.rightIndent', (val) => val)
        ]);
        props.spacingAfter = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.spacingAfter, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.spacingAfter', (val) => val)
        ]);
        props.spacingBefore = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.spacingBefore, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.spacingBefore', (val) => val)
        ]);
        const backColor = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.backColor, 1, true, _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.colorDescriptors('settings.backColor'));
        props.shadingInfo = backColor === undefined ? undefined : _common_model_shadings_shading_info__WEBPACK_IMPORTED_MODULE_6__/* .ShadingInfo */ .g.createByColor(_common_model_color_color_model_info__WEBPACK_IMPORTED_MODULE_2__/* .ColorModelInfo */ .k.makeByColor(backColor));
        props.lineSpacingType = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.lineSpacingType, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.enumDescriptor('settings.lineSpacingType', (val) => val, ParagraphLineSpacingType, 'ASPx.ParagraphLineSpacingType')
        ]);
        props.lineSpacing = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.check(settings.lineSpacing, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.lineSpacing', (val) => val)
        ]);
        return new _common_model_paragraph_paragraph_properties_helper__WEBPACK_IMPORTED_MODULE_4__/* .ParagraphPropertiesApplier */ .m(this._core.modelManager, this._core.inputPosition, props, this._core.selection.activeSubDocument, this._core.selection.intervals).apply();
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const rawParProps = this._core.inputPosition.getMergedParagraphPropertiesRaw();
        const value = new ParagraphFormattingSettings();
        value.alignment = rawParProps.alignment === undefined ?
            undefined :
            rawParProps.alignment;
        value.contextualSpacing = rawParProps.contextualSpacing;
        value.firstLineIndent = rawParProps.firstLineIndent;
        value.firstLineIndentType = rawParProps.firstLineIndentType === undefined ?
            undefined :
            rawParProps.firstLineIndentType;
        value.keepLinesTogether = rawParProps.keepLinesTogether;
        value.leftIndent = rawParProps.leftIndent;
        value.lineSpacingType = rawParProps.lineSpacingType === undefined ?
            undefined :
            rawParProps.lineSpacingType;
        value.lineSpacing = rawParProps.lineSpacing;
        value.outlineLevel = rawParProps.outlineLevel;
        value.pageBreakBefore = rawParProps.pageBreakBefore;
        value.rightIndent = rawParProps.rightIndent;
        value.spacingAfter = rawParProps.spacingAfter;
        value.spacingBefore = rawParProps.spacingBefore;
        value.backColor = _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.internalColorToApiColor(rawParProps.shadingInfo.getActualColor(this._core.modelManager.model.colorProvider));
        return new _states__WEBPACK_IMPORTED_MODULE_9__/* .CommandState */ .J(state.visible, state.enabled, value);
    }
}
class IncrementParagraphLeftIndentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.IncrementParagraphLeftIndent;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DecrementParagraphLeftIndentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DecrementParagraphLeftIndent;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class OpenTabsDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowTabsForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeTabsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowTabsForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        if (settings.defaultTabStop !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.defaultTabStop, 'settings.defaultTabStop');
            parameters.defaultTabStop = settings.defaultTabStop;
        }
        if (settings.tabs) {
            parameters.tabProperties.tabsInfo = [];
            for (let i = 0, tab; tab = settings.tabs[i]; i++) {
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertEnum(tab.alignment, TabAlign, 'TabAlign', `tabs[${i}].alignment`);
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertEnum(tab.leader, TabLeaderType, 'TabLeaderType', `tabs[${i}].leader`);
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNonNegativeNumber(tab.position, `tabs[${i}].position`);
                _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertBoolean(tab.deleted, `tabs[${i}].deleted`);
                const tabInfo = new _common_model_paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_5__/* .TabInfo */ .i3(tab.position, tab.alignment, tab.leader, tab.deleted, false);
                parameters.tabProperties.tabsInfo.push(tabInfo);
            }
        }
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const settings = new TabsSettings();
        settings.defaultTabStop = parameters.defaultTabStop;
        for (let i = 0, tabInfo; tabInfo = parameters.tabProperties.tabsInfo[i]; i++) {
            const tabSettings = new TabSettings();
            tabSettings.alignment = tabInfo.alignment;
            tabSettings.leader = tabInfo.leader;
            tabSettings.position = tabInfo.position;
            tabSettings.deleted = tabInfo.deleted;
            settings.tabs.push(tabSettings);
        }
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createStateWithValue(state, settings);
    }
}
class SetParagraphLevelCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetParagraphLevel;
    }
    execute(level) {
        _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNonNegativeNumber(level, 'level');
        _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.assertNumberByBounds(level, 0, 9, 'level');
        return this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetParagraphLevel).execute(true, level);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_7__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class TabsSettings {
    constructor() {
        this.tabs = [];
    }
}
class TabSettings {
}
var TabAlign;
(function (TabAlign) {
    TabAlign[TabAlign["Left"] = 0] = "Left";
    TabAlign[TabAlign["Center"] = 1] = "Center";
    TabAlign[TabAlign["Right"] = 2] = "Right";
    TabAlign[TabAlign["Decimal"] = 3] = "Decimal";
    TabAlign[TabAlign["Numbering"] = 4] = "Numbering";
})(TabAlign || (TabAlign = {}));
var TabLeaderType;
(function (TabLeaderType) {
    TabLeaderType[TabLeaderType["None"] = 0] = "None";
    TabLeaderType[TabLeaderType["Dots"] = 1] = "Dots";
    TabLeaderType[TabLeaderType["MiddleDots"] = 2] = "MiddleDots";
    TabLeaderType[TabLeaderType["Hyphens"] = 3] = "Hyphens";
    TabLeaderType[TabLeaderType["Underline"] = 4] = "Underline";
    TabLeaderType[TabLeaderType["ThickLine"] = 5] = "ThickLine";
    TabLeaderType[TabLeaderType["EqualSign"] = 6] = "EqualSign";
})(TabLeaderType || (TabLeaderType = {}));
class ParagraphFormattingSettings {
}
var ParagraphAlignment;
(function (ParagraphAlignment) {
    ParagraphAlignment[ParagraphAlignment["Left"] = 0] = "Left";
    ParagraphAlignment[ParagraphAlignment["Right"] = 1] = "Right";
    ParagraphAlignment[ParagraphAlignment["Center"] = 2] = "Center";
    ParagraphAlignment[ParagraphAlignment["Justify"] = 3] = "Justify";
})(ParagraphAlignment || (ParagraphAlignment = {}));
var ParagraphLineSpacingType;
(function (ParagraphLineSpacingType) {
    ParagraphLineSpacingType[ParagraphLineSpacingType["Single"] = 0] = "Single";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Sesquialteral"] = 1] = "Sesquialteral";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Double"] = 2] = "Double";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Multiple"] = 3] = "Multiple";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Exactly"] = 4] = "Exactly";
    ParagraphLineSpacingType[ParagraphLineSpacingType["AtLeast"] = 5] = "AtLeast";
})(ParagraphLineSpacingType || (ParagraphLineSpacingType = {}));
var ParagraphFirstLineIndent;
(function (ParagraphFirstLineIndent) {
    ParagraphFirstLineIndent[ParagraphFirstLineIndent["None"] = 0] = "None";
    ParagraphFirstLineIndent[ParagraphFirstLineIndent["Indented"] = 1] = "Indented";
    ParagraphFirstLineIndent[ParagraphFirstLineIndent["Hanging"] = 2] = "Hanging";
})(ParagraphFirstLineIndent || (ParagraphFirstLineIndent = {}));


/***/ }),

/***/ 2248:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $k: function() { return /* binding */ ToggleTableCellAlignMiddleCenterCommand; },
/* harmony export */   AG: function() { return /* binding */ ToggleTableCellAlignTopCenterCommand; },
/* harmony export */   Ad: function() { return /* binding */ TableCellVerticalAlignment; },
/* harmony export */   CT: function() { return /* binding */ SplitTableCellsDialogCommand; },
/* harmony export */   F: function() { return /* binding */ DeleteTableCommand; },
/* harmony export */   HO: function() { return /* binding */ TableWidthUnitType; },
/* harmony export */   HS: function() { return /* binding */ ToggleTableAutoFitContentsCommand; },
/* harmony export */   Jg: function() { return /* binding */ ChangeTableBorderRepositoryItemCommand; },
/* harmony export */   Ko: function() { return /* binding */ DeleteTableCellsWithShiftVerticallyCommand; },
/* harmony export */   LG: function() { return /* binding */ ToggleTableCellLeftBorderCommand; },
/* harmony export */   ML: function() { return /* binding */ RemoveTableCellBordersCommand; },
/* harmony export */   Mv: function() { return /* binding */ InsertTableCellsDialogCommand; },
/* harmony export */   N6: function() { return /* binding */ ToggleTableCellAlignMiddleRightCommand; },
/* harmony export */   NL: function() { return /* binding */ ToggleTableCellBottomBorderCommand; },
/* harmony export */   OY: function() { return /* binding */ ChangeTableRowPreferredHeightCommand; },
/* harmony export */   PR: function() { return /* binding */ OpenInsertTableDialogCommand; },
/* harmony export */   Pf: function() { return /* binding */ ToggleTableCellAlignBottomCenterCommand; },
/* harmony export */   Tl: function() { return /* binding */ InsertTableColumnToTheRightCommand; },
/* harmony export */   VQ: function() { return /* binding */ ToggleTableCellAlignMiddleLeftCommand; },
/* harmony export */   W_: function() { return /* binding */ ToggleTableCellAllBordersCommand; },
/* harmony export */   Wf: function() { return /* binding */ ToggleTableCellInsideBordersCommand; },
/* harmony export */   X: function() { return /* binding */ TableHeightUnitType; },
/* harmony export */   Xy: function() { return /* binding */ ToggleTableCellAlignBottomRightCommand; },
/* harmony export */   Y8: function() { return /* binding */ OpenTableFormattingDialogCommand; },
/* harmony export */   Z7: function() { return /* binding */ ChangeTableStyleCommand; },
/* harmony export */   _6: function() { return /* binding */ TableRowAlignment; },
/* harmony export */   _F: function() { return /* binding */ DeleteTableCellsWithShiftHorizontallyCommand; },
/* harmony export */   _G: function() { return /* binding */ TableBorderSettings; },
/* harmony export */   _c: function() { return /* binding */ ChangeTableBordersAndShadingCommand; },
/* harmony export */   aN: function() { return /* binding */ TableHeightUnit; },
/* harmony export */   ag: function() { return /* binding */ InsertTableCellWithShiftToTheLeftCommand; },
/* harmony export */   c8: function() { return /* binding */ InsertTableRowAboveCommand; },
/* harmony export */   cb: function() { return /* binding */ ToggleTableCellAlignBottomLeftCommand; },
/* harmony export */   cr: function() { return /* binding */ MergeTableCellsCommand; },
/* harmony export */   dz: function() { return /* binding */ DeleteTableColumnsCommand; },
/* harmony export */   hy: function() { return /* binding */ ToggleTableFixedColumnWidthCommand; },
/* harmony export */   kS: function() { return /* binding */ ChangeTableFormattingCommand; },
/* harmony export */   lL: function() { return /* binding */ ShowTableGridLinesCommand; },
/* harmony export */   ln: function() { return /* binding */ ToggleTableCellInsideVerticalBordersCommand; },
/* harmony export */   mg: function() { return /* binding */ TableCellFormattingSettings; },
/* harmony export */   nr: function() { return /* binding */ InsertTableRowBelowCommand; },
/* harmony export */   oW: function() { return /* binding */ ToggleTableCellInsideHorizontalBordersCommand; },
/* harmony export */   p3: function() { return /* binding */ ToggleTableCellAlignTopLeftCommand; },
/* harmony export */   pO: function() { return /* binding */ DeleteTableRowsCommand; },
/* harmony export */   q1: function() { return /* binding */ ToggleTableCellRightBorderCommand; },
/* harmony export */   qZ: function() { return /* binding */ ToggleTableCellAlignTopRightCommand; },
/* harmony export */   rE: function() { return /* binding */ TableBordersSettings; },
/* harmony export */   rz: function() { return /* binding */ ToggleTableAutoFitWindowCommand; },
/* harmony export */   sV: function() { return /* binding */ InsertTableColumnToTheLeftCommand; },
/* harmony export */   s_: function() { return /* binding */ ChangeTableCellPreferredWidthCommand; },
/* harmony export */   sk: function() { return /* binding */ ChangeTableColumnPreferredWidthCommand; },
/* harmony export */   st: function() { return /* binding */ TableLookSettings; },
/* harmony export */   tC: function() { return /* binding */ ToggleTableCellTopBorderCommand; },
/* harmony export */   tJ: function() { return /* binding */ ChangeTableCellShadingCommand; },
/* harmony export */   tl: function() { return /* binding */ InsertTableCellsWithShiftToTheVerticallyCommand; },
/* harmony export */   uF: function() { return /* binding */ ToggleTableCellOutsideBordersCommand; },
/* harmony export */   uJ: function() { return /* binding */ BorderLineStyle; },
/* harmony export */   uN: function() { return /* binding */ OpenTableBordersAndShadingDialogCommand; },
/* harmony export */   ub: function() { return /* binding */ DeleteTableCellsDialogCommand; },
/* harmony export */   wN: function() { return /* binding */ TableFormattingSettings; },
/* harmony export */   yq: function() { return /* binding */ InsertTableCommand; },
/* harmony export */   z1: function() { return /* binding */ ChangeTableCellFormattingCommand; },
/* harmony export */   zd: function() { return /* binding */ ChangeTableLookCommand; },
/* harmony export */   zo: function() { return /* binding */ TableWidthUnit; },
/* harmony export */   zz: function() { return /* binding */ SplitTableCellsCommand; }
/* harmony export */ });
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);
/* harmony import */ var _common_model_color_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7217);
/* harmony import */ var _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(247);
/* harmony import */ var _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4857);
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(13);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3468);
/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(5535);
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6987);










class OpenInsertTableDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowInsertTableForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowInsertTableForm;
    }
    execute(columnCount, rowCount) {
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertPositiveNumber(columnCount, 'columnCount');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumberByBounds(columnCount, 1, 63, 'columnCount');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertPositiveNumber(rowCount, 'rowCount');
        return this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertTableCore).execute(true, { rowCount, cellCount: columnCount });
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class OpenTableFormattingDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowTablePropertiesForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeTableFormattingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowTablePropertiesForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        if (settings.alignment !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(settings.alignment, TableRowAlignment, 'TableRowAlignment', 'settings.alignment');
            parameters.tableRowAlignment = settings.alignment;
        }
        if (settings.allowSpacingBetweenCells !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(settings.allowSpacingBetweenCells, 'settings.allowSpacingBetweenCells');
            parameters.allowCellSpacing = settings.allowSpacingBetweenCells;
        }
        if (settings.defaultCellMarginBottom !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.defaultCellMarginBottom, 'settings.defaultCellMarginBottom');
            parameters.defaultCellMarginBottom = settings.defaultCellMarginBottom;
        }
        if (settings.defaultCellMarginLeft !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.defaultCellMarginLeft, 'settings.defaultCellMarginLeft');
            parameters.defaultCellMarginLeft = settings.defaultCellMarginLeft;
        }
        if (settings.defaultCellMarginRight !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.defaultCellMarginRight, 'settings.defaultCellMarginRight');
            parameters.defaultCellMarginRight = settings.defaultCellMarginRight;
        }
        if (settings.defaultCellMarginTop !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.defaultCellMarginTop, 'settings.defaultCellMarginTop');
            parameters.defaultCellMarginTop = settings.defaultCellMarginTop;
        }
        if (settings.indent !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.indent, 'settings.indent');
            parameters.tableIndent = settings.indent;
        }
        if (settings.preferredWidth !== undefined) {
            if (settings.preferredWidth == null) {
                parameters.useDefaultTableWidth = true;
            }
            else {
                _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.preferredWidth.value, 'settings.preferredWidth.value');
                _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(settings.preferredWidth.type, TableWidthUnitType, 'TableWidthUnitType', 'settings.preferredWidth.type');
                parameters.useDefaultTableWidth = false;
                parameters.tablePreferredWidth = _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableWidthUnit */ .CT.create(settings.preferredWidth.value, settings.preferredWidth.type);
            }
        }
        if (settings.resizeToFitContent !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(settings.resizeToFitContent, 'settings.resizeToFitContent');
            parameters.resizeToFitContent = settings.resizeToFitContent;
        }
        if (settings.spacingBetweenCells !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.spacingBetweenCells, 'settings.spacingBetweenCells');
            parameters.cellSpacing = settings.spacingBetweenCells;
        }
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const value = new TableFormattingSettings();
        value.alignment = parameters.tableRowAlignment;
        value.allowSpacingBetweenCells = parameters.allowCellSpacing;
        value.defaultCellMarginBottom = parameters.defaultCellMarginBottom;
        value.defaultCellMarginLeft = parameters.defaultCellMarginLeft;
        value.defaultCellMarginRight = parameters.defaultCellMarginRight;
        value.defaultCellMarginTop = parameters.defaultCellMarginTop;
        value.indent = parameters.tableIndent;
        value.preferredWidth = new TableWidthUnit();
        value.preferredWidth.type = parameters.tablePreferredWidth.type;
        value.preferredWidth.value = parameters.tablePreferredWidth.value;
        value.resizeToFitContent = parameters.resizeToFitContent;
        value.spacingBetweenCells = parameters.cellSpacing;
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class ChangeTableRowPreferredHeightCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableRowHeight;
    }
    execute(preferredHeight) {
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(preferredHeight.type, TableHeightUnitType, 'TableHeightUnitType', 'height.type');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNonNegativeNumber(preferredHeight.value, 'height.value');
        return this.coreCommand.execute(true, _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableHeightUnit */ .aN.create(preferredHeight.value, preferredHeight.type));
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible || !state.value)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(state, state.value);
        const coreValue = state.value;
        const value = new TableHeightUnit();
        value.type = coreValue.type;
        value.value = coreValue.value;
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class ChangeTableCellPreferredWidthCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableCellWidth;
    }
    execute(preferredWidth) {
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(preferredWidth.type, TableWidthUnitType, 'TableWidthUnitType', 'width.type');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNonNegativeNumber(preferredWidth.value, 'width.value');
        return this.coreCommand.execute(true, _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableWidthUnit */ .CT.create(preferredWidth.value, preferredWidth.type));
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible || !state.value)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(state, state.value);
        const coreValue = state.value;
        const value = new TableWidthUnit();
        value.type = coreValue.type;
        value.value = coreValue.value;
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class ChangeTableColumnPreferredWidthCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableCellWidth;
    }
    execute(preferredWidth) {
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(preferredWidth.type, TableWidthUnitType, 'TableWidthUnitType', 'width.type');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNonNegativeNumber(preferredWidth.value, 'width.value');
        return this.coreCommand.execute(true, _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableWidthUnit */ .CT.create(preferredWidth.value, preferredWidth.type));
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible || !state.value)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(state, state.value);
        const coreValue = state.value;
        const value = new TableWidthUnit();
        value.type = coreValue.type;
        value.value = coreValue.value;
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class ChangeTableCellFormattingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowTablePropertiesForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        if (settings.marginBottom !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.marginBottom, 'settings.marginBottom');
            parameters.cellMarginBottom = settings.marginBottom;
        }
        if (settings.marginLeft !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.marginLeft, 'settings.marginLeft');
            parameters.cellMarginLeft = settings.marginLeft;
        }
        if (settings.marginRight !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.marginRight, 'settings.marginRight');
            parameters.cellMarginRight = settings.marginRight;
        }
        if (settings.marginsSameAsTable !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(settings.marginsSameAsTable, 'settings.marginsSameAsTable');
            parameters.cellMarginsSameAsTable = settings.marginsSameAsTable;
        }
        if (settings.marginTop !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.marginTop, 'settings.marginTop');
            parameters.cellMarginTop = settings.marginTop;
        }
        if (settings.noWrap !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(settings.noWrap, 'settings.noWrap');
            parameters.cellNoWrap = settings.noWrap;
        }
        if (settings.preferredWidth !== undefined) {
            if (settings.preferredWidth == null) {
                parameters.useDefaultCellWidth = true;
            }
            else {
                _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNumber(settings.preferredWidth.value, 'settings.preferredWidth.value');
                _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(settings.preferredWidth.type, TableWidthUnitType, 'TableWidthUnitType', 'settings.preferredWidth.type');
                parameters.cellPreferredWidth = _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableWidthUnit */ .CT.create(settings.preferredWidth.value, settings.preferredWidth.type);
                parameters.useDefaultCellWidth = false;
            }
        }
        if (settings.verticalAlignment !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(settings.verticalAlignment, TableCellVerticalAlignment, 'TableCellVerticalAlignment', 'settings.verticalAlignment');
            parameters.cellVerticalAlignment = settings.verticalAlignment;
        }
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const value = new TableCellFormattingSettings();
        value.marginBottom = parameters.cellMarginBottom;
        value.marginLeft = parameters.cellMarginLeft;
        value.marginRight = parameters.cellMarginRight;
        value.marginsSameAsTable = parameters.cellMarginsSameAsTable;
        value.marginTop = parameters.cellMarginTop;
        value.noWrap = parameters.cellNoWrap;
        value.preferredWidth = new TableWidthUnit();
        value.preferredWidth.type = parameters.cellPreferredWidth.type;
        value.preferredWidth.value = parameters.cellPreferredWidth.value;
        value.verticalAlignment = parameters.cellVerticalAlignment;
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class InsertTableColumnToTheLeftCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertTableColumnToTheLeft;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableColumnToTheRightCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertTableColumnToTheRight;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableRowBelowCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertTableRowBelow;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableRowAboveCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertTableRowAbove;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DeleteTableRowsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DeleteTableRows;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DeleteTableColumnsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DeleteTableColumns;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableCellWithShiftToTheLeftCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertTableCellWithShiftToTheLeft;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DeleteTableCellsWithShiftHorizontallyCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DeleteTableCellsWithShiftToTheHorizontally;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DeleteTableCellsWithShiftVerticallyCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DeleteTableCellsWithShiftToTheVertically;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DeleteTableCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DeleteTable;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableCellsDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowInsertTableCellsForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DeleteTableCellsDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowDeleteTableCellsForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class MergeTableCellsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.MergeTableCells;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class SplitTableCellsDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowSplitTableCellsForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class SplitTableCellsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateDialogBase */ .Vt {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowSplitTableCellsForm;
    }
    execute(rowCount, columnCount, mergeBeforeSplit) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandOptions */ .dg(this._core));
        const initParameters = parameters.clone();
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertPositiveNumber(rowCount, 'rowCount');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertPositiveNumber(columnCount, 'columnCount');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(mergeBeforeSplit, 'mergeBeforeSplit');
        if (!parameters.disableRowsSelector) {
            if (parameters.availableRowNumber > 1)
                parameters.rowCount = rowCount > 1 ? parameters.availableRowNumber : 1;
            else
                parameters.rowCount = rowCount;
        }
        parameters.columnCount = columnCount;
        parameters.isMergeBeforeSplit = mergeBeforeSplit;
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class InsertTableCellsWithShiftToTheVerticallyCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertTableCellsWithShiftToTheVertically;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class OpenTableBordersAndShadingDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowBorderShadingForm;
    }
    execute() {
        return this.coreCommand.execute(true, new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, false));
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeTableBordersAndShadingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandDialogBase */ .Cm {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowBorderShadingForm;
    }
    execute(settings, applyToWholeTable) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        if (!settings)
            throw new Error('settings is required');
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(applyToWholeTable, 'applyToWholeTable');
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, applyToWholeTable));
        const initParameters = parameters.clone();
        if (settings.backgroundColor !== undefined) {
            const coreBackgroundColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertAndConvertColor(settings.backgroundColor, true, 'settings.backgroundColor');
            if (coreBackgroundColor === null)
                parameters.backgroundColor = _common_model_color_color__WEBPACK_IMPORTED_MODULE_2__/* .ColorHelper */ .v.NO_COLOR.toString();
            else
                parameters.backgroundColor = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_5__/* .ColorUtils */ .i.colorToHash(coreBackgroundColor);
        }
        parameters.applyToWholeTable = applyToWholeTable;
        if (!applyBorderSettingsToDialogParameters(settings.bottom, parameters.bottom, 'bottom'))
            parameters.bottom = undefined;
        if (!applyBorderSettingsToDialogParameters(settings.insideHorizontal, parameters.insideHorizontal, 'insideHorizontal'))
            parameters.insideHorizontal = undefined;
        if (!applyBorderSettingsToDialogParameters(settings.insideVertical, parameters.insideVertical, 'insideVertical'))
            parameters.insideVertical = undefined;
        if (!applyBorderSettingsToDialogParameters(settings.left, parameters.left, 'left'))
            parameters.left = undefined;
        if (!applyBorderSettingsToDialogParameters(settings.right, parameters.right, 'right'))
            parameters.right = undefined;
        if (!applyBorderSettingsToDialogParameters(settings.top, parameters.top, 'top'))
            parameters.top = undefined;
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, null);
        const value = new TableBordersSettings();
        const command = this.coreCommand;
        const parameters = command.createParameters(new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, true));
        value.backgroundColor = parameters.backgroundColor;
        value.bottom = createBorderSettings(parameters.bottom);
        value.insideHorizontal = createBorderSettings(parameters.insideHorizontal);
        value.insideVertical = createBorderSettings(parameters.insideVertical);
        value.left = createBorderSettings(parameters.left);
        value.right = createBorderSettings(parameters.right);
        value.top = createBorderSettings(parameters.top);
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(state, value);
    }
}
class ToggleTableCellAlignTopLeftCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignTopLeft;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignTopCenterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignTopCenter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignTopRightCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignTopRight;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignMiddleLeftCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignMiddleLeft;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignMiddleCenterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignMiddleCenter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignMiddleRightCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignMiddleRight;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignBottomLeftCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignBottomLeft;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignBottomCenterCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignBottomCenter;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellAlignBottomRightCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.TableCellAlignBottomRight;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeTableStyleCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ApplyTableStyle;
    }
    execute(style) {
        if (!style)
            throw new Error('Value is mandatory');
        if (style instanceof _styles__WEBPACK_IMPORTED_MODULE_7__/* .TableStyle */ .kA)
            return this.coreCommand.execute(true, style.name);
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertString(style, true, 'styleName');
        return this.coreCommand.execute(true, style);
    }
    getState() {
        const state = this.coreState;
        const styleName = state.value;
        return new _states__WEBPACK_IMPORTED_MODULE_9__/* .CommandState */ .J(state.visible, state.enabled, styleName ? new _styles__WEBPACK_IMPORTED_MODULE_7__/* .TableStyle */ .kA(this._core.modelManager.model.getTableStyleByName(styleName), []) : null);
    }
}
class ToggleTableCellTopBorderCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellsTopBorder;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellRightBorderCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellsRightBorder;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellBottomBorderCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellsBottomBorder;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellLeftBorderCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellsLeftBorder;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class RemoveTableCellBordersCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellNoBorder;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ToggleTableCellAllBordersCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellAllBorders;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellInsideBordersCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellInsideBorders;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellInsideHorizontalBordersCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellInsideHorizontalBorders;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellInsideVerticalBordersCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellInsideVerticalBorders;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableCellOutsideBordersCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTableCellOutsideBorders;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeTableLookCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableLook;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return false;
        let value = state.value;
        if (!settings)
            throw new Error('settings is mandatory parameter');
        value = applyTableLook(settings.applyFirstColumn, value, 'settings.applyFirstColumn', _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstColumn);
        value = applyTableLook(settings.applyFirstRow, value, 'settings.applyFirstRow', _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstRow);
        value = applyTableLook(settings.applyLastColumn, value, 'settings.applyLastColumn', _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastColumn);
        value = applyTableLook(settings.applyLastRow, value, 'settings.applyLastRow', _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastRow);
        value = applyTableLook(settings.doNotApplyColumnBanding, value, 'settings.doNotApplyColumnBanding', _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.DoNotApplyColumnBanding);
        value = applyTableLook(settings.doNotApplyRowBanding, value, 'settings.doNotApplyRowBanding', _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.DoNotApplyRowBanding);
        return this.coreCommand.execute(true, value);
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, null);
        const value = new TableLookSettings();
        value.applyFirstColumn = !!(state.value & _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstColumn);
        value.applyFirstRow = !!(state.value & _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstRow);
        value.applyLastColumn = !!(state.value & _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastColumn);
        value.applyLastRow = !!(state.value & _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastRow);
        value.doNotApplyColumnBanding = !!(state.value & _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.DoNotApplyColumnBanding);
        value.doNotApplyRowBanding = !!(state.value & _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.DoNotApplyRowBanding);
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, value);
    }
}
class ChangeTableBorderRepositoryItemCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableBorderColorRepositoryItem;
    }
    execute(settings) {
        let changed = false;
        if (settings.color !== undefined) {
            const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertAndConvertColor(settings.color, true, 'settings.color');
            changed = this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableBorderColorRepositoryItem)
                .execute(true, new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, coreColor === null ? null : _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_5__/* .ColorUtils */ .i.colorToHash(coreColor)));
        }
        if (settings.style !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(settings.style, BorderLineStyle, 'BorderLineStyle', 'settings.style');
            changed = this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableBorderStyleRepositoryItem).execute(true, settings.style);
        }
        if (settings.width !== undefined) {
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.width, 'settings.width');
            changed = this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableBorderWidthRepositoryItem).execute(true, settings.width);
        }
        return changed;
    }
    getState() {
        const coreBorder = this._core.modelManager.model.repositoryBorderItem;
        const settings = new TableBorderSettings();
        settings.color = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_5__/* .ColorUtils */ .i.colorToHash(coreBorder.color.toRgb(this._core.modelManager.model.colorProvider));
        settings.style = coreBorder.style;
        settings.width = coreBorder.width;
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(this.coreState, settings);
    }
}
class ChangeTableCellShadingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeTableCellShading;
    }
    execute(color) {
        return this.coreCommand.execute(true, color);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ShowTableGridLinesCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleShowTableGridLines;
    }
    execute(showTableGridLines) {
        return this.coreCommand.execute(true, showTableGridLines);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ToggleTableAutoFitContentsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetAutoFitContents;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ToggleTableAutoFitWindowCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetAutoFitWindow;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ToggleTableFixedColumnWidthCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SetFixedColumnWidth;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
function applyTableLook(settingValue, currentValue, fieldName, option) {
    if (settingValue !== undefined) {
        _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(settingValue, `settings.${fieldName}`);
        if (settingValue)
            currentValue |= option;
        else
            currentValue &= ~option;
    }
    return currentValue;
}
class TableLookSettings {
}
function createBorderSettings(parameters) {
    if (parameters === null)
        return undefined;
    const settings = new TableBorderSettings();
    settings.color = parameters.color;
    settings.style = parameters.style;
    settings.width = parameters.width;
    return settings;
}
function applyBorderSettingsToDialogParameters(settings, parameters, fieldName) {
    if (settings !== undefined) {
        if (!settings) {
            parameters.color = '#000000';
            parameters.style = BorderLineStyle.None;
            parameters.width = 0;
        }
        else {
            const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertAndConvertColor(settings.color, true, `settings.${fieldName}.color`);
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertNonNegativeNumber(settings.width, `settings.${fieldName}.width`);
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertEnum(settings.style, BorderLineStyle, 'BorderLineStyle', `settings.${fieldName}.style`);
            parameters.color = coreColor === null ? null : _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_5__/* .ColorUtils */ .i.colorToHash(coreColor);
            parameters.style = settings.style;
            parameters.width = settings.width;
        }
        return true;
    }
    return false;
}
class TableBordersSettings {
}
class TableBorderSettings {
}
var BorderLineStyle;
(function (BorderLineStyle) {
    BorderLineStyle[BorderLineStyle["Nil"] = -1] = "Nil";
    BorderLineStyle[BorderLineStyle["None"] = 0] = "None";
    BorderLineStyle[BorderLineStyle["Single"] = 1] = "Single";
    BorderLineStyle[BorderLineStyle["Thick"] = 2] = "Thick";
    BorderLineStyle[BorderLineStyle["Double"] = 3] = "Double";
    BorderLineStyle[BorderLineStyle["Dotted"] = 4] = "Dotted";
    BorderLineStyle[BorderLineStyle["Dashed"] = 5] = "Dashed";
    BorderLineStyle[BorderLineStyle["DotDash"] = 6] = "DotDash";
    BorderLineStyle[BorderLineStyle["DotDotDash"] = 7] = "DotDotDash";
    BorderLineStyle[BorderLineStyle["Triple"] = 8] = "Triple";
    BorderLineStyle[BorderLineStyle["ThinThickSmallGap"] = 9] = "ThinThickSmallGap";
    BorderLineStyle[BorderLineStyle["ThickThinSmallGap"] = 10] = "ThickThinSmallGap";
    BorderLineStyle[BorderLineStyle["ThinThickThinSmallGap"] = 11] = "ThinThickThinSmallGap";
    BorderLineStyle[BorderLineStyle["ThinThickMediumGap"] = 12] = "ThinThickMediumGap";
    BorderLineStyle[BorderLineStyle["ThickThinMediumGap"] = 13] = "ThickThinMediumGap";
    BorderLineStyle[BorderLineStyle["ThinThickThinMediumGap"] = 14] = "ThinThickThinMediumGap";
    BorderLineStyle[BorderLineStyle["ThinThickLargeGap"] = 15] = "ThinThickLargeGap";
    BorderLineStyle[BorderLineStyle["ThickThinLargeGap"] = 16] = "ThickThinLargeGap";
    BorderLineStyle[BorderLineStyle["ThinThickThinLargeGap"] = 17] = "ThinThickThinLargeGap";
    BorderLineStyle[BorderLineStyle["Wave"] = 18] = "Wave";
    BorderLineStyle[BorderLineStyle["DoubleWave"] = 19] = "DoubleWave";
    BorderLineStyle[BorderLineStyle["DashSmallGap"] = 20] = "DashSmallGap";
    BorderLineStyle[BorderLineStyle["DashDotStroked"] = 21] = "DashDotStroked";
    BorderLineStyle[BorderLineStyle["ThreeDEmboss"] = 22] = "ThreeDEmboss";
    BorderLineStyle[BorderLineStyle["ThreeDEngrave"] = 23] = "ThreeDEngrave";
    BorderLineStyle[BorderLineStyle["Outset"] = 24] = "Outset";
    BorderLineStyle[BorderLineStyle["Inset"] = 25] = "Inset";
    BorderLineStyle[BorderLineStyle["Apples"] = 26] = "Apples";
    BorderLineStyle[BorderLineStyle["ArchedScallops"] = 27] = "ArchedScallops";
    BorderLineStyle[BorderLineStyle["BabyPacifier"] = 28] = "BabyPacifier";
    BorderLineStyle[BorderLineStyle["BabyRattle"] = 29] = "BabyRattle";
    BorderLineStyle[BorderLineStyle["Balloons3Colors"] = 30] = "Balloons3Colors";
    BorderLineStyle[BorderLineStyle["BalloonsHotAir"] = 31] = "BalloonsHotAir";
    BorderLineStyle[BorderLineStyle["BasicBlackDashes"] = 32] = "BasicBlackDashes";
    BorderLineStyle[BorderLineStyle["BasicBlackDots"] = 33] = "BasicBlackDots";
    BorderLineStyle[BorderLineStyle["BasicBlackSquares"] = 34] = "BasicBlackSquares";
    BorderLineStyle[BorderLineStyle["BasicThinLines"] = 35] = "BasicThinLines";
    BorderLineStyle[BorderLineStyle["BasicWhiteDashes"] = 36] = "BasicWhiteDashes";
    BorderLineStyle[BorderLineStyle["BasicWhiteDots"] = 37] = "BasicWhiteDots";
    BorderLineStyle[BorderLineStyle["BasicWhiteSquares"] = 38] = "BasicWhiteSquares";
    BorderLineStyle[BorderLineStyle["BasicWideInline"] = 39] = "BasicWideInline";
    BorderLineStyle[BorderLineStyle["BasicWideMidline"] = 40] = "BasicWideMidline";
    BorderLineStyle[BorderLineStyle["BasicWideOutline"] = 41] = "BasicWideOutline";
    BorderLineStyle[BorderLineStyle["Bats"] = 42] = "Bats";
    BorderLineStyle[BorderLineStyle["Birds"] = 43] = "Birds";
    BorderLineStyle[BorderLineStyle["BirdsFlight"] = 44] = "BirdsFlight";
    BorderLineStyle[BorderLineStyle["Cabins"] = 45] = "Cabins";
    BorderLineStyle[BorderLineStyle["CakeSlice"] = 46] = "CakeSlice";
    BorderLineStyle[BorderLineStyle["CandyCorn"] = 47] = "CandyCorn";
    BorderLineStyle[BorderLineStyle["CelticKnotwork"] = 48] = "CelticKnotwork";
    BorderLineStyle[BorderLineStyle["CertificateBanner"] = 49] = "CertificateBanner";
    BorderLineStyle[BorderLineStyle["ChainLink"] = 50] = "ChainLink";
    BorderLineStyle[BorderLineStyle["ChampagneBottle"] = 51] = "ChampagneBottle";
    BorderLineStyle[BorderLineStyle["CheckedBarBlack"] = 52] = "CheckedBarBlack";
    BorderLineStyle[BorderLineStyle["CheckedBarColor"] = 53] = "CheckedBarColor";
    BorderLineStyle[BorderLineStyle["Checkered"] = 54] = "Checkered";
    BorderLineStyle[BorderLineStyle["ChristmasTree"] = 55] = "ChristmasTree";
    BorderLineStyle[BorderLineStyle["CirclesLines"] = 56] = "CirclesLines";
    BorderLineStyle[BorderLineStyle["CirclesRectangles"] = 57] = "CirclesRectangles";
    BorderLineStyle[BorderLineStyle["ClassicalWave"] = 58] = "ClassicalWave";
    BorderLineStyle[BorderLineStyle["Clocks"] = 59] = "Clocks";
    BorderLineStyle[BorderLineStyle["Compass"] = 60] = "Compass";
    BorderLineStyle[BorderLineStyle["Confetti"] = 61] = "Confetti";
    BorderLineStyle[BorderLineStyle["ConfettiGrays"] = 62] = "ConfettiGrays";
    BorderLineStyle[BorderLineStyle["ConfettiOutline"] = 63] = "ConfettiOutline";
    BorderLineStyle[BorderLineStyle["ConfettiStreamers"] = 64] = "ConfettiStreamers";
    BorderLineStyle[BorderLineStyle["ConfettiWhite"] = 65] = "ConfettiWhite";
    BorderLineStyle[BorderLineStyle["CornerTriangles"] = 66] = "CornerTriangles";
    BorderLineStyle[BorderLineStyle["CouponCutoutDashes"] = 67] = "CouponCutoutDashes";
    BorderLineStyle[BorderLineStyle["CouponCutoutDots"] = 68] = "CouponCutoutDots";
    BorderLineStyle[BorderLineStyle["CrazyMaze"] = 69] = "CrazyMaze";
    BorderLineStyle[BorderLineStyle["CreaturesButterfly"] = 70] = "CreaturesButterfly";
    BorderLineStyle[BorderLineStyle["CreaturesFish"] = 71] = "CreaturesFish";
    BorderLineStyle[BorderLineStyle["CreaturesInsects"] = 72] = "CreaturesInsects";
    BorderLineStyle[BorderLineStyle["CreaturesLadyBug"] = 73] = "CreaturesLadyBug";
    BorderLineStyle[BorderLineStyle["CrossStitch"] = 74] = "CrossStitch";
    BorderLineStyle[BorderLineStyle["Cup"] = 75] = "Cup";
    BorderLineStyle[BorderLineStyle["DecoArch"] = 76] = "DecoArch";
    BorderLineStyle[BorderLineStyle["DecoArchColor"] = 77] = "DecoArchColor";
    BorderLineStyle[BorderLineStyle["DecoBlocks"] = 78] = "DecoBlocks";
    BorderLineStyle[BorderLineStyle["DiamondsGray"] = 79] = "DiamondsGray";
    BorderLineStyle[BorderLineStyle["DoubleD"] = 80] = "DoubleD";
    BorderLineStyle[BorderLineStyle["DoubleDiamonds"] = 81] = "DoubleDiamonds";
    BorderLineStyle[BorderLineStyle["Earth1"] = 82] = "Earth1";
    BorderLineStyle[BorderLineStyle["Earth2"] = 83] = "Earth2";
    BorderLineStyle[BorderLineStyle["EclipsingSquares1"] = 84] = "EclipsingSquares1";
    BorderLineStyle[BorderLineStyle["EclipsingSquares2"] = 85] = "EclipsingSquares2";
    BorderLineStyle[BorderLineStyle["EggsBlack"] = 86] = "EggsBlack";
    BorderLineStyle[BorderLineStyle["Fans"] = 87] = "Fans";
    BorderLineStyle[BorderLineStyle["Film"] = 88] = "Film";
    BorderLineStyle[BorderLineStyle["Firecrackers"] = 89] = "Firecrackers";
    BorderLineStyle[BorderLineStyle["FlowersBlockPrint"] = 90] = "FlowersBlockPrint";
    BorderLineStyle[BorderLineStyle["FlowersDaisies"] = 91] = "FlowersDaisies";
    BorderLineStyle[BorderLineStyle["FlowersModern1"] = 92] = "FlowersModern1";
    BorderLineStyle[BorderLineStyle["FlowersModern2"] = 93] = "FlowersModern2";
    BorderLineStyle[BorderLineStyle["FlowersPansy"] = 94] = "FlowersPansy";
    BorderLineStyle[BorderLineStyle["FlowersRedRose"] = 95] = "FlowersRedRose";
    BorderLineStyle[BorderLineStyle["FlowersRoses"] = 96] = "FlowersRoses";
    BorderLineStyle[BorderLineStyle["FlowersTeacup"] = 97] = "FlowersTeacup";
    BorderLineStyle[BorderLineStyle["FlowersTiny"] = 98] = "FlowersTiny";
    BorderLineStyle[BorderLineStyle["Gems"] = 99] = "Gems";
    BorderLineStyle[BorderLineStyle["GingerbreadMan"] = 100] = "GingerbreadMan";
    BorderLineStyle[BorderLineStyle["Gradient"] = 101] = "Gradient";
    BorderLineStyle[BorderLineStyle["Handmade1"] = 102] = "Handmade1";
    BorderLineStyle[BorderLineStyle["Handmade2"] = 103] = "Handmade2";
    BorderLineStyle[BorderLineStyle["HeartBalloon"] = 104] = "HeartBalloon";
    BorderLineStyle[BorderLineStyle["HeartGray"] = 105] = "HeartGray";
    BorderLineStyle[BorderLineStyle["Hearts"] = 106] = "Hearts";
    BorderLineStyle[BorderLineStyle["HeebieJeebies"] = 107] = "HeebieJeebies";
    BorderLineStyle[BorderLineStyle["Holly"] = 108] = "Holly";
    BorderLineStyle[BorderLineStyle["HouseFunky"] = 109] = "HouseFunky";
    BorderLineStyle[BorderLineStyle["Hypnotic"] = 110] = "Hypnotic";
    BorderLineStyle[BorderLineStyle["IceCreamCones"] = 111] = "IceCreamCones";
    BorderLineStyle[BorderLineStyle["LightBulb"] = 112] = "LightBulb";
    BorderLineStyle[BorderLineStyle["Lightning1"] = 113] = "Lightning1";
    BorderLineStyle[BorderLineStyle["Lightning2"] = 114] = "Lightning2";
    BorderLineStyle[BorderLineStyle["MapleLeaf"] = 115] = "MapleLeaf";
    BorderLineStyle[BorderLineStyle["MapleMuffins"] = 116] = "MapleMuffins";
    BorderLineStyle[BorderLineStyle["MapPins"] = 117] = "MapPins";
    BorderLineStyle[BorderLineStyle["Marquee"] = 118] = "Marquee";
    BorderLineStyle[BorderLineStyle["MarqueeToothed"] = 119] = "MarqueeToothed";
    BorderLineStyle[BorderLineStyle["Moons"] = 120] = "Moons";
    BorderLineStyle[BorderLineStyle["Mosaic"] = 121] = "Mosaic";
    BorderLineStyle[BorderLineStyle["MusicNotes"] = 122] = "MusicNotes";
    BorderLineStyle[BorderLineStyle["Northwest"] = 123] = "Northwest";
    BorderLineStyle[BorderLineStyle["Ovals"] = 124] = "Ovals";
    BorderLineStyle[BorderLineStyle["Packages"] = 125] = "Packages";
    BorderLineStyle[BorderLineStyle["PalmsBlack"] = 126] = "PalmsBlack";
    BorderLineStyle[BorderLineStyle["PalmsColor"] = 127] = "PalmsColor";
    BorderLineStyle[BorderLineStyle["PaperClips"] = 128] = "PaperClips";
    BorderLineStyle[BorderLineStyle["Papyrus"] = 129] = "Papyrus";
    BorderLineStyle[BorderLineStyle["PartyFavor"] = 130] = "PartyFavor";
    BorderLineStyle[BorderLineStyle["PartyGlass"] = 131] = "PartyGlass";
    BorderLineStyle[BorderLineStyle["Pencils"] = 132] = "Pencils";
    BorderLineStyle[BorderLineStyle["People"] = 133] = "People";
    BorderLineStyle[BorderLineStyle["PeopleHats"] = 134] = "PeopleHats";
    BorderLineStyle[BorderLineStyle["PeopleWaving"] = 135] = "PeopleWaving";
    BorderLineStyle[BorderLineStyle["Poinsettias"] = 136] = "Poinsettias";
    BorderLineStyle[BorderLineStyle["PostageStamp"] = 137] = "PostageStamp";
    BorderLineStyle[BorderLineStyle["Pumpkin1"] = 138] = "Pumpkin1";
    BorderLineStyle[BorderLineStyle["PushPinNote1"] = 139] = "PushPinNote1";
    BorderLineStyle[BorderLineStyle["PushPinNote2"] = 140] = "PushPinNote2";
    BorderLineStyle[BorderLineStyle["Pyramids"] = 141] = "Pyramids";
    BorderLineStyle[BorderLineStyle["PyramidsAbove"] = 142] = "PyramidsAbove";
    BorderLineStyle[BorderLineStyle["Quadrants"] = 143] = "Quadrants";
    BorderLineStyle[BorderLineStyle["Rings"] = 144] = "Rings";
    BorderLineStyle[BorderLineStyle["Safari"] = 145] = "Safari";
    BorderLineStyle[BorderLineStyle["Sawtooth"] = 146] = "Sawtooth";
    BorderLineStyle[BorderLineStyle["SawtoothGray"] = 147] = "SawtoothGray";
    BorderLineStyle[BorderLineStyle["ScaredCat"] = 148] = "ScaredCat";
    BorderLineStyle[BorderLineStyle["Seattle"] = 149] = "Seattle";
    BorderLineStyle[BorderLineStyle["ShadowedSquares"] = 150] = "ShadowedSquares";
    BorderLineStyle[BorderLineStyle["SharksTeeth"] = 151] = "SharksTeeth";
    BorderLineStyle[BorderLineStyle["ShorebirdTracks"] = 152] = "ShorebirdTracks";
    BorderLineStyle[BorderLineStyle["Skyrocket"] = 153] = "Skyrocket";
    BorderLineStyle[BorderLineStyle["SnowflakeFancy"] = 154] = "SnowflakeFancy";
    BorderLineStyle[BorderLineStyle["Snowflakes"] = 155] = "Snowflakes";
    BorderLineStyle[BorderLineStyle["Sombrero"] = 156] = "Sombrero";
    BorderLineStyle[BorderLineStyle["Southwest"] = 157] = "Southwest";
    BorderLineStyle[BorderLineStyle["Stars"] = 158] = "Stars";
    BorderLineStyle[BorderLineStyle["Stars3d"] = 159] = "Stars3d";
    BorderLineStyle[BorderLineStyle["StarsBlack"] = 160] = "StarsBlack";
    BorderLineStyle[BorderLineStyle["StarsShadowed"] = 161] = "StarsShadowed";
    BorderLineStyle[BorderLineStyle["StarsTop"] = 162] = "StarsTop";
    BorderLineStyle[BorderLineStyle["Sun"] = 163] = "Sun";
    BorderLineStyle[BorderLineStyle["Swirligig"] = 164] = "Swirligig";
    BorderLineStyle[BorderLineStyle["TornPaper"] = 165] = "TornPaper";
    BorderLineStyle[BorderLineStyle["TornPaperBlack"] = 166] = "TornPaperBlack";
    BorderLineStyle[BorderLineStyle["Trees"] = 167] = "Trees";
    BorderLineStyle[BorderLineStyle["TriangleParty"] = 168] = "TriangleParty";
    BorderLineStyle[BorderLineStyle["Triangles"] = 169] = "Triangles";
    BorderLineStyle[BorderLineStyle["Tribal1"] = 170] = "Tribal1";
    BorderLineStyle[BorderLineStyle["Tribal2"] = 171] = "Tribal2";
    BorderLineStyle[BorderLineStyle["Tribal3"] = 172] = "Tribal3";
    BorderLineStyle[BorderLineStyle["Tribal4"] = 173] = "Tribal4";
    BorderLineStyle[BorderLineStyle["Tribal5"] = 174] = "Tribal5";
    BorderLineStyle[BorderLineStyle["Tribal6"] = 175] = "Tribal6";
    BorderLineStyle[BorderLineStyle["TwistedLines1"] = 176] = "TwistedLines1";
    BorderLineStyle[BorderLineStyle["TwistedLines2"] = 177] = "TwistedLines2";
    BorderLineStyle[BorderLineStyle["Vine"] = 178] = "Vine";
    BorderLineStyle[BorderLineStyle["Waveline"] = 179] = "Waveline";
    BorderLineStyle[BorderLineStyle["WeavingAngles"] = 180] = "WeavingAngles";
    BorderLineStyle[BorderLineStyle["WeavingBraid"] = 181] = "WeavingBraid";
    BorderLineStyle[BorderLineStyle["WeavingRibbon"] = 182] = "WeavingRibbon";
    BorderLineStyle[BorderLineStyle["WeavingStrips"] = 183] = "WeavingStrips";
    BorderLineStyle[BorderLineStyle["WhiteFlowers"] = 184] = "WhiteFlowers";
    BorderLineStyle[BorderLineStyle["Woodwork"] = 185] = "Woodwork";
    BorderLineStyle[BorderLineStyle["XIllusions"] = 186] = "XIllusions";
    BorderLineStyle[BorderLineStyle["ZanyTriangles"] = 187] = "ZanyTriangles";
    BorderLineStyle[BorderLineStyle["ZigZag"] = 188] = "ZigZag";
    BorderLineStyle[BorderLineStyle["ZigZagStitch"] = 189] = "ZigZagStitch";
})(BorderLineStyle || (BorderLineStyle = {}));
class TableCellFormattingSettings {
}
var TableCellVerticalAlignment;
(function (TableCellVerticalAlignment) {
    TableCellVerticalAlignment[TableCellVerticalAlignment["Top"] = 0] = "Top";
    TableCellVerticalAlignment[TableCellVerticalAlignment["Both"] = 1] = "Both";
    TableCellVerticalAlignment[TableCellVerticalAlignment["Center"] = 2] = "Center";
    TableCellVerticalAlignment[TableCellVerticalAlignment["Bottom"] = 3] = "Bottom";
})(TableCellVerticalAlignment || (TableCellVerticalAlignment = {}));
class TableFormattingSettings {
}
class TableWidthUnit {
}
class TableHeightUnit {
}
var TableHeightUnitType;
(function (TableHeightUnitType) {
    TableHeightUnitType[TableHeightUnitType["Minimum"] = 0] = "Minimum";
    TableHeightUnitType[TableHeightUnitType["Auto"] = 1] = "Auto";
    TableHeightUnitType[TableHeightUnitType["Exact"] = 2] = "Exact";
})(TableHeightUnitType || (TableHeightUnitType = {}));
var TableRowAlignment;
(function (TableRowAlignment) {
    TableRowAlignment[TableRowAlignment["Both"] = 0] = "Both";
    TableRowAlignment[TableRowAlignment["Center"] = 1] = "Center";
    TableRowAlignment[TableRowAlignment["Distribute"] = 2] = "Distribute";
    TableRowAlignment[TableRowAlignment["Left"] = 3] = "Left";
    TableRowAlignment[TableRowAlignment["NumTab"] = 4] = "NumTab";
    TableRowAlignment[TableRowAlignment["Right"] = 5] = "Right";
})(TableRowAlignment || (TableRowAlignment = {}));
var TableWidthUnitType;
(function (TableWidthUnitType) {
    TableWidthUnitType[TableWidthUnitType["Nil"] = 0] = "Nil";
    TableWidthUnitType[TableWidthUnitType["Auto"] = 1] = "Auto";
    TableWidthUnitType[TableWidthUnitType["FiftiethsOfPercent"] = 2] = "FiftiethsOfPercent";
    TableWidthUnitType[TableWidthUnitType["ModelUnits"] = 3] = "ModelUnits";
})(TableWidthUnitType || (TableWidthUnitType = {}));


/***/ }),

/***/ 8331:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ad: function() { return /* binding */ MakeTextLowerCaseCommand; },
/* harmony export */   As: function() { return /* binding */ ChangeFontBackColorCommand; },
/* harmony export */   DL: function() { return /* binding */ MakeTextUpperCaseCommand; },
/* harmony export */   Im: function() { return /* binding */ IncreaseFontSizeCommand; },
/* harmony export */   NP: function() { return /* binding */ ChangeFontUnderlineCommand; },
/* harmony export */   OV: function() { return /* binding */ ChangeFontSubscriptCommand; },
/* harmony export */   Od: function() { return /* binding */ ChangeStyleCommand; },
/* harmony export */   On: function() { return /* binding */ ChangeFontSuperscriptCommand; },
/* harmony export */   Sd: function() { return /* binding */ CapitalizeEachWordTextCaseCommand; },
/* harmony export */   T8: function() { return /* binding */ ClearFormattingCommand; },
/* harmony export */   UC: function() { return /* binding */ ChangeFontBoldCommand; },
/* harmony export */   Vg: function() { return /* binding */ CharacterFormattingScript; },
/* harmony export */   Yo: function() { return /* binding */ ChangeFontSizeCommand; },
/* harmony export */   bN: function() { return /* binding */ ChangeFontStrikeoutCommand; },
/* harmony export */   ed: function() { return /* binding */ ChangeFontFormattingCommand; },
/* harmony export */   hE: function() { return /* binding */ MakeTextSentenceCaseCommand; },
/* harmony export */   kp: function() { return /* binding */ SwitchTextCaseCommand; },
/* harmony export */   oR: function() { return /* binding */ ChangeFontForeColorCommand; },
/* harmony export */   p1: function() { return /* binding */ ToggleTextCaseCommand; },
/* harmony export */   pd: function() { return /* binding */ DecreaseFontSizeCommand; },
/* harmony export */   uU: function() { return /* binding */ FontFormattingSettings; },
/* harmony export */   vZ: function() { return /* binding */ OpenFontFormattingDialogCommand; },
/* harmony export */   vn: function() { return /* binding */ ChangeFontItalicCommand; },
/* harmony export */   xU: function() { return /* binding */ ChangeFontNameCommand; }
/* harmony export */ });
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_model_character_character_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1789);
/* harmony import */ var _common_model_character_character_properties_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7218);
/* harmony import */ var _common_model_character_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8579);
/* harmony import */ var _common_model_color_color_model_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4837);
/* harmony import */ var _common_model_shadings_shading_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3428);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3468);
/* harmony import */ var _states__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5535);
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6987);
/* harmony import */ var _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(396);











class ChangeFontNameCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeFontName;
    }
    execute(fontName) {
        return this.coreCommand.execute(true, fontName);
    }
    get fontNames() {
        return this._core.modelManager.model.cache.fontInfoCache.getFontNames();
    }
    getState() {
        const coreState = this.coreState;
        const coreStateValue = coreState.value ? coreState.value.name : undefined;
        return new _states__WEBPACK_IMPORTED_MODULE_10__/* .CommandState */ .J(coreState.visible, coreState.enabled, coreStateValue);
    }
}
class ChangeFontSizeCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeFontSize;
    }
    execute(fontSize) {
        return this.coreCommand.execute(true, fontSize);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class IncreaseFontSizeCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.IncreaseFontSize;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class DecreaseFontSizeCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.DecreaseFontSize;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class MakeTextUpperCaseCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.MakeTextUpperCase;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class MakeTextLowerCaseCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.MakeTextLowerCase;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class CapitalizeEachWordTextCaseCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.CapitalizeEachWordTextCase;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ToggleTextCaseCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleTextCase;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeFontBoldCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleFontBold;
    }
    execute(fontBold) {
        if (fontBold !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(fontBold, 'fontBold');
        return this.coreCommand.execute(true, fontBold);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeFontItalicCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleFontItalic;
    }
    execute(fontItalic) {
        if (fontItalic !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(fontItalic, 'fontItalic');
        return this.coreCommand.execute(true, fontItalic);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeFontUnderlineCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleFontUnderline;
    }
    execute(fontUnderline) {
        if (fontUnderline !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(fontUnderline, 'fontUnderline');
        return this.coreCommand.execute(true, fontUnderline);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeFontStrikeoutCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleFontStrikeout;
    }
    execute(fontStrikeout) {
        if (fontStrikeout !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(fontStrikeout, 'fontStrikeout');
        return this.coreCommand.execute(true, fontStrikeout);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeFontSuperscriptCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleFontSuperscript;
    }
    execute(fontSuperscript) {
        if (fontSuperscript !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(fontSuperscript, 'fontSuperscript');
        return this.coreCommand.execute(true, fontSuperscript);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeFontSubscriptCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleFontSubscript;
    }
    execute(fontSubscript) {
        if (fontSubscript !== undefined)
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.assertBoolean(fontSubscript, 'fontSubscript');
        return this.coreCommand.execute(true, fontSubscript);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeFontForeColorCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeFontForeColor;
    }
    execute(color) {
        const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(color, 1, false, _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.colorDescriptors('color'));
        return this.coreCommand.execute(true, coreColor);
    }
    getState() {
        const state = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
        state.value = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.internalColorToApiColor(this.coreState.value);
        return state;
    }
}
class ChangeFontBackColorCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeFontBackColor;
    }
    execute(color) {
        const coreColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(color, 1, false, _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.colorDescriptors('color'));
        return this.coreCommand.execute(true, coreColor);
    }
    getState() {
        const state = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createState(this.coreState);
        state.value = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.internalColorToApiColor(this.coreCommand.getCurrentValue()
            .toRgb(this._core.modelManager.model.colorProvider));
        return state;
    }
}
class ClearFormattingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ClearFormatting;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeStyleCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeStyle;
    }
    execute(style, isParagraphStyle) {
        if (!style)
            throw new Error('Value is mandatory');
        if (style instanceof _styles__WEBPACK_IMPORTED_MODULE_7__/* .StyleBase */ ._S) {
            if (style instanceof _styles__WEBPACK_IMPORTED_MODULE_7__/* .CharacterStyle */ .H2)
                return this.coreCommand.execute(true, _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_8__/* .StylesManager */ .D.characterPrefix + style.name);
            else if (style instanceof _styles__WEBPACK_IMPORTED_MODULE_7__/* .ParagraphStyle */ .PO)
                return this.coreCommand.execute(true, _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_8__/* .StylesManager */ .D.paragraphPrefix + style.name);
        }
        else if (typeof style === 'string') {
            if (isParagraphStyle) {
                if (!this._core.modelManager.model.getParagraphStyleByName(style))
                    throw new Error('Unknown paragraph Style');
                return this.coreCommand.execute(true, _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_8__/* .StylesManager */ .D.paragraphPrefix + style);
            }
            if (!this._core.modelManager.model.getCharacterStyleByName(style))
                throw new Error('Unknown character style');
            return this.coreCommand.execute(true, _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_8__/* .StylesManager */ .D.characterPrefix + style);
        }
        throw new Error('Value must be CharacterStyle or ParagraphStyle or string');
    }
    getState() {
        const state = this.coreState;
        const stateValue = state.value;
        let style = null;
        if (stateValue && stateValue.length) {
            const styleName = _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_8__/* .StylesManager */ .D.getStyleNameWithoutPrefix(stateValue);
            if (_common_model_styles_manager__WEBPACK_IMPORTED_MODULE_8__/* .StylesManager */ .D.isParagraphStyle(stateValue))
                style = new _styles__WEBPACK_IMPORTED_MODULE_7__/* .ParagraphStyle */ .PO(this._core.modelManager.model.getParagraphStyleByName(styleName), []);
            else
                style = new _styles__WEBPACK_IMPORTED_MODULE_7__/* .CharacterStyle */ .H2(this._core.modelManager.model.getCharacterStyleByName(styleName), []);
        }
        return new _states__WEBPACK_IMPORTED_MODULE_10__/* .CommandState */ .J(state.visible, state.enabled, style);
    }
}
class OpenFontFormattingDialogCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowFontForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class MakeTextSentenceCaseCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SentenceCase;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class SwitchTextCaseCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandWithSimpleStateBase */ .p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.SwitchTextCase;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
class ChangeFontFormattingCommand extends _command_base__WEBPACK_IMPORTED_MODULE_9__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ShowFontForm;
    }
    execute(settings) {
        const state = this.coreState;
        if (!state.enabled || !state.visible || this._core.selection.isCollapsed())
            return false;
        settings = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.objectDescriptor('settings', 'FontFormattingSettings', (val) => val)
        ]);
        const props = new _common_model_character_character_properties__WEBPACK_IMPORTED_MODULE_1__/* .CharacterProperties */ .d();
        props.allCaps = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.allCaps, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.allCaps', (val) => val)
        ]);
        props.smallCaps = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.smallCaps, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.smallCaps', (val) => val)
        ]);
        props.fontBold = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.bold, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.bold', (val) => val)
        ]);
        const textColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.foreColor, 1, true, _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.colorDescriptors('settings.foreColor'));
        props.textColor = textColor === undefined ? undefined : _common_model_color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.makeByColor(textColor);
        props.fontItalic = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.italic, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.italic', (val) => val)
        ]);
        props.fontInfo = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.fontName, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.stringDescriptor('settings.fontName', (val) => {
                const fontInfo = this._core.modelManager.model.cache.fontInfoCache.getItemByName(val);
                if (!fontInfo)
                    throw Error('Inknown font name');
                return fontInfo;
            }, false)
        ]);
        props.fontSize = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.size, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.numberDescriptor('settings.size', (val) => val, 0, 601)
        ]);
        props.hidden = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.hidden, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.hidden', (val) => val)
        ]);
        const shadigInfoColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.backColor, 1, true, _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.colorDescriptors('settings.backColor'));
        props.shadingInfo = shadigInfoColor === undefined ? undefined :
            _common_model_shadings_shading_info__WEBPACK_IMPORTED_MODULE_5__/* .ShadingInfo */ .g.createByColor(_common_model_color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.makeByColor(shadigInfoColor));
        props.script = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.script, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.enumDescriptor('settings.script', (val) => val, CharacterFormattingScript, 'ASPx.CharacterFormattingScript')
        ]);
        const underlineColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.underlineColor, 1, true, _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.colorDescriptors('settings.underlineColor'));
        props.underlineColor = underlineColor === undefined ? undefined : _common_model_color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.makeByColor(underlineColor);
        props.underlineWordsOnly = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.underlineWordsOnly, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.underlineWordsOnly', (val) => val)
        ]);
        const strikeout = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.strikeout, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.strikeout', (val) => val)
        ]);
        props.fontStrikeoutType = strikeout === true ? _common_model_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .StrikeoutType */ .GO.Single : (strikeout === false ? _common_model_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .StrikeoutType */ .GO.None : undefined);
        const underline = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.check(settings.underline, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiParametersChecker */ .mL.booleanDescriptor('settings.underline', (val) => val)
        ]);
        props.fontUnderlineType = underline === true ? _common_model_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .UnderlineType */ .Xq.Single : (underline === false ? _common_model_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .UnderlineType */ .Xq.None : undefined);
        props.langInfo = undefined;
        props.strikeoutColor = undefined;
        props.noProof = undefined;
        props.compositeFontInfo = undefined;
        this.coreCommand.control.beginUpdate();
        const result = new _common_model_character_character_properties_helper__WEBPACK_IMPORTED_MODULE_2__/* .CharacterPropertiesApplier */ .P(this._core.modelManager, this._core.inputPosition, props, this._core.selection.activeSubDocument, this._core.selection.intervals).apply();
        this.coreCommand.control.endUpdate();
        return result;
    }
    getState() {
        const state = this.coreState;
        if (!state.enabled || !state.visible)
            return _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.createStateWithValue(state, null);
        const rawCharProps = this._core.inputPosition.getMergedCharacterPropertiesRaw();
        const value = new FontFormattingSettings();
        value.allCaps = rawCharProps.allCaps;
        value.smallCaps = rawCharProps.smallCaps;
        value.foreColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.internalColorToApiColor(rawCharProps.textColor.toRgb(this._core.modelManager.model.colorProvider));
        value.fontName = rawCharProps.fontInfo ? rawCharProps.fontInfo.name : undefined;
        value.size = rawCharProps.fontSize;
        value.strikeout = rawCharProps.fontStrikeoutType === undefined ?
            undefined :
            rawCharProps.fontStrikeoutType !== _common_model_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .StrikeoutType */ .GO.None;
        value.bold = rawCharProps.fontBold;
        value.italic = rawCharProps.fontItalic;
        value.underline = rawCharProps.fontUnderlineType === undefined ?
            undefined :
            rawCharProps.fontUnderlineType !== _common_model_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .UnderlineType */ .Xq.None;
        value.underlineColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.internalColorToApiColor(rawCharProps.underlineColor.toRgb(this._core.modelManager.model.colorProvider));
        value.hidden = rawCharProps.hidden;
        value.script = rawCharProps.script;
        value.underlineWordsOnly = rawCharProps.underlineWordsOnly;
        value.backColor = _api_utils__WEBPACK_IMPORTED_MODULE_6__/* .ApiUtils */ .FR.internalColorToApiColor(rawCharProps.shadingInfo.getActualColor(this._core.modelManager.model.colorProvider));
        return new _states__WEBPACK_IMPORTED_MODULE_10__/* .CommandState */ .J(state.visible, state.enabled, value);
    }
}
class FontFormattingSettings {
}
var CharacterFormattingScript;
(function (CharacterFormattingScript) {
    CharacterFormattingScript[CharacterFormattingScript["Normal"] = 0] = "Normal";
    CharacterFormattingScript[CharacterFormattingScript["Subscript"] = 1] = "Subscript";
    CharacterFormattingScript[CharacterFormattingScript["Superscript"] = 2] = "Superscript";
})(CharacterFormattingScript || (CharacterFormattingScript = {}));


/***/ }),

/***/ 6867:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Bf: function() { return /* binding */ ShowHorizontalRulerCommand; },
/* harmony export */   LN: function() { return /* binding */ SetFullscreenCommand; },
/* harmony export */   Mz: function() { return /* binding */ ChangeViewTypeCommand; },
/* harmony export */   R1: function() { return /* binding */ InsertContentFromServerCommand; },
/* harmony export */   bW: function() { return /* binding */ ViewType; },
/* harmony export */   np: function() { return /* binding */ ForceSyncWithServerCommand; }
/* harmony export */ });
/* harmony import */ var _common_utils_map_creator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7156);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);
/* harmony import */ var _common_model_sub_document__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8096);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6785);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3468);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8679);
/* harmony import */ var _commands_control_insert_content_from_server_command__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6778);








class ShowHorizontalRulerCommand extends _command_base__WEBPACK_IMPORTED_MODULE_6__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ToggleShowHorizontalRuler;
    }
    execute(show) {
        if (arguments.length === 1) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(show, 'show');
            return this.coreCommand.execute(true, show);
        }
        return this.coreCommand.execute(true, !this.coreState.value);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class SetFullscreenCommand extends _command_base__WEBPACK_IMPORTED_MODULE_6__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.FullScreen;
    }
    execute(show) {
        if (arguments.length === 1) {
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.assertBoolean(show, 'show');
            return this.coreCommand.execute(true, show);
        }
        return this.coreCommand.execute(true, !this._core.owner.isInFullScreenMode);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ChangeViewTypeCommand extends _command_base__WEBPACK_IMPORTED_MODULE_6__/* .CommandWithBooleanStateBase */ .lO {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ChangeViewType;
    }
    execute(viewType) {
        const coreViewType = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(viewType, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.enumDescriptor('viewType', (val) => val, ViewType, 'ViewType'),
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.stringDescriptorPredefined('viewType', new _common_utils_map_creator__WEBPACK_IMPORTED_MODULE_7__/* .MapCreator */ .M()
                .add('simple', ViewType.Simple)
                .add('printlayout', ViewType.PrintLayout)
                .get(), false)
        ]);
        return this.coreCommand.execute(true, new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, coreViewType));
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createState(this.coreState);
    }
}
class ForceSyncWithServerCommand extends _command_base__WEBPACK_IMPORTED_MODULE_6__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.ForceSyncWithServer;
    }
    execute(callback) {
        callback = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(callback, 1, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.functionDescriptor('callback', (val) => val)
        ]);
        if (!callback)
            callback = () => { };
        return this.coreCommand.execute(true, callback);
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}
var ViewType;
(function (ViewType) {
    ViewType[ViewType["Simple"] = 0] = "Simple";
    ViewType[ViewType["PrintLayout"] = 1] = "PrintLayout";
})(ViewType || (ViewType = {}));
class InsertContentFromServerCommand extends _command_base__WEBPACK_IMPORTED_MODULE_6__/* .CommandBase */ .eK {
    constructor() {
        super(...arguments);
        this._coreCommandId = _common_commands_client_command__WEBPACK_IMPORTED_MODULE_0__/* .RichEditClientCommand */ .f.InsertContentFromServer;
    }
    execute(requestId, position, subDocumentId, callback) {
        requestId = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(requestId, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.stringDescriptor('requestId', (val) => val, false)
        ]);
        const subDocument = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.subDocumentById(subDocumentId, 3, true, this._core, true);
        position = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(position, 2, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.numberDescriptor('position', (val) => val, 0, subDocument.getDocumentEndPosition()),
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.defaultDescriptor(() => _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_4__.MathUtils.restrictValue(this._core.selection.anchorPosition, 0, subDocument.getDocumentEndPosition() - 1))
        ]);
        callback = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(callback, 4, true, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.functionDescriptor('callback', (val) => val)
        ]);
        if (!callback)
            callback = () => { };
        const options = new _commands_control_insert_content_from_server_command__WEBPACK_IMPORTED_MODULE_5__/* .InsertContentFromServerCommandOptions */ .ro(requestId, new _common_model_sub_document__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentPosition */ .rg(subDocument, position), (interval) => callback(_api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.makeInterval(interval)));
        return this.coreCommand.execute(true, new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandSimpleOptions */ .LF(this._core, options));
    }
    getState() {
        return _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiUtils */ .FR.createSimpleState(this.coreState);
    }
}


/***/ }),

/***/ 752:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: function() { return /* binding */ DocumentFormat; }
/* harmony export */ });
var DocumentFormat;
(function (DocumentFormat) {
    DocumentFormat[DocumentFormat["Undefined"] = 0] = "Undefined";
    DocumentFormat[DocumentFormat["PlainText"] = 1] = "PlainText";
    DocumentFormat[DocumentFormat["Rtf"] = 2] = "Rtf";
    DocumentFormat[DocumentFormat["Html"] = 3] = "Html";
    DocumentFormat[DocumentFormat["OpenXml"] = 4] = "OpenXml";
    DocumentFormat[DocumentFormat["Mht"] = 5] = "Mht";
    DocumentFormat[DocumentFormat["WordML"] = 6] = "WordML";
    DocumentFormat[DocumentFormat["OpenDocument"] = 7] = "OpenDocument";
    DocumentFormat[DocumentFormat["ePub"] = 9] = "ePub";
    DocumentFormat[DocumentFormat["Doc"] = 10] = "Doc";
})(DocumentFormat || (DocumentFormat = {}));


/***/ }),

/***/ 1835:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AT: function() { return /* binding */ InlinePictureInfo; },
/* harmony export */   Vy: function() { return /* binding */ RichEditFileInfo; },
/* harmony export */   gN: function() { return /* binding */ Field; },
/* harmony export */   jj: function() { return /* binding */ RichEditDocument; },
/* harmony export */   nv: function() { return /* binding */ Paragraph; },
/* harmony export */   pi: function() { return /* binding */ HeaderFooterType; },
/* harmony export */   rp: function() { return /* binding */ Bookmark; }
/* harmony export */ });
/* unused harmony exports AbstractNumberingList, Section, HeaderFooter */
/* harmony import */ var _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8785);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1167);
/* harmony import */ var _common_model_section_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8311);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6785);
/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2751);
/* harmony import */ var _spelling__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4016);
/* harmony import */ var _styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6987);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8983);








class RichEditDocument {
    constructor(native) {
        this._native = native;
    }
    get activeSubDocument() {
        return new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocument */ .j(this._native.selection.activeSubDocument);
    }
    get mainSubDocument() {
        return new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocument */ .j(this._native.modelManager.model.mainSubDocument);
    }
    get subDocuments() {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__/* .NumberMapUtils */ .j.toListBy(this._native.modelManager.model.subDocuments, (sd) => new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocument */ .j(sd));
    }
    get sectionsInfo() {
        const results = [];
        for (let i = 0, section; section = this._native.modelManager.model.sections[i]; i++)
            results.push(new Section(section));
        return results;
    }
    get paragraphStylesInfo() {
        const results = [];
        const existedStyles = [];
        for (let i = 0, style; style = this._native.modelManager.model.paragraphStyles[i]; i++)
            results.push(new _styles__WEBPACK_IMPORTED_MODULE_6__/* .ParagraphStyle */ .PO(style, existedStyles));
        return results;
    }
    get characterStylesInfo() {
        const results = [];
        const existedStyles = [];
        for (let i = 0, style; style = this._native.modelManager.model.characterStyles[i]; i++)
            results.push(new _styles__WEBPACK_IMPORTED_MODULE_6__/* .CharacterStyle */ .H2(style, existedStyles));
        return results;
    }
    get abstractNumberingListsInfo() {
        const results = [];
        for (let i = 0, list; list = this._native.modelManager.model.abstractNumberingLists[i]; i++)
            results.push(new AbstractNumberingList(list));
        return results;
    }
    get tableStylesInfo() {
        const results = [];
        const existedStyles = [];
        for (let i = 0, style; style = this._native.modelManager.model.tableStyles[i]; i++)
            results.push(new _styles__WEBPACK_IMPORTED_MODULE_6__/* .TableStyle */ .kA(style, existedStyles));
        return results;
    }
    get spellingInfo() {
        return new _spelling__WEBPACK_IMPORTED_MODULE_5__/* .SpellingInfo */ ._T(this._native.spellChecker);
    }
    getSubDocumentById(subDocumentId) {
        subDocumentId = _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.check(subDocumentId, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_3__/* .ApiParametersChecker */ .mL.numberDescriptor('subDocumentId', (val) => val, 0, _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_0__.Constants.MAX_SAFE_INTEGER)
        ]);
        const sd = this._native.modelManager.model.subDocuments[subDocumentId];
        return sd ? new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocument */ .j(sd) : null;
    }
}
class AbstractNumberingList {
    constructor(list) {
        this.deleted = list.deleted;
    }
}
class Paragraph {
    constructor(paragraph, index) {
        this._length = paragraph.length;
        this._start = paragraph.startLogPosition.value;
        this._styleName = paragraph.paragraphStyle ? paragraph.paragraphStyle.styleName : null;
        this._listIndex = paragraph.numberingListIndex;
        this._listLevelIndex = paragraph.listLevelIndex;
        this._index = index;
    }
    get index() {
        return this._index;
    }
    get length() {
        return this._length;
    }
    get start() {
        return this._start;
    }
    get interval() {
        return new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(this._start, this._length);
    }
    get styleName() {
        return this._styleName;
    }
    get listIndex() {
        return this._listIndex;
    }
    get listLevelIndex() {
        return this._listLevelIndex;
    }
}
class Field {
    constructor(field) {
        const start = field.getFieldStartPosition();
        this._interval = new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(start, field.getFieldEndPosition() - start);
        const codeInterval = field.getCodeInterval();
        this._codeInterval = new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(codeInterval.start, codeInterval.length);
        const resultInterval = field.getResultInterval();
        this._resultInterval = new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(resultInterval.start, resultInterval.length);
        this._showCode = field.showCode;
        this._index = field.index;
        const hyperlinkInfo = field.getHyperlinkInfo();
        this._isHyperlink = !!hyperlinkInfo;
        if (hyperlinkInfo) {
            this._hyperlinkUri = hyperlinkInfo.uri;
            this._hyperlinkTip = hyperlinkInfo.tip;
            this._hyperlinkAnchor = hyperlinkInfo.anchor;
        }
    }
    get start() {
        return this._interval.start;
    }
    get length() {
        return this._interval.length;
    }
    get codeInterval() {
        return new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(this._codeInterval.start, this._codeInterval.length);
    }
    get resultInterval() {
        return new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(this._resultInterval.start, this._resultInterval.length);
    }
    get interval() {
        return new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(this._interval.start, this._interval.length);
    }
    get hyperlinkUri() {
        return this._hyperlinkUri;
    }
    get isHyperlink() {
        return this._isHyperlink;
    }
    get hyperlinkTip() {
        return this._hyperlinkTip;
    }
    get hyperlinkAnchor() {
        return this._hyperlinkAnchor;
    }
    get showCode() {
        return this._showCode;
    }
    get index() {
        return this._index;
    }
}
class Bookmark {
    constructor(bookmark) {
        this._bookmark = bookmark.constBookmark;
    }
    get start() {
        return this._bookmark.start;
    }
    get length() {
        return this._bookmark.length;
    }
    get interval() {
        return new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(this._bookmark.start, this._bookmark.length);
    }
    get name() {
        return this._bookmark.name;
    }
}
class Section {
    constructor(section) {
        this._headers = [];
        this._footers = [];
        this._start = section.startLogPosition.value;
        this._length = section.getLength();
        const types = [_common_model_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .HeaderFooterType */ .pi.Odd];
        if (section.sectionProperties.differentFirstPage)
            types.push(_common_model_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .HeaderFooterType */ .pi.First);
        if (section.documentModel.differentOddAndEvenPages)
            types.push(_common_model_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .HeaderFooterType */ .pi.Even);
        for (let i = 0; i <= types.length; i++) {
            const header = section.headers.getObject(types[i]);
            const footer = section.footers.getObject(types[i]);
            if (header)
                this._headers.push(new HeaderFooter(section.documentModel, header));
            if (footer)
                this._footers.push(new HeaderFooter(section.documentModel, footer));
        }
    }
    get start() {
        return this._start;
    }
    get length() {
        return this._length;
    }
    get interval() {
        return new _selection__WEBPACK_IMPORTED_MODULE_4__/* .Interval */ .X(this._start, this._length);
    }
    get headers() {
        return this._headers.slice(0);
    }
    get footers() {
        return this._footers.slice(0);
    }
}
class HeaderFooter {
    constructor(model, headerFooter) {
        this._type = headerFooter.headerFooterType;
        this._subDocument = new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocument */ .j(headerFooter.getSubDocument(model));
    }
    get type() {
        return this._type;
    }
    get subDocument() {
        return this._subDocument;
    }
}
class InlinePictureInfo {
    constructor(run, position) {
        this._id = run.publicAPIId;
        this._position = position;
        this._initialSize = run.size.originalSize.clone();
        this._scale = run.size.scale.clone();
    }
    get id() {
        return this._id;
    }
    get position() {
        return this._position;
    }
    get initialWidth() {
        return this._initialSize.width;
    }
    get initialHeight() {
        return this._initialSize.height;
    }
    get scaleX() {
        return this._scale.width;
    }
    get scaleY() {
        return this._scale.height;
    }
    get actualWidth() {
        return Math.floor(this.initialWidth * this.scaleX / 100.0);
    }
    get actualHeigth() {
        return Math.floor(this.initialHeight * this.scaleY / 100.0);
    }
    get actualHeight() {
        return Math.floor(this.initialHeight * this.scaleY / 100.0);
    }
}
var HeaderFooterType;
(function (HeaderFooterType) {
    HeaderFooterType[HeaderFooterType["First"] = 0] = "First";
    HeaderFooterType[HeaderFooterType["Odd"] = 1] = "Odd";
    HeaderFooterType[HeaderFooterType["Even"] = 2] = "Even";
    HeaderFooterType[HeaderFooterType["Primary"] = 1] = "Primary";
})(HeaderFooterType || (HeaderFooterType = {}));
class RichEditFileInfo {
    constructor(folderPath, fileName, documentFormat) {
        this.folderPath = folderPath;
        this.fileName = fileName;
        this.documentFormat = documentFormat;
    }
}


/***/ }),

/***/ 8839:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  A: function() { return /* binding */ Rectangle; },
  f: function() { return /* binding */ RichEditLayout; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/dom.js
var dom = __webpack_require__(6907);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
// EXTERNAL MODULE: ./src/common/layout/layout-point.ts
var layout_point = __webpack_require__(7012);
;// CONCATENATED MODULE: ./src/common/utils/get-layout-point.ts



function getLayoutPoint(layoutFormatterManager, subDocument, position, endOfLine, pageIndex) {
    if (position > subDocument.getDocumentEndPosition())
        position = subDocument.getDocumentEndPosition();
    const layout = layoutFormatterManager.layout;
    let layoutPosition;
    if (subDocument.isMain()) {
        layoutPosition = layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(layoutFormatterManager, subDocument, position, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
    }
    else {
        while (!layout.isFullyFormatted && layout.validPageCount < pageIndex) {
            if (!layoutFormatterManager.forceFormatPage(layout.validPageCount))
                break;
        }
        layoutPosition = new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(layout, subDocument, position, pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
    }
    if (!layoutPosition)
        return { layoutPoint: null, layoutPosition: null };
    const layoutPoint = new layout_point/* LayoutPoint */.T(layoutPosition.pageIndex, layoutPosition.getLayoutX(layoutFormatterManager.measurer), layoutPosition.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box));
    return { layoutPoint: layoutPoint, layoutPosition: layoutPosition };
}

// EXTERNAL MODULE: ./src/aspx/api/api-utils.ts
var api_utils = __webpack_require__(6785);
;// CONCATENATED MODULE: ./src/aspx/api/layout.ts




class RichEditLayout {
    constructor(native) {
        this._core = native;
    }
    getPositionBounds(position, endOfLine = this._core.selection.endOfLine) {
        const subDocument = this._core.selection.activeSubDocument;
        position = api_utils/* ApiParametersChecker */.mL.check(position, 1, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('position', (val) => val)
        ]);
        position = math.MathUtils.restrictValue(position, 0, subDocument.getDocumentEndPosition());
        endOfLine = api_utils/* ApiParametersChecker */.mL.check(endOfLine, 2, false, [
            api_utils/* ApiParametersChecker */.mL.booleanDescriptor('endOfLine', v => v)
        ]);
        const { layoutPoint, layoutPosition } = getLayoutPoint(this._core.layoutFormatterManager, subDocument, position, endOfLine, this._core.selection.pageIndex);
        if (!layoutPoint)
            return new Rectangle(0, 0, 0, 0);
        const pageElement = this._core.viewManager.cache[layoutPoint.pageIndex].page;
        layoutPoint.offset(dom.DomUtils.getAbsolutePositionX(pageElement), dom.DomUtils.getAbsolutePositionY(pageElement));
        return new Rectangle(layoutPoint.x, layoutPoint.y, 0, layoutPosition.box.height);
    }
}
class Rectangle {
    constructor(x, y, width, height) {
        this.x = x;
        this.y = y;
        this.width = width;
        this.height = height;
    }
}


/***/ }),

/***/ 2751:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   S: function() { return /* binding */ RichEditSelection; },
/* harmony export */   X: function() { return /* binding */ Interval; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8785);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8860);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_sub_document_change_active_sub_document_command__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6456);
/* harmony import */ var _common_scroll_model_states__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4385);
/* harmony import */ var _common_selection_selection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9350);
/* harmony import */ var _common_selection_set_selection_params__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9523);
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6785);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8983);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2491);











class RichEditSelection {
    constructor(native) {
        this._core = native;
    }
    get intervals() {
        const result = [];
        for (let i = 0, int; int = this._core.selection.intervals[i]; i++) {
            const interval = new Interval();
            interval.start = int.start;
            interval.length = int.length;
            result.push(interval);
        }
        return result;
    }
    set intervals(value) {
        if (!value || !value.length)
            throw new Error('intervals must be array of Interval objects');
        const intervalMaxPosition = this.getIntervalMaxPosition();
        for (let i = 0; i < value.length; i++) {
            const int = value[i];
            _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiUtils */ .FR.assertNonNegativeNumber(int.start, `intervals[${i}].start`);
            _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiUtils */ .FR.assertNonNegativeNumber(int.length, `intervals[${i}].length`);
            if (int.start + int.length > intervalMaxPosition)
                throw new Error(`intervals[${i}] must be inside of the document boundaries`);
        }
        const isPublicApiCallPrevValue = this._core.commandManager.isPublicApiCall;
        this._core.commandManager.isPublicApiCall = true;
        const coreIntervals = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(value, (apiInterval) => new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval(apiInterval.start, apiInterval.length));
        this._core.selection.changeState((newState) => newState.setIntervals(coreIntervals), new _common_selection_selection__WEBPACK_IMPORTED_MODULE_6__/* .SetSelectionStateOptions */ .v().noFieldUiChecks());
        this._core.selection.scrollManager.setScroll(new _common_scroll_model_states__WEBPACK_IMPORTED_MODULE_5__/* .ScrollState */ .G_().byModelPosition(this._core.selection).setModelPosition(this._core.selection.anchorPosition).useStdRelativePosition().useStdOffset());
        this._core.commandManager.isPublicApiCall = isPublicApiCallPrevValue;
    }
    setSelection(arg) {
        const sd = this._core.selection.activeSubDocument;
        const subDocEndPos = sd.getDocumentEndPosition();
        const intervals = _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiParametersChecker */ .mL.check(arg, 1, false, [
            _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiParametersChecker */ .mL.numberDescriptor('position', (n) => [new Interval(n, 0)], 0, subDocEndPos),
            _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiParametersChecker */ .mL.intervalDescriptor('interval', (interval) => [interval], 0, subDocEndPos),
            _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiParametersChecker */ .mL.intervalsDescriptor('intervals', (apiIntervals) => _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(apiIntervals, (interval) => interval), 0, subDocEndPos)
        ]);
        if (_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.unsafeAnyOf(intervals, (curr) => curr.start >= subDocEndPos))
            throw new Error('End of interval is incorrect');
        this.intervals = intervals;
        this._core.selection.resetInputPositionIfNeeded();
    }
    get isFloatingObjectSelected() { return this._core.selection.specialRunInfo.isSelectedAnchorObject; }
    get isTextBoxSelected() { return this._core.selection.specialRunInfo.isTextBoxSelected(); }
    get isPictureSelected() { return this._core.selection.specialRunInfo.isPictureSelected(); }
    get collapsed() {
        return this._core.selection.isCollapsed();
    }
    set collapsed(value) {
        _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiUtils */ .FR.assertBoolean(value, 'collapsed');
        this._core.selection.setSelection(new _common_selection_set_selection_params__WEBPACK_IMPORTED_MODULE_7__/* .SetSelectionParams */ .Qu()
            .setPosition(this._core.selection.intervals[0].start)
            .setEndOfLine(this._core.selection.endOfLine));
    }
    getIntervalMaxPosition() {
        return this._core.selection.activeSubDocument.getDocumentEndPosition();
    }
    goToNextLine(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendLineDown).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.LineDown).execute(true);
    }
    goToLineEnd(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendLineEnd).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.LineEnd).execute(true);
    }
    goToLineStart(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendLineStart).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.LineStart).execute(true);
    }
    goToPreviousLine(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendLineUp).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.LineUp).execute(true);
    }
    goToNextCharacter(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendNextCharacter).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.NextCharacter).execute(true);
    }
    goToPreviousCharacter(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendPreviousCharacter).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.PreviousCharacter).execute(true);
    }
    selectLine(extendSelection) {
        const linePosition = this._core.selection.lastSelectedInterval.end;
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.AddSelectedLineCommandNoUpdateControlState).execute(true, linePosition);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SelectLine).execute(true, linePosition);
    }
    goToNextPage(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendNextPage).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.NextPage).execute(true);
    }
    goToPreviousPage(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendPreviousPage).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.PreviousPage).execute(true);
    }
    goToDocumentStart(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendDocumentStart).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.DocumentStart).execute(true);
    }
    goToDocumentEnd(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendDocumentEnd).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.DocumentEnd).execute(true);
    }
    goToNextWord(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendGoToNextWord).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToNextWord).execute(true);
    }
    goToPrevWord(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendGoToPrevWord).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToPrevWord).execute(true);
    }
    goToParagraphStart(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendGoToStartParagraph).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToStartParagraph).execute(true);
    }
    goToParagraphEnd(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendGoToEndParagraph).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToEndParagraph).execute(true);
    }
    selectParagraph() {
        const linePosition = this._core.selection.lastSelectedInterval.start;
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SelectParagraph).execute(true, linePosition);
    }
    goToStartNextPageCommand(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendGoToStartNextPage).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToStartNextPage).execute(true);
    }
    goToStartPrevPageCommand(extendSelection) {
        if (extendSelection)
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ExtendGoToStartPrevPage).execute(true);
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.GoToStartPrevPage).execute(true);
    }
    selectTableCell() {
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SelectTableCell).execute(true);
    }
    selectTableRow() {
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SelectTableRow).execute(true);
    }
    selectTable() {
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SelectTable).execute(true);
    }
    selectAll() {
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.SelectAll).execute(true);
    }
    setMainSubDocumentAsActive() {
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ChangeActiveSubDocumentToMain).execute(true);
    }
    setFooterSubDocumentAsActiveByPageIndex(pageIndex) {
        _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiUtils */ .FR.assertNonNegativeNumber(pageIndex, 'pageIndex');
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ChangeActiveSubDocumentToHeaderFooterByPageIndex).execute(true, new _common_commands_sub_document_change_active_sub_document_command__WEBPACK_IMPORTED_MODULE_4__/* .ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */ .DX(this._core, pageIndex, false));
    }
    setHeaderSubDocumentAsActiveByPageIndex(pageIndex) {
        _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiUtils */ .FR.assertNonNegativeNumber(pageIndex, 'pageIndex');
        this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ChangeActiveSubDocumentToHeaderFooterByPageIndex).execute(true, new _common_commands_sub_document_change_active_sub_document_command__WEBPACK_IMPORTED_MODULE_4__/* .ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */ .DX(this._core, pageIndex, true));
    }
    setTextBoxSubDocumentAsActive(arg) {
        if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_10__.isDefined)(arg)) {
            const textBoxes = new _sub_document__WEBPACK_IMPORTED_MODULE_9__/* .SubDocument */ .j(this._core.modelManager.model.mainSubDocument).floatingTextBoxesInfo;
            const textBox = _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiParametersChecker */ .mL.check(arg, 1, false, [
                _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiParametersChecker */ .mL.numberDescriptor('id', (p) => _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.elementBy(textBoxes, (tb) => tb.contentSubDocument && tb.contentSubDocument.id == p), 0, _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_1__.Constants.MAX_SAFE_INTEGER),
                _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiParametersChecker */ .mL.objectDescriptor('textBoxInfo', 'ASPx.FloatingTextBoxInfo', (ti) => _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.elementBy(textBoxes, (t) => t._objectId == ti._objectId))
            ]);
            if (textBox)
                this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ChangeActiveSubDocumentToHeaderFooterBySubDocument)
                    .execute(true, textBox.contentSubDocument._subDocument);
        }
        else
            this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ChangeActiveSubDocumentToTextBox).execute(true);
    }
    setActiveSubDocumentById(id) {
        _api_utils__WEBPACK_IMPORTED_MODULE_8__/* .ApiUtils */ .FR.assertNonNegativeNumber(id, 'id');
        const subDocument = this._core.modelManager.model.subDocuments[id];
        return this._core.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f.ChangeActiveSubDocumentToHeaderFooterBySubDocument)
            .execute(true, subDocument);
    }
}
class Interval {
    constructor(start = 0, length = 0) {
        this.start = start;
        this.length = length;
    }
}


/***/ }),

/***/ 4016:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _T: function() { return /* binding */ SpellingInfo; },
/* harmony export */   h1: function() { return /* binding */ SpellingErrorType; },
/* harmony export */   su: function() { return /* binding */ SpellCheckerState; }
/* harmony export */ });
/* unused harmony export MisspelledInterval */
/* harmony import */ var _selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2751);

class SpellingInfo {
    constructor(spellChecker) {
        this._spellChecker = spellChecker;
    }
    get spellCheckerState() {
        let result;
        if (!this._spellChecker.settings.isEnabled)
            result = SpellCheckerState.Disabled;
        else if (this._spellChecker.isInProgress())
            result = SpellCheckerState.InProgress;
        else
            result = SpellCheckerState.Done;
        return result;
    }
    get misspelledIntervals() {
        const result = [];
        const misspelledIntervals = this._spellChecker.getMisspelledIntervals();
        for (let i = 0, misspelledInterval; misspelledInterval = misspelledIntervals[i]; i++)
            result.push(new MisspelledInterval(misspelledInterval));
        return result;
    }
}
var SpellCheckerState;
(function (SpellCheckerState) {
    SpellCheckerState[SpellCheckerState["Disabled"] = 0] = "Disabled";
    SpellCheckerState[SpellCheckerState["InProgress"] = 1] = "InProgress";
    SpellCheckerState[SpellCheckerState["Done"] = 2] = "Done";
})(SpellCheckerState || (SpellCheckerState = {}));
class MisspelledInterval {
    constructor(misspelledInterval) {
        this._misspelledInterval = misspelledInterval;
    }
    get start() {
        return this._misspelledInterval.start;
    }
    get length() {
        return this._misspelledInterval.length;
    }
    get interval() {
        return new _selection__WEBPACK_IMPORTED_MODULE_0__/* .Interval */ .X(this.start, this.length);
    }
    get errorType() {
        return this._misspelledInterval.errorInfo.errorType == SpellingErrorType.Repeating ? SpellingErrorType.Repeating :
            SpellingErrorType.Misspelling;
    }
    get word() {
        return this._misspelledInterval.errorInfo.word;
    }
    get suggestions() {
        return this._misspelledInterval.errorInfo.suggestions;
    }
}
var SpellingErrorType;
(function (SpellingErrorType) {
    SpellingErrorType[SpellingErrorType["Misspelling"] = 0] = "Misspelling";
    SpellingErrorType[SpellingErrorType["Repeating"] = 1] = "Repeating";
})(SpellingErrorType || (SpellingErrorType = {}));


/***/ }),

/***/ 5535:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ CommandState; },
/* harmony export */   m: function() { return /* binding */ SimpleCommandState; }
/* harmony export */ });
class SimpleCommandState {
    constructor(visible, enabled) {
        this.visible = visible;
        this.enabled = enabled;
    }
}
class CommandState extends SimpleCommandState {
    constructor(visible, enabled, value) {
        super(visible, enabled);
        this.value = value;
    }
}


/***/ }),

/***/ 6987:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H2: function() { return /* binding */ CharacterStyle; },
/* harmony export */   PO: function() { return /* binding */ ParagraphStyle; },
/* harmony export */   _S: function() { return /* binding */ StyleBase; },
/* harmony export */   kA: function() { return /* binding */ TableStyle; }
/* harmony export */ });
/* harmony import */ var _api_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6785);

class StyleBase {
    constructor(style) {
        this._name = style.styleName;
        this._isDeleted = style.deleted;
    }
    get name() {
        return this._name;
    }
    get isDeleted() {
        return this._isDeleted;
    }
}
class ParagraphStyle extends StyleBase {
    constructor(style, existedStyles) {
        super(style);
        existedStyles.push(this);
        this._linkedStyle = style.linkedStyle ? _api_utils__WEBPACK_IMPORTED_MODULE_0__/* .ApiUtils */ .FR.createCharacterStyle(style.linkedStyle, existedStyles) : null;
        this._nextStyle = style.nextParagraphStyle ? _api_utils__WEBPACK_IMPORTED_MODULE_0__/* .ApiUtils */ .FR.createParagraphStyle(style, existedStyles) : null;
        this._listIndex = style.numberingListIndex;
        this._listLevelIndex = style.listLevelIndex;
        this._parent = style.parent ? _api_utils__WEBPACK_IMPORTED_MODULE_0__/* .ApiUtils */ .FR.createParagraphStyle(style.parent, existedStyles) : null;
    }
    get linkedStyle() {
        return this._linkedStyle;
    }
    get nextStyle() {
        return this._nextStyle;
    }
    get listIndex() {
        return this._listIndex;
    }
    get listLevelIndex() {
        return this._listLevelIndex;
    }
    get parent() {
        return this._parent;
    }
}
class CharacterStyle extends StyleBase {
    constructor(style, existedStyles) {
        super(style);
        this._linkedStyle = style.linkedStyle ? _api_utils__WEBPACK_IMPORTED_MODULE_0__/* .ApiUtils */ .FR.createParagraphStyle(style.linkedStyle, existedStyles) : null;
        this._parent = style.parent ? _api_utils__WEBPACK_IMPORTED_MODULE_0__/* .ApiUtils */ .FR.createCharacterStyle(style.parent, existedStyles) : null;
    }
    get linkedStyle() {
        return this._linkedStyle;
    }
    get parent() {
        return this._parent;
    }
}
class TableStyle extends StyleBase {
    constructor(style, existedStyles) {
        super(style);
        this._parent = style.parent ? _api_utils__WEBPACK_IMPORTED_MODULE_0__/* .ApiUtils */ .FR.createTableStyle(style.parent, existedStyles) : null;
    }
    get parent() {
        return this._parent;
    }
}


/***/ }),

/***/ 8983:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  j: function() { return /* binding */ SubDocument; },
  v: function() { return /* binding */ SubDocumentType; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/constants.js
var constants = __webpack_require__(8785);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
;// CONCATENATED MODULE: ./src/common/utils/bookmark-finder.ts


function findBookmarkByName(documentModel, check) {
    const bkms = [];
    number/* NumberMapUtils */.j.forEach(documentModel.subDocuments, (sd) => {
        list.ListUtils.forEach(sd.bookmarks, (bkm) => {
            if (check(bkm))
                bkms.push(bkm);
        });
    });
    return bkms;
}

// EXTERNAL MODULE: ./src/aspx/api/api-utils.ts
var api_utils = __webpack_require__(6785);
// EXTERNAL MODULE: ./src/aspx/api/document.ts
var api_document = __webpack_require__(1835);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/enum.js
var utils_enum = __webpack_require__(310);
;// CONCATENATED MODULE: ./src/aspx/api/floating-objects.ts




class FloatingObjectInfo {
    constructor(parentSubDocument, objectId) {
        this._parentSubDocument = parentSubDocument;
        this._objectId = objectId;
    }
    _getIteratorState() {
        return api_utils/* ApiUtils */.FR.getAllRunsByFullSearch(this._parentSubDocument, (it) => utils_enum/* EnumUtils */.Y.isAnyOf(it.run.getType(), run_type/* RunType */.m.AnchoredTextBoxRun, run_type/* RunType */.m.AnchoredPictureRun) &&
            it.run.anchoredObjectID == this._objectId);
    }
    get position() {
        const it = this._getIteratorState();
        return it ? it.getAbsolutePosition() : null;
    }
    get parentSubDocument() {
        return new SubDocument(this._parentSubDocument);
    }
}
class FloatingTextBoxInfo extends FloatingObjectInfo {
    constructor(parentSubDocument, objectId) {
        super(parentSubDocument, objectId);
    }
    get contentSubDocument() {
        const it = this._getIteratorState();
        if (!it || it.run.getType() != run_type/* RunType */.m.AnchoredTextBoxRun)
            return null;
        const run = it.run;
        const sd = this._parentSubDocument.documentModel.subDocuments[run.subDocId];
        return sd ? new SubDocument(sd) : null;
    }
}
class FloatingPictureInfo extends FloatingObjectInfo {
    constructor(parentSubDocument, objectId) {
        super(parentSubDocument, objectId);
    }
}

// EXTERNAL MODULE: ./src/aspx/api/selection.ts
var selection = __webpack_require__(2751);
;// CONCATENATED MODULE: ./src/aspx/api/table.ts

class Table {
    constructor(table) {
        this._rows = [];
        this._start = table.getStartPosition();
        this._length = table.getEndPosition() - this._start;
        this._styleName = table.style ? table.style.styleName : null;
        this._index = table.index;
        for (let i = 0, row; row = table.rows[i]; i++)
            this._rows.push(new TableRow(row));
    }
    get start() {
        return this._start;
    }
    get length() {
        return this._length;
    }
    get index() {
        return this._index;
    }
    get interval() {
        return new selection/* Interval */.X(this._start, this._length);
    }
    get rows() {
        return this._rows.slice(0);
    }
    get styleName() {
        return this._styleName;
    }
}
class TableRow {
    constructor(row) {
        this._cells = [];
        this._start = row.getStartPosition();
        this._length = row.getEndPosition() - this._start;
        for (let i = 0, cell; cell = row.cells[i]; i++)
            this._cells.push(new TableCell(cell));
    }
    get start() {
        return this._start;
    }
    get length() {
        return this._length;
    }
    get interval() {
        return new selection/* Interval */.X(this._start, this._length);
    }
    get cells() {
        return this._cells.slice(0);
    }
}
class TableCell {
    constructor(cell) {
        this._start = cell.startParagraphPosition.value;
        this._length = cell.endParagrapPosition.value - this._start;
    }
    get start() {
        return this._start;
    }
    get length() {
        return this._length;
    }
    get interval() {
        return new selection/* Interval */.X(this._start, this._length);
    }
}

;// CONCATENATED MODULE: ./src/aspx/api/sub-document.ts












class SubDocument {
    constructor(subDocument) {
        this._subDocument = subDocument;
    }
    get id() {
        return this._subDocument.id;
    }
    get type() {
        return this._subDocument.info.getType();
    }
    get paragraphsInfo() {
        const result = [];
        for (let i = 0, paragraph; paragraph = this._subDocument.paragraphs[i]; i++)
            result.push(new api_document/* Paragraph */.nv(paragraph, i));
        return result;
    }
    get fieldsInfo() {
        return list.ListUtils.map(this._subDocument.fields, (field) => new api_document/* Field */.gN(field));
    }
    get tablesInfo() {
        const result = [];
        for (let i = 0, table; table = this._subDocument.tables[i]; i++)
            result.push(new Table(table));
        return result;
    }
    get bookmarksInfo() {
        const result = [];
        for (let i = 0, bookmark; bookmark = this._subDocument.bookmarks[i]; i++)
            result.push(new api_document/* Bookmark */.rp(bookmark));
        return result;
    }
    get inlinePicturesInfo() {
        const pics = [];
        for (const chunk of this._subDocument.chunks)
            for (const run of chunk.textRuns)
                if (run.getType() == run_type/* RunType */.m.InlinePictureRun)
                    pics.push(new api_document/* InlinePictureInfo */.AT(run, chunk.startLogPosition.value + run.startOffset));
        return pics;
    }
    get text() {
        return this._subDocument.getText(new fixed.FixedInterval(0, this.length));
    }
    get length() {
        return this._subDocument.getLastChunk().getEndPosition();
    }
    get floatingTextBoxesInfo() {
        const textBoxes = [];
        api_utils/* ApiUtils */.FR.getAllRunsByFullSearch(this._subDocument, (it) => {
            if (it.run.getType() == run_type/* RunType */.m.AnchoredTextBoxRun)
                textBoxes.push(new FloatingTextBoxInfo(this._subDocument, it.run.anchoredObjectID));
            return false;
        });
        return textBoxes;
    }
    get floatingPicturesInfo() {
        const pictures = [];
        api_utils/* ApiUtils */.FR.getAllRunsByFullSearch(this._subDocument, (it) => {
            if (it.run.getType() == run_type/* RunType */.m.AnchoredPictureRun)
                pictures.push(new FloatingPictureInfo(this._subDocument, it.run.anchoredObjectID));
            return false;
        });
        return pictures;
    }
    getTextByInterval(interval) {
        const coreInterval = api_utils/* ApiParametersChecker */.mL.check(interval, 1, false, [
            api_utils/* ApiParametersChecker */.mL.intervalDescriptor('interval', (curr) => new fixed.FixedInterval(curr.start, curr.length), 0, this._subDocument.getDocumentEndPosition())
        ]);
        return this._subDocument.getText(coreInterval);
    }
    getFloatingTextBoxInfo() {
        if (!this._subDocument.isTextBox())
            return null;
        const sdInfo = this._subDocument.info;
        const parentSubDoc = this._subDocument.documentModel.subDocuments[sdInfo.parentSubDocumentId];
        const it = api_utils/* ApiUtils */.FR.getAllRunsByFullSearch(parentSubDoc, (currIt) => currIt.run.getType() == run_type/* RunType */.m.AnchoredTextBoxRun &&
            currIt.run.subDocId == this._subDocument.id);
        return new FloatingTextBoxInfo(parentSubDoc, it.run.anchoredObjectID);
    }
    findFields(arg) {
        const interval = api_utils/* ApiParametersChecker */.mL.check(arg, 1, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('position', (n) => new fixed.FixedInterval(n, 0)),
            api_utils/* ApiParametersChecker */.mL.intervalDescriptor('interval', (curr) => new fixed.FixedInterval(curr.start, curr.length))
        ]);
        const fields = this._subDocument.fields;
        if (fields.length == 0)
            return [];
        let fieldIndex = fields[Math.max(0, field/* Field */.gN.normedBinaryIndexOf(fields, interval.start))]
            .getAbsolutelyTopLevelField().index;
        const resultFields = [];
        for (let field; field = fields[fieldIndex]; fieldIndex++) {
            const fieldInterval = field.getAllFieldInterval();
            const intersection = algorithms.IntervalAlgorithms.getIntersection(fieldInterval, interval);
            if (intersection && (!!intersection.length || fieldInterval.contains(intersection.start)))
                resultFields.push(new api_document/* Field */.gN(field));
            else if (!field.parent && field.getFieldStartPosition() >= interval.end)
                break;
        }
        return resultFields;
    }
    findTables(arg) {
        const interval = api_utils/* ApiParametersChecker */.mL.check(arg, 1, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('position', (n) => new fixed.FixedInterval(n, 0)),
            api_utils/* ApiParametersChecker */.mL.intervalDescriptor('interval', (curr) => new fixed.FixedInterval(curr.start, curr.length))
        ]);
        const tables = this._subDocument.tables;
        if (tables.length == 0)
            return [];
        let tableIndex = tables[Math.max(0, search.SearchUtils.normedInterpolationIndexOf(tables, (t) => t.getStartPosition(), interval.start))]
            .getTopLevelParent().index;
        const resultTables = [];
        for (let table; table = tables[tableIndex]; tableIndex++) {
            const tableInterval = table.interval;
            const intersection = algorithms.IntervalAlgorithms.getIntersection(tableInterval, interval);
            if (intersection && (!!intersection.length || tableInterval.contains(intersection.start)))
                resultTables.push(new Table(table));
            else if (!table.nestedLevel && table.getStartPosition() >= interval.end)
                break;
        }
        return resultTables;
    }
    findParagraphs(arg) {
        const sd = this._subDocument;
        const intervals = api_utils/* ApiParametersChecker */.mL.check(arg, 1, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('position', (n) => [new fixed.FixedInterval(n, 0)], 0, sd.getDocumentEndPosition() + 1),
            api_utils/* ApiParametersChecker */.mL.intervalDescriptor('interval', (interval) => [new fixed.FixedInterval(interval.start, interval.length)], 0, sd.getDocumentEndPosition()),
            api_utils/* ApiParametersChecker */.mL.intervalsDescriptor('intervals', (apiIntervals) => list.ListUtils.map(apiIntervals, (interval) => new fixed.FixedInterval(interval.start, interval.length)), 0, sd.getDocumentEndPosition())
        ]);
        const result = [];
        list.ListUtils.forEach(algorithms.IntervalAlgorithms.getMergedIntervals(intervals, true), (interval) => {
            const intervalEnd = interval.end;
            let paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(sd.paragraphs, (p) => p.startLogPosition.value, interval.start);
            result.push(new api_document/* Paragraph */.nv(sd.paragraphs[paragraphIndex], paragraphIndex));
            paragraphIndex++;
            for (let paragraph; paragraph = sd.paragraphs[paragraphIndex]; paragraphIndex++) {
                if (paragraph.startLogPosition.value < intervalEnd)
                    result.push(new api_document/* Paragraph */.nv(paragraph, paragraphIndex));
                else
                    break;
            }
        });
        return result;
    }
    findBookmarks(arg) {
        const subDocument = this._subDocument;
        return list.ListUtils.map(api_utils/* ApiParametersChecker */.mL.check(arg, 1, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('position', (pos) => subDocument.findBookmarkByInterval([new fixed.FixedInterval(pos, 0)]), 0, constants.Constants.MAX_SAFE_INTEGER),
            api_utils/* ApiParametersChecker */.mL.intervalDescriptor('interval', (interval) => subDocument.findBookmarkByInterval([new fixed.FixedInterval(interval.start, interval.length)]), 0, constants.Constants.MAX_SAFE_INTEGER),
            api_utils/* ApiParametersChecker */.mL.intervalsDescriptor('intervals', (apiIntervals) => subDocument.findBookmarkByInterval(list.ListUtils.map(apiIntervals, (interval) => new fixed.FixedInterval(interval.start, interval.length))), 0, constants.Constants.MAX_SAFE_INTEGER),
            api_utils/* ApiParametersChecker */.mL.stringDescriptor('name', (name) => findBookmarkByName(this._subDocument.documentModel, bkm => bkm.name == name), false),
            api_utils/* ApiParametersChecker */.mL.regExpDescriptor('regexp', (regexp) => findBookmarkByName(this._subDocument.documentModel, bkm => regexp.test(bkm.name)))
        ]), (b) => new api_document/* Bookmark */.rp(b));
    }
}
var SubDocumentType;
(function (SubDocumentType) {
    SubDocumentType[SubDocumentType["Main"] = 0] = "Main";
    SubDocumentType[SubDocumentType["Header"] = 1] = "Header";
    SubDocumentType[SubDocumentType["Footer"] = 2] = "Footer";
    SubDocumentType[SubDocumentType["TextBox"] = 3] = "TextBox";
})(SubDocumentType || (SubDocumentType = {}));


/***/ }),

/***/ 5364:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  K: function() { return /* binding */ AspxContextMenuBar; }
});

// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var enums = __webpack_require__(300);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var class_flag = __webpack_require__(7820);
// EXTERNAL MODULE: ./src/common/bars/base.ts
var base = __webpack_require__(5398);
;// CONCATENATED MODULE: ./src/common/bars/context-menu.ts



var ContextMenuEventType;
(function (ContextMenuEventType) {
    ContextMenuEventType[ContextMenuEventType["None"] = 0] = "None";
    ContextMenuEventType[ContextMenuEventType["FullReset"] = 1] = "FullReset";
    ContextMenuEventType[ContextMenuEventType["CheckSelectionChange"] = 2] = "CheckSelectionChange";
})(ContextMenuEventType || (ContextMenuEventType = {}));
class ContextMenuBarBase extends base/* BarBase */.J {
    constructor() {
        super(...arguments);
        this.selection = null;
        this.isSpellingMenu = false;
    }
    forceUpdate(queryCommands) {
        if (this.isUpdateLocked())
            this.registerOccurredEvent(ContextMenuEventType.FullReset);
        else
            this.updateItemsState(queryCommands);
    }
    getSuggestions() {
        let suggestions = undefined;
        if (this.core.spellChecker.settings.isEnabled) {
            const selectedMisspelledInterval = this.core.spellChecker.getSelectedMisspelledInterval(this.core.selection.intervals);
            if (selectedMisspelledInterval)
                suggestions = selectedMisspelledInterval.errorInfo.suggestions;
        }
        return suggestions;
    }
    onUpdateUnlocked(occurredEvents) {
        this.applyEvent(occurredEvents);
    }
    modelChanged(change) {
        const occurredEvents = this.getModelChangeEvent(change);
        if (this.isUpdateLocked())
            this.registerOccurredEvent(occurredEvents);
        else
            this.applyEvent(occurredEvents);
    }
    NotifySelectionChanged(selection) {
        this.selection = selection;
        if (this.isUpdateLocked())
            this.registerOccurredEvent(ContextMenuEventType.CheckSelectionChange);
        else
            this.applyEvent(this.getSelectionChangeEvent());
    }
    applyEvent(occurredEvents) {
        if (!this.updateEnabled)
            return;
        const flag = new class_flag.Flag(occurredEvents);
        if (flag.get(ContextMenuEventType.CheckSelectionChange))
            flag.add(this.getSelectionChangeEvent());
        if (flag.get(ContextMenuEventType.FullReset))
            this.updateItemsState();
    }
    getSelectionChangeEvent() {
        return this.selection && !this.selection.shouldResetInputPosition() ?
            ContextMenuEventType.None :
            ContextMenuEventType.FullReset;
    }
    getModelChangeEvent(change) {
        switch (change.type) {
            case enums/* ModelChangeType */.f.DifferentOddAndEvenPages:
            case enums/* ModelChangeType */.f.PageColor:
            case enums/* ModelChangeType */.f.DefaultTabWidth:
            case enums/* ModelChangeType */.f.HeaderFooterCreated:
            case enums/* ModelChangeType */.f.HeaderFooterIndexChanged:
            case enums/* ModelChangeType */.f.LoadFontInfo:
            case enums/* ModelChangeType */.f.SectionFormattingChanged:
            case enums/* ModelChangeType */.f.CreateStyleLink:
            case enums/* ModelChangeType */.f.DeleteStyleLink:
            case enums/* ModelChangeType */.f.AbstractNumberingListAdded:
            case enums/* ModelChangeType */.f.AbstractNumberingListDeleted:
            case enums/* ModelChangeType */.f.NumberingListAdded:
            case enums/* ModelChangeType */.f.NumberingListDeleted:
            case enums/* ModelChangeType */.f.ListLevelPropertyChanged:
            case enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged:
            case enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged:
            case enums/* ModelChangeType */.f.IOverrideListLevelChanged:
            case enums/* ModelChangeType */.f.BookmarkCreated:
            case enums/* ModelChangeType */.f.BookmarkDeleted:
            case enums/* ModelChangeType */.f.TabInserted:
            case enums/* ModelChangeType */.f.TabDeleted:
            case enums/* ModelChangeType */.f.LoadPicturesInfo:
            case enums/* ModelChangeType */.f.InlinePicturesUpdated:
            case enums/* ModelChangeType */.f.InlinePictureInserted:
            case enums/* ModelChangeType */.f.AnchoredPictureInserted:
            case enums/* ModelChangeType */.f.AnchoredPictureSizeChanged:
            case enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged:
            case enums/* ModelChangeType */.f.FieldInserted:
            case enums/* ModelChangeType */.f.FieldDeleted:
            case enums/* ModelChangeType */.f.HyperlinkInfoChanged:
            case enums/* ModelChangeType */.f.FieldsShowCodeChanged:
            case enums/* ModelChangeType */.f.SimpleRunInserted:
            case enums/* ModelChangeType */.f.TextBufferChanged:
            case enums/* ModelChangeType */.f.ParagraphInserted:
            case enums/* ModelChangeType */.f.SectionInserted:
            case enums/* ModelChangeType */.f.AnchoredTextBoxInserted:
            case enums/* ModelChangeType */.f.AnchorObjectRemoved:
            case enums/* ModelChangeType */.f.IntervalRemoved:
            case enums/* ModelChangeType */.f.ParagraphMerged:
            case enums/* ModelChangeType */.f.SectionMerged:
            case enums/* ModelChangeType */.f.CharacterFormattingChanged:
            case enums/* ModelChangeType */.f.CharacterPropertiesChanged:
            case enums/* ModelChangeType */.f.ParagraphFormattingChanged:
            case enums/* ModelChangeType */.f.ParagraphPropertiesChanged:
            case enums/* ModelChangeType */.f.ParagraphAndCharacterMergedPropertiesReset:
            case enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged:
            case enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged:
            case enums/* ModelChangeType */.f.AnchorInfoPropertyChanged:
            case enums/* ModelChangeType */.f.ShapeChanged:
            case enums/* ModelChangeType */.f.ShapePropertyChanged:
            case enums/* ModelChangeType */.f.CharacterStyleApplied:
            case enums/* ModelChangeType */.f.ParagraphStyleApplied:
            case enums/* ModelChangeType */.f.TableStyleChanged:
            case enums/* ModelChangeType */.f.ParagraphNumberingListChanged:
            case enums/* ModelChangeType */.f.TableCreated:
            case enums/* ModelChangeType */.f.TableRemoved:
            case enums/* ModelChangeType */.f.TableStartPositionShifted:
            case enums/* ModelChangeType */.f.TableCellPropertyChanged:
            case enums/* ModelChangeType */.f.TablePropertyChanged:
            case enums/* ModelChangeType */.f.TableRowPropertyChanged:
            case enums/* ModelChangeType */.f.TableCellSplittedHorizontally:
            case enums/* ModelChangeType */.f.TableCellMergedHorizontally:
            case enums/* ModelChangeType */.f.TableRowInserted:
            case enums/* ModelChangeType */.f.TableRowRemoved:
            case enums/* ModelChangeType */.f.TableCellRemoved:
            case enums/* ModelChangeType */.f.TableCellInserted:
            default:
                return ContextMenuEventType.None;
        }
    }
}

// EXTERNAL MODULE: ./src/common/commands/client-command.ts
var client_command = __webpack_require__(4803);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/browser.js
var browser = __webpack_require__(9279);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/dom.js
var dom = __webpack_require__(6907);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit.ts + 325 modules
var aspx_client_rich_edit = __webpack_require__(4233);
// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-popup-menu-item.ts
var aspx_client_rich_edit_popup_menu_item = __webpack_require__(3697);
// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/constants.ts
var constants = __webpack_require__(1798);
;// CONCATENATED MODULE: ./src/aspx/bars/context-menu.ts









class AspxContextMenuBar extends ContextMenuBarBase {
    constructor(owner, control) {
        super(owner);
        this.cache = {};
        this.control = control;
        this.itemProperties = aspx_client_rich_edit/* ASPxClientRichEdit */.v.PopupMenuItemProperties;
        this.spellingItemProperties = aspx_client_rich_edit/* ASPxClientRichEdit */.v.SpellingPopupMenuItemProperties;
        this.currentItemProperties = [];
        this.initializeItemProperties(this.itemProperties, owner.needUseSvg);
        this.initializeItemProperties(this.spellingItemProperties, owner.needUseSvg);
        this.initializeEvents();
    }
    onCanvasMouseDown() { }
    getCommandKeys() {
        return number/* NumberMapUtils */.j.toListBy(this.getItemsCache(), (_elem, key) => key);
    }
    initializeItemProperties(items, isSvg) {
        if (!(0,common.isDefined)(items))
            return;
        for (var i = 0, item; item = items[i]; i++) {
            if (item.imageName)
                item.imageClassName = this.getImageClassName(this.owner.menuIconSet, item.imageName, isSvg);
            item.isSvg = isSvg;
            if (item.items)
                this.initializeItemProperties(item.items, isSvg);
        }
    }
    getImageClassName(iconSetName, imageName, isSvg) {
        return "dxRichEdit_" + iconSetName + "_" + imageName + (isSvg ? "New" : "");
    }
    initializeEvents() {
        this.control.ItemClick.AddHandler((_s, e) => {
            var parameter = e.item.name == this.getChangeSpellingErrorCommandId() ? e.item.text : null;
            if (!this.hasSubItems(e.item))
                this.control.Hide();
            this.raiseBarCommandExecuted(e.item.name, parameter);
            if (this.owner.core.isTouchMode())
                this.owner.Focus();
        });
        this.control.CloseUp.AddHandler((_s, e) => {
            if (!browser.Browser.TouchUI && !e.item.parent)
                this.owner.Focus();
        });
        this.control.PopUp.AddHandler((_s, _e) => {
            this.updateItemsState();
        });
    }
    isVisible() {
        return this.control.IsVisible();
    }
    setItemValue(key, value) {
        var itemsCache = this.getItemsCache();
        for (var i = 0, item; item = itemsCache[key][i]; i++)
            item.value = value;
    }
    setItemEnabled(key, enabled) {
        var itemsCache = this.getItemsCache();
        for (var i = 0, item; item = itemsCache[key][i]; i++)
            item.enabled = enabled;
    }
    setItemVisible(key, visible) {
        var itemsCache = this.getItemsCache();
        for (var i = 0, item; item = itemsCache[key][i]; i++)
            item.visible = visible;
    }
    setEnabled(enabled) {
        this.control.SetEnabled(enabled);
    }
    isContextMenu() {
        return true;
    }
    getItemsCache() {
        if (!this.control["aspxricheditlink"]) {
            this.cache = null;
            this.control["aspxricheditlink"] = true;
        }
        if (!this.cache) {
            this.cache = {};
            this.ensureSubItemsCache(this.currentItemProperties);
        }
        return this.cache;
    }
    ensureSubItemsCache(itemProperties) {
        for (var i = 0, item; item = itemProperties[i]; i++) {
            var key = parseInt(item.name);
            if (!isNaN(key) && client_command/* RichEditClientCommand */.f[key] !== undefined) {
                if (!this.cache[key])
                    this.cache[key] = [];
                this.cache[key].push(item);
            }
            this.ensureSubItemsCache(item.items);
        }
    }
    updateContextMenu() {
        const suggestions = this.getSuggestions();
        this.clearCache();
        this.isSpellingMenu = suggestions !== undefined;
        if (this.isSpellingMenu) {
            var suggestionItemProperties = this.createSuggestionItemProperties(suggestions);
            this.currentItemProperties = suggestionItemProperties.concat(this.spellingItemProperties);
        }
        else
            this.currentItemProperties = this.itemProperties.slice();
        const commandKeys = this.getCommandKeys();
        for (const commandKey of commandKeys)
            this.updateBarItem(commandKey);
    }
    createItems(menuItemCollection) {
        this.control.ClearItems();
        this.control.CreateItems(menuItemCollection);
        this.setStyleForSuggestionItems(menuItemCollection);
    }
    clearCache() {
        this.cache = null;
        this.control["aspxricheditlink"] = false;
    }
    createSuggestionItemProperties(suggestions) {
        var suggestionItemProperties = [];
        if (suggestions)
            if (suggestions.length > 0)
                for (var i = 0, suggestion; suggestion = suggestions[i]; i++) {
                    var suggestionItemProperty = new aspx_client_rich_edit_popup_menu_item/* ASPxClientRichEditPopupMenuItem */.M();
                    suggestionItemProperty.name = this.getChangeSpellingErrorCommandId();
                    suggestionItemProperty.text = suggestion;
                    suggestionItemProperties.push(suggestionItemProperty);
                }
            else {
                var suggestionItemProperty = new aspx_client_rich_edit_popup_menu_item/* ASPxClientRichEditPopupMenuItem */.M();
                suggestionItemProperty.enabled = false;
                suggestionItemProperty.text = aspx_client_rich_edit/* ASPxClientRichEdit */.v.ASPxRichEditDialogList.OtherLabels.NoSpellingSuggestions;
                suggestionItemProperties.push(suggestionItemProperty);
            }
        return suggestionItemProperties;
    }
    setStyleForSuggestionItems(menuItemCollection) {
        for (var i = 0, item; item = menuItemCollection[i]; i++)
            if (item.name == this.getChangeSpellingErrorCommandId())
                dom.DomUtils.addClassName(this.control.GetItemElement(i), constants/* constants */._.SuggestionMenuItemCssClass);
    }
    getChangeSpellingErrorCommandId() {
        return client_command/* RichEditClientCommand */.f.ChangeSpellingError;
    }
    hasSubItems(item) {
        return item.items.length > 0;
    }
}


/***/ }),

/***/ 6309:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   P: function() { return /* binding */ AspxCommandBase; }
/* harmony export */ });
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9145);

class AspxCommandBase extends _common_commands_command_base__WEBPACK_IMPORTED_MODULE_0__/* .CommandBase */ .eK {
}


/***/ }),

/***/ 6778:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R1: function() { return /* binding */ InsertContentFromServerCommand; },
/* harmony export */   bC: function() { return /* binding */ InsertContentFromServerRequestManager; },
/* harmony export */   ro: function() { return /* binding */ InsertContentFromServerCommandOptions; }
/* harmony export */ });
/* harmony import */ var _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8904);
/* harmony import */ var _common_model_json_command_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9397);
/* harmony import */ var _common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7087);
/* harmony import */ var _common_model_json_importers_server_model_inserter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2055);
/* harmony import */ var _common_model_rich_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8845);
/* harmony import */ var _common_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(655);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2491);
/* harmony import */ var _aspx_command_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6309);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_base__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(9145);
/* harmony import */ var _common_commands_command_states__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3964);












class InsertContentFromServerCommand extends _aspx_command_base__WEBPACK_IMPORTED_MODULE_8__/* .AspxCommandBase */ .P {
    getState() {
        return new _common_commands_command_states__WEBPACK_IMPORTED_MODULE_11__/* .SimpleCommandState */ .mh(super.isEnabled());
    }
    executeCore(_state, options) {
        this.control.commandManager.insertContentFromServerRequestManager.addCallback(this.control, options.param);
        return true;
    }
}
class InsertContentFromServerCommandOptions {
    constructor(requestId, subDocPos, callback) {
        this.requestId = requestId;
        this.subDocPos = subDocPos;
        this.callback = callback;
    }
}
class InsertContentFromServerRequestManager {
    constructor() {
        this.reset();
    }
    reset() {
        this.map = {};
    }
    addCallback(control, options) {
        const id = InsertContentFromServerRequestManager.id++;
        const request = new _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .LoadCommandRequest */ .M2(_common_model_json_command_type__WEBPACK_IMPORTED_MODULE_1__/* .CommandType */ .w.InsertContentFromServer, control.modelManager.model.mainSubDocument.id, {
            [_common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONInsertContentFromServerCommand */ .ts.Id]: id,
            [_common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONInsertContentFromServerCommand */ .ts.UserRequestId]: options.requestId,
        });
        control.serverDispatcher.pushRequest(request, new _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .RequestParams */ .Kl(false, true, true));
        this.map[id] = options;
    }
    handleResponce(control, responce) {
        const id = responce[_common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONInsertContentFromServerCommand */ .ts.Id];
        const data = this.map[id];
        if (data === undefined)
            return;
        delete this.map[id];
        const userModel = responce[_common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONInsertContentFromServerCommand */ .ts.Model];
        if (userModel === undefined) {
            let simpleText = responce[_common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONInsertContentFromServerCommand */ .ts.SimpleText];
            if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_7__.isString)(simpleText) && simpleText.length != 0) {
                simpleText = simpleText.replace(/\r\n/g, _common_model_rich_utils__WEBPACK_IMPORTED_MODULE_4__/* .RichUtils */ .i.specialCharacters.LineBreak);
                control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_9__/* .RichEditClientCommand */ .f.InsertText)
                    .execute(control.commandManager.isPublicApiCall, new _common_commands_command_base__WEBPACK_IMPORTED_MODULE_10__/* .CommandSimpleOptions */ .LF(control, simpleText)
                    .setIntervalsInfo(_common_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_5__/* .SelectionIntervalsInfo */ .v.fromPosition(data.subDocPos.subDocument, data.subDocPos.position)));
                data.callback(new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_6__.FixedInterval(data.subDocPos.position, simpleText.length));
            }
        }
        else {
            const interval = _common_model_json_importers_server_model_inserter__WEBPACK_IMPORTED_MODULE_3__/* .ServerModelInserter */ .l.insertDocumentModelFromServer(control.modelManager, userModel, data.subDocPos.position, data.subDocPos.subDocument.id);
            data.callback(interval);
        }
    }
}
InsertContentFromServerRequestManager.id = 0;


/***/ }),

/***/ 9747:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ DownloadRequestType; },
/* harmony export */   E: function() { return /* binding */ PrintDocumentCommand; }
/* harmony export */ });
/* harmony import */ var _common_model_fields_tree_creator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(769);
/* harmony import */ var _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8904);
/* harmony import */ var _common_model_json_command_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9397);
/* harmony import */ var _common_model_options_control__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9147);
/* harmony import */ var _common_model_options_printing__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8284);
/* harmony import */ var _common_model_sub_document__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8096);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1167);
/* harmony import */ var _aspx_command_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6309);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_command_states__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3964);
/* harmony import */ var _common_commands_fields_update_field_command_base__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2039);











class PrintDocumentCommand extends _aspx_command_base__WEBPACK_IMPORTED_MODULE_7__/* .AspxCommandBase */ .P {
    getState() {
        var state = new _common_commands_command_states__WEBPACK_IMPORTED_MODULE_10__/* .SimpleCommandState */ .mh(this.isEnabled());
        state.visible = this.control.modelManager.richOptions.control.printing !== _common_model_options_control__WEBPACK_IMPORTED_MODULE_3__/* .DocumentCapability */ .e7.Hidden;
        return state;
    }
    executeCore(_state) {
        if (this.control.modelManager.richOptions.printing.mode !== _common_model_options_printing__WEBPACK_IMPORTED_MODULE_4__/* .PrintMode */ .X.ServerPdf)
            return this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_8__/* .RichEditClientCommand */ .f.PrintDocumentOnClient).execute(this.control.commandManager.isPublicApiCall);
        const updateAllFieldsCommand = this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_8__/* .RichEditClientCommand */ .f.UpdateAllFields);
        if (this.control.modelManager.richOptions.fields.updateFieldsBeforePrint && updateAllFieldsCommand.getState().enabled) {
            const subDocsInfo = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_6__/* .NumberMapUtils */ .j.toListBy(this.modelManipulator.model.subDocuments, (sd) => new _common_model_sub_document__WEBPACK_IMPORTED_MODULE_5__/* .SubDocumentIntervals */ .Jt(sd, [sd.interval]));
            return _common_commands_fields_update_field_command_base__WEBPACK_IMPORTED_MODULE_9__/* .UpdateFieldCommandBase */ .E.updateFields(this, subDocsInfo, () => this.sendPrintRequest(), new _common_model_fields_tree_creator__WEBPACK_IMPORTED_MODULE_0__/* .UpdateFieldsOptions */ .f$(false, false));
        }
        else
            this.sendPrintRequest();
        return true;
    }
    sendPrintRequest() {
        if (this.control.serverDispatcher.hasQueue()) {
            this.control.serverDispatcher.pushRequest(new _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_1__/* .EditCommandRequest */ .Q7(_common_model_json_command_type__WEBPACK_IMPORTED_MODULE_2__/* .CommandType */ .w.DelayedPrint, -1, {}), new _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_1__/* .RequestParams */ .Kl(false, true, false));
        }
        else
            this.control.owner.sendDownloadRequest(DownloadRequestType.PrintCurrentDocument);
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    isEnabled() {
        return super.isEnabled() && _common_model_options_control__WEBPACK_IMPORTED_MODULE_3__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.printing) &&
            this.control.modelManager.model.isLoaded();
    }
}
var DownloadRequestType;
(function (DownloadRequestType) {
    DownloadRequestType[DownloadRequestType["PrintCurrentDocument"] = 0] = "PrintCurrentDocument";
    DownloadRequestType[DownloadRequestType["DownloadCurrentDocument"] = 1] = "DownloadCurrentDocument";
})(DownloadRequestType || (DownloadRequestType = {}));


/***/ }),

/***/ 8006:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: function() { return /* binding */ ASPxClientRichEditCustomCommandExecutedEventArgs; }
/* harmony export */ });
class ASPxClientRichEditCustomCommandExecutedEventArgs extends ASPxClientEventArgs {
    constructor(commandName, parameter) {
        super();
        this.commandName = commandName;
        this.parameter = parameter;
    }
}


/***/ }),

/***/ 1377:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ ASPxClientRichEditHyperlinkClickEventArgs; }
/* harmony export */ });
class ASPxClientRichEditHyperlinkClickEventArgs extends ASPxClientEventArgs {
    constructor(htmlEvent, handled, targetUri, hyperlinkType) {
        super();
        this.handled = handled;
        this.htmlEvent = htmlEvent;
        this.hyperlinkType = hyperlinkType;
        this.targetUri = targetUri;
    }
}


/***/ }),

/***/ 3414:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ ASPxClientRichEditPopupMenuItemCollection; }
/* harmony export */ });
class ASPxClientRichEditPopupMenuItemCollection extends ASPx.OfficePopupMenuItemCollection {
    Add(item) {
        super.Add(item);
    }
    Remove(index) {
        super.Remove(index);
    }
    RemoveByName(name) {
        super.RemoveByName(name);
    }
    Insert(index, item) {
        super.Insert(index, item);
    }
    GetCount() {
        return super.GetCount();
    }
    GetByName(name) {
        return super.GetByName(name);
    }
    Get(index) {
        return super.Get(index);
    }
    Clear() {
        super.Clear();
    }
}


/***/ }),

/***/ 3697:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M: function() { return /* binding */ ASPxClientRichEditPopupMenuItem; }
/* harmony export */ });
class ASPxClientRichEditPopupMenuItem extends ASPx.OfficePopupMenuItem {
    GetSubItems() {
        return super.GetSubItems();
    }
    GetItem(index) {
        return super.GetItem(index);
    }
    GetItemByName(name) {
        return super.GetItemByName(name);
    }
    GetItemCount() {
        return super.GetItemCount();
    }
}


/***/ }),

/***/ 2057:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: function() { return /* binding */ ASPxClientRichEditPopupMenuShowingEventArgs; }
/* harmony export */ });
class ASPxClientRichEditPopupMenuShowingEventArgs extends ASPxClientCancelEventArgs {
    constructor(menuItems) {
        super();
        this.menuItems = menuItems;
    }
}


/***/ }),

/***/ 4233:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  v: function() { return /* binding */ ASPxClientRichEdit; }
});

// EXTERNAL MODULE: ./src/common/utils/unit-converter.ts
var unit_converter = __webpack_require__(5438);
// EXTERNAL MODULE: ./src/common/utils/web-utils/base.ts
var base = __webpack_require__(9312);
// EXTERNAL MODULE: ./src/common/commands/client-command.ts
var client_command = __webpack_require__(4803);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/browser.js
var browser = __webpack_require__(9279);
// EXTERNAL MODULE: ./src/common/commands/dialogs/show-dialog-command-base.ts
var show_dialog_command_base = __webpack_require__(7355);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-alert-message-command.ts



class DialogAlertMessageCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    createParameters(_options) {
        const parameters = new AlertMessageDialogParameters();
        parameters.messageTextId = this.getMessageTextId();
        return parameters;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class DialogErrorMessageCommand extends DialogAlertMessageCommand {
    getDialogName() {
        return "ErrorMessage";
    }
}
class DialogInformationMessageCommand extends DialogAlertMessageCommand {
    getDialogName() {
        return "InformationMessage";
    }
}
class DialogWarningMessageCommand extends DialogAlertMessageCommand {
    getDialogName() {
        return "WarningMessage";
    }
}
class ShowErrorModelIsChangedMessageCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.ModelIsChanged;
    }
    afterClosing() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ReloadDocument).execute(this.control.commandManager.isPublicApiCall);
    }
}
class ShowErrorSessionHasExpiredMessageCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.SessionHasExpired;
    }
}
class ShowErrorOpeningAndOverstoreImpossibleMessageCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.OpeningAndOverstoreImpossible;
    }
}
class ShowErrorCantSaveToEmptyPathMessageCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.CantSaveToEmptyPath;
    }
}
class ShowWarningClipboardAccessDeniedMessageCommand extends DialogWarningMessageCommand {
    getMessageTextId() {
        return browser.Browser.TouchUI ? AlertMessageText.ClipboardAccessDeniedTouch : AlertMessageText.ClipboardAccessDenied;
    }
}
class ShowErrorInnerExceptionMessageCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.InnerException;
    }
    afterClosing() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ReloadDocument).execute(false);
    }
}
class ShowErrorInvalidDocumentMessageCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.InvalidDocumentFormat;
    }
}
class ShowErrorAuthExceptionMessageCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.AuthException;
    }
    afterClosing() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ReloadDocument).execute(this.control.commandManager.isPublicApiCall);
    }
}
class ShowErrorCantOpenDocument extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.CantOpenFile;
    }
    isEnabledInClosedDocument() {
        return true;
    }
}
class ShowErrorCantSaveDocument extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.CantSaveFile;
    }
}
class ShowErrorPathTooLong extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.PathTooLongException;
    }
}
class ShowErrorDocVariableExceptionCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.DocVariableException;
    }
}
class ShowInsertContentFromServerErrorDialogCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.InsertContentFromServerException;
    }
}
class ShowLoadPictureErrorDialogCommand extends DialogErrorMessageCommand {
    getMessageTextId() {
        return AlertMessageText.LoadPictureError;
    }
}
class ShowSpellingCheckCompletedCommand extends DialogInformationMessageCommand {
    getMessageTextId() {
        return AlertMessageText.SpellingCheckCompleted;
    }
}
class AlertMessageDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.messageTextId = obj.messageTextId;
    }
    clone() {
        const newInstance = new AlertMessageDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
var AlertMessageText;
(function (AlertMessageText) {
    AlertMessageText[AlertMessageText["ModelIsChanged"] = 0] = "ModelIsChanged";
    AlertMessageText[AlertMessageText["SessionHasExpired"] = 1] = "SessionHasExpired";
    AlertMessageText[AlertMessageText["OpeningAndOverstoreImpossible"] = 2] = "OpeningAndOverstoreImpossible";
    AlertMessageText[AlertMessageText["ClipboardAccessDenied"] = 3] = "ClipboardAccessDenied";
    AlertMessageText[AlertMessageText["InnerException"] = 4] = "InnerException";
    AlertMessageText[AlertMessageText["AuthException"] = 5] = "AuthException";
    AlertMessageText[AlertMessageText["CantOpenFile"] = 6] = "CantOpenFile";
    AlertMessageText[AlertMessageText["CantSaveFile"] = 7] = "CantSaveFile";
    AlertMessageText[AlertMessageText["DocVariableException"] = 8] = "DocVariableException";
    AlertMessageText[AlertMessageText["PathTooLongException"] = 9] = "PathTooLongException";
    AlertMessageText[AlertMessageText["InvalidDocumentFormat"] = 10] = "InvalidDocumentFormat";
    AlertMessageText[AlertMessageText["SpellingCheckCompleted"] = 11] = "SpellingCheckCompleted";
    AlertMessageText[AlertMessageText["ClipboardAccessDeniedTouch"] = 12] = "ClipboardAccessDeniedTouch";
    AlertMessageText[AlertMessageText["CantSaveToEmptyPath"] = 13] = "CantSaveToEmptyPath";
    AlertMessageText[AlertMessageText["InsertContentFromServerException"] = 14] = "InsertContentFromServerException";
    AlertMessageText[AlertMessageText["LoadPictureError"] = 15] = "LoadPictureError";
    AlertMessageText[AlertMessageText["DocumentImportError"] = 16] = "DocumentImportError";
})(AlertMessageText || (AlertMessageText = {}));

// EXTERNAL MODULE: ./src/aspx/commands/document/print-document-command.ts
var print_document_command = __webpack_require__(9747);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/attr.js
var attr = __webpack_require__(2217);
;// CONCATENATED MODULE: ./src/common/rich-utils/attribute-utils.ts

class AttributeUtils {
    static changeElementStyleAttribute(obj, attrName, newValue) {
        attr/* AttrUtils */.F.saveStyleAttributeInElement(obj, attrName);
        AttributeUtils.setStyleAttribute(obj.style, attrName, newValue);
    }
    static setStyleAttribute(obj, attrName, newValue) {
        if (obj.setAttribute)
            attr/* AttrUtils */.F.setElementAttribute(obj, attrName, newValue);
        else
            attr/* AttrUtils */.F.setStyleAttribute(obj, attrName, newValue);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/evt.js
var evt = __webpack_require__(3714);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/dom.js
var dom = __webpack_require__(6907);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/key.js
var key = __webpack_require__(2153);
;// CONCATENATED MODULE: ./src/common/ui/quick-search-panel.ts





class QuickSearchPanel {
    get core() { return this.owner.core; }
    constructor(owner, searchManager) {
        this.owner = owner;
        this.searchManager = searchManager;
        this.initialize();
    }
    dispose() {
        if (this.isVisible())
            this.onClose(true);
        dom.DomUtils.hideNode(this.resultLabel);
        this.owner = null;
        this.searchManager = null;
        clearTimeout(this.timerId);
        dom.DomUtils.hideNode(this.searchField);
    }
    initialize() {
        this.createElements();
        this.timerId = null;
        this.height = dom.DomUtils.getClearClientHeight(this.getQuickSearchPanelWrapper());
        this.attachEvents();
        this.initializeFields();
    }
    initializeFields() {
        if (this.searchManager.whatFind) {
            this.getSearchField().value = this.searchManager.whatFind;
            if (this.searchManager.foundIntervals.length)
                this.updateSearchInfo(-1);
            else
                this.findAll();
        }
    }
    createElements() { }
    attachEvents() {
        const searchField = this.getSearchField();
        const prevBtn = this.getPrevButton();
        const nextBtn = this.getNextButton();
        const collapseBtn = this.getCollapseButton();
        const closeBtn = this.getCloseButton();
        const that = this;
        closeBtn.onclick = function () { that.hide(true); };
        collapseBtn.onclick = function () { that.showFindReplaceDialog(); };
        prevBtn.onclick = function () {
            if (that.searchManager.foundIntervals.length)
                that.findPrev();
            else
                that.findAll();
        };
        nextBtn.onclick = function () {
            if (that.searchManager.foundIntervals.length)
                that.findNext();
            else
                that.findAll();
        };
        searchField.onkeydown = function (e) {
            var keyCode = key/* KeyUtils */.LN.getEventKeyCode(e);
            if (keyCode === key/* KeyCode */.VD.Esc) {
                that.hide(true);
            }
            else if (keyCode === key/* KeyCode */.VD.Enter) {
                if (that.searchManager.foundIntervals.length)
                    if (e.shiftKey)
                        that.findPrev();
                    else
                        that.findNext();
                else
                    that.findAll();
                evt/* EvtUtils */.g.preventEvent(e);
            }
            else {
                var shortcutCode = key/* KeyUtils */.LN.getShortcutCodeByEvent(e);
                if (shortcutCode === QuickSearchPanel.shortcuts.showDialog || shortcutCode === QuickSearchPanel.shortcuts.showPanel) {
                    evt/* EvtUtils */.g.preventEvent(e);
                    if (shortcutCode === QuickSearchPanel.shortcuts.showDialog)
                        that.showFindReplaceDialog();
                }
            }
        };
        searchField.onkeyup = function (e) {
            clearTimeout(that.timerId);
            var keyCode = key/* KeyUtils */.LN.getEventKeyCode(e);
            if (keyCode === key/* KeyCode */.VD.Enter)
                return;
            if (!that.getSearchField().value) {
                that.clearResult();
                that.searchManager.resetSearch();
                return;
            }
            that.timerId = setTimeout(function () {
                that.findAll();
            }, 700);
        };
    }
    findNext() {
        var index = this.searchManager.findNextIntervalIndex();
        if (index !== null) {
            this.searchManager.selectIntervalByIndex(index);
            this.searchManager.scrollToIntervalByIndex(index);
            this.updateSearchInfo(index);
        }
    }
    findPrev() {
        var index = this.searchManager.findPrevIntervalIndex();
        if (index !== null) {
            this.searchManager.selectIntervalByIndex(index);
            this.searchManager.scrollToIntervalByIndex(index);
            this.updateSearchInfo(index);
        }
    }
    findAll() {
        var whatFind = this.getSearchField().value;
        if (whatFind) {
            this.searchManager.findAll(whatFind, false);
            this.updateSearchInfo(-1);
            var index = this.searchManager.findNextIntervalIndex();
            if (index !== null)
                this.searchManager.scrollToIntervalByIndex(index);
        }
    }
    updateSearchInfo(index) {
        if (this.searchManager.foundIntervals.length) {
            var resultText = index >= 0 ?
                `${index + 1} ${this.core.stringResources.quickSearchPanel.of} ${this.searchManager.foundIntervals.length}` :
                this.core.stringResources.quickSearchPanel.items + ": " + this.searchManager.foundIntervals.length;
            this.setResult(resultText);
            return;
        }
        this.setResult(this.core.stringResources.quickSearchPanel.noMatches);
    }
    setResult(text) {
        this.getResultLabel().innerHTML = text;
    }
    clearResult() {
        this.getResultLabel().innerHTML = "";
    }
    getQuickSearchPanelWrapper() {
        return this.owner.getChildElement(QuickSearchPanel.wrapperPostfix);
    }
    getSearchField() {
        if (!this.searchField) {
            const inputElements = this.owner.getChildElement(QuickSearchPanel.wrapperPostfix).getElementsByTagName("INPUT");
            for (let i = 0, element; element = inputElements[i]; i++)
                if (element.type.toLowerCase() === "text") {
                    this.searchField = element;
                    break;
                }
        }
        return this.searchField;
    }
    getPrevButton() {
        return this.owner.getChildElement(QuickSearchPanel.prevBtnPostfix);
    }
    getNextButton() {
        return this.owner.getChildElement(QuickSearchPanel.nextBtnPostfix);
    }
    getCollapseButton() {
        return this.owner.getChildElement(QuickSearchPanel.collapseBtnPostfix);
    }
    getCloseButton() {
        return this.owner.getChildElement(QuickSearchPanel.closeBtnPostfix);
    }
    getResultLabel() {
        if (!this.resultLabel) {
            var inputElement = this.getSearchField();
            var tdContainer = inputElement.parentElement;
            const span = document.createElement("SPAN");
            span.classList.add('dxreSearchResult');
            tdContainer.appendChild(span);
            span.style.lineHeight = `${tdContainer.offsetHeight}px`;
            this.resultLabel = span;
        }
        return this.resultLabel;
    }
    NotifySearchReset() {
        this.clearResult();
    }
    showFindReplaceDialog() {
        this.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.Replace).execute(this.core.commandManager.isPublicApiCall);
    }
    show() {
        if (!this.isVisible() && !this.owner.hasActiveDialog()) {
            var panel = this.getQuickSearchPanelWrapper();
            panel.style.visibility = "visible";
            panel.style.height = this.height + "px";
            this.searchManager.onChanged.add(this);
            this.initializeFields();
        }
        dom.DomUtils.setFocus(this.getSearchField());
        this.getSearchField().select();
    }
    hide(resetSearch) {
        if (this.isVisible()) {
            var panel = this.getQuickSearchPanelWrapper();
            panel.style.height = "0px";
            panel.style.visibility = "hidden";
            this.onClose(resetSearch);
        }
    }
    onClose(resetSearch) {
        if (resetSearch)
            this.searchManager.resetSearch();
        this.searchManager.onChanged.remove(this);
        this.getSearchField().value = "";
        this.clearResult();
        this.core.focusManager.captureFocus();
    }
    isVisible() {
        var style = dom.DomUtils.getCurrentStyle(this.getQuickSearchPanelWrapper());
        return style.visibility !== "hidden";
    }
}
QuickSearchPanel.shortcuts = {
    showPanel: key/* KeyUtils */.LN.parseShortcutString(browser.Browser.MacOSPlatform ? "CMD+F" : "CTRL+F"),
    showDialog: key/* KeyUtils */.LN.parseShortcutString(browser.Browser.MacOSPlatform ? "CMD+H" : "CTRL+H")
};
QuickSearchPanel.containerPostfix = "_QS";
QuickSearchPanel.wrapperPostfix = "_QSPW";
QuickSearchPanel.prevBtnPostfix = "_QSPPrevBtn";
QuickSearchPanel.nextBtnPostfix = "_QSPNextBtn";
QuickSearchPanel.collapseBtnPostfix = "_QSPCollapseBtn";
QuickSearchPanel.closeBtnPostfix = "_QSPCloseBtn";

// EXTERNAL MODULE: ./src/common/model/json/enums/json-top-level-enums.ts
var json_top_level_enums = __webpack_require__(6338);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var utils_list = __webpack_require__(2940);
;// CONCATENATED MODULE: ./src/common/model/options/auto-correct.ts

class AutoCorrectSettings {
    constructor() {
        this.detectUrls = true;
        this.correctTwoInitialCapitals = false;
        this.replaceTextAsYouType = false;
        this.enableAutomaticNumbering = true;
        this.caseSensitiveReplacement = false;
        this.replaceInfoCollection = [];
    }
    copyFrom(obj) {
        this.detectUrls = obj.detectUrls;
        this.correctTwoInitialCapitals = obj.correctTwoInitialCapitals;
        this.replaceTextAsYouType = obj.replaceTextAsYouType;
        this.enableAutomaticNumbering = obj.enableAutomaticNumbering;
        this.caseSensitiveReplacement = obj.caseSensitiveReplacement;
        this.replaceInfoCollection = utils_list.ListUtils.map(obj.replaceInfoCollection, d => new AutoCorrectReplaceInfo(d.replace, d.with));
    }
    clone() {
        const result = new AutoCorrectSettings();
        result.copyFrom(this);
        return result;
    }
}
class AutoCorrectReplaceInfo {
    constructor(whatReplace, withReplace) {
        this.replace = whatReplace;
        this.with = withReplace;
    }
    clone() {
        return new AutoCorrectReplaceInfo(this.replace, this.with);
    }
}

// EXTERNAL MODULE: ./src/common/model/options/bookmarks.ts
var bookmarks = __webpack_require__(7516);
// EXTERNAL MODULE: ./src/common/model/options/control.ts
var control = __webpack_require__(9147);
// EXTERNAL MODULE: ./src/common/utils/utils.ts
var utils = __webpack_require__(5929);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
;// CONCATENATED MODULE: ./src/common/model/options/fields.ts


class FieldsSettings {
    ;
    constructor() {
        this.openHyperlinkOnClick = false;
        this.updateFieldsBeforePrint = true;
        this.updateFieldsOnPaste = true;
        this.defaultTimeFormat = FieldsSettings.DEFAULT_TIME_FORMAT;
        this.defaultDateFormat = FieldsSettings.DEFAULT_DATE_FORMAT;
        this.openHyperlinkOnClick = false;
        this.keepHyperlinkResultForInvalidReference = false;
        this.createHyperlinkTooltip = (hyperlinkTooltip, hint) => {
            return `${hyperlinkTooltip}${hint}`;
        };
    }
    copyFrom(obj) {
        if ((0,common.isDefined)(obj.updateFieldsBeforePrint))
            this.updateFieldsBeforePrint = obj.updateFieldsBeforePrint;
        if ((0,common.isDefined)(obj.updateFieldsOnPaste))
            this.updateFieldsOnPaste = obj.updateFieldsOnPaste;
        if ((0,common.isNonNullString)(obj.defaultTimeFormat))
            this.defaultTimeFormat = obj.defaultTimeFormat;
        if ((0,common.isNonNullString)(obj.defaultDateFormat))
            this.defaultDateFormat = obj.defaultDateFormat;
        if ((0,common.isDefined)(obj.openHyperlinkOnClick))
            this.openHyperlinkOnClick = obj.openHyperlinkOnClick;
        if ((0,common.isDefined)(obj.keepHyperlinkResultForInvalidReference))
            this.keepHyperlinkResultForInvalidReference = obj.keepHyperlinkResultForInvalidReference;
        if ((0,common.isDefined)(obj.createHyperlinkTooltip) && obj.createHyperlinkTooltip !== '')
            this.createHyperlinkTooltip = (0,utils/* convertToFunction */.tm)(obj.createHyperlinkTooltip);
        if ((0,common.isDefined)(obj.allowedHyperlinkUriSchemes))
            this.allowedHyperlinkUriSchemes = obj.allowedHyperlinkUriSchemes;
    }
    clone() {
        const result = new FieldsSettings();
        result.copyFrom(this);
        return result;
    }
}
FieldsSettings.DEFAULT_TIME_FORMAT = 'h:mm am/pm';
FieldsSettings.DEFAULT_DATE_FORMAT = 'M/d/yyyy';

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var string = __webpack_require__(49);
;// CONCATENATED MODULE: ./src/common/model/options/fonts.ts


class FontMappings {
    constructor(defaultFontName, rules) {
        this.defaultFontName = defaultFontName;
        this.rules = rules ? rules : [];
    }
    copyFrom(obj) {
        var _a;
        this.defaultFontName = obj.defaultFontName;
        this.rules = utils_list.ListUtils.map((_a = obj.rules) !== null && _a !== void 0 ? _a : [], rule => new MappingRule(rule.sourceFontFamily, rule.destinationFontName));
    }
}
class MappingRule {
    constructor(sourceFontFamily, destinationFontName) {
        this.sourceFontFamily = sourceFontFamily;
        this.destinationFontName = destinationFontName;
    }
}
class FontsSettings {
    constructor() {
        this._defaultFolder = FontsSettings.defaultBaseUrl;
        this.fonts = [];
        this.mappings = new FontMappings();
        this.fontsMap = Object.create(null);
        this.mapRules = Object.create(null);
    }
    static get defaultBaseUrl() { return window.location.origin + '/fonts/'; }
    get defaultFolder() { return this._defaultFolder; }
    ;
    set defaultFolder(val) {
        if (!string.StringUtils.endsAt(val, '\\') && !string.StringUtils.endsAt(val, '/'))
            val += '/';
        this._defaultFolder = val;
    }
    get useMappingRules() { return this.limitedFonts && (!!this.mappings.rules.length || !!this.mappings.defaultFontName); }
    get limitedFonts() { return !!this.fonts.length; }
    getPermittedFont(fontInfoCache, font) {
        var _a;
        if (!this.useMappingRules || this.fontsMap[font.name])
            return font;
        const rule = this.mapRules[font.getFontFamilies()[0]];
        if (rule) {
            const destFont = fontInfoCache.getItemByName(rule.destinationFontName);
            if (destFont)
                return destFont;
        }
        return fontInfoCache.getItemByName((_a = this.mappings.defaultFontName) !== null && _a !== void 0 ? _a : this.fonts[0].name);
    }
    copyFrom(obj) {
        this.defaultFolder = obj.defaultFolder;
        this.fonts = utils_list.ListUtils.map(obj.fonts, font => FontsSettings.createFont(font));
        this.mappings.copyFrom(obj.mappings);
        this.initInternal();
    }
    init(obj) {
        var _a, _b, _c;
        if (obj) {
            this.defaultFolder = (_a = obj.defaultFolder) !== null && _a !== void 0 ? _a : FontsSettings.defaultBaseUrl;
            this.fonts = utils_list.ListUtils.map((_b = obj.fonts) !== null && _b !== void 0 ? _b : [], font => FontsSettings.createFont(font));
            this.mappings.copyFrom((_c = obj.mappings) !== null && _c !== void 0 ? _c : {});
            this.initInternal();
        }
    }
    clone() {
        const result = new FontsSettings();
        result.copyFrom(this);
        return result;
    }
    initInternal() {
        this.fontsMap = Object.create(null);
        this.fonts.forEach(font => this.fontsMap[font.name] = true);
        this.mapRules = Object.create(null);
        this.mappings.rules.forEach(rule => this.mapRules[rule.sourceFontFamily] = rule);
    }
    static createFont(obj) {
        return {
            name: obj.name,
            fontFamily: obj.fontFamily,
            googleFontsResponse: obj.googleFontsResponse,
            useGoogleFonts: obj.useGoogleFonts,
            italicFontUri: obj.italicFontUri,
            boldFontUri: obj.boldFontUri,
            boldItalicFontUri: obj.boldItalicFontUri,
            regularFontUri: obj.regularFontUri,
        };
    }
}

;// CONCATENATED MODULE: ./src/common/model/options/mail-merge.ts
class MailMergeOptions {
    constructor() {
        this.isEnabled = false;
        this.viewMergedData = false;
        this.activeRecordIndex = 0;
        this.recordCount = 0;
        this.allowInsertFields = false;
    }
    copyFrom(obj) {
        this.isEnabled = obj.isEnabled;
        this.viewMergedData = obj.viewMergedData;
        this.activeRecordIndex = obj.activeRecordIndex;
        this.recordCount = obj.recordCount;
        this.allowInsertFields = obj.allowInsertFields;
    }
    clone() {
        const result = new MailMergeOptions();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/options/pdf.ts
class PdfSettings {
    constructor() {
        this._pdfDocument = window.PDFDocument;
        this._blobStream = window.BlobStream;
    }
    get pdfDocument() { return this._pdfDocument ? this._pdfDocument : window.PDFDocument; }
    ;
    set pdfDocument(val) { this._pdfDocument = val; }
    ;
    get blobStream() { return this._blobStream ? this._blobStream : window.BlobStream; }
    ;
    set blobStream(val) { this._blobStream = val; }
    ;
    copyFrom(obj) {
        this._pdfDocument = obj.pdfDocument;
        this._blobStream = obj.blobStream;
        this.exportUrl = obj.exportUrl;
        this.pdfKitScriptUrl = obj.pdfKitScriptUrl;
        this.convertImageToCompatibleFormat = obj.convertImageToCompatibleFormat;
    }
    clone() {
        const result = new PdfSettings();
        result.copyFrom(this);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/options/printing.ts
var printing = __webpack_require__(8284);
// EXTERNAL MODULE: ./src/common/model/options/protection.ts
var protection = __webpack_require__(3914);
;// CONCATENATED MODULE: ./src/common/model/options/search.ts
class SearchSettings {
    copyFrom(obj) {
        this.filterInterval = obj.filterInterval;
    }
    clone() {
        const result = new SearchSettings();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/options/spell-checker.ts
class SpellCheckerError {
}
class SpellCheckerSettings {
    constructor() {
        this.isEnabled = false;
        this.customDictionaryGuid = "";
        this.canAddWord = false;
        this.suggestionCount = 4;
    }
    copyFrom(obj) {
        this.isEnabled = obj.isEnabled;
        this.suggestionCount = obj.suggestionCount;
        this.customDictionaryGuid = obj.customDictionaryGuid;
        this.canAddWord = obj.canAddWord;
        this.maxRequestLength = obj.maxRequestLength && obj.maxRequestLength > 0 ? obj.maxRequestLength : 300;
        this.checkWordSpelling = obj.checkWordSpelling;
        this.addWordToDictionary = obj.addWordToDictionary;
    }
    clone() {
        const result = new SpellCheckerSettings();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/options/rich-options.ts











class RichOptions {
    get maxSpellRequestLength() {
        return this.spellChecker.maxRequestLength;
    }
    constructor(cultureOpts) {
        this.control = new control/* ControlOptions */.tH();
        this.mailMerge = new MailMergeOptions();
        this.fields = new FieldsSettings();
        this.documentProtection = new protection/* DocumentProtectionSettings */.E();
        this.printing = new printing/* PrintingSettings */.O();
        this.bookmarks = new bookmarks/* BookmarksSettings */.Oy();
        this.spellChecker = new SpellCheckerSettings();
        this.autoCorrect = new AutoCorrectSettings();
        this.pdf = new PdfSettings();
        this.search = new SearchSettings();
        this.fonts = new FontsSettings();
        this.cultureOpts = cultureOpts;
    }
    clone() {
        const result = new RichOptions(this.cultureOpts);
        result.control = this.control.clone();
        result.mailMerge = this.mailMerge.clone();
        result.fields = this.fields.clone();
        result.documentProtection = this.documentProtection.clone();
        result.printing = this.printing.clone();
        result.bookmarks = this.bookmarks.clone();
        result.spellChecker = this.spellChecker.clone();
        result.autoCorrect = this.autoCorrect.clone();
        result.cultureOpts = this.cultureOpts.clone();
        result.pdf = this.pdf.clone();
        result.search = this.search.clone();
        result.fonts = this.fonts.clone();
        result.nonce = this.nonce;
        return result;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/size.js
var geometry_size = __webpack_require__(6353);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/base64.js
var base64 = __webpack_require__(6477);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/touch.js
var touch = __webpack_require__(1632);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/file.js
var file = __webpack_require__(2674);
// EXTERNAL MODULE: ./src/common/model/fonts/control-font.ts + 1 modules
var control_font = __webpack_require__(1631);
// EXTERNAL MODULE: ./src/common/model/fonts/font-info.ts
var font_info = __webpack_require__(4098);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var class_flag = __webpack_require__(7820);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/enum.js
var utils_enum = __webpack_require__(310);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-box.ts
var layout_box = __webpack_require__(8274);
// EXTERNAL MODULE: ./src/common/model/caches/hash-based-cache.ts
var hash_based_cache = __webpack_require__(6648);
;// CONCATENATED MODULE: ./src/common/model/fonts/grabber.ts








class LayoutFontsCollectorElement {
    constructor(charProps) {
        this.textCache = Object.create(null);
        this.charProps = charProps;
    }
    getHashCode() {
        return this.charProps.getHashCode();
    }
    equals(obj) {
        return this.charProps.equals(obj.charProps);
    }
    addFont(symbol, font) {
        this.textCache[symbol] = font;
    }
    getFont(symbol) {
        return this.textCache[symbol];
    }
    replaceUnloadedFonts(defaultFontMap) {
        const newTextCache = Object.create(null);
        for (let key in this.textCache) {
            const controlFont = this.textCache[key];
            newTextCache[key] = controlFont.loaded ? controlFont : defaultFontMap[controlFont.controlFontType];
        }
        const newElement = new LayoutFontsCollectorElement(this.charProps);
        newElement.textCache = newTextCache;
        return newElement;
    }
}
class LayoutFontsCollectorCache extends hash_based_cache/* HashBasedCacheCore */.m {
    replaceUnloadedFonts(defaultFontMap) {
        const result = new LayoutFontsCollectorCache();
        number/* NumberMapUtils */.j.forEach(this.hashtable, list => list.forEach(elem => result.getItem(elem.replaceUnloadedFonts(defaultFontMap))));
        return result;
    }
}
class LayoutFontsCollector {
    constructor(cache, layout, defaultFontName) {
        this.fonts = {};
        this.cache = new LayoutFontsCollectorCache();
        this.controlFontsCache = cache.controlFontsCache;
        this.layout = layout;
        this.defaultFont = defaultFontName ? cache.fontInfoCache.getItemByName(defaultFontName) : null;
    }
    addDefaultFont() {
        if (!this.defaultFont)
            return;
        const addFontToLoad = (type) => {
            const fontKey = this.defaultFont.controlFontMap[type];
            const controlFont = this.controlFontsCache.getFontByKey(fontKey);
            if (controlFont)
                this.fonts[fontKey] = controlFont;
        };
        this.defaultFont.ensureAllControlFontsAssigned(this.controlFontsCache);
        addFontToLoad(font_info/* ControlFontType */.G.Regular);
        addFontToLoad(font_info/* ControlFontType */.G.Bold);
        addFontToLoad(font_info/* ControlFontType */.G.Italic);
        addFontToLoad(font_info/* ControlFontType */.G.BoldItalic);
    }
    collect() {
        this.addDefaultFont();
        for (const page of this.layout.pages) {
            for (const pageArea of page.mainSubDocumentPageAreas)
                this.grabFromPageArea(pageArea);
            number/* NumberMapUtils */.j.forEach(page.otherPageAreas, (pageArea) => this.grabFromPageArea(pageArea));
        }
        return number/* NumberMapUtils */.j.toList(this.fonts);
    }
    grabFromPageArea(pageArea) {
        for (const column of pageArea.columns) {
            for (const row of column.rows) {
                if (row.numberingListBox) {
                    this.addFont(row.numberingListBox.textBox);
                    if (row.numberingListBox.separatorBox)
                        this.addFont(row.numberingListBox.separatorBox);
                }
                for (const rowBox of row.boxes)
                    this.addFont(rowBox);
            }
        }
    }
    addFont(box) {
        if (utils_enum/* EnumUtils */.Y.isAnyOf(box.getType(), layout_box/* LayoutBoxType */.KH.Picture, layout_box/* LayoutBoxType */.KH.AnchorPicture))
            return;
        const content = LayoutFontsCollector.boxContent(box);
        if (content.length)
            this.mustHaveFontsForRenderText(box.characterProperties, content);
    }
    mustHaveFontsForRenderText(charProps, text) {
        const cacheElem = this.cache.getItem(new LayoutFontsCollectorElement(charProps));
        const controlFontType = new class_flag.Flag();
        controlFontType.set(font_info/* ControlFontType */.G.Bold, charProps.fontBold);
        controlFontType.set(font_info/* ControlFontType */.G.Italic, charProps.fontItalic);
        const key = charProps.fontInfo.controlFontMap[controlFontType.getValue()];
        const textLen = text.length;
        let defaultControlFont = null;
        for (let textIndex = 0; textIndex < textLen; textIndex++) {
            const symbol = text[textIndex];
            if (cacheElem.getFont(symbol))
                continue;
            const charCodePoint = symbol.charCodeAt(0);
            const candidate = this.controlFontsCache.getFontByKey(key);
            let font = candidate && utils_list.ListUtils.unsafeAnyOf(candidate.unicodeRanges, range => range.contains(charCodePoint)) ?
                candidate : null;
            if (!font) {
                if (candidate)
                    font = candidate;
                else {
                    if (!defaultControlFont)
                        defaultControlFont = this.controlFontsCache.addFont(control_font/* ControlFont */.N.createDefault(charProps.fontInfo.getFontFamilies()[0], controlFontType));
                    font = defaultControlFont;
                }
            }
            if (!this.fonts[font.cacheKey])
                this.fonts[font.cacheKey] = font;
            cacheElem.addFont(symbol, font);
        }
    }
    static boxContent(box) {
        switch (box.getType()) {
            case layout_box/* LayoutBoxType */.KH.Text:
            case layout_box/* LayoutBoxType */.KH.LayoutDependent:
            case layout_box/* LayoutBoxType */.KH.Dash:
                return box.text;
            case layout_box/* LayoutBoxType */.KH.ColumnBreak:
            case layout_box/* LayoutBoxType */.KH.LineBreak:
            case layout_box/* LayoutBoxType */.KH.PageBreak:
            case layout_box/* LayoutBoxType */.KH.ParagraphMark:
            case layout_box/* LayoutBoxType */.KH.SectionMark:
            case layout_box/* LayoutBoxType */.KH.TabSpace:
            case layout_box/* LayoutBoxType */.KH.Space:
                return " ";
            default:
                return "";
        }
    }
}

;// CONCATENATED MODULE: ./src/common/model/fonts/loader.ts



class ControlFontsLoader {
    constructor(controlFontsCache, fontsSettings, showConsoleMessage) {
        this.fontsCache = controlFontsCache;
        this.fontsSettings = fontsSettings;
        this.showConsoleMessage = showConsoleMessage;
    }
    loadFonts(fonts, loadWithStatus, callback) {
        this.needInvalidateLayout = false;
        const fontsToLoad = [];
        for (let font of fonts) {
            font = this.fontsCache.addFont(font);
            if (utils_list.ListUtils.unsafeAnyOf(loadWithStatus, s => s == font.status))
                fontsToLoad.push(new FontToLoad(font, this.fontsSettings));
        }
        let notLoadedFontsCount = fontsToLoad.length;
        if (notLoadedFontsCount) {
            for (let font of fontsToLoad) {
                font.font.status = control_font/* FontLoadStatus */.P.Loading;
                this.makeRequest(font, (data) => {
                    font.font.status = data ? control_font/* FontLoadStatus */.P.Loaded : control_font/* FontLoadStatus */.P.Error;
                    if (data) {
                        font.font.applySource(data, () => {
                            this.needInvalidateLayout = true;
                        });
                        if (string.StringUtils.endsAt(font.currentPath, '.ttc'))
                            font.font.isFontCollection = true;
                    }
                    notLoadedFontsCount--;
                    if (!notLoadedFontsCount)
                        callback();
                });
            }
        }
        else
            setTimeout(callback, 0);
    }
    makeRequest(fontInfo, afterLoading) {
        const notLoaded = () => {
            if (this.showConsoleMessage)
                fontInfo.showError();
            afterLoading(null);
        };
        const xhr = new XMLHttpRequest();
        xhr.onload = (_e) => {
            const contentType = xhr.getResponseHeader("Content-Type");
            if (contentType !== 'text/html') {
                const fontSource = xhr.response;
                if (xhr.status >= 400 || !fontSource) {
                    if (fontInfo.next())
                        this.makeRequest(fontInfo, afterLoading);
                    else
                        notLoaded();
                }
                else
                    afterLoading(fontSource);
            }
            else
                notLoaded();
        };
        xhr.onerror = () => notLoaded();
        xhr.open("GET", fontInfo.currentPath, true);
        xhr.responseType = "arraybuffer";
        xhr.send();
    }
}
class FontToLoad {
    get currentPath() { return this.sourceUrls[this.ind]; }
    constructor(font, fontsSettings) {
        this.sourceUrls = [];
        this.ind = 0;
        this.font = font;
        this.sourceUrls = font.allSourceUrls(fontsSettings.defaultFolder);
    }
    next() {
        return ++this.ind < this.sourceUrls.length;
    }
    showError() {
        console.log('Font is not loaded: {name = ' + this.font.fontFamily
            + ', bold = ' + this.font.descriptors.msWordBold()
            + ', italic = ' + this.font.descriptors.msWordItalic() + '}');
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/fonts.js
var utils_fonts = __webpack_require__(4004);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-anchored-picture-box.ts
var layout_anchored_picture_box = __webpack_require__(3966);
// EXTERNAL MODULE: ./src/common/model/color/color.ts
var color_color = __webpack_require__(7217);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var class_unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/point.js
var point = __webpack_require__(8900);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/color.js
var utils_color = __webpack_require__(13);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-picture-box.ts
var layout_picture_box = __webpack_require__(9052);
// EXTERNAL MODULE: ./src/common/measurer/measure-info.ts
var measure_info = __webpack_require__(7308);
// EXTERNAL MODULE: ./src/common/model/character/enums.ts
var enums = __webpack_require__(8579);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/constants.js
var constants = __webpack_require__(8785);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/sparse/map-collector.js
var map_collector = __webpack_require__(1215);
;// CONCATENATED MODULE: ./src/common/formats/pdf/character-properties-exporter.ts


class PdfCharacterPropertiesExporter {
    exportCharacterProperties(doc, box, pos, size, needUnderlineAndStrikeout) {
        const colorProps = box.colorInfo;
        let textColor = colorProps.textColor;
        const foregroundColor = colorProps.foregroundColor;
        if (box.hyperlinkTip)
            doc.link(pos.x, pos.y, size.width, size.height, box.hyperlinkTip);
        if (foregroundColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR) {
            doc.save();
            doc.rect(pos.x, pos.y + 1, size.width, size.height - 2).fill(utils_color/* ColorUtils */.i.colorToHash(foregroundColor));
            doc.restore();
        }
        if (textColor == color_color/* ColorHelper */.v.AUTOMATIC_COLOR)
            textColor = color_color/* ColorHelper */.v.BLACK_COLOR;
        doc.fillColor(utils_color/* ColorUtils */.i.colorToHash(textColor));
        if (needUnderlineAndStrikeout && box.characterProperties.fontStrikeoutType && box.characterProperties.fontUnderlineType)
            doc.strike(pos.x, pos.y, size.width, size.height, { color: utils_color/* ColorUtils */.i.colorToHash(textColor) });
    }
}

;// CONCATENATED MODULE: ./src/common/formats/pdf/box-exporter.ts











class PdfBoxExporter {
    constructor(doc, textFontMapCache, measurer) {
        this.doc = doc;
        this.textFontMapCache = textFontMapCache;
        this.characterPropertiesExporter = new PdfCharacterPropertiesExporter();
        this.measurer = measurer;
    }
    export(row, box, boxIndex, rowOffset, baseLine, lastBoxIndexWhatCanStrikeoutAndUnderline) {
        const boxY = box.getTop(row);
        const pos = point.Point.plus(rowOffset, new point.Point(box.x ? box.x : 0, boxY ? boxY : 0)).applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
        const size = box.createSize().applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
        if ((box instanceof layout_picture_box/* LayoutPictureBox */.B || box instanceof layout_anchored_picture_box/* LayoutAnchoredPictureBox */.a) && box.cacheInfo.isPdfCompatible()) {
            const base64 = box.cacheInfo.pdfCompatibleBase64;
            this.doc.image(base64, pos.x, pos.y, { width: size.width, height: size.height });
        }
        else {
            this.exportText(pos, size, LayoutFontsCollector.boxContent(box), box, boxIndex, baseLine, lastBoxIndexWhatCanStrikeoutAndUnderline);
        }
    }
    getTextPosition(box, baseLine, pos) {
        const cp = box.characterProperties;
        const fontSize = cp.fontSize;
        const script = cp.script;
        let offsetY = 0;
        if (script == enums/* CharacterFormattingScript */.Vg.Normal)
            offsetY = box.getAscent() - class_unit_converter/* UnitConverter */.u.pointsToPixels(baseLine * fontSize);
        else if (script == enums/* CharacterFormattingScript */.Vg.Subscript)
            offsetY = cp.fontSize * (1 - cp.fontInfo.scriptMultiplier);
        return new point.Point(pos.x, pos.y + offsetY);
    }
    createTextProperties(charProps, needUnderlineAndStrikeout, baseLine) {
        const textOptions = {};
        textOptions.lineGap = 0;
        if (needUnderlineAndStrikeout && charProps.fontUnderlineType)
            textOptions.underline = true;
        if (needUnderlineAndStrikeout && charProps.fontStrikeoutType)
            textOptions.strike = true;
        textOptions.baseline = -1 * charProps.fontSize * baseLine;
        textOptions.lineBreak = false;
        textOptions.width = constants.Constants.MAX_SAFE_INTEGER;
        return textOptions;
    }
    exportText(pos, size, text, box, boxIndex, baseLine, lastBoxIndexWhatCanStrikeoutAndUnderline) {
        const needUnderlineAndStrikeout = boxIndex <= lastBoxIndexWhatCanStrikeoutAndUnderline;
        const it = this.separateTextByFont(text, box.characterProperties);
        while (it.moveToNextInterval()) {
            const font = it.object;
            const currText = text.slice(it.interval.start, it.interval.end);
            if (it.numIntervals > 1) {
                const measureInfo = new measure_info/* MeasureInfoText */.O_(currText, box.characterProperties);
                this.measurer.measure([measureInfo]);
                if (it.intervalIndex > 0)
                    pos.x += size.width;
                size = measureInfo.resultSize.applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
            }
            if (font) {
                const cp = box.characterProperties;
                const fontSize = cp.script == enums/* CharacterFormattingScript */.Vg.Normal ? cp.fontSize : cp.fontSize * cp.fontInfo.scriptMultiplier;
                this.doc.font(font.cacheKey, undefined, fontSize);
                const textOptions = this.createTextProperties(cp, needUnderlineAndStrikeout, baseLine);
                this.characterPropertiesExporter.exportCharacterProperties(this.doc, box, pos, size, needUnderlineAndStrikeout);
                const textPos = this.getTextPosition(box, baseLine, pos);
                this.doc.text(currText, textPos.x, textPos.y, textOptions);
            }
            else {
                this.doc.rect(pos.x, pos.y, size.width, size.height).stroke();
            }
        }
    }
    separateTextByFont(text, charProps) {
        const textLen = text.length;
        const collElem = this.textFontMapCache.getItem(new LayoutFontsCollectorElement(charProps));
        const collector = new map_collector/* SparseIntervalsMapCollector */.g((a, b) => a == b ? 0 : 1, new boundary/* BoundaryInterval */.e(0, 0));
        for (let i = 0; i < textLen; i++)
            collector.add(i, collElem.getFont(text[i]));
        return collector.getIterator();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/pdf/row-exporter.ts


class PdfLayoutRowExporter {
    constructor(doc, textFontMapCache, measurer) {
        this.doc = doc;
        this.boxExporter = new PdfBoxExporter(doc, textFontMapCache, measurer);
    }
    export(row, columnOffset) {
        const rowOffset = point.Point.plus(columnOffset, row);
        rowOffset.y += row.getSpacingBefore();
        const baseLine = (row.baseLine - row.getSpacingBefore()) / (row.height - row.getSpacingBefore() - row.getSpacingAfter());
        let lastBoxIndexWhatCanStrikeoutAndUnderline = row.boxes.length - 1;
        for (let box; box = row.boxes[lastBoxIndexWhatCanStrikeoutAndUnderline]; lastBoxIndexWhatCanStrikeoutAndUnderline--)
            if (!box.renderNoStrikeoutAndNoUnderlineIfBoxInEndRow())
                break;
        if (row.numberingListBox) {
            this.doc.save();
            this.boxExporter.export(row, row.numberingListBox.textBox, 0, rowOffset, baseLine, lastBoxIndexWhatCanStrikeoutAndUnderline);
            if (row.numberingListBox.separatorBox)
                this.boxExporter.export(row, row.numberingListBox.separatorBox, 0, rowOffset, baseLine, lastBoxIndexWhatCanStrikeoutAndUnderline);
            this.doc.restore();
        }
        const lastVisibleBoxIndex = row.getLastVisibleBoxIndex();
        for (let boxIndex = 0; boxIndex <= lastVisibleBoxIndex; boxIndex++) {
            this.doc.save();
            this.boxExporter.export(row, row.boxes[boxIndex], boxIndex, rowOffset, baseLine, lastBoxIndexWhatCanStrikeoutAndUnderline);
            this.doc.restore();
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/borders/enums.ts
var borders_enums = __webpack_require__(4265);
;// CONCATENATED MODULE: ./src/common/formats/pdf/table-column-info-exporter.ts





class PdfLayoutTableColumnInfoExporter {
    constructor(doc) {
        this.doc = doc;
    }
    export(tableColumnInfo, columnOffset) {
        this.doc.save();
        const pos = point.Point.plus(columnOffset, tableColumnInfo);
        for (let row of tableColumnInfo.tableRows) {
            for (let cell of row.backgroundInfos) {
                if (cell.color != color_color/* ColorHelper */.v.AUTOMATIC_COLOR && color_color/* ColorHelper */.v.getCssStringInternal(cell.color) != 'transparent') {
                    const backgroundPos = new point.Point(pos.x + cell.x, pos.y + cell.y).applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
                    this.doc.save();
                    this.doc.rect(backgroundPos.x, backgroundPos.y, class_unit_converter/* UnitConverter */.u.pixelsToPointsF(cell.width), class_unit_converter/* UnitConverter */.u.pixelsToPointsF(cell.height))
                        .fill(utils_color/* ColorUtils */.i.colorToHash(cell.color));
                    this.doc.restore();
                }
            }
        }
        for (let border of tableColumnInfo.horizontalBorders)
            this.exportHorizontalBorder(border, pos);
        for (let border of tableColumnInfo.verticalBorders)
            this.exportVerticalBorder(border, pos);
        this.doc.restore();
    }
    isRenderTableBorder(borderInfo) {
        return borderInfo && borderInfo.style != borders_enums/* BorderLineStyle */.u.None && borderInfo.style != borders_enums/* BorderLineStyle */.u.Nil;
    }
    exportHorizontalBorder(border, tblPos) {
        const borderInfo = border.borderInfo;
        if (this.isRenderTableBorder(borderInfo)) {
            const brdPos = point.Point.plus(tblPos, new point.Point(border.xPos, border.yPos)).applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
            this.drawHorizontalLine(brdPos, class_unit_converter/* UnitConverter */.u.pixelsToPointsF(border.length), class_unit_converter/* UnitConverter */.u.pixelsToPointsF(borderInfo.width), borderInfo.color);
        }
    }
    exportVerticalBorder(border, tblPos) {
        const borderInfo = border.borderInfo;
        if (this.isRenderTableBorder(borderInfo)) {
            const brdPos = point.Point.plus(tblPos, new point.Point(border.xPos, border.yPos)).applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
            this.drawVerticalLine(brdPos, class_unit_converter/* UnitConverter */.u.pixelsToPointsF(borderInfo.width), class_unit_converter/* UnitConverter */.u.pixelsToPointsF(border.length), borderInfo.color);
        }
    }
    drawHorizontalLine(pos, length, width, color) {
        this.doc.rect(pos.x, pos.y - width / 2, length, width).fill(utils_color/* ColorUtils */.i.colorToHash(color));
    }
    drawVerticalLine(pos, width, height, color) {
        this.doc.rect(pos.x, pos.y, width, height).fill(utils_color/* ColorUtils */.i.colorToHash(color));
    }
}

;// CONCATENATED MODULE: ./src/common/formats/pdf/page-area-exporter.ts






class PdfLayoutPageAreaExporter {
    constructor(doc, textFontMapCache, measurer) {
        this.doc = doc;
        this.rowExporter = new PdfLayoutRowExporter(doc, textFontMapCache, measurer);
        this.tableColumnInfoExporter = new PdfLayoutTableColumnInfoExporter(doc);
    }
    export(pageArea, pageHeight, shouldApplyCliping) {
        this.doc.save();
        const pageAreaBounds = pageArea.clone().applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
        if (shouldApplyCliping)
            this.doc.rect(pageAreaBounds.x, pageAreaBounds.y, pageAreaBounds.width, pageAreaBounds.height).clip();
        pageArea.columns.forEach((column) => this.exportColumn(column, new point.Point(pageArea.x, pageArea.y), pageHeight));
        if (shouldApplyCliping)
            this.doc.restore();
    }
    exportColumn(column, pageAreaOffset, pageHeight) {
        const columnOffset = point.Point.plus(pageAreaOffset, column);
        column.tablesInfo.forEach((tableColumnInfo) => this.tableColumnInfoExporter.export(tableColumnInfo, columnOffset));
        this.exportParagraphFrames(columnOffset, column.paragraphFrames);
        for (let row of column.rows) {
            if (this.shouldExportRow(row, columnOffset, pageHeight))
                this.rowExporter.export(row, columnOffset);
        }
    }
    shouldExportRow(row, columnOffset, pageHeight) {
        return row.height > 0 && row.y + row.height + columnOffset.y < pageHeight;
    }
    exportParagraphFrames(columnOffset, paragraphFrames) {
        for (let frame of paragraphFrames)
            if (frame.paragraphColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR) {
                const framePos = point.Point.plus(columnOffset, frame).applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
                this.doc.rect(framePos.x, framePos.y, class_unit_converter/* UnitConverter */.u.pixelsToPointsF(frame.width), class_unit_converter/* UnitConverter */.u.pixelsToPointsF(frame.height))
                    .fill(utils_color/* ColorUtils */.i.colorToHash(frame.paragraphColor));
                this.doc.fillColor(utils_color/* ColorUtils */.i.colorToHash(color_color/* ColorHelper */.v.AUTOMATIC_COLOR));
            }
    }
}

;// CONCATENATED MODULE: ./src/common/formats/pdf/page-exporter.ts








class PdfLayoutPageExporter {
    constructor(doc, textFontMapCache, measurer) {
        this.doc = doc;
        this.pageAreaExporter = new PdfLayoutPageAreaExporter(doc, textFontMapCache, measurer);
    }
    export(page, anchorObjectsPositionInfo, pageColor) {
        this.doc.addPage(this.getPageOptions(page));
        const pos = new point.Point(page.x, page.y).applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
        const size = page.createSize().applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
        this.drawRect(pos, size, pageColor);
        const anchoredObjects = page.anchoredObjectHolder.getObjectsForRenderer(anchorObjectsPositionInfo, page.anchoredObjectHolder.objects);
        this.exportFloatingObjects(page, anchoredObjects, 0, page.renderLevelCalculator.headerFooterPageAreasLevel);
        this.exportHeaderFooter(page);
        this.exportFloatingObjects(page, anchoredObjects, page.renderLevelCalculator.headerFooterPageAreasLevel, page.renderLevelCalculator.mainPageAreaLevel);
        this.exportMainSubDocument(page);
        this.exportFloatingObjects(page, anchoredObjects, page.renderLevelCalculator.mainPageAreaLevel, page.renderLevelCalculator.maxRenderLevels);
    }
    exportFloatingObjects(page, sortedObjects, levelFrom, levelTo) {
        sortedObjects.filter(obj => levelFrom <= obj.rendererLevel && obj.rendererLevel < levelTo).forEach(obj => {
            this.doc.save();
            this.exportFloatingObject(page, obj);
            this.doc.restore();
        });
    }
    exportFloatingObject(page, anchorObject) {
        const pos = new point.Point(anchorObject.x, anchorObject.y).applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
        const size = anchorObject.createSize().applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToPointsF);
        const rotation = class_unit_converter/* UnitConverter */.u.radiansToDegrees(anchorObject.rotationInRadians);
        if (rotation)
            this.doc.rotate(rotation, { origin: [pos.x + size.width / 2, pos.y + size.height / 2] });
        if (anchorObject instanceof layout_anchored_picture_box/* LayoutAnchoredPictureBox */.a) {
            if (anchorObject.cacheInfo.isPdfCompatible())
                this.doc.image(anchorObject.cacheInfo.pdfCompatibleBase64, pos.x, pos.y, { width: size.width, height: size.height });
        }
        else if (anchorObject.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox) {
            const textBox = anchorObject;
            const pageArea = number/* NumberMapUtils */.j.elementBy(page.otherPageAreas, (pageArea) => pageArea.subDocument.id == textBox.internalSubDocId);
            if (!pageArea)
                return;
            const shape = textBox.shape;
            this.drawRect(pos, size, shape.fillColor, shape.outlineColor, shape.outlineWidth);
            this.pageAreaExporter.export(pageArea, page.bottom, true);
        }
    }
    drawRect(pos, size, fillColor, outlineColor = color_color/* ColorHelper */.v.AUTOMATIC_COLOR, outlineWidth = 0) {
        this.doc.save();
        if (fillColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR && color_color/* ColorHelper */.v.getCssStringInternal(fillColor) != 'transparent') {
            this.doc.rect(pos.x, pos.y, size.width, size.height);
            this.doc.fillOpacity(color_color/* ColorHelper */.v.getOpacity(fillColor));
            this.doc.fill(utils_color/* ColorUtils */.i.colorToHash(fillColor));
        }
        if (outlineColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR && outlineWidth > 0)
            this.drawOutlineRect(pos, size, outlineWidth, outlineColor);
        this.doc.fillColor(utils_color/* ColorUtils */.i.colorToHash(color_color/* ColorHelper */.v.AUTOMATIC_COLOR));
        this.doc.restore();
    }
    drawOutlineRect(pos, size, outlineWidth, outlineColor) {
        this.doc.polygon([pos.x, pos.y], [pos.x + size.width, pos.y], [pos.x + size.width, pos.y + size.height], [pos.x, pos.y + size.height]);
        this.doc.lineWidth(class_unit_converter/* UnitConverter */.u.pixelsToPointsF(outlineWidth));
        this.doc.strokeOpacity(color_color/* ColorHelper */.v.getOpacity(outlineColor));
        this.doc.strokeColor(utils_color/* ColorUtils */.i.colorToHash(outlineColor));
        this.doc.stroke();
    }
    exportMainSubDocument(page) {
        page.mainSubDocumentPageAreas.forEach((pageArea) => this.pageAreaExporter.export(pageArea, page.bottom, false));
    }
    exportHeaderFooter(page) {
        number/* NumberMapUtils */.j.forEach(page.otherPageAreas, (pageArea) => {
            if (!pageArea.subDocument.isTextBox())
                this.pageAreaExporter.export(pageArea, page.height, false);
        });
    }
    getPageOptions(page) {
        const pageOptions = {};
        pageOptions.size = [class_unit_converter/* UnitConverter */.u.pixelsToPointsF(page.width) + 1, class_unit_converter/* UnitConverter */.u.pixelsToPointsF(page.height) + 1];
        pageOptions.margins = {
            top: 0,
            left: 0,
            bottom: 0,
            right: 0,
        };
        return pageOptions;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/pdf/exporter.ts








class PdfExporter {
    get layoutFormatterManager() {
        return this.docProcessor.layoutFormatterManager;
    }
    get measurer() {
        return this.docProcessor.layoutFormatterManager.measurer;
    }
    get pdfFontCache() {
        return this.docProcessor.modelManager.model.cache.controlFontsCache;
    }
    get pdfSettings() {
        return this.docProcessor.modelManager.richOptions.pdf;
    }
    get fontsSettings() {
        return this.docProcessor.modelManager.richOptions.fonts;
    }
    constructor(docProcessor) {
        this.docProcessor = docProcessor;
    }
    export(callback, options) {
        const modifyPdfDocument = typeof options == 'function' ? options :
            (!options || !options.modifyPdfDocument ? () => { } : options.modifyPdfDocument);
        const modifyPdfPage = typeof options == 'function' || !options || !options.modifyPdfPage ? () => { } : options.modifyPdfPage;
        if (!this.layoutFormatterManager.isDocumentOpened) {
            setTimeout(() => modifyPdfDocument(null), 0);
            return;
        }
        const afterLibLoaded = () => {
            if (!this.pdfSettings.pdfDocument) {
                console.warn('Pdf kit library is not loaded.');
                setTimeout(() => modifyPdfDocument(null), 0);
                return;
            }
            if (!this.pdfSettings.blobStream) {
                console.warn('Blob stream library is not loaded.');
                setTimeout(() => modifyPdfDocument(null), 0);
                return;
            }
            const layout = this.layoutFormatterManager.layout;
            while (!layout.isFullyFormatted)
                this.layoutFormatterManager.runFormatting(layout.validPageCount);
            const fontsCollector = new LayoutFontsCollector(this.docProcessor.modelManager.model.cache, layout, this.fontsSettings.mappings.defaultFontName);
            const fonts = fontsCollector.collect();
            const loader = new ControlFontsLoader(this.pdfFontCache, this.fontsSettings, true);
            loader.loadFonts(fonts, [control_font/* FontLoadStatus */.P.Unloaded], () => {
                const anyFont = utils_list.ListUtils.unsafeAnyOf(fonts, font => this.pdfFontCache.getFont(font));
                if (!anyFont) {
                    modifyPdfDocument(null);
                    return;
                }
                if ((0,utils_fonts/* fontWebApiAvailable */.lX)()) {
                    (0,utils_fonts/* afterFontsLoaded */.mw)(() => {
                        if (loader.needInvalidateLayout)
                            this.docProcessor.invalidateLayoutAfterFontsLoaded();
                        while (!layout.isFullyFormatted)
                            this.layoutFormatterManager.runFormatting(layout.validPageCount);
                        this.exportDocument(layout, fonts, fontsCollector, callback, modifyPdfDocument, modifyPdfPage);
                    });
                }
                else
                    this.exportDocument(layout, fonts, fontsCollector, callback, modifyPdfDocument, modifyPdfPage);
            });
        };
        const scriptUrl = this.docProcessor.modelManager.richOptions.pdf.pdfKitScriptUrl;
        if (scriptUrl && (!this.pdfSettings.pdfDocument || !this.pdfSettings.blobStream))
            file.FileUtils.loadJavascriptFile(scriptUrl, afterLibLoaded);
        else {
            afterLibLoaded();
        }
    }
    exportDocument(layout, fonts, fontsCollector, callback, modifyPdfDocument, modifyPdfPage) {
        this.docProcessor.modelManager.modelManipulator.picture.loader.ensureAllPicturesPdfCompatible(3000, this.pdfSettings.convertImageToCompatibleFormat, () => {
            const doc = new this.pdfSettings.pdfDocument({ autoFirstPage: false, font: 'Symbol' });
            const stream = new this.pdfSettings.blobStream();
            stream.on('finish', () => {
                const blob = stream.toBlob('application/pdf');
                callback(blob, stream);
            });
            doc.pipe(stream);
            for (let font of fonts) {
                const cacheElem = this.pdfFontCache.getFont(font);
                if (cacheElem)
                    doc.registerFont(font.cacheKey, cacheElem.data, cacheElem.isFontCollection ? cacheElem.fontFamily : undefined);
            }
            const layoutFontsCollCache = this.replaceUnloadedFonts(fontsCollector);
            const pageExporter = new PdfLayoutPageExporter(doc, layoutFontsCollCache, this.measurer);
            layout.pages.forEach((page) => {
                pageExporter.export(page, layout.anchorObjectsPositionInfo, layout.pageColor);
                modifyPdfPage(doc);
            });
            modifyPdfDocument(doc);
            doc.end();
        });
    }
    replaceUnloadedFonts(fontsCollector) {
        const defaultFontMap = {};
        const defaultFontName = this.docProcessor.modelManager.richOptions.fonts.mappings.defaultFontName;
        const defaultFontInfo = defaultFontName ? this.docProcessor.modelManager.model.cache.fontInfoCache.getItemByName(defaultFontName) : null;
        if (defaultFontInfo)
            for (let fontType of [font_info/* ControlFontType */.G.Regular, font_info/* ControlFontType */.G.Bold, font_info/* ControlFontType */.G.Italic, font_info/* ControlFontType */.G.BoldItalic])
                defaultFontMap[fontType] = this.getControlFontByType(defaultFontInfo, fontType);
        return fontsCollector.cache.replaceUnloadedFonts(defaultFontMap);
    }
    getControlFontByType(fontInfo, controlFontType) {
        const key = fontInfo.controlFontMap[controlFontType];
        const controlFont = this.docProcessor.modelManager.model.cache.controlFontsCache.getFontByKey(key);
        return controlFont && controlFont.loaded ? controlFont : undefined;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/pdf/api/pdf.ts


function pdfExport(docProcessor, callback, options) {
    new PdfExporter(docProcessor).export(callback, options);
}
function downloadPdf(docProcessor, fileName, options) {
    pdfExport(docProcessor, (blob, _stream) => {
        file.FileUtils.startDownloadFileLocal(blob, fileName + '.pdf');
    }, options);
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./src/common/commands/command-base.ts + 1 modules
var command_base = __webpack_require__(9145);
// EXTERNAL MODULE: ./src/common/model/bookmarks.ts
var model_bookmarks = __webpack_require__(1823);
// EXTERNAL MODULE: ./src/aspx/api/api-utils.ts
var api_utils = __webpack_require__(6785);
// EXTERNAL MODULE: ./src/aspx/api/command-base.ts
var api_command_base = __webpack_require__(3468);
;// CONCATENATED MODULE: ./src/aspx/api/commands/bookmark-commands.ts






class OpenInsertBookmarkDialogCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.ShowBookmarkForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class InsertBookmarkCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.CreateBookmark;
    }
    execute(name, start, length) {
        name = api_utils/* ApiParametersChecker */.mL.check(name, 1, false, [
            api_utils/* ApiParametersChecker */.mL.stringDescriptor('name', (v) => v, false)
        ]);
        start = api_utils/* ApiParametersChecker */.mL.check(start, 2, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('start', (v) => v, 0, this._core.selection.activeSubDocument.getDocumentEndPosition())
        ]);
        length = api_utils/* ApiParametersChecker */.mL.check(length, 3, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('length', (v) => v, 0, this._core.selection.activeSubDocument.getDocumentEndPosition() - start)
        ]);
        return this.coreCommand.execute(true, new command_base/* CommandSimpleOptions */.LF(this._core, new model_bookmarks/* ConstBookmark */.Om(new fixed.FixedInterval(start, length), name)));
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class DeleteBookmarkCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.DeleteBookmarks;
    }
    execute(name) {
        name = api_utils/* ApiParametersChecker */.mL.check(name, 1, false, [
            api_utils/* ApiParametersChecker */.mL.stringDescriptor('name', (v) => v, false)
        ]);
        return this.coreCommand.execute(true, [name]);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class GoToBookmarkCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.GoToBookmark;
    }
    execute(name) {
        name = api_utils/* ApiParametersChecker */.mL.check(name, 1, false, [
            api_utils/* ApiParametersChecker */.mL.stringDescriptor('name', (v) => v, false)
        ]);
        return this.coreCommand.execute(true, name);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

;// CONCATENATED MODULE: ./src/aspx/api/commands/clipboard-commands.ts



class PasteCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.PasteSelection;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class CopyCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.CopySelection;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class CutCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.CutSelection;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

// EXTERNAL MODULE: ./src/aspx/api/commands/field-commands.ts
var field_commands = __webpack_require__(6170);
// EXTERNAL MODULE: ./src/common/formats/file-name-helper.ts
var file_name_helper = __webpack_require__(611);
// EXTERNAL MODULE: ./src/common/model/json/command-request.ts
var command_request = __webpack_require__(8904);
// EXTERNAL MODULE: ./src/common/model/json/command-type.ts
var command_type = __webpack_require__(9397);
// EXTERNAL MODULE: ./src/common/commands/command-states.ts
var command_states = __webpack_require__(3964);
;// CONCATENATED MODULE: ./src/aspx/commands/dialogs/aspx-show-dialog-command-base.ts

class AspxShowDialogCommandBase extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
}

;// CONCATENATED MODULE: ./src/aspx/commands/dialogs/dialog-open-file-command.ts









class DialogOpenFileCommand extends AspxShowDialogCommandBase {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.control.modelManager.richOptions.control.open !== control/* DocumentCapability */.e7.Hidden;
        return state;
    }
    createParameters(_options) {
        var parameters = new OpenFileDialogParameters();
        parameters.src = null;
        return parameters;
    }
    executeCore(state) {
        if (this.control.owner.hasWorkDirectory)
            return super.executeCore(state, null);
        else
            return this.executeShowErrorMessageCommand();
    }
    applyParameters(_state, params) {
        if (this.control.getModifiedState() && !this.control.owner.confirmOnLosingChanges())
            return false;
        this.control.closeDocument();
        const reqParams = {};
        reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.Src] = new file_name_helper/* FileNameHelper */.a(params.src, false).getFullPath();
        this.control.serverDispatcher.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.OpenDocument, -1, reqParams), new command_request/* RequestParams */.Kl(true, true, true));
    }
    getDialogName() {
        return "FileOpen";
    }
    executeShowErrorMessageCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowErrorOpeningAndOverstoreImpossibleMessageCommand)
            .execute(this.control.commandManager.isPublicApiCall);
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.open) &&
            this.control.modelManager.model.isLoaded();
    }
}
class OpenFileDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    constructor() {
        super(...arguments);
        this.src = null;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.src = obj.src;
    }
    clone() {
        const newInstance = new OpenFileDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

// EXTERNAL MODULE: ./src/common/document-format.ts
var document_format = __webpack_require__(5187);
// EXTERNAL MODULE: ./src/common/rich-edit-core.ts + 214 modules
var rich_edit_core = __webpack_require__(5773);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-finish-and-merge-command.ts




class DialogFinishAndMergeCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields) &&
            this.control.modelManager.richOptions.mailMerge.isEnabled &&
            this.control.modelManager.model.mainSubDocument.getDocumentEndPosition() > 1;
    }
    canModify() {
        return true;
    }
    createParameters(_options) {
        var parameters = new FinishAndMergeDialogParameters();
        parameters.range = MailMergeExportRange.AllRecords;
        parameters.exportFrom = 1;
        parameters.exportRecordsCount = this.control.modelManager.richOptions.mailMerge.recordCount;
        parameters.mergeMode = MergeMode.NewParagraph;
        parameters.documentFormat = document_format/* DocumentFormat */.rT.OpenXml;
        return parameters;
    }
    getDialogName() {
        return "FinishAndMerge";
    }
}
class FinishAndMergeDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.range = obj.range;
        this.exportFrom = obj.exportFrom;
        this.exportRecordsCount = obj.exportRecordsCount;
        this.mergeMode = obj.mergeMode;
        this.documentFormat = obj.documentFormat;
    }
    clone() {
        const newInstance = new FinishAndMergeDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
var MergeMode;
(function (MergeMode) {
    MergeMode[MergeMode["NewParagraph"] = 0] = "NewParagraph";
    MergeMode[MergeMode["NewSection"] = 1] = "NewSection";
    MergeMode[MergeMode["JoinTables"] = 2] = "JoinTables";
})(MergeMode || (MergeMode = {}));
var MailMergeExportRange;
(function (MailMergeExportRange) {
    MailMergeExportRange[MailMergeExportRange["AllRecords"] = 0] = "AllRecords";
    MailMergeExportRange[MailMergeExportRange["CurrentRecord"] = 1] = "CurrentRecord";
    MailMergeExportRange[MailMergeExportRange["Range"] = 2] = "Range";
})(MailMergeExportRange || (MailMergeExportRange = {}));

;// CONCATENATED MODULE: ./src/aspx/commands/dialogs/dialog-save-file-command.ts













class DialogSaveFileCommand extends AspxShowDialogCommandBase {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.control.modelManager.richOptions.control.saveAs !== control/* DocumentCapability */.e7.Hidden;
        return state;
    }
    createParameters(_options) {
        const documentInfo = this.control.documentInfo;
        const fileNameHelper = new file_name_helper/* FileNameHelper */.a(documentInfo.fileName, false, documentInfo.documentFormat);
        var saveFileDialogParameters = new SaveFileDialogParameters();
        saveFileDialogParameters.fileName = fileNameHelper.name !== "" ? fileNameHelper.name : rich_edit_core/* DocumentInfo */.u.defaultDocumentName;
        saveFileDialogParameters.documentFormat = fileNameHelper.documentFormat != document_format/* DocumentFormat */.rT.Undefined ?
            fileNameHelper.documentFormat : document_format/* DocumentFormat */.rT.OpenXml;
        saveFileDialogParameters.folderPath = "";
        saveFileDialogParameters.fileSavedToServer = true;
        return saveFileDialogParameters;
    }
    executeCore(state, parameter) {
        if (this.control.owner.hasWorkDirectory)
            return super.executeCore(state, parameter);
        else
            return this.executeShowErrorMessageCommand();
    }
    applyParameters(_state, params) {
        if (params.fileSavedToServer) {
            const reqParams = {};
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.FileName] = params.fileName;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.FolderPath] = params.folderPath;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.DocumentFormat] = params.documentFormat;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.HistoryId] = this.history.getCurrentItemId();
            this.control.serverDispatcher.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.SaveAsDocument, -1, reqParams), new command_request/* RequestParams */.Kl(true, true, true));
        }
        else
            return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.Download)
                .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, params));
        return true;
    }
    getDialogName() {
        return "FileSaveAs";
    }
    executeShowErrorMessageCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowErrorOpeningAndOverstoreImpossibleMessageCommand).execute(this.control.commandManager.isPublicApiCall);
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.saveAs) &&
            this.control.modelManager.model.isLoaded();
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class SaveFileDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    constructor() {
        super(...arguments);
        this.fileName = "";
        this.folderPath = "";
        this.documentFormat = document_format/* DocumentFormat */.rT.Undefined;
        this.fileSavedToServer = true;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.fileName = obj.fileName;
        this.folderPath = obj.folderPath;
        this.documentFormat = obj.documentFormat;
        this.fileSavedToServer = obj.fileSavedToServer;
    }
    clone() {
        const newInstance = new SaveFileDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
class DialogSaveMergedDocumentCommand extends DialogSaveFileCommand {
    createParameters(options) {
        const parameters = options.param;
        var saveFileDialogParameters = new SaveMergedDocumentDialogParameters();
        saveFileDialogParameters.fileName = "result";
        saveFileDialogParameters.documentFormat = document_format/* DocumentFormat */.rT.OpenXml;
        saveFileDialogParameters.folderPath = "";
        saveFileDialogParameters.fileSavedToServer = true;
        saveFileDialogParameters.mergeMode = parameters.mergeMode;
        switch (parameters.range) {
            case MailMergeExportRange.AllRecords:
                saveFileDialogParameters.firstRecordIndex = 0;
                saveFileDialogParameters.lastRecordIndex = this.control.modelManager.richOptions.mailMerge.recordCount - 1;
                break;
            case MailMergeExportRange.CurrentRecord:
                saveFileDialogParameters.firstRecordIndex = this.control.modelManager.richOptions.mailMerge.activeRecordIndex;
                saveFileDialogParameters.lastRecordIndex = this.control.modelManager.richOptions.mailMerge.activeRecordIndex;
                break;
            case MailMergeExportRange.Range:
                saveFileDialogParameters.firstRecordIndex = parameters.exportFrom - 1;
                saveFileDialogParameters.lastRecordIndex = parameters.exportFrom + parameters.exportRecordsCount - 2;
                break;
        }
        return saveFileDialogParameters;
    }
    applyParameters(_state, params) {
        if (params.fileSavedToServer) {
            const reqParams = {};
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.FileName] = params.fileName;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.FolderPath] = params.folderPath;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.DocumentFormat] = params.documentFormat;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.FirstRecordIndex] = params.firstRecordIndex;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.LastRecordIndex] = params.lastRecordIndex;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.MergeMode] = params.mergeMode;
            reqParams[json_top_level_enums/* JSONInitSessionProperty */.l7.HistoryId] = this.history.getCurrentItemId();
            this.control.serverDispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.SaveMergedDocument, -1, reqParams), new command_request/* RequestParams */.Kl(true, true, true));
        }
        else {
            const request = new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.DownloadMergedDocument, this.control.modelManager.model.mainSubDocument.id, {
                [json_top_level_enums/* JSONInitSessionProperty */.l7.DocumentFormat]: params.documentFormat,
                [json_top_level_enums/* JSONInitSessionProperty */.l7.FirstRecordIndex]: params.firstRecordIndex,
                [json_top_level_enums/* JSONInitSessionProperty */.l7.LastRecordIndex]: params.lastRecordIndex,
                [json_top_level_enums/* JSONInitSessionProperty */.l7.MergeMode]: params.mergeMode,
            });
            this.control.serverDispatcher.pushRequest(request, new command_request/* RequestParams */.Kl(false, true, true));
        }
        return true;
    }
}
class SaveMergedDocumentDialogParameters extends SaveFileDialogParameters {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.firstRecordIndex = obj.firstRecordIndex;
        this.lastRecordIndex = obj.lastRecordIndex;
        this.mergeMode = obj.mergeMode;
    }
    clone() {
        const newInstance = new SaveMergedDocumentDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(converter) {
        super.applyConverter(converter);
        return this;
    }
}

// EXTERNAL MODULE: ./src/aspx/api/document-formats.ts
var document_formats = __webpack_require__(752);
;// CONCATENATED MODULE: ./src/aspx/api/commands/file-commands.ts








class FileNewCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FileNew;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FileOpenCommand extends api_command_base/* CommandWithSimpleStateDialogBase */.Vt {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FileOpen;
    }
    execute(path) {
        api_utils/* ApiUtils */.FR.assertString(path, true, 'path');
        const initParameters = new OpenFileDialogParameters();
        const parameters = initParameters.clone();
        parameters.src = path;
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FileOpenDialogCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FileOpen;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FileSaveCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FileSave;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FileSaveAsCommand extends api_command_base/* CommandWithSimpleStateDialogBase */.Vt {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FileSaveAs;
    }
    execute(path) {
        const initParameters = new SaveFileDialogParameters();
        const parameters = (initParameters.clone());
        parameters.fileSavedToServer = true;
        if (typeof path == 'string') {
            api_utils/* ApiUtils */.FR.assertString(path, true, 'path');
            const fileInfo = new file_name_helper/* FileNameHelper */.a(path, false);
            parameters.folderPath = fileInfo.folderPath;
            parameters.fileName = fileInfo.name;
            parameters.documentFormat = fileInfo.documentFormat;
        }
        else {
            const fileInfo = path;
            api_utils/* ApiUtils */.FR.assertString(fileInfo.folderPath, true, 'fileInfo.folderPath');
            api_utils/* ApiUtils */.FR.assertString(fileInfo.fileName, true, 'fileInfo.fileName');
            api_utils/* ApiUtils */.FR.assertEnum(fileInfo.documentFormat, document_formats/* DocumentFormat */.r, 'DocumentFormat', 'fileInfo.documentFormat');
            parameters.folderPath = file_name_helper/* FileNameHelper */.a.normalizeVirtualFolderPath(fileInfo.folderPath, true);
            parameters.fileName = fileInfo.fileName;
            parameters.documentFormat = fileInfo.documentFormat;
        }
        return this.applyParameters(initParameters, parameters);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FileDownloadCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.Download;
    }
    execute(fileExtension, fileName) {
        const documentFormat = api_utils/* ApiParametersChecker */.mL.check(fileExtension, 1, false, [
            api_utils/* ApiParametersChecker */.mL.stringDescriptor('fileExtension', (fileExt) => file_name_helper/* FileNameHelper */.a.convertExtensionToDocumentFormat(fileExt), false),
            api_utils/* ApiParametersChecker */.mL.enumDescriptor('documentFormat', (docFormat) => docFormat, document_formats/* DocumentFormat */.r, 'ASPx.DocumentFormat')
        ]);
        const name = fileName ? fileName : this._core.documentInfo.fileName;
        if (documentFormat === document_format/* DocumentFormat */.rT.Undefined)
            throw new Error('Unsupported document format');
        return this.coreCommand.execute(true, { "documentFormat": documentFormat, "fileName": name });
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FileSaveAsDialogCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FileSaveAs;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FilePrintCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FilePrint;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

// EXTERNAL MODULE: ./src/common/commands/find-replace/find-all-command.ts
var find_all_command = __webpack_require__(6166);
// EXTERNAL MODULE: ./src/common/commands/find-replace/replace-all-command.ts
var replace_all_command = __webpack_require__(9495);
// EXTERNAL MODULE: ./src/common/commands/find-replace/replace-next-command.ts
var replace_next_command = __webpack_require__(4447);
;// CONCATENATED MODULE: ./src/aspx/api/commands/find-and-replace-commands.ts








class OpenFindPanelCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.Find;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class OpenFindAndReplaceDialogCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.Replace;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class FindAllCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.FindAll;
    }
    execute(text, matchCase, highlightResults, results) {
        api_utils/* ApiUtils */.FR.assertString(text, true, 'text');
        api_utils/* ApiUtils */.FR.assertBoolean(matchCase, 'matchCase');
        api_utils/* ApiUtils */.FR.assertBoolean(highlightResults, 'highlightResults');
        if (arguments.length === 4)
            api_utils/* ApiUtils */.FR.assertArray(results, 'results');
        const innerResults = results ? utils_list.ListUtils.map(results, r => new fixed.FixedInterval(r.start, r.length)) : null;
        const commandResult = this.coreCommand.execute(true, new find_all_command/* FindAllCommandOptions */.h(this._core, text, matchCase, highlightResults, innerResults));
        if (innerResults) {
            results.splice(0, results.length);
            innerResults.forEach((interval) => results.push(api_utils/* ApiUtils */.FR.makeInterval(interval)));
        }
        return commandResult;
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class HideFindResultsCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.HideFindResults;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class ReplaceAllCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.ReplaceAll;
    }
    execute(text, replaceText, matchCase) {
        api_utils/* ApiUtils */.FR.assertString(text, true, 'text');
        api_utils/* ApiUtils */.FR.assertString(replaceText, true, 'replaceText');
        api_utils/* ApiUtils */.FR.assertBoolean(matchCase, 'matchCase');
        return this.coreCommand.execute(true, new replace_all_command/* ReplaceAllCommandOptions */.B(this._core, text, replaceText, matchCase));
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class ReplaceNextCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.ReplaceNext;
    }
    execute(text, replaceText, matchCase) {
        api_utils/* ApiUtils */.FR.assertString(text, true, 'text');
        api_utils/* ApiUtils */.FR.assertString(replaceText, true, 'replaceText');
        api_utils/* ApiUtils */.FR.assertBoolean(matchCase, 'matchCase');
        return this.coreCommand.execute(true, new replace_next_command/* ReplaceNextCommandOptions */.X(this._core, text, replaceText, matchCase));
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

// EXTERNAL MODULE: ./src/aspx/api/commands/floating-objects-commands.ts
var floating_objects_commands = __webpack_require__(864);
;// CONCATENATED MODULE: ./src/aspx/api/commands/history-commands.ts



class UndoCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.Undo;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class RedoCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.Redo;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

;// CONCATENATED MODULE: ./src/aspx/api/commands/html-commands.ts



class InsertHtmlCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertHtml;
    }
    execute(html) {
        html = api_utils/* ApiParametersChecker */.mL.check(html, 1, false, [
            api_utils/* ApiParametersChecker */.mL.stringDescriptor('html', (val) => val, false)
        ]);
        return this.coreCommand.execute(true, html);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

// EXTERNAL MODULE: ./src/aspx/api/commands/hyperlink-commands.ts
var hyperlink_commands = __webpack_require__(5428);
;// CONCATENATED MODULE: ./src/aspx/api/commands/insert-break-commands.ts



class InsertPageBreakCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertPageBreak;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class InsertColumnBreakCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertColumnBreak;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class InsertSectionBreakNextPageCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertSectionBreakNextPage;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class InsertSectionBreakEvenPageCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertSectionBreakEvenPage;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class InsertSectionBreakOddPageCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertSectionBreakOddPage;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class InsertLineBreakCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertLineBreak;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

// EXTERNAL MODULE: ./src/aspx/api/commands/numbering-commands.ts
var numbering_commands = __webpack_require__(1511);
// EXTERNAL MODULE: ./src/aspx/api/commands/object-commands.ts
var object_commands = __webpack_require__(6103);
// EXTERNAL MODULE: ./src/aspx/api/commands/page-properties-commands.ts
var page_properties_commands = __webpack_require__(7718);
// EXTERNAL MODULE: ./src/aspx/api/commands/paragraph-formatting-commands.ts
var paragraph_formatting_commands = __webpack_require__(889);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/batch-updatable.js
var batch_updatable = __webpack_require__(1772);
// EXTERNAL MODULE: ./src/common/model-manager.ts + 91 modules
var model_manager = __webpack_require__(1805);
// EXTERNAL MODULE: ./src/common/model/manipulators/range/create-range-copy-operation.ts
var create_range_copy_operation = __webpack_require__(4792);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/formats/utils/color/tint-and-shade-calculator.ts
var tint_and_shade_calculator = __webpack_require__(5653);
// EXTERNAL MODULE: ./src/common/model/color/dx-color.ts
var dx_color = __webpack_require__(1445);
// EXTERNAL MODULE: ./src/common/model/color/enums.ts
var color_enums = __webpack_require__(3371);
// EXTERNAL MODULE: ./src/common/utils/map-creator.ts
var map_creator = __webpack_require__(7156);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-pattern.ts
var shading_pattern = __webpack_require__(4570);
;// CONCATENATED MODULE: ./src/common/formats/rtf/translation-table/rtf-export-sr.ts



class RtfExportSR {
}
RtfExportSR.ShadingPatternTable = createShadingPatternTable();
RtfExportSR.RunShadingPatternTable = createRunShadingPatternTable();
RtfExportSR.TableCellShadingPatternTable = createTableCellShadingPatternTable();
RtfExportSR.TableStyleShadingPatternTable = createTableStyleShadingPatternTable();
RtfExportSR.ThemeColorValuesTable = createThemeColorValuesTable();
RtfExportSR.OpenGroup = "{";
RtfExportSR.CloseGroup = "}";
RtfExportSR.RtfSignature = "\\rtf1";
RtfExportSR.DefaultFontIndex = "\\deff";
RtfExportSR.StyleTable = "\\stylesheet";
RtfExportSR.ColorTable = "\\colortbl";
RtfExportSR.FontTable = "\\fonttbl";
RtfExportSR.FontCharset = "\\fcharset";
RtfExportSR.UserTable = "\\*\\protusertbl";
RtfExportSR.ColorSchemeMapping = "\\*\\colorschememapping";
RtfExportSR.ThemeData = "\\*\\themedata";
RtfExportSR.DocumentInformation = "\\info";
RtfExportSR.Password = "\\*\\password";
RtfExportSR.PasswordHash = "\\*\\passwordhash";
RtfExportSR.EnforceProtection = "\\enforceprot";
RtfExportSR.AnnotationProtection = "\\annotprot";
RtfExportSR.ReadOnlyProtection = "\\readprot";
RtfExportSR.ProtectionLevel = "\\protlevel";
RtfExportSR.NoUICompatible = "\\nouicompat";
RtfExportSR.UnicodeAndANSIGroup = "\\upr";
RtfExportSR.UnicodeGroup = "\\*\\ud";
RtfExportSR.Category = "\\*\\category";
RtfExportSR.Title = "\\title";
RtfExportSR.Subject = "\\subject";
RtfExportSR.Author = "\\author";
RtfExportSR.Keywords = "\\keywords";
RtfExportSR.Description = "\\doccomm";
RtfExportSR.LastModifiedBy = "\\operator";
RtfExportSR.Created = "\\creatim";
RtfExportSR.Modified = "\\revtim";
RtfExportSR.LastPrinted = "\\printim";
RtfExportSR.Revision = "\\version";
RtfExportSR.Year = "\\yr";
RtfExportSR.Month = "\\mo";
RtfExportSR.Day = "\\dy";
RtfExportSR.Hour = "\\hr";
RtfExportSR.Minute = "\\min";
RtfExportSR.CustomProperties = "\\*\\userprops";
RtfExportSR.CustomPropertyName = "\\propname";
RtfExportSR.CustomPropertyType = "\\proptype";
RtfExportSR.CustomPropertyLinkTarget = "\\linkval";
RtfExportSR.CustomPropertyValue = "\\staticval";
RtfExportSR.DefaultTabWidth = "\\deftab";
RtfExportSR.MirrorMargins = "\\margmirror";
RtfExportSR.HyphenateDocument = "\\hyphauto";
RtfExportSR.PageFacing = "\\facingp";
RtfExportSR.DisplayBackgroundShape = "\\viewbksp";
RtfExportSR.RemovePersonalInformation = "\\rempersonalinfo";
RtfExportSR.CompatibilityNoColumnBalance = "\\nocolbal";
RtfExportSR.CompatibilityDoNotAlignTableRowsIndependently = "\\alntblind";
RtfExportSR.CompatibilityDontJustifyLinesEndingInSoftLineBreak = "\\expshrtn";
RtfExportSR.CompatibilitySplitPageBreakAndParagraphMark = "\\spltpgpar";
RtfExportSR.CompatibilityAllowTablesToExtendIntoMargin = "\\nogrowautofit";
RtfExportSR.ColorRed = "\\red";
RtfExportSR.ColorGreen = "\\green";
RtfExportSR.ColorBlue = "\\blue";
RtfExportSR.ThemeColorTint = "\\ctint";
RtfExportSR.ThemeColorShade = "\\cshade";
RtfExportSR.ResetParagraphProperties = "\\pard";
RtfExportSR.FrameHorizontalPosition = "\\posx";
RtfExportSR.FrameVerticalPosition = "\\posy";
RtfExportSR.FrameNegativeHorizontalPosition = "\\posnegx";
RtfExportSR.FrameNegativeVerticalPosition = "\\posnegy";
RtfExportSR.FrameWidth = "\\absw";
RtfExportSR.FrameHeight = "\\absh";
RtfExportSR.FrameVerticalPadding = "\\dfrmtxty";
RtfExportSR.FrameHorizontalPadding = "\\dfrmtxtx";
RtfExportSR.FrameLockAnchor = "\\abslock";
RtfExportSR.FrameNoWrap = "\\nowrap";
RtfExportSR.FrameWrapOverlay = "\\overlay";
RtfExportSR.FrameWrapDefault = "\\wrapdefault";
RtfExportSR.FrameWrapAround = "\\wraparound";
RtfExportSR.FrameWrapTight = "\\wraptight";
RtfExportSR.FrameWrapThrough = "\\wrapthrough";
RtfExportSR.FrameHorizontalPositionAlignmentCenter = "\\posxc";
RtfExportSR.FrameHorizontalPositionAlignmentLeft = "\\posxl";
RtfExportSR.FrameHorizontalPositionAlignmentRight = "\\posxr";
RtfExportSR.FrameHorizontalPositionAlignmentInside = "\\posxi";
RtfExportSR.FrameHorizontalPositionAlignmentOutside = "\\posxo";
RtfExportSR.FrameVerticalPositionAlignmentCenter = "\\posyc";
RtfExportSR.FrameVerticalPositionAlignmentTop = "\\posyt";
RtfExportSR.FrameVerticalPositionAlignmentBottom = "\\posyb";
RtfExportSR.FrameVerticalPositionAlignmentInside = "\\posyin";
RtfExportSR.FrameVerticalPositionAlignmentOutside = "\\posyout";
RtfExportSR.TopParagraphBorder = "\\brdrt";
RtfExportSR.BottomParagraphBorder = "\\brdrb";
RtfExportSR.LeftParagraphBorder = "\\brdrl";
RtfExportSR.RightParagraphBorder = "\\brdrr";
RtfExportSR.BetweenParagraphBorder = "\\brdrbtw";
RtfExportSR.ParagraphHorizontalPositionTypeMargin = "\\phmrg";
RtfExportSR.ParagraphHorizontalPositionTypePage = "\\phpg";
RtfExportSR.ParagraphHorizontalPositionTypeColumn = "\\phcol";
RtfExportSR.ParagraphVerticalPositionTypeMargin = "\\pvmrg";
RtfExportSR.ParagraphVerticalPositionTypePage = "\\pvpg";
RtfExportSR.ParagraphVerticalPositionTypeLine = "\\pvpara";
RtfExportSR.ResetCharacterFormatting = "\\plain";
RtfExportSR.EndOfParagraph = "\\par";
RtfExportSR.LeftAlignment = "\\ql";
RtfExportSR.RightAlignment = "\\qr";
RtfExportSR.CenterAlignment = "\\qc";
RtfExportSR.JustifyAlignment = "\\qj";
RtfExportSR.FirstLineIndentInTwips = "\\fi";
RtfExportSR.LeftIndentInTwips = "\\li";
RtfExportSR.LeftIndentInTwips_Lin = "\\lin";
RtfExportSR.RightIndentInTwips = "\\ri";
RtfExportSR.RightIndentInTwips_Rin = "\\rin";
RtfExportSR.AutomaticParagraphHyphenation = "\\hyphpar";
RtfExportSR.SuppressLineNumbering = "\\noline";
RtfExportSR.ContextualSpacing = "\\contextualspace";
RtfExportSR.PageBreakBefore = "\\pagebb";
RtfExportSR.BeforeAutoSpacing = "\\sbauto";
RtfExportSR.AfterAutoSpacing = "\\saauto";
RtfExportSR.KeepWithNext = "\\keepn";
RtfExportSR.KeepLinesTogether = "\\keep";
RtfExportSR.WidowOrphanControlOn = "\\widctlpar";
RtfExportSR.WidowOrphanControlOff = "\\nowidctlpar";
RtfExportSR.OutlineLevel = "\\outlinelevel";
RtfExportSR.ParagraphShading = "\\shading";
RtfExportSR.ParagraphFillColor = "\\cfpat";
RtfExportSR.ParagraphBackgroundColor = "\\cbpat";
RtfExportSR.RtfLineSpacingValue = "\\sl";
RtfExportSR.RtfLineSpacingMultiple = "\\slmult";
RtfExportSR.SpaceBefore = "\\sb";
RtfExportSR.SpaceAfter = "\\sa";
RtfExportSR.ListIndex = "\\ls";
RtfExportSR.LevelIndex = "\\ilvl";
RtfExportSR.AlternativeText = "\\listtext";
RtfExportSR.ParagraphNumerationText = "\\*\\pntext";
RtfExportSR.CenteredTab = "\\tqc";
RtfExportSR.DecimalTab = "\\tqdec";
RtfExportSR.FlushRightTab = "\\tqr";
RtfExportSR.NumberingTab = "\\jclisttab";
RtfExportSR.TabLeaderDots = "\\tldot";
RtfExportSR.TabLeaderEqualSign = "\\tleq";
RtfExportSR.TabLeaderHyphens = "\\tlhyph";
RtfExportSR.TabLeaderMiddleDots = "\\tlmdot";
RtfExportSR.TabLeaderThickLine = "\\tlth";
RtfExportSR.TabLeaderUnderline = "\\tlul";
RtfExportSR.TabPosition = "\\tx";
RtfExportSR.AllCapitals = "\\caps";
RtfExportSR.SmallCapitals = "\\scaps";
RtfExportSR.LangInfo = "\\lang";
RtfExportSR.LangInfo1 = "\\langfe";
RtfExportSR.LangInfo2 = "\\langnp";
RtfExportSR.LangInfo3 = "\\langfenp";
RtfExportSR.NoProof = "\\noproof";
RtfExportSR.HiddenText = "\\v";
RtfExportSR.FontBold = "\\b";
RtfExportSR.FontItalic = "\\i";
RtfExportSR.FontStrikeout = "\\strike";
RtfExportSR.FontDoubleStrikeout = "\\striked1";
RtfExportSR.FontUnderline = "\\ul";
RtfExportSR.FontUnderlineDotted = "\\uld";
RtfExportSR.FontUnderlineDashed = "\\uldash";
RtfExportSR.FontUnderlineDashDotted = "\\uldashd";
RtfExportSR.FontUnderlineDashDotDotted = "\\uldashdd";
RtfExportSR.FontUnderlineDouble = "\\uldb";
RtfExportSR.FontUnderlineHeavyWave = "\\ulhwave";
RtfExportSR.FontUnderlineLongDashed = "\\ulldash";
RtfExportSR.FontUnderlineThickSingle = "\\ulth";
RtfExportSR.FontUnderlineThickDotted = "\\ulthd";
RtfExportSR.FontUnderlineThickDashed = "\\ulthdash";
RtfExportSR.FontUnderlineThickDashDotted = "\\ulthdashd";
RtfExportSR.FontUnderlineThickDashDotDotted = "\\ulthdashdd";
RtfExportSR.FontUnderlineThickLongDashed = "\\ulthldash";
RtfExportSR.FontUnderlineDoubleWave = "\\ululdbwave";
RtfExportSR.FontUnderlineWave = "\\ulwave";
RtfExportSR.FontUnderlineWordsOnly = "\\ulw";
RtfExportSR.FontNumber = "\\f";
RtfExportSR.FontSize = "\\fs";
RtfExportSR.RunShadingPattern = "\\chshdng";
RtfExportSR.RunFillColor = "\\chcfpat";
RtfExportSR.RunBackgroundColor = "\\chcbpat";
RtfExportSR.RunHighlightColor = "\\highlight";
RtfExportSR.RunForegroundColor = "\\cf";
RtfExportSR.RunUnderlineColor = "\\ulc";
RtfExportSR.RunSuperScript = "\\super";
RtfExportSR.RunSubScript = "\\sub";
RtfExportSR.Picture = "\\pict";
RtfExportSR.PictureWidth = "\\picw";
RtfExportSR.PictureHeight = "\\pich";
RtfExportSR.PictureDesiredWidth = "\\picwgoal";
RtfExportSR.PictureDesiredHeight = "\\pichgoal";
RtfExportSR.PictureScaleX = "\\picscalex";
RtfExportSR.PictureScaleY = "\\picscaley";
RtfExportSR.PictureCropLeft = "\\piccropl";
RtfExportSR.PictureCropTop = "\\piccropt";
RtfExportSR.PictureCropRight = "\\piccropr";
RtfExportSR.PictureCropBottom = "\\piccropb";
RtfExportSR.ShapePicture = "\\*\\shppict";
RtfExportSR.NonShapePicture = "\\nonshppict";
RtfExportSR.DxImageUri = "\\*\\dximageuri";
RtfExportSR.PictureProperties = "\\*\\picprop";
RtfExportSR.Defshp = "\\defshp";
RtfExportSR.PNGPictureKeyword = "\\pngblip";
RtfExportSR.JpegPictureKeyword = "\\jpegblip";
RtfExportSR.Space = " ";
RtfExportSR.CLRF = "\\r\\n";
RtfExportSR.ResetSectionProperties = "\\sectd";
RtfExportSR.SectionEndMark = "\\sect";
RtfExportSR.SectionMarginsLeft = "\\marglsxn";
RtfExportSR.SectionMarginsRight = "\\margrsxn";
RtfExportSR.SectionMarginsTop = "\\margtsxn";
RtfExportSR.SectionMarginsBottom = "\\margbsxn";
RtfExportSR.SectionMarginsHeaderOffset = "\\headery";
RtfExportSR.SectionMarginsFooterOffset = "\\footery";
RtfExportSR.SectionMarginsGutter = "\\guttersxn";
RtfExportSR.SectionFirstPageHeader = "\\headerf";
RtfExportSR.SectionOddPageHeader = "\\headerr";
RtfExportSR.SectionEvenPageHeader = "\\headerl";
RtfExportSR.SectionFirstPageFooter = "\\footerf";
RtfExportSR.SectionOddPageFooter = "\\footerr";
RtfExportSR.SectionEvenPageFooter = "\\footerl";
RtfExportSR.SectionPageWidth = "\\pgwsxn";
RtfExportSR.SectionPageHeight = "\\pghsxn";
RtfExportSR.SectionPageLandscape = "\\lndscpsxn";
RtfExportSR.PaperKind = "\\psz";
RtfExportSR.SectionFirstPagePaperSource = "\\binfsxn";
RtfExportSR.SectionOtherPagePaperSource = "\\binsxn";
RtfExportSR.SectionOnlyAllowEditingOfFormFields = "\\sectunlocked";
RtfExportSR.SectionTextFlow = "\\stextflow";
RtfExportSR.SectionTitlePage = "\\titlepg";
RtfExportSR.VerticalAlignmentBottom = "\\vertal\\vertalb";
RtfExportSR.VerticalAlignmentTop = "\\vertalt";
RtfExportSR.VerticalAlignmentCenter = "\\vertalc";
RtfExportSR.VerticalAlignmentJustify = "\\vertalj";
RtfExportSR.SectionBreakTypeNextPage = "\\sbkpage";
RtfExportSR.SectionBreakTypeOddPage = "\\sbkodd";
RtfExportSR.SectionBreakTypeEvenPage = "\\sbkeven";
RtfExportSR.SectionBreakTypeColumn = "\\sbkcol";
RtfExportSR.SectionBreakTypeContinuous = "\\sbknone";
RtfExportSR.SectionChapterSeparatorHyphen = "\\pgnhnsh";
RtfExportSR.SectionChapterSeparatorPeriod = "\\pgnhnsp";
RtfExportSR.SectionChapterSeparatorColon = "\\pgnhnsc";
RtfExportSR.SectionChapterSeparatorEmDash = "\\pgnhnsm";
RtfExportSR.SectionChapterSeparatorEnDash = "\\pgnhnsn";
RtfExportSR.SectionChapterHeaderStyle = "\\pgnhn";
RtfExportSR.SectionPageNumberingStart = "\\pgnstarts";
RtfExportSR.SectionPageNumberingContinuous = "\\pgncont";
RtfExportSR.SectionPageNumberingRestart = "\\pgnrestart";
RtfExportSR.SectionPageNumberingDecimal = "\\pgndec";
RtfExportSR.SectionPageNumberingUpperRoman = "\\pgnucrm";
RtfExportSR.SectionPageNumberingLowerRoman = "\\pgnlcrm";
RtfExportSR.SectionPageNumberingUpperLetter = "\\pgnucltr";
RtfExportSR.SectionPageNumberingLowerLetter = "\\pgnlcltr";
RtfExportSR.SectionPageNumberingArabicAbjad = "\\pgnbidia";
RtfExportSR.SectionPageNumberingArabicAlpha = "\\pgnbidib";
RtfExportSR.SectionPageNumberingChosung = "\\pgnchosung";
RtfExportSR.SectionPageNumberingDecimalEnclosedCircle = "\\pgncnum";
RtfExportSR.SectionPageNumberingDecimalFullWidth = "\\pgndecd";
RtfExportSR.SectionPageNumberingGanada = "\\pgnganada";
RtfExportSR.SectionPageNumberingHindiVowels = "\\pgnhindia";
RtfExportSR.SectionPageNumberingHindiConsonants = "\\pgnhindib";
RtfExportSR.SectionPageNumberingHindiNumbers = "\\pgnhindic";
RtfExportSR.SectionPageNumberingHindiDescriptive = "\\pgnhindid";
RtfExportSR.SectionPageNumberingThaiLetters = "\\pgnthaia";
RtfExportSR.SectionPageNumberingThaiNumbers = "\\pgnthaib";
RtfExportSR.SectionPageNumberingThaiDescriptive = "\\pgnthaic";
RtfExportSR.SectionPageNumberingVietnameseDescriptive = "\\pgnvieta";
RtfExportSR.SectionLineNumberingContinuous = "\\linecont";
RtfExportSR.SectionLineNumberingStart = "\\linestarts";
RtfExportSR.SectionLineNumberingRestartNewPage = "\\lineppage";
RtfExportSR.SectionLineNumberingRestartNewSection = "\\linerestart";
RtfExportSR.SectionLineNumberingCountBy = "\\linemod";
RtfExportSR.SectionLineNumberingDistance = "\\linex";
RtfExportSR.SectionColumnsCount = "\\cols";
RtfExportSR.SectionSpaceBetweenColumns = "\\colsx";
RtfExportSR.SectionColumnsDrawVerticalSeparator = "\\linebetcol";
RtfExportSR.SectionColumnNumber = "\\colno";
RtfExportSR.SectionColumnWidth = "\\colw";
RtfExportSR.SectionColumnSpace = "\\colsr";
RtfExportSR.SectionFootNotePlacementBelowText = "\\sftntj";
RtfExportSR.SectionFootNotePlacementPageBottom = "\\sftnbj";
RtfExportSR.SectionFootNoteNumberingStart = "\\sftnstart";
RtfExportSR.SectionFootNoteNumberingRestartEachPage = "\\sftnrstpg";
RtfExportSR.SectionFootNoteNumberingRestartEachSection = "\\sftnrestart";
RtfExportSR.SectionFootNoteNumberingRestartContinuous = "\\sftnrstcont";
RtfExportSR.SectionFootNoteNumberingFormatDecimal = "\\sftnnar";
RtfExportSR.SectionFootNoteNumberingFormatUpperRoman = "\\sftnnruc";
RtfExportSR.SectionFootNoteNumberingFormatLowerRoman = "\\sftnnrlc";
RtfExportSR.SectionFootNoteNumberingFormatUpperLetter = "\\sftnnauc";
RtfExportSR.SectionFootNoteNumberingFormatLowerLetter = "\\sftnnalc";
RtfExportSR.SectionFootNoteNumberingFormatChicago = "\\sftnnchi";
RtfExportSR.SectionFootNoteNumberingFormatChosung = "\\sftnnchosung";
RtfExportSR.SectionFootNoteNumberingFormatDecimalEnclosedCircle = "\\sftnncnum";
RtfExportSR.SectionFootNoteNumberingFormatDecimalFullWidth = "\\sftnndbar";
RtfExportSR.SectionFootNoteNumberingFormatGanada = "\\sftnnganada";
RtfExportSR.SectionEndNoteNumberingStart = "\\saftnstart";
RtfExportSR.SectionEndNoteNumberingRestartEachSection = "\\saftnrestart";
RtfExportSR.SectionEndNoteNumberingRestartContinuous = "\\saftnrstcont";
RtfExportSR.SectionEndNoteNumberingFormatDecimal = "\\saftnnar";
RtfExportSR.SectionEndNoteNumberingFormatUpperRoman = "\\saftnnruc";
RtfExportSR.SectionEndNoteNumberingFormatLowerRoman = "\\saftnnrlc";
RtfExportSR.SectionEndNoteNumberingFormatUpperLetter = "\\saftnnauc";
RtfExportSR.SectionEndNoteNumberingFormatLowerLetter = "\\saftnnalc";
RtfExportSR.SectionEndNoteNumberingFormatChicago = "\\saftnnchi";
RtfExportSR.SectionEndNoteNumberingFormatChosung = "\\saftnnchosung";
RtfExportSR.SectionEndNoteNumberingFormatDecimalEnclosedCircle = "\\saftnncnum";
RtfExportSR.SectionEndNoteNumberingFormatDecimalFullWidth = "\\saftnndbar";
RtfExportSR.SectionEndNoteNumberingFormatGanada = "\\saftnnganada";
RtfExportSR.LegacyPaperWidth = "\\paperw";
RtfExportSR.LegacyPaperHeight = "\\paperh";
RtfExportSR.LegacyLandscape = "\\landscape";
RtfExportSR.LegacyPageNumberingStart = "\\pgnstart";
RtfExportSR.LegacyMarginsLeft = "\\margl";
RtfExportSR.LegacyMarginsRight = "\\margr";
RtfExportSR.LegacyMarginsTop = "\\margt";
RtfExportSR.LegacyMarginsBottom = "\\margb";
RtfExportSR.LegacyMarginsGutter = "\\gutter";
RtfExportSR.LegacyMarginsGutterAtRight = "\\rtlgutter";
RtfExportSR.FootNotePlacementBelowText = "\\ftntj";
RtfExportSR.FootNotePlacementPageBottom = "\\ftnbj";
RtfExportSR.FootNoteNumberingStart = "\\ftnstart";
RtfExportSR.FootNoteNumberingRestartEachPage = "\\ftnrstpg";
RtfExportSR.FootNoteNumberingRestartEachSection = "\\ftnrestart";
RtfExportSR.FootNoteNumberingRestartContinuous = "\\ftnrstcont";
RtfExportSR.FootNoteNumberingFormatDecimal = "\\ftnnar";
RtfExportSR.FootNoteNumberingFormatUpperRoman = "\\ftnnruc";
RtfExportSR.FootNoteNumberingFormatLowerRoman = "\\ftnnrlc";
RtfExportSR.FootNoteNumberingFormatUpperLetter = "\\ftnnauc";
RtfExportSR.FootNoteNumberingFormatLowerLetter = "\\ftnnalc";
RtfExportSR.FootNoteNumberingFormatChicago = "\\ftnnchi";
RtfExportSR.FootNoteNumberingFormatChosung = "\\ftnnchosung";
RtfExportSR.FootNoteNumberingFormatDecimalEnclosedCircle = "\\ftnncnum";
RtfExportSR.FootNoteNumberingFormatDecimalFullWidth = "\\ftnndbar";
RtfExportSR.FootNoteNumberingFormatGanada = "\\ftnnganada";
RtfExportSR.EndNotePlacementEndOfSection = "\\aendnotes";
RtfExportSR.EndNotePlacementEndOfDocument = "\\aenddoc";
RtfExportSR.EndNoteNumberingStart = "\\aftnstart";
RtfExportSR.EndNoteNumberingRestartEachSection = "\\aftnrestart";
RtfExportSR.EndNoteNumberingRestartContinuous = "\\aftnrstcont";
RtfExportSR.EndNoteNumberingFormatDecimal = "\\aftnnar";
RtfExportSR.EndNoteNumberingFormatUpperRoman = "\\aftnnruc";
RtfExportSR.EndNoteNumberingFormatLowerRoman = "\\aftnnrlc";
RtfExportSR.EndNoteNumberingFormatUpperLetter = "\\aftnnauc";
RtfExportSR.EndNoteNumberingFormatLowerLetter = "\\aftnnalc";
RtfExportSR.EndNoteNumberingFormatChicago = "\\aftnnchi";
RtfExportSR.EndNoteNumberingFormatChosung = "\\aftnnchosung";
RtfExportSR.EndNoteNumberingFormatDecimalEnclosedCircle = "\\aftnncnum";
RtfExportSR.EndNoteNumberingFormatDecimalFullWidth = "\\aftnndbar";
RtfExportSR.EndNoteNumberingFormatGanada = "\\aftnnganada";
RtfExportSR.Field = "\\field";
RtfExportSR.FieldLocked = "\\fldlock";
RtfExportSR.FieldInstructions = "\\*\\fldinst";
RtfExportSR.FieldResult = "\\fldrslt";
RtfExportSR.FieldCodeView = "\\dxfldcodeview";
RtfExportSR.FieldEdit = "\\fldedit";
RtfExportSR.FormField = "\\*\\formfield";
RtfExportSR.FormFieldType = "\\fftype";
RtfExportSR.FormFieldListFieldResult = "\\ffres";
RtfExportSR.FormFieldProtected = "\\ffprot";
RtfExportSR.FormFieldCheckBoxFieldSizeType = "\\ffsize";
RtfExportSR.FormFieldCalculatedOnExit = "\\ffrecalc";
RtfExportSR.FormFieldCheckBoxFieldSize = "\\ffhps";
RtfExportSR.FormFieldName = "\\*\\ffname";
RtfExportSR.FormFieldListFieldDefault = "\\ffdefres";
RtfExportSR.FormFieldHelpTextCustom = "\\ffownhelp";
RtfExportSR.FormFieldHelpText = "\\*\\ffhelptext";
RtfExportSR.FormFieldStatusBarTextCustom = "\\ffownstat";
RtfExportSR.FormFieldStatusBarText = "\\*\\ffstattext";
RtfExportSR.FormFieldEntryMacro = "\\*\\ffentrymcr";
RtfExportSR.FormFieldExitMacro = "\\*\\ffexitmcr";
RtfExportSR.FieldMapData = "\\*\\mmodsofldmpdata";
RtfExportSR.FieldTypeNull = "\\mmfttypenull";
RtfExportSR.FieldTypeColumn = "\\mmfttypedbcolumn";
RtfExportSR.FieldTypeAddress = "\\mmfttypeaddress";
RtfExportSR.FieldTypeSalutation = "\\mmfttypesalutation";
RtfExportSR.FieldTypeMapped = "\\mmfttypemapped";
RtfExportSR.FieldTypeBarcode = "\\mmfttypebarcode";
RtfExportSR.MailMergeDataSourceObjectName = "\\mmodsoname";
RtfExportSR.MailMergeDataSourceObjectMappedName = "\\mmodsomappedname";
RtfExportSR.MailMergeDataSourceObjectColumnIndex = "\\mmodsofmcolumn";
RtfExportSR.MailMergeDataSourceObjectDynamicAddress = "\\mmodsodynaddr";
RtfExportSR.MailMergeDataSourceObjectLanguageId = "\\mmodsolid";
RtfExportSR.BookmarkStart = "\\*\\bkmkstart";
RtfExportSR.BookmarkEnd = "\\*\\bkmkend";
RtfExportSR.RangePermissionStart = "\\*\\protstart";
RtfExportSR.RangePermissionEnd = "\\*\\protend";
RtfExportSR.CommentStart = "\\*\\atrfstart";
RtfExportSR.CommentEnd = "\\*\\atrfend";
RtfExportSR.CommentId = "\\*\\atnid";
RtfExportSR.CommentAuthor = "\\*\\atnauthor";
RtfExportSR.CommentTime = "\\*\\atntime";
RtfExportSR.CommentChatn = "\\chatn";
RtfExportSR.CommentAnnotation = "\\*\\annotation";
RtfExportSR.CommentDate = "\\*\\atndate";
RtfExportSR.CommentRef = "\\*\\atnref";
RtfExportSR.CommentParent = "\\*\\atnparent";
RtfExportSR.HyperlinkFieldType = "HYPERLINK";
RtfExportSR.DocumentVariable = "\\*\\docvar";
RtfExportSR.FootNote = "\\footnote";
RtfExportSR.FootNoteReference = "\\chftn";
RtfExportSR.EndNote = "\\ftnalt";
RtfExportSR.PageBackground = "\\*\\background";
RtfExportSR.Shape = "\\shp";
RtfExportSR.ShapeInstance = "\\*\\shpinst";
RtfExportSR.ShapeText = "\\shptxt";
RtfExportSR.ShapeLeft = "\\shpleft";
RtfExportSR.ShapeRight = "\\shpright";
RtfExportSR.ShapeTop = "\\shptop";
RtfExportSR.ShapeBottom = "\\shpbottom";
RtfExportSR.ShapeZOrder = "\\shpz";
RtfExportSR.ShapeLegacyHorizontalPositionTypePage = "\\shpbxpage";
RtfExportSR.ShapeLegacyHorizontalPositionTypeMargin = "\\shpbxmargin";
RtfExportSR.ShapeLegacyHorizontalPositionTypeColumn = "\\shpbxcolumn";
RtfExportSR.ShapeIgnoreLegacyHorizontalPositionType = "\\shpbxignore";
RtfExportSR.ShapeLegacyVerticalPositionTypePage = "\\shpbypage";
RtfExportSR.ShapeLegacyVerticalPositionTypeMargin = "\\shpbymargin";
RtfExportSR.ShapeLegacyVerticalPositionTypeParagraph = "\\shpbypara";
RtfExportSR.ShapeIgnoreLegacyVerticalPositionType = "\\shpbyignore";
RtfExportSR.ShapeWrapTextType = "\\shpwr";
RtfExportSR.ShapeWrapTextTypeZOrder = "\\shpfblwtxt";
RtfExportSR.ShapeWrapTextSide = "\\shpwrk";
RtfExportSR.ShapeLocked = "\\shplockanchor";
RtfExportSR.ShapeProperty = "\\sp";
RtfExportSR.ShapePropertyName = "\\sn";
RtfExportSR.ShapePropertyValue = "\\sv";
RtfExportSR.ShapeResult = "\\shprslt";
RtfExportSR.ShapeDoNotLay = "\\splytwnine";
RtfExportSR.ShapeHyperlink = "\\*\\hl";
RtfExportSR.ShapeHyperlinkFrame = "\\hlfr";
RtfExportSR.ShapeHyperlinkSource = "\\hlsrc";
RtfExportSR.ShapeHyperlinkLocation = "\\hlloc";
RtfExportSR.HtmlAutoSpacing = "\\htmautsp";
RtfExportSR.CustomRunData = "\\*\\dxcustomrundata";
RtfExportSR.ParagraphGroupPropertiesTable = "\\*\\pgptbl";
RtfExportSR.ParagraphGroupProperties = "\\pgp";
RtfExportSR.ParagraphGroupPropertiesId = "\\ipgp";
RtfExportSR.ResetTableProperties = "\\trowd";
RtfExportSR.InTableParagraph = "\\intbl";
RtfExportSR.TableEndCell = "\\cell";
RtfExportSR.NestedTableEndCell = "\\nestcell";
RtfExportSR.TableEndRow = "\\row";
RtfExportSR.NestedTableEndRow = "\\nestrow";
RtfExportSR.NestedTableProperties = "\\*\\nesttableprops";
RtfExportSR.NoNestedTable = "\\nonesttables";
RtfExportSR.ParagraphNestingLevel = "\\itap";
RtfExportSR.TableCellRight = "\\cellx";
RtfExportSR.TableCellPreferredWidth = "\\clwWidth";
RtfExportSR.TableCellPreferredWidthType = "\\clftsWidth";
RtfExportSR.TableCellBottomMargin = "\\clpadb";
RtfExportSR.TableCellLeftMargin = "\\clpadl";
RtfExportSR.TableCellRightMargin = "\\clpadr";
RtfExportSR.TableCellTopMargin = "\\clpadt";
RtfExportSR.TableCellBottomMarginType = "\\clpadfb";
RtfExportSR.TableCellLeftMarginType = "\\clpadfl";
RtfExportSR.TableCellRightMarginType = "\\clpadfr";
RtfExportSR.TableCellTopMarginType = "\\clpadft";
RtfExportSR.TableRowIndex = "\\irow";
RtfExportSR.TableRowBandIndex = "\\irowband";
RtfExportSR.TableRowLeftAlignment = "\\trql";
RtfExportSR.TableRowRightAlignment = "\\trqr";
RtfExportSR.TableRowCenterAlignment = "\\trqc";
RtfExportSR.TableIndent = "\\tblind";
RtfExportSR.TableIndentType = "\\tblindtype";
RtfExportSR.TableCellBottomBorder = "\\clbrdrb";
RtfExportSR.TableCellTopBorder = "\\clbrdrt";
RtfExportSR.TableCellLeftBorder = "\\clbrdrl";
RtfExportSR.TableCellRightBorder = "\\clbrdrr";
RtfExportSR.TableCellUpperLeftToLowerRightBorder = "\\cldglu";
RtfExportSR.TableCellUpperRightToLowerLeftBorder = "\\cldgll";
RtfExportSR.TableCellStartHorizontalMerging = "\\clmgf";
RtfExportSR.TableCellContinueHorizontalMerging = "\\clmrg";
RtfExportSR.TableCellStartVerticalMerging = "\\clvmgf";
RtfExportSR.TableCellContinueVerticalMerging = "\\clvmrg";
RtfExportSR.TableCellTextTopAlignment = "\\clvertalt";
RtfExportSR.TableCellTextCenterAlignment = "\\clvertalc";
RtfExportSR.TableCellTextBottomAlignment = "\\clvertalb";
RtfExportSR.TableCellLeftToRightTopToBottomTextDirection = "\\cltxlrtb";
RtfExportSR.TableCellTopToBottomRightToLeftTextDirection = "\\cltxtbrl";
RtfExportSR.TableCellBottomToTopLeftToRightTextDirection = "\\cltxbtlr";
RtfExportSR.TableCellLeftToRightTopToBottomVerticalTextDirection = "\\cltxlrtbv";
RtfExportSR.TableCellTopToBottomRightToLeftVerticalTextDirection = "\\cltxtbrlv";
RtfExportSR.TableCellFitText = "\\clFitText";
RtfExportSR.TableCellNoWrap = "\\clNoWrap";
RtfExportSR.TableCellHideMark = "\\clhidemark";
RtfExportSR.TableCellBackgroundColor = "\\clcbpat";
RtfExportSR.TableCellForegroundColor = "\\clcfpat";
RtfExportSR.TableCellShading = "\\clshdng";
RtfExportSR.TableTopBorder = "\\trbrdrt";
RtfExportSR.TableLeftBorder = "\\trbrdrl";
RtfExportSR.TableBottomBorder = "\\trbrdrb";
RtfExportSR.TableRightBorder = "\\trbrdrr";
RtfExportSR.TableHorizontalBorder = "\\trbrdrh";
RtfExportSR.TableVerticalBorder = "\\trbrdrv";
RtfExportSR.TableRowBackgroundColor = "\\trcbpat";
RtfExportSR.TableRowForegroundColor = "\\trcfpat";
RtfExportSR.TableRowShading = "\\trshdng";
RtfExportSR.TableRowHorizontalAnchorColumn = "\\tphcol";
RtfExportSR.TableRowHorizontalAnchorMargin = "\\tphmrg";
RtfExportSR.TableRowHorizontalAnchorPage = "\\tphpg";
RtfExportSR.TableRowVerticalAnchorMargin = "\\tpvmrg";
RtfExportSR.TableRowVerticalAnchorParagraph = "\\tpvpara";
RtfExportSR.TableRowVerticalAnchorPage = "\\tpvpg";
RtfExportSR.TableRowHorizontalAlignCenter = "\\tposxc";
RtfExportSR.TableRowHorizontalAlignInside = "\\tposxi";
RtfExportSR.TableRowHorizontalAlignLeft = "\\tposxl";
RtfExportSR.TableRowHorizontalAlignOutside = "\\tposxo";
RtfExportSR.TableRowHorizontalAlignRight = "\\tposxr";
RtfExportSR.TableRowHorizontalPosition = "\\tposx";
RtfExportSR.TableRowHorizontalPositionNeg = "\\tposnegx";
RtfExportSR.TableRowVerticalAlignBottom = "\\tposyb";
RtfExportSR.TableRowVerticalAlignCenter = "\\tposyc";
RtfExportSR.TableRowVerticalAlignInline = "\\tposyil";
RtfExportSR.TableRowVerticalAlignInside = "\\tposyin";
RtfExportSR.TableRowVerticalAlignOutside = "\\tposyout";
RtfExportSR.TableRowVerticalAlignTop = "\\tposyt";
RtfExportSR.TableRowVerticalPosition = "\\tposy";
RtfExportSR.TableRowVerticalPositionNeg = "\\tposnegy";
RtfExportSR.TableRowLeftFromText = "\\tdfrmtxtLeft";
RtfExportSR.TableRowBottomFromText = "\\tdfrmtxtBottom";
RtfExportSR.TableRowRightFromText = "\\tdfrmtxtRight";
RtfExportSR.TableRowTopFromText = "\\tdfrmtxtTop";
RtfExportSR.TableNoOverlap = "\\tabsnoovrlp";
RtfExportSR.TableHalfSpaceBetweenCells = "\\trgaph";
RtfExportSR.TableRowLeft = "\\trleft";
RtfExportSR.TableRowHeight = "\\trrh";
RtfExportSR.TableRowHeader = "\\trhdr";
RtfExportSR.TableRowCantSplit = "\\trkeep";
RtfExportSR.TablePreferredWidth = "\\trwWidth";
RtfExportSR.TablePreferredWidthType = "\\trftsWidth";
RtfExportSR.TableRowWidthBefore = "\\trwWidthB";
RtfExportSR.TableRowWidthBeforeType = "\\trftsWidthB";
RtfExportSR.TableRowWidthAfter = "\\trwWidthA";
RtfExportSR.TableRowWidthAfterType = "\\trftsWidthA";
RtfExportSR.TableLayout = "\\trautofit";
RtfExportSR.TableCellSpacingBottom = "\\trspdb";
RtfExportSR.TableCellSpacingLeft = "\\trspdl";
RtfExportSR.TableCellSpacingRight = "\\trspdr";
RtfExportSR.TableCellSpacingTop = "\\trspdt";
RtfExportSR.TableCellSpacingBottomType = "\\trspdfb";
RtfExportSR.TableCellSpacingLeftType = "\\trspdfl";
RtfExportSR.TableCellSpacingRightType = "\\trspdfr";
RtfExportSR.TableCellSpacingTopType = "\\trspdft";
RtfExportSR.TableCellMarginsBottom = "\\trpaddb";
RtfExportSR.TableCellMarginsLeft = "\\trpaddl";
RtfExportSR.TableCellMarginsRight = "\\trpaddr";
RtfExportSR.TableCellMarginsTop = "\\trpaddt";
RtfExportSR.TableCellMarginsBottomType = "\\trpaddfb";
RtfExportSR.TableCellMarginsLeftType = "\\trpaddfl";
RtfExportSR.TableCellMarginsRightType = "\\trpaddfr";
RtfExportSR.TableCellMarginsTopType = "\\trpaddft";
RtfExportSR.TableApplyFirstRow = "\\tbllkhdrrows";
RtfExportSR.TableApplyLastRow = "\\tbllklastrow";
RtfExportSR.TableApplyFirstColumn = "\\tbllkhdrcols";
RtfExportSR.TableApplyLastColumn = "\\tbllklastcol";
RtfExportSR.TableDoNotApplyRowBanding = "\\tbllknorowband";
RtfExportSR.TableDoNotApplyColumnBanding = "\\tbllknocolband";
RtfExportSR.TableLastRow = "\\lastrow";
RtfExportSR.TableStyleResetTableProperties = "\\tsrowd";
RtfExportSR.TableStyleCellVerticalAlignmentTop = "\\tsvertalt";
RtfExportSR.TableStyleCellVerticalAlignmentCenter = "\\tsvertalc";
RtfExportSR.TableStyleCellVerticalAlignmentBottom = "\\tsvertalb";
RtfExportSR.TableStyleRowBandSize = "\\tscbandsh";
RtfExportSR.TableStyleColumnBandSize = "\\tscbandsv";
RtfExportSR.TableStyleCellBackgroundColor = "\\tscellcbpat";
RtfExportSR.TableStyleCellForegroundColor = "\\tscellcfpat";
RtfExportSR.TableStyleCellShading = "\\tscellpct";
RtfExportSR.TableStyleTopCellBorder = "\\tsbrdrt";
RtfExportSR.TableStyleLeftCellBorder = "\\tsbrdrl";
RtfExportSR.TableStyleBottomCellBorder = "\\tsbrdrb";
RtfExportSR.TableStyleRightCellBorder = "\\tsbrdrr";
RtfExportSR.TableStyleHorizontalCellBorder = "\\tsbrdrh";
RtfExportSR.TableStyleVerticalCellBorder = "\\tsbrdrv";
RtfExportSR.TableStyleCellNoWrap = "\\tsnowrap";
RtfExportSR.TableStyleTableBottomCellMargin = "\\tscellpaddb";
RtfExportSR.TableStyleTableLeftCellMargin = "\\tscellpaddl";
RtfExportSR.TableStyleTableRightCellMargin = "\\tscellpaddr";
RtfExportSR.TableStyleTableTopCellMargin = "\\tscellpaddt";
RtfExportSR.TableStyleTableBottomCellMarginUnitType = "\\tscellpaddfb";
RtfExportSR.TableStyleTableLeftCellMarginUnitType = "\\tscellpaddfl";
RtfExportSR.TableStyleTableRightCellMarginUnitType = "\\tscellpaddfr";
RtfExportSR.TableStyleTableTopCellMarginUnitType = "\\tscellpaddft";
RtfExportSR.TableStyleUpperLeftToLowerRightBorder = "\\tsbrdrdgl";
RtfExportSR.TableStyleUpperRightToLowerLeftBorder = "\\tsbrdrdgr";
RtfExportSR.TableConditionalStyleFirstRow = "\\tscfirstrow";
RtfExportSR.TableConditionalStyleLastRow = "\\tsclastrow";
RtfExportSR.TableConditionalStyleFirstColumn = "\\tscfirstcol";
RtfExportSR.TableConditionalStyleLastColumn = "\\tsclastcol";
RtfExportSR.TableConditionalStyleOddRowBanding = "\\tscbandhorzodd";
RtfExportSR.TableConditionalStyleEvenRowBanding = "\\tscbandhorzeven";
RtfExportSR.TableConditionalStyleOddColumnBanding = "\\tscbandvertodd";
RtfExportSR.TableConditionalStyleEvenColumnBanding = "\\tscbandverteven";
RtfExportSR.TableConditionalStyleTopLeftCell = "\\tscnwcell";
RtfExportSR.TableConditionalStyleTopRightCell = "\\tscnecell";
RtfExportSR.TableConditionalStyleBottomLeftCell = "\\tscswcell";
RtfExportSR.TableConditionalStyleBottomRightCell = "\\tscsecell";
RtfExportSR.NoTableBorder = "\\brdrtbl";
RtfExportSR.NoBorder = "\\brdrnil";
RtfExportSR.BorderWidth = "\\brdrw";
RtfExportSR.BorderColor = "\\brdrcf";
RtfExportSR.BorderFrame = "\\brdrframe";
RtfExportSR.BorderSpace = "\\brsp";
RtfExportSR.BorderArtIndex = "\\brdrart";
RtfExportSR.BorderSingleWidth = "\\brdrs";
RtfExportSR.BorderDoubleWidth = "\\brdrth";
RtfExportSR.BorderShadow = "\\brdrsh";
RtfExportSR.BorderDouble = "\\brdrdb";
RtfExportSR.BorderDotted = "\\brdrdot";
RtfExportSR.BorderDashed = "\\brdrdash";
RtfExportSR.BorderSingle = "\\brdrhair";
RtfExportSR.BorderDashedSmall = "\\brdrdashsm";
RtfExportSR.BorderDotDashed = "\\brdrdashd";
RtfExportSR.BorderDotDotDashed = "\\brdrdashdd";
RtfExportSR.BorderInset = "\\brdrinset";
RtfExportSR.BorderNone = "\\brdrnone";
RtfExportSR.BorderOutset = "\\brdroutset";
RtfExportSR.BorderTriple = "\\brdrtriple";
RtfExportSR.BorderThickThinSmall = "\\brdrthtnsg";
RtfExportSR.BorderThinThickSmall = "\\brdrtnthsg";
RtfExportSR.BorderThinThickThinSmall = "\\brdrtnthtnsg";
RtfExportSR.BorderThickThinMedium = "\\brdrthtnmg";
RtfExportSR.BorderThinThickMedium = "\\brdrtnthmg";
RtfExportSR.BorderThinThickThinMedium = "\\brdrtnthtnmg";
RtfExportSR.BorderThickThinLarge = "\\brdrthtnlg";
RtfExportSR.BorderThinThickLarge = "\\brdrtnthlg";
RtfExportSR.BorderThinThickThinLarge = "\\brdrtnthtnlg";
RtfExportSR.BorderWavy = "\\brdrwavy";
RtfExportSR.BorderDoubleWavy = "\\brdrwavydb";
RtfExportSR.BorderDashDotStroked = "\\brdrdashdotstr";
RtfExportSR.BorderThreeDEmboss = "\\brdremboss";
RtfExportSR.BorderThreeDEngrave = "\\brdrengrave";
RtfExportSR.NumberingListTable = "\\*\\listtable";
RtfExportSR.ListOverrideTable = "\\*\\listoverridetable";
RtfExportSR.NumberingList = "\\list";
RtfExportSR.NumberingListId = "\\listid";
RtfExportSR.NumberingListTemplateId = "\\listtemplateid";
RtfExportSR.NumberingListStyleId = "\\liststyleid";
RtfExportSR.NumberingListStyleName = "\\*\\liststylename ";
RtfExportSR.NumberingListName = "\\listname ;";
RtfExportSR.NumberingListHybrid = "\\listhybrid";
RtfExportSR.ListLevel = "\\listlevel";
RtfExportSR.ListLevelStart = "\\levelstartat";
RtfExportSR.ListLevelTentative = "\\lvltentative";
RtfExportSR.ListLevelNumberingFormat = "\\levelnfc";
RtfExportSR.ListLevelAlignment = "\\leveljc";
RtfExportSR.ListLevelNumberingFormatN = "\\levelnfcn";
RtfExportSR.ListLevelAlignmentN = "\\leveljcn";
RtfExportSR.LisLeveltOld = "\\levelold";
RtfExportSR.ListLevelPrev = "\\levelprev";
RtfExportSR.ListLevelPrevSpase = "\\levelprevspace";
RtfExportSR.ListLevelSpace = "\\levelspace";
RtfExportSR.ListLevelIntdent = "\\levelindent";
RtfExportSR.ListLevelNumbers = "\\levelnumbers";
RtfExportSR.ListLevelText = "\\leveltext";
RtfExportSR.LevelTemplateId = "\\leveltemplateid";
RtfExportSR.ListLevelFollow = "\\levelfollow";
RtfExportSR.ListLevelLegal = "\\levellegal";
RtfExportSR.ListLevelNoRestart = "\\levelnorestart";
RtfExportSR.ListLevelPicture = "\\levelpicture";
RtfExportSR.ListLevelPictureNoSize = "\\levelpicturenosize";
RtfExportSR.ListLevelLegacy = "\\levelold";
RtfExportSR.ListLevelLegacySpace = "\\levelspace";
RtfExportSR.ListLevelLegacyIndent = "\\levelindent";
RtfExportSR.ListOverride = "\\listoverride";
RtfExportSR.ListOverrideListId = "\\listid";
RtfExportSR.ListOverrideCount = "\\listoverridecount";
RtfExportSR.ListOverrideLevel = "\\lfolevel";
RtfExportSR.ListOverrideFormat = "\\listoverrideformat";
RtfExportSR.ListOverrideStart = "\\listoverridestartat";
RtfExportSR.ListOverrideStartValue = "\\levelstartat";
RtfExportSR.ListOverrideListLevel = "\\listlevel";
RtfExportSR.DefaultCharacterProperties = "\\*\\defchp";
RtfExportSR.DefaultParagraphProperties = "\\*\\defpap";
RtfExportSR.StyleSheet = "\\stylesheet";
RtfExportSR.ParagraphStyle = "\\s";
RtfExportSR.CharacterStyle = "\\*\\cs";
RtfExportSR.CharacterStyleIndex = "\\cs";
RtfExportSR.TableStyle = "\\*\\ts";
RtfExportSR.TableStyleIndex = "\\ts";
RtfExportSR.TableStyleCellIndex = "\\yts";
RtfExportSR.ParentStyle = "\\sbasedon";
RtfExportSR.LinkedStyle = "\\slink";
RtfExportSR.NextStyle = "\\snext";
RtfExportSR.QuickFormatStyle = "\\sqformat";
RtfExportSR.RTLRun = "\\rtlch";
RtfExportSR.LTRRun = "\\ltrch";
RtfExportSR.RLTParagraph = "\\rtlpar";
RtfExportSR.LTRParagraph = "\\ltrpar";
RtfExportSR.RTLRow = "\\rtlrow";
RtfExportSR.LTRRow = "\\ltrrow";
RtfExportSR.RTLSection = "\\rtlsect";
RtfExportSR.LTRSection = "\\ltrsect";
function createShadingPatternTable() {
    return new map_creator/* MapCreator */.M()
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzStripe, "\\bghoriz")
        .add(shading_pattern/* ShadingPattern */.d.ThinVertStripe, "\\bgvert")
        .add(shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe, "\\bgfdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagStripe, "\\bgbdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzCross, "\\bgcross")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagCross, "\\bgdcross")
        .add(shading_pattern/* ShadingPattern */.d.HorzStripe, "\\bgdkhoriz")
        .add(shading_pattern/* ShadingPattern */.d.VertStripe, "\\bgdkvert")
        .add(shading_pattern/* ShadingPattern */.d.ReverseDiagStripe, "\\bgdkfdiag")
        .add(shading_pattern/* ShadingPattern */.d.DiagStripe, "\\bgdkbdiag")
        .add(shading_pattern/* ShadingPattern */.d.HorzCross, "\\bgdkcross")
        .add(shading_pattern/* ShadingPattern */.d.DiagCross, "\\bgdkdcross")
        .get();
}
function createRunShadingPatternTable() {
    return new map_creator/* MapCreator */.M()
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzStripe, "\\chbghoriz")
        .add(shading_pattern/* ShadingPattern */.d.ThinVertStripe, "\\chbgvert")
        .add(shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe, "\\chbgfdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagStripe, "\\chbgbdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzCross, "\\chbgcross")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagCross, "\\chbgdcross")
        .add(shading_pattern/* ShadingPattern */.d.HorzStripe, "\\chbgdkhoriz")
        .add(shading_pattern/* ShadingPattern */.d.VertStripe, "\\chbgdkvert")
        .add(shading_pattern/* ShadingPattern */.d.ReverseDiagStripe, "\\chbgdkfdiag")
        .add(shading_pattern/* ShadingPattern */.d.DiagStripe, "\\chbgdkbdiag")
        .add(shading_pattern/* ShadingPattern */.d.HorzCross, "\\chbgdkcross")
        .add(shading_pattern/* ShadingPattern */.d.DiagCross, "\\chbgdkdcross")
        .get();
}
function createTableCellShadingPatternTable() {
    return new map_creator/* MapCreator */.M()
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzStripe, "\\clbghoriz")
        .add(shading_pattern/* ShadingPattern */.d.ThinVertStripe, "\\clbgvert")
        .add(shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe, "\\clbgfdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagStripe, "\\clbgbdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzCross, "\\clbgcross")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagCross, "\\clbgdcross")
        .add(shading_pattern/* ShadingPattern */.d.HorzStripe, "\\clbgdkhor")
        .add(shading_pattern/* ShadingPattern */.d.VertStripe, "\\clbgdkvert")
        .add(shading_pattern/* ShadingPattern */.d.ReverseDiagStripe, "\\clbgdkfdiag")
        .add(shading_pattern/* ShadingPattern */.d.DiagStripe, "\\clbgdkbdiag")
        .add(shading_pattern/* ShadingPattern */.d.HorzCross, "\\clbgdkcross")
        .add(shading_pattern/* ShadingPattern */.d.DiagCross, "\\clbgdkdcross")
        .get();
}
function createTableStyleShadingPatternTable() {
    return new map_creator/* MapCreator */.M()
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzStripe, "\\tsbghoriz")
        .add(shading_pattern/* ShadingPattern */.d.ThinVertStripe, "\\tsbgvert")
        .add(shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe, "\\tsbgfdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagStripe, "\\tsbgbdiag")
        .add(shading_pattern/* ShadingPattern */.d.ThinHorzCross, "\\tsbgcross")
        .add(shading_pattern/* ShadingPattern */.d.ThinDiagCross, "\\tsbgdcross")
        .add(shading_pattern/* ShadingPattern */.d.HorzStripe, "\\tsbgdkhor")
        .add(shading_pattern/* ShadingPattern */.d.VertStripe, "\\tsbgdkvert")
        .add(shading_pattern/* ShadingPattern */.d.ReverseDiagStripe, "\\tsbgdkfdiag")
        .add(shading_pattern/* ShadingPattern */.d.DiagStripe, "\\tsbgdkbdiag")
        .add(shading_pattern/* ShadingPattern */.d.HorzCross, "\\tsbgdkcross")
        .add(shading_pattern/* ShadingPattern */.d.DiagCross, "\\tsbgdkdcross")
        .get();
}
function createThemeColorValuesTable() {
    return new map_creator/* MapCreator */.M()
        .add(color_enums/* ThemeColorValues */.KA.Dark1, "\\cmaindarkone")
        .add(color_enums/* ThemeColorValues */.KA.Light1, "\\cmainlightone")
        .add(color_enums/* ThemeColorValues */.KA.Dark2, "\\cmaindarktwo")
        .add(color_enums/* ThemeColorValues */.KA.Light2, "\\cmainlighttwo")
        .add(color_enums/* ThemeColorValues */.KA.Accent1, "\\caccentone")
        .add(color_enums/* ThemeColorValues */.KA.Accent2, "\\caccenttwo")
        .add(color_enums/* ThemeColorValues */.KA.Accent3, "\\caccentthree")
        .add(color_enums/* ThemeColorValues */.KA.Accent4, "\\caccentfour")
        .add(color_enums/* ThemeColorValues */.KA.Accent5, "\\caccentfive")
        .add(color_enums/* ThemeColorValues */.KA.Accent6, "\\caccentsix")
        .add(color_enums/* ThemeColorValues */.KA.Hyperlink, "\\chyperlink")
        .add(color_enums/* ThemeColorValues */.KA.FollowedHyperlink, "\\cfollowedhyperlink")
        .add(color_enums/* ThemeColorValues */.KA.Background1, "\\cbackgroundone")
        .add(color_enums/* ThemeColorValues */.KA.Text1, "\\ctextone")
        .add(color_enums/* ThemeColorValues */.KA.Background2, "\\cbackgroundtwo")
        .add(color_enums/* ThemeColorValues */.KA.Text2, "\\ctexttwo")
        .get();
}

;// CONCATENATED MODULE: ./src/common/formats/utils/cross-existing-iterator.ts


class NextPosition {
    constructor(index, nextKeyPosition) {
        this.index = index;
        this.nextKeyPosition = nextKeyPosition;
    }
}
class ObjectStateInfo {
    constructor(object, index) {
        this.object = object;
        this.index = index;
    }
}
class CrossExistingIterator {
    constructor(objects) {
        this.objects = objects;
    }
    init() {
        this.clearPublicLists();
        this.currObjs = [];
        this.nextPos = this.objects[0] ?
            new NextPosition(0, this.objects[0].interval.start) :
            new NextPosition(0, constants.Constants.MAX_SAFE_INTEGER);
    }
    hasObjects(start, length) {
        return start <= this.nextPos.nextKeyPosition && this.nextPos.nextKeyPosition < (start + length);
    }
    update(newPos) {
        this.clearPublicLists();
        if (newPos < this.nextPos.nextKeyPosition)
            return false;
        this.deleteObjects(newPos);
        this.addNewObjects(newPos);
        const smthChanged = !!this.deletedObjects.length || !!this.addedObjects.length;
        if (smthChanged) {
            const obj = this.objects[this.nextPos.index];
            this.nextPos.nextKeyPosition = obj ? obj.interval.start : constants.Constants.MAX_SAFE_INTEGER;
            for (const state of this.currObjs)
                this.nextPos.nextKeyPosition = Math.min(this.nextPos.nextKeyPosition, state.object.interval.end);
        }
        return smthChanged;
    }
    clearPublicLists() {
        this.deletedObjects = [];
        this.addedObjects = [];
    }
    deleteObjects(newPos) {
        this.currObjs = utils_list.ListUtils.reducedMap(this.currObjs, (state) => {
            if (newPos >= state.object.interval.end) {
                this.deletedObjects.push(state);
                return null;
            }
            else
                return state;
        });
    }
    addNewObjects(newPos) {
        let obj = this.objects[this.nextPos.index];
        while (obj && obj.interval.start == newPos) {
            const state = new ObjectStateInfo(obj, this.nextPos.index);
            if (obj.interval.length)
                this.currObjs.push(state);
            else
                this.deletedObjects.push(state);
            this.addedObjects.push(state);
            this.nextPos.index++;
            obj = this.objects[this.nextPos.index];
        }
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/box/generator/recursive-objects-iterators.ts
var recursive_objects_iterators = __webpack_require__(8164);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-document-enums.ts
var json_document_enums = __webpack_require__(1573);
// EXTERNAL MODULE: ./src/common/model/model-iterator.ts
var model_iterator = __webpack_require__(7747);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level-properties.ts
var list_level_properties = __webpack_require__(4830);
// EXTERNAL MODULE: ./src/common/model/options/document-protection.ts
var document_protection = __webpack_require__(825);
// EXTERNAL MODULE: ./src/common/model/range-permissions.ts
var range_permissions = __webpack_require__(3245);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/section/enums.ts
var section_enums = __webpack_require__(8311);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./src/common/formats/rtf/import/model/section/general-section-info.ts
var general_section_info = __webpack_require__(7553);
;// CONCATENATED MODULE: ./src/common/formats/rtf/utils/character-properties-export-helper.ts


class CharacterPropertiesExportHelper {
    static ShouldExportInlinePictureRunCharacterProperties(props, colorProvider) {
        return (props.hidden) ||
            (props.fontUnderlineType != enums/* UnderlineType */.Xq.None) ||
            (props.fontStrikeoutType != enums/* StrikeoutType */.GO.None) ||
            (props.highlightColor.toRgb(colorProvider) != color_color/* ColorHelper */.v.NO_COLOR) ||
            (props.shadingInfo.getActualColor(colorProvider) != color_color/* ColorHelper */.v.NO_COLOR);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/characters.ts
class Characters {
}
Characters.Dot = '.';
Characters.EnDash = '–';
Characters.Bullet = '•';
Characters.LeftSingleQuote = '‘';
Characters.RightSingleQuote = '’';
Characters.LeftDoubleQuote = '“';
Characters.RightDoubleQuote = '”';
Characters.PilcrowSign = '¶';
Characters.CurrencySign = '¤';
Characters.CopyrightSymbol = '©';
Characters.TrademarkSymbol = '™';
Characters.OptionalHyphen = '­';
Characters.RegisteredTrademarkSymbol = '®';
Characters.Ellipsis = '…';
Characters.OpeningSingleQuotationMark = '‘';
Characters.ClosingSingleQuotationMark = '’';
Characters.OpeningDoubleQuotationMark = '“';
Characters.ClosingDoubleQuotationMark = '”';
Characters.EmDash = '—';
Characters.SeparatorMark = '|';
Characters.FloatingObjectMark = '\b';
Characters.ColumnBreak = '\u000e';
Characters.Colon = ':';
Characters.Underscore = '_';
Characters.EqualSign = '=';
Characters.MiddleDot = '·';
Characters.Dash = '-';
Characters.ParagraphMark = '\r';
Characters.SectionMark = '\u001d';
Characters.Hyphen = '\u001f';
Characters.TabMark = '\t';
Characters.NonBreakingSpace = ' ';
Characters.Space = ' ';
Characters.EmSpace = ' ';
Characters.EnSpace = ' ';
Characters.QmSpace = ' ';
Characters.ZeroWidthSpace = '​';
Characters.LineBreak = '\v';
Characters.PageBreak = '\f';
Characters.ObjectMark = '￼';
Characters.CanadianSyllabicsChiSign = '᙭';

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/piece-table-numbering-list-counters-manager.ts
class PieceTableNumberingListCountersManager {
}
class NumberingListCountersCalculator {
}

// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log.ts + 3 modules
var log = __webpack_require__(5580);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/chunked-text.js
var chunked_text = __webpack_require__(677);
// EXTERNAL MODULE: ./src/common/utils/hexadecimal-converter.ts
var hexadecimal_converter = __webpack_require__(4622);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/rtf-builder.ts











class RtfBuilder {
    constructor() {
        this.rowLengthBound = 200;
        this.init();
    }
    clear() {
        this.init();
    }
    init() {
        this.rtfContent = new chunked_text/* ChunkedText */.T("");
        this.unicodeTextBuilder = new chunked_text/* ChunkedText */.T("");
        this.isPreviousWriteCommand = false;
        this.rowLength = 0;
        this.hexMode = false;
    }
    writeCommandCore(command, writeParam) {
        this.rtfContent.addText(command);
        writeParam();
        this.isPreviousWriteCommand = true;
        this.increaseRowLength(command.length);
    }
    writeCommand(command, param) {
        this.writeCommandCore(command, () => {
            if (param != undefined)
                if (typeof param === "boolean")
                    this.rtfContent.addText((0,common.boolToString)(param));
                else
                    this.rtfContent.addText(param.toString());
        });
    }
    writeIntegerCommand(command, param) {
        const intValue = Math.floor(param);
        if (log/* Log */.Z.isDebug && intValue !== param)
            throw new Error(errors/* Errors */.D.InternalException);
        this.writeCommandCore(command, () => this.rtfContent.addText(intValue.toString()));
    }
    createKeyword(propertyName) {
        return "\\" + propertyName;
    }
    createOptionalKeyword(propertyName) {
        return "\\*" + propertyName;
    }
    writeAnsiText(text) {
        const count = text.length;
        if (this.isPreviousWriteCommand)
            this.rtfContent.addText(RtfExportSR.Space);
        for (let i = 0; i < count; i++) {
            const ch = text[i];
            const str = this.correctAnsiString(ch);
            this.rtfContent.addText(str);
        }
        this.isPreviousWriteCommand = false;
        this.increaseRowLength(text.length);
    }
    writeText(text, specialMarks = RtfBuilder.specialMarks) {
        const count = text.length;
        for (var i = 0; i < count; i++) {
            const ch = text[i];
            const specialMark = specialMarks[ch];
            if (specialMark)
                this.writeTextDirect(specialMark);
            else
                this.writeChar(ch);
        }
    }
    writeTextDirect(text, makeStringUnicodeCompatible = false) {
        if (this.isPreviousWriteCommand)
            this.rtfContent.addText(RtfExportSR.Space);
        if (makeStringUnicodeCompatible)
            this.rtfContent.addText(this.getUnicodeCompatibleStringDirect(text));
        else
            this.rtfContent.addText(text);
        this.isPreviousWriteCommand = false;
        this.increaseRowLength(text.length);
    }
    writeTextDirectUnsafe(text) {
        if (this.isPreviousWriteCommand)
            this.rtfContent.addText(RtfExportSR.Space);
        const textLength = text.textLength;
        this.rtfContent.addText(text.getText());
        this.isPreviousWriteCommand = false;
        this.increaseRowLength(textLength);
    }
    writeChar(ch) {
        if (this.isPreviousWriteCommand)
            this.rtfContent.addText(RtfExportSR.Space);
        const str = this.getUnicodeCompatibleString(ch);
        this.rtfContent.addText(str);
        this.isPreviousWriteCommand = false;
        this.increaseRowLength(str.length);
    }
    openGroup() {
        this.rtfContent.addText(RtfExportSR.OpenGroup);
        this.isPreviousWriteCommand = false;
        this.increaseRowLength(RtfExportSR.OpenGroup.length);
    }
    closeGroup() {
        this.rtfContent.addText(RtfExportSR.CloseGroup);
        this.isPreviousWriteCommand = false;
        this.increaseRowLength(RtfExportSR.CloseGroup.length);
    }
    static isSpecialSymbol(ch) {
        return ch == '{' || ch == '}' || ch == '\\';
    }
    textHasNonASCIISymbol(text) {
        const count = text.length;
        for (let i = 0; i < count; i++) {
            let code = text.charCodeAt(i);
            if (!this.isASCII(code))
                return true;
        }
        return false;
    }
    isASCII(code) {
        return code >= 0 && code <= 127;
    }
    isANSI(code) {
        return code >= 0 && code <= 255;
    }
    containsNonAnsiChar(str) {
        return utils_list.ListUtils.anyOf(str.split(''), (ch) => !this.isANSI(this.getCode(ch)));
    }
    correctAnsiString(ch) {
        this.unicodeTextBuilder = new chunked_text/* ChunkedText */.T("");
        const code = this.getCode(ch);
        if (this.isANSI(code)) {
            if (RtfBuilder.isSpecialSymbol(ch))
                this.unicodeTextBuilder.addText("\\");
            this.unicodeTextBuilder.addText(ch);
        }
        else
            this.unicodeTextBuilder.addText('?');
        return this.unicodeTextBuilder.getText();
    }
    getUnicodeCompatibleString(ch) {
        this.unicodeTextBuilder = new chunked_text/* ChunkedText */.T("");
        const code = this.getCode(ch);
        if (this.isASCII(code)) {
            if (RtfBuilder.isSpecialSymbol(ch))
                this.unicodeTextBuilder.addText("\\");
            this.unicodeTextBuilder.addText(ch);
        }
        else
            this.appendUnicodeCompatibleCharCore(code, ch);
        return this.unicodeTextBuilder.getText();
    }
    getUnicodeCompatibleStringDirect(text) {
        this.unicodeTextBuilder = new chunked_text/* ChunkedText */.T("");
        const length = text.length;
        for (var i = 0; i < length; i++) {
            const ch = text[i];
            const code = this.getCode(ch);
            if (this.isASCII(code))
                this.unicodeTextBuilder.addText(ch);
            else
                this.appendUnicodeCompatibleCharCore(code, ch);
        }
        return this.unicodeTextBuilder.getText();
    }
    appendUnicodeCompatibleCharCore(code, ch) {
        const bytes = toUTF8Array(ch);
        this.unicodeTextBuilder.addText(`\\u${code}\\'${RtfBuilder.byteToHexString[bytes[0]]}`);
    }
    writePictureBytes(binString) {
        this.hexMode = true;
        this.rtfContent.addText(RtfExportSR.Space);
        this.rtfContent.addText(binString);
        this.hexMode = false;
    }
    writeByteArrayAsHex(bytes, offset = 0, length = bytes.length) {
        if (this.isPreviousWriteCommand)
            this.rtfContent.addText(RtfExportSR.Space);
        this.hexMode = true;
        const count = offset + length;
        for (let i = offset; i < count; i++) {
            this.rtfContent.addText((0,hexadecimal_converter/* byteToHex */.rP)(bytes[i]));
        }
        this.isPreviousWriteCommand = true;
        this.hexMode = false;
    }
    writeShapeColorProperty(propertyName, propertyValue) {
        this.writeShapeProperty(propertyName, this.getIntColorValue(propertyValue).toString());
    }
    getIntColorValue(color) {
        return utils_color/* ColorUtils */.i.getRed(color) | (utils_color/* ColorUtils */.i.getGreen(color) << 8) | (utils_color/* ColorUtils */.i.getBlue(color) << 16);
    }
    writeShapeProperty(propertyName, propertyValue) {
        this.openGroup();
        this.writeCommand(RtfExportSR.ShapeProperty);
        this.writeShapePropertyName(propertyName);
        this.writeShapePropertyValue(propertyValue);
        this.closeGroup();
    }
    writePCDATAShapeProperty(propertyName, propertyValue) {
        this.writeShapeProperty(propertyName, () => this.writePCData(propertyValue));
    }
    writePCData(text) {
        this.writeText(text, RtfBuilder.specialPCDataMarks);
    }
    writeShapePropertyName(propertyName) {
        this.openGroup();
        this.writeCommand(RtfExportSR.ShapePropertyName);
        this.writeTextDirect(propertyName);
        this.closeGroup();
    }
    writeShapePropertyValue(propertyValue) {
        this.openGroup();
        this.writeCommand(RtfExportSR.ShapePropertyValue);
        if (typeof propertyValue == "string")
            this.writeTextDirect(propertyValue, true);
        else
            propertyValue();
        this.closeGroup();
    }
    writeShapePropertyWithOptionalGroup(propertyName, propertyValue, optionalPropertyName, optionalPropertyValue) {
        this.openGroup();
        this.writeCommand(RtfExportSR.ShapeProperty);
        this.writeShapePropertyName(propertyName);
        this.writeShapePropertyValue(propertyValue);
        this.openGroup();
        this.writeCommand(this.createOptionalKeyword(optionalPropertyName) + " ");
        this.writeCommand(optionalPropertyValue);
        this.closeGroup();
        this.closeGroup();
    }
    writeShapeIntegerProperty(propertyName, propertyValue) {
        this.writeShapeProperty(propertyName, Math.round(propertyValue).toString());
    }
    writeShapeBoolProperty(propertyName, propertyValue) {
        this.writeShapeProperty(propertyName, (0,common.boolToString)(propertyValue));
    }
    increaseRowLength(delta) {
        this.rowLength += delta;
        if (this.rowLength >= this.rowLengthBound && this.hexMode) {
            this.rtfContent.addText(RtfExportSR.CLRF);
            this.isPreviousWriteCommand = false;
            this.rowLength = 0;
        }
    }
    getCode(ch) {
        const charCode = ch.charCodeAt(0);
        return charCode > 32767 ? charCode - 65536 : charCode;
    }
    writeDescription(nonVisualDrawingObjectInfo) {
        let result = '';
        if (!string.StringUtils.isNullOrEmpty(nonVisualDrawingObjectInfo.title)) {
            result += "Title: " + nonVisualDrawingObjectInfo.title;
            if (!string.StringUtils.isNullOrEmpty(nonVisualDrawingObjectInfo.description))
                result += " - Description: " + nonVisualDrawingObjectInfo.description;
        }
        else if (!string.StringUtils.isNullOrEmpty(nonVisualDrawingObjectInfo.description))
            result = nonVisualDrawingObjectInfo.description;
        if (!string.StringUtils.isNullOrEmpty(result))
            this.writeShapeProperty("wzDescription", result);
    }
}
RtfBuilder.specialMarks = CreateSpecialMarksTable();
RtfBuilder.byteToHexString = CreateByteToHexString();
RtfBuilder.specialPCDataMarks = CreateSpecialPCDataMarksTable(RtfBuilder.byteToHexString);
function CreateSpecialMarksTable() {
    const result = new map_creator/* MapCreator */.M()
        .add(Characters.EmSpace, "\\u8195\\'3f")
        .add(Characters.EnSpace, "\\u8194\\'3f")
        .add(Characters.Hyphen, "")
        .add(Characters.LineBreak, "\\line ")
        .add(Characters.PageBreak, "\\page ")
        .add(Characters.ColumnBreak, "\\column ")
        .add(Characters.QmSpace, "\\u8197\\'3f")
        .add(Characters.TabMark, "\\tab ")
        .get();
    return result;
}
function CreateSpecialPCDataMarksTable(byteToHexString) {
    const result = new map_creator/* MapCreator */.M().get();
    for (let i = 0; i < 31; i++) {
        AddHexToMarkTable(result, i.toString(), byteToHexString);
    }
    AddHexToMarkTable(result, '\\', byteToHexString);
    AddHexToMarkTable(result, '{', byteToHexString);
    AddHexToMarkTable(result, '}', byteToHexString);
    return result;
}
function AddHexToMarkTable(result, ch, byteToHexString) {
    result[ch] = "\'" + byteToHexString[ch];
}
function CreateByteToHexString() {
    const byteToHexString = [];
    for (var i = 0; i < 256; i++)
        byteToHexString[i] = i.toString(16);
    return byteToHexString;
}
function toUTF8Array(str) {
    var utf8 = [];
    for (var i = 0; i < str.length; i++) {
        var charcode = str.charCodeAt(i);
        if (charcode < 0x80)
            utf8.push(charcode);
        else if (charcode < 0x800) {
            utf8.push(0xc0 | (charcode >> 6), 0x80 | (charcode & 0x3f));
        }
        else if (charcode < 0xd800 || charcode >= 0xe000) {
            utf8.push(0xe0 | (charcode >> 12), 0x80 | ((charcode >> 6) & 0x3f), 0x80 | (charcode & 0x3f));
        }
        else {
            i++;
            charcode = 0x10000 + (((charcode & 0x3ff) << 10)
                | (str.charCodeAt(i) & 0x3ff));
            utf8.push(0xf0 | (charcode >> 18), 0x80 | ((charcode >> 12) & 0x3f), 0x80 | ((charcode >> 6) & 0x3f), 0x80 | (charcode & 0x3f));
        }
    }
    return utf8;
}

// EXTERNAL MODULE: ./src/common/formats/options.ts
var options = __webpack_require__(9906);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/rtf-document-exporter-options.ts

class RtfDocumentExporterOptions extends options/* DocumentExporterOptions */.o {
    constructor() {
        super();
        this.exportTheme = true;
        this.listExportFormat = RtfNumberingListExportFormat.RtfFormat;
        this.exportFinalParagraphMark = ExportFinalParagraphMark.Always;
        this.compatibility = new RtfDocumentExporterCompatibilityOptions();
        this.compatibility.backColorExportMode = RtfRunBackColorExportMode.Default;
        this.compatibility.duplicateObjectAsMetafile = false;
    }
}
class RtfDocumentExporterCompatibilityOptions {
}
var RtfNumberingListExportFormat;
(function (RtfNumberingListExportFormat) {
    RtfNumberingListExportFormat[RtfNumberingListExportFormat["PlainTextFormat"] = 0] = "PlainTextFormat";
    RtfNumberingListExportFormat[RtfNumberingListExportFormat["RtfFormat"] = 1] = "RtfFormat";
})(RtfNumberingListExportFormat || (RtfNumberingListExportFormat = {}));
var ExportFinalParagraphMark;
(function (ExportFinalParagraphMark) {
    ExportFinalParagraphMark[ExportFinalParagraphMark["Always"] = 0] = "Always";
    ExportFinalParagraphMark[ExportFinalParagraphMark["Never"] = 1] = "Never";
    ExportFinalParagraphMark[ExportFinalParagraphMark["SelectedOnly"] = 2] = "SelectedOnly";
})(ExportFinalParagraphMark || (ExportFinalParagraphMark = {}));
var RtfRunBackColorExportMode;
(function (RtfRunBackColorExportMode) {
    RtfRunBackColorExportMode[RtfRunBackColorExportMode["Default"] = 0] = "Default";
    RtfRunBackColorExportMode[RtfRunBackColorExportMode["Chcbpat"] = 1] = "Chcbpat";
    RtfRunBackColorExportMode[RtfRunBackColorExportMode["Highlight"] = 2] = "Highlight";
    RtfRunBackColorExportMode[RtfRunBackColorExportMode["Both"] = 3] = "Both";
})(RtfRunBackColorExportMode || (RtfRunBackColorExportMode = {}));
var DocumentPropertyNames;
(function (DocumentPropertyNames) {
    DocumentPropertyNames[DocumentPropertyNames["None"] = 0] = "None";
    DocumentPropertyNames[DocumentPropertyNames["Category"] = 1] = "Category";
    DocumentPropertyNames[DocumentPropertyNames["ContentStatus"] = 2] = "ContentStatus";
    DocumentPropertyNames[DocumentPropertyNames["ContentType"] = 4] = "ContentType";
    DocumentPropertyNames[DocumentPropertyNames["Created"] = 8] = "Created";
    DocumentPropertyNames[DocumentPropertyNames["Creator"] = 16] = "Creator";
    DocumentPropertyNames[DocumentPropertyNames["Description"] = 32] = "Description";
    DocumentPropertyNames[DocumentPropertyNames["Identifier"] = 64] = "Identifier";
    DocumentPropertyNames[DocumentPropertyNames["Keywords"] = 128] = "Keywords";
    DocumentPropertyNames[DocumentPropertyNames["Language"] = 256] = "Language";
    DocumentPropertyNames[DocumentPropertyNames["LastModifiedBy"] = 512] = "LastModifiedBy";
    DocumentPropertyNames[DocumentPropertyNames["LastPrinted"] = 1024] = "LastPrinted";
    DocumentPropertyNames[DocumentPropertyNames["Modified"] = 2048] = "Modified";
    DocumentPropertyNames[DocumentPropertyNames["Revision"] = 4096] = "Revision";
    DocumentPropertyNames[DocumentPropertyNames["Subject"] = 8192] = "Subject";
    DocumentPropertyNames[DocumentPropertyNames["Title"] = 16384] = "Title";
    DocumentPropertyNames[DocumentPropertyNames["Version"] = 32768] = "Version";
    DocumentPropertyNames[DocumentPropertyNames["BuiltinProperties"] = 65535] = "BuiltinProperties";
    DocumentPropertyNames[DocumentPropertyNames["CustomProperties"] = 983040] = "CustomProperties";
    DocumentPropertyNames[DocumentPropertyNames["All"] = 1048575] = "All";
})(DocumentPropertyNames || (DocumentPropertyNames = {}));

// EXTERNAL MODULE: ./src/common/formats/utils/extension-helper.ts
var extension_helper = __webpack_require__(992);
// EXTERNAL MODULE: ./src/common/formats/rtf/translation-table/rtf-drawing-keywords.ts
var rtf_drawing_keywords = __webpack_require__(2207);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.ts
var insert_picture_manipulator_params = __webpack_require__(4990);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/picture/rtf-picture-exporter.ts








class RtfPictureExporter {
    constructor(rtfBuilder, run, base64Uri) {
        this.rtfBuilder = rtfBuilder;
        this.base64Uri = base64Uri;
        this.run = run;
    }
    getPictureSize() {
        const width = class_unit_converter/* UnitConverter */.u.twipsToHundredthsOfMillimeter(this.run.size.originalSize.width);
        const height = class_unit_converter/* UnitConverter */.u.twipsToHundredthsOfMillimeter(this.run.size.originalSize.height);
        return new geometry_size.Size(width, height);
    }
    getImageBytesAsString() {
        const base64UriWithoutPrefix = extension_helper/* ExtensionHelper */.M.getBase64DataWithoutPrefix(this.base64Uri);
        return (0,hexadecimal_converter/* base64ToHex */.XB)(base64UriWithoutPrefix);
    }
    exportPicture(nonVisualDrawingProperties) {
        this.rtfBuilder.openGroup();
        this.writePictureHeader(nonVisualDrawingProperties);
        try {
            this.rtfBuilder.writePictureBytes(this.getImageBytesAsString());
        }
        finally {
            this.rtfBuilder.closeGroup();
        }
    }
    writePictureShapeProperties(rtfBuilder, nonVisualDrawingProperties) {
        if (this.run instanceof insert_picture_manipulator_params/* InlinePictureInfo */.AT) {
            rtfBuilder.openGroup();
            try {
                rtfBuilder.writeCommand(RtfExportSR.PictureProperties);
                if (!string.StringUtils.isNullOrEmpty(nonVisualDrawingProperties.name))
                    rtfBuilder.writeShapeProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Name, nonVisualDrawingProperties.name);
                rtfBuilder.writeDescription(nonVisualDrawingProperties);
            }
            finally {
                rtfBuilder.closeGroup();
            }
        }
    }
    writePictureHeader(nonVisualDrawingProperties) {
        const pirctureSize = this.getPictureSize();
        const originalSize = this.run.size.originalSize.clone();
        const pictureScale = this.run.size.scale.clone();
        while (originalSize.width > 0x7FFF || originalSize.height > 0x7FFF) {
            originalSize.width /= 2;
            originalSize.height /= 2;
            pictureScale.width *= 2;
            pictureScale.height *= 2;
            pirctureSize.width /= 2;
            pirctureSize.height /= 2;
        }
        this.rtfBuilder.writeCommand(RtfExportSR.Picture);
        this.writePictureShapeProperties(this.rtfBuilder, nonVisualDrawingProperties);
        this.rtfBuilder.writeCommand(this.getRtfPictureType());
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.PictureWidth, Math.max(pirctureSize.width, 1));
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.PictureHeight, Math.max(pirctureSize.height, 1));
        const roundedScaleWidth = Math.max(Math.round(pictureScale.width), 1);
        const roundedScaleHeight = Math.max(Math.round(pictureScale.height), 1);
        const desiredPictureWidth = originalSize.width / roundedScaleWidth * pictureScale.width - 0.5;
        const desiredPictureHeight = originalSize.height / roundedScaleHeight * pictureScale.height - 0.5;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.PictureDesiredWidth, Math.max(desiredPictureWidth, 1));
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.PictureDesiredHeight, Math.max(desiredPictureHeight, 1));
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.PictureScaleX, roundedScaleWidth);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.PictureScaleY, roundedScaleHeight);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/picture/rtf-jpeg-picture-exporter.ts


class RtfJpegPictureExporter extends RtfPictureExporter {
    getRtfPictureType() {
        return RtfExportSR.JpegPictureKeyword;
    }
    constructor(rtfBuilder, run, base64Uri) {
        super(rtfBuilder, run, base64Uri);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/picture/rtf-png-picture-exporter.ts


class RtfPngPictureExporter extends RtfPictureExporter {
    getRtfPictureType() {
        return RtfExportSR.PNGPictureKeyword;
    }
    constructor(rtfBuilder, run, base64Uri) {
        super(rtfBuilder, run, base64Uri);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/picture/rtf-picture-exporter-factory.ts



class RtfPictureExporterFactory {
    static createRtfPictureExporter(rtfBuilder, run, _imageCache) {
        const base64Uri = run.size.cacheInfo.base64;
        const contentType = extension_helper/* ExtensionHelper */.M.getMimeTypeFromBase64Uri(base64Uri);
        const extension = extension_helper/* ExtensionHelper */.M.convertMimeTypeToExtension(contentType);
        if (extension == 'jpeg')
            return new RtfJpegPictureExporter(rtfBuilder, run, base64Uri);
        else
            return new RtfPngPictureExporter(rtfBuilder, run, base64Uri);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/picture/rtf-picture-export-strategy.ts

class RtfPictureExportStrategy {
    export(rtfBuilder, run, imageCache, nonVisualDrawingProperties) {
        this.exportShapePicturePrefix(rtfBuilder);
        const exporter = RtfPictureExporterFactory.createRtfPictureExporter(rtfBuilder, run, imageCache);
        exporter.exportPicture(nonVisualDrawingProperties);
        this.exportShapePicturePostfix(rtfBuilder);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/picture/rtf-inline-picture-export-strategy.ts


class RtfInlinePictureExportStrategy extends RtfPictureExportStrategy {
    exportShapePicturePrefix(rtfBuilder) {
        rtfBuilder.openGroup();
        rtfBuilder.writeCommand(RtfExportSR.ShapePicture);
    }
    exportShapePicturePostfix(rtfBuilder) {
        rtfBuilder.closeGroup();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/picture/rtf-floating-object-picture-export-strategy.ts



class RtfFloatingObjectPictureExportStrategy extends RtfPictureExportStrategy {
    exportShapePicturePrefix(rtfBuilder) {
        rtfBuilder.openGroup();
        rtfBuilder.writeCommand(RtfExportSR.ShapeProperty);
        rtfBuilder.writeShapePropertyName(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PictureBinaryData);
        rtfBuilder.openGroup();
        rtfBuilder.writeCommand(RtfExportSR.ShapePropertyValue);
    }
    exportShapePicturePostfix(rtfBuilder) {
        rtfBuilder.closeGroup();
        rtfBuilder.closeGroup();
    }
}

// EXTERNAL MODULE: ./src/common/model/floating-objects/enums.ts
var floating_objects_enums = __webpack_require__(8927);
;// CONCATENATED MODULE: ./src/common/formats/rtf/utils/shape-utils.ts
class ShapeUtils {
    static shouldSwapSize(rtfAngle) {
        let angle = rtfAngle % (360 * 65536);
        if (angle < 0)
            angle += 360 * 65536;
        return ((angle >= 45 * 65536 && angle < 135 * 65536) || (angle >= 225 * 65536 && angle < 315 * 65536));
    }
}
ShapeUtils.distanceFromText = 114305;

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-anchored-run-exporter.ts









class RtfAnchoredRunExporter {
    constructor(rtfBuilder, anchorInfo, shape, size, nonVisualDrawingObjectInfo) {
        this.rtfBuilder = rtfBuilder;
        this.anchorInfo = anchorInfo;
        this.shape = shape;
        this.size = size;
        this.nonVisualDrawingObjectInfo = nonVisualDrawingObjectInfo;
    }
    getShapeHorizontalPositionType(horizontalPositionType) {
        switch (horizontalPositionType) {
            case floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Page:
                return RtfExportSR.ShapeLegacyHorizontalPositionTypePage;
            case floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Margin:
                return RtfExportSR.ShapeLegacyHorizontalPositionTypeMargin;
            case floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Column:
                return RtfExportSR.ShapeLegacyHorizontalPositionTypeColumn;
            default:
                return RtfExportSR.ShapeLegacyHorizontalPositionTypeMargin;
        }
    }
    getShapeVerticalPositionType(verticalPositionType) {
        switch (verticalPositionType) {
            case floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Page:
                return RtfExportSR.ShapeLegacyVerticalPositionTypePage;
            case floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Margin:
                return RtfExportSR.ShapeLegacyVerticalPositionTypeMargin;
            case floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Paragraph:
                return RtfExportSR.ShapeLegacyVerticalPositionTypeParagraph;
            default:
                return RtfExportSR.ShapeLegacyVerticalPositionTypeParagraph;
        }
    }
    exportFloatingObjectHorizontalPositionType(horizontalPositionType) {
        this.rtfBuilder.writeCommand(this.getShapeHorizontalPositionType(horizontalPositionType));
        this.rtfBuilder.writeCommand(RtfExportSR.ShapeIgnoreLegacyHorizontalPositionType);
    }
    exportFloatingObjectVerticalPositionType(verticalPositionType) {
        this.rtfBuilder.writeCommand(this.getShapeVerticalPositionType(verticalPositionType));
        this.rtfBuilder.writeCommand(RtfExportSR.ShapeIgnoreLegacyVerticalPositionType);
    }
    exportShapeInstanceProperties() {
        let offsetX = this.anchorInfo.offset.x;
        let offsetY = this.anchorInfo.offset.y;
        const rtfRoation = class_unit_converter/* UnitConverter */.u.twipsToFD(this.size.rotation);
        let width = this.getWidth();
        let height = this.getHeight();
        if (ShapeUtils.shouldSwapSize(rtfRoation)) {
            const temp = width;
            width = height;
            height = temp;
            offsetX += width;
            offsetY -= width;
        }
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ShapeLeft, offsetX);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ShapeTop, offsetY);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ShapeRight, offsetX + width);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ShapeBottom, offsetY + height);
        this.rtfBuilder.writeShapeIntegerProperty("lineWidth", class_unit_converter/* UnitConverter */.u.twipsToEmu(this.shape.outlineWidth));
        this.exportFloatingObjectTextWrapType(this.anchorInfo.wrapType, this.anchorInfo.isBehindDoc);
        this.exportFloatingObjectHorizontalPositionType(this.anchorInfo.horizontalPositionType);
        this.exportFloatingObjectVerticalPositionType(this.anchorInfo.verticalPositionType);
        if (this.anchorInfo.zOrder != 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ShapeZOrder, this.anchorInfo.zOrder);
        if (this.anchorInfo.wrapSide)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ShapeWrapTextSide, rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectTextWrapSideTable[this.anchorInfo.wrapSide]);
        if (this.anchorInfo.locked == true)
            this.rtfBuilder.writeCommand(RtfExportSR.ShapeLocked);
    }
    exportFloatingObjectTextWrapType(textWrapType, isBehindDoc) {
        if (textWrapType == floating_objects_enums/* AnchorObjectTextWrapType */.vX.None) {
            this.rtfBuilder.writeCommand(RtfExportSR.ShapeWrapTextType, "3");
            this.rtfBuilder.writeCommand(RtfExportSR.ShapeWrapTextTypeZOrder, (0,common.boolToString)(isBehindDoc));
        }
        else
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ShapeWrapTextType, rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectTextWrapTypeTable[textWrapType]);
    }
    exportFloatingObjectShape() {
        if (this.size.rotation)
            this.rtfBuilder.writeShapeIntegerProperty("rotation", class_unit_converter/* UnitConverter */.u.twipsToFD(this.size.rotation));
        this.rtfBuilder.writeShapeBoolProperty("fLine", !dx_color/* DXColor */.F.isTransparentOrEmptyorNoColor(this.shape.outlineColor));
        if (this.shape.outlineColor != color_color/* ColorHelper */.v.NO_COLOR && this.shape.outlineWidth > 0) {
            this.rtfBuilder.writeShapeIntegerProperty("lineWidth", class_unit_converter/* UnitConverter */.u.twipsToEmu(this.shape.outlineWidth));
            if (this.shape.outlineColor && !dx_color/* DXColor */.F.isTransparentOrEmpty(this.shape.outlineColor))
                this.rtfBuilder.writeShapeColorProperty("lineColor", this.shape.outlineColor);
        }
        const fillColor = this.shape.fillColor;
        if (fillColor && !dx_color/* DXColor */.F.isTransparentOrEmpty(fillColor) && fillColor != color_color/* ColorHelper */.v.NO_COLOR) {
            this.rtfBuilder.writeShapeBoolProperty("fFilled", true);
            this.rtfBuilder.writeShapeColorProperty("fillColor", fillColor);
        }
        else
            this.rtfBuilder.writeShapeBoolProperty("fFilled", false);
    }
    exportFloatingObjectRelativeSize() {
        const percentOffset = this.anchorInfo.percentOffset;
        if (percentOffset.x != 0)
            this.rtfBuilder.writeShapeIntegerProperty("pctHorizPos", percentOffset.x / 100);
        if (percentOffset.y != 0)
            this.rtfBuilder.writeShapeIntegerProperty("pctVertPos", percentOffset.y / 100);
    }
    export() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.Shape);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ShapeInstance);
        this.exportShapeInstanceProperties();
        this.exportFloatingObjectShape();
        if (this.anchorInfo.horizontalPositionAlignment)
            this.rtfBuilder.writeShapeIntegerProperty("posh", rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectHorizontalPositionAlignmentTable[this.anchorInfo.horizontalPositionAlignment]);
        this.rtfBuilder.writeShapeIntegerProperty("posrelh", rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectHorizontalPositionTypeTable[this.anchorInfo.horizontalPositionType]);
        if (this.anchorInfo.verticalPositionAlignment)
            this.rtfBuilder.writeShapeIntegerProperty("posv", rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectVerticalPositionAlignmentTable[this.anchorInfo.verticalPositionAlignment]);
        this.rtfBuilder.writeShapeIntegerProperty("posrelv", rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectVerticalPositionTypeTable[this.anchorInfo.verticalPositionType]);
        this.rtfBuilder.writeShapeBoolProperty("fLayoutInCell", this.anchorInfo.layoutTableCell);
        this.rtfBuilder.writeShapeBoolProperty("fAllowOverlap", this.anchorInfo.allowOverlap);
        this.rtfBuilder.writeShapeBoolProperty("fLockAspectRatio", this.size.lockAspectRatio);
        this.rtfBuilder.writeShapeBoolProperty("fHidden", this.anchorInfo.hidden);
        this.rtfBuilder.writeShapeBoolProperty("fBehindDocument", this.anchorInfo.isBehindDoc);
        const leftDistance = class_unit_converter/* UnitConverter */.u.twipsToEmu(this.anchorInfo.leftDistance);
        if (leftDistance != ShapeUtils.distanceFromText)
            this.rtfBuilder.writeShapeIntegerProperty("dxWrapDistLeft", leftDistance);
        const rightDistance = class_unit_converter/* UnitConverter */.u.twipsToEmu(this.anchorInfo.rightDistance);
        if (rightDistance != ShapeUtils.distanceFromText)
            this.rtfBuilder.writeShapeIntegerProperty("dxWrapDistRight", rightDistance);
        this.rtfBuilder.writeShapeIntegerProperty("dyWrapDistTop", class_unit_converter/* UnitConverter */.u.twipsToEmu(this.anchorInfo.topDistance));
        this.rtfBuilder.writeShapeIntegerProperty("dyWrapDistBottom", class_unit_converter/* UnitConverter */.u.twipsToEmu(this.anchorInfo.bottomDistance));
        this.exportFloatingObjectRelativeSize();
        if (!string.StringUtils.isNullOrEmpty(this.nonVisualDrawingObjectInfo.name))
            this.rtfBuilder.writeShapeProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Name, this.nonVisualDrawingObjectInfo.name);
        this.rtfBuilder.writeDescription(this.nonVisualDrawingObjectInfo);
        this.exportContent();
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.closeGroup();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-anchored-picture-run-exporter.ts


class RtfAnchoredPictureRunExporter extends RtfAnchoredRunExporter {
    getWidth() {
        return this.size.actualSize.width;
    }
    getHeight() {
        return this.size.actualSize.height;
    }
    constructor(rtfBuilder, pictureRun, imageCache) {
        super(rtfBuilder, pictureRun.anchorInfo, pictureRun.shape, pictureRun.size, pictureRun.info.containerProperties);
        this.pictureRun = pictureRun;
        this.imageCache = imageCache;
    }
    exportContent() {
        const exportStrategy = new RtfFloatingObjectPictureExportStrategy();
        exportStrategy.export(this.rtfBuilder, this.pictureRun.info, this.imageCache, this.pictureRun.info.containerProperties);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-anchored-text-box-run-exporter.ts





class RtfAnchoredTextBoxRunExporter extends RtfAnchoredRunExporter {
    constructor(rtfBuilder, textBoxRun, exportTextBoxContent) {
        super(rtfBuilder, textBoxRun.anchorInfo, textBoxRun.shape, textBoxRun.size, textBoxRun.containerProperties);
        this.textBoxRun = textBoxRun;
        this.exportTextBoxContent = exportTextBoxContent;
    }
    getWidth() {
        return this.textBoxRun.size.absoluteSize.width;
    }
    getHeight() {
        return this.textBoxRun.size.absoluteSize.height;
    }
    exportContent() {
        this.exportTextBoxProperties(this.textBoxRun.textBoxProperties);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ShapeText);
        this.exportTextBoxContent();
        this.rtfBuilder.closeGroup();
    }
    exportTextBoxProperties(properties) {
        if ((0,common.isDefined)(properties.leftMargin))
            this.rtfBuilder.writeShapeIntegerProperty("dxTextLeft", class_unit_converter/* UnitConverter */.u.twipsToEmu(properties.leftMargin));
        if ((0,common.isDefined)(properties.rightMargin))
            this.rtfBuilder.writeShapeIntegerProperty("dxTextRight", class_unit_converter/* UnitConverter */.u.twipsToEmu(properties.rightMargin));
        if ((0,common.isDefined)(properties.topMargin))
            this.rtfBuilder.writeShapeIntegerProperty("dyTextTop", class_unit_converter/* UnitConverter */.u.twipsToEmu(properties.topMargin));
        if ((0,common.isDefined)(properties.bottomMargin))
            this.rtfBuilder.writeShapeIntegerProperty("dyTextBottom", class_unit_converter/* UnitConverter */.u.twipsToEmu(properties.bottomMargin));
        if ((0,common.isDefined)(properties.resizeShapeToFitText))
            this.rtfBuilder.writeShapeBoolProperty("fFitShapeToText", properties.resizeShapeToFitText);
        if ((0,common.isDefined)(properties.wrapText) && properties.wrapText == false)
            this.rtfBuilder.writeShapeIntegerProperty("WrapText", 2);
    }
    exportFloatingObjectRelativeSize() {
        const textBoxSize = this.textBoxRun.size;
        if (!textBoxSize.useAbsoluteWidth()) {
            this.rtfBuilder.writeShapeIntegerProperty("sizerelh", rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectRelativeWidthTypeTable[textBoxSize.relativeWidthType]);
            this.rtfBuilder.writeShapeIntegerProperty("pctHoriz", textBoxSize.relativeSize.width / 100);
        }
        if (!textBoxSize.useAbsoluteHeight()) {
            this.rtfBuilder.writeShapeIntegerProperty("sizerelv", rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectRelativeHeightTypeTable[textBoxSize.relativeHeightType]);
            this.rtfBuilder.writeShapeIntegerProperty("pctVert", textBoxSize.relativeSize.height / 100);
        }
        super.exportFloatingObjectRelativeSize();
    }
}

// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/color-model-info-cache.ts
var color_model_info_cache = __webpack_require__(9081);
// EXTERNAL MODULE: ./src/common/model/character/character-style.ts
var character_style = __webpack_require__(9915);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/string.js
var map_string = __webpack_require__(2866);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-pattern-helper.ts
var shading_pattern_helper = __webpack_require__(5989);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/helpers/rtf-shading-info-export-helper.ts



class RtfShadingInfoExportHelper {
    static exportShadingPattern(rtfBuilder, colorProvider, info, command) {
        const shadingPatternValue = shading_pattern_helper/* ShadingHelper */.k.calculateShadingPatternValue(info.shadingPattern);
        if (shadingPatternValue >= 0) {
            if (dx_color/* DXColor */.F.isTransparentOrEmpty(info.backColor.toRgb(colorProvider)) && color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(info.foreColor) && shadingPatternValue == 0)
                return;
            rtfBuilder.writeIntegerCommand(command, shadingPatternValue * 10);
        }
    }
    static exportShadingForeColorIndex(rtfBuilder, helper, colorProvider, info, command) {
        if (!color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(info.foreColor)) {
            RtfShadingInfoExportHelper.exportShadingColorIndexCore(rtfBuilder, helper, colorProvider, info.foreColor, command);
        }
    }
    static exportShadingBackColorIndex(rtfBuilder, helper, colorProvider, info, command) {
        if (!color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(info.backColor))
            RtfShadingInfoExportHelper.exportShadingColorIndexCore(rtfBuilder, helper, colorProvider, info.backColor, command);
    }
    static exportShadingColorIndexCore(rtfBuilder, helper, colorProvider, color, command) {
        if (color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(color) || dx_color/* DXColor */.F.isTransparentOrEmpty(color.toRgb(colorProvider)))
            return;
        const rtfColorIndex = helper.getColorIndex(color);
        rtfBuilder.writeIntegerCommand(command, rtfColorIndex);
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-properties-exporter.ts






class RtfPropertiesExporter {
    constructor(documentModel, rtfExportHelper, rtfBuilder) {
        this.documentModel = documentModel;
        this.rtfExportHelper = rtfExportHelper;
        this.rtfBuilder = rtfBuilder;
    }
    writeBoolCommand(command, value) {
        if (value)
            this.rtfBuilder.writeCommand(command);
        else
            this.rtfBuilder.writeIntegerCommand(command, 0);
    }
    writeBorderProperties(border) {
        const defaultBorder = this.documentModel.defaultTableCellProperties.borders.bottom;
        this.writeBorderStyle(border.style);
        if (border.style == borders_enums/* BorderLineStyle */.u.Nil)
            return;
        this.writeBorderWidth(border.width, defaultBorder.width);
        if (border.offset != defaultBorder.offset)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.BorderSpace, border.offset);
        if (!defaultBorder.color.equals(border.color) && !color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(border.color)) {
            const colorIndex = this.rtfExportHelper.getColorIndex(border.color);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.BorderColor, colorIndex);
        }
        if (border.frame != defaultBorder.frame)
            this.rtfBuilder.writeCommand(RtfExportSR.BorderFrame);
        if (border.shadow != defaultBorder.shadow)
            this.rtfBuilder.writeCommand(RtfExportSR.BorderShadow);
    }
    writeBorderWidth(value, defaultValue) {
        if (value == defaultValue)
            return;
        if (value > 255) {
            value = Math.min((value / 2), 255);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.BorderWidth, value);
            this.rtfBuilder.writeCommand(RtfExportSR.BorderDoubleWidth);
        }
        else
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.BorderWidth, value);
    }
    writeBorderStyle(value) {
        if (value != borders_enums/* BorderLineStyle */.u.Single) {
            let borderCommand = RtfContentExporter.borderLineStyles[value];
            if (borderCommand)
                this.rtfBuilder.writeCommand(borderCommand);
            else {
            }
        }
        else
            this.rtfBuilder.writeCommand(RtfExportSR.BorderSingleWidth);
    }
    writeWidthUnit(unit, typeKeyword, valueKeyword, writeValueAnyway = false) {
        const defaultWidthUnit = table_units/* TableWidthUnit */.CT.createDefault();
        if (unit.type != defaultWidthUnit.type) {
            let val = unit.value;
            switch (unit.type) {
                case table_units/* TableWidthUnitType */.HO.ModelUnits:
                    this.rtfBuilder.writeIntegerCommand(typeKeyword, table_units/* TableWidthUnitType */.HO.ModelUnits);
                    break;
                case table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent:
                    this.rtfBuilder.writeIntegerCommand(typeKeyword, table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent);
                    break;
                case table_units/* TableWidthUnitType */.HO.Auto:
                    this.rtfBuilder.writeIntegerCommand(typeKeyword, table_units/* TableWidthUnitType */.HO.Auto);
                    break;
                case table_units/* TableWidthUnitType */.HO.Nil:
                    this.rtfBuilder.writeIntegerCommand(typeKeyword, table_units/* TableWidthUnitType */.HO.Nil);
                    break;
                default:
                    throw new Error(errors/* Errors */.D.InternalException);
            }
            if (unit.value != defaultWidthUnit.value || writeValueAnyway)
                this.rtfBuilder.writeIntegerCommand(valueKeyword, val);
        }
    }
    writeWidthUnitInTwips(unit, typeKeyword, valueKeyword) {
        const defaultWidthUnit = table_units/* TableWidthUnit */.CT.createDefault();
        if (unit.type != defaultWidthUnit.type) {
            switch (unit.type) {
                case table_units/* TableWidthUnitType */.HO.ModelUnits:
                    this.rtfBuilder.writeIntegerCommand(typeKeyword, table_units/* TableWidthUnitType */.HO.ModelUnits);
                    break;
                case table_units/* TableWidthUnitType */.HO.Nil:
                    this.rtfBuilder.writeIntegerCommand(typeKeyword, table_units/* TableWidthUnitType */.HO.Nil);
                    break;
                default:
                    throw new Error(errors/* Errors */.D.InternalException);
                    break;
            }
            if (unit.value != defaultWidthUnit.value)
                this.rtfBuilder.writeIntegerCommand(valueKeyword, unit.value);
        }
    }
    shouldExportCellMargin(marginUnit) {
        return marginUnit.type != table_units/* TableWidthUnitType */.HO.Nil || marginUnit.value != 0;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-character-properties-exporter.ts











class RtfCharacterPropertiesExporter extends RtfPropertiesExporter {
    constructor(documentModel, rtfExportHelper, rtfBuilder, options) {
        super(documentModel, rtfExportHelper, rtfBuilder);
        this.emptyColorIndex = -1;
        this.defaultRtfFontSize = 24;
        this.options = options;
    }
    exportCharacterStyle(characterStyle, paragraphStyle) {
        if (this.shouldWriteRunCharacterStyle(characterStyle, paragraphStyle))
            this.writeCharacterStyle(characterStyle);
    }
    shouldWriteRunCharacterStyle(characterStyle, paragraphStyle) {
        if (characterStyle.styleName == character_style/* CharacterStyle */.H.defaultParagraphCharacterStyleName)
            return false;
        if (paragraphStyle.styleName == paragraph_style/* ParagraphStyle */.PO.normalStyleName)
            return true;
        if (paragraphStyle.linkedStyle && paragraphStyle.linkedStyle == characterStyle)
            return false;
        else
            return true;
    }
    writeCharacterStyle(characterStyle) {
        const styleCollection = this.rtfExportHelper.characterStylesCollectionIndex;
        const styleName = characterStyle.styleName;
        if (map_string.StringMapUtils.containsBy(styleCollection, (_val, key) => key == styleName))
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.CharacterStyleIndex, styleCollection[styleName]);
    }
    exportCharacterProperties(characterProperties, checkDefaultColor = false, suppressExportFontSize = false, suppressExportFontName = false) {
        this.exportCharacterPropertiesCore(characterProperties, suppressExportFontSize, suppressExportFontName);
        const info = characterProperties;
        this.writeForegroundColor(info.textColor, checkDefaultColor);
        if (this.options.compatibility.backColorExportMode == RtfRunBackColorExportMode.Default) {
            if (!color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(info.highlightColor))
                this.writeHighlightColor(info.highlightColor);
            this.writeRunShading(info.shadingInfo);
        }
        else {
            const colorIndex = this.calculateColorIndex(info);
            if (colorIndex != this.emptyColorIndex)
                this.writeBackgroundColor(colorIndex, this.options.compatibility.backColorExportMode);
        }
        if (!color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(info.underlineColor))
            this.writeUnderlineColor(info.underlineColor);
    }
    exportCharacterPropertiesCore(characterProperties, suppressExportFontSize, suppressExportFontName) {
        if (characterProperties.noProof)
            this.rtfBuilder.writeCommand(RtfExportSR.NoProof);
        if (characterProperties.allCaps)
            this.rtfBuilder.writeCommand(RtfExportSR.AllCapitals);
        if (characterProperties.smallCaps)
            this.rtfBuilder.writeCommand(RtfExportSR.SmallCapitals);
        if (characterProperties.hidden)
            this.rtfBuilder.writeCommand(RtfExportSR.HiddenText);
        if (characterProperties.fontBold)
            this.rtfBuilder.writeCommand(RtfExportSR.FontBold);
        if (characterProperties.fontItalic)
            this.rtfBuilder.writeCommand(RtfExportSR.FontItalic);
        if (characterProperties.fontStrikeoutType != enums/* StrikeoutType */.GO.None)
            this.rtfBuilder.writeCommand(characterProperties.fontStrikeoutType == enums/* StrikeoutType */.GO.Single ? RtfExportSR.FontStrikeout : RtfExportSR.FontDoubleStrikeout);
        if (characterProperties.script != enums/* CharacterFormattingScript */.Vg.Normal)
            this.rtfBuilder.writeCommand(characterProperties.script == enums/* CharacterFormattingScript */.Vg.Subscript ? RtfExportSR.RunSubScript : RtfExportSR.RunSuperScript);
        if (characterProperties.underlineWordsOnly && characterProperties.fontUnderlineType == enums/* UnderlineType */.Xq.Single) {
            this.rtfBuilder.writeCommand(RtfExportSR.FontUnderlineWordsOnly);
        }
        else {
            if (characterProperties.fontUnderlineType != enums/* UnderlineType */.Xq.None)
                this.writeFontUnderline(characterProperties.fontUnderlineType);
        }
        if (!suppressExportFontName && characterProperties.fontInfo) {
            const fontNameIndex = this.writeFontName(characterProperties.fontInfo.name);
            if (fontNameIndex >= 0)
                this.registerFontCharset(characterProperties, fontNameIndex);
        }
        if (!suppressExportFontSize && characterProperties.fontSize)
            this.writeFontSize(characterProperties.fontSize * 2);
    }
    exportParagraphCharacterProperties(characterProperties) {
        this.exportCharacterPropertiesCore(characterProperties, false, false);
        this.writeForegroundColor(characterProperties.textColor);
    }
    registerFontCharset(_characterProperties, _fontNameIndex) {
    }
    writeFontUnderline(underlineType) {
        if (underlineType == enums/* UnderlineType */.Xq.None)
            return;
        let keyword = RtfCharacterPropertiesExporter.defaultUnderlineTypes[underlineType];
        if (!keyword || keyword == null || keyword.length == 0)
            keyword = RtfCharacterPropertiesExporter.defaultUnderlineTypes[enums/* UnderlineType */.Xq.Single];
        this.rtfBuilder.writeCommand(keyword);
    }
    writeFontName(fontName) {
        let fontNameIndex = this.rtfExportHelper.getFontNameIndex(fontName);
        if (fontNameIndex == this.rtfExportHelper.defaultFontIndex)
            return -1;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.FontNumber, fontNameIndex);
        return fontNameIndex;
    }
    writeFontSize(rtfFontSize) {
        if (rtfFontSize == this.defaultRtfFontSize)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.FontSize, rtfFontSize);
    }
    calculateColorIndex(info) {
        if (!color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(info.highlightColor))
            return this.rtfExportHelper.getColorIndex(info.highlightColor);
        const backColor = info.shadingInfo.backColor;
        if (!color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(backColor)) {
            const color = info.shadingInfo.backColor.toRgb(this.documentModel.colorProvider);
            if (!dx_color/* DXColor */.F.isTransparentOrEmpty(color))
                return this.rtfExportHelper.getColorIndex(backColor);
        }
        return this.emptyColorIndex;
    }
    writeBackgroundColor(colorIndex, mode) {
        if (mode == RtfRunBackColorExportMode.Chcbpat)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.RunBackgroundColor, colorIndex);
        else if (mode == RtfRunBackColorExportMode.Highlight)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.RunHighlightColor, colorIndex);
        else {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.RunHighlightColor, colorIndex);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.RunBackgroundColor, colorIndex);
        }
    }
    writeRunShading(shadingInfo) {
        RtfShadingInfoExportHelper.exportShadingPattern(this.rtfBuilder, this.documentModel.colorProvider, shadingInfo, RtfExportSR.RunShadingPattern);
        const shadingPatternKeyword = RtfExportSR.RunShadingPatternTable[shadingInfo.shadingPattern];
        if (shadingPatternKeyword)
            this.rtfBuilder.writeCommand(shadingPatternKeyword);
        RtfShadingInfoExportHelper.exportShadingForeColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, RtfExportSR.RunFillColor);
        RtfShadingInfoExportHelper.exportShadingBackColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, RtfExportSR.RunBackgroundColor);
    }
    writeForegroundColor(foreColor, checkDefaultColor = false) {
        const colorIndex = this.rtfExportHelper.getColorIndex(foreColor);
        if (!checkDefaultColor || !color_model_info_cache/* ColorModelInfoCache */.N.defaultItem.equals(foreColor))
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.RunForegroundColor, colorIndex);
    }
    writeHighlightColor(highlightColor) {
        const colorIndex = this.rtfExportHelper.getColorIndex(highlightColor);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.RunHighlightColor, colorIndex);
    }
    writeUnderlineColor(underlineColor) {
        const colorIndex = this.rtfExportHelper.getColorIndex(underlineColor);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.RunUnderlineColor, colorIndex);
    }
}
RtfCharacterPropertiesExporter.defaultUnderlineTypes = createUnderlineTypesTable();
function createUnderlineTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(enums/* UnderlineType */.Xq.None, "")
        .add(enums/* UnderlineType */.Xq.Single, RtfExportSR.FontUnderline)
        .add(enums/* UnderlineType */.Xq.Dotted, RtfExportSR.FontUnderlineDotted)
        .add(enums/* UnderlineType */.Xq.Dashed, RtfExportSR.FontUnderlineDashed)
        .add(enums/* UnderlineType */.Xq.DashDotted, RtfExportSR.FontUnderlineDashDotted)
        .add(enums/* UnderlineType */.Xq.DashDotDotted, RtfExportSR.FontUnderlineDashDotDotted)
        .add(enums/* UnderlineType */.Xq.Double, RtfExportSR.FontUnderlineDouble)
        .add(enums/* UnderlineType */.Xq.HeavyWave, RtfExportSR.FontUnderlineHeavyWave)
        .add(enums/* UnderlineType */.Xq.LongDashed, RtfExportSR.FontUnderlineLongDashed)
        .add(enums/* UnderlineType */.Xq.ThickSingle, RtfExportSR.FontUnderlineThickSingle)
        .add(enums/* UnderlineType */.Xq.ThickDotted, RtfExportSR.FontUnderlineThickDotted)
        .add(enums/* UnderlineType */.Xq.ThickDashed, RtfExportSR.FontUnderlineThickDashed)
        .add(enums/* UnderlineType */.Xq.ThickDashDotted, RtfExportSR.FontUnderlineThickDashDotted)
        .add(enums/* UnderlineType */.Xq.ThickDashDotDotted, RtfExportSR.FontUnderlineThickDashDotDotted)
        .add(enums/* UnderlineType */.Xq.ThickLongDashed, RtfExportSR.FontUnderlineThickLongDashed)
        .add(enums/* UnderlineType */.Xq.DoubleWave, RtfExportSR.FontUnderlineDoubleWave)
        .add(enums/* UnderlineType */.Xq.Wave, RtfExportSR.FontUnderlineWave)
        .get();
}

// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level.ts
var list_level = __webpack_require__(2411);
// EXTERNAL MODULE: ./src/common/formats/rtf/utils/numbering-formats.ts
var numbering_formats = __webpack_require__(7084);
// EXTERNAL MODULE: ./src/common/formats/utils/numbering-list-index-constants.ts
var numbering_list_index_constants = __webpack_require__(3610);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-tab-space-box.ts
var layout_tab_space_box = __webpack_require__(374);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list.ts
var numbering_list = __webpack_require__(3231);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-paragraph-properties-exporter.ts











class RtfParagraphPropertiesExporter extends RtfPropertiesExporter {
    constructor() {
        super(...arguments);
        this.defaultParagraphFirstLineIndent = 0;
        this.defaultParagraphLeftIndent = 0;
        this.defaultParagraphRightIndent = 0;
        this.defaultSuppressHyphenation = false;
        this.defaultPageBreakBefore = false;
        this.defaultBeforeAutoSpacing = false;
        this.defaultAfterAutoSpacing = false;
        this.defaultKeepWithNext = false;
        this.defaultKeepLinesTogether = false;
        this.defaultWidowOrphanControl = true;
        this.doubleIntervalRtfLineSpacingValue = 480;
        this.sesquialteralIntervalRtfLineSpacingValue = 360;
        this.singleIntervalRtfLineSpacingValue = 240;
        this.atLeastLineSpacingMultiple = 0;
        this.exactlyLineSpacingMultiple = 0;
        this.multipleLineSpacing = 1;
        this.defaultParagraphSpacingBefore = 0;
        this.defaultParagraphSpacingAfter = 0;
    }
    exportParagraphProperties(paragraph, tableNestingLevel) {
        if (paragraph.isInList())
            this.exportParagraphNumberingProperties(paragraph);
        if (paragraph.paragraphStyle && paragraph.paragraphStyle.styleName != paragraph_style/* ParagraphStyle */.PO.normalStyleName)
            this.writeParagraphStyle(paragraph.paragraphStyle);
        const properties = paragraph.getParagraphMergedProperties();
        if (properties.topBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.topBorder, RtfExportSR.TopParagraphBorder);
        if (properties.leftBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.leftBorder, RtfExportSR.LeftParagraphBorder);
        if (properties.bottomBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.bottomBorder, RtfExportSR.BottomParagraphBorder);
        if (properties.rightBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.rightBorder, RtfExportSR.RightParagraphBorder);
        if (properties.betweenBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.betweenBorder, RtfExportSR.BetweenParagraphBorder);
        this.writeParagraphAlignment(this.getActualAlignment(properties));
        this.writeParagraphTableProperties(paragraph, tableNestingLevel);
        this.writeParagraphGroupPropertiesId(paragraph);
        this.writeParagraphIndents(paragraph.getParagraphMergedProperties());
        this.writeParagraphSuppressHyphenation(properties.suppressHyphenation);
        this.writeParagraphSuppressLineNumbers(properties.suppressLineNumbers);
        this.writeParagraphContextualSpacing(properties.contextualSpacing);
        this.writeParagraphPageBreakBefore(properties.pageBreakBefore);
        this.writeParagraphBeforeAutoSpacing(properties.beforeAutoSpacing);
        this.writeParagraphAfterAutoSpacing(properties.afterAutoSpacing);
        this.writeParagraphKeepWithNext(properties.keepWithNext);
        this.writeParagraphKeepLinesTogether(properties.keepLinesTogether);
        this.writeParagraphWidowOrphanControl(properties.widowOrphanControl);
        this.writeParagraphOutlineLevel(properties.outlineLevel);
        this.writeParagraphShading(properties.shadingInfo);
        this.writeParagraphLineSpacing(properties.lineSpacingType, properties.lineSpacing);
        this.writeParagraphSpacingBefore(properties.spacingBefore);
        this.writeParagraphSpacingAfter(properties.spacingAfter);
        this.writeTabs(paragraph.tabs);
    }
    exportParagraphPropertiesCore(properties, checkDefaultAlignment = false) {
        if (properties.topBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.topBorder, RtfExportSR.TopParagraphBorder);
        if (properties.leftBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.leftBorder, RtfExportSR.LeftParagraphBorder);
        if (properties.bottomBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.bottomBorder, RtfExportSR.BottomParagraphBorder);
        if (properties.rightBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.rightBorder, RtfExportSR.RightParagraphBorder);
        if (properties.betweenBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.writeParagraphBorder(properties.betweenBorder, RtfExportSR.BetweenParagraphBorder);
        if (!checkDefaultAlignment || !this.isDefaultAlignment(properties))
            this.writeParagraphAlignment(this.getActualAlignment(properties));
        this.writeParagraphIndents(properties);
        this.writeParagraphSuppressHyphenation(properties.suppressHyphenation);
        this.writeParagraphSuppressLineNumbers(properties.suppressLineNumbers);
        this.writeParagraphContextualSpacing(properties.contextualSpacing);
        this.writeParagraphPageBreakBefore(properties.pageBreakBefore);
        this.writeParagraphBeforeAutoSpacing(properties.beforeAutoSpacing);
        this.writeParagraphAfterAutoSpacing(properties.afterAutoSpacing);
        this.writeParagraphKeepWithNext(properties.keepWithNext);
        this.writeParagraphKeepLinesTogether(properties.keepLinesTogether);
        this.writeParagraphWidowOrphanControl(properties.widowOrphanControl);
        this.writeParagraphOutlineLevel(properties.outlineLevel);
        this.writeParagraphShading(properties.shadingInfo);
        this.writeParagraphLineSpacing(properties.lineSpacingType, properties.lineSpacing);
        this.writeParagraphSpacingBefore(properties.spacingBefore);
        this.writeParagraphSpacingAfter(properties.spacingAfter);
    }
    isDefaultAlignment(properties) {
        if (properties.rightToLeft)
            return properties.alignment == paragraph_properties/* ParagraphAlignment */.wq.Right;
        else
            return properties.alignment == paragraph_properties/* ParagraphAlignment */.wq.Left;
    }
    getActualAlignment(properties) {
        if (properties.rightToLeft) {
            if (properties.alignment == paragraph_properties/* ParagraphAlignment */.wq.Left)
                return paragraph_properties/* ParagraphAlignment */.wq.Right;
            if (properties.alignment == paragraph_properties/* ParagraphAlignment */.wq.Right)
                return paragraph_properties/* ParagraphAlignment */.wq.Left;
        }
        return properties.alignment;
    }
    exportParagraphNumberingProperties(paragraph) {
        if (!this.shouldExportParagraphNumbering(paragraph.numberingListIndex, paragraph.listLevelIndex))
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.LevelIndex, paragraph.getListLevelIndex());
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListIndex, this.documentModel.numberingLists[paragraph.getNumberingListIndex()].getId());
    }
    shouldExportParagraphNumbering(numberingListId, listLevelIndex = 1) {
        return numberingListId == numbering_list/* NumberingList */.K6.NoNumberingListIndex ||
            numberingListId >= numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue || listLevelIndex > 0;
    }
    writeParagraphStyle(paragraphStyle) {
        const styleName = paragraphStyle.styleName;
        const styleCollection = this.rtfExportHelper.paragraphStylesCollectionIndex;
        if (map_string.StringMapUtils.containsBy(styleCollection, (_val, key) => key == styleName))
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParagraphStyle, styleCollection[styleName]);
    }
    writeParagraphBorder(topBorder, command) {
        const defaultBorder = this.documentModel.defaultTableProperties.borders.top;
        if (!defaultBorder.equals(topBorder)) {
            this.rtfBuilder.writeCommand(command);
            this.writeBorderProperties(topBorder);
        }
    }
    writeParagraphAlignment(alignment) {
        switch (alignment) {
            case paragraph_properties/* ParagraphAlignment */.wq.Left:
                this.rtfBuilder.writeCommand(RtfExportSR.LeftAlignment);
                break;
            case paragraph_properties/* ParagraphAlignment */.wq.Center:
                this.rtfBuilder.writeCommand(RtfExportSR.CenterAlignment);
                break;
            case paragraph_properties/* ParagraphAlignment */.wq.Justify:
                this.rtfBuilder.writeCommand(RtfExportSR.JustifyAlignment);
                break;
            case paragraph_properties/* ParagraphAlignment */.wq.Right:
                this.rtfBuilder.writeCommand(RtfExportSR.RightAlignment);
                break;
        }
    }
    writeParagraphTableProperties(_paragraph, nestingLevel) {
        if (nestingLevel > 0)
            this.rtfBuilder.writeCommand(RtfExportSR.InTableParagraph);
        if (nestingLevel > 1)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParagraphNestingLevel, nestingLevel);
    }
    writeParagraphGroupPropertiesId(_paragraph) {
        if (this.documentModel.webSettings.isBodyMarginsSet())
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParagraphGroupPropertiesId, 1);
    }
    writeParagraphIndents(mergedParagraphProperties) {
        const firstLineIndent = this.calcRtfFirstLineIndent(mergedParagraphProperties.firstLineIndentType, mergedParagraphProperties.firstLineIndent);
        if (firstLineIndent != this.defaultParagraphFirstLineIndent)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.FirstLineIndentInTwips, firstLineIndent);
        const leftIndent = this.calcRtfLeftIndent(mergedParagraphProperties.firstLineIndentType, mergedParagraphProperties.firstLineIndent, mergedParagraphProperties.leftIndent);
        if (leftIndent != this.defaultParagraphLeftIndent) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.LeftIndentInTwips, leftIndent);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.LeftIndentInTwips_Lin, leftIndent);
        }
        const rightIndent = mergedParagraphProperties.rightIndent;
        if (rightIndent != this.defaultParagraphRightIndent) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.RightIndentInTwips, rightIndent);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.RightIndentInTwips_Rin, rightIndent);
        }
    }
    calcRtfFirstLineIndent(firstLineIndentType, firstLineIndent) {
        switch (firstLineIndentType) {
            case paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented:
                return firstLineIndent;
            case paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging:
                return -firstLineIndent;
            case paragraph_properties/* ParagraphFirstLineIndent */.Qi.None:
            default:
                return 0;
        }
    }
    calcRtfLeftIndent(_firstLineIndentType, _firstLineIndent, leftIndent) {
        return leftIndent;
    }
    writeParagraphSuppressHyphenation(paragraphSuppressHyphenation) {
        if (paragraphSuppressHyphenation == this.defaultSuppressHyphenation)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.AutomaticParagraphHyphenation, paragraphSuppressHyphenation ? 0 : 1);
    }
    writeParagraphSuppressLineNumbers(paragraphSuppressLineNumbers) {
        if (paragraphSuppressLineNumbers)
            this.rtfBuilder.writeCommand(RtfExportSR.SuppressLineNumbering);
    }
    writeParagraphContextualSpacing(value) {
        if (value)
            this.rtfBuilder.writeCommand(RtfExportSR.ContextualSpacing);
    }
    writeParagraphPageBreakBefore(value) {
        if (value == this.defaultPageBreakBefore)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.PageBreakBefore, value ? 1 : 0);
    }
    writeParagraphBeforeAutoSpacing(value) {
        if (value == this.defaultBeforeAutoSpacing)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.BeforeAutoSpacing, value ? 1 : 0);
    }
    writeParagraphAfterAutoSpacing(value) {
        if (value == this.defaultAfterAutoSpacing)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.AfterAutoSpacing, value ? 1 : 0);
    }
    writeParagraphKeepWithNext(value) {
        if (value == this.defaultKeepWithNext)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.KeepWithNext, value ? 1 : 0);
    }
    writeParagraphKeepLinesTogether(value) {
        if (value == this.defaultKeepLinesTogether)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.KeepLinesTogether, value ? 1 : 0);
    }
    writeParagraphWidowOrphanControl(value) {
        if (value == this.defaultWidowOrphanControl)
            return;
        if (value)
            this.rtfBuilder.writeCommand(RtfExportSR.WidowOrphanControlOn);
        else
            this.rtfBuilder.writeCommand(RtfExportSR.WidowOrphanControlOff);
    }
    writeParagraphOutlineLevel(outlineLevel) {
        if (outlineLevel < 0 || outlineLevel >= 10)
            return;
        if (outlineLevel > 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.OutlineLevel, outlineLevel - 1);
    }
    writeParagraphLineSpacing(paragraphLineSpacingType, paragraphLineSpacing) {
        switch (paragraphLineSpacingType) {
            case paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast:
                this.writeRtfLineSpacing(paragraphLineSpacing, this.atLeastLineSpacingMultiple);
                break;
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Exactly:
                this.writeRtfLineSpacing(-paragraphLineSpacing, this.exactlyLineSpacingMultiple);
                break;
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Double:
                this.writeRtfLineSpacing(this.doubleIntervalRtfLineSpacingValue, this.multipleLineSpacing);
                break;
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral:
                this.writeRtfLineSpacing(this.sesquialteralIntervalRtfLineSpacingValue, this.multipleLineSpacing);
                break;
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple:
                this.writeRtfLineSpacing((paragraphLineSpacing * this.singleIntervalRtfLineSpacingValue), this.multipleLineSpacing);
                break;
        }
    }
    writeRtfLineSpacing(rtfLineSpacingValue, rtfLineSpacingMultiple) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.RtfLineSpacingValue, rtfLineSpacingValue);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.RtfLineSpacingMultiple, rtfLineSpacingMultiple);
    }
    writeParagraphSpacingBefore(spacingBefore) {
        if (spacingBefore == this.defaultParagraphSpacingBefore)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SpaceBefore, spacingBefore);
    }
    writeParagraphSpacingAfter(spacingAfter) {
        if (spacingAfter == this.defaultParagraphSpacingAfter)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SpaceAfter, spacingAfter);
    }
    writeTabs(tabFormattingInfo) {
        const count = tabFormattingInfo.tabsInfo.length;
        for (let i = 0; i < count; i++)
            this.writeTabInfo(tabFormattingInfo.tabsInfo[i]);
    }
    writeTabInfo(tabInfo) {
        this.writeTabKind(tabInfo.alignment);
        this.writeTabLeader(tabInfo.leader);
        this.writeTabPosition(tabInfo.position);
    }
    writeTabKind(alignmentType) {
        switch (alignmentType) {
            case paragraph/* TabAlign */.K9.Center:
                this.rtfBuilder.writeCommand(RtfExportSR.CenteredTab);
                break;
            case paragraph/* TabAlign */.K9.Decimal:
                this.rtfBuilder.writeCommand(RtfExportSR.DecimalTab);
                break;
            case paragraph/* TabAlign */.K9.Right:
                this.rtfBuilder.writeCommand(RtfExportSR.FlushRightTab);
                break;
            case paragraph/* TabAlign */.K9.Numbering:
                this.rtfBuilder.writeCommand(RtfExportSR.NumberingTab);
                break;
            case paragraph/* TabAlign */.K9.Left:
                break;
        }
    }
    writeTabLeader(leaderType) {
        switch (leaderType) {
            case layout_tab_space_box/* TabLeaderType */.LT.Dots:
                this.rtfBuilder.writeCommand(RtfExportSR.TabLeaderDots);
                break;
            case layout_tab_space_box/* TabLeaderType */.LT.EqualSign:
                this.rtfBuilder.writeCommand(RtfExportSR.TabLeaderEqualSign);
                break;
            case layout_tab_space_box/* TabLeaderType */.LT.Hyphens:
                this.rtfBuilder.writeCommand(RtfExportSR.TabLeaderHyphens);
                break;
            case layout_tab_space_box/* TabLeaderType */.LT.MiddleDots:
                this.rtfBuilder.writeCommand(RtfExportSR.TabLeaderMiddleDots);
                break;
            case layout_tab_space_box/* TabLeaderType */.LT.ThickLine:
                this.rtfBuilder.writeCommand(RtfExportSR.TabLeaderThickLine);
                break;
            case layout_tab_space_box/* TabLeaderType */.LT.Underline:
                this.rtfBuilder.writeCommand(RtfExportSR.TabLeaderUnderline);
                break;
            case layout_tab_space_box/* TabLeaderType */.LT.None:
                break;
        }
    }
    writeTabPosition(position) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.TabPosition, position);
    }
    writeParagraphShading(shadingInfo) {
        RtfShadingInfoExportHelper.exportShadingPattern(this.rtfBuilder, this.documentModel.colorProvider, shadingInfo, RtfExportSR.ParagraphShading);
        const shadingPatternKeyword = RtfExportSR.RunShadingPatternTable[shadingInfo.shadingPattern];
        if (RtfExportSR.ShadingPatternTable[shadingPatternKeyword])
            this.rtfBuilder.writeCommand(shadingPatternKeyword);
        RtfShadingInfoExportHelper.exportShadingForeColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, RtfExportSR.ParagraphFillColor);
        RtfShadingInfoExportHelper.exportShadingBackColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, RtfExportSR.ParagraphBackgroundColor);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-numbering-list-exporter.ts










class RtfNumberingListExporter {
    constructor(rtfExporter) {
        this.text = "";
        this.number = "";
        this.rtfExporter = rtfExporter;
        this.rtfBuilder = rtfExporter.createRtfBuilder();
        this.characterPropertiesExporter = new RtfCharacterPropertiesExporter(rtfExporter.documentModel, rtfExporter.rtfExportHelper, this.rtfBuilder, rtfExporter.options);
        this.paragraphPropertiesExporter = new RtfParagraphPropertiesExporter(rtfExporter.documentModel, rtfExporter.rtfExportHelper, this.rtfBuilder);
    }
    export(numberingLists, startIndex, count) {
        if (numberingLists.length <= 0)
            return;
        const abstractNumberingLists = this.getAbstractNumberingLists(numberingLists, startIndex, count);
        if (abstractNumberingLists.length > 0)
            this.exportAbstractNumberingLists(abstractNumberingLists);
        this.exportListOverrideTable(numberingLists, startIndex, count);
    }
    getAbstractNumberingLists(numberingLists, startIndex, count) {
        const result = [];
        const lastIndex = startIndex + (count - 1);
        for (let i = startIndex; i <= lastIndex; i++) {
            const list = numberingLists[i].getAbstractNumberingList();
            if (!utils_list.ListUtils.unsafeAnyOf(result, (val) => val.innerId == list.innerId))
                result.push(list);
        }
        return result;
    }
    exportAbstractNumberingLists(abstractNumberingLists) {
        for (let i = 0; i < abstractNumberingLists.length; i++) {
            this.rtfBuilder.clear();
            this.exportAbstractNumberingList(abstractNumberingLists[i]);
        }
    }
    exportAbstractNumberingList(list) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.NumberingList);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.NumberingListTemplateId, -1);
        if (list.isHybridList())
            this.rtfBuilder.writeCommand(RtfExportSR.NumberingListHybrid);
        this.exportListLevels(list.levels);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.NumberingListName);
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.NumberingListId, list.getId());
        this.rtfBuilder.closeGroup();
        const listCollectionHandler = new map_creator/* MapCreator */.M(this.rtfExporter.rtfExportHelper.numberingListCollection);
        if (!this.rtfExporter.rtfExportHelper.numberingListCollection[list.getId()])
            listCollectionHandler.add(list.getId(), this.rtfBuilder.rtfContent.getText());
    }
    exportListLevels(listLevels) {
        const count = listLevels.length;
        for (let i = 0; i < count; i++)
            this.exportListLevel(listLevels[i]);
    }
    exportListOverrideTable(numberingLists, startIndex, count) {
        if (numberingLists.length <= 0)
            return;
        const lastIndex = startIndex + (count - 1);
        for (let i = startIndex; i <= lastIndex; i++) {
            this.rtfBuilder.clear();
            this.exportListOverride(numberingLists[i]);
        }
    }
    exportListOverride(numberingList) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ListOverride);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.NumberingListId, numberingList.getAbstractNumberingList().getId());
        const listOverrideCount = this.getListOverrideCount(numberingList);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListOverrideCount, listOverrideCount);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListIndex, numberingList.getId());
        this.exportListOverrideLevels(numberingList);
        this.rtfBuilder.closeGroup();
        const index = this.rtfExporter.rtfExportHelper.listOverrideCollection.length;
        this.rtfExporter.rtfExportHelper.listOverrideCollection.push(this.rtfBuilder.rtfContent.getText());
        const listOverrideCollectionHandler = new map_creator/* MapCreator */.M(this.rtfExporter.rtfExportHelper.listOverrideCollectionIndex);
        if (!this.rtfExporter.rtfExportHelper.listOverrideCollectionIndex[numberingList.getId()])
            listOverrideCollectionHandler.add(numberingList.getId(), index);
    }
    getListOverrideCount(numberingList) {
        const levels = numberingList.levels;
        const count = levels.length;
        let result = 0;
        for (let i = 0; i < count; i++)
            if (this.isOverrideLevel(levels[i]))
                result++;
        return result;
    }
    isOverrideLevel(listLevel) {
        if (listLevel instanceof list_level/* OverrideListLevel */.lT)
            return true;
        return listLevel.overrideStart;
    }
    exportListOverrideLevels(numberingList) {
        const levels = numberingList.levels;
        const count = levels.length;
        for (let i = 0; i < count; i++)
            if (this.isOverrideLevel(levels[i]))
                this.exportListOverrideLevel(levels[i]);
    }
    exportListOverrideLevel(level) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ListOverrideLevel);
        if (level.overrideStart)
            this.rtfBuilder.writeCommand(RtfExportSR.ListOverrideStart);
        const overrideLevel = level;
        if (overrideLevel != null) {
            this.rtfBuilder.writeCommand(RtfExportSR.ListOverrideFormat);
            this.exportListLevel(level);
        }
        else {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelStart, level.getNewStart());
        }
        this.rtfBuilder.closeGroup();
    }
    exportListLevel(listLevel) {
        const properties = listLevel.getListLevelProperties();
        const numberingListFormat = this.getNumberingListFormat(properties.format);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ListLevel);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelNumberingFormat, numberingListFormat);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelNumberingFormatN, numberingListFormat);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelAlignment, properties.alignment);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelAlignmentN, properties.alignment);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelFollow, RtfNumberingListExporter.getListLevelSeparator(properties.separator));
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelStart, properties.start);
        if (properties.legacy) {
            this.rtfBuilder.writeCommand(RtfExportSR.ListLevelLegacy);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelLegacySpace, properties.legacySpace);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelLegacyIndent, properties.legacyIndent);
        }
        this.exportListLevelTextAndNumber(properties.displayFormatString, properties.templateCode);
        if (properties.convertPreviousLevelNumberingToDecimal)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelLegal, 1);
        else
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelLegal, 0);
        if (properties.suppressRestart)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelNoRestart, 1);
        else
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListLevelNoRestart, 0);
        this.exportListLevelCharacterAndParagraphProperties(listLevel);
        this.rtfBuilder.closeGroup();
    }
    getNumberingListFormat(numberingFormat) {
        const result = numbering_formats/* RtfNumberingFormats */.H.indexOf(numberingFormat);
        return result >= 0 ? result : 0;
    }
    static getListLevelSeparator(separator) {
        switch (separator) {
            case Characters.TabMark:
                return 0;
            case ' ':
                return 1;
            default:
                return 2;
        }
    }
    exportListLevelTextAndNumber(displayFormatString, levelTemplateId) {
        this.text = "";
        this.number = "";
        this.getTextAndNumber(displayFormatString);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ListLevelText);
        if (levelTemplateId != 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.LevelTemplateId, levelTemplateId);
        this.rtfBuilder.writeTextDirect(this.rtfExporter.documentModel.simpleFormattersManager.formatString("\\'{0:x2}", this.textLength));
        this.rtfBuilder.writeTextDirect(this.text, true);
        this.rtfBuilder.writeChar(';');
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ListLevelNumbers, this.number + ";");
        this.rtfBuilder.closeGroup();
    }
    getTextAndNumber(displayFormatString) {
        this.textLength = 0;
        const count = displayFormatString.length;
        let i = 0;
        while (i < count) {
            const ch = displayFormatString[i];
            if (!RtfBuilder.isSpecialSymbol(ch))
                i = this.addChar(ch, i);
            else
                i = this.addLevelNumber(displayFormatString, i);
        }
    }
    addLevelNumber(displayFormatString, i) {
        if (this.doubleBrackets(displayFormatString, i)) {
            i = this.addEscapedChar(displayFormatString[i], i);
            return i + 1;
        }
        if (displayFormatString[i] == '\\')
            return this.addEscapedChar(displayFormatString[i], i);
        return this.addLevelNumberCore(displayFormatString, i);
    }
    addLevelNumberCore(displayFormatString, i) {
        let value = "";
        i++;
        value = displayFormatString.substr(i, displayFormatString.indexOf('}', i) - i);
        this.text += this.rtfExporter.documentModel.simpleFormattersManager.formatString("\\'{0:x2}", parseInt(value));
        this.textLength += value.length;
        this.number += this.rtfExporter.documentModel.simpleFormattersManager.formatString("\\'{0:x2}", this.textLength);
        return i + value.length + 1;
    }
    doubleBrackets(displayFormatString, i) {
        return (displayFormatString[i] == '}' && displayFormatString[i + 1] == '}') ||
            (displayFormatString[i] == '{' && displayFormatString[i + 1] == '{');
    }
    addChar(ch, i) {
        this.text += ch;
        this.textLength++;
        return i + 1;
    }
    addEscapedChar(ch, i) {
        const str = "\\'" + RtfBuilder.byteToHexString[ch.charCodeAt(0)];
        this.text += str;
        this.textLength++;
        return i + 1;
    }
    exportListLevelCharacterAndParagraphProperties(listLevel) {
        const characterProperties = listLevel.getCharacterProperties();
        const mergedCharacterProperties = listLevel.getCharacterMergedProperties();
        this.characterPropertiesExporter.exportCharacterProperties(mergedCharacterProperties, true, !characterProperties.getUseValue(enums/* CharacterPropertiesMask */.xe.UseDoubleFontSize), !characterProperties.getUseValue(enums/* CharacterPropertiesMask */.xe.UseFontName));
        const mergedParagraphProperties = listLevel.getParagraphMergedProperties();
        this.paragraphPropertiesExporter.writeParagraphIndents(mergedParagraphProperties);
    }
}

// EXTERNAL MODULE: ./src/common/model/section/section-properties.ts
var section_properties = __webpack_require__(8012);
// EXTERNAL MODULE: ./src/common/model/section/line-numbering-properties.ts
var line_numbering_properties = __webpack_require__(7501);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-section-properties-exporter.ts






class RtfSectionPropertiesExporter extends RtfPropertiesExporter {
    exportSectionProperties(section) {
        this.exportSectionMargins(section.sectionProperties.margins);
        this.exportSectionOffsets(section.sectionProperties);
        this.exportSectionPage(section.sectionProperties);
        this.exportSectionGeneralSettings(section.sectionProperties);
        this.exportSectionColumns(section.sectionProperties);
        this.exportSectionPageNumbering(section.sectionProperties);
        this.exportSectionLineNumbering(section.sectionProperties.lineNumbering);
    }
    exportSectionPageNumbering(properties) {
        if (!properties.continueNumbering) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionPageNumberingStart, properties.firstPageNumber);
            this.rtfBuilder.writeCommand(RtfExportSR.SectionPageNumberingRestart);
        }
    }
    exportSectionMargins(margins) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionMarginsLeft, margins.left);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionMarginsRight, margins.right);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionMarginsTop, margins.top);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionMarginsBottom, margins.bottom);
    }
    exportSectionOffsets(properties) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionMarginsHeaderOffset, properties.headerOffset);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionMarginsFooterOffset, properties.footerOffset);
    }
    exportSectionPage(properties) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionPageWidth, properties.pageWidth);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionPageHeight, properties.pageHeight);
        if (properties.landscape)
            this.rtfBuilder.writeCommand(RtfExportSR.SectionPageLandscape);
    }
    exportSectionGeneralSettings(properties) {
        const defaultProperties = new section_properties/* SectionProperties */.I();
        if (properties.startType != defaultProperties.startType)
            this.writeEnumValueCommand(RtfContentExporter.sectionStartTypes, properties.startType, RtfExportSR.SectionBreakTypeNextPage);
        if (properties.differentFirstPage != defaultProperties.differentFirstPage)
            this.rtfBuilder.writeCommand(RtfExportSR.SectionTitlePage);
    }
    exportSectionColumns(properties) {
        if (properties.equalWidthColumns) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionColumnsCount, properties.columnCount);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionSpaceBetweenColumns, properties.space);
        }
        else
            this.exportSectionColumnsDetails(properties.columnsInfo);
    }
    exportSectionColumnsDetails(columns) {
        const count = columns.length;
        if (count > 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionColumnsCount, count);
        for (let i = 0; i < count; i++)
            this.exportSectionColumn(columns[i], i);
    }
    exportSectionColumn(column, columnIndex) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionColumnNumber, columnIndex + 1);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionColumnWidth, column.width);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionColumnSpace, column.space);
    }
    writeEnumValueCommand(table, value, defaultCommand) {
        let command = table[value];
        if (!command)
            command = defaultCommand;
        this.rtfBuilder.writeCommand(command);
    }
    exportSectionLineNumbering(lineNumbering) {
        if (!lineNumbering || !lineNumbering.isDefined)
            return;
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionLineNumberingCountBy, lineNumbering.countBy);
        if (lineNumbering.distance !== line_numbering_properties/* LineNumberDefaults */.I.distance)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionLineNumberingDistance, lineNumbering.distance);
        if (lineNumbering.start !== line_numbering_properties/* LineNumberDefaults */.I.start)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.SectionLineNumberingStart, lineNumbering.start);
        if (lineNumbering.restart !== line_numbering_properties/* LineNumberDefaults */.I.restart)
            this.exportLineNumberRestartType(lineNumbering.restart);
    }
    exportLineNumberRestartType(restart) {
        switch (restart) {
            case section_enums/* LineNumberingRestartType */.Ne.NewPage:
                this.rtfBuilder.writeCommand(RtfExportSR.SectionLineNumberingRestartNewPage);
                break;
            case section_enums/* LineNumberingRestartType */.Ne.NewSection:
                this.rtfBuilder.writeCommand(RtfExportSR.SectionLineNumberingRestartNewSection);
                break;
            case section_enums/* LineNumberingRestartType */.Ne.Continuous:
                this.rtfBuilder.writeCommand(RtfExportSR.SectionLineNumberingContinuous);
                break;
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/properties-merger/character-properties-merger.ts + 1 modules
var character_properties_merger = __webpack_require__(9250);
// EXTERNAL MODULE: ./src/common/model/properties-merger/paragraph-properties-merger.ts + 1 modules
var paragraph_properties_merger = __webpack_require__(8885);
// EXTERNAL MODULE: ./src/common/formats/rtf/utils/mergers/rtf-table-cell-properties-merger.ts
var rtf_table_cell_properties_merger = __webpack_require__(5283);
// EXTERNAL MODULE: ./src/common/formats/rtf/utils/mergers/rtf-table-properties-merger.ts
var rtf_table_properties_merger = __webpack_require__(861);
// EXTERNAL MODULE: ./src/common/formats/rtf/utils/mergers/rtf-table-row-properties-merger.ts
var rtf_table_row_properties_merger = __webpack_require__(9009);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/table/rtf-table-cell-properties-exporter.ts





class RtfTableCellPropertiesExporter extends RtfPropertiesExporter {
    get tableCellBackgroundColor() { return RtfExportSR.TableCellBackgroundColor; }
    get tableCellForegroundColor() { return RtfExportSR.TableCellForegroundColor; }
    get tableCellShading() { return RtfExportSR.TableCellShading; }
    get tableCellShadingPatternTable() { return RtfExportSR.TableCellShadingPatternTable; }
    get tableCellNoWrap() { return RtfExportSR.TableCellNoWrap; }
    get tableCellTextTopAlignment() { return RtfExportSR.TableCellTextTopAlignment; }
    get tableCellTextCenterAlignment() { return RtfExportSR.TableCellTextCenterAlignment; }
    get tableCellTextBottomAlignment() { return RtfExportSR.TableCellTextBottomAlignment; }
    get cellTopBorder() { return RtfExportSR.TableCellTopBorder; }
    get cellLeftBorder() { return RtfExportSR.TableCellLeftBorder; }
    get cellBottomBorder() { return RtfExportSR.TableCellBottomBorder; }
    get cellRightBorder() { return RtfExportSR.TableCellRightBorder; }
    writeCellShading(shadingInfo) {
        const shadingPatternKeyword = RtfExportSR.RunShadingPatternTable[shadingInfo.shadingPattern];
        if (shadingPatternKeyword)
            this.rtfBuilder.writeCommand(shadingPatternKeyword);
        RtfShadingInfoExportHelper.exportShadingForeColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, this.tableCellForegroundColor);
        RtfShadingInfoExportHelper.exportShadingBackColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, this.tableCellBackgroundColor);
        RtfShadingInfoExportHelper.exportShadingPattern(this.rtfBuilder, this.documentModel.colorProvider, shadingInfo, this.tableCellShading);
    }
    writeCellFitText(fitText) {
        const defaultGeneralSettings = this.documentModel.defaultTableCellProperties;
        if (fitText != defaultGeneralSettings.fitText)
            this.writeBoolCommand(RtfExportSR.TableCellFitText, fitText);
    }
    writeCellNoWrap(noWrap) {
        const defaultGeneralSettings = this.documentModel.defaultTableCellProperties;
        if (noWrap != defaultGeneralSettings.noWrap)
            this.writeBoolCommand(this.tableCellNoWrap, noWrap);
    }
    writeCellHideCellMark(hideCellMark) {
        const defaultGeneralSettings = this.documentModel.defaultTableCellProperties;
        if (hideCellMark != defaultGeneralSettings.hideCellMark)
            this.writeBoolCommand(RtfExportSR.TableCellHideMark, hideCellMark);
    }
    writeCellVerticalMerging(value, defaultValue) {
        if (value == defaultValue)
            return;
        if (value == table_base_structures/* TableCellMergingState */.Z3.Restart)
            this.rtfBuilder.writeCommand(RtfExportSR.TableCellStartVerticalMerging);
        else if (value == table_base_structures/* TableCellMergingState */.Z3.Continue)
            this.rtfBuilder.writeCommand(RtfExportSR.TableCellContinueVerticalMerging);
    }
    writeCellVerticalAlignment(verticalAlignment) {
        switch (verticalAlignment) {
            case table_base_structures/* TableCellVerticalAlignment */.Ad.Top:
                this.rtfBuilder.writeCommand(this.tableCellTextTopAlignment);
                break;
            case table_base_structures/* TableCellVerticalAlignment */.Ad.Center:
                this.rtfBuilder.writeCommand(this.tableCellTextCenterAlignment);
                break;
            case table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom:
                this.rtfBuilder.writeCommand(this.tableCellTextBottomAlignment);
                break;
            default:
                throw new Error(errors/* Errors */.D.InternalException);
                break;
        }
    }
    writeCellTextDirection(value) {
        switch (value) {
            case table_base_structures/* TextDirection */.m5.LeftToRightTopToBottom:
                this.rtfBuilder.writeCommand(RtfExportSR.TableCellLeftToRightTopToBottomTextDirection);
                break;
            case table_base_structures/* TextDirection */.m5.TopToBottomRightToLeft:
                this.rtfBuilder.writeCommand(RtfExportSR.TableCellTopToBottomRightToLeftTextDirection);
                break;
            case table_base_structures/* TextDirection */.m5.BottomToTopLeftToRight:
                this.rtfBuilder.writeCommand(RtfExportSR.TableCellBottomToTopLeftToRightTextDirection);
                break;
            case table_base_structures/* TextDirection */.m5.LeftToRightTopToBottomRotated:
                this.rtfBuilder.writeCommand(RtfExportSR.TableCellLeftToRightTopToBottomVerticalTextDirection);
                break;
            case table_base_structures/* TextDirection */.m5.TopToBottomRightToLeftRotated:
                this.rtfBuilder.writeCommand(RtfExportSR.TableCellTopToBottomRightToLeftVerticalTextDirection);
                break;
            default:
                break;
        }
    }
    writeCellBasicBorders(topBorder, leftBorder, rightBorder, bottomBorder) {
        this.rtfBuilder.writeCommand(this.cellTopBorder);
        this.writeBorderProperties(topBorder);
        this.rtfBuilder.writeCommand(this.cellLeftBorder);
        this.writeBorderProperties(leftBorder);
        this.rtfBuilder.writeCommand(this.cellBottomBorder);
        this.writeBorderProperties(bottomBorder);
        this.rtfBuilder.writeCommand(this.cellRightBorder);
        this.writeBorderProperties(rightBorder);
    }
    writeCellPreferredWidth(preferredWidth) {
        this.writeWidthUnit(preferredWidth, RtfExportSR.TableCellPreferredWidthType, RtfExportSR.TableCellPreferredWidth);
    }
    writeCellMargings(cellMargins) {
        const topMargin = cellMargins.top;
        const leftMargin = cellMargins.left;
        const rightMargin = cellMargins.right;
        const bottomMargin = cellMargins.bottom;
        if (this.shouldExportCellMargin(bottomMargin))
            this.writeWidthUnitInTwips(bottomMargin, RtfExportSR.TableCellBottomMarginType, RtfExportSR.TableCellBottomMargin);
        if (this.shouldExportCellMargin(topMargin))
            this.writeWidthUnitInTwips(topMargin, RtfExportSR.TableCellLeftMarginType, RtfExportSR.TableCellLeftMargin);
        if (this.shouldExportCellMargin(rightMargin))
            this.writeWidthUnitInTwips(rightMargin, RtfExportSR.TableCellRightMarginType, RtfExportSR.TableCellRightMargin);
        if (this.shouldExportCellMargin(leftMargin))
            this.writeWidthUnitInTwips(leftMargin, RtfExportSR.TableCellTopMarginType, RtfExportSR.TableCellTopMargin);
    }
    writeCellRight(cellRight) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableCellRight, cellRight);
    }
}
class RtfTableStyleTableCellPropertiesExporter extends RtfTableCellPropertiesExporter {
    get tableCellBackgroundColor() { return RtfExportSR.TableStyleCellBackgroundColor; }
    get tableCellForegroundColor() { return RtfExportSR.TableStyleCellForegroundColor; }
    get tableCellShading() { return RtfExportSR.TableStyleCellShading; }
    get tableCellShadingPatternTable() { return RtfExportSR.TableStyleShadingPatternTable; }
    get tableCellNoWrap() { return RtfExportSR.TableStyleCellNoWrap; }
    get tableCellTextTopAlignment() { return RtfExportSR.TableStyleCellVerticalAlignmentTop; }
    get tableCellTextCenterAlignment() { return RtfExportSR.TableStyleCellVerticalAlignmentCenter; }
    get tableCellTextBottomAlignment() { return RtfExportSR.TableStyleCellVerticalAlignmentBottom; }
    get tableCellUpperLeftToLowerRightBorder() { return RtfExportSR.TableStyleUpperLeftToLowerRightBorder; }
    get tableCellUpperRightToLowerLeftBorder() { return RtfExportSR.TableStyleUpperRightToLowerLeftBorder; }
    get cellTopBorder() { return RtfExportSR.TableStyleTopCellBorder; }
    get cellLeftBorder() { return RtfExportSR.TableStyleLeftCellBorder; }
    get cellBottomBorder() { return RtfExportSR.TableStyleBottomCellBorder; }
    get cellRightBorder() { return RtfExportSR.TableStyleRightCellBorder; }
    writeCellBasicBorders(topBorder, leftBorder, rightBorder, bottomBorder) {
        const defaultBorder = this.documentModel.defaultTableCellProperties.borders.top;
        if (!defaultBorder.equals(topBorder)) {
            this.rtfBuilder.writeCommand(this.cellTopBorder);
            this.writeBorderProperties(topBorder);
        }
        if (!defaultBorder.equals(leftBorder)) {
            this.rtfBuilder.writeCommand(this.cellLeftBorder);
            this.writeBorderProperties(leftBorder);
        }
        if (!defaultBorder.equals(bottomBorder)) {
            this.rtfBuilder.writeCommand(this.cellBottomBorder);
            this.writeBorderProperties(bottomBorder);
        }
        if (!defaultBorder.equals(rightBorder)) {
            this.rtfBuilder.writeCommand(this.cellRightBorder);
            this.writeBorderProperties(rightBorder);
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/properties/table-properties.ts + 1 modules
var table_properties = __webpack_require__(6537);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/table/rtf-table-properties-exporter.ts




class RtfTablePropertiesExporter extends RtfPropertiesExporter {
    writeRTLRow() {
        this.rtfBuilder.writeCommand(RtfExportSR.RTLRow);
    }
    writeRowLeft(left) {
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableRowLeft, left);
    }
    writeTableBorders(borders) {
        const defaultBorder = this.documentModel.defaultTableCellProperties.borders.bottom;
        const topBorder = borders.top;
        const leftBorder = borders.left;
        const bottomBorder = borders.bottom;
        const rightBorder = borders.right;
        const innerHorizontalBorder = borders.insideHorizontal;
        const innerVerticalBorder = borders.insideVertical;
        if (!defaultBorder.equals(topBorder)) {
            this.rtfBuilder.writeCommand(RtfExportSR.TableTopBorder);
            this.writeBorderProperties(topBorder);
        }
        if (!defaultBorder.equals(leftBorder)) {
            this.rtfBuilder.writeCommand(RtfExportSR.TableLeftBorder);
            this.writeBorderProperties(leftBorder);
        }
        if (!defaultBorder.equals(bottomBorder)) {
            this.rtfBuilder.writeCommand(RtfExportSR.TableBottomBorder);
            this.writeBorderProperties(bottomBorder);
        }
        if (!defaultBorder.equals(rightBorder)) {
            this.rtfBuilder.writeCommand(RtfExportSR.TableRightBorder);
            this.writeBorderProperties(rightBorder);
        }
        if (!defaultBorder.equals(innerHorizontalBorder)) {
            this.rtfBuilder.writeCommand(RtfExportSR.TableHorizontalBorder);
            this.writeBorderProperties(innerHorizontalBorder);
        }
        if (!defaultBorder.equals(innerVerticalBorder)) {
            this.rtfBuilder.writeCommand(RtfExportSR.TableVerticalBorder);
            this.writeBorderProperties(innerVerticalBorder);
        }
    }
    writeTableWidth(preferredWidth) {
        this.writeWidthUnit(preferredWidth, RtfExportSR.TablePreferredWidthType, RtfExportSR.TablePreferredWidth);
    }
    writeTableLayout(value) {
        if (value != table_base_structures/* TableLayoutType */.DX.Fixed) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableLayout, value);
        }
    }
    writeTableCellMargins(cellMargins) {
        const leftMargin = cellMargins.left;
        const rightMargin = cellMargins.right;
        const bottomMargin = cellMargins.bottom;
        const topMargin = cellMargins.top;
        if (this.shouldExportCellMargin(leftMargin))
            this.writeWidthUnitInTwips(leftMargin, RtfExportSR.TableCellMarginsLeftType, RtfExportSR.TableCellMarginsLeft);
        if (this.shouldExportCellMargin(bottomMargin))
            this.writeWidthUnitInTwips(bottomMargin, RtfExportSR.TableCellMarginsBottomType, RtfExportSR.TableCellMarginsBottom);
        if (this.shouldExportCellMargin(rightMargin))
            this.writeWidthUnitInTwips(rightMargin, RtfExportSR.TableCellMarginsRightType, RtfExportSR.TableCellMarginsRight);
        if (this.shouldExportCellMargin(topMargin))
            this.writeWidthUnitInTwips(topMargin, RtfExportSR.TableCellMarginsTopType, RtfExportSR.TableCellMarginsTop);
    }
    writeTableLook(value) {
        this.documentModel.defaultTableProperties;
        if ((value & table_base_structures/* TableLookTypes */.sp.ApplyFirstColumn) != 0)
            this.rtfBuilder.writeCommand(RtfExportSR.TableApplyFirstColumn);
        if ((value & table_base_structures/* TableLookTypes */.sp.ApplyFirstRow) != 0)
            this.rtfBuilder.writeCommand(RtfExportSR.TableApplyFirstRow);
        if ((value & table_base_structures/* TableLookTypes */.sp.ApplyLastColumn) != 0)
            this.rtfBuilder.writeCommand(RtfExportSR.TableApplyLastColumn);
        if ((value & table_base_structures/* TableLookTypes */.sp.ApplyLastRow) != 0)
            this.rtfBuilder.writeCommand(RtfExportSR.TableApplyLastRow);
        if ((value & table_base_structures/* TableLookTypes */.sp.DoNotApplyColumnBanding) != 0)
            this.rtfBuilder.writeCommand(RtfExportSR.TableDoNotApplyColumnBanding);
        if ((value & table_base_structures/* TableLookTypes */.sp.DoNotApplyRowBanding) != 0)
            this.rtfBuilder.writeCommand(RtfExportSR.TableDoNotApplyRowBanding);
    }
    writeTableIndent(tableIndent) {
        this.writeWidthUnit(tableIndent, RtfExportSR.TableIndentType, RtfExportSR.TableIndent, true);
    }
    writeBandSizes(info) {
        const exportRowBand = info.getUseValue(table_properties/* TablePropertiesMask */.r4.UseTableStyleRowBandSize);
        const exportColBand = info.getUseValue(table_properties/* TablePropertiesMask */.r4.UseTableStyleColBandSize);
        if (info.tableStyleRowBandSize != 0 && (exportRowBand || info.tableStyleRowBandSize > 1))
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableStyleRowBandSize, info.tableStyleRowBandSize);
        if (info.tableStyleColumnBandSize != 0 && (exportColBand || info.tableStyleColumnBandSize > 1))
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableStyleColumnBandSize, info.tableStyleColumnBandSize);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/table/rtf-table-row-properties-exporter.ts





class RtfTableRowPropertiesExporter extends RtfPropertiesExporter {
    writeLastRowMark() {
        this.rtfBuilder.writeCommand(RtfExportSR.TableLastRow);
    }
    writeHalfSpaceBetweenCells(val) {
        if (val > 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableHalfSpaceBetweenCells, val);
    }
    writeRowAlignment(value) {
        const defaultGeneralSettings = this.documentModel.defaultTableRowProperties;
        if (value == defaultGeneralSettings.tableRowAlignment)
            return;
        switch (value) {
            case table_base_structures/* TableRowAlignment */._6.Center:
                this.rtfBuilder.writeCommand(RtfExportSR.TableRowCenterAlignment);
                break;
            case table_base_structures/* TableRowAlignment */._6.Left:
                this.rtfBuilder.writeCommand(RtfExportSR.TableRowLeftAlignment);
                break;
            case table_base_structures/* TableRowAlignment */._6.Right:
                this.rtfBuilder.writeCommand(RtfExportSR.TableRowRightAlignment);
                break;
            default:
                break;
        }
    }
    writeRowHeader(header) {
        const defaultGeneralSettings = this.documentModel.defaultTableRowProperties;
        if (header != defaultGeneralSettings.header)
            this.writeBoolCommand(RtfExportSR.TableRowHeader, header);
    }
    writeRowCantSplit(cantSplit) {
        const defaultGeneralSettings = this.documentModel.defaultTableRowProperties;
        if (cantSplit != defaultGeneralSettings.cantSplit)
            this.writeBoolCommand(RtfExportSR.TableRowCantSplit, cantSplit);
    }
    writeRowHeight(height) {
        const defaultHeight = table_units/* TableHeightUnit */.aN.createDefault();
        if (height.type == defaultHeight.type)
            return;
        switch (height.type) {
            case table_units/* TableHeightUnitType */.X.Auto:
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableRowHeight, 0);
                break;
            case table_units/* TableHeightUnitType */.X.Minimum:
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableRowHeight, height.value);
                break;
            case table_units/* TableHeightUnitType */.X.Exact:
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableRowHeight, -height.value);
                break;
        }
    }
    writeWidthBefore(widthBefore) {
        this.writeWidthUnit(widthBefore, RtfExportSR.TableRowWidthBeforeType, RtfExportSR.TableRowWidthBefore);
    }
    writeWidthAfter(widthAfter) {
        this.writeWidthUnit(widthAfter, RtfExportSR.TableRowWidthAfterType, RtfExportSR.TableRowWidthAfter);
    }
    writeRowCellSpacing(cellSpacing) {
        this.writeWidthUnitInTwips(cellSpacing, RtfExportSR.TableCellSpacingLeftType, RtfExportSR.TableCellSpacingLeft);
        this.writeWidthUnitInTwips(cellSpacing, RtfExportSR.TableCellSpacingBottomType, RtfExportSR.TableCellSpacingBottom);
        this.writeWidthUnitInTwips(cellSpacing, RtfExportSR.TableCellSpacingRightType, RtfExportSR.TableCellSpacingRight);
        this.writeWidthUnitInTwips(cellSpacing, RtfExportSR.TableCellSpacingTopType, RtfExportSR.TableCellSpacingTop);
    }
    writeRowShading(shadingInfo) {
        RtfShadingInfoExportHelper.exportShadingForeColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, RtfExportSR.TableRowForegroundColor);
        RtfShadingInfoExportHelper.exportShadingBackColorIndex(this.rtfBuilder, this.rtfExportHelper, this.documentModel.colorProvider, shadingInfo, RtfExportSR.TableRowBackgroundColor);
        RtfShadingInfoExportHelper.exportShadingPattern(this.rtfBuilder, this.documentModel.colorProvider, shadingInfo, RtfExportSR.TableRowShading);
        const shadingPatternKeyword = RtfExportSR.RunShadingPatternTable[shadingInfo.shadingPattern];
        if (shadingPatternKeyword)
            this.rtfBuilder.writeCommand(shadingPatternKeyword);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-style-exporter.ts


















class RtfStyleExporter {
    constructor(documentModel, rtfBuilder, rtfExportHelper, options) {
        this.documentModel = documentModel;
        this.rtfExportHelper = rtfExportHelper;
        this.rtfBuilder = rtfBuilder;
        this.characterPropertiesExporter = new RtfCharacterPropertiesExporter(documentModel, rtfExportHelper, rtfBuilder, options);
        this.paragraphPropertiesExporter = new RtfParagraphPropertiesExporter(documentModel, rtfExportHelper, rtfBuilder);
    }
    exportStyleSheet(paragraphStyles, characterStyles, tableStyles) {
        if (paragraphStyles.length > 0)
            this.exportParagraphStyles(paragraphStyles);
        if (characterStyles.length > 0)
            this.exportCharacterStyles(characterStyles);
        if (tableStyles.length > 0)
            this.exportTableStyles(tableStyles);
    }
    exportParagraphStyles(paragraphStyles) {
        this.rtfBuilder.clear();
        const styles = paragraphStyles.concat();
        styles.sort((x, y) => {
            if (x.parent && x.parent.equalsByName(y))
                return 1;
            if (y.parent && y.parent.equalsByName(x))
                return -1;
            return 0;
        });
        const stylesToWrite = [];
        const indexCollectionHandler = new map_creator/* MapCreator */.M(this.rtfExportHelper.paragraphStylesCollectionIndex);
        let count = styles.length;
        for (let i = 0; i < count; i++) {
            let style = styles[i];
            if (!style.deleted && !map_string.StringMapUtils.containsBy(this.rtfExportHelper.paragraphStylesCollectionIndex, (_val, key) => key == style.styleName)
                && (style.getNumberingListIndex() < numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue || !!style.getNumberingList(this.documentModel))) {
                stylesToWrite.push(style);
                const styleIndex = this.getNextFreeStyleIndex();
                indexCollectionHandler.add(style.styleName, styleIndex);
            }
        }
        count = stylesToWrite.length;
        for (let i = 0; i < count; i++)
            this.exportParagraphStyle(stylesToWrite[i], i);
        this.rtfExportHelper.stylesCollection.push(this.rtfBuilder.rtfContent.getText());
    }
    exportParagraphStyle(style, i) {
        const styleIndex = this.obtainParagraphStyleIndex(style);
        if (styleIndex < 0)
            return;
        this.rtfBuilder.openGroup();
        if (i > 0) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParagraphStyle, styleIndex);
            const parentStyleIndex = this.obtainParagraphStyleIndex(style.parent);
            if (parentStyleIndex >= 0)
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParentStyle, parentStyleIndex);
        }
        if (style.linkedStyle != null) {
            const linkedStyleIndex = this.obtainCharacterStyleIndex(style.linkedStyle);
            if (linkedStyleIndex >= 0)
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.LinkedStyle, linkedStyleIndex);
        }
        if (style.nextParagraphStyle != null) {
            const nextStyleIndex = this.obtainParagraphStyleIndex(style.nextParagraphStyle);
            if (nextStyleIndex >= 0)
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.NextStyle, nextStyleIndex);
        }
        if (style.primary)
            this.rtfBuilder.writeCommand(RtfExportSR.QuickFormatStyle);
        const pMerger = new paragraph_properties_merger/* ParagraphPropertiesMerger */.G();
        pMerger.mergeParagraphStyle(style);
        pMerger.mergeMaskedParagraphProperties(this.documentModel.defaultParagraphProperties);
        this.exportParagraphProperties(pMerger.getMergedProperties());
        this.paragraphPropertiesExporter.writeTabs(style.tabs);
        const cMerger = new character_properties_merger/* CharacterPropertiesMerger */.I();
        cMerger.mergeParagraphStyle(style);
        cMerger.mergeCharacterProperties(this.documentModel.defaultCharacterProperties);
        this.exportCharacterProperties(cMerger.getMergedProperties());
        if (style.getNumberingListIndex() >= numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ListIndex, this.documentModel.numberingLists[style.getNumberingListIndex()].getId());
            const listLevelIndex = style.getListLevelIndex();
            if (listLevelIndex > 0) {
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.LevelIndex, listLevelIndex);
            }
        }
        this.writeStyleName(style.styleName);
        this.rtfBuilder.closeGroup();
    }
    exportCharacterStyles(characterStyles) {
        this.rtfBuilder.clear();
        const count = characterStyles.length;
        for (let i = 0; i < count; i++)
            this.exportCharacterStyle(characterStyles[i]);
        this.rtfExportHelper.stylesCollection.push(this.rtfBuilder.rtfContent.getText());
    }
    exportCharacterStyle(style) {
        if (style.deleted)
            return;
        if (map_string.StringMapUtils.containsBy(this.rtfExportHelper.characterStylesCollectionIndex, (_val, key) => key == style.styleName))
            return;
        const styleIndex = this.getNextFreeStyleIndex();
        const indexCollectionHandler = new map_creator/* MapCreator */.M(this.rtfExportHelper.characterStylesCollectionIndex);
        indexCollectionHandler.add(style.styleName, styleIndex);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.CharacterStyle, styleIndex);
        const parentStyleIndex = this.obtainCharacterStyleIndex(style.parent);
        if (parentStyleIndex >= 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParentStyle, parentStyleIndex);
        if (style.linkedStyle) {
            const linkedStyleIndex = this.obtainParagraphStyleIndex(style.linkedStyle);
            if (linkedStyleIndex >= 0)
                this.rtfBuilder.writeIntegerCommand(RtfExportSR.LinkedStyle, linkedStyleIndex);
        }
        if (style.primary)
            this.rtfBuilder.writeCommand(RtfExportSR.QuickFormatStyle);
        const merger = new character_properties_merger/* CharacterPropertiesMerger */.I();
        merger.mergeCharacterStyle(style);
        merger.mergeCharacterProperties(this.documentModel.defaultCharacterProperties);
        this.exportCharacterProperties(merger.getMergedProperties());
        this.writeStyleName(style.styleName);
        this.rtfBuilder.closeGroup();
    }
    exportTableStyles(tableStyles) {
        this.rtfBuilder.clear();
        this.tablePropertiesExporter = new RtfTablePropertiesExporter(this.documentModel, this.rtfExportHelper, this.rtfBuilder);
        this.tableRowPropertiesExporter = new RtfTableRowPropertiesExporter(this.documentModel, this.rtfExportHelper, this.rtfBuilder);
        this.tableCellPropertiesExporter = new RtfTableStyleTableCellPropertiesExporter(this.documentModel, this.rtfExportHelper, this.rtfBuilder);
        const count = tableStyles.length;
        for (let i = 0; i < count; i++)
            this.exportTableStyle(tableStyles[i]);
        this.rtfExportHelper.stylesCollection.push(this.rtfBuilder.rtfContent.getText());
    }
    exportTableStyle(style) {
        if (style.deleted)
            return;
        if (map_string.StringMapUtils.containsBy(this.rtfExportHelper.tableStylesCollectionIndex, (_val, key) => key == style.styleName))
            return;
        const styleIndex = this.getNextFreeStyleIndex();
        const indexCollectionHandler = new map_creator/* MapCreator */.M(this.rtfExportHelper.tableStylesCollectionIndex);
        indexCollectionHandler.add(style.styleName, styleIndex);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableStyle, styleIndex);
        this.rtfBuilder.writeCommand(RtfExportSR.TableStyleResetTableProperties);
        const parentStyleIndex = this.obtainTableStyleIndex(style.parent);
        if (parentStyleIndex >= 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParentStyle, parentStyleIndex);
        if (style.primary)
            this.rtfBuilder.writeCommand(RtfExportSR.QuickFormatStyle);
        this.exportCharacterProperties(this.getTableConditionalStyleMergedCharacterProperties(style.baseConditionalStyle));
        this.exportParagraphProperties(this.getTableConditionalStyleMergedParagraphProperties(style.baseConditionalStyle));
        this.exportTableProperties(new rtf_table_properties_merger/* RtfTablePropertiesMerger */._(this.documentModel).getStyleMergedProperties(style.baseConditionalStyle, style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable));
        this.exportTableRowProperties(new rtf_table_row_properties_merger/* RtfTableRowPropertiesMerger */.b(this.documentModel).getStyleMergedProperties(style.baseConditionalStyle, style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable));
        this.exportTableCellProperties(new rtf_table_cell_properties_merger/* RtfTableCellPropertiesMerger */.u(this.documentModel).getStyleMergedProperties(style.baseConditionalStyle, style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable));
        this.writeStyleName(style.styleName);
        this.rtfBuilder.closeGroup();
        if (!number/* NumberMapUtils */.j.isEmpty(style.conditionalStyles))
            number/* NumberMapUtils */.j.forEach(style.conditionalStyles, (val, conditionalType) => {
                this.exportTableConditionalStyle(val, style, styleIndex, conditionalType);
            });
    }
    exportTableConditionalStyle(conditionalStyle, style, styleIndex, conditionalType) {
        if (conditionalStyle == null)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableStyle, styleIndex);
        this.rtfBuilder.writeCommand(RtfExportSR.TableStyleResetTableProperties);
        this.exportCharacterProperties(this.getTableConditionalStyleMergedCharacterProperties(conditionalStyle));
        this.exportParagraphProperties(this.getTableConditionalStyleMergedParagraphProperties(conditionalStyle));
        this.exportTableRowProperties(new rtf_table_row_properties_merger/* RtfTableRowPropertiesMerger */.b(this.documentModel).getStyleMergedProperties(conditionalStyle, style, conditionalType));
        this.exportTableCellProperties(new rtf_table_cell_properties_merger/* RtfTableCellPropertiesMerger */.u(this.documentModel).getStyleMergedProperties(conditionalStyle, style, conditionalType));
        this.writeConditionalStyleType(conditionalType);
        this.writeStyleName(style.styleName);
        this.rtfBuilder.closeGroup();
    }
    writeConditionalStyleType(conditionType) {
        let keyword = RtfContentExporter.conditionalStylesTypes[conditionType];
        if (keyword)
            this.rtfBuilder.writeCommand(keyword);
    }
    getTableConditionalStyleMergedCharacterProperties(conditionalStyle) {
        const characterPropertiesMerger = new character_properties_merger/* CharacterPropertiesMerger */.I();
        characterPropertiesMerger.mergeCharacterProperties(conditionalStyle.maskedCharacterProperties);
        return characterPropertiesMerger.getMergedProperties();
    }
    getTableConditionalStyleMergedParagraphProperties(conditionalStyle) {
        const paragraphPropertiesMerger = new paragraph_properties_merger/* ParagraphPropertiesMerger */.G();
        paragraphPropertiesMerger.mergeMaskedParagraphProperties(conditionalStyle.maskedParagraphProperties);
        return paragraphPropertiesMerger.getMergedProperties();
    }
    exportCharacterProperties(characterProperties) {
        this.characterPropertiesExporter.exportCharacterProperties(characterProperties, true, false, false);
    }
    exportParagraphProperties(mergedParagraphProperties) {
        if (mergedParagraphProperties.topBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.paragraphPropertiesExporter.writeParagraphBorder(mergedParagraphProperties.topBorder, RtfExportSR.TopParagraphBorder);
        if (mergedParagraphProperties.leftBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.paragraphPropertiesExporter.writeParagraphBorder(mergedParagraphProperties.leftBorder, RtfExportSR.LeftParagraphBorder);
        if (mergedParagraphProperties.bottomBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.paragraphPropertiesExporter.writeParagraphBorder(mergedParagraphProperties.bottomBorder, RtfExportSR.BottomParagraphBorder);
        if (mergedParagraphProperties.rightBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.paragraphPropertiesExporter.writeParagraphBorder(mergedParagraphProperties.rightBorder, RtfExportSR.RightParagraphBorder);
        if (mergedParagraphProperties.betweenBorder.style != borders_enums/* BorderLineStyle */.u.None)
            this.paragraphPropertiesExporter.writeParagraphBorder(mergedParagraphProperties.betweenBorder, RtfExportSR.BetweenParagraphBorder);
        this.paragraphPropertiesExporter.writeParagraphAlignment(mergedParagraphProperties.alignment);
        this.paragraphPropertiesExporter.writeParagraphIndents(mergedParagraphProperties);
        this.paragraphPropertiesExporter.writeParagraphSuppressHyphenation(mergedParagraphProperties.suppressHyphenation);
        this.paragraphPropertiesExporter.writeParagraphSuppressLineNumbers(mergedParagraphProperties.suppressLineNumbers);
        this.paragraphPropertiesExporter.writeParagraphContextualSpacing(mergedParagraphProperties.contextualSpacing);
        this.paragraphPropertiesExporter.writeParagraphPageBreakBefore(mergedParagraphProperties.pageBreakBefore);
        this.paragraphPropertiesExporter.writeParagraphOutlineLevel(mergedParagraphProperties.outlineLevel);
        this.paragraphPropertiesExporter.writeParagraphShading(mergedParagraphProperties.shadingInfo);
        this.paragraphPropertiesExporter.writeParagraphLineSpacing(mergedParagraphProperties.lineSpacingType, mergedParagraphProperties.lineSpacing);
        this.paragraphPropertiesExporter.writeParagraphSpacingBefore(mergedParagraphProperties.spacingBefore);
        this.paragraphPropertiesExporter.writeParagraphSpacingAfter(mergedParagraphProperties.spacingAfter);
    }
    exportTableProperties(mergedTableProperties) {
        this.tablePropertiesExporter.writeBandSizes(mergedTableProperties);
        this.tablePropertiesExporter.writeTableBorders(mergedTableProperties.borders);
        this.tablePropertiesExporter.writeTableCellMargins(mergedTableProperties.cellMargins);
        this.tablePropertiesExporter.writeTableIndent(mergedTableProperties.indent);
    }
    exportTableRowProperties(mergedTableRowProperties) {
        this.tableRowPropertiesExporter.writeRowAlignment(mergedTableRowProperties.tableRowAlignment);
        this.tableRowPropertiesExporter.writeRowHeader(mergedTableRowProperties.header);
        this.tableRowPropertiesExporter.writeRowCantSplit(mergedTableRowProperties.cantSplit);
        this.tableRowPropertiesExporter.writeRowCellSpacing(mergedTableRowProperties.cellSpacing);
    }
    exportTableCellProperties(mergedTableCellProperties) {
        this.tableCellPropertiesExporter.writeCellVerticalAlignment(mergedTableCellProperties.verticalAlignment);
        this.tableCellPropertiesExporter.writeCellShading(mergedTableCellProperties.shadingInfo);
        this.tableCellPropertiesExporter.writeCellBasicBorders(mergedTableCellProperties.borders.top, mergedTableCellProperties.borders.left, mergedTableCellProperties.borders.right, mergedTableCellProperties.borders.bottom);
        this.tableCellPropertiesExporter.writeCellTextDirection(mergedTableCellProperties.textDirection);
        this.tableCellPropertiesExporter.writeCellFitText(mergedTableCellProperties.fitText);
        this.tableCellPropertiesExporter.writeCellNoWrap(mergedTableCellProperties.noWrap);
        this.tableCellPropertiesExporter.writeCellHideCellMark(mergedTableCellProperties.hideCellMark);
        this.tableCellPropertiesExporter.writeCellMargings(mergedTableCellProperties.cellMargins);
    }
    writeStyleName(name) {
        const count = name.length;
        for (let i = 0; i < count; i++) {
            this.rtfBuilder.writeChar(name[i]);
        }
        this.rtfBuilder.writeChar(';');
    }
    getNextFreeStyleIndex() {
        let result = 0;
        while (map_string.StringMapUtils.containsBy(this.rtfExportHelper.characterStylesCollectionIndex, (val) => val == result)
            || map_string.StringMapUtils.containsBy(this.rtfExportHelper.paragraphStylesCollectionIndex, (val) => val == result)
            || map_string.StringMapUtils.containsBy(this.rtfExportHelper.tableStylesCollectionIndex, (val) => val == result))
            result++;
        return result;
    }
    obtainParagraphStyleIndex(style) {
        return RtfStyleExporter.obtainStyleIndex(style, this.rtfExportHelper.paragraphStylesCollectionIndex);
    }
    obtainCharacterStyleIndex(style) {
        return RtfStyleExporter.obtainStyleIndex(style, this.rtfExportHelper.characterStylesCollectionIndex);
    }
    obtainTableStyleIndex(style) {
        return RtfStyleExporter.obtainStyleIndex(style, this.rtfExportHelper.tableStylesCollectionIndex);
    }
    static obtainStyleIndex(style, collection) {
        if (!style)
            return -1;
        const result = collection[style.styleName];
        if (result !== undefined && result !== null)
            return result;
        else
            return -1;
    }
}

// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/table/states/rtf-table-exporter-state-base.ts















class RtfTableExporterStateBase {
    constructor(rtfExporter, table, nestingLevel) {
        this.rtfExporter = rtfExporter;
        this._nestingLevel = nestingLevel;
        this.table = table;
        this.tableRowPropertiesExporter = new RtfTableRowPropertiesExporter(rtfExporter.documentModel, rtfExporter.rtfExportHelper, rtfExporter.rtfBuilder);
        this.tableCellPropertiesExporter = new RtfTableCellPropertiesExporter(rtfExporter.documentModel, rtfExporter.rtfExportHelper, rtfExporter.rtfBuilder);
        this.tablePropertiesExporter = new RtfTablePropertiesExporter(rtfExporter.documentModel, rtfExporter.rtfExportHelper, rtfExporter.rtfBuilder);
        this.tableStyleIndex = this.getTableStyleIndex();
    }
    get rtfBuilder() {
        return this.rtfExporter.rtfBuilder;
    }
    get documentModel() {
        return this.subDocument.documentModel;
    }
    get subDocument() {
        return this.rtfExporter.subDocument;
    }
    get nestingLevel() {
        return this._nestingLevel;
    }
    exportBase() {
        this.table.rows.forEach((_row, rowIndex) => {
            this.exportRow(this.table.rows[rowIndex], rowIndex);
        });
    }
    getTableStyleIndex() {
        if (this.table.style !== this.documentModel.tableStyles[0])
            return RtfStyleExporter.obtainStyleIndex(this.table.style, this.rtfExporter.rtfExportHelper.tableStylesCollectionIndex);
        return -1;
    }
    exportRowCells(row, rowIndex) {
        for (let cell of row.cells)
            this.exportCellParagraphs(cell, rowIndex);
    }
    exportInTableParagraph(parIndex, tableNestingLevel, isEndParagraph, condTypes) {
        const paragraph = this.subDocument.paragraphs[parIndex];
        this.rtfExporter.exportParagraphCore(paragraph, tableNestingLevel, condTypes, this.tableStyleIndex);
        this.finishParagraph(isEndParagraph);
    }
    finishParagraph(isEndParagraph) {
        if (isEndParagraph)
            this.writeParagraphEndMark();
        else
            this.rtfBuilder.writeCommand(RtfExportSR.EndOfParagraph);
    }
    exportCellParagraphs(cell, parentRowIndex) {
        const startParagraphIndex = this.subDocument.getParagraphIndexByPosition(cell.startParagraphPosition.value);
        const endParagraphIndex = this.subDocument.getParagraphIndexByPosition(cell.endParagrapPosition.value - 1);
        for (let parIndex = startParagraphIndex; parIndex <= endParagraphIndex; parIndex++) {
            const paragraph = this.subDocument.paragraphs[parIndex];
            const parCell = paragraph.getTableCell();
            const nextParIndex = this.exportNestedTable(cell, parIndex);
            if (parCell !== cell) {
                parIndex = nextParIndex;
                if (this.nestingLevel == 1) {
                    const row = cell.parentRow;
                    this.exportRowProperties(row, parentRowIndex);
                }
            }
            else {
                if (this.nestingLevel == 1 && parIndex == startParagraphIndex && cell.isFirstCellInRow)
                    this.exportRowProperties(cell.parentRow, parentRowIndex);
                const isEndParagraph = parIndex == endParagraphIndex;
                this.exportInTableParagraph(parIndex, this.nestingLevel, isEndParagraph, cell.conditionalFormatting);
            }
        }
    }
    exportNestedTable(parentCell, parIndex) {
        const paragraph = this.subDocument.paragraphs[parIndex];
        const parCell = paragraph.getTableCell();
        if (parCell === parentCell) {
            return parIndex;
        }
        let nestedTable = parCell.parentRow.parentTable;
        while (parentCell !== nestedTable.parentCell) {
            nestedTable = nestedTable.parentCell.parentRow.parentTable;
        }
        return RtfTableExporter.exportNestedTable(this.rtfExporter, nestedTable, this.nestingLevel + 1);
    }
    exportRowProperties(row, rowIndex) {
        const rowLeft = this.calculateRowLeft(row, row.parentTable.getActualTableIndent(this.documentModel.defaultTableProperties));
        this.exportOwnRowProperties(row, rowIndex, rowLeft);
        let cellRightVirtualColInd = row.gridBefore;
        for (const cell of row.cells) {
            cellRightVirtualColInd += cell.columnSpan;
            const cellRight = rowLeft + this.getCellWidth(cellRightVirtualColInd);
            this.exportCellProperties(cell, cellRight);
        }
    }
    getCellWidth(virtualColumnIndex) {
        if (virtualColumnIndex < 0)
            throw new Error(errors/* Errors */.D.InternalException);
        const minVirtualColumnWidth = 10;
        return virtualColumnIndex * minVirtualColumnWidth;
    }
    calculateRowLeft(row, indent) {
        const widthBefore = row.gridBefore > 0 ? this.getCellWidth(row.gridBefore) : 0;
        const offset = this.getActualWidth(indent) + widthBefore;
        return offset - (this.rowLeftOffset != null ? this.rowLeftOffset : this.calculateRowLeftOffset(row));
    }
    calculateRowLeftOffset(row) {
        const borderWidth = row.cells[0].properties.borders.left.width;
        const leftMargin = row.cells[0].properties.cellMargins.left;
        this.rowLeftOffset = Math.max(borderWidth / 2, this.getActualWidth(leftMargin));
        return this.rowLeftOffset;
    }
    getActualWidth(unit) {
        if (unit.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
            return unit.value;
        return 0;
    }
    exportOwnRowProperties(row, rowIndex, left) {
        this.startNewRow(rowIndex);
        this.tableRowPropertiesExporter.writeRowAlignment(row.properties.tableRowAlignment);
        const table = row.parentTable;
        const mergedTableProperties = new rtf_table_properties_merger/* RtfTablePropertiesMerger */._(this.documentModel).getMergedProperties(table);
        this.tablePropertiesExporter.writeTableBorders(mergedTableProperties.borders);
        this.tablePropertiesExporter.writeRowLeft(left);
        this.tableRowPropertiesExporter.writeRowHeight(row.height);
        const mergedRowProperties = new rtf_table_row_properties_merger/* RtfTableRowPropertiesMerger */.b(this.documentModel).getMergedProperties(row);
        this.tableRowPropertiesExporter.writeRowHeader(mergedRowProperties.header);
        this.tableRowPropertiesExporter.writeRowCantSplit(mergedRowProperties.cantSplit);
        this.tablePropertiesExporter.writeTableWidth(table.preferredWidth);
        this.tableRowPropertiesExporter.writeWidthBefore(row.widthBefore);
        this.tableRowPropertiesExporter.writeWidthAfter(row.widthAfter);
        this.tablePropertiesExporter.writeTableLayout(table.properties.layoutType);
        this.tableRowPropertiesExporter.writeRowCellSpacing(mergedRowProperties.cellSpacing);
        this.tablePropertiesExporter.writeTableCellMargins(mergedTableProperties.cellMargins);
        this.tablePropertiesExporter.writeTableLook(table.lookTypes);
        this.tablePropertiesExporter.writeTableIndent(mergedTableProperties.indent);
        this.tablePropertiesExporter.writeBandSizes(table.properties);
    }
    startNewRow(rowIndex) {
        this.rtfBuilder.writeCommand(RtfExportSR.ResetTableProperties);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableRowIndex, rowIndex);
        if ((this.table.lookTypes & table_base_structures/* TableLookTypes */.sp.ApplyFirstRow) > 0)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableRowBandIndex, rowIndex - 1);
        else
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableRowBandIndex, rowIndex);
        if (rowIndex == this.table.rows.length - 1)
            this.tableRowPropertiesExporter.writeLastRowMark();
        this.writeTableStyleIndex();
        this.tableRowPropertiesExporter.writeHalfSpaceBetweenCells(this.calcHalfSpaceBetweenCells());
    }
    writeTableStyleIndex() {
        if (this.tableStyleIndex != -1)
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.TableStyleIndex, this.tableStyleIndex);
    }
    calcHalfSpaceBetweenCells() {
        const leftMargin = this.table.properties.cellMargins.left;
        const leftMarginVal = leftMargin.type == table_units/* TableWidthUnitType */.HO.ModelUnits ? leftMargin.value : 0;
        const rightMargin = this.table.properties.cellMargins.right;
        const rightMarginVal = rightMargin.type == table_units/* TableWidthUnitType */.HO.ModelUnits ? rightMargin.value : 0;
        return (leftMarginVal + rightMarginVal) / 2;
    }
    exportCellProperties(cell, cellRight) {
        const mergetTableCellProperties = new rtf_table_cell_properties_merger/* RtfTableCellPropertiesMerger */.u(this.documentModel).getMergedProperties(cell);
        this.tableCellPropertiesExporter.writeCellVerticalMerging(cell.verticalMerging, table_base_structures/* TableCellMergingState */.Z3.None);
        this.tableCellPropertiesExporter.writeCellVerticalAlignment(mergetTableCellProperties.verticalAlignment);
        this.tableCellPropertiesExporter.writeCellBasicBorders(this.getActualTopBorderInfo(cell), this.getActualLeftBorderInfo(cell), this.getActualRightBorderInfo(cell), this.getActualBottomBorderInfo(cell));
        this.tableCellPropertiesExporter.writeCellShading(mergetTableCellProperties.shadingInfo);
        this.tableCellPropertiesExporter.writeCellTextDirection(mergetTableCellProperties.textDirection);
        this.tableCellPropertiesExporter.writeCellFitText(mergetTableCellProperties.fitText);
        this.tableCellPropertiesExporter.writeCellNoWrap(mergetTableCellProperties.noWrap);
        this.tableCellPropertiesExporter.writeCellHideCellMark(mergetTableCellProperties.hideCellMark);
        this.tableCellPropertiesExporter.writeCellPreferredWidth(cell.preferredWidth);
        this.tableCellPropertiesExporter.writeCellMargings(mergetTableCellProperties.cellMargins);
        this.tableCellPropertiesExporter.writeCellRight(cellRight);
    }
    getActualLeftBorderInfo(cell) {
        let cellBorderInfo = cell.getActualLeftCellBorder(this.documentModel.defaultTableCellProperties);
        const isTableOuterBorder = cell.parentRow.cells[0] == cell && this.table.properties.cellSpacing.value <= 0;
        if (!cellBorderInfo)
            cellBorderInfo = this.table.getActualLeftBorder(this.documentModel.defaultTableProperties, isTableOuterBorder);
        return this.getActualBorderInfoCore(cellBorderInfo);
    }
    getActualRightBorderInfo(cell) {
        let cellBorderInfo = cell.getActualRightCellBorder(this.subDocument.documentModel.defaultTableCellProperties);
        const isTableOuterBorder = utils_list.ListUtils.last(cell.parentRow.cells) == cell && this.table.properties.cellSpacing.value <= 0;
        if (!cellBorderInfo)
            cellBorderInfo = this.table.getActualRightBorder(this.documentModel.defaultTableProperties, isTableOuterBorder);
        return this.getActualBorderInfoCore(cellBorderInfo);
    }
    getActualTopBorderInfo(cell) {
        let cellBorderInfo = cell.getActualTopCellBorder(this.subDocument.documentModel.defaultTableCellProperties);
        const isTableOuterBorder = cell.parentRow.parentTable.rows[0] == cell.parentRow && this.table.properties.cellSpacing.value <= 0;
        if (!cellBorderInfo)
            cellBorderInfo = this.table.getActualTopBorder(this.documentModel.defaultTableProperties, isTableOuterBorder);
        return this.getActualBorderInfoCore(cellBorderInfo);
    }
    getActualBottomBorderInfo(cell) {
        let cellBorderInfo = cell.getActualBottomCellBorder(this.subDocument.documentModel.defaultTableCellProperties);
        const isTableOuterBorder = utils_list.ListUtils.last(cell.parentRow.parentTable.rows) == cell.parentRow && this.table.properties.cellSpacing.value <= 0;
        if (!cellBorderInfo)
            cellBorderInfo = this.table.getActualBottomBorder(this.documentModel.defaultTableProperties, isTableOuterBorder);
        return this.getActualBorderInfoCore(cellBorderInfo);
    }
    getActualBorderInfoCore(cellBorderInfo) {
        if (!cellBorderInfo || cellBorderInfo.style == borders_enums/* BorderLineStyle */.u.Nil)
            return new border_info/* BorderInfo */.H();
        return cellBorderInfo;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/table/states/rtf-nested-table-exporter-state.ts


class RtfNestedTableExporterState extends RtfTableExporterStateBase {
    constructor(rtfExporter, table, nestingLevel) {
        super(rtfExporter, table, nestingLevel);
    }
    export() {
        super.exportBase();
    }
    writeParagraphEndMark() {
        this.rtfBuilder.writeCommand(RtfExportSR.NestedTableEndCell);
        this.writeNoNestedTableGroup();
    }
    exportRow(row, rowIndex) {
        super.exportRowCells(row, rowIndex);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.NestedTableProperties);
        super.exportRowProperties(row, rowIndex);
        this.rtfBuilder.writeCommand(RtfExportSR.NestedTableEndRow);
        this.rtfBuilder.closeGroup();
    }
    writeNoNestedTableGroup() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.NoNestedTable);
        this.rtfBuilder.writeCommand(RtfExportSR.EndOfParagraph);
        this.rtfBuilder.closeGroup();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/table/states/rtf-table-exporter-state.ts


class RtfTableExporterState extends RtfTableExporterStateBase {
    constructor(rtfExporter, table) {
        super(rtfExporter, table, 1);
    }
    export() {
        super.exportBase();
    }
    writeParagraphEndMark() {
        this.rtfBuilder.writeCommand(RtfExportSR.TableEndCell);
    }
    exportRow(row, rowIndex) {
        super.exportRowCells(row, rowIndex);
        super.exportRowProperties(row, rowIndex);
        this.rtfBuilder.writeCommand(RtfExportSR.TableEndRow);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/table/rtf-table-exporter.ts


class RtfTableExporter {
    static exportTable(rtfContentExporter, table) {
        new RtfTableExporterState(rtfContentExporter, table).export();
        rtfContentExporter.tableIterator.update(table.getEndPosition());
        return rtfContentExporter.subDocument.getParagraphIndexByPosition(table.getEndPosition() - 1);
    }
    static exportNestedTable(rtfContentExporter, table, nestingLevel) {
        new RtfNestedTableExporterState(rtfContentExporter, table, nestingLevel).export();
        rtfContentExporter.tableIterator.update(table.getEndPosition());
        return rtfContentExporter.subDocument.getParagraphIndexByPosition(table.getEndPosition() - 1);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporters/rtf-content-exporter.ts




































class RtfContentExporter {
    get shouldExportHiddenText() { return true; }
    ;
    constructor(documentModel, options, rtfExportHelper) {
        this.shouldFourceUpdateIterators = false;
        this.documentModel = documentModel;
        this.subDocument = this.documentModel.mainSubDocument;
        this.pieceTableNumberingListCounters = new PieceTableNumberingListCountersManager();
        this.rtfExportHelper = rtfExportHelper;
        this.options = options;
        this.rtfBuilder = this.createRtfBuilder();
        this.paragraphPropertiesExporter = new RtfParagraphPropertiesExporter(documentModel, rtfExportHelper, this.rtfBuilder);
        this.characterPropertiesExporter = new RtfCharacterPropertiesExporter(documentModel, rtfExportHelper, this.rtfBuilder, options);
        this.sectionPropertiesExporter = new RtfSectionPropertiesExporter(documentModel, rtfExportHelper, this.rtfBuilder);
        this.runHandlerMap = new map_creator/* MapCreator */.M()
            .add(run_type/* RunType */.m.TextRun, this.exportTextRun)
            .add(run_type/* RunType */.m.FieldCodeStartRun, this.fieldCodeStartRunHandler)
            .add(run_type/* RunType */.m.FieldCodeEndRun, this.fieldCodeEndRunHandler)
            .add(run_type/* RunType */.m.FieldResultEndRun, this.fieldResultEndRunHandler)
            .add(run_type/* RunType */.m.InlinePictureRun, this.inlinePictureRunHandler)
            .add(run_type/* RunType */.m.InlineTextBoxRun, this.inlineTextBoxRunHandler)
            .add(run_type/* RunType */.m.AnchoredPictureRun, this.anchoredPictureRunHandler)
            .add(run_type/* RunType */.m.AnchoredTextBoxRun, this.anchoredTextBoxRunHandler)
            .get();
    }
    createRtfBuilder() {
        return new RtfBuilder();
    }
    export() {
        this.exportDefaultCharacterProperties();
        this.exportDefaultParagraphProperties();
        this.exportStyleTable();
        if (this.options.listExportFormat == RtfNumberingListExportFormat.RtfFormat)
            this.exportNumberingListTable();
        this.populateUserTable();
        this.rtfBuilder.clear();
        this.exportDocumentInformation();
        this.exportDocumentSettings();
        if (this.options.wrapContentInGroup)
            this.rtfBuilder.openGroup();
        this.exportSubDocument(this.documentModel.mainSubDocument, this.exportDocument);
        if (this.options.wrapContentInGroup)
            this.rtfBuilder.closeGroup();
    }
    shouldSplitRuns() {
        return this.subDocument.bookmarks.length > 0;
    }
    splitRuns() {
        this.subDocument.bookmarks.forEach(bookmark => {
            this.splitRun(bookmark.start);
            this.splitRun(bookmark.end);
        });
    }
    splitRun(position) {
        if (position == this.subDocument.getDocumentEndPosition())
            return;
        const chunkInfo = this.subDocument.getRunAndIndexesByPosition(position);
        if (chunkInfo.charOffset > 0)
            chunkInfo.chunk.splitRun(chunkInfo.runIndex, chunkInfo.charOffset);
    }
    initializeSubDocument(startSectionParagraphIndex) {
        this.permissionsIterator = this.createPermissionsIterator();
        this.bookmarksIterator = this.createBookmarkIterator();
        this.tableIterator = new recursive_objects_iterators/* TableIterator */.Rm(this.subDocument.tables);
        this.tableIterator.init(0);
        this.shouldFourceUpdateIterators = true;
        this.startSectionParagraphIndex = startSectionParagraphIndex;
    }
    updateIterators(position) {
        if (this.shouldFourceUpdateIterators)
            this.forceUpdateIterators(position);
    }
    forceUpdateIterators(position) {
        this.tableIterator.update(position);
        this.shouldFourceUpdateIterators = false;
    }
    exportSubDocument(subDocument, pieceTableExporter) {
        const originalSubDocument = this.subDocument;
        const originalPieceTableNumberingListCounters = this.pieceTableNumberingListCounters;
        const originalPieceTableStartSectionParagraphIndex = this.startSectionParagraphIndex;
        const originalPermissionsIterator = this.permissionsIterator;
        const originalBookmarksIterator = this.bookmarksIterator;
        this.subDocument = subDocument;
        this.pieceTableNumberingListCounters = new PieceTableNumberingListCountersManager();
        this.initializeSubDocument(0);
        pieceTableExporter.call(this);
        if (originalSubDocument == null)
            this.subDocument = this.documentModel.mainSubDocument;
        else {
            this.subDocument = originalSubDocument;
            this.initializeSubDocument(originalPieceTableStartSectionParagraphIndex);
        }
        this.pieceTableNumberingListCounters = originalPieceTableNumberingListCounters ? originalPieceTableNumberingListCounters : new PieceTableNumberingListCountersManager();
        this.permissionsIterator = originalPermissionsIterator ? originalPermissionsIterator : this.createPermissionsIterator();
        this.bookmarksIterator = originalBookmarksIterator ? originalBookmarksIterator : this.createBookmarkIterator();
    }
    createPermissionsIterator() {
        const permissionsIterator = new CrossExistingIterator(this.subDocument.rangePermissions);
        permissionsIterator.init();
        return permissionsIterator;
    }
    createBookmarkIterator() {
        const bookmarksIterator = new CrossExistingIterator(this.subDocument.bookmarks);
        bookmarksIterator.init();
        return bookmarksIterator;
    }
    exportDefaultCharacterProperties() {
        if (!string.StringUtils.isNullOrEmpty(this.rtfExportHelper.defaultCharacterProperties))
            return;
        this.rtfBuilder.clear();
        const characterProperties = this.documentModel.defaultCharacterProperties;
        if (characterProperties) {
            const characterPropertiesExporter = new RtfCharacterPropertiesExporter(this.documentModel, this.rtfExportHelper, this.rtfBuilder, this.options);
            const foreColor = characterProperties.textColor.toRgb(this.documentModel.colorProvider);
            if (!dx_color/* DXColor */.F.isTransparentOrEmpty(foreColor) && foreColor != color_color/* ColorHelper */.v.BLACK_COLOR)
                this.rtfExportHelper.getColorIndex(characterProperties.textColor);
            characterPropertiesExporter.exportCharacterProperties(characterProperties, true, false, false);
            this.rtfExportHelper.defaultCharacterProperties = this.rtfBuilder.rtfContent.getText();
        }
    }
    exportDefaultParagraphProperties() {
        if (!string.StringUtils.isNullOrEmpty(this.rtfExportHelper.defaultParagraphProperties))
            return;
        this.rtfBuilder.clear();
        const paragraphProperties = this.documentModel.defaultParagraphProperties;
        if (paragraphProperties) {
            const paragraphPropertiesExporter = new RtfParagraphPropertiesExporter(this.documentModel, this.rtfExportHelper, this.rtfBuilder);
            paragraphPropertiesExporter.exportParagraphPropertiesCore(paragraphProperties, true);
            this.rtfExportHelper.defaultParagraphProperties = this.rtfBuilder.rtfContent.getText();
        }
    }
    exportStyleTable() {
        const styleExporter = new RtfStyleExporter(this.documentModel, this.createRtfBuilder(), this.rtfExportHelper, this.options);
        styleExporter.exportStyleSheet(this.documentModel.paragraphStyles, this.documentModel.characterStyles, this.documentModel.tableStyles);
    }
    exportNumberingListTable() {
        const listExporter = new RtfNumberingListExporter(this);
        const numberingLists = this.documentModel.numberingLists;
        let startIndex = 0;
        startIndex = Math.min(startIndex, this.calculateFirstExportedNumberingListsIndexForStyles(this.documentModel.paragraphStyles));
        const count = numberingLists.length - startIndex;
        listExporter.export(numberingLists, startIndex, count);
    }
    calculateFirstExportedNumberingListsIndexForStyles(paragraphStyleCollection) {
        let result = Number.MAX_SAFE_INTEGER;
        utils_list.ListUtils.forEach(paragraphStyleCollection, (style) => {
            const styleListIndex = style.getNumberingListIndex();
            if (styleListIndex >= 0)
                result = Math.min(result, styleListIndex);
        });
        return result;
    }
    populateUserTable() {
        this.rtfExportHelper.userCollection = [];
        number/* NumberMapUtils */.j.forEach(this.documentModel.subDocuments, (subDoc) => {
            this.populateUserList(subDoc, this.rtfExportHelper.userCollection);
        });
    }
    populateUserList(pieceTable, users) {
        const rangePermissions = pieceTable.rangePermissions;
        const count = rangePermissions.length;
        for (let i = 0; i < count; i++) {
            const userName = rangePermissions[i].userName;
            if (!string.StringUtils.isNullOrEmpty(userName) && users.indexOf(userName) < 0)
                users.push(userName);
        }
    }
    exportDocumentInformation() {
        if (!this.shouldExportDocumentInformation())
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.DocumentInformation);
        this.exportDocumentProperties();
        this.exportDocumentProtectionPasswordHash();
        this.rtfBuilder.closeGroup();
    }
    exportDocumentProtectionPasswordHash() {
        if (!this.shouldExportDocumentProtectionPasswordHash())
            return;
        if (this.shouldExportDocumentProtectionPasswordHashInWord2007Format())
            this.exportDocumentProtectionPasswordHashWord2007();
        else
            this.exportDocumentProtectionPasswordHashWord2003();
    }
    exportDocumentProtectionPasswordHashWord2007() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.PasswordHash);
        const bytes = this.getDocumentProtectionPasswordHashWord2007Bytes();
        this.rtfBuilder.writeByteArrayAsHex(bytes);
        this.rtfBuilder.closeGroup();
    }
    getDocumentProtectionPasswordHashWord2007Bytes() {
        const properties = this.documentModel.documentProtectionProperties;
        const passwordHash = properties.passwordHash;
        const passwordPrefix = properties.passwordPrefix ? properties.passwordPrefix : [];
        const uint32Array = [];
        uint32Array.push(1);
        uint32Array.push(40 + passwordHash.length + passwordPrefix.length);
        uint32Array.push(properties.cryptProviderType == document_protection/* CryptProviderType */.qx.RsaFull ? 1 : 24);
        uint32Array.push(0x8000 + properties.hashAlgorithmType);
        uint32Array.push(properties.hashIterationCount);
        uint32Array.push(passwordHash.length);
        uint32Array.push(passwordPrefix.length);
        uint32Array.push(0);
        uint32Array.push(0);
        uint32Array.push(0);
        const tempResult = new Uint8Array(new Uint32Array(uint32Array).buffer);
        const result = new Uint8Array(tempResult.byteLength + passwordHash.length + passwordPrefix.length);
        result.set(tempResult);
        result.set(passwordHash, tempResult.byteLength);
        result.set(passwordPrefix, tempResult.byteLength + passwordHash.length);
        return result;
    }
    exportDocumentProtectionPasswordHashWord2003() {
        const properties = this.documentModel.documentProtectionProperties;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.Password);
        const hash = properties.word2003PasswordHash;
        let value = "";
        if (hash == null) {
            value = "00000000";
        }
        else {
            const view = new DataView(hash, 0);
            const hashValue = view.getInt32(0);
            value = this.documentModel.simpleFormattersManager.formatString("{0:x8}", hashValue);
        }
        this.rtfBuilder.writeTextDirect(value);
        this.rtfBuilder.closeGroup();
    }
    shouldExportDocumentProtectionPasswordHashInWord2007Format() {
        const properties = this.documentModel.documentProtectionProperties;
        return properties.passwordHash != null && properties.hashAlgorithmType != document_protection/* HashAlgorithmType */.S6.None;
    }
    shouldExportDocumentInformation() {
        return this.shouldExportDocumentProtectionPasswordHash() || this.shouldExportDocumentProperties();
    }
    shouldExportDocumentProperties() {
        return this.options.exportedDocumentProperties != DocumentPropertyNames.None
            && this.options.exportedDocumentProperties != DocumentPropertyNames.CustomProperties;
    }
    shouldExportDocumentProtectionPasswordHash() {
        const properties = this.documentModel.documentProtectionProperties;
        if (!properties || !properties.enforceProtection || (properties.passwordHash == null && properties.word2003PasswordHash == null))
            return false;
        else
            return true;
    }
    exportDocumentSettings() {
        this.exportFormattingFlags();
        this.exportCompatibilitySettings();
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.DefaultTabWidth, this.documentModel.defaultTabWidth);
        if (this.documentModel.mirrorMargins)
            this.rtfBuilder.writeCommand(RtfExportSR.MirrorMargins);
        if (this.documentModel.differentOddAndEvenPages)
            this.rtfBuilder.writeCommand(RtfExportSR.PageFacing);
        if (this.documentModel.displayBackgroundShape)
            this.rtfBuilder.writeCommand(RtfExportSR.DisplayBackgroundShape, "1");
        if (!dx_color/* DXColor */.F.isTransparentOrEmpty(this.documentModel.pageBackColor))
            this.exportPageBackground();
        this.exportDocumentProtectionProperties();
    }
    exportFormattingFlags() {
        this.rtfBuilder.writeCommand(RtfExportSR.NoUICompatible);
        this.rtfBuilder.writeCommand(RtfExportSR.ShapeDoNotLay);
        this.rtfBuilder.writeCommand(RtfExportSR.HtmlAutoSpacing);
    }
    exportDocumentProtectionProperties() {
        const properties = this.documentModel.documentProtectionProperties;
        if (!properties || !properties.enforceProtection)
            return;
        if (properties.protectionType == json_document_enums/* DocumentProtectionType */.vK.ReadOnly) {
            this.rtfBuilder.writeCommand(RtfExportSR.AnnotationProtection);
            this.rtfBuilder.writeCommand(RtfExportSR.ReadOnlyProtection);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.EnforceProtection, 1);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ProtectionLevel, 3);
        }
        if (properties.protectionType == json_document_enums/* DocumentProtectionType */.vK.AllowComments) {
            this.rtfBuilder.writeCommand(RtfExportSR.AnnotationProtection);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.EnforceProtection, 1);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ProtectionLevel, 1);
        }
    }
    exportPageBackground() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.PageBackground);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.Shape);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ShapeInstance);
        this.rtfBuilder.writeShapeColorProperty("fillColor", this.documentModel.pageBackColor);
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.closeGroup();
    }
    exportCompatibilitySettings() {
        const settings = this.documentModel.compatibilitySettings;
        if (!settings.dontJustifyLinesEndingInSoftLineBreak)
            this.rtfBuilder.writeCommand(RtfExportSR.CompatibilityDontJustifyLinesEndingInSoftLineBreak);
        this.rtfBuilder.writeCommand(RtfExportSR.CompatibilitySplitPageBreakAndParagraphMark);
    }
    exportDocumentProperties() {
        this.writeDateTimeDocumentProperty(new Date(), RtfExportSR.Created, DocumentPropertyNames.Created);
        this.writeDateTimeDocumentProperty(new Date(), RtfExportSR.Modified, DocumentPropertyNames.Modified);
    }
    writeStringDocumentProperty(value, command, flag) {
        if (value == null || (this.options.exportedDocumentProperties & flag) == 0)
            return;
        if (this.rtfBuilder.textHasNonASCIISymbol(value)) {
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeCommand(RtfExportSR.UnicodeAndANSIGroup);
            this.writeANSIStringProperty(value, command);
            this.writeUnicodeStringProperty(value, command);
            this.rtfBuilder.closeGroup();
        }
        else
            this.writeStringProperty(value, command);
    }
    writeANSIStringProperty(value, command) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(command);
        this.rtfBuilder.writeAnsiText(value);
        this.rtfBuilder.closeGroup();
    }
    writeUnicodeStringProperty(value, command) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.UnicodeGroup);
        this.writeStringProperty(value, command);
        this.rtfBuilder.closeGroup();
    }
    writeStringProperty(value, command) {
        if (value == null)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(command);
        this.rtfBuilder.writeText(value);
        this.rtfBuilder.closeGroup();
    }
    writeDateTimeDocumentProperty(value, command, flag) {
        if (value == null || (this.options.exportedDocumentProperties & flag) == 0)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(command);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.Year, value.getFullYear());
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.Month, value.getMonth());
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.Day, value.getDay());
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.Hour, value.getHours());
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.Minute, value.getMinutes());
        this.rtfBuilder.closeGroup();
    }
    exportDocument() {
        for (const section of this.documentModel.sections)
            this.exportSectionFiltered(section);
    }
    exportSectionFiltered(section) {
        if (this.shouldExportSection(section))
            this.exportSection(section);
    }
    shouldExportSection(_section) {
        return this.shouldExportHiddenText;
    }
    exportSection(section) {
        this.startNewSection(section);
        this.currentSection = section;
        this.startSectionParagraphIndex = this.subDocument.getParagraphIndexByPosition(this.currentSection.interval.start);
        this.exportSectionHeadersFootersCore(section);
        this.updateIterators(section.interval.start);
        this.exportParagraphs(this.subDocument.getParagraphsByInterval(section.interval));
    }
    startNewSection(section) {
        if (!control/* ControlOptions */.tH.isEnabled(this.documentModel.options.sections))
            return;
        this.rtfBuilder.writeCommand(RtfExportSR.ResetSectionProperties);
        this.sectionPropertiesExporter.exportSectionProperties(section);
    }
    exportParagraphs(paragraphs) {
        if (!paragraphs.length)
            return;
        let endPosition;
        for (let i = 0; i < paragraphs.length; i++) {
            const paragraph = paragraphs[i];
            i = this.exportParagraphFiltered(paragraph, i);
            endPosition = paragraph.getEndPosition();
        }
        if (this.bookmarksIterator.update(endPosition))
            this.exportBookmark(this.bookmarksIterator);
        if (this.permissionsIterator.update(endPosition))
            this.exportRangePermission(this.permissionsIterator);
    }
    exportParagraphFiltered(paragraph, paragraphIndex) {
        return this.exportParagraph(paragraph, paragraphIndex);
    }
    exportParagraph(paragraph, paragraphIndex) {
        this.tableIterator.update(paragraph.interval.start);
        const tablesInfo = this.tableIterator.generateInfo(paragraph.interval.start);
        if (tablesInfo == null) {
            this.exportSingleParagraph(paragraph);
            return paragraphIndex;
        }
        else
            return RtfTableExporter.exportTable(this, tablesInfo[0].table.getTopLevelParent()) - this.startSectionParagraphIndex;
    }
    exportSingleParagraph(paragraph) {
        this.exportParagraphCore(paragraph, 0, 0, -1);
        this.finishParagraph(paragraph);
    }
    finishParagraph(paragraph) {
        const endParagraphPosition = paragraph.getEndPosition();
        const islastParagraphInDocument = endParagraphPosition == this.subDocument.getDocumentEndPosition();
        if (islastParagraphInDocument && this.supressExportLastParagraph(paragraph))
            return;
        if (!islastParagraphInDocument && endParagraphPosition == this.currentSection.getEndPosition())
            this.rtfBuilder.writeCommand(RtfExportSR.SectionEndMark);
        else
            this.rtfBuilder.writeCommand(RtfExportSR.EndOfParagraph);
    }
    supressExportLastParagraph(_paragraph) {
        if (!this.subDocument.isMain())
            return false;
        return this.options.exportFinalParagraphMark == ExportFinalParagraphMark.Never;
    }
    exportParagraphCore(paragraph, tableNestingLevel, _condTypes, _tableStyleIndex) {
        this.startNewParagraph(paragraph, tableNestingLevel);
        this.exportParagraphRuns(paragraph);
        this.exportParagraphCharacterProperties(paragraph);
    }
    startNewParagraph(paragraph, tableNestingLevel) {
        if (paragraph.isInList())
            this.writeAlternativeText(paragraph);
        this.rtfBuilder.writeCommand(RtfExportSR.ResetParagraphProperties);
        this.startNewInnerParagraph(paragraph, tableNestingLevel);
    }
    startNewInnerParagraph(paragraph, tableNestingLevel) {
        this.rtfBuilder.writeCommand(RtfExportSR.ResetCharacterFormatting);
        this.paragraphPropertiesExporter.exportParagraphProperties(paragraph, tableNestingLevel);
    }
    writeAlternativeText(paragraph) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.AlternativeText);
        this.rtfBuilder.writeCommand(RtfExportSR.ResetParagraphProperties);
        this.rtfBuilder.writeCommand(RtfExportSR.ResetCharacterFormatting);
        const counters = this.subDocument.documentModel.getRangeListCounters(paragraph);
        this.rtfBuilder.writeText(paragraph.getNumberingListTextCore(counters));
        const separator = RtfNumberingListExporter.getListLevelSeparator(paragraph.getListLevel().getListLevelProperties().separator);
        this.rtfBuilder.writeText(separator.toString());
        this.rtfBuilder.closeGroup();
    }
    exportParagraphCharacterProperties(paragraph) {
        const run = this.subDocument.getRunByPosition(paragraph.getEndPosition() - 1);
        this.characterPropertiesExporter.exportParagraphCharacterProperties(run.getCharacterMergedProperties());
    }
    exportParagraphRuns(paragraph) {
        const modelIterator = new model_iterator/* ModelIterator */.w(this.subDocument, false);
        modelIterator.setPosition(paragraph.interval.start);
        do {
            this.exportRun(modelIterator.run, modelIterator.getRunText(), modelIterator.getAbsolutePosition());
        } while (modelIterator.moveToNextRun() && modelIterator.getAbsolutePosition() < paragraph.interval.end);
    }
    exportRun(run, runText, absolutePosition) {
        if (this.bookmarksIterator.update(absolutePosition))
            this.exportBookmark(this.bookmarksIterator);
        if (this.permissionsIterator.update(absolutePosition))
            this.exportRangePermission(this.permissionsIterator);
        const handler = this.runHandlerMap[run.getType()];
        if (handler)
            handler.call(this, run, runText, absolutePosition);
        this.updateIterators(absolutePosition);
    }
    exportTextRun(run, runText, absolutePosition) {
        this.rtfBuilder.openGroup();
        this.characterPropertiesExporter.exportCharacterProperties(run.getCharacterMergedProperties());
        this.characterPropertiesExporter.exportCharacterStyle(run.characterStyle, run.paragraph.paragraphStyle);
        const runLength = run.getLength();
        if (this.bookmarksIterator.hasObjects(absolutePosition, runLength) || this.permissionsIterator.hasObjects(absolutePosition, runLength)) {
            let startIndex = 0;
            let length = 1;
            const exportRunText = () => {
                this.rtfBuilder.writeText(runText.substr(startIndex, length));
                startIndex += length;
                length = 0;
            };
            while (startIndex + length < runText.length) {
                const position = absolutePosition + startIndex + length;
                if (this.bookmarksIterator.update(position)) {
                    exportRunText();
                    this.exportBookmark(this.bookmarksIterator);
                }
                if (this.permissionsIterator.update(position)) {
                    exportRunText();
                    this.exportRangePermission(this.permissionsIterator);
                }
                length++;
            }
            if (length > 0)
                this.rtfBuilder.writeText(runText.substr(startIndex, length));
        }
        else
            this.rtfBuilder.writeText(runText);
        this.rtfBuilder.closeGroup();
    }
    exportBookmark(bookmarksIterator) {
        for (const state of bookmarksIterator.addedObjects) {
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeCommand(RtfExportSR.BookmarkStart);
            this.rtfBuilder.writeText(state.object.name);
            this.rtfBuilder.closeGroup();
        }
        for (const state of bookmarksIterator.deletedObjects) {
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeCommand(RtfExportSR.BookmarkEnd);
            this.rtfBuilder.writeText(state.object.name);
            this.rtfBuilder.closeGroup();
        }
    }
    exportRangePermission(permissionsIterator) {
        for (const state of permissionsIterator.addedObjects) {
            const data = this.generateRangePermissionData(state.object);
            if (string.StringUtils.isNullOrEmpty(data))
                return;
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeCommand(RtfExportSR.RangePermissionStart);
            this.rtfBuilder.writeTextDirect(data);
            this.rtfBuilder.closeGroup();
        }
        for (const state of permissionsIterator.deletedObjects) {
            const data = this.generateRangePermissionData(state.object);
            if (string.StringUtils.isNullOrEmpty(data))
                return;
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeCommand(RtfExportSR.RangePermissionEnd);
            this.rtfBuilder.writeTextDirect(data);
            this.rtfBuilder.closeGroup();
        }
    }
    generateRangePermissionData(rangePermission) {
        const helper = this.rtfExportHelper;
        if (!helper)
            return '';
        const userIndex = helper.getUserIndex(rangePermission);
        if (userIndex == 0)
            return '';
        const rangeIndex = this.subDocument.rangePermissions.indexOf(rangePermission);
        if (rangeIndex < 0)
            return '';
        return this.intToShortString(userIndex) + "0100" + this.intToShortString(rangeIndex) + "0000";
    }
    intToShortString(value) {
        value &= 0x0000FFFF;
        const low = value & 0x000000FF;
        const high = value >> 8;
        return string.StringUtils.padLeft(low.toString(16), 2, '0') + string.StringUtils.padLeft(high.toString(16), 2, '0');
    }
    fieldCodeStartRunHandler(_run, _runText, absolutePosition) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.Field);
        const field = this.subDocument.fields[fields_field/* Field */.gN.binaryIndexOf(this.subDocument.fields, absolutePosition + 1)];
        if (field.locked)
            this.rtfBuilder.writeCommand(RtfExportSR.FieldLocked);
        this.rtfBuilder.writeCommand(RtfExportSR.FieldCodeView);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.FieldInstructions);
    }
    fieldCodeEndRunHandler(_run, _runText, _absolutePosition) {
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.FieldResult);
    }
    fieldResultEndRunHandler(_run, _runText, _absolutePosition) {
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.closeGroup();
    }
    inlinePictureRunHandler(run, _runText, _absolutePosition) {
        const characterProperties = run.getCharacterMergedProperties();
        const shouldExportCharacterProperties = CharacterPropertiesExportHelper.ShouldExportInlinePictureRunCharacterProperties(characterProperties, this.documentModel.colorProvider);
        if (shouldExportCharacterProperties) {
            this.rtfBuilder.openGroup();
            this.characterPropertiesExporter.exportCharacterProperties(characterProperties);
        }
        const exportStrategy = new RtfInlinePictureExportStrategy();
        const inlinePictureRun = run;
        exportStrategy.export(this.rtfBuilder, inlinePictureRun.info, this.documentModel.cache.imageCache, inlinePictureRun.info.containerProperties);
        if (shouldExportCharacterProperties)
            this.rtfBuilder.closeGroup();
    }
    inlineTextBoxRunHandler(_run, _runText, _absolutePosition) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    anchoredPictureRunHandler(run, _runText, _absolutePosition) {
        new RtfAnchoredPictureRunExporter(this.rtfBuilder, run, this.documentModel.cache.imageCache).export();
    }
    anchoredTextBoxRunHandler(run, _runText, _absolutePosition) {
        const textBoxRun = run;
        new RtfAnchoredTextBoxRunExporter(this.rtfBuilder, textBoxRun, () => {
            this.exportSubDocument(this.documentModel.subDocuments[textBoxRun.subDocId], this.exportPieceTable);
        }).export();
    }
    exportSectionHeadersFootersCore(section) {
        if (!control/* ControlOptions */.tH.isEnabled(this.documentModel.options.headersFooters))
            return;
        const innerFirstPageHeader = section.headers.getObject(section_enums/* HeaderFooterType */.pi.First);
        if (innerFirstPageHeader)
            this.exportFirstPageHeader(innerFirstPageHeader, section.headers.isLinkedToPrevious(section_enums/* HeaderFooterType */.pi.First));
        const innerOddPageHeader = section.headers.getObject(section_enums/* HeaderFooterType */.pi.Odd);
        if (innerOddPageHeader)
            this.exportOddPageHeader(innerOddPageHeader, section.headers.isLinkedToPrevious(section_enums/* HeaderFooterType */.pi.Odd));
        const innerEvenPageHeader = section.headers.getObject(section_enums/* HeaderFooterType */.pi.Even);
        if (innerEvenPageHeader)
            this.exportEvenPageHeader(innerEvenPageHeader, section.headers.isLinkedToPrevious(section_enums/* HeaderFooterType */.pi.Even));
        const innerFirstPageFooter = section.footers.getObject(section_enums/* HeaderFooterType */.pi.First);
        if (innerFirstPageFooter)
            this.exportFirstPageFooter(innerFirstPageFooter, section.footers.isLinkedToPrevious(section_enums/* HeaderFooterType */.pi.First));
        const innerOddPageFooter = section.footers.getObject(section_enums/* HeaderFooterType */.pi.Odd);
        if (innerOddPageFooter)
            this.exportOddPageFooter(innerOddPageFooter, section.footers.isLinkedToPrevious(section_enums/* HeaderFooterType */.pi.Odd));
        const innerEvenPageFooter = section.footers.getObject(section_enums/* HeaderFooterType */.pi.Even);
        if (innerEvenPageFooter)
            this.exportEvenPageFooter(innerEvenPageFooter, section.footers.isLinkedToPrevious(section_enums/* HeaderFooterType */.pi.Even));
    }
    exportFirstPageHeader(sectionHeader, linkedToPrevious) {
        if (linkedToPrevious)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.SectionFirstPageHeader);
        this.exportFirstPageHeaderCore(sectionHeader, linkedToPrevious);
        this.rtfBuilder.closeGroup();
    }
    exportOddPageHeader(sectionHeader, linkedToPrevious) {
        if (linkedToPrevious)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.SectionOddPageHeader);
        this.exportOddPageHeaderCore(sectionHeader, linkedToPrevious);
        this.rtfBuilder.closeGroup();
    }
    exportEvenPageHeader(sectionHeader, linkedToPrevious) {
        if (linkedToPrevious)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.SectionEvenPageHeader);
        this.exportEvenPageHeaderCore(sectionHeader, linkedToPrevious);
        this.rtfBuilder.closeGroup();
    }
    exportFirstPageFooter(sectionFooter, linkedToPrevious) {
        if (linkedToPrevious)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.SectionFirstPageFooter);
        this.exportFirstPageFooterCore(sectionFooter, linkedToPrevious);
        this.rtfBuilder.closeGroup();
    }
    exportOddPageFooter(sectionFooter, linkedToPrevious) {
        if (linkedToPrevious)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.SectionOddPageFooter);
        this.exportOddPageFooterCore(sectionFooter, linkedToPrevious);
        this.rtfBuilder.closeGroup();
    }
    exportEvenPageFooter(sectionFooter, linkedToPrevious) {
        if (linkedToPrevious)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.SectionEvenPageFooter);
        this.exportEvenPageFooterCore(sectionFooter, linkedToPrevious);
        this.rtfBuilder.closeGroup();
    }
    exportFirstPageHeaderCore(sectionHeader, _linkedToPrevious) {
        const subDocument = this.documentModel.subDocuments[sectionHeader.subDocumentId];
        this.exportSubDocument(subDocument, this.exportPieceTable);
    }
    exportOddPageHeaderCore(sectionHeader, _linkedToPrevious) {
        const subDocument = this.documentModel.subDocuments[sectionHeader.subDocumentId];
        this.exportSubDocument(subDocument, this.exportPieceTable);
    }
    exportEvenPageHeaderCore(sectionHeader, _linkedToPrevious) {
        const subDocument = this.documentModel.subDocuments[sectionHeader.subDocumentId];
        this.exportSubDocument(subDocument, this.exportPieceTable);
    }
    exportFirstPageFooterCore(sectionFooter, _linkedToPrevious) {
        const subDocument = this.documentModel.subDocuments[sectionFooter.subDocumentId];
        this.exportSubDocument(subDocument, this.exportPieceTable);
    }
    exportOddPageFooterCore(sectionFooter, _linkedToPrevious) {
        const subDocument = this.documentModel.subDocuments[sectionFooter.subDocumentId];
        this.exportSubDocument(subDocument, this.exportPieceTable);
    }
    exportEvenPageFooterCore(sectionFooter, _linkedToPrevious) {
        const subDocument = this.documentModel.subDocuments[sectionFooter.subDocumentId];
        this.exportSubDocument(subDocument, this.exportPieceTable);
    }
    exportPieceTable() {
        this.exportParagraphs(this.subDocument.paragraphs);
    }
}
RtfContentExporter.verticalAlignmentTypes = createVerticalAlignmentTypesTable();
RtfContentExporter.sectionStartTypes = createSectionStartTypesTable();
RtfContentExporter.chapterSeparatorTypes = createChapterSeparatorTypesTable();
RtfContentExporter.pageNumberingTypes = createPageNumberingTypesTable();
RtfContentExporter.sectionFootNoteNumberingTypes = createSectionFootNoteNumberingTypesTable();
RtfContentExporter.sectionEndNoteNumberingTypes = createSectionEndNoteNumberingTypesTable();
RtfContentExporter.footNoteNumberingTypes = createFootNoteNumberingTypesTable();
RtfContentExporter.endNoteNumberingTypes = createEndNoteNumberingTypesTable();
RtfContentExporter.borderLineStyles = createBorderLineStylesTable();
RtfContentExporter.conditionalStylesTypes = createConditionalStylesTable();
RtfContentExporter.predefinedUserGroups = createPredefinedUserGroups();
function createVerticalAlignmentTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(general_section_info/* VerticalAlignment */.Q.Both, RtfExportSR.VerticalAlignmentJustify)
        .add(general_section_info/* VerticalAlignment */.Q.Bottom, RtfExportSR.VerticalAlignmentBottom)
        .add(general_section_info/* VerticalAlignment */.Q.Center, RtfExportSR.VerticalAlignmentCenter)
        .add(general_section_info/* VerticalAlignment */.Q.Top, RtfExportSR.VerticalAlignmentTop)
        .get();
}
function createSectionStartTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(section_enums/* SectionStartType */.tk.Continuous, RtfExportSR.SectionBreakTypeContinuous)
        .add(section_enums/* SectionStartType */.tk.NextPage, RtfExportSR.SectionBreakTypeNextPage)
        .add(section_enums/* SectionStartType */.tk.OddPage, RtfExportSR.SectionBreakTypeOddPage)
        .add(section_enums/* SectionStartType */.tk.EvenPage, RtfExportSR.SectionBreakTypeEvenPage)
        .add(section_enums/* SectionStartType */.tk.Column, RtfExportSR.SectionBreakTypeColumn)
        .get();
}
function createChapterSeparatorTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(Characters.Hyphen, RtfExportSR.SectionChapterSeparatorHyphen)
        .add('.', RtfExportSR.SectionChapterSeparatorPeriod)
        .add(':', RtfExportSR.SectionChapterSeparatorColon)
        .add(Characters.EmDash, RtfExportSR.SectionChapterSeparatorEmDash)
        .add(Characters.EnDash, RtfExportSR.SectionChapterSeparatorEnDash)
        .get();
}
function createPageNumberingTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(list_level_properties/* NumberingFormat */.uV.Decimal, RtfExportSR.SectionPageNumberingDecimal)
        .add(list_level_properties/* NumberingFormat */.uV.UpperRoman, RtfExportSR.SectionPageNumberingUpperRoman)
        .add(list_level_properties/* NumberingFormat */.uV.LowerRoman, RtfExportSR.SectionPageNumberingLowerRoman)
        .add(list_level_properties/* NumberingFormat */.uV.UpperLetter, RtfExportSR.SectionPageNumberingUpperLetter)
        .add(list_level_properties/* NumberingFormat */.uV.LowerLetter, RtfExportSR.SectionPageNumberingLowerLetter)
        .add(list_level_properties/* NumberingFormat */.uV.ArabicAbjad, RtfExportSR.SectionPageNumberingArabicAbjad)
        .add(list_level_properties/* NumberingFormat */.uV.ArabicAlpha, RtfExportSR.SectionPageNumberingArabicAlpha)
        .add(list_level_properties/* NumberingFormat */.uV.Chosung, RtfExportSR.SectionPageNumberingChosung)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalEnclosedCircle, RtfExportSR.SectionPageNumberingDecimalEnclosedCircle)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalFullWidth, RtfExportSR.SectionPageNumberingDecimalFullWidth)
        .add(list_level_properties/* NumberingFormat */.uV.Ganada, RtfExportSR.SectionPageNumberingGanada)
        .add(list_level_properties/* NumberingFormat */.uV.HindiVowels, RtfExportSR.SectionPageNumberingHindiVowels)
        .add(list_level_properties/* NumberingFormat */.uV.HindiConsonants, RtfExportSR.SectionPageNumberingHindiConsonants)
        .add(list_level_properties/* NumberingFormat */.uV.HindiNumbers, RtfExportSR.SectionPageNumberingHindiNumbers)
        .add(list_level_properties/* NumberingFormat */.uV.HindiDescriptive, RtfExportSR.SectionPageNumberingHindiDescriptive)
        .add(list_level_properties/* NumberingFormat */.uV.ThaiLetters, RtfExportSR.SectionPageNumberingThaiLetters)
        .add(list_level_properties/* NumberingFormat */.uV.ThaiNumbers, RtfExportSR.SectionPageNumberingThaiNumbers)
        .add(list_level_properties/* NumberingFormat */.uV.ThaiDescriptive, RtfExportSR.SectionPageNumberingThaiDescriptive)
        .add(list_level_properties/* NumberingFormat */.uV.VietnameseDescriptive, RtfExportSR.SectionPageNumberingVietnameseDescriptive)
        .get();
}
function createSectionFootNoteNumberingTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(list_level_properties/* NumberingFormat */.uV.Decimal, RtfExportSR.SectionFootNoteNumberingFormatDecimal)
        .add(list_level_properties/* NumberingFormat */.uV.UpperRoman, RtfExportSR.SectionFootNoteNumberingFormatUpperRoman)
        .add(list_level_properties/* NumberingFormat */.uV.LowerRoman, RtfExportSR.SectionFootNoteNumberingFormatLowerRoman)
        .add(list_level_properties/* NumberingFormat */.uV.UpperLetter, RtfExportSR.SectionFootNoteNumberingFormatUpperLetter)
        .add(list_level_properties/* NumberingFormat */.uV.LowerLetter, RtfExportSR.SectionFootNoteNumberingFormatLowerLetter)
        .add(list_level_properties/* NumberingFormat */.uV.Chicago, RtfExportSR.SectionFootNoteNumberingFormatChicago)
        .add(list_level_properties/* NumberingFormat */.uV.Chosung, RtfExportSR.SectionFootNoteNumberingFormatChosung)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalEnclosedCircle, RtfExportSR.SectionFootNoteNumberingFormatDecimalEnclosedCircle)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalFullWidth, RtfExportSR.SectionFootNoteNumberingFormatDecimalFullWidth)
        .add(list_level_properties/* NumberingFormat */.uV.Ganada, RtfExportSR.SectionFootNoteNumberingFormatGanada)
        .get();
}
function createSectionEndNoteNumberingTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(list_level_properties/* NumberingFormat */.uV.Decimal, RtfExportSR.SectionEndNoteNumberingFormatDecimal)
        .add(list_level_properties/* NumberingFormat */.uV.UpperRoman, RtfExportSR.SectionEndNoteNumberingFormatUpperRoman)
        .add(list_level_properties/* NumberingFormat */.uV.LowerRoman, RtfExportSR.SectionEndNoteNumberingFormatLowerRoman)
        .add(list_level_properties/* NumberingFormat */.uV.UpperLetter, RtfExportSR.SectionEndNoteNumberingFormatUpperLetter)
        .add(list_level_properties/* NumberingFormat */.uV.LowerLetter, RtfExportSR.SectionEndNoteNumberingFormatLowerLetter)
        .add(list_level_properties/* NumberingFormat */.uV.Chicago, RtfExportSR.SectionEndNoteNumberingFormatChicago)
        .add(list_level_properties/* NumberingFormat */.uV.Chosung, RtfExportSR.SectionEndNoteNumberingFormatChosung)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalEnclosedCircle, RtfExportSR.SectionEndNoteNumberingFormatDecimalEnclosedCircle)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalFullWidth, RtfExportSR.SectionEndNoteNumberingFormatDecimalFullWidth)
        .add(list_level_properties/* NumberingFormat */.uV.Ganada, RtfExportSR.SectionEndNoteNumberingFormatGanada)
        .get();
}
function createFootNoteNumberingTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(list_level_properties/* NumberingFormat */.uV.Decimal, RtfExportSR.FootNoteNumberingFormatDecimal)
        .add(list_level_properties/* NumberingFormat */.uV.UpperRoman, RtfExportSR.FootNoteNumberingFormatUpperRoman)
        .add(list_level_properties/* NumberingFormat */.uV.LowerRoman, RtfExportSR.FootNoteNumberingFormatLowerRoman)
        .add(list_level_properties/* NumberingFormat */.uV.UpperLetter, RtfExportSR.FootNoteNumberingFormatUpperLetter)
        .add(list_level_properties/* NumberingFormat */.uV.LowerLetter, RtfExportSR.FootNoteNumberingFormatLowerLetter)
        .add(list_level_properties/* NumberingFormat */.uV.Chicago, RtfExportSR.FootNoteNumberingFormatChicago)
        .add(list_level_properties/* NumberingFormat */.uV.Chosung, RtfExportSR.FootNoteNumberingFormatChosung)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalEnclosedCircle, RtfExportSR.FootNoteNumberingFormatDecimalEnclosedCircle)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalFullWidth, RtfExportSR.FootNoteNumberingFormatDecimalFullWidth)
        .add(list_level_properties/* NumberingFormat */.uV.Ganada, RtfExportSR.FootNoteNumberingFormatGanada)
        .get();
}
function createEndNoteNumberingTypesTable() {
    return new map_creator/* MapCreator */.M()
        .add(list_level_properties/* NumberingFormat */.uV.Decimal, RtfExportSR.EndNoteNumberingFormatDecimal)
        .add(list_level_properties/* NumberingFormat */.uV.UpperRoman, RtfExportSR.EndNoteNumberingFormatUpperRoman)
        .add(list_level_properties/* NumberingFormat */.uV.LowerRoman, RtfExportSR.EndNoteNumberingFormatLowerRoman)
        .add(list_level_properties/* NumberingFormat */.uV.UpperLetter, RtfExportSR.EndNoteNumberingFormatUpperLetter)
        .add(list_level_properties/* NumberingFormat */.uV.LowerLetter, RtfExportSR.EndNoteNumberingFormatLowerLetter)
        .add(list_level_properties/* NumberingFormat */.uV.Chicago, RtfExportSR.EndNoteNumberingFormatChicago)
        .add(list_level_properties/* NumberingFormat */.uV.Chosung, RtfExportSR.EndNoteNumberingFormatChosung)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalEnclosedCircle, RtfExportSR.EndNoteNumberingFormatDecimalEnclosedCircle)
        .add(list_level_properties/* NumberingFormat */.uV.DecimalFullWidth, RtfExportSR.EndNoteNumberingFormatDecimalFullWidth)
        .add(list_level_properties/* NumberingFormat */.uV.Ganada, RtfExportSR.EndNoteNumberingFormatGanada)
        .get();
}
function createPredefinedUserGroups() {
    return new map_creator/* MapCreator */.M()
        .add(0xFFFA, range_permissions/* RangePermission */.O.Current_GROUP_NAME)
        .add(0xFFFB, range_permissions/* RangePermission */.O.Editors_GROUP_NAME)
        .add(0xFFFC, range_permissions/* RangePermission */.O.Owners_GROUP_NAME)
        .add(0xFFFD, range_permissions/* RangePermission */.O.Contributors_GROUP_NAME)
        .add(0xFFFE, range_permissions/* RangePermission */.O.Administrators_GROUP_NAME)
        .add(0xFFFF, range_permissions/* RangePermission */.O.Everyone_GROUP_NAME)
        .get();
}
function createBorderLineStylesTable() {
    return new map_creator/* MapCreator */.M()
        .add(borders_enums/* BorderLineStyle */.u.DashDotStroked, RtfExportSR.BorderDashDotStroked)
        .add(borders_enums/* BorderLineStyle */.u.Dashed, RtfExportSR.BorderDashed)
        .add(borders_enums/* BorderLineStyle */.u.DashSmallGap, RtfExportSR.BorderDashedSmall)
        .add(borders_enums/* BorderLineStyle */.u.DotDash, RtfExportSR.BorderDotDashed)
        .add(borders_enums/* BorderLineStyle */.u.DotDotDash, RtfExportSR.BorderDotDotDashed)
        .add(borders_enums/* BorderLineStyle */.u.Dotted, RtfExportSR.BorderDotted)
        .add(borders_enums/* BorderLineStyle */.u.Double, RtfExportSR.BorderDouble)
        .add(borders_enums/* BorderLineStyle */.u.DoubleWave, RtfExportSR.BorderDoubleWavy)
        .add(borders_enums/* BorderLineStyle */.u.Inset, RtfExportSR.BorderInset)
        .add(borders_enums/* BorderLineStyle */.u.None, RtfExportSR.BorderNone)
        .add(borders_enums/* BorderLineStyle */.u.Nil, RtfExportSR.NoBorder)
        .add(borders_enums/* BorderLineStyle */.u.Outset, RtfExportSR.BorderOutset)
        .add(borders_enums/* BorderLineStyle */.u.Single, RtfExportSR.BorderSingle)
        .add(borders_enums/* BorderLineStyle */.u.ThickThinLargeGap, RtfExportSR.BorderThickThinLarge)
        .add(borders_enums/* BorderLineStyle */.u.ThickThinMediumGap, RtfExportSR.BorderThickThinMedium)
        .add(borders_enums/* BorderLineStyle */.u.ThickThinSmallGap, RtfExportSR.BorderThickThinSmall)
        .add(borders_enums/* BorderLineStyle */.u.ThinThickLargeGap, RtfExportSR.BorderThinThickLarge)
        .add(borders_enums/* BorderLineStyle */.u.ThinThickMediumGap, RtfExportSR.BorderThinThickMedium)
        .add(borders_enums/* BorderLineStyle */.u.ThinThickSmallGap, RtfExportSR.BorderThinThickSmall)
        .add(borders_enums/* BorderLineStyle */.u.ThinThickThinLargeGap, RtfExportSR.BorderThinThickThinLarge)
        .add(borders_enums/* BorderLineStyle */.u.ThinThickThinMediumGap, RtfExportSR.BorderThinThickThinMedium)
        .add(borders_enums/* BorderLineStyle */.u.ThinThickThinSmallGap, RtfExportSR.BorderThinThickThinSmall)
        .add(borders_enums/* BorderLineStyle */.u.ThreeDEmboss, RtfExportSR.BorderThreeDEmboss)
        .add(borders_enums/* BorderLineStyle */.u.ThreeDEngrave, RtfExportSR.BorderThreeDEngrave)
        .add(borders_enums/* BorderLineStyle */.u.Triple, RtfExportSR.BorderTriple)
        .add(borders_enums/* BorderLineStyle */.u.Wave, RtfExportSR.BorderWavy)
        .get();
}
function createConditionalStylesTable() {
    return new map_creator/* MapCreator */.M()
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.BottomLeftCell, RtfExportSR.TableConditionalStyleBottomLeftCell)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.BottomRightCell, RtfExportSR.TableConditionalStyleBottomRightCell)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.EvenColumnBanding, RtfExportSR.TableConditionalStyleEvenColumnBanding)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.EvenRowBanding, RtfExportSR.TableConditionalStyleEvenRowBanding)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.FirstColumn, RtfExportSR.TableConditionalStyleFirstColumn)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.FirstRow, RtfExportSR.TableConditionalStyleFirstRow)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.LastColumn, RtfExportSR.TableConditionalStyleLastColumn)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.LastRow, RtfExportSR.TableConditionalStyleLastRow)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.OddColumnBanding, RtfExportSR.TableConditionalStyleOddColumnBanding)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.OddRowBanding, RtfExportSR.TableConditionalStyleOddRowBanding)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.TopLeftCell, RtfExportSR.TableConditionalStyleTopLeftCell)
        .add(table_base_structures/* ConditionalTableStyleFormatting */.pB.TopRightCell, RtfExportSR.TableConditionalStyleTopRightCell)
        .get();
}

// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/font-info-cache.ts + 1 modules
var font_info_cache = __webpack_require__(9467);
// EXTERNAL MODULE: ./src/common/model/color/color-model-info.ts
var color_model_info = __webpack_require__(4837);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/comparers.js
var comparers = __webpack_require__(4170);
;// CONCATENATED MODULE: ./src/common/formats/rtf/export/helpers/rtf-export-helper.ts







class RtfExportHelper {
    constructor() {
        this.colorCollection = [];
        this.colorCollection.push(color_model_info/* ColorModelInfo */.k.empty);
        this.fontNamesCollection = [];
        this.numberingListCollection = {};
        this.listOverrideCollectionIndex = {};
        this.listOverrideCollection = [];
        this.defaultFontIndex = this.getFontNameIndex(font_info_cache/* FontInfoCache */.I.defaultFontName);
        this.paragraphStylesCollectionIndex = {};
        this.characterStylesCollectionIndex = {};
        this.tableStylesCollectionIndex = {};
        this.fontCharsetTable = {};
        this.stylesCollection = [];
        this.userCollection = [];
    }
    getFontNameIndex(fontName) {
        let fontIndex = this.fontNamesCollection.indexOf(fontName);
        if (fontIndex >= 0)
            return fontIndex;
        this.fontNamesCollection.push(fontName);
        return this.fontNamesCollection.length - 1;
    }
    getColorIndex(color) {
        let colorIndex = utils_list.ListUtils.indexBy(this.colorCollection, (c) => c.equals(color));
        if (colorIndex < 0) {
            colorIndex = this.colorCollection.length;
            this.colorCollection.push(color);
        }
        return colorIndex;
    }
    blendColor(color) {
        return dx_color/* DXColor */.F.blend(color, dx_color/* DXColor */.F.white);
    }
    getUserIndex(rangePermission) {
        let index = this.userCollection.findIndex((userName) => comparers.Comparers.stringIgnoreCase(userName, rangePermission.userName) == 0);
        if (index >= 0)
            return index + 1;
        const predefinedUserGroups = RtfContentExporter.predefinedUserGroups;
        const id = number/* NumberMapUtils */.j.keyBy(predefinedUserGroups, (g) => comparers.Comparers.stringIgnoreCase(g, rangePermission.group) == 0);
        return id != null ? id : 0;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/export/exporter.ts











class RtfExporter {
    get documentModel() { return this.modelManipulator.model; }
    constructor(modelManipulator, options) {
        this.modelManipulator = modelManipulator;
        this.options = options;
        this.rtfExportHelper = new RtfExportHelper();
        this.contentExporter = new RtfContentExporter(this.documentModel, options, this.rtfExportHelper);
        this.rtfBuilder = this.contentExporter.createRtfBuilder();
    }
    exportToBlob(callback) {
        this.modelManipulator.picture.loader.ensureAllPicturesLoaded(this.options.ensurePictureLoadedTimeout, (_loaded) => {
            callback(new Blob([this.exportAsString()], { type: 'application/rtf' }));
        });
    }
    exportToBase64(callback) {
        this.modelManipulator.picture.loader.ensureAllPicturesLoaded(this.options.ensurePictureLoadedTimeout, (_loaded) => {
            callback(btoa(this.exportAsString()));
        });
    }
    exportAsString() {
        this.exportCore();
        return this.rtfBuilder.rtfContent.getText();
    }
    exportCore() {
        this.contentExporter.export();
        let content = this.contentExporter.rtfBuilder.rtfContent;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.RtfSignature);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.DefaultFontIndex, this.rtfExportHelper.defaultFontIndex);
        this.exportFontTable();
        this.exportColorTable();
        this.exportDefaultProperties();
        this.exportStyleTable();
        this.exportListTable();
        this.exportListOverrideTable();
        this.exportParagraphGroupProperties();
        this.exportUsersTable();
        this.exportDocumentVariables();
        this.rtfBuilder.writeTextDirectUnsafe(content);
        this.rtfBuilder.closeGroup();
    }
    exportListTable() {
        const numberingListCollection = this.rtfExportHelper.numberingListCollection;
        const keys = Object.keys(numberingListCollection);
        if (keys.length <= 0)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.NumberingListTable);
        keys.forEach(key => {
            this.rtfBuilder.writeTextDirect(numberingListCollection[key]);
        });
        this.rtfBuilder.closeGroup();
    }
    exportListOverrideTable() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ListOverrideTable);
        const listOverrideCollection = this.rtfExportHelper.listOverrideCollection;
        const keys = Object.keys(listOverrideCollection);
        keys.forEach(key => {
            this.rtfBuilder.writeTextDirect(listOverrideCollection[key]);
        });
        this.rtfBuilder.closeGroup();
    }
    exportDefaultProperties() {
        this.exportDefaultCharacterProperties();
        this.exportDefaultParagraphProperties();
    }
    exportDefaultCharacterProperties() {
        if (string.StringUtils.isNullOrEmpty(this.rtfExportHelper.defaultCharacterProperties))
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.DefaultCharacterProperties);
        this.rtfBuilder.writeTextDirect(this.rtfExportHelper.defaultCharacterProperties);
        this.rtfBuilder.closeGroup();
    }
    exportDefaultParagraphProperties() {
        if (string.StringUtils.isNullOrEmpty(this.rtfExportHelper.defaultParagraphProperties))
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.DefaultParagraphProperties);
        this.rtfBuilder.writeTextDirect(this.rtfExportHelper.defaultParagraphProperties);
        this.rtfBuilder.closeGroup();
    }
    exportStyleTable() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.StyleTable);
        utils_list.ListUtils.forEach(this.rtfExportHelper.stylesCollection, (style) => {
            this.rtfBuilder.writeTextDirect(style);
        });
        this.rtfBuilder.closeGroup();
    }
    exportUsersTable() {
        const users = this.rtfExportHelper.userCollection;
        if (users.length <= 0)
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.UserTable);
        for (let i = 0; i < users.length; i++) {
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeText(users[i]);
            this.rtfBuilder.closeGroup();
        }
        this.rtfBuilder.closeGroup();
    }
    exportDocumentVariables() {
        this.documentModel.docVariables.foreach((name, value) => {
            if (!(0,common.isDefined)(value) || typeof (value) == "object")
                return;
            value = String(value);
            if (string.StringUtils.isNullOrEmpty(value))
                return;
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeCommand(RtfExportSR.DocumentVariable);
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeText(name);
            this.rtfBuilder.closeGroup();
            this.rtfBuilder.openGroup();
            this.rtfBuilder.writeText(value);
            this.rtfBuilder.closeGroup();
            this.rtfBuilder.closeGroup();
        });
    }
    exportParagraphGroupProperties() {
        const webSettings = this.contentExporter.documentModel.webSettings;
        if (!webSettings.isBodyMarginsSet())
            return;
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ParagraphGroupPropertiesTable);
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ParagraphGroupProperties);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.ParagraphGroupPropertiesId, 0);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.LeftIndentInTwips, webSettings.leftMargin);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.RightIndentInTwips, webSettings.rightMargin);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SpaceBefore, webSettings.topMargin);
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.SpaceAfter, webSettings.bottomMargin);
        this.rtfBuilder.closeGroup();
        this.rtfBuilder.closeGroup();
    }
    exportColorTable() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.ColorTable);
        utils_list.ListUtils.forEach(this.rtfExportHelper.colorCollection, (_color, index) => this.exportColorIndexTableEntry(index));
        this.rtfBuilder.closeGroup();
    }
    exportColorIndexTableEntry(colorIndex) {
        const colorInfo = this.rtfExportHelper.colorCollection[colorIndex];
        if (colorInfo.colorType == color_enums/* ColorType */.Mr.Rgb)
            this.exportRgbColor(colorInfo.toRgb(this.documentModel.colorProvider));
        if (colorInfo.colorType == color_enums/* ColorType */.Mr.Theme) {
            if (this.options.exportTheme)
                this.exportColorInfo(colorInfo);
            this.exportRgbColor(colorInfo.toRgb(this.documentModel.colorProvider));
        }
        this.rtfBuilder.writeTextDirect(";");
    }
    exportRgbColor(color) {
        if (!dx_color/* DXColor */.F.isTransparentOrEmpty(color)) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ColorRed, utils_color/* ColorUtils */.i.getRed(color));
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ColorGreen, utils_color/* ColorUtils */.i.getGreen(color));
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ColorBlue, utils_color/* ColorUtils */.i.getBlue(color));
        }
    }
    exportColorInfo(colorInfo) {
        const themeColor = RtfExportSR.ThemeColorValuesTable[colorInfo.themeValue];
        if (themeColor)
            this.rtfBuilder.writeCommand(themeColor);
        if (colorInfo.tint < 0 && colorInfo.tint > constants.Int32Constants.MIN_VALUE) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ThemeColorTint, tint_and_shade_calculator/* TintAndShadeCalculator */.f.maxTintValue);
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ThemeColorShade, tint_and_shade_calculator/* TintAndShadeCalculator */.f.calculateShadeFromColorModelInfoTint(colorInfo.tint));
        }
        if (colorInfo.tint > 0 && colorInfo.tint < constants.Int32Constants.MAX_VALUE) {
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ThemeColorTint, tint_and_shade_calculator/* TintAndShadeCalculator */.f.calculateTintFromColorModelInfoTint(colorInfo.tint));
            this.rtfBuilder.writeIntegerCommand(RtfExportSR.ThemeColorShade, tint_and_shade_calculator/* TintAndShadeCalculator */.f.maxTintValue);
        }
    }
    exportFontTable() {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeCommand(RtfExportSR.FontTable);
        const fontNames = this.rtfExportHelper.fontNamesCollection;
        const count = fontNames.length;
        for (let i = 0; i < count; i++)
            this.exportFontTableEntry(fontNames[i], i);
        this.rtfBuilder.closeGroup();
    }
    exportFontTableEntry(fontName, fontIndex) {
        this.rtfBuilder.openGroup();
        this.rtfBuilder.writeIntegerCommand(RtfExportSR.FontNumber, fontIndex);
        const containsNonAnsiChar = this.rtfBuilder.containsNonAnsiChar(fontName);
        if (containsNonAnsiChar)
            this.rtfBuilder.openGroup();
        this.rtfBuilder.writeText(fontName);
        if (containsNonAnsiChar)
            this.rtfBuilder.closeGroup();
        this.rtfBuilder.writeTextDirect(";");
        this.rtfBuilder.closeGroup();
    }
}

// EXTERNAL MODULE: ./src/common/formats/rtf/import/importer-options.ts + 1 modules
var importer_options = __webpack_require__(3725);
// EXTERNAL MODULE: ./src/common/formats/rtf/import/rtf-importer.ts + 196 modules
var rtf_importer = __webpack_require__(421);
;// CONCATENATED MODULE: ./src/common/formats/callback-helpers.ts



function getAfterInsertCallback(processor, subDocument, position, callback) {
    return (model, formatImagesImporter) => {
        formatImagesImporter.whenAllPicturesLoaded((_success) => {
            processor.beginUpdate();
            const result = processor.modelManager.modelManipulator.subDocument.insertSubDocument(new sub_document/* SubDocumentPosition */.rg(subDocument, position), new sub_document/* SubDocumentInterval */.v8(model.mainSubDocument, model.mainSubDocument.interval));
            model.updateHyperlinkFields(processor, new sub_document/* SubDocumentInterval */.v8(subDocument, result.insetedInterval), result.newSubDocuments);
            processor.endUpdate();
            callback(result.insetedInterval, true);
        }, 5000);
        const clientModelManager = new model_manager/* ClientModelManager */.wn(model, processor.modelManager.richOptions, new batch_updatable/* EmptyBatchUpdatableObject */.m1());
        formatImagesImporter.import(clientModelManager.modelManipulator);
    };
}
function getAfterInsertReject(callback) {
    return (_reason) => {
        callback(null, false);
    };
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/importer-in-subdocument.ts









function getRtfFromSubDocumentPublic(richOptions, subDocument, coreInterval) {
    const rangeCopy = create_range_copy_operation/* RangeCopy */.H.create(new sub_document/* SubDocumentIntervals */.Jt(subDocument, [coreInterval]));
    const newModelManager = new model_manager/* ClientModelManager */.wn(rangeCopy.model, richOptions, new batch_updatable/* EmptyBatchUpdatableObject */.m1());
    return new RtfExporter(newModelManager.modelManipulator, new RtfDocumentExporterOptions()).exportAsString();
}
function insertRtfInSubDocumentPublic(processor, subDocument, position, rtf, callback) {
    const options = new importer_options/* RtfImporterOptions */.m(() => { });
    new rtf_importer/* RtfImporter */.w(options).importFromString(rtf, processor.modelManager.richOptions, getAfterInsertCallback(processor, subDocument, position, callback), getAfterInsertReject(callback));
}

;// CONCATENATED MODULE: ./src/aspx/api/commands/rtf-commands.ts





class InsertRtfCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.InsertRtf;
    }
    execute(rtfText, position, subDocumentId, callback) {
        rtfText = api_utils/* ApiParametersChecker */.mL.check(rtfText, 1, false, [
            api_utils/* ApiParametersChecker */.mL.stringDescriptor('rtfText', (val) => val, false)
        ]);
        position = api_utils/* ApiParametersChecker */.mL.check(position, 2, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('position', (val) => val)
        ]);
        const subDocument = api_utils/* ApiParametersChecker */.mL.subDocumentById(subDocumentId, 3, true, this._core, true);
        callback = api_utils/* ApiParametersChecker */.mL.check(callback, 4, true, [
            api_utils/* ApiParametersChecker */.mL.functionDescriptor('callback', (val) => val)
        ]);
        if (!callback)
            callback = () => { };
        insertRtfInSubDocumentPublic(this._core, subDocument, position, rtfText, (interval, isRtfValid) => callback(api_utils/* ApiUtils */.FR.makeInterval(interval), isRtfValid));
        return true;
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}
class GetRtfCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.GetRtf;
    }
    execute(interval, callback, subDocumentId) {
        const coreInterval = api_utils/* ApiParametersChecker */.mL.check(interval, 1, false, [
            api_utils/* ApiParametersChecker */.mL.objectDescriptor('interval', 'ASPx.Interval', (v) => new fixed.FixedInterval(v.start, v.length))
        ]);
        callback = api_utils/* ApiParametersChecker */.mL.check(callback, 2, false, [
            api_utils/* ApiParametersChecker */.mL.functionDescriptor('callback', (val) => val)
        ]);
        const subDocument = api_utils/* ApiParametersChecker */.mL.subDocumentById(subDocumentId, 3, true, this._core, true);
        const rtf = getRtfFromSubDocumentPublic(this._core.modelManager.richOptions, subDocument, coreInterval);
        setTimeout(() => callback(rtf), 1);
        return true;
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/shortcuts/assign-shortcut-command.ts


class AssignShortcutCommandOptions extends command_base/* CommandOptions */.dg {
    constructor(control, keyCode, callback) {
        super(control);
        this.keyCode = keyCode;
        this.callback = callback;
    }
}
class AssignShortcutCommand extends command_base/* CommandBase */.eK {
    isEnabled() {
        return super.isEnabled();
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    executeCore(_state, options) {
        this.control.shortcutManager.assignShortcut(options.keyCode, options.callback);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/aspx/api/commands/shortcut-commands.ts




class shortcut_commands_AssignShortcutCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.AssignShortcut;
    }
    execute(keyCode, callback) {
        api_utils/* ApiUtils */.FR.assertNumber(keyCode, 'keyCode');
        api_utils/* ApiUtils */.FR.assertFunction(callback, 'callback');
        return this.coreCommand.execute(true, new AssignShortcutCommandOptions(this._core, keyCode, callback));
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

;// CONCATENATED MODULE: ./src/aspx/api/commands/spelling-commands.ts



class OpenSpellingDialogCommand extends api_command_base/* CommandWithSimpleStateBase */.p8 {
    constructor() {
        super(...arguments);
        this._coreCommandId = client_command/* RichEditClientCommand */.f.ShowSpellCheckerForm;
    }
    execute() {
        return this.coreCommand.execute(true);
    }
    getState() {
        return api_utils/* ApiUtils */.FR.createSimpleState(this.coreState);
    }
}

// EXTERNAL MODULE: ./src/aspx/api/commands/table-commands.ts
var table_commands = __webpack_require__(2248);
// EXTERNAL MODULE: ./src/aspx/api/commands/text-formatting-commands.ts
var text_formatting_commands = __webpack_require__(8331);
// EXTERNAL MODULE: ./src/aspx/api/commands/ui-commands.ts
var ui_commands = __webpack_require__(6867);
;// CONCATENATED MODULE: ./src/aspx/api/commands.ts




















class RichEditCommands {
    constructor(core) {
        this._core = core;
    }
    beginUpdate() {
        this._core.beginUpdate();
    }
    endUpdate() {
        this._core.endUpdate();
    }
    get fileNew() {
        return new FileNewCommand(this._core);
    }
    get fileOpen() {
        return new FileOpenCommand(this._core);
    }
    get fileOpenDialog() {
        return new FileOpenDialogCommand(this._core);
    }
    get fileSave() {
        return new FileSaveCommand(this._core);
    }
    get fileDownload() {
        return new FileDownloadCommand(this._core);
    }
    get fileSaveAs() {
        return new FileSaveAsCommand(this._core);
    }
    get fileSaveAsDialog() {
        return new FileSaveAsDialogCommand(this._core);
    }
    get filePrint() {
        return new FilePrintCommand(this._core);
    }
    get undo() {
        return new UndoCommand(this._core);
    }
    get redo() {
        return new RedoCommand(this._core);
    }
    get copy() {
        return new CopyCommand(this._core);
    }
    get paste() {
        return new PasteCommand(this._core);
    }
    get cut() {
        return new CutCommand(this._core);
    }
    get changeFontName() {
        return new text_formatting_commands/* ChangeFontNameCommand */.xU(this._core);
    }
    get changeFontSize() {
        return new text_formatting_commands/* ChangeFontSizeCommand */.Yo(this._core);
    }
    get increaseFontSize() {
        return new text_formatting_commands/* IncreaseFontSizeCommand */.Im(this._core);
    }
    get decreaseFontSize() {
        return new text_formatting_commands/* DecreaseFontSizeCommand */.pd(this._core);
    }
    get makeTextUpperCase() {
        return new text_formatting_commands/* MakeTextUpperCaseCommand */.DL(this._core);
    }
    get makeTextLowerCase() {
        return new text_formatting_commands/* MakeTextLowerCaseCommand */.Ad(this._core);
    }
    get capitalizeEachWordTextCase() {
        return new text_formatting_commands/* CapitalizeEachWordTextCaseCommand */.Sd(this._core);
    }
    get toggleTextCase() {
        return new text_formatting_commands/* ToggleTextCaseCommand */.p1(this._core);
    }
    get changeFontBold() {
        return new text_formatting_commands/* ChangeFontBoldCommand */.UC(this._core);
    }
    get changeFontItalic() {
        return new text_formatting_commands/* ChangeFontItalicCommand */.vn(this._core);
    }
    get changeFontUnderline() {
        return new text_formatting_commands/* ChangeFontUnderlineCommand */.NP(this._core);
    }
    get changeFontStrikeout() {
        return new text_formatting_commands/* ChangeFontStrikeoutCommand */.bN(this._core);
    }
    get changeFontSuperscript() {
        return new text_formatting_commands/* ChangeFontSuperscriptCommand */.On(this._core);
    }
    get changeFontSubscript() {
        return new text_formatting_commands/* ChangeFontSubscriptCommand */.OV(this._core);
    }
    get changeFontForeColor() {
        return new text_formatting_commands/* ChangeFontForeColorCommand */.oR(this._core);
    }
    get changeFontBackColor() {
        return new text_formatting_commands/* ChangeFontBackColorCommand */.As(this._core);
    }
    get clearFormatting() {
        return new text_formatting_commands/* ClearFormattingCommand */.T8(this._core);
    }
    get changeStyle() {
        return new text_formatting_commands/* ChangeStyleCommand */.Od(this._core);
    }
    get toggleBulletedList() {
        return new numbering_commands/* ToggleBulletedListCommand */.SW(this._core);
    }
    get toggleNumberingList() {
        return new numbering_commands/* ToggleNumberingListCommand */.$F(this._core);
    }
    get toggleMultilevelList() {
        return new numbering_commands/* ToggleMultilevelListCommand */.VA(this._core);
    }
    get increaseIndent() {
        return new paragraph_formatting_commands/* IncreaseIndentCommand */.Lo(this._core);
    }
    get decreaseIndent() {
        return new paragraph_formatting_commands/* DecreaseIndentCommand */.Yc(this._core);
    }
    get showHiddenSymbols() {
        return new paragraph_formatting_commands/* ShowHiddenSymbolsCommand */.le(this._core);
    }
    get toggleParagraphAlignmentLeft() {
        return new paragraph_formatting_commands/* ToggleParagraphAlignmentLeftCommand */.O_(this._core);
    }
    get toggleParagraphAlignmentCenter() {
        return new paragraph_formatting_commands/* ToggleParagraphAlignmentCenterCommand */.I9(this._core);
    }
    get toggleParagraphAlignmentRight() {
        return new paragraph_formatting_commands/* ToggleParagraphAlignmentRightCommand */.Lw(this._core);
    }
    get toggleParagraphAlignmentJustify() {
        return new paragraph_formatting_commands/* ToggleParagraphAlignmentJustifyCommand */.G$(this._core);
    }
    get setSingleParagraphSpacing() {
        return new paragraph_formatting_commands/* SetSingleParagraphSpacingCommand */.tl(this._core);
    }
    get setSesquialteralParagraphSpacing() {
        return new paragraph_formatting_commands/* SetSesquialteralParagraphSpacingCommand */.CZ(this._core);
    }
    get setDoubleParagraphSpacing() {
        return new paragraph_formatting_commands/* SetDoubleParagraphSpacingCommand */.mT(this._core);
    }
    get addSpacingBeforeParagraph() {
        return new paragraph_formatting_commands/* AddSpacingBeforeParagraphCommand */.DP(this._core);
    }
    get addSpacingAfterParagraph() {
        return new paragraph_formatting_commands/* AddSpacingAfterParagraphCommand */.X9(this._core);
    }
    get removeSpacingBeforeParagraph() {
        return new paragraph_formatting_commands/* RemoveSpacingBeforeParagraphCommand */.rn(this._core);
    }
    get removeSpacingAfterParagraph() {
        return new paragraph_formatting_commands/* RemoveSpacingAfterParagraphCommand */.Zh(this._core);
    }
    get changeParagraphBackColor() {
        return new paragraph_formatting_commands/* ChangeParagraphBackColorCommand */.RO(this._core);
    }
    get openFontFormattingDialog() {
        return new text_formatting_commands/* OpenFontFormattingDialogCommand */.vZ(this._core);
    }
    get changeFontFormatting() {
        return new text_formatting_commands/* ChangeFontFormattingCommand */.ed(this._core);
    }
    get openParagraphFormattingDialog() {
        return new paragraph_formatting_commands/* OpenParagraphFormattingDialogCommand */._W(this._core);
    }
    get changeParagraphFormatting() {
        return new paragraph_formatting_commands/* ChangeParagraphFormattingCommand */.Db(this._core);
    }
    get insertPageBreak() {
        return new InsertPageBreakCommand(this._core);
    }
    get openInsertTableDialog() {
        return new table_commands/* OpenInsertTableDialogCommand */.PR(this._core);
    }
    get insertTable() {
        return new table_commands/* InsertTableCommand */.yq(this._core);
    }
    get openInsertPictureDialog() {
        return new object_commands/* OpenInsertPictureDialogCommand */.Cj(this._core);
    }
    get insertPicture() {
        return new object_commands/* InsertPictureCommand */.uQ(this._core);
    }
    get openInsertBookmarkDialog() {
        return new OpenInsertBookmarkDialogCommand(this._core);
    }
    get insertBookmark() {
        return new InsertBookmarkCommand(this._core);
    }
    get deleteBookmark() {
        return new DeleteBookmarkCommand(this._core);
    }
    get goToBookmark() {
        return new GoToBookmarkCommand(this._core);
    }
    get openInsertHyperlinkDialog() {
        return new hyperlink_commands/* OpenInsertHyperlinkDialogCommand */.jI(this._core);
    }
    get insertHyperlink() {
        return new hyperlink_commands/* InsertHyperlinkCommand */.EE(this._core);
    }
    get deleteHyperlink() {
        return new hyperlink_commands/* DeleteHyperlinkCommand */.wh(this._core);
    }
    get deleteHyperlinks() {
        return new hyperlink_commands/* DeleteHyperlinksCommand */.f5(this._core);
    }
    get openHyperlink() {
        return new hyperlink_commands/* OpenHyperlinkCommand */.ji(this._core);
    }
    get openInsertSymbolDialog() {
        return new object_commands/* OpenInsertSymbolDialogCommand */.rn(this._core);
    }
    get insertSymbol() {
        return new object_commands/* InsertSymbolCommand */.Kn(this._core);
    }
    get changePageMargins() {
        return new page_properties_commands/* ChangePageMarginsCommand */.bs(this._core);
    }
    get openPageMarginsDialog() {
        return new page_properties_commands/* OpenPageMarginsDialogCommand */.oQ(this._core);
    }
    get changePageOrientation() {
        return new page_properties_commands/* ChangePageOrientationCommand */.p_(this._core);
    }
    get setPageSizeDialog() {
        return new page_properties_commands/* SetPageSizeDialogCommand */.QH(this._core);
    }
    get openPagePaperSizeDialog() {
        return new page_properties_commands/* OpenPagePaperSizeDialogCommand */.wE(this._core);
    }
    get changePageSize() {
        return new page_properties_commands/* ChangePageSizeCommand */.vp(this._core);
    }
    get changeSectionEqualColumnCount() {
        return new page_properties_commands/* ChangeSectionEqualColumnCountCommand */.Mg(this._core);
    }
    get openSectionColumnsDialog() {
        return new page_properties_commands/* OpenSectionColumnsDialogCommand */.Fy(this._core);
    }
    get changeSectionColumns() {
        return new page_properties_commands/* ChangeSectionColumnsCommand */.dA(this._core);
    }
    get insertColumnBreak() {
        return new InsertColumnBreakCommand(this._core);
    }
    get insertSectionBreakNextPage() {
        return new InsertSectionBreakNextPageCommand(this._core);
    }
    get insertSectionBreakEvenPage() {
        return new InsertSectionBreakEvenPageCommand(this._core);
    }
    get insertSectionBreakOddPage() {
        return new InsertSectionBreakOddPageCommand(this._core);
    }
    get changePageColor() {
        return new page_properties_commands/* ChangePageColorCommand */.XA(this._core);
    }
    get showHorizontalRuler() {
        return new ui_commands/* ShowHorizontalRulerCommand */.Bf(this._core);
    }
    get setFullscreen() {
        return new ui_commands/* SetFullscreenCommand */.LN(this._core);
    }
    get changeViewType() {
        return new ui_commands/* ChangeViewTypeCommand */.Mz(this._core);
    }
    get forceSyncWithServer() {
        return new ui_commands/* ForceSyncWithServerCommand */.np(this._core);
    }
    get insertContentFromServer() {
        return new ui_commands/* InsertContentFromServerCommand */.R1(this._core);
    }
    get openNumberingListDialog() {
        return new numbering_commands/* OpenNumberingListDialogCommand */.k3(this._core);
    }
    get insertParagraph() {
        return new object_commands/* InsertParagraphCommand */.GN(this._core);
    }
    get insertText() {
        return new object_commands/* InsertTextCommand */.BT(this._core);
    }
    get delete() {
        return new object_commands/* DeleteCommand */.MA(this._core);
    }
    get removePrevWord() {
        return new object_commands/* RemovePrevWordCommand */.Jx(this._core);
    }
    get removeNextWord() {
        return new object_commands/* RemoveNextWordCommand */.f1(this._core);
    }
    get backspace() {
        return new object_commands/* BackspaceCommand */.Vo(this._core);
    }
    get insertLineBreak() {
        return new InsertLineBreakCommand(this._core);
    }
    get changePictureScale() {
        return new object_commands/* ChangePictureScaleCommand */.fl(this._core);
    }
    get incrementParagraphLeftIndent() {
        return new paragraph_formatting_commands/* IncrementParagraphLeftIndentCommand */.DC(this._core);
    }
    get decrementParagraphLeftIndent() {
        return new paragraph_formatting_commands/* DecrementParagraphLeftIndentCommand */.zK(this._core);
    }
    get moveContent() {
        return new object_commands/* MoveContentCommand */.tS(this._core);
    }
    get copyContent() {
        return new object_commands/* CopyContentCommand */.n2(this._core);
    }
    get insertTab() {
        return new object_commands/* InsertTabCommand */.fm(this._core);
    }
    get insertNonBreakingSpace() {
        return new object_commands/* InsertNonBreakingSpaceCommand */.rp(this._core);
    }
    get openTabsDialog() {
        return new paragraph_formatting_commands/* OpenTabsDialogCommand */.Wq(this._core);
    }
    get changeTabs() {
        return new paragraph_formatting_commands/* ChangeTabsCommand */.ar(this._core);
    }
    get openCustomNumberingListDialog() {
        return new numbering_commands/* OpenCustomNumberingListDialogCommand */.Cy(this._core);
    }
    get changeCustomNumberingList() {
        return new numbering_commands/* ChangeCustomNumberingListCommand */.su(this._core);
    }
    get restartNumberingList() {
        return new numbering_commands/* RestartNumberingListCommand */.w_(this._core);
    }
    get incrementNumberingIndent() {
        return new numbering_commands/* IncrementNumberingIndentCommand */.wt(this._core);
    }
    get decrementNumberingIndent() {
        return new numbering_commands/* DecrementNumberingIndentCommand */.rC(this._core);
    }
    get createField() {
        return new field_commands/* CreateFieldCommand */._o(this._core);
    }
    get updateField() {
        return new field_commands/* UpdateFieldCommand */.yI(this._core);
    }
    get showFieldCodes() {
        return new field_commands/* ShowFieldCodesCommand */.jm(this._core);
    }
    get showAllFieldCodes() {
        return new field_commands/* ShowAllFieldCodesCommand */.J9(this._core);
    }
    get continueNumberingList() {
        return new numbering_commands/* ContinueNumberingListCommand */.H$(this._core);
    }
    get insertNumeration() {
        return new numbering_commands/* InsertNumerationCommand */.Pc(this._core);
    }
    get removeNumeration() {
        return new numbering_commands/* RemoveNumerationCommand */.GL(this._core);
    }
    get updateAllFields() {
        return new field_commands/* UpdateAllFieldsCommand */.Vd(this._core);
    }
    get createDateField() {
        return new field_commands/* CreateDateFieldCommand */.vw(this._core);
    }
    get createTimeField() {
        return new field_commands/* CreateTimeFieldCommand */.AG(this._core);
    }
    get createPageField() {
        return new field_commands/* CreatePageFieldCommand */.nr(this._core);
    }
    get insertFiguresCaption() {
        return new field_commands/* InsertFiguresCaptionCommand */.QW(this._core);
    }
    get insertTablesCaption() {
        return new field_commands/* InsertTablesCaptionCommand */.kN(this._core);
    }
    get insertEquationsCaption() {
        return new field_commands/* InsertEquationsCaptionCommand */.B(this._core);
    }
    get insertTableOfFigures() {
        return new field_commands/* InsertTableOfFiguresCommand */.qV(this._core);
    }
    get insertTableOfTables() {
        return new field_commands/* InsertTableOfTablesCommand */.Mw(this._core);
    }
    get insertTableOfEquations() {
        return new field_commands/* InsertTableOfEquationsCommand */.t(this._core);
    }
    get insertTableOfContents() {
        return new field_commands/* InsertTableOfContentsCommand */.ay(this._core);
    }
    get changeHyperlink() {
        return new hyperlink_commands/* ChangeHyperlinkCommand */.tR(this._core);
    }
    get updateTableOfContents() {
        return new field_commands/* UpdateTableOfContentsCommand */.Tx(this._core);
    }
    get setParagraphLevel() {
        return new paragraph_formatting_commands/* SetParagraphLevelCommand */.sB(this._core);
    }
    get makeTextSentenceCase() {
        return new text_formatting_commands/* MakeTextSentenceCaseCommand */.hE(this._core);
    }
    get switchTextCase() {
        return new text_formatting_commands/* SwitchTextCaseCommand */.kp(this._core);
    }
    get goToFirstDataRecord() {
        return new field_commands/* GoToFirstDataRecordCommand */.tv(this._core);
    }
    get goToPreviousDataRecord() {
        return new field_commands/* GoToPreviousDataRecordCommand */.OS(this._core);
    }
    get goToNextDataRecord() {
        return new field_commands/* GoToNextDataRecordCommand */.cq(this._core);
    }
    get goToDataRecord() {
        return new field_commands/* GoToDataRecordCommand */.f3(this._core);
    }
    get goToLastDataRecord() {
        return new field_commands/* GoToLastDataRecordCommand */.FI(this._core);
    }
    get showMergedData() {
        return new field_commands/* ShowMergedDataCommand */.EE(this._core);
    }
    get mergeFieldDialog() {
        return new field_commands/* MergeFieldDialogCommand */.Ew(this._core);
    }
    get createMergeField() {
        return new field_commands/* CreateMergeFieldCommand */.sI(this._core);
    }
    get mailMergeDialog() {
        return new field_commands/* MailMergeDialogCommand */.J1(this._core);
    }
    get mailMergeAndDownload() {
        return new field_commands/* MailMergeAndDownloadCommand */.dK(this._core);
    }
    get mailMergeAndSaveAs() {
        return new field_commands/* MailMergeAndSaveAsCommand */.Wh(this._core);
    }
    get insertHeader() {
        return new page_properties_commands/* InsertHeaderCommand */.yq(this._core);
    }
    get insertFooter() {
        return new page_properties_commands/* InsertFooterCommand */.P_(this._core);
    }
    get linkHeaderFooterToPrevious() {
        return new page_properties_commands/* LinkHeaderFooterToPreviousCommand */.VZ(this._core);
    }
    get goToFooter() {
        return new page_properties_commands/* GoToFooterCommand */.Do(this._core);
    }
    get goToHeader() {
        return new page_properties_commands/* GoToHeaderCommand */.bf(this._core);
    }
    get goToNextHeaderFooter() {
        return new page_properties_commands/* GoToNextHeaderFooterCommand */.iK(this._core);
    }
    get goToPreviousHeaderFooter() {
        return new page_properties_commands/* GoToPreviousHeaderFooterCommand */.z_(this._core);
    }
    get setDifferentFirstPageHeaderFooter() {
        return new page_properties_commands/* SetDifferentFirstPageHeaderFooterCommand */.WI(this._core);
    }
    get setDifferentOddAndEvenPagesHeaderFooter() {
        return new page_properties_commands/* SetDifferentOddAndEvenPagesHeaderFooterCommand */.V(this._core);
    }
    get closeHeaderFooter() {
        return new page_properties_commands/* CloseHeaderFooterCommand */.Hk(this._core);
    }
    get createPageCountField() {
        return new field_commands/* CreatePageCountFieldCommand */.GM(this._core);
    }
    get openTableFormattingDialog() {
        return new table_commands/* OpenTableFormattingDialogCommand */.Y8(this._core);
    }
    get changeTableFormatting() {
        return new table_commands/* ChangeTableFormattingCommand */.kS(this._core);
    }
    get changeTableRowPreferredHeight() {
        return new table_commands/* ChangeTableRowPreferredHeightCommand */.OY(this._core);
    }
    get changeTableCellPreferredWidth() {
        return new table_commands/* ChangeTableCellPreferredWidthCommand */.s_(this._core);
    }
    get toggleTableCellInsideBorders() {
        return new table_commands/* ToggleTableCellInsideBordersCommand */.Wf(this._core);
    }
    get changeTableColumnPreferredWidth() {
        return new table_commands/* ChangeTableColumnPreferredWidthCommand */.sk(this._core);
    }
    get changeTableCellFormatting() {
        return new table_commands/* ChangeTableCellFormattingCommand */.z1(this._core);
    }
    get insertTableColumnToTheLeft() {
        return new table_commands/* InsertTableColumnToTheLeftCommand */.sV(this._core);
    }
    get insertTableColumnToTheRight() {
        return new table_commands/* InsertTableColumnToTheRightCommand */.Tl(this._core);
    }
    get insertTableRowBelow() {
        return new table_commands/* InsertTableRowBelowCommand */.nr(this._core);
    }
    get insertTableRowAbove() {
        return new table_commands/* InsertTableRowAboveCommand */.c8(this._core);
    }
    get deleteTableRows() {
        return new table_commands/* DeleteTableRowsCommand */.pO(this._core);
    }
    get deleteTableColumns() {
        return new table_commands/* DeleteTableColumnsCommand */.dz(this._core);
    }
    get insertTableCellWithShiftToTheLeft() {
        return new table_commands/* InsertTableCellWithShiftToTheLeftCommand */.ag(this._core);
    }
    get deleteTableCellsWithShiftHorizontally() {
        return new table_commands/* DeleteTableCellsWithShiftHorizontallyCommand */._F(this._core);
    }
    get deleteTableCellsWithShiftVertically() {
        return new table_commands/* DeleteTableCellsWithShiftVerticallyCommand */.Ko(this._core);
    }
    get deleteTable() {
        return new table_commands/* DeleteTableCommand */.F(this._core);
    }
    get insertTableCellsDialog() {
        return new table_commands/* InsertTableCellsDialogCommand */.Mv(this._core);
    }
    get deleteTableCellsDialog() {
        return new table_commands/* DeleteTableCellsDialogCommand */.ub(this._core);
    }
    get mergeTableCells() {
        return new table_commands/* MergeTableCellsCommand */.cr(this._core);
    }
    get splitTableCellsDialog() {
        return new table_commands/* SplitTableCellsDialogCommand */.CT(this._core);
    }
    get splitTableCells() {
        return new table_commands/* SplitTableCellsCommand */.zz(this._core);
    }
    get insertTableCellsWithShiftToTheVertically() {
        return new table_commands/* InsertTableCellsWithShiftToTheVerticallyCommand */.tl(this._core);
    }
    get openTableBordersAndShadingDialog() {
        return new table_commands/* OpenTableBordersAndShadingDialogCommand */.uN(this._core);
    }
    get changeTableBordersAndShading() {
        return new table_commands/* ChangeTableBordersAndShadingCommand */._c(this._core);
    }
    get toggleTableCellAlignTopLeft() {
        return new table_commands/* ToggleTableCellAlignTopLeftCommand */.p3(this._core);
    }
    get toggleTableCellAlignTopCenter() {
        return new table_commands/* ToggleTableCellAlignTopCenterCommand */.AG(this._core);
    }
    get toggleTableCellAlignTopRight() {
        return new table_commands/* ToggleTableCellAlignTopRightCommand */.qZ(this._core);
    }
    get toggleTableCellAlignMiddleLeft() {
        return new table_commands/* ToggleTableCellAlignMiddleLeftCommand */.VQ(this._core);
    }
    get toggleTableCellAlignMiddleCenter() {
        return new table_commands/* ToggleTableCellAlignMiddleCenterCommand */.$k(this._core);
    }
    get toggleTableCellAlignMiddleRight() {
        return new table_commands/* ToggleTableCellAlignMiddleRightCommand */.N6(this._core);
    }
    get toggleTableCellAlignBottomLeft() {
        return new table_commands/* ToggleTableCellAlignBottomLeftCommand */.cb(this._core);
    }
    get toggleTableCellAlignBottomCenter() {
        return new table_commands/* ToggleTableCellAlignBottomCenterCommand */.Pf(this._core);
    }
    get toggleTableCellAlignBottomRight() {
        return new table_commands/* ToggleTableCellAlignBottomRightCommand */.Xy(this._core);
    }
    get changeTableStyle() {
        return new table_commands/* ChangeTableStyleCommand */.Z7(this._core);
    }
    get toggleTableCellTopBorder() {
        return new table_commands/* ToggleTableCellTopBorderCommand */.tC(this._core);
    }
    get toggleTableCellRightBorder() {
        return new table_commands/* ToggleTableCellRightBorderCommand */.q1(this._core);
    }
    get toggleTableCellBottomBorder() {
        return new table_commands/* ToggleTableCellBottomBorderCommand */.NL(this._core);
    }
    get toggleTableCellLeftBorder() {
        return new table_commands/* ToggleTableCellLeftBorderCommand */.LG(this._core);
    }
    get removeTableCellBorders() {
        return new table_commands/* RemoveTableCellBordersCommand */.ML(this._core);
    }
    get toggleTableCellAllBorders() {
        return new table_commands/* ToggleTableCellAllBordersCommand */.W_(this._core);
    }
    get toggleTableCellInsideHorizontalBorders() {
        return new table_commands/* ToggleTableCellInsideHorizontalBordersCommand */.oW(this._core);
    }
    get toggleTableCellInsideVerticalBorders() {
        return new table_commands/* ToggleTableCellInsideVerticalBordersCommand */.ln(this._core);
    }
    get toggleTableCellOutsideBorders() {
        return new table_commands/* ToggleTableCellOutsideBordersCommand */.uF(this._core);
    }
    get changeTableLook() {
        return new table_commands/* ChangeTableLookCommand */.zd(this._core);
    }
    get changeTableBorderRepositoryItem() {
        return new table_commands/* ChangeTableBorderRepositoryItemCommand */.Jg(this._core);
    }
    get changeTableCellShading() {
        return new table_commands/* ChangeTableCellShadingCommand */.tJ(this._core);
    }
    get showTableGridLines() {
        return new table_commands/* ShowTableGridLinesCommand */.lL(this._core);
    }
    get toggleTableAutoFitContents() {
        return new table_commands/* ToggleTableAutoFitContentsCommand */.HS(this._core);
    }
    get toggleTableAutoFitWindow() {
        return new table_commands/* ToggleTableAutoFitWindowCommand */.rz(this._core);
    }
    get toggleTableFixedColumnWidth() {
        return new table_commands/* ToggleTableFixedColumnWidthCommand */.hy(this._core);
    }
    get openFindPanel() {
        return new OpenFindPanelCommand(this._core);
    }
    get openFindAndReplaceDialog() {
        return new OpenFindAndReplaceDialogCommand(this._core);
    }
    get findAll() {
        return new FindAllCommand(this._core);
    }
    get hideFindResults() {
        return new HideFindResultsCommand(this._core);
    }
    get replaceAll() {
        return new ReplaceAllCommand(this._core);
    }
    get replaceNext() {
        return new ReplaceNextCommand(this._core);
    }
    get openSpellingDialog() {
        return new OpenSpellingDialogCommand(this._core);
    }
    get assignShortcut() {
        return new shortcut_commands_AssignShortcutCommand(this._core);
    }
    get openLayoutOptionsDialog() {
        return new floating_objects_commands/* OpenLayoutOptionsDialogCommand */.ib(this._core);
    }
    get insertFloatingTextBox() {
        return new floating_objects_commands/* InsertFloatingTextBoxCommand */.Mg(this._core);
    }
    get changeFloatingObjectAlignmentPosition() {
        return new floating_objects_commands/* ChangeFloatingObjectAlignmentPositionCommand */.R5(this._core);
    }
    get changeFloatingObjectAbsolutePosition() {
        return new floating_objects_commands/* ChangeFloatingObjectAbsolutePositionCommand */.ny(this._core);
    }
    get changeFloatingObjectRelativePosition() {
        return new floating_objects_commands/* ChangeFloatingObjectRelativePositionCommand */.oC(this._core);
    }
    get changeFloatingObjectLockAnchor() {
        return new floating_objects_commands/* ChangeFloatingObjectLockAnchorCommand */.iS(this._core);
    }
    get changeFloatingObjectTextWrapping() {
        return new floating_objects_commands/* ChangeFloatingObjectTextWrappingCommand */.Wm(this._core);
    }
    get changeFloatingObjectAbsoluteSize() {
        return new floating_objects_commands/* ChangeFloatingObjectAbsoluteSizeCommand */.Uo(this._core);
    }
    get changeTextBoxRelativeSize() {
        return new floating_objects_commands/* ChangeTextBoxRelativeSizeCommand */.r7(this._core);
    }
    get changeFloatingObjectRotation() {
        return new floating_objects_commands/* ChangeFloatingObjectRotationCommand */.DE(this._core);
    }
    get changeFloatingObjectLockAspectRatio() {
        return new floating_objects_commands/* ChangeFloatingObjectLockAspectRatioCommand */.u9(this._core);
    }
    get changeFloatingObjectFillColor() {
        return new floating_objects_commands/* ChangeFloatingObjectFillColorCommand */.oD(this._core);
    }
    get changeFloatingObjectOutlineColor() {
        return new floating_objects_commands/* ChangeFloatingObjectOutlineColorCommand */.ED(this._core);
    }
    get changeFloatingObjectOutlineWidth() {
        return new floating_objects_commands/* ChangeFloatingObjectOutlineWidthCommand */.bs(this._core);
    }
    get changeTextBoxContentMargins() {
        return new floating_objects_commands/* ChangeTextBoxContentMarginsCommand */.tE(this._core);
    }
    get changeTextBoxResizeShapeToFitText() {
        return new floating_objects_commands/* ChangeTextBoxResizeShapeToFitTextCommand */.Ci(this._core);
    }
    get insertHtml() {
        return new InsertHtmlCommand(this._core);
    }
    get insertRtf() {
        return new InsertRtfCommand(this._core);
    }
    get getRtf() {
        return new GetRtfCommand(this._core);
    }
}

// EXTERNAL MODULE: ./src/aspx/api/document.ts
var api_document = __webpack_require__(1835);
// EXTERNAL MODULE: ./src/aspx/api/layout.ts + 1 modules
var layout = __webpack_require__(8839);
;// CONCATENATED MODULE: ./src/aspx/api/loading-panel.ts
class LoadingPanel {
    get enabled() { return this._core.loadingPanelManager.loadingPanel.enabled; }
    set enabled(value) { this._core.loadingPanelManager.loadingPanel.enabled = value; }
    get customPanel() { return this._core.loadingPanelManager.loadingPanel.customPanel; }
    set customPanel(value) { this._core.loadingPanelManager.loadingPanel.customPanel = value; }
    show() {
        this._core.loadingPanelManager.loadingPanel.setVisible(true);
    }
    hide() {
        this._core.loadingPanelManager.loadingPanel.setVisible(false);
    }
    constructor(core) {
        this._core = core;
    }
}

;// CONCATENATED MODULE: ./src/aspx/api/request-settings.ts
class RequestSettings {
    constructor(native) {
        this._native = native;
    }
    get maxCommandCount() { return this._native.serverDispatcher.maxCommandCount; }
    set maxCommandCount(value) { this._native.serverDispatcher.maxCommandCount = value; }
    get responseWaitingTime() { return this._native.serverDispatcher.responseWaitingTime; }
    set responseWaitingTime(value) { this._native.serverDispatcher.responseWaitingTime = value; }
    get pendingPeriod() { return this._native.serverDispatcher.pendingPeriod; }
    set pendingPeriod(value) { this._native.serverDispatcher.pendingPeriod = value; }
}

// EXTERNAL MODULE: ./src/common/scroll/model-states.ts + 1 modules
var model_states = __webpack_require__(4385);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
;// CONCATENATED MODULE: ./src/aspx/api/scroll.ts



class RichEditScroll {
    constructor(native) {
        this._core = native;
    }
    get verticalPosition() {
        return this._core.viewManager.canvasScrollManager.scrollTop;
    }
    set verticalPosition(position) {
        if (typeof position != "number" || position < 0) {
            console.warn("Invalid argument");
            return;
        }
        this._core.viewManager.canvasScrollManager.scrollTop = position;
    }
    setByDocumentPosition(position, subDocumentId = 0, pageIndex = 0) {
        position = api_utils/* ApiParametersChecker */.mL.check(position, 1, false, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('position', (val) => val)
        ]);
        let subDocument = api_utils/* ApiParametersChecker */.mL.subDocumentById(subDocumentId, 2, true, this._core, false);
        if (!subDocument)
            subDocument = this._core.selection.activeSubDocument;
        pageIndex = api_utils/* ApiParametersChecker */.mL.check(pageIndex, 3, true, [
            api_utils/* ApiParametersChecker */.mL.numberDescriptor('pageIndex', (val) => val)
        ]);
        position = math.MathUtils.restrictValue(position, 0, subDocument.interval.length - 1);
        pageIndex = math.MathUtils.restrictValue(pageIndex, 0, this._core.layout.pages.length - 1);
        const state = new model_states/* ScrollState */.G_().byModelPositionCore(subDocument, false, pageIndex).setModelPosition(position).useStdRelativePosition().useStdOffset();
        this._core.selection.scrollManager.setScroll(state);
        this._core.selection.scrollManager.raiseOnChanged();
    }
}

// EXTERNAL MODULE: ./src/aspx/api/selection.ts
var selection = __webpack_require__(2751);
;// CONCATENATED MODULE: ./src/aspx/api/unit-converter.ts

class RichEditUnitConverter {
    pixelsToTwips(value) {
        return class_unit_converter/* UnitConverter */.u.pixelsToTwips(value);
    }
    inchesToTwips(value) {
        return class_unit_converter/* UnitConverter */.u.inchesToTwips(value);
    }
    pointsToTwips(value) {
        return class_unit_converter/* UnitConverter */.u.pointsToTwips(value);
    }
    centimetersToTwips(value) {
        return class_unit_converter/* UnitConverter */.u.centimetersToTwips(value);
    }
    twipsToCentimeters(value) {
        return class_unit_converter/* UnitConverter */.u.twipsToCentimeters(value);
    }
    pixelsToCentimeters(value) {
        return class_unit_converter/* UnitConverter */.u.pixelToCentimeters(value);
    }
    twipsToInches(value) {
        return class_unit_converter/* UnitConverter */.u.twipsToInches(value);
    }
    pixelsToInches(value) {
        return class_unit_converter/* UnitConverter */.u.pixelsToInches(value);
    }
    pixelsToPoints(value) {
        return class_unit_converter/* UnitConverter */.u.pixelsToPoints(value);
    }
    twipsToPoints(value) {
        return class_unit_converter/* UnitConverter */.u.twipsToPointsF(value);
    }
}

// EXTERNAL MODULE: ./src/aspx/server-dispatcher.ts
var server_dispatcher = __webpack_require__(3731);
// EXTERNAL MODULE: ./src/common/model/history/items/bookmark-history-items.ts
var bookmark_history_items = __webpack_require__(2461);
// EXTERNAL MODULE: ./src/common/model/manipulators/bookmarks-manipulator.ts + 2 modules
var bookmarks_manipulator = __webpack_require__(9226);
// EXTERNAL MODULE: ./src/common/selection/set-selection-params.ts
var set_selection_params = __webpack_require__(9523);
;// CONCATENATED MODULE: ./src/common/commands/bookmark-command.ts









class CreateBookmarkCommandParameter extends (/* unused pure expression or super */ null && (CommandOptions)) {
    constructor(control, bkmTemplate) {
        super(control);
        this.bkmTemplate = bkmTemplate;
    }
}
class BookmarkCommandBase extends command_base/* CommandBase */.eK {
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.bookmarks);
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
}
class CreateBookmarkCommand extends BookmarkCommandBase {
    executeCore(_state, parameter) {
        const bkmTemplate = parameter.param;
        const subDocument = parameter.subDocument;
        if (!model_bookmarks/* Bookmark */.rp.isValidName(bkmTemplate.name, true))
            return false;
        this.history.beginTransaction();
        const bkmInfo = bookmarks_manipulator/* BookmarksManipulator */.m.findBookmark(this.control.modelManager.model.subDocuments, bkmTemplate.name);
        if (bkmInfo)
            this.history.addAndRedo(new bookmark_history_items/* DeleteBookmarkHistoryItem */.iz(this.modelManipulator, bkmInfo.subDocument, bkmInfo.bookmark.constBookmark));
        this.history.addAndRedo(new bookmark_history_items/* CreateBookmarkHistoryItem */.z6(this.modelManipulator, subDocument, bkmTemplate));
        this.history.endTransaction();
        return true;
    }
}
class DeleteBookmarksCommand extends BookmarkCommandBase {
    executeCore(_state, parameter) {
        const bookmarkNames = parameter.param;
        this.history.beginTransaction();
        let changed = false;
        for (let name of bookmarkNames) {
            const bookmarkInfo = bookmarks_manipulator/* BookmarksManipulator */.m.findBookmark(this.control.modelManager.model.subDocuments, name);
            if (!bookmarkInfo)
                continue;
            this.history.addAndRedo(new bookmark_history_items/* DeleteBookmarkHistoryItem */.iz(this.modelManipulator, bookmarkInfo.subDocument, bookmarkInfo.bookmark.constBookmark));
            changed = true;
        }
        this.history.endTransaction();
        return changed;
    }
}
class bookmark_command_GoToBookmarkCommand extends BookmarkCommandBase {
    executeCore(_state, parameter) {
        const obj = bookmarks_manipulator/* BookmarksManipulator */.m.findBookmark(this.control.modelManager.model.subDocuments, parameter.param);
        if (!obj)
            return false;
        const selection = this.selection;
        const subDocument = obj.subDocument;
        const bookmark = obj.bookmark;
        this.changeSubDocument(subDocument);
        selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu()
            .setInterval(bookmark.interval)
            .setEndOfLine(false)
            .setCorrectIntervalDueToFields(true)
            .setCorrectIntervalDueToTables(true));
        selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byModelPosition(selection)
            .setModelPosition(bookmark.start)
            .setRelativePosition(model_states/* RelativePosition */.Zi.Top)
            .setVerticalOffset((sizes) => -Math.ceil(sizes.getVisibleAreaHeight(false) / 4)));
        return true;
    }
    changeSubDocument(subDocument) {
        if (this.selection.activeSubDocument == subDocument)
            return;
        if (subDocument.isMain())
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain)
                .execute(this.control.commandManager.isPublicApiCall);
        else
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterBySubDocument)
                .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, subDocument));
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/model/character/character-property-descriptor.ts
var character_property_descriptor = __webpack_require__(6223);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-info.ts
var shading_info = __webpack_require__(3428);
;// CONCATENATED MODULE: ./src/common/commands/character-properties/change-character-properties-command-base.ts






class change_character_properties_command_base_ChangeCharacterPropertiesCommandBase extends command_base/* CommandBase */.eK {
    getState(options = this.convertToCommandOptions(undefined)) {
        this._options = options;
        const state = new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), utils_list.ListUtils.deepCopy(options.intervalsInfo.intervals), this.getValueForState(this.getCurrentValue()));
        state.denyUpdateValue = this.isLockUpdateValue();
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterFormatting);
    }
    lockInputPositionUpdating() {
        return true;
    }
    getIntervalsForModifying() {
        return this.getApplyToIntervals(this._options);
    }
    getApplyToIntervals(options) {
        if (options.intervalsInfo.isCollapsed) {
            const pos = options.intervalsInfo.position;
            const paragraph = options.subDocument.getParagraphByPosition(pos);
            let interval;
            if (pos + 1 == paragraph.getEndPosition() && !paragraph.isInList())
                interval = new fixed.FixedInterval(paragraph.getEndPosition() - 1, 1);
            else
                interval = options.subDocument.getWholeWordInterval(pos);
            const intervals = [interval];
            if (options.subDocument.isEditable(intervals))
                return intervals;
            return options.intervalsInfo.intervals;
        }
        else
            return utils_list.ListUtils.map(options.intervalsInfo.intervals, (interval) => {
                if (this._areParagraphContentInterval(interval))
                    interval.length++;
                return interval;
            });
    }
    _areParagraphContentInterval(interval) {
        const paragraphInterval = this.selection.activeSubDocument.getParagraphByPosition(interval.start).interval;
        return interval.start == paragraphInterval.start && interval.end == paragraphInterval.end - 1;
    }
    executeCore(_state, options) {
        const desc = this.getDescriptor();
        const newValue = options.param;
        const applyToIntervals = this.getApplyToIntervals(options);
        if (this.getCurrentValue() !== newValue) {
            const history = this.history;
            history.beginTransaction();
            this.applyToInputPosition(desc, newValue);
            for (let interval of applyToIntervals)
                if (interval.length > 0)
                    history.addAndRedo(new (desc.getHistoryItemConstructor())(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(options.subDocument, interval), newValue, true));
            history.endTransaction();
        }
        return true;
    }
    applyToInputPosition(desc, newValue) {
        desc.setProp(this.inputPosition.getMaskedCharacterProperties(), newValue);
        desc.setProp(this.inputPosition.getMergedCharacterPropertiesFull(), newValue);
        desc.setProp(this.inputPosition.getMergedCharacterPropertiesRaw(), newValue);
        this.inputPosition.getMaskedCharacterProperties().setUseValue(desc.maskValue(), true);
    }
    isLockUpdateValue() {
        return false;
    }
    getCurrentValue() {
        return this.getDescriptor().getProp(this.inputPosition.getMergedCharacterPropertiesRaw());
    }
    getValueForState(val) {
        return val;
    }
    convertBooleanParameterToEnumType(parameter, ifTrue, ifFalse) {
        if (typeof parameter === 'boolean')
            return parameter ? ifTrue : ifFalse;
        return this.getCurrentValue() == ifTrue ? ifFalse : ifTrue;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/change-font-back-color-command.ts





class ChangeFontHighlightColorCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.highlightColor;
    }
    getValueForState(val) {
        return val ? val.toRgb(this.control.modelManager.model.colorProvider) : undefined;
    }
    isLockUpdateValue() {
        return true;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return color_model_info/* ColorModelInfo */.k.makeByColor(color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.NO_COLOR));
    }
}
class ChangeFontShadingInfoCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo;
    }
    getValueForState(val) {
        return val ? val.getActualColor(this.colorProvider) : undefined;
    }
    isLockUpdateValue() {
        return true;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.NO_COLOR)));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/change-font-color-command.ts




class ChangeFontColorCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.textColor;
    }
    getValueForState(val) {
        return val ? val.toRgb(this.control.modelManager.model.colorProvider) : undefined;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return color_model_info/* ColorModelInfo */.k.makeByColor(color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.AUTOMATIC_COLOR));
    }
    isLockUpdateValue() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/change-font-name-command.ts



class ChangeFontNameCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        if ((0,common.isNumber)(parameter))
            return this.control.modelManager.model.cache.fontInfoCache.getItemByJsonKey(parameter);
        else if (typeof parameter == "string") {
            let fontInfo = this.control.modelManager.model.cache.fontInfoCache.getItemByName(parameter);
            if (!fontInfo) {
                const mergedCharacterProperties = this.inputPosition.getMergedCharacterPropertiesFull();
                if (mergedCharacterProperties.fontInfo) {
                    fontInfo = mergedCharacterProperties.fontInfo.clone();
                    fontInfo.name = parameter;
                    fontInfo.cssString = parameter.match(/^\w+\s/gi) ? "'" + parameter + "'" : parameter;
                    this.modelManipulator.font.loadFontInfo(fontInfo, this.selection.activeSubDocument, this.selection.intervals, this.control.measurer);
                    return fontInfo;
                }
            }
            if (fontInfo)
                return fontInfo;
        }
        return this.getCurrentValue();
    }
}

// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
;// CONCATENATED MODULE: ./src/common/commands/character-properties/change-font-size-command.ts










class ChangeFontSizeCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.size;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        const res = typeof parameter == "string" ? parseFloat(parameter) : parameter;
        return this.isFontSizeValueCorrect(res) ? res : this.getCurrentValue();
    }
    isFontSizeValueCorrect(size) {
        if ((0,common.isNumber)(size) && !isNaN(size) && size >= rich_utils/* RichUtils */.i.minFontSize && size <= rich_utils/* RichUtils */.i.maxFontSize) {
            const decimal = size % 1;
            if (decimal === 0 || decimal === 0.5)
                return true;
        }
        return false;
    }
}
class StepFontSizeCommand extends ChangeFontSizeCommand {
    executeCore(_state, options) {
        const desc = this.getDescriptor();
        const modelIter = new model_iterator/* ModelIterator */.w(options.subDocument, false);
        const collector = new map_collector/* SparseIntervalsMapCollector */.g(comparers.Comparers.number, new fixed.FixedInterval(0, 0));
        for (let interval of this.getApplyToIntervals(options)) {
            const endPos = interval.end;
            modelIter.setPosition(interval.start);
            do {
                const currPos = modelIter.getAbsolutePosition();
                if (currPos >= endPos)
                    break;
                collector.add(currPos, modelIter.run.getCharacterMergedProperties().fontSize);
            } while (modelIter.moveToNextChar());
        }
        if (options.intervalsInfo.isCollapsed) {
            let newValue = this.getCurrentValue();
            if (newValue === undefined) {
                modelIter.setPosition(options.intervalsInfo.interval.start);
                newValue = modelIter.run.getCharacterMergedProperties().fontSize;
            }
            this.applyToInputPosition(desc, this.step(newValue));
        }
        else {
            this.inputPosition.reset();
        }
        const history = this.history;
        history.beginTransaction();
        const intervalIter = collector.getIterator();
        while (intervalIter.moveToNextInterval()) {
            if (intervalIter.interval.length > 0)
                history.addAndRedo(new (desc.getHistoryItemConstructor())(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(options.subDocument, intervalIter.interval), this.step(intervalIter.object), true));
        }
        history.endTransaction();
        this.control.barHolder.forceUpdate({ [client_command/* RichEditClientCommand */.f.ChangeFontSize]: true });
        return true;
    }
}
class DecreaseFontSizeCommand extends StepFontSizeCommand {
    step(currValue) {
        return rich_utils/* RichUtils */.i.getPreviousPredefinedFontSize(currValue);
    }
}
class IncreaseFontSizeCommand extends StepFontSizeCommand {
    step(currValue) {
        return rich_utils/* RichUtils */.i.getNextPredefinedFontSize(currValue);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/toggle-font-bold-command.ts


class ToggleFontBoldCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.bold;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, true, false);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/toggle-font-italic-command.ts


class ToggleFontItalicCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.italic;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, true, false);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/toggle-font-script-command.ts



class ChangeFontScriptCommand extends (/* unused pure expression or super */ null && (ChangeCharacterPropertiesCommandBase)) {
    getDescriptor() {
        return CharacterPropertyDescriptor.script;
    }
}
class ToggleFontSubscriptCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.script;
    }
    getValueForState(val) {
        return val == enums/* CharacterFormattingScript */.Vg.Subscript;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, enums/* CharacterFormattingScript */.Vg.Subscript, enums/* CharacterFormattingScript */.Vg.Normal);
    }
}
class ToggleFontSuperscriptCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.script;
    }
    getValueForState(val) {
        return val == enums/* CharacterFormattingScript */.Vg.Superscript;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, enums/* CharacterFormattingScript */.Vg.Superscript, enums/* CharacterFormattingScript */.Vg.Normal);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/toggle-font-strikeout-command.ts



class ToggleFontStrikeoutCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutType;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, enums/* StrikeoutType */.GO.Single, enums/* StrikeoutType */.GO.None);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/character-properties/toggle-font-underline-command.ts



class ChangeFontUnderlineCommand extends change_character_properties_command_base_ChangeCharacterPropertiesCommandBase {
    getDescriptor() {
        return character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineType;
    }
}
class ToggleFontSingleUnderlineCommand extends ChangeFontUnderlineCommand {
    getActualValue(_parameter, currentValue) {
        return currentValue ? enums/* UnderlineType */.Xq.None : enums/* UnderlineType */.Xq.Single;
    }
    getValueForState(val) {
        return val == enums/* UnderlineType */.Xq.Single;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, enums/* UnderlineType */.Xq.Single, enums/* UnderlineType */.Xq.None);
    }
}
class ToggleFontDoubleUnderlineCommand extends ChangeFontUnderlineCommand {
    getActualValue(_parameter, currentValue) {
        return currentValue ? enums/* UnderlineType */.Xq.None : enums/* UnderlineType */.Xq.Double;
    }
    getValueForState(val) {
        return val == enums/* UnderlineType */.Xq.Double;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, enums/* UnderlineType */.Xq.Double, enums/* UnderlineType */.Xq.None);
    }
}

// EXTERNAL MODULE: ./src/common/interfaces/i-rich-edit-core.ts
var i_rich_edit_core = __webpack_require__(9597);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-bookmarks-command.ts








class DialogBookmarksCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        const state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.bookmarks);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.bookmarks) && this.selection.intervals.length === 1;
    }
    createParameters(_options) {
        const parameters = new BookmarksDialogParameters();
        parameters.bookmarks = utils_list.ListUtils.map(this.control.modelManager.model.getAllBookmarks(false), (bm) => new BookmarkDialogInfo(bm.name, bm.start));
        parameters.allowedEditBookmarks = this.control.readOnly != i_rich_edit_core/* ReadOnlyMode */.F.Persistent;
        const selectedBookmarks = this.control.selection.activeSubDocument.findBookmarkByInterval(this.control.selection.intervals, false);
        parameters.selectedBookmarkName = selectedBookmarks.length ? selectedBookmarks[selectedBookmarks.length - 1].name : null;
        return parameters;
    }
    applyParameters(_state, newParams) {
        if (newParams.newBookmarkName) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.CreateBookmark)
                .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, new model_bookmarks/* ConstBookmark */.Om(this.selection.intervals[0], newParams.newBookmarkName)));
        }
        else if (newParams.deletedBookmarkNames.length > 0)
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteBookmarks).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, newParams.deletedBookmarkNames));
        return true;
    }
    getDialogName() {
        return "Bookmarks";
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class BookmarkDialogInfo {
    constructor(name, start) {
        this.name = name;
        this.start = start;
    }
}
class BookmarksDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.bookmarks = obj.bookmarks;
        this.deletedBookmarkNames = obj.deletedBookmarkNames;
        this.newBookmarkName = obj.newBookmarkName;
        this.allowedEditBookmarks = obj.allowedEditBookmarks;
    }
    clone() {
        const newInstance = new BookmarksDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-cell-properties-merger.ts
var table_cell_properties_merger = __webpack_require__(8403);
// EXTERNAL MODULE: ./src/common/layout-formatter/table/borders/border-helper.ts + 2 modules
var border_helper = __webpack_require__(6602);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/table-cell-properties-history-items.ts
var table_cell_properties_history_items = __webpack_require__(7354);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/table-properties-history-items.ts
var table_properties_history_items = __webpack_require__(4485);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var main_structures_table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-properties-merger.ts
var table_properties_merger = __webpack_require__(1314);
;// CONCATENATED MODULE: ./src/common/commands/tables/toggle-table-cells-border-command.ts












class ToggleTableCellsBorderCommandBase extends command_base/* CommandBase */.eK {
    constructor() {
        super(...arguments);
        this.affectNeighbours = true;
        this.affectInner = true;
        this.affectOuter = true;
        this.affectOnStateFlags = TableBorderGridCellInfo.All;
    }
    get colorProvider() { return this.control.modelManager.model.colorProvider; }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return parameter instanceof border_info/* BorderInfo */.H ? parameter : this.control.modelManager.model.repositoryBorderItem;
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.ToggleTableCellAllBorders]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellInsideBorders]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellInsideHorizontalBorders]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellInsideVerticalBorders]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellNoBorder]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellOutsideBorders]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellsBottomBorder]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellsLeftBorder]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellsRightBorder]: true,
            [client_command/* RichEditClientCommand */.f.ToggleTableCellsTopBorder]: true,
        };
    }
    getState(options = this.convertToCommandOptions(null)) {
        const tableInfo = this.selection.tableInfo;
        let enabled = this.isEnabled() && this.selection.tableInfo.extendedData.areCellsSelectedInSeries;
        let state = new command_states/* SimpleCommandState */.mh(enabled);
        if (state.enabled)
            state.value = this.isChecked(tableInfo, options.param);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    isChecked(tableInfo, patternBorder) {
        let table = tableInfo.table;
        if (tableInfo.extendedData.isSelectedEntireTable)
            return this.checkBorderInEntireTable(patternBorder, table);
        let tableBordersInfo = new border_helper/* TableBorderInfoProvider */.b(this.control.modelManager.model, table, v => v);
        let bordersGrid = this.createCellBorderGrid(table, tableInfo, tableBordersInfo);
        return this.isCheckedInParticallyTableSelection(table, bordersGrid, tableBordersInfo, patternBorder);
    }
    executeCore(state, options) {
        this.history.beginTransaction();
        let tableInfo = this.selection.tableInfo;
        let table = tableInfo.table;
        let patternBorder = options.param;
        let subDocument = this.selection.activeSubDocument;
        if (tableInfo.extendedData.isSelectedEntireTable)
            this.applyBorderToTable(subDocument, table, state.value ? null : patternBorder);
        let tblBrdProv = new border_helper/* TableBorderInfoProvider */.b(this.control.modelManager.model, table, v => v);
        let grid = this.createCellBorderGrid(table, tableInfo, tblBrdProv);
        for (let i = 0, gridRow; gridRow = grid[i]; i++) {
            let cellIndex = -1;
            let prevCell = null;
            for (let j = 0, gridCell; gridCell = gridRow[j]; j++) {
                if (gridCell.cell != prevCell)
                    cellIndex++;
                prevCell = gridCell.cell;
                if (!gridCell.cell || gridCell.cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue)
                    continue;
                this.applyBorderToCell(subDocument, table, gridCell, i, cellIndex, state.value ? null : patternBorder.clone());
            }
        }
        this.history.endTransaction();
        return true;
    }
    isCheckedInParticallyTableSelection(table, grid, tableBordersInfo, patternBorder) {
        let hasAffectedCells = false;
        for (let i = 0, gridRow; gridRow = grid[i]; i++) {
            for (let j = 0, gridCell; gridCell = gridRow[j]; j++) {
                if (!gridCell.cell || gridCell.cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue || gridCell.info === TableBorderGridCellInfo.None)
                    continue;
                if (!(gridCell.info & this.affectOnStateFlags))
                    continue;
                hasAffectedCells = true;
                if (!this.checkBorderInParticallyTableSelection(patternBorder, table, grid, gridCell, i, j, tableBordersInfo))
                    return false;
            }
        }
        return hasAffectedCells;
    }
    createCellBorderGrid(table, tableInfo, tableBordersInfo) {
        let grid = this.createCellBorderGridCore(table, tableInfo);
        let rowsCount = grid.length;
        let columnsCount = grid[0].length;
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            let columnIndex = row.gridBefore;
            let isLastRow = rowIndex + 1 === rowsCount;
            let hasSpacing = tableBordersInfo.cellSpacings[rowIndex] > 0;
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                let isLastCell = columnIndex + cell.columnSpan === columnsCount;
                let gridCell = grid[rowIndex][columnIndex];
                if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue) {
                    if (isLastRow && grid[rowIndex - 1][columnIndex].info & TableBorderGridCellInfo.BottomOuter) {
                        let prevRowIndex = rowIndex;
                        do {
                            prevRowIndex--;
                            grid[prevRowIndex][columnIndex].info |= TableBorderGridCellInfo.BottomTableOuter;
                        } while (grid[prevRowIndex][columnIndex].cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Restart);
                    }
                    gridCell.info = grid[rowIndex - 1][columnIndex].info;
                }
                else if (!gridCell.selected) {
                    if (!hasSpacing && this.affectNeighbours) {
                        if (!isLastRow && this.checkBottomSibling(grid, rowIndex, columnIndex, ToggleTableCellsBorderCommandBase.checkVSiblingSelected))
                            gridCell.info |= TableBorderGridCellInfo.TopNeighbour;
                        if (this.checkLeftRightSiblingSelected(cell, rowIndex, columnIndex, columnIndex - 1, TableBorderGridCellInfo.RightNeighbour, grid))
                            gridCell.info |= TableBorderGridCellInfo.RightNeighbour;
                        if (ToggleTableCellsBorderCommandBase.checkVSiblingSelected(cell.columnSpan, rowIndex - 1, columnIndex, grid))
                            gridCell.info |= TableBorderGridCellInfo.BottomNeighbour;
                        if (!isLastCell && this.checkLeftRightSiblingSelected(cell, rowIndex, columnIndex, columnIndex + cell.columnSpan, TableBorderGridCellInfo.LeftNeighbour, grid))
                            gridCell.info |= TableBorderGridCellInfo.LeftNeighbour;
                    }
                }
                else {
                    if (this.affectInner) {
                        if (ToggleTableCellsBorderCommandBase.checkVSiblingSelected(cell.columnSpan, rowIndex - 1, columnIndex, grid))
                            gridCell.info |= TableBorderGridCellInfo.TopInner;
                        if (!isLastRow && this.checkBottomSibling(grid, rowIndex, columnIndex, ToggleTableCellsBorderCommandBase.checkVSiblingSelected))
                            gridCell.info |= TableBorderGridCellInfo.BottomInner;
                        if (this.checkLeftRightSiblingSelected(cell, rowIndex, columnIndex, columnIndex - 1, TableBorderGridCellInfo.LeftInner, grid))
                            gridCell.info |= TableBorderGridCellInfo.LeftInner;
                        if (!isLastCell && this.checkLeftRightSiblingSelected(cell, rowIndex, columnIndex, columnIndex + cell.columnSpan, TableBorderGridCellInfo.RightInner, grid))
                            gridCell.info |= TableBorderGridCellInfo.RightInner;
                    }
                    if (this.affectOuter) {
                        if (ToggleTableCellsBorderCommandBase.checkVSiblingUnselected(cell.columnSpan, rowIndex - 1, columnIndex, grid))
                            gridCell.info |= TableBorderGridCellInfo.TopOuter;
                        if (isLastRow || this.checkBottomSibling(grid, rowIndex, columnIndex, ToggleTableCellsBorderCommandBase.checkVSiblingUnselected))
                            gridCell.info |= TableBorderGridCellInfo.BottomOuter;
                        if (!this.checkLeftRightSiblingSelected(cell, rowIndex, columnIndex, columnIndex - 1, TableBorderGridCellInfo.LeftInner, grid))
                            gridCell.info |= TableBorderGridCellInfo.LeftOuter;
                        if (isLastCell || !this.checkLeftRightSiblingSelected(cell, rowIndex, columnIndex, columnIndex + cell.columnSpan, TableBorderGridCellInfo.RightInner, grid))
                            gridCell.info |= TableBorderGridCellInfo.RightOuter;
                        if (columnIndex === 0)
                            gridCell.info |= TableBorderGridCellInfo.LeftTableOuter;
                        if (columnIndex + cell.columnSpan === columnsCount)
                            gridCell.info |= TableBorderGridCellInfo.RightTableOuter;
                        if (rowIndex === 0)
                            gridCell.info |= TableBorderGridCellInfo.TopTableOuter;
                        if (rowIndex === rowsCount - 1)
                            gridCell.info |= TableBorderGridCellInfo.BottomTableOuter;
                    }
                }
                columnIndex += cell.columnSpan;
            }
        }
        return grid;
    }
    createCellBorderGridCore(table, tableInfo) {
        let grid = [];
        let selectedCellsVIndex = 0;
        let selectedCellsHIndex = -1;
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            const horSelectedRowInfo = tableInfo.extendedData.rows[selectedCellsVIndex];
            if (horSelectedRowInfo && horSelectedRowInfo.row === row) {
                selectedCellsVIndex++;
                selectedCellsHIndex = 0;
            }
            else
                selectedCellsHIndex = -1;
            grid.push([]);
            for (let i = 0; i < row.gridBefore; i++)
                grid[rowIndex].push({ cell: null, info: TableBorderGridCellInfo.None, selected: false });
            let columnIndex = row.gridBefore;
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                let borderGridCell = { cell: cell, info: TableBorderGridCellInfo.None, selected: false };
                if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue && grid[rowIndex - 1][columnIndex].selected) {
                    if (grid[rowIndex - 1][columnIndex].selected)
                        borderGridCell.selected = true;
                }
                if (selectedCellsHIndex > -1 && horSelectedRowInfo.cells[selectedCellsHIndex] && horSelectedRowInfo.cells[selectedCellsHIndex].cell === cell) {
                    borderGridCell.selected = true;
                    selectedCellsHIndex++;
                }
                for (let i = 0; i < cell.columnSpan; i++)
                    grid[rowIndex].push(borderGridCell);
                columnIndex += cell.columnSpan;
            }
            for (let i = 0; i < row.gridAfter; i++)
                grid[rowIndex].push({ cell: null, info: TableBorderGridCellInfo.None, selected: false });
        }
        return grid;
    }
    checkBottomSibling(grid, rowIndex, columnIndex, testFunc) {
        let gridCell = grid[rowIndex][columnIndex];
        if (gridCell.cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
            while (grid[rowIndex]) {
                rowIndex++;
                if (!grid[rowIndex] || grid[rowIndex][columnIndex].cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                    break;
            }
        }
        else
            rowIndex++;
        return testFunc(gridCell.cell.columnSpan, rowIndex, columnIndex, grid);
    }
    static checkVSiblingSelected(columnSpan, checkingRowIndex, columnIndex, grid) {
        if (checkingRowIndex < 0)
            return false;
        if (!grid[checkingRowIndex])
            return false;
        for (let i = 0; i < columnSpan; i++) {
            if (!grid[checkingRowIndex][columnIndex + i].selected)
                return false;
        }
        return true;
    }
    static checkVSiblingUnselected(columnSpan, checkingRowIndex, columnIndex, grid) {
        if (checkingRowIndex < 0)
            return true;
        if (!grid[checkingRowIndex])
            return true;
        for (let i = 0; i < columnSpan; i++) {
            if (grid[checkingRowIndex][columnIndex + i].selected)
                return false;
        }
        return true;
    }
    checkLeftRightSiblingSelected(cell, rowIndex, columnIndex, sibColumnIndex, testingPosition, grid) {
        if (sibColumnIndex < 0)
            return false;
        if (!grid[rowIndex][sibColumnIndex].selected)
            return false;
        if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
            while (true) {
                rowIndex++;
                if (!grid[rowIndex] || !grid[rowIndex][columnIndex].cell || grid[rowIndex][columnIndex].cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                    break;
                if (!grid[rowIndex][sibColumnIndex].selected)
                    return false;
            }
        }
        else if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue) {
            while (rowIndex > 0) {
                rowIndex--;
                if (grid[rowIndex][columnIndex].cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
                    if (!(grid[rowIndex][columnIndex].info & testingPosition))
                        return false;
                    break;
                }
            }
        }
        return true;
    }
    getActualLeftBorder(tableBordersInfo, table, rowIndex, columnIndex) {
        const pos = new main_structures_table/* TablePosition */.TR(table, rowIndex, columnIndex).init();
        return border_helper/* BorderHelper */.l.getLeftBorder(this.colorProvider, pos, pos.row.cells[pos.cellIndex - 1], tableBordersInfo, v => v);
    }
    getActualRightBorder(tableBordersInfo, table, rowIndex, columnIndex) {
        const pos = new main_structures_table/* TablePosition */.TR(table, rowIndex, columnIndex).init();
        return border_helper/* BorderHelper */.l.getRightBorder(this.colorProvider, pos, pos.row.cells[pos.cellIndex + 1], tableBordersInfo, v => v);
    }
    getActualTopBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex) {
        var cellSpacing = tableBordersInfo.cellSpacings[rowIndex];
        let sibling = rowIndex > 0 ? grid[rowIndex - 1][columnIndex] : null;
        if (cellSpacing > 0)
            return border_helper/* BorderHelper */.l.mergeThreeBorders(this.colorProvider, currentCell.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderTop */.PU, null, null, !sibling, tableBordersInfo.horizontalBorder, table.style, v => v);
        if (currentCell.info & TableBorderGridCellInfo.TopTableOuter)
            return border_helper/* BorderHelper */.l.mergeThreeBorders(this.colorProvider, currentCell.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderTop */.PU, null, null, true, tableBordersInfo.topBorder, table.style, v => v);
        return border_helper/* BorderHelper */.l.mergeThreeBorders(this.colorProvider, currentCell.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderTop */.PU, sibling.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, false, tableBordersInfo.horizontalBorder, table.style, v => v);
    }
    getActualBottomBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex) {
        var cellSpacing = tableBordersInfo.cellSpacings[rowIndex];
        let sibling = rowIndex + 1 < grid.length ? grid[rowIndex + 1][columnIndex] : null;
        if (cellSpacing > 0)
            return border_helper/* BorderHelper */.l.mergeThreeBorders(this.colorProvider, currentCell.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, null, null, !sibling, tableBordersInfo.horizontalBorder, table.style, v => v);
        if (currentCell.info & TableBorderGridCellInfo.BottomTableOuter)
            return border_helper/* BorderHelper */.l.mergeThreeBorders(this.colorProvider, currentCell.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, null, null, true, tableBordersInfo.bottomBorder, table.style, v => v);
        return border_helper/* BorderHelper */.l.mergeThreeBorders(this.colorProvider, currentCell.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, sibling.cell, table_cell_properties_merger/* TableCellPropertiesMergerBorderTop */.PU, false, tableBordersInfo.horizontalBorder, table.style, v => v);
    }
}
class ToggleSingleTableCellsBorderCommand extends ToggleTableCellsBorderCommandBase {
    getGeneralizedBorder() {
        let actualBorder = null;
        let tableInfo = this.selection.tableInfo;
        let table = tableInfo.table;
        let tableBordersInfo = new border_helper/* TableBorderInfoProvider */.b(this.control.modelManager.model, table, v => v);
        let grid = this.createCellBorderGrid(table, tableInfo, tableBordersInfo);
        for (let i = 0, gridRow; gridRow = grid[i]; i++) {
            for (let j = 0, gridCell; gridCell = gridRow[j]; j++) {
                if (!gridCell.cell || gridCell.cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue || gridCell.info === TableBorderGridCellInfo.None)
                    continue;
                if (!(gridCell.info & this.affectOnStateFlags))
                    continue;
                if (!actualBorder) {
                    actualBorder = this.getActualCellBorder(table, grid, gridCell, i, j, tableBordersInfo);
                    continue;
                }
                if (!actualBorder.equals(this.getActualCellBorder(table, grid, gridCell, i, j, tableBordersInfo)))
                    return null;
            }
        }
        return actualBorder;
    }
}
class ToggleTableCellsTopBorderCommand extends ToggleSingleTableCellsBorderCommand {
    constructor() {
        super(...arguments);
        this.affectOnStateFlags = TableBorderGridCellInfo.TopOuter;
        this.affectInner = false;
    }
    getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return this.getActualTopBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex);
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return patternBorder.equals(this.getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderTop */._m().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        if (!borderInfo) {
            borderInfo = table.properties.borders.top.clone();
            borderInfo.width = 0;
        }
        else
            borderInfo = borderInfo.clone();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [borderInfo, undefined, undefined, undefined, undefined, undefined], [true, undefined, undefined, undefined, undefined, undefined]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        if (gridCell.info & TableBorderGridCellInfo.TopOuter) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.top.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [borderInfo, undefined, undefined, undefined, undefined, undefined], [true, undefined, undefined, undefined, undefined, undefined]));
        }
        if (gridCell.info & TableBorderGridCellInfo.TopNeighbour) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.bottom.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [undefined, undefined, borderInfo, undefined, undefined, undefined], [undefined, undefined, true, undefined, undefined, undefined]));
        }
    }
}
class ToggleTableCellsRightBorderCommand extends ToggleSingleTableCellsBorderCommand {
    constructor() {
        super(...arguments);
        this.affectInner = false;
        this.affectOnStateFlags = TableBorderGridCellInfo.RightOuter;
    }
    getActualCellBorder(table, _grid, _currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return this.getActualRightBorder(tableBordersInfo, table, rowIndex, columnIndex);
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return patternBorder.equals(this.getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderRight */.Nq().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        if (!borderInfo) {
            borderInfo = table.properties.borders.right.clone();
            borderInfo.width = 0;
        }
        else
            borderInfo = borderInfo.clone();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [undefined, borderInfo, undefined, undefined, undefined, undefined], [undefined, true, undefined, undefined, undefined, undefined]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        if (gridCell.info & TableBorderGridCellInfo.RightOuter) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.right.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [undefined, borderInfo, undefined, undefined, undefined, undefined], [undefined, true, undefined, undefined, undefined, undefined]));
        }
        if (gridCell.info & TableBorderGridCellInfo.RightNeighbour) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.left.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [undefined, undefined, undefined, borderInfo, undefined, undefined], [undefined, undefined, undefined, true, undefined, undefined]));
        }
    }
}
class ToggleTableCellsBottomBorderCommand extends ToggleSingleTableCellsBorderCommand {
    constructor() {
        super(...arguments);
        this.affectInner = false;
        this.affectOnStateFlags = TableBorderGridCellInfo.BottomOuter;
    }
    getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return this.getActualBottomBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex);
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return patternBorder.equals(this.getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderBottom */.zN().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        if (!borderInfo) {
            borderInfo = table.properties.borders.bottom.clone();
            borderInfo.width = 0;
        }
        else
            borderInfo = borderInfo.clone();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [undefined, undefined, borderInfo, undefined, undefined, undefined], [undefined, undefined, true, undefined, undefined, undefined]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        if (gridCell.info & TableBorderGridCellInfo.BottomOuter) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.bottom.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [undefined, undefined, borderInfo, undefined, undefined, undefined], [undefined, undefined, true, undefined, undefined, undefined]));
        }
        if (gridCell.info & TableBorderGridCellInfo.BottomNeighbour) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.top.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [borderInfo, undefined, undefined, undefined, undefined, undefined], [true, undefined, undefined, undefined, undefined, undefined]));
        }
    }
}
class ToggleTableCellsLeftBorderCommand extends ToggleSingleTableCellsBorderCommand {
    constructor() {
        super(...arguments);
        this.affectInner = false;
        this.affectOnStateFlags = TableBorderGridCellInfo.LeftOuter;
    }
    getActualCellBorder(table, _grid, _currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return this.getActualLeftBorder(tableBordersInfo, table, rowIndex, columnIndex);
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return patternBorder.equals(this.getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderLeft */.QO().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        if (!borderInfo) {
            borderInfo = table.properties.borders.left.clone();
            borderInfo.width = 0;
        }
        else
            borderInfo = borderInfo.clone();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [undefined, undefined, undefined, borderInfo, undefined, undefined], [undefined, undefined, undefined, true, undefined, undefined]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        if (gridCell.info & TableBorderGridCellInfo.LeftOuter) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.left.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [undefined, undefined, undefined, borderInfo, undefined, undefined], [undefined, undefined, undefined, true, undefined, undefined]));
        }
        if (gridCell.info & TableBorderGridCellInfo.LeftNeighbour) {
            if (!borderInfo) {
                borderInfo = gridCell.cell.properties.borders.right.clone();
                borderInfo.width = 0;
            }
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [undefined, borderInfo, undefined, undefined, undefined, undefined], [undefined, true, undefined, undefined, undefined, undefined]));
        }
    }
}
class ToggleTableCellAllBordersCommand extends ToggleTableCellsBorderCommandBase {
    constructor() {
        super(...arguments);
        this.affectOnStateFlags = TableBorderGridCellInfo.BottomInner | TableBorderGridCellInfo.BottomOuter | TableBorderGridCellInfo.LeftInner |
            TableBorderGridCellInfo.LeftOuter | TableBorderGridCellInfo.RightInner | TableBorderGridCellInfo.RightOuter |
            TableBorderGridCellInfo.TopInner | TableBorderGridCellInfo.TopOuter;
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return patternBorder.equals(this.getActualTopBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex)) &&
            patternBorder.equals(this.getActualBottomBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex)) &&
            patternBorder.equals(this.getActualLeftBorder(tableBordersInfo, table, rowIndex, columnIndex)) &&
            patternBorder.equals(this.getActualRightBorder(tableBordersInfo, table, rowIndex, columnIndex));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderTop */._m().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderRight */.Nq().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderBottom */.zN().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderLeft */.QO().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderHorizontal */.LE().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderVertical */.Yk().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [
            borderInfo.clone(), borderInfo.clone(), borderInfo.clone(), borderInfo.clone(), borderInfo.clone(), borderInfo.clone()
        ], [true, true, true, true, true, true]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        let topBorder, rightBorder, bottomBorder, leftBorder;
        if (gridCell.info & TableBorderGridCellInfo.TopOuter || gridCell.info & TableBorderGridCellInfo.TopInner || gridCell.info & TableBorderGridCellInfo.BottomNeighbour)
            topBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.RightOuter || gridCell.info & TableBorderGridCellInfo.RightInner || gridCell.info & TableBorderGridCellInfo.LeftNeighbour)
            rightBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.BottomOuter || gridCell.info & TableBorderGridCellInfo.BottomInner || gridCell.info & TableBorderGridCellInfo.TopNeighbour)
            bottomBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.LeftOuter || gridCell.info & TableBorderGridCellInfo.LeftInner || gridCell.info & TableBorderGridCellInfo.RightNeighbour)
            leftBorder = true;
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        if (topBorder || rightBorder || bottomBorder || leftBorder) {
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [topBorder ? borderInfo.clone() : undefined, rightBorder ? borderInfo.clone() : undefined, bottomBorder ? borderInfo.clone() : undefined, leftBorder ? borderInfo.clone() : undefined, undefined, undefined], [topBorder, rightBorder, bottomBorder, leftBorder, undefined, undefined]));
        }
    }
}
class ToggleTableCellNoBorderCommand extends ToggleTableCellAllBordersCommand {
    isChecked(_tableInfo) {
        return false;
    }
    applyBorderToTable(subDocument, table, _borderInfo) {
        super.applyBorderToTable(subDocument, table, new border_info/* BorderInfo */.H());
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, _borderInfo) {
        super.applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, new border_info/* BorderInfo */.H());
    }
}
class ToggleTableCellInsideBordersCommand extends ToggleTableCellsBorderCommandBase {
    constructor() {
        super(...arguments);
        this.affectOuter = false;
        this.affectNeighbours = false;
        this.affectOnStateFlags = TableBorderGridCellInfo.BottomInner | TableBorderGridCellInfo.LeftInner | TableBorderGridCellInfo.RightInner | TableBorderGridCellInfo.TopInner;
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        if (currentCell.info & TableBorderGridCellInfo.TopInner)
            return patternBorder.equals(this.getActualTopBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex));
        if (currentCell.info & TableBorderGridCellInfo.RightInner)
            return patternBorder.equals(this.getActualRightBorder(tableBordersInfo, table, rowIndex, columnIndex));
        if (currentCell.info & TableBorderGridCellInfo.BottomInner)
            return patternBorder.equals(this.getActualBottomBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex));
        if (currentCell.info & TableBorderGridCellInfo.LeftInner)
            return patternBorder.equals(this.getActualLeftBorder(tableBordersInfo, table, rowIndex, columnIndex));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderHorizontal */.LE().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderVertical */.Yk().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [
            undefined, undefined, undefined, undefined, borderInfo.clone(), borderInfo.clone()
        ], [undefined, undefined, undefined, undefined, true, true]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        let topBorder, rightBorder, bottomBorder, leftBorder;
        if (gridCell.info & TableBorderGridCellInfo.TopInner)
            topBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.RightInner)
            rightBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.BottomInner)
            bottomBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.LeftInner)
            leftBorder = true;
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        if (topBorder || rightBorder || bottomBorder || leftBorder) {
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [topBorder ? borderInfo.clone() : undefined, rightBorder ? borderInfo.clone() : undefined, bottomBorder ? borderInfo.clone() : undefined, leftBorder ? borderInfo.clone() : undefined, undefined, undefined], [topBorder, rightBorder, bottomBorder, leftBorder, undefined, undefined]));
        }
    }
}
class ToggleTableCellInsideHorizontalBordersCommand extends ToggleSingleTableCellsBorderCommand {
    constructor() {
        super(...arguments);
        this.affectOuter = false;
        this.affectNeighbours = false;
        this.affectOnStateFlags = TableBorderGridCellInfo.BottomInner | TableBorderGridCellInfo.TopInner;
    }
    getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        let border1, border2;
        if (currentCell.info & TableBorderGridCellInfo.TopInner)
            border1 = this.getActualTopBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex);
        if (currentCell.info & TableBorderGridCellInfo.BottomInner)
            border2 = this.getActualBottomBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex);
        if (border1 && border2)
            return border1.equals(border2) ? border1 : null;
        return border1 || border2;
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return patternBorder.equals(this.getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderHorizontal */.LE().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [
            undefined, undefined, undefined, undefined, borderInfo.clone(), undefined
        ], [undefined, undefined, undefined, undefined, true, undefined]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        let topBorder, bottomBorder;
        if (gridCell.info & TableBorderGridCellInfo.TopInner)
            topBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.BottomInner)
            bottomBorder = true;
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        if (topBorder || bottomBorder) {
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [topBorder ? borderInfo.clone() : undefined, undefined, bottomBorder ? borderInfo.clone() : undefined, undefined, undefined, undefined], [topBorder, undefined, bottomBorder, undefined, undefined, undefined]));
        }
    }
}
class ToggleTableCellInsideVerticalBordersCommand extends ToggleSingleTableCellsBorderCommand {
    constructor() {
        super(...arguments);
        this.affectOuter = false;
        this.affectNeighbours = false;
        this.affectOnStateFlags = TableBorderGridCellInfo.LeftInner | TableBorderGridCellInfo.RightInner;
    }
    getActualCellBorder(table, _grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        let border1, border2;
        if (currentCell.info & TableBorderGridCellInfo.LeftInner)
            border1 = this.getActualLeftBorder(tableBordersInfo, table, rowIndex, columnIndex);
        if (currentCell.info & TableBorderGridCellInfo.RightInner)
            border2 = this.getActualRightBorder(tableBordersInfo, table, rowIndex, columnIndex);
        if (border1 && border2)
            return border1.equals(border2) ? border1 : null;
        return border1 || border2;
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        return patternBorder.equals(this.getActualCellBorder(table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo));
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderVertical */.Yk().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [
            undefined, undefined, undefined, undefined, undefined, borderInfo.clone()
        ], [undefined, undefined, undefined, undefined, undefined, true]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        let leftBorder, rightBorder;
        if (gridCell.info & TableBorderGridCellInfo.LeftInner)
            leftBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.RightInner)
            rightBorder = true;
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        if (rightBorder || leftBorder) {
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [undefined, rightBorder ? borderInfo.clone() : undefined, undefined, leftBorder ? borderInfo.clone() : undefined, undefined, undefined], [undefined, rightBorder, undefined, leftBorder, undefined, undefined]));
        }
    }
}
class ToggleTableCellOutsideBordersCommand extends ToggleTableCellsBorderCommandBase {
    constructor() {
        super(...arguments);
        this.affectInner = false;
        this.affectOnStateFlags = TableBorderGridCellInfo.LeftOuter | TableBorderGridCellInfo.RightOuter | TableBorderGridCellInfo.TopOuter | TableBorderGridCellInfo.BottomOuter;
    }
    checkBorderInParticallyTableSelection(patternBorder, table, grid, currentCell, rowIndex, columnIndex, tableBordersInfo) {
        if (currentCell.info & TableBorderGridCellInfo.TopOuter && !patternBorder.equals(this.getActualTopBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex)))
            return false;
        if (currentCell.info & TableBorderGridCellInfo.RightOuter && !patternBorder.equals(this.getActualRightBorder(tableBordersInfo, table, rowIndex, columnIndex)))
            return false;
        if (currentCell.info & TableBorderGridCellInfo.BottomOuter && !patternBorder.equals(this.getActualBottomBorder(grid, currentCell, tableBordersInfo, table, rowIndex, columnIndex)))
            return false;
        if (currentCell.info & TableBorderGridCellInfo.LeftOuter && !patternBorder.equals(this.getActualLeftBorder(tableBordersInfo, table, rowIndex, columnIndex)))
            return false;
        return true;
    }
    checkBorderInEntireTable(patternBorder, table) {
        return patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderTop */._m().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderRight */.Nq().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderBottom */.zN().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties)) &&
            patternBorder.equals(new table_properties_merger/* TablePropertiesMergerBorderLeft */.QO().getProperty(table.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.control.modelManager.model.defaultTableProperties));
    }
    applyBorderToTable(subDocument, table, borderInfo) {
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [
            borderInfo.clone(), borderInfo.clone(), borderInfo.clone(), borderInfo.clone(), undefined, undefined
        ], [true, true, true, true, undefined, undefined]));
    }
    applyBorderToCell(subDocument, table, gridCell, rowIndex, cellIndex, borderInfo) {
        let topBorder, rightBorder, bottomBorder, leftBorder;
        if (gridCell.info & TableBorderGridCellInfo.TopOuter || gridCell.info & TableBorderGridCellInfo.BottomNeighbour)
            topBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.RightOuter || gridCell.info & TableBorderGridCellInfo.LeftNeighbour)
            rightBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.BottomOuter || gridCell.info & TableBorderGridCellInfo.TopNeighbour)
            bottomBorder = true;
        if (gridCell.info & TableBorderGridCellInfo.LeftOuter || gridCell.info & TableBorderGridCellInfo.RightNeighbour)
            leftBorder = true;
        borderInfo = borderInfo || new border_info/* BorderInfo */.H();
        if (topBorder || rightBorder || bottomBorder || leftBorder) {
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellBordersHistoryItem */.ZA(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, [topBorder ? borderInfo.clone() : undefined, rightBorder ? borderInfo.clone() : undefined, bottomBorder ? borderInfo.clone() : undefined, leftBorder ? borderInfo.clone() : undefined, undefined, undefined], [topBorder, rightBorder, bottomBorder, leftBorder, undefined, undefined]));
        }
    }
}
var TableBorderGridCellInfo;
(function (TableBorderGridCellInfo) {
    TableBorderGridCellInfo[TableBorderGridCellInfo["None"] = 0] = "None";
    TableBorderGridCellInfo[TableBorderGridCellInfo["LeftOuter"] = 1] = "LeftOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["RightOuter"] = 2] = "RightOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["BottomOuter"] = 4] = "BottomOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["TopOuter"] = 8] = "TopOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["RightNeighbour"] = 16] = "RightNeighbour";
    TableBorderGridCellInfo[TableBorderGridCellInfo["TopNeighbour"] = 32] = "TopNeighbour";
    TableBorderGridCellInfo[TableBorderGridCellInfo["LeftNeighbour"] = 64] = "LeftNeighbour";
    TableBorderGridCellInfo[TableBorderGridCellInfo["BottomNeighbour"] = 128] = "BottomNeighbour";
    TableBorderGridCellInfo[TableBorderGridCellInfo["RightInner"] = 256] = "RightInner";
    TableBorderGridCellInfo[TableBorderGridCellInfo["TopInner"] = 512] = "TopInner";
    TableBorderGridCellInfo[TableBorderGridCellInfo["LeftInner"] = 1024] = "LeftInner";
    TableBorderGridCellInfo[TableBorderGridCellInfo["BottomInner"] = 2048] = "BottomInner";
    TableBorderGridCellInfo[TableBorderGridCellInfo["LeftTableOuter"] = 4096] = "LeftTableOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["RightTableOuter"] = 8192] = "RightTableOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["TopTableOuter"] = 16384] = "TopTableOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["BottomTableOuter"] = 32768] = "BottomTableOuter";
    TableBorderGridCellInfo[TableBorderGridCellInfo["All"] = -1] = "All";
})(TableBorderGridCellInfo || (TableBorderGridCellInfo = {}));

;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-border-shading-command.ts













class DialogBorderShadingCommandBase extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        const visible = this.selection.tableInfo.extendedData.numRows > 0;
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled() && visible);
        state.visible = visible;
        return state;
    }
    makeParams(applyToWholeTable, colorProvider) {
        let dialogParams = new BorderShadingDialogParameters();
        let selection = this.selection;
        let tableInfo = selection.tableInfo;
        let startCell = tableInfo.extendedData.firstCell;
        let table = startCell.parentRow.parentTable;
        let selectionStateInfo;
        dialogParams.applyToWholeTable = applyToWholeTable;
        if ((typeof dialogParams.applyToWholeTable !== "boolean" && this.isNoFullSelectedCell(selection)) || dialogParams.applyToWholeTable === true) {
            selectionStateInfo = selection.getFloatingState();
            selection.deprecatedSetSelection(table.getStartPosition(), table.getEndPosition(), selection.endOfLine, -1, true);
            tableInfo = selection.tableInfo;
        }
        this.topBorderCommand = new ToggleTableCellsTopBorderCommand(this.control);
        this.rightBorderCommand = new ToggleTableCellsRightBorderCommand(this.control);
        this.bottomBorderCommand = new ToggleTableCellsBottomBorderCommand(this.control);
        this.leftBorderCommand = new ToggleTableCellsLeftBorderCommand(this.control);
        this.insideHorizontalBordersCommand = new ToggleTableCellInsideHorizontalBordersCommand(this.control);
        this.insideVerticalBordersCommand = new ToggleTableCellInsideVerticalBordersCommand(this.control);
        dialogParams.top = DialogBorderInfo.create(this.topBorderCommand.getGeneralizedBorder(), colorProvider);
        dialogParams.right = DialogBorderInfo.create(this.rightBorderCommand.getGeneralizedBorder(), colorProvider);
        dialogParams.bottom = DialogBorderInfo.create(this.bottomBorderCommand.getGeneralizedBorder(), colorProvider);
        dialogParams.left = DialogBorderInfo.create(this.leftBorderCommand.getGeneralizedBorder(), colorProvider);
        dialogParams.insideHorizontal = DialogBorderInfo.create(this.insideHorizontalBordersCommand.getGeneralizedBorder(), colorProvider);
        dialogParams.insideVertical = DialogBorderInfo.create(this.insideVerticalBordersCommand.getGeneralizedBorder(), colorProvider);
        dialogParams.init(this.colorProvider, tableInfo, this.modelManipulator.model);
        if (selectionStateInfo)
            this.selection.restoreFloatingState(selectionStateInfo);
        return dialogParams;
    }
    applyParameters(_state, newParams, initParams) {
        let selection = this.selection;
        let tableInfo = selection.tableInfo;
        let startCell = tableInfo.extendedData.firstCell;
        let table = startCell.parentRow.parentTable;
        let selectionStateInfo;
        if ((typeof newParams.applyToWholeTable !== "boolean" && this.isNoFullSelectedCell(selection)) || newParams.applyToWholeTable === true) {
            selectionStateInfo = selection.getFloatingState();
            selection.deprecatedSetSelection(table.getStartPosition(), table.getEndPosition(), selection.endOfLine, -1, true);
            tableInfo = selection.tableInfo;
        }
        let history = this.history;
        history.beginTransaction();
        let changed = false;
        if (newParams.backgroundColor !== initParams.backgroundColor) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeTableCellShading).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeTableCellShading).
                DEPRECATEDConvertOptionsParameter(newParams.backgroundColor)));
            changed = true;
        }
        if (newParams.top && !newParams.top.equals(initParams.top)) {
            this.topBorderCommand.execute(this.control.commandManager.isPublicApiCall, newParams.top.getBorderInfo());
            changed = true;
        }
        if (newParams.bottom && !newParams.bottom.equals(initParams.bottom)) {
            this.bottomBorderCommand.execute(this.control.commandManager.isPublicApiCall, newParams.bottom.getBorderInfo());
            changed = true;
        }
        if (newParams.right && !newParams.right.equals(initParams.right)) {
            this.rightBorderCommand.execute(this.control.commandManager.isPublicApiCall, newParams.right.getBorderInfo());
            changed = true;
        }
        if (newParams.left && !newParams.left.equals(initParams.left)) {
            this.leftBorderCommand.execute(this.control.commandManager.isPublicApiCall, newParams.left.getBorderInfo());
            changed = true;
        }
        if (newParams.insideHorizontal && !newParams.insideHorizontal.equals(initParams.insideHorizontal)) {
            this.insideHorizontalBordersCommand.execute(this.control.commandManager.isPublicApiCall, newParams.insideHorizontal.getBorderInfo());
            changed = true;
        }
        if (newParams.insideVertical && !newParams.insideVertical.equals(initParams.insideVertical)) {
            this.insideVerticalBordersCommand.execute(this.control.commandManager.isPublicApiCall, newParams.insideVertical.getBorderInfo());
            changed = true;
        }
        history.endTransaction();
        if (selectionStateInfo)
            this.selection.restoreFloatingState(selectionStateInfo);
        return changed || !!selectionStateInfo;
    }
    isNoFullSelectedCell(selection) {
        let tableInfo = selection.tableInfo;
        if (tableInfo.extendedData.numRows > 1 || tableInfo.extendedData.rows[0].cells.length > 1)
            return false;
        const startCell = tableInfo.extendedData.firstCell;
        return selection.intervals[0].start !== startCell.startParagraphPosition.value || selection.intervals[0].end !== startCell.endParagrapPosition.value;
    }
    getDialogName() {
        return "BorderShading";
    }
}
class DialogBorderShadingCommand extends DialogBorderShadingCommandBase {
    createParameters(options) {
        return this.makeParams(options.param, this.control.modelManager.model.colorProvider);
    }
}
class DialogServiceBorderShadingCommand extends DialogBorderShadingCommandBase {
    createParameters(_options) {
        return this.makeParams(null, this.control.modelManager.model.colorProvider);
    }
    afterClosing(options) {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowTablePropertiesForm)
            .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, options.param));
    }
}
class BorderShadingDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    constructor() {
        super(...arguments);
        this.borderLineHorizontalInVisible = false;
        this.borderLineVerticalInVisible = false;
    }
    init(colorProvider, tableInfo, model) {
        let firstCell = tableInfo.extendedData.firstCell;
        let table = tableInfo.table;
        let backColorMerger = new table_cell_properties_merger/* TableCellPropertiesMergerShadingInfo */.iT();
        let backgroundColor = backColorMerger.getProperty(firstCell.properties, table.style, firstCell.conditionalFormatting, model.defaultTableCellProperties).getActualColor(colorProvider);
        this.backgroundColor = this.getColor(tableInfo.extendedData.allOfCells((cellInfo) => {
            const bc = backColorMerger.getProperty(cellInfo.cell.properties, table.style, cellInfo.cell.conditionalFormatting, model.defaultTableCellProperties);
            return backgroundColor == (bc ? bc.getActualColor(colorProvider) : null);
        }) ? backgroundColor : null);
        this.borderLineHorizontalInVisible = tableInfo.extendedData.numRows > 1;
        this.borderLineVerticalInVisible = utils_list.ListUtils.unsafeAnyOf(tableInfo.extendedData.rows, (rowInfo) => rowInfo.cells.length > 1);
        this.setModeButton = this.getModeState();
    }
    getModeState() {
        if (this.isModeStateNone())
            return SetModeButtons.None;
        if (this.isModeStateAll())
            return SetModeButtons.All;
        if (this.isModeStateBox())
            return SetModeButtons.Box;
        if (this.isModeStateGrid())
            return SetModeButtons.Grid;
        return SetModeButtons.Custom;
    }
    isModeStateNone() {
        let borders = [this.top, this.right, this.bottom, this.left, this.insideVertical, this.insideHorizontal];
        for (let i = 0; i < borders.length; i++) {
            if (borders[i] != null && !(borders[i].style === borders_enums/* BorderLineStyle */.u.None || borders[i].width === 0))
                return false;
        }
        return true;
    }
    isModeStateAll() {
        let borders = [this.top, this.right, this.bottom, this.left];
        borders.push(this.insideVertical);
        borders.push(this.insideHorizontal);
        if ((borders[0] == null) || (borders[0].style === borders_enums/* BorderLineStyle */.u.None) || (borders[0].width === 0))
            return false;
        if (!this.borderLineHorizontalInVisible && !this.borderLineVerticalInVisible)
            return false;
        for (let i = 1; i < borders.length; i++) {
            if ((borders[i] == null) || !borders[0].equals(borders[i]))
                return false;
        }
        return true;
    }
    isModeStateBox() {
        let borders = [this.top, this.right, this.bottom, this.left];
        let bordersIn = [this.insideVertical, this.insideHorizontal];
        if ((borders[0] == null) || (borders[0].style === borders_enums/* BorderLineStyle */.u.None) || (borders[0].width === 0))
            return false;
        for (let i = 1; i < borders.length; i++) {
            if ((borders[i] == null) || !borders[0].equals(borders[i]))
                return false;
        }
        if (!this.borderLineHorizontalInVisible && !this.borderLineVerticalInVisible)
            return true;
        for (let i = 0; i < bordersIn.length; i++) {
            if ((bordersIn[i] == null) || !(bordersIn[i].style === borders_enums/* BorderLineStyle */.u.None || bordersIn[i].width === 0))
                return false;
        }
        return true;
    }
    isModeStateGrid() {
        let borders = [this.top, this.right, this.bottom, this.left];
        let bordersIn = [this.insideVertical, this.insideHorizontal];
        if ((borders[0] == null) || (borders[0].style === borders_enums/* BorderLineStyle */.u.None) || (borders[0].width === 0))
            return false;
        if (!this.borderLineHorizontalInVisible && !this.borderLineVerticalInVisible)
            return false;
        for (let i = 1; i < borders.length; i++) {
            if ((borders[i] == null) || !borders[0].equals(borders[i]))
                return false;
        }
        for (let i = 0; i < bordersIn.length; i++) {
            if ((bordersIn[i] == null) || bordersIn[i].style !== borders_enums/* BorderLineStyle */.u.Single || bordersIn[i].color !== borders[0].color || (bordersIn[i].width !== BorderShadingDialogParameters.gridWidth))
                return false;
        }
        return true;
    }
    getColor(color) {
        if (color == color_color/* ColorHelper */.v.AUTOMATIC_COLOR)
            return "Auto";
        if (color != undefined)
            return utils_color/* ColorUtils */.i.colorToHash(color).toUpperCase();
        else
            return undefined;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.backgroundColor = obj.backgroundColor;
        this.top = obj.top !== null ? obj.top.clone() : null;
        this.right = obj.right !== null ? obj.right.clone() : null;
        this.bottom = obj.bottom !== null ? obj.bottom.clone() : null;
        this.left = obj.left !== null ? obj.left.clone() : null;
        this.insideHorizontal = obj.insideHorizontal !== null ? obj.insideHorizontal.clone() : null;
        this.insideVertical = obj.insideVertical !== null ? obj.insideVertical.clone() : null;
        this.applyToWholeTable = obj.applyToWholeTable;
    }
    clone() {
        const newInstance = new BorderShadingDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
BorderShadingDialogParameters.gridWidth = class_unit_converter/* UnitConverter */.u.twipsToPointsF(15);
class DialogBorderInfo {
    static create(borderInfo, colorProvider) {
        if (!borderInfo)
            return null;
        var dialogBorderInfo = new DialogBorderInfo();
        dialogBorderInfo.color = utils_color/* ColorUtils */.i.colorToHash(borderInfo.color.toRgb(colorProvider)).toUpperCase();
        dialogBorderInfo.width = class_unit_converter/* UnitConverter */.u.twipsToPointsF(borderInfo.width);
        dialogBorderInfo.style = borderInfo.style;
        return dialogBorderInfo;
    }
    getBorderInfo() {
        const borderInfo = new border_info/* BorderInfo */.H();
        borderInfo.color = this.color === null ? color_model_info/* ColorModelInfo */.k.noColor : color_model_info/* ColorModelInfo */.k.makeByColor(utils_color/* ColorUtils */.i.fromHashString(this.color));
        borderInfo.width = class_unit_converter/* UnitConverter */.u.pointsToTwips(this.width);
        borderInfo.style = this.style;
        return borderInfo;
    }
    equals(obj) {
        return obj && this.style == obj.style &&
            this.color == obj.color &&
            this.width == obj.width;
    }
    copyFrom(obj) {
        this.style = obj.style;
        this.color = obj.color;
        this.width = obj.width;
    }
    clone() {
        var result = new DialogBorderInfo();
        result.copyFrom(this);
        return result;
    }
}
var SetModeButtons;
(function (SetModeButtons) {
    SetModeButtons[SetModeButtons["None"] = 0] = "None";
    SetModeButtons[SetModeButtons["Box"] = 1] = "Box";
    SetModeButtons[SetModeButtons["All"] = 2] = "All";
    SetModeButtons[SetModeButtons["Grid"] = 3] = "Grid";
    SetModeButtons[SetModeButtons["Custom"] = 4] = "Custom";
})(SetModeButtons || (SetModeButtons = {}));

// EXTERNAL MODULE: ./src/common/commands/dialogs/dialog-columns-command.ts
var dialog_columns_command = __webpack_require__(2433);
// EXTERNAL MODULE: ./src/common/commands/dialogs/dialog-custom-numbering-list-command.ts
var dialog_custom_numbering_list_command = __webpack_require__(277);
// EXTERNAL MODULE: ./src/common/model/find-replace-helper.ts
var find_replace_helper = __webpack_require__(6483);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-find-replace-command.ts



class DialogFindReplaceCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    createParameters(_options) {
        var parameters = new FindReplaceDialogParameters();
        parameters.controller = this.control.searchManager;
        return parameters;
    }
    applyParameters(_state, _params) {
        return true;
    }
    getDialogName() {
        return "FindReplace";
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    isModal() {
        return false;
    }
    static getTextForResult(control, subDocument, interval) {
        let entryContextRadius = 20;
        let paragraphInterval = subDocument.getParagraphByPosition(interval.start).interval;
        let searchPartText = DialogFindReplaceCommand.getTextForward(control, subDocument, interval.start, interval.end, interval.length);
        let leftPartText = DialogFindReplaceCommand.getTextBackward(control, subDocument, interval.start, paragraphInterval.start, entryContextRadius);
        let rightPartText = DialogFindReplaceCommand.getTextForward(control, subDocument, interval.end, paragraphInterval.end, entryContextRadius);
        let resultText = `${encodeHtml(leftPartText)}${`<b>${encodeHtml(searchPartText)}</b>`}${encodeHtml(rightPartText)}`;
        return resultText;
    }
    static getTextForward(control, subDocument, startPosition, endPosition, length) {
        let text = "";
        const charIterator = new find_replace_helper/* ForwardCharacterIterator */._A(control.modelManager, control.layoutFormatterManager, control.selection.pageIndex, subDocument, startPosition, endPosition);
        while (charIterator.nextChar() && text.length < length)
            text += charIterator.char;
        return charIterator.iterator.intervalEnd > charIterator.getCurrLogPosition() && text.length === length && charIterator.nextChar() ? text + "..." : text;
    }
    static getTextBackward(control, subDocument, startPosition, endPosition, length) {
        let text = "";
        const charIterator = new find_replace_helper/* BackwardCharacterIterator */.lK(control.modelManager, control.layoutFormatterManager, control.selection.pageIndex, subDocument, endPosition, startPosition);
        while (charIterator.prevChar() && text.length < length)
            text = charIterator.char + text;
        return charIterator.iterator.intervalStart < charIterator.getCurrLogPosition() && text.length === length && charIterator.prevChar() ? "..." + text : text;
    }
}
class FindReplaceDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.controller = obj.controller;
    }
    clone() {
        const newInstance = new FindReplaceDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
function encodeHtml(html) {
    const replTable = [
        [/&amp;/g, '&ampx;'], [/&/g, '&amp;'],
        [/&quot;/g, '&quotx;'], [/"/g, '&quot;'],
        [/&lt;/g, '&ltx;'], [/</g, '&lt;'],
        [/&gt;/g, '&gtx;'], [/>/g, '&gt;']
    ];
    for (var i = 0; i < replTable.length; i++) {
        var replacement = replTable[i];
        html = html.replace(replacement[0], replacement[1]);
    }
    return html;
}

// EXTERNAL MODULE: ./src/common/model/character/character-properties.ts
var character_properties = __webpack_require__(1789);
// EXTERNAL MODULE: ./src/common/model/character/character-properties-helper.ts
var character_properties_helper = __webpack_require__(7218);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-font-command.ts












class DialogFontCommandBase extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getDialogName() {
        return "EditFont";
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterFormatting);
    }
}
class DialogFontCommand extends DialogFontCommandBase {
    getState() {
        let state = new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), this.getActualIntervals());
        state.visible = control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.characterFormatting);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && (!this.selection.specialRunInfo.isPictureSelected() || !this.selection.specialRunInfo.isSelectedAnchorObject);
    }
    getActualIntervals() {
        if (this.selection.isCollapsed())
            return [this.selection.activeSubDocument.getWholeWordInterval(this.selection.intervals[0].start)];
        return utils_list.ListUtils.deepCopy(this.selection.intervalsInfo.intervals);
    }
    createParameters(_options) {
        var parameters = new FontDialogParameters();
        parameters.init(this.colorProvider, this.inputPosition.getMergedCharacterPropertiesRaw());
        return parameters;
    }
    applyParameters(_state, newParams, initParams) {
        const newProps = new character_properties/* CharacterProperties */.d();
        newProps.allCaps = newParams.allCaps !== initParams.allCaps ? newParams.allCaps : undefined;
        newProps.smallCaps = newParams.smallCaps !== initParams.smallCaps ? newParams.smallCaps : undefined;
        newProps.fontInfo = newParams.fontName !== null && newParams.fontName !== initParams.fontName ?
            (this.control.modelManager.model.cache.fontInfoCache.getItemByName(newParams.fontName) || undefined) : undefined;
        newProps.fontSize = newParams.fontSize !== null && newParams.fontSize !== initParams.fontSize ?
            newParams.fontSize : undefined;
        newProps.fontStrikeoutType = newParams.fontStrikeoutType !== null && newParams.fontStrikeoutType !== initParams.fontStrikeoutType ?
            newParams.fontStrikeoutType : undefined;
        newProps.fontBold = newParams.fontStyle !== null && newParams.fontStyle !== initParams.fontStyle && (newParams.fontStyle & 1) !== (initParams.fontStyle & 1) ?
            !!(newParams.fontStyle & 1) : undefined;
        newProps.fontItalic = newParams.fontStyle !== null && newParams.fontStyle !== initParams.fontStyle && (newParams.fontStyle & 2) !== (initParams.fontStyle & 2) ?
            !!(newParams.fontStyle & 2) : undefined;
        newProps.fontUnderlineType = newParams.fontUnderlineType !== null && newParams.fontUnderlineType !== initParams.fontUnderlineType ?
            newParams.fontUnderlineType : undefined;
        newProps.hidden = newParams.hidden !== initParams.hidden ? newParams.hidden : undefined;
        newProps.script = newParams.script !== null && newParams.script !== initParams.script ? newParams.script : undefined;
        newProps.underlineWordsOnly = newParams.underlineWordsOnly !== initParams.underlineWordsOnly ? newParams.underlineWordsOnly : undefined;
        newProps.textColor = newParams.fontColor !== null && newParams.fontColor !== initParams.fontColor ?
            color_model_info/* ColorModelInfo */.k.makeByColor(newParams.fontColor == "Auto" ? color_color/* ColorHelper */.v.AUTOMATIC_COLOR : utils_color/* ColorUtils */.i.fromString(newParams.fontColor)) : undefined;
        newProps.underlineColor = newParams.fontUnderlineColor !== null && newParams.fontUnderlineColor !== initParams.fontUnderlineColor ?
            color_model_info/* ColorModelInfo */.k.makeByColor(newParams.fontUnderlineColor == "Auto" ? color_color/* ColorHelper */.v.AUTOMATIC_COLOR : utils_color/* ColorUtils */.i.fromString(newParams.fontUnderlineColor))
            : undefined;
        const isResetBackColor = newParams.backColor !== initParams.backColor;
        newProps.shadingInfo = isResetBackColor ?
            shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(newParams.backColor === null ? color_color/* ColorHelper */.v.NO_COLOR : utils_color/* ColorUtils */.i.fromString(newParams.backColor)))
            : undefined;
        newProps.highlightColor = isResetBackColor ? color_model_info/* ColorModelInfo */.k.noColor : undefined;
        newProps.strikeoutWordsOnly = undefined;
        newProps.noProof = undefined;
        newProps.strikeoutColor = undefined;
        newProps.langInfo = undefined;
        newProps.compositeFontInfo = undefined;
        return new character_properties_helper/* CharacterPropertiesApplier */.P(this.control.modelManager, this.inputPosition, newProps, this.control.selection.activeSubDocument, this.control.selection.intervals).apply();
    }
}
class DialogServiceFontCommand extends DialogFontCommandBase {
    createParameters(options) {
        this.dialogCustomNumberingListParameters = options.param;
        var level = this.dialogCustomNumberingListParameters.levels[this.dialogCustomNumberingListParameters.currentLevel];
        var parameters = new FontDialogParameters();
        parameters.initServicePart(level);
        return parameters;
    }
    applyParameters(_state, params) {
        var level = this.dialogCustomNumberingListParameters.levels[this.dialogCustomNumberingListParameters.currentLevel];
        level.fontColor = params.fontColor;
        level.fontName = params.fontName;
        level.fontSize = params.fontSize;
        level.fontStyle = params.fontStyle;
        return false;
    }
    afterClosing() {
        var clientCommand = client_command/* RichEditClientCommand */.f.ShowCustomNumberingListForm;
        this.control.commandManager.getCommand(clientCommand).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, this.dialogCustomNumberingListParameters));
    }
}
class FontDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    constructor() {
        super(...arguments);
        this.fontName = null;
        this.fontStyle = null;
        this.fontSize = null;
        this.fontColor = null;
        this.backColor = null;
        this.fontUnderlineType = null;
        this.fontUnderlineColor = null;
        this.fontStrikeoutType = null;
        this.underlineWordsOnly = null;
        this.script = null;
        this.allCaps = null;
        this.smallCaps = null;
        this.hidden = null;
    }
    init(colorProvider, rawCharProps) {
        this.allCaps = rawCharProps.allCaps;
        this.smallCaps = rawCharProps.smallCaps;
        this.fontColor = rawCharProps.textColor ? FontDialogParameters.getColor(rawCharProps.textColor.toRgb(colorProvider)) : undefined;
        this.backColor = rawCharProps.shadingInfo && rawCharProps.highlightColor ?
            FontDialogParameters.getColor(character_properties/* CharacterProperties */.d.getActualBackgroundColor(rawCharProps, colorProvider)) : undefined;
        this.fontName = rawCharProps.fontInfo ? rawCharProps.fontInfo.name : null;
        this.fontSize = rawCharProps.fontSize;
        this.fontStrikeoutType = rawCharProps.fontStrikeoutType;
        this.fontStyle = (rawCharProps.fontBold ? 1 : 0) | (rawCharProps.fontItalic ? 2 : 0);
        this.fontUnderlineColor = rawCharProps.underlineColor ? FontDialogParameters.getColor(rawCharProps.underlineColor.toRgb(colorProvider)) : undefined;
        this.fontUnderlineType = rawCharProps.fontUnderlineType;
        this.hidden = rawCharProps.hidden;
        this.script = rawCharProps.script;
        this.underlineWordsOnly = rawCharProps.underlineWordsOnly;
    }
    static getColor(color) {
        if (color === color_color/* ColorHelper */.v.AUTOMATIC_COLOR)
            return "Auto";
        if (color === color_color/* ColorHelper */.v.NO_COLOR)
            return null;
        return color !== undefined ? utils_color/* ColorUtils */.i.colorToHash(color).toUpperCase() : undefined;
    }
    initServicePart(level) {
        this.fontColor = level.fontColor;
        this.fontName = level.fontName;
        this.fontSize = level.fontSize;
        this.fontStyle = level.fontStyle;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.allCaps = obj.allCaps;
        this.smallCaps = obj.smallCaps;
        this.fontColor = obj.fontColor;
        this.fontName = obj.fontName;
        this.fontSize = obj.fontSize;
        this.fontStrikeoutType = obj.fontStrikeoutType;
        this.fontStyle = obj.fontStyle;
        this.fontUnderlineColor = obj.fontUnderlineColor;
        this.fontUnderlineType = obj.fontUnderlineType;
        this.hidden = obj.hidden;
        this.script = obj.script;
        this.underlineWordsOnly = obj.underlineWordsOnly;
        this.backColor = obj.backColor;
    }
    clone() {
        const newInstance = new FontDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

// EXTERNAL MODULE: ./src/common/model/fields/field-context-menu-helper.ts
var field_context_menu_helper = __webpack_require__(6464);
// EXTERNAL MODULE: ./src/common/model/history/items/apply-field-hyperlink-style-history-item.ts
var apply_field_hyperlink_style_history_item = __webpack_require__(6502);
// EXTERNAL MODULE: ./src/common/model/history/items/change-field-hyperlink-info-history-item.ts
var change_field_hyperlink_info_history_item = __webpack_require__(1688);
// EXTERNAL MODULE: ./src/common/model/history/items/field-insert-history-item.ts
var field_insert_history_item = __webpack_require__(835);
// EXTERNAL MODULE: ./src/common/model/fields/tree-creator.ts + 12 modules
var tree_creator = __webpack_require__(769);
// EXTERNAL MODULE: ./src/common/model/history/items/insert-text-history-item.ts
var insert_text_history_item = __webpack_require__(334);
// EXTERNAL MODULE: ./src/common/model/history/items/remove-interval-history-item.ts
var remove_interval_history_item = __webpack_require__(2038);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/insert-paragraph-manipulator-params.ts
var insert_paragraph_manipulator_params = __webpack_require__(7970);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-manipulator/insert-text-manipulator-params.ts
var insert_text_manipulator_params = __webpack_require__(2598);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/history/selection/selection-history-item.ts
var selection_history_item = __webpack_require__(6341);
// EXTERNAL MODULE: ./src/common/commands/fields/field-command-helper.ts
var field_command_helper = __webpack_require__(6815);
// EXTERNAL MODULE: ./src/common/commands/fields/update-field-command-base.ts
var update_field_command_base = __webpack_require__(2039);
;// CONCATENATED MODULE: ./src/common/commands/fields/create-field-command.ts



















class CreateFieldCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* IntervalCommandState */.dJ(this.isEnabled(), this.selection.lastSelectedInterval);
    }
    static isTableProtectionOk(subDocumentInreval) {
        const subDoc = subDocumentInreval.subDocument;
        const interval = CreateFieldCommandBase.getIntervalWithoutLastParagraphMark(subDocumentInreval.interval, subDoc);
        if (interval.length == 0)
            return true;
        const tables = subDocumentInreval.subDocument.tables;
        for (let tblIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(tables, (t) => t.getStartPosition(), interval.start)), table; table = tables[tblIndex]; tblIndex++) {
            if (table.getStartPosition() >= interval.end)
                break;
            if (algorithms.IntervalAlgorithms.getIntersectionNonNullLength(table.interval, interval)) {
                const startCell = main_structures_table/* Table */.iA.getTableCellByPosition(tables, interval.start);
                const endCell = main_structures_table/* Table */.iA.getTableCellByPosition(tables, interval.end);
                return startCell && endCell && startCell === endCell &&
                    interval.end < subDoc.getParagraphByPosition(endCell.endParagrapPosition.value).getEndPosition();
            }
        }
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields) &&
            CreateFieldCommandBase.isTableProtectionOk(this.selection.subDocumentInterval);
    }
    static getIntervalWithoutLastParagraphMark(interval, subDocument) {
        interval = interval.clone();
        var lastDocPos = subDocument.getDocumentEndPosition();
        if (interval.end == lastDocPos) {
            interval.length--;
            if (interval.length < 0)
                interval = new fixed.FixedInterval(lastDocPos - 1, 0);
        }
        return interval;
    }
}
class CreateFieldCommand extends CreateFieldCommandBase {
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.intervals = [CreateFieldCommandBase.getIntervalWithoutLastParagraphMark(this.selection.lastSelectedInterval, options.subDocument)];
    }
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        const interval = options.intervalsInfo.interval;
        this.history.addTransaction(() => {
            this.history.addAndRedo(new field_insert_history_item/* FieldInsertHistoryItem */.O(this.modelManipulator, subDocument, interval.start, interval.length, 0, true, this.inputPosition.charPropsBundle));
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(interval.start + 1)));
        });
        return true;
    }
}
class CreatePredefinedFieldCommand extends CreateFieldCommandBase {
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.interval = CreateFieldCommandBase.getIntervalWithoutLastParagraphMark(this.selection.lastSelectedInterval, options.subDocument);
    }
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        const interval = options.intervalsInfo.interval;
        var history = this.history;
        history.beginTransaction();
        var startPosition = interval.start;
        history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(startPosition)));
        if (interval.length > 0)
            history.addAndRedo(new remove_interval_history_item/* RemoveIntervalHistoryItem */.k(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), false));
        var run = subDocument.getRunByPosition(startPosition);
        var prefix = this.getPrefix();
        if (prefix.length > 0) {
            history.addAndRedo(new insert_text_history_item/* InsertTextHistoryItem */.U(this.modelManipulator, new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, startPosition), run.getCharPropsBundle(this.modelManipulator.model), run_type/* RunType */.m.TextRun, prefix + " ")));
            startPosition += prefix.length + 1;
        }
        if (this.needNewParagraph()) {
            const currentParagraph = subDocument.getParagraphByPosition(startPosition);
            if (startPosition > currentParagraph.startLogPosition.value) {
                this.modelManipulator.paragraph.insertParagraphViaHistory(insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n.makeParamsByPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, startPosition), this.inputPosition));
                startPosition++;
            }
            this.modelManipulator.paragraph.insertParagraphViaHistory(insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n.makeParamsByPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, startPosition), this.inputPosition));
        }
        history.addAndRedo(new field_insert_history_item/* FieldInsertHistoryItem */.O(this.modelManipulator, subDocument, startPosition, 0, 0, !this.needUpdate(), this.inputPosition.charPropsBundle));
        var insertedText = this.getInsertedText(options.param);
        history.addAndRedo(new insert_text_history_item/* InsertTextHistoryItem */.U(this.modelManipulator, new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, startPosition + 1), run.getCharPropsBundle(this.modelManipulator.model), run_type/* RunType */.m.TextRun, insertedText)));
        const fieldInterval = this.needUpdate() ?
            new fixed.FixedInterval(startPosition, insertedText.length + 3) :
            new fixed.FixedInterval(startPosition + insertedText.length, 0);
        if (this.needUpdate()) {
            update_field_command_base/* UpdateFieldCommandBase */.E.updateFields(this, [new sub_document/* SubDocumentIntervals */.Jt(subDocument, [fieldInterval])], () => {
                const fieldEndPos = subDocument.fields[fields_field/* Field */.gN.normedBinaryIndexOf(subDocument.fields, startPosition + 1)].getFieldEndPosition();
                history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(fieldEndPos)));
                history.endTransaction();
            }, new tree_creator/* UpdateFieldsOptions */.f$());
        }
        else {
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(fieldInterval)));
            history.endTransaction();
        }
        return true;
    }
    needUpdate() {
        return true;
    }
    needNewParagraph() {
        return false;
    }
    getPrefix() {
        return "";
    }
}
class CreateFieldWithCodeCommand extends CreatePredefinedFieldCommand {
    getInsertedText(code) {
        return code;
    }
}
class CreatePageFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "PAGE";
    }
}
class CreatePageCountFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "NUMPAGES";
    }
}
class CreateDateFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return `DATE \\@ \"${this.control.modelManager.richOptions.fields.defaultDateFormat}\"`;
    }
}
class CreateTimeFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return `TIME \\@ \"${this.control.modelManager.richOptions.fields.defaultTimeFormat}\"`;
    }
}
class CreateMergeFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(parameter) {
        return parameter.indexOf(" ") !== -1 ? `MERGEFIELD \"${parameter}\"` : `MERGEFIELD ${parameter}`;
    }
}
class CreateEmptyMergeFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "MERGEFIELD \"\"";
    }
    needUpdate() {
        return false;
    }
}
class CreateEmptyDocVariableFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "DOCVARIABLE \"\"";
    }
    needUpdate() {
        return false;
    }
}
class CreateEmptyIfFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "IF";
    }
    needUpdate() {
        return false;
    }
}
class CreateTableOfContentCommandBase extends CreatePredefinedFieldCommand {
    isEnabled() {
        const currentTocField = field_command_helper/* FieldCommandHelper */.D.findTocFieldBySelection(this.selection.activeSubDocument, this.selection);
        return super.isEnabled() && currentTocField == null;
    }
    getInsertedText(_parameter) {
        return "TOC \\h \\c \"Table\"";
    }
    needNewParagraph() {
        return true;
    }
}
class CreateTocFieldCommand extends CreateTableOfContentCommandBase {
    getInsertedText(_parameter) {
        return "TOC \\h \\u";
    }
}
class CreateTableOfEquationsFieldCommand extends CreateTableOfContentCommandBase {
    getInsertedText(_parameter) {
        return "TOC \\h \\c \"Equation\"";
    }
}
class CreateTableOfFiguresFieldCommand extends CreateTableOfContentCommandBase {
    getInsertedText(_parameter) {
        return "TOC \\h \\c \"Figure\"";
    }
}
class CreateTableOfTablesFieldCommand extends CreateTableOfContentCommandBase {
    getInsertedText(_parameter) {
        return "TOC \\h \\c \"Table\"";
    }
}
class CreateEquationCaptionFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "SEQ Equation \\* ARABIC";
    }
    getPrefix() {
        return this.control.stringResources.seqCaptionPrefixes.equationPrefix;
    }
}
class CreateFigureCaptionFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "SEQ Figure \\* ARABIC";
    }
    getPrefix() {
        return this.control.stringResources.seqCaptionPrefixes.figurePrefix;
    }
}
class CreateTableCaptionFieldCommand extends CreatePredefinedFieldCommand {
    getInsertedText(_parameter) {
        return "SEQ Table \\* ARABIC";
    }
    getPrefix() {
        return this.control.stringResources.seqCaptionPrefixes.tablePrefix;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-hyperlink-command.ts













class DialogHyperlinkCommandBase extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState(options) {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled(options));
        state.value = this.getStateValue();
        state.visible = this.isVisible();
        return state;
    }
    getStateValue() {
        return this.getSelectedField();
    }
    isEnabled(options) {
        const sdInterval = options ? options.intervalsInfo.subDocInterval : this.selection.subDocumentInterval;
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.hyperlinks) &&
            !(options ? options.intervalsInfo.multiselection : this.selection.multiselection) &&
            CreateFieldCommandBase.isTableProtectionOk(sdInterval);
    }
    isVisible() {
        return control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.hyperlinks);
    }
    createParameters(options) {
        var parameters = new DialogHyperlinkParameters();
        parameters.canChangeDisplayText = field_context_menu_helper/* FieldContextMenuHelper */.S.canChangeHyperlinkDisplayText(options.intervalsInfo.subDocInterval);
        var field = this.getState().value;
        if (field) {
            var hyperlinkInfo = field.getHyperlinkInfo();
            if (hyperlinkInfo.isUri()) {
                parameters.url = hyperlinkInfo.getUriWithAnchor();
                parameters.anchor = "";
            }
            else {
                parameters.url = "";
                parameters.anchor = hyperlinkInfo.anchor;
            }
            parameters.tooltip = hyperlinkInfo.tip;
            parameters.text = field_context_menu_helper/* FieldContextMenuHelper */.S.getHyperlinkResultText(options.subDocument, field);
        }
        else
            parameters.text = parameters.canChangeDisplayText ? options.subDocument.getText(options.intervalsInfo.interval) : "";
        parameters.bookmarkNames = utils_list.ListUtils.map(this.control.modelManager.model.getAllBookmarks(false), (bm) => bm.name);
        return parameters;
    }
    applyParameters(state, newParams, initParams) {
        if (newParams.tooltip == initParams.tooltip && newParams.url == initParams.url && newParams.anchor == initParams.anchor && newParams.text == initParams.text)
            return false;
        var hyperlinkInfo = new fields_field/* HyperlinkInfo */.AP(newParams.url, newParams.anchor, newParams.tooltip, false);
        if (!hyperlinkInfo.isValid())
            return false;
        var modelManipulator = this.modelManipulator;
        var selection = this.selection;
        var subDocument = this.selection.activeSubDocument;
        var history = this.history;
        var oldSelection = selection.lastSelectedInterval;
        if (oldSelection.end == subDocument.getDocumentEndPosition()) {
            oldSelection.length--;
            if (oldSelection.length < 0)
                return false;
        }
        history.beginTransaction();
        this.control.beginUpdate();
        var field = this.getField(state.value);
        history.addAndRedo(new change_field_hyperlink_info_history_item/* ChangeFieldHyperlinkInfoHistoryItem */.q(modelManipulator, subDocument, field.index, hyperlinkInfo));
        if (newParams.tooltip != initParams.tooltip || newParams.url != initParams.url || newParams.anchor != initParams.anchor) {
            selection.deprecatedSetSelection(field.getCodeStartPosition(), field.getSeparatorPosition(), false, selection.keepX, false, false);
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertText).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, fields_field/* HyperlinkInfo */.AP.getNewCodeText(hyperlinkInfo)));
        }
        if (initParams.canChangeDisplayText && newParams.text != initParams.text || field.getResultInterval().length == 0) {
            selection.deprecatedSetSelection(field.getResultStartPosition(), field.getResultEndPosition(), false, selection.keepX, false, false);
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertText).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, !newParams.text || newParams.text == "" ? hyperlinkInfo.getUriWithAnchor() : newParams.text));
        }
        history.addAndRedo(new apply_field_hyperlink_style_history_item/* ApplyFieldHyperlinkStyleHistoryItem */.n(modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, field.getResultInterval())));
        selection.deprecatedSetSelection(field.getFieldEndPosition(), field.getFieldEndPosition(), false, selection.keepX, false, false);
        this.control.endUpdate();
        history.endTransaction();
        return true;
    }
    getField(stateValue) {
        var field;
        if (stateValue) {
            field = stateValue;
            field.showCode = false;
        }
        else {
            var selection = this.selection;
            var subDocument = this.selection.activeSubDocument;
            var initSelectionInterval = selection.lastSelectedInterval;
            this.history.addAndRedo(new field_insert_history_item/* FieldInsertHistoryItem */.O(this.modelManipulator, subDocument, initSelectionInterval.start, 0, initSelectionInterval.length, false, this.inputPosition.charPropsBundle));
            var fieldIndex = fields_field/* Field */.gN.normedBinaryIndexOf(subDocument.fields, initSelectionInterval.start + 1);
            field = subDocument.fields[fieldIndex];
        }
        return field;
    }
    showCreateHyperlinkItem() {
        return field_context_menu_helper/* FieldContextMenuHelper */.S.showCreateHyperlinkItem(this.selection.activeSubDocument.fields, this.selection.lastSelectedInterval);
    }
    getSelectedField() {
        return field_context_menu_helper/* FieldContextMenuHelper */.S.getHyperlinkField(this.selection.activeSubDocument.fields, this.selection.lastSelectedInterval);
    }
    hasOneSelectedHyperlink() {
        return !!this.getSelectedField();
    }
    getDialogName() {
        return "Hyperlink";
    }
}
class DialogCreateOrEditHyperlinkCommand extends DialogHyperlinkCommandBase {
    isEnabled() {
        return super.isEnabled() && (this.showCreateHyperlinkItem() || this.hasOneSelectedHyperlink());
    }
}
class DialogCreateHyperlinkCommand extends DialogHyperlinkCommandBase {
    isVisible() {
        return super.isVisible() && this.showCreateHyperlinkItem();
    }
}
class DialogEditHyperlinkCommand extends DialogHyperlinkCommandBase {
    isVisible() {
        return super.isVisible() && this.hasOneSelectedHyperlink();
    }
}
class DialogHyperlinkParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    constructor() {
        super(...arguments);
        this.url = "";
        this.text = "";
        this.tooltip = "";
        this.anchor = "";
        this.bookmarkNames = [];
        this.canChangeDisplayText = true;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.anchor = obj.anchor;
        this.url = obj.url;
        this.text = obj.text;
        this.tooltip = obj.tooltip;
        this.canChangeDisplayText = obj.canChangeDisplayText;
        this.bookmarkNames = obj.bookmarkNames;
    }
    clone() {
        const newInstance = new DialogHyperlinkParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

// EXTERNAL MODULE: ./src/common/commands/dialogs/dialog-insert-image-command.ts
var dialog_insert_image_command = __webpack_require__(5033);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-insert-merge-field-command.ts





class DialogInsertMergeFieldCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields) &&
            this.control.modelManager.richOptions.mailMerge.allowInsertFields;
    }
    createParameters(_options) {
        return new InsertMergeFieldDialogParameters();
    }
    applyParameters(_state, params) {
        if (params.fieldName != null) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.CreateMergeField).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, params.fieldName));
            return true;
        }
        return false;
    }
    getDialogName() {
        return "InsertMergeField";
    }
    isModal() {
        return false;
    }
}
class InsertMergeFieldDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.fieldName = obj.fieldName;
    }
    clone() {
        const newInstance = new InsertMergeFieldDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-insert-table-cells-command.ts




class DialogInsertTableCellsCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        const visible = this.selection.tableInfo.extendedData.numRows > 0;
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled() && visible);
        state.visible = visible;
        return state;
    }
    createParameters(_options) {
        var parameters = new TableCellsDialogParameters();
        parameters.tableCellOperation = TableCellOperation.ShiftToTheVertically;
        return parameters;
    }
    applyParameters(_state, params) {
        var command = client_command/* RichEditClientCommand */.f.None;
        switch (params.tableCellOperation) {
            case TableCellOperation.ShiftToTheHorizontally:
                command = client_command/* RichEditClientCommand */.f.InsertTableCellWithShiftToTheLeft;
                break;
            case TableCellOperation.ShiftToTheVertically:
                command = client_command/* RichEditClientCommand */.f.InsertTableCellsWithShiftToTheVertically;
                break;
            case TableCellOperation.RowOperation:
                command = client_command/* RichEditClientCommand */.f.InsertTableRowAbove;
                break;
            case TableCellOperation.ColumnOperation:
                command = client_command/* RichEditClientCommand */.f.InsertTableColumnToTheLeft;
                break;
        }
        return this.control.commandManager.getCommand(command).execute(this.control.commandManager.isPublicApiCall);
    }
    getDialogName() {
        return "InsertTableCells";
    }
}
class DialogDeleteTableCellsCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.selection.tableInfo.extendedData.numRows > 0 && !this.selection.specialRunInfo.isSelected();
        return state;
    }
    isEnabled() {
        return super.isEnabled() &&
            control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) &&
            (this.selection.tableInfo.extendedData.isSquare || this.selection.tableInfo.extendedData.numRows == 1);
    }
    createParameters(_options) {
        var parameters = new TableCellsDialogParameters();
        parameters.tableCellOperation = TableCellOperation.ShiftToTheHorizontally;
        return parameters;
    }
    applyParameters(_state, params) {
        var command = client_command/* RichEditClientCommand */.f.None;
        switch (params.tableCellOperation) {
            case TableCellOperation.ShiftToTheHorizontally:
                command = client_command/* RichEditClientCommand */.f.DeleteTableCellsWithShiftToTheHorizontally;
                break;
            case TableCellOperation.ShiftToTheVertically:
                command = client_command/* RichEditClientCommand */.f.DeleteTableCellsWithShiftToTheVertically;
                break;
            case TableCellOperation.RowOperation:
                command = client_command/* RichEditClientCommand */.f.DeleteTableRows;
                break;
            case TableCellOperation.ColumnOperation:
                command = client_command/* RichEditClientCommand */.f.DeleteTableColumns;
                break;
        }
        return this.control.commandManager.getCommand(command).execute(this.control.commandManager.isPublicApiCall);
    }
    getDialogName() {
        return "DeleteTableCells";
    }
}
class TableCellsDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.tableCellOperation = obj.tableCellOperation;
    }
    clone() {
        const newInstance = new TableCellsDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
var TableCellOperation;
(function (TableCellOperation) {
    TableCellOperation[TableCellOperation["ShiftToTheHorizontally"] = 0] = "ShiftToTheHorizontally";
    TableCellOperation[TableCellOperation["ShiftToTheVertically"] = 1] = "ShiftToTheVertically";
    TableCellOperation[TableCellOperation["RowOperation"] = 2] = "RowOperation";
    TableCellOperation[TableCellOperation["ColumnOperation"] = 3] = "ColumnOperation";
})(TableCellOperation || (TableCellOperation = {}));

;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-insert-table-command.ts



class DialogInsertTableCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    createParameters(_options) {
        var parameters = new InsertTableDialogParameters();
        parameters.rowCount = 2;
        parameters.columnCount = 5;
        return parameters;
    }
    applyParameters(_state, params) {
        if (params.rowCount > 0 && params.columnCount > 0) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertTableCore).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, { rowCount: params.rowCount, cellCount: params.columnCount }));
            return true;
        }
        return false;
    }
    getDialogName() {
        return "InsertTable";
    }
}
class InsertTableDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.rowCount = obj.rowCount;
        this.columnCount = obj.columnCount;
    }
    clone() {
        const newInstance = new InsertTableDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/formatter/utils/bounds-calculator.ts
var bounds_calculator = __webpack_require__(7353);
// EXTERNAL MODULE: ./src/common/model/floating-objects/anchor-info.ts
var anchor_info = __webpack_require__(8868);
// EXTERNAL MODULE: ./src/common/model/floating-objects/sizes.ts
var sizes = __webpack_require__(4302);
// EXTERNAL MODULE: ./src/common/model/floating-objects/text-box-properties.ts
var text_box_properties = __webpack_require__(9513);
// EXTERNAL MODULE: ./src/common/model/history/base/interval-based-history-item.ts
var interval_based_history_item = __webpack_require__(9726);
;// CONCATENATED MODULE: ./src/common/model/history/items/change-rectangular-object-history-item.ts

class ChangeRectangularObjectScaleHistoryItem extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, scale) {
        super(modelManipulator, subDocInterval);
        this.scale = scale;
    }
    redo() {
        this.oldState = this.modelManipulator.inlineObject.scale.setValue(this.boundSubDocument, this.interval, this.scale);
    }
    undo() {
        this.modelManipulator.inlineObject.scale.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class ChangeRectangularObjectLockAspectRatioHistoryItem extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, lockAspectRatio) {
        super(modelManipulator, subDocInterval);
        this.lockAspectRatio = lockAspectRatio;
    }
    redo() {
        this.oldState = this.modelManipulator.inlineObject.lockAspectRatio.setValue(this.boundSubDocument, this.interval, this.lockAspectRatio);
    }
    undo() {
        this.modelManipulator.inlineObject.lockAspectRatio.restoreValue(this.boundSubDocument, this.oldState);
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/anchor-info-property-history-item.ts
var anchor_info_property_history_item = __webpack_require__(6047);
// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/change-anchored-picture-size-history-item.ts
var change_anchored_picture_size_history_item = __webpack_require__(7759);
;// CONCATENATED MODULE: ./src/common/model/history/items/floating-objects/change-anchored-text-box-size-history-item.ts

class ChangeAnchoredTextBoxSizeHistoryItem extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, size) {
        super(modelManipulator, subDocInterval);
        this.size = size;
    }
    redo() {
        this.oldState = this.modelManipulator.floatingObject.textBoxSize.setValue(this.boundSubDocument, this.interval, this.size);
    }
    undo() {
        this.modelManipulator.floatingObject.textBoxSize.restoreValue(this.boundSubDocument, this.oldState);
    }
}

;// CONCATENATED MODULE: ./src/common/model/history/items/floating-objects/change-text-box-properties-history-item.ts

class ChangeTextBoxPropertiesHistoryItem extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, textBoxProperties) {
        super(modelManipulator, subDocInterval);
        this.textBoxProperties = textBoxProperties;
    }
    redo() {
        this.oldState = this.modelManipulator.floatingObject.textBoxProperties.setValue(this.boundSubDocument, this.interval, this.textBoxProperties);
    }
    undo() {
        this.modelManipulator.floatingObject.textBoxProperties.restoreValue(this.boundSubDocument, this.oldState);
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/loader/image-loading-options.ts
var image_loading_options = __webpack_require__(4285);
// EXTERNAL MODULE: ./src/common/model/shapes/shape.ts
var shape = __webpack_require__(169);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-layout-options-command.ts






















class DialogLayoutOptionsCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        let enabled = this.isEnabled();
        let state = new command_states/* SimpleCommandState */.mh(enabled);
        state.visible = enabled;
        return state;
    }
    isEnabled() {
        const specialRunInfo = this.selection.specialRunInfo;
        return super.isEnabled() && specialRunInfo.isSelected() &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(specialRunInfo.getPosition(), 1)]);
    }
    createParameters(_options) {
        let dialogParameters = new LayoutOptionsDialogParameters();
        const specialRunInfo = this.selection.specialRunInfo;
        let run = specialRunInfo.getParentSubDocument().getRunByPosition(specialRunInfo.getPosition());
        if (run.getType() === run_type/* RunType */.m.InlinePictureRun)
            dialogParameters.init(null, run.size, null, this.control);
        else {
            if (run.getType() === run_type/* RunType */.m.AnchoredPictureRun) {
                let anchoredRun = run;
                dialogParameters.init(anchoredRun.anchorInfo, anchoredRun.size, null, this.control);
            }
            else {
                let anchoredRun = run;
                dialogParameters.init(anchoredRun.anchorInfo, anchoredRun.size, anchoredRun.textBoxProperties, this.control);
            }
        }
        return dialogParameters;
    }
    applyParameters(_state, params, initParams) {
        let specialRunInfo = this.selection.specialRunInfo;
        let position = specialRunInfo.getPosition();
        let interval = new fixed.FixedInterval(position, 1);
        let subDocument = specialRunInfo.getParentSubDocument();
        let run = subDocument.getRunByPosition(position);
        let modelManipulator = this.modelManipulator;
        let anchorInfoManipulator = modelManipulator.floatingObject.anchorInfo;
        const topInfo = this.control.viewManager.canvasManager.getScrollTopInfo();
        let history = this.history;
        history.beginTransaction();
        let changed = false;
        let sizeChanged = false;
        if (initParams.wrapType !== null && params.wrapType === null && run.getType() === run_type/* RunType */.m.AnchoredPictureRun) {
            const pictureRun = run;
            this.history.beginTransaction();
            const charPropsBundle = this.inputPosition.charPropsBundle;
            this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, interval), true, false);
            const insertedResult = this.modelManipulator.picture.insertInlinePictureViaHistory(new sub_document/* SubDocumentPosition */.rg(this.selection.activeSubDocument, interval.start), charPropsBundle, new insert_picture_manipulator_params/* InlinePictureInfo */.AT(pictureRun.size, pictureRun.shape, -1, pictureRun.info.containerProperties, pictureRun.info.nonVisualDrawingProperties));
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(insertedResult.insertedInterval)));
            this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byModelPosition(this.selection).setModelPosition(insertedResult.insertedInterval.end).useStdRelativePosition().useStdOffset());
            this.history.endTransaction();
            run = subDocument.getRunByPosition(interval.start);
            changed = true;
        }
        if (initParams.wrapType === null && params.wrapType !== null && run.getType() === run_type/* RunType */.m.InlinePictureRun) {
            const pictureRun = run;
            const newAnchorInfo = new anchor_info/* AnchorInfo */.i();
            newAnchorInfo.zOrder = this.modelManipulator.floatingObject.zOrder.getNewZOrder(this.selection.activeSubDocument);
            this.history.beginTransaction();
            const charPropsBundle = this.inputPosition.charPropsBundle;
            this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, interval), true, false);
            const insertedResult = this.modelManipulator.picture.insertAnchoredPictureViaHistory(new sub_document/* SubDocumentPosition */.rg(this.selection.activeSubDocument, interval.start), charPropsBundle, new insert_picture_manipulator_params/* AnchorPictureInfo */.wt(pictureRun.size, new shape/* Shape */.b(), newAnchorInfo, pictureRun.info.containerProperties, pictureRun.info.nonVisualDrawingProperties), new image_loading_options/* ImageLoadingOptions */.j(true));
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(insertedResult.insertedInterval)));
            this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byModelPosition(this.selection).setModelPosition(insertedResult.insertedInterval.end).useStdRelativePosition().useStdOffset());
            this.history.endTransaction();
            run = subDocument.getRunByPosition(interval.start);
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.horizontalPositionAlignment !== undefined && params.horizontalPositionAlignment != initParams.horizontalPositionAlignment) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.horizontalPositionAlignment, anchorInfoManipulator.horizontalPositionAlignment));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.horizontalPositionType !== undefined && params.horizontalPositionType != initParams.horizontalPositionType) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.horizontalPositionType, anchorInfoManipulator.horizontalPositionType));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.offsetX !== undefined && params.offsetX != initParams.offsetX) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.offsetX, anchorInfoManipulator.offsetX));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.percentOffsetX !== undefined && params.percentOffsetX != initParams.percentOffsetX) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.percentOffsetX, anchorInfoManipulator.percentOffsetX));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.verticalPositionAlignment !== undefined && params.verticalPositionAlignment != initParams.verticalPositionAlignment) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.verticalPositionAlignment, anchorInfoManipulator.verticalPositionAlignment));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.verticalPositionType !== undefined && params.verticalPositionType != initParams.verticalPositionType) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.verticalPositionType, anchorInfoManipulator.verticalPositionType));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.offsetY !== undefined && params.offsetY != initParams.offsetY) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.offsetY, anchorInfoManipulator.offsetY));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.percentOffsetY !== undefined && params.percentOffsetY != initParams.percentOffsetY) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.percentOffsetY, anchorInfoManipulator.percentOffsetY));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.locked !== undefined && params.locked != initParams.locked) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.locked, anchorInfoManipulator.locked));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.wrapType !== undefined && params.wrapType !== null && params.wrapType != initParams.wrapType) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.wrapType, anchorInfoManipulator.wrapType));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.wrapSide !== undefined && params.wrapSide != initParams.wrapSide) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.wrapSide, anchorInfoManipulator.wrapSide));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.topDistance !== undefined && params.topDistance != initParams.topDistance) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.topDistance, anchorInfoManipulator.topDistance));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.bottomDistance !== undefined && params.bottomDistance != initParams.bottomDistance) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.bottomDistance, anchorInfoManipulator.bottomDistance));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.leftDistance !== undefined && params.leftDistance != initParams.leftDistance) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.leftDistance, anchorInfoManipulator.leftDistance));
            changed = true;
        }
        if (run.getType() != run_type/* RunType */.m.InlinePictureRun && params.rightDistance !== undefined && params.rightDistance != initParams.rightDistance) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.rightDistance, anchorInfoManipulator.rightDistance));
            changed = true;
        }
        let size = run.size.clone();
        if (params.absoluteHeight !== undefined && params.absoluteHeight != initParams.absoluteHeight || params.absoluteWidth !== undefined && params.absoluteWidth != initParams.absoluteWidth) {
            if (size instanceof sizes/* PictureSize */.ni) {
                let pictureRun = run;
                let scaleX = (params.absoluteWidth / pictureRun.size.originalSize.width) * 100;
                let scaleY = (params.absoluteHeight / pictureRun.size.originalSize.height) * 100;
                let scale = new geometry_size.Size(scaleX, scaleY);
                size.scale = scale;
            }
            else {
                size.absoluteSize.width = params.absoluteWidth;
                size.absoluteSize.height = params.absoluteHeight;
            }
            sizeChanged = true;
        }
        if (initParams.useAbsoluteHeight !== undefined && params.useAbsoluteHeight !== initParams.useAbsoluteHeight && size instanceof sizes/* AnchorTextBoxSize */.ne) {
            if (params.useAbsoluteHeight) {
                size.absoluteSize.height = params.absoluteHeight;
                params.textBoxProperties.resizeShapeToFitText = false;
            }
            size.setUseAbsoluteHeight(params.useAbsoluteHeight);
            sizeChanged = true;
        }
        if (initParams.useAbsoluteWidth !== undefined && params.useAbsoluteWidth !== initParams.useAbsoluteWidth && size instanceof sizes/* AnchorTextBoxSize */.ne) {
            if (params.useAbsoluteWidth)
                size.absoluteSize.width = params.absoluteWidth;
            size.setUseAbsoluteWidth(params.useAbsoluteWidth);
            sizeChanged = true;
        }
        if (initParams.relativeHeight !== undefined && params.relativeHeight !== initParams.relativeHeight && size instanceof sizes/* AnchorTextBoxSize */.ne) {
            size.relativeSize.height = params.relativeHeight;
            sizeChanged = true;
        }
        if (initParams.relativeWidth !== undefined && params.relativeWidth !== initParams.relativeWidth && size instanceof sizes/* AnchorTextBoxSize */.ne) {
            size.relativeSize.width = params.relativeWidth;
            sizeChanged = true;
        }
        if (initParams.relativeHeightType !== undefined && params.relativeHeightType !== initParams.relativeHeightType && size instanceof sizes/* AnchorTextBoxSize */.ne) {
            size.relativeHeightType = params.relativeHeightType;
            sizeChanged = true;
        }
        if (initParams.relativeWidthType !== undefined && params.relativeWidthType !== initParams.relativeWidthType && size instanceof sizes/* AnchorTextBoxSize */.ne) {
            size.relativeWidthType = params.relativeWidthType;
            sizeChanged = true;
        }
        if (params.rotation !== undefined && params.rotation != initParams.rotation) {
            size.rotation = class_unit_converter/* UnitConverter */.u.degreesToTwips(params.rotation);
            sizeChanged = true;
        }
        if (params.lockAspectRatio !== undefined && params.lockAspectRatio != initParams.lockAspectRatio) {
            size.lockAspectRatio = params.lockAspectRatio;
            sizeChanged = true;
        }
        if (params.isBehindDoc !== undefined && params.isBehindDoc != initParams.isBehindDoc) {
            history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.isBehindDoc, anchorInfoManipulator.isBehindDoc));
            changed = true;
        }
        if (sizeChanged) {
            if (size instanceof sizes/* PictureSize */.ni)
                if (run.getType() === run_type/* RunType */.m.InlinePictureRun) {
                    history.addAndRedo(new ChangeRectangularObjectScaleHistoryItem(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), size.scale));
                    if (params.lockAspectRatio != initParams.lockAspectRatio)
                        history.addAndRedo(new ChangeRectangularObjectLockAspectRatioHistoryItem(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), size.lockAspectRatio));
                }
                else
                    history.addAndRedo(new change_anchored_picture_size_history_item/* ChangeAnchoredPictureSizeHistoryItem */.x(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), size));
            else
                history.addAndRedo(new ChangeAnchoredTextBoxSizeHistoryItem(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), size));
            changed = true;
        }
        if (initParams.textBoxProperties !== undefined && !params.textBoxProperties.equals(initParams.textBoxProperties)) {
            history.addAndRedo(new ChangeTextBoxPropertiesHistoryItem(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), params.textBoxProperties));
            changed = true;
        }
        history.endTransaction();
        if (topInfo)
            this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byScrollInfo.setPageInfo(topInfo));
        return changed;
    }
    getDialogName() {
        return "LayoutOptions";
    }
}
class LayoutOptionsDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    init(anchorInfo, size, textBoxProperties, control) {
        let isAnchoredObject = anchorInfo !== null;
        this.horizontalPositionType = isAnchoredObject ? anchorInfo.horizontalPositionType : floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Column;
        this.horizontalPositionAlignment = isAnchoredObject ? anchorInfo.horizontalPositionAlignment : floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Center;
        this.verticalPositionType = isAnchoredObject ? anchorInfo.verticalPositionType : floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Paragraph;
        this.verticalPositionAlignment = isAnchoredObject ? anchorInfo.verticalPositionAlignment : floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Top;
        this.offsetX = isAnchoredObject ? anchorInfo.offset.x : null;
        this.offsetY = isAnchoredObject ? anchorInfo.offset.y : null;
        this.percentOffsetX = isAnchoredObject ? anchorInfo.percentOffset.x : null;
        this.percentOffsetY = isAnchoredObject ? anchorInfo.percentOffset.y : null;
        this.locked = isAnchoredObject ? anchorInfo.locked : null;
        this.wrapType = isAnchoredObject ? anchorInfo.wrapType : null;
        this.wrapSide = isAnchoredObject ? anchorInfo.wrapSide : null;
        this.isBehindDoc = isAnchoredObject ? anchorInfo.isBehindDoc : null;
        this.leftDistance = isAnchoredObject ? anchorInfo.leftDistance : null;
        this.rightDistance = isAnchoredObject ? anchorInfo.rightDistance : null;
        this.topDistance = isAnchoredObject ? anchorInfo.topDistance : null;
        this.bottomDistance = isAnchoredObject ? anchorInfo.bottomDistance : null;
        this.rotation = class_unit_converter/* UnitConverter */.u.twipsToDegrees(size.rotation);
        this.lockAspectRatio = size.lockAspectRatio;
        if (size instanceof sizes/* PictureSize */.ni) {
            let pictureSize = size;
            this.originalWidth = pictureSize.originalSize.width;
            this.originalHeight = pictureSize.originalSize.height;
            this.absoluteWidth = (pictureSize.originalSize.width * pictureSize.scale.width) / 100;
            this.absoluteHeight = (pictureSize.originalSize.height * pictureSize.scale.height) / 100;
        }
        else {
            let section = control.modelManager.model.getSectionByPosition(control.selection.intervals[0].start);
            let boundsCalculator = new bounds_calculator/* BoundsCalculator */.u();
            boundsCalculator.init(section);
            let textBoxSize = size;
            this.useAbsoluteHeight = textBoxSize.useAbsoluteHeight();
            this.useAbsoluteWidth = textBoxSize.useAbsoluteWidth();
            this.absoluteWidth = this.useAbsoluteWidth ?
                textBoxSize.absoluteSize.width :
                class_unit_converter/* UnitConverter */.u.pixelsToTwips(textBoxSize.getActualRelativeWidth(boundsCalculator));
            this.absoluteHeight = this.useAbsoluteHeight ?
                textBoxSize.absoluteSize.height :
                class_unit_converter/* UnitConverter */.u.pixelsToTwips(textBoxSize.getActualRelativeHeight(boundsCalculator));
            this.relativeWidth = textBoxSize.relativeSize.width;
            this.relativeHeight = textBoxSize.relativeSize.height;
            this.relativeWidthType = textBoxSize.relativeWidthType;
            this.relativeHeightType = textBoxSize.relativeHeightType;
            this.originalWidth = this.absoluteWidth;
            this.originalHeight = this.absoluteHeight;
        }
        if (isAnchoredObject) {
            if (anchorInfo.isUsedHorizontalAlignment())
                this.horizontalAligmentType = LayoutDialogAlignmentType.Alignment;
            else if (anchorInfo.isUsedHorizontalBookLayout())
                this.horizontalAligmentType = LayoutDialogAlignmentType.BookLayout;
            else
                this.horizontalAligmentType = anchorInfo.isUsedHorizontalRelativePosition() ? LayoutDialogAlignmentType.Relative : LayoutDialogAlignmentType.Absolute;
            if (anchorInfo.isUsedVerticalAlignment())
                this.verticalAligmentType = LayoutDialogAlignmentType.Alignment;
            else
                this.verticalAligmentType = anchorInfo.isUsedVerticalRelativePosition() ? LayoutDialogAlignmentType.Relative : LayoutDialogAlignmentType.Absolute;
        }
        else {
            this.horizontalAligmentType = LayoutDialogAlignmentType.Absolute;
            this.verticalAligmentType = LayoutDialogAlignmentType.Absolute;
        }
        if (textBoxProperties)
            this.textBoxProperties = new text_box_properties/* TextBoxProperties */.Y(textBoxProperties.getContentMargins());
    }
    copyFrom(obj) {
        this.horizontalPositionType = obj.horizontalPositionType;
        this.horizontalPositionAlignment = obj.horizontalPositionAlignment;
        this.verticalPositionType = obj.verticalPositionType;
        this.verticalPositionAlignment = obj.verticalPositionAlignment;
        this.offsetX = obj.offsetX;
        this.offsetY = obj.offsetY;
        this.percentOffsetX = obj.percentOffsetX;
        this.percentOffsetY = obj.percentOffsetY;
        this.locked = obj.locked;
        this.wrapType = obj.wrapType;
        this.wrapSide = obj.wrapSide;
        this.isBehindDoc = obj.isBehindDoc;
        this.leftDistance = obj.leftDistance;
        this.rightDistance = obj.rightDistance;
        this.topDistance = obj.topDistance;
        this.bottomDistance = obj.bottomDistance;
        this.originalWidth = obj.originalWidth;
        this.originalHeight = obj.originalHeight;
        this.absoluteHeight = obj.absoluteHeight;
        this.absoluteWidth = obj.absoluteWidth;
        this.useAbsoluteHeight = obj.useAbsoluteHeight;
        this.useAbsoluteWidth = obj.useAbsoluteWidth;
        this.relativeHeight = obj.relativeHeight;
        this.relativeWidth = obj.relativeWidth;
        this.relativeHeightType = obj.relativeHeightType;
        this.relativeWidthType = obj.relativeWidthType;
        this.rotation = obj.rotation;
        this.lockAspectRatio = obj.lockAspectRatio;
        this.horizontalAligmentType = obj.horizontalAligmentType;
        this.verticalAligmentType = obj.verticalAligmentType;
        this.textBoxProperties = obj.textBoxProperties ? obj.textBoxProperties.clone() : obj.textBoxProperties;
    }
    clone() {
        const newInstance = new LayoutOptionsDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(converterFunc) {
        if (this.offsetX)
            this.offsetX = converterFunc(this.offsetX);
        if (this.offsetY)
            this.offsetY = converterFunc(this.offsetY);
        if (this.leftDistance)
            this.leftDistance = converterFunc(this.leftDistance);
        if (this.rightDistance)
            this.rightDistance = converterFunc(this.rightDistance);
        if (this.topDistance)
            this.topDistance = converterFunc(this.topDistance);
        if (this.bottomDistance)
            this.bottomDistance = converterFunc(this.bottomDistance);
        if (this.absoluteHeight)
            this.absoluteHeight = converterFunc(this.absoluteHeight);
        if (this.absoluteWidth)
            this.absoluteWidth = converterFunc(this.absoluteWidth);
        if (this.originalWidth)
            this.originalWidth = converterFunc(this.originalWidth);
        if (this.originalHeight)
            this.originalHeight = converterFunc(this.originalHeight);
        if (this.textBoxProperties)
            this.textBoxProperties.setMarginsToAnotherMeasuringSystem(converterFunc);
        return this;
    }
}
var LayoutDialogAlignmentType;
(function (LayoutDialogAlignmentType) {
    LayoutDialogAlignmentType[LayoutDialogAlignmentType["Alignment"] = 0] = "Alignment";
    LayoutDialogAlignmentType[LayoutDialogAlignmentType["BookLayout"] = 1] = "BookLayout";
    LayoutDialogAlignmentType[LayoutDialogAlignmentType["Absolute"] = 2] = "Absolute";
    LayoutDialogAlignmentType[LayoutDialogAlignmentType["Relative"] = 3] = "Relative";
})(LayoutDialogAlignmentType || (LayoutDialogAlignmentType = {}));

;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-numbering-list-command.ts







class DialogNumberingListCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = (control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.numberingBulleted) ||
            control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.numberingMultiLevel) ||
            control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.numberingSimple)) &&
            !this.selection.specialRunInfo.isPictureSelected();
        return state;
    }
    isEnabled() {
        return super.isEnabled() && (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.numberingBulleted) || control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.numberingMultiLevel) || control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.numberingSimple));
    }
    createParameters(options) {
        var dialogParameters = new DialogNumberingListParameters();
        if (options.param instanceof numbering_list/* AbstractNumberingList */.pC)
            dialogParameters.selectedAbstractNumberingList = options.param;
        else if (!this.areThereParagraphsInDifferentLists())
            dialogParameters.selectedAbstractNumberingList = this.getSelectedAbstractNumberingList();
        const paragraphsIndices = this.selection.activeSubDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        let levelIndex = -1;
        for (let i = 0; i < paragraphsIndices.length; i++) {
            const paragraph = this.selection.activeSubDocument.paragraphs[paragraphsIndices[i]];
            if (paragraph.isInList())
                levelIndex = levelIndex < 0 ? paragraph.getListLevelIndex() : Math.min(levelIndex, paragraph.getListLevelIndex());
            else {
                levelIndex = 0;
                break;
            }
        }
        dialogParameters.currentLevel = levelIndex;
        return dialogParameters;
    }
    areThereParagraphsInDifferentLists() {
        var prevNumbListIndex = -1;
        var paragraphsIndices = this.selection.activeSubDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        var paragraphsIndicesLength = paragraphsIndices.length;
        for (let i = 0; i < paragraphsIndicesLength; i++) {
            var paragraphIndex = paragraphsIndices[i];
            var paragraph = this.selection.activeSubDocument.paragraphs[paragraphIndex];
            if (!paragraph.isInList())
                continue;
            if (prevNumbListIndex == -1) {
                prevNumbListIndex = paragraph.numberingListIndex;
                continue;
            }
            if (prevNumbListIndex != paragraph.numberingListIndex)
                return true;
        }
        return false;
    }
    getSelectedAbstractNumberingList() {
        var listIndex = this.getFirstNumberingListIndex();
        if (listIndex == -1)
            return null;
        var list = this.control.modelManager.model.numberingLists[listIndex];
        return list.getAbstractNumberingList();
    }
    getFirstNumberingListIndex() {
        var paragraphsIndices = this.selection.activeSubDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        let paragraphsIndicesLength = paragraphsIndices.length;
        for (let i = 0; i < paragraphsIndicesLength; i++) {
            let paragraphIndex = paragraphsIndices[i];
            var paragraph = this.selection.activeSubDocument.paragraphs[paragraphIndex];
            if (paragraph.isInList())
                return paragraph.numberingListIndex;
        }
        return -1;
    }
    applyParameters(_state, params) {
        let firstParagraph = this.selection.activeSubDocument.getParagraphByPosition(this.selection.intervals[0].start);
        const abstractNumberingList = firstParagraph.getAbstractNumberingList();
        if (params.selectedAbstractNumberingList) {
            if (this.selection.isCollapsed() && firstParagraph.isInList()) {
                const levelIndex = firstParagraph.getListLevelIndex();
                const newParams = new dialog_custom_numbering_list_command/* DialogCustomNumberingListParameters */.Fs();
                const targetNumberingList = params.selectedAbstractNumberingList.getListType() == numbering_list/* NumberingType */.FB.MultiLevel ? params.selectedAbstractNumberingList : abstractNumberingList;
                newParams.init(this.colorProvider, targetNumberingList);
                newParams.levels[levelIndex].copyFrom(newParams.initLevel(this.colorProvider, params.selectedAbstractNumberingList.levels[levelIndex]));
                const dialogCustomNumberingListCommand = new dialog_custom_numbering_list_command/* DialogCustomNumberingListCommand */.lN(this.control);
                dialogCustomNumberingListCommand.applyParameters(_state, newParams);
            }
            else
                this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertNumerationToParagraphs)
                    .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, params.selectedAbstractNumberingList));
            return true;
        }
        else if (params.selectedAbstractNumberingList === null) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteNumerationFromParagraphs).execute(this.control.commandManager.isPublicApiCall);
            return true;
        }
        return false;
    }
    getDialogName() {
        return "NumberingList";
    }
}
class DialogNumberingListParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    constructor() {
        super(...arguments);
        this.currentLevel = 0;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.selectedAbstractNumberingList = obj.selectedAbstractNumberingList;
    }
    clone() {
        const newInstance = new DialogNumberingListParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

// EXTERNAL MODULE: ./src/common/commands/dialogs/dialog-page-setup-command.ts
var dialog_page_setup_command = __webpack_require__(5715);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties-helper.ts
var paragraph_properties_helper = __webpack_require__(9687);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-paragraph-properties-command.ts












class DialogParagraphPropertiesCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        const state = new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), utils_list.ListUtils.deepCopy(this.selection.intervalsInfo.intervals));
        state.visible = control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.paragraphFormatting);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphFormatting);
    }
    getIntervalsForModifying() {
        return rich_utils/* RichUtils */.i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
    createParameters(_options) {
        var parameters = new ParagraphDialogParameters();
        parameters.init(this.colorProvider, this.inputPosition.getMergedParagraphPropertiesRaw(), this.inputPosition.getMergedSectionPropertiesRaw());
        return parameters;
    }
    applyParameters(_state, newParams, initParams) {
        const newProps = new paragraph_properties/* ParagraphProperties */.Y4();
        newProps.leftIndent = this.getLeftIndent(newParams, initParams);
        newProps.alignment = newParams.alignment != null && newParams.alignment !== initParams.alignment ? newParams.alignment : undefined;
        newProps.contextualSpacing = newParams.contextualSpacing != null && newParams.contextualSpacing !== initParams.contextualSpacing ?
            newParams.contextualSpacing : undefined;
        newProps.firstLineIndent = newParams.firstLineIndent != null && newParams.firstLineIndent !== initParams.firstLineIndent ?
            newParams.firstLineIndent : undefined;
        newProps.firstLineIndentType = newParams.firstLineIndentType != null && newParams.firstLineIndentType !== initParams.firstLineIndentType ?
            newParams.firstLineIndentType : undefined;
        newProps.keepLinesTogether = newParams.keepLinesTogether !== initParams.keepLinesTogether ?
            newParams.keepLinesTogether : undefined;
        newProps.spacingAfter = newParams.spacingAfter != null && newParams.spacingAfter !== initParams.spacingAfter ?
            newParams.spacingAfter : undefined;
        newProps.spacingBefore = newParams.spacingBefore != null && newParams.spacingBefore !== initParams.spacingBefore ?
            newParams.spacingBefore : undefined;
        newProps.pageBreakBefore = newParams.pageBreakBefore !== initParams.pageBreakBefore ?
            newParams.pageBreakBefore : undefined;
        newProps.rightIndent = newParams.rightIndent != null && newParams.rightIndent !== initParams.rightIndent ?
            newParams.rightIndent : undefined;
        newProps.outlineLevel = newParams.outlineLevel !== initParams.outlineLevel ?
            newParams.outlineLevel : undefined;
        newProps.lineSpacingType = newParams.lineSpacingType != null && newParams.lineSpacingType !== initParams.lineSpacingType ?
            newParams.lineSpacingType : undefined;
        newProps.widowOrphanControl = newParams.widowOrphanControl !== initParams.widowOrphanControl ?
            newParams.widowOrphanControl : undefined;
        newProps.shadingInfo = newParams.backColor !== initParams.backColor ?
            shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(newParams.backColor == null ? color_color/* ColorHelper */.v.AUTOMATIC_COLOR : utils_color/* ColorUtils */.i.fromString(newParams.backColor))) : undefined;
        if ((newParams.lineSpacingType === paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast || newParams.lineSpacingType === paragraph_properties/* ParagraphLineSpacingType */.yX.Exactly) &&
            (newParams.lineSpacing != null && (newProps.lineSpacingType !== undefined || newParams.lineSpacing !== initParams.lineSpacing)))
            newProps.lineSpacing = newParams.lineSpacing;
        else if (newParams.lineSpacingType === paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple && (newParams.lineSpacingMultiple != null &&
            (newProps.lineSpacingType !== undefined || newParams.lineSpacingMultiple !== initParams.lineSpacingMultiple)))
            newProps.lineSpacing = newParams.lineSpacingMultiple;
        else
            newProps.lineSpacing = undefined;
        return new paragraph_properties_helper/* ParagraphPropertiesApplier */.m(this.control.modelManager, this.inputPosition, newProps, this.control.selection.activeSubDocument, this.control.selection.intervals).apply();
    }
    getDialogName() {
        return "EditParagraph";
    }
    getLeftIndent(newParams, initParams) {
        if (newParams.leftIndent == null)
            return undefined;
        const leftIndent = this.getLeftIndentCore(newParams);
        return leftIndent !== initParams.leftIndent || newParams.firstLineIndentType !== initParams.firstLineIndentType ?
            leftIndent : undefined;
    }
    getLeftIndentCore(newParams) {
        if (newParams.firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging &&
            (0,common.isDefined)(newParams.leftIndent) && (0,common.isDefined)(newParams.firstLineIndent))
            return newParams.leftIndent + newParams.firstLineIndent;
        return newParams.leftIndent;
    }
}
class ParagraphDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    init(colorProvider, parProps, secProps) {
        this.alignment = parProps.alignment;
        this.outlineLevel = parProps.outlineLevel;
        this.rightIndent = parProps.rightIndent;
        this.spacingAfter = parProps.spacingAfter;
        this.spacingBefore = parProps.spacingBefore;
        this.lineSpacingType = parProps.lineSpacingType;
        this.firstLineIndentType = parProps.firstLineIndentType;
        this.firstLineIndent = parProps.firstLineIndent;
        this.contextualSpacing = parProps.contextualSpacing;
        this.keepLinesTogether = parProps.keepLinesTogether;
        this.pageBreakBefore = parProps.pageBreakBefore;
        this.pageWidth = secProps.pageWidth - secProps.marginLeft - secProps.marginRight;
        this.leftIndent = this.getLeftIndent(parProps);
        this.backColor = (0,common.isDefined)(parProps.shadingInfo) ? this.getColor(parProps.shadingInfo.getActualColor(colorProvider)) : undefined;
        this.widowOrphanControl = parProps.widowOrphanControl;
        switch (parProps.lineSpacingType) {
            case paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast:
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Exactly:
                this.lineSpacing = parProps.lineSpacing;
                this.lineSpacingMultiple = 3;
                break;
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple:
                this.lineSpacing = 240;
                this.lineSpacingMultiple = parProps.lineSpacing;
                break;
            default:
                this.lineSpacing = 240;
                this.lineSpacingMultiple = 3;
                break;
        }
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.alignment = obj.alignment;
        this.outlineLevel = obj.outlineLevel;
        this.rightIndent = obj.rightIndent;
        this.spacingBefore = obj.spacingBefore;
        this.spacingAfter = obj.spacingAfter;
        this.lineSpacingType = obj.lineSpacingType;
        this.firstLineIndentType = obj.firstLineIndentType;
        this.firstLineIndent = obj.firstLineIndent;
        this.contextualSpacing = obj.contextualSpacing;
        this.keepLinesTogether = obj.keepLinesTogether;
        this.pageBreakBefore = obj.pageBreakBefore;
        this.pageWidth = obj.pageWidth;
        this.leftIndent = obj.leftIndent;
        this.lineSpacing = obj.lineSpacing;
        this.lineSpacingMultiple = obj.lineSpacingMultiple;
        this.backColor = obj.backColor;
        this.widowOrphanControl = obj.widowOrphanControl;
    }
    clone() {
        const newInstance = new ParagraphDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(converter) {
        if (this.pageWidth)
            this.pageWidth = converter(this.pageWidth);
        if (this.firstLineIndent)
            this.firstLineIndent = converter(this.firstLineIndent);
        if (this.leftIndent)
            this.leftIndent = converter(this.leftIndent);
        if (this.lineSpacing)
            this.lineSpacing = converter(this.lineSpacing);
        if (this.rightIndent)
            this.rightIndent = converter(this.rightIndent);
        if (this.spacingAfter)
            this.spacingAfter = converter(this.spacingAfter);
        if (this.spacingBefore)
            this.spacingBefore = converter(this.spacingBefore);
        return this;
    }
    getColor(color) {
        if (color === color_color/* ColorHelper */.v.AUTOMATIC_COLOR)
            return null;
        if (color != undefined)
            return utils_color/* ColorUtils */.i.colorToHash(color).toUpperCase();
        else
            return undefined;
    }
    getLeftIndent(parProps) {
        if (parProps.firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging &&
            (0,common.isDefined)(parProps.leftIndent) && (0,common.isDefined)(parProps.firstLineIndent))
            return parProps.leftIndent - parProps.firstLineIndent;
        return parProps.leftIndent;
    }
}

// EXTERNAL MODULE: ./src/common/spelling/spell-checker.ts
var spell_checker = __webpack_require__(3323);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-spell-checker-command.ts





class DialogSpellCheckerCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        let selectedMisspelledInterval = this.control.spellChecker.getSelectedMisspelledInterval(this.selection.intervals);
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled(), selectedMisspelledInterval);
        state.visible = selectedMisspelledInterval !== null;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && this.control.spellChecker.settings.isEnabled;
    }
    createParameters(_options) {
        var parameters = new SpellCheckerDialogParameters();
        parameters.controller = new SpellCheckerDialogController(this.control, this.control.spellChecker);
        return parameters;
    }
    applyParameters(_state, _newParameters) {
        return true;
    }
    getDialogName() {
        return "Spelling";
    }
}
class SpellCheckerDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.controller = obj.controller;
    }
    clone() {
        const newInstance = new SpellCheckerDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
class SpellCheckerDialogController {
    get isRepeatingError() { return this.misspelledInterval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Repeating; }
    get canAddToDictionary() { return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.AddWordToDictionary).getState().enabled; }
    get suggestions() { return this.misspelledInterval.errorInfo.suggestions; }
    constructor(control, spellChecker) {
        this.control = control;
        this.spellChecker = spellChecker;
    }
    tryFindNextError() {
        this.misspelledInterval = this.spellChecker.findNextMisspelledInterval(this.control.selection.intervals[0].start);
        if (this.misspelledInterval) {
            this.control.selection.deprecatedSetSelection(this.misspelledInterval.start, this.misspelledInterval.end, false, -1, true);
            return true;
        }
        else {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowSpellingCheckCompletedMessage).execute(this.control.commandManager.isPublicApiCall);
            return false;
        }
    }
    getContext() {
        return this.misspelledInterval.errorInfo.word;
    }
    ignoreOnce() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.IgnoreSpellingError).execute(this.control.commandManager.isPublicApiCall);
    }
    ignoreAll() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.IgnoreAllSpellingErrors).execute(this.control.commandManager.isPublicApiCall);
    }
    addToDictionary() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.AddWordToDictionary).execute(this.control.commandManager.isPublicApiCall);
    }
    delete() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteRepeatedWord).execute(this.control.commandManager.isPublicApiCall);
    }
    change(text) {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeSpellingError).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, text));
    }
    changeAll(text) {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeAllSpellingErrors).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, text));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-split-table-cells-command.ts




class DialogSplitTableCellsCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        const enabled = this.selection.tableInfo.rawData.isSquare &&
            !this.selection.specialRunInfo.isPictureSelected();
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled() && enabled);
        state.visible = enabled;
        return state;
    }
    createParameters(_options) {
        const tableInfo = this.selection.tableInfo;
        const parameters = new SplitTableCellsDialogParameters();
        parameters.rowCount = tableInfo.rawData.numRows;
        parameters.columnCount = tableInfo.rawData.rows[0].columnCountInSeries;
        parameters.isMergeBeforeSplit = tableInfo.rawData.numRows > 1 || tableInfo.rawData.rows[0].cells.length > 1;
        parameters.disableRowsSelector = !tableInfo.extendedData.isSquare;
        parameters.availableRowNumber = parameters.disableRowsSelector ?
            1 :
            tableInfo.rawData.numRows;
        return parameters;
    }
    applyParameters(_state, params) {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SplitTableCellsCommand)
            .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, params));
    }
    getDialogName() {
        return "SplitTableCells";
    }
}
class SplitTableCellsDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.rowCount = obj.rowCount;
        this.columnCount = obj.columnCount;
        this.isMergeBeforeSplit = obj.isMergeBeforeSplit;
    }
    clone() {
        const newInstance = new SplitTableCellsDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}

// EXTERNAL MODULE: ./src/common/commands/dialogs/dialog-symbols-command.ts
var dialog_symbols_command = __webpack_require__(928);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout-formatter/table/table-alignment-applier.ts
var table_alignment_applier = __webpack_require__(9327);
// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-column.ts
var layout_column = __webpack_require__(2512);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/table-row-properties-history-items.ts
var table_row_properties_history_items = __webpack_require__(934);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-row-properties-merger.ts
var table_row_properties_merger = __webpack_require__(1157);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-cell-properties.ts + 1 modules
var table_cell_properties = __webpack_require__(2993);
// EXTERNAL MODULE: ./src/common/model/tables/table-utils.ts
var table_utils = __webpack_require__(935);
;// CONCATENATED MODULE: ./src/common/rich-utils/table-utils-ex.ts


class TableUtilsEx {
    static getColumnsRangeBySelectedRow(gridInfoManager, rowInfo) {
        const rowGridInfo = gridInfoManager.tableCellInfos[rowInfo.rowIndex];
        const lastCellInfo = utils_list.ListUtils.last(rowInfo.cells);
        return new boundary/* BoundaryInterval */.e(rowGridInfo[rowInfo.cells[0].cellIndex].getGridCellIndex(), rowGridInfo[lastCellInfo.cellIndex].getGridCellIndex() + lastCellInfo.cell.columnSpan);
    }
    static getColumnsRangeBySelectedCells(data) {
        return utils_list.ListUtils.accumulate(data.rows, null, (acc, rowInfo) => {
            const currRowInterval = TableUtilsEx.getColumnsRangeBySelectedRow(data.info.gridInfoManager, rowInfo);
            return acc ? new boundary/* BoundaryInterval */.e(Math.max(currRowInterval.start, acc.start), Math.min(currRowInterval.end, acc.end)) : currRowInterval;
        });
    }
}

;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-table-properties-command.ts



















class DialogTablePropertiesCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.selection.tableInfo.extendedData.numRows > 0 && !this.selection.specialRunInfo.isPictureSelected();
        return state;
    }
    createParameters(options) {
        let dialogParams = new TablePropertiesDialogParameters();
        const table = this.selection.tableInfo.table;
        const subDocument = options.subDocument;
        const position = table.parentCell ? table.parentCell.endParagrapPosition.value : this.selection.intervals[0].start;
        let lp = subDocument.isMain() ?
            new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, position, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false)) :
            new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, position, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        let maxTableWidth = class_unit_converter/* UnitConverter */.u.pixelsToTwipsF(table.parentCell ? lp.row.width : layout_column/* LayoutColumn */.r.findSectionColumnWithMinimumWidth(lp.pageArea.columns));
        dialogParams.init(this.selection.tableInfo, this.control.modelManager.model, maxTableWidth, this.getInitialTab());
        return dialogParams;
    }
    applyParameters(_state, newParams, initParams) {
        const modelManipulator = this.modelManipulator;
        const subDocument = this.selection.activeSubDocument;
        const tableInfo = this.selection.tableInfo;
        const table = tableInfo.table;
        const history = this.history;
        if (!subDocument.isEditable([fixed.FixedInterval.fromPositions(table.getStartPosition(), table.getEndPosition())]))
            return false;
        let changed = false;
        history.beginTransaction();
        newParams.tablePreferredWidth = this.getActualPreferredWidth(newParams.useDefaultTableWidth, newParams.tablePreferredWidth);
        if (newParams.tablePreferredWidth && !newParams.tablePreferredWidth.equals(initParams.tablePreferredWidth)) {
            history.addAndRedo(new table_properties_history_items/* TablePreferredWidthHistoryItem */.iW(modelManipulator, subDocument, table.index, newParams.tablePreferredWidth));
            changed = true;
        }
        if (newParams.tableRowAlignment !== undefined && newParams.tableRowAlignment !== null && newParams.tableRowAlignment !== initParams.tableRowAlignment) {
            history.addAndRedo(new table_properties_history_items/* TableTableRowAlignmentHistoryItem */.Mo(modelManipulator, subDocument, table.index, newParams.tableRowAlignment, true));
            for (let i = 0; i < table.rows.length; i++)
                history.addAndRedo(new table_row_properties_history_items/* TableRowTableRowAlignmentHistoryItem */.fp(modelManipulator, subDocument, table.index, i, newParams.tableRowAlignment, true));
            changed = true;
        }
        if (!newParams.tableRowAlignment || newParams.tableRowAlignment !== table_base_structures/* TableRowAlignment */._6.Left)
            newParams.tableIndent = 0;
        if (newParams.tableIndent !== initParams.tableIndent) {
            let newTableIndent = table_units/* TableWidthUnit */.CT.create(newParams.tableIndent, table_units/* TableWidthUnitType */.HO.ModelUnits);
            history.addAndRedo(new table_properties_history_items/* TableIndentHistoryItem */.NN(modelManipulator, subDocument, table.index, newTableIndent, true));
            changed = true;
        }
        if (!newParams.allowCellSpacing)
            newParams.cellSpacing = 0;
        if (newParams.cellSpacing !== undefined && newParams.cellSpacing !== initParams.cellSpacing) {
            let newCellSpacing;
            if (newParams.allowCellSpacing)
                newCellSpacing = table_units/* TableWidthUnit */.CT.create(newParams.cellSpacing / 2, table_units/* TableWidthUnitType */.HO.ModelUnits);
            else
                newCellSpacing = subDocument.documentModel.defaultTableProperties.cellSpacing.clone();
            history.addAndRedo(new table_properties_history_items/* TableCellSpacingHistoryItem */.H0(modelManipulator, subDocument, table.index, newCellSpacing, true));
            for (let i = 0; i < table.rows.length; i++)
                history.addAndRedo(new table_row_properties_history_items/* TableRowCellSpacingHistoryItem */.a7(modelManipulator, subDocument, table.index, i, newCellSpacing, true));
            changed = true;
        }
        let newlayoutType = newParams.resizeToFitContent ? table_base_structures/* TableLayoutType */.DX.Autofit : table_base_structures/* TableLayoutType */.DX.Fixed;
        if (newlayoutType !== table.properties.layoutType) {
            history.addAndRedo(new table_properties_history_items/* TableLayoutTypeHistoryItem */.Ux(modelManipulator, subDocument, table.index, newlayoutType, true));
            changed = true;
        }
        if (newParams.defaultCellMarginTop !== initParams.defaultCellMarginTop || newParams.defaultCellMarginRight !== initParams.defaultCellMarginRight ||
            newParams.defaultCellMarginBottom !== initParams.defaultCellMarginBottom || newParams.defaultCellMarginLeft !== initParams.defaultCellMarginLeft) {
            let topCellMargin = table_units/* TableWidthUnit */.CT.create(newParams.defaultCellMarginTop, table_units/* TableWidthUnitType */.HO.ModelUnits);
            let rightCellmargin = table_units/* TableWidthUnit */.CT.create(newParams.defaultCellMarginRight, table_units/* TableWidthUnitType */.HO.ModelUnits);
            let bottomCellMargin = table_units/* TableWidthUnit */.CT.create(newParams.defaultCellMarginBottom, table_units/* TableWidthUnitType */.HO.ModelUnits);
            let leftCellMargin = table_units/* TableWidthUnit */.CT.create(newParams.defaultCellMarginLeft, table_units/* TableWidthUnitType */.HO.ModelUnits);
            let newCellMargins = [topCellMargin, rightCellmargin, bottomCellMargin, leftCellMargin];
            history.addAndRedo(new table_properties_history_items/* TableCellMarginsHistoryItem */.Ot(modelManipulator, subDocument, table.index, newCellMargins, [true, true, true, true]));
            changed = true;
        }
        newParams.rowHeight = this.getActualRowHeight(newParams.useDefaultRowHeight, newParams.rowHeight);
        utils_list.ListUtils.forEach(tableInfo.extendedData.rows, (rowInfo) => {
            const row = table.rows[rowInfo.rowIndex];
            if (newParams.rowHeight && !row.height.equals(newParams.rowHeight)) {
                history.addAndRedo(new table_row_properties_history_items/* TableRowHeightHistoryItem */.kl(modelManipulator, subDocument, table.index, rowInfo.rowIndex, newParams.rowHeight));
                changed = true;
            }
            if (newParams.cantSplit !== undefined && newParams.cantSplit != initParams.cantSplit) {
                history.addAndRedo(new table_row_properties_history_items/* TableRowCantSplitHistoryItem */.d9(modelManipulator, subDocument, table.index, rowInfo.rowIndex, newParams.cantSplit, true));
                changed = true;
            }
        });
        newParams.columnPreferredWidth = this.getActualPreferredWidth(newParams.useDefaultColumnWidth, newParams.columnPreferredWidth);
        if (newParams.columnPreferredWidth) {
            const columnsRange = TableUtilsEx.getColumnsRangeBySelectedCells(tableInfo.extendedData);
            if (columnsRange.isNormalized()) {
                utils_list.ListUtils.forEach(table.rows, (row, rowIndex) => {
                    utils_list.ListUtils.forEach(table_utils/* TableCellUtils */.V.getCellIndicesByColumnsRange(row, columnsRange), (cellIndex) => {
                        if (!row.cells[cellIndex].preferredWidth.equals(newParams.columnPreferredWidth)) {
                            history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(modelManipulator, subDocument, table.index, rowIndex, cellIndex, newParams.columnPreferredWidth));
                            changed = true;
                        }
                    });
                });
            }
        }
        newParams.cellPreferredWidth = this.getActualPreferredWidth(newParams.useDefaultCellWidth, newParams.cellPreferredWidth);
        tableInfo.extendedData.foreach(() => { }, (cellInfo, rowInfo) => {
            const cell = cellInfo.cell;
            if (newParams.cellPreferredWidth && !cell.preferredWidth.equals(newParams.cellPreferredWidth) && !newParams.cellPreferredWidth.equals(initParams.cellPreferredWidth)) {
                history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(modelManipulator, subDocument, table.index, rowInfo.rowIndex, cellInfo.cellIndex, newParams.cellPreferredWidth));
                changed = true;
            }
            if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
                let nextCellRowIndex = rowInfo.rowIndex + 1;
                while (table.rows[nextCellRowIndex]) {
                    let nextCellIndex = table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(table.rows[nextCellRowIndex], cellInfo.cellIndex);
                    let nextCell = table.rows[nextCellRowIndex].cells[nextCellIndex];
                    if (nextCell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                        break;
                    if (newParams.cellPreferredWidth && !nextCell.preferredWidth.equals(newParams.cellPreferredWidth)) {
                        history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(modelManipulator, subDocument, table.index, nextCellRowIndex, nextCellIndex, newParams.cellPreferredWidth));
                        changed = true;
                    }
                    nextCellRowIndex++;
                }
            }
            if (newParams.cellVerticalAlignment !== undefined && newParams.cellVerticalAlignment !== null && newParams.cellVerticalAlignment !== initParams.cellVerticalAlignment) {
                history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalAlignmentHistoryItem */.Zv(modelManipulator, subDocument, table.index, rowInfo.rowIndex, cellInfo.cellIndex, newParams.cellVerticalAlignment, true));
                changed = true;
            }
            if (newParams.cellNoWrap !== undefined && newParams.cellNoWrap != initParams.cellNoWrap) {
                history.addAndRedo(new table_cell_properties_history_items/* TableCellNoWrapHistoryItem */.Bd(modelManipulator, subDocument, table.index, rowInfo.rowIndex, cellInfo.cellIndex, newParams.cellNoWrap, true));
                changed = true;
            }
            if (newParams.cellMarginsSameAsTable) {
                let defaultCellMargins = subDocument.documentModel.defaultTableCellProperties.cellMargins;
                if (!defaultCellMargins.equals(cell.properties.cellMargins)) {
                    let newCellMargins = [defaultCellMargins.top.clone(), defaultCellMargins.right.clone(), defaultCellMargins.bottom.clone(), defaultCellMargins.left.clone()];
                    history.addAndRedo(new table_cell_properties_history_items/* TableCellCellMarginsHistoryItem */.c4(modelManipulator, subDocument, table.index, rowInfo.rowIndex, cellInfo.cellIndex, newCellMargins, [false, false, false, false]));
                    changed = true;
                }
            }
            else {
                if (newParams.cellMarginTop !== initParams.cellMarginTop || newParams.cellMarginRight !== initParams.cellMarginRight ||
                    newParams.cellMarginBottom !== initParams.cellMarginBottom || newParams.cellMarginLeft !== initParams.cellMarginLeft) {
                    let topCellMargin = table_units/* TableWidthUnit */.CT.create(newParams.cellMarginTop, table_units/* TableWidthUnitType */.HO.ModelUnits);
                    let rightCellmargin = table_units/* TableWidthUnit */.CT.create(newParams.cellMarginRight, table_units/* TableWidthUnitType */.HO.ModelUnits);
                    let bottomCellMargin = table_units/* TableWidthUnit */.CT.create(newParams.cellMarginBottom, table_units/* TableWidthUnitType */.HO.ModelUnits);
                    let leftCellMargin = table_units/* TableWidthUnit */.CT.create(newParams.cellMarginLeft, table_units/* TableWidthUnitType */.HO.ModelUnits);
                    let newCellMargins = [topCellMargin, rightCellmargin, bottomCellMargin, leftCellMargin];
                    history.addAndRedo(new table_cell_properties_history_items/* TableCellCellMarginsHistoryItem */.c4(modelManipulator, subDocument, table.index, rowInfo.rowIndex, cellInfo.cellIndex, newCellMargins, [true, true, true, true]));
                    changed = true;
                }
            }
        });
        history.endTransaction();
        return changed;
    }
    getActualPreferredWidth(useDefaultValue, preferredWidth) {
        if (useDefaultValue === null)
            return null;
        if (useDefaultValue === true)
            return table_units/* TableWidthUnit */.CT.create(0, table_units/* TableWidthUnitType */.HO.Auto);
        return preferredWidth;
    }
    getActualRowHeight(useDefaultRowHeight, rowHeight) {
        if (useDefaultRowHeight === null)
            return null;
        if (useDefaultRowHeight === true)
            return table_units/* TableHeightUnit */.aN.createDefault();
        return rowHeight;
    }
    getInitialTab() {
        return TablePropertiesDialogTab.Table;
    }
    getDialogName() {
        return "TableProperties";
    }
}
class DialogCellPropertiesCommand extends DialogTablePropertiesCommand {
    getInitialTab() {
        return TablePropertiesDialogTab.Cell;
    }
}
class TablePropertiesDialogParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    init(tableInfo, model, maxTableWidth, tab) {
        const table = tableInfo.table;
        this.tableInit(table, model);
        this.rowInit(tableInfo, model);
        this.columnInit(tableInfo);
        this.cellInit(tableInfo, model);
        this.maxTableWidth = maxTableWidth;
        this.initialTab = tab;
        this.isNestedTable = table.nestedLevel > 0;
    }
    tableInit(table, model) {
        this.useDefaultTableWidth = table.preferredWidth.type === table_units/* TableWidthUnitType */.HO.Auto || table.preferredWidth.type === table_units/* TableWidthUnitType */.HO.Nil;
        this.tablePreferredWidth = table.preferredWidth.clone();
        this.tableRowAlignment = table_alignment_applier/* TableAlignmentApplier */.g.getTableAlignment(table);
        const actualTableIndent = table.getActualTableIndent(model.defaultTableProperties);
        this.tableIndent = actualTableIndent.type === table_units/* TableWidthUnitType */.HO.ModelUnits ? actualTableIndent.value : 0;
        this.cellSpacing = this.getCellSpacing(table, model);
        this.allowCellSpacing = this.cellSpacing !== 0;
        const layoutType = table.getActualTableLayout(model.defaultTableProperties);
        this.resizeToFitContent = layoutType === table_base_structures/* TableLayoutType */.DX.Autofit;
        this.defaultCellMarginLeft = table.getActualLeftMargin(model.defaultTableProperties).value;
        this.defaultCellMarginRight = table.getActualRightMargin(model.defaultTableProperties).value;
        this.defaultCellMarginTop = table.getActualTopMargin(model.defaultTableProperties).value;
        this.defaultCellMarginBottom = table.getActualBottomMargin(model.defaultTableProperties).value;
    }
    getCellSpacing(table, model) {
        let firstRow = table.rows[0];
        let firstRowCellSpacing = new table_row_properties_merger/* TableRowPropertiesMergerCellSpacing */.L2(model, table, firstRow.tablePropertiesException)
            .getProperty(firstRow.properties, table.style, table_base_structures/* ConditionalTableStyleFormatting */.pB.FirstRow, model.defaultTableRowProperties);
        for (let i = 0, currentRow; currentRow = table.rows[i]; i++) {
            let currentRowCellSpacing = new table_row_properties_merger/* TableRowPropertiesMergerCellSpacing */.L2(model, table, currentRow.tablePropertiesException)
                .getProperty(currentRow.properties, table.style, currentRow.conditionalFormatting, model.defaultTableRowProperties);
            if (!firstRowCellSpacing.equals(currentRowCellSpacing))
                return null;
        }
        return firstRowCellSpacing.type === table_units/* TableWidthUnitType */.HO.ModelUnits ? (firstRowCellSpacing.value * 2) : 0;
    }
    rowInit(tableInfo, model) {
        const table = tableInfo.table;
        let identicalRowHeight = true;
        let identicalCantSplit = true;
        let cantSplitMerger = new table_row_properties_merger/* TableRowPropertiesMergerCantSplit */.Y_();
        let firstRow = table.rows[tableInfo.extendedData.startRowIndex];
        let firstRowCantSplit = cantSplitMerger.getProperty(firstRow.properties, table.style, firstRow.conditionalFormatting, model.defaultTableRowProperties);
        let firstRowHeight = firstRow.height.clone();
        utils_list.ListUtils.reverseForEach(tableInfo.extendedData.rows, (rowInfo) => {
            let currentRow = table.rows[rowInfo.rowIndex];
            let currentCantSplit = cantSplitMerger.getProperty(currentRow.properties, table.style, currentRow.conditionalFormatting, model.defaultTableRowProperties);
            identicalRowHeight = currentRow.height.equals(firstRowHeight);
            identicalCantSplit = identicalCantSplit && (firstRowCantSplit === currentCantSplit);
        }, tableInfo.extendedData.rows.length - 1, 1);
        this.useDefaultRowHeight = identicalRowHeight ? firstRowHeight.value === 0 : null;
        this.cantSplit = identicalCantSplit ? firstRowCantSplit : null;
        this.rowHeight = table_units/* TableHeightUnit */.aN.create(identicalRowHeight ? firstRowHeight.value : 0, firstRowHeight.type === table_units/* TableHeightUnitType */.X.Exact ? table_units/* TableHeightUnitType */.X.Exact : table_units/* TableHeightUnitType */.X.Minimum);
    }
    columnInit(tableInfo) {
        const table = tableInfo.table;
        let identicalColumnWidth = true;
        const columnsRange = TableUtilsEx.getColumnsRangeBySelectedCells(tableInfo.extendedData);
        let firstCellWidth = null;
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            let cellIndices = table_utils/* TableCellUtils */.V.getCellIndicesByColumnsRange(row, columnsRange);
            for (let i = 0; i < cellIndices.length; i++) {
                let cellIndex = cellIndices[i];
                if (firstCellWidth === null)
                    firstCellWidth = table.rows[rowIndex].cells[cellIndex].preferredWidth;
                else
                    identicalColumnWidth = identicalColumnWidth && table.rows[rowIndex].cells[cellIndex].preferredWidth.equals(firstCellWidth);
            }
        }
        this.useDefaultColumnWidth = identicalColumnWidth ? firstCellWidth.type === table_units/* TableWidthUnitType */.HO.Auto : null;
        this.columnPreferredWidth = firstCellWidth.clone();
    }
    cellInit(tableInfo, model) {
        const table = tableInfo.table;
        this.cellMarginsSameAsTable = true;
        let identicalCellWidth = true;
        let identicalVerticalAlignment = true;
        let identicalNoWrap = true;
        let identicalLeftMargins = true;
        let identicalRightMargins = true;
        let identicalTopMargins = true;
        let identicalBottomMargins = true;
        let noWrapMerger = new table_cell_properties_merger/* TableCellPropertiesMergerNoWrap */.x$();
        let verticalAlignmentMerger = new table_cell_properties_merger/* TableCellVerticalAlignmentMerger */.kc();
        let firstSelectedCell = tableInfo.extendedData.firstCell;
        let firstCellWidth = firstSelectedCell.preferredWidth.clone();
        let firstCellVerticalAlignment = verticalAlignmentMerger.getProperty(firstSelectedCell.properties, table.style, firstSelectedCell.conditionalFormatting, model.defaultTableCellProperties);
        let firstCellNoWrap = noWrapMerger.getProperty(firstSelectedCell.properties, table.style, firstSelectedCell.conditionalFormatting, model.defaultTableCellProperties);
        let firstCellMargins = this.getActualCellMargins(table, firstSelectedCell, model);
        utils_list.ListUtils.forEach(tableInfo.extendedData.rows, (rowInfo) => {
            utils_list.ListUtils.forEach(rowInfo.cells, (cellInfo) => {
                const cell = cellInfo.cell;
                identicalCellWidth = identicalCellWidth && (firstCellWidth.equals(cell.preferredWidth));
                let currentCellVerticalAlignment = verticalAlignmentMerger.getProperty(cell.properties, table.style, cell.conditionalFormatting, model.defaultTableCellProperties);
                identicalVerticalAlignment = identicalVerticalAlignment && (firstCellVerticalAlignment === currentCellVerticalAlignment);
                let currentCellNoWrap = noWrapMerger.getProperty(cell.properties, table.style, cell.conditionalFormatting, model.defaultTableCellProperties);
                identicalNoWrap = identicalNoWrap && (firstCellNoWrap === currentCellNoWrap);
                let curreantCellMargins = this.getActualCellMargins(table, cell, model);
                identicalTopMargins = identicalTopMargins && firstCellMargins.top.equals(curreantCellMargins.top);
                identicalRightMargins = identicalRightMargins && firstCellMargins.right.equals(curreantCellMargins.right);
                identicalBottomMargins = identicalBottomMargins && firstCellMargins.bottom.equals(curreantCellMargins.bottom);
                identicalLeftMargins = identicalLeftMargins && firstCellMargins.left.equals(curreantCellMargins.left);
                if (cell.properties.getUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseTopMargin) || cell.properties.getUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseRightMargin) ||
                    cell.properties.getUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseBottomMargin) || cell.properties.getUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseLeftMargin))
                    this.cellMarginsSameAsTable = false;
            });
        });
        this.useDefaultCellWidth = identicalCellWidth ? firstCellWidth.type === table_units/* TableWidthUnitType */.HO.Auto : null;
        this.cellPreferredWidth = firstCellWidth;
        this.cellVerticalAlignment = identicalVerticalAlignment ? firstCellVerticalAlignment : null;
        this.cellNoWrap = identicalNoWrap ? firstCellNoWrap : null;
        this.cellMarginTop = identicalTopMargins ? firstCellMargins.top.value : null;
        this.cellMarginRight = identicalRightMargins ? firstCellMargins.right.value : null;
        this.cellMarginBottom = identicalBottomMargins ? firstCellMargins.bottom.value : null;
        this.cellMarginLeft = identicalLeftMargins ? firstCellMargins.left.value : null;
    }
    getActualCellMargins(_table, cell, model) {
        const cellMarginLeft = cell.getActualLeftCellMargin(model).clone();
        const cellMarginRight = cell.getActualRightCellMargin(model).clone();
        const cellMarginTop = cell.getActualTopCellMargin(model).clone();
        const cellMarginBottom = cell.getActualBottomCellMargin(model).clone();
        return table_base_structures/* TableCellMargins */.Vx.create(cellMarginTop, cellMarginRight, cellMarginBottom, cellMarginLeft);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.useDefaultTableWidth = obj.useDefaultTableWidth;
        this.tablePreferredWidth = obj.tablePreferredWidth.clone();
        this.tableRowAlignment = obj.tableRowAlignment;
        this.tableIndent = obj.tableIndent;
        this.cellSpacing = obj.cellSpacing;
        this.allowCellSpacing = obj.allowCellSpacing;
        this.resizeToFitContent = obj.resizeToFitContent;
        this.defaultCellMarginLeft = obj.defaultCellMarginLeft;
        this.defaultCellMarginRight = obj.defaultCellMarginRight;
        this.defaultCellMarginTop = obj.defaultCellMarginTop;
        this.defaultCellMarginBottom = obj.defaultCellMarginTop;
        this.useDefaultRowHeight = obj.useDefaultRowHeight;
        this.rowHeight = obj.rowHeight.clone();
        this.cantSplit = obj.cantSplit;
        this.useDefaultColumnWidth = obj.useDefaultColumnWidth;
        this.columnPreferredWidth = obj.columnPreferredWidth.clone();
        this.useDefaultCellWidth = obj.useDefaultCellWidth;
        this.cellPreferredWidth = obj.cellPreferredWidth.clone();
        this.cellVerticalAlignment = obj.cellVerticalAlignment;
        this.cellNoWrap = obj.cellNoWrap;
        this.cellMarginLeft = obj.cellMarginLeft;
        this.cellMarginRight = obj.cellMarginRight;
        this.cellMarginTop = obj.cellMarginTop;
        this.cellMarginBottom = obj.cellMarginBottom;
        this.cellMarginsSameAsTable = obj.cellMarginsSameAsTable;
        this.maxTableWidth = obj.maxTableWidth;
        this.initialTab = obj.initialTab;
        this.isNestedTable = obj.isNestedTable;
    }
    clone() {
        const newInstance = new TablePropertiesDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(converter) {
        if (this.tablePreferredWidth && this.tablePreferredWidth.type === table_units/* TableWidthUnitType */.HO.ModelUnits)
            this.tablePreferredWidth.value = converter(this.tablePreferredWidth.value);
        if (this.tableIndent)
            this.tableIndent = converter(this.tableIndent);
        if (this.cellSpacing)
            this.cellSpacing = converter(this.cellSpacing);
        if (this.defaultCellMarginLeft)
            this.defaultCellMarginLeft = converter(this.defaultCellMarginLeft);
        if (this.defaultCellMarginRight)
            this.defaultCellMarginRight = converter(this.defaultCellMarginRight);
        if (this.defaultCellMarginTop)
            this.defaultCellMarginTop = converter(this.defaultCellMarginTop);
        if (this.defaultCellMarginBottom)
            this.defaultCellMarginBottom = converter(this.defaultCellMarginBottom);
        if (this.rowHeight)
            this.rowHeight.value = converter(this.rowHeight.value);
        if (this.columnPreferredWidth && this.columnPreferredWidth.type === table_units/* TableWidthUnitType */.HO.ModelUnits)
            this.columnPreferredWidth.value = converter(this.columnPreferredWidth.value);
        if (this.cellPreferredWidth && this.cellPreferredWidth.type === table_units/* TableWidthUnitType */.HO.ModelUnits)
            this.cellPreferredWidth.value = converter(this.cellPreferredWidth.value);
        if (this.cellMarginTop)
            this.cellMarginTop = converter(this.cellMarginTop);
        if (this.cellMarginRight)
            this.cellMarginRight = converter(this.cellMarginRight);
        if (this.cellMarginBottom)
            this.cellMarginBottom = converter(this.cellMarginBottom);
        if (this.cellMarginLeft)
            this.cellMarginLeft = converter(this.cellMarginLeft);
        if (this.maxTableWidth)
            this.maxTableWidth = converter(this.maxTableWidth);
        return this;
    }
}
class TablePropertiesDialogDefaults {
}
TablePropertiesDialogDefaults.MinTableIndentByDefault = -15 * 1440;
TablePropertiesDialogDefaults.MaxTableIndentByDefault = 15 * 1440;
TablePropertiesDialogDefaults.MinTableWidthByDefault = 0;
TablePropertiesDialogDefaults.MaxTableWidthInModelUnitsByDefault = 22 * 1440;
TablePropertiesDialogDefaults.MaxTableWidthInPercentByDefault = 600;
TablePropertiesDialogDefaults.MinRowHeightByDefault = 0;
TablePropertiesDialogDefaults.MaxRowHeightByDefault = 22 * 1440;
TablePropertiesDialogDefaults.MinColumnWidthByDefault = 0;
TablePropertiesDialogDefaults.MaxColumnWidthInModelUnitsByDefault = 22 * 1440;
TablePropertiesDialogDefaults.MaxColumnWidthInPercentByDefault = 100;
TablePropertiesDialogDefaults.MinCellWidthByDefault = 0;
TablePropertiesDialogDefaults.MaxCellWidthInModelUnitsByDefault = 22 * 1440;
TablePropertiesDialogDefaults.MaxCellWidthInPercentByDefault = 100;
var TablePropertiesDialogTab;
(function (TablePropertiesDialogTab) {
    TablePropertiesDialogTab[TablePropertiesDialogTab["Table"] = 0] = "Table";
    TablePropertiesDialogTab[TablePropertiesDialogTab["Row"] = 1] = "Row";
    TablePropertiesDialogTab[TablePropertiesDialogTab["Column"] = 2] = "Column";
    TablePropertiesDialogTab[TablePropertiesDialogTab["Cell"] = 3] = "Cell";
})(TablePropertiesDialogTab || (TablePropertiesDialogTab = {}));

// EXTERNAL MODULE: ./src/common/model/history/items/document-properties-history-items.ts
var document_properties_history_items = __webpack_require__(5037);
// EXTERNAL MODULE: ./src/common/model/history/items/paragraph-properties-history-items.ts
var paragraph_properties_history_items = __webpack_require__(6690);
;// CONCATENATED MODULE: ./src/common/commands/dialogs/dialog-tabs-command.ts





class DialogTabsCommand extends show_dialog_command_base/* ShowDialogCommandBase */.xN {
    createParameters(_options) {
        var parameters = new DialogTabsParameters();
        parameters.defaultTabStop = this.control.modelManager.model.defaultTabWidth;
        var paragraphIndices = this.selection.activeSubDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        if (this.paragraphsHasEqualTabProperties(paragraphIndices))
            parameters.tabProperties = this.selection.activeSubDocument.paragraphs[paragraphIndices[0]].tabs.clone();
        else
            parameters.tabProperties = new paragraph_style/* TabProperties */.jy();
        return parameters;
    }
    applyParameters(_state, newParams, initParams) {
        var modelManipulator = this.modelManipulator;
        this.history.beginTransaction();
        if (newParams.defaultTabStop && newParams.defaultTabStop !== initParams.defaultTabStop)
            this.history.addAndRedo(new document_properties_history_items/* DocumentDefaultTabWidthHistoryItem */.l4(modelManipulator, newParams.defaultTabStop));
        this.deleteAllTabs();
        var paragraphIndices = this.selection.activeSubDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        for (let i = 0, tabInfo; tabInfo = newParams.tabProperties.tabsInfo[i]; i++) {
            for (let j = paragraphIndices.length - 1; j >= 0; j--) {
                let paragraphIndex = paragraphIndices[j];
                let paragraph = this.selection.activeSubDocument.paragraphs[paragraphIndex];
                this.history.addAndRedo(new paragraph_properties_history_items/* InsertTabToParagraphHistoryItem */.jX(modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, paragraph.interval), tabInfo));
            }
        }
        this.history.endTransaction();
        return true;
    }
    deleteAllTabs() {
        var modelManipulator = this.modelManipulator;
        var paragraphIndices = this.selection.activeSubDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        for (let i = paragraphIndices.length - 1; i >= 0; i--) {
            var paragraph = this.selection.activeSubDocument.paragraphs[paragraphIndices[i]];
            var interval = paragraph.interval;
            let tabs = paragraph.getTabs();
            let tab;
            while (tab = tabs.positions.pop())
                this.history.addAndRedo(new paragraph_properties_history_items/* DeleteTabAtParagraphHistoryItem */.qn(modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, interval), tab));
        }
    }
    paragraphsHasEqualTabProperties(paragraphIndices) {
        var firstParagraph = this.selection.activeSubDocument.paragraphs[paragraphIndices[0]];
        for (let i = paragraphIndices.length - 1; i > 0; i--) {
            let paragraph = this.selection.activeSubDocument.paragraphs[paragraphIndices[i]];
            if (!firstParagraph.tabs.equals(paragraph.tabs))
                return false;
        }
        return true;
    }
    getDialogName() {
        return "Tabs";
    }
}
class DialogTabsParameters extends show_dialog_command_base/* DialogParametersBase */.R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.defaultTabStop = obj.defaultTabStop;
        this.tabProperties = obj.tabProperties.clone();
    }
    clone() {
        const newInstance = new DialogTabsParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(converter) {
        if (this.defaultTabStop)
            this.defaultTabStop = converter(this.defaultTabStop);
        return this;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/dialogs/show-quick-search-panel-command.ts


class ShowQuickSearchPanelCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state) {
        this.control.owner.showQuickSearchPanel();
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/document-properties/change-page-color-command.ts




class ChangePageColorCommand extends command_base/* CommandBase */.eK {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.value = this.control.modelManager.model.pageBackColor;
        state.denyUpdateValue = true;
        return state;
    }
    executeCore(_state, parameter) {
        var newColor = parameter.param;
        if (newColor != this.control.modelManager.model.pageBackColor) {
            this.history.addAndRedo(new document_properties_history_items/* PageColorHistoryItem */.Hz(this.modelManipulator, newColor));
            return true;
        }
        return false;
    }
    isEnabled() {
        return super.isEnabled() && !this.control.modelManager.model.isDocumentProtectionEnabled;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.NO_COLOR);
    }
}

// EXTERNAL MODULE: ./src/common/formats/html/export/html-builder.ts
var html_builder = __webpack_require__(5365);
// EXTERNAL MODULE: ./src/common/canvas/renderer-class-names.ts
var renderer_class_names = __webpack_require__(5031);
// EXTERNAL MODULE: ./src/common/model/section/paper-kind.ts
var paper_kind = __webpack_require__(6498);
// EXTERNAL MODULE: ./src/common/view-settings/views-settings.ts
var views_settings = __webpack_require__(1626);
;// CONCATENATED MODULE: ./src/common/commands/document/print-document-on-client-command.ts


















class PrintDocumentOnClient extends command_base/* CommandBase */.eK {
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.printing) &&
            this.control.modelManager.model.isLoaded();
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    constructor(control, _nonce) {
        super(control);
        this._nonce = _nonce;
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    getMode(param) {
        return param !== null && param !== undefined ? param : this.control.modelManager.richOptions.printing.mode;
    }
    getclosePrintDialogWithHtmlPreview(param) {
        return param !== null && param !== undefined ? param : this.control.modelManager.richOptions.printing.closePrintDialogWithHtmlPreview;
    }
    executeCore(_state, options) {
        if (this.control.commandManager.isPrintingProcessing)
            return false;
        this.control.commandManager.isPrintingProcessing = true;
        let mode;
        let closePrintDialogWithHtmlPreview;
        if (typeof options.param === 'object' && options.param != null) {
            mode = this.getMode(options.param.mode);
            closePrintDialogWithHtmlPreview = this.getclosePrintDialogWithHtmlPreview(options.param.closePrintDialogWithHtmlPreview);
        }
        else {
            mode = this.getMode(options.param);
            closePrintDialogWithHtmlPreview = this.control.modelManager.richOptions.printing.closePrintDialogWithHtmlPreview;
        }
        const htmlPrinting = mode == printing/* PrintMode */.X.ClientHtml;
        let printWindow;
        if (htmlPrinting)
            printWindow = window.open('', 'print', `height=${window.innerHeight},width=${window.innerWidth},tabbar=no`);
        let needSwitchViewType = false;
        if (this.control.innerClientProperties.viewsSettings.viewType == views_settings/* ViewType */.bW.Simple) {
            needSwitchViewType = true;
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SwitchToPrintLayoutView).execute(this.control.commandManager.isPublicApiCall);
        }
        let needToggleHiddenSymbols = false;
        if (this.control.innerClientProperties.showHiddenSymbols) {
            needToggleHiddenSymbols = true;
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ToggleShowWhitespace).execute(this.control.commandManager.isPublicApiCall);
        }
        this.control.commandManager.printTimerId = setTimeout(() => {
            while (!this.control.layout.isFullyFormatted)
                this.control.layoutFormatterManager.forceFormatPage(this.control.layout.validPageCount + 1);
            const subDocsInfo = number/* NumberMapUtils */.j.toListBy(this.modelManipulator.model.subDocuments, (sd) => new sub_document/* SubDocumentIntervals */.Jt(sd, [sd.interval]));
            if (this.control.modelManager.richOptions.fields.updateFieldsBeforePrint) {
                update_field_command_base/* UpdateFieldCommandBase */.E.updateFields(this, subDocsInfo, () => {
                    this.printCore(htmlPrinting, printWindow, closePrintDialogWithHtmlPreview, needSwitchViewType, needToggleHiddenSymbols);
                }, new tree_creator/* UpdateFieldsOptions */.f$(false, false));
            }
            else
                this.printCore(htmlPrinting, printWindow, closePrintDialogWithHtmlPreview, needSwitchViewType, needToggleHiddenSymbols);
        }, 100);
        return true;
    }
    printCore(htmlPrinting, printWindow, closePrintDialogWithHtmlPreview, needSwitchViewType, needToggleHiddenSymbols) {
        if (htmlPrinting)
            this.generatePrintDocument(printWindow, closePrintDialogWithHtmlPreview);
        else {
            pdfExport(this.control, (blob, _stream) => {
                if (window.navigator.msSaveOrOpenBlob && !browser.Browser.Edge)
                    window.navigator.msSaveOrOpenBlob(blob, this.control.documentInfo.getFileNameForDownload() + ".pdf");
                else
                    this.control.pdfHelperFrame.showPrintDialog(URL.createObjectURL(blob));
            }, () => { });
        }
        if (needSwitchViewType)
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SwitchToSimpleView).execute(this.control.commandManager.isPublicApiCall);
        if (needToggleHiddenSymbols)
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ToggleShowWhitespace).execute(this.control.commandManager.isPublicApiCall);
        this.control.commandManager.isPrintingProcessing = false;
    }
    generatePrintDocument(printWindow, closePrintDialogWithHtmlPreview) {
        const height = this.control.layout.pages[0].height;
        const width = this.control.layout.pages[0].width;
        let printWindowContent = `<!DOCTYPE html>
                <html moznomarginboxes mozdisallowselectionprint>
                <head>
                    <style ${this._nonce ? `nonce="${this._nonce}"` : ''}>
                        html, body {
                            margin: 0;
                            width: ${width}px;
                            height: ${height}px;
                        }
                        .dxrePageArea, .dxreColumn, .dxreRow, .dxreBox, .dxreBoxBg, .dxreParFrame, .dxreBoxSpace, .dxreAncPic,
                        .dxreTable, .dxreTableCellBg, .dxreTableBrd, .dxreTextBoxBg {
                            position:absolute;
                        }
                        .dxreTableRowCursor, .dxreTableColumnCursor { display: none; }
                        ${this.createZIndexStyles()}
                        br { display: none; }
                        @page { margin: 0; size:${width}px ${width > height ? height + 4 : height}px; }
                        @media print { body { margin: 0; } }
                    </style>
                </head>
                <body>
                </body>
                </html>`;
        printWindow.document.write(printWindowContent);
        printWindow.document.close();
        this.generatePrintContent().forEach((child) => {
            printWindow.document.body.appendChild(child);
        });
        printWindow.focus();
        const interval = setInterval(() => {
            if (printWindow.document.readyState == 'complete') {
                printWindow.print();
                if (closePrintDialogWithHtmlPreview && !browser.Browser.AndroidMobilePlatform)
                    printWindow.close();
                clearInterval(interval);
            }
        }, 100);
    }
    generatePrintContent() {
        const layout = this.control.layout;
        const htmlBuilder = new html_builder/* HtmlBuilder */.C();
        for (let i = 0, layoutPage; layoutPage = layout.pages[i]; i++) {
            const pageSize = PrintPageSizesCalculator.getPrintPageSize(layoutPage);
            const pageWidth = pageSize.width;
            const pageHeight = pageSize.height;
            const page = this.control.viewManager.printLayoutRenderer.getPageRender(i, layoutPage);
            const main = page.getElementsByClassName(renderer_class_names/* RendererClassNames */.A.MAIN_PAGE_AREA_CONTAINER)[0].cloneNode(true);
            const fo = page.getElementsByClassName(renderer_class_names/* RendererClassNames */.A.FLOATING_OBJECTS_CONTAINER)[0].cloneNode(true);
            const other = page.getElementsByClassName(renderer_class_names/* RendererClassNames */.A.OTHER_PAGE_AREA_CONTAINER)[0].cloneNode(true);
            const shapeBg = page.getElementsByClassName(renderer_class_names/* RendererClassNames */.A.SHAPE_BG_CONTAINER)[0].cloneNode(true);
            if (browser.Browser.IE) {
                htmlBuilder
                    .startChild('div')
                    .configure((el) => {
                    el.style.cssText = `position: relative; margin:0px; display:block; width:${pageWidth}px; height:${pageHeight}px;`;
                })
                    .addElement(main)
                    .addElement(fo)
                    .addElement(other)
                    .addElement(shapeBg)
                    .endChild('div')
                    .startChild('br')
                    .endChild('br');
            }
            else {
                htmlBuilder
                    .startChild('svg', 'http://www.w3.org/2000/svg')
                    .configure((el) => {
                    el.setAttribute("width", pageWidth.toString());
                    el.setAttribute("height", pageHeight.toString());
                })
                    .startChild('foreignObject', 'http://www.w3.org/2000/svg')
                    .configure((el) => {
                    el.setAttribute("x", "0");
                    el.setAttribute("y", "0");
                    el.setAttribute("width", pageWidth.toString());
                    el.setAttribute("height", pageHeight.toString());
                })
                    .startChild('div')
                    .configure((el) => {
                    el.setAttribute("xmlns", "http://www.w3.org/1999/xhtml");
                })
                    .addElement(main)
                    .addElement(fo)
                    .addElement(other)
                    .addElement(shapeBg)
                    .endChild('div')
                    .endChild('foreignObject')
                    .endChild('svg');
            }
        }
        return htmlBuilder.childElements;
    }
    createZIndexStyles() {
        let result = '';
        let ind = 0;
        const names = ['TextBoxBg', 'TblRowBg', 'TblCellBg', 'ParBg', 'BoxBg', 'BoxSpace', 'Box', 'TableBorder', 'AnchoredPicture', 'TextBox'];
        for (let level = 0; level <= 8; level++) {
            for (let i = 0, name; name = names[i]; i++) {
                result += `.dxre${name}ZL${level} { z-index: ${ind}; }\r\n`;
                ind++;
            }
        }
        return result;
    }
}
class PrintPageSize {
    constructor(paperKind, vertical, horizontal = vertical, accuracy = 5, converterToPixels = class_unit_converter/* UnitConverter */.u.millimetersToPixel) {
        this.paperKind = paperKind;
        this.vertical = vertical;
        this.horizontal = horizontal;
        this.accuracy = accuracy;
        this.converterToPixels = converterToPixels;
        vertical.applyConverter(converterToPixels);
        horizontal.applyConverter(converterToPixels);
    }
    getDifference(landscape, currSize) {
        const size = landscape ? this.horizontal : this.vertical;
        return new geometry_size.Size(Math.abs(size.width - currSize.width), Math.abs(size.height - currSize.height));
    }
    isAccuracyAchieved(diff) {
        return diff.width < this.accuracy && diff.height < this.accuracy;
    }
}
class Diff {
    constructor(pageSizeInfo, diff) {
        this.pageSizeInfo = pageSizeInfo;
        this.diff = diff;
        this.maxDiff = Math.max(diff.width, diff.height);
    }
}
class PrintPageSizesCalculator {
    static getPrintPageSize(layoutSize) {
        const landscape = layoutSize.width > layoutSize.height;
        const list = utils_list.ListUtils.reducedMap(PrintPageSizesCalculator.sizesList, (info) => {
            const diff = info.getDifference(landscape, layoutSize);
            return info.isAccuracyAchieved(diff) ? new Diff(info, diff) : null;
        });
        if (!list.length)
            return new geometry_size.Size(layoutSize.width, layoutSize.height);
        const finalPageInfo = utils_list.ListUtils.minByCmp(list, (a, b) => a.maxDiff - b.maxDiff).pageSizeInfo;
        return landscape ? finalPageInfo.horizontal : finalPageInfo.vertical;
    }
}
PrintPageSizesCalculator.sizesList = [
    new PrintPageSize(paper_kind/* PaperKind */.e.A4, new geometry_size.Size(210, 296), new geometry_size.Size(297, 209)),
    new PrintPageSize(paper_kind/* PaperKind */.e.Letter, new geometry_size.Size(class_unit_converter/* UnitConverter */.u.millimetersToPixel(216), class_unit_converter/* UnitConverter */.u.millimetersToPixel(278) - 1), new geometry_size.Size(class_unit_converter/* UnitConverter */.u.millimetersToPixel(280), (215)), 7, v => v),
];

;// CONCATENATED MODULE: ./src/common/commands/fields/change-hyperlink-command.ts



class ChangeHyperlinkCommandOptions extends (/* unused pure expression or super */ null && (CommandOptions)) {
    constructor(control, fieldIndex, hyperlinkInfo, text) {
        super(control);
        this.fieldIndex = fieldIndex;
        this.hyperlinkInfo = hyperlinkInfo;
        this.text = text;
    }
}
class ChangeHyperlinkCommand extends command_base/* CommandBase */.eK {
    getState(options) {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled() && options.fieldIndex >= 0);
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields);
    }
    executeCore(_state, options) {
        const field = options.subDocument.fields[options.fieldIndex];
        return this.modelManipulator.field.changeHyperlinkInfo(options.subDocument, field, options.hyperlinkInfo, options.text);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/go-to-record-command.ts




class GoToRecordCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields) &&
            this.control.modelManager.richOptions.mailMerge.isEnabled &&
            this.control.modelManager.richOptions.mailMerge.viewMergedData &&
            this.canNavigate() && this.selection.activeSubDocument.fieldsWaitingForUpdate == null;
    }
    canModify() {
        return true;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return typeof (parameter) === 'number' ? parameter : this.control.modelManager.richOptions.mailMerge.activeRecordIndex;
    }
    executeCore(_state, options) {
        var recordIndex = this.calculateNextRecordIndex(options.param);
        this.control.modelManager.richOptions.mailMerge.activeRecordIndex = recordIndex;
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.UpdateAllFields).execute(this.control.commandManager.isPublicApiCall);
        return true;
    }
    canNavigate() {
        return true;
    }
    calculateNextRecordIndex(recordIndex) {
        return Math.min(recordIndex, this.control.modelManager.richOptions.mailMerge.recordCount - 1);
    }
}
class GoToFirstDataRecordCommand extends GoToRecordCommandBase {
    canNavigate() {
        return this.control.modelManager.richOptions.mailMerge.activeRecordIndex > 0;
    }
    calculateNextRecordIndex(_recordIndex) {
        return 0;
    }
}
class GoToPreviousDataRecordCommand extends GoToRecordCommandBase {
    canNavigate() {
        return this.control.modelManager.richOptions.mailMerge.activeRecordIndex > 0;
    }
    calculateNextRecordIndex(recordIndex) {
        return recordIndex - 1;
    }
}
class GoToNextDataRecordCommand extends GoToRecordCommandBase {
    canNavigate() {
        return this.control.modelManager.richOptions.mailMerge.activeRecordIndex < this.control.modelManager.richOptions.mailMerge.recordCount - 1;
    }
    calculateNextRecordIndex(recordIndex) {
        return recordIndex + 1;
    }
}
class GoToLastDataRecordCommand extends GoToRecordCommandBase {
    canNavigate() {
        return this.control.modelManager.richOptions.mailMerge.activeRecordIndex < this.control.modelManager.richOptions.mailMerge.recordCount - 1;
    }
    calculateNextRecordIndex(_recordIndex) {
        return this.control.modelManager.richOptions.mailMerge.recordCount - 1;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/url.js
var url = __webpack_require__(6795);
;// CONCATENATED MODULE: ./src/common/commands/fields/hyperlink-command-base.ts




class HyperlinkCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        var subDocument = this.selection.activeSubDocument;
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.value = field_context_menu_helper/* FieldContextMenuHelper */.S.showHyperlinkItems(subDocument.fields, this.selection.lastSelectedInterval);
        state.visible = state.value !== null;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.hyperlinks);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/open-hyperlink-command.ts







class OpenHyperlinkCommand extends HyperlinkCommandBase {
    executeCore(state, options) {
        let field;
        if (options.param)
            field = options.param;
        else {
            if (!state.visible)
                return false;
            field = state.value;
        }
        var hyperlinkInfo = field.getHyperlinkInfo();
        const fieldIsEditable = this.selection.activeSubDocument.isEditable([field.getAllFieldInterval()]);
        if (!hyperlinkInfo.visited && this.control.readOnly != i_rich_edit_core/* ReadOnlyMode */.F.Persistent && fieldIsEditable) {
            var newHyperlinkInfo = hyperlinkInfo.clone();
            newHyperlinkInfo.visited = true;
            this.history.beginTransaction();
            this.history.addAndRedo(new change_field_hyperlink_info_history_item/* ChangeFieldHyperlinkInfoHistoryItem */.q(this.modelManipulator, this.selection.activeSubDocument, field.index, newHyperlinkInfo));
            this.history.endTransaction();
            this.aspxForceSendingRequest();
        }
        if (hyperlinkInfo.isUri()) {
            const options = (0,utils/* createUrlValidationOptions */.EW)(this.control.modelManager);
            let uri = hyperlinkInfo.getUriWithAnchor();
            if (!utils/* UrlUtils */.jE.isValid(uri, options))
                uri = utils/* UrlUtils */.jE.EmptyPage;
            url/* Url */.R.navigate(uri, "_blank");
        }
        else {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.GoToBookmark)
                .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, hyperlinkInfo.anchor));
        }
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    aspxForceSendingRequest() {
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/remove-hyperlink-command.ts

class RemoveHyperlinkCommand extends HyperlinkCommandBase {
    executeCore(state, _options) {
        const field = state.value;
        this.modelManipulator.field.removeHyperlink(this.selection.activeSubDocument, field);
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/remove-hyperlink-history-item.ts
var remove_hyperlink_history_item = __webpack_require__(55);
// EXTERNAL MODULE: ./src/common/model/position/linked-interval.ts
var linked_interval = __webpack_require__(7247);
;// CONCATENATED MODULE: ./src/common/commands/fields/remove-hyperlinks-command.ts








class RemoveHyperlinksCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.hyperlinks);
    }
    executeCore(_state, options) {
        var subDocument = options.subDocument;
        var fields = subDocument.fields;
        if (fields.length < 1)
            return false;
        var history = this.history;
        var interval = options.intervalsInfo.interval;
        var fieldIndex = Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(fields, interval.start));
        var field = fields[fieldIndex].getAbsolutelyTopLevelField();
        var linkedInterval = new linked_interval/* LinkedInterval */.k(subDocument.positionManager, interval);
        history.addTransaction(() => {
            for (fieldIndex = field.index; (field = fields[fieldIndex]) && field.getFieldStartPosition() < linkedInterval.end;) {
                if (field.getHyperlinkInfo() && algorithms.IntervalAlgorithms.getIntersection(fixed.FixedInterval.fromPositions(field.getCodeStartPosition(), field.getResultEndPosition()), interval))
                    history.addAndRedo(new remove_hyperlink_history_item/* RemoveHyperlinkHistoryItem */.E(this.modelManipulator, subDocument, field));
                else
                    fieldIndex++;
            }
        });
        this.selection.correctAfterTextBufferChanged();
        linkedInterval.destructor(subDocument.positionManager);
        return true;
    }
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.interval = this.selection.lastSelectedInterval;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/show-all-field-code-result-command.ts




class ShowAllFieldCodesCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* IntervalCommandState */.dJ(this.isEnabled(), this.selection.lastSelectedInterval);
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields);
    }
    executeCore(_state, _options) {
        this.modelManipulator.field.setAllFieldsShowCode(this.baseValue(), number/* NumberMapUtils */.j.toList(this.modelManipulator.model.subDocuments));
        return true;
    }
    baseValue() {
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class ShowAllFieldResultCommand extends ShowAllFieldCodesCommand {
    baseValue() {
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/toggle-all-fields-command.ts




class ToggleAllFieldsCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* IntervalCommandState */.dJ(this.isEnabled(), this.selection.lastSelectedInterval);
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields);
    }
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        var subDocumentsList = [subDocument];
        var atLeastExistOneField = false;
        for (var subDocumentIndex = 0, currSubDoc; currSubDoc = subDocumentsList[subDocumentIndex]; subDocumentIndex++) {
            var fields = currSubDoc.fields;
            if (fields.length > 0)
                atLeastExistOneField = true;
            for (var fieldIndex = 0, field; field = fields[fieldIndex]; fieldIndex++)
                if (field.showCode) {
                    this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowAllFieldResults)
                        .execute(this.control.commandManager.isPublicApiCall, options);
                    return true;
                }
        }
        if (atLeastExistOneField) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowAllFieldCodes)
                .execute(this.control.commandManager.isPublicApiCall, options);
            return true;
        }
        return false;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/toggle-field-codes-command.ts





class ToggleFieldCodesCommand extends command_base/* CommandBase */.eK {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = field_context_menu_helper/* FieldContextMenuHelper */.S.showUpdateAndToogleCodeItems(this.selection.activeSubDocument.fields, this.selection.intervals);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields);
    }
    executeCore(_state, options) {
        const parameter = options.param;
        var selection = this.selection;
        var subDocument = options.subDocument;
        var fields = subDocument.fields;
        var intervals = options.intervalsInfo.intervals;
        let toggleMode = typeof options.param !== 'boolean';
        var commandExecuted = false;
        for (var intervalIndex = 0, interval; interval = intervals[intervalIndex]; intervalIndex++) {
            if (interval.length == 0) {
                var fieldVisabilityInfo = fields_field/* FieldVisabilityInfo */.Lt.getRelativeVisabilityInfo(interval.start, fields);
                for (var infoIndex = fieldVisabilityInfo.length - 1, info; info = fieldVisabilityInfo[infoIndex]; infoIndex--) {
                    var field = info.field;
                    var newSelectionStartPos = -1;
                    if (info.showResult && (parameter === true || toggleMode)) {
                        field.showCode = true;
                        newSelectionStartPos = field.getCodeStartPosition();
                    }
                    else if (info.showCode && (parameter === false || toggleMode)) {
                        field.showCode = false;
                        newSelectionStartPos = field.getFieldStartPosition();
                    }
                    if (newSelectionStartPos >= 0) {
                        this.control.layoutFormatterManager.invalidator.onIntervalChanged(subDocument.id, field.getAllFieldInterval());
                        if (subDocument == this.selection.activeSubDocument)
                            selection.deprecatedSetSelection(newSelectionStartPos, newSelectionStartPos, selection.endOfLine, -1, true);
                        commandExecuted = true;
                        break;
                    }
                }
                if (fieldVisabilityInfo.length == 0) {
                    var fieldIndex = fields_field/* Field */.gN.normedBinaryIndexOf(fields, interval.start + 1);
                    if (fieldIndex >= 0) {
                        var field = fields[fieldIndex];
                        if (!field.parent && field.getFieldStartPosition() == interval.start && (toggleMode || field.showCode !== parameter)) {
                            field.showCode = !field.showCode;
                            this.control.layoutFormatterManager.invalidator.onIntervalChanged(subDocument.id, field.getAllFieldInterval());
                            if (subDocument == this.selection.activeSubDocument)
                                selection.deprecatedSetSelection(field.getFieldStartPosition(), field.getFieldStartPosition(), selection.endOfLine, -1, true);
                            commandExecuted = true;
                        }
                    }
                }
            }
            else {
                var intervalEnd = interval.end;
                var fieldIndex = Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(fields, interval.start + 1));
                var field = fields[fieldIndex];
                while (field.parent) {
                    if (interval.start < field.getFieldStartPosition() || field.getFieldEndPosition() <= interval.start)
                        field = field.parent;
                    else
                        break;
                }
                fieldIndex = field.index;
                var needSetState = toggleMode ? !field.showCode : parameter;
                if (field.showCode !== needSetState) {
                    field.showCode = needSetState;
                    this.control.layoutFormatterManager.invalidator.onIntervalChanged(subDocument.id, field.getAllFieldInterval());
                    commandExecuted = true;
                    if (field.getFieldStartPosition() != interval.start && field.getAllFieldInterval().containsWithIntervalEnd(interval.start)) {
                        var newSelectionPos = needSetState ? field.getCodeStartPosition() : field.getFieldStartPosition();
                        if (subDocument == this.selection.activeSubDocument)
                            selection.deprecatedSetSelection(newSelectionPos, newSelectionPos, selection.endOfLine, -1, true);
                    }
                }
                for (fieldIndex++; field = fields[fieldIndex]; fieldIndex++) {
                    if (field.getFieldStartPosition() >= intervalEnd)
                        break;
                    if (field.getFieldEndPosition() <= interval.start)
                        continue;
                    if (field.showCode !== needSetState) {
                        field.showCode = needSetState;
                        this.control.layoutFormatterManager.invalidator.onIntervalChanged(subDocument.id, field.getAllFieldInterval());
                        commandExecuted = true;
                    }
                }
            }
        }
        return commandExecuted;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/toggle-view-merged-data-command.ts




class ToggleViewMergedDataCommand extends command_base/* CommandBase */.eK {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.value = this.control.modelManager.richOptions.mailMerge.viewMergedData;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields) &&
            this.control.modelManager.richOptions.mailMerge.isEnabled;
    }
    canModify() {
        return true;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        const mailMergeOptions = this.control.modelManager.richOptions.mailMerge;
        return typeof parameter === 'boolean' ? parameter : !mailMergeOptions.viewMergedData;
    }
    executeCore(_state, options) {
        var mailMergeOptions = this.control.modelManager.richOptions.mailMerge;
        let viewMergedData = options.param;
        if (mailMergeOptions.viewMergedData !== viewMergedData) {
            mailMergeOptions.viewMergedData = viewMergedData;
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.UpdateAllFields).execute(this.control.commandManager.isPublicApiCall);
            return true;
        }
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/fields/update-all-fields-command.ts






class UpdateAllFieldsCommand extends update_field_command_base/* UpdateFieldCommandBase */.E {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields);
    }
    executeCore(_state, options) {
        const subDocsInfo = number/* NumberMapUtils */.j.toListBy(this.modelManipulator.model.subDocuments, (sd) => new sub_document/* SubDocumentIntervals */.Jt(sd, [sd.interval]));
        const floatingState = this.selection.getFloatingState();
        return update_field_command_base/* UpdateFieldCommandBase */.E.updateFields(this, subDocsInfo, () => {
            const selState = floatingState.finalize();
            this.selection.setState(selState);
            if (options.param)
                options.param();
        }, new tree_creator/* UpdateFieldsOptions */.f$());
    }
}

// EXTERNAL MODULE: ./src/common/commands/fields/update-field-command.ts
var update_field_command = __webpack_require__(1849);
;// CONCATENATED MODULE: ./src/common/commands/fields/update-table-of-contents-command.ts







class UpdateTableOfContentsCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* IntervalCommandState */.dJ(this.isEnabled(), this.selection.lastSelectedInterval);
    }
    isEnabled() {
        const tocField = field_command_helper/* FieldCommandHelper */.D.findTocFieldBySelection(this.selection.activeSubDocument, this.selection);
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fields) && tocField != null;
    }
    executeCore(_state, _options) {
        const subDocument = this.selection.activeSubDocument;
        const tocField = field_command_helper/* FieldCommandHelper */.D.findTocFieldBySelection(subDocument, this.selection);
        if (!tocField)
            return false;
        this.history.beginTransaction();
        const updateParams = new update_field_command/* UpdateFieldCommandParameters */.j(subDocument, [tocField.getAllFieldInterval()], () => {
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(tocField.getFieldStartPosition()).setEndOfLine(false)));
        });
        updateParams.options.updateFillIn = false;
        const result = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.UpdateField)
            .execute(this.control.commandManager.isPublicApiCall, updateParams);
        this.history.endTransaction();
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/find-replace/hide-find-results-command.ts


class hide_find_results_command_HideFindResultsCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _parameter) {
        if (this.selection.searchIntervals.length)
            this.selection.resetSearchSelection();
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/shape-property-history-item.ts
var shape_property_history_item = __webpack_require__(7942);
;// CONCATENATED MODULE: ./src/common/commands/floating-objects/change-shape-property-command.ts






class ChangeFloatingObjectShapeCommand extends command_base/* CommandBase */.eK {
    getState() {
        let isEnabled = this.isEnabled();
        let value;
        if (isEnabled) {
            value = this.getValue();
        }
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), value);
    }
    canModify() {
        return true;
    }
    isEnabled() {
        const specialRunInfo = this.selection.specialRunInfo;
        return super.isEnabled() && specialRunInfo.isSelected() && specialRunInfo.isSelectedAnchorObject &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(specialRunInfo.getPosition(), 1)]);
    }
    executeCore(_state, options) {
        let modelManipulator = this.modelManipulator;
        let specialRunInfo = this.selection.specialRunInfo;
        this.history.addAndRedo(new shape_property_history_item/* ShapeHistoryItem */.P(modelManipulator, new sub_document/* SubDocumentInterval */.v8(specialRunInfo.getParentSubDocument(), new fixed.FixedInterval(specialRunInfo.getPosition(), 1)), options.param));
        return true;
    }
    getValue() {
        let specialRunInfo = this.selection.specialRunInfo;
        let run = specialRunInfo.getParentSubDocument().getRunByPosition(specialRunInfo.getPosition());
        let anchoredRun = run;
        return anchoredRun.shape.clone();
    }
}
class ChangeShapePropertyCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        let isEnabled = this.isEnabled();
        let value;
        if (isEnabled) {
            let specialRunInfo = this.selection.specialRunInfo;
            let run = specialRunInfo.getParentSubDocument().getRunByPosition(specialRunInfo.getPosition());
            var anchoredRun = run;
            value = this.getValue(anchoredRun.shape);
        }
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), value);
    }
    isEnabled() {
        const specialRunInfo = this.selection.specialRunInfo;
        return super.isEnabled() && specialRunInfo.isSelected() && specialRunInfo.isSelectedAnchorObject;
    }
}
class ChangeShapeFillColorCommand extends ChangeShapePropertyCommandBase {
    getState() {
        const state = super.getState();
        state.denyUpdateValue = true;
        return state;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.NO_COLOR);
    }
    executeCore(_state, options) {
        const specialRunInfo = this.selection.specialRunInfo;
        this.modelManipulator.picture.changeShapeFillColor(specialRunInfo.getParentSubDocument(), specialRunInfo.getPosition(), options.param);
        return true;
    }
    getValue(shape) {
        return shape.fillColor;
    }
}
class ChangeShapeOutlineColorCommand extends ChangeShapePropertyCommandBase {
    getState() {
        const state = super.getState();
        state.denyUpdateValue = true;
        return state;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.NO_COLOR);
    }
    executeCore(_state, options) {
        const specialRunInfo = this.selection.specialRunInfo;
        this.modelManipulator.picture.changeShapeOutlineColor(specialRunInfo.getParentSubDocument(), specialRunInfo.getPosition(), options.param);
        return true;
    }
    getValue(shape) {
        return shape.outlineColor;
    }
}
class ChangeShapeOutlineWidthCommand extends ChangeShapePropertyCommandBase {
    executeCore(_state, options) {
        const specialRunInfo = this.selection.specialRunInfo;
        this.modelManipulator.picture.changeShapeOutlineWidth(specialRunInfo.getParentSubDocument(), specialRunInfo.getPosition(), options.param);
        return true;
    }
    getValue(shape) {
        return shape.outlineWidth;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/floating-objects/change-text-box-properties-command.ts





class ChangeTextBoxPropertiesCommand extends command_base/* CommandBase */.eK {
    getState() {
        let isEnabled = this.isEnabled();
        let value;
        if (isEnabled)
            value = this.getValue();
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), value);
    }
    canModify() {
        return true;
    }
    isEnabled() {
        const specialRunInfo = this.selection.specialRunInfo;
        return super.isEnabled() && specialRunInfo.isTextBoxSelected() &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(specialRunInfo.getPosition(), 1)]);
    }
    executeCore(_state, options) {
        let modelManipulator = this.modelManipulator;
        let subDocument = this.selection.specialRunInfo.getParentSubDocument();
        this.history.addAndRedo(new ChangeTextBoxPropertiesHistoryItem(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(this.selection.specialRunInfo.getTextBoxPosition(), 1)), options.param));
        return true;
    }
    getValue() {
        let specialRunInfo = this.selection.specialRunInfo;
        let run = specialRunInfo.getParentSubDocument().getRunByPosition(specialRunInfo.getTextBoxPosition());
        let textBoxRun = run;
        return textBoxRun.textBoxProperties.clone();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/floating-objects/context-item-floating-objects.ts



class ContextItemFloatingObjects extends command_base/* CommandBase */.eK {
    getState() {
        const specialRunInfo = this.selection.specialRunInfo;
        const state = new command_states/* SimpleCommandState */.mh(!this.selection.activeSubDocument.isTextBox(), false);
        state.visible = specialRunInfo.isSelected() && state.enabled &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(specialRunInfo.getPosition(), 1)]);
        return state;
    }
    canModify() {
        return true;
    }
    executeCore(_state, _parameter) {
        return false;
    }
}
class ChangeFloatingObjectTextWrapTypeMenu extends ContextItemFloatingObjects {
}
class FloatingObjectBringForwardMenu extends ContextItemFloatingObjects {
}
class FloatingObjectSendBackwardMenu extends ContextItemFloatingObjects {
}

;// CONCATENATED MODULE: ./src/common/commands/floating-objects/floating-object-bring-forward-command.ts






class FloatingObjectBringForwardBackwardCommandBase extends command_base/* CommandBase */.eK {
    isBehindDoc() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    canModify() {
        return true;
    }
    isEnabled() {
        const specialRunInfo = this.selection.specialRunInfo;
        return super.isEnabled() && specialRunInfo.isSelected() && specialRunInfo.isSelectedAnchorObject &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(specialRunInfo.getPosition(), 1)]);
    }
    executeCore(_state, _parameter) {
        const modelManipulator = this.modelManipulator;
        const parentSubDocument = this.selection.specialRunInfo.getParentSubDocument();
        const runPosition = this.selection.specialRunInfo.getPosition();
        const run = parentSubDocument.getRunByPosition(runPosition);
        if (run && run.anchorInfo.isBehindDoc != this.isBehindDoc())
            this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(parentSubDocument, new fixed.FixedInterval(runPosition, 1)), this.isBehindDoc(), modelManipulator.floatingObject.anchorInfo.isBehindDoc));
        return true;
    }
}
class FloatingObjectBringForwardCommand extends FloatingObjectBringForwardBackwardCommandBase {
    executeCore(_state, _parameter) {
        return this.modelManipulator.floatingObject.zOrder.bringForward(this.control.modelManager, this.selection.specialRunInfo.getParentSubDocument(), this.selection.specialRunInfo.getPosition());
    }
}
class FloatingObjectBringToFrontCommand extends FloatingObjectBringForwardBackwardCommandBase {
    executeCore(_state, _parameter) {
        return this.modelManipulator.floatingObject.zOrder.bringToFront(this.control.modelManager, this.selection.specialRunInfo.getParentSubDocument(), this.selection.specialRunInfo.getPosition());
    }
}
class FloatingObjectSendBackwardCommand extends FloatingObjectBringForwardBackwardCommandBase {
    executeCore(_state, _parameter) {
        return this.modelManipulator.floatingObject.zOrder.sendBackward(this.control.modelManager, this.selection.specialRunInfo.getParentSubDocument(), this.selection.specialRunInfo.getPosition());
    }
}
class FloatingObjectSendToBackCommand extends FloatingObjectBringForwardBackwardCommandBase {
    executeCore(_state, _parameter) {
        return this.modelManipulator.floatingObject.zOrder.sendToBack(this.control.modelManager, this.selection.specialRunInfo.getParentSubDocument(), this.selection.specialRunInfo.getPosition());
    }
}
class FloatingObjectBringInFrontOfTextCommand extends FloatingObjectBringForwardBackwardCommandBase {
    isBehindDoc() {
        return false;
    }
}
class FloatingObjectSendBehindTextCommand extends FloatingObjectBringForwardBackwardCommandBase {
    isBehindDoc() {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/commands/floating-objects/floating-object-drag-drop-change-position-command.ts + 1 modules
var floating_object_drag_drop_change_position_command = __webpack_require__(7099);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/non-visual-drawing-object-info.ts
var non_visual_drawing_object_info = __webpack_require__(2839);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-box-manipulator.ts + 1 modules
var text_box_manipulator = __webpack_require__(5757);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/margins.js
var margins = __webpack_require__(3604);
;// CONCATENATED MODULE: ./src/common/commands/floating-objects/insert-anchored-text-box-command.ts



















class InsertAnchoredTextBoxCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    canModify() {
        return !this.control.modelManager.model.isDocumentProtectionEnabled;
    }
    isEnabled() {
        const subDoc = this.selection.activeSubDocument;
        return super.isEnabled() &&
            control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.floatingObjects) &&
            (subDoc.isMain() || subDoc.isHeaderFooter()) &&
            !this.selection.specialRunInfo.isTextBoxSelected();
    }
    executeCore(_state, options) {
        const history = this.history;
        const topBottomMargin = class_unit_converter/* UnitConverter */.u.inchesToTwips(0.05);
        const leftRightMargin = class_unit_converter/* UnitConverter */.u.inchesToTwips(0.1);
        const absoluteSize = new geometry_size.Size(class_unit_converter/* UnitConverter */.u.inchesToTwips(2), class_unit_converter/* UnitConverter */.u.inchesToTwips(0.3));
        const relativeSize = new geometry_size.Size(sizes/* AnchorTextBoxSize */.ne.RELATIVE_COEFF * 0.40, sizes/* AnchorTextBoxSize */.ne.RELATIVE_COEFF * 0.20);
        let size = new sizes/* AnchorTextBoxSize */.ne(false, 0, absoluteSize, relativeSize, floating_objects_enums/* RelativeWidthType */.Fx.Margin, floating_objects_enums/* RelativeHeightType */.Cz.Margin, false, false);
        let contentMargins = new margins/* Margins */.m(leftRightMargin, leftRightMargin, topBottomMargin, topBottomMargin);
        let textBoxProperties = new text_box_properties/* TextBoxProperties */.Y(contentMargins);
        const anchorInfo = new anchor_info/* AnchorInfo */.i();
        anchorInfo.zOrder = this.modelManipulator.floatingObject.zOrder.getNewZOrder(options.subDocument);
        anchorInfo.layoutTableCell = true;
        history.addTransaction(() => {
            this.modelManipulator.textBox.insertAnchoredTextBoxViaHistory(new sub_document/* SubDocumentPosition */.rg(this.selection.activeSubDocument, this.selection.lastSelectedInterval.start), this.inputPosition.charPropsBundle, new text_box_manipulator/* BaseTextBoxInfo */.W(null, size, new shape/* Shape */.b(utils_color/* ColorUtils */.i.fromString(utils_color/* ColorUtils */.i.colorNames.white), color_color/* ColorHelper */.v.BLACK_COLOR, class_unit_converter/* UnitConverter */.u.pointsToTwips(3.0 / 4)), anchorInfo, textBoxProperties, new non_visual_drawing_object_info/* NonVisualDrawingObjectInfo */.L()));
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(new fixed.FixedInterval(this.selection.lastSelectedInterval.start, 1))));
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToTextBox)
                .execute(this.control.commandManager.isPublicApiCall, options);
        });
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/floating-objects/set-floating-object-alignment-command.ts








class SetFloatingObjectAlignmentCommandBase extends command_base/* CommandBase */.eK {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalPositionType = floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Margin;
        this.anchorObjectVerticalPositionType = floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Margin;
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectTopLeftAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectTopCenterAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectTopRightAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectMiddleLeftAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectMiddleCenterAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectMiddleRightAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectBottomLeftAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectBottomCenterAlignment]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectBottomRightAlignment]: true
        };
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.getStateValue());
    }
    getStateValue() {
        let value = false;
        if (this.isEnabled()) {
            let specialRunInfo = this.selection.specialRunInfo;
            let anchoredRun = specialRunInfo.getParentSubDocument()
                .getRunByPosition(specialRunInfo.getPosition());
            if (anchoredRun.anchorInfo.horizontalPositionAlignment === this.anchorObjectHorizontalAlignment
                && anchoredRun.anchorInfo.verticalPositionAlignment === this.anchorObjectVerticalAlignment
                && anchoredRun.anchorInfo.horizontalPositionType === this.anchorObjectHorizontalPositionType
                && anchoredRun.anchorInfo.verticalPositionType === this.anchorObjectVerticalPositionType)
                value = true;
        }
        return value;
    }
    canModify() {
        return true;
    }
    isEnabled() {
        const specialRunInfo = this.selection.specialRunInfo;
        return super.isEnabled() && specialRunInfo.isSelected() && specialRunInfo.isSelectedAnchorObject &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(specialRunInfo.getPosition(), 1)]);
    }
    executeCore(_state, _parameter) {
        let modelManipulator = this.modelManipulator;
        let specialRunInfo = this.selection.specialRunInfo;
        let subDocument = specialRunInfo.getParentSubDocument();
        let run = subDocument.getRunByPosition(specialRunInfo.getPosition());
        let anchoredRun = run.getType() == run_type/* RunType */.m.AnchoredPictureRun ? run : run;
        if (anchoredRun.anchorInfo.horizontalPositionAlignment !== this.anchorObjectHorizontalAlignment || anchoredRun.anchorInfo.verticalPositionAlignment !== this.anchorObjectVerticalAlignment) {
            this.history.beginTransaction();
            this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(specialRunInfo.getPosition(), 1)), this.anchorObjectHorizontalAlignment, modelManipulator.floatingObject.anchorInfo.horizontalPositionAlignment));
            this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(specialRunInfo.getPosition(), 1)), this.anchorObjectVerticalAlignment, modelManipulator.floatingObject.anchorInfo.verticalPositionAlignment));
            this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(specialRunInfo.getPosition(), 1)), this.anchorObjectHorizontalPositionType, modelManipulator.floatingObject.anchorInfo.horizontalPositionType));
            this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(specialRunInfo.getPosition(), 1)), this.anchorObjectVerticalPositionType, modelManipulator.floatingObject.anchorInfo.verticalPositionType));
            this.history.endTransaction();
        }
        return true;
    }
}
class SetFloatingObjectTopLeftAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Left;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Top;
    }
}
class SetFloatingObjectTopCenterAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Center;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Top;
    }
}
class SetFloatingObjectTopRightAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Right;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Top;
    }
}
class SetFloatingObjectMiddleLeftAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Left;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Center;
    }
}
class SetFloatingObjectMiddleCenterAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Center;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Center;
    }
}
class SetFloatingObjectMiddleRightAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Right;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Center;
    }
}
class SetFloatingObjectBottomLeftAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Left;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Bottom;
    }
}
class SetFloatingObjectBottomCenterAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Center;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Bottom;
    }
}
class SetFloatingObjectBottomRightAlignmentCommand extends SetFloatingObjectAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectHorizontalAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Right;
        this.anchorObjectVerticalAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Bottom;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/floating-objects/set-floating-object-text-wrap-type-command.ts






class SetFloatingObjectTextWrapTypeCommandBase extends command_base/* CommandBase */.eK {
    constructor() {
        super(...arguments);
        this.isBehindDoc = false;
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectSquareTextWrapType]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectTightTextWrapType]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectThroughTextWrapType]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectTopAndBottomTextWrapType]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectBehindTextWrapType]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectInFrontOfTextWrapType]: true,
            [client_command/* RichEditClientCommand */.f.SetFloatingObjectInlineTextWrapType]: true
        };
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.getStateValue());
    }
    getStateValue() {
        let value = false;
        if (this.isEnabled()) {
            const specialRunInfo = this.selection.specialRunInfo;
            let anchoredRun = specialRunInfo.getParentSubDocument()
                .getRunByPosition(specialRunInfo.getPosition());
            if (anchoredRun && anchoredRun.anchorInfo && anchoredRun.anchorInfo.wrapType === this.anchorObjectTextWrapType &&
                anchoredRun.anchorInfo.isBehindDoc === this.isBehindDoc)
                value = true;
        }
        return value;
    }
    canModify() {
        return true;
    }
    isEnabled() {
        return super.isEnabled() && this.isEnabledCore() &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(this.selection.specialRunInfo.getPosition(), 1)]);
    }
    isEnabledCore() {
        return this.selection.specialRunInfo.isSelected();
    }
    executeCore(_state, _parameter) {
        const specialRunInfo = this.selection.specialRunInfo;
        const subDocument = specialRunInfo.getParentSubDocument();
        const position = specialRunInfo.getPosition();
        this.modelManipulator.picture.setFloatingObjectTextWrapType(subDocument, position, this.inputPosition.charPropsBundle, this.isBehindDoc, this.anchorObjectTextWrapType);
        return true;
    }
}
class SetFloatingObjectSquareTextWrapTypeCommand extends SetFloatingObjectTextWrapTypeCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectTextWrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.Square;
    }
}
class SetFloatingObjectTightTextWrapTypeCommand extends SetFloatingObjectTextWrapTypeCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectTextWrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.Tight;
    }
}
class SetFloatingObjectThroughTextWrapTypeCommand extends SetFloatingObjectTextWrapTypeCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectTextWrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.Through;
    }
}
class SetFloatingObjectTopAndBottomTextWrapTypeCommand extends SetFloatingObjectTextWrapTypeCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectTextWrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.TopAndBottom;
    }
}
class SetFloatingObjectInFrontOfTextWrapTypeCommand extends SetFloatingObjectTextWrapTypeCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectTextWrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.None;
    }
}
class SetFloatingObjectBehindTextWrapTypeCommand extends SetFloatingObjectTextWrapTypeCommandBase {
    constructor() {
        super(...arguments);
        this.anchorObjectTextWrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.None;
        this.isBehindDoc = true;
    }
}
class SetFloatingObjectInlineTextWrapTypeCommand extends SetFloatingObjectTextWrapTypeCommandBase {
    getStateValue() {
        let value = false;
        if (this.isEnabled()) {
            let run = this.selection.activeSubDocument.getRunByPosition(this.selection.specialRunInfo.getPicturePosition());
            if (run.getType() === run_type/* RunType */.m.InlinePictureRun)
                value = true;
        }
        return value;
    }
    isEnabledCore() {
        return this.selection.specialRunInfo.isPictureSelected();
    }
    executeCore(_state, _options) {
        this.modelManipulator.picture.setFloatingObjectInlineTextWrapType(this.selection.activeSubDocument, this.selection.specialRunInfo.getPicturePosition(), this.inputPosition.charPropsBundle);
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/commands/header-footer/header-footer-command-base.ts
var header_footer_command_base = __webpack_require__(8417);
;// CONCATENATED MODULE: ./src/common/commands/header-footer/close-header-footer-command.ts


class CloseHeaderFooterCommand extends header_footer_command_base/* HeaderFooterCommandBase */.$ {
    executeCore(_state, _options) {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain)
            .execute(this.control.commandManager.isPublicApiCall);
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/header-footer/context-item-headers-footers.ts


class ContextItemHeadersFooters extends command_base/* CommandBase */.eK {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.control.innerClientProperties.viewsSettings.isPrintLayoutView, false);
        state.visible = this.selection.activeSubDocument.isHeaderFooter();
        return state;
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-page.ts + 3 modules
var layout_page = __webpack_require__(484);
// EXTERNAL MODULE: ./src/common/model/history/items/section-properties-history-items.ts
var section_properties_history_items = __webpack_require__(7329);
// EXTERNAL MODULE: ./src/common/model/section/header-footer.ts
var header_footer = __webpack_require__(4504);
// EXTERNAL MODULE: ./src/common/commands/sub-document/change-active-sub-document-command.ts
var change_active_sub_document_command = __webpack_require__(6456);
;// CONCATENATED MODULE: ./src/common/commands/header-footer/different-first-odd-even-page-header-footer-command.ts









class DifferentFirstPageAndOddEvenHeaderFooterCommandBase extends header_footer_command_base/* HeaderFooterCommandBase */.$ {
    DEPRECATEDConvertOptionsParameter(parameter) {
        return typeof parameter === 'boolean' ? parameter : !this.getValue();
    }
    executeCore(state, options) {
        const pageIndex = this.selection.pageIndex;
        const sectionIndex = this.getSectionIndex(pageIndex);
        const section = this.control.modelManager.model.sections[sectionIndex];
        const activeSubDoc = this.selection.activeSubDocument;
        const isHeader = activeSubDoc.isHeader();
        const sectionHeadersFooters = header_footer_command_base/* HeaderFooterCommandBase */.$.getSectionHeadersFooters(isHeader, section);
        let newValue = options.param;
        if (newValue === state.value)
            return false;
        this.history.beginTransaction();
        const page = this.control.layoutFormatterManager.forceFormatPage(pageIndex);
        const isFirstPageOfSection = page.flags.get(layout_page/* LayoutPageFlags */.m3.IsFirstPageOfSection);
        this.changeSectionProperty(section, newValue);
        const headerFooterType = header_footer/* SectionHeadersFooters */.QC.getActualObjectType(section, isFirstPageOfSection, (0,common.isEven)(page.layoutPageIndex));
        let info = sectionHeadersFooters.getObject(headerFooterType);
        if (!info) {
            const manipulator = this.control.modelManager.modelManipulator.header.getHeaderFooterManipulator(isHeader);
            manipulator.changeObjectIndex(sectionIndex, headerFooterType, manipulator.createObject(headerFooterType));
            info = sectionHeadersFooters.getObject(headerFooterType);
        }
        if (!this.control.layout.isFullyFormatted)
            this.control.layoutFormatterManager.formatSyncAllDocument();
        if (!this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex).execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, pageIndex, isHeader)))
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex).execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, this.control.layout.pages.length - 1, isHeader));
        this.history.endTransaction();
        return true;
    }
}
class DifferentFirstPageHeaderFooterCommand extends DifferentFirstPageAndOddEvenHeaderFooterCommandBase {
    getValue() {
        return this.control.modelManager.model.sections[this.getSectionIndex(this.selection.pageIndex)].sectionProperties.differentFirstPage;
    }
    changeSectionProperty(section, newValue) {
        this.history.addAndRedo(new section_properties_history_items/* SectionDifferentFirstPageHistoryItem */.Wf(this.modelManipulator, new fixed.FixedInterval(section.startLogPosition.value, section.getLength()), newValue));
    }
}
class DifferentOddEvenHeaderFooterCommand extends DifferentFirstPageAndOddEvenHeaderFooterCommandBase {
    getValue() {
        return this.control.modelManager.model.differentOddAndEvenPages;
    }
    changeSectionProperty(_section, newValue) {
        this.history.addAndRedo(new document_properties_history_items/* DifferentOddAndEvenPagesHistoryItem */.dr(this.modelManipulator, newValue));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/header-footer/go-to-header-footer-command.ts



class GoToHeaderFooterCommandBase extends header_footer_command_base/* HeaderFooterCommandBase */.$ {
    executeCore(_state, _options) {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
            .execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, this.selection.pageIndex, this.selection.activeSubDocument.isFooter()));
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class GoToHeaderCommand extends GoToHeaderFooterCommandBase {
    isEnabled() {
        return super.isEnabled() && this.selection.activeSubDocument.isFooter();
    }
}
class GoToFooterCommand extends GoToHeaderFooterCommandBase {
    isEnabled() {
        return super.isEnabled() && this.selection.activeSubDocument.isHeader();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/header-footer/go-to-prev-next-header-footer-command.ts



class GoToNextPrevHeaderFooterCommandBase extends header_footer_command_base/* HeaderFooterCommandBase */.$ {
    executeCore(_state, _options) {
        const selection = this.selection;
        let pageIndex = this.moveFunction(selection.pageIndex);
        const activeSubDocument = this.selection.activeSubDocument;
        const isHeader = activeSubDocument.isHeader();
        for (let layoutPage; layoutPage = this.control.layoutFormatterManager.forceFormatPage(pageIndex); pageIndex = this.moveFunction(pageIndex)) {
            const pageArea = isHeader ?
                layoutPage.getLayoutOtherPageAreasInfo().headerPageArea :
                layoutPage.getLayoutOtherPageAreasInfo().footerPageArea;
            if (pageArea && pageArea.subDocument != activeSubDocument)
                return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
                    .execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, pageIndex, isHeader));
        }
        return false;
    }
}
class GoToNextHeaderFooterCommand extends GoToNextPrevHeaderFooterCommandBase {
    moveFunction(pageIndex) {
        return ++pageIndex;
    }
}
class GoToPreviousHeaderFooterCommand extends GoToNextPrevHeaderFooterCommandBase {
    moveFunction(pageIndex) {
        return --pageIndex;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/header-footer/insert-header-footer-commands.ts








class InsertHeaderFooterCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    isEnabled() {
        return super.isEnabled() &&
            control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.sections) &&
            control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.headersFooters) &&
            this.control.innerClientProperties.viewsSettings.isPrintLayoutView &&
            this.selection.activeSubDocument.isMain();
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        if ((0,common.isNumber)(parameter))
            return parameter;
        const subDocument = this.selection.activeSubDocument;
        const cursorPos = layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, this.selection.lastSelectedInterval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        return cursorPos.pageIndex;
    }
    executeCore(_state, options) {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex).execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, options.param, this.isHeader()));
    }
}
class InsertHeaderCommand extends InsertHeaderFooterCommandBase {
    isHeader() {
        return true;
    }
}
class InsertFooterCommand extends InsertHeaderFooterCommandBase {
    isHeader() {
        return false;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/header-footer-history-items.ts
var header_footer_history_items = __webpack_require__(6942);
// EXTERNAL MODULE: ./src/common/model/section/section.ts
var section = __webpack_require__(9362);
;// CONCATENATED MODULE: ./src/common/commands/header-footer/link-header-footer-commands.ts











class LinkHeaderFooterToPreviousCommand extends header_footer_command_base/* HeaderFooterCommandBase */.$ {
    isEnabled() {
        if (!super.isEnabled())
            return false;
        const page = this.control.layoutFormatterManager.forceFormatPage(this.selection.pageIndex);
        return page && section/* Section */.$.getPageSectionIndex(page, this.control.modelManager.model.sections) > 0;
    }
    getValue() {
        if (!this.isEnabled())
            return null;
        this.isHeader = this.selection.activeSubDocument.isHeader();
        const pageIndex = this.selection.pageIndex;
        const layoutPage = this.control.layoutFormatterManager.forceFormatPage(pageIndex);
        const sections = this.control.modelManager.model.sections;
        const sectionIndex = section/* Section */.$.getPageSectionIndex(layoutPage, sections);
        const headerFooterType = header_footer/* SectionHeadersFooters */.QC.getActualObjectType(sections[sectionIndex], layoutPage.flags.get(layout_page/* LayoutPageFlags */.m3.IsFirstPageOfSection), (0,common.isEven)(layoutPage.layoutPageIndex));
        return header_footer_command_base/* HeaderFooterCommandBase */.$.getSectionHeadersFooters(this.isHeader, sections[sectionIndex]).isLinkedToPrevious(headerFooterType);
    }
    executeCore(state, _options) {
        const layoutPage = this.control.layoutFormatterManager.forceFormatPage(this.selection.pageIndex);
        const sectionIndex = section/* Section */.$.getPageSectionIndex(layoutPage, this.control.modelManager.model.sections);
        const type = this.selection.activeSubDocument.info.headerFooterType;
        this.history.beginTransaction();
        if (state.value)
            this.unlinkFromPrevious(sectionIndex, type);
        else
            this.linkToPrevious(sectionIndex, type);
        this.history.endTransaction();
        return true;
    }
    linkToPrevious(sectionIndex, type) {
        let section = this.control.modelManager.model.sections[sectionIndex];
        this.performLinkSectionToPrevious(sectionIndex, type, (previousSectionIndex) => {
            let previousSection = section.documentModel.sections[previousSectionIndex];
            let prevObjectIndex = header_footer_command_base/* HeaderFooterCommandBase */.$.getSectionHeadersFooters(this.isHeader, previousSection).getObjectIndex(type);
            if (prevObjectIndex === -1) {
                prevObjectIndex = this.control.modelManager.modelManipulator.header.getHeaderFooterManipulator(this.isHeader).createObject(type);
                this.history.addAndRedo(this.createChangeObjectIndexHistoryItem(previousSectionIndex, type, prevObjectIndex));
            }
            this.history.addAndRedo(this.createChangeObjectIndexHistoryItem(sectionIndex, type, prevObjectIndex));
            if (!this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
                .execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, this.selection.pageIndex, this.isHeader)))
                this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterBySubDocument)
                    .execute(this.control.commandManager.isPublicApiCall, header_footer_command_base/* HeaderFooterCommandBase */.$.getObjectsCache(this.isHeader, this.control)[prevObjectIndex].getSubDocument(this.control.modelManager.model));
        });
    }
    unlinkFromPrevious(sectionIndex, type) {
        let section = this.control.modelManager.model.sections[sectionIndex];
        this.performLinkSectionToPrevious(sectionIndex, type, (previousSectionIndex) => {
            let previousSection = section.documentModel.sections[previousSectionIndex];
            let previousObject = header_footer_command_base/* HeaderFooterCommandBase */.$.getSectionHeadersFooters(this.isHeader, previousSection).getObject(type);
            let endPosition = previousObject.getEndPosition(section.documentModel);
            let previousObjectCopyInfo = endPosition > 1 ?
                create_range_copy_operation/* RangeCopy */.H.create(new sub_document/* SubDocumentIntervals */.Jt(previousObject.getSubDocument(section.documentModel), [new fixed.FixedInterval(0, endPosition - 1)])) :
                null;
            let newObjectIndex = this.control.modelManager.modelManipulator.header.getHeaderFooterManipulator(this.isHeader).createObject(type);
            let newObject = header_footer_command_base/* HeaderFooterCommandBase */.$.getObjectsCache(this.isHeader, this.control)[newObjectIndex];
            let newObjectSubDocument = newObject.getSubDocument(this.control.modelManager.model);
            this.history.addAndRedo(this.createChangeObjectIndexHistoryItem(sectionIndex, type, newObjectIndex));
            if (previousObjectCopyInfo) {
                this.history.beginTransaction();
                this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(newObjectSubDocument, fixed.FixedInterval.fromPositions(0, newObjectSubDocument.getDocumentEndPosition())), true, true);
                previousObjectCopyInfo.insertTo(this.modelManipulator, new sub_document/* SubDocumentPosition */.rg(newObjectSubDocument, 0));
                this.history.endTransaction();
            }
            if (!this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex).execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, this.selection.pageIndex, this.isHeader)))
                this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterBySubDocument).execute(this.control.commandManager.isPublicApiCall, newObject.getSubDocument(this.control.modelManager.model));
        });
    }
    performLinkSectionToPrevious(sectionIndex, type, linkAction) {
        let nextSection = this.control.modelManager.model.sections[sectionIndex + 1];
        let section = this.control.modelManager.model.sections[sectionIndex];
        let shouldRelinkNextSection = nextSection && this.areSectionsLinked(section, nextSection, type);
        linkAction(sectionIndex - 1);
        if (shouldRelinkNextSection)
            this.linkToPrevious(sectionIndex + 1, type);
    }
    areSectionsLinked(section1, section2, type) {
        return header_footer_command_base/* HeaderFooterCommandBase */.$.getSectionHeadersFooters(this.isHeader, section2).getObject(type) ===
            header_footer_command_base/* HeaderFooterCommandBase */.$.getSectionHeadersFooters(this.isHeader, section1).getObject(type);
    }
    createChangeObjectIndexHistoryItem(sectionIndex, type, newIndex) {
        return new (this.isHeader ? header_footer_history_items/* ChangeHeaderIndexHistoryItem */.uA : header_footer_history_items/* ChangeFooterIndexHistoryItem */.ru)(this.modelManipulator, sectionIndex, type, newIndex, (oldIndex) => {
            if (this.control.selection.activeSubDocument.isHeaderFooter() && oldIndex == -1)
                this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain)
                    .execute(this.control.commandManager.isPublicApiCall);
        });
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/apply-style-history-items.ts
var apply_style_history_items = __webpack_require__(8189);
// EXTERNAL MODULE: ./src/common/model/history/items/character-properties-history-items.ts
var character_properties_history_items = __webpack_require__(398);
// EXTERNAL MODULE: ./src/common/model/history/items/create-style-link-history-item.ts
var create_style_link_history_item = __webpack_require__(4499);
// EXTERNAL MODULE: ./src/common/model/history/items/numbering-list-history-items.ts
var numbering_list_history_items = __webpack_require__(699);
// EXTERNAL MODULE: ./src/common/model/styles-manager.ts + 1 modules
var styles_manager = __webpack_require__(396);
;// CONCATENATED MODULE: ./src/common/commands/layout/apply-style-command.ts















class ApplyStyleCommand extends command_base/* CommandBase */.eK {
    getState() {
        var interval = this.selection.lastSelectedInterval.clone();
        var commonParagraphStyle;
        var commonCharacterStyle;
        if (interval.length === 0)
            commonCharacterStyle = this.inputPosition.getCharacterStyle();
        if (!commonCharacterStyle || commonCharacterStyle.isDefault) {
            var runs = this.selection.activeSubDocument.getRunsByInterval(interval);
            var commonParagraphStyle = runs[0].paragraph.paragraphStyle;
            var commonCharacterStyle = runs[0].characterStyle;
            for (var i = 1, run; run = runs[i]; i++) {
                if (commonCharacterStyle && run.characterStyle !== commonCharacterStyle)
                    commonCharacterStyle = null;
                if (commonParagraphStyle && run.paragraph.paragraphStyle !== commonParagraphStyle)
                    commonParagraphStyle = null;
                if (!commonParagraphStyle && !commonCharacterStyle)
                    break;
            }
        }
        var styleNameWithPrefix = "";
        if (commonCharacterStyle && commonCharacterStyle.linkedStyle)
            styleNameWithPrefix = styles_manager/* StylesManager */.D.paragraphPrefix + this.getStyleName(commonCharacterStyle.linkedStyle);
        else if (commonCharacterStyle && !commonCharacterStyle.isDefault)
            styleNameWithPrefix = styles_manager/* StylesManager */.D.characterPrefix + this.getStyleName(commonCharacterStyle);
        else if (commonParagraphStyle && !commonParagraphStyle.isDefault)
            styleNameWithPrefix = styles_manager/* StylesManager */.D.paragraphPrefix + this.getStyleName(commonParagraphStyle);
        else
            styleNameWithPrefix = styles_manager/* StylesManager */.D.paragraphPrefix + this.getStyleName(this.control.modelManager.model.getDefaultParagraphStyle());
        var state = new command_states/* ApplyStyleCommandState */.BA(this.isEnabled(), this.selection.activeSubDocument.isEditable(this.getIntervalsForModifying()), this.selection.activeSubDocument.isEditable(super.getIntervalsForModifying()), interval, styleNameWithPrefix);
        state.items = this.control.modelManager.model.stylesManager.characterAndParagraphStyleGalleryItems;
        return state;
    }
    getStyleName(style) {
        return style.styleName;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return typeof parameter === 'string' ? { styleName: parameter } : parameter;
    }
    executeCore(state, options) {
        const parameter = options.param;
        if (string.StringUtils.isNullOrEmpty(parameter.styleName))
            return false;
        const subDocumentInterval = new sub_document/* SubDocumentInterval */.v8(options.subDocument, state.interval.clone());
        let executed = true;
        let isPresetStyle = false;
        this.history.beginTransaction();
        if (styles_manager/* StylesManager */.D.isParagraphStyle(parameter.styleName) && state.paragraphStyleChangeEnabled) {
            const styleName = styles_manager/* StylesManager */.D.getStyleNameWithoutPrefix(parameter.styleName);
            let paragraphStyle = this.control.modelManager.model.getParagraphStyleByName(styleName);
            if (!paragraphStyle) {
                const presetStyle = styles_manager/* StylesManager */.D.getPresetParagraphStyleByName(styleName);
                if (!presetStyle)
                    return false;
                paragraphStyle = styles_manager/* StylesManager */.D.getPresetParagraphStyleByName(styleName).clone();
                isPresetStyle = true;
            }
            this.applyParagraphStyle(subDocumentInterval, paragraphStyle, isPresetStyle, parameter.keepDirectFormatting);
        }
        else if (!styles_manager/* StylesManager */.D.isParagraphStyle(parameter.styleName) && state.characterStyleChangeEnabled) {
            const styleName = styles_manager/* StylesManager */.D.getStyleNameWithoutPrefix(parameter.styleName);
            if (subDocumentInterval.interval.length == 0)
                subDocumentInterval.interval = options.subDocument.getWholeWordInterval(subDocumentInterval.interval.start);
            let characterStyle = this.control.modelManager.model.getCharacterStyleByName(styleName);
            if (!characterStyle) {
                const presetStyle = styles_manager/* StylesManager */.D.getPresetCharacterStyleByName(styleName);
                if (!presetStyle)
                    return false;
                characterStyle = presetStyle.clone();
                isPresetStyle = true;
            }
            if (subDocumentInterval.interval.length == 0) {
                if (isPresetStyle) {
                    const fontInfo = characterStyle.maskedCharacterProperties.fontInfo;
                    if (fontInfo && fontInfo.measurer === undefined)
                        characterStyle.maskedCharacterProperties.fontInfo = this.control.modelManager.model.cache.fontInfoCache.getItemByName(fontInfo.name);
                }
                this.inputPosition.setCharacterStyle(characterStyle);
                executed = false;
            }
            else
                this.applyCharacterStyle(subDocumentInterval, characterStyle, isPresetStyle);
        }
        this.history.endTransaction();
        return executed;
    }
    applyCharacterStyle(subDocumentInterval, style, isPresetStyle) {
        if (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterStyle)) {
            const characterStyle = isPresetStyle ? this.control.modelManager.model.stylesManager.addCharacterStyle(style) : style;
            this.modelManipulator.style.applyCharacterStyle(subDocumentInterval, characterStyle, false);
        }
    }
    applyParagraphStyle(subDocumentInterval, style, isPresetStyle, keepDirectFormatting = false) {
        const count = this.calculateAffectedParagraphCount(subDocumentInterval);
        if (count > 0 && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphStyle)) {
            const { interval, subDocument } = subDocumentInterval;
            const paragraphs = subDocument.paragraphs;
            const paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(paragraphs, p => p.startLogPosition.value, interval.start);
            for (let i = 0; i < count; i++) {
                const paragraph = paragraphs[paragraphIndex + i];
                const modelManipulator = this.modelManipulator;
                const paragraphSubDocumentInterval = new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval);
                style = isPresetStyle ? modelManipulator.model.stylesManager.addParagraphStyle(style) : style;
                this.history.addAndRedo(new apply_style_history_items/* ApplyParagraphStyleHistoryItem */.j3(modelManipulator, paragraphSubDocumentInterval, style));
                this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphUseValueHistoryItem */.L7(modelManipulator, paragraphSubDocumentInterval, 0));
                if (!keepDirectFormatting)
                    this.history.addAndRedo(new character_properties_history_items/* FontUseValueHistoryItem */._W(modelManipulator, paragraphSubDocumentInterval, 0));
                this.history.addAndRedo(new numbering_list_history_items/* AddParagraphToListHistoryItem */.ap(modelManipulator, subDocument, paragraphIndex, numbering_list/* NumberingList */.K6.NumberingListNotSettedIndex, -1));
            }
        }
        else
            this.applyParagraphLinkedStyle(subDocumentInterval, style, isPresetStyle);
    }
    applyParagraphLinkedStyle(subDocumentInterval, style, isPresetStyle) {
        if (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterStyle)) {
            if (!style.linkedStyle)
                this.addLinkedCharacterStyle(style);
            this.applyCharacterStyle(subDocumentInterval, style.linkedStyle, isPresetStyle);
        }
    }
    addLinkedCharacterStyle(paragraphStyle) {
        const style = new character_style/* CharacterStyle */.H(paragraphStyle.styleName + " Char", paragraphStyle.localizedName + " Char", false, false, false, false, paragraphStyle.maskedCharacterProperties);
        this.history.addAndRedo(new create_style_link_history_item/* CreateStyleLinkHistoryItem */.$(this.modelManipulator, style, paragraphStyle));
    }
    calculateAffectedParagraphCount(subDocumentInterval) {
        const { interval, subDocument } = subDocumentInterval;
        const paragraphs = subDocument.getParagraphsByInterval(interval);
        if (paragraphs.length > 1)
            return paragraphs.length;
        const paragraph = paragraphs[0];
        const lastParagraphCharSelected = interval.length >= paragraph.length - 1;
        if (interval.start === paragraph.startLogPosition.value && lastParagraphCharSelected || interval.length === 0)
            return 1;
        return 0;
    }
    isEnabled() {
        return super.isEnabled() && (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterStyle) || control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphStyle));
    }
    canModify() {
        return this.selection.activeSubDocument.isEditable(this.getIntervalsForModifying()) || this.selection.activeSubDocument.isEditable(super.getIntervalsForModifying());
    }
    getIntervalsForModifying() {
        return rich_utils/* RichUtils */.i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/layout/clear-formatting-command.ts









class ClearFormattingCommand extends command_base/* CommandBase */.eK {
    getActualIntervals() {
        if (this.selection.isCollapsed())
            return [this.selection.activeSubDocument.getWholeWordInterval(this.selection.intervals[0].start)];
        return utils_list.ListUtils.deepCopy(this.selection.intervalsInfo.intervals);
    }
    getState() {
        return new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), this.getActualIntervals());
    }
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.intervals = this.getActualIntervals();
    }
    executeCore(_state, options) {
        const modelManipulator = this.modelManipulator;
        const model = modelManipulator.model;
        const subDocument = options.subDocument;
        this.history.beginTransaction();
        const defaultCharProperties = model.defaultCharacterProperties;
        if (options.intervalsInfo.intervals.length > 0) {
            for (let i = 0, interval; interval = options.intervalsInfo.intervals[i]; i++) {
                if (interval.length > 0) {
                    this.history.addAndRedo(new apply_style_history_items/* ApplyCharacterStyleHistoryItem */.L9(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), model.getDefaultCharacterStyle(), true));
                    this.history.addAndRedo(new character_properties_history_items/* FontBoldHistoryItem */.xm(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.fontBold, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontCapsHistoryItem */.C1(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.allCaps, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontSmallCapsHistoryItem */.wd(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.smallCaps, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontUnderlineTypeHistoryItem */.A4(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.fontUnderlineType, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontTextColorHistoryItem */.Ht(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.textColor, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontShadingInfoHistoryItem */.i5(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.shadingInfo, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontHighlightColorHistoryItem */.O7(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.highlightColor, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontHiddenHistoryItem */.Ne(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.hidden, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontItalicHistoryItem */.HL(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.fontItalic, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontNameHistoryItem */.Qr(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.fontInfo, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontScriptHistoryItem */.jo(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.script, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontSizeHistoryItem */.n5(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.fontSize, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontStrikeoutTypeHistoryItem */.at(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.fontStrikeoutType, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontUnderlineColorHistoryItem */.lN(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.underlineColor, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontUnderlineWordsOnlyHistoryItem */.Yr(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.underlineWordsOnly, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontStrikeoutWordsOnlyHistoryItem */.cz(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.strikeoutWordsOnly, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontStrikeoutColorHistoryItem */.L6(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.strikeoutColor, false));
                    this.history.addAndRedo(new character_properties_history_items/* FontNoProofHistoryItem */.zI(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultCharProperties.noProof, false));
                }
            }
        }
        const paragraphIndices = this.control.selection.activeSubDocument.getParagraphIndicesByIntervals(options.intervalsInfo.intervals);
        for (let i = paragraphIndices.length - 1; i >= 0; i--) {
            if (!this.control.selection.activeSubDocument.isEditable([this.control.selection.activeSubDocument.paragraphs[i].interval]))
                continue;
            let paragraph = subDocument.paragraphs[paragraphIndices[i]];
            let interval = paragraph.interval;
            paragraph.onParagraphPropertiesChanged();
            this.history.addAndRedo(new apply_style_history_items/* ApplyParagraphStyleHistoryItem */.j3(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), model.getDefaultParagraphStyle()));
            const defaultParProperties = model.defaultParagraphProperties;
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphAlignmentHistoryItem */.n$(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.alignment, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphContextualSpacingHistoryItem */.mk(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.contextualSpacing, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphAfterAutoSpacingHistoryItem */.TI(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.afterAutoSpacing, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphShadingInfoIndexHistoryItem */.rM(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.shadingInfo, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphBeforeAutoSpacingHistoryItem */.OO(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.beforeAutoSpacing, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.firstLineIndent, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.firstLineIndentType, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphKeepLinesTogetherHistoryItem */.v_(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.keepLinesTogether, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.leftIndent, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLineSpacingHistoryItem */.qW(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.lineSpacing, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLineSpacingTypeHistoryItem */.DR(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.lineSpacingType, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphOutlineLevelHistoryItem */.xt(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.outlineLevel, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphPageBreakBeforeHistoryItem */.q0(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.pageBreakBefore, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphRightIndentHistoryItem */.AW(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.rightIndent, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphSpacingAfterHistoryItem */.Ou(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.spacingAfter, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphSpacingBeforeHistoryItem */.Wl(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.spacingBefore, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphSuppressHyphenationHistoryItem */.Wz(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.suppressHyphenation, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphSuppressLineNumbersHistoryItem */.G9(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.suppressLineNumbers, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphWidowOrphanControlHistoryItem */.gJ(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.widowOrphanControl, false));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphDivIdHistoryItem */.ZG(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), defaultParProperties.divId, false));
        }
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteNumerationFromParagraphs).execute(this.control.commandManager.isPublicApiCall);
        this.history.endTransaction();
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterFormatting);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/layout/switch-view-command.ts





class ChangeViewTypeCommand extends command_base/* CommandBase */.eK {
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SwitchToSimpleView]: true,
            [client_command/* RichEditClientCommand */.f.SwitchToPrintLayoutView]: true,
            [client_command/* RichEditClientCommand */.f.ChangeViewType]: true,
            [client_command/* RichEditClientCommand */.f.ToggleShowHorizontalRuler]: true
        };
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    executeCore(_state, options) {
        if (this.control.innerClientProperties.viewsSettings.viewType != options.param) {
            if (this.selection.activeSubDocument.isHeaderFooter())
                this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain)
                    .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandOptions */.dg(this.control));
            this.control.innerClientProperties.viewsSettings.viewType = options.param;
            this.control.onViewTypeChanged();
            this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byModelPosition(this.selection)
                .setModelPosition(this.selection.lastSelectedInterval.start).useStdRelativePosition().useStdOffset());
            this.control.barHolder.forceUpdate({});
            return true;
        }
        return false;
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.control.innerClientProperties.viewsSettings.viewType);
    }
    updateControlState() {
        this.control.viewManager.adjust(true);
        super.updateControlState();
    }
}
class SwitchToPrintLayoutViewCommand extends ChangeViewTypeCommand {
    DEPRECATEDConvertOptionsParameter(_parameter) {
        return views_settings/* ViewType */.bW.PrintLayout;
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.control.innerClientProperties.viewsSettings.isPrintLayoutView);
    }
}
class SwitchToSimpleViewCommand extends ChangeViewTypeCommand {
    DEPRECATEDConvertOptionsParameter(_parameter) {
        return views_settings/* ViewType */.bW.Simple;
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.control.innerClientProperties.viewsSettings.isSimpleView);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/layout/toggle-full-screen-command.ts



class ToggleFullScreenCommand extends command_base/* CommandBase */.eK {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.value = this.control.owner.isInFullScreenMode;
        return state;
    }
    executeCore(_state, options) {
        if (options.param == this.control.owner.isInFullScreenMode)
            return false;
        this.control.owner.toggleFullScreenMode();
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.fullScreen);
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/layout/toggle-show-hidden-symbols-command.ts



class ToggleShowHiddenSymbolsCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.control.innerClientProperties.showHiddenSymbols);
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return typeof parameter === 'boolean' ? parameter : !this.control.innerClientProperties.showHiddenSymbols;
    }
    executeCore(_state, options) {
        let newValue = options.param;
        if (newValue !== this.control.innerClientProperties.showHiddenSymbols) {
            this.control.innerClientProperties.showHiddenSymbols = newValue;
            const topInfo = this.control.viewManager.canvasManager.getScrollTopInfo();
            this.control.layoutFormatterManager.invalidator.onChangedAllLayout();
            this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byScrollInfo.setPageInfo(topInfo));
            return true;
        }
        return false;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/layout/toggle-show-table-grid-lines-command.ts



class ToggleShowTableGridLinesCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.control.innerClientProperties.showTableGridLines);
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return typeof parameter === 'boolean' ? parameter : !this.control.innerClientProperties.showTableGridLines;
    }
    executeCore(_state, options) {
        if (options.param !== this.control.innerClientProperties.showTableGridLines) {
            this.control.innerClientProperties.showTableGridLines = options.param;
            this.control.layoutFormatterManager.invalidator.onChangedAllLayout();
            return true;
        }
        return false;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/list-level-paragraph-properties-history-items.ts
var list_level_paragraph_properties_history_items = __webpack_require__(6399);
;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/paragraph-indent-command-base.ts






class ParagraphIndentCommandBase extends command_base/* CommandBase */.eK {
    getState(options = this.convertToCommandOptions(undefined)) {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(options));
    }
    isEnabled(_options) {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphFormatting);
    }
    getIntervalsForModifying() {
        return rich_utils/* RichUtils */.i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
    getTabs(paragraphIndices, subDocument) {
        let endParagraphIndex = paragraphIndices[paragraphIndices.length - 1];
        let startParagraphIndex = paragraphIndices[0];
        let firstParagraph = subDocument.paragraphs[startParagraphIndex];
        let tabsInfo = firstParagraph.getTabs();
        let result = [];
        for (var i = 0, tabInfo; tabInfo = tabsInfo.positions[i]; i++) {
            result.push(tabInfo.position);
        }
        result.push(tabsInfo.defaultTabStop);
        if (paragraphIndices[0] === 0 && paragraphIndices.length === 1)
            result = result.concat(this.getParagraphTabs(firstParagraph));
        else {
            if (paragraphIndices[0] > 0)
                result = result.concat(this.getParagraphTabs(subDocument.paragraphs[startParagraphIndex - 1]));
            if (endParagraphIndex < subDocument.paragraphs.length - 1)
                result = result.concat(this.getParagraphTabs(subDocument.paragraphs[endParagraphIndex + 1]));
        }
        result.sort(comparers.Comparers.number);
        return result;
    }
    getNearRightDefaultTab(leftIndent) {
        var defTabWidth = this.control.modelManager.model.defaultTabWidth;
        return Math.floor((leftIndent / defTabWidth) + 1) * defTabWidth;
    }
    getNearLeftDefaultTab(leftIndent) {
        var defTabWidth = this.control.modelManager.model.defaultTabWidth;
        var nearestLeftDefaultTab = Math.floor(leftIndent / defTabWidth);
        if (nearestLeftDefaultTab > 0) {
            if (leftIndent % defTabWidth != 0)
                return nearestLeftDefaultTab * defTabWidth;
            else
                return (nearestLeftDefaultTab - 1) * defTabWidth;
        }
        return nearestLeftDefaultTab;
    }
    getNearRightTab(leftIndent, tabs) {
        for (var i = 0; i < tabs.length; i++) {
            if (leftIndent < tabs[i])
                return tabs[i];
        }
        return leftIndent;
    }
    getNearLeftTab(leftIndent, tabs) {
        for (var i = tabs.length - 1; i >= 0; i--) {
            if (leftIndent > tabs[i])
                return tabs[i];
        }
        return leftIndent;
    }
    getParagraphTabs(paragraph) {
        var result = [];
        var mergedProperties = paragraph.getParagraphMergedProperties();
        result.push(mergedProperties.leftIndent);
        if (mergedProperties.firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging)
            result.push(mergedProperties.leftIndent - mergedProperties.firstLineIndent);
        else if (mergedProperties.firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented)
            result.push(mergedProperties.leftIndent + mergedProperties.firstLineIndent);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/change-numbering-indent-command.ts





class ChangeNumberingIndentCommandBase extends ParagraphIndentCommandBase {
    getState(options = this.convertToCommandOptions(undefined)) {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(options));
    }
    isEnabled(options) {
        return super.isEnabled(options) && options.subDocument.getParagraphByPosition(options.intervalsInfo.position).isInList();
    }
    executeCore(_state, options) {
        var paragraphIndices = options.subDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        var firstParagraph = options.subDocument.paragraphs[paragraphIndices[0]];
        if (!firstParagraph.isInList())
            return false;
        this.history.beginTransaction();
        if (this.hasPreviousParagraphsInList(paragraphIndices[0], options.subDocument) || firstParagraph.getListLevelIndex() > 0)
            this.changeListLevelIndices(paragraphIndices, options.subDocument);
        else
            this.changeListLevelIndents(paragraphIndices, options.subDocument);
        this.history.endTransaction();
        return true;
    }
    changeListLevelIndices(paragraphIndices, subDocument) {
        var paragraphIndicesLength = paragraphIndices.length;
        for (let i = 0; i < paragraphIndicesLength; i++) {
            var paragraphIndex = paragraphIndices[i];
            var paragraph = subDocument.paragraphs[paragraphIndex];
            var newListLevelIndex = this.getNewListLevelIndex(paragraph);
            if (newListLevelIndex !== paragraph.getListLevelIndex())
                this.history.addAndRedo(new numbering_list_history_items/* AddParagraphToListHistoryItem */.ap(this.modelManipulator, subDocument, paragraphIndex, paragraph.numberingListIndex, newListLevelIndex));
        }
    }
    changeListLevelIndents(paragraphIndices, subDocument) {
        const startParagraph = subDocument.paragraphs[paragraphIndices[0]];
        const tabs = this.getTabs(paragraphIndices, subDocument);
        const abstractNumberingListIndex = startParagraph.getAbstractNumberingListIndex();
        const abstractNumberingList = startParagraph.getAbstractNumberingList();
        const firstLevelProperties = abstractNumberingList.levels[0].getParagraphMergedProperties();
        const currentLeftIndent = this.getLeftIndentPosition(firstLevelProperties.leftIndent, firstLevelProperties.firstLineIndent, firstLevelProperties.firstLineIndentType);
        const nextListLevelIndent = this.getNextListLevelIndent(currentLeftIndent, tabs);
        this.assignNewIndent(abstractNumberingListIndex, nextListLevelIndent);
    }
    assignNewIndent(abstractNumberingListIndex, nextListLevelIndent) {
        var abstractNumberingList = this.control.modelManager.model.abstractNumberingLists[abstractNumberingListIndex];
        var levels = abstractNumberingList.levels;
        var firstLevelProperties = abstractNumberingList.levels[0].getParagraphMergedProperties();
        var delta = this.calculateLeftIndentDelta(nextListLevelIndent, firstLevelProperties.leftIndent, firstLevelProperties.firstLineIndent, firstLevelProperties.firstLineIndentType);
        var levelCount = levels.length;
        for (var i = 0; i < levelCount; i++) {
            var level = levels[i];
            var levelProperties = level.getParagraphMergedProperties();
            var newLeftIndent = levelProperties.leftIndent + delta;
            if (newLeftIndent >= 0) {
                if (levelProperties.firstLineIndentType == paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging) {
                    var firstLineLeftIndent = newLeftIndent - levelProperties.firstLineIndent;
                    if (firstLineLeftIndent < 0)
                        newLeftIndent -= firstLineLeftIndent;
                }
                if (i == 0 && levelProperties.leftIndent == newLeftIndent)
                    break;
                this.history.addAndRedo(new list_level_paragraph_properties_history_items/* ListLevelParagraphLeftIndentHistoryItem */.zn(this.modelManipulator, true, abstractNumberingListIndex, i, newLeftIndent, true));
            }
            else if (i == 0)
                break;
        }
    }
    calculateLeftIndentDelta(nextListLevelIndent, currentLeftIndent, firstLineIndent, firstLineIndentType) {
        return nextListLevelIndent - this.getLeftIndentPosition(currentLeftIndent, firstLineIndent, firstLineIndentType);
    }
    hasPreviousParagraphsInList(paragraphIndex, subDocument) {
        var abstractNumberingListIndex = subDocument.paragraphs[paragraphIndex].getAbstractNumberingListIndex();
        for (var i = paragraphIndex - 1, prevParagraph; prevParagraph = subDocument.paragraphs[i]; i--) {
            if (prevParagraph.getAbstractNumberingListIndex() === abstractNumberingListIndex)
                return true;
        }
        return false;
    }
    getLeftIndentPosition(currentLeftIndent, firstLineIndent, firstLineIndentType) {
        return firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging ? (currentLeftIndent - firstLineIndent) : currentLeftIndent;
    }
}
class IncrementNumberingIndentCommand extends ChangeNumberingIndentCommandBase {
    getNextListLevelIndent(currentLeftIndent, tabs) {
        var nearestRightDefaultTab = this.getNearRightDefaultTab(currentLeftIndent);
        var nearestRightTab = this.getNearRightTab(currentLeftIndent, tabs);
        return (nearestRightDefaultTab < nearestRightTab || nearestRightTab == currentLeftIndent) ? nearestRightDefaultTab : nearestRightTab;
    }
    getNewListLevelIndex(paragraph) {
        return Math.min(7, paragraph.getListLevelIndex() + 1);
    }
}
class DecrementNumberingIndentCommand extends ChangeNumberingIndentCommandBase {
    getNextListLevelIndent(currentLeftIndent, tabs) {
        var nearestLeftDefaultTab = this.getNearLeftDefaultTab(currentLeftIndent);
        var nearestLeftTab = this.getNearLeftTab(currentLeftIndent, tabs);
        return (nearestLeftDefaultTab > nearestLeftTab || nearestLeftTab == currentLeftIndent) ? nearestLeftDefaultTab : nearestLeftTab;
    }
    getNewListLevelIndex(paragraph) {
        return Math.max(0, paragraph.getListLevelIndex() - 1);
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-numbering-list-box.ts
var layout_numbering_list_box = __webpack_require__(3163);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-paragraph-mark-box.ts
var layout_paragraph_mark_box = __webpack_require__(9649);
// EXTERNAL MODULE: ./src/common/model/history/items/list-level-character-properties-history-items.ts
var list_level_character_properties_history_items = __webpack_require__(6369);
// EXTERNAL MODULE: ./src/common/model/history/items/list-level-properties-history-items.ts
var list_level_properties_history_items = __webpack_require__(1259);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-helper.ts
var numbering_helper = __webpack_require__(2156);
;// CONCATENATED MODULE: ./src/common/model/numbering-lists/numbering-list-index-calculator.ts
class NumberingListIndexCalculator {
    constructor(subDocument, targetType, startIndex) {
        this.subDocument = subDocument;
        this.targetType = targetType;
        this.startIndex = startIndex;
    }
    getTargetListInfo(paragraphIndices) {
        if (this.startIndex === 1)
            return null;
        var startParagraphIndex = paragraphIndices[0];
        const startParagraph = this.subDocument.paragraphs[startParagraphIndex];
        var targetParagraph = this.getTargetParagraph(startParagraphIndex);
        if (!targetParagraph && this.hasSameParagraphType(startParagraphIndex + 1))
            targetParagraph = this.subDocument.paragraphs[startParagraphIndex + 1];
        if (targetParagraph) {
            if (startParagraph.isInList() && (startParagraph.getListLevelIndex() != targetParagraph.getListLevelIndex()))
                return null;
            return {
                listIndex: targetParagraph.getNumberingListIndex(),
                listlevelIndex: Math.max(0, targetParagraph.getListLevelIndex())
            };
        }
        return null;
    }
    getTargetParagraph(startParagraphIndex) {
        let hasNonEmptyNotInListParagraphBefore = false;
        let lastListPartIsSingleParagraph = false;
        for (let i = startParagraphIndex - 1; i >= 0; i--) {
            var targetParagraph = this.subDocument.paragraphs[i];
            if (!hasNonEmptyNotInListParagraphBefore)
                hasNonEmptyNotInListParagraphBefore = !targetParagraph.isEmpty && !targetParagraph.isInList();
            if (this.hasSameParagraphType(i)) {
                lastListPartIsSingleParagraph = i <= 0 || !this.hasSameParagraphType(i - 1);
                if (this.startIndex > 1) {
                    if (this.isStartIndexMatch(targetParagraph))
                        return targetParagraph;
                    else
                        return null;
                }
                if (hasNonEmptyNotInListParagraphBefore && !lastListPartIsSingleParagraph)
                    return null;
                return targetParagraph;
            }
        }
        return null;
    }
    isStartIndexMatch(targetParagraph) {
        var listCounters = this.subDocument.documentModel.getRangeListCounters(targetParagraph);
        if (listCounters.length !== 1)
            return false;
        const counter = listCounters[0];
        if (this.startIndex < counter)
            return false;
        if (this.startIndex - counter > 2)
            return false;
        return true;
    }
    hasSameParagraphType(paragraphIndex) {
        var paragraph = this.subDocument.paragraphs[paragraphIndex];
        return paragraph && paragraph.isInList() && paragraph.getNumberingList().getListType() === this.targetType;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/numbering-list-command-base.ts
























class NumberingListCommandBaseBase extends command_base/* CommandBase */.eK {
    getState(options = this.convertToCommandOptions(undefined)) {
        const intervals = utils_list.ListUtils.deepCopy(options.intervalsInfo.intervals);
        return new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), intervals, this.getValue(intervals, options.subDocument));
    }
    getValue(intervals, subDocument) {
        return this.areAllParagraphsHasValidNumberingListType(intervals, subDocument);
    }
    getIntervalsForModifying() {
        return rich_utils/* RichUtils */.i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return (0,common.isNumber)(parameter) ? parameter : -1;
    }
    deleteNumberingList(paragraphIndices, subDocument) {
        numbering_helper/* NumberingHelper */.K.deleteNumberingList(this.control.modelManager, subDocument, paragraphIndices);
    }
    insertNumberingList(paragraphIndices, startIndex, subDocument) {
        var calculator = new NumberingListIndexCalculator(subDocument, this.getNumberingListType(), startIndex === undefined ? -1 : startIndex);
        var targetListInfo = calculator.getTargetListInfo(paragraphIndices);
        var targetListIndex = targetListInfo ? targetListInfo.listIndex : this.createNewList(this.getAbstractNumberingList());
        var targetListLevelIndex = targetListInfo ? targetListInfo.listlevelIndex : -1;
        var paragraphsLayoutPositions = this.getParagraphsLayoutPositions(paragraphIndices, subDocument);
        var paragraphsLevelIndices = this.getParagraphsLevelIndices(paragraphIndices, paragraphsLayoutPositions, !!targetListInfo, targetListIndex, targetListLevelIndex, subDocument);
        this.insertNumberingListCore(paragraphIndices, targetListIndex, paragraphsLevelIndices, paragraphsLayoutPositions, subDocument);
    }
    changeNumberingList(paragraphIndices, subDocument) {
        let paragraph = subDocument.paragraphs[paragraphIndices[0]];
        let numberingListIndex = paragraph.getNumberingListIndex();
        let targetListIndex = this.createNewList(this.getAbstractNumberingList());
        this.assignLevelsIndents(paragraphIndices[0], targetListIndex, subDocument);
        for (let i = 0, paragraph; paragraph = subDocument.paragraphs[i]; i++) {
            if (paragraph.getNumberingListIndex() === numberingListIndex)
                this.history.addAndRedo(new numbering_list_history_items/* AddParagraphToListHistoryItem */.ap(this.modelManipulator, subDocument, i, targetListIndex, paragraph.getListLevelIndex()));
        }
    }
    modifyLevels(paragraphIndices, subDocument) {
        let paragraph = subDocument.paragraphs[paragraphIndices[0]];
        let numberingListIndex = paragraph.getNumberingListIndex();
        const targetListIndex = this.createNewList(this.getAbstractNumberingList());
        const targetList = this.control.modelManager.model.numberingLists[targetListIndex];
        const abstractNumberingListIndex = this.control.modelManager.model.numberingLists[numberingListIndex].abstractNumberingListIndex;
        utils_list.ListUtils.forEach(paragraphIndices, (index) => {
            const paragraph = subDocument.paragraphs[index];
            if (paragraph.getNumberingListIndex() === numberingListIndex) {
                const levelIndex = paragraph.getListLevelIndex();
                const targetListLevel = targetList.levels[levelIndex];
                this.history.addAndRedo(new list_level_properties_history_items/* ListLevelDisplayFormatStringHistoryItem */.nJ(this.modelManipulator, true, abstractNumberingListIndex, levelIndex, targetListLevel.getListLevelProperties().displayFormatString));
                this.history.addAndRedo(new list_level_properties_history_items/* ListLevelFormatHistoryItem */.sr(this.modelManipulator, true, abstractNumberingListIndex, levelIndex, targetListLevel.getListLevelProperties().format));
                this.history.addAndRedo(new list_level_character_properties_history_items/* ListLevelFontNameHistoryItem */.NL(this.modelManipulator, true, abstractNumberingListIndex, levelIndex, targetListLevel.getCharacterMergedProperties().fontInfo, true));
                this.history.addAndRedo(new list_level_character_properties_history_items/* ListLevelFontSizeHistoryItem */.hM(this.modelManipulator, true, abstractNumberingListIndex, levelIndex, targetListLevel.getCharacterMergedProperties().fontSize, true));
            }
        });
    }
    getAbstractNumberingList() {
        return this.control.modelManager.model.abstractNumberingListTemplates[this.getNumberingListTemplateIndex(this.getNumberingListType())];
    }
    insertNumberingListCore(paragraphIndices, targetListIndex, paragraphsLevelIndices, paragraphsLayoutPositions, subDocument) {
        var paragraphIndicesLength = paragraphIndices.length;
        for (let i = 0; i < paragraphIndicesLength; i++) {
            let paragraphIndex = paragraphIndices[i];
            var paragraph = subDocument.paragraphs[paragraphIndex];
            this.processOldNumberingList(paragraph, subDocument);
            var targetListLevel = paragraphsLevelIndices[i];
            if (!paragraph.isInList())
                this.deleteLeadingWhiteSpaces(paragraph, paragraphsLayoutPositions[i].row.boxes, targetListLevel < 0, subDocument);
            if (targetListLevel >= 0) {
                this.history.addAndRedo(new numbering_list_history_items/* AddParagraphToListHistoryItem */.ap(this.modelManipulator, subDocument, paragraphIndex, targetListIndex, targetListLevel));
                this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(paragraph.startLogPosition.value, 1)), paragraph.maskedParagraphProperties.leftIndent, false));
                this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(paragraph.startLogPosition.value, 1)), paragraph.maskedParagraphProperties.firstLineIndent, false));
            }
        }
    }
    processOldNumberingList(paragraph, subDocument) {
        if (paragraph.isInList()) {
            if (paragraph.numberingListIndex == numbering_list/* NumberingList */.K6.NumberingListNotSettedIndex) {
                var leftIndent = paragraph.getParagraphMergedProperties().leftIndent;
                this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(paragraph.startLogPosition.value, 1)), leftIndent, true));
            }
        }
    }
    deleteLeadingWhiteSpaces(paragraph, boxes, replaceOnIndent, subDocument) {
        var length = 0;
        var leftIndent = 0;
        var manipulator = this.modelManipulator;
        for (var i = 0, box; box = boxes[i]; i++) {
            if (box.isWhitespace() && this.notInsideField(paragraph.startLogPosition.value + length + box.getLength(), subDocument)) {
                length += box.getLength();
                leftIndent += box.width;
            }
            else
                break;
        }
        if (length > 0) {
            this.correctSelectionIntervals(new fixed.FixedInterval(paragraph.startLogPosition.value, length));
            this.history.addAndRedo(new remove_interval_history_item/* RemoveIntervalHistoryItem */.k(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(paragraph.startLogPosition.value, length)), false));
        }
        if (replaceOnIndent && leftIndent > 0) {
            leftIndent = class_unit_converter/* UnitConverter */.u.pixelsToTwips(leftIndent);
            var properties = paragraph.getParagraphMergedProperties();
            var interval = paragraph.interval;
            if (properties.firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging) {
                if (leftIndent < properties.firstLineIndent)
                    this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), properties.firstLineIndent - leftIndent, true));
                else if (properties.firstLineIndent === leftIndent) {
                    this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), 0, true));
                    this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.None, true));
                }
                else {
                    this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), leftIndent - properties.firstLineIndent, true));
                    this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented, true));
                }
            }
            else {
                this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), properties.firstLineIndent + leftIndent, true));
                if (properties.firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.None)
                    this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(manipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented, true));
            }
        }
    }
    notInsideField(position, subDocument) {
        return fields_field/* Field */.gN.binaryIndexOf(subDocument.fields, position) < 0;
    }
    correctSelectionIntervals(removingInterval) {
        var intervals = utils_list.ListUtils.deepCopy(this.selection.intervalsInfo.intervals);
        for (let i = 0, interval; interval = intervals[i]; i++) {
            if (interval.start > removingInterval.start) {
                var newSelectionEnd = Math.max(removingInterval.start, interval.end - removingInterval.length);
                var newSelectionStart = Math.max(removingInterval.start, interval.start - removingInterval.length);
                intervals[i] = fixed.FixedInterval.fromPositions(newSelectionStart, newSelectionEnd);
            }
        }
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals(intervals)));
    }
    getParagraphsLayoutPositions(paragraphIndices, subDocument) {
        var result = [];
        var paragraphIndicesLength = paragraphIndices.length;
        for (let i = 0; i < paragraphIndicesLength; i++) {
            var paragraphIndex = paragraphIndices[i];
            var paragraph = subDocument.paragraphs[paragraphIndex];
            var logPosition = paragraph.startLogPosition.value;
            var endRowConflictTags = new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false);
            var middleRowConflictTags = new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false);
            result.push(subDocument.isMain()
                ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, logPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box, endRowConflictTags, middleRowConflictTags)
                : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, logPosition, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box).create(endRowConflictTags, middleRowConflictTags));
        }
        return result;
    }
    getParagraphsLevelIndices(paragraphIndices, layoutPositions, _continueNumberingList, listIndex, listLevelIndex, subDocument) {
        const result = [];
        const numberingList = this.control.modelManager.model.numberingLists[listIndex];
        const paragraphIndicesLength = paragraphIndices.length;
        for (let i = 0; i < paragraphIndicesLength; i++) {
            var paragraphIndex = paragraphIndices[i];
            if (listLevelIndex < 0) {
                const paragraph = subDocument.paragraphs[paragraphIndex];
                const layoutPosition = layoutPositions[i];
                let offsetLeft = layoutPosition.row.x;
                const cellInfo = layoutPosition.row.tableCellInfo;
                if (cellInfo)
                    offsetLeft -= cellInfo.x;
                const box = layoutPosition.row.numberingListBox ? layoutPosition.row.numberingListBox :
                    this.getStartBox(layoutPosition.row.boxes);
                offsetLeft += box instanceof layout_numbering_list_box/* LayoutNumberingListBox */.g ? box.textBox.x : box.x;
                if (box instanceof layout_paragraph_mark_box/* LayoutParagraphMarkBox */.c && (paragraphIndicesLength > 1 && (paragraph.length <= 1 || i !== 0)))
                    result.push(-1);
                else
                    result.push(this.calculateParagraphListLevel(offsetLeft, paragraph, numberingList));
            }
            else
                result.push(listLevelIndex);
        }
        this.assignLevelsIndents(paragraphIndices[0], listIndex, subDocument);
        return result;
    }
    calculateParagraphListLevel(layoutLeftIndent, _paragraph, numberingList) {
        var modelLeftIndent = class_unit_converter/* UnitConverter */.u.pixelsToTwips(layoutLeftIndent);
        for (var i = 0, level; level = numberingList.levels[i]; i++) {
            var levelParagraphProperties = level.getParagraphMergedProperties();
            var actualNumberingPosition = levelParagraphProperties.firstLineIndentType == paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging ?
                (levelParagraphProperties.leftIndent - levelParagraphProperties.firstLineIndent) : levelParagraphProperties.leftIndent;
            if (modelLeftIndent <= actualNumberingPosition)
                return i;
        }
        return numberingList.levels.length - 1;
    }
    getStartBox(boxes) {
        for (var i = 0, box; box = boxes[i]; i++) {
            if (!box.isWhitespace())
                return box;
        }
        return boxes[0];
    }
    createNewList(template) {
        var abstractNumberingList = new numbering_list/* AbstractNumberingList */.pC(this.control.modelManager.model);
        abstractNumberingList.copyFrom(template);
        abstractNumberingList.resetId();
        this.history.addAndRedo(new numbering_list_history_items/* AddAbstractNumberingListHistoryItem */.dF(this.modelManipulator, abstractNumberingList));
        var abstractNumberingListIndex = this.control.modelManager.model.abstractNumberingLists.length - 1;
        var numberingList = new numbering_list/* NumberingList */.K6(this.control.modelManager.model, abstractNumberingListIndex);
        this.history.addAndRedo(new numbering_list_history_items/* AddNumberingListHistoryItem */.Bk(this.modelManipulator, numberingList));
        return this.control.modelManager.model.numberingLists.length - 1;
    }
    processParagraphByIndex(_paragraphIndex) {
        return true;
    }
    getNumberingListTemplateIndex(type) {
        return numbering_helper/* NumberingHelper */.K.getNumberingListTemplateIndex(this.control.modelManager.model, type);
    }
    areAllParagraphsHasValidNumberingListType(intervals, subDocument) {
        var levelType = this.getNumberingListType();
        var paragraphIndices = subDocument.getParagraphIndicesByIntervals(intervals);
        for (let i = paragraphIndices.length - 1; i >= 0; i--) {
            let paragraphIndex = paragraphIndices[i];
            var paragraph = subDocument.paragraphs[paragraphIndex];
            if (!paragraph.isInList() || paragraph.getNumberingList().getLevelType(paragraph.getListLevelIndex()) !== levelType)
                return false;
        }
        return true;
    }
    getNumberingListType() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    assignLevelsIndents(paragraphIndex, listIndex, subDocument) {
        var numberingList = this.control.modelManager.model.numberingLists[listIndex];
        this.assignLevelsIndentsCore(paragraphIndex, listIndex, numberingList.levels, subDocument);
    }
    assignLevelsIndentsCore(paragraphIndex, listIndex, listLevels, subDocument) {
        var paragraph = subDocument.paragraphs[paragraphIndex];
        if (!paragraph.isInList())
            return;
        let originNumberingList = paragraph.getNumberingList();
        for (var i = 0, listLevel; listLevel = listLevels[i]; i++) {
            let originListLevelProperties = originNumberingList.levels[0].getListLevelProperties();
            let listLevelProperties = listLevel.getListLevelProperties();
            if (originListLevelProperties.originalLeftIndent !== listLevelProperties.originalLeftIndent)
                this.history.addAndRedo(new list_level_properties_history_items/* ListLevelOriginalLeftIndentHistoryItem */.XY(this.modelManipulator, false, listIndex, i, originListLevelProperties.originalLeftIndent));
        }
    }
}
class NumberingListCommandBase extends NumberingListCommandBaseBase {
    executeCore(state, options) {
        this.history.beginTransaction();
        const subDocument = options.subDocument;
        var paragraphIndices = subDocument.getParagraphIndicesByIntervals(state.intervals);
        let targetStartIndex = options.param;
        if (state.value)
            this.deleteNumberingList(paragraphIndices, subDocument);
        else if (this.selection.isCollapsed() && options.subDocument.paragraphs[paragraphIndices[0]].isInList() && targetStartIndex < 0) {
            const isMultilevelListType = this.getNumberingListType() == numbering_list/* NumberingType */.FB.MultiLevel;
            const firstLevelSelected = utils_list.ListUtils.unsafeAnyOf(paragraphIndices, (index) => {
                const paragraph = this.selection.activeSubDocument.paragraphs[index];
                return paragraph.getListLevelIndex() == 0;
            });
            if (isMultilevelListType || firstLevelSelected)
                this.changeNumberingList(paragraphIndices, subDocument);
            else
                this.modifyLevels(paragraphIndices, subDocument);
        }
        else
            this.insertNumberingList(paragraphIndices, targetStartIndex, subDocument);
        this.history.endTransaction();
        this.selection.changeState(newState => newState.setEndOfLine(false));
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/continue-numbering-list-command.ts





class ContinueNumberingListCommand extends NumberingListCommandBase {
    getState(options = this.convertToCommandOptions(undefined)) {
        const subDocument = options.subDocument;
        var state = new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), utils_list.ListUtils.deepCopy(this.selection.intervalsInfo.intervals));
        state.visible = false;
        if (state.enabled) {
            var startParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.paragraphs, p => p.startLogPosition.value, state.intervals[0].start);
            var paragraph = subDocument.paragraphs[startParagraphIndex];
            if (paragraph.isInList() && this.getTargetNumberingListIndex(startParagraphIndex, paragraph.getAbstractNumberingListIndex(), subDocument) >= 0)
                state.visible = true;
            state.enabled = state.visible;
        }
        return state;
    }
    executeCore(state, options) {
        const subDocument = options.subDocument;
        var startParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(options.subDocument.paragraphs, p => p.startLogPosition.value, state.intervals[0].start);
        var startParagraphAbstractNumberingListIndex = subDocument.paragraphs[startParagraphIndex].getAbstractNumberingListIndex();
        var targetNumberingListIndex = this.getTargetNumberingListIndex(startParagraphIndex, startParagraphAbstractNumberingListIndex, subDocument);
        this.history.beginTransaction();
        for (var i = startParagraphIndex, paragraph; paragraph = subDocument.paragraphs[i]; i++) {
            if (paragraph.getAbstractNumberingListIndex() === startParagraphAbstractNumberingListIndex)
                this.history.addAndRedo(new numbering_list_history_items/* AddParagraphToListHistoryItem */.ap(this.modelManipulator, subDocument, i, targetNumberingListIndex, paragraph.getListLevelIndex()));
        }
        this.history.endTransaction();
        return true;
    }
    getTargetNumberingListIndex(startParagraphIndex, currentAbstractNumberingListIndex, subDocument) {
        for (var i = startParagraphIndex - 1, prevParagraph; prevParagraph = subDocument.paragraphs[i]; i--) {
            var prevParagraphAbstractNumberingListIndex = prevParagraph.getAbstractNumberingListIndex();
            if (prevParagraphAbstractNumberingListIndex === currentAbstractNumberingListIndex)
                return -1;
            if (prevParagraphAbstractNumberingListIndex >= 0)
                return prevParagraph.getNumberingListIndex();
        }
        return -1;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/insert-numeration-to-paragraphs-command.ts




class InsertNumerationToParagraphsCommand extends NumberingListCommandBaseBase {
    getState(options = this.convertToCommandOptions(undefined)) {
        return new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), utils_list.ListUtils.deepCopy(options.intervalsInfo.intervals));
    }
    executeCore(_state, options) {
        this.abstractNumberingList = options.param;
        const paragraphIndices = options.subDocument.getParagraphIndicesByIntervals(options.intervalsInfo.intervals);
        this.history.beginTransaction();
        this.insertNumeration(options.param, options.subDocument, paragraphIndices);
        this.history.endTransaction();
        return true;
    }
    insertNumeration(numberingList, subDocument, paragraphIndices) {
        const paragraphsLayoutPositions = this.getParagraphsLayoutPositions(paragraphIndices, subDocument);
        let targetListIndex;
        if (numberingList instanceof numbering_list/* AbstractNumberingList */.pC) {
            if (numberingList.getListType() == numbering_list/* NumberingType */.FB.MultiLevel) {
                this.changeNumberingList(paragraphIndices, subDocument);
                return;
            }
            else {
                targetListIndex = this.createNewList(numberingList);
            }
        }
        else
            targetListIndex = this.control.modelManager.model.numberingLists.indexOf(numberingList);
        let paragraphsLevelIndices = this.getParagraphsLevelIndices(paragraphIndices, paragraphsLayoutPositions, false, targetListIndex, -1, subDocument);
        this.insertNumberingListCore(paragraphIndices, targetListIndex, paragraphsLevelIndices, paragraphsLayoutPositions, subDocument);
    }
    getNumberingListType() {
        return this.abstractNumberingList.getListType();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/remove-numeration-from-paragraphs-command.ts



class DeleteNumerationFromParagraphsCommand extends NumberingListCommandBase {
    getState(options = this.convertToCommandOptions(undefined)) {
        return new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), utils_list.ListUtils.deepCopy(options.intervalsInfo.intervals));
    }
    executeCore(_state, options) {
        var paragraphIndices = options.subDocument.getParagraphIndicesByIntervals(options.intervalsInfo.intervals);
        this.history.beginTransaction();
        this.deleteNumberingList(paragraphIndices, options.subDocument);
        this.history.endTransaction();
        return true;
    }
    getNumberingListType() {
        return null;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/restart-numbering-list-command.ts





class RestartNumberingListCommand extends NumberingListCommandBase {
    getState(options = this.convertToCommandOptions(undefined)) {
        const subDocument = options.subDocument;
        var state = new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), utils_list.ListUtils.deepCopy(options.intervalsInfo.intervals));
        state.visible = false;
        if (state.enabled) {
            var startParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.paragraphs, p => p.startLogPosition.value, options.intervalsInfo.position);
            var paragraph = subDocument.paragraphs[startParagraphIndex];
            if (paragraph.isInList()) {
                var abstractNumberingListIndex = paragraph.getAbstractNumberingListIndex();
                for (var i = startParagraphIndex - 1, prevParagraph; prevParagraph = subDocument.paragraphs[i]; i--) {
                    if (prevParagraph.getAbstractNumberingListIndex() === abstractNumberingListIndex &&
                        prevParagraph.listLevelIndex === paragraph.listLevelIndex) {
                        state.visible = true;
                        break;
                    }
                }
            }
            state.enabled = state.visible;
        }
        return state;
    }
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        var startParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.paragraphs, paragraph => paragraph.startLogPosition.value, options.intervalsInfo.position);
        this.history.beginTransaction();
        var firstParagraph = subDocument.paragraphs[startParagraphIndex];
        var listType = firstParagraph.getNumberingList().getListType();
        var templateIndex = this.getNumberingListTemplateIndex(listType);
        var newListIndex = this.createNewList(this.control.modelManager.model.abstractNumberingListTemplates[templateIndex]);
        var startParagraphAbstractNumberingListIndex = firstParagraph.getAbstractNumberingListIndex();
        for (var i = startParagraphIndex, paragraph; paragraph = subDocument.paragraphs[i]; i++) {
            if (paragraph.getAbstractNumberingListIndex() === startParagraphAbstractNumberingListIndex)
                this.history.addAndRedo(new numbering_list_history_items/* AddParagraphToListHistoryItem */.ap(this.modelManipulator, subDocument, i, newListIndex, paragraph.getListLevelIndex()));
        }
        this.history.endTransaction();
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/toggle-numbering-list-command.ts






class ToggleNumberingListCommand extends NumberingListCommandBase {
    getNumberingListType() {
        return numbering_list/* NumberingType */.FB.Simple;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.numberingSimple);
    }
    getParagraphsLevelIndices(paragraphIndices, layoutPositions, continueNumberingList, listIndex, listLevelIndex, subDocument) {
        if (listLevelIndex >= 0 || !this.equalLeftIndent(paragraphIndices, layoutPositions, listIndex))
            return super.getParagraphsLevelIndices(paragraphIndices, layoutPositions, continueNumberingList, listIndex, listLevelIndex, subDocument);
        else {
            var result = [];
            for (var i = 0; i < paragraphIndices.length; i++) {
                const paragraph = subDocument.paragraphs[paragraphIndices[i]];
                result.push(paragraph.isInList() ? paragraph.getListLevelIndex() : 0);
            }
            if (!continueNumberingList)
                this.assignLevelsIndents(paragraphIndices[0], listIndex, subDocument);
            return result;
        }
    }
    equalLeftIndent(paragraphIndices, layoutPositions, listIndex) {
        if (paragraphIndices.length === 1)
            return true;
        var minLeftIndent = Number.MAX_VALUE;
        var maxLeftIndent = -Number.MAX_VALUE;
        let paragraphIndicesLength = paragraphIndices.length;
        for (let i = 0; i < paragraphIndicesLength; i++) {
            var layoutPosition = layoutPositions[i];
            var startBoxPosX = layoutPosition.row.numberingListBox ? layoutPosition.row.numberingListBox.textBox.x : this.getStartBox(layoutPosition.row.boxes).x;
            var boxLeft = layoutPosition.row.x + startBoxPosX;
            minLeftIndent = Math.min(boxLeft, minLeftIndent);
            maxLeftIndent = Math.max(boxLeft, maxLeftIndent);
        }
        var numberingList = this.control.modelManager.model.numberingLists[listIndex];
        var leftIndent = numberingList.levels[1].getParagraphMergedProperties().leftIndent -
            numberingList.levels[0].getParagraphMergedProperties().leftIndent;
        return maxLeftIndent - minLeftIndent < leftIndent;
    }
    assignLevelsIndentsCore(paragraphIndex, listIndex, listLevels, subDocument) {
        super.assignLevelsIndentsCore(paragraphIndex, listIndex, listLevels, subDocument);
        const isEmptyList = utils_list.ListUtils.unsafeAnyOf(subDocument.paragraphs, (p) => p.numberingListIndex == listIndex) == null;
        if (isEmptyList) {
            var paragraph = subDocument.paragraphs[paragraphIndex];
            if (paragraph.isInList())
                return;
            for (var i = 0, listLevel; listLevel = listLevels[i]; i++) {
                var listLevelMergedParagraphProperties = listLevel.getParagraphMergedProperties();
                this.history.addAndRedo(new list_level_properties_history_items/* ListLevelOriginalLeftIndentHistoryItem */.XY(this.modelManipulator, false, listIndex, i, listLevelMergedParagraphProperties.leftIndent));
                this.history.addAndRedo(new list_level_paragraph_properties_history_items/* ListLevelParagraphLeftIndentHistoryItem */.zn(this.modelManipulator, false, listIndex, i, listLevelMergedParagraphProperties.leftIndent + paragraph.getParagraphMergedProperties().leftIndent, true));
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/toggle-bulleted-list-command.ts



class ToggleBulletedListCommand extends ToggleNumberingListCommand {
    getNumberingListType() {
        return numbering_list/* NumberingType */.FB.Bullet;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.numberingBulleted);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/numbering/toggle-multi-level-list-command.ts



class ToggleMultiLevelListCommand extends NumberingListCommandBase {
    getNumberingListType() {
        return numbering_list/* NumberingType */.FB.MultiLevel;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.numberingMultiLevel);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/change-paragraph-properties-command-base.ts






class ChangeParagraphPropertiesCommandBase extends command_base/* CommandBase */.eK {
    getState(options = this.convertToCommandOptions(undefined)) {
        const state = new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), utils_list.ListUtils.deepCopy(options.intervalsInfo.intervals), this.getValueForState(this.getCurrentValue()));
        state.denyUpdateValue = this.isLockUpdateValue();
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphFormatting);
    }
    executeCore(_state, options) {
        const desc = this.getDescriptor();
        const newValue = this.convertValue(options.param);
        if (this.getActualValue() !== newValue) {
            const history = this.history;
            history.beginTransaction();
            desc.setProp(this.inputPosition.getMergedParagraphPropertiesFull(), newValue);
            desc.setProp(this.inputPosition.getMergedParagraphPropertiesRaw(), newValue);
            for (let interval of options.intervalsInfo.intervals)
                history.addAndRedo(new (desc.getHistoryItemConstructor())(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(options.subDocument, interval), newValue, true));
            history.endTransaction();
        }
        return true;
    }
    isLockUpdateValue() {
        return false;
    }
    getCurrentValue() {
        return this.getDescriptor().getProp(this.inputPosition.getMergedParagraphPropertiesRaw());
    }
    getValueForState(val) {
        return val;
    }
    getIntervalsForModifying() {
        return rich_utils/* RichUtils */.i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
    convertValue(val) {
        return val;
    }
    getActualValue() {
        return this.getCurrentValue();
    }
    convertBooleanParameterToEnumType(parameter, ifTrue, ifFalse) {
        if (typeof parameter === 'boolean')
            return parameter ? ifTrue : ifFalse;
        return this.getCurrentValue() == ifTrue ? ifFalse : ifTrue;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/add-spacing-after-paragraph-command.ts




class LineSpacingParagraphCommandBase extends ChangeParagraphPropertiesCommandBase {
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.AddSpacingAfterParagraph]: true,
            [client_command/* RichEditClientCommand */.f.AddSpacingBeforeParagraph]: true,
            [client_command/* RichEditClientCommand */.f.SetSingleParagraphSpacing]: true,
            [client_command/* RichEditClientCommand */.f.SetSesquialteralParagraphSpacing]: true,
            [client_command/* RichEditClientCommand */.f.SetDoubleParagraphSpacing]: true,
            [client_command/* RichEditClientCommand */.f.RemoveSpacingAfterParagraph]: true,
            [client_command/* RichEditClientCommand */.f.RemoveSpacingBeforeParagraph]: true,
        };
    }
}
class AddSpacingAfterParagraphCommand extends LineSpacingParagraphCommandBase {
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingAfter;
    }
    isEnabled() {
        return super.isEnabled() && this.getCurrentValue() === 0;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return parameter == null ? class_unit_converter/* UnitConverter */.u.pointsToTwips(12) : parameter;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/add-spacing-before-paragraph-command.ts



class AddSpacingBeforeParagraphCommand extends LineSpacingParagraphCommandBase {
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingBefore;
    }
    isEnabled() {
        return super.isEnabled() && this.getCurrentValue() === 0;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return parameter == null ? class_unit_converter/* UnitConverter */.u.pointsToTwips(12) : parameter;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/change-heading-level-command.ts


class ChangeHeadingLevelCommand extends ChangeParagraphPropertiesCommandBase {
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.outlineLevel;
    }
    isLockUpdateValue() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/change-indent-command.ts





class ChangeIndentCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.paragraphFormatting) && !this.selection.specialRunInfo.isPictureSelected();
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphFormatting);
    }
    executeCore(_state, options) {
        var paragraphIndices = options.subDocument.getParagraphIndicesByIntervals(options.intervalsInfo.intervals);
        const commandId = this.shouldProcessAsNumberingParagraphs(paragraphIndices, options.subDocument) ?
            this.processNumberingIndentsCommandId() :
            this.processParagraphIndentsCommandId();
        return this.control.commandManager.getCommand(commandId).execute(this.control.commandManager.isPublicApiCall, options);
    }
    getIntervalsForModifying() {
        return rich_utils/* RichUtils */.i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
    shouldProcessAsNumberingParagraphs(paragraphIndices, subDocument) {
        var abstractNumberingListIndex = subDocument.paragraphs[paragraphIndices[0]].getAbstractNumberingListIndex();
        if (abstractNumberingListIndex < 0)
            return false;
        let paragraphIndicesLength = paragraphIndices.length;
        for (let i = 1; i < paragraphIndicesLength; i++) {
            let paragraphIndex = paragraphIndices[i];
            if (subDocument.paragraphs[paragraphIndex].getAbstractNumberingListIndex() !== abstractNumberingListIndex)
                return false;
        }
        return true;
    }
}
class DecrementIndentCommand extends ChangeIndentCommandBase {
    processParagraphIndentsCommandId() {
        return client_command/* RichEditClientCommand */.f.DecrementParagraphLeftIndent;
    }
    processNumberingIndentsCommandId() {
        return client_command/* RichEditClientCommand */.f.DecrementNumberingIndent;
    }
}
class IncrementIndentCommand extends ChangeIndentCommandBase {
    processParagraphIndentsCommandId() {
        return client_command/* RichEditClientCommand */.f.IncrementParagraphLeftIndent;
    }
    processNumberingIndentsCommandId() {
        return client_command/* RichEditClientCommand */.f.IncrementNumberingIndent;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/change-paragraph-back-color-command.ts







class ChangeParagraphBackColorCommand extends ChangeParagraphPropertiesCommandBase {
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        const intervals = this.selection.intervals;
        let isParagraphBackColorChanged = this.control.commandManager.isPublicApiCall || this.selection.isCollapsed() || utils_list.ListUtils.unsafeAnyOf(intervals, (interval) => {
            const paragraphs = subDocument.getParagraphsByInterval(interval);
            return paragraphs.length > 1 || interval.contains(paragraphs[0].getEndPosition() - 1);
        });
        if (isParagraphBackColorChanged)
            return super.executeCore(_state, options);
        else {
            const fontShadingInfoCommand = new ChangeFontShadingInfoCommand(this.control);
            return fontShadingInfoCommand.execute(this.control.commandManager.isPublicApiCall, options);
        }
    }
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.shadingInfo;
    }
    getValueForState(val) {
        return val ? val.getActualColor(this.colorProvider) : undefined;
    }
    isLockUpdateValue() {
        return true;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.NO_COLOR)));
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/formatter/utils/columns-calculator.ts
var columns_calculator = __webpack_require__(8931);
;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/change-paragraph-indent-from-first-row-command.ts









class ChangeParagraphIndentFromFirstRowCommandBase extends ParagraphIndentCommandBase {
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        var paragraphIndices = subDocument.getParagraphIndicesByIntervals(options.intervalsInfo.intervals);
        var firstParagraph = subDocument.paragraphs[paragraphIndices[0]];
        if (this.needUpdateFirstLineIndent(firstParagraph)) {
            this.history.beginTransaction();
            var maxFirstLineIndent = this.getMaxFirstLineIndent(firstParagraph, subDocument);
            var tabs = this.getTabs(paragraphIndices, subDocument);
            var firstLineIndent = this.getFirstLineIndent(firstParagraph, tabs);
            this.assignParagraphFirstLineIndent(firstParagraph, firstLineIndent, maxFirstLineIndent, subDocument);
            this.history.endTransaction();
            return true;
        }
        else
            return this.getParagraphLeftIndentCommand().execute(this.control.commandManager.isPublicApiCall);
    }
    assignParagraphFirstLineIndent(paragraph, firstLineIndent, maxValue, subDocument) {
        if (firstLineIndent > 0) {
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented, true));
            var distanceToRight = maxValue - (paragraph.getParagraphMergedProperties().leftIndent + firstLineIndent);
            if (distanceToRight < 0)
                firstLineIndent += distanceToRight;
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), firstLineIndent, true));
        }
        else if (firstLineIndent < 0) {
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging, true));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), Math.abs(firstLineIndent), true));
        }
        else {
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.None, true));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), 0, true));
        }
    }
    getFirstLineIndentAbsPosition(paragraphProperties) {
        switch (paragraphProperties.firstLineIndentType) {
            case paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented:
                return paragraphProperties.leftIndent + paragraphProperties.firstLineIndent;
            case paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging:
                return paragraphProperties.leftIndent - paragraphProperties.firstLineIndent;
            default:
                return paragraphProperties.leftIndent;
        }
    }
}
class IncrementParagraphIndentFromFirstRowCommand extends ChangeParagraphIndentFromFirstRowCommandBase {
    getParagraphLeftIndentCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.IncrementParagraphLeftIndent);
    }
    getMaxFirstLineIndent(paragraph, subDocument) {
        var logPosition = paragraph.startLogPosition.value;
        var layoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, logPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, logPosition, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (layoutPosition)
            return class_unit_converter/* UnitConverter */.u.pixelsToTwips(layoutPosition.column.width);
        else {
            var section = this.control.modelManager.model.getSectionByPosition(paragraph.startLogPosition.value);
            return class_unit_converter/* UnitConverter */.u.pixelsToTwips(columns_calculator/* ColumnCalculator */.y.findMinimalColumnSize(section.sectionProperties).width);
        }
    }
    getFirstLineIndent(paragraph, tabs) {
        var paragraphProperties = paragraph.getParagraphMergedProperties();
        var firstLineIndentAbsPosition = this.getFirstLineIndentAbsPosition(paragraphProperties);
        var nearestRightTab = this.getNearRightTab(firstLineIndentAbsPosition, tabs);
        var nearestDefaultTab = this.getNearRightDefaultTab(firstLineIndentAbsPosition);
        if (nearestRightTab > firstLineIndentAbsPosition)
            return Math.min(nearestRightTab, nearestDefaultTab) - paragraphProperties.leftIndent;
        return nearestDefaultTab - paragraphProperties.leftIndent;
    }
    needUpdateFirstLineIndent(paragraph) {
        var paragraphProperties = paragraph.getParagraphMergedProperties();
        var currentIndent = paragraphProperties.leftIndent;
        var rightDefaultTab = this.getNearRightDefaultTab(paragraphProperties.leftIndent + paragraphProperties.firstLineIndentType);
        switch (paragraphProperties.firstLineIndentType) {
            case paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented:
                currentIndent += paragraphProperties.firstLineIndent;
                break;
            case paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging:
                currentIndent -= paragraphProperties.firstLineIndent;
        }
        return currentIndent < rightDefaultTab;
    }
}
class DecrementParagraphIndentFromFirstRowCommand extends ChangeParagraphIndentFromFirstRowCommandBase {
    getMaxFirstLineIndent(_paragraph, _subDocument) {
        return Number.MAX_VALUE;
    }
    getFirstLineIndent(paragraph, tabs) {
        var paragraphProperties = paragraph.getParagraphMergedProperties();
        var firstLineIndentAbsPosition = this.getFirstLineIndentAbsPosition(paragraphProperties);
        var nearestLeftTab = this.getNearLeftTab(firstLineIndentAbsPosition, tabs);
        var nearestDefaultTab = this.getNearLeftDefaultTab(firstLineIndentAbsPosition);
        return Math.max(0, Math.max(nearestLeftTab, nearestDefaultTab) - paragraphProperties.leftIndent);
    }
    needUpdateFirstLineIndent(paragraph) {
        var paragraphProperties = paragraph.getParagraphMergedProperties();
        return paragraphProperties.firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented;
    }
    getParagraphLeftIndentCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DecrementParagraphLeftIndent);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/change-paragraph-left-indent-command.ts








class ChangeParagraphLeftIndentCommand extends ParagraphIndentCommandBase {
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        var paragraphIndices = subDocument.getParagraphIndicesByIntervals(this.selection.intervals);
        var result = false;
        this.history.beginTransaction();
        var tabs = this.getTabs(paragraphIndices, subDocument);
        let paragraphIndicesLength = paragraphIndices.length;
        for (let i = 0; i < paragraphIndicesLength; i++) {
            let paragraphIndex = paragraphIndices[i];
            result = this.applyLeftIndentToParagraph(subDocument.paragraphs[paragraphIndex], tabs) || result;
        }
        this.history.endTransaction();
        return result;
    }
    applyLeftIndentToParagraph(paragraph, tabs) {
        var newLeftIndent = this.getNewLeftIndent(paragraph, tabs);
        var maxLeftIndent = this.getMaxLeftIndent(paragraph);
        var parInterval = paragraph.interval;
        if (newLeftIndent === paragraph.getParagraphMergedProperties().leftIndent)
            return false;
        if (newLeftIndent >= 0) {
            if (paragraph.getParagraphMergedProperties().firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging) {
                var firstLineLeftIndent = newLeftIndent - paragraph.getParagraphMergedProperties().firstLineIndent;
                if (firstLineLeftIndent < 0)
                    newLeftIndent -= firstLineLeftIndent;
            }
        }
        var modelManipulator = this.modelManipulator;
        this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ(modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, parInterval), newLeftIndent, true));
        if (paragraph.getParagraphMergedProperties().firstLineIndentType == paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented) {
            var distanceToRight = maxLeftIndent - (paragraph.getParagraphMergedProperties().leftIndent + paragraph.getParagraphMergedProperties().firstLineIndent);
            if (distanceToRight < 0) {
                this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, parInterval), paragraph.getParagraphMergedProperties().firstLineIndent + distanceToRight, true));
            }
        }
        return true;
    }
}
class IncrementParagraphLeftIndentCommand extends ChangeParagraphLeftIndentCommand {
    getNewLeftIndent(paragraph, tabs) {
        var paragraphProperties = paragraph.getParagraphMergedProperties();
        var nearRightDefaultTab = this.getNearRightDefaultTab(paragraphProperties.leftIndent);
        var nearRightTab = this.getNearRightTab(paragraphProperties.leftIndent, tabs);
        var result = (nearRightDefaultTab < nearRightTab || nearRightTab === paragraphProperties.leftIndent) ? nearRightDefaultTab : nearRightTab;
        var position = this.getPosition(paragraph);
        if (!position) {
            var section = this.control.modelManager.model.getSectionByPosition(paragraph.startLogPosition.value);
            var minimalColumnSize = columns_calculator/* ColumnCalculator */.y.findMinimalColumnSize(section.sectionProperties);
            return Math.min(result, class_unit_converter/* UnitConverter */.u.pixelsToTwips(minimalColumnSize.width));
        }
        return Math.min(result, class_unit_converter/* UnitConverter */.u.pixelsToTwips(position.column.width));
    }
    getMaxLeftIndent(paragraph) {
        var position = this.getPosition(paragraph);
        if (position)
            return class_unit_converter/* UnitConverter */.u.pixelsToTwips(position.column.width);
        else {
            var section = this.control.modelManager.model.getSectionByPosition(paragraph.startLogPosition.value);
            return class_unit_converter/* UnitConverter */.u.pixelsToTwips(columns_calculator/* ColumnCalculator */.y.findMinimalColumnSize(section.sectionProperties).width);
        }
    }
    getPosition(paragraph) {
        var subDocument = this.selection.activeSubDocument;
        return (subDocument.isMain() ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, paragraph.startLogPosition.value, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, paragraph.startLogPosition.value, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
    }
}
class DecrementParagraphLeftIndentCommand extends ChangeParagraphLeftIndentCommand {
    getNewLeftIndent(paragraph, tabs) {
        var paragraphProperties = paragraph.getParagraphMergedProperties();
        var nearLeftDefaultTab = this.getNearLeftDefaultTab(paragraphProperties.leftIndent);
        var nearLeftTab = this.getNearLeftTab(paragraphProperties.leftIndent, tabs);
        return (nearLeftDefaultTab > nearLeftTab || nearLeftTab == paragraphProperties.leftIndent) ? nearLeftDefaultTab : nearLeftTab;
    }
    getMaxLeftIndent(_paragraph) {
        return Number.MAX_VALUE;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/remove-spacing-after-paragraph-command.ts


class RemoveSpacingAfterParagraphCommand extends LineSpacingParagraphCommandBase {
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingAfter;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return parameter != null ? parameter : 0;
    }
    isEnabled() {
        return super.isEnabled() && this.inputPosition.getMergedParagraphPropertiesFull().spacingAfter > 0;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/remove-spacing-before-paragraph-command.ts


class RemoveSpacingBeforeParagraphCommand extends LineSpacingParagraphCommandBase {
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingBefore;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return parameter != null ? parameter : 0;
    }
    isEnabled() {
        return super.isEnabled() && this.inputPosition.getMergedParagraphPropertiesFull().spacingBefore > 0;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/set-double-paragraph-spacing-command.ts


class SetParagraphSpacingTypeCommandBase extends LineSpacingParagraphCommandBase {
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacingType;
    }
    getValueForState(val) {
        return val == this.getSpacingType();
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, this.getSpacingType(), this.getSpacingType());
    }
}
class SetSingleParagraphSpacingCommand extends SetParagraphSpacingTypeCommandBase {
    getSpacingType() {
        return paragraph_properties/* ParagraphLineSpacingType */.yX.Single;
    }
}
class SetSesquialteralParagraphSpacingCommand extends SetParagraphSpacingTypeCommandBase {
    getSpacingType() {
        return paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral;
    }
}
class SetDoubleParagraphSpacingCommand extends SetParagraphSpacingTypeCommandBase {
    getSpacingType() {
        return paragraph_properties/* ParagraphLineSpacingType */.yX.Double;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/paragraph-properties/toggle-paragraph-alignment-command.ts



class ToggleParagraphAlignmentCommand extends ChangeParagraphPropertiesCommandBase {
    getDescriptor() {
        return paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment;
    }
    getValueForState(val) {
        return val == this.getParagraphAlignment();
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.convertBooleanParameterToEnumType(parameter, this.getParagraphAlignment(), this.getOppositeAlignment());
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentCenter]: true,
            [client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentJustify]: true,
            [client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentLeft]: true,
            [client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentRight]: true,
        };
    }
    getOppositeAlignment() {
        return paragraph_properties/* ParagraphAlignment */.wq.Left;
    }
}
class ToggleParagraphAlignmentLeftCommand extends ToggleParagraphAlignmentCommand {
    getParagraphAlignment() {
        return paragraph_properties/* ParagraphAlignment */.wq.Left;
    }
    getOppositeAlignment() {
        return paragraph_properties/* ParagraphAlignment */.wq.Justify;
    }
}
class ToggleParagraphAlignmentCenterCommand extends ToggleParagraphAlignmentCommand {
    getParagraphAlignment() {
        return paragraph_properties/* ParagraphAlignment */.wq.Center;
    }
}
class ToggleParagraphAlignmentRightCommand extends ToggleParagraphAlignmentCommand {
    getParagraphAlignment() {
        return paragraph_properties/* ParagraphAlignment */.wq.Right;
    }
}
class ToggleParagraphAlignmentJustifyCommand extends ToggleParagraphAlignmentCommand {
    getParagraphAlignment() {
        return paragraph_properties/* ParagraphAlignment */.wq.Justify;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/redo-command.ts



class redo_command_RedoCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled() && this.history.canRedo());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.undo);
    }
    executeCore(state, _options) {
        if (state.enabled) {
            this.history.redo();
            return true;
        }
        return false;
    }
    canModify() {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/commands/ruler/ruler-paragraph-indents-command.ts
var ruler_paragraph_indents_command = __webpack_require__(8569);
;// CONCATENATED MODULE: ./src/common/commands/ruler/ruler-paragraph-tabs-command.ts










var RulerTabAction;
(function (RulerTabAction) {
    RulerTabAction[RulerTabAction["None"] = 0] = "None";
    RulerTabAction[RulerTabAction["Insert"] = 1] = "Insert";
    RulerTabAction[RulerTabAction["Delete"] = 2] = "Delete";
})(RulerTabAction || (RulerTabAction = {}));
class TabRulerCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphTabs);
    }
    executeCore(_state, options) {
        const info = rich_utils/* RichUtils */.i.getSelectedParagraphs(options.intervalsInfo.intervals, options.subDocument);
        this.history.beginTransaction();
        this.executeHistoryItems(this.modelManipulator, options.subDocument, info.intervals[0], info.paragraphs[0], options.param);
        this.history.endTransaction();
        return true;
    }
    findTabByPosition(paragraph, position) {
        var index = search.SearchUtils.binaryIndexOf(paragraph.tabs.tabsInfo, (a) => a.position - position);
        return index > -1 ? paragraph.tabs.tabsInfo[index] : null;
    }
    getIntervalsForModifying() {
        return rich_utils/* RichUtils */.i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
}
class InsertTabToParagraphCommand extends TabRulerCommandBase {
    executeHistoryItems(modelManipulator, subDocument, interval, _firstParagraph, params) {
        var tabInfo = new paragraph_style/* TabInfo */.i3(class_unit_converter/* UnitConverter */.u.pixelsToTwips(params.position), params.align, layout_tab_space_box/* TabLeaderType */.LT.None, false, false);
        this.history.addAndRedo(new paragraph_properties_history_items/* InsertTabToParagraphHistoryItem */.jX(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), tabInfo));
    }
}
class DeleteTabAtParagraphCommand extends TabRulerCommandBase {
    executeHistoryItems(modelManipulator, subDocument, interval, firstParagraph, params) {
        var tabInfo = this.findTabByPosition(firstParagraph, class_unit_converter/* UnitConverter */.u.pixelsToTwips(params));
        this.history.addAndRedo(new paragraph_properties_history_items/* DeleteTabAtParagraphHistoryItem */.qn(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), tabInfo));
    }
}
class MoveTabRulerInParagraphCommand extends TabRulerCommandBase {
    executeHistoryItems(modelManipulator, subDocument, interval, firstParagraph, params) {
        var oldTabInfo = this.findTabByPosition(firstParagraph, class_unit_converter/* UnitConverter */.u.pixelsToTwips(params.start));
        var newTabInfo = oldTabInfo.clone();
        newTabInfo.position = class_unit_converter/* UnitConverter */.u.pixelsToTwips(params.end);
        this.history.addAndRedo(new paragraph_properties_history_items/* DeleteTabAtParagraphHistoryItem */.qn(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), oldTabInfo));
        this.history.addAndRedo(new paragraph_properties_history_items/* InsertTabToParagraphHistoryItem */.jX(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), newTabInfo));
    }
}

// EXTERNAL MODULE: ./src/common/model/section/section-column-properties.ts
var section_column_properties = __webpack_require__(7695);
;// CONCATENATED MODULE: ./src/common/commands/ruler/ruler-section-columns-settings-command.ts











class RulerSectionColumnsSettingsCommand extends command_base/* CommandBase */.eK {
    DEPRECATEDCorrectlMainCommandOptions(options) {
        const lastSelectedInterval = this.selection.lastSelectedInterval;
        options.intervalsInfo.intervals = [new fixed.FixedInterval(this.selection.forwardDirection ? lastSelectedInterval.end : lastSelectedInterval.start, 0)];
    }
    getState(options = this.convertToCommandOptions(undefined)) {
        var interval = options.intervalsInfo.interval;
        var position = interval.start;
        var sectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.control.modelManager.model.sections, (s) => s.startLogPosition.value, position);
        var section = this.control.modelManager.model.sections[sectionIndex];
        var columnsBounds = columns_calculator/* ColumnCalculator */.y.generateSectionColumns(section.sectionProperties);
        var columns = [];
        for (var i = 0, columnBound; columnBound = columnsBounds[i]; i++) {
            columns.push(new section_column_properties/* SectionColumnProperties */.G(columnBound.width, 0));
            if (i > 0) {
                var prevBound = columnsBounds[i - 1];
                columns[i - 1].space = columnBound.x - (prevBound.x + prevBound.width);
            }
        }
        var layoutPosition = options.subDocument.isMain() ?
            new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, options.subDocument, position, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)) : null;
        return new command_states/* RulerSectionColumnsSettingsState */.WS(this.isEnabled(), interval, columns, section.sectionProperties.equalWidthColumns, layoutPosition ? layoutPosition.columnIndex : 0);
    }
    executeCore(state, options) {
        var rulerState = state;
        var changed = false;
        var modelManipulator = this.modelManipulator;
        if (rulerState.equalWidth) {
            var stateColumn = rulerState.value[0];
            if (options.param[0].space !== stateColumn.space) {
                this.history.addAndRedo(new section_properties_history_items/* SectionSpaceHistoryItem */.Mb(modelManipulator, rulerState.interval, class_unit_converter/* UnitConverter */.u.pixelsToTwips(options.param[0].space)));
                changed = true;
            }
        }
        else {
            var newColumnsInfo = [];
            var oldColumnsInfo = rulerState.value;
            utils_list.ListUtils.forEach(options.param, (p, i) => {
                changed = changed || p.width !== oldColumnsInfo[i].width || p.space !== oldColumnsInfo[i].space;
                newColumnsInfo.push(new section_column_properties/* SectionColumnProperties */.G(class_unit_converter/* UnitConverter */.u.pixelsToTwips(p.width), class_unit_converter/* UnitConverter */.u.pixelsToTwips(p.space || 0)));
            });
            if (changed)
                this.history.addAndRedo(new section_properties_history_items/* SectionColumnsInfoHistoryItem */.oo(modelManipulator, rulerState.interval, newColumnsInfo));
        }
        return changed;
    }
}

// EXTERNAL MODULE: ./src/common/commands/section-properties/section-properties-command-base.ts
var section_properties_command_base = __webpack_require__(6643);
;// CONCATENATED MODULE: ./src/common/commands/ruler/ruler-section-margins-command.ts





class RulerSectionMarginCommandBase extends command_base/* CommandBase */.eK {
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.interval = this.selection.lastSelectedInterval;
    }
    getLayoutTextBox() {
        const subDocId = this.selection.specialRunInfo.getParentSubDocument().id;
        const pos = this.selection.specialRunInfo.getPosition();
        const page = this.control.layout.pages[this.selection.pageIndex];
        return page ? page.anchoredObjectHolder.getObjectByModelPosition(this.control.layout, pos, subDocId) : null;
    }
    isEnabled(_options) {
        return super.isEnabled() && !this.selection.activeSubDocument.isTextBox() &&
            (!this.control.modelManager.model.isDocumentProtectionEnabled ||
                section_properties_command_base/* SectionPropertiesCommandBase */.V.rangePermissionIncludeFullSection(this.control, this.selection.activeSubDocument, this.selection.intervals));
    }
}
class RulerSectionMarginLeftCommand extends RulerSectionMarginCommandBase {
    getState(options = this.convertToCommandOptions(undefined)) {
        let value = 0;
        if (options.subDocument.isTextBox()) {
            const layoutTextBox = this.getLayoutTextBox();
            if (layoutTextBox)
                value = layoutTextBox.x + layoutTextBox.textBoxProperties.leftMargin;
        }
        else
            value = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.inputPosition.getMergedSectionPropertiesRaw().marginLeft);
        return new command_states/* IntervalCommandState */.dJ(this.isEnabled(options), options.intervalsInfo.interval, value);
    }
    executeCore(_state, options) {
        var interval = options.intervalsInfo.interval;
        var value = class_unit_converter/* UnitConverter */.u.pixelsToTwips(options.param);
        this.history.addAndRedo(new section_properties_history_items/* SectionMarginLeftHistoryItem */.jg(this.modelManipulator, interval, value));
        return true;
    }
}
class RulerSectionMarginRightCommand extends RulerSectionMarginCommandBase {
    getState(options = this.convertToCommandOptions(undefined)) {
        let value = 0;
        if (options.subDocument.isTextBox()) {
            const layoutTextBox = this.getLayoutTextBox();
            if (layoutTextBox) {
                const pageWidth = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.inputPosition.getMergedSectionPropertiesRaw().pageWidth);
                value = pageWidth - layoutTextBox.x - layoutTextBox.width + layoutTextBox.textBoxProperties.rightMargin;
            }
        }
        else
            value = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.inputPosition.getMergedSectionPropertiesRaw().marginRight);
        return new command_states/* IntervalCommandState */.dJ(this.isEnabled(options), options.intervalsInfo.interval, value);
    }
    executeCore(state, options) {
        var interval = state.interval;
        var value = class_unit_converter/* UnitConverter */.u.pixelsToTwips(options.param);
        this.history.addAndRedo(new section_properties_history_items/* SectionMarginRightHistoryItem */.Hh(this.modelManipulator, interval, value));
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/commands/ruler/ruler-table-column-separators-command.ts
var ruler_table_column_separators_command = __webpack_require__(3644);
// EXTERNAL MODULE: ./src/common/commands/ruler/ruler-table-commands.ts
var ruler_table_commands = __webpack_require__(3381);
;// CONCATENATED MODULE: ./src/common/commands/ruler/toggle-show-horizontal-ruler-command.ts


class ToggleShowHorizontalRulerCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), this.control.horizontalRulerControl.getVisible());
    }
    executeCore(_state, options) {
        const visible = this.control.horizontalRulerControl.getVisible();
        if (options.param == visible)
            return false;
        const toggledVisible = !visible;
        this.control.horizontalRulerControl.setVisible(toggledVisible);
        this.control.owner.adjustControl();
        this.control.owner.raiseHorizontalRulerVisibleChanged(toggledVisible);
        return true;
    }
    isEnabled(_options) {
        return !this.control.innerClientProperties.viewsSettings.isSimpleView && super.isEnabled(_options);
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/model/section/section-property-descriptor.ts
var section_property_descriptor = __webpack_require__(1207);
;// CONCATENATED MODULE: ./src/common/commands/section-properties/change-section-properties-command-base.ts

class ChangeSectionPropertiesCommandBase extends section_properties_command_base/* SectionPropertiesCommandBase */.V {
    getStateValue(_options) {
        return this.getCurrentValue();
    }
    executeCore(_state, options) {
        const newValue = options.param;
        if (this.getCurrentValue() != newValue) {
            this.getDescriptor().setProp(this.inputPosition.getMergedSectionPropertiesRaw(), newValue);
            const iter = this.getAffectedSectionsIterator(options.intervalsInfo.intervals);
            while (iter.moveNext())
                this.history.addAndRedo(new (this.getDescriptor().getHistoryItemConstructor())(this.modelManipulator, iter.obj.interval, newValue));
            return true;
        }
        return false;
    }
    getCurrentValue() {
        return this.getDescriptor().getProp(this.inputPosition.getMergedSectionPropertiesRaw());
    }
}

;// CONCATENATED MODULE: ./src/common/commands/section-properties/change-footer-offset-command.ts


class ChangeFooterOffsetCommand extends ChangeSectionPropertiesCommandBase {
    getDescriptor() {
        return section_property_descriptor/* SectionPropertyDescriptor */.Tc.footerOffset;
    }
}
class ChangeFooterOffsetRibbonCommand extends ChangeFooterOffsetCommand {
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.control.uiUnitConverter.UIToTwips(parameter);
    }
    getStateValue(options = this.convertToCommandOptions(null)) {
        return this.control.uiUnitConverter.twipsToUI(super.getStateValue(options));
    }
    isEnabled(options) {
        return super.isEnabled(options) &&
            this.control.innerClientProperties.viewsSettings.isPrintLayoutView &&
            this.selection.activeSubDocument.isHeaderFooter();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/section-properties/change-header-offset-command.ts


class ChangeHeaderOffsetCommand extends ChangeSectionPropertiesCommandBase {
    getDescriptor() {
        return section_property_descriptor/* SectionPropertyDescriptor */.Tc.headerOffset;
    }
}
class ChangeHeaderOffsetRibbonCommand extends ChangeHeaderOffsetCommand {
    DEPRECATEDConvertOptionsParameter(parameter) {
        return this.control.uiUnitConverter.UIToTwips(parameter);
    }
    getStateValue(options = this.convertToCommandOptions(null)) {
        return this.control.uiUnitConverter.twipsToUI(super.getStateValue(options));
    }
    isEnabled(options) {
        return super.isEnabled(options) &&
            this.control.innerClientProperties.viewsSettings.isPrintLayoutView &&
            this.selection.activeSubDocument.isHeaderFooter();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/section-properties/set-landscape-command.ts



class SetLandscapePageOrientationCommand extends ChangeSectionPropertiesCommandBase {
    getDescriptor() {
        return section_property_descriptor/* SectionPropertyDescriptor */.Tc.landscape;
    }
    DEPRECATEDConvertOptionsParameter(_parameter) {
        return this.isLandscape();
    }
    getStateValue() {
        return this.getCurrentValue() == this.isLandscape();
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SetLandscapePageOrientation]: true,
            [client_command/* RichEditClientCommand */.f.SetPortraitPageOrientation]: true,
        };
    }
    executeCore(state, options) {
        const history = this.history;
        history.beginTransaction();
        const isExecuted = super.executeCore(state, options);
        if (isExecuted) {
            const props = this.inputPosition.getMergedSectionPropertiesFull();
            const oldPageSize = props.pageSize;
            const iter = this.getAffectedSectionsIterator(options.intervalsInfo.intervals);
            while (iter.moveNext()) {
                history.addAndRedo(new (section_property_descriptor/* SectionPropertyDescriptor */.Tc.pageWidth.getHistoryItemConstructor())(this.modelManipulator, iter.obj.interval, oldPageSize.height));
                history.addAndRedo(new (section_property_descriptor/* SectionPropertyDescriptor */.Tc.pageHeight.getHistoryItemConstructor())(this.modelManipulator, iter.obj.interval, oldPageSize.width));
            }
        }
        history.endTransaction();
        return isExecuted;
    }
    isLandscape() {
        return true;
    }
}
class SetPortraitPageOrientationCommand extends SetLandscapePageOrientationCommand {
    isLandscape() {
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/section-properties/set-predefined-section-page-margins-commands.ts




class SetSectionPageMarginsCommandBase extends section_properties_command_base/* SectionPropertiesCommandBase */.V {
    getCurrentValue() {
        return this.inputPosition.getMergedSectionPropertiesRaw().margins.clone();
    }
    executeCore(_state, options) {
        const newValue = options.param;
        if (!this.getCurrentValue().equals(newValue)) {
            section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginLeft.setProp(this.inputPosition.getMergedSectionPropertiesRaw(), newValue.left);
            section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginTop.setProp(this.inputPosition.getMergedSectionPropertiesRaw(), newValue.top);
            section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginRight.setProp(this.inputPosition.getMergedSectionPropertiesRaw(), newValue.right);
            section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginBottom.setProp(this.inputPosition.getMergedSectionPropertiesRaw(), newValue.bottom);
            const iter = this.getAffectedSectionsIterator(options.intervalsInfo.intervals);
            this.history.beginTransaction();
            while (iter.moveNext()) {
                const interval = iter.obj.interval;
                this.setMargin(interval, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginLeft, newValue.left);
                this.setMargin(interval, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginTop, newValue.top);
                this.setMargin(interval, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginRight, newValue.right);
                this.setMargin(interval, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginBottom, newValue.bottom);
            }
            this.history.endTransaction();
            return true;
        }
        return false;
    }
    setMargin(interval, descriptor, newValue) {
        this.history.addAndRedo(new (descriptor.getHistoryItemConstructor())(this.modelManipulator, interval, newValue));
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SetSectionPageMargins]: true,
            [client_command/* RichEditClientCommand */.f.SetNarrowSectionPageMargins]: true,
            [client_command/* RichEditClientCommand */.f.SetNormalSectionPageMargins]: true,
            [client_command/* RichEditClientCommand */.f.SetModerateSectionPageMargins]: true,
            [client_command/* RichEditClientCommand */.f.SetWideSectionPageMargins]: true,
        };
    }
}
class SetSectionPageMarginsCommand extends SetSectionPageMarginsCommandBase {
    getStateValue() {
        return this.getCurrentValue();
    }
}
class SetPredefinedSectionPageMarginsCommand extends SetSectionPageMarginsCommandBase {
    getStateValue() {
        return this.getPredefinedMargins().equals(this.getCurrentValue());
    }
    DEPRECATEDConvertOptionsParameter(_parameter) {
        return this.getPredefinedMargins();
    }
}
class SetNormalSectionPageMarginsCommand extends SetPredefinedSectionPageMarginsCommand {
    getPredefinedMargins() {
        return new margins/* Margins */.m(1700, 850, 1133, 1133);
    }
}
class SetNarrowSectionPageMarginsCommand extends SetPredefinedSectionPageMarginsCommand {
    getPredefinedMargins() {
        return new margins/* Margins */.m(720, 720, 720, 720);
    }
}
class SetModerateSectionPageMarginsCommand extends SetPredefinedSectionPageMarginsCommand {
    getPredefinedMargins() {
        return new margins/* Margins */.m(1080, 1080, 1440, 1440);
    }
}
class SetWideSectionPageMarginsCommand extends SetPredefinedSectionPageMarginsCommand {
    getPredefinedMargins() {
        return new margins/* Margins */.m(2880, 2880, 1440, 1440);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/section-properties/set-section-column-count-commands.ts



class SetSectionColumnCountBaseCommand extends ChangeSectionPropertiesCommandBase {
    getDescriptor() {
        return section_property_descriptor/* SectionPropertyDescriptor */.Tc.columnCount;
    }
    isEnabled(options) {
        return super.isEnabled(options) && this.selection.activeSubDocument.isMain();
    }
    getCurrentValue() {
        return this.inputPosition.getMergedSectionPropertiesRaw().equalWidthColumns ?
            super.getCurrentValue() :
            undefined;
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SetSectionOneColumn]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionTwoColumns]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionThreeColumns]: true,
        };
    }
    executeCore(state, options) {
        const history = this.history;
        history.beginTransaction();
        const isExecuted = super.executeCore(state, options);
        if (isExecuted) {
            const iter = this.getAffectedSectionsIterator(options.intervalsInfo.intervals);
            while (iter.moveNext())
                history.addAndRedo(new (section_property_descriptor/* SectionPropertyDescriptor */.Tc.equalWidthColumns.getHistoryItemConstructor())(this.modelManipulator, iter.obj.interval, true));
        }
        history.endTransaction();
        return isExecuted;
    }
}
class SetSectionColumnCountCommand extends SetSectionColumnCountBaseCommand {
}
class SetSectionColumnPredefinedCountCommand extends SetSectionColumnCountBaseCommand {
    getStateValue(options) {
        return options.param === this.getCurrentValue();
    }
}
class SetSectionOneColumnCommand extends SetSectionColumnPredefinedCountCommand {
    DEPRECATEDConvertOptionsParameter(_parameter) {
        return 1;
    }
}
class SetSectionTwoColumnsCommand extends SetSectionColumnPredefinedCountCommand {
    DEPRECATEDConvertOptionsParameter(_parameter) {
        return 2;
    }
}
class SetSectionThreeColumnsCommand extends SetSectionColumnPredefinedCountCommand {
    DEPRECATEDConvertOptionsParameter(_parameter) {
        return 3;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/section-properties/set-section-paper-kind-commands.ts




class SetSectionPageSizeCommand extends section_properties_command_base/* SectionPropertiesCommandBase */.V {
    executeCore(_state, options) {
        const parameters = options.param;
        var modelManipulator = this.modelManipulator;
        const history = this.history;
        const iter = this.getAffectedSectionsIterator(options.intervalsInfo.intervals);
        const newLandscape = parameters.size.width > parameters.size.height;
        let changed = false;
        history.beginTransaction();
        while (iter.moveNext()) {
            const sectionInterval = iter.obj.interval;
            const secProps = iter.obj.sectionProperties;
            var oldLandscape = secProps.landscape;
            if (parameters.updateOrientation && oldLandscape !== newLandscape) {
                history.addAndRedo(new section_properties_history_items/* SectionLandscapeHistoryItem */.V9(modelManipulator, sectionInterval, newLandscape));
                changed = true;
            }
            var newWidth = parameters.updateOrientation || !oldLandscape ? parameters.size.width : parameters.size.height;
            if (secProps.pageWidth !== newWidth) {
                history.addAndRedo(new section_properties_history_items/* SectionPageWidthHistoryItem */.x6(modelManipulator, sectionInterval, newWidth));
                changed = true;
            }
            var newHeigth = parameters.updateOrientation || !oldLandscape ? parameters.size.height : parameters.size.width;
            if (secProps.pageHeight !== newHeigth) {
                history.addAndRedo(new section_properties_history_items/* SectionPageHeightHistoryItem */.lf(modelManipulator, sectionInterval, newHeigth));
                changed = true;
            }
            const newPaperKind = parameters.paperKind;
            if (secProps.paperKind !== newPaperKind) {
                history.addAndRedo(new section_properties_history_items/* SectionPaperKindHistoryItem */.ZJ(modelManipulator, sectionInterval, newPaperKind));
                changed = true;
            }
        }
        history.endTransaction();
        return changed;
    }
    getStateValue(_options) {
        return this.inputPosition.getMergedSectionPropertiesRaw().pageSize;
    }
    static compareSizeByTwoDimensions(a, b) {
        return a.equals(b) || a.width == b.height && a.height == b.width;
    }
}
class SetSectionPaperKindCommand extends SetSectionPageSizeCommand {
    DEPRECATEDConvertOptionsParameter(_parameter) {
        const paperKind = this.getPaperKind();
        const newSize = paper_kind/* PaperSizeConverter */.Y.calculatePaperSize(paperKind);
        const currentSize = this.inputPosition.getMergedSectionPropertiesRaw().pageSize;
        const equal = SetSectionPageSizeCommand.compareSizeByTwoDimensions(currentSize, newSize);
        return equal ? { size: currentSize, updateOrientation: false, paperKind: paperKind } : { size: newSize, updateOrientation: false, paperKind: paperKind };
    }
    getStateValue(_options) {
        const newSize = paper_kind/* PaperSizeConverter */.Y.calculatePaperSize(this.getPaperKind());
        const currentSize = this.inputPosition.getMergedSectionPropertiesRaw().pageSize;
        return SetSectionPageSizeCommand.compareSizeByTwoDimensions(newSize, currentSize) ? currentSize : null;
    }
    getStateCore(enabled, intervals, value) {
        const state = super.getStateCore(enabled, intervals, value);
        state.checked = value !== null;
        return state;
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SetSectionLetterPaperKind]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionLegalPaperKind]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionFolioPaperKind]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionA4PaperKind]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionA5PaperKind]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionA6PaperKind]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionB5PaperKind]: true,
            [client_command/* RichEditClientCommand */.f.SetSectionExecutivePaperKind]: true,
        };
    }
}
class SetSectionLetterPaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.Letter; }
}
class SetSectionLegalPaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.Legal; }
}
class SetSectionFolioPaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.Folio; }
}
class SetSectionA4PaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.A4; }
}
class SetSectionA5PaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.A5; }
}
class SetSectionA6PaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.A6; }
}
class SetSectionB5PaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.B5; }
}
class SetSectionExecutivePaperKindCommand extends SetSectionPaperKindCommand {
    getPaperKind() { return paper_kind/* PaperKind */.e.Executive; }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-document-end-command.ts


class GoToDocumentEndCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _options) {
        this.control.layoutFormatterManager.formatSyncAllDocument();
        const subDocument = this.selection.activeSubDocument;
        const layout = this.control.layout;
        const lastPage = subDocument.isMain() ? layout.getLastValidPage() : layout.pages[this.selection.pageIndex];
        if (!this.extendSelection()) {
            var pageAreas = lastPage.mainSubDocumentPageAreas;
            var lastPageArea = pageAreas[pageAreas.length - 1];
            var lastColumn = lastPageArea.columns[lastPageArea.columns.length - 1];
            var lastRow = lastColumn.rows[lastColumn.rows.length - 1];
            var boxIndex = lastRow.getLastVisibleBoxIndex();
            if (boxIndex >= 0) {
                var box = lastRow.boxes[boxIndex];
                this.setSelection((subDocument.isMain() ? lastPage.getPosition() : 0) + lastPageArea.pageOffset + lastColumn.pageAreaOffset + lastRow.columnOffset + box.getEndPosition());
            }
            else {
                var box = lastRow.boxes[0];
                this.setSelection((subDocument.isMain() ? lastPage.getPosition() : 0) + lastPageArea.pageOffset + lastColumn.pageAreaOffset + lastRow.columnOffset + box.rowOffset);
            }
        }
        else
            this.setSelection(subDocument.isMain() ? lastPage.getEndPosition() : lastPage.otherPageAreas[subDocument.id].getEndPosition());
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class GoToDocumentEndCommand extends GoToDocumentEndCommandBase {
    setSelection(position) {
        this.selection.deprecatedSetSelection(position, position, false, -1, true);
    }
    extendSelection() {
        return false;
    }
}
class ExtendGoToDocumentEndCommand extends GoToDocumentEndCommandBase {
    setSelection(position) {
        this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false));
    }
    extendSelection() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-document-start-command.ts


class GoToDocumentStartCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _options) {
        if (this.control.layout.validPageCount < 1)
            this.control.layoutFormatterManager.forceFormatPage(0);
        this.setSelection(this.control.layout.pages[0].getPosition());
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class GoToDocumentStartCommand extends GoToDocumentStartCommandBase {
    setSelection(position) {
        this.selection.deprecatedSetSelection(position, position, false, -1, true);
    }
}
class ExtendGoToDocumentStartCommand extends GoToDocumentStartCommandBase {
    setSelection(position) {
        this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false));
    }
}

// EXTERNAL MODULE: ./src/common/layout/table/table-cell-iterator.ts
var table_cell_iterator = __webpack_require__(3317);
;// CONCATENATED MODULE: ./src/common/commands/selection/selection-command-base.ts


class SelectionCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-line-vertically-command-base.ts











class GoToLineVerticallyCommandBase extends SelectionCommandBase {
    extendTableCellsSelection() {
        const currentLayoutPosition = this.getInitialLayoutPosition();
        if (!currentLayoutPosition)
            return false;
        const cellIterator = new table_cell_iterator/* TableCellIterator */.L(currentLayoutPosition, this.control.layout, this.control.measurer);
        const selectedCells = this.getSelectedCells();
        const areCellsSelectedInSeries = this.selection.tableInfo.extendedData.areCellsSelectedInSeries;
        if (this.extendSelection() && (selectedCells.length > 1 || this.canGoToNextTableRow(cellIterator)) && areCellsSelectedInSeries) {
            let isForward = this.selection.isCollapsed() ? this.isForwardDirection() : this.selection.forwardDirection;
            let table = selectedCells[0][0].parentRow.parentTable;
            let currentRow = this.getCurrentTableRow(selectedCells);
            let currentRowIndex = search.SearchUtils.binaryIndexOf(table.rows, (row) => row.getStartPosition() - currentRow.getStartPosition());
            if (this.checkTableRowIndex(currentRowIndex, table.rows.length)) {
                let nextRow = this.getNextTableRow(table, currentRowIndex);
                let firstSelectedCell = selectedCells[0][0];
                let lastSelectedCell = selectedCells[selectedCells.length - 1][selectedCells[selectedCells.length - 1].length - 1];
                return this.performTableCellsSelection(isForward, nextRow, firstSelectedCell, lastSelectedCell);
            }
            this.performSelectionOnTheLastTableRow(isForward, selectedCells);
        }
        return false;
    }
    getSelectedCells() {
        let selectedCells = utils_list.ListUtils.map(this.selection.tableInfo.rawData.rows, (rowInfo) => utils_list.ListUtils.map(rowInfo.cells, (cellInfo) => cellInfo.cell));
        let position = layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.createLightLayoutPosition(this.control.layout, this.selection.activeSubDocument, this.getInitialSelectionEndPosition(), this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, true, false);
        if (!selectedCells.length && position.row.tableCellInfo) {
            let modelTable = position.row.tableCellInfo.parentRow.parentTable.logicInfo.grid.table;
            let modelRowIndex = position.row.tableCellInfo.parentRow.rowIndex;
            selectedCells = [];
            for (let i = 0; i <= modelRowIndex; i++)
                selectedCells.push(modelTable.rows[i].cells);
        }
        return selectedCells;
    }
    getLogPositionByX(layoutPosition, x) {
        var newLayoutPosition = layoutPosition.clone();
        var xOffsetBoxLevel = Math.max(0, x - (newLayoutPosition.page.x + newLayoutPosition.pageArea.x + newLayoutPosition.column.x + newLayoutPosition.row.x));
        var boxIndex = search.SearchUtils.normedInterpolationIndexOf(newLayoutPosition.row.boxes, (b) => b.x, xOffsetBoxLevel);
        if (boxIndex < 0)
            boxIndex = 0;
        newLayoutPosition.box = newLayoutPosition.row.boxes[boxIndex];
        var isNoVisibleBoxesInRow = false;
        if (!newLayoutPosition.box.isVisible()) {
            var lastVisibleBoxIndexInRow = newLayoutPosition.row.getLastVisibleBoxIndex();
            if (lastVisibleBoxIndexInRow < 0) {
                lastVisibleBoxIndexInRow = 0;
                isNoVisibleBoxesInRow = true;
            }
            newLayoutPosition.boxIndex = lastVisibleBoxIndexInRow;
            newLayoutPosition.box = newLayoutPosition.row.boxes[lastVisibleBoxIndexInRow];
        }
        var xOffsetCharLevel = isNoVisibleBoxesInRow ? 0 : xOffsetBoxLevel - newLayoutPosition.box.x;
        return newLayoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box) + newLayoutPosition.box.calculateCharOffsetByPointX(this.control.measurer, xOffsetCharLevel);
    }
    isEndOfLine(layoutPosition, position) {
        return position === layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + layoutPosition.row.getLastBoxEndPositionInRow();
    }
    selectTableCellsRange(parameters) {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SelectTableCellsRange).execute(this.control.commandManager.isPublicApiCall, parameters);
    }
    executeCore(_state, _options) {
        if (this.extendTableCellsSelection())
            return true;
        var selection = this.selection;
        var layout = this.control.layout;
        var subDocument = this.selection.activeSubDocument;
        let initialLayoutPosition = this.getInitialLayoutPosition();
        if (!initialLayoutPosition)
            return false;
        var keepX = selection.keepX;
        if (keepX < 0)
            keepX = initialLayoutPosition.page.x + initialLayoutPosition.pageArea.x + initialLayoutPosition.column.x + initialLayoutPosition.row.x + initialLayoutPosition.box.x +
                initialLayoutPosition.box.getCharOffsetXInPixels(this.control.measurer, initialLayoutPosition.charOffset);
        var newLayoutPosition;
        var cellIterator = new table_cell_iterator/* TableCellIterator */.L(initialLayoutPosition, layout, this.control.measurer);
        if (this.canAdvanceToNextRow(cellIterator))
            newLayoutPosition = cellIterator.getModifyPosition();
        else {
            var currentPosition = initialLayoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character);
            newLayoutPosition = this.getNewLayoutPositionRowLevel(initialLayoutPosition);
            if (newLayoutPosition && this.extendSelection()) {
                var isEdgeDocumentPosition = currentPosition == 0 || currentPosition == subDocument.getDocumentEndPosition();
                var needKeepCurrentLine = isEdgeDocumentPosition && currentPosition != this.getLogPositionByX(initialLayoutPosition, keepX);
                if (needKeepCurrentLine)
                    newLayoutPosition = initialLayoutPosition.clone();
            }
            else if (!newLayoutPosition) {
                var edgeLinePosition = this.getPositionForEdgeLine(initialLayoutPosition);
                if (this.extendSelection() && currentPosition != edgeLinePosition) {
                    this.selection.changeState((newState) => newState.extendLastInterval(edgeLinePosition).setKeepX(keepX)
                        .setEndOfLine(this.isEndOfLine(initialLayoutPosition, edgeLinePosition)));
                    return true;
                }
                else if (!this.extendSelection()) {
                    var lastInterval = selection.lastSelectedInterval;
                    if (lastInterval && lastInterval.length > 0)
                        selection.deprecatedSetSelection(edgeLinePosition, edgeLinePosition, this.isEndOfLine(initialLayoutPosition, edgeLinePosition), keepX, true);
                }
                return false;
            }
        }
        var newLogPosition = this.getLogPositionByX(newLayoutPosition, keepX);
        if (newLogPosition == initialLayoutPosition.getLogPosition())
            return false;
        var endOfLine = this.isEndOfLine(newLayoutPosition, newLogPosition);
        if (this.extendSelection()) {
            this.selection.changeState((newState) => newState.extendLastInterval(newLogPosition).setKeepX(keepX).setEndOfLine(endOfLine));
            this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_()
                .byModelPosition(this.selection)
                .setModelPosition(newLogPosition)
                .useStdRelativePosition()
                .useStdOffset());
        }
        else
            selection.deprecatedSetSelection(newLogPosition, newLogPosition, endOfLine, keepX, true);
        return true;
    }
    getInitialLayoutPosition() {
        const selection = this.selection;
        const subDocument = selection.activeSubDocument;
        const initialSelectionEndPosition = this.getInitialSelectionEndPosition();
        const useBoxEndPos = selection.endOfLine;
        return (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, initialSelectionEndPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, initialSelectionEndPosition, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(useBoxEndPos), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
    }
    canGoToNextTableRow(_cellInterator) {
        return false;
    }
    checkTableRowIndex(_rowIndex, _length) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    getCurrentTableRow(_selectedCells) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    getNextTableRow(_table, _rowIndex) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    performTableCellsSelection(isForward, nextRow, firstCell, lastCell) {
        let lastSelectedCell = isForward ? lastCell : firstCell;
        let lastCellIndex = table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(nextRow, table_utils/* TableCellUtils */.V.getStartColumnIndex(lastSelectedCell));
        const newFirstCell = isForward ? firstCell : lastCell;
        const newLastCell = nextRow.cells[lastCellIndex];
        if (newFirstCell === newLastCell) {
            const firstPos = newFirstCell.startParagraphPosition.value;
            const lastPos = newFirstCell.endParagrapPosition.value - 1;
            this.selection.changeState(state => state.setInterval(fixed.FixedInterval.fromPositions(firstPos, lastPos)).setForwardDirection(isForward));
            return true;
        }
        else
            return this.selectTableCellsRange({
                firstCell: newFirstCell,
                lastCell: newLastCell
            });
    }
    performSelectionOnTheLastTableRow(_isForward, _selectedCells) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    isForwardDirection() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-line-above-command.ts



class GoToLineAboveCommand extends GoToLineVerticallyCommandBase {
    extendSelection() {
        return false;
    }
    getPositionForEdgeLine(_layoutPosition) {
        var lastInterval = this.selection.lastSelectedInterval;
        return lastInterval.start;
    }
    canAdvanceToNextRow(cellIterator) {
        return cellIterator.tryAdvanceToAboveRow();
    }
    getNewLayoutPositionRowLevel(oldLayoutPosition) {
        var newLayoutPosition = oldLayoutPosition.clone();
        if (newLayoutPosition.advanceToPrevRow(this.control.layout))
            return newLayoutPosition;
        else
            return null;
    }
    getInitialSelectionEndPosition() {
        if (this.extendSelection() && this.selection.forwardDirection)
            return this.selection.lastSelectedInterval.end;
        else
            return this.selection.lastSelectedInterval.start;
    }
    isForwardDirection() {
        return false;
    }
}
class ExtendGoToLineAboveCommand extends GoToLineAboveCommand {
    extendSelection() {
        return true;
    }
    getPositionForEdgeLine(layoutPosition) {
        return layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row);
    }
    canAdvanceToNextRow(_cellIterator) {
        return false;
    }
    canGoToNextTableRow(cellIterator) {
        return cellIterator.canAdvanceToAboveRow();
    }
    getCurrentTableRow(selectedCells) {
        let isForward = this.selection.forwardDirection;
        return isForward ? selectedCells[selectedCells.length - 1][selectedCells[selectedCells.length - 1].length - 1].parentRow : selectedCells[0][0].parentRow;
    }
    checkTableRowIndex(rowIndex, _length = 0) {
        return rowIndex > -1 && rowIndex != 0;
    }
    getNextTableRow(table, rowIndex) {
        return table.rows[rowIndex - 1];
    }
    performSelectionOnTheLastTableRow(isForward, selectedCells) {
        if (!isForward) {
            let table = selectedCells[0][0].parentRow.parentTable;
            let lastSelectedCell = selectedCells[selectedCells.length - 1][selectedCells[selectedCells.length - 1].length - 1];
            const firstRowIndex = search.SearchUtils.binaryIndexOf(table.rows, (row) => row.getStartPosition() - lastSelectedCell.parentRow.getStartPosition());
            const lastRowIndex = 0;
            this.selectTableCellsRange({
                firstCell: table.rows[firstRowIndex].cells[table.rows[firstRowIndex].cells.length - 1],
                lastCell: table.rows[lastRowIndex].cells[0]
            });
        }
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-line-below-command.ts



class LineDownCommand extends GoToLineVerticallyCommandBase {
    extendSelection() {
        return false;
    }
    getPositionForEdgeLine(_layoutPosition) {
        var lastIntervalEnd = this.selection.lastSelectedInterval.end;
        if (this.selection.activeSubDocument.getDocumentEndPosition() == lastIntervalEnd)
            lastIntervalEnd--;
        return lastIntervalEnd;
    }
    canAdvanceToNextRow(cellIterator) {
        return cellIterator.tryAdvanceToBelowRow();
    }
    getNewLayoutPositionRowLevel(oldLayoutPosition) {
        var newLayoutPosition = oldLayoutPosition.clone();
        if (newLayoutPosition.advanceToNextRow(this.control.layout))
            return newLayoutPosition;
        return null;
    }
    getInitialSelectionEndPosition() {
        if (this.extendSelection() && !this.selection.forwardDirection)
            return this.selection.lastSelectedInterval.start;
        else
            return this.selection.lastSelectedInterval.end;
    }
    isForwardDirection() {
        return true;
    }
}
class ExtendLineDownCommand extends LineDownCommand {
    extendSelection() {
        return true;
    }
    getPositionForEdgeLine(layoutPosition) {
        return layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + layoutPosition.row.getLastBoxEndPositionInRow();
    }
    canAdvanceToNextRow(_cellIterator) {
        return false;
    }
    canGoToNextTableRow(cellInterator) {
        return cellInterator.canAdvanceToBelowRow();
    }
    getCurrentTableRow(selectedCells) {
        return this.selection.forwardDirection ? selectedCells[selectedCells.length - 1][0].parentRow : selectedCells[0][0].parentRow;
    }
    checkTableRowIndex(rowIndex, length = 0) {
        return rowIndex > -1 && rowIndex < length - 1;
    }
    getNextTableRow(table, rowIndex) {
        return table.rows[rowIndex + 1];
    }
    performSelectionOnTheLastTableRow(isForward, selectedCells) {
        if (isForward) {
            let table = selectedCells[0][0].parentRow.parentTable;
            const firstRowIndex = search.SearchUtils.binaryIndexOf(table.rows, (row) => row.getStartPosition() - selectedCells[0][0].parentRow.getStartPosition());
            const lastRowIndex = table.rows.length - 1;
            this.selectTableCellsRange({
                firstCell: table.rows[firstRowIndex].cells[0],
                lastCell: table.rows[lastRowIndex].cells[table.rows[lastRowIndex].cells.length - 1]
            });
        }
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-line-end-command.ts



class GoToLineEndCommandBase extends SelectionCommandBase {
    executeCore(_state, _options) {
        var endSelection = this.getEndPosition();
        if (endSelection < 0)
            return false;
        this.setSelection(endSelection, -1);
        return true;
    }
    getEndPosition() {
        var selection = this.selection;
        this.endOfLine = true;
        var position = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        var subDocument = this.selection.activeSubDocument;
        var layoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, position, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, position, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (!layoutPosition)
            return -1;
        return this.getEndPositionCore(layoutPosition);
    }
}
class GoToLineEndCommand extends GoToLineEndCommandBase {
    setSelection(pos, keepX) {
        var selection = this.selection;
        selection.deprecatedSetSelection(pos, pos, this.endOfLine, keepX, true);
    }
    getEndPositionCore(layoutPosition) {
        var lastBoxInRow = layoutPosition.row.getLastVisibleBox();
        if (!lastBoxInRow)
            this.endOfLine = false;
        return layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + (lastBoxInRow ? lastBoxInRow.getEndPosition() : 0);
    }
}
class ExtendGoToLineEndCommand extends GoToLineEndCommandBase {
    setSelection(pos, keepX) {
        this.selection.changeState((newState) => newState.extendLastInterval(pos).setKeepX(keepX).setEndOfLine(this.endOfLine));
    }
    getEndPositionCore(layoutPosition) {
        return layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + layoutPosition.row.getLastBoxEndPositionInRow();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-line-start-command.ts



class GoToLineStartCommandBase extends SelectionCommandBase {
    getStartPosition() {
        var selection = this.selection;
        var position = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        var subDocument = this.selection.activeSubDocument;
        var layoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, position, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, position, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (!layoutPosition)
            return -1;
        return layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row);
    }
}
class GoToLineStartCommand extends GoToLineStartCommandBase {
    executeCore(_state, _options) {
        var pos = this.getStartPosition();
        if (pos < 0)
            return false;
        this.selection.deprecatedSetSelection(pos, pos, false, -1, true);
        return true;
    }
}
class ExtendGoToLineStartCommand extends GoToLineStartCommandBase {
    executeCore(_state, _options) {
        const pos = this.getStartPosition();
        if (pos < 0)
            return false;
        this.selection.changeState((newState) => newState.extendLastInterval(pos).resetKeepX().setEndOfLine(false));
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-next-character-command.ts






class GoToNextCharacterCommandBase extends SelectionCommandBase {
    executeCore(_state, _options) {
        var position = this.getPosition();
        if (position == -1)
            return false;
        this.setSelection(position);
        return true;
    }
    getPosition() {
        var selection = this.selection;
        var subDocument = this.selection.activeSubDocument;
        var initialModelPosition = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        var initialLayoutPosition = subDocument.isMain()
            ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, initialModelPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setCustom(true, true, false, false))
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, initialModelPosition, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setCustom(true, true, false, false));
        var nextCharLayoutPosition;
        if (this.extendSelection()) {
            nextCharLayoutPosition = initialLayoutPosition;
            if (nextCharLayoutPosition.getLogPosition() == initialModelPosition) {
                nextCharLayoutPosition = this.getNextCharacterPosition(nextCharLayoutPosition);
                if (nextCharLayoutPosition.isPositionBeforeFirstBoxInRow())
                    nextCharLayoutPosition = this.getNextCharacterPosition(nextCharLayoutPosition);
            }
            else if (nextCharLayoutPosition.isPositionBeforeFirstBoxInRow())
                nextCharLayoutPosition = this.getNextCharacterPosition(nextCharLayoutPosition);
            else if (nextCharLayoutPosition.getLogPosition() < initialModelPosition)
                nextCharLayoutPosition = this.getNextCharacterPosition(nextCharLayoutPosition);
        }
        else {
            if (!selection.isCollapsed()) {
                var pos;
                if (selection.forwardDirection) {
                    pos = initialLayoutPosition.getLogPosition();
                }
                else {
                    var selectionEndPosition = selection.lastSelectedInterval.end;
                    pos = (subDocument.isMain()
                        ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, selectionEndPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true))
                        : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, selectionEndPosition, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true))).getLogPosition();
                }
                return pos < subDocument.getDocumentEndPosition() ? pos : pos - 1;
            }
            nextCharLayoutPosition = initialLayoutPosition;
            var needFindPosition = nextCharLayoutPosition.getLogPosition() == initialModelPosition;
            if (!needFindPosition)
                needFindPosition = fields_field/* Field */.gN.binaryIndexOf(subDocument.fields, initialModelPosition + 1) >= 0;
            if (needFindPosition) {
                if (nextCharLayoutPosition.box.getLength() == nextCharLayoutPosition.charOffset)
                    nextCharLayoutPosition = this.getNextCharacterPosition(nextCharLayoutPosition);
                do {
                    var prevLP = nextCharLayoutPosition;
                    nextCharLayoutPosition = this.getNextCharacterPosition(prevLP);
                    if (prevLP === nextCharLayoutPosition) {
                        nextCharLayoutPosition = initialLayoutPosition;
                        break;
                    }
                } while (!(nextCharLayoutPosition.box.isVisible() || nextCharLayoutPosition.isPositionBeforeFirstBoxInRow()));
            }
        }
        const nextCharModelPosition = Math.max(initialModelPosition, nextCharLayoutPosition.getLogPosition());
        return nextCharModelPosition == initialModelPosition ? -1 : nextCharModelPosition;
    }
    getNextCharacterPosition(layoutPosition) {
        const nextLayoutPosition = layoutPosition.clone();
        if (nextLayoutPosition.charOffset + 1 <= nextLayoutPosition.box.getLength()) {
            nextLayoutPosition.charOffset++;
            return nextLayoutPosition;
        }
        nextLayoutPosition.charOffset = 0;
        if (nextLayoutPosition.boxIndex + 1 < nextLayoutPosition.row.boxes.length) {
            nextLayoutPosition.boxIndex++;
            nextLayoutPosition.box = nextLayoutPosition.row.boxes[nextLayoutPosition.boxIndex];
            return nextLayoutPosition;
        }
        nextLayoutPosition.boxIndex = 0;
        if (nextLayoutPosition.advanceToNextRow(this.control.layout)) {
            nextLayoutPosition.box = nextLayoutPosition.row.boxes[0];
            return nextLayoutPosition;
        }
        else
            return layoutPosition;
    }
}
class GoToNextCharacterCommand extends GoToNextCharacterCommandBase {
    setSelection(position) {
        this.selection.deprecatedSetSelection(position, position, false, -1, true);
    }
    extendSelection() {
        return false;
    }
}
class ExtendGoToNextCharacterCommand extends GoToNextCharacterCommandBase {
    setSelection(position) {
        if (!this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false)))
            ExtendGoToNextCharacterCommand.jumpThroughFieldToRight(this.selection);
    }
    extendSelection() {
        return true;
    }
    executeCore(state, options) {
        const selection = this.selection;
        const tableInfo = selection.tableInfo;
        const rawTblInfo = tableInfo.rawData;
        const canSelectCell = tableInfo.isSelected && rawTblInfo.areCellsSelectedInSeries &&
            rawTblInfo.atLeastOneCellFullySelected(selection.intervals);
        if (!canSelectCell)
            return super.executeCore(state, options);
        const forward = selection.forwardDirection || rawTblInfo.firstRowInfo.cells.length == 1;
        const lastRow = forward ? rawTblInfo.lastRowInfo : rawTblInfo.firstRowInfo;
        const cell = lastRow.row[(forward ? utils_list.ListUtils.last(lastRow.cells) : lastRow.cells[0]).cellIndex + 1];
        if (cell) {
            return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SelectTableCellsRange).execute(this.control.commandManager.isPublicApiCall, forward ? {
                firstCell: rawTblInfo.firstCell,
                lastCell: cell
            } : {
                firstCell: rawTblInfo.lastCell,
                lastCell: cell
            });
        }
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ExtendLineDown).execute(this.control.commandManager.isPublicApiCall);
    }
    static jumpThroughFieldToRight(selection) {
        const fields = selection.activeSubDocument.fields;
        if (fields.length == 0 || selection.forwardDirection)
            return;
        var interval = selection.lastSelectedInterval;
        var position = interval.start;
        var field = fields[Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(fields, position + 1))];
        if (field.getFieldStartPosition() == position)
            selection.changeState((newState) => newState.extendLastInterval(field.getFieldEndPosition()).setEndOfLine(false).resetKeepX());
    }
}

// EXTERNAL MODULE: ./src/common/layout/layout-point.ts
var layout_point = __webpack_require__(7012);
;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-next-page-command.ts




class GoToNextPageCommandBase extends SelectionCommandBase {
    getPosition() {
        var selection = this.selection;
        var initPosition = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        var layoutPosition = new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, this.selection.activeSubDocument, initPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (!layoutPosition)
            return -1;
        var charOffset = initPosition - layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box);
        var x = layoutPosition.pageArea.x + layoutPosition.column.x + layoutPosition.row.x + layoutPosition.box.x + layoutPosition.box.getCharOffsetXInPixels(this.control.measurer, charOffset);
        var y = layoutPosition.pageArea.y + layoutPosition.column.y + layoutPosition.row.y + layoutPosition.box.y;
        var siblingPageIndex = layoutPosition.pageIndex + 1;
        var siblingPage = this.control.layoutFormatterManager.forceFormatPage(siblingPageIndex);
        if (siblingPage) {
            var point = new layout_point/* LayoutPoint */.T(siblingPageIndex, x, y);
            var htr = this.control.hitTestManager.calculate(point, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.selection.activeSubDocument);
            if (!this.extendSelection())
                htr.correctAsVisibleBox();
            return htr.getPosition();
        }
        else
            return this.selection.activeSubDocument.getDocumentEndPosition() - 1;
    }
    isEnabled() {
        return super.isEnabled() && this.selection.activeSubDocument.isMain();
    }
}
class GoToNextPageCommand extends GoToNextPageCommandBase {
    executeCore(_state, _parameter) {
        var selection = this.selection;
        var position = this.getPosition();
        if (position < 0)
            return false;
        selection.deprecatedSetSelection(position, position, selection.endOfLine, selection.keepX, true);
        return true;
    }
    extendSelection() {
        return false;
    }
}
class ExtendGoToNextPageCommand extends GoToNextPageCommandBase {
    executeCore(_state, _parameter) {
        const position = this.getPosition();
        if (position < 0)
            return false;
        this.selection.changeState((newState) => newState.extendLastInterval(position));
        return true;
    }
    extendSelection() {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/word-bounds-engine/layout-word-bounds.ts + 4 modules
var layout_word_bounds = __webpack_require__(726);
;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-next-word-command.ts




class GoToNextWordCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    getStartPosition() {
        var selection = this.selection;
        return selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class GoToNextWordCommand extends GoToNextWordCommandBase {
    executeCore(_state, _options) {
        const selection = this.selection;
        const subDocument = this.selection.activeSubDocument;
        let position = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordEndBound(this.control.layout, subDocument, selection, this.getStartPosition(), true);
        if (position == subDocument.getDocumentEndPosition())
            position--;
        selection.deprecatedSetSelection(position, position, false, selection.keepX, true);
        return true;
    }
}
class ExtendGoToNextWordCommand extends GoToNextWordCommandBase {
    executeCore(_state, _options) {
        const position = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordEndBound(this.control.layout, this.selection.activeSubDocument, this.selection, this.getStartPosition(), true);
        if (!this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false)))
            ExtendGoToNextCharacterCommand.jumpThroughFieldToRight(this.selection);
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-main-sub-document.ts + 3 modules
var layout_box_iterator_main_sub_document = __webpack_require__(1437);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-other-sub-document.ts
var layout_box_iterator_other_sub_document = __webpack_require__(2507);
;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-paragraph-end-command.ts






class GoToParagraphEndCommandBase extends SelectionCommandBase {
    executeCore(_state, _options) {
        var selection = this.selection;
        var position = this.getPositionEndParagraph();
        if (position < 0)
            return false;
        if (this.extendSelection())
            this.selection.changeState((newState) => newState.extendLastInterval(position).setEndOfLine(false));
        else
            selection.deprecatedSetSelection(position, position, false, selection.keepX, true);
        return true;
    }
    getPositionEndParagraph() {
        var selection = this.selection;
        const subDocument = this.selection.activeSubDocument;
        var layout = this.control.layout;
        const lastPageEndPos = subDocument.isMain() ? layout.getLastValidPage().getEndPosition() : layout.pages[selection.pageIndex].otherPageAreas[subDocument.id].getEndPosition();
        var currentPos = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        const boxIterator = subDocument.isMain() ? new layout_box_iterator_main_sub_document/* LayoutBoxIteratorMainSubDocument */.I(subDocument, layout, currentPos, lastPageEndPos) :
            new layout_box_iterator_other_sub_document/* LayoutBoxIteratorOtherSubDocument */.F(subDocument, layout, currentPos, lastPageEndPos, this.selection.pageIndex);
        if (!boxIterator.isInitialized())
            return -1;
        while (boxIterator.moveNext(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true))) {
            if (boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark || boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.SectionMark) {
                boxIterator.moveNext(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
                if (boxIterator.position.getLogPosition() == lastPageEndPos)
                    return boxIterator.position.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box);
                return boxIterator.position.getLogPosition();
            }
        }
        if (boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark || boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.SectionMark)
            return boxIterator.position.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box);
        return boxIterator.position.getLogPosition();
    }
}
class GoToParagraphEndCommand extends GoToParagraphEndCommandBase {
    extendSelection() {
        return false;
    }
}
class ExtendGoToParagraphEndCommand extends GoToParagraphEndCommandBase {
    extendSelection() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-paragraph-start-command.ts






class GoToParagraphStartCommandBase extends SelectionCommandBase {
    executeCore(_state, _options) {
        var position = this.getPositionStartParagraph();
        if (position < 0)
            return false;
        var selection = this.selection;
        if (this.extendSelection())
            this.selection.changeState((newState) => newState.extendLastInterval(position).setEndOfLine(false));
        else
            selection.deprecatedSetSelection(position, position, false, selection.keepX, true);
        return true;
    }
    getPositionStartParagraph() {
        const selection = this.selection;
        const layout = this.control.layout;
        const subDocument = this.selection.activeSubDocument;
        var firstPageStartPos = layout.pages[0].getPosition();
        var currentPos = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        let boxIterator = subDocument.isMain() ? new layout_box_iterator_main_sub_document/* LayoutBoxIteratorMainSubDocument */.I(subDocument, layout, firstPageStartPos, currentPos) : new layout_box_iterator_other_sub_document/* LayoutBoxIteratorOtherSubDocument */.F(subDocument, layout, firstPageStartPos, currentPos, this.selection.pageIndex);
        if (!boxIterator.isInitialized())
            return -1;
        boxIterator.movePrev(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (boxIterator.position.getLogPosition() ==
            (this.selection.activeSubDocument.isMain() ? layout.getLastValidPage().getEndPosition() : layout.pages[selection.pageIndex].otherPageAreas[subDocument.id].getEndPosition())) {
            if (boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark || boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.SectionMark)
                return boxIterator.position.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box);
            return boxIterator.position.getLogPosition();
        }
        if (boxIterator.position.charOffset == 0)
            boxIterator.movePrev(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        while (boxIterator.movePrev(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true))) {
            if (boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark || boxIterator.position.box.getType() == layout_box/* LayoutBoxType */.KH.SectionMark) {
                boxIterator.moveNext(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
                return boxIterator.position.getLogPosition();
            }
        }
        return firstPageStartPos;
    }
}
class GoToParagraphStartCommand extends GoToParagraphStartCommandBase {
    extendSelection() {
        return false;
    }
}
class ExtendGoToParagraphStartCommand extends GoToParagraphStartCommandBase {
    extendSelection() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-prev-character-command.ts






class GoToPrevCharacterCommandBase extends SelectionCommandBase {
    executeCore(_state, _options) {
        var position = this.getPosition();
        if (position == -1)
            return false;
        this.setSelection(position);
        return true;
    }
    getPosition() {
        var selection = this.selection;
        var subDocument = this.selection.activeSubDocument;
        var initialModelPosition = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        var initialLayoutPosition = subDocument.isMain()
            ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, initialModelPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false))
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, initialModelPosition, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        var prevCharLayoutPosition;
        if (this.extendSelection()) {
            prevCharLayoutPosition = this.getPrevCharacterPosition(initialLayoutPosition);
        }
        else {
            if (!selection.isCollapsed()) {
                if (selection.forwardDirection) {
                    var selectionEndPosition = selection.lastSelectedInterval.start;
                    return (subDocument.isMain()
                        ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, selectionEndPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true))
                        : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, selectionEndPosition, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true))).getLogPosition();
                }
                else
                    return initialLayoutPosition.getLogPosition();
            }
            prevCharLayoutPosition = this.getPrevCharacterPosition(initialLayoutPosition);
            if (!prevCharLayoutPosition.box.isVisible() && !prevCharLayoutPosition.isPositionBeforeFirstBoxInRow()) {
                do {
                    var prevLP = prevCharLayoutPosition;
                    prevCharLayoutPosition = this.getPrevCharacterPosition(prevCharLayoutPosition);
                } while (!prevCharLayoutPosition.box.isVisible() && prevLP !== prevCharLayoutPosition);
                prevCharLayoutPosition = prevLP;
            }
        }
        const prevCharModelPosition = Math.min(initialModelPosition, prevCharLayoutPosition.getLogPosition());
        return prevCharModelPosition == initialModelPosition ? -1 : prevCharModelPosition;
    }
    getPrevCharacterPosition(layoutPosition) {
        var prevLayoutPosition = layoutPosition.clone();
        if (prevLayoutPosition.charOffset > 0) {
            prevLayoutPosition.charOffset--;
            return prevLayoutPosition;
        }
        if (prevLayoutPosition.boxIndex - 1 >= 0) {
            prevLayoutPosition.boxIndex--;
            prevLayoutPosition.box = prevLayoutPosition.row.boxes[prevLayoutPosition.boxIndex];
            prevLayoutPosition.charOffset = prevLayoutPosition.box.getLength() - 1;
            return prevLayoutPosition;
        }
        if (prevLayoutPosition.advanceToPrevRow(this.control.layout)) {
            prevLayoutPosition.boxIndex = prevLayoutPosition.row.boxes.length - 1;
            prevLayoutPosition.box = prevLayoutPosition.row.boxes[prevLayoutPosition.boxIndex];
            prevLayoutPosition.charOffset = prevLayoutPosition.box.getLength() - 1;
            return prevLayoutPosition;
        }
        else
            return layoutPosition;
    }
}
class GoToPrevCharacterCommand extends GoToPrevCharacterCommandBase {
    setSelection(position) {
        this.selection.deprecatedSetSelection(position, position, false, -1, true);
    }
    extendSelection() {
        return false;
    }
}
class ExtendGoToPrevCharacterCommand extends GoToPrevCharacterCommandBase {
    setSelection(position) {
        if (!this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false)))
            ExtendGoToPrevCharacterCommand.jumpThroughFieldToLeft(this.selection);
    }
    extendSelection() {
        return true;
    }
    executeCore(state, options) {
        const selection = this.selection;
        const tableInfo = selection.tableInfo;
        const rawTblInfo = tableInfo.rawData;
        const canSelectCell = tableInfo.isSelected && rawTblInfo.areCellsSelectedInSeries &&
            rawTblInfo.atLeastOneCellFullySelected(selection.intervals);
        if (!canSelectCell)
            return super.executeCore(state, options);
        const forward = selection.forwardDirection || rawTblInfo.firstRowInfo.cells.length == 1;
        const lastRow = forward ? rawTblInfo.lastRowInfo : rawTblInfo.firstRowInfo;
        const cell = lastRow.row[(forward ? utils_list.ListUtils.last(lastRow.cells) : lastRow.cells[0]).cellIndex - 1];
        if (cell) {
            return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SelectTableCellsRange).execute(this.control.commandManager.isPublicApiCall, forward ? {
                firstCell: rawTblInfo.firstCell,
                lastCell: cell
            } : {
                firstCell: rawTblInfo.lastCell,
                lastCell: cell
            });
        }
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ExtendLineUp).execute(this.control.commandManager.isPublicApiCall);
    }
    static jumpThroughFieldToLeft(selection) {
        const fields = selection.activeSubDocument.fields;
        if (fields.length == 0 || !selection.forwardDirection)
            return;
        var interval = selection.lastSelectedInterval;
        var position = interval.end;
        var field = fields[Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(fields, position))];
        if (field.getFieldEndPosition() == position)
            selection.changeState((newState) => newState.extendLastInterval(field.getFieldStartPosition()).resetKeepX().setEndOfLine(false));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-prev-page-command.ts




class GoToPrevPageCommandBase extends SelectionCommandBase {
    getPosition() {
        var selection = this.selection;
        var initPosition = selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start;
        var layoutPosition = new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, this.selection.activeSubDocument, initPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (!layoutPosition)
            return -1;
        var charOffset = initPosition - layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box);
        var x = layoutPosition.pageArea.x + layoutPosition.column.x + layoutPosition.row.x + layoutPosition.box.x + layoutPosition.box.getCharOffsetXInPixels(this.control.measurer, charOffset);
        var y = layoutPosition.pageArea.y + layoutPosition.column.y + layoutPosition.row.y + layoutPosition.box.y;
        var siblingPageIndex = layoutPosition.pageIndex - 1;
        var siblingPage = this.control.layout.pages[siblingPageIndex];
        var position = initPosition;
        if (siblingPage) {
            var point = new layout_point/* LayoutPoint */.T(siblingPageIndex, x, y);
            var htr = this.control.hitTestManager.calculate(point, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.selection.activeSubDocument);
            if (!this.extendSelection())
                htr.correctAsVisibleBox();
            position = htr.getPosition();
        }
        else
            position = 0;
        return position;
    }
    isEnabled() {
        return super.isEnabled() && this.selection.activeSubDocument.isMain();
    }
}
class GoToPrevPageCommand extends GoToPrevPageCommandBase {
    executeCore(_state, _options) {
        var selection = this.selection;
        var position = this.getPosition();
        if (position < 0)
            return false;
        selection.deprecatedSetSelection(position, position, selection.endOfLine, selection.keepX, true);
        return true;
    }
    extendSelection() {
        return false;
    }
}
class ExtendGoToPrevPageCommand extends GoToPrevPageCommandBase {
    executeCore(_state, _options) {
        const position = this.getPosition();
        if (position < 0)
            return false;
        this.selection.changeState((newState) => newState.extendLastInterval(position));
        return true;
    }
    extendSelection() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-prev-word-command.ts






class GoToPrevWordCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    getStartPosition() {
        var selection = this.selection;
        return (selection.forwardDirection ? selection.lastSelectedInterval.end : selection.lastSelectedInterval.start);
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
    executeCore(_state, _options) {
        const selection = this.selection;
        const startPos = this.getStartPosition();
        const subDocument = this.selection.activeSubDocument;
        const layout = this.control.layout;
        let position = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(layout, subDocument, selection, startPos);
        if (position == startPos) {
            position = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(layout, subDocument, selection, position - 1);
        }
        else {
            const leftPosLp = (subDocument.isMain()
                ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(layout, subDocument, startPos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(layout, subDocument, startPos, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column))
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
            const leftPos = leftPosLp.getLogPosition();
            if (position == leftPos) {
                position = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(layout, subDocument, selection, leftPos - 1);
            }
        }
        this.setSelection(position);
        return true;
    }
}
class GoToPrevWordCommand extends GoToPrevWordCommandBase {
    setSelection(position) {
        const selection = this.selection;
        selection.deprecatedSetSelection(position, position, selection.endOfLine, selection.keepX, true);
    }
}
class ExtendGoToPrevWordCommand extends GoToPrevWordCommandBase {
    setSelection(position) {
        if (!this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false)))
            ExtendGoToPrevCharacterCommand.jumpThroughFieldToLeft(this.selection);
    }
}

// EXTERNAL MODULE: ./src/common/scroll/model-scroll-manager.ts
var model_scroll_manager = __webpack_require__(2328);
;// CONCATENATED MODULE: ./src/common/commands/selection/go-to-start-page-command-base.ts







class GoToStartPageCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _options) {
        const selection = this.selection;
        const subDocument = this.selection.activeSubDocument;
        const layout = this.control.layout;
        const position = selection.lastSelectedInterval.start;
        const pageIndex = subDocument.isMain() ?
            layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, position, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)).pageIndex :
            selection.pageIndex;
        const newPageIndex = this.getNewPageIndex(pageIndex);
        const page = this.control.layoutFormatterManager.forceFormatPage(newPageIndex);
        const newPosition = (page ? page : utils_list.ListUtils.last(layout.pages)).getPosition();
        if (selection.isCollapsed() && position == newPosition)
            return false;
        this.setNewSelection(newPosition);
        selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byModelPosition(selection)
            .setModelPosition(newPosition)
            .useStdRelativePosition()
            .useStdOffset());
        return true;
    }
}
class GoToStartNextPageCommand extends GoToStartPageCommandBase {
    getNewPageIndex(pageIndex) {
        return pageIndex + 1;
    }
    setNewSelection(newPosition) {
        this.selection.deprecatedSetSelection(newPosition, newPosition, false, -1, true, true, true, model_scroll_manager/* ModelScrollManager */.O.DontChangeScrollPosition);
    }
}
class GoToStartPrevPageCommand extends GoToStartPageCommandBase {
    getNewPageIndex(pageIndex) {
        return Math.max(0, pageIndex - 1);
    }
    setNewSelection(newPosition) {
        this.selection.deprecatedSetSelection(newPosition, newPosition, false, -1, true, true, true, model_scroll_manager/* ModelScrollManager */.O.DontChangeScrollPosition);
    }
}
class ExtendGoToStartNextPageCommand extends GoToStartNextPageCommand {
    setNewSelection(position) {
        this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false));
    }
}
class ExtendGoToStartPrevPageCommand extends GoToStartPrevPageCommand {
    setNewSelection(position) {
        this.selection.changeState((newState) => newState.extendLastInterval(position).resetKeepX().setEndOfLine(false));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/select-all-document-command.ts



class SelectAllDocumentCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _options) {
        if (!this.control.layout.isFullyFormatted)
            this.control.layoutFormatterManager.formatSyncAllDocument();
        this.selection.deprecatedSetSelection(0, this.selection.activeSubDocument.getDocumentEndPosition(), true, -1, true, true, true, model_scroll_manager/* ModelScrollManager */.O.DontChangeScrollPosition);
        this.control.focusManager.captureFocus();
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/selection/select-line-command.ts




class SelectLineCommand extends SelectionCommandBase {
    executeCore(_state, options) {
        var selection = this.selection;
        var subDocument = this.selection.activeSubDocument;
        var clickLayoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, options.param, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, options.param, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (!clickLayoutPosition)
            return false;
        var clickRowEndBox = clickLayoutPosition.row.boxes[clickLayoutPosition.row.boxes.length - 1];
        var clickRowStartPosition = clickLayoutPosition.getRelatedSubDocumentPagePosition() + clickLayoutPosition.pageArea.pageOffset + clickLayoutPosition.column.pageAreaOffset + clickLayoutPosition.row.columnOffset;
        var clickRowEndPosition = clickRowStartPosition + clickRowEndBox.rowOffset + clickRowEndBox.getLength();
        this.setSelection(clickRowStartPosition, clickRowEndPosition);
        return true;
    }
    setSelection(startPosition, endPosition) {
        this.selection.deprecatedSetSelection(startPosition, endPosition, false, -1, true);
    }
}
class AddSelectedLineCommandNoUpdateControlState extends SelectLineCommand {
    setSelection(startPosition, endPosition) {
        this.selection.changeState((newState) => newState.addInterval(fixed.FixedInterval.fromPositions(startPosition, endPosition))
            .resetKeepX().setEndOfLine(false));
    }
}
class ExtendSelectLineCommand extends SelectionCommandBase {
    executeCore(_state, options) {
        const clickPosition = options.param;
        var selection = this.selection;
        var currentInterval = selection.lastSelectedInterval;
        var intervalEnd = currentInterval.end;
        if (intervalEnd == this.selection.activeSubDocument.getDocumentEndPosition())
            intervalEnd--;
        var subDocument = this.selection.activeSubDocument;
        var startSelectionRowStartLayoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, currentInterval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, currentInterval.start, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (!startSelectionRowStartLayoutPosition)
            return false;
        var startSelectionEndBox = startSelectionRowStartLayoutPosition.row.boxes[startSelectionRowStartLayoutPosition.row.boxes.length - 1];
        var endSelectionRowStartLayoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, intervalEnd, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, intervalEnd, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (!endSelectionRowStartLayoutPosition)
            return false;
        var endSelectionEndBox = endSelectionRowStartLayoutPosition.row.boxes[endSelectionRowStartLayoutPosition.row.boxes.length - 1];
        var clickRowStartLayoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, clickPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, clickPosition, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (!clickRowStartLayoutPosition)
            return false;
        var clickEndBox = clickRowStartLayoutPosition.row.boxes[clickRowStartLayoutPosition.row.boxes.length - 1];
        var startSelectionRowStartPosition = startSelectionRowStartLayoutPosition.getRelatedSubDocumentPagePosition() + startSelectionRowStartLayoutPosition.pageArea.pageOffset +
            startSelectionRowStartLayoutPosition.column.pageAreaOffset + startSelectionRowStartLayoutPosition.row.columnOffset;
        var startSelectionRowEndPosition = startSelectionRowStartPosition + startSelectionEndBox.rowOffset + startSelectionEndBox.getLength();
        var endSelectionRowStartPosition = endSelectionRowStartLayoutPosition.getRelatedSubDocumentPagePosition() + endSelectionRowStartLayoutPosition.pageArea.pageOffset +
            endSelectionRowStartLayoutPosition.column.pageAreaOffset + endSelectionRowStartLayoutPosition.row.columnOffset;
        var endSelectionRowEndPosition = endSelectionRowStartPosition + endSelectionEndBox.rowOffset + endSelectionEndBox.getLength();
        var clickStartRowPosition = clickRowStartLayoutPosition.getRelatedSubDocumentPagePosition() + clickRowStartLayoutPosition.pageArea.pageOffset +
            clickRowStartLayoutPosition.column.pageAreaOffset + clickRowStartLayoutPosition.row.columnOffset;
        var clickEndRowPosition = clickStartRowPosition + clickEndBox.rowOffset + clickEndBox.getLength();
        if (currentInterval.start == startSelectionRowStartPosition && currentInterval.end == endSelectionRowEndPosition) {
            if (selection.forwardDirection) {
                if (clickStartRowPosition < startSelectionRowStartPosition)
                    selection.deprecatedSetSelection(startSelectionRowEndPosition, clickStartRowPosition, false, -1, true);
                else
                    selection.deprecatedSetSelection(startSelectionRowStartPosition, clickEndRowPosition, false, -1, true);
            }
            else {
                if (clickStartRowPosition >= endSelectionRowStartPosition)
                    selection.deprecatedSetSelection(endSelectionRowStartPosition, clickEndRowPosition, false, -1, true);
                else
                    selection.deprecatedSetSelection(endSelectionRowEndPosition, clickStartRowPosition, false, -1, true);
            }
        }
        else {
            if (selection.forwardDirection) {
                var selectionEnd = clickStartRowPosition <= currentInterval.start ? Math.min(clickStartRowPosition, startSelectionRowStartPosition) : clickStartRowPosition;
                selection.deprecatedSetSelection(currentInterval.start, selectionEnd, false, -1, true);
            }
            else
                selection.deprecatedSetSelection(intervalEnd, clickStartRowPosition, false, -1, true);
        }
        return true;
    }
}
class SelectLineCommandNoUpdateControlState extends SelectLineCommand {
}
class ExtendSelectLineCommandNoUpdateControlState extends ExtendSelectLineCommand {
}

;// CONCATENATED MODULE: ./src/common/commands/selection/select-paragraph-command.ts


class SelectParagraphCommand extends SelectionCommandBase {
    executeCore(_state, options) {
        var paragraphs = this.selection.activeSubDocument.paragraphs;
        var paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(paragraphs, (p) => p.startLogPosition.value, options.param);
        var paragraph = paragraphs[paragraphIndex];
        this.selection.deprecatedSetSelection(paragraph.startLogPosition.value, paragraph.startLogPosition.value + paragraph.length, true, -1, true);
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/commands/selection/select-table-command.ts
var select_table_command = __webpack_require__(2406);
;// CONCATENATED MODULE: ./src/common/commands/spelling/spelling-command-base.ts


class SpellingCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        let selectedMisspelledInterval = this.control.spellChecker.getSelectedMisspelledInterval(this.selection.intervals);
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.value = selectedMisspelledInterval;
        state.visible = this.isVisible(selectedMisspelledInterval);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && this.control.spellChecker.settings.isEnabled;
    }
    isVisible(selectedMisspelledInterval) {
        return selectedMisspelledInterval != null;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/spelling/add-word-to-dictionary-command.ts


class AddWordToDictionary extends SpellingCommandBase {
    isEnabled() {
        return super.isEnabled() && this.control.spellChecker.settings.canAddWord;
    }
    isVisible(selectedMisspelledInterval) {
        return super.isVisible(selectedMisspelledInterval) && selectedMisspelledInterval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Misspelling;
    }
    executeCore(state, _options) {
        let selectedMisspelledInterval = state.value;
        this.control.spellChecker.addWord(selectedMisspelledInterval);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/spelling/change-spelling-error-command-base.ts






class ChangeSpellingErrorCommandBase extends SpellingCommandBase {
    changeSpellingError(options, firstPosition, length) {
        const expandedInterval = new fixed.FixedInterval(firstPosition, length);
        fields_field/* Field */.gN.correctIntervalDueToFieldsWithoutUiChecks(options.intervalsInfo.subDocInterval.subDocument, expandedInterval);
        options.intervalsInfo.interval = expandedInterval;
        this.history.beginTransaction();
        this.modelManipulator.range.removeInterval(options.intervalsInfo.subDocInterval, true, false);
        const insertResult = this.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(options.intervalsInfo.subDocPosition, this.inputPosition.charPropsBundle, run_type/* RunType */.m.TextRun, options.param));
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(insertResult.insertedInterval.end).setEndOfLine(true)));
        this.history.endTransaction();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/spelling/change-all-spelling-errors-command.ts


class ChangeAllSpellingErrorsCommand extends ChangeSpellingErrorCommandBase {
    isEnabled() {
        let selectedMisspelledInterval = this.control.spellChecker.getSelectedMisspelledInterval(this.selection.intervals);
        let suggestions = selectedMisspelledInterval ? selectedMisspelledInterval.errorInfo.suggestions : null;
        return super.isEnabled() && suggestions && suggestions.length > 0;
    }
    isVisible(selectedMisspelledInterval) {
        return super.isVisible(selectedMisspelledInterval) && selectedMisspelledInterval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Misspelling;
    }
    executeCore(state, options) {
        const selectedMisspelledInterval = state.value;
        const intervalsWithErrorByWord = this.control.spellChecker.getIntervalsWithErrorByWord(selectedMisspelledInterval.errorInfo.word);
        this.history.beginTransaction();
        for (var i = 0, interval; interval = intervalsWithErrorByWord[i]; i++) {
            this.changeSpellingError(options, interval.start, interval.length);
        }
        this.history.endTransaction();
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/spelling/change-spelling-error-command.ts




class ChangeSpellingErrorCommand extends ChangeSpellingErrorCommandBase {
    isEnabled() {
        let selectedMisspelledInterval = this.control.spellChecker.getSelectedMisspelledInterval(this.selection.intervals);
        let suggestions = selectedMisspelledInterval ? selectedMisspelledInterval.errorInfo.suggestions : null;
        return super.isEnabled() && suggestions && suggestions.length > 0;
    }
    isVisible(selectedMisspelledInterval) {
        return super.isVisible(selectedMisspelledInterval) && selectedMisspelledInterval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Misspelling;
    }
    executeCore(state, options) {
        const misspelledInterval = state.value;
        this.changeSpellingError(options, misspelledInterval.start, misspelledInterval.length);
        return true;
    }
}
class NoSpellingSuggestionsCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _options) {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/spelling/delete-repeated-word-command.ts





class DeleteRepeatedWordCommand extends SpellingCommandBase {
    isVisible(selectedMisspelledInterval) {
        return super.isVisible(selectedMisspelledInterval) && selectedMisspelledInterval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Repeating;
    }
    executeCore(state, _options) {
        let selectedMisspelledInterval = state.value;
        let deletingInterval = fixed.FixedInterval.fromPositions(selectedMisspelledInterval.start - 1, selectedMisspelledInterval.end);
        this.history.beginTransaction();
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(deletingInterval.start)));
        this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, deletingInterval), false, false);
        this.history.endTransaction();
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/spelling/ignore-all-spelling-errors-command.ts


class IgnoreAllSpellingErrorsCommand extends SpellingCommandBase {
    isVisible(selectedMisspelledInterval) {
        return super.isVisible(selectedMisspelledInterval) && selectedMisspelledInterval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Misspelling;
    }
    executeCore(state, _options) {
        let selectedMisspelledInterval = state.value;
        this.control.spellChecker.ignoreAll(selectedMisspelledInterval);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/spelling/ignore-spelling-error-command.ts

class IgnoreSpellingErrorCommand extends SpellingCommandBase {
    executeCore(state, _options) {
        let selectedMisspelledInterval = state.value;
        this.control.spellChecker.ignore(selectedMisspelledInterval);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/table-command-base.ts


class TableCommandBase extends command_base/* CommandBase */.eK {
    isEnabled() {
        const table = this.control.selection.tableInfo.table;
        return super.isEnabled() && table != null &&
            this.control.selection.activeSubDocument.isEditable([fixed.FixedInterval.fromPositions(table.getStartPosition(), table.getEndPosition())]);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/apply-table-style-command.ts





class ApplyTableStyleCommand extends TableCommandBase {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true, false);
        let tableInfo = this.selection.tableInfo;
        state.enabled = this.isEnabled() && tableInfo.extendedData.numRows > 0;
        let items = [];
        for (let i = 0, style; style = this.control.modelManager.model.tableStyles[i]; i++) {
            if (!style.hidden && !style.semihidden && !style.deleted)
                items.push({ value: style.styleName, text: style.localizedName, data: style.base64EncodedImage });
        }
        for (let i = 0, ts; ts = styles_manager/* StylesManager */.D.presetTableStyles[i]; i++) {
            if (!ts.hidden && !ts.semihidden && !ts.deleted && !this.control.modelManager.model.getTableStyleByName(ts.styleName))
                items.push({ value: ts.styleName, text: ts.localizedName, data: ts.base64EncodedImage });
        }
        state.items = items;
        if (state.enabled) {
            const table = tableInfo.table;
            state.value = table.style ? table.style.styleName : null;
        }
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tableStyle);
    }
    executeCore(_state, parameter) {
        this.history.beginTransaction();
        let style = this.control.modelManager.model.getTableStyleByName(parameter.param) ||
            this.control.modelManager.model.stylesManager.addTableStyle(styles_manager/* StylesManager */.D.getPresetTableStyleByName(parameter.param).clone());
        const table = this.selection.tableInfo.table;
        this.history.addAndRedo(new apply_style_history_items/* ApplyTableStyleHistoryItem */.Mm(this.modelManipulator, this.selection.activeSubDocument, table.index, style));
        this.history.endTransaction();
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/layout/layout-position.ts
var layout_position = __webpack_require__(8475);
;// CONCATENATED MODULE: ./src/common/commands/tables/auto-fit-commands.ts











class AutoFitCommandBase extends TableCommandBase {
    getState() {
        if (this.isEnabled()) {
            const tbl = this.selection.tableInfo.table;
            if (tbl)
                return new command_states/* SimpleCommandState */.mh(true, tbl);
        }
        return new command_states/* SimpleCommandState */.mh(false);
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
}
class AutoFitContentsCommand extends AutoFitCommandBase {
    executeCore(state, parameter) {
        const table = state.value;
        const history = this.history;
        const subDocument = parameter.subDocument;
        history.beginTransaction();
        history.addAndRedo(new table_properties_history_items/* TableLayoutTypeHistoryItem */.Ux(this.modelManipulator, subDocument, table.index, table_base_structures/* TableLayoutType */.DX.Autofit, true));
        history.addAndRedo(new table_properties_history_items/* TablePreferredWidthHistoryItem */.iW(this.modelManipulator, subDocument, table.index, table_units/* TableWidthUnit */.CT.create(0, table_units/* TableWidthUnitType */.HO.Auto)));
        this.modelManipulator.table.forEachCell(table, (pos, _cellSpan) => {
            history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, pos.rowIndex, pos.cellIndex, table_units/* TableWidthUnit */.CT.create(0, table_units/* TableWidthUnitType */.HO.Auto)));
        });
        history.endTransaction();
        return true;
    }
}
class AutoFitWindowCommand extends AutoFitCommandBase {
    executeCore(state, parameter) {
        const table = state.value;
        const history = this.history;
        const subDocument = parameter.subDocument;
        history.beginTransaction();
        history.addAndRedo(new table_properties_history_items/* TableLayoutTypeHistoryItem */.Ux(this.modelManipulator, subDocument, table.index, table_base_structures/* TableLayoutType */.DX.Autofit, true));
        history.addAndRedo(new table_properties_history_items/* TablePreferredWidthHistoryItem */.iW(this.modelManipulator, subDocument, table.index, table_units/* TableWidthUnit */.CT.create(table_units/* TableWidthUnit */.CT.MAX_PERCENT_WIDTH, table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)));
        const widths = this.modelManipulator.table.distributeWidthsToAllColumns(table, table_units/* TableWidthUnit */.CT.MAX_PERCENT_WIDTH);
        this.modelManipulator.table.forEachCell(table, (pos, cellSpan) => {
            history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, pos.rowIndex, pos.cellIndex, table_units/* TableWidthUnit */.CT.create(this.modelManipulator.table.fullCellWidth(widths, cellSpan, pos.cell.columnSpan), table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)));
        });
        history.endTransaction();
        return true;
    }
}
class FixedColumnWidthCommand extends AutoFitCommandBase {
    executeCore(state, parameter) {
        const table = state.value;
        const history = this.history;
        const subDocument = parameter.subDocument;
        const lp = layout_position/* LayoutPosition */.Yi.ensure(this.control.layoutFormatterManager, subDocument, table.getStartPosition());
        const grid = this.getGrid(table, lp);
        history.beginTransaction();
        history.addAndRedo(new table_properties_history_items/* TableLayoutTypeHistoryItem */.Ux(this.modelManipulator, subDocument, table.index, table_base_structures/* TableLayoutType */.DX.Fixed, true));
        history.addAndRedo(new table_properties_history_items/* TablePreferredWidthHistoryItem */.iW(this.modelManipulator, subDocument, table.index, table_units/* TableWidthUnit */.CT.create(0, table_units/* TableWidthUnitType */.HO.Auto)));
        const widths = grid ?
            utils_list.ListUtils.reducedMap(grid.columns.width, (width) => {
                const w = class_unit_converter/* UnitConverter */.u.pixelsToTwipsF(width);
                return w === 0 ? null : w;
            }) :
            this.modelManipulator.table.distributeWidthsToAllColumns(table, class_unit_converter/* UnitConverter */.u.pixelsToTwipsF((this.getAvaliableWidth_px(table, lp))));
        this.modelManipulator.table.forEachCell(table, (pos, cellSpan) => {
            history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, pos.rowIndex, pos.cellIndex, table_units/* TableWidthUnit */.CT.create(this.modelManipulator.table.fullCellWidth(widths, cellSpan, pos.cell.columnSpan), table_units/* TableWidthUnitType */.HO.ModelUnits)));
        });
        history.endTransaction();
        return true;
    }
    getGrid(table, lp) {
        const tableInfo = lp.column.tablesInfo ? utils_list.ListUtils.elementBy(lp.column.tablesInfo, (info) => info.logicInfo.grid.table.index == table.index) : null;
        return tableInfo ? tableInfo.logicInfo.grid : null;
    }
    getAvaliableWidth_px(table, lp) {
        if (table.nestedLevel == 0)
            return layout_column/* LayoutColumn */.r.findSectionColumnWithMinimumWidth(lp.pageArea.columns);
        let cell = lp.row.tableCellInfo;
        while (cell.parentRow.parentTable.logicInfo.grid.table.nestedLevel != table.nestedLevel - 1)
            cell = cell.parentRow.parentTable.parentCell;
        return cell.avaliableContentWidth;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/change-table-border-repository-item.ts






class ChangeTableBorderColorRepositoryItemCommand extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true, false);
        let tableInfo = this.selection.tableInfo;
        state.enabled = this.isEnabled() && tableInfo.extendedData.numRows > 0;
        state.denyUpdateValue = true;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        this.control.modelManager.model.repositoryBorderItem.color = this.control.modelManager.model.colorProvider.getModelColorFromRgba(options.param);
        return true;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return (0,common.isNumber)(parameter) ? parameter :
            (!parameter || parameter == color_color/* ColorHelper */.v.AUTOMATIC_COLOR.toString() ?
                color_color/* ColorHelper */.v.AUTOMATIC_COLOR : utils_color/* ColorUtils */.i.fromString(parameter));
    }
}
class ChangeTableBorderWidthRepositoryItemCommand extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true, false);
        state.enabled = this.isEnabled() && this.selection.tableInfo.extendedData.numRows > 0;
        state.value = this.control.modelManager.model.repositoryBorderItem.width;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        this.control.modelManager.model.repositoryBorderItem.width = options.param;
        return true;
    }
}
class ChangeTableBorderStyleRepositoryItemCommand extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true, false);
        state.enabled = this.isEnabled() && this.selection.tableInfo.extendedData.numRows > 0;
        state.value = this.control.modelManager.model.repositoryBorderItem.style;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        this.control.modelManager.model.repositoryBorderItem.style = options.param;
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/change-table-cell-alignment-command.ts












class ChangeTableCellAlignmentCommandBase extends command_base/* CommandBase */.eK {
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.TableCellAlignBottomCenter]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignBottomLeft]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignBottomRight]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignMiddleCenter]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignMiddleLeft]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignMiddleRight]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignTopCenter]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignTopLeft]: true,
            [client_command/* RichEditClientCommand */.f.TableCellAlignTopRight]: true,
        };
    }
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true, false);
        state.enabled = this.isEnabled() && this.selection.tableInfo.extendedData.numRows > 0;
        state.value = this.isChecked(this.selection.activeSubDocument);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    isChecked(subDocument) {
        const tableInfo = this.selection.tableInfo;
        return tableInfo.extendedData.allOfCells((cellInfo) => new table_cell_properties_merger/* TableCellVerticalAlignmentMerger */.kc().getProperty(cellInfo.cell.properties, tableInfo.table.style, cellInfo.cell.conditionalFormatting, this.control.modelManager.model.defaultTableCellProperties) === this.verticalAlignment &&
            subDocument.getParagraphByPosition(cellInfo.cell.startParagraphPosition.value).getParagraphMergedProperties().alignment === this.horizontalAlignment);
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        let tableInfo = this.selection.tableInfo;
        let subDocument = options.subDocument;
        let table = tableInfo.table;
        tableInfo.extendedData.foreach(() => { }, (cellInfo, rowInfo) => {
            const cell = cellInfo.cell;
            if (cell.properties.verticalAlignment !== this.verticalAlignment || !cell.properties.getUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseVerticalAlignment)) {
                this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalAlignmentHistoryItem */.Zv(this.modelManipulator, subDocument, table.index, rowInfo.rowIndex, cellInfo.cellIndex, this.verticalAlignment, true));
            }
            const paragraphIndices = subDocument.getParagraphsIndices(cell.interval);
            utils_list.ListUtils.forEach(subDocument.paragraphs, (paragraph) => {
                if (paragraph.getParagraphMergedProperties().alignment !== this.horizontalAlignment)
                    this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphAlignmentHistoryItem */.n$(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), this.horizontalAlignment, true));
            }, paragraphIndices.start, paragraphIndices.end);
        });
        this.history.endTransaction();
        return true;
    }
}
class ChangeTableCellTopLeftAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Left;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Top;
    }
}
class ChangeTableCellTopCenterAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Center;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Top;
    }
}
class ChangeTableCellTopRightAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Right;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Top;
    }
}
class ChangeTableCellMiddleLeftAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Left;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Center;
    }
}
class ChangeTableCellMiddleCenterAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Center;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Center;
    }
}
class ChangeTableCellMiddleRightAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Right;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Center;
    }
}
class ChangeTableCellBottomLeftAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Left;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom;
    }
}
class ChangeTableCellBottomCenterAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Center;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom;
    }
}
class ChangeTableCellBottomRightAlignmentCommand extends ChangeTableCellAlignmentCommandBase {
    constructor() {
        super(...arguments);
        this.horizontalAlignment = paragraph_properties/* ParagraphAlignment */.wq.Right;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/change-table-cell-shading-command.ts










class ChangeTableCellShadingCommand extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        if (state.enabled) {
            const tableInfo = this.selection.tableInfo;
            let templateColor;
            if (utils_list.ListUtils.allOf(tableInfo.extendedData.rows, (rowInfo) => utils_list.ListUtils.allOf(rowInfo.cells, (cellInfo) => {
                if (cellInfo.cell.properties.getUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseShadingInfoIndex)) {
                    const currCellColor = cellInfo.cell.properties.shadingInfo.getActualColor(this.colorProvider);
                    if (templateColor === undefined) {
                        templateColor = currCellColor;
                        return true;
                    }
                    else
                        return currCellColor == templateColor;
                }
                else
                    return true;
            }))) {
                switch (templateColor) {
                    case undefined:
                        state.value = undefined;
                        break;
                    case color_color/* ColorHelper */.v.NO_COLOR:
                        state.value = null;
                        break;
                    default: utils_color/* ColorUtils */.i.colorToHash(templateColor);
                }
            }
            else
                state.value = undefined;
        }
        state.denyUpdateValue = true;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) && this.selection.tableInfo.extendedData.numRows > 0;
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return color_color/* ColorHelper */.v.anyToColor(parameter, color_color/* ColorHelper */.v.NO_COLOR);
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        let color = options.param;
        let tableInfo = this.selection.tableInfo;
        let table = tableInfo.table;
        tableInfo.extendedData.foreach(() => { }, (cellInfo, rowInfo) => {
            if (cellInfo.cell.properties.shadingInfo.getActualColor(this.colorProvider) !== color ||
                !cellInfo.cell.properties.getUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseShadingInfoIndex)) {
                this.history.addAndRedo(new table_cell_properties_history_items/* TableCellShadingInfoHistoryItem */.F2(this.modelManipulator, options.subDocument, table.index, rowInfo.rowIndex, cellInfo.cellIndex, shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(color)), true));
            }
        });
        this.history.endTransaction();
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/change-table-cell-width-command.ts




class ChangeTableCellWidthCommand extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true);
        const tableInfo = this.selection.tableInfo;
        state.enabled = this.isEnabled() && tableInfo.extendedData.numRows > 0;
        if (state.enabled) {
            const template = tableInfo.table ? tableInfo.extendedData.firstCell.preferredWidth : null;
            if (tableInfo.extendedData.allOfCells((cellInfo) => cellInfo.cell.preferredWidth.equals(template)))
                state.value = template;
        }
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        const tableInfo = this.selection.tableInfo;
        let changed = false;
        tableInfo.extendedData.foreach(() => { }, (cellInfo, rowInfo) => {
            if (!cellInfo.cell.preferredWidth.equals(options.param)) {
                this.history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, options.subDocument, tableInfo.table.index, rowInfo.rowIndex, cellInfo.cellIndex, options.param.clone()));
                changed = true;
            }
        });
        return changed;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/change-table-column-width-command.ts






class ChangeTableColumnWidthCommand extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true);
        const tableInfo = this.selection.tableInfo;
        state.enabled = this.isEnabled() && tableInfo.extendedData.numRows > 0;
        let width;
        if (state.enabled) {
            const table = tableInfo.table;
            let columnsRange = TableUtilsEx.getColumnsRangeBySelectedCells(tableInfo.extendedData);
            for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
                let cellIndices = table_utils/* TableCellUtils */.V.getCellIndicesByColumnsRange(row, columnsRange);
                for (let i = cellIndices.length - 1; i >= 0; i--) {
                    let cell = table.rows[rowIndex].cells[cellIndices[i]];
                    if (width === undefined)
                        width = cell.preferredWidth.clone();
                    else if (width && width.equals(cell.preferredWidth))
                        continue;
                    else
                        width = null;
                }
            }
        }
        state.value = width;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        const tableInfo = this.selection.tableInfo;
        const table = tableInfo.table;
        let changed = false;
        const columnsRange = TableUtilsEx.getColumnsRangeBySelectedCells(tableInfo.extendedData);
        const subDocument = options.subDocument;
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            let cellIndices = table_utils/* TableCellUtils */.V.getCellIndicesByColumnsRange(row, columnsRange);
            for (let i = cellIndices.length - 1; i >= 0; i--) {
                let cell = table.rows[rowIndex].cells[cellIndices[i]];
                if (!cell.preferredWidth.equals(options.param)) {
                    this.history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, rowIndex, cellIndices[i], options.param.clone()));
                    changed = true;
                }
            }
        }
        return changed;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/change-table-look-command.ts







class ChangeTableLookCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        const tableInfo = this.selection.tableInfo;
        const state = new command_states/* SimpleCommandState */.mh(this.isEnabled() && tableInfo.extendedData.numRows > 0, false);
        if (state.enabled)
            state.value = this.getValue(tableInfo.table);
        return state;
    }
    getValue(table) {
        const value = !!(table.lookTypes & this.option);
        return this.isInvertedTableLookType() ? !value : value;
    }
    isInvertedTableLookType() {
        return false;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        let table = this.selection.tableInfo.table;
        if (options.param === undefined || options.param === null)
            options.param = !this.getValue(table);
        this.history.beginTransaction();
        this.history.addAndRedo(new table_properties_history_items/* TableLookTypesHistoryItem */.t_(this.modelManipulator, options.subDocument, table.index, this.getNewValue(table, options.param)));
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, options.subDocument);
        this.history.endTransaction();
        return true;
    }
    getNewValue(table, parameter) {
        parameter = this.isInvertedTableLookType() ? !parameter : parameter;
        let value = table.lookTypes;
        if (parameter)
            value |= this.option;
        else
            value &= ~this.option;
        return value;
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.ToggleFirstRow]: true,
            [client_command/* RichEditClientCommand */.f.ToggleLastRow]: true,
            [client_command/* RichEditClientCommand */.f.ToggleFirstColumn]: true,
            [client_command/* RichEditClientCommand */.f.ToggleLastColumn]: true,
            [client_command/* RichEditClientCommand */.f.ToggleBandedRows]: true,
            [client_command/* RichEditClientCommand */.f.ToggleBandedColumn]: true,
            [client_command/* RichEditClientCommand */.f.ChangeTableLook]: true,
        };
    }
}
class ChangeTableLookCommand extends ChangeTableLookCommandBase {
    getValue(table) {
        return table.lookTypes;
    }
    getNewValue(_table, parameter) {
        return parameter;
    }
}
class ToggleFirstRowCommand extends ChangeTableLookCommandBase {
    constructor() {
        super(...arguments);
        this.option = table_base_structures/* TableLookTypes */.sp.ApplyFirstRow;
    }
}
class ToggleLastRowCommand extends ChangeTableLookCommandBase {
    constructor() {
        super(...arguments);
        this.option = table_base_structures/* TableLookTypes */.sp.ApplyLastRow;
    }
}
class ToggleFirstColumnCommand extends ChangeTableLookCommandBase {
    constructor() {
        super(...arguments);
        this.option = table_base_structures/* TableLookTypes */.sp.ApplyFirstColumn;
    }
}
class ToggleLastColumnCommand extends ChangeTableLookCommandBase {
    constructor() {
        super(...arguments);
        this.option = table_base_structures/* TableLookTypes */.sp.ApplyLastColumn;
    }
}
class ToggleBandedRowsCommand extends ChangeTableLookCommandBase {
    constructor() {
        super(...arguments);
        this.option = table_base_structures/* TableLookTypes */.sp.DoNotApplyRowBanding;
    }
    isInvertedTableLookType() {
        return true;
    }
}
class ToggleBandedColumnCommand extends ChangeTableLookCommandBase {
    constructor() {
        super(...arguments);
        this.option = table_base_structures/* TableLookTypes */.sp.DoNotApplyColumnBanding;
    }
    isInvertedTableLookType() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/change-table-row-height-command.ts





class ChangeTableRowHeightCommand extends command_base/* CommandBase */.eK {
    getState() {
        const tableInfo = this.selection.tableInfo;
        const state = new command_states/* SimpleCommandState */.mh(true);
        state.enabled = this.isEnabled() && tableInfo.extendedData.numRows > 0;
        if (state.enabled) {
            const templateHeight = tableInfo.table ? tableInfo.extendedData.rows[0].row.height : undefined;
            if (utils_list.ListUtils.allOf(tableInfo.extendedData.rows, (rowInfo) => rowInfo.row.height.equals(templateHeight), 1))
                state.value = templateHeight;
        }
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        const tableInfo = this.selection.tableInfo;
        const table = tableInfo.table;
        let changed = false;
        this.history.beginTransaction();
        utils_list.ListUtils.forEach(tableInfo.extendedData.rows, (rowInfo) => {
            if (!table.rows[rowInfo.rowIndex].height.equals(options.param)) {
                this.history.addAndRedo(new table_row_properties_history_items/* TableRowHeightHistoryItem */.kl(this.modelManipulator, options.subDocument, table.index, rowInfo.rowIndex, options.param.clone()));
                changed = true;
            }
        });
        this.history.endTransaction();
        return changed;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/context-item-tables.ts


class ContextItemTables extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(true, false);
        state.visible = this.selection.tableInfo.extendedData.numRows > 0 &&
            (this.selection.activeSubDocument.isTextBox() || !this.selection.specialRunInfo.isSelected());
        return state;
    }
    executeCore(_state, _options) {
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/delete-table-cells-by-backspace.ts




class DeleteTableCellsByBackspaceCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled()
            && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables)
            && (this.selection.tableInfo.extendedData.isSquare || this.selection.tableInfo.extendedData.numRows == 1);
    }
    executeCore(_state, _options) {
        const tableInfo = this.selection.tableInfo;
        if (this.selection.tableInfo.extendedData.isSelectedEntireTable)
            return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteTable).execute(this.control.commandManager.isPublicApiCall);
        if (tableInfo.extendedData.numRows == tableInfo.table.rows.length && this.selection.tableInfo.extendedData.isSquare)
            return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteTableColumns).execute(this.control.commandManager.isPublicApiCall);
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowDeleteTableCellsForm).execute(this.control.commandManager.isPublicApiCall);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/delete-table-cells-with-shift-to-the-horizontally-command.ts







class DeleteTableCellsWithShiftToTheHorizontallyCommand extends TableCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled()
            && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables)
            && this.selection.tableInfo.extendedData.isSquare;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const tableInfo = this.selection.tableInfo;
        const subDocument = options.subDocument;
        const table = tableInfo.table;
        if (tableInfo.extendedData.isSelectedEntireTable) {
            this.modelManipulator.table.removeTableWithContent(subDocument, table);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(table.getStartPosition()).setEndOfLine(false)));
        }
        else {
            let startPosition = tableInfo.extendedData.firstCell.startParagraphPosition.value;
            utils_list.ListUtils.reverseForEach(tableInfo.extendedData.rows, (rowInfo) => {
                const row = table.rows[rowInfo.rowIndex];
                if (row.cells.length === rowInfo.cells.length)
                    this.deleteEntireRow(subDocument, table, rowInfo.rowIndex);
                else {
                    utils_list.ListUtils.reverseForEach(rowInfo.cells, (cellInfo) => {
                        if (cellInfo.cell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue)
                            this.deleteTableCell(subDocument, table, rowInfo.rowIndex, cellInfo.cellIndex);
                    });
                }
            });
            this.modelManipulator.table.normalizeVerticalSpans(subDocument, table);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(startPosition).setEndOfLine(false)));
            table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, options.subDocument);
        }
        this.history.endTransaction();
        return true;
    }
    deleteEntireRow(subDocument, table, rowIndex) {
        this.modelManipulator.table.removeTableRowWithContent(subDocument, table, rowIndex);
        this.modelManipulator.table.normalizeCellColumnSpans(subDocument, table, true);
    }
    deleteTableCell(subDocument, table, rowIndex, cellIndex) {
        this.modelManipulator.table.removeTableCellWithContent(subDocument, table, rowIndex, cellIndex);
        this.modelManipulator.table.normalizeTableGrid(subDocument, table);
        this.modelManipulator.table.normalizeCellColumnSpans(subDocument, table, false);
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/tables/merge-table-cells-operation.ts
var merge_table_cells_operation = __webpack_require__(3605);
;// CONCATENATED MODULE: ./src/common/commands/tables/delete-table-cells-with-shift-to-the-vertically-command.ts








class DeleteTableCellsWithShiftToTheVerticallyCommand extends TableCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled()
            && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables)
            && this.selection.tableInfo.rawData.isSquare;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const subDocument = options.subDocument;
        const tableInfo = this.selection.tableInfo;
        const table = tableInfo.table;
        if (tableInfo.extendedData.isSelectedEntireTable) {
            this.modelManipulator.table.removeTableWithContent(subDocument, table);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(table.getStartPosition()).setEndOfLine(false)));
        }
        else {
            const startPosition = tableInfo.rawData.firstCell.startParagraphPosition.value;
            utils_list.ListUtils.reverseForEach(tableInfo.rawData.rows, (rowInfo) => {
                for (let cellInfo of rowInfo.cells)
                    this.removeTableCell(subDocument, table, rowInfo.rowIndex, cellInfo.cellIndex);
            });
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(startPosition).setEndOfLine(false)));
            table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, options.subDocument);
        }
        this.history.endTransaction();
        return true;
    }
    removeTableCell(subDocument, table, rowIndex, cellIndex) {
        const columnIndex = table_utils/* TableCellUtils */.V.getStartColumnIndex(table.rows[rowIndex].cells[cellIndex]);
        const rowsCount = table.rows.length;
        for (let i = rowIndex; i < rowsCount; i++) {
            let cellIndex = table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(table.rows[rowIndex], columnIndex);
            if (table.rows[i].cells[cellIndex])
                new merge_table_cells_operation/* DeleteOneTableCellWithShiftToTheUpOperation */.VM(this.control.modelManager, subDocument)
                    .execute(main_structures_table/* TablePosition */.TR.createAndInit(table, i, cellIndex), false, this.inputPosition);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/delete-table-columns-command.ts








class DeleteTableColumnsCommand extends TableCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled()
            && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables)
            && this.selection.tableInfo.rawData.isSquare;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const tableInfo = this.selection.tableInfo;
        const table = tableInfo.table;
        const subDocument = options.subDocument;
        if (tableInfo.rawData.firstRowInfo.cells.length == table.rows[tableInfo.rawData.firstRowInfo.rowIndex].cells.length) {
            this.modelManipulator.table.removeTableWithContent(subDocument, table);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(table.getStartPosition()).setEndOfLine(false)));
        }
        else {
            const startPosition = tableInfo.rawData.firstCell.startParagraphPosition.value;
            const columnsRange = TableUtilsEx.getColumnsRangeBySelectedCells(tableInfo.rawData);
            for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
                let cellIndices = table_utils/* TableCellUtils */.V.getCellIndicesByColumnsRange(row, columnsRange);
                if (cellIndices.length === row.cells.length) {
                    this.modelManipulator.table.removeTableRowWithContent(subDocument, table, rowIndex);
                    rowIndex--;
                }
                else {
                    for (let i = cellIndices.length - 1; i >= 0; i--)
                        this.modelManipulator.table.removeTableCellWithContent(subDocument, table, rowIndex, cellIndices[i]);
                }
                this.modelManipulator.table.normalizeTableGrid(subDocument, table);
            }
            this.normalizeCellVerticalMerging(subDocument, table);
            this.modelManipulator.table.normalizeCellColumnSpans(subDocument, table, true);
            table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, options.subDocument);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(startPosition).setEndOfLine(false)));
        }
        this.history.endTransaction();
        return true;
    }
    normalizeCellVerticalMerging(subDocument, table) {
        for (let rowIndex = table.rows.length - 1, row; row = table.rows[rowIndex]; rowIndex--) {
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.None)
                    continue;
                let columnIndex = table_utils/* TableCellUtils */.V.getStartColumnIndex(cell);
                let nextRow = table.rows[rowIndex + 1];
                if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
                    if (rowIndex === table.rows.length - 1) {
                        this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                        continue;
                    }
                    let nextRowCell = nextRow.cells[table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(nextRow, columnIndex)];
                    if (!nextRowCell || nextRowCell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                        this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                }
                else {
                    let prevRow = table.rows[rowIndex - 1];
                    let prevCell = prevRow ? prevRow.cells[table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(prevRow, columnIndex)] : null;
                    let nextRow = table.rows[rowIndex + 1];
                    let nextCell = nextRow ? nextRow.cells[table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(nextRow, columnIndex)] : null;
                    if (!prevCell || prevCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.None) {
                        if (!nextCell || nextCell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                        else if (nextCell && nextCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue)
                            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.Restart));
                    }
                }
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/delete-table-command.ts




class DeleteTableCommand extends TableCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled()
            && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables)
            && this.selection.tableInfo.extendedData.isSquare;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const tableInfo = this.selection.tableInfo;
        this.modelManipulator.table.removeTableWithContent(options.subDocument, tableInfo.table);
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(tableInfo.table.getStartPosition()).setEndOfLine(false)));
        this.history.endTransaction();
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/row-command-base.ts



class RowCommandBase extends command_base/* CommandBase */.eK {
    canModify() {
        const tableInfo = this.control.selection.tableInfo;
        const table = tableInfo.table;
        return table != null && (this.control.isClientMode() ?
            utils_list.ListUtils.allOf(tableInfo.rawData.rows, rowInfo => {
                const row = tableInfo.table.rows[rowInfo.rowIndex];
                return this.control.selection.activeSubDocument.isEditable([fixed.FixedInterval.fromPositions(row.getStartPosition(), row.getEndPosition())]);
            }) : this.control.selection.activeSubDocument.isEditable([fixed.FixedInterval.fromPositions(table.getStartPosition(), table.getEndPosition())]));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/delete-table-rows-command.ts






class DeleteTableRowsCommand extends RowCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled()
            && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables)
            && this.selection.tableInfo.rawData.isSquare;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const tableInfo = this.selection.tableInfo;
        const subDocument = options.subDocument;
        const table = tableInfo.table;
        if (tableInfo.rawData.numRows === table.rows.length) {
            this.modelManipulator.table.removeTableWithContent(subDocument, table);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(table.getStartPosition()).setEndOfLine(false)));
        }
        else {
            const startPosition = tableInfo.rawData.firstCell.startParagraphPosition.value;
            utils_list.ListUtils.reverseForEach(tableInfo.rawData.rows, (rowInfo) => this.modelManipulator.table.removeTableRowWithContent(subDocument, table, rowInfo.rowIndex));
            this.modelManipulator.table.normalizeCellColumnSpans(subDocument, table, true);
            table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, options.subDocument);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(startPosition).setEndOfLine(false)));
        }
        this.history.endTransaction();
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/insert-table-cells-with-shift-to-the-horizontally-command.ts






class InsertTableCellWithShiftToTheHorizontallyCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) && this.selection.tableInfo.extendedData.numRows > 0;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const tblInfo = this.selection.tableInfo;
        const table = tblInfo.table;
        const subDocument = options.subDocument;
        const newCells = [];
        tblInfo.extendedData.foreach(() => { }, (cellInfo, rowInfo) => {
            if (cellInfo.cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                newCells.push(this.insertTableCell(subDocument, table, rowInfo.rowIndex, cellInfo.cellIndex));
        });
        this.modelManipulator.table.normalizeVerticalSpans(subDocument, table);
        const newCellIntervals = [];
        for (let i = 0, newCell; newCell = newCells[i]; i++)
            newCellIntervals.push(newCell.interval);
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, subDocument);
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals(newCellIntervals).setEndOfLine(false)));
        this.history.endTransaction();
        return true;
    }
}
class InsertTableCellWithShiftToTheLeftCommand extends InsertTableCellWithShiftToTheHorizontallyCommandBase {
    insertTableCell(subDocument, table, rowIndex, cellIndex) {
        this.modelManipulator.table.insertCellToTheLeft(subDocument, table, rowIndex, cellIndex, this.inputPosition);
        return table.rows[rowIndex].cells[cellIndex];
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/insert-table-cells-with-shift-to-the-vertically-command.ts












class InsertTableCellsWithShiftToTheVerticallyCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) && this.selection.tableInfo.extendedData.areCellsSelectedInSeries;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        let tableInfo = this.selection.tableInfo;
        let table = tableInfo.table;
        let newCells = [];
        tableInfo.extendedData.foreach((rowInfo) => utils_list.ListUtils.addListOnTail(newCells, this.insertTableCellWithShiftToTheVertically(this.selection.activeSubDocument, table, rowInfo)), () => { });
        let newCellIntervals = [];
        for (let i = 0, newCell; newCell = newCells[i]; i++)
            newCellIntervals.push(newCell.interval);
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, options.subDocument);
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals(newCellIntervals)));
        this.history.endTransaction();
        return true;
    }
    insertTableCellWithShiftToTheVertically(subDocument, table, rowInfo) {
        if (utils_list.ListUtils.allOf(rowInfo.cells, (c) => c.cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue))
            return [];
        let startCellIndex = rowInfo.cells[0].cellIndex;
        let endCellIndex = startCellIndex + rowInfo.cells.length - 1;
        let insertedRowsCount = this.calculateInsertedRowsCount(table, rowInfo.rowIndex, startCellIndex, endCellIndex);
        let newCells = [];
        for (let i = 0; i < insertedRowsCount; i++) {
            this.modelManipulator.table.insertRowBelow(subDocument, table, table.rows.length - 1);
            for (let cellIndex = endCellIndex; cellIndex >= startCellIndex; cellIndex--) {
                newCells = newCells.concat(this.insertCellWithShiftToTheDown(subDocument, table, rowInfo.rowIndex + i, cellIndex));
            }
        }
        this.deleteTextInCell(subDocument, table, rowInfo.rowIndex, insertedRowsCount);
        return newCells;
    }
    calculateInsertedRowsCount(table, rowIndex, startCellIndex, endCellIndex) {
        let row = table.rows[rowIndex];
        let result = Number.MAX_VALUE;
        for (let i = startCellIndex; i <= endCellIndex; i++) {
            let cell = row.cells[i];
            let columnIndex = table_utils/* TableCellUtils */.V.getStartColumnIndex(cell);
            result = Math.min(result, table_utils/* TableCellUtils */.V.getVerticalSpanCellPositions(main_structures_table/* TablePosition */.TR.createAndInit(table, rowIndex, i), columnIndex).length);
        }
        return result;
    }
    insertCellWithShiftToTheDown(subDocument, table, rowIndex, cellIndex) {
        let newCells = [];
        for (let i = table.rows.length - 1; i > rowIndex; i--) {
            let currentRow = table.rows[i];
            let cellsCountInCurrentRow = currentRow.cells.length;
            let previousRow = table.rows[i - 1];
            if (cellIndex >= previousRow.cells.length)
                continue;
            if (cellIndex >= cellsCountInCurrentRow) {
                let previousRowLastCell = previousRow.cells[previousRow.cells.length - 1];
                this.insertTableCells(subDocument, table, i, currentRow.cells.length - 1, cellIndex - cellsCountInCurrentRow + 1, previousRowLastCell.preferredWidth);
            }
            new merge_table_cells_operation/* InsertTableCellWithShiftToTheDownOperation */.Xl(this.control.modelManager, subDocument).execute(main_structures_table/* TablePosition */.TR.createAndInit(table, i, cellIndex), false, this.inputPosition);
            newCells.push(table.rows[i].cells[cellIndex]);
        }
        this.deleteContentInCell(subDocument, table, rowIndex, cellIndex);
        this.modelManipulator.table.normalizeTableGrid(subDocument, table);
        this.modelManipulator.table.normalizeCellColumnSpans(subDocument, table, true);
        return newCells;
    }
    insertTableCells(subDocument, table, patternRowIndex, patternCellIndex, insertedCellsCount, preferredWidth) {
        for (let i = 0; i < insertedCellsCount; i++) {
            let lastCellIndex = patternCellIndex + i;
            this.modelManipulator.table.insertCellToTheRight(subDocument, table, patternRowIndex, lastCellIndex, this.inputPosition, false, true, false);
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, patternRowIndex, lastCellIndex + 1, preferredWidth.clone()));
        }
    }
    deleteTextInCell(subDocument, table, rowIndex, rowsCount) {
        let startRowIndex = rowIndex + 1;
        let endRowIndex = startRowIndex + rowsCount;
        for (let i = startRowIndex; i < endRowIndex; i++) {
            let row = table.rows[i];
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue)
                    this.deleteContentInCell(subDocument, table, i, cellIndex);
            }
        }
    }
    deleteContentInCell(subDocument, table, rowIndex, cellIndex) {
        let cell = table.rows[rowIndex].cells[cellIndex];
        if (cell.endParagrapPosition.value - cell.startParagraphPosition.value > 1)
            this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, fixed.FixedInterval.fromPositions(cell.startParagraphPosition.value, cell.endParagrapPosition.value - 1)), true, false);
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/insert-paragraph-history-item.ts
var insert_paragraph_history_item = __webpack_require__(262);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/split-table-cell-history-item.ts
var split_table_cell_history_item = __webpack_require__(6564);
;// CONCATENATED MODULE: ./src/common/commands/tables/insert-table-column-commands.ts











class InsertTableColumnCommandBase extends TableCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) && this.selection.tableInfo.extendedData.isSquare;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        let patternCell = this.getPatternCell();
        let columnIndex = this.getColumnIndex(patternCell);
        let table = patternCell.parentRow.parentTable;
        let columnCellIndices = this.getColumnCellIndices(table, columnIndex);
        let columnCount = this.getInsertedColumnCount();
        let newCells = [];
        let subDocument = options.subDocument;
        for (let i = 0; i < columnCount; i++) {
            for (let rowIndex = columnCellIndices.length - 1; rowIndex >= 0; rowIndex--) {
                newCells.push(this.splitTableCellCore(subDocument, table, rowIndex, columnCellIndices[rowIndex], patternCell));
            }
        }
        this.modelManipulator.table.normalizeTableGrid(subDocument, table);
        this.modelManipulator.table.normalizeCellColumnSpans(subDocument, table, false);
        this.modelManipulator.table.normalizeTableCellWidth(subDocument, table);
        let newCellIntervals = [];
        for (let i = 0, newCell; newCell = newCells[i]; i++)
            newCellIntervals.push(newCell.interval);
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, subDocument);
        this.history.endTransaction();
        return true;
    }
    getInsertedColumnCount() {
        return utils_list.ListUtils.accumulate(this.selection.tableInfo.extendedData.rows, constants.Constants.MAX_SAFE_INTEGER, (acc, rowInfo) => Math.min(acc, rowInfo.columnCountInSeries));
    }
    getColumnCellIndices(table, columnIndex) {
        return utils_list.ListUtils.map(table.rows, currentRow => this.getCurrentCellIndex(columnIndex, currentRow));
    }
    insertParagraphToTheLeft(subDocument, currentCell) {
        let sourceRun = subDocument.getRunByPosition(currentCell.startParagraphPosition.value);
        let sourceParagraph = subDocument.getParagraphByPosition(currentCell.startParagraphPosition.value);
        this.history.addAndRedo(new insert_paragraph_history_item/* InsertParagraphHistoryItem */.H(this.modelManipulator, new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(subDocument, currentCell.startParagraphPosition.value), sourceRun.getCharPropsBundle(this.modelManipulator.model), sourceParagraph.getParagraphBundleFull(this.modelManipulator.model))));
    }
    insertParagraphToTheRight(subDocument, currentCell) {
        let sourceRun = subDocument.getRunByPosition(currentCell.endParagrapPosition.value - 1);
        let sourceParagraph = subDocument.getParagraphByPosition(currentCell.endParagrapPosition.value - 1);
        this.history.addAndRedo(new insert_paragraph_history_item/* InsertParagraphHistoryItem */.H(this.modelManipulator, new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(subDocument, currentCell.endParagrapPosition.value - 1), sourceRun.getCharPropsBundle(this.modelManipulator.model), sourceParagraph.getParagraphBundleFull(this.modelManipulator.model))));
    }
}
class InsertTableColumnToTheLeftCommand extends InsertTableColumnCommandBase {
    splitTableCellCore(subDocument, table, rowIndex, cellIndex, patternCell) {
        if (cellIndex < 0)
            cellIndex = table.rows[rowIndex].cells.length - 1;
        this.insertParagraphToTheLeft(subDocument, table.rows[rowIndex].cells[cellIndex]);
        this.history.addAndRedo(new split_table_cell_history_item/* SplitTableCellToTheLeftHistoryItem */.R(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, true));
        this.history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, patternCell.preferredWidth.clone()));
        return table.rows[rowIndex].cells[cellIndex];
    }
    getPatternCell() {
        return this.selection.tableInfo.extendedData.firstCell;
    }
    getColumnIndex(patternCell) {
        return table_utils/* TableCellUtils */.V.getStartColumnIndex(patternCell);
    }
    getCurrentCellIndex(relativeColumnIndex, currentRow) {
        return table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(currentRow, relativeColumnIndex);
    }
}
class InsertTableColumnToTheRightCommand extends InsertTableColumnCommandBase {
    splitTableCellCore(subDocument, table, rowIndex, cellIndex, patternCell) {
        if (cellIndex < 0) {
            this.insertParagraphToTheLeft(subDocument, table.rows[rowIndex].cells[0]);
            this.history.addAndRedo(new split_table_cell_history_item/* SplitTableCellToTheLeftHistoryItem */.R(this.modelManipulator, subDocument, table.index, rowIndex, 0, true));
        }
        else {
            this.insertParagraphToTheRight(subDocument, table.rows[rowIndex].cells[cellIndex]);
            this.history.addAndRedo(new split_table_cell_history_item/* SplitTableCellToTheRightHistoryItem */.l(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, true));
        }
        this.history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, rowIndex, Math.max(0, cellIndex), patternCell.preferredWidth.clone()));
        return table.rows[rowIndex].cells[cellIndex + 1];
    }
    getPatternCell() {
        return utils_list.ListUtils.last(utils_list.ListUtils.last(this.selection.tableInfo.extendedData.rows).cells).cell;
    }
    getColumnIndex(patternCell) {
        return table_utils/* TableCellUtils */.V.getStartColumnIndex(patternCell) + patternCell.columnSpan - 1;
    }
    getCurrentCellIndex(relativeColumnIndex, currentRow) {
        return table_utils/* TableCellUtils */.V.getCellIndexByEndColumnIndex(currentRow, relativeColumnIndex);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/insert-table-core-command.ts









class InsertTableCoreCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    executeCore(_state, options) {
        const parameter = options.param;
        const subDocument = this.selection.activeSubDocument;
        const position = this.selection.intervals[0].start;
        const lp = layout_position/* LayoutPosition */.Yi.ensure(this.control.layoutFormatterManager, subDocument, position);
        let currentTable = main_structures_table/* Table */.iA.getTableByPosition(subDocument.tables, position, true);
        let availableWidth = currentTable ? lp.row.tableCellInfo.avaliableContentWidth :
            layout_column/* LayoutColumn */.r.findSectionColumnWithMinimumWidth(lp.pageArea.columns);
        this.history.beginTransaction();
        const table = this.modelManipulator.table.insertTable(subDocument, parameter.rowCount, parameter.cellCount, position, class_unit_converter/* UnitConverter */.u.pixelsToTwipsF(availableWidth), this.inputPosition, true);
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(table.getStartPosition()).setEndOfLine(false)));
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, subDocument);
        this.history.endTransaction();
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/insert-table-row-commands.ts







class InsertTableRowCommandBase extends RowCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) &&
            this.selection.tableInfo.isSelected && this.selection.tableInfo.rawData.withoutGapByRows;
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const subDocument = options.subDocument;
        const tableInfo = this.selection.tableInfo;
        const table = tableInfo.table;
        const rowCount = tableInfo.rawData.numRows;
        const patternRowIndex = this.getPatternRowIndex(tableInfo);
        const newRows = utils_list.ListUtils.initByCallback(rowCount, (rowOffset) => this.insertTableRowCore(subDocument, table, patternRowIndex + rowOffset));
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(fixed.FixedInterval.fromPositions(newRows[0].getStartPosition(), utils_list.ListUtils.last(newRows).getEndPosition())).setEndOfLine(false)));
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, table, subDocument);
        this.history.endTransaction();
        return true;
    }
}
class InsertTableRowAboveCommand extends InsertTableRowCommandBase {
    insertTableRowCore(subDocument, table, patternRowIndex) {
        this.modelManipulator.table.insertRowAbove(subDocument, table, patternRowIndex);
        return table.rows[patternRowIndex];
    }
    getPatternRowIndex(tableInfo) {
        return tableInfo.rawData.rows[0].rowIndex;
    }
}
class InsertTableRowBelowCommand extends InsertTableRowCommandBase {
    insertTableRowCore(subDocument, table, patternRowIndex) {
        this.modelManipulator.table.insertRowBelow(subDocument, table, patternRowIndex);
        return table.rows[patternRowIndex + 1];
    }
    getPatternRowIndex(tableInfo) {
        return tableInfo.rawData.lastRowInfo.rowIndex;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/merge-table-cells-command.ts






class MergeTableCellsCommand extends command_base/* CommandBase */.eK {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.selection.tableInfo.extendedData.numRows > 0 && !this.selection.specialRunInfo.isPictureSelected();
        return state;
    }
    isEnabled() {
        const data = this.selection.tableInfo.extendedData;
        return control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) &&
            data.isSquare && (data.numRows > 1 || data.rows[0].cells.length > 1) && super.isEnabled();
    }
    executeCore(_state, options) {
        this.history.beginTransaction();
        const tblInfo = this.selection.tableInfo;
        const subDocument = options.subDocument;
        this.mergeCellsHorizontally(subDocument, tblInfo);
        this.mergeCellsVertically(subDocument, tblInfo);
        this.modelManipulator.table.normalizeRows(subDocument, tblInfo.table);
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(tblInfo.extendedData.firstCell.interval).setEndOfLine(false)));
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, tblInfo.table, options.subDocument);
        this.history.endTransaction();
        return true;
    }
    getIntervalsForModifying() {
        if (this.control.isClientMode())
            return super.getIntervalsForModifying();
        else {
            const table = this.selection.tableInfo.table;
            return [fixed.FixedInterval.fromPositions(table.getStartPosition(), table.getEndPosition())];
        }
    }
    mergeCellsHorizontally(subDocument, tblInfo) {
        this.modelManipulator.table.mergeSelectedTableCellsHorizontally(subDocument, tblInfo, this.inputPosition);
    }
    mergeCellsVertically(subDocument, tblInfo) {
        this.modelManipulator.table.mergeSelectedTableCellsVertically(subDocument, tblInfo, this.inputPosition);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/tables/split-table-cells-command.ts










class SplitTableCellsCommand extends TableCommandBase {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tables) && this.selection.tableInfo.extendedData.areCellsSelectedInSeries;
    }
    executeCore(_state, options) {
        const parameters = options.param;
        this.history.beginTransaction();
        const tableInfo = this.selection.tableInfo;
        let selectedCells = utils_list.ListUtils.map(tableInfo.rawData.rows, (rowInfo) => utils_list.ListUtils.map(rowInfo.cells, (cellInfo) => cellInfo.cell));
        let firstCell = tableInfo.extendedData.firstCell;
        if (parameters.isMergeBeforeSplit) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.MergeTableCells).execute(this.control.commandManager.isPublicApiCall);
            selectedCells = this.filterRemovedCells(selectedCells);
        }
        this.splitTableCellsHorizontally(this.selection.activeSubDocument, selectedCells, parameters);
        this.splitTableCellsVertically(this.selection.activeSubDocument, selectedCells, parameters);
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(selectedCells[0][0].startParagraphPosition.value).setEndOfLine(false)));
        table_utils/* TableConditionalFormattingCalculator */.K.updateTable(this.control.modelManager, firstCell.parentRow.parentTable, this.selection.activeSubDocument);
        this.history.endTransaction();
        return true;
    }
    splitTableCellsHorizontally(subDocument, selectedCells, parameters) {
        let startCell = selectedCells[0][0];
        let table = startCell.parentRow.parentTable;
        if (parameters.isMergeBeforeSplit) {
            let rowIndex = search.SearchUtils.normedInterpolationIndexOf(table.rows, r => r.getStartPosition(), startCell.startParagraphPosition.value);
            let cellIndex = search.SearchUtils.normedInterpolationIndexOf(table.rows[rowIndex].cells, c => c.startParagraphPosition.value, startCell.startParagraphPosition.value);
            this.splitTableCellsHorizontallyCore(subDocument, main_structures_table/* TablePosition */.TR.createAndInit(table, rowIndex, cellIndex), parameters.columnCount);
            return;
        }
        let topRowIndex = search.SearchUtils.normedInterpolationIndexOf(table.rows, r => r.getStartPosition(), startCell.startParagraphPosition.value);
        for (var i = selectedCells.length - 1; i >= 0; i--) {
            let rowIndex = i + topRowIndex;
            let row = table.rows[rowIndex];
            let startCellIndex = search.SearchUtils.normedInterpolationIndexOf(row.cells, c => c.startParagraphPosition.value, selectedCells[i][0].startParagraphPosition.value);
            for (let j = selectedCells[i].length - 1; j >= 0; j--) {
                let cellIndex = startCellIndex + j;
                let cell = row.cells[cellIndex];
                if (cell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue)
                    continue;
                this.splitTableCellsHorizontallyCore(subDocument, main_structures_table/* TablePosition */.TR.createAndInit(table, rowIndex, cellIndex), parameters.columnCount);
            }
        }
    }
    splitTableCellsVertically(subDocument, selectedCells, parameters) {
        if (parameters.rowCount === 1)
            return;
        let columnCount = this.getColumnsCountForSplitVertically(selectedCells[0], parameters);
        let startCell = selectedCells[0][0];
        let topRowIndex = search.SearchUtils.normedInterpolationIndexOf(startCell.parentRow.parentTable.rows, r => r.getStartPosition(), startCell.startParagraphPosition.value);
        let startCellIndex = search.SearchUtils.normedInterpolationIndexOf(startCell.parentRow.cells, c => c.startParagraphPosition.value, startCell.startParagraphPosition.value);
        this.splitTableCellsVerticallyCore(subDocument, main_structures_table/* TablePosition */.TR.createAndInit(startCell.parentRow.parentTable, topRowIndex, startCellIndex), parameters.rowCount, columnCount);
    }
    splitTableCellsVerticallyCore(subDocument, position, rowsCount, columnsCount) {
        table_utils/* TableCellUtils */.V.splitTableCellsVerticallyCore(this.control, subDocument, position, rowsCount, columnsCount, this.inputPosition);
    }
    splitTableCellsHorizontallyCore(subDocument, position, columnsCount) {
        table_utils/* TableCellUtils */.V.splitTableCellsHorizontallyCore(this.control, subDocument, position, columnsCount, this.inputPosition);
    }
    getColumnsCountForSplitVertically(selectedCells, parameters) {
        if (parameters.isMergeBeforeSplit)
            return parameters.columnCount;
        return selectedCells.length * parameters.columnCount;
    }
    filterRemovedCells(selectedCells) {
        let result = [];
        let table = selectedCells[0][0].parentRow.parentTable;
        for (let i = 0, horCells; horCells = selectedCells[i]; i++) {
            let row = horCells[0].parentRow;
            if (table.rows.indexOf(row) < 0)
                continue;
            result.push([horCells[0]]);
        }
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/backspace-command.ts













class BackspaceCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _options) {
        const selection = this.selection;
        let interval = selection.lastSelectedInterval.clone();
        const rawData = this.selection.tableInfo.rawData;
        if (rawData.areCellsSelectedInSeries && rawData.atLeastOneCellFullySelected(selection.intervals)) {
            const command = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteTableCellsByBackspace);
            if (command.getState().enabled)
                return command.execute(this.control.commandManager.isPublicApiCall);
        }
        const isIntervalCollapsed = interval.length == 0;
        const subDocument = this.selection.activeSubDocument;
        if (isIntervalCollapsed) {
            if (this.tryChangeParagraphAlignOrIndent(interval))
                return true;
            const layoutPosition = subDocument.isMain()
                ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, interval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true))
                : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, interval.start, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                    .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
            interval.start = layoutPosition.getLogPosition() - 1;
            const firstPagePosition = subDocument.isMain() ?
                this.control.layout.pages[0].getPosition() :
                layoutPosition.pageArea.pageOffset;
            if (interval.start < firstPagePosition)
                return false;
            if (interval.start === firstPagePosition &&
                utils_enum/* EnumUtils */.Y.isAnyOf(subDocument.getRunByPosition(interval.start).getType(), run_type/* RunType */.m.AnchoredPictureRun, run_type/* RunType */.m.AnchoredTextBoxRun))
                return false;
            interval.length = 1;
        }
        if (interval.end == this.selection.activeSubDocument.getDocumentEndPosition() && interval.length === 1)
            return false;
        if (isIntervalCollapsed &&
            BackspaceCommand.getIntervalAccordingFields(this.selection.activeSubDocument, this.selection, interval, true))
            return true;
        if (this.selection.activeSubDocument.isEditable([interval])) {
            this.history.beginTransaction();
            this.addSelectionBefore();
            this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, interval), false, true, !this.control.commandManager.isPublicApiCall);
            this.addSelectionAfter(interval.start);
            this.history.endTransaction();
            return true;
        }
        else
            return false;
    }
    beforeExecute() {
        var _a;
        (_a = this.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.beginUpdate();
        this.control.inputPosition.reset();
        this._inputPositionCharProps = this.control.inputPosition.getAllCharacterProperties();
        this._inputPositionParagraphProps = this.control.inputPosition.getAllParagraphProperties();
    }
    afterExecute() {
        var _a;
        this.control.inputPosition.applyAllCharacterProperties(this._inputPositionCharProps, true);
        this.control.inputPosition.applyAllParagraphProperties(this._inputPositionParagraphProps);
        (_a = this.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.endUpdate();
    }
    tryChangeParagraphAlignOrIndent(interval) {
        const pars = this.selection.activeSubDocument.paragraphs;
        const parIndex = search.SearchUtils.normedInterpolationIndexOf(pars, p => p.startLogPosition.value, interval.start);
        const par = pars[parIndex];
        return interval.start === par.startLogPosition.value && this.selection.activeSubDocument.isEditable([par.interval]) &&
            (this.tryChangeParagraphAlign(par) || this.tryDeleteList(par, parIndex) || this.tryChangeParagraphIndent(par));
    }
    tryChangeParagraphAlign(par) {
        const parProps = par.getParagraphMergedProperties();
        const alignIsRight = parProps.alignment == paragraph_properties/* ParagraphAlignment */.wq.Right;
        if (!alignIsRight && parProps.alignment != paragraph_properties/* ParagraphAlignment */.wq.Center)
            return false;
        this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphAlignmentHistoryItem */.n$(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, par.interval), alignIsRight ? paragraph_properties/* ParagraphAlignment */.wq.Center : paragraph_properties/* ParagraphAlignment */.wq.Left, true));
        return true;
    }
    tryDeleteList(par, parIndex) {
        if (!par.isInList())
            return false;
        const oldLeftIndent = par.getParagraphMergedProperties().leftIndent;
        this.history.beginTransaction();
        this.history.addAndRedo(new numbering_list_history_items/* RemoveParagraphFromListHistoryItem */.Rk(this.modelManipulator, this.selection.activeSubDocument, parIndex));
        if (oldLeftIndent != par.getParagraphMergedProperties().leftIndent) {
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, par.interval), oldLeftIndent, true));
        }
        this.history.endTransaction();
        return true;
    }
    tryChangeParagraphIndent(par) {
        const history = this.history;
        const parInterval = par.interval;
        const parProps = par.getParagraphMergedProperties();
        const subDocument = this.selection.activeSubDocument;
        let indentsChanged = false;
        history.beginTransaction();
        if (parProps.leftIndent > 0) {
            history.addAndRedo(new paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, parInterval), 0, true));
            indentsChanged = true;
        }
        if (parProps.firstLineIndent > 0) {
            history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, parInterval), 0, true));
            indentsChanged = true;
        }
        if (parProps.firstLineIndentType !== paragraph_properties/* ParagraphFirstLineIndent */.Qi.None) {
            history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, parInterval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.None, true));
            indentsChanged = true;
        }
        history.endTransaction();
        return indentsChanged;
    }
    static getIntervalAccordingFields(subDocument, selection, removingInterval, selectInterval) {
        const newRemovingInterval = removingInterval.clone();
        fields_field/* Field */.gN.correctIntervalDueToFields(subDocument, newRemovingInterval);
        if (removingInterval.equals(newRemovingInterval))
            return null;
        if (selectInterval)
            selection.deprecatedSetSelection(newRemovingInterval.start, newRemovingInterval.end, selection.endOfLine, selection.keepX, true);
        return newRemovingInterval;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/change-inline-picture-scale-command.ts






class ChangeInlinePictureScaleCommand extends command_base/* CommandBase */.eK {
    getState() {
        let isEnabled = this.isEnabled();
        let value;
        if (isEnabled) {
            let run = this.selection.activeSubDocument.getRunByPosition(this.selection.specialRunInfo.getPicturePosition());
            value = [run.size.scale.width, run.size.scale.height];
        }
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(), value);
    }
    isEnabled() {
        return super.isEnabled() &&
            this.selection.specialRunInfo.isPictureSelected() &&
            !this.selection.specialRunInfo.isSelectedAnchorObject;
    }
    executeCore(_state, options) {
        this.history.addAndRedo(new ChangeRectangularObjectScaleHistoryItem(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(options.subDocument, new fixed.FixedInterval(this.selection.specialRunInfo.getPicturePosition(), 1)), new geometry_size.Size(options.param[0], options.param[1])));
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/model/history/items/text-run-change-case-history-item.ts

class ChangeCaseHistoryItemBase extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, selection, layoutFormatterManager) {
        super(modelManipulator, subDocInterval);
        this.layoutFormatterManager = layoutFormatterManager;
        this.selection = selection;
    }
    undo() {
        this.modelManipulator.textCase.applyBufferState(this.boundSubDocument, this.oldState);
    }
}
class UpperCaseHistoryItem extends ChangeCaseHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.textCase.applyUpperCase(this.layoutFormatterManager, this.selection, this.boundSubDocument, this.interval);
    }
}
class LowerCaseHistoryItem extends ChangeCaseHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.textCase.applyLowerCase(this.layoutFormatterManager, this.selection, this.boundSubDocument, this.interval);
    }
}
class CapitalizeEachWordCaseHistoryItem extends ChangeCaseHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.textCase.applyCapitalizeEachWordCase(this.layoutFormatterManager, this.selection, this.boundSubDocument, this.interval);
    }
}
class ToggleCaseHistoryItem extends ChangeCaseHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.textCase.applyToggleCase(this.layoutFormatterManager, this.selection, this.boundSubDocument, this.interval);
    }
}
class SentenceCaseHistoryItem extends ChangeCaseHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.textCase.applySentenceCase(this.layoutFormatterManager, this.selection, this.boundSubDocument, this.interval);
    }
}

// EXTERNAL MODULE: ./src/common/model/sentence-model-builder.ts
var sentence_model_builder = __webpack_require__(3098);
;// CONCATENATED MODULE: ./src/common/commands/text/change-text-case-commands.ts











class ChangeTextCaseCommandBaseBase extends command_base/* CommandBase */.eK {
    getActualIntervals() {
        if (this.selection.isCollapsed())
            return [this.selection.activeSubDocument.getWholeWordInterval(this.selection.intervals[0].start, false, true)];
        return utils_list.ListUtils.deepCopy(this.selection.intervalsInfo.intervals);
    }
    getState() {
        return new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), this.getActualIntervals());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterFormatting);
    }
}
class ChangeTextCaseCommandBase extends ChangeTextCaseCommandBaseBase {
    getActualInterval() {
        if (this.selection.isCollapsed())
            return this.selection.activeSubDocument.getWholeWordInterval(this.selection.intervals[0].start, false, true);
        return this.selection.lastSelectedInterval.clone();
    }
    getState() {
        return new command_states/* IntervalCommandStateEx */.IA(this.isEnabled(), this.getActualIntervals());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.characterFormatting);
    }
    executeCore(state, _options) {
        if (state.intervals.length === 0 || state.intervals[0].length === 0)
            return false;
        var modelManipulator = this.modelManipulator;
        var subDocument = this.selection.activeSubDocument;
        this.history.addTransaction(() => {
            for (let i = 0, interval; interval = state.intervals[i]; i++) {
                this.history.addAndRedo(new (this.getHistoryItemName())(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), this.selection, this.control.layoutFormatterManager));
                this.history.addAndRedo(new character_properties_history_items/* FontCapsHistoryItem */.C1(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), false, true));
            }
        });
        return true;
    }
}
class CapitalizeEachWordCaseCommand extends ChangeTextCaseCommandBase {
    getHistoryItemName() {
        return CapitalizeEachWordCaseHistoryItem;
    }
}
class MakeTextLowerCaseCommand extends ChangeTextCaseCommandBase {
    getHistoryItemName() {
        return LowerCaseHistoryItem;
    }
}
class MakeTextUpperCaseCommand extends ChangeTextCaseCommandBase {
    getHistoryItemName() {
        return UpperCaseHistoryItem;
    }
}
class ToggleTextCaseCommand extends ChangeTextCaseCommandBase {
    getHistoryItemName() {
        return ToggleCaseHistoryItem;
    }
}
class SentenceCaseCommand extends ChangeTextCaseCommandBase {
    getHistoryItemName() {
        return SentenceCaseHistoryItem;
    }
}
class SwitchTextCaseCommand extends ChangeTextCaseCommandBaseBase {
    executeCore(state, options) {
        var executed = false;
        this.history.beginTransaction();
        for (let i = 0, interval; interval = state.intervals[i]; i++) {
            let commandId = this.getCommand(interval);
            let command = (this.control.commandManager.getCommand(commandId));
            executed = command.executeCore(state, options);
        }
        this.history.endTransaction();
        return executed;
    }
    getCommand(interval) {
        var sentences = sentence_model_builder/* SentenceStructureBuilder */.bC.getBuilder(this.control.layoutFormatterManager, this.selection, this.selection.activeSubDocument, interval, true).sentences;
        var atLeastOneCharInNotInFirstPositionOnSentenceInUpperCase = false;
        var atLeastOneSentenceFullSelected = false;
        var atLeastOneFirstCharInSentenceInLowerCase = false;
        var atLeastOneFirstCharInWordInLowerCase = false;
        var allNotFirstCharsInWordsIsLowerCase = true;
        var allCharsInUpperCase = true;
        var allFirstCharsInWordsInUpperCase = true;
        externalLoop: for (var sentenceIndex = 0, sentence; sentence = sentences[sentenceIndex]; sentenceIndex++) {
            if (sentence.words[0].parts[0].position >= interval.start && sentence.getLastWord().getLastWordPart().getEndPosition() <= interval.end)
                atLeastOneSentenceFullSelected = true;
            for (var wordIndex = 0, wordInfo; wordInfo = sentence.words[wordIndex]; wordIndex++) {
                for (var wordPartIndex = 0, wordPart; wordPart = wordInfo.parts[wordPartIndex]; wordPartIndex++) {
                    if (wordPart.position < interval.start)
                        continue;
                    if (wordPart.position >= interval.end)
                        break externalLoop;
                    if (wordPart.type == layout_box/* LayoutBoxType */.KH.Text) {
                        var firstWordChar = wordPart.text[0];
                        var otherWordChars = wordPart.text.substr(1);
                        if (wordIndex == 0 && wordPartIndex == 0) {
                            atLeastOneFirstCharInSentenceInLowerCase = atLeastOneFirstCharInSentenceInLowerCase || (string.StringUtils.stringInLowerCase(firstWordChar) && !string.StringUtils.stringInUpperCase(firstWordChar));
                            atLeastOneCharInNotInFirstPositionOnSentenceInUpperCase = atLeastOneCharInNotInFirstPositionOnSentenceInUpperCase || string.StringUtils.atLeastOneSymbolInUpperCase(otherWordChars);
                        }
                        else
                            atLeastOneCharInNotInFirstPositionOnSentenceInUpperCase = atLeastOneCharInNotInFirstPositionOnSentenceInUpperCase || string.StringUtils.atLeastOneSymbolInUpperCase(wordPart.text);
                        if (wordPartIndex == 0) {
                            atLeastOneFirstCharInWordInLowerCase = atLeastOneFirstCharInWordInLowerCase || (string.StringUtils.stringInLowerCase(firstWordChar) && !string.StringUtils.stringInUpperCase(firstWordChar));
                            allFirstCharsInWordsInUpperCase = allFirstCharsInWordsInUpperCase && string.StringUtils.stringInUpperCase(firstWordChar);
                        }
                        allNotFirstCharsInWordsIsLowerCase = allNotFirstCharsInWordsIsLowerCase && string.StringUtils.stringInLowerCase(otherWordChars);
                        allCharsInUpperCase = allCharsInUpperCase && string.StringUtils.stringInUpperCase(wordPart.text);
                    }
                }
            }
        }
        if (allCharsInUpperCase)
            return client_command/* RichEditClientCommand */.f.MakeTextLowerCase;
        if (allFirstCharsInWordsInUpperCase && allNotFirstCharsInWordsIsLowerCase)
            return client_command/* RichEditClientCommand */.f.MakeTextUpperCase;
        if (atLeastOneSentenceFullSelected && (atLeastOneFirstCharInSentenceInLowerCase || atLeastOneCharInNotInFirstPositionOnSentenceInUpperCase))
            return client_command/* RichEditClientCommand */.f.SentenceCase;
        if (atLeastOneFirstCharInWordInLowerCase && allNotFirstCharsInWordsIsLowerCase)
            return client_command/* RichEditClientCommand */.f.CapitalizeEachWordTextCase;
        return client_command/* RichEditClientCommand */.f.MakeTextUpperCase;
    }
}

// EXTERNAL MODULE: ./src/common/commands/text/clipboard-commands.ts + 4 modules
var clipboard_commands = __webpack_require__(6983);
;// CONCATENATED MODULE: ./src/common/commands/text/delete-command.ts









class DeleteCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        const intervals = utils_list.ListUtils.map(options.intervalsInfo.intervals, (curr) => new linked_interval/* LinkedInterval */.k(subDocument.positionManager, curr));
        this.history.addTransaction(() => {
            for (let selectionInterval of intervals) {
                var removingInterval = selectionInterval.getFixedInterval();
                var isIntervalCollapsed = selectionInterval.length == 0;
                if (isIntervalCollapsed) {
                    const layoutPosition = subDocument.isMain()
                        ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, selectionInterval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false))
                        : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, selectionInterval.start, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
                    layoutPosition.switchToStartNextBoxInRow();
                    removingInterval.start = layoutPosition.getLogPosition();
                    removingInterval.length = 1;
                }
                if (selectionInterval.end === subDocument.getDocumentEndPosition() && removingInterval.length === 1)
                    continue;
                if (isIntervalCollapsed && BackspaceCommand.getIntervalAccordingFields(subDocument, this.selection, removingInterval, true))
                    break;
                if (subDocument.isEditable([removingInterval])) {
                    this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(removingInterval.start)));
                    this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, removingInterval), false, true, !this.control.commandManager.isPublicApiCall);
                }
            }
        });
        utils_list.ListUtils.forEach(intervals, (curr) => curr.destructor(subDocument.positionManager));
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/drag-drop-commands.ts











class DragCopyContentCommand extends command_base/* CommandBase */.eK {
    executeCore(_state, options) {
        if (!options.intervalsInfo.intervals.length)
            return false;
        let positionTo = options.param;
        const subDocument = options.subDocument;
        if (!subDocument.isEditable([new fixed.FixedInterval(positionTo, 0)]))
            return false;
        if (this.tryCopyIntervalInsideTable(options.intervalsInfo, positionTo))
            return true;
        const intervals = utils_list.ListUtils.map(options.intervalsInfo.intervals, (curr) => new linked_interval/* LinkedInterval */.k(subDocument.positionManager, curr));
        let selectionIntervals = [];
        this.history.addTransaction(() => {
            for (let interval of intervals) {
                const fixedInterval = interval.getFixedInterval();
                this.modelManipulator.range.copyIntervalTo(subDocument, fixedInterval, positionTo);
                selectionIntervals.push(new fixed.FixedInterval(positionTo, fixedInterval.length));
                positionTo += fixedInterval.length;
            }
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals(selectionIntervals)));
        });
        utils_list.ListUtils.forEach(intervals, (curr) => curr.destructor(subDocument.positionManager));
        return true;
    }
    canModify() {
        return true;
    }
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.control.modelManager.richOptions.control.drag !== control/* DocumentCapability */.e7.Hidden && this.control.modelManager.richOptions.control.drop !== control/* DocumentCapability */.e7.Hidden;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.drag) && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.drop) &&
            !this.selection.isCollapsed();
    }
    tryCopyIntervalInsideTable(intervalsInfo, positionTo) {
        if (!intervalsInfo.tableInfo.extendedData.numRows)
            return false;
        this.history.addTransaction(() => {
            const newInterval = create_range_copy_operation/* RangeCopy */.H.create(intervalsInfo.subDocIntervals)
                .insertTo(this.modelManipulator, new sub_document/* SubDocumentPosition */.rg(intervalsInfo.subDocument, positionTo));
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(newInterval)));
        });
        return true;
    }
}
class DragMoveContentCommand extends command_base/* CommandBase */.eK {
    executeCore(_state, options) {
        if (!options.intervalsInfo.intervals.length)
            return false;
        let positionTo = options.param;
        if (!this.selection.activeSubDocument.isEditable([new fixed.FixedInterval(positionTo, 0)]))
            return false;
        if (this.selection.intervals.length == 1 &&
            this.selection.activeSubDocument.getDocumentEndPosition() - 1 == this.selection.intervals[0].start ||
            !this.selection.activeSubDocument.isEditable(this.selection.intervals))
            return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DragCopyContent)
                .execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, positionTo));
        let subDocument = this.selection.activeSubDocument;
        const tableInfo = this.selection.tableInfo;
        if (tableInfo.isSelected &&
            tableInfo.extendedData.atLeastOneCellFullySelected(this.selection.intervals) &&
            utils_list.ListUtils.unsafeAnyOf(tableInfo.extendedData.rows, (rowInfo) => utils_list.ListUtils.unsafeAnyOf(rowInfo.cells, (cellInfo) => cellInfo.cell.interval.containsWithIntervalEnd(positionTo))))
            return false;
        if (this.tryMoveIntervalInsideTable(options.intervalsInfo, positionTo))
            return true;
        const intervals = utils_list.ListUtils.map(options.intervalsInfo.intervals, (curr) => new linked_interval/* LinkedInterval */.k(subDocument.positionManager, curr));
        let skipIntervalIndex;
        this.history.addTransaction(() => {
            const selectionLinkedIntervals = [];
            skipIntervalIndex = utils_list.ListUtils.indexBy(intervals, (interval) => interval.start <= positionTo && interval.end >= positionTo);
            if (skipIntervalIndex >= 0)
                positionTo = intervals[skipIntervalIndex].start;
            const skipInterval = intervals[skipIntervalIndex];
            const skipIntervalLength = skipInterval ? skipInterval.length : 0;
            for (let i = 0, interval; interval = intervals[i]; i++) {
                if (i === skipIntervalIndex) {
                    if (intervals.length > 1)
                        selectionLinkedIntervals.push(new linked_interval/* LinkedInterval */.k(subDocument.positionManager, new fixed.FixedInterval(positionTo, skipIntervalLength)));
                    positionTo += skipIntervalLength;
                    continue;
                }
                const fixedInterval = interval.getFixedInterval();
                this.modelManipulator.range.moveIntervalTo(new sub_document/* SubDocumentInterval */.v8(subDocument, fixedInterval), positionTo);
                const selectionStartPosition = fixedInterval.start < positionTo ? positionTo - fixedInterval.length : positionTo;
                const selectionEndPosition = selectionStartPosition + fixedInterval.length;
                selectionLinkedIntervals.push(new linked_interval/* LinkedInterval */.k(subDocument.positionManager, new boundary/* BoundaryInterval */.e(selectionStartPosition, selectionEndPosition)));
                if (positionTo <= fixedInterval.start)
                    positionTo += fixedInterval.length;
            }
            if (selectionLinkedIntervals.length) {
                this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals(utils_list.ListUtils.map(selectionLinkedIntervals, (curr) => curr.getFixedInterval()))));
                utils_list.ListUtils.forEach(selectionLinkedIntervals, (curr) => curr.destructor(subDocument.positionManager));
            }
        });
        utils_list.ListUtils.forEach(intervals, (curr) => curr.destructor(subDocument.positionManager));
        return intervals.length > 1 || skipIntervalIndex === -1;
    }
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.control.modelManager.richOptions.control.drag !== control/* DocumentCapability */.e7.Hidden && this.control.modelManager.richOptions.control.drop !== control/* DocumentCapability */.e7.Hidden;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.drag) && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.drop) && !this.selection.isCollapsed();
    }
    tryMoveIntervalInsideTable(intervalsInfo, positionTo) {
        if (!intervalsInfo.tableInfo.extendedData.numRows)
            return false;
        const subDocument = intervalsInfo.subDocument;
        const linkedIntervals = utils_list.ListUtils.map(intervalsInfo.intervals, (curr) => new linked_interval/* LinkedInterval */.k(intervalsInfo.subDocument.positionManager, curr));
        this.history.addTransaction(() => {
            const newInterval = new linked_interval/* LinkedInterval */.k(subDocument.positionManager, create_range_copy_operation/* RangeCopy */.H.create(intervalsInfo.subDocIntervals)
                .insertTo(this.modelManipulator, new sub_document/* SubDocumentPosition */.rg(subDocument, positionTo)));
            utils_list.ListUtils.forEach(linkedIntervals, (curr) => {
                this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, curr.getFixedInterval()), true, false);
                curr.destructor(subDocument.positionManager);
            });
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(newInterval.getFixedInterval()).setEndOfLine(true)));
            newInterval.destructor(subDocument.positionManager);
        });
        return true;
    }
    canModify() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/insert-column-break-command.ts




class insert_column_break_command_InsertColumnBreakCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.sections) &&
            this.selection.tableInfo.extendedData.numRows == 0 && this.selection.activeSubDocument.isMain();
    }
    executeCore(_state, options) {
        this.insertTextWithSelection(options.intervalsInfo.subDocInterval, rich_utils/* RichUtils */.i.specialCharacters.ColumnBreak);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/insert-line-break-command.ts



class insert_line_break_command_InsertLineBreakCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, options) {
        this.insertTextWithSelection(options.intervalsInfo.subDocInterval, rich_utils/* RichUtils */.i.specialCharacters.LineBreak);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/insert-page-break-command.ts








class insert_page_break_command_InsertPageBreakCommand extends command_base/* CommandBase */.eK {
    getState(options = this.convertToCommandOptions(undefined)) {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled(options));
    }
    executeCore(_state, options) {
        this.history.addTransaction(() => {
            this.addSelectionBefore();
            let pos = options.intervalsInfo.position;
            if (this.control.modelManager.richOptions.control.pageBreakInsertMode === control/* PageBreakInsertMode */.HX.NewLine)
                pos = command_base/* CommandBase */.eK.replaceTextByParagraph(this.control.modelManager, this.inputPosition, options.intervalsInfo.subDocInterval).end;
            pos = this.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(options.subDocument, pos), this.inputPosition.charPropsBundle, run_type/* RunType */.m.TextRun, rich_utils/* RichUtils */.i.specialCharacters.PageBreak)).insertedInterval.end;
            pos = this.modelManipulator.paragraph.insertParagraphViaHistory(insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n.makeParamsByPosition(new sub_document/* SubDocumentPosition */.rg(options.subDocument, pos), this.inputPosition)).end;
            this.addSelectionAfter(pos);
        });
        return true;
    }
    isEnabled(options) {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphs) &&
            this.selection.tableInfo.extendedData.numRows == 0 && options.subDocument.isMain();
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/tables/change-table-cell-history-items.ts
var change_table_cell_history_items = __webpack_require__(9406);
;// CONCATENATED MODULE: ./src/common/commands/text/insert-paragraph-command.ts






class InsertParagraphCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paragraphs);
    }
    executeCore(_state, options) {
        const subDocument = options.subDocument;
        const interval = options.intervalsInfo.interval;
        this.lock = interval.length == 0;
        if (this.tryInsertParagraphBeforeTable(interval, subDocument))
            return true;
        const paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.paragraphs, p => p.startLogPosition.value, interval.start);
        const paragraph = subDocument.paragraphs[paragraphIndex];
        if (interval.length === 0 || interval.start === 1) {
            if (paragraph.startLogPosition.value === interval.start && paragraph.isInList() && paragraph.length === 1 &&
                subDocument.isEditable([paragraph.interval])) {
                this.lock = false;
                this.history.addAndRedo(new numbering_list_history_items/* RemoveParagraphFromListHistoryItem */.Rk(this.modelManipulator, subDocument, paragraphIndex));
                return true;
            }
        }
        let inpPosCharProps = this.lock && interval.start == paragraph.getEndPosition() - 1 ?
            this.inputPosition.getAllCharacterProperties() :
            null;
        this.history.addTransaction(() => {
            this.addSelectionBefore();
            const resutInterval = command_base/* CommandBase */.eK.replaceTextByParagraph(this.control.modelManager, this.inputPosition, options.intervalsInfo.subDocInterval);
            this.addSelectionAfter(resutInterval.end, (newState) => newState.setEndOfLine(false));
        });
        if (inpPosCharProps) {
            this.inputPosition.applyAllCharacterProperties(inpPosCharProps);
            this.control.selectionModelChangesListener.resetOccurredEvents();
        }
        if (this.lock)
            this.control.inputPositionModelChangesListener.resetOccurredEvents();
        return true;
    }
    lockBarHolderUpdate(prevModifiedState) {
        return this.lock && prevModifiedState === this.control.getModifiedState();
    }
    lockInputPositionUpdating() {
        return this.lock;
    }
    tryInsertParagraphBeforeTable(interval, subDocument) {
        if (interval.start > 0 || interval.length > 0)
            return false;
        let firstTable = subDocument.tables[0];
        if (firstTable && firstTable.getStartPosition() === 0) {
            this.history.addTransaction(() => {
                this.modelManipulator.table.insertParagraphToTheCellStartAndShiftContent(subDocument, firstTable.rows[0].cells[0], this.inputPosition);
                this.history.addAndRedo(new change_table_cell_history_items/* ShiftTableStartPositionToTheRightHistoryItem */.bG(this.modelManipulator, subDocument, firstTable.index));
            });
            return true;
        }
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/insert-section-break-command.ts






class InsertSectionBreakCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.sections) &&
            this.selection.tableInfo.extendedData.numRows == 0 && this.selection.activeSubDocument.isMain() &&
            section_properties_command_base/* SectionPropertiesCommandBase */.V.rangePermissionIncludeFullSection(this.control, this.selection.activeSubDocument, this.selection.intervals);
    }
    executeCore(_state, options) {
        const charPropsBundle = this.inputPosition.charPropsBundle;
        this.insertSomeWithSelection(sub_document/* SubDocumentInterval */.v8.fromPosition(this.selection.activeSubDocument, options.intervalsInfo.position), (subDocPosition) => {
            this.modelManipulator.section.insertSectionAndSetStartType(subDocPosition.position, this.getStartType(), charPropsBundle);
            return subDocPosition.position + 1;
        });
        return true;
    }
}
class insert_section_break_command_InsertSectionBreakNextPageCommand extends InsertSectionBreakCommand {
    getStartType() {
        return section_enums/* SectionStartType */.tk.NextPage;
    }
}
class insert_section_break_command_InsertSectionBreakEvenPageCommand extends InsertSectionBreakCommand {
    getStartType() {
        return section_enums/* SectionStartType */.tk.EvenPage;
    }
}
class insert_section_break_command_InsertSectionBreakOddPageCommand extends InsertSectionBreakCommand {
    getStartType() {
        return section_enums/* SectionStartType */.tk.OddPage;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/insert-space-command.ts




class InsertSpaceCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo = this.selection.intervalsInfo.clone();
    }
    executeCore(_state, options) {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertText).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, rich_utils/* RichUtils */.i.specialCharacters.Space).setIntervalsInfo(options.intervalsInfo));
    }
}
class InsertNonBreakingSpaceCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo = this.selection.intervalsInfo.clone();
    }
    executeCore(_state, options) {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertText).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, rich_utils/* RichUtils */.i.specialCharacters.NonBreakingSpace).setIntervalsInfo(options.intervalsInfo));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/insert-tab-command.ts

















class InsertTabCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    setNextObj(iter) {
        do {
            if (utils_enum/* EnumUtils */.Y.isAnyOf(iter.run.getType(), run_type/* RunType */.m.InlinePictureRun, run_type/* RunType */.m.AnchoredPictureRun, run_type/* RunType */.m.AnchoredTextBoxRun))
                return true;
        } while (iter.moveToNextRun());
        return false;
    }
    executeCore(_state, options) {
        const specInfo = this.selection.specialRunInfo;
        if (specInfo.isSelected() && (!specInfo.isTextBoxSelected() ||
            this.selection.activeSubDocument.id == specInfo.getParentSubDocument().id)) {
            const iter = new model_iterator/* ModelIterator */.w(this.selection.activeSubDocument, true);
            iter.setPosition(specInfo.getPosition() + 1);
            if (!this.setNextObj(iter)) {
                iter.setPosition(0);
                this.setNextObj(iter);
            }
            this.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu().setInterval(new fixed.FixedInterval(iter.getAbsolutePosition(), 1)));
            return true;
        }
        var interval = this.selection.lastSelectedInterval.clone();
        var startParagraph = this.selection.activeSubDocument.getParagraphByPosition(interval.start);
        var documentEndPosition = this.selection.activeSubDocument.getDocumentEndPosition();
        if (interval.start >= documentEndPosition)
            throw new Error("InsertTabCommandBase interval.start >= documentEndPosition");
        if (interval.length > 0 && interval.end > documentEndPosition)
            throw new Error("InsertTabCommandBase interval.end > documentEndPosition");
        var subDocument = this.selection.activeSubDocument;
        var startLayoutPosition = subDocument.isMain()
            ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, interval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false))
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, interval.start, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (this.addTableRowIfRequired(startLayoutPosition))
            return true;
        if (this.performCellIteratorActionIfRequired(startLayoutPosition, interval.start))
            return true;
        if (!this.control.commandManager.assertLastExecutedCommandsChain(true, InsertTabCommandBase)) {
            if (startParagraph.getTabs().positions.length === 0) {
                if (this.needProcessFirstParagraphRow(interval, startParagraph, startLayoutPosition)) {
                    if (startParagraph.isInList())
                        return this.createIndentNumberingParagraphCommand().execute(this.control.commandManager.isPublicApiCall);
                    return this.createChangeParagraphIndentFromFirstRowCommand().execute(this.control.commandManager.isPublicApiCall);
                }
                if (this.needProcessParagraphLeftIndent(interval, startLayoutPosition))
                    return this.createChangeIndentCommand().execute(this.control.commandManager.isPublicApiCall);
            }
        }
        if (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.tabSymbol))
            this.insertTextWithSelection(options.intervalsInfo.subDocInterval, this.control.modelManager.richOptions.control.tabMarker);
        return true;
    }
    addTableRowIfRequired(lp) {
        const cellInfo = lp.row.tableCellInfo;
        if (!cellInfo)
            return false;
        const rowInfo = cellInfo.parentRow;
        const grid = rowInfo.parentTable.logicInfo.grid;
        const info = grid.tableCellGridInfos[rowInfo.rowIndex][cellInfo.cellGridIndex];
        const rowInd = info.getEndRowIndex();
        const cellInd = info.getCellIndex(info.getNumRowsInCell() - 1);
        const lastRow = utils_list.ListUtils.last(grid.table.rows);
        if (rowInd == grid.table.rows.length && cellInd == lastRow.cells.length - 1) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertTableRowBelow)
                .execute(this.control.commandManager.isPublicApiCall);
            this.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu()
                .setPosition(this.selection.intervals[0].start)
                .setEndOfLine(false));
            return true;
        }
        return false;
    }
    needProcessFirstParagraphRow(interval, startParagraph, startLayoutPosition) {
        if (this.control.commandManager.assertLastExecutedCommandsChain(false, InsertTabCommandBase, ChangeParagraphIndentFromFirstRowCommandBase) && this.isIntervalStartInParagraphStart(interval, startParagraph))
            return true;
        return this.isIntervalStartInParagraphStart(interval, startParagraph) && (interval.length === 0 || this.isIntervalEndOnRowEnd(interval, startLayoutPosition));
    }
    needProcessParagraphLeftIndent(interval, startLayoutPosition) {
        if (this.control.commandManager.assertLastExecutedCommandsChain(false, InsertTabCommandBase, ChangeIndentCommandBase))
            return true;
        var subDocument = this.selection.activeSubDocument;
        var endLayoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, interval.end, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, interval.end, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        return startLayoutPosition && startLayoutPosition.isPositionBeforeFirstBoxInRow() && this.isIntervalIncludesWholeRow(startLayoutPosition, endLayoutPosition);
    }
    performCellIteratorActionIfRequired(startLayoutPosition, pos) {
        const startCellInfo = startLayoutPosition.row.tableCellInfo;
        if (!startCellInfo)
            return false;
        let boxIterator;
        const startCellIndexes = this.getTablePos(startCellInfo);
        while (true) {
            boxIterator = this.getBoxIterator(pos, startCellInfo.parentRow.parentTable.getTopLevelColumn().logicInfo.grid.table.getEndPosition() + 1);
            if (boxIterator && boxIterator.isInitialized())
                break;
            this.control.layoutFormatterManager.forceFormatPage(this.control.layout.validPageCount);
        }
        while (this.performCellIteratorAction(boxIterator)) {
            const currIndexes = this.getTablePos(boxIterator.position.row.tableCellInfo);
            if (!startCellIndexes.equals(currIndexes)) {
                if (currIndexes &&
                    (startCellIndexes.table.index == currIndexes.table.index ||
                        currIndexes.table.nestedLevel > startCellIndexes.table.nestedLevel)) {
                    const grid = boxIterator.position.row.tableCellInfo.parentRow.parentTable.logicInfo.grid;
                    const cellStartPos = grid.table.rows[currIndexes.rowIndex].cells[currIndexes.cellIndex].startParagraphPosition.value;
                    this.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu()
                        .setInterval(new fixed.FixedInterval(cellStartPos, 0))
                        .setEndOfLine(false));
                }
                break;
            }
        }
        return true;
    }
    getTablePos(cellInfo) {
        if (!cellInfo)
            return null;
        const rowInfo = cellInfo.parentRow;
        const grid = rowInfo.parentTable.logicInfo.grid;
        const info = grid.tableCellGridInfos[rowInfo.rowIndex][cellInfo.cellGridIndex];
        return new main_structures_table/* TablePosition */.TR(grid.table, info.getStartRowIndex(), info.getCellIndex(0));
    }
    isIntervalStartInParagraphStart(interval, paragraph) {
        return interval.start === paragraph.startLogPosition.value;
    }
    isIntervalEndOnRowEnd(interval, layoutPosition) {
        if (!layoutPosition)
            return false;
        return layoutPosition.getRelatedSubDocumentPagePosition() + layoutPosition.pageArea.pageOffset + layoutPosition.column.pageAreaOffset + layoutPosition.row.getEndPosition() === interval.end;
    }
    isIntervalIncludesWholeRow(startLayoutPosition, endLayoutPosition) {
        return !endLayoutPosition || endLayoutPosition.row !== startLayoutPosition.row || endLayoutPosition.isPositionAfterLastBoxInRow();
    }
}
class InsertTabCommand extends InsertTabCommandBase {
    createIndentNumberingParagraphCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.IncrementNumberingIndent);
    }
    createChangeParagraphIndentFromFirstRowCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.IncrementParagraphIndentFromFirstRow);
    }
    createChangeIndentCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.IncreaseIndent);
    }
    performCellIteratorAction(boxIterator) {
        return boxIterator.moveNext(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
    }
    getBoxIterator(pos, endPos) {
        const subDocument = this.selection.activeSubDocument;
        const layout = this.control.layout;
        return subDocument.isMain() ?
            new layout_box_iterator_main_sub_document/* LayoutBoxIteratorMainSubDocument */.I(subDocument, layout, pos, endPos) :
            new layout_box_iterator_other_sub_document/* LayoutBoxIteratorOtherSubDocument */.F(subDocument, layout, pos, endPos, this.selection.pageIndex);
    }
}
class InsertShiftTabCommand extends InsertTabCommandBase {
    createIndentNumberingParagraphCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DecrementNumberingIndent);
    }
    createChangeParagraphIndentFromFirstRowCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DecrementParagraphIndentFromFirstRow);
    }
    createChangeIndentCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DecreaseIndent);
    }
    performCellIteratorAction(boxIterator) {
        return boxIterator.movePrev(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
    }
    getBoxIterator(pos, _endPos) {
        const subDocument = this.selection.activeSubDocument;
        const layout = this.control.layout;
        return subDocument.isMain() ?
            new layout_box_iterator_main_sub_document/* LayoutBoxIteratorMainSubDocument */.I(subDocument, layout, 0, pos) :
            new layout_box_iterator_other_sub_document/* LayoutBoxIteratorOtherSubDocument */.F(subDocument, layout, 0, pos, this.selection.pageIndex);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/insert-text-command.ts







class InsertTextCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.intervals = [this.selection.lastSelectedInterval.clone()];
    }
    executeCore(_state, options) {
        if (options.param.length === 0)
            return false;
        const interval = options.intervalsInfo.interval;
        if (interval.length > 0 &&
            options.intervalsInfo.subDocInterval.subDocument.getParagraphByPosition(interval.end - 1).getEndPosition() == interval.end)
            options.intervalsInfo.interval.length -= 1;
        this.removedInterval = !!interval.length;
        const canMergeWithPreviousCommand = this.control.commandManager.assertLastExecutedCommandsChain(true, InsertTextCommand);
        if (canMergeWithPreviousCommand && options.intervalsInfo.isCollapsed &&
            this.correctPrevHistoryRun(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(options.intervalsInfo.subDocPosition, this.control.inputPosition.charPropsBundle, run_type/* RunType */.m.TextRun, options.param))) {
        }
        else
            this.insertTextWithSelection(options.intervalsInfo.subDocInterval, options.param);
        this.control.commandManager.lastTextInsertDate = new Date();
        if (!interval.length)
            this.control.inputPositionModelChangesListener.resetOccurredEvents();
        return true;
    }
    correctPrevHistoryRun(params) {
        const currDate = new Date();
        if (currDate.getTime() - this.control.commandManager.lastTextInsertDate.getTime() < 2.7 * 1000) {
            const insertTextHistoryInfo = this.modelManipulator.text.getLastModifiableHistoryItemNode((hi) => hi instanceof insert_text_history_item/* InsertTextHistoryItem */.U);
            const selectionHistoryItem = this.modelManipulator.text.getLastModifiableHistoryItemNode((hi) => hi instanceof selection_history_item/* SelectionHistoryItem */.n);
            if (insertTextHistoryInfo && selectionHistoryItem) {
                const oldParams = insertTextHistoryInfo.item.params;
                if (oldParams.subDocPos.subDocument.id == params.subDocPos.subDocument.id &&
                    oldParams.subDocPos.position + oldParams.text.length == params.subDocPos.position &&
                    oldParams.charPropsBundle.style.equalsByName(params.charPropsBundle.style) &&
                    oldParams.charPropsBundle.props.equals(params.charPropsBundle.props) &&
                    !selectionHistoryItem.item.newState.intervalsInfo.multiselection &&
                    selectionHistoryItem.item.newState.intervalsInfo.intervals[0].length == 0 &&
                    selectionHistoryItem.item.newState.intervalsInfo.interval.start == params.subDocPos.position) {
                    this.modelManipulator.text.insertTextInner(params);
                    selectionHistoryItem.item.newState.intervalsInfo.interval.start += params.text.length;
                    oldParams.text += params.text;
                    insertTextHistoryInfo.root.item.uniqueId = -1;
                    const newPos = selectionHistoryItem.item.newState.intervalsInfo.interval.start;
                    this.selection.changeState((newState) => newState.setPosition(newPos));
                    this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_()
                        .byModelPosition(this.selection).setModelPosition(newPos).useStdRelativePosition().useStdOffset());
                    return true;
                }
            }
        }
        return false;
    }
    lockBarHolderUpdate(prevModifiedState) {
        return !this.removedInterval && prevModifiedState === this.control.getModifiedState();
    }
    lockInputPositionUpdating(prevModifiedState) {
        return !this.removedInterval && prevModifiedState === this.control.getModifiedState();
    }
}

;// CONCATENATED MODULE: ./src/common/commands/text/remove-word-command.ts









class RemoveWordCommandBase extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, _options) {
        const selection = this.selection;
        const position = selection.lastSelectedInterval.start;
        const subDocument = this.selection.activeSubDocument;
        const parIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.paragraphs, (p) => p.startLogPosition.value, position);
        const delInterval = this.getDeleteInterval(subDocument, position, parIndex);
        if (!delInterval || delInterval.length == 0 || !subDocument.isEditable([delInterval]))
            return false;
        const fieldsAccordingInterval = BackspaceCommand.getIntervalAccordingFields(subDocument, selection, delInterval, false);
        if (fieldsAccordingInterval)
            delInterval.copyFrom(fieldsAccordingInterval);
        this.history.addTransaction(() => {
            this.addSelectionBefore();
            this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, delInterval), true, false);
            this.addSelectionAfter(delInterval.start);
        });
        return true;
    }
}
class RemovePrevWordCommand extends RemoveWordCommandBase {
    getDeleteInterval(subDocument, position, parIndex) {
        return RemovePrevWordCommand.getPrevWordInterval(this.control, subDocument, position, parIndex);
    }
    static getPrevWordInterval(control, subDocument, position, parIndex) {
        let paragraph = subDocument.paragraphs[parIndex];
        if (paragraph.startLogPosition.value == position) {
            if (parIndex == 0)
                return null;
            paragraph = subDocument.paragraphs[parIndex - 1];
        }
        const sentenceFindInterval = fixed.FixedInterval.fromPositions(paragraph.startLogPosition.value, position);
        const sentenceStructureBuilder = sentence_model_builder/* SentenceStructureBuilder */.bC.getBuilder(control.layoutFormatterManager, control.selection, subDocument, sentenceFindInterval, true);
        const part = utils_list.ListUtils.unsafeReverseAnyOf(sentenceStructureBuilder.sentences, (sentence) => utils_list.ListUtils.unsafeReverseAnyOf(sentence.words, (word) => word.parts[0].position < position ? word.parts[0] : null));
        return part ? fixed.FixedInterval.fromPositions(part.position, position) : null;
    }
}
class RemoveNextWordCommand extends RemoveWordCommandBase {
    getDeleteInterval(subDocument, position, parIndex) {
        return RemoveNextWordCommand.getNextWordInterval(this.control, subDocument, position, parIndex);
    }
    static getNextWordInterval(control, subDocument, position, parIndex) {
        parIndex = Math.min(subDocument.paragraphs.length - 1, parIndex + 1);
        const paragraph = subDocument.paragraphs[parIndex];
        const sentenceFindInterval = fixed.FixedInterval.fromPositions(position, paragraph.getEndPosition());
        const sentenceStructureBuilder = sentence_model_builder/* SentenceStructureBuilder */.bC.getBuilder(control.layoutFormatterManager, control.selection, subDocument, sentenceFindInterval, true);
        const part = utils_list.ListUtils.unsafeAnyOf(sentenceStructureBuilder.sentences, (sentence) => utils_list.ListUtils.unsafeAnyOf(sentence.words, (word) => {
            if (word.parts[0].position > position)
                return word.parts[0];
            return utils_list.ListUtils.unsafeAnyOf(word.parts, (part) => part.position > position &&
                (part.type == layout_box/* LayoutBoxType */.KH.ParagraphMark || part.type == layout_box/* LayoutBoxType */.KH.SectionMark) ? part : null, 1);
        }));
        return fixed.FixedInterval.fromPositions(position, part ? part.position : paragraph.getEndPosition());
    }
}

;// CONCATENATED MODULE: ./src/common/commands/toc/set-paragraph-level-command.ts






class SetParagraphLevelCommandBase extends command_base/* CommandBase */.eK {
    get commandManager() { return this.control.commandManager; }
    get modelManager() { return this.control.modelManager; }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.modelManager.richOptions.control.paragraphFormatting);
    }
    getState() {
        const state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.value = this.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeHeadingLevel).getState().value == this.getLevel(null);
        return state;
    }
    executeCore(_state, options) {
        const level = this.getLevel(options.param);
        const styleName = level > 0 ? `${paragraph_style/* ParagraphStyle */.PO.headingStyleName} ${level}` : paragraph_style/* ParagraphStyle */.PO.normalStyleName;
        let paragraphStyle = this.modelManager.model.getParagraphStyleByName(styleName);
        if (!paragraphStyle)
            paragraphStyle = styles_manager/* StylesManager */.D.getPresetParagraphStyleByName(styleName);
        if (paragraphStyle) {
            const commandOptions = new command_base/* CommandSimpleOptions */.LF(this.control, { styleName: styles_manager/* StylesManager */.D.paragraphPrefix + styleName, keepDirectFormatting: true });
            this.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeStyle).execute(this.commandManager.isPublicApiCall, commandOptions);
        }
        else {
            const commandOptions = new command_base/* CommandSimpleOptions */.LF(this.control, level);
            this.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeHeadingLevel).execute(this.commandManager.isPublicApiCall, commandOptions);
        }
        return true;
    }
    getRelatedCommands() {
        return {
            [client_command/* RichEditClientCommand */.f.SetParagraphBodyTextLevel]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading1Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading2Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading3Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading4Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading5Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading6Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading7Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading8Level]: true,
            [client_command/* RichEditClientCommand */.f.SetParagraphHeading9Level]: true,
        };
    }
}
class SetParagraphLevelCommand extends SetParagraphLevelCommandBase {
    getState() {
        let state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.value = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeHeadingLevel).getState().value;
        return state;
    }
    getLevel(parameter) {
        return parameter;
    }
}
class SetParagraphBodyTextLevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 0; }
}
class SetParagraphHeading1LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 1; }
}
class SetParagraphHeading2LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 2; }
}
class SetParagraphHeading3LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 3; }
}
class SetParagraphHeading4LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 4; }
}
class SetParagraphHeading5LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 5; }
}
class SetParagraphHeading6LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 6; }
}
class SetParagraphHeading7LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 7; }
}
class SetParagraphHeading8LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 8; }
}
class SetParagraphHeading9LevelCommand extends SetParagraphLevelCommandBase {
    getLevel(_parameter) { return 9; }
}

;// CONCATENATED MODULE: ./src/common/commands/undo-command.ts



class undo_command_UndoCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled() && this.history.canUndo());
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.undo);
    }
    executeCore(state, _options) {
        if (state.enabled) {
            this.history.undo();
            return true;
        }
        return false;
    }
    canModify() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/commands/command-manager.ts















































































































































































class CommandManager {
    constructor(control, printNonce) {
        this.publicEnabledState = {};
        this.lastCommandsChain = [];
        this.executingCommandsChain = [];
        this.executingCommandCounter = 0;
        this.isPublicApiCall = false;
        this.isPrintingProcessing = false;
        this.formatImagesImporters = [];
        this.clipboardTimerId = null;
        this.lastTextInsertDate = new Date(0);
        this.commands = {};
        this.createCommand(control, client_command/* RichEditClientCommand */.f.AddSpacingAfterParagraph, AddSpacingAfterParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.AddSpacingBeforeParagraph, AddSpacingBeforeParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CapitalizeEachWordTextCase, CapitalizeEachWordCaseCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFontBackColor, ChangeFontHighlightColorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFontForeColor, ChangeFontColorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFontName, ChangeFontNameCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFontSize, ChangeFontSizeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeInlinePictureScale, ChangeInlinePictureScaleCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangePageColor, ChangePageColorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeParagraphBackColor, ChangeParagraphBackColorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeStyle, ApplyStyleCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ClearFormatting, ClearFormattingCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ContinueNumberingList, ContinueNumberingListCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CopySelection, clipboard_commands/* CopySelectionCommand */.XA);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateField, CreateFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CutSelection, clipboard_commands/* CutSelectionCommand */.kU);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DecreaseFontSize, DecreaseFontSizeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DecreaseIndent, DecrementIndentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DecrementNumberingIndent, DecrementNumberingIndentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DecrementParagraphIndentFromFirstRow, DecrementParagraphIndentFromFirstRowCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DecrementParagraphLeftIndent, DecrementParagraphLeftIndentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteNumerationFromParagraphs, DeleteNumerationFromParagraphsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteTabRuler, DeleteTabAtParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DocumentEnd, GoToDocumentEndCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DocumentStart, GoToDocumentStartCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DragCopyContent, DragCopyContentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DragMoveContent, DragMoveContentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendDocumentEnd, ExtendGoToDocumentEndCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendDocumentStart, ExtendGoToDocumentStartCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendGoToEndParagraph, ExtendGoToParagraphEndCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendGoToNextWord, ExtendGoToNextWordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendGoToPrevWord, ExtendGoToPrevWordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendGoToStartParagraph, ExtendGoToParagraphStartCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendLineDown, ExtendLineDownCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendLineEnd, ExtendGoToLineEndCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendLineStart, ExtendGoToLineStartCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendLineUp, ExtendGoToLineAboveCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendNextCharacter, ExtendGoToNextCharacterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendNextPage, ExtendGoToNextPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendPreviousCharacter, ExtendGoToPrevCharacterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendPreviousPage, ExtendGoToPrevPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendSelectLine, ExtendSelectLineCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendSelectLineNoUpdateControlState, ExtendSelectLineCommandNoUpdateControlState);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FullScreen, ToggleFullScreenCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToEndParagraph, GoToParagraphEndCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToNextWord, GoToNextWordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToPrevWord, GoToPrevWordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToFirstDataRecord, GoToFirstDataRecordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToPreviousDataRecord, GoToPreviousDataRecordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToNextDataRecord, GoToNextDataRecordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToLastDataRecord, GoToLastDataRecordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToStartParagraph, GoToParagraphStartCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.IncreaseFontSize, IncreaseFontSizeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.IncreaseIndent, IncrementIndentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.IncrementNumberingIndent, IncrementNumberingIndentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.IncrementParagraphIndentFromFirstRow, IncrementParagraphIndentFromFirstRowCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.IncrementParagraphLeftIndent, IncrementParagraphLeftIndentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertColumnBreak, insert_column_break_command_InsertColumnBreakCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertLineBreak, insert_line_break_command_InsertLineBreakCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertNumerationToParagraphs, InsertNumerationToParagraphsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertPageBreak, insert_page_break_command_InsertPageBreakCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertParagraph, InsertParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertPicture, dialog_insert_image_command/* DialogInsertImageCommand */.z);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertSectionBreakEvenPage, insert_section_break_command_InsertSectionBreakEvenPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertSectionBreakNextPage, insert_section_break_command_InsertSectionBreakNextPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertSectionBreakOddPage, insert_section_break_command_InsertSectionBreakOddPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertShiftTabMark, InsertShiftTabCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertSpace, InsertSpaceCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTabMark, InsertTabCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTabRuler, InsertTabToParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertText, InsertTextCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.LineDown, LineDownCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.LineEnd, GoToLineEndCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.LineStart, GoToLineStartCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.LineUp, GoToLineAboveCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.MakeTextLowerCase, MakeTextLowerCaseCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.MakeTextUpperCase, MakeTextUpperCaseCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.MoveTabRuler, MoveTabRulerInParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.NextCharacter, GoToNextCharacterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.NextPage, GoToNextPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.OpenHyperlink, OpenHyperlinkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.PasteSelection, clipboard_commands/* PasteSelectionCommand */.SZ);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.PreviousCharacter, GoToPrevCharacterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.PreviousPage, GoToPrevPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.Redo, redo_command_RedoCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RemoveHyperlink, RemoveHyperlinkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RemoveSpacingAfterParagraph, RemoveSpacingAfterParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RemoveSpacingBeforeParagraph, RemoveSpacingBeforeParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RestartNumberingList, RestartNumberingListCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerParagraphLeftIndents, ruler_paragraph_indents_command/* RulerParagraphLeftIndentsCommand */.lx);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerParagraphRightIndent, ruler_paragraph_indents_command/* RulerParagraphRightIndentCommand */.Ob);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerSectionColumnsSettings, RulerSectionColumnsSettingsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerSectionMarginLeft, RulerSectionMarginLeftCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerSectionMarginRight, RulerSectionMarginRightCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerChangeTableColumnWidth, ruler_table_commands/* RulerChangeTableColumnWidthCommand */.AW);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerChangeTableRowHeight, ruler_table_commands/* RulerChangeTableRowHeightCommand */.UC);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RulerTableColumnSeparators, ruler_table_column_separators_command/* RulerTableColumnSeparatorsCommand */.BX);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectAll, SelectAllDocumentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectLine, SelectLineCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectLineNoUpdateControlState, SelectLineCommandNoUpdateControlState);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.AddSelectedLineCommandNoUpdateControlState, AddSelectedLineCommandNoUpdateControlState);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectParagraph, SelectParagraphCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetDoubleParagraphSpacing, SetDoubleParagraphSpacingCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetLandscapePageOrientation, SetLandscapePageOrientationCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetModerateSectionPageMargins, SetModerateSectionPageMarginsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetNarrowSectionPageMargins, SetNarrowSectionPageMarginsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetNormalSectionPageMargins, SetNormalSectionPageMarginsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetPortraitPageOrientation, SetPortraitPageOrientationCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionA4PaperKind, SetSectionA4PaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionA5PaperKind, SetSectionA5PaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionA6PaperKind, SetSectionA6PaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionB5PaperKind, SetSectionB5PaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionExecutivePaperKind, SetSectionExecutivePaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionFolioPaperKind, SetSectionFolioPaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionLegalPaperKind, SetSectionLegalPaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionLetterPaperKind, SetSectionLetterPaperKindCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionOneColumn, SetSectionOneColumnCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionThreeColumns, SetSectionThreeColumnsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionTwoColumns, SetSectionTwoColumnsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSesquialteralParagraphSpacing, SetSesquialteralParagraphSpacingCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSingleParagraphSpacing, SetSingleParagraphSpacingCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetWideSectionPageMargins, SetWideSectionPageMarginsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowAllFieldCodes, ShowAllFieldCodesCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowAllFieldResults, ShowAllFieldResultCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowBookmarkForm, DialogBookmarksCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowColumnsSetupForm, dialog_columns_command/* DialogColumnsCommand */.fB);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowCustomNumberingListForm, dialog_custom_numbering_list_command/* DialogCustomNumberingListCommand */.lN);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowEditHyperlinkForm, DialogEditHyperlinkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorAuthExceptionMessageCommand, ShowErrorAuthExceptionMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorClipboardAccessDeniedMessageCommand, ShowWarningClipboardAccessDeniedMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorDocVariableErrorCommand, ShowErrorDocVariableExceptionCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowInsertContentFromServerErrorDialogCommand, ShowInsertContentFromServerErrorDialogCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorInnerExceptionMessageCommand, ShowErrorInnerExceptionMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorModelIsChangedMessageCommand, ShowErrorModelIsChangedMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorOpeningAndOverstoreImpossibleMessageCommand, ShowErrorOpeningAndOverstoreImpossibleMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorCantSaveToEmptyPathMessageCommand, ShowErrorCantSaveToEmptyPathMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorOpeningMessageCommand, ShowErrorCantOpenDocument);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorSavingMessageCommand, ShowErrorCantSaveDocument);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorPathTooLongCommand, ShowErrorPathTooLong);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorSessionHasExpiredMessageCommand, ShowErrorSessionHasExpiredMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorInvalidDocumentFormat, ShowErrorInvalidDocumentMessageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowFinishAndMergeForm, DialogFinishAndMergeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowFontForm, DialogFontCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowHyperlinkForm, DialogCreateOrEditHyperlinkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowInsertMergeFieldForm, DialogInsertMergeFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowInsertTableForm, DialogInsertTableCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowNumberingListForm, DialogNumberingListCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowPageMarginsSetupForm, dialog_page_setup_command/* DialogPageSetupCommand */.IN);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowPagePaperSetupForm, dialog_page_setup_command/* ShowPagePaperSetupFormCommand */.aY);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowPageSetupForm, dialog_page_setup_command/* DialogPageSetupCommand */.IN);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowParagraphForm, DialogParagraphPropertiesCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.Find, ShowQuickSearchPanelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.Replace, DialogFindReplaceCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowServiceFontForm, DialogServiceFontCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowServiceSymbolsForm, dialog_symbols_command/* DialogServiceSymbolsCommand */.hF);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowSymbolForm, dialog_symbols_command/* DialogSymbolsCommand */.Pd);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowTablePropertiesForm, DialogTablePropertiesCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowCellOptionsForm, DialogCellPropertiesCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowBorderShadingForm, DialogBorderShadingCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowServiceBorderShadingForm, DialogServiceBorderShadingCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowTabsForm, DialogTabsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleAllFields, ToggleAllFieldsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleBackspaceKey, BackspaceCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleBulletedListItem, ToggleBulletedListCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleDeleteKey, DeleteCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFieldCodes, ToggleFieldCodesCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFontDoubleUnderline, ToggleFontDoubleUnderlineCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFontItalic, ToggleFontItalicCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFontStrikeout, ToggleFontStrikeoutCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFontSubscript, ToggleFontSubscriptCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFontSuperscript, ToggleFontSuperscriptCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFontUnderline, ToggleFontSingleUnderlineCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleMultilevelListItem, ToggleMultiLevelListCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleNumberingListItem, ToggleNumberingListCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentCenter, ToggleParagraphAlignmentCenterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentJustify, ToggleParagraphAlignmentJustifyCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentLeft, ToggleParagraphAlignmentLeftCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentRight, ToggleParagraphAlignmentRightCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleShowHorizontalRuler, ToggleShowHorizontalRulerCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleShowWhitespace, ToggleShowHiddenSymbolsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTextCase, ToggleTextCaseCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleViewMergedData, ToggleViewMergedDataCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.Undo, undo_command_UndoCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.UpdateAllFields, UpdateAllFieldsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.UpdateField, update_field_command/* UpdateFieldCommand */.y);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFontBold, ToggleFontBoldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertNonBreakingSpace, InsertNonBreakingSpaceCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RemoveHyperlinks, RemoveHyperlinksCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateDateField, CreateDateFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreatePageField, CreatePageFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateTimeField, CreateTimeFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateMergeField, CreateMergeFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowCreateHyperlinkForm, DialogCreateHyperlinkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SentenceCase, SentenceCaseCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SwitchTextCase, SwitchTextCaseCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertHeader, InsertHeaderCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertFooter, InsertFooterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.LinkHeaderFooterToPrevious, LinkHeaderFooterToPreviousCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateBookmark, CreateBookmarkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteBookmarks, DeleteBookmarksCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToBookmark, bookmark_command_GoToBookmarkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ContextItem_HeadersFooters, ContextItemHeadersFooters);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ClosePageHeaderFooter, CloseHeaderFooterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToPageHeader, GoToHeaderCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToPageFooter, GoToFooterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToNextPageHeaderFooter, GoToNextHeaderFooterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToPreviousPageHeaderFooter, GoToPreviousHeaderFooterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleDifferentFirstPage, DifferentFirstPageHeaderFooterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleDifferentOddAndEvenPages, DifferentOddEvenHeaderFooterCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeHeaderOffset, ChangeHeaderOffsetRibbonCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFooterOffset, ChangeFooterOffsetRibbonCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertPageNumberField, CreatePageFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertPageCountField, CreatePageCountFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTableCore, InsertTableCoreCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ContextItem_Tables, ContextItemTables);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTableColumnToTheLeft, InsertTableColumnToTheLeftCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTableColumnToTheRight, InsertTableColumnToTheRightCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTableRowAbove, InsertTableRowAboveCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTableRowBelow, InsertTableRowBelowCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteTableRows, DeleteTableRowsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteTableColumns, DeleteTableColumnsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTableCellWithShiftToTheLeft, InsertTableCellWithShiftToTheLeftCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteTableCellsWithShiftToTheHorizontally, DeleteTableCellsWithShiftToTheHorizontallyCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteTable, DeleteTableCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteTableCellsByBackspace, DeleteTableCellsByBackspaceCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowInsertTableCellsForm, DialogInsertTableCellsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowDeleteTableCellsForm, DialogDeleteTableCellsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.MergeTableCells, MergeTableCellsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowSplitTableCellsForm, DialogSplitTableCellsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SplitTableCellsCommand, SplitTableCellsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertTableCellsWithShiftToTheVertically, InsertTableCellsWithShiftToTheVerticallyCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteTableCellsWithShiftToTheVertically, DeleteTableCellsWithShiftToTheVerticallyCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignBottomCenter, ChangeTableCellBottomCenterAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignBottomLeft, ChangeTableCellBottomLeftAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignBottomRight, ChangeTableCellBottomRightAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignMiddleCenter, ChangeTableCellMiddleCenterAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignMiddleLeft, ChangeTableCellMiddleLeftAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignMiddleRight, ChangeTableCellMiddleRightAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignTopCenter, ChangeTableCellTopCenterAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignTopLeft, ChangeTableCellTopLeftAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.TableCellAlignTopRight, ChangeTableCellTopRightAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ApplyTableStyle, ApplyTableStyleCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellAllBorders, ToggleTableCellAllBordersCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellInsideBorders, ToggleTableCellInsideBordersCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellInsideHorizontalBorders, ToggleTableCellInsideHorizontalBordersCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellInsideVerticalBorders, ToggleTableCellInsideVerticalBordersCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellNoBorder, ToggleTableCellNoBorderCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellOutsideBorders, ToggleTableCellOutsideBordersCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellsBottomBorder, ToggleTableCellsBottomBorderCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellsLeftBorder, ToggleTableCellsLeftBorderCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellsRightBorder, ToggleTableCellsRightBorderCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleTableCellsTopBorder, ToggleTableCellsTopBorderCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFirstRow, ToggleFirstRowCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleLastRow, ToggleLastRowCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleFirstColumn, ToggleFirstColumnCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleLastColumn, ToggleLastColumnCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleBandedRows, ToggleBandedRowsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleBandedColumn, ToggleBandedColumnCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectTableCell, select_table_command/* SelectTableCellCommand */._C);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectTableColumn, select_table_command/* SelectTableColumnCommand */.Bs);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectTableRow, select_table_command/* SelectTableRowCommand */.c7);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectTable, select_table_command/* SelectTableCommand */.EN);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableBorderColorRepositoryItem, ChangeTableBorderColorRepositoryItemCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableBorderStyleRepositoryItem, ChangeTableBorderStyleRepositoryItemCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableBorderWidthRepositoryItem, ChangeTableBorderWidthRepositoryItemCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableCellShading, ChangeTableCellShadingCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ToggleShowTableGridLines, ToggleShowTableGridLinesCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendSelectTableCell, select_table_command/* ExtendSelectTableCellCommand */.Y2);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendSelectTableColumn, select_table_command/* ExtendSelectTableColumnCommand */.bF);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendSelectTableRow, select_table_command/* ExtendSelectTableRowCommand */._L);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendSelectTable, select_table_command/* ExtendSelectTableCommand */.tK);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SelectTableCellsRange, select_table_command/* SelectTableCellsRangeCommand */.QO);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain, change_active_sub_document_command/* ChangeActiveSubDocumentToMainCommand */.B7);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex, change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommand */.Rb);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterBySubDocument, change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterBySubDocumentCommand */.P3);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToTextBox, change_active_sub_document_command/* ChangeActiveSubDocumentToTextBoxCommand */.g0);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionPageSize, SetSectionPageSizeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionColumnCount, SetSectionColumnCountCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableRowHeight, ChangeTableRowHeightCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableCellWidth, ChangeTableCellWidthCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableColumnWidth, ChangeTableColumnWidthCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTableLook, ChangeTableLookCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowSpellCheckerForm, DialogSpellCheckerCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.IgnoreSpellingError, IgnoreSpellingErrorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.IgnoreAllSpellingErrors, IgnoreAllSpellingErrorsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.DeleteRepeatedWord, DeleteRepeatedWordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.AddWordToDictionary, AddWordToDictionary);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeSpellingError, ChangeSpellingErrorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.NoSpellingSuggestions, NoSpellingSuggestionsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeAllSpellingErrors, ChangeAllSpellingErrorsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowSpellingCheckCompletedMessage, ShowSpellingCheckCompletedCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToDataRecord, GoToRecordCommandBase);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FindAll, find_all_command/* FindAllCommand */.U);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ReplaceNext, replace_next_command/* ReplaceNextCommand */.g);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ReplaceAll, replace_all_command/* ReplaceAllCommand */.D);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.HideFindResults, hide_find_results_command_HideFindResultsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RemoveNextWord, RemoveNextWordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.RemovePrevWord, RemovePrevWordCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToStartNextPage, GoToStartNextPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GoToStartPrevPage, GoToStartPrevPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendGoToStartNextPage, ExtendGoToStartNextPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ExtendGoToStartPrevPage, ExtendGoToStartPrevPageCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.AssignShortcut, AssignShortcutCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetSectionPageMargins, SetSectionPageMarginsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowLayoutOptionsForm, DialogLayoutOptionsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectSquareTextWrapType, SetFloatingObjectSquareTextWrapTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectTightTextWrapType, SetFloatingObjectTightTextWrapTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectThroughTextWrapType, SetFloatingObjectThroughTextWrapTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectTopAndBottomTextWrapType, SetFloatingObjectTopAndBottomTextWrapTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectBehindTextWrapType, SetFloatingObjectBehindTextWrapTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectInFrontOfTextWrapType, SetFloatingObjectInFrontOfTextWrapTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectInlineTextWrapType, SetFloatingObjectInlineTextWrapTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectTopLeftAlignment, SetFloatingObjectTopLeftAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectTopCenterAlignment, SetFloatingObjectTopCenterAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectTopRightAlignment, SetFloatingObjectTopRightAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectMiddleLeftAlignment, SetFloatingObjectMiddleLeftAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectMiddleCenterAlignment, SetFloatingObjectMiddleCenterAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectMiddleRightAlignment, SetFloatingObjectMiddleRightAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectBottomLeftAlignment, SetFloatingObjectBottomLeftAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectBottomCenterAlignment, SetFloatingObjectBottomCenterAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFloatingObjectBottomRightAlignment, SetFloatingObjectBottomRightAlignmentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ContextItem_FloatingObjects, ContextItemFloatingObjects);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFloatingObjectTextWrapTypeMenu, ChangeFloatingObjectTextWrapTypeMenu);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectBringForwardMenu, FloatingObjectBringForwardMenu);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectSendBackwardMenu, FloatingObjectSendBackwardMenu);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertAnchoredTextBox, InsertAnchoredTextBoxCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectBringForward, FloatingObjectBringForwardCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectBringToFront, FloatingObjectBringToFrontCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectBringInFrontOfText, FloatingObjectBringInFrontOfTextCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectSendBackward, FloatingObjectSendBackwardCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectSendToBack, FloatingObjectSendToBackCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectSendBehindText, FloatingObjectSendBehindTextCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFloatingObjectFillColor, ChangeShapeFillColorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFloatingObjectOutlineColor, ChangeShapeOutlineColorCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFloatingObjectOutlineWidth, ChangeShapeOutlineWidthCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeFloatingObjectShape, ChangeFloatingObjectShapeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeTextBoxProperties, ChangeTextBoxPropertiesCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateEmptyMergeField, CreateEmptyMergeFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateEmptyDocVariableField, CreateEmptyDocVariableFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateEmptyIfField, CreateEmptyIfFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FloatingObjectDragDropChangePosition, floating_object_drag_drop_change_position_command/* FloatingObjectDragDropChangePositionCommand */.fX);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertHtml, clipboard_commands/* InsertHtmlCommand */.Un);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateTocField, CreateTocFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateTableOfEquationsField, CreateTableOfEquationsFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateTableOfFiguresField, CreateTableOfFiguresFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateTableOfTablesField, CreateTableOfTablesFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateEquationCaptionField, CreateEquationCaptionFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateFigureCaptionField, CreateFigureCaptionFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateTableCaptionField, CreateTableCaptionFieldCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.UpdateTableOfContents, UpdateTableOfContentsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphBodyTextLevel, SetParagraphBodyTextLevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading1Level, SetParagraphHeading1LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading2Level, SetParagraphHeading2LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading3Level, SetParagraphHeading3LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading4Level, SetParagraphHeading4LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading5Level, SetParagraphHeading5LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading6Level, SetParagraphHeading6LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading7Level, SetParagraphHeading7LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading8Level, SetParagraphHeading8LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphHeading9Level, SetParagraphHeading9LevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeHeadingLevel, ChangeHeadingLevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetParagraphLevel, SetParagraphLevelCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.CreateFieldWithCode, CreateFieldWithCodeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeHyperlink, ChangeHyperlinkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetAutoFitContents, AutoFitContentsCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetAutoFitWindow, AutoFitWindowCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SetFixedColumnWidth, FixedColumnWidthCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ChangeViewType, ChangeViewTypeCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SwitchToSimpleView, SwitchToSimpleViewCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.SwitchToPrintLayoutView, SwitchToPrintLayoutViewCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowErrorLoadPictureMessage, ShowLoadPictureErrorDialogCommand);
        this.assingCommand(client_command/* RichEditClientCommand */.f.PrintDocumentOnClient, new PrintDocumentOnClient(control, printNonce));
    }
    commandIsEnabled(commandId) {
        const value = this.publicEnabledState[commandId];
        return value === undefined ? true : value;
    }
    setCommandEnabled(commandId, enabled) {
        this.publicEnabledState[commandId] = enabled;
    }
    dispose() {
        this.formatImagesImporters.forEach(importer => importer.dispose());
        clearTimeout(this.clipboardTimerId);
        clearTimeout(this.printTimerId);
    }
    abortClipboardCommandExecution() {
        clearTimeout(this.clipboardTimerId);
        this.clipboardTimerId = null;
    }
    getCommand(key) {
        return this.commands[key];
    }
    beforeExecuting(command) {
        this.executingCommandsChain.push(command);
        this.executingCommandCounter++;
    }
    afterExecuting() {
        this.executingCommandCounter--;
        if (this.executingCommandCounter === 0) {
            this.lastCommandsChain = this.executingCommandsChain;
            this.executingCommandsChain = [];
        }
    }
    assertLastExecutedCommandsChain(checkLength, ...types) {
        if (checkLength && this.lastCommandsChain.length !== types.length)
            return false;
        for (var i = 0, type; type = types[i]; i++) {
            if (!this.lastCommandsChain[i] || !(this.lastCommandsChain[i] instanceof type))
                return false;
        }
        return true;
    }
    NotifySelectionChanged(_selection) {
        this.lastCommandsChain = [];
    }
    NotifyScrollPositionChanged() { }
    createCommand(control, commandId, commandType) {
        const command = new commandType(control);
        command.commandId = commandId;
        this.commands[commandId] = command;
    }
    assingCommand(commandId, command) {
        command.commandId = commandId;
        this.commands[commandId] = command;
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/activate-ribbon-command.ts


class ActivateRibbonCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(true);
    }
    executeCore(_state, _options) {
        var _a, _b;
        (_b = (_a = this.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.activate) === null || _b === void 0 ? void 0 : _b.call(_a);
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-general-enums.ts
var json_general_enums = __webpack_require__(7087);
// EXTERNAL MODULE: ./src/aspx/commands/aspx-command-base.ts
var aspx_command_base = __webpack_require__(6309);
;// CONCATENATED MODULE: ./src/aspx/commands/control/force-sync-with-server-command.ts





class ForceSyncWithServerCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        return new command_states/* SimpleCommandState */.mh(super.isEnabled());
    }
    canModify() {
        return true;
    }
    executeCore(_state, options) {
        this.control.commandManager.forceSyncWithServerCallbackManager.addCallback(this.control, options.param);
        return true;
    }
}
class ForceSyncWithServerCallbackManager {
    constructor() {
        this.reset();
    }
    reset() {
        this.map = {};
    }
    addCallback(control, callback) {
        const id = ForceSyncWithServerCallbackManager.id++;
        const request = new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.ForceSyncWithServer, control.modelManager.model.mainSubDocument.id, { [json_general_enums/* JSONForceSyncWithServerCommand */.kL.Id]: id });
        control.serverDispatcher.pushRequest(request, new command_request/* RequestParams */.Kl(false, true, false));
        this.map[id] = callback;
    }
    handleResponce(responce) {
        const id = responce[json_general_enums/* JSONForceSyncWithServerCommand */.kL.Id];
        const callback = this.map[id];
        if (callback) {
            delete this.map[id];
            callback();
        }
    }
}
ForceSyncWithServerCallbackManager.id = 0;

// EXTERNAL MODULE: ./src/aspx/commands/control/insert-content-from-server-command.ts
var insert_content_from_server_command = __webpack_require__(6778);
;// CONCATENATED MODULE: ./src/aspx/commands/document/download-document-command.ts




class DownloadDocumentCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, options) {
        this.control.serverDispatcher.forceSendingRequest();
        this.control.owner.sendDownloadRequest(print_document_command/* DownloadRequestType */.D.DownloadCurrentDocument, JSON.stringify({
            "fileName": options.param.fileName,
            "documentFormat": options.param.documentFormat
        }));
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.download) &&
            this.control.modelManager.model.isLoaded();
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/document/new-document-command.ts





class NewDocumentCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.control.modelManager.richOptions.control.createNew !== control/* DocumentCapability */.e7.Hidden;
        return state;
    }
    executeCore(_state) {
        if (this.control.getModifiedState() && !this.control.owner.confirmOnLosingChanges())
            return false;
        this.control.closeDocument();
        this.control.serverDispatcher.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.NewDocument, -1, {}), new command_request/* RequestParams */.Kl(true, true, true));
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.createNew) &&
            this.control.modelManager.model.isLoaded();
    }
    isEnabledInClosedDocument() {
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/document/reload-document-command.ts




class ReloadDocumentCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state) {
        this.control.closeDocument();
        this.control.serverDispatcher.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.ReloadDocument, -1, {}), new command_request/* RequestParams */.Kl(false, true, true));
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/document/save-document-command.ts







class SaveDocumentCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.control.modelManager.richOptions.control.save !== control/* DocumentCapability */.e7.Hidden;
        return state;
    }
    executeCore() {
        if (this.needShowSaveAsDialog())
            return this.executeSaveAsCommand();
        const params = {};
        params[json_top_level_enums/* JSONInitSessionProperty */.l7.HistoryId] = this.history.getCurrentItemId();
        this.control.serverDispatcher.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.SaveDocument, -1, params), new command_request/* RequestParams */.Kl(false, true, true));
        return true;
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.save) &&
            (this.control.getModifiedState() === json_top_level_enums/* IsModified */.sO.True || !this.control.documentInfo.documentHasSource) &&
            this.control.modelManager.model.isLoaded();
    }
    needShowSaveAsDialog() {
        const documentInfo = this.control.documentInfo;
        return this.control.owner.hasWorkDirectory && !documentInfo.fileName && !documentInfo.documentHasSource &&
            control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.saveAs);
    }
    executeSaveAsCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.FileSaveAs).execute(this.control.commandManager.isPublicApiCall);
    }
    canModify() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/fields/aspx-open-hyperlink-command.ts

class AspxOpenHyperlinkCommand extends OpenHyperlinkCommand {
    aspxForceSendingRequest() {
        this.control.serverDispatcher.forceSendingRequest();
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/pdf-exported.ts




class PdfExportedCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        return new command_states/* SimpleCommandState */.mh(true);
    }
    executeCore(_state, options) {
        this.control.serverDispatcher.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.PdfExported, -1, { base64: options.param }), new command_request/* RequestParams */.Kl(false, true, true));
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/selection/selection-intervals-info.ts + 1 modules
var selection_intervals_info = __webpack_require__(655);
;// CONCATENATED MODULE: ./src/aspx/commands/rtf/get-rtf-command.ts







class GetRtfCommandOptions extends (/* unused pure expression or super */ null && (CommandOptions)) {
    constructor(interval, callback, subDocument) {
        super(null);
        this.interval = interval;
        this.callback = callback;
        if (!this.intervalsInfo)
            this.intervalsInfo = SelectionIntervalsInfo.fromInterval(subDocument, interval);
    }
}
class get_rtf_command_GetRtfCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const reqParams = {};
        reqParams[json_top_level_enums/* JSONGetRtfCommand */.Sp.Position] = options.interval.start;
        reqParams[json_top_level_enums/* JSONGetRtfCommand */.Sp.Length] = options.interval.length;
        reqParams[json_top_level_enums/* JSONGetRtfCommand */.Sp.SubDocumentId] = options.subDocument.id;
        const request = new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.GetRtf, options.subDocument.id, reqParams);
        this.control.serverDispatcher.pushRequest(request, new command_request/* RequestParams */.Kl(false, true, true));
        this.control.commandManager.rtfCommandsOptions[request.id] = options;
        return true;
    }
    handleResponce(responce) {
        const id = responce[json_top_level_enums/* JSONGetRtfCommand */.Sp.Id];
        const options = this.control.commandManager.rtfCommandsOptions[id];
        delete this.control.commandManager.rtfCommandsOptions[id];
        options.callback(responce[json_top_level_enums/* JSONGetRtfCommand */.Sp.ResultRtf]);
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-field-enums.ts
var json_field_enums = __webpack_require__(5060);
// EXTERNAL MODULE: ./src/common/model/json/importers/server-model-inserter.ts + 2 modules
var server_model_inserter = __webpack_require__(2055);
;// CONCATENATED MODULE: ./src/aspx/commands/rtf/insert-rtf-command.ts











class InsertRtfCommandOptions extends (/* unused pure expression or super */ null && (CommandOptions)) {
    get position() { return this.intervalsInfo.position; }
    constructor(rtfText, position, subDocument, callback) {
        super(null);
        this.rtfText = rtfText;
        if (!this.intervalsInfo)
            this.intervalsInfo = SelectionIntervalsInfo.fromPosition(subDocument, position);
        this.callback = callback;
    }
}
class insert_rtf_command_InsertRtfCommand extends aspx_command_base/* AspxCommandBase */.P {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const reqParams = {};
        reqParams[json_top_level_enums/* JSONInsertRtfCommand */.Xp.RtfText] = options.rtfText;
        const request = new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.InsertRtf, options.subDocument.id, reqParams);
        this.control.serverDispatcher.pushRequest(request, new command_request/* RequestParams */.Kl(false, true, true));
        this.control.commandManager.rtfCommandsOptions[request.id] = options;
        return true;
    }
    handleResponce(response) {
        const id = response[json_top_level_enums/* JSONInsertRtfCommand */.Xp.Id];
        const options = this.control.commandManager.rtfCommandsOptions[response[json_top_level_enums/* JSONInsertRtfCommand */.Xp.Id]];
        const result = response[json_top_level_enums/* JSONInsertRtfCommand */.Xp.Result];
        const isRtfValid = result != null;
        delete this.control.commandManager.rtfCommandsOptions[id];
        if (isRtfValid) {
            this.control.beginUpdate();
            server_model_inserter/* ServerModelInserter */.l.insertDocumentModelFromServer(this.control.modelManager, result, options.position, options.subDocument.id);
            this.control.endUpdate();
            this.control.barHolder.updateItemsState({ [client_command/* RichEditClientCommand */.f.Undo]: true });
        }
        options.callback(new fixed.FixedInterval(options.position, isRtfValid ? result[json_field_enums/* JSONUpdateFieldCommandResult */.op.DocumentLength] : 0), isRtfValid);
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/aspx-command-manager.ts
















class AspxCommandManager extends CommandManager {
    constructor(control) {
        super(control);
        this.rtfCommandsOptions = {};
        this.forceSyncWithServerCallbackManager = new ForceSyncWithServerCallbackManager();
        this.insertContentFromServerRequestManager = new insert_content_from_server_command/* InsertContentFromServerRequestManager */.bC();
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ActivateRibbon, ActivateRibbonCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.PdfExported, PdfExportedCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FileNew, NewDocumentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FileOpen, DialogOpenFileCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FilePrint, print_document_command/* PrintDocumentCommand */.E);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FileSave, SaveDocumentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.FileSaveAs, DialogSaveFileCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ReloadDocument, ReloadDocumentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ShowSaveMergedDocumentForm, DialogSaveMergedDocumentCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.ForceSyncWithServer, ForceSyncWithServerCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertContentFromServer, insert_content_from_server_command/* InsertContentFromServerCommand */.R1);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.InsertRtf, insert_rtf_command_InsertRtfCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.GetRtf, get_rtf_command_GetRtfCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.OpenHyperlink, AspxOpenHyperlinkCommand);
        this.createCommand(control, client_command/* RichEditClientCommand */.f.Download, DownloadDocumentCommand);
    }
}

;// CONCATENATED MODULE: ./src/common/commands/shortcut-manager.ts






class ShortcutManager {
    constructor(commandManager, control) {
        this.knownNonCommandShortcuts = {};
        this.control = control;
        this.init(commandManager);
    }
    init(commandManager) {
        this.knownNonCommandShortcuts = {};
        this.knownNonCommandShortcuts[key/* KeyCode */.VD.Esc] = true;
        this.shortcuts = {};
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ClearFormatting, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Space], [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Space]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.CopySelection, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_c], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_c, key/* KeyCode */.VD.F3]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.CreateField, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.F9], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.F9]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.CutSelection, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_x], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_x, key/* KeyCode */.VD.F2]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.DecreaseIndent, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_m], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_m]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.DocumentEnd, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.End], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.End]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.DocumentStart, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Home], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Home]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendDocumentEnd, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.End], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.End]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendDocumentStart, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Home], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Home]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendGoToEndParagraph, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Down], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Down]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendGoToNextWord, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Right], [key/* ModifierKey */.tx.Alt | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Right]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendGoToPrevWord, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Left], [key/* ModifierKey */.tx.Alt | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Left]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendGoToStartParagraph, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Up], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Up]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendLineDown, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Down], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Down]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendLineEnd, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.End], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.End]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendLineStart, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Home], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Home]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendLineUp, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Up], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Up]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendNextCharacter, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Right], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Right]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendNextPage, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageDown], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageDown]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendPreviousCharacter, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Left], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Left]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendPreviousPage, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageUp], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageUp]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.FullScreen, [key/* KeyCode */.VD.F11, key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.F10], [key/* KeyCode */.VD.F11]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.GoToEndParagraph, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Down], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Down]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.GoToNextWord, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Right], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Right]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.GoToPrevWord, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Left], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Left]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.GoToStartParagraph, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Up], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Up]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.IncreaseIndent, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_m], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_m]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertColumnBreak, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Enter], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Enter]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertLineBreak, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Enter], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Enter]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertPageBreak, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Enter], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Enter]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertParagraph, [key/* KeyCode */.VD.Enter], [key/* KeyCode */.VD.Enter]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertShiftTabMark, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Tab], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Tab]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertSpace, [key/* KeyCode */.VD.Space], [key/* KeyCode */.VD.Space, key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Space]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertTabMark, [key/* KeyCode */.VD.Tab], [key/* KeyCode */.VD.Tab]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.LineDown, [key/* KeyCode */.VD.Down], [key/* KeyCode */.VD.Down]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.LineEnd, [key/* KeyCode */.VD.End], [key/* KeyCode */.VD.End]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.LineStart, [key/* KeyCode */.VD.Home], [key/* KeyCode */.VD.Home]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.LineUp, [key/* KeyCode */.VD.Up], [key/* KeyCode */.VD.Up]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.NextCharacter, [key/* KeyCode */.VD.Right], [key/* KeyCode */.VD.Right]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.NextPage, [key/* KeyCode */.VD.PageDown], [key/* KeyCode */.VD.PageDown]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.PasteSelection, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_v, key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Insert], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_v, key/* KeyCode */.VD.F4]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.PreviousCharacter, [key/* KeyCode */.VD.Left], [key/* KeyCode */.VD.Left]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.PreviousPage, [key/* KeyCode */.VD.PageUp], [key/* KeyCode */.VD.PageUp]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.Redo, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_y], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_y]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.SelectAll, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_a], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_a]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.SetDoubleParagraphSpacing, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_2], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_2]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.SetSesquialteralParagraphSpacing, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_5], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_5]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.SetSingleParagraphSpacing, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_1], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_1]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ShowFontForm, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_d], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_d]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ShowHyperlinkForm, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_k], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_k]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.Find, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_f], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_f]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.Replace, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_h], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_h]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleAllFields, [key/* ModifierKey */.tx.Alt | key/* KeyCode */.VD.F9], [key/* ModifierKey */.tx.Alt | key/* KeyCode */.VD.F9]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleBackspaceKey, [key/* KeyCode */.VD.Backspace], [key/* KeyCode */.VD.Backspace]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleDeleteKey, [key/* KeyCode */.VD.Delete], [key/* KeyCode */.VD.Delete]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleFieldCodes, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.F9], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.F9]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleFontItalic, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_i], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_i]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleFontSubscript, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Equals], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Equals]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleFontSuperscript, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Equals], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Equals]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleFontUnderline, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_u], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_u]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentCenter, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_e], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_e]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentJustify, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_j], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_j]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentLeft, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_l], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_l]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleParagraphAlignmentRight, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_r], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_r]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleShowWhitespace, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_8], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_8]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.Undo, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_z], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_z, key/* KeyCode */.VD.F1]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.UpdateField, [key/* KeyCode */.VD.F9], [key/* KeyCode */.VD.F9]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ToggleFontBold, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_b], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_b]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.InsertNonBreakingSpace, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Space], [key/* ModifierKey */.tx.Alt | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Space]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.RemoveHyperlinks, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.F9], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.F9]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.CreateDateField, [key/* ModifierKey */.tx.Alt | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_d], [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_d]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.CreatePageField, [key/* ModifierKey */.tx.Alt | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_p], [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_p]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.CreateTimeField, [key/* ModifierKey */.tx.Alt | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_t], [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_t]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.SwitchTextCase, [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.F3], [key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.F3]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ShowSpellCheckerForm, [key/* KeyCode */.VD.F7], [key/* KeyCode */.VD.F7]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.RemoveNextWord, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Delete], [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Delete]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.RemovePrevWord, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Backspace], [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Backspace]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.GoToStartNextPage, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.PageDown], [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.PageDown]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.GoToStartPrevPage, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.PageUp], [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.PageUp]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendGoToStartNextPage, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageDown], [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageDown]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ExtendGoToStartPrevPage, [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageUp], [key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.PageUp]);
    }
    createShortcut(commandManager, commandId, winShortcuts, macOSShortcuts) {
        utils_list.ListUtils.forEach(browser.Browser.MacOSPlatform ? (macOSShortcuts ? macOSShortcuts : []) : (winShortcuts ? winShortcuts : []), (keyCode) => this.shortcuts[keyCode] = new CommandHolder(commandManager.getCommand(commandId)));
    }
    processShortcut(keyCode) {
        const commandHolder = this.shortcuts[keyCode];
        if (!commandHolder || this.denyThisTabKeyCode(keyCode))
            return false;
        commandHolder.executeCommand(this);
        return true;
    }
    isKnownShortcut(keyCode) {
        return (!!this.shortcuts[keyCode] || this.knownNonCommandShortcuts[keyCode]) && !this.denyThisTabKeyCode(keyCode);
    }
    isClipboardCommandShortcut(keyCode) {
        const commandHolder = this.shortcuts[keyCode];
        return commandHolder ? commandHolder.isClipboardCommand() : false;
    }
    assignShortcut(keyCode, callback) {
        this.shortcuts[keyCode] = new UserDefinedFunctionHolder(callback);
    }
    denyThisTabKeyCode(keyCode) {
        return !this.control.modelManager.richOptions.control.acceptsTab && ShortcutManager.pressTabKeyCode(keyCode);
    }
    static pressTabKeyCode(keyCode) {
        return keyCode === key/* KeyCode */.VD.Tab || keyCode === (key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Tab);
    }
}
class CommandHolderBase {
    executeCommand(shortcutManager) {
        shortcutManager.lastCommandExecutedByShortcut = true;
        this.callExecuteCommand();
        shortcutManager.lastCommandExecutedByShortcut = false;
    }
    callExecuteCommand() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    isClipboardCommand() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
}
class CommandHolder extends CommandHolderBase {
    constructor(command) {
        super();
        this.command = command;
    }
    callExecuteCommand() {
        this.command.execute(false);
    }
    isClipboardCommand() {
        return this.command instanceof clipboard_commands/* ClipboardCommand */.gw;
    }
}
class UserDefinedFunctionHolder extends CommandHolderBase {
    constructor(userCommandCallback) {
        super();
        this.userCommandCallback = userCommandCallback;
    }
    callExecuteCommand() {
        this.userCommandCallback();
    }
    isClipboardCommand() {
        return false;
    }
}

;// CONCATENATED MODULE: ./src/aspx/commands/aspx-shortcut-manager.ts



class AspxShortcutManager extends ShortcutManager {
    constructor(commandManager, control) {
        super(commandManager, control);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.ActivateRibbon, [key/* KeyCode */.VD.F10], []);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.FileNew, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_n], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_n]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.FileOpen, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_o, key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.F12], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_o]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.FilePrint, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_p, key/* ModifierKey */.tx.Ctrl | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.F12], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_p]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.FileSave, [key/* ModifierKey */.tx.Ctrl | key/* KeyCode */.VD.Key_s], [key/* ModifierKey */.tx.Meta | key/* KeyCode */.VD.Key_s]);
        this.createShortcut(commandManager, client_command/* RichEditClientCommand */.f.FileSaveAs, [], [key/* ModifierKey */.tx.Meta | key/* ModifierKey */.tx.Shift | key/* KeyCode */.VD.Key_s]);
    }
}

;// CONCATENATED MODULE: ./src/common/loading-panel/manager.ts
class LoadingPanelManagerBase {
    dispose() {
        this.loadingPanel.dispose();
        this.statusBarLoadingPanel.dispose();
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/delayed-manager.js
var delayed_manager = __webpack_require__(6218);
;// CONCATENATED MODULE: ./src/common/loading-panel/panel.ts

class ShowLoadingPanelDelayedManager extends delayed_manager/* DelayedActionManager */.R {
    constructor(action, hidePanelAction) {
        super(action);
        this.hidePanelAction = hidePanelAction;
    }
    hidePanel() {
        this.stop();
        this.hidePanelAction();
    }
}
class LoadingPanelBase {
    constructor() {
        this.enabled = true;
    }
    showPanelDelayed(timeout) {
        const manager = new ShowLoadingPanelDelayedManager(() => this.setVisible(true), () => this.setVisible(false));
        manager.start(timeout);
        return manager;
    }
    dispose() {
        if (this.customPanel)
            if (this.customPanel.dispose)
                this.customPanel.dispose();
        this.loadingPanel.dispose();
    }
    setVisible(visible) {
        if (this.customPanel)
            this.setPanelVisible(this.customPanel, visible);
        else
            this.setPanelVisible(this.loadingPanel, visible);
    }
    setPanelVisible(panel, visible) {
        const currState = panel.visible;
        if (visible) {
            if (this.enabled && (currState === false || currState === undefined))
                panel.show();
        }
        else {
            if (currState === true || currState === undefined)
                panel.hide();
        }
    }
}

;// CONCATENATED MODULE: ./src/aspx/loading-panel/panel.ts

class AspxBuiltinLoadingPanel {
    constructor(lpOwner) {
        this.lpOwner = lpOwner;
    }
    dispose() {
        this.lpOwner = null;
    }
    show() {
        if (!this.lpOwner.IsDOMDisposed())
            this.lpOwner.ShowLoadingElements();
    }
    hide() {
        if (!this.lpOwner.IsDOMDisposed())
            this.lpOwner.HideLoadingElements();
    }
}
class AspxLoadingPanel extends LoadingPanelBase {
    constructor(lpOwner) {
        super();
        this.loadingPanel = new AspxBuiltinLoadingPanel(lpOwner);
    }
}

// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/constants.ts
var rich_edit_owner_constants = __webpack_require__(1798);
;// CONCATENATED MODULE: ./src/aspx/loading-panel/status-bar-panel.ts


class AspxBuiltinStatusBarLoadingPanel {
    constructor(lpOwner) {
        this.visible = false;
        this.lpOwner = lpOwner;
    }
    dispose() {
        this.lpOwner = null;
    }
    show() {
        const lp = this.getLoadingPanel();
        if (lp) {
            lp.style.display = "";
            this.visible = true;
        }
    }
    hide() {
        const lp = this.getLoadingPanel();
        if (lp) {
            lp.style.display = "none";
            this.visible = false;
        }
    }
    getLoadingPanel() {
        if (!this.panelElem && !this.lpOwner.IsDOMDisposed()) {
            const loadingPanelDiv = this.lpOwner.GetChildElement(rich_edit_owner_constants/* constants */._.LoadingPanel);
            this.panelElem = ASPx.GetNodeByTagName(loadingPanelDiv, "table", 0);
        }
        return this.panelElem;
    }
}
class AspxStatusBarLoadingPanel extends LoadingPanelBase {
    constructor(lpOwner) {
        super();
        this.loadingPanel = new AspxBuiltinStatusBarLoadingPanel(lpOwner);
    }
}

;// CONCATENATED MODULE: ./src/aspx/loading-panel/manager.ts



class AspxLoadingPanelManager extends LoadingPanelManagerBase {
    constructor(lpOwner) {
        super();
        this.loadingPanel = new AspxLoadingPanel(lpOwner);
        this.statusBarLoadingPanel = new AspxStatusBarLoadingPanel(lpOwner);
    }
}

// EXTERNAL MODULE: ./src/common/model/fields/field-request-manager.ts
var field_request_manager = __webpack_require__(9526);
;// CONCATENATED MODULE: ./src/aspx/model/fields/field-server-request-manager.ts



class FieldServerRequestManager extends field_request_manager/* FieldRequestManager */.Zo {
    constructor(serverDispatcher) {
        super();
        this.serverDispatcher = serverDispatcher;
    }
    sendRequest(subDocument, activeRecord, immediateSendRequest) {
        this.activeRecord = activeRecord;
        this.serverDispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.FieldUpdate, subDocument.id, this.requestAsJson(subDocument)), new command_request/* RequestParams */.Kl(false, immediateSendRequest, true));
    }
    forceSendDelayedRequests() {
        this.serverDispatcher.forceSendingRequest();
    }
}

;// CONCATENATED MODULE: ./src/aspx/aspx-spell-checker.ts





class AspxSpellChecker extends spell_checker/* SpellChecker */.yV {
    constructor(modelRequestHandler, misspelledIntervalsChangesListener, settings) {
        super(misspelledIntervalsChangesListener, settings);
        this.modelRequestHandler = modelRequestHandler;
    }
    processResponse(checkedIntervals) {
        this.intervalsManager.applyCheckResults(checkedIntervals);
        this.updateMisspelledBoxes();
        this.hasActiveRequest = false;
        this.checkCore();
    }
    checkCore() {
        if (this.hasActiveRequest)
            return;
        super.checkCore();
    }
    sendCheckSpellingRequest(uncheckedIntervals) {
        const params = {
            [json_general_enums/* JSONCheckSpellingCommand */.Bb.IntervalsToCheck]: utils_list.ListUtils.map(uncheckedIntervals, uncheckedInterval => {
                return {
                    [json_general_enums/* JSONCheckSpellingCommand */.Bb.StartPosition]: uncheckedInterval.start,
                    [json_general_enums/* JSONCheckSpellingCommand */.Bb.EndPosition]: uncheckedInterval.end,
                    [json_general_enums/* JSONCheckSpellingCommand */.Bb.TextToCheck]: uncheckedInterval.info.textToCheck,
                };
            }),
            [json_general_enums/* JSONCheckSpellingCommand */.Bb.CustomDictionaryGuid]: this.settings.customDictionaryGuid,
        };
        this.modelRequestHandler.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.CheckSpelling, this.subDocument.id, params), new command_request/* RequestParams */.Kl(false, true, false));
        this.hasActiveRequest = true;
    }
    sendAddWordRequest(word) {
        const params = {
            [json_general_enums/* JSONCheckSpellingCommand */.Bb.AddedWord]: word,
            [json_general_enums/* JSONCheckSpellingCommand */.Bb.CustomDictionaryGuid]: this.settings.customDictionaryGuid,
        };
        this.modelRequestHandler.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.AddWordToDictionary, -1, params), new command_request/* RequestParams */.Kl(false, true, true));
    }
}

// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var changes_enums = __webpack_require__(300);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-character-enums.ts
var json_character_enums = __webpack_require__(1763);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-floating-enums.ts
var json_floating_enums = __webpack_require__(1);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-list-enums.ts
var json_list_enums = __webpack_require__(3006);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-paragraph-enums.ts
var json_paragraph_enums = __webpack_require__(7936);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-run-enums.ts
var json_run_enums = __webpack_require__(2473);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-section-enums.ts
var json_section_enums = __webpack_require__(1466);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-style-enums.ts
var json_style_enums = __webpack_require__(3957);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-sub-document-enums.ts
var json_sub_document_enums = __webpack_require__(2202);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-cell-enums.ts
var json_table_cell_enums = __webpack_require__(8356);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-enums.ts
var json_table_enums = __webpack_require__(3128);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-row-enums.ts
var json_table_row_enums = __webpack_require__(400);
// EXTERNAL MODULE: ./src/common/model/json/importers/image-cache-info-converter.ts
var image_cache_info_converter = __webpack_require__(4935);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-importer.ts
var json_importer = __webpack_require__(8376);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-character-properties-converter.ts
var json_masked_character_properties_converter = __webpack_require__(7768);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-paragraph-properties-converter.ts
var json_masked_paragraph_properties_converter = __webpack_require__(8977);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-tab-converter.ts
var json_tab_converter = __webpack_require__(927);
// EXTERNAL MODULE: ./src/common/model/json/importers/numbering-list/json-list-level-properties-converter.ts
var json_list_level_properties_converter = __webpack_require__(5381);
// EXTERNAL MODULE: ./src/common/model/json/importers/section/json-section-properties-converter.ts
var json_section_properties_converter = __webpack_require__(3529);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/json-anchor-info-converter.ts
var json_anchor_info_converter = __webpack_require__(7226);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/json-non-visual-properties.ts
var json_non_visual_properties = __webpack_require__(598);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/sizes/json-inline-picture-size-converter.ts
var json_inline_picture_size_converter = __webpack_require__(7279);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-cell-properties-converter.ts + 1 modules
var json_table_cell_properties_converter = __webpack_require__(8513);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-properties-converter.ts + 1 modules
var json_table_properties_converter = __webpack_require__(5855);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-row-properties-converter.ts
var json_table_row_properties_converter = __webpack_require__(2359);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-unit-converter.ts
var json_table_unit_converter = __webpack_require__(2626);
;// CONCATENATED MODULE: ./src/aspx/server-dispatcher-model-changes-listener.ts


































class ServerDispatcherModelChangesListener {
    constructor(dispatcher) {
        this.dispatcher = dispatcher;
    }
    modelChanged(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.PageColor: {
                const params = {
                    [json_document_enums/* JSONModelPropertyProperty */.$s.PageColor]: change.newColor
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.ChangePageColor, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.DefaultTabWidth: {
                const params = {
                    [json_document_enums/* JSONModelPropertyProperty */.$s.DefaultTabWidth]: change.newDefaultTabWidth
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.ChangeDefaultTabWidth, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.DifferentOddAndEvenPages: {
                const params = {
                    [json_document_enums/* JSONModelPropertyProperty */.$s.OddEvenPages]: (0,common.boolToInt)(change.newValue)
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.ChangeDifferentOddAndEvenPages, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.HeaderFooterCreated: {
                const params = {
                    [json_sub_document_enums/* JSONCreateHeaderFooterCommandBaseProperty */.M9.Type]: change.headerFooterType
                };
                const command = change.isHeader ? command_type/* CommandType */.w.CreateHeader : command_type/* CommandType */.w.CreateFooter;
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command, change.subDocumentInfo.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.HeaderFooterIndexChanged: {
                const params = {
                    [json_sub_document_enums/* JSONChangeHeaderFooterIndexCommandBase */.W$.SectionIndex]: change.sectionIndex,
                    [json_sub_document_enums/* JSONChangeHeaderFooterIndexCommandBase */.W$.NewObjectIndex]: change.newIndex,
                    [json_sub_document_enums/* JSONChangeHeaderFooterIndexCommandBase */.W$.Type]: change.headerFooterType,
                };
                const command = change.isHeader ? command_type/* CommandType */.w.ChangeHeaderIndex : command_type/* CommandType */.w.ChangeFooterIndex;
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.LoadFontInfo: {
                const params = {
                    [json_character_enums/* JSONLoadFontInfoCommand */.oO.FontInfo]: {
                        [json_character_enums/* JSONFontInfoProperty */.yW.FontFamily]: change.fontInfo.getFontFamilies()[0]
                    }
                };
                this.dispatcher.pushRequest(new command_request/* LoadCommandRequest */.M2(command_type/* CommandType */.w.LoadFontInfo, -1, params), new command_request/* RequestParams */.Kl(false, true, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.SectionFormattingChanged: {
                this.pushPropertyRequest(-1, change.property, change.newState, command_type/* CommandType */.w.ChangeSectionProperties);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CreateStyleLink: {
                const params = {
                    [json_style_enums/* JSONStyleLinkCommandBaseProperty */.M8.StyleName]: change.paragraphStyleName
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.CreateStyleLink, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.DeleteStyleLink: {
                const params = {
                    [json_style_enums/* JSONStyleLinkCommandBaseProperty */.M8.StyleName]: change.paragraphStyleName
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.DeleteStyleLink, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.ListLevelPropertyChanged: {
                this.pushPropertyRequest(-1, change.property, change.newState, command_type/* CommandType */.w.ChangeListLevelProperties);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged: {
                this.pushPropertyRequest(-1, change.property, change.newState, command_type/* CommandType */.w.ChangeListLevelParagraphProperties);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged: {
                this.pushPropertyRequest(-1, change.property, change.newState, command_type/* CommandType */.w.ChangeListLevelCharacterProperties);
                break;
            }
            case changes_enums/* ModelChangeType */.f.IOverrideListLevelChanged: {
                this.pushPropertyRequest(-1, change.property, change.newState, command_type/* CommandType */.w.ChangeIOverrideListLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.BookmarkCreated: {
                this.pushStateBasedRequestNew(change.subDocumentId, change, command_type/* CommandType */.w.CreateBookmark);
                break;
            }
            case changes_enums/* ModelChangeType */.f.BookmarkDeleted: {
                this.pushStateBasedRequestNew(change.subDocumentId, change, command_type/* CommandType */.w.DeleteBookmark);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TabInserted: {
                this.pushStateBasedRequestNew(change.subDocumentId, change, command_type/* CommandType */.w.InsertTabToParagraph);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TabDeleted: {
                this.pushStateBasedRequestNew(change.subDocumentId, change, command_type/* CommandType */.w.DeleteTabAtParagraph);
                break;
            }
            case changes_enums/* ModelChangeType */.f.LoadPicturesInfo: {
                const params = {
                    0: image_cache_info_converter/* JSONCacheImageInfoConverter */.H.convertToJSON(change.data, true)
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.LoadPicturesInfo, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, true, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.InlinePicturesUpdated: {
                const imageInfo = change.updatedImageInfo;
                const params = {
                    0: {
                        [json_floating_enums/* JSONInlinePictureCommandsImageInfo */._w.Position]: imageInfo.position,
                        [json_floating_enums/* JSONInlinePictureCommandsImageInfo */._w.CacheInfo]: image_cache_info_converter/* JSONCacheImageInfoConverter */.H.convertToJSON(imageInfo.info, false),
                        [json_floating_enums/* JSONInlinePictureCommandsImageInfo */._w.ScaleSize]: json_importer/* SizeExporter */.Oh.convertToJSON(imageInfo.size.scale),
                    }
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.UpdateInlinePictures, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted: {
                const params = {
                    [json_floating_enums/* JSONInlinePictureCommandsImageInfo */._w.Position]: change.position,
                    [json_floating_enums/* JSONInlinePictureCommandsImageInfo */._w.CacheInfo]: image_cache_info_converter/* JSONCacheImageInfoConverter */.H.convertToJSON(change.picInfo.cacheInfo, false),
                    [json_floating_enums/* JSONInlinePictureCommandsImageInfo */._w.ScaleSize]: json_importer/* SizeExporter */.Oh.convertToJSON(change.picInfo.size.scale),
                    [json_floating_enums/* JSONInlinePictureCommandsImageInfo */._w.DrawingObjectProperties]: json_non_visual_properties/* JSONNonVisualPropertiesConverter */.Q.convertToJSON(change.containerProperties),
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertInlinePicture, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted: {
                const params = {
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.Position]: change.position,
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.Size]: json_inline_picture_size_converter/* JSONInlinePictureSizeConverterConverter */.M.convertToJSON(change.size),
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.ImageCacheId]: change.id,
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.AnchorInfo]: json_anchor_info_converter/* JSONAnchorInfoConverter */.X.convertToJSON(change.anchorInfo),
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.DrawingObjectProperties]: json_non_visual_properties/* JSONNonVisualPropertiesConverter */.Q.convertToJSON(change.containerProperties),
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertAnchoredPicture, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredPictureSizeChanged: {
                this.pushStateBasedRequestNew(change.subDocumentId, change, command_type/* CommandType */.w.ChangeAnchoredPictureSize);
                break;
            }
            case changes_enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged: {
                this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, command_type/* CommandType */.w.ChangeInlineObjectProperties);
                break;
            }
            case changes_enums/* ModelChangeType */.f.FieldInserted: {
                const params = {
                    [json_field_enums/* JSONFieldProperty */.Jt.StartPos]: change.startPosition,
                    [json_field_enums/* JSONFieldProperty */.Jt.SeparatorPos]: change.separatorPosition,
                    [json_field_enums/* JSONFieldProperty */.Jt.EndPos]: change.endPosition,
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertField, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.FieldDeleted: {
                const params = {
                    [json_field_enums/* JSONFieldProperty */.Jt.EndPos]: change.endPosition
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.DeleteField, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.HyperlinkInfoChanged: {
                const params = {
                    [json_field_enums/* JSONFieldProperty */.Jt.StartPos]: change.fieldCodeInterval.start - 1,
                    [json_field_enums/* JSONFieldProperty */.Jt.EndPos]: change.fieldResultInterval.end + 1,
                };
                if (change.newHyperlinkInfo) {
                    params[json_field_enums/* JSONFieldProperty */.Jt.Uri] = change.newHyperlinkInfo.uri;
                    params[json_field_enums/* JSONFieldProperty */.Jt.Anchor] = change.newHyperlinkInfo.anchor;
                    params[json_field_enums/* JSONFieldProperty */.Jt.Tip] = change.newHyperlinkInfo.tip;
                    params[json_field_enums/* JSONFieldProperty */.Jt.Visited] = (0,common.boolToInt)(change.newHyperlinkInfo.visited);
                }
                else
                    params[json_field_enums/* JSONFieldProperty */.Jt.NoInfo] = 1;
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.HyperlinkInfoChanged, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted: {
                const characterPropertiesJSON = json_masked_character_properties_converter/* JSONMaskedCharacterPropertiesConverter */.i.convertToJSON(change.characterProperties);
                let lastRequestInQueue = this.dispatcher.lastRequestInQueue;
                if (lastRequestInQueue && lastRequestInQueue.extendTextRequest(change.subDocumentId, change.position, change.length, characterPropertiesJSON, change.characterStyle.styleName, change.runType, change.text))
                    return;
                const params = {
                    [json_character_enums/* JSONInsertTextCommandProperty */.sr.Position]: change.position,
                    [json_character_enums/* JSONInsertTextCommandProperty */.sr.Length]: change.length,
                    [json_character_enums/* JSONInsertTextCommandProperty */.sr.RunType]: change.runType,
                    [json_character_enums/* JSONInsertTextCommandProperty */.sr.CharacterProperties]: characterPropertiesJSON,
                    [json_character_enums/* JSONInsertTextCommandProperty */.sr.CharacterStyleName]: change.characterStyle.styleName,
                };
                this.dispatcher.pushRequest(new command_request/* EditTextBufferCommandRequest */.fv(command_type/* CommandType */.w.InsertSimpleRun, change.subDocumentId, change.text, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TextBufferChanged: {
                this.dispatcher.pushRequest(new command_request/* ClientServerTextBufferChangedCommandRequest */.Te(command_type/* CommandType */.w.ChangeTextBuffer, change.subDocumentId, change.newState, {}), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphInserted: {
                const params = {
                    [json_paragraph_enums/* JSONInsertParagraphCommandProperty */.me.Position]: change.position,
                    [json_paragraph_enums/* JSONInsertParagraphCommandProperty */.me.ParagraphProperties]: json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertToJSON(change.paragraph.maskedParagraphProperties),
                    [json_paragraph_enums/* JSONInsertParagraphCommandProperty */.me.StyleName]: change.paragraph.paragraphStyle.styleName,
                    [json_paragraph_enums/* JSONInsertParagraphCommandProperty */.me.NumberingListIndex]: change.paragraph.numberingListIndex,
                    [json_paragraph_enums/* JSONInsertParagraphCommandProperty */.me.ListLevelIndex]: change.paragraph.listLevelIndex,
                };
                var tabParams = [];
                for (let i = 0, tabInfo; tabInfo = change.paragraph.tabs.tabsInfo[i]; i++)
                    tabParams.push(json_tab_converter/* JSONTabConverter */._.convertToJSON(tabInfo));
                params[json_paragraph_enums/* JSONInsertParagraphCommandProperty */.me.TabsProperties] = tabParams;
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertParagraph, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.SectionInserted: {
                const params = {
                    [json_section_enums/* JSONInsertSectionCommandProperty */.n.Position]: change.position,
                    [json_section_enums/* JSONInsertSectionCommandProperty */.n.SectionProperties]: json_section_properties_converter/* JSONSectionPropertiesConverter */.t.convertToJSON(change.section.sectionProperties),
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertSection, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted: {
                const params = {
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.Position]: change.position,
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.SubDocId]: change.innerSubDocId,
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.AnchorInfo]: json_anchor_info_converter/* JSONAnchorInfoConverter */.X.convertToJSON(change.anchorInfo),
                    [json_floating_enums/* JSONInsertFloatingObjectCommandInfo */.hz.DrawingObjectProperties]: json_non_visual_properties/* JSONNonVisualPropertiesConverter */.Q.convertToJSON(change.containerProperties)
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertAnchoredTextBox, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved: {
                break;
            }
            case changes_enums/* ModelChangeType */.f.IntervalRemoved: {
                const params = {
                    [json_run_enums/* JSONDeleteRunsCommandProperty */.oP.Position]: change.interval.start,
                    [json_run_enums/* JSONDeleteRunsCommandProperty */.oP.Length]: change.interval.length,
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.DeleteRuns, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphMerged: {
                const params = {
                    [json_paragraph_enums/* JSONMergeParagraphsCommandProperty */.cO.Position]: change.position,
                    [json_paragraph_enums/* JSONMergeParagraphsCommandProperty */.cO.GetPropertiesFromNext]: (0,common.boolToInt)(change.getPropertiesFromNext),
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.MergeParagraphs, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.SectionMerged: {
                const params = {
                    [json_section_enums/* JSONMergeSectionsCommandProperty */.NM.SectionIndex]: change.sectionIndex,
                    [json_section_enums/* JSONMergeSectionsCommandProperty */.NM.GetPropertiesFromNext]: (0,common.boolToInt)(change.getPropertiesFromNext),
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.MergeSections, sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterFormattingChanged: {
                if (change.property === json_character_enums/* JSONCharacterFormattingProperty */.I$.UseValue)
                    this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ChangeCharacterPropertiesUseValue);
                else
                    this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, command_type/* CommandType */.w.ChangeCharacterProperty);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterPropertiesChanged: {
                this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ChangeCharacterProperties);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphFormattingChanged: {
                if (change.property === json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.UseValue)
                    this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ChangeParagraphPropertiesUseValue);
                else
                    this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, command_type/* CommandType */.w.ChangeParagraphProperty);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphPropertiesChanged: {
                const params = {
                    [json_paragraph_enums/* JSONParagraphPropertiesChangedProperty */.GQ.ParagraphIndex]: change.paragraphIndex,
                    [json_paragraph_enums/* JSONParagraphPropertiesChangedProperty */.GQ.ParagraphProperties]: json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertToJSON(change.properties),
                    [json_paragraph_enums/* JSONParagraphPropertiesChangedProperty */.GQ.ListLevelIndex]: change.listInfo.listLevelIndex,
                    [json_paragraph_enums/* JSONParagraphPropertiesChangedProperty */.GQ.NumberingListIndex]: change.listInfo.numberingListIndex,
                    [json_paragraph_enums/* JSONParagraphPropertiesChangedProperty */.GQ.StyleName]: change.style.styleName,
                };
                var tabParams = [];
                for (let i = 0, tabInfo; tabInfo = change.tabs.tabsInfo[i]; i++)
                    tabParams.push(json_tab_converter/* JSONTabConverter */._.convertToJSON(tabInfo));
                params[json_paragraph_enums/* JSONParagraphPropertiesChangedProperty */.GQ.TabsProperties] = tabParams;
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.ChangeParagraphProperties, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged: {
                this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ChangeAnchoredTextBoxSize);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged: {
                this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ChangeTextBoxProperties);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchorInfoPropertyChanged: {
                this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, command_type/* CommandType */.w.ChangeAnchorInfoProperty);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ShapePropertyChanged: {
                this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, command_type/* CommandType */.w.ChangeAnchoredObjectShapeProperty);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterStyleApplied: {
                this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ApplyCharacterStyle);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphStyleApplied: {
                this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ApplyParagraphStyle);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableStyleChanged: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TableInfo]: {
                        [json_table_enums/* JSONEnumClientTableFormatting */.cL.StyleName]: change.newStyle ? change.newStyle.styleName : null
                    }
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.ApplyTableStyle, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphNumberingListChanged: {
                this.pushStateBasedRequest(change.subDocumentId, change.newState, command_type/* CommandType */.w.ApplyNumberingList);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListAdded: {
                const numberingList = this.dispatcher.control.modelManager.model.abstractNumberingLists[change.index];
                const listLevelsInfo = [];
                for (let listLevel of numberingList.levels) {
                    const levelInfo = {};
                    levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.CharacterProperties] = json_masked_character_properties_converter/* JSONMaskedCharacterPropertiesConverter */.i.convertToJSON(listLevel.getCharacterProperties());
                    levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.ParagraphProperties] = json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertToJSON(listLevel.getParagraphProperties());
                    levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.ListLevelProperties] = json_list_level_properties_converter/* JSONListLevelPropertiesConverter */.J.convertToJSON(listLevel.getListLevelProperties());
                    listLevelsInfo.push(levelInfo);
                }
                const params = {
                    [json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.Deleted]: (0,common.boolToInt)(numberingList.deleted),
                    [json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.Levels]: listLevelsInfo,
                    [json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.InnerId]: numberingList.getId(),
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.AddAbstractNumberingList, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListDeleted: {
                const params = {
                    [json_list_enums/* JSONDeleteAbstractNumberingListCommandProperty */.a0.Index]: change.index
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.DeleteAbstractNumberingList, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.NumberingListAdded: {
                const numberingList = this.dispatcher.control.modelManager.model.numberingLists[change.index];
                const listLevelsInfo = [];
                for (var listLevel, i = 0; listLevel = numberingList.levels[i]; i++) {
                    const levelInfo = {};
                    if (listLevel instanceof list_level/* OverrideListLevel */.lT) {
                        levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.CharacterProperties] = json_masked_character_properties_converter/* JSONMaskedCharacterPropertiesConverter */.i.convertToJSON(listLevel.getCharacterProperties());
                        levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.ParagraphProperties] = json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertToJSON(listLevel.getParagraphProperties());
                        levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.ListLevelProperties] = json_list_level_properties_converter/* JSONListLevelPropertiesConverter */.J.convertToJSON(listLevel.getListLevelProperties());
                    }
                    else {
                        levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.NewStart] = listLevel.getNewStart();
                    }
                    levelInfo[json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.OverrideStart] = (0,common.boolToInt)(listLevel.overrideStart);
                    listLevelsInfo.push(levelInfo);
                }
                const params = {
                    [json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.AbstractNumberingListIndex]: numberingList.abstractNumberingListIndex,
                    [json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.Deleted]: numberingList.deleted,
                    [json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.InnerId]: numberingList.getId(),
                    [json_list_enums/* JSONAddAbstractNumberingListCommandPropery */.Bq.Levels]: listLevelsInfo,
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.AddNumberingList, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.NumberingListDeleted: {
                const params = {
                    [json_list_enums/* JSONDeleteAbstractNumberingListCommandProperty */.a0.Index]: change.index
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.DeleteNumberingList, -1, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCreated: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Position]: change.table.getStartPosition(),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Rows]: JSONTableHelper.getJSONTableRows(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TableInfo]: JSONTableHelper.getJSONTableInfo(change.table),
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.CreateTable, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRemoved: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSONCore(change.startPosition, change.nestedLevel)
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.RemoveTable, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableStartPositionShifted: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Position]: change.newPosition,
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.ShiftTableStartPosition, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellPropertyChanged: {
                let commandType;
                switch (change.property) {
                    case json_table_cell_enums/* JSONServerTableCellProperty */.zH.ColumnSpan:
                    case json_table_cell_enums/* JSONServerTableCellProperty */.zH.PreferredWidth:
                    case json_table_cell_enums/* JSONServerTableCellProperty */.zH.VerticalMerging:
                        commandType = command_type/* CommandType */.w.ChangeTableCell;
                        break;
                    default:
                        commandType = command_type/* CommandType */.w.ChangeTableCellProperty;
                        break;
                }
                this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, commandType);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TablePropertyChanged: {
                let commandType;
                switch (change.property) {
                    case json_table_enums/* JSONEnumTableProperty */.lE.PreferredWidth:
                    case json_table_enums/* JSONEnumTableProperty */.lE.TableLookTypes:
                        commandType = command_type/* CommandType */.w.ChangeTable;
                        break;
                    default:
                        commandType = command_type/* CommandType */.w.ChangeTableProperty;
                }
                this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, commandType);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRowPropertyChanged: {
                let commandType;
                switch (change.property) {
                    case json_table_row_enums/* JSONServerTableRowProperty */.Wn.GridAfter:
                    case json_table_row_enums/* JSONServerTableRowProperty */.Wn.GridBefore:
                    case json_table_row_enums/* JSONServerTableRowProperty */.Wn.Height:
                    case json_table_row_enums/* JSONServerTableRowProperty */.Wn.WidthAfter:
                    case json_table_row_enums/* JSONServerTableRowProperty */.Wn.WidthBefore:
                        commandType = command_type/* CommandType */.w.ChangeTableRow;
                        break;
                    default:
                        commandType = command_type/* CommandType */.w.ChangeTableRowProperty;
                        break;
                }
                this.pushPropertyRequest(change.subDocumentId, change.property, change.newState, commandType);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellSplittedHorizontally: {
                const newCell = change.table.rows[change.rowIndex].cells[change.rightDirection ? (change.cellIndex + 1) : (change.cellIndex - 1)];
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Rows]: {
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowIndex]: change.rowIndex,
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.Cells]: {
                            [json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.CellIndex]: change.rightDirection ? change.cellIndex : (change.cellIndex - 1),
                            [json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.RightDirection]: (0,common.boolToInt)(change.rightDirection),
                            [json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.CellInfo]: JSONTableHelper.getJSONTableCellInfo(newCell),
                        },
                    }
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.SplitTableCellHorizontally, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellMergedHorizontally: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Rows]: {
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowIndex]: change.rowIndex,
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.Cells]: {
                            [json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.CellIndex]: change.rightDirection ? change.cellIndex : (change.cellIndex + 1),
                            [json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.RightDirection]: (0,common.boolToInt)(change.rightDirection),
                        },
                    },
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.MergeTableCellHorizontally, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRowInserted: {
                const row = change.table.rows[change.rowIndex];
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Rows]: {
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowIndex]: change.rowIndex,
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.Cells]: JSONTableHelper.getJSONTableRowCells(row),
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowInfo]: JSONTableHelper.getJSONTableRowInfo(row),
                    },
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertTableRow, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRowRemoved: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Rows]: {
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowIndex]: change.rowIndex
                    },
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.RemoveTableRow, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellRemoved: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Rows]: {
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowIndex]: change.rowIndex,
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.Cells]: {
                            [json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.CellIndex]: change.cellIndex
                        },
                    },
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.RemoveTableCell, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellInserted: {
                const params = {
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.TablePosition]: JSONTableHelper.tablePositionToJSON(change.table),
                    [json_table_enums/* JSONEnumClientTableInfo */.yP.Rows]: {
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowIndex]: change.rowIndex,
                        [json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.Cells]: JSONTableHelper.getJSONTableCell(change.table.rows[change.rowIndex].cells[change.cellIndex], change.cellIndex),
                    },
                };
                this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(command_type/* CommandType */.w.InsertTableCell, change.subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
                break;
            }
            case changes_enums/* ModelChangeType */.f.DocumentProtectionChanged: {
                break;
            }
            case changes_enums/* ModelChangeType */.f.RangePermissionsChanged: {
                break;
            }
            case changes_enums/* ModelChangeType */.f.RangePermissionsPropertiesChanged: {
                break;
            }
        }
    }
    pushPropertyRequest(subDocumentId, property, newState, commandType) {
        const params = {
            [json_top_level_enums/* JSONPropertyStateBasedCommand */.qG.Property]: property,
            [json_top_level_enums/* JSONPropertyStateBasedCommand */.qG.State]: newState.toJSON(),
        };
        this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(commandType, subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
    }
    pushStateBasedRequestNew(subDocumentId, object, commandType) {
        const params = {
            [json_top_level_enums/* JSONPropertyStateBasedCommand */.qG.State]: object.toJSON()
        };
        this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(commandType, subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
    }
    pushStateBasedRequest(subDocumentId, newState, commandType) {
        const params = {
            [json_top_level_enums/* JSONPropertyStateBasedCommand */.qG.State]: newState.toJSON()
        };
        this.dispatcher.pushRequest(new command_request/* EditCommandRequest */.Q7(commandType, subDocumentId, params), new command_request/* RequestParams */.Kl(false, false, false));
    }
}
class JSONTableHelper {
    static tablePositionToJSON(table) {
        return JSONTableHelper.tablePositionToJSONCore(table.getStartPosition(), table.nestedLevel);
    }
    static tablePositionToJSONCore(startPosition, nestedLevel) {
        const param = {};
        param[json_table_enums/* JSONEnumClientTablePosition */.Ah.ParagraphStartPosition] = startPosition;
        param[json_table_enums/* JSONEnumClientTablePosition */.Ah.NestedLevel] = nestedLevel;
        return param;
    }
    static getJSONTableInfo(table) {
        const jsonTable = {};
        jsonTable[json_table_enums/* JSONEnumClientTableFormatting */.cL.TableProperties] = json_table_properties_converter/* JSONTablePropertiesConverter */.S.convertToJSON(table.properties);
        jsonTable[json_table_enums/* JSONEnumClientTableFormatting */.cL.PreferredWidth] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(table.preferredWidth);
        jsonTable[json_table_enums/* JSONEnumClientTableFormatting */.cL.LookTypes] = table.lookTypes;
        jsonTable[json_table_enums/* JSONEnumClientTableFormatting */.cL.StyleName] = table.style.styleName;
        return jsonTable;
    }
    static getJSONTableRows(table) {
        const jsonRows = [];
        for (let row of table.rows) {
            const jsonRow = {};
            jsonRow[json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.Cells] = JSONTableHelper.getJSONTableRowCells(row);
            jsonRow[json_table_row_enums/* JSONEnumClientTableRowInfo */.tC.RowInfo] = JSONTableHelper.getJSONTableRowInfo(row);
            jsonRows.push(jsonRow);
        }
        return jsonRows;
    }
    static getJSONTableRowInfo(row) {
        const jsonRowInfo = {};
        jsonRowInfo[json_table_row_enums/* JSONEnumClientTableRowFormatting */.ln.GridAfter] = row.gridAfter;
        jsonRowInfo[json_table_row_enums/* JSONEnumClientTableRowFormatting */.ln.GridBefore] = row.gridBefore;
        jsonRowInfo[json_table_row_enums/* JSONEnumClientTableRowFormatting */.ln.Height] = json_table_unit_converter/* JSONTableHeightUnitConverter */.d.convertToJSON(row.height);
        jsonRowInfo[json_table_row_enums/* JSONEnumClientTableRowFormatting */.ln.TableRowProperties] = json_table_row_properties_converter/* JSONTableRowPropertiesConverter */.Q.convertToJSON(row.properties);
        jsonRowInfo[json_table_row_enums/* JSONEnumClientTableRowFormatting */.ln.TablePropertiesException] = json_table_properties_converter/* JSONTablePropertiesConverter */.S.convertToJSON(row.tablePropertiesException);
        jsonRowInfo[json_table_row_enums/* JSONEnumClientTableRowFormatting */.ln.WidthBefore] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(row.widthBefore);
        jsonRowInfo[json_table_row_enums/* JSONEnumClientTableRowFormatting */.ln.WidthAfter] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(row.widthAfter);
        return jsonRowInfo;
    }
    static getJSONTableRowCells(row) {
        const jsonCells = [];
        for (let cell of row.cells)
            jsonCells.push(JSONTableHelper.getJSONTableCell(cell, -1));
        return jsonCells;
    }
    static getJSONTableCell(cell, cellIndex) {
        const jsonCell = {};
        if (cellIndex >= 0)
            jsonCell[json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.CellIndex] = cellIndex;
        jsonCell[json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.CellInfo] = JSONTableHelper.getJSONTableCellInfo(cell);
        jsonCell[json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.StartCellPosition] = cell.startParagraphPosition.value;
        jsonCell[json_table_cell_enums/* JSONEnumClientTableCellInfo */.Ds.EndCellPosition] = cell.endParagrapPosition.value;
        return jsonCell;
    }
    static getJSONTableCellInfo(cell) {
        const jsonCellInfo = {};
        jsonCellInfo[json_table_cell_enums/* JSONEnumClientTableCellFormatting */.Py.ColumnSpan] = cell.columnSpan;
        jsonCellInfo[json_table_cell_enums/* JSONEnumClientTableCellFormatting */.Py.CellProperties] = json_table_cell_properties_converter/* JSONTableCellPropertiesConverter */.U.convertToJSON(cell.properties);
        jsonCellInfo[json_table_cell_enums/* JSONEnumClientTableCellFormatting */.Py.PreferredWidth] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(cell.preferredWidth);
        jsonCellInfo[json_table_cell_enums/* JSONEnumClientTableCellFormatting */.Py.VerticalMerging] = cell.verticalMerging;
        return jsonCellInfo;
    }
}

;// CONCATENATED MODULE: ./src/aspx/aspx-rich-edit-core.ts










class AspxRichEditCore extends rich_edit_core/* RichEditCore */.N {
    constructor(owner, name, element, clientGuid, readOnly, barHolder, unitsType, rulerSettings, richOptions, viewsSettings, stringResources) {
        super(owner, name, element, clientGuid, readOnly, barHolder, unitsType, rulerSettings, richOptions, viewsSettings, stringResources);
        this.serverDispatcher = new server_dispatcher/* ServerDispatcher */.D(this);
    }
    createCommandManager() {
        return new AspxCommandManager(this);
    }
    createShortcutManager() {
        return new AspxShortcutManager(this.commandManager, this);
    }
    createFieldRequestManager() {
        return new FieldServerRequestManager(this.serverDispatcher);
    }
    createLoadingPanelManager() {
        return new AspxLoadingPanelManager(this.owner);
    }
    isClientMode() { return false; }
    createModelManager(richOptions) {
        return new model_manager/* ServerModelManager */.UU(null, richOptions, this);
    }
    createSpellChecker() {
        this.spellChecker = new AspxSpellChecker(this.serverDispatcher, this.selection, this.modelManager.richOptions.spellChecker);
    }
    initialize(sessionGuid, documentInfo, subDocumentsCounter, model, testMode = false) {
        super.initialize(sessionGuid, documentInfo, subDocumentsCounter, model, testMode);
        this.serverDispatcher.initialize(testMode);
        this.modelManager.modelManipulator.modelListeners.push(new ServerDispatcherModelChangesListener(this.serverDispatcher));
    }
    sendRequest(requestQueryString, viaInternalCallback) {
        this.owner.raiseBeginSynchronization();
        this.owner.sendRequest(requestQueryString, viaInternalCallback);
    }
    dispose() {
        if (this.isDisposed)
            return;
        this.serverDispatcher.dispose();
        this.serverDispatcher = null;
        super.dispose();
    }
    closeDocument() {
        this.serverDispatcher.reset();
        super.closeDocument();
    }
    getModifiedState() {
        if (this.serverDispatcher.saveInProgress())
            return json_top_level_enums/* IsModified */.sO.SaveInProgress;
        else if (this.serverDispatcher.wasModifiedOnServer)
            return json_top_level_enums/* IsModified */.sO.True;
        else
            return super.getModifiedState();
    }
}

;// CONCATENATED MODULE: ./src/aspx/bars/ui-changes-listener.ts
class AspxPublicUiChangesListener {
    beginUpdate() { }
    endUpdate() { }
    onUpdateUnlocked() { }
    modelChanged() { }
    NotifySelectionChanged() { }
    forceUpdate() { }
}

;// CONCATENATED MODULE: ./src/aspx/bars/bar-holder.ts

class AspxBarHolder {
    constructor(ribbon, contextMenu) {
        this.ribbon = ribbon;
        this.contextMenu = contextMenu;
        this.publicUiChangesListener = new AspxPublicUiChangesListener();
    }
    initialize(core) {
        var _a;
        (_a = this.ribbon) === null || _a === void 0 ? void 0 : _a.initialize(core);
        this.contextMenu.initialize(core);
    }
    updateItemsState(queryCommands) {
        var _a;
        (_a = this.ribbon) === null || _a === void 0 ? void 0 : _a.updateItemsState(queryCommands);
        this.contextMenu.updateItemsState(queryCommands);
    }
    setEnabled(value) {
        var _a;
        (_a = this.ribbon) === null || _a === void 0 ? void 0 : _a.setEnabled(value);
        this.contextMenu.setEnabled(value);
    }
    forceUpdate(queryCommands) {
        var _a;
        (_a = this.ribbon) === null || _a === void 0 ? void 0 : _a.forceUpdate(queryCommands);
        this.contextMenu.forceUpdate(queryCommands);
        this.horizontalRuler.forceUpdate(queryCommands);
    }
    enableUpdate(value) {
        if (this.ribbon)
            this.ribbon.updateEnabled = value;
        this.contextMenu.updateEnabled = value;
        this.horizontalRuler.updateEnabled = value;
    }
}

// EXTERNAL MODULE: ./src/aspx/bars/context-menu.ts + 1 modules
var context_menu = __webpack_require__(5364);
// EXTERNAL MODULE: ./src/common/bars/base.ts
var bars_base = __webpack_require__(5398);
;// CONCATENATED MODULE: ./src/common/bars/ribbon.ts




var RibbonEventType;
(function (RibbonEventType) {
    RibbonEventType[RibbonEventType["None"] = 0] = "None";
    RibbonEventType[RibbonEventType["FullReset"] = 1] = "FullReset";
    RibbonEventType[RibbonEventType["CheckSelectionChange"] = 2] = "CheckSelectionChange";
    RibbonEventType[RibbonEventType["ActivateHeaderFooter"] = 4] = "ActivateHeaderFooter";
})(RibbonEventType || (RibbonEventType = {}));
class RibbonBarBase extends bars_base/* BarBase */.J {
    constructor() {
        super(...arguments);
        this.selection = null;
    }
    updateContextItem(commandKey) {
        const command = this.core.commandManager.getCommand(commandKey);
        if (command)
            this.setContextItemVisible(commandKey, command.getState().visible);
    }
    forceUpdate(queryCommands) {
        if (this.isUpdateLocked())
            this.registerOccurredEvent(RibbonEventType.FullReset);
        else
            this.updateItemsState(queryCommands);
    }
    checkActivateHeaderFooter(selection) {
        return selection.prevState.intervalsInfo.subDocument != selection.currState.intervalsInfo.subDocument &&
            selection.currState.intervalsInfo.subDocument.isHeaderFooter();
    }
    activateHeaderFooter() {
        this.setContextItemVisible(client_command/* RichEditClientCommand */.f.ContextItem_HeadersFooters, true);
        this.activateContextItem(client_command/* RichEditClientCommand */.f.ContextItem_HeadersFooters);
    }
    onUpdateUnlocked(occurredEvents) {
        this.applyEvent(occurredEvents);
    }
    modelChanged(change) {
        const occurredEvents = this.getModelChangeEvent(change);
        if (this.isUpdateLocked())
            this.registerOccurredEvent(occurredEvents);
        else
            this.applyEvent(occurredEvents);
    }
    NotifySelectionChanged(selection) {
        this.selection = selection;
        if (this.isUpdateLocked())
            this.registerOccurredEvent(RibbonEventType.CheckSelectionChange);
        else
            this.applyEvent(this.getSelectionChangeEvent());
    }
    applyEvent(occurredEvents) {
        if (!this.updateEnabled)
            return;
        const flag = new class_flag.Flag(occurredEvents);
        if (flag.get(RibbonEventType.CheckSelectionChange))
            flag.add(this.getSelectionChangeEvent());
        if (flag.get(RibbonEventType.ActivateHeaderFooter))
            this.activateHeaderFooter();
        if (flag.get(RibbonEventType.FullReset))
            this.updateItemsState();
    }
    getSelectionChangeEvent() {
        const flag = new class_flag.Flag(RibbonEventType.None);
        if (!this.selection || this.selection.shouldResetInputPosition())
            flag.set(RibbonEventType.FullReset, true);
        if (this.selection && this.checkActivateHeaderFooter(this.selection)) {
            flag.set(RibbonEventType.ActivateHeaderFooter, true);
            flag.set(RibbonEventType.FullReset, true);
        }
        return flag.getValue();
    }
    getModelChangeEvent(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.DifferentOddAndEvenPages:
            case changes_enums/* ModelChangeType */.f.PageColor:
            case changes_enums/* ModelChangeType */.f.DefaultTabWidth:
            case changes_enums/* ModelChangeType */.f.HeaderFooterCreated:
            case changes_enums/* ModelChangeType */.f.HeaderFooterIndexChanged:
                return RibbonEventType.None;
            case changes_enums/* ModelChangeType */.f.LoadFontInfo:
                return RibbonEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.SectionFormattingChanged:
                return RibbonEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.CreateStyleLink:
            case changes_enums/* ModelChangeType */.f.DeleteStyleLink:
                return RibbonEventType.None;
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListAdded:
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.NumberingListAdded:
            case changes_enums/* ModelChangeType */.f.NumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.ListLevelPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged:
            case changes_enums/* ModelChangeType */.f.IOverrideListLevelChanged:
                return RibbonEventType.None;
            case changes_enums/* ModelChangeType */.f.BookmarkCreated:
            case changes_enums/* ModelChangeType */.f.BookmarkDeleted:
                return RibbonEventType.None;
            case changes_enums/* ModelChangeType */.f.TabInserted:
            case changes_enums/* ModelChangeType */.f.TabDeleted:
                return RibbonEventType.None;
            case changes_enums/* ModelChangeType */.f.LoadPicturesInfo:
            case changes_enums/* ModelChangeType */.f.InlinePicturesUpdated:
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureSizeChanged:
            case changes_enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged:
                return RibbonEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.FieldInserted:
            case changes_enums/* ModelChangeType */.f.FieldDeleted:
            case changes_enums/* ModelChangeType */.f.HyperlinkInfoChanged:
            case changes_enums/* ModelChangeType */.f.FieldsShowCodeChanged:
                return RibbonEventType.None;
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted:
            case changes_enums/* ModelChangeType */.f.TextBufferChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphInserted:
            case changes_enums/* ModelChangeType */.f.SectionInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted:
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved:
            case changes_enums/* ModelChangeType */.f.IntervalRemoved:
            case changes_enums/* ModelChangeType */.f.ParagraphMerged:
            case changes_enums/* ModelChangeType */.f.SectionMerged:
                return RibbonEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.CharacterFormattingChanged:
            case changes_enums/* ModelChangeType */.f.CharacterPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphFormattingChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphAndCharacterMergedPropertiesReset:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.AnchorInfoPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ShapeChanged:
            case changes_enums/* ModelChangeType */.f.ShapePropertyChanged:
            case changes_enums/* ModelChangeType */.f.CharacterStyleApplied:
            case changes_enums/* ModelChangeType */.f.ParagraphStyleApplied:
            case changes_enums/* ModelChangeType */.f.TableStyleChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphNumberingListChanged:
                return RibbonEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.TableCreated:
            case changes_enums/* ModelChangeType */.f.TableRemoved:
            case changes_enums/* ModelChangeType */.f.TableStartPositionShifted:
            case changes_enums/* ModelChangeType */.f.TableCellPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TablePropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableRowPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableCellSplittedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableCellMergedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableRowInserted:
            case changes_enums/* ModelChangeType */.f.TableRowRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellInserted:
                return RibbonEventType.FullReset;
            default:
                return RibbonEventType.None;
        }
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/encode.js
var encode = __webpack_require__(9712);
;// CONCATENATED MODULE: ./src/aspx/bars/ribbon.ts








class AspxRibbonBar extends RibbonBarBase {
    constructor(owner, control) {
        super(owner);
        this.cache = {};
        this.visibility = ASPxClientRibbonState.Normal;
        this.specificOwner = owner;
        this.control = control;
        this.visibility = ASPxClientRibbonState.Normal;
        this.contextTabs = null;
        this.attachEvents();
    }
    getItem(key) {
        return this.control.GetItemByName(key);
    }
    setItemVisible(_key, _visible) { }
    getCommandKeys() {
        const activeTab = this.control.GetActiveTab();
        return activeTab ?
            number/* NumberMapUtils */.j.toListBy(this.getItemsCache(activeTab.index), (_elem, key) => key) :
            [];
    }
    setItemSubItems(key, subItems) {
        var itemsCache = this.getItemsCache(this.control.GetActiveTab().index);
        var obj = [];
        if (parseInt(key) === client_command/* RichEditClientCommand */.f.ChangeStyle) {
            obj.push({ text: styles_manager/* StylesManager */.D.paragraphStylesGalleryTitle, items: [] });
            obj.push({ text: styles_manager/* StylesManager */.D.characterStylesGalleryTitle, items: [] });
            for (var i = 0, style; style = subItems[0][i]; i++) {
                var psDisplayText = "";
                for (var charIndex = 0, char; char = style.text[charIndex]; charIndex++)
                    psDisplayText += charIndex == 0 || style.text[charIndex - 1] == " " ? char.toUpperCase() : char;
                var styleName = encode.EncodeUtils.prepareTextForRequest(styles_manager/* StylesManager */.D.getStyleNameWithoutPrefix(style.value));
                obj[0].items.push({
                    text: rich_utils/* RichUtils */.i.specialCharacters.HiddenParagraphMark + " " + psDisplayText,
                    value: style.value,
                    image: { url: style.data ? rich_edit_owner_constants/* constants */._.Base64ImageDataUrl + style.data : this.specificOwner.getResourceUrl() + "&psimg=" + styleName }
                });
            }
            for (var i = 0, style; style = subItems[1][i]; i++) {
                var csDisplayText = "";
                for (var charIndex = 0, char; char = style.text[charIndex]; charIndex++)
                    csDisplayText += charIndex == 0 || style.text[charIndex - 1] == " " ? char.toUpperCase() : char;
                var styleName = encode.EncodeUtils.prepareTextForRequest(styles_manager/* StylesManager */.D.getStyleNameWithoutPrefix(style.value));
                obj[1].items.push({
                    text: csDisplayText,
                    value: style.value,
                    image: { url: style.data ? rich_edit_owner_constants/* constants */._.Base64ImageDataUrl + style.data : this.specificOwner.getResourceUrl() + "&csimg=" + styleName }
                });
            }
        }
        if (parseInt(key) === client_command/* RichEditClientCommand */.f.ApplyTableStyle) {
            obj.push({ text: styles_manager/* StylesManager */.D.tableStylesGalleryTitle, items: [] });
            for (var i = 0, style; style = subItems[i]; i++) {
                var tsDisplayText = "";
                for (var charIndex = 0, char; char = style.text[charIndex]; charIndex++)
                    tsDisplayText += charIndex == 0 || style.text[charIndex - 1] == " " ? char.toUpperCase() : char;
                var styleName = encode.EncodeUtils.prepareTextForRequest(style.value);
                obj[0].items.push({
                    text: tsDisplayText,
                    value: style.value,
                    image: { url: style.data ? rich_edit_owner_constants/* constants */._.Base64ImageDataUrl + style.data : this.specificOwner.getResourceUrl() + "&tsimg=" + styleName }
                });
            }
        }
        if (obj.length) {
            for (var i = 0, item; item = itemsCache[key][i]; i++) {
                var prevValue = item["aspxricheditsubitems"];
                if (!prevValue || this.areSubItemsChanged(prevValue, obj)) {
                    item["aspxricheditsubitems"] = obj;
                    item.setItems(obj);
                }
            }
        }
    }
    areSubItemsChanged(oldItems, newItems) {
        if (oldItems.length !== newItems.length)
            return true;
        for (var i = oldItems.length - 1; i >= 0; i--) {
            var oldGroup = oldItems[i], newGroup = newItems[i];
            if (oldGroup.text !== newGroup.text)
                return true;
            if (oldGroup.items.length !== newGroup.items.length)
                return true;
            for (var j = newGroup.items.length - 1; j >= 0; j--) {
                var oldItem = oldGroup.items[j];
                var newItem = newGroup.items[j];
                if (oldItem.value !== newItem.value)
                    return true;
                if (oldItem.text !== newItem.text)
                    return true;
            }
        }
        return false;
    }
    setItemValue(key, value) {
        var itemsCache = this.getItemsCache(this.control.GetActiveTab().index);
        for (var i = 0, item; item = itemsCache[key][i]; i++)
            item.SetValue(value);
    }
    setItemEnabled(key, enabled) {
        var itemsCache = this.getItemsCache(this.control.GetActiveTab().index);
        for (var i = 0, item; item = itemsCache[key][i]; i++) {
            item.SetEnabled(enabled);
            if (!enabled && key == client_command/* RichEditClientCommand */.f.ChangeFontName) {
                var itemEditor = item.getEditor();
                if (itemEditor.focused)
                    ASPx.ESLostFocus(itemEditor.name);
            }
        }
    }
    setEnabled(enabled) {
        this.control.SetEnabled(enabled);
    }
    onCanvasMouseDown() {
        if (this.control.GetItemByName(client_command/* RichEditClientCommand */.f.ChangeFontName) != null) {
            var fontNameComboBox = this.control.GetItemByName(client_command/* RichEditClientCommand */.f.ChangeFontName).getEditor();
            if (fontNameComboBox.HasChanges())
                fontNameComboBox.OnApplyChangesInternal();
        }
        if (this.control.GetItemByName(client_command/* RichEditClientCommand */.f.ChangeFontSize) != null) {
            var fontSizeComboBox = this.control.GetItemByName(client_command/* RichEditClientCommand */.f.ChangeFontSize).getEditor();
            if (fontSizeComboBox.HasChanges())
                fontSizeComboBox.OnApplyChangesInternal();
        }
    }
    getItemsCache(tabIndex) {
        if (!this.control["aspxricheditlink"]) {
            this.cache = {};
            this.control["aspxricheditlink"] = true;
        }
        if (!this.cache[tabIndex]) {
            this.cache[tabIndex] = {};
            var tab = this.control.GetTab(tabIndex);
            for (var i = 0, group; group = tab.groups[i]; i++) {
                this.ensureSubItemsCache(tabIndex, group);
            }
        }
        return this.cache[tabIndex];
    }
    ensureSubItemsCache(tabIndex, parentItem) {
        for (var i = 0, item; item = parentItem.items[i]; i++) {
            var key = parseInt(item.name);
            if (!isNaN(key) && client_command/* RichEditClientCommand */.f[key] !== undefined) {
                if (!this.cache[tabIndex][key])
                    this.cache[tabIndex][key] = [];
                this.cache[tabIndex][key].push(item);
            }
            if (item.items && item.items.length)
                this.ensureSubItemsCache(tabIndex, item);
        }
    }
    attachEvents() {
        this.control.CommandExecuted.AddHandler((_s, e) => {
            var activeElement = document.activeElement;
            if (activeElement && !dom.DomUtils.isInteractiveControl(activeElement))
                this.owner.Focus();
            this.raiseBarCommandExecuted(e.item.name, e.parameter);
        }, this.owner);
        this.control.MinimizationStateChanged.AddHandler((_s, e) => {
            this.visibility = e.ribbonState;
            if (e.ribbonState == ASPxClientRibbonState.TemporaryShown)
                this.updateItemsState();
            this.specificOwner.ribbonStateChanged();
        }, this.owner);
        this.control.DialogBoxLauncherClicked.AddHandler((_s, e) => { this.raiseBarCommandExecuted(e.group.name, null); }, this.owner);
        this.control.ActiveTabChanged.AddHandler((_s, _e) => { this.updateItemsState(); }, this.owner);
        this.control.KeyTipsClosedOnEscape.AddHandler((_s, _e) => { this.owner.Focus(); }, this.owner);
    }
    detachEvents() {
        this.control.CommandExecuted.removeHandlerByControlName(this.owner.name);
        this.control.MinimizationStateChanged.removeHandlerByControlName(this.owner.name);
        this.control.DialogBoxLauncherClicked.removeHandlerByControlName(this.owner.name);
        this.control.ActiveTabChanged.removeHandlerByControlName(this.owner.name);
        this.control.KeyTipsClosedOnEscape.removeHandlerByControlName(this.owner.name);
    }
    hasContextItems() {
        return true;
    }
    getContextKeys() {
        if (!this.contextTabs) {
            this.contextTabs = [];
            for (var tab, i = 0; tab = this.control.tabs[i]; i++) {
                if (tab.isContext && tab.categoryName)
                    this.contextTabs.push(parseInt(tab.categoryName));
            }
        }
        return this.contextTabs;
    }
    setContextItemVisible(key, visible) {
        this.control.SetContextTabCategoryVisible(key, visible);
    }
    activateContextItem(key) {
        if (this.visibility === ASPxClientRibbonState.Minimized)
            return;
        for (var tab, i = 0; tab = this.control.tabs[i]; i++) {
            if (tab.isContext && tab.categoryName == key) {
                this.control.SetActiveTab(tab);
                break;
            }
        }
    }
    isRibbon() {
        return true;
    }
    activate() {
        this.control.ShowKeyTips();
    }
    updateItemsState(queryCommands) {
        if (this.control.enabled)
            super.updateItemsState(queryCommands);
    }
}

;// CONCATENATED MODULE: ./src/aspx/formatters-options.ts
class AspFormattersOptions {
    get twoDigitYearMax() { return ASPx.CultureInfo.twoDigitYearMax; }
    get ts() { return ASPx.CultureInfo.ts; }
    get ds() { return ASPx.CultureInfo.ds; }
    get am() { return ASPx.CultureInfo.am; }
    get pm() { return ASPx.CultureInfo.pm; }
    get monthNames() { return ASPx.CultureInfo.monthNames; }
    get genMonthNames() { return ASPx.CultureInfo.genMonthNames; }
    get abbrMonthNames() { return ASPx.CultureInfo.abbrMonthNames; }
    get abbrDayNames() { return ASPx.CultureInfo.abbrDayNames; }
    get dayNames() { return ASPx.CultureInfo.dayNames; }
    get shortTime() { return ASPx.CultureInfo.shortTime; }
    get longTime() { return ASPx.CultureInfo.longTime; }
    get shortDate() { return ASPx.CultureInfo.shortDate; }
    get longDate() { return ASPx.CultureInfo.longDate; }
    get monthDay() { return ASPx.CultureInfo.monthDay; }
    get yearMonth() { return ASPx.CultureInfo.yearMonth; }
    get numDecimalPoint() { return ASPx.CultureInfo.numDecimalPoint; }
    get numPrec() { return ASPx.CultureInfo.numPrec; }
    get numGroupSeparator() { return ASPx.CultureInfo.numGroupSeparator; }
    get numGroups() { return ASPx.CultureInfo.numGroups; }
    get numNegPattern() { return ASPx.CultureInfo.numNegPattern; }
    get numPosInf() { return ASPx.CultureInfo.numPosInf; }
    get numNegInf() { return ASPx.CultureInfo.numNegInf; }
    get numNan() { return ASPx.CultureInfo.numNan; }
    get currency() { return ASPx.CultureInfo.currency; }
    get currDecimalPoint() { return ASPx.CultureInfo.currDecimalPoint; }
    get currPrec() { return ASPx.CultureInfo.currPrec; }
    get currGroupSeparator() { return ASPx.CultureInfo.currGroupSeparator; }
    get currGroups() { return ASPx.CultureInfo.currGroups; }
    get currPosPattern() { return ASPx.CultureInfo.currPosPattern; }
    get currNegPattern() { return ASPx.CultureInfo.currNegPattern; }
    get percentPattern() { return ASPx.CultureInfo.percentPattern; }
    clone() {
        return new AspFormattersOptions();
    }
}

// EXTERNAL MODULE: ./src/aspx/ui/dialogs/utils/constants.ts
var utils_constants = __webpack_require__(8818);
;// CONCATENATED MODULE: ./src/common/rich-utils/display-numbering-string-formatter.ts
class DisplayNumberingStringFormatter {
    static format(str, items) {
        return str.replace(/{(\d+)}/g, (_match, index) => items[index] || '');
    }
}

// EXTERNAL MODULE: ./src/common/model/number-converters/number-converter-creator.ts + 12 modules
var number_converter_creator = __webpack_require__(5622);
// EXTERNAL MODULE: ./src/aspx/ui/dialogs/aspx-rich-edit-dialog.ts
var aspx_rich_edit_dialog = __webpack_require__(8792);
;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/numbering/re-numbering-list-dialog-base.ts





class RENumberingListDialogBase extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    onCancelButtonClick() {
        this.ShowNumberingListForm();
    }
    InitializeDialogFields(parameters) {
        this.parameters = parameters;
        this.UpdateForm();
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_BtnFont.Click.AddHandler(() => this.ShowServiceFontForm());
        dxreDialog_SpnAlignedAt.ValueChanged.AddHandler((_s) => {
            this.OnAlignedValueChanged();
        });
        dxreDialog_SpnIndentAt.ValueChanged.AddHandler((_s) => {
            this.OnIndentValueChanged();
        });
    }
    UpdateForm() {
    }
    GetFirstLineIndent() {
        var level = this.GetEditedLevel();
        if (level.firstLineIndentType == paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging)
            return level.leftIndent - level.firstLineIndent;
        return level.firstLineIndent + level.leftIndent;
    }
    GetEditedLevel() {
        return this.parameters.levels[this.GetEditedLevelIndex()];
    }
    UpdateNumberFormat() {
        const items = [];
        for (var i = 0; i <= this.GetEditedLevelIndex(); i++) {
            const currentLevel = this.parameters.levels[i];
            const converter = number_converter_creator/* NumberConverterCreator */.A.createConverter(currentLevel.format, this.richedit.core.modelManager.model.simpleFormattersManager);
            items[i] = converter.convertNumber(currentLevel.start);
        }
        const value = DisplayNumberingStringFormatter.format(this.GetEditedLevel().displayFormatString, items);
        this.SetNumberFormatValue(value);
    }
    OnAlignedValueChanged() {
        this.AssignIndentValues();
    }
    OnIndentValueChanged() {
        this.AssignIndentValues();
    }
    OnNumberFormatChanged() {
        var numberFormat = dxreDialog_TxbNumberFormat.GetValue();
        var resultFormat = "";
        for (var i = this.GetEditedLevelIndex(); i >= 0; i--) {
            var currentLevel = this.parameters.levels[i];
            var converter = number_converter_creator/* NumberConverterCreator */.A.createConverter(currentLevel.format, this.richedit.core.modelManager.model.simpleFormattersManager);
            var item = converter.convertNumber(currentLevel.start);
            var index = numberFormat.lastIndexOf(item);
            if (index != -1) {
                resultFormat = "{" + i + "}" + numberFormat.substring(index + item.length) + resultFormat;
                numberFormat = numberFormat.substring(0, index);
            }
        }
        this.GetEditedLevel().displayFormatString = resultFormat;
        this.UpdateNumberFormat();
    }
    OnNumberStyleChanged() {
        this.GetEditedLevel().format = dxreDialog_CbxNumberStyle.GetValue();
        this.UpdateNumberFormat();
    }
    OnStartAtChanged() {
        this.GetEditedLevel().start = dxreDialog_SpnStartAt.GetValue();
        this.UpdateNumberFormat();
    }
    OnNumberPositionChanged() {
        this.GetEditedLevel().alignment = dxreDialog_CbxNumberPosition.GetValue();
    }
    AssignIndentValues() {
        var alignValue = this.richedit.core.uiUnitConverter.UIToTwips(this.GetAlignedEditorValue());
        var indentValue = this.richedit.core.uiUnitConverter.UIToTwips(this.GetIndentEditorValue());
        var level = this.GetEditedLevel();
        level.leftIndent = indentValue;
        var probableFirstLineIndent = indentValue - alignValue;
        if (probableFirstLineIndent > 0) {
            level.firstLineIndentType = paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging;
            level.firstLineIndent = probableFirstLineIndent;
        }
        else if (probableFirstLineIndent < 0) {
            level.firstLineIndentType = paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented;
            level.firstLineIndent = -probableFirstLineIndent;
        }
        else {
            level.firstLineIndentType = paragraph_properties/* ParagraphFirstLineIndent */.Qi.None;
            level.firstLineIndent = 0;
        }
    }
    SetNumberFormatValue(value) {
        dxreDialog_TxbNumberFormat.SetValue(value);
    }
    GetAlignedEditorValue() {
        return dxreDialog_SpnAlignedAt.GetValue();
    }
    GetIndentEditorValue() {
        return dxreDialog_SpnIndentAt.GetValue();
    }
    GetEditedLevelIndex() {
        return this.parameters.currentLevel;
    }
    ShowNumberingListForm() {
        this.OnComplete(0);
        var clientCommand = client_command/* RichEditClientCommand */.f.ShowNumberingListForm;
        this.richedit.core.commandManager.getCommand(clientCommand).execute(this.richedit.core.commandManager.isPublicApiCall, this.parameters.initAbstractNumberingList);
    }
    ShowServiceFontForm() {
        this.ShowServiceForm(client_command/* RichEditClientCommand */.f.ShowServiceFontForm);
    }
    ShowServiceForm(clientCommand) {
        this.OnComplete(0);
        this.richedit.core.commandManager.getCommand(clientCommand).execute(this.richedit.core.commandManager.isPublicApiCall, this.parameters);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/numbering/re-bulleted-list-dialog.ts





class REBulletedListDialog extends RENumberingListDialogBase {
    attachEvents() {
        super.attachEvents();
        dxreDialog_BtnChar.Click.AddHandler(() => this.ShowServiceSymbolsForm());
        for (var i = 0; i < 6; i++) {
            var preset = this.GetPresetControl(i);
            preset.Click.AddHandler((s) => {
                this.OnPresetChecked(s);
            });
        }
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.CustomizeBulletedList;
    }
    UpdateForm() {
        dxreDialog_SpnIndentAt.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(this.GetEditedLevel().leftIndent));
        dxreDialog_SpnAlignedAt.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(this.GetFirstLineIndent()));
        this.UpdateBulletCharacters();
    }
    UpdateBulletCharacters() {
        var fontName = this.GetEditedLevel().fontName;
        var symbol = this.GetEditedLevel().displayFormatString;
        var symbolIndex = this.GetActiveSymbolIndex(symbol, fontName);
        if (symbolIndex == -1) {
            symbolIndex = 0;
            this.SetPresetSymbolProperties(symbolIndex, symbol, fontName);
        }
        this.GetPresetControl(symbolIndex).SetChecked(true);
    }
    GetActiveSymbolIndex(symbol, fontName) {
        for (var i = 0; i < 6; i++) {
            var preset = this.GetPresetControl(i);
            if (preset.GetText() == symbol && this.GetPresetFontName(preset) == fontName)
                return i;
        }
        return -1;
    }
    SetPresetSymbolProperties(index, symbol, fontName) {
        var preset = this.GetPresetControl(index);
        preset.SetText(symbol);
        preset.GetTextContainer().style.fontFamily = fontName;
    }
    OnPresetChecked(preset) {
        this.GetEditedLevel().fontName = this.GetPresetFontName(preset);
        this.GetEditedLevel().displayFormatString = preset.GetText();
    }
    GetPresetControl(index) {
        return window[utils_constants/* constants */._.BulletedPresetElementName + index];
    }
    GetPresetFontName(presetControl) {
        return dom.DomUtils.getCurrentStyle(presetControl.GetTextContainer()).fontFamily;
    }
    ShowServiceSymbolsForm() {
        this.ShowServiceForm(client_command/* RichEditClientCommand */.f.ShowServiceSymbolsForm);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/numbering/re-multi-level-numbering-list-dialog.ts



class REMultiLevelNumberingListDialog extends RENumberingListDialogBase {
    attachEvents() {
        super.attachEvents();
        dxreDialog_LbLevel.SelectedIndexChanged.AddHandler((s) => {
            this.SetEditedLevel(s.GetValue());
        });
        dxreDialog_TxbNumberFormat.LostFocus.AddHandler(() => this.OnNumberFormatChanged());
        dxreDialog_CbxNumberStyle.ValueChanged.AddHandler(() => this.OnNumberStyleChanged());
        dxreDialog_SpnStartAt.ValueChanged.AddHandler(() => this.OnStartAtChanged());
        dxreDialog_CbxNumberPosition.ValueChanged.AddHandler(() => this.OnNumberPositionChanged());
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.CustomizeOutlineNumbered;
    }
    UpdateForm() {
        dxreDialog_LbLevel.SetValue(this.parameters.currentLevel);
        var level = this.GetEditedLevel();
        dxreDialog_CbxNumberStyle.SetValue(level.format);
        dxreDialog_SpnStartAt.SetValue(level.start);
        dxreDialog_CbxNumberPosition.SetValue(level.alignment);
        dxreDialog_SpnIndentAt.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(level.leftIndent));
        dxreDialog_SpnAlignedAt.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(this.GetFirstLineIndent()));
        this.UpdateSeparator();
        this.UpdateNumberFormat();
    }
    UpdateSeparator() {
        var separator = this.GetEditedLevel().separator;
        var value = 2;
        switch (separator) {
            case rich_utils/* RichUtils */.i.specialCharacters.TabMark:
                value = 0;
                break;
            case ' ':
                value = 1;
                break;
        }
        dxreDialog_CbxFollowNumberWith.SetValue(value);
    }
    OnFollowNumberWithChanged() {
        this.GetEditedLevel().separator = dxreDialog_CbxFollowNumberWith.GetValue();
    }
    SetEditedLevel(value) {
        this.parameters.currentLevel = value;
        this.UpdateForm();
    }
    GetEditedLevelIndex() {
        return this.parameters.currentLevel;
    }
}

// EXTERNAL MODULE: ./src/aspx/ui/dialogs/numbering/dialog-list-box.ts
var dialog_list_box = __webpack_require__(7405);
// EXTERNAL MODULE: ./src/aspx/ui/dialogs/numbering/dialog-list-box-item.ts
var dialog_list_box_item = __webpack_require__(4983);
;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/numbering/numbering-list-box-item.ts





class NumberingListBoxItem extends dialog_list_box_item/* DialogListBoxItem */.R {
    GetElementWithContent() {
        return this.IsNoneItem() ? dialog_list_box_item/* DialogListBoxItem */.R.prototype.GetElementWithContent.apply(this) : this.GetPreview();
    }
    GetContent() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.OtherLabels.None;
    }
    HasEqualValue(abstractNumberingList) {
        var currentValue = this.GetValue();
        return abstractNumberingList !== null && currentValue !== null ? abstractNumberingList.externallyEquals(currentValue) : abstractNumberingList === currentValue;
    }
    IsNoneItem() {
        return this.GetValue() == null;
    }
    GetPreview() {
        var previewElement = ASPx.CreateHtmlElement();
        var previewHelper = new dialog_custom_numbering_list_command/* NumberingListFormPreviewHelper */.yA(this.richedit.core, this.GetValue(), this.owner.owner.parameters.currentLevel);
        var previewContentElement = previewHelper.createPreview();
        dom.DomUtils.addClassName(previewContentElement, utils_constants/* constants */._.NumberingListPreviewClass);
        previewElement.appendChild(previewContentElement);
        return previewElement;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/numbering/numbering-list-box.ts


class NumberingListBox extends dialog_list_box/* DialogListBox */.o {
    constructor(owner, id, mainElement) {
        super(owner, id, mainElement);
    }
    AddItem(value) {
        var item = new NumberingListBoxItem(this, this.itemsCount++, value);
        this.items[item.id] = item;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/numbering/re-numbering-list-dialog.ts








class RENumberingListDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.BulletedAndNumbering;
    }
    InitializeDialogFields(parameters) {
        this.FillAllowedListType();
        this.FillAbstractNumberingListsArray();
        this.InitializeTabs();
        this.SetSelectedList(parameters.selectedAbstractNumberingList);
    }
    InitializeTabs() {
        this.listBoxes = [];
        this.forEachListType((listType) => {
            this.InitializeListBoxes(listType);
            this.CreateItems(listType);
        });
        this.lastListType = this.GetActiveTabType();
        this.initializeTabsComplited = true;
    }
    SetSelectedList(selectedList) {
        if (selectedList) {
            var listType = selectedList.getListType();
            if (this.IsAllowedListType(listType)) {
                this.SetActiveTab(listType);
                this.GetListBox(listType).SetSelectedValue(selectedList);
            }
        }
        if (selectedList === null)
            this.GetListBox(this.lastListType).SetSelectedValue(null);
    }
    InitializeListBoxes(listType) {
        this.listBoxes[listType] = new NumberingListBox(this, "numbering" + listType, this.GetMainElementByListType(listType));
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_BtnCustomize.Click.AddHandler(() => this.ShowCustomizeListDialog());
        dxreDialog_NumberingListPageControl.ActiveTabChanged.AddHandler(() => this.OnActiveTabChanged());
    }
    CreateItems(listType) {
        var listBox = this.GetListBox(listType);
        listBox.AddItem(null);
        for (var i = 0, list; list = this.abstractNumberingLists[i]; i++)
            if (list.getListType() == listType)
                listBox.AddItem(list);
    }
    SetActiveTab(listType) {
        switch (listType) {
            case numbering_list/* NumberingType */.FB.Bullet:
                dxreDialog_NumberingListPageControl.SetActiveTabIndex(0);
                break;
            case numbering_list/* NumberingType */.FB.Simple:
                dxreDialog_NumberingListPageControl.SetActiveTabIndex(1);
                break;
            case numbering_list/* NumberingType */.FB.MultiLevel:
                dxreDialog_NumberingListPageControl.SetActiveTabIndex(2);
                break;
        }
        this.lastListType = listType;
    }
    FillAbstractNumberingListsArray() {
        this.abstractNumberingLists = [];
        if (this.parameters.selectedAbstractNumberingList)
            this.abstractNumberingLists.push(this.parameters.selectedAbstractNumberingList);
        this.FillListsArrayFromModel(this.richedit.core.modelManager.model.abstractNumberingLists);
        this.FillListsArrayFromModel(this.richedit.core.modelManager.model.abstractNumberingListTemplates);
    }
    FillListsArrayFromModel(abstractNumberingLists) {
        for (var i = 0, list; list = abstractNumberingLists[i]; i++)
            if (!this.IsArrayContainsListWithSameProperties(list))
                this.abstractNumberingLists.push(list);
    }
    IsArrayContainsListWithSameProperties(list) {
        var lvlIndex = this.parameters.currentLevel;
        for (var i = 0, currentList; currentList = this.abstractNumberingLists[i]; i++)
            if (list.getListType() == numbering_list/* NumberingType */.FB.MultiLevel) {
                if (currentList.externallyEquals(list))
                    return true;
            }
            else if (list.getListType() == currentList.getListType() && currentList.levels[lvlIndex].externallyEquals(list.levels[lvlIndex]))
                return true;
        return false;
    }
    OnValueChanged(value) {
        this.SetEnabledForCustomizeButton(!!value);
        this.SetEnabledForOkButton(true);
    }
    OnActiveTabChanged() {
        if (!this.initializeTabsComplited)
            return;
        var selectedIndex = this.GetListBox(this.lastListType).GetSelectedIndex();
        this.lastListType = this.GetActiveTabType();
        if (selectedIndex > -1) {
            var listBox = this.GetListBox(this.lastListType);
            var newIndex = Math.min(selectedIndex, listBox.itemsCount - 1);
            listBox.SetSelectedIndex(newIndex);
        }
    }
    SetEnabledForCustomizeButton(value) {
        dxreDialog_BtnCustomize.SetEnabled(value);
    }
    SetEnabledForOkButton(value) {
        dxreDialog_BtnOk.SetEnabled(value);
    }
    IsBulletedTabSelected() {
        return dxreDialog_NumberingListPageControl.GetActiveTabIndex() == 0;
    }
    GetActiveTabType() {
        var activeTabIndex = dxreDialog_NumberingListPageControl.GetActiveTabIndex();
        switch (activeTabIndex) {
            case 0:
                return numbering_list/* NumberingType */.FB.Bullet;
            case 1:
                return numbering_list/* NumberingType */.FB.Simple;
            case 2:
                return numbering_list/* NumberingType */.FB.MultiLevel;
        }
        return null;
    }
    GetListBox(listType) {
        return this.listBoxes[listType];
    }
    GetMainElementByListType(listType) {
        return ASPx.GetElementById(this.richedit.name + utils_constants/* constants */._.AbstractNumberingListElementID + listType);
    }
    GetFocusedElement() {
        return dxreDialog_BtnOk;
    }
    forEachListType(action) {
        for (var i = 0; i < this.allowedListTypes.length; i++)
            action(this.allowedListTypes[i]);
    }
    IsAllowedListType(listType) {
        return this.allowedListTypes.indexOf(listType) > -1;
    }
    FillAllowedListType() {
        this.allowedListTypes = [];
        const options = this.richedit.core.modelManager.richOptions.control;
        const defaultValue = control/* DocumentCapability */.e7.Default;
        const enabledValue = control/* DocumentCapability */.e7.Enabled;
        if (options.numberingBulleted == defaultValue || options.numberingBulleted == enabledValue)
            this.allowedListTypes.push(numbering_list/* NumberingType */.FB.Bullet);
        if (options.numberingSimple == defaultValue || options.numberingSimple == enabledValue)
            this.allowedListTypes.push(numbering_list/* NumberingType */.FB.Simple);
        if (options.numberingMultiLevel == defaultValue || options.numberingMultiLevel == enabledValue)
            this.allowedListTypes.push(numbering_list/* NumberingType */.FB.MultiLevel);
    }
    ShowCustomizeListDialog() {
        var clientCommand = client_command/* RichEditClientCommand */.f.ShowCustomNumberingListForm;
        var listBox = this.GetListBox(this.GetActiveTabType());
        var selectedAbstractList = listBox.GetValue();
        var params = new dialog_custom_numbering_list_command/* DialogCustomNumberingListParameters */.Fs();
        params.init(this.richedit.core.modelManager.model.colorProvider, selectedAbstractList, this.parameters.currentLevel);
        this.OnComplete(0);
        this.richedit.core.commandManager.getCommand(clientCommand).execute(this.richedit.core.commandManager.isPublicApiCall, params);
    }
    OnClose() {
        super.OnClose();
        this.initializeTabsComplited = false;
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.selectedAbstractNumberingList = this.GetListBox(this.GetActiveTabType()).GetValue();
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/numbering/re-simple-numbering-list-dialog.ts


class RESimpleNumberingListDialog extends RENumberingListDialogBase {
    attachEvents() {
        super.attachEvents();
        dxreDialog_TxbNumberFormat.LostFocus.AddHandler(() => this.OnNumberFormatChanged());
        dxreDialog_CbxNumberStyle.ValueChanged.AddHandler(() => this.OnNumberStyleChanged());
        dxreDialog_SpnStartAt.ValueChanged.AddHandler(() => this.OnStartAtChanged());
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.CustomizeNumberedList;
    }
    UpdateForm() {
        var level = this.GetEditedLevel();
        dxreDialog_CbxNumberStyle.SetValue(level.format);
        dxreDialog_SpnStartAt.SetValue(level.start);
        dxreDialog_CbxNumberPosition.SetValue(level.alignment);
        dxreDialog_SpnIndentAt.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(level.leftIndent));
        dxreDialog_SpnAlignedAt.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(this.GetFirstLineIndent()));
        this.UpdateNumberFormat();
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-alert-dialog.ts


class REAlertDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    InitializeDialogFields(parameters) {
        var text = ASPxClientRichEdit.ASPxRichEditDialogList.AlertTexts[parameters.messageTextId];
        dxreDialog_MessageText.SetValue(text);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        return returnedObject;
    }
}
class REErrorDialog extends REAlertDialog {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Error;
    }
}
class REInformationDialog extends REAlertDialog {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Information;
    }
}
class REWarningDialog extends REAlertDialog {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Warning;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-bookmarks-dialog.ts





class REBookmarksDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    constructor() {
        super(...arguments);
        this.newBookmarkName = "";
        this.sortByName = false;
        this.bookmarks = [];
        this.allowedEditBookmarks = true;
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Bookmark;
    }
    InitializeDialogFields(parameters) {
        this.clear();
        for (var i = 0, bookmark; bookmark = parameters.bookmarks[i]; i++) {
            bookmark.deleted = false;
            this.bookmarks.push(bookmark);
        }
        this.allowedEditBookmarks = parameters.allowedEditBookmarks;
        this.updateDataSource();
    }
    clear() {
        this.bookmarks = [];
        this.newBookmarkName = "";
    }
    GetFocusedElement() {
        if (dxreDialog_LsbBookmarkNames.GetItemCount() > 0)
            return dxreDialog_LsbBookmarkNames;
        return dxreDialog_TxbBookmarksName;
    }
    getDataSource() {
        var array = [];
        if (this.sortByName) {
            this.bookmarks = this.bookmarks.sort((b1, b2) => {
                if (b1.name > b2.name)
                    return 1;
                else if (b1.name < b2.name)
                    return -1;
                return 0;
            });
        }
        else {
            this.bookmarks = this.bookmarks.sort((b1, b2) => {
                if (b1.start > b2.start)
                    return 1;
                else if (b1.start < b2.start)
                    return -1;
                return 0;
            });
        }
        for (var i = 0, bookmark; bookmark = this.bookmarks[i]; i++)
            if (!bookmark.deleted)
                array.push(bookmark.name);
        return array;
    }
    updateDataSource() {
        dxreDialog_LsbBookmarkNames.ClearItems();
        var dataSource = this.getDataSource();
        for (var i = 0, name; name = dataSource[i]; i++)
            dxreDialog_LsbBookmarkNames.AddItem(name);
        var lastIndex = dxreDialog_LsbBookmarkNames.GetItemCount() - 1;
        if (lastIndex > -1) {
            dxreDialog_LsbBookmarkNames.SetSelectedIndex(lastIndex);
            dxreDialog_TxbBookmarksName.SetValue(dxreDialog_LsbBookmarkNames.GetValue());
        }
        var isValidName = this.getIsValidBookmarkName(dxreDialog_TxbBookmarksName.GetText());
        this.updateEnableState(isValidName);
    }
    updateEnableState(enable) {
        dxreDialog_BtnAdd.SetEnabled(enable && this.allowedEditBookmarks);
        var listEnable = false;
        var bookmarkName = dxreDialog_TxbBookmarksName.GetText();
        for (var i = 0, listItem; listItem = dxreDialog_LsbBookmarkNames.GetItem(i); i++)
            if (bookmarkName == listItem.value) {
                listEnable = true;
                break;
            }
        dxreDialog_BtnDelete.SetEnabled(listEnable && this.parameters.allowedEditBookmarks);
        dxreDialog_BtnGoTo.SetEnabled(listEnable);
    }
    getIsValidBookmarkName(name) {
        return model_bookmarks/* Bookmark */.rp.isValidName(name, false);
    }
    onBookmarkNameTextBoxValidation(_s, e) {
        var isValid = this.getIsValidBookmarkName(e.value);
        e.isValid = isValid;
        this.updateEnableState(isValid);
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_TxbBookmarksName.Validation.AddHandler((s, e) => { this.onBookmarkNameTextBoxValidation(s, e); });
        dxreDialog_TxbBookmarksName.KeyUp.AddHandler((s, _e) => { s.Validate(); });
        dxreDialog_TxbBookmarksName.KeyDown.AddHandler((_s, e) => {
            if (key/* KeyUtils */.LN.getEventKeyCode(e.htmlEvent) === key/* KeyCode */.VD.Enter)
                this.onBtnAddClick();
        });
        dxreDialog_BtnAdd.Click.AddHandler(() => { this.onBtnAddClick(); });
        dxreDialog_BtnDelete.Click.AddHandler(() => { this.onBtnDeleteClick(); });
        dxreDialog_BtnCancel.Click.AddHandler(() => { this.OnComplete(1); });
        dxreDialog_RblSortBy.ValueChanged.AddHandler((s, e) => { this.onRblSortByValueChanged(s, e); });
        dxreDialog_BtnGoTo.Click.AddHandler(() => { this.onBtnGoToClick(); });
    }
    onBtnGoToClick() {
        var name = dxreDialog_LsbBookmarkNames.GetValue();
        this.richedit.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.GoToBookmark)
            .execute(this.richedit.core.commandManager.isPublicApiCall, name);
    }
    onRblSortByValueChanged(s, _e) {
        this.sortByName = !!!s.GetValue();
        this.updateDataSource();
    }
    onBtnAddClick() {
        this.newBookmarkName = dxreDialog_TxbBookmarksName.GetValue();
        this.OnComplete(1);
    }
    onBtnDeleteClick() {
        var name = dxreDialog_LsbBookmarkNames.GetValue();
        for (var i = 0, bookmark; bookmark = this.bookmarks[i]; i++)
            if (bookmark.name == name)
                bookmark.deleted = true;
        this.updateDataSource();
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        var deletedBookmarkNames = [];
        for (var i = 0, bookmark; bookmark = this.bookmarks[i]; i++)
            if (bookmark.deleted)
                deletedBookmarkNames.push(bookmark.name);
        returnedObject.newBookmarkName = this.newBookmarkName;
        returnedObject.deletedBookmarkNames = deletedBookmarkNames;
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/table/table-border-preview-line.ts





class TableBorderPreviewLine {
    constructor(owner, borderInfo, line, controlLine, controlBtn) {
        this.owner = owner;
        this.borderInfo = borderInfo;
        this.line = line;
        this.controlLine = controlLine;
        this.controlBtn = controlBtn;
        this.borderToUpdate = dom.DomUtils.hasClassName(this.line, utils_constants/* constants */._.BorderVerticalLineClass) ? "borderRight" : "borderBottom";
        this.Initialize();
    }
    Initialize() {
        this.InitializeEventHandlers();
        this.controlBtn.mainElement.style.visibility = "visible";
        if (this.borderInfo !== null && this.borderInfo.style !== borders_enums/* BorderLineStyle */.u.None) {
            this.setLineElementColor();
            this.setLineElementStyle();
            this.setLineElementWidth();
            if (this.borderInfo.width > 0) {
                this.controlBtn.SetChecked(true);
            }
        }
    }
    InitializeEventHandlers() {
        ASPx.Evt.AttachEventToElement(this.controlLine, "click", () => {
            var borderInfo = this.owner.getBorderInfo();
            if (this.borderInfo !== null && this.borderInfo.equals(borderInfo))
                this.resetBorder();
            else
                this.setBorder(borderInfo);
            this.owner.correctLayout();
            this.owner.setMode(SetModeButtons.Custom);
        });
        this.controlBtn.Click.AddHandler((s) => {
            if (s.GetChecked())
                this.setBorder(this.owner.getBorderInfo());
            else
                this.resetBorder();
            this.owner.correctLayout();
            this.owner.setMode(SetModeButtons.Custom);
        });
    }
    setBorder(borderInfo) {
        if (!this.borderInfo)
            this.borderInfo = new DialogBorderInfo();
        if (this.borderInfo.color !== borderInfo.color) {
            this.borderInfo.color = borderInfo.color;
            this.setLineElementColor();
        }
        if (this.borderInfo.width !== borderInfo.width || this.borderInfo.style !== borderInfo.style) {
            if (this.borderInfo.width !== borderInfo.width) {
                this.borderInfo.width = borderInfo.width;
            }
            if (this.borderInfo.style !== borderInfo.style) {
                this.borderInfo.style = borderInfo.style;
                this.setLineElementStyle();
            }
            this.setLineElementWidth();
        }
        this.controlBtn.SetChecked(true);
    }
    resetBorder() {
        if (this.borderInfo) {
            this.borderInfo.width = 0;
            this.borderInfo.style = borders_enums/* BorderLineStyle */.u.None;
            this.line.style[this.borderToUpdate + "Width"] = 0;
            this.controlBtn.SetChecked(false);
        }
    }
    setLineElementColor() {
        this.line.style[this.borderToUpdate + "Color"] = this.borderInfo.color;
    }
    setLineElementStyle() {
        this.line.style[this.borderToUpdate + "Style"] = this.getBorderStyleForHtml(this.borderInfo.style);
    }
    setLineElementWidth() {
        var width = class_unit_converter/* UnitConverter */.u.pointsToPixels(this.borderInfo.width);
        width = ((width === 0) && (this.borderInfo.width > 0)) ? 1 : Math.floor(width);
        width = this.correctWidthDueToStyle(width);
        this.line.style[this.borderToUpdate + "Width"] = width + "px";
    }
    correctWidthDueToStyle(width) {
        switch (this.borderInfo.style) {
            case borders_enums/* BorderLineStyle */.u.Double:
                return width * 3;
            default:
                return width;
        }
    }
    getBorderStyleForHtml(style) {
        switch (style) {
            case borders_enums/* BorderLineStyle */.u.Dotted:
                return "dotted";
            case borders_enums/* BorderLineStyle */.u.Dashed:
                return "dashed";
            case borders_enums/* BorderLineStyle */.u.Double:
                return "double";
            default:
                return "solid";
        }
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/table/table-border-preview.ts





class TableBorderPreview {
    constructor(owner, container, horizontalInVisible, verticalInVisible) {
        this.owner = owner;
        this.container = container;
        this.verticalInVisible = verticalInVisible;
        this.horizontalInVisible = horizontalInVisible;
        this.mode = null;
        this.createPreview(container);
    }
    createPreview(container) {
        this.topBorder = this.createPreviewLine(container, utils_constants/* constants */._.BorderTopLineClass, true, this.owner.parameters.top, dxreDialog_BtnBorderTop);
        this.bottomBorder = this.createPreviewLine(container, utils_constants/* constants */._.BorderBottomLineClass, true, this.owner.parameters.bottom, dxreDialog_BtnBorderBottom);
        this.leftBorder = this.createPreviewLine(container, utils_constants/* constants */._.BorderLeftLineClass, false, this.owner.parameters.left, dxreDialog_BtnBorderLeft);
        this.rightBorder = this.createPreviewLine(container, utils_constants/* constants */._.BorderRightLineClass, false, this.owner.parameters.right, dxreDialog_BtnBorderRight);
        this.topLeftCell = this.createCellPreview(container, utils_constants/* constants */._.PreviewTopLeftCellClass);
        if (this.verticalInVisible) {
            this.verticalInBorder = this.createPreviewLine(container, utils_constants/* constants */._.BorderCenterLineClass, false, this.owner.parameters.insideVertical, dxreDialog_BtnBorderInsideVertical);
            this.topRightCell = this.createCellPreview(container, utils_constants/* constants */._.PreviewTopRightCellClass);
        }
        if (this.horizontalInVisible) {
            this.horizontalInBorder = this.createPreviewLine(container, utils_constants/* constants */._.BorderMiddleLineClass, true, this.owner.parameters.insideHorizontal, dxreDialog_BtnBorderInsideHorizontal);
            this.bottomLeftCell = this.createCellPreview(container, utils_constants/* constants */._.PreviewBottomLeftCellClass);
        }
        if (this.horizontalInVisible && this.verticalInVisible)
            this.bottomRightCell = this.createCellPreview(container, utils_constants/* constants */._.PreviewBottomRightCellClass);
        this.correctLayout();
    }
    createPreviewLine(container, cssClass, isHorizontalLine, borderInfo, controlBtn) {
        var line = ASPx.CreateHtmlElement();
        dom.DomUtils.addClassName(line, utils_constants/* constants */._.BorderLineClass);
        dom.DomUtils.addClassName(line, isHorizontalLine ? utils_constants/* constants */._.BorderHorizontalLineClass : utils_constants/* constants */._.BorderVerticalLineClass);
        dom.DomUtils.addClassName(line, cssClass);
        container.appendChild(line);
        var controlLine = ASPx.CreateHtmlElement();
        dom.DomUtils.addClassName(controlLine, utils_constants/* constants */._.BorderControlLineClass);
        dom.DomUtils.addClassName(controlLine, isHorizontalLine ? utils_constants/* constants */._.BorderHorizontalLineClass : utils_constants/* constants */._.BorderVerticalLineClass);
        dom.DomUtils.addClassName(controlLine, cssClass);
        container.appendChild(controlLine);
        return new TableBorderPreviewLine(this, borderInfo, line, controlLine, controlBtn);
    }
    createCellPreview(container, className) {
        var cell = ASPx.CreateHtmlElement();
        dom.DomUtils.addClassName(cell, utils_constants/* constants */._.PreviewCellClass);
        dom.DomUtils.addClassName(cell, className);
        container.appendChild(cell);
        this.createGrid(cell);
        return cell;
    }
    createGrid(element) {
        dom.DomUtils.clearInnerHtml(element);
        var height = dom.DomUtils.getClearClientHeight(element);
        var lineCount = Math.round(height / 8);
        for (var i = 0; i < lineCount; i++) {
            var terxtLine = ASPx.CreateHtmlElement();
            dom.DomUtils.addClassName(terxtLine, utils_constants/* constants */._.PreviewTextClass);
            element.appendChild(terxtLine);
            ASPx.SetOffsetHeight(terxtLine, 4);
            terxtLine.style.marginBottom = "4px";
        }
    }
    correctLayout() {
        var horizontalInBorderHeight = this.horizontalInVisible ? this.horizontalInBorder.line.offsetHeight : 0;
        var verticalInBorderWidth = this.verticalInVisible ? this.verticalInBorder.line.offsetWidth : 0;
        var halfWidth = this.container.offsetWidth / 2;
        var halfHeight = this.container.offsetHeight / 2;
        var leftColumntWidth = Math.round(halfWidth - ((verticalInBorderWidth / 2) + this.leftBorder.line.offsetWidth));
        var righColumntWidth = Math.round(halfWidth - ((verticalInBorderWidth / 2) + this.rightBorder.line.offsetWidth));
        var topRowHeight = Math.round(halfHeight - (this.topBorder.line.offsetHeight + (horizontalInBorderHeight / 2)));
        var bottomRowHeight = Math.round(halfHeight - (this.bottomBorder.line.offsetHeight + (horizontalInBorderHeight / 2)));
        ASPx.SetOffsetHeight(this.topLeftCell, this.horizontalInVisible ? topRowHeight : topRowHeight + bottomRowHeight);
        ASPx.SetOffsetWidth(this.topLeftCell, this.verticalInVisible ? leftColumntWidth : leftColumntWidth + righColumntWidth);
        this.topLeftCell.style.top = this.topBorder.line.offsetHeight + "px";
        this.topLeftCell.style.left = this.leftBorder.line.offsetWidth + "px";
        this.createGrid(this.topLeftCell);
        if (this.horizontalInVisible) {
            this.horizontalInBorder.line.style.top = Math.round(halfHeight - (horizontalInBorderHeight / 2)) + "px";
            ASPx.SetOffsetHeight(this.bottomLeftCell, bottomRowHeight);
            ASPx.SetOffsetWidth(this.bottomLeftCell, this.verticalInVisible ? leftColumntWidth : leftColumntWidth + righColumntWidth);
            this.bottomLeftCell.style.top = (halfHeight + Math.round(horizontalInBorderHeight / 2)) + "px";
            this.bottomLeftCell.style.left = this.leftBorder.line.offsetWidth + "px";
            this.createGrid(this.bottomLeftCell);
        }
        if (this.verticalInVisible) {
            this.verticalInBorder.line.style.left = Math.round(halfWidth - (verticalInBorderWidth / 2)) + "px";
            ASPx.SetOffsetHeight(this.topRightCell, this.horizontalInVisible ? topRowHeight : topRowHeight + bottomRowHeight);
            ASPx.SetOffsetWidth(this.topRightCell, righColumntWidth);
            this.topRightCell.style.top = this.topBorder.line.offsetHeight + "px";
            this.topRightCell.style.left = (halfWidth + Math.round(verticalInBorderWidth / 2)) + "px";
            this.createGrid(this.topRightCell);
        }
        if (this.verticalInVisible && this.horizontalInVisible) {
            ASPx.SetOffsetHeight(this.bottomRightCell, bottomRowHeight);
            ASPx.SetOffsetWidth(this.bottomRightCell, righColumntWidth);
            this.bottomRightCell.style.top = (halfHeight + Math.round(horizontalInBorderHeight / 2)) + "px";
            this.bottomRightCell.style.left = (halfWidth + Math.round(verticalInBorderWidth / 2)) + "px";
            this.createGrid(this.bottomRightCell);
        }
    }
    setMode(mode) {
        this.mode = mode;
        switch (mode) {
            case SetModeButtons.None:
                this.setModeCore(null, null, null, null, null, null);
                break;
            case SetModeButtons.All:
                var borderInfo = this.getBorderInfo();
                this.setModeCore(borderInfo, borderInfo, borderInfo, borderInfo, borderInfo, borderInfo);
                break;
            case SetModeButtons.Box:
                var borderInfo = this.getBorderInfo();
                this.setModeCore(borderInfo, borderInfo, borderInfo, borderInfo, null, null);
                break;
            case SetModeButtons.Grid:
                var borderInfo = this.getBorderInfo();
                var inBorderInfo = null;
                if (this.horizontalInVisible || this.verticalInVisible)
                    inBorderInfo = {
                        color: borderInfo.color,
                        style: table_commands/* BorderLineStyle */.uJ.Single,
                        width: BorderShadingDialogParameters.gridWidth
                    };
                this.setModeCore(borderInfo, borderInfo, borderInfo, borderInfo, inBorderInfo, inBorderInfo);
                break;
            case SetModeButtons.Custom:
                dxreDialog_BtnPresetCustom.SetChecked(true);
                break;
        }
        this.correctLayout();
    }
    setModeCore(topBorderInfo, rightBorderInfo, bottomBorderInfo, leftBorderInfo, horizontalInBorderInfo, verticalInBorderinfo) {
        if (topBorderInfo)
            this.topBorder.setBorder(topBorderInfo);
        else
            this.topBorder.resetBorder();
        if (rightBorderInfo)
            this.rightBorder.setBorder(rightBorderInfo);
        else
            this.rightBorder.resetBorder();
        if (bottomBorderInfo)
            this.bottomBorder.setBorder(bottomBorderInfo);
        else
            this.bottomBorder.resetBorder();
        if (leftBorderInfo)
            this.leftBorder.setBorder(leftBorderInfo);
        else
            this.leftBorder.resetBorder();
        if (this.horizontalInVisible)
            if (horizontalInBorderInfo)
                this.horizontalInBorder.setBorder(horizontalInBorderInfo);
            else
                this.horizontalInBorder.resetBorder();
        if (this.verticalInVisible)
            if (verticalInBorderinfo)
                this.verticalInBorder.setBorder(verticalInBorderinfo);
            else
                this.verticalInBorder.resetBorder();
    }
    getBorderInfo() {
        var borderInfo = {
            color: dxreDialog_CeBorderColor.GetValue(),
            style: dxreDialog_CmbBorderStyle.GetValue(),
            width: dxreDialog_CmbWidth.GetValue()
        };
        return borderInfo;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-border-shading-dialog.ts






class REBorderShadingDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.BorderShading;
    }
    InitializeDialogFields(parameters) {
        var previewContainer = this.GetBorderPreviewElement();
        this.tablePreview = new TableBorderPreview(this, previewContainer, parameters.borderLineHorizontalInVisible, parameters.borderLineVerticalInVisible);
        dxreDialog_CeFillColor.SetValue(parameters.backgroundColor);
        previewContainer.style.backgroundColor = parameters.backgroundColor;
        this.tablePreview.mode = parameters.setModeButton;
        switch (parameters.setModeButton) {
            case SetModeButtons.None:
                dxreDialog_BtnPresetNone.SetChecked(true);
                break;
            case SetModeButtons.Box:
                dxreDialog_BtnPresetBox.SetChecked(true);
                break;
            case SetModeButtons.All:
                dxreDialog_BtnPresetAll.SetChecked(true);
                break;
            case SetModeButtons.Grid:
                dxreDialog_BtnPresetGrid.SetChecked(true);
                break;
            default:
                dxreDialog_BtnPresetCustom.SetChecked(true);
        }
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_BtnPresetNone.Click.AddHandler(() => { this.tablePreview.setMode(SetModeButtons.None); });
        dxreDialog_BtnPresetBox.Click.AddHandler(() => { this.tablePreview.setMode(SetModeButtons.Box); });
        dxreDialog_BtnPresetAll.Click.AddHandler(() => { this.tablePreview.setMode(SetModeButtons.All); });
        dxreDialog_BtnPresetGrid.Click.AddHandler(() => { this.tablePreview.setMode(SetModeButtons.Grid); });
        dxreDialog_BtnPresetCustom.Click.AddHandler(() => { this.tablePreview.setMode(SetModeButtons.Custom); });
        dxreDialog_CeFillColor.ValueChanged.AddHandler((s) => {
            var previewElement = this.GetBorderPreviewElement();
            var backColor = s.GetValue();
            previewElement.style.backgroundColor = backColor == color_color/* ColorHelper */.v.NO_COLOR ? "" : backColor;
        });
        dxreDialog_CeBorderColor.ValueChanged.AddHandler(() => {
            this.updateBorder(this.tablePreview.mode);
        });
        dxreDialog_CmbWidth.ValueChanged.AddHandler(() => {
            this.updateBorder(this.tablePreview.mode);
        });
        dxreDialog_CmbBorderStyle.ValueChanged.AddHandler(() => {
            this.updateBorder(this.tablePreview.mode);
        });
    }
    updateBorder(mode) {
        this.tablePreview.setMode(mode);
    }
    GetBorderPreviewElement() {
        return ASPx.GetElementById(this.richedit.name + utils_constants/* constants */._.TableBorderPreviewElementID);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.backgroundColor = dxreDialog_CeFillColor.GetValue();
        returnedObject.top = this.tablePreview.topBorder.borderInfo;
        returnedObject.bottom = this.tablePreview.bottomBorder.borderInfo;
        returnedObject.right = this.tablePreview.rightBorder.borderInfo;
        returnedObject.left = this.tablePreview.leftBorder.borderInfo;
        if (this.parameters.borderLineHorizontalInVisible)
            returnedObject.insideHorizontal = this.tablePreview.horizontalInBorder.borderInfo;
        if (this.parameters.borderLineVerticalInVisible)
            returnedObject.insideVertical = this.tablePreview.verticalInBorder.borderInfo;
        return returnedObject;
    }
}

// EXTERNAL MODULE: ./src/aspx/ui/dialogs/utils/callback-helper.ts
var callback_helper = __webpack_require__(2155);
;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-columns-dialog.ts





class REColumnsDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    InitializeDialogFields(parameters) {
        this.currentColumnCount = 0;
        this.controller = new dialog_columns_command/* ColumnsEditorController */.hf(parameters);
        this.UpdateForm();
    }
    attachEvents() {
        super.attachEvents();
        for (var i = 0; i < this.controller.presets.length; i++) {
            var presetButton = this.GetPresetElement(i);
            presetButton.Click.AddHandler((s) => {
                this.OnColumnsPresetChecked(this.GetIndexByElementName(s.name));
            });
        }
        dxreDialog_SpnNumberOfColumns.ValueChanged.AddHandler((s) => {
            this.OnColumnsCountChanged(s.GetValue());
        });
        dxreDialog_ChkEqualWidth.CheckedChanged.AddHandler((s) => {
            this.OnEqualColumnWidthChanged(s.GetChecked());
        });
        dxreDialog_CbxApplyTo.ValueChanged.AddHandler((s) => {
            this.OnApplyTypeChanged(s.GetValue());
        });
    }
    initColumnsEditorHandlers() {
        for (var i = 0; i < this.currentColumnCount; i++) {
            var spacingSpinElement = this.GetSpacingSpinElement(i);
            var widthSpinElement = this.GetWidthSpinElement(i);
            spacingSpinElement.ValueChanged.AddHandler((s) => {
                this.OnColumnsEditorSpacingChanged(this.GetIndexByElementName(s.name), s.GetValue());
            });
            widthSpinElement.ValueChanged.AddHandler((s) => {
                this.OnColumnsEditorWidthChanged(this.GetIndexByElementName(s.name), s.GetValue());
            });
        }
    }
    GetFocusedElement() {
        return dxreDialog_SpnNumberOfColumns;
    }
    UpdateForm() {
        dxreDialog_SpnNumberOfColumns.SetValue(this.controller.columnsInfo.columnCount);
        dxreDialog_ChkEqualWidth.SetChecked(this.controller.columnsInfo.equalColumnWidth);
        dxreDialog_CbxApplyTo.SetValue(this.controller.columnsInfo.applyType);
        if (this.controller.columnsInfo.columnCount)
            this.UpdateColumnsEditor();
        this.UpdatePresetControls();
    }
    UpdateColumnsEditor() {
        if (this.currentColumnCount == this.controller.columnsInfo.columnCount)
            this.UpdateColumnsEditorFields();
        else {
            this.currentColumnCount = this.controller.columnsInfo.columnCount;
            this.SendCallbackForContent();
        }
    }
    UpdateColumnsEditorFields() {
        for (var i = 0, length = this.controller.columnsInfo.columnCount; i < length; i++) {
            var width = this.controller.getWidth(i);
            var spacing = this.controller.getSpacing(i);
            this.GetWidthSpinElement(i).SetValue(width);
            this.GetSpacingSpinElement(i).SetValue(spacing);
        }
        this.ApplyEditorsAvailability();
    }
    UpdatePresetControls() {
        var hasChecked = false;
        for (var i = 0; i < this.controller.presets.length; i++) {
            var checked = this.controller.matchPreset(i);
            if (checked) {
                hasChecked = true;
                this.GetPresetElement(i).SetChecked(true);
                break;
            }
        }
        if (!hasChecked)
            this.GetPresetElement(0).SetChecked(false);
    }
    SendCallbackForContent() {
        var columnCount = this.controller.columnsInfo.columnCount;
        this.ShowLoadingPanelOverDialogPopup();
        this.SetEnabledForColumnsCountControl(false);
        this.SetStateObjectValue(columnCount);
        this.GetColumnsEditorCallbackHelper().SendCallback(utils_constants/* constants */._.ColumnsEditorCallbackPrefix, columnCount);
    }
    SetStateObjectValue(value) {
        this.richedit.UpdateStateObjectWithObject({ columnsCount: value });
    }
    ApplyEditorsAvailability() {
        var lastIndex = this.controller.columnsInfo.columnCount - 1;
        this.SetEnableForColumnsEditors(0, lastIndex, false);
        if (this.controller.columnsInfo.equalColumnWidth && this.controller.columnsInfo.columnCount > 0)
            this.SetEnableForColumnsEditors(0, 0, true);
        else
            this.SetEnableForColumnsEditors(0, lastIndex, true);
        this.GetSpacingSpinElement(lastIndex).SetEnabled(false);
    }
    SetEnableForColumnsEditors(from, to, enabled) {
        for (var i = from; i <= to; i++) {
            this.GetWidthSpinElement(i).SetEnabled(enabled);
            this.GetSpacingSpinElement(i).SetEnabled(enabled);
        }
    }
    SetEnabledForColumnsCountControl(value) {
        dxreDialog_SpnNumberOfColumns.SetEnabled(value);
    }
    OnCallbackForContent(content) {
        ASPx.SetInnerHtml(this.GetColumnsEditorElement(), content);
    }
    OnEndCallbackForContent() {
        this.SetStateObjectValue(null);
        this.SetEnabledForColumnsCountControl(true);
        this.UpdateColumnsEditorFields();
        this.initColumnsEditorHandlers();
        this.SetFocusInField();
    }
    OnColumnsCountChanged(columnsCount) {
        this.controller.changeColumnCount(columnsCount);
        this.UpdateForm();
    }
    OnEqualColumnWidthChanged(value) {
        this.controller.setEqualColumnWidth(value);
        this.UpdateForm();
    }
    OnColumnsPresetChecked(presetIndex) {
        this.controller.applyPreset(presetIndex);
        this.UpdateForm();
    }
    OnColumnsEditorWidthChanged(index, value) {
        this.controller.setWidth(index, value);
        this.UpdateForm();
    }
    OnColumnsEditorSpacingChanged(index, value) {
        this.controller.setSpacing(index, value);
        this.UpdateForm();
    }
    OnApplyTypeChanged(value) {
        this.controller.columnsInfo.applyType = value;
    }
    GetColumnsEditorCallbackHelper() {
        if (!this.callbackHelper)
            this.callbackHelper = new callback_helper/* CallbackHelper */.s(this);
        return this.callbackHelper;
    }
    GetWidthSpinElement(index) {
        return window[utils_constants/* constants */._.WidthSpinElementName + index];
    }
    GetSpacingSpinElement(index) {
        return window[utils_constants/* constants */._.SpacingSpinElementName + index];
    }
    GetPresetElement(index) {
        return window[utils_constants/* constants */._.ColumnsPresetElementName + index];
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Columns;
    }
    GetColumnsEditorElement() {
        var item = dxreDialog_WidthSpacingLayout.GetItemByName("ColumnsEditor");
        var itemElement = dxreDialog_WidthSpacingLayout.GetHTMLElementByItem(item);
        return ASPx.GetChildElementNodes(itemElement)[0];
    }
    GetIndexByElementName(name) {
        var nameParts = name.split(" ");
        return parseInt(nameParts[nameParts.length - 1]);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.columnsInfo = this.controller.columnsInfo;
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-find-replace-dialog.ts









class REFindReplaceDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    Execute(ownerControl, parameters, callback, afterClosing, isModal) {
        ownerControl.hideQuickSearchPanel();
        super.Execute(ownerControl, parameters, callback, afterClosing, isModal);
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.FindReplace;
    }
    InitializeDialogFields(parameters) {
        this.controller = parameters.controller;
        this.resetSearchOnClose = true;
        this.controller.onChanged.add(this);
        if (this.controller.whatFind) {
            dxreDialog_TxbFind.SetValue(parameters.controller.whatFind);
            if (this.controller.foundIntervals.length)
                this.fillResults(this.controller.foundIntervals);
            else
                this.findAll();
        }
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_TxbFind.KeyUp.AddHandler((s, _e) => {
            clearTimeout(this.searchTimerId);
            if (s.GetValue() !== null)
                this.searchTimerId = setTimeout(() => {
                    this.findAll();
                }, 700);
            else {
                this.clearResults();
                this.controller.resetSearch();
            }
        });
        dxreDialog_ChkMatchCase.ValueChanged.AddHandler(() => { this.findAll(); });
        dxreDialog_LsbResult.ValueChanged.AddHandler(() => { this.goTo(); });
        dxreDialog_BtnReplace.Click.AddHandler(() => { this.replace(); });
        dxreDialog_BtnReplaceAll.Click.AddHandler(() => { this.replaceAll(); });
        dxreDialog_BtnNext.Click.AddHandler(() => { this.findNext(); });
        dxreDialog_BtnPrevious.Click.AddHandler(() => { this.findPrev(); });
        ASPx.Evt.AttachEventToElement(this.GetDialogPopup().GetWindowElement(-1), "keydown", (e) => {
            var shortcutCode = key/* KeyUtils */.LN.getShortcutCodeByEvent(e);
            if (shortcutCode === QuickSearchPanel.shortcuts.showDialog || shortcutCode === QuickSearchPanel.shortcuts.showPanel) {
                evt/* EvtUtils */.g.preventEvent(e);
                if (shortcutCode === QuickSearchPanel.shortcuts.showPanel) {
                    this.resetSearchOnClose = dxreDialog_ChkMatchCase.GetValue();
                    this.HideDialogPopup();
                    this.richedit.showQuickSearchPanel();
                }
            }
        });
    }
    GetFocusedElement() {
        return dxreDialog_TxbFind;
    }
    findNext() {
        var index = this.controller.findNextIntervalIndex();
        if (index !== null) {
            this.controller.selectIntervalByIndex(index);
            this.selectResult(index);
        }
    }
    findPrev() {
        var index = this.controller.findPrevIntervalIndex();
        if (index !== null) {
            this.controller.selectIntervalByIndex(index);
            this.selectResult(index);
        }
    }
    findAll() {
        if (dxreDialog_TxbFind.GetValue()) {
            this.controller.findAll(dxreDialog_TxbFind.GetValue(), dxreDialog_ChkMatchCase.GetValue());
            this.fillResults(this.controller.foundIntervals);
            var index = this.controller.findNextIntervalIndex();
            if (index !== null)
                this.controller.scrollToIntervalByIndex(index);
        }
    }
    replace() {
        var replaceWith = dxreDialog_TxbReplace.GetValue() || "";
        if (this.controller.replace(dxreDialog_TxbFind.GetValue(), replaceWith, dxreDialog_ChkMatchCase.GetValue()))
            this.findAll();
        this.findNext();
    }
    replaceAll() {
        var replacementCount = this.controller.foundIntervals.length;
        var replaceWith = dxreDialog_TxbReplace.GetValue() || "";
        this.ShowLoadingPanelOverDialogPopup();
        setTimeout(() => {
            this.controller.replaceAll(dxreDialog_TxbFind.GetValue(), replaceWith, dxreDialog_ChkMatchCase.GetValue());
            this.HideLoadingPanelOverDialogPopup();
            this.showReplaceInfo(replacementCount);
            this.findAll();
        }, 0);
    }
    goTo() {
        var index = dxreDialog_LsbResult.GetSelectedIndex();
        this.controller.selectIntervalByIndex(index);
        this.updateResultLabel(index);
    }
    SetEnabledForButton(enabled) {
        var readOnly = this.richedit.core.readOnly === i_rich_edit_core/* ReadOnlyMode */.F.Persistent;
        dxreDialog_BtnReplaceAll.SetEnabled(enabled && !readOnly);
        dxreDialog_BtnReplace.SetEnabled(enabled && !readOnly);
        dxreDialog_BtnNext.SetEnabled(enabled);
        dxreDialog_BtnPrevious.SetEnabled(enabled);
    }
    showReplaceInfo(value) {
        clearTimeout(this.replaceInfoTimer);
        var replaceInfoElement = this.getReplaceInfoElement();
        replaceInfoElement.children[0].innerHTML = ASPx.Str.ApplyReplacement(ASPxClientRichEdit.ASPxRichEditDialogList.OtherLabels.ReplaceAllNotify, [["{0}", value]]);
        replaceInfoElement.style.visibility = "visible";
        this.replaceInfoTimer = setTimeout(() => {
            ASPx.AnimationHelper.fadeOut(replaceInfoElement, () => {
                replaceInfoElement.style.visibility = "hidden";
                replaceInfoElement.style.opacity = '1';
            });
        }, 3000);
    }
    fillResults(foundIntervals) {
        this.clearResults();
        if (foundIntervals.length) {
            if (foundIntervals.length < 300) {
                foundIntervals.forEach((interval, index) => {
                    dxreDialog_LsbResult.AddItem(DialogFindReplaceCommand.getTextForResult(this.richedit.core, this.richedit.core.selection.activeSubDocument, interval), index);
                });
                dxreDialog_LsbResult.SetEnabled(true);
            }
            else {
                dxreDialog_LsbResult.AddItem(ASPxClientRichEdit.ASPxRichEditDialogList.OtherLabels.FindTooLongResult);
                dxreDialog_LsbResult.SetEnabled(false);
            }
            this.SetEnabledForButton(true);
        }
        else {
            if (dxreDialog_TxbFind.GetValue())
                dxreDialog_LsbResult.AddItem(ASPxClientRichEdit.ASPxRichEditDialogList.OtherLabels.FindNoResult);
            dxreDialog_LsbResult.SetEnabled(false);
        }
        this.updateResultLabel(-1);
    }
    clearResults() {
        dxreDialog_LsbResult.ClearItems();
        this.SetEnabledForButton(false);
        this.updateResultLabel(undefined);
    }
    selectResult(index) {
        if (dxreDialog_LsbResult.GetEnabled())
            dxreDialog_LsbResult.SetSelectedIndex(index);
        this.updateResultLabel(index);
    }
    updateResultLabel(index) {
        if (this.controller.foundIntervals.length) {
            var resultText = index >= 0 ?
                ASPx.Str.ApplyReplacement("{0} " + this.richedit.core.stringResources.quickSearchPanel.of + " {1}", [["{0}", index + 1], ["{1}", this.controller.foundIntervals.length]]) :
                this.richedit.core.stringResources.quickSearchPanel.items + ": " + this.controller.foundIntervals.length;
            this.getResultLabel().innerHTML = resultText;
            return;
        }
        dom.DomUtils.clearInnerHtml(this.getResultLabel());
    }
    getResultLabel() {
        return ASPx.GetElementById(this.richedit.name + utils_constants/* constants */._.SearchResultLabelID);
    }
    getReplaceInfoElement() {
        var replaceInfoItem = dxreDialog_FormLayout.GetItemByName("InfoBox");
        var replaceInfoElement = dxreDialog_FormLayout.GetHTMLElementByItem(replaceInfoItem).firstElementChild.firstElementChild;
        return replaceInfoElement;
    }
    NotifySearchReset() {
        this.clearResults();
    }
    OnClose() {
        super.OnClose();
        if (this.resetSearchOnClose)
            this.controller.resetSearch();
        this.controller.onChanged.remove(this);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-finish-and-merge-dialog.ts




class REFinishAndMergeDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.ExportRange;
    }
    InitializeDialogFields(parameters) {
        dxreDialog_RdBttnListSwitcher.SetValue(parameters.range);
        dxreDialog_SpnFrom.SetValue(parameters.exportFrom);
        dxreDialog_SpnCount.SetValue(parameters.exportRecordsCount);
        dxreDialog_CmbMergeMode.SetValue(parameters.mergeMode);
        this.toggleElements();
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_RdBttnListSwitcher.ValueChanged.AddHandler(() => this.toggleElements());
    }
    onOkButtonClick() {
        this.ShowSaveDialog();
    }
    ShowSaveDialog() {
        var clientCommand = client_command/* RichEditClientCommand */.f.ShowSaveMergedDocumentForm;
        var parameters = this.GetResultParameters();
        this.OnComplete(0);
        this.richedit.core.commandManager.getCommand(clientCommand).execute(this.richedit.core.commandManager.isPublicApiCall, parameters);
    }
    toggleElements() {
        var exportRange = this.GetExportRangeValue();
        dxreDialog_SpnFrom.SetEnabled(exportRange === MailMergeExportRange.Range);
        dxreDialog_SpnCount.SetEnabled(exportRange === MailMergeExportRange.Range);
        dxreDialog_CmbMergeMode.SetEnabled(exportRange !== MailMergeExportRange.CurrentRecord);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.range = this.GetExportRangeValue();
        returnedObject.exportFrom = dxreDialog_SpnFrom.GetValue();
        returnedObject.exportRecordsCount = dxreDialog_SpnCount.GetValue();
        returnedObject.mergeMode = dxreDialog_CmbMergeMode.GetValue();
        return returnedObject;
    }
    GetExportRangeValue() {
        return dxreDialog_RdBttnListSwitcher.GetValue();
    }
    setDialogSize(popupControl) {
        popupControl.SetMinWidth(215);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-font-dialog.ts



class REFontDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Font;
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_ChkSmallCaps.ValueChanged.AddHandler((_s, _e) => {
            this.OnSmallCapsValueChanged();
        });
        dxreDialog_ChkAllCaps.ValueChanged.AddHandler((_s, _e) => {
            this.OnAllCapsValueChanged();
        });
    }
    InitializeDialogFields(parameters) {
        dxreDialog_CbxFontName.SetText(parameters.fontName);
        dxreDialog_CbxFontStyle.SetValue(parameters.fontStyle);
        dxreDialog_CbxFontSize.SetValue(parameters.fontSize < 0 ? null : parameters.fontSize);
        dxreDialog_CeFontColor.SetValue(parameters.fontColor);
        dxreDialog_CbxUnderlineStyle.SetValue(parameters.fontUnderlineType);
        dxreDialog_RblStrikeout.SetValue(parameters.fontStrikeoutType);
        dxreDialog_CbUnderlineWordsOnly.SetValue(parameters.underlineWordsOnly);
        dxreDialog_RblSubscript.SetValue(parameters.script);
        dxreDialog_ChkAllCaps.SetValue(parameters.allCaps);
        dxreDialog_ChkSmallCaps.SetValue(parameters.smallCaps);
        dxreDialog_ChkHidden.SetValue(parameters.hidden);
        dxreDialog_CeUnderlineColor.SetValue(parameters.fontUnderlineColor);
    }
    GetFocusedElement() {
        return dxreDialog_CbxFontName;
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.fontName = dxreDialog_CbxFontName.GetValue();
        returnedObject.fontStyle = dxreDialog_CbxFontStyle.GetValue();
        returnedObject.fontSize = dxreDialog_CbxFontSize.GetValue() === null ? -1 : parseFloat(dxreDialog_CbxFontSize.GetValue());
        returnedObject.fontColor = dxreDialog_CeFontColor.GetValue();
        returnedObject.fontUnderlineType = dxreDialog_CbxUnderlineStyle.GetValue();
        returnedObject.fontStrikeoutType = dxreDialog_RblStrikeout.GetValue();
        returnedObject.underlineWordsOnly = dxreDialog_CbUnderlineWordsOnly.GetValue();
        returnedObject.script = dxreDialog_RblSubscript.GetValue();
        returnedObject.allCaps = dxreDialog_ChkAllCaps.GetValue();
        returnedObject.smallCaps = dxreDialog_ChkSmallCaps.GetValue();
        returnedObject.hidden = dxreDialog_ChkHidden.GetValue();
        returnedObject.fontUnderlineColor = dxreDialog_CeUnderlineColor.GetValue();
        return returnedObject;
    }
    isDialogValid() {
        var fontSizeValue = new RegExp(/^\d+(\.[05])?$/).test(dxreDialog_CbxFontSize.GetValue()) ? parseFloat(dxreDialog_CbxFontSize.GetValue()) : null;
        if (fontSizeValue === null || fontSizeValue < rich_utils/* RichUtils */.i.minFontSize || fontSizeValue > rich_utils/* RichUtils */.i.maxFontSize) {
            dxreDialog_CbxFontSize.isValid = false;
            dxreDialog_CbxFontSize.errorText = this.richedit.core.modelManager.model.simpleFormattersManager.formatString(dxreDialog_CbxFontSize.errorText, rich_utils/* RichUtils */.i.minFontSize, rich_utils/* RichUtils */.i.maxFontSize);
            dxreDialog_CbxFontSize.UpdateErrorFrameAndFocus(false, true);
            return false;
        }
        return true;
    }
    OnSmallCapsValueChanged() {
        if (dxreDialog_ChkSmallCaps.GetValue())
            dxreDialog_ChkAllCaps.SetValue(false);
    }
    OnAllCapsValueChanged() {
        if (dxreDialog_ChkAllCaps.GetValue())
            dxreDialog_ChkSmallCaps.SetValue(false);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-hyperlink-dialog.ts



var REHyperlinkDialogEnum = {
    WebPage: 0,
    Bookmarks: 1,
    Mail: 2
};
class REHyperlinkDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Hyperlink;
    }
    InitializeDialogFields(parameters) {
        this.ClearFilels();
        this.InitializeFields(parameters);
        this.SetLinkToValue(parameters);
        this.SetOkBtnEnabled();
        this.updateFieldsVisibility();
    }
    ClearFilels() {
        dxreDialog_TxbURL.SetValue("");
        dxreDialog_TxbEmailTo.SetValue("");
        dxreDialog_TxbSubject.SetValue("");
    }
    SetLinkToValue(parameters) {
        if (parameters.anchor)
            dxreDialog_RblLinkTo.SetValue(REHyperlinkDialogEnum.Bookmarks);
        else if (this.IsLinkMailTo(parameters.url))
            dxreDialog_RblLinkTo.SetValue(REHyperlinkDialogEnum.Mail);
        else
            dxreDialog_RblLinkTo.SetValue(REHyperlinkDialogEnum.WebPage);
    }
    InitializeFields(parameters) {
        this.InitializeBookmarksField(parameters);
        if (this.IsLinkMailTo(parameters.url))
            this.InitializeEmailFields(parameters.url);
        else
            this.InitializeUrlFields(parameters);
        if (parameters.canChangeDisplayText)
            dxreDialog_TxbText.SetValue(parameters.text);
        else
            dxreDialog_TxbText.SetEnabled(false);
        dxreDialog_TxbToolTip.SetValue(parameters.tooltip);
    }
    InitializeBookmarksField(parameters) {
        dxreDialog_CbBookmarkNames.Clear();
        for (var i = 0, name; name = parameters.bookmarkNames[i]; i++)
            dxreDialog_CbBookmarkNames.AddItem(name);
        if (parameters.anchor)
            dxreDialog_CbBookmarkNames.SetValue(parameters.anchor);
        else if (parameters.bookmarkNames.length)
            dxreDialog_CbBookmarkNames.SetValue(parameters.bookmarkNames[0]);
    }
    InitializeUrlFields(parameters) {
        dxreDialog_TxbURL.SetValue(parameters.url && !parameters.anchor ? parameters.url : utils_constants/* constants */._.DefaultLinkPrefix);
    }
    InitializeEmailFields(url) {
        var mailtoIndex = url.toLowerCase().indexOf(utils_constants/* constants */._.MailToPrefex), subjectIndex = url.toLowerCase().indexOf(utils_constants/* constants */._.SubjectPrefix), endIndex = subjectIndex > -1 ? subjectIndex : url.length, email = url.substring(mailtoIndex + utils_constants/* constants */._.MailToPrefex.length, endIndex);
        var subject = subjectIndex == -1 ? "" : unescape(url.substring(subjectIndex + utils_constants/* constants */._.SubjectPrefix.length));
        dxreDialog_TxbEmailTo.SetValue(email);
        dxreDialog_TxbSubject.SetValue(subject);
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_TxbURL.KeyUp.AddHandler(() => this.SetOkBtnEnabled());
        dxreDialog_TxbEmailTo.KeyUp.AddHandler(() => this.SetOkBtnEnabled());
        dxreDialog_RblLinkTo.ValueChanged.AddHandler(() => this.updateFieldsVisibility());
    }
    SetOkBtnEnabled() {
        var isEmail = this.IsActiveEmailForm();
        var value = isEmail ? dxreDialog_TxbEmailTo.GetText().length > 0 : dxreDialog_TxbURL.GetText().length > 0;
        dxreDialog_BtnOk.SetEnabled(value);
    }
    IsLinkMailTo(url) {
        return url.toLowerCase().indexOf(utils_constants/* constants */._.MailToPrefex) > -1;
    }
    IsActiveEmailForm() {
        return dxreDialog_RblLinkTo.GetValue() == REHyperlinkDialogEnum.Mail;
    }
    GetFocusedElement() {
        return this.IsActiveEmailForm() ? dxreDialog_TxbEmailTo : dxreDialog_TxbURL;
    }
    GetUrl() {
        var url = dxreDialog_TxbURL.GetText();
        if (this.IsActiveEmailForm()) {
            url = utils_constants/* constants */._.MailToPrefex + dxreDialog_TxbEmailTo.GetText();
            var subject = dxreDialog_TxbSubject.GetText();
            if (subject)
                url += utils_constants/* constants */._.SubjectPrefix + subject;
        }
        return url;
    }
    GetResultParameters() {
        var url = this.GetUrl(), text = dxreDialog_TxbText.GetText(), tooltip = dxreDialog_TxbToolTip.GetText(), anchor = dxreDialog_CbBookmarkNames.GetValue(), canChangeDisplayText = dxreDialog_TxbText.GetEnabled();
        var returnedObject = this.GetInitInfoObject();
        returnedObject.url = "";
        returnedObject.anchor = "";
        returnedObject.text = text;
        returnedObject.tooltip = tooltip;
        returnedObject.canChangeDisplayText = canChangeDisplayText;
        switch (dxreDialog_RblLinkTo.GetValue()) {
            case REHyperlinkDialogEnum.WebPage:
            case REHyperlinkDialogEnum.Mail:
                returnedObject.url = url;
                break;
            case REHyperlinkDialogEnum.Bookmarks:
                returnedObject.anchor = anchor;
                break;
        }
        return returnedObject;
    }
    isDialogValid() {
        if (typeof (dxreDialog_TxbEmailTo) != "undefined" && dxreDialog_TxbEmailTo.IsVisible())
            return ASPxClientEdit.ValidateGroup("_dxeTxbEmailToGroup");
        if (typeof (dxreDialog_TxbURL) != "undefined" && dxreDialog_TxbURL.IsVisible())
            return ASPxClientEdit.ValidateGroup("_dxeTxbURLGroup");
        return true;
    }
    updateFieldsVisibility() {
        var val = dxreDialog_RblLinkTo.GetValue();
        dxreDialog_FormLayout.GetItemByName("TxbURL").SetVisible(val == REHyperlinkDialogEnum.WebPage);
        dxreDialog_FormLayout.GetItemByName("CbBookmarkNames").SetVisible(val == REHyperlinkDialogEnum.Bookmarks);
        dxreDialog_FormLayout.GetItemByName("TxbEmailTo").SetVisible(val == REHyperlinkDialogEnum.Mail);
        dxreDialog_FormLayout.GetItemByName("TxbSubject").SetVisible(val == REHyperlinkDialogEnum.Mail);
    }
}

// EXTERNAL MODULE: ./src/aspx/ui/dialogs/re-insert-image-dialog.ts
var re_insert_image_dialog = __webpack_require__(6126);
;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-insert-merge-field-dialog.ts



class REInsertMergeFieldDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    OnInitComplete() {
        super.OnInitComplete();
        dxreDialog_LsbFields.AdjustControl();
        this.richedit.Focus();
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.InsertMergeField;
    }
    InitializeDialogFields() {
        this.fieldsList = [];
        this.lastSearchText = "";
        var fieldsCount = dxreDialog_LsbFields.GetItemCount();
        for (var i = 0; i < fieldsCount; i++) {
            var item = dxreDialog_LsbFields.GetItem(i);
            this.fieldsList.push({ text: item.text, value: item.value });
        }
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.fieldName = dxreDialog_LsbFields.GetValue();
        return returnedObject;
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_BtnInsert.Click.AddHandler(() => {
            this.DoCustomAction(true);
        });
        dxreDialog_LsbFields.ItemDoubleClick.AddHandler(() => {
            this.DoCustomAction(true);
        });
        dxreDialog_LsbFields.SelectedIndexChanged.AddHandler(() => {
            this.UpdateInsertButtonEnabled();
        });
        dxreDialog_TxbSearch.KeyUp.AddHandler((s, e) => {
            this.onTxbSearchKeyUp(s, e);
        });
        dxreDialog_TxbSearch.LostFocus.AddHandler(() => {
            this.toFilterOut();
        });
    }
    onTxbSearchKeyUp(_s, e) {
        if (key/* KeyUtils */.LN.getEventKeyCode(e.htmlEvent) === key/* KeyCode */.VD.Esc)
            this.DoCustomAction(false);
        else
            this.toFilterOut();
    }
    toFilterOut() {
        clearTimeout(this.timerId);
        this.timerId = setTimeout(() => {
            this.toFilterOutCore();
        }, 300);
    }
    toFilterOutCore() {
        var text = dxreDialog_TxbSearch.GetText().toUpperCase();
        if (text != this.lastSearchText) {
            this.lastSearchText = text;
            dxreDialog_LsbFields.ClearItems();
            for (var i = 0, item; item = this.fieldsList[i]; i++)
                if (text.length == 0 || item.text.toUpperCase().indexOf(text) > -1)
                    dxreDialog_LsbFields.AddItem(item.text, item.value);
            this.UpdateInsertButtonEnabled();
        }
    }
    UpdateInsertButtonEnabled() {
        dxreDialog_BtnInsert.SetEnabled(dxreDialog_LsbFields.GetSelectedIndex() >= 0);
    }
    GetFocusedElement() {
        return dxreDialog_TxbSearch;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-layout-options-dialog.ts





class RELayoutOptionsDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Layout;
    }
    InitializeDialogFields(parameters) {
        if (parameters.wrapType !== null)
            dxreDialog_LayoutPageControl.GetTab(0).SetEnabled(true);
        dxreDialog_SpnAbsoluteHeight.SetValue(parameters.absoluteHeight);
        dxreDialog_SpnAbsoluteWidth.SetValue(parameters.absoluteWidth);
        dxreDialog_SpnRotation.SetValue(parameters.rotation);
        dxreDialog_ChkScale.SetValue(parameters.lockAspectRatio);
        if (parameters.useAbsoluteWidth !== undefined) {
            this.setEnabledForAbsoluteHeight(parameters.useAbsoluteHeight);
            this.setEnabledForAbsoluteWidth(parameters.useAbsoluteWidth);
            dxreDialog_RbtAbsoluteHeight.SetValue(parameters.useAbsoluteHeight);
            dxreDialog_RbtAbsoluteWidth.SetValue(parameters.useAbsoluteWidth);
            dxreDialog_RbtRelativeHeight.SetValue(!parameters.useAbsoluteHeight);
            dxreDialog_RbtRelativeWidth.SetValue(!parameters.useAbsoluteWidth);
            dxreDialog_SpnRelativeHeight.SetValue(this.relativePercentToUI(parameters.relativeHeight));
            dxreDialog_SpnRelativeWidth.SetValue(this.relativePercentToUI(parameters.relativeWidth));
            dxreDialog_CbxHeightRelativTo.SetValue(parameters.relativeHeightType);
            dxreDialog_CbxWidthRelativTo.SetValue(parameters.relativeWidthType);
            dxreDialog_RbtRelativeHeight.SetEnabled(true);
            dxreDialog_RbtRelativeWidth.SetEnabled(true);
        }
        else {
            this.setEnabledForAbsoluteHeight(true);
            this.setEnabledForAbsoluteWidth(true);
            dxreDialog_RbtAbsoluteHeight.SetValue(true);
            dxreDialog_RbtAbsoluteWidth.SetValue(true);
            dxreDialog_LblOriginalWidth.SetValue(Math.round(parameters.originalWidth * 100) / 100);
            dxreDialog_LblOriginalHeight.SetValue(Math.round(parameters.originalHeight * 100) / 100);
            dxreDialog_BtnReset.SetEnabled(true);
        }
        dxreDialog_CbxHorizontalAlignment.SetValue(parameters.horizontalAligmentType === LayoutDialogAlignmentType.Alignment ?
            parameters.horizontalPositionAlignment : floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Left);
        dxreDialog_CbxHorizontalBookLayout.SetValue(parameters.horizontalAligmentType === LayoutDialogAlignmentType.BookLayout ?
            parameters.horizontalPositionAlignment : floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.Inside);
        dxreDialog_CbxHorizontalBookLayoutOf.SetValue(parameters.horizontalAligmentType === LayoutDialogAlignmentType.BookLayout ?
            parameters.horizontalPositionType : floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Margin);
        dxreDialog_CbxHorizontalAlignmentRelativeTo.SetValue(parameters.horizontalPositionType);
        dxreDialog_CbxHorizontalAbsToTheRightOf.SetValue(parameters.horizontalPositionType);
        dxreDialog_SpnHorizontalAbsPosition.SetValue(parameters.offsetX ? parameters.offsetX : 0);
        dxreDialog_CbxHorizontalRelPosRelativeTo.SetValue(dxreDialog_CbxHorizontalRelPosRelativeTo.FindItemByValue(parameters.horizontalPositionType) !== null ?
            parameters.horizontalPositionType : floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Page);
        dxreDialog_SpnHorizontalRelativePosition.SetValue(parameters.percentOffsetX ? this.relativePercentToUI(parameters.percentOffsetX) : 0);
        this.setEnabledForHorizontalAlignment(parameters.horizontalAligmentType);
        dxreDialog_CbxVerticalAlignment.SetValue(parameters.verticalAligmentType === LayoutDialogAlignmentType.Alignment ?
            parameters.verticalPositionAlignment : floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.Top);
        dxreDialog_CbxVerticalRelativTo.SetValue(dxreDialog_CbxVerticalRelativTo.FindItemByValue(parameters.verticalPositionType) !== null ?
            parameters.verticalPositionType : floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Page);
        dxreDialog_CbxVerticalBelow.SetValue(parameters.verticalPositionType);
        dxreDialog_SpnVerticalAbsPosition.SetValue(parameters.offsetY ? parameters.offsetY : 0);
        dxreDialog_CbxVerticalRelPosRelativeTo.SetValue(dxreDialog_CbxVerticalRelPosRelativeTo.FindItemByValue(parameters.verticalPositionType) !== null ?
            parameters.verticalPositionType : floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Page);
        dxreDialog_SpnVerticalRelativePosition.SetValue(parameters.percentOffsetY ? this.relativePercentToUI(parameters.percentOffsetY) : 0);
        this.setEnabledForVerticalAlignment(parameters.verticalAligmentType);
        dxreDialog_ChkLockAnchor.SetValue(parameters.locked);
        switch (parameters.horizontalAligmentType) {
            case LayoutDialogAlignmentType.Alignment:
                dxreDialog_RbtHorizontalAlignment.SetValue(true);
                break;
            case LayoutDialogAlignmentType.BookLayout:
                dxreDialog_RbtBookLayout.SetValue(true);
                break;
            case LayoutDialogAlignmentType.Absolute:
                dxreDialog_RbtHorizontalAbsPosition.SetValue(true);
                break;
            case LayoutDialogAlignmentType.Relative:
                dxreDialog_RbtHorizontalRelativePosition.SetValue(true);
                break;
        }
        switch (parameters.verticalAligmentType) {
            case LayoutDialogAlignmentType.Alignment:
                dxreDialog_RbtVerticalAlignment.SetValue(true);
                break;
            case LayoutDialogAlignmentType.Absolute:
                dxreDialog_RbtVerticalAbsPosition.SetValue(true);
                break;
            case LayoutDialogAlignmentType.Relative:
                dxreDialog_RbtVerticalRelativePosition.SetValue(true);
                break;
        }
        switch (parameters.wrapType) {
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.Square:
                dxreDialog_BtnPresetTextWrapSquare.SetChecked(true);
                break;
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.Tight:
                dxreDialog_BtnPresetTextWrapTight.SetChecked(true);
                break;
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.Through:
                dxreDialog_BtnPresetTextWrapThrough.SetChecked(true);
                break;
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.TopAndBottom:
                dxreDialog_BtnPresetTextWrapTopAndBottom.SetChecked(true);
                break;
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.None:
                if (parameters.isBehindDoc)
                    dxreDialog_BtnPresetTextWrapBehind.SetChecked(true);
                else
                    dxreDialog_BtnPresetTextWrapInFrontOfText.SetChecked(true);
                break;
            case null:
                dxreDialog_BtnPresetTextWrapInline.SetChecked(true);
                break;
        }
        this.setWrapType(parameters.wrapType, parameters.isBehindDoc);
        dxreDialog_RblWrapText.SetValue(parameters.wrapSide !== null ? parameters.wrapSide : 0);
        dxreDialog_SpnTop.SetValue(parameters.topDistance ? parameters.topDistance : 0);
        dxreDialog_SpnBottom.SetValue(parameters.bottomDistance ? parameters.bottomDistance : 0);
        dxreDialog_SpnRight.SetValue(parameters.rightDistance ? parameters.rightDistance : 0);
        dxreDialog_SpnLeft.SetValue(parameters.leftDistance ? parameters.leftDistance : 0);
        if (parameters.textBoxProperties) {
            dxreDialog_LayoutPageControl.GetTab(3).SetVisible(true);
            dxreDialog_SpnTopMargin.SetValue(parameters.textBoxProperties.topMargin);
            dxreDialog_SpnBottomMargin.SetValue(parameters.textBoxProperties.bottomMargin);
            dxreDialog_SpnRightMargin.SetValue(parameters.textBoxProperties.rightMargin);
            dxreDialog_SpnLeftMargin.SetValue(parameters.textBoxProperties.leftMargin);
        }
        else
            dxreDialog_LayoutPageControl.GetTab(3).SetVisible(false);
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_RbtHorizontalAbsPosition.CheckedChanged.AddHandler((_s) => {
            this.setEnabledForHorizontalAlignment(LayoutDialogAlignmentType.Absolute);
        });
        dxreDialog_RbtHorizontalAlignment.CheckedChanged.AddHandler((_s) => {
            this.setEnabledForHorizontalAlignment(LayoutDialogAlignmentType.Alignment);
        });
        dxreDialog_RbtBookLayout.CheckedChanged.AddHandler((_s) => {
            this.setEnabledForHorizontalAlignment(LayoutDialogAlignmentType.BookLayout);
        });
        dxreDialog_RbtHorizontalRelativePosition.CheckedChanged.AddHandler((_s) => {
            this.setEnabledForHorizontalAlignment(LayoutDialogAlignmentType.Relative);
        });
        dxreDialog_RbtVerticalAbsPosition.CheckedChanged.AddHandler((_s) => {
            this.setEnabledForVerticalAlignment(LayoutDialogAlignmentType.Absolute);
        });
        dxreDialog_RbtVerticalAlignment.CheckedChanged.AddHandler((_s) => {
            this.setEnabledForVerticalAlignment(LayoutDialogAlignmentType.Alignment);
        });
        dxreDialog_RbtVerticalRelativePosition.CheckedChanged.AddHandler((_s) => {
            this.setEnabledForVerticalAlignment(LayoutDialogAlignmentType.Relative);
        });
        dxreDialog_RbtRelativeHeight.CheckedChanged.AddHandler((s) => {
            this.setEnabledForAbsoluteHeight(!s.GetValue());
        });
        dxreDialog_RbtAbsoluteHeight.CheckedChanged.AddHandler((s) => {
            this.setEnabledForAbsoluteHeight(s.GetValue());
        });
        dxreDialog_RbtRelativeWidth.CheckedChanged.AddHandler((s) => {
            this.setEnabledForAbsoluteWidth(!s.GetValue());
        });
        dxreDialog_RbtAbsoluteWidth.CheckedChanged.AddHandler((s) => {
            this.setEnabledForAbsoluteWidth(s.GetValue());
        });
        dxreDialog_BtnReset.Click.AddHandler(() => {
            dxreDialog_SpnAbsoluteHeight.SetValue(dxreDialog_LblOriginalHeight.GetValue());
            dxreDialog_SpnAbsoluteWidth.SetValue(dxreDialog_LblOriginalWidth.GetValue());
        });
        dxreDialog_SpnAbsoluteWidth.ValueChanged.AddHandler(() => {
            if (dxreDialog_ChkScale.GetValue())
                this.lockAspectRationHeight();
        });
        dxreDialog_SpnAbsoluteHeight.ValueChanged.AddHandler(() => {
            if (dxreDialog_ChkScale.GetValue())
                this.lockAspectRationWidth();
        });
        dxreDialog_ChkScale.CheckedChanged.AddHandler((s) => {
            if (s.GetValue())
                this.lockAspectRationWidth();
        });
        dxreDialog_BtnPresetTextWrapInline.Click.AddHandler(() => { this.setWrapType(null, false); });
        dxreDialog_BtnPresetTextWrapSquare.Click.AddHandler(() => { this.setWrapType(floating_objects_enums/* AnchorObjectTextWrapType */.vX.Square, false); });
        dxreDialog_BtnPresetTextWrapTight.Click.AddHandler(() => { this.setWrapType(floating_objects_enums/* AnchorObjectTextWrapType */.vX.Tight, false); });
        dxreDialog_BtnPresetTextWrapThrough.Click.AddHandler(() => { this.setWrapType(floating_objects_enums/* AnchorObjectTextWrapType */.vX.Through, false); });
        dxreDialog_BtnPresetTextWrapTopAndBottom.Click.AddHandler(() => { this.setWrapType(floating_objects_enums/* AnchorObjectTextWrapType */.vX.TopAndBottom, false); });
        dxreDialog_BtnPresetTextWrapBehind.Click.AddHandler(() => { this.setWrapType(floating_objects_enums/* AnchorObjectTextWrapType */.vX.None, true); });
        dxreDialog_BtnPresetTextWrapInFrontOfText.Click.AddHandler(() => { this.setWrapType(floating_objects_enums/* AnchorObjectTextWrapType */.vX.None, false); });
    }
    setWrapType(type, isBehindDoc) {
        if (type !== null) {
            dxreDialog_LayoutPageControl.GetTab(0).SetEnabled(true);
            dxreDialog_SpnRotation.SetEnabled(true);
        }
        else {
            dxreDialog_LayoutPageControl.GetTab(0).SetEnabled(false);
            dxreDialog_SpnRotation.SetEnabled(false);
        }
        switch (type) {
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.Square:
                this.setEnabledForDistance(true, true);
                dxreDialog_RblWrapText.SetEnabled(true);
                break;
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.Tight:
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.Through:
                this.setEnabledForDistance(true, true);
                dxreDialog_RblWrapText.SetEnabled(true);
                break;
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.TopAndBottom:
                this.setEnabledForDistance(true, false);
                dxreDialog_RblWrapText.SetEnabled(false);
                break;
            case floating_objects_enums/* AnchorObjectTextWrapType */.vX.None:
            case null:
                this.setEnabledForDistance(false, false);
                dxreDialog_RblWrapText.SetEnabled(false);
                break;
        }
        var returnedObject = this.GetInitInfoObject();
        returnedObject.wrapType = type;
        returnedObject.isBehindDoc = isBehindDoc;
    }
    setEnabledForDistance(TopAndBottomEnabled, LeftAndRightEnabled) {
        dxreDialog_SpnTop.SetEnabled(TopAndBottomEnabled);
        dxreDialog_SpnBottom.SetEnabled(TopAndBottomEnabled);
        dxreDialog_SpnRight.SetEnabled(LeftAndRightEnabled);
        dxreDialog_SpnLeft.SetEnabled(LeftAndRightEnabled);
    }
    setEnabledForHorizontalAlignment(type) {
        dxreDialog_CbxHorizontalAlignment.SetEnabled(type === LayoutDialogAlignmentType.Alignment);
        dxreDialog_CbxHorizontalAlignmentRelativeTo.SetEnabled(type === LayoutDialogAlignmentType.Alignment);
        dxreDialog_SpnHorizontalAbsPosition.SetEnabled(type === LayoutDialogAlignmentType.Absolute);
        dxreDialog_CbxHorizontalAbsToTheRightOf.SetEnabled(type === LayoutDialogAlignmentType.Absolute);
        dxreDialog_CbxHorizontalBookLayout.SetEnabled(type === LayoutDialogAlignmentType.BookLayout);
        dxreDialog_CbxHorizontalBookLayoutOf.SetEnabled(type === LayoutDialogAlignmentType.BookLayout);
        dxreDialog_SpnHorizontalRelativePosition.SetEnabled(type === LayoutDialogAlignmentType.Relative);
        dxreDialog_CbxHorizontalRelPosRelativeTo.SetEnabled(type === LayoutDialogAlignmentType.Relative);
        var returnedObject = this.GetInitInfoObject();
        returnedObject.horizontalAligmentType = type;
    }
    setEnabledForVerticalAlignment(type) {
        dxreDialog_CbxVerticalAlignment.SetEnabled(type === LayoutDialogAlignmentType.Alignment);
        dxreDialog_CbxVerticalRelativTo.SetEnabled(type === LayoutDialogAlignmentType.Alignment);
        dxreDialog_SpnVerticalAbsPosition.SetEnabled(type === LayoutDialogAlignmentType.Absolute);
        dxreDialog_CbxVerticalBelow.SetEnabled(type === LayoutDialogAlignmentType.Absolute);
        dxreDialog_SpnVerticalRelativePosition.SetEnabled(type === LayoutDialogAlignmentType.Relative);
        dxreDialog_CbxVerticalRelPosRelativeTo.SetEnabled(type === LayoutDialogAlignmentType.Relative);
        var returnedObject = this.GetInitInfoObject();
        returnedObject.verticalAligmentType = type;
    }
    setEnabledForAbsoluteHeight(enabled) {
        dxreDialog_SpnAbsoluteHeight.SetEnabled(enabled);
        dxreDialog_SpnRelativeHeight.SetEnabled(!enabled);
        dxreDialog_CbxHeightRelativTo.SetEnabled(!enabled);
    }
    setEnabledForAbsoluteWidth(enabled) {
        dxreDialog_SpnAbsoluteWidth.SetEnabled(enabled);
        dxreDialog_SpnRelativeWidth.SetEnabled(!enabled);
        dxreDialog_CbxWidthRelativTo.SetEnabled(!enabled);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        var isAnchoredObject = returnedObject.wrapType !== null;
        if (isAnchoredObject) {
            switch (returnedObject.horizontalAligmentType) {
                case LayoutDialogAlignmentType.Alignment:
                    returnedObject.horizontalPositionAlignment = dxreDialog_CbxHorizontalAlignment.GetValue();
                    returnedObject.horizontalPositionType = dxreDialog_CbxHorizontalAlignmentRelativeTo.GetValue();
                    break;
                case LayoutDialogAlignmentType.Absolute:
                    returnedObject.horizontalPositionAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.None;
                    returnedObject.horizontalPositionType = dxreDialog_CbxHorizontalAbsToTheRightOf.GetValue();
                    break;
                case LayoutDialogAlignmentType.BookLayout:
                    returnedObject.horizontalPositionAlignment = dxreDialog_CbxHorizontalBookLayout.GetValue();
                    returnedObject.horizontalPositionType = dxreDialog_CbxHorizontalBookLayoutOf.GetValue();
                    break;
                case LayoutDialogAlignmentType.Relative:
                    returnedObject.horizontalPositionAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.None;
                    returnedObject.horizontalPositionType = dxreDialog_CbxHorizontalRelPosRelativeTo.GetValue();
                    break;
            }
            returnedObject.offsetX = returnedObject.horizontalAligmentType !== LayoutDialogAlignmentType.Absolute ? 0 : dxreDialog_SpnHorizontalAbsPosition.GetValue();
            returnedObject.percentOffsetX = returnedObject.horizontalAligmentType !== LayoutDialogAlignmentType.Relative ? 0 : this.relativePercentFromUI(dxreDialog_SpnHorizontalRelativePosition.GetValue());
            switch (returnedObject.verticalAligmentType) {
                case LayoutDialogAlignmentType.Alignment:
                    returnedObject.verticalPositionAlignment = dxreDialog_CbxVerticalAlignment.GetValue();
                    returnedObject.verticalPositionType = dxreDialog_CbxVerticalRelativTo.GetValue();
                    break;
                case LayoutDialogAlignmentType.Absolute:
                    returnedObject.verticalPositionAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.None;
                    returnedObject.verticalPositionType = dxreDialog_CbxVerticalBelow.GetValue();
                    break;
                case LayoutDialogAlignmentType.Relative:
                    returnedObject.verticalPositionAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.None;
                    returnedObject.verticalPositionType = dxreDialog_CbxVerticalRelPosRelativeTo.GetValue();
                    break;
            }
            returnedObject.offsetY = returnedObject.verticalAligmentType !== LayoutDialogAlignmentType.Absolute ? 0 : dxreDialog_SpnVerticalAbsPosition.GetValue();
            returnedObject.percentOffsetY = returnedObject.verticalAligmentType !== LayoutDialogAlignmentType.Relative ? 0 : this.relativePercentFromUI(dxreDialog_SpnVerticalRelativePosition.GetValue());
            returnedObject.locked = dxreDialog_ChkLockAnchor.GetValue();
            returnedObject.wrapSide = dxreDialog_RblWrapText.GetValue();
            returnedObject.topDistance = dxreDialog_SpnTop.GetValue();
            returnedObject.bottomDistance = dxreDialog_SpnBottom.GetValue();
            returnedObject.rightDistance = dxreDialog_SpnRight.GetValue();
            returnedObject.leftDistance = dxreDialog_SpnLeft.GetValue();
            if (returnedObject.textBoxProperties) {
                returnedObject.textBoxProperties.topMargin = dxreDialog_SpnTopMargin.GetValue();
                returnedObject.textBoxProperties.bottomMargin = dxreDialog_SpnBottomMargin.GetValue();
                returnedObject.textBoxProperties.rightMargin = dxreDialog_SpnRightMargin.GetValue();
                returnedObject.textBoxProperties.leftMargin = dxreDialog_SpnLeftMargin.GetValue();
            }
            returnedObject.relativeWidth = this.relativePercentFromUI(dxreDialog_SpnRelativeWidth.GetValue());
            returnedObject.relativeHeight = this.relativePercentFromUI(dxreDialog_SpnRelativeHeight.GetValue());
            returnedObject.relativeWidthType = dxreDialog_CbxWidthRelativTo.GetValue();
            returnedObject.relativeHeightType = dxreDialog_CbxHeightRelativTo.GetValue();
        }
        returnedObject.absoluteHeight = dxreDialog_SpnAbsoluteHeight.GetValue();
        returnedObject.absoluteWidth = dxreDialog_SpnAbsoluteWidth.GetValue();
        returnedObject.useAbsoluteHeight = dxreDialog_RbtAbsoluteHeight.GetValue();
        returnedObject.useAbsoluteWidth = dxreDialog_RbtAbsoluteWidth.GetValue();
        returnedObject.rotation = dxreDialog_SpnRotation.GetValue();
        returnedObject.lockAspectRatio = dxreDialog_ChkScale.GetValue();
        return returnedObject;
    }
    relativePercentToUI(value) {
        return value / (anchor_info/* AnchorInfo */.i.RELATIVE_COEFF / 100);
    }
    relativePercentFromUI(value) {
        return value * (anchor_info/* AnchorInfo */.i.RELATIVE_COEFF / 100);
    }
    lockAspectRationWidth() {
        var aspect = this.parameters.originalWidth / this.parameters.originalHeight;
        dxreDialog_SpnAbsoluteWidth.SetValue(dxreDialog_SpnAbsoluteHeight.GetValue() * aspect);
    }
    lockAspectRationHeight() {
        var aspect = this.parameters.originalHeight / this.parameters.originalWidth;
        dxreDialog_SpnAbsoluteHeight.SetValue(dxreDialog_SpnAbsoluteWidth.GetValue() * aspect);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-open-file-dialog.ts



class REOpenFileDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    OnInitComplete() {
        super.OnInitComplete.apply(this, arguments);
        if (typeof (window.ASPxClientRichEditFileManager) != "undefined")
            window.ASPxClientRichEditFileManager.SetOwner(this.GetDialogPopup().GetContentContainer(-1), this.richedit);
        if (FileManager)
            setTimeout(() => {
                FileManager.Refresh();
                FileManager.setFocusToFilterBox();
            }, 0);
        this.SetOkButtonEnabled(false);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.src = file_name_helper/* FileNameHelper */.a.normalizeVirtualFolderPath(FileManager.GetCurrentFolderPath("\\", true), true) +
            FileManager.GetSelectedFile().name;
        return returnedObject;
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.OpenFile;
    }
    attachEvents() {
        super.attachEvents();
        FileManager.SelectedFileOpened.AddHandler((_s, _e) => {
            this.onOkButtonClick();
        });
        FileManager.SelectedFileChanged.AddHandler((_s, e) => {
            this.SetOkButtonEnabled(!!e.file);
        });
    }
    SetOkButtonEnabled(value) {
        dxreDialog_BtnOk.SetEnabled(value);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-page-setup-dialog.ts




class REPageSetupDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.PageSetup;
    }
    InitializeDialogFields(parameters) {
        dxreDialog_SpnTop.SetValue(parameters.marginTop);
        dxreDialog_SpnBottom.SetValue(parameters.marginBottom);
        dxreDialog_SpnLeft.SetValue(parameters.marginLeft);
        dxreDialog_SpnRight.SetValue(parameters.marginRight);
        if (parameters.landscape === true)
            dxreDialog_RblOrientation.SetValue(1);
        else if (parameters.landscape === false)
            dxreDialog_RblOrientation.SetValue(0);
        dxreDialog_SpnWidth.SetValue(parameters.pageWidth);
        dxreDialog_SpnHeight.SetValue(parameters.pageHeight);
        if (parameters.pageWidth && parameters.pageHeight)
            this.OnPaperSizeChanged();
        dxreDialog_CbxSectionStart.SetValue(parameters.startType);
        dxreDialog_ChkDifferentOddAndEven.SetValue(parameters.headerDifferentOddAndEven);
        dxreDialog_ChkDifferentFirstPage.SetValue(parameters.headerDifferentFirstPage);
        dxreDialog_SpnHeaderOffset.SetValue(parameters.headerOffset);
        dxreDialog_SpnFooterOffset.SetValue(parameters.footerOffset);
        dxreDialog_CbxApplyTo.SetValue(parameters.applyTo);
        dxreDialog_PageSetupPageControl.SetActiveTab(dxreDialog_PageSetupPageControl.GetTabByName(parameters.initialTab));
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_CbxPaperSize.ValueChanged.AddHandler((_s, _e) => {
            this.OnPaperKindChanged();
        });
        dxreDialog_SpnWidth.ValueChanged.AddHandler((_s, _e) => {
            this.OnPaperSizeChanged();
        });
        dxreDialog_SpnHeight.ValueChanged.AddHandler((_s, _e) => {
            this.OnPaperSizeChanged();
        });
        dxreDialog_RblOrientation.ValueChanged.AddHandler((_s, _e) => {
            this.OnOrientationChanged();
        });
    }
    GetFocusedElement() {
        return dxreDialog_SpnTop;
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        var orientation = dxreDialog_RblOrientation.GetValue();
        var landscape;
        if (orientation === 1)
            landscape = true;
        else if (orientation === 0)
            landscape = false;
        var marginTop = dxreDialog_SpnTop.GetValue();
        var marginBottom = dxreDialog_SpnBottom.GetValue();
        var marginLeft = dxreDialog_SpnLeft.GetValue();
        var marginRight = dxreDialog_SpnRight.GetValue();
        var pageWidth = dxreDialog_SpnWidth.GetValue();
        var pageHeight = dxreDialog_SpnHeight.GetValue();
        var headerOffset = dxreDialog_SpnHeaderOffset.GetValue();
        var footerOffset = dxreDialog_SpnFooterOffset.GetValue();
        var kind = dxreDialog_CbxPaperSize.GetValue();
        if (kind > 0) {
            var size = paper_kind/* PaperSizeConverter */.Y.calculatePaperSize(kind);
            var isNeedRotation = pageWidth > pageHeight && size.width < size.height;
            if (!isNeedRotation) {
                pageWidth = this.richedit.core.uiUnitConverter.twipsToUI(size.width);
                pageHeight = this.richedit.core.uiUnitConverter.twipsToUI(size.height);
            }
            else {
                pageWidth = this.richedit.core.uiUnitConverter.twipsToUI(size.height);
                pageHeight = this.richedit.core.uiUnitConverter.twipsToUI(size.width);
            }
        }
        returnedObject.marginTop = marginTop == null ? undefined : marginTop;
        returnedObject.marginBottom = marginBottom == null ? undefined : marginBottom;
        returnedObject.marginLeft = marginLeft == null ? undefined : marginLeft;
        returnedObject.marginRight = marginRight == null ? undefined : marginRight;
        returnedObject.landscape = landscape;
        returnedObject.pageWidth = pageWidth == null ? undefined : pageWidth;
        returnedObject.pageHeight = pageHeight == null ? undefined : pageHeight;
        returnedObject.paperKind = kind == null ? undefined : kind;
        returnedObject.startType = dxreDialog_CbxSectionStart.GetValue();
        returnedObject.headerDifferentOddAndEven = dxreDialog_ChkDifferentOddAndEven.GetValue();
        returnedObject.headerDifferentFirstPage = dxreDialog_ChkDifferentFirstPage.GetValue();
        returnedObject.headerOffset = headerOffset == null ? undefined : headerOffset;
        returnedObject.footerOffset = footerOffset == null ? undefined : footerOffset;
        returnedObject.applyTo = dxreDialog_CbxApplyTo.GetValue();
        return returnedObject;
    }
    OnPaperKindChanged() {
        var kind = dxreDialog_CbxPaperSize.GetValue();
        var size = paper_kind/* PaperSizeConverter */.Y.calculatePaperSize(kind);
        dxreDialog_SpnWidth.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(size.width));
        dxreDialog_SpnHeight.SetValue(this.richedit.core.uiUnitConverter.twipsToUI(size.height));
        this.updateOrientation(size.width > size.height);
    }
    OnPaperSizeChanged() {
        this.updatePaperKind(dxreDialog_SpnWidth.GetValue(), dxreDialog_SpnHeight.GetValue());
        this.updateOrientation(dxreDialog_SpnWidth.GetValue() > dxreDialog_SpnHeight.GetValue());
    }
    OnOrientationChanged() {
        var landscape = dxreDialog_RblOrientation.GetValue() === 1;
        var width = dxreDialog_SpnWidth.GetValue();
        var height = dxreDialog_SpnHeight.GetValue();
        if (landscape) {
            dxreDialog_SpnWidth.SetValue(Math.max(width, height));
            dxreDialog_SpnHeight.SetValue(Math.min(width, height));
            this.updatePaperKind(Math.max(width, height), Math.min(width, height));
        }
        else {
            dxreDialog_SpnWidth.SetValue(Math.min(width, height));
            dxreDialog_SpnHeight.SetValue(Math.max(width, height));
            this.updatePaperKind(Math.min(width, height), Math.max(width, height));
        }
    }
    updatePaperKind(width, height) {
        var size = new geometry_size.Size(this.richedit.core.uiUnitConverter.UIToTwips(width), this.richedit.core.uiUnitConverter.UIToTwips(height));
        var paperKind = paper_kind/* PaperSizeConverter */.Y.calculatePaperKind(size, 0, this.richedit.core.uiUnitConverter.UIToTwips(0.01));
        if (paperKind == 0)
            paperKind = paper_kind/* PaperSizeConverter */.Y.calculatePaperKind(new geometry_size.Size(size.height, size.width), 0, this.richedit.core.uiUnitConverter.UIToTwips(0.01));
        dxreDialog_CbxPaperSize.SetValue(paperKind >= 0 ? paperKind : null);
    }
    updateOrientation(landscape) {
        dxreDialog_RblOrientation.SetSelectedIndex(landscape ? 1 : 0);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-paragraph-dialog.ts




class REParagraphDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    constructor() {
        super(...arguments);
        this.defaultFormatString = "";
        this.lineSpacing = 0;
        this.lineSpacingMultiple = 0;
        this.pageWidth = 0;
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Paragraph;
    }
    InitializeDialogFields(parameters) {
        dxreDialog_CbxAlign.SetValue(parameters.alignment);
        dxreDialog_CbxOutlineLevel.SetValue(parameters.outlineLevel);
        dxreDialog_SpnLeft.SetValue(parameters.leftIndent);
        dxreDialog_SpnRight.SetValue(parameters.rightIndent);
        dxreDialog_CbxSpecial.SetValue(parameters.firstLineIndentType);
        dxreDialog_SpnBy.SetValue(parameters.firstLineIndent);
        dxreDialog_SpnBefore.SetValue(parameters.spacingBefore);
        dxreDialog_SpnAfter.SetValue(parameters.spacingAfter);
        dxreDialog_CbxLineSpacing.SetValue(parameters.lineSpacingType);
        dxreDialog_ChkNoSpace.SetValue(parameters.contextualSpacing);
        dxreDialog_ChkKLT.SetValue(parameters.keepLinesTogether);
        dxreDialog_ChkPBB.SetValue(parameters.pageBreakBefore);
        this.lineSpacing = parameters.lineSpacing;
        this.lineSpacingMultiple = parameters.lineSpacingMultiple;
        this.defaultFormatString = dxreDialog_SpnAt.displayFormat;
        this.pageWidth = parameters.pageWidth;
        switch (parameters.lineSpacingType) {
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Single:
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral:
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Double:
                dxreDialog_SpnAt.displayFormat = null;
                dxreDialog_SpnAt.SetValue(null);
                break;
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple:
                dxreDialog_SpnAt.displayFormat = null;
                dxreDialog_SpnAt.inc = 0.5;
                dxreDialog_SpnAt.SetMinValue(1);
                dxreDialog_SpnAt.SetValue(this.lineSpacingMultiple);
                break;
            default:
                dxreDialog_SpnAt.SetMinValue(0);
                dxreDialog_SpnAt.inc = 0.01;
                dxreDialog_SpnAt.SetValue(this.lineSpacing);
                break;
        }
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_CbxLineSpacing.ValueChanged.AddHandler((_s, _e) => {
            this.OnLineSpacingTypeValueChanged();
        });
        dxreDialog_SpnAt.ValueChanged.AddHandler((_s, _e) => {
            this.OnLineSpacingValueChanged();
        });
        dxreDialog_BtnTabs.Click.AddHandler((_s, _e) => {
            this.ShowTabsDialog();
        });
        dxreDialog_CbxSpecial.ValueChanged.AddHandler((s, _e) => {
            if (s.GetValue() === paragraph_properties/* ParagraphFirstLineIndent */.Qi.None)
                dxreDialog_SpnBy.SetValue(0);
        });
        dxreDialog_SpnBy.ValueChanged.AddHandler((s, _e) => {
            if (s.GetValue() > 0 && dxreDialog_CbxSpecial.GetValue() === paragraph_properties/* ParagraphFirstLineIndent */.Qi.None)
                dxreDialog_CbxSpecial.SetValue(paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented);
        });
    }
    GetFocusedElement() {
        return dxreDialog_CbxAlign;
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.alignment = dxreDialog_CbxAlign.GetValue();
        returnedObject.outlineLevel = dxreDialog_CbxOutlineLevel.GetValue();
        returnedObject.leftIndent = dxreDialog_SpnLeft.GetValue();
        returnedObject.rightIndent = dxreDialog_SpnRight.GetValue();
        returnedObject.firstLineIndentType = dxreDialog_CbxSpecial.GetValue();
        returnedObject.firstLineIndent = dxreDialog_SpnBy.GetValue();
        returnedObject.spacingBefore = dxreDialog_SpnBefore.GetValue();
        returnedObject.spacingAfter = dxreDialog_SpnAfter.GetValue();
        returnedObject.lineSpacingType = dxreDialog_CbxLineSpacing.GetValue();
        returnedObject.lineSpacing = dxreDialog_SpnAt.GetValue();
        returnedObject.lineSpacingMultiple = dxreDialog_SpnAt.GetValue();
        returnedObject.contextualSpacing = dxreDialog_ChkNoSpace.GetValue();
        returnedObject.keepLinesTogether = dxreDialog_ChkKLT.GetValue();
        returnedObject.pageBreakBefore = dxreDialog_ChkPBB.GetValue();
        return returnedObject;
    }
    ShowTabsDialog() {
        this.OnComplete(0);
        this.richedit.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowTabsForm).execute(this.richedit.core.commandManager.isPublicApiCall);
    }
    OnLineSpacingTypeValueChanged() {
        switch (dxreDialog_CbxLineSpacing.GetValue()) {
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Single:
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral:
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Double:
                dxreDialog_SpnAt.displayFormat = null;
                dxreDialog_SpnAt.SetValue(null);
                break;
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple:
                dxreDialog_SpnAt.displayFormat = null;
                dxreDialog_SpnAt.inc = 0.5;
                dxreDialog_SpnAt.SetMinValue(0.5);
                dxreDialog_SpnAt.SetValue(this.lineSpacingMultiple);
                break;
            default:
                dxreDialog_SpnAt.displayFormat = this.defaultFormatString;
                dxreDialog_SpnAt.inc = 0.01;
                dxreDialog_SpnAt.SetMinValue(0);
                dxreDialog_SpnAt.SetValue(this.lineSpacing);
                break;
        }
    }
    OnLineSpacingValueChanged() {
        var type = dxreDialog_CbxLineSpacing.GetValue();
        if (type === paragraph_properties/* ParagraphLineSpacingType */.yX.Single || type === paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral || type === paragraph_properties/* ParagraphLineSpacingType */.yX.Double)
            dxreDialog_CbxLineSpacing.SetValue(paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple);
    }
    onOkButtonClick() {
        var leftIndent = dxreDialog_SpnLeft.GetValue();
        if (dxreDialog_CbxSpecial.GetValue() === paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented)
            leftIndent += dxreDialog_SpnBy.GetValue();
        if (dxreDialog_SpnRight.GetValue() + leftIndent >= this.pageWidth)
            alert("The indent size is too large");
        else
            this.OnComplete(1);
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/utils/file-existence-mode.ts
class FileExistenceMode {
}
FileExistenceMode.Exist = 0;
FileExistenceMode.Free = 1;
FileExistenceMode.NotEnoughData = 2;
FileExistenceMode.FolderNotExist = 3;

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-save-as-dialog.ts







class RESaveAsDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    OnInitComplete() {
        super.OnInitComplete.apply(this, arguments);
        if (typeof (window.ASPxClientRichEditFolderManager) != "undefined") {
            window.ASPxClientRichEditFolderManager.SetOwner(this.GetDialogPopup().GetContentContainer(-1), this.richedit);
            if (this.isFileManagerExist())
                setTimeout(() => { FileManager.Refresh(); }, 0);
        }
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.fileSavedToServer = this.isFileSavedToServer();
        if (returnedObject.fileSavedToServer) {
            returnedObject.folderPath = file_name_helper/* FileNameHelper */.a.normalizeVirtualFolderPath(FileManager.GetCurrentFolderPath("\\", true), true);
            returnedObject.fileName = dxreDialog_TbxFileName.GetText();
            returnedObject.documentFormat = parseInt(dxreDialog_CbxFileType.GetValue());
        }
        else {
            returnedObject.documentFormat = parseInt(dxreDialog_CbxDownloadFileType.GetValue());
        }
        return returnedObject;
    }
    InitializeDialogFields(parameters) {
        this.toggleElements();
        this.hasFolderManager = this.isFileManagerExist() && typeof (window.ASPxClientRichEditFolderManager) != "undefined" && FileManager instanceof window.ASPxClientRichEditFolderManager;
        if (this.hasFolderManager) {
            dxreDialog_TbxFolderPath.SetText(file_name_helper/* FileNameHelper */.a.normalizeVirtualFolderPath(FileManager.GetCurrentFolderPath(), undefined) + parameters.folderPath);
            dxreDialog_TbxFileName.SetText(parameters.fileName);
            this.InitializeFileExtensionComboBox(dxreDialog_CbxFileType, parameters.documentFormat);
        }
        if (typeof (dxreDialog_CbxDownloadFileType) != "undefined")
            this.InitializeFileExtensionComboBox(dxreDialog_CbxDownloadFileType, parameters.documentFormat);
    }
    InitializeFileExtensionComboBox(combobox, documentFormat) {
        var fileExtensionItem = combobox.FindItemByValue(documentFormat.toString());
        if (fileExtensionItem)
            combobox.SetSelectedItem(fileExtensionItem);
        else
            combobox.SetSelectedIndex(0);
    }
    attachEvents() {
        super.attachEvents();
        this.executeIfExists("dxreDialog_SaveFile_RblNavigation", (element) => {
            element.ValueChanged.AddHandler(() => this.toggleElements());
        });
        this.executeIfExists("dxreDialog_TbxFolderPath", (element) => {
            element.ButtonClick.AddHandler(() => this.OnBrowserButtonClick());
        });
        this.executeIfExists("BrowsePopup", (element) => {
            element.PopUp.AddHandler(() => this.OnBrowserPopupOpen());
            element.CloseUp.AddHandler(() => this.OnBrowserPopupClose());
        });
        this.executeIfExists("dxreDialog_BtnSelect", (element) => {
            element.Click.AddHandler(() => this.SelectFolderForm_FolderSelected());
        });
        this.executeIfExists("dxreDialog_BtnCancleSelect", (element) => {
            element.Click.AddHandler(() => BrowsePopup.Hide.call(BrowsePopup));
        });
        if (this.hasFolderManager)
            this.executeIfExists("FileManager", (element) => {
                element.SelectedFileOpened.AddHandler(() => this.SelectFolderForm_FolderSelected());
            });
        dxreDialog_BtnDownload.Click.AddHandler(() => this.onOkButtonClick());
    }
    GetFocusedElement() {
        const isFileSavedToServer = this.isFileSavedToServer();
        return isFileSavedToServer ? dxreDialog_TbxFileName : dxreDialog_CbxDownloadFileType;
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.SaveAsFile;
    }
    toggleElements() {
        var folderPath = dxreDialog_FormLayout.GetItemByName("TbxFolderPath");
        var fileName = dxreDialog_FormLayout.GetItemByName("TbxFileName");
        var fileType = dxreDialog_FormLayout.GetItemByName("CbxFileType");
        var downloadFileType = dxreDialog_FormLayout.GetItemByName("CbxDownloadFileType");
        var isFileSavedToServer = this.isFileSavedToServer();
        if (downloadFileType)
            downloadFileType.SetVisible(!isFileSavedToServer);
        if (folderPath && fileName && fileType) {
            folderPath.SetVisible(isFileSavedToServer);
            fileName.SetVisible(isFileSavedToServer);
            fileType.SetVisible(isFileSavedToServer);
        }
        dxreDialog_BtnOk.SetVisible(isFileSavedToServer);
        dxreDialog_BtnDownload.SetVisible(!isFileSavedToServer);
    }
    OnBrowserButtonClick() {
        FileManager.browsePopup = BrowsePopup;
        BrowsePopup.Show();
        FileManager.Refresh();
        FileManager.Focus();
    }
    OnBrowserPopupOpen() {
        AttributeUtils.changeElementStyleAttribute(dxreDialog_LayoutWrapper.mainElement, "onkeypress", "");
    }
    OnBrowserPopupClose() {
        attr/* AttrUtils */.F.restoreElementStyleAttribute(dxreDialog_LayoutWrapper.mainElement, "onkeypress");
        dxreDialog_TbxFolderPath.Focus();
    }
    SelectFolderForm_FolderSelected() {
        BrowsePopup.Hide();
        var documentUrl = file_name_helper/* FileNameHelper */.a.normalizeVirtualFolderPath(FileManager.GetCurrentFolderPath("\\", false), undefined);
        dxreDialog_TbxFolderPath.SetText(documentUrl);
        var selectedFile = FileManager.GetSelectedFile();
        if (selectedFile) {
            var fileInfo = new file_name_helper/* FileNameHelper */.a(documentUrl + selectedFile.name, undefined);
            var comboBoxExtItem = dxreDialog_CbxFileType.FindItemByValue(fileInfo.documentFormat.toString());
            if (comboBoxExtItem)
                dxreDialog_CbxFileType.SetSelectedItem(comboBoxExtItem);
            dxreDialog_TbxFileName.SetText(fileInfo.name);
        }
    }
    isFileSavedToServer() {
        if (typeof (dxreDialog_SaveFile_RblNavigation) != "undefined")
            return dxreDialog_SaveFile_RblNavigation.GetValue() ? false : true;
        else
            return typeof (dxreDialog_TbxFileName) != "undefined";
    }
    isDialogValid() {
        return this.isValidFields_SaveFileForm() && this.checkAndConfirmToRewriteExistingFile();
    }
    isValidFields_SaveFileForm() {
        return (typeof (dxreDialog_TbxFolderPath) != "undefined" && dxreDialog_TbxFolderPath.IsVisible()) ? ASPxClientEdit.ValidateGroup("_dxeTbxSaveFilePathGroup") : true;
    }
    checkAndConfirmToRewriteExistingFile() {
        var isValid = true;
        if (this.isFileSavedToServer()) {
            var fileExistanceMode = this.getFileExistanceMode();
            if (fileExistanceMode === FileExistenceMode.Exist)
                isValid = confirm(dxreDialog_TbxFileName.GetText() + file_name_helper/* FileNameHelper */.a.convertToString(parseInt(dxreDialog_CbxFileType.GetValue())) + " "
                    + ASPxClientRichEdit.ASPxRichEditDialogList.OtherLabels.ConfirmToRewriteExistingFile);
            else if (fileExistanceMode === FileExistenceMode.NotEnoughData) {
                isValid = false;
                this.submitDialogAfterFileManagerRecievedData = true;
            }
            else if (fileExistanceMode === FileExistenceMode.FolderNotExist) {
                isValid = false;
                alert(dxreDialog_dxHfMessage.Get("FolderInvalidMessage"));
            }
        }
        return isValid;
    }
    getFileExistanceMode() {
        var fileExistanceMode = FileExistenceMode.Free;
        var folderVirtualPath = this.getFolderVirtualPath(), folderPath = this.getFolderRelativePath();
        if (this.isFileManagerExist()) {
            if (FileManager.GetCurrentFolderPath() !== folderVirtualPath && !this.inFileUpdateRequest())
                FileManager.SetCurrentFolderPath(folderPath);
            if (!FileManager.InCallback()) {
                if (FileManager.GetCurrentFolderPath() === folderVirtualPath) {
                    var itemCollection = FileManager.GetItems();
                    const fullFileName = dxreDialog_TbxFileName.GetText() + file_name_helper/* FileNameHelper */.a.convertToString(parseInt(dxreDialog_CbxFileType.GetValue()));
                    if (itemCollection) {
                        if (utils_list.ListUtils.unsafeAnyOf(itemCollection, item => item.name === fullFileName))
                            fileExistanceMode = FileExistenceMode.Exist;
                    }
                }
                else {
                    fileExistanceMode = FileExistenceMode.FolderNotExist;
                }
            }
            else {
                fileExistanceMode = FileExistenceMode.NotEnoughData;
            }
        }
        return fileExistanceMode;
    }
    onFileManagerReceivedData() {
        if (this.inFileUpdateRequest()) {
            this.onOkButtonClick();
            this.submitDialogAfterFileManagerRecievedData = false;
        }
    }
    getFolderVirtualPath() {
        var folderPath = file_name_helper/* FileNameHelper */.a.normalizeVirtualFolderPath(dxreDialog_TbxFolderPath.GetText(), true);
        if (folderPath[folderPath.length - 1] === "\\")
            folderPath = folderPath.substring(0, folderPath.length - 1);
        return folderPath;
    }
    getFolderRelativePath() {
        return this.removeRootFolder(this.getFolderVirtualPath());
    }
    removeRootFolder(filePath) {
        var rootFolderSeparatorPosition = filePath.indexOf("\\");
        if (rootFolderSeparatorPosition >= 0)
            filePath = filePath.substring(rootFolderSeparatorPosition + 1);
        return filePath;
    }
    inFileUpdateRequest() {
        return this.submitDialogAfterFileManagerRecievedData;
    }
    isFileManagerExist() {
        return typeof (FileManager) !== "undefined";
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-spelling-dialog.ts


class RESpellingDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Spelling;
    }
    InitializeDialogFields(parameters) {
        this.controller = parameters.controller;
        this.GoToNextError();
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_BtnIgnoreOnce.Click.AddHandler(() => { this.IgnoreOnce(); });
        dxreDialog_BtnIgnoreAll.Click.AddHandler(() => { this.IgnoreAll(); });
        dxreDialog_BtnAddToDictionary.Click.AddHandler(() => { this.AddToDictionary(); });
        dxreDialog_BtnDelete.Click.AddHandler(() => { this.Delete(); });
        dxreDialog_BtnChange.Click.AddHandler(() => { this.Change(); });
        dxreDialog_BtnChangeAll.Click.AddHandler(() => { this.ChangeAll(); });
        dxreDialog_SuggestionsListBox.ItemDoubleClick.AddHandler(() => { this.Change(); });
    }
    GoToNextError() {
        if (this.controller.tryFindNextError())
            this.UpdateDialogFields();
    }
    UpdateDialogFields() {
        this.UpdateLabels();
        this.UpdateMisspelledMemo();
        this.UpdateSuggestionsList();
        this.UpdateButtons();
    }
    UpdateLabels() {
        var isRepeatingError = this.controller.isRepeatingError;
        dxreDialog_LblNotInDictionary.SetVisible(!isRepeatingError);
        dxreDialog_LblRepeatedWord.SetVisible(isRepeatingError);
    }
    UpdateMisspelledMemo() {
        dxreDialog_MisspelledMemo.SetHeight(100);
        dxreDialog_MisspelledMemo.SetText(this.controller.getContext());
    }
    UpdateSuggestionsList() {
        dxreDialog_SuggestionsListBox.ClearItems();
        var suggestions = this.controller.suggestions;
        if (suggestions != null) {
            if (suggestions.length > 0) {
                for (var i = 0, suggettion; suggettion = suggestions[i]; i++)
                    dxreDialog_SuggestionsListBox.AddItem(suggettion);
                dxreDialog_SuggestionsListBox.SetEnabled(true);
                dxreDialog_SuggestionsListBox.SetSelectedIndex(0);
            }
            else {
                dxreDialog_SuggestionsListBox.AddItem(ASPxClientRichEdit.ASPxRichEditDialogList.OtherLabels.NoSpellingSuggestions);
                dxreDialog_SuggestionsListBox.SetEnabled(false);
            }
        }
    }
    UpdateButtons() {
        var isRepeatingError = this.controller.isRepeatingError;
        dxreDialog_BtnIgnoreAll.SetEnabled(!isRepeatingError);
        dxreDialog_BtnDelete.SetVisible(isRepeatingError);
        dxreDialog_BtnChange.SetVisible(!isRepeatingError);
        dxreDialog_BtnChangeAll.SetVisible(!isRepeatingError);
        dxreDialog_BtnAddToDictionary.SetEnabled(!isRepeatingError && this.controller.canAddToDictionary);
        var changeButtonsEnabled = dxreDialog_SuggestionsListBox.GetSelectedIndex() >= 0;
        dxreDialog_BtnChange.SetEnabled(changeButtonsEnabled);
        dxreDialog_BtnChangeAll.SetEnabled(changeButtonsEnabled);
    }
    IgnoreOnce() {
        this.controller.ignoreOnce();
        this.GoToNextError();
    }
    IgnoreAll() {
        this.controller.ignoreAll();
        this.GoToNextError();
    }
    AddToDictionary() {
        this.controller.addToDictionary();
        this.GoToNextError();
    }
    Delete() {
        this.controller.delete();
        this.GoToNextError();
    }
    Change() {
        this.controller.change(dxreDialog_SuggestionsListBox.GetValue());
        this.GoToNextError();
    }
    ChangeAll() {
        this.controller.changeAll(dxreDialog_SuggestionsListBox.GetValue());
        this.GoToNextError();
    }
    GetFocusedElement() {
        return dxreDialog_BtnIgnoreOnce;
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        return returnedObject;
    }
}

// EXTERNAL MODULE: ./src/aspx/ui/dialogs/re-symbols-dialog.ts
var re_symbols_dialog = __webpack_require__(3670);
;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/re-tabs-dialog.ts







class RETabsDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.Tabs;
    }
    onOkButtonClick() {
        if (this.isDialogValid()) {
            this.SetTab();
            this.OnComplete(1);
        }
    }
    InitializeDialogFields(parameters) {
        this.tabProperties = parameters.tabProperties;
        this.tabsInfo = this.tabProperties.tabsInfo;
        this.deletedTabs = [];
        this.isClearAllHappend = false;
        dxreDialog_SpnDefaultTabStops.SetValue(parameters.defaultTabStop);
        this.UpdateForm();
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_LbTabStopPosition.SelectedIndexChanged.AddHandler((s, _e) => {
            this.OnSelectedTabIndexChanged(s.GetSelectedIndex());
        });
        dxreDialog_TxbTabStopPosition.KeyUp.AddHandler((_s, _e) => {
            this.SetButtonsEnabled();
        });
        dxreDialog_BtnTabSet.Click.AddHandler((_s, _e) => {
            if (this.isDialogValid())
                this.SetTab();
        });
        dxreDialog_BtnTabClear.Click.AddHandler((_s, _e) => {
            this.ClearTab();
        });
        dxreDialog_BtnTabClearAll.Click.AddHandler((_s, _e) => {
            this.ClearAllTab();
        });
        dxreDialog_RblTabsAlignment.ValueChanged.AddHandler((s, _e) => {
            this.SetAlignmentValue(s.GetValue());
        });
        dxreDialog_RblTabsLeader.ValueChanged.AddHandler((s, _e) => {
            this.SetLeaderValue(s.GetValue());
        });
    }
    UpdateForm() {
        dxreDialog_LbTabStopPosition.ClearItems();
        this.forEachTabsInfo((tabInfo) => {
            var position = this.GetRoundedPositionByTwips(tabInfo.position);
            dxreDialog_LbTabStopPosition.AddItem(position + this.richedit.unitAbbreviations.unit, position);
        });
        this.SetSelectedTabIndex(0);
        this.UpdateClearedTabsLabel();
    }
    GetFocusedElement() {
        return dxreDialog_TxbTabStopPosition;
    }
    forEachTabsInfo(action) {
        var tabsInfoCount = this.tabsInfo.length;
        for (var i = 0; i < tabsInfoCount; i++)
            action(this.tabsInfo[i]);
    }
    SetSelectedTabIndex(index) {
        dxreDialog_LbTabStopPosition.SetSelectedIndex(index);
        this.OnSelectedTabIndexChanged(index);
    }
    OnSelectedTabIndexChanged(index) {
        var tabInfo = this.tabsInfo[index];
        if (tabInfo) {
            this.SetTabPositionValue(tabInfo.position);
            dxreDialog_RblTabsAlignment.SetValue(tabInfo.alignment);
            dxreDialog_RblTabsLeader.SetValue(tabInfo.leader);
        }
        else {
            dxreDialog_TxbTabStopPosition.SetValue("");
            dxreDialog_RblTabsAlignment.SetValue(paragraph/* TabAlign */.K9.Left);
            dxreDialog_RblTabsLeader.SetValue(layout_tab_space_box/* TabLeaderType */.LT.None);
        }
        this.SetButtonsEnabled();
    }
    SetTabPositionValue(value) {
        dxreDialog_TxbTabStopPosition.SetValue(this.GetRoundedPositionByTwips(value));
    }
    SetButtonsEnabled() {
        var text = this.GetTabPositionText() + "";
        var value = text.length > 0;
        dxreDialog_BtnTabSet.SetEnabled(value);
        dxreDialog_BtnTabClear.SetEnabled(value);
    }
    GetCurrentTabsInfoIndex() {
        var tabPositionText = this.GetTabPositionText();
        if (tabPositionText.length != 0) {
            var currentPosition = this.GetRoundedPosition(tabPositionText);
            for (var i = 0; i < this.tabsInfo.length; i++)
                if (this.GetRoundedPositionByTwips(this.tabsInfo[i].position) == currentPosition)
                    return i;
        }
        return -1;
    }
    SetTab() {
        var currentTabsInfoIndex = this.GetCurrentTabsInfoIndex();
        if (currentTabsInfoIndex > -1)
            return;
        var tabPositionText = this.GetTabPositionText();
        if (tabPositionText.length == 0)
            return;
        var currentPosition = this.richedit.core.uiUnitConverter.UIToTwips(tabPositionText);
        var currentTabStopAlign = dxreDialog_RblTabsAlignment.GetValue();
        var currentTabStopLeader = dxreDialog_RblTabsLeader.GetValue();
        var tabInfo = new paragraph_style/* TabInfo */.i3(currentPosition, currentTabStopAlign, currentTabStopLeader, false, false);
        this.tabsInfo.push(tabInfo);
        this.SortTabsInfo();
        this.UpdateForm();
    }
    SetAlignmentValue(value) {
        var currentTabsInfoIndex = this.GetCurrentTabsInfoIndex();
        if (currentTabsInfoIndex > -1)
            this.tabsInfo[currentTabsInfoIndex].alignment = value;
    }
    SetLeaderValue(value) {
        var currentTabsInfoIndex = this.GetCurrentTabsInfoIndex();
        if (currentTabsInfoIndex > -1)
            this.tabsInfo[currentTabsInfoIndex].leader = value;
    }
    SortTabsInfo() {
        this.tabsInfo.sort((i1, i2) => {
            if (i1.position > i2.position)
                return 1;
            else if (i1.position < i2.position)
                return -1;
            return 0;
        });
    }
    ClearTab() {
        var currentTabsInfoIndex = this.GetCurrentTabsInfoIndex();
        if (currentTabsInfoIndex < 0)
            return;
        var currentTabStopPosition = this.GetRoundedPositionByTwips(this.tabsInfo[currentTabsInfoIndex].position);
        utils_list.ListUtils.remove(this.deletedTabs, currentTabStopPosition);
        this.deletedTabs.push(currentTabStopPosition);
        this.deletedTabs.sort(comparers.Comparers.number);
        this.tabsInfo.splice(currentTabsInfoIndex, 1);
        this.UpdateForm();
    }
    UpdateClearedTabsLabel() {
        var text = "";
        if (!this.isClearAllHappend)
            for (var i = 0; i < this.deletedTabs.length; i++) {
                if (text.length)
                    text += "; ";
                text += this.deletedTabs[i] + this.richedit.unitAbbreviations.unit;
            }
        else
            text = ASPxClientRichEdit.ASPxRichEditDialogList.OtherLabels.All;
        dxreDialog_LblToBeClearedList.SetText(text);
    }
    ClearAllTab() {
        utils_list.ListUtils.clear(this.tabsInfo);
        this.isClearAllHappend = true;
        this.UpdateForm();
    }
    GetTabPositionText() {
        return dxreDialog_TxbTabStopPosition.GetText();
    }
    GetRoundedPosition(position) {
        return Math.round(position * 100) / 100;
    }
    GetRoundedPositionByTwips(position) {
        return this.GetRoundedPosition(this.richedit.core.uiUnitConverter.twipsToUI(position));
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.tabProperties = this.tabProperties;
        returnedObject.defaultTabStop = dxreDialog_SpnDefaultTabStops.GetValue();
        return returnedObject;
    }
    isDialogValid() {
        return dxreDialog_TxbTabStopPosition.GetIsValid();
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/table/re-delete-table-cells-dialog.ts


class REDeleteTableCellsDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.DeleteTableCells;
    }
    InitializeDialogFields(parameters) {
        dxreDialog_RblCellOperation.SetValue(parameters.tableCellOperation);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.tableCellOperation = dxreDialog_RblCellOperation.GetValue();
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/table/re-insert-table-cells-dialog.ts


class REInsertTableCellsDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.InsertTableCells;
    }
    InitializeDialogFields(parameters) {
        dxreDialog_RblCellOperation.SetValue(parameters.tableCellOperation);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.tableCellOperation = dxreDialog_RblCellOperation.GetValue();
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/table/re-insert-table-dialog.ts


class REInsertTableDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.InsertTable;
    }
    GetFocusedElement() {
        return dxreDialog_SpnColumnsNumber;
    }
    InitializeDialogFields(parameters) {
        dxreDialog_SpnRowsNumber.SetValue(parameters.rowCount);
        dxreDialog_SpnColumnsNumber.SetValue(parameters.columnCount);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.rowCount = dxreDialog_SpnRowsNumber.GetValue();
        returnedObject.columnCount = dxreDialog_SpnColumnsNumber.GetValue();
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/table/re-split-table-cells-dialog.ts


class RESplitTableCellsDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    constructor() {
        super(...arguments);
        this.availableRowNumber = -1;
        this.prevRowCount = -1;
    }
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.SplitTableCells;
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_SpnRowsNumber.NumberChanged.AddHandler((s, _e) => {
            if (this.availableRowNumber > 1) {
                if (s.GetValue() > this.prevRowCount) {
                    s.SetValue(this.availableRowNumber);
                    this.prevRowCount = this.availableRowNumber;
                }
                else {
                    s.SetValue(1);
                    this.prevRowCount = 1;
                }
            }
        });
    }
    InitializeDialogFields(parameters) {
        dxreDialog_SpnColumnsNumber.SetValue(parameters.columnCount);
        dxreDialog_SpnRowsNumber.SetValue(parameters.rowCount);
        this.prevRowCount = parameters.rowCount;
        this.availableRowNumber = parameters.availableRowNumber;
        dxreDialog_ChkMergeCells.SetChecked(parameters.isMergeBeforeSplit);
        dxreDialog_ChkMergeCells.SetEnabled(parameters.isMergeBeforeSplit);
        dxreDialog_SpnRowsNumber.SetEnabled(!parameters.disableRowsSelector);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.columnCount = dxreDialog_SpnColumnsNumber.GetValue();
        returnedObject.rowCount = dxreDialog_SpnRowsNumber.GetValue();
        returnedObject.isMergeBeforeSplit = dxreDialog_ChkMergeCells.GetValue();
        return returnedObject;
    }
}

;// CONCATENATED MODULE: ./src/aspx/ui/dialogs/table/re-table-properties-dialog.ts







class RETablePropertiesDialog extends aspx_rich_edit_dialog/* ASPxRichEditDialog */.h {
    GetDialogCaptionText() {
        return ASPxClientRichEdit.ASPxRichEditDialogList.Titles.TableProperties;
    }
    InitializeDialogFields(parameters) {
        if (parameters.useDefaultTableWidth !== null && !parameters.useDefaultTableWidth) {
            dxreDialog_ChkTablePrefWidth.SetChecked(true);
            this.SetEnabledForTablePreferredWidth(true);
        }
        dxreDialog_CbxTableMeasureIn.SetValue(parameters.tablePreferredWidth.type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ? parameters.tablePreferredWidth.type : table_units/* TableWidthUnitType */.HO.ModelUnits);
        dxreDialog_SpnTablePrefWidth.displayFormat = this.getUnitFormatString(parameters.tablePreferredWidth.type);
        dxreDialog_SpnTablePrefWidth.SetValue(this.modelUnitToPercent(parameters.tablePreferredWidth.type, parameters.tablePreferredWidth.value));
        dxreDialog_RblAligment.SetValue(parameters.tableRowAlignment);
        dxreDialog_SpnIndentLeft.SetValue(parameters.tableIndent);
        dxreDialog_ChkAllowSpacing.SetValue(parameters.allowCellSpacing);
        dxreDialog_SpnSpacing.SetEnabled(parameters.allowCellSpacing);
        dxreDialog_SpnSpacing.SetValue(parameters.cellSpacing);
        dxreDialog_ChkAutoResize.SetValue(parameters.resizeToFitContent);
        dxreDialog_SpnTopMarginDefault.SetValue(parameters.defaultCellMarginTop);
        dxreDialog_SpnLeftMarginDefault.SetValue(parameters.defaultCellMarginLeft);
        dxreDialog_SpnRightMarginDefault.SetValue(parameters.defaultCellMarginRight);
        dxreDialog_SpnBottomMarginDefault.SetValue(parameters.defaultCellMarginBottom);
        if (parameters.useDefaultRowHeight !== null && !parameters.useDefaultRowHeight) {
            dxreDialog_ChkSpecifyHeight.SetChecked(true);
            this.SetEnabledForRowHeight(true);
        }
        dxreDialog_SpnRowHeight.SetValue(parameters.rowHeight.value);
        dxreDialog_CbxRowHeight.SetValue(parameters.rowHeight.type);
        if (parameters.useDefaultColumnWidth !== null && !parameters.useDefaultColumnWidth) {
            dxreDialog_ChkColumnPrefWidth.SetValue(true);
            this.SetEnabledForColumnPreferredWidth(true);
        }
        dxreDialog_CbxColumnMeasureIn.SetValue(parameters.columnPreferredWidth.type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ? parameters.columnPreferredWidth.type : table_units/* TableWidthUnitType */.HO.ModelUnits);
        dxreDialog_SpnColumnPrefWidth.displayFormat = this.getUnitFormatString(parameters.columnPreferredWidth.type);
        dxreDialog_SpnColumnPrefWidth.SetValue(this.modelUnitToPercent(parameters.columnPreferredWidth.type, parameters.columnPreferredWidth.value));
        if (parameters.useDefaultCellWidth !== null && !parameters.useDefaultCellWidth) {
            dxreDialog_ChkCellPrefWidth.SetValue(true);
            this.SetEnabledForCellPreferredWidth(true);
        }
        dxreDialog_CbxCellMeasureIn.SetValue(parameters.cellPreferredWidth.type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ? parameters.cellPreferredWidth.type : table_units/* TableWidthUnitType */.HO.ModelUnits);
        dxreDialog_SpnCellPrefWidth.displayFormat = this.getUnitFormatString(parameters.cellPreferredWidth.type);
        dxreDialog_SpnCellPrefWidth.SetValue(this.modelUnitToPercent(parameters.cellPreferredWidth.type, parameters.cellPreferredWidth.value));
        dxreDialog_RblVerticalAligment.SetValue(parameters.cellVerticalAlignment);
        dxreDialog_ChkWrapText.SetValue(parameters.cellNoWrap !== null ? !parameters.cellNoWrap : null);
        dxreDialog_ChkSameAsTable.SetValue(parameters.cellMarginsSameAsTable);
        dxreDialog_SpnTopMargin.SetValue(parameters.cellMarginTop);
        dxreDialog_SpnLeftMargin.SetValue(parameters.cellMarginLeft);
        dxreDialog_SpnRightMargin.SetValue(parameters.cellMarginRight);
        dxreDialog_SpnBottomMargin.SetValue(parameters.cellMarginBottom);
        this.SetEnabledForCellMargins(!parameters.cellMarginsSameAsTable);
        this.setMinMaxValuesForEdits();
        dxreDialog_TablePropertiesPageControl.SetActiveTab(dxreDialog_TablePropertiesPageControl.GetTabByName(parameters.initialTab));
    }
    setMinMaxValuesForEdits() {
        dxreDialog_SpnTablePrefWidth.SetMinValue(TablePropertiesDialogDefaults.MinTableWidthByDefault);
        dxreDialog_SpnTablePrefWidth.SetMaxValue(this.GetTableWidthMaxValueConsiderWidthUnitType(dxreDialog_CbxTableMeasureIn.GetValue()));
        dxreDialog_SpnColumnPrefWidth.SetMinValue(TablePropertiesDialogDefaults.MinColumnWidthByDefault);
        dxreDialog_SpnColumnPrefWidth.SetMaxValue(this.GetColumnWidthMaxValueConsiderWidthUnitType(dxreDialog_CbxColumnMeasureIn.GetValue()));
        dxreDialog_SpnCellPrefWidth.SetMinValue(TablePropertiesDialogDefaults.MinCellWidthByDefault);
        dxreDialog_SpnCellPrefWidth.SetMaxValue(this.GetCellWidthMaxValueConsiderWidthUnitType(dxreDialog_CbxCellMeasureIn.GetValue()));
        dxreDialog_SpnRowHeight.SetMinValue(this.richedit.core.uiUnitConverter.twipsToUI(TablePropertiesDialogDefaults.MinRowHeightByDefault));
        dxreDialog_SpnRowHeight.SetMaxValue(this.richedit.core.uiUnitConverter.twipsToUI(TablePropertiesDialogDefaults.MaxRowHeightByDefault));
        dxreDialog_SpnIndentLeft.SetMinValue(this.richedit.core.uiUnitConverter.twipsToUI(TablePropertiesDialogDefaults.MinTableIndentByDefault));
        dxreDialog_SpnIndentLeft.SetMaxValue(this.richedit.core.uiUnitConverter.twipsToUI(TablePropertiesDialogDefaults.MaxTableIndentByDefault));
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_ChkTablePrefWidth.CheckedChanged.AddHandler((s) => {
            this.SetEnabledForTablePreferredWidth(s.GetValue());
        });
        dxreDialog_CbxTableMeasureIn.ValueChanged.AddHandler((s) => {
            dxreDialog_SpnTablePrefWidth.displayFormat = this.getUnitFormatString(s.GetValue());
            var value = this.switchMeasureIn(s.GetValue(), dxreDialog_SpnTablePrefWidth.GetValue(), this.parameters.maxTableWidth);
            dxreDialog_SpnTablePrefWidth.SetValue(value);
            dxreDialog_SpnTablePrefWidth.SetMaxValue(this.GetTableWidthMaxValueConsiderWidthUnitType(s.GetValue()));
        });
        dxreDialog_RblAligment.ValueChanged.AddHandler((s) => {
            dxreDialog_SpnIndentLeft.SetEnabled(s.GetValue() === table_base_structures/* HorizontalAlignMode */.Kv.Left);
        });
        dxreDialog_ChkAllowSpacing.CheckedChanged.AddHandler((s) => {
            dxreDialog_SpnSpacing.SetEnabled(s.GetValue());
        });
        dxreDialog_ChkSpecifyHeight.CheckedChanged.AddHandler((s) => {
            this.SetEnabledForRowHeight(s.GetValue());
        });
        dxreDialog_ChkColumnPrefWidth.CheckedChanged.AddHandler((s) => {
            dxreDialog_SpnColumnPrefWidth.SetEnabled(s.GetValue());
            dxreDialog_CbxColumnMeasureIn.SetEnabled(s.GetValue());
        });
        dxreDialog_CbxColumnMeasureIn.ValueChanged.AddHandler((s) => {
            dxreDialog_SpnColumnPrefWidth.displayFormat = this.getUnitFormatString(s.GetValue());
            var value = this.switchMeasureIn(s.GetValue(), dxreDialog_SpnColumnPrefWidth.GetValue(), this.getMaxCellAvailableWidth());
            dxreDialog_SpnColumnPrefWidth.SetValue(value);
            dxreDialog_SpnColumnPrefWidth.SetMaxValue(this.GetColumnWidthMaxValueConsiderWidthUnitType(s.GetValue()));
        });
        dxreDialog_ChkCellPrefWidth.CheckedChanged.AddHandler((s) => {
            dxreDialog_SpnCellPrefWidth.SetEnabled(s.GetValue());
            dxreDialog_CbxCellMeasureIn.SetEnabled(s.GetValue());
        });
        dxreDialog_CbxCellMeasureIn.ValueChanged.AddHandler((s) => {
            dxreDialog_SpnCellPrefWidth.displayFormat = this.getUnitFormatString(s.GetValue());
            var value = this.switchMeasureIn(s.GetValue(), dxreDialog_SpnCellPrefWidth.GetValue(), this.getMaxCellAvailableWidth());
            dxreDialog_SpnCellPrefWidth.SetValue(value);
            dxreDialog_SpnCellPrefWidth.SetMaxValue(this.GetCellWidthMaxValueConsiderWidthUnitType(s.GetValue()));
        });
        dxreDialog_ChkSameAsTable.CheckedChanged.AddHandler((s) => {
            this.SetEnabledForCellMargins(!s.GetValue());
        });
        dxreDialog_BtnBorderShading.Click.AddHandler(() => this.ShowBorderShadingForm(undefined));
    }
    SetEnabledForTablePreferredWidth(value) {
        dxreDialog_SpnTablePrefWidth.SetEnabled(value);
        dxreDialog_CbxTableMeasureIn.SetEnabled(value);
    }
    SetEnabledForColumnPreferredWidth(value) {
        dxreDialog_SpnColumnPrefWidth.SetEnabled(value);
        dxreDialog_CbxColumnMeasureIn.SetEnabled(value);
    }
    SetEnabledForCellPreferredWidth(value) {
        dxreDialog_SpnCellPrefWidth.SetEnabled(value);
        dxreDialog_CbxCellMeasureIn.SetEnabled(value);
    }
    SetEnabledForRowHeight(value) {
        dxreDialog_SpnRowHeight.SetEnabled(value);
        dxreDialog_CbxRowHeight.SetEnabled(value);
    }
    SetEnabledForCellMargins(value) {
        dxreDialog_SpnTopMargin.SetEnabled(value);
        dxreDialog_SpnLeftMargin.SetEnabled(value);
        dxreDialog_SpnRightMargin.SetEnabled(value);
        dxreDialog_SpnBottomMargin.SetEnabled(value);
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.tablePreferredWidth.type = dxreDialog_CbxTableMeasureIn.GetValue();
        returnedObject.tablePreferredWidth.value = this.percentToModelUnit(returnedObject.tablePreferredWidth.type, dxreDialog_SpnTablePrefWidth.GetValue());
        returnedObject.useDefaultTableWidth = dxreDialog_ChkTablePrefWidth.GetValue() !== null ? !dxreDialog_ChkTablePrefWidth.GetValue() : null;
        returnedObject.tableRowAlignment = dxreDialog_RblAligment.GetValue();
        returnedObject.tableIndent = dxreDialog_SpnIndentLeft.GetValue();
        returnedObject.allowCellSpacing = dxreDialog_ChkAllowSpacing.GetValue();
        returnedObject.cellSpacing = dxreDialog_SpnSpacing.GetValue();
        returnedObject.resizeToFitContent = dxreDialog_ChkAutoResize.GetValue();
        returnedObject.defaultCellMarginTop = dxreDialog_SpnTopMarginDefault.GetValue();
        returnedObject.defaultCellMarginLeft = dxreDialog_SpnLeftMarginDefault.GetValue();
        returnedObject.defaultCellMarginRight = dxreDialog_SpnRightMarginDefault.GetValue();
        returnedObject.defaultCellMarginBottom = dxreDialog_SpnBottomMarginDefault.GetValue();
        returnedObject.useDefaultRowHeight = dxreDialog_ChkSpecifyHeight.GetValue() !== null ? !dxreDialog_ChkSpecifyHeight.GetValue() : null;
        returnedObject.rowHeight.type = dxreDialog_CbxRowHeight.GetValue();
        returnedObject.rowHeight.value = dxreDialog_SpnRowHeight.GetValue();
        returnedObject.cantSplit = undefined;
        returnedObject.columnPreferredWidth.type = dxreDialog_CbxColumnMeasureIn.GetValue();
        if (this.checkValueChanged(returnedObject.columnPreferredWidth.value, this.percentToModelUnit(returnedObject.columnPreferredWidth.type, dxreDialog_SpnColumnPrefWidth.GetValue())))
            returnedObject.columnPreferredWidth.value = this.percentToModelUnit(returnedObject.columnPreferredWidth.type, dxreDialog_SpnColumnPrefWidth.GetValue());
        returnedObject.useDefaultColumnWidth = dxreDialog_ChkColumnPrefWidth.GetValue() !== null ? !dxreDialog_ChkColumnPrefWidth.GetValue() : null;
        returnedObject.cellPreferredWidth.type = dxreDialog_CbxCellMeasureIn.GetValue();
        if (this.checkValueChanged(returnedObject.cellPreferredWidth.value, this.percentToModelUnit(returnedObject.cellPreferredWidth.type, dxreDialog_SpnCellPrefWidth.GetValue())))
            returnedObject.cellPreferredWidth.value = this.percentToModelUnit(returnedObject.cellPreferredWidth.type, dxreDialog_SpnCellPrefWidth.GetValue());
        returnedObject.useDefaultCellWidth = dxreDialog_ChkCellPrefWidth.GetValue() !== null ? !dxreDialog_ChkCellPrefWidth.GetValue() : null;
        returnedObject.cellVerticalAlignment = dxreDialog_RblVerticalAligment.GetValue();
        returnedObject.cellNoWrap = dxreDialog_ChkWrapText.GetValue() !== null ? !dxreDialog_ChkWrapText.GetValue() : null;
        returnedObject.cellMarginsSameAsTable = dxreDialog_ChkSameAsTable.GetValue();
        returnedObject.cellMarginTop = dxreDialog_SpnTopMargin.GetValue();
        returnedObject.cellMarginRight = dxreDialog_SpnRightMargin.GetValue();
        returnedObject.cellMarginBottom = dxreDialog_SpnBottomMargin.GetValue();
        returnedObject.cellMarginLeft = dxreDialog_SpnLeftMargin.GetValue();
        return returnedObject;
    }
    switchMeasureIn(targetType, value, maxWidth) {
        if (targetType === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return value / maxWidth * 100;
        else
            return value / 100 * maxWidth;
    }
    percentToModelUnit(type, valueFromUI) {
        return type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ? Math.floor(valueFromUI * 50) : valueFromUI;
    }
    modelUnitToPercent(type, valueForUI) {
        return type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ? valueForUI / 50 : valueForUI;
    }
    getUnitFormatString(unitType) {
        var abbreviation = unitType === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ?
            this.richedit.unitAbbreviations.percent : this.richedit.unitAbbreviations.unit;
        return "{0}" + abbreviation;
    }
    GetTableWidthMaxValueConsiderWidthUnitType(type) {
        if (type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return TablePropertiesDialogDefaults.MaxTableWidthInPercentByDefault;
        return this.richedit.core.uiUnitConverter.twipsToUI(TablePropertiesDialogDefaults.MaxTableWidthInModelUnitsByDefault);
    }
    GetColumnWidthMaxValueConsiderWidthUnitType(type) {
        if (type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return TablePropertiesDialogDefaults.MaxColumnWidthInPercentByDefault;
        return this.richedit.core.uiUnitConverter.twipsToUI(TablePropertiesDialogDefaults.MaxColumnWidthInModelUnitsByDefault);
    }
    GetCellWidthMaxValueConsiderWidthUnitType(type) {
        if (type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return TablePropertiesDialogDefaults.MaxCellWidthInPercentByDefault;
        return this.richedit.core.uiUnitConverter.twipsToUI(TablePropertiesDialogDefaults.MaxCellWidthInModelUnitsByDefault);
    }
    getMaxCellAvailableWidth() {
        var maxCellWidth = this.parameters.tablePreferredWidth.type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ?
            this.switchMeasureIn(table_units/* TableWidthUnitType */.HO.ModelUnits, this.modelUnitToPercent(this.parameters.tablePreferredWidth.type, this.parameters.tablePreferredWidth.value), this.parameters.maxTableWidth) :
            this.parameters.tablePreferredWidth.value;
        return maxCellWidth ? maxCellWidth : this.parameters.maxTableWidth;
    }
    checkValueChanged(oldValue, newValue) {
        return oldValue.toFixed(2) !== newValue.toFixed(2);
    }
    ShowBorderShadingForm(_clientCommand) {
        this.OnComplete(0);
        var parameters = this.GetResultParameters();
        parameters.applyConverter(this.richedit.core.uiUnitConverter.UIToTwips);
        this.richedit.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowServiceBorderShadingForm)
            .execute(this.richedit.core.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.richedit.core, parameters));
    }
    GetFocusedElement() {
        return dxreDialog_BtnOk;
    }
}

;// CONCATENATED MODULE: ./src/aspx/utils/office-handler-utils.ts
class OfficeHandlerUtils {
    static getHandlerResourceUrl(pageUrl) {
        var url = pageUrl ? pageUrl : document.URL;
        if (url.indexOf("?") != -1)
            url = url.substring(0, url.indexOf("?"));
        if (url.indexOf("#") != -1)
            url = url.substring(0, url.indexOf("#"));
        if (/.*\.aspx$/.test(url))
            url = url.substring(0, url.lastIndexOf("/") + 1);
        else if (url.lastIndexOf("/") != url.length - 1)
            url += "/";
        return url;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-auto-correct-event-args.ts
class ASPxClientRichEditAutoCorrectEventArgs extends ASPxClientEventArgs {
    constructor(text, interval, handled) {
        super();
        this.handled = handled;
        this.text = text;
        this.interval = interval;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-character-properties-changed-event-args.ts
class ASPxClientRichEditCharacterPropertiesChangedEventArgs extends ASPxClientEventArgs {
    constructor(subDocumentId, interval) {
        super();
        this.subDocumentId = subDocumentId;
        this.interval = interval;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-content-inserted-event-args.ts
class ASPxClientRichEditContentInsertedEventArgs extends ASPxClientEventArgs {
    constructor(subDocumentId, interval) {
        super();
        this.subDocumentId = subDocumentId;
        this.interval = interval;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-content-removed-event-args.ts
class ASPxClientRichEditContentRemovedEventArgs extends ASPxClientEventArgs {
    constructor(subDocumentId, interval, removedText) {
        super();
        this.subDocumentId = subDocumentId;
        this.interval = interval;
        this.removedText = removedText;
    }
}

// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-custom-command-executed-event-args.ts
var aspx_client_rich_edit_custom_command_executed_event_args = __webpack_require__(8006);
;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-document-formatted-event-args.ts
class ASPxClientRichEditDocumentFormattedEventArgs extends ASPxClientEventArgs {
    constructor(pageCount) {
        super();
        this.pageCount = pageCount;
    }
}

// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-hyperlink-click-event-args.ts
var aspx_client_rich_edit_hyperlink_click_event_args = __webpack_require__(1377);
;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-key-down-event-args.ts
class ASPxClientRichEditKeyDownEventArgs extends ASPxClientEventArgs {
    constructor(htmlEvent, handled) {
        super();
        this.handled = handled;
        this.htmlEvent = htmlEvent;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-key-up-event-args.ts
class ASPxClientRichEditKeyUpEventArgs extends ASPxClientEventArgs {
    constructor(htmlEvent) {
        super();
        this.htmlEvent = htmlEvent;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-paragraph-properties-changed-event-args.ts
class ASPxClientRichEditParagraphPropertiesChangedEventArgs extends ASPxClientEventArgs {
    constructor(subDocumentId, paragraphIndex) {
        super();
        this.subDocumentId = subDocumentId;
        this.paragraphIndex = paragraphIndex;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-pointer-down-event-args.ts
class ASPxClientRichEditPointerDownEventArgs extends ASPxClientEventArgs {
    constructor(htmlEvent, handled) {
        super();
        this.handled = handled;
        this.htmlEvent = htmlEvent;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-pointer-up-event-args.ts
class ASPxClientRichEditPointerUpEventArgs extends ASPxClientEventArgs {
    constructor(htmlEvent, handled) {
        super();
        this.handled = handled;
        this.htmlEvent = htmlEvent;
    }
}

// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-popup-menu-item-collection.ts
var aspx_client_rich_edit_popup_menu_item_collection = __webpack_require__(3414);
// EXTERNAL MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-popup-menu-showing-event-args.ts
var aspx_client_rich_edit_popup_menu_showing_event_args = __webpack_require__(2057);
;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/event-args/floating-object-moved.ts
class ASPxClientRichEditFloatingObjectMovedEventArgs extends ASPxClientEventArgs {
    constructor(subDocumentId, newPosition, pageIntervals, pageIndex, objectX, objectY) {
        super();
        this.newPosition = newPosition;
        this.subDocumentId = subDocumentId;
        this.pageIntervals = pageIntervals;
        this.pageIndex = pageIndex;
        this.objectX = objectX;
        this.objectY = objectY;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/rich-edit-update-watcher-helper.ts

class RichEditUpdateWatcherHelper extends ASPx.UpdateWatcherHelper {
    constructor(owner) {
        super(owner);
        this.confirmOnCallback = false;
        this.confirmOnPostback = false;
        this.isInUploadControlCallback = false;
        this.richedit = owner;
    }
    HasChanges() {
        return this.richedit.getModifiedState();
    }
    NeedConfirmOnCallback(_dxCallbackOwner, arg) {
        return this.confirmOnCallback && arg.indexOf(rich_edit_owner_constants/* constants */._.InternalCallbackPrefix) !== 0;
    }
    NeedConfirmOnPostback() {
        return this.confirmOnPostback;
    }
    GetConfirmUpdateText() {
        return this.richedit.getConfirmUpdateText();
    }
    SetConfirmOnCallbackEnabled(enabled) {
        this.confirmOnCallback = enabled;
    }
    SetConfirmOnPostbackEnabled(enabled) {
        this.confirmOnPostback = enabled;
    }
    StartImageUploadCallback() {
        this.isInUploadControlCallback = true;
    }
    EndImageUploadCallback() {
        this.isInUploadControlCallback = false;
    }
    isInUploadCallback() {
        return this.isInUploadControlCallback;
    }
}

// EXTERNAL MODULE: ./src/common/utils/size-utils.ts
var size_utils = __webpack_require__(4585);
;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit-horizontal-ruler-visible-changed-event-args.ts
class ASPxClientRichEditHorizontalRulerVisibleChangedEventArgs extends ASPxClientEventArgs {
    constructor(horizontalRulerVisible) {
        super();
        this.horizontalRulerVisible = horizontalRulerVisible;
    }
}

;// CONCATENATED MODULE: ./src/aspx/rich-edit-owner/aspx-client-rich-edit.ts














































































class ASPxClientRichEdit extends ASPxClientControl {
    static getActiveDialog() {
        var richedit = ASPx.GetControlCollection().Get(ASPx.currentControlNameInDialog);
        return richedit != null ? ASPx.Dialog.GetLastDialog(richedit) : null;
    }
    constructor(name) {
        super(name);
        this.needUseSvg = false;
        this.rulerSettings = null;
        this.bookmarksSettings = null;
        this.spellCheckerSettings = null;
        this.autoCorrectSettings = null;
        this.mailMergeOptions = null;
        this._pdfContentType = 'application/pdf';
        this.documentProtectionSettings = null;
        this.core = null;
        this.units = unit_converter/* RichEditUnit */.UH.Inch;
        this.clientGuid = null;
        this.readOnly = false;
        this.pendingCallbacks = [];
        this.isInternalServiceCallback = false;
        this.isInFullScreenMode = false;
        this.internalApi = {};
        this.CustomCommandExecuted = new ASPxClientEvent();
        this.BeginSynchronization = new ASPxClientEvent();
        this.EndSynchronization = new ASPxClientEvent();
        this.DocumentLoaded = new ASPxClientEvent();
        this.DocumentFormatted = new ASPxClientEvent();
        this.DocumentChanged = new ASPxClientEvent();
        this.ActiveSubDocumentChanged = new ASPxClientEvent();
        this.GotFocus = new ASPxClientEvent();
        this.LostFocus = new ASPxClientEvent();
        this.PointerDown = new ASPxClientEvent();
        this.PointerUp = new ASPxClientEvent();
        this.KeyDown = new ASPxClientEvent();
        this.KeyUp = new ASPxClientEvent();
        this.PopupMenuShowing = new ASPxClientEvent();
        this.HyperlinkClick = new ASPxClientEvent();
        this.SelectionChanged = new ASPxClientEvent();
        this.ContentInserted = new ASPxClientEvent();
        this.ContentRemoved = new ASPxClientEvent();
        this.CharacterPropertiesChanged = new ASPxClientEvent();
        this.ParagraphPropertiesChanged = new ASPxClientEvent();
        this.HorizontalRulerVisibleChanged = new ASPxClientEvent();
        this.AutoCorrect = new ASPxClientEvent();
        this.FloatingObjectMoved = new ASPxClientEvent();
        this.document = null;
        this.commands = null;
        this.selection = null;
        this.scroll = null;
        this.layout = null;
        this.unitConverter = null;
        this.requestSettings = null;
        if (!ASPxClientRichEdit.ASPxRichEditDialogList["FileSaveAs"]) {
            ASPxClientRichEdit.ASPxRichEditDialogList["FileSaveAs"] = new RESaveAsDialog("savefiledialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["FileOpen"] = new REOpenFileDialog("openfiledialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["EditFont"] = new REFontDialog("fontdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["EditParagraph"] = new REParagraphDialog("paragraphdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["PageSetup"] = new REPageSetupDialog("pagesetupdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["Columns"] = new REColumnsDialog("columnsdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["InsertTable"] = new REInsertTableDialog("inserttabledialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["InsertImage"] = new re_insert_image_dialog/* REInsertImageDialog */.X("insertimagedialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["ErrorMessage"] = new REErrorDialog("alertdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["NumberingList"] = new RENumberingListDialog("numberinglistdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["Hyperlink"] = new REHyperlinkDialog("hyperlinkdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["Tabs"] = new RETabsDialog("tabsdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["SimpleNumberingList"] = new RESimpleNumberingListDialog("simplenumberinglistdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["BulletedList"] = new REBulletedListDialog("bulletedlistdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["MultiLevelNumberingList"] = new REMultiLevelNumberingListDialog("multilevelnumberinglistdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["Symbols"] = new re_symbols_dialog/* RESymbolsDialog */._("symbolsdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["InsertMergeField"] = new REInsertMergeFieldDialog("insertmergefielddialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["FinishAndMerge"] = new REFinishAndMergeDialog("finishandmergedialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["Bookmarks"] = new REBookmarksDialog("bookmarksdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["TableProperties"] = new RETablePropertiesDialog("tablepropertiesdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["InsertTableCells"] = new REInsertTableCellsDialog("inserttablecellsdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["DeleteTableCells"] = new REDeleteTableCellsDialog("deletetablecellsdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["SplitTableCells"] = new RESplitTableCellsDialog("splittablecellsdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["BorderShading"] = new REBorderShadingDialog("bordershadingdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["FindReplace"] = new REFindReplaceDialog("findreplacedialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["Spelling"] = new RESpellingDialog("spellingdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["InformationMessage"] = new REInformationDialog("alertdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["WarningMessage"] = new REWarningDialog("alertdialog");
            ASPxClientRichEdit.ASPxRichEditDialogList["LayoutOptions"] = new RELayoutOptionsDialog("layoutoptionsdialog");
        }
    }
    DownloadPdf(fileName, options) {
        downloadPdf(this.core, this.core.documentInfo.getFileNameForDownload(fileName), options);
    }
    downloadPdf(fileName, options) {
        downloadPdf(this.core, this.core.documentInfo.getFileNameForDownload(fileName), options);
    }
    ExportToPdf(options) {
        pdfExport(this.core, (blob, _stream) => {
            base64.Base64Utils.fromBlobAsArrayBuffer(blob, base64 => this.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.PdfExported).execute(true, base64));
        }, options);
    }
    exportToPdf(options) {
        pdfExport(this.core, (blob, _stream) => {
            base64.Base64Utils.fromBlobAsArrayBuffer(blob, base64 => this.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.PdfExported).execute(true, base64));
        }, options);
    }
    get fileName() {
        return this.core.documentInfo.fileName;
    }
    set fileName(name) {
        this.core.documentInfo.fileName = name;
    }
    get documentSaveFormat() {
        return this.core.documentInfo.documentFormat;
    }
    set documentSaveFormat(format) {
        this.core.documentInfo.documentFormat = format;
    }
    get documentName() {
        return this.core.documentInfo.fileName;
    }
    set documentName(name) {
        this.core.documentInfo.fileName = name;
    }
    get documentFormat() {
        return this.core.documentInfo.documentFormat;
    }
    set documentFormat(format) {
        this.core.documentInfo.documentFormat = format;
    }
    InlineInitialize() {
        super.InlineInitialize();
        if (this.canInitializeCoreDuringPageParsing())
            this.InitializeRichEditCore();
    }
    Initialize() {
        super.Initialize();
        if (!this.canInitializeCoreDuringPageParsing())
            this.InitializeRichEditCore();
        this.fullScreenTempVars = {};
        this.isInFullScreenMode = false;
        if (this.getConfirmUpdateText())
            this.updateWatcherHelper = new RichEditUpdateWatcherHelper(this);
        if (!browser.Browser.TouchUI)
            this.initializeRefocus();
    }
    canInitializeCoreDuringPageParsing() {
        return !(browser.Browser.IE && browser.Browser.Version < 9);
    }
    AfterInitialize() {
        this.document = new api_document/* RichEditDocument */.jj(this.core);
        this.commands = new RichEditCommands(this.core);
        this.selection = new selection/* RichEditSelection */.S(this.core);
        this.layout = new layout/* RichEditLayout */.f(this.core);
        this.unitConverter = new RichEditUnitConverter();
        this.requestSettings = new RequestSettings(this.core);
        this.scroll = new RichEditScroll(this.core);
        this.core.globalEventDispatcher.beginUpdate();
        if (!this.core.serverDispatcher.onGetResponse(this.startResponse))
            this.throwSessionExpiredAlert();
        this.startResponse = null;
        super.AfterInitialize();
        this.core.globalEventDispatcher.endUpdate();
        this.AdjustControlCore();
        if (this.workSessionIsLost) {
            this.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowErrorSessionHasExpiredMessageCommand).execute(this.core.commandManager.isPublicApiCall);
            this.core.closeDocument();
        }
        if (this._workSessionIsLostNoError)
            this.core.closeDocument();
    }
    InitializeRichEditCore() {
        this.InitializeBars();
        const options = new RichOptions(new AspFormattersOptions());
        options.bookmarks.copyFrom(this.bookmarksSettings);
        options.mailMerge.copyFrom(this.mailMergeOptions);
        options.spellChecker.copyFrom(this.spellCheckerSettings);
        options.autoCorrect.copyFrom(this._translateAutoCorrectSettings());
        options.documentProtection.copyFrom(this.documentProtectionSettings);
        options.printing.copyFrom(this.printingSettings);
        options.fields.copyFrom(this.fieldsSettings);
        options.fonts.init(this._fonts);
        options.pdf.copyFrom(this._pdf);
        this.readOnly = this.readOnly || !this.enabled;
        this.barHolder.setEnabled(this.enabled);
        const core = new AspxRichEditCore(this, this.name, document.getElementById(this.name + rich_edit_owner_constants/* constants */._.MainID), this.clientGuid, this.readOnly, this.barHolder, this.units, this.rulerSettings, options, this.viewsSettings, this.stringResources);
        this.core = core;
        this.loadingPanel = new LoadingPanel(this.core);
    }
    _translateAutoCorrectSettings() {
        const autoCorrect = new AutoCorrectSettings();
        autoCorrect.correctTwoInitialCapitals = this.autoCorrectSettings.correctTwoInitialCapitals;
        autoCorrect.detectUrls = this.autoCorrectSettings.detectUrls;
        autoCorrect.enableAutomaticNumbering = this.autoCorrectSettings.enableAutomaticNumbering;
        autoCorrect.replaceTextAsYouType = this.autoCorrectSettings.replaceTextAsYouType;
        autoCorrect.caseSensitiveReplacement = this.autoCorrectSettings.replaceInfo.caseSensitive;
        autoCorrect.replaceInfoCollection = utils_list.ListUtils.map(this.autoCorrectSettings.replaceInfo.dictionary, (d) => new AutoCorrectReplaceInfo(d.what, d.with));
        return autoCorrect;
    }
    InitializeBars() {
        const ribbon = this.GetRibbon();
        this.barHolder = new AspxBarHolder(ribbon ? new AspxRibbonBar(this, ribbon) : undefined, this.createContextMenuBar(this.getPopupMenu(), this));
    }
    createContextMenuBar(popupMenu, clientRichEdit) {
        return new context_menu/* AspxContextMenuBar */.K(clientRichEdit, popupMenu);
    }
    getQuickSeachPanel() {
        if (!this.quickSearchPanel)
            this.quickSearchPanel = new QuickSearchPanel(this, this.core.searchManager);
        return this.quickSearchPanel;
    }
    getEditableDocument() {
        return this.core.inputController.getEditableDocument();
    }
    getModifiedState() {
        return this.core && !this.core.isDisposed ? this.core.getModifiedState() : json_top_level_enums/* IsModified */.sO.False;
    }
    initializeRefocus() {
        var statusBar = this.getStatusBar();
        if (statusBar)
            statusBar.addEventListener(touch.TouchUtils.touchMouseUpEventName, () => this.getRefocusHandler(), true);
        this.attachRefocusHandlerToRibbon();
    }
    getRefocusHandler() {
        if (!this.refocusHandler) {
            var refocusFunction = () => {
                var activeElement = document.activeElement;
                if (activeElement && !dom.DomUtils.isInteractiveControl(activeElement) && !this.hasActiveDialog())
                    this.Focus();
            };
            this.refocusHandler = (_evt) => { window.setTimeout(refocusFunction, 120); };
        }
        return this.refocusHandler;
    }
    attachRefocusHandlerToRibbon() {
        var ribbon = this.GetRibbon();
        if (ribbon)
            ribbon.GetMainElement().addEventListener(touch.TouchUtils.touchMouseUpEventName, () => this.getRefocusHandler(), true);
    }
    detachRefocusHandlerFromRibbon() {
        var ribbon = this.GetRibbon();
        if (ribbon)
            ASPx.Evt.DetachEventFromElement(ribbon.GetMainElement(), touch.TouchUtils.touchMouseUpEventName, this.getRefocusHandler());
    }
    getCustomCssClass(_key) {
        return "";
    }
    showDialog(commandID, parameters, callback, afterClosing, isModal) {
        var dialog = ASPxClientRichEdit.ASPxRichEditDialogList[commandID];
        if (dialog) {
            if (this.hasActiveDialog()) {
                var activeDialog = this.getCurrentDialog();
                activeDialog.HideDialog();
            }
            dialog.Execute(this, parameters, callback, afterClosing, isModal);
        }
        else
            alert("Dialog is not found");
    }
    canCaptureFocus() {
        return !browser.Browser.TouchUI ? !this.hasActiveModalDialog() && !this.getPopupMenu().IsVisible() : !this.hasActiveModalDialog();
    }
    hasActiveDialog() {
        return !!this.stateObject.currentDialog;
    }
    hasActiveModalDialog() {
        return this.hasActiveDialog() && this.getCurrentDialog().isModal;
    }
    getCurrentDialog() {
        return ASPx.Dialog.GetCurrentDialog(this.name);
    }
    sendInternalServiceCallback(callbackPrefix, arg, callbackOwnerControl) {
        arg = ASPx.FormatCallbackArg(rich_edit_owner_constants/* constants */._.InternalCallbackPrefix + callbackPrefix, arg);
        this.sendCallback(arg, callbackOwnerControl, true);
    }
    sendCallback(arg, callbackOwnerControl, isInternalServiceCallback, handler) {
        if (this.InCallback())
            this.pendingCallbacks.push([arg, callbackOwnerControl, isInternalServiceCallback, handler]);
        else
            this.createCallbackCore(arg, callbackOwnerControl, isInternalServiceCallback, handler);
    }
    createCallbackCore(arg, callbackOwnerControl, isInternalServiceCallback, handler) {
        this.isInternalServiceCallback = isInternalServiceCallback;
        if (callbackOwnerControl)
            this.setOwnerControlCallback(callbackOwnerControl);
        this.CreateCallback(arg, undefined, handler);
    }
    CreateCallback(arg, command, handler) {
        this.SpecifyCallbackWithWorkSessionID();
        super.CreateCallback(arg, command, handler);
    }
    SpecifyCallbackWithWorkSessionID() {
        ASPx.OfficeWorkSessionIDInputHelper.SetValue(this.core.sessionGuid);
    }
    DoEndCallback() {
        this.isInternalServiceCallback = false;
        if (this.callbackOwner != null && !this.isErrorOnCallback)
            this.callbackOwner.OnEndCallback();
        this.isErrorOnCallback = false;
        if (this.pendingCallbacks.length) {
            var callbackInfo = this.pendingCallbacks.shift();
            this.createCallbackCore(callbackInfo[0], callbackInfo[1], callbackInfo[2], callbackInfo[3]);
        }
        super.DoEndCallback();
    }
    clearOwnerControlCallback() {
        this.callbackOwner = null;
    }
    setOwnerControlCallback(owner) {
        this.callbackOwner = owner;
    }
    sendRequest(requestQueryString, viaInternalCallback) {
        var resourceUrl = this.getResourceUrl();
        if (viaInternalCallback)
            this.sendInternalServiceCallback(rich_edit_owner_constants/* constants */._.CommandsCallbackPrefix, requestQueryString);
        else {
            var postdata = "commands=" + requestQueryString;
            this.createXMLHttpRequest(resourceUrl, postdata);
        }
    }
    sendDownloadRequest(downloadRequestType, parameters) {
        let resourceUrl = this.getResourceUrl() + "&downloadRequestType=" + downloadRequestType;
        if (parameters)
            resourceUrl += `&parameters=${parameters}`;
        if (downloadRequestType == print_document_command/* DownloadRequestType */.D.PrintCurrentDocument &&
            !(ASPx.PDFPluginHelper.IsInstalled() || (browser.Browser.Safari && this.checkPdfPluginAvailable())))
            window.open(resourceUrl);
        else {
            var helperFrame = this.getHelperFrame();
            helperFrame.document.location = resourceUrl;
        }
    }
    checkPdfPluginAvailable() {
        const plugins = navigator.plugins;
        for (const key in plugins) {
            if (!Object.prototype.hasOwnProperty.call(plugins, key))
                continue;
            const plugin = plugins[key];
            for (const pluginKey in plugin) {
                if (!Object.prototype.hasOwnProperty.call(plugin, pluginKey))
                    continue;
                if (plugin[pluginKey].type == this._pdfContentType)
                    return true;
            }
        }
        return false;
    }
    getResourceUrl() {
        var url = OfficeHandlerUtils.getHandlerResourceUrl();
        url += "DXS.ashx?dxwsid=" + this.core.sessionGuid + "&c=" + this.clientGuid;
        return url;
    }
    createXMLHttpRequest(resourceUrl, postdata) {
        var xmlHttp = new XMLHttpRequest();
        var async = true;
        this.increaseHandlerRequestCount();
        xmlHttp.open("POST", resourceUrl, async);
        xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
        xmlHttp.onreadystatechange = () => {
            if (!this.core.isDisposed && xmlHttp.readyState === 4) {
                if (xmlHttp.status === 200) {
                    var response = xmlHttp.responseText;
                    this.onResponseReceived(response);
                }
                else if (xmlHttp.status === 404) {
                    this.core.serverDispatcher.reset();
                    this.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowErrorSessionHasExpiredMessageCommand)
                        .execute(this.core.commandManager.isPublicApiCall);
                }
            }
        };
        xmlHttp.onerror = function () {
        };
        xmlHttp.send(postdata);
        this.core.loadingPanelManager.statusBarLoadingPanel.setVisible(true);
    }
    onResponseReceived(jsonResponse) {
        if (this.core) {
            this.decreaseHandlerRequestCount();
            if (jsonResponse)
                if (!this.core.serverDispatcher.onGetResponse(jsonResponse))
                    this.throwSessionExpiredAlert();
            this.unlockEndCallbackEvent();
            this.core.loadingPanelManager.statusBarLoadingPanel.setVisible(false);
            this.raiseEndSynchronization();
        }
    }
    throwSessionExpiredAlert() {
        var text = ASPxClientRichEdit.ASPxRichEditDialogList.AlertTexts[AlertMessageText.SessionHasExpired];
        alert(text.replace(/<br\s*[\/]?>/gi, "\n"));
    }
    AdjustControlCore() {
        this.adjustRibbon();
        this.adjustMainView();
    }
    adjustControl() {
        this.AdjustControlCore();
    }
    adjustControlInFullScreenMode() {
        this.SetWidth(ASPx.GetDocumentClientWidth());
        this.SetHeight(ASPx.GetDocumentClientHeight() - this.getExternalRibbonControlHeight());
        this.AdjustControlCore();
        this.adjustPlaceholderDiv();
    }
    adjustMainView() {
        var mainViewElement = this.getMainViewElement();
        var viewElement = this.getViewElement();
        if (mainViewElement && this.core) {
            if (this.core.horizontalRulerControl)
                this.core.horizontalRulerControl.adjust();
            var innerControlsHeight = this.getInternalRibbonControlHeight() + this.getStatusBarHeight();
            var rulerHeight = this.getRulerHeight();
            var height = size_utils/* SizeUtils */.F.getOffsetHeight(mainViewElement.parentNode) -
                (dom.DomUtils.getTopBottomPaddings(mainViewElement.parentNode) + dom.DomUtils.getVerticalBordersWidth(mainViewElement.parentNode))
                - innerControlsHeight - (dom.DomUtils.getTopBottomPaddings(mainViewElement) + dom.DomUtils.getVerticalBordersWidth(mainViewElement));
            if (height < 0)
                height = rulerHeight;
            mainViewElement.style.height = height + "px";
            viewElement.style.height = height - rulerHeight + "px";
            if (this.core.viewManager)
                this.core.viewManager.adjust(true);
        }
    }
    adjustRibbon() {
        var ribbonControl = this.GetRibbon();
        if (ribbonControl)
            ribbonControl.AdjustControl();
    }
    adjustPlaceholderDiv() {
        var ribbonControl = this.GetRibbon();
        if (ribbonControl)
            dom.DomUtils.setStyleSize(this.placeholderDiv.style, new geometry_size.Size(ribbonControl.GetWidth(), ribbonControl.GetHeight()));
    }
    ribbonStateChanged() {
        if (this.isInFullScreenMode && this.isRibbonExternal()) {
            AttributeUtils.changeElementStyleAttribute(this.GetMainElement(), "top", this.getExternalRibbonControlHeight() + "px");
            this.adjustControlInFullScreenMode();
        }
        else
            this.adjustMainView();
        if (!this.isRibbonExternal())
            if (this.GetRibbon().minimized)
                AttributeUtils.changeElementStyleAttribute(this.getQuickSeachPanel().getQuickSearchPanelWrapper(), "top", "0px");
            else
                ASPx.Attr.ResetStyleAttribute(this.getQuickSeachPanel().getQuickSearchPanelWrapper(), "top");
    }
    getRibbonControlHeight() {
        var ribbonControl = this.GetRibbon();
        return ribbonControl ? size_utils/* SizeUtils */.F.getOffsetHeight(ribbonControl.GetMainElement()) : 0;
    }
    getInternalRibbonControlHeight() {
        return this.isRibbonExternal() ? 0 : this.getRibbonControlHeight();
    }
    getExternalRibbonControlHeight() {
        return this.isRibbonExternal() ? this.getRibbonControlHeight() : 0;
    }
    getStatusBarHeight() {
        var statusBar = this.getStatusBar();
        return statusBar ? size_utils/* SizeUtils */.F.getOffsetHeight(statusBar) : 0;
    }
    getRulerHeight() {
        if (this.core.horizontalRulerControl)
            return this.core.horizontalRulerControl.getHeight();
        return 0;
    }
    SetFullscreenMode(fullscreen) {
        if (this.isInFullScreenMode === fullscreen)
            return;
        this.core.commandManager.getCommand(client_command/* RichEditClientCommand */.f.FullScreen).execute(this.core.commandManager.isPublicApiCall);
    }
    toggleFullScreenMode() {
        this.isInFullScreenMode = !this.isInFullScreenMode;
        if (this.isInFullScreenMode)
            this.setFullScreenMode();
        else
            this.setNormalMode();
    }
    actualFullScreen() {
        return ASPx.FullScreenUtils.inFullscreen();
    }
    changeNativeFullscreen(setModeOn) {
        if (window.self === window.top)
            return;
        if (setModeOn)
            this.subscribeFullscreenNativeChanged();
        else
            this.unsubscribeFullscreenNativeChanged();
        ASPx.FullScreenUtils.setFullscreen(setModeOn);
    }
    subscribeFullscreenNativeChanged() {
        ASPx.FullScreenUtils.subscribeChange(this.getFullscreenNativeChangedHandler());
    }
    unsubscribeFullscreenNativeChanged() {
        ASPx.FullScreenUtils.unsubscribeChange(this.getFullscreenNativeChangedHandler());
    }
    getFullscreenNativeChangedHandler() {
        return () => {
            const actualFullScreen = this.actualFullScreen();
            if (!actualFullScreen) {
                this.isInFullScreenMode = actualFullScreen;
                this.setNormalModeCore();
                this.barHolder.updateItemsState({
                    [client_command/* RichEditClientCommand */.f.FullScreen]: true
                });
            }
        };
    }
    setFullScreenMode() {
        this.changeNativeFullscreen(true);
        this.prepareFullScreenMode();
        this.togglePlaceholderDiv();
        if (this.isRibbonExternal())
            this.setExternalRibbonPositionOnPageTop();
        this.adjustControlInFullScreenMode();
    }
    setNormalMode() {
        this.changeNativeFullscreen(false);
        this.setNormalModeCore();
    }
    setNormalModeCore() {
        if (this.isRibbonExternal())
            this.restoreExternalRibbonPositionOnPage();
        var mainElement = this.GetMainElement();
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, "left");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, "top");
        if (!this.getLastDialog())
            this.restoreBodyScroll();
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, browser.Browser.IE ? "zIndex" : "z-index");
        document.body.style.margin = this.fullScreenTempVars.savedBodyMargin;
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, "position");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, browser.Browser.IE ? "borderTopWidth" : "border-top-width");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, browser.Browser.IE ? "borderLeftWidth" : "border-left-width");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, browser.Browser.IE ? "borderRightWidth" : "border-right-width");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(mainElement, browser.Browser.IE ? "borderBottomWidth" : "border-bottom-width");
        this.SetHeight(this.fullScreenTempVars.savedCurrentHeight);
        this.SetWidth(this.fullScreenTempVars.savedCurrentWidth);
        document.documentElement.scrollTop = this.fullScreenTempVars.savedBodyScrollTop;
        document.documentElement.scrollLeft = this.fullScreenTempVars.savedBodyScrollTop;
        this.togglePlaceholderDiv();
        this.AdjustControlCore();
    }
    prepareFullScreenMode() {
        var mainElement = this.GetMainElement();
        AttributeUtils.changeElementStyleAttribute(mainElement, browser.Browser.IE ? "borderTopWidth" : "border-top-width", "0px");
        AttributeUtils.changeElementStyleAttribute(mainElement, browser.Browser.IE ? "borderLeftWidth" : "border-left-width", "0px");
        AttributeUtils.changeElementStyleAttribute(mainElement, browser.Browser.IE ? "borderRightWidth" : "border-right-width", "0px");
        AttributeUtils.changeElementStyleAttribute(mainElement, browser.Browser.IE ? "borderBottomWidth" : "border-bottom-width", "0px");
        this.fullScreenTempVars.savedBodyScrollTop = dom.DomUtils.getDocumentScrollTop();
        this.fullScreenTempVars.savedBodyScrollLeft = dom.DomUtils.getDocumentScrollLeft();
        AttributeUtils.changeElementStyleAttribute(mainElement, "position", "fixed");
        AttributeUtils.changeElementStyleAttribute(mainElement, "top", this.getExternalRibbonControlHeight() + "px");
        AttributeUtils.changeElementStyleAttribute(mainElement, "left", "0px");
        AttributeUtils.changeElementStyleAttribute(mainElement, browser.Browser.IE ? "zIndex" : "z-index", '10001');
        this.hideBodyScroll();
        this.fullScreenTempVars.savedBodyMargin = document.body.style.margin;
        document.body.style.margin = "0";
        if ((0,base/* IsPercentageSize */.qn)(mainElement.style.width))
            this.fullScreenTempVars.savedCurrentWidth = mainElement.style.width;
        else
            this.fullScreenTempVars.savedCurrentWidth = this.GetWidth();
        if ((0,base/* IsPercentageSize */.qn)(mainElement.style.height))
            this.fullScreenTempVars.savedCurrentHeight = mainElement.style.height;
        else
            this.fullScreenTempVars.savedCurrentHeight = this.GetHeight();
    }
    hideBodyScroll() {
        ASPx.Attr.ChangeStyleAttribute(document.documentElement, "position", "static");
        ASPx.Attr.ChangeStyleAttribute(document.documentElement, "overflow", "hidden");
    }
    restoreBodyScroll() {
        if (!ASPx.Dialog.GetLastDialog(this)) {
            ASPx.Attr.RestoreStyleAttribute(document.documentElement, "overflow");
            ASPx.Attr.RestoreStyleAttribute(document.documentElement, "position");
        }
    }
    togglePlaceholderDiv() {
        if (!this.placeholderDiv) {
            this.placeholderDiv = ASPx.CreateHtmlElement();
            ASPx.InsertElementAfter(this.placeholderDiv, this.GetMainElement());
            dom.DomUtils.addClassName(this.placeholderDiv, rich_edit_owner_constants/* constants */._.PlaceholderDivCssClass);
        }
        this.placeholderDiv.style.display = this.isInFullScreenMode ? '' : 'none';
    }
    setExternalRibbonPositionOnPageTop() {
        var ribbonMainElement = this.GetRibbon().GetMainElement();
        if (ribbonMainElement.style.position == "fixed")
            return;
        AttributeUtils.changeElementStyleAttribute(ribbonMainElement, "position", "fixed");
        AttributeUtils.changeElementStyleAttribute(ribbonMainElement, "top", "0px");
        AttributeUtils.changeElementStyleAttribute(ribbonMainElement, "left", "0px");
        AttributeUtils.changeElementStyleAttribute(ribbonMainElement, browser.Browser.IE ? "zIndex" : "z-index", '10002');
        if ((0,base/* IsPercentageSize */.qn)(ribbonMainElement.style.width))
            this.fullScreenTempVars.saveRibbonWidth = ribbonMainElement.style.width;
        else
            this.fullScreenTempVars.saveRibbonWidth = this.GetRibbon().GetWidth();
        ribbonMainElement.style.width = "100%";
    }
    restoreExternalRibbonPositionOnPage() {
        var ribbonMainElement = this.GetRibbon().GetMainElement();
        if (!ribbonMainElement.style.position)
            return;
        attr/* AttrUtils */.F.restoreElementStyleAttribute(ribbonMainElement, "left");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(ribbonMainElement, "top");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(ribbonMainElement, "position");
        attr/* AttrUtils */.F.restoreElementStyleAttribute(ribbonMainElement, browser.Browser.IE ? "zIndex" : "z-index");
        if (this.fullScreenTempVars.saveRibbonWidth) {
            if (!IsNumber(this.fullScreenTempVars.saveRibbonWidth) && (0,base/* IsPercentageSize */.qn)(this.fullScreenTempVars.saveRibbonWidth))
                ribbonMainElement.style.width = this.fullScreenTempVars.saveRibbonWidth;
            else
                ribbonMainElement.style.width = this.fullScreenTempVars.saveRibbonWidth + "px";
            this.fullScreenTempVars.saveRibbonWidth = undefined;
        }
    }
    SetWidth(width, skipAdjustControl) {
        if (!IsNumber(width) && (0,base/* IsPercentageSize */.qn)(width))
            this.setSizeInPercentage("width", width);
        else
            super.SetWidth(width);
        if (!skipAdjustControl)
            this.AdjustControl();
    }
    SetHeight(height, skipAdjustControl) {
        if (!IsNumber(height) && (0,base/* IsPercentageSize */.qn)(height))
            this.setSizeInPercentage("height", height);
        else
            super.SetHeight(height);
        if (!skipAdjustControl)
            this.AdjustControl();
    }
    setSizeInPercentage(sizePropertyName, size) {
        this.GetMainElement().style[sizePropertyName] = size;
        this.UpdateAdjustmentFlags();
    }
    isRibbonExternal() {
        return !!this.ribbonClientID;
    }
    isRibbon(element) {
        var ribbon = this.GetRibbon();
        return ribbon ? dom.DomUtils.isItParent(ribbon.GetMainElement(), element) : false;
    }
    getRibbonBar() {
        return this.barHolder.ribbon;
    }
    GetRibbon() {
        var ribbonID = this.ribbonClientID || this.name + rich_edit_owner_constants/* constants */._.RibbonID;
        var ribbon = ASPx.GetControlCollection().Get(ribbonID);
        return ribbon && (0,base/* IsValidElement */.Wb)(ribbon.GetMainElement()) ? ribbon : null;
    }
    getStatusBar() {
        return this.GetChildElement(rich_edit_owner_constants/* constants */._.Bar);
    }
    getMainViewElement() {
        return this.GetChildElement(rich_edit_owner_constants/* constants */._.MainID);
    }
    getViewElement() {
        return this.GetChildElement(rich_edit_owner_constants/* constants */._.ViewID);
    }
    GetDialogPopupControl() {
        return ASPx.GetControlCollection().Get(this.name + rich_edit_owner_constants/* constants */._.DialogControlID);
    }
    getDialogModalWindow() {
        return ASPx.GetControlCollection().Get(this.name + rich_edit_owner_constants/* constants */._.ModalDialogControlID);
    }
    getLastDialog() {
        return ASPx.Dialog.GetLastDialog(this);
    }
    getPopupMenu() {
        return ASPx.GetControlCollection().Get(this.name + rich_edit_owner_constants/* constants */._.PopupMenuControlID);
    }
    getHelperFrame() {
        if (browser.Browser.Firefox)
            this.removeHelperFrame();
        if (!this.helperFrame)
            this.helperFrame = this.createHelperFrame();
        return this.helperFrame;
    }
    createHelperFrame() {
        var helperFrame = document.createElement("iframe");
        var frameSize = browser.Browser.Safari ? "1px" : "0px";
        helperFrame.style.width = frameSize;
        helperFrame.style.height = frameSize;
        helperFrame.name = this.name + rich_edit_owner_constants/* constants */._.HelperFrameID;
        helperFrame.id = this.name + rich_edit_owner_constants/* constants */._.HelperFrameID;
        helperFrame.className = rich_edit_owner_constants/* constants */._.HelperFrameCssClass;
        if (this.shouldPrintOnLoad()) {
            helperFrame.addEventListener("load", () => {
                if (helperFrame.contentDocument.contentType === this._pdfContentType) {
                    if (browser.Browser.Safari) {
                        setTimeout(() => {
                            this.printHelperFrame(helperFrame);
                        }, 100);
                    }
                    else
                        this.printHelperFrame(helperFrame);
                }
            });
        }
        this.GetMainElement().appendChild(helperFrame);
        return window.frames[helperFrame.name];
    }
    shouldPrintOnLoad() {
        if ((browser.Browser.Chrome || browser.Browser.Opera) && browser.Browser.Version >= 77)
            return true;
        if (browser.Browser.Safari)
            return true;
        return false;
    }
    printHelperFrame(helperFrame) {
        helperFrame.contentWindow.print();
    }
    removeHelperFrame() {
        var frameElement = this.GetChildElement(rich_edit_owner_constants/* constants */._.HelperFrameID);
        if (frameElement)
            this.GetMainElement().removeChild(frameElement);
        try {
            delete window.frames[this.name + rich_edit_owner_constants/* constants */._.HelperFrameID];
        }
        catch (e) { }
        if (this.helperFrame)
            this.helperFrame = null;
    }
    getChildElement(postfix) {
        return this.GetChildElement(postfix);
    }
    getMainElement() {
        return this.GetMainElement();
    }
    increaseHandlerRequestCount() {
        this.handlerRequestCount++;
    }
    decreaseHandlerRequestCount() {
        this.handlerRequestCount--;
    }
    InHandlerRequestProcessing() {
        return this.handlerRequestCount > 0;
    }
    InCallback() {
        return this.InHandlerRequestProcessing() || super.InCallback();
    }
    lockEndCallbackEvent() {
        this.endCallbackEventLockCount++;
    }
    unlockEndCallbackEvent() {
        var wasLocked = this.endCallbackEventLocked();
        if (wasLocked) {
            this.endCallbackEventLockCount--;
            var unlocks = !this.endCallbackEventLocked();
            if (unlocks)
                this.RaiseEndCallback();
        }
    }
    endCallbackEventLocked() {
        return this.endCallbackEventLockCount > 0;
    }
    RaiseEndCallback() {
        if (this.endCallbackEventLocked())
            return;
        super.RaiseEndCallback();
    }
    OnCallback(result) {
        if (!this.isInternalServiceCallback)
            this.core.closeDocument();
        if (this.callbackOwner != null)
            this.callbackOwner.OnCallback(result);
        else if (typeof result === "string" && result.indexOf(rich_edit_owner_constants/* constants */._.CommandsCallbackPrefix + "|") === 0) {
            if (!this.core.serverDispatcher.onGetResponse(result.substr(rich_edit_owner_constants/* constants */._.CommandsCallbackPrefix.length + 1)))
                this.throwSessionExpiredAlert();
            this.raiseEndSynchronization();
        }
        else {
            this.core.setPersistentReadOnly(result.readOnly);
            this.core.initialize(result.sessionGuid, result.fileName, undefined, undefined);
            if (!this.core.serverDispatcher.onGetResponse(result.startResponse))
                this.throwSessionExpiredAlert();
        }
    }
    ProcessCallbackError(errorObj, callbackId) {
        super.ProcessCallbackError(errorObj, callbackId);
        this.ProcessDialogOnCallbackError();
        if (!this.isInternalServiceCallback)
            this.core.setPersistentReadOnly(false);
    }
    ProcessCallbackGeneralError(errorMessage, serverExceptionOnLastCallback) {
        super.ProcessCallbackGeneralError(errorMessage, serverExceptionOnLastCallback);
        this.ProcessDialogOnCallbackError();
        if (!this.isInternalServiceCallback)
            this.core.setPersistentReadOnly(false);
    }
    ProcessDialogOnCallbackError() {
        var lastDialog = this.getLastDialog();
        if (lastDialog != null)
            lastDialog.OnCallbackError();
    }
    BrowserWindowResizeSubscriber() {
        return this.isInFullScreenMode || super.BrowserWindowResizeSubscriber();
    }
    OnBrowserWindowResize(_e) {
        if (this.isInFullScreenMode)
            this.adjustControlInFullScreenMode();
        else
            this.AdjustControl();
    }
    ShowLoadingPanel() {
        if (!this.IsDOMDisposed())
            this.CreateLoadingPanelWithAbsolutePosition(this.GetMainElement(), this.GetLoadingPanelOffsetElement(this.core.viewManager.canvas));
    }
    getConfirmUpdateText() {
        return this.confirmUpdate;
    }
    getUpdateWatcherHelper() {
        return this.updateWatcherHelper;
    }
    setConfirmOnCallbackEnabled(enabled) {
        this.getUpdateWatcherHelper().SetConfirmOnCallbackEnabled(enabled);
    }
    setConfirmOnPostbackEnabled(enabled) {
        this.getUpdateWatcherHelper().SetConfirmOnPostbackEnabled(enabled);
    }
    confirmOnLosingChanges() {
        return this.getUpdateWatcherHelper() ? this.getUpdateWatcherHelper().ConfirmOnCustomControlEvent() : true;
    }
    documentUploadingStarted() {
        const updateWatcherHelper = this.getUpdateWatcherHelper();
        if (updateWatcherHelper)
            updateWatcherHelper.StartImageUploadCallback();
    }
    documentUploadingComplete() {
        const updateWatcherHelper = this.getUpdateWatcherHelper();
        if (updateWatcherHelper)
            updateWatcherHelper.EndImageUploadCallback();
    }
    syncSessionGuid(sessionGuid) {
        this.UpdateStateObjectWithObject({ dxwsid: sessionGuid });
    }
    Focus() {
        this.core.focusManager.captureFocus();
    }
    showPopupMenu(getPoint) {
        const contextMenuBar = this.barHolder.contextMenu;
        contextMenuBar.updateContextMenu();
        const menuItemCollection = new aspx_client_rich_edit_popup_menu_item_collection/* ASPxClientRichEditPopupMenuItemCollection */.Q(null, contextMenuBar.currentItemProperties);
        const cancel = this.raisePopupMenuShowing(menuItemCollection);
        if (!cancel) {
            contextMenuBar.createItems(menuItemCollection);
            const point = getPoint(contextMenuBar);
            contextMenuBar.control.ShowAtPos(point.x, point.y);
        }
    }
    getContextMenuBar() {
        return this.barHolder.contextMenu;
    }
    hidePopupMenu() {
        var popupMenu = this.getPopupMenu();
        if (popupMenu)
            popupMenu.Hide();
    }
    showQuickSearchPanel() {
        var panel = this.getQuickSeachPanel();
        panel.show();
    }
    hideQuickSearchPanel() {
        var panel = this.getQuickSeachPanel();
        panel.hide(false);
    }
    raiseCustomCommandExecuted(commandName, parameter) {
        if (!this.CustomCommandExecuted.IsEmpty()) {
            var args = new aspx_client_rich_edit_custom_command_executed_event_args/* ASPxClientRichEditCustomCommandExecutedEventArgs */.i(commandName, parameter);
            this.CustomCommandExecuted.FireEvent(this, args);
        }
    }
    raiseFloatingObjectMovedObject(arg) {
        if (!this.FloatingObjectMoved.IsEmpty()) {
            const args = new ASPxClientRichEditFloatingObjectMovedEventArgs(arg.subDocumentId, arg.newPosition, utils_list.ListUtils.map(arg.pageIntervals, currInt => new selection/* Interval */.X(currInt.start, currInt.length)), arg.pageIndex, arg.objectX, arg.objectY);
            this.FloatingObjectMoved.FireEvent(this, args);
            arg.newPosition = args.newPosition;
            arg.objectX = args.objectX;
            arg.objectY = args.objectY;
        }
    }
    raiseBeginSynchronization() {
        if (!this.BeginSynchronization.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.BeginSynchronization.FireEvent(this, args);
        }
    }
    raiseEndSynchronization() {
        if (!this.EndSynchronization.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.EndSynchronization.FireEvent(this, args);
        }
    }
    raiseSelectionChanged() {
        if (!this.SelectionChanged.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.SelectionChanged.FireEvent(this, args);
        }
    }
    raiseHorizontalRulerVisibleChanged(horizontalRulerVisible) {
        if (!this.HorizontalRulerVisibleChanged.IsEmpty()) {
            var args = new ASPxClientRichEditHorizontalRulerVisibleChangedEventArgs(horizontalRulerVisible);
            this.HorizontalRulerVisibleChanged.FireEvent(this, args);
        }
    }
    UpdateStateObject() {
        this.UpdateStateObjectWithObject({ scmds: this.core.serverDispatcher.getRequestJSON(),
            cguid: this.clientGuid, isc: this.isInternalServiceCallback, viewMergeData: this.core.modelManager.richOptions.mailMerge.viewMergedData });
    }
    PerformCallback(parameter, onSuccess) {
        this.ShowLoadingElements();
        this.sendCallback(ASPx.FormatCallbackArg(rich_edit_owner_constants/* constants */._.PerformCallbackPrefix, parameter), null, false, onSuccess);
        this.core.setPersistentReadOnly(true);
    }
    HasUnsavedChanges() {
        return this.core.getModifiedState() != json_top_level_enums/* IsModified */.sO.False;
    }
    ReconnectToExternalRibbon() {
        if (this.isRibbonExternal()) {
            this.detachEventsFromRibbon();
            this.attachEventsToRibbon();
        }
    }
    attachEventsToRibbon() {
        const ribbonBar = this.barHolder.ribbon;
        if (ribbonBar) {
            ribbonBar.control = this.GetRibbon();
            ribbonBar.attachEvents();
            this.attachRefocusHandlerToRibbon();
        }
    }
    detachEventsFromRibbon() {
        const ribbonBar = this.barHolder.ribbon;
        if (ribbonBar)
            ribbonBar.detachEvents();
        this.detachRefocusHandlerFromRibbon();
    }
    onCaptureFocus() { }
    raiseDocumentLoaded() {
        if (!this.DocumentLoaded.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.DocumentLoaded.FireEvent(this, args);
        }
    }
    raiseDocumentFormatted(pageCount) {
        if (!this.DocumentFormatted.IsEmpty()) {
            var args = new ASPxClientRichEditDocumentFormattedEventArgs(pageCount);
            this.DocumentFormatted.FireEvent(this, args);
        }
    }
    raiseDocumentChanged() {
        if (!this.DocumentChanged.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.DocumentChanged.FireEvent(this, args);
        }
    }
    raiseActiveSubDocumentChanged() {
        if (!this.ActiveSubDocumentChanged.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.ActiveSubDocumentChanged.FireEvent(this, args);
        }
    }
    raiseGotFocus() {
        if (!this.GotFocus.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.GotFocus.FireEvent(this, args);
        }
    }
    raiseLostFocus() {
        if (!this.LostFocus.IsEmpty()) {
            var args = new ASPxClientEventArgs();
            this.LostFocus.FireEvent(this, args);
        }
    }
    raisePointerDown(evt) {
        var handled = false;
        if (!this.PointerDown.IsEmpty()) {
            var args = new ASPxClientRichEditPointerDownEventArgs(evt, handled);
            this.PointerDown.FireEvent(this, args);
            return args.handled;
        }
    }
    raisePointerUp(evt) {
        var handled = false;
        if (!this.PointerUp.IsEmpty()) {
            var args = new ASPxClientRichEditPointerUpEventArgs(evt, handled);
            this.PointerUp.FireEvent(this, args);
            return args.handled;
        }
    }
    raisePopupMenuShowing(menuItems) {
        if (this.PopupMenuShowing.IsEmpty())
            return false;
        var args = new aspx_client_rich_edit_popup_menu_showing_event_args/* ASPxClientRichEditPopupMenuShowingEventArgs */.r(menuItems);
        this.PopupMenuShowing.FireEvent(this, args);
        return args.cancel;
    }
    raiseHyperlinkClick(evt, field) {
        var handled = false;
        const hyperlinkInfo = field.getHyperlinkInfo();
        if (hyperlinkInfo) {
            const url = hyperlinkInfo.uri || hyperlinkInfo.anchor;
            const hyperlinkType = this.getLinkType(hyperlinkInfo);
            const args = new aspx_client_rich_edit_hyperlink_click_event_args/* ASPxClientRichEditHyperlinkClickEventArgs */.Q(evt, handled, url, hyperlinkType);
            this.HyperlinkClick.FireEvent(this, args);
            handled = args.handled;
        }
        return handled;
    }
    raiseKeyDown(evt) {
        var handled = false;
        if (!this.KeyDown.IsEmpty()) {
            var args = new ASPxClientRichEditKeyDownEventArgs(evt, handled);
            this.KeyDown.FireEvent(this, args);
            handled = args.handled;
        }
        return handled;
    }
    raiseKeyUp(evt) {
        if (!this.KeyUp.IsEmpty()) {
            var args = new ASPxClientRichEditKeyUpEventArgs(evt);
            this.KeyUp.FireEvent(this, args);
        }
    }
    raiseContentInserted(subDocumentId, interval) {
        if (!this.ContentInserted.IsEmpty()) {
            var args = new ASPxClientRichEditContentInsertedEventArgs(subDocumentId, interval);
            this.ContentInserted.FireEvent(this, args);
        }
    }
    raiseContentRemoved(subDocumentId, interval, removedText) {
        if (!this.ContentRemoved.IsEmpty()) {
            var args = new ASPxClientRichEditContentRemovedEventArgs(subDocumentId, interval, removedText);
            this.ContentRemoved.FireEvent(this, args);
        }
    }
    raiseCharacterPropertiesChanged(subDocumentId, interval) {
        if (!this.CharacterPropertiesChanged.IsEmpty()) {
            var args = new ASPxClientRichEditCharacterPropertiesChangedEventArgs(subDocumentId, interval);
            this.CharacterPropertiesChanged.FireEvent(this, args);
        }
    }
    raiseParagraphPropertiesChanged(subDocumentId, paragraphIndex) {
        if (!this.ParagraphPropertiesChanged.IsEmpty()) {
            var args = new ASPxClientRichEditParagraphPropertiesChangedEventArgs(subDocumentId, paragraphIndex);
            this.ParagraphPropertiesChanged.FireEvent(this, args);
        }
    }
    raiseAutoCorrect(text, interval) {
        var handled = false;
        if (!this.AutoCorrect.IsEmpty()) {
            var args = new ASPxClientRichEditAutoCorrectEventArgs(text, interval, handled);
            this.AutoCorrect.FireEvent(this, args);
            handled = args.handled;
        }
        return handled;
    }
    getLinkType(hyperlinkInfo) {
        if (hyperlinkInfo.isMail())
            return ASPxClientOfficeDocumentLinkType.EmailAddress;
        if (hyperlinkInfo.isUri())
            return ASPxClientOfficeDocumentLinkType.Hyperlink;
        return ASPxClientOfficeDocumentLinkType.Bookmark;
    }
    OnDispose() {
        super.OnDispose();
        this.detachEventsFromRibbon();
        this.core.dispose();
    }
    static Cast(obj) {
        if (typeof obj == "string")
            return window[obj];
        return obj;
    }
}
ASPxClientRichEdit.ASPxRichEditDialogList = {};
ASPxClientRichEdit.Constants = {
    PerformCallbackPrefix: rich_edit_owner_constants/* constants */._.PerformCallbackPrefix,
    InternalCallBackPostfix: rich_edit_owner_constants/* constants */._.InternalCallBackPostfix,
    UploadControlUrlParameter: rich_edit_owner_constants/* constants */._.UploadControlUrlParameter
};
function IsNumber(str) {
    return !isNaN(parseFloat(str)) && isFinite(str);
}


/***/ }),

/***/ 1798:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _: function() { return /* binding */ constants; }
/* harmony export */ });
const constants = {
    MainID: "_Main",
    ViewID: "_View",
    DialogControlID: "_REDC",
    ModalDialogControlID: "_REMC",
    PopupMenuControlID: "_REPUM",
    AutoCorrectBarID: "_AC",
    RibbonID: "_R",
    HelperFrameID: "_HF",
    LoadingPanel: "_LPC",
    Bar: "_Bar",
    MeasurerContainerCssClass: "dxreMeasurer",
    HelperFrameCssClass: "dxre-helperFrame",
    SuggestionMenuItemCssClass: "dxre-pum-suggestionItem",
    PlaceholderDivCssClass: "dxrePlaceholderDiv",
    InternalCallBackPostfix: "%RichEdit",
    PerformCallbackPrefix: "REPC",
    CommandsCallbackPrefix: "REC",
    InternalCallbackPrefix: "IC-",
    UploadControlUrlParameter: "REUCUP",
    Base64ImageDataUrl: "data:image/png;base64,"
};


/***/ }),

/***/ 1225:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  U: function() { return /* binding */ ServerDispatcherResponseProcessor; }
});

// EXTERNAL MODULE: ./src/common/formats/file-name-helper.ts
var file_name_helper = __webpack_require__(611);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var flag = __webpack_require__(7820);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/font-info-cache.ts + 1 modules
var font_info_cache = __webpack_require__(9467);
// EXTERNAL MODULE: ./src/common/model/fonts/control-font.ts + 1 modules
var control_font = __webpack_require__(1631);
// EXTERNAL MODULE: ./src/common/model/fonts/font-face-descriptors.ts
var font_face_descriptors = __webpack_require__(1908);
// EXTERNAL MODULE: ./src/common/model/fonts/font-info.ts
var font_info = __webpack_require__(4098);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
;// CONCATENATED MODULE: ./src/common/model/fonts/google-fonts.ts





class GoogleFontsApi {
    constructor(controlFontsCache, fonts) {
        this.fontFamilyToFontInfo = {};
        this.fonts = fonts;
        this.controlFontsCache = controlFontsCache;
        const params = this.fonts.map(font => {
            const fontFamily = font.getFontFamilies()[0];
            this.fontFamilyToFontInfo[fontFamily] = font;
            return `${fontFamily.replace(' ', '+')}:regular,bold,italic,bolditalic`;
        }).join('|');
        this.uri = `https://fonts.googleapis.com/css?family=${params}`;
    }
    loadControlFonts(callback) {
        const notLoaded = () => callback([]);
        const xhr = new XMLHttpRequest();
        xhr.onload = (_e) => {
            const responce = xhr.response;
            if (xhr.status >= 400 || !responce)
                notLoaded();
            else
                callback(this.parseResponce(responce));
        };
        xhr.onerror = () => notLoaded();
        xhr.open("GET", this.uri, true);
        xhr.responseType = "text";
        xhr.send();
    }
    parseResponce(responce) {
        const result = [];
        let regexpResult;
        const regexp = /@font-face\s*\{([\s\S]*?)\}/gm;
        while (regexpResult = regexp.exec(responce)) {
            const fontInfo = regexpResult[1];
            const fontFamily = fontInfo.match(/font-family:\s*'(\w+\s*\w*)';/);
            if (fontFamily && fontFamily[1]) {
                const url = GoogleFontsApi.parseSrc(fontInfo.match(/src:\s*(.+);/));
                const fontStyle = fontInfo.match(/font-style:\s*(\w+);/);
                const fontWeight = fontInfo.match(/font-weight:\s*(.+);/);
                const unicodeRange = fontInfo.match(/unicode-range:\s*(.+);/);
                const desc = new font_face_descriptors/* FontFaceDescriptors */.F();
                if (fontStyle && fontStyle[1])
                    desc.style = fontStyle[1];
                if (fontWeight && fontWeight[1])
                    desc.weight = fontWeight[1];
                if (unicodeRange && unicodeRange[1])
                    desc.unicodeRange = unicodeRange[1];
                const controlFont = this.controlFontsCache.addFont(new control_font/* ControlFont */.N(fontFamily[1], desc));
                if (url && list.ListUtils.allOf(controlFont.sourceUrls, s => s != url)) {
                    controlFont.sourceUrls.unshift(url);
                    const fontInfo = this.fontFamilyToFontInfo[controlFont.fontFamily];
                    const controlFontType = new flag.Flag();
                    controlFontType.set(font_info/* ControlFontType */.G.Bold, controlFont.descriptors.msWordBold());
                    controlFontType.set(font_info/* ControlFontType */.G.Italic, controlFont.descriptors.msWordItalic());
                    fontInfo.controlFontMap[controlFontType.getValue()] = controlFont.cacheKey;
                    result.push(controlFont);
                }
            }
        }
        return result;
    }
    static parseSrc(matchSrc) {
        if (matchSrc && matchSrc[1])
            for (let src of matchSrc[1].split(',')) {
                const matchUrl = src.match(/url\((.+)\)\s*format\('(\w+)'\)/);
                if (matchUrl)
                    return matchUrl[1];
            }
        return null;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/model/character/character-properties.ts
var character_properties = __webpack_require__(1789);
;// CONCATENATED MODULE: ./src/common/model/creator/cache.ts


class ModelCacheFiller {
    constructor(model, fontsSettings) {
        this.model = model;
        this.fontsSettings = fontsSettings;
    }
    fillCache() {
        this.makeFontMap();
        this.replaceCharProperties(this.model, "defaultCharacterProperties");
        this.model.characterStyles.forEach(style => this.replaceCharProperties(style, "maskedCharacterProperties"));
        this.model.paragraphStyles.forEach(style => this.replaceCharProperties(style, "maskedCharacterProperties"));
        this.model.tableStyles.forEach(style => {
            this.replaceCharProperties(style.baseConditionalStyle, 'maskedCharacterProperties');
            number/* NumberMapUtils */.j.forEach(style.conditionalStyles, style => this.replaceCharProperties(style, 'maskedCharacterProperties'));
        });
        number/* NumberMapUtils */.j.forEach(this.model.subDocuments, sd => this.replaceInModelSubDocument(sd));
    }
    makeFontMap() {
        const fontInfoCache = this.model.cache.fontInfoCache;
        const fontsSettings = this.fontsSettings;
        this.fontMap = Object.create(null);
        fontInfoCache.getAllFonts().forEach(font => this.fontMap[font.name] = fontsSettings.getPermittedFont(fontInfoCache, font));
    }
    replaceCharProperties(object, propKey) {
        const props = object[propKey];
        props.fontInfo = props.fontInfo ? this.fontMap[props.fontInfo.name] : this.model.defaultCharacterProperties.fontInfo;
        if (props instanceof character_properties/* MaskedCharacterProperties */.X)
            object[propKey] = this.model.cache.maskedCharacterPropertiesCache.getItem(props);
        else
            object[propKey] = this.model.cache.mergedCharacterPropertiesCache.getItem(props);
    }
    replaceInModelSubDocument(sd) {
        sd.paragraphs.forEach(p => p.resetParagraphMergedProperties());
        sd.chunks.forEach(chunk => {
            chunk.textRuns.forEach(run => {
                this.replaceCharProperties(run, 'maskedCharacterProperties');
                run.resetCharacterMergedProperties();
            });
        });
    }
}

;// CONCATENATED MODULE: ./src/common/model/creator/font-corrector.ts







class FontCorrector {
    get fontInfoCache() {
        return this.model.cache.fontInfoCache;
    }
    get controlFontsCache() {
        return this.model.cache.controlFontsCache;
    }
    constructor(modelManipulator, model, fonts) {
        this.modelManipulator = modelManipulator;
        this.model = model;
        this.fonts = fonts;
    }
    correct() {
        this.addAndLoad();
        new ModelCacheFiller(this.model, this.fonts).fillCache();
        this.removeRedundant();
        this.modelManipulator.raiseFontListChanged(this.fontInfoCache);
    }
    addAndLoad() {
        this.fonts.fonts.forEach(font => {
            let newFont = this.fontInfoCache.getItemByName(font.name);
            if (!newFont)
                newFont = this.fontInfoCache.addFont(font.name, font.fontFamily);
            else
                newFont.cssString = font_info_cache/* FontInfoCache */.I.correctCssString(font.fontFamily);
            const addControlFont = (uri, desc) => {
                const controlFont = this.controlFontsCache.addFont(new control_font/* ControlFont */.N(font.fontFamily, desc));
                controlFont.sourceUrls.unshift(uri);
                const controlFontType = new flag.Flag();
                controlFontType.set(font_info/* ControlFontType */.G.Bold, controlFont.descriptors.msWordBold());
                controlFontType.set(font_info/* ControlFontType */.G.Italic, controlFont.descriptors.msWordItalic());
                newFont.controlFontMap[controlFontType.getValue()] = controlFont.cacheKey;
            };
            if (font.regularFontUri)
                addControlFont(font.regularFontUri, font_face_descriptors/* FontFaceDescriptors */.F.create({}));
            if (font.boldFontUri)
                addControlFont(font.boldFontUri, font_face_descriptors/* FontFaceDescriptors */.F.create({ weight: 'bold' }));
            if (font.italicFontUri)
                addControlFont(font.italicFontUri, font_face_descriptors/* FontFaceDescriptors */.F.create({ style: 'italic' }));
            if (font.boldItalicFontUri)
                addControlFont(font.boldItalicFontUri, font_face_descriptors/* FontFaceDescriptors */.F.create({ weight: 'bold', style: 'italic' }));
            if (font.googleFontsResponse)
                new GoogleFontsApi(this.controlFontsCache, [newFont]).parseResponce(font.googleFontsResponse);
            else if (font.useGoogleFonts)
                new GoogleFontsApi(this.controlFontsCache, [newFont]).loadControlFonts(_createdFonts => { });
        });
    }
    removeRedundant() {
        if (this.fonts.limitedFonts) {
            const map = {};
            this.fonts.fonts.forEach(f => map[f.name] = f);
            this.fontInfoCache.removeItems(font => !map[font.name]);
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/fields/tree-creator.ts + 12 modules
var tree_creator = __webpack_require__(769);
;// CONCATENATED MODULE: ./src/common/model/fields/update-sequence-info.ts

function updateFieldSequenceInfo(modelManager, layoutFormatterManager, fieldRequestManager) {
    for (let field of modelManager.model.mainSubDocument.fields) {
        const fieldParser = tree_creator/* FieldsWaitingForUpdate */.Nn.getParser(modelManager, layoutFormatterManager, fieldRequestManager, modelManager.model.mainSubDocument, field);
        if (fieldParser)
            fieldParser.updateInfo();
    }
}

// EXTERNAL MODULE: ./src/common/model/json/command-type.ts
var command_type = __webpack_require__(9397);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-document-enums.ts
var json_document_enums = __webpack_require__(1573);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-general-enums.ts
var json_general_enums = __webpack_require__(7087);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-top-level-enums.ts
var json_top_level_enums = __webpack_require__(6338);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-section-enums.ts
var json_section_enums = __webpack_require__(1466);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-sub-document-enums.ts
var json_sub_document_enums = __webpack_require__(2202);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-character-properties-converter.ts
var json_masked_character_properties_converter = __webpack_require__(7768);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-paragraph-properties-converter.ts
var json_masked_paragraph_properties_converter = __webpack_require__(8977);
// EXTERNAL MODULE: ./src/common/model/json/importers/section/json-section-properties-converter.ts
var json_section_properties_converter = __webpack_require__(3529);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-cell-properties-converter.ts + 1 modules
var json_table_cell_properties_converter = __webpack_require__(8513);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-properties-converter.ts + 1 modules
var json_table_properties_converter = __webpack_require__(5855);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-row-properties-converter.ts
var json_table_row_properties_converter = __webpack_require__(2359);
// EXTERNAL MODULE: ./src/common/model/options/control.ts
var control = __webpack_require__(9147);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-control-enums.ts
var json_control_enums = __webpack_require__(8241);
;// CONCATENATED MODULE: ./src/common/model/json/exporters/json-control-options-converter.ts



class JSONControlOptionsConverter {
    static convertFromJSON(obj) {
        if (!obj)
            return;
        const result = new control/* ControlOptions */.tH();
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Copy] !== undefined)
            result.copy = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Copy];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.CreateNew] !== undefined)
            result.createNew = obj[json_control_enums/* JSONControlOptionsProperty */.Q.CreateNew];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Cut] !== undefined)
            result.cut = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Cut];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Drag] !== undefined)
            result.drag = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Drag];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Drop] !== undefined)
            result.drop = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Drop];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Open] !== undefined)
            result.open = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Open];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Paste] !== undefined)
            result.paste = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Paste];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Printing] !== undefined)
            result.printing = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Printing];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Save] !== undefined)
            result.save = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Save];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.SaveAs] !== undefined)
            result.saveAs = obj[json_control_enums/* JSONControlOptionsProperty */.Q.SaveAs];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.FullScreen] !== undefined)
            result.fullScreen = obj[json_control_enums/* JSONControlOptionsProperty */.Q.FullScreen];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Bookmarks] !== undefined)
            result.bookmarks = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Bookmarks];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.CharacterFormatting] !== undefined)
            result.characterFormatting = obj[json_control_enums/* JSONControlOptionsProperty */.Q.CharacterFormatting];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.CharacterStyle] !== undefined)
            result.characterStyle = obj[json_control_enums/* JSONControlOptionsProperty */.Q.CharacterStyle];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Fields] !== undefined)
            result.fields = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Fields];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Hyperlinks] !== undefined)
            result.hyperlinks = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Hyperlinks];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.InlinePictures] !== undefined)
            result.inlinePictures = obj[json_control_enums/* JSONControlOptionsProperty */.Q.InlinePictures];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphFormatting] !== undefined)
            result.paragraphFormatting = obj[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphFormatting];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Paragraphs] !== undefined)
            result.paragraphs = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Paragraphs];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphStyle] !== undefined)
            result.paragraphStyle = obj[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphStyle];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphTabs] !== undefined)
            result.paragraphTabs = obj[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphTabs];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Sections] !== undefined)
            result.sections = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Sections];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.TabSymbol] !== undefined)
            result.tabSymbol = obj[json_control_enums/* JSONControlOptionsProperty */.Q.TabSymbol];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Undo] !== undefined)
            result.undo = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Undo];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingBulleted] !== undefined)
            result.numberingBulleted = obj[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingBulleted];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingMultiLevel] !== undefined)
            result.numberingMultiLevel = obj[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingMultiLevel];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingSimple] !== undefined)
            result.numberingSimple = obj[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingSimple];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.HeadersFooters] !== undefined)
            result.headersFooters = obj[json_control_enums/* JSONControlOptionsProperty */.Q.HeadersFooters];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Tables] !== undefined)
            result.tables = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Tables];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.TableStyle] !== undefined)
            result.tableStyle = obj[json_control_enums/* JSONControlOptionsProperty */.Q.TableStyle];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.TabMarker] !== undefined)
            result.tabMarker = obj[json_control_enums/* JSONControlOptionsProperty */.Q.TabMarker];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.PageBreakInsertMode] !== undefined)
            result.pageBreakInsertMode = obj[json_control_enums/* JSONControlOptionsProperty */.Q.PageBreakInsertMode];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.AcceptsTab] !== undefined)
            result.acceptsTab = obj[json_control_enums/* JSONControlOptionsProperty */.Q.AcceptsTab];
        if (obj[json_control_enums/* JSONControlOptionsProperty */.Q.Download] !== undefined)
            result.download = obj[json_control_enums/* JSONControlOptionsProperty */.Q.Download];
        result.raiseClientEventsOnModificationsViaAPI = !!obj[json_control_enums/* JSONControlOptionsProperty */.Q.RaiseClientEventsOnModificationsViaAPI];
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Copy] = source.copy;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.CreateNew] = source.createNew;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Cut] = source.cut;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Drag] = source.drag;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Drop] = source.drop;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Open] = source.open;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Paste] = source.paste;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Printing] = source.printing;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Save] = source.save;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.SaveAs] = source.saveAs;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.FullScreen] = source.fullScreen;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Bookmarks] = source.bookmarks;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.CharacterFormatting] = source.characterFormatting;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.CharacterStyle] = source.characterStyle;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Fields] = source.fields;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Hyperlinks] = source.hyperlinks;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.InlinePictures] = source.inlinePictures;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphFormatting] = source.paragraphFormatting;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Paragraphs] = source.paragraphs;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphStyle] = source.paragraphStyle;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.ParagraphTabs] = source.paragraphTabs;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Sections] = source.sections;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.TabSymbol] = source.tabSymbol;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Undo] = source.undo;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingBulleted] = source.numberingBulleted;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingMultiLevel] = source.numberingMultiLevel;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.NumberingSimple] = source.numberingSimple;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.HeadersFooters] = source.headersFooters;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Tables] = source.tables;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.TableStyle] = source.tableStyle;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.TabMarker] = source.tabMarker;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.PageBreakInsertMode] = source.pageBreakInsertMode;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.AcceptsTab] = (0,common.boolToInt)(source.acceptsTab);
        result[json_control_enums/* JSONControlOptionsProperty */.Q.Download] = source.download;
        result[json_control_enums/* JSONControlOptionsProperty */.Q.RaiseClientEventsOnModificationsViaAPI] = source.raiseClientEventsOnModificationsViaAPI;
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/json/exporters/json-exporter.ts











class JSONExporter {
    static exportDocumentProperties(documentModel) {
        const result = {};
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DefaultTabWidth] = documentModel.defaultTabWidth;
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DifferentOddAndEvenPages] = (0,common.boolToInt)(documentModel.differentOddAndEvenPages);
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DisplayBackgroundShape] = (0,common.boolToInt)(documentModel.displayBackgroundShape);
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.PageBackColor] = documentModel.pageBackColor;
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DefaultCharacterProperties] =
            json_masked_character_properties_converter/* JSONMaskedCharacterPropertiesConverter */.i.convertToJSON(documentModel.defaultCharacterProperties);
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DefaultParagraphProperties] =
            json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertToJSON(documentModel.defaultParagraphProperties);
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DefaultTableProperties] =
            json_table_properties_converter/* JSONTablePropertiesConverter */.S.convertToJSON(documentModel.defaultTableProperties);
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DefaultTableRowProperties] =
            json_table_row_properties_converter/* JSONTableRowPropertiesConverter */.Q.convertToJSON(documentModel.defaultTableRowProperties);
        result[json_document_enums/* JSONDocumentPropertiesProperty */.tK.DefaultTableCellProperties] =
            json_table_cell_properties_converter/* JSONTableCellPropertiesConverter */.U.convertToJSON(documentModel.defaultTableCellProperties);
        return result;
    }
    static exportModelHeaderFooter(headersFooters) {
        let jsonHeadersFooters = [];
        for (let headerFooter of headersFooters) {
            let jsonHeaderFooter = {};
            jsonHeaderFooter[json_sub_document_enums/* JSONHeaderFooterInfoProperty */.l9.Type] = headerFooter.getType();
            jsonHeaderFooter[json_sub_document_enums/* JSONHeaderFooterInfoProperty */.l9.SubDocumentId] = headerFooter.subDocumentId;
            jsonHeadersFooters.push(jsonHeaderFooter);
        }
        return jsonHeadersFooters;
    }
    static exportSections(documentModel) {
        let result = [];
        for (let section of documentModel.sections) {
            let jsonSection = {};
            jsonSection[json_section_enums/* JSONSection */.J3.StartPos] = section.startLogPosition.value;
            jsonSection[json_section_enums/* JSONSection */.J3.Length] = section.getLength();
            jsonSection[json_section_enums/* JSONSection */.J3.Properties] = json_section_properties_converter/* JSONSectionPropertiesConverter */.t.convertToJSON(section.sectionProperties);
            jsonSection[json_section_enums/* JSONSection */.J3.Headers] = this.exportHeaderFooter(section.headers);
            jsonSection[json_section_enums/* JSONSection */.J3.Footers] = this.exportHeaderFooter(section.footers);
            result.push(jsonSection);
        }
        return result;
    }
    static exportHeaderFooter(headersFooters) {
        let jsonHeadersFooters = {};
        for (let type in headersFooters) {
            if (Object.prototype.hasOwnProperty.call(headersFooters, type)) {
                jsonHeadersFooters[type] = {
                    [json_sub_document_enums/* JSONHeaderFooterInfoProperty */.l9.Type]: parseInt(type),
                    [json_sub_document_enums/* JSONHeaderFooterInfoProperty */.l9.SubDocumentId]: headersFooters[type].subDocumentId,
                };
            }
        }
        return jsonHeadersFooters;
    }
    static exportOptions(controlOptions) {
        let result = {};
        result = JSONControlOptionsConverter.convertToJSON(controlOptions);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-list-enums.ts
var json_list_enums = __webpack_require__(3006);
;// CONCATENATED MODULE: ./src/common/model/json/exporters/json-numbering-list-exporter.ts


class JSONNumberingListExporter {
    static exportAbstractNumberingLists(documentModel) {
        const listLevelPropertiesCache = documentModel.cache.listLevelPropertiesCache;
        const maskedCharacterPropertiesCache = documentModel.cache.maskedCharacterPropertiesCache;
        const maskedParagraphPropertiesCache = documentModel.cache.maskedParagraphPropertiesCache;
        let jsonAbstractNumberingLists = [];
        for (let abstractNumberingList of documentModel.abstractNumberingLists) {
            let jsonAbstractNumberingList = {};
            jsonAbstractNumberingList[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Deleted] = (0,common.boolToInt)(abstractNumberingList.deleted);
            jsonAbstractNumberingList[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Id] = abstractNumberingList.innerId;
            let jsonLevels = [];
            for (let level of abstractNumberingList.levels) {
                let jsonLevel = {};
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.CharacterPropertiesIndex] =
                    maskedCharacterPropertiesCache.indexOf(level.getCharacterProperties());
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.ParagraphPropertiesIndex] =
                    maskedParagraphPropertiesCache.indexOf(level.getParagraphProperties());
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.ListLevelPropertiesIndex] =
                    listLevelPropertiesCache.indexOf(level.getListLevelProperties());
                jsonLevels.push(jsonLevel);
            }
            jsonAbstractNumberingList[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Levels] = jsonLevels;
            jsonAbstractNumberingLists.push(jsonAbstractNumberingList);
        }
        return jsonAbstractNumberingLists;
    }
    static exportNumberingLists(documentModel) {
        const listLevelPropertiesCache = documentModel.cache.listLevelPropertiesCache;
        const maskedCharacterPropertiesCache = documentModel.cache.maskedCharacterPropertiesCache;
        const maskedParagraphPropertiesCache = documentModel.cache.maskedParagraphPropertiesCache;
        let jsonNumberingLists = [];
        for (let numberingList of documentModel.numberingLists) {
            let jsonNumberingList = {};
            jsonNumberingList[json_list_enums/* JSONNumberingListProperty */.G$.AlIndex] = numberingList.abstractNumberingListIndex;
            jsonNumberingList[json_list_enums/* JSONNumberingListProperty */.G$.Id] = numberingList.innerId;
            let jsonLevels = [];
            for (let level of numberingList.levels) {
                let jsonLevel = {};
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.CharacterPropertiesIndex] =
                    maskedCharacterPropertiesCache.indexOf(level.getCharacterProperties());
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.ParagraphPropertiesIndex] =
                    maskedParagraphPropertiesCache.indexOf(level.getParagraphProperties());
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.ListLevelPropertiesIndex] =
                    listLevelPropertiesCache.indexOf(level.getListLevelProperties());
                jsonLevels.push(jsonLevel);
            }
            jsonNumberingList[json_list_enums/* JSONNumberingListProperty */.G$.Levels] = jsonLevels;
            jsonNumberingLists.push(jsonNumberingList);
        }
        return jsonNumberingLists;
    }
    static exportAbstractNumberingListTemplates(documentModel) {
        const listLevelPropertiesCache = documentModel.cache.listLevelPropertiesCache;
        const maskedCharacterPropertiesCache = documentModel.cache.maskedCharacterPropertiesCache;
        const maskedParagraphPropertiesCache = documentModel.cache.maskedParagraphPropertiesCache;
        let jsonAbstractNumberingListTemplates = [];
        for (let abstractNumberingListTemplate of documentModel.abstractNumberingListTemplates) {
            let jsonAbstractNumberingListTemplate = {};
            jsonAbstractNumberingListTemplate[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Deleted] = (0,common.boolToInt)(abstractNumberingListTemplate.deleted);
            jsonAbstractNumberingListTemplate[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Id] = abstractNumberingListTemplate.innerId;
            let jsonLevels = [];
            for (let level of abstractNumberingListTemplate.levels) {
                let jsonLevel = {};
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.CharacterPropertiesIndex] =
                    maskedCharacterPropertiesCache.indexOf(level.getCharacterProperties());
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.ParagraphPropertiesIndex] =
                    maskedParagraphPropertiesCache.indexOf(level.getParagraphProperties());
                jsonLevel[json_list_enums/* JSONNumberingListLevelProperty */.qu.ListLevelPropertiesIndex] =
                    listLevelPropertiesCache.indexOf(level.getListLevelProperties());
                jsonLevels.push(jsonLevel);
            }
            jsonAbstractNumberingListTemplate[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Levels] = jsonLevels;
            jsonAbstractNumberingListTemplates.push(jsonAbstractNumberingListTemplate);
        }
        return jsonAbstractNumberingListTemplates;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/importers/json-font-info-converter.ts
var json_font_info_converter = __webpack_require__(7587);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-importer.ts
var json_importer = __webpack_require__(8376);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-styles-exporter.ts + 1 modules
var json_styles_exporter = __webpack_require__(6124);
// EXTERNAL MODULE: ./src/common/model/json/importers/numbering-list/json-list-level-properties-converter.ts
var json_list_level_properties_converter = __webpack_require__(5381);
// EXTERNAL MODULE: ./src/common/model/json/importers/server-model-inserter.ts + 2 modules
var server_model_inserter = __webpack_require__(2055);
// EXTERNAL MODULE: ./src/common/model/json/web-caches-exporter.ts + 6 modules
var web_caches_exporter = __webpack_require__(2259);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/base64.js
var utils_base64 = __webpack_require__(6477);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/file.js
var file = __webpack_require__(2674);
// EXTERNAL MODULE: ./src/common/commands/client-command.ts
var client_command = __webpack_require__(4803);
// EXTERNAL MODULE: ./src/aspx/commands/document/print-document-command.ts
var print_document_command = __webpack_require__(9747);
// EXTERNAL MODULE: ./src/common/rich-edit-core.ts + 214 modules
var rich_edit_core = __webpack_require__(5773);
;// CONCATENATED MODULE: ./src/aspx/server-dispatcher-response-processor.ts
























class ServerDispatcherResponseProcessor {
    static processCommandResponce(dispatcher, commandType, isNewWorkSession, jsonServerParams, jsonCacheData) {
        var _a;
        const control = dispatcher.control;
        if (isNewWorkSession)
            ServerDispatcherResponseProcessor.processNewWorkSessionResponse(dispatcher, jsonServerParams);
        const model = control.modelManager.model;
        const docIsLoaded = model.isLoaded();
        const cachesExporter = new web_caches_exporter/* WebCachesExporter */.E(model.cache, jsonCacheData, model);
        const isNewDocument = isNewWorkSession ? jsonServerParams[json_top_level_enums/* JSONInitSessionProperty */.l7.IsNewDocument] : false;
        switch (commandType) {
            case command_type/* CommandType */.w.StartCommand:
                json_importer/* JSONImporter */.lt.importOptions(model.options, jsonServerParams[json_top_level_enums/* JSONInitSessionProperty */.l7.Options]);
                break;
            case command_type/* CommandType */.w.SaveAsDocument:
            case command_type/* CommandType */.w.SaveDocument:
                dispatcher.processSaveResponse(jsonServerParams[json_top_level_enums/* JSONInitSessionProperty */.l7.HistoryId]);
                break;
            case command_type/* CommandType */.w.DelayedPrint:
                control.owner.sendDownloadRequest(print_document_command/* DownloadRequestType */.D.PrintCurrentDocument);
                break;
            case command_type/* CommandType */.w.LoadPicturesInfo:
                control.modelManager.modelManipulator.picture.loader.applyRequest(jsonServerParams);
                break;
            case command_type/* CommandType */.w.FieldUpdate:
                control.modelManager.modelManipulator.field.continueUpdateFields(control.modelManager.model, jsonServerParams);
                break;
            case command_type/* CommandType */.w.LoadFontInfo: {
                const newFontInfo = control.modelManager.modelManipulator.font.applyFontInfoLoadedOnPaste(control.measurer, jsonServerParams, jsonCacheData[json_top_level_enums/* JSONCachesDataProperty */.Ku.FontInfoCache]);
                if (newFontInfo) {
                    const ribbonBar = control.barHolder.ribbon;
                    if (ribbonBar) {
                        const fontRibbonItem = (_a = ribbonBar.getItem) === null || _a === void 0 ? void 0 : _a.call(ribbonBar, client_command/* RichEditClientCommand */.f.ChangeFontName);
                        if (fontRibbonItem) {
                            const fontComboBox = fontRibbonItem.getEditor();
                            if (fontComboBox && !fontComboBox.FindItemByValue(newFontInfo.name))
                                fontComboBox.AddItem(newFontInfo.name, newFontInfo.name);
                        }
                    }
                }
                break;
            }
            case command_type/* CommandType */.w.CheckSpelling:
                control.spellChecker.processResponse(jsonServerParams[json_general_enums/* JSONCheckSpellingCommand */.Bb.CheckedIntervals]);
                break;
            case command_type/* CommandType */.w.InsertRtf:
                control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertRtf).handleResponce(jsonServerParams);
                break;
            case command_type/* CommandType */.w.GetRtf:
                control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.GetRtf).handleResponce(jsonServerParams);
                break;
            case command_type/* CommandType */.w.RequestModelAfterHibernation:
                ServerDispatcherResponseProcessor.processAfterHibernationResponce(dispatcher, cachesExporter);
                break;
            case command_type/* CommandType */.w.ForceSyncWithServer:
                control.commandManager.forceSyncWithServerCallbackManager.handleResponce(jsonServerParams);
                break;
            case command_type/* CommandType */.w.InsertContentFromServer:
                control.commandManager.insertContentFromServerRequestManager.handleResponce(control, jsonServerParams);
                break;
            case command_type/* CommandType */.w.DownloadMergedDocument:
                const base64 = jsonServerParams[json_top_level_enums/* JSONInitSessionProperty */.l7.Document];
                const format = jsonServerParams[json_top_level_enums/* JSONInitSessionProperty */.l7.DocumentFormat];
                file.FileUtils.startDownloadFileLocal(utils_base64.Base64Utils.getFileFromBase64(base64, '', {}), `MergedDocument${file_name_helper/* FileNameHelper */.a.convertToString(format)}`);
                break;
        }
        if (isNewDocument) {
            server_model_inserter/* ServerModelInserter */.l.processNewDocumentResponse(model, null, jsonServerParams[json_top_level_enums/* JSONInitSessionProperty */.l7.Document]);
            model.stylesManager.initCharacterAndParagraphStyleGalleryItems();
        }
        cachesExporter.importSubDocuments(control.modelManager.modelManipulator.modelManager.richOptions.documentProtection, null);
        if (isNewDocument) {
            control.selection.beginUpdate();
            const selectionUpdated = control.selection.changeState((newState) => newState.setPosition(0).resetKeepX().setEndOfLine(false)
                .setPageIndex(-1).setSubDocument(control.modelManager.model.mainSubDocument));
            control.layoutFormatterManager.openDocument();
            control.layout.pageColor = model.getActualPageBackgroundColor();
            control.layoutFormatterManager.forceFormatPage(0);
            control.inputPosition.reset();
            control.barHolder.setEnabled(true);
            control.horizontalRulerControl.setEnable(true);
            control.selection.endUpdate();
            control.barHolder.forceUpdate();
            if (!selectionUpdated)
                control.selection.raiseSelectionChanged();
            control.spellChecker.check();
        }
        control.layoutFormatterManager.runFormattingAsync();
        if (!model.isLoaded()) {
        }
        else {
            if (docIsLoaded !== model.isLoaded()) {
                control.barHolder.updateItemsState();
                this.processDocumentLoaded(control);
            }
        }
        if (isNewDocument && !!jsonServerParams[json_top_level_enums/* JSONInitSessionProperty */.l7.InvalidDocument])
            control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowErrorInvalidDocumentFormat).execute(control.commandManager.isPublicApiCall);
        cachesExporter.dispose();
    }
    static processDocumentLoaded(control) {
        updateFieldSequenceInfo(control.modelManager, control.layoutFormatterManager, control.createFieldRequestManager());
        new FontCorrector(control.modelManager.modelManipulator, control.modelManager.model, control.modelManager.richOptions.fonts).correct();
        control.globalEventDispatcher.NotifyDocumentLoaded();
    }
    static processNewWorkSessionResponse(dispatcher, obj) {
        const sessionGuid = obj[json_top_level_enums/* JSONInitSessionProperty */.l7.SessionGuid];
        const format = obj[json_top_level_enums/* JSONInitSessionProperty */.l7.DocumentFormat];
        const documentInfo = new rich_edit_core/* DocumentInfo */.u(obj[json_top_level_enums/* JSONInitSessionProperty */.l7.FileName], obj[json_top_level_enums/* JSONInitSessionProperty */.l7.DocumentHasSource], format);
        if (!!obj[json_top_level_enums/* JSONInitSessionProperty */.l7.IsNewDocument])
            dispatcher.control.initialize(sessionGuid, documentInfo, obj[json_top_level_enums/* JSONInitSessionProperty */.l7.SubDocumentsCounter], null);
        else
            dispatcher.control.setWorkSession(sessionGuid, documentInfo);
        dispatcher.editRequestID = obj[json_top_level_enums/* JSONInitSessionProperty */.l7.LastExecutedEditCommandId];
        dispatcher.wasModifiedOnServer = !!obj[json_top_level_enums/* JSONInitSessionProperty */.l7.IsModified];
    }
    static processAfterHibernationResponce(dispatcher, cachesExporter) {
        const control = dispatcher.control;
        let result = {};
        let jsonModel = {};
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.DocumentProperties] = JSONExporter.exportDocumentProperties(control.modelManager.model);
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.Styles] = json_styles_exporter/* JSONStylesExporter */.p.exportStyles(control.modelManager.model);
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.Sections] = JSONExporter.exportSections(control.modelManager.model);
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.AbstractNumberingLists] =
            JSONNumberingListExporter.exportAbstractNumberingLists(control.modelManager.model);
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.NumberingLists] =
            JSONNumberingListExporter.exportNumberingLists(control.modelManager.model);
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.Headers] = JSONExporter.exportModelHeaderFooter(control.modelManager.model.headers);
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.Footers] = JSONExporter.exportModelHeaderFooter(control.modelManager.model.footers);
        jsonModel[json_document_enums/* JSONDocumentModelProperty */.vW.AbstractNumberingListTemplates] =
            JSONNumberingListExporter.exportAbstractNumberingListTemplates(control.modelManager.model);
        let jsonCaches = {};
        jsonCaches[json_top_level_enums/* JSONCachesDataProperty */.Ku.CharacterPropertiesCache] =
            control.modelManager.model.cache.maskedCharacterPropertiesCache.convertToJSON(json_masked_character_properties_converter/* JSONMaskedCharacterPropertiesConverter */.i.convertToJSON);
        jsonCaches[json_top_level_enums/* JSONCachesDataProperty */.Ku.ParagraphPropertiesCache] =
            control.modelManager.model.cache.maskedParagraphPropertiesCache.convertToJSON(json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertToJSON);
        jsonCaches[json_top_level_enums/* JSONCachesDataProperty */.Ku.ListLevelPropertiesCache] =
            control.modelManager.model.cache.listLevelPropertiesCache.convertToJSON(json_list_level_properties_converter/* JSONListLevelPropertiesConverter */.J.convertToJSON);
        jsonCaches[json_top_level_enums/* JSONCachesDataProperty */.Ku.TableRowPropertiesCache] =
            control.modelManager.model.cache.tableRowPropertiesCache.convertToJSON(json_table_row_properties_converter/* JSONTableRowPropertiesConverter */.Q.convertToJSON);
        jsonCaches[json_top_level_enums/* JSONCachesDataProperty */.Ku.TableCellPropertiesCache] =
            control.modelManager.model.cache.tableCellPropertiesCache.convertToJSON(json_table_cell_properties_converter/* JSONTableCellPropertiesConverter */.U.convertToJSON);
        jsonCaches[json_top_level_enums/* JSONCachesDataProperty */.Ku.SubDocuments] = cachesExporter.exportSubDocuments();
        jsonCaches[json_top_level_enums/* JSONCachesDataProperty */.Ku.FontInfoCache] =
            control.modelManager.model.cache.fontInfoCache.convertToJSON(json_font_info_converter/* JSONFontInfoConverter */.N.convertToJSON);
        result[json_top_level_enums/* JSONInitSessionProperty */.l7.Document] = jsonModel;
        result[json_top_level_enums/* JSONInitSessionProperty */.l7.Caches] = jsonCaches;
        result[json_top_level_enums/* JSONInitSessionProperty */.l7.Options] = JSONExporter.exportOptions(control.modelManager.richOptions.control);
        return result;
    }
}


/***/ }),

/***/ 3731:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ ServerDispatcher; }
/* harmony export */ });
/* harmony import */ var _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8904);
/* harmony import */ var _common_model_json_command_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9397);
/* harmony import */ var _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2202);
/* harmony import */ var _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6338);
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1167);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4803);
/* harmony import */ var _server_dispatcher_response_processor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1225);








class ServerDispatcher {
    constructor(control) {
        this.responseWaitingTime = 30000;
        this.pendingPeriod = 5000;
        this.maxCommandCount = 250;
        this.wasModifiedOnServer = false;
        this.requestID = 0;
        this.editRequestID = 0;
        this.waitingTimerID = null;
        this.pendingTimerID = null;
        this.numActiveSaveRequests = 0;
        this.isWaiting = false;
        this.lockQueue = false;
        this.queue = {};
        this.sendedRequests = {};
        this.numQueueLockers = 0;
        this.control = control;
    }
    dispose() {
        this.reset();
    }
    initialize(testMode) {
        this.testMode = testMode;
    }
    saveInProgress() {
        return this.numActiveSaveRequests > 0;
    }
    pushRequest(request, requestParams) {
        request.id = ++this.requestID;
        request.processOnCallback = requestParams.processOnCallback;
        this.lastRequestInQueue = request;
        if (this.lockQueue)
            return;
        if (this.testMode)
            this.queue = {};
        this.lockQueue = requestParams.lockQueue;
        if (_common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .ServerCommandRequest */ .lm.isEditRequest(request)) {
            request.editIncId = ++this.editRequestID;
            this.removeModelRequests();
        }
        if (request.isSaveDocumentRequest())
            this.numActiveSaveRequests++;
        this.queue[request.id] = request;
        if (this.testMode)
            this.sendRequestCore();
        else if (requestParams.immediateSend && !this.isWaiting)
            this.forceSendingRequest();
        else if (!this.isWaiting && this.pendingTimerID == null)
            this.pendingTimerID = setTimeout(() => this.onPendingTimerExpired(), this.pendingPeriod);
    }
    pushLoadNextChunksRequest(subDocument, startPosition) {
        if (!_devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_5__/* .NumberMapUtils */ .j.containsBy(this.queue, req => req.isLoadNextChunksRequest()))
            this.pushRequest(new _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .LoadCommandRequest */ .M2(_common_model_json_command_type__WEBPACK_IMPORTED_MODULE_1__/* .CommandType */ .w.LoadPieceTable, subDocument.id, { [_common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumLoadPieceTableCommandParameters */ .t9.StartPosition]: startPosition }), new _common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .RequestParams */ .Kl(false, true, false));
    }
    processSaveResponse(historyId) {
        this.numActiveSaveRequests--;
        if (this.numActiveSaveRequests < 0)
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_4__/* .Errors */ .D.InternalException);
        this.control.lastSavedHistoryItemId = historyId;
        this.wasModifiedOnServer = false;
        this.control.barHolder.updateItemsState();
    }
    getRequestJSON() {
        this.lastRequestInQueue = undefined;
        const request = this.getRequestList(true);
        if (request.length && !this.lockQueue)
            return JSON.stringify(request);
        return "";
    }
    reset() {
        this.clearTimers();
        this.numActiveSaveRequests = 0;
        this.isWaiting = false;
        this.lockQueue = false;
        this.queue = {};
        this.control.lastSavedHistoryItemId = -1;
    }
    forceSendingRequest() {
        this.clearTimers();
        this.sendRequestCore();
    }
    hasQueue() {
        return !!this.queue[this.requestID];
    }
    isQueueLocked() {
        return this.lockQueue;
    }
    onGetResponse(responce, testMode = false) {
        let coreResponce;
        try {
            if (testMode)
                coreResponce = eval(responce);
            else
                coreResponce = JSON.parse(responce);
        }
        catch (e) {
            if (testMode)
                throw new Error("InvalidResponce=" + responce.toString());
            return false;
        }
        this.onGetResponseCore(coreResponce);
        return true;
    }
    onGetResponseCore(responce) {
        this.clearWaitingTimer();
        this.isWaiting = false;
        const queueLocked = this.lockQueue;
        if (queueLocked) {
            this.numQueueLockers++;
            this.control.globalEventDispatcher.beginUpdate();
        }
        this.processCommandsResponce(responce[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponceLevelProperty */ .rM.CommandsResults]);
        this.control.loadingPanelManager.loadingPanel.setVisible(false);
        const errorCode = responce[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponceLevelProperty */ .rM.ErrorCode];
        if (errorCode == _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.NoErrors) {
            if (!this.isWaiting) {
                if (!queueLocked)
                    this.sendRequestCore();
                if (!this.hasQueue())
                    this.lockQueue = false;
            }
            if (queueLocked) {
                if (!this.lockQueue) {
                    if (!this.control.modelManager.model.isLoaded())
                        this.pushLoadNextChunksRequest(this.control.modelManager.model.mainSubDocument, this.control.modelManager.model.getCurrentLength());
                    else {
                        while (this.numQueueLockers > 0) {
                            this.numQueueLockers--;
                            this.control.globalEventDispatcher.endUpdate();
                        }
                    }
                }
            }
            else {
                if (!this.lockQueue) {
                    if (!this.control.modelManager.model.isLoaded())
                        this.pushLoadNextChunksRequest(this.control.modelManager.model.mainSubDocument, this.control.modelManager.model.getCurrentLength());
                }
            }
        }
        else {
            this.reset();
            while (this.numQueueLockers > 0) {
                this.numQueueLockers--;
                this.control.globalEventDispatcher.endUpdate();
            }
            switch (errorCode) {
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.SessionHasExpired:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorSessionHasExpiredMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.ModelIsChanged:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorModelIsChangedMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.AuthException:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorAuthExceptionMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.InnerException:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorInnerExceptionMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.CantSaveToAlreadyOpenedFile:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorOpeningAndOverstoreImpossibleMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.CantSaveToEmptyPath:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorCantSaveToEmptyPathMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.CantSaveDocument:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorSavingMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.CantOpenDocument:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorOpeningMessageCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.PathTooLongException:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorPathTooLongCommand).execute(this.control.commandManager.isPublicApiCall);
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.CalculateDocumentVariableException:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorDocVariableErrorCommand).execute(this.control.commandManager.isPublicApiCall);
                    if (this.control.selection.activeSubDocument.fieldsWaitingForUpdate)
                        this.control.selection.activeSubDocument.fieldsWaitingForUpdate.endAction();
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.InsertContentFromServerException:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowInsertContentFromServerErrorDialogCommand).execute(this.control.commandManager.isPublicApiCall);
                    this.control.commandManager.insertContentFromServerRequestManager.reset();
                    break;
                case _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONResponseError */ .jO.LoadPictureException:
                    this.control.commandManager.getCommand(_common_commands_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.ShowErrorLoadPictureMessage).execute(this.control.commandManager.isPublicApiCall);
                    console.error('Could not load the image. See also: https://stackoverflow.com/questions/28286086/default-securityprotocol-in-net-4-5');
                    break;
                default:
                    throw new Error("Undefined server error");
            }
        }
    }
    clearTimers() {
        this.clearWaitingTimer();
        if (this.pendingTimerID) {
            clearTimeout(this.pendingTimerID);
            this.pendingTimerID = null;
        }
    }
    clearWaitingTimer() {
        if (this.waitingTimerID) {
            clearTimeout(this.waitingTimerID);
            this.waitingTimerID = null;
        }
    }
    sendRequestCore() {
        if (!this.hasQueue())
            return false;
        this.isWaiting = true;
        this.lastRequestInQueue = undefined;
        const sendRequestsViaCallback = this.shouldSendRequestsWithCallback();
        const request = this.getRequestList(sendRequestsViaCallback);
        this.showLoadingPanelIfNeeded(request);
        this.control.sendRequest(JSON.stringify(request), sendRequestsViaCallback);
        if (!this.lockQueue)
            this.waitingTimerID = setTimeout(() => this.onWaitingTimerExpired(), this.responseWaitingTime);
        return true;
    }
    showLoadingPanelIfNeeded(requestList) {
        for (const request of requestList) {
            const commandType = request[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCommandParametersProperty */ .e3.CommandType];
            if (_common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .ServerCommandRequest */ .lm.isUIBlockingCommandType(commandType)) {
                this.control.loadingPanelManager.loadingPanel.setVisible(true);
                return;
            }
        }
    }
    shouldSendRequestsWithCallback() {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_5__/* .NumberMapUtils */ .j.containsBy(this.queue, (val) => val.processOnCallback);
    }
    getRequestList(withPostData) {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_5__/* .NumberMapUtils */ .j.toListBy(this.queue, (val) => val.getJsonObject(withPostData), this.maxCommandCount);
    }
    removeModelRequests() {
        var keysForDeleting = [];
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_5__/* .NumberMapUtils */ .j.forEach(this.queue, (request, key) => {
            if (!_common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .ServerCommandRequest */ .lm.isEditRequest(request) &&
                !request.isSpellCheckerRequest() &&
                !request.isSaveDocumentRequest() &&
                !request.isGetSetRtfRequest() &&
                !request.isForcePushRequest() &&
                !request.isPdfExportRequest())
                keysForDeleting.push(key);
        });
        for (var i = keysForDeleting.length - 1; i >= 0; i--)
            delete this.queue[keysForDeleting[i]];
    }
    processCommandsResponce(commandResults) {
        if (!commandResults)
            return;
        const needHandleRequests = [];
        for (let jsonCommandResponce of commandResults) {
            const commandId = jsonCommandResponce[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCommandParametersProperty */ .e3.IncId];
            if (commandId > 0 && !Object.prototype.hasOwnProperty.call(this.queue, commandId.toString()))
                continue;
            delete this.queue[commandId];
            needHandleRequests.push(jsonCommandResponce);
        }
        this.control.globalEventDispatcher.beginUpdate();
        for (let jsonCommandResponce of needHandleRequests) {
            const commandType = jsonCommandResponce[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCommandParametersProperty */ .e3.CommandType];
            if (_common_model_json_command_request__WEBPACK_IMPORTED_MODULE_0__/* .ServerCommandRequest */ .lm.isUIBlockingCommandType(commandType))
                this.control.loadingPanelManager.loadingPanel.setVisible(true);
            const isNewWorkSession = !!jsonCommandResponce[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCommandParametersProperty */ .e3.IsNewWorkSession];
            const jsonServerParams = jsonCommandResponce[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCommandParametersProperty */ .e3.ServerParams];
            const jsonCacheData = jsonCommandResponce[_common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCommandParametersProperty */ .e3.Caches];
            _server_dispatcher_response_processor__WEBPACK_IMPORTED_MODULE_7__/* .ServerDispatcherResponseProcessor */ .U.processCommandResponce(this, commandType, isNewWorkSession, jsonServerParams, jsonCacheData);
        }
        this.control.globalEventDispatcher.endUpdate();
    }
    onPendingTimerExpired() {
        this.sendRequestCore();
        this.pendingTimerID = null;
    }
    onWaitingTimerExpired() {
        this.sendRequestCore();
        this.waitingTimerID = null;
    }
}


/***/ }),

/***/ 8792:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ ASPxRichEditDialog; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_attr__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2217);
/* harmony import */ var _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6907);
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8818);



class ASPxRichEditDialog extends ASPx.Dialog {
    Execute(ownerControl, parameters, callback, afterClosing, isModal) {
        this.richedit = ownerControl;
        this.callback = callback;
        this.parameters = parameters;
        this.afterClosing = afterClosing;
        this.SetDialogNameInput();
        this.isOnCallbackError = false;
        this.isModal = isModal;
        super.Execute(ownerControl);
    }
    InitializePopupElements() {
        super.InitializePopupElements();
        this.GetDialogPopup().allowDraggingInAdaptiveMode = true;
    }
    OnCallbackError(result, _data) {
        this.isOnCallbackError = true;
        this.ClearDialogNameInput();
        this.HideDialog(null, true);
        super.OnCallbackError(result);
    }
    OnClose() {
        if (this.richedit.isInFullScreenMode)
            this.richedit.hideBodyScroll();
        super.OnClose();
        this.ClearDialogNameInput();
        _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__.DomUtils.removeClassName(this.GetDialogPopup().GetCurrentWindowElement(), _utils_constants__WEBPACK_IMPORTED_MODULE_2__/* .constants */ ._.Prefix + this.name);
        if (this.afterClosing)
            this.afterClosing();
    }
    OnComplete(result, params) {
        this.DoCustomAction(result, params);
        this.HideDialogPopup();
    }
    OnInitComplete() {
        super.OnInitComplete();
        this.attachEvents();
        this.UpdatePopupPosition();
        var popupElement = this.GetDialogPopup().GetCurrentWindowElement();
        _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__.DomUtils.addClassName(popupElement, _utils_constants__WEBPACK_IMPORTED_MODULE_2__/* .constants */ ._.Prefix + this.name);
        if (popupElement && popupElement.style.width)
            _devexpress_utils_lib_utils_attr__WEBPACK_IMPORTED_MODULE_0__/* .AttrUtils */ .F.removeElementAttribute(popupElement, "width");
        if (!this.isModal) {
            this.GetDialogPopup().GetWindowElement(-1).style.pointerEvents = "auto";
            this.GetDialogPopup().GetModalWrapperElement(-1).style.pointerEvents = "none";
            this.GetDialogPopup().GetWindowModalElement(-1).style.pointerEvents = "none";
        }
    }
    onOkButtonClick() {
        if (this.isDialogValid())
            this.OnComplete(1);
    }
    onCancelButtonClick() {
        this.OnComplete(0);
    }
    ClearDialogNameInput() {
        this.richedit.UpdateStateObjectWithObject({ currentDialog: "" });
    }
    SetDialogNameInput() {
        this.richedit.UpdateStateObjectWithObject({ currentDialog: this.name });
    }
    DoCustomAction(result, _params) {
        if (result)
            this.callback(this.GetResultParameters());
        else
            this.callback(null);
    }
    ShowLoadingPanelOverDialogPopup() {
        var offsetElement = this.GetDialogPopup().GetWindowContentElement(-1);
        this.richedit.CreateLoadingDiv(document.body, offsetElement);
        this.richedit.CreateLoadingPanelWithAbsolutePosition(document.body, offsetElement);
    }
    SendCallbackForDialogContent() {
        this.richedit.sendInternalServiceCallback(ASPx.dialogFormCallbackStatus, this.name, this);
    }
    GetInitInfoObject() {
        return this.parameters;
    }
    GetResultParameters() {
        return {};
    }
    toggleFullScreen() {
        this.richedit.SetFullscreenMode(!this.richedit.isInFullScreenMode);
        this.GetDialogPopup().UpdatePosition();
    }
    SetFocusInField() {
        var focusedElement = this.GetFocusedElement();
        if (focusedElement)
            setTimeout(() => { focusedElement.SetFocus(); }, 100);
    }
    GetFocusedElement() {
        return null;
    }
    attachEvents() {
        this.executeIfExists("dxreDialog_BtnOk", (element) => {
            element.Click.AddHandler(() => this.onOkButtonClick());
        });
        this.executeIfExists("dxreDialog_BtnCancel", (element) => {
            element.Click.AddHandler(() => this.onCancelButtonClick());
        });
    }
    isDialogValid() {
        return true;
    }
    executeIfExists(name, execFunc) {
        var element = window[name];
        if (element && element.IsDOMInitialized())
            return execFunc(element);
        return false;
    }
}


/***/ }),

/***/ 4983:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R: function() { return /* binding */ DialogListBoxItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6907);
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8818);


class DialogListBoxItem {
    constructor(owner, index, value) {
        this.owner = owner;
        this.index = index;
        this.value = value;
        this.richedit = this.owner.owner.richedit;
        this.id = this.richedit.name + "_" + this.owner.id + "_" + index;
        this.CreateElement();
        this.PrepareElementState();
    }
    CreateElement() {
        var element = this.GetElementWithContent();
        element.id = this.id;
        _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_0__.DomUtils.addClassName(element, this.richedit.getCustomCssClass("DialogListBoxItem"));
        var parentElement = this.owner.GetMainElement();
        parentElement.appendChild(element);
    }
    PrepareElementState() {
        ASPx.GetStateController().AddSelectedItem(this.id, [_utils_constants__WEBPACK_IMPORTED_MODULE_1__/* .constants */ ._.ListSelectedClass], [""], null, null, null);
        ASPx.GetStateController().AddHoverItem(this.id, [_utils_constants__WEBPACK_IMPORTED_MODULE_1__/* .constants */ ._.ListHoverClass], [""], null, null, null);
    }
    Select() {
        ASPx.GetStateController().SelectElementBySrcElement(this.GetElement());
    }
    Unselect() {
        ASPx.GetStateController().DeselectElementBySrcElement(this.GetElement());
    }
    HasEqualValue(value) {
        return this.GetValue() === value;
    }
    GetValue() {
        return this.value;
    }
    GetElementWithContent() {
        var element = ASPx.CreateHtmlElement();
        ASPx.SetInnerHtml(element, this.GetContent());
        return element;
    }
    GetContent() {
        return this.GetValue();
    }
    GetElement() {
        return ASPx.GetElementById(this.id);
    }
}


/***/ }),

/***/ 7405:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   o: function() { return /* binding */ DialogListBox; }
/* harmony export */ });
/* harmony import */ var _common_utils_web_utils_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9312);
/* harmony import */ var _devexpress_utils_lib_utils_evt__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3714);
/* harmony import */ var _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6907);
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8818);
/* harmony import */ var _dialog_list_box_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4983);





class DialogListBox {
    constructor(owner, id, mainElement) {
        this.owner = owner;
        this.id = id;
        this.mainElement = mainElement;
        this.items = [];
        this.itemsCount = 0;
        this.selectedItem = null;
        this.Initialize();
    }
    Initialize() {
        this.InitializeEventHandlers();
        var mainElement = this.GetMainElement();
        _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_2__.DomUtils.addClassName(mainElement, _utils_constants__WEBPACK_IMPORTED_MODULE_3__/* .constants */ ._.DialogListBoxClass);
        _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_2__.DomUtils.addClassName(mainElement, this.owner.richedit.getCustomCssClass("DialogListBox"));
    }
    InitializeEventHandlers() {
        ASPx.Evt.AttachEventToElement(this.GetMainElement(), "mousedown", (evt) => { this.OnMainContainerClick(evt); });
        ASPx.Evt.AttachEventToElement(this.GetMainElement(), "dblclick", (evt) => { this.OnMainContainerDblClick(evt); });
    }
    AddItem(value) {
        var item = new _dialog_list_box_item__WEBPACK_IMPORTED_MODULE_4__/* .DialogListBoxItem */ .R(this, this.itemsCount++, value);
        this.items[item.id] = item;
    }
    ClearItems() {
        this.forEachItem((item) => {
            var itemId = item.id;
            ASPx.GetStateController().RemoveSelectedItem(itemId);
            ASPx.GetStateController().RemoveHoverItem(itemId);
        });
        ASPx.SetInnerHtml(this.GetMainElement(), "");
        this.items = [];
        this.selectedItem = null;
        this.itemsCount = 0;
    }
    OnMainContainerClick(evt) {
        if (!_devexpress_utils_lib_utils_evt__WEBPACK_IMPORTED_MODULE_1__/* .EvtUtils */ .g.isLeftButtonPressed(evt))
            return;
        var item = this.GetItemByEvent(evt);
        if (item)
            this.SetSelectedItem(item);
    }
    OnMainContainerDblClick(evt) {
        var item = this.GetItemByEvent(evt);
        if (item)
            ASPx.DialogComplete(1);
    }
    GetItemByEvent(evt) {
        var sourceElement = _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_2__.DomUtils.getParentByTagName(_devexpress_utils_lib_utils_evt__WEBPACK_IMPORTED_MODULE_1__/* .EvtUtils */ .g.getEventSource(evt), "DIV");
        while (!sourceElement.id)
            sourceElement = (sourceElement.parentNode);
        return this.items[sourceElement.id];
    }
    SetSelectedItem(item) {
        if (this.selectedItem)
            this.selectedItem.Unselect();
        this.selectedItem = item;
        item.Select();
        this.owner.OnValueChanged(this.GetValue());
    }
    forEachItem(action) {
        for (var item in this.items)
            if (Object.prototype.hasOwnProperty.call(this.items, item) && action(this.items[item]))
                return;
    }
    SetStyles(styles) {
        (0,_common_utils_web_utils_base__WEBPACK_IMPORTED_MODULE_0__/* .SetStyles */ .bE)(this.GetMainElement(), styles);
    }
    SetSelectedIndex(index) {
        if (index < -1 && index >= this.itemsCount)
            return;
        if (index == -1 && this.selectedItem) {
            this.selectedItem = null;
            this.selectedItem.Unselect();
            return;
        }
        this.forEachItem((item) => {
            if (item.index == index) {
                this.SetSelectedItem(item);
                return;
            }
        });
    }
    SetSelectedValue(value) {
        this.forEachItem((item) => {
            if (item.HasEqualValue(value)) {
                this.SetSelectedItem(item);
                return;
            }
        });
    }
    GetSelectedItem() {
        return this.selectedItem;
    }
    GetValue() {
        return this.selectedItem ? this.selectedItem.GetValue() : undefined;
    }
    GetSelectedIndex() {
        return this.selectedItem ? this.selectedItem.index : -1;
    }
    GetMainElement() {
        return this.mainElement;
    }
}


/***/ }),

/***/ 6126:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: function() { return /* binding */ REInsertImageDialog; }
/* harmony export */ });
/* harmony import */ var _common_commands_dialogs_dialog_insert_image_command__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5033);
/* harmony import */ var _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
/* harmony import */ var _common_model_json_importers_image_cache_info_converter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4935);
/* harmony import */ var _devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9279);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6907);
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4233);
/* harmony import */ var _aspx_rich_edit_dialog__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8792);
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8818);
/* harmony import */ var _utils_image_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(6722);










class REInsertImageDialog extends _aspx_rich_edit_dialog__WEBPACK_IMPORTED_MODULE_7__/* .ASPxRichEditDialog */ .h {
    constructor(name) {
        super(name);
        this.callbackCount = 0;
    }
    InitializeDialogFields(_parameters) {
        var imageUploader = this.GetImageUploader();
        if (typeof window.MVCxClientUploadControl !== 'undefined' && imageUploader instanceof window.MVCxClientUploadControl)
            imageUploader.uploadManager.options.callbackUrl = this.richedit.callbackUrl;
    }
    OnComplete(result, params) {
        this.insertImageParams = new _common_commands_dialogs_dialog_insert_image_command__WEBPACK_IMPORTED_MODULE_0__/* .InsertImageDialogParameters */ .h();
        if (result) {
            if (!this.HasImageProductedFromUrl()) {
                this.notifyOwnerControlThatDocumentUploadingStarted();
                return this.GetImageUploader().UploadFile();
            }
            else
                return this.SaveImageToServerViaCallback(this.GetInsertImageUrlTextBox().GetText());
        }
        else
            this.HideLoadingPanelOverDialogPopup();
        super.OnComplete(result, params);
    }
    attachEvents() {
        super.attachEvents();
        this.executeIfExists("dxreDialog_InsertImage_RblNavigation", (element) => {
            element.ValueChanged.AddHandler(() => this.OnImageFromTypeChanged());
        });
        dxreDialog_TxbInsertImageUrl.TextChanged.AddHandler((s) => {
            this.OnImageSrcChanged(s.GetText());
        });
        this.executeIfExists("dxreDialog_UplImage", (element) => {
            element.FileUploadComplete.AddHandler((_s, e) => {
                this.OnImageUploadComplete(e);
            });
            element.FilesUploadComplete.AddHandler((_s, e) => {
                this.OnImageUploadComplete(e);
            });
            element.FilesUploadStart.AddHandler((_s, _e) => {
                this.OnImageUploadStart();
            });
        });
    }
    HasImageProductedFromUrl() {
        if (typeof (dxreDialog_InsertImage_RblNavigation) == "undefined")
            return true;
        return dxreDialog_InsertImage_RblNavigation.GetValue() ? false : true;
    }
    SaveImageToServerViaCallback(src) {
        this.ShowLoadingPanelOverDialogPopup();
        this.ownerControl.sendInternalServiceCallback(_utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.SaveImageToServerCallbackPrefix, src, this);
        this.callbackCount++;
    }
    GetDialogCaptionText() {
        return _rich_edit_owner_aspx_client_rich_edit__WEBPACK_IMPORTED_MODULE_6__/* .ASPxClientRichEdit */ .v.ASPxRichEditDialogList.Titles.InsertImage;
    }
    GetResultParameters() {
        const obj = this.GetInitInfoObject();
        obj.copyFrom(this.insertImageParams);
        return obj;
    }
    CheckImageExisting(checkingSrc) {
        if (document.images) {
            this.testImage = new Image();
            ASPx.Evt.AttachEventToElement(this.testImage, "load", () => (0,_utils_image_utils__WEBPACK_IMPORTED_MODULE_9__/* .aspxTestExistingImageOnLoad */ .Z)(this.richedit.name));
            ASPx.Evt.AttachEventToElement(this.testImage, "error", () => (0,_utils_image_utils__WEBPACK_IMPORTED_MODULE_9__/* .aspxTestExistingImageOnError */ .w)(this.richedit.name));
            this.testImage.src = checkingSrc;
        }
    }
    SetPreviewImageSize(sourceWidth, sourceHeight, maxWidth, maxHeight) {
        var newWidth = sourceWidth;
        var newHeight = sourceHeight;
        if ((sourceWidth > maxWidth) ||
            (sourceHeight > maxHeight)) {
            var cw = sourceWidth / maxWidth;
            var ch = sourceHeight / maxHeight;
            if (cw > ch) {
                var cw = sourceWidth / maxWidth;
                newWidth = Math.floor(sourceWidth / cw);
                newHeight = Math.floor(sourceHeight / cw);
            }
            else {
                newWidth = Math.floor(sourceWidth / ch);
                newHeight = Math.floor(sourceHeight / ch);
            }
        }
        var previewImage = this.GetPreviewImageElement();
        previewImage.style.width = newWidth + "px";
        previewImage.style.height = newHeight + "px";
    }
    ShowErrorMessage(message) {
        var textBox = this.GetInsertImageUrlTextBox();
        textBox.isValid = false;
        textBox.errorText = message;
        textBox.UpdateErrorFrameAndFocus(false, true);
    }
    GetFocusedElement() {
        return dxreDialog_TxbInsertImageUrl;
    }
    OnCallback(result) {
        if (result.indexOf(_utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.SaveImageToServerCallbackPrefix) == 0) {
            this.OnImageSavedToServer(result.substring(_utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.SaveImageToServerCallbackPrefix.length + 1, result.length));
            if (this.callbackCount > 0)
                this.callbackCount--;
            if (this.callbackCount <= 0)
                this.ownerControl.clearOwnerControlCallback();
        }
        else
            super.OnCallback(result);
    }
    OnImageFromTypeChanged() {
        var url = dxreDialog_InsertImageFormLayout.GetItemByName("TxbInsertImageUrl");
        var previewArea = dxreDialog_InsertImageFormLayout.GetItemByName("ImagePreview");
        var uploadArea = dxreDialog_InsertImageFormLayout.GetItemByName("UploadControl");
        url.SetVisible(!dxreDialog_InsertImage_RblNavigation.GetValue());
        previewArea.SetVisible(!dxreDialog_InsertImage_RblNavigation.GetValue());
        uploadArea.SetVisible(dxreDialog_InsertImage_RblNavigation.GetValue());
    }
    OnLoadTestExistingImage() {
        ASPxClientEdit.ValidateGroup("_dxeTbxInsertImageUrlGroup");
        this.GetPreviewImageElement().src = this.testImage.src;
        var previewArea = this.GetPreviewAreaCell();
        var maxWidth = previewArea.clientWidth;
        var maxHeight = _devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_3__.Browser.WebKitFamily ? previewArea.offsetHeight : previewArea.clientHeight;
        this.SetPreviewImageSize(this.testImage.width, this.testImage.height, maxWidth, maxHeight);
        this.GetPreviewTextElement().style.display = 'none';
        this.GetPreviewImageElement().style.display = '';
        previewArea.style.borderStyle = "none";
    }
    OnErrorTestExistingImage() {
        this.GetPreviewTextElement().style.display = '';
        this.GetPreviewImageElement().style.display = 'none';
        var previewArea = this.GetPreviewAreaCell();
        previewArea.style.borderStyle = "";
    }
    OnImageSrcChanged(src) {
        this.CheckImageExisting(src);
    }
    OnImageSavedToServer(result) {
        if (result.indexOf(_utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.SaveImageToServerErrorCallbackPrefix) > -1)
            this.ShowErrorMessage(result.substring(_utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.SaveImageToServerErrorCallbackPrefix.length + 1, result.length));
        else
            this.parseServerData(eval(result.substr(_utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.SaveImageToServerNewUrlCallbackPrefix.length + 1, result.length)));
    }
    OnImageUploadComplete(args) {
        this.HideLoadingPanelOverDialogPopup();
        this.notifyOwnerControlThatDocumentUploadingComplete();
        if (args.isValid)
            this.parseServerData(eval(args.callbackData));
    }
    OnImageUploadStart() {
        this.ShowLoadingPanelOverDialogPopup();
    }
    GetPreviewTextElement() {
        return ASPx.GetElementById(this.richedit.name + _utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.PreviewTextElementID);
    }
    GetPreviewImageElement() {
        return ASPx.GetElementById(this.richedit.name + _utils_constants__WEBPACK_IMPORTED_MODULE_8__/* .constants */ ._.PreviewImageElementID);
    }
    GetPreviewAreaCell() {
        return _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_5__.DomUtils.getParentByTagName(this.GetPreviewImageElement(), "table");
    }
    GetImageUploader() {
        return dxreDialog_UplImage;
    }
    GetInsertImageUrlTextBox() {
        return dxreDialog_TxbInsertImageUrl;
    }
    isDialogValid() {
        var ret = true;
        if (dxreDialog_TxbInsertImageUrl.IsVisible())
            ret = ASPxClientEdit.ValidateGroup("_dxeTbxInsertImageUrlGroup") && ret;
        else {
            ret = (dxreDialog_UplImage.GetText() != "") && ret;
            if (!ret)
                dxreDialog_UplImage.UpdateCommonErrorDiv(dxreDialog_HiddenField.Get("RequiredFieldError"), true);
        }
        return ret;
    }
    notifyOwnerControlThatDocumentUploadingStarted() {
        this.richedit.documentUploadingStarted();
    }
    notifyOwnerControlThatDocumentUploadingComplete() {
        this.richedit.documentUploadingComplete();
    }
    parseServerData(result) {
        const jsonCacheInfo = result[_common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONInlinePictureCommandsImageInfo */ ._w.CacheInfo];
        const success = !!jsonCacheInfo;
        if (success) {
            const info = _common_model_json_importers_image_cache_info_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONCacheImageInfoConverter */ .H.convertFromJSON(jsonCacheInfo);
            this.insertImageParams.id = info.actualId;
            this.insertImageParams.base64EncodedImage = info.base64;
            this.insertImageParams.originalSize = info.size;
        }
        super.OnComplete((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.boolToInt)(success), this.insertImageParams);
    }
}


/***/ }),

/***/ 3670:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _: function() { return /* binding */ RESymbolsDialog; }
/* harmony export */ });
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4233);
/* harmony import */ var _aspx_rich_edit_dialog__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8792);
/* harmony import */ var _numbering_dialog_list_box__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7405);
/* harmony import */ var _utils_callback_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2155);
/* harmony import */ var _utils_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8818);





class RESymbolsDialog extends _aspx_rich_edit_dialog__WEBPACK_IMPORTED_MODULE_1__/* .ASPxRichEditDialog */ .h {
    GetDialogCaptionText() {
        return _rich_edit_owner_aspx_client_rich_edit__WEBPACK_IMPORTED_MODULE_0__/* .ASPxClientRichEdit */ .v.ASPxRichEditDialogList.Titles.Symbols;
    }
    InitializeDialogFields(parameters) {
        dxreDialog_CbxFontName.SetText(parameters.fontName);
        this.CreateListBox();
        this.UpdateSymbolList(parameters.fontName);
    }
    attachEvents() {
        super.attachEvents();
        dxreDialog_CbxFontName.ValueChanged.AddHandler((s, _e) => {
            this.OnFontNameChanged(s.GetValue());
        });
    }
    CreateListBox() {
        this.listBox = new _numbering_dialog_list_box__WEBPACK_IMPORTED_MODULE_2__/* .DialogListBox */ .o(this, "symbol", this.GetSymbolListElement());
    }
    UpdateSymbolList(fontName) {
        this.SendCallbackForContent(fontName);
    }
    SendCallbackForContent(fontName) {
        this.ShowLoadingPanelOverDialogPopup();
        this.SetEnabledForComboBox(false);
        this.SetEnabledForSelectButton(false);
        this.GetCallbackHelper().SendCallback(_utils_constants__WEBPACK_IMPORTED_MODULE_3__/* .constants */ ._.SymbolListCallbackPrefix, fontName);
    }
    SetEnabledForComboBox(value) {
        dxreDialog_CbxFontName.SetEnabled(value);
    }
    SetEnabledForSelectButton(value) {
        dxreDialog_BtnOk.SetEnabled(value);
    }
    CreateItems(symbolList) {
        this.listBox.ClearItems();
        this.listBox.SetStyles({ "font-family": this.GetCurrentFontName() });
        for (var i = 0; i < symbolList.length; i++)
            this.listBox.AddItem(symbolList[i]);
    }
    OnFontNameChanged(fontName) {
        this.UpdateSymbolList(fontName);
    }
    OnCallbackForContent(result) {
        var symbolList = eval(result);
        this.CreateItems(symbolList);
    }
    OnEndCallbackForContent() {
        this.SetEnabledForComboBox(true);
    }
    OnValueChanged(_value) {
        this.SetEnabledForSelectButton(true);
    }
    GetCallbackHelper() {
        if (!this.callbackHelper)
            this.callbackHelper = new _utils_callback_helper__WEBPACK_IMPORTED_MODULE_4__/* .CallbackHelper */ .s(this);
        return this.callbackHelper;
    }
    GetSymbolListElement() {
        var item = dxreDialog_FormLayout.GetItemByName("SymbolList");
        return dxreDialog_FormLayout.GetHTMLElementByItem(item).lastElementChild.lastElementChild;
    }
    GetCurrentSymbol() {
        return this.listBox.GetValue();
    }
    GetCurrentFontName() {
        return dxreDialog_CbxFontName.GetValue();
    }
    GetResultParameters() {
        var returnedObject = this.GetInitInfoObject();
        returnedObject.fontName = this.GetCurrentFontName();
        returnedObject.symbol = this.GetCurrentSymbol();
        return returnedObject;
    }
    GetFocusedElement() {
        return dxreDialog_CbxFontName;
    }
}


/***/ }),

/***/ 2155:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: function() { return /* binding */ CallbackHelper; }
/* harmony export */ });
class CallbackHelper {
    constructor(owner) {
        this.owner = owner;
        this.callbackCount = 0;
    }
    SendCallback(prefix, args) {
        var sendCallback = () => {
            this.owner.richedit.sendInternalServiceCallback(prefix, args, this);
            this.callbackCount++;
        };
        setTimeout(sendCallback, 10);
    }
    OnCallback(result) {
        this.owner.OnCallbackForContent(result);
    }
    OnEndCallback() {
        if (this.callbackCount > 0)
            this.callbackCount--;
        if (this.callbackCount <= 0)
            this.owner.richedit.clearOwnerControlCallback();
        this.owner.OnEndCallbackForContent();
    }
}


/***/ }),

/***/ 8818:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _: function() { return /* binding */ constants; }
/* harmony export */ });
const constants = {
    SaveImageToServerCallbackPrefix: "REITS",
    SaveImageToServerErrorCallbackPrefix: "REISE",
    SaveImageToServerNewUrlCallbackPrefix: "REISU",
    ColumnsEditorCallbackPrefix: "RECE",
    SymbolListCallbackPrefix: "RESL",
    Prefix: "dxre-",
    PreviewTextElementID: "_dxInsertImagePreviewText",
    PreviewImageElementID: "_dxInsertImagePreviewImage",
    TableBorderPreviewElementID: "_borderContainerPreview",
    WidthSpinElementName: "dxreDialog_SpnColumnsWidth",
    SpacingSpinElementName: "dxreDialog_SpnColumnsSpacing",
    ColumnsPresetElementName: "dxreDialog_BtnPreset",
    UrlAreaElementID: "_dxreUrlArea",
    EmailToAreaElementID: "_dxreEmailToArea",
    EmailSubjectAreaElementID: "_dxreEmailSubjectArea",
    SearchResultLabelID: "_dxSearchResultLabel",
    AbstractNumberingListElementID: "_dxeAbstractNumberingList_",
    BulletedPresetElementName: "dxreDialog_BulletedPreset",
    DefaultLinkPrefix: "http://",
    MailToPrefex: "mailto:",
    SubjectPrefix: "?subject=",
    DialogListBoxClass: "dxreDlgListBox",
    ListSelectedClass: "dxreDlgListSelected",
    ListHoverClass: "dxreDlgListHover",
    NumberingListPreviewClass: "dxreDlgNumberingListPreview",
    BorderLineClass: "dxrePreviewBorderLine",
    BorderVerticalLineClass: "dxrePreviewVerticalLine",
    BorderHorizontalLineClass: "dxrePreviewHorizontalLine",
    BorderControlLineClass: "dxrePreviewBorderControlLine",
    BorderTopLineClass: "dxrePreviewTopLine",
    BorderMiddleLineClass: "dxrePreviewMiddleLine",
    BorderBottomLineClass: "dxrePreviewBottomLine",
    BorderLeftLineClass: "dxrePreviewLeftLine",
    BorderCenterLineClass: "dxrePreviewCenterLine",
    BorderRightLineClass: "dxrePreviewRightLine",
    PreviewCellClass: "dxrePreviewCell",
    PreviewTextClass: "dxrePreviewTextLine",
    PreviewTopLeftCellClass: "dxrePreviewTopLeftCell",
    PreviewTopRightCellClass: "dxrePreviewTopRightCell",
    PreviewBottomLeftCellClass: "dxrePreviewBottomLeft",
    PreviewBottomRightCellClass: "dxrePreviewBottomRight"
};


/***/ }),

/***/ 6722:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Z: function() { return /* binding */ aspxTestExistingImageOnLoad; },
/* harmony export */   w: function() { return /* binding */ aspxTestExistingImageOnError; }
/* harmony export */ });
function aspxTestExistingImageOnLoad(name) {
    var richedit = ASPx.GetControlCollection().Get(name);
    var curDialog = richedit != null ? ASPx.Dialog.GetLastDialog(richedit) : null;
    if (curDialog != null)
        curDialog.OnLoadTestExistingImage();
}
function aspxTestExistingImageOnError(name) {
    var richedit = ASPx.GetControlCollection().Get(name);
    var curDialog = richedit != null ? ASPx.Dialog.GetLastDialog(richedit) : null;
    if (curDialog != null)
        curDialog.OnErrorTestExistingImage();
}


/***/ }),

/***/ 5398:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ BarBase; }
/* harmony export */ });
/* harmony import */ var _model_fonts_font_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4098);
/* harmony import */ var _devexpress_utils_lib_class_batch_updatable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1772);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2491);
/* harmony import */ var _commands_client_command__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4803);




class BarBase extends _devexpress_utils_lib_class_batch_updatable__WEBPACK_IMPORTED_MODULE_1__/* .BatchUpdatableObject */ .IS {
    get isInitialized() { return !!this.core; }
    constructor(owner) {
        super();
        this.updateEnabled = true;
        this.owner = owner;
    }
    initialize(core) {
        this.core = core;
    }
    updateItemsState(queryCommands) {
        if (!this.isInitialized || this.isUpdateLocked())
            return;
        if (queryCommands === undefined) {
            for (const commandKey of this.getCommandKeys())
                this.updateBarItem(commandKey);
            for (const commandKey of this.getContextKeys())
                this.updateContextItem(commandKey);
        }
        else {
            for (const commandKey of this.getCommandKeys()) {
                if (queryCommands[commandKey] !== undefined)
                    this.updateBarItem(commandKey);
            }
            for (const commandKey of this.getContextKeys()) {
                if (queryCommands[commandKey] !== undefined)
                    this.updateContextItem(commandKey);
            }
        }
    }
    updateBarItem(commandKey) {
        const coreCommandId = commandKey;
        const command = this.core.commandManager.getCommand(coreCommandId);
        if (command) {
            const commandState = command.getState();
            this.setItemVisible(coreCommandId, commandState.visible);
            if (commandState.visible) {
                this.setItemEnabled(commandKey, commandState.enabled);
                if (!commandState.denyUpdateValue) {
                    const itemValue = this.getItemValue(commandState);
                    if (commandState.items)
                        this.setItemSubItems(coreCommandId, commandState.items);
                    this.setItemValue(coreCommandId, itemValue);
                }
            }
        }
        else
            this.setItemEnabled(commandKey, this.core.commandManager.commandIsEnabled(commandKey));
    }
    raiseBarCommandExecuted(command, parameter) {
        const commandId = parseInt(command);
        if (!isNaN(commandId) && _commands_client_command__WEBPACK_IMPORTED_MODULE_3__/* .RichEditClientCommand */ .f[commandId] !== undefined) {
            const executeResult = this.core.commandManager.getCommand(commandId)
                .execute(this.core.commandManager.isPublicApiCall, parameter);
            if (!executeResult)
                this.updateItemsState({ [commandId]: true });
        }
        else
            this.owner.raiseCustomCommandExecuted(command, parameter);
        this.owner.Focus();
    }
    setItemSubItems(_key, _subItems) { }
    setItemValue(_key, _value) { }
    getContextKeys() { return []; }
    updateContextItem(_commandKey) { }
    getItemValue(state) {
        if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__.isDefined)(state.checked))
            return state.checked;
        const value = state.value;
        return value instanceof _model_fonts_font_info__WEBPACK_IMPORTED_MODULE_0__/* .FontInfo */ .p ? value.name : value;
    }
}


/***/ }),

/***/ 5031:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: function() { return /* binding */ RendererClassNames; }
/* harmony export */ });
const RendererClassNames = {
    TOP_LEVEL_SERVICE_CONTAINER: "dxre-servicecontainer",
    SERVICE_CONTAINER: "dxrePageService",
    SELECTION_CONTAINER: "dxreSelection",
    SEARCH_SELECTION_CONTAINER: "dxreSearchSelection",
    MISSPELLED_SELECTION_CONTAINER: "dxreMisspelledSelection",
    RANGE_PERMISSIONS_CONTAINER: "dxreRangePermissions",
    MAIN_PAGE_AREA_CONTAINER: "dxreMainPa",
    OTHER_PAGE_AREA_CONTAINER: "dxreOtherPa",
    FLOATING_OBJECTS_CONTAINER: "dxreFloatingPic",
    SHAPE_BG_CONTAINER: "dxreShapeBgContainer",
    PAGES: "dxrePages",
    PAGE_AREA: "dxrePageArea",
    TEXT_BOX_BG: "dxreTextBoxBg",
    ROWS_CONTAINER: "dxreRows",
    PARAGRAPHFRAMES_CONTAINER: "dxreParFrames",
    TABLES_CONTAINER: "dxreTables",
    TABLE_ELEMENTS_CONTAINER: "dxreTable",
    TABLE_BORDERS_CONTAINER: "dxreTableBrds",
    TABLE_ROW_BACKGROUND_CONTAINER: "dxreTableRowBgds",
    TABLE_CELL_BACKGROUND_CONTAINER: "dxreTableCellBgds",
    TABLE_CURSORS_CONTAINER: "dxreTableCursors",
    ANCHORED_PICTURE: "dxreAncPic",
    SIMPLE_VIEW: "dxreSimpleView",
    PAGE: "dxrePage",
    SIMPLE_PAGE_FLOW_MODE: "dxreSimplePage",
    COLUMN: "dxreColumn",
    ROW: "dxreRow",
    BLACKOUT: "dxreBlackout",
    TABLE_CELL_BG: "dxreTableCellBg",
    TABLE_ROW_BG: "dxreTableRowBg",
    PARAGRAPH_FRAME: "dxreParFrame",
    BOX_BG: "dxreBoxBg",
    FIELD_BG: "dxreFieldBg",
    FIELD_BOX_LEVEL1: "dxreFieldBoxLevel1",
    FIELD_BOX_LEVEL2: "dxreFieldBoxLevel2",
    FIELD_BOX_LEVEL3: "dxreFieldBoxLevel3",
    BOX_SPACE: "dxreBoxSpace",
    BOX: "dxreBox",
    HIDDEN_BOX: "dxreHiddenBox",
    PICTURE: "dxrePic",
    START_BOOKMARK: "dxreStartBookmark",
    END_BOOKMARK: "dxreEndBookmark",
    TABLE_BORDER: "dxreTableBrd",
    SELECTION_RANGE_PERMISSION: "dxreSelRangePerm",
    SELECTION_MISSPELLED: "dxreSelMisspelled",
    SELECTION_SEARCH: "dxreSelSearch",
    SELECTION_ROW: "dxreSelRow",
    SELECTION_CURSOR: "dxreSelCursor",
    SELECTION_FLOATING_OBJECTS: "dxreSelFloatingObjects",
    ANCHOR: "dxreAnchor",
    TABLE_ROW_CURSOR: "dxreTableRowCursor",
    TABLE_BORDER_LINE: "dxreTableBorderLine",
    DRAG_CARET: "dxreDragCaret",
    HEADER_INFO: "dxreHeaderInfo",
    FOOTER_INFO: "dxreFooterInfo",
    FULL_TABLE_SELECTOR: "dxreTblSelector",
    AUTO_SCROLL: "dxreAutoScroll",
    AUTO_SCROLL_CURSOR: "dxreAutoScrollCursor",
    AUTO_SCROLL_CURSOR_N: "dxreAutoScrollCursorN",
    AUTO_SCROLL_CURSOR_NS: "dxreAutoScrollCursorNS",
    AUTO_SCROLL_CURSOR_S: "dxreAutoScrollCursorS",
    FLOATING_OBJECT_TEXT_BOX_AREA: "dxreTextBoxArea",
    TABLE_COLUMN_CURSOR: "dxreTableColumnCursor",
    SELECTED_TEXTBOX: "dxreSelectedTextBox",
    CURSOR_NO_BLINK_CLASS_NAME: "dxreSelNoblink",
};


/***/ }),

/***/ 4803:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: function() { return /* binding */ RichEditClientCommand; }
/* harmony export */ });
var RichEditClientCommand;
(function (RichEditClientCommand) {
    RichEditClientCommand[RichEditClientCommand["None"] = 0] = "None";
    RichEditClientCommand[RichEditClientCommand["FileNew"] = 1] = "FileNew";
    RichEditClientCommand[RichEditClientCommand["FileOpen"] = 2] = "FileOpen";
    RichEditClientCommand[RichEditClientCommand["FileSave"] = 3] = "FileSave";
    RichEditClientCommand[RichEditClientCommand["FileSaveAs"] = 4] = "FileSaveAs";
    RichEditClientCommand[RichEditClientCommand["FilePrint"] = 5] = "FilePrint";
    RichEditClientCommand[RichEditClientCommand["Undo"] = 6] = "Undo";
    RichEditClientCommand[RichEditClientCommand["Redo"] = 7] = "Redo";
    RichEditClientCommand[RichEditClientCommand["PasteSelection"] = 8] = "PasteSelection";
    RichEditClientCommand[RichEditClientCommand["CopySelection"] = 9] = "CopySelection";
    RichEditClientCommand[RichEditClientCommand["CutSelection"] = 10] = "CutSelection";
    RichEditClientCommand[RichEditClientCommand["ChangeFontName"] = 11] = "ChangeFontName";
    RichEditClientCommand[RichEditClientCommand["ChangeStyle"] = 12] = "ChangeStyle";
    RichEditClientCommand[RichEditClientCommand["ChangeFontSize"] = 13] = "ChangeFontSize";
    RichEditClientCommand[RichEditClientCommand["IncreaseFontSize"] = 14] = "IncreaseFontSize";
    RichEditClientCommand[RichEditClientCommand["DecreaseFontSize"] = 15] = "DecreaseFontSize";
    RichEditClientCommand[RichEditClientCommand["MakeTextUpperCase"] = 16] = "MakeTextUpperCase";
    RichEditClientCommand[RichEditClientCommand["MakeTextLowerCase"] = 17] = "MakeTextLowerCase";
    RichEditClientCommand[RichEditClientCommand["CapitalizeEachWordTextCase"] = 18] = "CapitalizeEachWordTextCase";
    RichEditClientCommand[RichEditClientCommand["ToggleTextCase"] = 19] = "ToggleTextCase";
    RichEditClientCommand[RichEditClientCommand["ToggleFontBold"] = 20] = "ToggleFontBold";
    RichEditClientCommand[RichEditClientCommand["ToggleFontItalic"] = 21] = "ToggleFontItalic";
    RichEditClientCommand[RichEditClientCommand["ToggleFontUnderline"] = 22] = "ToggleFontUnderline";
    RichEditClientCommand[RichEditClientCommand["ToggleFontDoubleUnderline"] = 23] = "ToggleFontDoubleUnderline";
    RichEditClientCommand[RichEditClientCommand["ToggleFontStrikeout"] = 24] = "ToggleFontStrikeout";
    RichEditClientCommand[RichEditClientCommand["ToggleFontSuperscript"] = 26] = "ToggleFontSuperscript";
    RichEditClientCommand[RichEditClientCommand["ToggleFontSubscript"] = 27] = "ToggleFontSubscript";
    RichEditClientCommand[RichEditClientCommand["ChangeFontForeColor"] = 28] = "ChangeFontForeColor";
    RichEditClientCommand[RichEditClientCommand["ChangeFontBackColor"] = 29] = "ChangeFontBackColor";
    RichEditClientCommand[RichEditClientCommand["ClearFormatting"] = 30] = "ClearFormatting";
    RichEditClientCommand[RichEditClientCommand["ToggleBulletedListItem"] = 31] = "ToggleBulletedListItem";
    RichEditClientCommand[RichEditClientCommand["ToggleNumberingListItem"] = 32] = "ToggleNumberingListItem";
    RichEditClientCommand[RichEditClientCommand["ToggleMultilevelListItem"] = 33] = "ToggleMultilevelListItem";
    RichEditClientCommand[RichEditClientCommand["DecreaseIndent"] = 34] = "DecreaseIndent";
    RichEditClientCommand[RichEditClientCommand["IncreaseIndent"] = 35] = "IncreaseIndent";
    RichEditClientCommand[RichEditClientCommand["ToggleShowWhitespace"] = 36] = "ToggleShowWhitespace";
    RichEditClientCommand[RichEditClientCommand["ToggleParagraphAlignmentLeft"] = 37] = "ToggleParagraphAlignmentLeft";
    RichEditClientCommand[RichEditClientCommand["ToggleParagraphAlignmentCenter"] = 38] = "ToggleParagraphAlignmentCenter";
    RichEditClientCommand[RichEditClientCommand["ToggleParagraphAlignmentRight"] = 39] = "ToggleParagraphAlignmentRight";
    RichEditClientCommand[RichEditClientCommand["ToggleParagraphAlignmentJustify"] = 40] = "ToggleParagraphAlignmentJustify";
    RichEditClientCommand[RichEditClientCommand["SetSingleParagraphSpacing"] = 41] = "SetSingleParagraphSpacing";
    RichEditClientCommand[RichEditClientCommand["SetSesquialteralParagraphSpacing"] = 42] = "SetSesquialteralParagraphSpacing";
    RichEditClientCommand[RichEditClientCommand["SetDoubleParagraphSpacing"] = 43] = "SetDoubleParagraphSpacing";
    RichEditClientCommand[RichEditClientCommand["AddSpacingBeforeParagraph"] = 45] = "AddSpacingBeforeParagraph";
    RichEditClientCommand[RichEditClientCommand["AddSpacingAfterParagraph"] = 46] = "AddSpacingAfterParagraph";
    RichEditClientCommand[RichEditClientCommand["RemoveSpacingBeforeParagraph"] = 47] = "RemoveSpacingBeforeParagraph";
    RichEditClientCommand[RichEditClientCommand["RemoveSpacingAfterParagraph"] = 48] = "RemoveSpacingAfterParagraph";
    RichEditClientCommand[RichEditClientCommand["ChangeParagraphBackColor"] = 49] = "ChangeParagraphBackColor";
    RichEditClientCommand[RichEditClientCommand["Find"] = 50] = "Find";
    RichEditClientCommand[RichEditClientCommand["Replace"] = 51] = "Replace";
    RichEditClientCommand[RichEditClientCommand["ShowFontForm"] = 52] = "ShowFontForm";
    RichEditClientCommand[RichEditClientCommand["ShowParagraphForm"] = 53] = "ShowParagraphForm";
    RichEditClientCommand[RichEditClientCommand["InsertPageBreak"] = 54] = "InsertPageBreak";
    RichEditClientCommand[RichEditClientCommand["ShowInsertTableForm"] = 55] = "ShowInsertTableForm";
    RichEditClientCommand[RichEditClientCommand["InsertPicture"] = 56] = "InsertPicture";
    RichEditClientCommand[RichEditClientCommand["ShowBookmarkForm"] = 58] = "ShowBookmarkForm";
    RichEditClientCommand[RichEditClientCommand["ShowHyperlinkForm"] = 59] = "ShowHyperlinkForm";
    RichEditClientCommand[RichEditClientCommand["ShowSymbolForm"] = 65] = "ShowSymbolForm";
    RichEditClientCommand[RichEditClientCommand["SetNormalSectionPageMargins"] = 66] = "SetNormalSectionPageMargins";
    RichEditClientCommand[RichEditClientCommand["SetNarrowSectionPageMargins"] = 67] = "SetNarrowSectionPageMargins";
    RichEditClientCommand[RichEditClientCommand["SetModerateSectionPageMargins"] = 68] = "SetModerateSectionPageMargins";
    RichEditClientCommand[RichEditClientCommand["SetWideSectionPageMargins"] = 69] = "SetWideSectionPageMargins";
    RichEditClientCommand[RichEditClientCommand["ShowPageMarginsSetupForm"] = 70] = "ShowPageMarginsSetupForm";
    RichEditClientCommand[RichEditClientCommand["SetPortraitPageOrientation"] = 71] = "SetPortraitPageOrientation";
    RichEditClientCommand[RichEditClientCommand["SetLandscapePageOrientation"] = 72] = "SetLandscapePageOrientation";
    RichEditClientCommand[RichEditClientCommand["ShowPagePaperSetupForm"] = 73] = "ShowPagePaperSetupForm";
    RichEditClientCommand[RichEditClientCommand["SetSectionOneColumn"] = 74] = "SetSectionOneColumn";
    RichEditClientCommand[RichEditClientCommand["SetSectionTwoColumns"] = 75] = "SetSectionTwoColumns";
    RichEditClientCommand[RichEditClientCommand["SetSectionThreeColumns"] = 76] = "SetSectionThreeColumns";
    RichEditClientCommand[RichEditClientCommand["ShowColumnsSetupForm"] = 77] = "ShowColumnsSetupForm";
    RichEditClientCommand[RichEditClientCommand["InsertColumnBreak"] = 79] = "InsertColumnBreak";
    RichEditClientCommand[RichEditClientCommand["InsertSectionBreakNextPage"] = 80] = "InsertSectionBreakNextPage";
    RichEditClientCommand[RichEditClientCommand["InsertSectionBreakEvenPage"] = 81] = "InsertSectionBreakEvenPage";
    RichEditClientCommand[RichEditClientCommand["InsertSectionBreakOddPage"] = 82] = "InsertSectionBreakOddPage";
    RichEditClientCommand[RichEditClientCommand["ChangePageColor"] = 90] = "ChangePageColor";
    RichEditClientCommand[RichEditClientCommand["ToggleShowHorizontalRuler"] = 94] = "ToggleShowHorizontalRuler";
    RichEditClientCommand[RichEditClientCommand["FullScreen"] = 98] = "FullScreen";
    RichEditClientCommand[RichEditClientCommand["SetSectionLegalPaperKind"] = 99] = "SetSectionLegalPaperKind";
    RichEditClientCommand[RichEditClientCommand["SetSectionFolioPaperKind"] = 100] = "SetSectionFolioPaperKind";
    RichEditClientCommand[RichEditClientCommand["SetSectionA4PaperKind"] = 101] = "SetSectionA4PaperKind";
    RichEditClientCommand[RichEditClientCommand["SetSectionA5PaperKind"] = 102] = "SetSectionA5PaperKind";
    RichEditClientCommand[RichEditClientCommand["SetSectionA6PaperKind"] = 103] = "SetSectionA6PaperKind";
    RichEditClientCommand[RichEditClientCommand["SetSectionB5PaperKind"] = 104] = "SetSectionB5PaperKind";
    RichEditClientCommand[RichEditClientCommand["SetSectionExecutivePaperKind"] = 105] = "SetSectionExecutivePaperKind";
    RichEditClientCommand[RichEditClientCommand["SelectAll"] = 106] = "SelectAll";
    RichEditClientCommand[RichEditClientCommand["ShowPageSetupForm"] = 107] = "ShowPageSetupForm";
    RichEditClientCommand[RichEditClientCommand["ShowNumberingListForm"] = 108] = "ShowNumberingListForm";
    RichEditClientCommand[RichEditClientCommand["ExtendLineDown"] = 109] = "ExtendLineDown";
    RichEditClientCommand[RichEditClientCommand["ExtendLineEnd"] = 110] = "ExtendLineEnd";
    RichEditClientCommand[RichEditClientCommand["ExtendLineStart"] = 111] = "ExtendLineStart";
    RichEditClientCommand[RichEditClientCommand["ExtendLineUp"] = 112] = "ExtendLineUp";
    RichEditClientCommand[RichEditClientCommand["ExtendNextCharacter"] = 113] = "ExtendNextCharacter";
    RichEditClientCommand[RichEditClientCommand["ExtendPreviousCharacter"] = 114] = "ExtendPreviousCharacter";
    RichEditClientCommand[RichEditClientCommand["ExtendSelectLine"] = 115] = "ExtendSelectLine";
    RichEditClientCommand[RichEditClientCommand["InsertParagraph"] = 116] = "InsertParagraph";
    RichEditClientCommand[RichEditClientCommand["InsertText"] = 117] = "InsertText";
    RichEditClientCommand[RichEditClientCommand["LineDown"] = 118] = "LineDown";
    RichEditClientCommand[RichEditClientCommand["LineEnd"] = 119] = "LineEnd";
    RichEditClientCommand[RichEditClientCommand["LineStart"] = 120] = "LineStart";
    RichEditClientCommand[RichEditClientCommand["LineUp"] = 121] = "LineUp";
    RichEditClientCommand[RichEditClientCommand["NextCharacter"] = 122] = "NextCharacter";
    RichEditClientCommand[RichEditClientCommand["PreviousCharacter"] = 123] = "PreviousCharacter";
    RichEditClientCommand[RichEditClientCommand["SelectLine"] = 124] = "SelectLine";
    RichEditClientCommand[RichEditClientCommand["ToggleBackspaceKey"] = 125] = "ToggleBackspaceKey";
    RichEditClientCommand[RichEditClientCommand["ToggleDeleteKey"] = 126] = "ToggleDeleteKey";
    RichEditClientCommand[RichEditClientCommand["InsertLineBreak"] = 127] = "InsertLineBreak";
    RichEditClientCommand[RichEditClientCommand["NextPage"] = 128] = "NextPage";
    RichEditClientCommand[RichEditClientCommand["ExtendNextPage"] = 129] = "ExtendNextPage";
    RichEditClientCommand[RichEditClientCommand["PreviousPage"] = 130] = "PreviousPage";
    RichEditClientCommand[RichEditClientCommand["ExtendPreviousPage"] = 131] = "ExtendPreviousPage";
    RichEditClientCommand[RichEditClientCommand["ChangeInlinePictureScale"] = 132] = "ChangeInlinePictureScale";
    RichEditClientCommand[RichEditClientCommand["IncrementParagraphLeftIndent"] = 133] = "IncrementParagraphLeftIndent";
    RichEditClientCommand[RichEditClientCommand["DecrementParagraphLeftIndent"] = 134] = "DecrementParagraphLeftIndent";
    RichEditClientCommand[RichEditClientCommand["DragMoveContent"] = 135] = "DragMoveContent";
    RichEditClientCommand[RichEditClientCommand["DragCopyContent"] = 136] = "DragCopyContent";
    RichEditClientCommand[RichEditClientCommand["InsertSpace"] = 137] = "InsertSpace";
    RichEditClientCommand[RichEditClientCommand["RulerSectionMarginLeft"] = 138] = "RulerSectionMarginLeft";
    RichEditClientCommand[RichEditClientCommand["RulerSectionMarginRight"] = 139] = "RulerSectionMarginRight";
    RichEditClientCommand[RichEditClientCommand["RulerParagraphRightIndent"] = 140] = "RulerParagraphRightIndent";
    RichEditClientCommand[RichEditClientCommand["RulerSectionColumnsSettings"] = 141] = "RulerSectionColumnsSettings";
    RichEditClientCommand[RichEditClientCommand["RulerParagraphLeftIndents"] = 142] = "RulerParagraphLeftIndents";
    RichEditClientCommand[RichEditClientCommand["InsertTabMark"] = 143] = "InsertTabMark";
    RichEditClientCommand[RichEditClientCommand["InsertShiftTabMark"] = 144] = "InsertShiftTabMark";
    RichEditClientCommand[RichEditClientCommand["DocumentStart"] = 145] = "DocumentStart";
    RichEditClientCommand[RichEditClientCommand["ExtendDocumentStart"] = 146] = "ExtendDocumentStart";
    RichEditClientCommand[RichEditClientCommand["DocumentEnd"] = 147] = "DocumentEnd";
    RichEditClientCommand[RichEditClientCommand["ExtendDocumentEnd"] = 148] = "ExtendDocumentEnd";
    RichEditClientCommand[RichEditClientCommand["GoToNextWord"] = 149] = "GoToNextWord";
    RichEditClientCommand[RichEditClientCommand["ExtendGoToNextWord"] = 150] = "ExtendGoToNextWord";
    RichEditClientCommand[RichEditClientCommand["GoToPrevWord"] = 151] = "GoToPrevWord";
    RichEditClientCommand[RichEditClientCommand["ExtendGoToPrevWord"] = 152] = "ExtendGoToPrevWord";
    RichEditClientCommand[RichEditClientCommand["GoToStartParagraph"] = 153] = "GoToStartParagraph";
    RichEditClientCommand[RichEditClientCommand["ExtendGoToStartParagraph"] = 154] = "ExtendGoToStartParagraph";
    RichEditClientCommand[RichEditClientCommand["GoToEndParagraph"] = 155] = "GoToEndParagraph";
    RichEditClientCommand[RichEditClientCommand["ExtendGoToEndParagraph"] = 156] = "ExtendGoToEndParagraph";
    RichEditClientCommand[RichEditClientCommand["ReloadDocument"] = 157] = "ReloadDocument";
    RichEditClientCommand[RichEditClientCommand["ShowErrorModelIsChangedMessageCommand"] = 158] = "ShowErrorModelIsChangedMessageCommand";
    RichEditClientCommand[RichEditClientCommand["ShowErrorSessionHasExpiredMessageCommand"] = 159] = "ShowErrorSessionHasExpiredMessageCommand";
    RichEditClientCommand[RichEditClientCommand["SelectParagraph"] = 160] = "SelectParagraph";
    RichEditClientCommand[RichEditClientCommand["ShowErrorOpeningAndOverstoreImpossibleMessageCommand"] = 161] = "ShowErrorOpeningAndOverstoreImpossibleMessageCommand";
    RichEditClientCommand[RichEditClientCommand["SetSectionLetterPaperKind"] = 162] = "SetSectionLetterPaperKind";
    RichEditClientCommand[RichEditClientCommand["ShowErrorClipboardAccessDeniedMessageCommand"] = 163] = "ShowErrorClipboardAccessDeniedMessageCommand";
    RichEditClientCommand[RichEditClientCommand["SelectLineNoUpdateControlState"] = 164] = "SelectLineNoUpdateControlState";
    RichEditClientCommand[RichEditClientCommand["ExtendSelectLineNoUpdateControlState"] = 165] = "ExtendSelectLineNoUpdateControlState";
    RichEditClientCommand[RichEditClientCommand["ShowTabsForm"] = 166] = "ShowTabsForm";
    RichEditClientCommand[RichEditClientCommand["ShowCustomNumberingListForm"] = 167] = "ShowCustomNumberingListForm";
    RichEditClientCommand[RichEditClientCommand["ShowServiceFontForm"] = 168] = "ShowServiceFontForm";
    RichEditClientCommand[RichEditClientCommand["ShowServiceSymbolsForm"] = 169] = "ShowServiceSymbolsForm";
    RichEditClientCommand[RichEditClientCommand["RestartNumberingList"] = 170] = "RestartNumberingList";
    RichEditClientCommand[RichEditClientCommand["DeleteTabRuler"] = 171] = "DeleteTabRuler";
    RichEditClientCommand[RichEditClientCommand["InsertTabRuler"] = 172] = "InsertTabRuler";
    RichEditClientCommand[RichEditClientCommand["MoveTabRuler"] = 173] = "MoveTabRuler";
    RichEditClientCommand[RichEditClientCommand["IncrementNumberingIndent"] = 174] = "IncrementNumberingIndent";
    RichEditClientCommand[RichEditClientCommand["DecrementNumberingIndent"] = 175] = "DecrementNumberingIndent";
    RichEditClientCommand[RichEditClientCommand["IncrementParagraphIndentFromFirstRow"] = 176] = "IncrementParagraphIndentFromFirstRow";
    RichEditClientCommand[RichEditClientCommand["DecrementParagraphIndentFromFirstRow"] = 177] = "DecrementParagraphIndentFromFirstRow";
    RichEditClientCommand[RichEditClientCommand["CreateField"] = 178] = "CreateField";
    RichEditClientCommand[RichEditClientCommand["UpdateField"] = 179] = "UpdateField";
    RichEditClientCommand[RichEditClientCommand["ToggleFieldCodes"] = 180] = "ToggleFieldCodes";
    RichEditClientCommand[RichEditClientCommand["ShowAllFieldCodes"] = 186] = "ShowAllFieldCodes";
    RichEditClientCommand[RichEditClientCommand["ShowAllFieldResults"] = 187] = "ShowAllFieldResults";
    RichEditClientCommand[RichEditClientCommand["ToggleAllFields"] = 188] = "ToggleAllFields";
    RichEditClientCommand[RichEditClientCommand["ContinueNumberingList"] = 189] = "ContinueNumberingList";
    RichEditClientCommand[RichEditClientCommand["InsertNumerationToParagraphs"] = 190] = "InsertNumerationToParagraphs";
    RichEditClientCommand[RichEditClientCommand["DeleteNumerationFromParagraphs"] = 191] = "DeleteNumerationFromParagraphs";
    RichEditClientCommand[RichEditClientCommand["ShowErrorInnerExceptionMessageCommand"] = 192] = "ShowErrorInnerExceptionMessageCommand";
    RichEditClientCommand[RichEditClientCommand["ShowErrorAuthExceptionMessageCommand"] = 193] = "ShowErrorAuthExceptionMessageCommand";
    RichEditClientCommand[RichEditClientCommand["ShowEditHyperlinkForm"] = 194] = "ShowEditHyperlinkForm";
    RichEditClientCommand[RichEditClientCommand["OpenHyperlink"] = 195] = "OpenHyperlink";
    RichEditClientCommand[RichEditClientCommand["RemoveHyperlink"] = 196] = "RemoveHyperlink";
    RichEditClientCommand[RichEditClientCommand["ShowErrorSavingMessageCommand"] = 197] = "ShowErrorSavingMessageCommand";
    RichEditClientCommand[RichEditClientCommand["ShowErrorOpeningMessageCommand"] = 198] = "ShowErrorOpeningMessageCommand";
    RichEditClientCommand[RichEditClientCommand["ShowErrorDocVariableErrorCommand"] = 199] = "ShowErrorDocVariableErrorCommand";
    RichEditClientCommand[RichEditClientCommand["UpdateAllFields"] = 200] = "UpdateAllFields";
    RichEditClientCommand[RichEditClientCommand["InsertNonBreakingSpace"] = 201] = "InsertNonBreakingSpace";
    RichEditClientCommand[RichEditClientCommand["RemoveHyperlinks"] = 202] = "RemoveHyperlinks";
    RichEditClientCommand[RichEditClientCommand["CreateDateField"] = 203] = "CreateDateField";
    RichEditClientCommand[RichEditClientCommand["CreateTimeField"] = 204] = "CreateTimeField";
    RichEditClientCommand[RichEditClientCommand["CreatePageField"] = 205] = "CreatePageField";
    RichEditClientCommand[RichEditClientCommand["ShowCreateHyperlinkForm"] = 206] = "ShowCreateHyperlinkForm";
    RichEditClientCommand[RichEditClientCommand["SentenceCase"] = 207] = "SentenceCase";
    RichEditClientCommand[RichEditClientCommand["SwitchTextCase"] = 208] = "SwitchTextCase";
    RichEditClientCommand[RichEditClientCommand["GoToFirstDataRecord"] = 209] = "GoToFirstDataRecord";
    RichEditClientCommand[RichEditClientCommand["GoToPreviousDataRecord"] = 210] = "GoToPreviousDataRecord";
    RichEditClientCommand[RichEditClientCommand["GoToNextDataRecord"] = 211] = "GoToNextDataRecord";
    RichEditClientCommand[RichEditClientCommand["GoToLastDataRecord"] = 212] = "GoToLastDataRecord";
    RichEditClientCommand[RichEditClientCommand["ToggleViewMergedData"] = 213] = "ToggleViewMergedData";
    RichEditClientCommand[RichEditClientCommand["ShowInsertMergeFieldForm"] = 214] = "ShowInsertMergeFieldForm";
    RichEditClientCommand[RichEditClientCommand["CreateMergeField"] = 215] = "CreateMergeField";
    RichEditClientCommand[RichEditClientCommand["ShowFinishAndMergeForm"] = 216] = "ShowFinishAndMergeForm";
    RichEditClientCommand[RichEditClientCommand["ShowSaveMergedDocumentForm"] = 218] = "ShowSaveMergedDocumentForm";
    RichEditClientCommand[RichEditClientCommand["AddSelectedLineCommandNoUpdateControlState"] = 219] = "AddSelectedLineCommandNoUpdateControlState";
    RichEditClientCommand[RichEditClientCommand["InsertHeader"] = 220] = "InsertHeader";
    RichEditClientCommand[RichEditClientCommand["InsertFooter"] = 221] = "InsertFooter";
    RichEditClientCommand[RichEditClientCommand["LinkHeaderFooterToPrevious"] = 222] = "LinkHeaderFooterToPrevious";
    RichEditClientCommand[RichEditClientCommand["CreateBookmark"] = 225] = "CreateBookmark";
    RichEditClientCommand[RichEditClientCommand["DeleteBookmarks"] = 226] = "DeleteBookmarks";
    RichEditClientCommand[RichEditClientCommand["GoToPageHeader"] = 227] = "GoToPageHeader";
    RichEditClientCommand[RichEditClientCommand["GoToPageFooter"] = 228] = "GoToPageFooter";
    RichEditClientCommand[RichEditClientCommand["GoToNextPageHeaderFooter"] = 229] = "GoToNextPageHeaderFooter";
    RichEditClientCommand[RichEditClientCommand["GoToPreviousPageHeaderFooter"] = 230] = "GoToPreviousPageHeaderFooter";
    RichEditClientCommand[RichEditClientCommand["ToggleDifferentFirstPage"] = 231] = "ToggleDifferentFirstPage";
    RichEditClientCommand[RichEditClientCommand["ToggleDifferentOddAndEvenPages"] = 232] = "ToggleDifferentOddAndEvenPages";
    RichEditClientCommand[RichEditClientCommand["ClosePageHeaderFooter"] = 233] = "ClosePageHeaderFooter";
    RichEditClientCommand[RichEditClientCommand["ContextItem_HeadersFooters"] = 234] = "ContextItem_HeadersFooters";
    RichEditClientCommand[RichEditClientCommand["InsertPageNumberField"] = 235] = "InsertPageNumberField";
    RichEditClientCommand[RichEditClientCommand["InsertPageCountField"] = 236] = "InsertPageCountField";
    RichEditClientCommand[RichEditClientCommand["GoToBookmark"] = 237] = "GoToBookmark";
    RichEditClientCommand[RichEditClientCommand["InsertTableCore"] = 238] = "InsertTableCore";
    RichEditClientCommand[RichEditClientCommand["ContextItem_Tables"] = 239] = "ContextItem_Tables";
    RichEditClientCommand[RichEditClientCommand["ShowTablePropertiesForm"] = 240] = "ShowTablePropertiesForm";
    RichEditClientCommand[RichEditClientCommand["ShowCellOptionsForm"] = 242] = "ShowCellOptionsForm";
    RichEditClientCommand[RichEditClientCommand["InsertTableColumnToTheLeft"] = 243] = "InsertTableColumnToTheLeft";
    RichEditClientCommand[RichEditClientCommand["InsertTableColumnToTheRight"] = 244] = "InsertTableColumnToTheRight";
    RichEditClientCommand[RichEditClientCommand["InsertTableRowBelow"] = 245] = "InsertTableRowBelow";
    RichEditClientCommand[RichEditClientCommand["InsertTableRowAbove"] = 246] = "InsertTableRowAbove";
    RichEditClientCommand[RichEditClientCommand["DeleteTableRows"] = 247] = "DeleteTableRows";
    RichEditClientCommand[RichEditClientCommand["DeleteTableColumns"] = 248] = "DeleteTableColumns";
    RichEditClientCommand[RichEditClientCommand["InsertTableCellWithShiftToTheLeft"] = 249] = "InsertTableCellWithShiftToTheLeft";
    RichEditClientCommand[RichEditClientCommand["DeleteTableCellsWithShiftToTheHorizontally"] = 250] = "DeleteTableCellsWithShiftToTheHorizontally";
    RichEditClientCommand[RichEditClientCommand["DeleteTable"] = 251] = "DeleteTable";
    RichEditClientCommand[RichEditClientCommand["ShowInsertTableCellsForm"] = 252] = "ShowInsertTableCellsForm";
    RichEditClientCommand[RichEditClientCommand["ShowDeleteTableCellsForm"] = 253] = "ShowDeleteTableCellsForm";
    RichEditClientCommand[RichEditClientCommand["MergeTableCells"] = 254] = "MergeTableCells";
    RichEditClientCommand[RichEditClientCommand["ShowSplitTableCellsForm"] = 255] = "ShowSplitTableCellsForm";
    RichEditClientCommand[RichEditClientCommand["SplitTableCellsCommand"] = 256] = "SplitTableCellsCommand";
    RichEditClientCommand[RichEditClientCommand["InsertTableCellsWithShiftToTheVertically"] = 257] = "InsertTableCellsWithShiftToTheVertically";
    RichEditClientCommand[RichEditClientCommand["DeleteTableCellsWithShiftToTheVertically"] = 258] = "DeleteTableCellsWithShiftToTheVertically";
    RichEditClientCommand[RichEditClientCommand["ShowBorderShadingForm"] = 259] = "ShowBorderShadingForm";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignTopLeft"] = 260] = "TableCellAlignTopLeft";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignTopCenter"] = 261] = "TableCellAlignTopCenter";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignTopRight"] = 262] = "TableCellAlignTopRight";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignMiddleLeft"] = 263] = "TableCellAlignMiddleLeft";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignMiddleCenter"] = 264] = "TableCellAlignMiddleCenter";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignMiddleRight"] = 265] = "TableCellAlignMiddleRight";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignBottomLeft"] = 266] = "TableCellAlignBottomLeft";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignBottomCenter"] = 267] = "TableCellAlignBottomCenter";
    RichEditClientCommand[RichEditClientCommand["TableCellAlignBottomRight"] = 268] = "TableCellAlignBottomRight";
    RichEditClientCommand[RichEditClientCommand["ApplyTableStyle"] = 269] = "ApplyTableStyle";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellsTopBorder"] = 270] = "ToggleTableCellsTopBorder";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellsRightBorder"] = 271] = "ToggleTableCellsRightBorder";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellsBottomBorder"] = 272] = "ToggleTableCellsBottomBorder";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellsLeftBorder"] = 273] = "ToggleTableCellsLeftBorder";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellNoBorder"] = 274] = "ToggleTableCellNoBorder";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellAllBorders"] = 275] = "ToggleTableCellAllBorders";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellInsideBorders"] = 276] = "ToggleTableCellInsideBorders";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellInsideHorizontalBorders"] = 277] = "ToggleTableCellInsideHorizontalBorders";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellInsideVerticalBorders"] = 278] = "ToggleTableCellInsideVerticalBorders";
    RichEditClientCommand[RichEditClientCommand["ToggleTableCellOutsideBorders"] = 279] = "ToggleTableCellOutsideBorders";
    RichEditClientCommand[RichEditClientCommand["ToggleFirstRow"] = 280] = "ToggleFirstRow";
    RichEditClientCommand[RichEditClientCommand["ToggleLastRow"] = 281] = "ToggleLastRow";
    RichEditClientCommand[RichEditClientCommand["ToggleFirstColumn"] = 282] = "ToggleFirstColumn";
    RichEditClientCommand[RichEditClientCommand["ToggleLastColumn"] = 283] = "ToggleLastColumn";
    RichEditClientCommand[RichEditClientCommand["ToggleBandedRows"] = 284] = "ToggleBandedRows";
    RichEditClientCommand[RichEditClientCommand["ToggleBandedColumn"] = 285] = "ToggleBandedColumn";
    RichEditClientCommand[RichEditClientCommand["SelectTableCell"] = 286] = "SelectTableCell";
    RichEditClientCommand[RichEditClientCommand["SelectTableColumn"] = 287] = "SelectTableColumn";
    RichEditClientCommand[RichEditClientCommand["SelectTableRow"] = 288] = "SelectTableRow";
    RichEditClientCommand[RichEditClientCommand["SelectTable"] = 289] = "SelectTable";
    RichEditClientCommand[RichEditClientCommand["ChangeTableBorderColorRepositoryItem"] = 290] = "ChangeTableBorderColorRepositoryItem";
    RichEditClientCommand[RichEditClientCommand["ChangeTableBorderWidthRepositoryItem"] = 291] = "ChangeTableBorderWidthRepositoryItem";
    RichEditClientCommand[RichEditClientCommand["ChangeTableBorderStyleRepositoryItem"] = 292] = "ChangeTableBorderStyleRepositoryItem";
    RichEditClientCommand[RichEditClientCommand["ShowErrorPathTooLongCommand"] = 293] = "ShowErrorPathTooLongCommand";
    RichEditClientCommand[RichEditClientCommand["ChangeTableCellShading"] = 294] = "ChangeTableCellShading";
    RichEditClientCommand[RichEditClientCommand["ToggleShowTableGridLines"] = 295] = "ToggleShowTableGridLines";
    RichEditClientCommand[RichEditClientCommand["ExtendSelectTableCell"] = 296] = "ExtendSelectTableCell";
    RichEditClientCommand[RichEditClientCommand["ExtendSelectTableColumn"] = 297] = "ExtendSelectTableColumn";
    RichEditClientCommand[RichEditClientCommand["ExtendSelectTableRow"] = 298] = "ExtendSelectTableRow";
    RichEditClientCommand[RichEditClientCommand["ExtendSelectTable"] = 299] = "ExtendSelectTable";
    RichEditClientCommand[RichEditClientCommand["SelectTableCellsRange"] = 300] = "SelectTableCellsRange";
    RichEditClientCommand[RichEditClientCommand["ShowServiceBorderShadingForm"] = 301] = "ShowServiceBorderShadingForm";
    RichEditClientCommand[RichEditClientCommand["RulerTableColumnSeparators"] = 302] = "RulerTableColumnSeparators";
    RichEditClientCommand[RichEditClientCommand["ChangeActiveSubDocumentToMain"] = 303] = "ChangeActiveSubDocumentToMain";
    RichEditClientCommand[RichEditClientCommand["ChangeActiveSubDocumentToHeaderFooterByPageIndex"] = 304] = "ChangeActiveSubDocumentToHeaderFooterByPageIndex";
    RichEditClientCommand[RichEditClientCommand["ChangeActiveSubDocumentToHeaderFooterBySubDocument"] = 305] = "ChangeActiveSubDocumentToHeaderFooterBySubDocument";
    RichEditClientCommand[RichEditClientCommand["ShowErrorInvalidDocumentFormat"] = 306] = "ShowErrorInvalidDocumentFormat";
    RichEditClientCommand[RichEditClientCommand["SetSectionPageSize"] = 307] = "SetSectionPageSize";
    RichEditClientCommand[RichEditClientCommand["SetSectionColumnCount"] = 308] = "SetSectionColumnCount";
    RichEditClientCommand[RichEditClientCommand["ChangeTableRowHeight"] = 309] = "ChangeTableRowHeight";
    RichEditClientCommand[RichEditClientCommand["ChangeTableCellWidth"] = 310] = "ChangeTableCellWidth";
    RichEditClientCommand[RichEditClientCommand["ChangeTableColumnWidth"] = 311] = "ChangeTableColumnWidth";
    RichEditClientCommand[RichEditClientCommand["ChangeTableLook"] = 312] = "ChangeTableLook";
    RichEditClientCommand[RichEditClientCommand["ShowSpellCheckerForm"] = 313] = "ShowSpellCheckerForm";
    RichEditClientCommand[RichEditClientCommand["IgnoreSpellingError"] = 314] = "IgnoreSpellingError";
    RichEditClientCommand[RichEditClientCommand["IgnoreAllSpellingErrors"] = 315] = "IgnoreAllSpellingErrors";
    RichEditClientCommand[RichEditClientCommand["DeleteRepeatedWord"] = 316] = "DeleteRepeatedWord";
    RichEditClientCommand[RichEditClientCommand["AddWordToDictionary"] = 317] = "AddWordToDictionary";
    RichEditClientCommand[RichEditClientCommand["ChangeSpellingError"] = 318] = "ChangeSpellingError";
    RichEditClientCommand[RichEditClientCommand["ChangeAllSpellingErrors"] = 319] = "ChangeAllSpellingErrors";
    RichEditClientCommand[RichEditClientCommand["ShowSpellingCheckCompletedMessage"] = 320] = "ShowSpellingCheckCompletedMessage";
    RichEditClientCommand[RichEditClientCommand["RulerChangeTableColumnWidth"] = 321] = "RulerChangeTableColumnWidth";
    RichEditClientCommand[RichEditClientCommand["RulerChangeTableRowHeight"] = 322] = "RulerChangeTableRowHeight";
    RichEditClientCommand[RichEditClientCommand["DeleteTableCellsByBackspace"] = 323] = "DeleteTableCellsByBackspace";
    RichEditClientCommand[RichEditClientCommand["GoToDataRecord"] = 324] = "GoToDataRecord";
    RichEditClientCommand[RichEditClientCommand["FindAll"] = 325] = "FindAll";
    RichEditClientCommand[RichEditClientCommand["ReplaceNext"] = 326] = "ReplaceNext";
    RichEditClientCommand[RichEditClientCommand["ReplaceAll"] = 327] = "ReplaceAll";
    RichEditClientCommand[RichEditClientCommand["HideFindResults"] = 328] = "HideFindResults";
    RichEditClientCommand[RichEditClientCommand["ActivateRibbon"] = 329] = "ActivateRibbon";
    RichEditClientCommand[RichEditClientCommand["ChangeHeaderOffset"] = 330] = "ChangeHeaderOffset";
    RichEditClientCommand[RichEditClientCommand["ChangeFooterOffset"] = 331] = "ChangeFooterOffset";
    RichEditClientCommand[RichEditClientCommand["Download"] = 332] = "Download";
    RichEditClientCommand[RichEditClientCommand["ShowErrorCantSaveToEmptyPathMessageCommand"] = 333] = "ShowErrorCantSaveToEmptyPathMessageCommand";
    RichEditClientCommand[RichEditClientCommand["RemoveNextWord"] = 334] = "RemoveNextWord";
    RichEditClientCommand[RichEditClientCommand["RemovePrevWord"] = 335] = "RemovePrevWord";
    RichEditClientCommand[RichEditClientCommand["GoToStartNextPage"] = 336] = "GoToStartNextPage";
    RichEditClientCommand[RichEditClientCommand["GoToStartPrevPage"] = 337] = "GoToStartPrevPage";
    RichEditClientCommand[RichEditClientCommand["ExtendGoToStartNextPage"] = 338] = "ExtendGoToStartNextPage";
    RichEditClientCommand[RichEditClientCommand["ExtendGoToStartPrevPage"] = 339] = "ExtendGoToStartPrevPage";
    RichEditClientCommand[RichEditClientCommand["SetSectionPageMargins"] = 340] = "SetSectionPageMargins";
    RichEditClientCommand[RichEditClientCommand["AssignShortcut"] = 341] = "AssignShortcut";
    RichEditClientCommand[RichEditClientCommand["ShowLayoutOptionsForm"] = 342] = "ShowLayoutOptionsForm";
    RichEditClientCommand[RichEditClientCommand["ChangeFloatingObjectFillColor"] = 343] = "ChangeFloatingObjectFillColor";
    RichEditClientCommand[RichEditClientCommand["ChangeFloatingObjectOutlineColor"] = 344] = "ChangeFloatingObjectOutlineColor";
    RichEditClientCommand[RichEditClientCommand["ChangeFloatingObjectOutlineWidth"] = 345] = "ChangeFloatingObjectOutlineWidth";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectSquareTextWrapType"] = 346] = "SetFloatingObjectSquareTextWrapType";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectTightTextWrapType"] = 347] = "SetFloatingObjectTightTextWrapType";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectThroughTextWrapType"] = 348] = "SetFloatingObjectThroughTextWrapType";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectTopAndBottomTextWrapType"] = 349] = "SetFloatingObjectTopAndBottomTextWrapType";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectBehindTextWrapType"] = 350] = "SetFloatingObjectBehindTextWrapType";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectInFrontOfTextWrapType"] = 351] = "SetFloatingObjectInFrontOfTextWrapType";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectTopLeftAlignment"] = 352] = "SetFloatingObjectTopLeftAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectTopCenterAlignment"] = 353] = "SetFloatingObjectTopCenterAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectTopRightAlignment"] = 354] = "SetFloatingObjectTopRightAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectMiddleLeftAlignment"] = 355] = "SetFloatingObjectMiddleLeftAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectMiddleCenterAlignment"] = 356] = "SetFloatingObjectMiddleCenterAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectMiddleRightAlignment"] = 357] = "SetFloatingObjectMiddleRightAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectBottomLeftAlignment"] = 358] = "SetFloatingObjectBottomLeftAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectBottomCenterAlignment"] = 359] = "SetFloatingObjectBottomCenterAlignment";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectBottomRightAlignment"] = 360] = "SetFloatingObjectBottomRightAlignment";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectBringForward"] = 361] = "FloatingObjectBringForward";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectBringToFront"] = 362] = "FloatingObjectBringToFront";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectBringInFrontOfText"] = 363] = "FloatingObjectBringInFrontOfText";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectSendBackward"] = 364] = "FloatingObjectSendBackward";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectSendToBack"] = 365] = "FloatingObjectSendToBack";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectSendBehindText"] = 366] = "FloatingObjectSendBehindText";
    RichEditClientCommand[RichEditClientCommand["ContextItem_FloatingObjects"] = 367] = "ContextItem_FloatingObjects";
    RichEditClientCommand[RichEditClientCommand["InsertAnchoredTextBox"] = 368] = "InsertAnchoredTextBox";
    RichEditClientCommand[RichEditClientCommand["ChangeActiveSubDocumentToTextBox"] = 369] = "ChangeActiveSubDocumentToTextBox";
    RichEditClientCommand[RichEditClientCommand["ChangeTextBoxProperties"] = 370] = "ChangeTextBoxProperties";
    RichEditClientCommand[RichEditClientCommand["ChangeFloatingObjectShape"] = 371] = "ChangeFloatingObjectShape";
    RichEditClientCommand[RichEditClientCommand["CreateEmptyMergeField"] = 372] = "CreateEmptyMergeField";
    RichEditClientCommand[RichEditClientCommand["CreateEmptyDocVariableField"] = 373] = "CreateEmptyDocVariableField";
    RichEditClientCommand[RichEditClientCommand["SetFloatingObjectInlineTextWrapType"] = 374] = "SetFloatingObjectInlineTextWrapType";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectDragDropChangePosition"] = 375] = "FloatingObjectDragDropChangePosition";
    RichEditClientCommand[RichEditClientCommand["InsertHtml"] = 376] = "InsertHtml";
    RichEditClientCommand[RichEditClientCommand["CreateTocField"] = 377] = "CreateTocField";
    RichEditClientCommand[RichEditClientCommand["CreateTableOfEquationsField"] = 378] = "CreateTableOfEquationsField";
    RichEditClientCommand[RichEditClientCommand["CreateTableOfFiguresField"] = 379] = "CreateTableOfFiguresField";
    RichEditClientCommand[RichEditClientCommand["CreateTableOfTablesField"] = 380] = "CreateTableOfTablesField";
    RichEditClientCommand[RichEditClientCommand["CreateEquationCaptionField"] = 381] = "CreateEquationCaptionField";
    RichEditClientCommand[RichEditClientCommand["CreateFigureCaptionField"] = 382] = "CreateFigureCaptionField";
    RichEditClientCommand[RichEditClientCommand["CreateTableCaptionField"] = 383] = "CreateTableCaptionField";
    RichEditClientCommand[RichEditClientCommand["UpdateTableOfContents"] = 384] = "UpdateTableOfContents";
    RichEditClientCommand[RichEditClientCommand["SetParagraphBodyTextLevel"] = 385] = "SetParagraphBodyTextLevel";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading1Level"] = 386] = "SetParagraphHeading1Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading2Level"] = 387] = "SetParagraphHeading2Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading3Level"] = 388] = "SetParagraphHeading3Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading4Level"] = 389] = "SetParagraphHeading4Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading5Level"] = 390] = "SetParagraphHeading5Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading6Level"] = 391] = "SetParagraphHeading6Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading7Level"] = 392] = "SetParagraphHeading7Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading8Level"] = 393] = "SetParagraphHeading8Level";
    RichEditClientCommand[RichEditClientCommand["SetParagraphHeading9Level"] = 394] = "SetParagraphHeading9Level";
    RichEditClientCommand[RichEditClientCommand["ChangeHeadingLevel"] = 395] = "ChangeHeadingLevel";
    RichEditClientCommand[RichEditClientCommand["SetParagraphLevel"] = 396] = "SetParagraphLevel";
    RichEditClientCommand[RichEditClientCommand["CreateFieldWithCode"] = 397] = "CreateFieldWithCode";
    RichEditClientCommand[RichEditClientCommand["ChangeHyperlink"] = 398] = "ChangeHyperlink";
    RichEditClientCommand[RichEditClientCommand["SetAutoFitContents"] = 399] = "SetAutoFitContents";
    RichEditClientCommand[RichEditClientCommand["SetAutoFitWindow"] = 400] = "SetAutoFitWindow";
    RichEditClientCommand[RichEditClientCommand["SetFixedColumnWidth"] = 401] = "SetFixedColumnWidth";
    RichEditClientCommand[RichEditClientCommand["InsertRtf"] = 402] = "InsertRtf";
    RichEditClientCommand[RichEditClientCommand["GetRtf"] = 403] = "GetRtf";
    RichEditClientCommand[RichEditClientCommand["ForceSyncWithServer"] = 404] = "ForceSyncWithServer";
    RichEditClientCommand[RichEditClientCommand["SwitchToSimpleView"] = 405] = "SwitchToSimpleView";
    RichEditClientCommand[RichEditClientCommand["SwitchToPrintLayoutView"] = 406] = "SwitchToPrintLayoutView";
    RichEditClientCommand[RichEditClientCommand["ChangeViewType"] = 407] = "ChangeViewType";
    RichEditClientCommand[RichEditClientCommand["InsertContentFromServer"] = 408] = "InsertContentFromServer";
    RichEditClientCommand[RichEditClientCommand["ShowInsertContentFromServerErrorDialogCommand"] = 409] = "ShowInsertContentFromServerErrorDialogCommand";
    RichEditClientCommand[RichEditClientCommand["OpenDocumentLocally"] = 410] = "OpenDocumentLocally";
    RichEditClientCommand[RichEditClientCommand["InsertPictureLocally"] = 411] = "InsertPictureLocally";
    RichEditClientCommand[RichEditClientCommand["CreateNewDocumentLocally"] = 412] = "CreateNewDocumentLocally";
    RichEditClientCommand[RichEditClientCommand["ExportDocument"] = 413] = "ExportDocument";
    RichEditClientCommand[RichEditClientCommand["DownloadDocumentLocally"] = 414] = "DownloadDocumentLocally";
    RichEditClientCommand[RichEditClientCommand["ShowErrorLoadPictureMessage"] = 415] = "ShowErrorLoadPictureMessage";
    RichEditClientCommand[RichEditClientCommand["PrintDocumentOnClient"] = 416] = "PrintDocumentOnClient";
    RichEditClientCommand[RichEditClientCommand["MailMergeOnClient"] = 417] = "MailMergeOnClient";
    RichEditClientCommand[RichEditClientCommand["DownloadDocx"] = 418] = "DownloadDocx";
    RichEditClientCommand[RichEditClientCommand["DownloadRtf"] = 419] = "DownloadRtf";
    RichEditClientCommand[RichEditClientCommand["DownloadTxt"] = 420] = "DownloadTxt";
    RichEditClientCommand[RichEditClientCommand["DownloadHtml"] = 421] = "DownloadHtml";
    RichEditClientCommand[RichEditClientCommand["PdfExported"] = 430] = "PdfExported";
    RichEditClientCommand[RichEditClientCommand["ChangeCaseMenu"] = 431] = "ChangeCaseMenu";
    RichEditClientCommand[RichEditClientCommand["AlignParagraphMenu"] = 432] = "AlignParagraphMenu";
    RichEditClientCommand[RichEditClientCommand["LineSpacingMenu"] = 433] = "LineSpacingMenu";
    RichEditClientCommand[RichEditClientCommand["MarginsMenu"] = 434] = "MarginsMenu";
    RichEditClientCommand[RichEditClientCommand["OrientationMenu"] = 435] = "OrientationMenu";
    RichEditClientCommand[RichEditClientCommand["SizeMenu"] = 436] = "SizeMenu";
    RichEditClientCommand[RichEditClientCommand["ColumnsMenu"] = 437] = "ColumnsMenu";
    RichEditClientCommand[RichEditClientCommand["BreaksMenu"] = 438] = "BreaksMenu";
    RichEditClientCommand[RichEditClientCommand["AddTextMenu"] = 439] = "AddTextMenu";
    RichEditClientCommand[RichEditClientCommand["InsertCaptionMenu"] = 440] = "InsertCaptionMenu";
    RichEditClientCommand[RichEditClientCommand["InsertTableOfFiguresMenu"] = 441] = "InsertTableOfFiguresMenu";
    RichEditClientCommand[RichEditClientCommand["CreateFieldMenu"] = 442] = "CreateFieldMenu";
    RichEditClientCommand[RichEditClientCommand["TableStyleOptionsMenu"] = 443] = "TableStyleOptionsMenu";
    RichEditClientCommand[RichEditClientCommand["BordersMenu"] = 444] = "BordersMenu";
    RichEditClientCommand[RichEditClientCommand["SelectMenu"] = 445] = "SelectMenu";
    RichEditClientCommand[RichEditClientCommand["DeleteMenu"] = 446] = "DeleteMenu";
    RichEditClientCommand[RichEditClientCommand["InsertMenu"] = 447] = "InsertMenu";
    RichEditClientCommand[RichEditClientCommand["AutoFitMenu"] = 448] = "AutoFitMenu";
    RichEditClientCommand[RichEditClientCommand["AlignmentMenu"] = 449] = "AlignmentMenu";
    RichEditClientCommand[RichEditClientCommand["WrapTextMenu"] = 450] = "WrapTextMenu";
    RichEditClientCommand[RichEditClientCommand["PositionMenu"] = 451] = "PositionMenu";
    RichEditClientCommand[RichEditClientCommand["BringForwardMenu"] = 452] = "BringForwardMenu";
    RichEditClientCommand[RichEditClientCommand["SendBackwardMenu"] = 453] = "SendBackwardMenu";
    RichEditClientCommand[RichEditClientCommand["ChangeFloatingObjectTextWrapTypeMenu"] = 454] = "ChangeFloatingObjectTextWrapTypeMenu";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectBringForwardMenu"] = 455] = "FloatingObjectBringForwardMenu";
    RichEditClientCommand[RichEditClientCommand["FloatingObjectSendBackwardMenu"] = 456] = "FloatingObjectSendBackwardMenu";
    RichEditClientCommand[RichEditClientCommand["NoSpellingSuggestions"] = 457] = "NoSpellingSuggestions";
    RichEditClientCommand[RichEditClientCommand["GetHtml"] = 458] = "GetHtml";
    RichEditClientCommand[RichEditClientCommand["CreateEmptyIfField"] = 459] = "CreateEmptyIfField";
})(RichEditClientCommand || (RichEditClientCommand = {}));


/***/ }),

/***/ 9145:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  eK: function() { return /* binding */ CommandBase; },
  dg: function() { return /* binding */ CommandOptions; },
  LF: function() { return /* binding */ CommandSimpleOptions; }
});

// EXTERNAL MODULE: ./src/common/model/history/items/apply-style-history-items.ts
var apply_style_history_items = __webpack_require__(8189);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/insert-paragraph-manipulator-params.ts
var insert_paragraph_manipulator_params = __webpack_require__(7970);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-manipulator/insert-text-manipulator-params.ts
var insert_text_manipulator_params = __webpack_require__(2598);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./src/common/interfaces/i-rich-edit-core.ts
var i_rich_edit_core = __webpack_require__(9597);
// EXTERNAL MODULE: ./src/common/model/history/selection/history-item-direction.ts
var history_item_direction = __webpack_require__(6852);
// EXTERNAL MODULE: ./src/common/model/history/base/history-item.ts
var history_item = __webpack_require__(1360);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var flag = __webpack_require__(7820);
;// CONCATENATED MODULE: ./src/common/model/history/selection/scroll-history-item.ts



class ScrollHistoryItem extends history_item/* HistoryItem */.B {
    canBeMerged() {
        return true;
    }
    constructor(modelManipulator, selection, oldState, newState, directionValue = history_item_direction/* HistoryItemDirection */.v.OnRedoAndUndo) {
        super(modelManipulator);
        this.selection = selection;
        this.newState = newState;
        this.oldState = oldState;
        this.directionFlag = new flag.Flag(directionValue);
    }
    redo() {
        if (this.directionFlag.get(history_item_direction/* HistoryItemDirection */.v.OnRedo))
            this.selection.scrollManager.setScroll(this.newState);
    }
    undo() {
        if (this.directionFlag.get(history_item_direction/* HistoryItemDirection */.v.OnUndo))
            this.selection.scrollManager.setScroll(this.oldState);
    }
}

// EXTERNAL MODULE: ./src/common/model/history/selection/selection-history-item.ts
var selection_history_item = __webpack_require__(6341);
// EXTERNAL MODULE: ./src/common/scroll/model-states.ts + 1 modules
var model_states = __webpack_require__(4385);
;// CONCATENATED MODULE: ./src/common/commands/command-base.ts














class CommandOptions {
    get subDocument() { return this.intervalsInfo.subDocument; }
    setChangeSelection(changeSelection) {
        this.changeSelection = changeSelection;
        return this;
    }
    setIntervalsInfo(intervalsInfo) {
        this.intervalsInfo = intervalsInfo;
        return this;
    }
    constructor(control) {
        this.control = control;
        this.changeSelection = true;
        this.isSetManually = true;
        if (control)
            this.intervalsInfo = this.control.selection.intervalsInfo.clone();
    }
}
class CommandSimpleOptions extends CommandOptions {
    constructor(control, parameter) {
        super(control);
        this.param = parameter;
    }
}
class CommandBase {
    get modelManipulator() { return this.control.modelManager.modelManipulator; }
    get selection() { return this.control.selection; }
    get history() { return this.control.modelManager.history; }
    get inputPosition() { return this.control.inputPosition; }
    constructor(control) {
        this.control = control;
    }
    get colorProvider() { return this.control.modelManager.model.colorProvider; }
    getRelatedCommands() {
        return { [this.commandId]: true };
    }
    execute(isPublicApiCall, parameter) {
        const isPublicApiCallPrevValue = this.control.commandManager.isPublicApiCall;
        this.control.commandManager.isPublicApiCall = isPublicApiCall;
        if (this.control.isClosed() && !this.isEnabledInClosedDocument()) {
            this.control.commandManager.isPublicApiCall = isPublicApiCallPrevValue;
            return false;
        }
        const options = this.convertToCommandOptions(parameter);
        const state = this.getState(options);
        const modifiedState = this.control.getModifiedState();
        if (!state.enabled) {
            this.control.commandManager.isPublicApiCall = isPublicApiCallPrevValue;
            return false;
        }
        this.beforeExecute();
        this.control.beginUpdate();
        this.control.commandManager.beforeExecuting(this);
        const executed = this.executeCore(state, options);
        this.control.commandManager.afterExecuting();
        const lockBarHolderUpdate = this.lockBarHolderUpdate(modifiedState);
        const lockInputPositionUpdating = this.lockInputPositionUpdating(modifiedState);
        if (lockBarHolderUpdate)
            this.control.barHolder.enableUpdate(false);
        if (lockInputPositionUpdating)
            this.control.inputPositionModelChangesListener.updateEnabled = false;
        this.control.endUpdate();
        this.afterExecute();
        this.control.barHolder.forceUpdate(this.getRelatedCommands());
        if (lockBarHolderUpdate)
            this.control.barHolder.enableUpdate(true);
        if (lockInputPositionUpdating)
            this.control.inputPositionModelChangesListener.updateEnabled = true;
        if (executed)
            this.updateControlState();
        this.control.commandManager.isPublicApiCall = isPublicApiCallPrevValue;
        return executed;
    }
    afterExecute() { }
    beforeExecute() { }
    convertToCommandOptions(parameter) {
        if (parameter instanceof CommandOptions)
            return parameter;
        const options = new CommandSimpleOptions(this.control, this.DEPRECATEDConvertOptionsParameter(parameter));
        this.DEPRECATEDCorrectlMainCommandOptions(options);
        options.isSetManually = false;
        return options;
    }
    updateControlState() { }
    executeCore(_state, _options) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    isEnabled(_options) {
        return this.control.commandManager.commandIsEnabled(this.commandId) && (this.isEnabledInReadOnlyMode() || this.control.readOnly != i_rich_edit_core/* ReadOnlyMode */.F.Persistent && this.canModify());
    }
    lockBarHolderUpdate(_prevModifiedState) {
        return false;
    }
    lockInputPositionUpdating(_prevModifiedState) {
        return false;
    }
    isEnabledInReadOnlyMode() {
        return false;
    }
    isEnabledInClosedDocument() {
        return false;
    }
    canModify() {
        return this.selection.activeSubDocument.isEditable(this.getIntervalsForModifying());
    }
    getIntervalsForModifying() {
        return this.selection.intervals;
    }
    getFloatingObjectParentSubDocument() {
        const specialRunInfo = this.selection.specialRunInfo;
        return specialRunInfo.isPictureSelected() ?
            this.selection.activeSubDocument :
            specialRunInfo.getParentSubDocument();
    }
    DEPRECATEDConvertOptionsParameter(parameter) {
        return parameter;
    }
    DEPRECATEDCorrectlMainCommandOptions(_options) {
    }
    static addSelectionBefore(control) {
        control.modelManager.history.addAndRedo(new ScrollHistoryItem(control.modelManager.modelManipulator, control.selection, new model_states/* ScrollState */.G_().byScrollInfo.setPageInfo(control.viewManager.canvasManager.getScrollTopInfo()), null, history_item_direction/* HistoryItemDirection */.v.OnUndo));
        control.modelManager.history.add(new selection_history_item/* SelectionHistoryItem */.n(control.modelManager.modelManipulator, control.selection, control.selection.getState(), null, history_item_direction/* HistoryItemDirection */.v.OnUndo));
    }
    static addSelectionAfter(control, endPos, customSelection = () => { }) {
        const state = control.selection.getState().setPosition(endPos);
        customSelection(state);
        control.modelManager.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(control.modelManager.modelManipulator, control.selection, null, state, history_item_direction/* HistoryItemDirection */.v.OnRedo));
        control.modelManager.history.addAndRedo(new ScrollHistoryItem(control.modelManager.modelManipulator, control.selection, null, new model_states/* ScrollState */.G_().byModelPosition(control.selection).setModelPosition(endPos).useStdRelativePosition().useStdOffset(), history_item_direction/* HistoryItemDirection */.v.OnRedo));
    }
    addSelectionBefore() {
        CommandBase.addSelectionBefore(this.control);
    }
    addSelectionAfter(endPos, customSelection = () => { }) {
        CommandBase.addSelectionAfter(this.control, endPos, customSelection);
    }
    insertText(subDocInterval, text) {
        const charBundle = this.inputPosition.charPropsBundle;
        this.history.beginTransaction();
        this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocInterval.subDocument, subDocInterval.interval), true, false);
        const params = new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocInterval.subDocument, subDocInterval.interval.start), charBundle, run_type/* RunType */.m.TextRun, text);
        const insertedResult = this.modelManipulator.text.insertTextViaHistory(params);
        this.history.endTransaction();
        return insertedResult;
    }
    insertTextWithSelection(subDocInterval, text) {
        const charPropsBundle = this.inputPosition.charPropsBundle;
        this.insertSomeWithSelection(subDocInterval, (subDocPosition) => {
            const params = new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(subDocPosition, charPropsBundle, run_type/* RunType */.m.TextRun, text);
            return this.modelManipulator.text.insertTextViaHistory(params).insertedInterval.end;
        });
    }
    insertSomeWithSelection(subDocInterval, insertAction) {
        this.history.beginTransaction();
        this.addSelectionBefore();
        this.modelManipulator.range.removeInterval(subDocInterval, true, false);
        const nextSelectionPosition = insertAction(new sub_document/* SubDocumentPosition */.rg(subDocInterval.subDocument, subDocInterval.interval.start));
        this.addSelectionAfter(nextSelectionPosition);
        this.history.endTransaction();
    }
    static replaceTextByParagraph(modelManager, inputPosition, subDocInterval) {
        subDocInterval.validateInterval();
        const interval = subDocInterval.interval;
        const subDocument = subDocInterval.subDocument;
        let characterStyle = inputPosition.getCharacterStyle();
        let maskedCharacterProperties = inputPosition.getMaskedCharacterProperties().clone();
        let currentParagraph = subDocument.getRunByPosition(interval.start).paragraph;
        const nextParagraphStyle = currentParagraph.paragraphStyle ? currentParagraph.paragraphStyle.nextParagraphStyle : null;
        const needToSetNextStyle = nextParagraphStyle && (currentParagraph.getEndPosition() - 1 == interval.end);
        const needToUseCurrentParagraphLastRunAsSource = currentParagraph.isInList() && !needToSetNextStyle &&
            !interval.containsInterval(currentParagraph.interval);
        modelManager.history.beginTransaction();
        if (interval.length > 0)
            modelManager.modelManipulator.range.removeInterval(subDocInterval, true, false);
        const newInterval = new fixed.FixedInterval(interval.start + rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark.length, 0);
        let actionAfter = () => { };
        if (needToUseCurrentParagraphLastRunAsSource) {
            if (interval.length > 0)
                currentParagraph = subDocument.getRunByPosition(interval.start).paragraph;
            const paragraphLastRun = subDocument.getRunByPosition(currentParagraph.getEndPosition() - 1);
            characterStyle = paragraphLastRun.characterStyle;
            maskedCharacterProperties = paragraphLastRun.maskedCharacterProperties.clone();
        }
        else {
            if (needToSetNextStyle && subDocument.isEditable([new fixed.FixedInterval(newInterval.start, 1)]))
                actionAfter = (modelManager) => {
                    modelManager.history.addAndRedo(new apply_style_history_items/* ApplyParagraphStyleHistoryItem */.j3(modelManager.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, newInterval), modelManager.model.stylesManager.addParagraphStyle(nextParagraphStyle)));
                };
        }
        modelManager.modelManipulator.paragraph.insertParagraphViaHistory(new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(subDocument, subDocInterval.interval.start), new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(maskedCharacterProperties, characterStyle), new properties_bundle/* MaskedParagraphPropertiesBundleFull */.Us(undefined, undefined, undefined, undefined), false, actionAfter));
        modelManager.history.endTransaction();
        return new fixed.FixedInterval(interval.start, 1);
    }
}


/***/ }),

/***/ 3964:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   BA: function() { return /* binding */ ApplyStyleCommandState; },
/* harmony export */   IA: function() { return /* binding */ IntervalCommandStateEx; },
/* harmony export */   WS: function() { return /* binding */ RulerSectionColumnsSettingsState; },
/* harmony export */   dJ: function() { return /* binding */ IntervalCommandState; },
/* harmony export */   mh: function() { return /* binding */ SimpleCommandState; }
/* harmony export */ });
class SimpleCommandState {
    constructor(enabled, value) {
        this.visible = true;
        this.denyUpdateValue = false;
        this.enabled = enabled;
        this.value = value;
    }
}
class IntervalCommandState extends SimpleCommandState {
    constructor(enabled, interval, value) {
        super(enabled, value);
        this.interval = interval;
    }
}
class IntervalCommandStateEx extends SimpleCommandState {
    constructor(enabled, intervals, value) {
        super(enabled, value);
        this.intervals = intervals;
    }
}
class ApplyStyleCommandState {
    get enabled() {
        return this.commandEnabled && (this.paragraphStyleChangeEnabled || this.characterStyleChangeEnabled);
    }
    constructor(commandEnabled, paragraphStyleChangeEnabled, characterStyleChangeEnabled, interval, value) {
        this.commandEnabled = commandEnabled;
        this.paragraphStyleChangeEnabled = paragraphStyleChangeEnabled;
        this.characterStyleChangeEnabled = characterStyleChangeEnabled;
        this.interval = interval;
        this.visible = true;
        this.denyUpdateValue = false;
        this.value = value;
    }
}
class RulerSectionColumnsSettingsState extends IntervalCommandState {
    constructor(enabled, interval, columns, equalWidth, activeIndex) {
        super(enabled, interval, columns);
        this.equalWidth = equalWidth;
        this.activeIndex = activeIndex;
    }
}


/***/ }),

/***/ 2433:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   SC: function() { return /* binding */ ColumnInfoUI; },
/* harmony export */   fB: function() { return /* binding */ DialogColumnsCommand; },
/* harmony export */   hf: function() { return /* binding */ ColumnsEditorController; }
/* harmony export */ });
/* unused harmony exports ColumnsDialogParameters, ColumnsInfoUI, ColumnsDistributionCalculator, ColumnsDistributionWidthPriorityCalculator, ColumnsDistributionSpacingPriorityCalculator, ColumnsInfoPreset, UniformColumnsInfoPreset, SingleColumnsInfoPreset, TwoColumnsInfoPreset, ThreeColumnsInfoPreset, TwoNonUniformColumnsInfoPreset, LeftNarrowColumnsInfoPreset, RightNarrowColumnsInfoPreset */
/* harmony import */ var _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7329);
/* harmony import */ var _model_options_control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9147);
/* harmony import */ var _model_section_section_column_properties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7695);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8860);
/* harmony import */ var _section_properties_section_properties_command_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6643);
/* harmony import */ var _dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5715);
/* harmony import */ var _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7355);







class DialogColumnsCommand extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_6__/* .ShowDialogCommandBase */ .xN {
    isEnabled() {
        return super.isEnabled() && _model_options_control__WEBPACK_IMPORTED_MODULE_1__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.sections) && this.selection.activeSubDocument.isMain() &&
            _section_properties_section_properties_command_base__WEBPACK_IMPORTED_MODULE_4__/* .SectionPropertiesCommandBase */ .V.rangePermissionIncludeFullSection(this.control, this.selection.activeSubDocument, this.selection.intervals);
    }
    createParameters(_options) {
        var columnsInfo = new ColumnsInfoUI();
        var secProps = this.inputPosition.getMergedSectionPropertiesRaw();
        columnsInfo.equalColumnWidth = secProps.equalWidthColumns;
        if (secProps.pageWidth != undefined && secProps.marginLeft != undefined && secProps.marginRight != undefined)
            columnsInfo.pageWidth = secProps.pageWidth - secProps.marginLeft - secProps.marginRight;
        else
            columnsInfo.pageWidth = ColumnsInfoUI.minColumnWidth;
        var columnCount = secProps.columnCount == undefined ? 0 : secProps.columnCount;
        columnsInfo.changeColumnCount(columnCount);
        for (var i = 0, info; info = secProps.columnsInfo[i]; i++) {
            columnsInfo.columns[i].width = info.width;
            columnsInfo.columns[i].spacing = info.space;
        }
        return new ColumnsDialogParameters().init(columnsInfo, this.control.uiUnitConverter);
    }
    applyParameters(_state, newParams) {
        var interval = this.getInterval(newParams.columnsInfo.applyType);
        var modelManipulator = this.modelManipulator;
        var columnsInfo = newParams.columnsInfo;
        this.history.beginTransaction();
        var columns = [];
        for (var i = 0, columnInfo; columnInfo = columnsInfo.columns[i]; i++) {
            var column = new _model_section_section_column_properties__WEBPACK_IMPORTED_MODULE_2__/* .SectionColumnProperties */ .G(columnInfo.width, columnInfo.spacing);
            columns.push(column);
        }
        this.history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .SectionColumnsInfoHistoryItem */ .oo(modelManipulator, interval, columns));
        this.history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .SectionColumnCountHistoryItem */ .FW(modelManipulator, interval, columnsInfo.columnCount));
        this.history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .SectionEqualWidthColumnsHistoryItem */ .Mj(modelManipulator, interval, columnsInfo.equalColumnWidth));
        this.history.endTransaction();
        return true;
    }
    getInterval(applyTo) {
        if (applyTo == _dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_5__/* .SectionPropertiesApplyType */ .TC.WholeDocument)
            return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(0, this.control.modelManager.model.mainSubDocument.getDocumentEndPosition() - 1);
        var selectedSections = this.control.modelManager.model.getSectionsByInterval(this.selection.lastSelectedInterval);
        if (applyTo == _dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_5__/* .SectionPropertiesApplyType */ .TC.SelectedSections) {
            var lastSection = selectedSections[selectedSections.length - 1];
            return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval.fromPositions(selectedSections[0].startLogPosition.value, lastSection.startLogPosition.value + lastSection.getLength() - 1);
        }
        if (applyTo == _dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_5__/* .SectionPropertiesApplyType */ .TC.ThisPointForward)
            return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval.fromPositions(selectedSections[0].startLogPosition.value, this.control.modelManager.model.mainSubDocument.getDocumentEndPosition());
        return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(selectedSections[0].startLogPosition.value, selectedSections[0].getLength() - 1);
    }
    getDialogName() {
        return "Columns";
    }
}
class ColumnsDialogParameters extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_6__/* .DialogParametersBase */ .R9 {
    init(columnsInfo, unitConverter) {
        this.columnsInfo = columnsInfo;
        this.unitConverter = unitConverter;
        return this;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        var columnsInfo = new ColumnsInfoUI();
        columnsInfo.copyFrom(obj.columnsInfo);
        this.columnsInfo = columnsInfo;
        this.unitConverter = obj.unitConverter;
    }
    clone() {
        const newInstance = new ColumnsDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}
class ColumnsInfoUI {
    constructor() {
        this.columns = [];
        this.equalColumnWidth = false;
        this.applyType = _dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_5__/* .SectionPropertiesApplyType */ .TC.WholeDocument;
    }
    getMaxColumnCount() {
        return Math.ceil(this.pageWidth / (ColumnsInfoUI.minColumnWidth + ColumnsInfoUI.minSpacingWidth));
    }
    hasColumnsNull() {
        if (this.columnCount > this.columns.length)
            return true;
        for (var i = 0; i < this.columnCount; i++) {
            if (!this.columns[i].width)
                return true;
            if (!this.columns[i].spacing && this.columns[i].spacing != 0)
                return true;
        }
        return false;
    }
    hasColumnsInfoUINull() {
        if (!this.columnCount)
            return true;
        return this.hasColumnsNull();
    }
    changeColumnCount(count) {
        if (count < 0)
            return;
        count = Math.min(count, this.getMaxColumnCount());
        var previousCount = this.columns.length;
        var hasColumnInfoUINull = this.hasColumnsInfoUINull();
        for (var i = this.columns.length; i < count; i++)
            this.columns[i] = new ColumnInfoUI(i + 1);
        this.columns.splice(count);
        this.columnCount = count;
        if (hasColumnInfoUINull) {
            this.calculateEqualColumnsOnChangeCount();
            return;
        }
        if (!this.equalColumnWidth && previousCount > 0)
            this.calculateNotEqualColumnsOnChangeCount(previousCount);
        else
            this.calculateEqualColumnsOnChangeCount();
    }
    calculateEqualColumnsOnChangeCount() {
        if (this.columns.length <= 0)
            return;
        var spacingValue;
        if (this.columns[0].spacing && this.columns[0].spacing != 0)
            spacingValue = this.columns[0].spacing;
        else
            spacingValue = ColumnsInfoUI.minColumnWidth;
        this.calculateUniformColumnsByColumnSpacing(spacingValue);
    }
    calculateNotEqualColumnsOnChangeCount(previousCount) {
        if (this.columns.length <= 0)
            return;
        if (this.columns.length == 1)
            this.columns[0].width = this.pageWidth;
        var calculateCount = Math.min(previousCount, this.columns.length);
        for (var i = 0; i < calculateCount; i++)
            this.columns[i].width = Math.max(ColumnsInfoUI.minColumnWidth, this.columns[i].width * previousCount / this.columns.length);
        for (var i = 0; i < calculateCount - 1; i++)
            this.columns[i].spacing = Math.max(ColumnsInfoUI.minSpacingWidth, this.columns[i].spacing * (previousCount - 1) / (this.columns.length - 1));
        if (calculateCount > 0)
            for (var i = calculateCount; i < this.columns.length; i++)
                this.columns[i].width = this.columns[calculateCount - 1].width;
        if (calculateCount > 1)
            for (var i = calculateCount - 1; i < this.columns.length - 1; i++)
                this.columns[i].spacing = this.columns[calculateCount - 2].spacing;
        this.disableTheLastSpacing();
        this.correctColumns();
    }
    correctColumns() {
        if (!this.columnCount || this.columnCount <= 0)
            return;
        var difference = -this.calculateAvailableSpace();
        var calculatorWidth = new ColumnsDistributionWidthPriorityCalculator(this.columns);
        var calculatorSpacing = new ColumnsDistributionSpacingPriorityCalculator(this.columns);
        var sumWidth = calculatorWidth.calculateTotal(0, this.columns.length - 1);
        var sumSpacing = calculatorSpacing.calculateTotal(0, this.columns.length - 1);
        var partWidth = sumWidth / (sumWidth + sumSpacing);
        var differenceWidth = Math.ceil(difference * partWidth);
        var differenceSpacing = difference - differenceWidth;
        calculatorWidth.distributeSpace(0, this.columns.length - 1, differenceWidth);
        calculatorSpacing.distributeSpace(0, this.columns.length - 2, differenceSpacing);
    }
    disableTheLastSpacing() {
        this.columns[this.columns.length - 1].spacing = 0;
    }
    recalculateColumnsByWidthAfterIndex(index) {
        if (this.hasColumnsInfoUINull())
            return;
        if (this.equalColumnWidth)
            this.calculateColumnWidthForUniformColumns();
        else
            this.changeColumnsNotEqualByWidthAfterIndex(index);
    }
    recalculateColumnsBySpacingAfterIndex(index) {
        if (this.hasColumnsInfoUINull())
            return;
        if (this.equalColumnWidth)
            this.calculateColumnSpacingForUniformColumns();
        else
            this.changeColumnsNotEqualBySpacingAfterIndex(index);
    }
    calculateUniformColumnsCore(columnWidth, columnSpacing, restWidth, restSpacing) {
        var calculatorWidth = new ColumnsDistributionWidthPriorityCalculator(this.columns);
        var calculatorSpacing = new ColumnsDistributionSpacingPriorityCalculator(this.columns);
        calculatorWidth.setAllValues(columnWidth, restWidth);
        calculatorSpacing.setAllValues(columnSpacing, restSpacing);
        this.disableTheLastSpacing();
    }
    calculateColumnWidthForUniformColumns() {
        var columnWidth = (this.columns[0].width) ? this.columns[0].width : ColumnsInfoUI.minColumnWidth;
        this.calculateUniformColumnsByColumnWidth(columnWidth);
    }
    calculateUniformColumnsByColumnWidth(columnWidth) {
        if (!this.columnCount || this.columnCount <= 0)
            return;
        if (this.columnCount <= 1)
            columnWidth = this.pageWidth;
        if (columnWidth * this.columnCount > this.pageWidth)
            columnWidth = this.pageWidth / this.columnCount;
        columnWidth = Math.max(columnWidth, ColumnsInfoUI.minColumnWidth);
        var dividend = this.pageWidth - columnWidth * this.columnCount;
        var divider = Math.max(1, this.columnCount - 1);
        var restSpacing = dividend % divider;
        var columnSpacing = dividend / divider;
        this.calculateUniformColumnsCore(columnWidth, columnSpacing, 0, restSpacing);
    }
    calculateColumnSpacingForUniformColumns() {
        if (this.hasColumnsInfoUINull())
            return;
        var columnSpacing = (this.columns[0].spacing) ? this.columns[0].spacing : ColumnsInfoUI.minSpacingWidth;
        this.calculateUniformColumnsByColumnSpacing(columnSpacing);
    }
    calculateUniformColumnsByColumnSpacing(columnSpacing) {
        if (!this.columnCount || this.columnCount <= 0)
            return;
        columnSpacing = Math.max(columnSpacing, ColumnsInfoUI.minSpacingWidth);
        if (columnSpacing * (this.columnCount - 1) > this.pageWidth - ColumnsInfoUI.minColumnWidth * this.columnCount)
            columnSpacing = Math.ceil((this.pageWidth - ColumnsInfoUI.minColumnWidth * this.columnCount) / (this.columnCount - 1));
        if (this.columnCount == 1)
            columnSpacing = 0;
        var dividend = Math.ceil(this.pageWidth - columnSpacing * (this.columnCount - 1));
        var restWidth = Math.ceil(dividend % this.columnCount);
        var columnWidth = Math.ceil(dividend / this.columnCount);
        this.calculateUniformColumnsCore(columnWidth, columnSpacing, restWidth, 0);
    }
    calculateAvailableSpace() {
        var usedSpace = 0;
        for (var i = 0; i < this.columnCount; i++)
            usedSpace += ((this.columns[i].width) ? this.columns[i].width : 0) + ((this.columns[i].spacing) ? this.columns[i].spacing : 0);
        return this.pageWidth - usedSpace;
    }
    changeColumnsNotEqualByWidthAfterIndex(index) {
        if (!this.columnCount || this.columnCount <= 0 || index >= this.columnCount)
            return;
        var calculatorWidth = new ColumnsDistributionWidthPriorityCalculator(this.columns);
        var calculatorSpacing = new ColumnsDistributionSpacingPriorityCalculator(this.columns);
        calculatorWidth.correctValue(index);
        var difference = -this.calculateAvailableSpace();
        difference = calculatorWidth.distributeSpace(index + 1, this.columnCount - 1, difference);
        difference = calculatorWidth.distributeSpace(0, index - 1, difference);
        difference = calculatorSpacing.distributeSpace(0, this.columnCount - 2, difference);
        this.columns[index].width -= difference;
        this.disableTheLastSpacing();
    }
    changeColumnsNotEqualBySpacingAfterIndex(index) {
        if (!this.columnCount || this.columnCount <= 0 || index >= this.columnCount)
            return;
        var calculatorWidth = new ColumnsDistributionWidthPriorityCalculator(this.columns);
        var calculatorSpacing = new ColumnsDistributionSpacingPriorityCalculator(this.columns);
        calculatorSpacing.correctValue(index);
        var difference = -this.calculateAvailableSpace();
        difference = calculatorWidth.distributeSpace(index + 1, this.columnCount - 1, difference);
        difference = calculatorWidth.distributeSpace(0, index, difference);
        difference = calculatorSpacing.distributeSpace(0, index - 1, difference);
        difference = calculatorSpacing.distributeSpace(index + 1, this.columnCount - 2, difference);
        this.columns[index].spacing -= difference;
        this.disableTheLastSpacing();
    }
    clone() {
        var obj = new ColumnsInfoUI();
        obj.copyFrom(this);
        return obj;
    }
    copyFrom(info) {
        this.applyType = info.applyType;
        this.equalColumnWidth = info.equalColumnWidth;
        this.pageWidth = info.pageWidth;
        this.changeColumnCount(info.columns.length);
        for (var i = 0; i < this.columns.length; i++) {
            this.columns[i].width = info.columns[i].width;
            this.columns[i].spacing = info.columns[i].spacing;
        }
    }
}
ColumnsInfoUI.minColumnWidth = 720;
ColumnsInfoUI.minSpacingWidth = 0;
class ColumnInfoUI {
    constructor(num) {
        this.num = num;
    }
}
class ColumnsDistributionCalculator {
    constructor(columns) {
        this.columns = [];
        this.columns = columns;
    }
    calculateTotal(from, to) {
        var result = 0;
        for (var i = from; i <= to; i++)
            result += this.getValue(this.columns[i]);
        return result;
    }
    hasEnoughSpaceForDistribution(from, to, space) {
        var total = this.calculateTotal(from, to);
        return space < total - this.getMinValue() * (to - from + 1);
    }
    setMinValues(from, to, space) {
        for (var i = from; i <= to; i++) {
            space -= this.getValue(this.columns[i]) - this.getMinValue();
            this.setValue(this.columns[i], this.getMinValue());
        }
        return space;
    }
    correctValue(index) {
        if (index >= this.columns.length)
            return;
        if (this.getValue(this.columns[index]) < this.getMinValue())
            this.setValue(this.columns[index], this.getMinValue());
    }
    distributeRemainder(from, to, remainder) {
        var correction = (remainder > 0) ? 1 : -1;
        while (remainder != 0) {
            for (var i = from; i <= to && (remainder != 0); i++) {
                var newValue = this.getValue(this.columns[i]) - correction;
                if (newValue > this.getMinValue()) {
                    this.setValue(this.columns[i], newValue);
                    remainder -= correction;
                }
            }
        }
        return 0;
    }
    distributeSpaceCore(from, to, space) {
        var remainder = Math.round(space % (to - from + 1));
        var difference = Math.round(space / (to - from + 1));
        for (var i = from; i <= to; i++) {
            var newValue = this.getValue(this.columns[i]) - difference;
            if (newValue >= this.getMinValue())
                this.setValue(this.columns[i], newValue);
            else {
                this.setValue(this.columns[i], this.getMinValue());
                remainder += (this.getMinValue() - newValue);
            }
        }
        this.distributeRemainder(from, to, remainder);
        return 0;
    }
    distributeSpace(from, to, space) {
        if (from > to)
            return space;
        if (this.hasEnoughSpaceForDistribution(from, to, space))
            return this.distributeSpaceCore(from, to, space);
        else
            return this.setMinValues(from, to, space);
    }
    setAllValues(value, rest) {
        var count = this.columns.length;
        for (var i = 0; i < count; i++)
            this.setValue(this.columns[i], value);
        this.distributeSpace(0, count - 1, -rest);
    }
    getMinValue() { return null; }
    getValue(_column) { return null; }
    setValue(_column, _value) { }
}
class ColumnsDistributionWidthPriorityCalculator extends ColumnsDistributionCalculator {
    getMinValue() {
        return 720;
    }
    getValue(column) {
        return (column.width) ? column.width : 0;
    }
    setValue(column, value) {
        column.width = value;
    }
}
class ColumnsDistributionSpacingPriorityCalculator extends ColumnsDistributionCalculator {
    getMinValue() {
        return 0;
    }
    getValue(column) {
        return (column.spacing) ? column.spacing : 0;
    }
    setValue(column, value) {
        column.spacing = value;
    }
}
class ColumnsEditorController {
    constructor(parameters) {
        this.presets = [];
        this.columnsInfo = parameters.columnsInfo;
        this.unitConverter = parameters.unitConverter;
        this.presets.push(new SingleColumnsInfoPreset());
        this.presets.push(new TwoColumnsInfoPreset());
        this.presets.push(new ThreeColumnsInfoPreset());
        this.presets.push(new LeftNarrowColumnsInfoPreset());
        this.presets.push(new RightNarrowColumnsInfoPreset());
    }
    changeColumnCount(count) {
        this.columnsInfo.changeColumnCount(count);
    }
    setEqualColumnWidth(value) {
        this.columnsInfo.equalColumnWidth = value;
        if (value)
            this.columnsInfo.calculateColumnSpacingForUniformColumns();
    }
    applyPreset(index) {
        this.presets[index].applyTo(this.columnsInfo);
    }
    matchPreset(index) {
        return this.presets[index].matchTo(this.columnsInfo);
    }
    getWidth(index) {
        var width = this.columnsInfo.columns[index].width;
        return this.unitConverter.twipsToUI(width);
    }
    getSpacing(index) {
        var spacing = this.columnsInfo.columns[index].spacing;
        return this.unitConverter.twipsToUI(spacing);
    }
    setWidth(index, value) {
        var width = this.unitConverter.UIToTwips(value);
        this.columnsInfo.columns[index].width = width;
        this.columnsInfo.recalculateColumnsByWidthAfterIndex(index);
    }
    setSpacing(index, value) {
        var spacing = this.unitConverter.UIToTwips(value);
        this.columnsInfo.columns[index].spacing = spacing;
        this.columnsInfo.recalculateColumnsBySpacingAfterIndex(index);
    }
}
class ColumnsInfoPreset {
    getSpacing() { return 1800; }
    matchTo(_columnsInfo) { return false; }
}
class UniformColumnsInfoPreset extends ColumnsInfoPreset {
    getColumnCount() { return null; }
    matchTo(columnsInfo) {
        if (!columnsInfo.equalColumnWidth)
            return false;
        if (!columnsInfo.columnCount)
            return false;
        return columnsInfo.columnCount == this.getColumnCount();
    }
    applyTo(columnsInfo) {
        columnsInfo.equalColumnWidth = true;
        if (columnsInfo.columns.length > 0)
            columnsInfo.columns[0].spacing = this.getSpacing();
        columnsInfo.changeColumnCount(this.getColumnCount());
    }
}
class SingleColumnsInfoPreset extends UniformColumnsInfoPreset {
    getColumnCount() { return 1; }
}
class TwoColumnsInfoPreset extends UniformColumnsInfoPreset {
    getColumnCount() { return 2; }
}
class ThreeColumnsInfoPreset extends UniformColumnsInfoPreset {
    getColumnCount() { return 3; }
}
class TwoNonUniformColumnsInfoPreset extends ColumnsInfoPreset {
    getFirstColumnRelativeWidth() { return null; }
    matchTo(columnsInfo) {
        if (columnsInfo.equalColumnWidth)
            return false;
        if (columnsInfo.columnCount != 2)
            return false;
        if (columnsInfo.columns.length != 2)
            return false;
        if (!columnsInfo.columns[0].width)
            return false;
        if (!columnsInfo.columns[0].spacing && columnsInfo.columns[1].spacing != 0)
            return false;
        if (!columnsInfo.columns[1].width)
            return false;
        if (!columnsInfo.columns[1].spacing && columnsInfo.columns[1].spacing != 0)
            return false;
        var totalWidth = columnsInfo.pageWidth - this.getSpacing();
        if (columnsInfo.columns[0].width != Math.round(totalWidth * this.getFirstColumnRelativeWidth()))
            return false;
        if (columnsInfo.columns[0].spacing != this.getSpacing())
            return false;
        if (columnsInfo.columns[1].width != Math.round(totalWidth - columnsInfo.columns[0].width))
            return false;
        return columnsInfo.columns[1].spacing == 0;
    }
    applyTo(columnsInfo) {
        columnsInfo.equalColumnWidth = false;
        columnsInfo.changeColumnCount(2);
        var totalWidth = columnsInfo.pageWidth - this.getSpacing();
        columnsInfo.columns[0].width = Math.round(totalWidth * this.getFirstColumnRelativeWidth());
        columnsInfo.columns[0].spacing = this.getSpacing();
        columnsInfo.columns[1].width = Math.round(totalWidth - columnsInfo.columns[0].width);
        columnsInfo.columns[1].spacing = 0;
    }
}
class LeftNarrowColumnsInfoPreset extends TwoNonUniformColumnsInfoPreset {
    getFirstColumnRelativeWidth() { return 0.292; }
}
class RightNarrowColumnsInfoPreset extends TwoNonUniformColumnsInfoPreset {
    getFirstColumnRelativeWidth() { return 0.708; }
}


/***/ }),

/***/ 277:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Fs: function() { return /* binding */ DialogCustomNumberingListParameters; },
/* harmony export */   lN: function() { return /* binding */ DialogCustomNumberingListCommand; },
/* harmony export */   yA: function() { return /* binding */ NumberingListFormPreviewHelper; }
/* harmony export */ });
/* unused harmony export CustomListlevel */
/* harmony import */ var _layout_formatter_box_box_wrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5152);
/* harmony import */ var _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8274);
/* harmony import */ var _layout_main_structures_layout_boxes_layout_numbering_list_box__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3163);
/* harmony import */ var _layout_main_structures_layout_boxes_layout_text_box__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3629);
/* harmony import */ var _layout_main_structures_layout_row__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2636);
/* harmony import */ var _model_color_color_model_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4837);
/* harmony import */ var _model_history_items_list_level_character_properties_history_items__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6369);
/* harmony import */ var _model_history_items_list_level_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6399);
/* harmony import */ var _model_history_items_list_level_properties_history_items__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1259);
/* harmony import */ var _model_history_items_numbering_list_history_items__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(699);
/* harmony import */ var _model_number_converters_number_converter_creator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5622);
/* harmony import */ var _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3231);
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(13);
/* harmony import */ var _client_command__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(4803);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(9145);
/* harmony import */ var _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(7355);

















class DialogCustomNumberingListCommand extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_16__/* .ShowDialogCommandBase */ .xN {
    createParameters(options) {
        this.listType = options.param.listType;
        return options.param;
    }
    applyToCustomListLevels(sourcelevels, targetlevels, abstractNumberingListIndex) {
        const modelManipulator = this.modelManipulator;
        const history = this.history;
        for (let i = 0, length = targetlevels.length; i < length; i++) {
            const level = targetlevels[i];
            const initLevel = sourcelevels[i];
            if (level.displayFormatString != initLevel.displayFormatString)
                history.addAndRedo(new _model_history_items_list_level_properties_history_items__WEBPACK_IMPORTED_MODULE_8__/* .ListLevelDisplayFormatStringHistoryItem */ .nJ(modelManipulator, true, abstractNumberingListIndex, i, level.displayFormatString));
            if (level.format != initLevel.format)
                history.addAndRedo(new _model_history_items_list_level_properties_history_items__WEBPACK_IMPORTED_MODULE_8__/* .ListLevelFormatHistoryItem */ .sr(modelManipulator, true, abstractNumberingListIndex, i, level.format));
            if (level.start != initLevel.start)
                history.addAndRedo(new _model_history_items_list_level_properties_history_items__WEBPACK_IMPORTED_MODULE_8__/* .ListLevelStartHistoryItem */ .pp(modelManipulator, true, abstractNumberingListIndex, i, level.start));
            if (level.alignment != initLevel.alignment)
                history.addAndRedo(new _model_history_items_list_level_properties_history_items__WEBPACK_IMPORTED_MODULE_8__/* .ListLevelAlignmentHistoryItem */ .vC(modelManipulator, true, abstractNumberingListIndex, i, level.alignment));
            if (level.separator != initLevel.separator)
                history.addAndRedo(new _model_history_items_list_level_properties_history_items__WEBPACK_IMPORTED_MODULE_8__/* .ListLevelSeparatorHistoryItem */ .JX(modelManipulator, true, abstractNumberingListIndex, i, level.separator));
            if (level.leftIndent != initLevel.leftIndent)
                history.addAndRedo(new _model_history_items_list_level_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_7__/* .ListLevelParagraphLeftIndentHistoryItem */ .zn(modelManipulator, true, abstractNumberingListIndex, i, level.leftIndent, true));
            if (level.firstLineIndent != initLevel.firstLineIndent)
                history.addAndRedo(new _model_history_items_list_level_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_7__/* .ListLevelParagraphFirstLineIndentHistoryItem */ .VB(modelManipulator, true, abstractNumberingListIndex, i, level.firstLineIndent, true));
            if (level.firstLineIndentType != initLevel.firstLineIndentType)
                history.addAndRedo(new _model_history_items_list_level_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_7__/* .ListLevelParagraphFirstLineIndentTypeHistoryItem */ .J6(modelManipulator, true, abstractNumberingListIndex, i, level.firstLineIndentType, true));
            const fontName = this.control.modelManager.model.cache.fontInfoCache.getItemByName(level.fontName);
            const initFontName = this.control.modelManager.model.cache.fontInfoCache.getItemByName(initLevel.fontName);
            if (fontName != initFontName)
                history.addAndRedo(new _model_history_items_list_level_character_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .ListLevelFontNameHistoryItem */ .NL(modelManipulator, true, abstractNumberingListIndex, i, fontName, true));
            if (_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_13__/* .ColorUtils */ .i.fromHashString(level.fontColor) != _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_13__/* .ColorUtils */ .i.fromHashString(initLevel.fontColor))
                history.addAndRedo(new _model_history_items_list_level_character_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .ListLevelFontTextColorHistoryItem */ .xe(modelManipulator, true, abstractNumberingListIndex, i, _model_color_color_model_info__WEBPACK_IMPORTED_MODULE_5__/* .ColorModelInfo */ .k.makeByColor(_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_13__/* .ColorUtils */ .i.fromHashString(level.fontColor)), true));
            if (level.fontSize != initLevel.fontSize)
                history.addAndRedo(new _model_history_items_list_level_character_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .ListLevelFontSizeHistoryItem */ .hM(modelManipulator, true, abstractNumberingListIndex, i, level.fontSize, true));
            const bold = !!(level.fontStyle & 1);
            const initBold = !!(initLevel.fontStyle & 1);
            if (bold != initBold)
                history.addAndRedo(new _model_history_items_list_level_character_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .ListLevelFontBoldHistoryItem */ .HN(modelManipulator, true, abstractNumberingListIndex, i, bold, true));
            const italic = !!(level.fontStyle & 2);
            const initItalic = !!(initLevel.fontStyle & 2);
            if (italic != initItalic)
                history.addAndRedo(new _model_history_items_list_level_character_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .ListLevelFontItalicHistoryItem */ .tX(modelManipulator, true, abstractNumberingListIndex, i, italic, true));
        }
    }
    applyToListLevels(sourcelevels, targetlevels, abstractNumberingListIndex) {
        const numberingListManipulator = this.modelManipulator.numberingList;
        const activeSubDocument = this.selection.activeSubDocument;
        const model = activeSubDocument.documentModel;
        for (let i = 0, length = targetlevels.length; i < length; i++) {
            const targetLevel = targetlevels[i];
            const sourceLevel = sourcelevels[i];
            const levelPropertiesManipulator = numberingListManipulator.listLevelProperties;
            levelPropertiesManipulator.displayFormatString.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.displayFormatString);
            levelPropertiesManipulator.format.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.format);
            levelPropertiesManipulator.start.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.start);
            levelPropertiesManipulator.alignment.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.alignment);
            levelPropertiesManipulator.separator.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.separator);
            const paragraphManipulator = numberingListManipulator.listLevelParagraphProperties;
            paragraphManipulator.leftIndent.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.leftIndent, true);
            paragraphManipulator.firstLineIndent.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.firstLineIndent, true);
            paragraphManipulator.firstLineIndentType.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.firstLineIndentType, true);
            const listLevelCharacterProperties = numberingListManipulator.listLevelCharacterProperties;
            const fontInfo = targetLevel.getCharacterProperties().fontInfo.clone();
            fontInfo.name = sourceLevel.fontName;
            listLevelCharacterProperties.fontName.setValue(model, true, abstractNumberingListIndex, i, fontInfo, true);
            listLevelCharacterProperties.fontSize.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.fontSize, true);
            listLevelCharacterProperties.fontBold.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.fontStyle == 1, true);
            listLevelCharacterProperties.fontItalic.setValue(model, true, abstractNumberingListIndex, i, sourceLevel.fontStyle == 2, true);
        }
    }
    applyCustomNumberingListParameters(initParams, newParams) {
        const activeSubDocument = this.selection.activeSubDocument;
        const firstParagraph = activeSubDocument.getParagraphByPosition(this.selection.intervals[0].start);
        const isMultilevel = this.listType == _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .NumberingType */ .FB.MultiLevel;
        if (initParams.equals(newParams) || isMultilevel) {
            this.control.commandManager.getCommand(_client_command__WEBPACK_IMPORTED_MODULE_14__/* .RichEditClientCommand */ .f.InsertNumerationToParagraphs)
                .execute(this.control.commandManager.isPublicApiCall, new _command_base__WEBPACK_IMPORTED_MODULE_15__/* .CommandSimpleOptions */ .LF(this.control, newParams.initAbstractNumberingList));
            if (isMultilevel) {
                const abstractNumberingListIndex = firstParagraph.getAbstractNumberingListIndex();
                this.applyToListLevels(newParams.levels, newParams.initAbstractNumberingList.levels, abstractNumberingListIndex);
            }
            return;
        }
        let abstractNumberingList = null;
        let abstractNumberingListIndex = -1;
        if (this.selection.isCollapsed() && firstParagraph.isInList()) {
            abstractNumberingList = newParams.initAbstractNumberingList;
            abstractNumberingListIndex = firstParagraph.getNumberingList().abstractNumberingListIndex;
            newParams.applyToParagraph = false;
        }
        else {
            abstractNumberingList = new _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .AbstractNumberingList */ .pC(this.control.modelManager.model);
            abstractNumberingList.copyFrom(newParams.initAbstractNumberingList);
            this.history.addAndRedo(new _model_history_items_numbering_list_history_items__WEBPACK_IMPORTED_MODULE_9__/* .AddAbstractNumberingListHistoryItem */ .dF(this.modelManipulator, abstractNumberingList));
            abstractNumberingListIndex = this.control.modelManager.model.abstractNumberingLists.length - 1;
        }
        this.applyToCustomListLevels(initParams.levels, newParams.levels, abstractNumberingListIndex);
        if (newParams.applyToParagraph)
            this.control.commandManager.getCommand(_client_command__WEBPACK_IMPORTED_MODULE_14__/* .RichEditClientCommand */ .f.InsertNumerationToParagraphs)
                .execute(this.control.commandManager.isPublicApiCall, new _command_base__WEBPACK_IMPORTED_MODULE_15__/* .CommandSimpleOptions */ .LF(this.control, abstractNumberingList));
    }
    applyParameters(_state, newParams) {
        const history = this.history;
        const initParams = new DialogCustomNumberingListParameters();
        initParams.init(this.colorProvider, newParams.initAbstractNumberingList);
        history.beginTransaction();
        this.applyCustomNumberingListParameters(initParams, newParams);
        history.endTransaction();
        return true;
    }
    getDialogName() {
        switch (this.listType) {
            case _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .NumberingType */ .FB.Bullet:
                return "BulletedList";
            case _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .NumberingType */ .FB.Simple:
                return "SimpleNumberingList";
            case _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .NumberingType */ .FB.MultiLevel:
                return "MultiLevelNumberingList";
        }
        return null;
    }
}
class DialogCustomNumberingListParameters extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_16__/* .DialogParametersBase */ .R9 {
    constructor() {
        super(...arguments);
        this.currentLevel = 0;
        this.levels = [];
        this.coreInitialFontColors = [];
        this.applyToParagraph = true;
    }
    init(colorProvider, abstractNumberingList, currentLevel) {
        if (currentLevel != null)
            this.currentLevel = currentLevel;
        if (abstractNumberingList != null) {
            this.listType = abstractNumberingList.getListType();
            this.initAbstractNumberingList = abstractNumberingList;
            for (var i = 0; i < abstractNumberingList.levels.length; i++) {
                var level = this.initLevel(colorProvider, abstractNumberingList.levels[i]);
                this.levels.push(level);
            }
        }
    }
    initLevel(colorProvider, listLevel) {
        const level = new CustomListlevel();
        const listLevelProperties = listLevel.getListLevelProperties();
        level.displayFormatString = listLevelProperties.displayFormatString;
        level.format = listLevelProperties.format;
        level.start = listLevelProperties.start;
        level.alignment = listLevelProperties.alignment;
        level.separator = listLevelProperties.separator;
        const paragraphProperties = listLevel.getParagraphProperties();
        level.leftIndent = paragraphProperties.leftIndent;
        level.firstLineIndent = paragraphProperties.firstLineIndent;
        level.firstLineIndentType = paragraphProperties.firstLineIndentType;
        const characterProperties = listLevel.getCharacterProperties();
        level.fontName = characterProperties.fontInfo.name;
        const foreColor = characterProperties.textColor.toRgb(colorProvider);
        level.fontColor = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_13__/* .ColorUtils */ .i.colorToHash(foreColor);
        this.coreInitialFontColors.push(foreColor);
        level.fontSize = characterProperties.fontSize;
        level.fontStyle = (characterProperties.fontBold ? 1 : 0) | (characterProperties.fontItalic ? 2 : 0);
        return level;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.currentLevel = obj.currentLevel;
        this.listType = obj.listType;
        this.applyToParagraph = obj.applyToParagraph;
        this.copyLevelsFrom(obj.levels);
    }
    clone() {
        const newInstance = new DialogCustomNumberingListParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
    copyLevelsFrom(levels) {
        this.levels = [];
        for (var i = 0, length = levels.length; i < length; i++) {
            var level = new CustomListlevel();
            level.copyFrom(levels[i]);
            this.levels.push(level);
        }
    }
    equals(obj) {
        for (var i = 0, level; level = obj.levels[i]; i++) {
            if (!level.equals(this.levels[i]))
                return false;
        }
        return true;
    }
}
class CustomListlevel {
    copyFrom(obj) {
        this.displayFormatString = obj.displayFormatString;
        this.format = obj.format;
        this.start = obj.start;
        this.alignment = obj.alignment;
        this.separator = obj.separator;
        this.leftIndent = obj.leftIndent;
        this.firstLineIndent = obj.firstLineIndent;
        this.firstLineIndentType = obj.firstLineIndentType;
        this.fontName = obj.fontName;
        this.fontColor = obj.fontColor;
        this.fontSize = obj.fontSize;
        this.fontStyle = obj.fontStyle;
    }
    equals(obj) {
        return this.displayFormatString == obj.displayFormatString &&
            this.format == obj.format &&
            this.start == obj.start &&
            this.alignment == obj.alignment &&
            this.separator == obj.separator &&
            this.leftIndent == obj.leftIndent &&
            this.firstLineIndent == obj.firstLineIndent &&
            this.firstLineIndentType == obj.firstLineIndentType &&
            this.fontName == obj.fontName &&
            this.fontColor == obj.fontColor &&
            this.fontSize == obj.fontSize &&
            this.fontStyle == obj.fontStyle;
    }
}
class NumberingListFormPreviewHelper {
    constructor(richEdit, abstractNumberingList, currentLevel) {
        this.richEdit = richEdit;
        this.abstractNumberingList = abstractNumberingList;
        this.currentLevel = currentLevel;
    }
    createPreview() {
        var preview = document.createElement("div");
        for (var i = 0; i < 4; i++)
            preview.appendChild(this.createRowElement(i));
        return preview;
    }
    createRowElement(index) {
        var separatorWidth = 7;
        var rowHeight = 25;
        var margin = 10;
        var foreColor = 0xbbbbbbbb;
        var fakeString = "▬▬▬▬▬▬▬▬▬";
        var isMultiLevel = this.abstractNumberingList.getListType() == _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .NumberingType */ .FB.MultiLevel;
        var currentLevelIndex = isMultiLevel ? index % _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .NumberingListBase */ .Px.depth : this.currentLevel;
        var currentMajorIndex = isMultiLevel ? Math.floor(index / _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_11__/* .NumberingListBase */ .Px.depth) : index;
        var paragraphProperties = this.abstractNumberingList.levels[currentLevelIndex].getParagraphProperties();
        var characterProperties = this.abstractNumberingList.levels[currentLevelIndex].getCharacterProperties();
        var listBoxText = this.getNumberingListBoxText(currentLevelIndex, currentMajorIndex);
        var layoutNumberingListBox = new _layout_main_structures_layout_boxes_layout_numbering_list_box__WEBPACK_IMPORTED_MODULE_2__/* .LayoutNumberingListBox */ .g(characterProperties, characterProperties.getLayoutColorInfo(this.richEdit.modelManager.model.colorProvider), listBoxText, "");
        _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_1__/* .LayoutBox */ .kZ.initializeWithMeasurer([new _layout_formatter_box_box_wrap__WEBPACK_IMPORTED_MODULE_0__/* .BoxWrap */ .Od(layoutNumberingListBox.textBox, null)], this.richEdit.measurer, false);
        var textBoxCharacterProperties = this.richEdit.modelManager.model.defaultCharacterProperties.clone();
        textBoxCharacterProperties.textColor = _model_color_color_model_info__WEBPACK_IMPORTED_MODULE_5__/* .ColorModelInfo */ .k.makeByColor(foreColor);
        var layoutTextBox = new _layout_main_structures_layout_boxes_layout_text_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutTextBox */ .P(textBoxCharacterProperties, textBoxCharacterProperties.getLayoutColorInfo(this.richEdit.modelManager.model.colorProvider), fakeString);
        _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_1__/* .LayoutBox */ .kZ.initializeWithMeasurer([new _layout_formatter_box_box_wrap__WEBPACK_IMPORTED_MODULE_0__/* .BoxWrap */ .Od(layoutTextBox, null)], this.richEdit.measurer, false);
        layoutTextBox.x = layoutNumberingListBox.textBox.width + separatorWidth;
        var layoutRow = new _layout_main_structures_layout_row__WEBPACK_IMPORTED_MODULE_4__/* .LayoutRow */ .WM();
        layoutRow.numberingListBox = layoutNumberingListBox;
        layoutRow.boxes.push(layoutTextBox);
        layoutRow.height = Math.max(layoutNumberingListBox.textBox.height, rowHeight);
        layoutRow.width = layoutNumberingListBox.textBox.width + layoutTextBox.width;
        layoutRow.x = isMultiLevel ? _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_12__/* .UnitConverter */ .u.twipsToPixels(paragraphProperties.leftIndent - paragraphProperties.firstLineIndent) + margin : margin;
        layoutRow.y = index * layoutRow.height + margin;
        return this.richEdit.viewManager.renderer.renderRow(layoutRow, 0);
    }
    getNumberingListBoxText(levelIndex, majorIndex) {
        const items = [];
        for (let j = 0; j <= levelIndex; j++) {
            const listLevelProperties = this.abstractNumberingList.levels[j].getListLevelProperties();
            const converter = _model_number_converters_number_converter_creator__WEBPACK_IMPORTED_MODULE_10__/* .NumberConverterCreator */ .A.createConverter(listLevelProperties.format, this.richEdit.modelManager.model.simpleFormattersManager);
            items.push(converter.convertNumber(listLevelProperties.start + majorIndex));
        }
        const displayFormatString = this.abstractNumberingList.levels[levelIndex].getListLevelProperties().displayFormatString;
        return this.richEdit.modelManager.model.simpleFormattersManager.formatString(displayFormatString, ...items);
    }
}


/***/ }),

/***/ 5033:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ InsertImageDialogParameters; },
/* harmony export */   z: function() { return /* binding */ DialogInsertImageCommand; }
/* harmony export */ });
/* harmony import */ var _model_manipulators_picture_manipulator_insert_picture_manipulator_params__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4990);
/* harmony import */ var _model_manipulators_picture_manipulator_loader_image_loading_options__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4285);
/* harmony import */ var _model_options_control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9147);
/* harmony import */ var _model_sub_document__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8096);
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6353);
/* harmony import */ var _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7355);






class DialogInsertImageCommand extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_4__/* .ShowDialogCommandBase */ .xN {
    constructor(control) {
        super(control);
    }
    isEnabled() {
        return super.isEnabled() && _model_options_control__WEBPACK_IMPORTED_MODULE_1__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.inlinePictures) && this.selection.intervals.length === 1;
    }
    createParameters(_options) {
        return new InsertImageDialogParameters();
    }
    applyParameters(_state, newParams) {
        const interval = this.selection.intervalsInfo.interval.clone();
        const cacheInfo = this.control.modelManager.model.cache.imageCache.createLoadedInfo(newParams.base64EncodedImage, newParams.originalSize, newParams.id);
        this.history.addTransaction(() => {
            this.modelManipulator.range.removeInterval(new _model_sub_document__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentInterval */ .v8(this.selection.activeSubDocument, interval), true, false);
            this.modelManipulator.picture.insertInlinePictureViaHistory(new _model_sub_document__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentPosition */ .rg(this.selection.activeSubDocument, interval.start), this.inputPosition.charPropsBundle, _model_manipulators_picture_manipulator_insert_picture_manipulator_params__WEBPACK_IMPORTED_MODULE_0__/* .InlinePictureInfo */ .AT.defaultInfo(cacheInfo), new _model_manipulators_picture_manipulator_loader_image_loading_options__WEBPACK_IMPORTED_MODULE_5__/* .ImageLoadingOptions */ .j(true));
        });
        return true;
    }
    getDialogName() {
        return "InsertImage";
    }
}
class InsertImageDialogParameters extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_4__/* .DialogParametersBase */ .R9 {
    constructor() {
        super(...arguments);
        this.id = 0;
        this.base64EncodedImage = null;
        this.originalSize = new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_3__.Size(100, 100);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.id = obj.id;
        this.originalSize = obj.originalSize.clone();
        this.base64EncodedImage = obj.base64EncodedImage;
    }
    clone() {
        const newInstance = new InsertImageDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}


/***/ }),

/***/ 5715:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   IN: function() { return /* binding */ DialogPageSetupCommand; },
/* harmony export */   TC: function() { return /* binding */ SectionPropertiesApplyType; },
/* harmony export */   aY: function() { return /* binding */ ShowPagePaperSetupFormCommand; }
/* harmony export */ });
/* unused harmony exports PageSetupDialogParameters, PageSetupDialogTab */
/* harmony import */ var _model_history_items_document_properties_history_items__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5037);
/* harmony import */ var _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7329);
/* harmony import */ var _model_options_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9147);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8860);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3964);
/* harmony import */ var _section_properties_section_properties_command_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6643);
/* harmony import */ var _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7355);
/* harmony import */ var _client_command__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4803);








class DialogPageSetupCommand extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_5__/* .ShowDialogCommandBase */ .xN {
    getRelatedCommands() {
        return {
            [_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.SetLandscapePageOrientation]: true,
            [_client_command__WEBPACK_IMPORTED_MODULE_6__/* .RichEditClientCommand */ .f.SetPortraitPageOrientation]: true,
        };
    }
    getState(options = this.convertToCommandOptions(undefined)) {
        return new _command_states__WEBPACK_IMPORTED_MODULE_7__/* .IntervalCommandStateEx */ .IA(this.isEnabled(), _section_properties_section_properties_command_base__WEBPACK_IMPORTED_MODULE_4__/* .SectionPropertiesCommandBase */ .V.getIntervals(this.control, options.subDocument));
    }
    isEnabled() {
        return super.isEnabled() && _model_options_control__WEBPACK_IMPORTED_MODULE_2__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.sections) &&
            _section_properties_section_properties_command_base__WEBPACK_IMPORTED_MODULE_4__/* .SectionPropertiesCommandBase */ .V.rangePermissionIncludeFullSection(this.control, this.selection.activeSubDocument, this.selection.intervals);
    }
    createParameters(_options) {
        var dialogParams = new PageSetupDialogParameters();
        dialogParams.init(this.inputPosition.getMergedSectionPropertiesRaw(), this.getInitialTab(), this.control.modelManager.model.differentOddAndEvenPages);
        return dialogParams;
    }
    applyParameters(_state, newParams, initParams) {
        var interval = this.getInterval(newParams.applyTo);
        var isEqualIntervals = this.getInitInterval().equals(interval);
        var modelManipulator = this.modelManipulator;
        var history = this.history;
        this.inputPosition.resetSectionMergedProperties();
        history.beginTransaction();
        let changed = false;
        if (newParams.marginBottom !== undefined && (newParams.marginBottom !== initParams.marginBottom || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginBottomHistoryItem */ .bL(modelManipulator, interval, newParams.marginBottom));
            changed = true;
        }
        if (newParams.marginLeft !== undefined && (newParams.marginLeft !== initParams.marginLeft || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginLeftHistoryItem */ .jg(modelManipulator, interval, newParams.marginLeft));
            changed = true;
        }
        if (newParams.marginRight !== undefined && (newParams.marginRight !== initParams.marginRight || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginRightHistoryItem */ .Hh(modelManipulator, interval, newParams.marginRight));
            changed = true;
        }
        if (newParams.marginTop !== undefined && (newParams.marginTop !== initParams.marginTop || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginTopHistoryItem */ .Ah(modelManipulator, interval, newParams.marginTop));
            changed = true;
        }
        if ((newParams.pageWidth !== undefined && newParams.pageHeight !== undefined) &&
            (newParams.pageWidth !== initParams.pageWidth || newParams.pageHeight !== initParams.pageHeight || !isEqualIntervals)) {
            var sections = this.control.modelManager.model.getSectionsByInterval(interval);
            for (var i = 0, section; section = sections[i]; i++) {
                var sectionInterval = new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(section.startLogPosition.value, section.getLength() - 1);
                if (section.sectionProperties.landscape !== (newParams.pageWidth > newParams.pageHeight))
                    history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionLandscapeHistoryItem */ .V9(modelManipulator, sectionInterval, newParams.pageWidth > newParams.pageHeight));
                history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionPageWidthHistoryItem */ .x6(modelManipulator, sectionInterval, newParams.pageWidth));
                history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionPageHeightHistoryItem */ .lf(modelManipulator, sectionInterval, newParams.pageHeight));
            }
            changed = true;
        }
        if (newParams.paperKind !== undefined && newParams.paperKind !== initParams.paperKind) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionPaperKindHistoryItem */ .ZJ(modelManipulator, interval, newParams.paperKind));
            changed = true;
        }
        if (newParams.startType !== undefined && newParams.startType !== initParams.startType) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionStartTypeHistoryItem */ .ho(modelManipulator, interval, newParams.startType));
            changed = true;
        }
        if (newParams.headerDifferentFirstPage !== undefined && (newParams.headerDifferentFirstPage !== initParams.headerDifferentFirstPage || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionDifferentFirstPageHistoryItem */ .Wf(modelManipulator, interval, newParams.headerDifferentFirstPage));
            changed = true;
        }
        if (newParams.headerDifferentOddAndEven !== undefined && (newParams.headerDifferentOddAndEven !== initParams.headerDifferentOddAndEven || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_document_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .DifferentOddAndEvenPagesHistoryItem */ .dr(modelManipulator, newParams.headerDifferentOddAndEven));
            changed = true;
        }
        if (newParams.headerOffset !== undefined && (newParams.headerOffset !== initParams.headerOffset || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionHeaderOffsetHistoryItem */ .Pm(modelManipulator, interval, newParams.headerOffset));
            changed = true;
        }
        if (newParams.footerOffset !== undefined && (newParams.footerOffset !== initParams.footerOffset || !isEqualIntervals)) {
            history.addAndRedo(new _model_history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionFooterOffsetHistoryItem */ .qt(modelManipulator, interval, newParams.footerOffset));
            changed = true;
        }
        history.endTransaction();
        return changed;
    }
    getInterval(applyTo) {
        if (applyTo == SectionPropertiesApplyType.WholeDocument)
            return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(0, this.control.modelManager.model.mainSubDocument.getDocumentEndPosition() - 1);
        if (this.selection.activeSubDocument.isMain()) {
            let sectionIndices = this.control.modelManager.model.getSectionIndicesByIntervals(this.selection.intervals);
            var firstSection = this.control.modelManager.model.sections[sectionIndices[0]];
            if (applyTo == SectionPropertiesApplyType.SelectedSections) {
                var lastSection = this.control.modelManager.model.sections[sectionIndices[sectionIndices.length - 1]];
                return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval.fromPositions(firstSection.startLogPosition.value, lastSection.startLogPosition.value + lastSection.getLength() - 1);
            }
            if (applyTo == SectionPropertiesApplyType.ThisPointForward)
                return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval.fromPositions(firstSection.startLogPosition.value, this.control.modelManager.model.mainSubDocument.getDocumentEndPosition() - 1);
            return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(firstSection.startLogPosition.value, firstSection.getLength() - 1);
        }
        else if (this.selection.activeSubDocument.isHeaderFooter()) {
            var layoutPage = this.control.layout.pages[this.selection.pageIndex];
            if (layoutPage) {
                var position = layoutPage.getPosition();
                var section = this.control.modelManager.model.getSectionByPosition(position);
                if (applyTo === SectionPropertiesApplyType.CurrentSection || applyTo == SectionPropertiesApplyType.SelectedSections)
                    return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(section.startLogPosition.value, section.getLength());
                else if (applyTo === SectionPropertiesApplyType.ThisPointForward)
                    return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval.fromPositions(section.startLogPosition.value, this.control.modelManager.model.mainSubDocument.getDocumentEndPosition() - 1);
            }
        }
    }
    getInitInterval() {
        if (this.selection.activeSubDocument.isMain()) {
            let sectionIndices = this.control.modelManager.model.getSectionIndicesByIntervals(this.selection.intervals);
            let firstSection = this.control.modelManager.model.sections[sectionIndices[0]];
            let lastSection = this.control.modelManager.model.sections[sectionIndices[sectionIndices.length - 1]];
            return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval.fromPositions(firstSection.startLogPosition.value, lastSection.startLogPosition.value + lastSection.getLength() - 1);
        }
        else {
            var layoutPage = this.control.layout.pages[this.selection.pageIndex];
            var section = this.control.modelManager.model.getSectionByPosition(layoutPage.getPosition());
            return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(section.startLogPosition.value, section.getLength());
        }
    }
    getInitialTab() {
        return PageSetupDialogTab.Margins;
    }
    getDialogName() {
        return "PageSetup";
    }
}
class ShowPagePaperSetupFormCommand extends DialogPageSetupCommand {
    getInitialTab() {
        return PageSetupDialogTab.Paper;
    }
}
class PageSetupDialogParameters extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_5__/* .DialogParametersBase */ .R9 {
    init(initSecProps, tabs, differentOddAndEvenPages) {
        this.applyTo = SectionPropertiesApplyType.WholeDocument;
        this.marginBottom = initSecProps.marginBottom;
        this.marginLeft = initSecProps.marginLeft;
        this.marginRight = initSecProps.marginRight;
        this.marginTop = initSecProps.marginTop;
        this.landscape = initSecProps.landscape;
        this.pageHeight = initSecProps.pageHeight;
        this.pageWidth = initSecProps.pageWidth;
        this.startType = initSecProps.startType;
        this.headerDifferentOddAndEven = differentOddAndEvenPages;
        this.headerDifferentFirstPage = initSecProps.differentFirstPage;
        this.headerOffset = initSecProps.headerOffset;
        this.footerOffset = initSecProps.footerOffset;
        this.paperKind = initSecProps.paperKind;
        this.initialTab = tabs;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.marginBottom = obj.marginBottom;
        this.marginLeft = obj.marginLeft;
        this.marginRight = obj.marginRight;
        this.marginTop = obj.marginTop;
        this.landscape = obj.landscape;
        this.applyTo = obj.applyTo;
        this.pageHeight = obj.pageHeight;
        this.pageWidth = obj.pageWidth;
        this.startType = obj.startType;
        this.headerDifferentFirstPage = obj.headerDifferentFirstPage;
        this.headerDifferentOddAndEven = obj.headerDifferentOddAndEven;
        this.headerOffset = obj.headerOffset;
        this.footerOffset = obj.footerOffset;
        this.paperKind = obj.paperKind;
        this.initialTab = obj.initialTab;
    }
    clone() {
        const newInstance = new PageSetupDialogParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(converter) {
        if (this.marginBottom)
            this.marginBottom = converter(this.marginBottom);
        if (this.marginLeft)
            this.marginLeft = converter(this.marginLeft);
        if (this.marginRight)
            this.marginRight = converter(this.marginRight);
        if (this.marginTop)
            this.marginTop = converter(this.marginTop);
        if (this.pageWidth)
            this.pageWidth = converter(this.pageWidth);
        if (this.pageHeight)
            this.pageHeight = converter(this.pageHeight);
        if (this.headerOffset)
            this.headerOffset = converter(this.headerOffset);
        if (this.footerOffset)
            this.footerOffset = converter(this.footerOffset);
        return this;
    }
}
var SectionPropertiesApplyType;
(function (SectionPropertiesApplyType) {
    SectionPropertiesApplyType[SectionPropertiesApplyType["WholeDocument"] = 0] = "WholeDocument";
    SectionPropertiesApplyType[SectionPropertiesApplyType["CurrentSection"] = 1] = "CurrentSection";
    SectionPropertiesApplyType[SectionPropertiesApplyType["SelectedSections"] = 2] = "SelectedSections";
    SectionPropertiesApplyType[SectionPropertiesApplyType["ThisPointForward"] = 4] = "ThisPointForward";
})(SectionPropertiesApplyType || (SectionPropertiesApplyType = {}));
var PageSetupDialogTab;
(function (PageSetupDialogTab) {
    PageSetupDialogTab[PageSetupDialogTab["Margins"] = 0] = "Margins";
    PageSetupDialogTab[PageSetupDialogTab["Paper"] = 1] = "Paper";
    PageSetupDialogTab[PageSetupDialogTab["Layout"] = 2] = "Layout";
})(PageSetupDialogTab || (PageSetupDialogTab = {}));


/***/ }),

/***/ 928:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Pd: function() { return /* binding */ DialogSymbolsCommand; },
/* harmony export */   hF: function() { return /* binding */ DialogServiceSymbolsCommand; },
/* harmony export */   yG: function() { return /* binding */ DialogSymbolsParameters; }
/* harmony export */ });
/* unused harmony export DialogSymbolsCommandBase */
/* harmony import */ var _model_character_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8579);
/* harmony import */ var _model_history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(398);
/* harmony import */ var _model_sub_document__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8096);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2940);
/* harmony import */ var _client_command__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4803);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3964);
/* harmony import */ var _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7355);








class DialogSymbolsCommandBase extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_6__/* .ShowDialogCommandBase */ .xN {
    getDialogName() {
        return "Symbols";
    }
}
class DialogSymbolsCommand extends DialogSymbolsCommandBase {
    getState() {
        return new _command_states__WEBPACK_IMPORTED_MODULE_7__/* .IntervalCommandStateEx */ .IA(this.isEnabled(), _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.deepCopy(this.selection.intervalsInfo.intervals));
    }
    createParameters(_options) {
        var charProps = this.inputPosition.getMergedCharacterPropertiesRaw();
        var parameters = new DialogSymbolsParameters();
        parameters.fontName = charProps.fontInfo ? charProps.fontInfo.name : this.control.modelManager.model.defaultCharacterProperties.fontInfo.name;
        return parameters;
    }
    applyParameters(state, newParams) {
        this.history.beginTransaction();
        var modelManipulator = this.modelManipulator;
        var maskedCharacterProperties = this.inputPosition.getMaskedCharacterProperties();
        var fontInfo = this.control.modelManager.model.cache.fontInfoCache.getItemByName(newParams.fontName) || null;
        maskedCharacterProperties.fontInfo = fontInfo;
        maskedCharacterProperties.setUseValue(_model_character_enums__WEBPACK_IMPORTED_MODULE_0__/* .CharacterPropertiesMask */ .xe.UseFontName, true);
        for (let i = 0, interval; interval = state.intervals[i]; i++) {
            if (interval.length > 0)
                this.history.addAndRedo(new _model_history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .FontNameHistoryItem */ .Qr(modelManipulator, new _model_sub_document__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentInterval */ .v8(this.selection.activeSubDocument, interval), fontInfo, true));
        }
        this.control.commandManager.getCommand(_client_command__WEBPACK_IMPORTED_MODULE_4__/* .RichEditClientCommand */ .f.InsertText)
            .execute(this.control.commandManager.isPublicApiCall, new _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandSimpleOptions */ .LF(this.control, newParams.symbol));
        this.history.endTransaction();
        return true;
    }
}
class DialogServiceSymbolsCommand extends DialogSymbolsCommandBase {
    createParameters(options) {
        this.dialogCustomNumberingListParameters = options.param;
        var parameters = new DialogSymbolsParameters();
        parameters.fontName = options.param.levels[options.param.currentLevel].fontName;
        return parameters;
    }
    applyParameters(_state, newParams) {
        var level = this.dialogCustomNumberingListParameters.levels[this.dialogCustomNumberingListParameters.currentLevel];
        level.fontName = newParams.fontName;
        level.displayFormatString = newParams.symbol;
        return false;
    }
    afterClosing() {
        var clientCommand = _client_command__WEBPACK_IMPORTED_MODULE_4__/* .RichEditClientCommand */ .f.ShowCustomNumberingListForm;
        this.control.commandManager.getCommand(clientCommand).execute(this.control.commandManager.isPublicApiCall, new _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandSimpleOptions */ .LF(this.control, this.dialogCustomNumberingListParameters));
    }
}
class DialogSymbolsParameters extends _show_dialog_command_base__WEBPACK_IMPORTED_MODULE_6__/* .DialogParametersBase */ .R9 {
    copyFrom(obj) {
        super.copyFrom(obj);
        this.symbol = obj.symbol;
        this.fontName = obj.fontName;
    }
    clone() {
        const newInstance = new DialogSymbolsParameters();
        newInstance.copyFrom(this);
        return newInstance;
    }
    applyConverter(_converter) {
        return this;
    }
}


/***/ }),

/***/ 7355:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R9: function() { return /* binding */ DialogParametersBase; },
/* harmony export */   xN: function() { return /* binding */ ShowDialogCommandBase; }
/* harmony export */ });
/* unused harmony export DialogTitleText */
/* harmony import */ var _devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9279);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3964);



class ShowDialogCommandBase extends _command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandBase */ .eK {
    getState() {
        return new _command_states__WEBPACK_IMPORTED_MODULE_2__/* .SimpleCommandState */ .mh(this.isEnabled());
    }
    executeCore(state, options) {
        const params = this.createParameters(options);
        const initParams = params.clone();
        params.applyConverter(this.control.uiUnitConverter.twipsToUI);
        this.control.owner.showDialog(this.getDialogName(), params, (result) => {
            if (result) {
                result.applyConverter(this.control.uiUnitConverter.UIToTwips);
                this.control.beginUpdate();
                this.applyParameters(state, result, initParams);
                this.control.barHolder.forceUpdate(this.getRelatedCommands());
                this.control.endUpdate();
            }
            if (!_devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__.Browser.TouchUI && this.isModal())
                this.control.focusManager.captureFocus();
        }, () => {
            if (!_devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__.Browser.TouchUI)
                this.control.focusManager.captureFocus();
            this.afterClosing(options);
        }, this.isModal());
        return true;
    }
    applyParameters(_state, _newParameters, _oldParameters) {
        return false;
    }
    afterClosing(_options) { }
    isModal() {
        return true;
    }
}
class DialogParametersBase {
    copyFrom(_obj) { }
}
var DialogTitleText;
(function (DialogTitleText) {
    DialogTitleText[DialogTitleText["SaveAsFile"] = 0] = "SaveAsFile";
    DialogTitleText[DialogTitleText["OpenFile"] = 1] = "OpenFile";
    DialogTitleText[DialogTitleText["Font"] = 2] = "Font";
    DialogTitleText[DialogTitleText["Paragraph"] = 3] = "Paragraph";
    DialogTitleText[DialogTitleText["PageSetup"] = 4] = "PageSetup";
    DialogTitleText[DialogTitleText["Columns"] = 5] = "Columns";
    DialogTitleText[DialogTitleText["InsertImage"] = 6] = "InsertImage";
    DialogTitleText[DialogTitleText["Error"] = 7] = "Error";
})(DialogTitleText || (DialogTitleText = {}));


/***/ }),

/***/ 6815:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ FieldCommandHelper; }
/* harmony export */ });
/* harmony import */ var _model_fields_field__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8277);
/* harmony import */ var _model_fields_tree_creator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(769);
/* harmony import */ var _model_model_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7747);
/* harmony import */ var _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1104);




class FieldCommandHelper {
    static findTocFieldBySelection(subDocument, selection) {
        const fields = subDocument.fields;
        if (!fields.length)
            return null;
        let field;
        let isToc = false;
        let currentInterval = selection.intervals[0].clone();
        if (selection.isCollapsed()) {
            currentInterval.length++;
            const fieldIndex = _model_fields_field__WEBPACK_IMPORTED_MODULE_0__/* .Field */ .gN.normedBinaryIndexOf(fields, currentInterval.start);
            if (fieldIndex < 0)
                return null;
            field = fields[fieldIndex];
            do
                isToc = this.isTocField(subDocument, field);
            while (!isToc && (field = field.parent));
        }
        else {
            let fieldIndex = Math.max(0, _model_fields_field__WEBPACK_IMPORTED_MODULE_0__/* .Field */ .gN.normedBinaryIndexOf(fields, currentInterval.start));
            field = fields[fieldIndex].getAbsolutelyTopLevelField();
            for (fieldIndex = field.index; field = fields[fieldIndex]; fieldIndex++)
                if (isToc = this.isTocField(subDocument, field) || field.getFieldStartPosition() >= currentInterval.end)
                    break;
        }
        if (!isToc || !_devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_3__.IntervalAlgorithms.getIntersectionNonNullLength(field.getAllFieldInterval(), currentInterval))
            return null;
        return field;
    }
    static isTocField(subDocument, field) {
        const iterator = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_2__/* .ModelIterator */ .w(subDocument, true);
        iterator.setPosition(field.getCodeStartPosition());
        return _model_fields_tree_creator__WEBPACK_IMPORTED_MODULE_1__/* .FieldsWaitingForUpdate */ .Nn.findName(iterator).fieldName == _model_fields_tree_creator__WEBPACK_IMPORTED_MODULE_1__/* .FieldsWaitingForUpdate */ .Nn.TOC_NAME;
    }
}


/***/ }),

/***/ 2039:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   E: function() { return /* binding */ UpdateFieldCommandBase; }
/* harmony export */ });
/* harmony import */ var _model_manipulators_fields_manipulator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7253);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9145);


class UpdateFieldCommandBase extends _command_base__WEBPACK_IMPORTED_MODULE_1__/* .CommandBase */ .eK {
    canModify() {
        return true;
    }
    static updateFields(command, updateThisSubDocs, callback, options) {
        command.history.beginTransaction();
        command.control.beginUpdate();
        return command.modelManipulator.field.updateFields(command.control.layoutFormatterManager, command.control.createFieldRequestManager(), new _model_manipulators_fields_manipulator__WEBPACK_IMPORTED_MODULE_0__/* .UpdateFieldsManipulatorParams */ .x(updateThisSubDocs, (result) => {
            command.control.endUpdate();
            command.history.endTransaction();
            if (callback)
                callback(result);
        }, options));
    }
}


/***/ }),

/***/ 1849:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   j: function() { return /* binding */ UpdateFieldCommandParameters; },
/* harmony export */   y: function() { return /* binding */ UpdateFieldCommand; }
/* harmony export */ });
/* harmony import */ var _model_fields_field_context_menu_helper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6464);
/* harmony import */ var _model_fields_tree_creator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(769);
/* harmony import */ var _model_options_control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9147);
/* harmony import */ var _model_sub_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8096);
/* harmony import */ var _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1104);
/* harmony import */ var _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6341);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3964);
/* harmony import */ var _field_command_helper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6815);
/* harmony import */ var _update_field_command_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2039);









class UpdateFieldCommandParameters {
    constructor(subDocument, intervals, callbackFunc) {
        this.options = new _model_fields_tree_creator__WEBPACK_IMPORTED_MODULE_1__/* .UpdateFieldsOptions */ .f$();
        this.subDocument = subDocument;
        this.intervals = intervals;
        this.callbackFunc = callbackFunc;
    }
}
class UpdateFieldCommand extends _update_field_command_base__WEBPACK_IMPORTED_MODULE_7__/* .UpdateFieldCommandBase */ .E {
    getState() {
        var state = new _command_states__WEBPACK_IMPORTED_MODULE_8__/* .SimpleCommandState */ .mh(this.isEnabled());
        state.visible = _model_fields_field_context_menu_helper__WEBPACK_IMPORTED_MODULE_0__/* .FieldContextMenuHelper */ .S.showUpdateAndToogleCodeItems(this.selection.activeSubDocument.fields, this.selection.intervals);
        return state;
    }
    isEnabled() {
        return super.isEnabled() && _model_options_control__WEBPACK_IMPORTED_MODULE_2__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.fields);
    }
    executeCore(_state, options) {
        let param = options.param;
        if (!param) {
            let intervalsForUpdate = this.selection.intervals;
            let callback = null;
            const tocField = _field_command_helper__WEBPACK_IMPORTED_MODULE_6__/* .FieldCommandHelper */ .D.findTocFieldBySelection(this.selection.activeSubDocument, this.selection);
            if (tocField) {
                intervalsForUpdate = _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_4__.IntervalAlgorithms.getMergedIntervals(intervalsForUpdate.concat(tocField.getAllFieldInterval()), true);
                callback = () => {
                    this.history.addAndRedo(new _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_5__/* .SelectionHistoryItem */ .n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(tocField.getFieldStartPosition())));
                };
            }
            param = new UpdateFieldCommandParameters(this.selection.activeSubDocument, intervalsForUpdate, callback);
        }
        const floatingState = this.selection.getFloatingState();
        return _update_field_command_base__WEBPACK_IMPORTED_MODULE_7__/* .UpdateFieldCommandBase */ .E.updateFields(this, [new _model_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentIntervals */ .Jt(param.subDocument, param.intervals)], () => {
            const selState = floatingState.finalize();
            this.selection.setState(selState);
            if (param.callbackFunc)
                param.callbackFunc();
        }, param.options);
    }
}


/***/ }),

/***/ 6166:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   U: function() { return /* binding */ FindAllCommand; },
/* harmony export */   h: function() { return /* binding */ FindAllCommandOptions; }
/* harmony export */ });
/* harmony import */ var _model_document_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4495);
/* harmony import */ var _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6341);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3964);




class FindAllCommandOptions extends _command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandOptions */ .dg {
    constructor(control, text, matchCase, highlightResults, results) {
        super(control);
        this.text = text;
        this.matchCase = matchCase;
        this.highlightResults = highlightResults;
        this.results = results;
    }
}
class FindAllCommand extends _command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandBase */ .eK {
    getState() {
        return new _command_states__WEBPACK_IMPORTED_MODULE_3__/* .SimpleCommandState */ .mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const searchSettings = new _model_document_model__WEBPACK_IMPORTED_MODULE_0__/* .SearchSettings */ .Nm(this.control.modelManager, this.control.layoutFormatterManager, this.control.layout, options.subDocument, options.text, options.matchCase, options.highlightResults, this.selection.pageIndex, (interval) => {
            this.history.addAndRedo(new _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_1__/* .SelectionHistoryItem */ .n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals([interval])));
        });
        const foundIntervals = this.modelManipulator.model.findAll(searchSettings);
        if (searchSettings.highlightResults)
            this.selection.setSearchSelectionIntervals(foundIntervals);
        if (options.results) {
            options.results.splice(0, options.results.length);
            foundIntervals.forEach(function (interval) {
                options.results.push(interval);
            });
        }
        return true;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}


/***/ }),

/***/ 9495:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   B: function() { return /* binding */ ReplaceAllCommandOptions; },
/* harmony export */   D: function() { return /* binding */ ReplaceAllCommand; }
/* harmony export */ });
/* harmony import */ var _model_find_replace_helper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6483);
/* harmony import */ var _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6341);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3964);




class ReplaceAllCommandOptions extends _command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandOptions */ .dg {
    constructor(control, text, replaceText, matchCase) {
        super(control);
        this.text = text;
        this.replaceText = replaceText;
        this.matchCase = matchCase;
    }
}
class ReplaceAllCommand extends _command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandBase */ .eK {
    getState() {
        return new _command_states__WEBPACK_IMPORTED_MODULE_3__/* .SimpleCommandState */ .mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const searchSettings = options;
        let findReplaceHelper = new _model_find_replace_helper__WEBPACK_IMPORTED_MODULE_0__/* .FindReplaceHelper */ .zh(this.control.modelManager, this.control.layoutFormatterManager, this.selection.pageIndex, options.subDocument, this.control.layout, (interval) => {
            this.history.addAndRedo(new _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_1__/* .SelectionHistoryItem */ .n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals([interval])));
        });
        findReplaceHelper.setSearchParams(searchSettings.text, searchSettings.replaceText, _model_find_replace_helper__WEBPACK_IMPORTED_MODULE_0__/* .SearchDirection */ .id.All, searchSettings.matchCase, false, 0, false);
        findReplaceHelper.replaceAll(this.selection.lastSelectedInterval.start);
        return true;
    }
}


/***/ }),

/***/ 4447:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: function() { return /* binding */ ReplaceNextCommandOptions; },
/* harmony export */   g: function() { return /* binding */ ReplaceNextCommand; }
/* harmony export */ });
/* harmony import */ var _model_find_replace_helper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6483);
/* harmony import */ var _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6341);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3964);
/* harmony import */ var _replace_all_command__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9495);





class ReplaceNextCommandOptions extends _replace_all_command__WEBPACK_IMPORTED_MODULE_3__/* .ReplaceAllCommandOptions */ .B {
}
class ReplaceNextCommand extends _command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandBase */ .eK {
    getState() {
        return new _command_states__WEBPACK_IMPORTED_MODULE_4__/* .SimpleCommandState */ .mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const searchSettings = options;
        let findReplaceHelper = new _model_find_replace_helper__WEBPACK_IMPORTED_MODULE_0__/* .FindReplaceHelper */ .zh(this.control.modelManager, this.control.layoutFormatterManager, this.control.selection.pageIndex, options.subDocument, this.control.layout, (interval) => {
            this.history.addAndRedo(new _model_history_selection_selection_history_item__WEBPACK_IMPORTED_MODULE_1__/* .SelectionHistoryItem */ .n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setIntervals([interval])));
        });
        findReplaceHelper.setSearchParams(searchSettings.text, searchSettings.replaceText, _model_find_replace_helper__WEBPACK_IMPORTED_MODULE_0__/* .SearchDirection */ .id.All, searchSettings.matchCase, false, this.selection.intervals[0].start, false);
        if (findReplaceHelper.findNext() === _model_find_replace_helper__WEBPACK_IMPORTED_MODULE_0__/* .FindReplaceState */ .Po.Found) {
            findReplaceHelper.replaceLastFound();
            return true;
        }
        return false;
    }
}


/***/ }),

/***/ 7099:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  fX: function() { return /* binding */ FloatingObjectDragDropChangePositionCommand; },
  j9: function() { return /* binding */ FloatingObjectDragDropChangePositionCommandParameters; }
});

// UNUSED EXPORTS: FloatingObjectMovedArgumentInner

// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
// EXTERNAL MODULE: ./src/common/layout/layout-point.ts
var layout_point = __webpack_require__(7012);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/floating-objects/enums.ts
var enums = __webpack_require__(8927);
// EXTERNAL MODULE: ./src/common/model/manipulators/range/create-range-copy-operation.ts
var create_range_copy_operation = __webpack_require__(4792);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/point.js
var point = __webpack_require__(8900);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/rectangle.js
var rectangle = __webpack_require__(8011);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./src/common/model/history/selection/selection-history-item.ts
var selection_history_item = __webpack_require__(6341);
// EXTERNAL MODULE: ./src/common/scroll/model-states.ts + 1 modules
var model_states = __webpack_require__(4385);
// EXTERNAL MODULE: ./src/common/commands/client-command.ts
var client_command = __webpack_require__(4803);
// EXTERNAL MODULE: ./src/common/commands/command-base.ts + 1 modules
var command_base = __webpack_require__(9145);
// EXTERNAL MODULE: ./src/common/commands/command-states.ts
var command_states = __webpack_require__(3964);
// EXTERNAL MODULE: ./src/common/commands/sub-document/change-active-sub-document-command.ts
var change_active_sub_document_command = __webpack_require__(6456);
// EXTERNAL MODULE: ./src/common/model/history/base/history-item.ts
var history_item = __webpack_require__(1360);
;// CONCATENATED MODULE: ./src/common/model/history/items/switch-text-box-sub-documents-state-history-item.ts

class SwitchTextBoxSubDocumentsStateHistoryItem extends history_item/* HistoryItem */.B {
    constructor(modelManipulator, oldSubDocument, textBoxParentSubDocument, position) {
        super(modelManipulator);
        this.oldSubDocument = oldSubDocument;
        this.textBoxParentSubDocument = textBoxParentSubDocument;
        this.position = position;
    }
    redo() {
        const newRun = this.textBoxParentSubDocument.getRunAndIndexesByPosition(this.position).run;
        this.newSubDocument = this.modelManipulator.model.subDocuments[newRun.subDocId];
        this.modelManipulator.model.subDocumentsCollection.replace(this.oldSubDocument.id, this.newSubDocument.id);
        this.copyPropertiesToLastParagraph(this.oldSubDocument, this.newSubDocument);
    }
    undo() {
        this.modelManipulator.model.subDocumentsCollection.replace(this.newSubDocument.id, this.oldSubDocument.id);
    }
    copyPropertiesToLastParagraph(sourceSubDocument, targetSubDocument) {
        const newParagraph = targetSubDocument.paragraphs[targetSubDocument.paragraphs.length - 1];
        const oldParagraph = sourceSubDocument.paragraphs[targetSubDocument.paragraphs.length - 1];
        this.modelManipulator.paragraph.applyParagraphProperties(newParagraph, oldParagraph, false, oldParagraph.getParagraphBundleFull(sourceSubDocument.documentModel));
    }
}

;// CONCATENATED MODULE: ./src/common/commands/floating-objects/floating-object-drag-drop-change-position-command.ts



















class FloatingObjectMovedArgumentInner {
    constructor(subDocumentId, newPosition, pageIntervals, pageIndex, objectX, objectY) {
        this.newPosition = newPosition;
        this.subDocumentId = subDocumentId;
        this.pageIntervals = pageIntervals;
        this.pageIndex = pageIndex;
        this.objectX = objectX;
        this.objectY = objectY;
        if (this.pageIndex == 0 && this.pageIntervals[0].start != 0)
            this.pageIntervals.splice(0, 1, new fixed.FixedInterval(0, this.pageIntervals[0].end));
    }
}
class FloatingObjectDragDropChangePositionCommand extends command_base/* CommandBase */.eK {
    get activeSubDocument() {
        return this.selection.activeSubDocument;
    }
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    canModify() {
        return true;
    }
    isEnabled() {
        const specialRunInfo = this.selection.specialRunInfo;
        return super.isEnabled() && specialRunInfo.isSelected() && specialRunInfo.isSelectedAnchorObject &&
            this.getFloatingObjectParentSubDocument().isEditable([new fixed.FixedInterval(specialRunInfo.getPosition(), 1)]);
    }
    executeCore(_state, options) {
        const topInfo = this.control.viewManager.canvasManager.getScrollTopInfo();
        const runInfo = this.activeSubDocument.getRunAndIndexesByPosition(this.selection.specialRunInfo.getPosition());
        const oldRun = runInfo.run.clone();
        const oldRunPos = runInfo.getAbsoluteRunPosition();
        const finalClickPoint = options.finalClickPoint;
        const layoutPoint = new layout_point/* LayoutPoint */.T(options.endPageIndex, finalClickPoint.x, finalClickPoint.y);
        const initialHtr = this.control.hitTestManager.calculate(layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, null, true);
        if (!initialHtr.pageArea)
            return;
        initialHtr.correctAsVisibleBox();
        this.history.beginTransaction();
        if (initialHtr.pageArea.subDocument.id !== this.activeSubDocument.id)
            this.changeActiveSubDocument(initialHtr, finalClickPoint);
        this.move(oldRun, oldRunPos, initialHtr, options.endPageIndex, options.finalPoint);
        this.history.endTransaction();
        this.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byScrollInfo.setPageInfo(topInfo));
        return true;
    }
    changeActiveSubDocument(htr, point) {
        const activeSubDocument = this.selection.activeSubDocument;
        if (!activeSubDocument.isHeaderFooter())
            return false;
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            return false;
        if (htr.pageArea.subDocument.isHeaderFooter()) {
            if (htr.pageArea.subDocument.id != activeSubDocument.id || this.selection.pageIndex != htr.pageIndex) {
                this.changeActiveSubDocumentToHeaderFooter(htr.pageIndex, htr.pageArea.subDocument.isHeader());
                return true;
            }
        }
        else if (htr.pageArea.subDocument.isMain()) {
            const bounds = this.getPageClientBounds(htr.page);
            const center = bounds.center;
            const rect = new rectangle.Rectangle(center.x, center.y, 0, 0);
            const deviation = new rectangle.RectangleDeviation(rect, point).calcDeviation().deviation.getValue();
            if (deviation & rectangle.HitTestDeviation.Top) {
                this.changeActiveSubDocumentToHeaderFooter(htr.pageIndex, true);
                return true;
            }
            if (deviation & rectangle.HitTestDeviation.Bottom) {
                this.changeActiveSubDocumentToHeaderFooter(htr.pageIndex, false);
                return true;
            }
        }
        return false;
    }
    changeActiveSubDocumentToHeaderFooter(pageIndex, isHeader) {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
            .execute(this.control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(this.control, pageIndex, isHeader));
    }
    getPageClientBounds(page) {
        const areas = page.mainSubDocumentPageAreas;
        let result = areas[0];
        for (let i = 1; i < areas.length; i++)
            result = rectangle.Rectangle.union(areas[i], result);
        return result;
    }
    move(oldRun, oldRunPos, initialHtr, endPageIndex, finalPoint) {
        if (this.shouldMoveInsideTable(oldRun, initialHtr)) {
            const paragraphStartHTR = this.findParagraphStartOnThisPage(initialHtr);
            const newLogPos = this.getNewLogPosition(this.activeSubDocument, paragraphStartHTR);
            const arg = new FloatingObjectMovedArgumentInner(this.activeSubDocument.id, newLogPos, paragraphStartHTR.page.getContentIntervals(), paragraphStartHTR.pageIndex, finalPoint.x, finalPoint.y);
            this.control.owner.raiseFloatingObjectMovedObject(arg);
            if (newLogPos != arg.newPosition || finalPoint.x != arg.objectX || finalPoint.y != arg.objectY) {
                this.handleEvent(arg, oldRun, oldRunPos, false);
            }
            else {
                this.moveInsideTable(oldRun, oldRunPos, newLogPos, paragraphStartHTR, finalPoint, false);
            }
        }
        else {
            this.moveOutsideTable(oldRun, oldRunPos, endPageIndex, finalPoint);
        }
    }
    shouldMoveInsideTable(oldRun, initialHtr) {
        if (!initialHtr.row.tableCellInfo)
            return false;
        if (!this.modelManipulator.model.compatibilitySettings.getActualLayoutInTableCell(oldRun.anchorInfo))
            return false;
        return true;
    }
    handleEvent(arg, oldRun, oldRunPos, oldIntervalRemoved) {
        const lp = this.activeSubDocument.isMain() ?
            layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, this.activeSubDocument, arg.newPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false)) :
            new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, this.activeSubDocument, arg.newPosition, this.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        const finalPos = new point.Point(arg.objectX, arg.objectY);
        if (lp.row.tableCellInfo)
            this.moveInsideTable(oldRun, oldRunPos, arg.newPosition, lp, finalPos, oldIntervalRemoved);
        else {
            const newPoint = new point.Point(finalPos.x - lp.getLayoutX(null, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column), finalPos.y);
            const newAnchorInfo = this.getNewAnchorInfo(oldRun.anchorInfo, newPoint);
            if (!oldIntervalRemoved)
                this.removeOldRun(oldRun, oldRunPos);
            this.addRun(oldRun, arg.newPosition, newAnchorInfo);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(new fixed.FixedInterval(arg.newPosition, 1))));
        }
    }
    moveInsideTable(oldRun, oldRunPos, newLogPos, finalPosHTR, finalPoint, oldIntervalRemoved) {
        const offset = finalPosHTR.row.tableCellInfo ?
            new point.Point(finalPosHTR.row.tableCellInfo.x, finalPosHTR.row.tableCellInfo.y) :
            new point.Point(0, 0);
        const newPoint = new point.Point(finalPoint.x - finalPosHTR.getLayoutX(null, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column) - offset.x, finalPoint.y - finalPosHTR.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column) - offset.y);
        if (!oldIntervalRemoved)
            this.removeOldRun(oldRun, oldRunPos);
        this.control.layoutFormatterManager.forceFormatPage(finalPosHTR.pageIndex);
        const newRunPos = newLogPos + (oldRunPos < newLogPos ? -1 : 0);
        this.addRun(oldRun, newRunPos, this.getNewAnchorInfo(oldRun.anchorInfo, newPoint));
        this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(new fixed.FixedInterval(newRunPos, 1))));
    }
    moveOutsideTable(oldRun, oldRunPos, endPageIndex, pagePosition) {
        this.removeOldRun(oldRun, oldRunPos);
        this.control.layoutFormatterManager.forceFormatPage(endPageIndex);
        const layoutPoint = new layout_point/* LayoutPoint */.T(Math.min(endPageIndex, this.control.layout.pages.length), pagePosition.x, pagePosition.y);
        const htr = this.control.hitTestManager.calculate(layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row, this.activeSubDocument);
        const paragraphStartHTR = this.findParagraphStartOnThisPage(htr);
        const newLogPos = this.getNewLogPosition(this.activeSubDocument, paragraphStartHTR);
        const arg = new FloatingObjectMovedArgumentInner(this.activeSubDocument.id, newLogPos, paragraphStartHTR.page.getContentIntervals(), paragraphStartHTR.pageIndex, pagePosition.x, pagePosition.y);
        this.control.owner.raiseFloatingObjectMovedObject(arg);
        if (newLogPos != arg.newPosition || pagePosition.x != arg.objectX || pagePosition.y != arg.objectY) {
            this.handleEvent(arg, oldRun, oldRunPos, true);
        }
        else {
            const newPoint = new point.Point(pagePosition.x - htr.getLayoutX(null, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column), pagePosition.y);
            const newAnchorInfo = this.getNewAnchorInfo(oldRun.anchorInfo, newPoint);
            this.addRun(oldRun, newLogPos, newAnchorInfo);
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setInterval(new fixed.FixedInterval(newLogPos, 1))));
        }
    }
    removeOldRun(oldRun, oldRunPos) {
        const subDoc = oldRun.paragraph.subDocument;
        this.rangeCopy = create_range_copy_operation/* RangeCopy */.H.create(new sub_document/* SubDocumentIntervals */.Jt(subDoc, [fixed.FixedInterval.fromPositions(oldRunPos, oldRunPos + 1)]));
        const interval = new sub_document/* SubDocumentInterval */.v8(subDoc, new fixed.FixedInterval(oldRunPos, 1));
        this.modelManipulator.range.removeInterval(interval, false, false);
    }
    findParagraphStartOnThisPage(htr) {
        const paragraph = this.selection.activeSubDocument.getParagraphByPosition(htr.getLogPosition());
        while (htr.stepBackRow()) {
            if (!paragraph.interval.contains(htr.getLogPosition())) {
                htr.stepForwardRow();
                break;
            }
        }
        return htr;
    }
    addRun(oldRun, position, anchorInfo) {
        if (this.rangeCopy) {
            const intermediateRun = this.rangeCopy.model.mainSubDocument.getFirstRun();
            intermediateRun.anchorInfo = anchorInfo.clone();
            this.rangeCopy.insertTo(this.modelManipulator, new sub_document/* SubDocumentPosition */.rg(this.activeSubDocument, position));
        }
        this.rangeCopy = null;
        const newRun = this.activeSubDocument.getRunAndIndexesByPosition(position).run;
        if (newRun.getType() == run_type/* RunType */.m.AnchoredTextBoxRun) {
            const oldTextBoxRun = oldRun;
            const originalSubDocument = this.control.modelManager.model.subDocumentsCollection.collection[oldTextBoxRun.subDocId];
            this.history.addAndRedo(new SwitchTextBoxSubDocumentsStateHistoryItem(this.modelManipulator, originalSubDocument, this.activeSubDocument, position));
        }
    }
    getNewAnchorInfo(anchorInfo, newPoint) {
        anchorInfo = anchorInfo.clone();
        anchorInfo.horizontalPositionAlignment = enums/* AnchorObjectHorizontalPositionAlignment */.xC.None;
        anchorInfo.verticalPositionAlignment = enums/* AnchorObjectVerticalPositionAlignment */.Iw.None;
        anchorInfo.horizontalPositionType = enums/* AnchorObjectHorizontalPositionType */.pk.Column;
        anchorInfo.verticalPositionType = enums/* AnchorObjectVerticalPositionType */.iL.Page;
        anchorInfo.percentOffset.x = 0;
        anchorInfo.percentOffset.y = 0;
        anchorInfo.offset.x = unit_converter/* UnitConverter */.u.pixelsToTwips(newPoint.x);
        anchorInfo.offset.y = unit_converter/* UnitConverter */.u.pixelsToTwips(newPoint.y);
        return anchorInfo;
    }
    getNewLogPosition(subDocument, htr) {
        const pos = htr.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row);
        if (!subDocument.fields.length)
            return pos;
        const index = Math.max(0, field/* Field */.gN.normedBinaryIndexOf(subDocument.fields, pos));
        const topLevelField = subDocument.fields[index].getAbsolutelyTopLevelField();
        const startFieldPos = topLevelField.getFieldStartPosition();
        for (let ind = topLevelField.index, field; field = subDocument.fields[ind]; ind++) {
            if (field.getFieldStartPosition() >= topLevelField.getFieldEndPosition())
                break;
            if (pos == field.getResultStartPosition()) {
                const lp = subDocument.isMain() ?
                    layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.control.layoutFormatterManager, subDocument, pos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)) :
                    new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, pos, this.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                        .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
                if (startFieldPos >= lp.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + lp.row.getLastBox().getEndPosition())
                    return startFieldPos;
                else
                    break;
            }
        }
        return pos;
    }
}
class FloatingObjectDragDropChangePositionCommandParameters extends command_base/* CommandOptions */.dg {
    constructor(control, startPageIndex, endPageIndex, finalPoint, finalClickPoint) {
        super(control);
        this.startPageIndex = startPageIndex;
        this.endPageIndex = endPageIndex;
        this.finalPoint = finalPoint;
        this.finalClickPoint = finalClickPoint;
    }
}


/***/ }),

/***/ 8417:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: function() { return /* binding */ HeaderFooterCommandBase; }
/* harmony export */ });
/* harmony import */ var _model_options_control__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9147);
/* harmony import */ var _model_section_section__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9362);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3964);




class HeaderFooterCommandBase extends _command_base__WEBPACK_IMPORTED_MODULE_2__/* .CommandBase */ .eK {
    getState() {
        const isEnabled = this.isEnabled();
        return new _command_states__WEBPACK_IMPORTED_MODULE_3__/* .SimpleCommandState */ .mh(isEnabled, isEnabled ? this.getValue() : false);
    }
    isEnabled() {
        return super.isEnabled() &&
            _model_options_control__WEBPACK_IMPORTED_MODULE_0__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.sections) &&
            _model_options_control__WEBPACK_IMPORTED_MODULE_0__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.headersFooters) &&
            this.control.innerClientProperties.viewsSettings.isPrintLayoutView &&
            this.selection.activeSubDocument.isHeaderFooter();
    }
    getValue() {
        return null;
    }
    getSectionIndex(pageIndex) {
        const layoutPage = this.control.layoutFormatterManager.forceFormatPage(pageIndex);
        const lp = layoutPage ? layoutPage : this.control.layout.getLastValidPage();
        return lp ? _model_section_section__WEBPACK_IMPORTED_MODULE_1__/* .Section */ .$.getPageSectionIndex(lp, this.control.modelManager.model.sections) : 0;
    }
    static getObjectsCache(isHeader, control) {
        return isHeader ? control.modelManager.model.headers : control.modelManager.model.footers;
    }
    static getSectionHeadersFooters(isHeader, section) {
        return isHeader ? section.headers : section.footers;
    }
}


/***/ }),

/***/ 8569:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ob: function() { return /* binding */ RulerParagraphRightIndentCommand; },
/* harmony export */   bV: function() { return /* binding */ RulerParagraphLeftIndentsCommandValue; },
/* harmony export */   lx: function() { return /* binding */ RulerParagraphLeftIndentsCommand; }
/* harmony export */ });
/* harmony import */ var _model_history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6690);
/* harmony import */ var _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1423);
/* harmony import */ var _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8845);
/* harmony import */ var _model_sub_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8096);
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9291);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3964);







class RulerParagraphLeftIndentsCommandValue extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandOptions */ .dg {
    constructor(control, hanging, firstLine) {
        super(control);
        this.hanging = hanging;
        this.firstLine = firstLine;
    }
}
class RulerParagraphLeftIndentsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandBase */ .eK {
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.subDocument = this.selection.activeSubDocument;
        options.intervalsInfo.intervals = this.selection.intervals;
    }
    getState(options = this.convertToCommandOptions(undefined)) {
        if (!options.subDocument)
            this.DEPRECATEDCorrectlMainCommandOptions(options);
        const info = _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.getSelectedParagraphs(options.intervalsInfo.intervals, options.subDocument);
        var parProps = info.paragraphs[0].getParagraphMergedProperties();
        var leftIndent = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_4__/* .UnitConverter */ .u.twipsToPixelsF(parProps.leftIndent);
        var fstLineIndent = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_4__/* .UnitConverter */ .u.twipsToPixelsF(parProps.firstLineIndent);
        switch (parProps.firstLineIndentType) {
            case _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphFirstLineIndent */ .Qi.Indented:
                return new _command_states__WEBPACK_IMPORTED_MODULE_6__/* .SimpleCommandState */ .mh(this.isEnabled(), new RulerParagraphLeftIndentsCommandValue(this.control, leftIndent, leftIndent + fstLineIndent));
            case _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphFirstLineIndent */ .Qi.None:
                return new _command_states__WEBPACK_IMPORTED_MODULE_6__/* .SimpleCommandState */ .mh(this.isEnabled(), new RulerParagraphLeftIndentsCommandValue(this.control, leftIndent, leftIndent));
            case _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphFirstLineIndent */ .Qi.Hanging:
                return new _command_states__WEBPACK_IMPORTED_MODULE_6__/* .SimpleCommandState */ .mh(this.isEnabled(), new RulerParagraphLeftIndentsCommandValue(this.control, leftIndent, leftIndent - fstLineIndent));
        }
        return new _command_states__WEBPACK_IMPORTED_MODULE_6__/* .SimpleCommandState */ .mh(this.isEnabled());
    }
    getIntervalsForModifying() {
        return _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
    executeCore(_state, options) {
        const indents = options;
        const subDocument = options.subDocument;
        var hanging = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_4__/* .UnitConverter */ .u.pixelsToTwips(indents.hanging);
        var fstLine = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_4__/* .UnitConverter */ .u.pixelsToTwips(indents.firstLine);
        var firstLineIndent = Math.abs(hanging - fstLine);
        var firstLineIndentType = _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphFirstLineIndent */ .Qi.None;
        if (hanging < fstLine)
            firstLineIndentType = _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphFirstLineIndent */ .Qi.Indented;
        else if (hanging > fstLine)
            firstLineIndentType = _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphFirstLineIndent */ .Qi.Hanging;
        var modelManipulator = this.modelManipulator;
        this.history.beginTransaction();
        for (let interval of options.intervalsInfo.intervals) {
            this.history.addAndRedo(new _model_history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .ParagraphFirstLineIndentHistoryItem */ .WT(modelManipulator, new _model_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(subDocument, interval), firstLineIndent, true));
            this.history.addAndRedo(new _model_history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .ParagraphFirstLineIndentTypeHistoryItem */ .rg(modelManipulator, new _model_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(subDocument, interval), firstLineIndentType, true));
            this.history.addAndRedo(new _model_history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .ParagraphLeftIndentHistoryItem */ .JQ(modelManipulator, new _model_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(subDocument, interval), hanging, true));
        }
        this.history.endTransaction();
        return true;
    }
}
class RulerParagraphRightIndentCommand extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandBase */ .eK {
    getState(options = this.convertToCommandOptions(undefined)) {
        var info = _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.getSelectedParagraphs(options.intervalsInfo.intervals, options.subDocument);
        var parWithMaxRightIndent = info.paragraphs[0];
        for (var i = 1, paragraph; paragraph = info.paragraphs[i]; i++)
            if (paragraph.getParagraphMergedProperties().rightIndent > parWithMaxRightIndent.getParagraphMergedProperties().rightIndent)
                parWithMaxRightIndent = paragraph;
        var rightIndent = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_4__/* .UnitConverter */ .u.twipsToPixelsF(parWithMaxRightIndent.getParagraphMergedProperties().rightIndent);
        return new _command_states__WEBPACK_IMPORTED_MODULE_6__/* .SimpleCommandState */ .mh(this.isEnabled(), new RulerParagraphLeftIndentsCommandValue(this.control, rightIndent, undefined));
    }
    getIntervalsForModifying() {
        return _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.getIntervalsOfSelectedParagraphs(this.selection.intervals, this.selection.activeSubDocument);
    }
    executeCore(state, options) {
        this.history.beginTransaction();
        for (var i = 0, interval; interval = state.value.intervalsInfo.intervals[i]; i++)
            this.history.addAndRedo(new _model_history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_0__/* .ParagraphRightIndentHistoryItem */ .AW(this.modelManipulator, new _model_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(options.subDocument, interval), _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_4__/* .UnitConverter */ .u.pixelsToTwips(options.param), true));
        this.history.endTransaction();
        return true;
    }
}


/***/ }),

/***/ 3644:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   BX: function() { return /* binding */ RulerTableColumnSeparatorsCommand; },
/* harmony export */   p3: function() { return /* binding */ TableColumnSeparatorStruct; }
/* harmony export */ });
/* unused harmony export TableColumnSeparatorItem */
/* harmony import */ var _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6536);
/* harmony import */ var _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9484);
/* harmony import */ var _layout_table_table_cell_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3317);
/* harmony import */ var _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8403);
/* harmony import */ var _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1157);
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2400);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3964);










class TableColumnSeparatorStruct {
    constructor() {
        this.index = 0;
        this.tableIndex = 0;
        this.cellSpacing = 0;
        this.minValue = -1;
        this.maxValue = -1;
        this.items = [];
    }
    get currItem() {
        return this.items[this.index];
    }
    get hasItems() {
        return this.items.length > 0;
    }
    createItem(position, marginLeft, marginRight) {
        this.items.push(new TableColumnSeparatorItem(position, marginLeft, marginRight));
    }
    clone() {
        const result = new TableColumnSeparatorStruct();
        result.index = this.index;
        result.tableIndex = this.tableIndex;
        result.minValue = this.minValue;
        result.maxValue = this.maxValue;
        result.items = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_6__.ListUtils.deepCopy(this.items);
        return result;
    }
}
class TableColumnSeparatorItem {
    constructor(position, leftMargin, rightMargin) {
        this.position = position;
        this.leftMargin = leftMargin;
        this.rightMargin = rightMargin;
    }
    clone() {
        return new TableColumnSeparatorItem(this.position, this.leftMargin, this.rightMargin);
    }
}
class RulerTableColumnSeparatorsCommand extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.interval = this.selection.lastSelectedInterval;
    }
    getState(options = this.convertToCommandOptions(undefined)) {
        return new _command_states__WEBPACK_IMPORTED_MODULE_9__/* .SimpleCommandState */ .mh(this.isEnabled(), this.getColumnSeparatorsInfo(options.intervalsInfo.position, options.subDocument));
    }
    executeCore(_state, _parameter) {
        return true;
    }
    getLogicCell(grid, rowIndex, cellIndex) {
        return grid.table.rows[rowIndex].cells[grid.tableCellGridInfos[rowIndex][cellIndex].getCellIndex(0)];
    }
    getMergedCell(layoutGrids, gridCell, startRowIndex) {
        let currLayoutGrid = layoutGrids[0];
        if (layoutGrids.length > 1) {
            for (let table, i = 0; table = layoutGrids[i]; i++) {
                if (table.tableRows[startRowIndex]) {
                    currLayoutGrid = table;
                    break;
                }
                startRowIndex = startRowIndex - table.tableRows.length;
            }
        }
        return this.findLayoutCellByCellGridIndex(currLayoutGrid.tableRows[startRowIndex].rowCells, gridCell.getGridCellIndex());
    }
    getColumnSeparatorsInfo(position, subDocument) {
        let sellSpacing = null;
        const setCellSpacing = (cell) => {
            if (sellSpacing == null) {
                const table = cell.parentRow.parentTable;
                const val = new _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableRowPropertiesMergerCellSpacing */ .L2(this.control.modelManager.model, table, cell.parentRow.tablePropertiesException)
                    .getProperty(cell.parentRow.properties, table.style, cell.conditionalFormatting, this.control.modelManager.model.defaultTableRowProperties);
                sellSpacing = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_5__/* .UnitConverter */ .u.twipsToPixelsF(val.value);
            }
            return sellSpacing;
        };
        let struct = new TableColumnSeparatorStruct();
        if (this.selection.tableInfo.extendedData.numRows) {
            let layoutPosition = (subDocument.isMain()
                ? new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__/* .LayoutPositionMainSubDocumentCreator */ .NG(this.control.layout, subDocument, position, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_1__/* .DocumentLayoutDetailsLevel */ .l.Character)
                : new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__/* .LayoutPositionOtherSubDocumentCreator */ .iD(this.control.layout, subDocument, position, this.selection.pageIndex, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_1__/* .DocumentLayoutDetailsLevel */ .l.Character))
                .create(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false));
            if (layoutPosition) {
                let iterator = new _layout_table_table_cell_iterator__WEBPACK_IMPORTED_MODULE_2__/* .TableCellIterator */ .L(layoutPosition, this.control.layout, this.control.measurer);
                let layoutCell = iterator.tableCellInfo;
                if (layoutCell) {
                    let layoutGrids = iterator.getLayoutTablesAssociatedWithLogicGrid();
                    let currLayoutGrid = layoutCell.parentRow.parentTable;
                    let currLogicGrid = currLayoutGrid.logicInfo.grid;
                    let logicGridRowIndex = layoutCell.parentRow.rowIndex;
                    let gridCells = currLogicGrid.tableCellInfos[logicGridRowIndex];
                    let isCreatedLastItem = false;
                    for (let gridCell, i = 0; gridCell = gridCells[i]; i++) {
                        var startRowIndex = gridCell.getStartRowIndex();
                        if (startRowIndex != logicGridRowIndex) {
                            let mergedCell = this.getMergedCell(layoutGrids, gridCell, startRowIndex);
                            if (mergedCell) {
                                let logicCell = this.getLogicCell(currLogicGrid, startRowIndex, mergedCell.cellGridIndex);
                                let xPos = mergedCell.x;
                                if (i == gridCells.length - 1) {
                                    isCreatedLastItem = true;
                                    struct.createItem(xPos + mergedCell.width, 0, 0);
                                    setCellSpacing(logicCell);
                                }
                                struct.createItem(xPos, this.getMarginLeft(logicCell), this.getMarginRight(logicCell));
                                setCellSpacing(logicCell);
                            }
                        }
                    }
                    for (let i = 0, cell; cell = layoutCell.parentRow.rowCells[i]; i++) {
                        let logicCell = this.getLogicCell(currLogicGrid, logicGridRowIndex, cell.cellGridIndex);
                        struct.createItem(cell.x, this.getMarginLeft(logicCell), this.getMarginRight(logicCell));
                        setCellSpacing(logicCell);
                    }
                    if (!isCreatedLastItem) {
                        let lastLayoutCell = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_6__.ListUtils.last(layoutCell.parentRow.rowCells);
                        struct.createItem(lastLayoutCell.right, 0, 0);
                    }
                    struct.tableIndex = currLogicGrid.table.index;
                    struct.items = struct.items.sort((a, b) => a.position - b.position);
                    struct.index = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_7__.SearchUtils.normedInterpolationIndexOf(struct.items, (item) => item.position, layoutCell.x);
                    if (currLayoutGrid.parentCell) {
                        struct.minValue = currLayoutGrid.parentCell.x;
                        struct.maxValue = currLayoutGrid.parentCell.right;
                    }
                }
            }
        }
        struct.cellSpacing = sellSpacing == null ? 0 : sellSpacing;
        return struct;
    }
    getMarginLeft(cell) {
        let table = cell.parentRow.parentTable;
        let val = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_3__/* .TableCellPropertiesMergerMarginLeft */ .ku(table, this.control.modelManager.model, cell.parentRow.tablePropertiesException)
            .getProperty(cell.properties, table.style, cell.conditionalFormatting, this.control.modelManager.model.defaultTableCellProperties);
        return _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_5__/* .UnitConverter */ .u.twipsToPixelsF(val.value);
    }
    getMarginRight(cell) {
        let table = cell.parentRow.parentTable;
        let val = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_3__/* .TableCellPropertiesMergerMarginRight */ .nn(table, this.control.modelManager.model, cell.parentRow.tablePropertiesException)
            .getProperty(cell.properties, table.style, cell.conditionalFormatting, this.control.modelManager.model.defaultTableCellProperties);
        return _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_5__/* .UnitConverter */ .u.twipsToPixelsF(val.value);
    }
    findLayoutCellByCellGridIndex(cells, cellGridIndex) {
        return cells[_devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_7__.SearchUtils.normedInterpolationIndexOf(cells, (c) => c.cellGridIndex, cellGridIndex)];
    }
}


/***/ }),

/***/ 3381:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AW: function() { return /* binding */ RulerChangeTableColumnWidthCommand; },
/* harmony export */   UC: function() { return /* binding */ RulerChangeTableRowHeightCommand; },
/* harmony export */   s$: function() { return /* binding */ RulerChangeTableRowHeightCommandParameters; },
/* harmony export */   ye: function() { return /* binding */ RulerChangeTableColumnWidthCommandParameters; }
/* harmony export */ });
/* unused harmony exports RulerChangeTableSizeCommandParametersBase, RulerChangeTableSizeCommnandBase */
/* harmony import */ var _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6536);
/* harmony import */ var _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9484);
/* harmony import */ var _model_history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7354);
/* harmony import */ var _model_history_items_tables_table_properties_history_items__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4485);
/* harmony import */ var _model_history_items_tables_table_row_properties_history_items__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(934);
/* harmony import */ var _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(247);
/* harmony import */ var _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4857);
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2940);
/* harmony import */ var _mouse_handler_resize_table_helper__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3123);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3964);













class RulerChangeTableSizeCommandParametersBase {
    constructor(modelTableIndex, offset, layoutTable) {
        this.modelTableIndex = modelTableIndex;
        this.offset = offset;
        this.layoutTable = layoutTable;
    }
}
class RulerChangeTableRowHeightCommandParameters extends RulerChangeTableSizeCommandParametersBase {
    constructor(modelTableIndex, offset, layoutTable, layoutRowIndex) {
        super(modelTableIndex, offset, layoutTable);
        this.layoutRowIndex = layoutRowIndex;
    }
}
class RulerChangeTableColumnWidthCommandParameters extends RulerChangeTableSizeCommandParametersBase {
    constructor(modelTableIndex, offset, layoutTable, oldBorderPosition, callFromRuler) {
        super(modelTableIndex, offset, layoutTable);
        this.oldBorderPosition = oldBorderPosition;
        this.callFromRuler = callFromRuler;
    }
}
class RulerChangeTableSizeCommnandBase extends _command_base__WEBPACK_IMPORTED_MODULE_11__/* .CommandBase */ .eK {
    getState() {
        return new _command_states__WEBPACK_IMPORTED_MODULE_12__/* .SimpleCommandState */ .mh(this.isEnabled());
    }
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.position = this.selection.reversedAnchorPostion;
    }
    getLayoutTableBySelection(subDocument, position) {
        const selection = this.selection;
        const layoutPos = _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__/* .LayoutPositionCreator */ .we.createLightLayoutPosition(this.control.layout, subDocument, position, selection.pageIndex, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_1__/* .DocumentLayoutDetailsLevel */ .l.TableCell, true, false);
        if (layoutPos.row.tableCellInfo)
            return layoutPos.row.tableCellInfo.parentRow.parentTable;
        return _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_0__/* .LayoutPositionCreator */ .we.createLightLayoutPosition(this.control.layout, subDocument, position, selection.pageIndex, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_1__/* .DocumentLayoutDetailsLevel */ .l.TableCell, false, false).row.tableCellInfo.parentRow.parentTable;
    }
    tableIsEditable(modelTableIndex) {
        const table = this.selection.activeSubDocument.tables[modelTableIndex];
        const tableInterval = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_8__.FixedInterval.fromPositions(table.getStartPosition(), table.getEndPosition());
        return this.selection.activeSubDocument.isEditable([tableInterval]);
    }
}
class RulerChangeTableRowHeightCommand extends RulerChangeTableSizeCommnandBase {
    executeCore(_state, options) {
        if (!this.tableIsEditable(options.param.modelTableIndex))
            return false;
        const modelManipulator = this.modelManipulator;
        const subDocument = options.subDocument;
        const layoutTable = options.param.layoutTable ||
            this.getLayoutTableBySelection(subDocument, options.intervalsInfo.intervals[0].start);
        const rowIndex = layoutTable.tableRows[options.param.layoutRowIndex].rowIndex;
        const modelRow = layoutTable.logicInfo.grid.table.rows[rowIndex];
        const layoutRow = layoutTable.tableRows[options.param.layoutRowIndex];
        const height = new _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableHeightUnit */ .aN().init(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_7__/* .UnitConverter */ .u.pixelsToTwips(layoutRow.height + options.param.offset), modelRow.height.type == _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableHeightUnitType */ .X.Exact ? _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableHeightUnitType */ .X.Exact : _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableHeightUnitType */ .X.Minimum);
        this.history.addAndRedo(new _model_history_items_tables_table_row_properties_history_items__WEBPACK_IMPORTED_MODULE_4__/* .TableRowHeightHistoryItem */ .kl(modelManipulator, subDocument, options.param.modelTableIndex, rowIndex, height));
        return true;
    }
}
class RulerChangeTableColumnWidthCommand extends RulerChangeTableSizeCommnandBase {
    executeCore(_state, options) {
        const parameters = options.param;
        if (!this.tableIsEditable(parameters.modelTableIndex))
            return false;
        if (parameters.oldBorderPosition + parameters.offset < 0)
            parameters.offset = -parameters.oldBorderPosition;
        const modelManipulator = this.modelManipulator;
        const subDocument = options.subDocument;
        const layoutTable = parameters.layoutTable ||
            this.getLayoutTableBySelection(subDocument, options.intervalsInfo.intervals[0].start);
        const grid = layoutTable.logicInfo.grid;
        const oldPosRelativeTable = parameters.oldBorderPosition - layoutTable.x;
        const columnIndex = _mouse_handler_resize_table_helper__WEBPACK_IMPORTED_MODULE_10__/* .ResizeColumnTableHelper */ .wg.findNearestColumnIndex(grid.columns.positions, oldPosRelativeTable);
        const newTableSizes = this.getNewTableSizes(grid, columnIndex, parameters.offset, parameters.callFromRuler);
        const history = this.history;
        history.beginTransaction();
        let newTableWidth = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_9__.ListUtils.last(newTableSizes.newColumnsXPositions);
        if (!(grid.table.preferredWidth.type == _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableWidthUnitType */ .HO.ModelUnits && grid.table.preferredWidth.value == newTableWidth))
            history.addAndRedo(new _model_history_items_tables_table_properties_history_items__WEBPACK_IMPORTED_MODULE_3__/* .TablePreferredWidthHistoryItem */ .iW(modelManipulator, subDocument, parameters.modelTableIndex, this.toTableWidthUnit(newTableWidth)));
        if (grid.table.properties.layoutType != _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableLayoutType */ .DX.Fixed)
            history.addAndRedo(new _model_history_items_tables_table_properties_history_items__WEBPACK_IMPORTED_MODULE_3__/* .TableLayoutTypeHistoryItem */ .Ux(modelManipulator, subDocument, parameters.modelTableIndex, _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableLayoutType */ .DX.Fixed, true));
        if (newTableSizes.tableIndentOffset != 0) {
            const oldIndent = grid.table.getActualTableIndent(modelManipulator.model.defaultTableProperties).value;
            history.addAndRedo(new _model_history_items_tables_table_properties_history_items__WEBPACK_IMPORTED_MODULE_3__/* .TableIndentHistoryItem */ .NN(modelManipulator, subDocument, parameters.modelTableIndex, this.toTableWidthUnit(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_7__/* .UnitConverter */ .u.twipsToPixelsF(oldIndent) + newTableSizes.tableIndentOffset), true));
        }
        for (let rowIndex = 0, row; row = grid.table.rows[rowIndex]; rowIndex++) {
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                const cellStartSpan = grid.tableCellInfos[rowIndex][cellIndex].getGridCellIndex();
                const cellEndSpan = cellStartSpan + cell.columnSpan;
                const newCellWidthValue = newTableSizes.newColumnsXPositions[cellEndSpan] - newTableSizes.newColumnsXPositions[cellStartSpan];
                const newCellWidth = this.toTableWidthUnit(newCellWidthValue);
                if (!cell.preferredWidth.equals(newCellWidth))
                    history.addAndRedo(new _model_history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellPreferredWidthHistoryItem */ .If(modelManipulator, subDocument, parameters.modelTableIndex, rowIndex, cellIndex, newCellWidth));
            }
        }
        history.endTransaction();
        return true;
    }
    toTableWidthUnit(val) {
        return new _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableWidthUnit */ .CT().init(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_7__/* .UnitConverter */ .u.pixelsToTwips(val), _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableWidthUnitType */ .HO.ModelUnits);
    }
    getNewTableSizes(grid, columnBoundIndex, offset, callFromRuler) {
        let newColumnsXPositions = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_9__.ListUtils.shallowCopy(grid.columns.positions);
        if (columnBoundIndex == 0) {
            if (!callFromRuler) {
                for (let ind = 1; ind < newColumnsXPositions.length; ind++)
                    newColumnsXPositions[ind] -= offset;
            }
            return new NewTableSizes(newColumnsXPositions, offset);
        }
        newColumnsXPositions[columnBoundIndex] += offset;
        if (callFromRuler)
            for (let ind = columnBoundIndex + 1; ind < newColumnsXPositions.length; ind++)
                newColumnsXPositions[ind] += offset;
        return new NewTableSizes(newColumnsXPositions, 0);
    }
}
class NewTableSizes {
    constructor(newColumnsXPositions, tableIndentOffset) {
        this.newColumnsXPositions = newColumnsXPositions;
        this.tableIndentOffset = tableIndentOffset;
    }
}


/***/ }),

/***/ 6643:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   V: function() { return /* binding */ SectionPropertiesCommandBase; }
/* harmony export */ });
/* harmony import */ var _model_options_control__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9147);
/* harmony import */ var _model_section_section__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9362);
/* harmony import */ var _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1104);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2940);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3964);







class SectionPropertiesCommandBase extends _command_base__WEBPACK_IMPORTED_MODULE_5__/* .CommandBase */ .eK {
    DEPRECATEDCorrectlMainCommandOptions(options) {
        options.intervalsInfo.intervals = SectionPropertiesCommandBase.getIntervals(this.control, options.subDocument);
    }
    getState(options = this.convertToCommandOptions(null)) {
        return this.getStateCore(this.isEnabled(options), options.intervalsInfo.intervals, this.getStateValue(options));
    }
    getStateCore(enabled, intervals, value) {
        return new _command_states__WEBPACK_IMPORTED_MODULE_6__/* .IntervalCommandStateEx */ .IA(enabled, intervals, value);
    }
    isEnabled(options) {
        return super.isEnabled() && _model_options_control__WEBPACK_IMPORTED_MODULE_0__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.sections) &&
            (!this.control.modelManager.model.isDocumentProtectionEnabled ||
                SectionPropertiesCommandBase.rangePermissionIncludeFullSection(this.control, options.subDocument, options.intervalsInfo.intervals));
    }
    getAffectedSectionsIterator(intervals) {
        const sections = this.control.modelManager.model.sections;
        return _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_2__.IntervalAlgorithms.getAffectedObjects(sections, intervals, undefined, (objectInterval, touchingIntervalLength, touchPoint) => touchingIntervalLength == 0 && objectInterval.contains(touchPoint))
            .getObjectsIterator(sections);
    }
    static rangePermissionIncludeFullSection(control, subDoc, intervals) {
        if (subDoc.isMain()) {
            const secIndexes = [];
            const currInts = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_4__.ListUtils.map(intervals, (curr) => {
                const c = curr.clone();
                if (!c.length)
                    c.length++;
                return c;
            });
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_4__.ListUtils.forEach(currInts, (currInt) => {
                _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_4__.ListUtils.forEach(control.modelManager.model.sections, (sec, secInd) => {
                    if (_devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_2__.IntervalAlgorithms.getIntersectionNonNullLength(sec.interval, currInt))
                        secIndexes.push(secInd);
                });
            });
            return control.modelManager.model.mainSubDocument.isEditable(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_4__.ListUtils.map(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_4__.ListUtils.uniqueNumber(secIndexes), (ind) => control.modelManager.model.sections[ind].interval));
        }
        if (subDoc.isHeaderFooter()) {
            const section = control.modelManager.model.mainSubDocument.getSectionByPosition(control.layoutFormatterManager.forceFormatPage(control.selection.pageIndex).getPosition());
            return control.modelManager.model.mainSubDocument.isEditable([section.interval]);
        }
        if (subDoc.isTextBox()) {
            const selection = control.selection;
            return SectionPropertiesCommandBase.rangePermissionIncludeFullSection(control, selection.specialRunInfo.getParentSubDocument(), [new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(selection.specialRunInfo.getPosition(), 1)]);
        }
    }
    static getIntervals(control, subDocument) {
        if (subDocument.isMain() || subDocument.isTextBox())
            return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_4__.ListUtils.deepCopy(control.selection.intervalsInfo.intervals);
        else if (subDocument.isHeaderFooter()) {
            let layoutPage = control.layoutFormatterManager.forceFormatPage(control.selection.pageIndex);
            let sectionIndex = _model_section_section__WEBPACK_IMPORTED_MODULE_1__/* .Section */ .$.getPageSectionIndex(layoutPage, control.modelManager.model.sections);
            let section = control.modelManager.model.sections[sectionIndex];
            return [new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(section.startLogPosition.value, section.getLength())];
        }
        else
            throw new Error("Unknown subDocument type");
    }
}


/***/ }),

/***/ 2406:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Bs: function() { return /* binding */ SelectTableColumnCommand; },
/* harmony export */   EN: function() { return /* binding */ SelectTableCommand; },
/* harmony export */   QO: function() { return /* binding */ SelectTableCellsRangeCommand; },
/* harmony export */   Y2: function() { return /* binding */ ExtendSelectTableCellCommand; },
/* harmony export */   Yx: function() { return /* binding */ SelectTableRowCommandOptions; },
/* harmony export */   _C: function() { return /* binding */ SelectTableCellCommand; },
/* harmony export */   _L: function() { return /* binding */ ExtendSelectTableRowCommand; },
/* harmony export */   bF: function() { return /* binding */ ExtendSelectTableColumnCommand; },
/* harmony export */   c7: function() { return /* binding */ SelectTableRowCommand; },
/* harmony export */   tK: function() { return /* binding */ ExtendSelectTableCommand; }
/* harmony export */ });
/* unused harmony export SelectTableCommandBase */
/* harmony import */ var _scroll_model_scroll_manager__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2328);
/* harmony import */ var _model_options_control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9147);
/* harmony import */ var _model_tables_main_structures_table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8707);
/* harmony import */ var _model_tables_table_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(935);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2400);
/* harmony import */ var _scroll_model_states__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4385);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3964);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2491);











class SelectTableCommandBase extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandBase */ .eK {
    getState() {
        let state = new _command_states__WEBPACK_IMPORTED_MODULE_10__/* .SimpleCommandState */ .mh(this.isEnabled());
        state.visible = this.selection.tableInfo.extendedData.numRows > 0;
        return state;
    }
    isEnabled() {
        return super.isEnabled() && _model_options_control__WEBPACK_IMPORTED_MODULE_1__/* .ControlOptions */ .tH.isEnabled(this.control.modelManager.richOptions.control.tables);
    }
    addSelection(firstPos, lastPos, isFirstSelection, visibleModelPosition = _scroll_model_scroll_manager__WEBPACK_IMPORTED_MODULE_0__/* .ModelScrollManager */ .O.StandartScrollPosition) {
        if (isFirstSelection)
            this.selection.deprecatedSetSelection(firstPos, lastPos, false, -1, true, true, false, visibleModelPosition);
        else {
            this.selection.changeState((newState) => {
                newState.addInterval(_devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_4__.FixedInterval.fromPositions(Math.min(firstPos, lastPos), Math.max(firstPos, lastPos))).resetKeepX().setEndOfLine(false);
                newState.forwardDirection = lastPos >= firstPos;
            });
            if (visibleModelPosition !== _scroll_model_scroll_manager__WEBPACK_IMPORTED_MODULE_0__/* .ModelScrollManager */ .O.DontChangeScrollPosition) {
                this.selection.scrollManager.setScroll(new _scroll_model_states__WEBPACK_IMPORTED_MODULE_7__/* .ScrollState */ .G_()
                    .byModelPosition(this.selection)
                    .setModelPosition(lastPos)
                    .useStdRelativePosition()
                    .useStdOffset());
            }
        }
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class SelectTableCellCommand extends SelectTableCommandBase {
    executeCore(_state, _options) {
        const tableInfo = this.selection.tableInfo;
        let isFirstCell = true;
        tableInfo.extendedData.foreach(() => { }, (cellInfo) => {
            const firstPos = cellInfo.cell.startParagraphPosition.value;
            const lastPos = cellInfo.cell.endParagrapPosition.value;
            this.addSelection(firstPos, lastPos, isFirstCell);
            isFirstCell = false;
        });
        return true;
    }
}
class ExtendSelectTableCellCommand extends SelectTableCellCommand {
    addSelection(firstPos, lastPos, _isFirstSelection) {
        this.selection.changeState((newState) => newState.addInterval(_devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_4__.FixedInterval.fromPositions(firstPos, lastPos))
            .resetKeepX().setEndOfLine(false));
    }
}
class SelectTableColumnCommand extends SelectTableCommandBase {
    DEPRECATEDConvertOptionsParameter(parameter) {
        if (parameter)
            return parameter;
        const columnIndices = [];
        const tableInfo = this.selection.tableInfo;
        const table = tableInfo.table;
        const columnIndicesMap = {};
        tableInfo.extendedData.foreach(() => { }, (cellInfo, rowInfo) => {
            const startColumnIndex = tableInfo.gridInfoManager.tableCellInfos[rowInfo.rowIndex][cellInfo.cellIndex].getGridCellIndex();
            for (let span = 0; span < cellInfo.cell.columnSpan; span++) {
                let columnIndex = startColumnIndex + span;
                if (!columnIndicesMap[columnIndex]) {
                    columnIndices.push(columnIndex);
                    columnIndicesMap[columnIndex] = true;
                }
            }
        });
        return { table: table, columnIndices: columnIndices };
    }
    executeCore(_state, options) {
        let table = options.param.table;
        let columnIndices = options.param.columnIndices;
        let isFirstItem = true;
        let prevAddedCell = null;
        for (let i = 0, columnIndex; (columnIndex = columnIndices[i]) !== undefined; i++) {
            for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
                let cellIndex = _model_tables_table_utils__WEBPACK_IMPORTED_MODULE_3__/* .TableCellUtils */ .V.getCellIndexByColumnIndex(row, columnIndex);
                let cell = row.cells[cellIndex];
                if (cell && prevAddedCell !== cell) {
                    let firstPos = cell.startParagraphPosition.value;
                    let lastPos = cell.endParagrapPosition.value;
                    this.addSelection(firstPos, lastPos, isFirstItem, _scroll_model_scroll_manager__WEBPACK_IMPORTED_MODULE_0__/* .ModelScrollManager */ .O.DontChangeScrollPosition);
                    isFirstItem = false;
                }
                prevAddedCell = cell;
            }
        }
        return true;
    }
}
class ExtendSelectTableColumnCommand extends SelectTableColumnCommand {
    addSelection(firstPos, lastPos, _isFirstSelection) {
        this.selection.changeState((newState) => newState.addInterval(_devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_4__.FixedInterval.fromPositions(firstPos, lastPos))
            .resetKeepX().setEndOfLine(false));
    }
}
class SelectTableRowCommandOptions extends _command_base__WEBPACK_IMPORTED_MODULE_8__/* .CommandOptions */ .dg {
    constructor(control, table, rowIndices, forwardDirection) {
        super(control);
        if (table) {
            this.forwardDirection = forwardDirection;
            this.rows = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__.ListUtils.map(rowIndices, (rowIndex) => table.rows[rowIndex]);
        }
        else {
            this.forwardDirection = control.selection.forwardDirection;
            this.rows = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__.ListUtils.map(control.selection.tableInfo.extendedData.rows, (rowInfo) => rowInfo.row);
        }
    }
}
class SelectTableRowCommand extends SelectTableCommandBase {
    executeCore(_state, options) {
        if (!options.isSetManually) {
            options = new SelectTableRowCommandOptions(this.control, null, [], false);
        }
        for (let i = 0, row; row = options.rows[i]; i++)
            this.addSelection(options.forwardDirection ? row.getStartPosition() : row.getEndPosition(), options.forwardDirection ? row.getEndPosition() : row.getStartPosition(), i === 0);
        return true;
    }
}
class ExtendSelectTableRowCommand extends SelectTableRowCommand {
    addSelection(firstPos, lastPos, _isFirstSelection) {
        this.selection.changeState((newState) => newState.addInterval(_devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_4__.FixedInterval.fromPositions(firstPos, lastPos))
            .resetKeepX().setEndOfLine(false));
    }
}
class SelectTableCommand extends SelectTableCommandBase {
    executeCore(_state) {
        let table = _model_tables_main_structures_table__WEBPACK_IMPORTED_MODULE_2__/* .Table */ .iA.getTableByPosition(this.selection.activeSubDocument.tables, this.selection.intervals[0].start, true);
        if (!(0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_9__.isDefined)(table))
            return false;
        let firstPos = table.getFirstCell().startParagraphPosition.value;
        let lastPos = table.getLastCell().endParagrapPosition.value;
        this.addSelection(firstPos, lastPos, true);
        return true;
    }
}
class ExtendSelectTableCommand extends SelectTableCommand {
    addSelection(firstPos, lastPos, _isFirstSelection) {
        this.selection.changeState((newState) => newState.addInterval(_devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_4__.FixedInterval.fromPositions(firstPos, lastPos))
            .resetKeepX().setEndOfLine(false));
    }
}
class SelectTableCellsRangeCommand extends SelectTableCommandBase {
    executeCore(_state, options) {
        const parameter = options.param;
        let forwardDirection = parameter.firstCell.startParagraphPosition.value <= parameter.lastCell.startParagraphPosition.value;
        if (parameter.lastCell.parentRow.parentTable !== parameter.firstCell.parentRow.parentTable)
            throw new Error("cells should be from the same table");
        let table = parameter.firstCell.parentRow.parentTable;
        let startColumnIndex = _model_tables_table_utils__WEBPACK_IMPORTED_MODULE_3__/* .TableCellUtils */ .V.getStartColumnIndex(parameter.firstCell);
        let endColumnIndex = _model_tables_table_utils__WEBPACK_IMPORTED_MODULE_3__/* .TableCellUtils */ .V.getStartColumnIndex(parameter.lastCell);
        let minColumnIndex = Math.min(startColumnIndex, endColumnIndex);
        let maxColumnIndex = Math.max(startColumnIndex + parameter.firstCell.columnSpan - 1, endColumnIndex + parameter.lastCell.columnSpan - 1);
        let startRowIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_6__.SearchUtils.normedInterpolationIndexOf(table.rows, r => r.getStartPosition(), parameter.firstCell.startParagraphPosition.value);
        let endRowIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_6__.SearchUtils.normedInterpolationIndexOf(table.rows, r => r.getStartPosition(), parameter.lastCell.startParagraphPosition.value);
        let minRowIndex = Math.min(startRowIndex, endRowIndex);
        let maxRowIndex = Math.max(startRowIndex, endRowIndex);
        let isFirstSelection = true;
        for (let rowIndex = minRowIndex; rowIndex <= maxRowIndex; rowIndex++) {
            let row = table.rows[rowIndex];
            let columnIndex = Math.max(row.gridBefore, minColumnIndex);
            if (columnIndex > maxColumnIndex)
                continue;
            let cellIndex = _model_tables_table_utils__WEBPACK_IMPORTED_MODULE_3__/* .TableCellUtils */ .V.getCellIndexByColumnIndex(row, columnIndex);
            while (columnIndex <= maxColumnIndex) {
                let cell = row.cells[cellIndex];
                if (!cell)
                    break;
                this.addSelection(forwardDirection ? cell.startParagraphPosition.value : cell.endParagrapPosition.value, forwardDirection ? cell.endParagrapPosition.value : cell.startParagraphPosition.value, isFirstSelection && !parameter.extendSelection);
                isFirstSelection = false;
                columnIndex += cell.columnSpan;
                cellIndex++;
            }
        }
        return true;
    }
}


/***/ }),

/***/ 6456:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   B7: function() { return /* binding */ ChangeActiveSubDocumentToMainCommand; },
/* harmony export */   DX: function() { return /* binding */ ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters; },
/* harmony export */   P3: function() { return /* binding */ ChangeActiveSubDocumentToHeaderFooterBySubDocumentCommand; },
/* harmony export */   Rb: function() { return /* binding */ ChangeActiveSubDocumentToHeaderFooterByPageIndexCommand; },
/* harmony export */   g0: function() { return /* binding */ ChangeActiveSubDocumentToTextBoxCommand; }
/* harmony export */ });
/* unused harmony exports ChangeActiveSubDocumentCommandBase, ChangeActiveSubDocumentToHeaderFooterOrTextBoxBySubDocumentCommand */
/* harmony import */ var _utils_map_creator__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(7156);
/* harmony import */ var _layout_formatter_invalidator_header_footer_invalidator_helper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8890);
/* harmony import */ var _layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(484);
/* harmony import */ var _model_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4907);
/* harmony import */ var _model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8927);
/* harmony import */ var _model_history_items_header_footer_history_items__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6942);
/* harmony import */ var _model_model_iterator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7747);
/* harmony import */ var _model_runs_anchored_picture_run__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6781);
/* harmony import */ var _model_runs_anchored_text_box_run__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2534);
/* harmony import */ var _model_runs_run_type__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3549);
/* harmony import */ var _model_section_header_footer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4504);
/* harmony import */ var _model_section_section__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(9362);
/* harmony import */ var _model_sub_document__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8096);
/* harmony import */ var _selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(655);
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(8679);
/* harmony import */ var _interfaces_i_rich_edit_core__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(9597);
/* harmony import */ var _scroll_model_states__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(4385);
/* harmony import */ var _client_command__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(4803);
/* harmony import */ var _command_base__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(9145);
/* harmony import */ var _command_states__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(3964);
/* harmony import */ var _header_footer_header_footer_command_base__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(8417);

























class FindPageIndexHelper {
    getPageIndex(control, subDoc) {
        let pageIndex = 0;
        for (let page; page = control.layoutFormatterManager.forceFormatPage(pageIndex); pageIndex++)
            if (_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_16__.ListUtils.elementBy(this.getPageAreas(page.getLayoutOtherPageAreasInfo()), (pa) => pa && pa.subDocument.id == subDoc.id))
                break;
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_17__.MathUtils.restrictValue(pageIndex, 0, control.selection.layout.pages.length - 1);
    }
}
class FindHeaderPageIndexHelper extends FindPageIndexHelper {
    getPageAreas(layoutPageHeaderFooterPageAreas) {
        return [layoutPageHeaderFooterPageAreas.headerPageArea];
    }
}
class FindFooterPageIndexHelper extends FindPageIndexHelper {
    getPageAreas(layoutPageHeaderFooterPageAreas) {
        return [layoutPageHeaderFooterPageAreas.footerPageArea];
    }
}
class FindTextBoxPageIndexHelper extends FindPageIndexHelper {
    getPageAreas(layoutPageHeaderFooterPageAreas) {
        return layoutPageHeaderFooterPageAreas.textBoxesPageAreas;
    }
}
class ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters extends _command_base__WEBPACK_IMPORTED_MODULE_21__/* .CommandOptions */ .dg {
    constructor(control, pageIndex, isHeader) {
        super(control);
        this.pageIndex = pageIndex;
        this.isHeader = isHeader;
    }
}
class ChangeActiveSubDocumentCommandBase extends _command_base__WEBPACK_IMPORTED_MODULE_21__/* .CommandBase */ .eK {
    getState() {
        return new _command_states__WEBPACK_IMPORTED_MODULE_23__/* .SimpleCommandState */ .mh(this.isEnabled());
    }
    finishChanges(newPageIndex, newActiveSubDoc, startSelection) {
        const selection = this.selection;
        if (!this.setNewSelectionProps(selection, this.control.modelManager.model, newPageIndex, newActiveSubDoc))
            return false;
        startSelection = this.validateSelectionPosition(newActiveSubDoc, startSelection);
        selection.changeState((newState) => newState.setPosition(startSelection).resetKeepX().setEndOfLine(false).setSubDocument(newActiveSubDoc).setPageIndex(newPageIndex));
        if (this.isNeedScrollAfter())
            selection.scrollManager.setScroll(new _scroll_model_states__WEBPACK_IMPORTED_MODULE_19__/* .ScrollState */ .G_().byModelPosition(selection).setModelPosition(startSelection).useStdRelativePosition().useStdOffset());
        return true;
    }
    canSetSelectionBeforeRun(run) {
        return !((run instanceof _model_runs_anchored_picture_run__WEBPACK_IMPORTED_MODULE_6__/* .AnchoredPictureRun */ .N || run instanceof _model_runs_anchored_text_box_run__WEBPACK_IMPORTED_MODULE_7__/* .AnchoredTextBoxRun */ .s) &&
            run.anchorInfo.horizontalPositionType != _model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_3__/* .AnchorObjectHorizontalPositionType */ .pk.Character);
    }
    validateSelectionPosition(subDocument, position) {
        const iterator = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_5__/* .ModelIterator */ .w(subDocument, true);
        iterator.setPosition(position);
        do
            if (iterator.charOffset > 0 || this.canSetSelectionBeforeRun(iterator.run))
                break;
        while (iterator.moveToNextRun());
        return iterator.getAbsolutePosition();
    }
    invalidatePages(targetPageIndex, currActiveSubDocInfo) {
        if (currActiveSubDocInfo.isHeaderFooter) {
            const headerFooterInvalidatorHelper = new _layout_formatter_invalidator_header_footer_invalidator_helper__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterInvalidatorHelper */ .b(this.control.modelManager.model, this.control.layout, currActiveSubDocInfo.headerFooterType);
            headerFooterInvalidatorHelper.initByPageIndex(targetPageIndex);
            this.control.layoutFormatterManager.invalidator.onPagesChanged(headerFooterInvalidatorHelper.startPageIndex, headerFooterInvalidatorHelper.endPageIndex);
        }
        else
            this.control.layoutFormatterManager.invalidator.onPagesChanged(targetPageIndex, targetPageIndex + 1);
    }
    setNewSelectionProps(selection, model, newPageIndex, newSubDocument) {
        if (selection.pageIndex == newPageIndex && newSubDocument == selection.activeSubDocument)
            return false;
        if (newSubDocument.isTextBox() && (!selection.specialRunInfo.isSelectedAnchorObject ||
            selection.specialRunInfo.getTextBoxInnerSubDocumentId() != newSubDocument.id)) {
            const parentSubDoc = model.subDocuments[newSubDocument.info.parentSubDocumentId];
            const iterator = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_5__/* .ModelIterator */ .w(parentSubDoc, true);
            iterator.setPosition(0);
            do
                if (iterator.run.getType() == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_8__/* .RunType */ .m.AnchoredTextBoxRun && iterator.run.subDocId == newSubDocument.id)
                    break;
            while (iterator.moveToNextRun());
            selection.specialRunInfo.init(_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_12__/* .SelectionIntervalsInfo */ .v.fromInterval(parentSubDoc, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_14__.FixedInterval(iterator.getAbsolutePosition(), 1)), this.modelManipulator.model);
        }
        return true;
    }
    isNeedScrollAfter() {
        return false;
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class ChangeActiveSubDocumentToMainCommand extends ChangeActiveSubDocumentCommandBase {
    executeCore(_state, options) {
        const selection = this.selection;
        const targetPageIndex = selection.pageIndex;
        if (targetPageIndex < 0)
            return false;
        this.invalidatePages(targetPageIndex, options.subDocument.info);
        let targetLayoutPage = this.control.layoutFormatterManager.forceFormatPage(targetPageIndex);
        if (!targetLayoutPage)
            targetLayoutPage = selection.layout.getLastValidPage();
        return this.finishChanges(-1, this.control.modelManager.model.mainSubDocument, targetLayoutPage ? targetLayoutPage.getPosition() : 0);
    }
}
class ChangeActiveSubDocumentToHeaderFooterByPageIndexCommand extends ChangeActiveSubDocumentCommandBase {
    executeCore(_state, params) {
        const targetPageIndex = params.pageIndex;
        if (targetPageIndex >= this.control.layout.pages.length)
            return false;
        this.invalidatePages(targetPageIndex, this.selection.activeSubDocument.info);
        const targetLayoutPage = this.control.layoutFormatterManager.forceFormatPage(targetPageIndex);
        if (!targetLayoutPage)
            return false;
        this.history.beginTransaction();
        const newSubDocument = this.getNewSubDocument(targetLayoutPage, params.isHeader);
        if (!newSubDocument)
            return false;
        const res = this.finishChanges(targetPageIndex, newSubDocument, 0);
        this.history.endTransaction();
        return res;
    }
    getNewSubDocument(layoutPage, isHeader) {
        const pageAreas = layoutPage.getLayoutOtherPageAreasInfo();
        const pageArea = isHeader ? pageAreas.headerPageArea : pageAreas.footerPageArea;
        if (pageArea)
            return pageArea.subDocument;
        if (this.control.modelManager.model.isDocumentProtectionEnabled || this.control.readOnly == _interfaces_i_rich_edit_core__WEBPACK_IMPORTED_MODULE_18__/* .ReadOnlyMode */ .F.Persistent)
            return null;
        const sections = this.control.modelManager.model.sections;
        const sectionIndex = _model_section_section__WEBPACK_IMPORTED_MODULE_10__/* .Section */ .$.getPageSectionIndex(this.control.layoutFormatterManager.forceFormatPage(layoutPage.index), sections);
        const headerFooterType = _model_section_header_footer__WEBPACK_IMPORTED_MODULE_9__/* .SectionHeadersFooters */ .QC.getActualObjectType(sections[sectionIndex], layoutPage.flags.get(_layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_1__/* .LayoutPageFlags */ .m3.IsFirstPageOfSection), (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_15__.isEven)(layoutPage.layoutPageIndex));
        return this.insertSubDocument(isHeader, sectionIndex, headerFooterType);
    }
    insertSubDocument(isHeader, sectionIndex, headerFooterType) {
        const newObjectIndex = this.createHeaderFooter(isHeader, sectionIndex, headerFooterType);
        return _header_footer_header_footer_command_base__WEBPACK_IMPORTED_MODULE_22__/* .HeaderFooterCommandBase */ .$.getObjectsCache(isHeader, this.control)[newObjectIndex].getSubDocument(this.control.modelManager.model);
    }
    createHeaderFooter(isHeader, sectionIndex, type) {
        const objectIndex = this.control.modelManager.modelManipulator.header.getHeaderFooterManipulator(isHeader).createObject(type);
        this.changeHeaderFooterObjectIndex(isHeader, sectionIndex, type, objectIndex);
        return objectIndex;
    }
    changeHeaderFooterObjectIndex(isHeader, sectionIndex, headerFooterType, newIndex) {
        this.history.addAndRedo(new (isHeader ? _model_history_items_header_footer_history_items__WEBPACK_IMPORTED_MODULE_4__/* .ChangeHeaderIndexHistoryItem */ .uA : _model_history_items_header_footer_history_items__WEBPACK_IMPORTED_MODULE_4__/* .ChangeFooterIndexHistoryItem */ .ru)(this.modelManipulator, sectionIndex, headerFooterType, newIndex, (oldIndex) => {
            if (this.control.selection.activeSubDocument.isHeaderFooter() && oldIndex == -1)
                this.control.commandManager.getCommand(_client_command__WEBPACK_IMPORTED_MODULE_20__/* .RichEditClientCommand */ .f.ChangeActiveSubDocumentToMain)
                    .execute(this.control.commandManager.isPublicApiCall);
        }));
    }
    isNeedScrollAfter() {
        return true;
    }
    isEnabled() {
        return super.isEnabled() && this.control.innerClientProperties.viewsSettings.isPrintLayoutView;
    }
}
class ChangeActiveSubDocumentToHeaderFooterOrTextBoxBySubDocumentCommand extends ChangeActiveSubDocumentCommandBase {
    executeCore(_state, options) {
        const newActiveSubDoc = options.param;
        let targetPageIndex;
        if (this.selection.specialRunInfo.isTextBoxSelected() &&
            this.selection.specialRunInfo.getTextBoxInnerSubDocumentId() == newActiveSubDoc.id &&
            this.selection.pageIndex >= 0)
            targetPageIndex = this.selection.pageIndex;
        else
            targetPageIndex = newActiveSubDoc.info.getType() != _model_enums__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentInfoType */ .F.Main ? ChangeActiveSubDocumentToHeaderFooterBySubDocumentCommand.MapTypeToPageIndexHelper[newActiveSubDoc.info.getType()]
                .getPageIndex(this.control, newActiveSubDoc) : this.selection.pageIndex;
        this.invalidatePages(targetPageIndex, this.selection.activeSubDocument.info);
        return this.control.layoutFormatterManager.forceFormatPage(targetPageIndex) && this.finishChanges(targetPageIndex, newActiveSubDoc, 0);
    }
    isNeedScrollAfter() {
        return true;
    }
}
ChangeActiveSubDocumentToHeaderFooterOrTextBoxBySubDocumentCommand.MapTypeToPageIndexHelper = new _utils_map_creator__WEBPACK_IMPORTED_MODULE_24__/* .MapCreator */ .M()
    .add(_model_enums__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentInfoType */ .F.Header, new FindHeaderPageIndexHelper())
    .add(_model_enums__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentInfoType */ .F.Footer, new FindFooterPageIndexHelper())
    .add(_model_enums__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentInfoType */ .F.TextBox, new FindTextBoxPageIndexHelper())
    .get();
class ChangeActiveSubDocumentToHeaderFooterBySubDocumentCommand extends ChangeActiveSubDocumentToHeaderFooterOrTextBoxBySubDocumentCommand {
    isEnabled() {
        return super.isEnabled() && this.control.innerClientProperties.viewsSettings.isPrintLayoutView;
    }
}
class ChangeActiveSubDocumentToTextBoxCommand extends ChangeActiveSubDocumentToHeaderFooterOrTextBoxBySubDocumentCommand {
    getState() {
        if (!this.isEnabled())
            return new _command_states__WEBPACK_IMPORTED_MODULE_23__/* .SimpleCommandState */ .mh(false);
        const specInfo = this.selection.specialRunInfo;
        if (!specInfo.isTextBoxSelected())
            return new _command_states__WEBPACK_IMPORTED_MODULE_23__/* .SimpleCommandState */ .mh(false);
        const run = this.selection.activeSubDocument.getRunByPosition(specInfo.getTextBoxPosition());
        return new _command_states__WEBPACK_IMPORTED_MODULE_23__/* .SimpleCommandState */ .mh(run.getType() == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_8__/* .RunType */ .m.AnchoredTextBoxRun, this.control.modelManager.model.subDocuments[run.subDocId]);
    }
    executeCore(state, _options) {
        if (state.value instanceof _model_sub_document__WEBPACK_IMPORTED_MODULE_11__/* .SubDocument */ .jP)
            return super.executeCore(state, new _command_base__WEBPACK_IMPORTED_MODULE_21__/* .CommandSimpleOptions */ .LF(this.control, state.value));
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_13__/* .Errors */ .D.InternalException);
    }
}


/***/ }),

/***/ 6983:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  gw: function() { return /* binding */ ClipboardCommand; },
  XA: function() { return /* binding */ CopySelectionCommand; },
  kU: function() { return /* binding */ CutSelectionCommand; },
  Un: function() { return /* binding */ InsertHtmlCommand; },
  SZ: function() { return /* binding */ PasteSelectionCommand; }
});

// UNUSED EXPORTS: BuiltInClipboard, BuiltInClipboardAction, ClipboardHelper

;// CONCATENATED MODULE: ./node_modules/tslib/tslib.es6.mjs
/******************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise, SuppressedError, Symbol */

var extendStatics = function(d, b) {
  extendStatics = Object.setPrototypeOf ||
      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
  return extendStatics(d, b);
};

function __extends(d, b) {
  if (typeof b !== "function" && b !== null)
      throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
  extendStatics(d, b);
  function __() { this.constructor = d; }
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

var __assign = function() {
  __assign = Object.assign || function __assign(t) {
      for (var s, i = 1, n = arguments.length; i < n; i++) {
          s = arguments[i];
          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
      }
      return t;
  }
  return __assign.apply(this, arguments);
}

function __rest(s, e) {
  var t = {};
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
      t[p] = s[p];
  if (s != null && typeof Object.getOwnPropertySymbols === "function")
      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
              t[p[i]] = s[p[i]];
      }
  return t;
}

function __decorate(decorators, target, key, desc) {
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
}

function __param(paramIndex, decorator) {
  return function (target, key) { decorator(target, key, paramIndex); }
}

function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
  var _, done = false;
  for (var i = decorators.length - 1; i >= 0; i--) {
      var context = {};
      for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
      for (var p in contextIn.access) context.access[p] = contextIn.access[p];
      context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
      var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
      if (kind === "accessor") {
          if (result === void 0) continue;
          if (result === null || typeof result !== "object") throw new TypeError("Object expected");
          if (_ = accept(result.get)) descriptor.get = _;
          if (_ = accept(result.set)) descriptor.set = _;
          if (_ = accept(result.init)) initializers.unshift(_);
      }
      else if (_ = accept(result)) {
          if (kind === "field") initializers.unshift(_);
          else descriptor[key] = _;
      }
  }
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
  done = true;
};

function __runInitializers(thisArg, initializers, value) {
  var useValue = arguments.length > 2;
  for (var i = 0; i < initializers.length; i++) {
      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
  }
  return useValue ? value : void 0;
};

function __propKey(x) {
  return typeof x === "symbol" ? x : "".concat(x);
};

function __setFunctionName(f, name, prefix) {
  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
};

function __metadata(metadataKey, metadataValue) {
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}

function __awaiter(thisArg, _arguments, P, generator) {
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  return new (P || (P = Promise))(function (resolve, reject) {
      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
      function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
      step((generator = generator.apply(thisArg, _arguments || [])).next());
  });
}

function __generator(thisArg, body) {
  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
  function verb(n) { return function (v) { return step([n, v]); }; }
  function step(op) {
      if (f) throw new TypeError("Generator is already executing.");
      while (g && (g = 0, op[0] && (_ = 0)), _) try {
          if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          if (y = 0, t) op = [op[0] & 2, t.value];
          switch (op[0]) {
              case 0: case 1: t = op; break;
              case 4: _.label++; return { value: op[1], done: false };
              case 5: _.label++; y = op[1]; op = [0]; continue;
              case 7: op = _.ops.pop(); _.trys.pop(); continue;
              default:
                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                  if (t[2]) _.ops.pop();
                  _.trys.pop(); continue;
          }
          op = body.call(thisArg, _);
      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
  }
}

var __createBinding = Object.create ? (function(o, m, k, k2) {
  if (k2 === undefined) k2 = k;
  var desc = Object.getOwnPropertyDescriptor(m, k);
  if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
  }
  Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
  if (k2 === undefined) k2 = k;
  o[k2] = m[k];
});

function __exportStar(m, o) {
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
}

function __values(o) {
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
  if (m) return m.call(o);
  if (o && typeof o.length === "number") return {
      next: function () {
          if (o && i >= o.length) o = void 0;
          return { value: o && o[i++], done: !o };
      }
  };
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}

function __read(o, n) {
  var m = typeof Symbol === "function" && o[Symbol.iterator];
  if (!m) return o;
  var i = m.call(o), r, ar = [], e;
  try {
      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
  }
  catch (error) { e = { error: error }; }
  finally {
      try {
          if (r && !r.done && (m = i["return"])) m.call(i);
      }
      finally { if (e) throw e.error; }
  }
  return ar;
}

/** @deprecated */
function __spread() {
  for (var ar = [], i = 0; i < arguments.length; i++)
      ar = ar.concat(__read(arguments[i]));
  return ar;
}

/** @deprecated */
function __spreadArrays() {
  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
  for (var r = Array(s), k = 0, i = 0; i < il; i++)
      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
          r[k] = a[j];
  return r;
}

function __spreadArray(to, from, pack) {
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
      if (ar || !(i in from)) {
          if (!ar) ar = Array.prototype.slice.call(from, 0, i);
          ar[i] = from[i];
      }
  }
  return to.concat(ar || Array.prototype.slice.call(from));
}

function __await(v) {
  return this instanceof __await ? (this.v = v, this) : new __await(v);
}

function __asyncGenerator(thisArg, _arguments, generator) {
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
  return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
  function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
  function fulfill(value) { resume("next", value); }
  function reject(value) { resume("throw", value); }
  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
}

function __asyncDelegator(o) {
  var i, p;
  return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
}

function __asyncValues(o) {
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
  var m = o[Symbol.asyncIterator], i;
  return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
}

function __makeTemplateObject(cooked, raw) {
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
  return cooked;
};

var __setModuleDefault = Object.create ? (function(o, v) {
  Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
  o["default"] = v;
};

function __importStar(mod) {
  if (mod && mod.__esModule) return mod;
  var result = {};
  if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
  __setModuleDefault(result, mod);
  return result;
}

function __importDefault(mod) {
  return (mod && mod.__esModule) ? mod : { default: mod };
}

function __classPrivateFieldGet(receiver, state, kind, f) {
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}

function __classPrivateFieldSet(receiver, state, value, kind, f) {
  if (kind === "m") throw new TypeError("Private method is not writable");
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
}

function __classPrivateFieldIn(state, receiver) {
  if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
  return typeof state === "function" ? receiver === state : state.has(receiver);
}

function __addDisposableResource(env, value, async) {
  if (value !== null && value !== void 0) {
    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
    var dispose;
    if (async) {
        if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
        dispose = value[Symbol.asyncDispose];
    }
    if (dispose === void 0) {
        if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
        dispose = value[Symbol.dispose];
    }
    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
    env.stack.push({ value: value, dispose: dispose, async: async });
  }
  else if (async) {
    env.stack.push({ async: true });
  }
  return value;
}

var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
  var e = new Error(message);
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};

function __disposeResources(env) {
  function fail(e) {
    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
    env.hasError = true;
  }
  function next() {
    while (env.stack.length) {
      var rec = env.stack.pop();
      try {
        var result = rec.dispose && rec.dispose.call(rec.value);
        if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
      }
      catch (e) {
          fail(e);
      }
    }
    if (env.hasError) throw env.error;
  }
  return next();
}

/* harmony default export */ var tslib_es6 = ({
  __extends,
  __assign,
  __rest,
  __decorate,
  __param,
  __metadata,
  __awaiter,
  __generator,
  __createBinding,
  __exportStar,
  __values,
  __read,
  __spread,
  __spreadArrays,
  __spreadArray,
  __await,
  __asyncGenerator,
  __asyncDelegator,
  __asyncValues,
  __makeTemplateObject,
  __importStar,
  __importDefault,
  __classPrivateFieldGet,
  __classPrivateFieldSet,
  __classPrivateFieldIn,
  __addDisposableResource,
  __disposeResources,
});

// EXTERNAL MODULE: ./src/common/formats/html/import/html-importer.ts + 37 modules
var html_importer = __webpack_require__(1792);
;// CONCATENATED MODULE: ./src/common/rich-utils/html-utils.ts

function getHTMLElementsFromHtml(inputController, html) {
    let resultHtml = html;
    if (typeof html === "string")
        resultHtml = html_importer/* HtmlImporter */.Vf.convertHtml(html);
    inputController.setEditableDocumentContent(resultHtml);
    const editableElement = inputController.getEditableDocument();
    const elementsContainer = editableElement.body || editableElement;
    return elementsContainer.childNodes;
}

// EXTERNAL MODULE: ./src/common/formats/options.ts
var options = __webpack_require__(9906);
// EXTERNAL MODULE: ./src/common/model-manager.ts + 91 modules
var model_manager = __webpack_require__(1805);
// EXTERNAL MODULE: ./src/common/model/manipulators/range/create-range-copy-operation.ts
var create_range_copy_operation = __webpack_require__(4792);
// EXTERNAL MODULE: ./src/common/model/options/control.ts
var control = __webpack_require__(9147);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/browser.js
var browser = __webpack_require__(9279);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/batch-updatable.js
var batch_updatable = __webpack_require__(1772);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/dom.js
var dom = __webpack_require__(6907);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/base64.js
var base64 = __webpack_require__(6477);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/mime-type.js
var mime_type = __webpack_require__(4633);
;// CONCATENATED MODULE: ./src/common/formats/txt/txt-exporter.ts



class TxtExporter {
    get model() { return this.modelManipulator.model; }
    constructor(modelManipulator, options) {
        this.modelManipulator = modelManipulator;
        this.options = options;
    }
    exportToBlob(callback) {
        this.getBlob(callback);
    }
    exportToBase64(callback) {
        this.getBlob(blob => base64.Base64Utils.fromBlobAsDataUrl(blob, base64 => {
            const splitted = base64.split(',');
            callback(splitted.length === 2 ? splitted[1] : '');
        }));
    }
    getBlob(callback) {
        this.modelManipulator.picture.loader.ensureAllPicturesLoaded(this.options.ensurePictureLoadedTimeout, (_loaded) => {
            let text = '';
            this.model.mainSubDocument.paragraphs.forEach((p, index) => {
                if (index > 0)
                    text += '\r\n';
                text += this.model.mainSubDocument.getSimpleText(new fixed.FixedInterval(p.startLogPosition.value, p.length));
            });
            callback(new Blob([text], { type: mime_type.PlainTextMimeType }));
        });
    }
}

// EXTERNAL MODULE: ./src/common/formats/document-importer-errors.ts
var document_importer_errors = __webpack_require__(6258);
// EXTERNAL MODULE: ./src/common/formats/utils/images-import.ts
var images_import = __webpack_require__(325);
// EXTERNAL MODULE: ./src/common/model/creator/creator.ts
var creator = __webpack_require__(6015);
// EXTERNAL MODULE: ./src/common/model/creator/options.ts
var creator_options = __webpack_require__(5007);
// EXTERNAL MODULE: ./src/common/model/model-checks/check-all.ts + 1 modules
var check_all = __webpack_require__(5770);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/runs/simple-runs.ts
var simple_runs = __webpack_require__(4330);
// EXTERNAL MODULE: ./src/common/model/runs/text-run.ts
var text_run = __webpack_require__(3264);
// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
// EXTERNAL MODULE: ./src/common/utils/utils.ts
var utils = __webpack_require__(5929);
;// CONCATENATED MODULE: ./src/common/formats/txt/txt-importer.ts












class TxtImporter {
    importFromFile(blob, modelOptions, callback, reject) {
        this.reject = reject;
        this.createModel(modelOptions);
        const reader = new FileReader();
        reader.onload = () => {
            this.importFromString(reader.result, modelOptions, callback, reject);
        };
        reader.onerror = (_ev) => {
            this.reject(document_importer_errors/* DocumentImporterErrors */.x.TxtFileReaderError);
        };
        reader.readAsText(blob);
    }
    importFromString(text, modelOptions, callback, reject, charPropsBundle, parPropsBundle) {
        this.createModel(modelOptions);
        try {
            this.fillModel(this.model, text, charPropsBundle, parPropsBundle);
            if (!new check_all/* ModelChecker */.n(this.model).checkAll())
                throw new Error();
        }
        catch (err) {
            reject(document_importer_errors/* DocumentImporterErrors */.x.TxtImportError);
            return;
        }
        callback(this.model, this.formatImagesImporter);
    }
    createModel(modelOptions) {
        const options = new creator_options/* ModelCreatorOptions */.g();
        options.addParagraph = false;
        this.formatImagesImporter = new images_import/* FormatImagesImporter */.G();
        this.model = new creator/* ModelCreator */.P(options).createModel(modelOptions).fillModel();
    }
    fillModel(model, text, charPropsBundle, parPropsBundle) {
        const lines = (0,utils/* splitByLines */.Ev)(text);
        const sd = model.mainSubDocument;
        const runs = sd.chunks[0].textRuns;
        let defCharStyle = this.model.stylesManager.getDefaultCharacterStyle();
        let defParStyle = this.model.stylesManager.getDefaultParagraphStyle();
        let defCharProps = model.cache.maskedCharacterPropertiesCache.getItem(creator/* ModelCreator */.P.createTemplateCharProps(model));
        let defParProps = model.cache.maskedParagraphPropertiesCache.getItem(creator/* ModelCreator */.P.createTemplateParProps());
        if (charPropsBundle) {
            defCharStyle = charPropsBundle.style;
            defCharProps = charPropsBundle.props;
        }
        else {
            defCharStyle = this.model.stylesManager.getDefaultCharacterStyle();
            defCharProps = model.cache.maskedCharacterPropertiesCache.getItem(creator/* ModelCreator */.P.createTemplateCharProps(model));
        }
        if (parPropsBundle) {
            defParStyle = parPropsBundle.style;
            defParProps = parPropsBundle.props;
        }
        else {
            defParStyle = this.model.stylesManager.getDefaultParagraphStyle();
            defParProps = model.cache.maskedParagraphPropertiesCache.getItem(creator/* ModelCreator */.P.createTemplateParProps());
        }
        let parStartPos = 0;
        lines.forEach((line) => {
            const par = new paragraph/* Paragraph */.nv(sd, sd.positionManager.registerPosition(parStartPos), 0, defParStyle, defParProps);
            sd.paragraphs.push(par);
            const textLen = line.length;
            if (textLen)
                runs.push(new text_run/* TextRun */.h(parStartPos, textLen, par, new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(defCharProps, defCharStyle)));
            runs.push(new simple_runs/* ParagraphRun */.uu(parStartPos + textLen, par, new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(defCharProps, defCharStyle)));
            par.length = 1 + textLen;
            parStartPos += par.length;
        });
        sd.chunks[0].textBuffer = lines.join(rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark) + rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark;
        model.sections[0].setLength(sd, list.ListUtils.last(sd.paragraphs).getEndPosition());
    }
}

// EXTERNAL MODULE: ./src/common/model/history/selection/selection-history-item.ts
var selection_history_item = __webpack_require__(6341);
// EXTERNAL MODULE: ./src/common/commands/client-command.ts
var client_command = __webpack_require__(4803);
// EXTERNAL MODULE: ./src/common/commands/command-base.ts + 1 modules
var command_base = __webpack_require__(9145);
// EXTERNAL MODULE: ./src/common/commands/command-states.ts
var command_states = __webpack_require__(3964);
;// CONCATENATED MODULE: ./src/common/commands/text/clipboard-commands.ts




















class ClipboardCommand extends command_base/* CommandBase */.eK {
    constructor(control, queryCommandId) {
        super(control);
        this.queryCommandId = queryCommandId;
        if (this.isTouchMode())
            ClipboardCommand.builtInClipboard = new BuiltInClipboard(this.control);
        this.clipboardHelper = new ClipboardHelper(this.control, this.isTouchMode());
    }
    getState() {
        var state = new command_states/* SimpleCommandState */.mh(this.isEnabled());
        state.visible = this.isVisible();
        return state;
    }
    isTouchMode() {
        return this.control.isTouchMode();
    }
    isCommandSupported() {
        const editableDocument = this.control.inputController.getEditableDocument();
        return !!editableDocument.queryCommandSupported && editableDocument.queryCommandSupported(this.queryCommandId);
    }
    execute(isPublicApiCall, parameter = this.control.shortcutManager.lastCommandExecutedByShortcut) {
        const isPublicApiCallPrevValue = this.control.commandManager.isPublicApiCall;
        this.control.commandManager.isPublicApiCall = isPublicApiCall;
        if (!this.isTouchMode() && !parameter && !this.isCommandSupported()) {
            this.control.commandManager.isPublicApiCall = isPublicApiCallPrevValue;
            if (this.clipboardHelper.canReadFromClipboard()) {
                this.clipboardHelper.readFromClipboard().catch((reason) => {
                    console.warn(reason);
                    this.executeShowErrorMessageCommand();
                });
                return true;
            }
            else
                return this.executeShowErrorMessageCommand();
        }
        else {
            const options = this.convertToCommandOptions(parameter);
            this.beforeExecute();
            this.executeCore(this.getState(), options);
            this.control.commandManager.isPublicApiCall = isPublicApiCallPrevValue;
            return true;
        }
    }
    executeCore(state, options) {
        if (!state.enabled || this.control.commandManager.clipboardTimerId != null)
            return false;
        if (!this.isTouchMode()) {
            if (!options.param)
                this.control.inputController.getEditableDocument().execCommand(this.queryCommandId, false, null);
            this.control.commandManager.clipboardTimerId = setTimeout(() => {
                this.executeFinalAction();
            }, this.getTimeout());
        }
        else
            this.executeBuiltInClipboardAction(this.getBuiltInClipboardActionType());
        return true;
    }
    getTimeout() {
        return ClipboardCommand.timeout;
    }
    executeFinalAction() {
        if (this.control.isClosed() || this.control.commandManager.clipboardTimerId === null)
            return;
        this.control.beginUpdate();
        this.changeModel();
        this.clipboardHelper.clearAfterImport();
        this.control.endUpdate();
        this.control.commandManager.clipboardTimerId = null;
    }
    executeShowErrorMessageCommand() {
        return this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowErrorClipboardAccessDeniedMessageCommand).execute(this.control.commandManager.isPublicApiCall);
    }
    executeBuiltInClipboardAction(action) {
        this.control.beginUpdate();
        switch (action) {
            case BuiltInClipboardAction.Copy:
                ClipboardCommand.builtInClipboard.copy();
                this.tryWriteToClipboard();
                break;
            case BuiltInClipboardAction.Cut:
                ClipboardCommand.builtInClipboard.cut();
                this.tryWriteToClipboard();
                break;
            case BuiltInClipboardAction.Paste:
                if (this.clipboardHelper.canReadFromClipboard()) {
                    this.clipboardHelper.readFromClipboard().catch(reason => {
                        ClipboardCommand.builtInClipboard.paste();
                        console.warn(reason);
                    });
                }
                else
                    ClipboardCommand.builtInClipboard.paste();
                break;
        }
        this.control.endUpdate();
    }
    tryWriteToClipboard() {
        return __awaiter(this, void 0, void 0, function* () {
            try {
                yield this.clipboardHelper.tryWriteToClipboard(ClipboardCommand.builtInClipboard.clipboardData);
            }
            catch (error) {
                console.log(error);
            }
        });
    }
    isVisible() {
        return true;
    }
    getBuiltInClipboardActionType() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    changeModel() {
    }
    beforeExecute() {
        if (!browser.Browser.TouchUI)
            this.control.focusManager.captureFocus();
    }
}
ClipboardCommand.additionalWaitingTimeForMac = 10;
ClipboardCommand.timeout = browser.Browser.Firefox ? 10 :
    (browser.Browser.MacOSPlatform && (browser.Browser.WebKitFamily || browser.Browser.Opera) ? 10 : 0);
class CopySelectionCommand extends ClipboardCommand {
    constructor(control) {
        super(control, "copy");
    }
    copyEventRaised() {
        if (browser.Browser.MacOSPlatform && this.control.commandManager.clipboardTimerId !== null) {
            setTimeout(() => {
                clearTimeout(this.control.commandManager.clipboardTimerId);
                this.executeFinalAction();
            }, ClipboardCommand.additionalWaitingTimeForMac);
        }
    }
    getTimeout() {
        return browser.Browser.MacOSPlatform ? 300 : super.getTimeout();
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.copy) && !this.selection.isCollapsed();
    }
    isVisible() {
        return control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.copy);
    }
    getBuiltInClipboardActionType() {
        return BuiltInClipboardAction.Copy;
    }
    beforeExecute() {
        if (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.copy)) {
            super.beforeExecute();
            if (!this.isTouchMode())
                this.control.inputController.renderSelectionToEditableDocument();
        }
    }
    isEnabledInReadOnlyMode() {
        return true;
    }
}
class CutSelectionCommand extends ClipboardCommand {
    constructor(control) {
        super(control, "cut");
    }
    changeModel() {
        this.history.addTransaction(() => {
            const intervals = list.ListUtils.deepCopy(this.selection.intervalsInfo.intervals);
            list.ListUtils.reverseForEach(intervals, (interval) => this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.selection.activeSubDocument, interval), true, true));
            this.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.modelManipulator, this.selection, this.selection.getState(), this.selection.getState().setPosition(intervals[0].start)));
        });
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.cut) && !this.selection.isCollapsed();
    }
    isVisible() {
        return control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.cut);
    }
    getBuiltInClipboardActionType() {
        return BuiltInClipboardAction.Cut;
    }
    beforeExecute() {
        if (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.cut)) {
            super.beforeExecute();
            if (!this.isTouchMode())
                this.control.inputController.renderSelectionToEditableDocument();
        }
    }
}
class PasteSelectionCommand extends ClipboardCommand {
    constructor(control) {
        super(control, "paste");
    }
    getTimeout() {
        return browser.Browser.MacOSPlatform ? 300 : super.getTimeout();
    }
    pasteEventRaised() {
        if (browser.Browser.MacOSPlatform && this.control.commandManager.clipboardTimerId !== null) {
            setTimeout(() => {
                clearTimeout(this.control.commandManager.clipboardTimerId);
                this.executeFinalAction();
            }, ClipboardCommand.additionalWaitingTimeForMac);
        }
    }
    changeModel() {
        const elements = getHTMLElementsFromHtml(this.control.inputController, this.control.inputController.getEditableDocumentContent());
        if (!this.control.isLoadingPictureFromClipboard)
            this.control.importHtml(elements);
    }
    isEnabled() {
        return super.isEnabled() && control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paste);
    }
    isVisible() {
        return control/* ControlOptions */.tH.isVisible(this.control.modelManager.richOptions.control.paste) || this.isTouchMode();
    }
    getBuiltInClipboardActionType() {
        return BuiltInClipboardAction.Paste;
    }
    beforeExecute() {
        if (control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.paste)) {
            super.beforeExecute();
            if (!this.isTouchMode()) {
                var selection = browser.Browser.TouchUI ? window.getSelection() : this.control.inputController.getEditableDocument().getSelection();
                selection.removeAllRanges();
                var editableElement = this.control.inputController.getEditableDocument();
                selection.selectAllChildren(editableElement.body || editableElement);
            }
        }
    }
    isCommandSupported() {
        return browser.Browser.IE;
    }
}
class BuiltInClipboard {
    constructor(control) {
        this.control = control;
    }
    get clipboardData() { return this._clipboardData; }
    copy() {
        this._clipboardData = create_range_copy_operation/* RangeCopy */.H.create(this.control.selection.subDocumentIntervals);
    }
    paste() {
        if (this._clipboardData) {
            this.control.modelManager.modelManipulator.range.removeInterval(this.control.selection.subDocumentInterval, true, false);
            this._clipboardData.insertTo(this.control.modelManager.modelManipulator, this.control.selection.intervalsInfo.subDocPosition);
        }
    }
    cut() {
        this.control.modelManager.history.addTransaction(() => {
            this.copy();
            list.ListUtils.reverseForEach(this.control.selection.intervalsInfo.intervals, (interval) => this.control.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.control.selection.activeSubDocument, interval), true, true));
            this.control.modelManager.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.control.modelManager.modelManipulator, this.control.selection, this.control.selection.getState(), this.control.selection.getState()
                .setPosition(this.control.selection.intervalsInfo.intervals[0].start)));
        });
    }
}
class ClipboardHelper {
    constructor(control, useWithBuildInClipboard = false) {
        this.control = control;
        this.useWithBuildInClipboard = useWithBuildInClipboard;
    }
    get clipboard() {
        return navigator.clipboard;
    }
    canReadFromClipboard() {
        return !!(this.clipboard && (this.clipboard.read || this.clipboard.readText));
    }
    readFromClipboard() {
        if (this.clipboard.read)
            return this.clipboard.read().then(items => this.insertClipboardItems(items));
        else if (this.clipboard.readText)
            return this.clipboard.readText().then(text => this.insertPlainText(text));
        return Promise.reject(ClipboardHelper.browserDoesNotSupportReadingFromClipboard);
    }
    clearAfterImport() {
        const editableDocument = this.control.inputController.getEditableDocument();
        if (browser.Browser.TouchUI) {
            getSelection().removeAllRanges();
            dom.DomUtils.clearInnerHtml(browser.Browser.MSTouchUI ? editableDocument.body : editableDocument);
        }
        else {
            const selection = editableDocument.getSelection ?
                editableDocument.getSelection() :
                editableDocument.selection;
            if (selection.removeAllRanges)
                selection.removeAllRanges();
            else if (selection.empty)
                selection.empty();
            dom.DomUtils.clearInnerHtml(editableDocument.body);
        }
        if (!browser.Browser.TouchUI || browser.Browser.IE && browser.Browser.MSTouchUI)
            this.control.inputController.selectEditableDocumentContent();
        else
            getSelection().selectAllChildren(editableDocument);
    }
    insertClipboardItems(items) {
        for (let item of items) {
            if (list.ListUtils.anyOf(item.types, type => type === mime_type.HtmlMimeType))
                return this.insertClipboardItem(item, mime_type.HtmlMimeType, html => this.insertHtml(html));
            if (list.ListUtils.anyOf(item.types, type => type === mime_type.PlainTextMimeType))
                return this.insertClipboardItem(item, mime_type.PlainTextMimeType, text => this.insertPlainText(text));
        }
        return Promise.reject(ClipboardHelper.noDataInClipboardMessage);
    }
    insertClipboardItem(item, type, insert) {
        return __awaiter(this, void 0, void 0, function* () {
            const blob = yield item.getType(type);
            const text = yield this.readAsText(blob);
            return yield insert(text);
        });
    }
    insertPlainText(text) {
        return new Promise((resolve, reject) => {
            if (ClipboardHelper.lastWrittenTextHash === this.calculateHash(text))
                reject();
            ClipboardHelper.lastWrittenTextHash = -1;
            const command = new InsertPlainTextCommand(this.control);
            if (command.execute(false, new command_base/* CommandSimpleOptions */.LF(this.control, text)))
                resolve();
            else
                reject(ClipboardHelper.clipboardItemCannotBeInsertedMessage);
        });
    }
    insertHtml(html) {
        return new Promise((resolve, reject) => {
            try {
                this.control.beginUpdate();
                this.control.importHtml(getHTMLElementsFromHtml(this.control.inputController, html));
                this.clearAfterImport();
                this.control.endUpdate();
                resolve();
            }
            catch (_a) {
                reject(ClipboardHelper.clipboardItemCannotBeInsertedMessage);
            }
        });
    }
    tryWriteToClipboard(clipboardData) {
        return __awaiter(this, void 0, void 0, function* () {
            if (this.canWriteToClipboard())
                yield this.writeToClipboard(clipboardData);
        });
    }
    canWriteToClipboard() {
        var _a;
        return !!((_a = this.clipboard) === null || _a === void 0 ? void 0 : _a.write);
    }
    writeToClipboard(clipboardData) {
        ClipboardHelper.lastWrittenTextHash = -1;
        return new Promise((resolve, reject) => {
            const modelManager = this.createModelManager(clipboardData.model);
            const exporter = new TxtExporter(modelManager.modelManipulator, new options/* DocumentExporterOptions */.o());
            exporter.exportToBlob((blob) => __awaiter(this, void 0, void 0, function* () {
                let error = null;
                try {
                    const item = this.createClipboardItem(blob);
                    yield this.clipboard.write([item]);
                }
                catch (err) {
                    error = err;
                }
                if (this.useWithBuildInClipboard) {
                    const text = yield this.readAsText(blob);
                    ClipboardHelper.lastWrittenTextHash = this.calculateHash(text);
                }
                if (error)
                    reject(error);
                else
                    resolve();
            }));
        });
    }
    createClipboardItem(blob) {
        return new ClipboardItem({ 'text/plain': blob });
    }
    calculateHash(text) {
        let hash = 0;
        if (text.length === 0)
            return hash;
        for (let i = 0; i < text.length; i++) {
            hash = ((hash << 5) - hash) + text.charCodeAt(i);
            hash |= 0;
        }
        return hash;
    }
    readAsText(blob) {
        return blob.text();
    }
    createModelManager(model) {
        return new model_manager/* ClientModelManager */.wn(model, this.control.modelManager.richOptions, new batch_updatable/* EmptyBatchUpdatableObject */.m1());
    }
}
ClipboardHelper.browserDoesNotSupportReadingFromClipboard = 'The browser does not support reading from the clipboard.';
ClipboardHelper.noDataInClipboardMessage = 'There is no any supported data in the clipboard.';
ClipboardHelper.clipboardItemCannotBeInsertedMessage = 'The clipboard item cannot be inserted.';
ClipboardHelper.lastWrittenTextHash = -1;
class InsertHtmlCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const elements = getHTMLElementsFromHtml(this.control.inputController, options.param);
        this.history.addTransaction(() => {
            const charPropsBundle = this.inputPosition.charPropsBundle;
            this.modelManipulator.range.removeInterval(this.selection.subDocumentInterval, true, false);
            new html_importer/* HtmlImporter */.Vf(this.control.modelManager, this.control.measurer, this.selection.intervalsInfo.subDocPosition, elements, charPropsBundle).import();
        });
        this.control.inputController.setEditableDocumentContent("");
        return true;
    }
}
class InsertPlainTextCommand extends command_base/* CommandBase */.eK {
    getState() {
        return new command_states/* SimpleCommandState */.mh(this.isEnabled());
    }
    executeCore(_state, options) {
        const text = options.param;
        let result = false;
        const subDocument = this.selection.activeSubDocument;
        const position = this.selection.anchorPosition;
        const subDocumentPosition = new sub_document/* SubDocumentPosition */.rg(subDocument, position);
        const charPropsBundle = this.control.inputPosition.charPropsBundle;
        const parPropsBundle = this.control.inputPosition.parPropsBundle;
        this.history.addTransaction(() => {
            this.modelManipulator.range.removeInterval(this.selection.subDocumentInterval, true, false);
            new TxtImporter().importFromString(text, subDocument.documentModel.modelOptions, (model, _formatImagesImporter) => {
                new create_range_copy_operation/* RangeCopy */.H(model, false).insertTo(this.control.modelManager.modelManipulator, subDocumentPosition);
                result = true;
            }, (_reason) => {
                result = false;
            }, charPropsBundle, parPropsBundle);
        });
        return result;
    }
}
var BuiltInClipboardAction;
(function (BuiltInClipboardAction) {
    BuiltInClipboardAction[BuiltInClipboardAction["Copy"] = 0] = "Copy";
    BuiltInClipboardAction[BuiltInClipboardAction["Paste"] = 1] = "Paste";
    BuiltInClipboardAction[BuiltInClipboardAction["Cut"] = 2] = "Cut";
})(BuiltInClipboardAction || (BuiltInClipboardAction = {}));


/***/ }),

/***/ 5187:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   rT: function() { return /* binding */ DocumentFormat; }
/* harmony export */ });
/* unused harmony exports mimeTypeIntoDocumentFormat, documentFormatIntoMimeType */
/* harmony import */ var _devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4633);

var DocumentFormat;
(function (DocumentFormat) {
    DocumentFormat[DocumentFormat["Undefined"] = 0] = "Undefined";
    DocumentFormat[DocumentFormat["PlainText"] = 1] = "PlainText";
    DocumentFormat[DocumentFormat["Rtf"] = 2] = "Rtf";
    DocumentFormat[DocumentFormat["Html"] = 3] = "Html";
    DocumentFormat[DocumentFormat["OpenXml"] = 4] = "OpenXml";
    DocumentFormat[DocumentFormat["Mht"] = 5] = "Mht";
    DocumentFormat[DocumentFormat["WordML"] = 6] = "WordML";
    DocumentFormat[DocumentFormat["OpenDocument"] = 7] = "OpenDocument";
    DocumentFormat[DocumentFormat["ePub"] = 9] = "ePub";
    DocumentFormat[DocumentFormat["Doc"] = 10] = "Doc";
})(DocumentFormat || (DocumentFormat = {}));
const mimeTypeIntoDocumentFormat = {
    [_devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.OpenXml]: DocumentFormat.OpenXml,
    [_devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.Docm]: DocumentFormat.OpenXml,
    [_devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.Rtf]: DocumentFormat.Rtf,
    [_devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.PlainText]: DocumentFormat.PlainText,
    [_devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.Html]: DocumentFormat.Html,
};
const documentFormatIntoMimeType = {
    [DocumentFormat.OpenXml]: _devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.OpenXml,
    [DocumentFormat.Rtf]: _devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.Rtf,
    [DocumentFormat.PlainText]: _devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.PlainText,
    [DocumentFormat.Html]: _devexpress_utils_lib_utils_mime_type__WEBPACK_IMPORTED_MODULE_0__.DxMimeType.Html,
};


/***/ }),

/***/ 6258:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   x: function() { return /* binding */ DocumentImporterErrors; }
/* harmony export */ });
var DocumentImporterErrors;
(function (DocumentImporterErrors) {
    DocumentImporterErrors[DocumentImporterErrors["TxtFileReaderError"] = 0] = "TxtFileReaderError";
    DocumentImporterErrors[DocumentImporterErrors["TxtImportError"] = 1] = "TxtImportError";
    DocumentImporterErrors[DocumentImporterErrors["RtfFileReaderError"] = 2] = "RtfFileReaderError";
    DocumentImporterErrors[DocumentImporterErrors["RtfImportError"] = 3] = "RtfImportError";
    DocumentImporterErrors[DocumentImporterErrors["OpenXmlImportError"] = 4] = "OpenXmlImportError";
    DocumentImporterErrors[DocumentImporterErrors["HtmlFileReaderError"] = 5] = "HtmlFileReaderError";
    DocumentImporterErrors[DocumentImporterErrors["HtmlImportError"] = 6] = "HtmlImportError";
})(DocumentImporterErrors || (DocumentImporterErrors = {}));


/***/ }),

/***/ 611:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: function() { return /* binding */ FileNameHelper; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49);
/* harmony import */ var _document_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5187);


class FileNameHelper {
    constructor(fullPath, isPDF, documentFormat) {
        const pattern = _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__.StringUtils.trim(fullPath).replace(/\//g, "\\").match(/(.*?\\?)([^\\]*)(\..+?)$/i);
        this.isPDF = isPDF;
        this.folderPath = pattern ? FileNameHelper.normalizeVirtualFolderPath(pattern[1], false) : "";
        this.name = pattern ? pattern[2] : fullPath;
        this.extension = this.isPDF ? ".pdf" : (pattern ? pattern[3] : "");
        this.documentFormat = documentFormat ? documentFormat : FileNameHelper.convertToDocumentFormat(`.${this.extension}`);
    }
    getFullPath() {
        return this.folderPath + this.name + this.extension;
    }
    checkFileName() {
        if (this.name.length === 0)
            throw new Error("File name is not defined");
    }
    checkExtension() {
        if (this.extension.length === 0)
            throw new Error("File extension is not defined");
    }
    static normalizeVirtualFolderPath(folderPath, isNormalizePath) {
        if (isNormalizePath)
            folderPath = _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__.StringUtils.trim(folderPath).replace(/\//g, "\\");
        if (folderPath.length == 0 || folderPath == "\\")
            return "";
        return _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__.StringUtils.getSymbolFromEnd(folderPath, 1) == "\\" ? folderPath : folderPath + "\\";
    }
    static convertToDocumentFormat(fileName) {
        const fName = _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__.StringUtils.trim(fileName);
        if (FileNameHelper.testFormat(fName, "doc"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Doc;
        if (FileNameHelper.testFormat(fName, "epub"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.ePub;
        if (FileNameHelper.testFormat(fName, "html") || FileNameHelper.testFormat(fName, "htm"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Html;
        if (FileNameHelper.testFormat(fName, "mht"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Mht;
        if (FileNameHelper.testFormat(fName, "odt"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.OpenDocument;
        if (FileNameHelper.testFormat(fName, "docx"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.OpenXml;
        if (FileNameHelper.testFormat(fName, "txt"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.PlainText;
        if (FileNameHelper.testFormat(fName, "rtf"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Rtf;
        if (FileNameHelper.testFormat(fName, "xml"))
            return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.WordML;
        return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Undefined;
    }
    static convertToDocumentExtension(fileName) {
        const position = fileName.lastIndexOf('.');
        const extension = fileName.slice(position);
        const format = FileNameHelper.convertExtensionToDocumentFormat(extension);
        return format !== _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Undefined ? extension : '';
    }
    static convertExtensionToDocumentFormat(extension) {
        switch (extension.toLowerCase()) {
            case "doc":
            case ".doc": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Doc;
            case "epub":
            case ".epub": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.ePub;
            case "html":
            case ".html":
            case "htm":
            case ".htm": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Html;
            case "mht":
            case ".mht": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Mht;
            case "odt":
            case ".odt": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.OpenDocument;
            case "docx":
            case ".docx": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.OpenXml;
            case "txt":
            case ".txt": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.PlainText;
            case "rtf":
            case ".rtf": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Rtf;
            case "xml":
            case ".xml": return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.WordML;
            default: return _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Undefined;
        }
    }
    static convertToString(docFormat) {
        switch (docFormat) {
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Doc: return ".doc";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.ePub: return ".epub";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Html: return ".html";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Mht: return ".mht";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.OpenDocument: return ".odt";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.PlainText: return ".txt";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.Rtf: return ".rtf";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.WordML: return ".xml";
            case _document_format__WEBPACK_IMPORTED_MODULE_1__/* .DocumentFormat */ .rT.OpenXml: return ".docx";
            default: return "";
        }
    }
    static testFormat(fileName, extension) {
        return new RegExp(`.*\\.${extension}$`, "i").test(fileName);
    }
}


/***/ }),

/***/ 5365:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   C: function() { return /* binding */ HtmlBuilder; }
/* harmony export */ });
class HtmlBuilder {
    constructor() {
        this.childElements = [];
        this.callbacks = [];
    }
    getHtmlString(needDefaultMarkup = false) {
        const content = this.childElements.map(x => {
            if (typeof x === 'string')
                return x;
            return x.outerHTML;
        }).join('');
        return needDefaultMarkup ? this.addDefaultMarkup(content) : content;
    }
    isEmpty() {
        return this.callbacks.length === 0 && this.childElements.length === 0;
    }
    clear() {
        this._currentElement = null;
        this.callbacks = [];
        this.childElements = [];
        return this;
    }
    startChild(tagName, namespaceUri) {
        const element = (namespaceUri) ? document.createElementNS(namespaceUri, tagName) : document.createElement(tagName);
        if (this._currentElement)
            this._currentElement.appendChild(element);
        else {
            this.childElements.push(element);
        }
        this._currentElement = element;
        return this;
    }
    configure(config) {
        config(this._currentElement);
        return this;
    }
    addCallback(callback) {
        this.callbacks.push(callback);
    }
    assignFrom(builder) {
        if (!builder)
            return this;
        if (typeof builder === "string") {
            this.addElement(builder);
            return this;
        }
        builder.callbacks.forEach((callback) => {
            callback(this);
        });
        builder.childElements.forEach((el) => {
            this.addElement(el);
        });
        builder.clear();
        return this;
    }
    addElement(element) {
        if (!element)
            return this;
        if (!this._currentElement) {
            this.childElements.push(element);
            return this;
        }
        if (typeof element === 'string')
            this._currentElement.innerHTML += element;
        else if (this._currentElement)
            this._currentElement.appendChild(element);
        else
            this._currentElement = element;
        return this;
    }
    addBreak(cssText) {
        this.startChild('br');
        if (cssText)
            this.configure((el) => el.style.cssText = cssText);
        this.endChild('br');
        return this;
    }
    endChild(tagName) {
        try {
            let currentElement = this._currentElement;
            while (currentElement.tagName.toLowerCase() !== tagName.toLowerCase())
                currentElement = currentElement.parentElement;
            this._currentElement = currentElement.parentElement;
        }
        catch (e) {
            console.warn(`The element with the ${tagName} tag is not found.`);
        }
        return this;
    }
    addDefaultMarkup(content) {
        return '<!DOCTYPE html>' +
            '<html lang="en">' +
            '<head>' +
            '<meta charset="UTF-8">' +
            '<meta name="viewport" content="width=device-width, initial-scale=1.0">' +
            '</head>' +
            '<body>' +
            content +
            '</body>' +
            '</html>';
    }
}


/***/ }),

/***/ 1792:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  Vf: function() { return /* binding */ HtmlImporter; },
  OA: function() { return /* binding */ LevelInfo; }
});

// UNUSED EXPORTS: HtmlImportData

// EXTERNAL MODULE: ./src/common/utils/map-creator.ts
var map_creator = __webpack_require__(7156);
// EXTERNAL MODULE: ./src/common/layout-formatter/formatter/utils/columns-calculator.ts
var columns_calculator = __webpack_require__(8931);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/font-info-cache.ts + 1 modules
var font_info_cache = __webpack_require__(9467);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log.ts + 3 modules
var log = __webpack_require__(5580);
// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log-source.ts
var log_source = __webpack_require__(2343);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/dom.js
var dom = __webpack_require__(6907);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/measurer/measure-info.ts
var measure_info = __webpack_require__(7308);
// EXTERNAL MODULE: ./src/common/model/properties-merger/character-properties-merger.ts + 1 modules
var character_properties_merger = __webpack_require__(9250);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var string = __webpack_require__(49);
;// CONCATENATED MODULE: ./src/common/formats/html/import/containers/runs.ts






class RunInfo {
    constructor(runType, runLength, charPropsBundle) {
        this.runType = runType;
        this.runLength = runLength;
        this.charPropsBundle = charPropsBundle;
    }
}
class ImportedTextRunInfo extends RunInfo {
    constructor(model, measurer, text, charPropsBundle) {
        super(run_type/* RunType */.m.TextRun, text.length, charPropsBundle);
        this.text = this.replaceTabs(text, model, measurer, charPropsBundle.props);
        this.runLength = this.text.length;
    }
    replaceTabs(text, model, measurer, maskedCharacterProperties) {
        return text.replace(ImportedTextRunInfo.tabRegex, (str, _offset) => {
            const len = str.length;
            return len < 3 ?
                string.StringUtils.repeat(rich_utils/* RichUtils */.i.specialCharacters.Space, len) :
                string.StringUtils.repeat(rich_utils/* RichUtils */.i.specialCharacters.TabMark, this.numTabs(len, this.mergeCharProps(maskedCharacterProperties, model), measurer, model.defaultTabWidth));
        });
    }
    mergeCharProps(masked, model) {
        const merger = new character_properties_merger/* CharacterPropertiesMerger */.I();
        merger.mergeCharacterProperties(masked);
        merger.mergeCharacterProperties(model.defaultCharacterProperties);
        return merger.getMergedProperties();
    }
    numTabs(numSpaces, charProps, measurer, defaultTabInfo) {
        const spaces = string.StringUtils.repeat("&nbsp;", numSpaces);
        const info = new measure_info/* MeasureInfoNonText */.DA(spaces, charProps);
        measurer.measure([info]);
        return Math.max(1, Math.round(info.resultSize.width / unit_converter/* UnitConverter */.u.twipsToPixelsF(defaultTabInfo)));
    }
}
ImportedTextRunInfo.tabRegex = new RegExp(rich_utils/* RichUtils */.i.specialCharacters.NonBreakingSpace + "{1,}", "gi");
class ImportedParagraphListInfo {
    constructor(listIndex, listLevel, listFormat, listType, displayFormatString, maskedCharacterProperties) {
        this.listIndex = listIndex;
        this.listLevel = listLevel;
        this.listFormat = listFormat;
        this.listType = listType;
        this.displayFormatString = displayFormatString;
        this.maskedCharacterProperties = maskedCharacterProperties;
    }
}
class ImportedParagraphRunInfo extends RunInfo {
    constructor(listInfo, charPropsBundle, maskedParagraphProperties, tabs) {
        super(run_type/* RunType */.m.ParagraphRun, rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark.length, charPropsBundle);
        this.listInfo = listInfo;
        this.maskedParagraphProperties = maskedParagraphProperties;
        this.tabs = tabs;
    }
}
class ImportedInlinePictureRunInfo extends RunInfo {
    constructor(charPropsBundle, picInfo, actualSize) {
        super(run_type/* RunType */.m.InlinePictureRun, 1, charPropsBundle);
        this.picInfo = picInfo;
        this.actualSize = actualSize;
    }
}
class ImportedFieldCodeStartRunInfo extends RunInfo {
    constructor(charPropsBundle, hyperlinkInfo, id) {
        super(run_type/* RunType */.m.FieldCodeStartRun, rich_utils/* RichUtils */.i.specialCharacters.FieldCodeStartRun.length, charPropsBundle);
        this.hyperlinkInfo = hyperlinkInfo;
        this.id = id;
    }
}
class ImportedFieldCodeEndRunInfo extends RunInfo {
    constructor(charPropsBundle, id) {
        super(run_type/* RunType */.m.FieldCodeEndRun, rich_utils/* RichUtils */.i.specialCharacters.FieldCodeEndRun.length, charPropsBundle);
        this.id = id;
    }
}
class ImportedFieldResultEndRunInfo extends RunInfo {
    constructor(charPropsBundle, id) {
        super(run_type/* RunType */.m.FieldResultEndRun, rich_utils/* RichUtils */.i.specialCharacters.FieldResultEndRun.length, charPropsBundle);
        this.id = id;
    }
}

// EXTERNAL MODULE: ./src/common/model/character/history-runs.ts
var history_runs = __webpack_require__(7878);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/loader/image-loading-options.ts
var image_loading_options = __webpack_require__(4285);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level-properties.ts
var list_level_properties = __webpack_require__(4830);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list.ts
var numbering_list = __webpack_require__(3231);
// EXTERNAL MODULE: ./src/common/model/options/control.ts
var control = __webpack_require__(9147);
// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
// EXTERNAL MODULE: ./src/common/model/changes/sub-document/field/hyperlink-info-changed.ts
var hyperlink_info_changed = __webpack_require__(8193);
// EXTERNAL MODULE: ./src/common/model/changes/sub-document/field/inserted.ts
var inserted = __webpack_require__(3545);
// EXTERNAL MODULE: ./src/common/model/character/character-style.ts
var character_style = __webpack_require__(9915);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/history/base/interval-based-history-item.ts
var interval_based_history_item = __webpack_require__(9726);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/insert-paragraph-manipulator-params.ts
var insert_paragraph_manipulator_params = __webpack_require__(7970);
// EXTERNAL MODULE: ./src/common/model/tables/grid/grid-maker.ts + 1 modules
var grid_maker = __webpack_require__(2146);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
;// CONCATENATED MODULE: ./src/common/model/manipulators/tables/table-normalizator.ts





class TableNormalizator {
    constructor(table, setGridBefore, setGridAfter, setWidthBefore, setWidthAfter, setCellSpan, setVerticalMerging) {
        this.setGridBefore = setGridBefore;
        this.setGridAfter = setGridAfter;
        this.setWidthBefore = setWidthBefore;
        this.setWidthAfter = setWidthAfter;
        this.setCellSpan = setCellSpan;
        this.setVerticalMerging = setVerticalMerging;
        this.table = table;
        this.tableCellGridInfos = [];
        this.tableCellInfos = [];
        grid_maker/* GridMaker */.p.fillGridInfo(this.table, this.tableCellGridInfos, this.tableCellInfos);
    }
    normalizeAll() {
        this.transformTableToSquare();
        this.normalizeAllHorizontalSpans();
        this.normalizeWidthBeforeAfter();
        this.normalizeVerticalSpans();
        return this;
    }
    transformTableToSquare() {
        const rows = this.table.rows;
        const logicalCells = list.ListUtils.maxExtended(rows, (row) => row.getTotalCellsInRowConsiderGrid()).maxValue;
        for (let rowIndex = 0, row; row = rows[rowIndex]; rowIndex++)
            if (logicalCells != row.getTotalCellsInRowConsiderGrid())
                this.setGridAfter(this.table, rowIndex, logicalCells);
        return this;
    }
    normalizeAllHorizontalSpans() {
        const rowsIndexesInterval = new fixed.FixedInterval(0, this.tableCellGridInfos.length);
        for (let gridCellIndex = this.tableCellGridInfos[0].length - 2; gridCellIndex >= 0; --gridCellIndex) {
            if (list.ListUtils.allOfOnInterval(rowsIndexesInterval, (rowIndex) => {
                const info = this.tableCellGridInfos[rowIndex][gridCellIndex];
                return info ? gridCellIndex < info.getGridCellIndexEnd(this.table) - 1 : true;
            })) {
                list.ListUtils.forEachOnInterval(rowsIndexesInterval, (rowIndex) => {
                    const info = this.tableCellGridInfos[rowIndex][gridCellIndex];
                    if (info) {
                        const cellIndex = info.getCellIndexAbs(rowIndex);
                        this.setCellSpan(this.table, rowIndex, cellIndex, this.table.rows[rowIndex].cells[cellIndex].columnSpan - 1);
                    }
                    else {
                        const row = this.table.rows[rowIndex];
                        if (gridCellIndex < row.gridBefore)
                            this.setGridBefore(this.table, rowIndex, row.gridBefore - 1);
                        else
                            this.setGridAfter(this.table, rowIndex, row.gridAfter - 1);
                    }
                });
            }
        }
        return this;
    }
    normalizeWidthBeforeAfter() {
        const rows = this.table.rows;
        for (let rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) {
            TableNormalizator.setWidthBeforeAfter(this.table, rowIndex, row.gridBefore, row.widthBefore, this.setWidthBefore);
            TableNormalizator.setWidthBeforeAfter(this.table, rowIndex, row.gridAfter, row.widthAfter, this.setWidthAfter);
        }
    }
    normalizeVerticalSpans() {
        const rows = this.table.rows;
        list.ListUtils.forEach(rows, (row, rowIndex) => {
            list.ListUtils.forEach(row.cells, (cell, cellIndex) => {
                const info = this.tableCellInfos[rowIndex][cellIndex];
                const mustBe = info.getNumRowsInCell() == 1 ? table_base_structures/* TableCellMergingState */.Z3.None : (info.getStartRowIndex() == rowIndex ? table_base_structures/* TableCellMergingState */.Z3.Restart : table_base_structures/* TableCellMergingState */.Z3.Continue);
                if (cell.verticalMerging != mustBe)
                    this.setVerticalMerging(this.table, rowIndex, cellIndex, mustBe);
            });
        });
    }
    static setWidthBeforeAfter(table, rowIndex, gridNum, width, setWidth) {
        if (gridNum == 0 && (width.type != table_units/* TableWidthUnitType */.HO.Nil || width.value != 0))
            setWidth(table, rowIndex, table_units/* TableWidthUnit */.CT.createDefault());
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/text-manipulator/insert-text-manipulator-params.ts
var insert_text_manipulator_params = __webpack_require__(2598);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var main_structures_table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-cell.ts
var table_cell = __webpack_require__(8565);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-row.ts
var table_row = __webpack_require__(7509);
;// CONCATENATED MODULE: ./src/common/formats/html/model/history/paste-html-data-history-item.ts















class PasteHtmlDataHistoryItem extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, historyRuns, tablesInfo, charPropsBundle) {
        super(modelManipulator, subDocInterval);
        this.historyRuns = historyRuns;
        this.tablesInfo = tablesInfo;
        this.charPropsBundle = charPropsBundle;
    }
    redo() {
        this.insertRuns();
        this.insertTables();
    }
    undo() {
        for (let table of this.historyTables)
            this.modelManipulator.table.removeTable(this.boundSubDocument, table);
        this.modelManipulator.range.removeIntervalWithoutHistory(this.boundSubDocument, this.interval, false);
    }
    insertRuns() {
        const fields = this.boundSubDocument.fields;
        const fieldStackHistory = [];
        for (var historyRunIndex = 0, historyRun; historyRun = this.historyRuns[historyRunIndex]; historyRunIndex++) {
            switch (historyRun.type) {
                case run_type/* RunType */.m.ParagraphRun:
                    var historyRunParagraph = historyRun;
                    this.modelManipulator.paragraph.insertParagraphInner(new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(this.boundSubDocument, historyRunParagraph.offsetAtStartDocument), historyRunParagraph.charPropsBundle, historyRunParagraph.parPropsBundle, historyRunParagraph.applyDirectlyToNewParagraph, () => { }));
                    break;
                case run_type/* RunType */.m.InlinePictureRun:
                    const historyInlinePictureRun = historyRun;
                    this.modelManipulator.picture.insertInlinePictureInner(new sub_document/* SubDocumentPosition */.rg(this.boundSubDocument, historyInlinePictureRun.offsetAtStartDocument), historyInlinePictureRun.charPropsBundle, historyInlinePictureRun.picInfo, historyInlinePictureRun.options);
                    break;
                case run_type/* RunType */.m.FieldCodeStartRun:
                    fieldStackHistory.push(historyRun);
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(this.boundSubDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    break;
                case run_type/* RunType */.m.FieldResultEndRun:
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(this.boundSubDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    var histFieldCodeStartRun = fieldStackHistory.pop();
                    var fieldInsertIndex = 0;
                    if (fields.length > 0) {
                        fieldInsertIndex = Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(fields, histFieldCodeStartRun.startPosition + 1));
                        if (histFieldCodeStartRun.startPosition > fields[fieldInsertIndex].getFieldStartPosition())
                            fieldInsertIndex++;
                    }
                    var field = new fields_field/* Field */.gN(this.boundSubDocument.positionManager, fieldInsertIndex, histFieldCodeStartRun.startPosition, histFieldCodeStartRun.separatorPosition, histFieldCodeStartRun.endPosition, histFieldCodeStartRun.showCode, histFieldCodeStartRun.hyperlinkInfo ? histFieldCodeStartRun.hyperlinkInfo.clone() : undefined);
                    fields_field/* Field */.gN.addField(fields, field);
                    this.modelManipulator.notifyModelChanged(new inserted/* FieldInsertedSubDocumentChange */.s(this.boundSubDocument.id, histFieldCodeStartRun.startPosition, histFieldCodeStartRun.separatorPosition, histFieldCodeStartRun.endPosition));
                    if (histFieldCodeStartRun.hyperlinkInfo) {
                        let codeInterval = fixed.FixedInterval.fromPositions(histFieldCodeStartRun.startPosition + 1, histFieldCodeStartRun.separatorPosition);
                        let resultInterval = fixed.FixedInterval.fromPositions(histFieldCodeStartRun.separatorPosition + 1, histFieldCodeStartRun.endPosition - 1);
                        this.modelManipulator.notifyModelChanged(new hyperlink_info_changed/* HyperlinkInfoChangedSubDocumentChange */.a(this.boundSubDocument.id, resultInterval, codeInterval, histFieldCodeStartRun.hyperlinkInfo));
                        if (resultInterval.length)
                            this.modelManipulator.style.setCharacterStyle(this.boundSubDocument, resultInterval, this.boundSubDocument.documentModel.getCharacterStyleByName(character_style/* CharacterStyle */.H.hyperlinkStyleName), false);
                    }
                    break;
                default:
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(this.boundSubDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    break;
            }
        }
    }
    insertTables() {
        this.historyTables = [];
        for (let tableInfo of this.tablesInfo) {
            const table = new main_structures_table/* Table */.iA(tableInfo.properties, this.boundSubDocument.documentModel.getDefaultTableStyle());
            table.preferredWidth = tableInfo.width;
            for (let rowInfo of tableInfo.rows) {
                const row = new table_row/* TableRow */.S(table, this.boundSubDocument.documentModel.cache.tableRowPropertiesCache.getItem(rowInfo.properties));
                row.gridAfter = rowInfo.gridAfter;
                row.gridBefore = rowInfo.gridBefore;
                row.widthAfter = rowInfo.widthAfter;
                row.widthBefore = rowInfo.widthBefore;
                table.rows.push(row);
                for (let cellInfo of rowInfo.cells) {
                    const cell = new table_cell/* TableCell */.p(row, this.boundSubDocument.documentModel.cache.tableCellPropertiesCache.getItem(cellInfo.properties));
                    cell.preferredWidth = cellInfo.preferredWidth;
                    cell.startParagraphPosition = this.boundSubDocument.positionManager.registerPosition(cellInfo.startPosition);
                    cell.endParagrapPosition = this.boundSubDocument.positionManager.registerPosition(cellInfo.endPosition);
                    cell.columnSpan = cellInfo.columnSpan;
                    cell.verticalMerging = cellInfo.firstWhenVerticallyMerged ?
                        (cellInfo.rowSpan > 1 ? table_base_structures/* TableCellMergingState */.Z3.Restart : table_base_structures/* TableCellMergingState */.Z3.None) :
                        table_base_structures/* TableCellMergingState */.Z3.Continue;
                    row.cells.push(cell);
                }
            }
            const positionToPaste = tableInfo.rows[0].cells[0].startPosition;
            this.modelManipulator.table.pasteTable(this.boundSubDocument, table, positionToPaste);
            const insertedTable = main_structures_table/* Table */.iA.getTableByPosition(this.boundSubDocument.tables, positionToPaste, true);
            new TableNormalizator(insertedTable, (table, rowIndex, newValue) => table.rows[rowIndex].gridBefore = newValue, (table, rowIndex, newValue) => table.rows[rowIndex].gridAfter = newValue, (table, rowIndex, newValue) => table.rows[rowIndex].widthBefore = newValue, (table, rowIndex, newValue) => table.rows[rowIndex].widthAfter = newValue, (table, rowIndex, cellIndex, newValue) => table.rows[rowIndex].cells[cellIndex].columnSpan = newValue, (table, rowIndex, cellIndex, newValue) => table.rows[rowIndex].cells[cellIndex].verticalMerging = newValue)
                .normalizeAll();
            if (insertedTable)
                this.historyTables.push(insertedTable);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/html-model-inserter.ts












class HtmlModelInserter {
    get options() { return this.modelManager.richOptions.control; }
    ;
    get subDocument() { return this.subDocPos.subDocument; }
    ;
    constructor(modelManager, subDocPos, htmlData, charPropsBundle) {
        this.pastedListsIndices = {};
        this.fieldsMap = {};
        this.tableInfo = [];
        this.historyRuns = [];
        this.modelManager = modelManager;
        this.subDocPos = subDocPos;
        this.htmlData = htmlData;
        this.defaultMaskedParProps = this.subDocument.documentModel.defaultParagraphProperties.clone();
        this.defaultMaskedParProps.useValue = 0;
        this.defaultMaskedCharProps = this.subDocument.documentModel.defaultCharacterProperties.clone();
        this.defaultMaskedCharProps.resetAllUse();
        this.charPropsBundle = new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(control/* ControlOptions */.tH.isEnabled(this.options.characterFormatting) ?
            charPropsBundle.props :
            this.defaultMaskedCharProps.clone(), charPropsBundle.style);
        this.position = subDocPos.position;
        this.tableInfo = control/* ControlOptions */.tH.isEnabled(this.options.tables) ? htmlData.tablesInfo : [];
        if (!HtmlModelInserter.runConverterMap) {
            HtmlModelInserter.runConverterMap = {};
            HtmlModelInserter.runConverterMap[run_type/* RunType */.m.TextRun] = this.convertTextRun;
            HtmlModelInserter.runConverterMap[run_type/* RunType */.m.InlinePictureRun] = this.convertInlinePictureRun;
            HtmlModelInserter.runConverterMap[run_type/* RunType */.m.ParagraphRun] = this.convertParagraphRun;
            HtmlModelInserter.runConverterMap[run_type/* RunType */.m.FieldCodeStartRun] = this.convertFieldCodeStartRun;
            HtmlModelInserter.runConverterMap[run_type/* RunType */.m.FieldCodeEndRun] = this.convertFieldCodeEndRun;
            HtmlModelInserter.runConverterMap[run_type/* RunType */.m.FieldResultEndRun] = this.convertFieldResultEndRun;
        }
    }
    insert() {
        for (let runInfo of this.htmlData.runsInfo)
            this.position += HtmlModelInserter.runConverterMap[runInfo.runType].call(this, runInfo);
        const intervalToPasteIn = fixed.FixedInterval.fromPositions(this.subDocPos.position, this.position);
        this.modelManager.history.addTransaction(() => {
            this.modelManager.history.addAndRedo(new PasteHtmlDataHistoryItem(this.modelManager.modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.subDocPos.subDocument, intervalToPasteIn), this.historyRuns, this.tableInfo, this.charPropsBundle));
        });
        return fixed.FixedInterval.fromPositions(this.subDocPos.position, this.position);
    }
    convertTextRun(run) {
        let text = run.text;
        if (!control/* ControlOptions */.tH.isEnabled(this.options.tabSymbol))
            text = text.replace(/\t/gi, " ");
        if (this.options.tabMarker !== rich_utils/* RichUtils */.i.specialCharacters.TabMark)
            text = text.replace(/\t/gi, this.options.tabMarker);
        this.historyRuns.push(new history_runs/* HistoryRun */.Au(run_type/* RunType */.m.TextRun, run.charPropsBundle, this.position, text));
        return text.length;
    }
    convertInlinePictureRun(run) {
        if (!control/* ControlOptions */.tH.isEnabled(this.options.inlinePictures))
            return 0;
        this.historyRuns.push(new history_runs/* HistoryRunInlinePicture */.$o(this.position, run.charPropsBundle, run.picInfo, image_loading_options/* ImageLoadingOptions */.j.initByActualSize(run.actualSize)));
        return run.runLength;
    }
    convertParagraphRun(run) {
        if (!control/* ControlOptions */.tH.isEnabled(this.options.paragraphs))
            return 0;
        const listInfo = this.insertListInfo(run.listInfo);
        const maskedParagraphProperties = control/* ControlOptions */.tH.isEnabled(this.options.paragraphFormatting) ?
            run.maskedParagraphProperties :
            this.defaultMaskedParProps.clone();
        this.historyRuns.push(new history_runs/* HistoryRunParagraph */.U2(run.runType, run.charPropsBundle, new properties_bundle/* MaskedParagraphPropertiesBundleFull */.Us(maskedParagraphProperties, undefined, listInfo, run.tabs), this.position, rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark, true));
        return 1;
    }
    convertFieldCodeStartRun(run) {
        const hyperlinkInfo = run.hyperlinkInfo;
        if (!control/* ControlOptions */.tH.isEnabled(this.options.fields) || (hyperlinkInfo && !control/* ControlOptions */.tH.isEnabled(this.options.hyperlinks)))
            return 0;
        const historyRun = new history_runs/* HistoryRunFieldCodeStart */._r(run.runType, run.charPropsBundle, this.position, rich_utils/* RichUtils */.i.specialCharacters.FieldCodeStartRun, false, this.position, undefined, undefined, hyperlinkInfo);
        this.fieldsMap[run.id] = historyRun;
        this.historyRuns.push(historyRun);
        return 1;
    }
    convertFieldCodeEndRun(run) {
        const histRun = this.fieldsMap[run.id];
        if (!histRun)
            return 0;
        this.historyRuns.push(new history_runs/* HistoryRunFieldCodeEnd */.oh(run.runType, run.charPropsBundle, this.position, rich_utils/* RichUtils */.i.specialCharacters.FieldCodeEndRun));
        histRun.separatorPosition = this.position;
        return 1;
    }
    convertFieldResultEndRun(run) {
        const histRun = this.fieldsMap[run.id];
        if (!histRun)
            return 0;
        this.historyRuns.push(new history_runs/* HistoryRunFieldResultEnd */.tg(run.runType, run.charPropsBundle, this.position, rich_utils/* RichUtils */.i.specialCharacters.FieldResultEndRun));
        histRun.endPosition = this.position + 1;
        delete this.fieldsMap[run.id];
        return 1;
    }
    insertListInfo(listInfo) {
        const model = this.subDocument.documentModel;
        const modelManipulator = this.modelManager.modelManipulator;
        if (!listInfo ||
            !control/* ControlOptions */.tH.isEnabled(this.options.numberingBulleted) &&
                !control/* ControlOptions */.tH.isEnabled(this.options.numberingMultiLevel) &&
                !control/* ControlOptions */.tH.isEnabled(this.options.numberingSimple))
            return properties_bundle/* ParagraphListInfo */.QC.default;
        if (!control/* ControlOptions */.tH.isEnabled(this.options.numberingBulleted) && listInfo.listType === numbering_list/* NumberingType */.FB.Bullet) {
            var isNumberingSimpleEnabled = control/* ControlOptions */.tH.isEnabled(this.options.numberingSimple);
            listInfo.listType = isNumberingSimpleEnabled ? numbering_list/* NumberingType */.FB.Simple : numbering_list/* NumberingType */.FB.MultiLevel;
            listInfo.listFormat = list_level_properties/* NumberingFormat */.uV.Decimal;
            listInfo.displayFormatString = "";
        }
        if (!control/* ControlOptions */.tH.isEnabled(this.options.numberingSimple) && listInfo.listType === numbering_list/* NumberingType */.FB.Simple) {
            listInfo.listType = control/* ControlOptions */.tH.isEnabled(this.options.numberingBulleted) ? numbering_list/* NumberingType */.FB.Bullet : numbering_list/* NumberingType */.FB.MultiLevel;
            listInfo.displayFormatString = "";
        }
        if (!control/* ControlOptions */.tH.isEnabled(this.options.numberingMultiLevel) && listInfo.listType === numbering_list/* NumberingType */.FB.MultiLevel) {
            listInfo.listType = control/* ControlOptions */.tH.isEnabled(this.options.numberingBulleted) ? numbering_list/* NumberingType */.FB.Bullet : numbering_list/* NumberingType */.FB.Simple;
            listInfo.displayFormatString = "";
        }
        let targetListIndex = this.pastedListsIndices[listInfo.listIndex];
        if (targetListIndex === undefined) {
            const abstractNumberingList = new numbering_list/* AbstractNumberingList */.pC(model);
            const template = list.ListUtils.elementBy(model.abstractNumberingListTemplates, (tmpl) => tmpl.getListType() === listInfo.listType);
            if (template) {
                abstractNumberingList.copyFrom(template);
                const numberingList = new numbering_list/* NumberingList */.K6(model, modelManipulator.numberingList.addAbstractNumberingList(abstractNumberingList));
                targetListIndex = modelManipulator.numberingList.addNumberingList(numberingList);
                this.pastedListsIndices[listInfo.listIndex] = targetListIndex;
            }
        }
        if (targetListIndex === undefined)
            return properties_bundle/* ParagraphListInfo */.QC.default;
        const numberingListIndex = targetListIndex;
        const listLevelIndex = listInfo.listLevel;
        const listLevel = model.numberingLists[numberingListIndex].levels[listLevelIndex];
        modelManipulator.numberingList.listLevelProperties.format.setValue(model, false, targetListIndex, listLevelIndex, listInfo.listFormat);
        if (listInfo.displayFormatString) {
            modelManipulator.numberingList.listLevelProperties.displayFormatString.setValue(model, false, targetListIndex, listLevelIndex, listInfo.displayFormatString);
        }
        if (listInfo.maskedCharacterProperties) {
            listLevel.setCharacterProperties(listInfo.maskedCharacterProperties);
            listLevel.onCharacterPropertiesChanged();
        }
        return new properties_bundle/* ParagraphListInfo */.QC(numberingListIndex, listLevelIndex);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/base.ts

class HtmlTagImporterBase {
    get colorProvider() { return this.importer.modelManager.model.colorProvider; }
    constructor(importer) {
        this.enablePreserveLineBreaks = false;
        this.paragraphWasAddedBefore = false;
        this.importer = importer;
    }
    getClosestImporterByTagName(tagName) {
        return list.ListUtils.reverseElementBy(this.importer.levelInfo, (levelInfo) => levelInfo.tagImporter.elementTag() == tagName).tagImporter;
    }
    shouldPreserveLineBreaksOnChilds() {
        return false;
    }
    isAllowed() {
        return true;
    }
    addRun(run) {
        this.importer.addRun(run);
    }
    get element() {
        return this.importer.currElement;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/a.ts





class HtmlATagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "A";
    }
    importBefore() {
        const hyperlinkElement = this.element;
        if (!hyperlinkElement.href)
            return;
        const uriParts = hyperlinkElement.href.split("#");
        const hyperlinkInfo = new fields_field/* HyperlinkInfo */.AP(uriParts[0], uriParts.length > 1 ? uriParts[1] : "", hyperlinkElement.title, false);
        const codeText = [
            " HYPERLINK \"",
            hyperlinkInfo.uri,
            "\" ",
            hyperlinkInfo.tip == "" ? "" : "\\o \"" + hyperlinkInfo.tip + "\" ",
            hyperlinkInfo.anchor == "" ? "" : "\\l \"" + hyperlinkInfo.anchor + "\" "
        ].join("");
        this.addRun(new ImportedFieldCodeStartRunInfo(this.importer.charPropsBundle, hyperlinkInfo, this.importer.fieldsId));
        this.addRun(new ImportedTextRunInfo(this.importer.modelManager.model, this.importer.measurer, codeText, this.importer.htmlImporterMaskedCharacterProperties.getBundleFrom(this.element, new fixed.FixedInterval(this.importer.currPosition, codeText.length))));
        this.addRun(new ImportedFieldCodeEndRunInfo(this.importer.charPropsBundle, this.importer.fieldsId));
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
        if (!this.element.href)
            return;
        this.addRun(new ImportedFieldResultEndRunInfo(this.importer.charPropsBundle, this.importer.fieldsId));
        this.importer.fieldsId++;
    }
    isAllowed() {
        return control/* ControlOptions */.tH.isEnabled(this.importer.modelManager.richOptions.control.hyperlinks);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/b.ts

class HtmlBTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "B";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/br.ts




class HtmlBrTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "BR";
    }
    importBefore() {
        const breakChar = this.element.style.pageBreakBefore == "always" ?
            rich_utils/* RichUtils */.i.specialCharacters.PageBreak :
            rich_utils/* RichUtils */.i.specialCharacters.LineBreak;
        this.addRun(new ImportedTextRunInfo(this.importer.modelManager.model, this.importer.measurer, breakChar, this.importer.htmlImporterMaskedCharacterProperties.getBundleFrom(this.element, new fixed.FixedInterval(this.importer.currPosition, 1))));
    }
    isImportChildren() {
        return false;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/center.ts

class HtmlCenterTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "CENTER";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/cite.ts

class HtmlCiteTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "CITE";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/div.ts

class HtmlDivTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "DIV";
    }
    importBefore() {
        if (!this.importer.prevRunIsParagraph && this.importer.importStarted)
            this.importer.addParagraphRun(this.element);
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
        if (!this.importer.prevRunIsParagraph)
            this.importer.addParagraphRun(this.element);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/em.ts

class HtmlEmTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "EM";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/i.ts

class HtmlITagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "I";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.ts
var insert_picture_manipulator_params = __webpack_require__(4990);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/size.js
var size = __webpack_require__(6353);
;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/img.ts





class HtmlImgTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "IMG";
    }
    importBefore() {
        const imageElement = this.importer.currElement;
        const originalSize = new size.Size(imageElement.naturalWidth, imageElement.naturalHeight);
        const styleSize = new size.Size(parseFloat(imageElement.style.width), parseFloat(imageElement.style.height));
        const actualSize = new size.Size(imageElement.width || styleSize.width, imageElement.height || styleSize.height);
        if (originalSize.width !== undefined && originalSize.height !== undefined)
            originalSize.applyConverter(unit_converter/* UnitConverter */.u.pixelsToTwips);
        if (actualSize.width !== undefined && actualSize.height !== undefined)
            actualSize.applyConverter(unit_converter/* UnitConverter */.u.pixelsToTwips);
        const cacheInfo = this.importer.modelManager.model.cache.imageCache.createUnloadedByBase64OrUrl(imageElement.src, originalSize);
        this.addRun(new ImportedInlinePictureRunInfo(this.importer.charPropsBundle, insert_picture_manipulator_params/* InlinePictureInfo */.AT.defaultInfo(cacheInfo), actualSize));
    }
    isImportChildren() {
        return false;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/li.ts



class HtmlLiTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return 'LI';
    }
    importBefore() {
        const firstChild = this.element.childNodes[0];
        this.element.innerHTML = this.element.innerHTML.trim();
        if (this.isListElement(firstChild))
            this.importer.addParagraphRun(this.element, this.importer.currListInfo);
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
        const lastChild = list.ListUtils.last([...this.element.childNodes]);
        if (!this.importer.prevRunIsParagraph && !this.isListElement(lastChild))
            this.importer.addParagraphRun(this.element, this.importer.currListInfo);
    }
    isListElement(elem) {
        const tagName = LevelInfo.getElementTag(elem);
        return tagName === 'OL' || tagName === 'UL';
    }
}

// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/borders/enums.ts
var enums = __webpack_require__(4265);
// EXTERNAL MODULE: ./src/common/model/color/color.ts
var color_color = __webpack_require__(7217);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/color.js
var utils_color = __webpack_require__(13);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
;// CONCATENATED MODULE: ./src/common/formats/html/import/utils/utils.ts










class HtmlImportUtils {
    static getTableWidthUnit(stringValue) {
        if (!stringValue)
            return null;
        const unitTypeMatches = stringValue.match(/(px|in|cm|mm|pt|pc|em|ex|%)/g);
        const unitType = unitTypeMatches ? unitTypeMatches[0] : "px";
        const numberValue = parseFloat(stringValue.replace(unitType, ''));
        if (isNaN(numberValue))
            return null;
        switch (unitType) {
            case "%":
                return new table_units/* TableWidthUnit */.CT().init(numberValue * table_units/* TableWidthUnit */.CT.MULTIPLIER_FOR_PERCENTS, table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent);
            case "px":
                return new table_units/* TableWidthUnit */.CT().init(unit_converter/* UnitConverter */.u.pixelsToTwips(numberValue), table_units/* TableWidthUnitType */.HO.ModelUnits);
            case "in":
                return new table_units/* TableWidthUnit */.CT().init(unit_converter/* UnitConverter */.u.inchesToTwips(numberValue), table_units/* TableWidthUnitType */.HO.ModelUnits);
            case "cm":
                return new table_units/* TableWidthUnit */.CT().init(unit_converter/* UnitConverter */.u.centimetersToTwips(numberValue), table_units/* TableWidthUnitType */.HO.ModelUnits);
            case "mm":
                return new table_units/* TableWidthUnit */.CT().init(unit_converter/* UnitConverter */.u.centimetersToTwips(numberValue) * 10, table_units/* TableWidthUnitType */.HO.ModelUnits);
            case "pt":
                return new table_units/* TableWidthUnit */.CT().init(unit_converter/* UnitConverter */.u.pointsToTwips(numberValue), table_units/* TableWidthUnitType */.HO.ModelUnits);
            case "pc":
                return new table_units/* TableWidthUnit */.CT().init(unit_converter/* UnitConverter */.u.picasToTwips(numberValue), table_units/* TableWidthUnitType */.HO.ModelUnits);
            case "em":
            case "ex":
            default:
                return new table_units/* TableWidthUnit */.CT().init(0, table_units/* TableWidthUnitType */.HO.Nil);
        }
    }
    static getValueInTwips(stringValue) {
        const result = HtmlImportUtils.getTableWidthUnit(stringValue);
        if (result === null)
            return null;
        if (result.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
            return result.value;
        return 0;
    }
    static getBorderInfo(colorProvider, borderWidth, borderStyle, borderColor) {
        if ((!borderWidth || !borderWidth.length) && (!borderStyle || !borderStyle.length) && (!borderColor || !borderColor.length))
            return null;
        const border = new border_info/* BorderInfo */.H();
        const width = this.getTableWidthUnit(borderWidth);
        if (width != null && width.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
            border.width = width.value;
        border.style = HtmlImportUtils.MapBorderStyleToType[borderStyle];
        if (border.style === undefined)
            border.style = enums/* BorderLineStyle */.u.None;
        const color = utils_color/* ColorUtils */.i.fromString(borderColor);
        if (color != null)
            border.color = colorProvider.getModelColorFromRgba(color == color_color/* ColorHelper */.v.BLACK_COLOR ? 0 : color);
        return border;
    }
    static importBorder(colorProvider, props, borders, mask, setBorder, borderWidth, borderStyle, borderColor) {
        let borderInfo = HtmlImportUtils.getBorderInfo(colorProvider, borderWidth, borderStyle, borderColor);
        if (borderInfo) {
            setBorder(borders, borderInfo.clone());
            props.setUseValue(mask, borderInfo.style != enums/* BorderLineStyle */.u.None);
        }
    }
    static setBorders(colorProvider, props, borders, style, topMask, rightMask, bottomMask, leftMask) {
        HtmlImportUtils.importBorder(colorProvider, props, borders, topMask, (brds, brd) => brds.top = brd, style.borderTopWidth, style.borderTopStyle, style.borderTopColor);
        HtmlImportUtils.importBorder(colorProvider, props, borders, rightMask, (brds, brd) => brds.right = brd, style.borderRightWidth, style.borderRightStyle, style.borderRightColor);
        HtmlImportUtils.importBorder(colorProvider, props, borders, bottomMask, (brds, brd) => brds.bottom = brd, style.borderBottomWidth, style.borderBottomStyle, style.borderBottomColor);
        HtmlImportUtils.importBorder(colorProvider, props, borders, leftMask, (brds, brd) => brds.left = brd, style.borderLeftWidth, style.borderLeftStyle, style.borderLeftColor);
    }
    static getPropertyByMap(map, elementBy, defaultValue) {
        const mappedElement = map[elementBy];
        return mappedElement !== undefined ? mappedElement : defaultValue;
    }
    static getLineSpacing(value, lineHeightRule = '') {
        if (value.toLowerCase() === 'normal')
            return paragraph_properties/* LineSpacingUnit */.Bz.createSingle();
        if (/^\d+(\.\d+)?$/.test(value)) {
            const numberValue = parseFloat(value);
            switch (numberValue) {
                case 1:
                    return paragraph_properties/* LineSpacingUnit */.Bz.createSingle();
                case 1.5:
                    return paragraph_properties/* LineSpacingUnit */.Bz.createSesquialteral();
                case 2:
                    return paragraph_properties/* LineSpacingUnit */.Bz.createDouble();
                default:
                    return paragraph_properties/* LineSpacingUnit */.Bz.createMultiple(numberValue);
            }
        }
        const height = HtmlImportUtils.getTableWidthUnit(value);
        if (height == null)
            return HtmlImportUtils.getLineSpacingAsMultiple(parseFloat(value));
        switch (height.type) {
            case table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent:
                return this.getLineSpacingAsMultiple(height.value / table_units/* TableWidthUnit */.CT.MAX_PERCENT_WIDTH);
            case table_units/* TableWidthUnitType */.HO.ModelUnits:
                if (lineHeightRule === 'exactly')
                    return paragraph_properties/* LineSpacingUnit */.Bz.createExactly(height.value);
                else
                    return paragraph_properties/* LineSpacingUnit */.Bz.createAtLeast(height.value);
            case table_units/* TableWidthUnitType */.HO.Nil:
            case table_units/* TableWidthUnitType */.HO.Auto:
                return paragraph_properties/* LineSpacingUnit */.Bz.createSingle();
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    static getLineSpacingAsMultiple(multipleValue) {
        if (!multipleValue || isNaN(multipleValue))
            return paragraph_properties/* LineSpacingUnit */.Bz.createSingle();
        if (math.MathUtils.numberCloseTo(multipleValue, 1))
            return paragraph_properties/* LineSpacingUnit */.Bz.createSingle();
        else if (math.MathUtils.numberCloseTo(multipleValue, 1.5))
            return paragraph_properties/* LineSpacingUnit */.Bz.createSesquialteral();
        else if (math.MathUtils.numberCloseTo(multipleValue, 2))
            return paragraph_properties/* LineSpacingUnit */.Bz.createDouble();
        else
            return paragraph_properties/* LineSpacingUnit */.Bz.createMultiple(multipleValue);
    }
}
HtmlImportUtils.MapBorderStyleToType = new map_creator/* MapCreator */.M()
    .add("dashed", enums/* BorderLineStyle */.u.Dashed)
    .add("dotted", enums/* BorderLineStyle */.u.Dotted)
    .add("double", enums/* BorderLineStyle */.u.Double)
    .add("inset", enums/* BorderLineStyle */.u.Inset)
    .add("outset", enums/* BorderLineStyle */.u.Outset)
    .add("solid", enums/* BorderLineStyle */.u.Single)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/html/import/utils/paragraph-list-properties-utils.ts








class ParagraphListPropertiesUtils {
    constructor(importer, htmlImporterMaskedCharacterProperties) {
        this.htmlImporterMaskedCharacterProperties = htmlImporterMaskedCharacterProperties;
        this.importer = importer;
    }
    import(element, interval) {
        this.listItemElement = dom.DomUtils.getParentByTagName(element, "LI");
        this.msoListAttr = element.outerHTML.match(/mso-list:\s*\w*\s*level[^ ]/gi);
        if (!this.listItemElement && !this.msoListAttr)
            return null;
        this.parentListElement = this.listItemElement ? ParagraphListPropertiesUtils.getParentListElement(this.listItemElement) : null;
        if (!this.parentListElement)
            return null;
        const listIndex = this.importListIndex();
        const listLevelIndex = this.importListLevelIndex();
        let listFormat;
        let displayFormatString;
        let maskedCharacterProperties;
        if (this.listItemElement) {
            listFormat = this.importListFormatByListItemElement();
            displayFormatString = this.importDisplayFormatStringByParentListElement(listFormat, listLevelIndex);
            maskedCharacterProperties = null;
        }
        else {
            const listTextElement = ParagraphListPropertiesUtils.getListTextElement(element);
            const listText = ParagraphListPropertiesUtils.getListText(listTextElement);
            listFormat = ParagraphListPropertiesUtils.importListFormatByReserveWay(listText);
            displayFormatString = ParagraphListPropertiesUtils.importDisplayFormatStringByReserveWay(listFormat, listLevelIndex, listText);
            maskedCharacterProperties = this.htmlImporterMaskedCharacterProperties.import(listTextElement, interval, this.importer.charPropsBundle.props);
            ParagraphListPropertiesUtils.removeSomeHtml(element, listTextElement, listText);
        }
        return new ImportedParagraphListInfo(listIndex, listLevelIndex, listFormat, listFormat == list_level_properties/* NumberingFormat */.uV.Bullet ? numbering_list/* NumberingType */.FB.Bullet : numbering_list/* NumberingType */.FB.MultiLevel, displayFormatString, maskedCharacterProperties);
    }
    importListIndex() {
        if (this.msoListAttr && this.msoListAttr.length)
            return parseInt(this.msoListAttr[0].replace(/mso-list:\s*[A-Za-z]*(\d*)[\s\S]*/gi, '$1'));
        const mainParentListElement = this.getMainParentListElement();
        if (!mainParentListElement)
            return 0;
        const lists = dom.DomUtils.getChildNodes(mainParentListElement.parentNode, (e) => {
            return e.tagName == "UL" || e.tagName == "OL";
        });
        return list.ListUtils.accumulate(lists, 0, (acc, list, index) => acc + (list == mainParentListElement ? index : 0));
    }
    importListLevelIndex() {
        var _a;
        if (this.msoListAttr && this.msoListAttr.length)
            return parseInt(this.msoListAttr[0].replace(/mso-list:\s*\w*\s*level/gi, '')) - 1;
        let listLevelIndex = 0;
        let parentListItemElement = ParagraphListPropertiesUtils.getParentListElement((_a = this.parentListElement) === null || _a === void 0 ? void 0 : _a.parentElement);
        while (parentListItemElement) {
            listLevelIndex++;
            parentListItemElement = ParagraphListPropertiesUtils.getParentListElement(parentListItemElement === null || parentListItemElement === void 0 ? void 0 : parentListItemElement.parentElement);
        }
        return listLevelIndex;
    }
    importListFormatByListItemElement() {
        return ParagraphListPropertiesUtils.getListType(this.parentListElement);
    }
    static importListFormatByReserveWay(listText) {
        if (!listText)
            return list_level_properties/* NumberingFormat */.uV.None;
        const encodedIndexText = encodeURI(listText);
        if (listText == "o" || encodedIndexText.indexOf("%B7") > -1 || encodedIndexText.indexOf("%A7") > -1)
            return list_level_properties/* NumberingFormat */.uV.Bullet;
        if (/^(IX|IV|V?I{1,3})/.test(listText))
            return list_level_properties/* NumberingFormat */.uV.UpperRoman;
        if (/^(ix|iv|v?i{1,3})/.test(listText))
            return list_level_properties/* NumberingFormat */.uV.LowerRoman;
        if (/[0-9]/.test(listText))
            return list_level_properties/* NumberingFormat */.uV.Decimal;
        if (/[a-z]/.test(listText))
            return list_level_properties/* NumberingFormat */.uV.LowerLetter;
        if (/[A-Z]/.test(listText))
            return list_level_properties/* NumberingFormat */.uV.UpperLetter;
        return list_level_properties/* NumberingFormat */.uV.None;
    }
    importDisplayFormatStringByParentListElement(listFormat, listLevelIndex) {
        const listElementParentList = ParagraphListPropertiesUtils.getParentListElement(this.parentListElement.parentNode);
        if (listElementParentList) {
            const parentListFormat = ParagraphListPropertiesUtils.getListType(listElementParentList);
            return ParagraphListPropertiesUtils.importDisplayFormatStringByParentListFormat(listFormat, parentListFormat, listLevelIndex);
        }
        return "";
    }
    static importDisplayFormatStringByParentListFormat(listFormat, parentListFormat, listLevelIndex) {
        if (parentListFormat && listFormat != parentListFormat)
            return "{" + listLevelIndex + "}";
        return "";
    }
    static importDisplayFormatStringByReserveWay(listFormat, listLevelIndex, listText) {
        if (listFormat == list_level_properties/* NumberingFormat */.uV.Bullet)
            return "";
        if (listText.indexOf(".") > -1)
            return list.ListUtils.accumulate(listText.split("."), "", (acc, listItem, listIndex) => listItem ? acc + "{" + listIndex + "}." : acc);
        const matches = listText.match(/^(\W?)(\w+)(\W?)/);
        return matches && matches.length > 2 ? matches[1] + "{" + listLevelIndex + "}" + matches[3] : listText.charAt(0);
    }
    getMainParentListElement() {
        let listElement = this.parentListElement ? this.parentListElement : null;
        let mainParentListElement = null;
        while (listElement) {
            mainParentListElement = listElement;
            listElement = ParagraphListPropertiesUtils.getParentListElement(listElement.parentNode);
        }
        return mainParentListElement;
    }
    static getListType(listElement) {
        return HtmlImportUtils.getPropertyByMap(ParagraphListPropertiesUtils.MapListTypeToType, dom.DomUtils.getCurrentStyle(listElement).listStyleType, list_level_properties/* NumberingFormat */.uV.None);
    }
    static getListTextElement(element) {
        const ignoreElements = dom.DomUtils.getNodes(element, (e) => { return e.outerHTML.match(/mso-list:Ignore/gi) != null; });
        let listTextElement = ignoreElements.length ? ignoreElements[0] : null;
        if (!listTextElement) {
            const whiteSpacesOnlyTextElements = dom.DomUtils.getNodes(element, (e) => dom.DomUtils.isTextNode(e) && e.nodeValue && !string.StringUtils.trim(e.nodeValue) ||
                e.textContent && !string.StringUtils.trim(e.textContent) ||
                e.innerText && !string.StringUtils.trim(e.innerText));
            listTextElement = whiteSpacesOnlyTextElements.length ? whiteSpacesOnlyTextElements[0].previousSibling : (element.firstChild);
        }
        return listTextElement;
    }
    static getListText(listTextElement) {
        return listTextElement ? string.StringUtils.trim((listTextElement.nodeValue || dom.DomUtils.getInnerText(listTextElement)).split(" ")[0]) : "";
    }
    static getParentListElement(element) {
        const targetElementTags = ['UL', 'OL'];
        const exceptionElementTags = ['BODY', 'DIV', 'P'];
        while (element = element === null || element === void 0 ? void 0 : element.parentElement) {
            if (exceptionElementTags.includes(element.tagName))
                return null;
            if (targetElementTags.includes(element.tagName))
                return element;
        }
        return null;
    }
    static removeSomeHtml(element, listTextElement, listText) {
        if (element.childNodes.length == 1)
            element.innerHTML = string.StringUtils.trimStart(element.innerHTML.replace(listText, ''));
        else {
            const listTextElementParent = listTextElement.parentNode;
            listTextElementParent.removeChild(listTextElement);
            listTextElementParent.innerHTML = listTextElementParent.innerHTML.replace(/^<([^\s>]+)(\s[^>]*)?>(\s|&nbsp;){2,}<\/\1>/g, '');
            if (listTextElement.parentNode != element)
                element.innerHTML = element.innerHTML.replace(/<([^\s>]+)(\s[^>]*)?><\/\1>/g, '');
        }
    }
}
ParagraphListPropertiesUtils.MapListTypeToType = new map_creator/* MapCreator */.M()
    .add("decimal", list_level_properties/* NumberingFormat */.uV.Decimal)
    .add("circle", list_level_properties/* NumberingFormat */.uV.Bullet)
    .add("disc", list_level_properties/* NumberingFormat */.uV.Bullet)
    .add("square", list_level_properties/* NumberingFormat */.uV.Bullet)
    .add("lower-alpha", list_level_properties/* NumberingFormat */.uV.LowerLetter)
    .add("lower-latin", list_level_properties/* NumberingFormat */.uV.LowerLetter)
    .add("upper-alpha", list_level_properties/* NumberingFormat */.uV.UpperLetter)
    .add("upper-latin", list_level_properties/* NumberingFormat */.uV.UpperLetter)
    .add("lower-roman", list_level_properties/* NumberingFormat */.uV.LowerRoman)
    .add("upper-roman", list_level_properties/* NumberingFormat */.uV.UpperRoman)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/list-base.ts






class HtmlListTagImporterBase extends HtmlTagImporterBase {
    constructor() {
        super(...arguments);
        this._ignored = false;
    }
    importBefore() {
        this.importer.addCurrLevelParagraphRunIfNeeded();
        const listIndex = this.importer.listIndex;
        const parentList = list.ListUtils.last(this.importer.listInfos);
        const listLevel = parentList ? parentList.listLevel + 1 : 0;
        if (listLevel === 9) {
            this._ignored = true;
            return;
        }
        const listFormat = ParagraphListPropertiesUtils.getListType(this.element);
        const displayFormat = ParagraphListPropertiesUtils.importDisplayFormatStringByParentListFormat(listFormat, parentList === null || parentList === void 0 ? void 0 : parentList.listFormat, listLevel);
        this.importer.listInfos.push(new ImportedParagraphListInfo(listIndex, listLevel, listFormat, listFormat == list_level_properties/* NumberingFormat */.uV.Bullet ? numbering_list/* NumberingType */.FB.Bullet : numbering_list/* NumberingType */.FB.MultiLevel, displayFormat, null));
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
        if (this._ignored)
            return;
        this.importer.listInfos.pop();
        const parentList = list.ListUtils.last(this.importer.listInfos);
        if (!parentList)
            this.importer.listIndex++;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/ol.ts

class HtmlOlTagImporter extends HtmlListTagImporterBase {
    elementTag() {
        return "OL";
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/p.ts




class HtmlPTagImporter extends HtmlTagImporterBase {
    constructor() {
        super(...arguments);
        this.listInfo = null;
        this.importChildren = false;
    }
    elementTag() {
        return "P";
    }
    importBefore() {
        this.importer.addCurrLevelParagraphRunIfNeeded();
        this.element.innerHTML = this.element.innerHTML.trim();
        let emptyParagraphMatches = this.element.outerHTML.match(/^<([^\s >]+)(\s[^>]*)?>&nbsp;<\/\1>/gi);
        if (!(emptyParagraphMatches === null || emptyParagraphMatches === void 0 ? void 0 : emptyParagraphMatches.length)) {
            this.listInfo = this.getListInfo();
            this.importChildren = true;
        }
    }
    isImportChildren() {
        return this.importChildren;
    }
    importAfter() {
        this.importer.addParagraphRun(this.element, this.listInfo);
    }
    getListInfo() {
        var _a, _b;
        if (!string.StringUtils.trim(dom.DomUtils.getInnerText(this.element)) || ((_b = (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.closest('ul,ol,li')) === null || _b === void 0 ? void 0 : _b.tagName) !== 'LI')
            return null;
        if (!this.importer.currListItemLevelInfo)
            return this.importer.paragraphListPropertiesUtils.import(this.element, new fixed.FixedInterval(this.importer.currPosition, 0));
        if (!this.importer.currListItemLevelInfo.tagImporter.paragraphWasAddedBefore)
            return this.importer.currListInfo;
        return null;
    }
}
class HtmlH1TagImporter extends HtmlPTagImporter {
    elementTag() {
        return "H1";
    }
}
class HtmlH2TagImporter extends HtmlPTagImporter {
    elementTag() {
        return "H2";
    }
}
class HtmlH3TagImporter extends HtmlPTagImporter {
    elementTag() {
        return "H3";
    }
}
class HtmlH4TagImporter extends HtmlPTagImporter {
    elementTag() {
        return "H4";
    }
}
class HtmlH5TagImporter extends HtmlPTagImporter {
    elementTag() {
        return "H5";
    }
}
class HtmlH6TagImporter extends HtmlPTagImporter {
    elementTag() {
        return "H6";
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/pre.ts

class HtmlPreTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "PRE";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
    shouldPreserveLineBreaksOnChilds() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/span.ts





class HtmlSpanTagImporter extends HtmlTagImporterBase {
    constructor() {
        super(...arguments);
        this.importChilds = true;
    }
    elementTag() {
        return "SPAN";
    }
    importBefore() {
        var _a, _b;
        const tabCountStr = (_b = (_a = this.element.getAttribute('style')) === null || _a === void 0 ? void 0 : _a.split(';').find(e => e.startsWith('mso-tab-count:'))) === null || _b === void 0 ? void 0 : _b.replace('mso-tab-count:', '');
        if (tabCountStr) {
            const count = parseInt(tabCountStr);
            this.importer.addRun(new ImportedTextRunInfo(this.importer.modelManager.model, this.importer.measurer, string.StringUtils.repeat(rich_utils/* RichUtils */.i.specialCharacters.TabMark, count), this.importer.htmlImporterMaskedCharacterProperties.getBundleFrom(this.element, new fixed.FixedInterval(this.importer.currPosition, count))));
            this.importChilds = false;
        }
    }
    isImportChildren() {
        return this.importChilds;
    }
    importAfter() {
    }
}

// EXTERNAL MODULE: ./src/common/model/color/color-model-info.ts
var color_model_info = __webpack_require__(4837);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-info.ts
var shading_info = __webpack_require__(3428);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-properties.ts + 1 modules
var table_properties = __webpack_require__(6537);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/attr.js
var attr = __webpack_require__(2217);
;// CONCATENATED MODULE: ./src/common/formats/html/import/containers/tables.ts



class TableInfo {
    constructor(width, properties, rows) {
        this.width = width;
        this.properties = properties;
        this.rows = rows;
        this.normalize();
    }
    get interval() {
        return fixed.FixedInterval.fromPositions(this.rows[0].cells[0].startPosition, list.ListUtils.last(list.ListUtils.last(this.rows).cells).endPosition);
    }
    normalize() {
        const minGridBefore = list.ListUtils.min(this.rows, row => row.gridBefore).gridBefore;
        if (minGridBefore > 0)
            list.ListUtils.forEach(this.rows, (row) => row.gridBefore -= minGridBefore);
        const minGridAfter = list.ListUtils.min(this.rows, row => row.gridAfter).gridAfter;
        if (minGridAfter > 0)
            list.ListUtils.forEach(this.rows, (row) => row.gridAfter -= minGridAfter);
        const maxCountLogicColumns = list.ListUtils.maxExtended(this.rows, (row) => row.countLogicColumns).maxValue;
        list.ListUtils.forEach(this.rows, (row) => {
            const rowCountLogicColumns = row.countLogicColumns;
            if (rowCountLogicColumns < maxCountLogicColumns) {
                const newGridAfter = maxCountLogicColumns - rowCountLogicColumns - row.gridAfter;
                if (newGridAfter) {
                    if (row.gridAfter == 0)
                        row.widthAfter = new table_units/* TableWidthUnit */.CT().init(0, table_units/* TableWidthUnitType */.HO.Auto);
                    row.gridAfter = newGridAfter;
                }
            }
        });
    }
}
class ImportedTableRowInfo {
    constructor(gridBefore, gridAfter, widthBefore, widthAfter, properties, cells) {
        this.gridBefore = gridBefore;
        this.gridAfter = gridAfter;
        this.widthBefore = widthBefore;
        this.widthAfter = widthAfter;
        this.properties = properties;
        this.cells = cells;
    }
    get countLogicColumns() {
        return this.gridBefore + this.gridAfter + list.ListUtils.accumulate(this.cells, 0, (acc, cell) => acc + cell.columnSpan);
    }
    getCellByColumnSpan(colSpan) {
        let currSpan = this.gridBefore;
        return list.ListUtils.elementBy(this.cells, (cell) => {
            if (new fixed.FixedInterval(currSpan, cell.columnSpan).contains(colSpan))
                return true;
            currSpan += cell.columnSpan;
            return false;
        });
    }
}
class ImportedTableCellInfo {
    constructor(preferredWidth, startPosition, endPosition, columnSpan, rowSpan, properties, firstWhenVerticallyMerged) {
        this.preferredWidth = preferredWidth;
        this.startPosition = startPosition;
        this.endPosition = endPosition;
        this.columnSpan = columnSpan;
        this.rowSpan = rowSpan;
        this.properties = properties;
        this.firstWhenVerticallyMerged = firstWhenVerticallyMerged;
    }
    clone() {
        return new ImportedTableCellInfo(this.preferredWidth, -1, -1, this.columnSpan, this.rowSpan, this.properties, this.firstWhenVerticallyMerged);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/table.ts












class HtmlTableTagImporter extends HtmlTagImporterBase {
    constructor() {
        super(...arguments);
        this.rows = [];
    }
    elementTag() {
        return HtmlTableTagImporter.tagName;
    }
    importBefore() {
        const lastTableInfo = list.ListUtils.last(this.importer.importedTablesInfo);
        if (lastTableInfo && list.ListUtils.last(list.ListUtils.last(lastTableInfo.rows).cells).endPosition == this.importer.currPosition ||
            !this.importer.prevRunIsParagraph)
            this.importer.addParagraphRun(this.element);
        list.ListUtils.last(this.importer.levelInfo).allowInsertRuns = false;
        this.element.innerHTML = this.element.innerHTML.replace(/<td([^>]*mso-cell-special:\s*placeholder[^>]*)>[\s\S]*?<\/td>/gi, "<td$1></td>");
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
        if (!this.element.rows.length)
            return;
        const tbl = new TableInfo(this.getTableWidth(), this.getTableProperties(this.colorProvider), this.rows);
        if (!(tbl.width.type == table_units/* TableWidthUnitType */.HO.ModelUnits && tbl.width.value > 0))
            if (!list.ListUtils.unsafeAnyOf(this.rows, (row) => list.ListUtils.unsafeAnyOf(row.cells, (cell) => cell.preferredWidth.type == table_units/* TableWidthUnitType */.HO.ModelUnits && cell.preferredWidth.value > 0))) {
                tbl.width.type = table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent;
                tbl.width.value = 100 * table_units/* TableWidthUnit */.CT.MULTIPLIER_FOR_PERCENTS;
            }
        this.importer.importedTablesInfo.push(tbl);
    }
    getTableProperties(colorProvider) {
        const tblProps = new table_properties/* TableProperties */.XK();
        tblProps.layoutType = table_base_structures/* TableLayoutType */.DX.Autofit;
        tblProps.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableLayout, true);
        const tableStyle = dom.DomUtils.getCurrentStyle(this.element);
        HtmlImportUtils.setBorders(colorProvider, tblProps, tblProps.borders, tableStyle, table_properties/* TablePropertiesMask */.r4.UseTopBorder, table_properties/* TablePropertiesMask */.r4.UseRightBorder, table_properties/* TablePropertiesMask */.r4.UseBottomBorder, table_properties/* TablePropertiesMask */.r4.UseLeftBorder);
        const tableMarginLeft = HtmlImportUtils.getTableWidthUnit(tableStyle.marginLeft);
        if (tableMarginLeft && tableMarginLeft.type != table_units/* TableWidthUnitType */.HO.Nil) {
            tblProps.indent = tableMarginLeft;
            tblProps.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableIndent, true);
        }
        if (tableStyle.borderSpacing && tableStyle.borderCollapse != "collapse") {
            const cellSpacing = HtmlImportUtils.getTableWidthUnit(tableStyle.borderSpacing.split(" ")[0]);
            if (cellSpacing && cellSpacing.type != table_units/* TableWidthUnitType */.HO.Nil) {
                tblProps.cellSpacing = cellSpacing;
                tblProps.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
            }
        }
        const tableBackgroundColor = utils_color/* ColorUtils */.i.fromString(tableStyle.backgroundColor);
        if (tableBackgroundColor) {
            tblProps.shadingInfo = shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(tableBackgroundColor));
            tblProps.setUseValue(table_properties/* TablePropertiesMask */.r4.UseShadingInfoIndex, true);
        }
        return tblProps;
    }
    getTableWidth() {
        let tableWidth = HtmlImportUtils.getTableWidthUnit(this.element.style.width || attr/* AttrUtils */.F.getElementAttribute(this.element, "width"));
        if (!tableWidth) {
            const parentCell = dom.DomUtils.getParentByTagName(this.element, "TD");
            if (parentCell)
                tableWidth = HtmlImportUtils.getTableWidthUnit(parentCell.style.width || attr/* AttrUtils */.F.getElementAttribute(parentCell, "width"));
        }
        return tableWidth ? tableWidth : new table_units/* TableWidthUnit */.CT().init(0, table_units/* TableWidthUnitType */.HO.Auto);
    }
}
HtmlTableTagImporter.tagName = "TABLE";

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/tbody.ts

class HtmlTbodyTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "TBODY";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/properties/table-cell-properties.ts + 1 modules
var table_cell_properties = __webpack_require__(2993);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-row-properties.ts
var table_row_properties = __webpack_require__(8222);
;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/tr.ts







class HtmlTrTagImporter extends HtmlTagImporterBase {
    constructor() {
        super(...arguments);
        this.cells = [];
    }
    elementTag() {
        return HtmlTrTagImporter.tagName;
    }
    importBefore() {
        this.rowElement = this.element;
        this.gridBeforeInfo = HtmlTrTagImporter.importGridBefore(this.rowElement);
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
        if (this.cells.length) {
            const tableImporter = this.getClosestImporterByTagName(HtmlTableTagImporter.tagName);
            HtmlTdTagImporter.addVerticalMergedCells(this.importer, tableImporter, this);
            const { gridAfter, widthAfter } = HtmlTrTagImporter.importGridAfter(this.rowElement);
            const props = new table_row_properties/* TableRowProperties */.A();
            tableImporter.rows.push(new ImportedTableRowInfo(this.gridBeforeInfo.gridBefore, gridAfter, this.gridBeforeInfo.widthBefore, widthAfter, props, this.cells));
        }
    }
    static importGridBefore(row) {
        let gridBefore = 0;
        let widthBefore = 0;
        const gridBeforeMatches = row.innerHTML.match(/^<td[^>]*mso-cell-special:\s*placeholder[^>]*><\/td>/gi);
        if (gridBeforeMatches && gridBeforeMatches.length) {
            const cellBeforeColSpan = gridBeforeMatches[0].replace(/<td[^>]*colspan="(\d+)"[^>]*><\/td>/gi, "$1");
            gridBefore = cellBeforeColSpan == gridBeforeMatches[0] ? 1 : parseInt(cellBeforeColSpan);
            const cellBeforeWidth = gridBeforeMatches[0].replace(/<td[^>]*width="(\d+)"[^>]*><\/td>/gi, "$1");
            widthBefore = cellBeforeWidth == gridBeforeMatches[0] ? 0 : unit_converter/* UnitConverter */.u.pixelsToTwips(parseFloat(cellBeforeWidth));
        }
        return { gridBefore: gridBefore, widthBefore: table_units/* TableWidthUnit */.CT.create(widthBefore, table_units/* TableWidthUnitType */.HO.ModelUnits) };
    }
    static importGridAfter(row) {
        let gridAfter = 0;
        let widthAfter = 0;
        const gridAfterMatches = row.innerHTML.match(/<td[^>]*mso-cell-special:\s*placeholder[^>]*><\/td>$/gi);
        if (gridAfterMatches && gridAfterMatches.length) {
            const cellAfterColSpan = gridAfterMatches[0].replace(/<td[^>]*colspan="(\d+)"[^>]*><\/td>/gi, "$1");
            gridAfter = cellAfterColSpan == gridAfterMatches[0] ? 1 : parseInt(cellAfterColSpan);
            const cellAfterWidth = gridAfterMatches[0].replace(/<td[^>]*width="(\d+)"[^>]*><\/td>/gi, "$1");
            widthAfter = cellAfterWidth == gridAfterMatches[0] ? 0 : unit_converter/* UnitConverter */.u.pixelsToTwips(parseFloat(cellAfterWidth));
        }
        return { gridAfter: gridAfter, widthAfter: table_units/* TableWidthUnit */.CT.create(widthAfter, table_units/* TableWidthUnitType */.HO.ModelUnits) };
    }
}
HtmlTrTagImporter.tagName = "TR";

// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/td.ts


















class HtmlTdTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "TD";
    }
    importBefore() {
        list.ListUtils.last(this.importer.levelInfo).allowInsertRuns = true;
        this.rowImporter = this.getClosestImporterByTagName(HtmlTrTagImporter.tagName);
        HtmlTdTagImporter.addVerticalMergedCells(this.importer, this.getClosestImporterByTagName(HtmlTableTagImporter.tagName), this.rowImporter);
        this.startPosition = this.importer.currPosition;
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
        const cell = this.element;
        const cellWidth = HtmlImportUtils.getTableWidthUnit(this.element.style.width || attr/* AttrUtils */.F.getElementAttribute(this.element, "width"));
        const preferredWidth = cellWidth ? cellWidth : new table_units/* TableWidthUnit */.CT().init(0, table_units/* TableWidthUnitType */.HO.Auto);
        const columnSpan = cell.colSpan > 1000 ? 1 : (cell.colSpan == 0 ? Number.MAX_VALUE : cell.colSpan);
        const rowSpan = cell.rowSpan == 0 ? Number.MAX_VALUE : cell.rowSpan;
        const cellStyle = dom.DomUtils.getCurrentStyle(cell);
        const props = new table_cell_properties/* TableCellProperties */.x0();
        this.importCellBorders(this.importer.modelManager.model.colorProvider, props, cellStyle);
        this.importMargins(props, cellStyle);
        this.setVerticalAlign(props, cellStyle);
        this.setBackgroungColor(props, cellStyle);
        const lastImportedRun = this.importer.getLastImportedRun();
        if (!lastImportedRun || !this.importer.prevRunIsParagraph ||
            this.importer.currPosition - lastImportedRun.runLength < this.startPosition) {
            this.importer.addParagraphRun(this.element, null, true);
        }
        this.rowImporter.cells.push(new ImportedTableCellInfo(preferredWidth, this.startPosition, this.importer.currPosition, columnSpan, rowSpan, props, true));
    }
    static addVerticalMergedCells(importer, tableImporter, rowImporter) {
        const prevRow = list.ListUtils.last(tableImporter.rows);
        if (!prevRow)
            return;
        let currColSpan = rowImporter.gridBeforeInfo.gridBefore +
            list.ListUtils.accumulate(rowImporter.cells, 0, (acc, cell) => acc + cell.columnSpan);
        while (true) {
            const prevRowImpCell = prevRow.getCellByColumnSpan(currColSpan);
            if (prevRowImpCell && prevRowImpCell.rowSpan > 1) {
                const impCell = prevRowImpCell.clone();
                impCell.rowSpan--;
                impCell.startPosition = importer.currPosition;
                impCell.endPosition = importer.currPosition + 1;
                impCell.firstWhenVerticallyMerged = false;
                rowImporter.cells.push(impCell);
                currColSpan += impCell.columnSpan;
                importer.addRun(new ImportedParagraphRunInfo(null, importer.charPropsBundle, new paragraph_properties/* MaskedParagraphProperties */.bq(), new paragraph_style/* TabProperties */.jy()), true);
            }
            else
                break;
        }
    }
    setBackgroungColor(props, cellStyle) {
        let cellBackgroundColor = utils_color/* ColorUtils */.i.fromString(cellStyle.backgroundColor);
        if (cellBackgroundColor) {
            props.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseShadingInfoIndex, true);
            props.shadingInfo = shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(cellBackgroundColor));
        }
    }
    setVerticalAlign(props, cellStyle) {
        const align = HtmlTdTagImporter.verticalAlignInfo[cellStyle.verticalAlign];
        if (align !== undefined) {
            props.verticalAlignment = align;
            props.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseVerticalAlignment, true);
        }
    }
    importCellBorders(colorProvider, props, cellStyle) {
        HtmlImportUtils.setBorders(colorProvider, props, props.borders, cellStyle, table_cell_properties/* TableCellPropertiesMask */.WO.UseTopBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseRightBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseBottomBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseLeftBorder);
    }
    importMargins(props, cellStyle) {
        this.importMargin(props, cellStyle.paddingTop, table_cell_properties/* TableCellPropertiesMask */.WO.UseTopMargin, (margins, value) => margins.top = value);
        this.importMargin(props, cellStyle.paddingRight, table_cell_properties/* TableCellPropertiesMask */.WO.UseRightMargin, (margins, value) => margins.right = value);
        this.importMargin(props, cellStyle.paddingBottom, table_cell_properties/* TableCellPropertiesMask */.WO.UseBottomMargin, (margins, value) => margins.bottom = value);
        this.importMargin(props, cellStyle.paddingLeft, table_cell_properties/* TableCellPropertiesMask */.WO.UseLeftMargin, (margins, value) => margins.left = value);
    }
    importMargin(props, value, mask, setMargin) {
        const margin = HtmlImportUtils.getTableWidthUnit(value);
        if (margin) {
            setMargin(props.cellMargins, margin);
            props.setUseValue(mask, true);
        }
    }
}
HtmlTdTagImporter.verticalAlignInfo = new map_creator/* MapCreator */.M()
    .add("bottom", table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom)
    .add("middle", table_base_structures/* TableCellVerticalAlignment */.Ad.Center)
    .add("top", table_base_structures/* TableCellVerticalAlignment */.Ad.Top)
    .get();
class HtmlThTagImporter extends HtmlTdTagImporter {
    elementTag() {
        return "TH";
    }
}

// EXTERNAL MODULE: ./src/common/utils/utils.ts
var utils = __webpack_require__(5929);
;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/text-node.ts






class HtmlTextNodeImporter extends HtmlTagImporterBase {
    elementTag() {
        return "TextNode";
    }
    importBefore() {
        let text = this.element.nodeValue || dom.DomUtils.getInnerText(this.element);
        if (!this.enablePreserveLineBreaks)
            text = text.replace(/\r\n|\r|\n/g, ' ');
        if (text && text.length) {
            if (/^ +$/.test(text) && this.element.parentNode && this.element.parentNode.tagName == "TD") {
                const parentLevel = this.importer.levelInfo[this.importer.levelInfo.length - 2];
                if (parentLevel.childElements[0] == this.element || list.ListUtils.last(parentLevel.childElements) == this.element) {
                    return;
                }
            }
            if (this.enablePreserveLineBreaks) {
                const lines = (0,utils/* splitByLines */.Ev)(text);
                for (let i = 0; i < lines.length; i++) {
                    if (lines[i].length) {
                        this.addRun(new ImportedTextRunInfo(this.importer.modelManager.model, this.importer.measurer, lines[i], this.importer.htmlImporterMaskedCharacterProperties.getBundleFrom(this.element, new fixed.FixedInterval(this.importer.currPosition, lines[i].length))));
                    }
                    if (i < lines.length - 1)
                        this.importer.addParagraphRun(this.element.parentElement || this.element.parentNode);
                }
            }
            else {
                this.addRun(new ImportedTextRunInfo(this.importer.modelManager.model, this.importer.measurer, text, this.importer.htmlImporterMaskedCharacterProperties.getBundleFrom(this.element, new fixed.FixedInterval(this.importer.currPosition, text.length))));
            }
        }
    }
    isImportChildren() {
        return false;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/tt.ts

class HtmlTtTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "TT";
    }
    importBefore() {
    }
    isImportChildren() {
        return true;
    }
    importAfter() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/ul.ts

class HtmlUlTagImporter extends HtmlListTagImporterBase {
    elementTag() {
        return "UL";
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/importers/undefined.ts



class HtmlUndefinedTagImporter extends HtmlTagImporterBase {
    elementTag() {
        return "NoTag";
    }
    importBefore() {
        log/* Log */.Z.print(log_source/* LogSource */.O.HtmlImporter, "HtmlUndefinedTagImporter.importBefore undefined tag", this.element);
    }
    isImportChildren() {
        return !!this.importer.currElementChildren.length;
    }
    importAfter() {
    }
}

// EXTERNAL MODULE: ./src/common/model/character/enums.ts
var character_enums = __webpack_require__(8579);
;// CONCATENATED MODULE: ./src/common/model/fonts/font-chooser.ts


class FontChooser {
    constructor(fontInfoCache) {
        this.fontInfoCache = fontInfoCache;
    }
    static isGenericFamily(family) {
        return !!FontChooser.genericFontFamilies[family];
    }
    chooseByCssString(cssString) {
        const cssFontFamilies = dom.DomUtils.getFontFamiliesFromCssString(cssString);
        if (cssFontFamilies.length == 0)
            return null;
        if (cssFontFamilies.length == 1 && FontChooser.isGenericFamily(cssFontFamilies[0]))
            return this.chooseGenericFont[cssFontFamilies[0]];
        const nameToFontInfosMap = {};
        this.fontInfoCache.forEach((fontInfo) => {
            const fontFamilies = fontInfo.getFontFamilies();
            for (let index = 0; index < fontFamilies.length; index++) {
                const fontFamily = fontFamilies[index];
                if (!FontChooser.isGenericFamily(fontFamily)) {
                    const items = nameToFontInfosMap[fontFamily] || (nameToFontInfosMap[fontFamily] = {});
                    items[index] = fontInfo;
                }
            }
        });
        for (let cssFontFamily of cssFontFamilies) {
            const priorityToFontInfoMap = nameToFontInfosMap[cssFontFamily];
            if (priorityToFontInfoMap) {
                const hightPriority = Object.keys(priorityToFontInfoMap)[0];
                return priorityToFontInfoMap[hightPriority];
            }
        }
        return null;
    }
    chooseGenericFont(fontFamily) {
        const genericFontFamily = FontChooser.genericFontFamilies[fontFamily];
        if (!fontFamily)
            return null;
        const foundByDirectName = this.fontInfoCache.findItemByPredicate(fontInfo => list.ListUtils.unsafeAnyOf(fontInfo.getFontFamilies(), fam => fam == genericFontFamily));
        if (foundByDirectName)
            return foundByDirectName;
        const foundByGenericName = this.fontInfoCache.findItemByPredicate(fontInfo => list.ListUtils.unsafeAnyOf(fontInfo.getFontFamilies(), fam => fam == fontFamily));
        if (foundByGenericName)
            return foundByGenericName;
        return null;
    }
}
FontChooser.genericFontFamilies = {
    "serif": "Times New Roman",
    "sans-serif": "Arial",
    "cursive": "Comic Sans MS",
    "fantasy": "Comic Sans MS",
    "monospace": "Courier New",
};

;// CONCATENATED MODULE: ./src/common/formats/html/import/load-font-info.ts
class LoadFontInfo {
    constructor(fontInfo, subDocument, applyNewFontOnIntervalsAfterLoad) {
        this.fontInfo = fontInfo;
        this.subDocument = subDocument;
        this.applyNewFontOnIntervalsAfterLoad = applyNewFontOnIntervalsAfterLoad;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/utils/font-utils.ts

class HtmlImporterFontUtils {
    static getFontSize(font, parentFont) {
        const fontSize = HtmlImporterFontUtils.getFontSizeCore(font);
        if (fontSize !== null)
            return fontSize;
        const parentFontSize = HtmlImporterFontUtils.getFontSizeCore(parentFont);
        const currentFontSize = parentFontSize !== null ? parentFontSize : 12;
        if (font.indexOf("em") > 0)
            return parseInt(font) * currentFontSize;
        if (font.indexOf("%") > 0)
            return parseInt(font) * currentFontSize / 100;
        return null;
    }
    static getFontSizeCore(font) {
        if (!font)
            return null;
        if (font.indexOf("px") > 0)
            return unit_converter/* UnitConverter */.u.pixelsToPoints(parseInt(font));
        if (font.indexOf("pt") > 0)
            return parseInt(font);
        return null;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/utils/character-properties-utils.ts










class HtmlImporterMaskedCharacterProperties {
    get model() { return this.importer.modelManager.model; }
    ;
    get controlOptions() { return this.importer.modelManager.richOptions.control; }
    ;
    constructor(importer, loadFontInfos, tempFontInfoCache, allowCreateNewFonts) {
        this.importer = importer;
        this.loadFontInfos = loadFontInfos;
        this.tempFontInfoCache = tempFontInfoCache;
        this.allowCreateNewFonts = allowCreateNewFonts;
    }
    getBundleFrom(element, interval) {
        return new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(this.import(element, interval, this.importer.charPropsBundle.props), this.importer.charPropsBundle.style);
    }
    import(element, interval, initialCharacterProperties) {
        this.initialCharacterProperties = initialCharacterProperties;
        this.result = initialCharacterProperties.clone();
        this.styledElement = dom.DomUtils.isHTMLElementNode(element) ? element : (element.parentElement || element.parentNode);
        if (this.styledElement !== element && this.styledElement.tagName.toUpperCase() == 'TD')
            return this.result;
        this.currentStyle = dom.DomUtils.getCurrentStyle(this.styledElement);
        if (!this.currentStyle)
            return this.result;
        this.importFontBold();
        this.importFontItalic();
        this.importAllCaps();
        this.importStrikeoutType();
        this.importUnderlineType();
        this.importForeColor();
        this.importBackColor();
        this.importFontInfo(interval);
        this.importFontSize();
        this.importHidden();
        this.importSuperscript();
        this.importSubscript();
        return this.result;
    }
    importFontBold() {
        switch (this.currentStyle.fontWeight) {
            case "bold":
            case "700":
                this.result.fontBold = true;
                this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseFontBold, true);
        }
    }
    importFontItalic() {
        if (this.currentStyle.fontStyle == "italic") {
            this.result.fontItalic = true;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseFontItalic, true);
        }
    }
    importAllCaps() {
        if (this.currentStyle.textTransform == "uppercase") {
            this.result.allCaps = true;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseAllCaps, true);
        }
    }
    importStrikeoutType() {
        if (/.*line-through.*/gi.test(this.currentStyle.textDecoration)) {
            this.result.fontStrikeoutType = character_enums/* StrikeoutType */.GO.Single;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseFontStrikeoutType, true);
        }
    }
    importUnderlineType() {
        if (/.*underline.*/gi.test(this.currentStyle.textDecoration)) {
            this.result.fontUnderlineType = character_enums/* UnderlineType */.Xq.Single;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseFontUnderlineType, true);
        }
    }
    importForeColor() {
        if (this.styledElement.style.color !== "") {
            const foreColor = utils_color/* ColorUtils */.i.fromString(this.currentStyle.color);
            if (foreColor != null) {
                this.result.textColor = color_model_info/* ColorModelInfo */.k.makeByColor(foreColor);
                this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseForeColorIndex, true);
            }
        }
    }
    importBackColor() {
        if (this.styledElement.style.backgroundColor !== "") {
            const backColor = utils_color/* ColorUtils */.i.fromString(this.currentStyle.backgroundColor);
            if (backColor) {
                this.result.shadingInfo = shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(backColor));
                this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseShadingInfoIndex, true);
                this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseHighlightColorIndex, false);
            }
        }
    }
    importFontInfo(interval) {
        if (this.styledElement.style.fontFamily) {
            const cssFontFamily = this.currentStyle.fontFamily;
            let fontInfo = new FontChooser(this.model.cache.fontInfoCache).chooseByCssString(cssFontFamily);
            if (!fontInfo) {
                if (control/* ControlOptions */.tH.isEnabled(this.controlOptions.characterFormatting) && this.allowCreateNewFonts) {
                    const fontName = dom.DomUtils.getFontFamiliesFromCssString(cssFontFamily)[0];
                    fontInfo = this.tempFontInfoCache.getItemByName(fontName);
                    if (!fontInfo) {
                        const sourceFont = this.initialCharacterProperties.fontInfo || this.model.defaultCharacterProperties.fontInfo;
                        fontInfo = sourceFont.clone();
                        fontInfo.name = fontName;
                        fontInfo.cssString = cssFontFamily;
                        this.tempFontInfoCache.getItem(fontInfo);
                    }
                    this.loadFontInfos.push(new LoadFontInfo(fontInfo, this.importer.subDocument, interval));
                }
                else
                    fontInfo = this.model.defaultCharacterProperties.fontInfo;
            }
            this.result.fontInfo = fontInfo;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseFontName, true);
        }
    }
    importFontSize() {
        if (this.styledElement.style.fontSize) {
            const parentCurrentStyle = dom.DomUtils.getCurrentStyle(this.styledElement.parentElement || this.styledElement.parentNode);
            const fontSize = HtmlImporterFontUtils.getFontSize(this.currentStyle.fontSize, parentCurrentStyle ? parentCurrentStyle.fontSize : null);
            if (fontSize != null && fontSize > 0) {
                this.result.fontSize = fontSize;
                this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseDoubleFontSize, true);
            }
        }
    }
    importHidden() {
        if (this.currentStyle.display == "none") {
            this.result.hidden = true;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseHidden, true);
        }
    }
    importSuperscript() {
        if (this.currentStyle.verticalAlign == "super") {
            this.result.script = character_enums/* CharacterFormattingScript */.Vg.Superscript;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseScript, true);
        }
    }
    importSubscript() {
        if (this.currentStyle.verticalAlign == "sub") {
            this.result.script = character_enums/* CharacterFormattingScript */.Vg.Subscript;
            this.result.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseScript, true);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/formats/html/import/utils/paragraph-properties-utils.ts









class HtmlImporterMaskedParagraphProperties {
    import(colorProvider, element, isTableCellTag = false) {
        this.result = new paragraph_properties/* MaskedParagraphProperties */.bq();
        this.element = element;
        this.elementStyle = element.style;
        const calculatedStyle = dom.DomUtils.getCurrentStyle(element);
        this.importAlignment();
        this.importFirstLineIndent();
        this.importLeftIndent();
        this.importRightIndent();
        this.importLineSpacing();
        this.importSpacingBefore();
        this.importSpacingAfter();
        this.importBackColor();
        if (!isTableCellTag) {
            this.importTopBorder(colorProvider, calculatedStyle);
            this.importRightBorder(colorProvider, calculatedStyle);
            this.importBottomBorder(colorProvider, calculatedStyle);
            this.importLeftBorder(colorProvider, calculatedStyle);
        }
        return this.result;
    }
    importAlignment() {
        let textAlign = this.elementStyle.textAlign;
        if (!textAlign || !textAlign.length) {
            const parentCell = dom.DomUtils.getParentByTagName(this.element, "TD");
            if (parentCell)
                textAlign = attr/* AttrUtils */.F.getElementAttribute(parentCell, "align");
        }
        this.result.alignment = HtmlImportUtils.getPropertyByMap(HtmlImporterMaskedParagraphProperties.MapAlignmentToType, textAlign, paragraph_properties/* ParagraphAlignment */.wq.Left);
        this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseAlignment, this.result.alignment != paragraph_properties/* ParagraphAlignment */.wq.Left);
    }
    importFirstLineIndent() {
        const firstLineIndent = HtmlImportUtils.getValueInTwips(this.elementStyle.textIndent);
        if (firstLineIndent != null && firstLineIndent != 0) {
            this.result.firstLineIndentType = firstLineIndent > 0 ? paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented : paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging;
            this.result.firstLineIndent = Math.abs(firstLineIndent);
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent, true);
        }
    }
    importLeftIndent() {
        const leftIndent = HtmlImportUtils.getValueInTwips(this.elementStyle.marginLeft);
        if (leftIndent != null && leftIndent >= 0) {
            this.result.leftIndent = leftIndent;
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseLeftIndent, true);
        }
    }
    importRightIndent() {
        const rightIndent = HtmlImportUtils.getValueInTwips(this.elementStyle.marginRight);
        if (rightIndent != null && rightIndent >= 0) {
            this.result.rightIndent = rightIndent;
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseRightIndent, true);
        }
    }
    importSpacingBefore() {
        const spacingBefore = HtmlImportUtils.getValueInTwips(this.elementStyle.marginTop);
        if (spacingBefore != null && spacingBefore >= 0) {
            this.result.spacingBefore = spacingBefore;
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseSpacingBefore, true);
        }
    }
    importSpacingAfter() {
        const spacingAfter = HtmlImportUtils.getValueInTwips(this.elementStyle.marginBottom);
        if (spacingAfter != null && spacingAfter >= 0) {
            this.result.spacingAfter = spacingAfter;
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseSpacingAfter, true);
        }
    }
    importBackColor() {
        if (this.element.style.backgroundColor !== "") {
            const backColor = utils_color/* ColorUtils */.i.fromString(this.element.style.backgroundColor);
            if (backColor) {
                this.result.shadingInfo = shading_info/* ShadingInfo */.g.createByColor(color_model_info/* ColorModelInfo */.k.makeByColor(backColor));
                this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseShadingInfoIndex, true);
            }
        }
    }
    importLineSpacing() {
        this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing, true);
        this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseBeforeAutoSpacing, true);
        this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseAfterAutoSpacing, true);
        const stringLineHeight = this.elementStyle.lineHeight;
        const lineHeightRule = this.elementStyle["mso-line-height-rule"];
        const lineSpacing = HtmlImportUtils.getLineSpacing(stringLineHeight, lineHeightRule);
        this.result.lineSpacing = lineSpacing.value;
        this.result.lineSpacingType = lineSpacing.type;
    }
    importTopBorder(colorProvider, calculatedStyle) {
        const borderTopInfo = HtmlImportUtils.getBorderInfo(colorProvider, calculatedStyle.borderTopWidth, calculatedStyle.borderTopStyle, calculatedStyle.borderTopColor);
        if (borderTopInfo) {
            this.result.topBorder.copyFrom(borderTopInfo);
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseTopBorder, borderTopInfo.style != enums/* BorderLineStyle */.u.None);
        }
    }
    importRightBorder(colorProvider, calculatedStyle) {
        const borderRightInfo = HtmlImportUtils.getBorderInfo(colorProvider, calculatedStyle.borderRightWidth, calculatedStyle.borderRightStyle, calculatedStyle.borderRightColor);
        if (borderRightInfo) {
            this.result.rightBorder.copyFrom(borderRightInfo);
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseRightBorder, borderRightInfo.style != enums/* BorderLineStyle */.u.None);
        }
    }
    importBottomBorder(colorProvider, calculatedStyle) {
        const borderBottomInfo = HtmlImportUtils.getBorderInfo(colorProvider, calculatedStyle.borderBottomWidth, calculatedStyle.borderBottomStyle, calculatedStyle.borderBottomColor);
        if (borderBottomInfo) {
            this.result.bottomBorder.copyFrom(borderBottomInfo);
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseBottomBorder, borderBottomInfo.style != enums/* BorderLineStyle */.u.None);
        }
    }
    importLeftBorder(colorProvider, calculatedStyle) {
        const borderLeftInfo = HtmlImportUtils.getBorderInfo(colorProvider, calculatedStyle.borderLeftWidth, calculatedStyle.borderLeftStyle, calculatedStyle.borderLeftColor);
        if (borderLeftInfo) {
            this.result.leftBorder.copyFrom(borderLeftInfo);
            this.result.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseLeftBorder, borderLeftInfo.style != enums/* BorderLineStyle */.u.None);
        }
    }
}
HtmlImporterMaskedParagraphProperties.MapAlignmentToType = new map_creator/* MapCreator */.M()
    .add("right", paragraph_properties/* ParagraphAlignment */.wq.Right)
    .add("justify", paragraph_properties/* ParagraphAlignment */.wq.Justify)
    .add("center", paragraph_properties/* ParagraphAlignment */.wq.Center)
    .get();

// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-tab-space-box.ts
var layout_tab_space_box = __webpack_require__(374);
;// CONCATENATED MODULE: ./src/common/formats/html/import/utils/tab-stops-utils.ts




class HtmlImporterTabStops {
    static import(element) {
        var _a, _b;
        const result = new paragraph_style/* TabProperties */.jy();
        const tabStops = (_b = (_a = element.getAttribute('style')) === null || _a === void 0 ? void 0 : _a.split(';').find(e => e.startsWith('tab-stops:'))) === null || _b === void 0 ? void 0 : _b.replace('tab-stops:', '');
        if (tabStops) {
            const tabStopsArr = tabStops.split(' ');
            for (let i = 0; i < tabStopsArr.length; i++) {
                let align = paragraph/* TabAlign */.K9.Left;
                let leaderType = layout_tab_space_box/* TabLeaderType */.LT.None;
                let parseResult = parseFloat(tabStopsArr[i]);
                while (isNaN(parseResult)) {
                    switch (tabStopsArr[i]) {
                        case 'right':
                            align = paragraph/* TabAlign */.K9.Right;
                            break;
                        case 'center':
                            align = paragraph/* TabAlign */.K9.Center;
                            break;
                        case 'decimal':
                            align = paragraph/* TabAlign */.K9.Decimal;
                            break;
                        case 'dotted':
                            leaderType = layout_tab_space_box/* TabLeaderType */.LT.Dots;
                            break;
                        case 'dashed':
                            leaderType = layout_tab_space_box/* TabLeaderType */.LT.Hyphens;
                            break;
                        case 'middot':
                            leaderType = layout_tab_space_box/* TabLeaderType */.LT.MiddleDots;
                            break;
                        case 'heavy':
                            leaderType = layout_tab_space_box/* TabLeaderType */.LT.ThickLine;
                            break;
                        case 'lined':
                            leaderType = layout_tab_space_box/* TabLeaderType */.LT.Underline;
                            break;
                    }
                    i++;
                    parseResult = parseFloat(tabStopsArr[i]);
                }
                const unitStr = tabStopsArr[i].substring(tabStopsArr[i].length - 2);
                let value;
                switch (unitStr) {
                    case 'pt':
                        value = unit_converter/* UnitConverter */.u.pointsToTwipsF(parseResult);
                        break;
                    case 'cm':
                        value = unit_converter/* UnitConverter */.u.centimetersToTwipsF(parseResult);
                        break;
                    case 'in':
                        value = unit_converter/* UnitConverter */.u.inchesToTwipsF(parseResult);
                        break;
                    case 'pc':
                        value = unit_converter/* UnitConverter */.u.picasToTwips(parseResult);
                        break;
                    default:
                        console.warn(`Unknown unit: ${unitStr}. Tab stop skipped`);
                        continue;
                }
                const tab = new paragraph_style/* TabInfo */.i3(value, align, leaderType, false, false);
                result.add(tab);
            }
        }
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/formats/utils/images-import.ts
var images_import = __webpack_require__(325);
// EXTERNAL MODULE: ./src/common/model/runs/inline-picture-run.ts
var inline_picture_run = __webpack_require__(2442);
;// CONCATENATED MODULE: ./src/common/formats/html/import/html-importer.ts











































class LevelInfo {
    constructor(element, childElements, allowInsertRuns) {
        this.element = element;
        this.childElements = childElements;
        this.allowInsertRuns = allowInsertRuns;
    }
    initTagImporter(importer) {
        if (dom.DomUtils.isTextNode(this.element))
            this.tagImporter = new HtmlTextNodeImporter(importer);
        else {
            const constr = importer.tagImporters[LevelInfo.getElementTag(this.element)];
            this.tagImporter = new (constr ? constr : HtmlUndefinedTagImporter)(importer);
        }
        return this;
    }
    static getElementTag(elem) {
        const tag = dom.DomUtils.isHTMLElementNode(elem) && elem.tagName;
        return tag ? tag.toUpperCase() : '';
    }
}
class HtmlImportData {
    constructor(runsInfo, tablesInfo) {
        this.runsInfo = runsInfo;
        this.tablesInfo = tablesInfo;
    }
}
class HtmlImporter {
    get currElement() { return list.ListUtils.last(this.levelInfo).element; }
    ;
    get currElementChildren() { return list.ListUtils.last(this.levelInfo).childElements; }
    ;
    get prevLevelInfo() { return this.levelInfo[this.levelInfo.length - 2]; }
    get currLevelInfo() { return list.ListUtils.last(this.levelInfo); }
    get currListItemLevelInfo() { return list.ListUtils.reverseElementBy(this.levelInfo, (levelInfo) => { var _a; return ((_a = levelInfo.tagImporter) === null || _a === void 0 ? void 0 : _a.elementTag()) === 'LI'; }); }
    get currListInfo() {
        const currListItemLevelInfo = this.currListItemLevelInfo;
        return currListItemLevelInfo && !currListItemLevelInfo.tagImporter.paragraphWasAddedBefore ? list.ListUtils.last(this.listInfos) : null;
    }
    get subDocument() { return this.subDocPosition.subDocument; }
    constructor(modelManager, measurer, subDocPosition, initElements, charPropsBundle, formatImagesImporter) {
        this.fieldsId = 0;
        this.listIndex = 0;
        this.listInfos = [];
        if (!HtmlImporter.importers) {
            HtmlImporter.importers = [
                HtmlATagImporter,
                HtmlBTagImporter,
                HtmlBrTagImporter,
                HtmlCenterTagImporter,
                HtmlCiteTagImporter,
                HtmlDivTagImporter,
                HtmlEmTagImporter,
                HtmlITagImporter,
                HtmlImgTagImporter,
                HtmlLiTagImporter,
                HtmlOlTagImporter,
                HtmlPTagImporter,
                HtmlTableTagImporter,
                HtmlTbodyTagImporter,
                HtmlH1TagImporter,
                HtmlH2TagImporter,
                HtmlH3TagImporter,
                HtmlH4TagImporter,
                HtmlH5TagImporter,
                HtmlH6TagImporter,
                HtmlPreTagImporter,
                HtmlSpanTagImporter,
                HtmlTrTagImporter,
                HtmlTtTagImporter,
                HtmlTdTagImporter,
                HtmlThTagImporter,
                HtmlUlTagImporter,
            ];
        }
        this.charPropsBundle = charPropsBundle;
        this.subDocPosition = subDocPosition;
        this.modelManager = modelManager;
        this.measurer = measurer;
        this.currPosition = this.subDocPosition.position;
        this.levelInfo = [new LevelInfo(null, initElements, true)];
        this.formatImagesImporter = formatImagesImporter;
        this.loadFontInfos = [];
        this.tempFontInfoCache = new font_info_cache/* FontInfoCache */.I(this.modelManager.model.cache.fontInfoCache.fontMeasurer);
        this.htmlImporterMaskedCharacterProperties =
            new HtmlImporterMaskedCharacterProperties(this, this.loadFontInfos, this.tempFontInfoCache, !modelManager.richOptions.fonts.limitedFonts);
        this.paragraphListPropertiesUtils = new ParagraphListPropertiesUtils(this, this.htmlImporterMaskedCharacterProperties);
        this.tagImporters = {};
        for (let importerConst of HtmlImporter.importers)
            this.tagImporters[new importerConst(this).elementTag()] = importerConst;
    }
    import() {
        this.importStarted = false;
        this.importedRunsInfo = [];
        this.importedTablesInfo = [];
        list.ListUtils.clear(this.loadFontInfos);
        this.tempFontInfoCache.clear();
        let insertedInterval;
        this.modelManager.history.addTransaction(() => {
            const pos = this.subDocPosition.position;
            this.prevRunIsParagraph = pos == 0 ||
                (this.subDocument.getRunByPosition(pos - 1).isParagraphOrSectionRun() &&
                    list.ListUtils.allOf(this.subDocument.tables, (tbl) => tbl.getEndPosition() != pos));
            this.convertChildElements();
            if (this.importedRunsInfo.length)
                insertedInterval = new HtmlModelInserter(this.modelManager, this.subDocPosition, new HtmlImportData(this.importedRunsInfo, this.getSortedTables()), this.charPropsBundle).insert();
            else
                insertedInterval = new fixed.FixedInterval(this.subDocPosition.position, 0);
            for (let info of this.loadFontInfos)
                this.modelManager.modelManipulator.font.loadFontInfo(info.fontInfo, info.subDocument, [info.applyNewFontOnIntervalsAfterLoad], this.measurer);
            if (this.formatImagesImporter)
                this.registerImageRuns();
        });
        return insertedInterval;
    }
    convertChildElements(preserveLineBreaks = false) {
        for (let element of this.currElementChildren)
            this.convertElement(element, preserveLineBreaks);
    }
    getSortedTables() {
        return this.importedTablesInfo.sort((a, b) => {
            const aInt = a.interval;
            const bInt = b.interval;
            const posDiff = aInt.start - bInt.start;
            if (posDiff)
                return posDiff;
            return aInt.containsInterval(bInt) ? -1 : 1;
        });
    }
    convertElement(element, preserveLineBreaks) {
        const currLevelInfo = new LevelInfo(element, element.childNodes, list.ListUtils.last(this.levelInfo).allowInsertRuns)
            .initTagImporter(this);
        this.levelInfo.push(currLevelInfo);
        const importer = currLevelInfo.tagImporter;
        this.putDownParentPropertiesToChild();
        importer.enablePreserveLineBreaks = preserveLineBreaks;
        if (importer.isAllowed())
            importer.importBefore();
        if (importer.isImportChildren())
            this.convertChildElements(preserveLineBreaks || importer.shouldPreserveLineBreaksOnChilds());
        if (importer.isAllowed())
            importer.importAfter();
        this.levelInfo.pop();
    }
    putDownParentPropertiesToChild() {
        if (!this.currElementChildren)
            return;
        const element = this.currElement;
        const missTag = HtmlImporter.MapMissTablePropertiesByTagNames[list.ListUtils.last(this.levelInfo).tagImporter.elementTag()];
        list.ListUtils.forEach(this.currElementChildren, (childElement) => {
            const childElemStyle = this.getStyles(childElement);
            if (childElement.nodeType !== Node.ELEMENT_NODE)
                return;
            for (var prop in this.getStyles(element)) {
                if (missTag && /^(border|background|marginLeft)/gi.test(prop))
                    continue;
                if ((childElemStyle[prop] === "" || childElemStyle[prop] === undefined) && element.style[prop] !== "" && !(HtmlImporter.MapShorthandProperty[prop]))
                    childElemStyle[prop] = element.style[prop];
            }
            childElement.setAttribute('style', Object.keys(childElemStyle).map(k => `${k}:${childElemStyle[k]}`).join(';'));
        });
    }
    getStyles(element) {
        var _a;
        const styleStr = (_a = element.getAttribute) === null || _a === void 0 ? void 0 : _a.call(element, 'style');
        if (!styleStr)
            return {};
        const urlRegExp = new RegExp('url\\(.*?\\)', 'gi');
        const urlKey = '$URL';
        const urlValues = styleStr.match(urlRegExp);
        return styleStr
            .replace(urlRegExp, urlKey)
            .split(';')
            .reduceRight((res, style) => {
            if (!style)
                return res;
            const colonIndex = style.indexOf(':');
            const key = style.substring(0, colonIndex).trim();
            const value = style.substring(colonIndex + 1).trim();
            res[key] = value === urlKey ? urlValues.pop() : value;
            return res;
        }, {});
    }
    addRun(run, forceAdd = false) {
        if (forceAdd || list.ListUtils.last(this.levelInfo).allowInsertRuns) {
            const isParagraph = run.runType == run_type/* RunType */.m.ParagraphRun || run.runType == run_type/* RunType */.m.SectionRun;
            this.importedRunsInfo.push(run);
            this.currPosition += run.runLength;
            this.prevRunIsParagraph = isParagraph;
            this.importStarted = true;
            if (isParagraph && this.currListItemLevelInfo)
                this.currListItemLevelInfo.tagImporter.paragraphWasAddedBefore = true;
        }
    }
    addParagraphRun(element, listInfo = null, isTableCellTag = false) {
        const htmlProperties = new HtmlImporterMaskedParagraphProperties();
        const properties = htmlProperties.import(this.modelManager.model.colorProvider, element, isTableCellTag);
        const tabs = HtmlImporterTabStops.import(element);
        this.removeAllTrailingLineBreaks();
        this.addRun(new ImportedParagraphRunInfo(listInfo, this.charPropsBundle, properties, tabs));
    }
    addCurrLevelParagraphRunIfNeeded() {
        if (this.currLevelInfo.element.previousSibling && !this.prevRunIsParagraph)
            this.addParagraphRun(this.currLevelInfo.element, this.currListInfo);
    }
    removeAllTrailingLineBreaks() {
        const last = this.importedRunsInfo.length - 1;
        for (let i = last; i >= last - 1; i--) {
            let runInfo = this.importedRunsInfo[i];
            if (!(runInfo instanceof ImportedTextRunInfo))
                return;
            if (runInfo.text !== rich_utils/* RichUtils */.i.specialCharacters.LineBreak)
                return;
            this.importedRunsInfo.pop();
            this.currPosition -= runInfo.runLength;
        }
    }
    getLastImportedRun() {
        return list.ListUtils.last(this.importedRunsInfo);
    }
    columnSize() {
        const section = this.modelManager.model.getSectionByPosition(this.subDocPosition.position);
        return columns_calculator/* ColumnCalculator */.y.findMinimalColumnSize(section.sectionProperties)
            .applyConverter(unit_converter/* UnitConverter */.u.pixelsToTwips);
    }
    registerImageRuns() {
        let importedRunsInfoIndex = -1;
        this.subDocument.chunks.forEach((chunk) => {
            chunk.textRuns.forEach((run) => {
                if (run instanceof inline_picture_run/* InlinePictureRun */.p) {
                    importedRunsInfoIndex = this.findIndexImportedInlinePictureRunInfo(run.info.publicAPIID, ++importedRunsInfoIndex);
                    const subDocPos = new sub_document/* SubDocumentPosition */.rg(this.subDocument, run.startOffset);
                    const importedRunsInfo = this.importedRunsInfo[importedRunsInfoIndex];
                    const options = image_loading_options/* ImageLoadingOptions */.j.initByActualSize(importedRunsInfo.actualSize);
                    const importerData = new images_import/* FormatImagesImporterData */.R(subDocPos, options, run);
                    this.formatImagesImporter.registerImageRun(importerData);
                }
            });
        });
    }
    findIndexImportedInlinePictureRunInfo(publicAPIID, startIndex = 0) {
        for (let i = startIndex, runInfo; runInfo = this.importedRunsInfo[i]; i++) {
            if (runInfo instanceof ImportedInlinePictureRunInfo && runInfo.picInfo.publicAPIID === publicAPIID)
                return i;
        }
        return -1;
    }
    static convertHtml(html) {
        log/* Log */.Z.print(log_source/* LogSource */.O.HtmlImporter, "convertHtml", () => html);
        html = html.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
        html = html.replace(/\s*mso-bidi-font-family/gi, "font-family");
        html = html.replace(/\s*MARGIN: 0cm 0cm 0pt\s*;/gi, '');
        html = html.replace(/\s*MARGIN: 0cm 0cm 0pt\s*"/gi, "\"");
        html = html.replace(/\s*TEXT-INDENT: 0cm\s*;/gi, '');
        html = html.replace(/\s*TEXT-INDENT: 0cm\s*"/gi, "\"");
        html = html.replace(/\s*FONT-VARIANT: [^\s;]+;?"/gi, "\"");
        html = html.replace(/<\w+:imagedata/gi, '<img');
        html = html.replace(/<p([^>]*)><o:[pP][^>]*>\s*<\/o:[pP]><\/p>(?=\s*<\/td>)/gi, '<p$1>&nbsp;<\/p>');
        html = html.replace(/<\/?\w+:[^>]*>/gi, '');
        html = html.replace(/<STYLE[^>]*>[\s\S]*?<\/STYLE[^>]*>/gi, '');
        html = html.replace(/<(?:META|LINK)[^>]*>\s*/gi, '');
        html = html.replace(/<\\?\?xml[^>]*>/gi, '');
        html = html.replace(/<o:[pP][^>]*>\s*<\/o:[pP]>/gi, '');
        html = html.replace(/<o:[pP][^>]*>.*?<\/o:[pP]>/gi, '&nbsp;');
        html = html.replace(/<st1:.*?>/gi, '');
        html = html.replace(/<\!--[\s\S]*?-->/g, '');
        html = html.replace(/\s*style="\s*"/gi, '');
        html = html.replace(/style=""/ig, "");
        html = html.replace(/style=''/ig, "");
        var stRegExp = new RegExp('(?:style=\\")([^\\"]*)(?:\\")', 'gi');
        html = html.replace(stRegExp, (str) => {
            str = str.replace(/&quot;/gi, "'");
            str = str.replace(/&#xA;/gi, " ");
            return str;
        });
        html = html.replace(/^\s|\s$/gi, '');
        html = html.replace(/<font[^>]*>([^<>]+)<\/font>/gi, '$1');
        html = html.replace(/<span\s*><span\s*>([^<>]+)<\/span><\/span>/ig, '$1');
        html = html.replace(/<span>([^<>]+)<\/span>/gi, '$1');
        html = html.replace(/<caption([^>]*)>[\s\S]*?<\/caption>/gi, '');
        var array = html.match(/<[^>]*style\s*=\s*[^>]*>/gi);
        if (array && array.length > 0) {
            for (var i = 0, elementHtml; elementHtml = array[i]; i++) {
                var fontFamilyArray = elementHtml.match(/\s*font-family\s*:\s*(([^;]*)([\"';\s)](?!>))|([^;"']*))/gi);
                if (fontFamilyArray && fontFamilyArray.length > 1) {
                    var commonValue = fontFamilyArray[0].replace(/font-family\s*:\s*([^;]*)[\"'; ]/gi, "$1");
                    var resultElementHtml = elementHtml;
                    for (var j = 0, fontFamily; fontFamily = fontFamilyArray[j]; j++)
                        resultElementHtml = resultElementHtml.replace(fontFamily, "font-family: " + commonValue + ";");
                    html = html.replace(elementHtml, resultElementHtml);
                }
            }
        }
        html = html.replace(/^\n|\n$/gi, '');
        html = html.replace(/(\n+(<br>)|(<\/p>|<br>)\n+)/gi, '$2$3');
        var preTags = html.match(/<pre([\s\S]*)<\/pre>/g);
        if (preTags) {
            list.ListUtils.forEach(preTags, (val) => {
                html = html.replace(val, val.replace(/\n/gi, "<p/>"));
            });
        }
        html = html.replace(/(\r*\n+\s+)|(\s+\r*\n+)/gi, ' ');
        html = html.replace(/\n+/gi, ' ');
        html = html.replace(/\n/gi, rich_utils/* RichUtils */.i.specialCharacters.LineBreak);
        html = html.replace(/(<\/(?!(p)+)(\s*[^>]*)?>)<\/td>/gi, '$1<p>&nbsp;</p></td>');
        html = html.replace(/(<\/(?!(p)+)(\s*[^>]*)?>)<\/th>/gi, '$1<p>&nbsp;</p></th>');
        html = html.replace(/<script(\s[^>]*)?>[\s\S]*?<\/script>/gi, '');
        html = html.replace(/<u>([\s\S]*?)<\/u>/gi, '<span style="text-decoration: underline">$1</span>');
        html = html.replace(/<s>([\s\S]*?)<\/s>/gi, '<span style="text-decoration: line-through">$1</span>');
        html = html.replace(/<\/([^\s>]+)(\s[^>]*)?><br><\/([^\s>]+)(\s[^>]*)?>/gi, '');
        html = html.replace(/\s*(<([ph]\d?|ol|ul|li))/gi, '$1');
        html = html.replace(/(<\/([ph]\d?|ol|ul|li)>)\s*/gi, '$1');
        html = this.extractBodyContent(html);
        log/* Log */.Z.print(log_source/* LogSource */.O.HtmlImporter, "convertHtml", () => html);
        return html;
    }
    static extractBodyContent(html) {
        const startTagMatch = /<body[^>]*>\s*/i.exec(html);
        let startIndex = 0;
        if (startTagMatch)
            startIndex = startTagMatch.index + startTagMatch[0].length;
        const endTagMatch = /\s*<\/body[^>]*>\s*/i.exec(html);
        let endIndex = html.length;
        if (endTagMatch)
            endIndex = endTagMatch.index;
        return html.substring(startIndex, endIndex);
    }
}
HtmlImporter.importers = null;
HtmlImporter.MapMissTablePropertiesByTagNames = new map_creator/* MapCreator */.M()
    .add("TABLE", true)
    .add("TD", true)
    .add("TH", true)
    .get();
HtmlImporter.MapShorthandProperty = new map_creator/* MapCreator */.M()
    .add("background", false)
    .add("border", true)
    .add("borderImage", true)
    .add("borderTop", true)
    .add("borderRight", true)
    .add("borderBottom", true)
    .add("borderLeft", true)
    .add("borderWidth", true)
    .add("borderColor", true)
    .add("borderStyle", true)
    .add("borderRadius", true)
    .add("font", true)
    .add("fontVariant", true)
    .add("listStyle", true)
    .add("margin", true)
    .add("padding", true)
    .add("transition", true)
    .add("transform", true)
    .add("listStyleType", true)
    .add("cssText", true)
    .get();


/***/ }),

/***/ 9906:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   o: function() { return /* binding */ DocumentExporterOptions; }
/* harmony export */ });
class DocumentExporterOptions {
    constructor() {
        this.ensurePictureLoadedTimeout = 3000;
    }
}


/***/ }),

/***/ 3725:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  m: function() { return /* binding */ RtfImporterOptions; }
});

;// CONCATENATED MODULE: ./src/common/formats/utils/enums.ts
var InvalidDocumentMode;
(function (InvalidDocumentMode) {
    InvalidDocumentMode[InvalidDocumentMode["OpenAnyway"] = 0] = "OpenAnyway";
    InvalidDocumentMode[InvalidDocumentMode["LoadEmptyDocument"] = 1] = "LoadEmptyDocument";
})(InvalidDocumentMode || (InvalidDocumentMode = {}));

// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log.ts + 3 modules
var log = __webpack_require__(5580);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importer-options.ts


class RtfImporterOptions {
    constructor(throwInvalidFile = (reason) => { if (log/* Log */.Z.isDebug)
        console.log(`LoadedFileIsIncorrect: ${reason}`); }) {
        this.invalidDocumentMode = InvalidDocumentMode.OpenAnyway;
        this.throwInvalidFile = throwInvalidFile;
    }
}


/***/ }),

/***/ 7553:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ RtfGeneralSectionInfo; },
/* harmony export */   Q: function() { return /* binding */ VerticalAlignment; }
/* harmony export */ });
var VerticalAlignment;
(function (VerticalAlignment) {
    VerticalAlignment[VerticalAlignment["Top"] = 0] = "Top";
    VerticalAlignment[VerticalAlignment["Both"] = 1] = "Both";
    VerticalAlignment[VerticalAlignment["Center"] = 2] = "Center";
    VerticalAlignment[VerticalAlignment["Bottom"] = 3] = "Bottom";
})(VerticalAlignment || (VerticalAlignment = {}));
class RtfGeneralSectionInfo {
    copyFrom(obj) {
        this.onlyAllowEditingOfFormFields = obj.onlyAllowEditingOfFormFields;
        this.firstPagePaperSource = obj.firstPagePaperSource;
        this.otherPagePaperSource = obj.otherPagePaperSource;
        this.textDirection = obj.textDirection;
        this.verticalTextAlignment = obj.verticalTextAlignment;
        this.rightToLeft = obj.rightToLeft;
    }
}


/***/ }),

/***/ 421:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  w: function() { return /* binding */ RtfImporter; }
});

// EXTERNAL MODULE: ./src/common/formats/document-importer-errors.ts
var document_importer_errors = __webpack_require__(6258);
// EXTERNAL MODULE: ./src/common/model/creator/creator.ts
var creator = __webpack_require__(6015);
// EXTERNAL MODULE: ./src/common/model/creator/options.ts
var options = __webpack_require__(5007);
// EXTERNAL MODULE: ./src/common/model/document-model.ts + 11 modules
var document_model = __webpack_require__(4495);
// EXTERNAL MODULE: ./src/common/model/model-checks/check-all.ts + 1 modules
var check_all = __webpack_require__(5770);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/chunked-text.js
var chunked_text = __webpack_require__(677);
// EXTERNAL MODULE: ./src/common/formats/utils/images-import.ts
var images_import = __webpack_require__(325);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/stack.js
var stack = __webpack_require__(9094);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/constants.js
var constants = __webpack_require__(8785);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var string = __webpack_require__(49);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/encoding/code-pages.ts
var CodePages;
(function (CodePages) {
    CodePages[CodePages["default"] = 1250] = "default";
    CodePages[CodePages["GB2315"] = 936] = "GB2315";
    CodePages[CodePages["UTF8"] = 65001] = "UTF8";
    CodePages[CodePages["Russian"] = 1251] = "Russian";
    CodePages[CodePages["Ansi"] = 1252] = "Ansi";
    CodePages[CodePages["Greek"] = 1253] = "Greek";
    CodePages[CodePages["Turkis"] = 1254] = "Turkis";
    CodePages[CodePages["Baltic"] = 1257] = "Baltic";
    CodePages[CodePages["Vietnamese"] = 1258] = "Vietnamese";
    CodePages[CodePages["Hebrew"] = 1255] = "Hebrew";
    CodePages[CodePages["Arabic"] = 1256] = "Arabic";
    CodePages[CodePages["Hangul"] = 949] = "Hangul";
    CodePages[CodePages["Big5"] = 950] = "Big5";
    CodePages[CodePages["MacRoman"] = 10000] = "MacRoman";
    CodePages[CodePages["MacRussian"] = 10007] = "MacRussian";
})(CodePages || (CodePages = {}));

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var utils_list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/utils/map-creator.ts
var map_creator = __webpack_require__(7156);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/dx-decoding/specified-symbols-949.ts

const specified_949 = new map_creator/* MapCreator */.M()
    .add(0, "갂갃갅갆갋갌갍갎갏갘갞갟갡갢갣갥갦갧갨갩갪갫갮갲갳갴")
    .add(32, "갵갶갷갺갻갽갾갿걁걂걃걄걅걆걇걈걉걊걌걎걏걐걑걒걓걕")
    .add(64, "걖걗걙걚걛걝걞걟걠걡걢걣걤걥걦걧걨걩걪걫걬걭걮걯걲걳걵걶걹걻걼걽걾걿겂겇겈겍겎겏겑겒겓겕겖겗겘겙겚겛겞겢겣겤겥겦겧겫겭겮겱겲겳겴겵겶겷겺겾겿곀곂곃곅곆곇곉곊곋곍곎곏곐곑곒곓곔곖곘곙곚곛곜곝곞곟곢곣곥곦곩곫곭곮곲곴곷곸곹곺곻곾곿괁괂괃괅괇괈괉괊괋괎괐괒괓")
    .add(256, "괔괕괖괗괙괚괛괝괞괟괡괢괣괤괥괦괧괨괪괫괮괯괰괱괲괳")
    .add(288, "괶괷괹괺괻괽괾괿굀굁굂굃굆굈굊굋굌굍굎굏굑굒굓굕굖굗")
    .add(320, "굙굚굛굜굝굞굟굠굢굤굥굦굧굨굩굪굫굮굯굱굲굷굸굹굺굾궀궃궄궅궆궇궊궋궍궎궏궑궒궓궔궕궖궗궘궙궚궛궞궟궠궡궢궣궥궦궧궨궩궪궫궬궭궮궯궰궱궲궳궴궵궶궸궹궺궻궼궽궾궿귂귃귅귆귇귉귊귋귌귍귎귏귒귔귕귖귗귘귙귚귛귝귞귟귡귢귣귥귦귧귨귩귪귫귬귭귮귯귰귱귲귳귴귵귶귷")
    .add(512, "귺귻귽귾긂긃긄긅긆긇긊긌긎긏긐긑긒긓긕긖긗긘긙긚긛긜")
    .add(544, "긝긞긟긠긡긢긣긤긥긦긧긨긩긪긫긬긭긮긯긲긳긵긶긹긻긼")
    .add(576, "긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗깘깙깚깛깞깢깣깤깦깧깪깫깭깮깯깱깲깳깴깵깶깷깺깾깿꺀꺁꺂꺃꺆꺇꺈꺉꺊꺋꺍꺎꺏꺐꺑꺒꺓꺔꺕꺖꺗꺘꺙꺚꺛꺜꺝꺞꺟꺠꺡꺢꺣꺤꺥꺦꺧꺨꺩꺪꺫꺬꺭꺮꺯꺰꺱꺲꺳꺴꺵꺶꺷꺸꺹꺺꺻꺿껁껂껃껅껆껇껈껉껊껋껎껒껓껔껕껖껗껚껛껝껞껟껠껡껢껣껤껥")
    .add(768, "껦껧껩껪껬껮껯껰껱껲껳껵껶껷껹껺껻껽껾껿꼀꼁꼂꼃꼄꼅")
    .add(800, "꼆꼉꼊꼋꼌꼎꼏꼑꼒꼓꼔꼕꼖꼗꼘꼙꼚꼛꼜꼝꼞꼟꼠꼡꼢꼣")
    .add(832, "꼤꼥꼦꼧꼨꼩꼪꼫꼮꼯꼱꼳꼵꼶꼷꼸꼹꼺꼻꼾꽀꽄꽅꽆꽇꽊꽋꽌꽍꽎꽏꽑꽒꽓꽔꽕꽖꽗꽘꽙꽚꽛꽞꽟꽠꽡꽢꽣꽦꽧꽨꽩꽪꽫꽬꽭꽮꽯꽰꽱꽲꽳꽴꽵꽶꽷꽸꽺꽻꽼꽽꽾꽿꾁꾂꾃꾅꾆꾇꾉꾊꾋꾌꾍꾎꾏꾒꾓꾔꾖꾗꾘꾙꾚꾛꾝꾞꾟꾠꾡꾢꾣꾤꾥꾦꾧꾨꾩꾪꾫꾬꾭꾮꾯꾰꾱꾲꾳꾴꾵꾶꾷꾺꾻꾽꾾")
    .add(1024, "꾿꿁꿂꿃꿄꿅꿆꿊꿌꿏꿐꿑꿒꿓꿕꿖꿗꿘꿙꿚꿛꿝꿞꿟꿠꿡")
    .add(1056, "꿢꿣꿤꿥꿦꿧꿪꿫꿬꿭꿮꿯꿲꿳꿵꿶꿷꿹꿺꿻꿼꿽꿾꿿뀂뀃")
    .add(1088, "뀅뀆뀇뀈뀉뀊뀋뀍뀎뀏뀑뀒뀓뀕뀖뀗뀘뀙뀚뀛뀞뀟뀠뀡뀢뀣뀤뀥뀦뀧뀩뀪뀫뀬뀭뀮뀯뀰뀱뀲뀳뀴뀵뀶뀷뀸뀹뀺뀻뀼뀽뀾뀿끀끁끂끃끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞끟끠끡끢끣끤끥끦끧끨끩끪끫끬끭끮끯끰끱끲끳끴끵끶끷끸끹끺끻끾끿낁낂낃낅낆낇낈낉낊낋낎낐낒낓낔낕낖낗낛낝낞낣낤")
    .add(1280, "낥낦낧낪낰낲낶낷낹낺낻낽낾낿냀냁냂냃냆냊냋냌냍냎냏냒")
    .add(1312, "냓냕냖냗냙냚냛냜냝냞냟냡냢냣냤냦냧냨냩냪냫냬냭냮냯냰")
    .add(1344, "냱냲냳냴냵냶냷냸냹냺냻냼냽냾냿넀넁넂넃넄넅넆넇넊넍넎넏넑넔넕넖넗넚넞넟넠넡넢넦넧넩넪넫넭넮넯넰넱넲넳넶넺넻넼넽넾넿녂녃녅녆녇녉녊녋녌녍녎녏녒녓녖녗녙녚녛녝녞녟녡녢녣녤녥녦녧녨녩녪녫녬녭녮녯녰녱녲녳녴녵녶녷녺녻녽녾녿놁놃놄놅놆놇놊놌놎놏놐놑놕놖놗놙놚놛놝")
    .add(1536, "놞놟놠놡놢놣놤놥놦놧놩놪놫놬놭놮놯놰놱놲놳놴놵놶놷놸")
    .add(1568, "놹놺놻놼놽놾놿뇀뇁뇂뇃뇄뇅뇆뇇뇈뇉뇊뇋뇍뇎뇏뇑뇒뇓뇕")
    .add(1600, "뇖뇗뇘뇙뇚뇛뇞뇠뇡뇢뇣뇤뇥뇦뇧뇪뇫뇭뇮뇯뇱뇲뇳뇴뇵뇶뇷뇸뇺뇼뇾뇿눀눁눂눃눆눇눉눊눍눎눏눐눑눒눓눖눘눚눛눜눝눞눟눡눢눣눤눥눦눧눨눩눪눫눬눭눮눯눰눱눲눳눵눶눷눸눹눺눻눽눾눿뉀뉁뉂뉃뉄뉅뉆뉇뉈뉉뉊뉋뉌뉍뉎뉏뉐뉑뉒뉓뉔뉕뉖뉗뉙뉚뉛뉝뉞뉟뉡뉢뉣뉤뉥뉦뉧뉪뉫뉬뉭뉮")
    .add(1792, "뉯뉰뉱뉲뉳뉶뉷뉸뉹뉺뉻뉽뉾뉿늀늁늂늃늆늇늈늊늋늌늍늎")
    .add(1824, "늏늒늓늕늖늗늛늜늝늞늟늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷")
    .add(1856, "늸늹늺늻늼늽늾늿닀닁닂닃닄닅닆닇닊닋닍닎닏닑닓닔닕닖닗닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉댊댋댌댍댎댏댒댖댗댘댙댚댛댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱댲댳댴댵댶댷댸댹댺댻댼댽댾댿덀덁덂덃덄덅덆덇덈덉덊덋덌덍덎덏덐덑덒덓덗덙덚덝덠덡덢덣")
    .add(2048, "덦덨덪덬덭덯덲덳덵덶덷덹덺덻덼덽덾덿뎂뎆뎇뎈뎉뎊뎋뎍")
    .add(2080, "뎎뎏뎑뎒뎓뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎢뎣뎤뎥뎦뎧뎩뎪뎫뎭")
    .add(2112, "뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻뎼뎽뎾뎿돀돁돂돃돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돽돾돿됀됁됂됃됄됅됆됇됈됉됊됋됌됍됎됏됑됒됓됔됕됖됗됙됚됛됝됞됟됡됢됣됤됥됦됧됪됬됭됮됯됰됱됲됳됵됶됷됸됹됺됻됼됽됾됿둀둁둂둃둄")
    .add(2304, "둅둆둇둈둉둊둋둌둍둎둏둒둓둕둖둗둙둚둛둜둝둞둟둢둤둦")
    .add(2336, "둧둨둩둪둫둭둮둯둰둱둲둳둴둵둶둷둸둹둺둻둼둽둾둿뒁뒂")
    .add(2368, "뒃뒄뒅뒆뒇뒉뒊뒋뒌뒍뒎뒏뒐뒑뒒뒓뒔뒕뒖뒗뒘뒙뒚뒛뒜뒞뒟뒠뒡뒢뒣뒥뒦뒧뒩뒪뒫뒭뒮뒯뒰뒱뒲뒳뒴뒶뒸뒺뒻뒼뒽뒾뒿듁듂듃듅듆듇듉듊듋듌듍듎듏듑듒듓듔듖듗듘듙듚듛듞듟듡듢듥듧듨듩듪듫듮듰듲듳듴듵듶듷듹듺듻듼듽듾듿딀딁딂딃딄딅딆딇딈딉딊딋딌딍딎딏딐딑딒딓딖딗딙딚딝")
    .add(2560, "딞딟딠딡딢딣딦딫딬딭딮딯딲딳딵딶딷딹딺딻딼딽딾딿땂땆")
    .add(2592, "땇땈땉땊땎땏땑땒땓땕땖땗땘땙땚땛땞땢땣땤땥땦땧땨땩땪")
    .add(2624, "땫땬땭땮땯땰땱땲땳땴땵땶땷땸땹땺땻땼땽땾땿떀떁떂떃떄떅떆떇떈떉떊떋떌떍떎떏떐떑떒떓떔떕떖떗떘떙떚떛떜떝떞떟떢떣떥떦떧떩떬떭떮떯떲떶떷떸떹떺떾떿뗁뗂뗃뗅뗆뗇뗈뗉뗊뗋뗎뗒뗓뗔뗕뗖뗗뗙뗚뗛뗜뗝뗞뗟뗠뗡뗢뗣뗤뗥뗦뗧뗨뗩뗪뗫뗭뗮뗯뗰뗱뗲뗳뗴뗵뗶뗷뗸뗹뗺뗻뗼뗽뗾뗿")
    .add(2816, "똀똁똂똃똄똅똆똇똈똉똊똋똌똍똎똏똒똓똕똖똗똙똚똛똜똝")
    .add(2848, "똞똟똠똡똢똣똤똦똧똨똩똪똫똭똮똯똰똱똲똳똵똶똷똸똹똺")
    .add(2880, "똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙉뙊뙋뙌뙍뙎뙏뙐뙑뙒뙓뙔뙕뙖뙗뙘뙙뙚뙛뙜뙝뙞뙟뙠뙡뙢뙣뙥뙦뙧뙩뙪뙫뙬뙭뙮뙯뙰뙱뙲뙳뙴뙵뙶뙷뙸뙹뙺뙻뙼뙽뙾뙿뚀뚁뚂뚃뚄뚅뚆뚇뚈뚉뚊뚋뚌뚍뚎뚏뚐뚑뚒뚓뚔뚕뚖뚗뚘뚙뚚뚛뚞뚟뚡뚢뚣뚥뚦뚧뚨뚩뚪뚭뚮뚯뚰뚲뚳뚴뚵뚶뚷뚸뚹뚺뚻뚼뚽뚾뚿뛀뛁뛂")
    .add(3072, "뛃뛄뛅뛆뛇뛈뛉뛊뛋뛌뛍뛎뛏뛐뛑뛒뛓뛕뛖뛗뛘뛙뛚뛛뛜뛝")
    .add(3104, "뛞뛟뛠뛡뛢뛣뛤뛥뛦뛧뛨뛩뛪뛫뛬뛭뛮뛯뛱뛲뛳뛵뛶뛷뛹뛺")
    .add(3136, "뛻뛼뛽뛾뛿뜂뜃뜄뜆뜇뜈뜉뜊뜋뜌뜍뜎뜏뜐뜑뜒뜓뜔뜕뜖뜗뜘뜙뜚뜛뜜뜝뜞뜟뜠뜡뜢뜣뜤뜥뜦뜧뜪뜫뜭뜮뜱뜲뜳뜴뜵뜶뜷뜺뜼뜽뜾뜿띀띁띂띃띅띆띇띉띊띋띍띎띏띐띑띒띓띖띗띘띙띚띛띜띝띞띟띡띢띣띥띦띧띩띪띫띬띭띮띯띲띴띶띷띸띹띺띻띾띿랁랂랃랅랆랇랈랉랊랋랎랓랔랕랚랛랝랞")
    .add(3328, "랟랡랢랣랤랥랦랧랪랮랯랰랱랲랳랶랷랹랺랻랼랽랾랿럀럁")
    .add(3360, "럂럃럄럅럆럈럊럋럌럍럎럏럐럑럒럓럔럕럖럗럘럙럚럛럜럝")
    .add(3392, "럞럟럠럡럢럣럤럥럦럧럨럩럪럫럮럯럱럲럳럵럶럷럸럹럺럻럾렂렃렄렅렆렊렋렍렎렏렑렒렓렔렕렖렗렚렜렞렟렠렡렢렣렦렧렩렪렫렭렮렯렰렱렲렳렶렺렻렼렽렾렿롁롂롃롅롆롇롈롉롊롋롌롍롎롏롐롒롔롕롖롗롘롙롚롛롞롟롡롢롣롥롦롧롨롩롪롫롮롰롲롳롴롵롶롷롹롺롻롽롾롿뢀뢁뢂뢃뢄")
    .add(3584, "뢅뢆뢇뢈뢉뢊뢋뢌뢎뢏뢐뢑뢒뢓뢔뢕뢖뢗뢘뢙뢚뢛뢜뢝뢞뢟")
    .add(3616, "뢠뢡뢢뢣뢤뢥뢦뢧뢩뢪뢫뢬뢭뢮뢯뢱뢲뢳뢵뢶뢷뢹뢺뢻뢼뢽")
    .add(3648, "뢾뢿룂룄룆룇룈룉룊룋룍룎룏룑룒룓룕룖룗룘룙룚룛룜룞룠룢룣룤룥룦룧룪룫룭룮룯룱룲룳룴룵룶룷룺룼룾룿뤀뤁뤂뤃뤅뤆뤇뤈뤉뤊뤋뤌뤍뤎뤏뤐뤑뤒뤓뤔뤕뤖뤗뤙뤚뤛뤜뤝뤞뤟뤡뤢뤣뤤뤥뤦뤧뤨뤩뤪뤫뤬뤭뤮뤯뤰뤱뤲뤳뤴뤵뤶뤷뤸뤹뤺뤻뤾뤿륁륂륃륅륆륇륈륉륊륋륍륎륐륒륓륔륕륖륗")
    .add(3840, "륚륛륝륞륟륡륢륣륤륥륦륧륪륬륮륯륰륱륲륳륶륷륹륺륻륽")
    .add(3872, "륾륿릀릁릂릃릆릈릋릌릏릐릑릒릓릔릕릖릗릘릙릚릛릜릝릞")
    .add(3904, "릟릠릡릢릣릤릥릦릧릨릩릪릫릮릯릱릲릳릵릶릷릸릹릺릻릾맀맂맃맄맅맆맇맊맋맍맓맔맕맖맗맚맜맟맠맢맦맧맩맪맫맭맮맯맰맱맲맳맶맻맼맽맾맿먂먃먄먅먆먇먉먊먋먌먍먎먏먐먑먒먓먔먖먗먘먙먚먛먜먝먞먟먠먡먢먣먤먥먦먧먨먩먪먫먬먭먮먯먰먱먲먳먴먵먶먷먺먻먽먾먿멁멃멄멅멆")
    .add(4096, "멇멊멌멏멐멑멒멖멗멙멚멛멝멞멟멠멡멢멣멦멪멫멬멭멮멯")
    .add(4128, "멲멳멵멶멷멹멺멻멼멽멾멿몀몁몂몆몈몉몊몋몍몎몏몐몑몒")
    .add(4160, "몓몔몕몖몗몘몙몚몛몜몝몞몟몠몡몢몣몤몥몦몧몪몭몮몯몱몳몴몵몶몷몺몼몾몿뫀뫁뫂뫃뫅뫆뫇뫉뫊뫋뫌뫍뫎뫏뫐뫑뫒뫓뫔뫕뫖뫗뫚뫛뫜뫝뫞뫟뫠뫡뫢뫣뫤뫥뫦뫧뫨뫩뫪뫫뫬뫭뫮뫯뫰뫱뫲뫳뫴뫵뫶뫷뫸뫹뫺뫻뫽뫾뫿묁묂묃묅묆묇묈묉묊묋묌묎묐묒묓묔묕묖묗묙묚묛묝묞묟묡묢묣묤묥묦묧")
    .add(4352, "묨묪묬묭묮묯묰묱묲묳묷묹묺묿뭀뭁뭂뭃뭆뭈뭊뭋뭌뭎뭑뭒")
    .add(4384, "뭓뭕뭖뭗뭙뭚뭛뭜뭝뭞뭟뭠뭢뭤뭥뭦뭧뭨뭩뭪뭫뭭뭮뭯뭰뭱")
    .add(4416, "뭲뭳뭴뭵뭶뭷뭸뭹뭺뭻뭼뭽뭾뭿뮀뮁뮂뮃뮄뮅뮆뮇뮉뮊뮋뮍뮎뮏뮑뮒뮓뮔뮕뮖뮗뮘뮙뮚뮛뮜뮝뮞뮟뮠뮡뮢뮣뮥뮦뮧뮩뮪뮫뮭뮮뮯뮰뮱뮲뮳뮵뮶뮸뮹뮺뮻뮼뮽뮾뮿믁믂믃믅믆믇믉믊믋믌믍믎믏믑믒믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯믰믱믲믳믴믵믶믷믺믻믽믾밁")
    .add(4608, "밃밄밅밆밇밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵")
    .add(4640, "밶밷밹밺밻밼밽밾밿뱂뱆뱇뱈뱊뱋뱎뱏뱑뱒뱓뱔뱕뱖뱗뱘뱙")
    .add(4672, "뱚뱛뱜뱞뱟뱠뱡뱢뱣뱤뱥뱦뱧뱨뱩뱪뱫뱬뱭뱮뱯뱰뱱뱲뱳뱴뱵뱶뱷뱸뱹뱺뱻뱼뱽뱾뱿벀벁벂벃벆벇벉벊벍벏벐벑벒벓벖벘벛벜벝벞벟벢벣벥벦벩벪벫벬벭벮벯벲벶벷벸벹벺벻벾벿볁볂볃볅볆볇볈볉볊볋볌볎볒볓볔볖볗볙볚볛볝볞볟볠볡볢볣볤볥볦볧볨볩볪볫볬볭볮볯볰볱볲볳볷볹볺볻볽")
    .add(4864, "볾볿봀봁봂봃봆봈봊봋봌봍봎봏봑봒봓봕봖봗봘봙봚봛봜봝")
    .add(4896, "봞봟봠봡봢봣봥봦봧봨봩봪봫봭봮봯봰봱봲봳봴봵봶봷봸봹")
    .add(4928, "봺봻봼봽봾봿뵁뵂뵃뵄뵅뵆뵇뵊뵋뵍뵎뵏뵑뵒뵓뵔뵕뵖뵗뵚뵛뵜뵝뵞뵟뵠뵡뵢뵣뵥뵦뵧뵩뵪뵫뵬뵭뵮뵯뵰뵱뵲뵳뵴뵵뵶뵷뵸뵹뵺뵻뵼뵽뵾뵿붂붃붅붆붋붌붍붎붏붒붔붖붗붘붛붝붞붟붠붡붢붣붥붦붧붨붩붪붫붬붭붮붯붱붲붳붴붵붶붷붹붺붻붼붽붾붿뷀뷁뷂뷃뷄뷅뷆뷇뷈뷉뷊뷋뷌뷍뷎뷏뷐뷑")
    .add(5120, "뷒뷓뷖뷗뷙뷚뷛뷝뷞뷟뷠뷡뷢뷣뷤뷥뷦뷧뷨뷪뷫뷬뷭뷮뷯뷱")
    .add(5152, "뷲뷳뷵뷶뷷뷹뷺뷻뷼뷽뷾뷿븁븂븄븆븇븈븉븊븋븎븏븑븒븓")
    .add(5184, "븕븖븗븘븙븚븛븞븠븡븢븣븤븥븦븧븨븩븪븫븬븭븮븯븰븱븲븳븴븵븶븷븸븹븺븻븼븽븾븿빀빁빂빃빆빇빉빊빋빍빏빐빑빒빓빖빘빜빝빞빟빢빣빥빦빧빩빫빬빭빮빯빲빶빷빸빹빺빾빿뺁뺂뺃뺅뺆뺇뺈뺉뺊뺋뺎뺒뺓뺔뺕뺖뺗뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺩뺪뺫뺬뺭뺮뺯뺰뺱뺲뺳뺴뺵뺶뺷")
    .add(5376, "뺸뺹뺺뺻뺼뺽뺾뺿뻀뻁뻂뻃뻄뻅뻆뻇뻈뻉뻊뻋뻌뻍뻎뻏뻒뻓")
    .add(5408, "뻕뻖뻙뻚뻛뻜뻝뻞뻟뻡뻢뻦뻧뻨뻩뻪뻫뻭뻮뻯뻰뻱뻲뻳뻴뻵")
    .add(5440, "뻶뻷뻸뻹뻺뻻뻼뻽뻾뻿뼀뼂뼃뼄뼅뼆뼇뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼚뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽂뽃뽅뽆뽇뽉뽊뽋뽌뽍뽎뽏뽒뽓뽔뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂")
    .add(5632, "뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾕뾖뾗뾘뾙뾚뾛뾜뾝")
    .add(5664, "뾞뾟뾠뾡뾢뾣뾤뾥뾦뾧뾨뾩뾪뾫뾬뾭뾮뾯뾱뾲뾳뾴뾵뾶뾷뾸")
    .add(5696, "뾹뾺뾻뾼뾽뾾뾿뿀뿁뿂뿃뿄뿆뿇뿈뿉뿊뿋뿎뿏뿑뿒뿓뿕뿖뿗뿘뿙뿚뿛뿝뿞뿠뿢뿣뿤뿥뿦뿧뿨뿩뿪뿫뿬뿭뿮뿯뿰뿱뿲뿳뿴뿵뿶뿷뿸뿹뿺뿻뿼뿽뿾뿿쀀쀁쀂쀃쀄쀅쀆쀇쀈쀉쀊쀋쀌쀍쀎쀏쀐쀑쀒쀓쀔쀕쀖쀗쀘쀙쀚쀛쀜쀝쀞쀟쀠쀡쀢쀣쀤쀥쀦쀧쀨쀩쀪쀫쀬쀭쀮쀯쀰쀱쀲쀳쀴쀵쀶쀷쀸쀹쀺쀻쀽쀾쀿")
    .add(5888, "쁀쁁쁂쁃쁄쁅쁆쁇쁈쁉쁊쁋쁌쁍쁎쁏쁐쁒쁓쁔쁕쁖쁗쁙쁚쁛")
    .add(5920, "쁝쁞쁟쁡쁢쁣쁤쁥쁦쁧쁪쁫쁬쁭쁮쁯쁰쁱쁲쁳쁴쁵쁶쁷쁸쁹")
    .add(5952, "쁺쁻쁼쁽쁾쁿삀삁삂삃삄삅삆삇삈삉삊삋삌삍삎삏삒삓삕삖삗삙삚삛삜삝삞삟삢삤삦삧삨삩삪삫삮삱삲삷삸삹삺삻삾샂샃샄샆샇샊샋샍샎샏샑샒샓샔샕샖샗샚샞샟샠샡샢샣샦샧샩샪샫샭샮샯샰샱샲샳샶샸샺샻샼샽샾샿섁섂섃섅섆섇섉섊섋섌섍섎섏섑섒섓섔섖섗섘섙섚섛섡섢섥섨섩섪섫섮")
    .add(6144, "섲섳섴섵섷섺섻섽섾섿셁셂셃셄셅셆셇셊셎셏셐셑셒셓셖셗")
    .add(6176, "셙셚셛셝셞셟셠셡셢셣셦셪셫셬셭셮셯셱셲셳셵셶셷셹셺셻")
    .add(6208, "셼셽셾셿솀솁솂솃솄솆솇솈솉솊솋솏솑솒솓솕솗솘솙솚솛솞솠솢솣솤솦솧솪솫솭솮솯솱솲솳솴솵솶솷솸솹솺솻솼솾솿쇀쇁쇂쇃쇅쇆쇇쇉쇊쇋쇍쇎쇏쇐쇑쇒쇓쇕쇖쇙쇚쇛쇜쇝쇞쇟쇡쇢쇣쇥쇦쇧쇩쇪쇫쇬쇭쇮쇯쇲쇴쇵쇶쇷쇸쇹쇺쇻쇾쇿숁숂숃숅숆숇숈숉숊숋숎숐숒숓숔숕숖숗숚숛숝숞숡숢숣")
    .add(6400, "숤숥숦숧숪숬숮숰숳숵숶숷숸숹숺숻숼숽숾숿쉀쉁쉂쉃쉄쉅")
    .add(6432, "쉆쉇쉉쉊쉋쉌쉍쉎쉏쉒쉓쉕쉖쉗쉙쉚쉛쉜쉝쉞쉟쉡쉢쉣쉤쉦")
    .add(6464, "쉧쉨쉩쉪쉫쉮쉯쉱쉲쉳쉵쉶쉷쉸쉹쉺쉻쉾슀슂슃슄슅슆슇슊슋슌슍슎슏슑슒슓슔슕슖슗슙슚슜슞슟슠슡슢슣슦슧슩슪슫슮슯슰슱슲슳슶슸슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛싞싟싡싢싥싦싧싨싩싪싮싰싲싳싴싵싷싺싽싾싿쌁쌂쌃쌄쌅쌆쌇쌊쌋쌎쌏")
    .add(6656, "쌐쌑쌒쌖쌗쌙쌚쌛쌝쌞쌟쌠쌡쌢쌣쌦쌧쌪쌫쌬쌭쌮쌯쌰쌱쌲")
    .add(6688, "쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썆썇썈썉썊썋썌썍")
    .add(6720, "썎썏썐썑썒썓썔썕썖썗썘썙썚썛썜썝썞썟썠썡썢썣썤썥썦썧썪썫썭썮썯썱썳썴썵썶썷썺썻썾썿쎀쎁쎂쎃쎅쎆쎇쎉쎊쎋쎍쎎쎏쎐쎑쎒쎓쎔쎕쎖쎗쎘쎙쎚쎛쎜쎝쎞쎟쎠쎡쎢쎣쎤쎥쎦쎧쎨쎩쎪쎫쎬쎭쎮쎯쎰쎱쎲쎳쎴쎵쎶쎷쎸쎹쎺쎻쎼쎽쎾쎿쏁쏂쏃쏄쏅쏆쏇쏈쏉쏊쏋쏌쏍쏎쏏쏐쏑쏒쏓쏔쏕쏖쏗쏚")
    .add(6912, "쏛쏝쏞쏡쏣쏤쏥쏦쏧쏪쏫쏬쏮쏯쏰쏱쏲쏳쏶쏷쏹쏺쏻쏼쏽쏾")
    .add(6944, "쏿쐀쐁쐂쐃쐄쐅쐆쐇쐉쐊쐋쐌쐍쐎쐏쐑쐒쐓쐔쐕쐖쐗쐘쐙쐚")
    .add(6976, "쐛쐜쐝쐞쐟쐠쐡쐢쐣쐥쐦쐧쐨쐩쐪쐫쐭쐮쐯쐱쐲쐳쐵쐶쐷쐸쐹쐺쐻쐾쐿쑀쑁쑂쑃쑄쑅쑆쑇쑉쑊쑋쑌쑍쑎쑏쑐쑑쑒쑓쑔쑕쑖쑗쑘쑙쑚쑛쑜쑝쑞쑟쑠쑡쑢쑣쑦쑧쑩쑪쑫쑭쑮쑯쑰쑱쑲쑳쑶쑷쑸쑺쑻쑼쑽쑾쑿쒁쒂쒃쒄쒅쒆쒇쒈쒉쒊쒋쒌쒍쒎쒏쒐쒑쒒쒓쒕쒖쒗쒘쒙쒚쒛쒝쒞쒟쒠쒡쒢쒣쒤쒥쒦쒧쒨쒩")
    .add(7168, "쒪쒫쒬쒭쒮쒯쒰쒱쒲쒳쒴쒵쒶쒷쒹쒺쒻쒽쒾쒿쓀쓁쓂쓃쓄쓅")
    .add(7200, "쓆쓇쓈쓉쓊쓋쓌쓍쓎쓏쓐쓑쓒쓓쓔쓕쓖쓗쓘쓙쓚쓛쓜쓝쓞쓟")
    .add(7232, "쓠쓡쓢쓣쓤쓥쓦쓧쓨쓪쓫쓬쓭쓮쓯쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂씃씄씅씆씇씈씉씊씋씍씎씏씑씒씓씕씖씗씘씙씚씛씝씞씟씠씡씢씣씤씥씦씧씪씫씭씮씯씱씲씳씴씵씶씷씺씼씾씿앀앁앂앃앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩앪앫앬앭앮앯앲앶앷앸앹앺앻앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔")
    .add(7424, "얖얙얚얛얝얞얟얡얢얣얤얥얦얧얨얪얫얬얭얮얯얰얱얲얳얶")
    .add(7456, "얷얺얿엀엁엂엃엋엍엏엒엓엕엖엗엙엚엛엜엝엞엟엢엤엦엧")
    .add(7488, "엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑옒옓옔옕옖옗옚옝옞옟옠옡옢옣옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉왊왋왌왍왎왏왒왖왗왘왙왚왛왞왟왡왢왣왤왥왦왧왨왩왪왫왭왮왰왲왳왴왵왶왷왺왻왽왾왿욁욂욃욄욅욆욇욊욌욎욏욐욑욒욓욖욗욙욚욛욝욞욟욠욡욢욣욦")
    .add(7680, "욨욪욫욬욭욮욯욲욳욵욶욷욻욼욽욾욿웂웄웆웇웈웉웊웋웎")
    .add(7712, "웏웑웒웓웕웖웗웘웙웚웛웞웟웢웣웤웥웦웧웪웫웭웮웯웱웲")
    .add(7744, "웳웴웵웶웷웺웻웼웾웿윀윁윂윃윆윇윉윊윋윍윎윏윐윑윒윓윖윘윚윛윜윝윞윟윢윣윥윦윧윩윪윫윬윭윮윯윲윴윶윸윹윺윻윾윿읁읂읃읅읆읇읈읉읋읎읐읙읚읛읝읞읟읡읢읣읤읥읦읧읩읪읬읭읮읯읰읱읲읳읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛잜잝잞잟잢잧잨잩잪잫잮잯잱잲잳잵잶잷")
    .add(7936, "잸잹잺잻잾쟂쟃쟄쟅쟆쟇쟊쟋쟍쟏쟑쟒쟓쟔쟕쟖쟗쟙쟚쟛쟜")
    .add(7968, "쟞쟟쟠쟡쟢쟣쟥쟦쟧쟩쟪쟫쟭쟮쟯쟰쟱쟲쟳쟴쟵쟶쟷쟸쟹쟺")
    .add(8000, "쟻쟼쟽쟾쟿젂젃젅젆젇젉젋젌젍젎젏젒젔젗젘젙젚젛젞젟젡젢젣젥젦젧젨젩젪젫젮젰젲젳젴젵젶젷젹젺젻젽젾젿졁졂졃졄졅졆졇졊졋졎졏졐졑졒졓졕졖졗졘졙졚졛졜졝졞졟졠졡졢졣졤졥졦졧졨졩졪졫졬졭졮졯졲졳졵졶졷졹졻졼졽졾졿좂좄좈좉좊좎좏좐좑좒좓좕좖좗좘좙좚좛좜좞좠좢좣좤")
    .add(8192, "좥좦좧좩좪좫좬좭좮좯좰좱좲좳좴좵좶좷좸좹좺좻좾좿죀죁")
    .add(8224, "죂죃죅죆죇죉죊죋죍죎죏죐죑죒죓죖죘죚죛죜죝죞죟죢죣죥")
    .add(8256, "죦죧죨죩죪죫죬죭죮죯죰죱죲죳죴죶죷죸죹죺죻죾죿줁줂줃줇줈줉줊줋줎　、。·‥…¨〃­―∥＼∼‘’“”〔〕〈〉《》「」『』【】±×÷≠≤≥∞∴°′″℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢")
    .add(8448, "줐줒줓줔줕줖줗줙줚줛줜줝줞줟줠줡줢줣줤줥줦줧줨줩줪줫")
    .add(8480, "줭줮줯줰줱줲줳줵줶줷줸줹줺줻줼줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇")
    .add(8512, "쥈쥉쥊쥋쥌쥍쥎쥏쥒쥓쥕쥖쥗쥙쥚쥛쥜쥝쥞쥟쥢쥤쥥쥦쥧쥨쥩쥪쥫쥭쥮쥯⇒⇔∀∃´～ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®")
    .add(8704, "쥱쥲쥳쥵쥶쥷쥸쥹쥺쥻쥽쥾쥿즀즁즂즃즄즅즆즇즊즋즍즎즏")
    .add(8736, "즑즒즓즔즕즖즗즚즜즞즟즠즡즢즣즤즥즦즧즨즩즪즫즬즭즮")
    .add(8768, "즯즰즱즲즳즴즵즶즷즸즹즺즻즼즽즾즿짂짃짅짆짉짋짌짍짎짏짒짔짗짘짛！＂＃＄％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［￦］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝￣")
    .add(8960, "짞짟짡짣짥짦짨짩짪짫짮짲짳짴짵짶짷짺짻짽짾짿쨁쨂쨃쨄")
    .add(8992, "쨅쨆쨇쨊쨎쨏쨐쨑쨒쨓쨕쨖쨗쨙쨚쨛쨜쨝쨞쨟쨠쨡쨢쨣쨤쨥")
    .add(9024, "쨦쨧쨨쨪쨫쨬쨭쨮쨯쨰쨱쨲쨳쨴쨵쨶쨷쨸쨹쨺쨻쨼쨽쨾쨿쩀쩁쩂쩃쩄쩅쩆ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ")
    .add(9216, "쩇쩈쩉쩊쩋쩎쩏쩑쩒쩓쩕쩖쩗쩘쩙쩚쩛쩞쩢쩣쩤쩥쩦쩧쩩쩪")
    .add(9248, "쩫쩬쩭쩮쩯쩰쩱쩲쩳쩴쩵쩶쩷쩸쩹쩺쩻쩼쩾쩿쪀쪁쪂쪃쪅쪆")
    .add(9280, "쪇쪈쪉쪊쪋쪌쪍쪎쪏쪐쪑쪒쪓쪔쪕쪖쪗쪙쪚쪛쪜쪝쪞쪟쪠쪡쪢쪣쪤쪥쪦쪧ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ")
    .add(9327, "ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ")
    .add(9344, "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ")
    .add(9376, "αβγδεζηθικλμνξοπρστυφχψω")
    .add(9472, "쪨쪩쪪쪫쪬쪭쪮쪯쪰쪱쪲쪳쪴쪵쪶쪷쪸쪹쪺쪻쪾쪿쫁쫂쫃쫅")
    .add(9504, "쫆쫇쫈쫉쫊쫋쫎쫐쫒쫔쫕쫖쫗쫚쫛쫜쫝쫞쫟쫡쫢쫣쫤쫥쫦쫧")
    .add(9536, "쫨쫩쫪쫫쫭쫮쫯쫰쫱쫲쫳쫵쫶쫷쫸쫹쫺쫻쫼쫽쫾쫿쬀쬁쬂쬃쬄쬅쬆쬇쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊")
    .add(9728, "쬋쬌쬍쬎쬏쬑쬒쬓쬕쬖쬗쬙쬚쬛쬜쬝쬞쬟쬢쬣쬤쬥쬦쬧쬨쬩")
    .add(9760, "쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭂쭃쭄")
    .add(9792, "쭅쭆쭇쭊쭋쭍쭎쭏쭑쭒쭓쭔쭕쭖쭗쭚쭛쭜쭞쭟쭠쭡쭢쭣쭥쭦쭧쭨쭩쭪쭫쭬㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆")
    .add(9984, "쭭쭮쭯쭰쭱쭲쭳쭴쭵쭶쭷쭺쭻쭼쭽쭾쭿쮀쮁쮂쮃쮄쮅쮆쮇쮈")
    .add(10016, "쮉쮊쮋쮌쮍쮎쮏쮐쮑쮒쮓쮔쮕쮖쮗쮘쮙쮚쮛쮝쮞쮟쮠쮡쮢쮣")
    .add(10048, "쮤쮥쮦쮧쮨쮩쮪쮫쮬쮭쮮쮯쮰쮱쮲쮳쮴쮵쮶쮷쮹쮺쮻쮼쮽쮾쮿쯀쯁쯂쯃쯄ÆÐªĦ")
    .add(10085, "Ĳ")
    .add(10087, "ĿŁØŒºÞŦŊ")
    .add(10096, "㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞")
    .add(10240, "쯅쯆쯇쯈쯉쯊쯋쯌쯍쯎쯏쯐쯑쯒쯓쯕쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟")
    .add(10272, "쯠쯡쯢쯣쯥쯦쯨쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼")
    .add(10304, "쯽쯾쯿찀찁찂찃찄찅찆찇찈찉찊찋찎찏찑찒찓찕찖찗찘찙찚찛찞찟찠찣찤æđðħıĳĸŀłøœßþŧŋŉ㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄")
    .add(10496, "찥찦찪찫찭찯찱찲찳찴찵찶찷찺찿챀챁챂챃챆챇챉챊챋챍챎")
    .add(10528, "챏챐챑챒챓챖챚챛챜챝챞챟챡챢챣챥챧챩챪챫챬챭챮챯챱챲")
    .add(10560, "챳챴챶챷챸챹챺챻챼챽챾챿첀첁첂첃첄첅첆첇첈첉첊첋첌첍첎첏첐첑첒첓ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん")
    .add(10752, "첔첕첖첗첚첛첝첞첟첡첢첣첤첥첦첧첪첮첯첰첱첲첳첶첷첹")
    .add(10784, "첺첻첽첾첿쳀쳁쳂쳃쳆쳈쳊쳋쳌쳍쳎쳏쳑쳒쳓쳕쳖쳗쳘쳙쳚")
    .add(10816, "쳛쳜쳝쳞쳟쳠쳡쳢쳣쳥쳦쳧쳨쳩쳪쳫쳭쳮쳯쳱쳲쳳쳴쳵쳶쳷쳸쳹쳺쳻쳼쳽ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ")
    .add(11008, "쳾쳿촀촂촃촄촅촆촇촊촋촍촎촏촑촒촓촔촕촖촗촚촜촞촟촠")
    .add(11040, "촡촢촣촥촦촧촩촪촫촭촮촯촰촱촲촳촴촵촶촷촸촺촻촼촽촾")
    .add(11072, "촿쵀쵁쵂쵃쵄쵅쵆쵇쵈쵉쵊쵋쵌쵍쵎쵏쵐쵑쵒쵓쵔쵕쵖쵗쵘쵙쵚쵛쵝쵞쵟АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ")
    .add(11152, "абвгдеёжзийклмнопрстуфхцчшщъыьэюя")
    .add(11264, "쵡쵢쵣쵥쵦쵧쵨쵩쵪쵫쵮쵰쵲쵳쵴쵵쵶쵷쵹쵺쵻쵼쵽쵾쵿춀")
    .add(11296, "춁춂춃춄춅춆춇춉춊춋춌춍춎춏춐춑춒춓춖춗춙춚춛춝춞춟")
    .add(11328, "춠춡춢춣춦춨춪춫춬춭춮춯춱춲춳춴춵춶춷춸춹춺춻춼춽춾춿췀췁췂췃췅")
    .add(11520, "췆췇췈췉췊췋췍췎췏췑췒췓췔췕췖췗췘췙췚췛췜췝췞췟췠췡")
    .add(11552, "췢췣췤췥췦췧췩췪췫췭췮췯췱췲췳췴췵췶췷췺췼췾췿츀츁츂")
    .add(11584, "츃츅츆츇츉츊츋츍츎츏츐츑츒츓츕츖츗츘츚츛츜츝츞츟츢츣츥츦츧츩츪츫")
    .add(11776, "츬츭츮츯츲츴츶츷츸츹츺츻츼츽츾츿칀칁칂칃칄칅칆칇칈칉")
    .add(11808, "칊칋칌칍칎칏칐칑칒칓칔칕칖칗칚칛칝칞칢칣칤칥칦칧칪칬")
    .add(11840, "칮칯칰칱칲칳칶칷칹칺칻칽칾칿캀캁캂캃캆캈캊캋캌캍캎캏캒캓캕캖캗캙")
    .add(12032, "캚캛캜캝캞캟캢캦캧캨캩캪캫캮캯캰캱캲캳캴캵캶캷캸캹캺")
    .add(12064, "캻캼캽캾캿컀컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕")
    .add(12096, "컖컗컘컙컚컛컜컝컞컟컠컡컢컣컦컧컩컪컭컮컯컰컱컲컳컶컺컻컼컽컾컿가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆")
    .add(12288, "켂켃켅켆켇켉켊켋켌켍켎켏켒켔켖켗켘켙켚켛켝켞켟켡켢켣")
    .add(12320, "켥켦켧켨켩켪켫켮켲켳켴켵켶켷켹켺켻켼켽켾켿콀콁콂콃콄")
    .add(12352, "콅콆콇콈콉콊콋콌콍콎콏콐콑콒콓콖콗콙콚콛콝콞콟콠콡콢콣콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸")
    .add(12544, "콭콮콯콲콳콵콶콷콹콺콻콼콽콾콿쾁쾂쾃쾄쾆쾇쾈쾉쾊쾋쾍")
    .add(12576, "쾎쾏쾐쾑쾒쾓쾔쾕쾖쾗쾘쾙쾚쾛쾜쾝쾞쾟쾠쾢쾣쾤쾥쾦쾧쾩")
    .add(12608, "쾪쾫쾬쾭쾮쾯쾱쾲쾳쾴쾵쾶쾷쾸쾹쾺쾻쾼쾽쾾쾿쿀쿁쿂쿃쿅쿆쿇쿈쿉쿊쿋깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙")
    .add(12800, "쿌쿍쿎쿏쿐쿑쿒쿓쿔쿕쿖쿗쿘쿙쿚쿛쿜쿝쿞쿟쿢쿣쿥쿦쿧쿩")
    .add(12832, "쿪쿫쿬쿭쿮쿯쿲쿴쿶쿷쿸쿹쿺쿻쿽쿾쿿퀁퀂퀃퀅퀆퀇퀈퀉퀊")
    .add(12864, "퀋퀌퀍퀎퀏퀐퀒퀓퀔퀕퀖퀗퀙퀚퀛퀜퀝퀞퀟퀠퀡퀢퀣퀤퀥퀦퀧퀨퀩퀪퀫퀬끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝")
    .add(13056, "퀮퀯퀰퀱퀲퀳퀶퀷퀹퀺퀻퀽퀾퀿큀큁큂큃큆큈큊큋큌큍큎큏")
    .add(13088, "큑큒큓큕큖큗큙큚큛큜큝큞큟큡큢큣큤큥큦큧큨큩큪큫큮큯")
    .add(13120, "큱큲큳큵큶큷큸큹큺큻큾큿킀킂킃킄킅킆킇킈킉킊킋킌킍킎킏킐킑킒킓킔뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥")
    .add(13312, "킕킖킗킘킙킚킛킜킝킞킟킠킡킢킣킦킧킩킪킫킭킮킯킰킱킲")
    .add(13344, "킳킶킸킺킻킼킽킾킿탂탃탅탆탇탊탋탌탍탎탏탒탖탗탘탙탚")
    .add(13376, "탛탞탟탡탢탣탥탦탧탨탩탪탫탮탲탳탴탵탶탷탹탺탻탼탽탾탿턀턁턂턃턄덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸")
    .add(13568, "턅턆턇턈턉턊턋턌턎턏턐턑턒턓턔턕턖턗턘턙턚턛턜턝턞턟")
    .add(13600, "턠턡턢턣턤턥턦턧턨턩턪턫턬턭턮턯턲턳턵턶턷턹턻턼턽턾")
    .add(13632, "턿텂텆텇텈텉텊텋텎텏텑텒텓텕텖텗텘텙텚텛텞텠텢텣텤텥텦텧텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗")
    .add(13824, "텮텯텰텱텲텳텴텵텶텷텸텹텺텻텽텾텿톀톁톂톃톅톆톇톉톊")
    .add(13856, "톋톌톍톎톏톐톑톒톓톔톕톖톗톘톙톚톛톜톝톞톟톢톣톥톦톧")
    .add(13888, "톩톪톫톬톭톮톯톲톴톶톷톸톹톻톽톾톿퇁퇂퇃퇄퇅퇆퇇퇈퇉퇊퇋퇌퇍퇎퇏래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩")
    .add(14080, "퇐퇑퇒퇓퇔퇕퇖퇗퇙퇚퇛퇜퇝퇞퇟퇠퇡퇢퇣퇤퇥퇦퇧퇨퇩퇪")
    .add(14112, "퇫퇬퇭퇮퇯퇰퇱퇲퇳퇵퇶퇷퇹퇺퇻퇼퇽퇾퇿툀툁툂툃툄툅툆")
    .add(14144, "툈툊툋툌툍툎툏툑툒툓툔툕툖툗툘툙툚툛툜툝툞툟툠툡툢툣툤툥툦툧툨툩륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼")
    .add(14336, "툪툫툮툯툱툲툳툵툶툷툸툹툺툻툾퉀퉂퉃퉄퉅퉆퉇퉉퉊퉋퉌")
    .add(14368, "퉍퉎퉏퉐퉑퉒퉓퉔퉕퉖퉗퉘퉙퉚퉛퉝퉞퉟퉠퉡퉢퉣퉥퉦퉧퉨")
    .add(14400, "퉩퉪퉫퉬퉭퉮퉯퉰퉱퉲퉳퉴퉵퉶퉷퉸퉹퉺퉻퉼퉽퉾퉿튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗")
    .add(14592, "튍튎튏튒튓튔튖튗튘튙튚튛튝튞튟튡튢튣튥튦튧튨튩튪튫튭")
    .add(14624, "튮튯튰튲튳튴튵튶튷튺튻튽튾틁틃틄틅틆틇틊틌틍틎틏틐틑")
    .add(14656, "틒틓틕틖틗틙틚틛틝틞틟틠틡틢틣틦틧틨틩틪틫틬틭틮틯틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤")
    .add(14848, "틻틼틽틾틿팂팄팆팇팈팉팊팋팏팑팒팓팕팗팘팙팚팛팞팢팣")
    .add(14880, "팤팦팧팪팫팭팮팯팱팲팳팴팵팶팷팺팾팿퍀퍁퍂퍃퍆퍇퍈퍉")
    .add(14912, "퍊퍋퍌퍍퍎퍏퍐퍑퍒퍓퍔퍕퍖퍗퍘퍙퍚퍛퍜퍝퍞퍟퍠퍡퍢퍣퍤퍥퍦퍧퍨퍩빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤")
    .add(15104, "퍪퍫퍬퍭퍮퍯퍰퍱퍲퍳퍴퍵퍶퍷퍸퍹퍺퍻퍾퍿펁펂펃펅펆펇")
    .add(15136, "펈펉펊펋펎펒펓펔펕펖펗펚펛펝펞펟펡펢펣펤펥펦펧펪펬펮")
    .add(15168, "펯펰펱펲펳펵펶펷펹펺펻펽펾펿폀폁폂폃폆폇폊폋폌폍폎폏폑폒폓폔폕폖샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭")
    .add(15360, "폗폙폚폛폜폝폞폟폠폢폤폥폦폧폨폩폪폫폮폯폱폲폳폵폶폷")
    .add(15392, "폸폹폺폻폾퐀퐂퐃퐄퐅퐆퐇퐉퐊퐋퐌퐍퐎퐏퐐퐑퐒퐓퐔퐕퐖")
    .add(15424, "퐗퐘퐙퐚퐛퐜퐞퐟퐠퐡퐢퐣퐤퐥퐦퐧퐨퐩퐪퐫퐬퐭퐮퐯퐰퐱퐲퐳퐴퐵퐶퐷숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰")
    .add(15616, "퐸퐹퐺퐻퐼퐽퐾퐿푁푂푃푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓")
    .add(15648, "푔푕푖푗푘푙푚푛푝푞푟푡푢푣푥푦푧푨푩푪푫푬푮푰푱푲")
    .add(15680, "푳푴푵푶푷푺푻푽푾풁풃풄풅풆풇풊풌풎풏풐풑풒풓풕풖풗풘풙풚풛풜풝쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎")
    .add(15872, "풞풟풠풡풢풣풤풥풦풧풨풪풫풬풭풮풯풰풱풲풳풴풵풶풷풸")
    .add(15904, "풹풺풻풼풽풾풿퓀퓁퓂퓃퓄퓅퓆퓇퓈퓉퓊퓋퓍퓎퓏퓑퓒퓓퓕")
    .add(15936, "퓖퓗퓘퓙퓚퓛퓝퓞퓠퓡퓢퓣퓤퓥퓦퓧퓩퓪퓫퓭퓮퓯퓱퓲퓳퓴퓵퓶퓷퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨")
    .add(16128, "퓾퓿픀픁픂픃픅픆픇픉픊픋픍픎픏픐픑픒픓픖픘픙픚픛픜픝")
    .add(16160, "픞픟픠픡픢픣픤픥픦픧픨픩픪픫픬픭픮픯픰픱픲픳픴픵픶픷")
    .add(16192, "픸픹픺픻픾픿핁핂핃핅핆핇핈핉핊핋핎핐핒핓핔핕핖핗핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊")
    .add(16384, "핤핦핧핪핬핮핯핰핱핲핳핶핷핹핺핻핽핾핿햀햁햂햃햆햊햋")
    .add(16416, "햌햍햎햏햑햒햓햔햕햖햗햘햙햚햛햜햝햞햟햠햡햢햣햤햦햧")
    .add(16448, "햨햩햪햫햬햭햮햯햰햱햲햳햴햵햶햷햸햹햺햻햼햽햾햿헀헁헂헃헄헅헆헇점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓")
    .add(16640, "헊헋헍헎헏헑헓헔헕헖헗헚헜헞헟헠헡헢헣헦헧헩헪헫헭헮")
    .add(16672, "헯헰헱헲헳헶헸헺헻헼헽헾헿혂혃혅혆혇혉혊혋혌혍혎혏혒")
    .add(16704, "혖혗혘혙혚혛혝혞혟혡혢혣혥혦혧혨혩혪혫혬혮혯혰혱혲혳혴혵혶혷혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻")
    .add(16896, "혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝홞홟홠홡")
    .add(16928, "홢홣홤홥홦홨홪홫홬홭홮홯홲홳홵홶홷홸홹홺홻홼홽홾홿횀")
    .add(16960, "횁횂횄횆횇횈횉횊횋횎횏횑횒횓횕횖횗횘횙횚횛횜횞횠횢횣횤횥횦횧횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층")
    .add(17152, "횫횭횮횯횱횲횳횴횵횶횷횸횺횼횽횾횿훀훁훂훃훆훇훉훊훋")
    .add(17184, "훍훎훏훐훒훓훕훖훘훚훛훜훝훞훟훡훢훣훥훦훧훩훪훫훬훭")
    .add(17216, "훮훯훱훲훳훴훶훷훸훹훺훻훾훿휁휂휃휅휆휇휈휉휊휋휌휍휎휏휐휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼")
    .add(17408, "휕휖휗휚휛휝휞휟휡휢휣휤휥휦휧휪휬휮휯휰휱휲휳휶휷휹")
    .add(17440, "휺휻휽휾휿흀흁흂흃흅흆흈흊흋흌흍흎흏흒흓흕흚흛흜흝흞")
    .add(17472, "흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵흶흷흸흹흺흻흾흿힀힂힃힄힅힆힇힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜")
    .add(17664, "힍힎힏힑힒힓힔힕힖힗힚힜힞힟힠힡힢힣")
    .add(17760, "퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁")
    .add(18016, "퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠")
    .add(18272, "혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝")
    .add(18784, "伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕")
    .add(19040, "匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢")
    .add(19296, "瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械")
    .add(19552, "棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜")
    .add(19808, "科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾")
    .add(20064, "區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴")
    .add(20320, "鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣")
    .add(20576, "朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉")
    .add(20832, "納臘蠟衲囊娘廊朗浪狼郎乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐勒肋凜凌稜綾能菱陵尼泥匿溺多茶")
    .add(21088, "丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃")
    .add(21344, "棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅")
    .add(21600, "蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣")
    .add(21856, "煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼")
    .add(22112, "遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬")
    .add(22368, "立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅")
    .add(22624, "蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文")
    .add(22880, "汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑")
    .add(23136, "發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖")
    .add(23392, "碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦")
    .add(23648, "孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥")
    .add(23904, "脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索")
    .add(24160, "傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署")
    .add(24416, "胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬")
    .add(24672, "聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁")
    .add(24928, "戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧")
    .add(25184, "嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁")
    .add(25440, "沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額")
    .add(25696, "櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬")
    .add(25952, "旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒")
    .add(26208, "簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳")
    .add(26464, "烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療")
    .add(26720, "窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓")
    .add(26976, "運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜")
    .add(27232, "濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼")
    .add(27488, "議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄")
    .add(27744, "立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長")
    .add(28000, "障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱")
    .add(28256, "煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖")
    .add(28512, "靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫")
    .add(28768, "踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只")
    .add(29024, "咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯")
    .add(29280, "鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策")
    .add(29536, "責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢")
    .add(29792, "椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃")
    .add(30048, "贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託")
    .add(30304, "鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑")
    .add(30560, "阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃")
    .add(30816, "品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航")
    .add(31072, "行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型")
    .add(31328, "形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵")
    .add(31584, "禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆")
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/dx-decoding/hangul949-decoder-helper.ts



class HangulDecoderHelper {
    static get cptable() {
        if (!HangulDecoderHelper._cptable) {
            const data = {};
            number/* NumberMapUtils */.j.forEach(specified_949, (value, key) => {
                utils_list.ListUtils.forEach(value.split(''), (char, index) => {
                    data[key + index] = char;
                });
            });
            HangulDecoderHelper._cptable = data;
        }
        return HangulDecoderHelper._cptable;
    }
    static getChars(data) {
        const cpTable = HangulDecoderHelper.cptable;
        const result = [];
        const prefixToIndex = 33089;
        let step = 0;
        const length = data.length;
        for (let i = 0; i < length; i += step) {
            step = 2;
            let currentChar;
            if (i + 1 < length)
                currentChar = cpTable[(data[i].charCodeAt(0) << 8) + data[i + 1].charCodeAt(0) - prefixToIndex];
            if (!currentChar) {
                step = 1;
                currentChar = cpTable[data[i].charCodeAt(0) - prefixToIndex];
            }
            result.push(currentChar !== null && currentChar !== void 0 ? currentChar : data[i]);
        }
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/dx-decoding/decoder-base.ts
class DecoderBase {
    static decode(str, specifiedSymbols) {
        if (str == null) {
            return null;
        }
        let result = "";
        for (let i = 0; i < str.length; i++) {
            const sourceCharCode = str.charCodeAt(i);
            const target = specifiedSymbols[sourceCharCode];
            const targetCharCode = target !== undefined ? target : sourceCharCode;
            result = result + String.fromCharCode(targetCharCode);
        }
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/utils/number-converter.ts
var number_converter = __webpack_require__(6794);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/dx-decoding/specified-symbols.ts

const windows1250specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0082, 0x201A)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0089, 0x2030)
    .add(0x008A, 0x0160)
    .add(0x008B, 0x2039)
    .add(0x008C, 0x015A)
    .add(0x008D, 0x0164)
    .add(0x008E, 0x017D)
    .add(0x008F, 0x0179)
    .add(0x0091, 0x2018)
    .add(0x0092, 0x2019)
    .add(0x0093, 0x201C)
    .add(0x0094, 0x201D)
    .add(0x0095, 0x2022)
    .add(0x0096, 0x2013)
    .add(0x0097, 0x2014)
    .add(0x0099, 0x2122)
    .add(0x009A, 0x0161)
    .add(0x009B, 0x203A)
    .add(0x009C, 0x015B)
    .add(0x009D, 0x0165)
    .add(0x009E, 0x017E)
    .add(0x009F, 0x017A)
    .add(0x00A0, 0x00A0)
    .add(0x00A1, 0x02C7)
    .add(0x00A2, 0x02D8)
    .add(0x00A3, 0x0141)
    .add(0x00A4, 0x00A4)
    .add(0x00A5, 0x0104)
    .add(0x00A6, 0x00A6)
    .add(0x00A7, 0x00A7)
    .add(0x00A8, 0x00A8)
    .add(0x00A9, 0x00A9)
    .add(0x00AA, 0x015E)
    .add(0x00AB, 0x00AB)
    .add(0x00AC, 0x00AC)
    .add(0x00AD, 0x00AD)
    .add(0x00AE, 0x00AE)
    .add(0x00AF, 0x017B)
    .add(0x00B0, 0x00B0)
    .add(0x00B1, 0x00B1)
    .add(0x00B2, 0x02DB)
    .add(0x00B3, 0x0142)
    .add(0x00B4, 0x00B4)
    .add(0x00B5, 0x00B5)
    .add(0x00B6, 0x00B6)
    .add(0x00B7, 0x00B7)
    .add(0x00B8, 0x00B8)
    .add(0x00B9, 0x0105)
    .add(0x00BA, 0x015F)
    .add(0x00BB, 0x00BB)
    .add(0x00BC, 0x013D)
    .add(0x00BD, 0x02DD)
    .add(0x00BE, 0x013E)
    .add(0x00BF, 0x017C)
    .add(0x00C0, 0x0154)
    .add(0x00C1, 0x00C1)
    .add(0x00C2, 0x00C2)
    .add(0x00C3, 0x0102)
    .add(0x00C4, 0x00C4)
    .add(0x00C5, 0x0139)
    .add(0x00C6, 0x0106)
    .add(0x00C7, 0x00C7)
    .add(0x00C8, 0x010C)
    .add(0x00C9, 0x00C9)
    .add(0x00CA, 0x0118)
    .add(0x00CB, 0x00CB)
    .add(0x00CC, 0x011A)
    .add(0x00CD, 0x00CD)
    .add(0x00CE, 0x00CE)
    .add(0x00CF, 0x010E)
    .add(0x00D0, 0x0110)
    .add(0x00D1, 0x0143)
    .add(0x00D2, 0x0147)
    .add(0x00D3, 0x00D3)
    .add(0x00D4, 0x00D4)
    .add(0x00D5, 0x0150)
    .add(0x00D6, 0x00D6)
    .add(0x00D7, 0x00D7)
    .add(0x00D8, 0x0158)
    .add(0x00D9, 0x016E)
    .add(0x00DA, 0x00DA)
    .add(0x00DB, 0x0170)
    .add(0x00DC, 0x00DC)
    .add(0x00DD, 0x00DD)
    .add(0x00DE, 0x0162)
    .add(0x00DF, 0x00DF)
    .add(0x00E0, 0x0155)
    .add(0x00E1, 0x00E1)
    .add(0x00E2, 0x00E2)
    .add(0x00E3, 0x0103)
    .add(0x00E4, 0x00E4)
    .add(0x00E5, 0x013A)
    .add(0x00E6, 0x0107)
    .add(0x00E7, 0x00E7)
    .add(0x00E8, 0x010D)
    .add(0x00E9, 0x00E9)
    .add(0x00EA, 0x0119)
    .add(0x00EB, 0x00EB)
    .add(0x00EC, 0x011B)
    .add(0x00ED, 0x00ED)
    .add(0x00EE, 0x00EE)
    .add(0x00EF, 0x010F)
    .add(0x00F0, 0x0111)
    .add(0x00F1, 0x0144)
    .add(0x00F2, 0x0148)
    .add(0x00F3, 0x00F3)
    .add(0x00F4, 0x00F4)
    .add(0x00F5, 0x0151)
    .add(0x00F6, 0x00F6)
    .add(0x00F7, 0x00F7)
    .add(0x00F8, 0x0159)
    .add(0x00F9, 0x016F)
    .add(0x00FA, 0x00FA)
    .add(0x00FB, 0x0171)
    .add(0x00FC, 0x00FC)
    .add(0x00FD, 0x00FD)
    .add(0x00FE, 0x0163)
    .add(0x00FF, 0x02D9)
    .get();
const windows1252specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0082, 0x201A)
    .add(0x0083, 0x0192)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0088, 0x02C6)
    .add(0x0089, 0x2030)
    .add(0x008A, 0x0160)
    .add(0x008B, 0x2039)
    .add(0x008C, 0x0152)
    .add(0x008E, 0x017D)
    .add(0x0091, 0x2018)
    .add(0x0092, 0x2019)
    .add(0x0093, 0x201C)
    .add(0x0094, 0x201D)
    .add(0x0095, 0x2022)
    .add(0x0096, 0x2013)
    .add(0x0097, 0x2014)
    .add(0x0098, 0x02DC)
    .add(0x0099, 0x2122)
    .add(0x009A, 0x0161)
    .add(0x009B, 0x203A)
    .add(0x009C, 0x0153)
    .add(0x009E, 0x017E)
    .add(0x009F, 0x0178)
    .get();
const windows1253specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0082, 0x201A)
    .add(0x0083, 0x0192)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0089, 0x2030)
    .add(0x008B, 0x2039)
    .add(0x0091, 0x2018)
    .add(0x0092, 0x2019)
    .add(0x0093, 0x201C)
    .add(0x0094, 0x201D)
    .add(0x0095, 0x2022)
    .add(0x0096, 0x2013)
    .add(0x0097, 0x2014)
    .add(0x0099, 0x2122)
    .add(0x009B, 0x203A)
    .add(0x00A1, 0x0385)
    .add(0x00A2, 0x0386)
    .add(0x00AF, 0x2015)
    .add(0x00B4, 0x0384)
    .add(0x00B8, 0x0388)
    .add(0x00B9, 0x0389)
    .add(0x00BA, 0x038A)
    .add(0x00BC, 0x038C)
    .add(0x00BE, 0x038E)
    .add(0x00BF, 0x038F)
    .add(0x00C0, 0x0390)
    .add(0x00C1, 0x0391)
    .add(0x00C2, 0x0392)
    .add(0x00C3, 0x0393)
    .add(0x00C4, 0x0394)
    .add(0x00C5, 0x0395)
    .add(0x00C6, 0x0396)
    .add(0x00C7, 0x0397)
    .add(0x00C8, 0x0398)
    .add(0x00C9, 0x0399)
    .add(0x00CA, 0x039A)
    .add(0x00CB, 0x039B)
    .add(0x00CC, 0x039C)
    .add(0x00CD, 0x039D)
    .add(0x00CE, 0x039E)
    .add(0x00CF, 0x039F)
    .add(0x00D0, 0x03A0)
    .add(0x00D1, 0x03A1)
    .add(0x00D3, 0x03A3)
    .add(0x00D4, 0x03A4)
    .add(0x00D5, 0x03A5)
    .add(0x00D6, 0x03A6)
    .add(0x00D7, 0x03A7)
    .add(0x00D8, 0x03A8)
    .add(0x00D9, 0x03A9)
    .add(0x00DA, 0x03AA)
    .add(0x00DB, 0x03AB)
    .add(0x00DC, 0x03AC)
    .add(0x00DD, 0x03AD)
    .add(0x00DE, 0x03AE)
    .add(0x00DF, 0x03AF)
    .add(0x00E0, 0x03B0)
    .add(0x00E1, 0x03B1)
    .add(0x00E2, 0x03B2)
    .add(0x00E3, 0x03B3)
    .add(0x00E4, 0x03B4)
    .add(0x00E5, 0x03B5)
    .add(0x00E6, 0x03B6)
    .add(0x00E7, 0x03B7)
    .add(0x00E8, 0x03B8)
    .add(0x00E9, 0x03B9)
    .add(0x00EA, 0x03BA)
    .add(0x00EB, 0x03BB)
    .add(0x00EC, 0x03BC)
    .add(0x00ED, 0x03BD)
    .add(0x00EE, 0x03BE)
    .add(0x00EF, 0x03BF)
    .add(0x00F0, 0x03C0)
    .add(0x00F1, 0x03C1)
    .add(0x00F2, 0x03C2)
    .add(0x00F3, 0x03C3)
    .add(0x00F4, 0x03C4)
    .add(0x00F5, 0x03C5)
    .add(0x00F6, 0x03C6)
    .add(0x00F7, 0x03C7)
    .add(0x00F8, 0x03C8)
    .add(0x00F9, 0x03C9)
    .add(0x00FA, 0x03CA)
    .add(0x00FB, 0x03CB)
    .add(0x00FC, 0x03CC)
    .add(0x00FD, 0x03CD)
    .add(0x00FE, 0x03CE)
    .get();
const windows1254specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0082, 0x201A)
    .add(0x0083, 0x0192)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0088, 0x02C6)
    .add(0x0089, 0x2030)
    .add(0x008A, 0x0160)
    .add(0x008B, 0x2039)
    .add(0x008C, 0x0152)
    .add(0x0091, 0x2018)
    .add(0x0092, 0x2019)
    .add(0x0093, 0x201C)
    .add(0x0094, 0x201D)
    .add(0x0095, 0x2022)
    .add(0x0096, 0x2013)
    .add(0x0097, 0x2014)
    .add(0x0098, 0x02DC)
    .add(0x0099, 0x2122)
    .add(0x009A, 0x0161)
    .add(0x009B, 0x203A)
    .add(0x009C, 0x0153)
    .add(0x009F, 0x0178)
    .add(0x00D0, 0x011E)
    .add(0x00DD, 0x0130)
    .add(0x00DE, 0x015E)
    .add(0x00F0, 0x011F)
    .add(0x00FD, 0x0131)
    .add(0x00FE, 0x015F)
    .get();
const windows1255specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0082, 0x201A)
    .add(0x0083, 0x0192)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0088, 0x02C6)
    .add(0x0089, 0x2030)
    .add(0x008B, 0x2039)
    .add(0x0091, 0x2018)
    .add(0x0092, 0x2019)
    .add(0x0093, 0x201C)
    .add(0x0094, 0x201D)
    .add(0x0095, 0x2022)
    .add(0x0096, 0x2013)
    .add(0x0097, 0x2014)
    .add(0x0098, 0x02DC)
    .add(0x0099, 0x2122)
    .add(0x009B, 0x203A)
    .add(0x00A4, 0x20AA)
    .add(0x00AA, 0x00D7)
    .add(0x00BA, 0x00F7)
    .add(0x00C0, 0x05B0)
    .add(0x00C1, 0x05B1)
    .add(0x00C2, 0x05B2)
    .add(0x00C3, 0x05B3)
    .add(0x00C4, 0x05B4)
    .add(0x00C5, 0x05B5)
    .add(0x00C6, 0x05B6)
    .add(0x00C7, 0x05B7)
    .add(0x00C8, 0x05B8)
    .add(0x00C9, 0x05B9)
    .add(0x00CA, 0x05BA)
    .add(0x00CB, 0x05BB)
    .add(0x00CC, 0x05BC)
    .add(0x00CD, 0x05BD)
    .add(0x00CE, 0x05BE)
    .add(0x00CF, 0x05BF)
    .add(0x00D0, 0x05C0)
    .add(0x00D1, 0x05C1)
    .add(0x00D2, 0x05C2)
    .add(0x00D3, 0x05C3)
    .add(0x00D4, 0x05F0)
    .add(0x00D5, 0x05F1)
    .add(0x00D6, 0x05F2)
    .add(0x00D7, 0x05F3)
    .add(0x00D8, 0x05F4)
    .add(0x00E0, 0x05D0)
    .add(0x00E1, 0x05D1)
    .add(0x00E2, 0x05D2)
    .add(0x00E3, 0x05D3)
    .add(0x00E4, 0x05D4)
    .add(0x00E5, 0x05D5)
    .add(0x00E6, 0x05D6)
    .add(0x00E7, 0x05D7)
    .add(0x00E8, 0x05D8)
    .add(0x00E9, 0x05D9)
    .add(0x00EA, 0x05DA)
    .add(0x00EB, 0x05DB)
    .add(0x00EC, 0x05DC)
    .add(0x00ED, 0x05DD)
    .add(0x00EE, 0x05DE)
    .add(0x00EF, 0x05DF)
    .add(0x00F0, 0x05E0)
    .add(0x00F1, 0x05E1)
    .add(0x00F2, 0x05E2)
    .add(0x00F3, 0x05E3)
    .add(0x00F4, 0x05E4)
    .add(0x00F5, 0x05E5)
    .add(0x00F6, 0x05E6)
    .add(0x00F7, 0x05E7)
    .add(0x00F8, 0x05E8)
    .add(0x00F9, 0x05E9)
    .add(0x00FA, 0x05EA)
    .add(0x00FD, 0x200E)
    .add(0x00FE, 0x200F)
    .get();
const windows1256specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0081, 0x067E)
    .add(0x0082, 0x201A)
    .add(0x0083, 0x0192)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0088, 0x02C6)
    .add(0x0089, 0x2030)
    .add(0x008A, 0x0679)
    .add(0x008B, 0x2039)
    .add(0x008C, 0x0152)
    .add(0x008D, 0x0686)
    .add(0x008E, 0x0698)
    .add(0x008F, 0x0688)
    .add(0x0090, 0x06AF)
    .add(0x0091, 0x2018)
    .add(0x0092, 0x2019)
    .add(0x0093, 0x201C)
    .add(0x0094, 0x201D)
    .add(0x0095, 0x2022)
    .add(0x0096, 0x2013)
    .add(0x0097, 0x2014)
    .add(0x0098, 0x06A9)
    .add(0x0099, 0x2122)
    .add(0x009A, 0x0691)
    .add(0x009B, 0x203A)
    .add(0x009C, 0x0153)
    .add(0x009D, 0x200C)
    .add(0x009E, 0x200D)
    .add(0x009F, 0x06BA)
    .add(0x00A1, 0x060C)
    .add(0x00AA, 0x06BE)
    .add(0x00BA, 0x061B)
    .add(0x00BF, 0x061F)
    .add(0x00C0, 0x06C1)
    .add(0x00C1, 0x0621)
    .add(0x00C2, 0x0622)
    .add(0x00C3, 0x0623)
    .add(0x00C4, 0x0624)
    .add(0x00C5, 0x0625)
    .add(0x00C6, 0x0626)
    .add(0x00C7, 0x0627)
    .add(0x00C8, 0x0628)
    .add(0x00C9, 0x0629)
    .add(0x00CA, 0x062A)
    .add(0x00CB, 0x062B)
    .add(0x00CC, 0x062C)
    .add(0x00CD, 0x062D)
    .add(0x00CE, 0x062E)
    .add(0x00CF, 0x062F)
    .add(0x00D0, 0x0630)
    .add(0x00D1, 0x0631)
    .add(0x00D2, 0x0632)
    .add(0x00D3, 0x0633)
    .add(0x00D4, 0x0634)
    .add(0x00D5, 0x0635)
    .add(0x00D6, 0x0636)
    .add(0x00D8, 0x0637)
    .add(0x00D9, 0x0638)
    .add(0x00DA, 0x0639)
    .add(0x00DB, 0x063A)
    .add(0x00DC, 0x0640)
    .add(0x00DD, 0x0641)
    .add(0x00DE, 0x0642)
    .add(0x00DF, 0x0643)
    .add(0x00E1, 0x0644)
    .add(0x00E3, 0x0645)
    .add(0x00E4, 0x0646)
    .add(0x00E5, 0x0647)
    .add(0x00E6, 0x0648)
    .add(0x00EC, 0x0649)
    .add(0x00ED, 0x064A)
    .add(0x00F0, 0x064B)
    .add(0x00F1, 0x064C)
    .add(0x00F2, 0x064D)
    .add(0x00F3, 0x064E)
    .add(0x00F5, 0x064F)
    .add(0x00F6, 0x0650)
    .add(0x00F8, 0x0651)
    .add(0x00FA, 0x0652)
    .add(0x00FD, 0x200E)
    .add(0x00FE, 0x200F)
    .add(0x00FF, 0x06D2)
    .get();
const windows1257specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0082, 0x201A)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0089, 0x2030)
    .add(0x008B, 0x2039)
    .add(0x008D, 0x00A8)
    .add(0x008E, 0x02C7)
    .add(0x008F, 0x00B8)
    .add(0x009C, 0x00AF)
    .add(0x009D, 0x02DB)
    .get();
const windows1258specifiedSymbols = new map_creator/* MapCreator */.M()
    .add(0x0080, 0x20AC)
    .add(0x0082, 0x201A)
    .add(0x0083, 0x0192)
    .add(0x0084, 0x201E)
    .add(0x0085, 0x2026)
    .add(0x0086, 0x2020)
    .add(0x0087, 0x2021)
    .add(0x0088, 0x02C6)
    .add(0x0089, 0x2030)
    .add(0x008B, 0x2039)
    .add(0x008C, 0x0152)
    .add(0x0091, 0x2018)
    .add(0x0092, 0x2019)
    .add(0x0093, 0x201C)
    .add(0x0094, 0x201D)
    .add(0x0095, 0x2022)
    .add(0x0096, 0x2013)
    .add(0x0097, 0x2014)
    .add(0x0098, 0x02DC)
    .add(0x0099, 0x2122)
    .add(0x009B, 0x203A)
    .add(0x009C, 0x0153)
    .add(0x009F, 0x0178)
    .add(0x00C3, 0x0102)
    .add(0x00CC, 0x0300)
    .add(0x00D0, 0x0110)
    .add(0x00D2, 0x0309)
    .add(0x00D5, 0x01A0)
    .add(0x00DD, 0x01AF)
    .add(0x00DE, 0x0303)
    .add(0x00E3, 0x0103)
    .add(0x00EC, 0x0301)
    .add(0x00F0, 0x0111)
    .add(0x00F2, 0x0323)
    .add(0x00F5, 0x01A1)
    .add(0x00FD, 0x01B0)
    .add(0x00FE, 0x20AB)
    .get();
const gb2312date = "a1e800A4a1ec00A7a1a700A8a1e300B0a1c000B1a1c100D7a8a400E0a8a200E1a8a800E8a8a600E9a8ba00EAa8ac00ECa8aa00EDa8b000F2a8ae00F3a1c200F7a8b400F9a8b200FAa8b900FCa8a10101a8a50113a8a7011Ba8a9012Ba8ad014Da8b1016Ba8a301CEa8ab01D0a8af01D2a8b301D4a8b501D6a8b601D8a8b701DAa8b801DCa1a602C7a1a502C9a6a10391a6a20392a6a30393a6a40394a6a50395a6a60396a6a70397a6a80398a6a90399a6aa039Aa6ab039Ba6ac039Ca6ad039Da6ae039Ea6af039Fa6b003A0a6b103A1a6b203A3a6b303A4a6b403A5a6b503A6a6b603A7a6b703A8a6b803A9a6c103B1a6c203B2a6c303B3a6c403B4a6c503B5a6c603B6a6c703B7a6c803B8a6c903B9a6ca03BAa6cb03BBa6cc03BCa6cd03BDa6ce03BEa6cf03BFa6d003C0a6d103C1a6d203C3a6d303C4a6d403C5a6d503C6a6d603C7a6d703C8a6d803C9a7a70401a7a10410a7a20411a7a30412a7a40413a7a50414a7a60415a7a80416a7a90417a7aa0418a7ab0419a7ac041Aa7ad041Ba7ae041Ca7af041Da7b0041Ea7b1041Fa7b20420a7b30421a7b40422a7b50423a7b60424a7b70425a7b80426a7b90427a7ba0428a7bb0429a7bc042Aa7bd042Ba7be042Ca7bf042Da7c0042Ea7c1042Fa7d10430a7d20431a7d30432a7d40433a7d50434a7d60435a7d80436a7d90437a7da0438a7db0439a7dc043Aa7dd043Ba7de043Ca7df043Da7e0043Ea7e1043Fa7e20440a7e30441a7e40442a7e50443a7e60444a7e70445a7e80446a7e90447a7ea0448a7eb0449a7ec044Aa7ed044Ba7ee044Ca7ef044Da7f0044Ea7f1044Fa7d70451a1aa2015a1ac2016a1ae2018a1af2019a1b0201Ca1b1201Da1ad2026a1eb2030a1e42032a1e52033a1f9203Ba1e62103a1ed2116a2f12160a2f22161a2f32162a2f42163a2f52164a2f62165a2f72166a2f82167a2f92168a2fa2169a2fb216Aa2fc216Ba1fb2190a1fc2191a1fa2192a1fd2193a1ca2208a1c7220Fa1c62211a1cc221Aa1d8221Da1de221Ea1cf2220a1ce2225a1c42227a1c52228a1c92229a1c8222Aa1d2222Ba1d3222Ea1e02234a1df2235a1c32236a1cb2237a1d7223Da1d62248a1d5224Ca1d92260a1d42261a1dc2264a1dd2265a1da226Ea1db226Fa1d12299a1cd22A5a1d02312a2d92460a2da2461a2db2462a2dc2463a2dd2464a2de2465a2df2466a2e02467a2e12468a2e22469a2c52474a2c62475a2c72476a2c82477a2c92478a2ca2479a2cb247Aa2cc247Ba2cd247Ca2ce247Da2cf247Ea2d0247Fa2d12480a2d22481a2d32482a2d42483a2d52484a2d62485a2d72486a2d82487a2b12488a2b22489a2b3248Aa2b4248Ba2b5248Ca2b6248Da2b7248Ea2b8248Fa2b92490a2ba2491a2bb2492a2bc2493a2bd2494a2be2495a2bf2496a2c02497a2c12498a2c22499a2c3249Aa2c4249Ba9a42500a9a52501a9a62502a9a72503a9a82504a9a92505a9aa2506a9ab2507a9ac2508a9ad2509a9ae250Aa9af250Ba9b0250Ca9b1250Da9b2250Ea9b3250Fa9b42510a9b52511a9b62512a9b72513a9b82514a9b92515a9ba2516a9bb2517a9bc2518a9bd2519a9be251Aa9bf251Ba9c0251Ca9c1251Da9c2251Ea9c3251Fa9c42520a9c52521a9c62522a9c72523a9c82524a9c92525a9ca2526a9cb2527a9cc2528a9cd2529a9ce252Aa9cf252Ba9d0252Ca9d1252Da9d2252Ea9d3252Fa9d42530a9d52531a9d62532a9d72533a9d82534a9d92535a9da2536a9db2537a9dc2538a9dd2539a9de253Aa9df253Ba9e0253Ca9e1253Da9e2253Ea9e3253Fa9e42540a9e52541a9e62542a9e72543a9e82544a9e92545a9ea2546a9eb2547a9ec2548a9ed2549a9ee254Aa9ef254Ba1f625A0a1f525A1a1f825B2a1f725B3a1f425C6a1f325C7a1f025CBa1f225CEa1f125CFa1ef2605a1ee2606a1e22640a1e12642a1a13000a1a23001a1a33002a1a83003a1a93005a1b43008a1b53009a1b6300Aa1b7300Ba1b8300Ca1b9300Da1ba300Ea1bb300Fa1be3010a1bf3011a1fe3013a1b23014a1b33015a1bc3016a1bd3017a4a13041a4a23042a4a33043a4a43044a4a53045a4a63046a4a73047a4a83048a4a93049a4aa304Aa4ab304Ba4ac304Ca4ad304Da4ae304Ea4af304Fa4b03050a4b13051a4b23052a4b33053a4b43054a4b53055a4b63056a4b73057a4b83058a4b93059a4ba305Aa4bb305Ba4bc305Ca4bd305Da4be305Ea4bf305Fa4c03060a4c13061a4c23062a4c33063a4c43064a4c53065a4c63066a4c73067a4c83068a4c93069a4ca306Aa4cb306Ba4cc306Ca4cd306Da4ce306Ea4cf306Fa4d03070a4d13071a4d23072a4d33073a4d43074a4d53075a4d63076a4d73077a4d83078a4d93079a4da307Aa4db307Ba4dc307Ca4dd307Da4de307Ea4df307Fa4e03080a4e13081a4e23082a4e33083a4e43084a4e53085a4e63086a4e73087a4e83088a4e93089a4ea308Aa4eb308Ba4ec308Ca4ed308Da4ee308Ea4ef308Fa4f03090a4f13091a4f23092a4f33093a5a130A1a5a230A2a5a330A3a5a430A4a5a530A5a5a630A6a5a730A7a5a830A8a5a930A9a5aa30AAa5ab30ABa5ac30ACa5ad30ADa5ae30AEa5af30AFa5b030B0a5b130B1a5b230B2a5b330B3a5b430B4a5b530B5a5b630B6a5b730B7a5b830B8a5b930B9a5ba30BAa5bb30BBa5bc30BCa5bd30BDa5be30BEa5bf30BFa5c030C0a5c130C1a5c230C2a5c330C3a5c430C4a5c530C5a5c630C6a5c730C7a5c830C8a5c930C9a5ca30CAa5cb30CBa5cc30CCa5cd30CDa5ce30CEa5cf30CFa5d030D0a5d130D1a5d230D2a5d330D3a5d430D4a5d530D5a5d630D6a5d730D7a5d830D8a5d930D9a5da30DAa5db30DBa5dc30DCa5dd30DDa5de30DEa5df30DFa5e030E0a5e130E1a5e230E2a5e330E3a5e430E4a5e530E5a5e630E6a5e730E7a5e830E8a5e930E9a5ea30EAa5eb30EBa5ec30ECa5ed30EDa5ee30EEa5ef30EFa5f030F0a5f130F1a5f230F2a5f330F3a5f430F4a5f530F5a5f630F6a1a430FBa8c53105a8c63106a8c73107a8c83108a8c93109a8ca310Aa8cb310Ba8cc310Ca8cd310Da8ce310Ea8cf310Fa8d03110a8d13111a8d23112a8d33113a8d43114a8d53115a8d63116a8d73117a8d83118a8d93119a8da311Aa8db311Ba8dc311Ca8dd311Da8de311Ea8df311Fa8e03120a8e13121a8e23122a8e33123a8e43124a8e53125a8e63126a8e73127a8e83128a8e93129a2e53220a2e63221a2e73222a2e83223a2e93224a2ea3225a2eb3226a2ec3227a2ed3228a2ee3229d2bb4E00b6a14E01c6df4E03cdf24E07d5c94E08c8fd4E09c9cf4E0Acfc24E0Bd8a24E0Cb2bb4E0Dd3eb4E0Ed8a44E10b3f34E11d7a84E13c7d24E14d8a74E15cac04E16c7f04E18b1fb4E19d2b54E1Ab4d44E1Bb6ab4E1Ccbbf4E1Dd8a94E1Eb6aa4E22c1bd4E24d1cf4E25c9a54E27d8ad4E28b8f64E2Ad1be4E2Be3dc4E2Cd6d04E2Db7e14E30b4ae4E32c1d94E34d8bc4E36cde84E38b5a44E39ceaa4E3Ad6f74E3Bc0f64E3Dbed94E3Ed8af4E3Fc4cb4E43bec34E45d8b14E47c3b44E48d2e54E49d6ae4E4Bceda4E4Cd5a74E4Dbaf54E4Eb7a64E4Fc0d64E50c6b94E52c5d24E53c7c74E54b9d44E56b3cb4E58d2d24E59d8bf4E5Cbec54E5Dc6f24E5Ed2b24E5Fcfb04E60cfe74E61cae94E66d8c04E69c2f24E70c2d24E71c8e94E73c7ac4E7Ec1cb4E86d3e84E88d5f94E89cac24E8Bb6fe4E8Cd8a14E8Dd3da4E8Ebff74E8Fd4c64E91bba54E92d8c14E93cee54E94beae4E95d8a84E98d1c74E9Ad0a94E9Bd8bd4E9Fd9ef4EA0cdf64EA1bfba4EA2bdbb4EA4baa54EA5d2e04EA6b2fa4EA7bae04EA8c4b64EA9cfed4EABbea94EACcda44EADc1c14EAEc7d74EB2d9f14EB3d9f44EB5c8cb4EBAd8e94EBBd2da4EBFcab24EC0c8ca4EC1d8ec4EC2d8ea4EC3d8c64EC4bdf64EC5c6cd4EC6b3f04EC7d8eb4EC9bdf14ECAbde94ECBc8d44ECDb4d34ECEc2d84ED1b2d64ED3d7d04ED4cacb4ED5cbfb4ED6d5cc4ED7b8b64ED8cfc94ED9d9da4EDDd8f04EDEc7aa4EDFd8ee4EE1b4fa4EE3c1ee4EE4d2d44EE5d8ed4EE8d2c74EEAd8ef4EEBc3c74EECd1f64EF0d6d94EF2d8f24EF3d8f54EF5bcfe4EF6bcdb4EF7c8ce4EFBb7dd4EFDb7c24EFFc6f34F01d8f84F09d2c14F0Acee94F0Dbcbf4F0Eb7fc4F0Fb7a54F10d0dd4F11d6da4F17d3c54F18bbef4F19bbe14F1Ad8f14F1Bc9a14F1Eceb04F1Fb4ab4F20d8f34F22c9cb4F24d8f64F25c2d74F26d8f74F27ceb14F2Ad8f94F2Bb2ae4F2Fb9c04F30d9a34F32b0e94F34c1e64F36c9ec4F38cbc54F3Acbc64F3Cd9a44F3Db5e84F43b5ab4F46cebb4F4Db5cd4F4Ed7a14F4Fd7f44F50d3d34F51cce54F53bace4F55d9a24F57d9dc4F58d3e04F59d8fd4F5Ab7f04F5Bd7f74F5Cd8fe4F5Dd8fa4F5Ed9a14F5Fc4e34F60d3b64F63d8f44F64d9dd4F65d8fb4F67c5e54F69c0d04F6Cd1f04F6Fb0db4F70bcd14F73d9a64F74d9a54F76d9ac4F7Bd9ae4F7Cd9ab4F7Ecab94F7Fd9a94F83d6b64F84b3de4F88d9a84F89c0fd4F8Bcacc4F8Dd9aa4F8Fd9a74F91d9b04F94b6b14F97b9a94F9Bd2c04F9Dcfc04FA0c2c24FA3bdc44FA5d5ec4FA6b2e04FA7c7c84FA8bfeb4FA9d9ad4FAAd9af4FACceea4FAEbaee4FAFc7d64FB5b1e34FBFb4d94FC3b6ed4FC4d9b44FC5bfa14FCAd9de4FCEc7ce4FCFc0fe4FD0d9b84FD1cbd74FD7b7fd4FD8d9b54FDAd9b74FDCb1a34FDDd3e14FDEd9b94FDFd0c54FE1d9b64FE3d9b14FE6d9b24FE8c1a94FE9d9b34FEAbcf34FEDd0de4FEEb8a94FEFbee34FF1d9bd4FF3d9ba4FF8b0b34FFAd9c24FFEd9c4500Cb1b6500Dd9bf500Fb5b95012bef35014ccc85018baf25019d2d0501Ad9c3501Cbde8501Fb3ab5021d9c55025beeb5026d9c65028d9bb5029c4df502Ad9be502Cd9c1502Dd9c0502Ed5ae503Ad6b5503Cc7e3503Ed9c85043bcd95047d9ca5048d9bc504Cd9cb504Ec6ab504Fd9c95055d7f6505Acda3505Cbda15065d9cc506Cc5bc5076cdb55077d9cd507Bd9c7507Eb3a5507Fbffe5080b8b55085c0fc5088b0f8508Db4f650A3d9ce50A5d9cf50A7b4a250A8d9d050A9b4df50ACb0c150B2d9d150BAc9b550BBcff150CFd9d250D6c1c550DAd9d650E6c9ae50E7d9d550ECd9d450EDd9d750EEcbdb50F3bda950F5c6a750FBd9d35106d9d85107d9d9510Bc8e55112c0dc5121b6f9513Fd8a35140d4ca5141d4aa5143d0d65144b3e45145d5d75146cfc85148b9e25149bfcb514Bc3e2514Db6d25151cdc35154d9ee5155d9f05156b5b3515Ab6b5515Cbea45162c8eb5165c8ab5168b0cb516Bb9ab516Cc1f9516Dd9e2516Ec0bc5170b9b25171b9d85173d0cb5174b1f85175c6e45176bedf5177b5e45178d7c85179d1f8517Bbce6517Ccade517Dbcbd5180d9e65181d8e75182c4da5185b8d45188c8bd5189b2e1518Cd4d9518Dc3b05192c3e15195daa25196c8df5197d0b45199befc519Bc5a9519Cb9da51A0daa351A2d4a951A4daa451A5d9fb51ABb6ac51ACb7eb51AFb1f951B0d9fc51B1b3e551B2bef651B3bff651B5d2b151B6c0e451B7b6b351BBd9fe51BCd9fd51BDbebb51C0c6e051C4d7bc51C6daa151C7c1b951C9b5f251CBc1e851CCbcf551CFb4d551D1c1dd51DBc4fd51DDbcb851E0b7b251E1b7ef51E4d9ec51EBc6be51EDbfad51EFbbcb51F0b5ca51F3dbc951F5d0d751F6cdb951F8b0bc51F9b3f651FAbbf751FBdbca51FCbaaf51FDd4e451FFb5b65200b5f35201d8d65202c8d05203b7d65206c7d05207d8d75208bfaf520Adbbb520Dd8d8520Ed0cc5211bbae5212ebbe5216c1d05217c1f55218d4f25219b8d5521Ab4b4521Bb3f5521Dc9be5220c5d05224c5d95228c0fb5229b1f0522Bd8d9522Db9ce522Eb5bd5230d8da5233d6c65236cba25237c8af5238c9b25239b4cc523Abfcc523Bb9f4523Dd8db523Fd8dc5240b6e75241bcc15242ccea5243cff7524Ad8dd524Cc7b0524Db9d05250bda35251ccde5254c6ca5256d8e0525Cd8de525Ed8df5261b0fe5265bee75267caa35269bcf4526Ab8b1526Fb8ee5272d8e2527Dbdcb527Fd8e45281d8e35282c5fc5288d8e55290d8e65293c1a6529Bc8b0529Db0ec529Eb9a6529Fbcd352A0cef152A1dbbd52A2c1d352A3b6af52A8d6fa52A9c5ac52AAbdd952ABdbbe52ACdbbf52ADc0f852B1bea252B2c0cd52B3dbc052BEcac652BFb2aa52C3d3c252C7c3e352C9d1ab52CBdbc252D0c0d552D2dbc352D6bfb152D8c4bc52DFc7da52E4dbc452F0d9e852F9c9d752FAb9b452FEcef052FFd4c85300b0fc5305b4d25306d0d95308d9e9530Ddecb530Fd9eb5310d8b05315bbaf5316b1b15317b3d75319d8ce531Ad4d1531Dbdb35320bfef5321cfbb5323d8d05326b7cb532Ad8d1532Ec6a55339c7f8533Ad2bd533Bd8d2533Ec4e4533Fcaae5341c7a75343d8a65345c9fd5347cee75348bbdc5349b0eb534Abbaa534Ed0ad534Fb1b05351d7e45352d7bf5353b5a55355c2f45356c4cf5357b2a9535Ab2b7535Cb1e5535Edfb2535Fd5bc5360bfa85361c2ac5362d8d55363c2b15364d8d45366ced45367dae05369cec0536Bd8b4536Ec3ae536Fd3a15370cea35371bcb45373c8b45374c2d15375beed5377d0b65378dae1537Ac7e4537Fb3a75382b6f25384ccfc5385c0fa5386c0f75389d1b9538Bd1e1538Cd8c7538Db2de5395c0e55398baf1539Ad8c8539Dd4ad539Fcfe153A2d8c953A3d8ca53A5cfc353A6b3f853A8bec753A9d8cb53AEdbcc53B6c8a553BBcfd853BFc8fe53C1b2ce53C2d3d653C8b2e653C9bcb053CAd3d153CBcbab53CCb7b453CDb7a253D1cae553D4c8a153D6cadc53D7b1e453D8d0f053D9c5d153DBdbc553DFb5fe53E0bfda53E3b9c553E4bee453E5c1ed53E6dfb653E8dfb553E9d6bb53EAbdd053EBd5d953ECb0c853EDb6a353EEbfc953EFcca853F0dfb353F1cab753F2d3d253F3d8cf53F5d2b653F6bac553F7cbbe53F8ccbe" +
    "53F9dfb753FBb5f053FCdfb453FDd3f55401b3d45403b8f75404dfba5406bacf5408bcaa5409b5f5540Acdac540Cc3fb540Dbaf3540Ec0f4540Fcdc25410cff25411dfb85412cfc55413c2c05415dfb95416c2f05417befd541Bc1df541Dcdcc541Ed2f7541Fb7cd5420dfc15421dfc45423b7f15426b0c95427b6d65428b7d45429baac542Bccfd542Cbfd4542Dcbb1542Ec6f4542Fd6a85431dfc55432cee25434b3b35435cefc5438b4b55439cec7543Bbaf0543Ccee1543Ed1bd5440dfc05443b4f45446b3ca5448b8e6544Adfbb544Bc4c55450dfbc5452dfbd5453dfbe5454c5bb5455dfbf5456dfc25457d4b15458dfc35459c7ba545Bced8545Cc4d85462dfca5464dfcf5466d6dc5468dfc95471dfda5472ceb65473bac75475dfce5476dfc85477c5de5478c9eb547Bbaf4547Cc3fc547Dbed75480dfc65482dfcd5484c5d85486d5a6548Bbacd548Cbecc548Ed3bd548Fb8c05490d6e45492dfc75494b9be5495bfa75496c1fc5499dfcb549Adfcc549Bdfd0549Ddfdb54A3dfe554A4dfd754A6dfd654A7d7c954A8dfe354A9dfe454AAe5eb54ABd2a754ACdfd254ADbfa954AFd4db54B1bfc854B3dfd454B4cfcc54B8dfdd54BBd1ca54BDdfde54BFb0a754C0c6b754C1dfd354C2bae554C4b6df54C6cddb54C7b9fe54C8d4d554C9dfdf54CCcfec54CDb0a554CEdfe754CFdfd154D0d1c654D1dfd554D2dfd854D3dfd954D4dfdc54D5bba954D7dfe054D9dfe154DAdfe254DCdfe654DDdfe854DEd3b454DFb8e754E5c5b654E6dfea54E7c9da54E8c1a854E9c4c454EAbfde54EDcff854EEd5dc54F2dfee54F3b2b854FAbadf54FCdfec54FDdbc154FFd1e45501cbf45506b4bd5507b0a65509dff1550Fccc65510dff25511dfed5514dfe9551Bdfeb5520dfef5522dff05523bbbd5524dff35527dff4552Abba3552Ccadb552Ecea8552Fe0a75530b3aa5531e0a65533e0a15537dffe553Ccdd9553Edffc553Fdffa5541bfd05543d7c45544c9cc5546dff85549b0a1554Adffd5550dffb5555e0a25556e0a8555Cb7c85561c6a15564c9b65565c0b25566dff55567c5be556Ad8c4556Cdff9556Dc4f6556Ee0a35575e0a45576e0a55577d0a55578e0b4557Bcce4557Ce0b1557Ebfa65580e0af5581ceb95582e0ab5583c9c65584c0ae5587e0ae5588baed5589bab0558Ae0a9558Bdff6558Fe0b35591e0b85594b4ad5598e0b95599cfb2559Cbac8559De0b0559Fd0fa55A7e0ac55B1d4fb55B3dff755B5c5e755B7e0ad55B9d3f755BBe0b655BDe0b755BEe0c455C4d0e155C5e0bc55C9e0c955CCe0ca55CDe0be55D1e0aa55D2c9a455D3e0c155D4e0b255D6cac855DCe0c355DDe0b555DFcecb55E1cbc355E3e0cd55E4e0c655E5e0c255E6e0cb55E8e0ba55EAe0bf55EBe0c055ECe0c555EFe0c755F2e0c855F3e0cc55F5e0bb55F7cbd455FDe0d555FEe0d65600e0d25601e0d05608bcce5609e0d1560Cb8c2560Ed8c5560Fd0ea5618c2ef561Be0cf561Ee0bd561Fe0d45623e0d35624e0d75627e0dc562Ce0d8562Dd6f65631b3b05632d7ec5634cbbb5636e0da5639cefb563Bbad9563Fe0e1564Ce0dd564Dd2ad564Ee0e25654e0db5657e0d95658e0df5659e0e0565Ce0de5662e0e45664c6f75668d8ac5669d4eb566Ae0e6566Bcac9566Ce0e55671b8c15676e0e7567Be0e8567Ce0e95685e0e35686babf568Ecce7568Fe0ea5693cff956A3e0eb56AFc8c256B7bdc056BCc4d256CAe0ec56D4e0ed56D7c7f456DAcbc456DBe0ee56DDbbd856DEd8b656DFd2f256E0e0ef56E1cdc556E2b6da56E4e0f156EBd4b056EDc0a756F0b4d156F1cea756F4e0f056F5e0f256F9b9cc56FAb9fa56FDcdbc56FEe0f356FFc6d45703e0f45704d4b25706c8a65708e0f65709e0f5570Ae0f7571Ccdc1571Fcaa55723d4da5728dbd75729dbd9572Adbd8572Cb9e7572Ddbdc572Edbdd572Fb5d85730dbda5733dbdb5739b3a1573Adbdf573Bbbf8573Ed6b75740dbe05742bef95747b7bb574Adbd0574Cccae574Dbfb2574Ebbb5574Fd7f85750bfd35751bfe95757bce1575Accb3575Bdbde575Cb0d3575Dceeb575Eb7d8575Fd7b95760c6c25761c0a45764ccb95766dbe75768dbe15769c6ba576Adbe3576Bdbe8576Dc5f7576Fdbea5773dbe95776bfc05777dbe6577Bdbe5577Cb4b95782c0ac5783c2a25784dbe25785dbe45786d0cd578Bdbed578Cc0dd5792dbf25793b6e2579Bdbf357A0dbd257A1b9b857A2d4ab57A3dbec57A4bfd157A6dbf057A7dbd157A9b5e657ABdbeb57ADbfe557AEdbee57B2dbf157B4dbf957B8b9a157C2b0a357C3c2f157CBb3c757CEdbef57CFdbf857D2c6d257D4dbf457D5dbf557D8dbf757D9dbf657DAdbfe57DDd3f257DFb2ba57E0dbfd57E4dca457EDdbfb57EFdbfa57F4dbfc57F8c5e057F9bbf957FAdca357FDdca55800ccc35802b6d15806ddc05807dca1580Bdca2580Dc7b55811b6e95815dca75819dca6581Edca95820b1a45821b5cc5824bfb0582Ad1df5830b6c25835dca85844cbfa584Cebf3584Dcbdc5851cbfe5854ccc15858c8fb585Edcaa5865ccee586Bdcab586Cdbd3587Edcaf5880dcac5881beb35883cafb5885dcad5889c9ca5892c4b95893c7bd5899dcae589Ad4f6589Ed0e6589Fc4ab58A8b6d558A9dbd458BCb1da58C1dbd558C5dbd658D1babe58D5c8c058E4cabf58EBc8c958ECd7b358EEc9f958F0bfc758F3baf858F6d2bc58F9e2ba5902b4a65904b1b85907b8b4590Dcfc4590Fd9e75914cfa65915cde25916d9ed5919b6e0591Ad2b9591Cb9bb591Fe2b95924e2b75925b4f35927ccec5929ccab592Ab7f2592Bd8b2592Dd1eb592Ebabb592Fcaa75931cdb75934d2c45937bfe45938bcd05939b6e1593Adec5593Cdec65941dbbc5942d1d95944c6e65947c4ce5948b7ee5949b7dc594Bbffc594Ed7e0594Fc6f55951b1bc5954dec85955bdb15956ccd75957deca5958dec9595Ab5ec5960c9dd5962b0c25965c5ae5973c5ab5974c4cc5976bce95978cbfd5979bac3597De5f95981c8e75982e5fa5983cdfd5984d7b15986b8be5987c2e85988c8d1598Ae5fb598Db6ca5992bccb5993d1fd5996e6a15997c3ee5999e6a4599Ee5fe59A3e6a559A4cdd759A5b7c159A8e5fc59A9e5fd59AAe6a359ABc4dd59AEe6a859AFe6a759B2c3c359B9c6de59BBe6aa59BEc4b759C6e6a259CAcabc59CBbde359D0b9c359D1e6a659D2d0d559D3ceaf59D4e6a959D7e6b059D8d2a659DAbdaa59DCe6ad59DDe6af59E3c0d159E5d2cc59E8bca759ECe6b159F9d2f659FBd7cb59FFcdfe5A01cdde5A03c2a65A04e6ab5A05e6ac5A06bdbf5A07e6ae5A08e6b35A09e6b25A0Ce6b65A11e6b85A13c4ef5A18c4c85A1Cbeea5A1Fc9ef5A20e6b75A23b6f05A25c3e45A29d3e95A31e6b45A32e6b55A34c8a25A36e6bd5A3Ce6b95A40c6c55A46cdf15A49e6bb5A4Ae6bc5A55bbe95A5Ae6be5A62e6ba5A67c0b75A6Ad3a45A74e6bf5A75c9f45A76e6c35A77e6c45A7Ad0f65A7Fc3bd5A92c3c45A9Ae6c25A9Be6c15AAAe6c75AB2cfb15AB3ebf45AB5e6ca5AB8e6c55ABEbcde5AC1c9a95AC2bcb55AC9cfd35ACCe6c85AD2e6c95AD4e6ce5AD6e6d05AD8e6d15ADCe6cb5AE0b5d55AE1e6cc5AE3e6cf5AE6c4db5AE9e6c65AEBe6cd5AF1e6d25B09e6d45B16e6d35B17e6d55B32d9f85B34e6d65B37e6d75B40d7d35B50e6dd5B51e6de5B53bfd75B54d4d05B55d7d65B57b4e65B58cbef5B59e6da5B5Ad8c35B5Bd7ce5B5Cd0a25B5Dc3cf5B5Fe6df5B62bcbe5B63b9c25B64e6db5B65d1a75B66baa25B69c2cf5B6Ad8ab5B6Ccaeb5B70e5ee5B71e6dc5B73b7f55B75c8e65B7Ac4f55B7De5b25B80c4fe5B81cbfc5B83e5b35B84d5ac5B85d3ee5B87cad85B88b0b25B89cbce5B8Bcdea5B8Cbaea5B8Fe5b55B93e5b45B95d7da5B97b9d95B98d6e65B99b6a85B9Acdf05B9Bd2cb5B9Cb1a65B9Dcab55B9Eb3e85BA0c9f35BA1bfcd5BA2d0fb5BA3cad25BA4e5b65BA5bbc25BA6cfdc5BAAb9ac5BABd4d75BB0baa65BB3d1e75BB4cffc5BB5bcd25BB6e5b75BB8c8dd5BB9bfed5BBDb1f65BBEcbde5BBFbcc55BC2bcc45BC4d2fa5BC5c3dc5BC6bfdc5BC7b8bb5BCCc3c25BD0baae5BD2d4a25BD3c7de5BDDc4af5BDEb2ec5BDFb9d15BE1e5bb5BE4c1c85BE5d5af5BE8e5bc5BEEe5be5BF0b4e75BF8b6d45BF9cbc25BFAd1b05BFBb5bc5BFCcad95BFFb7e25C01c9e45C04bdab5C06cebe5C09d7f05C0Ad0a15C0Fc9d95C11b6fb5C14e6d85C15bce25C16b3be5C18c9d05C1Ae6d95C1Cb3a25C1Ddecc5C22d3c85C24decd5C25d2a25C27dece5C2Cbecd5C31decf5C34caac5C38d2fc5C39b3df5C3Ae5ea5C3Bc4e15C3Cbea15C3Dceb25C3Ec4f25C3Fbed65C40c6a85C41b2e35C42bed35C45c7fc5C48cceb5C49bdec5C4Acedd5C4Bcaba5C4Ec6c15C4Fe5ec5C50d0bc5C51d5b95C55e5ed5C59caf45C5Ecdc05C60c2c55C61e5ef5C63c2c45C65e5f05C66e5f85C6Ecdcd5C6Fc9bd5C71d2d95C79e1a85C7Ad3ec5C7Fcbea5C81c6f15C82e1ac5C88e1a75C8Ce1a95C8De1aa5C90e1af5C91b2ed5C94e1ab5C96b8da5C97e1ad5C98e1ae5C99e1b05C9Ab5ba5C9Be1b15C9Ce1b35CA2e1b85CA3d1d25CA9e1b65CABe1b55CACc1eb5CADe1b75CB1d4c05CB3e1b25CB5e1ba5CB7b0b65CB8e1b45CBDbff95CBFe1b95CC1e1bb5CC4e1be5CCBe1bc5CD2d6c55CD9cfbf5CE1e1bd5CE4e1bf5CE5c2cd5CE6b6eb5CE8d3f85CEAc7cd5CEDb7e55CF0befe5CFBe1c05D02e1c15D03e1c75D06b3e75D07c6e95D0Eb4de5D14d1c25D16e1c85D1Be1c65D1Ee1c55D24e1c35D26e1c25D27b1c05D29d5b85D2De1c45D2Ee1cb5D34e1cc5D3De1ca5D3Eeffa5D47e1d35D4Ae1d25D4Bc7b65D4Ce1c95D58e1ce5D5Be1d05D5De1d45D69e1d15D6Be1cd5D6Ce1cf5D6Fe1d55D74e1d65D82e1d75D99e1d85D9De1da5DB7e1db5DC5cea15DCDe7dd5DDBb4a85DDDd6dd5DDEd1b25DE1b3b25DE2b9a45DE5d7f35DE6c7c95DE7bede5DE8b9ae5DE9ced75DEBb2ee5DEEdbcf5DEFbcba5DF1d2d15DF2cbc85DF3b0cd5DF4cfef5DF7d9e35DFDbded5DFEb1d25E01cad05E02b2bc5E03cba75E05b7ab5E06caa65E08cfa35E0Ce0f85E0Fd5ca5E10e0fb5E11e0fa5E14c5c15E15ccfb5E16c1b15E18e0f95E19d6e35E1Ab2af5E1Bd6c45E1Cb5db5E1Db4f85E26d6a15E27cfaf5E2Db0ef5E2Ee0fc5E31e1a15E37b3a35E38e0fd5E3Be0fe5E3Cc3b15E3Dc3dd5E42e1a25E44b7f95E45bbcf5E4Ce1a35E54c4bb5E55e1a45E5Be1a55E5Ee1a65E61b4b15E62b8c95E72c6bd5E73c4ea5E74b2a25E76d0d25E78e7db5E7Abbc35E7Bd3d75E7Cd3c45E7Db9e35E7Fe2cf5E80d7af5E84c7ec5E86b1d35E87b4b25E8Ae2d15E8Bd0f25E8Fc2ae5E90e2d05E91bfe25E93d3a65E94b5d75E95e2d25E96b5ea5E97c3ed5E99b8fd5E9Ab8ae5E9Cc5d35E9Eb7cf5E9Fe2d45EA0e2d35EA5b6c85EA6d7f95EA7cda55EADe2d85EB3e2d65EB5cafc5EB6bfb55EB7d3b95EB8e2d55EB9e2d75EBEc1ae5EC9c0c85ECAe2db5ED1e2da5ED2c0aa5ED3c1ce5ED6e2dc5EDBe2dd5EE8e2de5EEAdbc85EF4d1d35EF6cda25EF7bda85EFAdec35EFEd8a55EFFbfaa5F00dbcd5F01d2ec5F02c6fa5F03c5aa5F04dec45F08b1d75F0Adfae5F0Bcabd5F0Fdfb15F11b9ad5F13d2fd5F15b8a55F17baeb5F18b3da5F1Bb5dc5F1Fd5c55F20c3d65F25cfd25F26bba15F27e5f35F29e5f25F2Ae5f45F2Dcde45F2Fc8f55F31b5af5F39c7bf5F3Ae5f65F3Cecb05F40e5e65F50b9e95F52b5b15F53c2bc5F55e5e85F56e5e75F57e5e95F58d2cd5F5De1ea5F61d0ce5F62cdae5F64d1e55F66b2ca5F69b1eb5F6Ab1f25F6Cc5ed5F6Dd5c35F70d3b05F71e1dc5F73e1dd5F77d2db5F79b3b95F7Bb1cb5F7Ccdf95F80d5f75F81e1de5F82beb65F84b4fd5F85e1df5F87badc5F88e1e05F89bbb25F8Ac2c95F8Be1e15F8Cd0ec5F90cdbd5F92e1e25F95b5c35F97c5c75F98e1e35F99e1e45F9Cd3f95FA1e1e55FA8d1ad5FAAe1e65FADcea25FAEe1e75FB5b5c25FB7e1e85FBCbbd55FBDd0c45FC3e2e05FC4b1d85FC5d2e45FC6e2e15FC9bcc95FCCc8cc5FCDe2e35FCFecfe5FD0ecfd5FD1dfaf5FD2e2e25FD6d6be5FD7cdfc5FD8c3a65FD9e3c35FDDd6d25FE0e2e75FE1e2e85FE4d3c75FE7e2ec5FEAbfec5FEBe2ed5FEDe2e55FEEb3c05FF1c4ee5FF5e2ee5FF8d0c35FFBbaf65FFDe2e95FFEb7de5FFFbbb36000ccac6001cbcb6002e2e46003e2e66004e2ea6005e2eb6006e2f7600Ae2f4600Dd4f5600Ee2f3600Fc5ad6012d5fa6014c5c26015b2c06016e2ef6019e2f2601Bc1af601Ccbbc601Db5a16020e2f96021bcb16025e2f16026d0d46027d4b96028e2f56029b9d6602Ae2f6602Bc7d3602Fe2f06035d7dc603Beda1603Ce2f8603Feda56041e2fe6042cad16043c1b5604Bbbd0604Dbfd66050bae36052cba16055eda66059eda3605Aeda2605Dbbd66062eda76063d0f46064eda46067bade6068b6f76069e3a1606Ab6b2606Bccf1606Cb9a7606Dcfa2606Fc7a16070bfd26073b6f16076e2fa6078e2fb6079e2fd607Ae2fc607Bc4d5607Ce3a2607Dd3c1607Fe3a76083c7c46084cfa46089e3a9608Cbab7608De3a86092bbda6094e3a36096e3a4609Ae3aa609Be3a6609Dcef2609Fd3c660A0bbbc60A3d4c360A6c4fa60A8eda860ABd0fc60ACe3a560ADc3f560AFe3ad60B1b1af60B2e3b260B4bcc260B8e3ac60BBb5bf60BCc7e960C5e3b060C6beaa60CAcdef60CBbbf360D1cce860D5e3af60D8e3b160DAcfa760DCe3ae60DDcea960DFbbdd60E0b5eb60E6bee560E7b2d260E8b3cd60E9b1b960EBe3ab60ECb2d160EDb5ac60EEb9df60EFb6e860F0cfeb60F3e3b760F4bbcc60F6c8c760F9d0ca60FAe3b86100b3ee6101eda96106d3fa6108d3e46109edaa610De3b9610Ed2e2610Fe3b56115d3de611Ab8d0611Fe3b36120e3b66123b7df6124" +
    "e3b46126c0a26127e3ba612Bd4b8613Fb4c86148e3bb614Abbc5614Cc9f7614Ec9e56151c4bd6155edab615Dc2fd6162bbdb6167bfae6168cebf6170e3bc6175bfb66177b1ef618Bd4f7618Ee3be6194edad619De3bf61A7baa961A8edac61A9e3bd61ACe3c061B7bab661BEb6ae61C2d0b861C8b0c361CAedae61CBedaf61D1c0c161D2e3c161D4c5b361E6e3c261F5dcb261FFedb06206b8ea6208ceec620Aeaa7620Bd0e7620Ccaf9620Dc8d6620Ecfb7620Fb3c96210ced26211bde46212e3de6215bbf26216eaa86217d5bd6218c6dd621Aeaa9621Beaaa621Feaac6221eaab6222eaae6224eaad6225bdd8622Aeaaf622Cc2be622Eb4c16233b4f76234bba76237ece6623Dece5623Eb7bf623Fcbf96240b1e26241ece76243c9c86247ece86248ece96249cad6624Bded0624Cb2c5624Dd4fa624Ec6cb6251b0c76252b4f26253c8d36254cdd06258bfb8625Bbfdb6263c7a46266d6b46267c0a96269ded1626Ac9a8626Bd1ef626Cc5a4626Db0e7626Eb3b6626Fc8c56270b0e26273b7f66276c5fa6279b6f3627Cd5d2627Eb3d0627Fbcbc6280b3ad6284bef16289b0d1628Ad2d66291cae36292d7a56293cdb66295b6b66296bfb96297d5db6298b8a7629Ac5d7629Bded2629Fbfd962A0c2d562A1c7c062A2bba462A4b1a862A5c5ea62A8c5fb62ABcca762ACb1a762B1b5d662B5c4a862B9ded362BBd1ba62BCb3e962BDc3f262BFb7f762C2d6f462C4b5a362C5b2f062C6c4b462C7c4e962C8c0ad62C9ded462CAb0e862CCc5c462CDc1e062CEb9d562D0bedc62D2cdd862D3b0ce62D4cdcf62D6ded662D7bed062D8d7be62D9ded562DAd5d062DBb0dd62DCc4e262DFc2a362E2bcf062E3d3b562E5c0b962E6c5a162E7b2a662E8d4f162E9c0a862ECcac362EDded762EEd5fc62EFb9b062F1c8ad62F3cba962F4ded962F6bfbd62F7c6b462FCd7a762FDcab062FEc4c362FFb3d66301b9d26302d6b86307eafc6308b0b46309bfe6630Eccf46311cdda6316d6bf631Ac2ce631Bcece631Dcca2631Ed0ae631Fc4d36320b5b26321ded86322d5f56323bcb76324bbd36325b0a46328c5b2632Ab4ec632Bd5f1632Feafd6332deda6339cda6633Acdec633Dcee66342dedc6343cdb16345c0a66346d7bd6349dedb634Bb0c6634Cbab4634Dc9d3634Ec4f3634Fbee86350b2b66355c0cc635Ecbf0635Fbcf16361bbbb6362b5b76363c5f56367dee66369dee3636Dbedd636Ededf6371b4b76376bddd6377dee0637Ac4ed637Bcfc66380b5e06382b6de6387cada6388b5f46389dee5638Ad5c6638Cdee1638Ecccd638Fc6fe6390c5c56392d2b46396bef26398c2d363A0ccbd63A2b3b863A3bdd363A5bfd863A7cdc663A8d1da63A9b4eb63AAdee463ACdedd63ADdee763AEeafe63B0c2b063B3dee263B4d6c063B7b5a763B8b2f463BAdee863BCdef263BEdeed63C4def163C6c8e063C9d7e163CDdeef63CEc3e863CFcce163D0b2e563D2d2be63D6deee63DEdeeb63E0ced563E1b4a763E3bfab63E9bebe63EAbdd263EDdee963F2d4ae63F4dede63F6deea63F8c0bf63FDdeec63FFb2f36400b8e96401c2a76402bdc16405def5640Bdef8640Cb2ab640Fb4a46410b4ea6413c9a66414def6641Bcbd1641Cb8e3641Edef76420defa6421def96426ccc2642Ab0e1642Cb4ee642De5ba6434d0af643Ab2eb643Deba1643Fdef46441c9e36444def36445b0da6446d2a16447b1f76448ccaf644Adef06452cba46454d5aa6458defb645Eb4dd6467c4a66469defd646Dc3fe6478c4a16479dfa1647Ac1cc6482defc6484beef6485c6b26487b3c56491c8f66492cbba6495defe6496dfa46499d7b2649Eb3b764A4c1c364A9c7cb64ACb2a564ADb4e964AEd7ab64B0c4ec64B5dfa264B7dfa364B8dfa564BAbab364BCdfa664C0c0de64C2c9c364C5b2d964CDc7e664CEdfa764D0c7dc64D2dfa864D7eba264D8cbd364DEdfaa64E2dfa964E4b2c164E6c5ca6500dfab6509d4dc6512c8c16518dfac6525bef0652Bdfad652Ed6a7652Feab76534ebb66535cad56536d8fc6538b8c46539b9a5653Bb7c5653Ed5fe653Fb9ca6545d0a76548f4cd6549b5d0654Cc3f4654Fbec86551ebb76555b0bd6556bdcc6559c1b2655Bb1d6655Db3a8655Eb8d26562c9a26563b6d86566ebb8656Bbeb4656Ccafd6570c7c36572d5fb6574b7f36577cec46587d5ab658Bb1f3658Cecb36590b0df6591ecb56593b6b76597c1cf6599f5fa659Bd0b1659Cd5e5659Fced365A1bdef65A4b3e265A5b8ab65A7d5b665A9edbd65ABb6cf65ADcbb965AFd0c265B0b7bd65B9ecb665BCcaa965BDc5d465C1ecb965C3ecb865C4c2c365C5ecb765C6d0fd65CBecba65CCecbb65CEd7e565CFecbc65D2ecbd65D6c6ec65D7cede65E0bcc865E2c8d565E5b5a965E6bec965E7d6bc65E8d4e765E9d1ae65ECd0f165EDeab865EEeab965EFeaba65F0bab565F1cab165F6bff565F7cdfa65FAeac06600b0ba6602eabe6603c0a56606eabb660Ab2fd660Cc3f7660Ebbe8660Fd2d76613cef46614eabf6615eabc6619eac3661Dd0c7661Fd3b36620b4ba6625c3c16627d7f26628d5d1662Dcac7662Feac56631eac46634eac76635eac66636d6e7663Ccfd4663Eeacb6641bbce6643bdfa664Bc9ce664Ceacc664Fc9b96652cffe6653eaca6654d4ce6655eacd6656eacf6657cded665Aeac9665Feace6661ceee6664bbde6666b3bf6668c6d5666Ebeb0666Fcefa6670c7e76674bea76676ead06677d6c7667Ac1c0667Ed4dd6682ead16684cfbe6687ead2668Ccaee6691c5af6696b0b56697ead4669Dead366A7f4df66A8c4ba66AEb1a966B4e5df66B9ead566BEcaef66D9ead666DBead766DCc6d866DDead866E6ead966E9d4bb66F0c7fa66F2d2b766F3b8fc66F4eac266F7b2dc66F9c2fc66FCd4f866FEcce666FFd7ee6700d4c26708d3d06709ebc3670Ac5f3670Bb7fe670Debd46710cbb76714ebde6715c0ca6717cdfb671Bb3af671Dc6da671Febfc6726c4be6728ceb4672Ac4a9672Bb1be672Cd4fd672Dcaf5672Fd6ec6731c6d36734b6e46735bbfa673Ad0e0673Dc9b16740d4d36742c8a86743b8cb6746e8be6748c9bc6749e8bb674Cc0ee674Ed0d3674Fb2c46750b4e56751e8bc6753d5c86756b6c5675Ce8bd675Ecaf8675Fb8dc6760ccf56761c0b46765d1ee6768e8bf6769e8c2676Ababc676Db1ad676Fbddc6770eabd6772e8c36773e8c66775e8cb6777e8cc677Ccbc9677Eb0e5677Fbcab6781b9b96784e8c16787cdf76789e8ca678Bcef66790d5ed6795c1d66797e8c46798c3b6679Ab9fb679Cd6a6679De8c8679Ecae067A2d4e667A3e8c067A5e8c567A7e8c767A8c7b967AAb7e367ABe8c967ADbfdd67AFe8d267B0e8d767B3e8d567B5bcdc67B6bccf67B7e8db67B8e8de67C1e8da67C3b1fa67C4b0d867CFc4b367D0b8cc67D1c6e267D2c8be67D3c8e167D4e8cf67D8e8d467D9e8d667DAb9f167DCe8d867DDd7f567DEc4fb67E0e8dc67E2b2e967E5e8d167E9bced67ECbfc267EFe8cd67F0d6f967F1c1f867F3b2f167F4e8df67FDcac167FFe8d96800d5a46805b1ea6807d5bb6808e8ce6809e8d0680Ab6b0680Be8d3680Ce8dd680Ec0b8680Fcaf76811cba86813c6dc6816c0f56817e8e9681Dd0a36821e8f26829d6ea682Ae8e06832e8e16833d1f96837bacb6838b8f96839b8f1683Cd4d4683De8ef683Ee8ee6840e8ec6841b9f06842ccd26843e8e66844cea66845bff26846b0b86848e8f16849e8f0684Ad7c0684Ce8e4684Ecda96850c9a36851bbb86853bddb6854e8ea6855e8e26860e8e36861e8e56862b5b56863e8e76864c7c56865e8eb6866e8ed6867bdb06868d7ae6869e8f8686Be8f56874cdb06876e8f66877c1ba6881e8e86883c3b76885b0f06886e8f4688Fe8f76893b9a36897c9d268A2c3ce68A6cee068A7c0e668A8cbf368ADccdd68AFd0b568B0cae168B3e8f368B5bcec68C0e8f968C2c3de68C9c6e568CBb9f768CDb0f468D2d7d868D5bcac68D8c5ef68DAccc468E0e9a668E3c9ad68EEe9a268F0c0e268F1bfc368F5e8fe68F9b9d768FAe8fb68FCe9a46901d2ce6905e9a3690Bd6b2690Dd7b5690Ee9a76910bdb76912e8fc691Fe8fd6920e9a16924cdd6692Dd2ac6930e9b26934e9a96939b4aa693Db4bb693Fe9ab6942d0a86954e9a56957b3fe695Ae9ac695Dc0e3695Ee9aa6960e9b96963e9b86966e9ae696Be8fa696Ee9a86971bfac6977e9b16978e9ba6979c2a5697Ce9af6980b8c56982e9ad6984d3dc6986e9b46987e9b56988e9b76989e9c7698Dc0c66994e9c56995e9b06998e9bb699Bb0f1699Ce9bc69A7d5a569A8e9be69ABe9bf69ADe9c169B1c1f169B4c8b669B7e9bd69BBe9c269C1e9c369CAe9b369CCe9b669CEbbb169D0e9c069D4bcf769DBe9c469DFe9c669E0e9ca69EDe9ce69F2b2db69FDe9c869FFb7ae6A0Ae9cb6A17e9cc6A18d5c16A1Fc4a36A21e9d86A28bae16A2Ae9c96A2Fd3a36A31e9d46A35e9d76A3De9d06A3Ee9cf6A44c7c16A47e9d26A50e9d96A58b3c86A59e9d36A5Bcff06A61e9cd6A65b3f76A71e9d66A79e9da6A7Cccb46A80cfad6A84e9d56A8Ee9dc6A90e9db6A91e9de6A97e9d16AA0e9dd6AA9e9df6AABc3ca6AACc7b76B20b4ce6B21bbb66B22d0c06B23eca36B24c5b76B27d3fb6B32eca46B37eca56B39c6db6B3Abfee6B3Eeca66B43eca76B46d0aa6B47c7b86B49b8e86B4Ceca86B59d6b96B62d5fd6B63b4cb6B64b2bd6B65cee46B66c6e76B67cde16B6Ab4f56B79cbc06B7Bbcdf6B7Ce9e26B81e9e36B82d1ea6B83e9e56B84b4f96B86e9e46B87d1b36B89cae26B8Ab2d06B8Be9e86B8De9e66B92e9e76B93d6b36B96e9e96B9Ae9ea6B9Be9eb6BA1e9ec6BAAecaf6BB3c5b96BB4b6ce6BB5d2f36BB7b5ee6BBFbbd96BC1ecb16BC2d2e36BC5cee36BCBc4b86BCDc3bf6BCFb6be6BD2d8b96BD3b1c86BD4b1cf6BD5b1d16BD6c5fe6BD7b1d06BD9c3ab6BDBd5b16BE1eba46BEAbac16BEBccba6BEFeba56BF3eba76BF5eba86BF9eba66BFDeba96C05ebab6C06ebaa6C07ebac6C0Dcacf6C0Fd8b56C10c3f16C11c3a56C13c6f86C14ebad6C15c4ca6C16ebae6C18ebaf6C19ebb06C1Ab7d56C1Bb7fa6C1Febb16C21c7e26C22ebb36C24baa46C26d1f56C27b0b16C28ebb26C29ebb46C2Ab5aa6C2Ec2c86C2Fc7e86C30ebb56C32cbae6C34e3df6C35d3c06C38d9db6C3Dcda16C40d6ad6C41c7f36C42d9e06C46bbe36C47baba6C49e3e26C4Acfab6C50e3e06C54c9c76C55bab96C57d1b46C5Be3e16C5Cc8ea6C5Db9af6C5Ebdad6C5Fb3d86C60cedb6C61ccc06C64e3e86C68e3e96C69cdf46C6Accad6C70bcb36C72e3ea6C74e3eb6C76d0da6C79c6fb6C7Db7da6C7Ec7df6C81d2ca6C82ced66C83e3e46C85e3ec6C86c9f26C88b3c16C89e3e76C8Cc6e36C8Fe3e56C90edb36C93e3e66C94c9b36C99c5e66C9Bb9b56C9Fc3bb6CA1e3e36CA3c5bd6CA4c1a46CA5c2d96CA6b2d76CA7e3ed6CA9bba66CAAc4ad6CABe3f06CADbeda6CAEe3fb6CB1e3f56CB2bad36CB3b7d06CB8d3cd6CB9d6ce6CBBd5d36CBCb9c16CBDd5b46CBEd1d86CBFd0b96CC4c7f66CC5c8aa6CC9b2b46CCAc3da6CCCe3ee6CD0e3fc6CD3e3ef6CD4b7a86CD5e3f76CD6e3f46CD7b7ba6CDBc5a26CDEe3f66CE0c5dd6CE1b2a86CE2c6fc6CE3c4e06CE5d7a26CE8c0e16CEAe3f96CEBe3fa6CEEe3fd6CEFcca96CF0e3f36CF1d3be6CF3b1c36CF5edb46CF6e3f16CF7e3f26CF8e3f86CFAd0ba6CFBc6c36CFCd4f36CFDe3fe6CFEbde06D01e4a76D04e4a66D07d1f36D0Be4a36D0Ce4a96D0Ec8f76D12cfb46D17e4a86D19e4ae6D1Ac2e56D1Bb6b46D1Ebdf26D25e4a26D27bae96D2Ae4aa6D2Be4ac6D2Eb6fd6D31d6de6D32e4b26D33e4ad6D35e4a16D39bbee6D3Bcddd6D3Cc7a26D3Dc5c96D3Ec1f76D41e4a46D43c7b36D45bdac6D46bdbd6D47e4a56D48d7c76D4Ab2e26D4Be4ab6D4Dbcc36D4Ee4af6D4Fbbeb6D51e4b06D52c5a86D53e4b16D54d5e36D59bfa36D5Ae4ba6D5Ce4b76D5Ee4bb6D60e4bd6D63c6d66D66bac66D69c0cb6D6Ab8a16D6Ee4b46D6Fd4a16D74baa36D77bdfe6D78e4bc6D7Ccdbf6D82c4f96D85cffb6D88c9e66D89d3bf6D8Ccfd16D8Ee4b36D91e4b86D93e4b96D94cce96D95ccce6D9Bc0d46D9De4b56D9Ec1b06D9Fe4b66DA0ced06DA1bbc16DA3b5d36DA4c8f36DA6bda76DA7d5c76DA8c9ac6DA9b8a26DAAe4ca6DABe4cc6DAEd1c46DAFd2ba6DB2baad6DB5bad46DB8e4c36DBFb5ed6DC0d7cd6DC4e4c06DC5cffd6DC6e4bf6DC7c1dc6DCBccca6DCCcae76DD1c4d76DD6ccd46DD8e4c86DD9e4c76DDDe4c16DDEe4c46DE0b5ad6DE1d3d96DE4e4c66DE6d2f96DEBb4e36DECbbb46DEEc9ee6DF1b4be6DF3bbec6DF7d1cd6DF9cced6DFBedb56DFCc7e56E05d4a86E0Ae4cb6E0Cd7d56E0De4c26E0Ebda56E10e4c56E11d3e66E14e4c96E16c9f86E17e4be6E1Ad3e56E1Dc7fe6E20b6c96E21d4fc6E23b2b36E24e4d76E25cec26E29e4cd6E2Bcebc6E2Db8db6E2Fe4d66E32bfca6E34d3ce6E38c3ec6E3Ac5c86E43e4d86E44cdc46E4De4cf6E4Ee4d46E53e4d56E54bafe6E56cfe66E58d5bf6E5Be4d26E5Fe4d06E6Be4ce6E6Ecde56E7Ecaaa6E7Fc0a36E83bda66E85e4d36E86b8c86E89e4e76E8Fd4b46E90e4db6E98c1ef6E9Ce4e96E9Fd2e76EA2e4df6EA5e4e06EA7cfaa6EAAcbdd6EAFe4da6EB1e4d16EB2e4e56EB4c8dc6EB6e4e36EB7c4e76EBAe4e26EBBe4e16EBDb3fc6EC1e4e86EC2b5e16EC7d7cc6ECBe4e66ECFbbac6ED1d7d26ED3cccf6ED4ebf86ED5e4e46ED7b9f66EDAd6cd6EDEe4d96EDFe4dc6EE0c2fa6EE1e4de6EE2c2cb6EE4c0c46EE5c2d06EE6b1f56EE8ccb26EE9b5ce6EF4e4ef6EF9c6af6F02c6e16F06e4f56F09c2a96F0Fc0ec6F13d1dd6F14e4ee6F15c4ae6F20e4ed6F24e4f66F29e4f46F2Ac2fe6F2Be4dd6F2De4f06F2Fcafe" +
    "6F31d5c46F33e4f16F36d1fa6F3Ee4eb6F46e4ec6F47e4f26F4Bceab6F4Dc5cb6F58c7b16F5Cc2ba6F5Ee4ea6F62c1ca6F66ccb66F6Db3b16F6Ee4fb6F72e4f36F74e4fa6F78e4fd6F7Ae4fc6F7Cb3ce6F84b3ba6F88e4f76F89e4f96F8Ce4f86F8Dc5ec6F8Ec0bd6F9Cd4e86FA1e5a26FA7b0c46FB3e5a46FB6e5a36FB9bca46FC0e5a56FC2e5a16FC9e4fe6FD1b1f46FD2e5a86FDEe5a96FE0e5a66FE1e5a76FEEe5aa6FEFc6d97011e5ab701Ae5ad701Be5ac7023e5af7035e5ae7039b9e0704Ce5b0704Fe5b1705Ebbf0706Bece1706Cc3f0706Db5c6706Fbbd27070c1e97075d4ee7076bec47078d7c6707Cd4d6707Eb2d3707Fecbe7080eac17085c2af7089b4b6708Ad1d7708Eb3b47092c8b27094bfbb7095ecc07096d6cb7099ecbf709Cecc1709Decc570ABbee670ACccbf70ADc5da70AEbebc70AFecc670B1b1fe70B3ecc470B7d5a870B8b5e370B9ecc270BBc1b670BCb3e370BDecc370C0cbb870C1c0c370C2ccfe70C3c1d270C8ecc870CAbae670D8c0d370D9d6f270DBd1cc70DFbfbe70E4b7b370E6c9d570E7ecc770E8bbe270E9cccc70EBbdfd70ECc8c870EDcfa970EFcde970F7c5eb70F9b7e970FDd1c97109bab8710Aecc97110ecca7113bbc07115eccb7116ece27118b1ba7119b7d9711Abdb97126eccc712Fd1e67130eccd7131c8bb7136ecd17145ecd3714Abbcd714Cbce5714Eeccf715Cc9b7715Ec3ba7164ece37166d5d57167ecd07168d6f3716Eecd27172ecce7173ecd47178ecd5717Ac9bf717Dcfa87184d0dc718Ad1ac718Fc8db7194ecd67198cef57199caec719Fecda71A0ecd971A8b0be71ACecd771B3ecd871B5ece471B9c8bc71C3c1c771CEecdc71D4d1e071D5ecdb71E0d4ef71E5ecdd71E7dbc671EEecde71F9b1ac7206ecdf721Dece07228d7a6722Ac5c0722Cebbc7230b0ae7231bef47235b8b87236d2af7237b0d67238b5f97239d8b3723Bcbac723De3dd723Fc6ac7247b0e67248c5c6724Cebb9724Debba7252ebbb7256d1c07259c5a3725Beaf2725Dc4b2725Fc4b57261c0ce7262eaf37266c4c17267ceef7269eaf0726Eeaf4726Fc9fc7272c7a37275ccd87279cefe727Aeaf5727Eeaf6727Fcfac7280c0e77281eaf77284b6bf728Aeaf8728Beaf9728Deafa728Feafb7292eaf1729Fc8ae72ACe1eb72ADb7b872AFe1ec72B0e1ed72B4d7b472B6e1ee72B7e1ef72B8d3cc72B9e1f172C1bff172C2e1f072C3b5d272C4b1b772C8e1f372CDe1f272CEbafc72D0e1f472D2b9b772D7bed172D9c4fc72DEbadd72E0bdc672E1e1f572E8e1f772E9b6c072ECcfc172EDcaa872EEe1f672EFd5f872F0d3fc72F1e1f872F2e1fc72F3e1f972F4e1fa72F7c0ea72F8e1fe72FAe2a172FBc0c772FCe1fb7301e1fd7303e2a5730Ac1d4730Ee2a37313e2a87315b2fe7316e2a27317c3cd731Bb2c2731Ce2a7731De2a6731Ee2a47321e2a97322e2ab7325d0c97329d6ed732Ac3a8732Be2ac732Ccfd7732Ee2ae7331baef7334e9e07337e2ad7338e2aa7339bbab733Ed4b3733Fe2b0734De2af7350e9e17352e2b17357e2b27360e2b3736Ccca1736De2b4736Fe2b5737Ed0fe7384c2ca7387d3f17389cdf5738Be7e0738Ee7e17391bec17396c2ea739Be7e4739Fe7e373A2cde673A9c3b573ABe7e273AEbbb773AFcfd673B0c1e173B2e7e973B3e7e873B7e7f473BAb2a373BBe7ea73C0e7e673C2e7ec73C8e7eb73C9c9ba73CAd5e473CDe7e573CFb7a973D0e7e773D1e7ee73D9e7f373DEd6e973E0e7ed73E5e7f273E7e7f173E9b0e073EDe7f573F2c7f27403c0c57405c0ed7406c1f07409e7f0740Ae7f6740Fcbf67410e8a2741Ae8a1741Bd7c17422e7fa7425e7f97426e7fb7428e7f7742Ae7fe742Ce7fd742Ee7fc7430c1d57433c7d97434c5fd7435c5c37436c7ed743Ce8a37441e8a67455e8a57457e8a77459baf7745Ae7f8745Be8a4745Cc8f0745Ec9aa745Fe8a9746Db9e57470d1fe7476e8a87477e8aa747Ee8ad7480e8ae7481c1a77483e8af7487e8b0748Be8ac748Ee8b47490e8ab749Ce8b1749Ee8b574A7e8b274A8e8b374A9e8b774BAe8b674D2b9cf74DCf0ac74DEf0ad74E0c6b074E2b0ea74E3c8bf74E4cddf74E6cecd74EEeab174EFeab274F4c6bf74F6b4c974F7eab374FFd5e77504ddf9750Deab4750Feab57511eab67513b8ca7518dfb07519c9f5751Accf0751Cc9fa751Fc9fb7525d3c37528cba67529b8a6752Bf0ae752Cb1c2752De5b8752Fccef7530d3c97531bcd77532c9ea7533b5e77535c4d07537b5e97538eeae753Abbad753Be7de753Eeeaf7540b3a97545eeb27548eeb1754Bbde7754Ceeb0754Eceb7754Fc5cf7554c1f47559dbce755Aeeb3755Bd0f3755Cc2d47565c6e87566b7ac756Aeeb47572b3eb7574bbfb7578eeb57579e7dc757Feeb67583bdae7586f1e2758Bcae8758Fd2c97591f0da7592f0db7594f0dc7596c1c67597b8ed7599bece759Af0de759Dc5b1759Ff0dd75A0d1f175A1f0e075A3b0cc75A4bdea75A5d2df75ABf0df75ACb4af75AEb7e875AFf0e675B0f0e575B1c6a375B2f0e175B3f0e275B4b4c375B5f0e375B8d5ee75B9ccdb75BCbed275BDbcb275BEf0e875C2f0e775C3f0e475C4b2a175C5d6a275C7d3b875C8beb775C9c8ac75CAf0ea75CDd1f775D2d6cc75D4badb75D5f0e975D6b6bb75D8cdb475DBc6a675DEc1a175E2f0eb75E3f0ee75E4f0ed75E6f0f075E7f0ec75E8bbbe75EAf0ef75EBccb575F0f0f275F1b3d575F4b1d475F9f0f375FCf0f475FFf0f67600b4e17601f0f17603f0f77605f0fa760Af0f8760Cf0f57610f0fd7615f0f97617f0fc7618f0fe7619f1a1761Bcec1761Ff1a47620f1a37622c1f67624f0fb7625cadd7626b4f17629b1f1762Accb1762Bf1a6762Df1a77630f1ac7633d5ce7634f1a97635c8b37638f1a2763Cf1ab763Ef1a8763Ff1a57640f1aa7643b0a9764Cf1ad764Df1af7654f1b17656f1b0765Cf1ae765Ed1a27663f1b2766Bf1b3766Fb9ef7678b5c7767Bb0d7767Db0d9767Ed4ed7682b5c47684bdd47686bbca7687f0a77688b8de768Bf0a8768Eb0a87691f0a97693cdee7696f0aa7699f0ab76A4c6a476AEd6e576B1f1e476B2f1e576B4c3f376BFd3db76C2d6d176C5c5e876C6d3af76C8d2e676CAeec176CDb0bb76CEd5b576CFd1ce76D0bce076D1bad076D2bff876D4b8c776D6b5c176D7c5cc76D8caa276DBc3cb76DFeec276E5c4bf76EEb6a276EFedec76F1c3a476F2d6b176F4cfe076F8edef76F9c5ce76FCb6dc76FEcaa17701eded7704edf07707edf17708c3bc7709bfb4770Bedee770Dedf47719edf2771Ad5e6771Fc3df7720edf37722edf67726d5a37728d1a37729edf5772Dc3d0772Fedf77735bff47736beec7737edf87738ccf7773Ad1db773Cd7c57740d5f67741edfc7743edfb7747edf97750edfa7751edfd775Abea6775Bcbaf7761eea17762b6bd7763eea27765c4c07766edfe7768bdde776Bb2c7776Cb6c37779eea5777Dd8ba777Eeea3777Feea67780c3e97784b3f27785eea7778Ceea4778Dcfb9778Eeea87791c2f77792eea9779Feeaa77A0deab77A2c6b377A5c7c677A7d6f577A9b5c977AAcbb277ACeeab77B0cdab77B3eeac77B5d5b077BBeead77BDf6c477BFdbc777CDb4a377D7c3ac77DBf1e677DCcab877E2d2d377E3d6aa77E5eff277E7bed877E9bdc377EBeff377ECb6cc77EDb0ab77EEcaaf77F3edb677F6edb777F8cef977FDb7af77FEbff377FFedb87800c2eb7801c9b07802edb97809c6f6780Cbfb3780Dedbc7811c5f87812d1d07814d7a97816edba7817edbb7818d1e2781Aedbf781Cedc0781Dedc4781Fedc87823edc67825edce7826d5e87827edc97829edc7782Cedbe782Dc5e97830c6c67834c9e97837d4d27838edc17839edc2783Aedc3783Bedc5783Cc0f9783Eb4a17840b9e87845edd07847edd1784Cedca784Eedcf7850cef87852cbb67855edcc7856edcd7857cff5785Dedd2786Ac1f2786Bd3b2786Cedcb786Dc8b7786Ebcef7877c5f0787Cedd67887b5ef7889c2b5788Cb0ad788Dcbe9788Eb1ae7891edd47893cdeb7897b5e27898edd5789Aedd3789Bedd7789Cb5fa789Fedd878A1edd978A3eddc78A5b1cc78A7c5f678B0bcee78B1edda78B2ccbc78B3b2ea78B4eddb78B9c4eb78BEb4c578C1b0f578C5eddf78C9c0da78CAb4e878CBc5cd78D0eddd78D4bfc478D5edde78D9c4a578E8ede078ECede178F2ede378F4c1d778F7bbc778FAbdb87901ede27905ede47913ede6791Eede57924ede77934cabe793Aecea793Bc0f1793Cc9e7793Eeceb7940c6ee7941ecec7946c6ed7948eced7949ecf07953d7e67956ecf37957ecf1795Aecee795Becef795Cd7a3795Dc9f1795Ecbee795Fecf47960ecf27962cfe97965ecf67967c6b17968bcc0796Decf5796Fb5bb7977bbf67978ecf7797Ad9f77980bdfb7981c2bb7984ecf87985ecf9798Ab8a3798Fecfa799Aecfb79A7ecfc79B3d3ed79B9d8ae79BAc0eb79BBc7dd79BDbacc79BEd0e379C0cbbd79C1cdba79C3b8d179C6b1fc79C9c7ef79CBd6d679CDbfc679D1c3eb79D2eff579D5c3d879D8d7e279DFeff779E3b3d379E4c7d879E6d1ed79E7d6c879E9eff879EBeff679EDbbfd79EFb3c679F0bdd579F8d2c679FBbbe079FDcfa17A00effc7A02effb7A03eff97A06b3cc7A0Bc9d47A0Dcbb07A0Eeffe7A14b0de7A17d6c97A1Aeffd7A1Eb3ed7A20f6d57A23cec87A33f0a27A37f0a17A39b5be7A3Bbcda7A3Cbbfc7A3Db8e57A3Fc4c27A46f0a37A51cbeb7A57f0a67A70d1a87A74bebf7A76c7ee7A77f1b67A78f1b77A79bfd57A7Ab4a97A7Ff1b87A80cdbb7A81c7d47A83d5ad7A84f1b97A86f1ba7A88c7cf7A8Dd2a47A91d6cf7A92f1bb7A95bdd17A96b4b07A97bebd7A98b4dc7A9Cced17A9Dbfdf7A9Ff1bd7AA0bffa7AA5f1bc7AA6f1bf7AA8f1be7AACf1c07AADf1c17AB3c1fe7ABFc1a27ACBcafa7AD6d5be7AD9beba7ADEbeb97ADFd5c27AE0bfa27AE3cdaf7AE5f1b57AE6bddf7AEDb6cb7AEFd6f17AF9f3c37AFAf3c47AFDb8cd7AFFf3c67B03f3c77B04b0ca7B06f3c57B08f3c97B0Acbf17B0Bf3cb7B0Fd0a67B11b1ca7B14f3c87B15f3cf7B19b5d17B1Bf3d77B1Ef3d27B20f3d47B24f3d37B25b7fb7B26b1bf7B28f3ce7B2Af3ca7B2Bb5da7B2Cf3d07B2Ef3d17B31f3d57B33f3cd7B38bce37B3Ac1fd7B3Cf3d67B3Ef3da7B45f3cc7B47b5c87B49bdee7B4Bf3dc7B4Cb7a47B4Fbff07B50d6fe7B51cdb27B52b4f07B54b2df7B56f3d87B58f3d97B5Ac9b87B5Bf3dd7B5Df3de7B60f3e17B62f3df7B6Ef3e37B71f3e27B72f3db7B75bfea7B77b3ef7B79f3e07B7Bc7a97B7Ebcf27B80f3eb7B85b9bf7B8Df3e47B90b2ad7B94bbfe7B95cbe37B97f3ed7B9Cf3e97B9Db9dc7BA1f3ee7BA2f3e57BA6f3e67BA7f3ea7BA8c2e17BA9f3ec7BAAf3ef7BABf3e87BACbcfd7BADcfe47BB1f3f07BB4f3e77BB8f3f27BC1d7ad7BC6c6aa7BC7f3f37BCCf3f17BD1c2a87BD3b8dd7BD9f3f57BDAf3f47BDDb4db7BE1f3f67BE5f3f77BE6f3f87BEAc0ba7BEEc0e97BF1c5f17BF7f3fb7BFCf3fa7BFEb4d87C07f3fe7C0Bf3f97C0Cf3fc7C0Ff3fd7C16f4a17C1Ff4a37C26bbc97C27f4a27C2Af4a47C38b2be7C3Ff4a67C40f4a57C41bcae7C4Dc3d77C73d9e17C74c0e07C7Bf4cc7C7Cd7d17C7Db7db7C89f4ce7C91c1a37C92c6c97C95b4d67C97d5b37C98f4d07C9Cf4cf7C9Df4d17C9Ecbda7C9Ff4d27CA2d4c17CA4d6e07CA5b7e07CAAc1b87CAEc1bb7CB1f4d37CB2beac7CB3b4e27CB9f4d47CBCf4d57CBDbeab7CBEf4d67CC1f4db7CC5f4d77CC7f4da7CC8bafd7CCAf4d87CCCf4d97CCDb8e27CD5ccc77CD6f4dc7CD7b2da7CD9c3d37CDCd4e37CDFbfb77CE0f4dd7CE8c5b47CEFf4e97CF8cfb57CFBcec97D0Acbd87D20cbf77D22bdf47D27d7cf7D2Bc0db7D2Fd0f57D6Ef4ea7D77f4eb7DA6f4ec7DAEf7e37E3Bb7b17E41f4ed7E47d7eb7E82f4ee7E9Be6f97E9Fbec07EA0e6fa7EA1baec7EA2e6fb7EA3cfcb7EA4e6fc7EA5d4bc7EA6bcb67EA7e6fd7EA8e6fe7EA9bccd7EAAc8d27EABceb37EACe7a17EADb4bf7EAFe7a27EB0c9b47EB1b8d97EB2c4c97EB3d7dd7EB5c2da7EB6b7d77EB7d6bd7EB8cec67EB9b7c47EBAc5a67EBDe7a37EBEcfdf7EBFe7a47EC0e7a57EC1e7a67EC2c1b77EC3d7e97EC4c9f07EC5cfb87EC6d6af7EC7d6d57EC8e7a77EC9b0ed7ECAe7a87ECBe7a97ECCc9dc7ECDd2ef7ECEbead7ECFe7aa7ED0b0f37ED1c8de7ED2bde17ED3e7ab7ED4c8c67ED5e7ac7ED7bbe67ED8b8f87ED9d1a47EDAe7ad7EDBc2e77EDCbef87EDDbdca7EDEcdb37EDFe7ae7EE0e7af7EE1beee7EE2d0e57EE3cbe77EE5ccd07EE6bccc7EE7e7b07EE8bca87EE9d0f77EEAe7b17EEBd0f87EEDe7b27EEEe7b37EEFb4c27EF0e7b47EF1e7b57EF2c9fe7EF3ceac7EF4c3e07EF5e7b77EF6b1c17EF7b3f17EF8e7b87EFAe7b97EFBd7db7EFCd5c07EFDe7ba7EFEc2cc7EFFd7ba7F00e7bb7F01e7bc7F02e7bd7F03bcea7F04c3e57F05c0c27F06e7be7F07e7bf7F08bca97F09e7c07F0Be7c17F0Ce7b67F0Db6d07F0Ee7c27F0Fe7c37F11e7c47F12bbba7F13b5de7F14c2c67F15b1e07F16e7c57F17d4b57F18e7c67F19b8bf7F1Ae7c87F1Be7c77F1Cb7ec7F1De7c97F1Fb2f87F20e7ca7F21e7cb7F22e7cc7F23e7cd7F24e7ce7F25e7cf7F26e7d07F27d3a77F28cbf57F29e7d17F2Ae7d27F2Be7d37F2Ce7d47F2Dc9c97F2Ee7d57F2Fe7d67F30e7d77F31e7d87F32e7d97F33bdc97F34e7da7F35f3be7F36b8d77F38c8b17F3Af3bf7F42f3c07F44f3c17F45b9de7F50cdf87F51d8e87F54bab17F55c2de7F57eeb77F58b7a37F5Aeeb97F5Feeb87F61b0d57F62eebb7F68d5d67F69d7ef7F6Ad6c37F6Eeebd7F71caf07F72eebc7F74eebe7F79eec07F7Eeebf7F81d1f27F8Ac7bc7F8Cc3c07F8Eb8e17F94c1e77F9Af4c67F9Dd0df7F9Ef4c77F9F" +
    "cfdb7FA1c8ba7FA4f4c87FA7f4c97FAFf4ca7FB0f4cb7FB2d9fa7FB8b8fe7FB9e5f17FBCd3f07FBDf4e07FBFcecc7FC1b3e17FC5f1b47FCAd2ee7FCCf4e17FCEcfe87FD4f4e27FD5c7cc7FD8b5d47FDFb4e47FE0f4e47FE1f4e37FE5f4e57FE6f4e67FE9f4e77FEEbab27FF0b0bf7FF1f4e87FF3b7ad7FFBd2ed7FFCd2ab8000c0cf8001bfbc8003eba38004d5df8005eac88006f1f3800Bb6f8800Ccba3800Dc4cd8010f1e78012f1e88014b8fb8015f1e98016bac48017d4c58018b0d28019f1ea801Cf1eb8020f1ec8022f1ed8025f1ee8026f1ef8027f1f18028f1f08029c5d5802Af1f28031b6fa8033f1f48035d2ae8036dec78037cbca8038b3dc803Bb5a2803Db9a2803Fc4f48042f1f58043f1f68046c1c4804Ac1fb804Bd6b0804Cf1f7804Df1f88052c1aa8054c6b88058bedb805Af1f98069b4cf806Af1fa8071edb2807Fedb18080cbe08083d2de8084cbc18086d5d88087c8e28089c0df808Bbca1808Cebc18093d0a48096d6e28098b6c7809Ab8d8809Bebc0809Cb8ce809Debbf809Fb3a680A0b9c980A1d6ab80A2b7f480A4b7ca80A5bce780A9b7be80AAebc680ABebc780ADb0b980AEbfcf80AFebc580B1d3fd80B2ebc880B4ebc980B7b7ce80BAebc280BCebc480BDc9f680BEd6d780BFd5cd80C0d0b280C1ebcf80C2ceb880C3ebd080C4b5a880C6b1b380CCebd280CDcca580CEc5d680D6ebd380D7ebd180D9c5df80DAebce80DBcaa480DCebd580DDb0fb80DEbafa80E1d8b780E4f1e380E5ebca80E7ebcb80E8ebcc80E9ebcd80EAebd680EBe6c080ECebd980EDbfe880EFd2c880F0ebd780F1ebdc80F2b8ec80F3ebd880F4bdba80F6d0d880F8b0b780FAebdd80FCc4dc80FDd6ac8102b4e08106c2f68109bcb9810Aebda810Debdb810Ed4e0810Fc6ea8110c4d48111ebdf8112c5a78113d9f58114b2b18116ebe48118bdc5811Aebe2811Eebe3812Cb8ac812Fcdd18131ebe58132ebe18136c1b38138c6a2813Eccf38146ebe68148c0b0814Ad2b8814Bebe7814Cb8af8150b8ad8151ebe88153c7bb8154cdf38155ebea8159ebeb815Aebed8160d0c88165ebf28167ebee8169ebf1816Dc8f9816Ed1fc8170ebec8171ebe98174b8b98179cfd9817Ac4e5817Bebef817Cebf0817Dccda817Ecdc8817Fb0f28180ebf68182ebf58188b2b2818Ab8e0818Febf78191b1ec8198ccc5819Bc4a4819Ccfa5819Debf981A3eca281A6c5f281A8ebfa81AAc9c581B3e2df81BAebfe81BBcdce81C0eca181C1b1db81C2d3b781C3d2dc81C6ebfd81CAebfb81CCb3bc81E3eab081E7d7d481EAf4ab81ECb3f481EDd6c181F3d6c281F4d5e981FBbeca81FCf4a781FEd2a88200f4a88201f4a98202f4aa8204becb8205d3df8206c9e0820Cc9e1820Df3c28210cae68212ccf28214e2b6821Bcbb4821Ccee8821Ed6db821Ff4ad8221f4ae8222f4af8223f4b28228babd822Af4b3822Bb0e3822Cf4b0822Df4b1822Fbda28230b2d58231f4b68233f4b78234b6e68235b2b08236cfcf8237f4b48238b4ac8239f4b5823Bf4b8823Ef4b98244cda78247f4ba8249f4bb824Bf4bc824Fcbd28258f4bd825Af4be825Ff4bf8268f4de826Ec1bc826Fbce88270c9ab8272d1de8273e5f58274dcb38279d2d5827Adcb4827Db0ac827Edcb5827Fbdda8282dcb98284d8c28288dcb7828Ad3f3828Bc9d6828Ddcba828Edcb6828Fdcbb8291c3a28292dcbc8297dcc58298dcbd8299cedf829Cd6a5829Ddccf829Fdccd82A1dcd282A4bde682A5c2ab82A6dcb882A8dccb82A9dcce82AAdcbe82ABb7d282ACb0c582ADdcc782AEd0be82AFdcc182B0bba882B1b7bc82B3dccc82B4dcc682B7dcbf82B8c7db82B9d1bf82BDdcc082BEdcca82C1dcd082C4cead82C7dcc282C8dcc382CAdcc882CBdcc982CCb2d482CDdcd182CEcbd582CFd4b782D1dcdb82D2dcdf82D3cca682D4dce682D5c3e782D7dcdc82D8bfc182DBdcd982DCb0fa82DEb9b682DFdce582E0dcd382E1dcc482E3dcd682E4c8f482E5bfe082E6c9bb82EBb1bd82EFd3a282F1dcda82F4dcd582F7c6bb82F9dcde82FBd7c28301c3af8302b7b68303c7d18304c3a98305dce28306dcd88307dceb8308dcd48309dcdd830Cbea5830Edcd7830Fdce08311dce38314dce48315dcf88317dce1831Adda2831Bdce7831Cbceb8327b4c48328c3a3832Bb2e7832Cdcfa832Ddcf2832Fdcef8331dcfc8333dcee8334d2f08335b2e88336c8d78338c8e38339dcfb833Adced833Cdcf78340dcf58343bea38346dcf48347b2dd8349dcf3834Fbcf68350dce88351bbc48352c0f38354bcd4835Adce9835Bdcea835Cdcf1835Edcf6835Fdcf98360b5b48361c8d98363bbe78364dcfe8365dcfd8366d3ab8367dda18368dda38369dda5836Ad2f1836Bdda4836Cdda6836Ddda7836Ed2a9836Fbac98377dda98378ddb6837Bddb1837Cddb4837Dddb08385c6ce8386c0f28389c9af838Edcec8392ddae8393ddb78398dcf0839Bddaf839Cddb8839Eddac83A0ddb983A8ddb383A9ddad83AAc4aa83ABdda883B0c0b383B1c1ab83B2ddaa83B3ddab83B4ddb283B6bbf183B7ddb583B8d3a883B9ddba83BAddbb83BCc3a783BDddd283C0ddbc83C1ddd183C5b9bd83C7bed583CAbefa83CCbaca83CFddca83D4ddc583D6ddbf83D8b2cb83DCddc383DDddcb83DFb2a483E0ddd583E1ddbe83E5c6d083E9ddd083EAddd483F0c1e283F1b7c683F2ddce83F8ddcf83F9ddc483FDddbd8401ddcd8403ccd18404ddc98406ddc2840Bc3c8840Cc6bc840Dceae840Eddcc840Fddc88411ddc18418ddc6841Cc2dc841Dd3a98424d3aa8425ddd38426cff48427c8f88428dde68431ddc78438dde0843Cc2e4843Ddde18446ddd78451d6f88457ddd98459ddd8845Ab8f0845Bddd6845Cc6cf8461b6ad8463dde28469baf9846Bd4e1846Cdde7846Db4d08471ddda8473bffb8475dde38476dddf8478dddd847Ab5d98482dddb8487dddc8488ddde8489bdaf848Bdde4848Cdde5848Eddf58497c3c98499cbe2849Cddf284A1d8e184AFc6d184B2ddf484B4d5f484B8ddf384B9ddf084BAddec84BDddef84BFdde884C1d0ee84C4c8d884C9ddee84CAdde984CDddea84D0cbf284D1dded84D3b1cd84D6c0b684DDbcbb84DFddf184E0ddf784E3ddf684E5ddeb84E6c5ee84ECddfb84F0dea484FCdea384FFddf8850Cc3ef8511c2fb8513d5e18517ceb5851Addfd851Fb2cc8521c4e8852Bcadf852Cc7be8537ddfa8538ddfc8539ddfe853Adea2853Bb0aa853Cb1ce853Ddeac8543dea68548bdb68549c8ef854Adea18556dea58559dea9855Edea88564dea78568dead8572d4cc8574deb38579deaa857Adeae857Bc0d9857Eb1a18584deb68585deb18587deb2858Fd1a6859Bdeb5859Cdeaf85A4deb085A8d0bd85AAdeb485AEcaed85AFdeb985B0deb885B7deb785B9debb85C1bde585C9b2d885CFc3ea85D0deba85D3c5ba85D5debc85DCccd985E4b7aa85E9d4e585FBdebd85FFdebf8605c4a28611dec18616debe8627dec08629d5ba8638dec2863Cf2ae864Dbba2864Ec2b2864Fc5b08650c2c78651f2af8654d0e9865Ad3dd865Eebbd8662b3e6866Bf2b0866Cf2b1866Ecaad8671bae78679f2b3867Af2b5867Bf2b4867Ccbe4867Dcfba867Ef2b2867Fcab48680d2cf8681c2ec8682cec3868Af2b8868Bb0f6868Cf2b7868Df2be8693b2cf8695d1c1869Cf2ba869Df2bc86A3d4e986A4f2bb86A7f2b686A8f2bf86A9f2bd86AAf2b986ACf2c786AFf2c486B0f2c686B1f2ca86B4f2c286B5f2c086B6f2c586BAd6fb86C0f2c186C4c7f986C6c9df86C7f2c886C9b9c686CAb5b086CBf2c386CEf2c986CFf2d086D0f2d686D1bbd786D4f2d586D8cddc86D9d6eb86DBf2d286DEf2d486DFb8f286E4f2cb86E9f2ce86EDc2f986EEd5dd86F0f2cc86F1f2cd86F2f2cf86F3f2d386F4f2d986F8d3bc86F9b6ea86FEcaf18700b7e48702f2d78703f2d88707f2da8708f2dd8709f2db870Af2dc870Dd1d18712f2d18713cdc98715cecf8717d6a98718f2e3871Ac3db871Cf2e0871Ec0af8721f2ec8722f2de8723f2e18725f2e88729f2e2872Ef2e78731f2e68734f2e98737f2df873Bf2e4873Ef2ea873Fd3ac8747f2e58748b2f58749f2f2874Cd0ab874Ef2f58753bbc88757f2f98759f2f08760f2f68763f2f88764f2fa8765f2f3876Ef2f18770bafb8774b5fb8776f2ef877Bf2f7877Cf2ed877Df2ee877Ef2eb8782f3a68783f3a38785f3a28788f2f4878Bc8da878Df2fb8793f3a58797c3f8879Ff2fd87A8f3a787ABf3a987ACf3a487ADf2fc87AFf3ab87B3f3aa87B5c2dd87BAf3ae87BDf3b087C0f3a187C6f3b187CAf3ac87CBf3af87D1f2fe87D2f3ad87D3f3b287DBf3b487E0f3a887E5f3b387EAf3b587EEd0b787F9f3b887FEd9f98803f3b9880Af3b78813c8e48815f3b68816f3ba881Bf3bb8821b4c08822eec38832f3bc8839f3bd883Cd1aa8840f4ac8844d0c68845d0d0884Cd1dc884Dcfce8854bdd68857d1c38859bae28861e1e98862d2c28863f1c28864b2b98865b1ed8868f1c38869c9c0886Bb3c4886Cd9f2886Ecba58870f1c48872d6d48877f1c5887Df4c0887Ef1c6887Fd4ac8881f1c78882b0c08884f4c18885f4c28888b4fc888Bc5db888Dccbb8892d0e48896cde0889Cf1c888A2d9f388A4b1bb88ABcfae88ADb8a488B1f1ca88B7f1cb88BCb2c388C1c1d188C2d7b088C5f1c988C6f1cc88C9f1ce88CEd9f688D2d2e188D4d4a388D5f4c388D8c8b988D9f4c488DFf1cd88E2f1cf88E3bfe388E4f1d088E5f1d488E8f1d688F0f1d188F1c9d188F3c5e188F4c2e388F8b9fc88F9f1d388FCf1d588FEb9d38902f1db890Abad68910b0fd8912f1d98913f1d88919f1d2891Af1da891Bf1d78921c8ec8925cdca892Af1dd892Be5bd8930f1dc8934f1de8936f1df8941cfe58944f4c5895Ebdf3895Ff1e08966f1e1897Bcef7897Fd2aa8981f1fb8983b8b28986bcfb89C1b9db89C2b9e689C4c3d989C5cad389C6eae889C7c0c089C8bef589C9eae989CAeaea89CBeaeb89CCeaec89CEeaed89CFeaee89D0eaef89D1bdc789D2f5fb89D6f5fd89DAf5fe89DCf5fc89DEbde289E3f6a189E5b4a589E6f6a289EBf6a389EFecb289F3d1d48A00d9ea8A07f6a48A3Eeeba8A48d5b28A79d3fe8A89ccdc8A8Acac48A93e5c08B07f6a58B26beaf8B66c6a98B6Cdaa58BA0bcc68BA1b6a98BA2b8bc8BA3c8cf8BA4bca58BA5daa68BA6daa78BA7ccd68BA8c8c38BA9daa88BAAc6fd8BABd1b58BADd2e98BAEd1b68BAFbcc78BB0bdb28BB2bbe48BB3daa98BB4daaa8BB5d1c88BB6daab8BB7d0ed8BB8b6ef8BB9c2db8BBAcbcf8BBCb7ed8BBDc9e88BBEb7c38BBFbef78BC0d6a48BC1daac8BC2daad8BC3c6c08BC4d7e78BC5cab68BC6d5a98BC8cbdf8BC9d5ef8BCAdaae8BCBd6df8BCCb4ca8BCDdab08BCEdaaf8BCFd2eb8BD1dab18BD2dab28BD3dab38BD4cad48BD5dab48BD6caab8BD7dab58BD8dab68BD9b3cf8BDAd6ef8BDBdab78BDCbbb08BDDb5ae8BDEdab88BDFdab98BE0b9ee8BE1d1af8BE2d2e88BE3daba8BE4b8c38BE5cfea8BE6b2ef8BE7dabb8BE8dabc8BE9bdeb8BEBcedc8BECd3ef8BEDdabd8BEEcef38BEFdabe8BF0d3d58BF1bbe58BF2dabf8BF3cbb58BF4cbd08BF5dac08BF6c7eb8BF7d6ee8BF8dac18BF9c5b58BFAb6c18BFBdac28BFCb7cc8BFDbfce8BFEdac38BFFdac48C00cbad8C01dac58C02b5f78C03dac68C04c1c28C05d7bb8C06dac78C07ccb88C08d2ea8C0Ac4b18C0Bdac88C0Cb5fd8C0Dbbd18C0Edac98C0Fd0b38C10daca8C11dacb8C12cebd8C13dacc8C14dacd8C15dace8C16b2f78C17dad18C18dacf8C19d1e88C1Adad08C1Bc3d58C1Cdad28C1Ddad38C1Fdad48C20dad58C21d0bb8C22d2a58C23b0f98C24dad68C25c7ab8C26dad78C27bdf78C28c3a18C29dad88C2Adad98C2Bc3fd8C2Cccb78C2Ddada8C2Edadb8C2Fc0be8C30c6d78C31dadc8C32dadd8C33c7b48C34dade8C35dadf8C36b9c88C37bbed8C41b6b98C46f4f88C47f4f98C49cde38C4Cf5b98C55ebe08C5Acff38C61bbbf8C62bac08C6Ad4a58C6Be1d98C73f5f48C78b1aa8C79b2f28C7Af5f58C82f5f78C85bad18C89f5f68C8Ac3b28C8Cf5f98C94f5f88C98b1b48D1Dd5ea8D1Eb8ba8D1Fb9b18D21b2c68D22d4f08D23cfcd8D24b0dc8D25d5cb8D26bbf58D27d6ca8D28b7b78D29ccb08D2Ac6b68D2Bb1e18D2Cb9ba8D2Dd6fc8D2Eb9e18D2Fb7a18D30bcfa8D31eada8D32eadb8D33ccf98D34b9f38D35eadc8D36b4fb8D37c3b38D38b7d18D39bad88D3Aeadd8D3Bd4f48D3Ceade8D3Dbcd68D3Ebbdf8D3Feadf8D40c1de8D41c2b88D42d4df8D43d7ca8D44eae08D45eae18D46eae48D47eae28D48eae38D49c9de8D4Ab8b38D4Bb6c48D4Ceae58D4Dcaea8D4Ec9cd8D4Fb4cd8D50e2d98D53c5e28D54eae68D55c0b58D56d7b88D58eae78D59d7ac8D5Ac8fc8D5Bd8d38D5Cd8cd8D5Dd4de8D5Ed4f98D60c9c48D61d3ae8D62b8d38D63b3e08D64c9e28D66f4f68D67bad58D6Bf4f78D6Dd7df8D70f4f18D73b8b08D74d5d48D75b8cf8D76c6f08D77b3c38D81f4f28D84b3ac8D85d4bd8D8Ac7f78D8Bf4f48D91f4f38D94cccb8D9Fc8a48DA3f4f58DB1d7e38DB3c5bf8DB4f5c08DB5f5bb8DB8f5c38DBAf5c28DBCd6ba8DBEf5c18DBFd4be8DC3f5c48DC4f5cc8DC6b0cf8DCBb5f88DCCf5c98DCEf5ca8DCFc5dc8DD1f5c58DD6f5c68DD7f5c78DDAf5cb8DDBbee08DDDf5c88DDEb8fa8DDFf5d08DE3f5d38DE4bfe78DE8b9f28DEAf5bc8DEBf5cd8DECc2b78DEFccf88DF3bcf98DF5f5ce8DF7f5cf8DF8f5d18DF9b6e58DFAf5d28DFBf5d58DFDf5bd8E05f5d48E09d3bb8E0Ab3ec8E0Ccca48E0Ff5d68E14f5d78E1Dbee18E1Ef5d88E1Fccdf8E22f5db8E23b2c88E29d7d98E2Af5d98E2Cf5da8E2Ef5dc8E2Ff5e28E31f5e08E35f5df8E39f5dd8E3Af5e18E3Df5de8E40f5e48E41f5e58E42cce3" +
    "8E44e5bf8E47b5b88E48f5e38E49f5e88E4Acca38E4Bf5e68E51f5e78E52f5be8E59b1c48E66f5bf8E69b5c58E6Cb2e48E6Df5ec8E6Ff5e98E70b6d78E72f5ed8E74f5ea8E76f5eb8E7Cb4da8E7Fd4ea8E81f5ee8E85b3f98E87f5ef8E8Ff5f18E90f5f08E94f5f28E9Cf5f38E9Ec9ed8EABb9aa8EACc7fb8EAFb6e38EB2ccc98EBAeaa68ECEb3b58F66d4fe8F67b9ec8F68d0f98F69e9ed8F6Bd7aa8F6Ce9ee8F6Dc2d68F6Ec8ed8F6Fbae48F70e9ef8F71e9f08F72e9f18F73d6e18F74e9f28F75e9f38F76e9f58F77e9f48F78e9f68F79e9f78F7Ac7e18F7Be9f88F7Cd4d88F7De9f98F7Ebdce8F7Fe9fa8F81e9fb8F82bdcf8F83e9fc8F84b8a88F85c1be8F86e9fd8F87b1b28F88bbd48F89b9f58F8Ae9fe8F8Beaa18F8Deaa28F8Eeaa38F8Fb7f88F90bcad8F91cae48F93e0ce8F94d4af8F95cfbd8F96d5b78F97eaa48F98d5de8F99eaa58F9Ad0c18F9Bb9bc8F9Cb4c78F9Eb1d98F9Fc0b18FA3b1e68FA8b1e78FA9b1e88FABb3bd8FB0c8e88FB1e5c18FB6b1df8FB9c1c98FBDb4ef8FBEc7a88FC1d3d88FC2c6f98FC4d1b88FC5b9fd8FC7c2f58FC8d3ad8FCEd4cb8FD0bdfc8FD1e5c28FD3b7b58FD4e5c38FD5bbb98FD8d5e28FD9bdf88FDBd4b68FDCcea58FDDc1ac8FDEb3d98FDFccf68FE2e5c68FE4e5c48FE5e5c88FE6e5ca8FE8e5c78FE9b5cf8FEAc6c88FEBb5fc8FEDe5c58FEEcaf68FF0e5c98FF3c3d48FF7b1c58FF8bca38FF9d7b78FFDcdcb9000cbcd9001caca9002ccd39003e5cc9004e5cb9005c4e69006d1a19009d1b7900Ae5cd900Be5d0900Dcdb8900Fd6f09010e5cf9011b5dd9012cdbe9014e5d19016b6ba9017cda8901Ab9e4901Bcac5901Db3d1901Ecbd9901Fd4ec9020e5d29021b7ea9022e5ce9026e5d5902Db4fe902Ee5d6902Fe5d39035e5d49036d2dd9038c2df903Bb1c6903Cd3e2903Eb6dd9041cbec9042e5d79044d3f69047b1e9904Db6f4904Fe5da9050e5d89051e5d99052b5c09053d2c59057e5dc9058e5de905Be5dd9062c7b29063d2a39065e5db9068d4e2906Dd5da906Ee5e09074d7f19075e5e1907Db1dc907Fd1fb9080e5e29082e5e49083e5e39088e5e5908Bd2d89091b5cb9093e7df9095daf59097daf89099daf6909Bdaf7909Ddafa90A1d0cf90A2c4c790A3b0ee90A6d0b090AAdaf990ACd3ca90AEbaaa90AFdba290B0c7f190B1dafc90B3dafb90B4c9db90B5dafd90B6dba190B8d7de90B9dafe90BAc1da90BBdba590BEd3f490C1dba790C4dba490C5dba890C7bdbc90CAc0c990CEdba390CFdba690D0d6a390D1dba990D3dbad90D7dbae90DBdbac90DCbac290DDbfa490E1dbab90E2dbaa90E6d4c790E7b2bf90E8dbaf90EBb9f990EDdbb090EFb3bb90F4b5a690F8b6bc90FDdbb190FEb6f59102dbb29104b1c99119dbb4911Edbb39122dbb59123dbb7912Fdbb69131dbb89139dbb99143dbba9146d3cf9149f4fa914Ac7f5914Bd7c3914Cc5e4914Df4fc914Ef4fd914Ff4fb9150bec69152d0ef9157b7d3915Ad4cd915Dccaa915Ef5a29161f5a19162baa89163f4fe9164cbd69165f5a49169c0d2916Ab3ea916Ccdaa916Ef5a5916Ff5a39170bdb49171f5a89172f5a99174bdcd9175c3b89176bfe19177cbe19178f5aa9179f5a6917Df5a7917Ec4f0917Ff5ac9185b4bc9187d7ed9189b4d7918Bf5ab918Cf5ae918Df5ad9190f5af9191d0d19192c3d1919Ac8a9919Bf5b091A2f5b191A3f5b291AAf5b391ADf5b491AEf5b591AFf5b791B4f5b691B5f5b891BAb2c991C7d3d491C9cacd91CAc0ef91CCd6d891CDd2b091CEc1bf91CFbdf091D1b8aa91DCbcf89274f6c6928Ef6c792AEf6c892C8f6c9933Ef6ca936Af6cc938Ff6cb93CAf7e993D6f6cd943Ef6ce946Beec49485eec59486eec69487d5eb9488b6a49489eec8948Aeec7948Beec9948Ceeca948Dc7a5948Eeecb948Feecc9490b7b09492b5f69493eecd9494eecf9495eece9497b8c69499eed0949Aeed1949Beed2949Cb6db949Db3ae949Ed6d3949Fc4c694A0b1b594A1b8d694A2eed394A3eed494A4d4bf94A5c7d594A6befb94A7ced994A8b9b394A9eed694AAeed594ABeed894ACeed794ADc5a594AEeed994AFeeda94B0c7ae94B1eedb94B2c7af94B3eedc94B4b2a794B5eedd94B6eede94B7eedf94B8eee094B9eee194BAd7ea94BBeee294BCeee394BDbcd894BEeee494BFd3cb94C0ccfa94C1b2ac94C2c1e594C3eee594C4c7a694C5c3ad94C6eee694C8eee794C9eee894CAeee994CBeeea94CCeeeb94CDeeec94CEeeed94D0eeee94D1eeef94D2eef094D5eef194D6eef294D7eef494D8eef394D9eef594DBcdad94DCc2c194DDeef694DEeef794DFeef894E0d5a194E1eef994E2cfb394E3eefa94E4eefb94E5eefc94E7eefd94E8efa194E9eefe94EAefa294EBb8f594ECc3fa94EDefa394EEefa494EFbdc294F0d2bf94F1b2f994F2efa594F3efa694F4efa794F5d2f894F6efa894F7d6fd94F8efa994F9c6cc94FAefaa94FCefab94FDc1b494FEefac94FFcffa9500cbf89501efae9502efad9503b3fa9504b9f89505efaf9506efb09507d0e29508efb19509efb2950Ab7e6950Bd0bf950Cefb3950Defb4950Eefb5950Fc8f19510cce09511efb69512efb79513efb89514efb99515efba9516d5e09517efbb9518b4ed9519c3aa951Aefbc951Befbd951Defbe951Eefbf951Fcefd9521efc09522c2e09523b4b89524d7b69525bdf59526cfc79528efc39529efc1952Aefc2952Befc4952Cb6a7952Dbcfc952Ebee2952Fc3cc9530efc59531efc69532efc79534efcf9535efc89536efc99537efca9538c7c29539eff1953Ab6cd953Befcb953Cefcc953Eefcd953Fb6c69540c3be9541efce9542efd09544efd19545efd29546d5f29547efd39549c4f7954Aefd4954Cc4f8954Defd5954Eefd6954Fb8e49550b0f79551efd79552efd89553efd99554efda9556efdb9557efdc9558efdd9559efde955Bbeb5955Cefe1955Defdf955Eefe0955Fefe29561efe39562c1cd9563efe49564efe59565efe69566efe79567efe89568efe99569efea956Aefeb956Befec956Cc0d8956Defed956Fc1ad9570efee9571efef9572eff09573cfe29576b3a4957Fc3c595E8e3c595E9c9c195EAe3c695EBb1d595EDceca95EEb4b395EFc8f295F0e3c795F1cfd095F2e3c895F3bce495F4e3c995F5e3ca95F6c3c695F7d5a295F8c4d695F9b9eb95FAcec595FBe3cb95FCc3f695FDe3cc95FEb7a79600b8f39601bad29602e3cd9603e3ce9604d4c49605e3cf9606e3d09608d1cb9609e3d1960Ae3d2960Be3d3960Ce3d4960Dd1d6960Ee3d5960Fb2fb9610c0bb9611e3d69612c0ab9614e3d79615e3d89616e3d99617e3da9619e3db961Ab8b7961Cdae2961Db6d3961Fdae49621dae39622dae6962Ac8ee962Edae59631b7c09632d1f49633d2f59634d5f39635bdd79636d7e8963Bdae8963Cdae7963Db0a2963Fcdd39640dae99642b8bd9644bcca9645c2bd9646c2a49647b3c29648daea9649c2aa964Bc4b0964Cbdb5964Dcfde9650daeb9654c9c29655b1dd965Bdaec965Fb6b89661d4ba9662b3fd9664daed9667d4c99668cfd59669c5e3966Adaee966Cdaef9672daf09674c1ea9675ccd59676cfdd9677d3e79685c2a19686daf19688cbe5968Bdaf2968Dcbe6968Fd2fe9690b8f49694daf39697b0af9698cfb69699d5cf969Ccbed96A7daf496B0e3c496B3c1a596B6f6bf96B9f6c096BCf6c196BDc4d196BEc8b896C0d1e396C1d0db96C4d1c596C5bcaf96C6b9cd96C7eff496C9b4c696CCd3ba96CDf6c296CEb3fb96CFf6c396D2b5f196D5f6c596E0d3ea96E8f6a796E9d1a996EAf6a996EFf6a896F3c1e396F6c0d796F7b1a296F9ceed96FEd0e89700f6ab9701cff69704f6aa9706d5f09707f6ac9708c3b99709bbf4970Df6ae970Ef6ad970Fc4de9713c1d89716cbaa971Ccfbc971Ef6af972Af6b0972Df6b19730c2b69732b0d49738c5f99739f6b2973Ec7e09752f6a69753beb89756beb29759b5e5975Bb7c7975Ebfbf9760c3d29761c3e69762d8cc9765b8ef9769bdf99773d1a59774b0d09776f7b0977Cf7b19785d0ac978Bb0b0978Df7b29791f7b39792f7b49794c7ca9798becf97A0f7b797A3f7b697ABb1de97ADf7b597AFf7b897B2f7b997B4cea497E6c8cd97E7baab97E9e8b897EAe8b997EBe8ba97ECbec297EDd2f497F3d4cf97F5c9d897F6d2b39875b6a59876c7ea9877f1fc9878cfee9879cbb3987Ad0eb987Be7ef987Ccde7987Db9cb987Eb6d9987Ff1fd9880b0e49881cbcc9882f1fe9883d4a49884c2ad9885c1ec9886c6c49887beb19888f2a19889bcd5988Af2a2988Cf2a3988Df2a4988Fd2c39890c6b59891cdc79893f2a59894d3b19896bfc59897cce29898f2a6989Af2a7989Bd1d5989Cb6ee989Df2a8989Ef2a9989Fb5df98A0f2aa98A1f2ab98A2b2fc98A4f2ac98A5f2ad98A6c8a798A7b7e798CEeca998D1ecaa98D2ecab98D3ecac98D5c6ae98D8ecad98D9ecae98DAb7c998DEcab398DFe2b898E7f7cf98E8f7d0990Db2cd9910f7d1992Ef7d39954f7d29955e2bb9963bca29965e2bc9967e2bd9968e2be9969e2bf996Ae2c0996Be2c1996Cb7b9996Dd2fb996Ebda4996Fcace9970b1a59971cbc79972e2c29974b6fc9975c8c49976e2c39977bdc8997Ab1fd997Ce2c4997Db6f6997Fe2c59980c4d99981e2c69984cfda9985b9dd9986e2c79987c0a19988e2c8998Ab2f6998Be2c9998Dc1f3998Fe2ca9990e2cb9991c2f89992e2cc9993e2cd9994e2ce9995cad79996d8b89997d9e59998cfe39999f0a599A5dcb099A8c2ed9A6Cd4a69A6Dcdd49A6Ed1b19A6Fb3db9A70c7fd9A71b2b59A73c2bf9A74e6e09A75cabb9A76e6e19A77e6e29A78bed49A79e6e39A7Ad7a49A7Bcdd59A7Ce6e59A7Dbcdd9A7Ee6e49A7Fe6e69A80e6e79A81c2ee9A82bdbe9A84e6e89A85c2e69A86baa79A87e6e99A88e6ea9A8Ab3d29A8Bd1e99A8Cbfa59A8Fe6eb9A90c6ef9A91e6ec9A92e6ed9A93e6ee9A96c6ad9A97e6ef9A98c9a79A9Ae6f09A9Be6f19A9Ce6f29A9De5b99A9Ee6f39A9Fe6f49AA0c2e29AA1e6f59AA2e6f69AA3d6e89AA4e6f79AA5e6f89AA7b9c79AA8f7bb9AB0f7ba9AB1f7be9AB6f7bc9AB7baa19AB8f7bf9ABAf7c09ABCf7c29AC0f7c19AC1f7c49AC2f7c39AC5f7c59ACBf7c69ACCf7c79AD1cbe89AD3b8df9AD8f7d49ADFf7d59AE1f7d69AE6f7d89AEBf7da9AEDf7d79AEFf7db9AF9f7d99AFBd7d79B03f7dc9B08f7dd9B0Ff7de9B13f7df9B1Ff7e09B23dbcb9B2Fd8aa9B32e5f79B3Bb9ed9B3Cbffd9B41bbea9B42f7c99B43c6c79B44f7c89B45f7ca9B47f7cc9B48f7cb9B49f7cd9B4Dceba9B4Ff7ce9B51c4a79B54d3e39C7Cf6cf9C7Fc2b39C81f6d09C82f6d19C85f6d29C86f6d39C87f6d49C88f6d69C8Bb1ab9C8Df6d79C8Ef6d89C90f6d99C91f6da9C92f6db9C94f6dc9C95f6dd9C9Af6de9C9Bcfca9C9Cf6df9C9Ef6e09C9Ff6e19CA0f6e29CA1f6e39CA2f6e49CA3c0f09CA4f6e59CA5f6e69CA6f6e79CA7f6e89CA8f6e99CA9f6ea9CABf6eb9CADf6ec9CAEf6ed9CB0f6ee9CB1f6ef9CB2f6f09CB3f6f19CB4f6f29CB5f6f39CB6f6f49CB7bea89CB8f6f59CBAf6f69CBBf6f79CBCf6f89CBDc8fa9CC3f6f99CC4f6fa9CC5f6fb9CC6f6fc9CC7f6fd9CCAf6fe9CCBf7a19CCCf7a29CCDf7a39CCEf7a49CCFf7a59CD0f7a69CD3f7a79CD4f7a89CD5b1ee9CD6f7a99CD7f7aa9CD8f7ab9CD9f7ac9CDCf7ad9CDDc1db9CDEf7ae9CDFf7af9CE2c4f19E1Ff0af9E20bca69E21f0b09E22c3f99E23c5b89E25d1bb9E26f0b19E28f0b29E29f0b39E2Af0b49E2Bf0b59E2Cd1bc9E2Dd1ec9E2Ff0b79E31f0b69E32d4a79E33cdd29E35f0b89E36f0ba9E37f0b99E38f0bb9E39f0bc9E3Ab8eb9E3Df0bd9E3Ebae89E3Ff0be9E41f0bf9E42bee99E43f0c09E44b6ec9E45f0c19E46f0c29E47f0c39E48f0c49E49c8b59E4Af0c59E4Bf0c69E4Cf0c79E4Ec5f49E4Ff0c89E51f0c99E55f0ca9E57f7bd9E58f0cb9E5Af0cc9E5Bf0cd9E5Cf0ce9E5Ef0cf9E63bad79E64f0d09E66f0d19E67f0d29E68f0d39E69f0d49E6Af0d59E6Bf0d69E6Cf0d89E6Dd3a59E70f0d79E71f0d99E73f5ba9E7Ec2b99E7Ff7e49E82f7e59E87f7e69E88f7e79E8Bf7e89E92c2b49E93f7ea9E9Df7eb9E9Fc2f39EA6f4f09EB4f4ef9EB8c2e99EBBf7e19EBDf7e29EBEbbc69EC4d9e49EC9caf29ECDc0e89ECEf0a49ECFbada9ED1c7ad9ED4c4ac9ED8f7ec9EDBf7ed9EDCf7ee9EDDf7f09EDFf7ef9EE0f7f19EE2f7f49EE5f7f39EE7f7f29EE9f7f59EEAf7f69EEFede99EF9edea9EFBedeb9EFCf6bc9EFEf6bd9F0Bf6be9F0Db6a69F0Ed8be9F10b9c49F13d8bb9F17dcb19F19caf39F20f7f79F22f7f89F2Cf7f99F2Ff7fb9F37f7fa9F39b1c79F3Bf7fc9F3Df7fd9F3Ef7fe9F44c6eb9F50ecb49F51b3dd9F7Ff6b39F80f6b49F83c1e49F84f6b59F85f6b69F86f6b79F87f6b89F88f6b99F89f6ba9F8Ac8a39F8Bf6bb9F8Cc1fa9F99b9a89F9Aede89F9Bb9ea9F9Fd9df9FA0a3a1FF01a3a2FF02a3a3FF03a1e7FF04a3a5FF05a3a6FF06a3a7FF07a3a8FF08a3a9FF09a3aaFF0Aa3abFF0Ba3acFF0Ca3adFF0Da3aeFF0Ea3afFF0Fa3b0FF10a3b1FF11a3b2FF12a3b3FF13a3b4FF14a3b5FF15a3b6FF16a3b7FF17a3b8FF18a3b9FF19a3baFF1Aa3bbFF1Ba3bcFF1Ca3bdFF1Da3beFF1Ea3bfFF1Fa3c0FF20a3c1FF21a3c2FF22a3c3FF23a3c4FF24a3c5FF25a3c6FF26a3c7FF27a3c8FF28a3c9FF29a3caFF2Aa3cbFF2Ba3ccFF2Ca3cdFF2Da3ceFF2Ea3cfFF2Fa3d0FF30a3d1FF31a3d2FF32a3d3FF33a3d4FF34a3d5FF35a3d6FF36a3d7FF37a3d8FF38a3d9FF39a3daFF3Aa3dbFF3Ba3dcFF3Ca3ddFF3Da3deFF3Ea3dfFF3Fa3e0FF40a3e1FF41a3e2FF42a3e3FF43a3e4FF44a3e5FF45a3e6FF46a3e7FF47a3e8FF48a3e9FF49a3eaFF4Aa3ebFF4Ba3ecFF4Ca3edFF4Da3eeFF4E" +
    "a3efFF4Fa3f0FF50a3f1FF51a3f2FF52a3f3FF53a3f4FF54a3f5FF55a3f6FF56a3f7FF57a3f8FF58a3f9FF59a3faFF5Aa3fbFF5Ba3fcFF5Ca3fdFF5Da1abFF5Ea1e9FFE0a1eaFFE1a3feFFE3a3a4FFE5";

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/dx-decoding/gb2315-decoder-helper.ts



class GB2315DecoderHelper {
    static get specifiedPairSymbols() {
        if (!GB2315DecoderHelper._specifiedPairSymbols) {
            const date = gb2312date.match(/.{1,4}/g);
            const result = {};
            let gbDate;
            utils_list.ListUtils.forEach(date, (item) => {
                if (!gbDate)
                    gbDate = item;
                else {
                    result[gbDate.toLowerCase()] = parseInt(item, 16);
                    gbDate = null;
                }
            });
            GB2315DecoderHelper._specifiedPairSymbols = result;
        }
        return GB2315DecoderHelper._specifiedPairSymbols;
    }
    static getChars(bytes) {
        const result = [];
        let firstByte = 0;
        const bytesLength = bytes.length;
        utils_list.ListUtils.forEach(bytes, (currentByte, index) => {
            const isLast = bytesLength - 1 == index;
            if (firstByte < 128) {
                firstByte = currentByte.charCodeAt(0);
                if (firstByte < 128 || isLast)
                    result.push(currentByte);
            }
            else {
                const secondByte = number_converter/* RichNumberConverter */.p.numberToHex(currentByte.charCodeAt(0));
                const charCode = GB2315DecoderHelper.specifiedPairSymbols[number_converter/* RichNumberConverter */.p.numberToHex(firstByte) + secondByte];
                result.push(charCode ? String.fromCharCode(charCode) : '');
                firstByte = 0;
            }
        });
        return result;
    }
}
GB2315DecoderHelper._specifiedPairSymbols = null;

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/dx-decoding/russian-decoder.ts
class RussianDecoder {
    static decode(str) {
        if (str == null) {
            return null;
        }
        const result = [];
        for (let i = 0; i < str.length; i++) {
            const ord = str.charCodeAt(i);
            const charCode = RussianDecoder.map[ord];
            if (charCode)
                result.push(String.fromCharCode(charCode));
            else
                result.push(String.fromCharCode(ord));
        }
        return result.join('');
    }
}
RussianDecoder.map = {
    128: 1026,
    129: 1027,
    130: 8218,
    131: 1107,
    132: 8222,
    133: 8230,
    134: 8224,
    135: 8225,
    136: 8364,
    137: 8240,
    138: 1033,
    139: 8249,
    140: 1034,
    141: 1036,
    142: 1035,
    143: 1039,
    144: 1106,
    145: 8216,
    146: 8217,
    147: 8220,
    148: 8221,
    149: 8226,
    150: 8211,
    151: 8212,
    153: 8482,
    154: 1113,
    155: 8250,
    156: 1114,
    157: 1116,
    158: 1115,
    159: 1119,
    160: 160,
    161: 1038,
    162: 1118,
    163: 1032,
    164: 164,
    165: 1168,
    166: 166,
    167: 167,
    168: 1025,
    169: 169,
    170: 1028,
    171: 171,
    172: 172,
    173: 173,
    174: 174,
    175: 1031,
    176: 176,
    177: 177,
    178: 1030,
    179: 1110,
    180: 1169,
    181: 181,
    182: 182,
    183: 183,
    184: 1105,
    185: 8470,
    186: 1108,
    187: 187,
    188: 1112,
    189: 1029,
    190: 1109,
    191: 1111,
    192: 1040,
    193: 1041,
    194: 1042,
    195: 1043,
    196: 1044,
    197: 1045,
    198: 1046,
    199: 1047,
    200: 1048,
    201: 1049,
    202: 1050,
    203: 1051,
    204: 1052,
    205: 1053,
    206: 1054,
    207: 1055,
    208: 1056,
    209: 1057,
    210: 1058,
    211: 1059,
    212: 1060,
    213: 1061,
    214: 1062,
    215: 1063,
    216: 1064,
    217: 1065,
    218: 1066,
    219: 1067,
    220: 1068,
    221: 1069,
    222: 1070,
    223: 1071,
    224: 1072,
    225: 1073,
    226: 1074,
    227: 1075,
    228: 1076,
    229: 1077,
    230: 1078,
    231: 1079,
    232: 1080,
    233: 1081,
    234: 1082,
    235: 1083,
    236: 1084,
    237: 1085,
    238: 1086,
    239: 1087,
    240: 1088,
    241: 1089,
    242: 1090,
    243: 1091,
    244: 1092,
    245: 1093,
    246: 1094,
    247: 1095,
    248: 1096,
    249: 1097,
    250: 1098,
    251: 1099,
    252: 1100,
    253: 1101,
    254: 1102,
    255: 1103,
};

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/dx-decoding/decoder-helper.ts






class DecoderHelper {
    static decode(str, codePage) {
        if (codePage == CodePages.Russian)
            return RussianDecoder.decode(str);
        else if (codePage == CodePages.default)
            return DecoderBase.decode(str, windows1250specifiedSymbols);
        else if (codePage == CodePages.Ansi)
            return DecoderBase.decode(str, windows1252specifiedSymbols);
        else if (codePage == CodePages.Greek)
            return DecoderBase.decode(str, windows1253specifiedSymbols);
        else if (codePage == CodePages.Turkis)
            return DecoderBase.decode(str, windows1254specifiedSymbols);
        else if (codePage == CodePages.Hebrew)
            return DecoderBase.decode(str, windows1255specifiedSymbols);
        else if (codePage == CodePages.Arabic)
            return DecoderBase.decode(str, windows1256specifiedSymbols);
        else if (codePage == CodePages.Baltic)
            return DecoderBase.decode(str, windows1257specifiedSymbols);
        else if (codePage == CodePages.Vietnamese)
            return DecoderBase.decode(str, windows1258specifiedSymbols);
        return str;
    }
    static getChars(bytes, codePage) {
        if (codePage == CodePages.GB2315)
            return GB2315DecoderHelper.getChars(bytes);
        else if (codePage == CodePages.Hangul)
            return HangulDecoderHelper.getChars(bytes);
        return bytes;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/encoding/character-decoder.ts
class CharacterDecoder {
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/encoding/code-page-character-decoder.ts


class CodePageCharacterDecoder extends CharacterDecoder {
    constructor(codePage) {
        super();
        this.codePage = codePage;
        this._bytes = [];
    }
    processChar(importer, ch) {
        if (this._bytes.length == CodePageCharacterDecoder.capacity)
            this.flush(importer);
        this._bytes.push(ch);
    }
    flushByChar(importer, chars) {
        const count = chars.length;
        for (let i = 0; i < count; i++)
            importer.processChar(chars[i]);
    }
    flushByString(importer, chars) {
        importer.destination.processText(chars.join(""));
    }
    flush(importer) {
        if (this._bytes.length > 0) {
            const chars = DecoderHelper.getChars(this._bytes, this.codePage);
            if (!importer.destination.canAppendText || chars.length <= 1) {
                this.flushByChar(importer, chars);
            }
            else {
                this.flushByString(importer, chars);
            }
            this._bytes = [];
        }
    }
}
CodePageCharacterDecoder.capacity = 2048;

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/encoding/skip-character-decoder.ts


class SkipCharacterDecoder extends CodePageCharacterDecoder {
    constructor() {
        super(CodePages.default);
    }
    processChar(_importer, _ch) {
    }
    flush(_importer) {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/utils/destination-type.ts
var DestinationType;
(function (DestinationType) {
    DestinationType[DestinationType["ShapePictureDestination"] = 0] = "ShapePictureDestination";
    DestinationType[DestinationType["SectionHeaderFooterDestinationBase"] = 1] = "SectionHeaderFooterDestinationBase";
    DestinationType[DestinationType["ShapePropertiesDestinationBase"] = 2] = "ShapePropertiesDestinationBase";
    DestinationType[DestinationType["ShapeDestinationBase"] = 3] = "ShapeDestinationBase";
    DestinationType[DestinationType["HyperlinkPropertyValueDestination"] = 4] = "HyperlinkPropertyValueDestination";
    DestinationType[DestinationType["RangePermissionDestinationBase"] = 5] = "RangePermissionDestinationBase";
    DestinationType[DestinationType["DestinationOldParagraphNumberingBase"] = 6] = "DestinationOldParagraphNumberingBase";
    DestinationType[DestinationType["FieldSubDestination"] = 7] = "FieldSubDestination";
    DestinationType[DestinationType["UnicodeStringValueDestination"] = 8] = "UnicodeStringValueDestination";
    DestinationType[DestinationType["StringValueDestinationBase"] = 9] = "StringValueDestinationBase";
    DestinationType[DestinationType["StringValueDestination"] = 10] = "StringValueDestination";
    DestinationType[DestinationType["HexContentDestination"] = 11] = "HexContentDestination";
    DestinationType[DestinationType["BookmarkDestinationBase"] = 12] = "BookmarkDestinationBase";
    DestinationType[DestinationType["EmptyDestination"] = 13] = "EmptyDestination";
    DestinationType[DestinationType["UnicodeDestination"] = 14] = "UnicodeDestination";
    DestinationType[DestinationType["SkipDestination"] = 15] = "SkipDestination";
    DestinationType[DestinationType["DestinationRevisionAuthorTable"] = 16] = "DestinationRevisionAuthorTable";
    DestinationType[DestinationType["UserTableDestination"] = 17] = "UserTableDestination";
    DestinationType[DestinationType["FontTableDestination"] = 18] = "FontTableDestination";
    DestinationType[DestinationType["ColorTableDestination"] = 19] = "ColorTableDestination";
    DestinationType[DestinationType["PictureDestination"] = 20] = "PictureDestination";
    DestinationType[DestinationType["DefaultDestination"] = 21] = "DefaultDestination";
    DestinationType[DestinationType["FormFieldNameDestination"] = 22] = "FormFieldNameDestination";
    DestinationType[DestinationType["TableContentFieldDestination"] = 23] = "TableContentFieldDestination";
    DestinationType[DestinationType["FormFieldHelpTextDestination"] = 24] = "FormFieldHelpTextDestination";
    DestinationType[DestinationType["FieldStatusBarTextDestination"] = 25] = "FieldStatusBarTextDestination";
    DestinationType[DestinationType["FormFieldEntryMacroDestination"] = 26] = "FormFieldEntryMacroDestination";
    DestinationType[DestinationType["FormFieldExitMacroDestination"] = 27] = "FormFieldExitMacroDestination";
    DestinationType[DestinationType["InfoDestination"] = 28] = "InfoDestination";
    DestinationType[DestinationType["CustomPropertiesDestination"] = 29] = "CustomPropertiesDestination";
    DestinationType[DestinationType["StringPropertyDestination"] = 30] = "StringPropertyDestination";
    DestinationType[DestinationType["MailMergeDestination"] = 31] = "MailMergeDestination";
    DestinationType[DestinationType["StringPropertyBaseDestination"] = 32] = "StringPropertyBaseDestination";
    DestinationType[DestinationType["FieldMapDataDestination"] = 33] = "FieldMapDataDestination";
    DestinationType[DestinationType["BookmarkStartDestination"] = 34] = "BookmarkStartDestination";
    DestinationType[DestinationType["BookmarkEndDestination"] = 35] = "BookmarkEndDestination";
    DestinationType[DestinationType["RangePermissionStartDestination"] = 36] = "RangePermissionStartDestination";
    DestinationType[DestinationType["RangePermissionEndDestination"] = 37] = "RangePermissionEndDestination";
    DestinationType[DestinationType["DocumentVariableDestination"] = 38] = "DocumentVariableDestination";
    DestinationType[DestinationType["TextBeforeDestination"] = 39] = "TextBeforeDestination";
    DestinationType[DestinationType["TextAfterDestination"] = 40] = "TextAfterDestination";
    DestinationType[DestinationType["DestinationOldSectionNumberingLevel"] = 41] = "DestinationOldSectionNumberingLevel";
    DestinationType[DestinationType["DestinationOldParagraphNumbering"] = 42] = "DestinationOldParagraphNumbering";
    DestinationType[DestinationType["SkipNestedTableDestination"] = 43] = "SkipNestedTableDestination";
    DestinationType[DestinationType["CodeFieldDestination"] = 44] = "CodeFieldDestination";
    DestinationType[DestinationType["FieldDestination"] = 45] = "FieldDestination";
    DestinationType[DestinationType["FormFieldDestination"] = 46] = "FormFieldDestination";
    DestinationType[DestinationType["ResultFieldDestination"] = 47] = "ResultFieldDestination";
    DestinationType[DestinationType["DestinationSubDocument"] = 48] = "DestinationSubDocument";
    DestinationType[DestinationType["StyleSheetDestination"] = 49] = "StyleSheetDestination";
    DestinationType[DestinationType["CharacterStyleDestination"] = 50] = "CharacterStyleDestination";
    DestinationType[DestinationType["TableStyleDestination"] = 51] = "TableStyleDestination";
    DestinationType[DestinationType["PageBackgroundDestination"] = 52] = "PageBackgroundDestination";
    DestinationType[DestinationType["ShapeInstanceDestination"] = 53] = "ShapeInstanceDestination";
    DestinationType[DestinationType["ShapeDestination"] = 54] = "ShapeDestination";
    DestinationType[DestinationType["SectionPageFooterDestination"] = 55] = "SectionPageFooterDestination";
    DestinationType[DestinationType["SectionPageHeaderDestination"] = 56] = "SectionPageHeaderDestination";
    DestinationType[DestinationType["ListTableDestination"] = 57] = "ListTableDestination";
    DestinationType[DestinationType["ListNameDestination"] = 58] = "ListNameDestination";
    DestinationType[DestinationType["ListStyleNameDestination"] = 59] = "ListStyleNameDestination";
    DestinationType[DestinationType["ListLevelDestination"] = 60] = "ListLevelDestination";
    DestinationType[DestinationType["ListLevelTextDestination"] = 61] = "ListLevelTextDestination";
    DestinationType[DestinationType["ListLevelNumbersDestination"] = 62] = "ListLevelNumbersDestination";
    DestinationType[DestinationType["ListOverrideTableDestination"] = 63] = "ListOverrideTableDestination";
    DestinationType[DestinationType["ListOverrideLevelDestination"] = 64] = "ListOverrideLevelDestination";
    DestinationType[DestinationType["DefaultCharacterPropertiesDestination"] = 65] = "DefaultCharacterPropertiesDestination";
    DestinationType[DestinationType["DefaultParagraphPropertiesDestination"] = 66] = "DefaultParagraphPropertiesDestination";
    DestinationType[DestinationType["ShapePropertyNameDestination"] = 67] = "ShapePropertyNameDestination";
    DestinationType[DestinationType["ShapePropertyDestination"] = 68] = "ShapePropertyDestination";
    DestinationType[DestinationType["ShapePropertyValueDestination"] = 69] = "ShapePropertyValueDestination";
    DestinationType[DestinationType["ShapeTextDestination"] = 70] = "ShapeTextDestination";
    DestinationType[DestinationType["ShapePropertyHyperlinkDestination"] = 71] = "ShapePropertyHyperlinkDestination";
    DestinationType[DestinationType["ShapePropertyHsvValueDestination"] = 72] = "ShapePropertyHsvValueDestination";
    DestinationType[DestinationType["HyperlinkSourceValueDestination"] = 73] = "HyperlinkSourceValueDestination";
    DestinationType[DestinationType["HyperlinkLocationValueDestination"] = 74] = "HyperlinkLocationValueDestination";
})(DestinationType || (DestinationType = {}));

// EXTERNAL MODULE: ./src/common/model/character/character-property-descriptor.ts
var character_property_descriptor = __webpack_require__(6223);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/character/rtf-font-info.ts

class RtfFontInfo {
    constructor() {
        this.charset = -1;
        this.name = "";
        this._shouldLoad = false;
    }
    get shouldLoad() { return this._shouldLoad; }
    get cachedInfo() { return this._cachedInfo; }
    getCoreObjectByName(documentModel) {
        if (this._cachedInfo)
            return this._cachedInfo;
        this._cachedInfo = documentModel.cache.fontInfoCache.getItemByName(this.name);
        if (!this._cachedInfo) {
            this._shouldLoad = true;
            this._cachedInfo = documentModel.cache.fontInfoCache.addFont(this.name, this.name);
        }
        return this._cachedInfo;
    }
    static createDefaultRtfFontInfo() {
        const info = new RtfFontInfo();
        info.name = "Times New Roman";
        info.id = constants.Constants.MAX_SAFE_INTEGER;
        return info;
    }
    static getFontInfo(fontInfoCache, name) {
        const fontInfo = fontInfoCache.getItemByName(name);
        return fontInfo ? fontInfo : fontInfoCache.addFont(name, name);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
;// CONCATENATED MODULE: ./src/common/formats/rtf/utils/unicode-char-helper.ts



class UnicodeCharHelper {
    static setUnicodeFontName(fontInfoCache, ch, position) {
        const charType = this.calculateCharType(ch);
        if (position.useDoubleByteCharactersFontName || position.useLowAnsiCharactersFontName || position.useHighAnsiCharactersFontName)
            UnicodeCharHelper.setUnicodeFontNameByCharType(fontInfoCache, charType, position);
    }
    static setUnicodeFontNameByCharType(fontInfoCache, charType, position) {
        const characterFormatting = position.coreProperties;
        if (position.useDoubleByteCharactersFontName || position.useLowAnsiCharactersFontName || position.useHighAnsiCharactersFontName) {
            if (position.useDoubleByteCharactersFontName && charType == CharType.DoubleByteCharacter)
                characterFormatting.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo, RtfFontInfo.getFontInfo(fontInfoCache, position.doubleByteCharactersFontName));
            else if (position.useLowAnsiCharactersFontName && charType == CharType.LowAnsiCharacter)
                characterFormatting.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo, RtfFontInfo.getFontInfo(fontInfoCache, position.lowAnsiCharactersFontName));
            else if (position.useHighAnsiCharactersFontName && charType == CharType.HighAnsiCharacter)
                characterFormatting.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo, RtfFontInfo.getFontInfo(fontInfoCache, position.highAnsiCharactersFontName));
        }
    }
    static isLowAnsiCharacter(ch) {
        var chVal = ch.charCodeAt(0);
        return chVal >= UnicodeCharHelper.lowAnsiCharactersStart && chVal <= UnicodeCharHelper.lowAnsiCharactersEnd;
    }
    static isDoubleByteChar(ch) {
        const chVal = ch.charCodeAt(0);
        if (chVal < UnicodeCharHelper.lowLatinExtendedAdditional)
            return false;
        if (chVal >= UnicodeCharHelper.lowLatinExtendedAdditional && chVal <= UnicodeCharHelper.highLatinExtendedAdditional)
            return false;
        if (chVal >= UnicodeCharHelper.lowGeneralPunctuation && chVal <= UnicodeCharHelper.highGeneralPunctuation)
            return false;
        if (chVal >= UnicodeCharHelper.lowCurrencySymbols && chVal <= UnicodeCharHelper.highCurrencySymbols)
            return false;
        if (chVal >= UnicodeCharHelper.lowLetterlikeSymbols && chVal <= UnicodeCharHelper.highLetterlikeSymbols)
            return false;
        if (chVal >= UnicodeCharHelper.lowNumberForms && chVal <= UnicodeCharHelper.highNumberForms)
            return false;
        if (chVal >= UnicodeCharHelper.lowMathematicalOperations && chVal <= UnicodeCharHelper.highMathematicalOperations)
            return false;
        if (chVal >= UnicodeCharHelper.privateUseAreaStart && chVal <= UnicodeCharHelper.privateUseAreaEnd)
            return false;
        return true;
    }
    static calculateCharType(ch) {
        if (UnicodeCharHelper.isLowAnsiCharacter(ch))
            return CharType.LowAnsiCharacter;
        if (UnicodeCharHelper.isDoubleByteChar(ch))
            return CharType.DoubleByteCharacter;
        return CharType.HighAnsiCharacter;
    }
    static isHighSurrogate(ch) {
        if (!(0,common.isDefined)(ch) || ch.length > 1)
            return false;
        const charCode = ch.charCodeAt(0);
        return 0xd800 <= charCode && charCode <= 0xdbff;
    }
    static isLowSurrogate(ch) {
        if (!(0,common.isDefined)(ch) || ch.length > 1)
            return false;
        const charCode = ch.charCodeAt(0);
        return 0xdc00 <= charCode && charCode <= 0xdfff;
    }
}
UnicodeCharHelper.highestCyrillic = 1279;
UnicodeCharHelper.lowLatinExtendedAdditional = 7680;
UnicodeCharHelper.highLatinExtendedAdditional = 7929;
UnicodeCharHelper.lowGeneralPunctuation = 8192;
UnicodeCharHelper.highGeneralPunctuation = 8303;
UnicodeCharHelper.lowCurrencySymbols = 8352;
UnicodeCharHelper.highCurrencySymbols = 8367;
UnicodeCharHelper.lowLetterlikeSymbols = 8448;
UnicodeCharHelper.highLetterlikeSymbols = 8506;
UnicodeCharHelper.lowNumberForms = 8531;
UnicodeCharHelper.highNumberForms = 8579;
UnicodeCharHelper.lowMathematicalOperations = 8704;
UnicodeCharHelper.highMathematicalOperations = 8945;
UnicodeCharHelper.lowAnsiCharactersStart = 0x00;
UnicodeCharHelper.lowAnsiCharactersEnd = 0x7F;
UnicodeCharHelper.highAnsiCharactersStart = 0x80;
UnicodeCharHelper.highAnsiCharactersEnd = 0xFF;
UnicodeCharHelper.privateUseAreaStart = 0xE000;
UnicodeCharHelper.privateUseAreaEnd = 0xF8FF;
var CharType;
(function (CharType) {
    CharType[CharType["LowAnsiCharacter"] = 0] = "LowAnsiCharacter";
    CharType[CharType["DoubleByteCharacter"] = 1] = "DoubleByteCharacter";
    CharType[CharType["HighAnsiCharacter"] = 2] = "HighAnsiCharacter";
    CharType[CharType["ComplexScriptCharacter"] = 3] = "ComplexScriptCharacter";
})(CharType || (CharType = {}));

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/encoding/unicode-character-decoder.ts


class UnicodeCharacterDecoder extends CharacterDecoder {
    constructor() {
        super(...arguments);
        this._chars = [];
    }
    processChar(importer, ch) {
        if (this._chars.length >= UnicodeCharacterDecoder.capacity)
            this.flush(importer);
        this._chars.push(ch);
    }
    flush(importer) {
        if (this._chars.length > 0) {
            if (!this.canAppendText(importer) || this._chars.length <= 1)
                this.flushByChar(importer, this._chars);
            else {
                const str = this._chars.join('').normalize();
                this.flushByString(importer, str);
            }
            this._chars = [];
        }
    }
    canAppendText(importer) {
        return importer.destination.canAppendText;
    }
    flushByChar(importer, chars) {
        const normalizedChars = [];
        for (let index = 0; index < chars.length; index++) {
            const high = chars[index];
            const low = chars[index + 1];
            if (low && UnicodeCharHelper.isLowSurrogate(low)) {
                if (UnicodeCharHelper.isHighSurrogate(high))
                    normalizedChars.push(high + low);
                else
                    normalizedChars.push(high, low);
                index++;
            }
            else
                normalizedChars.push(high);
        }
        for (const ch of normalizedChars)
            importer.processChar(ch);
    }
    flushByString(importer, str) {
        importer.destination.processText(str);
    }
}
UnicodeCharacterDecoder.capacity = 1024;

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/character/rtf-formatting-info.ts




class RtfFormattingInfo {
    constructor() {
        this._unicodeCharacterByteCount = 1;
        this._codePage = CodePages.default;
        this.codePageDecoder = new CodePageCharacterDecoder(this.codePage);
        this.unicodeDecoder = new UnicodeCharacterDecoder();
        this.activeDecoder = this.codePageDecoder;
    }
    get unicodeCharacterByteCount() { return this._unicodeCharacterByteCount; }
    set unicodeCharacterByteCount(value) {
        if (value < 0)
            RtfImportData.throwInvalidRtfFile();
        this._unicodeCharacterByteCount = value;
    }
    get codePage() { return this._codePage; }
    set codePage(value) {
        if (this._codePage == value)
            return;
        this._codePage = value;
        this.onCodePageChanged();
    }
    onCodePageChanged() {
        this.codePageDecoder.codePage = this.codePage;
    }
    clone() {
        const clone = this.createEmptyClone();
        clone.copyFrom(this);
        return clone;
    }
    createEmptyClone() {
        return new RtfFormattingInfo();
    }
    copyFrom(info) {
        this.unicodeCharacterByteCount = info.unicodeCharacterByteCount;
        this.codePage = info.codePage;
        this.deleted = info.deleted;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/enums.ts
var RtfParsingState;
(function (RtfParsingState) {
    RtfParsingState[RtfParsingState["Normal"] = 0] = "Normal";
    RtfParsingState[RtfParsingState["BinData"] = 1] = "BinData";
    RtfParsingState[RtfParsingState["HexData"] = 2] = "HexData";
})(RtfParsingState || (RtfParsingState = {}));
var Win32MapMode;
(function (Win32MapMode) {
    Win32MapMode[Win32MapMode["Text"] = 1] = "Text";
    Win32MapMode[Win32MapMode["LowMetric"] = 2] = "LowMetric";
    Win32MapMode[Win32MapMode["HighMetric"] = 3] = "HighMetric";
    Win32MapMode[Win32MapMode["LowEnglish"] = 4] = "LowEnglish";
    Win32MapMode[Win32MapMode["HighEnglish"] = 5] = "HighEnglish";
    Win32MapMode[Win32MapMode["Twips"] = 6] = "Twips";
    Win32MapMode[Win32MapMode["Isotropic"] = 7] = "Isotropic";
    Win32MapMode[Win32MapMode["Anisotropic"] = 8] = "Anisotropic";
})(Win32MapMode || (Win32MapMode = {}));

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/destination.ts





class DestinationBase {
    static get empty() { return EmptyDestination._empty; }
    constructor(importer) {
        if (importer) {
            this.importer = importer;
            this.subDocument = importer.subDocument;
            const rtfFormattingInfo = this.createRtfFormattingInfo();
            rtfFormattingInfo.copyFrom(importer.importers.character.characterFormatting.rtfFormattingInfo);
            importer.importers.character.characterFormatting.rtfFormattingInfo = rtfFormattingInfo;
        }
    }
    createRtfFormattingInfo() {
        return new RtfFormattingInfo();
    }
    get keywordHT() { return this.importer.keywordHTHolder.getHt(this.destinationType); }
    equals(destination) {
        return destination.destinationType == this.destinationType;
    }
    static onSwitchToHexChar(importer, _ch) {
        importer.parsingState = RtfParsingState.HexData;
    }
    static onEscapedChar(importer, ch) {
        importer.flushDecoder();
        importer.destination.processChar(ch);
    }
    static onUnicodeKeyword(importer, parameterValue, _hasParameter) {
        const ch = String.fromCharCode(parameterValue & 0xFFFF);
        importer.parseUnicodeChar(ch);
    }
    static onOptionalGroupChar(importer, _ch) {
        if (importer.destination.nonEmpty)
            return;
        importer.flushDecoder();
        importer.optionalGroupLevel = importer.savedStatesCount;
    }
    static onBinKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter && parameterValue != 0) {
            importer.binCharCount = parameterValue;
            importer.parsingState = RtfParsingState.BinData;
        }
        else {
            importer.decreaseSkipCount();
        }
    }
    static onAnsiKeyword(importer, _parameterValue, _hasParameter) {
        importer.setCodePage(CodePages.default);
    }
    static onMacKeyword(importer, _parameterValue, _hasParameter) {
        importer.documentProperties.defaultCodePage = DestinationBase.macCodePage;
        importer.setCodePage(DestinationBase.macCodePage);
    }
    static onPcKeyword(importer, _parameterValue, _hasParameter) {
        importer.documentProperties.defaultCodePage = DestinationBase.pcCodePage;
        importer.setCodePage(DestinationBase.pcCodePage);
    }
    static onPcaKeyword(importer, _parameterValue, _hasParameter) {
        importer.documentProperties.defaultCodePage = DestinationBase.pcaCodePage;
        importer.setCodePage(DestinationBase.pcaCodePage);
    }
    static onAnsiCodePageKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter) {
            importer.documentProperties.defaultCodePage = parameterValue;
            importer.setCodePage(parameterValue);
        }
    }
    static onHyphAutoKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onUnicodeCountKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.rtfFormattingInfo.unicodeCharacterByteCount = parameterValue;
    }
    get canAppendText() { return false; }
    canProcessSpecialHexChar() { return false; }
    processControlChar(ch) {
        this.processControlCharCore(ch);
        this.nonEmpty = true;
    }
    processKeyword(keyword, parameterValue, hasParameter) {
        const result = this.processKeywordCore(keyword, parameterValue, hasParameter);
        this.nonEmpty = true;
        return result;
    }
    processChar(ch) {
        this.processCharCore(ch);
        this.nonEmpty = true;
    }
    processText(text) {
        this.processTextCore(text);
        this.nonEmpty = true;
    }
    processBinChar(ch) {
        this.processBinCharCore(ch);
        this.nonEmpty = true;
    }
    processSpecialHexChar(ch) {
        this.processSpecialHexCharCore(ch);
        this.nonEmpty = true;
    }
    processControlCharCore(ch) {
        let translator = null;
        if (this.controlCharHT != null)
            translator = this.controlCharHT[ch];
        if (translator == null)
            translator = DestinationBase.defaultControlCharHT[ch];
        if (translator != null)
            translator(this.importer, ch);
    }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        let translator = null;
        const kwHt = this.keywordHT;
        if (kwHt)
            translator = kwHt[keyword];
        if (translator == null)
            translator = this.importer.keywordHTHolder.defaultKeywords[keyword];
        if (translator == null)
            return false;
        translator(this.importer, parameterValue, hasParameter);
        return true;
    }
    processCharCore(_ch) { }
    processTextCore(_text) { }
    processSpecialHexCharCore(_ch) { }
    processBinCharCore(_ch) { }
    beforePopRtfState() { }
    afterPopRtfState() { }
    increaseGroupLevel() { }
    beforeNestedGroupFinished(nestedDestination) {
        this.beforeNestedGroupFinishedCore(nestedDestination);
        this.nonEmpty = true;
    }
    beforeNestedGroupFinishedCore(_nestedDestination) {
    }
    nestedGroupFinished(_nestedDestination) {
    }
    afterNestedGroupFinished(_nestedDestination) {
    }
    clone() {
        return this.createClone();
    }
}
DestinationBase.macCodePage = 10000;
DestinationBase.pcCodePage = 437;
DestinationBase.pcaCodePage = 850;
DestinationBase.defaultControlCharHT = new map_creator/* MapCreator */.M()
    .add('\'', DestinationBase.onSwitchToHexChar)
    .add('*', DestinationBase.onOptionalGroupChar)
    .get();
class EmptyDestination extends DestinationBase {
    get destinationType() { return DestinationType.EmptyDestination; }
    get controlCharHT() { return {}; }
    get keywordHT() { return {}; }
    createClone() {
        return new EmptyDestination();
    }
}
EmptyDestination._empty = new EmptyDestination();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/skip-destination.ts



class SkipDestination extends DestinationBase {
    get destinationType() { return DestinationType.SkipDestination; }
    get controlCharHT() { return null; }
    ;
    constructor(importer) {
        super(importer);
        const formInfo = this.importer.importers.character.characterFormatting.rtfFormattingInfo;
        this.oldDecoder = formInfo.activeDecoder;
        formInfo.activeDecoder = new SkipCharacterDecoder();
    }
    beforePopRtfState() {
        this.importer.importers.character.characterFormatting.rtfFormattingInfo.activeDecoder = this.oldDecoder;
        super.beforePopRtfState();
    }
    processControlCharCore(_ch) { }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        const translator = this.keywordHT[keyword];
        if (translator) {
            translator(this.importer, parameterValue, hasParameter);
            return true;
        }
        return false;
    }
    processCharCore(_ch) {
    }
    createClone() {
        return new SkipDestination(this.importer);
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-document-enums.ts
var json_document_enums = __webpack_require__(1573);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/section/enums.ts
var enums = __webpack_require__(8311);
// EXTERNAL MODULE: ./src/common/formats/utils/numbering-list-index-constants.ts
var numbering_list_index_constants = __webpack_require__(3610);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level.ts
var list_level = __webpack_require__(2411);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-helper.ts
var numbering_helper = __webpack_require__(2156);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list.ts
var numbering_list = __webpack_require__(3231);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/numbering-lists/rtf-numbering-list.ts
var RtfNumberingListType;
(function (RtfNumberingListType) {
    RtfNumberingListType[RtfNumberingListType["Unknown"] = 0] = "Unknown";
    RtfNumberingListType[RtfNumberingListType["Hybrid"] = 1] = "Hybrid";
    RtfNumberingListType[RtfNumberingListType["Simple"] = 2] = "Simple";
})(RtfNumberingListType || (RtfNumberingListType = {}));
class RtfNumberingList {
    constructor() {
        this.levels = [];
        this.numberingListType = RtfNumberingListType.Unknown;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/numbering-lists/rtf-list-converter.ts






class RtfListConverter {
    constructor(importer) {
        this.styleCrossTable = {};
        this.importer = importer;
    }
    get documentModel() { return this.importer.documentModel; }
    convert(listTable, listOverrideTable) {
        this.createAbstractNumberingLists(listTable);
        this.fixBrokenListStyles();
        this.createNumberingListsCore(listOverrideTable, listTable);
    }
    fixBrokenListStyles() {
        utils_list.ListUtils.forEach(this.documentModel.numberingListStyles, (style, i) => {
            const abstractListIndex = this.findAbstractNumberingListByStyle(i);
            if (style.numberingListIndex < numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue && abstractListIndex != -1) {
                this.documentModel.numberingLists.push(new numbering_list/* NumberingList */.K6(this.documentModel, abstractListIndex));
                style.numberingListIndex = this.documentModel.numberingLists.length - 1;
            }
        });
    }
    findAbstractNumberingListByStyle(_styleIndex) {
        return -1;
    }
    createNumberingListsCore(listOverrideTable, _listTable) {
        const count = listOverrideTable.length;
        const abstractNumberingLists = this.documentModel.abstractNumberingLists;
        for (let i = 0; i < count; i++) {
            const rtfList = listOverrideTable[i];
            const sourceListIndex = this.getListIndex(rtfList.listId, abstractNumberingLists);
            if (sourceListIndex < 0)
                continue;
            const list = new numbering_list/* NumberingList */.K6(this.documentModel, sourceListIndex);
            const overrideId = rtfList.id;
            this.documentModel.numberingLists.push(list);
            this.convertRtfOverrideToNumbering(list, rtfList);
            const numberingListIndex = this.documentModel.numberingLists.length - 1;
            this.importer.importers.numbering.listOverrideIndexToNumberingListIndexMap[overrideId] = numberingListIndex;
            list.innerId = this.documentModel.numberingLists.length;
        }
    }
    createAbstractNumberingLists(listTable) {
        listTable.forEach((rtfList) => {
            this.createAbstractNumberingList(rtfList);
        });
    }
    createAbstractNumberingList(rtfList) {
        let list = utils_list.ListUtils.elementBy(this.documentModel.abstractNumberingLists, list => list.innerId == rtfList.id);
        if (rtfList.id == -1 || !list) {
            list = new numbering_list/* AbstractNumberingList */.pC(this.documentModel);
            this.convertRtfListToNumberingList(rtfList.levels, list);
            if (this.isHybridList(rtfList))
                this.setHybridListType(list);
            list.innerId = rtfList.id;
            this.documentModel.abstractNumberingLists.push(list);
        }
        return list;
    }
    isHybridList(rtfList) {
        if (rtfList.numberingListType != RtfNumberingListType.Unknown)
            return true;
        const levels = rtfList.levels;
        for (let value of levels) {
            if (value.listLevelProperties.templateCode != 0)
                return true;
        }
        return false;
    }
    setHybridListType(list) {
        list.levels.forEach((listLevel) => {
            listLevel.changeListLevelProperties((properties) => {
                if (properties.templateCode === 0)
                    properties.templateCode = numbering_helper/* NumberingHelper */.K.generateNewTemplateCode(this.documentModel);
            });
        });
    }
    getListIndex(listId, lists) {
        for (let i = 0; i < lists.length; i++) {
            if (lists[i].getId() == listId)
                return i;
        }
        return -1;
    }
    convertRtfOverrideToNumbering(list, rtfOverride) {
        rtfOverride.levels.forEach((level, index) => {
            const restart = level.overrideStartAt;
            const reformat = level.overrideFormat;
            if (reformat) {
                this.convertPropertyRtfToNumbering(level.level, level.level.listLevelProperties, true, true);
                const overrideLevel = new list_level/* OverrideListLevel */.lT(this.documentModel, level.level.characterProperties, level.level.paragraphProperties, level.level.listLevelProperties);
                list.levels[index] = overrideLevel;
                if (restart)
                    overrideLevel.overrideStart = true;
            }
            else {
                if (restart) {
                    const referenceLevel = list.levels[index];
                    referenceLevel.overrideStart = true;
                    referenceLevel.setNewStart(rtfOverride.levels[index].startAt);
                }
            }
        });
    }
    convertRtfListToNumberingList(rtfLevels, list) {
        rtfLevels.forEach((rtfLevel, index) => {
            const level = list.createLevel(index);
            list.levels[index] = level;
            level.setParagraphProperties(rtfLevel.paragraphProperties);
            level.setCharacterProperties(rtfLevel.characterProperties);
            level.changeListLevelProperties((properties) => { this.convertPropertyRtfToNumbering(rtfLevel, properties, true, true); });
        });
    }
    convertPropertyRtfToNumbering(rtfLevel, level, restart, reformat) {
        const levelProperties = rtfLevel.listLevelProperties;
        if (restart == true)
            level.start = levelProperties.start;
        if (reformat == true) {
            level.format = levelProperties.format;
            level.alignment = levelProperties.alignment;
            level.suppressBulletResize = levelProperties.suppressBulletResize;
            level.suppressRestart = levelProperties.suppressRestart;
            level.separator = levelProperties.separator;
            level.convertPreviousLevelNumberingToDecimal = levelProperties.convertPreviousLevelNumberingToDecimal;
            level.displayFormatString = rtfLevel.createDisplayFormatString();
            level.templateCode = levelProperties.templateCode;
        }
        if (levelProperties.legacy) {
            level.legacy = levelProperties.legacy;
            level.legacySpace = levelProperties.legacySpace;
            level.legacyIndent = levelProperties.legacyIndent;
        }
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/custom-properties-destination.ts


class CustomPropertiesDestination extends DestinationBase {
    get destinationType() { return DestinationType.CustomPropertiesDestination; }
    ;
    get controlCharHT() { return null; }
    ;
    createClone() {
        return new CustomPropertiesDestination(this.importer);
    }
    static onPropname(_importer, _parameterValue, _hasParameter) {
    }
    static onStaticval(_importer, _parameterValue, _hasParameter) {
    }
    static onProptType(_importer, _parameterValue, _hasParameter) {
    }
    static onLinkval(_importer, _parameterValue, _hasParameter) {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/hex-content-destination.ts


class HexContentDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.firstPosition = true;
    }
    get destinationType() { return DestinationType.HexContentDestination; }
    get controlCharHT() { return null; }
    ;
    processCharCore(ch) {
        this.processBinChar(ch);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/hex-stream-destination.ts

class HexStreamDestination extends HexContentDestination {
    constructor(importer, dataStream) {
        super(importer);
        this.dataStream = dataStream;
    }
    processBinCharCore(ch) {
        this.dataStream.push(ch);
    }
    getNumberArray() {
        let firstPosition = true;
        let currentValue = 0;
        const result = [];
        this.dataStream.forEach(char => {
            if (char == ' ')
                return;
            const hex = this.importer.hexToInt(char, false);
            if (firstPosition)
                currentValue = hex << 4;
            else {
                currentValue += hex;
                result.push(currentValue);
                currentValue = 0;
            }
            firstPosition = !firstPosition;
        });
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/protection/legacy-password-hash-destination.ts

class LegacyPasswordHashDestination extends HexStreamDestination {
    constructor(importer, dataStream = []) {
        super(importer, dataStream);
    }
    createClone() {
        return new LegacyPasswordHashDestination(this.importer, this.dataStream);
    }
    afterPopRtfState() {
        const value = this.getNumberArray();
        const result = [];
        for (let i = 3; i >= 0; i--)
            result.push(value[i]);
        this.importer.documentModel.documentProtectionProperties.word2003PasswordHash = new Uint8Array(result);
    }
}

// EXTERNAL MODULE: ./src/common/model/options/document-protection.ts
var document_protection = __webpack_require__(825);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/protection/password-hash-destination.ts


class PasswordHashDestination extends HexStreamDestination {
    constructor(importer, dataStream = []) {
        super(importer, dataStream);
    }
    createClone() {
        return new PasswordHashDestination(this.importer, this.dataStream);
    }
    afterPopRtfState() {
        const uint8Array = new Uint8Array(this.getNumberArray());
        const uint32Array = new Uint32Array(uint8Array.buffer);
        const properties = this.importer.documentModel.documentProtectionProperties;
        properties.cryptProviderType = uint32Array[2] == 24 ? document_protection/* CryptProviderType */.qx.RsaAES : document_protection/* CryptProviderType */.qx.RsaFull;
        properties.hashAlgorithmType = (uint32Array[3] - 0x8000);
        properties.hashIterationCount = uint32Array[4];
        const passwordHashLength = uint32Array[5];
        const passwordPrefixLength = uint32Array[6];
        const startPasswordHashIndex = 40;
        properties.passwordHash = uint8Array.subarray(startPasswordHashIndex, startPasswordHashIndex + passwordHashLength);
        const startpasswordPrefixIndex = startPasswordHashIndex + passwordHashLength;
        properties.passwordPrefix = uint8Array.subarray(startpasswordPrefixIndex, startpasswordPrefixIndex + passwordPrefixLength);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/info/info-destination.ts




class InfoDestination extends DestinationBase {
    get destinationType() { return DestinationType.InfoDestination; }
    ;
    get controlCharHT() { return null; }
    createClone() {
        return new InfoDestination(this.importer);
    }
    static onLegacyPasswordHash(importer, _parameterValue, _hasParameter) {
        importer.destination = new LegacyPasswordHashDestination(importer);
    }
    static onPasswordHash(importer, _parameterValue, _hasParameter) {
        importer.destination = new PasswordHashDestination(importer);
    }
    static onCategoryKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onCreatedKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onDescriptionKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onCreatorKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onKeywordsKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onLastModifiedByKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onLastPrintedKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onModifiedKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onRevisionKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onSubjectKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onTitleKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static getStringDocumentPropertyDestinationBase(_importer, _setProperty) {
    }
    static getDateTimeDocumentPropertyDestinationBase(_importer, _setProperty) {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/numbering-lists/rtf-numbering-list-override.ts
class RtfNumberingListOverride {
    constructor() {
        this.levels = [];
    }
}

;// CONCATENATED MODULE: ./src/common/formats/utils/string-helper.ts

class StringHelper {
    static removeSpecialSymbols(text) {
        if (!StringHelper.containsSpecialSymbols(text))
            return text;
        let sb = "";
        let count = text.length;
        for (let i = 0; i < count; i++) {
            const ch = text[i];
            const charCode = text.charCodeAt(i);
            if (charCode > StringHelper.lastLowSpecial && charCode < StringHelper.firstHighSpecial)
                sb += ch;
            else {
                if (charCode == StringHelper.horizontalTabulationCharCode || charCode == StringHelper.newLineCharCode
                    || charCode == StringHelper.carriageReturnCharCode)
                    sb += ch;
            }
        }
        return sb;
    }
    static replaceParagraphMarksWithLineBreaks(text) {
        if (!this.containsParagraphMarksOrUnitSeparators(text))
            return text;
        const sb = [];
        const count = text.length;
        for (let i = 0; i < count; i++) {
            const ch = text[i];
            const charCode = text.charCodeAt(i);
            if (charCode != StringHelper.newLineCharCode && charCode != StringHelper.carriageReturnCharCode
                && charCode != StringHelper.unitSeparatorCharCode && charCode != StringHelper.recordSeparatorCharCode)
                sb.push(ch);
            else if (charCode != StringHelper.unitSeparatorCharCode && charCode != StringHelper.recordSeparatorCharCode) {
                sb.push(rich_utils/* RichUtils */.i.specialCharacters.LineBreak);
                if (i != count - 1) {
                    const nextCh = text[i + 1];
                    const newtCharCode = text.charCodeAt(i + 1);
                    if ((newtCharCode == StringHelper.newLineCharCode || newtCharCode == StringHelper.carriageReturnCharCode) && nextCh != ch)
                        i++;
                }
            }
            else if (charCode == StringHelper.recordSeparatorCharCode) {
                sb.push(rich_utils/* RichUtils */.i.specialCharacters.Dash);
            }
        }
        return sb.join('');
    }
    static containsParagraphMarksOrUnitSeparators(text) {
        const count = text.length;
        for (let i = 0; i < count; i++) {
            const charCode = text.charCodeAt(i);
            if (charCode == StringHelper.newLineCharCode || charCode == StringHelper.carriageReturnCharCode
                || charCode == StringHelper.unitSeparatorCharCode || charCode == StringHelper.recordSeparatorCharCode)
                return true;
        }
        return false;
    }
    static containsSpecialSymbols(text) {
        let count = text.length;
        for (var i = 0; i < count; i++) {
            const charCode = text.charCodeAt(i);
            if (charCode <= StringHelper.lastLowSpecial || charCode >= StringHelper.firstHighSpecial) {
                if (charCode != StringHelper.horizontalTabulationCharCode && charCode != StringHelper.newLineCharCode
                    && charCode != StringHelper.carriageReturnCharCode)
                    return true;
            }
        }
        return false;
    }
}
StringHelper.lastLowSpecial = 0x1f;
StringHelper.firstHighSpecial = 0xffff;
StringHelper.horizontalTabulationCharCode = 0x09;
StringHelper.newLineCharCode = 0x0A;
StringHelper.carriageReturnCharCode = 0x0D;
StringHelper.recordSeparatorCharCode = 0x1E;
StringHelper.unitSeparatorCharCode = 0x1f;

// EXTERNAL MODULE: ./src/common/model/character/character-properties.ts
var character_properties = __webpack_require__(1789);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level-properties.ts
var list_level_properties = __webpack_require__(4830);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
;// CONCATENATED MODULE: ./src/common/formats/rtf/utils/list-level-display-text-helper.ts
class ListLevelDisplayTextHelper {
    static createDisplayFormatStringCore(placeholderIndices, text) {
        var sb = [];
        let textRange = ListLevelDisplayTextHelper.getTextRange(placeholderIndices, 0, text);
        if (textRange)
            sb.push(textRange);
        for (let i = 1; i < placeholderIndices.length - 1; i++) {
            const placeholderIndex = placeholderIndices[i];
            if (text.length <= placeholderIndex)
                break;
            sb.push('{');
            sb.push(text.charCodeAt(placeholderIndex).toString());
            sb.push('}');
            sb.push(ListLevelDisplayTextHelper.getTextRange(placeholderIndices, i, text));
        }
        return sb.join("");
    }
    static getTextRange(placeholderIndices, startPlaceHolderIndex, text) {
        var index = placeholderIndices[startPlaceHolderIndex] + 1;
        var result = text.substr(index, placeholderIndices[startPlaceHolderIndex + 1] - index);
        result = result.replace("{", "{{");
        result = result.replace("}", "}}");
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/numbering-lists/rtf-list-level.ts






class RtfListLevel {
    constructor() {
        this.text = "";
        this.numbers = "";
        this.initialize();
        this.listLevelProperties.start = 1;
        this.listLevelProperties.separator = rich_utils/* RichUtils */.i.specialCharacters.TabMark;
        this.listLevelProperties.displayFormatString = "{0}.";
        this.listLevelProperties.relativeRestartLevel = 0;
    }
    initialize() {
        this.characterProperties = new character_properties/* MaskedCharacterProperties */.X();
        this.paragraphProperties = new paragraph_properties/* MaskedParagraphProperties */.bq();
        this.listLevelProperties = new list_level_properties/* ListLevelProperties */.Yy();
    }
    createDisplayFormatString() {
        const placeholderIndices = this.createPlaceholderIndices();
        if (this.text.length == 0)
            return '';
        else
            return StringHelper.removeSpecialSymbols(this.createDisplayFormatStringCore(placeholderIndices));
    }
    createPlaceholderIndices() {
        var count = Math.min(9, this.numbers.length);
        var result = new Array();
        result.push(0);
        for (let i = 0; i < count; i++)
            if (this.numbers.charCodeAt(i) <= this.text.length)
                result.push(this.numbers.charCodeAt(i));
        result.push(this.text.length);
        return result;
    }
    createDisplayFormatStringCore(placeholderIndices) {
        return ListLevelDisplayTextHelper.createDisplayFormatStringCore(placeholderIndices, this.text);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/numbering-lists/rtf-list-override-level.ts


class RtfListOverrideLevel {
    constructor() {
        this.startAt = constants.Int32Constants.MAX_VALUE;
        this.level = new RtfListLevel();
    }
}

// EXTERNAL MODULE: ./src/common/formats/rtf/utils/numbering-formats.ts
var numbering_formats = __webpack_require__(7084);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/string-value-destination-base.ts



class StringValueDestinationBase extends DestinationBase {
    get destinationType() { return DestinationType.StringValueDestination; }
    get controlCharHT() { return StringValueDestinationBase.controlCharHT; }
}
StringValueDestinationBase.controlCharHT = new map_creator/* MapCreator */.M()
    .add('\'', StringValueDestinationBase.onSwitchToHexChar)
    .add('\\', StringValueDestinationBase.onEscapedChar)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/string-value-destination.ts



class StringValueDestination extends StringValueDestinationBase {
    constructor() {
        super(...arguments);
        this._value = "";
    }
    get destinationType() { return DestinationType.StringValueDestination; }
    get value() { return string.StringUtils.trimEnd(this._value, [";"]); }
    processCharCore(ch) {
        this._value += ch;
    }
    createClone() {
        const clone = this.createEmptyClone();
        clone._value = this._value;
        return clone;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-level-numbers-destination.ts


class ListLevelNumbersDestination extends StringValueDestination {
    get destinationType() { return DestinationType.ListLevelNumbersDestination; }
    createEmptyClone() {
        return new ListLevelNumbersDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-level-text-destination.ts


class ListLevelTextDestination extends StringValueDestination {
    constructor() {
        super(...arguments);
        this.levelTemplateId = 0;
    }
    get destinationType() { return DestinationType.ListLevelTextDestination; }
    get controlCharHT() { return null; }
    createEmptyClone() {
        return new ListLevelTextDestination(this.importer);
    }
    createClone() {
        const clone = super.createClone();
        clone.levelTemplateId = this.levelTemplateId;
        return clone;
    }
    beforeNestedGroupFinished(nestedDestination) {
        super.beforeNestedGroupFinished(nestedDestination);
        this._value = nestedDestination.value;
    }
    static onListLevelTemplateIdKeyword(importer, parameterValue, hasParameter) {
        importer.destination.levelTemplateId = hasParameter ?
            ListLevelTextDestination.fixLevelTemplateId(parameterValue) : 0;
    }
    static fixLevelTemplateId(levelTemplateId) {
        return Math.abs(levelTemplateId);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-level-destination.ts








class ListLevelDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.level = new RtfListLevel();
    }
    get destinationType() { return DestinationType.ListLevelDestination; }
    get controlCharHT() { return null; }
    nestedGroupFinished(nestedDestination) {
        this.tryToHandleFinishOfListLevelTextDestination(nestedDestination);
        this.tryToHandleFinishOfListLevelNumbersDestination(nestedDestination);
    }
    beforePopRtfState() {
        this.applyListLevelParagraphProperties();
        this.applyListLevelCharacterProperties();
    }
    tryToHandleFinishOfListLevelTextDestination(nestedDestination) {
        const currentDestination = this.importer.destination;
        if (nestedDestination instanceof ListLevelTextDestination) {
            currentDestination.level.text = nestedDestination.value;
            currentDestination.level.listLevelProperties.templateCode = nestedDestination.levelTemplateId;
        }
    }
    tryToHandleFinishOfListLevelNumbersDestination(nestedDestination) {
        const currentDestination = this.importer.destination;
        if (nestedDestination instanceof ListLevelNumbersDestination)
            currentDestination.level.numbers = nestedDestination.value;
    }
    applyListLevelParagraphProperties() {
        const destination = this.importer.destination;
        destination.level.paragraphProperties = this.importer.importers.paragraph.paragraphFormatting.getCoreProperties();
    }
    applyListLevelCharacterProperties() {
        const destination = this.importer.destination;
        const text = destination.level.text;
        if (text.length > 1)
            UnicodeCharHelper.setUnicodeFontName(this.importer.documentModel.cache.fontInfoCache, text[1], this.importer.importers.character.characterFormatting);
        destination.level.characterProperties.copyFrom(this.importer.importers.character.characterFormatting.coreProperties);
    }
    static onListLevelStartAtKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (hasParameter)
            destination.level.listLevelProperties.start = parameterValue;
    }
    static onListLevelTentativeKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListLevelNumberingFormatKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (hasParameter) {
            if (parameterValue >= 0 && parameterValue < numbering_formats/* RtfNumberingFormats */.H.length)
                destination.level.listLevelProperties.format = numbering_formats/* RtfNumberingFormats */.H[parameterValue];
        }
    }
    static onListLevelAlignmentKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (hasParameter)
            destination.level.listLevelProperties.alignment = parameterValue;
    }
    static onListLevelOldKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue != 0) {
            const destination = importer.destination;
            destination.level.listLevelProperties.legacy = true;
        }
    }
    static onListLevelPrevKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListLevelPrevspaceKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListLevelIndentKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter) {
            const destination = importer.destination;
            destination.level.listLevelProperties.legacyIndent = parameterValue;
        }
    }
    static onListLevelSpaceKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter) {
            const destination = importer.destination;
            destination.level.listLevelProperties.legacySpace = parameterValue;
        }
    }
    static onListLevelTextKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ListLevelTextDestination(importer);
    }
    static onListLevelNumbersKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ListLevelNumbersDestination(importer);
    }
    static onListLevelFollowKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (hasParameter) {
            if (parameterValue == 0)
                destination.level.listLevelProperties.separator = rich_utils/* RichUtils */.i.specialCharacters.TabMark;
            else {
                if (parameterValue == 1)
                    destination.level.listLevelProperties.separator = ' ';
                else
                    destination.level.listLevelProperties.separator = '\u0000';
            }
        }
    }
    static onListLevelLegalKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (hasParameter)
            destination.level.listLevelProperties.convertPreviousLevelNumberingToDecimal = (parameterValue != 0);
    }
    static onListLevelNoRestartKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (!hasParameter)
            destination.level.listLevelProperties.suppressRestart = true;
        else
            destination.level.listLevelProperties.suppressRestart = (parameterValue != 0);
    }
    static onListLevelPictureKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListLevelPictureNoSizeKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.level.listLevelProperties.suppressBulletResize = true;
    }
    static onParagraphStyleKeyword(_importer, _parameterValue, _hasParameter) {
    }
    processControlCharCore(_ch) {
    }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        const translator = this.keywordHT[keyword];
        if (translator) {
            translator(this.importer, parameterValue, hasParameter);
            return true;
        }
        return false;
    }
    processCharCore(_ch) {
    }
    createClone() {
        const clone = new ListLevelDestination(this.importer);
        clone.level = this.level;
        return clone;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-override-level-destination.ts




class ListOverrideLevelDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.overrideLevel = new RtfListOverrideLevel();
    }
    get destinationType() { return DestinationType.ListOverrideLevelDestination; }
    get controlCharHT() { return null; }
    static onListOverrideFormatKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.overrideLevel.overrideFormat = true;
    }
    static onListOverrideStartAtKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.overrideLevel.overrideStartAt = true;
    }
    static onListOverrideStartAtValueKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (hasParameter)
            destination.overrideLevel.startAt = parameterValue;
        else
            destination.overrideLevel.startAt = 0;
    }
    static onListOverrideListLevelKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        if (destination.overrideLevel.overrideFormat) {
            const newDestination = new ListLevelDestination(importer);
            importer.destination = newDestination;
            destination.overrideLevel.level = newDestination.level;
        }
    }
    createClone() {
        const clone = new ListOverrideLevelDestination(this.importer);
        clone.overrideLevel = this.overrideLevel;
        return clone;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-override-table-destination.ts




class ListOverrideTableDestination extends DestinationBase {
    get destinationType() { return DestinationType.ListOverrideTableDestination; }
    get controlCharHT() { return null; }
    static onListOverrideKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.currentOverride = new RtfNumberingListOverride();
        importer.documentProperties.listOverrideTable.push(destination.currentOverride);
    }
    static onListOverrideListIdKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (destination.currentOverride != null && hasParameter)
            destination.currentOverride.listId = parameterValue;
    }
    static onListOverrideCountKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListOverrideIdKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (destination.currentOverride != null && hasParameter)
            destination.currentOverride.id = parameterValue;
    }
    static onListOverrideLevelKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        const newDestination = new ListOverrideLevelDestination(importer);
        importer.destination = newDestination;
        if (destination.currentOverride != null)
            destination.currentOverride.levels.push(newDestination.overrideLevel);
    }
    createClone() {
        const clone = new ListOverrideTableDestination(this.importer);
        clone.currentOverride = this.currentOverride;
        return clone;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-name-destination.ts


class ListNameDestination extends StringValueDestination {
    get destinationType() { return DestinationType.ListNameDestination; }
    createEmptyClone() {
        return new ListNameDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-style-name-destination.ts


class ListStyleNameDestination extends StringValueDestination {
    get destinationType() { return DestinationType.ListStyleNameDestination; }
    createEmptyClone() {
        return new ListStyleNameDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/list-table-destination.ts






class ListTableDestination extends DestinationBase {
    get destinationType() { return DestinationType.ListTableDestination; }
    get controlCharHT() { return null; }
    nestedGroupFinished(nestedDestination) {
        this.tryToHandleFinishOfListNameDestination(nestedDestination);
        this.tryToHandleFinishOfListStyleNameDestination(nestedDestination);
        this.tryToHandleFinishOfListLevelDestination(nestedDestination);
    }
    tryToHandleFinishOfListNameDestination(nestedDestination) {
        const currentDestination = this.importer.destination;
        if (nestedDestination instanceof ListNameDestination)
            currentDestination.currentList.name = nestedDestination.value;
    }
    tryToHandleFinishOfListStyleNameDestination(nestedDestination) {
        const currentDestination = this.importer.destination;
        if (nestedDestination instanceof ListStyleNameDestination)
            currentDestination.currentList.styleName = nestedDestination.value;
    }
    tryToHandleFinishOfListLevelDestination(nestedDestination) {
        const currentDestination = this.importer.destination;
        if (nestedDestination instanceof ListLevelDestination)
            currentDestination.currentList.levels.push(nestedDestination.level);
    }
    static onListKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.currentList = new RtfNumberingList();
        importer.documentProperties.listTable.push(destination.currentList);
    }
    static onListIdKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (destination.currentList != null && hasParameter)
            destination.currentList.id = parameterValue;
    }
    static onListTemplatIdKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListStyleIdKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        if (destination.currentList != null && hasParameter)
            destination.currentList.parentStyleId = parameterValue;
    }
    static onListStyleNameKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ListStyleNameDestination(importer);
    }
    static onListNameKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ListNameDestination(importer);
    }
    static onListHybridKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.currentList.numberingListType = RtfNumberingListType.Hybrid;
    }
    static onListRestartAtEachSectionKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListTemplateIdKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListSimpleKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListLevelKeyword(importer, _parameterValue, _hasParameter) {
        const destination = new ListLevelDestination(importer);
        importer.importers.character.characterFormatting.coreProperties.resetAllUse();
        importer.destination = destination;
    }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        const translator = this.keywordHT[keyword];
        if (translator) {
            translator(this.importer, parameterValue, hasParameter);
            return true;
        }
        return false;
    }
    processCharCore(_ch) { }
    createClone() {
        const clone = new ListTableDestination(this.importer);
        clone.currentList = this.currentList;
        return clone;
    }
}

// EXTERNAL MODULE: ./src/common/model/chunk.ts
var chunk = __webpack_require__(5552);
// EXTERNAL MODULE: ./src/common/model/color/dx-color.ts
var dx_color = __webpack_require__(1445);
// EXTERNAL MODULE: ./src/common/model/enums.ts
var model_enums = __webpack_require__(4907);
// EXTERNAL MODULE: ./src/common/model/floating-objects/enums.ts
var floating_objects_enums = __webpack_require__(8927);
// EXTERNAL MODULE: ./src/common/formats/rtf/translation-table/rtf-drawing-keywords.ts
var rtf_drawing_keywords = __webpack_require__(2207);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/rtf-shape-helpers/drawing-effects-import-helper.ts

class DrawingEffectsImportHelper {
    static getColorProperty(colorValue) {
        return dx_color/* DXColor */.F.fromRgb(colorValue & 0x000000FF, (colorValue & 0x0000FF00) >> 8, (colorValue & 0x00FF0000) >> 16);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/shape-properties-info.ts

class RtfShapePropertiesInfo {
    constructor() {
        this.shapeComplexProperties = {};
    }
    addProperty(keyword, value) {
        this.shapeComplexProperties[keyword] = value;
    }
    trySetProperty(keyword, action) {
        return this.setIfPropertyExist(keyword, keyword => this.getPropertyOrNull(keyword), action);
    }
    getProperty(keyword, defaultValue) {
        const prop = this.getPropertyOrNull(keyword);
        return prop ? prop : defaultValue;
    }
    getNullableColorProperty(name) {
        const rawValue = this.getPropertyOrNull(name);
        if (typeof rawValue == 'number')
            return rawValue === null ? null : DrawingEffectsImportHelper.getColorProperty(rawValue);
        return rawValue === null ? null : DrawingEffectsImportHelper.getColorProperty(rawValue.intColor);
    }
    getPropertyOrNull(keyword) {
        const rawValue = this.shapeComplexProperties[keyword];
        if (rawValue === undefined)
            return null;
        if (typeof (rawValue) == 'boolean')
            return (!!rawValue);
        else
            return rawValue;
    }
    setIfPropertyExist(keyword, getter, action) {
        const rawValue = getter(keyword);
        if (rawValue == null)
            return false;
        action(rawValue);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/enums.ts
var DrawingObjectVerticalPositionType;
(function (DrawingObjectVerticalPositionType) {
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["Page"] = 0] = "Page";
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["Line"] = 1] = "Line";
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["Paragraph"] = 2] = "Paragraph";
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["Margin"] = 3] = "Margin";
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["TopMargin"] = 4] = "TopMargin";
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["BottomMargin"] = 5] = "BottomMargin";
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["InsideMargin"] = 6] = "InsideMargin";
    DrawingObjectVerticalPositionType[DrawingObjectVerticalPositionType["OutsideMargin"] = 7] = "OutsideMargin";
})(DrawingObjectVerticalPositionType || (DrawingObjectVerticalPositionType = {}));
var DrawingObjectHorizontalPositionType;
(function (DrawingObjectHorizontalPositionType) {
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["Page"] = 0] = "Page";
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["Character"] = 1] = "Character";
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["Column"] = 2] = "Column";
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["Margin"] = 3] = "Margin";
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["LeftMargin"] = 4] = "LeftMargin";
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["RightMargin"] = 5] = "RightMargin";
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["InsideMargin"] = 6] = "InsideMargin";
    DrawingObjectHorizontalPositionType[DrawingObjectHorizontalPositionType["OutsideMargin"] = 7] = "OutsideMargin";
})(DrawingObjectHorizontalPositionType || (DrawingObjectHorizontalPositionType = {}));

// EXTERNAL MODULE: ./src/common/model/themes/enums.ts
var themes_enums = __webpack_require__(7088);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/color-model-info-cache.ts
var color_model_info_cache = __webpack_require__(9081);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/color-collections.ts

class RtfColorIndexCollection {
    constructor() {
        this.collection = [];
    }
    getRtfColorIndexById(id) {
        if (id < 0 || id >= this.collection.length)
            return color_model_info_cache/* ColorModelInfoCache */.N.defaultItem;
        return this.collection[id];
    }
}
class HsvInfo {
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-property-hsv-value-destination.ts




class ShapePropertyHsvValueDestination extends DestinationBase {
    get destinationType() { return DestinationType.ShapePropertyHsvValueDestination; }
    get controlCharHT() { return null; }
    constructor(importer, hsvInfo = new HsvInfo()) {
        super(importer);
        this.hsvInfo = hsvInfo;
    }
    static getThis(importer) {
        return importer.destination;
    }
    static onAccentOneKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.schemeColor = themes_enums/* SchemeColorValues */.jH.Accent1;
    }
    static onAccentTwoKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.schemeColor = themes_enums/* SchemeColorValues */.jH.Accent2;
    }
    static onAccentThreeKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.schemeColor = themes_enums/* SchemeColorValues */.jH.Accent3;
    }
    static onAccentFourKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.schemeColor = themes_enums/* SchemeColorValues */.jH.Accent4;
    }
    static onAccentFiveKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.schemeColor = themes_enums/* SchemeColorValues */.jH.Accent5;
    }
    static onAccentSixKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.schemeColor = themes_enums/* SchemeColorValues */.jH.Accent6;
    }
    static onTintKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.tint = parameterValue;
    }
    static onShadeKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertyHsvValueDestination.getThis(importer).hsvInfo.shade = parameterValue;
    }
    createClone() {
        return new ShapePropertyHsvValueDestination(this.importer, this.hsvInfo);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-property-name-destination.ts


class ShapePropertyNameDestination extends StringValueDestination {
    get destinationType() { return DestinationType.ShapePropertyNameDestination; }
    createEmptyClone() {
        return new ShapePropertyNameDestination(this.importer);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/size.js
var geometry_size = __webpack_require__(6353);
// EXTERNAL MODULE: ./src/common/utils/hexadecimal-converter.ts
var hexadecimal_converter = __webpack_require__(4622);
;// CONCATENATED MODULE: ./src/common/formats/rtf/utils/rtf-math-utils.ts
class RtfMathUtils {
    static getShortValue(value) {
        return value & 0x7FFF;
    }
    static isShortValue(value) {
        return value == RtfMathUtils.getShortValue(value);
    }
    static getUInt16(value) {
        return 0xffff & value;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/encoding/empty-character-decoder.ts

class EmptyCharacterDecoder extends CharacterDecoder {
    constructor() {
        super();
    }
    processChar(importer, ch) {
        importer.destination.processChar(ch);
    }
    flush(_importer) {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/utils/enums.ts
var ParagraphFrameVerticalPositionType;
(function (ParagraphFrameVerticalPositionType) {
    ParagraphFrameVerticalPositionType[ParagraphFrameVerticalPositionType["Page"] = 0] = "Page";
    ParagraphFrameVerticalPositionType[ParagraphFrameVerticalPositionType["Paragraph"] = 1] = "Paragraph";
    ParagraphFrameVerticalPositionType[ParagraphFrameVerticalPositionType["Margin"] = 2] = "Margin";
})(ParagraphFrameVerticalPositionType || (ParagraphFrameVerticalPositionType = {}));
var ParagraphFrameHorizontalPositionType;
(function (ParagraphFrameHorizontalPositionType) {
    ParagraphFrameHorizontalPositionType[ParagraphFrameHorizontalPositionType["Page"] = 0] = "Page";
    ParagraphFrameHorizontalPositionType[ParagraphFrameHorizontalPositionType["Column"] = 1] = "Column";
    ParagraphFrameHorizontalPositionType[ParagraphFrameHorizontalPositionType["Margin"] = 2] = "Margin";
})(ParagraphFrameHorizontalPositionType || (ParagraphFrameHorizontalPositionType = {}));
var ParagraphFrameTextWrapType;
(function (ParagraphFrameTextWrapType) {
    ParagraphFrameTextWrapType[ParagraphFrameTextWrapType["Auto"] = 0] = "Auto";
    ParagraphFrameTextWrapType[ParagraphFrameTextWrapType["Around"] = 1] = "Around";
    ParagraphFrameTextWrapType[ParagraphFrameTextWrapType["None"] = 2] = "None";
    ParagraphFrameTextWrapType[ParagraphFrameTextWrapType["NotBeside"] = 3] = "NotBeside";
    ParagraphFrameTextWrapType[ParagraphFrameTextWrapType["Through"] = 4] = "Through";
    ParagraphFrameTextWrapType[ParagraphFrameTextWrapType["Tight"] = 5] = "Tight";
})(ParagraphFrameTextWrapType || (ParagraphFrameTextWrapType = {}));
var OfficeImageFormat;
(function (OfficeImageFormat) {
    OfficeImageFormat[OfficeImageFormat["None"] = 0] = "None";
    OfficeImageFormat[OfficeImageFormat["Bmp"] = 1] = "Bmp";
    OfficeImageFormat[OfficeImageFormat["Emf"] = 2] = "Emf";
    OfficeImageFormat[OfficeImageFormat["Exif"] = 3] = "Exif";
    OfficeImageFormat[OfficeImageFormat["Gif"] = 4] = "Gif";
    OfficeImageFormat[OfficeImageFormat["Icon"] = 5] = "Icon";
    OfficeImageFormat[OfficeImageFormat["Jpeg"] = 6] = "Jpeg";
    OfficeImageFormat[OfficeImageFormat["MemoryBmp"] = 7] = "MemoryBmp";
    OfficeImageFormat[OfficeImageFormat["Png"] = 8] = "Png";
    OfficeImageFormat[OfficeImageFormat["Tiff"] = 9] = "Tiff";
    OfficeImageFormat[OfficeImageFormat["Wmf"] = 10] = "Wmf";
})(OfficeImageFormat || (OfficeImageFormat = {}));
var PictureSourceType;
(function (PictureSourceType) {
    PictureSourceType[PictureSourceType["Emf"] = 0] = "Emf";
    PictureSourceType[PictureSourceType["Png"] = 1] = "Png";
    PictureSourceType[PictureSourceType["Jpeg"] = 2] = "Jpeg";
    PictureSourceType[PictureSourceType["Mac"] = 3] = "Mac";
    PictureSourceType[PictureSourceType["PmmMetafile"] = 4] = "PmmMetafile";
    PictureSourceType[PictureSourceType["Wmf"] = 5] = "Wmf";
    PictureSourceType[PictureSourceType["WindowsDib"] = 6] = "WindowsDib";
    PictureSourceType[PictureSourceType["WindowsBmp"] = 7] = "WindowsBmp";
})(PictureSourceType || (PictureSourceType = {}));

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/image/picture-destination-info.ts



class PictureDestinationInfo {
    constructor() {
        this.pictureSourceType = PictureSourceType.WindowsBmp;
        this.wmfMapMode = Win32MapMode.Text;
        this.bmpBitsPerPixel = 1;
        this.bmpColorPlanes = 1;
        this.pictureWidth = -1;
        this.pictureHeight = -1;
        this.desiredPictureWidth = -1;
        this.desiredPictureHeight = -1;
        this.scaleX = 100;
        this.scaleY = 100;
        this.imageUri = "";
        this.leftCrop = 0;
        this.topCrop = 0;
        this.rightCrop = 0;
        this.bottomCrop = 0;
        this.dataStream = [];
        this.properties = new RtfShapePropertiesInfo();
    }
    get dataCrc32() { return 0; }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/image/rtf-image-info.ts
class RtfImageInfo {
}
class RelativeRect {
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/picture/picture-units-converter.ts

class RtfPictureUnitsConverter {
}
class RtfPixelsToTwipsConverter extends RtfPictureUnitsConverter {
    constructor(dpi) {
        super();
        this.dpi = dpi;
    }
    unitsToTwips(val) {
        return Math.round(1440 * val / this.dpi);
    }
    unitsToModelUnits(val) {
        return unit_converter/* UnitConverter */.u.pixelsToTwipsCustomDpi(val, this.dpi);
    }
}
class RtfHundredthsOfMillimeterConverter extends RtfPictureUnitsConverter {
    unitsToTwips(val) {
        return Math.round(1440 * val / 2540.0);
    }
    unitsToModelUnits(val) {
        return unit_converter/* UnitConverter */.u.hundredthsOfMillimeterToTwipsRound(val);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/picture/picture-destination.ts













class PictureDestination extends HexContentDestination {
    get destinationType() { return DestinationType.PictureDestination; }
    ;
    get controlCharHT() { return null; }
    ;
    constructor(importer) {
        super(importer);
        this.info = new PictureDestinationInfo();
        this.oldDecoder = this.importer.importers.character.characterFormatting.rtfFormattingInfo.activeDecoder;
        this.importer.importers.character.characterFormatting.rtfFormattingInfo.activeDecoder = new EmptyCharacterDecoder();
    }
    static getThis(rtfImporter) {
        return rtfImporter.destination;
    }
    static onEmfFileKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.pictureSourceType = PictureSourceType.Emf;
    }
    static onPngFileKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.pictureSourceType = PictureSourceType.Png;
    }
    static onJpegFileKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.pictureSourceType = PictureSourceType.Jpeg;
    }
    static onMacFileKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.pictureSourceType = PictureSourceType.Mac;
    }
    static onWindowsMetafileKeyword(importer, parameterValue, hasParameter) {
        const destination = importer.destination;
        destination.info.pictureSourceType = PictureSourceType.Wmf;
        if (hasParameter)
            destination.info.wmfMapMode = parameterValue;
    }
    static onDeviceIndependentBitmapFileKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter && parameterValue != 0)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.pictureSourceType = PictureSourceType.WindowsDib;
    }
    static onDeviceDependentBitmapFileKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter && parameterValue != 0)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.pictureSourceType = PictureSourceType.WindowsBmp;
    }
    static onBitmapBitsPerPixelKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1;
        const isParameterValueCorrect = parameterValue == 1 ||
            parameterValue == 4 || parameterValue == 8 || parameterValue == 16 || parameterValue == 24 || parameterValue == 32;
        if (!isParameterValueCorrect)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.bmpBitsPerPixel = parameterValue;
    }
    static onBitmapPlanesKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        if (parameterValue != 1)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.bmpColorPlanes = parameterValue;
    }
    static onBitmapBytesInLineKeyword(importer, parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.bmpBytesInLine = parameterValue;
    }
    static onPictureWidthKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        let correctedValue = parameterValue;
        if (parameterValue < 0 && RtfMathUtils.isShortValue(parameterValue))
            correctedValue = PictureDestination.fillBytesToConvertFromShortIntToLongInt(RtfMathUtils.getShortValue(parameterValue));
        destination.info.pictureWidth = correctedValue;
    }
    static onPictureHeightKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        let correctedValue = parameterValue;
        if (PictureDestination.checkIfParameterStoredAsShortIntegerInsteadLongInt(parameterValue))
            correctedValue = PictureDestination.fillBytesToConvertFromShortIntToLongInt(RtfMathUtils.getShortValue(parameterValue));
        destination.info.pictureHeight = correctedValue;
    }
    static checkIfParameterStoredAsShortIntegerInsteadLongInt(parameterValue) {
        return parameterValue < 0 && RtfMathUtils.isShortValue(parameterValue);
    }
    static fillBytesToConvertFromShortIntToLongInt(parameterValue) {
        return RtfMathUtils.getUInt16(parameterValue);
    }
    static onPictureGoalWidthKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.desiredPictureWidth = parameterValue;
    }
    static onPictureGoalHeightKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.desiredPictureHeight = parameterValue;
    }
    static onHorizontalScalingKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.scaleX = parameterValue;
    }
    static onVerticalScalingKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.scaleY = parameterValue;
    }
    static onPicScaledKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onTopCropKeyword(importer, parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.topCrop = parameterValue;
    }
    static onBottomCropKeyword(importer, parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.bottomCrop = parameterValue;
    }
    static onLeftCropKeyword(importer, parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.leftCrop = parameterValue;
    }
    static onRightCropKeyword(importer, parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.info.rightCrop = parameterValue;
    }
    static onBitmapMetafileKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onBitsPerPixelBitmapMetafileKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onDxImageUri(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onShapePropertiesKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ShapePropertyDestination(importer, importer.destination.info.properties);
    }
    static onBlipTag(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            importer.throwInvalidRtfFile();
        const destination = importer.destination;
        destination.info.blipTag = parameterValue;
    }
    static onShapePropertyKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ShapePropertyDestination(importer, PictureDestination.getThis(importer).info.properties);
    }
    createClone() {
        const clone = new PictureDestination(this.importer);
        clone.info = this.info;
        return clone;
    }
    beforePopRtfState() {
        this.importer.importers.character.characterFormatting.rtfFormattingInfo.activeDecoder = this.oldDecoder;
        super.beforePopRtfState();
    }
    processBinCharCore(ch) {
        this.info.dataStream.push(ch);
    }
    validateImageSize(_image) {
        if (this.info.pictureWidth < 0)
            this.info.pictureWidth = 0;
        if (this.info.pictureHeight < 0)
            this.info.pictureHeight = 0;
    }
    loadMetafile(_info) {
    }
    loadBitmap(_info) {
    }
    loadDib(_info) {
    }
    loadImageInUnits(imageInfo, _unitsConverter) {
        this.importer.importers.image.scale = new geometry_size.Size(this.info.scaleX, this.info.scaleY);
        this.importer.importers.image.desireSize = new geometry_size.Size(this.info.desiredPictureWidth, this.info.desiredPictureHeight);
        this.applyVisibleSize(imageInfo);
    }
    applyVisibleSize(imageInfo) {
        if (this.info.scaleX <= 0)
            this.info.scaleX = 100;
        if (this.info.scaleY <= 0)
            this.info.scaleY = 100;
        const unscaledVisibleWidth = Math.max(1, this.info.desiredPictureWidth - this.info.leftCrop - this.info.rightCrop);
        const unscaledVisibleHeight = Math.max(1, this.info.desiredPictureHeight - this.info.topCrop - this.info.bottomCrop);
        imageInfo.actualSize = new geometry_size.Size((unscaledVisibleWidth * this.info.scaleX + 50) / 100, (unscaledVisibleHeight * this.info.scaleY + 50) / 100);
    }
    loadMetafileImageInUnits(_imageInfo) {
    }
    applySourceRect(_imageInfo, _desiredPictureWidth, _desiredPictureHeight) {
    }
    getFractionInThousandthOfPercent(_cropSize, _desiredSize) {
        return 0;
    }
    loadPicture() {
        const info = new RtfImageInfo();
        if (this.info.dataStream.length > 0)
            this.loadPictureCore(info);
        return info;
    }
    loadPictureCore(info) {
        info.base64 = this.getPrefix(this.info.pictureSourceType) + (0,hexadecimal_converter/* hexToBase64 */.Wi)(this.info.dataStream.join(""));
        this.validateImageSize(info.base64);
        this.loadImageInUnits(info, PictureDestination.rtfHundredthsOfMillimeterConverter);
    }
    getPrefix(sourceType) {
        return "data:" + this.getPictureFormat(sourceType) + ";base64,";
    }
    getPictureFormat(sourceType) {
        switch (sourceType) {
            case PictureSourceType.Jpeg:
                return 'image/jpeg';
            default:
                return 'image/png';
        }
    }
    getImageInfo() {
        const imageInfo = this.loadPicture();
        if (imageInfo != null)
            this.info.properties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PseudoInline, value => imageInfo.pseudoInline = value);
        imageInfo.blipTag = this.info.blipTag;
        return imageInfo;
    }
    dispose(_disposing) {
    }
}
PictureDestination.rtfHundredthsOfMillimeterConverter = new RtfHundredthsOfMillimeterConverter();
PictureDestination.rtfPixelsConverter = new RtfPixelsToTwipsConverter(96);

// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/hyperlink-property-value-destination.ts



class HyperlinkPropertyValueDestination extends StringValueDestinationBase {
    constructor() {
        super(...arguments);
        this._value = [];
    }
    get destinationType() { return DestinationType.HyperlinkPropertyValueDestination; }
    get value() { return string.StringUtils.trim(this._value.join('')); }
    processCharCore(ch) {
        this._value.push(ch);
    }
    createClone() {
        const clone = this.createEmptyClone();
        clone._value = this._value;
        return clone;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/hyperlink-location-value-destination.ts


class HyperlinkLocationValueDestination extends HyperlinkPropertyValueDestination {
    get destinationType() { return DestinationType.HyperlinkLocationValueDestination; }
    createEmptyClone() {
        return new HyperlinkLocationValueDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/hyperlink-source-value-destination.ts


class HyperlinkSourceValueDestination extends HyperlinkPropertyValueDestination {
    get destinationType() { return DestinationType.HyperlinkSourceValueDestination; }
    createEmptyClone() {
        return new HyperlinkSourceValueDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-property-hyperlink-destination.ts





class ShapePropertyHyperlinkDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.hyperlinkInfo = new fields_field/* HyperlinkInfo */.AP("", "", "", false);
    }
    get destinationType() { return DestinationType.ShapePropertyHyperlinkDestination; }
    get controlCharHT() { return null; }
    nestedGroupFinished(nestedDestination) {
        if (nestedDestination instanceof HyperlinkLocationValueDestination)
            this.hyperlinkInfo.anchor = nestedDestination.value;
        else if (nestedDestination instanceof HyperlinkSourceValueDestination)
            this.hyperlinkInfo.uri = nestedDestination.value;
    }
    createClone() {
        const clone = new ShapePropertyHyperlinkDestination(this.importer);
        clone.hyperlinkInfo = this.hyperlinkInfo;
        return clone;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-property-value-destination.ts





class ShapePropertyValueDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.buffer = [];
    }
    get destinationType() { return DestinationType.ShapePropertyValueDestination; }
    get controlCharHT() { return null; }
    processCharCore(ch) {
        this.buffer.push(ch);
    }
    beforePopRtfState() {
        const stringValue = this.buffer.join("");
        if (string.StringUtils.isNullOrEmpty(stringValue))
            return;
        const numberValue = +stringValue;
        if (!isNaN(numberValue))
            this.value = numberValue;
        else
            this.value = stringValue;
    }
    nestedGroupFinished(nestedDestination) {
        if (nestedDestination instanceof PictureDestination)
            this.value = nestedDestination.getImageInfo();
        else if (nestedDestination instanceof ShapePropertyHyperlinkDestination)
            this.value = nestedDestination.hyperlinkInfo;
    }
    createClone() {
        const clone = new ShapePropertyValueDestination(this.importer);
        clone.buffer = this.buffer;
        return clone;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-property-destination.ts






class ShapePropertyDestination extends DestinationBase {
    get destinationType() { return DestinationType.ShapePropertyDestination; }
    get controlCharHT() { return null; }
    constructor(rtfImporter, properties) {
        super(rtfImporter);
        this.properties = properties;
    }
    processControlCharCore(_ch) { }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        const translator = this.keywordHT[keyword];
        if (translator) {
            translator(this.importer, parameterValue, hasParameter);
            return true;
        }
        return false;
    }
    processCharCore(_ch) { }
    createClone() {
        const clone = new ShapePropertyDestination(this.importer, this.properties);
        clone.propertyName = this.propertyName;
        return clone;
    }
    nestedGroupFinished(nestedDestination) {
        if (nestedDestination instanceof ShapePropertyNameDestination) {
            this.propertyName = nestedDestination.value;
            return;
        }
        if (nestedDestination instanceof ShapePropertyValueDestination) {
            this.value = nestedDestination.value;
            return;
        }
        if (nestedDestination instanceof ShapePropertyHsvValueDestination) {
            const hsvInfo = nestedDestination.hsvInfo;
            if (typeof (this.value) == 'number')
                hsvInfo.intColor = this.value;
            this.value = hsvInfo;
            return;
        }
    }
    beforePopRtfState() {
        if (string.StringUtils.isNullOrEmpty(this.propertyName))
            return;
        if (typeof (this.value) == 'number')
            this.properties.addProperty(this.propertyName, this.value);
        else
            this.properties.addProperty(this.propertyName, this.value);
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-tab-space-box.ts
var layout_tab_space_box = __webpack_require__(374);
// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/borders/enums.ts
var borders_enums = __webpack_require__(4265);
// EXTERNAL MODULE: ./src/common/model/character/enums.ts
var character_enums = __webpack_require__(8579);
// EXTERNAL MODULE: ./src/common/model/options/control.ts
var control = __webpack_require__(9147);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-info.ts
var shading_info = __webpack_require__(3428);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-pattern.ts
var shading_pattern = __webpack_require__(4570);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-pattern-helper.ts
var shading_pattern_helper = __webpack_require__(5989);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-cell-properties.ts + 1 modules
var table_cell_properties = __webpack_require__(2993);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-properties.ts + 1 modules
var table_properties = __webpack_require__(6537);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-row-properties.ts
var table_row_properties = __webpack_require__(8222);
;// CONCATENATED MODULE: ./src/common/model/tables/properties/table-row-descriptors.ts

class TableRowPropertiesCantSplitDescriptor {
    setProp(props, newValue) {
        props.cantSplit = newValue;
    }
    getProp(props) {
        return props.cantSplit;
    }
    maskValue() {
        return table_row_properties/* TableRowPropertiesMask */.d.UseCantSplit;
    }
}
class TableRowPropertiesCellSpacingDescriptor {
    setProp(props, newValue) {
        props.cellSpacing = newValue;
    }
    getProp(props) {
        return props.cellSpacing;
    }
    maskValue() {
        return table_row_properties/* TableRowPropertiesMask */.d.UseCellSpacing;
    }
}
class TableRowPropertiesDivIdDescriptor {
    setProp(props, newValue) {
        props.divId = newValue;
    }
    getProp(props) {
        return props.divId;
    }
    maskValue() {
        return table_row_properties/* TableRowPropertiesMask */.d.UseDivId;
    }
}
class TableRowPropertiesHeaderDescriptor {
    setProp(props, newValue) {
        props.header = newValue;
    }
    getProp(props) {
        return props.header;
    }
    maskValue() {
        return table_row_properties/* TableRowPropertiesMask */.d.UseHeader;
    }
}
class TableRowPropertiesHideCellMarkDescriptor {
    setProp(props, newValue) {
        props.hideCellMark = newValue;
    }
    getProp(props) {
        return props.hideCellMark;
    }
    maskValue() {
        return table_row_properties/* TableRowPropertiesMask */.d.UseHideCellMark;
    }
}
class TableRowPropertiesRowAlignmentDescriptor {
    setProp(props, newValue) {
        props.tableRowAlignment = newValue;
    }
    getProp(props) {
        return props.tableRowAlignment;
    }
    maskValue() {
        return table_row_properties/* TableRowPropertiesMask */.d.UseTableRowAlignment;
    }
}

;// CONCATENATED MODULE: ./src/common/model/tables/properties/table-row-property-descriptor.ts

class TableRowPropertyDescriptor {
}
TableRowPropertyDescriptor.cantSplit = new TableRowPropertiesCantSplitDescriptor();
TableRowPropertyDescriptor.cellSpacing = new TableRowPropertiesCellSpacingDescriptor();
TableRowPropertyDescriptor.divId = new TableRowPropertiesDivIdDescriptor();
TableRowPropertyDescriptor.header = new TableRowPropertiesHeaderDescriptor();
TableRowPropertyDescriptor.hideCellMark = new TableRowPropertiesHideCellMarkDescriptor();
TableRowPropertyDescriptor.rowAlignment = new TableRowPropertiesRowAlignmentDescriptor();
TableRowPropertyDescriptor.ALL_FIELDS = [
    TableRowPropertyDescriptor.cantSplit,
    TableRowPropertyDescriptor.cellSpacing,
    TableRowPropertyDescriptor.divId,
    TableRowPropertyDescriptor.header,
    TableRowPropertyDescriptor.hideCellMark,
    TableRowPropertyDescriptor.rowAlignment,
];

// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
;// CONCATENATED MODULE: ./src/common/formats/rtf/utils/rtf-art-border-converter.ts


class RtfArtBorderConverter {
    static getBorderArtIndex(borderLineStyle) {
        const result = RtfArtBorderConverter.mapBorderLineStyleToIndex[borderLineStyle];
        return result !== undefined ? result : 0;
    }
    static getBorderLineStyle(borderArtIndex) {
        const result = RtfArtBorderConverter.mapIndexToBorderLineStyle[borderArtIndex];
        return result !== undefined ? result : borders_enums/* BorderLineStyle */.u.None;
    }
    static initStatics() {
        const lineStyles = [
            borders_enums/* BorderLineStyle */.u.Apples,
            borders_enums/* BorderLineStyle */.u.ArchedScallops,
            borders_enums/* BorderLineStyle */.u.BabyPacifier,
            borders_enums/* BorderLineStyle */.u.BabyRattle,
            borders_enums/* BorderLineStyle */.u.Balloons3Colors,
            borders_enums/* BorderLineStyle */.u.BalloonsHotAir,
            borders_enums/* BorderLineStyle */.u.BasicBlackDashes,
            borders_enums/* BorderLineStyle */.u.BasicBlackDots,
            borders_enums/* BorderLineStyle */.u.BasicBlackSquares,
            borders_enums/* BorderLineStyle */.u.BasicThinLines,
            borders_enums/* BorderLineStyle */.u.BasicWhiteDashes,
            borders_enums/* BorderLineStyle */.u.BasicWhiteDots,
            borders_enums/* BorderLineStyle */.u.BasicWhiteSquares,
            borders_enums/* BorderLineStyle */.u.BasicWideInline,
            borders_enums/* BorderLineStyle */.u.BasicWideMidline,
            borders_enums/* BorderLineStyle */.u.BasicWideOutline,
            borders_enums/* BorderLineStyle */.u.Bats,
            borders_enums/* BorderLineStyle */.u.Birds,
            borders_enums/* BorderLineStyle */.u.BirdsFlight,
            borders_enums/* BorderLineStyle */.u.Cabins,
            borders_enums/* BorderLineStyle */.u.CakeSlice,
            borders_enums/* BorderLineStyle */.u.CandyCorn,
            borders_enums/* BorderLineStyle */.u.CelticKnotwork,
            borders_enums/* BorderLineStyle */.u.CertificateBanner,
            borders_enums/* BorderLineStyle */.u.ChainLink,
            borders_enums/* BorderLineStyle */.u.ChampagneBottle,
            borders_enums/* BorderLineStyle */.u.CheckedBarBlack,
            borders_enums/* BorderLineStyle */.u.CheckedBarColor,
            borders_enums/* BorderLineStyle */.u.Checkered,
            borders_enums/* BorderLineStyle */.u.ChristmasTree,
            borders_enums/* BorderLineStyle */.u.CirclesLines,
            borders_enums/* BorderLineStyle */.u.CirclesRectangles,
            borders_enums/* BorderLineStyle */.u.ClassicalWave,
            borders_enums/* BorderLineStyle */.u.Clocks,
            borders_enums/* BorderLineStyle */.u.Compass,
            borders_enums/* BorderLineStyle */.u.Confetti,
            borders_enums/* BorderLineStyle */.u.ConfettiGrays,
            borders_enums/* BorderLineStyle */.u.ConfettiOutline,
            borders_enums/* BorderLineStyle */.u.ConfettiStreamers,
            borders_enums/* BorderLineStyle */.u.ConfettiWhite,
            borders_enums/* BorderLineStyle */.u.CornerTriangles,
            borders_enums/* BorderLineStyle */.u.CouponCutoutDashes,
            borders_enums/* BorderLineStyle */.u.CouponCutoutDots,
            borders_enums/* BorderLineStyle */.u.CrazyMaze,
            borders_enums/* BorderLineStyle */.u.CreaturesButterfly,
            borders_enums/* BorderLineStyle */.u.CreaturesFish,
            borders_enums/* BorderLineStyle */.u.CreaturesInsects,
            borders_enums/* BorderLineStyle */.u.CreaturesLadyBug,
            borders_enums/* BorderLineStyle */.u.CrossStitch,
            borders_enums/* BorderLineStyle */.u.Cup,
            borders_enums/* BorderLineStyle */.u.DecoArch,
            borders_enums/* BorderLineStyle */.u.DecoArchColor,
            borders_enums/* BorderLineStyle */.u.DecoBlocks,
            borders_enums/* BorderLineStyle */.u.DiamondsGray,
            borders_enums/* BorderLineStyle */.u.DoubleD,
            borders_enums/* BorderLineStyle */.u.DoubleDiamonds,
            borders_enums/* BorderLineStyle */.u.Earth1,
            borders_enums/* BorderLineStyle */.u.Earth2,
            borders_enums/* BorderLineStyle */.u.EclipsingSquares1,
            borders_enums/* BorderLineStyle */.u.EclipsingSquares2,
            borders_enums/* BorderLineStyle */.u.EggsBlack,
            borders_enums/* BorderLineStyle */.u.Fans,
            borders_enums/* BorderLineStyle */.u.Film,
            borders_enums/* BorderLineStyle */.u.Firecrackers,
            borders_enums/* BorderLineStyle */.u.FlowersBlockPrint,
            borders_enums/* BorderLineStyle */.u.FlowersDaisies,
            borders_enums/* BorderLineStyle */.u.FlowersModern1,
            borders_enums/* BorderLineStyle */.u.FlowersModern2,
            borders_enums/* BorderLineStyle */.u.FlowersPansy,
            borders_enums/* BorderLineStyle */.u.FlowersRedRose,
            borders_enums/* BorderLineStyle */.u.FlowersRoses,
            borders_enums/* BorderLineStyle */.u.FlowersTeacup,
            borders_enums/* BorderLineStyle */.u.FlowersTiny,
            borders_enums/* BorderLineStyle */.u.Gems,
            borders_enums/* BorderLineStyle */.u.GingerbreadMan,
            borders_enums/* BorderLineStyle */.u.Gradient,
            borders_enums/* BorderLineStyle */.u.Handmade1,
            borders_enums/* BorderLineStyle */.u.Handmade2,
            borders_enums/* BorderLineStyle */.u.HeartBalloon,
            borders_enums/* BorderLineStyle */.u.HeartGray,
            borders_enums/* BorderLineStyle */.u.Hearts,
            borders_enums/* BorderLineStyle */.u.HeebieJeebies,
            borders_enums/* BorderLineStyle */.u.Holly,
            borders_enums/* BorderLineStyle */.u.HouseFunky,
            borders_enums/* BorderLineStyle */.u.Hypnotic,
            borders_enums/* BorderLineStyle */.u.IceCreamCones,
            borders_enums/* BorderLineStyle */.u.LightBulb,
            borders_enums/* BorderLineStyle */.u.Lightning1,
            borders_enums/* BorderLineStyle */.u.Lightning2,
            borders_enums/* BorderLineStyle */.u.MapPins,
            borders_enums/* BorderLineStyle */.u.MapleLeaf,
            borders_enums/* BorderLineStyle */.u.MapleMuffins,
            borders_enums/* BorderLineStyle */.u.Marquee,
            borders_enums/* BorderLineStyle */.u.MarqueeToothed,
            borders_enums/* BorderLineStyle */.u.Moons,
            borders_enums/* BorderLineStyle */.u.Mosaic,
            borders_enums/* BorderLineStyle */.u.MusicNotes,
            borders_enums/* BorderLineStyle */.u.Northwest,
            borders_enums/* BorderLineStyle */.u.Ovals,
            borders_enums/* BorderLineStyle */.u.Packages,
            borders_enums/* BorderLineStyle */.u.PalmsBlack,
            borders_enums/* BorderLineStyle */.u.PalmsColor,
            borders_enums/* BorderLineStyle */.u.PaperClips,
            borders_enums/* BorderLineStyle */.u.Papyrus,
            borders_enums/* BorderLineStyle */.u.PartyFavor,
            borders_enums/* BorderLineStyle */.u.PartyGlass,
            borders_enums/* BorderLineStyle */.u.Pencils,
            borders_enums/* BorderLineStyle */.u.People,
            borders_enums/* BorderLineStyle */.u.PeopleWaving,
            borders_enums/* BorderLineStyle */.u.PeopleHats,
            borders_enums/* BorderLineStyle */.u.Poinsettias,
            borders_enums/* BorderLineStyle */.u.PostageStamp,
            borders_enums/* BorderLineStyle */.u.Pumpkin1,
            borders_enums/* BorderLineStyle */.u.PushPinNote2,
            borders_enums/* BorderLineStyle */.u.PushPinNote1,
            borders_enums/* BorderLineStyle */.u.Pyramids,
            borders_enums/* BorderLineStyle */.u.PyramidsAbove,
            borders_enums/* BorderLineStyle */.u.Quadrants,
            borders_enums/* BorderLineStyle */.u.Rings,
            borders_enums/* BorderLineStyle */.u.Safari,
            borders_enums/* BorderLineStyle */.u.Sawtooth,
            borders_enums/* BorderLineStyle */.u.SawtoothGray,
            borders_enums/* BorderLineStyle */.u.ScaredCat,
            borders_enums/* BorderLineStyle */.u.Seattle,
            borders_enums/* BorderLineStyle */.u.ShadowedSquares,
            borders_enums/* BorderLineStyle */.u.SharksTeeth,
            borders_enums/* BorderLineStyle */.u.ShorebirdTracks,
            borders_enums/* BorderLineStyle */.u.Skyrocket,
            borders_enums/* BorderLineStyle */.u.SnowflakeFancy,
            borders_enums/* BorderLineStyle */.u.Snowflakes,
            borders_enums/* BorderLineStyle */.u.Sombrero,
            borders_enums/* BorderLineStyle */.u.Southwest,
            borders_enums/* BorderLineStyle */.u.Stars,
            borders_enums/* BorderLineStyle */.u.StarsTop,
            borders_enums/* BorderLineStyle */.u.Stars3d,
            borders_enums/* BorderLineStyle */.u.StarsBlack,
            borders_enums/* BorderLineStyle */.u.StarsShadowed,
            borders_enums/* BorderLineStyle */.u.Sun,
            borders_enums/* BorderLineStyle */.u.Swirligig,
            borders_enums/* BorderLineStyle */.u.TornPaper,
            borders_enums/* BorderLineStyle */.u.TornPaperBlack,
            borders_enums/* BorderLineStyle */.u.Trees,
            borders_enums/* BorderLineStyle */.u.TriangleParty,
            borders_enums/* BorderLineStyle */.u.Triangles,
            borders_enums/* BorderLineStyle */.u.Tribal1,
            borders_enums/* BorderLineStyle */.u.Tribal2,
            borders_enums/* BorderLineStyle */.u.Tribal3,
            borders_enums/* BorderLineStyle */.u.Tribal4,
            borders_enums/* BorderLineStyle */.u.Tribal5,
            borders_enums/* BorderLineStyle */.u.Tribal6,
            borders_enums/* BorderLineStyle */.u.TwistedLines1,
            borders_enums/* BorderLineStyle */.u.TwistedLines2,
            borders_enums/* BorderLineStyle */.u.Vine,
            borders_enums/* BorderLineStyle */.u.Waveline,
            borders_enums/* BorderLineStyle */.u.WeavingAngles,
            borders_enums/* BorderLineStyle */.u.WeavingBraid,
            borders_enums/* BorderLineStyle */.u.WeavingRibbon,
            borders_enums/* BorderLineStyle */.u.WeavingStrips,
            borders_enums/* BorderLineStyle */.u.WhiteFlowers,
            borders_enums/* BorderLineStyle */.u.Woodwork,
            borders_enums/* BorderLineStyle */.u.XIllusions,
            borders_enums/* BorderLineStyle */.u.ZanyTriangles,
            borders_enums/* BorderLineStyle */.u.ZigZag,
            borders_enums/* BorderLineStyle */.u.ZigZagStitch
        ];
        RtfArtBorderConverter.mapBorderLineStyleToIndex = {};
        RtfArtBorderConverter.mapIndexToBorderLineStyle = {};
        utils_list.ListUtils.forEach(lineStyles, (ls, i) => {
            RtfArtBorderConverter.mapBorderLineStyleToIndex[ls] = i + 1;
            RtfArtBorderConverter.mapIndexToBorderLineStyle[i + 1] = ls;
        });
        return RtfArtBorderConverter.mapIndexToBorderLineStyle;
    }
}
RtfArtBorderConverter.mapIndexToBorderLineStyle = RtfArtBorderConverter.initStatics();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/character/enums.ts
var RtfFontType;
(function (RtfFontType) {
    RtfFontType[RtfFontType["Undefined"] = 0] = "Undefined";
    RtfFontType[RtfFontType["DoubleByteCharactersFont"] = 1] = "DoubleByteCharactersFont";
    RtfFontType[RtfFontType["LowAnsiCharactersFont"] = 2] = "LowAnsiCharactersFont";
    RtfFontType[RtfFontType["HighAnsiCharactersFont"] = 3] = "HighAnsiCharactersFont";
})(RtfFontType || (RtfFontType = {}));
var RtfFontFamily;
(function (RtfFontFamily) {
    RtfFontFamily[RtfFontFamily["Default"] = 0] = "Default";
    RtfFontFamily[RtfFontFamily["Roman"] = 1] = "Roman";
    RtfFontFamily[RtfFontFamily["Swiss"] = 2] = "Swiss";
    RtfFontFamily[RtfFontFamily["Modern"] = 3] = "Modern";
    RtfFontFamily[RtfFontFamily["Script"] = 4] = "Script";
    RtfFontFamily[RtfFontFamily["Decor"] = 5] = "Decor";
    RtfFontFamily[RtfFontFamily["Tech"] = 6] = "Tech";
    RtfFontFamily[RtfFontFamily["Bidi"] = 7] = "Bidi";
})(RtfFontFamily || (RtfFontFamily = {}));
var RtfCharset;
(function (RtfCharset) {
    RtfCharset[RtfCharset["Ansi"] = 0] = "Ansi";
    RtfCharset[RtfCharset["Mac"] = 1] = "Mac";
    RtfCharset[RtfCharset["PC"] = 2] = "PC";
    RtfCharset[RtfCharset["Pca"] = 3] = "Pca";
})(RtfCharset || (RtfCharset = {}));

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/paragraph/paragraph-frame-formatting-info.ts
class ParagraphFrameFormattingInfo {
    static createDefaultInfo() {
        return new ParagraphFrameFormattingInfo();
    }
    clone() {
        return new ParagraphFrameFormattingInfo();
    }
}
var ParagraphFrameHorizontalRule;
(function (ParagraphFrameHorizontalRule) {
    ParagraphFrameHorizontalRule[ParagraphFrameHorizontalRule["Auto"] = 0] = "Auto";
    ParagraphFrameHorizontalRule[ParagraphFrameHorizontalRule["AtLeast"] = 1] = "AtLeast";
    ParagraphFrameHorizontalRule[ParagraphFrameHorizontalRule["Exact"] = 2] = "Exact";
})(ParagraphFrameHorizontalRule || (ParagraphFrameHorizontalRule = {}));
var ParagraphFrameVerticalPositionAlignment;
(function (ParagraphFrameVerticalPositionAlignment) {
    ParagraphFrameVerticalPositionAlignment[ParagraphFrameVerticalPositionAlignment["Inline"] = 0] = "Inline";
    ParagraphFrameVerticalPositionAlignment[ParagraphFrameVerticalPositionAlignment["Center"] = 1] = "Center";
    ParagraphFrameVerticalPositionAlignment[ParagraphFrameVerticalPositionAlignment["Bottom"] = 2] = "Bottom";
    ParagraphFrameVerticalPositionAlignment[ParagraphFrameVerticalPositionAlignment["Top"] = 3] = "Top";
    ParagraphFrameVerticalPositionAlignment[ParagraphFrameVerticalPositionAlignment["Inside"] = 4] = "Inside";
    ParagraphFrameVerticalPositionAlignment[ParagraphFrameVerticalPositionAlignment["Outside"] = 5] = "Outside";
    ParagraphFrameVerticalPositionAlignment[ParagraphFrameVerticalPositionAlignment["None"] = 6] = "None";
})(ParagraphFrameVerticalPositionAlignment || (ParagraphFrameVerticalPositionAlignment = {}));
var ParagraphFrameHorizontalPositionAlignment;
(function (ParagraphFrameHorizontalPositionAlignment) {
    ParagraphFrameHorizontalPositionAlignment[ParagraphFrameHorizontalPositionAlignment["Left"] = 0] = "Left";
    ParagraphFrameHorizontalPositionAlignment[ParagraphFrameHorizontalPositionAlignment["Center"] = 1] = "Center";
    ParagraphFrameHorizontalPositionAlignment[ParagraphFrameHorizontalPositionAlignment["Right"] = 2] = "Right";
    ParagraphFrameHorizontalPositionAlignment[ParagraphFrameHorizontalPositionAlignment["Inside"] = 3] = "Inside";
    ParagraphFrameHorizontalPositionAlignment[ParagraphFrameHorizontalPositionAlignment["Outside"] = 4] = "Outside";
    ParagraphFrameHorizontalPositionAlignment[ParagraphFrameHorizontalPositionAlignment["None"] = 5] = "None";
})(ParagraphFrameHorizontalPositionAlignment || (ParagraphFrameHorizontalPositionAlignment = {}));
var paragraph_frame_formatting_info_ParagraphFrameHorizontalPositionType;
(function (ParagraphFrameHorizontalPositionType) {
    ParagraphFrameHorizontalPositionType[ParagraphFrameHorizontalPositionType["Page"] = 0] = "Page";
    ParagraphFrameHorizontalPositionType[ParagraphFrameHorizontalPositionType["Column"] = 1] = "Column";
    ParagraphFrameHorizontalPositionType[ParagraphFrameHorizontalPositionType["Margin"] = 2] = "Margin";
})(paragraph_frame_formatting_info_ParagraphFrameHorizontalPositionType || (paragraph_frame_formatting_info_ParagraphFrameHorizontalPositionType = {}));

// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/paragraph/paragraph-properties.ts







class RtfParagraphProperties {
    constructor() {
        this.coreProperties = new paragraph_properties/* MaskedParagraphProperties */.bq();
        this.paragraphListInfo = properties_bundle/* ParagraphListInfo */.QC.default;
        this.tabs = new paragraph_style/* TabProperties */.jy();
        this.tabAlignment = paragraph/* TabAlign */.K9.Left;
        this.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.None;
        this.rtfLineSpacingType = 0;
        this.rtfLineSpacingMultiplier = 1;
        this.useLineSpacingMultiplier = false;
        this.inTableParagraph = false;
        this.nestingLevel = 0;
        this.styleLink = -1;
        this.nextStyle = -1;
        this.processedBorder = new border_info/* BorderInfo */.H();
        this.paragraphFrameFormattingInfo = null;
    }
    get numberingListIndex() { return this.paragraphListInfo.numberingListIndex; }
    get listLevelIndex() { return this.paragraphListInfo.listLevelIndex; }
    set shadingPattern(value) { this.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.shadingInfo, new shading_info/* ShadingInfo */.g(value, this.coreProperties.shadingInfo.backColor, this.coreProperties.shadingInfo.foreColor)); }
    set backColor(value) { this.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.shadingInfo, new shading_info/* ShadingInfo */.g(this.coreProperties.shadingInfo.shadingPattern, value, this.coreProperties.shadingInfo.foreColor)); }
    set foreColor(value) { this.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.shadingInfo, new shading_info/* ShadingInfo */.g(this.coreProperties.shadingInfo.shadingPattern, this.coreProperties.shadingInfo.backColor, value)); }
    getCoreProperties() {
        this.applyLineSpacing();
        return this.coreProperties;
    }
    applyLineSpacing() {
        this.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacingType, this.calcLineSpacingType());
        this.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacing, this.calcLineSpacing());
    }
    calcLineSpacingType() {
        if (this.rtfLineSpacingType < 0)
            return paragraph_properties/* ParagraphLineSpacingType */.yX.Exactly;
        if (this.rtfLineSpacingType > 0) {
            if (this.rtfLineSpacingMultiplier == 0)
                return paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast;
            else {
                if (this.rtfLineSpacingType == 240)
                    return paragraph_properties/* ParagraphLineSpacingType */.yX.Single;
                else if (this.rtfLineSpacingType == 360)
                    return paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral;
                else if (this.rtfLineSpacingType == 480)
                    return paragraph_properties/* ParagraphLineSpacingType */.yX.Double;
                else
                    return paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple;
            }
        }
        else {
            if (this.rtfLineSpacingMultiplier == 0 && this.useLineSpacingMultiplier)
                return paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast;
            else
                return paragraph_properties/* ParagraphLineSpacingType */.yX.Single;
        }
    }
    calcLineSpacing() {
        if (this.rtfLineSpacingMultiplier == 0) {
            if (this.rtfLineSpacingType == 0 && this.useLineSpacingMultiplier)
                return 240;
            else
                return this.rtfLineSpacingType != 0 ? Math.max(Math.abs(this.rtfLineSpacingType), 1) : 0;
        }
        else {
            if (this.rtfLineSpacingType < 0)
                return Math.max(Math.abs(this.rtfLineSpacingType), 1);
            else
                return this.rtfLineSpacingType / 240.0;
        }
    }
    clone() {
        const obj = new RtfParagraphProperties();
        obj.copyFrom(this);
        return obj;
    }
    copyFrom(obj) {
        this.coreProperties = obj.coreProperties.clone();
        this.paragraphListInfo = obj.paragraphListInfo.clone();
        this.tabs = obj.tabs.clone();
        this.tabAlignment = obj.tabAlignment;
        this.tabLeader = obj.tabLeader;
        this.rtfLineSpacingType = obj.rtfLineSpacingType;
        this.rtfLineSpacingMultiplier = obj.rtfLineSpacingMultiplier;
        this.useLineSpacingMultiplier = obj.useLineSpacingMultiplier;
        this.inTableParagraph = obj.inTableParagraph;
        this.nestingLevel = obj.nestingLevel;
        this.styleLink = obj.styleLink ? obj.styleLink : null;
        this.nextStyle = obj.nextStyle ? obj.nextStyle : null;
        this.processedBorder = obj.processedBorder ? obj.processedBorder.clone() : null;
        this.rtfTableStyleIndexForRowOrCell = obj.rtfTableStyleIndexForRowOrCell;
        this.paragraphFrameFormattingInfo = obj.paragraphFrameFormattingInfo ? obj.paragraphFrameFormattingInfo.clone() : null;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/text-after-destination.ts


class TextAfterDestination extends StringValueDestination {
    get destinationType() { return DestinationType.TextAfterDestination; }
    createEmptyClone() {
        return new TextAfterDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/text-before-destination.ts


class TextBeforeDestination extends StringValueDestination {
    get destinationType() { return DestinationType.TextBeforeDestination; }
    createEmptyClone() {
        return new TextBeforeDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/shape-type-code.ts
class ShapeTypeCode {
}
ShapeTypeCode.NotPrimitive = 0x00000000;
ShapeTypeCode.Rectangle = 0x00000001;
ShapeTypeCode.RoundRect = 0x00000002;
ShapeTypeCode.Ellipse = 0x00000003;
ShapeTypeCode.Diamond = 0x00000004;
ShapeTypeCode.IsocelesTriangle = 0x00000005;
ShapeTypeCode.RightTriangle = 0x00000006;
ShapeTypeCode.Parallelogram = 0x00000007;
ShapeTypeCode.Trapezoid = 0x00000008;
ShapeTypeCode.Hexagon = 0x00000009;
ShapeTypeCode.Octagon = 0x0000000A;
ShapeTypeCode.Plus = 0x0000000B;
ShapeTypeCode.Star = 0x0000000C;
ShapeTypeCode.Arrow = 0x0000000D;
ShapeTypeCode.ThickArrow = 0x0000000E;
ShapeTypeCode.HomePlate = 0x0000000F;
ShapeTypeCode.Cube = 0x00000010;
ShapeTypeCode.Balloon = 0x00000011;
ShapeTypeCode.Seal = 0x00000012;
ShapeTypeCode.Arc = 0x00000013;
ShapeTypeCode.Line = 0x00000014;
ShapeTypeCode.Plaque = 0x00000015;
ShapeTypeCode.Can = 0x00000016;
ShapeTypeCode.Donut = 0x00000017;
ShapeTypeCode.TextSimple = 0x00000018;
ShapeTypeCode.TextOctagon = 0x00000019;
ShapeTypeCode.TextHexagon = 0x0000001A;
ShapeTypeCode.TextCurve = 0x0000001B;
ShapeTypeCode.TextWave = 0x0000001C;
ShapeTypeCode.TextRing = 0x0000001D;
ShapeTypeCode.TextOnCurve = 0x0000001E;
ShapeTypeCode.TextOnRing = 0x0000001F;
ShapeTypeCode.StraightConnector1 = 0x00000020;
ShapeTypeCode.BentConnector2 = 0x00000021;
ShapeTypeCode.BentConnector3 = 0x00000022;
ShapeTypeCode.BentConnector4 = 0x00000023;
ShapeTypeCode.BentConnector5 = 0x00000024;
ShapeTypeCode.CurvedConnector2 = 0x00000025;
ShapeTypeCode.CurvedConnector3 = 0x00000026;
ShapeTypeCode.CurvedConnector4 = 0x00000027;
ShapeTypeCode.CurvedConnector5 = 0x00000028;
ShapeTypeCode.Callout1 = 0x00000029;
ShapeTypeCode.Callout2 = 0x0000002A;
ShapeTypeCode.Callout3 = 0x0000002B;
ShapeTypeCode.AccentCallout1 = 0x0000002C;
ShapeTypeCode.AccentCallout2 = 0x0000002D;
ShapeTypeCode.AccentCallout3 = 0x0000002E;
ShapeTypeCode.BorderCallout1 = 0x0000002F;
ShapeTypeCode.BorderCallout2 = 0x00000030;
ShapeTypeCode.BorderCallout3 = 0x00000031;
ShapeTypeCode.AccentBorderCallout1 = 0x00000032;
ShapeTypeCode.AccentBorderCallout2 = 0x00000033;
ShapeTypeCode.AccentBorderCallout3 = 0x00000034;
ShapeTypeCode.Ribbon = 0x00000035;
ShapeTypeCode.Ribbon2 = 0x00000036;
ShapeTypeCode.Chevron = 0x00000037;
ShapeTypeCode.Pentagon = 0x00000038;
ShapeTypeCode.NoSmoking = 0x00000039;
ShapeTypeCode.Seal8 = 0x0000003A;
ShapeTypeCode.Seal16 = 0x0000003B;
ShapeTypeCode.Seal32 = 0x0000003C;
ShapeTypeCode.WedgeRectCallout = 0x0000003D;
ShapeTypeCode.WedgeRRectCallout = 0x0000003E;
ShapeTypeCode.WedgeEllipseCallout = 0x0000003F;
ShapeTypeCode.Wave = 0x00000040;
ShapeTypeCode.FoldedCorner = 0x00000041;
ShapeTypeCode.LeftArrow = 0x00000042;
ShapeTypeCode.DownArrow = 0x00000043;
ShapeTypeCode.UpArrow = 0x00000044;
ShapeTypeCode.LeftRightArrow = 0x00000045;
ShapeTypeCode.UpDownArrow = 0x00000046;
ShapeTypeCode.IrregularSeal1 = 0x00000047;
ShapeTypeCode.IrregularSeal2 = 0x00000048;
ShapeTypeCode.LightningBolt = 0x00000049;
ShapeTypeCode.Heart = 0x0000004A;
ShapeTypeCode.PictureFrame = 0x0000004B;
ShapeTypeCode.QuadArrow = 0x0000004C;
ShapeTypeCode.LeftArrowCallout = 0x0000004D;
ShapeTypeCode.RightArrowCallout = 0x0000004E;
ShapeTypeCode.UpArrowCallout = 0x0000004F;
ShapeTypeCode.DownArrowCallout = 0x00000050;
ShapeTypeCode.LeftRightArrowCallout = 0x00000051;
ShapeTypeCode.UpDownArrowCallout = 0x00000052;
ShapeTypeCode.QuadArrowCallout = 0x00000053;
ShapeTypeCode.Bevel = 0x00000054;
ShapeTypeCode.LeftBracket = 0x00000055;
ShapeTypeCode.RightBracket = 0x00000056;
ShapeTypeCode.LeftBrace = 0x00000057;
ShapeTypeCode.RightBrace = 0x00000058;
ShapeTypeCode.LeftUpArrow = 0x00000059;
ShapeTypeCode.BentUpArrow = 0x0000005A;
ShapeTypeCode.BentArrow = 0x0000005B;
ShapeTypeCode.Seal24 = 0x0000005C;
ShapeTypeCode.StripedRightArrow = 0x0000005D;
ShapeTypeCode.NotchedRightArrow = 0x0000005E;
ShapeTypeCode.BlockArc = 0x0000005F;
ShapeTypeCode.SmileyFace = 0x00000060;
ShapeTypeCode.VerticalScroll = 0x00000061;
ShapeTypeCode.HorizontalScroll = 0x00000062;
ShapeTypeCode.CircularArrow = 0x00000063;
ShapeTypeCode.NotchedCircularArrow = 0x00000064;
ShapeTypeCode.UturnArrow = 0x00000065;
ShapeTypeCode.CurvedRightArrow = 0x00000066;
ShapeTypeCode.CurvedLeftArrow = 0x00000067;
ShapeTypeCode.CurvedUpArrow = 0x00000068;
ShapeTypeCode.CurvedDownArrow = 0x00000069;
ShapeTypeCode.CloudCallout = 0x0000006A;
ShapeTypeCode.EllipseRibbon = 0x0000006B;
ShapeTypeCode.EllipseRibbon2 = 0x0000006C;
ShapeTypeCode.FlowChartProcess = 0x0000006D;
ShapeTypeCode.FlowChartDecision = 0x0000006E;
ShapeTypeCode.FlowChartInputOutput = 0x0000006F;
ShapeTypeCode.FlowChartPredefinedProcess = 0x00000070;
ShapeTypeCode.FlowChartInternalStorage = 0x00000071;
ShapeTypeCode.FlowChartDocument = 0x00000072;
ShapeTypeCode.FlowChartMultidocument = 0x00000073;
ShapeTypeCode.FlowChartTerminator = 0x00000074;
ShapeTypeCode.FlowChartPreparation = 0x00000075;
ShapeTypeCode.FlowChartManualInput = 0x00000076;
ShapeTypeCode.FlowChartManualOperation = 0x00000077;
ShapeTypeCode.FlowChartConnector = 0x00000078;
ShapeTypeCode.FlowChartPunchedCard = 0x00000079;
ShapeTypeCode.FlowChartPunchedTape = 0x0000007A;
ShapeTypeCode.FlowChartSummingJunction = 0x0000007B;
ShapeTypeCode.FlowChartOr = 0x0000007C;
ShapeTypeCode.FlowChartCollate = 0x0000007D;
ShapeTypeCode.FlowChartSort = 0x0000007E;
ShapeTypeCode.FlowChartExtract = 0x0000007F;
ShapeTypeCode.FlowChartMerge = 0x00000080;
ShapeTypeCode.FlowChartOfflineStorage = 0x00000081;
ShapeTypeCode.FlowChartOnlineStorage = 0x00000082;
ShapeTypeCode.FlowChartMagneticTape = 0x00000083;
ShapeTypeCode.FlowChartMagneticDisk = 0x00000084;
ShapeTypeCode.FlowChartMagneticDrum = 0x00000085;
ShapeTypeCode.FlowChartDisplay = 0x00000086;
ShapeTypeCode.FlowChartDelay = 0x00000087;
ShapeTypeCode.TextPlainText = 0x00000088;
ShapeTypeCode.TextStop = 0x00000089;
ShapeTypeCode.TextTriangle = 0x0000008A;
ShapeTypeCode.TextTriangleInverted = 0x0000008B;
ShapeTypeCode.TextChevron = 0x0000008C;
ShapeTypeCode.TextChevronInverted = 0x0000008D;
ShapeTypeCode.TextRingInside = 0x0000008E;
ShapeTypeCode.TextRingOutside = 0x0000008F;
ShapeTypeCode.TextArchUpCurve = 0x00000090;
ShapeTypeCode.TextArchDownCurve = 0x00000091;
ShapeTypeCode.TextCircleCurve = 0x00000092;
ShapeTypeCode.TextButtonCurve = 0x00000093;
ShapeTypeCode.TextArchUpPour = 0x00000094;
ShapeTypeCode.TextArchDownPour = 0x00000095;
ShapeTypeCode.TextCirclePour = 0x00000096;
ShapeTypeCode.TextButtonPour = 0x00000097;
ShapeTypeCode.TextCurveUp = 0x00000098;
ShapeTypeCode.TextCurveDown = 0x00000099;
ShapeTypeCode.TextCascadeUp = 0x0000009A;
ShapeTypeCode.TextCascadeDown = 0x0000009B;
ShapeTypeCode.TextWave1 = 0x0000009C;
ShapeTypeCode.TextWave2 = 0x0000009D;
ShapeTypeCode.TextWave3 = 0x0000009E;
ShapeTypeCode.TextWave4 = 0x0000009F;
ShapeTypeCode.TextInflate = 0x000000A0;
ShapeTypeCode.TextDeflate = 0x000000A1;
ShapeTypeCode.TextInflateBottom = 0x000000A2;
ShapeTypeCode.TextDeflateBottom = 0x000000A3;
ShapeTypeCode.TextInflateTop = 0x000000A4;
ShapeTypeCode.TextDeflateTop = 0x000000A5;
ShapeTypeCode.TextDeflateInflate = 0x000000A6;
ShapeTypeCode.TextDeflateInflateDeflate = 0x000000A7;
ShapeTypeCode.TextFadeRight = 0x000000A8;
ShapeTypeCode.TextFadeLeft = 0x000000A9;
ShapeTypeCode.TextFadeUp = 0x000000AA;
ShapeTypeCode.TextFadeDown = 0x000000AB;
ShapeTypeCode.TextSlantUp = 0x000000AC;
ShapeTypeCode.TextSlantDown = 0x000000AD;
ShapeTypeCode.TextCanUp = 0x000000AE;
ShapeTypeCode.TextCanDown = 0x000000AF;
ShapeTypeCode.FlowChartAlternateProcess = 0x000000B0;
ShapeTypeCode.FlowChartOffpageConnector = 0x000000B1;
ShapeTypeCode.Callout90 = 0x000000B2;
ShapeTypeCode.AccentCallout90 = 0x000000B3;
ShapeTypeCode.BorderCallout90 = 0x000000B4;
ShapeTypeCode.AccentBorderCallout90 = 0x000000B5;
ShapeTypeCode.LeftRightUpArrow = 0x000000B6;
ShapeTypeCode.Sun = 0x000000B7;
ShapeTypeCode.Moon = 0x000000B8;
ShapeTypeCode.BracketPair = 0x000000B9;
ShapeTypeCode.BracePair = 0x000000BA;
ShapeTypeCode.Seal4 = 0x000000BB;
ShapeTypeCode.DoubleWave = 0x000000BC;
ShapeTypeCode.ActionButtonBlank = 0x000000BD;
ShapeTypeCode.ActionButtonHome = 0x000000BE;
ShapeTypeCode.ActionButtonHelp = 0x000000BF;
ShapeTypeCode.ActionButtonInformation = 0x000000C0;
ShapeTypeCode.ActionButtonForwardNext = 0x000000C1;
ShapeTypeCode.ActionButtonBackPrevious = 0x000000C2;
ShapeTypeCode.ActionButtonEnd = 0x000000C3;
ShapeTypeCode.ActionButtonBeginning = 0x000000C4;
ShapeTypeCode.ActionButtonReturn = 0x000000C5;
ShapeTypeCode.ActionButtonDocument = 0x000000C6;
ShapeTypeCode.ActionButtonSound = 0x000000C7;
ShapeTypeCode.ActionButtonMovie = 0x000000C8;
ShapeTypeCode.HostControl = 0x000000C9;
ShapeTypeCode.Textbox = 0x000000CA;

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/pic/shape-picture-destination.ts





class ShapePictureDestination extends DestinationBase {
    get destinationType() { return DestinationType.ShapePictureDestination; }
    get controlCharHT() { return null; }
    static onPictKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new PictureDestination(importer);
    }
    createClone() {
        return new ShapePictureDestination(this.importer);
    }
    nestedGroupFinished(nestedDestination) {
        if (nestedDestination instanceof PictureDestination) {
            this.imageInfo = nestedDestination.getImageInfo();
            this.shapeProperties = nestedDestination.info.properties;
        }
    }
    beforePopRtfState() {
        this.prepareInfo();
        this.importer.importers.image.insertImageShape(this.imageInfo, this.shapeProperties);
    }
    prepareInfo() {
        if (!this.imageInfo || !this.imageInfo.actualSize)
            return;
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLeft, 0);
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeRight, this.imageInfo.actualSize.width);
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeTop, 0);
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeBottom, this.imageInfo.actualSize.height);
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeType, ShapeTypeCode.PictureFrame);
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PseudoInline, ShapePictureDestination.trueIntValue);
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PictureBinaryData, this.imageInfo);
    }
}
ShapePictureDestination.trueIntValue = 1;

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/sub-document/destination-sub-document.ts

































class DestinationSubDocument extends DestinationBase {
    get destinationType() { return DestinationType.DestinationSubDocument; }
    get controlCharHT() { return DestinationSubDocument.controlCharHT; }
    constructor(importer, targetSubDocument) {
        super(importer);
        this.subDocument = targetSubDocument;
    }
    get canAppendText() { return true; }
    canProcessSpecialHexChar() { return true; }
    get documentModel() { return this.subDocument.documentModel; }
    static onParChar(importer, _ch) {
        importer.flushDecoder();
        importer.importers.paragraph.insertParagraph();
        importer.importers.table.tableReader.onEndParagraph();
    }
    static onNonBreakingSpaceChar(importer, _ch) {
        importer.flushDecoder();
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.NonBreakingSpace);
    }
    static onNonBreakingHyphenChar(importer, _ch) {
        importer.flushDecoder();
        importer.parseCharWithoutDecoding('-');
    }
    static onOptionalHyphenChar(_importer, _ch) {
    }
    static onNonShapePictureKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onShapeGroupKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onTabKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.TabMark);
    }
    static onEmDashKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.EmDash);
    }
    static onEnDashKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.EnDash);
    }
    static onBulletKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.Bullet);
    }
    static onLeftSingleQuoteKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.LeftSingleQuote);
    }
    static onRightSingleQuoteKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.RightSingleQuote);
    }
    static onLeftDoubleQuoteKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.LeftDoubleQuote);
    }
    static onRightDoubleQuoteKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.RightDoubleQuote);
    }
    static onEmSpaceKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.EmSpace);
    }
    static onEnSpaceKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.EnSpace);
    }
    static onQmSpaceKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.QmSpace);
    }
    static onShapePictureKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ShapePictureDestination(importer);
    }
    static onShapeKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = importer.createShapeDestination();
    }
    static onLineBreakKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.LineBreak);
    }
    static onTableOfContentsEntryKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.field.startField();
        importer.destination = importer.createTableContentFieldDestination(true);
    }
    static onTableOfContentsEntryLevelNumberKeyword(importer, parameterValue, hasParameter) {
        importer.destination.tableOfContentsEntryLevelNumberKeyword(parameterValue, hasParameter);
    }
    static onTableOfContentsEntryTypeTableKeyword(importer, parameterValue, hasParameter) {
        importer.destination.tableOfContentsEntryTypeTableKeyword(parameterValue, hasParameter);
    }
    tableOfContentsEntryLevelNumberKeyword(parameterValue, _hasParameter) {
        this.insertTextCore(` \\l ${parameterValue}`);
    }
    tableOfContentsEntryTypeTableKeyword(parameterValue, hasParameter) {
        const startCharIndex = 32;
        const endCharIndex = 255;
        let type = "";
        if (hasParameter && parameterValue >= startCharIndex && parameterValue <= endCharIndex)
            type += String.fromCharCode(parameterValue);
        this.insertTextCore(` \\f ${type}`);
    }
    static onFieldStartKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        destination.startNewField();
    }
    static onDxCustomRunDataKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onZeroWidthJoiner(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.insertSpecialCharacterCore(importer, '\u200D');
    }
    static onZeroWidthNonJoiner(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.insertSpecialCharacterCore(importer, '\u200C');
    }
    static onZeroWidthBreakOpportunity(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.insertSpecialCharacterCore(importer, '\u200C');
    }
    static onZeroWidthNonBreakOpportunity(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.insertSpecialCharacterCore(importer, '\u200D');
    }
    static insertSpecialCharacterCore(importer, specialCharacter) {
        importer.importers.character.insertText(specialCharacter);
    }
    static onParKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.paragraph.insertParagraph();
        importer.importers.table.tableReader.onEndParagraph();
    }
    static onParagraphStyleIndex(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.style.paragraph.rtfStyleIndex = parameterValue;
    }
    static onTableStyleIndexForRowOrCell(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.table.tableReader.rtfTableStyleIndexForRowOrCell = parameterValue;
    }
    static onAlignLeftKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            if (importer.importers.paragraph.paragraphFormatting.coreProperties.rightToLeft)
                importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment, paragraph_properties/* ParagraphAlignment */.wq.Right);
            else
                importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment, paragraph_properties/* ParagraphAlignment */.wq.Left);
    }
    static onAlignCenterKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment, paragraph_properties/* ParagraphAlignment */.wq.Center);
    }
    static onAlignRightKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            if (importer.importers.paragraph.paragraphFormatting.coreProperties.rightToLeft)
                importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment, paragraph_properties/* ParagraphAlignment */.wq.Left);
            else
                importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment, paragraph_properties/* ParagraphAlignment */.wq.Right);
    }
    static onAlignJustifyKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment, paragraph_properties/* ParagraphAlignment */.wq.Justify);
    }
    static onLeftIndentKeyword(importer, parameterValue, _hasParameter) {
        const maxLeftIndent = 31681;
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && parameterValue <= maxLeftIndent)
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.leftIndent, parameterValue);
    }
    static onRightIndentKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightIndent, parameterValue);
    }
    static onFirstLineIndentKeyword(importer, parameterValue, _hasParameter) {
        const info = importer.importers.paragraph.paragraphFormatting;
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer)) {
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndentType, paragraph_properties/* ParagraphFirstLineIndent */.Qi.None);
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndent, 0);
            return;
        }
        const indent = parameterValue;
        if (indent > 0) {
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndentType, paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented);
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndent, indent);
        }
        else if (indent < 0) {
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndentType, paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging);
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndent, -indent);
        }
        else {
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndentType, paragraph_properties/* ParagraphFirstLineIndent */.Qi.None);
            info.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndent, 0);
        }
    }
    static onSpacingBeforeKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingBefore, parameterValue);
    }
    static onLeftToRightParagraphKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightToLeft, false);
    }
    static onRightToLeftParagraphKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightToLeft, true);
    }
    static shouldApplyParagraphStyle(importer) {
        return control/* ControlOptions */.tH.isEnabled(importer.richOptions.control.paragraphStyle);
    }
    static shouldApplyParagraphFormatting(importer) {
        return control/* ControlOptions */.tH.isEnabled(importer.richOptions.control.paragraphFormatting);
    }
    static onSpacingAfterKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingAfter, parameterValue);
    }
    static onLineSpacingTypeKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer)) {
            importer.importers.paragraph.paragraphFormatting.rtfLineSpacingType = parameterValue;
            importer.importers.paragraph.paragraphFormatting.rtfLineSpacingMultiplier = 0;
            importer.importers.paragraph.paragraphFormatting.useLineSpacingMultiplier = false;
        }
    }
    static onLineSpacingMultiplierKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer)) {
            importer.importers.paragraph.paragraphFormatting.rtfLineSpacingMultiplier = Math.max(0, parameterValue);
            importer.importers.paragraph.paragraphFormatting.useLineSpacingMultiplier = true;
        }
    }
    static onHyphenateParagraphKeyword(importer, parameterValue, hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        if (hasParameter && parameterValue == 0)
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.suppressHyphenation, true);
        else
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.suppressHyphenation, false);
    }
    static onSuppressLineNumbersKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.suppressLineNumbers, true);
    }
    static onContextualSpacingKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.contextualSpacing, true);
    }
    static onPageBreakBeforeKeyword(importer, parameterValue, hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        if (!hasParameter)
            parameterValue = 1;
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.pageBreakBefore, parameterValue != 0);
    }
    static onBeforeAutoSpacingKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer)) {
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.beforeAutoSpacing, parameterValue != 0);
            if (parameterValue != 0)
                importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingBefore, 0);
        }
    }
    static onAfterAutoSpacingKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer)) {
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.afterAutoSpacing, parameterValue != 0);
            if (parameterValue != 0)
                importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingAfter, 0);
        }
    }
    static onKeepWithNextKeyword(importer, parameterValue, hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        if (!hasParameter)
            parameterValue = 1;
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.keepWithNext, parameterValue != 0);
    }
    static onKeepLinesTogetherKeyword(importer, parameterValue, hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        if (!hasParameter)
            parameterValue = 1;
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.keepLinesTogether, parameterValue != 0);
    }
    static onWidowOrphanControlOnKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.widowOrphanControl, true);
    }
    static onWidowOrphanControlOffKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.widowOrphanControl, false);
    }
    static onParagraphShadingKeyword(importer, parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = DestinationSubDocument.calculateShadingPattern(parameterValue);
    }
    static calculateShadingPattern(parameterValue) {
        if (parameterValue > 0) {
            if (parameterValue > 10000)
                return shading_pattern/* ShadingPattern */.d.Solid;
            const index = Math.floor(parameterValue / 250);
            return shading_pattern_helper/* ShadingHelper */.k.getShadingPattern(index);
        }
        return shading_pattern/* ShadingPattern */.d.Clear;
    }
    static onParagraphVerticalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinVertStripe;
    }
    static onParagraphHorizontalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinHorzStripe;
    }
    static onParagraphForwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe;
    }
    static onParagraphBackwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinDiagStripe;
    }
    static onParagraphCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinHorzCross;
    }
    static onParagraphDiagonalCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinDiagCross;
    }
    static onParagraphDarkHorizontalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.HorzStripe;
    }
    static onParagraphDarkVerticalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.VertStripe;
    }
    static onParagraphDarkForwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.ReverseDiagStripe;
    }
    static onParagraphDarkBackwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.DiagStripe;
    }
    static onParagraphDarkCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.HorzCross;
    }
    static onParagraphDarkDiagonalCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.shadingPattern = shading_pattern/* ShadingPattern */.d.DiagCross;
    }
    static onParagraphFillColorKeyword(importer, parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.foreColor = DestinationSubDocument.getColorIndex(importer, parameterValue);
    }
    static getColorIndex(importer, parameterValue) {
        const props = importer.documentProperties;
        return props.colorIndexes.getRtfColorIndexById(parameterValue);
    }
    static onParagraphBackgroundKeyword(importer, parameterValue, _hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        importer.importers.paragraph.paragraphFormatting.backColor = DestinationSubDocument.getColorIndex(importer, parameterValue);
    }
    static onOutlineLevelKeyword(importer, parameterValue, hasParameter) {
        if (!DestinationSubDocument.shouldApplyParagraphFormatting(importer))
            return;
        let level = parameterValue;
        if (level < 0 || level > 8)
            level = 0;
        else
            level++;
        if (!hasParameter)
            level = 0;
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.outlineLevel, level);
    }
    static onResetParagraphPropertiesKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rtfTableStyleIndexForRowOrCell = 0;
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer)) {
            importer.importers.paragraph.paragraphFormatting = new RtfParagraphProperties();
            importer.importers.style.paragraph.rtfStyleIndex = 0;
        }
        else {
            importer.importers.paragraph.paragraphFormatting.paragraphListInfo.numberingListIndex = numbering_list_index_constants/* NumberingListIndexConstants */.R.listIndexNotSetted;
            importer.importers.paragraph.paragraphFormatting.paragraphListInfo.listLevelIndex = 0;
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndent, 0);
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndentType, paragraph_properties/* ParagraphFirstLineIndent */.Qi.None);
            importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.leftIndent, 0);
        }
    }
    static onTopParagraphBorderKeyword(importer, _parameterValue, _hasParameter) {
        const border = new border_info/* BorderInfo */.H();
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.topBorder, border);
        importer.importers.paragraph.paragraphFormatting.processedBorder = border;
    }
    static onBottomParagraphBorderKeyword(importer, _parameterValue, _hasParameter) {
        const border = new border_info/* BorderInfo */.H();
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.bottomBorder, border);
        importer.importers.paragraph.paragraphFormatting.processedBorder = border;
    }
    static onLeftParagraphBorderKeyword(importer, _parameterValue, _hasParameter) {
        const border = new border_info/* BorderInfo */.H();
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.leftBorder, border);
        importer.importers.paragraph.paragraphFormatting.processedBorder = border;
    }
    static onRightParagraphBorderKeyword(importer, _parameterValue, _hasParameter) {
        const border = new border_info/* BorderInfo */.H();
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightBorder, border);
        importer.importers.paragraph.paragraphFormatting.processedBorder = border;
    }
    static onBetweenParagraphBorderKeyword(importer, _parameterValue, _hasParameter) {
        const border = new border_info/* BorderInfo */.H();
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.betweenBorder, border);
        importer.importers.paragraph.paragraphFormatting.processedBorder = border;
    }
    static onBarParagraphBorderKeyword(importer, _parameterValue, _hasParameter) {
        const border = new border_info/* BorderInfo */.H();
        importer.importers.paragraph.paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.leftBorder, border);
        importer.importers.paragraph.paragraphFormatting.processedBorder = border;
    }
    static ensureFramePropertiesExists(_importer) {
        return false;
    }
    static createDefaultFrameFormattingInfo() {
        const result = ParagraphFrameFormattingInfo.createDefaultInfo();
        return result;
    }
    static onFrameHorizontalPositionKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.x = parameterValue + 1;
        }
    }
    static onFrameHorizontalPositionNegativeKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.x = parameterValue + 1;
        }
    }
    static onFrameHorizontalAlignmentCenterKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionAlignment = ParagraphFrameHorizontalPositionAlignment.Center;
        }
    }
    static onFrameHorizontalAlignmentLeftKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionAlignment = ParagraphFrameHorizontalPositionAlignment.Left;
        }
    }
    static onFrameHorizontalAlignmentRightKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionAlignment = ParagraphFrameHorizontalPositionAlignment.Right;
        }
    }
    static onFrameHorizontalAlignmentInsideKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionAlignment = ParagraphFrameHorizontalPositionAlignment.Inside;
        }
    }
    static onFrameHorizontalAlignmentOutsideKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionAlignment = ParagraphFrameHorizontalPositionAlignment.Outside;
        }
    }
    static onFrameVerticalPositionKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.y = parameterValue + 1;
        }
    }
    static onFrameVerticalPositionNegativeKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.y = parameterValue + 1;
        }
    }
    static onFrameVerticalAlignmentInlineKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionAlignment = ParagraphFrameVerticalPositionAlignment.Inline;
        }
    }
    static onFrameVerticalAlignmentTopKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionAlignment = ParagraphFrameVerticalPositionAlignment.Top;
        }
    }
    static onFrameVerticalAlignmentCenterKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionAlignment = ParagraphFrameVerticalPositionAlignment.Center;
        }
    }
    static onFrameVerticalAlignmentBottomKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionAlignment = ParagraphFrameVerticalPositionAlignment.Bottom;
        }
    }
    static onFrameVerticalAlignmentInsideKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionAlignment = ParagraphFrameVerticalPositionAlignment.Inside;
        }
    }
    static onFrameVerticalAlignmentOutsideKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionAlignment = ParagraphFrameVerticalPositionAlignment.Outside;
        }
    }
    static onFrameWidthKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.width = Math.abs(parameterValue);
        }
    }
    static onFrameHeightKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.height = Math.abs(parameterValue);
            if (parameterValue < 0)
                importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalRule = ParagraphFrameHorizontalRule.Exact;
            if (parameterValue > 0)
                importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalRule = ParagraphFrameHorizontalRule.AtLeast;
        }
    }
    static onFramePaddingKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            const value = parameterValue;
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPadding = value;
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPadding = value;
        }
    }
    static onFrameVerticalPaddingKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer))
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPadding = parameterValue;
    }
    static onFrameHorizontalPaddingKeyword(importer, parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer))
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPadding = parameterValue;
    }
    static onParagraphHorizontalPositionTypeMarginKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionType = ParagraphFrameHorizontalPositionType.Margin;
        }
    }
    static onParagraphHorizontalPositionTypePageKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionType = ParagraphFrameHorizontalPositionType.Page;
        }
    }
    static onParagraphHorizontalPositionTypeColumnKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.horizontalPositionType = ParagraphFrameHorizontalPositionType.Column;
        }
    }
    static onParagraphVerticalPositionTypeMarginKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionType = ParagraphFrameVerticalPositionType.Margin;
        }
    }
    static onParagraphVerticalPositionTypePageKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionType = ParagraphFrameVerticalPositionType.Page;
        }
    }
    static onParagraphVerticalPositionTypeLineKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.verticalPositionType = ParagraphFrameVerticalPositionType.Paragraph;
        }
    }
    static onFrameNoWrapKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.textWrapType = ParagraphFrameTextWrapType.NotBeside;
        }
    }
    static onFrameWrapOverlayKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.textWrapType = ParagraphFrameTextWrapType.None;
        }
    }
    static onFrameWrapDefaultKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onFrameWrapAroundKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.textWrapType = ParagraphFrameTextWrapType.Around;
        }
    }
    static onFrameWrapTightKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.textWrapType = ParagraphFrameTextWrapType.Tight;
        }
    }
    static onFrameWrapThroughKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.textWrapType = ParagraphFrameTextWrapType.Through;
        }
    }
    static onFrameLockAnchor(importer, parameterValue, hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphFormatting(importer) && DestinationSubDocument.ensureFramePropertiesExists(importer)) {
            importer.importers.paragraph.paragraphFormatting.paragraphFrameFormattingInfo.lockFrameAnchorToParagraph = hasParameter ? (parameterValue != 0) : false;
        }
    }
    static onCharacterStyleIndex(importer, parameterValue, _hasParameter) {
        if (control/* ControlOptions */.tH.isEnabled(importer.richOptions.control.characterStyle))
            importer.importers.style.character.rtfStyleIndex = parameterValue;
    }
    static onBoldKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.bold, val);
    }
    static onDeletedKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onItalicKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.italic, val);
    }
    static onUnderlineKeywordCore(importer, parameterValue, hasParameter, underlineType) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineType, val ? underlineType : character_enums/* UnderlineType */.Xq.None);
    }
    static onUnderlineSingleKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.Single);
    }
    static onUnderlineDottedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.Dotted);
    }
    static onUnderlineDashedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.Dashed);
    }
    static onUnderlineDashDottedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.DashDotted);
    }
    static onUnderlineDashDotDottedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.DashDotDotted);
    }
    static onUnderlineDoubleKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.Double);
    }
    static onUnderlineHeavyWaveKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.HeavyWave);
    }
    static onUnderlineLongDashedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.LongDashed);
    }
    static onUnderlineThickSingleKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.ThickSingle);
    }
    static onUnderlineThickDottedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.ThickDotted);
    }
    static onUnderlineThickDashedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.ThickDashed);
    }
    static onUnderlineThickDashDottedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.ThickDashDotted);
    }
    static onUnderlineThickDashDotDottedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.ThickDashDotDotted);
    }
    static onUnderlineThickLongDashedKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.ThickLongDashed);
    }
    static onUnderlineDoubleWaveKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.DoubleWave);
    }
    static onUnderlineWaveKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onUnderlineKeywordCore(importer, parameterValue, hasParameter, character_enums/* UnderlineType */.Xq.Wave);
    }
    static onUnderlineNoneKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineType, character_enums/* UnderlineType */.Xq.None);
    }
    static onUnderlineWordsOnlyKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineType, val ? character_enums/* UnderlineType */.Xq.Single : character_enums/* UnderlineType */.Xq.None);
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineWordsOnly, val);
    }
    static onUnderlineColorKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 0;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineColor, DestinationSubDocument.getColorIndex(importer, parameterValue));
    }
    static onStrikeoutKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutType, val ? character_enums/* StrikeoutType */.GO.Single : character_enums/* StrikeoutType */.GO.None);
    }
    static onDoubleStrikeoutKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutType, val ? character_enums/* StrikeoutType */.GO.Double : character_enums/* StrikeoutType */.GO.None);
    }
    static onSubscriptKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.script, val ? character_enums/* CharacterFormattingScript */.Vg.Subscript : character_enums/* CharacterFormattingScript */.Vg.Normal);
    }
    static onSuperscriptKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.script, val ? character_enums/* CharacterFormattingScript */.Vg.Superscript : character_enums/* CharacterFormattingScript */.Vg.Normal);
    }
    static onNoSuperAndSubScriptKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.script, character_enums/* CharacterFormattingScript */.Vg.Normal);
    }
    static onLanguageKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onLanguageNpKeyword(importer, parameterValue, hasParameter);
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.noProof, false);
    }
    static onLanguageEastAsianKeyword(importer, parameterValue, hasParameter) {
        DestinationSubDocument.onLanguageEastAsianNpKeyword(importer, parameterValue, hasParameter);
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.noProof, false);
    }
    static onLanguageNpKeyword(_importer, parameterValue, hasParameter) {
        if (!DestinationSubDocument.checkLanguageParameter(parameterValue, hasParameter))
            return;
    }
    static onLanguageEastAsianNpKeyword(_importer, parameterValue, hasParameter) {
        if (!DestinationSubDocument.checkLanguageParameter(parameterValue, hasParameter))
            return;
    }
    static checkLanguageParameter(parameterValue, hasParameter) {
        return hasParameter && (parameterValue != 0) && (parameterValue != 1024);
    }
    static onNoProofKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.noProof, val);
    }
    static onCapsKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.allCaps, val);
    }
    static onSmallCapsKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.smallCaps, val);
    }
    static onHiddenTextKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.hidden, val);
    }
    static onFontSizeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 24;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.size, Math.max(rich_utils/* RichUtils */.i.minFontSize, parameterValue / 2));
    }
    static onDoubleByteCharactersKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.fontType = RtfFontType.DoubleByteCharactersFont;
    }
    static onLowAnsiFontNameKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.fontType = RtfFontType.LowAnsiCharactersFont;
    }
    static onHighAnsiFontNameKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.fontType = RtfFontType.HighAnsiCharactersFont;
    }
    static onAssociatedFontNameKeyword(importer, parameterValue, hasParameter) {
        if (importer.importers.character.characterFormatting.fontType == RtfFontType.Undefined)
            return;
        DestinationSubDocument.onFontNameKeyword(importer, parameterValue, hasParameter);
    }
    static onFontNameKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = importer.importers.font.defaultFontNumber;
        importer.importers.font.setFont(importer.importers.font.fonts.getRtfFontInfoById(parameterValue));
    }
    static onShadingKeyword(importer, parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(DestinationSubDocument.calculateShadingPattern(parameterValue), oldSh.backColor, oldSh.foreColor));
    }
    static onVerticalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.ThinVertStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onHorizontalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.ThinHorzStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onForwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onBackwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.ThinDiagStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.ThinHorzCross, oldSh.backColor, oldSh.foreColor));
    }
    static onDiagonalCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.ThinDiagCross, oldSh.backColor, oldSh.foreColor));
    }
    static onDarkHorizontalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.HorzStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onDarkVerticalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.VertStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onDarkForwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.ReverseDiagStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onDarkBackwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.DiagStripe, oldSh.backColor, oldSh.foreColor));
    }
    static onDarkCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.HorzCross, oldSh.backColor, oldSh.foreColor));
    }
    static onDarkDiagonalCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(shading_pattern/* ShadingPattern */.d.DiagCross, oldSh.backColor, oldSh.foreColor));
    }
    static onFillColorKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 0;
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(oldSh.shadingPattern, oldSh.backColor, DestinationSubDocument.getColorIndex(importer, parameterValue)));
    }
    static onForeColorKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 0;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.textColor, DestinationSubDocument.getColorIndex(importer, parameterValue));
    }
    static onHighlightColorKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 0;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.highlightColor, DestinationSubDocument.getColorIndex(importer, parameterValue));
    }
    static onBackColorKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 0;
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, new shading_info/* ShadingInfo */.g(oldSh.shadingPattern, DestinationSubDocument.getColorIndex(importer, parameterValue), oldSh.foreColor));
    }
    static onPlainKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.onPlainKeyword();
    }
    static onRTLRunKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onLTRRunKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onListOverride(importer, parameterValue, _hasParameter) {
        let index = importer.importers.numbering.listOverrideIndexToNumberingListIndexMap[parameterValue];
        if (index !== undefined)
            importer.importers.paragraph.paragraphFormatting.paragraphListInfo.numberingListIndex = index;
    }
    static onListLevel(importer, parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.paragraphListInfo.listLevelIndex = parameterValue;
    }
    static onListText(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onTabRightKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabAlignment = paragraph/* TabAlign */.K9.Right;
    }
    static onTabCenterKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabAlignment = paragraph/* TabAlign */.K9.Center;
    }
    static onTabDecimalKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabAlignment = paragraph/* TabAlign */.K9.Decimal;
    }
    static onTabLeaderDotsKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.Dots;
    }
    static onTabLeaderMiddleDotsKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.MiddleDots;
    }
    static onTabLeaderHyphensKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.Hyphens;
    }
    static onTabLeaderUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.Underline;
    }
    static onTabLeaderThickLineKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.ThickLine;
    }
    static onTabLeaderEqualSignKeyword(importer, _parameterValue, _hasParameter) {
        if (DestinationSubDocument.shouldApplyParagraphStyle(importer))
            importer.importers.paragraph.paragraphFormatting.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.EqualSign;
    }
    static onTabPositionKeyword(importer, parameterValue, hasParameter) {
        const info = importer.importers.paragraph.paragraphFormatting;
        if (hasParameter) {
            if (Math.abs(parameterValue) <= 31681) {
                const tab = new paragraph_style/* TabInfo */.i3(parameterValue, info.tabAlignment, info.tabLeader, false, false);
                info.tabs.tabsInfo.push(tab);
            }
        }
        info.tabAlignment = paragraph/* TabAlign */.K9.Left;
        info.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.None;
    }
    static onBarTabKeyword(importer, _parameterValue, _hasParameter) {
        const info = importer.importers.paragraph.paragraphFormatting;
        info.tabAlignment = paragraph/* TabAlign */.K9.Left;
        info.tabLeader = layout_tab_space_box/* TabLeaderType */.LT.None;
    }
    static onTableRowDefaultsKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.onTableRowDefaults();
    }
    static onTableStyleKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.style = importer.importers.style.table.getModelIndex(parameterValue);
    }
    static onInTableParagraphKeyword(importer, parameterValue, hasParameter) {
        importer.importers.paragraph.paragraphFormatting.inTableParagraph = !hasParameter || parameterValue != 0;
    }
    static onRowKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.onEndRow();
    }
    static onCellKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.paragraph.insertParagraph();
        importer.importers.table.tableReader.onEndCell();
    }
    static onNestedCellKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.paragraph.insertParagraph();
        importer.importers.table.tableReader.onEndNestedCell();
    }
    static onNestedRowKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.onEndNestedRow();
    }
    static onNestedTablePropertiesKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.onStartNestedTableProperties();
    }
    static onItapKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue < 0)
            return;
        importer.importers.paragraph.paragraphFormatting.nestingLevel = parameterValue;
    }
    startNewField() {
        this.importer.importers.field.startField();
        this.importer.destination = this.importer.createFieldDestination();
    }
    nestedGroupFinished(nestedDestination) {
        if (nestedDestination instanceof PictureDestination)
            this.importer.importers.image.insertImage(nestedDestination.getImageInfo());
        const oldListIndex = this.importer.importers.numbering.currentOldSimpleList ?
            this.importer.importers.numbering.currentOldSimpleListIndex :
            this.importer.importers.numbering.currentOldMultiLevelListIndex;
        if (oldListIndex >= numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue) {
            const levelNumber = this.importer.importers.numbering.currentOldSimpleList ?
                0 :
                this.importer.importers.numbering.currentOldListLevelNumber;
            const listLevel = this.importer.documentModel.numberingLists[oldListIndex].levels[levelNumber];
            if (nestedDestination instanceof TextBeforeDestination) {
                listLevel.getListLevelProperties().displayFormatString = nestedDestination.value +
                    listLevel.getListLevelProperties().displayFormatString;
                return;
            }
            if (nestedDestination instanceof TextAfterDestination) {
                listLevel.getListLevelProperties().displayFormatString = listLevel.getListLevelProperties().displayFormatString +
                    nestedDestination.value;
                return;
            }
        }
    }
    processCharCore(ch) {
        const props = this.importer.importers.character.characterFormatting;
        if (this.importer.importers.character.characterFormatting.rtfFormattingInfo.deleted)
            return;
        if (!props.useDoubleByteCharactersFontName && !props.useLowAnsiCharactersFontName && !props.useHighAnsiCharactersFontName)
            this.importer.importers.character.insertText(ch);
        else
            this.importer.importers.character.appendChar(ch);
    }
    processTextCore(text) {
        this.insertTextCore(text);
    }
    insertTextCore(text) {
        const props = this.importer.importers.character.characterFormatting;
        if (this.importer.importers.character.characterFormatting.rtfFormattingInfo.deleted)
            return;
        if (!props.useDoubleByteCharactersFontName && !props.useLowAnsiCharactersFontName && !props.useHighAnsiCharactersFontName)
            this.importer.importers.character.insertText(text);
        else
            this.importer.importers.character.splitByCharTypeAndInsertText(text);
    }
    processSpecialHexCharCore(ch) {
        if (ch == '\r')
            DestinationSubDocument.onParKeyword(this.importer, 0, false);
        else
            super.processSpecialHexCharCore(ch);
    }
    findParentComment(_comment, _name) {
        return null;
    }
    findParenCommentInPieceTable(_comment) {
        return null;
    }
    static onCellxKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.table.tableReader.onCellxProperty(parameterValue);
    }
    static onCellPreferredWidthKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.cellProperties.preferredWidth.value = parameterValue;
    }
    static onWidthUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.cellProperties.preferredWidth.type = DestinationSubDocument.getWidthUnitType(parameterValue);
    }
    static getWidthUnitType(parameterValue) {
        let unitType = table_units/* TableWidthUnitType */.HO.Auto;
        switch (parameterValue) {
            case 1:
                unitType = table_units/* TableWidthUnitType */.HO.Auto;
                break;
            case 2:
                unitType = table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent;
                break;
            case 3:
                unitType = table_units/* TableWidthUnitType */.HO.ModelUnits;
                break;
            case 0:
            default:
                unitType = table_units/* TableWidthUnitType */.HO.Nil;
                break;
        }
        return unitType;
    }
    static onFirstHorizontalMergedCellKeyword(importer, _parameterValue, _hasParameter) {
        if (importer.importers.table.tableReader.cellProperties.horizontalMerging == table_base_structures/* TableCellMergingState */.Z3.None)
            importer.importers.table.tableReader.cellProperties.horizontalMerging = table_base_structures/* TableCellMergingState */.Z3.Restart;
    }
    static onNextHorizontalMergedCellKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.horizontalMerging = table_base_structures/* TableCellMergingState */.Z3.Continue;
    }
    static onFirstVerticalMergedCellKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.Restart;
    }
    static onNextVerticalMergedCellKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.Continue;
    }
    static onRowLeftKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.left = parameterValue;
    }
    static onRowHeaderKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue != 0) {
            importer.importers.table.tableReader.rowProperties.coreProperties.setValue(TableRowPropertyDescriptor.header, true);
        }
    }
    static onRowHeightKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        const val = parameterValue;
        const row = importer.importers.table.tableReader.rowProperties;
        row.height.value = Math.abs(val);
        if (parameterValue < 0)
            row.height.type = table_units/* TableHeightUnitType */.X.Exact;
        else if (parameterValue > 0)
            row.height.type = table_units/* TableHeightUnitType */.X.Minimum;
        else
            row.height.type = table_units/* TableHeightUnitType */.X.Auto;
    }
    static onRowKeepKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue != 0) {
            importer.importers.table.tableReader.rowProperties.coreProperties.setValue(TableRowPropertyDescriptor.cantSplit, true);
        }
    }
    static onTableRightAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.coreProperties.setValue(TableRowPropertyDescriptor.rowAlignment, table_base_structures/* TableRowAlignment */._6.Right);
    }
    static onTableLeftAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.coreProperties.setValue(TableRowPropertyDescriptor.rowAlignment, table_base_structures/* TableRowAlignment */._6.Left);
    }
    static onTableCenterAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.coreProperties.setValue(TableRowPropertyDescriptor.rowAlignment, table_base_structures/* TableRowAlignment */._6.Center);
    }
    static onSpaceBetweenCellsKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.halfSpace = parameterValue;
    }
    static onTableBottomCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseBottomMargin, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.bottom.value = parameterValue;
    }
    static onTableLeftCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseLeftMargin, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.left.value = parameterValue;
    }
    static onTableRightCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseRightMargin, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.right.value = parameterValue;
    }
    static onTableTopCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTopMargin, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.top.value = parameterValue;
    }
    static onTableBottomCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseBottomMargin, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.bottom, parameterValue);
    }
    static assignWidthUnitInfo(unitInfo, value) {
        if (value == 3)
            unitInfo.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
        else if (value == 0)
            unitInfo.type = table_units/* TableWidthUnitType */.HO.Nil;
    }
    static onTableLeftCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseLeftMargin, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.left, parameterValue);
    }
    static onTableRightCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseRightMargin, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.right, parameterValue);
    }
    static onTableTopCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTopMargin, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellMargins.top, parameterValue);
    }
    static onTableBottomCellSpacingKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing.value = parameterValue;
    }
    static onTableLeftCellSpacingKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing.value = parameterValue;
    }
    static onTableRightCellSpacingKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing.value = parameterValue;
    }
    static onTableTopCellSpacingKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing.value = parameterValue;
    }
    static onTableBottomCellSpacingUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing, parameterValue);
    }
    static onTableLeftCellSpacingUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing, parameterValue);
    }
    static onTableRightCellSpacingUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing, parameterValue);
    }
    static onTableTopCellSpacingUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing, true);
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.tableProperties.coreProperties.cellSpacing, parameterValue);
    }
    static onTablePreferredWidthKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.preferredWidth.value = parameterValue;
    }
    static onTablePreferredWidthUnitTypeKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.preferredWidth.type = DestinationSubDocument.getWidthUnitType(parameterValue);
    }
    static onWidthBeforeKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.widthBefore.value = parameterValue;
    }
    static onWidthBeforeUnitTypeKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.widthBefore.type = DestinationSubDocument.getWidthUnitType(parameterValue);
    }
    static onWidthAfterKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.widthAfter.value = parameterValue;
    }
    static onWidthAfterUnitTypeKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.widthAfter.type = DestinationSubDocument.getWidthUnitType(parameterValue);
    }
    static onRowBackgroundColorKeyword(importer, parameterValue, hasParameter) {
        const colorIndexTable = importer.documentProperties.colorIndexes;
        if (!hasParameter || parameterValue > colorIndexTable.collection.length - 1)
            return;
        importer.importers.table.tableReader.rowProperties.backColor = DestinationSubDocument.getColorIndex(importer, parameterValue);
    }
    static onRowForegroundColorKeyword(importer, parameterValue, hasParameter) {
        const colorIndexTable = importer.documentProperties.colorIndexes;
        if (!hasParameter || parameterValue > colorIndexTable.collection.length - 1)
            return;
        importer.importers.table.tableReader.rowProperties.foreColor = DestinationSubDocument.getColorIndex(importer, parameterValue);
    }
    static onRowPatternKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.shadingPattern = DestinationSubDocument.calculateShadingPattern(parameterValue);
    }
    static onRowShadingKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.shadingPattern = DestinationSubDocument.calculateShadingPattern(parameterValue);
    }
    static onRowVerticalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinVertStripe;
    }
    static onRowHorizontalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinHorzStripe;
    }
    static onRowForwardDiagonalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe;
    }
    static onRowBackwardDiagonalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinDiagStripe;
    }
    static onRowCrossPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinHorzCross;
    }
    static onRowDiagonalCrossPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinDiagCross;
    }
    static onRowDarkHorizontalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.HorzStripe;
    }
    static onRowDarkVerticalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.VertStripe;
    }
    static onRowDarkForwardDiagonalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ReverseDiagStripe;
    }
    static onRowDarkBackwardDiagonalPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.DiagStripe;
    }
    static onRowDarkCrossPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.HorzCross;
    }
    static onRowDarkDiagonalCrossPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.DiagCross;
    }
    static onTableIndentKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableIndent, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.indent.value = parameterValue;
    }
    static onTableIndentUnitType(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableIndent, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.indent.type = DestinationSubDocument.getWidthUnitType(parameterValue);
    }
    static onCellFitTextKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue != 0)
            importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.fitText, true);
    }
    static onCellNoWrapKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue != 0)
            importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.noWrap, true);
    }
    static onCellVerticalAlignmentTopKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.vertivalAlignment, table_base_structures/* TableCellVerticalAlignment */.Ad.Top);
    }
    static onCellVerticalAlignmentCenterKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.vertivalAlignment, table_base_structures/* TableCellVerticalAlignment */.Ad.Center);
    }
    static onCellVerticalAlignmentBottomKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.vertivalAlignment, table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom);
    }
    static onCellHideMarkKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue != 0)
            importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.hideCellMark, true);
    }
    static onCellBottomCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.bottomMargin, table_units/* TableWidthUnit */.CT.create(parameterValue, table_units/* TableWidthUnitType */.HO.ModelUnits));
    }
    static onCellLeftCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.topMargin, table_units/* TableWidthUnit */.CT.create(parameterValue, table_units/* TableWidthUnitType */.HO.ModelUnits));
    }
    static onCellRightCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.rightMargin, table_units/* TableWidthUnit */.CT.create(parameterValue, table_units/* TableWidthUnitType */.HO.ModelUnits));
    }
    static onCellTopCellMarginKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.cellProperties.coreProperties.cellMargins.left.value = parameterValue;
    }
    static onCellBottomCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.cellProperties.coreProperties.cellMargins.bottom, parameterValue);
    }
    static onCellLeftCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.cellProperties.coreProperties.cellMargins.top, parameterValue);
    }
    static onCellRightCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.cellProperties.coreProperties.cellMargins.right, parameterValue);
    }
    static onCellTopCellMarginUnitTypeKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        DestinationSubDocument.assignWidthUnitInfo(importer.importers.table.tableReader.cellProperties.coreProperties.cellMargins.left, parameterValue);
    }
    static onTableOverlapKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue != 0) {
            importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseIsTableOverlap, true);
            importer.importers.table.tableReader.tableProperties.coreProperties.isTableOverlap = false;
        }
    }
    static onTableLeftFromTextKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.floatingPosition.leftFromText = parameterValue;
    }
    static onTableRightFromTextKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.floatingPosition.rightFromText = parameterValue;
    }
    static onTableTopFromTextKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.floatingPosition.topFromText = parameterValue;
    }
    static onTableBottomFromTextKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.rowProperties.floatingPosition.bottomFromText = parameterValue;
    }
    static onColHorizontalAnchorKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAnchor = table_base_structures/* HorizontalAnchorTypes */.Iz.Column;
    }
    static onMarginHorizontalAnchorKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.textWrapping = table_base_structures/* TextWrapping */.iT.Around;
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAnchor = table_base_structures/* HorizontalAnchorTypes */.Iz.Margin;
    }
    static onPageHorizontalAnchorKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.textWrapping = table_base_structures/* TextWrapping */.iT.Around;
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAnchor = table_base_structures/* HorizontalAnchorTypes */.Iz.Page;
    }
    static onTableHorizontalPositionKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        if (parameterValue != 0)
            importer.importers.table.tableReader.rowProperties.floatingPosition.textWrapping = table_base_structures/* TextWrapping */.iT.Around;
    }
    static onTableVerticalPositionKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        if (parameterValue != 0)
            importer.importers.table.tableReader.rowProperties.floatingPosition.textWrapping = table_base_structures/* TextWrapping */.iT.Around;
        importer.importers.table.tableReader.rowProperties.floatingPosition.tableVerticalPosition = parameterValue;
    }
    static onCenterTableHorizontalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAlign = table_base_structures/* HorizontalAlignMode */.Kv.Center;
    }
    static onInsideTableHorizontalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAlign = table_base_structures/* HorizontalAlignMode */.Kv.Inside;
    }
    static onLeftTableHorizontalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAlign = table_base_structures/* HorizontalAlignMode */.Kv.Left;
    }
    static onOutsideTableHorizontalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAlign = table_base_structures/* HorizontalAlignMode */.Kv.Outside;
    }
    static onRightTableHorizontalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.horizontalAlign = table_base_structures/* HorizontalAlignMode */.Kv.Right;
    }
    static onBottomTableVerticalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAlign = table_base_structures/* VerticalAlignMode */._b.Bottom;
    }
    static onCenterTableVerticalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAlign = table_base_structures/* VerticalAlignMode */._b.Center;
    }
    static onInlineTableVerticalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAlign = table_base_structures/* VerticalAlignMode */._b.Inline;
    }
    static onInsideTableVerticalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAlign = table_base_structures/* VerticalAlignMode */._b.Inside;
    }
    static onOutsideTableVerticalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAlign = table_base_structures/* VerticalAlignMode */._b.Outside;
    }
    static onTopTableVerticalAlignKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAlign = table_base_structures/* VerticalAlignMode */._b.Top;
    }
    static onMarginVerticalAnchorKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAnchor = table_base_structures/* VerticalAnchorTypes */.ut.Margin;
    }
    static onParagraphVerticalAnchorKeword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.textWrapping = table_base_structures/* TextWrapping */.iT.Around;
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAnchor = table_base_structures/* VerticalAnchorTypes */.ut.Paragraph;
    }
    static onPageVerticalAnchorKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.rowProperties.floatingPosition.textWrapping = table_base_structures/* TextWrapping */.iT.Around;
        importer.importers.table.tableReader.rowProperties.floatingPosition.verticalAnchor = table_base_structures/* VerticalAnchorTypes */.ut.Page;
    }
    static onTopTableBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTopBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.tableProperties.coreProperties.borders.top;
    }
    static onLeftTableBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseLeftBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.tableProperties.coreProperties.borders.left;
    }
    static onBottomTableBorderKeword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseBottomBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.tableProperties.coreProperties.borders.bottom;
    }
    static onRightTableBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseRightBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.tableProperties.coreProperties.borders.right;
    }
    static onHorizontalTableBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseInsideHorizontalBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.tableProperties.coreProperties.borders.insideHorizontal;
    }
    static onVerticalTableBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseInsideVerticalBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.tableProperties.coreProperties.borders.insideVertical;
    }
    static onNoTableBorderKeyword(importer, _parameterValue, _hasParameter) {
        if (importer.importers.table.tableReader.processedBorder == null)
            return;
        importer.importers.table.tableReader.processedBorder.style = borders_enums/* BorderLineStyle */.u.None;
        importer.importers.table.tableReader.processedBorder = null;
    }
    static onBottomCellBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseBottomBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.cellProperties.coreProperties.borders.bottom;
    }
    static onTopCellBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseTopBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.cellProperties.coreProperties.borders.top;
    }
    static onLeftCellBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseLeftBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.cellProperties.coreProperties.borders.left;
    }
    static onRightCellBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseRightBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.cellProperties.coreProperties.borders.right;
    }
    static onUpperLeftToLowerRightBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseTopLeftDiagonalBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.cellProperties.coreProperties.borders.topLeftDiagonal;
    }
    static onUpperRightToLowerLeftBorderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setUseValue(table_cell_properties/* TableCellPropertiesMask */.WO.UseTopRightDiagonalBorder, true);
        importer.importers.table.tableReader.processedBorder = importer.importers.table.tableReader.cellProperties.coreProperties.borders.topRightDiagonal;
    }
    static onCellTextTopAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.vertivalAlignment, table_base_structures/* TableCellVerticalAlignment */.Ad.Top);
    }
    static onCellTextCenterVerticalAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.vertivalAlignment, table_base_structures/* TableCellVerticalAlignment */.Ad.Center);
    }
    static onCellTextBottomAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.vertivalAlignment, table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom);
    }
    static onCellLeftToRightTopToBottomTextDirectionKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.textDirection = table_base_structures/* TextDirection */.m5.LeftToRightTopToBottom;
    }
    static onCellTopToBottomRightToLeftTextDirectionKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.textDirection = table_base_structures/* TextDirection */.m5.TopToBottomRightToLeft;
    }
    static onCellBottomToTopLeftToRightTextDirectionKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.textDirection = table_base_structures/* TextDirection */.m5.BottomToTopLeftToRight;
    }
    static onCellLeftToRightTopToBottomVerticalTextDirectionKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.textDirection = table_base_structures/* TextDirection */.m5.LeftToRightTopToBottomRotated;
    }
    static onCellTopToBottomRightToLeftVerticalTextDirectionKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.coreProperties.textDirection = table_base_structures/* TextDirection */.m5.TopToBottomRightToLeftRotated;
    }
    static onCellBackgroundColorKeyword(importer, parameterValue, hasParameter) {
        const colorIndexTable = importer.documentProperties.colorIndexes;
        if (!hasParameter || parameterValue > colorIndexTable.collection.length - 1)
            return;
        importer.importers.table.tableReader.cellProperties.backColor = DestinationSubDocument.getColorIndex(importer, parameterValue);
    }
    static onCellForegroundColorKeyword(importer, parameterValue, hasParameter) {
        const colorIndexTable = importer.documentProperties.colorIndexes;
        if (!hasParameter || parameterValue > colorIndexTable.collection.length - 1)
            return;
        importer.importers.table.tableReader.cellProperties.foreColor = DestinationSubDocument.getColorIndex(importer, parameterValue);
    }
    static onCellShadingKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            return;
        importer.importers.table.tableReader.cellProperties.shadingPattern = DestinationSubDocument.calculateShadingPattern(parameterValue);
    }
    static onCellNoShadingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.Nil;
    }
    static onCellVerticalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinVertStripe;
    }
    static onCellHorizontalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinHorzStripe;
    }
    static onCellForwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinReverseDiagStripe;
    }
    static onCellBackwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinDiagStripe;
    }
    static onCellCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinHorzCross;
    }
    static onCellDiagonalCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ThinDiagCross;
    }
    static onCellDarkHorizontalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.HorzStripe;
    }
    static onCellDarkVerticalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.VertStripe;
    }
    static onCellDarkForwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.ReverseDiagStripe;
    }
    static onCellDarkBackwardDiagonalBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.DiagStripe;
    }
    static onCellDarkCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.HorzCross;
    }
    static onCellDarkDiagonalCrossBackgroundPatternKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.cellProperties.shadingPattern = shading_pattern/* ShadingPattern */.d.DiagCross;
    }
    static onTableAutoFitKeyword(importer, parameterValue, _hasParameter) {
        const val = Math.abs(parameterValue);
        if (val > 1)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableLayout, true);
        if (val == 1)
            importer.importers.table.tableReader.tableProperties.coreProperties.layoutType = table_base_structures/* TableLayoutType */.DX.Autofit;
        else
            importer.importers.table.tableReader.tableProperties.coreProperties.layoutType = table_base_structures/* TableLayoutType */.DX.Fixed;
    }
    static onApplyFirstRowConditionalFormattingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.lookTypes |= table_base_structures/* TableLookTypes */.sp.ApplyFirstRow;
    }
    static onApplyLastRowConditionalFormattingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.lookTypes |= table_base_structures/* TableLookTypes */.sp.ApplyLastRow;
    }
    static onApplyFirstColumnContitionalFormattingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.lookTypes |= table_base_structures/* TableLookTypes */.sp.ApplyFirstColumn;
    }
    static onApplyLastColumnConditionalFormattingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.lookTypes |= table_base_structures/* TableLookTypes */.sp.ApplyLastColumn;
    }
    static onDoNotApplyRowBandingConditionalFormattingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.lookTypes |= table_base_structures/* TableLookTypes */.sp.DoNotApplyRowBanding;
    }
    static onDoNotApplyColumnBandingConditionalFormattingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.lookTypes |= table_base_structures/* TableLookTypes */.sp.DoNotApplyColumnBanding;
    }
    static onRowBandSizeKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableStyleRowBandSize, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.tableStyleRowBandSize = parameterValue;
    }
    static onColumnBandSizeKeyword(importer, parameterValue, hasParameter) {
        if (parameterValue < 0 || !hasParameter)
            return;
        importer.importers.table.tableReader.tableProperties.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableStyleColBandSize, true);
        importer.importers.table.tableReader.tableProperties.coreProperties.tableStyleColumnBandSize = parameterValue;
    }
    static onLtrRow(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.rightToLeft = false;
    }
    static onRtlRow(importer, _parameterValue, _hasParameter) {
        importer.importers.table.tableReader.tableProperties.rightToLeft = true;
    }
    static onNoBorderKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setNoBorderType(importer, borders_enums/* BorderLineStyle */.u.Nil);
    }
    static onBorderSpaceKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue < 0)
            return;
        const border = importer.importers.table.tableReader.processedBorder;
        if (border)
            border.offset = parameterValue;
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (paragraphBorder)
            paragraphBorder.offset = parameterValue;
    }
    static assignDefaultBorderWidth(_border) {
    }
    static setBorderType(importer, style) {
        const border = importer.importers.table.tableReader.processedBorder;
        if (border) {
            DestinationSubDocument.assignDefaultBorderWidth(border);
            border.style = style;
        }
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (paragraphBorder)
            paragraphBorder.style = style;
    }
    static setNoBorderType(importer, style) {
        const border = importer.importers.table.tableReader.processedBorder;
        if (border)
            border.style = style;
        importer.importers.table.tableReader.processedBorder = null;
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (paragraphBorder)
            paragraphBorder.style = style;
        importer.importers.paragraph.paragraphFormatting.processedBorder = null;
    }
    static onSingleThicknessBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Single);
    }
    static onDoubleThicknessBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        const border = importer.importers.table.tableReader.processedBorder;
        if (border) {
            DestinationSubDocument.assignDefaultBorderWidth(border);
            border.width *= 2;
            border.style = borders_enums/* BorderLineStyle */.u.Single;
        }
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (paragraphBorder) {
            paragraphBorder.width *= 2;
            paragraphBorder.style = borders_enums/* BorderLineStyle */.u.Single;
        }
    }
    static onBorderWidthKeyword(importer, parameterValue, _hasParameter) {
        const border = importer.importers.table.tableReader.processedBorder;
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (!border && !paragraphBorder)
            return;
        const maxBorderWidth = 255;
        const val = parameterValue > 0 ?
            parameterValue > maxBorderWidth ? maxBorderWidth : parameterValue :
            0;
        if (border)
            border.width = val > 0 ? val : 1;
        if (paragraphBorder)
            paragraphBorder.width = val > 0 ? val : 1;
    }
    static onBorderColorKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue < 0)
            return;
        const border = importer.importers.table.tableReader.processedBorder;
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (!border && !paragraphBorder)
            return;
        const colorIndexTable = importer.documentProperties.colorIndexes;
        if (parameterValue > colorIndexTable.collection.length - 1)
            return;
        const color = colorIndexTable.getRtfColorIndexById(parameterValue);
        if (border)
            border.color = color;
        if (paragraphBorder)
            paragraphBorder.color = color;
    }
    static onDoubleBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Double);
    }
    static onDottedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Dotted);
    }
    static onDashedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Dashed);
    }
    static onHairlineBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        const border = importer.importers.table.tableReader.processedBorder;
        if (border) {
            border.style = borders_enums/* BorderLineStyle */.u.Single;
            border.width = 1;
        }
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (paragraphBorder) {
            paragraphBorder.style = borders_enums/* BorderLineStyle */.u.Single;
            paragraphBorder.width = 1;
        }
    }
    static onSmallDashedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.DashSmallGap);
    }
    static onDotDashedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.DotDash);
    }
    static onDotDotDashedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.DotDotDash);
    }
    static onInsetBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Inset);
    }
    static onNoneBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setNoBorderType(importer, borders_enums/* BorderLineStyle */.u.None);
    }
    static onNilBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setNoBorderType(importer, borders_enums/* BorderLineStyle */.u.Nil);
    }
    static onOutsetBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Outset);
    }
    static onTripletBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Triple);
    }
    static onSmallThickThinBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThickThinSmallGap);
    }
    static onSmallThinThickThinBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThinThickThinSmallGap);
    }
    static onMediumThickThinBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThickThinMediumGap);
    }
    static onMediumThinThickBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThinThickMediumGap);
    }
    static onMediumThinThickThinBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThinThickThinMediumGap);
    }
    static onLargeThickThinBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThickThinLargeGap);
    }
    static onLargeThinThickBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThinThickLargeGap);
    }
    static onLargeThinThickThinBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThinThickThinLargeGap);
    }
    static onWavyBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.Wave);
    }
    static onDoubleWavyBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.DoubleWave);
    }
    static onStripedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.DashDotStroked);
    }
    static onEmbossedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThreeDEmboss);
    }
    static onEngravedBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThreeDEngrave);
    }
    static onSmallThinThickBorderTypeKeyword(importer, _parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, borders_enums/* BorderLineStyle */.u.ThinThickSmallGap);
    }
    static onBorderArtIndex(importer, parameterValue, _hasParameter) {
        DestinationSubDocument.setBorderType(importer, RtfArtBorderConverter.getBorderLineStyle(parameterValue));
    }
    static onFrameBorderKeyword(importer, parameterValue, hasParameter) {
        const border = importer.importers.table.tableReader.processedBorder;
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (!border && !paragraphBorder)
            return;
        if (!hasParameter || parameterValue != 0) {
            if (border)
                border.frame = true;
            if (paragraphBorder)
                paragraphBorder.frame = true;
        }
    }
    static onShadowedBorderTypeKeyword(importer, parameterValue, hasParameter) {
        const border = importer.importers.table.tableReader.processedBorder;
        const paragraphBorder = importer.importers.paragraph.paragraphFormatting.processedBorder;
        if (!border && !paragraphBorder)
            return;
        if (!hasParameter || parameterValue != 0) {
            if (border)
                border.shadow = true;
            if (paragraphBorder)
                paragraphBorder.shadow = true;
        }
    }
}
DestinationSubDocument.controlCharHT = new map_creator/* MapCreator */.M()
    .add('\r', DestinationSubDocument.onParChar)
    .add('\n', DestinationSubDocument.onParChar)
    .add('\\', DestinationSubDocument.onEscapedChar)
    .add('{', DestinationSubDocument.onEscapedChar)
    .add('}', DestinationSubDocument.onEscapedChar)
    .add('~', DestinationSubDocument.onNonBreakingSpaceChar)
    .add('_', DestinationSubDocument.onNonBreakingHyphenChar)
    .add('-', DestinationSubDocument.onOptionalHyphenChar)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-text-destination.ts


class ShapeTextDestination extends DestinationSubDocument {
    get destinationType() { return DestinationType.ShapeTextDestination; }
    createClone() {
        return new ShapeTextDestination(this.importer, this.subDocument);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-properties-destination-base.ts













class ShapePropertiesDestinationBase extends DestinationBase {
    get destinationType() { return DestinationType.ShapePropertiesDestinationBase; }
    get controlCharHT() { return null; }
    constructor(importer, shapeProperties = new RtfShapePropertiesInfo()) {
        super(importer);
        this.shapeProperties = shapeProperties;
    }
    static getThis(rtfImporter) {
        return rtfImporter.destination;
    }
    static onShapeId(_importer, _parameterValue, _hasParameter) {
    }
    static onShapeTextKeyword(importer, _parameterValue, _hasParameter) {
        const destination = ShapePropertiesDestinationBase.getThis(importer);
        const textBox = importer.documentModel.createSubDocument(model_enums/* SubDocumentInfoType */.F.TextBox, importer.subDocument.id, true);
        textBox.chunks = [new chunk/* Chunk */.z(textBox.positionManager.registerPosition(0), '', true)];
        destination.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeText, textBox.id);
        destination.markAsShape();
        importer.destination = new ShapeTextDestination(importer, textBox);
    }
    static onShapePropertyKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ShapePropertyDestination(importer, ShapePropertiesDestinationBase.getThis(importer).shapeProperties);
    }
    static onShapeResultKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onShapeLockedKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.getThis(importer).shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLocked, ShapePropertiesDestinationBase.trueIntValue);
    }
    static onShapeWrapTextSideKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertiesDestinationBase.getThis(importer).shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextSide, parameterValue);
    }
    static onShapeWrapTextTypeZOrderKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter) {
            const destination = ShapePropertiesDestinationBase.getThis(importer);
            const rawWrapType = destination.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextType);
            if (rawWrapType !== null && rawWrapType == floating_objects_enums/* AnchorObjectTextWrapType */.vX.None)
                destination.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextTypeZOrder, parameterValue);
        }
    }
    static onShapeWrapTextTypeKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter) {
            const newWrapType = ShapePropertiesDestinationBase.convertDrawingObjectTextWrapType(parameterValue);
            if (newWrapType == floating_objects_enums/* AnchorObjectTextWrapType */.vX.None)
                return;
            ShapePropertiesDestinationBase.getThis(importer).shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextType, newWrapType);
        }
    }
    static convertDrawingObjectTextWrapType(parameterValue) {
        let textWrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.None;
        number/* NumberMapUtils */.j.forEach(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectTextWrapTypeTable, (obj, key) => {
            if (parameterValue == obj)
                textWrapType = key;
        });
        return textWrapType;
    }
    static onShapeHorizontalPositionTypePageKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.setDrawingObjectHorizontalPositionType(ShapePropertiesDestinationBase.getThis(importer).shapeProperties, DrawingObjectHorizontalPositionType.Page);
    }
    static onShapeHorizontalPositionTypeMarginKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.setDrawingObjectHorizontalPositionType(ShapePropertiesDestinationBase.getThis(importer).shapeProperties, DrawingObjectHorizontalPositionType.Margin);
    }
    static onShapeHorizontalPositionTypeColumnKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.setDrawingObjectHorizontalPositionType(ShapePropertiesDestinationBase.getThis(importer).shapeProperties, DrawingObjectHorizontalPositionType.Column);
    }
    static onShapeHorizontalPositionTypeIgnoreKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.getThis(importer).shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeIgnoreLegacyHorizontalPositionType, ShapePropertiesDestinationBase.trueIntValue);
    }
    static onShapeVerticalPositionTypePageKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.setDrawingObjectVerticalPositionType(ShapePropertiesDestinationBase.getThis(importer).shapeProperties, DrawingObjectVerticalPositionType.Page);
    }
    static onShapeVerticalPositionTypeMarginKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.setDrawingObjectVerticalPositionType(ShapePropertiesDestinationBase.getThis(importer).shapeProperties, DrawingObjectVerticalPositionType.Margin);
    }
    static onShapeVerticalPositionTypeParagraphKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.setDrawingObjectVerticalPositionType(ShapePropertiesDestinationBase.getThis(importer).shapeProperties, DrawingObjectVerticalPositionType.Paragraph);
    }
    static onShapeVerticalPositionTypeIgnoreKeyword(importer, _parameterValue, _hasParameter) {
        ShapePropertiesDestinationBase.getThis(importer).shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeIgnoreLegacyVerticalPositionType, ShapePropertiesDestinationBase.trueIntValue);
    }
    static onShapeLeftKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertiesDestinationBase.getThis(importer).onShapeLeftKeyword(parameterValue);
    }
    static onShapeTopKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertiesDestinationBase.getThis(importer).onShapeTopKeyword(parameterValue);
    }
    static onShapeRightKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertiesDestinationBase.getThis(importer).onShapeRightKeyword(parameterValue);
    }
    static onShapeBottomKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertiesDestinationBase.getThis(importer).onShapeBottomKeyword(parameterValue);
    }
    static onShapeZOrderKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter)
            ShapePropertiesDestinationBase.getThis(importer).shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeZOrder, Math.max(0, parameterValue));
    }
    static setDrawingObjectVerticalPositionType(shapePropertiesInfo, drawingObjectVerticalPositionType) {
        shapePropertiesInfo.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DXInternalLegacyVerticalPositionAlignment, drawingObjectVerticalPositionType);
    }
    static setDrawingObjectHorizontalPositionType(shapePropertiesInfo, drawingObjectHorizontalPositionType) {
        shapePropertiesInfo.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DXInternalLegacyHorizontalPositionAlignment, drawingObjectHorizontalPositionType);
    }
    processControlCharCore(_ch) { }
    processCharCore(_ch) { }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        const translator = this.keywordHT[keyword];
        if (translator !== undefined) {
            translator(this.importer, parameterValue, hasParameter);
            return true;
        }
        return false;
    }
    hasColorProperty(name) {
        return this.shapeProperties.getPropertyOrNull(name) != null;
    }
    getColorPropertyValue(name) {
        const r = this.shapeProperties.getNullableColorProperty(name);
        return r != null ? r : dx_color/* DXColor */.F.empty;
    }
    onShapeLeftKeyword(parameterValue) {
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLeft, parameterValue);
        this.markAsShape();
    }
    onShapeTopKeyword(parameterValue) {
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeTop, parameterValue);
        this.markAsShape();
    }
    onShapeRightKeyword(parameterValue) {
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeRight, parameterValue);
        this.markAsShape();
    }
    onShapeBottomKeyword(parameterValue) {
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeBottom, parameterValue);
        this.markAsShape();
    }
    markAsShape() {
        this.shapeProperties.addProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DXInternalIsShape, ShapePropertiesDestinationBase.trueIntValue);
    }
}
ShapePropertiesDestinationBase.distanceFromText = 114305;
ShapePropertiesDestinationBase.trueIntValue = 1;

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-instance-destination.ts


class ShapeInstanceDestination extends ShapePropertiesDestinationBase {
    get destinationType() { return DestinationType.ShapeInstanceDestination; }
    createClone() {
        return new ShapeInstanceDestination(this.importer, this.shapeProperties);
    }
    nestedGroupFinished(_nestedDestination) {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/page-background-destination.ts



class PageBackgroundDestination extends DestinationBase {
    get destinationType() { return DestinationType.PageBackgroundDestination; }
    get controlCharHT() { return null; }
    createClone() {
        return new PageBackgroundDestination(this.importer);
    }
    beforeNestedGroupFinishedCore(nestedDestination) {
        super.beforeNestedGroupFinishedCore(nestedDestination);
        if (this.importer.destination instanceof ShapeInstanceDestination)
            if (this.importer.destination.hasColorProperty("fillColor"))
                this.importer.documentModel.pageBackColor = this.importer.destination.getColorPropertyValue("fillColor");
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/properties/default-character-properties-destination.ts




class DefaultCharacterPropertiesDestination extends DestinationSubDocument {
    get destinationType() { return DestinationType.DefaultCharacterPropertiesDestination; }
    get controlCharHT() { return null; }
    constructor(importer) {
        super(importer, importer.subDocument);
        this.importer.importers.character.characterFormatting.coreProperties.
            setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.size, 10);
    }
    get canAppendText() {
        return false;
    }
    beforePopRtfState() {
        this.documentModel.defaultCharacterProperties = this.importer.importers.character.characterFormatting.coreProperties.clone();
        this.importer.importers.character.characterFormatting.coreProperties.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseDoubleFontSize, false);
    }
    createClone() {
        return new DefaultCharacterPropertiesDestination(this.importer);
    }
    processCharCore(_ch) { }
    finalizeSubDocumentCreation() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/properties/default-paragraph-properties-destination.ts


class DefaultParagraphPropertiesDestination extends DestinationSubDocument {
    get destinationType() { return DestinationType.DefaultParagraphPropertiesDestination; }
    get controlCharHT() { return null; }
    constructor(importer) {
        super(importer, importer.subDocument);
    }
    get canAppendText() { return false; }
    beforePopRtfState() {
    }
    createClone() {
        return new DefaultParagraphPropertiesDestination(this.importer);
    }
    processCharCore(_ch) {
    }
    finalizeSubDocumentCreation() {
    }
}

// EXTERNAL MODULE: ./src/common/model/properties-merger/character-properties-merger.ts + 1 modules
var character_properties_merger = __webpack_require__(9250);
;// CONCATENATED MODULE: ./src/common/formats/utils/document-formats-helper.ts
class DocumentFormatsHelper {
    static shouldInsertNumbering(_model) {
        return true;
    }
    static shouldInsertMultiLevelNumbering(_model) {
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/model/properties-merger/paragraph-properties-merger.ts + 1 modules
var paragraph_properties_merger = __webpack_require__(8885);
// EXTERNAL MODULE: ./src/common/model/runs/simple-runs.ts
var simple_runs = __webpack_require__(4330);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/importer-base.ts
class RtfBaseImporter {
    constructor(data) {
        this.data = data;
    }
    get documentModel() { return this.data.documentModel; }
    get subDocument() { return this.data.subDocument; }
    applyState(states, state) {
        states.pop();
        states.push(state);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/paragraph-importer.ts











class RtfParagraphImporterState {
    constructor(paragraphFormatting) {
        this.paragraphFormatting = paragraphFormatting;
    }
}
class RtfParagraphImporter extends RtfBaseImporter {
    get paragraph() { return this.data.positionStates.last.paragraph; }
    set paragraph(value) { this.data.positionStates.last.paragraph = value; }
    get paragraphFormatting() { return this.states.last.paragraphFormatting; }
    set paragraphFormatting(value) { this.states.last.paragraphFormatting = value; }
    constructor(data) {
        super(data);
        this.states = new stack/* Stack */.K();
        this.states.push(new RtfParagraphImporterState(new RtfParagraphProperties()));
    }
    static getOnlyOwnCharacterProperties(source, parentStyle) {
        const parentParagraphPropertiesMerger = new paragraph_properties_merger/* ParagraphPropertiesMerger */.G();
        parentParagraphPropertiesMerger.mergeParagraphStyle(parentStyle);
        const paragraphMerger = new paragraph_properties_merger/* ParagraphPropertiesMerger */.G();
        paragraphMerger.mergeOnlyOwnCharacterProperties(source, parentParagraphPropertiesMerger.innerProperties);
        return paragraphMerger.innerProperties;
    }
    createEmptyParagraph() {
        return new paragraph/* Paragraph */.nv(this.subDocument, null, 0, null, null);
    }
    fixLastParagraph() {
        if (this.subDocument.isMain())
            this.data.importers.section.applySectionFormatting(true);
    }
    insertParagraph(asSectionRun = false) {
        const characterImporter = this.data.importers.character;
        const par = this.paragraph;
        const prevPar = utils_list.ListUtils.last(this.subDocument.paragraphs);
        const lastParPos = prevPar ? prevPar.getEndPosition() : 0;
        const parPos = this.subDocument.positionManager.registerPosition(lastParPos);
        const parLen = characterImporter.logPosition - lastParPos + 1;
        this.data.importers.style.paragraph.ensureStyleExist();
        par.subDocument = this.subDocument;
        par.startLogPosition = parPos;
        par.length = parLen;
        this.applyParagraphFormatting(par, asSectionRun);
        characterImporter.addRun(new (asSectionRun ? simple_runs/* SectionRun */.ME : simple_runs/* ParagraphRun */.uu)(characterImporter.logPosition, par, characterImporter.getPropsBundle()), (asSectionRun ? rich_utils/* RichUtils */.i.specialCharacters.SectionMark : rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark));
        this.subDocument.paragraphs.push(par);
        this.paragraph = this.createEmptyParagraph();
        return par;
    }
    ensureLastParagraph() {
        const lastRun = utils_list.ListUtils.last(utils_list.ListUtils.last(this.subDocument.chunks).textRuns);
        if (!lastRun || !lastRun.isParagraphOrSectionRun())
            this.insertParagraph();
    }
    applyParagraphFormatting(paragraph, sectionBreak) {
        const paragraphFormatting = this.paragraphFormatting;
        this.applyParagraphFormattingCore(paragraph, paragraphFormatting);
        if (DocumentFormatsHelper.shouldInsertNumbering(this.documentModel)) {
            const numberingListIndex = paragraphFormatting.paragraphListInfo.numberingListIndex;
            if (numberingListIndex >= 0 || numberingListIndex == numbering_list_index_constants/* NumberingListIndexConstants */.R.noNumberingList) {
                if (!(sectionBreak && paragraph.isEmpty)) {
                    paragraphFormatting.paragraphListInfo.numberingListIndex = Math.max(numberingListIndex, numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue);
                    this.data.importers.numbering.addNumberingListToParagraph(paragraph, paragraphFormatting.paragraphListInfo);
                }
            }
            else if (!this.data.importers.numbering.currentOldListSkipNumbering) {
                this.data.importers.numbering.currentOldMultiLevelListIndex = numbering_list_index_constants/* NumberingListIndexConstants */.R.listIndexNotSetted;
                this.data.importers.numbering.currentOldSimpleListIndex = numbering_list_index_constants/* NumberingListIndexConstants */.R.listIndexNotSetted;
            }
        }
        paragraph.tabs = paragraphFormatting.tabs;
    }
    applyParagraphFormattingCore(paragraph, paragraphFormatting) {
        paragraph.paragraphStyle = this.data.importers.style.paragraph.style;
        paragraph.maskedParagraphProperties = RtfParagraphImporter.getOnlyOwnCharacterProperties(paragraphFormatting.getCoreProperties(), paragraph.paragraphStyle);
    }
    pushState() {
        this.states.push(new RtfParagraphImporterState(this.paragraphFormatting.clone()));
    }
    popState() {
        if (this.states.count > 1)
            this.states.pop();
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
        const textRuns = this.subDocument.getLastChunk().textRuns;
        const shouldInsertParagraph = textRuns.length ? utils_list.ListUtils.last(textRuns).getType() != run_type/* RunType */.m.ParagraphRun : true;
        if (shouldInsertParagraph)
            this.insertParagraph();
        this.fixLastParagraph();
    }
}

// EXTERNAL MODULE: ./src/common/model/character/character-style.ts
var character_style = __webpack_require__(9915);
// EXTERNAL MODULE: ./src/common/model/runs/text-run.ts
var text_run = __webpack_require__(3264);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/character/character-properties.ts





class RtfCharacterProperties {
    constructor() {
        this.coreProperties = new character_properties/* MaskedCharacterProperties */.X();
        this.parentStyleIndex = -1;
        this.fontType = RtfFontType.Undefined;
        this.rtfFormattingInfo = new RtfFormattingInfo();
    }
    setFont(rtfFontInfo, fontInfo) {
        const fontName = rtfFontInfo.name;
        this.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo, fontInfo);
        if (this.fontType == RtfFontType.Undefined) {
            this.resetUseAssociatedProperties();
        }
        else {
            if (this.fontType == RtfFontType.DoubleByteCharactersFont)
                this.doubleByteCharactersFontName = fontName;
            else if (this.fontType == RtfFontType.HighAnsiCharactersFont)
                this.highAnsiCharactersFontName = fontName;
            else if (this.fontType == RtfFontType.LowAnsiCharactersFont)
                this.lowAnsiCharactersFontName = fontName;
            this.recalcUseAssociatedProperties();
            this.fontType = RtfFontType.Undefined;
        }
    }
    resetUseAssociatedProperties() {
        this.highAnsiCharactersFontName = '';
        this.lowAnsiCharactersFontName = '';
        this.doubleByteCharactersFontName = '';
        this.useHighAnsiCharactersFontName = false;
        this.useLowAnsiCharactersFontName = false;
        this.useDoubleByteCharactersFontName = false;
    }
    recalcUseAssociatedProperties() {
        this.useHighAnsiCharactersFontName = !string.StringUtils.isNullOrEmpty(this.highAnsiCharactersFontName);
        this.useLowAnsiCharactersFontName = !string.StringUtils.isNullOrEmpty(this.lowAnsiCharactersFontName);
        this.useDoubleByteCharactersFontName = !string.StringUtils.isNullOrEmpty(this.doubleByteCharactersFontName);
    }
    clone() {
        const obj = new RtfCharacterProperties();
        obj.copyFrom(this);
        return obj;
    }
    copyFrom(obj) {
        this.coreProperties = obj.coreProperties.clone();
        this.parentStyleIndex = obj.parentStyleIndex;
        this.fontType = obj.fontType;
        this.doubleByteCharactersFontName = obj.doubleByteCharactersFontName;
        this.lowAnsiCharactersFontName = obj.lowAnsiCharactersFontName;
        this.highAnsiCharactersFontName = obj.highAnsiCharactersFontName;
        this.useDoubleByteCharactersFontName = obj.useDoubleByteCharactersFontName;
        this.useLowAnsiCharactersFontName = obj.useLowAnsiCharactersFontName;
        this.useHighAnsiCharactersFontName = obj.useHighAnsiCharactersFontName;
        this.rtfFormattingInfo = obj.rtfFormattingInfo.clone();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/character-importer.ts










class RtfCharacterImporterState {
    constructor(characterFormatting) {
        this.characterFormatting = characterFormatting;
    }
}
class RtfCharacterImporter extends RtfBaseImporter {
    get characterFormatting() { return this.states.last.characterFormatting; }
    constructor(data) {
        super(data);
        this.states = new stack/* Stack */.K();
        const defaultCharacterProperties = new RtfCharacterProperties();
        defaultCharacterProperties.coreProperties = this.data.documentModel.defaultCharacterProperties;
        this.states.push(new RtfCharacterImporterState(defaultCharacterProperties));
        this.logPosition = 0;
    }
    static getOnlyOwnCharacterProperties(source, parentCharacterStyle) {
        const parentPropertiesMerger = new character_properties_merger/* CharacterPropertiesMerger */.I();
        parentPropertiesMerger.mergeCharacterStyle(parentCharacterStyle);
        const merger = new character_properties_merger/* CharacterPropertiesMerger */.I();
        merger.innerProperties.fontInfo = source.fontInfo;
        merger.mergeOnlyOwnCharacterProperties(source, parentPropertiesMerger.innerProperties);
        return merger.innerProperties;
    }
    getPropsBundle() {
        return new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(RtfCharacterImporter.getOnlyOwnCharacterProperties(this.characterFormatting.coreProperties, this.data.importers.style.character.style), this.data.importers.style.character.style);
    }
    insertText(text) {
        this.addRun(new text_run/* TextRun */.h(this.logPosition, text.length, this.data.importers.paragraph.paragraph, this.getPropsBundle()), text);
    }
    setFontNameAndInsertText(text, charType) {
        UnicodeCharHelper.setUnicodeFontNameByCharType(this.data.documentModel.cache.fontInfoCache, charType, this.characterFormatting);
        this.insertText(text);
    }
    getLastRunProperties() {
        const textRun = utils_list.ListUtils.last(utils_list.ListUtils.last(this.subDocument.chunks).textRuns);
        if (textRun)
            return textRun.getCharPropsBundle(this.documentModel);
        return this.getPropsBundle();
    }
    addSimpleRun(runConstr, text, useLastProperties) {
        const properties = useLastProperties ? this.getLastRunProperties() : this.getPropsBundle();
        const run = new runConstr(this.logPosition, this.data.importers.paragraph.paragraph, properties);
        return this.addRun(run, text);
    }
    addRun(run, text) {
        const chunk = utils_list.ListUtils.last(this.subDocument.chunks);
        chunk.textRuns.push(run);
        chunk.textBuffer += text;
        this.logPosition += run.getLength();
        return run;
    }
    insertSpace() {
        if (this.data.importers.character.characterFormatting.rtfFormattingInfo.deleted)
            return;
        this.insertText(" ");
    }
    splitByCharTypeAndInsertText(text) {
        if (!text)
            return;
        const oldFontInfo = this.characterFormatting.coreProperties.fontInfo;
        let currentText = text.charAt(0);
        let lastCharType = UnicodeCharHelper.calculateCharType(currentText);
        for (let i = 1; i < text.length; i++) {
            const ch = text.charAt(i);
            const charType = UnicodeCharHelper.calculateCharType(ch);
            if (lastCharType != charType) {
                this.setFontNameAndInsertText(currentText, lastCharType);
                currentText = '';
            }
            currentText += ch;
            lastCharType = charType;
        }
        this.setFontNameAndInsertText(currentText, lastCharType);
        this.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo, oldFontInfo);
    }
    appendChar(ch) {
        const oldFontInfo = this.characterFormatting.coreProperties.fontInfo;
        UnicodeCharHelper.setUnicodeFontName(this.data.documentModel.cache.fontInfoCache, ch, this.characterFormatting);
        this.insertText(ch);
        this.characterFormatting.coreProperties.setValue(character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo, oldFontInfo);
    }
    onPlainKeyword() {
        this.applyDefaultCharacterProperties();
    }
    applyDefaultCharacterProperties() {
        const defaultFormatting = this.documentModel.defaultCharacterProperties;
        const currentPositionFormatting = this.characterFormatting.coreProperties;
        currentPositionFormatting.fontInfo = this.data.importers.font.fonts
            .getRtfFontInfoById(this.data.importers.font.defaultFontNumber).getCoreObjectByName(this.documentModel);
        this.data.importers.character.characterFormatting.resetUseAssociatedProperties();
        currentPositionFormatting.fontSize = 12;
        currentPositionFormatting.fontBold = defaultFormatting.fontBold;
        currentPositionFormatting.fontItalic = defaultFormatting.fontItalic;
        currentPositionFormatting.fontStrikeoutType = defaultFormatting.fontStrikeoutType;
        currentPositionFormatting.fontUnderlineType = defaultFormatting.fontUnderlineType;
        currentPositionFormatting.allCaps = defaultFormatting.allCaps;
        currentPositionFormatting.smallCaps = defaultFormatting.smallCaps;
        currentPositionFormatting.hidden = defaultFormatting.hidden;
        currentPositionFormatting.underlineWordsOnly = defaultFormatting.underlineWordsOnly;
        currentPositionFormatting.strikeoutWordsOnly = defaultFormatting.strikeoutWordsOnly;
        currentPositionFormatting.highlightColor = defaultFormatting.highlightColor;
        currentPositionFormatting.underlineColor = defaultFormatting.underlineColor;
        currentPositionFormatting.strikeoutColor = defaultFormatting.strikeoutColor;
        currentPositionFormatting.shadingInfo = shading_info/* ShadingInfo */.g.auto;
        currentPositionFormatting.shadingInfo = defaultFormatting.shadingInfo;
        currentPositionFormatting.script = defaultFormatting.script;
        currentPositionFormatting.textColor = defaultFormatting.textColor;
        this.data.setCodePage(this.data.documentProperties.defaultCodePage);
    }
    pushState() {
        this.states.push(new RtfCharacterImporterState(this.characterFormatting.clone()));
    }
    popState() {
        if (this.states.count > 1)
            this.states.pop();
    }
    startImportSubDocument() {
        this.logPosition = this.subDocument.getLastChunk().getEndPosition();
    }
    finalizeSubDocument() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/styles/character-style-destination.ts





class CharacterStyleDestination extends DestinationSubDocument {
    get destinationType() { return DestinationType.CharacterStyleDestination; }
    get controlCharHT() { return null; }
    static onParentStyleIndex(importer, parameterValue, _hasParameter) {
        importer.importers.style.character.rtfParentStyleIndex = parameterValue;
    }
    static onStyleLinkKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.styleLink = parameterValue;
    }
    static onStyleQFormatKeyword(importer, parameterValue, _hasParameter) {
        importer.destination.qFormat = true;
        importer.importers.style.character.rtfParentStyleIndex = parameterValue;
    }
    constructor(importer, styleIndex) {
        super(importer, importer.subDocument);
        importer.importers.style.character.rtfStyleIndex = styleIndex;
        this.styleName = '';
    }
    get canAppendText() {
        return false;
    }
    beforePopRtfState() {
        const name = StyleSheetDestination.getPrimaryStyleName(this.styleName);
        if (!this.importer.importers.style.character.mapRtfIndexToModelIndex[this.importer.importers.style.character.rtfStyleIndex]) {
            const style = this.importer.importers.style.character.getOrCreateStyleByName(name);
            style.primary = this.qFormat;
            const rtfLinkStyleIndex = this.importer.importers.paragraph.paragraphFormatting.styleLink;
            if (rtfLinkStyleIndex >= 0) {
                if (this.importer.importers.style.linkParagraphStyleIndexToCharacterStyleIndex[rtfLinkStyleIndex] != undefined)
                    this.importer.importers.style.linkParagraphStyleIndexToCharacterStyleIndex[rtfLinkStyleIndex] = this.importer.importers.style.character.rtfStyleIndex;
            }
            if (name != character_style/* CharacterStyle */.H.defaultParagraphCharacterStyleName) {
                style.maskedCharacterProperties = RtfCharacterImporter.getOnlyOwnCharacterProperties(this.importer.importers.character.characterFormatting.coreProperties, style.parent);
            }
        }
    }
    createClone() {
        return new CharacterStyleDestination(this.importer, this.importer.importers.style.character.rtfStyleIndex);
    }
    processCharCore(ch) {
        if (ch != ';')
            this.styleName += ch;
    }
    finalizePieceTableCreation() {
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/styles/table-style.ts
var table_style = __webpack_require__(2685);
// EXTERNAL MODULE: ./src/common/formats/rtf/utils/mergers/rtf-table-cell-properties-merger.ts
var rtf_table_cell_properties_merger = __webpack_require__(5283);
// EXTERNAL MODULE: ./src/common/formats/rtf/utils/mergers/rtf-table-properties-merger.ts
var rtf_table_properties_merger = __webpack_require__(861);
// EXTERNAL MODULE: ./src/common/formats/rtf/utils/mergers/rtf-table-row-properties-merger.ts
var rtf_table_row_properties_merger = __webpack_require__(9009);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/styles/table-style-destination.ts










class TableStyleDestination extends DestinationSubDocument {
    get destinationType() { return DestinationType.TableStyleDestination; }
    get controlCharHT() { return null; }
    static onStyleQFormatKeyword(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).qFormat = true;
    }
    static onParentStyleIndex(importer, parameterValue, _hasParameter) {
        importer.importers.style.table.rtfParentStyleIndex = parameterValue;
    }
    static onConditionalStyleFirstRow(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.FirstRow;
    }
    static onConditionalStyleLastRow(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.LastRow;
    }
    static onConditionalStyleFirstColumn(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.FirstColumn;
    }
    static onConditionalStyleLastColumn(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.LastColumn;
    }
    static onConditionalStyleOddRowBanding(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.OddRowBanding;
    }
    static onConditionalStyleEvenRowBanding(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.EvenRowBanding;
    }
    static onConditionalStyleOddColumnBanding(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.OddColumnBanding;
    }
    static onConditionalStyleEvenColumnBanding(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.EvenColumnBanding;
    }
    static onConditionalStyleTopLeftCell(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.TopLeftCell;
    }
    static onConditionalStyleTopRightCell(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.TopRightCell;
    }
    static onConditionalStyleBottomLeftCell(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.BottomLeftCell;
    }
    static onConditionalStyleBottomRightCell(importer, _parameterValue, _hasParameter) {
        TableStyleDestination.getThis(importer).conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.BottomRightCell;
    }
    static getThis(rtfImporter) {
        return rtfImporter.destination;
    }
    get canAppendText() {
        return false;
    }
    get rtfStyleIndex() { return this.importer.importers.style.table.rtfStyleIndex; }
    set rtfStyleIndex(value) { this.importer.importers.style.table.rtfStyleIndex = value; }
    get rtfParentStyleIndex() { return this.importer.importers.style.table.rtfParentStyleIndex; }
    constructor(importer, styleIndex) {
        super(importer, importer.subDocument);
        this.conditionalTableStyleFormattingType = table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable;
        this.styleName = '';
        this.rtfStyleIndex = styleIndex;
        this.importer.importers.character.characterFormatting.coreProperties.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseAll, false);
    }
    beforePopRtfState() {
        const name = this.styleName.trim();
        let style = null;
        const isConditionalStyle = this.conditionalTableStyleFormattingType != table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable;
        let realConditionalStyle;
        if (isConditionalStyle) {
            style = this.addConditionalStyle();
            realConditionalStyle = style;
        }
        else {
            this.importer.importers.character.characterFormatting.coreProperties.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseAll, true);
            const styleModelIndex = this.importer.importers.style.table.mapRtfIndexToModelIndex[this.rtfStyleIndex];
            if (styleModelIndex == undefined)
                style = this.importer.importers.style.table.getOrCreateStyleByName(name);
            else
                style = this.documentModel.tableStyles[styleModelIndex];
            realConditionalStyle = style.baseConditionalStyle;
        }
        if (style == null)
            return;
        const tableStyle = style;
        const conditionalStyle = style;
        if (tableStyle != null)
            tableStyle.primary = this.qFormat;
        if (name != table_style/* TableStyle */.k.DEFAULT_STYLENAME) {
            var parentTableStyle;
            if (!isConditionalStyle) {
                parentTableStyle = this.importer.importers.style.table.parentStyle;
            }
            else {
                parentTableStyle = style.parent;
                if (parentTableStyle == null)
                    parentTableStyle = this.importer.documentModel.tableStyles[0];
            }
            let parentParagraphProperties;
            if (isConditionalStyle) {
                conditionalStyle.maskedCharacterProperties.copyFrom(this.importer.importers.character.characterFormatting.coreProperties);
                parentParagraphProperties = conditionalStyle.maskedParagraphProperties;
            }
            else {
                const characterPropertiesMerger = new character_properties_merger/* CharacterPropertiesMerger */.I();
                characterPropertiesMerger.mergeCharacterProperties(tableStyle.baseConditionalStyle.maskedCharacterProperties);
                characterPropertiesMerger.mergeMergedCharacterProperties(parentTableStyle.baseConditionalStyle.maskedCharacterProperties);
                tableStyle.baseConditionalStyle.maskedCharacterProperties = characterPropertiesMerger.innerProperties;
                const parentParagraphPropertiesMerger = new paragraph_properties_merger/* ParagraphPropertiesMerger */.G();
                parentParagraphPropertiesMerger.mergeMaskedParagraphProperties(tableStyle.baseConditionalStyle.maskedParagraphProperties);
                parentParagraphPropertiesMerger.mergeMaskedParagraphProperties(parentTableStyle.baseConditionalStyle.maskedParagraphProperties);
                parentParagraphProperties = parentParagraphPropertiesMerger.innerProperties;
            }
            const formattingInfo = this.importer.importers.paragraph.paragraphFormatting;
            const paragraphPropertiesMerger = new paragraph_properties_merger/* ParagraphPropertiesMerger */.G();
            paragraphPropertiesMerger.mergeMaskedParagraphProperties(formattingInfo.getCoreProperties());
            paragraphPropertiesMerger.mergeMaskedParagraphProperties(parentParagraphProperties);
            realConditionalStyle.maskedParagraphProperties = paragraphPropertiesMerger.innerProperties;
            realConditionalStyle.tableProperties = this.importer.importers.table.tableReader.tableProperties.coreProperties;
            realConditionalStyle.tableProperties = new rtf_table_properties_merger/* RtfTablePropertiesMerger */._(this.importer.documentModel)
                .getStyleMergedProperties(realConditionalStyle, tableStyle, this.conditionalTableStyleFormattingType);
            realConditionalStyle.tableRowProperties = this.importer.importers.table.tableReader.rowProperties.coreProperties;
            realConditionalStyle.tableRowProperties = new rtf_table_row_properties_merger/* RtfTableRowPropertiesMerger */.b(this.importer.documentModel)
                .getStyleMergedProperties(realConditionalStyle, tableStyle, this.conditionalTableStyleFormattingType);
            realConditionalStyle.tableCellProperties = this.importer.importers.table.tableReader.cellProperties.coreProperties;
            realConditionalStyle.tableCellProperties = new rtf_table_cell_properties_merger/* RtfTableCellPropertiesMerger */.u(this.importer.documentModel)
                .getStyleMergedProperties(realConditionalStyle, tableStyle, this.conditionalTableStyleFormattingType);
        }
    }
    addConditionalStyle() {
        if (this.importer.importers.style.table.mapRtfIndexToModelIndex[this.rtfStyleIndex] == undefined)
            return null;
        const documentModel = this.importer.documentModel;
        const mainStyle = documentModel.tableStyles[this.importer.importers.style.table.getModelIndex(this.rtfStyleIndex)];
        const tableConditionalStyle = mainStyle.conditionalStyles[this.conditionalTableStyleFormattingType];
        return tableConditionalStyle;
    }
    createClone() {
        return new TableStyleDestination(this.importer, this.rtfStyleIndex);
    }
    processCharCore(ch) {
        if (ch != ';')
            this.styleName += ch;
    }
    finalizePieceTableCreation() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/styles/style-sheet-destination.ts









class StyleSheetDestination extends DestinationSubDocument {
    get destinationType() { return DestinationType.StyleSheetDestination; }
    get controlCharHT() { return null; }
    get canAppendText() { return false; }
    constructor(importer) {
        super(importer, importer.subDocument);
        this.styleName = "";
        importer.rtfDocumentModelType = RtfDocumentModelType.WithStyle;
    }
    static onStyleQFormatKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination.qFormat = true;
    }
    static onParagraphStyle(importer, parameterValue, _hasParameter) {
        importer.importers.style.paragraph.rtfStyleIndex = parameterValue;
    }
    static onParentStyleIndex(importer, parameterValue, _hasParameter) {
        importer.importers.style.paragraph.rtfParentStyleIndex = parameterValue;
    }
    static onStyleLinkKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.styleLink = parameterValue;
    }
    static onNextStyleIndex(importer, parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.nextStyle = parameterValue;
    }
    static onCharacterStyle(importer, parameterValue, _hasParameter) {
        importer.destination = new CharacterStyleDestination(importer, parameterValue);
    }
    static onTableStyle(importer, parameterValue, _hasParameter) {
        importer.destination = new TableStyleDestination(importer, parameterValue);
    }
    static onStyleListOverride(importer, parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.paragraphListInfo.numberingListIndex = parameterValue;
    }
    static onStyleListLevel(importer, parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.paragraphListInfo.listLevelIndex = parameterValue;
    }
    nestedGroupFinished(nestedDestination) {
        if (nestedDestination instanceof StyleSheetDestination) {
            const paragraphFormattingInfo = this.importer.importers.paragraph.paragraphFormatting;
            this.importer.importers.style.paragraph.ensureStyleExist();
            const style = this.importer.importers.style.paragraph
                .getOrCreateStyleByName(StyleSheetDestination.getPrimaryStyleName(nestedDestination.styleName));
            if (paragraphFormattingInfo.styleLink &&
                this.importer.importers.style.linkParagraphStyleIndexToCharacterStyleIndex[this.importer.importers.style.paragraph.rtfStyleIndex] === undefined)
                this.importer.importers.style.linkParagraphStyleIndexToCharacterStyleIndex[this.importer.importers.style.paragraph.rtfStyleIndex] = paragraphFormattingInfo.styleLink;
            if (paragraphFormattingInfo.nextStyle && paragraphFormattingInfo.nextStyle >= 0)
                this.importer.importers.style.nextParagraphStyleIndexTable[this.importer.importers.style.paragraph.rtfStyleIndex] = paragraphFormattingInfo.nextStyle;
            if (style.styleName != paragraph_style/* ParagraphStyle */.PO.normalStyleName) {
                const parentCharacterPropertiesMerger = new character_properties_merger/* CharacterPropertiesMerger */.I();
                parentCharacterPropertiesMerger.mergeParagraphStyle(style.parent);
                const characterMerger = new character_properties_merger/* CharacterPropertiesMerger */.I();
                characterMerger.mergeOnlyOwnCharacterProperties(this.importer.importers.character.characterFormatting.coreProperties, parentCharacterPropertiesMerger.innerProperties);
                style.maskedCharacterProperties = characterMerger.innerProperties;
                style.maskedParagraphProperties = RtfParagraphImporter.getOnlyOwnCharacterProperties(this.importer.importers.paragraph.paragraphFormatting.getCoreProperties(), style.parent);
            }
            if (paragraphFormattingInfo.paragraphListInfo.numberingListIndex >= 0) {
                const rtfIndex = this.importer.importers.style.paragraph.rtfStyleIndex;
                if (this.importer.importers.numbering.paragraphStyleListOverrideIndexMap[rtfIndex] === undefined)
                    this.importer.importers.numbering.paragraphStyleListOverrideIndexMap[rtfIndex] = paragraphFormattingInfo.paragraphListInfo;
            }
            style.primary = nestedDestination.qFormat;
            this.qFormat = false;
        }
    }
    static getPrimaryStyleName(styleName) {
        for (let name of styleName.split(','))
            if (!string.StringUtils.isNullOrEmpty(name))
                return string.StringUtils.trim(name);
        return "";
    }
    createClone() {
        const result = new StyleSheetDestination(this.importer);
        result.styleName = this.styleName;
        return result;
    }
    processCharCore(ch) {
        if (ch != ';')
            this.styleName += ch;
    }
    finalizeSubDocumentCreation() {
    }
    processSpecialHexCharCore(_ch) {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/sub-document/default-destination.ts
















class DefaultDestination extends DestinationSubDocument {
    get destinationType() { return DestinationType.DefaultDestination; }
    static onDeffKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.font.defaultFontNumber = parameterValue;
    }
    static onInfoKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new InfoDestination(importer);
    }
    static onUserPropKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new CustomPropertiesDestination(importer);
    }
    static onDefaultCharacterPropertiesKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new DefaultCharacterPropertiesDestination(importer);
    }
    static onDefaultParagraphPropertiesKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new DefaultParagraphPropertiesDestination(importer);
    }
    static onPageBackground(importer, _parameterValue, _hasParameter) {
        importer.destination = new PageBackgroundDestination(importer);
    }
    static onThemeData(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onColorsSchemeMapping(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onNoFeatureThrottle(importer, parameterValue, _hasParameter) {
        importer.importerOptions.enableNotCompatibleUIFunctionality = parameterValue == 1;
    }
    static onNoUICompat(importer, _parameterValue, _hasParameter) {
        importer.documentModel.compatibilitySettings.compatibilityMode = document_model/* CompatibilityMode */.VS.Word2007;
        importer.importerOptions.enableNotCompatibleUIFunctionality = true;
    }
    static onDefaultTabKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue <= 0)
            parameterValue = 720;
        importer.documentModel.defaultTabWidth = parameterValue;
    }
    static onMirrorMargins(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1;
        importer.documentModel.mirrorMargins = parameterValue != 0;
    }
    static onRemovePersonalInformation(_importer, _parameterValue, _hasParameter) {
    }
    static onEnforceDocumentProtection(_importer, _parameterValue, _hasParameter) {
    }
    static onFormProtection(importer, _parameterValue, _hasParameter) {
        const protectionProperties = importer.documentModel.documentProtectionProperties;
        protectionProperties.enforceProtection = true;
        protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.ReadOnly;
    }
    static onRevisionProtection(importer, _parameterValue, _hasParameter) {
        const protectionProperties = importer.documentModel.documentProtectionProperties;
        protectionProperties.enforceProtection = true;
        protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.TrackedChanges;
    }
    static onAnnotationProtection(importer, _parameterValue, _hasParameter) {
        const protectionProperties = importer.documentModel.documentProtectionProperties;
        protectionProperties.enforceProtection = true;
        protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.AllowComments;
    }
    static onReadOnlyProtection(importer, _parameterValue, _hasParameter) {
        const protectionProperties = importer.documentModel.documentProtectionProperties;
        if (!protectionProperties.enforceProtection)
            return;
        protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.ReadOnly;
    }
    static onDocumentProtectionLevel(importer, parameterValue, hasParameter) {
        const protectionProperties = importer.documentModel.documentProtectionProperties;
        if (!hasParameter || protectionProperties.protectionType != json_document_enums/* DocumentProtectionType */.vK.None)
            return;
        switch (parameterValue) {
            case 0:
                protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.TrackedChanges;
                break;
            case 1:
                protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.AllowComments;
                break;
            case 2:
            case 3:
                protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.ReadOnly;
                break;
            case 7:
                protectionProperties.protectionType = json_document_enums/* DocumentProtectionType */.vK.None;
                break;
        }
    }
    static onPageBreakKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.PageBreak);
    }
    static onColumnBreakKeyword(importer, _parameterValue, _hasParameter) {
        importer.parseCharWithoutDecoding(rich_utils/* RichUtils */.i.specialCharacters.ColumnBreak);
    }
    static onPaperWidthKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 12240;
        const value = parameterValue;
        importer.importers.section.defaultSectionProperties.coreProperties.pageWidth = value;
        importer.importers.section.currentProperties.coreProperties.pageWidth = value;
    }
    static onPaperHeightKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 15840;
        const value = parameterValue;
        importer.importers.section.defaultSectionProperties.coreProperties.pageHeight = value;
        importer.importers.section.currentProperties.coreProperties.pageHeight = value;
    }
    static onPaperSizeKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onLandscapeKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.defaultSectionProperties.coreProperties.landscape = true;
        importer.importers.section.currentProperties.coreProperties.landscape = true;
    }
    static onGutterKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onLeftMarginKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1800;
        const value = parameterValue;
        importer.importers.section.defaultSectionProperties.coreProperties.marginLeft = value;
        importer.importers.section.currentProperties.coreProperties.marginLeft = value;
    }
    static onRightMarginKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1800;
        const value = parameterValue;
        importer.importers.section.defaultSectionProperties.coreProperties.marginRight = value;
        importer.importers.section.currentProperties.coreProperties.marginRight = value;
    }
    static onTopMarginKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1440;
        const value = parameterValue;
        importer.importers.section.defaultSectionProperties.coreProperties.marginTop = value;
        importer.importers.section.currentProperties.coreProperties.marginTop = value;
    }
    static onBottomMarginKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1440;
        const value = parameterValue;
        importer.importers.section.defaultSectionProperties.coreProperties.marginBottom = value;
        importer.importers.section.currentProperties.coreProperties.marginBottom = value;
    }
    static onGutterAtRight(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingStart(_importer, _parameterValue, _hasParameter) {
    }
    static onPageFacing(importer, _parameterValue, _hasParameter) {
        importer.documentModel.differentOddAndEvenPages = true;
    }
    static onNoColumnBalance(_importer, _parameterValue, _hasParameter) {
    }
    static onDoNotAlignTableRowsIndependently(_importer, _parameterValue, _hasParameter) {
    }
    static onDoNotExpandShiftReturn(_importer, _parameterValue, _hasParameter) {
    }
    static onSplitPageBreakAndParagraphMark(_importer, _parameterValue, _hasParameter) {
    }
    static onAllowTablesToExtendIntoMargin(_importer, _parameterValue, _hasParameter) {
    }
    static onDisplayBackgroundShape(importer, parameterValue, _hasParameter) {
        importer.documentModel.displayBackgroundShape = parameterValue == 1 ? true : false;
    }
    static onPageNumberingDecimal(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingUpperRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingLowerRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingUpperLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingLowerLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingArabicAbjad(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingArabicAlpha(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingChosung(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingDecimalEnclosedCircle(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingDecimalFullWidth(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingGanada(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingHindiVowels(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingHindiConsonants(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingHindiNumbers(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingHindiDescriptive(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingThaiLetters(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingThaiNumbers(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingThaiDescriptive(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingVietnameseDescriptive(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingChapterHeaderStyle(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingChapterSeparatorHyphen(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingChapterSeparatorPeriod(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingChapterSeparatorColon(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingChapterSeparatorEmDash(_importer, _parameterValue, _hasParameter) {
    }
    static onPageNumberingChapterSeparatorEnDash(_importer, _parameterValue, _hasParameter) {
    }
    static onVerticalTextAlignmentBottom(_importer, _parameterValue, _hasParameter) {
    }
    static onVerticalTextAlignmentTop(_importer, _parameterValue, _hasParameter) {
    }
    static onVerticalTextAlignmentCenter(_importer, _parameterValue, _hasParameter) {
    }
    static onVerticalTextAlignmentJustify(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionPageNumberingStart(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1;
        importer.importers.section.currentProperties.pageNumbering.firstPageNumber = parameterValue;
        importer.importers.section.currentProperties.pageNumbering.continueNumbering = false;
    }
    static onSectionPageNumberingContinuous(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.restartPageNumbering = false;
    }
    static onSectionPageNumberingRestart(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.restartPageNumbering = true;
    }
    static onSectionTextFlow(_importer, _parameterValue, _hasParameter) {
    }
    static onLineNumberingStep(_importer, _parameterValue, _hasParameter) {
    }
    static onLineNumberingDistance(_importer, _parameterValue, _hasParameter) {
    }
    static onLineNumberingStartingLineNumber(_importer, _parameterValue, _hasParameter) {
    }
    static onLineNumberingRestart(_importer, _parameterValue, _hasParameter) {
    }
    static onLineNumberingRestartOnEachPage(_importer, _parameterValue, _hasParameter) {
    }
    static onLineNumberingContinuous(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionPaperWidth(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.pageWidth = parameterValue;
    }
    static onSectionPaperHeight(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.pageHeight = parameterValue;
    }
    static onSectionLandscape(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.landscape = true;
    }
    static onSectionLeftMargin(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.marginLeft = parameterValue;
    }
    static onSectionRightMargin(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.marginRight = parameterValue;
    }
    static onSectionTopMargin(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.marginTop = parameterValue;
    }
    static onSectionBottomMargin(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.marginBottom = parameterValue;
    }
    static onSectionGutter(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionHeaderOffset(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 720;
        importer.importers.section.currentProperties.coreProperties.headerOffset = parameterValue;
    }
    static onSectionFooterOffset(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 720;
        importer.importers.section.currentProperties.coreProperties.footerOffset = parameterValue;
    }
    static onSectionFirstPagePaperSource(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionOtherPagePaperSource(_importer, _parameterValue, _hasParameter) {
    }
    static onOnlyAllowEditingOfFormFields(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionColumnCount(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue < 1)
            parameterValue = 1;
        importer.importers.section.currentProperties.coreProperties.columnCount = parameterValue;
        importer.importers.section.currentProperties.coreProperties.equalWidthColumns = true;
    }
    static onSectionColumnSpace(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 720;
        importer.importers.section.currentProperties.coreProperties.space = parameterValue;
        importer.importers.section.currentProperties.coreProperties.equalWidthColumns = true;
    }
    static onSectionCurrentColumnIndex(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.currentColumnIndex = parameterValue - 1;
        importer.importers.section.currentProperties.coreProperties.equalWidthColumns = false;
    }
    static onSectionCurrentColumnSpace(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.setCurrentColumnSpace(parameterValue);
        importer.importers.section.currentProperties.coreProperties.equalWidthColumns = false;
    }
    static onSectionCurrentColumnWidth(importer, parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.setCurrentColumnWidth(parameterValue);
        importer.importers.section.currentProperties.coreProperties.equalWidthColumns = false;
    }
    static onSectionDrawVerticalSeparator(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionBreakNone(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.startType = enums/* SectionStartType */.tk.Continuous;
    }
    static onSectionBreakColumn(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.startType = enums/* SectionStartType */.tk.Column;
    }
    static onSectionBreakPage(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.startType = enums/* SectionStartType */.tk.NextPage;
    }
    static onSectionBreakEvenPage(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.startType = enums/* SectionStartType */.tk.EvenPage;
    }
    static onSectionBreakOddPage(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.startType = enums/* SectionStartType */.tk.OddPage;
    }
    static onSectionDefault(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.copyFrom(importer.importers.section.defaultSectionProperties);
    }
    static onNewSection(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertSection();
        importer.importers.table.tableReader.resetState();
    }
    static onHeaderKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(true, enums/* HeaderFooterType */.pi.Odd);
    }
    static onHeaderForLeftPagesKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(true, enums/* HeaderFooterType */.pi.Even);
    }
    static onHeaderForRightPagesKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(true, enums/* HeaderFooterType */.pi.Odd);
    }
    static onHeaderForFirstPageKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(true, enums/* HeaderFooterType */.pi.First);
    }
    static onFooterKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(false, enums/* HeaderFooterType */.pi.Odd);
    }
    static onFooterForLeftPagesKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(false, enums/* HeaderFooterType */.pi.Even);
    }
    static onFooterForRightPagesKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(false, enums/* HeaderFooterType */.pi.Odd);
    }
    static onFooterForFirstPageKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.section.insertHeaderFooter(false, enums/* HeaderFooterType */.pi.First);
    }
    static onSectionDifferentFirstPage(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.coreProperties.differentFirstPage = true;
    }
    static onListTableKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ListTableDestination(importer);
        importer.importers.character.characterFormatting.coreProperties.resetAllUse();
    }
    static onListOverrideTableKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ListOverrideTableDestination(importer);
        importer.importers.character.characterFormatting.coreProperties.resetAllUse();
    }
    static onLtrSectionKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onRtlSectionKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNotePlacementBelowText(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNotePlacementPageBottom(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingStart(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingRestartEachPage(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingRestartEachSection(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingRestartContinuous(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingDecimal(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingLowerCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingUpperCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingLowerCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingUpperCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingChicago(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingChosung(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingDecimalEnclosedCircle(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingDecimalFullWidth(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionFootNoteNumberingGanada(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingStart(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingRestartEachSection(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingRestartContinuous(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingDecimal(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingLowerCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingUpperCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingLowerCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingUpperCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingChicago(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingChosung(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingDecimalEnclosedCircle(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingDecimalFullWidth(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionEndNoteNumberingGanada(_importer, _parameterValue, _hasParameter) {
    }
    static onSectionLineNumberingCountBy(importer, parameterValue, hasParameter) {
        if (hasParameter)
            importer.importers.section.currentProperties.lineNumbering.countBy = Math.max(0, parameterValue);
    }
    static onSectionLineNumberingDistance(importer, parameterValue, hasParameter) {
        if (hasParameter && parameterValue >= 0)
            importer.importers.section.currentProperties.lineNumbering.distance = Math.max(0, parameterValue);
    }
    static onSectionLineNumberingStart(importer, parameterValue, hasParameter) {
        if (hasParameter)
            importer.importers.section.currentProperties.lineNumbering.start = Math.max(1, parameterValue);
    }
    static onSectionLineNumberingNewSection(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.lineNumbering.restart = enums/* LineNumberingRestartType */.Ne.NewSection;
    }
    static onSectionLineNumberingNewPage(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.lineNumbering.restart = enums/* LineNumberingRestartType */.Ne.NewPage;
    }
    static onSectionLineNumberingContinuous(importer, _parameterValue, _hasParameter) {
        importer.importers.section.currentProperties.lineNumbering.restart = enums/* LineNumberingRestartType */.Ne.Continuous;
    }
    static onFootNotePlacementEndOfSection(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNotePlacementEndOfDocument(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNotePlacementBelowText(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNotePlacementPageBottom(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingStart(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingRestartEachPage(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingRestartEachSection(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingRestartContinuous(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingDecimal(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingLowerCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingUpperCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingLowerCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingUpperCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingChicago(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingChosung(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingDecimalEnclosedCircle(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingDecimalFullWidth(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteNumberingGanada(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNotePlacementEndOfSection(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNotePlacementEndOfDocument(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNotePlacementBelowText(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNotePlacementPageBottom(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingStart(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingRestartEachSection(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingRestartContinuous(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingDecimal(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingLowerCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingUpperCaseLetter(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingLowerCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingUpperCaseRoman(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingChicago(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingChosung(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingDecimalEnclosedCircle(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingDecimalFullWidth(_importer, _parameterValue, _hasParameter) {
    }
    static onEndNoteNumberingGanada(_importer, _parameterValue, _hasParameter) {
    }
    static onFootNoteKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onCommentStartPositionKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onCommentEndPositionKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onCommentIdKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onCommentAuthorKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    static onCommentAnnotationKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new SkipDestination(importer);
    }
    beforeNestedGroupFinishedCore(_nestedDestination) {
    }
    nestedGroupFinished(nestedDestination) {
        super.nestedGroupFinished(nestedDestination);
        if (nestedDestination instanceof ListTableDestination)
            this.importer.documentProperties.listTableComplete = true;
        if (nestedDestination instanceof ListOverrideTableDestination)
            this.importer.documentProperties.listOverrideTableComplete = true;
        if (this.importer.documentProperties.listOverrideTableComplete && this.importer.documentProperties.listTableComplete) {
            const converter = new RtfListConverter(this.importer);
            converter.convert(this.importer.documentProperties.listTable, this.importer.documentProperties.listOverrideTable);
            this.importer.documentProperties.listTableComplete = false;
            this.importer.documentProperties.listOverrideTableComplete = false;
        }
        if (nestedDestination instanceof StyleSheetDestination)
            this.importer.importers.style.applyStyleLinks();
    }
    afterNestedGroupFinished(_nestedDestination) {
    }
    createClone() {
        return new DefaultDestination(this.importer, this.subDocument);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/field-sub-destination.ts


class FieldSubDestination extends DefaultDestination {
    get destinationType() { return DestinationType.FieldSubDestination; }
    constructor(importer) {
        super(importer, importer.subDocument);
        this.nestedGroupLevel = 1;
    }
    createClone() {
        const clone = this.createInstance();
        clone.nestedGroupLevel = this.nestedGroupLevel;
        return clone;
    }
    beforePopRtfState() {
        super.beforePopRtfState();
        this.nestedGroupLevel--;
        if (this.nestedGroupLevel == 0)
            this.onDestinationClose();
    }
    increaseGroupLevel() {
        super.increaseGroupLevel();
        this.nestedGroupLevel++;
    }
    onDestinationClose() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/code-field-destination.ts


class CodeFieldDestination extends FieldSubDestination {
    get destinationType() { return DestinationType.CodeFieldDestination; }
    get currentInfo() { return this.importer.importers.field.currentField; }
    createInstance() {
        return new CodeFieldDestination(this.importer);
    }
    processTextCore(text) {
        this.currentInfo.instruction += text;
        this.importer.importers.field.ensureStartMarkAdded();
        super.processTextCore(text);
    }
    processCharCore(ch) {
        this.currentInfo.instruction += ch;
        this.importer.importers.field.ensureStartMarkAdded();
        super.processCharCore(ch);
    }
    onDestinationClose() {
        const fieldType = this.getCurrentFieldType();
        this.currentInfo.isShapeField = fieldType == "shape";
        const fieldImporter = this.importer.importers.field;
        fieldImporter.ensureStartMarkAdded();
        fieldImporter.ensureSeparatorMarkAdded();
    }
    getCurrentFieldType() {
        const tokens = this.currentInfo.instruction.split(/\s+/);
        let result = tokens.filter(token => token !== '')[0];
        return result ? result.toLowerCase() : result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/result-field-destination.ts


class ResultFieldDestination extends FieldSubDestination {
    get destinationType() { return DestinationType.ResultFieldDestination; }
    constructor(importer) {
        super(importer);
    }
    createInstance() {
        return new ResultFieldDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/field-destination.ts




class FieldDestination extends FieldSubDestination {
    get destinationType() { return DestinationType.FieldDestination; }
    get controlCharHT() { return null; }
    static onFieldInstructionStartKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        if (destination.nestedGroupLevel <= 1)
            importer.throwInvalidRtfFile();
        importer.destination = new CodeFieldDestination(importer);
    }
    static onFieldResultStartKeyword(importer, _parameterValue, _hasParameter) {
        const destination = importer.destination;
        if (destination.nestedGroupLevel <= 1)
            importer.throwInvalidRtfFile();
        importer.destination = FieldDestination.createFieldResultDestination(importer);
    }
    static createFieldResultDestination(importer) {
        return new ResultFieldDestination(importer);
    }
    static onFieldLockKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.field.fields.last.locked = true;
    }
    static onFieldCodeViewKeyword(importer, _parameterValue, _hasParameter) {
        if (!importer.importers.field.updateFieldsOnPaste)
            importer.importers.field.fields.last.isCodeView = true;
    }
    static onFieldEditKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onFieldDirtyKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onFieldPrivateKeyword(_importer, _parameterValue, _hasParameter) {
    }
    startNewField() {
    }
    onDestinationClose() {
        this.importer.importers.field.endField();
    }
    createInstance() {
        return new FieldDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/enums.ts
var TCFieldState;
(function (TCFieldState) {
    TCFieldState[TCFieldState["None"] = 0] = "None";
    TCFieldState[TCFieldState["QuotesOpened"] = 2] = "QuotesOpened";
    TCFieldState[TCFieldState["QuotesClosed"] = 4] = "QuotesClosed";
})(TCFieldState || (TCFieldState = {}));

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/table-content-field-destination.ts



class TableContentFieldDestination extends FieldSubDestination {
    get destinationType() { return DestinationType.TableContentFieldDestination; }
    constructor(importer, createField) {
        super(importer);
        if (!createField)
            return;
        this.insertTextCore(TableContentFieldDestination.tcFieldName);
    }
    tableOfContentsEntryLevelNumberKeyword(parameterValue, hasParameter) {
        this.closeQuotes();
        super.tableOfContentsEntryLevelNumberKeyword(parameterValue, hasParameter);
        this.insertSpace();
    }
    tableOfContentsEntryTypeTableKeyword(parameterValue, hasParameter) {
        this.closeQuotes();
        super.tableOfContentsEntryTypeTableKeyword(parameterValue, hasParameter);
        this.insertSpace();
    }
    processTextCore(text) {
        this.openQuotes();
        super.processTextCore(text);
    }
    createInstance() {
        return this.importer.createTableContentFieldDestination(false);
    }
    onDestinationClose() {
        this.openQuotes();
        this.closeQuotes();
        const info = this.importer.importers.field.fields.pop();
        info.insertInstructionBeforeFieldCode = !this.importer.importers.character.characterFormatting.coreProperties.hidden;
        this.importer.importers.field.TCFieldState = TCFieldState.None;
    }
    openQuotes() {
        if (this.importer.importers.field.TCFieldState == TCFieldState.None) {
            this.importer.importers.field.TCFieldState = TCFieldState.QuotesOpened;
            this.insertTextCore(TableContentFieldDestination.quote);
        }
    }
    closeQuotes() {
        if (this.importer.importers.field.TCFieldState == TCFieldState.QuotesOpened) {
            this.insertTextCore(TableContentFieldDestination.quote);
            this.importer.importers.field.TCFieldState = TCFieldState.QuotesClosed;
        }
    }
    insertSpace() {
        if (this.importer.importers.field.TCFieldState == TCFieldState.None)
            this.insertTextCore(TableContentFieldDestination.space);
    }
}
TableContentFieldDestination.tcFieldName = "tc ";
TableContentFieldDestination.quote = "\"";
TableContentFieldDestination.space = " ";

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-destination-base.ts



class ShapeDestinationBase extends ShapePropertiesDestinationBase {
    get destinationType() { return DestinationType.ShapeDestinationBase; }
    get controlCharHT() { return null; }
    constructor(importer, shapeProperties) {
        super(importer, shapeProperties);
    }
    static getThis(rtfImporter) {
        return rtfImporter.destination;
    }
    static onShapeInstanceKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new ShapeInstanceDestination(importer, ShapeDestinationBase.getThis(importer).shapeProperties);
    }
    processControlCharCore(_ch) { }
    processCharCore(_ch) { }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/shape/shape-destination.ts




class ShapeDestination extends ShapeDestinationBase {
    get destinationType() { return DestinationType.ShapeDestination; }
    constructor(importer, shapeProperties = new RtfShapePropertiesInfo()) {
        super(importer, shapeProperties);
    }
    createClone() {
        return new ShapeDestination(this.importer, this.shapeProperties);
    }
    beforePopRtfState() {
        super.beforePopRtfState();
        const imageInfo = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PictureBinaryData);
        if (imageInfo && imageInfo.base64) {
            this.importer.importers.image.insertImageShape(imageInfo, this.shapeProperties, false);
        }
        else {
            this.importer.importers.shape.insertShape(this.importer, this.shapeProperties);
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/bookmarks.ts
var bookmarks = __webpack_require__(1823);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/string.js
var map_string = __webpack_require__(2866);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/bookmark/import-bookmark-info-core.ts
class ImportBookmarkInfoCore {
    constructor() {
        this.start = -1;
        this.end = -1;
    }
    validate(subDocument) {
        if (this.start < 0 || this.end < 0)
            return false;
        if (this.start > this.end) {
            const temp = this.start;
            this.start = this.end;
            this.end = temp;
        }
        const maxPosition = subDocument.getDocumentEndPosition() + 1;
        if (this.start > maxPosition)
            this.start = maxPosition;
        if (this.end > maxPosition)
            this.end = maxPosition;
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/bookmark/import-bookmark-info.ts



class ImportBookmarkInfo extends ImportBookmarkInfoCore {
    validate(subDocument) {
        if (!this.skipNameValidation && !this.validateBookmarkName(subDocument))
            return false;
        return super.validate(subDocument);
    }
    validateBookmarkName(subDocument) {
        return string.StringUtils.isNullOrEmpty(this.name) ?
            false :
            !utils_list.ListUtils.elementBy(subDocument.bookmarks, (bm) => bm.name == this.name);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/bookmark-importer.ts





class RtfBookmarkImporter extends RtfBaseImporter {
    get bookmarks() { return this.data.positionStates.last.bookmarks; }
    ;
    constructor(data) {
        super(data);
    }
    getBookmarkByName(bookmarkName) {
        let bookmark = this.bookmarks[bookmarkName];
        if (!bookmark) {
            bookmark = new ImportBookmarkInfo();
            bookmark.name = bookmarkName;
            this.bookmarks[bookmarkName] = bookmark;
        }
        return bookmark;
    }
    insertBookmarks() {
        map_string.StringMapUtils.forEach(this.bookmarks, (bookmark, name) => {
            if (bookmark.validate(this.subDocument))
                this.subDocument.bookmarks.push(new bookmarks/* Bookmark */.rp(this.subDocument.positionManager, new boundary/* BoundaryInterval */.e(bookmark.start, bookmark.end), name));
        });
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
        this.insertBookmarks();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/comments-importer.ts

class RtfCommentsImporter extends RtfBaseImporter {
    constructor(data) {
        super(data);
    }
    insertComments() {
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
        this.insertComments();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/fields/rtf-field-info.ts
class RtfFieldInfo {
    constructor() {
        this.startPos = -1;
        this.separatorPos = -1;
        this.endPos = -1;
        this.locked = false;
        this.isHyperlink = false;
        this.isShapeField = false;
        this.isCodeView = false;
        this.insertInstructionBeforeFieldCode = false;
        this.instruction = '';
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/field-importer.ts





class RtfFieldImporter extends RtfBaseImporter {
    get fields() { return this.data.positionStates.last.fields; }
    get currentField() { return this.fields.last; }
    constructor(data) {
        super(data);
        this.updateFieldsOnPaste = true;
    }
    startField() {
        this.fields.push(new RtfFieldInfo());
    }
    ensureStartMarkAdded() {
        if (this.currentField.startPos != -1)
            return;
        this.currentField.startPos = this.data.importers.character.logPosition;
        this.currentField.startRun = this.addMarkRun(simple_runs/* FieldCodeStartRun */.ff, rich_utils/* RichUtils */.i.specialCharacters.FieldCodeStartRun);
    }
    ensureSeparatorMarkAdded() {
        if (this.currentField.separatorPos != -1)
            return;
        this.currentField.separatorPos = this.data.importers.character.logPosition;
        this.currentField.separatorRun = this.addMarkRun(simple_runs/* FieldCodeEndRun */.YW, rich_utils/* RichUtils */.i.specialCharacters.SeparatorMark);
    }
    ensureEndMarkAdded() {
        if (this.currentField.endPos != -1)
            return;
        this.currentField.endRun = this.addMarkRun(simple_runs/* FieldResultEndRun */.Qn, rich_utils/* RichUtils */.i.specialCharacters.FieldResultEndRun);
        this.currentField.endPos = this.data.importers.character.logPosition;
    }
    addMarkRun(runConstr, text) {
        const charImporter = this.data.importers.character;
        const startRun = this.currentField.startRun;
        if (!startRun)
            return charImporter.addSimpleRun(runConstr, text, false);
        const run = new runConstr(charImporter.logPosition, this.data.importers.paragraph.paragraph, startRun.getCharPropsBundle(this.documentModel));
        return charImporter.addRun(run, text);
    }
    endField() {
        const fieldInfo = this.fields.last;
        if (fieldInfo.isShapeField) {
        }
        this.ensureStartMarkAdded();
        this.ensureSeparatorMarkAdded();
        this.ensureEndMarkAdded();
        this.createFieldWithResult(fieldInfo);
        this.fields.pop();
    }
    getFormattingSourceRun(_field) {
        return null;
    }
    setFieldRunFormatting(_fieldCodeStart, _sourceRun) {
    }
    calculateFieldIndex(fields, newFieldStartPosition) {
        for (let fieldIndex = fields.length - 1; fieldIndex >= 0; fieldIndex--) {
            if (fields[fieldIndex].getFieldStartPosition() < newFieldStartPosition) {
                return fieldIndex + 1;
            }
        }
        return 0;
    }
    createFieldWithResult(fieldInfo) {
        const sd = this.data.subDocument;
        const fieldIndex = this.calculateFieldIndex(sd.fields, fieldInfo.startPos);
        const field = new fields_field/* Field */.gN(sd.positionManager, fieldIndex, fieldInfo.startPos, fieldInfo.separatorPos, fieldInfo.endPos, fieldInfo.isCodeView, null);
        fields_field/* Field */.gN.addField(sd.fields, field);
    }
    processShapeFieldContentCore(drawingObjectRun, inlinePicture, _inlinePictureRunIndex) {
        if (drawingObjectRun == null || inlinePicture == null || !drawingObjectRun.Inline)
            return;
    }
    processMixedShapeFieldContent() {
        if (this.subDocument.chunks[0].textRuns.length < 4)
            return;
    }
    processShapeFieldContent() {
        if (this.subDocument.chunks[0].textRuns.length < 3)
            return;
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/encoding/dx-encoding.ts


class DXEncoding {
    static codePageFromCharset(charset) {
        const codePage = DXEncoding.charsetToCodepageMapping[charset];
        if (codePage)
            return codePage;
        return CodePages.default;
    }
}
DXEncoding.charsetToCodepageMapping = new map_creator/* MapCreator */.M()
    .add(0, CodePages.Ansi)
    .add(134, CodePages.GB2315)
    .add(129, CodePages.Hangul)
    .add(136, CodePages.Big5)
    .add(161, CodePages.Greek)
    .add(162, CodePages.Turkis)
    .add(163, CodePages.Vietnamese)
    .add(177, CodePages.Hebrew)
    .add(178, CodePages.Arabic)
    .add(186, CodePages.Baltic)
    .add(204, CodePages.Russian)
    .add(238, CodePages.default)
    .add(77, CodePages.MacRoman)
    .add(89, CodePages.MacRussian)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/character/font-info-collection.ts


class RtfFontInfoCollection {
    constructor() {
        this.defaultRtfFontInfo = RtfFontInfo.createDefaultRtfFontInfo();
        this.collection = [];
    }
    getRtfFontInfoById(id) {
        const font = utils_list.ListUtils.elementBy(this.collection, font => font.id == id);
        return font ? font : this.defaultRtfFontInfo;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/font-importer.ts




class RtfFontImporter extends RtfBaseImporter {
    constructor(data) {
        super(data);
        this.defaultFontNumber = 0;
        this.fonts = new RtfFontInfoCollection();
    }
    addRtfFontInfo(fontInfo) {
        fontInfo.name = StringHelper.removeSpecialSymbols(fontInfo.name);
        if (fontInfo.name.length == 0)
            fontInfo.name = this.data.documentModel.defaultCharacterProperties.fontInfo.name;
        this.fonts.collection.push(fontInfo);
    }
    setFont(fontInfo) {
        this.data.importers.character.characterFormatting.setFont(fontInfo, fontInfo.getCoreObjectByName(this.documentModel));
        const codePage = this.codePageFromCharset(fontInfo.charset);
        this.data.setCodePage(codePage);
    }
    codePageFromCharset(charset) {
        if (charset >= 0)
            return DXEncoding.codePageFromCharset(charset);
        else
            return this.data.documentProperties.defaultCodePage;
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
    }
}

// EXTERNAL MODULE: ./src/common/model/floating-objects/anchor-info.ts
var anchor_info = __webpack_require__(8868);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.ts
var insert_picture_manipulator_params = __webpack_require__(4990);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/loader/image-loading-options.ts
var image_loading_options = __webpack_require__(4285);
// EXTERNAL MODULE: ./src/common/model/runs/anchored-picture-run.ts
var anchored_picture_run = __webpack_require__(6781);
// EXTERNAL MODULE: ./src/common/model/runs/anchored-text-box-run.ts
var anchored_text_box_run = __webpack_require__(2534);
// EXTERNAL MODULE: ./src/common/model/runs/inline-picture-run.ts
var inline_picture_run = __webpack_require__(2442);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/drawing/drawing-value-constants.ts
var drawing_value_constants = __webpack_require__(5958);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/calculators/rtf-bounds-calculator-base.ts




class RtfBoundsCalculatorBase {
    constructor(shapePropertiesInfo) {
        this.shapePropertiesInfo = shapePropertiesInfo;
    }
    applyTransform2DAndGetActualSize(anchorInfo, size) {
        const left = this.getPosition(this.leftKeyword, 0);
        const top = this.getPosition(this.topKeyword, 0);
        const right = this.getPosition(this.rightKeyword, 0);
        const bottom = this.getPosition(this.bottomKeyword, 0);
        const result = new geometry_size.Size(Math.max(0, right - left), Math.max(0, bottom - top));
        anchorInfo.offset.x = left;
        anchorInfo.offset.y = top;
        this.shapePropertiesInfo.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Rotation, value => size.rotation = unit_converter/* UnitConverter */.u.fdToTwips(value));
        this.checkRotationAndSwapBox(anchorInfo, result, size.rotation);
        return result;
    }
    getPositionCore(_value) { throw new Error('not implemented'); }
    getPosition(keyword, defaultValue) {
        const position = this.shapePropertiesInfo.getPropertyOrNull(keyword);
        if (position)
            return this.getPositionCore(position);
        return defaultValue;
    }
    checkRotationAndSwapBox(anchorInfo, size, rotation) {
        if (!this.needToSwap(rotation))
            return;
        const currentCx = size.width;
        const currentCy = size.height;
        const deltaEmu = (unit_converter/* UnitConverter */.u.twipsToEmu(currentCy) - unit_converter/* UnitConverter */.u.twipsToEmu(currentCx)) / 2;
        const delta = unit_converter/* UnitConverter */.u.emuToTwips(deltaEmu);
        anchorInfo.offset.x += delta;
        anchorInfo.offset.y -= delta;
        size.width = currentCy;
        size.height = currentCx;
    }
    needToSwap(rotation) {
        let angle0To180 = rotation % (180 * drawing_value_constants/* DrawingValueConstants */.F.OnePositiveFixedAngle);
        if (angle0To180 < 0)
            angle0To180 += 180 * drawing_value_constants/* DrawingValueConstants */.F.OnePositiveFixedAngle;
        return angle0To180 >= 45 * drawing_value_constants/* DrawingValueConstants */.F.OnePositiveFixedAngle && angle0To180 < 135 * drawing_value_constants/* DrawingValueConstants */.F.OnePositiveFixedAngle;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/calculators/rtf-topmost-shape-bounds-calculator.ts


class RtfTopmostShapeBoundsCalculator extends RtfBoundsCalculatorBase {
    constructor(shapePropertiesInfo) {
        super(shapePropertiesInfo);
    }
    get bottomKeyword() {
        return rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeBottom;
    }
    get leftKeyword() {
        return rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLeft;
    }
    get rightKeyword() {
        return rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeRight;
    }
    get topKeyword() {
        return rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeTop;
    }
    get flipHKeyword() {
        return rtf_drawing_keywords/* RtfDrawingKeywords */.Q.FlipH;
    }
    get flipVKeyword() {
        return rtf_drawing_keywords/* RtfDrawingKeywords */.Q.FlipV;
    }
    getPositionCore(value) {
        return value;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/rtf-shape-helpers/rtf-container-properties-helper.ts






class RtfContainerPropertiesHelper {
    constructor(shapeProperties) {
        this.shapeProperties = shapeProperties;
    }
    applyProperties(anchorInfo, size) {
        this.processLeftDistance(anchorInfo);
        this.processRightDistance(anchorInfo);
        this.processLocked(anchorInfo);
        this.processHorizontalPositionType(anchorInfo);
        this.processVerticalPositionType(anchorInfo);
        this.processZOrder(anchorInfo);
        this.processDrawingObjectHorizontalPositionAlignment(anchorInfo);
        this.processDrawingObjectHorizontalPositionType(anchorInfo);
        this.processDrawingObjectVerticalPositionAlignment(anchorInfo);
        this.processDrawingObjectVerticalPositionType(anchorInfo);
        this.processPercentHorizontalOffset(anchorInfo);
        this.processPercentVerticalOffset(anchorInfo);
        this.processLayoutInTableCell(anchorInfo);
        this.processAllowOverlap(anchorInfo);
        this.processDisplayBehindDocumentText(anchorInfo);
        this.processTopDistance(anchorInfo);
        this.processBottomDistance(anchorInfo);
        if (size) {
            this.processRelativeHorizontalSize(size);
            this.processRelativeVerticalSize(size);
        }
    }
    processLocked(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLocked, value => anchorInfo.locked = value);
    }
    processHorizontalPositionType(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DXInternalLegacyHorizontalPositionAlignment, value => anchorInfo.horizontalPositionType = value);
    }
    processVerticalPositionType(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DXInternalLegacyVerticalPositionAlignment, value => anchorInfo.verticalPositionType = value);
    }
    processZOrder(anchorInfo) {
        if (!this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Dhgt, value => anchorInfo.zOrder = value))
            this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeZOrder, value => anchorInfo.zOrder = value);
    }
    processDrawingObjectHorizontalPositionAlignment(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.HorizontalPositionAlignment, value => this.importDrawingObjectHorizontalPositionAlignment(anchorInfo, value));
    }
    processDrawingObjectHorizontalPositionType(anchorInfo) {
        const ignoreHPos = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeIgnoreLegacyHorizontalPositionType);
        if (ignoreHPos)
            anchorInfo.horizontalPositionType = floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Column;
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.HorizontalPositionType, value => this.importDrawingObjectHorizontalPositionType(anchorInfo, value));
    }
    processPercentHorizontalOffset(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PctHorizPos, value => anchorInfo.percentOffset.x = value * 100);
    }
    processPercentVerticalOffset(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PctVertPos, value => anchorInfo.percentOffset.y = value * 100);
    }
    processDrawingObjectVerticalPositionAlignment(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.VerticalPositionAlignment, value => this.importDrawingObjectVerticalPositionAlignment(anchorInfo, value));
    }
    processDrawingObjectVerticalPositionType(anchorInfo) {
        const ignoreVPos = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeIgnoreLegacyVerticalPositionType);
        if (ignoreVPos)
            anchorInfo.verticalPositionType = floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Paragraph;
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.VerticalPositionType, value => this.importDrawingObjectVerticalPositionType(anchorInfo, value));
    }
    processLayoutInTableCell(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.LayoutInCell, value => anchorInfo.layoutTableCell = value);
    }
    processAllowOverlap(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.AllowOverlap, value => anchorInfo.allowOverlap = value);
    }
    processDisplayBehindDocumentText(anchorInfo) {
        if (!this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextTypeZOrder, value => anchorInfo.isBehindDoc = !!value))
            this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.BehindDocument, value => anchorInfo.isBehindDoc = !!value);
    }
    processLeftDistance(anchorInfo) {
        const isPseudoInline = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PseudoInline);
        if (isPseudoInline)
            return;
        anchorInfo.leftDistance = unit_converter/* UnitConverter */.u.emuToTwips(this.shapeProperties.getProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.WrapDistLeft, ShapePropertiesDestinationBase.distanceFromText));
    }
    processRightDistance(anchorInfo) {
        const isPseudoInline = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.PseudoInline);
        if (isPseudoInline)
            return;
        anchorInfo.rightDistance = unit_converter/* UnitConverter */.u.emuToTwips(this.shapeProperties.getProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.WrapDistRight, ShapePropertiesDestinationBase.distanceFromText));
    }
    processTopDistance(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.WrapDistTop, value => anchorInfo.topDistance = unit_converter/* UnitConverter */.u.emuToTwips(value));
    }
    processBottomDistance(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.WrapDistBottom, value => anchorInfo.bottomDistance = unit_converter/* UnitConverter */.u.emuToTwips(value));
    }
    processRelativeHorizontalSize(size) {
        const rawPercentageWidth = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.RelativeHorizontalSizeWidth);
        if (rawPercentageWidth == null)
            return;
        size.relativeSize.width = rawPercentageWidth * 100;
        size.relativeWidthType = this.getDrawingObjectRelativeFromHorizontal();
        size.setUseAbsoluteWidth(false);
    }
    processRelativeVerticalSize(size) {
        var rawPercentageHeight = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.RelativeVerticalSizeHeight);
        if (rawPercentageHeight == null)
            return;
        size.relativeSize.height = rawPercentageHeight * 100;
        size.relativeHeightType = this.getDrawingObjectRelativeFromVertical();
        size.setUseAbsoluteHeight(false);
    }
    getDrawingObjectRelativeFromHorizontal() {
        var rawValue = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.RelativeHorizontalSizeFrom);
        if (rawValue == null)
            return floating_objects_enums/* RelativeWidthType */.Fx.Page;
        return rawValue;
    }
    getDrawingObjectRelativeFromVertical() {
        var rawValue = this.shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.RelativeVerticalSizeFrom);
        if (rawValue == null)
            return floating_objects_enums/* RelativeHeightType */.Cz.Page;
        return rawValue;
    }
    importDrawingObjectHorizontalPositionAlignment(anchorInfo, propertyValue) {
        anchorInfo.horizontalPositionAlignment = propertyValue;
    }
    importDrawingObjectHorizontalPositionType(anchorInfo, propertyValue) {
        const table = rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectHorizontalPositionTypeTable;
        const index = number/* NumberMapUtils */.j.keyBy(table, (value) => value == propertyValue);
        if ((0,common.isDefined)(index))
            anchorInfo.horizontalPositionType = (index);
    }
    importDrawingObjectVerticalPositionAlignment(anchorInfo, propertyValue) {
        anchorInfo.verticalPositionAlignment = propertyValue;
    }
    importDrawingObjectVerticalPositionType(anchorInfo, propertyValue) {
        const table = rtf_drawing_keywords/* RtfDrawingKeywords */.Q.DrawingObjectVerticalPositionTypeTable;
        const index = number/* NumberMapUtils */.j.keyBy(table, (value) => value == propertyValue);
        if ((0,common.isDefined)(index))
            anchorInfo.verticalPositionType = (index);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/rtf-shape-helpers/rtf-drawing-object-run-properties-helper.ts

class RtfDrawingObjectRunPropertiesHelper {
    constructor(shapeProperties) {
        this.shapeProperties = shapeProperties;
    }
    applyProperties(anchorInfo) {
        this.applyTextWrap(anchorInfo);
    }
    applyTextWrap(anchorInfo) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextType, value => anchorInfo.wrapType = value);
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextSide, value => anchorInfo.wrapSide = value);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/rtf-shape-helpers/rtf-drawing-text-body-properties-helper.ts



class RtfDrawingTextBodyPropertiesHelper {
    constructor(shapePropertiesInfo) {
        this.shapePropertiesInfo = shapePropertiesInfo;
    }
    applyProperties(properties) {
        this.processInsetLeft(properties);
        this.processInsertRight(properties);
        this.processInsertTop(properties);
        this.processInsetBottom(properties);
        this.processFitShapeToText(properties);
        this.processWrapText(properties);
    }
    processInsetLeft(properties) {
        this.shapePropertiesInfo.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.TextLeft, value => properties.leftMargin = unit_converter/* UnitConverter */.u.emuToTwips(value));
    }
    processInsertRight(properties) {
        this.shapePropertiesInfo.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.TextRight, value => properties.rightMargin = unit_converter/* UnitConverter */.u.emuToTwips(value));
    }
    processInsertTop(properties) {
        this.shapePropertiesInfo.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.TextTop, value => properties.topMargin = unit_converter/* UnitConverter */.u.emuToTwips(value));
    }
    processInsetBottom(properties) {
        this.shapePropertiesInfo.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.TextBottom, value => properties.bottomMargin = unit_converter/* UnitConverter */.u.emuToTwips(value));
    }
    processFitShapeToText(properties) {
        const fitShapeToText = this.shapePropertiesInfo.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.FitShapeToText);
        if ((0,common.isDefined)(fitShapeToText))
            properties.resizeShapeToFitText = fitShapeToText != 0;
        else
            properties.resizeShapeToFitText = false;
    }
    processWrapText(properties) {
        this.shapePropertiesInfo.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.WrapText, value => properties.wrapText = value);
    }
}

// EXTERNAL MODULE: ./src/common/model/color/color.ts
var color = __webpack_require__(7217);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/rtf-shape-helpers/rtf-outline-properties-helper.ts



class RtfOutlinePropertiesHelper {
    constructor(shapePropertiesInfo) {
        this.shapePropertiesInfo = shapePropertiesInfo;
    }
    applyProperties(shape) {
        const fLine = this.shapePropertiesInfo.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Line);
        if (!fLine)
            return;
        this.processOutlineWidth(shape);
        this.processOutlineFill(shape);
    }
    processOutlineWidth(shape) {
        shape.outlineWidth = unit_converter/* UnitConverter */.u.emuToTwips(this.shapePropertiesInfo.getProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.LineWidth, 9525));
    }
    processOutlineFill(shape) {
        const outlineColor = this.shapePropertiesInfo.getNullableColorProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.LineColor);
        if (outlineColor)
            shape.outlineColor = outlineColor;
        else
            shape.outlineColor = color/* ColorHelper */.v.BLACK_COLOR;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/shape/rtf-shape-helpers/rtf-shape-import-helper.ts






class RtfShapeImportHelper {
    constructor(shapeProperties) {
        this.shapeProperties = shapeProperties;
    }
    setDefaults(anchorInfo) {
        anchorInfo.horizontalPositionType = floating_objects_enums/* AnchorObjectHorizontalPositionType */.pk.Margin;
        anchorInfo.verticalPositionType = floating_objects_enums/* AnchorObjectVerticalPositionType */.iL.Margin;
        anchorInfo.wrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.None;
        anchorInfo.horizontalPositionAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.None;
        anchorInfo.verticalPositionAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.None;
    }
    applyDrawingObjectRunProperties(anchorInfo, nonVisualDrawingObjectProperties, size) {
        this.setDefaults(anchorInfo);
        this.applyRunProperties(anchorInfo);
        this.applyContainerProperties(anchorInfo, size);
        this.applyNonVisualDrawingObjectProperties(anchorInfo, nonVisualDrawingObjectProperties);
    }
    applyAnchoredTextBoxRunProperties(run) {
        this.applyBodyProperties(run.textBoxProperties);
        this.applyNonVisualDrawingObjectProperties(run.anchorInfo, run.containerProperties);
        this.applyShapeProperties(run.shape);
        this.applyDrawingObjectRunProperties(run.anchorInfo, run.containerProperties, run.size);
    }
    applyAnchoredPictureRunProperties(run) {
        this.applyNonVisualDrawingObjectProperties(run.anchorInfo, run.info.containerProperties);
        this.applyShapeProperties(run.shape);
        this.applyDrawingObjectRunProperties(run.anchorInfo, run.info.nonVisualDrawingProperties, null);
    }
    applyInlinePictureRunProperties(run) {
        this.applyNonVisualDrawingObjectPropertiesCore(run.info.containerProperties);
        this.applyShapeProperties(run.shape);
        this.applyNonVisualDrawingObjectPropertiesCore(run.info.nonVisualDrawingProperties);
    }
    applyRunProperties(anchorInfo) {
        new RtfDrawingObjectRunPropertiesHelper(this.shapeProperties).applyProperties(anchorInfo);
    }
    applyContainerProperties(anchorInfo, size) {
        new RtfContainerPropertiesHelper(this.shapeProperties).applyProperties(anchorInfo, size);
    }
    applyNonVisualDrawingObjectProperties(anchorInfo, constainerProperties) {
        this.applyNonVisualDrawingObjectPropertiesCore(constainerProperties);
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Hidden, value => anchorInfo.hidden = value);
    }
    applyNonVisualDrawingObjectPropertiesCore(constainerProperties) {
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Name, value => constainerProperties.name = value);
        this.shapeProperties.trySetProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Description, value => constainerProperties.description = value);
    }
    applyShapeProperties(shape) {
        const filled = this.shapeProperties.getNullableColorProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Filled);
        const fillColor = this.shapeProperties.getNullableColorProperty(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.FillColor);
        if (filled && fillColor)
            shape.fillColor = fillColor;
        new RtfOutlinePropertiesHelper(this.shapeProperties).applyProperties(shape);
    }
    applyBodyProperties(textBoxProperties) {
        new RtfDrawingTextBodyPropertiesHelper(this.shapeProperties).applyProperties(textBoxProperties);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/image-importer.ts














class RtfImageImporter extends RtfBaseImporter {
    constructor(data) {
        super(data);
        this.imageId = 1;
        this.scale = new geometry_size.Size(100, 100);
    }
    isShapeFieldContent() {
        return this.data.importers.field.currentField && this.data.importers.field.currentField.isShapeField;
    }
    isInlineTextBox() {
        return this.isShapeFieldContent() && utils_list.ListUtils.last(this.data.subDocument.chunks[0].textRuns) instanceof anchored_text_box_run/* AnchoredTextBoxRun */.s;
    }
    insertImage(imageInfo) {
        if (!imageInfo || !imageInfo.base64) {
            if (!this.isShapeFieldContent())
                this.data.importers.character.insertSpace();
            return;
        }
        if (this.isInlineTextBox())
            return;
        const cacheInfo = this.documentModel.cache.imageCache.createUnloadedInfoByBase64(imageInfo.base64);
        const actualSize = new geometry_size.Size(this.desireSize.width * this.scale.width / 100, this.desireSize.height * this.scale.height / 100);
        const characterImporter = this.data.importers.character;
        const pos = characterImporter.logPosition;
        const run = new inline_picture_run/* InlinePictureRun */.p(pos, this.data.importers.paragraph.paragraph, characterImporter.getPropsBundle(), insert_picture_manipulator_params/* InlinePictureInfo */.AT.defaultInfo(cacheInfo, this.scale));
        characterImporter.addRun(run, rich_utils/* RichUtils */.i.specialCharacters.ObjectMark);
        this.data.formatImagesImporter.registerImageRun(new images_import/* FormatImagesImporterData */.R(new sub_document/* SubDocumentPosition */.rg(this.data.subDocument, pos), image_loading_options/* ImageLoadingOptions */.j.initByActualSize(actualSize), run));
    }
    insertImageShape(imageInfo, shapeProperties, isInline = true) {
        if (imageInfo == null)
            return;
        const cacheInfo = this.documentModel.cache.imageCache.createUnloadedInfoByBase64(imageInfo.base64);
        let actualSize = new geometry_size.Size(this.desireSize.width * this.scale.width / 100, this.desireSize.height * this.scale.height / 100);
        const characterImporter = this.data.importers.character;
        const pos = characterImporter.logPosition;
        let run;
        if (isInline) {
            run = new inline_picture_run/* InlinePictureRun */.p(pos, this.data.importers.paragraph.paragraph, characterImporter.getPropsBundle(), insert_picture_manipulator_params/* InlinePictureInfo */.AT.defaultInfo(cacheInfo, this.scale));
            characterImporter.addRun(run, rich_utils/* RichUtils */.i.specialCharacters.ObjectMark);
            new RtfShapeImportHelper(shapeProperties).applyInlinePictureRunProperties(run);
            actualSize = new RtfTopmostShapeBoundsCalculator(shapeProperties).applyTransform2DAndGetActualSize(new anchor_info/* AnchorInfo */.i(), run.size);
        }
        else {
            run = new anchored_picture_run/* AnchoredPictureRun */.N(pos, this.data.importers.paragraph.paragraph, characterImporter.getPropsBundle(), insert_picture_manipulator_params/* AnchorPictureInfo */.wt.defaultInfo(cacheInfo, this.scale), -1);
            characterImporter.addRun(run, rich_utils/* RichUtils */.i.specialCharacters.FloatingObjectMark);
            new RtfShapeImportHelper(shapeProperties).applyAnchoredPictureRunProperties(run);
            actualSize = new RtfTopmostShapeBoundsCalculator(shapeProperties).applyTransform2DAndGetActualSize(run.anchorInfo, run.size);
        }
        this.data.formatImagesImporter.registerImageRun(new images_import/* FormatImagesImporterData */.R(new sub_document/* SubDocumentPosition */.rg(this.data.subDocument, pos), image_loading_options/* ImageLoadingOptions */.j.initByActualSize(actualSize), run));
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./src/common/model/fonts/font-info.ts
var font_info = __webpack_require__(4098);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/numbering-lists/rtf-old-list-level-info.ts



class RtfOldListLevelInfo {
    clone() {
        const result = new RtfOldListLevelInfo();
        result.copyFrom(this);
        return result;
    }
    copyFrom(_obj) {
        this.skipNumbering = _obj.skipNumbering;
        this.includeInformationFromPreviousLevel = _obj.includeInformationFromPreviousLevel;
        this.characterProperties = _obj.characterProperties.clone();
        this.listLevelProperties = _obj.listLevelProperties.clone();
        this.textBefore = _obj.textBefore;
        this.textAfter = _obj.textAfter;
        this.indent = _obj.indent;
    }
    constructor() {
        this.characterProperties = new character_properties/* MaskedCharacterProperties */.X();
        this.characterProperties.fontInfo = new font_info/* FontInfo */.p();
        this.characterProperties.fontSize = 12;
        this.characterProperties.setAllUse();
        this.listLevelProperties = new list_level_properties/* ListLevelProperties */.Yy();
        this.textBefore = "";
        this.textAfter = "";
        this.indent = 0;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/numbering-lists/rtf-old-list-level-info-collection.ts

class RtfOldListLevelInfoCollection {
    constructor() {
        this.listLevelInfo = [];
    }
    getByIndex(index) {
        if (this.listLevelInfo.length <= index)
            this.ensureLevelIndex(index);
        return this.listLevelInfo[index];
    }
    ensureLevelIndex(index) {
        const count = this.listLevelInfo.length;
        for (let i = count; i <= index; i++) {
            this.listLevelInfo.push(new RtfOldListLevelInfo());
        }
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/numbering-lists-importer.ts



class NumberingListsImporter extends RtfBaseImporter {
    constructor(data) {
        super(data);
        this.listOverrideIndexToNumberingListIndexMap = {};
        this.numberingListToOldListLevelInfoMap = {};
        this.paragraphStyleListOverrideIndexMap = {};
        this.oldListLevelInfoCollection = new RtfOldListLevelInfoCollection();
    }
    ensureNumberingListLevelValid(listLevelIndex) {
        return math.MathUtils.restrictValue(listLevelIndex, 0, 8);
    }
    addNumberingListToParagraph(paragraph, paragraphListInfo) {
        paragraph.numberingListIndex = paragraphListInfo.numberingListIndex;
        paragraph.listLevelIndex = this.ensureNumberingListLevelValid(paragraphListInfo.listLevelIndex);
    }
    linkParagraphStylesWithNumberingLists() {
        for (let style of this.documentModel.paragraphStyles) {
            const info = this.paragraphStyleListOverrideIndexMap[style.styleName];
            if (!info)
                return;
            const numberingListIndex = this.listOverrideIndexToNumberingListIndexMap[info.numberingListIndex];
            if (numberingListIndex == undefined || numberingListIndex < 0 || numberingListIndex >= this.documentModel.numberingLists.length)
                return;
            style.numberingListIndex = numberingListIndex;
            style.listLevelIndex = this.ensureNumberingListLevelValid(info.listLevelIndex);
        }
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
        if (this.subDocument.isMain())
            this.linkParagraphStylesWithNumberingLists();
    }
}

// EXTERNAL MODULE: ./src/common/model/range-permissions.ts
var range_permissions = __webpack_require__(3245);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/rtf-revision-authors.ts
class RtfRevisionAuthors {
    constructor() {
        this.authors = [];
    }
    getAuthor(authorIndex) {
        if (authorIndex < 0 || authorIndex >= this.authors.length)
            return RtfRevisionAuthors.unknownAuthor;
        return this.authors[authorIndex];
    }
}
RtfRevisionAuthors.unknownAuthor = "Unknown";

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/range-permission-importer.ts





class RtfRangePermissionImporter extends RtfBaseImporter {
    get rangePermissions() { return this.data.positionStates.last.rangePermissions; }
    constructor(data) {
        super(data);
        this.revisionAuthors = new RtfRevisionAuthors();
        this.userNames = [];
    }
    insertRangePermissions() {
        map_string.StringMapUtils.forEach(this.data.importers.rangePermission.rangePermissions, (rangePermission, _name) => {
            if (rangePermission.validate(this.subDocument))
                this.subDocument.rangePermissions.push(new range_permissions/* RangePermission */.O(this.subDocument.positionManager, new boundary/* BoundaryInterval */.e(rangePermission.start, rangePermission.end), rangePermission.userName, rangePermission.group));
        });
        this.data.subDocument.rangePermissions.sort((a, b) => a.start != b.start ? a.start - b.start : a.end - b.end);
    }
    getUserNameById(id) {
        const userName = this.userNames[id - 1];
        return userName !== undefined ? userName : "";
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
        this.insertRangePermissions();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/model-restorer/section-restorer.ts




class SectionRestorer {
    static fixLastSection(model) {
        const lastSection = utils_list.ListUtils.last(model.sections);
        if (!lastSection.interval.length) {
            model.sections.pop();
            const chunk = model.mainSubDocument.getLastChunk();
            const textRuns = chunk.textRuns;
            const lastRun = utils_list.ListUtils.last(textRuns);
            if (lastRun.getType() == run_type/* RunType */.m.SectionRun) {
                const startOffset = lastRun.startOffset;
                const paragraphMark = rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark;
                chunk.textBuffer = [chunk.textBuffer.substr(0, startOffset), paragraphMark].join('');
                textRuns.pop();
                lastRun.paragraph.listLevelIndex = Math.max(0, lastRun.paragraph.listLevelIndex);
                textRuns.push(new simple_runs/* ParagraphRun */.uu(startOffset, lastRun.paragraph, lastRun.getCharPropsBundle(model)));
            }
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/section/section.ts
var section = __webpack_require__(9362);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/sub-document/section-header-footer-destination-base.ts


class SectionHeaderFooterDestinationBase extends DestinationSubDocument {
    get destinationType() { return DestinationType.SectionHeaderFooterDestinationBase; }
    constructor(importer, section, subDocument) {
        super(importer, subDocument);
        this.section = section;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/sub-document/section-page-footer-destination.ts


class SectionPageFooterDestination extends SectionHeaderFooterDestinationBase {
    get destinationType() { return DestinationType.SectionPageFooterDestination; }
    createClone() {
        return new SectionPageFooterDestination(this.importer, this.section, this.subDocument);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/sub-document/section-page-header-destination.ts


class SectionPageHeaderDestination extends SectionHeaderFooterDestinationBase {
    get destinationType() { return DestinationType.SectionPageHeaderDestination; }
    createClone() {
        return new SectionPageHeaderDestination(this.importer, this.section, this.subDocument);
    }
}

// EXTERNAL MODULE: ./src/common/model/section/paper-kind.ts
var paper_kind = __webpack_require__(6498);
// EXTERNAL MODULE: ./src/common/model/section/section-column-properties.ts
var section_column_properties = __webpack_require__(7695);
// EXTERNAL MODULE: ./src/common/model/section/section-properties.ts
var section_properties = __webpack_require__(8012);
// EXTERNAL MODULE: ./src/common/formats/rtf/import/model/section/general-section-info.ts
var general_section_info = __webpack_require__(7553);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/section/margins-info.ts
var SectionGutterAlignment;
(function (SectionGutterAlignment) {
    SectionGutterAlignment[SectionGutterAlignment["Left"] = 0] = "Left";
    SectionGutterAlignment[SectionGutterAlignment["Right"] = 1] = "Right";
    SectionGutterAlignment[SectionGutterAlignment["Top"] = 2] = "Top";
    SectionGutterAlignment[SectionGutterAlignment["Bottom"] = 3] = "Bottom";
})(SectionGutterAlignment || (SectionGutterAlignment = {}));
class RtfMarginsInfo {
    copyFrom(obj) {
        this.gutter = obj.gutter;
        this.gutterAlignment = obj.gutterAlignment;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/section/page-numbering-info.ts

class PageNumberingInfo {
    constructor() {
        this.chapterSeparator = "";
        this.numberingFormat = list_level_properties/* NumberingFormat */.uV.None;
        this.firstPageNumber = -1;
        this.continueNumbering = true;
    }
    copyFrom(obj) {
        this.chapterSeparator = obj.chapterSeparator;
        this.chapterHeaderStyle = obj.chapterHeaderStyle;
        this.numberingFormat = obj.numberingFormat;
        this.firstPageNumber = obj.firstPageNumber;
        this.continueNumbering = obj.continueNumbering;
    }
}

// EXTERNAL MODULE: ./src/common/model/section/line-numbering-properties.ts
var line_numbering_properties = __webpack_require__(7501);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/section/rtf-section-properties.ts







class RtfSectionProperties {
    constructor() {
        this.coreProperties = new section_properties/* SectionProperties */.I();
        this.margins = new RtfMarginsInfo();
        this.pageNumbering = new PageNumberingInfo();
        this.generalSectionInfo = new general_section_info/* RtfGeneralSectionInfo */.D();
        this.lineNumbering = new line_numbering_properties/* LineNumberingProperties */.r();
        this.restartPageNumbering = false;
        this.drawVerticalSeparator = false;
        this.paperKind = paper_kind/* PaperKind */.e.A4;
        this.currentColumnIndex = 0;
    }
    ensureCurrentColumnExists() {
        while (this.coreProperties.columnsInfo.length <= this.currentColumnIndex)
            this.coreProperties.columnsInfo.push(new section_column_properties/* SectionColumnProperties */.G(1, 1));
    }
    setCurrentColumnSpace(value) {
        this.ensureCurrentColumnExists();
        this.coreProperties.columnsInfo[this.currentColumnIndex].space = value;
    }
    setCurrentColumnWidth(value) {
        this.ensureCurrentColumnExists();
        this.coreProperties.columnsInfo[this.currentColumnIndex].width = value;
    }
    validatePaperKind() {
    }
    clone() {
        const obj = new RtfSectionProperties();
        obj.copyFrom(this);
        return obj;
    }
    copyFrom(obj) {
        this.coreProperties = obj.coreProperties.clone();
        this.margins.copyFrom(obj.margins);
        this.pageNumbering.copyFrom(obj.pageNumbering);
        this.generalSectionInfo.copyFrom(obj.generalSectionInfo);
        this.lineNumbering.copyFrom(obj.lineNumbering);
        this.restartPageNumbering = obj.restartPageNumbering;
        this.currentColumnIndex = obj.currentColumnIndex;
        this.drawVerticalSeparator = obj.drawVerticalSeparator;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/section-importer.ts










class RtfSectionImporter extends RtfBaseImporter {
    get states() { return this.data.positionStates.last.sectionProperties; }
    get currentProperties() {
        if (!this.states.count)
            this.states.push(new RtfSectionProperties());
        return this.states.last;
    }
    constructor(data) {
        super(data);
        this.defaultSectionProperties = new RtfSectionProperties();
    }
    insertSection() {
        const paragraphFormatting = this.data.importers.paragraph.paragraphFormatting;
        paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacing, paragraphFormatting.calcLineSpacing());
        paragraphFormatting.coreProperties.setValue(paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacingType, paragraphFormatting.calcLineSpacingType());
        const par = this.data.importers.paragraph.insertParagraph(true);
        this.data.importers.paragraph.applyParagraphFormatting(par, true);
        this.applySectionFormatting();
        const prevSect = utils_list.ListUtils.last(this.documentModel.sections);
        this.setLastSectionLength(prevSect);
        const pos = this.documentModel.mainSubDocument.positionManager.registerPosition(prevSect.getEndPosition());
        const section = this.createSection(pos);
        this.documentModel.sections.push(section);
    }
    createSection(pos) {
        const result = new section/* Section */.$(this.documentModel, pos, 0, this.currentProperties.coreProperties);
        const sectionCount = this.data.documentModel.sections.length;
        if (sectionCount > 0) {
            const prevSection = this.data.documentModel.sections[sectionCount - 1];
            result.headers.copyFrom(prevSection.headers);
            result.footers.copyFrom(prevSection.footers);
        }
        return result;
    }
    setLastSectionLength(lastSec = utils_list.ListUtils.last(this.documentModel.sections)) {
        lastSec.setLength(this.documentModel.mainSubDocument, this.data.importers.character.logPosition - lastSec.startLogPosition.value);
    }
    applySectionFormatting(skipNumbering = false) {
        const documentModel = this.data.documentModel;
        const sections = documentModel.sections;
        const section = utils_list.ListUtils.last(sections);
        this.currentProperties.validatePaperKind();
        section.sectionProperties = this.currentProperties.coreProperties.clone();
        const paragraphFormatting = this.data.importers.paragraph.paragraphFormatting;
        const paragraph = this.data.importers.paragraph.paragraph;
        if (!skipNumbering && this.data.importers.paragraph.paragraphFormatting.numberingListIndex >= 0) {
            if (!paragraph.isInList())
                this.data.importers.numbering.addNumberingListToParagraph(paragraph, paragraphFormatting.paragraphListInfo);
        }
        const sectionFormatting = this.data.importers.section.currentProperties;
        if ((sections.length == 1 || sectionFormatting.restartPageNumbering) && !sectionFormatting.pageNumbering.continueNumbering) {
            section.sectionProperties.firstPageNumber = sectionFormatting.pageNumbering.firstPageNumber;
            section.sectionProperties.continueNumbering = false;
        }
        else {
            section.sectionProperties.firstPageNumber = -1;
            section.sectionProperties.continueNumbering = true;
        }
        section.sectionProperties.lineNumbering.copyFrom(sectionFormatting.lineNumbering);
    }
    insertHeaderFooter(isHeader, hfType) {
        const section = utils_list.ListUtils.last(this.data.documentModel.sections);
        const subDocument = this.createSubDocument(isHeader ? model_enums/* SubDocumentInfoType */.F.Header : model_enums/* SubDocumentInfoType */.F.Footer, hfType);
        subDocument.chunks = [new chunk/* Chunk */.z(subDocument.positionManager.registerPosition(0), '', true)];
        this.data.destination = isHeader ?
            new SectionPageHeaderDestination(this.data, section, subDocument) :
            new SectionPageFooterDestination(this.data, section, subDocument);
    }
    createSubDocument(type, hfType) {
        const section = utils_list.ListUtils.last(this.documentModel.sections);
        const createdSubDocument = this.documentModel.createSubDocument(type, -1, true);
        (type == model_enums/* SubDocumentInfoType */.F.Header ?
            section.headers.setObjectIndex(hfType, this.documentModel.headers.push(createdSubDocument.info) - 1) :
            section.footers.setObjectIndex(hfType, this.documentModel.footers.push(createdSubDocument.info) - 1));
        return createdSubDocument;
    }
    pushState() {
        this.states.push(this.states.count ? this.currentProperties.clone() : new RtfSectionProperties());
    }
    popState() {
        if (this.states.count > 1)
            this.states.pop();
    }
    startImportSubDocument() {
        if (!this.subDocument.isMain())
            this.popState();
    }
    finalizeSubDocument() {
        if (this.subDocument.isMain())
            SectionRestorer.fixLastSection(this.data.documentModel);
    }
}

// EXTERNAL MODULE: ./src/common/model/floating-objects/sizes.ts
var sizes = __webpack_require__(4302);
// EXTERNAL MODULE: ./src/common/model/floating-objects/text-box-properties.ts
var text_box_properties = __webpack_require__(9513);
// EXTERNAL MODULE: ./src/common/model/shapes/shape.ts
var shape = __webpack_require__(169);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/margins.js
var margins = __webpack_require__(3604);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/shape-importer.ts















class RtfShapeImporter extends RtfBaseImporter {
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
    }
    insertShape(importer, shapeProperties) {
        const subDocId = shapeProperties.getPropertyOrNull(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeText);
        if (!subDocId)
            return;
        const pos = importer.importers.character.logPosition;
        const paragraph = importer.importers.paragraph.paragraph;
        const characterStyle = importer.importers.style.character.style;
        const maskedCharacterProperties = importer.importers.character.characterFormatting.coreProperties;
        const anchorInfo = new anchor_info/* AnchorInfo */.i();
        anchorInfo.wrapType = floating_objects_enums/* AnchorObjectTextWrapType */.vX.None;
        anchorInfo.horizontalPositionAlignment = floating_objects_enums/* AnchorObjectHorizontalPositionAlignment */.xC.None;
        anchorInfo.verticalPositionAlignment = floating_objects_enums/* AnchorObjectVerticalPositionAlignment */.Iw.None;
        const run = new anchored_text_box_run/* AnchoredTextBoxRun */.s(pos, paragraph, new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(maskedCharacterProperties, characterStyle), new shape/* Shape */.b(), subDocId, new sizes/* AnchorTextBoxSize */.ne(true, 0, new geometry_size.Size(constants.Constants.MIN_SAFE_INTEGER, constants.Constants.MIN_SAFE_INTEGER), new geometry_size.Size(0, 0), floating_objects_enums/* RelativeWidthType */.Fx.Margin, floating_objects_enums/* RelativeHeightType */.Cz.Margin, true, true), anchorInfo, -1, new text_box_properties/* TextBoxProperties */.Y(new margins/* Margins */.m(144, 144, 72, 72)));
        importer.importers.character.addRun(run, rich_utils/* RichUtils */.i.specialCharacters.ObjectMark);
        new RtfShapeImportHelper(shapeProperties).applyAnchoredTextBoxRunProperties(run);
        run.size.absoluteSize = new RtfTopmostShapeBoundsCalculator(shapeProperties).applyTransform2DAndGetActualSize(run.anchorInfo, run.size);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/styles/rtf-style-importer-state.ts
class RtfStyleImporterState {
    constructor(rtfStyleIndex, rtfParentStyleIndex) {
        this.rtfStyleIndex = rtfStyleIndex;
        this.rtfParentStyleIndex = rtfParentStyleIndex;
        this.rtfStyleIndex = rtfStyleIndex;
        this.rtfParentStyleIndex = rtfParentStyleIndex;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/styles/base-style-importer.ts




class RtfBaseStyleImporter extends RtfBaseImporter {
    constructor(data, resetStates) {
        super(data);
        this.mapRtfIndexToModelIndex = {};
        this.states = new stack/* Stack */.K();
        this.states.push(new RtfStyleImporterState(0, 0));
        this.resetStates = resetStates;
        this.mapRtfIndexToModelIndex[0] = 0;
    }
    get rtfStyleIndex() { return this.states.last.rtfStyleIndex; }
    set rtfStyleIndex(value) { this.states.last.rtfStyleIndex = value; }
    get rtfParentStyleIndex() { return this.states.last.rtfParentStyleIndex; }
    set rtfParentStyleIndex(value) { this.states.last.rtfParentStyleIndex = value; }
    get styleExists() {
        return this.mapRtfIndexToModelIndex[this.rtfStyleIndex] != undefined;
    }
    get style() {
        return this.styleCollection[this.getModelIndex(this.rtfStyleIndex)];
    }
    get parentStyleExists() {
        return this.mapRtfIndexToModelIndex[this.rtfParentStyleIndex] != undefined;
    }
    get parentStyle() {
        return this.styleCollection[this.getModelIndex(this.rtfParentStyleIndex)];
    }
    getModelIndex(rtfIndex) {
        const modelIndex = this.mapRtfIndexToModelIndex[rtfIndex];
        return modelIndex !== undefined ? modelIndex : 0;
    }
    getOrCreateStyleByName(styleName) {
        const styleIndex = utils_list.ListUtils.indexBy(this.styleCollection, (currentStyle) => currentStyle.styleName == styleName);
        if (styleIndex >= 0) {
            this.mapRtfIndexToModelIndex[this.rtfStyleIndex] = styleIndex;
            return this.styleCollection[styleIndex];
        }
        const instance = this.createEmpty();
        instance.styleName = styleName;
        instance.parent = this.parentStyleExists ? this.parentStyle : null;
        const result = this.addStyle(instance);
        this.mapRtfIndexToModelIndex[this.rtfStyleIndex] = utils_list.ListUtils.indexBy(this.styleCollection, (style) => style.styleName == styleName);
        return result;
    }
    pushState() {
        this.states.push(new RtfStyleImporterState(this.rtfStyleIndex, this.rtfParentStyleIndex));
    }
    popState() {
        if (this.states.count <= 1)
            return;
        const state = this.states.pop();
        if (!this.resetStates)
            this.applyState(this.states, state);
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
    }
}

// EXTERNAL MODULE: ./src/common/model/styles-manager.ts + 1 modules
var styles_manager = __webpack_require__(396);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/styles/character-style-importer.ts




class RtfCharacterStyleImporter extends RtfBaseStyleImporter {
    get styleCollection() { return this.data.documentModel.characterStyles; }
    ;
    constructor(data) {
        super(data, true);
    }
    addStyle(style) {
        const result = this.documentModel.stylesManager.addCharacterStyle(style);
        result.localizedName = styles_manager/* StylesManager */.D.getPresetCharacterStyleLocalizedName(style.styleName);
        return result;
    }
    createEmpty() {
        return new character_style/* CharacterStyle */.H('', '', false, false, false, false, new character_properties/* MaskedCharacterProperties */.X(), '');
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/styles/paragraph-style-importer.ts






class RtfParagraphStyleImporter extends RtfBaseStyleImporter {
    addStyle(style) {
        const result = this.documentModel.stylesManager.addParagraphStyle(style);
        result.localizedName = styles_manager/* StylesManager */.D.getPresetParagraphStyleLocalizedName(style.styleName);
        return result;
    }
    ensureStyleExist() {
        this.rtfStyleIndex = Math.max(0, this.rtfStyleIndex);
        this.rtfParentStyleIndex = Math.max(0, this.rtfParentStyleIndex);
    }
    constructor(data) {
        super(data, false);
        this.paragraphTableStyles = {};
    }
    get styleCollection() { return this.data.documentModel.paragraphStyles; }
    ;
    createEmpty() {
        return new paragraph_style/* ParagraphStyle */.PO("", "", false, false, false, false, new character_properties/* MaskedCharacterProperties */.X(), new paragraph_properties/* MaskedParagraphProperties */.bq(), new paragraph_style/* TabProperties */.jy(), false, numbering_list_index_constants/* NumberingListIndexConstants */.R.listIndexNotSetted, -1, "");
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/styles/table-conditional-style.ts
var table_conditional_style = __webpack_require__(1327);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/styles/table-style-importer.ts





class RtfTableStyleImporter extends RtfBaseStyleImporter {
    get styleCollection() { return this.data.documentModel.tableStyles; }
    ;
    constructor(data) {
        super(data, true);
    }
    createEmpty() {
        return new table_style/* TableStyle */.k('', '', false, false, false, false, {}, new table_conditional_style/* TableConditionalStyle */.g(null, null, null, null, null, new paragraph_style/* TabProperties */.jy()), '');
    }
    addStyle(style) {
        const result = this.documentModel.stylesManager.addTableStyle(style);
        result.localizedName = styles_manager/* StylesManager */.D.getPresetTableStyleLocalizedName(style.styleName);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/styles-importer.ts






class RtfStylesImporter extends RtfBaseImporter {
    constructor(data) {
        super(data);
        this.linkParagraphStyleIndexToCharacterStyleIndex = {};
        this.nextParagraphStyleIndexTable = {};
        this.paragraph = new RtfParagraphStyleImporter(data);
        this.paragraph.mapRtfIndexToModelIndex[0] = 0;
        this.character = new RtfCharacterStyleImporter(data);
        this.table = new RtfTableStyleImporter(data);
        this.importers = [
            this.paragraph,
            this.character,
            this.table,
        ];
    }
    applyStyleLinks() {
        number/* NumberMapUtils */.j.forEach(this.linkParagraphStyleIndexToCharacterStyleIndex, (rtfCharStyleInd, rtfParStyleInd) => {
            if (this.paragraph.mapRtfIndexToModelIndex[rtfParStyleInd] !== undefined &&
                this.character.mapRtfIndexToModelIndex[rtfCharStyleInd] !== undefined) {
                const parStyle = this.paragraph.getModelIndex(rtfParStyleInd);
                const charStyle = this.character.getModelIndex(rtfCharStyleInd);
                this.documentModel.stylesManager.registerLink(this.documentModel.characterStyles[charStyle], this.documentModel.paragraphStyles[parStyle]);
            }
        });
        number/* NumberMapUtils */.j.forEach(this.nextParagraphStyleIndexTable, (rtfNextStyleIndex, rtfParStyleInd) => {
            if (this.paragraph.mapRtfIndexToModelIndex[rtfParStyleInd] !== undefined &&
                this.paragraph.mapRtfIndexToModelIndex[rtfNextStyleIndex] !== undefined) {
                const parStyle = this.paragraph.getModelIndex(rtfParStyleInd);
                const nextParStyle = this.paragraph.getModelIndex(rtfNextStyleIndex);
                this.documentModel.paragraphStyles[parStyle].nextParagraphStyle = this.documentModel.paragraphStyles[nextParStyle];
            }
        });
    }
    pushState() {
        for (let imp of this.importers)
            imp.pushState();
    }
    popState() {
        utils_list.ListUtils.reverseForEach(this.importers, imp => imp.popState());
    }
    startImportSubDocument() {
        for (let imp of this.importers)
            imp.startImportSubDocument();
    }
    finalizeSubDocument() {
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/tables/tables-manipulator.ts + 22 modules
var tables_manipulator = __webpack_require__(159);
// EXTERNAL MODULE: ./src/common/model/tables/table-utils.ts
var table_utils = __webpack_require__(935);
// EXTERNAL MODULE: ./src/common/layout-formatter/table/grid-engine/grid.ts
var grid = __webpack_require__(8115);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/paragraph-manipulator.ts + 1 modules
var paragraph_manipulator = __webpack_require__(7333);
;// CONCATENATED MODULE: ./src/common/formats/model-restorer/table-restorer.ts









class TableRestorer {
    static paragraphMarkBetween(model) {
        number/* NumberMapUtils */.j.forEach(model.subDocuments, sd => {
            for (let tablesOnLevel of sd.tablesByLevels) {
                let prevTable = tablesOnLevel[0];
                if (prevTable) {
                    for (let index = 1, table; table = tablesOnLevel[index];) {
                        if (table.getStartPosition() - prevTable.getEndPosition() == 0) {
                            TableRestorer.joinTables(sd, [prevTable, table]);
                        }
                        else {
                            prevTable = table;
                            index++;
                        }
                    }
                }
            }
        });
    }
    static joinTables(subDocument, tables) {
        if (tables.length < 2)
            throw new Error("tables.length should be > 2");
        const resultTable = tables[0];
        utils_list.ListUtils.forEach(tables, table => {
            const isEqualProps = resultTable.properties.equals(table.properties);
            for (let row of table.rows) {
                row.parentTable = resultTable;
                resultTable.rows.push(row);
                if (!isEqualProps)
                    row.tablePropertiesException = table.properties;
            }
        }, 1);
        utils_list.ListUtils.forEach(tables, table => tables_manipulator/* TablesManipulator */.i.removeTableCore(table, subDocument.tables, subDocument.tablesByLevels), 1);
        const colCount = resultTable.getTotalVirtualColumnsCount();
        for (let row of resultTable.rows)
            row.gridAfter += colCount - row.getTotalCellsInRowConsiderGrid();
    }
    static fixAllTables(model) {
        number/* NumberMapUtils */.j.forEach(model.subDocuments, sd => {
            TableRestorer.fixTables(sd);
        });
    }
    static fixTables(subDocument) {
        subDocument.tables.forEach((table) => {
            TableRestorer.fixTable(table, subDocument);
        });
    }
    static fixLastParagraphs(model) {
        number/* NumberMapUtils */.j.forEach(model.subDocuments, sd => {
            TableRestorer.fixLastParagraph(sd);
        });
    }
    static fixLastParagraph(sd) {
        const endPosition = sd.interval.end;
        if (utils_list.ListUtils.elementBy(sd.tables, (table) => table.getEndPosition() == endPosition))
            TableRestorer.insertParagraphInSubDocumentEnd(sd);
    }
    static insertParagraphInSubDocumentEnd(sd) {
        paragraph_manipulator/* ParagraphManipulator */.M.insertParagraphInEnd(sd, sd.getDocumentEndPosition(), sd.getLastRun().getCharPropsBundle(sd.documentModel));
    }
    static fixTable(table, subDocument) {
        TableRestorer.normalize(table);
        TableRestorer.normalizeRows(table, subDocument);
        TableRestorer.normalizeTableGrid(table);
        tables_manipulator/* TablesManipulator */.i.normalizeCellColumnSpansWithoutHistory(table, true);
    }
    static normalizeRows(table, subDocument) {
        utils_list.ListUtils.reverseForEach(table.rows, (row, rowIndex) => {
            if (utils_list.ListUtils.allOf(row.cells, (cell) => cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue)) {
                if (rowIndex > 0) {
                    const prevRowIndex = rowIndex - 1;
                    if (row.height.type != table_units/* TableHeightUnitType */.X.Auto)
                        table.rows[prevRowIndex].height.value += row.height.value;
                    tables_manipulator/* TablesManipulator */.i.removeRowCore(subDocument, table, rowIndex);
                    const cellInfos = new grid/* Grid */.r(table).tableCellInfos;
                    utils_list.ListUtils.forEach(table.rows[prevRowIndex].cells, (cell, cellIndex) => {
                        const cellInfo = cellInfos[prevRowIndex][cellIndex];
                        if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Restart && cellInfo.getStartRowIndex() == cellInfo.getEndRowIndex() - 1)
                            cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
                    });
                }
            }
        });
    }
    static normalizeTableGrid(table) {
        const maxEndColumnIndex = table.getTotalVirtualColumnsCount();
        table.rows.forEach((row) => {
            const gridAfterDelta = maxEndColumnIndex - row.getTotalCellsInRowConsiderGrid();
            if (gridAfterDelta)
                row.gridAfter += gridAfterDelta;
        });
    }
    static normalize(table) {
        if (table.rows.length == 1) {
            TableRestorer.removeInvalidVerticalSpansFromTableWithOneRow(table.rows);
            return;
        }
        table.rows.forEach((row, rowIndex) => {
            for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {
                var cell = row.cells[cellIndex];
                var mergingState = cell.verticalMerging;
                if (mergingState == table_base_structures/* TableCellMergingState */.Z3.None)
                    continue;
                if (mergingState == table_base_structures/* TableCellMergingState */.Z3.Continue)
                    TableRestorer.actualizeVerticalMergingForContinueCell(cell, rowIndex);
                else
                    TableRestorer.actualizeVerticalMergingForRestartCell(cell, rowIndex);
            }
        });
    }
    static getCellColumnIndexConsiderRowGrid(cell) {
        return table_utils/* TableCellUtils */.V.getStartColumnIndex(cell);
    }
    static getAbsoluteCellIndexInRow(row, columnIndex, layoutIndex) {
        if (row.cells.length == 0)
            throw new Error(errors/* Errors */.D.InternalException);
        const cells = row.cells;
        const cellsCount = cells.length;
        let cellIndex = 0;
        columnIndex -= layoutIndex ? row.gridBefore : row.gridBefore;
        while (columnIndex > 0 && cellIndex < cellsCount) {
            var currentCell = cells[cellIndex];
            columnIndex -= layoutIndex ? currentCell.columnSpan : currentCell.columnSpan;
            if (columnIndex >= 0)
                cellIndex++;
        }
        return cellIndex;
    }
    static getLowerCell(rows, currentRowIndex, columnIndex) {
        return TableRestorer.getCell(rows, currentRowIndex + 1, columnIndex);
    }
    static getUpperCell(rows, currentRowIndex, columnIndex) {
        return TableRestorer.getCell(rows, currentRowIndex - 1, columnIndex);
    }
    static getCell(rows, rowIndex, columnIndex) {
        const row = rows[rowIndex];
        if (row == null)
            return null;
        var index = TableRestorer.getAbsoluteCellIndexInRow(row, columnIndex, false);
        if (row.cells.length <= index)
            return TableRestorer.getCell(rows, rowIndex - 1, columnIndex);
        return row.cells[index];
    }
    static actualizeVerticalMergingForContinueCellCore(cell, rowIndex, columnIndex) {
        if (cell.parentRow.isLastRowInTable) {
            cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
            return;
        }
        var lowerCell = TableRestorer.getLowerCell(cell.parentRow.parentTable.rows, rowIndex, columnIndex);
        if (lowerCell == null || lowerCell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue)
            cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
        else
            cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.Restart;
    }
    static actualizeVerticalMergingForContinueCell(cell, rowIndex) {
        const columnIndex = TableRestorer.getCellColumnIndexConsiderRowGrid(cell);
        if (rowIndex == 0) {
            TableRestorer.actualizeVerticalMergingForContinueCellCore(cell, rowIndex, columnIndex);
            return;
        }
        const upperCell = TableRestorer.getUpperCell(cell.parentRow.parentTable.rows, rowIndex, columnIndex);
        if (upperCell == null || upperCell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.None)
            TableRestorer.actualizeVerticalMergingForContinueCellCore(cell, rowIndex, columnIndex);
        else if (upperCell != null) {
            const expectedLeftColumn = TableRestorer.getCellColumnIndexConsiderRowGrid(upperCell);
            const expectedRightColumn = expectedLeftColumn + upperCell.columnSpan;
            const actualLeftColumn = TableRestorer.getCellColumnIndexConsiderRowGrid(cell);
            const actualRightColumn = actualLeftColumn + cell.columnSpan;
            if (expectedLeftColumn != actualLeftColumn || expectedRightColumn != actualRightColumn)
                cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
        }
    }
    static actualizeVerticalMergingForRestartCell(cell, rowIndex) {
        if (cell.parentRow.isLastRowInTable) {
            cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
            return;
        }
        var currentCellColumnIndex = TableRestorer.getCellColumnIndexConsiderRowGrid(cell);
        var lowerCell = TableRestorer.getLowerCell(cell.parentRow.parentTable.rows, rowIndex, currentCellColumnIndex);
        if (lowerCell == null || lowerCell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue || cell.columnSpan != lowerCell.columnSpan) {
            cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
        }
        else {
            var lowerCellColumnIndex = TableRestorer.getCellColumnIndexConsiderRowGrid(lowerCell);
            if (lowerCellColumnIndex != currentCellColumnIndex)
                cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
        }
    }
    static removeInvalidVerticalSpansFromTableWithOneRow(rows) {
        rows[0].cells.forEach((cell) => {
            cell.verticalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
        });
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var main_structures_table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-border-calculator.ts
var table_border_calculator = __webpack_require__(9181);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/table-grid.ts

class RtfTableGrid {
    constructor() {
        this.collection = [];
    }
    get first() { return this.collection.length > 0 ? this[0] : -1; }
    get last() { return this.collection.length > 0 ? this[this.collection.length - 1] : -1; }
    binarySearchRight(right) {
        let index = search.SearchUtils.normedInterpolationIndexOf(this.collection, v => v, right);
        if (index <= 0)
            return index;
        let nextIndex = index + 1;
        while (nextIndex < this.collection.length && this.collection[nextIndex] == this.collection[index]) {
            index = nextIndex;
            nextIndex++;
        }
        return index;
    }
    binarySearchLeft(right) {
        let index = search.SearchUtils.normedInterpolationIndexOf(this.collection, v => v, right);
        if (index <= 0)
            return index;
        let prevIndex = index - 1;
        while (prevIndex >= 0 && this.collection[prevIndex] == this.collection[index]) {
            index = prevIndex;
            prevIndex--;
        }
        return index;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/rtf-table-columns-calculator.ts

class RtfTableColumnsCalculator {
    calculate(table, tableIndent) {
        if (!table)
            throw Error("table is Null!");
        let result = new RtfTableGrid();
        result.collection.push(tableIndent);
        table.rows.forEach((row) => {
            const rowColumns = this.getRowColumns(row);
            result = this.merge(rowColumns.collection, result.collection);
        });
        return result;
    }
    merge(source, destination) {
        const result = new RtfTableGrid();
        let sourceIndex = 0;
        let destinationIndex = 0;
        while (sourceIndex < source.length && destinationIndex < destination.length) {
            if (source[sourceIndex] <= destination[destinationIndex]) {
                result.collection.push(source[sourceIndex]);
                if (source[sourceIndex] == destination[destinationIndex])
                    destinationIndex++;
                sourceIndex++;
            }
            else {
                result.collection.push(destination[destinationIndex]);
                destinationIndex++;
            }
        }
        if (destinationIndex < destination.length) {
            for (; destinationIndex < destination.length; destinationIndex++)
                result.collection.push(destination[destinationIndex]);
        }
        else if (sourceIndex < source.length) {
            for (; sourceIndex < source.length; sourceIndex++)
                result.collection.push(source[sourceIndex]);
        }
        return result;
    }
    getRowColumns(row) {
        const result = new RtfTableGrid();
        let left = row.properties.left;
        result.collection.push(left);
        row.cells.forEach((cell) => {
            const right = cell.properties.right;
            if (right <= left)
                result.collection.push(left);
            else {
                result.collection.push(right);
                left = right;
            }
        });
        return result;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/table-converter.ts









class RtfTableConverter {
    constructor(tableReader) {
        this.rtfCellMap = {};
        this.tableReader = tableReader;
        this.rtfCellMap = {};
    }
    get subDocument() { return this.tableReader.data.subDocument; }
    convertTables(rtfTables, _isCopySingleCellAsText) {
        number/* NumberMapUtils */.j.clear(this.rtfCellMap);
        this.tablesQueue = utils_list.ListUtils.shallowCopy(rtfTables);
        let tblIndex = 0;
        while (this.tablesQueue.length > 0) {
            const table = this.tablesQueue[0];
            this.tablesQueue.shift();
            this.convertTable(table, tblIndex);
            tblIndex++;
        }
    }
    convertTable(rtfTable, tblIndex) {
        if (!this.rtfTableIsValid(rtfTable))
            return;
        let parentCell = null;
        if (rtfTable.parentCell != null) {
            parentCell = this.rtfCellMap[rtfTable.parentCell.idForParentCellMap];
        }
        this.prepareRtfTable(rtfTable);
        const table = rtfTable.createTable(tblIndex, parentCell, this.tableReader.data.documentModel);
        this.convertTableCore(table, rtfTable);
        this.subDocument.tables.push(table);
    }
    rtfTableIsValid(rtfTable) {
        if (rtfTable.rows.length == 0)
            return false;
        const lastRow = utils_list.ListUtils.last(rtfTable.rows);
        if (lastRow.cells.length > 0)
            return true;
        rtfTable.rows.splice(rtfTable.rows.length - 1, 1);
        return this.rtfTableIsValid(rtfTable);
    }
    prepareRtfTable(table) {
        if (this.shouldUseFloatingPosition(table)) {
        }
        const tablePreferredWidth = table.properties.preferredWidth;
        if (tablePreferredWidth.type == table_units/* TableWidthUnitType */.HO.Nil) {
            tablePreferredWidth.type = table_units/* TableWidthUnitType */.HO.Auto;
            tablePreferredWidth.value = 0;
        }
        if (!table.properties.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseRightMargin) &&
            !table.properties.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseLeftMargin) && table.properties.useHalfSpace) {
            const margin = table.properties.halfSpace;
            table.properties.coreProperties.cellMargins.left.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
            table.properties.coreProperties.cellMargins.left.value = margin;
            table.properties.coreProperties.cellMargins.right.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
            table.properties.coreProperties.cellMargins.right.value = margin;
        }
        table.indent = this.calculateTableLeftOffset(table);
        const indent = table.properties.coreProperties.indent;
        if (indent.type != table_units/* TableWidthUnitType */.HO.ModelUnits) {
            indent.value = this.calculateTableIndent(table);
            indent.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
        }
    }
    shouldUseFloatingPosition(_table) {
        return false;
    }
    calculateTableLeftOffset(table) {
        const rows = table.rows;
        let result = rows[0].properties.left;
        const rowsCount = rows.length;
        for (let i = 1; i < rowsCount; i++)
            result = Math.min(result, rows[i].properties.left);
        return result;
    }
    calculateTableIndent(table) {
        const cellProperties = table.rows[0].cells[0].properties;
        const leftBorder = cellProperties.coreProperties.borders.left;
        const leftMargin = this.getCellLeftMargin(table);
        const borderWidth = table_border_calculator/* TableBorderCalculator */.E.getActualWidth(leftBorder);
        return Math.max(borderWidth / 2, this.getActualWidth(leftMargin)) + table.indent;
    }
    getCellLeftMargin(table) {
        const cellProperties = table.rows[0].cells[0].properties;
        if (cellProperties.coreProperties.cellMargins.left.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
            return cellProperties.coreProperties.cellMargins.left;
        return table.properties.coreProperties.cellMargins.left;
    }
    getActualWidth(unitInfo) {
        if (unitInfo.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
            return unitInfo.value;
        return 0;
    }
    convertTableCore(table, rtfTable) {
        const tableGrid = this.calculateTableGrid(rtfTable);
        const rows = table.rows;
        const tableLayoutType = table.properties.layoutType;
        rtfTable.rows.forEach((rtfRow) => {
            this.prepareRtfRow(rtfRow, tableGrid, tableLayoutType);
            const row = rtfRow.createTableRow(table);
            rows.push(row);
            this.convertRow(row, rtfRow);
        });
    }
    calculateTableGrid(table) {
        const calculator = new RtfTableColumnsCalculator();
        return calculator.calculate(table, table.indent);
    }
    prepareRtfRow(row, grid, tableLayoutType) {
        const gridBefore = grid.binarySearchLeft(row.properties.left);
        row.properties.gridBefore = gridBefore;
        if (row.properties.widthBefore.value == 0 && gridBefore > 0) {
            row.properties.widthBefore.value = row.offset;
            row.properties.widthBefore.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
        }
        this.prepareRtfRowCells(row, grid, gridBefore, tableLayoutType);
        const lastColumnIndex = grid.collection.length - 1;
        const gridAfter = lastColumnIndex - this.calculateRowColumnSpan(row);
        row.properties.gridAfter = gridAfter;
        if (row.properties.widthAfter.value == 0 && gridAfter > 0) {
            let widthAfter = 1;
            if (row.properties.widthAfter.type == table_units/* TableWidthUnitType */.HO.ModelUnits) {
                widthAfter = this.calculateWidthAfter(row);
            }
            else
                widthAfter = grid.collection[lastColumnIndex] - grid.collection[lastColumnIndex - gridAfter];
            row.properties.widthAfter.value = widthAfter;
            row.properties.widthAfter.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
        }
    }
    calculateWidthAfter(row) {
        const rowWidth = this.calculateTotalRowWidth(row);
        if (rowWidth < 0)
            return 1;
        const rows = row.table.rows;
        let maxWidth = 0;
        for (let i = 0; i < rows.length; i++) {
            const currentRow = rows[i];
            if (currentRow === row)
                continue;
            const currentRowWidth = this.calculateTotalRowWidth(currentRow);
            if (currentRowWidth > 0)
                maxWidth = Math.max(maxWidth, currentRowWidth);
        }
        return Math.max(1, rowWidth - maxWidth);
    }
    calculateTotalRowWidth(row) {
        let totalWidth = 0;
        const cells = row.cells;
        const count = cells.length;
        for (let i = 0; i < count; i++) {
            const width = cells[i].properties.preferredWidth;
            if (width.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
                totalWidth += width.value;
            else
                return -1;
        }
        return totalWidth;
    }
    prepareRtfRowCells(row, grid, gridBefore, tableLayoutType) {
        let prevBorderIndex = gridBefore;
        let left = grid.collection[gridBefore];
        for (let i = 0; i < row.cells.length; i++) {
            const cell = row.cells[i];
            const right = cell.properties.right > left ? cell.properties.right : left;
            const borderIndex = grid.binarySearchRight(right) - this.calculateEquidistantCellOrder(row.cells, i, right);
            const columnSpan = borderIndex - prevBorderIndex;
            cell.columnSpan = Math.max(1, columnSpan);
            const preferredWidth = cell.properties.preferredWidth;
            if (preferredWidth.type == table_units/* TableWidthUnitType */.HO.Nil ||
                (preferredWidth.type == table_units/* TableWidthUnitType */.HO.Auto && tableLayoutType != table_base_structures/* TableLayoutType */.DX.Autofit)) {
                preferredWidth.value = grid.collection[borderIndex] - grid.collection[prevBorderIndex];
                preferredWidth.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
            }
            prevBorderIndex = Math.max(borderIndex, prevBorderIndex);
            left = right;
        }
    }
    calculateEquidistantCellOrder(cells, index, left) {
        const count = cells.length;
        let equidistantCellsCount = 0;
        for (let i = index + 1; i < count; i++) {
            if (cells[i].properties.right > left)
                break;
            equidistantCellsCount++;
        }
        return equidistantCellsCount;
    }
    calculateRowColumnSpan(row) {
        let result = row.properties.gridBefore;
        const cellsCount = row.cells.length;
        for (let i = 0; i < cellsCount; i++)
            result += row.cells[i].columnSpan;
        return result;
    }
    convertRow(row, rtfRow) {
        const rtfCells = rtfRow.cells;
        for (let i = 0; i < rtfCells.length; i++)
            this.convertCell(row, rtfCells[i]);
    }
    convertCell(row, rtfCell) {
        if (rtfCell.properties.horizontalMerging == table_base_structures/* TableCellMergingState */.Z3.Restart)
            this.mergeCells(rtfCell);
        const cell = rtfCell.createCell(row, this.subDocument);
        row.cells.push(cell);
        this.rtfCellMap[rtfCell.idForParentCellMap] = cell;
    }
    mergeCells(firstCell) {
        const nextIndex = firstCell.index + 1;
        const cells = firstCell.row.cells;
        while (nextIndex < cells.length && cells[nextIndex].properties.horizontalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue) {
            const nextRtfCell = cells[nextIndex];
            const parentCellMap = this.tableReader.parentCellMap;
            const tables = parentCellMap[nextRtfCell.idForParentCellMap];
            if (tables !== undefined) {
                for (let table of tables)
                    utils_list.ListUtils.remove(this.tablesQueue, table);
                delete parentCellMap[nextRtfCell.idForParentCellMap];
            }
            firstCell.columnSpan += nextRtfCell.columnSpan;
            this.removeCell(cells, nextRtfCell);
        }
    }
    removeCell(cells, cell) {
        utils_list.ListUtils.remove(cells, cell);
        const count = cells.length;
        for (let i = cell.index; i < count; i++)
            cells[i].index--;
        const cellInterval = fixed.FixedInterval.fromPositions(cell.startPos, cell.endPos);
        this.tableReader.data.intervalsToDelete.push(new sub_document/* SubDocumentInterval */.v8(this.subDocument, cellInterval));
    }
    recalcParagraphIndexes(_removedCell) {
    }
    recalcParagraphIndexesInRow(_row, _cellIndex, _delta) {
    }
    recalcParagraphIndexesInTable(_table, _rowIndex, _delta, _paragraphIndex) {
    }
    recalcParagraphIndexesInTables(delta, paragraphIndex) {
        const count = this.tablesQueue.length;
        for (let i = 0; i < count; i++)
            this.recalcParagraphIndexesInTable(this.tablesQueue[i], 0, delta, paragraphIndex);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/table-importer.ts




class RtfTableImporter extends RtfBaseImporter {
    get tableReader() { return this.data.positionStates.last.tableReader; }
    ;
    constructor(data) {
        super(data);
    }
    insertTables() {
        if (this.tableReader.tables.length == 0)
            return;
        new RtfTableConverter(this.tableReader).convertTables(this.tableReader.tables, false);
    }
    pushState() {
    }
    popState() {
    }
    startImportSubDocument() {
    }
    finalizeSubDocument() {
        this.insertTables();
        main_structures_table/* Table */.iA.fillTableByLevels(this.subDocument);
        TableRestorer.fixTables(this.subDocument);
        TableRestorer.fixLastParagraph(this.subDocument);
        if (this.subDocument.isMain())
            TableRestorer.paragraphMarkBetween(this.subDocument.documentModel);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/importers/importers-collection.ts














class ImportersCollection {
    constructor(data) {
        this.importers = [];
        this.style = new RtfStylesImporter(data);
        this.paragraph = new RtfParagraphImporter(data);
        this.section = new RtfSectionImporter(data);
        this.numbering = new NumberingListsImporter(data);
        this.character = new RtfCharacterImporter(data);
        this.image = new RtfImageImporter(data);
        this.field = new RtfFieldImporter(data);
        this.bookmark = new RtfBookmarkImporter(data);
        this.rangePermission = new RtfRangePermissionImporter(data);
        this.comment = new RtfCommentsImporter(data);
        this.font = new RtfFontImporter(data);
        this.table = new RtfTableImporter(data);
        this.shape = new RtfShapeImporter(data);
        this.importers = [
            this.style,
            this.paragraph,
            this.section,
            this.numbering,
            this.character,
            this.image,
            this.field,
            this.bookmark,
            this.rangePermission,
            this.comment,
            this.font,
            this.table,
            this.shape,
        ];
    }
    pushState() {
        for (let imp of this.importers)
            imp.pushState();
    }
    popState() {
        utils_list.ListUtils.reverseForEach(this.importers, imp => imp.popState());
    }
    startImportSubDocument() {
        for (let imp of this.importers)
            imp.startImportSubDocument();
    }
    finalizeSubDocument() {
        for (let imp of this.importers)
            imp.finalizeSubDocument();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/unicode-destination.ts


class UnicodeDestination extends DestinationBase {
    get destinationType() { return DestinationType.UnicodeDestination; }
    get controlCharHT() { return null; }
    constructor(importer, lastDestination) {
        super(importer);
        this.lastDestination = lastDestination;
    }
    createClone() {
        return new UnicodeDestination(this.importer, this.lastDestination);
    }
    static onUdKeyword(importer, _parameterValue, _hasParameter) {
        const currentDestination = importer.destination;
        importer.destination = currentDestination.lastDestination;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/string-property-base-destination.ts




class StringPropertyBaseDestination extends DestinationBase {
    get destinationType() { return DestinationType.StringPropertyBaseDestination; }
    get controlCharHT() { return StringPropertyBaseDestination.controlCharHT; }
    constructor(importer, modifier) {
        super(importer);
        this.value = [];
        this.modifier = modifier;
    }
    processCharCore(ch) {
        this.value.push(ch);
    }
    afterPopRtfState() {
        const value = string.StringUtils.trim(this.value.join(""), ['\"', '\\s']);
        this.modifier(value);
    }
    createClone() {
        return new StringPropertyBaseDestination(this.importer, this.modifier);
    }
}
StringPropertyBaseDestination.controlCharHT = new map_creator/* MapCreator */.M()
    .add('\\', DestinationBase.onEscapedChar)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/field-map-data-destination.ts



var MailMergeFieldType;
(function (MailMergeFieldType) {
    MailMergeFieldType[MailMergeFieldType["Null"] = 0] = "Null";
    MailMergeFieldType[MailMergeFieldType["DbColumn"] = 1] = "DbColumn";
})(MailMergeFieldType || (MailMergeFieldType = {}));
class FieldMapData {
}
class FieldMapDataDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.fieldsMapData = [];
    }
    get destinationType() { return DestinationType.FieldMapDataDestination; }
    get controlCharHT() { return null; }
    static getFieldMapDataForEdit(importer) {
        const fieldsMapData = importer.destination.fieldsMapData;
        if (fieldsMapData.length == 0)
            fieldsMapData.push(new FieldMapData());
        return fieldsMapData[fieldsMapData.length - 1];
    }
    static onNullFieldTypeKeyword(importer, _parameterValue, _hasParameter) {
        const fieldMapData = FieldMapDataDestination.getFieldMapDataForEdit(importer);
        fieldMapData.fieldType = MailMergeFieldType.Null;
    }
    static onColumnFieldTypeKeyword(importer, _parameterValue, _hasParameter) {
        const fieldMapData = FieldMapDataDestination.getFieldMapDataForEdit(importer);
        fieldMapData.fieldType = MailMergeFieldType.DbColumn;
    }
    static onAddressFieldTypeKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onSalutationFieldTypeKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onMappedFieldTypeKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onBarcodeFieldTypeKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onColumnNameKeyword(importer, _parameterValue, _hasParameter) {
        const fieldMapData = FieldMapDataDestination.getFieldMapDataForEdit(importer);
        importer.destination = new StringPropertyBaseDestination(importer, (value) => {
            fieldMapData.columnName = value;
        });
    }
    static onMappedNameKeyword(importer, _parameterValue, _hasParameter) {
        const fieldMapData = FieldMapDataDestination.getFieldMapDataForEdit(importer);
        importer.destination = new StringPropertyBaseDestination(importer, (value) => {
            fieldMapData.mappedName = value;
        });
    }
    static onColumnIndexKeyword(importer, parameterValue, hasParameter) {
        const fieldMapData = FieldMapDataDestination.getFieldMapDataForEdit(importer);
        fieldMapData.columnIndex = hasParameter ? parameterValue : -1;
    }
    static onDynamicAddressKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 1;
        const fieldMapData = FieldMapDataDestination.getFieldMapDataForEdit(importer);
        if (parameterValue == 0)
            fieldMapData.dynamicAddress = false;
        else
            fieldMapData.dynamicAddress = true;
    }
    static onLanguageIdKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter || parameterValue < 0)
            parameterValue = 0;
        const fieldMapData = FieldMapDataDestination.getFieldMapDataForEdit(importer);
        fieldMapData.mergeFieldNameLanguageId = parameterValue;
    }
    createClone() {
        return new FieldMapDataDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/check-box-properties.ts

var CheckBoxState;
(function (CheckBoxState) {
    CheckBoxState[CheckBoxState["Unchecked"] = 0] = "Unchecked";
    CheckBoxState[CheckBoxState["Checked"] = 1] = "Checked";
    CheckBoxState[CheckBoxState["Undefined"] = 25] = "Undefined";
})(CheckBoxState || (CheckBoxState = {}));
var CheckBoxSizeMode;
(function (CheckBoxSizeMode) {
    CheckBoxSizeMode[CheckBoxSizeMode["Auto"] = 0] = "Auto";
    CheckBoxSizeMode[CheckBoxSizeMode["Exact"] = 1] = "Exact";
})(CheckBoxSizeMode || (CheckBoxSizeMode = {}));
var FormFieldTextType;
(function (FormFieldTextType) {
    FormFieldTextType[FormFieldTextType["Auto"] = 0] = "Auto";
    FormFieldTextType[FormFieldTextType["Custom"] = 1] = "Custom";
})(FormFieldTextType || (FormFieldTextType = {}));
class CheckBoxProperties {
    calculateHash() {
        return math.MathUtils.somePrimes[0] * this.size ^
            math.MathUtils.somePrimes[1] * this.sizeType;
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    equals(obj) {
        return obj &&
            this.checkBoxState == obj.checkBoxState &&
            this.defaultState == obj.defaultState &&
            this.size == obj.size &&
            this.sizeType == obj.sizeType;
    }
    copyFrom(obj) {
        obj.checkBoxState = this.checkBoxState;
        obj.defaultState = this.defaultState;
        obj.size = this.size;
        obj.sizeType = this.sizeType;
        obj.hash = this.hash;
    }
    clone() {
        const result = new CheckBoxProperties();
        result.copyFrom(this);
        return result;
    }
}
var MaskedCheckBoxPropertiesMask;
(function (MaskedCheckBoxPropertiesMask) {
    MaskedCheckBoxPropertiesMask[MaskedCheckBoxPropertiesMask["UseNone"] = 0] = "UseNone";
    MaskedCheckBoxPropertiesMask[MaskedCheckBoxPropertiesMask["UseState"] = 4] = "UseState";
    MaskedCheckBoxPropertiesMask[MaskedCheckBoxPropertiesMask["UseDefaultState"] = 8] = "UseDefaultState";
    MaskedCheckBoxPropertiesMask[MaskedCheckBoxPropertiesMask["UseSize"] = 16] = "UseSize";
    MaskedCheckBoxPropertiesMask[MaskedCheckBoxPropertiesMask["UseSizeMode"] = 32] = "UseSizeMode";
    MaskedCheckBoxPropertiesMask[MaskedCheckBoxPropertiesMask["UseAll"] = 2147483647] = "UseAll";
})(MaskedCheckBoxPropertiesMask || (MaskedCheckBoxPropertiesMask = {}));
class MaskedCheckBoxProperties extends (/* unused pure expression or super */ null && (CheckBoxProperties)) {
    constructor() {
        super(...arguments);
        this.useValue = MaskedCheckBoxPropertiesMask.UseNone;
    }
    calculateHash() {
        return super.calculateHash() +
            MathUtils.somePrimes[15] * this.useValue;
    }
    getUseValue(value) {
        return (this.useValue & value) != 0;
    }
    setUseValue(mask, value) {
        if (value)
            this.useValue |= mask;
        else
            this.useValue &= ~mask;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.useValue == obj.useValue;
    }
    clone() {
        const result = new MaskedCheckBoxProperties();
        result.copyFrom(this);
        result.useValue = this.useValue;
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/base/unicode-string-value-destination.ts



class UnicodeStringValueDestination extends StringValueDestinationBase {
    constructor() {
        super(...arguments);
        this._value = [];
    }
    get destinationType() { return DestinationType.UnicodeStringValueDestination; }
    get value() { return string.StringUtils.trimEnd(this._value.join(""), [';']); }
    processCharCore(ch) {
        if (ch != UnicodeStringValueDestination.emptyChar)
            this._value.push(ch);
        else
            this._value.push(UnicodeStringValueDestination.lowbar);
    }
    createClone() {
        const clone = this.createEmptyClone();
        clone._value = this._value;
        return clone;
    }
}
UnicodeStringValueDestination.emptyChar = '\0';
UnicodeStringValueDestination.lowbar = '_';

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/field-status-bar-text-destination.ts



class FieldStatusBarTextDestination extends UnicodeStringValueDestination {
    get destinationType() { return DestinationType.FieldStatusBarTextDestination; }
    afterPopRtfState() {
        this.importer.importers.field.fields.last.formFieldProperties.statusText = string.StringUtils.trim(this.value);
    }
    createEmptyClone() {
        return new FieldStatusBarTextDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/form-field-entry-macro-destination.ts



class FormFieldEntryMacroDestination extends UnicodeStringValueDestination {
    get destinationType() { return DestinationType.FormFieldEntryMacroDestination; }
    afterPopRtfState() {
        this.importer.importers.field.fields.peek().formFieldProperties.entryMacro = string.StringUtils.trim(this.value);
    }
    createEmptyClone() {
        return new FormFieldEntryMacroDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/form-field-exit-macro-destination.ts



class FormFieldExitMacroDestination extends UnicodeStringValueDestination {
    get destinationType() { return DestinationType.FormFieldExitMacroDestination; }
    afterPopRtfState() {
        this.importer.importers.field.fields.peek().formFieldProperties.exitMacro = string.StringUtils.trim(this.value);
    }
    createEmptyClone() {
        return new FormFieldExitMacroDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/form-field-help-text-destination.ts



class FormFieldHelpTextDestination extends UnicodeStringValueDestination {
    get destinationType() { return DestinationType.FormFieldHelpTextDestination; }
    afterPopRtfState() {
        this.importer.importers.field.fields.peek().formFieldProperties.helpText = string.StringUtils.trim(this.value);
    }
    createEmptyClone() {
        return new FormFieldHelpTextDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/form-field-name-destination.ts



class FormFieldNameDestination extends UnicodeStringValueDestination {
    get destinationType() { return DestinationType.FormFieldNameDestination; }
    afterPopRtfState() {
        this.importer.importers.field.fields.peek().formFieldProperties.name = string.StringUtils.trim(this.value);
    }
    createEmptyClone() {
        return new FormFieldNameDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/form-field-destination.ts








class FormFieldDestination extends FieldSubDestination {
    get destinationType() { return DestinationType.FormFieldDestination; }
    createInstance() {
        return new FormFieldDestination(this.importer);
    }
    static getFormFieldProperties(importer) {
        return importer.importers.field.fields.peek().formFieldProperties;
    }
    static getCheckBoxProperties(importer) {
        return importer.importers.field.fields.peek().checkBoxProperties;
    }
    static onFormFieldTypeKeyword(importer, parameterValue, _hasParameter) {
        if (parameterValue == 1)
            importer.importers.field.fields.peek().checkBoxProperties = new CheckBoxProperties();
    }
    static onFormFieldListFieldResultKeyword(importer, parameterValue, _hasParameter) {
        const checkBoxProperties = FormFieldDestination.getCheckBoxProperties(importer);
        if (checkBoxProperties != null)
            checkBoxProperties.checkBoxState = parameterValue;
    }
    static onFormFieldProtectedKeyword(importer, _parameterValue, _hasParameter) {
        FormFieldDestination.getFormFieldProperties(importer).enabled = false;
    }
    static onFormFieldCheckBoxFieldSizeTypeKeyword(importer, parameterValue, _hasParameter) {
        const checkBoxProperties = FormFieldDestination.getCheckBoxProperties(importer);
        if (checkBoxProperties != null)
            checkBoxProperties.sizeType = parameterValue;
    }
    static onFormFieldCalculatedOnExitKeyword(importer, _parameterValue, _hasParameter) {
        FormFieldDestination.getFormFieldProperties(importer).calculateOnExit = true;
    }
    static onFormFieldCheckBoxFieldSizeKeyword(importer, parameterValue, _hasParameter) {
        const checkBoxProperties = FormFieldDestination.getCheckBoxProperties(importer);
        if (checkBoxProperties != null)
            checkBoxProperties.size = parameterValue;
    }
    static onFormFieldNameKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new FormFieldNameDestination(importer);
    }
    static onFormFieldListFieldDefaultKeyword(importer, parameterValue, _hasParameter) {
        const checkBoxProperties = FormFieldDestination.getCheckBoxProperties(importer);
        if (checkBoxProperties != null)
            checkBoxProperties.defaultState = parameterValue != 0;
    }
    static onFormFieldHelpTextCustomKeyword(importer, _parameterValue, _hasParameter) {
        FormFieldDestination.getFormFieldProperties(importer).helpTextType = FormFieldTextType.Custom;
    }
    static onFormFieldHelpTextKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new FormFieldHelpTextDestination(importer);
    }
    static onFormFieldStatusBarTextCustomKeyword(importer, _parameterValue, _hasParameter) {
        FormFieldDestination.getFormFieldProperties(importer).statusTextType = FormFieldTextType.Custom;
    }
    static onFormFieldStatusBarTextKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new FieldStatusBarTextDestination(importer);
    }
    static onFormFieldEntryMacroKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new FormFieldEntryMacroDestination(importer);
    }
    static onFormFieldExitMacroKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new FormFieldExitMacroDestination(importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/fields/mail-merge-destination.ts




class MailMergeProperties {
}
class MailMergeDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.mmProps = new MailMergeProperties();
    }
    get destinationType() { return DestinationType.MailMergeDestination; }
    get controlCharHT() { return null; }
    static onConnectionStringKeyword(importer, _parameterValue, _hasParameter) {
        const properties = importer.destination.mmProps;
        importer.destination = new StringPropertyBaseDestination(importer, (value) => {
            properties.connectionString = value;
        });
    }
    static onQueryKeyword(importer, _parameterValue, _hasParameter) {
        const properties = importer.destination.mmProps;
        importer.destination = new StringPropertyBaseDestination(importer, (value) => {
            properties.query = value;
        });
    }
    static onDataSourceKeyword(importer, _parameterValue, _hasParameter) {
        const properties = importer.destination.mmProps;
        importer.destination = new StringPropertyBaseDestination(importer, (value) => {
            properties.dataSource = value;
        });
    }
    static onFieldMapDataKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new FieldMapDataDestination(importer);
    }
    createClone() {
        return new MailMergeDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/table/skip-nested-table-destination.ts


class SkipNestedTableDestination extends SkipDestination {
    get destinationType() { return DestinationType.SkipNestedTableDestination; }
    static onParKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = importer.createDefaultDestination();
    }
    createClone() {
        return new SkipNestedTableDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/character-properties.ts


const characterPropertiesKeywords = new map_creator/* MapCreator */.M()
    .add("deleted", DestinationSubDocument.onDeletedKeyword)
    .add("b", DestinationSubDocument.onBoldKeyword)
    .add("i", DestinationSubDocument.onItalicKeyword)
    .add("ul", DestinationSubDocument.onUnderlineSingleKeyword)
    .add("uld", DestinationSubDocument.onUnderlineDottedKeyword)
    .add("uldash", DestinationSubDocument.onUnderlineDashedKeyword)
    .add("uldashd", DestinationSubDocument.onUnderlineDashDottedKeyword)
    .add("uldashdd", DestinationSubDocument.onUnderlineDashDotDottedKeyword)
    .add("uldb", DestinationSubDocument.onUnderlineDoubleKeyword)
    .add("ulhwave", DestinationSubDocument.onUnderlineHeavyWaveKeyword)
    .add("ulldash", DestinationSubDocument.onUnderlineLongDashedKeyword)
    .add("ulth", DestinationSubDocument.onUnderlineThickSingleKeyword)
    .add("ulthd", DestinationSubDocument.onUnderlineThickDottedKeyword)
    .add("ulthdash", DestinationSubDocument.onUnderlineThickDashedKeyword)
    .add("ulthdashd", DestinationSubDocument.onUnderlineThickDashDottedKeyword)
    .add("ulthdashdd", DestinationSubDocument.onUnderlineThickDashDotDottedKeyword)
    .add("ulthldash", DestinationSubDocument.onUnderlineThickLongDashedKeyword)
    .add("ululdbwave", DestinationSubDocument.onUnderlineDoubleWaveKeyword)
    .add("ulwave", DestinationSubDocument.onUnderlineWaveKeyword)
    .add("ulw", DestinationSubDocument.onUnderlineWordsOnlyKeyword)
    .add("ulnone", DestinationSubDocument.onUnderlineNoneKeyword)
    .add("ulc", DestinationSubDocument.onUnderlineColorKeyword)
    .add("strike", DestinationSubDocument.onStrikeoutKeyword)
    .add("striked", DestinationSubDocument.onDoubleStrikeoutKeyword)
    .add("sub", DestinationSubDocument.onSubscriptKeyword)
    .add("super", DestinationSubDocument.onSuperscriptKeyword)
    .add("nosupersub", DestinationSubDocument.onNoSuperAndSubScriptKeyword)
    .add("lang", DestinationSubDocument.onLanguageKeyword)
    .add("langfe", DestinationSubDocument.onLanguageEastAsianKeyword)
    .add("langfenp", DestinationSubDocument.onLanguageEastAsianNpKeyword)
    .add("langnp", DestinationSubDocument.onLanguageNpKeyword)
    .add("noproof", DestinationSubDocument.onNoProofKeyword)
    .add("caps", DestinationSubDocument.onCapsKeyword)
    .add("scaps", DestinationSubDocument.onSmallCapsKeyword)
    .add("v", DestinationSubDocument.onHiddenTextKeyword)
    .add("fs", DestinationSubDocument.onFontSizeKeyword)
    .add("f", DestinationSubDocument.onFontNameKeyword)
    .add("af", DestinationSubDocument.onAssociatedFontNameKeyword)
    .add("cf", DestinationSubDocument.onForeColorKeyword)
    .add("highlight", DestinationSubDocument.onHighlightColorKeyword)
    .add("chshdng", DestinationSubDocument.onShadingKeyword)
    .add("chbghoriz", DestinationSubDocument.onHorizontalBackgroundPatternKeyword)
    .add("chbgvert", DestinationSubDocument.onVerticalBackgroundPatternKeyword)
    .add("chbgfdiag", DestinationSubDocument.onForwardDiagonalBackgroundPatternKeyword)
    .add("chbgbdiag", DestinationSubDocument.onBackwardDiagonalBackgroundPatternKeyword)
    .add("chbgcross", DestinationSubDocument.onCrossBackgroundPatternKeyword)
    .add("chbgdcross", DestinationSubDocument.onDiagonalCrossBackgroundPatternKeyword)
    .add("chbgdkhoriz", DestinationSubDocument.onDarkHorizontalBackgroundPatternKeyword)
    .add("chbgdkvert", DestinationSubDocument.onDarkVerticalBackgroundPatternKeyword)
    .add("chbgdkfdiag", DestinationSubDocument.onDarkForwardDiagonalBackgroundPatternKeyword)
    .add("chbgdkbdiag", DestinationSubDocument.onDarkBackwardDiagonalBackgroundPatternKeyword)
    .add("chbgdkcross", DestinationSubDocument.onDarkCrossBackgroundPatternKeyword)
    .add("chbgdkdcross", DestinationSubDocument.onDarkDiagonalCrossBackgroundPatternKeyword)
    .add("chcfpat", DestinationSubDocument.onFillColorKeyword)
    .add("chcbpat", DestinationSubDocument.onBackColorKeyword)
    .add("dbch", DestinationSubDocument.onDoubleByteCharactersKeyword)
    .add("loch", DestinationSubDocument.onLowAnsiFontNameKeyword)
    .add("hich", DestinationSubDocument.onHighAnsiFontNameKeyword)
    .add("rtlch", DestinationSubDocument.onRTLRunKeyword)
    .add("ltrch", DestinationSubDocument.onLTRRunKeyword)
    .get();

// EXTERNAL MODULE: ./src/common/model/color/enums.ts
var color_enums = __webpack_require__(3371);
// EXTERNAL MODULE: ./src/common/model/themes/theme-drawing-color-collection.ts
var theme_drawing_color_collection = __webpack_require__(9126);
;// CONCATENATED MODULE: ./src/common/formats/utils/color/theme-color-index-calculator.ts




class ThemeColorIndexCalculator {
    static calculateThemeColorIndex(themeValue) {
        const schemeValue = ThemeColorIndexCalculator.richEditThemeColorValuesToSchemeColorValuesTranslationTable[themeValue];
        const themeColorIndex = theme_drawing_color_collection/* ThemeDrawingColorCollection */.l.schemeColorValuesToThemeColorIndexTranslationTable[schemeValue];
        if (schemeValue !== undefined && themeColorIndex !== undefined)
            return themeColorIndex;
        const themeColorIndexVariantB = ThemeColorIndexCalculator.richEditThemeColorValuesToThemeColorIndexTranslationTable[themeValue];
        return themeColorIndexVariantB !== undefined ? themeColorIndexVariantB : color_enums/* ThemeColorIndexConstants */.uL.None;
    }
}
ThemeColorIndexCalculator.richEditThemeColorValuesToSchemeColorValuesTranslationTable = new map_creator/* MapCreator */.M()
    .add(color_enums/* ThemeColorValues */.KA.Accent1, themes_enums/* SchemeColorValues */.jH.Accent1)
    .add(color_enums/* ThemeColorValues */.KA.Accent2, themes_enums/* SchemeColorValues */.jH.Accent2)
    .add(color_enums/* ThemeColorValues */.KA.Accent3, themes_enums/* SchemeColorValues */.jH.Accent3)
    .add(color_enums/* ThemeColorValues */.KA.Accent4, themes_enums/* SchemeColorValues */.jH.Accent4)
    .add(color_enums/* ThemeColorValues */.KA.Accent5, themes_enums/* SchemeColorValues */.jH.Accent5)
    .add(color_enums/* ThemeColorValues */.KA.Accent6, themes_enums/* SchemeColorValues */.jH.Accent6)
    .add(color_enums/* ThemeColorValues */.KA.Background1, themes_enums/* SchemeColorValues */.jH.Background1)
    .add(color_enums/* ThemeColorValues */.KA.Background2, themes_enums/* SchemeColorValues */.jH.Background2)
    .add(color_enums/* ThemeColorValues */.KA.Dark1, themes_enums/* SchemeColorValues */.jH.Text1)
    .add(color_enums/* ThemeColorValues */.KA.Dark2, themes_enums/* SchemeColorValues */.jH.Text2)
    .add(color_enums/* ThemeColorValues */.KA.FollowedHyperlink, themes_enums/* SchemeColorValues */.jH.FollowedHyperlink)
    .add(color_enums/* ThemeColorValues */.KA.Hyperlink, themes_enums/* SchemeColorValues */.jH.Hyperlink)
    .add(color_enums/* ThemeColorValues */.KA.Light1, themes_enums/* SchemeColorValues */.jH.Background1)
    .add(color_enums/* ThemeColorValues */.KA.Light2, themes_enums/* SchemeColorValues */.jH.Background2)
    .add(color_enums/* ThemeColorValues */.KA.Text1, themes_enums/* SchemeColorValues */.jH.Text1)
    .add(color_enums/* ThemeColorValues */.KA.Text2, themes_enums/* SchemeColorValues */.jH.Text2)
    .get();
ThemeColorIndexCalculator.richEditThemeColorValuesToThemeColorIndexTranslationTable = new map_creator/* MapCreator */.M()
    .add(color_enums/* ThemeColorValues */.KA.Accent1, color_enums/* ThemeColorIndexConstants */.uL.Accent1)
    .add(color_enums/* ThemeColorValues */.KA.Accent2, color_enums/* ThemeColorIndexConstants */.uL.Accent2)
    .add(color_enums/* ThemeColorValues */.KA.Accent3, color_enums/* ThemeColorIndexConstants */.uL.Accent3)
    .add(color_enums/* ThemeColorValues */.KA.Accent4, color_enums/* ThemeColorIndexConstants */.uL.Accent4)
    .add(color_enums/* ThemeColorValues */.KA.Accent5, color_enums/* ThemeColorIndexConstants */.uL.Accent5)
    .add(color_enums/* ThemeColorValues */.KA.Accent6, color_enums/* ThemeColorIndexConstants */.uL.Accent6)
    .add(color_enums/* ThemeColorValues */.KA.Background1, color_enums/* ThemeColorIndexConstants */.uL.Light1)
    .add(color_enums/* ThemeColorValues */.KA.Background2, color_enums/* ThemeColorIndexConstants */.uL.Light2)
    .add(color_enums/* ThemeColorValues */.KA.Dark1, color_enums/* ThemeColorIndexConstants */.uL.Dark1)
    .add(color_enums/* ThemeColorValues */.KA.Dark2, color_enums/* ThemeColorIndexConstants */.uL.Dark2)
    .add(color_enums/* ThemeColorValues */.KA.FollowedHyperlink, color_enums/* ThemeColorIndexConstants */.uL.FollowedHyperlink)
    .add(color_enums/* ThemeColorValues */.KA.Hyperlink, color_enums/* ThemeColorIndexConstants */.uL.Hyperlink)
    .add(color_enums/* ThemeColorValues */.KA.Light1, color_enums/* ThemeColorIndexConstants */.uL.Light1)
    .add(color_enums/* ThemeColorValues */.KA.Light2, color_enums/* ThemeColorIndexConstants */.uL.Light2)
    .add(color_enums/* ThemeColorValues */.KA.Text1, color_enums/* ThemeColorIndexConstants */.uL.Dark1)
    .add(color_enums/* ThemeColorValues */.KA.Text2, color_enums/* ThemeColorIndexConstants */.uL.Dark2)
    .add(color_enums/* ThemeColorValues */.KA.None, color_enums/* ThemeColorIndexConstants */.uL.None)
    .get();

// EXTERNAL MODULE: ./src/common/formats/utils/color/tint-and-shade-calculator.ts
var tint_and_shade_calculator = __webpack_require__(5653);
// EXTERNAL MODULE: ./src/common/model/color/color-model-info.ts
var color_model_info = __webpack_require__(4837);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/color.js
var utils_color = __webpack_require__(13);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/color-table-destination.ts








class ColorTableDestination extends DestinationBase {
    constructor() {
        super(...arguments);
        this.themeColorValue = color_enums/* ThemeColorValues */.KA.None;
        this.tint = ColorTableDestination.maxTintValue;
        this.shade = ColorTableDestination.maxTintValue;
    }
    get destinationType() { return DestinationType.ColorTableDestination; }
    get controlCharHT() { return null; }
    get cache() { return this.importer.documentModel.cache.colorModelInfoCache; }
    reset() {
        this.r = this.g = this.b = 0;
        this.wasColor = false;
        this.themeColorValue = color_enums/* ThemeColorValues */.KA.None;
        this.tint = this.shade = ColorTableDestination.maxTintValue;
    }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        if (hasParameter == false)
            parameterValue = 0;
        switch (keyword) {
            case "bin":
                return super.processKeywordCore(keyword, parameterValue, hasParameter);
            case "red":
                this.r = parameterValue;
                this.wasColor = true;
                break;
            case "green":
                this.g = parameterValue;
                this.wasColor = true;
                break;
            case "blue":
                this.b = parameterValue;
                this.wasColor = true;
                break;
            case "ctint":
                this.tint = this.calculateTintOrShade(parameterValue);
                this.wasColor = true;
                break;
            case "cshade":
                this.shade = this.calculateTintOrShade(parameterValue);
                this.wasColor = true;
                break;
            case "cmaindarkone":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Dark1;
                this.wasColor = true;
                break;
            case "cmainlightone":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Light1;
                this.wasColor = true;
                break;
            case "cmaindarktwo":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Dark2;
                this.wasColor = true;
                break;
            case "cmainlighttwo":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Light2;
                this.wasColor = true;
                break;
            case "caccentone":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Accent1;
                this.wasColor = true;
                break;
            case "caccenttwo":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Accent2;
                this.wasColor = true;
                break;
            case "caccentthree":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Accent3;
                this.wasColor = true;
                break;
            case "caccentfour":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Accent4;
                this.wasColor = true;
                break;
            case "caccentfive":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Accent5;
                this.wasColor = true;
                break;
            case "caccentsix":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Accent6;
                this.wasColor = true;
                break;
            case "chyperlink":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Hyperlink;
                this.wasColor = true;
                break;
            case "cfollowedhyperlink":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.FollowedHyperlink;
                this.wasColor = true;
                break;
            case "cbackgroundone":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Background1;
                this.wasColor = true;
                break;
            case "ctextone":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Text1;
                this.wasColor = true;
                break;
            case "cbackgroundtwo":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Background2;
                this.wasColor = true;
                break;
            case "ctexttwo":
                this.themeColorValue = color_enums/* ThemeColorValues */.KA.Text2;
                this.wasColor = true;
                break;
            default:
                return false;
        }
        return true;
    }
    createClone() {
        return new ColorTableDestination(this.importer);
    }
    isColorValid() {
        return this.r >= 0 && this.r <= 255 &&
            this.g >= 0 && this.g <= 255 &&
            this.b >= 0 && this.b <= 255 ||
            this.themeColorValue != color_enums/* ThemeColorValues */.KA.None;
    }
    calculateTintOrShade(value) {
        if (value > 255)
            return ColorTableDestination.maxTintValue;
        if (value < 0)
            return ColorTableDestination.minTintValue;
        return value;
    }
    processCharCore(ch) {
        if (ch == ';') {
            if (this.wasColor) {
                if (this.isColorValid()) {
                    const newColor = utils_color/* ColorUtils */.i.fromArgbNumber(255, this.r, this.g, this.b);
                    this.importer.documentProperties.colorIndexes.collection.push(this.cache.getItem(RtfColorImportHelper.createColorModelInfo(newColor, this.tint, this.shade, this.themeColorValue)));
                }
                else
                    this.importer.throwInvalidRtfFile();
            }
            else
                this.importer.documentProperties.colorIndexes.collection.push(this.cache.getItem(color_model_info/* ColorModelInfo */.k.makeByColor(dx_color/* DXColor */.F.empty)));
            this.reset();
        }
    }
}
ColorTableDestination.maxTintValue = 255;
ColorTableDestination.minTintValue = 0;
ColorTableDestination.autoColor = dx_color/* DXColor */.F.empty;
class RtfColorImportHelper {
    static createColorModelInfo(color, tint, shade, themeColorValue) {
        const colorModelInfo = color_model_info/* ColorModelInfo */.k.makeByColor(color);
        if (themeColorValue != color_enums/* ThemeColorValues */.KA.None) {
            const themeColorIndex = ThemeColorIndexCalculator.richEditThemeColorValuesToThemeColorIndexTranslationTable[themeColorValue];
            if (themeColorIndex != color_enums/* ThemeColorIndexConstants */.uL.None) {
                colorModelInfo.themeColorIndex = themeColorIndex;
                if (tint == tint_and_shade_calculator/* TintAndShadeCalculator */.f.maxTintValue)
                    colorModelInfo.tint = tint_and_shade_calculator/* TintAndShadeCalculator */.f.modifyShadeToTint(shade);
                else
                    colorModelInfo.tint = tint_and_shade_calculator/* TintAndShadeCalculator */.f.calculateTint(tint);
            }
        }
        return colorModelInfo;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/destination-revision-author-table.ts


class DestinationRevisionAuthorTable extends DestinationBase {
    constructor() {
        super(...arguments);
        this.author = "";
    }
    get destinationType() { return DestinationType.DestinationRevisionAuthorTable; }
    get controlCharHT() { return null; }
    get keywordHT() { return null; }
    processCharCore(ch) {
        if (ch == ';') {
            this.importer.importers.rangePermission.revisionAuthors.authors.push(this.author);
            this.author = "";
        }
        else
            this.author += ch;
    }
    createClone() {
        return new DestinationRevisionAuthorTable(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/font-table-destination.ts




class FontTableDestination extends DestinationBase {
    get destinationType() { return DestinationType.FontTableDestination; }
    get controlCharHT() { return null; }
    get keywordHT() { return null; }
    constructor(importer, nestedState = false) {
        super(importer);
        this.nestedState = nestedState;
        this.fontInfo = new RtfFontInfo();
        this.emptyFontInfo = true;
    }
    processKeywordCore(keyword, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 0;
        this.emptyFontInfo = false;
        switch (keyword) {
            case "f":
                this.fontInfo.id = parameterValue;
                break;
            case "fcharset":
                this.onFontCharset(parameterValue);
                break;
            case "bin":
                return super.processKeywordCore(keyword, parameterValue, hasParameter);
            default:
                return false;
        }
        return true;
    }
    createClone() {
        return new FontTableDestination(this.importer, true);
    }
    addFontInfo() {
        if (this.nestedState && this.emptyFontInfo)
            return;
        this.importer.importers.font.addRtfFontInfo(this.fontInfo);
        this.fontInfo = new RtfFontInfo();
        this.emptyFontInfo = true;
    }
    processCharCore(ch) {
        if (ch == ';') {
            this.addFontInfo();
            this.importer.setCodePage(this.importer.documentProperties.defaultCodePage);
        }
        else {
            if (this.fontInfo.name.length < 256)
                this.fontInfo.name += ch;
            this.emptyFontInfo = false;
        }
    }
    onFontCharset(parameterValue) {
        this.fontInfo.charset = parameterValue;
        if (this.fontInfo.charset >= 0)
            this.importer.setCodePage(DXEncoding.codePageFromCharset(this.fontInfo.charset));
    }
    beforePopRtfState() {
        if (this.nestedState && !this.emptyFontInfo)
            this.addFontInfo();
        super.beforePopRtfState();
    }
    afterPopRtfState() {
        const fontInfo = this.importer.importers.font.fonts.getRtfFontInfoById(this.importer.importers.font.defaultFontNumber);
        this.importer.importers.character.characterFormatting.coreProperties.fontInfo = fontInfo.getCoreObjectByName(this.importer.documentModel);
        if (fontInfo != this.importer.importers.font.fonts.defaultRtfFontInfo && fontInfo.charset >= 0)
            this.importer.documentProperties.defaultCodePage = DXEncoding.codePageFromCharset(fontInfo.charset);
        this.importer.setCodePage(this.importer.documentProperties.defaultCodePage);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/user-table-destination.ts



class UserTableDestination extends StringValueDestination {
    get destinationType() { return DestinationType.UserTableDestination; }
    nestedGroupFinished(nestedDestination) {
        super.nestedGroupFinished(nestedDestination);
        if (nestedDestination instanceof UserTableDestination) {
            const userName = string.StringUtils.trim(nestedDestination.value);
            this.importer.importers.rangePermission.userNames.push(userName);
        }
    }
    createEmptyClone() {
        return new UserTableDestination(this.importer);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/default-keywords.ts







const keywordHtDefault = new map_creator/* MapCreator */.M()
    .add("bin", DestinationBase.onBinKeyword)
    .add("colortbl", (data) => data.destination = new ColorTableDestination(data))
    .add("fonttbl", (data) => data.destination = new FontTableDestination(data))
    .add("protusertbl", (data) => data.destination = new UserTableDestination(data))
    .add("ansi", DestinationBase.onAnsiKeyword)
    .add("mac", DestinationBase.onMacKeyword)
    .add("pc", DestinationBase.onPcKeyword)
    .add("pca", DestinationBase.onPcaKeyword)
    .add("ansicpg", DestinationBase.onAnsiCodePageKeyword)
    .add("hyphauto", DestinationBase.onHyphAutoKeyword)
    .add("upr", (data) => data.destination = new UnicodeDestination(data, data.destination))
    .add("uc", DestinationBase.onUnicodeCountKeyword)
    .add("revtbl", (data) => data.destination = new DestinationRevisionAuthorTable(data))
    .add("u", DestinationBase.onUnicodeKeyword)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/document-properties.ts


const documentPropertiesKeywords = new map_creator/* MapCreator */.M()
    .add("category", InfoDestination.onCategoryKeyword)
    .add("creatim", InfoDestination.onCreatedKeyword)
    .add("doccomm", InfoDestination.onDescriptionKeyword)
    .add("author", InfoDestination.onCreatorKeyword)
    .add("keywords", InfoDestination.onKeywordsKeyword)
    .add("operator", InfoDestination.onLastModifiedByKeyword)
    .add("printim", InfoDestination.onLastPrintedKeyword)
    .add("revtim", InfoDestination.onModifiedKeyword)
    .add("version", InfoDestination.onRevisionKeyword)
    .add("subject", InfoDestination.onSubjectKeyword)
    .add("title", InfoDestination.onTitleKeyword)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/destination-old-paragraph-numbering-base.ts









class DestinationOldParagraphNumberingBase extends DestinationBase {
    constructor() {
        super(...arguments);
        this.textBefore = '';
        this.textAfter = '';
    }
    get destinationType() { return DestinationType.DestinationOldParagraphNumberingBase; }
    get controlCharHT() { return null; }
    static setNumberingListFormat(importer, format) {
        importer.importers.numbering.oldListLevelInfo.listLevelProperties.format = format;
    }
    static setUnderlineType(importer, underlineType) {
        importer.importers.character.characterFormatting.coreProperties.fontUnderlineType = underlineType;
    }
    static onCardinalKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.CardinalText);
    }
    static onDecimalKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.Decimal);
    }
    static onUpperCaseAlphabeticalKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.UpperLetter);
    }
    static onUpperCaseRomanKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.UpperRoman);
    }
    static onLowerCaseAlphabeticalKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.LowerLetter);
    }
    static onLowerCaseRomanKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.LowerRoman);
    }
    static onOrdinalKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.Ordinal);
    }
    static onOrdinalTextKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.OrdinalText);
    }
    static onNumberingInCircleKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setNumberingListFormat(importer, list_level_properties/* NumberingFormat */.uV.DecimalEnclosedCircle);
    }
    static onDashedUndrelineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.Dashed);
    }
    static onDashDottedUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.DashDotted);
    }
    static onDashDotDottedUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.DashDotDotted);
    }
    static onHairlineUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.ThickSingle);
    }
    static onThickUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.ThickSingle);
    }
    static onWaveUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.Wave);
    }
    static onDottedUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.Dotted);
    }
    static onDoubleUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.Double);
    }
    static onNoneUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        DestinationOldParagraphNumberingBase.setUnderlineType(importer, character_enums/* UnderlineType */.Xq.None);
    }
    static onContinuousUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.coreProperties.underlineWordsOnly = false;
    }
    static onWordUnderlineKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.character.characterFormatting.coreProperties.underlineWordsOnly = true;
    }
    static onFontNumberKeyword(importer, parameterValue, hasParameter) {
        const fontImporter = importer.importers.font;
        if (!hasParameter)
            parameterValue = fontImporter.defaultFontNumber;
        fontImporter.setFont(fontImporter.fonts.getRtfFontInfoById(parameterValue));
    }
    static onFontBoldKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.fontBold = val;
    }
    static onItalicKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.fontItalic = val;
    }
    static onAllCapsKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.allCaps = val;
    }
    static onSmallCapsKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.smallCaps = !val;
    }
    static onStrikeKeyword(importer, parameterValue, hasParameter) {
        const val = hasParameter ? parameterValue != 0 : true;
        importer.importers.character.characterFormatting.coreProperties.fontStrikeoutType = val ? character_enums/* StrikeoutType */.GO.Single : character_enums/* StrikeoutType */.GO.None;
    }
    static onForegroundColorKeyword(importer, parameterValue, hasParameter) {
        if (!hasParameter)
            parameterValue = 0;
        const oldSh = importer.importers.character.characterFormatting.coreProperties.shadingInfo;
        importer.importers.character.characterFormatting.coreProperties.shadingInfo = new shading_info/* ShadingInfo */.g(oldSh.shadingPattern, oldSh.backColor, DestinationSubDocument.getColorIndex(importer, parameterValue));
    }
    static onIndentKeyword(importer, parameterValue, _hasParameter) {
        const info = importer.importers.paragraph.paragraphFormatting;
        if (parameterValue < 0) {
            info.coreProperties.firstLineIndent = -parameterValue;
            info.coreProperties.firstLineIndentType = paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging;
        }
        else {
            info.coreProperties.firstLineIndent = parameterValue;
            info.coreProperties.firstLineIndentType = paragraph_properties/* ParagraphFirstLineIndent */.Qi.Indented;
        }
    }
    static onSpaceKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onUsePrevKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.numbering.oldListLevelInfo.includeInformationFromPreviousLevel = true;
    }
    static onStartAtKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.numbering.oldListLevelInfo.listLevelProperties.start = parameterValue;
    }
    static onHangingIndentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.coreProperties.firstLineIndentType = paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging;
    }
    static onRestartOnSectionBreakKeyword(_importer, _parameterValue, _hasParameter) {
    }
    static onCenterAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.numbering.oldListLevelInfo.listLevelProperties.alignment = list_level_properties/* ListNumberAlignment */.PX.Center;
    }
    static onLeftAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.numbering.oldListLevelInfo.listLevelProperties.alignment = list_level_properties/* ListNumberAlignment */.PX.Left;
    }
    static onRightAlignmentKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.numbering.oldListLevelInfo.listLevelProperties.alignment = list_level_properties/* ListNumberAlignment */.PX.Right;
    }
    static onTextBeforeKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new TextBeforeDestination(importer);
    }
    static onTextAfterKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination = new TextAfterDestination(importer);
    }
    nestedGroupFinished(nestedDestination) {
        super.nestedGroupFinished(nestedDestination);
        if (nestedDestination instanceof TextBeforeDestination) {
            this.textBefore = nestedDestination.value;
            return;
        }
        if (nestedDestination instanceof TextAfterDestination) {
            this.textAfter = nestedDestination.value;
            return;
        }
    }
    beforePopRtfState() {
        super.beforePopRtfState();
        this.importer.importers.numbering.oldListLevelInfo.textAfter = this.textAfter;
        this.importer.importers.numbering.oldListLevelInfo.textBefore = this.textBefore;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/destination-old-paragraph-numbering.ts









class DestinationOldParagraphNumbering extends DestinationOldParagraphNumberingBase {
    get destinationType() { return DestinationType.DestinationOldParagraphNumbering; }
    constructor(importer) {
        super(importer);
        this.oldLevelNumber = -1;
        if (importer.importers.numbering.oldListLevelInfo == null)
            importer.importers.numbering.oldListLevelInfo = new RtfOldListLevelInfo();
        importer.importers.character.characterFormatting.coreProperties.setAllUse();
        this.multiLevelListIndex = numbering_list_index_constants/* NumberingListIndexConstants */.R.listIndexNotSetted;
        this.simpleListIndex = numbering_list_index_constants/* NumberingListIndexConstants */.R.listIndexNotSetted;
    }
    static onParagraphLevelKeyword(importer, parameterValue, hasParameter) {
        if (hasParameter && parameterValue == 10) {
            DestinationOldParagraphNumbering.onSimpleNumberingKeyword(importer, 0, false);
            return;
        }
        importer.destination.oldLevelNumber = parameterValue;
        importer.destination.simpleList = false;
    }
    static onBulletedParagraphKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.numbering.oldListLevelInfo.listLevelProperties.format = list_level_properties/* NumberingFormat */.uV.Bullet;
    }
    static onSimpleNumberingKeyword(importer, _parameterValue, _hasParameter) {
        importer.destination.simpleList = true;
    }
    static onSkipNumberingKeyword(importer, _parameterValue, _hasParameter) {
        importer.importers.numbering.oldListLevelInfo.skipNumbering = true;
    }
    static onListOverrideKeyword(importer, parameterValue, _hasParameter) {
        const index = importer.importers.numbering.listOverrideIndexToNumberingListIndexMap[parameterValue];
        if (index !== undefined)
            importer.importers.paragraph.paragraphFormatting.paragraphListInfo.numberingListIndex = index;
        importer.destination.explicitNumberingListIndex = true;
    }
    static onListLevelKeyword(importer, parameterValue, _hasParameter) {
        importer.importers.paragraph.paragraphFormatting.paragraphListInfo.listLevelIndex = parameterValue;
        importer.destination.explicitListLevelIndex = true;
    }
    createClone() {
        const result = new DestinationOldParagraphNumbering(this.importer);
        return result;
    }
    beforePopRtfState() {
        super.beforePopRtfState();
        if (this.shouldCreateNewList()) {
            this.createNewList();
        }
        else {
            this.skipNumbering = this.isSkipNumbering();
            this.simpleListIndex = this.importer.importers.numbering.currentOldSimpleListIndex;
            this.multiLevelListIndex = this.importer.importers.numbering.currentOldMultiLevelListIndex;
        }
        if (this.explicitNumberingListIndex && this.explicitListLevelIndex) {
            this.listLevelIndex = this.importer.importers.paragraph.paragraphFormatting.listLevelIndex;
            this.numberingListIndex = this.importer.importers.paragraph.paragraphFormatting.numberingListIndex;
        }
        else
            this.listLevelIndex = this.oldLevelNumber >= 0 ? this.oldLevelNumber - 1 : 0;
    }
    afterPopRtfState() {
        super.afterPopRtfState();
        this.importer.importers.paragraph.paragraphFormatting.paragraphListInfo.listLevelIndex = this.listLevelIndex;
        const actualNumberingListIndex = this.isSimpleList() ? this.simpleListIndex : this.multiLevelListIndex;
        this.importer.importers.numbering.currentOldListSkipNumbering = this.skipNumbering;
        if (this.isOldNumberingListCreated) {
            this.importer.importers.numbering.currentOldMultiLevelListIndex = this.multiLevelListIndex;
            this.importer.importers.numbering.currentOldSimpleListIndex = this.simpleListIndex;
            this.importer.importers.numbering.currentOldSimpleList = this.simpleList;
        }
        if (this.explicitListLevelIndex && this.explicitNumberingListIndex) {
            this.importer.importers.paragraph.paragraphFormatting.paragraphListInfo.numberingListIndex = this.numberingListIndex;
            this.importer.importers.paragraph.paragraphFormatting.paragraphListInfo.listLevelIndex = this.listLevelIndex;
        }
        else
            this.importer.importers.paragraph.paragraphFormatting.paragraphListInfo.numberingListIndex = !this.skipNumbering ?
                actualNumberingListIndex : numbering_list_index_constants/* NumberingListIndexConstants */.R.noNumberingList;
    }
    createNewList() {
        const oldListLevelInfo = this.importer.importers.numbering.oldListLevelInfo;
        if (this.simpleList) {
            this.createSimpleNumberingListLevels();
            this.simpleListIndex = this.importer.documentModel.numberingLists.length - 1;
            this.multiLevelListIndex = this.importer.importers.numbering.currentOldMultiLevelListIndex;
        }
        else if (oldListLevelInfo.listLevelProperties.format == list_level_properties/* NumberingFormat */.uV.Bullet) {
            this.createBulletedListLevels();
            this.multiLevelListIndex = this.importer.documentModel.numberingLists.length - 1;
            this.simpleListIndex = this.importer.importers.numbering.currentOldSimpleListIndex;
        }
        else {
            this.createMultilevelListLevels();
            this.multiLevelListIndex = this.importer.documentModel.numberingLists.length - 1;
            this.simpleListIndex = this.importer.importers.numbering.currentOldSimpleListIndex;
        }
    }
    createMultilevelListLevels() {
        const documentModel = this.importer.documentModel;
        const abstractNumberingList = new numbering_list/* AbstractNumberingList */.pC(documentModel);
        documentModel.abstractNumberingLists.push(abstractNumberingList);
        for (let i = 0; i < abstractNumberingList.levels.length; i++) {
            const levelInfo = this.importer.importers.numbering.oldListLevelInfoCollection.getByIndex(i + 1);
            const level = abstractNumberingList.levels[i];
            const firstLineIndent = levelInfo.indent;
            const listLevelProperties = level.getListLevelProperties().clone();
            level.setListLevelProperties(listLevelProperties);
            this.setFirstLineIndent(abstractNumberingList.levels[i], firstLineIndent);
            level.getCharacterProperties().copyFrom(this.importer.importers.character.characterFormatting.coreProperties);
            let formatString = `${levelInfo.textBefore}{${i}}${levelInfo.textAfter}`;
            if (i > 0 && levelInfo.includeInformationFromPreviousLevel)
                formatString = abstractNumberingList.levels[i - 1].getListLevelProperties().displayFormatString + formatString;
            this.setDisplayFormatString(level, formatString);
            this.setLegacyProperties(level, 0, 0);
        }
        this.isOldNumberingListCreated = true;
        documentModel.numberingLists.push(new numbering_list/* NumberingList */.K6(documentModel, documentModel.abstractNumberingLists.length - 1));
    }
    createBulletedListLevels() {
        const documentModel = this.importer.documentModel;
        const levelOffset = unit_converter/* UnitConverter */.u.documentsToTwips(150);
        const abstractNumberingList = new numbering_list/* AbstractNumberingList */.pC(documentModel);
        documentModel.abstractNumberingLists.push(abstractNumberingList);
        for (let i = 0; i < abstractNumberingList.levels.length; i++) {
            const level = abstractNumberingList.levels[i];
            const listLevelProperties = level.getListLevelProperties().clone();
            level.setListLevelProperties(listLevelProperties);
            level.getCharacterProperties().copyFrom(this.importer.importers.character.characterFormatting.coreProperties);
            level.getListLevelProperties().format = list_level_properties/* NumberingFormat */.uV.Bullet;
            const firstLineIndent = levelOffset * i + this.importer.importers.paragraph.paragraphFormatting.coreProperties.firstLineIndent;
            this.setFirstLineIndent(level, firstLineIndent);
            this.setDisplayFormatString(level, this.importer.importers.numbering.oldListLevelInfo.textBefore + this.importer.importers.numbering.oldListLevelInfo.textAfter);
            this.setTemplateCode(level, numbering_helper/* NumberingHelper */.K.generateNewTemplateCode(documentModel));
            this.setLegacyProperties(level, 0, 0);
        }
        this.isOldNumberingListCreated = true;
        documentModel.numberingLists.push(new numbering_list/* NumberingList */.K6(documentModel, documentModel.abstractNumberingLists.length - 1));
    }
    createSimpleNumberingListLevels() {
        const documentModel = this.importer.documentModel;
        const addResult = this.shouldCreateNewAbstractSimpleList();
        const existingNumberingListIndex = addResult.existingNumberingListIndex;
        if (addResult.isSecceed) {
            const abstractNumberingList = new numbering_list/* AbstractNumberingList */.pC(documentModel);
            documentModel.abstractNumberingLists.push(abstractNumberingList);
            for (let i = 0; i < abstractNumberingList.levels.length; i++) {
                const level = abstractNumberingList.levels[i];
                const listLevelProperties = level.getListLevelProperties().clone();
                level.setListLevelProperties(listLevelProperties);
                level.getCharacterProperties().copyFrom(this.importer.importers.character.characterFormatting.coreProperties);
                const firstLineIndent = this.importer.importers.paragraph.paragraphFormatting.coreProperties.firstLineIndent + 150 * i;
                this.setFirstLineIndent(level, firstLineIndent);
                this.setDisplayFormatString(level, `${this.importer.importers.numbering.oldListLevelInfo.textBefore}{${i}}${this.importer.importers.numbering.oldListLevelInfo.textAfter}`);
                this.setTemplateCode(level, numbering_helper/* NumberingHelper */.K.generateNewTemplateCode(documentModel));
                this.setLegacyProperties(level, 0, 0);
                const start = this.importer.importers.numbering.oldListLevelInfo.listLevelProperties.start;
                if (start > 0)
                    level.getListLevelProperties().start = start;
                const numberingFormat = this.importer.importers.numbering.oldListLevelInfo.listLevelProperties.format;
                if (numberingFormat != list_level_properties/* NumberingFormat */.uV.Decimal)
                    level.getListLevelProperties().format = numberingFormat;
            }
            this.isOldNumberingListCreated = true;
            documentModel.numberingLists.push(new numbering_list/* NumberingList */.K6(documentModel, documentModel.abstractNumberingLists.length - 1));
            this.importer.importers.numbering.numberingListToOldListLevelInfoMap[documentModel.numberingLists.length - 1] = this.importer.importers.numbering.oldListLevelInfo.clone();
        }
        else {
            const abstractNumberingListIndex = documentModel.numberingLists[existingNumberingListIndex].abstractNumberingListIndex;
            const prevNumberingList = utils_list.ListUtils.last(documentModel.numberingLists);
            const newList = new numbering_list/* NumberingList */.K6(documentModel, abstractNumberingListIndex);
            const level = newList.levels[0];
            const start = this.importer.importers.numbering.oldListLevelInfo.listLevelProperties.start;
            if (start >= 0)
                level.getListLevelProperties().start = start;
            const numberingFormat = this.importer.importers.numbering.oldListLevelInfo.listLevelProperties.format;
            if (numberingFormat != list_level_properties/* NumberingFormat */.uV.Decimal)
                level.getListLevelProperties().format = numberingFormat;
            if (prevNumberingList != null && prevNumberingList.levels[0].getListLevelProperties().format != level.getListLevelProperties().format)
                level.overrideStart = true;
            level.getCharacterProperties().copyFrom(this.importer.importers.character.characterFormatting.coreProperties);
            const firstLineIndent = this.importer.importers.paragraph.paragraphFormatting.coreProperties.firstLineIndent;
            this.setFirstLineIndent(level, firstLineIndent);
            this.setDisplayFormatString(level, `${this.importer.importers.numbering.oldListLevelInfo.textBefore}{${0}}${this.importer.importers.numbering.oldListLevelInfo.textAfter}`);
            this.setTemplateCode(level, numbering_helper/* NumberingHelper */.K.generateNewTemplateCode(documentModel));
            this.setLegacyProperties(level, 0, 0);
            documentModel.numberingLists.push(newList);
            this.importer.importers.numbering.numberingListToOldListLevelInfoMap[documentModel.numberingLists.length - 1] = this.importer.importers.numbering.oldListLevelInfo.clone();
        }
    }
    shouldCreateNewAbstractSimpleList() {
        let existingNumberingListIndex;
        if (this.importer.importers.numbering.currentOldSimpleList &&
            this.importer.importers.numbering.currentOldSimpleListIndex >= numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue) {
            existingNumberingListIndex = this.importer.importers.numbering.currentOldSimpleListIndex;
            let oldListLevelInfo = this.importer.importers.numbering.numberingListToOldListLevelInfoMap[existingNumberingListIndex];
            if (!oldListLevelInfo)
                return { isSecceed: true, existingNumberingListIndex: existingNumberingListIndex };
            return { isSecceed: !this.areSameInfo(oldListLevelInfo, this.importer.importers.numbering.oldListLevelInfo), existingNumberingListIndex: existingNumberingListIndex };
        }
        existingNumberingListIndex = numbering_list_index_constants/* NumberingListIndexConstants */.R.listIndexNotSetted;
        let prevParagraphIndex = this.importer.subDocument.paragraphs.length - 1 - 1;
        for (; prevParagraphIndex >= 0; prevParagraphIndex--) {
            const prevParagraph = this.importer.subDocument.paragraphs[prevParagraphIndex];
            if (!prevParagraph.isInList()) {
                if (prevParagraph.numberingListIndex == numbering_list_index_constants/* NumberingListIndexConstants */.R.noNumberingList)
                    continue;
                return { isSecceed: true, existingNumberingListIndex: existingNumberingListIndex };
            }
            const numberingListIndex = prevParagraph.numberingListIndex;
            const prevOldListLevelInfo = this.importer.importers.numbering.numberingListToOldListLevelInfoMap[numberingListIndex];
            if (!prevOldListLevelInfo)
                return { isSecceed: true, existingNumberingListIndex: existingNumberingListIndex };
            if (!this.areSameInfo(prevOldListLevelInfo, this.importer.importers.numbering.oldListLevelInfo))
                return { isSecceed: true, existingNumberingListIndex: existingNumberingListIndex };
            existingNumberingListIndex = numberingListIndex;
            return { isSecceed: false, existingNumberingListIndex: existingNumberingListIndex };
        }
        return { isSecceed: true, existingNumberingListIndex: existingNumberingListIndex };
    }
    setLegacyProperties(level, legacyIndent, legacySpace) {
        level.getListLevelProperties().legacy = true;
        level.getListLevelProperties().legacySpace = legacyIndent;
        level.getListLevelProperties().legacyIndent = legacySpace;
    }
    setDisplayFormatString(level, displayFormatString) {
        level.getListLevelProperties().displayFormatString = displayFormatString;
    }
    setFirstLineIndent(level, lineIndent) {
        level.getParagraphProperties().leftIndent = lineIndent;
    }
    setTemplateCode(level, templateCode) {
        level.getListLevelProperties().templateCode = templateCode;
    }
    shouldCreateNewList() {
        if (this.isNewListLevelInfoPresent())
            return false;
        if (this.isMultilevelList())
            return (!this.sectionMultiLevelListCreated());
        if (this.isSimpleList())
            return true;
        if (this.isSkipNumbering())
            return false;
        return true;
    }
    isNewListLevelInfoPresent() {
        if (this.explicitListLevelIndex && this.explicitNumberingListIndex)
            return true;
        if (this.isSimpleList()) {
            if (this.simpleListIndex < numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue)
                return false;
            const existingListLevelInfo = this.importer.importers.numbering.numberingListToOldListLevelInfoMap[this.simpleListIndex];
            if (!existingListLevelInfo)
                return false;
            return this.areSameInfo(existingListLevelInfo, this.importer.importers.numbering.oldListLevelInfo);
        }
        else
            return this.multiLevelListIndex >= numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue;
    }
    areSameInfo(existingListLevelInfo, rtfOldListLevelInfo) {
        return existingListLevelInfo.textAfter === rtfOldListLevelInfo.textAfter
            && existingListLevelInfo.textBefore === rtfOldListLevelInfo.textBefore
            && existingListLevelInfo.listLevelProperties.format === rtfOldListLevelInfo.listLevelProperties.format;
    }
    isSimpleList() {
        return this.simpleList;
    }
    isMultilevelList() {
        return (this.oldLevelNumber >= 0) && !this.simpleList;
    }
    sectionMultiLevelListCreated() {
        return this.importer.importers.numbering.currentOldMultiLevelListIndex >= numbering_list_index_constants/* NumberingListIndexConstants */.R.minValue;
    }
    isSkipNumbering() {
        return this.importer.importers.numbering.oldListLevelInfo.skipNumbering;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/paragraph-numbering-desc-keywords.ts




const paragraphNumberingDescKeywords = new map_creator/* MapCreator */.M()
    .add("pncard", DestinationOldParagraphNumberingBase.onCardinalKeyword)
    .add("pndec", DestinationOldParagraphNumberingBase.onDecimalKeyword)
    .add("pnucltr", DestinationOldParagraphNumberingBase.onUpperCaseAlphabeticalKeyword)
    .add("pnucrm", DestinationOldParagraphNumberingBase.onUpperCaseRomanKeyword)
    .add("pnlcltr", DestinationOldParagraphNumberingBase.onLowerCaseAlphabeticalKeyword)
    .add("pnlcrm", DestinationOldParagraphNumberingBase.onLowerCaseRomanKeyword)
    .add("pnord", DestinationOldParagraphNumberingBase.onOrdinalKeyword)
    .add("pnordt", DestinationOldParagraphNumberingBase.onOrdinalTextKeyword)
    .add("pncnum", DestinationOldParagraphNumberingBase.onNumberingInCircleKeyword)
    .add("pnuldash", DestinationOldParagraphNumberingBase.onDashedUndrelineKeyword)
    .add("pnuldashd", DestinationOldParagraphNumberingBase.onDashDottedUnderlineKeyword)
    .add("pnuldashdd", DestinationOldParagraphNumberingBase.onDashDotDottedUnderlineKeyword)
    .add("pnulhair", DestinationOldParagraphNumberingBase.onHairlineUnderlineKeyword)
    .add("pnulth", DestinationOldParagraphNumberingBase.onThickUnderlineKeyword)
    .add("pnulwave", DestinationOldParagraphNumberingBase.onWaveUnderlineKeyword)
    .add("pnul", DestinationOldParagraphNumberingBase.onContinuousUnderlineKeyword)
    .add("pnuld", DestinationOldParagraphNumberingBase.onDottedUnderlineKeyword)
    .add("pnuldb", DestinationOldParagraphNumberingBase.onDoubleUnderlineKeyword)
    .add("pnulnone", DestinationOldParagraphNumberingBase.onNoneUnderlineKeyword)
    .add("pnulw", DestinationOldParagraphNumberingBase.onWordUnderlineKeyword)
    .add("pnf", DestinationOldParagraphNumberingBase.onFontNumberKeyword)
    .add("pnfs", DestinationSubDocument.onFontSizeKeyword)
    .add("pnb", DestinationOldParagraphNumberingBase.onFontBoldKeyword)
    .add("pni", DestinationOldParagraphNumberingBase.onItalicKeyword)
    .add("pncaps", DestinationOldParagraphNumberingBase.onAllCapsKeyword)
    .add("pnscaps", DestinationOldParagraphNumberingBase.onSmallCapsKeyword)
    .add("pnstrike", DestinationOldParagraphNumberingBase.onStrikeKeyword)
    .add("pncf", DestinationOldParagraphNumberingBase.onForegroundColorKeyword)
    .add("pnindent", DestinationOldParagraphNumberingBase.onIndentKeyword)
    .add("pnsp", DestinationOldParagraphNumberingBase.onSpaceKeyword)
    .add("pnprev", DestinationOldParagraphNumberingBase.onUsePrevKeyword)
    .add("pnstart", DestinationOldParagraphNumberingBase.onStartAtKeyword)
    .add("pnhang", DestinationOldParagraphNumberingBase.onHangingIndentKeyword)
    .add("pnrestart", DestinationOldParagraphNumberingBase.onRestartOnSectionBreakKeyword)
    .add("pnqc", DestinationOldParagraphNumberingBase.onCenterAlignmentKeyword)
    .add("pnql", DestinationOldParagraphNumberingBase.onLeftAlignmentKeyword)
    .add("pnqr", DestinationOldParagraphNumberingBase.onRightAlignmentKeyword)
    .add("pntxtb", DestinationOldParagraphNumberingBase.onTextBeforeKeyword)
    .add("pntxta", DestinationOldParagraphNumberingBase.onTextAfterKeyword)
    .add("pnlvlbody", DestinationOldParagraphNumbering.onSimpleNumberingKeyword)
    .add("pnlvlblt", DestinationOldParagraphNumbering.onBulletedParagraphKeyword)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/paragraph-properties.ts


const addParagraphPropertiesKeywords = new map_creator/* MapCreator */.M()
    .add("brdrt", DestinationSubDocument.onTopParagraphBorderKeyword)
    .add("brdrb", DestinationSubDocument.onBottomParagraphBorderKeyword)
    .add("brdrl", DestinationSubDocument.onLeftParagraphBorderKeyword)
    .add("brdrr", DestinationSubDocument.onRightParagraphBorderKeyword)
    .add("brdrbtw", DestinationSubDocument.onBetweenParagraphBorderKeyword)
    .add("brdrbar", DestinationSubDocument.onBarParagraphBorderKeyword)
    .add("posx", DestinationSubDocument.onFrameHorizontalPositionKeyword)
    .add("posnegx", DestinationSubDocument.onFrameHorizontalPositionNegativeKeyword)
    .add("posxc", DestinationSubDocument.onFrameHorizontalAlignmentCenterKeyword)
    .add("posxi", DestinationSubDocument.onFrameHorizontalAlignmentInsideKeyword)
    .add("posxo", DestinationSubDocument.onFrameHorizontalAlignmentOutsideKeyword)
    .add("posxr", DestinationSubDocument.onFrameHorizontalAlignmentRightKeyword)
    .add("posxl", DestinationSubDocument.onFrameHorizontalAlignmentLeftKeyword)
    .add("posy", DestinationSubDocument.onFrameVerticalPositionKeyword)
    .add("posnegy", DestinationSubDocument.onFrameVerticalPositionNegativeKeyword)
    .add("posyil", DestinationSubDocument.onFrameVerticalAlignmentInlineKeyword)
    .add("posyt", DestinationSubDocument.onFrameVerticalAlignmentTopKeyword)
    .add("posyc", DestinationSubDocument.onFrameVerticalAlignmentCenterKeyword)
    .add("posyb", DestinationSubDocument.onFrameVerticalAlignmentBottomKeyword)
    .add("posyin", DestinationSubDocument.onFrameVerticalAlignmentInsideKeyword)
    .add("posyout", DestinationSubDocument.onFrameVerticalAlignmentOutsideKeyword)
    .add("absw", DestinationSubDocument.onFrameWidthKeyword)
    .add("absh", DestinationSubDocument.onFrameHeightKeyword)
    .add("dxfrtext", DestinationSubDocument.onFramePaddingKeyword)
    .add("dfrmtxty", DestinationSubDocument.onFrameVerticalPaddingKeyword)
    .add("dfrmtxtx", DestinationSubDocument.onFrameHorizontalPaddingKeyword)
    .add("phmrg", DestinationSubDocument.onParagraphHorizontalPositionTypeMarginKeyword)
    .add("phpg", DestinationSubDocument.onParagraphHorizontalPositionTypePageKeyword)
    .add("phcol", DestinationSubDocument.onParagraphHorizontalPositionTypeColumnKeyword)
    .add("pvmrg", DestinationSubDocument.onParagraphVerticalPositionTypeMarginKeyword)
    .add("pvpg", DestinationSubDocument.onParagraphVerticalPositionTypePageKeyword)
    .add("pvpara", DestinationSubDocument.onParagraphVerticalPositionTypeLineKeyword)
    .add("nowrap", DestinationSubDocument.onFrameNoWrapKeyword)
    .add("overlay", DestinationSubDocument.onFrameWrapOverlayKeyword)
    .add("wrapdefault", DestinationSubDocument.onFrameWrapDefaultKeyword)
    .add("wraparound", DestinationSubDocument.onFrameWrapAroundKeyword)
    .add("wraptight", DestinationSubDocument.onFrameWrapTightKeyword)
    .add("wrapthrough", DestinationSubDocument.onFrameWrapThroughKeyword)
    .add("abslock", DestinationSubDocument.onFrameLockAnchor)
    .add("ql", DestinationSubDocument.onAlignLeftKeyword)
    .add("qc", DestinationSubDocument.onAlignCenterKeyword)
    .add("qr", DestinationSubDocument.onAlignRightKeyword)
    .add("qd", DestinationSubDocument.onAlignJustifyKeyword)
    .add("qj", DestinationSubDocument.onAlignJustifyKeyword)
    .add("li", DestinationSubDocument.onLeftIndentKeyword)
    .add("lin", DestinationSubDocument.onLeftIndentKeyword)
    .add("ri", DestinationSubDocument.onRightIndentKeyword)
    .add("fi", DestinationSubDocument.onFirstLineIndentKeyword)
    .add("rin", DestinationSubDocument.onRightIndentKeyword)
    .add("sb", DestinationSubDocument.onSpacingBeforeKeyword)
    .add("sa", DestinationSubDocument.onSpacingAfterKeyword)
    .add("sl", DestinationSubDocument.onLineSpacingTypeKeyword)
    .add("slmult", DestinationSubDocument.onLineSpacingMultiplierKeyword)
    .add("hyphpar", DestinationSubDocument.onHyphenateParagraphKeyword)
    .add("noline", DestinationSubDocument.onSuppressLineNumbersKeyword)
    .add("contextualspace", DestinationSubDocument.onContextualSpacingKeyword)
    .add("pagebb", DestinationSubDocument.onPageBreakBeforeKeyword)
    .add("sbauto", DestinationSubDocument.onBeforeAutoSpacingKeyword)
    .add("saauto", DestinationSubDocument.onAfterAutoSpacingKeyword)
    .add("keepn", DestinationSubDocument.onKeepWithNextKeyword)
    .add("keep", DestinationSubDocument.onKeepLinesTogetherKeyword)
    .add("widctlpar", DestinationSubDocument.onWidowOrphanControlOnKeyword)
    .add("nowidctlpar", DestinationSubDocument.onWidowOrphanControlOffKeyword)
    .add("outlinelevel", DestinationSubDocument.onOutlineLevelKeyword)
    .add("shading", DestinationSubDocument.onParagraphShadingKeyword)
    .add("bghoriz", DestinationSubDocument.onParagraphHorizontalBackgroundPatternKeyword)
    .add("bgvert", DestinationSubDocument.onParagraphVerticalBackgroundPatternKeyword)
    .add("bgfdiag", DestinationSubDocument.onParagraphForwardDiagonalBackgroundPatternKeyword)
    .add("bgbdiag", DestinationSubDocument.onParagraphBackwardDiagonalBackgroundPatternKeyword)
    .add("bgcross", DestinationSubDocument.onParagraphCrossBackgroundPatternKeyword)
    .add("bgdcross", DestinationSubDocument.onParagraphDiagonalCrossBackgroundPatternKeyword)
    .add("bgdkhoriz", DestinationSubDocument.onParagraphDarkHorizontalBackgroundPatternKeyword)
    .add("bgdkvert", DestinationSubDocument.onParagraphDarkVerticalBackgroundPatternKeyword)
    .add("bgdkfdiag", DestinationSubDocument.onParagraphDarkForwardDiagonalBackgroundPatternKeyword)
    .add("bgdkbdiag", DestinationSubDocument.onParagraphDarkBackwardDiagonalBackgroundPatternKeyword)
    .add("bgdkcross", DestinationSubDocument.onParagraphDarkCrossBackgroundPatternKeyword)
    .add("bgdkdcross", DestinationSubDocument.onParagraphDarkDiagonalCrossBackgroundPatternKeyword)
    .add("cfpat", DestinationSubDocument.onParagraphFillColorKeyword)
    .add("cbpat", DestinationSubDocument.onParagraphBackgroundKeyword)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/shape-properties-destination-base-keywords.ts




const shapePropertiesDestinationBaseKeywords = new map_creator/* MapCreator */.M()
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLeft, ShapePropertiesDestinationBase.onShapeLeftKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeTop, ShapePropertiesDestinationBase.onShapeTopKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeBottom, ShapePropertiesDestinationBase.onShapeBottomKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeRight, ShapePropertiesDestinationBase.onShapeRightKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLid, ShapePropertiesDestinationBase.onShapeId)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeZOrder, ShapePropertiesDestinationBase.onShapeZOrderKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLegacyHorizontalPositionTypePage, ShapePropertiesDestinationBase.onShapeHorizontalPositionTypePageKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLegacyHorizontalPositionTypeMargin, ShapePropertiesDestinationBase.onShapeHorizontalPositionTypeMarginKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLegacyHorizontalPositionTypeColumn, ShapePropertiesDestinationBase.onShapeHorizontalPositionTypeColumnKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeIgnoreLegacyHorizontalPositionType, ShapePropertiesDestinationBase.onShapeHorizontalPositionTypeIgnoreKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLegacyVerticalPositionTypePage, ShapePropertiesDestinationBase.onShapeVerticalPositionTypePageKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLegacyVerticalPositionTypeMargin, ShapePropertiesDestinationBase.onShapeVerticalPositionTypeMarginKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLegacyVerticalPositionTypeParagraph, ShapePropertiesDestinationBase.onShapeVerticalPositionTypeParagraphKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeIgnoreLegacyVerticalPositionType, ShapePropertiesDestinationBase.onShapeVerticalPositionTypeIgnoreKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextType, ShapePropertiesDestinationBase.onShapeWrapTextTypeKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextSide, ShapePropertiesDestinationBase.onShapeWrapTextSideKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeWrapTextTypeZOrder, ShapePropertiesDestinationBase.onShapeWrapTextTypeZOrderKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeLocked, ShapePropertiesDestinationBase.onShapeLockedKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeText, ShapePropertiesDestinationBase.onShapeTextKeyword)
    .add("sp", ShapePropertiesDestinationBase.onShapePropertyKeyword)
    .add("shprslt", ShapePropertiesDestinationBase.onShapeResultKeyword)
    .add("bin", DestinationBase.onBinKeyword)
    .get();

;// CONCATENATED MODULE: ./src/common/model/fields/form-field-properties.ts


class FormFieldProperties {
    calculateHash() {
        return string.StringUtils.stringHashCode(this.name) ^
            math.MathUtils.somePrimes[0] * this.statusTextType;
    }
    equals(obj) {
        return obj &&
            this.name == obj.name &&
            this.enabled == obj.enabled &&
            this.calculateOnExit == obj.calculateOnExit &&
            this.helpTextType == obj.helpTextType &&
            this.helpText == obj.helpText &&
            this.statusTextType == obj.statusTextType &&
            this.statusText == obj.statusText &&
            this.entryMacro == obj.entryMacro &&
            this.exitMacro == obj.exitMacro;
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    copyFrom(obj) {
        obj.name = this.name;
        obj.enabled = this.enabled;
        obj.calculateOnExit = this.calculateOnExit;
        obj.helpTextType = this.helpTextType;
        obj.helpText = this.helpText;
        obj.statusTextType = this.statusTextType;
        obj.statusText = this.statusText;
        obj.entryMacro = this.entryMacro;
        obj.exitMacro = this.exitMacro;
        obj.hash = this.hash;
    }
    clone() {
        const result = new FormFieldProperties();
        result.copyFrom(this);
        return result;
    }
}
var FormFieldPropertiesMask;
(function (FormFieldPropertiesMask) {
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseNone"] = 0] = "UseNone";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseName"] = 4] = "UseName";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseEnabled"] = 8] = "UseEnabled";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseCalculateOnExit"] = 16] = "UseCalculateOnExit";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseHelpTextType"] = 32] = "UseHelpTextType";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseHelpText"] = 64] = "UseHelpText";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseStatusTextType"] = 128] = "UseStatusTextType";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseStatusText"] = 256] = "UseStatusText";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseEntryMacro"] = 512] = "UseEntryMacro";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseExitMacro"] = 1024] = "UseExitMacro";
    FormFieldPropertiesMask[FormFieldPropertiesMask["UseAll"] = 2147483647] = "UseAll";
})(FormFieldPropertiesMask || (FormFieldPropertiesMask = {}));
class MaskedFormFieldProperties extends (/* unused pure expression or super */ null && (FormFieldProperties)) {
    constructor() {
        super(...arguments);
        this.useValue = FormFieldPropertiesMask.UseNone;
    }
    calculateHash() {
        return super.calculateHash() +
            MathUtils.somePrimes[15] * this.useValue;
    }
    getUseValue(value) {
        return (this.useValue & value) != 0;
    }
    setUseValue(mask, value) {
        if (value)
            this.useValue |= mask;
        else
            this.useValue &= ~mask;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.useValue == obj.useValue;
    }
    clone() {
        const result = new MaskedFormFieldProperties();
        result.copyFrom(this);
        result.useValue = this.useValue;
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/bookmark/bookmark-destination-base.ts



class BookmarkDestinationBase extends UnicodeStringValueDestination {
    get destinationType() { return DestinationType.HexContentDestination; }
    afterPopRtfState() {
        const bookmarkName = string.StringUtils.trim(this.value);
        if (!string.StringUtils.isNullOrEmpty(bookmarkName))
            this.assignBookmarkPosition(this.importer.importers.bookmark.getBookmarkByName(bookmarkName));
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/bookmark/bookmark-end-destination.ts


class BookmarkEndDestination extends BookmarkDestinationBase {
    get destinationType() { return DestinationType.BookmarkEndDestination; }
    createEmptyClone() {
        return new BookmarkEndDestination(this.importer);
    }
    assignBookmarkPosition(bookmark) {
        bookmark.end = this.importer.importers.character.logPosition;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/bookmark/bookmark-start-destination.ts


class BookmarkStartDestination extends BookmarkDestinationBase {
    get destinationType() { return DestinationType.BookmarkStartDestination; }
    createEmptyClone() {
        return new BookmarkStartDestination(this.importer);
    }
    assignBookmarkPosition(bookmark) {
        bookmark.start = this.importer.importers.character.logPosition;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/document-variable-destination.ts



class DocumentVariableDestination extends StringValueDestination {
    constructor() {
        super(...arguments);
        this.isNameRead = true;
    }
    get destinationType() { return DestinationType.DocumentVariableDestination; }
    createEmptyClone() {
        return new DocumentVariableDestination(this.importer);
    }
    afterPopRtfState() {
        super.afterPopRtfState();
        if (!string.StringUtils.isNullOrEmpty(this.name) && !string.StringUtils.isNullOrEmpty(this.ownValue))
            this.importer.documentModel.docVariables.addValue(this.name, this.ownValue);
    }
    nestedGroupFinished(nestedDestination) {
        super.nestedGroupFinished(nestedDestination);
        if (!(nestedDestination instanceof DocumentVariableDestination))
            return;
        const nestedValue = string.StringUtils.trim(nestedDestination.value);
        if (this.isNameRead) {
            this.name = nestedValue;
            this.isNameRead = false;
        }
        else
            this.ownValue = nestedValue;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/numbering-list/destination-old-section-numbering-level.ts



class DestinationOldSectionNumberingLevel extends DestinationOldParagraphNumberingBase {
    get destinationType() { return DestinationType.DestinationOldSectionNumberingLevel; }
    constructor(importer, levelNumber) {
        super(importer);
        importer.importers.numbering.oldListLevelInfo = new RtfOldListLevelInfo();
        this.levelNumber = levelNumber;
    }
    createClone() {
        const result = new DestinationOldSectionNumberingLevel(this.importer, this.levelNumber);
        return result;
    }
    beforePopRtfState() {
        super.beforePopRtfState();
        this.importer.importers.numbering.oldListLevelInfoCollection.getByIndex(this.levelNumber).copyFrom(this.createRtfOldListLevelInfo());
    }
    createRtfOldListLevelInfo() {
        const result = new RtfOldListLevelInfo();
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/translation-table/rtf-content-exporter.ts


class RtfContentExporter {
    static createPredefinedUserGroups() {
        return new map_creator/* MapCreator */.M()
            .add(0xFFFA, range_permissions/* RangePermission */.O.Current_GROUP_NAME)
            .add(0xFFFB, range_permissions/* RangePermission */.O.Editors_GROUP_NAME)
            .add(0xFFFC, range_permissions/* RangePermission */.O.Owners_GROUP_NAME)
            .add(0xFFFD, range_permissions/* RangePermission */.O.Contributors_GROUP_NAME)
            .add(0xFFFE, range_permissions/* RangePermission */.O.Administrators_GROUP_NAME)
            .add(0xFFFF, range_permissions/* RangePermission */.O.Everyone_GROUP_NAME)
            .get();
    }
}
RtfContentExporter.predefinedUserGroups = RtfContentExporter.createPredefinedUserGroups();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/range-permission/import-range-permission-info.ts



class ImportRangePermissionInfo extends ImportBookmarkInfoCore {
    constructor() {
        super();
        this.columnFirst = -1;
        this.columnLast = -1;
    }
    validate(subDocument) {
        if (string.StringUtils.isNullOrEmpty(this.userName) && string.StringUtils.isNullOrEmpty(this.group))
            return false;
        if (this.end - this.start < 0)
            return false;
        if (this.columnFirst >= 0 || this.columnLast >= 0)
            if (this.columnFirst < 0 || this.columnLast < 0 || main_structures_table/* Table */.iA == null)
                return false;
        return super.validate(subDocument);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/range-permission/range-permission-destination-base.ts






class RangePermissionDestinationBase extends StringValueDestination {
    get destinationType() { return DestinationType.RangePermissionDestinationBase; }
    afterPopRtfState() {
        const data = string.StringUtils.trim(this.value);
        if (!string.StringUtils.isNullOrEmpty(data) && data.length == 16) {
            let rangePermission = this.importer.importers.rangePermission.rangePermissions[data];
            if (!rangePermission) {
                rangePermission = new ImportRangePermissionInfo();
                rangePermission.userName = this.obtainUserName(data);
                rangePermission.group = this.obtainGroupName(data);
                this.importer.importers.rangePermission.rangePermissions[data] = rangePermission;
            }
            this.assignRangePermissionPosition(rangePermission);
        }
    }
    obtainUserName(data) {
        const value = this.obtainUserId(data);
        return this.importer.importers.rangePermission.getUserNameById(value);
    }
    obtainGroupName(data) {
        const value = this.obtainUserId(data);
        let result = RtfContentExporter.predefinedUserGroups[value];
        return result != undefined ? result : "";
    }
    obtainUserId(data) {
        const valueLow = parseInt(data.substr(0, 2), 16);
        if (isNaN(valueLow))
            return constants.Constants.MIN_SAFE_INTEGER;
        const valueHigh = parseInt(data.substr(2, 2), 16);
        if (isNaN(valueHigh))
            return constants.Constants.MIN_SAFE_INTEGER;
        return (valueHigh << 8) | valueLow;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/range-permission/range-permission-end-destination.ts


class RangePermissionEndDestination extends RangePermissionDestinationBase {
    get destinationType() { return DestinationType.RangePermissionEndDestination; }
    createEmptyClone() {
        return new RangePermissionEndDestination(this.importer);
    }
    assignRangePermissionPosition(rangePermission) {
        rangePermission.end = this.importer.importers.character.logPosition + 1;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/destination/range-permission/range-permission-start-destination.ts


class RangePermissionStartDestination extends RangePermissionDestinationBase {
    get destinationType() { return DestinationType.RangePermissionStartDestination; }
    createEmptyClone() {
        return new RangePermissionStartDestination(this.importer);
    }
    assignRangePermissionPosition(rangePermission) {
        rangePermission.start = this.importer.importers.character.logPosition;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/sub-document/table-keywords.ts



const appendTablePropertiesKeywords = new map_creator/* MapCreator */.M()
    .add("trowd", DestinationSubDocument.onTableRowDefaultsKeyword)
    .add("ts", DestinationSubDocument.onTableStyleKeyword)
    .add("cellx", DestinationSubDocument.onCellxKeyword)
    .add("clwWidth", DestinationSubDocument.onCellPreferredWidthKeyword)
    .add("clftsWidth", DestinationSubDocument.onWidthUnitTypeKeyword)
    .add("clmgf", DestinationSubDocument.onFirstHorizontalMergedCellKeyword)
    .add("clmrg", DestinationSubDocument.onNextHorizontalMergedCellKeyword)
    .add("clvmgf", DestinationSubDocument.onFirstVerticalMergedCellKeyword)
    .add("clvmrg", DestinationSubDocument.onNextVerticalMergedCellKeyword)
    .add("clFitText", DestinationSubDocument.onCellFitTextKeyword)
    .add("clNoWrap", DestinationSubDocument.onCellNoWrapKeyword)
    .add("tsvertalt", DestinationSubDocument.onCellVerticalAlignmentTopKeyword)
    .add("tsvertalc", DestinationSubDocument.onCellVerticalAlignmentCenterKeyword)
    .add("tsvertalb", DestinationSubDocument.onCellVerticalAlignmentBottomKeyword)
    .add("clhidemark", DestinationSubDocument.onCellHideMarkKeyword)
    .add("clpadb", DestinationSubDocument.onCellBottomCellMarginKeyword)
    .add("clpadl", DestinationSubDocument.onCellLeftCellMarginKeyword)
    .add("clpadr", DestinationSubDocument.onCellRightCellMarginKeyword)
    .add("clpadt", DestinationSubDocument.onCellTopCellMarginKeyword)
    .add("clpadfb", DestinationSubDocument.onCellBottomCellMarginUnitTypeKeyword)
    .add("clpadfl", DestinationSubDocument.onCellLeftCellMarginUnitTypeKeyword)
    .add("clpadfr", DestinationSubDocument.onCellRightCellMarginUnitTypeKeyword)
    .add("clpadft", DestinationSubDocument.onCellTopCellMarginUnitTypeKeyword)
    .add("clvertalt", DestinationSubDocument.onCellTextTopAlignmentKeyword)
    .add("clvertalc", DestinationSubDocument.onCellTextCenterVerticalAlignmentKeyword)
    .add("clvertalb", DestinationSubDocument.onCellTextBottomAlignmentKeyword)
    .add("cltxlrtb", DestinationSubDocument.onCellLeftToRightTopToBottomTextDirectionKeyword)
    .add("cltxtbrl", DestinationSubDocument.onCellTopToBottomRightToLeftTextDirectionKeyword)
    .add("cltxbtlr", DestinationSubDocument.onCellBottomToTopLeftToRightTextDirectionKeyword)
    .add("cltxlrtbv", DestinationSubDocument.onCellLeftToRightTopToBottomVerticalTextDirectionKeyword)
    .add("cltxtbrlv", DestinationSubDocument.onCellTopToBottomRightToLeftVerticalTextDirectionKeyword)
    .add("clcbpat", DestinationSubDocument.onCellBackgroundColorKeyword)
    .add("clcbpatraw", DestinationSubDocument.onCellBackgroundColorKeyword)
    .add("tscellcbpat", DestinationSubDocument.onCellBackgroundColorKeyword)
    .add("clcfpat", DestinationSubDocument.onCellForegroundColorKeyword)
    .add("clcfpatraw", DestinationSubDocument.onCellForegroundColorKeyword)
    .add("clshdng", DestinationSubDocument.onCellShadingKeyword)
    .add("clshdngraw", DestinationSubDocument.onCellShadingKeyword)
    .add("clshdrawnil", DestinationSubDocument.onCellNoShadingKeyword)
    .add("clbghoriz", DestinationSubDocument.onCellHorizontalBackgroundPatternKeyword)
    .add("rawclbghoriz", DestinationSubDocument.onCellHorizontalBackgroundPatternKeyword)
    .add("clbgvert", DestinationSubDocument.onCellVerticalBackgroundPatternKeyword)
    .add("rawclbgvert", DestinationSubDocument.onCellVerticalBackgroundPatternKeyword)
    .add("clbgfdiag", DestinationSubDocument.onCellForwardDiagonalBackgroundPatternKeyword)
    .add("rawclbgfdiag", DestinationSubDocument.onCellForwardDiagonalBackgroundPatternKeyword)
    .add("clbgbdiag", DestinationSubDocument.onCellBackwardDiagonalBackgroundPatternKeyword)
    .add("rawclbgbdiag", DestinationSubDocument.onCellBackwardDiagonalBackgroundPatternKeyword)
    .add("clbgcross", DestinationSubDocument.onCellCrossBackgroundPatternKeyword)
    .add("rawclbgcross", DestinationSubDocument.onCellCrossBackgroundPatternKeyword)
    .add("clbgdcross", DestinationSubDocument.onCellDiagonalCrossBackgroundPatternKeyword)
    .add("rawclbgdcross", DestinationSubDocument.onCellDiagonalCrossBackgroundPatternKeyword)
    .add("clbgdkhor", DestinationSubDocument.onCellDarkHorizontalBackgroundPatternKeyword)
    .add("rawclbgdkhor", DestinationSubDocument.onCellDarkHorizontalBackgroundPatternKeyword)
    .add("clbgdkvert", DestinationSubDocument.onCellDarkVerticalBackgroundPatternKeyword)
    .add("rawclbgdkvert", DestinationSubDocument.onCellDarkVerticalBackgroundPatternKeyword)
    .add("clbgdkfdiag", DestinationSubDocument.onCellDarkForwardDiagonalBackgroundPatternKeyword)
    .add("rawclbgdkfdiag", DestinationSubDocument.onCellDarkForwardDiagonalBackgroundPatternKeyword)
    .add("clbgdkbdiag", DestinationSubDocument.onCellDarkBackwardDiagonalBackgroundPatternKeyword)
    .add("rawclbgdkbdiag", DestinationSubDocument.onCellDarkBackwardDiagonalBackgroundPatternKeyword)
    .add("clbgdkcross", DestinationSubDocument.onCellDarkCrossBackgroundPatternKeyword)
    .add("rawclbgdkcross", DestinationSubDocument.onCellDarkCrossBackgroundPatternKeyword)
    .add("clbgdkdcross", DestinationSubDocument.onCellDarkDiagonalCrossBackgroundPatternKeyword)
    .add("rawclbgdkdcross", DestinationSubDocument.onCellDarkDiagonalCrossBackgroundPatternKeyword)
    .add("tscellcfpat", DestinationSubDocument.onCellForegroundColorKeyword)
    .add("tscellpct", DestinationSubDocument.onCellShadingKeyword)
    .add("tsbgbdiag", DestinationSubDocument.onCellBackwardDiagonalBackgroundPatternKeyword)
    .add("tsbgfdiag", DestinationSubDocument.onCellForwardDiagonalBackgroundPatternKeyword)
    .add("tsbgdkbdiag", DestinationSubDocument.onCellDarkBackwardDiagonalBackgroundPatternKeyword)
    .add("tsbgdkfdiag", DestinationSubDocument.onCellDarkForwardDiagonalBackgroundPatternKeyword)
    .add("tsbgcross", DestinationSubDocument.onCellCrossBackgroundPatternKeyword)
    .add("tsbgdcross", DestinationSubDocument.onCellDiagonalCrossBackgroundPatternKeyword)
    .add("tsbgdkcross", DestinationSubDocument.onCellDarkCrossBackgroundPatternKeyword)
    .add("tsbgdkdcross", DestinationSubDocument.onCellDarkDiagonalCrossBackgroundPatternKeyword)
    .add("tsbghoriz", DestinationSubDocument.onCellHorizontalBackgroundPatternKeyword)
    .add("tsbgvert", DestinationSubDocument.onCellVerticalBackgroundPatternKeyword)
    .add("tsbgdkhor", DestinationSubDocument.onCellDarkHorizontalBackgroundPatternKeyword)
    .add("tsbgdkvert", DestinationSubDocument.onCellDarkVerticalBackgroundPatternKeyword)
    .add("brdrtbl", DestinationSubDocument.onNoTableBorderKeyword)
    .add("clbrdrb", DestinationSubDocument.onBottomCellBorderKeyword)
    .add("clbrdrt", DestinationSubDocument.onTopCellBorderKeyword)
    .add("clbrdrl", DestinationSubDocument.onLeftCellBorderKeyword)
    .add("clbrdrr", DestinationSubDocument.onRightCellBorderKeyword)
    .add("cldglu", DestinationSubDocument.onUpperLeftToLowerRightBorderKeyword)
    .add("cldgll", DestinationSubDocument.onUpperRightToLowerLeftBorderKeyword)
    .add("trleft", DestinationSubDocument.onRowLeftKeyword)
    .add("trhdr", DestinationSubDocument.onRowHeaderKeyword)
    .add("trrh", DestinationSubDocument.onRowHeightKeyword)
    .add("trkeep", DestinationSubDocument.onRowKeepKeyword)
    .add("trqr", DestinationSubDocument.onTableRightAlignmentKeyword)
    .add("trql", DestinationSubDocument.onTableLeftAlignmentKeyword)
    .add("trqc", DestinationSubDocument.onTableCenterAlignmentKeyword)
    .add("trwWidthB", DestinationSubDocument.onWidthBeforeKeyword)
    .add("trftsWidthB", DestinationSubDocument.onWidthBeforeUnitTypeKeyword)
    .add("trwWidthA", DestinationSubDocument.onWidthAfterKeyword)
    .add("trftsWidthA", DestinationSubDocument.onWidthAfterUnitTypeKeyword)
    .add("trcbpat", DestinationSubDocument.onRowBackgroundColorKeyword)
    .add("trcfpat", DestinationSubDocument.onRowForegroundColorKeyword)
    .add("trpat", DestinationSubDocument.onRowPatternKeyword)
    .add("trshdng", DestinationSubDocument.onRowShadingKeyword)
    .add("trbgbdiag", DestinationSubDocument.onRowBackwardDiagonalPatternKeyword)
    .add("trbgcross", DestinationSubDocument.onRowCrossPatternKeyword)
    .add("trbgdcross", DestinationSubDocument.onRowDiagonalCrossPatternKeyword)
    .add("trbgdkbdiag", DestinationSubDocument.onRowDarkBackwardDiagonalPatternKeyword)
    .add("trbgdkcross", DestinationSubDocument.onRowDarkCrossPatternKeyword)
    .add("trbgdkdcross", DestinationSubDocument.onRowDarkDiagonalCrossPatternKeyword)
    .add("trbgdkfdiag", DestinationSubDocument.onRowDarkForwardDiagonalPatternKeyword)
    .add("trbgdkhor", DestinationSubDocument.onRowDarkHorizontalPatternKeyword)
    .add("trbgdkvert", DestinationSubDocument.onRowDarkVerticalPatternKeyword)
    .add("trbgfdiag", DestinationSubDocument.onRowForwardDiagonalPatternKeyword)
    .add("trbghoriz", DestinationSubDocument.onRowHorizontalPatternKeyword)
    .add("trbgvert", DestinationSubDocument.onRowVerticalPatternKeyword)
    .add("trgaph", DestinationSubDocument.onSpaceBetweenCellsKeyword)
    .add("trpaddb", DestinationSubDocument.onTableBottomCellMarginKeyword)
    .add("trpaddl", DestinationSubDocument.onTableLeftCellMarginKeyword)
    .add("trpaddr", DestinationSubDocument.onTableRightCellMarginKeyword)
    .add("trpaddt", DestinationSubDocument.onTableTopCellMarginKeyword)
    .add("trpaddfb", DestinationSubDocument.onTableBottomCellMarginUnitTypeKeyword)
    .add("trpaddfl", DestinationSubDocument.onTableLeftCellMarginUnitTypeKeyword)
    .add("trpaddfr", DestinationSubDocument.onTableRightCellMarginUnitTypeKeyword)
    .add("trpaddft", DestinationSubDocument.onTableTopCellMarginUnitTypeKeyword)
    .add("trspdb", DestinationSubDocument.onTableBottomCellSpacingKeyword)
    .add("trspdl", DestinationSubDocument.onTableLeftCellSpacingKeyword)
    .add("trspdr", DestinationSubDocument.onTableRightCellSpacingKeyword)
    .add("trspdt", DestinationSubDocument.onTableTopCellSpacingKeyword)
    .add("trspdfb", DestinationSubDocument.onTableBottomCellSpacingUnitTypeKeyword)
    .add("trspdfl", DestinationSubDocument.onTableLeftCellSpacingUnitTypeKeyword)
    .add("trspdfr", DestinationSubDocument.onTableRightCellSpacingUnitTypeKeyword)
    .add("trspdft", DestinationSubDocument.onTableTopCellSpacingUnitTypeKeyword)
    .add("trwWidth", DestinationSubDocument.onTablePreferredWidthKeyword)
    .add("trftsWidth", DestinationSubDocument.onTablePreferredWidthUnitTypeKeyword)
    .add("tblind", DestinationSubDocument.onTableIndentKeyword)
    .add("tblindtype", DestinationSubDocument.onTableIndentUnitType)
    .add("tabsnoovrlp", DestinationSubDocument.onTableOverlapKeyword)
    .add("tdfrmtxtLeft", DestinationSubDocument.onTableLeftFromTextKeyword)
    .add("tdfrmtxtRight", DestinationSubDocument.onTableRightFromTextKeyword)
    .add("tdfrmtxtTop", DestinationSubDocument.onTableTopFromTextKeyword)
    .add("tdfrmtxtBottom", DestinationSubDocument.onTableBottomFromTextKeyword)
    .add("tphcol", DestinationSubDocument.onColHorizontalAnchorKeyword)
    .add("tphmrg", DestinationSubDocument.onMarginHorizontalAnchorKeyword)
    .add("tphpg", DestinationSubDocument.onPageHorizontalAnchorKeyword)
    .add("tpvmrg", DestinationSubDocument.onMarginVerticalAnchorKeyword)
    .add("tpvpara", DestinationSubDocument.onParagraphVerticalAnchorKeword)
    .add("tpvpg", DestinationSubDocument.onPageVerticalAnchorKeyword)
    .add("tposx", DestinationSubDocument.onTableHorizontalPositionKeyword)
    .add("tposnegx", DestinationSubDocument.onTableHorizontalPositionKeyword)
    .add("tposy", DestinationSubDocument.onTableVerticalPositionKeyword)
    .add("tposnegy", DestinationSubDocument.onTableVerticalPositionKeyword)
    .add("tposxc", DestinationSubDocument.onCenterTableHorizontalAlignKeyword)
    .add("tposxi", DestinationSubDocument.onInsideTableHorizontalAlignKeyword)
    .add("tposxl", DestinationSubDocument.onLeftTableHorizontalAlignKeyword)
    .add("tposxo", DestinationSubDocument.onOutsideTableHorizontalAlignKeyword)
    .add("tposxr", DestinationSubDocument.onRightTableHorizontalAlignKeyword)
    .add("tposyb", DestinationSubDocument.onBottomTableVerticalAlignKeyword)
    .add("tposyc", DestinationSubDocument.onCenterTableVerticalAlignKeyword)
    .add("tposyil", DestinationSubDocument.onInlineTableVerticalAlignKeyword)
    .add("tposyin", DestinationSubDocument.onInsideTableVerticalAlignKeyword)
    .add("tposyout", DestinationSubDocument.onOutsideTableVerticalAlignKeyword)
    .add("tposyt", DestinationSubDocument.onTopTableVerticalAlignKeyword)
    .add("trautofit", DestinationSubDocument.onTableAutoFitKeyword)
    .add("tscbandsh", DestinationSubDocument.onRowBandSizeKeyword)
    .add("tscbandsv", DestinationSubDocument.onColumnBandSizeKeyword)
    .add("tsbrdrt", DestinationSubDocument.onTopCellBorderKeyword)
    .add("tsbrdrl", DestinationSubDocument.onLeftCellBorderKeyword)
    .add("tsbrdrb", DestinationSubDocument.onBottomCellBorderKeyword)
    .add("tsbrdrr", DestinationSubDocument.onRightCellBorderKeyword)
    .add("tsnowrap", DestinationSubDocument.onCellNoWrapKeyword)
    .add("tscellpaddb", DestinationSubDocument.onTableBottomCellMarginKeyword)
    .add("tscellpaddl", DestinationSubDocument.onTableLeftCellMarginKeyword)
    .add("tscellpaddr", DestinationSubDocument.onTableRightCellMarginKeyword)
    .add("tscellpaddt", DestinationSubDocument.onTableTopCellMarginKeyword)
    .add("tscellpaddfb", DestinationSubDocument.onTableBottomCellMarginUnitTypeKeyword)
    .add("tscellpaddfl", DestinationSubDocument.onTableLeftCellMarginUnitTypeKeyword)
    .add("tscellpaddfr", DestinationSubDocument.onTableRightCellMarginUnitTypeKeyword)
    .add("tscellpaddft", DestinationSubDocument.onTableTopCellMarginUnitTypeKeyword)
    .add("tsbrdrdgl", DestinationSubDocument.onUpperLeftToLowerRightBorderKeyword)
    .add("tsbrdrdgr", DestinationSubDocument.onUpperRightToLowerLeftBorderKeyword)
    .add("tsrowd", DestinationSubDocument.onTableRowDefaultsKeyword)
    .add("trbrdrt", DestinationSubDocument.onTopTableBorderKeyword)
    .add("trbrdrl", DestinationSubDocument.onLeftTableBorderKeyword)
    .add("trbrdrb", DestinationSubDocument.onBottomTableBorderKeword)
    .add("trbrdrr", DestinationSubDocument.onRightTableBorderKeyword)
    .add("trbrdrh", DestinationSubDocument.onHorizontalTableBorderKeyword)
    .add("trbrdrv", DestinationSubDocument.onVerticalTableBorderKeyword)
    .add("tbllkhdrrows", DestinationSubDocument.onApplyFirstRowConditionalFormattingKeyword)
    .add("tbllklastrow", DestinationSubDocument.onApplyLastRowConditionalFormattingKeyword)
    .add("tbllkhdrcols", DestinationSubDocument.onApplyFirstColumnContitionalFormattingKeyword)
    .add("tbllklastcol", DestinationSubDocument.onApplyLastColumnConditionalFormattingKeyword)
    .add("tbllknorowband", DestinationSubDocument.onDoNotApplyRowBandingConditionalFormattingKeyword)
    .add("tbllknocolband", DestinationSubDocument.onDoNotApplyColumnBandingConditionalFormattingKeyword)
    .add("ltrrow", DestinationSubDocument.onLtrRow)
    .add("rtlrow", DestinationSubDocument.onRtlRow)
    .add("brdrnil", DestinationSubDocument.onNoBorderKeyword)
    .add("brdrw", DestinationSubDocument.onBorderWidthKeyword)
    .add("brdrcf", DestinationSubDocument.onBorderColorKeyword)
    .add("brdrframe", DestinationSubDocument.onFrameBorderKeyword)
    .add("brsp", DestinationSubDocument.onBorderSpaceKeyword)
    .add("brdrs", DestinationSubDocument.onSingleThicknessBorderTypeKeyword)
    .add("brdrth", DestinationSubDocument.onDoubleThicknessBorderTypeKeyword)
    .add("brdrsh", DestinationSubDocument.onShadowedBorderTypeKeyword)
    .add("brdrdb", DestinationSubDocument.onDoubleBorderTypeKeyword)
    .add("brdrdot", DestinationSubDocument.onDottedBorderTypeKeyword)
    .add("brdrdash", DestinationSubDocument.onDashedBorderTypeKeyword)
    .add("brdrhair", DestinationSubDocument.onHairlineBorderTypeKeyword)
    .add("brdrdashsm", DestinationSubDocument.onSmallDashedBorderTypeKeyword)
    .add("brdrdashd", DestinationSubDocument.onDotDashedBorderTypeKeyword)
    .add("brdrdashdd", DestinationSubDocument.onDotDotDashedBorderTypeKeyword)
    .add("brdrdashdot", DestinationSubDocument.onDotDashedBorderTypeKeyword)
    .add("brdrdashdotdot", DestinationSubDocument.onDotDotDashedBorderTypeKeyword)
    .add("brdrinset", DestinationSubDocument.onInsetBorderTypeKeyword)
    .add("brdrnone", DestinationSubDocument.onNoneBorderTypeKeyword)
    .add("brdroutset", DestinationSubDocument.onOutsetBorderTypeKeyword)
    .add("brdrtriple", DestinationSubDocument.onTripletBorderTypeKeyword)
    .add("brdrthtnsg", DestinationSubDocument.onSmallThickThinBorderTypeKeyword)
    .add("brdrtnthsg", DestinationSubDocument.onSmallThinThickBorderTypeKeyword)
    .add("brdrtnthtnsg", DestinationSubDocument.onSmallThinThickThinBorderTypeKeyword)
    .add("brdrthtnmg", DestinationSubDocument.onMediumThickThinBorderTypeKeyword)
    .add("brdrtnthmg", DestinationSubDocument.onMediumThinThickBorderTypeKeyword)
    .add("brdrtnthtnmg", DestinationSubDocument.onMediumThinThickThinBorderTypeKeyword)
    .add("brdrthtnlg", DestinationSubDocument.onLargeThickThinBorderTypeKeyword)
    .add("brdrtnthlg", DestinationSubDocument.onLargeThinThickBorderTypeKeyword)
    .add("brdrtnthtnlg", DestinationSubDocument.onLargeThinThickThinBorderTypeKeyword)
    .add("brdrwavy", DestinationSubDocument.onWavyBorderTypeKeyword)
    .add("brdrwavydb", DestinationSubDocument.onDoubleWavyBorderTypeKeyword)
    .add("brdrdashdotstr", DestinationSubDocument.onStripedBorderTypeKeyword)
    .add("brdremboss", DestinationSubDocument.onEmbossedBorderTypeKeyword)
    .add("brdrengrave", DestinationSubDocument.onEngravedBorderTypeKeyword)
    .add("brdrart", DestinationSubDocument.onBorderArtIndex)
    .get();
const appendTableKeywords = new map_creator/* MapCreator */.M()
    .add("intbl", DestinationSubDocument.onInTableParagraphKeyword)
    .add("row", DestinationSubDocument.onRowKeyword)
    .add("cell", DestinationSubDocument.onCellKeyword)
    .add("nestcell", DestinationSubDocument.onNestedCellKeyword)
    .add("nestrow", DestinationSubDocument.onNestedRowKeyword)
    .add("nesttableprops", DestinationSubDocument.onNestedTablePropertiesKeyword)
    .add("nonesttables", (data) => data.destination = new SkipNestedTableDestination(data))
    .add("itap", DestinationSubDocument.onItapKeyword)
    .append(appendTablePropertiesKeywords)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/sub-document/sub-document-keywords.ts



















const addCommonSymbolsAndObjectsKeywords = new map_creator/* MapCreator */.M()
    .add("pict", (data) => data.destination = new PictureDestination(data))
    .add("shp", DestinationSubDocument.onShapeKeyword)
    .add("shppict", DestinationSubDocument.onShapePictureKeyword)
    .add("nonshppict", DestinationSubDocument.onNonShapePictureKeyword)
    .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeGroup, DestinationSubDocument.onShapeGroupKeyword)
    .add("line", DestinationSubDocument.onLineBreakKeyword)
    .add("u", DestinationSubDocument.onUnicodeKeyword)
    .add("tab", DestinationSubDocument.onTabKeyword)
    .add("emdash", DestinationSubDocument.onEmDashKeyword)
    .add("endash", DestinationSubDocument.onEnDashKeyword)
    .add("lquote", DestinationSubDocument.onLeftSingleQuoteKeyword)
    .add("rquote", DestinationSubDocument.onRightSingleQuoteKeyword)
    .add("ldblquote", DestinationSubDocument.onLeftDoubleQuoteKeyword)
    .add("rdblquote", DestinationSubDocument.onRightDoubleQuoteKeyword)
    .add("bullet", DestinationSubDocument.onBulletKeyword)
    .add("emspace", DestinationSubDocument.onEmSpaceKeyword)
    .add("enspace", DestinationSubDocument.onEnSpaceKeyword)
    .add("qmspace", DestinationSubDocument.onQmSpaceKeyword)
    .add("field", DestinationSubDocument.onFieldStartKeyword)
    .add("formfield", (data) => {
    if (data.importers.field.fields.count > 0) {
        data.importers.field.fields.peek().formFieldProperties = new FormFieldProperties();
        data.destination = new FormFieldDestination(data);
    }
})
    .add("tc", DestinationSubDocument.onTableOfContentsEntryKeyword)
    .add("tcl", DestinationSubDocument.onTableOfContentsEntryLevelNumberKeyword)
    .add("tcf", DestinationSubDocument.onTableOfContentsEntryTypeTableKeyword)
    .add("mailmerge", (data) => data.destination = new MailMergeDestination(data))
    .add("bkmkstart", (data) => data.destination = new BookmarkStartDestination(data))
    .add("bkmkend", (data) => data.destination = new BookmarkEndDestination(data))
    .add("protstart", (data) => data.destination = new RangePermissionStartDestination(data))
    .add("protend", (data) => data.destination = new RangePermissionEndDestination(data))
    .add("docvar", (data) => data.destination = new DocumentVariableDestination(data))
    .add("dxcustomrundata", DestinationSubDocument.onDxCustomRunDataKeyword)
    .add("zwj", DestinationSubDocument.onZeroWidthJoiner)
    .add("zwnj", DestinationSubDocument.onZeroWidthNonJoiner)
    .add("zwbo", DestinationSubDocument.onZeroWidthBreakOpportunity)
    .add("zwnbo", DestinationSubDocument.onZeroWidthNonBreakOpportunity)
    .get();
const addCommonNumberingListsKeywords = new map_creator/* MapCreator */.M()
    .add("ls", DestinationSubDocument.onListOverride)
    .add("ilvl", DestinationSubDocument.onListLevel)
    .add("listtext", DestinationSubDocument.onListText)
    .add("pntext", DestinationSubDocument.onListText)
    .add("pnseclvl", (data, parameterValue) => data.destination = new DestinationOldSectionNumberingLevel(data, parameterValue))
    .add("pn", (data) => data.destination = new DestinationOldParagraphNumbering(data))
    .add("pntxta", (data) => data.destination = new TextAfterDestination(data))
    .add("pntxtb", (data) => data.destination = new TextBeforeDestination(data))
    .get();
const addCommonTabKeywords = new map_creator/* MapCreator */.M()
    .add("tqr", DestinationSubDocument.onTabRightKeyword)
    .add("tqc", DestinationSubDocument.onTabCenterKeyword)
    .add("tqdec", DestinationSubDocument.onTabDecimalKeyword)
    .add("tldot", DestinationSubDocument.onTabLeaderDotsKeyword)
    .add("tlmdot", DestinationSubDocument.onTabLeaderMiddleDotsKeyword)
    .add("tlhyph", DestinationSubDocument.onTabLeaderHyphensKeyword)
    .add("tlul", DestinationSubDocument.onTabLeaderUnderlineKeyword)
    .add("tlth", DestinationSubDocument.onTabLeaderThickLineKeyword)
    .add("tleq", DestinationSubDocument.onTabLeaderEqualSignKeyword)
    .add("tx", DestinationSubDocument.onTabPositionKeyword)
    .add("tb", DestinationSubDocument.onBarTabKeyword)
    .get();
const addCommonCharacterKeywords = new map_creator/* MapCreator */.M()
    .add("plain", DestinationSubDocument.onPlainKeyword)
    .add("cs", DestinationSubDocument.onCharacterStyleIndex)
    .append(characterPropertiesKeywords)
    .get();
const addCommonParagraphKeywords = new map_creator/* MapCreator */.M()
    .add("par", DestinationSubDocument.onParKeyword)
    .add("pard", DestinationSubDocument.onResetParagraphPropertiesKeyword)
    .add("s", DestinationSubDocument.onParagraphStyleIndex)
    .add("yts", DestinationSubDocument.onTableStyleIndexForRowOrCell)
    .add("ltrpar", DestinationSubDocument.onLeftToRightParagraphKeyword)
    .add("rtlpar", DestinationSubDocument.onRightToLeftParagraphKeyword)
    .append(addParagraphPropertiesKeywords)
    .get();
const subDocumentKeyword = new map_creator/* MapCreator */.M()
    .append(addCommonCharacterKeywords)
    .append(addCommonParagraphKeywords)
    .append(addCommonSymbolsAndObjectsKeywords)
    .append(addCommonTabKeywords)
    .append(addCommonNumberingListsKeywords)
    .append(appendTableKeywords)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/sub-document/default-destination-keywords.ts





const addDocumentPropertiesKeywords = new map_creator/* MapCreator */.M()
    .add("paperw", DefaultDestination.onPaperWidthKeyword)
    .add("paperh", DefaultDestination.onPaperHeightKeyword)
    .add("psz", DefaultDestination.onPaperSizeKeyword)
    .add("landscape", DefaultDestination.onLandscapeKeyword)
    .add("gutter", DefaultDestination.onGutterKeyword)
    .add("margl", DefaultDestination.onLeftMarginKeyword)
    .add("margr", DefaultDestination.onRightMarginKeyword)
    .add("margt", DefaultDestination.onTopMarginKeyword)
    .add("margb", DefaultDestination.onBottomMarginKeyword)
    .add("rtlgutter", DefaultDestination.onGutterAtRight)
    .add("pgnstart", DefaultDestination.onPageNumberingStart)
    .add("facingp", DefaultDestination.onPageFacing)
    .add("endnotes", DefaultDestination.onFootNotePlacementEndOfSection)
    .add("enddoc", DefaultDestination.onFootNotePlacementEndOfDocument)
    .add("ftntj", DefaultDestination.onFootNotePlacementBelowText)
    .add("ftnbj", DefaultDestination.onFootNotePlacementPageBottom)
    .add("ftnstart", DefaultDestination.onFootNoteNumberingStart)
    .add("ftnrstpg", DefaultDestination.onFootNoteNumberingRestartEachPage)
    .add("ftnrestart", DefaultDestination.onFootNoteNumberingRestartEachSection)
    .add("ftnrstcont", DefaultDestination.onFootNoteNumberingRestartContinuous)
    .add("ftnnar", DefaultDestination.onFootNoteNumberingDecimal)
    .add("ftnnalc", DefaultDestination.onFootNoteNumberingLowerCaseLetter)
    .add("ftnnauc", DefaultDestination.onFootNoteNumberingUpperCaseLetter)
    .add("ftnnrlc", DefaultDestination.onFootNoteNumberingLowerCaseRoman)
    .add("ftnnruc", DefaultDestination.onFootNoteNumberingUpperCaseRoman)
    .add("ftnnchi", DefaultDestination.onFootNoteNumberingChicago)
    .add("ftnnchosung", DefaultDestination.onFootNoteNumberingChosung)
    .add("ftnncnum", DefaultDestination.onFootNoteNumberingDecimalEnclosedCircle)
    .add("ftnndbar", DefaultDestination.onFootNoteNumberingDecimalFullWidth)
    .add("ftnnganada", DefaultDestination.onFootNoteNumberingGanada)
    .add("aendnotes", DefaultDestination.onEndNotePlacementEndOfSection)
    .add("aenddoc", DefaultDestination.onEndNotePlacementEndOfDocument)
    .add("aftntj", DefaultDestination.onEndNotePlacementBelowText)
    .add("aftnbj", DefaultDestination.onEndNotePlacementPageBottom)
    .add("aftnstart", DefaultDestination.onEndNoteNumberingStart)
    .add("aftnrestart", DefaultDestination.onEndNoteNumberingRestartEachSection)
    .add("aftnrstcont", DefaultDestination.onEndNoteNumberingRestartContinuous)
    .add("aftnnar", DefaultDestination.onEndNoteNumberingDecimal)
    .add("aftnnalc", DefaultDestination.onEndNoteNumberingLowerCaseLetter)
    .add("aftnnauc", DefaultDestination.onEndNoteNumberingUpperCaseLetter)
    .add("aftnnrlc", DefaultDestination.onEndNoteNumberingLowerCaseRoman)
    .add("aftnnruc", DefaultDestination.onEndNoteNumberingUpperCaseRoman)
    .add("aftnnchi", DefaultDestination.onEndNoteNumberingChicago)
    .add("aftnnchosung", DefaultDestination.onEndNoteNumberingChosung)
    .add("aftnncnum", DefaultDestination.onEndNoteNumberingDecimalEnclosedCircle)
    .add("aftnndbar", DefaultDestination.onEndNoteNumberingDecimalFullWidth)
    .add("aftnnganada", DefaultDestination.onEndNoteNumberingGanada)
    .add("viewbksp", DefaultDestination.onDisplayBackgroundShape)
    .get();
const addDocumentCompatibilitiesKeywords = new map_creator/* MapCreator */.M()
    .add("nocolbal", DefaultDestination.onNoColumnBalance)
    .add("alntblind", DefaultDestination.onDoNotAlignTableRowsIndependently)
    .add("expshrtn", DefaultDestination.onDoNotExpandShiftReturn)
    .add("spltpgpar", DefaultDestination.onSplitPageBreakAndParagraphMark)
    .add("nogrowautofit", DefaultDestination.onAllowTablesToExtendIntoMargin)
    .get();
const addDocumentProtectionKeywords = new map_creator/* MapCreator */.M()
    .add("formprot", DefaultDestination.onFormProtection)
    .add("revprot", DefaultDestination.onRevisionProtection)
    .add("annotprot", DefaultDestination.onAnnotationProtection)
    .add("readprot", DefaultDestination.onReadOnlyProtection)
    .add("enforceprot", DefaultDestination.onEnforceDocumentProtection)
    .add("protlevel", DefaultDestination.onDocumentProtectionLevel)
    .get();
const addSectionKeywords = new map_creator/* MapCreator */.M()
    .add("pgndec", DefaultDestination.onPageNumberingDecimal)
    .add("pgnucrm", DefaultDestination.onPageNumberingUpperRoman)
    .add("pgnlcrm", DefaultDestination.onPageNumberingLowerRoman)
    .add("pgnucltr", DefaultDestination.onPageNumberingUpperLetter)
    .add("pgnlcltr", DefaultDestination.onPageNumberingLowerLetter)
    .add("pgnbidia", DefaultDestination.onPageNumberingArabicAbjad)
    .add("pgnbidib", DefaultDestination.onPageNumberingArabicAlpha)
    .add("pgnchosung", DefaultDestination.onPageNumberingChosung)
    .add("pgncnum", DefaultDestination.onPageNumberingDecimalEnclosedCircle)
    .add("pgndecd", DefaultDestination.onPageNumberingDecimalFullWidth)
    .add("pgnganada", DefaultDestination.onPageNumberingGanada)
    .add("pgnhindia", DefaultDestination.onPageNumberingHindiVowels)
    .add("pgnhindib", DefaultDestination.onPageNumberingHindiConsonants)
    .add("pgnhindic", DefaultDestination.onPageNumberingHindiNumbers)
    .add("pgnhindid", DefaultDestination.onPageNumberingHindiDescriptive)
    .add("pgnthaia", DefaultDestination.onPageNumberingThaiLetters)
    .add("pgnthaib", DefaultDestination.onPageNumberingThaiNumbers)
    .add("pgnthaic", DefaultDestination.onPageNumberingThaiDescriptive)
    .add("pgnvieta", DefaultDestination.onPageNumberingVietnameseDescriptive)
    .add("pgnhn", DefaultDestination.onPageNumberingChapterHeaderStyle)
    .add("pgnhnsh", DefaultDestination.onPageNumberingChapterSeparatorHyphen)
    .add("pgnhnsp", DefaultDestination.onPageNumberingChapterSeparatorPeriod)
    .add("pgnhnsc", DefaultDestination.onPageNumberingChapterSeparatorColon)
    .add("pgnhnsm", DefaultDestination.onPageNumberingChapterSeparatorEmDash)
    .add("pgnhnsn", DefaultDestination.onPageNumberingChapterSeparatorEnDash)
    .add("vertal", DefaultDestination.onVerticalTextAlignmentBottom)
    .add("vertalb", DefaultDestination.onVerticalTextAlignmentBottom)
    .add("vertalt", DefaultDestination.onVerticalTextAlignmentTop)
    .add("vertalc", DefaultDestination.onVerticalTextAlignmentCenter)
    .add("vertalj", DefaultDestination.onVerticalTextAlignmentJustify)
    .add("pgnstarts", DefaultDestination.onSectionPageNumberingStart)
    .add("pgncont", DefaultDestination.onSectionPageNumberingContinuous)
    .add("pgnrestart", DefaultDestination.onSectionPageNumberingRestart)
    .add("stextflow", DefaultDestination.onSectionTextFlow)
    .add("linemod", DefaultDestination.onLineNumberingStep)
    .add("linex", DefaultDestination.onLineNumberingDistance)
    .add("linestarts", DefaultDestination.onLineNumberingStartingLineNumber)
    .add("linerestart", DefaultDestination.onLineNumberingRestart)
    .add("lineppage", DefaultDestination.onLineNumberingRestartOnEachPage)
    .add("linecont", DefaultDestination.onLineNumberingContinuous)
    .add("pgwsxn", DefaultDestination.onSectionPaperWidth)
    .add("pghsxn", DefaultDestination.onSectionPaperHeight)
    .add("lndscpsxn", DefaultDestination.onSectionLandscape)
    .add("marglsxn", DefaultDestination.onSectionLeftMargin)
    .add("margrsxn", DefaultDestination.onSectionRightMargin)
    .add("margtsxn", DefaultDestination.onSectionTopMargin)
    .add("margbsxn", DefaultDestination.onSectionBottomMargin)
    .add("guttersxn", DefaultDestination.onSectionGutter)
    .add("headery", DefaultDestination.onSectionHeaderOffset)
    .add("footery", DefaultDestination.onSectionFooterOffset)
    .add("binfsxn", DefaultDestination.onSectionFirstPagePaperSource)
    .add("binsxn", DefaultDestination.onSectionOtherPagePaperSource)
    .add("sectunlocked", DefaultDestination.onOnlyAllowEditingOfFormFields)
    .add("cols", DefaultDestination.onSectionColumnCount)
    .add("colsx", DefaultDestination.onSectionColumnSpace)
    .add("colno", DefaultDestination.onSectionCurrentColumnIndex)
    .add("colsr", DefaultDestination.onSectionCurrentColumnSpace)
    .add("colw", DefaultDestination.onSectionCurrentColumnWidth)
    .add("linebetcol", DefaultDestination.onSectionDrawVerticalSeparator)
    .add("sbknone", DefaultDestination.onSectionBreakNone)
    .add("sbkcol", DefaultDestination.onSectionBreakColumn)
    .add("sbkpage", DefaultDestination.onSectionBreakPage)
    .add("sbkeven", DefaultDestination.onSectionBreakEvenPage)
    .add("sbkodd", DefaultDestination.onSectionBreakOddPage)
    .add("sectd", DefaultDestination.onSectionDefault)
    .add("sect", DefaultDestination.onNewSection)
    .add("titlepg", DefaultDestination.onSectionDifferentFirstPage)
    .add("header", DefaultDestination.onHeaderKeyword)
    .add("headerl", DefaultDestination.onHeaderForLeftPagesKeyword)
    .add("headerr", DefaultDestination.onHeaderForRightPagesKeyword)
    .add("headerf", DefaultDestination.onHeaderForFirstPageKeyword)
    .add("footer", DefaultDestination.onFooterKeyword)
    .add("footerl", DefaultDestination.onFooterForLeftPagesKeyword)
    .add("footerr", DefaultDestination.onFooterForRightPagesKeyword)
    .add("footerf", DefaultDestination.onFooterForFirstPageKeyword)
    .add("ltrsect", DefaultDestination.onLtrSectionKeyword)
    .add("rtlsect", DefaultDestination.onRtlSectionKeyword)
    .add("sftntj", DefaultDestination.onSectionFootNotePlacementBelowText)
    .add("sftnbj", DefaultDestination.onSectionFootNotePlacementPageBottom)
    .add("sftnstart", DefaultDestination.onSectionFootNoteNumberingStart)
    .add("sftnrstpg", DefaultDestination.onSectionFootNoteNumberingRestartEachPage)
    .add("sftnrestart", DefaultDestination.onSectionFootNoteNumberingRestartEachSection)
    .add("sftnrstcont", DefaultDestination.onSectionFootNoteNumberingRestartContinuous)
    .add("sftnnar", DefaultDestination.onSectionFootNoteNumberingDecimal)
    .add("sftnnalc", DefaultDestination.onSectionFootNoteNumberingLowerCaseLetter)
    .add("sftnnauc", DefaultDestination.onSectionFootNoteNumberingUpperCaseLetter)
    .add("sftnnrlc", DefaultDestination.onSectionFootNoteNumberingLowerCaseRoman)
    .add("sftnnruc", DefaultDestination.onSectionFootNoteNumberingUpperCaseRoman)
    .add("sftnnchi", DefaultDestination.onSectionFootNoteNumberingChicago)
    .add("sftnnchosung", DefaultDestination.onSectionFootNoteNumberingChosung)
    .add("sftnncnum", DefaultDestination.onSectionFootNoteNumberingDecimalEnclosedCircle)
    .add("sftnndbar", DefaultDestination.onSectionFootNoteNumberingDecimalFullWidth)
    .add("sftnnganada", DefaultDestination.onSectionFootNoteNumberingGanada)
    .add("saftnstart", DefaultDestination.onSectionEndNoteNumberingStart)
    .add("saftnrestart", DefaultDestination.onSectionEndNoteNumberingRestartEachSection)
    .add("saftnrstcont", DefaultDestination.onSectionEndNoteNumberingRestartContinuous)
    .add("saftnnar", DefaultDestination.onSectionEndNoteNumberingDecimal)
    .add("saftnnalc", DefaultDestination.onSectionEndNoteNumberingLowerCaseLetter)
    .add("saftnnauc", DefaultDestination.onSectionEndNoteNumberingUpperCaseLetter)
    .add("saftnnrlc", DefaultDestination.onSectionEndNoteNumberingLowerCaseRoman)
    .add("saftnnruc", DefaultDestination.onSectionEndNoteNumberingUpperCaseRoman)
    .add("saftnnchi", DefaultDestination.onSectionEndNoteNumberingChicago)
    .add("saftnnchosung", DefaultDestination.onSectionEndNoteNumberingChosung)
    .add("saftnncnum", DefaultDestination.onSectionEndNoteNumberingDecimalEnclosedCircle)
    .add("saftnndbar", DefaultDestination.onSectionEndNoteNumberingDecimalFullWidth)
    .add("saftnnganada", DefaultDestination.onSectionEndNoteNumberingGanada)
    .add("linemod", DefaultDestination.onSectionLineNumberingCountBy)
    .add("linex", DefaultDestination.onSectionLineNumberingDistance)
    .add("linestarts", DefaultDestination.onSectionLineNumberingStart)
    .add("linerestart", DefaultDestination.onSectionLineNumberingNewSection)
    .add("lineppage", DefaultDestination.onSectionLineNumberingNewPage)
    .add("linecont", DefaultDestination.onSectionLineNumberingContinuous)
    .get();
const addFootNoteAndEndNoteKeywords = new map_creator/* MapCreator */.M()
    .add("footnote", DefaultDestination.onFootNoteKeyword)
    .get();
const addCommentKeywords = new map_creator/* MapCreator */.M()
    .add("atrfstart", DefaultDestination.onCommentStartPositionKeyword)
    .add("atrfend", DefaultDestination.onCommentEndPositionKeyword)
    .add("atnid", DefaultDestination.onCommentIdKeyword)
    .add("atnauthor", DefaultDestination.onCommentAuthorKeyword)
    .add("annotation", DefaultDestination.onCommentAnnotationKeyword)
    .get();
const defaultDestinationKeywordHT = new map_creator/* MapCreator */.M()
    .add("rtf", () => { })
    .add("deff", DefaultDestination.onDeffKeyword)
    .add("info", DefaultDestination.onInfoKeyword)
    .add("userprops", DefaultDestination.onUserPropKeyword)
    .add("stylesheet", (data) => data.destination = new StyleSheetDestination(data))
    .add("defchp", DefaultDestination.onDefaultCharacterPropertiesKeyword)
    .add("defpap", DefaultDestination.onDefaultParagraphPropertiesKeyword)
    .add("page", DefaultDestination.onPageBreakKeyword)
    .add("column", DefaultDestination.onColumnBreakKeyword)
    .add("deftab", DefaultDestination.onDefaultTabKeyword)
    .add("margmirror", DefaultDestination.onMirrorMargins)
    .add("rempersonalinfo", DefaultDestination.onRemovePersonalInformation)
    .add("listtable", DefaultDestination.onListTableKeyword)
    .add("listoverridetable", DefaultDestination.onListOverrideTableKeyword)
    .add("background", DefaultDestination.onPageBackground)
    .add("themedata", DefaultDestination.onThemeData)
    .add("colorschememapping", DefaultDestination.onColorsSchemeMapping)
    .add("nouicompat", DefaultDestination.onNoUICompat)
    .add("nofeaturethrottle", DefaultDestination.onNoFeatureThrottle)
    .append(addDocumentProtectionKeywords)
    .append(addCommonNumberingListsKeywords)
    .append(addCommonTabKeywords)
    .append(addDocumentCompatibilitiesKeywords)
    .append(addCommonCharacterKeywords)
    .append(addCommonParagraphKeywords)
    .append(appendTableKeywords)
    .append(addDocumentPropertiesKeywords)
    .append(addSectionKeywords)
    .append(addFootNoteAndEndNoteKeywords)
    .append(addCommentKeywords)
    .append(addCommonSymbolsAndObjectsKeywords)
    .get();

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/keyword-tables/keyword-table-holder.ts








































class KeywordTableHolder {
    constructor() {
        this.stringValueDestinationKeywordHT = new map_creator/* MapCreator */.M()
            .add("u", StringValueDestinationBase.onUnicodeKeyword)
            .get();
        this.mapByDestinations = new map_creator/* MapCreator */.M()
            .add(DestinationType.DestinationSubDocument, subDocumentKeyword)
            .add(DestinationType.SectionHeaderFooterDestinationBase, subDocumentKeyword)
            .add(DestinationType.SectionPageHeaderDestination, subDocumentKeyword)
            .add(DestinationType.SectionPageFooterDestination, subDocumentKeyword)
            .add(DestinationType.DefaultDestination, defaultDestinationKeywordHT)
            .add(DestinationType.FieldSubDestination, defaultDestinationKeywordHT)
            .add(DestinationType.CodeFieldDestination, defaultDestinationKeywordHT)
            .add(DestinationType.ResultFieldDestination, defaultDestinationKeywordHT)
            .add(DestinationType.TableContentFieldDestination, defaultDestinationKeywordHT)
            .add(DestinationType.FormFieldDestination, new map_creator/* MapCreator */.M()
            .add("fftype", FormFieldDestination.onFormFieldTypeKeyword)
            .add("ffres", FormFieldDestination.onFormFieldListFieldResultKeyword)
            .add("ffprot", FormFieldDestination.onFormFieldProtectedKeyword)
            .add("ffsize", FormFieldDestination.onFormFieldCheckBoxFieldSizeTypeKeyword)
            .add("ffrecalc", FormFieldDestination.onFormFieldCalculatedOnExitKeyword)
            .add("ffhps", FormFieldDestination.onFormFieldCheckBoxFieldSizeKeyword)
            .add("ffname", FormFieldDestination.onFormFieldNameKeyword)
            .add("ffdefres", FormFieldDestination.onFormFieldListFieldDefaultKeyword)
            .add("ffownhelp", FormFieldDestination.onFormFieldHelpTextCustomKeyword)
            .add("ffhelptext", FormFieldDestination.onFormFieldHelpTextKeyword)
            .add("ffownstat", FormFieldDestination.onFormFieldStatusBarTextCustomKeyword)
            .add("ffstattext", FormFieldDestination.onFormFieldStatusBarTextKeyword)
            .add("ffentrymcr", FormFieldDestination.onFormFieldEntryMacroKeyword)
            .add("ffexitmcr", FormFieldDestination.onFormFieldExitMacroKeyword)
            .get())
            .add(DestinationType.FieldDestination, new map_creator/* MapCreator */.M()
            .add("fldinst", FieldDestination.onFieldInstructionStartKeyword)
            .add("fldrslt", FieldDestination.onFieldResultStartKeyword)
            .add("fldlock", FieldDestination.onFieldLockKeyword)
            .add("fldedit", FieldDestination.onFieldEditKeyword)
            .add("flddirty", FieldDestination.onFieldDirtyKeyword)
            .add("fldpriv", FieldDestination.onFieldPrivateKeyword)
            .add("dxfldcodeview", FieldDestination.onFieldCodeViewKeyword)
            .get())
            .add(DestinationType.SkipNestedTableDestination, new map_creator/* MapCreator */.M()
            .add("par", SkipNestedTableDestination.onParKeyword)
            .get())
            .add(DestinationType.PictureDestination, new map_creator/* MapCreator */.M()
            .add("emfblip", PictureDestination.onEmfFileKeyword)
            .add("pngblip", PictureDestination.onPngFileKeyword)
            .add("jpegblip", PictureDestination.onJpegFileKeyword)
            .add("macpict", PictureDestination.onMacFileKeyword)
            .add("wmetafile", PictureDestination.onWindowsMetafileKeyword)
            .add("dibitmap", PictureDestination.onDeviceIndependentBitmapFileKeyword)
            .add("wbitmap", PictureDestination.onDeviceDependentBitmapFileKeyword)
            .add("wbmbitspixel", PictureDestination.onBitmapBitsPerPixelKeyword)
            .add("wbmplanes", PictureDestination.onBitmapPlanesKeyword)
            .add("wbmwidthbytes", PictureDestination.onBitmapBytesInLineKeyword)
            .add("picw", PictureDestination.onPictureWidthKeyword)
            .add("pich", PictureDestination.onPictureHeightKeyword)
            .add("picwgoal", PictureDestination.onPictureGoalWidthKeyword)
            .add("pichgoal", PictureDestination.onPictureGoalHeightKeyword)
            .add("picscalex", PictureDestination.onHorizontalScalingKeyword)
            .add("picscaley", PictureDestination.onVerticalScalingKeyword)
            .add("picscaled", PictureDestination.onPicScaledKeyword)
            .add("piccropt", PictureDestination.onTopCropKeyword)
            .add("piccropb", PictureDestination.onBottomCropKeyword)
            .add("piccropr", PictureDestination.onRightCropKeyword)
            .add("piccropl", PictureDestination.onLeftCropKeyword)
            .add("picbmp", PictureDestination.onBitmapMetafileKeyword)
            .add("picbpp", PictureDestination.onBitsPerPixelBitmapMetafileKeyword)
            .add("dximageuri", PictureDestination.onDxImageUri)
            .add("picprop", PictureDestination.onShapePropertiesKeyword)
            .add("bliptag", PictureDestination.onBlipTag)
            .add("sp", PictureDestination.onShapePropertyKeyword)
            .get())
            .add(DestinationType.PageBackgroundDestination, new map_creator/* MapCreator */.M()
            .add("shp", (data) => data.destination = new ShapeInstanceDestination(data))
            .get())
            .add(DestinationType.CustomPropertiesDestination, new map_creator/* MapCreator */.M()
            .add("propname", CustomPropertiesDestination.onPropname)
            .add("proptype", CustomPropertiesDestination.onProptType)
            .add("linkval", CustomPropertiesDestination.onLinkval)
            .add("staticval", CustomPropertiesDestination.onStaticval)
            .get())
            .add(DestinationType.StyleSheetDestination, new map_creator/* MapCreator */.M()
            .add("s", StyleSheetDestination.onParagraphStyle)
            .add("sqformat", StyleSheetDestination.onStyleQFormatKeyword)
            .add("sbasedon", StyleSheetDestination.onParentStyleIndex)
            .add("cs", StyleSheetDestination.onCharacterStyle)
            .add("ts", StyleSheetDestination.onTableStyle)
            .add("slink", StyleSheetDestination.onStyleLinkKeyword)
            .add("snext", StyleSheetDestination.onNextStyleIndex)
            .add("ls", StyleSheetDestination.onStyleListOverride)
            .add("ilvl", StyleSheetDestination.onStyleListLevel)
            .append(addParagraphPropertiesKeywords)
            .append(characterPropertiesKeywords)
            .append(addCommonTabKeywords)
            .get())
            .add(DestinationType.CharacterStyleDestination, new map_creator/* MapCreator */.M()
            .add("sbasedon", CharacterStyleDestination.onParentStyleIndex)
            .add("slink", CharacterStyleDestination.onStyleLinkKeyword)
            .add("sqformat", CharacterStyleDestination.onStyleQFormatKeyword)
            .append(characterPropertiesKeywords)
            .get())
            .add(DestinationType.TableStyleDestination, new map_creator/* MapCreator */.M()
            .add("sbasedon", TableStyleDestination.onParentStyleIndex)
            .add("sqformat", TableStyleDestination.onStyleQFormatKeyword)
            .add("tscfirstrow", TableStyleDestination.onConditionalStyleFirstRow)
            .add("tsclastrow", TableStyleDestination.onConditionalStyleLastRow)
            .add("tscfirstcol", TableStyleDestination.onConditionalStyleFirstColumn)
            .add("tsclastcol", TableStyleDestination.onConditionalStyleLastColumn)
            .add("tscbandhorzodd", TableStyleDestination.onConditionalStyleOddRowBanding)
            .add("tscbandhorzeven", TableStyleDestination.onConditionalStyleEvenRowBanding)
            .add("tscbandvertodd", TableStyleDestination.onConditionalStyleOddColumnBanding)
            .add("tscbandverteven", TableStyleDestination.onConditionalStyleEvenColumnBanding)
            .add("tscnwcell", TableStyleDestination.onConditionalStyleTopLeftCell)
            .add("tscnecell", TableStyleDestination.onConditionalStyleTopRightCell)
            .add("tscswcell", TableStyleDestination.onConditionalStyleBottomLeftCell)
            .add("tscsecell", TableStyleDestination.onConditionalStyleBottomRightCell)
            .append(characterPropertiesKeywords)
            .append(addParagraphPropertiesKeywords)
            .append(appendTablePropertiesKeywords)
            .get())
            .add(DestinationType.DefaultParagraphPropertiesDestination, addParagraphPropertiesKeywords)
            .add(DestinationType.DefaultCharacterPropertiesDestination, characterPropertiesKeywords)
            .add(DestinationType.ShapePropertyValueDestination, new map_creator/* MapCreator */.M()
            .add("pict", (data) => data.destination = new PictureDestination(data))
            .add("hl", (data) => data.destination = new ShapePropertyHyperlinkDestination(data))
            .get())
            .add(DestinationType.ShapeTextDestination, new map_creator/* MapCreator */.M()
            .append(addCommonCharacterKeywords)
            .append(addCommonParagraphKeywords)
            .append(addCommonSymbolsAndObjectsKeywords)
            .append(addCommonTabKeywords)
            .append(addCommonNumberingListsKeywords)
            .append(appendTableKeywords)
            .add("stylesheet", (data) => data.destination = new StyleSheetDestination(data))
            .get())
            .add(DestinationType.ShapePropertyHyperlinkDestination, new map_creator/* MapCreator */.M()
            .add("hlloc", (data) => data.destination = new HyperlinkLocationValueDestination(data))
            .add("hlsrc", (data) => data.destination = new HyperlinkSourceValueDestination(data))
            .get())
            .add(DestinationType.ShapePropertyHsvValueDestination, new map_creator/* MapCreator */.M()
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Accent1, ShapePropertyHsvValueDestination.onAccentOneKeyword)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Accent2, ShapePropertyHsvValueDestination.onAccentTwoKeyword)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Accent3, ShapePropertyHsvValueDestination.onAccentThreeKeyword)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Accent4, ShapePropertyHsvValueDestination.onAccentFourKeyword)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Accent5, ShapePropertyHsvValueDestination.onAccentFiveKeyword)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Accent6, ShapePropertyHsvValueDestination.onAccentSixKeyword)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Tint, ShapePropertyHsvValueDestination.onTintKeyword)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.Shade, ShapePropertyHsvValueDestination.onShadeKeyword)
            .get())
            .add(DestinationType.ShapePropertyDestination, new map_creator/* MapCreator */.M()
            .add("bin", DestinationBase.onBinKeyword)
            .add("sn", (data) => data.destination = new ShapePropertyNameDestination(data))
            .add("sv", (data) => data.destination = new ShapePropertyValueDestination(data))
            .add("hsv", (data) => data.destination = new ShapePropertyHsvValueDestination(data))
            .get())
            .add(DestinationType.ShapePropertiesDestinationBase, shapePropertiesDestinationBaseKeywords)
            .add(DestinationType.ShapeInstanceDestination, shapePropertiesDestinationBaseKeywords)
            .add(DestinationType.ShapeDestination, new map_creator/* MapCreator */.M()
            .append(shapePropertiesDestinationBaseKeywords)
            .add(rtf_drawing_keywords/* RtfDrawingKeywords */.Q.ShapeInstance, ShapeDestinationBase.onShapeInstanceKeyword)
            .get())
            .add(DestinationType.ListTableDestination, new map_creator/* MapCreator */.M()
            .add('list', ListTableDestination.onListKeyword)
            .add('listid', ListTableDestination.onListIdKeyword)
            .add('listtemplateid', ListTableDestination.onListTemplateIdKeyword)
            .add('liststyleid', ListTableDestination.onListStyleIdKeyword)
            .add('liststylename', ListTableDestination.onListStyleNameKeyword)
            .add('listname', ListTableDestination.onListNameKeyword)
            .add('listhybrid', ListTableDestination.onListHybridKeyword)
            .add('listrestarthdn', ListTableDestination.onListRestartAtEachSectionKeyword)
            .add('listsimple', ListTableDestination.onListSimpleKeyword)
            .add('listlevel', ListTableDestination.onListLevelKeyword)
            .get())
            .add(DestinationType.ListOverrideTableDestination, new map_creator/* MapCreator */.M()
            .add("listoverride", ListOverrideTableDestination.onListOverrideKeyword)
            .add("listid", ListOverrideTableDestination.onListOverrideListIdKeyword)
            .add("listoverridecount", ListOverrideTableDestination.onListOverrideCountKeyword)
            .add("ls", ListOverrideTableDestination.onListOverrideIdKeyword)
            .add("lfolevel", ListOverrideTableDestination.onListOverrideLevelKeyword)
            .get())
            .add(DestinationType.ListOverrideLevelDestination, new map_creator/* MapCreator */.M()
            .add("listoverrideformat", ListOverrideLevelDestination.onListOverrideFormatKeyword)
            .add("listoverridestartat", ListOverrideLevelDestination.onListOverrideStartAtKeyword)
            .add("levelstartat", ListOverrideLevelDestination.onListOverrideStartAtValueKeyword)
            .add("listlevel", ListOverrideLevelDestination.onListOverrideListLevelKeyword)
            .get())
            .add(DestinationType.ListLevelDestination, new map_creator/* MapCreator */.M()
            .add("levelstartat", ListLevelDestination.onListLevelStartAtKeyword)
            .add("lvltentative", ListLevelDestination.onListLevelTentativeKeyword)
            .add("levelnfc", ListLevelDestination.onListLevelNumberingFormatKeyword)
            .add("leveljc", ListLevelDestination.onListLevelAlignmentKeyword)
            .add("levelnfcn", ListLevelDestination.onListLevelNumberingFormatKeyword)
            .add("leveljcn", ListLevelDestination.onListLevelAlignmentKeyword)
            .add("levelold", ListLevelDestination.onListLevelOldKeyword)
            .add("levelprev", ListLevelDestination.onListLevelPrevKeyword)
            .add("levelprevspace", ListLevelDestination.onListLevelPrevspaceKeyword)
            .add("levelindent", ListLevelDestination.onListLevelIndentKeyword)
            .add("levelspace", ListLevelDestination.onListLevelSpaceKeyword)
            .add("leveltext", ListLevelDestination.onListLevelTextKeyword)
            .add("levelnumbers", ListLevelDestination.onListLevelNumbersKeyword)
            .add("levelfollow", ListLevelDestination.onListLevelFollowKeyword)
            .add("levellegal", ListLevelDestination.onListLevelLegalKeyword)
            .add("levelnorestart", ListLevelDestination.onListLevelNoRestartKeyword)
            .add("levelpicture", ListLevelDestination.onListLevelPictureKeyword)
            .add("levelpicturenosize", ListLevelDestination.onListLevelPictureNoSizeKeyword)
            .add("s", ListLevelDestination.onParagraphStyleKeyword)
            .append(addParagraphPropertiesKeywords)
            .append(characterPropertiesKeywords)
            .get())
            .add(DestinationType.DestinationOldSectionNumberingLevel, paragraphNumberingDescKeywords)
            .add(DestinationType.DestinationOldParagraphNumbering, paragraphNumberingDescKeywords)
            .add(DestinationType.InfoDestination, new map_creator/* MapCreator */.M()
            .add("password", InfoDestination.onLegacyPasswordHash)
            .add("passwordhash", InfoDestination.onPasswordHash)
            .append(documentPropertiesKeywords)
            .get())
            .add(DestinationType.MailMergeDestination, {
            "mmconnectstr": MailMergeDestination.onConnectionStringKeyword,
            "mmquery": MailMergeDestination.onQueryKeyword,
            "mmdatasource": MailMergeDestination.onDataSourceKeyword,
            "mmodsofldmpdata": MailMergeDestination.onFieldMapDataKeyword,
        })
            .add(DestinationType.FieldMapDataDestination, {
            "mmfttypenull": FieldMapDataDestination.onNullFieldTypeKeyword,
            "mmfttypedbcolumn": FieldMapDataDestination.onColumnFieldTypeKeyword,
            "mmfttypeaddress": FieldMapDataDestination.onAddressFieldTypeKeyword,
            "mmfttypesalutation": FieldMapDataDestination.onSalutationFieldTypeKeyword,
            "mmfttypemapped": FieldMapDataDestination.onMappedFieldTypeKeyword,
            "mmfttypebarcode": FieldMapDataDestination.onBarcodeFieldTypeKeyword,
            "mmodsoname": FieldMapDataDestination.onColumnNameKeyword,
            "mmodsomappedname": FieldMapDataDestination.onMappedNameKeyword,
            "mmodsofmcolumn": FieldMapDataDestination.onColumnIndexKeyword,
            "mmodsodynaddr": FieldMapDataDestination.onDynamicAddressKeyword,
            "mmodsolid": FieldMapDataDestination.onLanguageIdKeyword,
        })
            .add(DestinationType.SkipDestination, {
            "bin": DestinationBase.onBinKeyword
        })
            .add(DestinationType.StringValueDestination, this.stringValueDestinationKeywordHT)
            .add(DestinationType.UnicodeDestination, {
            "ud": UnicodeDestination.onUdKeyword
        })
            .add(DestinationType.ListLevelTextDestination, new map_creator/* MapCreator */.M()
            .append(this.stringValueDestinationKeywordHT)
            .add("leveltemplateid", ListLevelTextDestination.onListLevelTemplateIdKeyword)
            .get())
            .add(DestinationType.ShapePictureDestination, {
            "pict": ShapePictureDestination.onPictKeyword
        })
            .get();
        this.defaultKeywords = keywordHtDefault;
    }
    getHt(destType) {
        return this.mapByDestinations[destType];
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/rtf-document-properties.ts



class RtfDocumentProperties {
    constructor() {
        this.charset = RtfCharset.Ansi;
        this.defaultCodePage = CodePages.default;
        this.colorIndexes = new RtfColorIndexCollection();
        this.listTable = [];
        this.listOverrideTable = [];
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/table/properties/rtf-table-cell-properties.ts





class RtfTableCellProperties {
    constructor() {
        this.horizontalMerging = table_base_structures/* TableCellMergingState */.Z3.None;
        this.shadingPattern = shading_pattern/* ShadingPattern */.d.Clear;
        this.preferredWidth = table_units/* TableWidthUnit */.CT.createDefault();
        this.coreProperties = new table_cell_properties/* TableCellProperties */.x0();
    }
    copyFrom(obj) {
        this.coreProperties.copyFrom(obj.coreProperties);
        this.right = obj.right;
        this.horizontalMerging = obj.horizontalMerging;
        this.shadingPattern = obj.shadingPattern;
        this.foreColor = obj.foreColor;
        this.backColor = obj.backColor;
        this.verticalMerging = obj.verticalMerging;
        this.preferredWidth = obj.preferredWidth;
    }
    apply(cell) {
        if (this.verticalMerging)
            cell.verticalMerging = this.verticalMerging;
        if (this.backColor || this.foreColor) {
            cell.properties.setValue(table_cell_properties/* TableCellPropertyDescriptor */.iy.shadingInfo, new shading_info/* ShadingInfo */.g(this.shadingPattern, this.backColor ? this.backColor : cell.properties.shadingInfo.backColor, this.foreColor ? this.foreColor : cell.properties.shadingInfo.foreColor));
        }
        cell.preferredWidth = this.preferredWidth;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/table/properties/rtf-table-properties.ts



class RtfTableProperties {
    constructor() {
        this.style = 0;
        this.preferredWidth = table_units/* TableWidthUnit */.CT.createDefault();
        this.lookTypes = table_base_structures/* TableLookTypes */.sp.None;
        this.coreProperties = new table_properties/* TableProperties */.XK();
        this.coreProperties.layoutType = table_base_structures/* TableLayoutType */.DX.Fixed;
        this.coreProperties.setUseValue(table_properties/* TablePropertiesMask */.r4.UseTableLayout, true);
    }
    get halfSpace() { return this._halfSpace; }
    set halfSpace(value) {
        this._halfSpace = value;
        this.useHalfSpace = true;
    }
    isChanged() {
        return this.useHalfSpace ||
            (this.coreProperties.layoutType == table_base_structures/* TableLayoutType */.DX.Autofit) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseLeftMargin) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseRightMargin) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseTopMargin) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseBottomMargin) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseCellSpacing) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseIsTableOverlap) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseTableIndent) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseTableStyleColBandSize) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseTableStyleRowBandSize) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseBottomBorder) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseInsideHorizontalBorder) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseInsideVerticalBorder) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseLeftBorder) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseRightBorder) ||
            this.coreProperties.getUseValue(table_properties/* TablePropertiesMask */.r4.UseTopBorder);
    }
    copyFrom(obj) {
        this.coreProperties.copyFrom(obj.coreProperties);
        this._halfSpace = obj._halfSpace;
        this.useHalfSpace = obj.useHalfSpace;
        this.rightToLeft = obj.rightToLeft;
        this.style = obj.style;
        this.preferredWidth = obj.preferredWidth;
        this.lookTypes = obj.lookTypes;
    }
    apply(table) {
        table.lookTypes = this.lookTypes;
        table.preferredWidth = this.preferredWidth;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/table/properties/table-floating-position-info.ts
class TableFloatingPositionInfo {
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/table/properties/table-row-properties.ts



class RtfTableRowProperties {
    constructor() {
        this.left = 0;
        this.widthBefore = table_units/* TableWidthUnit */.CT.createDefault();
        this.widthAfter = table_units/* TableWidthUnit */.CT.createDefault();
        this.gridBefore = 0;
        this.gridAfter = 0;
        this.height = table_units/* TableHeightUnit */.aN.createDefault();
        this.coreProperties = new table_row_properties/* TableRowProperties */.A();
        this.cellSpacing = table_units/* TableWidthUnit */.CT.createDefault();
        this.floatingPosition = new TableFloatingPositionInfo();
    }
    copyFrom(obj) {
        this.coreProperties.copyFrom(obj.coreProperties);
        this.left = obj.left;
        this.foreColorIndex = obj.foreColorIndex;
        this.backColorIndex = obj.backColorIndex;
        this.cellSpacing.copyFrom(obj.cellSpacing);
        this.floatingPosition = obj.floatingPosition;
        this.shadingPattern = obj.shadingPattern;
        this.foreColor = obj.foreColor;
        this.backColor = obj.backColor;
        this.widthAfter = obj.widthAfter;
        this.widthBefore = obj.widthBefore;
        this.gridBefore = obj.gridBefore;
        this.gridAfter = obj.gridAfter;
        this.height = obj.height;
    }
    apply(row) {
        row.widthBefore = this.widthBefore;
        row.widthAfter = this.widthAfter;
        row.gridBefore = this.gridBefore;
        row.gridAfter = this.gridAfter;
        row.height = this.height;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/table/rtf-table.ts


class RtfTable {
    constructor(parentCell = null) {
        this.indent = 0;
        this.properties = new RtfTableProperties();
        this.rows = [];
        this.parentCell = parentCell;
    }
    get nestingLevel() { return this.getNestedLevel(); }
    getNestedLevel() {
        let nestingLevel = 1;
        let parentCell = this.parentCell;
        while (parentCell != null) {
            const parentTable = parentCell.row.table;
            parentCell = parentTable.parentCell;
            nestingLevel++;
        }
        return nestingLevel;
    }
    createTable(tblIndex, parentCell, model) {
        const table = new main_structures_table/* Table */.iA(this.properties.coreProperties, model.tableStyles[this.properties.style]);
        table.index = tblIndex;
        table.nestedLevel = this.nestingLevel - 1;
        table.parentCell = parentCell;
        this.properties.apply(table);
        return table;
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-row.ts
var table_row = __webpack_require__(7509);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/table/rtf-table-row.ts



class RtfTableRow {
    constructor(table) {
        this.offset = 0;
        this.index = -1;
        this.properties = new RtfTableRowProperties();
        this.table = table;
        this.cells = [];
    }
    get right() {
        const lastCell = utils_list.ListUtils.last(this.cells);
        return lastCell ? lastCell.properties.right : 0;
    }
    createTableRow(parentTable) {
        const row = new table_row/* TableRow */.S(parentTable, this.properties.coreProperties);
        this.properties.apply(row);
        return row;
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-cell.ts
var table_cell = __webpack_require__(8565);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/model/table/rtf-table-cell.ts


class RtfTableCell {
    constructor(row, _right = 0) {
        this.startPos = -1;
        this.endPos = -1;
        this.index = -1;
        this.columnSpan = 0;
        this.idForParentCellMap = RtfTableCell.__id++;
        this.row = row;
        this.properties = new RtfTableCellProperties();
    }
    get isEmpty() { return this.startPos == -1 || this.endPos == -1; }
    createCell(row, subDocument) {
        const cell = new table_cell/* TableCell */.p(row, this.properties.coreProperties);
        const startPar = subDocument.getParagraphByPosition(this.startPos);
        cell.startParagraphPosition = subDocument.positionManager.registerPosition(startPar.startLogPosition.value);
        const cellMarkPos = this.endPos - 1;
        if (cellMarkPos <= this.startPos)
            cell.endParagrapPosition = subDocument.positionManager.registerPosition(startPar.getEndPosition());
        else {
            const endPar = subDocument.getParagraphByPosition(cellMarkPos);
            cell.endParagrapPosition = subDocument.positionManager.registerPosition(endPar.getEndPosition());
        }
        cell.columnSpan = this.columnSpan;
        this.properties.apply(cell);
        return cell;
    }
}
RtfTableCell.__id = 0;

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/rtf-table-cell-controller.ts


class RtfTableCellController {
    constructor(rowController) {
        this.rowController = rowController;
    }
    startNewCell() {
        const row = this.rowController.currentRow;
        this.currentCell = new RtfTableCell(row);
    }
    isCurrentCellNotComplete() {
        return !utils_list.ListUtils.elementBy(this.rowController.currentRow.cells, v => v == this.currentCell) && !this.currentCell.isEmpty;
    }
    assignLastCellAsCurrent() {
        this.currentCell = utils_list.ListUtils.last(this.rowController.currentRow.cells);
    }
    finishCell() {
        const cells = this.rowController.currentRow.cells;
        if (cells.length == 0 || utils_list.ListUtils.last(cells) != this.currentCell) {
            this.currentCell.index = cells.length;
            cells.push(this.currentCell);
        }
    }
    setCharacterInterval(interval) {
        this.setIntervalCore(this.currentCell, interval);
        this.setParagraphIntervalToParentCell(interval);
    }
    setParagraphIntervalToParentCell(interval) {
        let parentCell = this.rowController.tableController.currentTable.parentCell;
        while (parentCell != null) {
            this.setIntervalCore(parentCell, interval);
            parentCell = parentCell.row.table.parentCell;
        }
    }
    setIntervalCore(cell, interval) {
        if (cell.startPos < 0)
            cell.startPos = interval.start;
        cell.endPos = interval.end;
    }
    reset() {
        this.currentCell = null;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/rtf-table-row-controller.ts




class RtfTableRowController {
    constructor(tableController) {
        this.tableController = tableController;
        this.cellController = this.createCellController();
    }
    createCellController() {
        return new RtfTableCellController(this);
    }
    startNewRow() {
        const table = this.tableController.currentTable;
        this.currentRow = new RtfTableRow(table);
        this.cellController.startNewCell();
    }
    isCurrentRowNotComplete() {
        return !utils_list.ListUtils.elementBy(this.tableController.currentTable.rows, r => r == this.currentRow) &&
            (this.currentRow.cells.length > 0 || this.cellController.isCurrentCellNotComplete());
    }
    isCurrentRowValid() {
        return utils_list.ListUtils.elementBy(this.tableController.currentTable.rows, r => r == this.currentRow) && this.currentRow.cells.length > 0;
    }
    assignLastRowAsCurrent() {
        this.currentRow = utils_list.ListUtils.last(this.tableController.currentTable.rows);
        this.cellController.assignLastCellAsCurrent();
    }
    finishRow() {
        this.finishRowCore();
        this.assignRowProperties();
    }
    finishRowCore() {
        const currentTable = this.tableController.currentTable;
        this.splitTables(currentTable);
        const rows = this.tableController.currentTable.rows;
        if (rows.length == 0 || utils_list.ListUtils.last(rows) != this.currentRow) {
            this.currentRow.index = rows.length;
            rows.push(this.currentRow);
        }
    }
    splitTables(currentTable) {
        const rows = currentTable.rows;
        if (rows.length == 0 || utils_list.ListUtils.last(rows) == this.currentRow)
            return;
        if (currentTable.properties.style != this.tableController.reader.tableProperties.style) {
            this.tableController.changeCurrentTable();
            this.currentRow.table = this.tableController.currentTable;
        }
    }
    assignRowProperties() {
        const reader = this.tableController.reader;
        const tableProperties = this.tableController.currentTable.properties;
        if (!tableProperties.isChanged())
            tableProperties.copyFrom(reader.tableProperties);
        tableProperties.style = reader.tableProperties.style;
        const properties = reader.rowProperties;
        this.currentRow.properties.copyFrom(properties);
        this.assignCellProperties();
    }
    assignCellProperties() {
        const reader = this.tableController.reader;
        const cellPropertiesCount = reader.cellPropertiesCollection.length;
        if (cellPropertiesCount == 0)
            RtfImportData.throwInvalidRtfFile();
        const cells = this.currentRow.cells;
        while (cells.length > cellPropertiesCount && cells.length > 1) {
            cells[1].startPos = cells[0].startPos;
            cells.shift();
        }
        cells.forEach((cell, index) => {
            cell.properties.copyFrom(reader.cellPropertiesCollection[index]);
        });
    }
    reset() {
        this.currentRow = null;
        this.cellController.reset();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/rtf-table-state.ts
class RtfTableState {
    constructor(table, reader) {
        this.table = table;
        this.tableProperties = reader.tableProperties;
        this.rowProperties = reader.rowProperties;
        this.cellPropertiesCollection = reader.cellPropertiesCollection;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/rtf-table-controller.ts



class RtfTableController {
    constructor(reader) {
        this.reader = reader;
        this.rowController = this.createRowController();
    }
    createRowController() {
        return new RtfTableRowController(this);
    }
    changeTable(nestingLevel) {
        const depth = nestingLevel - this.currentTable.nestingLevel;
        if (depth > 0)
            this.createNestedTable(depth);
        else if (depth < 0)
            this.popParentTable(depth);
        else {
            this.finishTable();
            this.createCurrentTable();
        }
    }
    popParentTable(depth) {
        const count = Math.abs(depth);
        let state = null;
        for (let i = 0; i < count && this.reader.tableStack.count > 0; i++)
            state = this.reader.tableStack.pop();
        if (state == null)
            return;
        this.currentTable = state.table;
        this.reader.restoreProperties(state);
        this.rowController.assignLastRowAsCurrent();
    }
    createNestedTable(depth) {
        for (let i = 0; i < depth; i++) {
            this.finishTable();
            this.reader.tableStack.push(new RtfTableState(this.currentTable, this.reader));
            this.createCurrentTable();
        }
    }
    createCurrentTable() {
        this.changeCurrentTable();
        const currentCell = this.rowController.cellController.currentCell;
        this.currentTable.parentCell = currentCell;
        if (currentCell != null) {
            let tables = this.reader.parentCellMap[currentCell.idForParentCellMap];
            if (tables === undefined) {
                tables = [];
                this.reader.parentCellMap[currentCell.idForParentCellMap] = tables;
            }
            tables.push(this.currentTable);
        }
        this.rowController.startNewRow();
    }
    changeCurrentTable() {
        this.currentTable = new RtfTable();
        this.reader.tables.push(this.currentTable);
    }
    finishTable() {
        this.rowController.cellController.finishCell();
        this.rowController.finishRowCore();
    }
    reset() {
        this.currentTable = null;
        this.rowController.reset();
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/states/state-base.ts
class RtfTableReaderStateBase {
    constructor(reader) {
        this.reader = reader;
    }
    get data() { return this.reader.data; }
    get documentModel() { return this.data.documentModel; }
    get tableController() { return this.reader.tableController; }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/states/manager-state.ts



class TableRtfTableManagerState extends RtfTableReaderStateBase {
    constructor(reader) {
        super(reader);
        reader.tableController.createCurrentTable();
    }
    onEndParagraph(paragraphFormattingInfo) {
        if (this.isParagraphInTable(paragraphFormattingInfo) || this.isCurrentTableNotComplete())
            this.onEndInTableParagraph(paragraphFormattingInfo.nestingLevel);
        else {
            this.validateCurrentTable();
            this.reader.resetState();
        }
    }
    validateCurrentTable() {
        const currentTable = this.tableController.currentTable;
        if (currentTable.rows.length == 0) {
            const ind = this.reader.tables.findIndex(t => t == currentTable);
            if (ind >= 0)
                this.reader.tables.splice(ind, 1);
            return;
        }
        const lastRow = utils_list.ListUtils.last(currentTable.rows);
        if (lastRow.cells.length > 0)
            return;
        currentTable.rows.splice(currentTable.rows.length - 1);
        this.validateCurrentTable();
    }
    onEndInTableParagraph(nestingLevel) {
        const tableController = this.reader.tableController;
        if (tableController.currentTable.nestingLevel != nestingLevel)
            tableController.changeTable(nestingLevel);
        const par = utils_list.ListUtils.last(this.data.subDocument.paragraphs);
        tableController.rowController.cellController.setCharacterInterval(par.interval);
        if (this.reader.rtfTableStyleIndexForRowOrCell != 0)
            this.data.importers.style.paragraph.paragraphTableStyles[par.interval.end] = this.reader.rtfTableStyleIndexForRowOrCell;
    }
    isParagraphInTable(paragraphFormattingInfo) {
        return paragraphFormattingInfo.inTableParagraph || paragraphFormattingInfo.nestingLevel > 0;
    }
    isCurrentTableNotComplete() {
        return this.reader.tableController.rowController.isCurrentRowNotComplete() ||
            (this.reader.tableController.rowController.isCurrentRowValid() &&
                this.reader.tableController.rowController.currentRow.cells.length < this.reader.cellPropertiesCollection.length);
    }
    onEndRow() {
        if (this.tableController.currentTable.nestingLevel > 1)
            RtfImportData.throwInvalidRtfFile();
        this.onEndRowCore();
    }
    onEndRowCore() {
        const rowController = this.reader.tableController.rowController;
        rowController.finishRow();
        rowController.startNewRow();
    }
    onEndCell() {
        this.onEndCellCore(1);
    }
    onEndCellCore(nestingLevel) {
        const cellController = this.reader.tableController.rowController.cellController;
        this.onEndInTableParagraph(nestingLevel);
        cellController.finishCell();
        cellController.startNewCell();
    }
    onEndNestedRow() {
        if (this.tableController.currentTable.nestingLevel == 1)
            RtfImportData.throwInvalidRtfFile();
        this.onEndRowCore();
    }
    onEndNestedCell() {
        this.onEndCellCore(this.data.importers.paragraph.paragraphFormatting.nestingLevel);
    }
    onStartNestedTableProperties() {
    }
    onTableRowDefaults() {
        const currentTable = this.reader.tableController.currentTable;
        if (!this.reader.isNestedTableProperetiesReading && currentTable != null && currentTable.nestingLevel > 1)
            this.tableController.changeTable(1);
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/states/no-table-state.ts



class NoTableRtfTableReaderState extends RtfTableReaderStateBase {
    constructor() {
        super(...arguments);
        this.defaultNestingLevel = 1;
    }
    onEndParagraph(paragraphFormattingInfo) {
        if (!paragraphFormattingInfo.inTableParagraph)
            return;
        const newState = this.changeState();
        newState.onEndParagraph(paragraphFormattingInfo);
    }
    onStartNestedTableProperties() {
        RtfImportData.throwInvalidRtfFile();
    }
    onEndRow() {
        RtfImportData.throwInvalidRtfFile();
    }
    onEndCell() {
        const newState = this.changeState();
        newState.onEndCell();
    }
    onEndNestedRow() {
        RtfImportData.throwInvalidRtfFile();
    }
    onEndNestedCell() {
        const newState = this.changeState();
        newState.onEndNestedCell();
    }
    onTableRowDefaults() {
    }
    changeState() {
        const newState = new TableRtfTableManagerState(this.reader);
        this.reader.changeState(newState);
        return newState;
    }
}

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/table/table-reader.ts







class RtfTableReader {
    constructor(importer) {
        this.isNestedTableProperetiesReading = false;
        this._state = new NoTableRtfTableReaderState(this);
        this.data = importer;
        this.tableStack = new stack/* Stack */.K();
        this.tables = [];
        this.tableController = this.createTableController();
        this.parentCellMap = {};
        this.resetProperties();
    }
    get state() { return this._state; }
    get tableProperties() {
        {
            if (this._tableProperties == null)
                this._tableProperties = new RtfTableProperties();
            return this._tableProperties;
        }
    }
    get rowProperties() {
        if (this._rowProperties == null)
            this._rowProperties = new RtfTableRowProperties();
        return this._rowProperties;
    }
    get cellProperties() {
        if (this._cellProperties == null)
            this.createCellProperties();
        return this._cellProperties;
    }
    createCellProperties() {
        this._cellProperties = new RtfTableCellProperties();
    }
    restoreProperties(state) {
        this._tableProperties = state.tableProperties;
        this._rowProperties = state.rowProperties;
        this.cellPropertiesCollection = state.cellPropertiesCollection;
        if (this.cellPropertiesCollection.length > 0)
            this._cellProperties = utils_list.ListUtils.last(this.cellPropertiesCollection);
        else
            this.createCellProperties();
    }
    resetProperties() {
        this._tableProperties = null;
        this._rowProperties = null;
        this._cellProperties = null;
        this.cellPropertiesCollection = [];
        this.processedBorder = null;
    }
    createTableController() {
        return new RtfTableController(this);
    }
    onStartNestedTableProperties() {
        this.isNestedTableProperetiesReading = true;
        this.state.onStartNestedTableProperties();
    }
    onEndParagraph() {
        this.state.onEndParagraph(this.data.importers.paragraph.paragraphFormatting);
    }
    onEndRow() {
        this.state.onEndRow();
    }
    onEndCell() {
        this.state.onEndCell();
    }
    onEndNestedRow() {
        this.isNestedTableProperetiesReading = false;
        this.state.onEndNestedRow();
    }
    onEndNestedCell() {
        this.state.onEndNestedCell();
    }
    onTableRowDefaults() {
        this.state.onTableRowDefaults();
        this.resetProperties();
    }
    onCellxProperty(value) {
        this.cellProperties.right = value;
        if (this.cellPropertiesCollection.length == 0 || utils_list.ListUtils.last(this.cellPropertiesCollection) != this.cellProperties)
            this.cellPropertiesCollection.push(this.cellProperties);
        this.createCellProperties();
        this.processedBorder = null;
    }
    resetState() {
        this.changeState(new NoTableRtfTableReaderState(this));
        this.tableController.reset();
    }
    changeState(newState) {
        this._state = newState;
    }
}

// EXTERNAL MODULE: ./src/common/model-manager.ts + 91 modules
var model_manager = __webpack_require__(1805);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/batch-updatable.js
var batch_updatable = __webpack_require__(1772);
;// CONCATENATED MODULE: ./src/common/formats/rtf/import/rtf-import-data.ts




















class RtfPositionState {
    constructor(subDocument, paragraph, fields, bookmarks, rangePermissions, sectionProperties, tableReader) {
        this.subDocument = subDocument;
        this.paragraph = paragraph;
        this.fields = fields;
        this.bookmarks = bookmarks;
        this.rangePermissions = rangePermissions;
        this.sectionProperties = sectionProperties;
        this.tableReader = tableReader;
    }
}
class RtfImportData {
    get destination() { return this._destination; }
    set destination(newDestination) {
        if (newDestination.subDocument !== this.destination.subDocument) {
            this.beforeChangeSubDocument(newDestination.subDocument);
            this.subDocument = newDestination.subDocument;
            this.onChangeSubDocument();
        }
        this._destination = newDestination;
    }
    get savedStatesCount() { return this.savedDestinations.count; }
    get formattingInfo() {
        return this.importers.character.characterFormatting.rtfFormattingInfo;
    }
    constructor(rtfText, importOptions, documentModel, richOptions) {
        this.intervalsToDelete = [];
        this.documentModel = documentModel;
        this.modelManager = new model_manager/* ClientModelManager */.wn(this.documentModel, richOptions, new batch_updatable/* EmptyBatchUpdatableObject */.m1());
        this.formatImagesImporter = new images_import/* FormatImagesImporter */.G();
        this.subDocument = this.documentModel.mainSubDocument;
        this.rtfText = rtfText;
        this.importerOptions = importOptions;
        this.richOptions = richOptions;
        this.savedDestinations = new stack/* Stack */.K();
        this.documentProperties = new RtfDocumentProperties();
        this.keywordHTHolder = new KeywordTableHolder();
        this.skipCount = 0;
        this.binCharCount = 0;
        this.parsingState = RtfParsingState.Normal;
        this.rtfDocumentModelType = RtfDocumentModelType.WithStyle;
        this.importers = new ImportersCollection(this);
        this._destination = this.createDefaultDestination();
        this.savedDestinations.push(this._destination);
        this.positionStates = new stack/* Stack */.K();
        this.addEmptyPositionState();
    }
    beforeChangeSubDocument(newSubDocument) {
        if (this.positionStates.count == 1)
            return;
        const endNestedSubDocument = this.positionStates.getPrevious().subDocument == newSubDocument;
        if (endNestedSubDocument)
            this.importers.finalizeSubDocument();
    }
    onChangeSubDocument() {
        this.importers.startImportSubDocument();
        const previousState = this.positionStates.getPrevious();
        const endNestedSubDocument = this.positionStates.count > 1 && previousState.subDocument == this.subDocument;
        if (endNestedSubDocument)
            this.positionStates.pop();
        else
            this.addEmptyPositionState();
    }
    addEmptyPositionState() {
        new stack/* Stack */.K().push(new RtfSectionProperties());
        return this.positionStates.push(new RtfPositionState(this.subDocument, this.importers.paragraph.createEmptyParagraph(), new stack/* Stack */.K(), {}, {}, new stack/* Stack */.K(), new RtfTableReader(this)));
    }
    import() {
        this.beforeImport();
        while (this.rtfText.moveToNextChar()) {
            const ch = this.rtfText.currChar;
            if (this.parsingState == RtfParsingState.BinData) {
                this.parseBinChar(ch);
                continue;
            }
            switch (ch) {
                case '{':
                    this.flushDecoder();
                    this.pushState();
                    break;
                case '}':
                    this.flushDecoder();
                    this.popRtfState();
                    break;
                case '\\':
                    if (this.parseRtfKeyword() != ' ')
                        this.rtfText.moveToPrevChar();
                    break;
                case '\r':
                case '\n':
                case '\0':
                    break;
                default:
                    if (this.parsingState == RtfParsingState.Normal)
                        this.parseChar(ch);
                    else
                        this.parseHexChar(ch);
            }
        }
        if (this.binCharCount != 0)
            this.throwUnexpectedEndOfFile();
        if (this.importers.field.fields.count != 0)
            this.throwInvalidRtfFile();
        if (!(this.destination instanceof DefaultDestination))
            throw new Error(errors/* Errors */.D.InternalException);
        if (this.subDocument.getLastRun().getType() != run_type/* RunType */.m.ParagraphRun)
            this.importers.paragraph.insertParagraph();
        this.importers.section.setLastSectionLength();
        this.importers.finalizeSubDocument();
        this.afterImport();
    }
    afterImport() {
        while (this.intervalsToDelete.length > 0) {
            const interval = this.intervalsToDelete.pop();
            this.modelManager.modelManipulator.range.removeInterval(interval, true, false);
        }
    }
    parseRtfKeyword() {
        let ch = this.readChar();
        if (!string.StringUtils.isAlpha(ch)) {
            this.translateControlChar(ch);
            return ' ';
        }
        const keywordChars = [];
        while (string.StringUtils.isAlpha(ch)) {
            keywordChars.push(ch);
            ch = this.readChar();
        }
        let paramValueAsString = [];
        const isNegative = ch == '-';
        if (isNegative) {
            paramValueAsString.push(ch);
            ch = this.readChar();
        }
        if (isNegative && !string.StringUtils.isDigit(ch)) {
            paramValueAsString = [];
        }
        else {
            while (string.StringUtils.isDigit(ch)) {
                paramValueAsString.push(ch);
                ch = this.readChar();
            }
        }
        const paramValue = parseInt(paramValueAsString.join(''));
        const keyword = keywordChars.join('');
        if (this.isUnicodeSymbolDefinition(keyword)) {
            const ch = String.fromCharCode(paramValue & 0xFFFF);
            this.parseUnicodeChar(ch);
        }
        else {
            this.flushDecoder();
            this.translateKeyword(keyword, isNaN(paramValue) ? 0 : paramValue, paramValueAsString.length != 0);
        }
        return ch;
    }
    isUnicodeSymbolDefinition(keyword) {
        return keyword === 'u';
    }
    flushDecoder() {
        this.importers.character.characterFormatting.rtfFormattingInfo.activeDecoder.flush(this);
    }
    switchToCodePageDecoder() {
        this.setActiveDecoder(this.formattingInfo.codePageDecoder);
    }
    switchToUnicodeDecoder() {
        this.setActiveDecoder(this.formattingInfo.unicodeDecoder);
    }
    setActiveDecoder(decoder) {
        if (this.formattingInfo.activeDecoder !== decoder) {
            this.flushDecoder();
            this.formattingInfo.activeDecoder = decoder;
        }
    }
    throwUnexpectedEndOfFile() {
        this.importerOptions.throwInvalidFile("Unexpected end of file");
    }
    throwInvalidRtfFile() {
        this.importerOptions.throwInvalidFile("Invalid RTF file");
    }
    static throwInvalidRtfFile() {
        throw new Error("Invalid RTF file");
    }
    beforeImport() {
        this.documentModel.defaultCharacterProperties.fontInfo = this.documentModel.cache.fontInfoCache.getItemByName("Times New Roman");
        this.documentModel.defaultCharacterProperties.fontSize = 12;
        this.documentModel.numberingLists = [];
    }
    translateControlChar(ch) {
        if (this.skipCount == 0 || ch == '\'')
            this.destination.processControlChar(ch);
        else
            this.decreaseSkipCount();
    }
    translateKeyword(keyword, parameterValue, hasParameter) {
        if (this.skipCount == 0 || keyword == "bin") {
            const keywordProcessed = this.destination.processKeyword(keyword, parameterValue, hasParameter);
            if (keywordProcessed) {
                if (!(this.destination instanceof SkipDestination))
                    this.optionalGroupLevel = constants.Constants.MAX_SAFE_INTEGER;
            }
            else {
                if (this.optionalGroupLevel < constants.Constants.MAX_SAFE_INTEGER)
                    this.destination = new SkipDestination(this);
            }
        }
        else
            this.decreaseSkipCount();
    }
    parseBinChar(ch) {
        this.destination.processBinChar(ch);
        this.binCharCount--;
        if (this.binCharCount <= 0) {
            this.parsingState = RtfParsingState.Normal;
            this.decreaseSkipCount();
        }
    }
    decreaseSkipCount() {
        this.skipCount = Math.max(0, this.skipCount - 1);
    }
    popRtfState() {
        const oldDestination = this.destination;
        if (this.savedStatesCount == this.optionalGroupLevel)
            this.optionalGroupLevel = constants.Constants.MAX_SAFE_INTEGER;
        this.popState();
        if (this.savedStatesCount >= this.optionalGroupLevel)
            this.destination = new SkipDestination(this);
        oldDestination.afterPopRtfState();
        this.skipCount = 0;
        if (this.savedStatesCount == 0)
            this.rtfText.resetToEnd();
    }
    parseHexChar(ch) {
        this.parsingState = RtfParsingState.Normal;
        const hiValue = this.hexToInt(ch, false);
        const loValue = this.hexToInt(this.readChar(), false);
        if (hiValue < 0 || loValue < 0)
            return;
        const hexValue = (hiValue << 4) + loValue;
        this.parseChar(DecoderHelper.decode(String.fromCharCode(hexValue), this.codePage));
    }
    parseChar(ch) {
        if (this.skipCount == 0) {
            if (ch == '\r' && this.destination.canProcessSpecialHexChar()) {
                this.flushDecoder();
                this.destination.processSpecialHexChar(ch);
            }
            else {
                this.switchToCodePageDecoder();
                this.formattingInfo.activeDecoder.processChar(this, ch);
            }
        }
        else
            this.decreaseSkipCount();
    }
    readChar() {
        if (!this.rtfText.moveToNextChar())
            this.throwUnexpectedEndOfFile();
        return this.rtfText.currChar;
    }
    hexToInt(ch, throwException) {
        if (string.StringUtils.isDigit(ch))
            return ch.charCodeAt(0) - '0'.charCodeAt(0);
        else {
            if (string.StringUtils.stringInLowerCase(ch)) {
                if (ch < 'a' || ch > 'f') {
                    if (throwException)
                        this.importerOptions.throwInvalidFile("Invalid hex value");
                    else
                        return -1;
                }
                return 10 + ch.charCodeAt(0) - 'a'.charCodeAt(0);
            }
            else {
                if (ch < 'A' || ch > 'F') {
                    if (throwException)
                        this.importerOptions.throwInvalidFile("Invalid hex value");
                    else
                        return -1;
                }
                return 10 + ch.charCodeAt(0) - 'A'.charCodeAt(0);
            }
        }
    }
    parseUnicodeChar(ch) {
        this.switchToUnicodeDecoder();
        this.formattingInfo.activeDecoder.processChar(this, ch);
        this.skipCount = this.importers.character.characterFormatting.rtfFormattingInfo.unicodeCharacterByteCount;
    }
    processChar(ch) {
        this.destination.processChar(ch);
    }
    setCodePage(codePage) {
        this.importers.character.characterFormatting.rtfFormattingInfo.codePage = codePage;
    }
    get codePage() {
        return this.importers.character.characterFormatting.rtfFormattingInfo.codePage;
    }
    parseCharWithoutDecoding(ch) {
        this.flushDecoder();
        if (this.skipCount == 0)
            this.processChar(ch);
        this.decreaseSkipCount();
    }
    createTableContentFieldDestination(createField) { return new TableContentFieldDestination(this, createField); }
    createShapeDestination() { return new ShapeDestination(this); }
    createFieldDestination() { return new FieldDestination(this); }
    createDefaultDestination() { return new DefaultDestination(this, this.subDocument); }
    pushState() {
        this.importers.pushState();
        this.savedDestinations.push(this.destination);
        this.destination = this.destination.clone();
        this.destination.increaseGroupLevel();
    }
    popState() {
        const nestedDestination = this.destination;
        const parentDestination = this.savedDestinations.peek();
        parentDestination.beforeNestedGroupFinished(nestedDestination);
        nestedDestination.beforePopRtfState();
        this.importers.popState();
        this.destination = parentDestination;
        this.destination.nestedGroupFinished(nestedDestination);
        this.savedDestinations.pop();
        this.subDocument = parentDestination.subDocument;
        this.destination.afterNestedGroupFinished(nestedDestination);
    }
}
var RtfDocumentModelType;
(function (RtfDocumentModelType) {
    RtfDocumentModelType[RtfDocumentModelType["None"] = 0] = "None";
    RtfDocumentModelType[RtfDocumentModelType["WithoutStyle"] = 1] = "WithoutStyle";
    RtfDocumentModelType[RtfDocumentModelType["WithStyle"] = 2] = "WithStyle";
})(RtfDocumentModelType || (RtfDocumentModelType = {}));

;// CONCATENATED MODULE: ./src/common/formats/rtf/import/rtf-importer.ts







class RtfImporter {
    constructor(options) {
        this.options = options;
    }
    importFromFile(blob, richOptions, callback, reject) {
        const reader = new FileReader();
        reader.onload = () => {
            this.importFromString(reader.result, richOptions, callback, reject);
        };
        reader.onerror = (_ev) => {
            reject(document_importer_errors/* DocumentImporterErrors */.x.RtfFileReaderError);
        };
        reader.readAsText(blob);
    }
    importFromString(rtfText, richOptions, callback, reject) {
        this.richOptions = richOptions;
        try {
            this.importFromStringInner(new chunked_text/* ChunkedText */.T(rtfText, 100000));
            if (!new check_all/* ModelChecker */.n(this.data.documentModel).checkAll())
                throw new Error();
        }
        catch (err) {
            reject(document_importer_errors/* DocumentImporterErrors */.x.RtfImportError);
            return;
        }
        callback(this.data.documentModel, this.data.formatImagesImporter);
    }
    importFromStringInner(rtfText) {
        this.rtfText = rtfText;
        rtfText.resetToStart();
        this.checkSignature(this.rtfText);
        const modelCreatorOptions = new options/* ModelCreatorOptions */.g();
        modelCreatorOptions.addParagraph = false;
        modelCreatorOptions.addSection = true;
        this.data = new RtfImportData(this.rtfText, this.options, new creator/* ModelCreator */.P(modelCreatorOptions).createModel(this.richOptions).fillModel(), this.richOptions);
        this.data.documentModel.compatibilitySettings.compatibilityMode = document_model/* CompatibilityMode */.VS.Word2003;
        this.data.import();
        return this.data.documentModel;
    }
    checkSignature(rtfText) {
        const sign = "{\\rtf";
        for (let ind = 0; ind < sign.length; ind++) {
            if (!rtfText.moveToNextChar() || sign[ind] != rtfText.currChar) {
                this.options.throwInvalidFile('Incorrect rtf signature');
            }
        }
        rtfText.resetToStart();
    }
}


/***/ }),

/***/ 2207:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ RtfDrawingKeywords; }
/* harmony export */ });
/* harmony import */ var _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7156);
/* harmony import */ var _model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8927);


class RtfDrawingKeywords {
    static createDrawingObjectTextWrapTypeTable() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapType */ .vX.TopAndBottom, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapType */ .vX.Square, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapType */ .vX.None, 3)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapType */ .vX.Tight, 4)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapType */ .vX.Through, 5)
            .get();
    }
    static createDrawingObjectTextWrapSideTable() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapSide */ .Xb.Both, 0)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapSide */ .Xb.Left, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapSide */ .Xb.Right, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectTextWrapSide */ .Xb.Largest, 3)
            .get();
    }
    static createFloatingObjectHorizontalPositionAlignmentTable() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionAlignment */ .xC.None, 0)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Left, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Center, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Right, 3)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Inside, 4)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Outside, 5)
            .get();
    }
    static createFloatingObjectHorizontalPositionTypeTable() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.Margin, 0)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.Page, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.Column, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.Character, 3)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.LeftMargin, 4)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.RightMargin, 5)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.InsideMargin, 6)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectHorizontalPositionType */ .pk.OutsideMargin, 7)
            .get();
    }
    static createFloatingObjectVerticalPositionAlignment() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionAlignment */ .Iw.None, 0)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionAlignment */ .Iw.Top, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionAlignment */ .Iw.Center, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionAlignment */ .Iw.Bottom, 3)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionAlignment */ .Iw.Inside, 4)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionAlignment */ .Iw.Outside, 5)
            .get();
    }
    static createFloatingObjectVerticalPositionType() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.Margin, 0)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.Page, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.Paragraph, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.Line, 3)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.TopMargin, 4)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.BottomMargin, 5)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.InsideMargin, 6)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .AnchorObjectVerticalPositionType */ .iL.OutsideMargin, 7)
            .get();
    }
    static createFloatingObjectRelativeWidthType() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeWidthType */ .Fx.Margin, 0)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeWidthType */ .Fx.Page, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeWidthType */ .Fx.LeftMargin, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeWidthType */ .Fx.RightMargin, 3)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeWidthType */ .Fx.InsideMargin, 4)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeWidthType */ .Fx.OutsideMargin, 5)
            .get();
    }
    static createFloatingObjectRelativeHeightType() {
        return new _utils_map_creator__WEBPACK_IMPORTED_MODULE_1__/* .MapCreator */ .M()
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeHeightType */ .Cz.Margin, 0)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeHeightType */ .Cz.Page, 1)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeHeightType */ .Cz.TopMargin, 2)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeHeightType */ .Cz.BottomMargin, 3)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeHeightType */ .Cz.InsideMargin, 4)
            .add(_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_0__/* .RelativeHeightType */ .Cz.OutsideMargin, 5)
            .get();
    }
}
RtfDrawingKeywords.DXInternalLegacyHorizontalPositionAlignment = "_dxInternalLegacyHorizontalPositionAlignment";
RtfDrawingKeywords.DXInternalLegacyVerticalPositionAlignment = "_dxInternalLegacyVerticalPositionAlignment";
RtfDrawingKeywords.DXInternalIsShape = "_dxInternalIsShape";
RtfDrawingKeywords.Shape = "shp";
RtfDrawingKeywords.ShapeInstance = "shpinst";
RtfDrawingKeywords.ShapeGroup = "shpgrp";
RtfDrawingKeywords.ShapeText = "shptxt";
RtfDrawingKeywords.ShapeLid = "shplid";
RtfDrawingKeywords.ShapeLeft = "shpleft";
RtfDrawingKeywords.ShapeRight = "shpright";
RtfDrawingKeywords.ShapeTop = "shptop";
RtfDrawingKeywords.ShapeBottom = "shpbottom";
RtfDrawingKeywords.ShapeZOrder = "shpz";
RtfDrawingKeywords.ShapeLegacyHorizontalPositionTypePage = "shpbxpage";
RtfDrawingKeywords.ShapeLegacyHorizontalPositionTypeMargin = "shpbxmargin";
RtfDrawingKeywords.ShapeLegacyHorizontalPositionTypeColumn = "shpbxcolumn";
RtfDrawingKeywords.ShapeIgnoreLegacyHorizontalPositionType = "shpbxignore";
RtfDrawingKeywords.ShapeLegacyVerticalPositionTypePage = "shpbypage";
RtfDrawingKeywords.ShapeLegacyVerticalPositionTypeMargin = "shpbymargin";
RtfDrawingKeywords.ShapeLegacyVerticalPositionTypeParagraph = "shpbypara";
RtfDrawingKeywords.ShapeIgnoreLegacyVerticalPositionType = "shpbyignore";
RtfDrawingKeywords.ShapeWrapTextType = "shpwr";
RtfDrawingKeywords.ShapeWrapTextTypeZOrder = "shpfblwtxt";
RtfDrawingKeywords.ShapeWrapTextSide = "shpwrk";
RtfDrawingKeywords.ShapeLocked = "shplockanchor";
RtfDrawingKeywords.Name = "wzName";
RtfDrawingKeywords.LockAspectRatio = "fLockAspectRatio";
RtfDrawingKeywords.Rotation = "rotation";
RtfDrawingKeywords.Filled = "fFilled";
RtfDrawingKeywords.FillColor = "fillColor";
RtfDrawingKeywords.LineWidth = "lineWidth";
RtfDrawingKeywords.Line = "fLine";
RtfDrawingKeywords.LineColor = "lineColor";
RtfDrawingKeywords.CropFromTop = "cropFromTop";
RtfDrawingKeywords.CropFromBottom = "cropFromBottom";
RtfDrawingKeywords.CropFromLeft = "cropFromLeft";
RtfDrawingKeywords.CropFromRight = "cropFromRight";
RtfDrawingKeywords.FitShapeToText = "fFitShapeToText";
RtfDrawingKeywords.WrapText = "WrapText";
RtfDrawingKeywords.LayoutInCell = "fLayoutInCell";
RtfDrawingKeywords.HorizontalPositionAlignment = "posh";
RtfDrawingKeywords.HorizontalPositionType = "posrelh";
RtfDrawingKeywords.VerticalPositionAlignment = "posv";
RtfDrawingKeywords.VerticalPositionType = "posrelv";
RtfDrawingKeywords.RelativeHorizontalSizeWidth = "pctHoriz";
RtfDrawingKeywords.RelativeHorizontalSizeFrom = "sizerelh";
RtfDrawingKeywords.RelativeVerticalSizeHeight = "pctVert";
RtfDrawingKeywords.RelativeVerticalSizeFrom = "sizerelv";
RtfDrawingKeywords.PictureBinaryData = "pib";
RtfDrawingKeywords.ExternalPictureName = "pibName";
RtfDrawingKeywords.WrapDistLeft = "dxWrapDistLeft";
RtfDrawingKeywords.WrapDistRight = "dxWrapDistRight";
RtfDrawingKeywords.WrapDistTop = "dyWrapDistTop";
RtfDrawingKeywords.WrapDistBottom = "dyWrapDistBottom";
RtfDrawingKeywords.Hidden = "fHidden";
RtfDrawingKeywords.AllowOverlap = "fAllowOverlap";
RtfDrawingKeywords.BehindDocument = "fBehindDocument";
RtfDrawingKeywords.TextLeft = "dxTextLeft";
RtfDrawingKeywords.TextTop = "dyTextTop";
RtfDrawingKeywords.TextRight = "dxTextRight";
RtfDrawingKeywords.TextBottom = "dyTextBottom";
RtfDrawingKeywords.FlipH = "fFlipH";
RtfDrawingKeywords.FlipV = "fFlipV";
RtfDrawingKeywords.PctHorizPos = "pctHorizPos";
RtfDrawingKeywords.PctVertPos = "pctVertPos";
RtfDrawingKeywords.PseudoInline = "fPseudoInline";
RtfDrawingKeywords.ShapeType = "shapeType";
RtfDrawingKeywords.BWMode = "bWMode";
RtfDrawingKeywords.GeoLeft = "geoLeft";
RtfDrawingKeywords.GeoTop = "geoTop";
RtfDrawingKeywords.GeoRight = "geoRight";
RtfDrawingKeywords.GeoBottom = "geoBottom";
RtfDrawingKeywords.ShapePath = "shapePath";
RtfDrawingKeywords.Verticies = "pVerticies";
RtfDrawingKeywords.SegmentInfo = "pSegmentInfo";
RtfDrawingKeywords.ConnectionSites = "pConnectionSites";
RtfDrawingKeywords.ConnectionSitesDir = "pConnectionSitesDir";
RtfDrawingKeywords.ShadowType = "shadowType";
RtfDrawingKeywords.ShadowColor = "shadowColor";
RtfDrawingKeywords.ShadowOpacity = "shadowOpacity";
RtfDrawingKeywords.ShadowOffsetX = "shadowOffsetX";
RtfDrawingKeywords.ShadowOffsetY = "shadowOffsetY";
RtfDrawingKeywords.ShadowScaleXToX = "shadowScaleXToX";
RtfDrawingKeywords.ShadowScaleYToY = "shadowScaleYToY";
RtfDrawingKeywords.ShadowScaleYToX = "shadowScaleYToX";
RtfDrawingKeywords.ShadowScaleXToY = "shadowScaleXToY";
RtfDrawingKeywords.ShadowOriginX = "shadowOriginX";
RtfDrawingKeywords.ShadowOriginY = "shadowOriginY";
RtfDrawingKeywords.Shadow = "fShadow";
RtfDrawingKeywords.ShadowSoftness = "shadowSoftness";
RtfDrawingKeywords.PictureBrightness = "pictureBrightness";
RtfDrawingKeywords.PictureContrast = "pictureContrast";
RtfDrawingKeywords.PictureGray = "pictureGray";
RtfDrawingKeywords.PictureTransparent = "pictureTransparent";
RtfDrawingKeywords.AdjustValue = "adjustValue";
RtfDrawingKeywords.AdjustFormatStringValue = "adjust{0}Value";
RtfDrawingKeywords.FillType = "fillType";
RtfDrawingKeywords.Hsv = "hsv";
RtfDrawingKeywords.Accent1 = "caccentone";
RtfDrawingKeywords.Accent2 = "caccenttwo";
RtfDrawingKeywords.Accent3 = "caccentthree";
RtfDrawingKeywords.Accent4 = "caccentfour";
RtfDrawingKeywords.Accent5 = "caccentfive";
RtfDrawingKeywords.Accent6 = "caccentsix";
RtfDrawingKeywords.Tint = "ctint";
RtfDrawingKeywords.Shade = "cshade";
RtfDrawingKeywords.FillOpacity = "fillOpacity";
RtfDrawingKeywords.FillBackColor = "fillBackColor";
RtfDrawingKeywords.FillBackOpacity = "fillBackOpacity";
RtfDrawingKeywords.FillAngle = "fillAngle";
RtfDrawingKeywords.FillFocus = "fillFocus";
RtfDrawingKeywords.FillToBottom = "fillToBottom";
RtfDrawingKeywords.FillToTop = "fillToTop";
RtfDrawingKeywords.FillToLeft = "fillToLeft";
RtfDrawingKeywords.FillToRight = "fillToRight";
RtfDrawingKeywords.LineMiterLimit = "lineMiterLimit";
RtfDrawingKeywords.LineStyle = "lineStyle";
RtfDrawingKeywords.LineDashing = "lineDashing";
RtfDrawingKeywords.LineStartArrowhead = "lineStartArrowhead";
RtfDrawingKeywords.LineEndArrowhead = "lineEndArrowhead";
RtfDrawingKeywords.LineStartArrowWidth = "lineStartArrowWidth";
RtfDrawingKeywords.LineEndArrowWidth = "lineEndArrowWidth";
RtfDrawingKeywords.LineStartArrowLength = "lineStartArrowLength";
RtfDrawingKeywords.LineEndArrowLength = "lineEndArrowLength";
RtfDrawingKeywords.LineJoinStyle = "lineJoinStyle";
RtfDrawingKeywords.LineEndCapStyle = "lineEndCapStyle";
RtfDrawingKeywords.LineType = "lineType";
RtfDrawingKeywords.LockAgainstGrouping = "fLockAgainstGrouping";
RtfDrawingKeywords.LockAgainstSelect = "fLockAgainstSelect";
RtfDrawingKeywords.LockPosition = "fLockPosition";
RtfDrawingKeywords.LockRotation = "fLockRotation";
RtfDrawingKeywords.LockVerticies = "fLockVerticies";
RtfDrawingKeywords.LockAdjustHandles = "fLockAdjustHandles";
RtfDrawingKeywords.LockShapeType = "fLockShapeType";
RtfDrawingKeywords.LockText = "fLockText";
RtfDrawingKeywords.LockAgainstUngrouping = "fLockAgainstUngrouping";
RtfDrawingKeywords.LockCropping = "fLockCropping";
RtfDrawingKeywords.FillShadeColors = "fillShadeColors";
RtfDrawingKeywords.FillBlip = "fillBlip";
RtfDrawingKeywords.LineFillBlip = "lineFillBlip";
RtfDrawingKeywords.Description = "wzDescription";
RtfDrawingKeywords.PihlShape = "pihlShape";
RtfDrawingKeywords.Tooltip = "wzTooltip";
RtfDrawingKeywords.ShapeHyperlink = "hl";
RtfDrawingKeywords.ShapeHyperlinkFrame = "hlfr";
RtfDrawingKeywords.ShapeHyperlinkSource = "hlsrc";
RtfDrawingKeywords.ShapeHyperlinkLocation = "hlloc";
RtfDrawingKeywords.AnchorText = "anchorText";
RtfDrawingKeywords.TxflTextFlow = "txflTextFlow";
RtfDrawingKeywords.GroupLeft = "groupLeft";
RtfDrawingKeywords.GroupRight = "groupRight";
RtfDrawingKeywords.GroupTop = "groupTop";
RtfDrawingKeywords.GroupBottom = "groupBottom";
RtfDrawingKeywords.Dhgt = "dhgt";
RtfDrawingKeywords.RelLeft = "relLeft";
RtfDrawingKeywords.RelRight = "relRight";
RtfDrawingKeywords.RelTop = "relTop";
RtfDrawingKeywords.RelBottom = "relBottom";
RtfDrawingKeywords.RelFlipH = "fRelFlipH";
RtfDrawingKeywords.RelFlipV = "fRelFlipV";
RtfDrawingKeywords.WrapPolygonVertices = "pWrapPolygonVertices";
RtfDrawingKeywords.EditedWrap = "fEditedWrap";
RtfDrawingKeywords.Dgmt = "dgmt";
RtfDrawingKeywords.PreferRelativeResize = "fPreferRelativeResize";
RtfDrawingKeywords.XLimo = "xLimo";
RtfDrawingKeywords.YLimo = "yLimo";
RtfDrawingKeywords.LineOpacity = "lineOpacity";
RtfDrawingKeywords.LineBackColor = "lineBackColor";
RtfDrawingKeywords.PInscribe = "pInscribe";
RtfDrawingKeywords.IsButton = "fIsButton";
RtfDrawingKeywords.PatternFillFormatString = "{{\\pict\\picscalex-1\\picscaley-1\\piccropl0\\piccropr0\\piccropt0\\piccropb0\\picw212\\pich212\\picwgoal120\\pichgoal120\\wmetafile8\\bliptag{0}\\blipupi96}}";
RtfDrawingKeywords.DrawingObjectTextWrapTypeTable = RtfDrawingKeywords.createDrawingObjectTextWrapTypeTable();
RtfDrawingKeywords.DrawingObjectTextWrapSideTable = RtfDrawingKeywords.createDrawingObjectTextWrapSideTable();
RtfDrawingKeywords.DrawingObjectHorizontalPositionAlignmentTable = RtfDrawingKeywords.createFloatingObjectHorizontalPositionAlignmentTable();
RtfDrawingKeywords.DrawingObjectHorizontalPositionTypeTable = RtfDrawingKeywords.createFloatingObjectHorizontalPositionTypeTable();
RtfDrawingKeywords.DrawingObjectVerticalPositionAlignmentTable = RtfDrawingKeywords.createFloatingObjectVerticalPositionAlignment();
RtfDrawingKeywords.DrawingObjectVerticalPositionTypeTable = RtfDrawingKeywords.createFloatingObjectVerticalPositionType();
RtfDrawingKeywords.DrawingObjectRelativeWidthTypeTable = RtfDrawingKeywords.createFloatingObjectRelativeWidthType();
RtfDrawingKeywords.DrawingObjectRelativeHeightTypeTable = RtfDrawingKeywords.createFloatingObjectRelativeHeightType();


/***/ }),

/***/ 5283:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   u: function() { return /* binding */ RtfTableCellPropertiesMerger; }
/* harmony export */ });
/* harmony import */ var _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8403);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _rtf_table_properties_merger_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9924);



class RtfTableCellPropertiesMerger extends _rtf_table_properties_merger_base__WEBPACK_IMPORTED_MODULE_2__/* .RtfTablePropertiesMergerBase */ .Y {
    constructor(model) {
        super(model);
    }
    get defaultProperties() {
        return this.model.defaultTableCellProperties;
    }
    getMergedProperties(cell) {
        return this.merge(cell.properties, cell.parentRow.parentTable.style, cell, null, cell.conditionalFormatting);
    }
    getStyleMergedProperties(style, tableStyle, conditionalTFormatting) {
        return this.merge(style.tableCellProperties, tableStyle, null, null, conditionalTFormatting);
    }
    merge(source, tableStyle, cell, _tablePropertiesException, conditionalFormatting) {
        const result = source.clone();
        if (cell) {
            const row = cell.parentRow;
            const table = row.parentTable;
            const tablePropertiesException = row.tablePropertiesException;
            result.cellMargins.left = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerMarginLeft */ .ku(table, this.model, tablePropertiesException)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.cellMargins.right = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerMarginRight */ .nn(table, this.model, tablePropertiesException)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.cellMargins.top = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerMarginTop */ .ch(table, this.model, tablePropertiesException)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.cellMargins.bottom = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerMarginBottom */ .Eo(table, this.model, tablePropertiesException)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.borders.left = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerBorderLeft */ .L6(tablePropertiesException, row.cells[0] == cell)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.borders.right = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerBorderRight */ .g7(tablePropertiesException, _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(row.cells) == cell)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.borders.top = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerBorderTop */ .PU(tablePropertiesException, table.rows[0] == row)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.borders.bottom = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerBorderTop */ .PU(tablePropertiesException, _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(table.rows) == row)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.borders.topLeftDiagonal = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerBorderTopLeftDiagonal */ .xn(tablePropertiesException)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
            result.borders.topRightDiagonal = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerBorderTopRightDiagonal */ .JY(tablePropertiesException)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        }
        result.shadingInfo = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerShadingInfo */ .iT()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.noWrap = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMergerNoWrap */ .x$()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.verticalAlignment = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableCellVerticalAlignmentMerger */ .kc()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        return result;
    }
}


/***/ }),

/***/ 9924:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: function() { return /* binding */ RtfTablePropertiesMergerBase; }
/* harmony export */ });
class RtfTablePropertiesMergerBase {
    constructor(model) {
        this.model = model;
    }
}


/***/ }),

/***/ 861:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _: function() { return /* binding */ RtfTablePropertiesMerger; }
/* harmony export */ });
/* harmony import */ var _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1314);
/* harmony import */ var _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(247);
/* harmony import */ var _rtf_table_properties_merger_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9924);



class RtfTablePropertiesMerger extends _rtf_table_properties_merger_base__WEBPACK_IMPORTED_MODULE_2__/* .RtfTablePropertiesMergerBase */ .Y {
    constructor(model) {
        super(model);
    }
    get defaultProperties() {
        return this.model.defaultTableProperties;
    }
    getMergedProperties(table) {
        return this.merge(table.properties, table.style, table, null, _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.WholeTable);
    }
    getStyleMergedProperties(style, tableStyle, conditionalTFormatting) {
        return this.merge(style.tableProperties, tableStyle, null, null, conditionalTFormatting);
    }
    merge(source, tableStyle, _table, _tablePropertiesException, conditionalFormatting) {
        const result = source.clone();
        result.indent = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerIndent */ .wu()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.cellSpacing = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerCellSpacing */ .rP()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.borders.left = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerBorderLeft */ .QO()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.borders.right = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerBorderRight */ .Nq()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.borders.top = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerBorderTop */ ._m()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.borders.bottom = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerBorderBottom */ .zN()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.borders.insideVertical = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerBorderVertical */ .Yk()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.borders.insideHorizontal = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerBorderHorizontal */ .LE()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.cellMargins.left = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerMarginLeft */ .R8()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.cellMargins.right = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerMarginRight */ .cI()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.cellMargins.top = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerMarginTop */ .AF()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.cellMargins.bottom = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerMarginBottom */ .vO()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.layoutType = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerLayoutType */ .Ru()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.shadingInfo = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerShadingInfo */ .aV()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.tableStyleColumnBandSize = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerStyleColumnBandSize */ .$D()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.tableStyleRowBandSize = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerStyleRowBandSize */ .TH()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.tableRowAlignment = new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TablePropertiesMergerHorizontalAlignment */ .G8()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        return result;
    }
}


/***/ }),

/***/ 9009:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   b: function() { return /* binding */ RtfTableRowPropertiesMerger; }
/* harmony export */ });
/* harmony import */ var _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1157);
/* harmony import */ var _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6537);
/* harmony import */ var _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(247);
/* harmony import */ var _rtf_table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9924);




class RtfTableRowPropertiesMerger extends _rtf_table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .RtfTablePropertiesMergerBase */ .Y {
    constructor(model) {
        super(model);
    }
    get defaultProperties() {
        return this.model.defaultTableRowProperties;
    }
    getMergedProperties(row) {
        return this.merge(row.properties, row.parentTable.style, row, row.tablePropertiesException, _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_2__/* .ConditionalTableStyleFormatting */ .pB.WholeTable);
    }
    getStyleMergedProperties(style, tableStyle, conditionalFormatting) {
        return this.merge(style.tableRowProperties, tableStyle, null, new _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TableProperties */ .XK(), conditionalFormatting);
    }
    merge(source, tableStyle, row, tablePropertiesException, conditionalFormatting) {
        const result = source.clone();
        if (row) {
            result.cellSpacing = new _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMergerCellSpacing */ .L2(this.model, row.parentTable, tablePropertiesException)
                .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        }
        result.cantSplit = new _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMergerCantSplit */ .Y_()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.tableRowAlignment = new _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMergerHorizontalAlignment */ .KJ(tablePropertiesException)
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        result.divId = new _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMergerDivId */ .Yx()
            .getProperty(source, tableStyle, conditionalFormatting, this.defaultProperties);
        return result;
    }
}


/***/ }),

/***/ 7084:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ RtfNumberingFormats; }
/* harmony export */ });
/* harmony import */ var _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4830);

const RtfNumberingFormats = [
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Decimal,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.UpperRoman,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.LowerRoman,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.UpperLetter,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.LowerLetter,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Ordinal,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.CardinalText,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.OrdinalText,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.AIUEOHiragana,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Iroha,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.DecimalEnclosedCircle,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.AIUEOFullWidthHiragana,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.IrohaFullWidth,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.DecimalZero,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Bullet,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Ganada,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Chosung,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.KoreanCounting,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.KoreanDigital,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.KoreanDigital2,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.KoreanLegal,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Hebrew1,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.ArabicAlpha,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Hebrew2,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.ArabicAbjad,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.HindiVowels,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.HindiConsonants,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.HindiNumbers,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.HindiDescriptive,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.ThaiLetters,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.ThaiNumbers,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.ThaiDescriptive,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.VietnameseDescriptive,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.NumberInDash,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.RussianLower,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.RussianUpper,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
    _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.None,
];


/***/ }),

/***/ 5653:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: function() { return /* binding */ TintAndShadeCalculator; }
/* harmony export */ });
class TintAndShadeCalculator {
    static modifyShadeToTint(shade) {
        return (shade / TintAndShadeCalculator.maxTintValue) - 1;
    }
    static calculateTint(tint) {
        return (1 - tint / TintAndShadeCalculator.maxTintValue);
    }
    static calculateShadeFromColorModelInfoTint(tint) {
        return Math.floor((tint + 1) * TintAndShadeCalculator.maxTintValue);
    }
    static calculateTintFromColorModelInfoTint(tint) {
        return Math.floor(TintAndShadeCalculator.maxTintValue * (1 - tint));
    }
}
TintAndShadeCalculator.maxTintValue = 255;


/***/ }),

/***/ 992:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M: function() { return /* binding */ ExtensionHelper; }
/* harmony export */ });
/* harmony import */ var _utils_map_creator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7156);

class ExtensionHelper {
    static convertExtensionToMimeType(ext) {
        const mimeType = ExtensionHelper.extToMimeType[ext.toLowerCase()];
        return mimeType ? mimeType : 'image/png';
    }
    static convertMimeTypeToExtension(mimeType) {
        const ext = ExtensionHelper.mimeToExt[mimeType.toLowerCase()];
        return ext ? ext : 'png';
    }
    static makeBase64UriPrefix(mimeType) {
        return `data:${mimeType};base64,`;
    }
    static getBase64DataWithoutPrefix(base64uri) {
        const match = base64uri.match(/data\:.*\;base64,/);
        return match ? base64uri.substr(match[0].length) : base64uri;
    }
    static getMimeTypeFromBase64Uri(prefix) {
        const match = prefix.match(/data\:(.*)\;base64,/);
        return match && match[1] ? match[1].toLowerCase() : 'png';
    }
}
ExtensionHelper.extToMimeType = new _utils_map_creator__WEBPACK_IMPORTED_MODULE_0__/* .MapCreator */ .M()
    .add('png', 'image/png')
    .add('jpeg', 'image/jpeg')
    .add('jpg', 'image/jpeg')
    .add('svg', 'image/svg+xml')
    .add('gif', 'image/gif')
    .get();
ExtensionHelper.mimeToExt = new _utils_map_creator__WEBPACK_IMPORTED_MODULE_0__/* .MapCreator */ .M()
    .add('image/png', 'png')
    .add('image/jpeg', 'jpeg')
    .add('image/svg+xml', 'svg')
    .add('image/gif', 'gif')
    .get();


/***/ }),

/***/ 325:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: function() { return /* binding */ FormatImagesImporter; },
/* harmony export */   R: function() { return /* binding */ FormatImagesImporterData; }
/* harmony export */ });
class FormatImagesImporterData {
    constructor(subDocPos, options, run) {
        this.subDocPos = subDocPos;
        this.options = options;
        this.run = run;
    }
}
class FormatImagesImporter {
    constructor() {
        this.data = [];
        this.callbackId = [];
    }
    dispose() {
        this.callbackId.forEach(id => clearTimeout(id));
        clearTimeout(this.timeoutId);
    }
    whenAllPicturesLoaded(callback, timeout = 3000) {
        if (!this.data.length) {
            this.callOnImportEnd = () => callback(true);
            return;
        }
        let numLoadingPictures = this.data.length;
        this.timeoutId = setTimeout(() => callback(false), timeout);
        this.data.forEach(data => data.options.imageLoadedEvent.push(() => {
            numLoadingPictures--;
            if (numLoadingPictures == 0) {
                clearTimeout(this.timeoutId);
                this.callbackId.push(setTimeout(() => callback(true), 0));
            }
        }));
    }
    import(modelManipulator) {
        this.data.forEach(d => {
            const cacheInfo = d.run.info.cacheInfo;
            modelManipulator.picture.loader.sizeUpdater.addSizes(d.subDocPos, d.options, d.run, null);
            if (cacheInfo.isLoaded)
                modelManipulator.picture.loader.sizeUpdater.update(cacheInfo, false);
        });
        modelManipulator.model.cache.imageCache.loadAllPictures(modelManipulator.picture);
        if (this.callOnImportEnd)
            this.callOnImportEnd();
    }
    registerImageRun(data) {
        this.data.push(data);
    }
}


/***/ }),

/***/ 3610:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R: function() { return /* binding */ NumberingListIndexConstants; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8785);
/* harmony import */ var _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3231);


class NumberingListIndexConstants {
}
NumberingListIndexConstants.noNumberingList = _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_1__/* .NumberingList */ .K6.NoNumberingListIndex;
NumberingListIndexConstants.listIndexNotSetted = _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_1__/* .NumberingList */ .K6.NumberingListNotSettedIndex;
NumberingListIndexConstants.minValue = 0;
NumberingListIndexConstants.maxValue = _devexpress_utils_lib_constants__WEBPACK_IMPORTED_MODULE_0__.Constants.MAX_SAFE_INTEGER;


/***/ }),

/***/ 9597:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: function() { return /* binding */ ReadOnlyMode; }
/* harmony export */ });
var ReadOnlyMode;
(function (ReadOnlyMode) {
    ReadOnlyMode[ReadOnlyMode["None"] = 0] = "None";
    ReadOnlyMode[ReadOnlyMode["Persistent"] = 1] = "Persistent";
    ReadOnlyMode[ReadOnlyMode["Temporary"] = 2] = "Temporary";
})(ReadOnlyMode || (ReadOnlyMode = {}));


/***/ }),

/***/ 6381:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ LayoutBoxIteratorBase; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);

class LayoutBoxIteratorBase {
    constructor(subDocument, layout, intervalStart, intervalEnd) {
        this.layout = layout;
        this.subDocument = subDocument;
        this.intervalStart = intervalStart;
        this.intervalEnd = intervalEnd;
        this.lastModelPosition = -1;
    }
    isInitialized() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
    resetToInterval(intervalStart, intervalEnd) {
        this.intervalStart = intervalStart;
        this.intervalEnd = intervalEnd;
        this.lastModelPosition = -1;
        return this.isInitialized();
    }
    moveNext(endRowConflictFlags, middleRowConflictFlags) {
        this.endRowConflictFlags = endRowConflictFlags.clone();
        this.middleRowConflictFlags = middleRowConflictFlags.clone();
        if (this.lastModelPosition < 0) {
            this.position = this.getNewLayoutPosition(this.intervalStart, this.endRowConflictFlags, this.middleRowConflictFlags);
            if (!this.position && this.endRowConflictFlags.atLeastOneIsFalse())
                this.position = this.getNewLayoutPosition(this.intervalStart, this.endRowConflictFlags.setDefault(true), this.middleRowConflictFlags);
            if (this.position) {
                this.lastModelPosition = this.position.getLogPosition();
                return true;
            }
        }
        if (this.lastModelPosition > this.intervalEnd || this.lastModelPosition < 0)
            return false;
        if (this.lastModelPosition == this.intervalEnd)
            return this.setBoundPosition(this.intervalEnd, this.position, (boundPos) => boundPos < this.lastModelPosition);
        const prevPosition = this.position.clone();
        if (!this.advancePosition())
            return this.position.charOffset != this.position.box.getLength() ?
                this.setBoundPosition(this.intervalEnd, prevPosition, (boundPos) => boundPos < this.lastModelPosition) :
                false;
        const currModelPos = this.position.getLogPosition();
        if (currModelPos >= this.intervalEnd)
            return this.setBoundPosition(this.intervalEnd, prevPosition, (boundPos) => boundPos < this.lastModelPosition);
        this.lastModelPosition = currModelPos;
        return true;
    }
    movePrev(endRowConflictFlags, middleRowConflictFlags) {
        this.endRowConflictFlags = endRowConflictFlags.clone();
        this.middleRowConflictFlags = middleRowConflictFlags.clone();
        if (this.lastModelPosition < 0) {
            this.position = this.getNewLayoutPosition(this.intervalEnd, this.endRowConflictFlags, this.middleRowConflictFlags);
            if (!this.position && this.endRowConflictFlags.atLeastOneIsFalse())
                this.position = this.getNewLayoutPosition(this.intervalEnd, this.endRowConflictFlags.setDefault(true), this.middleRowConflictFlags);
            if (this.position) {
                this.lastModelPosition = this.position.getLogPosition();
                return true;
            }
        }
        if (this.lastModelPosition < this.intervalStart || this.lastModelPosition < 0)
            return false;
        if (this.lastModelPosition == this.intervalStart)
            return this.setBoundPosition(this.intervalStart, this.position, (boundPos) => boundPos > this.lastModelPosition);
        const prevPosition = this.position.clone();
        if (!this.advancePositionBack())
            return false;
        const currModelPos = this.position.getLogPosition();
        if (currModelPos <= this.intervalStart)
            return this.setBoundPosition(this.intervalStart, prevPosition, (boundPos) => boundPos > this.lastModelPosition);
        this.lastModelPosition = currModelPos;
        return true;
    }
    setBoundPosition(logPosition, prevPosition, boundFunc) {
        let layoutPosition = this.getNewLayoutPosition(logPosition, this.endRowConflictFlags, this.middleRowConflictFlags);
        if (!layoutPosition)
            layoutPosition = this.getNewLayoutPosition(logPosition, this.endRowConflictFlags.setDefault(true), this.middleRowConflictFlags);
        const modelPos = layoutPosition.getLogPosition();
        if (layoutPosition.equals(prevPosition) || boundFunc(modelPos)) {
            this.position = prevPosition;
            return false;
        }
        this.position = layoutPosition;
        this.lastModelPosition = modelPos;
        return true;
    }
    advancePosition() {
        if (this.position.boxIndex + 1 < this.position.row.boxes.length) {
            this.position.boxIndex++;
            this.position.box = this.position.row.boxes[this.position.boxIndex];
            this.position.charOffset = 0;
            return true;
        }
        if (this.position.advanceToNextRow(this.layout)) {
            this.position.boxIndex = 0;
            this.position.box = this.position.row.boxes[0];
            this.position.charOffset = 0;
            return true;
        }
        return false;
    }
    advancePositionBack() {
        if (this.position.charOffset != 0) {
            this.position.charOffset = 0;
            return true;
        }
        if (this.position.boxIndex > 0) {
            this.position.boxIndex--;
            this.position.box = this.position.row.boxes[this.position.boxIndex];
            this.position.charOffset = 0;
            return true;
        }
        if (this.position.advanceToPrevRow(this.layout)) {
            this.position.boxIndex = this.position.row.boxes.length - 1;
            this.position.box = this.position.row.boxes[this.position.boxIndex];
            this.position.charOffset = 0;
            return true;
        }
        return false;
    }
}


/***/ }),

/***/ 1437:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  I: function() { return /* binding */ LayoutBoxIteratorMainSubDocument; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-base.ts
var layout_box_iterator_base = __webpack_require__(6381);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/layout/layout-position.ts
var layout_position = __webpack_require__(8475);
// EXTERNAL MODULE: ./src/common/layout/table/layout-table-cell-info.ts
var layout_table_cell_info = __webpack_require__(6031);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
;// CONCATENATED MODULE: ./src/common/layout-engine/layout-box-iterator/layout-position-advance-helpers/base-advance-helper.ts




class LayoutPositionBaseAdvanceHelper {
    constructor(lp, layout) {
        this.lp = lp;
        this.layout = layout;
        this.oldLp = lp.clone();
    }
    finalHandle(result) {
        if (result && !this.lp.page)
            throw new Error("Likely model is incorrect. See last table actions");
        if (result && this.lp.page.isValid)
            return true;
        this.lp.copyFrom(this.oldLp);
        return false;
    }
    setLayoutRowInCell(cell, onStart) {
        const getInternalTableIndex = onStart ?
            (_cell) => 0 :
            (cell) => cell.layoutRows.length;
        const getInternalTableCell = onStart ?
            (internalTable) => internalTable.tableRows[0].rowCells[0] :
            (internalTable) => list.ListUtils.last(list.ListUtils.last(internalTable.tableRows).rowCells);
        let internalTable;
        while (internalTable = cell.internalTables[getInternalTableIndex(cell)])
            cell = getInternalTableCell(internalTable);
        this.setLayoutRow((onStart ? cell.layoutRows[0] : list.ListUtils.last(cell.layoutRows)).indexInColumn, onStart);
    }
    setLayoutRow(rowIndex, onStart) {
        this.lp.rowIndex = rowIndex;
        this.lp.row = this.lp.column.rows[this.lp.rowIndex];
        if (this.lp.row) {
            (onStart ? layout_position/* LayoutPositionDiscardHelper */.Nw.onStartBoxLevel : layout_position/* LayoutPositionDiscardHelper */.Nw.onEndBoxLevel)(this.lp);
            return true;
        }
        return false;
    }
    advanceBoxSimple(allowChangeHighLevels, toNext) {
        toNext ? this.lp.boxIndex++ : this.lp.boxIndex--;
        this.lp.box = this.lp.row.boxes[this.lp.boxIndex];
        if (this.lp.box) {
            toNext ? layout_position/* LayoutPositionDiscardHelper */.Nw.onStartCharLevel(this.lp) : layout_position/* LayoutPositionDiscardHelper */.Nw.onEndCharLevel(this.lp);
            return true;
        }
        return allowChangeHighLevels ? this.advanceRowSimple(true, toNext) : false;
    }
    advanceRowSimple(allowChangeHighLevels, toNext) {
        toNext ? this.lp.rowIndex++ : this.lp.rowIndex--;
        if (this.setLayoutRow(this.lp.rowIndex, toNext))
            return true;
        return allowChangeHighLevels ? this.advanceColumnSimple(true, toNext) : false;
    }
    advanceColumnSimple(allowChangeHighLevels, toNext) {
        toNext ? this.lp.columnIndex++ : this.lp.columnIndex--;
        this.lp.column = this.lp.pageArea.columns[this.lp.columnIndex];
        if (this.lp.column) {
            toNext ? layout_position/* LayoutPositionDiscardHelper */.Nw.onStartRowLevel(this.lp) : layout_position/* LayoutPositionDiscardHelper */.Nw.onEndRowLevel(this.lp);
            return true;
        }
        return allowChangeHighLevels ? this.advancePageAreaSimple(true, toNext) : false;
    }
    advancePageAreaSimple(allowChangeHighLevels, toNext) {
        toNext ? this.lp.pageAreaIndex++ : this.lp.pageAreaIndex--;
        this.lp.pageArea = this.lp.page.mainSubDocumentPageAreas[this.lp.pageAreaIndex];
        if (this.lp.pageArea) {
            toNext ? layout_position/* LayoutPositionDiscardHelper */.Nw.onStartColumnLevel(this.lp) : layout_position/* LayoutPositionDiscardHelper */.Nw.onEndColumnLevel(this.lp);
            return true;
        }
        return allowChangeHighLevels ? this.advancePageSimple(toNext) : false;
    }
    advancePageSimple(toNext) {
        toNext ? this.lp.pageIndex++ : this.lp.pageIndex--;
        this.lp.page = this.layout.pages[this.lp.pageIndex];
        if (!this.lp.page)
            return false;
        toNext ? layout_position/* LayoutPositionDiscardHelper */.Nw.onStartPageAreaLevel(this.lp) : layout_position/* LayoutPositionDiscardHelper */.Nw.onEndPageAreaLevel(this.lp);
        return true;
    }
    setRowByGridInfo(isStartFindWithStartTable, logicInfo, cellGridInfo, isAdvanceToNextColumn, isNeedColumnAdvance) {
        if (isNeedColumnAdvance)
            if (!this.advanceColumnSimple(true, isAdvanceToNextColumn))
                return false;
        const sameTable = list.ListUtils.elementBy(this.lp.column.tablesInfo, (tbl) => tbl.logicInfo == logicInfo);
        if (!sameTable)
            return false;
        const iteratorFunc = isStartFindWithStartTable ? list.ListUtils.unsafeAnyOf : list.ListUtils.unsafeReverseAnyOf;
        const tblRowGridInfos = logicInfo.grid.tableCellGridInfos;
        const cell = iteratorFunc(sameTable.tableRows, (row) => {
            const tblRowGridInfo = tblRowGridInfos[row.rowIndex];
            return iteratorFunc(row.rowCells, (cell) => {
                const info = tblRowGridInfo[cell.cellGridIndex];
                return info == cellGridInfo ? cell : null;
            });
        });
        if (cell && (isStartFindWithStartTable ?
            (isAdvanceToNextColumn || cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn)) :
            ((!isAdvanceToNextColumn || cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn))))) {
            this.setLayoutRowInCell(cell, isStartFindWithStartTable);
            return true;
        }
        else
            return this.setRowByGridInfo(isStartFindWithStartTable, logicInfo, cellGridInfo, isAdvanceToNextColumn, true);
    }
    static getNextTableCellGridInfo(isStartFindWithStartTable, grid, startCellInfo, startRowIndex, cellIndex) {
        let result;
        const iteratorFunc = isStartFindWithStartTable ? list.ListUtils.unsafeAnyOf : list.ListUtils.unsafeReverseAnyOf;
        if (iteratorFunc(grid.table.rows, (row, rowIndex) => {
            if (cellIndex == -2)
                cellIndex = row.cells.length - 1;
            result = iteratorFunc(row.cells, (cell, cellInd) => {
                if (cell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue) {
                    const currCell = grid.tableCellInfos[rowIndex][cellInd];
                    return currCell == startCellInfo ? null : currCell;
                }
                return null;
            }, cellIndex);
            if (result)
                return result;
            cellIndex = isStartFindWithStartTable ? 0 : -2;
            return null;
        }, startRowIndex))
            return result;
        return null;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/layout-box-iterator/layout-position-advance-helpers/backward-helper.ts





class LayoutPositionAdvanceBackwardHelper extends LayoutPositionBaseAdvanceHelper {
    advance() {
        if (this.lp.charOffset != 0) {
            layout_position/* LayoutPositionDiscardHelper */.Nw.onEndCharLevel(this.lp);
            return true;
        }
        return this.finalHandle(this.advanceBoxSimple(false, false) ? true : this.moveToPrevRow());
    }
    moveToPrevRow() {
        const oldCell = this.lp.row.tableCellInfo;
        if (!oldCell) {
            if (!this.advanceRowSimple(true, false))
                return false;
            const cellInfo = this.lp.row.tableCellInfo;
            if (!cellInfo)
                return true;
            this.setOnLastCellOnTable(cellInfo.parentRow.parentTable.logicInfo);
            return true;
        }
        if (this.advanceRowSimple(false, false)) {
            const newCell = this.lp.row.tableCellInfo;
            if (newCell) {
                if (newCell == oldCell || oldCell.parentRow.parentTable.parentCell == newCell)
                    return true;
                if (newCell.parentRow.parentTable.parentCell == oldCell) {
                    this.setOnLastCellOnTable(newCell.parentRow.parentTable.logicInfo);
                    return true;
                }
            }
        }
        return this.moveToPrevCell(oldCell);
    }
    setOnLastCellOnTable(logicInfo) {
        const grid = logicInfo.grid;
        const rowIndex = grid.tableCellInfos.length - 1;
        const cellIndex = grid.tableCellInfos[rowIndex].length - 1;
        const prevTableCellGridInfo = LayoutPositionBaseAdvanceHelper.getNextTableCellGridInfo(false, grid, null, rowIndex, cellIndex);
        this.setRowByGridInfo(false, logicInfo, prevTableCellGridInfo, false, false);
    }
    moveToPrevCell(cell) {
        const logicInfo = cell.parentRow.parentTable.logicInfo;
        const grid = logicInfo.grid;
        const rowIndex = cell.parentRow.rowIndex;
        const info = grid.tableCellGridInfos[rowIndex][cell.cellGridIndex];
        if (!cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn)) {
            this.setRowByGridInfo(false, logicInfo, info, false, true);
            return true;
        }
        const prevTableCellGridInfo = LayoutPositionBaseAdvanceHelper.getNextTableCellGridInfo(false, grid, info, rowIndex, info.getCellIndex(rowIndex - info.getStartRowIndex()) - 1);
        if (prevTableCellGridInfo) {
            const moveToNext = prevTableCellGridInfo.getEndRowIndex() - 1 >= rowIndex;
            const tmpLp = this.lp.clone();
            if (!this.setRowByGridInfo(false, logicInfo, prevTableCellGridInfo, moveToNext, false)) {
                this.lp.copyFrom(tmpLp);
                if (moveToNext)
                    this.setRowByGridInfo(false, logicInfo, prevTableCellGridInfo, false, true);
                else
                    throw new Error(errors/* Errors */.D.InternalException);
            }
            return true;
        }
        const parentTbl = cell.parentRow.parentTable;
        const parentCell = parentTbl.parentCell;
        if (parentCell) {
            const indInternalTable = number/* NumberMapUtils */.j.keyBy(parentCell.internalTables, (tbl) => tbl == parentTbl);
            const row = parentCell.layoutRows[indInternalTable - 1];
            if (row) {
                this.setLayoutRow(row.indexInColumn, false);
                return true;
            }
            if (cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn))
                return this.moveToPrevCell(parentCell);
            const parentRow = parentCell.parentRow;
            const logicInfo = parentRow.parentTable.logicInfo;
            const info = logicInfo.grid.tableCellGridInfos[parentRow.rowIndex][parentCell.cellGridIndex];
            this.setRowByGridInfo(false, logicInfo, info, false, true);
            return true;
        }
        this.lp.copyFrom(this.oldLp);
        return this.advanceRowSimple(true, false);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/layout-box-iterator/layout-position-advance-helpers/forward-helper.ts





class LayoutPositionAdvanceForwardHelper extends LayoutPositionBaseAdvanceHelper {
    advance() {
        return this.finalHandle(this.advanceBoxSimple(false, true) ? true : this.moveToNextRow());
    }
    moveToNextRow() {
        const oldCell = this.lp.row.tableCellInfo;
        if (!oldCell)
            return this.advanceRowSimple(true, true);
        if (this.advanceRowSimple(false, true)) {
            const newCell = this.lp.row.tableCellInfo;
            if (newCell && (newCell == oldCell || newCell.parentRow.parentTable.parentCell == oldCell))
                return true;
        }
        return this.moveToNextCell(oldCell);
    }
    moveToNextCell(cell) {
        const logicInfo = cell.parentRow.parentTable.logicInfo;
        const grid = logicInfo.grid;
        const rowIndex = cell.parentRow.rowIndex;
        const info = grid.tableCellGridInfos[rowIndex][cell.cellGridIndex];
        if (!cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn)) {
            this.setRowByGridInfo(true, logicInfo, info, true, true);
            return true;
        }
        const nextTableCellGridInfo = LayoutPositionBaseAdvanceHelper.getNextTableCellGridInfo(true, grid, info, info.getStartRowIndex(), info.getCellIndex(0) + 1);
        if (nextTableCellGridInfo) {
            const moveToPrev = nextTableCellGridInfo.getStartRowIndex() <= rowIndex;
            const tmpLp = this.lp.clone();
            if (!this.setRowByGridInfo(true, logicInfo, nextTableCellGridInfo, !moveToPrev, false)) {
                this.lp.copyFrom(tmpLp);
                if (!moveToPrev)
                    this.setRowByGridInfo(true, logicInfo, nextTableCellGridInfo, true, true);
                else
                    throw new Error(errors/* Errors */.D.InternalException);
            }
            return true;
        }
        const parentTbl = cell.parentRow.parentTable;
        const parentCell = parentTbl.parentCell;
        if (parentCell) {
            const indInternalTable = number/* NumberMapUtils */.j.keyBy(parentCell.internalTables, (tbl) => tbl == parentTbl);
            const row = parentCell.layoutRows[indInternalTable];
            if (row) {
                this.setLayoutRow(row.indexInColumn, true);
                return true;
            }
            return this.toNextRowAfterTable(parentTbl);
        }
        this.lp.copyFrom(this.oldLp);
        return this.toNextRowAfterTable(cell.parentRow.parentTable);
    }
    toNextRowAfterTable(table) {
        const logicInfo = table.logicInfo;
        let prevLp = this.lp.clone();
        let sameTable = list.ListUtils.elementBy(this.lp.column.tablesInfo, (tbl) => tbl.logicInfo == logicInfo);
        while (this.advanceColumnSimple(true, true)) {
            const tmpSameTable = list.ListUtils.elementBy(this.lp.column.tablesInfo, (tbl) => tbl.logicInfo == logicInfo);
            if (!tmpSameTable)
                break;
            prevLp = this.lp.clone();
            sameTable = tmpSameTable;
        }
        this.lp.copyFrom(prevLp);
        const rowInd = list.ListUtils.accumulate(list.ListUtils.last(sameTable.tableRows).rowCells, -1, (acc, cell) => Math.max(list.ListUtils.last(cell.layoutRows).indexInColumn, acc)) + 1;
        const layoutRow = this.lp.column.rows[rowInd];
        if (layoutRow) {
            const parentCell = sameTable.parentCell;
            if (!parentCell)
                return this.setLayoutRow(rowInd, true);
            if (layoutRow.tableCellInfo == parentCell)
                return this.setLayoutRow(rowInd, true);
            const lInfo = parentCell.parentRow.parentTable.logicInfo;
            const info = lInfo.grid.tableCellGridInfos[parentCell.parentRow.rowIndex][parentCell.cellGridIndex];
            if (parentCell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn)) {
                this.setLayoutRow(rowInd, true);
                return true;
            }
            this.setRowByGridInfo(true, lInfo, info, true, true);
            return true;
        }
        if (!this.advanceColumnSimple(true, true))
            return false;
        this.setLayoutRow(0, true);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-main-sub-document.ts






class LayoutBoxIteratorMainSubDocument extends layout_box_iterator_base/* LayoutBoxIteratorBase */.D {
    constructor(subDocument, layout, intervalStart, intervalEnd) {
        super(subDocument, layout, intervalStart, intervalEnd);
    }
    isInitialized() {
        if (!this.layout.isFullyFormatted) {
            const lastValidPage = this.layout.getLastValidPage();
            if (!lastValidPage || this.intervalEnd > list.ListUtils.last(lastValidPage.getContentIntervals()).end)
                return false;
        }
        return true;
    }
    getNewLayoutPosition(position, endRowConflictFlags, middleRowConflictFlags) {
        return new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.layout, this.subDocument, position, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            .create(endRowConflictFlags, middleRowConflictFlags);
    }
    advancePosition() {
        return new LayoutPositionAdvanceForwardHelper(this.position, this.layout).advance();
    }
    advancePositionBack() {
        return new LayoutPositionAdvanceBackwardHelper(this.position, this.layout).advance();
    }
}


/***/ }),

/***/ 2507:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: function() { return /* binding */ LayoutBoxIteratorOtherSubDocument; }
/* harmony export */ });
/* harmony import */ var _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9484);
/* harmony import */ var _layout_position_creator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6536);
/* harmony import */ var _layout_box_iterator_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6381);



class LayoutBoxIteratorOtherSubDocument extends _layout_box_iterator_base__WEBPACK_IMPORTED_MODULE_2__/* .LayoutBoxIteratorBase */ .D {
    constructor(subDocument, layout, intervalStart, intervalEnd, pageIndex) {
        super(subDocument, layout, intervalStart, intervalEnd);
        this.pageIndex = pageIndex;
    }
    isInitialized() {
        const page = this.layout.pages[this.pageIndex];
        if (!page || page.otherPageAreas[this.subDocument.id].getEndPosition() < this.intervalEnd)
            return false;
        return true;
    }
    getNewLayoutPosition(position, endRowConflictFlags, middleRowConflictFlags) {
        return new _layout_position_creator__WEBPACK_IMPORTED_MODULE_1__/* .LayoutPositionOtherSubDocumentCreator */ .iD(this.layout, this.subDocument, position, this.pageIndex, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_0__/* .DocumentLayoutDetailsLevel */ .l.Character)
            .create(endRowConflictFlags, middleRowConflictFlags);
    }
}


/***/ }),

/***/ 6536:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AU: function() { return /* binding */ LayoutPositionCreatorConflictFlags; },
/* harmony export */   NG: function() { return /* binding */ LayoutPositionMainSubDocumentCreator; },
/* harmony export */   iD: function() { return /* binding */ LayoutPositionOtherSubDocumentCreator; },
/* harmony export */   we: function() { return /* binding */ LayoutPositionCreator; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1104);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2400);
/* harmony import */ var _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9484);
/* harmony import */ var _layout_layout_position__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8475);
/* harmony import */ var _layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(484);
/* harmony import */ var _rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5580);
/* harmony import */ var _rich_utils_debug_logger_base_logger_log_obj_to_str__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3831);









class PageIndexAndInterval {
    constructor(pageIndex, interval) {
        this.interval = interval;
        this.pageIndex = pageIndex;
    }
}
class LayoutPositionCreatorConflictFlags {
    setDefault(defaultVal) {
        this.left = defaultVal;
        this.middle = defaultVal;
        this.right = defaultVal;
        this.simple = defaultVal;
        return this;
    }
    setCustom(left, middle, right, simple) {
        this.left = left;
        this.middle = middle;
        this.right = right;
        this.simple = simple;
        return this;
    }
    allIsTrue() {
        return this.left && this.middle && this.right && this.simple;
    }
    atLeastOneIsTrue() {
        return this.left || this.middle || this.right || this.simple;
    }
    atLeastOneIsFalse() {
        return !(this.left && this.middle && this.right && this.simple);
    }
    copyFrom(obj) {
        this.left = obj.left;
        this.middle = obj.middle;
        this.right = obj.right;
        this.simple = obj.simple;
        return this;
    }
    clone() {
        return new LayoutPositionCreatorConflictFlags().copyFrom(this);
    }
}
class LayoutPositionCreator {
    constructor(documentLayout, subDocument, logPosition, detailsLevel) {
        this.layout = documentLayout;
        this.subDocument = subDocument;
        this.position = logPosition;
        this.startPosition = logPosition;
        this.detailsLevel = detailsLevel;
        this.result = new _layout_layout_position__WEBPACK_IMPORTED_MODULE_5__/* .LayoutPosition */ .Yi(detailsLevel);
    }
    create(endRowConflictFlags, middleRowConflictFlags) {
        this.endRowConflictFlags = endRowConflictFlags;
        this.middleRowConflictFlags = middleRowConflictFlags;
        return null;
    }
    static createLightLayoutPosition(documentLayout, subDocument, logPosition, pageIndex, detailsLevel, endOfLine, closerToTheRightEdgeHiddenBox) {
        return (subDocument.isMain() ?
            new LayoutPositionMainSubDocumentCreator(documentLayout, subDocument, logPosition, detailsLevel)
                .create(new LayoutPositionCreatorConflictFlags().setDefault(endOfLine), new LayoutPositionCreatorConflictFlags().setDefault(closerToTheRightEdgeHiddenBox)) :
            new LayoutPositionOtherSubDocumentCreator(documentLayout, subDocument, logPosition, pageIndex, detailsLevel)
                .create(new LayoutPositionCreatorConflictFlags().setDefault(endOfLine), new LayoutPositionCreatorConflictFlags().setDefault(closerToTheRightEdgeHiddenBox)));
    }
    updateRowInfo() {
        var rows = this.result.column.rows;
        const rowIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_3__.SearchUtils.normedInterpolationIndexOf(rows, (r) => r.columnOffset, this.position);
        const row = rows[rowIndex];
        [this.result.row, this.result.rowIndex] = LayoutPositionCreator.conflictResolver(this.position, this.endRowConflictFlags, rows, row, rowIndex, (obj) => obj.columnOffset, (obj) => obj.getEndPosition());
        if (this.result.detailsLevel > _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_4__/* .DocumentLayoutDetailsLevel */ .l.Row) {
            this.position = Math.max(0, this.position - this.result.row.columnOffset);
            this.updateBoxInfo();
        }
    }
    updateBoxInfo() {
        const boxes = this.result.row.boxes;
        const boxIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_3__.SearchUtils.normedInterpolationIndexOf(boxes, (b) => b.rowOffset, this.position));
        const box = boxes[boxIndex];
        [this.result.box, this.result.boxIndex] = LayoutPositionCreator.conflictResolver(this.position, this.middleRowConflictFlags, boxes, box, boxIndex, (obj) => obj.rowOffset, (obj) => obj.getEndPosition());
        if (this.result.detailsLevel > _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_4__/* .DocumentLayoutDetailsLevel */ .l.Box) {
            this.position = Math.max(0, this.position - this.result.box.rowOffset);
            const boxLength = this.result.box.getLength();
            this.result.charOffset = this.position < boxLength ? this.position : boxLength;
        }
    }
    static conflictResolver(position, conflictFlags, objects, object, objectIndex, getObjectStartPos, getObjectEndPos) {
        const prevObject = objects[objectIndex - 1];
        const objectStartPos = getObjectStartPos(object);
        if (prevObject && objectStartPos == position) {
            const prevObjectEndPos = getObjectEndPos(prevObject);
            if (objectStartPos == prevObjectEndPos)
                return conflictFlags.simple ? [prevObject, objectIndex - 1] : [object, objectIndex];
            else
                return conflictFlags.right ? [prevObject, objectIndex - 1] : [object, objectIndex];
        }
        const nextObject = objects[objectIndex + 1];
        if (nextObject) {
            const objectEndPos = getObjectEndPos(object);
            if (position >= objectEndPos) {
                const nextObjectStartPos = getObjectStartPos(nextObject);
                if (objectEndPos == nextObjectStartPos)
                    return conflictFlags.simple ? [object, objectIndex] : [nextObject, objectIndex + 1];
                if (position == objectEndPos)
                    return conflictFlags.left ? [object, objectIndex] : [nextObject, objectIndex + 1];
                return conflictFlags.middle ? [object, objectIndex] : [nextObject, objectIndex + 1];
            }
        }
        return [object, objectIndex];
    }
}
class LayoutPositionMainSubDocumentCreator extends LayoutPositionCreator {
    constructor(documentLayout, subDocument, logPosition, detailsLevel, isUseMoreHardAlgorithm = false) {
        super(documentLayout, subDocument, logPosition, detailsLevel);
        this.isUseMoreHardAlgorithm = isUseMoreHardAlgorithm;
        if (!this.subDocument.isMain())
            throw new Error("LayoutPositionMainSubDocumentCreator need set here main sub document");
    }
    create(endRowConflictFlags, middleRowConflictFlags) {
        super.create(endRowConflictFlags, middleRowConflictFlags);
        if (this.layout.pages.length)
            this.updatePageInfo();
        else
            this.result = null;
        return this.result;
    }
    static ensureLayoutPosition(formatterController, subDocument, logPosition, detailsLevel, endRowConflictFlags, middleRowConflictFlags) {
        const documentLayout = formatterController.layout;
        while (true) {
            var layoutPosition = new LayoutPositionMainSubDocumentCreator(documentLayout, subDocument, logPosition, detailsLevel)
                .create(endRowConflictFlags, middleRowConflictFlags);
            if (layoutPosition)
                break;
            if (!formatterController.forceFormatPage(documentLayout.validPageCount))
                break;
        }
        return layoutPosition;
    }
    updatePageInfoInterval(validPageCount, pages, foundPage) {
        if (foundPage.index == 0 && this.position <= foundPage.getPosition())
            return validPageCount > 0 ? foundPage : null;
        const firstPageInGroupIndex = Math.max(0, _layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_6__/* .LayoutPage */ .jj.getFirstPageInGroup(pages, foundPage.index).index - 1);
        const lastPageInGroup = _layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_6__/* .LayoutPage */ .jj.getLastValidPageInGroup(pages, foundPage.index, validPageCount, !this.isUseMoreHardAlgorithm, true);
        if (!lastPageInGroup)
            return null;
        const endPageIndex = Math.min(validPageCount, lastPageInGroup.index + 2);
        const intervalsList = [];
        for (let pageIndex = Math.max(0, firstPageInGroupIndex - 1); pageIndex < endPageIndex; pageIndex++) {
            const page = pages[pageIndex];
            page.calculateContentIntervals(this.layout.anchorObjectsPositionInfo, this.isUseMoreHardAlgorithm);
            for (let interval of page.getContentIntervals()) {
                if (interval.containsWithoutIntervalEndAndStart(this.position))
                    return page;
                intervalsList.push(new PageIndexAndInterval(page.index, interval));
            }
        }
        if (intervalsList.length == 0)
            return null;
        intervalsList.sort((a, b) => a.interval.start - b.interval.start);
        if (_rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_7__/* .Log */ .Z.isDebug)
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.forEach(intervalsList, (a, ind) => {
                _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.forEach(intervalsList, (b) => {
                    if (_devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_0__.IntervalAlgorithms.getIntersectionNonNullLength(a.interval, b.interval))
                        throw new Error("Detected page intervals intersection. It's very bad. " +
                            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.map(intervalsList, (curr) => _rich_utils_debug_logger_base_logger_log_obj_to_str__WEBPACK_IMPORTED_MODULE_8__/* .LogObjToStr */ .I.fixedInterval(curr.interval)).join(", "));
                }, ind + 1);
            });
        let currInfo = intervalsList[0];
        let nextInfo;
        for (let nextInfoIndex = 1; nextInfo = intervalsList[nextInfoIndex]; nextInfoIndex++) {
            if (_devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_1__.FixedInterval.fromPositions(currInfo.interval.end, nextInfo.interval.start).containsWithIntervalEnd(this.position))
                break;
            currInfo = nextInfo;
        }
        const firstPageIndex = currInfo.pageIndex;
        const secondPageIndex = nextInfo ? nextInfo.pageIndex : firstPageIndex + 1;
        if (firstPageIndex == secondPageIndex)
            return pages[firstPageIndex];
        if (secondPageIndex >= validPageCount) {
            if (this.layout.isFullyFormatted)
                return pages[firstPageIndex];
            else
                return this.endRowConflictFlags.allIsTrue() &&
                    _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.unsafeAnyOf(pages[firstPageIndex].getContentIntervals(), (interval) => interval.containsWithIntervalEnd(this.position)) ? pages[firstPageIndex] : null;
        }
        if (!nextInfo)
            return this.layout.isFullyFormatted ? pages[firstPageIndex] : null;
        return this.getPageResolvedFlag(currInfo.interval.end, nextInfo.interval.start) ? pages[firstPageIndex] : pages[secondPageIndex];
    }
    getPageResolvedFlag(posA, posB) {
        return posA == posB ? this.endRowConflictFlags.simple :
            (posA == this.position ? this.endRowConflictFlags.left :
                (posB == this.position ? this.endRowConflictFlags.right :
                    this.endRowConflictFlags.middle));
    }
    updatePageInfo() {
        var validPageCount = this.layout.validPageCount;
        var pages = this.layout.pages;
        var foundPageIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_3__.SearchUtils.normedInterpolationIndexOf(pages, (p) => p.getPosition(), this.position, 0, validPageCount - 1));
        var foundPage = pages[foundPageIndex];
        if (foundPage)
            this.result.page = this.updatePageInfoInterval(validPageCount, pages, foundPage);
        if (!this.result.page) {
            this.result = null;
            return;
        }
        this.result.pageIndex = this.result.page.index;
        if (this.result.detailsLevel > _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_4__/* .DocumentLayoutDetailsLevel */ .l.Page) {
            this.position = Math.max(0, this.position - this.result.page.getPosition());
            this.updatePageAreaInfo();
        }
    }
    updatePageAreaInfo() {
        var areas = this.result.page.mainSubDocumentPageAreas;
        if (areas.length > 1) {
            const pageAreaIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_3__.SearchUtils.normedInterpolationIndexOf(areas, (a) => a.pageOffset, this.position));
            const pageArea = areas[pageAreaIndex];
            [this.result.pageArea, this.result.pageAreaIndex] = LayoutPositionCreator.conflictResolver(this.position, this.endRowConflictFlags, areas, pageArea, pageAreaIndex, (obj) => obj.pageOffset, (obj) => obj.getEndPosition());
        }
        else {
            this.result.pageAreaIndex = 0;
            this.result.pageArea = areas[0];
        }
        if (this.result.detailsLevel > _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_4__/* .DocumentLayoutDetailsLevel */ .l.PageArea) {
            this.position = Math.max(0, this.position - this.result.pageArea.pageOffset);
            this.updateColumnInfo();
        }
    }
    updateColumnInfo() {
        var columns = this.result.pageArea.columns;
        if (columns.length > 1) {
            const columnIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_3__.SearchUtils.normedInterpolationIndexOf(columns, (c) => c.pageAreaOffset, this.position);
            const column = columns[columnIndex];
            [this.result.column, this.result.columnIndex] = LayoutPositionCreator.conflictResolver(this.position, this.endRowConflictFlags, columns, column, columnIndex, (obj) => obj.pageAreaOffset, (obj) => obj.getEndPosition());
        }
        else {
            this.result.columnIndex = 0;
            this.result.column = columns[0];
        }
        if (this.result.detailsLevel > _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_4__/* .DocumentLayoutDetailsLevel */ .l.Column) {
            this.position = Math.max(0, this.position - this.result.column.pageAreaOffset);
            this.updateRowInfo();
        }
    }
}
class LayoutPositionOtherSubDocumentCreator extends LayoutPositionCreator {
    constructor(documentLayout, subDocument, logPosition, pageIndex, detailsLevel) {
        super(documentLayout, subDocument, logPosition, detailsLevel);
        if (this.subDocument.isMain())
            throw new Error("LayoutPositionMainSubDocumentCreator need set here not main sub document");
        this.result.page = this.layout.pages[pageIndex];
        this.result.pageIndex = pageIndex;
    }
    create(endRowConflictFlags, middleRowConflictFlags) {
        super.create(endRowConflictFlags, middleRowConflictFlags);
        if (!this.result.page) {
            this.result = null;
            return null;
        }
        this.result.pageArea = this.result.page.otherPageAreas[this.subDocument.id];
        if (!this.result.pageArea) {
            this.result = null;
        }
        else {
            this.result.pageAreaIndex = 0;
            this.position = Math.max(0, this.position - this.result.pageArea.pageOffset);
            this.result.column = this.result.pageArea.columns[0];
            this.result.columnIndex = 0;
            this.position = Math.max(0, this.position - this.result.column.pageAreaOffset);
            this.updateRowInfo();
        }
        return this.result;
    }
}


/***/ }),

/***/ 5152:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Od: function() { return /* binding */ BoxWrap; },
/* harmony export */   PR: function() { return /* binding */ BoxWrapFieldInfo; },
/* harmony export */   VJ: function() { return /* binding */ BoxWrapInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);

class BoxWrap {
    constructor(box, info) {
        this.box = box;
        this.info = info;
    }
    splitByPosition(measurer, pos) {
        return new BoxWrap(this.box.splitBoxByPosition(measurer, pos), this.info);
    }
}
class BoxWrapInfo {
    constructor(paragraphIndex, sectionIndex, tablePosition, fieldsInfo) {
        this.pageIndexFromWhichTableWasMoved = null;
        this.paragraphIndex = paragraphIndex;
        this.sectionIndex = sectionIndex;
        this.tablePosition = tablePosition;
        this.fieldsInfo = fieldsInfo;
    }
    equalsTablePositions(tablePos) {
        if (!this.tablePosition)
            return !tablePos;
        if (!tablePos || this.tablePosition.length != tablePos.length)
            return false;
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.allOf2(this.tablePosition, tablePos, (a, b) => a.equals(b));
    }
    getTableNestedLevel() {
        return (this.tablePosition ? this.tablePosition.length : 0) - 1;
    }
}
class BoxWrapFieldInfo {
    constructor(field, isInCodePart) {
        this.field = field;
        this.isInCodePart = isInCodePart;
    }
    static make(field, pos) {
        return new BoxWrapFieldInfo(field, field.getCodeIntervalWithBorders().contains(pos));
    }
}


/***/ }),

/***/ 8164:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Rm: function() { return /* binding */ TableIterator; },
/* harmony export */   Tk: function() { return /* binding */ FieldIterator; }
/* harmony export */ });
/* unused harmony export RecursiveObjectsIterator */
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2400);
/* harmony import */ var _model_tables_main_structures_table__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8707);
/* harmony import */ var _box_wrap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5152);




class RecursiveObjectsIterator {
    constructor(objects) {
        this.objects = objects;
    }
    getNextObjectPosition() {
        return this.nextObjPosition;
    }
    init(pos) {
        this.indexes = [];
        const index = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(this.objects, (o) => this.getStartPosition(o), pos);
        if (index < 0) {
            this.setNextInfos(0, pos);
            return;
        }
        let obj = this.objects[index];
        while (pos >= this.getEndPosition(obj)) {
            const parent = this.getParent(obj);
            if (!parent) {
                this.setNextInfos(index + 1, pos);
                return;
            }
            obj = parent;
        }
        this.collectIndexes(this.getIndex(obj), pos);
    }
    collectIndexes(index, pos) {
        const insertPos = this.indexes.length;
        let ind = this.correctBounds(index, pos);
        let obj = this.objects[ind];
        const leftBoundIndex = this.indexes.length ? _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(this.indexes) : -1;
        while (true) {
            this.indexes.splice(insertPos, 0, ind);
            const parent = this.getParent(obj);
            if (!parent || this.getIndex(parent) == leftBoundIndex)
                break;
            ind = this.getIndex(parent);
            obj = parent;
        }
        this.setNextInfos(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(this.indexes) + 1, pos);
    }
    update(newPosition) {
        if (!this.objects.length)
            return false;
        const indexesDeleted = this.popLastIndexes(newPosition);
        if (newPosition >= this.nextObjPosition) {
            this.nextObjIndex = this.correctBounds(this.nextObjIndex, newPosition);
            this.collectIndexes(this.nextObjIndex, newPosition);
            return true;
        }
        return indexesDeleted;
    }
    setNextInfos(ind, pos) {
        this.nextObjIndex = ind;
        const obj = this.objects[ind];
        if (!obj || this.getStartPosition(obj) >= pos)
            this.nextObjPosition = obj ? this.getStartPosition(obj) : Number.MAX_VALUE;
        else
            this.setNextInfos(ind + 1, pos);
    }
    popLastIndexes(newPosition) {
        if (!this.indexes.length || newPosition < this.getEndPosition(this.objects[_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(this.indexes)]))
            return false;
        this.indexes.pop();
        this.popLastIndexes(newPosition);
        return true;
    }
}
class TableIterator extends RecursiveObjectsIterator {
    getStartPosition(o) {
        return o.getStartPosition();
    }
    getEndPosition(o) {
        return o.getEndPosition();
    }
    getParent(obj) {
        return obj.getParentTable();
    }
    getIndex(obj) {
        return obj.index;
    }
    correctBounds(objIndex, pos) {
        return _model_tables_main_structures_table__WEBPACK_IMPORTED_MODULE_2__/* .Table */ .iA.correctBoundTable(this.objects, objIndex, pos, (i) => ++i).index;
    }
    generateInfo(pos) {
        if (!this.indexes.length)
            return null;
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(this.indexes, (ind) => {
            const table = this.objects[ind];
            const rowIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(table.rows, (r) => r.getStartPosition(), pos);
            const cellIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(table.rows[rowIndex].cells, (c) => c.startParagraphPosition.value, pos);
            return new _model_tables_main_structures_table__WEBPACK_IMPORTED_MODULE_2__/* .TablePosition */ .TR(table, rowIndex, cellIndex).init();
        });
    }
}
class FieldIterator extends RecursiveObjectsIterator {
    getStartPosition(o) {
        return o.getFieldStartPosition();
    }
    getEndPosition(o) {
        return o.getFieldEndPosition();
    }
    getParent(obj) {
        return obj.parent;
    }
    getIndex(obj) {
        return obj.index;
    }
    correctBounds(objIndex, _pos) {
        return objIndex;
    }
    generateInfo(pos) {
        if (!this.indexes.length)
            return null;
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(this.indexes, (ind) => _box_wrap__WEBPACK_IMPORTED_MODULE_3__/* .BoxWrapFieldInfo */ .PR.make(this.objects[ind], pos));
    }
}


/***/ }),

/***/ 7353:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   u: function() { return /* binding */ BoundsCalculator; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8011);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2940);




class BoundsCalculator {
    constructor() {
        this.pageIndex = -1;
    }
    init(section) {
        this.section = section;
        this.mirrorMargins = section.documentModel.mirrorMargins;
        const sectionProperties = this.section.sectionProperties;
        this.equalWidthColumns = sectionProperties.equalWidthColumns;
        this.columnCount = sectionProperties.columnCount;
        this.space = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.space);
        this.marginTop = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.marginTop);
        this.marginBottom = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.marginBottom);
        this.marginRight = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.marginRight);
        this.marginBottom = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.marginBottom);
        this.marginLeft = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.marginLeft);
        this.pageWidth = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.pageWidth);
        this.pageHeight = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.pageHeight);
        this.headerOffset = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.headerOffset);
        this.footerOffset = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(sectionProperties.footerOffset);
        if (this.mirrorMargins && this.pageIndex >= 0 && (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__.isEven)(this.pageIndex))
            [this.marginRight, this.marginLeft] = [this.marginLeft, this.marginRight];
        this.columnsInfo = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.map(sectionProperties.columnsInfo, (columnProps) => columnProps.clone().applyConverter(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF));
        this.avaliablePageHeight = this.pageHeight - (this.marginTop + this.marginBottom);
        this.availableHeaderFooterWidth = this.pageWidth - this.marginLeft - this.marginRight;
    }
    initWhenPageStart(pageIndex) {
        this.pageIndex = pageIndex;
        this.mainPageAreasBounds = [];
        this.mainColumnsBounds = [];
    }
    setHeaderBounds(currHeight) {
        if (currHeight == 0) {
            this.headerPageAreaBounds = null;
            this.headerColumnBounds = null;
            return;
        }
        const height = currHeight == -1 ? Number.MAX_VALUE :
            Math.max(this.marginTop - this.headerOffset, Math.min(Math.floor(this.pageHeight * BoundsCalculator.MAX_HEADER_FOOTER_HEIGHT_COEFF), currHeight));
        this.headerPageAreaBounds = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(this.marginLeft, this.headerOffset, this.availableHeaderFooterWidth, height);
        this.headerColumnBounds = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(0, 0, this.headerPageAreaBounds.width, this.headerPageAreaBounds.height);
    }
    setFooterBounds(currHeight) {
        if (currHeight == 0) {
            this.footerPageAreaBounds = null;
            this.footerColumnBounds = null;
            return;
        }
        if (currHeight == -1) {
            this.footerPageAreaBounds = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(this.marginLeft, this.pageHeight - this.footerOffset, this.availableHeaderFooterWidth, Number.MAX_VALUE);
            this.footerColumnBounds = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(0, 0, this.footerPageAreaBounds.width, this.footerPageAreaBounds.height);
        }
        else {
            currHeight = Math.min(Math.round(this.pageHeight * BoundsCalculator.MAX_HEADER_FOOTER_HEIGHT_COEFF), currHeight);
            const pageAreaHeight = this.footerOffset + currHeight;
            this.footerPageAreaBounds = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(this.marginLeft, this.pageHeight - pageAreaHeight, this.availableHeaderFooterWidth, pageAreaHeight);
            this.footerColumnBounds = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(0, 0, this.footerPageAreaBounds.width, currHeight);
        }
    }
    calculateMainPageAreaBounds(previousMainPageAreaHeight) {
        let y;
        if (previousMainPageAreaHeight > 0) {
            const previousPageAreaBounds = this.mainPageAreasBounds[this.mainPageAreasBounds.length - 1];
            for (let colBound of this.mainColumnsBounds[this.mainColumnsBounds.length - 1])
                colBound.height = previousMainPageAreaHeight;
            previousPageAreaBounds.height = previousMainPageAreaHeight;
            y = previousPageAreaBounds.bottom;
        }
        else
            y = Math.max(this.marginTop, this.headerPageAreaBounds ? this.headerPageAreaBounds.bottom : 0);
        let height = Math.min(this.pageHeight - this.marginBottom, this.footerPageAreaBounds ? this.footerPageAreaBounds.y : Number.MAX_VALUE) - y;
        this.mainPageAreasBounds.push(new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(this.marginLeft, y, this.availableHeaderFooterWidth, height));
    }
    calculateColumnBounds(pageAreaBounds) {
        if (this.equalWidthColumns) {
            const oneColumnWidth = Math.floor((this.availableHeaderFooterWidth - (this.columnCount - 1) * this.space) / this.columnCount);
            const colWidthPlusSpace = oneColumnWidth + this.space;
            this.mainColumnsBounds.push(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.initByCallback(this.columnCount, (columnIndex) => new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(colWidthPlusSpace * columnIndex, 0, oneColumnWidth, pageAreaBounds.height)));
        }
        else {
            let currXPos = 0;
            this.mainColumnsBounds.push(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.map(this.columnsInfo, (columnInfo) => {
                const rect = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(currXPos, 0, Math.max(1, columnInfo.width), pageAreaBounds.height);
                currXPos += columnInfo.width + columnInfo.space;
                return rect;
            }));
        }
    }
    calculatePageBounds(y) {
        this.pageBounds = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(0, y, this.pageWidth, this.pageHeight);
    }
}
BoundsCalculator.MAX_HEADER_FOOTER_HEIGHT_COEFF = 0.48;


/***/ }),

/***/ 8931:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   y: function() { return /* binding */ ColumnCalculator; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8011);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2940);



class ColumnCalculator {
    static generateSectionColumns(properties) {
        var availablePageWidth = properties.pageWidth - (properties.marginLeft + properties.marginRight + properties.space * (properties.columnCount - 1));
        var availablePageHeight = properties.pageHeight - (properties.marginTop + properties.marginBottom);
        var columnOffsetX = properties.marginLeft;
        var sectionColumns = [];
        for (var i = 0; i < properties.columnCount; i++) {
            var columnWidth = Math.max(properties.equalWidthColumns ? Math.floor(availablePageWidth / (properties.columnCount - i)) : properties.columnsInfo[i].width, 1);
            var column = new _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(columnOffsetX), _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(properties.marginTop), Math.max(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(columnWidth), 1), _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixelsF(availablePageHeight));
            sectionColumns.push(column);
            columnOffsetX += columnWidth + (properties.equalWidthColumns ? properties.space : properties.columnsInfo[i].space);
            availablePageWidth -= columnWidth;
        }
        return sectionColumns;
    }
    static findMinimalColumnSize(properties) {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.min(ColumnCalculator.generateSectionColumns(properties), a => a.width).createSize();
    }
}


/***/ }),

/***/ 8890:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   b: function() { return /* binding */ HeaderFooterInvalidatorHelper; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2400);
/* harmony import */ var _layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(484);
/* harmony import */ var _model_section_header_footer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4504);
/* harmony import */ var _model_section_section__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9362);




class HeaderFooterInvalidatorHelper {
    constructor(model, layout, headerFooterType) {
        this.model = model;
        this.layout = layout;
        this.headerFooterType = headerFooterType;
    }
    isNoPages() {
        this.startPageIndex = 0;
        this.endPageIndex = 0;
        return this.layout.pages.length == 0;
    }
    initByPageIndex(initPageIndex) {
        if (this.isNoPages())
            return;
        this.initPageIndex = Math.min(initPageIndex, this.layout.pages.length - 1);
        this.initSectionIndex = _model_section_section__WEBPACK_IMPORTED_MODULE_3__/* .Section */ .$.getPageSectionIndex(this.layout.pages[this.initPageIndex], this.model.sections);
        this.calculatePageIndexes();
    }
    initBySectionIndex(sectionIndex) {
        if (this.isNoPages())
            return;
        this.initSectionIndex = sectionIndex;
        const sectionStartPosition = this.model.sections[this.initSectionIndex].startLogPosition.value;
        this.initPageIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_0__.SearchUtils.normedInterpolationIndexOf(this.layout.pages, (p) => p.getPosition(), sectionStartPosition);
        this.calculatePageIndexes();
    }
    calculatePageIndexes() {
        this.calcStartPageIndex();
        const moveFunc = (ind) => ++ind;
        this.endPageIndex = this.getPageIndex(this.getSectionIndex(moveFunc) - this.initSectionIndex + 1, moveFunc);
        if (this.endPageIndex <= this.startPageIndex)
            this.endPageIndex = this.startPageIndex + 1;
    }
    calcStartPageIndex() {
        const moveFunc = (ind) => --ind;
        const startSectionIndex = this.getSectionIndex(moveFunc);
        this.startPageIndex = this.getPageIndex(this.initSectionIndex - startSectionIndex + 1, moveFunc);
    }
    getSectionIndex(getNextSectionIndex) {
        const sections = this.model.sections;
        let sectionIndex = this.initSectionIndex;
        for (let section; (section = sections[sectionIndex]) && _model_section_header_footer__WEBPACK_IMPORTED_MODULE_2__/* .SectionHeadersFooters */ .QC.isLinkedToPrevious(section, this.headerFooterType); sectionIndex = getNextSectionIndex(sectionIndex))
            ;
        return Math.max(0, sectionIndex);
    }
    getPageIndex(skipSections, getNextPageIndex) {
        const pages = this.layout.pages;
        let pageIndex = this.initPageIndex;
        for (let page; page = pages[pageIndex]; pageIndex = getNextPageIndex(pageIndex)) {
            if (page.flags.get(_layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_1__/* .LayoutPageFlags */ .m3.IsFirstPageOfSection)) {
                if (skipSections > 0)
                    skipSections--;
                else
                    break;
            }
        }
        return Math.max(0, pageIndex);
    }
}


/***/ }),

/***/ 6602:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  l: function() { return /* binding */ BorderHelper; },
  b: function() { return /* binding */ TableBorderInfoProvider; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-cell-properties-merger.ts
var table_cell_properties_merger = __webpack_require__(8403);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-row-properties-merger.ts
var table_row_properties_merger = __webpack_require__(1157);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-border-calculator.ts
var table_border_calculator = __webpack_require__(9181);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/borders/horizontal-line-borders-info.ts
class HorizontalLineBordersInfo {
    constructor(isOffsetFromTop) {
        this.borders = [];
        this.maxWidth = 0;
        this.isOffsetFromTop = isOffsetFromTop;
    }
    updateWidth(width) {
        if (width > this.maxWidth)
            this.maxWidth = width;
    }
    clone() {
        const result = new HorizontalLineBordersInfo(this.isOffsetFromTop);
        result.copyFrom(this);
        return result;
    }
    copyFrom(obj) {
        this.isOffsetFromTop = obj.isOffsetFromTop;
        this.yPosition = obj.yPosition;
        this.maxWidth = obj.maxWidth;
        this.borders = [];
        for (let brd of this.borders)
            this.borders.push(brd.clone());
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/table/borders/layout-table-border.ts
var layout_table_border = __webpack_require__(4110);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/borders/layout-table-horizontal-border.ts

class LayoutTableHorizontalBorder {
    clone() {
        const result = new LayoutTableHorizontalBorder();
        result.copyFrom(this);
        return result;
    }
    copyFrom(obj) {
        this.length = obj.length;
        this.xPosition = obj.xPosition;
        this.borderInfo = obj.borderInfo.clone();
    }
    getLayoutTableBorder(line) {
        return new layout_table_border/* LayoutTableBorder */.iZ(this.xPosition, line.yPosition - (line.isOffsetFromTop ? 0 : this.borderInfo.width), this.length, this.borderInfo);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/borders/border-helper.ts









class TableBorderInfoProvider {
    constructor(model, table, converter) {
        this.cellSpacings = list.ListUtils.map(table.rows, (row) => new table_row_properties_merger/* TableRowPropertiesMergerCellSpacing */.L2(model, table, row.tablePropertiesException)
            .getProperty(row.properties, table.style, row.conditionalFormatting, model.defaultTableRowProperties)
            .asNumberNoPercentType(converter));
        const defaultProperties = model.defaultTableProperties;
        this.leftBorder = table.getActualLeftBorder(defaultProperties);
        this.rightBorder = table.getActualRightBorder(defaultProperties);
        this.bottomBorder = table.getActualBottomBorder(defaultProperties);
        this.topBorder = table.getActualTopBorder(defaultProperties);
        this.horizontalBorder = table.getActualHorizontalBorder(defaultProperties);
        this.verticalBorder = table.getActualVerticalBorder(defaultProperties);
        this.leftBorder = TableBorderInfoProvider.borderConvertToPixels(this.leftBorder, converter);
        this.rightBorder = TableBorderInfoProvider.borderConvertToPixels(this.rightBorder, converter);
        this.topBorder = TableBorderInfoProvider.borderConvertToPixels(this.topBorder, converter);
        this.bottomBorder = TableBorderInfoProvider.borderConvertToPixels(this.bottomBorder, converter);
        this.horizontalBorder = TableBorderInfoProvider.borderConvertToPixels(this.horizontalBorder, converter);
        this.verticalBorder = TableBorderInfoProvider.borderConvertToPixels(this.verticalBorder, converter);
    }
    static borderConvertToPixels(brdInfo, converter) {
        if (!brdInfo)
            return null;
        const newBrd = brdInfo.clone();
        newBrd.width = converter(newBrd.width);
        return newBrd;
    }
}
class BorderHelper {
    rowCellSpacing(rowIndex) {
        return this.tblbrdProvider.cellSpacings[rowIndex];
    }
    get borderHorizontal() {
        return this.tblbrdProvider.horizontalBorder;
    }
    get grid() { return this.tableInfo.grid; }
    get tblStyle() { return this.tableInfo.table.style; }
    constructor(tableInfo, model) {
        this.colorProvider = model.colorProvider;
        this.tableInfo = tableInfo;
        this.tblbrdProvider = new TableBorderInfoProvider(model, tableInfo.table, unit_converter/* UnitConverter */.u.twipsToPixels);
    }
    getVerticalBorders() {
        const verticalBorders = [];
        const rows = this.grid.table.rows;
        const tblInfos = this.grid.tableCellInfos;
        for (var rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) {
            var cellSpacing = this.rowCellSpacing(rowIndex);
            const rowBorders = [];
            const lastRowCellIndex = row.cells.length - 1;
            var cells = row.cells;
            verticalBorders.push(rowBorders);
            for (var cellIndex = 0, cell; cell = cells[cellIndex]; cellIndex++) {
                const cellBorders = [];
                rowBorders.push(cellBorders);
                var cellInfo = tblInfos[rowIndex][cellIndex];
                const cellForBorders = cellInfo.getStartRowIndex() != rowIndex ? rows[cellInfo.getStartRowIndex()].cells[cellInfo.getCellIndex(0)] : cell;
                if (cellSpacing > 0) {
                    if (cellIndex == 0) {
                        cellBorders.push(this.mergeVerticalBorders(null, null, null, null, true, this.tblbrdProvider.leftBorder, (borderWidth) => Math.floor(this.grid.columns.positions[cellInfo.getGridCellIndex()] - borderWidth / 2)));
                        cellBorders.push(this.mergeVerticalBorders(cellForBorders, table_cell_properties_merger/* TableCellPropertiesMergerBorderLeft */.L6, null, null, false, this.tblbrdProvider.leftBorder, (_borderWidth) => Math.floor(this.grid.columns.positions[cellInfo.getGridCellIndex()] + cellSpacing * 2)));
                    }
                    else
                        cellBorders.push(this.mergeVerticalBorders(cellForBorders, table_cell_properties_merger/* TableCellPropertiesMergerBorderLeft */.L6, null, null, false, this.tblbrdProvider.verticalBorder, (_borderWidth) => Math.floor(this.grid.columns.positions[cellInfo.getGridCellIndex()] + cellSpacing)));
                    cellBorders.push(this.mergeVerticalBorders(cellForBorders, table_cell_properties_merger/* TableCellPropertiesMergerBorderRight */.g7, null, null, false, this.tblbrdProvider.verticalBorder, (borderWidth) => Math.floor(this.grid.columns.positions[cellInfo.getGridCellIndex() + cell.columnSpan] - cellSpacing * (cellIndex == cells.length - 1 ? 2 : 1) - borderWidth)));
                    if (cellIndex == lastRowCellIndex)
                        cellBorders.push(this.mergeVerticalBorders(null, null, null, null, true, this.tblbrdProvider.rightBorder, (borderWidth) => Math.floor(this.getCellEndGridPosition(rowIndex, cellIndex) - borderWidth / 2)));
                }
                else {
                    if (cellIndex == 0)
                        cellBorders.push(this.mergeVerticalBorders(cellForBorders, table_cell_properties_merger/* TableCellPropertiesMergerBorderLeft */.L6, null, null, true, this.tblbrdProvider.leftBorder, (borderWidth) => Math.floor(this.grid.columns.positions[cellInfo.getGridCellIndex()] - borderWidth / 2)));
                    else {
                        const leftCell = cells[cellIndex - 1];
                        cellBorders.push(this.mergeVerticalBorders(cellForBorders, table_cell_properties_merger/* TableCellPropertiesMergerBorderLeft */.L6, leftCell, table_cell_properties_merger/* TableCellPropertiesMergerBorderRight */.g7, false, this.tblbrdProvider.verticalBorder, (_borderWidth) => Math.floor(this.grid.columns.positions[cellInfo.getGridCellIndex()])));
                    }
                    if (cellIndex == lastRowCellIndex)
                        cellBorders.push(this.mergeVerticalBorders(cellForBorders, table_cell_properties_merger/* TableCellPropertiesMergerBorderRight */.g7, null, null, true, this.tblbrdProvider.rightBorder, (borderWidth) => Math.floor(this.getCellEndGridPosition(rowIndex, cellIndex) - borderWidth / 2)));
                }
            }
        }
        return verticalBorders;
    }
    getVerticalCursorBorders() {
        let verticalBorders = [];
        let rows = this.grid.table.rows;
        let tblInfos = this.grid.tableCellInfos;
        for (var rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) {
            let rowBorders = [];
            let lastRowCellIndex = row.cells.length - 1;
            verticalBorders.push(rowBorders);
            for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {
                let cellBorders = [];
                rowBorders.push(cellBorders);
                if (this.rowCellSpacing(rowIndex) > 0)
                    this.populateVerticalCursorBordersWithSpacing(cellIndex, rowIndex, lastRowCellIndex, this.rowCellSpacing(rowIndex), cellBorders, tblInfos[rowIndex][cellIndex]);
                else
                    this.populateVerticalCursorBorders(cellIndex, rowIndex, lastRowCellIndex, cellBorders, tblInfos[rowIndex][cellIndex]);
            }
        }
        return verticalBorders;
    }
    populateVerticalCursorBordersWithSpacing(cellIndex, rowIndex, lastRowCellIndex, cellSpacing, cellBorders, cellInfo) {
        if (cellIndex == 0)
            cellBorders.push(this.createVerticalCursorBorder(this.grid.columns.positions[cellInfo.getGridCellIndex()]));
        else
            cellBorders.push(this.createVerticalCursorBorder(this.grid.columns.positions[cellInfo.getGridCellIndex()], cellSpacing));
        if (cellIndex == lastRowCellIndex)
            cellBorders.push(this.createVerticalCursorBorder(this.grid.columns.positions[this.getCellGridColumnIndex(rowIndex, cellIndex)]));
    }
    populateVerticalCursorBorders(cellIndex, rowIndex, lastRowCellIndex, cellBorders, cellInfo) {
        if (cellIndex == 0)
            cellBorders.push(this.createVerticalCursorBorder(this.grid.columns.positions[cellInfo.getGridCellIndex()]));
        else
            cellBorders.push(this.createVerticalCursorBorder(this.grid.columns.positions[cellInfo.getGridCellIndex()]));
        if (cellIndex == lastRowCellIndex)
            cellBorders.push(this.createVerticalCursorBorder(this.grid.columns.positions[this.getCellGridColumnIndex(rowIndex, cellIndex)]));
    }
    getCellGridColumnIndex(rowIndex, cellIndex) {
        const cellGridStartPos = this.grid.tableCellInfos[rowIndex][cellIndex].getGridCellIndex();
        const cellGridColumnEndIndex = cellGridStartPos + this.grid.table.rows[rowIndex].cells[cellIndex].columnSpan;
        return cellGridColumnEndIndex;
    }
    createVerticalCursorBorder(modelXPos, cellSpacing = -1) {
        const DEFAULT_CURSOR_BORDER_WIDTH = 4;
        let size = cellSpacing != -1 ? cellSpacing : DEFAULT_CURSOR_BORDER_WIDTH;
        return new layout_table_border/* LayoutCursorVerticalTableBorder */.X1(Math.floor(modelXPos - size / 2), 0, 0, new border_info/* BorderInfo */.H().getLayoutBorder(this.colorProvider));
    }
    mergeVerticalBorders(cellA, mergerCellA, cellB, mergerCellB, isOutsideCellBorders, tableBorderInfo, getX) {
        const brd = BorderHelper.mergeThreeBorders(this.colorProvider, cellA, mergerCellA, cellB, mergerCellB, isOutsideCellBorders, tableBorderInfo, this.tblStyle, unit_converter/* UnitConverter */.u.twipsToPixels);
        const tableVerticalBorder = new layout_table_border/* LayoutTableBorder */.iZ(0, 0, 0, brd ? brd.getLayoutBorder(this.colorProvider) : null);
        if (tableVerticalBorder.borderInfo)
            tableVerticalBorder.xPos = getX(tableVerticalBorder.borderInfo.width);
        return tableVerticalBorder;
    }
    getHorizontalBordersByRow(rowIndex, isRowFirstInLayoutColumn, isRowLastInLayoutColumn) {
        const linesInRow = [];
        if (this.rowCellSpacing(rowIndex) > 0) {
            if (isRowFirstInLayoutColumn || rowIndex == 0)
                linesInRow.push(this.collectTableHorizontalBorders(this.tblbrdProvider.topBorder, rowIndex));
            linesInRow.push(this.collectOneCellAndTableHorizontalBorders(rowIndex, table_cell_properties_merger/* TableCellPropertiesMergerBorderTop */.PU, rowIndex - 1, this.tblbrdProvider.horizontalBorder, !isRowFirstInLayoutColumn));
            linesInRow.push(this.collectOneCellAndTableHorizontalBorders(rowIndex, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, rowIndex + 1, this.tblbrdProvider.horizontalBorder, !isRowLastInLayoutColumn));
            if (isRowLastInLayoutColumn)
                linesInRow.push(this.collectTableHorizontalBorders(this.tblbrdProvider.bottomBorder, rowIndex));
        }
        else {
            if (isRowFirstInLayoutColumn || rowIndex == 0)
                linesInRow.push(this.collectOneCellAndTableHorizontalBorders(rowIndex, table_cell_properties_merger/* TableCellPropertiesMergerBorderTop */.PU, rowIndex - 1, this.tblbrdProvider.topBorder, false));
            else
                linesInRow.push(this.collectThreeBorders(rowIndex, table_cell_properties_merger/* TableCellPropertiesMergerBorderTop */.PU, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, this.tblbrdProvider.horizontalBorder));
            if (isRowLastInLayoutColumn)
                linesInRow.push(this.collectOneCellAndTableHorizontalBorders(rowIndex, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, rowIndex + 1, this.tblbrdProvider.bottomBorder, false));
        }
        return linesInRow;
    }
    collectTableHorizontalBorders(tableBorderInfo, rowIndex) {
        const cells = this.grid.table.rows[rowIndex].cells;
        const lastCellIndex = cells.length - 1;
        const lastCell = cells[lastCellIndex];
        const firstCellGridInfo = this.grid.tableCellInfos[rowIndex][0];
        const lastCellGridInfo = this.grid.tableCellInfos[rowIndex][lastCellIndex];
        const horizBorder = new LayoutTableHorizontalBorder();
        horizBorder.borderInfo = tableBorderInfo.getLayoutBorder(this.colorProvider);
        horizBorder.xPosition = Math.floor(this.grid.columns.positions[firstCellGridInfo.getGridCellIndex()]);
        horizBorder.length = Math.ceil(this.grid.columns.positions[lastCellGridInfo.getGridCellIndex() + lastCell.columnSpan]) - horizBorder.xPosition;
        const horizBordersInfo = new HorizontalLineBordersInfo(true);
        horizBordersInfo.borders.push(horizBorder);
        horizBordersInfo.updateWidth(tableBorderInfo ? tableBorderInfo.width : 0);
        return horizBordersInfo;
    }
    collectOneCellAndTableHorizontalBorders(cellBorderRowIndex, getCurrCellBorderMerger, tableBorderRowIndex, tableBorderInfo, isTableBorderRowIndexValid) {
        const rows = this.grid.table.rows;
        const cells = rows[cellBorderRowIndex].cells;
        const rowCellSpacing = this.rowCellSpacing(cellBorderRowIndex);
        const horizBordersInfo = new HorizontalLineBordersInfo(true);
        for (let cellIndex = 0, cell; cell = cells[cellIndex]; cellIndex++) {
            const currCellGridTableInfo = this.grid.tableCellInfos[cellBorderRowIndex][cellIndex];
            const currCellGridStartIndex = currCellGridTableInfo.getGridCellIndex();
            const tableCellGridTableInfo = isTableBorderRowIndexValid ?
                this.grid.tableCellGridInfos[tableBorderRowIndex][currCellGridStartIndex] :
                null;
            if (currCellGridTableInfo == tableCellGridTableInfo)
                continue;
            const currCellXPosition = Math.floor(this.grid.columns.positions[currCellGridStartIndex] + rowCellSpacing * (cellIndex == 0 ? 2 : 1));
            const currCellEndGridColumn = Math.ceil(this.grid.columns.positions[currCellGridStartIndex + cell.columnSpan] - rowCellSpacing * (cellIndex == cells.length - 1 ? 2 : 1));
            const currCellBorder = getCurrCellBorderMerger ?
                TableBorderInfoProvider.borderConvertToPixels((new getCurrCellBorderMerger(cell.parentRow.tablePropertiesException, !isTableBorderRowIndexValid))
                    .getProperty(cell.properties, this.tblStyle, cell.conditionalFormatting, null), unit_converter/* UnitConverter */.u.twipsToPixels) :
                null;
            const horizBorder = new LayoutTableHorizontalBorder();
            horizBorder.xPosition = currCellXPosition;
            horizBorder.length = currCellEndGridColumn - currCellXPosition;
            const brd = (currCellBorder ? currCellBorder : tableBorderInfo);
            horizBorder.borderInfo = brd ? brd.getLayoutBorder(this.colorProvider) : null;
            horizBordersInfo.borders.push(horizBorder);
            horizBordersInfo.updateWidth(horizBorder.borderInfo ? horizBorder.borderInfo.width : 0);
        }
        return horizBordersInfo;
    }
    collectThreeBorders(rowIndex, getCurrCellBorderMerger, getTopCellBorderMerger, tableBorderInfo) {
        const horizBordersInfo = new HorizontalLineBordersInfo(true);
        const gridColumnsNum = this.grid.columns.numColumns;
        const prevRowIndex = rowIndex - 1;
        const gridInfosPrevRow = this.grid.tableCellGridInfos[prevRowIndex];
        const gridInfosCurrRow = this.grid.tableCellGridInfos[rowIndex];
        const prevRowCells = this.grid.table.rows[prevRowIndex].cells;
        const currRowCells = this.grid.table.rows[rowIndex].cells;
        for (let cellGridIndex = 0; cellGridIndex < gridColumnsNum; cellGridIndex++) {
            const prevCellInfo = gridInfosPrevRow[cellGridIndex];
            const currCellInfo = gridInfosCurrRow[cellGridIndex];
            if (!prevCellInfo && !currCellInfo ||
                prevCellInfo && prevRowIndex != prevCellInfo.getStartRowIndex() + prevCellInfo.getNumRowsInCell() - 1)
                continue;
            let prevCell = prevCellInfo ? prevRowCells[prevCellInfo.getCellIndex(prevRowIndex - prevCellInfo.getStartRowIndex())] : null;
            let currCell = currCellInfo ? currRowCells[currCellInfo.getCellIndex(rowIndex - currCellInfo.getStartRowIndex())] : null;
            const horizBorder = new LayoutTableHorizontalBorder();
            horizBorder.xPosition = Math.floor(this.grid.columns.positions[cellGridIndex]);
            horizBorder.length = Math.ceil(this.grid.columns.width[cellGridIndex]);
            const brd = BorderHelper.mergeThreeBorders(this.colorProvider, currCell, getCurrCellBorderMerger, prevCell, getTopCellBorderMerger, false, tableBorderInfo, this.tblStyle, unit_converter/* UnitConverter */.u.twipsToPixels);
            horizBorder.borderInfo = brd ? brd.getLayoutBorder(this.colorProvider) : null;
            horizBordersInfo.updateWidth(horizBorder.borderInfo ? horizBorder.borderInfo.width : 0);
            horizBordersInfo.borders.push(horizBorder);
        }
        return horizBordersInfo;
    }
    getCellEndGridPosition(rowIndex, cellIndex) {
        const cellGridStartPos = this.grid.tableCellInfos[rowIndex][cellIndex].getGridCellIndex();
        const cellGridColumnEndIndex = cellGridStartPos + this.grid.table.rows[rowIndex].cells[cellIndex].columnSpan;
        return Math.ceil(this.grid.columns.positions[cellGridColumnEndIndex]);
    }
    static mergeThreeBorders(colorProvider, cellA, mergerCellA, cellB, mergerCellB, isOutsideCellBorders, tableBorderInfo, tblStyle, converter) {
        let tblBrd;
        if (cellA && cellB) {
            tblBrd = table_border_calculator/* TableBorderCalculator */.E.getPowerfulBorder(colorProvider, TableBorderInfoProvider.borderConvertToPixels((new mergerCellA(cellA.parentRow.tablePropertiesException, isOutsideCellBorders))
                .getProperty(cellA.properties, tblStyle, cellA.conditionalFormatting, null), converter), TableBorderInfoProvider.borderConvertToPixels((new mergerCellB(cellB.parentRow.tablePropertiesException, isOutsideCellBorders))
                .getProperty(cellB.properties, tblStyle, cellB.conditionalFormatting, null), converter));
        }
        else {
            const cell = cellA || cellB;
            if (cell)
                tblBrd = TableBorderInfoProvider.borderConvertToPixels((new (mergerCellA || mergerCellB)(cell.parentRow.tablePropertiesException, isOutsideCellBorders))
                    .getProperty(cell.properties, tblStyle, cell.conditionalFormatting, null), converter);
        }
        if (!tblBrd)
            tblBrd = tableBorderInfo;
        return tblBrd;
    }
    static getLeftBorder(colorProvider, pos, siblingCell, tblBrdProv, converter) {
        return BorderHelper.getRightLeftBorder(colorProvider, pos, siblingCell, tblBrdProv, converter, pos.cellIndex == 0, table_cell_properties_merger/* TableCellPropertiesMergerBorderLeft */.L6, table_cell_properties_merger/* TableCellPropertiesMergerBorderRight */.g7);
    }
    static getRightBorder(colorProvider, pos, siblingCell, tblBrdProv, converter) {
        return BorderHelper.getRightLeftBorder(colorProvider, pos, siblingCell, tblBrdProv, converter, pos.cellIndex == pos.row.cells.length - 1, table_cell_properties_merger/* TableCellPropertiesMergerBorderRight */.g7, table_cell_properties_merger/* TableCellPropertiesMergerBorderLeft */.L6);
    }
    static getRightLeftBorder(colorProvider, pos, siblingCell, tblBrdProv, converter, isOutsideBorder, currentMerger, siblingMerger) {
        const tableStyle = pos.table.style;
        return tblBrdProv.cellSpacings[pos.rowIndex] > 0 ?
            BorderHelper.mergeThreeBorders(colorProvider, pos.cell, currentMerger, null, null, isOutsideBorder, isOutsideBorder ? tblBrdProv.leftBorder : tblBrdProv.verticalBorder, tableStyle, converter) :
            (isOutsideBorder ?
                BorderHelper.mergeThreeBorders(colorProvider, pos.cell, currentMerger, null, null, isOutsideBorder, tblBrdProv.leftBorder, tableStyle, converter) :
                BorderHelper.mergeThreeBorders(colorProvider, pos.cell, currentMerger, siblingCell, siblingMerger, isOutsideBorder, tblBrdProv.verticalBorder, tableStyle, converter));
    }
}


/***/ }),

/***/ 4110:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X1: function() { return /* binding */ LayoutCursorVerticalTableBorder; },
/* harmony export */   iZ: function() { return /* binding */ LayoutTableBorder; },
/* harmony export */   io: function() { return /* binding */ LayoutCursorHorizontalTableBorder; }
/* harmony export */ });
class LayoutTableBorder {
    constructor(xPos, yPos, length, borderInfo) {
        this.xPos = xPos;
        this.yPos = yPos;
        this.length = length;
        this.borderInfo = borderInfo;
    }
    clone() {
        return new LayoutTableBorder(this.xPos, this.yPos, this.length, this.borderInfo.clone());
    }
    copyFrom(obj) {
        this.xPos = obj.xPos;
        this.yPos = obj.yPos;
        this.length = obj.length;
        this.borderInfo = obj.borderInfo.clone();
    }
    canCombineVertical(border) {
        return Math.abs(this.xPos - border.xPos) < 2 && Math.abs(this.yPos + this.length - border.yPos) < 2 && this.borderInfo.equals(border.borderInfo);
    }
}
class LayoutCursorHorizontalTableBorder extends LayoutTableBorder {
    constructor(xPos, yPos, length, borderInfo, layoutRowIndex) {
        super(xPos, yPos, length, borderInfo);
        this.layoutRowIndex = layoutRowIndex;
    }
    clone() {
        return new LayoutCursorHorizontalTableBorder(this.xPos, this.yPos, this.length, this.borderInfo.clone(), this.layoutRowIndex);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.layoutRowIndex = obj.layoutRowIndex;
    }
    canCombine(border) {
        let limitX = Math.abs(this.xPos + this.length - border.xPos);
        let limitY = Math.abs(this.yPos - border.yPos);
        return limitX < 3 && limitY < 3 && this.layoutRowIndex == border.layoutRowIndex;
    }
}
class LayoutCursorVerticalTableBorder extends LayoutTableBorder {
    clone() {
        return new LayoutCursorVerticalTableBorder(this.xPos, this.yPos, this.length, this.borderInfo.clone());
    }
    copyFrom(obj) {
        super.copyFrom(obj);
    }
}


/***/ }),

/***/ 9042:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  y: function() { return /* binding */ Calculator; }
});

// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/column-width-engine/column-interval.ts

class ColumnInterval {
    constructor(width, colSpan, type) {
        this.width = width;
        this.colSpan = colSpan;
        this.type = type;
    }
    substract(b) {
        const colSpan = this.colSpan - b.colSpan;
        if (this.type == b.type)
            return new ColumnInterval(Math.max(0, this.width - b.width), colSpan, this.type);
        switch (this.type) {
            case table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent: return new ColumnInterval(b.width, colSpan, b.type);
            case table_units/* TableWidthUnitType */.HO.ModelUnits: return new ColumnInterval(this.width, colSpan, this.type);
            default:
                const type = this.type == table_units/* TableWidthUnitType */.HO.Auto || b.type == table_units/* TableWidthUnitType */.HO.Auto ?
                    table_units/* TableWidthUnitType */.HO.Auto : table_units/* TableWidthUnitType */.HO.Nil;
                return new ColumnInterval(0, colSpan, type);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/column-width-engine/iterator.ts
class ColumnIntervalWidthIterator {
    constructor(columnsInfo) {
        this.columnsInfo = columnsInfo;
        this.intervalIndex = 0;
        this.interval = columnsInfo[0];
    }
    endOfIntervals() {
        return !this.interval;
    }
    moveNext() {
        this.intervalIndex++;
        this.interval = this.columnsInfo[this.intervalIndex];
    }
    advance(interval) {
        if (this.interval.colSpan == interval.colSpan)
            this.moveNext();
        else
            this.interval = this.interval.substract(interval);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/column-width-engine/calculator.ts



class Calculator {
    static getIntervals(table) {
        const rows = table.rows;
        let currRowTableGrid = Calculator.columnsInfo(rows[0]);
        for (let nextRowIndex = 1, nextRow; nextRow = rows[nextRowIndex]; nextRowIndex++) {
            const nextRowTableGrid = Calculator.columnsInfo(nextRow);
            currRowTableGrid = Calculator.mergeRowColumnIntervals(currRowTableGrid, nextRowTableGrid);
        }
        return currRowTableGrid;
    }
    static columnsInfo(row) {
        const columns = [];
        if (row.gridBefore > 0)
            columns.push(new ColumnInterval(row.widthBefore.value, row.gridBefore, row.widthBefore.type));
        for (let cell of row.cells) {
            const cellPreferredWidth = cell.preferredWidth;
            columns.push(new ColumnInterval(cellPreferredWidth.value, cell.columnSpan, cellPreferredWidth.type));
        }
        if (row.gridAfter > 0)
            columns.push(new ColumnInterval(row.widthAfter.value, row.gridAfter, row.widthAfter.type));
        return columns;
    }
    static mergeRowColumnIntervals(currRowTableGrid, nextRowTableGrid) {
        const mergedTableGrid = [];
        const currRowIterator = new ColumnIntervalWidthIterator(currRowTableGrid);
        const nextRowIterator = new ColumnIntervalWidthIterator(nextRowTableGrid);
        while (!currRowIterator.endOfIntervals() && !nextRowIterator.endOfIntervals()) {
            const currIntervalSpan = currRowIterator.interval.colSpan;
            const nextIntervalSpan = nextRowIterator.interval.colSpan;
            if (currIntervalSpan > nextIntervalSpan)
                Calculator.processDependedIntervals(currRowIterator, nextRowIterator, mergedTableGrid);
            else if (nextIntervalSpan > currIntervalSpan)
                Calculator.processDependedIntervals(nextRowIterator, currRowIterator, mergedTableGrid);
            else {
                const newInterval = Calculator.mergeIntervalsDifferentRows(currRowIterator.interval, nextRowIterator.interval);
                mergedTableGrid.push(newInterval);
                currRowIterator.advance(newInterval);
                nextRowIterator.advance(newInterval);
            }
        }
        Calculator.copyRestIntervals(currRowIterator, mergedTableGrid);
        Calculator.copyRestIntervals(nextRowIterator, mergedTableGrid);
        return mergedTableGrid;
    }
    static mergeIntervalsDifferentRows(currRowTableColumnInterval, nextRowTableColumnInterval) {
        const colSpan = currRowTableColumnInterval.colSpan;
        if (currRowTableColumnInterval.type == nextRowTableColumnInterval.type)
            return new ColumnInterval(Math.max(currRowTableColumnInterval.width, nextRowTableColumnInterval.width), colSpan, currRowTableColumnInterval.type);
        if (currRowTableColumnInterval.type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return Calculator.mergeIntervalsDifferentRowsDifferentTypes(currRowTableColumnInterval, nextRowTableColumnInterval, colSpan);
        if (nextRowTableColumnInterval.type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return Calculator.mergeIntervalsDifferentRowsDifferentTypes(nextRowTableColumnInterval, currRowTableColumnInterval, colSpan);
        if (currRowTableColumnInterval.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
            return new ColumnInterval(currRowTableColumnInterval.width, colSpan, table_units/* TableWidthUnitType */.HO.ModelUnits);
        return new ColumnInterval(nextRowTableColumnInterval.width, colSpan, table_units/* TableWidthUnitType */.HO.ModelUnits);
    }
    static mergeIntervalsDifferentRowsDifferentTypes(percentBasedInterval, anotherBasedInterval, colSpan) {
        return anotherBasedInterval.width > 0 ?
            new ColumnInterval(anotherBasedInterval.width, colSpan, anotherBasedInterval.type) :
            new ColumnInterval(percentBasedInterval.width, colSpan, percentBasedInterval.type);
    }
    static copyRestIntervals(iterator, to) {
        while (!iterator.endOfIntervals()) {
            to.push(iterator.interval);
            iterator.advance(iterator.interval);
        }
    }
    static processDependedIntervals(masterIterator, slaveIterator, mergedRowsIntervals) {
        const deferredTableGrid = [];
        let autoSizeIntervalsCount = 0;
        let masterInterval = masterIterator.interval;
        do {
            const slaveInterval = slaveIterator.interval;
            if (slaveInterval.type == table_units/* TableWidthUnitType */.HO.Auto || slaveInterval.type == table_units/* TableWidthUnitType */.HO.Nil)
                autoSizeIntervalsCount++;
            deferredTableGrid.push(slaveInterval);
            slaveIterator.advance(slaveInterval);
            masterInterval = masterInterval.substract(slaveInterval);
        } while (masterInterval.colSpan > 0 && !slaveIterator.endOfIntervals() && slaveIterator.interval.colSpan <= masterInterval.colSpan);
        const calculateNotSetIntervals = masterInterval.type == table_units/* TableWidthUnitType */.HO.ModelUnits && autoSizeIntervalsCount > 0;
        const newWidth = calculateNotSetIntervals ? masterInterval.width / autoSizeIntervalsCount : 0;
        for (let interval of deferredTableGrid) {
            if (calculateNotSetIntervals && (interval.type == table_units/* TableWidthUnitType */.HO.Auto || interval.type == table_units/* TableWidthUnitType */.HO.Nil)) {
                interval.type = table_units/* TableWidthUnitType */.HO.ModelUnits;
                interval.width = newWidth;
            }
            mergedRowsIntervals.push(masterIterator.interval.colSpan > 1 ? interval : Calculator.mergeIntervalsDifferentRows(masterIterator.interval, interval));
            masterIterator.advance(interval);
        }
    }
}


/***/ }),

/***/ 8115:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: function() { return /* binding */ Grid; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _model_tables_grid_grid_maker__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2146);


class Grid {
    constructor(table) {
        this.table = table;
        this.tableCellGridInfos = [];
        this.tableCellInfos = [];
        _model_tables_grid_grid_maker__WEBPACK_IMPORTED_MODULE_1__/* .GridMaker */ .p.fillGridInfo(table, this.tableCellGridInfos, this.tableCellInfos);
    }
    get commonWidth() {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(this.columns.positions);
    }
}


/***/ }),

/***/ 9327:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: function() { return /* binding */ TableAlignmentApplier; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1167);
/* harmony import */ var _layout_table_layout_table_cell_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6031);
/* harmony import */ var _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8403);
/* harmony import */ var _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1314);
/* harmony import */ var _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1157);
/* harmony import */ var _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(247);







class TableAlignmentApplier {
    static getTableAlignment(table) {
        const firstRowAlignment = new _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_5__/* .TableRowPropertiesMergerHorizontalAlignment */ .KJ(table.rows[0].tablePropertiesException)
            .getProperty(table.rows[0].properties, table.style, table.rows[0].conditionalFormatting, null);
        const allRowAlignmentsEqual = firstRowAlignment != null && _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.allOf(table.rows, (row) => new _model_tables_properties_mergers_table_row_properties_merger__WEBPACK_IMPORTED_MODULE_5__/* .TableRowPropertiesMergerHorizontalAlignment */ .KJ(row.tablePropertiesException)
            .getProperty(row.properties, table.style, row.conditionalFormatting, null) == firstRowAlignment);
        return allRowAlignmentsEqual ? firstRowAlignment : new _model_tables_properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerHorizontalAlignment */ .G8()
            .getProperty(table.properties, table.style, _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, null);
    }
    static applyHorizontalAlignment(currTableColumnInfo, tableMaxWidth) {
        const table = currTableColumnInfo.logicInfo.grid.table;
        const tableAlignment = this.getTableAlignment(table);
        const leftBound = currTableColumnInfo.x;
        const rightBound = leftBound + tableMaxWidth;
        const avalSpace = rightBound - currTableColumnInfo.right;
        let offset;
        switch (tableAlignment != null ? tableAlignment : _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableRowAlignment */ ._6.Left) {
            case _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableRowAlignment */ ._6.Right:
                offset = avalSpace;
                break;
            case _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableRowAlignment */ ._6.Center:
                offset = Math.floor(avalSpace / 2);
                break;
            case _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableRowAlignment */ ._6.Left:
            default:
                offset = 0;
                break;
        }
        if (offset <= 0)
            return;
        TableAlignmentApplier.moveAllTable(currTableColumnInfo, (rect) => rect.x += offset);
    }
    static applyCellsVerticalAlignment(defaultTableCellProps, grid, currTableColumnInfo, rowInfo) {
        const table = grid.table;
        const tableStyle = table.style;
        for (let tblRow of currTableColumnInfo.tableRows) {
            for (let tblCell of tblRow.rowCells) {
                if (!(tblCell.boundFlags.get(_layout_table_layout_table_cell_info__WEBPACK_IMPORTED_MODULE_2__/* .TableCellBoundFlags */ .a.StartOnThisColumn) && tblCell.boundFlags.get(_layout_table_layout_table_cell_info__WEBPACK_IMPORTED_MODULE_2__/* .TableCellBoundFlags */ .a.EndOnThisColumn)))
                    continue;
                const cellGridInfo = grid.tableCellGridInfos[tblRow.rowIndex][tblCell.cellGridIndex];
                const cellStartRowIndex = cellGridInfo.getStartRowIndex();
                const cellIndex = cellGridInfo.getCellIndex(0);
                const cell = table.rows[cellStartRowIndex].cells[cellIndex];
                const verticalAlignmentType = new _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_3__/* .TableCellVerticalAlignmentMerger */ .kc()
                    .getProperty(cell.properties, tableStyle, cell.conditionalFormatting, defaultTableCellProps);
                const topAndBottomMargins = rowInfo[cellStartRowIndex].topAndBottomMargins;
                const bottomBound = tblCell.bottom - topAndBottomMargins.bottomMargin -
                    rowInfo[tblRow.rowIndex].cellSpacing * (tblRow.rowIndex == table.rows.length - 1 ? 2 : 1);
                const numLayoutRows = tblCell.layoutRows.length;
                const lastInnerTable = tblCell.internalTables[numLayoutRows];
                const rowsBottomBound = lastInnerTable ?
                    lastInnerTable.bottom :
                    tblCell.layoutRows[numLayoutRows - 1].bottom;
                const avalSpace = bottomBound - rowsBottomBound;
                var offset;
                switch (verticalAlignmentType) {
                    case _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellVerticalAlignment */ .Ad.Bottom:
                        offset = avalSpace;
                        break;
                    case _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellVerticalAlignment */ .Ad.Center:
                        offset = Math.floor(avalSpace / 2);
                        break;
                    case _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellVerticalAlignment */ .Ad.Top:
                    default:
                        offset = 0;
                        break;
                }
                if (offset <= 0)
                    continue;
                for (let layoutRow of tblCell.layoutRows)
                    layoutRow.y += offset;
                _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__/* .NumberMapUtils */ .j.forEach(tblCell.internalTables, table => TableAlignmentApplier.moveAllTable(table, (rect) => rect.y += offset));
            }
        }
    }
    static moveAllTable(tblCol, mover) {
        mover(tblCol);
        for (let tblRow of tblCol.tableRows) {
            mover(tblRow);
            for (let tblCell of tblRow.rowCells) {
                mover(tblCell);
                _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__/* .NumberMapUtils */ .j.forEach(tblCell.internalTables, table => TableAlignmentApplier.moveAllTable(table, mover));
                for (let layoutRow of tblCell.layoutRows)
                    mover(layoutRow);
            }
        }
    }
}


/***/ }),

/***/ 9484:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   l: function() { return /* binding */ DocumentLayoutDetailsLevel; }
/* harmony export */ });
var DocumentLayoutDetailsLevel;
(function (DocumentLayoutDetailsLevel) {
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["None"] = -1] = "None";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["Page"] = 0] = "Page";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["PageArea"] = 1] = "PageArea";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["Column"] = 2] = "Column";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["TableRow"] = 3] = "TableRow";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["TableCell"] = 4] = "TableCell";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["Row"] = 5] = "Row";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["Box"] = 6] = "Box";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["Character"] = 7] = "Character";
    DocumentLayoutDetailsLevel[DocumentLayoutDetailsLevel["Max"] = 255] = "Max";
})(DocumentLayoutDetailsLevel || (DocumentLayoutDetailsLevel = {}));


/***/ }),

/***/ 7012:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   T: function() { return /* binding */ LayoutPoint; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8900);

class LayoutPoint extends _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__.Point {
    constructor(pageIndex, pageX, pageY) {
        super(pageX, pageY);
        this.pageIndex = pageIndex;
    }
    isEmpty() {
        return this.pageIndex == -1;
    }
    static Empty() {
        return new LayoutPoint(-1, -1, -1);
    }
    clone() {
        return new LayoutPoint(this.pageIndex, this.x, this.y);
    }
    get point() {
        return new _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__.Point(this.x, this.y);
    }
}


/***/ }),

/***/ 8475:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Nw: function() { return /* binding */ LayoutPositionDiscardHelper; },
/* harmony export */   Yi: function() { return /* binding */ LayoutPosition; },
/* harmony export */   i6: function() { return /* binding */ LayoutAndModelPositions; }
/* harmony export */ });
/* unused harmony exports LayoutRowPosition, LayoutPositionBase */
/* harmony import */ var _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8900);
/* harmony import */ var _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6536);
/* harmony import */ var _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9484);
/* harmony import */ var _layout_point__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7012);




class LayoutAndModelPositions {
    constructor(layoutPosition, modelPosition) {
        this.layoutPosition = layoutPosition;
        this.modelPosition = modelPosition;
    }
}
class LayoutRowPosition {
    constructor() {
        this.row = null;
        this.box = null;
        this.boxIndex = -1;
        this.charOffset = -1;
    }
}
class LayoutPositionBase extends LayoutRowPosition {
    constructor() {
        super(...arguments);
        this.detailsLevel = _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.None;
        this.rowIndex = -1;
        this.column = null;
        this.columnIndex = -1;
        this.pageArea = null;
        this.pageAreaIndex = -1;
        this.page = null;
        this.pageIndex = -1;
    }
    getRelatedSubDocumentPagePosition() {
        return this.pageArea.subDocument.isMain() ? this.page.getPosition() : 0;
    }
    equals(obj) {
        if (this.detailsLevel != obj.detailsLevel)
            return false;
        switch (this.detailsLevel) {
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Character: if (this.charOffset != obj.charOffset)
                return false;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Box: if (this.boxIndex != obj.boxIndex)
                return false;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Row: if (this.rowIndex != obj.rowIndex)
                return false;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Column: if (this.columnIndex != obj.columnIndex)
                return false;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.PageArea: if (this.pageAreaIndex != obj.pageAreaIndex || this.pageArea.subDocument.id != obj.pageArea.subDocument.id)
                return false;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Page: if (this.pageIndex != obj.pageIndex)
                return false;
        }
        return true;
    }
    getOffsetRelativeColumn() {
        return new _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__.Point(this.pageArea.x + this.column.x, this.pageArea.y + this.column.y);
    }
    stepBackRow() {
        if (this.rowIndex == 0)
            return false;
        this.row = this.column.rows[--this.rowIndex];
        return true;
    }
    stepForwardRow() {
        const newRow = this.column.rows[++this.rowIndex];
        if (newRow) {
            this.row = newRow;
            return true;
        }
        this.rowIndex--;
        return false;
    }
    getPositionRelativePage(measurer) {
        return new _layout_point__WEBPACK_IMPORTED_MODULE_3__/* .LayoutPoint */ .T(this.page.index, this.getLayoutX(measurer), this.getLayoutY());
    }
    getLayoutX(measurer, detailsLevel) {
        if (!detailsLevel)
            detailsLevel = this.detailsLevel;
        let xPos = 0;
        switch (detailsLevel) {
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Max:
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Character: xPos += this.box.getCharOffsetXInPixels(measurer, this.charOffset);
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Box: xPos += this.box.x;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Row: xPos += this.row.x;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Column: xPos += this.column.x;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.PageArea: xPos += this.pageArea.x;
        }
        return xPos;
    }
    getLayoutY(detailsLevel) {
        if (!detailsLevel)
            detailsLevel = this.detailsLevel;
        let yPos = 0;
        switch (detailsLevel) {
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Max:
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Character:
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Box: yPos += this.row.baseLine - this.box.getAscent() - this.row.getSpacingBefore();
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Row: yPos += this.row.y;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Column: yPos += this.column.y;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.PageArea: yPos += this.pageArea.y;
        }
        return yPos;
    }
    getPageAreaBySubDocument(subDocument) {
        return subDocument.isMain() ? this.page.mainSubDocumentPageAreas[this.pageAreaIndex] : this.page.otherPageAreas[subDocument.id];
    }
    advanceToPrevRow(layout) {
        this.rowIndex--;
        if (this.rowIndex < 0) {
            if (!this.pageArea.subDocument.isMain()) {
                this.rowIndex = 0;
                return false;
            }
            this.columnIndex--;
            if (this.columnIndex < 0) {
                this.pageAreaIndex--;
                if (this.pageAreaIndex < 0) {
                    this.pageIndex--;
                    if (this.pageIndex < 0) {
                        this.pageIndex = 0;
                        this.pageAreaIndex = 0;
                        this.columnIndex = 0;
                        this.rowIndex = 0;
                        return false;
                    }
                    this.page = layout.pages[this.pageIndex];
                    this.pageAreaIndex = this.page.mainSubDocumentPageAreas.length - 1;
                }
                this.pageArea = this.page.mainSubDocumentPageAreas[this.pageAreaIndex];
                this.columnIndex = this.pageArea.columns.length - 1;
            }
            this.column = this.pageArea.columns[this.columnIndex];
            this.rowIndex = this.column.rows.length - 1;
        }
        this.row = this.column.rows[this.rowIndex];
        return true;
    }
    advanceToNextBoxInRow() {
        if (this.boxIndex + 1 < this.row.boxes.length) {
            this.boxIndex++;
            this.box = this.row.boxes[this.boxIndex];
            this.charOffset = 0;
            return true;
        }
        return false;
    }
    advanceToPrevBoxInRow() {
        if (this.boxIndex > 0) {
            this.boxIndex--;
            this.box = this.row.boxes[this.boxIndex];
            this.charOffset = this.box.getLength() - 1;
            return true;
        }
        return false;
    }
    advanceToNextRow(layout) {
        this.rowIndex++;
        if (this.rowIndex >= this.column.rows.length) {
            if (!this.pageArea.subDocument.isMain()) {
                this.rowIndex--;
                return false;
            }
            this.rowIndex = 0;
            this.columnIndex++;
            if (this.columnIndex >= this.pageArea.columns.length) {
                this.columnIndex = 0;
                this.pageAreaIndex++;
                if (this.pageAreaIndex >= this.page.mainSubDocumentPageAreas.length) {
                    this.pageAreaIndex = 0;
                    this.pageIndex++;
                    if (this.pageIndex >= layout.validPageCount) {
                        this.pageIndex--;
                        this.pageAreaIndex = this.page.mainSubDocumentPageAreas.length - 1;
                        this.columnIndex = this.pageArea.columns.length - 1;
                        this.rowIndex = this.column.rows.length - 1;
                        return false;
                    }
                    this.page = layout.pages[this.pageIndex];
                }
                this.pageArea = this.page.mainSubDocumentPageAreas[this.pageAreaIndex];
            }
            this.column = this.pageArea.columns[this.columnIndex];
        }
        this.row = this.column.rows[this.rowIndex];
        return true;
    }
}
class LayoutPosition extends LayoutPositionBase {
    constructor(detailsLevel) {
        super();
        this.detailsLevel = detailsLevel;
    }
    static ensure(formatterController, subDocument, logPosition, detailsLevel = _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Row) {
        const layout = formatterController.layout;
        const endRowConflictFlags = new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_1__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false);
        const middleRowConflictFlags = new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_1__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false);
        if (subDocument.isMain())
            return _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_1__/* .LayoutPositionMainSubDocumentCreator */ .NG.ensureLayoutPosition(formatterController, subDocument, logPosition, detailsLevel, endRowConflictFlags, middleRowConflictFlags);
        while (true) {
            const pageIndex = layout.getPageBySubDocumentId(subDocument.id).index;
            const lp = new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_1__/* .LayoutPositionOtherSubDocumentCreator */ .iD(layout, subDocument, logPosition, pageIndex, detailsLevel)
                .create(endRowConflictFlags, middleRowConflictFlags);
            if (lp)
                return lp;
            if (!formatterController.forceFormatPage(layout.validPageCount))
                return null;
        }
    }
    getLogPosition(detailsLevel = null) {
        if (!detailsLevel)
            detailsLevel = this.detailsLevel;
        var position = 0;
        switch (detailsLevel) {
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Max:
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Character: position += this.charOffset;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Box: position += this.box.rowOffset;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Row: position += this.row.columnOffset;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.Column: position += this.column.pageAreaOffset;
            case _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.PageArea: position += this.pageArea.pageOffset;
        }
        if (detailsLevel >= _document_layout_details_level__WEBPACK_IMPORTED_MODULE_2__/* .DocumentLayoutDetailsLevel */ .l.PageArea && this.pageArea.subDocument.isMain())
            position += this.page.getPosition();
        return position;
    }
    isPositionBoxEnd() {
        return this.charOffset == this.box.getLength();
    }
    isLastBoxInRow() {
        return this.boxIndex == this.row.boxes.length - 1;
    }
    isPositionAfterLastBoxInRow() {
        return this.isLastBoxInRow() && this.isPositionBoxEnd();
    }
    isPositionBeforeFirstBoxInRow() {
        return this.boxIndex == 0 && this.charOffset == 0;
    }
    switchToEndPrevBoxInRow() {
        if (this.charOffset == 0 && this.boxIndex > 0) {
            this.boxIndex--;
            this.box = this.row.boxes[this.boxIndex];
            this.charOffset = this.box.getLength();
            return true;
        }
        return false;
    }
    switchToStartNextBoxInRow() {
        if (this.charOffset == this.box.getLength() && this.boxIndex + 1 < this.row.boxes.length) {
            this.boxIndex++;
            this.box = this.row.boxes[this.boxIndex];
            this.charOffset = 0;
        }
    }
    copyFrom(source) {
        this.detailsLevel = source.detailsLevel;
        this.pageIndex = source.pageIndex;
        this.page = source.page;
        this.pageArea = source.pageArea;
        this.pageAreaIndex = source.pageAreaIndex;
        this.column = source.column;
        this.columnIndex = source.columnIndex;
        this.row = source.row;
        this.rowIndex = source.rowIndex;
        this.box = source.box;
        this.boxIndex = source.boxIndex;
        this.charOffset = source.charOffset;
    }
    clone() {
        var clone = new LayoutPosition(this.detailsLevel);
        clone.copyFrom(this);
        return clone;
    }
    initByIndexes(pageIndex, pageAreaIndex = -1, columnIndex = -1, rowIndex = -1, boxIndex = -1, charOffset = -1) {
        this.pageIndex = pageIndex;
        this.pageAreaIndex = pageAreaIndex;
        this.columnIndex = columnIndex;
        this.rowIndex = rowIndex;
        this.boxIndex = boxIndex;
        this.charOffset = charOffset;
        return this;
    }
    applyObjectsAsMainSubDocument(layout, idOtherSubDoc) {
        this.page = layout.pages[this.pageIndex];
        if (idOtherSubDoc < 0) {
            if (this.pageAreaIndex < 0)
                return this;
            this.pageArea = this.page.mainSubDocumentPageAreas[this.pageAreaIndex];
        }
        else
            this.pageArea = this.page.otherPageAreas[idOtherSubDoc];
        if (this.columnIndex < 0)
            return this;
        this.column = this.pageArea.columns[this.columnIndex];
        if (this.rowIndex < 0)
            return this;
        this.row = this.column.rows[this.rowIndex];
        if (this.boxIndex < 0)
            return this;
        this.box = this.row.boxes[this.boxIndex];
        return this;
    }
    posIsStartPage() {
        return this.rowIndex == 0 && this.columnIndex == 0 && this.pageAreaIndex == 0;
    }
    isFirstRowOnPage() {
        return this.pageAreaIndex == 0 && this.columnIndex == 0 && this.rowIndex == 0;
    }
}
class LayoutPositionDiscardHelper {
    static onStartCharLevel(lp) {
        lp.charOffset = 0;
    }
    static onStartBoxLevel(lp) {
        lp.boxIndex = 0;
        lp.box = lp.row.boxes[0];
        LayoutPositionDiscardHelper.onStartCharLevel(lp);
    }
    static onStartRowLevel(lp) {
        lp.rowIndex = 0;
        lp.row = lp.column.rows[0];
        LayoutPositionDiscardHelper.onStartBoxLevel(lp);
    }
    static onStartColumnLevel(lp) {
        lp.columnIndex = 0;
        lp.column = lp.pageArea.columns[0];
        LayoutPositionDiscardHelper.onStartRowLevel(lp);
    }
    static onStartPageAreaLevel(lp) {
        lp.pageAreaIndex = 0;
        lp.pageArea = lp.page.mainSubDocumentPageAreas[0];
        LayoutPositionDiscardHelper.onStartColumnLevel(lp);
    }
    static onStartPageLevel(pages, lp) {
        lp.pageIndex = 0;
        lp.page = pages[0];
        LayoutPositionDiscardHelper.onStartPageAreaLevel(lp);
    }
    static onEndCharLevel(lp) {
        lp.charOffset = 0;
    }
    static onEndBoxLevel(lp) {
        lp.boxIndex = lp.row.boxes.length - 1;
        lp.box = lp.row.boxes[lp.boxIndex];
        LayoutPositionDiscardHelper.onEndCharLevel(lp);
    }
    static onEndRowLevel(lp) {
        lp.rowIndex = lp.column.rows.length - 1;
        lp.row = lp.column.rows[lp.rowIndex];
        LayoutPositionDiscardHelper.onEndBoxLevel(lp);
    }
    static onEndColumnLevel(lp) {
        lp.columnIndex = lp.pageArea.columns.length - 1;
        lp.column = lp.pageArea.columns[lp.columnIndex];
        LayoutPositionDiscardHelper.onEndRowLevel(lp);
    }
    static onEndPageAreaLevel(lp) {
        lp.pageAreaIndex = lp.page.mainSubDocumentPageAreas.length - 1;
        lp.pageArea = lp.page.mainSubDocumentPageAreas[lp.pageAreaIndex];
        LayoutPositionDiscardHelper.onEndColumnLevel(lp);
    }
    static onEndPageLevel(layout, lp) {
        lp.pageIndex = layout.pages.length - 1;
        lp.page = layout.pages[lp.pageIndex];
        LayoutPositionDiscardHelper.onEndPageAreaLevel(lp);
    }
}


/***/ }),

/***/ 9768:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ LayoutAnchoredObjectBox; },
/* harmony export */   a: function() { return /* binding */ AnchoredObjectLevelType; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_polygon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9210);
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8274);


var AnchoredObjectLevelType;
(function (AnchoredObjectLevelType) {
    AnchoredObjectLevelType[AnchoredObjectLevelType["BehindText"] = 0] = "BehindText";
    AnchoredObjectLevelType[AnchoredObjectLevelType["InText"] = 1] = "InText";
    AnchoredObjectLevelType[AnchoredObjectLevelType["BeforeText"] = 2] = "BeforeText";
})(AnchoredObjectLevelType || (AnchoredObjectLevelType = {}));
class LayoutAnchoredObjectBox extends _layout_box__WEBPACK_IMPORTED_MODULE_1__/* .LayoutBox */ .kZ {
    constructor(characterProperties, colorInfo, belongsToSubDocId, anchorInfo, shape, objectId, rotationInRadians) {
        super(characterProperties, colorInfo);
        this.parentCell = null;
        this.isApproved = false;
        this.yShift = 0;
        this.belongsToSubDocId = belongsToSubDocId;
        this.anchorInfo = anchorInfo;
        this.shape = shape;
        this.objectId = objectId;
        this.rotationInRadians = rotationInRadians;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.anchorInfo.equals(obj.anchorInfo) &&
            this.shape.equals(obj.shape) &&
            this.rotationInRadians == obj.rotationInRadians &&
            this.belongsToSubDocId == obj.belongsToSubDocId &&
            this.objectId == obj.objectId;
    }
    isInText() {
        return this.levelType == AnchoredObjectLevelType.InText;
    }
    get levelType() {
        return this.anchorInfo.levelType;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.belongsToSubDocId = obj.belongsToSubDocId;
        this.rotationInRadians = obj.rotationInRadians;
        this.anchorInfo = obj.anchorInfo;
        this.shape = obj.shape;
        this.objectId = obj.objectId;
        this.isApproved = obj.isApproved;
    }
    getContentBounds() {
        const bounds = this.createRectangle();
        const outlineWidth = this.shape.outlineWidth;
        bounds.x += outlineWidth / 2;
        bounds.y += outlineWidth / 2;
        bounds.width -= outlineWidth;
        bounds.height -= outlineWidth;
        return bounds;
    }
    getExtendedBounds() {
        const bounds = this.createRectangle();
        const outlineWidth = this.shape.outlineWidth;
        bounds.x -= outlineWidth / 2;
        bounds.y -= outlineWidth / 2;
        bounds.width += outlineWidth;
        bounds.height += outlineWidth;
        return bounds;
    }
    setContentSize(size) {
        const outlineWidth = this.shape.outlineWidth;
        this.width = size.width + outlineWidth;
        this.height = size.height + outlineWidth;
    }
    pushInfoForMeasure(_info, _showHiddenSymbols) { }
    popInfoForMeasure(_info, _showHiddenSymbols) { }
    isWhitespace() {
        return true;
    }
    isLineBreak() {
        return false;
    }
    getRotatedPolygon() {
        const center = this.center;
        const polygon = _devexpress_utils_lib_geometry_polygon__WEBPACK_IMPORTED_MODULE_0__/* .Polygon */ .mg.fromRectangle(this);
        return this.rotationInRadians != 0 ? polygon.rotateAround(center, this.rotationInRadians, false, true) : polygon;
    }
    getOuterBounds(applyMargins) {
        const polygon = this.getRotatedPolygon();
        return applyMargins ? polygon.bounds.applyOffsetsOutside(this.anchorInfo.getDistanceMargins()) : polygon.bounds;
    }
}


/***/ }),

/***/ 3966:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: function() { return /* binding */ LayoutAnchoredPictureBox; }
/* harmony export */ });
/* harmony import */ var _layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9768);
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8274);


class LayoutAnchoredPictureBox extends _layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__/* .LayoutAnchoredObjectBox */ .Q {
    constructor(characterProperties, colorInfo, belongsToSubDocId, anchorInfo, shape, objectId, rotationInRadians, cacheInfo, descrtiption) {
        super(characterProperties, colorInfo, belongsToSubDocId, anchorInfo, shape, objectId, rotationInRadians);
        this.cacheInfo = cacheInfo;
        this.descrtiption = descrtiption;
        this.isLoaded = this.cacheInfo.isLoaded;
    }
    getType() {
        return _layout_box__WEBPACK_IMPORTED_MODULE_1__/* .LayoutBoxType */ .KH.AnchorPicture;
    }
    equals(obj) {
        return super.equals(obj) && this.cacheInfo.equals(obj.cacheInfo) && this.isLoaded == obj.isLoaded;
    }
    clone() {
        const newObject = new LayoutAnchoredPictureBox(this.characterProperties, this.colorInfo, this.belongsToSubDocId, this.anchorInfo, this.shape, this.objectId, this.rotationInRadians, this.cacheInfo, this.descrtiption);
        newObject.copyFrom(this);
        return newObject;
    }
    renderGetContent(renderer) {
        return renderer.renderPictureBoxContent(this.createSize(), this.cacheInfo, this.hyperlinkTip, this.descrtiption);
    }
}


/***/ }),

/***/ 8274:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   KH: function() { return /* binding */ LayoutBoxType; },
/* harmony export */   QJ: function() { return /* binding */ LayoutRenderCharacterProperties; },
/* harmony export */   kZ: function() { return /* binding */ LayoutBox; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8011);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);


var LayoutBoxType;
(function (LayoutBoxType) {
    LayoutBoxType[LayoutBoxType["Text"] = 0] = "Text";
    LayoutBoxType[LayoutBoxType["Space"] = 1] = "Space";
    LayoutBoxType[LayoutBoxType["Dash"] = 2] = "Dash";
    LayoutBoxType[LayoutBoxType["TabSpace"] = 3] = "TabSpace";
    LayoutBoxType[LayoutBoxType["LineBreak"] = 4] = "LineBreak";
    LayoutBoxType[LayoutBoxType["PageBreak"] = 5] = "PageBreak";
    LayoutBoxType[LayoutBoxType["ColumnBreak"] = 6] = "ColumnBreak";
    LayoutBoxType[LayoutBoxType["SectionMark"] = 7] = "SectionMark";
    LayoutBoxType[LayoutBoxType["ParagraphMark"] = 8] = "ParagraphMark";
    LayoutBoxType[LayoutBoxType["Picture"] = 9] = "Picture";
    LayoutBoxType[LayoutBoxType["NumberingList"] = 10] = "NumberingList";
    LayoutBoxType[LayoutBoxType["FieldCodeStart"] = 11] = "FieldCodeStart";
    LayoutBoxType[LayoutBoxType["FieldCodeEnd"] = 12] = "FieldCodeEnd";
    LayoutBoxType[LayoutBoxType["FieldResultEnd"] = 13] = "FieldResultEnd";
    LayoutBoxType[LayoutBoxType["LayoutDependent"] = 14] = "LayoutDependent";
    LayoutBoxType[LayoutBoxType["NonBreakingSpace"] = 15] = "NonBreakingSpace";
    LayoutBoxType[LayoutBoxType["AnchorPicture"] = 16] = "AnchorPicture";
    LayoutBoxType[LayoutBoxType["AnchorTextBox"] = 17] = "AnchorTextBox";
})(LayoutBoxType || (LayoutBoxType = {}));
class LayoutRenderCharacterProperties {
    constructor(initProps, colorInfo) {
        this.initProps = initProps;
        this.colorInfo = colorInfo;
    }
}
class LayoutBox extends _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_0__.Rectangle {
    constructor(characterProperties, colorInfo) {
        super(0, 0, 0, 0);
        this.characterProperties = characterProperties;
        this.colorInfo = colorInfo;
    }
    get isDashBox() { return false; }
    get isSectionBreakBox() { return false; }
    equals(obj) {
        return super.equals(obj) &&
            this.getType() == obj.getType() &&
            this.characterProperties == obj.characterProperties &&
            this.colorInfo.equals(obj.colorInfo) &&
            this.rowOffset == obj.rowOffset &&
            this.hyperlinkTip == obj.hyperlinkTip &&
            this.fieldLevel == this.fieldLevel;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.rowOffset = obj.rowOffset;
        if (obj.hyperlinkTip)
            this.hyperlinkTip = obj.hyperlinkTip;
        if (obj.fieldLevel)
            this.fieldLevel = obj.fieldLevel;
    }
    static initializeWithMeasurer(wrappers, measurer, showHiddenSymbols) {
        var widthHeightInfo = [];
        for (let w of wrappers)
            w.box.pushInfoForMeasure(widthHeightInfo, showHiddenSymbols);
        measurer.measure(widthHeightInfo);
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.reverseForEach(wrappers, (w) => w.box.popInfoForMeasure(widthHeightInfo, showHiddenSymbols));
        if (widthHeightInfo.length != 0)
            throw new Error("In initializeWithMeasurer widthHeightInfo.length != 0" + widthHeightInfo.length);
    }
    getEndPosition() {
        return this.rowOffset + this.getLength();
    }
    getTop(row) {
        return row.baseLine - this.getAscent() - row.getSpacingBefore();
    }
    getAscent() {
        return this.characterProperties.fontInfo.getAscent(this.height);
    }
    getDescent() {
        return this.characterProperties.fontInfo.getDescent(this.height);
    }
    isVisibleForRowAlign() {
        return false;
    }
    isVisible() {
        return false;
    }
    getCharOffsetXInPixels(_measurer, charOffset) {
        return charOffset <= 0 ? 0 : this.width;
    }
    getLength() {
        return 1;
    }
    calculateCharOffsetByPointX(_measurer, pointX) {
        return pointX / this.width > 0.6 ? 1 : 0;
    }
    splitByWidth(_measurer, maxWidth, leaveAtLeastOneChar) {
        if (this.width <= maxWidth || leaveAtLeastOneChar)
            return this;
        return null;
    }
    getCharIndex(_char) {
        return -1;
    }
    splitBoxByPosition(_measurer, _offsetAtStartBox) {
        return null;
    }
    renderNoStrikeoutAndNoUnderlineIfBoxInEndRow() {
        return false;
    }
    renderIsWordBox() {
        return false;
    }
    renderGetCharacterProperties() {
        return new LayoutRenderCharacterProperties(this.characterProperties, this.colorInfo);
    }
}


/***/ }),

/***/ 3163:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: function() { return /* binding */ LayoutNumberingListBox; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4830);
/* harmony import */ var _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8845);
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8274);
/* harmony import */ var _layout_space_box__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(515);
/* harmony import */ var _layout_tab_space_box__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(374);
/* harmony import */ var _layout_text_box__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3629);







class LayoutNumberingListBox extends _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBox */ .kZ {
    getFont(fontInfoCache) {
        let fontInfo = fontInfoCache.getItemByName('Arial');
        if (!fontInfo) {
            fontInfo = fontInfoCache.getItemByName('Times New Roman');
            if (!fontInfo) {
                fontInfo = fontInfoCache.getItemByName('Calibri');
            }
        }
        return fontInfo;
    }
    constructor(characterProperties, colorInfo, text, separatorChar, mergedCharacterPropertiesCache, alignment = _model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_1__/* .ListNumberAlignment */ .PX.Left, fontInfoCache) {
        super(characterProperties, colorInfo);
        this.textBox = new _layout_text_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutTextBox */ .P(characterProperties, colorInfo, text);
        this.alignment = alignment;
        if (separatorChar != '\u0000') {
            let separatorCharacterProperties = characterProperties.clone();
            let fontInfo = null;
            if (fontInfoCache)
                fontInfo = this.getFont(fontInfoCache);
            if (!fontInfo) {
                fontInfo = characterProperties.fontInfo.clone();
                fontInfo.measurer = characterProperties.fontInfo.measurer;
                fontInfo.name = "Arial";
                fontInfo.cssString = "Arial";
            }
            separatorCharacterProperties.fontInfo = fontInfo;
            if (mergedCharacterPropertiesCache)
                separatorCharacterProperties = mergedCharacterPropertiesCache.getItem(separatorCharacterProperties);
            switch (separatorChar) {
                case _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.specialCharacters.TabMark:
                    this.separatorBox = new _layout_tab_space_box__WEBPACK_IMPORTED_MODULE_5__/* .LayoutTabSpaceBoxJustForBoxIterator */ .bn(separatorCharacterProperties, colorInfo);
                    break;
                case _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.specialCharacters.Space:
                case _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.specialCharacters.EmSpace:
                case _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.specialCharacters.EnSpace:
                    this.separatorBox = new _layout_space_box__WEBPACK_IMPORTED_MODULE_4__/* .LayoutSpaceBox */ .A(separatorCharacterProperties, colorInfo);
                    break;
                default:
                    break;
            }
        }
    }
    equals(obj) {
        return obj &&
            super.equals(obj) &&
            this.textBox.equals(obj.textBox) &&
            (!this.separatorBox && !obj.separatorBox || this.separatorBox && obj.separatorBox && this.separatorBox.equals(obj.separatorBox));
    }
    clone() {
        const newObj = new LayoutNumberingListBox(this.characterProperties, this.colorInfo, "0", '\u0000');
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.textBox = (obj.textBox.clone());
        this.separatorBox = obj.separatorBox.clone();
    }
    getType() {
        return _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBoxType */ .KH.NumberingList;
    }
    pushInfoForMeasure(info, showHiddenSymbols) {
        this.textBox.pushInfoForMeasure(info, showHiddenSymbols);
        if (this.separatorBox)
            this.separatorBox.pushInfoForMeasure(info, showHiddenSymbols);
    }
    popInfoForMeasure(info, showHiddenSymbols) {
        if (this.separatorBox) {
            this.separatorBox.popInfoForMeasure(info, showHiddenSymbols);
            if (this.separatorBox instanceof _layout_tab_space_box__WEBPACK_IMPORTED_MODULE_5__/* .LayoutTabSpaceBoxJustForBoxIterator */ .bn)
                this.separatorBox = this.separatorBox.getLayoutTabBox(_layout_tab_space_box__WEBPACK_IMPORTED_MODULE_5__/* .TabLeaderType */ .LT.None);
        }
        this.textBox.popInfoForMeasure(info, showHiddenSymbols);
    }
    isWhitespace() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
    renderGetContent(_renderer) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
    ;
    isLineBreak() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
}


/***/ }),

/***/ 9649:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   c: function() { return /* binding */ LayoutParagraphMarkBox; }
/* harmony export */ });
/* harmony import */ var _measurer_measure_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7308);
/* harmony import */ var _model_rich_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8845);
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8274);



class LayoutParagraphMarkBox extends _layout_box__WEBPACK_IMPORTED_MODULE_2__/* .LayoutBox */ .kZ {
    constructor(characterProperties, colorInfo, isLastParagraphInCell) {
        super(characterProperties, colorInfo);
        this.isLastParagraphInCell = isLastParagraphInCell;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.paragraphMarkSymbol == obj.paragraphMarkSymbol &&
            this.isLastParagraphInCell == obj.isLastParagraphInCell;
    }
    clone() {
        const newObj = new LayoutParagraphMarkBox(this.characterProperties, this.colorInfo, this.isLastParagraphInCell);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.paragraphMarkSymbol = obj.paragraphMarkSymbol;
        this.isLastParagraphInCell = obj.isLastParagraphInCell;
    }
    getType() {
        return _layout_box__WEBPACK_IMPORTED_MODULE_2__/* .LayoutBoxType */ .KH.ParagraphMark;
    }
    pushInfoForMeasure(info, _showHiddenSymbols) {
        info.push(new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_0__/* .MeasureInfoNonText */ .DA(this.getSymbolForMesure(), this.characterProperties));
    }
    popInfoForMeasure(info, showHiddenSymbols) {
        this.paragraphMarkSymbol = this.getSymbol(showHiddenSymbols);
        this.setSize(info.pop().resultSize);
    }
    renderGetContent(_renderer) {
        return this.paragraphMarkSymbol;
    }
    renderNoStrikeoutAndNoUnderlineIfBoxInEndRow() {
        return true;
    }
    isWhitespace() {
        return false;
    }
    isLineBreak() {
        return true;
    }
    getSymbolForMesure() {
        if (this.isLastParagraphInCell)
            return _model_rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.specialCharacters.CurrencySign;
        return _model_rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.specialCharacters.HiddenParagraphMark;
    }
    getSymbol(showHiddenSymbols) {
        if (!showHiddenSymbols)
            return "&nbsp;";
        return this.getSymbolForMesure();
    }
}


/***/ }),

/***/ 9052:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   B: function() { return /* binding */ LayoutPictureBox; }
/* harmony export */ });
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8274);

class LayoutPictureBox extends _layout_box__WEBPACK_IMPORTED_MODULE_0__/* .LayoutBox */ .kZ {
    constructor(characterProperties, colorInfo, cacheInfo, size, description) {
        super(characterProperties, colorInfo);
        this.cacheInfo = cacheInfo;
        this.width = size.width;
        this.height = size.height;
        this.description = description;
        this.isLoaded = this.cacheInfo.isLoaded;
    }
    equals(obj) {
        return super.equals(obj) && this.cacheInfo.equals(obj.cacheInfo) && this.isLoaded == obj.isLoaded && this.description === obj.description;
    }
    clone() {
        const newObj = new LayoutPictureBox(this.characterProperties, this.colorInfo, this.cacheInfo, this.createSize(), this.description);
        newObj.copyFrom(this);
        return newObj;
    }
    getType() {
        return _layout_box__WEBPACK_IMPORTED_MODULE_0__/* .LayoutBoxType */ .KH.Picture;
    }
    pushInfoForMeasure(_info, _showHiddenSymbols) { }
    popInfoForMeasure(_info, _showHiddenSymbols) { }
    getAscent() {
        return this.height;
    }
    getDescent() {
        return 0;
    }
    isVisible() {
        return true;
    }
    isVisibleForRowAlign() {
        return true;
    }
    renderGetContent(renderer) {
        return renderer.renderPictureBoxContent(this.createSize(), this.cacheInfo, this.hyperlinkTip, this.description);
    }
    isWhitespace() {
        return false;
    }
    isLineBreak() {
        return false;
    }
}


/***/ }),

/***/ 515:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: function() { return /* binding */ LayoutSpaceBox; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49);
/* harmony import */ var _measurer_measure_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7308);
/* harmony import */ var _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8845);
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8274);




class LayoutSpaceBox extends _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBox */ .kZ {
    equals(obj) {
        return super.equals(obj) &&
            this.spaceWidth == obj.spaceWidth &&
            this.hiddenSpaceWidth == obj.hiddenSpaceWidth;
    }
    clone() {
        const newObj = new LayoutSpaceBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.spaceWidth = obj.spaceWidth;
        this.hiddenSpaceWidth = obj.hiddenSpaceWidth;
    }
    getType() {
        return _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBoxType */ .KH.Space;
    }
    pushInfoForMeasure(info, showHiddenSymbols) {
        info.push(new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_1__/* .MeasureInfoNonText */ .DA(_model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.specialCharacters.Space, this.characterProperties));
        if (showHiddenSymbols)
            info.push(new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_1__/* .MeasureInfoNonText */ .DA(_model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.specialCharacters.HiddenSpace, this.characterProperties));
    }
    popInfoForMeasure(info, showHiddenSymbols) {
        this.hiddenSpaceWidth = showHiddenSymbols ? info.pop().resultSize.width : 0;
        const elem = info.pop();
        this.setSize(elem.resultSize);
        this.spaceWidth = elem.resultSize.width;
    }
    isVisible() {
        return true;
    }
    renderGetContent(_renderer) {
        const numNbsps = Math.ceil((this.width - this.hiddenSpaceWidth) / Math.max(1, this.spaceWidth));
        return (this.hiddenSpaceWidth > 0 ? _model_rich_utils__WEBPACK_IMPORTED_MODULE_2__/* .RichUtils */ .i.specialCharacters.HiddenSpace : "") +
            _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__.StringUtils.repeat("&nbsp;", numNbsps);
    }
    renderNoStrikeoutAndNoUnderlineIfBoxInEndRow() {
        return true;
    }
    isWhitespace() {
        return true;
    }
    isLineBreak() {
        return false;
    }
}


/***/ }),

/***/ 374:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   LT: function() { return /* binding */ TabLeaderType; },
/* harmony export */   bn: function() { return /* binding */ LayoutTabSpaceBoxJustForBoxIterator; }
/* harmony export */ });
/* unused harmony export LayoutTabSpaceBox */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1167);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49);
/* harmony import */ var _measurer_measure_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7308);
/* harmony import */ var _model_character_layout_character_properties_color_info__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6864);
/* harmony import */ var _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8845);
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8274);








var TabLeaderType;
(function (TabLeaderType) {
    TabLeaderType[TabLeaderType["None"] = 0] = "None";
    TabLeaderType[TabLeaderType["Dots"] = 1] = "Dots";
    TabLeaderType[TabLeaderType["MiddleDots"] = 2] = "MiddleDots";
    TabLeaderType[TabLeaderType["Hyphens"] = 3] = "Hyphens";
    TabLeaderType[TabLeaderType["Underline"] = 4] = "Underline";
    TabLeaderType[TabLeaderType["ThickLine"] = 5] = "ThickLine";
    TabLeaderType[TabLeaderType["EqualSign"] = 6] = "EqualSign";
})(TabLeaderType || (TabLeaderType = {}));
class LayoutTabSpaceBox extends _layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBox */ .kZ {
    equals(obj) {
        return super.equals(obj) &&
            this.spaceWidth == obj.spaceWidth &&
            this.hiddenTabWidth == obj.hiddenTabWidth &&
            this.tabLeaderSymbol == obj.tabLeaderSymbol;
    }
    clone() {
        const newObj = new LayoutTabSpaceBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.spaceWidth = obj.spaceWidth;
        this.hiddenTabWidth = obj.hiddenTabWidth;
        this.tabLeaderSymbol = obj.tabLeaderSymbol;
    }
    setTabParams(tabLeaderSymbol, spaceWidth, hiddenTabWidth) {
        this.tabLeaderSymbol = tabLeaderSymbol;
        this.spaceWidth = spaceWidth;
        this.hiddenTabWidth = hiddenTabWidth;
    }
    getType() {
        return _layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.TabSpace;
    }
    pushInfoForMeasure(_info, _showHiddenSymbols) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
    popInfoForMeasure(_info, _showHiddenSymbols) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
    isVisible() {
        return true;
    }
    renderGetContent(_renderer) {
        if (this.hiddenTabWidth == 0) {
            var numNbsps = Math.ceil(this.width / Math.max(1, this.spaceWidth));
            return _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_3__.StringUtils.repeat(this.tabLeaderSymbol, numNbsps);
        }
        var nbspsSpace = this.width - this.hiddenTabWidth;
        var nbspsSpaceLeftPart = nbspsSpace < 0 ? 0 : nbspsSpace / 2;
        var numNbspsLeftPart = Math.floor(nbspsSpaceLeftPart / Math.max(1, this.spaceWidth));
        var nbspsSpaceRightPart = this.width - (numNbspsLeftPart * this.spaceWidth + this.hiddenTabWidth);
        var numNbspsRightPart = nbspsSpaceRightPart < 0 ? 0 : Math.ceil(nbspsSpaceRightPart / Math.max(1, this.spaceWidth));
        return _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_3__.StringUtils.repeat(this.tabLeaderSymbol, numNbspsLeftPart) + _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.HiddenTabSpace +
            _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_3__.StringUtils.repeat(this.tabLeaderSymbol, numNbspsRightPart);
    }
    renderGetCharacterProperties() {
        if (this.characterProperties.fontBold || this.characterProperties.fontItalic || this.colorInfo.textColor) {
            const renderCharProps = this.characterProperties.clone();
            renderCharProps.linkMeasurerSizes(this.characterProperties);
            renderCharProps.fontBold = false;
            renderCharProps.fontItalic = false;
            const colorInfo = new _model_character_layout_character_properties_color_info__WEBPACK_IMPORTED_MODULE_7__/* .LayoutCharacterPropertiesColorInfo */ .w(this.colorInfo.textColor ? 0 : this.colorInfo.textColor, this.colorInfo.foregroundColor, this.colorInfo.textColor && !this.colorInfo.strikeoutColor ? this.colorInfo.textColor : this.colorInfo.strikeoutColor, this.colorInfo.textColor && !this.colorInfo.underlineColor ? this.colorInfo.textColor : this.colorInfo.underlineColor);
            return new _layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutRenderCharacterProperties */ .QJ(renderCharProps, colorInfo);
        }
        else
            return new _layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutRenderCharacterProperties */ .QJ(this.characterProperties, this.colorInfo);
    }
    isWhitespace() {
        return true;
    }
    isLineBreak() {
        return false;
    }
}
class LayoutTabSpaceBoxJustForBoxIterator extends LayoutTabSpaceBox {
    static getTabLeaderMap() {
        const tabLeaderMap = {
            [TabLeaderType.None]: "&nbsp;",
            [TabLeaderType.Dots]: _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.Dot,
            [TabLeaderType.EqualSign]: _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.EqualSign,
            [TabLeaderType.Hyphens]: _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.Hyphen,
            [TabLeaderType.MiddleDots]: _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.MiddleDot,
            [TabLeaderType.ThickLine]: _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.Underscore,
            [TabLeaderType.Underline]: _model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.Underscore,
        };
        LayoutTabSpaceBoxJustForBoxIterator.tabLeaderSymbolList = [];
        LayoutTabSpaceBoxJustForBoxIterator.tabLeaderTypeList = [];
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.forEach(tabLeaderMap, (symbol, type) => {
            LayoutTabSpaceBoxJustForBoxIterator.tabLeaderSymbolList.push(symbol);
            LayoutTabSpaceBoxJustForBoxIterator.tabLeaderTypeList.push(type);
        });
        return tabLeaderMap;
    }
    getLayoutTabBox(tabLeaderType) {
        const leaderMeasureInfo = this.leadersMeasureInfo[tabLeaderType];
        const newTabBox = this.clone();
        newTabBox.setTabParams(LayoutTabSpaceBoxJustForBoxIterator.tabLeaderMap[tabLeaderType], leaderMeasureInfo.resultSize.width, this.showHiddenSymbols ? this.hiddenTabMeasureInfo.resultSize.width : 0);
        newTabBox.height = leaderMeasureInfo.resultSize.height;
        return newTabBox;
    }
    pushInfoForMeasure(info, _showHiddenSymbols) {
        const props = this.renderGetCharacterProperties();
        const charProps = props.initProps;
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.forEach(LayoutTabSpaceBoxJustForBoxIterator.tabLeaderSymbolList, (symbol) => info.push(new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_4__/* .MeasureInfoNonText */ .DA(symbol, charProps)));
        info.push(new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_4__/* .MeasureInfoNonText */ .DA(_model_rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters.HiddenTabSpace, charProps));
    }
    popInfoForMeasure(info, showHiddenSymbols) {
        this.leadersMeasureInfo = {};
        this.hiddenTabMeasureInfo = info.pop();
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.reverseForEach(LayoutTabSpaceBoxJustForBoxIterator.tabLeaderTypeList, (type) => this.leadersMeasureInfo[type] = info.pop());
        this.showHiddenSymbols = showHiddenSymbols;
    }
}
LayoutTabSpaceBoxJustForBoxIterator.tabLeaderMap = LayoutTabSpaceBoxJustForBoxIterator.getTabLeaderMap();


/***/ }),

/***/ 3629:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   P: function() { return /* binding */ LayoutTextBox; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_encode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9712);
/* harmony import */ var _layout_formatter_box_box_wrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5152);
/* harmony import */ var _measurer_measure_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7308);
/* harmony import */ var _layout_box__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8274);




class LayoutTextBox extends _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBox */ .kZ {
    constructor(characterProperties, colorInfo, text) {
        super(characterProperties, colorInfo);
        this.text = text;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.text == obj.text;
    }
    clone() {
        const newObj = new LayoutTextBox(this.characterProperties, this.colorInfo, this.text);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.text = obj.text;
    }
    getType() {
        return _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBoxType */ .KH.Text;
    }
    pushInfoForMeasure(info, _showHiddenSymbols) {
        info.push(new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_2__/* .MeasureInfoText */ .O_(this.text, this.characterProperties));
    }
    popInfoForMeasure(info, _showHiddenSymbols) {
        this.setSize(info.pop().resultSize);
    }
    isVisible() {
        return true;
    }
    isVisibleForRowAlign() {
        return true;
    }
    getLength() {
        return this.text.length;
    }
    getCharOffsetXInPixels(measurer, charOffset) {
        if (charOffset == 0)
            return 0;
        else if (charOffset === this.getLength())
            return this.width;
        else {
            const info = new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_2__/* .MeasureInfoText */ .O_(this.text.substr(0, charOffset), this.characterProperties);
            measurer.measure([info]);
            return info.resultSize.width;
        }
    }
    calculateCharOffsetByPointX(measurer, pointX) {
        const boxRanges = this.getBoxRanges(measurer);
        const boxRangesLength = boxRanges.length;
        for (var i = 0; i < boxRangesLength; i++) {
            if (boxRanges[i].resultSize.width > pointX) {
                const letterWidth = i > 0 ?
                    boxRanges[i].resultSize.width - boxRanges[i - 1].resultSize.width :
                    boxRanges[0].resultSize.width;
                const clickPointOffset = pointX - (i > 0 ? boxRanges[i - 1].resultSize.width : 0);
                if (clickPointOffset / letterWidth > 0.6)
                    i++;
                break;
            }
        }
        return i;
    }
    splitByWidth(measurer, maxWidth, leaveAtLeastOneChar) {
        if (this.getLength() == 1)
            return super.splitByWidth(measurer, maxWidth, leaveAtLeastOneChar);
        const boxRanges = this.getBoxRanges(measurer);
        for (let i = boxRanges.length - 1, info; info = boxRanges[i]; i--)
            if (info.resultSize.width <= maxWidth || i == 0 && leaveAtLeastOneChar) {
                const newBox = this.clone();
                newBox.text = newBox.text.substr(0, info.text.length);
                _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBox */ .kZ.initializeWithMeasurer([new _layout_formatter_box_box_wrap__WEBPACK_IMPORTED_MODULE_1__/* .BoxWrap */ .Od(newBox, null)], measurer, false);
                return newBox;
            }
        return null;
    }
    splitBoxByPosition(measurer, offsetAtStartBox) {
        const nextBox = this.clone();
        nextBox.text = nextBox.text.substr(offsetAtStartBox);
        this.text = this.text.substr(0, offsetAtStartBox);
        nextBox.rowOffset = this.getEndPosition();
        _layout_box__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBox */ .kZ.initializeWithMeasurer([new _layout_formatter_box_box_wrap__WEBPACK_IMPORTED_MODULE_1__/* .BoxWrap */ .Od(this, null), new _layout_formatter_box_box_wrap__WEBPACK_IMPORTED_MODULE_1__/* .BoxWrap */ .Od(nextBox, null)], measurer, false);
        return nextBox;
    }
    getCharIndex(char) {
        return this.text.indexOf(char);
    }
    renderGetContent(_renderer) {
        return _devexpress_utils_lib_utils_encode__WEBPACK_IMPORTED_MODULE_0__.EncodeUtils.encodeHtml(this.text);
    }
    renderIsWordBox() {
        return true;
    }
    isWhitespace() {
        return false;
    }
    isLineBreak() {
        return false;
    }
    getBoxRanges(measurer) {
        const measureInfos = [];
        const textLength = this.text.length;
        for (let i = 1; i <= textLength; i++)
            measureInfos.push(new _measurer_measure_info__WEBPACK_IMPORTED_MODULE_2__/* .MeasureInfoText */ .O_(this.text.substr(0, i), this.characterProperties));
        measurer.measure(measureInfos);
        return measureInfos;
    }
}


/***/ }),

/***/ 2512:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: function() { return /* binding */ ParagraphFrame; },
/* harmony export */   r: function() { return /* binding */ LayoutColumn; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8011);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);


class LayoutColumn extends _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_0__.Rectangle {
    constructor() {
        super(0, 0, 0, 0);
        this.rows = [];
        this.paragraphFrames = [];
        this.tablesInfo = [];
    }
    getEndPosition() {
        return this.pageAreaOffset + _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(this.rows).getEndPosition();
    }
    getLastRow() {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(this.rows);
    }
    static findSectionColumnWithMinimumWidth(columnBounds) {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.min(columnBounds, a => a.width).width;
    }
    deepCopy() {
        const obj = new LayoutColumn();
        obj.pageAreaOffset = this.pageAreaOffset;
        obj.paragraphFrames = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.shallowCopy(this.paragraphFrames);
        obj.tablesInfo = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.shallowCopy(this.tablesInfo);
        obj.rows = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.shallowCopy(this.rows);
        obj.copyFrom(this);
        return obj;
    }
}
class ParagraphFrame extends _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_0__.Rectangle {
    constructor() {
        super(0, 0, 0, 0);
        this.paragraphColor = 0;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.paragraphColor == obj.paragraphColor;
    }
    clone() {
        const res = new ParagraphFrame();
        res.copyFrom(this);
        res.paragraphColor = this.paragraphColor;
        return res;
    }
}


/***/ }),

/***/ 484:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  jj: function() { return /* binding */ LayoutPage; },
  m3: function() { return /* binding */ LayoutPageFlags; }
});

// UNUSED EXPORTS: LayoutOtherPageAreasInfo

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var flag = __webpack_require__(7820);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/rectangle.js
var rectangle = __webpack_require__(8011);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/comparers.js
var comparers = __webpack_require__(4170);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-box.ts
var layout_box = __webpack_require__(8274);
// EXTERNAL MODULE: ./src/common/model/manipulators/floating-objects/comparers.ts
var floating_objects_comparers = __webpack_require__(749);
;// CONCATENATED MODULE: ./src/common/layout-formatter/floating/page-anchored-object-holder.ts



class PageAnchoredObjectHolder {
    constructor(_page) {
        this._page = _page;
        this.objects = {};
    }
    getObjectByModelPosition(layout, position, belongsToSubDocId) {
        return number/* NumberMapUtils */.j.elementBy(this.objects, (obj, id) => layout.anchorObjectsPositionInfo.getPosition(id) == position && obj.belongsToSubDocId === belongsToSubDocId);
    }
    removeOrphanedObjects(activeFormatter) {
        if (!activeFormatter.subDocument.isMain())
            return;
        const belongsToSubDocId = activeFormatter.subDocument.id;
        const layout = activeFormatter.rowFormatter.manager.layout;
        const position = activeFormatter.rowFormatter.getPosition();
        const keysToDelete = [];
        number/* NumberMapUtils */.j.forEach(this.objects, (obj, id) => {
            if (layout.anchorObjectsPositionInfo.getPosition(id) >= position &&
                obj.belongsToSubDocId === belongsToSubDocId) {
                keysToDelete.push(id);
                if (obj.getType() === layout_box/* LayoutBoxType */.KH.AnchorTextBox)
                    this._page.removeOtherPageArea(obj.internalSubDocId);
                activeFormatter.layoutRowBoundsCalculator.removeAnchorObjectId(id);
            }
        });
        for (let id of keysToDelete)
            delete this.objects[id];
    }
    getObjectsForRenderer(anchorObjectsPositionInfo, objects = this.objects) {
        return number/* NumberMapUtils */.j.toList(objects).sort((0,floating_objects_comparers/* getLayoutAnchoredObjectBoxComparer */.eC)(anchorObjectsPositionInfo));
    }
    getObjById(id) {
        return this.objects[id];
    }
    getUnapprovedObj() {
        return number/* NumberMapUtils */.j.elementBy(this.objects, obj => !obj.isApproved);
    }
    getTextBoxByInternalSubDocId(id) {
        return number/* NumberMapUtils */.j.elementBy(this.objects, (obj) => obj.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox &&
            obj.internalSubDocId == id);
    }
    isObjectExist(obj) {
        return !!this.objects[obj.objectId];
    }
    addObject(manager, obj) {
        var _a;
        this.objects[obj.objectId] = obj;
        const tableFormatter = (_a = manager.activeFormatter.tableFormatter) === null || _a === void 0 ? void 0 : _a.actualFormatter;
        if (tableFormatter)
            obj.parentCell = tableFormatter.tableInfo.currCellInfo.cell;
        manager.anchoredObjectsManager.anchorObjectHorizontalPositionCalculator.calculate(obj);
        manager.anchoredObjectsManager.anchorObjectVerticalPositionCalculator.calculate(obj);
        this.correctPositionDueToOtherBoxes(obj);
    }
    removeObject(obj) {
        delete this.objects[obj.objectId];
    }
    correctPositionDueToOtherBoxes(_obj) {
    }
    shallowCopy(page) {
        const obj = new PageAnchoredObjectHolder(page);
        obj.objects = number/* NumberMapUtils */.j.shallowCopy(this.objects);
        return obj;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/polygon.js
var polygon = __webpack_require__(9210);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-anchored-object-box.ts
var layout_anchored_object_box = __webpack_require__(9768);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
;// CONCATENATED MODULE: ./src/common/layout-formatter/floating/render-level-calculator.ts






var SubGroupType;
(function (SubGroupType) {
    SubGroupType[SubGroupType["HeaderFooterSubDoc_Behind"] = 0] = "HeaderFooterSubDoc_Behind";
    SubGroupType[SubGroupType["HeaderFooterSubDoc_InText"] = 1] = "HeaderFooterSubDoc_InText";
    SubGroupType[SubGroupType["HeaderFooterSubDoc_InFront"] = 2] = "HeaderFooterSubDoc_InFront";
    SubGroupType[SubGroupType["MainSubDoc_Behind"] = 3] = "MainSubDoc_Behind";
    SubGroupType[SubGroupType["MainSubDoc_InText"] = 4] = "MainSubDoc_InText";
    SubGroupType[SubGroupType["MainSubDoc_InFront"] = 5] = "MainSubDoc_InFront";
})(SubGroupType || (SubGroupType = {}));
class RenderLevelCalculator {
    constructor() {
        this.maxRenderLevels = Math.max(RenderLevelCalculator.subGroupTypes.length, 9);
        this.realGroupLevelsBounds = [];
        this.renderGroupLevelsBounds = [];
    }
    get mainPageAreaLevel() { return this.realGroupLevelsBounds[SubGroupType.MainSubDoc_InText]; }
    ;
    get headerFooterPageAreasLevel() { return this.realGroupLevelsBounds[SubGroupType.HeaderFooterSubDoc_InText]; }
    ;
    get renderMainPageAreaLevel() { return this.renderGroupLevelsBounds[SubGroupType.MainSubDoc_InText]; }
    ;
    get renderHeaderFooterPageAreasLevel() { return this.renderGroupLevelsBounds[SubGroupType.HeaderFooterSubDoc_InText]; }
    ;
    getRenderLevel(realLevel) {
        const groupLevelInd = list.ListUtils.indexBy(this.realGroupLevelsBounds, b => realLevel < b, 1) - 1;
        const maxOffset = this.renderGroupLevelsBounds[groupLevelInd + 1] - this.renderGroupLevelsBounds[groupLevelInd] - 1;
        const offsetInGroup = Math.min(realLevel - this.realGroupLevelsBounds[groupLevelInd], maxOffset);
        return this.renderGroupLevelsBounds[groupLevelInd] + offsetInGroup;
    }
    calcLevels(pageAnchoredObjectHolder, anchorObjectsPositionInfo, compatibilityMode) {
        if (number/* NumberMapUtils */.j.isEmpty(pageAnchoredObjectHolder.objects)) {
            this.realGroupLevelsBounds = [0, 1, 2, 3, 4, 5, 6];
            this.renderGroupLevelsBounds = [0, 1, 2, 3, 4, 5, 6];
            return;
        }
        const objects = this.getObjects(pageAnchoredObjectHolder, anchorObjectsPositionInfo);
        const groups = this.getGroups(objects, compatibilityMode);
        for (let group of groups) {
            for (let subGroupType of RenderLevelCalculator.subGroupTypes) {
                const subGroup = group.subGroups[subGroupType];
                if (subGroup && subGroup.objects) {
                    const groupStartLevel = this.realGroupLevelsBounds[subGroupType];
                    list.ListUtils.forEach(number/* NumberMapUtils */.j.toList(subGroup.objects).sort((a, b) => a.index - b.index), (obj, objInd) => {
                        obj.obj.rendererLevel = groupStartLevel + objInd;
                    });
                }
            }
        }
    }
    equals(other) {
        return list.ListUtils.equalsByReference(this.realGroupLevelsBounds, other.realGroupLevelsBounds) &&
            list.ListUtils.equalsByReference(this.renderGroupLevelsBounds, other.renderGroupLevelsBounds);
    }
    getObjects(pageAnchoredObjectHolder, anchorObjectsPositionInfo) {
        const objsForRenderer = number/* NumberMapUtils */.j.toList(pageAnchoredObjectHolder.objects)
            .sort((0,floating_objects_comparers/* getLayoutAnchoredObjectBoxInitialComparer */.uT)(anchorObjectsPositionInfo));
        const objects = list.ListUtils.map(objsForRenderer, (obj, ind) => new UnfoldedObjectInfo(obj, ind));
        list.ListUtils.forEach(objects, (obj, ind) => {
            list.ListUtils.forEach(objects, (subObj) => {
                if (subObj.intersections[obj.index])
                    obj.intersections[subObj.index] = subObj;
            }, 0, ind);
            list.ListUtils.forEach(objects, (subObj) => {
                if (polygon/* Polygon */.mg.collision(obj.obj.getRotatedPolygon(), subObj.obj.getRotatedPolygon()) != polygon/* CollisionResult */.VW.None)
                    obj.intersections[subObj.index] = subObj;
            }, ind);
        });
        return objects;
    }
    getGroups(objects, compatibilityMode) {
        const groups = [];
        for (let obj of objects) {
            if (!obj.group) {
                obj.group = new Group();
                obj.group.objects[obj.index] = obj;
                groups.push(obj.group);
            }
            number/* NumberMapUtils */.j.forEach(obj.intersections, (intersObj) => {
                obj.group.objects[intersObj.index] = intersObj;
                intersObj.group = obj.group;
            });
        }
        for (let group of groups)
            group.fillSubGroups(compatibilityMode);
        this.fillGroupsBounds(objects, groups);
        return groups;
    }
    fillGroupsBounds(objects, groups) {
        const numObjOnSubGroup = RenderLevelCalculator.subGroupTypes.map(subGroupType => list.ListUtils.maxExtended(groups, (group) => {
            const subGroup = group.subGroups[subGroupType];
            return subGroup ? subGroup.numObjects : 0;
        }).maxValue);
        const haveHeaderFooter = list.ListUtils.unsafeAnyOf(objects, obj => obj.obj.belongsToSubDocId != sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID);
        if (haveHeaderFooter)
            numObjOnSubGroup[SubGroupType.HeaderFooterSubDoc_InText]++;
        numObjOnSubGroup[SubGroupType.MainSubDoc_InText]++;
        this.realGroupLevelsBounds = this.translateToBounds(numObjOnSubGroup);
        this.renderGroupLevelsBounds = this.translateToBounds(this.reduceLevels(numObjOnSubGroup));
    }
    translateToBounds(list) {
        const result = [];
        let currLevel = 0;
        for (let numObjs of list) {
            result.push(currLevel);
            currLevel += numObjs;
        }
        result.push(currLevel);
        return result;
    }
    reduceLevels(numObjOnSubGroup) {
        const lvls = list.ListUtils.shallowCopy(numObjOnSubGroup);
        let sumObjs = list.ListUtils.accumulateNumber(lvls, v => v);
        const order = RenderLevelCalculator.reduceRenderOrder;
        for (let indInReducer = 0; sumObjs > this.maxRenderLevels; indInReducer++) {
            if (indInReducer >= order.length)
                indInReducer = 0;
            if (lvls[order[indInReducer]] > 1) {
                lvls[order[indInReducer]]--;
                sumObjs--;
            }
        }
        return lvls;
    }
}
RenderLevelCalculator.subGroupTypes = [
    SubGroupType.HeaderFooterSubDoc_Behind,
    SubGroupType.HeaderFooterSubDoc_InText,
    SubGroupType.HeaderFooterSubDoc_InFront,
    SubGroupType.MainSubDoc_Behind,
    SubGroupType.MainSubDoc_InText,
    SubGroupType.MainSubDoc_InFront
];
RenderLevelCalculator.reduceRenderOrder = [
    SubGroupType.HeaderFooterSubDoc_Behind,
    SubGroupType.HeaderFooterSubDoc_InFront,
    SubGroupType.HeaderFooterSubDoc_InText,
    SubGroupType.MainSubDoc_Behind,
    SubGroupType.MainSubDoc_InText,
    SubGroupType.MainSubDoc_InFront
];
class SubGroup {
    constructor() {
        this.objects = {};
        this.numObjects = 0;
    }
    addObject(obj) {
        this.objects[obj.index] = obj;
        this.numObjects++;
    }
}
class Group {
    constructor() {
        this.objects = {};
        this.subGroups = {};
    }
    fillSubGroups(compatibilityMode) {
        number/* NumberMapUtils */.j.forEach(this.objects, (obj) => {
            const subGroupType = this.getObjSubGroupType(obj, compatibilityMode);
            let subGroup = this.subGroups[subGroupType];
            if (!subGroup)
                subGroup = this.subGroups[subGroupType] = new SubGroup();
            subGroup.addObject(obj);
        });
    }
    getObjSubGroupType(obj, compatibilityMode) {
        const offset = obj.obj.belongsToSubDocId == sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID ? 3 : 0;
        switch (obj.obj.anchorInfo.getLevelTypeForRendering(true, compatibilityMode)) {
            case layout_anchored_object_box/* AnchoredObjectLevelType */.a.BehindText: return SubGroupType.HeaderFooterSubDoc_Behind + offset;
            case layout_anchored_object_box/* AnchoredObjectLevelType */.a.InText: return SubGroupType.HeaderFooterSubDoc_InText + offset;
            case layout_anchored_object_box/* AnchoredObjectLevelType */.a.BeforeText: return SubGroupType.HeaderFooterSubDoc_InFront + offset;
        }
    }
}
class UnfoldedObjectInfo {
    constructor(obj, index) {
        this.intersections = {};
        this.obj = obj;
        this.index = index;
    }
}

// EXTERNAL MODULE: ./src/common/layout/table/layout-table-cell-info.ts
var layout_table_cell_info = __webpack_require__(6031);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/utils/table-anchored-objects-holder.ts
class TableAnchoredObjectsHolder {
    constructor() {
        this.holder = new Map();
    }
    addTableCellAnchoredObject(tblPos, anchObjId) {
        for (const pos of this.holder.keys()) {
            if (pos.equals(tblPos)) {
                const anchObjIds = this.holder.get(pos);
                if (anchObjIds.indexOf(anchObjId) < 0)
                    anchObjIds.push(anchObjId);
                return;
            }
        }
        this.holder.set(tblPos.clone(), [anchObjId]);
    }
    getTableCellAnchoredObjects(tblPos, formatter) {
        for (const pos of this.holder.keys()) {
            if (pos.equals(tblPos))
                return this.holder.get(pos).map(id => formatter.layoutPosition.page.anchoredObjectHolder.getObjById(id));
        }
        return [];
    }
    shallowCopy() {
        const obj = new TableAnchoredObjectsHolder();
        this.holder.forEach((v, k) => obj.holder.set(k.clone(), [...v]));
        return obj;
    }
}

;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-page.ts












var LayoutPageFlags;
(function (LayoutPageFlags) {
    LayoutPageFlags[LayoutPageFlags["MustBeRendered"] = 1] = "MustBeRendered";
    LayoutPageFlags[LayoutPageFlags["ContentRendered"] = 2] = "ContentRendered";
    LayoutPageFlags[LayoutPageFlags["NeedRenderContent"] = 4] = "NeedRenderContent";
    LayoutPageFlags[LayoutPageFlags["NeedDeleteContent"] = 8] = "NeedDeleteContent";
    LayoutPageFlags[LayoutPageFlags["IsFirstPageOfSection"] = 16] = "IsFirstPageOfSection";
    LayoutPageFlags[LayoutPageFlags["IsIntervalsCorrect"] = 32] = "IsIntervalsCorrect";
    LayoutPageFlags[LayoutPageFlags["IsSelectionRendered"] = 64] = "IsSelectionRendered";
    LayoutPageFlags[LayoutPageFlags["IsSearchSelectionRendered"] = 128] = "IsSearchSelectionRendered";
    LayoutPageFlags[LayoutPageFlags["IsMisspelledSelectionRendered"] = 256] = "IsMisspelledSelectionRendered";
    LayoutPageFlags[LayoutPageFlags["IsRangePermissionsRendered"] = 512] = "IsRangePermissionsRendered";
})(LayoutPageFlags || (LayoutPageFlags = {}));
class LayoutOtherPageAreasInfo {
    constructor(headerPageArea, footerPageArea, textBoxesPageAreas) {
        this.headerPageArea = headerPageArea;
        this.footerPageArea = footerPageArea;
        this.textBoxesPageAreas = textBoxesPageAreas;
    }
    getDocumentModel() {
        if (!this.documentModel) {
            const pageArea = (this.headerPageArea || this.footerPageArea || this.textBoxesPageAreas[0]);
            this.documentModel = pageArea ? pageArea.subDocument.documentModel : null;
        }
        return this.documentModel;
    }
}
class LayoutPage extends rectangle.Rectangle {
    get grids() {
        const result = new Map();
        for (let pageArea of this.mainSubDocumentPageAreas)
            pageArea.grids.forEach((grid, table) => result.set(table, grid));
        for (let pageArea of Object.values(this.otherPageAreas))
            pageArea.grids.forEach((grid, table) => result.set(table, grid));
        return result;
    }
    constructor() {
        super(0, 0, 0, 0);
        this.mainSubDocumentPageAreas = [];
        this.otherPageAreas = {};
        this.flags = new flag.Flag();
        this.anchoredObjectHolder = new PageAnchoredObjectHolder(this);
        this.tableAnchoredObjectsHolder = new TableAnchoredObjectsHolder();
    }
    setRenderLevelCalculator(anchorObjectsPositionInfo, compatibilityMode) {
        this.renderLevelCalculator = new RenderLevelCalculator();
        this.renderLevelCalculator.calcLevels(this.anchoredObjectHolder, anchorObjectsPositionInfo, compatibilityMode);
    }
    setAbsolutePosition(pos) {
        this.contentIntervals = [new fixed.FixedInterval(pos, 0)];
        this.flags.set(LayoutPageFlags.IsIntervalsCorrect, false);
    }
    startWithFloatingObject(ancPosInfo) {
        const min = number/* NumberMapUtils */.j.min(this.anchoredObjectHolder.objects, obj => ancPosInfo.getPosition(obj.objectId));
        return min && ancPosInfo.getPosition(min.objectId) < this.getPosition() ? min : null;
    }
    getStartPositionConsideringAncObj(ancPosInfo) {
        const ancObjWhatStartPage = this.startWithFloatingObject(ancPosInfo);
        return Math.min(this.getPosition(), ancObjWhatStartPage ? ancPosInfo.getPosition(ancObjWhatStartPage.objectId) : Number.MAX_VALUE);
    }
    invalidate() {
        this.isValid = false;
        this.markPageIntervalsAsIncorrect();
    }
    getPosition() {
        return this.contentIntervals[0].start;
    }
    deepCopy() {
        const obj = new LayoutPage();
        obj.isValid = this.isValid;
        obj.mainSubDocumentPageAreas = list.ListUtils.map(this.mainSubDocumentPageAreas, (pa) => pa.deepCopy());
        obj.otherPageAreas = number/* NumberMapUtils */.j.shallowCopy(this.otherPageAreas);
        obj.flags = this.flags.clone();
        obj.index = this.index;
        obj.layoutPageIndex = this.layoutPageIndex;
        obj.pageOrdinal = this.pageOrdinal;
        obj.anchoredObjectHolder = this.anchoredObjectHolder.shallowCopy(obj);
        obj.tableAnchoredObjectsHolder = this.tableAnchoredObjectsHolder.shallowCopy();
        obj.contentIntervals = list.ListUtils.shallowCopy(this.contentIntervals);
        obj.startPageSectionIndex = this.startPageSectionIndex;
        obj.copyFrom(this);
        return obj;
    }
    markPageIntervalsAsIncorrect() {
        this.flags.set(LayoutPageFlags.IsIntervalsCorrect, false);
    }
    getLayoutOtherPageAreasInfo() {
        let headerPageArea;
        let footerPageArea;
        const textBoxPageAreas = [];
        number/* NumberMapUtils */.j.forEach(this.otherPageAreas, (pageArea) => {
            if (pageArea.subDocument.isHeader())
                headerPageArea = pageArea;
            else if (pageArea.subDocument.isFooter())
                footerPageArea = pageArea;
            else if (pageArea.subDocument.isTextBox())
                textBoxPageAreas.push(pageArea);
        });
        return new LayoutOtherPageAreasInfo(headerPageArea, footerPageArea, textBoxPageAreas);
    }
    calculateContentIntervals(anchorObjectsPositionInfo, isUseMoreHardAlgorithm) {
        if (!this.flags.get(LayoutPageFlags.IsIntervalsCorrect)) {
            const startPos = this.getPosition();
            if (isUseMoreHardAlgorithm)
                this.contentIntervals = ContentIntervalCollector.getNoneTidyIntervals(this.mainSubDocumentPageAreas, this.contentIntervals[0].start);
            else {
                this.contentIntervals = new ContentIntervalCollector(this.mainSubDocumentPageAreas, this.contentIntervals[0].start).getIntervals();
                this.flags.set(LayoutPageFlags.IsIntervalsCorrect, true);
            }
            number/* NumberMapUtils */.j.forEach(this.anchoredObjectHolder.objects, (obj) => {
                if (obj.belongsToSubDocId == sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID)
                    this.contentIntervals.push(new fixed.FixedInterval(anchorObjectsPositionInfo.getPosition(obj.objectId), 1));
            });
            this.contentIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(this.contentIntervals, true);
            const diff = startPos - this.contentIntervals[0].start;
            if (diff > 0) {
                for (let pa of this.mainSubDocumentPageAreas)
                    pa.pageOffset = diff;
            }
        }
    }
    getContentIntervals() {
        return this.contentIntervals;
    }
    static getFirstPageInGroup(pages, pageIndex) {
        for (; pageIndex >= 0; pageIndex--) {
            const page = pages[pageIndex];
            const firstColumn = page.mainSubDocumentPageAreas[0].columns[0];
            if (!firstColumn.rows[0] || !firstColumn.rows[0].tableCellInfo)
                return page;
            const tblFirstRowCells = firstColumn.tablesInfo[0].tableRows[0].rowCells;
            let isAllCellsStartOnThisPage = true;
            for (let cell of tblFirstRowCells)
                isAllCellsStartOnThisPage = isAllCellsStartOnThisPage && cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn);
            if (isAllCellsStartOnThisPage)
                return page;
        }
        return pages[0];
    }
    static getLastValidPageInGroup(pages, pageIndex, validPageCount, checkValid, tryFindPage) {
        let prevPage = pages[pageIndex];
        for (; pageIndex < pages.length; pageIndex++) {
            const page = pages[pageIndex];
            if (checkValid && (!page.isValid || page.index >= validPageCount))
                return tryFindPage ? prevPage : null;
            const lastRow = list.ListUtils.last(list.ListUtils.last(list.ListUtils.last(page.mainSubDocumentPageAreas).columns).rows);
            if (!lastRow || !lastRow.tableCellInfo)
                return page;
            const cells = lastRow.tableCellInfo ? ContentIntervalCollector.getTopLevelTableRow(lastRow.tableCellInfo.parentRow).rowCells : [];
            let isAllCellsEndOnThisPage = true;
            for (let cell of cells)
                isAllCellsEndOnThisPage = isAllCellsEndOnThisPage && cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn);
            if (isAllCellsEndOnThisPage)
                return page;
            prevPage = pages[pageIndex];
        }
        return list.ListUtils.last(pages);
    }
    getEndPosition() {
        return this.getPosition() + list.ListUtils.last(this.mainSubDocumentPageAreas).getEndPosition();
    }
    static getPrevPageLastPosition(pages, currPageIndex) {
        const prevPage = pages[currPageIndex - 1];
        return prevPage ? prevPage.getEndPosition() : 0;
    }
    removeOtherPageArea(subDocId) {
        delete this.otherPageAreas[subDocId];
    }
}
class ContentIntervalCollector {
    constructor(mainSubDocumentPageAreas, startPagePos) {
        this.extendInfo = [];
        this.startPagePos = startPagePos;
        this.cellIterator = new CellIteratorPosition(mainSubDocumentPageAreas);
        this.intervals = [];
    }
    static getNoneTidyIntervals(mainSubDocumentPageAreas, startPagePos) {
        const intervals = [];
        for (let pageArea of mainSubDocumentPageAreas) {
            for (let column of pageArea.columns) {
                const partialOffset = startPagePos + pageArea.pageOffset + column.pageAreaOffset;
                for (let row of column.rows) {
                    const lastBox = list.ListUtils.last(row.boxes);
                    intervals.push(new fixed.FixedInterval(partialOffset + row.columnOffset + row.boxes[0].rowOffset, lastBox.rowOffset + lastBox.getLength()));
                }
            }
        }
        return algorithms.IntervalAlgorithms.getMergedIntervals(intervals, false);
    }
    startInterval(startPos) {
        if (this.intervals.length > 0) {
            const lastInterval = list.ListUtils.last(this.intervals);
            if (lastInterval.end == startPos) {
                this.currInterval = lastInterval;
                return;
            }
        }
        this.currInterval = new fixed.FixedInterval(startPos, 0);
        this.intervals.push(this.currInterval);
    }
    extendInterval(toPos) {
        this.currInterval.length = Math.max(this.currInterval.length, toPos - this.currInterval.start);
    }
    startExtend() {
        const flags = this.cellIterator.tableCell.boundFlags;
        this.extendInfo.push(new ExtendCellInfo(this.getPosition(ContentIntervalCollector.getCellLastRowEndPosition), this.cellIterator.tableColumn.logicInfo.grid.table.nestedLevel, !(flags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn) && flags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn)), this.cellIterator.tableCell, this.startPagePos + this.cellIterator.pageArea.pageOffset + this.cellIterator.column.pageAreaOffset));
    }
    finishExtend(force) {
        const actualLevel = force ? 0 : this.cellIterator.tableColumn.logicInfo.grid.table.nestedLevel;
        while (this.currInterval && this.extendInfo.length > 0) {
            const info = this.extendInfo.pop();
            if (actualLevel <= info.level) {
                if (info.endOfCellPos >= 0)
                    this.extendInterval(info.endOfCellPos);
                if (info.isStartNewInterval)
                    this.currInterval = null;
            }
            else {
                this.extendInfo.push(info);
                break;
            }
        }
    }
    getPosition(additionalInc) {
        const addInc = additionalInc(this.cellIterator);
        if (addInc == -1)
            return -1;
        return this.startPagePos + this.cellIterator.pageArea.pageOffset + this.cellIterator.column.pageAreaOffset + addInc;
    }
    getIntervals() {
        this.startInterval(this.startPagePos);
        while (this.cellIterator.moveNext()) {
            const cell = this.cellIterator.tableCell;
            const isFirstTopLevelCell = this.cellIterator.isFirstTopLevelCell;
            this.finishExtend(false);
            if (!this.currInterval) {
                if (isFirstTopLevelCell) {
                    const end = this.cellIterator.previousTopLevelTableEndPosition > -1
                        ? this.cellIterator.previousTopLevelTableEndPosition
                        : list.ListUtils.last(this.intervals).end;
                    this.startInterval(end);
                }
                else
                    this.startInterval(this.getPosition(ContentIntervalCollector.getCellFirstRowStartPos));
            }
            if (isFirstTopLevelCell)
                this.extendInterval(this.getPosition(ContentIntervalCollector.getCellFirstRowStartPos));
            if (!isFirstTopLevelCell && !cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn))
                this.startInterval(this.getPosition(ContentIntervalCollector.getCellFirstRowStartPos));
            this.startExtend();
        }
        this.finishExtend(true);
        this.handleLastExtends();
        const lastPos = this.startPagePos + list.ListUtils.last(this.cellIterator.pageAreas).getEndPosition();
        if (this.currInterval)
            this.extendInterval(lastPos);
        else
            this.addAdditionalInterval(lastPos);
        return algorithms.IntervalAlgorithms.getMergedIntervals(this.intervals, true);
    }
    handleLastExtends() {
        if (this.extendInfo[0]) {
            for (let info; info = this.extendInfo.pop();) {
                const firstLayoutRow = info.cell.internalTables[info.cell.layoutRows.length] ? null :
                    list.ListUtils.reverseElementBy(info.cell.layoutRows, (_layoutRow, rowIndex) => !!info.cell.internalTables[rowIndex] || rowIndex == 0);
                if (firstLayoutRow) {
                    this.startInterval(info.columnOffsetPos + firstLayoutRow.getStartPosition());
                    this.extendInterval(info.endOfCellPos);
                }
            }
            this.currInterval = null;
        }
    }
    addAdditionalInterval(lastPos) {
        const pageArea = list.ListUtils.last(this.cellIterator.pageAreas);
        const column = list.ListUtils.last(pageArea.columns);
        const lastTableInfo = list.ListUtils.last(column.tablesInfo);
        if (!lastTableInfo)
            return;
        const row = list.ListUtils.last(list.ListUtils.last(lastTableInfo.getTopLevelColumn().tableRows).rowCells)
            .getLastLayoutRowIncludingInternalTables();
        const rowAfterTable = column.rows[row.indexInColumn + 1];
        if (!rowAfterTable)
            return;
        this.intervals.push(fixed.FixedInterval.fromPositions(this.startPagePos + pageArea.pageOffset + column.pageAreaOffset + rowAfterTable.getStartPosition(), lastPos));
    }
    static getCellLastRowEndPosition(cellIterator) {
        const lastRow = list.ListUtils.last(cellIterator.tableCell.layoutRows);
        return lastRow ? lastRow.getEndPosition() : -1;
    }
    static getCellFirstRowStartPos(cellIterator) {
        return cellIterator.tableCell.getFirstLayoutRowByModelPositionIncludingInternalTables().getStartPosition();
    }
    static getTopLevelTableRow(tableRow) {
        while (tableRow.parentTable.logicInfo.grid.table.nestedLevel > 0)
            tableRow = tableRow.parentTable.parentCell.parentRow;
        return tableRow;
    }
}
class ExtendCellInfo {
    constructor(pos, level, isStartNewInterval, cell, columnOffsetPos) {
        this.endOfCellPos = pos;
        this.level = level;
        this.isStartNewInterval = isStartNewInterval;
        this.cell = cell;
        this.columnOffsetPos = columnOffsetPos;
    }
}
class CellIteratorPosition {
    constructor(pageAreas) {
        this.pageAreaIndex = -1;
        this.previousTopLevelTableEndPosition = -1;
        this.tableIndexes = [];
        this.tableRowIndexes = [];
        this.tableCellIndexes = [];
        this.tableCellInternalTableIndexes = [];
        this.currLevel = 0;
        this.isInit = false;
        this.pageAreas = pageAreas;
    }
    get isFirstTopLevelCell() { return this._isFirstTopLevelCell; }
    moveNext() {
        if (!this.isInit) {
            this.isInit = true;
            return this.init();
        }
        return this.moveToNextTableCell();
    }
    init() {
        this.pageAreaIndex = 0;
        this.pageArea = this.pageAreas[0];
        this.columnIndex = -1;
        if (this.moveToNextColumnWithTable()) {
            this.initTopTableProperties(0);
            return true;
        }
        return false;
    }
    initTopTableProperties(tblIndexInColumn) {
        this.tableIndexes = [tblIndexInColumn, -1];
        this.tableColumn = this.column.tablesInfo[tblIndexInColumn];
        this.tableRowIndexes = [0];
        this.setTableRow(0);
        this.tableCellIndexes = [0];
        this.tableCell = this.tableRowCells[0];
        this._isFirstTopLevelCell = true;
        this.tableCellInternalTableIndexes = [];
        this.collectInternalTableIndexes();
    }
    moveToNextColumnWithTable() {
        if (this.column = this.pageArea.columns[++this.columnIndex])
            return this.column.tablesInfo.length > 0 ? true : this.moveToNextColumnWithTable();
        if (this.pageArea = this.pageAreas[++this.pageAreaIndex]) {
            this.columnIndex = -1;
            return this.moveToNextColumnWithTable();
        }
        return false;
    }
    moveToNextTableCell() {
        if (this.goToInternalTable() || this.goToNextTableCell() || this.goToNextTableRow())
            return true;
        return this.currLevel == 0 ? this.goToNextTopLevelTable() : this.goToTopLevel();
    }
    goToInternalTable() {
        const newInternalTblIndex = list.ListUtils.incLast(this.tableIndexes);
        const currLevelInternalTblIndexes = this.tableCellInternalTableIndexes[this.currLevel];
        if (newInternalTblIndex >= currLevelInternalTblIndexes.length)
            return false;
        this.tableColumn = this.tableCell.internalTables[currLevelInternalTblIndexes[newInternalTblIndex]];
        this.tableRowIndexes.push(0);
        this.setTableRow(0);
        this.tableCellIndexes.push(0);
        this.tableCell = this.tableRowCells[0];
        this._isFirstTopLevelCell = false;
        this.currLevel++;
        this.collectInternalTableIndexes();
        this.tableIndexes.push(-1);
        return true;
    }
    goToNextTableCell() {
        const nextCellIndex = list.ListUtils.incLast(this.tableCellIndexes);
        if (nextCellIndex >= this.tableRowCells.length)
            return false;
        this.tableCell = this.tableRowCells[nextCellIndex];
        this._isFirstTopLevelCell = false;
        this.tableCellInternalTableIndexes.pop();
        this.collectInternalTableIndexes();
        list.ListUtils.setLast(this.tableIndexes, -1);
        return true;
    }
    goToNextTableRow() {
        const nextRowIndex = list.ListUtils.incLast(this.tableRowIndexes);
        if (nextRowIndex >= this.tableColumn.tableRows.length)
            return false;
        this.setTableRow(nextRowIndex);
        list.ListUtils.setLast(this.tableCellIndexes, -1);
        return this.goToNextTableCell();
    }
    goToNextTopLevelTable() {
        if (this.tableIndexes[0] !== undefined) {
            this.previousTopLevelTableEndPosition = this.column.tablesInfo[this.tableIndexes[0]].logicInfo.grid.table.getEndPosition();
        }
        this.tableIndexes[0] = this.getNextTopLevelTableIndexInThisColumn();
        if (this.tableIndexes[0] >= 0) {
            this.initTopTableProperties(this.tableIndexes[0]);
            return true;
        }
        if (!this.moveToNextColumnWithTable())
            return false;
        this.initTopTableProperties(0);
        return true;
    }
    goToTopLevel() {
        this.tableCellInternalTableIndexes.pop();
        this.tableCellIndexes.pop();
        this.tableRowIndexes.pop();
        this.tableIndexes.pop();
        this.currLevel--;
        this.tableCell = this.tableColumn.parentCell;
        this.tableRow = this.tableCell.parentRow;
        this.tableRowCells = this.getTableRowCells();
        this.tableColumn = this.tableRow.parentTable;
        return this.moveToNextTableCell();
    }
    getNextTopLevelTableIndexInThisColumn() {
        const tbls = this.column.tablesInfo;
        for (let tblIndex = this.tableIndexes[0] + 1; tblIndex < tbls.length; tblIndex++) {
            if (tbls[tblIndex].logicInfo.grid.table.nestedLevel == 0)
                return tblIndex;
        }
        return -1;
    }
    collectInternalTableIndexes() {
        const list = [];
        const intervalTables = this.tableCell.internalTables;
        for (let key in intervalTables) {
            if (!Object.prototype.hasOwnProperty.call(intervalTables, key))
                continue;
            list.push(parseInt(key));
        }
        list.sort(comparers.Comparers.number);
        this.tableCellInternalTableIndexes.push(list);
    }
    setTableRow(index) {
        this.tableRow = this.tableColumn.tableRows[index];
        this.tableRowCells = this.getTableRowCells();
    }
    getTableRowCells() {
        return list.ListUtils.shallowCopy(this.tableRow.rowCells).sort((a, b) => a.getFirstLayoutRowByModelPositionIncludingInternalTables().getStartPosition() -
            b.getFirstLayoutRowByModelPositionIncludingInternalTables().getStartPosition());
    }
}


/***/ }),

/***/ 2636:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Kp: function() { return /* binding */ LayoutRowStateFlags; },
/* harmony export */   WM: function() { return /* binding */ LayoutRow; }
/* harmony export */ });
/* unused harmony export LayoutRowWithIndex */
/* harmony import */ var _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7820);
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8011);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2940);
/* harmony import */ var _layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8274);





var LayoutRowStateFlags;
(function (LayoutRowStateFlags) {
    LayoutRowStateFlags[LayoutRowStateFlags["NormallyEnd"] = 0] = "NormallyEnd";
    LayoutRowStateFlags[LayoutRowStateFlags["ParagraphEnd"] = 1] = "ParagraphEnd";
    LayoutRowStateFlags[LayoutRowStateFlags["PageEnd"] = 2] = "PageEnd";
    LayoutRowStateFlags[LayoutRowStateFlags["ColumnEnd"] = 4] = "ColumnEnd";
    LayoutRowStateFlags[LayoutRowStateFlags["SectionEnd"] = 8] = "SectionEnd";
    LayoutRowStateFlags[LayoutRowStateFlags["DocumentEnd"] = 16] = "DocumentEnd";
    LayoutRowStateFlags[LayoutRowStateFlags["CellTableEnd"] = 64] = "CellTableEnd";
    LayoutRowStateFlags[LayoutRowStateFlags["PageBreakBefore"] = 128] = "PageBreakBefore";
    LayoutRowStateFlags[LayoutRowStateFlags["InfinityWidth"] = 256] = "InfinityWidth";
})(LayoutRowStateFlags || (LayoutRowStateFlags = {}));
class LayoutRow extends _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_2__.Rectangle {
    get hasEffectToPageHeight() { return this.boxes.length != 1 || !this.boxes[0].isSectionBreakBox; }
    constructor(minY = Number.MAX_SAFE_INTEGER) {
        super(0, 0, 0, 0);
        this.boxes = [];
        this.bookmarkBoxes = [];
        this.numberingListBox = null;
        this.flags = new _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__.Flag(LayoutRowStateFlags.NormallyEnd);
        this.initialY = minY;
    }
    getEndPosition() {
        return this.columnOffset + this.getLastBoxEndPositionInRow();
    }
    getLastBoxEndPositionInRow() {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.last(this.boxes).getEndPosition();
    }
    getStartPosition() {
        return this.columnOffset + this.boxes[0].rowOffset;
    }
    getLastBox() {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.last(this.boxes);
    }
    isEmpty() {
        return this.boxes.length == 0;
    }
    increaseRowHeightFromSpacingBeforeAndAfter(maxAscent, maxDescent) {
        const lastBox = this.getLastBox();
        if (!lastBox)
            return;
        const ascentOverflow = maxAscent - this.baseLine + this.spacingBefore;
        if (ascentOverflow > 0)
            this.spacingBefore -= Math.min(this.spacingBefore, ascentOverflow);
        const descentOverflow = maxDescent + this.baseLine - this.height;
        if (descentOverflow > 0)
            this.spacingAfter -= Math.min(this.spacingAfter, descentOverflow);
    }
    applySpacingBefore(value) {
        this.rollbackSpacingBefore();
        this.spacingBefore = value;
        this.height += this.getSpacingBefore();
        this.baseLine += this.getSpacingBefore();
    }
    rollbackSpacingBefore() {
        this.height = this.height - this.getSpacingBefore();
        this.baseLine = this.baseLine - this.getSpacingBefore();
        this.spacingBefore = 0;
    }
    applySpacingAfter(value) {
        this.rollbackSpacingAfter();
        this.spacingAfter = value;
        this.height += this.getSpacingAfter();
    }
    rollbackSpacingAfter() {
        this.height = Math.max(0, this.height - this.getSpacingAfter());
        this.spacingAfter = 0;
    }
    getSpacingBefore() {
        return this.spacingBefore || 0;
    }
    getSpacingAfter() {
        return this.spacingAfter || 0;
    }
    getLastVisibleBox() {
        var index = this.getLastVisibleBoxIndex();
        return index >= 0 ? this.boxes[index] : null;
    }
    getLastVisibleBoxIndex() {
        for (var lastBoxIndexInRow = this.boxes.length - 1, box; box = this.boxes[lastBoxIndexInRow]; lastBoxIndexInRow--)
            if (box.isVisible())
                return lastBoxIndexInRow;
        return -1;
    }
    static getParagraphSpacingBefore(paragraph, prevParagraph, isFirstRowInCell, isFirstCellInRow, isFirstRowInTable) {
        const parProps = paragraph.getParagraphMergedProperties();
        const spacingBefore = Math.abs(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_1__/* .UnitConverter */ .u.twipsToPixelsF(parProps.spacingBefore));
        if (!spacingBefore || !prevParagraph)
            return spacingBefore;
        if (isFirstRowInCell && isFirstCellInRow && !isFirstRowInTable)
            return spacingBefore;
        if (parProps.contextualSpacing && paragraph.paragraphStyle.styleName == prevParagraph.paragraphStyle.styleName)
            return 0;
        if (isFirstRowInCell) {
            return spacingBefore;
        }
        else {
            const prevParProps = prevParagraph.getParagraphMergedProperties();
            const prevParSpacingAfter = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_1__/* .UnitConverter */ .u.twipsToPixelsF(prevParProps.spacingAfter);
            return prevParSpacingAfter >= spacingBefore ? 0 : Math.abs(spacingBefore - prevParSpacingAfter);
        }
    }
    static getParagraphSpacingAfter(paragraph, nextParagraph) {
        const parProps = paragraph.getParagraphMergedProperties();
        const spacingAfter = Math.abs(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_1__/* .UnitConverter */ .u.twipsToPixelsF(parProps.spacingAfter));
        if (!spacingAfter || !nextParagraph)
            return spacingAfter;
        return (parProps.contextualSpacing && paragraph.paragraphStyle.styleName == nextParagraph.paragraphStyle.styleName) ? 0 : spacingAfter;
    }
    applyXOffsetToBoxes(offset) {
        for (let box of this.boxes)
            box.x += offset;
        if (this.numberingListBox) {
            this.numberingListBox.textBox.x += offset;
            if (this.numberingListBox.separatorBox)
                this.numberingListBox.separatorBox.x += offset;
        }
    }
    getLastBoxIndexWhatCanStrikeoutAndUnderline() {
        let lastBoxIndexWhatCanStrikeoutAndUnderline = this.boxes.length - 1;
        for (let box; box = this.boxes[lastBoxIndexWhatCanStrikeoutAndUnderline]; lastBoxIndexWhatCanStrikeoutAndUnderline--)
            if (!box.renderNoStrikeoutAndNoUnderlineIfBoxInEndRow())
                break;
        return lastBoxIndexWhatCanStrikeoutAndUnderline;
    }
    containsSpacesOnly() {
        return this.boxes.length > 0 && _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.allOf(this.boxes, val => val.isWhitespace() || val.getType() === _layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_4__/* .LayoutBoxType */ .KH.ParagraphMark);
    }
}
class LayoutRowWithIndex extends (/* unused pure expression or super */ null && (LayoutRow)) {
}


/***/ }),

/***/ 6031:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: function() { return /* binding */ TableCellBoundFlags; },
/* harmony export */   w: function() { return /* binding */ LayoutTableCellInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7820);
/* harmony import */ var _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8011);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1167);




var TableCellBoundFlags;
(function (TableCellBoundFlags) {
    TableCellBoundFlags[TableCellBoundFlags["StartAndEndOnOtherColumns"] = 0] = "StartAndEndOnOtherColumns";
    TableCellBoundFlags[TableCellBoundFlags["StartOnThisColumn"] = 1] = "StartOnThisColumn";
    TableCellBoundFlags[TableCellBoundFlags["EndOnThisColumn"] = 2] = "EndOnThisColumn";
})(TableCellBoundFlags || (TableCellBoundFlags = {}));
class LayoutTableCellInfo extends _devexpress_utils_lib_geometry_rectangle__WEBPACK_IMPORTED_MODULE_1__.Rectangle {
    constructor(parentRow, bound, cellGridIndex, avaliableContentWidth) {
        super(bound.x, bound.y, bound.width, bound.height);
        this.layoutRows = [];
        this.parentRow = parentRow;
        this.layoutRows = [];
        this.cellGridIndex = cellGridIndex;
        this.boundFlags = new _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__.Flag(TableCellBoundFlags.StartOnThisColumn | TableCellBoundFlags.EndOnThisColumn);
        this.internalTables = {};
        this.avaliableContentWidth = avaliableContentWidth;
    }
    isStartWithInternalTable() {
        return !!this.internalTables[0];
    }
    isEndWithInternalTable() {
        return !!this.internalTables[this.layoutRows.length];
    }
    getLastLayoutRowIncludingInternalTables() {
        const lastInternalTable = this.internalTables[this.layoutRows.length];
        return lastInternalTable ?
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.last(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.last(lastInternalTable.tableRows).rowCells).getLastLayoutRowIncludingInternalTables() :
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.last(this.layoutRows);
    }
    getFirstLayoutRowByModelPositionIncludingInternalTables() {
        const firstInternalTable = this.internalTables[0];
        return firstInternalTable ?
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.min(firstInternalTable.tableRows[0].rowCells, cell => cell.getFirstLayoutRowByModelPositionIncludingInternalTables().columnOffset)
                .getFirstLayoutRowByModelPositionIncludingInternalTables() :
            this.layoutRows[0];
    }
    getEndPosition() {
        const internalTableAfterLastRow = this.internalTables[this.layoutRows.length];
        return internalTableAfterLastRow ?
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.last(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.last(internalTableAfterLastRow.tableRows).rowCells).getEndPosition() :
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.last(this.layoutRows).getEndPosition();
    }
    isEmpty() {
        return !this.layoutRows.length && _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.isEmpty(this.internalTables);
    }
}


/***/ }),

/***/ 3317:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: function() { return /* binding */ TableCellIterator; }
/* harmony export */ });
/* unused harmony export ParentLinkTableCell */
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1167);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2400);



class ParentLinkTableCell {
    constructor() {
        this.parentCell = null;
        this.parentLink = null;
        this.layoutRowIndexInParentCell = -1;
    }
    createParentLink() {
        return this.createParentLinkInternal(this);
    }
    createParentLinkInternal(link) {
        if (link.parentLink)
            return this.createParentLinkInternal(link.parentLink);
        var newLink = new ParentLinkTableCell();
        link.parentLink = newLink;
        return newLink;
    }
}
class TableCellIterator {
    get tableCellInfo() {
        return this.tableCellInfoInternal;
    }
    get isInTable() {
        return this.layoutRowIndexInCell > -1;
    }
    constructor(position, layout, measurer) {
        this.tableIndex = -1;
        this.tableRowIndex = -1;
        this.tableCellIndex = -1;
        this.layoutRowIndexInCell = -1;
        this.layoutRowIndexInLayout = -1;
        this.layoutRowIndexInLayoutInitial = -1;
        this.pageIndex = 0;
        this.pageAreaIndex = 0;
        this.columnIndex = 0;
        this.skipCalculateCellIndex = false;
        this.canCalculateLastCellIndex = false;
        this.position = position;
        this.layout = layout;
        this.measurer = measurer;
        this.setPositionProperties();
        if (this.readTables(this.position.column.tablesInfo)) {
            for (let tableIndex = 0, table; table = this.position.column.tablesInfo[tableIndex]; tableIndex++)
                if (table == this.tableInfo) {
                    this.tableIndex = tableIndex;
                    break;
                }
        }
    }
    readTables(tables, parentCell = null, layountIndex = -1) {
        for (let tableIndex = 0, table; table = tables[tableIndex]; tableIndex++) {
            for (let rowIndex = 0, row; row = table.tableRows[rowIndex]; rowIndex++) {
                for (let cellIndex = 0, cell; cell = table.tableRows[rowIndex].rowCells[cellIndex]; cellIndex++) {
                    for (var layountRowIndex in cell.internalTables) {
                        if (this.readTables(this.getConvertedObjectToArray(cell.internalTables), cell, parseInt(layountRowIndex))) {
                            var link = this.parentLink.createParentLink();
                            link.parentCell = parentCell;
                            link.layoutRowIndexInParentCell = layountIndex;
                            return true;
                        }
                    }
                    var index = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.binaryIndexOf(cell.layoutRows, (row) => row.indexInColumn - this.position.rowIndex);
                    if (index >= 0) {
                        this.tableInfo = table;
                        this.tableRowIndex = rowIndex;
                        this.tableRowInfo = row;
                        this.tableCellIndex = cellIndex;
                        this.tableCellInfoInternal = cell;
                        this.layoutRowIndexInCell = index;
                        this.layoutRowIndexInLayout = cell.layoutRows[index].indexInColumn;
                        this.layoutRowIndexInLayoutInitial = this.layoutRowIndexInLayout;
                        this.parentLink = new ParentLinkTableCell();
                        this.parentLink.parentCell = parentCell;
                        this.parentLink.layoutRowIndexInParentCell = layountIndex;
                        return true;
                    }
                }
            }
        }
        return false;
    }
    getConvertedObjectToArray(obj) {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__/* .NumberMapUtils */ .j.toList(obj);
    }
    setPositionProperties() {
        this.pageIndex = this.position.pageIndex;
        this.pageAreaIndex = this.position.pageAreaIndex;
        this.columnIndex = this.position.columnIndex;
    }
    isMainSubDocument() {
        return this.position.pageArea.subDocument.isMain();
    }
    getSelectedInterval() {
        return this.tableInfo.logicInfo.grid.table.rows[this.tableRowIndex].cells[this.tableCellInfoInternal.cellGridIndex].interval;
    }
    getModifyPosition() {
        var newPosition = this.position.clone();
        if (this.isMainSubDocument()) {
            newPosition.pageIndex = this.pageIndex;
            newPosition.pageAreaIndex = this.pageAreaIndex;
            newPosition.columnIndex = this.columnIndex;
            newPosition.page = this.layout.pages[newPosition.pageIndex];
            newPosition.pageArea = newPosition.page.mainSubDocumentPageAreas[newPosition.pageAreaIndex];
            newPosition.column = newPosition.pageArea.columns[newPosition.columnIndex];
        }
        newPosition.rowIndex = this.layoutRowIndexInLayout;
        newPosition.row = newPosition.column.rows[newPosition.rowIndex];
        return newPosition;
    }
    tryAdvanceToRightCell() {
        this.skipCalculateCellIndex = true;
        this.tableCellIndex++;
        if (this.tableCellIndex >= this.tableRowInfo.rowCells.length) {
            this.tableCellIndex = 0;
            return this.tryAdvanceToBelowRowInternal();
        }
        return this.updateTableInfosIfAdvanceToBelowRow();
    }
    tryAdvanceToLeftCell() {
        this.skipCalculateCellIndex = true;
        this.tableCellIndex--;
        if (this.tableCellIndex < 0) {
            this.canCalculateLastCellIndex = true;
            return this.tryAdvanceToAboveRowInternal();
        }
        return this.updateTableInfosIfAdvanceToAboveRow();
    }
    tryAdvanceToBelowRow() {
        if (!this.canAdvanceToBelowRow())
            return false;
        return this.tryAdvanceToBelowRowInternal();
    }
    tryAdvanceToBelowRowInternal() {
        this.isDownDirection = true;
        this.tableRowIndex++;
        if (this.tableRowIndex >= this.tableInfo.tableRows.length) {
            this.tableRowIndex = 0;
            this.tableIndex = 0;
            if (!this.isMainSubDocument())
                return this.tryAdvanceToLayoutRowBelowTable();
            this.columnIndex++;
            if (this.columnIndex >= this.position.pageArea.columns.length) {
                this.columnIndex = 0;
                this.pageAreaIndex++;
                if (this.pageAreaIndex >= this.position.page.mainSubDocumentPageAreas.length) {
                    this.pageAreaIndex = 0;
                    this.pageIndex++;
                    if (this.pageIndex >= this.layout.validPageCount)
                        return this.tryAdvanceToLayoutRowBelowTable();
                }
            }
        }
        if (this.updateTableInfosIfAdvanceToBelowRow())
            return true;
        return this.tryAdvanceToLayoutRowBelowTable();
    }
    updateTableInfosIfAdvanceToBelowRow() {
        var tables = this.getTables();
        if (tables.length > 0 && this.isEqualTables(tables[this.tableIndex], this.tableInfo)) {
            this.tableInfo = tables[this.tableIndex];
            this.tableRowInfo = this.tableInfo.tableRows[this.tableRowIndex];
            if (!this.skipCalculateCellIndex)
                this.tableCellIndex = this.findNextCellIndex(this.tableRowInfo);
            this.tableCellInfoInternal = this.tableRowInfo.rowCells[this.tableCellIndex];
            while (!this.tableCellInfoInternal.layoutRows.length) {
                this.tableInfo = this.tableCellInfoInternal.internalTables[0];
                this.tableRowIndex = 0;
                this.tableRowInfo = this.tableInfo.tableRows[this.tableRowIndex];
                this.tableCellIndex = 0;
                this.tableCellInfoInternal = this.tableRowInfo.rowCells[this.tableCellIndex];
            }
            this.layoutRowIndexInLayout = this.tableCellInfoInternal.layoutRows[0].indexInColumn;
            this.goToInternalTableIfExistInFirstBelowRow();
            return true;
        }
        return false;
    }
    tryAdvanceToAboveRow() {
        if (!this.canAdvanceToAboveRow())
            return false;
        return this.tryAdvanceToAboveRowInternal();
    }
    getLayoutTablesAssociatedWithLogicGrid() {
        var list = [];
        this.setPositionProperties();
        list.push(this.tableInfo);
        while (this.tryAdvanceToAboveTable())
            list.push(this.tableInfo);
        return list;
    }
    tryAdvanceToAboveTable() {
        var columnIndexReset = false;
        var pageAreaIndexReset = false;
        this.columnIndex--;
        if (this.columnIndex < 0) {
            columnIndexReset = true;
            this.pageAreaIndex--;
            if (this.pageAreaIndex < 0)
                pageAreaIndexReset = true;
            this.pageIndex--;
            if (this.pageIndex < 0)
                return false;
        }
        if (pageAreaIndexReset)
            this.pageAreaIndex = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas.length - 1;
        if (columnIndexReset)
            this.columnIndex = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas[this.pageAreaIndex].columns.length - 1;
        var tables = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas[this.pageAreaIndex].columns[this.columnIndex].tablesInfo;
        for (let t, i = 0; t = tables[i]; i++) {
            if (t.logicInfo.grid == this.tableInfo.logicInfo.grid) {
                this.tableInfo = t;
                return true;
            }
        }
        return false;
    }
    tryAdvanceToAboveRowInternal() {
        var rowIndexReset = false, columnIndexReset = false, pageAreaIndexReset = false;
        this.isDownDirection = false;
        if (this.tableCellInfoInternal.layoutRows.length == 1 && this.tableCellInfoInternal.internalTables[this.layoutRowIndexInCell])
            if (this.goToInternalTableIfExistInLastAboveRow())
                return true;
        var tables = [];
        this.tableRowIndex--;
        if (this.tableRowIndex < 0) {
            if (!this.isMainSubDocument())
                return this.tryAdvanceToLayoutRowAboveTable();
            rowIndexReset = true;
            this.columnIndex--;
            if (this.columnIndex < 0) {
                columnIndexReset = true;
                this.pageAreaIndex--;
                if (this.pageAreaIndex < 0) {
                    pageAreaIndexReset = true;
                    this.pageIndex--;
                    if (this.pageIndex < 0)
                        return this.tryAdvanceToLayoutRowAboveTable();
                }
            }
            if (pageAreaIndexReset)
                this.pageAreaIndex = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas.length - 1;
            if (columnIndexReset)
                this.columnIndex = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas[this.pageAreaIndex].columns.length - 1;
            if (rowIndexReset) {
                tables = this.getTables();
                if (tables.length == 0)
                    return false;
                this.tableIndex = tables.length - 1;
                this.tableRowIndex = tables[this.tableIndex].tableRows.length - 1;
            }
        }
        if (this.updateTableInfosIfAdvanceToAboveRow())
            return true;
        return this.tryAdvanceToLayoutRowAboveTable();
    }
    updateTableInfosIfAdvanceToAboveRow() {
        var tables = this.getTables();
        if (tables.length > 0 && this.isEqualTables(tables[this.tableIndex], this.tableInfo)) {
            this.tableInfo = tables[this.tableIndex];
            this.tableRowInfo = this.tableInfo.tableRows[this.tableRowIndex];
            if (!this.skipCalculateCellIndex) {
                this.tableCellIndex = this.findNextCellIndex(this.tableRowInfo);
                this.tableRowInfo = this.tableInfo.tableRows[this.tableRowIndex];
            }
            if (this.canCalculateLastCellIndex)
                this.tableCellIndex = this.tableRowInfo.rowCells.length - 1;
            this.tableCellInfoInternal = this.tableRowInfo.rowCells[this.tableCellIndex];
            this.layoutRowIndexInLayout = this.tableCellInfoInternal.layoutRows[this.tableCellInfoInternal.layoutRows.length - 1].indexInColumn;
            this.goToInternalTableIfExistInLastAboveRow();
            return true;
        }
        return false;
    }
    tryAdvanceToLayoutRowBelowTable() {
        this.setPositionProperties();
        var row = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(this.tableInfo.tableRows).rowCells).layoutRows);
        var column = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas[this.pageAreaIndex].columns[this.columnIndex];
        this.layoutRowIndexInLayout = row.indexInColumn + 1;
        if (this.layoutRowIndexInLayout >= column.rows.length) {
            this.columnIndex++;
            if (this.columnIndex >= this.position.pageArea.columns.length) {
                this.columnIndex = 0;
                this.pageAreaIndex++;
                if (this.pageAreaIndex >= this.position.page.mainSubDocumentPageAreas.length) {
                    this.pageAreaIndex = 0;
                    this.pageIndex++;
                    if (this.pageIndex >= this.layout.validPageCount) {
                        this.setPositionProperties();
                        this.resetLayoutRowIndex();
                        return true;
                    }
                }
            }
            this.layoutRowIndexInLayout = 0;
        }
        return true;
    }
    isAboveLayoutRowOuterTable() {
        return this.parentLink && this.parentLink.parentCell && this.parentLink.layoutRowIndexInParentCell == 0;
    }
    tryAdvanceToLayoutRowOuterTable(parentLink) {
        var parentRow = parentLink.parentCell.parentRow;
        var parentTable = parentRow.parentTable;
        if (parentRow.rowIndex == 0 && parentLink.parentLink.parentCell)
            return this.tryAdvanceToLayoutRowOuterTable(parentLink.parentLink);
        if (parentRow.rowIndex > 0) {
            var index = this.findNextCellIndex(parentTable.tableRows[parentRow.rowIndex - 1], true);
            this.layoutRowIndexInLayout = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.last(parentTable.tableRows[parentRow.rowIndex - 1].rowCells[index].layoutRows).indexInColumn;
            return true;
        }
        return false;
    }
    tryAdvanceToLayoutRowAboveTable() {
        this.setPositionProperties();
        if (this.isAboveLayoutRowOuterTable())
            return this.tryAdvanceToLayoutRowOuterTable(this.parentLink);
        var columnIndexReset = false, pageAreaIndexReset = false;
        var row = this.tableInfo.tableRows[0].rowCells[0].layoutRows[0];
        this.layoutRowIndexInLayout = row.indexInColumn - 1;
        if (this.layoutRowIndexInLayout < 0) {
            this.columnIndex--;
            if (this.columnIndex < 0) {
                columnIndexReset = true;
                this.pageAreaIndex--;
                if (this.pageAreaIndex < 0) {
                    pageAreaIndexReset = true;
                    this.pageIndex--;
                    if (this.pageIndex < 0) {
                        this.setPositionProperties();
                        this.resetLayoutRowIndex();
                        return true;
                    }
                }
            }
            if (pageAreaIndexReset)
                this.pageAreaIndex = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas.length - 1;
            if (columnIndexReset)
                this.columnIndex = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas[this.pageAreaIndex].columns.length - 1;
            var rows = this.layout.pages[this.pageIndex].mainSubDocumentPageAreas[this.pageAreaIndex].columns[this.columnIndex].rows;
            this.layoutRowIndexInLayout = rows.length - 1;
        }
        return true;
    }
    goToInternalTableIfExistInFirstBelowRow() {
        if (this.tableCellInfoInternal.internalTables && this.tableCellInfoInternal.internalTables[0]) {
            var internalTable = this.tableCellInfoInternal.internalTables[0];
            this.tableCellInfoInternal = internalTable.tableRows[0].rowCells[this.findNextCellIndex(internalTable.tableRows[0])];
            if (this.goToInternalTableIfExistInFirstBelowRow())
                return true;
            this.layoutRowIndexInLayout = this.tableCellInfoInternal.layoutRows[0].indexInColumn;
            return true;
        }
        return false;
    }
    goToInternalTableIfExistInLastAboveRow() {
        var lastLayoutRowIndexInInternalTable = this.tableCellInfoInternal.layoutRows.length - 1;
        if (this.tableCellInfoInternal.internalTables && this.tableCellInfoInternal.internalTables[lastLayoutRowIndexInInternalTable]) {
            var internalTable = this.tableCellInfoInternal.internalTables[lastLayoutRowIndexInInternalTable];
            var lastTableRowIndex = internalTable.tableRows.length - 1;
            var cellIndexInInternalTable = this.findNextCellIndex2(internalTable.tableRows[lastTableRowIndex]);
            var lastLayoutRowIndex = internalTable.tableRows[lastTableRowIndex].rowCells[cellIndexInInternalTable].layoutRows.length - 1;
            this.layoutRowIndexInLayout = internalTable.tableRows[lastTableRowIndex].rowCells[cellIndexInInternalTable].layoutRows[lastLayoutRowIndex].indexInColumn;
            return true;
        }
        return false;
    }
    canAdvanceToBelowRow() {
        return this.isInTable && this.layoutRowIndexInCell == this.tableCellInfoInternal.layoutRows.length - 1;
    }
    canAdvanceToAboveRow() {
        return this.isInTable && this.layoutRowIndexInCell == 0;
    }
    resetLayoutRowIndex() {
        this.layoutRowIndexInLayout = this.layoutRowIndexInLayoutInitial;
    }
    isEqualTables(table1, table2) {
        return table1.logicInfo.grid == table2.logicInfo.grid;
    }
    getTables() {
        if (this.isMainSubDocument())
            return this.layout.pages[this.pageIndex].mainSubDocumentPageAreas[this.pageAreaIndex].columns[this.columnIndex].tablesInfo;
        return this.position.column.tablesInfo;
    }
    findNextCellIndex(newRow, skipSearchCellInAllTable = false) {
        var x = this.position.box.getCharOffsetXInPixels(this.measurer, this.position.charOffset) + this.position.box.x + this.position.row.x;
        if (!this.isDownDirection && !skipSearchCellInAllTable) {
            for (let tableRowInfoIndex = this.tableRowIndex; tableRowInfoIndex >= 0; tableRowInfoIndex--) {
                const tableRowInfo = this.tableInfo.tableRows[tableRowInfoIndex];
                const tableCellInfoIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.normedInterpolationIndexOf(tableRowInfo.rowCells, (c) => c.x, x));
                var tableCellInfo = tableRowInfo.rowCells[tableCellInfoIndex];
                if (x >= tableCellInfo.x && x <= (tableCellInfo.x + tableCellInfo.width)) {
                    this.tableRowIndex = tableRowInfoIndex;
                    return tableCellInfoIndex;
                }
            }
        }
        for (var i = 0; i < newRow.rowCells.length; i++) {
            var cell = newRow.rowCells[i];
            if (x >= cell.x && x <= cell.right)
                return i;
        }
        return 0;
    }
    findNextCellIndex2(newRow) {
        var x = this.position.box.getCharOffsetXInPixels(this.measurer, this.position.charOffset) + this.position.box.x + this.position.row.x;
        if (!this.isDownDirection) {
            const tableCellInfoIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.normedInterpolationIndexOf(newRow.rowCells, (c) => c.x, x));
            var tableCellInfo = newRow.rowCells[tableCellInfoIndex];
            if (x >= tableCellInfo.x && x <= (tableCellInfo.right)) {
                this.tableRowIndex = newRow.rowIndex;
                return tableCellInfoIndex;
            }
        }
        for (var i = 0; i < newRow.rowCells.length; i++) {
            var cell = newRow.rowCells[i];
            if (x >= cell.x && x <= cell.right)
                return i;
        }
        return 0;
    }
}


/***/ }),

/***/ 7308:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   DA: function() { return /* binding */ MeasureInfoNonText; },
/* harmony export */   O_: function() { return /* binding */ MeasureInfoText; }
/* harmony export */ });
/* unused harmony export MeasureInfo */
/* harmony import */ var _devexpress_utils_lib_utils_encode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9712);
/* harmony import */ var _rich_utils_html_converter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7225);


class MeasureInfo {
    constructor(text, charProp) {
        this.text = text;
        this.charProp = charProp;
        this.resultSize = this.charProp.getSize(this.text);
    }
    get signCssString() {
        return _rich_utils_html_converter__WEBPACK_IMPORTED_MODULE_1__/* .HtmlConverter */ .c.getSizeSignificantCssString(this.charProp);
    }
}
class MeasureInfoText extends MeasureInfo {
    getEncodedText() {
        return _devexpress_utils_lib_utils_encode__WEBPACK_IMPORTED_MODULE_0__.EncodeUtils.encodeHtml(this.text);
    }
}
class MeasureInfoNonText extends MeasureInfo {
    getEncodedText() {
        return this.text;
    }
}


/***/ }),

/***/ 1805:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  wn: function() { return /* binding */ ClientModelManager; },
  UU: function() { return /* binding */ ServerModelManager; }
});

// UNUSED EXPORTS: ModelManager

// EXTERNAL MODULE: ./src/common/model/options/control.ts
var control = __webpack_require__(9147);
// EXTERNAL MODULE: ./src/common/model/history/base/history-item.ts
var history_item = __webpack_require__(1360);
;// CONCATENATED MODULE: ./src/common/model/history/base/history.ts


class History {
    constructor(options) {
        this.historyItems = [];
        this.currentIndex = -1;
        this.transaction = null;
        this.incrementalId = -1;
        this.transactionLevel = -1;
        this.unmodifiedIndex = -1;
        this.isProcessingUndo = false;
        this.currTransactionId = 0;
        this.transactionMap = {};
        this.options = options;
    }
    isModified() {
        if (this.unmodifiedIndex == this.currentIndex)
            return false;
        var startIndex = Math.min(this.unmodifiedIndex, this.currentIndex);
        var endIndex = Math.max(this.unmodifiedIndex, this.currentIndex);
        for (var i = startIndex + 1; i <= endIndex; i++) {
            if (this.historyItems[i].changeModified())
                return true;
        }
        return false;
    }
    undo() {
        if (!this.canUndo())
            return;
        this.isProcessingUndo = true;
        this.historyItems[this.currentIndex].undo();
        this.currentIndex--;
        this.isProcessingUndo = false;
    }
    redo() {
        if (!this.canRedo())
            return;
        this.currentIndex++;
        this.historyItems[this.currentIndex].redo();
    }
    canUndo() {
        return this.currentIndex >= 0 && control/* ControlOptions */.tH.isEnabled(this.options.undo);
    }
    canRedo() {
        return this.currentIndex < this.historyItems.length - 1 && control/* ControlOptions */.tH.isEnabled(this.options.undo);
    }
    beginTransaction() {
        this.transactionLevel++;
        if (this.transactionLevel == 0)
            this.transaction = new history_item/* CompositionHistoryItem */.m();
        const id = this.currTransactionId++;
        this.transactionMap[id] = this.transaction;
        return id;
    }
    addTransaction(action, isUnderUndo = false) {
        this.beginTransaction();
        action(this);
        this.endTransaction(isUnderUndo);
    }
    endTransaction(isUnderUndo = false) {
        if (--this.transactionLevel >= 0)
            return;
        const transactionLength = this.transaction.historyItems.length;
        if (transactionLength > 1)
            this.addInternal(this.transaction, isUnderUndo);
        else if (transactionLength == 1)
            this.addInternal(this.transaction.historyItems.pop(), isUnderUndo);
        this.transaction = null;
    }
    addAndRedo(historyItem, isUnderUndo = false) {
        this.add(historyItem, isUnderUndo);
        historyItem.redo();
    }
    add(historyItem, isUnderUndo = false) {
        if (this.transactionLevel >= 0)
            this.transaction.add(historyItem);
        else
            this.addInternal(historyItem, isUnderUndo);
    }
    addInternal(historyItem, isUnderUndo) {
        if (this.isProcessingUndo) {
            if (isUnderUndo)
                return;
            else
                throw new Error('Add new item is not allowed while undo operation in process.');
        }
        if (this.currentIndex < this.historyItems.length - 1) {
            this.historyItems.splice(this.currentIndex + 1);
            this.unmodifiedIndex = Math.min(this.unmodifiedIndex, this.currentIndex);
        }
        this.historyItems.push(historyItem);
        this.currentIndex++;
        this.deleteOldItems();
    }
    deleteOldItems() {
        const exceedItemsCount = this.historyItems.length - History.MAX_HISTORY_ITEM_COUNT;
        if (exceedItemsCount > 0 && this.currentIndex > exceedItemsCount) {
            this.historyItems.splice(0, exceedItemsCount);
            this.currentIndex -= exceedItemsCount;
        }
    }
    getNextId() {
        this.incrementalId++;
        return this.incrementalId;
    }
    clear() {
        this.currentIndex = -1;
        this.unmodifiedIndex = -1;
        this.incrementalId = -1;
        this.historyItems = [];
    }
    resetModified() {
        this.unmodifiedIndex = this.currentIndex;
    }
    getCurrentItemId() {
        if (this.currentIndex == -1)
            return -1;
        var currentItem = this.historyItems[this.currentIndex];
        if (currentItem.uniqueId == -1)
            currentItem.uniqueId = this.getNextId();
        return currentItem.uniqueId;
    }
}
History.MAX_HISTORY_ITEM_COUNT = 100;

// EXTERNAL MODULE: ./src/common/utils/event-dispatcher.ts
var event_dispatcher = __webpack_require__(8558);
// EXTERNAL MODULE: ./src/common/model/manipulators/bookmarks-manipulator.ts + 2 modules
var bookmarks_manipulator = __webpack_require__(9226);
// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var enums = __webpack_require__(300);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/properties/character-formatting-changed.ts

class CharacterFormattingChangedSubDocumentChange {
    constructor(subDocumentId, property, newState) {
        this.subDocumentId = subDocumentId;
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.CharacterFormattingChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/properties/character-properties-changed.ts

class CharacterPropertiesChangedSubDocumentChange {
    constructor(subDocumentId, newState) {
        this.subDocumentId = subDocumentId;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.CharacterPropertiesChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/character/character-properties.ts
var character_properties = __webpack_require__(1789);
// EXTERNAL MODULE: ./src/common/model/character/character-property-descriptor.ts
var character_property_descriptor = __webpack_require__(6223);
// EXTERNAL MODULE: ./src/common/model/history/items/apply-style-history-items.ts
var apply_style_history_items = __webpack_require__(8189);
// EXTERNAL MODULE: ./src/common/model/history/items/character-properties-history-items.ts
var character_properties_history_items = __webpack_require__(398);
// EXTERNAL MODULE: ./src/common/model/history/states/history-item-state.ts
var history_item_state = __webpack_require__(1279);
// EXTERNAL MODULE: ./src/common/model/history/states/history-item-state-object.ts
var history_item_state_object = __webpack_require__(7035);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-character-enums.ts
var json_character_enums = __webpack_require__(1763);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/manipulators/base-manipulator.ts
var base_manipulator = __webpack_require__(3109);
;// CONCATENATED MODULE: ./src/common/model/manipulators/character-properties-manipulator.ts












class CharacterPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.fontBold = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.bold);
        this.fontItalic = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.italic);
        this.fontName = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo);
        this.fontSize = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.size);
        this.fontCaps = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.allCaps);
        this.fontStrikeoutType = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutType);
        this.fontStrikeoutWordsOnly = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutWordsOnly);
        this.fontUnderlineType = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineType);
        this.fontHidden = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.hidden);
        this.script = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.script);
        this.fontUnderlineWordsOnly = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineWordsOnly);
        this.fontNoProof = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.noProof);
        this.langInfo = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.langInfo);
        this.compositeFontInfo = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.compositeFontInfo);
        this.textColor = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.textColor);
        this.shadingInfo = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo);
        this.fontHighlightColor = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.highlightColor);
        this.fontStrikeoutColor = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutColor);
        this.fontUnderlineColor = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineColor);
        this.fontSmallCaps = new MaskedCharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.smallCaps);
        this.useValue = new CharacterPropertiesUseValueManipulator(manipulator);
        this.modelManipulator = manipulator;
    }
    resetCharacterFormatting(subDocument, interval) {
        this.history.addAndRedo(new character_properties_history_items/* CharacterPropertiesHistoryItem */.Am(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), character_properties/* MaskedCharacterProperties */.X.createDefault(this.model)));
        this.history.addAndRedo(new apply_style_history_items/* ApplyCharacterStyleHistoryItem */.L9(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, interval), this.model.getDefaultCharacterStyle(), true));
    }
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterFormatting))
            return oldState;
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var iterator = subDocument.getRunIterator(interval);
        while (iterator.moveNext()) {
            var run = iterator.currentRun;
            oldState.register(new history_item_state_object/* HistoryItemIntervalCharacterPropertiesStateObject */.M$(iterator.currentInterval(), run.maskedCharacterProperties.clone()));
            run.setCharacterProperties(newValue);
            run.onCharacterPropertiesChanged();
        }
        newState.register(new history_item_state_object/* HistoryItemIntervalCharacterPropertiesStateObject */.M$(interval, newValue));
        this.modelManipulator.notifyModelChanged(new CharacterPropertiesChangedSubDocumentChange(subDocument.id, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterFormatting))
            return;
        for (var stateValue, i = 0; stateValue = state.objects[i]; i++) {
            var iterator = subDocument.getRunIterator(stateValue.interval);
            while (iterator.moveNext()) {
                var run = iterator.currentRun;
                run.setCharacterProperties(stateValue.value);
                run.onCharacterPropertiesChanged();
            }
        }
        this.modelManipulator.notifyModelChanged(new CharacterPropertiesChangedSubDocumentChange(subDocument.id, state));
    }
}
class CharacterPropertiesUseValueManipulator {
    constructor(manipulator) {
        this.manipulator = manipulator;
    }
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterFormatting))
            return oldState;
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var iterator = subDocument.getRunIterator(interval);
        while (iterator.moveNext()) {
            var run = iterator.currentRun;
            oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(iterator.currentInterval(), run.maskedCharacterProperties.getUseValueFull()));
            var properties = run.maskedCharacterProperties.clone();
            properties.setUseValueFull(newValue);
            run.setCharacterProperties(properties);
            run.onCharacterPropertiesChanged();
        }
        newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, newValue));
        this.manipulator.notifyModelChanged(new CharacterFormattingChangedSubDocumentChange(subDocument.id, json_character_enums/* JSONCharacterFormattingProperty */.I$.UseValue, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterFormatting))
            return;
        for (var stateValue, i = 0; stateValue = state.objects[i]; i++) {
            var iterator = subDocument.getRunIterator(stateValue.interval);
            while (iterator.moveNext()) {
                var run = iterator.currentRun;
                var properties = run.maskedCharacterProperties.clone();
                properties.setUseValueFull(stateValue.value);
                run.setCharacterProperties(properties);
                run.onCharacterPropertiesChanged();
            }
        }
        this.manipulator.notifyModelChanged(new CharacterFormattingChangedSubDocumentChange(subDocument.id, json_character_enums/* JSONCharacterFormattingProperty */.I$.UseValue, state));
    }
}
class MaskedCharacterPropertiesManipulator {
    constructor(manipulator, descriptor) {
        this.manipulator = manipulator;
        this.descriptor = descriptor;
    }
    setValue(subDocument, interval, newValue, newUse) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterFormatting))
            return oldState;
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var mask = this.descriptor.maskValue();
        var iterator = subDocument.getRunIterator(interval);
        while (iterator.moveNext()) {
            var currentInterval = iterator.currentInterval();
            var properties = iterator.currentRun.maskedCharacterProperties.clone();
            newState.register(new history_item_state_object/* HistoryItemIntervalUseStateObject */.TR(currentInterval, newValue, newUse));
            oldState.register(new history_item_state_object/* HistoryItemIntervalUseStateObject */.TR(currentInterval, this.descriptor.getProp(properties), properties.getUseValue(mask)));
            this.descriptor.setProp(properties, newValue);
            properties.setUseValue(mask, newUse);
            iterator.currentRun.setCharacterProperties(properties);
            if (iterator.currentRun.hasCharacterMergedProperies() && newUse) {
                var mergedProperties = iterator.currentRun.getCharacterMergedProperties().clone();
                this.descriptor.setProp(mergedProperties, newValue);
                iterator.currentRun.setCharacterMergedProperies(mergedProperties);
            }
            else
                iterator.currentRun.onCharacterPropertiesChanged();
        }
        this.manipulator.notifyModelChanged(new CharacterFormattingChangedSubDocumentChange(subDocument.id, this.descriptor.getJSONProperty(), newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterFormatting))
            return;
        if (state.isEmpty())
            return;
        for (var i = 0, stateItem; stateItem = state.objects[i]; i++) {
            var iterator = subDocument.getRunIterator(stateItem.interval);
            while (iterator.moveNext()) {
                var properties = iterator.currentRun.maskedCharacterProperties.clone();
                this.descriptor.setProp(properties, stateItem.value);
                properties.setUseValue(this.descriptor.maskValue(), stateItem.use);
                iterator.currentRun.setCharacterProperties(properties);
                iterator.currentRun.onCharacterPropertiesChanged();
            }
        }
        this.manipulator.notifyModelChanged(new CharacterFormattingChangedSubDocumentChange(subDocument.id, this.descriptor.getJSONProperty(), state));
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
// EXTERNAL MODULE: ./src/common/model/changes/sub-document/field/hyperlink-info-changed.ts
var hyperlink_info_changed = __webpack_require__(8193);
// EXTERNAL MODULE: ./src/common/model/changes/sub-document/field/inserted.ts
var inserted = __webpack_require__(3545);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list.ts
var numbering_list = __webpack_require__(3231);
// EXTERNAL MODULE: ./src/common/model/runs/anchored-picture-run.ts
var anchored_picture_run = __webpack_require__(6781);
// EXTERNAL MODULE: ./src/common/model/runs/inline-picture-run.ts
var inline_picture_run = __webpack_require__(2442);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/insert-paragraph-manipulator-params.ts
var insert_paragraph_manipulator_params = __webpack_require__(7970);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-box-manipulator.ts + 1 modules
var text_box_manipulator = __webpack_require__(5757);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-manipulator/insert-text-manipulator-params.ts
var insert_text_manipulator_params = __webpack_require__(2598);
;// CONCATENATED MODULE: ./src/common/model/manipulators/doc-merger/merger.ts















class DocumentMerger extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
    }
    mergeDocumentModel(sourceInfo, targetSubDocPos) {
        this.history.beginTransaction();
        const targetSubDocument = targetSubDocPos.subDocument;
        let targetPosition = targetSubDocPos.position;
        const sourceSubDocument = sourceInfo.subDocument;
        const sourceInterval = sourceInfo.interval;
        const fromDocumentModel = sourceSubDocument.documentModel;
        const toDocumentModel = targetSubDocument.documentModel;
        const constRunIterator = sourceSubDocument.getConstRunIterator(sourceInterval);
        const fromFieldIndexesWhatNeedCopyInfo = [];
        const fromFields = sourceSubDocument.fields;
        const toFields = targetSubDocument.fields;
        const modelsOffset = targetPosition - sourceInterval.start;
        const insertImgCacheInfo = (cacheInfo) => {
            cacheInfo = cacheInfo.clone();
            toDocumentModel.cache.imageCache.registerFromAnotherModel(cacheInfo);
            this.modelManipulator.picture.loader.load(cacheInfo);
            return cacheInfo;
        };
        let isMoved = constRunIterator.moveNext();
        if (isMoved && this.needInsertParagraphBeforeTable(sourceSubDocument, sourceInterval)) {
            this.insertParagraph(toDocumentModel, targetSubDocument, constRunIterator.currentRun, targetPosition, -1, constRunIterator.currentRun.paragraph.listLevelIndex);
            targetPosition++;
        }
        let toCurrentPosition = targetPosition;
        while (isMoved) {
            var currentRun = constRunIterator.currentRun;
            switch (currentRun.getType()) {
                case run_type/* RunType */.m.FieldCodeStartRun:
                    var fromGlobPos = constRunIterator.currentChunk.startLogPosition.value + currentRun.startOffset;
                    fromFieldIndexesWhatNeedCopyInfo.push(fields_field/* Field */.gN.normedBinaryIndexOf(sourceSubDocument.fields, fromGlobPos + 1));
                case run_type/* RunType */.m.FieldCodeEndRun:
                case run_type/* RunType */.m.FieldResultEndRun:
                case run_type/* RunType */.m.TextRun:
                case run_type/* RunType */.m.LayoutDependentRun:
                    var insertedText = constRunIterator.currentChunk.getRunText(currentRun);
                    var insertedMaskedCharacterProperties = toDocumentModel.cache.maskedCharacterPropertiesCache.getItem(currentRun.maskedCharacterProperties);
                    var insertedCharacterStyle = toDocumentModel.stylesManager.addCharacterStyle(currentRun.characterStyle);
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(targetSubDocument, toCurrentPosition), new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(insertedMaskedCharacterProperties, insertedCharacterStyle), currentRun.getType() == run_type/* RunType */.m.LayoutDependentRun && targetSubDocument.isMain() ? run_type/* RunType */.m.TextRun : currentRun.getType(), insertedText));
                    break;
                case run_type/* RunType */.m.InlinePictureRun: {
                    var currentPictureRun = currentRun;
                    if (!(currentPictureRun instanceof inline_picture_run/* InlinePictureRun */.p))
                        throw new Error("In TexManipulator.insertPartSubDocumentInOtherSubDocument currentPictureRun not have type InlinePictureRun");
                    const info = currentPictureRun.info.clone();
                    info.size.cacheInfo = insertImgCacheInfo(info.size.cacheInfo);
                    this.modelManipulator.picture.insertInlinePictureInner(new sub_document/* SubDocumentPosition */.rg(targetSubDocument, toCurrentPosition), currentPictureRun.getCharPropsBundle(toDocumentModel), info);
                    break;
                }
                case run_type/* RunType */.m.AnchoredPictureRun: {
                    let currentAnchoredPictureRun = currentRun;
                    if (!(currentAnchoredPictureRun instanceof anchored_picture_run/* AnchoredPictureRun */.N))
                        throw new Error("In TexManipulator.insertPartSubDocumentInOtherSubDocument currentAnchoredPictureRun not have type AnchoredPictureRun");
                    this.modelManipulator.picture.insertAnchoredPictureInner(new sub_document/* SubDocumentPosition */.rg(targetSubDocument, toCurrentPosition), currentAnchoredPictureRun.getCharPropsBundle(toDocumentModel), currentAnchoredPictureRun.info.clone());
                    break;
                }
                case run_type/* RunType */.m.InlineTextBoxRun:
                    break;
                case run_type/* RunType */.m.AnchoredTextBoxRun: {
                    const currentAnchoredTextBoxRun = currentRun;
                    if (targetSubDocument.isTextBox()) {
                        this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(targetSubDocument, toCurrentPosition), currentAnchoredTextBoxRun.getCharPropsBundle(toDocumentModel), run_type/* RunType */.m.TextRun, " "));
                        break;
                    }
                    let newAnchoredTextBox = this.modelManipulator.textBox.insertAnchoredTextBox(new sub_document/* SubDocumentPosition */.rg(targetSubDocument, toCurrentPosition), currentRun.getCharPropsBundle(toDocumentModel), new text_box_manipulator/* BaseTextBoxInfo */.W(null, currentAnchoredTextBoxRun.size.clone(), currentAnchoredTextBoxRun.shape.clone(), currentAnchoredTextBoxRun.anchorInfo.clone(), currentAnchoredTextBoxRun.textBoxProperties.clone(), currentAnchoredTextBoxRun.containerProperties.clone()));
                    const sourceSubDoc = this.modelManipulator.model.subDocuments[currentAnchoredTextBoxRun.subDocId];
                    const targetSubDoc = this.modelManipulator.model.subDocuments[newAnchoredTextBox.subDocId];
                    this.mergeDocumentModel(new sub_document/* SubDocumentInterval */.v8(sourceSubDoc, new fixed.FixedInterval(0, sourceSubDoc.getDocumentEndPosition())), new sub_document/* SubDocumentPosition */.rg(targetSubDoc, 0));
                    this.modelManipulator.range.removeIntervalInner(targetSubDoc, new fixed.FixedInterval(targetSubDoc.getDocumentEndPosition() - 2, 1), false);
                    break;
                }
                case run_type/* RunType */.m.ParagraphRun:
                    var toNumberingListIndex = -1;
                    var toListLevelIndex = currentRun.paragraph.listLevelIndex;
                    if (currentRun.paragraph.numberingListIndex >= 0) {
                        var fromNumberingList = fromDocumentModel.numberingLists[currentRun.paragraph.numberingListIndex];
                        toNumberingListIndex = toDocumentModel.getNumberingListIndexById(fromNumberingList.getId());
                        if (toNumberingListIndex < 0) {
                            var toAbstractNumberingListIndex = toDocumentModel.getAbstractNumberingListIndexById(fromDocumentModel.abstractNumberingLists[fromNumberingList.abstractNumberingListIndex].getId());
                            if (toAbstractNumberingListIndex < 0) {
                                var toAbstractNumberingList = new numbering_list/* AbstractNumberingList */.pC(toDocumentModel);
                                toAbstractNumberingList.copyFrom(fromDocumentModel.abstractNumberingLists[fromNumberingList.abstractNumberingListIndex]);
                                toAbstractNumberingListIndex = this.modelManipulator.numberingList.addAbstractNumberingList(toAbstractNumberingList);
                            }
                            var toNumberingList = new numbering_list/* NumberingList */.K6(toDocumentModel, toAbstractNumberingListIndex);
                            toNumberingList.copyFrom(fromNumberingList);
                            toNumberingListIndex = this.modelManipulator.numberingList.addNumberingList(toNumberingList);
                        }
                    }
                    if (toNumberingListIndex < 0) {
                        var toParagraph = targetSubDocument.getParagraphByPosition(toCurrentPosition);
                        var toParagraphNumberingListIndex = toParagraph.getNumberingListIndex();
                        if (toParagraphNumberingListIndex >= 0) {
                            if (targetPosition === toParagraph.startLogPosition.value) {
                                toNumberingListIndex = toParagraphNumberingListIndex;
                                toListLevelIndex = toParagraph.getListLevelIndex();
                            }
                        }
                    }
                    this.insertParagraph(toDocumentModel, targetSubDocument, currentRun, toCurrentPosition, toNumberingListIndex, toListLevelIndex);
                    break;
                case run_type/* RunType */.m.SectionRun:
                    this.modelManipulator.section.insertSection(new sub_document/* SubDocumentPosition */.rg(targetSubDocument, toCurrentPosition), currentRun.getCharPropsBundle(toDocumentModel), constRunIterator.currentSection.sectionProperties.clone(), true, currentRun.paragraph.getParagraphBundleFull(toDocumentModel), true);
                    break;
                default: throw new Error("In TextManipulator.insertPartSubDocumentInOtherSubDocument need insert some inknown run type = " + currentRun.getType());
            }
            toCurrentPosition += currentRun.getLength();
            isMoved = constRunIterator.moveNext();
        }
        let newTables = [];
        for (let i = 0, table; table = sourceSubDocument.tables[i]; i++)
            newTables.push(this.modelManipulator.table.pasteTable(targetSubDocument, table, targetPosition + table.getStartPosition()));
        if (fromFieldIndexesWhatNeedCopyInfo.length > 0) {
            var toStartCodePosFirstField = modelsOffset + fromFields[fromFieldIndexesWhatNeedCopyInfo[0]].getCodeStartPosition();
            var toFieldIndex = fields_field/* Field */.gN.normedBinaryIndexOf(toFields, toStartCodePosFirstField);
            if (toFieldIndex < 0 || toFields[toFieldIndex].getCodeStartPosition() < toStartCodePosFirstField)
                toFieldIndex++;
            while (fromFieldIndexesWhatNeedCopyInfo.length > 0) {
                var fromField = sourceSubDocument.fields[fromFieldIndexesWhatNeedCopyInfo.shift()];
                var newField = new fields_field/* Field */.gN(targetSubDocument.positionManager, toFieldIndex, fromField.getFieldStartPosition() + modelsOffset, fromField.getSeparatorPosition() + modelsOffset, fromField.getFieldEndPosition() + modelsOffset, fromField.showCode, fromField.isHyperlinkField() ? fromField.getHyperlinkInfo().clone() : undefined);
                fields_field/* Field */.gN.addField(toFields, newField);
                toFieldIndex++;
                this.modelManipulator.notifyModelChanged(new inserted/* FieldInsertedSubDocumentChange */.s(targetSubDocument.id, newField.getFieldStartPosition(), newField.getSeparatorPosition(), newField.getFieldEndPosition()));
                if (newField.isHyperlinkField())
                    this.modelManipulator.notifyModelChanged(new hyperlink_info_changed/* HyperlinkInfoChangedSubDocumentChange */.a(targetSubDocument.id, newField.getResultInterval(), newField.getCodeInterval(), newField.getHyperlinkInfo()));
            }
        }
        this.modelManipulator.bookmark.insertBookmarksFromSubDocument(sourceSubDocument, targetSubDocument, sourceInterval, modelsOffset);
        this.history.endTransaction();
        return newTables;
    }
    needInsertParagraphBeforeTable(sourceSubDocument, sourceInterval) {
        const paragraph = sourceSubDocument.getParagraphByPosition(sourceInterval.start);
        if (paragraph.interval.start != sourceInterval.start)
            return false;
        return list.ListUtils.anyOf(sourceSubDocument.tables, (table) => table.interval.start <= sourceInterval.start && table.interval.end >= sourceInterval.start);
    }
    insertParagraph(toDocumentModel, targetSubDocument, currentRun, toCurrentPosition, toNumberingListIndex, toListLevelIndex) {
        this.modelManipulator.paragraph.insertParagraphInner(new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(targetSubDocument, toCurrentPosition), currentRun.getCharPropsBundle(toDocumentModel), new properties_bundle/* MaskedParagraphPropertiesBundleFull */.Us(toDocumentModel.cache.maskedParagraphPropertiesCache.getItem(currentRun.paragraph.maskedParagraphProperties), currentRun.paragraph.paragraphStyle, new properties_bundle/* ParagraphListInfo */.QC(toNumberingListIndex, toListLevelIndex), currentRun.paragraph.tabs.clone()), true, () => { }));
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/default-tab-width.ts

class DefaultTabWidthModelChange {
    constructor(newDefaultTabWidth) {
        this.newDefaultTabWidth = newDefaultTabWidth;
        this.type = enums/* ModelChangeType */.f.DefaultTabWidth;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/different-odd-and-even-pages.ts

class DifferentOddAndEvenPagesModelChange {
    constructor(newValue) {
        this.newValue = newValue;
        this.type = enums/* ModelChangeType */.f.DifferentOddAndEvenPages;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/page-color.ts

class PageColorModelChange {
    constructor(newColor) {
        this.newColor = newColor;
        this.type = enums/* ModelChangeType */.f.PageColor;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/document-properties-manipulator.ts




class DocumentPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    setDefaultTabWidth(documentModel, newDefaultTabWidth) {
        var oldValue = documentModel.defaultTabWidth;
        documentModel.defaultTabWidth = newDefaultTabWidth;
        this.modelManipulator.notifyModelChanged(new DefaultTabWidthModelChange(newDefaultTabWidth));
        return oldValue;
    }
    changePageColor(documentModel, newPageColor) {
        var oldValue = documentModel.pageBackColor;
        documentModel.setPageColor(newPageColor);
        this.modelManipulator.notifyModelChanged(new PageColorModelChange(newPageColor));
        return oldValue;
    }
    changeDifferentOddAndEvenPages(documentModel, newValue) {
        let oldValue = documentModel.differentOddAndEvenPages;
        documentModel.differentOddAndEvenPages = newValue;
        this.modelManipulator.notifyModelChanged(new DifferentOddAndEvenPagesModelChange(newValue));
        return oldValue;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var string = __webpack_require__(49);
;// CONCATENATED MODULE: ./src/common/model/changes/model/document-protection-changed.ts

class DocumentProtectionChangedModelChange {
    constructor(documentProtectionProperties) {
        this.documentProtectionProperties = documentProtectionProperties;
        this.type = enums/* ModelChangeType */.f.DocumentProtectionChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/range-permissions-changed.ts

class RangePermissionsChangedSubDocumentChange {
    constructor(subDocumentId, permission) {
        this.subDocumentId = subDocumentId;
        this.permission = permission;
        this.type = enums/* ModelChangeType */.f.RangePermissionsChanged;
    }
}
class RangePermissionsPropertiesChange {
    constructor() {
        this.type = enums/* ModelChangeType */.f.RangePermissionsPropertiesChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/history/items/document-protection-history-item.ts

class DocumentProtectionHistoryItem extends history_item/* HistoryItem */.B {
    constructor(modelManipulator, newProtectionProperties) {
        super(modelManipulator);
        this.newProtectionProperties = newProtectionProperties;
    }
    redo() {
        this.oldProtectionProperties = this.modelManipulator.documentProtectionProperties.changeProtectionProperties(this.modelManipulator.model, this.newProtectionProperties);
    }
    undo() {
        this.modelManipulator.documentProtectionProperties.changeProtectionProperties(this.modelManipulator.model, this.oldProtectionProperties);
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-document-enums.ts
var json_document_enums = __webpack_require__(1573);
// EXTERNAL MODULE: ./src/common/model/options/document-protection.ts
var document_protection = __webpack_require__(825);
// EXTERNAL MODULE: ./src/common/model/protection/password-hash-code-calculator.ts + 6 modules
var password_hash_code_calculator = __webpack_require__(281);
;// CONCATENATED MODULE: ./src/common/model/manipulators/document-protection-properties-manipulator.ts









class DocumentProtectionPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    changeProtectionProperties(documentModel, newProtectionProperties) {
        const oldValue = documentModel.documentProtectionProperties.clone();
        documentModel.documentProtectionProperties.copyFrom(newProtectionProperties);
        this.raiseProtectionPropertiesChanged();
        return oldValue;
    }
    raiseProtectionPropertiesChanged() {
        this.filterRangePermissions();
        this.modelManipulator.notifyModelChanged(new DocumentProtectionChangedModelChange(this.model.documentProtectionProperties));
    }
    raiseRangePermissionPropertiesChanged() {
        this.filterRangePermissions();
        this.modelManipulator.notifyModelChanged(new RangePermissionsPropertiesChange());
    }
    filterRangePermissions() {
        number/* NumberMapUtils */.j.forEach(this.model.subDocuments, (subDocument) => {
            subDocument.filterRangePermissions(this.modelManipulator.modelManager.richOptions.documentProtection);
        });
    }
    enforceDocumentProtection(password, protectionType = json_document_enums/* DocumentProtectionType */.vK.ReadOnly) {
        const protectionProperties = this.model.documentProtectionProperties.clone();
        protectionProperties.enforceProtection = true;
        protectionProperties.protectionType = protectionType;
        if (string.StringUtils.isNullOrEmpty(password)) {
            protectionProperties.hashAlgorithmType = document_protection/* HashAlgorithmType */.S6.None;
            protectionProperties.hashIterationCount = 0;
            protectionProperties.passwordPrefix = null;
            protectionProperties.passwordHash = null;
            protectionProperties.word2003PasswordHash = null;
            protectionProperties.openOfficePasswordHash = null;
        }
        else {
            protectionProperties.hashAlgorithmType = document_protection/* HashAlgorithmType */.S6.Sha1;
            protectionProperties.hashIterationCount = 100000;
            const calculator = new password_hash_code_calculator/* PasswordHashCodeCalculator */.e();
            protectionProperties.passwordPrefix = calculator.generatePasswordPrefix(16);
            protectionProperties.passwordHash = calculator.calculatePasswordHash(password, protectionProperties.passwordPrefix, protectionProperties.hashIterationCount, protectionProperties.hashAlgorithmType);
            protectionProperties.word2003PasswordHash = calculator.calculateLegacyPasswordHash(password);
        }
        this.modelManipulator.modelManager.history.addAndRedo(new DocumentProtectionHistoryItem(this.modelManipulator, protectionProperties));
    }
    forceRemoveDocumentProtection() {
        const protectionProperties = this.model.documentProtectionProperties.clone();
        protectionProperties.enforceProtection = false;
        this.modelManipulator.modelManager.history.addAndRedo(new DocumentProtectionHistoryItem(this.modelManipulator, protectionProperties));
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/fields-manipulator.ts + 1 modules
var fields_manipulator = __webpack_require__(7253);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-floating-enums.ts
var json_floating_enums = __webpack_require__(1);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/anchor/anchor-info-property-changed.ts

class AnchorInfoPropertyChangedSubDocumentChange {
    constructor(subDocumentId, objectId, property, newState) {
        this.subDocumentId = subDocumentId;
        this.objectId = objectId;
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.AnchorInfoPropertyChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/anchor-info-property-manipulator.ts





class AnchorInfoPropertyManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator, jsonAnchorInfoProperty, setPropertyValue, getPropertyValue) {
        super(manipulator);
        this.jsonAnchorInfoProperty = jsonAnchorInfoProperty;
        this.setPropertyValue = setPropertyValue;
        this.getPropertyValue = getPropertyValue;
    }
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var run = subDocument.getRunByPosition(interval.start);
        var anchoredRun = run.getType() == run_type/* RunType */.m.AnchoredPictureRun ? run : run;
        var anchorInfo = anchoredRun.anchorInfo.clone();
        oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, this.getPropertyValue(anchorInfo)));
        this.setPropertyValue(anchorInfo, newValue);
        anchoredRun.anchorInfo = anchorInfo;
        newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, newValue));
        this.modelManipulator.notifyModelChanged(new AnchorInfoPropertyChangedSubDocumentChange(subDocument.id, anchoredRun.anchoredObjectID, this.jsonAnchorInfoProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (state.isEmpty())
            return;
        var stateValue = state.lastObject;
        var run = subDocument.getRunByPosition(stateValue.interval.start);
        var anchoredRun = run.getType() == run_type/* RunType */.m.AnchoredPictureRun ? run : run;
        this.setPropertyValue(anchoredRun.anchorInfo, stateValue.value);
        this.modelManipulator.notifyModelChanged(new AnchorInfoPropertyChangedSubDocumentChange(subDocument.id, anchoredRun.anchoredObjectID, this.jsonAnchorInfoProperty, state));
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/anchor-info-manipulator.ts



class AnchorInfoManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.allowOverlap = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.AllowOverlap, (prop, val) => prop.allowOverlap = val, (prop) => prop.allowOverlap);
        this.hidden = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.Hidden, (prop, val) => prop.hidden = val, (prop) => prop.hidden);
        this.layoutTableCell = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.LayoutTableCell, (prop, val) => prop.layoutTableCell = val, (prop) => prop.layoutTableCell);
        this.locked = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.Locked, (prop, val) => prop.locked = val, (prop) => prop.locked);
        this.isBehindDoc = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.IsBehindDoc, (prop, val) => prop.isBehindDoc = val, (prop) => prop.isBehindDoc);
        this.leftDistance = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.LeftDistance, (prop, val) => prop.leftDistance = val, (prop) => prop.leftDistance);
        this.rightDistance = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.RightDistance, (prop, val) => prop.rightDistance = val, (prop) => prop.rightDistance);
        this.topDistance = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.TopDistance, (prop, val) => prop.topDistance = val, (prop) => prop.topDistance);
        this.bottomDistance = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.BottomDistance, (prop, val) => prop.bottomDistance = val, (prop) => prop.bottomDistance);
        this.zOrder = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.ZOrder, (prop, val) => prop.zOrder = val, (prop) => prop.zOrder);
        this.wrapType = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.WrapType, (prop, val) => prop.wrapType = val, (prop) => prop.wrapType);
        this.wrapSide = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.WrapSide, (prop, val) => prop.wrapSide = val, (prop) => prop.wrapSide);
        this.horizontalPositionType = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.HorizontalPositionType, (prop, val) => prop.horizontalPositionType = val, (prop) => prop.horizontalPositionType);
        this.horizontalPositionAlignment = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.HorizontalPositionAlignment, (prop, val) => prop.horizontalPositionAlignment = val, (prop) => prop.horizontalPositionAlignment);
        this.verticalPositionType = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.VerticalPositionType, (prop, val) => prop.verticalPositionType = val, (prop) => prop.verticalPositionType);
        this.verticalPositionAlignment = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.VerticalPositionAlignment, (prop, val) => prop.verticalPositionAlignment = val, (prop) => prop.verticalPositionAlignment);
        this.offsetX = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.OffsetX, (prop, val) => prop.offset.x = val, (prop) => prop.offset.x);
        this.offsetY = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.OffsetY, (prop, val) => prop.offset.y = val, (prop) => prop.offset.y);
        this.percentOffsetX = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.PercentOffsetX, (prop, val) => prop.percentOffset.x = val, (prop) => prop.percentOffset.x);
        this.percentOffsetY = new AnchorInfoPropertyManipulator(manipulator, json_floating_enums/* JSONAnchorInfoProperty */.kn.PercentOffsetY, (prop, val) => prop.percentOffset.y = val, (prop) => prop.percentOffset.y);
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/picture/inline-pictures-updated.ts

class InlinePicturesUpdatedSubDocumentChange {
    constructor(subDocumentId, updatedImageInfo) {
        this.subDocumentId = subDocumentId;
        this.updatedImageInfo = updatedImageInfo;
        this.type = enums/* ModelChangeType */.f.InlinePicturesUpdated;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/picture-manipulator/loader/updated-image-info.ts
class UpdatedImageInfo {
    constructor(position, info, size) {
        this.position = position;
        this.info = info;
        this.size = size;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/image-manipulator.ts





class ImageManipulator extends base_manipulator/* BaseManipulator */.G {
    setValue(subDocument, interval, newValue) {
        const oldState = new history_item_state/* HistoryItemIntervalState */.D();
        const newState = new history_item_state/* HistoryItemIntervalState */.D();
        const pictureRun = subDocument.getRunByPosition(interval.start);
        oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, [pictureRun.info.cacheInfo.base64, pictureRun.size.actualSize]));
        newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, [newValue[0], newValue[1]]));
        this.setPropertyValue(subDocument, newState, pictureRun, true);
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (state.isEmpty())
            return;
        const pictureRun = subDocument.getRunByPosition(state.interval.start);
        this.setPropertyValue(subDocument, state, pictureRun, false);
    }
    setPropertyValue(subDocument, state, pictureRun, loaded) {
        const imageCache = this.modelManipulator.model.cache.imageCache;
        const newValue = state.lastObject.value;
        const newInfo = imageCache.createUnloadedInfoByBase64(newValue[0], newValue[1]);
        newInfo.isLoaded = loaded;
        pictureRun.size.cacheInfo = newInfo;
        this.notifyModelChanged(state.interval.start, newInfo, pictureRun.size, subDocument);
    }
    notifyModelChanged(position, imageInfo, size, subDocument) {
        this.modelManipulator.notifyModelChanged(new InlinePicturesUpdatedSubDocumentChange(subDocument.id, new UpdatedImageInfo(position, imageInfo, size)));
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/anchor/shape-changed.ts

class ShapeChangedSubDocumentChange {
    constructor(subDocumentId, objectId, newState) {
        this.subDocumentId = subDocumentId;
        this.objectId = objectId;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.ShapeChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/anchor/shape-property-changed.ts

class ShapePropertyChangedSubDocumentChange {
    constructor(subDocumentId, objectId, property, newState) {
        this.subDocumentId = subDocumentId;
        this.objectId = objectId;
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.ShapePropertyChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/shape-manipulator.ts






class ShapeManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.fillColor = new ShapePropertyManipulator(manipulator, json_floating_enums/* JSONShapeProperty */.An.FillColor, (prop, val) => prop.fillColor = val, (prop) => prop.fillColor);
        this.outlineColor = new ShapePropertyManipulator(manipulator, json_floating_enums/* JSONShapeProperty */.An.OutlineColor, (prop, val) => prop.outlineColor = val, (prop) => prop.outlineColor);
        this.outlineWidth = new ShapePropertyManipulator(manipulator, json_floating_enums/* JSONShapeProperty */.An.OutlineWidth, (prop, val) => prop.outlineWidth = val, (prop) => prop.outlineWidth);
    }
    setValue(subDocument, interval, newValue) {
        let oldState = new history_item_state/* HistoryItemIntervalState */.D();
        let newState = new history_item_state/* HistoryItemIntervalState */.D();
        let run = subDocument.getRunByPosition(interval.start);
        let anchoredRun = run;
        oldState.register(new history_item_state_object/* HistoryItemIntervalShapeStateObject */.xe(interval, anchoredRun.shape.clone()));
        anchoredRun.shape = newValue;
        newState.register(new history_item_state_object/* HistoryItemIntervalShapeStateObject */.xe(interval, newValue));
        this.modelManipulator.notifyModelChanged(new ShapeChangedSubDocumentChange(subDocument.id, anchoredRun.anchoredObjectID, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let stateValue = state.lastObject;
        let run = subDocument.getRunByPosition(stateValue.interval.start);
        let anchoredRun = run;
        anchoredRun.shape = stateValue.value;
        this.modelManipulator.notifyModelChanged(new ShapeChangedSubDocumentChange(subDocument.id, anchoredRun.anchoredObjectID, state));
    }
}
class ShapePropertyManipulator {
    constructor(manipulator, jsonShapeProperty, setPropertyValue, getPropertyValue) {
        this.manipulator = manipulator;
        this.jsonShapeProperty = jsonShapeProperty;
        this.setPropertyValue = setPropertyValue;
        this.getPropertyValue = getPropertyValue;
    }
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var run = subDocument.getRunByPosition(interval.start);
        var anchoredRun = run;
        var shape = anchoredRun.shape.clone();
        oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, this.getPropertyValue(shape)));
        this.setPropertyValue(shape, newValue);
        anchoredRun.shape = shape;
        newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, newValue));
        this.manipulator.notifyModelChanged(new ShapePropertyChangedSubDocumentChange(subDocument.id, anchoredRun.anchoredObjectID, this.jsonShapeProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (state.isEmpty())
            return;
        var stateValue = state.lastObject;
        var run = subDocument.getRunByPosition(stateValue.interval.start);
        var anchoredRun = run;
        this.setPropertyValue(anchoredRun.shape, stateValue.value);
        this.manipulator.notifyModelChanged(new ShapePropertyChangedSubDocumentChange(subDocument.id, anchoredRun.anchoredObjectID, this.jsonShapeProperty, state));
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/anchor/anchored-text-box-size-changed.ts

class AnchoredTextBoxSizeChangedSubDocumentChange {
    constructor(subDocumentId, objectId, position, newState) {
        this.subDocumentId = subDocumentId;
        this.objectId = objectId;
        this.position = position;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/picture/anchored-picture-size-changed.ts

class AnchoredPictureSizeChangedSubDocumentChange {
    constructor(subDocumentId, objectId, position, newState) {
        this.subDocumentId = subDocumentId;
        this.objectId = objectId;
        this.position = position;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.AnchoredPictureSizeChanged;
    }
    toJSON(withPostData) {
        return this.newState.toJSON(withPostData);
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/size-manipulator.ts





class AnchorSizeManipulatorBase extends base_manipulator/* BaseManipulator */.G {
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var run = subDocument.getRunByPosition(interval.start);
        var anchoredRun = run;
        oldState.register(new history_item_state_object/* HistoryItemIntervalAnchorSizeStateObject */.SF(interval, anchoredRun.size.clone()));
        anchoredRun.size = newValue;
        newState.register(new history_item_state_object/* HistoryItemIntervalAnchorSizeStateObject */.SF(interval, newValue));
        this.notify(newState.interval, anchoredRun.anchoredObjectID, newState, subDocument);
        return oldState;
    }
    restoreValue(subDocument, state) {
        var stateValue = state.lastObject;
        var run = subDocument.getRunByPosition(stateValue.interval.start);
        var anchoredRun = run;
        anchoredRun.size = stateValue.value;
        this.notify(state.interval, anchoredRun.anchoredObjectID, state, subDocument);
    }
}
class AnchorTextBoxSizeManipulator extends AnchorSizeManipulatorBase {
    setValue(subDocument, interval, newValue) {
        return super.setValue(subDocument, interval, newValue);
    }
    notify(interval, objectId, newState, subDocument) {
        this.modelManipulator.notifyModelChanged(new AnchoredTextBoxSizeChangedSubDocumentChange(subDocument.id, objectId, interval.start, newState));
    }
}
class AnchorPictureSizeManipulator extends AnchorSizeManipulatorBase {
    setValue(subDocument, interval, newValue) {
        return super.setValue(subDocument, interval, newValue);
    }
    notify(interval, objectId, newState, subDocument) {
        this.modelManipulator.notifyModelChanged(new AnchoredPictureSizeChangedSubDocumentChange(subDocument.id, objectId, interval.start, newState));
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/anchor/anchored-text-box-properties-changed.ts

class AnchoredTextBoxPropertiesChangedSubDocumentChange {
    constructor(subDocumentId, objectId, position, newState) {
        this.subDocumentId = subDocumentId;
        this.objectId = objectId;
        this.position = position;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/text-box-properties-manipulator.ts




class TextBoxPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var run = subDocument.getRunByPosition(interval.start);
        oldState.register(new history_item_state_object/* HistoryItemIntervalAnchoredTextBoxPropertiesStateObject */.vI(interval, run.textBoxProperties.clone()));
        run.textBoxProperties = newValue;
        newState.register(new history_item_state_object/* HistoryItemIntervalAnchoredTextBoxPropertiesStateObject */.vI(interval, newValue));
        this.modelManipulator.notifyModelChanged(new AnchoredTextBoxPropertiesChangedSubDocumentChange(subDocument.id, run.anchoredObjectID, newState.interval.start, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        var stateValue = state.lastObject;
        var run = subDocument.getRunByPosition(stateValue.interval.start);
        run.textBoxProperties = stateValue.value;
        this.modelManipulator.notifyModelChanged(new AnchoredTextBoxPropertiesChangedSubDocumentChange(subDocument.id, run.anchoredObjectID, state.interval.start, state));
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/enum.js
var utils_enum = __webpack_require__(310);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-anchored-object-box.ts
var layout_anchored_object_box = __webpack_require__(9768);
// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/anchor-info-property-history-item.ts
var anchor_info_property_history_item = __webpack_require__(6047);
// EXTERNAL MODULE: ./src/common/model/model-iterator.ts
var model_iterator = __webpack_require__(7747);
// EXTERNAL MODULE: ./src/common/model/manipulators/floating-objects/comparers.ts
var comparers = __webpack_require__(749);
;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/z-order-manipulator.ts










class PosAndAncInfo {
    constructor(anchorInfo, position) {
        this.anchorInfo = anchorInfo;
        this.position = position;
    }
}
class ZOrderManipulator extends base_manipulator/* BaseManipulator */.G {
    getNewZOrder(subDoc) {
        const objects = this.getFloatingObjects(subDoc);
        return objects.length ? list.ListUtils.last(objects).anchorInfo.zOrder + ZOrderManipulator.STEP : ZOrderManipulator.STEP;
    }
    getFloatingObjects(subDoc) {
        const anchorInfos = [];
        const iterator = new model_iterator/* ModelIterator */.w(subDoc, false);
        iterator.setPosition(0);
        do {
            if (utils_enum/* EnumUtils */.Y.isAnyOf(iterator.run.getType(), run_type/* RunType */.m.AnchoredPictureRun, run_type/* RunType */.m.AnchoredTextBoxRun))
                anchorInfos.push(new PosAndAncInfo(iterator.run.anchorInfo, iterator.getAbsolutePosition()));
        } while (iterator.moveToNextRun());
        return anchorInfos.sort(comparers/* posAndAncInfoOneSubDocComparer */.aV);
    }
    setNewZOrder(IModelAccessor, subDocument, position, newZOrder) {
        IModelAccessor.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newZOrder, IModelAccessor.modelManipulator.floatingObject.anchorInfo.zOrder));
    }
    bringToFront(IModelAccessor, parentSubDocument, position) {
        const objects = this.getFloatingObjects(parentSubDocument);
        if (list.ListUtils.last(objects).position == position)
            return true;
        const newZOrder = list.ListUtils.last(objects).anchorInfo.zOrder + ZOrderManipulator.STEP;
        this.setNewZOrder(IModelAccessor, parentSubDocument, position, newZOrder);
        return true;
    }
    sendToBack(IModelAccessor, parentSubDocument, position) {
        const objects = this.getFloatingObjects(parentSubDocument);
        const firstObject = objects[0];
        if (firstObject.position == position)
            return true;
        const minZOrder = firstObject.anchorInfo.zOrder;
        if (minZOrder > 0) {
            this.setNewZOrder(IModelAccessor, parentSubDocument, position, Math.floor(minZOrder / 2));
            return true;
        }
        const objInd = list.ListUtils.indexBy(objects, (elem) => elem.position == position);
        objects.splice(objInd, 1);
        IModelAccessor.history.beginTransaction();
        this.setNewZOrder(IModelAccessor, parentSubDocument, position, 1);
        this.advanceOrder(IModelAccessor, parentSubDocument, objects, 0, 2, false);
        IModelAccessor.history.endTransaction();
        return true;
    }
    bringForward(IModelAccessor, parentSubDocument, position) {
        const objects = this.getFloatingObjects(parentSubDocument);
        if (list.ListUtils.last(objects).position == position)
            return true;
        const objInd = list.ListUtils.indexBy(objects, (elem) => elem.position == position);
        const newZValue = objects[objInd + 1].anchorInfo.zOrder + 1;
        IModelAccessor.history.beginTransaction();
        this.setNewZOrder(IModelAccessor, parentSubDocument, position, newZValue);
        this.advanceOrder(IModelAccessor, parentSubDocument, objects, objInd + 2, newZValue + 1, objects[objInd].anchorInfo.levelType == layout_anchored_object_box/* AnchoredObjectLevelType */.a.BehindText);
        IModelAccessor.history.endTransaction();
        return true;
    }
    sendBackward(IModelAccessor, parentSubDocument, position) {
        const objects = this.getFloatingObjects(parentSubDocument);
        if (objects[0].position == position)
            return true;
        const objInd = list.ListUtils.indexBy(objects, (elem) => elem.position == position);
        const newZValue = objects[objInd - 1].anchorInfo.zOrder + 1;
        const obj = objects.splice(objInd, 1)[0];
        IModelAccessor.history.beginTransaction();
        this.setNewZOrder(IModelAccessor, parentSubDocument, position, newZValue);
        this.advanceOrder(IModelAccessor, parentSubDocument, objects, objInd - 1, newZValue + 1, obj.anchorInfo.levelType == layout_anchored_object_box/* AnchoredObjectLevelType */.a.BehindText);
        IModelAccessor.history.endTransaction();
        return true;
    }
    advanceOrder(IModelAccessor, subDocument, objects, fromIndex, minValue, advanceOnlyBehindText) {
        for (let ind = fromIndex, obj = objects[fromIndex], nextObj; obj; ind++) {
            nextObj = objects[ind];
            if (obj.anchorInfo.zOrder >= minValue || advanceOnlyBehindText && obj.anchorInfo.levelType != layout_anchored_object_box/* AnchoredObjectLevelType */.a.BehindText)
                break;
            const interval = fixed.FixedInterval.fromPositions(minValue, nextObj ? nextObj.anchorInfo.zOrder : obj.anchorInfo.zOrder + ZOrderManipulator.STEP * 2).normalizeLength();
            minValue = Math.floor(interval.center);
            this.setNewZOrder(IModelAccessor, subDocument, obj.position, minValue);
            minValue++;
            obj = nextObj;
        }
    }
}
ZOrderManipulator.STEP = 1024;

;// CONCATENATED MODULE: ./src/common/model/manipulators/floating-objects/floating-objects-manipulator.ts







class FloatingObjectsManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.anchorInfo = new AnchorInfoManipulator(manipulator);
        this.shape = new ShapeManipulator(manipulator);
        this.textBoxSize = new AnchorTextBoxSizeManipulator(manipulator);
        this.pictureSize = new AnchorPictureSizeManipulator(manipulator);
        this.textBoxProperties = new TextBoxPropertiesManipulator(manipulator);
        this.zOrder = new ZOrderManipulator(manipulator);
        this.image = new ImageManipulator(manipulator);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/string.js
var map_string = __webpack_require__(2866);
;// CONCATENATED MODULE: ./src/common/model/changes/model/load-font.ts

class LoadFontInfoModelChange {
    constructor(fontInfo) {
        this.fontInfo = fontInfo;
        this.type = enums/* ModelChangeType */.f.LoadFontInfo;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/properties/merged-props-reset.ts

class ParagraphAndCharacterMergedPropertiesResetSubDocumentChange {
    constructor(subDocumentId, interval) {
        this.subDocumentId = subDocumentId;
        this.interval = interval;
        this.type = enums/* ModelChangeType */.f.ParagraphAndCharacterMergedPropertiesReset;
    }
}

// EXTERNAL MODULE: ./src/common/model/document-model.ts + 11 modules
var document_model = __webpack_require__(4495);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-font-info-converter.ts
var json_font_info_converter = __webpack_require__(7587);
// EXTERNAL MODULE: ./src/common/model/position/linked-interval.ts
var linked_interval = __webpack_require__(7247);
;// CONCATENATED MODULE: ./src/common/model/manipulators/font-manipulator.ts










class FontManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor() {
        super(...arguments);
        this.loadingFontInfosHashtable = {};
    }
    loadFontInfo(fontInfo, subDocument, applyNewFontOnIntervalsAfterLoad, measurer) {
        if (this.modelManipulator.modelManager.richOptions.fonts.limitedFonts)
            return;
        const existingInfo = map_string.StringMapUtils.elementBy(this.loadingFontInfosHashtable, (info) => info.fontInfo.name == fontInfo.name);
        if (existingInfo) {
            existingInfo.addRequest(subDocument, applyNewFontOnIntervalsAfterLoad);
            return;
        }
        const fontCache = this.modelManipulator.model.cache.fontInfoCache;
        const fontIndex = fontCache.count;
        this.loadingFontInfosHashtable[fontInfo.name] = new OnLoadingFontInfoItem(subDocument, applyNewFontOnIntervalsAfterLoad, fontInfo);
        this.modelManipulator.notifyModelChanged(new LoadFontInfoModelChange(fontInfo));
        fontInfo.isLoad = false;
        fontCache.getItem(fontInfo);
        const modelManager = this.modelManipulator.modelManager;
        if (modelManager.clientMode) {
            const jsonItem = json_font_info_converter/* JSONFontInfoConverter */.N.convertToJSON(fontInfo);
            fontCache.merge({ [fontIndex]: jsonItem }, json_font_info_converter/* JSONFontInfoConverter */.N.convertFromJSON);
            const newFontInfo = modelManager.modelManipulator.font.applyFontInfoLoadedOnPaste(measurer, { [json_character_enums/* JSONLoadFontInfoCommand */.oO.FontInfoIndex]: fontIndex }, { [fontIndex]: jsonItem });
            this.modelManipulator.raiseFontAdded(newFontInfo);
        }
    }
    applyFontInfoLoadedOnPaste(measurer, jsonServerParams, jsonFontInfoCache) {
        const jsonFontInfo = jsonFontInfoCache[jsonServerParams[json_character_enums/* JSONLoadFontInfoCommand */.oO.FontInfoIndex]];
        const name = jsonFontInfo[json_character_enums/* JSONFontInfoProperty */.yW.Name];
        const existingNewFontInfo = this.model.cache.fontInfoCache.getItemByName(name);
        if (existingNewFontInfo.isLoad)
            return existingNewFontInfo;
        const onLoadingFontInfoItem = this.loadingFontInfosHashtable[existingNewFontInfo.name];
        if (!onLoadingFontInfoItem)
            return existingNewFontInfo;
        const modelManipulator = this.modelManipulator;
        delete this.loadingFontInfosHashtable[existingNewFontInfo.name];
        measurer.clearCache();
        json_font_info_converter/* JSONFontInfoConverter */.N.convertFromJSON(jsonFontInfo, existingNewFontInfo);
        onLoadingFontInfoItem.applyFont(modelManipulator);
        return existingNewFontInfo;
    }
    addFontByName(name, cssName) {
        const newFont = this.model.cache.fontInfoCache.addFont(name, cssName);
        this.modelManipulator.raiseFontAdded(newFont);
        return newFont;
    }
    removeFont(font) {
        this.model.cache.fontInfoCache.deleteFont(font);
        this.modelManipulator.raiseFontRemoved(font);
    }
}
class OnLoadingFontInfoItem {
    constructor(subDocument, applyNewFontOnIntervalsAfterLoad, fontInfo) {
        this.fontInfo = fontInfo;
        this.subDocuments = [subDocument];
        this.applyNewFontOnIntervalsAfterLoad = [this.getLinkedIntervals(subDocument, applyNewFontOnIntervalsAfterLoad)];
    }
    addRequest(subDocument, applyNewFontOnIntervalsAfterLoad) {
        const intervals = this.getLinkedIntervals(subDocument, applyNewFontOnIntervalsAfterLoad);
        const index = this.subDocuments.indexOf(subDocument);
        if (index < 0) {
            this.subDocuments.push(subDocument);
            this.applyNewFontOnIntervalsAfterLoad.push(intervals);
        }
        else
            list.ListUtils.addListOnTail(this.applyNewFontOnIntervalsAfterLoad[index], intervals);
    }
    applyFont(modelManipulator) {
        list.ListUtils.forEach(this.subDocuments, (subDocument, index) => {
            let resetInterval = null;
            const mergedFixedIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(list.ListUtils.map(this.applyNewFontOnIntervalsAfterLoad[index], (interval) => interval.getFixedInterval()), true);
            for (let interval of mergedFixedIntervals) {
                if (interval.length > 0) {
                    modelManipulator.characterProperties.fontName.setValue(subDocument, interval, this.fontInfo, true);
                    const changed = subDocument.resetMergedFormattingCache(document_model/* ResetFormattingCacheType */.Pc.All, interval);
                    resetInterval = resetInterval ? resetInterval.expand(changed) : changed;
                }
            }
            if (resetInterval)
                modelManipulator.notifyModelChanged(new ParagraphAndCharacterMergedPropertiesResetSubDocumentChange(subDocument.id, resetInterval));
        });
        this.destructor();
    }
    getLinkedIntervals(subDocument, intervals) {
        return list.ListUtils.map(intervals, (fixedInterval) => new linked_interval/* LinkedInterval */.k(subDocument.positionManager, fixedInterval));
    }
    destructor() {
        list.ListUtils.forEach(this.subDocuments, (subDoc, index) => {
            for (let int of this.applyNewFontOnIntervalsAfterLoad[index])
                int.destructor(subDoc.positionManager);
        });
    }
}

// EXTERNAL MODULE: ./src/common/model/changes/change-base.ts
var change_base = __webpack_require__(5816);
;// CONCATENATED MODULE: ./src/common/model/changes/model/header-created.ts


class HeaderFooterCreatedModelChange extends change_base/* ContentInsertedSubDocumentChange */.K {
    constructor(isHeader, headerFooterType, subDocumentInfo) {
        super(subDocumentInfo.subDocumentId, 0, 1);
        this.isHeader = isHeader;
        this.headerFooterType = headerFooterType;
        this.subDocumentInfo = subDocumentInfo;
        this.type = enums/* ModelChangeType */.f.HeaderFooterCreated;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/header-footer-index-changed.ts

class HeaderFooterIndexChangedModelChange {
    constructor(sectionIndex, isHeader, headerFooterType, newIndex) {
        this.sectionIndex = sectionIndex;
        this.isHeader = isHeader;
        this.headerFooterType = headerFooterType;
        this.newIndex = newIndex;
        this.type = enums/* ModelChangeType */.f.HeaderFooterIndexChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/enums.ts
var model_enums = __webpack_require__(4907);
// EXTERNAL MODULE: ./src/common/model/history/items/header-footer-history-items.ts
var header_footer_history_items = __webpack_require__(6942);
;// CONCATENATED MODULE: ./src/common/model/manipulators/header-footer-manipulator.ts





class HeaderFooterManipulatorBase extends base_manipulator/* BaseManipulator */.G {
    createObject(type) {
        let object = this.createObjectCore();
        object.headerFooterType = type;
        let objectIndex = this.getObjectsCache().push(object) - 1;
        this.modelManipulator.notifyModelChanged(new HeaderFooterCreatedModelChange(this.isHeader(), type, object));
        return objectIndex;
    }
    changeObjectIndex(sectionIndex, type, objectIndex) {
        this.modelManipulator.notifyModelChanged(new HeaderFooterIndexChangedModelChange(sectionIndex, this.isHeader(), type, objectIndex));
        let section = this.modelManipulator.model.sections[sectionIndex];
        let oldIndex = this.getContainer(section).getObjectIndex(type);
        this.getContainer(section).setObjectIndex(type, objectIndex);
        return oldIndex;
    }
    insertHeaderFooter(sectionIndex, isHeader, type) {
        this.modelManipulator.batchUpdatableObject.beginUpdate();
        const objectIndex = this.getHeaderFooterManipulator(isHeader).createObject(type);
        this.history.addAndRedo(new (isHeader ? header_footer_history_items/* ChangeHeaderIndexHistoryItem */.uA : header_footer_history_items/* ChangeFooterIndexHistoryItem */.ru)(this.modelManipulator, sectionIndex, type, objectIndex, _oldIndex => { }));
        this.modelManipulator.batchUpdatableObject.endUpdate();
    }
    getHeaderFooterManipulator(isHeader) {
        return isHeader ? this.modelManipulator.header : this.modelManipulator.footer;
    }
}
class HeaderManipulator extends HeaderFooterManipulatorBase {
    createObjectCore() {
        return this.modelManipulator.model.createSubDocument(model_enums/* SubDocumentInfoType */.F.Header, -1).info;
    }
    getObjectsCache() {
        return this.modelManipulator.model.headers;
    }
    isHeader() {
        return true;
    }
    getContainer(section) {
        return section.headers;
    }
}
class FooterManipulator extends HeaderFooterManipulatorBase {
    createObjectCore() {
        return this.modelManipulator.model.createSubDocument(model_enums/* SubDocumentInfoType */.F.Footer, -1).info;
    }
    getObjectsCache() {
        return this.modelManipulator.model.footers;
    }
    isHeader() {
        return false;
    }
    getContainer(section) {
        return section.footers;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/picture/inline-object-run-property-changed.ts

class InlineObjectRunPropertyChangedSubDocumentChange {
    constructor(subDocumentId, property, position, newState) {
        this.subDocumentId = subDocumentId;
        this.property = property;
        this.position = position;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/inline-object-manipulator.ts





class InlineObjectManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.scale = new InlineObjectScaleManipulator(manipulator);
        this.lockAspectRatio = new InlineObjectLockAspectRatioManipulator(manipulator);
    }
}
class InlineObjectPropertyManipulator extends base_manipulator/* BaseManipulator */.G {
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var run = subDocument.getRunByPosition(interval.start);
        oldState.register(new history_item_state_object/* HistoryItemInlineObjectPropertiesStateObject */.CL(interval, this.getPropertyValue(run.size)));
        newState.register(new history_item_state_object/* HistoryItemInlineObjectPropertiesStateObject */.CL(interval, newValue));
        this.setPropertyValue(run.size, newValue);
        this.modelManipulator.notifyModelChanged(new InlineObjectRunPropertyChangedSubDocumentChange(subDocument.id, this.getJSONInlineObjectProperty(), interval.start, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (state.isEmpty())
            return;
        var stateValue = state.lastObject;
        var run = subDocument.getRunByPosition(stateValue.interval.start);
        this.setPropertyValue(run.size, stateValue.value);
        this.modelManipulator.notifyModelChanged(new InlineObjectRunPropertyChangedSubDocumentChange(subDocument.id, this.getJSONInlineObjectProperty(), state.interval.start, state));
    }
}
class InlineObjectScaleManipulator extends InlineObjectPropertyManipulator {
    getPropertyValue(size) {
        return size.scale.clone();
    }
    setPropertyValue(size, value) {
        size.scale.width = value.width;
        size.scale.height = value.height;
    }
    getJSONInlineObjectProperty() {
        return json_floating_enums/* JSONInlineObjectProperty */.Ol.Scales;
    }
}
class InlineObjectLockAspectRatioManipulator extends InlineObjectPropertyManipulator {
    getPropertyValue(size) {
        return size.lockAspectRatio;
    }
    setPropertyValue(size, value) {
        size.lockAspectRatio = value;
    }
    getJSONInlineObjectProperty() {
        return json_floating_enums/* JSONInlineObjectProperty */.Ol.LockAspectRatio;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/list/abstract-numbering-list-added.ts

class AbstractNumberingListAddedModelChange {
    constructor(index) {
        this.index = index;
        this.type = enums/* ModelChangeType */.f.AbstractNumberingListAdded;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/list/abstract-numbering-list-deleted.ts

class AbstractNumberingListDeletedModelChange {
    constructor(index) {
        this.index = index;
        this.type = enums/* ModelChangeType */.f.AbstractNumberingListDeleted;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/list/i-override-list-level-changed.ts

class IOverrideListLevelChangedModelChange {
    constructor(property, newState) {
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.IOverrideListLevelChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/list/numbering-list-added.ts

class NumberingListAddedModelChange {
    constructor(index) {
        this.index = index;
        this.type = enums/* ModelChangeType */.f.NumberingListAdded;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/list/numbering-list-deleted.ts

class NumberingListDeletedModelChange {
    constructor(index) {
        this.index = index;
        this.type = enums/* ModelChangeType */.f.NumberingListDeleted;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/list/paragraph-numbering-list-changed.ts

class ParagraphNumberingListChangedSubDocumentChange {
    get subDocumentId() { return this.subDocument.id; }
    constructor(subDocument, newState, oldAbstractNumberingListIndex) {
        this.subDocument = subDocument;
        this.newState = newState;
        this.oldAbstractNumberingListIndex = oldAbstractNumberingListIndex;
        this.type = enums/* ModelChangeType */.f.ParagraphNumberingListChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-list-enums.ts
var json_list_enums = __webpack_require__(3006);
;// CONCATENATED MODULE: ./src/common/model/changes/model/list/list-level-character-property-changed.ts

class ListLevelCharacterPropertyChangedModelChange {
    constructor(property, newState) {
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level.ts
var list_level = __webpack_require__(2411);
;// CONCATENATED MODULE: ./src/common/model/manipulators/numbering-lists/list-level-character-properties-manipulator.ts







class ListLevelCharacterPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.fontBold = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.bold);
        this.fontItalic = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.italic);
        this.fontName = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo);
        this.fontSize = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.size);
        this.fontCaps = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.allCaps);
        this.fontSmallCaps = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.smallCaps);
        this.fontStrikeoutType = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutType);
        this.fontStrikeoutWordsOnly = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutWordsOnly);
        this.fontUnderlineType = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineType);
        this.fontHidden = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.hidden);
        this.script = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.script);
        this.fontUnderlineWordsOnly = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineWordsOnly);
        this.fontNoProof = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.noProof);
        this.textColor = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.textColor);
        this.shadingInfo = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo);
        this.highlightColor = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.highlightColor);
        this.fontStrikeoutColor = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutColor);
        this.fontUnderlineColor = new list_level_character_properties_manipulator_CharacterPropertiesManipulator(manipulator, character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineColor);
    }
}
class list_level_character_properties_manipulator_CharacterPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator, descriptor) {
        super(manipulator);
        this.descriptor = descriptor;
    }
    setValue(model, isAbstractList, listIndex, listLevelIndex, newValue, newUse) {
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        var numberingList = isAbstractList ? model.abstractNumberingLists[listIndex] : model.numberingLists[listIndex];
        var listLevel = numberingList.levels[listLevelIndex];
        var properties = listLevel.getCharacterProperties();
        if (listLevel instanceof list_level/* NumberingListReferenceLevel */.GC) {
            var abstractNumberingListIndex = numberingList.abstractNumberingListIndex;
            oldState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(true, abstractNumberingListIndex, listLevelIndex, this.descriptor.getProp(properties), properties.getUseValue(this.descriptor.maskValue())));
            this.setValueCore(listLevel, newValue, newUse);
            newState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(true, abstractNumberingListIndex, listLevelIndex, newValue, newUse));
        }
        else {
            oldState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(isAbstractList, listIndex, listLevelIndex, this.descriptor.getProp(properties), properties.getUseValue(this.descriptor.maskValue())));
            this.setValueCore(listLevel, newValue, newUse);
            newState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(isAbstractList, listIndex, listLevelIndex, newValue, newUse));
        }
        this.model.resetMergedFormattingCache(document_model/* ResetFormattingCacheType */.Pc.Character);
        this.modelManipulator.notifyModelChanged(new ListLevelCharacterPropertyChangedModelChange(this.descriptor.getJSONProperty(), newState));
        return oldState;
    }
    restoreValue(model, state) {
        var stateObject = state.objects[0];
        var numberingList = stateObject.isAbstractNumberingList ? model.abstractNumberingLists[stateObject.numberingListIndex] : model.numberingLists[stateObject.numberingListIndex];
        var listLevel = numberingList.levels[stateObject.listLevelIndex];
        this.setValueCore(listLevel, stateObject.value, stateObject.use);
        this.model.resetMergedFormattingCache(document_model/* ResetFormattingCacheType */.Pc.Character);
        this.modelManipulator.notifyModelChanged(new ListLevelCharacterPropertyChangedModelChange(this.descriptor.getJSONProperty(), state));
    }
    setValueCore(level, newValue, newUse) {
        var properties = level.getCharacterProperties().clone();
        this.descriptor.setProp(properties, newValue);
        properties.setUseValue(this.descriptor.maskValue(), newUse);
        level.setCharacterProperties(properties);
        level.onCharacterPropertiesChanged();
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/list/list-level-paragraph-property-changed.ts

class ListLevelParagraphPropertyChangedModelChange {
    constructor(property, newState) {
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-paragraph-enums.ts
var json_paragraph_enums = __webpack_require__(7936);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
;// CONCATENATED MODULE: ./src/common/model/manipulators/numbering-lists/list-level-paragraph-properties-manipulator.ts








class ListLevelParagraphPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.align = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.Alignment, paragraph_properties/* ParagraphPropertiesMask */.m_.UseAlignment, (properties, value) => properties.alignment = value, properties => properties.alignment);
        this.contextualSpacing = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.ContextualSpacing, paragraph_properties/* ParagraphPropertiesMask */.m_.UseContextualSpacing, (properties, value) => properties.contextualSpacing = value, properties => properties.contextualSpacing);
        this.afterAutoSpacing = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.AfterAutoSpacing, paragraph_properties/* ParagraphPropertiesMask */.m_.UseAfterAutoSpacing, (properties, value) => properties.afterAutoSpacing = value, properties => properties.afterAutoSpacing);
        this.shadingInfo = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.ShadingInfo, paragraph_properties/* ParagraphPropertiesMask */.m_.UseShadingInfoIndex, (properties, value) => properties.shadingInfo = value, properties => properties.shadingInfo);
        this.beforeAutoSpacing = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.BeforeAutoSpacing, paragraph_properties/* ParagraphPropertiesMask */.m_.UseBeforeAutoSpacing, (properties, value) => properties.beforeAutoSpacing = value, properties => properties.beforeAutoSpacing);
        this.firstLineIndent = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.FirstLineIndent, paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent, (properties, value) => properties.firstLineIndent = value, properties => properties.firstLineIndent);
        this.keepLinesTogether = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.KeepLinesTogether, paragraph_properties/* ParagraphPropertiesMask */.m_.UseKeepLinesTogether, (properties, value) => properties.keepLinesTogether = value, properties => properties.keepLinesTogether);
        this.firstLineIndentType = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.FirstLineIndentType, paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent, (properties, value) => properties.firstLineIndentType = value, properties => properties.firstLineIndentType);
        this.leftIndent = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.LeftIndent, paragraph_properties/* ParagraphPropertiesMask */.m_.UseLeftIndent, (properties, value) => properties.leftIndent = value, properties => properties.leftIndent);
        this.lineSpacing = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.LineSpacing, paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing, (properties, value) => properties.lineSpacing = value, properties => properties.lineSpacing);
        this.lineSpacingType = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.LineSpacingType, paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing, (properties, value) => properties.lineSpacingType = value, properties => properties.lineSpacingType);
        this.outlineLevel = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.OutlineLevel, paragraph_properties/* ParagraphPropertiesMask */.m_.UseOutlineLevel, (properties, value) => properties.outlineLevel = value, properties => properties.outlineLevel);
        this.pageBreakBefore = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.PageBreakBefore, paragraph_properties/* ParagraphPropertiesMask */.m_.UsePageBreakBefore, (properties, value) => properties.pageBreakBefore = value, properties => properties.pageBreakBefore);
        this.rightIndent = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.RightIndent, paragraph_properties/* ParagraphPropertiesMask */.m_.UseRightIndent, (properties, value) => properties.rightIndent = value, properties => properties.rightIndent);
        this.spacingAfter = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SpacingAfter, paragraph_properties/* ParagraphPropertiesMask */.m_.UseSpacingAfter, (properties, value) => properties.spacingAfter = value, properties => properties.spacingAfter);
        this.spacingBefore = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SpacingBefore, paragraph_properties/* ParagraphPropertiesMask */.m_.UseSpacingBefore, (properties, value) => properties.spacingBefore = value, properties => properties.spacingBefore);
        this.suppressHyphenation = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SuppressHyphenation, paragraph_properties/* ParagraphPropertiesMask */.m_.UseSuppressHyphenation, (properties, value) => properties.suppressHyphenation = value, properties => properties.suppressHyphenation);
        this.suppressLineNumbers = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SuppressLineNumbers, paragraph_properties/* ParagraphPropertiesMask */.m_.UseSuppressLineNumbers, (properties, value) => properties.suppressLineNumbers = value, properties => properties.suppressLineNumbers);
        this.widowOrphanControl = new ParagraphPropertiesManipulator(manipulator, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.WidowOrphanControl, paragraph_properties/* ParagraphPropertiesMask */.m_.UseWidowOrphanControl, (properties, value) => properties.widowOrphanControl = value, properties => properties.widowOrphanControl);
    }
}
class ParagraphPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator, jsonParagraphFormattingProperty, paragraphPropertiesMask, setProperty, getProperty) {
        super(manipulator);
        this.paragraphPropertiesMask = paragraphPropertiesMask;
        this.jsonParagraphFormattingProperty = jsonParagraphFormattingProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(model, isAbstractList, listIndex, listLevelIndex, newValue, newUse) {
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        var numberingList = isAbstractList ? model.abstractNumberingLists[listIndex] : model.numberingLists[listIndex];
        var listLevel = numberingList.levels[listLevelIndex];
        var properties = listLevel.getParagraphProperties();
        if (listLevel instanceof list_level/* NumberingListReferenceLevel */.GC) {
            var abstractNumberingListIndex = numberingList.abstractNumberingListIndex;
            oldState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(true, abstractNumberingListIndex, listLevelIndex, this.getProperty(properties), properties.getUseValue(this.paragraphPropertiesMask)));
            this.setValueCore(listLevel, newValue, newUse);
            newState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(true, abstractNumberingListIndex, listLevelIndex, newValue, newUse));
        }
        else {
            oldState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(isAbstractList, listIndex, listLevelIndex, this.getProperty(properties), properties.getUseValue(this.paragraphPropertiesMask)));
            this.setValueCore(listLevel, newValue, newUse);
            newState.register(new history_item_state_object/* HistoryItemListLevelUseStateObject */.bk(isAbstractList, listIndex, listLevelIndex, newValue, newUse));
        }
        this.model.resetMergedFormattingCache(document_model/* ResetFormattingCacheType */.Pc.Paragraph);
        this.modelManipulator.notifyModelChanged(new ListLevelParagraphPropertyChangedModelChange(this.jsonParagraphFormattingProperty, newState));
        return oldState;
    }
    restoreValue(model, state) {
        var stateObject = state.objects[0];
        var numberingList = stateObject.isAbstractNumberingList ? model.abstractNumberingLists[stateObject.numberingListIndex] : model.numberingLists[stateObject.numberingListIndex];
        var listLevel = numberingList.levels[stateObject.listLevelIndex];
        this.setValueCore(listLevel, stateObject.value, stateObject.use);
        this.model.resetMergedFormattingCache(document_model/* ResetFormattingCacheType */.Pc.Paragraph);
        this.modelManipulator.notifyModelChanged(new ListLevelParagraphPropertyChangedModelChange(this.jsonParagraphFormattingProperty, state));
    }
    setValueCore(level, newValue, newUse) {
        var properties = level.getParagraphProperties().clone();
        this.setProperty(properties, newValue);
        properties.setUseValue(this.paragraphPropertiesMask, newUse);
        level.setParagraphProperties(properties);
        level.onParagraphPropertiesChanged();
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/list/list-level-property-changed.ts

class ListLevelPropertyChangedModelChange {
    constructor(property, newState) {
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.ListLevelPropertyChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/numbering-lists/list-level-properties-manipulator.ts






class ListLevelPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.start = new StartListLevelPropertiesManipulator(manipulator);
        this.format = new FormatListLevelPropertiesManipulator(manipulator);
        this.alignment = new AlignmentListLevelPropertiesManipulator(manipulator);
        this.convertPreviousLevelNumberingToDecimal = new ConvertPreviousLevelNumberingToDecimalListLevelPropertiesManipulator(manipulator);
        this.separator = new SeparatorListLevelPropertiesManipulator(manipulator);
        this.suppressRestart = new SuppressRestartListLevelPropertiesManipulator(manipulator);
        this.suppressBulletResize = new SuppressBulletResizeListLevelPropertiesManipulator(manipulator);
        this.displayFormatString = new DisplayFormatStringListLevelPropertiesManipulator(manipulator);
        this.relativeRestartLevel = new RelativeRestartLevelListLevelPropertiesManipulator(manipulator);
        this.templateCode = new TemplateCodeListLevelPropertiesManipulator(manipulator);
        this.originalLeftIndent = new OriginalLeftIndentListLevelPropertiesManipulator(manipulator);
        this.legacy = new LegacyListLevelPropertiesManipulator(manipulator);
        this.legacySpace = new LegacySpaceListLevelPropertiesManipulator(manipulator);
        this.legacyIndent = new LegacyIndentListLevelPropertiesManipulator(manipulator);
    }
}
class ListLevelPropertiesManipulatorBase {
    constructor(dispatcher) {
        this.manipulator = dispatcher;
    }
    setValue(model, isAbstractList, listIndex, listLevelIndex, newValue) {
        var oldState = new history_item_state/* HistoryItemState */.u();
        var newState = new history_item_state/* HistoryItemState */.u();
        var numberingList = isAbstractList ? model.abstractNumberingLists[listIndex] : model.numberingLists[listIndex];
        var listLevel = numberingList.levels[listLevelIndex];
        if (listLevel instanceof list_level/* NumberingListReferenceLevel */.GC) {
            var abstractNumberingListIndex = numberingList.abstractNumberingListIndex;
            oldState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(true, abstractNumberingListIndex, listLevelIndex, this.getPropertyValue(listLevel.getListLevelProperties())));
            this.setValueCore(listLevel, newValue);
            newState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(true, abstractNumberingListIndex, listLevelIndex, newValue));
        }
        else {
            oldState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(isAbstractList, listIndex, listLevelIndex, this.getPropertyValue(listLevel.getListLevelProperties())));
            this.setValueCore(listLevel, newValue);
            newState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(isAbstractList, listIndex, listLevelIndex, newValue));
        }
        this.manipulator.notifyModelChanged(new ListLevelPropertyChangedModelChange(this.getJSONListLevelProperty(), newState));
        return oldState;
    }
    restoreValue(model, state) {
        var stateObject = state.objects[0];
        var numberingList = stateObject.isAbstractNumberingList ? model.abstractNumberingLists[stateObject.numberingListIndex] : model.numberingLists[stateObject.numberingListIndex];
        var listLevel = numberingList.levels[stateObject.listLevelIndex];
        this.setValueCore(listLevel, stateObject.value);
        this.manipulator.notifyModelChanged(new ListLevelPropertyChangedModelChange(this.getJSONListLevelProperty(), state));
    }
    setValueCore(level, newValue) {
        var properties = level.getListLevelProperties().clone();
        this.setPropertyValue(properties, newValue);
        level.setListLevelProperties(properties);
    }
}
class StartListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.start = newValue;
    }
    getPropertyValue(properties) {
        return properties.start;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.Start;
    }
}
class FormatListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.format = newValue;
    }
    getPropertyValue(properties) {
        return properties.format;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.Format;
    }
}
class AlignmentListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.alignment = newValue;
    }
    getPropertyValue(properties) {
        return properties.alignment;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.Alignment;
    }
}
class ConvertPreviousLevelNumberingToDecimalListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.convertPreviousLevelNumberingToDecimal = newValue;
    }
    getPropertyValue(properties) {
        return properties.convertPreviousLevelNumberingToDecimal;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.ConvertPreviousLevelNumberingToDecimal;
    }
}
class SeparatorListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.separator = newValue;
    }
    getPropertyValue(properties) {
        return properties.separator;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.Separator;
    }
}
class SuppressRestartListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.suppressRestart = newValue;
    }
    getPropertyValue(properties) {
        return properties.suppressRestart;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.SuppressRestart;
    }
}
class SuppressBulletResizeListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.suppressBulletResize = newValue;
    }
    getPropertyValue(properties) {
        return properties.suppressBulletResize;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.SuppressBulletResize;
    }
}
class DisplayFormatStringListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.displayFormatString = newValue;
    }
    getPropertyValue(properties) {
        return properties.displayFormatString;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.DisplayFormatString;
    }
}
class RelativeRestartLevelListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.relativeRestartLevel = newValue;
    }
    getPropertyValue(properties) {
        return properties.relativeRestartLevel;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.RelativeRestartLevel;
    }
}
class TemplateCodeListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.templateCode = newValue;
    }
    getPropertyValue(properties) {
        return properties.templateCode;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.TemplateCode;
    }
}
class OriginalLeftIndentListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.originalLeftIndent = newValue;
    }
    getPropertyValue(properties) {
        return properties.originalLeftIndent;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.OriginalLeftIndent;
    }
}
class LegacyListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.legacy = newValue;
    }
    getPropertyValue(properties) {
        return properties.legacy;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.Legacy;
    }
}
class LegacySpaceListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.legacySpace = newValue;
    }
    getPropertyValue(properties) {
        return properties.legacySpace;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.LegacySpace;
    }
}
class LegacyIndentListLevelPropertiesManipulator extends ListLevelPropertiesManipulatorBase {
    setPropertyValue(properties, newValue) {
        properties.legacyIndent = newValue;
    }
    getPropertyValue(properties) {
        return properties.legacyIndent;
    }
    getJSONListLevelProperty() {
        return json_list_enums/* JSONListLevelProperty */.yk.LegacyIndent;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/numbering-lists/numbering-list-manipulator.ts














class NumberingListManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.listLevelProperties = new ListLevelPropertiesManipulator(manipulator);
        this.listLevelCharacterProperties = new ListLevelCharacterPropertiesManipulator(manipulator);
        this.listLevelParagraphProperties = new ListLevelParagraphPropertiesManipulator(manipulator);
    }
    addAbstractNumberingList(abstractNumberingList) {
        var newIndex = this.model.abstractNumberingLists.push(abstractNumberingList) - 1;
        abstractNumberingList.deleted = false;
        this.modelManipulator.notifyModelChanged(new AbstractNumberingListAddedModelChange(newIndex));
        return newIndex;
    }
    deleteAbstractNumberingList(abstractNumberingListIndex) {
        this.model.abstractNumberingLists[abstractNumberingListIndex].deleted = true;
        this.model.abstractNumberingLists.splice(abstractNumberingListIndex, 1);
        this.modelManipulator.notifyModelChanged(new AbstractNumberingListDeletedModelChange(abstractNumberingListIndex));
    }
    addNumberingList(numberingList) {
        const newIndex = this.model.numberingLists.push(numberingList) - 1;
        numberingList.deleted = false;
        this.modelManipulator.notifyModelChanged(new NumberingListAddedModelChange(newIndex));
        return newIndex;
    }
    deleteNumberingList(numberingListIndex) {
        this.model.numberingLists.splice(numberingListIndex, 1);
        this.modelManipulator.notifyModelChanged(new NumberingListDeletedModelChange(numberingListIndex));
    }
    setIOverrideListLevelOverrideStart(numberingListIndex, levelIndex, overrideStart) {
        var numberingList = this.model.numberingLists[numberingListIndex];
        var listLevel = numberingList.levels[levelIndex];
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        oldState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(false, numberingListIndex, levelIndex, listLevel.overrideStart));
        listLevel.overrideStart = overrideStart;
        newState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(false, numberingListIndex, levelIndex, overrideStart));
        this.modelManipulator.notifyModelChanged(new IOverrideListLevelChangedModelChange(json_list_enums/* JSONIOverrideListLevelProperty */.Me.OverrideStart, newState));
        return oldState;
    }
    restoreIOverrideListLevelOverrideStart(state) {
        var stateObject = state.objects[0];
        var numberingList = this.model.numberingLists[stateObject.numberingListIndex];
        var listLevel = numberingList.levels[stateObject.listLevelIndex];
        listLevel.overrideStart = stateObject.value;
        this.modelManipulator.notifyModelChanged(new IOverrideListLevelChangedModelChange(json_list_enums/* JSONIOverrideListLevelProperty */.Me.OverrideStart, stateObject.value));
    }
    setIOverrideListLevelNewStart(numberingListIndex, levelIndex, newStart) {
        var numberingList = this.model.numberingLists[numberingListIndex];
        var listLevel = numberingList.levels[levelIndex];
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        oldState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(false, numberingListIndex, levelIndex, listLevel.getNewStart()));
        listLevel.setNewStart(newStart);
        newState.register(new history_item_state_object/* HistoryItemListLevelStateObject */.b(false, numberingListIndex, levelIndex, newStart));
        this.modelManipulator.notifyModelChanged(new IOverrideListLevelChangedModelChange(json_list_enums/* JSONIOverrideListLevelProperty */.Me.NewStart, newState));
        return oldState;
    }
    restoreIOverrideListLevelNewStart(state) {
        var stateObject = state.objects[0];
        var numberingList = this.model.numberingLists[stateObject.numberingListIndex];
        var listLevel = numberingList.levels[stateObject.listLevelIndex];
        listLevel.setNewStart(stateObject.value);
        this.modelManipulator.notifyModelChanged(new IOverrideListLevelChangedModelChange(json_list_enums/* JSONIOverrideListLevelProperty */.Me.NewStart, stateObject.value));
    }
    setParagraphNumberingList(subDocument, paragraphIndex, numberingIndex, listLevelIndex) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var paragraph = subDocument.paragraphs[paragraphIndex];
        var oldAbstractNumberingListIndex = paragraph.getAbstractNumberingListIndex();
        oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(paragraph.interval, [paragraph.numberingListIndex, paragraph.listLevelIndex]));
        newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(paragraph.interval, [numberingIndex, listLevelIndex]));
        paragraph.numberingListIndex = numberingIndex;
        paragraph.listLevelIndex = listLevelIndex;
        paragraph.resetParagraphMergedProperties();
        this.modelManipulator.notifyModelChanged(new ParagraphNumberingListChangedSubDocumentChange(subDocument, newState, oldAbstractNumberingListIndex));
        return oldState;
    }
    removeNumberingListFromParagraph(subDocument, paragraphIndex) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var paragraph = subDocument.paragraphs[paragraphIndex];
        var oldAbstractNumberingListIndex = paragraph.getAbstractNumberingListIndex();
        var newListIndex = numbering_list/* NumberingList */.K6.NumberingListNotSettedIndex;
        if (paragraph.isInStyleList())
            newListIndex = numbering_list/* NumberingList */.K6.NoNumberingListIndex;
        oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(paragraph.interval, [paragraph.numberingListIndex, paragraph.listLevelIndex]));
        paragraph.numberingListIndex = newListIndex;
        paragraph.listLevelIndex = -1;
        paragraph.resetParagraphMergedProperties();
        newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(paragraph.interval, [newListIndex, -1]));
        this.modelManipulator.notifyModelChanged(new ParagraphNumberingListChangedSubDocumentChange(subDocument, newState, oldAbstractNumberingListIndex));
        return oldState;
    }
    restoreParagraphNumberingList(subDocument, state) {
        var paragraph = subDocument.getParagraphsByInterval(state.interval)[0];
        var oldAbstractNumberingListIndex = paragraph.getAbstractNumberingListIndex();
        paragraph.numberingListIndex = state.objects[0].value[0];
        paragraph.listLevelIndex = state.objects[0].value[1];
        paragraph.resetParagraphMergedProperties();
        this.modelManipulator.notifyModelChanged(new ParagraphNumberingListChangedSubDocumentChange(subDocument, state, oldAbstractNumberingListIndex));
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/paragraph-manipulator.ts + 1 modules
var paragraph_manipulator = __webpack_require__(7333);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/properties/paragraph-formatting-changed.ts

class ParagraphFormattingChangedSubDocumentChange {
    constructor(subDocumentId, property, newState) {
        this.subDocumentId = subDocumentId;
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.ParagraphFormattingChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/properties/paragraph-properties-changed.ts

class ParagraphPropertiesChangedSubDocumentChange {
    constructor(subDocumentId, paragraphIndex, paragraphInterval, properties, style, tabs, listInfo) {
        this.subDocumentId = subDocumentId;
        this.paragraphIndex = paragraphIndex;
        this.paragraphInterval = paragraphInterval;
        this.properties = properties;
        this.style = style;
        this.tabs = tabs;
        this.listInfo = listInfo;
        this.type = enums/* ModelChangeType */.f.ParagraphPropertiesChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/paragraph-properties-manipulator.ts










class paragraph_properties_manipulator_ParagraphPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.align = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment);
        this.contextualSpacing = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.contextualSpacing);
        this.rightToLeft = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightToLeft);
        this.afterAutoSpacing = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.afterAutoSpacing);
        this.shadingInfo = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.shadingInfo);
        this.beforeAutoSpacing = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.beforeAutoSpacing);
        this.firstLineIndent = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndent);
        this.keepLinesTogether = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.keepLinesTogether);
        this.firstLineIndentType = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndentType);
        this.leftIndent = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.leftIndent);
        this.lineSpacing = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacing);
        this.lineSpacingType = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacingType);
        this.outlineLevel = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.outlineLevel);
        this.pageBreakBefore = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.pageBreakBefore);
        this.rightIndent = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightIndent);
        this.spacingAfter = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingAfter);
        this.spacingBefore = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingBefore);
        this.suppressHyphenation = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.suppressHyphenation);
        this.suppressLineNumbers = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.suppressLineNumbers);
        this.widowOrphanControl = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.widowOrphanControl);
        this.divId = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.divId);
        this.keepWithNext = new MaskedParagraphPropertiesManipulator(manipulator, paragraph_properties/* ParagraphPropertyDescriptor */.c$.keepWithNext);
        this.useValue = new ParagraphPropertiesUseValueManipulator(manipulator);
    }
    changeAllProperties(subDocument, paragraphIndex, properties, style, tabs, numberingListIndex, listLevelIndex) {
        var paragraph = subDocument.paragraphs[paragraphIndex];
        paragraph.setParagraphProperties(properties);
        paragraph.paragraphStyle = style;
        paragraph.tabs = tabs.clone();
        paragraph.numberingListIndex = numberingListIndex;
        paragraph.listLevelIndex = listLevelIndex;
        paragraph.onParagraphPropertiesChanged();
        this.modelManipulator.notifyModelChanged(new ParagraphPropertiesChangedSubDocumentChange(subDocument.id, paragraphIndex, subDocument.paragraphs[paragraphIndex].interval, properties, style, tabs, new properties_bundle/* ParagraphListInfo */.QC(numberingListIndex, listLevelIndex)));
    }
}
class ParagraphPropertiesUseValueManipulator {
    constructor(manipulator) {
        this.manipulator = manipulator;
    }
    setValue(subDocument, interval, newValue) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.paragraphFormatting))
            return oldState;
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var paragraphs = subDocument.getParagraphsByInterval(interval);
        for (var i = 0, paragraph; paragraph = paragraphs[i]; i++) {
            var properties = paragraph.maskedParagraphProperties.clone();
            oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(new fixed.FixedInterval(paragraph.startLogPosition.value, paragraph.length), properties.useValue));
            newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(new fixed.FixedInterval(paragraph.startLogPosition.value, paragraph.length), newValue));
            properties.useValue = newValue;
            paragraph.setParagraphProperties(properties);
            paragraph.onParagraphPropertiesChanged();
        }
        this.manipulator.notifyModelChanged(new ParagraphFormattingChangedSubDocumentChange(subDocument.id, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.UseValue, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.paragraphFormatting))
            return;
        for (var stateValue, i = 0; stateValue = state.objects[i]; i++) {
            var paragraphs = subDocument.getParagraphsByInterval(stateValue.interval);
            for (var i = 0, paragraph; paragraph = paragraphs[i]; i++) {
                var properties = paragraph.maskedParagraphProperties.clone();
                properties.useValue = stateValue.value;
                paragraph.setParagraphProperties(properties);
                paragraph.onParagraphPropertiesChanged();
            }
        }
        this.manipulator.notifyModelChanged(new ParagraphFormattingChangedSubDocumentChange(subDocument.id, json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.UseValue, state));
    }
}
class MaskedParagraphPropertiesManipulator {
    constructor(manipulator, descriptor) {
        this.manipulator = manipulator;
        this.descriptor = descriptor;
    }
    setValue(subDocument, interval, newValue, newUse) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.paragraphFormatting))
            return oldState;
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var paragraphs = subDocument.getParagraphsByInterval(interval);
        for (var i = 0, paragraph; paragraph = paragraphs[i]; i++) {
            var currentInterval = paragraph.interval;
            var properties = paragraph.maskedParagraphProperties.clone();
            oldState.register(new history_item_state_object/* HistoryItemIntervalUseStateObject */.TR(currentInterval, this.descriptor.getProp(properties), properties.getUseValue(this.descriptor.maskValue())));
            newState.register(new history_item_state_object/* HistoryItemIntervalUseStateObject */.TR(currentInterval, newValue, newUse));
            this.descriptor.setProp(properties, newValue);
            properties.setUseValue(this.descriptor.maskValue(), newUse);
            paragraph.setParagraphProperties(properties);
            if (paragraph.hasParagraphMergedProperies() && newUse) {
                var mergedProperties = paragraph.getParagraphMergedProperties().clone();
                this.descriptor.setProp(mergedProperties, newValue);
                paragraph.setParagraphMergedProperies(mergedProperties);
            }
            else
                paragraph.onParagraphPropertiesChanged();
        }
        this.manipulator.notifyModelChanged(new ParagraphFormattingChangedSubDocumentChange(subDocument.id, this.descriptor.getJSONProperty(), newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.paragraphFormatting))
            return;
        if (state.isEmpty())
            return;
        for (var i = 0, stateItem; stateItem = state.objects[i]; i++) {
            var paragraphs = subDocument.getParagraphsByInterval(stateItem.interval);
            for (var j = 0, paragraph; paragraph = paragraphs[j]; j++) {
                var properties = paragraph.maskedParagraphProperties.clone();
                this.descriptor.setProp(properties, stateItem.value);
                properties.setUseValue(this.descriptor.maskValue(), stateItem.use);
                paragraph.setParagraphProperties(properties);
                if (paragraph.hasParagraphMergedProperies()) {
                    var mergedProperties = paragraph.getParagraphMergedProperties().clone();
                    this.descriptor.setProp(mergedProperties, stateItem.value);
                    paragraph.setParagraphMergedProperies(mergedProperties);
                }
                else
                    paragraph.onParagraphPropertiesChanged();
            }
        }
        this.manipulator.notifyModelChanged(new ParagraphFormattingChangedSubDocumentChange(subDocument.id, this.descriptor.getJSONProperty(), state));
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/picture/anchored-pictureinserted.ts


class AnchoredPictureInsertedSubDocumentChange extends change_base/* ContentInsertedSubDocumentChange */.K {
    constructor(subDocumentId, objectId, position, id, size, anchorInfo, containerProperties) {
        super(subDocumentId, position, 1);
        this.objectId = objectId;
        this.id = id;
        this.size = size;
        this.anchorInfo = anchorInfo;
        this.containerProperties = containerProperties;
        this.type = enums/* ModelChangeType */.f.AnchoredPictureInserted;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/picture/inline-picture-inserted.ts


class InlinePictureInsertedSubDocumentChange extends change_base/* ContentInsertedSubDocumentChange */.K {
    constructor(subDocumentId, position, picInfo, containerProperties) {
        super(subDocumentId, position, length);
        this.picInfo = picInfo;
        this.containerProperties = containerProperties;
        this.type = enums/* ModelChangeType */.f.InlinePictureInserted;
    }
}

// EXTERNAL MODULE: ./src/common/model/floating-objects/anchor-info.ts
var anchor_info = __webpack_require__(8868);
// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/change-anchored-picture-size-history-item.ts
var change_anchored_picture_size_history_item = __webpack_require__(7759);
// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/insert-anchored-picture-history-item.ts
var insert_anchored_picture_history_item = __webpack_require__(7130);
// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/shape-property-history-item.ts
var shape_property_history_item = __webpack_require__(7942);
// EXTERNAL MODULE: ./src/common/model/history/base/position-based-history-item.ts
var position_based_history_item = __webpack_require__(7128);
;// CONCATENATED MODULE: ./src/common/model/history/items/insert-inline-picture-history-item.ts


class InsertInlinePictureHistoryItem extends position_based_history_item/* PositionBasedHistoryItem */.H {
    constructor(modelManipulator, subDocPos, charPropsBundle, picInfo, options) {
        super(modelManipulator, subDocPos);
        this.charPropsBundle = charPropsBundle;
        this.picInfo = picInfo;
        this.options = options;
    }
    redo() {
        this.picInfo.publicAPIID = this.modelManipulator.picture.insertInlinePictureInner(this.subDocPos, this.charPropsBundle, this.picInfo, this.options);
        this.options = undefined;
    }
    undo() {
        this.modelManipulator.range.removeIntervalWithoutHistory(this.subDocPos.subDocument, new fixed.FixedInterval(this.subDocPos.position, 1), false);
    }
}

// EXTERNAL MODULE: ./src/common/model/history/base/interval-based-history-item.ts
var interval_based_history_item = __webpack_require__(9726);
;// CONCATENATED MODULE: ./src/common/model/history/items/non-visual-drawing-object-info.ts

class NonVisualDrawingObjectInfoPropertyHistoryItem extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, newValue, propertyManipulator) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
        this.propertyManipulator = propertyManipulator;
    }
    redo() {
        this.oldState = this.propertyManipulator.setValue(this.boundSubDocument, this.interval, this.newValue);
    }
    undo() {
        this.propertyManipulator.restoreValue(this.boundSubDocument, this.oldState);
    }
}

// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/shapes/shape.ts
var shape = __webpack_require__(169);
// EXTERNAL MODULE: ./src/common/model/manipulators/runs-base-manipulator.ts
var runs_base_manipulator = __webpack_require__(3501);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.ts
var insert_picture_manipulator_params = __webpack_require__(4990);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/size.js
var geometry_size = __webpack_require__(6353);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/base64.js
var base64 = __webpack_require__(6477);
// EXTERNAL MODULE: ./src/common/layout-formatter/formatter/utils/columns-calculator.ts
var columns_calculator = __webpack_require__(8931);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/formats/utils/extension-helper.ts
var extension_helper = __webpack_require__(992);
// EXTERNAL MODULE: ./src/common/model/runs/anchored-text-box-run.ts
var anchored_text_box_run = __webpack_require__(2534);
// EXTERNAL MODULE: ./src/common/layout-formatter/formatter/utils/bounds-calculator.ts
var bounds_calculator = __webpack_require__(7353);
;// CONCATENATED MODULE: ./src/common/model/manipulators/picture-manipulator/loader/picture-loader.ts












class PicSizeUpdaterData {
    constructor(subDocument, runPosition, run, options, histItemSize) {
        this.subDocument = subDocument;
        this.runPosition = runPosition;
        this.run = run;
        this.options = options;
        this.histItemSize = histItemSize;
    }
}
class PicSizeUpdater {
    constructor(modelManipulator, pictureLoadedListener) {
        this.loadingData = {};
        this.modelManipulator = modelManipulator;
        this.pictureLoadedListener = pictureLoadedListener;
    }
    getImageLoadingOptions(run) {
        const existingData = this.loadingData[run.cacheInfo.tmpId];
        if (existingData) {
            const data = existingData.find(val => (val instanceof PicSizeUpdaterData) && val.run === run);
            if (data)
                return data.options;
        }
        return null;
    }
    addLoadListener(cacheInfo, callback) {
        const existingData = this.loadingData[cacheInfo.tmpId];
        if (!existingData)
            return;
        existingData.push(callback);
    }
    allPicturesLoaded() {
        return number/* NumberMapUtils */.j.isEmpty(this.loadingData);
    }
    addSizes(subDocPos, options, run, histItemSize) {
        const cacheInfo = run.info.cacheInfo;
        let existingData = this.loadingData[cacheInfo.tmpId];
        if (!existingData)
            existingData = this.loadingData[cacheInfo.tmpId] = [];
        const pos = subDocPos.subDocument.positionManager.registerNotLoadedPicturePosition(subDocPos.position);
        existingData.push(new PicSizeUpdaterData(subDocPos.subDocument, pos, run, options, histItemSize));
    }
    update(cacheInfo, notify) {
        const existingData = this.loadingData[cacheInfo.tmpId];
        if (existingData) {
            delete this.loadingData[cacheInfo.tmpId];
            this.modelManipulator.batchUpdatableObject.beginUpdate();
            for (let extData of existingData) {
                if (extData instanceof PicSizeUpdaterData)
                    this.updateInner(extData, notify);
                else
                    extData();
            }
            this.modelManipulator.batchUpdatableObject.endUpdate();
            this.pictureLoadedListener.notifyPictureLoaded();
        }
    }
    updateInner(data, notify) {
        const options = data.options;
        const originalSize = data.run.info.cacheInfo.size;
        let scaleSize = null;
        if (options.actualSize) {
            scaleSize = geometry_size.Size.initByCommonAction(adp => 100 * adp(options.actualSize) / adp(originalSize));
        }
        else if (options.calculateActualSize) {
            const section = this.modelManipulator.model.getSectionByPosition(data.runPosition.value);
            let maxPictureSize;
            if (data.subDocument.isTextBox()) {
                const anchoredRun = this.getAnchoredTextBoxRun(data.subDocument.info);
                const size = anchoredRun.size;
                const boundsCalculator = new bounds_calculator/* BoundsCalculator */.u();
                boundsCalculator.init(section);
                const margins = anchoredRun.textBoxProperties.getContentMargins();
                let width = (size.useAbsoluteWidth() ? size.absoluteSize.width : unit_converter/* UnitConverter */.u.pixelsToTwipsF(size.getActualRelativeWidth(boundsCalculator))) - margins.horizontal;
                let height;
                if (anchoredRun.textBoxProperties.resizeShapeToFitText)
                    height = originalSize.height;
                else
                    height = size.useAbsoluteHeight() ? size.absoluteSize.height : unit_converter/* UnitConverter */.u.pixelsToTwipsF(size.getActualRelativeHeight(boundsCalculator)) - margins.vertical;
                maxPictureSize = new geometry_size.Size(width, height);
            }
            else
                maxPictureSize = columns_calculator/* ColumnCalculator */.y.findMinimalColumnSize(section.sectionProperties)
                    .applyConverter(unit_converter/* UnitConverter */.u.pixelsToTwips);
            const scale = 100 * Math.min(maxPictureSize.width / Math.max(1, originalSize.width), maxPictureSize.height / Math.max(1, originalSize.height));
            const resultScale = Math.max(1, Math.min(scale, 100));
            scaleSize = new geometry_size.Size(resultScale, resultScale);
        }
        if (scaleSize) {
            if (data.histItemSize)
                data.histItemSize.scale = scaleSize.clone();
            data.run.size.scale = scaleSize.clone();
            if (notify && data.subDocument.getRunByPosition(data.runPosition.value) === data.run)
                this.modelManipulator.notifyModelChanged(new InlinePicturesUpdatedSubDocumentChange(data.subDocument.id, new UpdatedImageInfo(data.runPosition.value, data.run.info.cacheInfo, data.run.size)));
        }
        data.subDocument.positionManager.unregisterNotLoadedPicturePosition(data.runPosition);
        data.options.imageLoadedEvent.forEach(cb => cb(new fixed.FixedInterval(data.runPosition.value, 1), data.run.info.cacheInfo));
    }
    getAnchoredTextBoxRun(info) {
        const parentSubDocument = this.modelManipulator.model.subDocuments[info.parentSubDocumentId];
        const iterator = parentSubDocument.getRunIterator(parentSubDocument.interval);
        while (iterator.moveNext()) {
            const run = iterator.currentRun;
            if (run instanceof anchored_text_box_run/* AnchoredTextBoxRun */.s) {
                const anchoredRun = run;
                if (anchoredRun.subDocId === info.subDocumentId)
                    return anchoredRun;
            }
        }
        return null;
    }
}
class CallbacksInfo {
    constructor(callback, timeoutId) {
        this.callback = callback;
        this.timeoutId = timeoutId;
    }
}
class PictureLoader {
    get imageCache() { return this.modelManipulator.model.cache.imageCache; }
    constructor(modelManipulator) {
        this.callbacksInfo = [];
        this.modelManipulator = modelManipulator;
        this.sizeUpdater = new PicSizeUpdater(modelManipulator, this);
    }
    notifyPictureLoaded() {
        if (this.sizeUpdater.allPicturesLoaded()) {
            const clbs = this.callbacksInfo;
            this.callbacksInfo = [];
            clbs.forEach(info => {
                clearTimeout(info.timeoutId);
                info.callback(true);
            });
        }
    }
    ensureAllPicturesLoaded(timeout, callback) {
        if (this.sizeUpdater.allPicturesLoaded()) {
            callback(true);
            return;
        }
        const info = new CallbacksInfo(callback, setTimeout(() => {
            const index = this.callbacksInfo.indexOf(info);
            if (index >= 0) {
                this.callbacksInfo.splice(index, 1);
                info.callback(false);
            }
        }, timeout));
        this.callbacksInfo.push(info);
    }
    ensureAllPicturesPdfCompatible(timeout, convertImageToCompatibleFormat, callback) {
        this.ensureAllPicturesLoaded(timeout, (_isLoaded) => {
            if ((0,common.isDefined)(convertImageToCompatibleFormat)) {
                const infos = this.modelManipulator.model.getAllImages();
                const promises = [];
                number/* NumberMapUtils */.j.forEach(infos, (info) => {
                    if (info.shouldMakeImagePdfCompatible()) {
                        const promise = convertImageToCompatibleFormat(info.base64);
                        if (promise instanceof Promise) {
                            promises.push(promise.
                                then(converted => {
                                info.setPdfCompatibleBase64(converted);
                            }).catch((reason) => console.log(reason)));
                        }
                    }
                });
                Promise.all(promises).then(() => callback());
            }
            else
                callback();
        });
    }
    load(data) {
        if (data.isLoaded)
            return;
        this.loadInner(data);
    }
    finalizeLoading(loadedData, existingInfo) {
        if (!existingInfo)
            existingInfo = this.imageCache.getPictureData(loadedData.tmpId !== undefined ? loadedData.tmpId : loadedData.actualId);
        if (!existingInfo.isLoaded)
            this.imageCache.finalizeLoading(existingInfo, loadedData);
        this.sizeUpdater.update(existingInfo, true);
    }
    loadPictureByBase64(data, imageLoaded) {
        const img = new Image();
        img.onload = () => {
            data.size = new geometry_size.Size(img.width, img.height).applyConverter(unit_converter/* UnitConverter */.u.pixelsToTwips);
            const contentType = extension_helper/* ExtensionHelper */.M.getMimeTypeFromBase64Uri(data.base64);
            if (contentType == 'image/bmp')
                this.convertBmpToPng(data, img);
            imageLoaded(data);
        };
        img.src = data.base64;
    }
    convertBmpToPng(data, img) {
        const canvas = document.createElement('canvas');
        if (!canvas)
            return;
        const originalSize = data.size.clone().applyConverter(unit_converter/* UnitConverter */.u.twipsToPixelsF);
        const context2d = canvas.getContext('2d');
        if (!context2d)
            return;
        canvas.width = originalSize.width;
        canvas.height = originalSize.height;
        context2d.drawImage(img, 0, 0);
        data.base64 = canvas.toDataURL();
    }
    loadPictureByUrl(data, imageLoaded) {
        const xhr = new XMLHttpRequest();
        xhr.onload = () => {
            base64.Base64Utils.fromBlobAsDataUrl(xhr.response, base64 => {
                data.base64 = base64;
                this.loadPictureByBase64(data, (data) => imageLoaded(data));
            });
        };
        xhr.onerror = () => imageLoaded(this.imageCache.emptyImage);
        try {
            xhr.open('GET', data.imageUrl, true);
            xhr.responseType = 'blob';
            xhr.send();
        }
        catch (_a) {
            imageLoaded(this.imageCache.emptyImage);
        }
    }
    loadPictureByFile(data, imageLoaded) {
        base64.Base64Utils.fromBlobAsDataUrl(data.file, base64 => {
            data.base64 = base64;
            data.file = undefined;
            this.loadPictureByBase64(data, data => imageLoaded(data));
        });
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/picture-manipulator/loader/client-picture-loader.ts


class ClientPictureLoader extends PictureLoader {
    loadInner(data) {
        if (data.file)
            this.loadPictureByFile(data, () => this.finalizeLoading(data, data));
        else if (data.imageUrl)
            this.loadPictureByUrl(data, () => this.finalizeLoading(data, data));
        else if (data.base64)
            this.loadPictureByBase64(data, () => this.finalizeLoading(data, data));
        return data;
    }
    addLoadListener(cacheInfo, callback) {
        this.sizeUpdater.addLoadListener(cacheInfo, callback);
    }
    applyRequest(_jsonObj) {
        throw new Error(errors/* Errors */.D.InternalException);
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/loader/image-loading-options.ts
var image_loading_options = __webpack_require__(4285);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/picture/load-pictures-info.ts

class LoadPicturesInfoSubDocumentChange {
    constructor(subDocumentId, data) {
        this.subDocumentId = subDocumentId;
        this.data = data;
        this.type = enums/* ModelChangeType */.f.LoadPicturesInfo;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/importers/image-cache-info-converter.ts
var image_cache_info_converter = __webpack_require__(4935);
;// CONCATENATED MODULE: ./src/common/model/manipulators/picture-manipulator/loader/server-picture-loader.ts




class ServerPictureLoader extends PictureLoader {
    loadInner(data) {
        if (data.imageUrl && (data.imageUrl.match(/^file\:\/\//gi) || data.imageUrl.match(/^blob\:/gi)))
            this.resetCacheImageInfoToDefault(data);
        if (data.file)
            this.loadPictureByFile(data, data => this.notifyLoad(data));
        else if (data.imageUrl || data.base64)
            this.notifyLoad(data);
        return data;
    }
    notifyLoad(data) {
        this.modelManipulator.notifyModelChanged(new LoadPicturesInfoSubDocumentChange(this.modelManipulator.model.mainSubDocument.id, data));
    }
    applyRequest(jsonObjs) {
        number/* NumberMapUtils */.j.forEach(jsonObjs, jsonImgInfo => this.finalizeLoading(image_cache_info_converter/* JSONCacheImageInfoConverter */.H.convertFromJSON(jsonImgInfo)));
    }
    resetCacheImageInfoToDefault(data) {
        data.imageUrl = undefined;
        data.base64 = this.imageCache.emptyImage.base64;
    }
}

;// CONCATENATED MODULE: ./src/common/model/history/items/floating-objects/change-image-property-history-item.ts

class ChangeImagePropertyHistoryItem extends interval_based_history_item/* IntervalBasedHistoryItem */.w {
    constructor(modelManipulator, subDocInterval, base64, size) {
        super(modelManipulator, subDocInterval);
        this.base64 = base64;
        this.size = size;
    }
    redo() {
        this.oldState = this.modelManipulator.floatingObject.image.setValue(this.boundSubDocument, this.interval, [this.base64, this.size]);
    }
    undo() {
        this.modelManipulator.floatingObject.image.restoreValue(this.boundSubDocument, this.oldState);
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/picture-manipulator/picture-manipulator.ts























class InsertPictureViaHistoryResult {
    constructor(inserted, insertedInterval) {
        this.inserted = inserted;
        this.insertedInterval = insertedInterval;
    }
}
class InsertAnchoredPictureViaHistoryResult {
    constructor(inserted, insertedInterval, anchoredObjectID) {
        this.inserted = inserted;
        this.insertedInterval = insertedInterval;
        this.anchoredObjectID = anchoredObjectID;
    }
}
class PictureManipulator extends runs_base_manipulator/* RunsBaseManipulator */.D {
    constructor(manipulator) {
        super(manipulator);
        this.loader = this.modelManipulator.modelManager.clientMode ?
            new ClientPictureLoader(manipulator) :
            new ServerPictureLoader(manipulator);
        this.descriptionManipulator = new NonVisualDrawingObjectInfoManipulator(manipulator, (prop, val) => prop.description = val, (prop) => prop.description);
    }
    changeHorizontalPosition(subDocument, position, newValue) {
        this.history.beginTransaction();
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.horizontalPositionAlignment, this.modelManipulator.floatingObject.anchorInfo.horizontalPositionAlignment));
        newValue.offset.x;
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.horizontalPositionType, this.modelManipulator.floatingObject.anchorInfo.horizontalPositionType));
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.offset.x, this.modelManipulator.floatingObject.anchorInfo.offsetX));
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.percentOffset.x, this.modelManipulator.floatingObject.anchorInfo.percentOffsetX));
        this.history.endTransaction();
    }
    changeVerticalPosition(subDocument, position, newValue) {
        this.history.beginTransaction();
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.verticalPositionAlignment, this.modelManipulator.floatingObject.anchorInfo.verticalPositionAlignment));
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.verticalPositionType, this.modelManipulator.floatingObject.anchorInfo.verticalPositionType));
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.offset.y, this.modelManipulator.floatingObject.anchorInfo.offsetY));
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue.percentOffset.y, this.modelManipulator.floatingObject.anchorInfo.percentOffsetY));
        this.history.endTransaction();
    }
    changeDescription(subDocument, position, newValue) {
        this.history.addAndRedo(new NonVisualDrawingObjectInfoPropertyHistoryItem(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue, this.modelManipulator.picture.descriptionManipulator));
    }
    changeWrapSide(subDocument, position, newValue) {
        this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue, this.modelManipulator.floatingObject.anchorInfo.wrapSide));
    }
    changeShapeOutlineWidth(subDocument, position, newValue) {
        this.changeNumberedShapeProperty(subDocument, position, newValue, this.modelManipulator.floatingObject.shape.outlineWidth);
    }
    changeShapeOutlineColor(subDocument, position, newColor) {
        this.changeNumberedShapeProperty(subDocument, position, newColor, this.modelManipulator.floatingObject.shape.outlineColor);
    }
    changeShapeFillColor(subDocument, position, newColor) {
        this.changeNumberedShapeProperty(subDocument, position, newColor, this.modelManipulator.floatingObject.shape.fillColor);
    }
    changeNumberedShapeProperty(subDocument, position, newValue, manipulator) {
        this.history.addAndRedo(new shape_property_history_item/* ShapePropertyHistoryItem */.J(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), newValue, manipulator));
    }
    changePictureSize(subDocument, position, size) {
        this.history.addAndRedo(new change_anchored_picture_size_history_item/* ChangeAnchoredPictureSizeHistoryItem */.x(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), size));
    }
    setFloatingObjectInlineTextWrapType(subDocument, position, charPropsBundle) {
        const run = subDocument.getRunByPosition(position);
        const interval = new fixed.FixedInterval(position, 1);
        const pictureRun = run;
        if (run.getType() !== run_type/* RunType */.m.InlinePictureRun) {
            this.history.addTransaction(() => {
                this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, interval), true, false);
                const newInfo = new insert_picture_manipulator_params/* InlinePictureInfo */.AT(pictureRun.size.clone(), new shape/* Shape */.b(), -1, pictureRun.info.containerProperties, pictureRun.info.nonVisualDrawingProperties);
                this.modelManipulator.picture.insertInlinePictureViaHistory(new sub_document/* SubDocumentPosition */.rg(subDocument, interval.start), charPropsBundle, newInfo);
            });
        }
    }
    setFloatingObjectTextWrapType(subDocument, position, charPropsBundle, isBehindDoc, anchorObjectTextWrapType) {
        const modelManipulator = this.modelManipulator;
        let run = subDocument.getRunByPosition(position);
        this.history.beginTransaction();
        if (run.getType() === run_type/* RunType */.m.InlinePictureRun) {
            let interval = new fixed.FixedInterval(position, 1);
            let pictureRun = run;
            const anchorInfo = new anchor_info/* AnchorInfo */.i();
            anchorInfo.zOrder = this.modelManipulator.floatingObject.zOrder.getNewZOrder(subDocument);
            this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, interval), true, false);
            const newInfo = new insert_picture_manipulator_params/* AnchorPictureInfo */.wt(pictureRun.size.clone(), new shape/* Shape */.b(), anchorInfo, pictureRun.info.containerProperties, pictureRun.info.nonVisualDrawingProperties);
            this.modelManipulator.picture.insertAnchoredPictureViaHistory(new sub_document/* SubDocumentPosition */.rg(subDocument, interval.start), charPropsBundle, newInfo, new image_loading_options/* ImageLoadingOptions */.j(false));
            run = subDocument.getRunByPosition(interval.start);
        }
        let anchoredRun = run.getType() == run_type/* RunType */.m.AnchoredPictureRun ? run : run;
        if (anchoredRun.anchorInfo.wrapType !== anchorObjectTextWrapType || anchoredRun.anchorInfo.isBehindDoc !== isBehindDoc) {
            this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), anchorObjectTextWrapType, modelManipulator.floatingObject.anchorInfo.wrapType));
            this.history.addAndRedo(new anchor_info_property_history_item/* AnchorInfoPropertyHistoryItem */.I(modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), isBehindDoc, modelManipulator.floatingObject.anchorInfo.isBehindDoc));
        }
        this.history.endTransaction();
    }
    insertInlinePictureViaHistory(subDocPos, charPropsBundle, picInfo, options) {
        this.history.addAndRedo(new InsertInlinePictureHistoryItem(this.modelManipulator, subDocPos, charPropsBundle, picInfo, options));
        return new InsertPictureViaHistoryResult(true, new fixed.FixedInterval(subDocPos.position, 1));
    }
    insertAnchoredPictureViaHistory(subDocPos, charPropsBundle, picInfo, options) {
        this.history.addAndRedo(new insert_anchored_picture_history_item/* InsertAnchoredPictureHistoryItem */.E(this.modelManipulator, subDocPos, charPropsBundle, picInfo, options));
        return new InsertPictureViaHistoryResult(true, new fixed.FixedInterval(subDocPos.position, 1));
    }
    reloadPicture(subDocument, position, base64, size) {
        this.history.addAndRedo(new ChangeImagePropertyHistoryItem(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, new fixed.FixedInterval(position, 1)), base64, size));
    }
    insertInlinePictureInner(subDocPos, charPropsBundle, picInfo, options = new image_loading_options/* ImageLoadingOptions */.j(false, picInfo.size.actualSize)) {
        const cacheInfo = picInfo.size.cacheInfo;
        const runPicInfo = picInfo.clone();
        this.loader.load(cacheInfo);
        const insertedRun = this.insertRunInternal(subDocPos, charPropsBundle, run_type/* RunType */.m.InlinePictureRun, rich_utils/* RichUtils */.i.specialCharacters.ObjectMark);
        const pictureRun = subDocPos.subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex];
        pictureRun.info = runPicInfo;
        subDocPos.subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex].paragraph.length++;
        this.loader.sizeUpdater.addSizes(subDocPos, options, pictureRun, picInfo.size);
        this.modelManipulator.notifyModelChanged(new InlinePictureInsertedSubDocumentChange(subDocPos.subDocument.id, subDocPos.position, runPicInfo, pictureRun.info.containerProperties));
        if (cacheInfo.isLoaded)
            this.loader.sizeUpdater.update(cacheInfo, true);
        return runPicInfo.publicAPIID;
    }
    insertAnchoredPictureInner(subDocPos, charPropsBundle, picInfo, options = new image_loading_options/* ImageLoadingOptions */.j(false)) {
        if (subDocPos.subDocument.isTextBox())
            return new InsertAnchoredPictureViaHistoryResult(true, new fixed.FixedInterval(subDocPos.position, 1), this.insertInlinePictureInner(subDocPos, charPropsBundle, new insert_picture_manipulator_params/* InlinePictureInfo */.AT(picInfo.size, picInfo.shape, -1, picInfo.containerProperties, picInfo.nonVisualDrawingProperties), options));
        const cacheInfo = picInfo.size.cacheInfo;
        const runPicInfo = picInfo.clone();
        this.loader.load(cacheInfo);
        const insertedRun = this.insertRunInternal(subDocPos, charPropsBundle, run_type/* RunType */.m.AnchoredPictureRun, rich_utils/* RichUtils */.i.specialCharacters.ObjectMark);
        const pictureRun = subDocPos.subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex];
        pictureRun.info = runPicInfo;
        subDocPos.subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex].paragraph.length++;
        this.loader.sizeUpdater.addSizes(subDocPos, options, pictureRun, picInfo.size);
        if (cacheInfo.isLoaded)
            this.loader.sizeUpdater.update(cacheInfo, false);
        this.modelManipulator.notifyModelChanged(new AnchoredPictureInsertedSubDocumentChange(subDocPos.subDocument.id, pictureRun.anchoredObjectID, subDocPos.position, cacheInfo.currId, runPicInfo.size, runPicInfo.anchorInfo, runPicInfo.containerProperties));
        const interval = new fixed.FixedInterval(subDocPos.position, 1);
        this.modelManipulator.floatingObject.shape.fillColor.setValue(subDocPos.subDocument, interval.clone(), runPicInfo.shape.fillColor);
        this.modelManipulator.floatingObject.shape.outlineColor.setValue(subDocPos.subDocument, interval.clone(), runPicInfo.shape.outlineColor);
        this.modelManipulator.floatingObject.shape.outlineWidth.setValue(subDocPos.subDocument, interval.clone(), runPicInfo.shape.outlineWidth);
        return new InsertAnchoredPictureViaHistoryResult(true, interval, pictureRun.anchoredObjectID);
    }
}
class NonVisualDrawingObjectInfoManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator, setPropertyValue, getPropertyValue) {
        super(manipulator);
        this.setPropertyValue = setPropertyValue;
        this.getPropertyValue = getPropertyValue;
    }
    setValue(subDocument, interval, newValue) {
        const oldState = new history_item_state/* HistoryItemIntervalState */.D();
        const newState = new history_item_state/* HistoryItemIntervalState */.D();
        const run = subDocument.getRunByPosition(interval.start);
        const pictureRun = run.getType() == run_type/* RunType */.m.AnchoredPictureRun ? run : run;
        const containerProperties = pictureRun.info.containerProperties;
        oldState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, this.getPropertyValue(containerProperties)));
        this.setPropertyValue(containerProperties, newValue);
        pictureRun.info.containerProperties.copyFrom(containerProperties);
        newState.register(new history_item_state_object/* HistoryItemIntervalStateObject */.Zz(interval, newValue));
        return oldState;
    }
    restoreValue(subDocument, state) {
        if (state.isEmpty())
            return;
        const stateValue = state.lastObject;
        const run = subDocument.getRunByPosition(stateValue.interval.start);
        const anchoredRun = run.getType() == run_type/* RunType */.m.AnchoredPictureRun ? run : run;
        this.setPropertyValue(anchoredRun.info.containerProperties, stateValue.value);
    }
}

// EXTERNAL MODULE: ./src/common/model/range-permissions.ts
var range_permissions = __webpack_require__(3245);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
;// CONCATENATED MODULE: ./src/common/model/manipulators/range-permission-manipulator.ts





class RangePermissionManipulator extends base_manipulator/* BaseManipulator */.G {
    createRangePermission(subDocument, permissionTemplate) {
        subDocument.rangePermissions.push(new range_permissions/* RangePermission */.O(subDocument.positionManager, permissionTemplate.interval, permissionTemplate.userName, permissionTemplate.group));
        subDocument.rangePermissions = subDocument.rangePermissions.sort(range_permissions/* ConstRangePermission */.D.comparer);
        subDocument.filterRangePermissions(this.modelManipulator.modelManager.richOptions.documentProtection);
        this.modelManipulator.notifyModelChanged(new RangePermissionsChangedSubDocumentChange(subDocument.id, permissionTemplate));
    }
    deleteRangePermission(subDocument, permissionTemplate, permissionIndex = list.ListUtils.indexBy(subDocument.rangePermissions, (b) => b.constRangePermission.equals(permissionTemplate))) {
        subDocument.rangePermissions.splice(permissionIndex, 1)[0].destructor(subDocument.positionManager);
        subDocument.filterRangePermissions(this.modelManipulator.modelManager.richOptions.documentProtection);
        this.modelManipulator.notifyModelChanged(new RangePermissionsChangedSubDocumentChange(subDocument.id, permissionTemplate));
    }
    insertRangePermissionsFromSubDocument(fromSubDocument, toSubDocument, fromInterval, modelsConstOffset) {
        const rangePermissions = fromSubDocument.rangePermissions;
        let ind = search.SearchUtils.normedInterpolationIndexOf(rangePermissions, (b) => b.start, fromInterval.start);
        while (rangePermissions[ind] && rangePermissions[ind].start >= fromInterval.start)
            ind--;
        ind = Math.max(0, ind);
        for (let rpm; (rpm = rangePermissions[ind]) && rpm.start <= fromInterval.end; ind++) {
            if (fromInterval.containsInterval(rpm.interval)) {
                const template = rpm.constRangePermission;
                template.interval.start += modelsConstOffset;
                template.interval.end += modelsConstOffset + 1;
                this.createRangePermission(toSubDocument, template);
            }
        }
        toSubDocument.rangePermissions = toSubDocument.rangePermissions.sort(range_permissions/* ConstRangePermission */.D.comparer);
    }
    deleteRangePermissions(subDocument, interval) {
        const rangePermissions = subDocument.rangePermissions;
        const result = [];
        let ind = search.SearchUtils.normedInterpolationIndexOf(rangePermissions, (b) => b.start, interval.start);
        while (rangePermissions[ind] && rangePermissions[ind].start >= interval.start)
            ind--;
        ind = Math.max(0, ind);
        for (let curr; (curr = rangePermissions[ind]) && curr.interval.start <= interval.end;) {
            if (interval.containsInterval(curr.interval)) {
                const tmpl = curr.constRangePermission;
                this.deleteRangePermission(subDocument, tmpl, ind);
                result.push(tmpl);
            }
            else
                ind++;
        }
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/character/history-runs.ts
var history_runs = __webpack_require__(7878);
// EXTERNAL MODULE: ./src/common/model/history/items/paragraph-properties-history-items.ts
var paragraph_properties_history_items = __webpack_require__(6690);
// EXTERNAL MODULE: ./src/common/model/history/items/remove-interval-history-item.ts
var remove_interval_history_item = __webpack_require__(2038);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
// EXTERNAL MODULE: ./src/common/model/manipulators/range/create-range-copy-operation.ts
var create_range_copy_operation = __webpack_require__(4792);
;// CONCATENATED MODULE: ./src/common/model/changes/model/section-merged.ts

class SectionMergedSubDocumentChange {
    constructor(sectionIndex, removedInterval, getPropertiesFromNext) {
        this.sectionIndex = sectionIndex;
        this.removedInterval = removedInterval;
        this.getPropertiesFromNext = getPropertiesFromNext;
        this.type = enums/* ModelChangeType */.f.SectionMerged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/text/anchor-object-removed.ts

class AnchorObjectRemovedSubDocumentChange {
    constructor(subDocumentId, objectId, position) {
        this.subDocumentId = subDocumentId;
        this.objectId = objectId;
        this.position = position;
        this.type = enums/* ModelChangeType */.f.AnchorObjectRemoved;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/text/interval-removed.ts

class IntervalRemovedSubDocumentChange {
    constructor(subDocumentId, interval, removedText) {
        this.subDocumentId = subDocumentId;
        this.interval = interval;
        this.removedText = removedText;
        this.type = enums/* ModelChangeType */.f.IntervalRemoved;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/text/paragraph-merged.ts

class ParagraphMergedSubDocumentChange {
    constructor(subDocumentId, removedInterval, position, getPropertiesFromNext) {
        this.subDocumentId = subDocumentId;
        this.removedInterval = removedInterval;
        this.position = position;
        this.getPropertiesFromNext = getPropertiesFromNext;
        this.type = enums/* ModelChangeType */.f.ParagraphMerged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/range/remove-interval-operation.ts















class RemoveIntervalOperation {
    constructor(manipulator, subDocument) {
        this.currentCellIndex = 0;
        this.modelManipulator = manipulator;
        this.subDocument = subDocument;
    }
    execute(interval, applyPropertiesToLeft, needHistory) {
        this.cellsIterator = new SelectedCellsIterator(this.subDocument, interval);
        const result = new RemoveIntervalOperationResult(this.cellsIterator);
        result.bookmarkItems = this.modelManipulator.bookmark.deleteBookmarks(this.subDocument, interval);
        result.rangePermssionsItems = this.modelManipulator.rangePermission.deleteRangePermissions(this.subDocument, interval);
        if (this.tryPackSelectionInOneRun(interval, result))
            return result;
        var iterator = this.subDocument.getRunIterator(interval);
        if (needHistory)
            this.fillResult(interval, result);
        this.initializeStartPositions(interval.start);
        this.executeCore(applyPropertiesToLeft, interval.start, iterator, result);
        this.correctTablesStart();
        return result;
    }
    correctTablesStart() {
        for (let tbl of this.subDocument.tables) {
            const tblPos = tbl.getStartPosition();
            const parPos = this.subDocument.getParagraphByPosition(tblPos).startLogPosition.value;
            if (tblPos != parPos)
                this.modelManipulator.table.changeTableStartPosition(this.subDocument, tbl, parPos);
        }
    }
    initializeStartPositions(intervalStart) {
        this.position = intervalStart;
        this.currentChunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.subDocument.chunks, (c) => c.startLogPosition.value, intervalStart);
        this.currentSectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.subDocument.documentModel.sections, s => s.startLogPosition.value, intervalStart);
        this.currentParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(this.subDocument.paragraphs, p => p.startLogPosition.value, intervalStart);
        this.fieldIndexThatNeedDelete = -1;
    }
    executeCore(applyPropertiesToLeft, startPosition, iterator, result) {
        var subDocument = this.subDocument;
        var accumulatedInterval = new fixed.FixedInterval(this.position, 0);
        let removedTextList = [];
        while (iterator.moveNext()) {
            if (utils_enum/* EnumUtils */.Y.isAnyOf(iterator.currentRun.getType(), run_type/* RunType */.m.AnchoredPictureRun, run_type/* RunType */.m.AnchoredTextBoxRun)) {
                const currentRun = iterator.currentRun;
                const position = iterator.currentInterval().start;
                const change = new AnchorObjectRemovedSubDocumentChange(this.subDocument.id, currentRun.anchoredObjectID, position);
                if (currentRun instanceof anchored_text_box_run/* AnchoredTextBoxRun */.s)
                    this.modelManipulator.model.subDocumentsCollection.replace(currentRun.subDocId, subDocument.id);
                this.modelManipulator.notifyModelChanged(change);
            }
            if (iterator.currentChunk !== subDocument.chunks[this.currentChunkIndex]) {
                this.removeAccumulatedInterval(accumulatedInterval, this.position, 0, removedTextList);
                this.currentChunkIndex++;
            }
            if (subDocument.documentModel.sections[this.currentSectionIndex] !== iterator.currentSection)
                this.currentSectionIndex++;
            var runIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.chunks[this.currentChunkIndex].textRuns, r => r.startOffset, iterator.currentRun.startOffset);
            if (iterator.currentRun.getType() == run_type/* RunType */.m.FieldCodeStartRun)
                this.removeField(startPosition);
            if (iterator.currentRun.getType() == run_type/* RunType */.m.ParagraphRun) {
                if (subDocument.paragraphs.length === 1) {
                    result.removeLastParagraphRun();
                    continue;
                }
            }
            iterator.currentRun.paragraph.length -= iterator.currentRun.getLength();
            this.modifySectionLength(iterator.currentSection, -iterator.currentRun.getLength());
            const strategy = this.getStrategy(iterator, accumulatedInterval);
            strategy.call(this, accumulatedInterval, removedTextList, runIndex);
        }
        this.removeAccumulatedInterval(accumulatedInterval, -1, 0, removedTextList);
        if (this.shouldMergeParagraphs)
            this.tryMergeStartEndParagraphs(startPosition, applyPropertiesToLeft);
        this.cellsIterator.reset();
    }
    modifySectionLength(section, delta) {
        section.setLength(this.subDocument, section.getLength() + delta);
    }
    getStrategy(iterator, accumulatedInterval) {
        if (!this.canRemoveRun(iterator.currentRun, iterator.currentRun.startOffset + iterator.currentChunk.startLogPosition.value + accumulatedInterval.length, iterator.currentRun.paragraph.length === 0))
            return this.skipRunAndMoveToNextParagraph;
        else if (iterator.currentRun.getType() === run_type/* RunType */.m.SectionRun && iterator.currentSection.getLength() == 0)
            return this.removeWholeSection;
        else if (iterator.currentRun.getType() === run_type/* RunType */.m.ParagraphRun && iterator.currentRun.paragraph.length === 0)
            return this.removeWholeParagraph;
        else if (iterator.currentRun.getType() === run_type/* RunType */.m.SectionRun && this.shouldMergeParagraphs && iterator.currentRun.paragraph.length === 0)
            return this.mergePreviousParagraph;
        else if (!iterator.currentRun.isParagraphOrSectionRun())
            return this.removeTextRun;
        else
            return this.skipParagraphRunAndMergeParagraphsAtTheEnd;
    }
    removeTextRun(accumulatedInterval, removedTextList, runIndex) {
        accumulatedInterval.length += this.subDocument.chunks[this.currentChunkIndex].textRuns[runIndex].getLength();
        removedTextList.push(this.removeRunInternal(this.subDocument, runIndex));
    }
    skipParagraphRunAndMergeParagraphsAtTheEnd(accumulatedInterval, removedTextList, runIndex) {
        this.skipRunAndMoveToNextParagraph(accumulatedInterval, removedTextList, runIndex);
        this.shouldMergeParagraphs = true;
    }
    skipRunAndMoveToNextParagraph(accumulatedInterval, removedTextList, _runIndex) {
        this.subDocument.paragraphs[this.currentParagraphIndex].length++;
        this.modifySectionLength(this.subDocument.documentModel.sections[this.currentSectionIndex], 1);
        this.position++;
        this.removeAccumulatedInterval(accumulatedInterval, this.position, 0, removedTextList);
        this.currentParagraphIndex++;
    }
    mergePreviousParagraph(accumulatedInterval, removedTextList, runIndex) {
        if (runIndex === 0)
            this.currentChunkIndex--;
        var paragraphIndex = this.currentParagraphIndex;
        const par = this.subDocument.paragraphs[paragraphIndex];
        const remodedParagraphMarkPos = par.getEndPosition() - 1;
        par.length++;
        this.removeAccumulatedInterval(accumulatedInterval, this.position, 0, removedTextList);
        this.mergeParagraphsInternal(this.subDocument, paragraphIndex - 1, false);
        this.modelManipulator.notifyModelChanged(new ParagraphMergedSubDocumentChange(this.subDocument.id, new fixed.FixedInterval(remodedParagraphMarkPos, 1), this.subDocument.paragraphs[paragraphIndex - 1].getEndPosition() - 1, false));
    }
    removeWholeSection(accumulatedInterval, removedTextList, runIndex) {
        var subDocument = this.subDocument;
        var currentSection = subDocument.documentModel.sections[this.currentSectionIndex];
        this.removeAccumulatedInterval(accumulatedInterval, this.position, -1, removedTextList);
        if (subDocument.documentModel.sections.length > 1) {
            const deletedSectionMarkPosition = currentSection.getEndPosition();
            subDocument.positionManager.unregisterPosition(currentSection.startLogPosition);
            subDocument.documentModel.sections.splice(this.currentSectionIndex, 1);
            subDocument.positionManager.unregisterPosition(subDocument.paragraphs[this.currentParagraphIndex].startLogPosition);
            subDocument.paragraphs.splice(this.currentParagraphIndex, 1);
            this.removeRunInternal(subDocument, runIndex);
            this.currentSectionIndex--;
            this.modelManipulator.notifyModelChanged(new SectionMergedSubDocumentChange(this.currentSectionIndex + 1, new fixed.FixedInterval(deletedSectionMarkPosition, 1), false));
        }
    }
    removeWholeParagraph(accumulatedInterval, removedTextList, runIndex) {
        var subDocument = this.subDocument;
        this.removeAccumulatedInterval(accumulatedInterval, this.position, -1, removedTextList);
        if (subDocument.paragraphs.length > 1) {
            const pos = subDocument.paragraphs[this.currentParagraphIndex].startLogPosition;
            const removedParagraphMarkPos = pos.value;
            subDocument.positionManager.unregisterPosition(pos);
            subDocument.paragraphs.splice(this.currentParagraphIndex, 1);
            this.removeRunInternal(subDocument, runIndex);
            this.modelManipulator.notifyModelChanged(new ParagraphMergedSubDocumentChange(subDocument.id, new fixed.FixedInterval(removedParagraphMarkPos, 1), this.position, false));
        }
    }
    tryMergeStartEndParagraphs(startPosition, applyPropertiesToLeft) {
        var subDocument = this.subDocument;
        var firstParagraphIndex = subDocument.getParagraphIndexByPosition(startPosition), firstParagraph = subDocument.paragraphs[firstParagraphIndex], lastParagraph = subDocument.paragraphs[firstParagraphIndex + 1];
        var firstSectionIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.documentModel.sections, s => s.startLogPosition.value, firstParagraph.startLogPosition.value), firstSection = subDocument.documentModel.sections[firstSectionIndex];
        if (lastParagraph) {
            this.modifySectionLength(firstSection, -1);
            if (this.subDocument.isMain() && firstSection.getEndPosition() === firstParagraph.getEndPosition() - 1 && firstSectionIndex < subDocument.documentModel.sections.length - 1) {
                const lastSection = subDocument.documentModel.sections[firstSectionIndex + 1];
                const deletedSectionMarkPos = firstSection.getEndPosition();
                subDocument.positionManager.unregisterPosition(lastSection.startLogPosition);
                lastSection.startLogPosition = subDocument.positionManager.registerPosition(firstSection.startLogPosition.value);
                this.modifySectionLength(lastSection, firstSection.getLength());
                subDocument.positionManager.unregisterPosition(firstSection.startLogPosition);
                subDocument.documentModel.sections.splice(firstSectionIndex, 1);
                this.mergeParagraphsInternal(subDocument, firstParagraphIndex, applyPropertiesToLeft);
                this.modelManipulator.notifyModelChanged(new SectionMergedSubDocumentChange(firstSectionIndex, new fixed.FixedInterval(deletedSectionMarkPos, 1), !!applyPropertiesToLeft));
            }
            else {
                const deletedParagraphMarkPos = lastParagraph.startLogPosition.value - 1;
                this.mergeParagraphsInternal(subDocument, firstParagraphIndex, applyPropertiesToLeft);
                this.modelManipulator.notifyModelChanged(new ParagraphMergedSubDocumentChange(subDocument.id, new fixed.FixedInterval(deletedParagraphMarkPos, 1), lastParagraph.startLogPosition.value - 1, !!applyPropertiesToLeft));
            }
        }
    }
    removeField(startPosition) {
        if (this.fieldIndexThatNeedDelete < 0) {
            this.fieldIndexThatNeedDelete = fields_field/* Field */.gN.normedBinaryIndexOf(this.subDocument.fields, startPosition + 1);
            if (this.fieldIndexThatNeedDelete < 0 || startPosition > this.subDocument.fields[this.fieldIndexThatNeedDelete].getFieldStartPosition())
                this.fieldIndexThatNeedDelete++;
        }
        fields_field/* Field */.gN.deleteFieldByIndex(this.subDocument, this.fieldIndexThatNeedDelete, this.modelManipulator);
    }
    tryPackSelectionInOneRun(interval, result) {
        const runInfo = this.subDocument.getRunAndIndexesByPosition(interval.start);
        const runStartPosition = runInfo.chunk.startLogPosition.value + runInfo.run.startOffset;
        const runEndPosition = runStartPosition + runInfo.run.getLength();
        const selectionEndPosition = interval.end;
        const selectionStartPosition = interval.start;
        if ((runStartPosition < selectionStartPosition) && (selectionEndPosition < runEndPosition)) {
            const chunkStartPosition = runInfo.chunk.startLogPosition.value;
            const offsetStartSelectionAtChunk = selectionStartPosition - chunkStartPosition;
            const offsetEndSelectionAtChunk = selectionEndPosition - chunkStartPosition;
            const removedText = runInfo.chunk.getTextInChunk(offsetStartSelectionAtChunk, interval.length);
            result.registerItem(new history_runs/* HistoryRun */.Au(runInfo.run.getType(), runInfo.run.getCharPropsBundle(this.modelManipulator.model), selectionStartPosition, removedText));
            runInfo.run.incLength(-interval.length);
            runInfo.chunk.textBuffer = [runInfo.chunk.textBuffer.substr(0, offsetStartSelectionAtChunk), runInfo.chunk.textBuffer.substr(offsetEndSelectionAtChunk)].join('');
            const paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(this.subDocument.paragraphs, (p) => p.startLogPosition.value, selectionStartPosition);
            this.subDocument.paragraphs[paragraphIndex].length -= interval.length;
            const sectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.subDocument.documentModel.sections, (s) => s.startLogPosition.value, selectionStartPosition);
            this.modifySectionLength(this.subDocument.documentModel.sections[sectionIndex], -interval.length);
            runs_base_manipulator/* RunsBaseManipulator */.D.moveRunsInChunk(runInfo.chunk, runInfo.runIndex + 1, -interval.length);
            this.subDocument.positionManager.advance(selectionStartPosition, -interval.length);
            this.modelManipulator.notifyModelChanged(new IntervalRemovedSubDocumentChange(this.subDocument.id, interval, removedText));
            return true;
        }
        return false;
    }
    canRemoveRun(run, absolutePosition, isLastRunInParagraph) {
        if (run.getType() === run_type/* RunType */.m.ParagraphRun) {
            this.cellsIterator.moveTo(absolutePosition);
            let currentCell = this.cellsIterator.getCurrent();
            if (currentCell && absolutePosition === currentCell.endParagrapPosition.value - 1)
                return false;
            let nextCell = this.cellsIterator.getNext();
            if (nextCell && nextCell.startParagraphPosition.value === absolutePosition + 1) {
                if (!isLastRunInParagraph)
                    return false;
                let prevCell = this.cellsIterator.getPrev();
                if (prevCell && prevCell.parentRow.parentTable.getLastCell() === prevCell)
                    return false;
            }
        }
        return true;
    }
    fillResult(interval, result) {
        var iterator = this.subDocument.getRunIterator(interval);
        var isInsertPropertiesAndStyleIndexToCurrentParagraph = undefined;
        var lastParagraphRemovingLength = 0;
        while (iterator.moveNext()) {
            var currentRun = iterator.currentRun;
            var currentChunk = iterator.currentChunk;
            var currentInterval = iterator.currentInterval();
            lastParagraphRemovingLength += currentInterval.length;
            if (!this.canRemoveRun(currentRun, currentInterval.start, iterator.currentRun.paragraph.length === lastParagraphRemovingLength)) {
                if (currentRun.isParagraphOrSectionRun())
                    lastParagraphRemovingLength = 0;
                continue;
            }
            switch (currentRun.getType()) {
                case run_type/* RunType */.m.TextRun:
                    result.registerItem(new history_runs/* HistoryRun */.Au(currentRun.getType(), currentRun.getCharPropsBundle(this.modelManipulator.model), currentInterval.start, currentChunk.getRunText(currentRun)));
                    break;
                case run_type/* RunType */.m.ParagraphRun:
                case run_type/* RunType */.m.SectionRun:
                    if (isInsertPropertiesAndStyleIndexToCurrentParagraph === undefined)
                        isInsertPropertiesAndStyleIndexToCurrentParagraph = currentRun.paragraph.startLogPosition.value == interval.start;
                    var paragraph;
                    if (isInsertPropertiesAndStyleIndexToCurrentParagraph)
                        paragraph = currentRun.paragraph;
                    else {
                        var nextParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(this.subDocument.paragraphs, (p) => p.startLogPosition.value, currentRun.paragraph.startLogPosition.value) + 1;
                        paragraph = this.subDocument.paragraphs[nextParagraphIndex];
                    }
                    if (currentRun.getType() == run_type/* RunType */.m.ParagraphRun) {
                        result.registerItem(new history_runs/* HistoryRunParagraph */.U2(currentRun.getType(), currentRun.getCharPropsBundle(this.modelManipulator.model), paragraph.getParagraphBundleFull(this.modelManipulator.model), currentInterval.start, currentChunk.getRunText(currentRun), isInsertPropertiesAndStyleIndexToCurrentParagraph));
                    }
                    else {
                        result.registerItem(new history_runs/* HistoryRunSection */.fg(currentRun.getCharPropsBundle(this.modelManipulator.model), paragraph.getParagraphBundleFull(this.modelManipulator.model), iterator.currentSection, currentInterval.start, isInsertPropertiesAndStyleIndexToCurrentParagraph));
                    }
                    lastParagraphRemovingLength = 0;
                    break;
                case run_type/* RunType */.m.InlinePictureRun:
                    var currentPictureRun = currentRun;
                    if (!(currentPictureRun instanceof inline_picture_run/* InlinePictureRun */.p))
                        throw new Error("In TexManipulator.getHistoryRunsFromInterval currentPictureRun not have type InlinePictureRun");
                    result.registerItem(new history_runs/* HistoryRunInlinePicture */.$o(currentInterval.start, currentRun.getCharPropsBundle(this.modelManipulator.model), currentPictureRun.info.clone()));
                    break;
                case run_type/* RunType */.m.FieldCodeStartRun:
                    var globalOffset = currentInterval.start;
                    var fieldIndex = fields_field/* Field */.gN.normedBinaryIndexOf(this.subDocument.fields, globalOffset + 1);
                    var field = this.subDocument.fields[fieldIndex];
                    result.registerItem(new history_runs/* HistoryRunFieldCodeStart */._r(currentRun.getType(), currentRun.getCharPropsBundle(this.modelManipulator.model), globalOffset, currentChunk.getRunText(currentRun), field.showCode, field.getFieldStartPosition(), field.getSeparatorPosition(), field.getFieldEndPosition(), field.getHyperlinkInfo() ? field.getHyperlinkInfo().clone() : undefined));
                    break;
                case run_type/* RunType */.m.FieldCodeEndRun:
                    result.registerItem(new history_runs/* HistoryRunFieldCodeEnd */.oh(currentRun.getType(), currentRun.getCharPropsBundle(this.modelManipulator.model), currentInterval.start, currentChunk.getRunText(currentRun)));
                    break;
                case run_type/* RunType */.m.FieldResultEndRun:
                    result.registerItem(new history_runs/* HistoryRunFieldResultEnd */.tg(currentRun.getType(), currentRun.getCharPropsBundle(this.modelManipulator.model), currentInterval.start, currentChunk.getRunText(currentRun)));
                    break;
                case run_type/* RunType */.m.AnchoredPictureRun:
                    var currentAnchoredRun = currentRun;
                    if (!(currentAnchoredRun instanceof anchored_picture_run/* AnchoredPictureRun */.N))
                        throw new Error("In TextManipulator.getHistoryRunsFromInterval currentAnchoredRun is not of type AnchoredPictureRun");
                    result.registerItem(new history_runs/* HistoryRunAnchoredPicture */.c$(currentRun.getCharPropsBundle(this.modelManipulator.model), currentAnchoredRun.info.clone(), currentInterval.start));
                    break;
                case run_type/* RunType */.m.AnchoredTextBoxRun:
                    const currentAnchoredTextBoxRun = currentRun;
                    if (!(currentAnchoredTextBoxRun instanceof anchored_text_box_run/* AnchoredTextBoxRun */.s))
                        throw new Error("In TextManipulator.getHistoryRunsFromInterval currentAnchoredTextBoxRun is not of type AnchoredTextBoxRun");
                    result.registerItem(new history_runs/* HistoryRunAnchoredTextBox */.TL(currentRun.getCharPropsBundle(this.modelManipulator.model), new text_box_manipulator/* BaseTextBoxInfo */.W(this.modelManipulator.model.subDocuments[currentAnchoredTextBoxRun.subDocId], currentAnchoredTextBoxRun.size.clone(), currentAnchoredTextBoxRun.shape.clone(), currentAnchoredTextBoxRun.anchorInfo.clone(), currentAnchoredTextBoxRun.textBoxProperties.clone(), currentAnchoredTextBoxRun.containerProperties.clone()), currentInterval.start));
                    break;
            }
        }
        iterator.reset();
        this.cellsIterator.reset();
    }
    removeAccumulatedInterval(removingInterval, newPosition, advanceDelta, removedTextList) {
        advanceDelta -= removingInterval.length;
        if (Math.abs(advanceDelta) > 0)
            this.subDocument.positionManager.advance(removingInterval.start, advanceDelta);
        if (removingInterval.length) {
            const removedText = removedTextList.join('');
            this.modelManipulator.notifyModelChanged(new IntervalRemovedSubDocumentChange(this.subDocument.id, removingInterval.clone(), removedText));
            removedTextList.splice(0);
        }
        removingInterval.start = newPosition;
        removingInterval.length = 0;
    }
    mergeParagraphsInternal(subDocument, paragraphIndex, setPropertiesSecondParagraph) {
        var firstParagraph = subDocument.paragraphs[paragraphIndex];
        var lastParagraph = subDocument.paragraphs[paragraphIndex + 1];
        var runInfo = subDocument.getRunAndIndexesByPosition(lastParagraph.startLogPosition.value - 1);
        if (setPropertiesSecondParagraph)
            firstParagraph.copyFrom(lastParagraph);
        var runs = subDocument.getRunsByInterval(new fixed.FixedInterval(lastParagraph.startLogPosition.value, lastParagraph.length));
        var chunkIndexDelta = this.currentChunkIndex - runInfo.chunkIndex;
        this.currentChunkIndex = runInfo.chunkIndex;
        this.removeRunInternal(subDocument, runInfo.runIndex);
        this.currentChunkIndex += chunkIndexDelta;
        firstParagraph.length--;
        for (var i = 0, run; run = runs[i]; i++) {
            run.paragraph = firstParagraph;
            run.onCharacterPropertiesChanged();
            firstParagraph.length += run.getLength();
        }
        subDocument.positionManager.advance(lastParagraph.startLogPosition.value, -1, -1);
        subDocument.positionManager.unregisterPosition(lastParagraph.startLogPosition);
        subDocument.paragraphs.splice(paragraphIndex + 1, 1);
    }
    removeRunInternal(subDocument, runIndex) {
        const currentChunk = subDocument.chunks[this.currentChunkIndex];
        const currentRun = currentChunk.textRuns[runIndex];
        const removedText = currentChunk.textBuffer.substr(currentRun.startOffset, currentRun.getLength());
        currentChunk.textBuffer = currentChunk.textBuffer.substr(0, currentRun.startOffset) + currentChunk.textBuffer.substr(currentRun.startOffset + currentRun.getLength());
        currentChunk.textRuns.splice(runIndex, 1);
        runs_base_manipulator/* RunsBaseManipulator */.D.moveRunsInChunk(currentChunk, runIndex, -currentRun.getLength());
        if (currentChunk.textRuns.length === 0) {
            subDocument.positionManager.unregisterPosition(currentChunk.startLogPosition);
            subDocument.chunks.splice(this.currentChunkIndex--, 1);
        }
        return removedText;
    }
}
class RemoveIntervalOperationResult {
    constructor(cellsIterator) {
        this.historyRuns = [];
        this.nestingLevels = [];
        this.bookmarkItems = [];
        this.rangePermssionsItems = [];
        this.cellsIterator = cellsIterator;
    }
    registerItem(historyRun) {
        this.cellsIterator.moveTo(historyRun.offsetAtStartDocument);
        var cell = this.cellsIterator.getCurrent();
        this.registerItemCore(historyRun, cell ? cell.parentRow.parentTable.nestedLevel : -1);
    }
    registerItemCore(historyRun, nestingLevel) {
        this.historyRuns.push(historyRun);
        this.nestingLevels.push(nestingLevel);
    }
    removeLastParagraphRun() {
        var lastIndex = this.historyRuns.length - 1;
        var lastHistoryRun = this.historyRuns[lastIndex];
        if (lastHistoryRun && lastHistoryRun.type == run_type/* RunType */.m.ParagraphRun) {
            this.historyRuns.splice(lastIndex, 1);
            this.nestingLevels.splice(lastIndex, 1);
        }
    }
    getIterator() {
        return new RemoveIntervalOperationResultIterator(this.historyRuns, this.nestingLevels);
    }
}
class SelectedCellsIterator {
    constructor(subDocument, interval) {
        this.current = 0;
        this.cells = SelectedCellsIterator.getCellsByInterval(subDocument, interval);
    }
    moveTo(position) {
        if (position < this.position)
            this.reset();
        this.position = position;
        let cell;
        while (cell = this.cells[this.current]) {
            if (position >= cell.endParagrapPosition.value)
                this.current++;
            else
                return true;
        }
        return false;
    }
    getCurrent() {
        let cell = this.cells[this.current];
        return cell ? SelectedCellsIterator.correctCurrent(this.position, cell) : null;
    }
    getPrev() {
        let cell = this.cells[this.current];
        if (cell && this.position >= cell.endParagrapPosition.value)
            return cell;
        return this.cells[this.current - 1] || null;
    }
    getNext() {
        let cell = this.cells[this.current];
        if (cell && this.position < cell.startParagraphPosition.value)
            return cell;
        return this.cells[this.current + 1] || null;
    }
    reset() {
        this.current = 0;
        this.position = 0;
    }
    static getCellsByInterval(subDocument, interval) {
        if (subDocument.tables.length === 0)
            return [];
        let table = subDocument.tablesByLevels[0][Math.max(0, search.SearchUtils.normedInterpolationIndexOf(subDocument.tablesByLevels[0], t => t.getStartPosition(), interval.start))];
        let intervalEnd = interval.end;
        if (intervalEnd < table.getStartPosition())
            return [];
        let result = [];
        this.collectCellsByIntervalCore(subDocument, result, table, interval.start, intervalEnd);
        return result.sort((c1, c2) => c1.endParagrapPosition.value - c2.endParagrapPosition.value);
    }
    static collectCellsByIntervalCore(subDocument, result, table, intervalStart, intervalEnd) {
        let nextTable = subDocument.tables[table.index + 1];
        if (nextTable && nextTable.getStartPosition() <= intervalEnd)
            this.collectCellsByIntervalCore(subDocument, result, nextTable, intervalStart, intervalEnd);
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                if (intervalStart < cell.endParagrapPosition.value && intervalEnd > cell.startParagraphPosition.value)
                    result.push(cell);
                else if (intervalStart === cell.endParagrapPosition.value && cell.parentRow.parentTable.getLastCell() === cell)
                    result.push(cell);
                else if (cell.parentRow.parentTable.getFirstCell() === cell && cell.startParagraphPosition.value === intervalEnd)
                    result.push(cell);
                else if (cell.startParagraphPosition.value > intervalEnd)
                    return;
            }
        }
    }
    static correctCurrent(position, cell) {
        if (position >= cell.startParagraphPosition.value && position < cell.endParagrapPosition.value)
            return cell;
        if (position < cell.startParagraphPosition.value && cell.parentRow.parentTable.parentCell)
            return this.correctCurrent(position, cell.parentRow.parentTable.parentCell);
        return null;
    }
}
class RemoveIntervalOperationResultIterator {
    constructor(historyRuns, nestingLevels) {
        this.position = -1;
        this.historyRuns = historyRuns;
        this.nestingLevels = nestingLevels;
    }
    moveNext() {
        this.position++;
        this.currentHistoryRun = this.historyRuns[this.position];
        this.currentNestingLevel = this.nestingLevels[this.position];
        return !!this.currentHistoryRun;
    }
}

// EXTERNAL MODULE: ./src/common/model/bookmarks.ts
var bookmarks = __webpack_require__(1823);
;// CONCATENATED MODULE: ./src/common/model/manipulators/range/restore-removed-interval-operation.ts











class RestoreRemovedIntervalOperation {
    constructor(manipulator, subDocument) {
        this.currentTableIndex = undefined;
        this.modelManipulator = manipulator;
        this.subDocument = subDocument;
    }
    execute(removeOperationResult) {
        var iterator = removeOperationResult.getIterator();
        var subDocument = this.subDocument;
        var fields = this.subDocument.fields;
        const fieldStackHistory = [];
        while (iterator.moveNext()) {
            var historyRun = iterator.currentHistoryRun;
            switch (historyRun.type) {
                case run_type/* RunType */.m.ParagraphRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunParagraph */.U2))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.ParagraphRun, but type historyRun != HistoryRunParagraph. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    let historyRunParagraph = historyRun;
                    let currentTable = this.getTableForShifting(historyRunParagraph.offsetAtStartDocument);
                    this.modelManipulator.paragraph.insertParagraphInner(new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRunParagraph.offsetAtStartDocument), historyRunParagraph.charPropsBundle, historyRunParagraph.parPropsBundle, historyRunParagraph.applyDirectlyToNewParagraph));
                    if (currentTable && currentTable.nestedLevel > iterator.currentNestingLevel)
                        this.shiftTablesToPosition(currentTable, historyRunParagraph.offsetAtStartDocument + 1, iterator.currentNestingLevel);
                    break;
                }
                case run_type/* RunType */.m.SectionRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunSection */.fg))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.SectionRun, but type historyRun != HistoryRunSection. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    var historyRunSection = historyRun;
                    this.modelManipulator.section.insertSection(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRunSection.offsetAtStartDocument), historyRunSection.charPropsBundle, historyRunSection.sectionProperties, true, historyRunSection.parPropsBundle, historyRunSection.applyDirectlyToNewParagraph);
                    break;
                }
                case run_type/* RunType */.m.InlinePictureRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunInlinePicture */.$o))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.InlinePictureRun, but type historyRun != HistoryRunInlinePicture. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    const inlineHistoryRun = historyRun;
                    this.modelManipulator.picture.insertInlinePictureInner(new sub_document/* SubDocumentPosition */.rg(subDocument, inlineHistoryRun.offsetAtStartDocument), inlineHistoryRun.charPropsBundle, inlineHistoryRun.picInfo, inlineHistoryRun.options);
                    break;
                }
                case run_type/* RunType */.m.FieldCodeStartRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunFieldCodeStart */._r))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.HistoryRunFieldCodeStart, but type historyRun != HistoryRunFieldCodeStart. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    fieldStackHistory.push(historyRun);
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    break;
                }
                case run_type/* RunType */.m.FieldResultEndRun: {
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    var histFieldCodeStartRun = fieldStackHistory.pop();
                    var fieldInsertIndex = 0;
                    if (fields.length > 0) {
                        fieldInsertIndex = Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(fields, histFieldCodeStartRun.startPosition + 1));
                        if (histFieldCodeStartRun.startPosition > fields[fieldInsertIndex].getFieldStartPosition())
                            fieldInsertIndex++;
                    }
                    var newField = new fields_field/* Field */.gN(subDocument.positionManager, fieldInsertIndex, histFieldCodeStartRun.startPosition, histFieldCodeStartRun.separatorPosition, histFieldCodeStartRun.endPosition, histFieldCodeStartRun.showCode, histFieldCodeStartRun.hyperlinkInfo ? histFieldCodeStartRun.hyperlinkInfo.clone() : undefined);
                    fields_field/* Field */.gN.addField(fields, newField);
                    this.modelManipulator.notifyModelChanged(new inserted/* FieldInsertedSubDocumentChange */.s(subDocument.id, histFieldCodeStartRun.startPosition, histFieldCodeStartRun.separatorPosition, histFieldCodeStartRun.endPosition));
                    if (histFieldCodeStartRun.hyperlinkInfo)
                        this.modelManipulator.notifyModelChanged(new hyperlink_info_changed/* HyperlinkInfoChangedSubDocumentChange */.a(subDocument.id, fixed.FixedInterval.fromPositions(histFieldCodeStartRun.separatorPosition + 1, histFieldCodeStartRun.endPosition - 1), fixed.FixedInterval.fromPositions(histFieldCodeStartRun.startPosition + 1, histFieldCodeStartRun.endPosition), histFieldCodeStartRun.hyperlinkInfo));
                    break;
                }
                case run_type/* RunType */.m.AnchoredPictureRun: {
                    const anchoredPictureHistoryRun = historyRun;
                    this.modelManipulator.picture.insertAnchoredPictureInner(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, anchoredPictureHistoryRun.picInfo);
                    break;
                }
                case run_type/* RunType */.m.AnchoredTextBoxRun: {
                    const anchoredTextBoxHistoryRun = historyRun;
                    const innerSubDocument = anchoredTextBoxHistoryRun.textBoxInfo.innerSubDocument;
                    this.modelManipulator.textBox.insertAnchoredTextBox(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, anchoredTextBoxHistoryRun.textBoxInfo);
                    this.modelManipulator.model.subDocumentsCollection.restore(innerSubDocument.id);
                    break;
                }
                default: {
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    break;
                }
            }
        }
        for (let bkmTemplate of removeOperationResult.bookmarkItems)
            this.modelManipulator.bookmark.createBookmark(subDocument, bkmTemplate, false);
        subDocument.bookmarks = subDocument.bookmarks.sort(bookmarks/* ConstBookmark */.Om.comparer);
    }
    shiftTablesToPosition(table, position, minNestingLevel) {
        this.modelManipulator.table.changeTableStartPosition(this.subDocument, table, position);
        var prevTable = this.subDocument.tables[table.index - 1];
        if (prevTable && prevTable.nestedLevel > minNestingLevel)
            this.shiftTablesToPosition(prevTable, position, minNestingLevel);
    }
    getTableForShifting(position) {
        if (this.currentTableIndex === undefined) {
            this.currentTableIndex = search.SearchUtils.normedInterpolationIndexOf(this.subDocument.tables, t => t.getStartPosition(), position);
            while (this.currentTableIndex > -1 && this.subDocument.tables[this.currentTableIndex].nestedLevel > 0)
                this.currentTableIndex--;
        }
        var table;
        while (table = this.subDocument.tables[this.currentTableIndex]) {
            if (position >= table.getEndPosition()) {
                this.currentTableIndex++;
                continue;
            }
            else if (position < table.getStartPosition())
                return null;
            var nextTable = this.subDocument.tables[this.currentTableIndex + 1];
            if (!nextTable || nextTable.getStartPosition() > position)
                return table;
            this.currentTableIndex++;
        }
        return null;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/range/range-manipulator.ts


















class RangeManipulator extends base_manipulator/* BaseManipulator */.G {
    copyIntervalTo(subDocument, interval, toPosition) {
        this.history.addTransaction(() => {
            create_range_copy_operation/* RangeCopy */.H.create(new sub_document/* SubDocumentIntervals */.Jt(subDocument, [interval]))
                .insertTo(this.modelManipulator, new sub_document/* SubDocumentPosition */.rg(subDocument, toPosition));
        });
    }
    moveIntervalTo(subDocInterval, toPosition) {
        subDocInterval.validateInterval();
        this.history.beginTransaction();
        const rangeCopy = create_range_copy_operation/* RangeCopy */.H.create(new sub_document/* SubDocumentIntervals */.Jt(subDocInterval.subDocument, [subDocInterval.interval]));
        const insertedInterval = rangeCopy.insertTo(this.modelManipulator, new sub_document/* SubDocumentPosition */.rg(subDocInterval.subDocument, toPosition));
        if (toPosition < subDocInterval.interval.start)
            this.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocInterval.subDocument, new fixed.FixedInterval(subDocInterval.interval.start + insertedInterval.length, subDocInterval.interval.length)), false, true);
        else {
            this.removeInterval(subDocInterval, false, true);
            insertedInterval.start -= subDocInterval.interval.length;
        }
        this.history.endTransaction();
        return insertedInterval;
    }
    removeIntervalInner(subDocument, interval, setPropertiesSecondParagraph) {
        var operation = new RemoveIntervalOperation(this.modelManipulator, subDocument);
        return operation.execute(interval, setPropertiesSecondParagraph, true);
    }
    removeIntervalWithoutHistory(subDocument, interval, setPropertiesSecondParagraph) {
        var operation = new RemoveIntervalOperation(this.modelManipulator, subDocument);
        operation.execute(interval, setPropertiesSecondParagraph, false);
    }
    restoreRemovedInterval(subDocument, removeOperationResult) {
        new RestoreRemovedIntervalOperation(this.modelManipulator, subDocument).execute(removeOperationResult);
    }
    unpackHistoryRunsToModel(subDocument, historyRuns) {
        var fields = subDocument.fields;
        var fieldStackHistory = [];
        for (var historyRunIndex = 0, historyRun; historyRun = historyRuns[historyRunIndex]; historyRunIndex++) {
            switch (historyRun.type) {
                case run_type/* RunType */.m.ParagraphRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunParagraph */.U2))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.ParagraphRun, but type historyRun != HistoryRunParagraph. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    var historyRunParagraph = historyRun;
                    this.modelManipulator.paragraph.insertParagraphInner(new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRunParagraph.offsetAtStartDocument), historyRunParagraph.charPropsBundle, historyRunParagraph.parPropsBundle, historyRunParagraph.applyDirectlyToNewParagraph));
                    break;
                }
                case run_type/* RunType */.m.SectionRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunSection */.fg))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.SectionRun, but type historyRun != HistoryRunSection. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    var historyRunSection = historyRun;
                    this.modelManipulator.section.insertSection(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRunSection.offsetAtStartDocument), historyRunSection.charPropsBundle, historyRunSection.sectionProperties, true, historyRunSection.parPropsBundle, historyRunSection.applyDirectlyToNewParagraph);
                    break;
                }
                case run_type/* RunType */.m.InlinePictureRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunInlinePicture */.$o))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.InlinePictureRun, but type historyRun != HistoryRunInlinePicture. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    this.modelManipulator.picture.insertInlinePictureInner(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.picInfo, historyRun.options);
                    break;
                }
                case run_type/* RunType */.m.FieldCodeStartRun: {
                    if (!(historyRun instanceof history_runs/* HistoryRunFieldCodeStart */._r))
                        throw new Error("In unpackHistoryRunsToModel type text run = TextRunType.HistoryRunFieldCodeStart, but type historyRun != HistoryRunFieldCodeStart. historyRun.offsetAtStartDocument = " +
                            historyRun.offsetAtStartDocument + ", historyRun.text = " + historyRun.text);
                    fieldStackHistory.push(historyRun);
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    break;
                }
                case run_type/* RunType */.m.FieldResultEndRun: {
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    var histFieldCodeStartRun = fieldStackHistory.pop();
                    var fieldInsertIndex = 0;
                    if (fields.length > 0) {
                        fieldInsertIndex = Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(fields, histFieldCodeStartRun.startPosition + 1));
                        if (histFieldCodeStartRun.startPosition > fields[fieldInsertIndex].getFieldStartPosition())
                            fieldInsertIndex++;
                    }
                    var newField = new fields_field/* Field */.gN(subDocument.positionManager, fieldInsertIndex, histFieldCodeStartRun.startPosition, histFieldCodeStartRun.separatorPosition, histFieldCodeStartRun.endPosition, histFieldCodeStartRun.showCode, histFieldCodeStartRun.hyperlinkInfo ? histFieldCodeStartRun.hyperlinkInfo.clone() : undefined);
                    fields_field/* Field */.gN.addField(fields, newField);
                    this.modelManipulator.notifyModelChanged(new inserted/* FieldInsertedSubDocumentChange */.s(subDocument.id, histFieldCodeStartRun.startPosition, histFieldCodeStartRun.separatorPosition, histFieldCodeStartRun.endPosition));
                    if (histFieldCodeStartRun.hyperlinkInfo)
                        this.modelManipulator.notifyModelChanged(new hyperlink_info_changed/* HyperlinkInfoChangedSubDocumentChange */.a(subDocument.id, fixed.FixedInterval.fromPositions(histFieldCodeStartRun.separatorPosition + 1, histFieldCodeStartRun.endPosition - 1), fixed.FixedInterval.fromPositions(histFieldCodeStartRun.startPosition + 1, histFieldCodeStartRun.separatorPosition), histFieldCodeStartRun.hyperlinkInfo));
                    break;
                }
                default: {
                    this.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, historyRun.offsetAtStartDocument), historyRun.charPropsBundle, historyRun.type, historyRun.text));
                    break;
                }
            }
        }
    }
    removeInterval(subDocInterval, removeTableIfItMatchesWithInterval, clearLastParagraphIfIntervalMatchesWholeDocument, forbidNonEmptyParagraphRemovingBeforeTable) {
        if (subDocInterval.interval.length == 0)
            return;
        this.history.beginTransaction();
        this.modelManipulator.table.removeTablesOnInterval(subDocInterval, removeTableIfItMatchesWithInterval);
        const documentEndPosition = subDocInterval.subDocument.getDocumentEndPosition();
        const isWholeDocumentRemoved = clearLastParagraphIfIntervalMatchesWholeDocument &&
            subDocInterval.interval.start === 0 && subDocInterval.interval.length === documentEndPosition;
        const intervalEndPosition = subDocInterval.interval.end;
        if (intervalEndPosition == documentEndPosition)
            subDocInterval.interval.length -= 1;
        else {
            const endParIndex = subDocInterval.subDocument.getParagraphIndexByPosition(intervalEndPosition);
            if (endParIndex > 0) {
                const endPar = subDocInterval.subDocument.paragraphs[endParIndex];
                const beforeEndPar = subDocInterval.subDocument.paragraphs[endParIndex - 1];
                const intervalEndsInParagraphStart = intervalEndPosition == endPar.startLogPosition.value;
                const isOnlyParagraphMarkRemoved = intervalEndsInParagraphStart && subDocInterval.interval.length == 1;
                const isParagraphEndsBeforeTable = intervalEndsInParagraphStart && !beforeEndPar.getTableCell() && endPar.getTableCell();
                if (!isOnlyParagraphMarkRemoved && forbidNonEmptyParagraphRemovingBeforeTable && isParagraphEndsBeforeTable)
                    subDocInterval.interval.length -= 1;
            }
        }
        var setPropertiesSecondParagraph = search.SearchUtils.binaryIndexOf(subDocInterval.subDocument.paragraphs, (p) => p.startLogPosition.value - subDocInterval.interval.start) >= 0;
        this.history.addAndRedo(new remove_interval_history_item/* RemoveIntervalHistoryItem */.k(this.modelManipulator, subDocInterval, setPropertiesSecondParagraph));
        if (isWholeDocumentRemoved) {
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphPropertiesHistoryItem */.Ci(this.modelManipulator, subDocInterval.subDocument, 0, paragraph_properties/* MaskedParagraphProperties */.bq.createDefault(this.model), this.model.getDefaultParagraphStyle(), -1, -1, new paragraph_style/* TabProperties */.jy()));
            this.modelManipulator.characterProperties.resetCharacterFormatting(subDocInterval.subDocument, new fixed.FixedInterval(0, 1));
        }
        this.history.endTransaction();
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/text/section-inserted.ts


class SectionInsertedSubDocumentChange extends change_base/* ContentInsertedSubDocumentChange */.K {
    constructor(subDocumentId, position, section, sectionIndex) {
        super(subDocumentId, position, 1);
        this.section = section;
        this.sectionIndex = sectionIndex;
        this.type = enums/* ModelChangeType */.f.SectionInserted;
    }
}

;// CONCATENATED MODULE: ./src/common/model/history/items/insert-section-history-item.ts



class InsertSectionHistoryItem extends position_based_history_item/* PositionBasedHistoryItem */.H {
    constructor(modelManipulator, subDocPos, charPropsBundle, parPropsBundle, sectionProperties, isInsertPropertiesToCurrentSection, isInsertPropertiesAndStyleIndexToCurrentParagraph) {
        super(modelManipulator, subDocPos);
        this.charPropsBundle = charPropsBundle;
        this.parPropsBundle = parPropsBundle;
        this.sectionProperties = sectionProperties;
        this.isInsertPropertiesToCurrentSection = isInsertPropertiesToCurrentSection;
        this.isInsertPropertiesAndStyleIndexToCurrentParagraph = isInsertPropertiesAndStyleIndexToCurrentParagraph;
    }
    redo() {
        this.modelManipulator.section.insertSection(this.subDocPos, this.charPropsBundle, this.sectionProperties, this.isInsertPropertiesToCurrentSection, this.parPropsBundle, this.isInsertPropertiesAndStyleIndexToCurrentParagraph);
    }
    undo() {
        this.modelManipulator.range.removeIntervalWithoutHistory(this.boundSubDocument, new fixed.FixedInterval(this.subDocPos.position, rich_utils/* RichUtils */.i.specialCharacters.SectionMark.length), false);
    }
}

// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/section/header-footer.ts
var header_footer = __webpack_require__(4504);
// EXTERNAL MODULE: ./src/common/model/section/section.ts
var section = __webpack_require__(9362);
;// CONCATENATED MODULE: ./src/common/model/manipulators/section-manipulator.ts











class SectionManipulator extends runs_base_manipulator/* RunsBaseManipulator */.D {
    insertSectionAndSetStartType(position, startType, charPropsBundle) {
        const subDocument = this.model.mainSubDocument;
        const documentEndPosition = subDocument.getDocumentEndPosition();
        if (position >= documentEndPosition)
            throw "ModelManipulator.insertSectionAndSetStartType position >= documentEndPosition";
        const sectionProperties = subDocument.getSectionByPosition(position).sectionProperties.clone();
        sectionProperties.startType = startType;
        this.history.beginTransaction();
        this.history.addAndRedo(new InsertSectionHistoryItem(this.modelManipulator, new sub_document/* SubDocumentPosition */.rg(subDocument, position), charPropsBundle, new properties_bundle/* MaskedParagraphPropertiesBundleFull */.Us(null, null, undefined, undefined), sectionProperties, false, true));
        this.history.endTransaction();
    }
    insertSection(subDocPos, charPropsBundle, sectionProperties, isInsertPropertiesToCurrentSection, parPropsBundle, isInsertPropertiesAndStyleIndexToCurrentParagraph) {
        const subDocument = subDocPos.subDocument;
        const insertPositionAtStartDocument = subDocPos.position;
        if (!subDocument.isMain())
            throw new Error("Section cannot be inserted in a non-main subDocument");
        var oldSectionIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.documentModel.sections, (s) => s.startLogPosition.value, insertPositionAtStartDocument);
        var oldSection = subDocument.documentModel.sections[oldSectionIndex];
        var lengthNewSection = insertPositionAtStartDocument - oldSection.startLogPosition.value + 1;
        var insertedRun = this.insertRunInternal(subDocPos, charPropsBundle, run_type/* RunType */.m.SectionRun, rich_utils/* RichUtils */.i.specialCharacters.SectionMark);
        var oldParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.paragraphs, (p) => p.startLogPosition.value, insertPositionAtStartDocument);
        var oldParagraph = subDocument.paragraphs[oldParagraphIndex];
        var newLengthOldParagraph = insertPositionAtStartDocument - oldParagraph.startLogPosition.value + 1;
        var newLengthNewParagraph = oldParagraph.length - newLengthOldParagraph + 1;
        var newParagraphStartPosition = subDocument.positionManager.registerPosition(insertPositionAtStartDocument + 1);
        var newParagraph = new paragraph/* Paragraph */.nv(subDocument, newParagraphStartPosition, newLengthNewParagraph, null, null);
        oldParagraph.length = newLengthOldParagraph;
        subDocument.paragraphs.splice(oldParagraphIndex + 1, 0, newParagraph);
        this.modelManipulator.paragraph.applyParagraphProperties(newParagraph, oldParagraph, isInsertPropertiesAndStyleIndexToCurrentParagraph, parPropsBundle);
        var indexRun = insertedRun.runIndex + 1;
        completeExecuteAllCycles: for (var indexChunk = insertedRun.chunkIndex, chunk; chunk = subDocument.chunks[indexChunk]; indexChunk++) {
            for (var run; run = chunk.textRuns[indexRun]; indexRun++) {
                run.paragraph = newParagraph;
                run.onCharacterPropertiesChanged();
                if (run.isParagraphOrSectionRun())
                    break completeExecuteAllCycles;
            }
            indexRun = 0;
        }
        indexRun = insertedRun.runIndex - 1;
        completeExecuteAllCycles: for (var indexChunk = insertedRun.chunkIndex, chunk; chunk = subDocument.chunks[indexChunk]; indexChunk--) {
            for (var run; run = chunk.textRuns[indexRun]; indexRun--) {
                if (run.isParagraphOrSectionRun())
                    break completeExecuteAllCycles;
                run.onCharacterPropertiesChanged();
            }
            if (indexChunk > 0)
                indexRun = subDocument.chunks[indexChunk - 1].textRuns.length - 1;
        }
        subDocument.positionManager.unregisterPosition(oldSection.startLogPosition);
        var newSectionProperties;
        if (sectionProperties) {
            if (isInsertPropertiesToCurrentSection)
                newSectionProperties = sectionProperties;
            else {
                newSectionProperties = oldSection.sectionProperties;
                oldSection.sectionProperties = sectionProperties;
            }
        }
        else
            newSectionProperties = oldSection.sectionProperties;
        var newSection = new section/* Section */.$(subDocument.documentModel, subDocument.positionManager.registerPosition(oldSection.startLogPosition.value), lengthNewSection, newSectionProperties);
        newSection.headers = oldSection.headers;
        newSection.headers.section = newSection;
        newSection.footers = oldSection.footers;
        newSection.footers.section = newSection;
        oldSection.headers = new header_footer/* SectionHeaders */.yP(oldSection);
        oldSection.footers = new header_footer/* SectionFooters */.kK(oldSection);
        oldSection.startLogPosition = subDocument.positionManager.registerPosition(insertPositionAtStartDocument + 1);
        oldSection.setLength(subDocument, oldSection.getLength() - lengthNewSection - 1 + 1);
        subDocument.documentModel.sections.splice(oldSectionIndex, 0, newSection);
        this.modelManipulator.notifyModelChanged(new SectionInsertedSubDocumentChange(subDocument.id, insertPositionAtStartDocument, newSection, oldSectionIndex));
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/section-formatting-changed.ts

class SectionsFormattingChangedModelChange {
    constructor(startSectionIndex, endSectionIndex, property, newState) {
        this.startSectionIndex = startSectionIndex;
        this.endSectionIndex = endSectionIndex;
        this.property = property;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.SectionFormattingChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/section/section-property-descriptor.ts
var section_property_descriptor = __webpack_require__(1207);
;// CONCATENATED MODULE: ./src/common/model/manipulators/section-properties-manipulator.ts







class SectionPropertiesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.landscape = new SectionPropertiesLandscapeManipulator(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.landscape);
        this.marginBottom = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginBottom);
        this.marginLeft = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginLeft);
        this.marginRight = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginRight);
        this.marginTop = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.marginTop);
        this.columnCount = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.columnCount);
        this.columnsInfo = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.columnsInfo);
        this.equalWidthColumns = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.equalWidthColumns);
        this.pageHeight = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.pageHeight);
        this.pageWidth = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.pageWidth);
        this.space = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.space);
        this.startType = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.startType);
        this.differentFirstPage = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.differentFirstPage);
        this.headerOffset = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.headerOffset);
        this.footerOffset = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.footerOffset);
        this.paperKind = new SectionPropertiesManipulatorBase(manipulator, section_property_descriptor/* SectionPropertyDescriptor */.Tc.paperKind);
    }
}
class SectionPropertiesManipulatorBase {
    constructor(manipulator, descriptor) {
        this.manipulator = manipulator;
        this.descriptor = descriptor;
    }
    setValue(interval, newValue) {
        var oldState = new history_item_state/* HistoryItemState */.u();
        if (!control/* ControlOptions */.tH.isEnabled(this.manipulator.model.options.sections))
            return oldState;
        var newState = new history_item_state/* HistoryItemState */.u();
        var endPosition = Math.max(interval.start, interval.end - 1);
        var sections = this.manipulator.model.sections;
        var startSectionIndex = search.SearchUtils.normedInterpolationIndexOf(sections, section => section.startLogPosition.value, interval.start);
        var endSectionIndex = interval.length ?
            search.SearchUtils.normedInterpolationIndexOf(sections, section => section.startLogPosition.value, endPosition) :
            startSectionIndex;
        for (var i = startSectionIndex; i <= endSectionIndex; i++) {
            var section = sections[i];
            oldState.register(new history_item_state_object/* HistoryItemSectionStateObject */.mU(i, this.descriptor.getProp(section.sectionProperties)));
            newState.register(new history_item_state_object/* HistoryItemSectionStateObject */.mU(i, newValue));
            this.setPropertyValue(section.sectionProperties, newValue);
        }
        this.manipulator.notifyModelChanged(new SectionsFormattingChangedModelChange(startSectionIndex, endSectionIndex, this.descriptor.getJSONProperty(), newState));
        return oldState;
    }
    restoreValue(state) {
        if (!control/* ControlOptions */.tH.isEnabled(this.manipulator.model.options.sections))
            return;
        if (state.isEmpty())
            return;
        var sections = this.manipulator.model.sections;
        for (var i = 0, stateObject; stateObject = state.objects[i]; i++) {
            var section = sections[stateObject.sectionIndex];
            this.setPropertyValue(section.sectionProperties, stateObject.value);
        }
        const startSectionIndex = state.objects[0].sectionIndex;
        const endSectionIndex = state.lastObject.sectionIndex;
        this.manipulator.notifyModelChanged(new SectionsFormattingChangedModelChange(startSectionIndex, endSectionIndex, this.descriptor.getJSONProperty(), state));
    }
    setPropertyValue(properties, value) {
        this.descriptor.setProp(properties, value);
    }
}
class SectionPropertiesLandscapeManipulator extends SectionPropertiesManipulatorBase {
    setPropertyValue(properties, value) {
        if (properties.landscape !== value) {
            properties.landscape = value;
            [properties.pageWidth, properties.pageHeight] = [properties.pageHeight, properties.pageWidth];
        }
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/create-style-link.ts

class CreateStyleLinkModelChange {
    constructor(paragraphStyleName) {
        this.paragraphStyleName = paragraphStyleName;
        this.type = enums/* ModelChangeType */.f.CreateStyleLink;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/model/delete-style-link.ts

class DeleteStyleLinkModelChange {
    constructor(paragraphStyleName) {
        this.paragraphStyleName = paragraphStyleName;
        this.type = enums/* ModelChangeType */.f.DeleteStyleLink;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/style/character-style-applied.ts

class CharacterStyleAppliedSubDocumentChange {
    constructor(subDocumentId, newState) {
        this.subDocumentId = subDocumentId;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.CharacterStyleApplied;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/style/paragraph-style-applied.ts

class ParagraphStyleAppliedSubDocumentChange {
    constructor(subDocumentId, newState) {
        this.subDocumentId = subDocumentId;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.ParagraphStyleApplied;
    }
}

// EXTERNAL MODULE: ./src/common/model/character/character-style.ts
var character_style = __webpack_require__(9915);
// EXTERNAL MODULE: ./src/common/model/fields/field-context-menu-helper.ts
var field_context_menu_helper = __webpack_require__(6464);
// EXTERNAL MODULE: ./src/common/model/history/items/create-style-link-history-item.ts
var create_style_link_history_item = __webpack_require__(4499);
// EXTERNAL MODULE: ./src/common/model/styles-manager.ts + 1 modules
var styles_manager = __webpack_require__(396);
;// CONCATENATED MODULE: ./src/common/model/manipulators/styles-manipulator.ts


















class StylesManipulator extends base_manipulator/* BaseManipulator */.G {
    setLinkStyle(characterStyle, paragraphStyle) {
        this.modelManipulator.model.stylesManager.addCharacterStyle(characterStyle);
        this.modelManipulator.model.stylesManager.registerLink(characterStyle, paragraphStyle);
        this.modelManipulator.notifyModelChanged(new CreateStyleLinkModelChange(paragraphStyle.styleName));
    }
    restoreLinkStyle(characterStyle, paragraphStyle) {
        this.modelManipulator.model.stylesManager.removeLastStyle();
        this.modelManipulator.model.stylesManager.unregisterLink(characterStyle, paragraphStyle);
        this.modelManipulator.notifyModelChanged(new DeleteStyleLinkModelChange(paragraphStyle.styleName));
    }
    setCharacterStyle(subDocument, interval, style, restoreHyperlinks) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterStyle))
            return oldState;
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var iterator = subDocument.getRunIterator(interval);
        while (iterator.moveNext()) {
            let applyingStyle = style;
            var currentInterval = iterator.currentInterval();
            if (restoreHyperlinks) {
                var field = field_context_menu_helper/* FieldContextMenuHelper */.S.getHyperlinkField(subDocument.fields, currentInterval);
                if (field && field.isHyperlinkField()) {
                    if (iterator.currentRun.characterStyle.styleName === character_style/* CharacterStyle */.H.hyperlinkStyleName)
                        continue;
                    else
                        applyingStyle = subDocument.documentModel.getCharacterStyleByName(character_style/* CharacterStyle */.H.hyperlinkStyleName);
                }
            }
            oldState.register(new history_item_state_object/* HistoryItemIntervalStyleStateObject */.Dy(currentInterval, iterator.currentRun.characterStyle));
            newState.register(new history_item_state_object/* HistoryItemIntervalStyleStateObject */.Dy(currentInterval, applyingStyle));
            iterator.currentRun.characterStyle = applyingStyle;
            iterator.currentRun.onCharacterPropertiesChanged();
        }
        if (!newState.isEmpty())
            this.modelManipulator.notifyModelChanged(new CharacterStyleAppliedSubDocumentChange(subDocument.id, newState));
        return oldState;
    }
    restoreCharacterStyle(subDocument, state) {
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.characterStyle))
            return;
        if (state.isEmpty())
            return;
        for (var stateValue, i = 0; stateValue = state.objects[i]; i++) {
            var iterator = subDocument.getRunIterator(stateValue.interval);
            while (iterator.moveNext()) {
                iterator.currentRun.characterStyle = stateValue.value;
                iterator.currentRun.onCharacterPropertiesChanged();
            }
        }
        this.modelManipulator.notifyModelChanged(new CharacterStyleAppliedSubDocumentChange(subDocument.id, state));
    }
    setParagraphStyle(subDocument, interval, style) {
        var oldState = new history_item_state/* HistoryItemIntervalState */.D();
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.paragraphStyle))
            return oldState;
        var newState = new history_item_state/* HistoryItemIntervalState */.D();
        var paragraphs = subDocument.getParagraphsByInterval(interval);
        for (var paragraph, i = 0; paragraph = paragraphs[i]; i++) {
            var paragraphInterval = new fixed.FixedInterval(paragraph.startLogPosition.value, paragraph.length);
            oldState.register(new history_item_state_object/* HistoryItemIntervalStyleStateObject */.Dy(paragraphInterval, paragraph.paragraphStyle));
            newState.register(new history_item_state_object/* HistoryItemIntervalStyleStateObject */.Dy(paragraphInterval, style));
            paragraph.paragraphStyle = style;
            paragraph.onParagraphPropertiesChanged();
            this.resetMergedCharacterProperties(subDocument, paragraphInterval);
        }
        this.modelManipulator.notifyModelChanged(new ParagraphStyleAppliedSubDocumentChange(subDocument.id, newState));
        return oldState;
    }
    restoreParagraphStyle(subDocument, state) {
        if (!control/* ControlOptions */.tH.isEnabled(subDocument.documentModel.options.paragraphStyle))
            return;
        for (var stateValue, i = 0; stateValue = state.objects[i]; i++) {
            var paragraphs = subDocument.getParagraphsByInterval(stateValue.interval);
            for (var j = 0, paragraph; paragraph = paragraphs[j]; j++) {
                paragraph.paragraphStyle = stateValue.value;
                paragraph.onParagraphPropertiesChanged();
                this.resetMergedCharacterProperties(subDocument, new fixed.FixedInterval(paragraph.startLogPosition.value, paragraph.length));
            }
        }
        this.modelManipulator.notifyModelChanged(new ParagraphStyleAppliedSubDocumentChange(subDocument.id, state));
    }
    resetMergedCharacterProperties(subDocument, interval) {
        var runs = subDocument.getRunsByInterval(interval);
        for (var i = 0, run; run = runs[i]; i++)
            run.onCharacterPropertiesChanged();
    }
    applyCharacterStyle(subDocInterval, style, restoreHyperlinks) {
        if (!control/* ControlOptions */.tH.isEnabled(this.modelManipulator.modelManager.richOptions.control.characterStyle) || !style)
            return false;
        this.history.beginTransaction();
        this.history.addAndRedo(new character_properties_history_items/* FontUseValueHistoryItem */._W(this.modelManipulator, subDocInterval, 0));
        this.history.addAndRedo(new apply_style_history_items/* ApplyCharacterStyleHistoryItem */.L9(this.modelManipulator, subDocInterval, style, restoreHyperlinks));
        this.history.endTransaction();
        return true;
    }
    applyCharacterStyleByName(subDocInterval, styleName) {
        let characterStyle = this.model.getCharacterStyleByName(styleName);
        if (!characterStyle)
            characterStyle = this.model.stylesManager.addCharacterStyle(styles_manager/* StylesManager */.D.getPresetCharacterStyleByName(styleName).clone());
        return this.applyCharacterStyle(subDocInterval, characterStyle, false);
    }
    applyParagraphStyleByName(subDocInterval, styleName) {
        let paragraphStyle = this.model.getParagraphStyleByName(styleName);
        if (!paragraphStyle)
            paragraphStyle = this.model.stylesManager.addParagraphStyle(styles_manager/* StylesManager */.D.getPresetParagraphStyleByName(styleName).clone());
        return this.applyParagraphStyle(subDocInterval, paragraphStyle);
    }
    applyParagraphStyle(subDocInterval, style) {
        if (!control/* ControlOptions */.tH.isEnabled(this.modelManipulator.modelManager.richOptions.control.paragraphStyle) || !style)
            return false;
        const count = this.calculateAffectedParagraphCount(subDocInterval);
        if (count > 0 && control/* ControlOptions */.tH.isEnabled(this.modelManipulator.modelManager.richOptions.control.paragraphStyle)) {
            const paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(subDocInterval.subDocument.paragraphs, p => p.startLogPosition.value, subDocInterval.interval.start);
            this.history.beginTransaction();
            for (var i = 0; i < count; i++) {
                var paragraph = subDocInterval.subDocument.paragraphs[paragraphIndex + i];
                var paragraphInterval = new fixed.FixedInterval(paragraph.startLogPosition.value, paragraph.length);
                this.history.addAndRedo(new apply_style_history_items/* ApplyParagraphStyleHistoryItem */.j3(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocInterval.subDocument, paragraphInterval), style));
                this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphUseValueHistoryItem */.L7(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocInterval.subDocument, paragraphInterval), 0));
                this.history.addAndRedo(new character_properties_history_items/* FontUseValueHistoryItem */._W(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocInterval.subDocument, paragraphInterval), 0));
            }
            this.history.endTransaction();
        }
        else {
            if (!control/* ControlOptions */.tH.isEnabled(this.modelManipulator.modelManager.richOptions.control.characterStyle))
                return false;
            if (!style.linkedStyle)
                this.createCharacterStyle(style);
            return this.applyCharacterStyle(subDocInterval, style.linkedStyle, false);
        }
        return true;
    }
    calculateAffectedParagraphCount(subDocInterval) {
        const paragraphs = subDocInterval.subDocument.getParagraphsByInterval(subDocInterval.interval);
        if (paragraphs.length > 1)
            return paragraphs.length;
        const paragraph = paragraphs[0];
        const lastParagraphCharSelected = subDocInterval.interval.length >= paragraph.length - 1;
        if (subDocInterval.interval.start === paragraph.startLogPosition.value && lastParagraphCharSelected || subDocInterval.interval.length === 0)
            return 1;
        return 0;
    }
    createCharacterStyle(paragraphStyle) {
        const charStyle = new character_style/* CharacterStyle */.H(paragraphStyle.styleName + " Char", paragraphStyle.localizedName + " Char", false, false, false, false, paragraphStyle.maskedCharacterProperties);
        this.history.addAndRedo(new create_style_link_history_item/* CreateStyleLinkHistoryItem */.$(this.modelManipulator, charStyle, paragraphStyle));
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/document/sub-document-inserter.ts
var sub_document_inserter = __webpack_require__(1048);
;// CONCATENATED MODULE: ./src/common/model/history/items/insert-sub-document-history-item.ts



class InsertSubDocumentHistoryItem extends history_item/* HistoryItem */.B {
    constructor(modelManipulator, options, targetSubDocPos, sourceSubDocInterval) {
        super(modelManipulator);
        this.targetSubDocPos = targetSubDocPos;
        this.sourceSubDocInterval = sourceSubDocInterval;
        this.options = options;
    }
    redo() {
        const inserter = new sub_document_inserter/* SubDocumentInserter */.y(this.modelManipulator, this.options, this.targetSubDocPos, this.sourceSubDocInterval);
        inserter.insert();
        this.newTables = inserter.newTables;
        this.insertedInterval = inserter.insertedInterval;
        this.insertedSubDocuments = inserter.insertedSubDocuments;
    }
    undo() {
        for (let i = 0, table; table = this.newTables[i]; i++)
            this.modelManipulator.table.removeTable(this.targetSubDocPos.subDocument, table);
        this.modelManipulator.range.removeIntervalWithoutHistory(this.targetSubDocPos.subDocument, new fixed.FixedInterval(this.targetSubDocPos.position, this.sourceSubDocInterval.interval.length), true);
        for (const subDocument of this.insertedSubDocuments) {
            this.modelManipulator.model.subDocumentsCollection.delete(subDocument.id);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/sub-document-manipulator.ts



class SubDocumentManipulator extends base_manipulator/* BaseManipulator */.G {
    insertSubDocument(targetSubDocPos, sourceInfo, options = new sub_document_inserter/* SubDocumentInserterOptions */.k()) {
        const historyItem = new InsertSubDocumentHistoryItem(this.modelManipulator, options, targetSubDocPos, sourceInfo);
        this.history.addAndRedo(historyItem);
        return {
            insetedInterval: historyItem.insertedInterval,
            newSubDocuments: historyItem.insertedSubDocuments
        };
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/tables/tables-manipulator.ts + 22 modules
var tables_manipulator = __webpack_require__(159);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/tab/deleted.ts

class TabDeletedSubDocumentChange {
    constructor(subDocumentId, newState) {
        this.subDocumentId = subDocumentId;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.TabDeleted;
    }
    toJSON(withPostData) {
        return this.newState.toJSON(withPostData);
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/tab/inserted.ts

class TabInsertedSubDocumentChange {
    constructor(subDocumentId, newState) {
        this.subDocumentId = subDocumentId;
        this.newState = newState;
        this.type = enums/* ModelChangeType */.f.TabInserted;
    }
    toJSON(withPostData) {
        return this.newState.toJSON(withPostData);
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/tabs-manipulator.ts






class TabsManipulator extends base_manipulator/* BaseManipulator */.G {
    insertTabToParagraph(subDocument, interval, tabInfo) {
        const paragraphs = subDocument.getParagraphsByInterval(interval);
        const oldState = new history_item_state/* HistoryItemIntervalState */.D();
        const newState = new history_item_state/* HistoryItemIntervalState */.D();
        for (let paragraph of paragraphs) {
            if (this.addTab(paragraph.tabs, tabInfo.clone())) {
                const parInterval = paragraph.interval;
                oldState.register(new history_item_state_object/* HistoryItemTabStateObject */.gk(parInterval, tabInfo.clone()));
                newState.register(new history_item_state_object/* HistoryItemTabStateObject */.gk(parInterval, tabInfo.clone()));
            }
        }
        if (newState.lastObject)
            this.modelManipulator.notifyModelChanged(new TabInsertedSubDocumentChange(subDocument.id, newState));
        return oldState;
    }
    deleteTabAtParagraph(subDocument, interval, tabInfo) {
        const paragraphs = subDocument.getParagraphsByInterval(interval);
        const oldState = new history_item_state/* HistoryItemIntervalState */.D();
        const newState = new history_item_state/* HistoryItemIntervalState */.D();
        for (let paragraph of paragraphs) {
            let tabs = paragraph.getTabs();
            if (search.SearchUtils.binaryIndexOf(tabs.positions, (t) => t.position - tabInfo.position) > -1) {
                this.deleteTab(paragraph.tabs, tabInfo);
                const parInterval = paragraph.interval;
                oldState.register(new history_item_state_object/* HistoryItemTabStateObject */.gk(parInterval, tabInfo.clone()));
                newState.register(new history_item_state_object/* HistoryItemTabStateObject */.gk(parInterval, tabInfo.clone()));
                if (search.SearchUtils.binaryIndexOf(paragraph.paragraphStyle.tabs.tabsInfo, (t) => t.position - tabInfo.position) > -1) {
                    tabInfo.deleted = true;
                    this.addTab(paragraph.tabs, tabInfo.clone());
                }
            }
        }
        this.modelManipulator.notifyModelChanged(new TabDeletedSubDocumentChange(subDocument.id, newState));
        return oldState;
    }
    restoreInsertedTabToParagraph(subDocument, state) {
        if (state.isEmpty())
            return;
        for (let stateObject of state.objects) {
            const tabInfo = stateObject.value;
            const paragraphs = subDocument.getParagraphsByInterval(stateObject.interval);
            for (let paragraph of paragraphs)
                this.deleteTab(paragraph.tabs, tabInfo);
        }
        this.modelManipulator.notifyModelChanged(new TabDeletedSubDocumentChange(subDocument.id, state));
    }
    restoreDeletedTabAtParagraph(subDocument, state) {
        if (state.isEmpty())
            return;
        for (let stateObject of state.objects) {
            const tabInfo = stateObject.value;
            const paragraphs = subDocument.getParagraphsByInterval(stateObject.interval);
            for (let paragraph of paragraphs)
                this.addTab(paragraph.tabs, tabInfo.clone());
        }
        this.modelManipulator.notifyModelChanged(new TabInsertedSubDocumentChange(subDocument.id, state));
    }
    deleteTab(tabProps, tabInfo) {
        let index = tabProps.indexOf(tabInfo);
        if (index < 0)
            return false;
        tabProps.deleteByIndex(index);
        return true;
    }
    addTab(tabProps, tabInfo) {
        let index = tabProps.indexOf(tabInfo);
        if (index >= 0 && tabInfo.equals(tabProps.tabsInfo[index]))
            return false;
        tabProps.add(tabInfo);
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-box.ts
var layout_box = __webpack_require__(8274);
// EXTERNAL MODULE: ./src/common/model/changes/sub-document/text/text-buffer-changed.ts
var text_buffer_changed = __webpack_require__(428);
// EXTERNAL MODULE: ./src/common/model/sentence-model-builder.ts
var sentence_model_builder = __webpack_require__(3098);
;// CONCATENATED MODULE: ./src/common/model/manipulators/text-case-manipulator.ts







class TextCaseManipulator extends base_manipulator/* BaseManipulator */.G {
    applyUpperCase(layoutFormatterManager, selection, subDocument, interval) {
        return (new UpperCaseModifier(layoutFormatterManager, selection, subDocument, this.modelManipulator, interval)).modify();
    }
    applyLowerCase(layoutFormatterManager, selection, subDocument, interval) {
        return (new LowerCaseModifier(layoutFormatterManager, selection, subDocument, this.modelManipulator, interval)).modify();
    }
    applyCapitalizeEachWordCase(layoutFormatterManager, selection, subDocument, interval) {
        return (new CapitalizeEachWordCaseModifier(layoutFormatterManager, selection, subDocument, this.modelManipulator, interval)).modify();
    }
    applyToggleCase(layoutFormatterManager, selection, subDocument, interval) {
        return (new ToggleCaseModifier(layoutFormatterManager, selection, subDocument, this.modelManipulator, interval)).modify();
    }
    applySentenceCase(layoutFormatterManager, selection, subDocument, interval) {
        return (new SentenceCaseModifier(layoutFormatterManager, selection, subDocument, this.modelManipulator, interval)).modify();
    }
    applyBufferState(subDocument, oldState) {
        var chunks = subDocument.chunks;
        for (var i = 0, stateValue; stateValue = oldState.objects[i]; i++) {
            var oldText = stateValue.value;
            var oldTextPosition = stateValue.interval.start;
            var chunkIndex = search.SearchUtils.normedInterpolationIndexOf(chunks, (c) => c.startLogPosition.value, oldTextPosition);
            for (var chunk; oldText.length > 0 && (chunk = chunks[chunkIndex]); chunkIndex++) {
                var currPosForInsertInThisChunk = oldTextPosition - chunk.startLogPosition.value;
                var chunkTextBefore = chunk.textBuffer.substr(0, currPosForInsertInThisChunk);
                var chunkTextAfter = chunk.textBuffer.substr(currPosForInsertInThisChunk + oldText.length);
                var lengthInsertedText = chunk.textBuffer.length - currPosForInsertInThisChunk - chunkTextAfter.length;
                chunk.textBuffer = [chunkTextBefore, oldText.substr(0, lengthInsertedText), chunkTextAfter].join("");
                oldTextPosition += lengthInsertedText;
                oldText = oldText.substr(lengthInsertedText);
            }
        }
        if (!oldState.isEmpty())
            this.modelManipulator.notifyModelChanged(new text_buffer_changed/* TextBufferChangedSubDocumentChange */.R(subDocument.id, oldState));
    }
}
class TextCaseModifierBase {
    constructor(layoutFormatterManager, selection, subDocument, modelManipulator, interval) {
        this.layoutFormatterManager = layoutFormatterManager;
        this.selection = selection;
        this.subDocument = subDocument;
        this.interval = interval;
        this.modelManipulator = modelManipulator;
    }
    modify() {
        this.newState = new history_item_state/* HistoryItemIntervalState */.D();
        this.oldState = new history_item_state/* HistoryItemIntervalState */.D();
        var sentences = sentence_model_builder/* SentenceStructureBuilder */.bC.getBuilder(this.layoutFormatterManager, this.selection, this.subDocument, this.interval, true).sentences;
        for (var sentenceIndex = 0, sentence; sentence = sentences[sentenceIndex]; sentenceIndex++)
            this.modifyCore(sentence);
        this.modelManipulator.textCase.applyBufferState(this.subDocument, this.newState);
        if (!this.newState.isEmpty())
            this.modelManipulator.notifyModelChanged(new text_buffer_changed/* TextBufferChangedSubDocumentChange */.R(this.subDocument.id, this.newState));
        return this.oldState;
    }
}
class TextCaseSimpleModifier extends TextCaseModifierBase {
    modifyCore(sentence) {
        for (var wordIndex = 0, wordInfo; wordInfo = sentence.words[wordIndex]; wordIndex++) {
            for (var wordPartIndex = 0, wordPart; wordPart = wordInfo.parts[wordPartIndex]; wordPartIndex++) {
                if (wordPart.position < this.interval.start)
                    continue;
                if (wordPart.position >= this.interval.end)
                    return;
                switch (wordPart.type) {
                    case layout_box/* LayoutBoxType */.KH.Text:
                        this.oldState.register(new history_item_state_object/* HistoryItemTextBufferStateObject */.uL(wordPart.position, wordPart.text));
                        var newText = this.applyModifier(wordIndex, wordPartIndex, wordPart.text);
                        this.newState.register(new history_item_state_object/* HistoryItemTextBufferStateObject */.uL(wordPart.position, newText));
                        break;
                }
            }
        }
    }
}
class LowerCaseModifier extends TextCaseSimpleModifier {
    applyModifier(_wordIndex, _wordPartIndex, text) {
        return text.toLowerCase();
    }
}
class UpperCaseModifier extends TextCaseSimpleModifier {
    applyModifier(_wordIndex, _wordPartIndex, text) {
        return text.toUpperCase();
    }
}
class CapitalizeEachWordCaseModifier extends TextCaseSimpleModifier {
    applyModifier(_wordIndex, wordPartIndex, text) {
        return wordPartIndex == 0 ? text[0].toUpperCase() + text.substr(1).toLowerCase() : text.toLowerCase();
    }
}
class ToggleCaseModifier extends TextCaseSimpleModifier {
    applyModifier(_wordIndex, _wordPartIndex, text) {
        var result = "";
        for (var i = 0; i < text.length; i++) {
            var char = text[i];
            var lowerChar = char.toLowerCase();
            result += lowerChar === char ? char.toUpperCase() : lowerChar;
        }
        return result;
    }
}
class SentenceCaseModifier extends TextCaseSimpleModifier {
    applyModifier(wordIndex, wordPartIndex, text) {
        return wordIndex == 0 && wordPartIndex == 0 ? text[0].toUpperCase() + text.substr(1).toLowerCase() : text.toLowerCase();
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/text/simple-run-inserted.ts


class SimpleRunInsertedSubDocumentChange extends change_base/* ContentInsertedSubDocumentChange */.K {
    constructor(subDocumentId, position, length, characterProperties, characterStyle, runType, text) {
        super(subDocumentId, position, length);
        this.subDocumentId = subDocumentId;
        this.position = position;
        this.length = length;
        this.characterProperties = characterProperties;
        this.characterStyle = characterStyle;
        this.runType = runType;
        this.text = text;
        this.type = enums/* ModelChangeType */.f.SimpleRunInserted;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/insert-text-history-item.ts
var insert_text_history_item = __webpack_require__(334);
// EXTERNAL MODULE: ./src/common/model/chunk.ts
var chunk = __webpack_require__(5552);
;// CONCATENATED MODULE: ./src/common/model/manipulators/text-manipulator/chunk-size-corrector.ts



class ChunkSizeCorrector {
    constructor() {
        this.maxChunkSize = 4096;
        this.maxRunSizeCoeff = 0.25;
        this.maxRunSize = Math.floor(this.maxRunSizeCoeff * this.maxChunkSize);
    }
    correctChunkSizeAtChunkIndex(subDocument, chunkIndex) {
        this.subDocument = subDocument;
        this.chunks = subDocument.chunks;
        this.originChunk = this.chunks[chunkIndex];
        this.originChunkIndex = chunkIndex;
        this.originChunkRuns = this.originChunk.textRuns;
        this.startCorrect();
    }
    correctChunkSizeAtInsertPosition(subDocument, insertPosition) {
        this.subDocument = subDocument;
        this.chunks = subDocument.chunks;
        const originRunInfo = this.subDocument.getRunAndIndexesByPosition(insertPosition);
        this.originChunk = originRunInfo.chunk;
        this.originChunkRuns = originRunInfo.chunk.textRuns;
        this.originChunkIndex = originRunInfo.chunkIndex;
        this.startCorrect();
    }
    startCorrect() {
        if (this.originChunk.textBuffer.length <= this.maxChunkSize)
            return;
        this.needMoveLength = this.originChunk.textBuffer.length - this.maxChunkSize;
        if (this.needMoveLength < this.maxChunkSize) {
            if (this.isMoveToPrevChunk())
                return;
            if (this.isMoveToNextChunk())
                return;
        }
        this.moveToNewNextChunks();
    }
    isMoveToPrevChunk() {
        const prevChunk = this.chunks[this.originChunkIndex - 1];
        if (!prevChunk)
            return false;
        let runIndexFrom = 0;
        let run;
        let totallyMoveLength = 0;
        for (; run = this.originChunkRuns[runIndexFrom]; runIndexFrom++) {
            if (run.getLength() > this.maxRunSize) {
                this.originChunk.splitRun(runIndexFrom, this.maxRunSize);
            }
            totallyMoveLength += run.getLength();
            if (totallyMoveLength >= this.needMoveLength)
                break;
        }
        if (totallyMoveLength + prevChunk.textBuffer.length > this.maxChunkSize)
            return false;
        let prevChunkOffset = prevChunk.textBuffer.length;
        for (; runIndexFrom >= 0; runIndexFrom--) {
            run = this.originChunkRuns.shift();
            prevChunk.textRuns.push(run);
            run.startOffset = prevChunkOffset;
            prevChunkOffset += run.getLength();
        }
        prevChunk.textBuffer += this.originChunk.textBuffer.substr(0, totallyMoveLength);
        this.originChunk.textBuffer = this.originChunk.textBuffer.substr(totallyMoveLength);
        this.subDocument.positionManager.unregisterPosition(this.originChunk.startLogPosition);
        this.originChunk.startLogPosition = this.subDocument.positionManager.registerPosition(this.originChunk.startLogPosition.value + totallyMoveLength);
        runs_base_manipulator/* RunsBaseManipulator */.D.moveRunsInChunk(this.originChunk, 0, -totallyMoveLength);
        return true;
    }
    isMoveToNextChunk() {
        const nextChunk = this.chunks[this.originChunkIndex + 1];
        if (!nextChunk)
            return false;
        let runIndexFrom = this.originChunkRuns.length - 1;
        let run;
        let totallyMoveLength = 0;
        for (; run = this.originChunkRuns[runIndexFrom]; runIndexFrom--) {
            while (run.getLength() > this.maxRunSize) {
                this.originChunk.splitRun(runIndexFrom, this.maxRunSize);
                run = this.originChunkRuns[++runIndexFrom];
            }
            totallyMoveLength += run.getLength();
            if (totallyMoveLength >= this.needMoveLength)
                break;
        }
        if (totallyMoveLength + nextChunk.textBuffer.length > this.maxChunkSize)
            return false;
        runs_base_manipulator/* RunsBaseManipulator */.D.moveRunsInChunk(nextChunk, 0, totallyMoveLength);
        let offsetFirstRun = totallyMoveLength;
        for (runIndexFrom = this.originChunkRuns.length - runIndexFrom; runIndexFrom > 0; runIndexFrom--) {
            run = this.originChunkRuns.pop();
            nextChunk.textRuns.unshift(run);
            offsetFirstRun -= run.getLength();
            run.startOffset = offsetFirstRun;
        }
        const startMovedPosition = this.originChunk.textBuffer.length - totallyMoveLength;
        nextChunk.textBuffer = this.originChunk.textBuffer.substring(startMovedPosition) + nextChunk.textBuffer;
        this.originChunk.textBuffer = this.originChunk.textBuffer.substring(0, startMovedPosition);
        this.subDocument.positionManager.unregisterPosition(nextChunk.startLogPosition);
        nextChunk.startLogPosition = this.subDocument.positionManager.registerPosition(nextChunk.startLogPosition.value - totallyMoveLength);
        return true;
    }
    moveToNewNextChunks() {
        const isLast = list.ListUtils.last(this.chunks).isLast;
        let runIndexFrom = this.originChunkRuns.length - 1;
        let run;
        let totallyMoveLength = 0;
        for (; run = this.originChunkRuns[runIndexFrom]; runIndexFrom--) {
            while (run.getLength() > this.maxRunSize) {
                this.originChunk.splitRun(runIndexFrom, this.maxRunSize);
                run = this.originChunkRuns[++runIndexFrom];
            }
            totallyMoveLength += run.getLength();
            if (totallyMoveLength >= this.needMoveLength)
                break;
        }
        let newChunk = undefined;
        let runOffset = 0;
        let indexInsertNewChunk = this.originChunkIndex + 1;
        let chunkStartPosition = this.originChunk.startLogPosition.value + this.originChunkRuns[runIndexFrom].startOffset;
        for (let currRunIndex = runIndexFrom; run = this.originChunkRuns[currRunIndex]; currRunIndex++) {
            if (newChunk == undefined || runOffset + run.getLength() > this.maxChunkSize) {
                if (newChunk)
                    newChunk.textBuffer = this.originChunk.textBuffer.substr(newChunk.startLogPosition.value - this.originChunk.startLogPosition.value, runOffset);
                newChunk = new chunk/* Chunk */.z(this.subDocument.positionManager.registerPosition(chunkStartPosition), "", false);
                this.chunks.splice(indexInsertNewChunk, 0, newChunk);
                indexInsertNewChunk++;
                runOffset = 0;
            }
            newChunk.textRuns.push(run);
            run.startOffset = runOffset;
            chunkStartPosition += run.getLength();
            runOffset += run.getLength();
        }
        newChunk.textBuffer = this.originChunk.textBuffer.substr(newChunk.startLogPosition.value - this.originChunk.startLogPosition.value, runOffset);
        const originPrevRun = this.originChunkRuns[runIndexFrom - 1];
        this.originChunk.textBuffer = this.originChunk.textBuffer.substring(0, originPrevRun.startOffset + originPrevRun.getLength());
        this.originChunkRuns.splice(runIndexFrom);
        this.originChunk.isLast = false;
        this.chunks[this.chunks.length - 1].isLast = isLast;
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/text-manipulator/text-manipulator.ts






class InsertTextViaHistoryResult {
    constructor(inserted, insertedInterval) {
        this.inserted = inserted;
        this.insertedInterval = insertedInterval;
    }
}
class TextManipulator extends runs_base_manipulator/* RunsBaseManipulator */.D {
    constructor(manipulator) {
        super(manipulator);
        this.chunkSizeCorrector = new ChunkSizeCorrector();
    }
    insertTextViaHistory(params) {
        if (!params.correctAndCheckParams())
            return new InsertTextViaHistoryResult(false, null);
        this.history.addAndRedo(new insert_text_history_item/* InsertTextHistoryItem */.U(this.modelManipulator, params));
        return new InsertTextViaHistoryResult(true, new fixed.FixedInterval(params.subDocPos.position, params.text.length));
    }
    insertTextInner(params) {
        params.subDocPos.subDocument = params.subDocPos.subDocument.getActualSubDocument();
        const insertedRun = this.insertRunInternal(params.subDocPos, params.charPropsBundle, params.runType, params.text);
        const textRun = params.subDocPos.subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex];
        textRun.paragraph.length += params.text.length;
        this.chunkSizeCorrector.correctChunkSizeAtInsertPosition(params.subDocPos.subDocument, params.subDocPos.position);
        this.modelManipulator.notifyModelChanged(new SimpleRunInsertedSubDocumentChange(params.subDocPos.subDocument.id, params.subDocPos.position, params.text.length, textRun.maskedCharacterProperties, textRun.characterStyle, params.runType, params.text));
    }
    getLastModifiableHistoryItem(checkType) {
        var _a;
        return (_a = this.getLastModifiableHistoryItemNode(checkType)) === null || _a === void 0 ? void 0 : _a.item;
    }
    getLastModifiableHistoryItemNode(checkType) {
        const history = this.history;
        if (!history)
            return null;
        const historyItems = history.historyItems;
        const result = history.currentIndex == historyItems.length - 1 ? this.getLastHistoryItemNode(historyItems, null, checkType) : null;
        return (result === null || result === void 0 ? void 0 : result.empty) ? null : result;
    }
    getLastHistoryItemNode(historyItems, parent, checkType) {
        for (let ind = historyItems.length - 1, item; item = historyItems[ind]; ind--) {
            if (!item.canBeMerged())
                return new NullHistoryItemNode();
            else if (checkType(item))
                return new HistoryItemNode(item, parent);
            else if (item instanceof history_item/* CompositionHistoryItem */.m) {
                const lowLevelResult = this.getLastHistoryItemNode(item.historyItems, new ParentHistoryItemNode(item, parent), checkType);
                if (lowLevelResult.exist)
                    return lowLevelResult;
            }
        }
        return new UndefinedHistoryItemNode();
    }
}
class HistoryItemNode {
    constructor(item, parent) {
        this.item = item;
        this.parent = parent;
    }
    get root() {
        let result = this;
        while (result.parent)
            result = result.parent;
        return result;
    }
    get exist() { return this.item !== undefined; }
    get empty() { return !this.item; }
}
class ParentHistoryItemNode extends HistoryItemNode {
    constructor(item, parent) {
        super(item, parent);
    }
}
class UndefinedHistoryItemNode extends HistoryItemNode {
    constructor() {
        super(undefined, null);
    }
}
class NullHistoryItemNode extends HistoryItemNode {
    constructor() {
        super(null, null);
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/model-manipulator.ts


























class ModelManipulator {
    get model() { return this.modelManager.model; }
    constructor(modelManager, batchUpdatableObject) {
        this.modelListeners = [];
        this.onFontsChanged = new event_dispatcher/* EventDispatcher */.p();
        this.batchUpdatableObject = batchUpdatableObject;
        this.modelManager = modelManager;
        this.floatingObject = new FloatingObjectsManipulator(this);
        this.numberingList = new NumberingListManipulator(this);
        this.range = new RangeManipulator(this);
        this.table = new tables_manipulator/* TablesManipulator */.i(this);
        this.bookmark = new bookmarks_manipulator/* BookmarksManipulator */.m(this);
        this.rangePermission = new RangePermissionManipulator(this);
        this.characterProperties = new CharacterPropertiesManipulator(this);
        this.documentProperties = new DocumentPropertiesManipulator(this);
        this.documentProtectionProperties = new DocumentProtectionPropertiesManipulator(this);
        this.field = new fields_manipulator/* FieldsManipulator */.vt(this);
        this.font = new FontManipulator(this);
        this.header = new HeaderManipulator(this);
        this.footer = new FooterManipulator(this);
        this.inlineObject = new InlineObjectManipulator(this);
        this.paragraphProperties = new paragraph_properties_manipulator_ParagraphPropertiesManipulator(this);
        this.sectionProperties = new SectionPropertiesManipulator(this);
        this.style = new StylesManipulator(this);
        this.subDocument = new SubDocumentManipulator(this);
        this.tab = new TabsManipulator(this);
        this.textCase = new TextCaseManipulator(this);
        this.text = new TextManipulator(this);
        this.paragraph = new paragraph_manipulator/* ParagraphManipulator */.M(this);
        this.picture = new PictureManipulator(this);
        this.textBox = new text_box_manipulator/* TextBoxManipulator */.O(this);
        this.section = new SectionManipulator(this);
        this.documentMerger = new DocumentMerger(this);
    }
    notifyModelChanged(change) {
        this.modelListeners.forEach(listener => listener.modelChanged(change));
    }
    removeModelListener(listener) {
        const index = this.modelListeners.indexOf(listener);
        if (index >= 0)
            this.modelListeners.splice(index, 1);
    }
    raiseFontAdded(newFontInfo) {
        if (newFontInfo)
            this.onFontsChanged.listeners.forEach(listener => listener.NotifyFontAdded(newFontInfo));
    }
    raiseFontRemoved(font) {
        if (font)
            this.onFontsChanged.listeners.forEach(listener => listener.NotifyFontRemoved(font));
    }
    raiseFontListChanged(fontCache) {
        this.onFontsChanged.listeners.forEach(listener => listener.NotifyFontListChanged(fontCache));
    }
    clearListeners() {
        this.onFontsChanged.clear();
        this.modelListeners = [];
    }
}

;// CONCATENATED MODULE: ./src/common/model-manager.ts


class ModelManager {
    constructor(model, options, batchUpdatableObject) {
        this.model = model;
        this.richOptions = options;
        this.modelManipulator = new ModelManipulator(this, batchUpdatableObject);
        this.history = new History(options.control);
    }
}
class ClientModelManager extends ModelManager {
    get clientMode() { return true; }
}
class ServerModelManager extends ModelManager {
    get clientMode() { return false; }
}


/***/ }),

/***/ 1823:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Om: function() { return /* binding */ ConstBookmark; },
/* harmony export */   lK: function() { return /* binding */ BookmarkBase; },
/* harmony export */   rp: function() { return /* binding */ Bookmark; },
/* harmony export */   w: function() { return /* binding */ BookmarkAndSubDocument; }
/* harmony export */ });
/* unused harmony export BookmarkNameValidator */
/* harmony import */ var _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7093);
/* harmony import */ var _devexpress_utils_lib_intervals_const__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7814);
/* harmony import */ var _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4170);
/* harmony import */ var _position_linked_interval__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7247);




class BookmarkBase extends _devexpress_utils_lib_intervals_const__WEBPACK_IMPORTED_MODULE_1__.ConstInterval {
    get start() { return this._interval.start; }
    get length() { return this._interval.length; }
    get end() { return this._interval.end; }
    get interval() { return this._interval.getFixedInterval(); }
    constructor(positionManager, interval) {
        super();
        this._interval = new _position_linked_interval__WEBPACK_IMPORTED_MODULE_3__/* .LinkedInterval */ .k(positionManager, interval);
    }
    equals(obj) {
        return obj && this._interval.equals(obj._interval);
    }
    destructor(positionManager) {
        this._interval.destructor(positionManager);
    }
}
class BookmarkNameValidator {
    static isValidName(name, allowHiddenBookmarks) {
        return name && name.length && !/\d/.test(name[0]) && (allowHiddenBookmarks || name[0] != "_") &&
            !BookmarkNameValidator.prohibitedSymbolsForName.test(name);
    }
}
BookmarkNameValidator.prohibitedSymbolsForName = /.*[\`\~\!\@\#\$\%\^\&\*\(\)\+\{\}\|\:\"\<\>\?\-\=\[\]\.\,\;\'\/\\ ].*/;
class Bookmark extends BookmarkBase {
    constructor(positionManager, interval, name) {
        super(positionManager, interval);
        this.name = "";
        this.name = name;
    }
    static isValidName(name, allowHiddenBookmarks) {
        return BookmarkNameValidator.isValidName(name, allowHiddenBookmarks);
    }
    isHidden() {
        return this.name.length > 0 && this.name[0] == "_";
    }
    isToc() {
        return this.name.toUpperCase().indexOf("_TOC") == 0;
    }
    equals(obj) {
        return super.equals(obj) && this.name == obj.name;
    }
    get constBookmark() {
        return new ConstBookmark(this, this.name);
    }
    clone(subDocument) {
        return new Bookmark(subDocument.positionManager, this.interval, this.name);
    }
}
class ConstBookmark extends _devexpress_utils_lib_intervals_const__WEBPACK_IMPORTED_MODULE_1__.ConstInterval {
    get start() { return this.interval.start; }
    get length() { return this.interval.length; }
    get end() { return this.interval.end; }
    constructor(interval, name) {
        super();
        this.interval = new _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__/* .BoundaryInterval */ .e(interval.start, interval.end);
        this.name = name;
    }
    equals(obj) {
        return obj && this.name == obj.name && this.interval.equals(obj.interval);
    }
    createBookmark(positionManager) {
        return new Bookmark(positionManager, this.interval, this.name);
    }
    static comparer(a, b) {
        const diff = a.start - b.start;
        return diff == 0 ? _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_2__.Comparers.string(a.name, b.name) : diff;
    }
}
class BookmarkAndSubDocument {
    constructor(bookmark, subDocument) {
        this.bookmark = bookmark;
        this.subDocument = subDocument;
    }
}


/***/ }),

/***/ 4948:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: function() { return /* binding */ BorderBase; }
/* harmony export */ });
/* harmony import */ var _color_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7217);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4265);


class BorderBase {
    static getEmpty() {
        return BorderBase.empty.clone();
    }
    constructor(style, width, color) {
        this.style = style;
        this.width = width;
        this.color = color;
    }
    clone() {
        return new BorderBase(this.style, this.width, this.color);
    }
    equals(obj) {
        return obj &&
            this.style == obj.style &&
            this.width == obj.width &&
            this.color == obj.color;
    }
}
BorderBase.empty = new BorderBase(_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.None, 0, _color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.AUTOMATIC_COLOR);


/***/ }),

/***/ 3118:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ BorderInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8679);
/* harmony import */ var _caches_hashed_caches_color_model_info_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9081);
/* harmony import */ var _border_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4948);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4265);
/* harmony import */ var _layout_border__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(503);





class BorderInfo {
    constructor() {
        this.style = _enums__WEBPACK_IMPORTED_MODULE_3__/* .BorderLineStyle */ .u.None;
        this.color = _caches_hashed_caches_color_model_info_cache__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfoCache */ .N.defaultItem;
        this.width = 0;
        this.offset = 0;
        this.frame = false;
        this.shadow = false;
    }
    getHashCode() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[0] * this.style ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[1] * this.color.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[2] * this.width;
    }
    getBorderBase(colorProvider) {
        return new _border_base__WEBPACK_IMPORTED_MODULE_2__/* .BorderBase */ .d(this.style, this.width, this.color.toRgb(colorProvider));
    }
    getLayoutBorder(colorProvider) {
        return new _layout_border__WEBPACK_IMPORTED_MODULE_4__/* .LayoutBorder */ .Z(this.style, this.width, this.color.toRgb(colorProvider));
    }
    equals(obj) {
        return obj && this.style == obj.style &&
            this.color.equals(obj.color) &&
            this.width == obj.width &&
            this.offset == obj.offset &&
            this.frame == obj.frame &&
            this.shadow == obj.shadow;
    }
    static equalsBinary(borderInfoA, borderInfoB) {
        return borderInfoA && borderInfoB &&
            borderInfoA.style == borderInfoB.style &&
            borderInfoA.color.equals(borderInfoB.color) &&
            borderInfoA.width == borderInfoB.width &&
            borderInfoA.offset == borderInfoB.offset &&
            borderInfoA.frame == borderInfoB.frame &&
            borderInfoA.shadow == borderInfoB.shadow;
    }
    copyFrom(obj) {
        this.style = obj.style;
        this.color = obj.color.clone();
        this.width = obj.width;
        this.offset = obj.offset;
        this.frame = obj.frame;
        this.shadow = obj.shadow;
    }
    clone() {
        var result = new BorderInfo();
        result.copyFrom(this);
        return result;
    }
}


/***/ }),

/***/ 4265:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   u: function() { return /* binding */ BorderLineStyle; }
/* harmony export */ });
var BorderLineStyle;
(function (BorderLineStyle) {
    BorderLineStyle[BorderLineStyle["Nil"] = -1] = "Nil";
    BorderLineStyle[BorderLineStyle["None"] = 0] = "None";
    BorderLineStyle[BorderLineStyle["Single"] = 1] = "Single";
    BorderLineStyle[BorderLineStyle["Thick"] = 2] = "Thick";
    BorderLineStyle[BorderLineStyle["Double"] = 3] = "Double";
    BorderLineStyle[BorderLineStyle["Dotted"] = 4] = "Dotted";
    BorderLineStyle[BorderLineStyle["Dashed"] = 5] = "Dashed";
    BorderLineStyle[BorderLineStyle["DotDash"] = 6] = "DotDash";
    BorderLineStyle[BorderLineStyle["DotDotDash"] = 7] = "DotDotDash";
    BorderLineStyle[BorderLineStyle["Triple"] = 8] = "Triple";
    BorderLineStyle[BorderLineStyle["ThinThickSmallGap"] = 9] = "ThinThickSmallGap";
    BorderLineStyle[BorderLineStyle["ThickThinSmallGap"] = 10] = "ThickThinSmallGap";
    BorderLineStyle[BorderLineStyle["ThinThickThinSmallGap"] = 11] = "ThinThickThinSmallGap";
    BorderLineStyle[BorderLineStyle["ThinThickMediumGap"] = 12] = "ThinThickMediumGap";
    BorderLineStyle[BorderLineStyle["ThickThinMediumGap"] = 13] = "ThickThinMediumGap";
    BorderLineStyle[BorderLineStyle["ThinThickThinMediumGap"] = 14] = "ThinThickThinMediumGap";
    BorderLineStyle[BorderLineStyle["ThinThickLargeGap"] = 15] = "ThinThickLargeGap";
    BorderLineStyle[BorderLineStyle["ThickThinLargeGap"] = 16] = "ThickThinLargeGap";
    BorderLineStyle[BorderLineStyle["ThinThickThinLargeGap"] = 17] = "ThinThickThinLargeGap";
    BorderLineStyle[BorderLineStyle["Wave"] = 18] = "Wave";
    BorderLineStyle[BorderLineStyle["DoubleWave"] = 19] = "DoubleWave";
    BorderLineStyle[BorderLineStyle["DashSmallGap"] = 20] = "DashSmallGap";
    BorderLineStyle[BorderLineStyle["DashDotStroked"] = 21] = "DashDotStroked";
    BorderLineStyle[BorderLineStyle["ThreeDEmboss"] = 22] = "ThreeDEmboss";
    BorderLineStyle[BorderLineStyle["ThreeDEngrave"] = 23] = "ThreeDEngrave";
    BorderLineStyle[BorderLineStyle["Outset"] = 24] = "Outset";
    BorderLineStyle[BorderLineStyle["Inset"] = 25] = "Inset";
    BorderLineStyle[BorderLineStyle["Apples"] = 26] = "Apples";
    BorderLineStyle[BorderLineStyle["ArchedScallops"] = 27] = "ArchedScallops";
    BorderLineStyle[BorderLineStyle["BabyPacifier"] = 28] = "BabyPacifier";
    BorderLineStyle[BorderLineStyle["BabyRattle"] = 29] = "BabyRattle";
    BorderLineStyle[BorderLineStyle["Balloons3Colors"] = 30] = "Balloons3Colors";
    BorderLineStyle[BorderLineStyle["BalloonsHotAir"] = 31] = "BalloonsHotAir";
    BorderLineStyle[BorderLineStyle["BasicBlackDashes"] = 32] = "BasicBlackDashes";
    BorderLineStyle[BorderLineStyle["BasicBlackDots"] = 33] = "BasicBlackDots";
    BorderLineStyle[BorderLineStyle["BasicBlackSquares"] = 34] = "BasicBlackSquares";
    BorderLineStyle[BorderLineStyle["BasicThinLines"] = 35] = "BasicThinLines";
    BorderLineStyle[BorderLineStyle["BasicWhiteDashes"] = 36] = "BasicWhiteDashes";
    BorderLineStyle[BorderLineStyle["BasicWhiteDots"] = 37] = "BasicWhiteDots";
    BorderLineStyle[BorderLineStyle["BasicWhiteSquares"] = 38] = "BasicWhiteSquares";
    BorderLineStyle[BorderLineStyle["BasicWideInline"] = 39] = "BasicWideInline";
    BorderLineStyle[BorderLineStyle["BasicWideMidline"] = 40] = "BasicWideMidline";
    BorderLineStyle[BorderLineStyle["BasicWideOutline"] = 41] = "BasicWideOutline";
    BorderLineStyle[BorderLineStyle["Bats"] = 42] = "Bats";
    BorderLineStyle[BorderLineStyle["Birds"] = 43] = "Birds";
    BorderLineStyle[BorderLineStyle["BirdsFlight"] = 44] = "BirdsFlight";
    BorderLineStyle[BorderLineStyle["Cabins"] = 45] = "Cabins";
    BorderLineStyle[BorderLineStyle["CakeSlice"] = 46] = "CakeSlice";
    BorderLineStyle[BorderLineStyle["CandyCorn"] = 47] = "CandyCorn";
    BorderLineStyle[BorderLineStyle["CelticKnotwork"] = 48] = "CelticKnotwork";
    BorderLineStyle[BorderLineStyle["CertificateBanner"] = 49] = "CertificateBanner";
    BorderLineStyle[BorderLineStyle["ChainLink"] = 50] = "ChainLink";
    BorderLineStyle[BorderLineStyle["ChampagneBottle"] = 51] = "ChampagneBottle";
    BorderLineStyle[BorderLineStyle["CheckedBarBlack"] = 52] = "CheckedBarBlack";
    BorderLineStyle[BorderLineStyle["CheckedBarColor"] = 53] = "CheckedBarColor";
    BorderLineStyle[BorderLineStyle["Checkered"] = 54] = "Checkered";
    BorderLineStyle[BorderLineStyle["ChristmasTree"] = 55] = "ChristmasTree";
    BorderLineStyle[BorderLineStyle["CirclesLines"] = 56] = "CirclesLines";
    BorderLineStyle[BorderLineStyle["CirclesRectangles"] = 57] = "CirclesRectangles";
    BorderLineStyle[BorderLineStyle["ClassicalWave"] = 58] = "ClassicalWave";
    BorderLineStyle[BorderLineStyle["Clocks"] = 59] = "Clocks";
    BorderLineStyle[BorderLineStyle["Compass"] = 60] = "Compass";
    BorderLineStyle[BorderLineStyle["Confetti"] = 61] = "Confetti";
    BorderLineStyle[BorderLineStyle["ConfettiGrays"] = 62] = "ConfettiGrays";
    BorderLineStyle[BorderLineStyle["ConfettiOutline"] = 63] = "ConfettiOutline";
    BorderLineStyle[BorderLineStyle["ConfettiStreamers"] = 64] = "ConfettiStreamers";
    BorderLineStyle[BorderLineStyle["ConfettiWhite"] = 65] = "ConfettiWhite";
    BorderLineStyle[BorderLineStyle["CornerTriangles"] = 66] = "CornerTriangles";
    BorderLineStyle[BorderLineStyle["CouponCutoutDashes"] = 67] = "CouponCutoutDashes";
    BorderLineStyle[BorderLineStyle["CouponCutoutDots"] = 68] = "CouponCutoutDots";
    BorderLineStyle[BorderLineStyle["CrazyMaze"] = 69] = "CrazyMaze";
    BorderLineStyle[BorderLineStyle["CreaturesButterfly"] = 70] = "CreaturesButterfly";
    BorderLineStyle[BorderLineStyle["CreaturesFish"] = 71] = "CreaturesFish";
    BorderLineStyle[BorderLineStyle["CreaturesInsects"] = 72] = "CreaturesInsects";
    BorderLineStyle[BorderLineStyle["CreaturesLadyBug"] = 73] = "CreaturesLadyBug";
    BorderLineStyle[BorderLineStyle["CrossStitch"] = 74] = "CrossStitch";
    BorderLineStyle[BorderLineStyle["Cup"] = 75] = "Cup";
    BorderLineStyle[BorderLineStyle["DecoArch"] = 76] = "DecoArch";
    BorderLineStyle[BorderLineStyle["DecoArchColor"] = 77] = "DecoArchColor";
    BorderLineStyle[BorderLineStyle["DecoBlocks"] = 78] = "DecoBlocks";
    BorderLineStyle[BorderLineStyle["DiamondsGray"] = 79] = "DiamondsGray";
    BorderLineStyle[BorderLineStyle["DoubleD"] = 80] = "DoubleD";
    BorderLineStyle[BorderLineStyle["DoubleDiamonds"] = 81] = "DoubleDiamonds";
    BorderLineStyle[BorderLineStyle["Earth1"] = 82] = "Earth1";
    BorderLineStyle[BorderLineStyle["Earth2"] = 83] = "Earth2";
    BorderLineStyle[BorderLineStyle["EclipsingSquares1"] = 84] = "EclipsingSquares1";
    BorderLineStyle[BorderLineStyle["EclipsingSquares2"] = 85] = "EclipsingSquares2";
    BorderLineStyle[BorderLineStyle["EggsBlack"] = 86] = "EggsBlack";
    BorderLineStyle[BorderLineStyle["Fans"] = 87] = "Fans";
    BorderLineStyle[BorderLineStyle["Film"] = 88] = "Film";
    BorderLineStyle[BorderLineStyle["Firecrackers"] = 89] = "Firecrackers";
    BorderLineStyle[BorderLineStyle["FlowersBlockPrint"] = 90] = "FlowersBlockPrint";
    BorderLineStyle[BorderLineStyle["FlowersDaisies"] = 91] = "FlowersDaisies";
    BorderLineStyle[BorderLineStyle["FlowersModern1"] = 92] = "FlowersModern1";
    BorderLineStyle[BorderLineStyle["FlowersModern2"] = 93] = "FlowersModern2";
    BorderLineStyle[BorderLineStyle["FlowersPansy"] = 94] = "FlowersPansy";
    BorderLineStyle[BorderLineStyle["FlowersRedRose"] = 95] = "FlowersRedRose";
    BorderLineStyle[BorderLineStyle["FlowersRoses"] = 96] = "FlowersRoses";
    BorderLineStyle[BorderLineStyle["FlowersTeacup"] = 97] = "FlowersTeacup";
    BorderLineStyle[BorderLineStyle["FlowersTiny"] = 98] = "FlowersTiny";
    BorderLineStyle[BorderLineStyle["Gems"] = 99] = "Gems";
    BorderLineStyle[BorderLineStyle["GingerbreadMan"] = 100] = "GingerbreadMan";
    BorderLineStyle[BorderLineStyle["Gradient"] = 101] = "Gradient";
    BorderLineStyle[BorderLineStyle["Handmade1"] = 102] = "Handmade1";
    BorderLineStyle[BorderLineStyle["Handmade2"] = 103] = "Handmade2";
    BorderLineStyle[BorderLineStyle["HeartBalloon"] = 104] = "HeartBalloon";
    BorderLineStyle[BorderLineStyle["HeartGray"] = 105] = "HeartGray";
    BorderLineStyle[BorderLineStyle["Hearts"] = 106] = "Hearts";
    BorderLineStyle[BorderLineStyle["HeebieJeebies"] = 107] = "HeebieJeebies";
    BorderLineStyle[BorderLineStyle["Holly"] = 108] = "Holly";
    BorderLineStyle[BorderLineStyle["HouseFunky"] = 109] = "HouseFunky";
    BorderLineStyle[BorderLineStyle["Hypnotic"] = 110] = "Hypnotic";
    BorderLineStyle[BorderLineStyle["IceCreamCones"] = 111] = "IceCreamCones";
    BorderLineStyle[BorderLineStyle["LightBulb"] = 112] = "LightBulb";
    BorderLineStyle[BorderLineStyle["Lightning1"] = 113] = "Lightning1";
    BorderLineStyle[BorderLineStyle["Lightning2"] = 114] = "Lightning2";
    BorderLineStyle[BorderLineStyle["MapleLeaf"] = 115] = "MapleLeaf";
    BorderLineStyle[BorderLineStyle["MapleMuffins"] = 116] = "MapleMuffins";
    BorderLineStyle[BorderLineStyle["MapPins"] = 117] = "MapPins";
    BorderLineStyle[BorderLineStyle["Marquee"] = 118] = "Marquee";
    BorderLineStyle[BorderLineStyle["MarqueeToothed"] = 119] = "MarqueeToothed";
    BorderLineStyle[BorderLineStyle["Moons"] = 120] = "Moons";
    BorderLineStyle[BorderLineStyle["Mosaic"] = 121] = "Mosaic";
    BorderLineStyle[BorderLineStyle["MusicNotes"] = 122] = "MusicNotes";
    BorderLineStyle[BorderLineStyle["Northwest"] = 123] = "Northwest";
    BorderLineStyle[BorderLineStyle["Ovals"] = 124] = "Ovals";
    BorderLineStyle[BorderLineStyle["Packages"] = 125] = "Packages";
    BorderLineStyle[BorderLineStyle["PalmsBlack"] = 126] = "PalmsBlack";
    BorderLineStyle[BorderLineStyle["PalmsColor"] = 127] = "PalmsColor";
    BorderLineStyle[BorderLineStyle["PaperClips"] = 128] = "PaperClips";
    BorderLineStyle[BorderLineStyle["Papyrus"] = 129] = "Papyrus";
    BorderLineStyle[BorderLineStyle["PartyFavor"] = 130] = "PartyFavor";
    BorderLineStyle[BorderLineStyle["PartyGlass"] = 131] = "PartyGlass";
    BorderLineStyle[BorderLineStyle["Pencils"] = 132] = "Pencils";
    BorderLineStyle[BorderLineStyle["People"] = 133] = "People";
    BorderLineStyle[BorderLineStyle["PeopleHats"] = 134] = "PeopleHats";
    BorderLineStyle[BorderLineStyle["PeopleWaving"] = 135] = "PeopleWaving";
    BorderLineStyle[BorderLineStyle["Poinsettias"] = 136] = "Poinsettias";
    BorderLineStyle[BorderLineStyle["PostageStamp"] = 137] = "PostageStamp";
    BorderLineStyle[BorderLineStyle["Pumpkin1"] = 138] = "Pumpkin1";
    BorderLineStyle[BorderLineStyle["PushPinNote1"] = 139] = "PushPinNote1";
    BorderLineStyle[BorderLineStyle["PushPinNote2"] = 140] = "PushPinNote2";
    BorderLineStyle[BorderLineStyle["Pyramids"] = 141] = "Pyramids";
    BorderLineStyle[BorderLineStyle["PyramidsAbove"] = 142] = "PyramidsAbove";
    BorderLineStyle[BorderLineStyle["Quadrants"] = 143] = "Quadrants";
    BorderLineStyle[BorderLineStyle["Rings"] = 144] = "Rings";
    BorderLineStyle[BorderLineStyle["Safari"] = 145] = "Safari";
    BorderLineStyle[BorderLineStyle["Sawtooth"] = 146] = "Sawtooth";
    BorderLineStyle[BorderLineStyle["SawtoothGray"] = 147] = "SawtoothGray";
    BorderLineStyle[BorderLineStyle["ScaredCat"] = 148] = "ScaredCat";
    BorderLineStyle[BorderLineStyle["Seattle"] = 149] = "Seattle";
    BorderLineStyle[BorderLineStyle["ShadowedSquares"] = 150] = "ShadowedSquares";
    BorderLineStyle[BorderLineStyle["SharksTeeth"] = 151] = "SharksTeeth";
    BorderLineStyle[BorderLineStyle["ShorebirdTracks"] = 152] = "ShorebirdTracks";
    BorderLineStyle[BorderLineStyle["Skyrocket"] = 153] = "Skyrocket";
    BorderLineStyle[BorderLineStyle["SnowflakeFancy"] = 154] = "SnowflakeFancy";
    BorderLineStyle[BorderLineStyle["Snowflakes"] = 155] = "Snowflakes";
    BorderLineStyle[BorderLineStyle["Sombrero"] = 156] = "Sombrero";
    BorderLineStyle[BorderLineStyle["Southwest"] = 157] = "Southwest";
    BorderLineStyle[BorderLineStyle["Stars"] = 158] = "Stars";
    BorderLineStyle[BorderLineStyle["Stars3d"] = 159] = "Stars3d";
    BorderLineStyle[BorderLineStyle["StarsBlack"] = 160] = "StarsBlack";
    BorderLineStyle[BorderLineStyle["StarsShadowed"] = 161] = "StarsShadowed";
    BorderLineStyle[BorderLineStyle["StarsTop"] = 162] = "StarsTop";
    BorderLineStyle[BorderLineStyle["Sun"] = 163] = "Sun";
    BorderLineStyle[BorderLineStyle["Swirligig"] = 164] = "Swirligig";
    BorderLineStyle[BorderLineStyle["TornPaper"] = 165] = "TornPaper";
    BorderLineStyle[BorderLineStyle["TornPaperBlack"] = 166] = "TornPaperBlack";
    BorderLineStyle[BorderLineStyle["Trees"] = 167] = "Trees";
    BorderLineStyle[BorderLineStyle["TriangleParty"] = 168] = "TriangleParty";
    BorderLineStyle[BorderLineStyle["Triangles"] = 169] = "Triangles";
    BorderLineStyle[BorderLineStyle["Tribal1"] = 170] = "Tribal1";
    BorderLineStyle[BorderLineStyle["Tribal2"] = 171] = "Tribal2";
    BorderLineStyle[BorderLineStyle["Tribal3"] = 172] = "Tribal3";
    BorderLineStyle[BorderLineStyle["Tribal4"] = 173] = "Tribal4";
    BorderLineStyle[BorderLineStyle["Tribal5"] = 174] = "Tribal5";
    BorderLineStyle[BorderLineStyle["Tribal6"] = 175] = "Tribal6";
    BorderLineStyle[BorderLineStyle["TwistedLines1"] = 176] = "TwistedLines1";
    BorderLineStyle[BorderLineStyle["TwistedLines2"] = 177] = "TwistedLines2";
    BorderLineStyle[BorderLineStyle["Vine"] = 178] = "Vine";
    BorderLineStyle[BorderLineStyle["Waveline"] = 179] = "Waveline";
    BorderLineStyle[BorderLineStyle["WeavingAngles"] = 180] = "WeavingAngles";
    BorderLineStyle[BorderLineStyle["WeavingBraid"] = 181] = "WeavingBraid";
    BorderLineStyle[BorderLineStyle["WeavingRibbon"] = 182] = "WeavingRibbon";
    BorderLineStyle[BorderLineStyle["WeavingStrips"] = 183] = "WeavingStrips";
    BorderLineStyle[BorderLineStyle["WhiteFlowers"] = 184] = "WhiteFlowers";
    BorderLineStyle[BorderLineStyle["Woodwork"] = 185] = "Woodwork";
    BorderLineStyle[BorderLineStyle["XIllusions"] = 186] = "XIllusions";
    BorderLineStyle[BorderLineStyle["ZanyTriangles"] = 187] = "ZanyTriangles";
    BorderLineStyle[BorderLineStyle["ZigZag"] = 188] = "ZigZag";
    BorderLineStyle[BorderLineStyle["ZigZagStitch"] = 189] = "ZigZagStitch";
    BorderLineStyle[BorderLineStyle["Disabled"] = 2147483647] = "Disabled";
})(BorderLineStyle || (BorderLineStyle = {}));


/***/ }),

/***/ 503:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Z: function() { return /* binding */ LayoutBorder; }
/* harmony export */ });
/* harmony import */ var _border_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4948);

class LayoutBorder extends _border_base__WEBPACK_IMPORTED_MODULE_0__/* .BorderBase */ .d {
}


/***/ }),

/***/ 1276:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: function() { return /* binding */ TableBordersBase; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8679);

class TableBordersBase {
    getHashCode() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[10] * this.top.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[11] * this.right.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[12] * this.bottom.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[13] * this.left.getHashCode();
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.bottom.equals(obj.bottom) &&
            this.left.equals(obj.left) &&
            this.right.equals(obj.right) &&
            this.top.equals(obj.top);
    }
    copyFrom(obj) {
        this.bottom = obj.bottom.clone();
        this.left = obj.left.clone();
        this.right = obj.right.clone();
        this.top = obj.top.clone();
    }
}


/***/ }),

/***/ 4437:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   E: function() { return /* binding */ TableBorders; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8679);
/* harmony import */ var _table_border_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1276);


class TableBorders extends _table_border_base__WEBPACK_IMPORTED_MODULE_1__/* .TableBordersBase */ .G {
    getHashCode() {
        return super.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[14] * this.insideHorizontal.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[15] * this.insideVertical.getHashCode();
    }
    equals(obj) {
        return super.equals(obj) &&
            this.insideHorizontal.equals(obj.insideHorizontal) &&
            this.insideVertical.equals(obj.insideVertical);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.insideHorizontal = obj.insideHorizontal.clone();
        this.insideVertical = obj.insideVertical.clone();
    }
    clone() {
        var result = new TableBorders();
        result.copyFrom(this);
        return result;
    }
    static create(top, right, bottom, left, insideHorizontal, insideVertical) {
        let result = new TableBorders();
        result.top = top;
        result.right = right;
        result.bottom = bottom;
        result.left = left;
        result.insideHorizontal = insideHorizontal;
        result.insideVertical = insideVertical;
        return result;
    }
}


/***/ }),

/***/ 3516:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   U: function() { return /* binding */ TableCellBorders; }
/* harmony export */ });
/* harmony import */ var _table_border_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1276);

class TableCellBorders extends _table_border_base__WEBPACK_IMPORTED_MODULE_0__/* .TableBordersBase */ .G {
    equals(obj) {
        return super.equals(obj) &&
            this.topLeftDiagonal.equals(obj.topLeftDiagonal) &&
            this.topRightDiagonal.equals(obj.topRightDiagonal);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.topLeftDiagonal = obj.topLeftDiagonal.clone();
        this.topRightDiagonal = obj.topRightDiagonal.clone();
    }
    clone() {
        var result = new TableCellBorders();
        result.copyFrom(this);
        return result;
    }
    static create(top, right, bottom, left, topLeftDiagonal, topRightDiagonal) {
        let result = new TableCellBorders();
        result.top = top;
        result.right = right;
        result.bottom = bottom;
        result.left = left;
        result.topLeftDiagonal = topLeftDiagonal;
        result.topRightDiagonal = topRightDiagonal;
        return result;
    }
}


/***/ }),

/***/ 429:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  K: function() { return /* binding */ DocumentCache; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var class_flag = __webpack_require__(7820);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/string.js
var string = __webpack_require__(2866);
// EXTERNAL MODULE: ./src/common/model/fonts/font-info.ts
var font_info = __webpack_require__(4098);
;// CONCATENATED MODULE: ./src/common/model/caches/control-fonts.ts




class ControlFontsCache {
    constructor() {
        this.cache = {};
        this.list = [];
    }
    addFont(info) {
        const oldFont = this.cache[info.cacheKey];
        if (oldFont)
            return oldFont;
        this.cache[info.cacheKey] = info;
        this.list.push(info);
        return info;
    }
    getFontByKey(cacheKey) {
        return this.cache[cacheKey];
    }
    getFont(info) {
        return this.cache[info.cacheKey];
    }
    deleteFont(info) {
        const oldFont = this.cache[info.cacheKey];
        if (oldFont) {
            delete this.cache[info.cacheKey];
            list.ListUtils.removeBy(this.list, el => el.cacheKey == info.cacheKey);
        }
    }
    clone() {
        const result = new ControlFontsCache();
        result.list = list.ListUtils.deepCopy(this.list);
        result.cache = string.StringMapUtils.deepCopy(this.cache);
        return result;
    }
    findSimularFontByType(fontFamily, type) {
        const flag = new class_flag.Flag(type);
        return list.ListUtils.elementBy(this.list, controlFont => controlFont.fontFamily == fontFamily &&
            controlFont.descriptors.msWordBold() == flag.get(font_info/* ControlFontType */.G.Bold) &&
            controlFont.descriptors.msWordItalic() == flag.get(font_info/* ControlFontType */.G.Italic));
    }
}

// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/character-properties-cache.ts
var character_properties_cache = __webpack_require__(8245);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/color-model-info-cache.ts
var color_model_info_cache = __webpack_require__(9081);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/drawing-color-model-info-cache.ts
var drawing_color_model_info_cache = __webpack_require__(1889);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/font-info-cache.ts + 1 modules
var font_info_cache = __webpack_require__(9467);
// EXTERNAL MODULE: ./src/common/model/caches/hash-based-cache.ts
var hash_based_cache = __webpack_require__(6648);
;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/list-level-properties-cache.ts

class ListLevelPropertiesCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new ListLevelPropertiesCache();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/masked-character-properties-cache.ts

class MaskedCharacterPropertiesCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new MaskedCharacterPropertiesCache();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/masked-paragraph-properties-cache.ts

class MaskedParagraphPropertiesCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new MaskedParagraphPropertiesCache();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/paragraph-properties-cache.ts

class ParagraphPropertiesCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new ParagraphPropertiesCache();
        result.copyFrom(this);
        return result;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./src/common/model/drawing/drawing-value-constants.ts
var drawing_value_constants = __webpack_require__(5958);
;// CONCATENATED MODULE: ./src/common/model/drawing/scene3d-properties-info.ts


class Scene3DPropertiesInfo {
    constructor() {
        this.packedValues = 0x00000000;
        this.zoom = drawing_value_constants/* DrawingValueConstants */.F.ThousandthOfPercentage;
    }
    get cameraType() { return this.getUIntValue(Scene3DPropertiesInfo.maskPresetCameraType, 0); }
    set cameraType(value) { this.setUIntValue(Scene3DPropertiesInfo.maskPresetCameraType, 0, value); }
    get lightRigDirection() { return this.getUIntValue(Scene3DPropertiesInfo.maskLightRigDirection, 6); }
    set lightRigDirection(value) { this.setUIntValue(Scene3DPropertiesInfo.maskLightRigDirection, 6, value); }
    get lightRigPreset() { return this.getUIntValue(Scene3DPropertiesInfo.maskLightRigPreset, 10); }
    set lightRigPreset(value) { this.setUIntValue(Scene3DPropertiesInfo.maskLightRigPreset, 10, value); }
    get hasCameraRotation() { return this.getBooleanValue(Scene3DPropertiesInfo.maskHasCameraRotation); }
    set hasCameraRotation(value) { this.setBooleanValue(Scene3DPropertiesInfo.maskHasCameraRotation, value); }
    get hasLightRigRotation() { return this.getBooleanValue(Scene3DPropertiesInfo.maskHasLightRigRotation); }
    set hasLightRigRotation(value) { this.setBooleanValue(Scene3DPropertiesInfo.maskHasLightRigRotation, value); }
    get isDefault() { return this.equals(Scene3DPropertiesInfo.defaultInfo); }
    calculateHash() {
        return math.MathUtils.somePrimes[0] * this.packedValues ^
            math.MathUtils.somePrimes[1] * this.fov ^
            math.MathUtils.somePrimes[2] * this.zoom;
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    getUIntValue(mask, offsetBits) {
        return (this.packedValues & mask) >> offsetBits;
    }
    setUIntValue(mask, offsetBits, value) {
        this.packedValues = ~mask;
        this.packedValues |= (value << offsetBits) & mask;
    }
    setBooleanValue(mask, bitVal) {
        this.packedValues = bitVal ? (this.packedValues || mask) : (this.packedValues && ~mask);
    }
    getBooleanValue(mask) {
        return (this.packedValues & mask) != 0;
    }
    equals(obj) {
        return obj &&
            this.packedValues == obj.packedValues &&
            this.fov == obj.fov &&
            this.zoom == obj.zoom;
    }
    clone() {
        const obj = new Scene3DPropertiesInfo();
        obj.packedValues = this.packedValues;
        obj.fov = this.fov;
        obj.zoom = this.zoom;
        return obj;
    }
}
Scene3DPropertiesInfo.defaultInfo = new Scene3DPropertiesInfo();
Scene3DPropertiesInfo.maskPresetCameraType = 0x0000003F;
Scene3DPropertiesInfo.maskLightRigDirection = 0x000003C0;
Scene3DPropertiesInfo.maskLightRigPreset = 0x00007C00;
Scene3DPropertiesInfo.maskHasCameraRotation = 0x00008000;
Scene3DPropertiesInfo.maskHasLightRigRotation = 0x00010000;

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/scene3d-properties-info-cache.ts


class Scene3DPropertiesInfoCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new Scene3DPropertiesInfoCache();
        result.copyFrom(this);
        return result;
    }
}
Scene3DPropertiesInfoCache.defaultItem = new Scene3DPropertiesInfo();

;// CONCATENATED MODULE: ./src/common/model/drawing/scene3d-rotation-info.ts

class Scene3DRotationInfo {
    constructor(latitude = 0, longitude = 0, revolution = 0) {
        this.latitude = latitude;
        this.longitude = longitude;
        this.revolution = revolution;
    }
    calculateHash() {
        return math.MathUtils.somePrimes[0] * this.latitude ^
            math.MathUtils.somePrimes[1] * this.longitude ^
            math.MathUtils.somePrimes[2] * this.revolution;
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    equals(obj) {
        return obj &&
            this.latitude == obj.latitude &&
            this.longitude == obj.longitude &&
            this.revolution == obj.revolution;
    }
    clone() {
        const obj = new Scene3DRotationInfo();
        obj.latitude = this.latitude;
        obj.longitude = this.longitude;
        obj.revolution = this.revolution;
        return obj;
    }
}
Scene3DRotationInfo.defaultInfo = new Scene3DRotationInfo();

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/scene3d-rotation-info-cache.ts


class Scene3DRotationInfoCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new Scene3DRotationInfoCache();
        result.copyFrom(this);
        return result;
    }
}
Scene3DRotationInfoCache.defaultItem = new Scene3DRotationInfo();

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/shading-info-cache.ts

class ShadingInfoCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new ShadingInfoCache();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/table-cell-properties-cache.ts

class TableCellPropertiesCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new TableCellPropertiesCache();
        result.copyFrom(this);
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/table-row-properties-cache.ts

class TableRowPropertiesCache extends hash_based_cache/* HashBasedCache */.T {
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new TableRowPropertiesCache();
        result.copyFrom(this);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/caches/images.ts
var caches_images = __webpack_require__(7079);
;// CONCATENATED MODULE: ./src/common/model/caches/caches.ts















class DocumentCache {
    constructor() {
        this.imageCache = new caches_images/* ImageCache */.y();
        this.controlFontsCache = new ControlFontsCache();
        this.fontInfoCache = new font_info_cache/* FontInfoCache */.I(null);
        this.mergedCharacterPropertiesCache = new character_properties_cache/* CharacterPropertiesCache */.H();
        this.mergedParagraphPropertiesCache = new ParagraphPropertiesCache();
        this.maskedCharacterPropertiesCache = new MaskedCharacterPropertiesCache();
        this.maskedParagraphPropertiesCache = new MaskedParagraphPropertiesCache();
        this.tableRowPropertiesCache = new TableRowPropertiesCache();
        this.tableCellPropertiesCache = new TableCellPropertiesCache();
        this.listLevelPropertiesCache = new ListLevelPropertiesCache();
        this.shadingInfoCache = new ShadingInfoCache();
        this.colorModelInfoCache = new color_model_info_cache/* ColorModelInfoCache */.N();
        this.drawingColorModelInfoCache = new drawing_color_model_info_cache/* DrawingColorModelInfoCache */.I();
        this.scene3DPropertiesInfoCache = new Scene3DPropertiesInfoCache();
        this.scene3DRotationInfoCache = new Scene3DRotationInfoCache();
    }
    clearTemporaryCaches() {
        this.fontInfoCache.clearTemporaryCache();
        this.mergedCharacterPropertiesCache.clearTemporaryCache();
        this.mergedParagraphPropertiesCache.clearTemporaryCache();
        this.maskedCharacterPropertiesCache.clearTemporaryCache();
        this.maskedParagraphPropertiesCache.clearTemporaryCache();
        this.listLevelPropertiesCache.clearTemporaryCache();
        this.tableRowPropertiesCache.clearTemporaryCache();
        this.tableCellPropertiesCache.clearTemporaryCache();
        this.shadingInfoCache.clearTemporaryCache();
        this.colorModelInfoCache.clearTemporaryCache();
        this.drawingColorModelInfoCache.clearTemporaryCache();
        this.scene3DPropertiesInfoCache.clearTemporaryCache();
        this.scene3DRotationInfoCache.clearTemporaryCache();
    }
    DEBUG_DISTRIBUTION_INFO() {
        const result = [];
        result.push(`maskedCharacterPropertiesCache \t{elems:${this.maskedCharacterPropertiesCache.count}, maxLen:${this.maskedCharacterPropertiesCache.DEBUG_MAX_CELL_LENGTH()}`);
        result.push(`maskedParagraphPropertiesCache \t{elems:${this.maskedParagraphPropertiesCache.count}, maxLen:${this.maskedParagraphPropertiesCache.DEBUG_MAX_CELL_LENGTH()}`);
        result.push(`mergedCharacterPropertiesCache \t{elems:${this.mergedCharacterPropertiesCache.count}, maxLen:${this.mergedCharacterPropertiesCache.DEBUG_MAX_CELL_LENGTH()}`);
        result.push(`mergedParagraphPropertiesCache \t{elems:${this.mergedParagraphPropertiesCache.count}, maxLen:${this.mergedParagraphPropertiesCache.DEBUG_MAX_CELL_LENGTH()}`);
        result.push(`listLevelPropertiesCache \t{elems:${this.listLevelPropertiesCache.count}, maxLen:${this.listLevelPropertiesCache.DEBUG_MAX_CELL_LENGTH()}`);
        result.push(`tableRowPropertiesCache \t{elems:${this.tableRowPropertiesCache.count}, maxLen:${this.tableRowPropertiesCache.DEBUG_MAX_CELL_LENGTH()}`);
        result.push(`tableCellPropertiesCache \t{elems:${this.tableCellPropertiesCache.count}, maxLen:${this.tableCellPropertiesCache.DEBUG_MAX_CELL_LENGTH()}`);
        return result.join("\n");
    }
    clone() {
        const cache = new DocumentCache();
        cache.fontInfoCache = this.fontInfoCache.clone();
        cache.controlFontsCache = this.controlFontsCache.clone();
        cache.mergedCharacterPropertiesCache = this.mergedCharacterPropertiesCache.clone();
        cache.mergedParagraphPropertiesCache = this.mergedParagraphPropertiesCache.clone();
        cache.maskedCharacterPropertiesCache = this.maskedCharacterPropertiesCache.clone();
        cache.maskedParagraphPropertiesCache = this.maskedParagraphPropertiesCache.clone();
        cache.tableRowPropertiesCache = this.tableRowPropertiesCache.clone();
        cache.tableCellPropertiesCache = this.tableCellPropertiesCache.clone();
        cache.listLevelPropertiesCache = this.listLevelPropertiesCache.clone();
        cache.imageCache = this.imageCache.clone();
        cache.shadingInfoCache = this.shadingInfoCache.clone();
        cache.colorModelInfoCache = this.colorModelInfoCache.clone();
        cache.drawingColorModelInfoCache = this.drawingColorModelInfoCache.clone();
        cache.scene3DPropertiesInfoCache = this.scene3DPropertiesInfoCache.clone();
        cache.scene3DRotationInfoCache = this.scene3DRotationInfoCache.clone();
        return cache;
    }
}


/***/ }),

/***/ 6648:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   T: function() { return /* binding */ HashBasedCache; },
/* harmony export */   m: function() { return /* binding */ HashBasedCacheCore; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1167);



class HashBasedCacheCore {
    get count() { return this.numElements; }
    ;
    constructor() {
        this.clear();
    }
    clear() {
        this.hashtable = {};
        this.numElements = 0;
    }
    getItem(item) {
        const existingElement = this.addItemInternal(this.hashtable, item);
        if (existingElement !== null)
            return existingElement;
        this.processNewItem(item);
        this.numElements++;
        return item;
    }
    forEach(callback) {
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.forEach(this.hashtable, (items) => _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.forEach(items, callback));
    }
    findItemByPredicate(predicate) {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.anyOf(this.hashtable, (items) => _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.elementBy(items, (item) => predicate(item)));
    }
    processNewItem(_item) { }
    isExist(item) {
        const hash = item.getHashCode();
        let listOfElements = this.hashtable[hash];
        if (listOfElements) {
            for (let i = 0, elem; elem = listOfElements[i]; i++) {
                if (elem === item || elem.equals(item))
                    return true;
            }
        }
        return false;
    }
    DEBUG_MAX_CELL_LENGTH() {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.max(this.hashtable, a => a.length).length;
    }
    removeItems(shouldRemove) {
        const newHashtable = {};
        let numElements = 0;
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.forEach(this.hashtable, (items) => items.forEach(item => {
            if (!shouldRemove(item)) {
                this.addItemInternal(newHashtable, item);
                numElements++;
            }
        }));
        this.hashtable = newHashtable;
        this.numElements = numElements;
    }
    addItemInternal(hashtable, item) {
        const hash = item.getHashCode();
        let listOfElements = hashtable[hash];
        if (listOfElements) {
            for (let i = 0, elem; elem = listOfElements[i]; i++) {
                if (elem === item || elem.equals(item))
                    return elem;
            }
        }
        else
            hashtable[hash] = listOfElements = [];
        listOfElements.push(item);
        return null;
    }
}
class HashBasedCache extends HashBasedCacheCore {
    constructor() {
        super();
    }
    clearTemporaryCache() {
        this.tempCacheForMerge = {};
    }
    clear() {
        super.clear();
        this.clearTemporaryCache();
    }
    merge(jsonObjs, convertFromJSON) {
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.forEach(jsonObjs, (property, index) => this.addItemForMerge(convertFromJSON(property), index));
    }
    getItemByJsonKey(jsonKey) {
        return this.tempCacheForMerge[jsonKey];
    }
    addItemForMerge(item, jsonKey) {
        return this.tempCacheForMerge[jsonKey] = this.getItem(item);
    }
    convertToJSON(convertToJSON) {
        const result = [];
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.forEach(this.hashtable, (items) => _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.forEach(items, (item) => result.push(convertToJSON(item))));
        return result;
    }
    indexOf(_item) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
    copyFrom(obj) {
        this.hashtable = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.map(obj.hashtable, el => _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.deepCopy(el));
        this.tempCacheForMerge = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.deepCopy(obj.tempCacheForMerge);
        this.numElements = obj.numElements;
    }
}


/***/ }),

/***/ 8245:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ CharacterPropertiesCache; }
/* harmony export */ });
/* harmony import */ var _character_character_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1789);
/* harmony import */ var _fonts_font_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4098);
/* harmony import */ var _hash_based_cache__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6648);



class CharacterPropertiesCache extends _hash_based_cache__WEBPACK_IMPORTED_MODULE_2__/* .HashBasedCache */ .T {
    static getRareCharProperty(fontMeasurer) {
        if (!CharacterPropertiesCache._rareCharProperty) {
            const prop = new _character_character_properties__WEBPACK_IMPORTED_MODULE_0__/* .CharacterProperties */ .d();
            prop.fontInfo = new _fonts_font_info__WEBPACK_IMPORTED_MODULE_1__/* .FontInfo */ .p("Calibri");
            prop.fontInfo.measurer = fontMeasurer;
            prop.fontSize = 200;
            CharacterPropertiesCache._rareCharProperty = prop;
        }
        return CharacterPropertiesCache._rareCharProperty;
    }
    resetSizes() {
        this.forEach((prop) => {
            prop.clearSizes();
            if (prop.fontInfo)
                prop.fontInfo.reset();
        });
    }
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new CharacterPropertiesCache();
        result.copyFrom(this);
        return result;
    }
}


/***/ }),

/***/ 9081:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   N: function() { return /* binding */ ColorModelInfoCache; }
/* harmony export */ });
/* harmony import */ var _color_color_model_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4837);
/* harmony import */ var _hash_based_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6648);


class ColorModelInfoCache extends _hash_based_cache__WEBPACK_IMPORTED_MODULE_1__/* .HashBasedCache */ .T {
    constructor() {
        super();
        this.getItem(_color_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .ColorModelInfo */ .k.empty);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new ColorModelInfoCache();
        result.copyFrom(this);
        return result;
    }
}
ColorModelInfoCache.defaultItem = _color_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .ColorModelInfo */ .k.empty;


/***/ }),

/***/ 1889:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: function() { return /* binding */ DrawingColorModelInfoCache; }
/* harmony export */ });
/* harmony import */ var _drawing_drawing_color_model_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(893);
/* harmony import */ var _hash_based_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6648);


class DrawingColorModelInfoCache extends _hash_based_cache__WEBPACK_IMPORTED_MODULE_1__/* .HashBasedCache */ .T {
    constructor() {
        super();
        this.getItem(_drawing_drawing_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .DrawingColorModelInfo */ .a.empty);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    clone() {
        const result = new DrawingColorModelInfoCache();
        result.copyFrom(this);
        return result;
    }
}
DrawingColorModelInfoCache.defaultItem = new _drawing_drawing_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .DrawingColorModelInfo */ .a();


/***/ }),

/***/ 9467:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  I: function() { return /* binding */ FontInfoCache; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/model/fonts/font-info.ts
var font_info = __webpack_require__(4098);
// EXTERNAL MODULE: ./src/common/rich-utils/html-converter.ts
var html_converter = __webpack_require__(7225);
;// CONCATENATED MODULE: ./src/common/model/fonts/measurer.ts

class FontMeasurer {
    getFontMeasurerInfo(font) {
        this.beginMeasuring(font);
        const baseLine = this.container.firstChild.offsetTop / this.container.lastChild.offsetHeight;
        const heightFactor = this.container.lastChild.offsetHeight / FontMeasurer.testSpanHeigth;
        this.endMeasuring();
        return new FontMeasurerInfo(baseLine, heightFactor);
    }
    beginMeasuring(font) {
        if (!this.container) {
            this.container = document.createElement("div");
            this.container.style.position = "absolute";
            this.container.style.top = "-10000px";
            this.container.style.left = "-10000px";
            this.container.style.opacity = "0";
            this.container.style.fontSize = "0px";
            this.container.style.lineHeight = "normal";
        }
        var fontCssString = html_converter/* HtmlConverter */.c.buildFontFamilyRule(font.cssString);
        this.container.innerHTML = '';
        var span = document.createElement('span');
        span.style.cssText = 'font-size:0; font-family: ' + fontCssString + '; display: inline-block;';
        span.innerHTML = 'A';
        this.container.appendChild(span);
        span = document.createElement('span');
        span.style.cssText = 'font-size:' + FontMeasurer.testSpanHeigth + 'pt; font-family: ' + fontCssString + '; display: inline-block;';
        span.innerHTML = 'A';
        this.container.appendChild(span);
        document.body.appendChild(this.container);
        return this.container;
    }
    endMeasuring() {
        if (this.container && this.container.parentNode)
            this.container.parentNode.removeChild(this.container);
    }
}
FontMeasurer.testSpanHeigth = 288;
class FontMeasurerInfo {
    constructor(baseLine, heightFactor) {
        this.baseLine = baseLine;
        this.heightFactor = heightFactor;
    }
}

// EXTERNAL MODULE: ./src/common/model/caches/hash-based-cache.ts
var hash_based_cache = __webpack_require__(6648);
;// CONCATENATED MODULE: ./src/common/model/caches/hashed-caches/font-info-cache.ts




class FontInfoCache extends hash_based_cache/* HashBasedCache */.T {
    constructor(fontMeasurer) {
        super();
        if (!fontMeasurer) {
            this.fontMeasurer = new FontMeasurer();
            list.ListUtils.forEach(FontInfoCache.defaultFonts, (defaultFont, index) => this.addItemForMerge(defaultFont.clone(), index));
        }
        else
            this.fontMeasurer = fontMeasurer;
    }
    static get defaultFontInfo() {
        if (!FontInfoCache._defaultFontInfo)
            FontInfoCache._defaultFontInfo = list.ListUtils.elementBy(FontInfoCache.defaultFonts, (f) => f.name == FontInfoCache.defaultFontName);
        return FontInfoCache._defaultFontInfo;
    }
    processNewItem(property) {
        property.measurer = this.fontMeasurer;
    }
    getItemByName(name) {
        const items = this.hashtable[font_info/* FontInfo */.p.calculateHashByName(name)];
        return items && items[0] ? items[0] : null;
    }
    getFontNames(sort = false) {
        const result = [];
        this.forEach((item) => result.push(item.name));
        if (sort)
            result.sort();
        return result;
    }
    getAllFonts() {
        const result = [];
        this.forEach((item) => result.push(item));
        return result;
    }
    addFont(name, cssString) {
        const newFontInfo = FontInfoCache.defaultFontInfo.clone();
        newFontInfo.name = name;
        if (cssString)
            newFontInfo.cssString = FontInfoCache.correctCssString(cssString);
        return this.addItemForMerge(newFontInfo, this.count);
    }
    static correctCssString(cssString) {
        if (cssString.indexOf(' ') != -1) {
            if (cssString[0] == "'" || cssString[0] == "\"")
                cssString = cssString.slice(1);
            const lastChar = cssString[cssString.length - 1];
            if (lastChar == "'" || lastChar == "\"")
                cssString = cssString.substr(0, cssString.length - 1);
            return `'${cssString}'`;
        }
        return cssString;
    }
    deleteFont(info) {
        const hash = font_info/* FontInfo */.p.calculateHashByName(info.name);
        const items = this.hashtable[hash];
        if (!items || !items[0])
            return;
        delete this.hashtable[hash];
    }
    static fillDefaultFonts(fontInfoCache) {
        if (FontInfoCache.defaultFonts.length == 0)
            FontInfoCache.defaultFonts = list.ListUtils.initByCallback(fontInfoCache.count, (ind) => fontInfoCache.getItemByJsonKey(ind));
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.fontMeasurer = obj.fontMeasurer;
    }
    clone() {
        const result = new FontInfoCache(null);
        result.copyFrom(this);
        return result;
    }
}
FontInfoCache.defaultFonts = [];
FontInfoCache.defaultFontName = "Calibri";
FontInfoCache.fallbackFontName = "Times New Roman";


/***/ }),

/***/ 7079:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ CacheImageInfo; },
/* harmony export */   y: function() { return /* binding */ ImageCache; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6353);
/* harmony import */ var _devexpress_utils_lib_utils_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6477);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1167);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2491);





class CacheImageInfo {
    static get emptyPictureSize() { return new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__.Size(CacheImageInfo.emptyPicDimension, CacheImageInfo.emptyPicDimension); }
    get isLoaded() { return this._referenceInfo ? this._referenceInfo._isLoaded : this._isLoaded; }
    set isLoaded(val) { this._isLoaded = val; }
    get size() { return this._referenceInfo ? this._referenceInfo._size : this._size; }
    set size(val) { this._size = val; }
    get currId() { return this.actualId !== undefined ? this.actualId : this.tmpId; }
    get base64() { return this._referenceInfo ? this._referenceInfo._base64 : this._base64; }
    set base64(val) { this._base64 = _devexpress_utils_lib_utils_base64__WEBPACK_IMPORTED_MODULE_2__.Base64Utils.normalizeToDataUrl(val, "image/png"); }
    get pdfCompatibleBase64() { var _a; return (_a = this._convertedBase64) !== null && _a !== void 0 ? _a : this.base64; }
    get referenceInfo() { return this._referenceInfo; }
    set referenceInfo(val) {
        this._referenceInfo = val;
        this._base64 = undefined;
        this._size = undefined;
        this._isLoaded = undefined;
        this.file = undefined;
    }
    constructor(base64, actualId, tmpId, imageUrl, file, referenceInfo, size, isLoaded) {
        this._base64 = base64 !== undefined ? _devexpress_utils_lib_utils_base64__WEBPACK_IMPORTED_MODULE_2__.Base64Utils.normalizeToDataUrl(base64, "image/png") : undefined;
        this.actualId = actualId;
        this.tmpId = tmpId;
        this._referenceInfo = referenceInfo;
        this._size = size ? size : CacheImageInfo.emptyPictureSize;
        this._isLoaded = isLoaded !== undefined ? isLoaded : false;
        this.imageUrl = imageUrl;
        this.file = file;
    }
    equals(obj) {
        return ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.isDefined)(this._referenceInfo) && this._referenceInfo === obj._referenceInfo) ||
            this.actualId == obj.actualId &&
                this.tmpId == obj.tmpId &&
                this.base64 === obj.base64 &&
                this.imageUrl === obj.imageUrl &&
                this.file === obj.file &&
                this.size.equals(obj.size);
    }
    clone() {
        return new CacheImageInfo(this._base64, this.actualId, this.tmpId, this.imageUrl, this.file, this._referenceInfo, this._size, this._isLoaded);
    }
    shouldMakeImagePdfCompatible() {
        if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.isDefined)(this._convertedBase64))
            return false;
        return !this.isPdfCompatible();
    }
    isPdfCompatible() {
        if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.isDefined)(this._convertedBase64))
            return true;
        if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.isDefined)(this.base64)) {
            const data = this.getImageHeader();
            if (data[0] === 0xff && data[1] === 0xd8)
                return true;
            else if (data[0] === 0x89 && this.toString(data, 1, 4) === 'PNG')
                return true;
        }
        return false;
    }
    toString(data, start, end) {
        return Array.from(data.slice(start, end)).map(b => String.fromCharCode(b)).join("");
    }
    setPdfCompatibleBase64(val) {
        this._convertedBase64 = _devexpress_utils_lib_utils_base64__WEBPACK_IMPORTED_MODULE_2__.Base64Utils.normalizeToDataUrl(val, "image/png");
    }
    getImageHeader() {
        const match = /^data:.+;base64,(.*)$/.exec(this.base64);
        const header = match[1].substring(0, 8);
        return Uint8Array.from(atob(header), c => c.charCodeAt(0));
    }
}
CacheImageInfo.emptyPicDimension = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.pixelsToTwips(32);
class ImageCache {
    get emptyImage() { return this.cache[this.emptyImageId]; }
    constructor() {
        this.emptyImageId = 0;
        this.lastTmpId = 0;
        this.lastActualId = 1;
        this.cache = {};
        const onePixelSize = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.pixelsToTwips(1);
        const emptyImage = this.createUnloadedInfoByBase64(ImageCache.transparentWhiteImage1_1, new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__.Size(onePixelSize, onePixelSize));
        emptyImage.isLoaded = false;
    }
    getPictureData(id) {
        return this.cache[id];
    }
    createUnloadedInfoByUrl(imageUrl, size) {
        const info = this.findInfoByUrl(imageUrl);
        if (info)
            return info;
        return this.registerPictureData(new CacheImageInfo(this.cache[this.emptyImageId].base64, undefined, this.lastTmpId--, imageUrl, undefined, undefined, this.origSizeCorrect(size) ? size : undefined));
    }
    createUnloadedInfoByFile(file) {
        return this.registerPictureData(new CacheImageInfo(this.cache[this.emptyImageId].base64, undefined, this.lastTmpId--, undefined, file));
    }
    registerFromAnotherModel(imageInfo) {
        imageInfo.isLoaded = false;
        imageInfo.actualId = undefined;
        imageInfo.base64 = this.cache[this.emptyImageId].base64;
        imageInfo.tmpId = this.lastTmpId--;
    }
    createUnloadedInfoByBase64(base64, size) {
        const info = this.findInfoByBase64(base64);
        if (info)
            return info;
        const origSizeCorrect = this.origSizeCorrect(size);
        return this.registerPictureData(new CacheImageInfo(base64, undefined, this.lastTmpId--, undefined, undefined, undefined, origSizeCorrect ? size : undefined));
    }
    createLoadedInfo(base64, size, id) {
        const info = this.findInfoByBase64(base64);
        if (info) {
            return id === undefined || id === info.actualId ?
                info :
                this.registerPictureData(new CacheImageInfo(undefined, id, undefined, undefined, undefined, info, undefined));
        }
        if (id === undefined)
            id = this.getNextActualId();
        return this.registerPictureData(new CacheImageInfo(base64, id, undefined, undefined, undefined, undefined, size, !!size));
    }
    createUnloadedByBase64OrUrl(data, size) {
        return _devexpress_utils_lib_utils_base64__WEBPACK_IMPORTED_MODULE_2__.Base64Utils.checkPrependDataUrl(data) ?
            this.createUnloadedInfoByBase64(data, size) :
            this.createUnloadedInfoByUrl(data, size);
    }
    finalizeLoading(existingInfo, loadedInfo) {
        existingInfo.isLoaded = true;
        existingInfo.size = loadedInfo.size;
        existingInfo.actualId = loadedInfo.actualId;
        if (existingInfo.actualId === undefined)
            existingInfo.actualId = this.getNextActualId();
        this.registerPictureData(existingInfo);
        if (existingInfo.referenceInfo)
            return;
        const base64 = _devexpress_utils_lib_utils_base64__WEBPACK_IMPORTED_MODULE_2__.Base64Utils.normalizeToDataUrl(loadedInfo.base64, "image/png");
        if (!_devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.containsBy(this.cache, cacheElem => {
            const isReference = cacheElem.base64 == base64 && cacheElem !== existingInfo && cacheElem.isLoaded;
            if (isReference)
                existingInfo.referenceInfo = cacheElem.referenceInfo ? cacheElem.referenceInfo : cacheElem;
            return isReference;
        }))
            existingInfo.base64 = base64;
    }
    getNextActualId() {
        return this.lastActualId++;
    }
    isDataRegistered(data) {
        return !!this.cache[data.actualId] || !!this.cache[data.tmpId];
    }
    registerPictureData(data) {
        let existingData = this.cache[data.actualId];
        if (!existingData)
            existingData = this.cache[data.tmpId];
        if (!existingData)
            existingData = data;
        if (data.actualId !== undefined)
            this.cache[data.actualId] = existingData;
        if (data.tmpId !== undefined)
            this.cache[data.tmpId] = existingData;
        return existingData;
    }
    loadAllPictures(picture) {
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.forEach(this.cache, cacheInfo => {
            if (this.emptyImageId != cacheInfo.actualId)
                picture.loader.load(cacheInfo);
        });
    }
    findInfoByBase64(base64) {
        base64 = _devexpress_utils_lib_utils_base64__WEBPACK_IMPORTED_MODULE_2__.Base64Utils.normalizeToDataUrl(base64, "image/png");
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.elementBy(this.cache, info => info.base64 == base64);
    }
    findInfoByUrl(imageUrl) {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.elementBy(this.cache, info => info.imageUrl == imageUrl);
    }
    origSizeCorrect(size) {
        return size && !!size.width && !!size.height;
    }
    clone() {
        const result = new ImageCache();
        result.lastTmpId = this.lastTmpId;
        result.lastActualId = this.lastActualId;
        result.cache = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.deepCopy(this.cache);
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.forEach(result.cache, el => {
            if (el.referenceInfo)
                el.referenceInfo = result.cache[el.currId];
        });
        return result;
    }
}
ImageCache.transparentWhiteImage1_1 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAANSURBVBhXY/j///9/AAn7A/0FQ0XKAAAAAElFTkSuQmCC';


/***/ }),

/***/ 5816:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: function() { return /* binding */ ContentInsertedSubDocumentChange; }
/* harmony export */ });
class ContentInsertedSubDocumentChange {
    constructor(subDocumentId, position, length) {
        this.subDocumentId = subDocumentId;
        this.position = position;
        this.length = length;
    }
    canContinuesWith(nextChange) {
        if (nextChange.subDocumentId != this.subDocumentId)
            return false;
        if (nextChange.position != (this.position + this.length))
            return false;
        return true;
    }
}


/***/ }),

/***/ 300:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: function() { return /* binding */ ModelChangeType; }
/* harmony export */ });
var ModelChangeType;
(function (ModelChangeType) {
    ModelChangeType[ModelChangeType["PageColor"] = 0] = "PageColor";
    ModelChangeType[ModelChangeType["DefaultTabWidth"] = 1] = "DefaultTabWidth";
    ModelChangeType[ModelChangeType["DifferentOddAndEvenPages"] = 2] = "DifferentOddAndEvenPages";
    ModelChangeType[ModelChangeType["HeaderFooterCreated"] = 3] = "HeaderFooterCreated";
    ModelChangeType[ModelChangeType["HeaderFooterIndexChanged"] = 4] = "HeaderFooterIndexChanged";
    ModelChangeType[ModelChangeType["LoadFontInfo"] = 5] = "LoadFontInfo";
    ModelChangeType[ModelChangeType["SectionFormattingChanged"] = 6] = "SectionFormattingChanged";
    ModelChangeType[ModelChangeType["CreateStyleLink"] = 7] = "CreateStyleLink";
    ModelChangeType[ModelChangeType["DeleteStyleLink"] = 8] = "DeleteStyleLink";
    ModelChangeType[ModelChangeType["DocumentProtectionChanged"] = 9] = "DocumentProtectionChanged";
    ModelChangeType[ModelChangeType["AbstractNumberingListAdded"] = 10] = "AbstractNumberingListAdded";
    ModelChangeType[ModelChangeType["AbstractNumberingListDeleted"] = 11] = "AbstractNumberingListDeleted";
    ModelChangeType[ModelChangeType["NumberingListAdded"] = 12] = "NumberingListAdded";
    ModelChangeType[ModelChangeType["NumberingListDeleted"] = 13] = "NumberingListDeleted";
    ModelChangeType[ModelChangeType["ListLevelPropertyChanged"] = 14] = "ListLevelPropertyChanged";
    ModelChangeType[ModelChangeType["ListLevelParagraphPropertyChanged"] = 15] = "ListLevelParagraphPropertyChanged";
    ModelChangeType[ModelChangeType["ListLevelCharacterPropertyChanged"] = 16] = "ListLevelCharacterPropertyChanged";
    ModelChangeType[ModelChangeType["IOverrideListLevelChanged"] = 17] = "IOverrideListLevelChanged";
    ModelChangeType[ModelChangeType["BookmarkCreated"] = 18] = "BookmarkCreated";
    ModelChangeType[ModelChangeType["BookmarkDeleted"] = 19] = "BookmarkDeleted";
    ModelChangeType[ModelChangeType["TabInserted"] = 20] = "TabInserted";
    ModelChangeType[ModelChangeType["TabDeleted"] = 21] = "TabDeleted";
    ModelChangeType[ModelChangeType["LoadPicturesInfo"] = 22] = "LoadPicturesInfo";
    ModelChangeType[ModelChangeType["InlinePicturesUpdated"] = 23] = "InlinePicturesUpdated";
    ModelChangeType[ModelChangeType["InlinePictureInserted"] = 24] = "InlinePictureInserted";
    ModelChangeType[ModelChangeType["AnchoredPictureInserted"] = 25] = "AnchoredPictureInserted";
    ModelChangeType[ModelChangeType["AnchoredPictureSizeChanged"] = 26] = "AnchoredPictureSizeChanged";
    ModelChangeType[ModelChangeType["InlineObjectRunPropertyChanged"] = 27] = "InlineObjectRunPropertyChanged";
    ModelChangeType[ModelChangeType["FieldInserted"] = 28] = "FieldInserted";
    ModelChangeType[ModelChangeType["FieldDeleted"] = 29] = "FieldDeleted";
    ModelChangeType[ModelChangeType["HyperlinkInfoChanged"] = 30] = "HyperlinkInfoChanged";
    ModelChangeType[ModelChangeType["FieldsShowCodeChanged"] = 31] = "FieldsShowCodeChanged";
    ModelChangeType[ModelChangeType["SimpleRunInserted"] = 32] = "SimpleRunInserted";
    ModelChangeType[ModelChangeType["TextBufferChanged"] = 33] = "TextBufferChanged";
    ModelChangeType[ModelChangeType["ParagraphInserted"] = 34] = "ParagraphInserted";
    ModelChangeType[ModelChangeType["SectionInserted"] = 35] = "SectionInserted";
    ModelChangeType[ModelChangeType["AnchoredTextBoxInserted"] = 36] = "AnchoredTextBoxInserted";
    ModelChangeType[ModelChangeType["AnchorObjectRemoved"] = 37] = "AnchorObjectRemoved";
    ModelChangeType[ModelChangeType["IntervalRemoved"] = 38] = "IntervalRemoved";
    ModelChangeType[ModelChangeType["ParagraphMerged"] = 39] = "ParagraphMerged";
    ModelChangeType[ModelChangeType["SectionMerged"] = 40] = "SectionMerged";
    ModelChangeType[ModelChangeType["CharacterFormattingChanged"] = 41] = "CharacterFormattingChanged";
    ModelChangeType[ModelChangeType["CharacterPropertiesChanged"] = 42] = "CharacterPropertiesChanged";
    ModelChangeType[ModelChangeType["ParagraphFormattingChanged"] = 43] = "ParagraphFormattingChanged";
    ModelChangeType[ModelChangeType["ParagraphPropertiesChanged"] = 44] = "ParagraphPropertiesChanged";
    ModelChangeType[ModelChangeType["ParagraphAndCharacterMergedPropertiesReset"] = 45] = "ParagraphAndCharacterMergedPropertiesReset";
    ModelChangeType[ModelChangeType["AnchoredTextBoxSizeChanged"] = 46] = "AnchoredTextBoxSizeChanged";
    ModelChangeType[ModelChangeType["AnchoredTextBoxPropertiesChanged"] = 47] = "AnchoredTextBoxPropertiesChanged";
    ModelChangeType[ModelChangeType["AnchorInfoPropertyChanged"] = 48] = "AnchorInfoPropertyChanged";
    ModelChangeType[ModelChangeType["ShapeChanged"] = 49] = "ShapeChanged";
    ModelChangeType[ModelChangeType["ShapePropertyChanged"] = 50] = "ShapePropertyChanged";
    ModelChangeType[ModelChangeType["CharacterStyleApplied"] = 51] = "CharacterStyleApplied";
    ModelChangeType[ModelChangeType["ParagraphStyleApplied"] = 52] = "ParagraphStyleApplied";
    ModelChangeType[ModelChangeType["TableStyleChanged"] = 53] = "TableStyleChanged";
    ModelChangeType[ModelChangeType["ParagraphNumberingListChanged"] = 54] = "ParagraphNumberingListChanged";
    ModelChangeType[ModelChangeType["TableCreated"] = 55] = "TableCreated";
    ModelChangeType[ModelChangeType["TableRemoved"] = 56] = "TableRemoved";
    ModelChangeType[ModelChangeType["TableStartPositionShifted"] = 57] = "TableStartPositionShifted";
    ModelChangeType[ModelChangeType["TableCellPropertyChanged"] = 58] = "TableCellPropertyChanged";
    ModelChangeType[ModelChangeType["TablePropertyChanged"] = 59] = "TablePropertyChanged";
    ModelChangeType[ModelChangeType["TableRowPropertyChanged"] = 60] = "TableRowPropertyChanged";
    ModelChangeType[ModelChangeType["TableCellSplittedHorizontally"] = 61] = "TableCellSplittedHorizontally";
    ModelChangeType[ModelChangeType["TableCellMergedHorizontally"] = 62] = "TableCellMergedHorizontally";
    ModelChangeType[ModelChangeType["TableRowInserted"] = 63] = "TableRowInserted";
    ModelChangeType[ModelChangeType["TableRowRemoved"] = 64] = "TableRowRemoved";
    ModelChangeType[ModelChangeType["TableCellRemoved"] = 65] = "TableCellRemoved";
    ModelChangeType[ModelChangeType["TableCellInserted"] = 66] = "TableCellInserted";
    ModelChangeType[ModelChangeType["RangePermissionsChanged"] = 67] = "RangePermissionsChanged";
    ModelChangeType[ModelChangeType["RangePermissionsPropertiesChanged"] = 68] = "RangePermissionsPropertiesChanged";
})(ModelChangeType || (ModelChangeType = {}));


/***/ }),

/***/ 8193:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: function() { return /* binding */ HyperlinkInfoChangedSubDocumentChange; }
/* harmony export */ });
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(300);

class HyperlinkInfoChangedSubDocumentChange {
    constructor(subDocumentId, fieldResultInterval, fieldCodeInterval, newHyperlinkInfo) {
        this.subDocumentId = subDocumentId;
        this.fieldResultInterval = fieldResultInterval;
        this.fieldCodeInterval = fieldCodeInterval;
        this.newHyperlinkInfo = newHyperlinkInfo;
        this.type = _enums__WEBPACK_IMPORTED_MODULE_0__/* .ModelChangeType */ .f.HyperlinkInfoChanged;
    }
}


/***/ }),

/***/ 3545:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: function() { return /* binding */ FieldInsertedSubDocumentChange; }
/* harmony export */ });
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(300);

class FieldInsertedSubDocumentChange {
    constructor(subDocumentId, startPosition, separatorPosition, endPosition) {
        this.subDocumentId = subDocumentId;
        this.startPosition = startPosition;
        this.separatorPosition = separatorPosition;
        this.endPosition = endPosition;
        this.type = _enums__WEBPACK_IMPORTED_MODULE_0__/* .ModelChangeType */ .f.FieldInserted;
    }
}


/***/ }),

/***/ 428:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R: function() { return /* binding */ TextBufferChangedSubDocumentChange; }
/* harmony export */ });
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(300);

class TextBufferChangedSubDocumentChange {
    constructor(subDocumentId, newState) {
        this.subDocumentId = subDocumentId;
        this.newState = newState;
        this.type = _enums__WEBPACK_IMPORTED_MODULE_0__/* .ModelChangeType */ .f.TextBufferChanged;
    }
}


/***/ }),

/***/ 7218:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   P: function() { return /* binding */ CharacterPropertiesApplier; }
/* harmony export */ });
/* harmony import */ var _selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(655);
/* harmony import */ var _character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6223);


class CharacterPropertiesApplier {
    constructor(modelManager, inputPosition, newCharProps, subDocument, intervals) {
        this.modelManager = modelManager;
        this.inputPosition = inputPosition;
        this.newCharProps = newCharProps;
        this.modelManip = this.modelManager.modelManipulator;
        this.subDoc = subDocument;
        this.intervals = intervals;
    }
    apply() {
        const history = this.modelManager.history;
        this.maskedCharProps = this.inputPosition.getMaskedCharacterProperties();
        this.charPropsRaw = this.inputPosition.getMergedCharacterPropertiesRaw();
        this.charPropsFull = this.inputPosition.getMergedCharacterPropertiesFull();
        this.charPropsRaw = this.inputPosition.getMergedCharacterPropertiesRaw();
        this.oldCharPropsRaw = this.charPropsRaw.clone();
        let changed = 0;
        history.beginTransaction();
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.allCaps);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.size);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.bold);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.italic);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.fontInfo);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.script);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.strikeoutType);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.underlineType);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.underlineWordsOnly);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.strikeoutWordsOnly);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.noProof);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.hidden);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.textColor);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.shadingInfo);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.highlightColor);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.strikeoutColor);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.underlineColor);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.langInfo);
        changed |= this.applyProp(_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.smallCaps);
        history.endTransaction();
        return !!changed;
    }
    applyProp(descriptor) {
        const newValue = descriptor.getProp(this.newCharProps);
        const currValue = descriptor.getProp(this.oldCharPropsRaw);
        if (newValue !== undefined && newValue !== currValue) {
            descriptor.setProp(this.maskedCharProps, newValue);
            descriptor.setProp(this.charPropsRaw, newValue);
            descriptor.setProp(this.charPropsFull, newValue);
            this.maskedCharProps.setUseValue(descriptor.maskValue(), true);
            for (let interval of this.intervals)
                if (interval.length > 0)
                    this.modelManager.history.addAndRedo(new (descriptor.getHistoryItemConstructor())(this.modelManip, new _selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_0__/* .SelectionIntervalsInfo */ .v(this.subDoc, [interval]), newValue, true));
            return 1;
        }
        return 0;
    }
}


/***/ }),

/***/ 1789:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: function() { return /* binding */ MaskedCharacterProperties; },
/* harmony export */   d: function() { return /* binding */ CharacterProperties; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_enum__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(310);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8679);
/* harmony import */ var _color_color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7217);
/* harmony import */ var _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4837);
/* harmony import */ var _shadings_shading_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(3428);
/* harmony import */ var _shadings_shading_pattern__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4570);
/* harmony import */ var _composite_font_info__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9373);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8579);
/* harmony import */ var _lang_info__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9585);
/* harmony import */ var _layout_character_properties_color_info__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(6864);











class CharacterProperties {
    constructor() {
        this.measurerSizes = Object.create(null);
        this.fontSize = 11;
        this.fontBold = false;
        this.fontItalic = false;
        this.fontInfo = null;
        this.script = _enums__WEBPACK_IMPORTED_MODULE_8__/* .CharacterFormattingScript */ .Vg.Normal;
        this.fontStrikeoutType = _enums__WEBPACK_IMPORTED_MODULE_8__/* .StrikeoutType */ .GO.None;
        this.fontUnderlineType = _enums__WEBPACK_IMPORTED_MODULE_8__/* .UnderlineType */ .Xq.None;
        this.allCaps = false;
        this.smallCaps = false;
        this.underlineWordsOnly = false;
        this.strikeoutWordsOnly = false;
        this.noProof = false;
        this.hidden = false;
        this.langInfo = new _lang_info__WEBPACK_IMPORTED_MODULE_9__/* .LangInfo */ .g();
        this.compositeFontInfo = new _composite_font_info__WEBPACK_IMPORTED_MODULE_7__/* .CompositeFontInfo */ .L();
        this.textColor = _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.nullColor;
        this.shadingInfo = _shadings_shading_info__WEBPACK_IMPORTED_MODULE_5__/* .ShadingInfo */ .g.nullColor;
        this.highlightColor = _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.nullColor;
        this.strikeoutColor = _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.nullColor;
        this.underlineColor = _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.nullColor;
    }
    calculateHash() {
        return this.fontSize ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[0] * (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(this.fontBold) ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[1] * (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(this.fontItalic) ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[2] * this.shadingInfo.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[3] * this.textColor.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[4] * this.highlightColor.getHashCode();
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.fontBold == obj.fontBold &&
            this.fontItalic == obj.fontItalic &&
            (this.fontInfo && obj.fontInfo && this.fontInfo.equals(obj.fontInfo)) &&
            this.fontSize == obj.fontSize &&
            this.script == obj.script &&
            this.fontStrikeoutType == obj.fontStrikeoutType &&
            this.fontUnderlineType == obj.fontUnderlineType &&
            this.allCaps == obj.allCaps &&
            this.smallCaps == obj.smallCaps &&
            this.underlineWordsOnly == obj.underlineWordsOnly &&
            this.strikeoutWordsOnly == obj.strikeoutWordsOnly &&
            this.noProof == obj.noProof &&
            this.hidden == obj.hidden &&
            this.shadingInfo.equals(obj.shadingInfo) &&
            this.textColor.equals(obj.textColor) &&
            this.highlightColor.equals(obj.highlightColor) &&
            this.strikeoutColor.equals(obj.strikeoutColor) &&
            this.underlineColor.equals(obj.underlineColor) &&
            (this.langInfo && obj.langInfo && this.langInfo.equals(obj.langInfo)) &&
            (this.compositeFontInfo && this.compositeFontInfo.equals(obj.compositeFontInfo));
    }
    clone() {
        var result = new CharacterProperties();
        result.copyFrom(this);
        return result;
    }
    copyFrom(obj) {
        this.fontInfo = obj.fontInfo;
        this.fontSize = obj.fontSize;
        this.fontBold = obj.fontBold;
        this.fontItalic = obj.fontItalic;
        this.script = obj.script;
        this.fontStrikeoutType = obj.fontStrikeoutType;
        this.fontUnderlineType = obj.fontUnderlineType;
        this.allCaps = obj.allCaps;
        this.smallCaps = obj.smallCaps;
        this.underlineWordsOnly = obj.underlineWordsOnly;
        this.strikeoutWordsOnly = obj.strikeoutWordsOnly;
        this.noProof = obj.noProof;
        this.hidden = obj.hidden;
        this.shadingInfo = obj.shadingInfo ? obj.shadingInfo.clone() : new _shadings_shading_info__WEBPACK_IMPORTED_MODULE_5__/* .ShadingInfo */ .g(_shadings_shading_pattern__WEBPACK_IMPORTED_MODULE_6__/* .ShadingPattern */ .d.Clear, _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.noColor, _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.noColor);
        this.textColor = obj.textColor ? obj.textColor.clone() : _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.noColor;
        this.highlightColor = obj.highlightColor ? obj.highlightColor.clone() : _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.noColor;
        this.strikeoutColor = obj.strikeoutColor ? obj.strikeoutColor.clone() : _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.noColor;
        this.underlineColor = obj.underlineColor ? obj.underlineColor.clone() : _color_color_model_info__WEBPACK_IMPORTED_MODULE_4__/* .ColorModelInfo */ .k.noColor;
        this.langInfo = obj.langInfo ? obj.langInfo.clone() : new _lang_info__WEBPACK_IMPORTED_MODULE_9__/* .LangInfo */ .g();
        this.compositeFontInfo = obj.compositeFontInfo ? obj.compositeFontInfo.clone() : new _composite_font_info__WEBPACK_IMPORTED_MODULE_7__/* .CompositeFontInfo */ .L();
        this.clearSizes();
    }
    getSize(text) {
        return this.measurerSizes[text];
    }
    setSize(text, size) {
        this.measurerSizes[text] = size;
    }
    clearSizes() {
        this.measurerSizes = Object.create(null);
    }
    linkMeasurerSizes(obj) {
        this.measurerSizes = obj.measurerSizes;
    }
    getLayoutColorInfo(colorProvider) {
        return new _layout_character_properties_color_info__WEBPACK_IMPORTED_MODULE_10__/* .LayoutCharacterPropertiesColorInfo */ .w(this.textColor.toRgb(colorProvider), CharacterProperties.getActualBackgroundColor(this, colorProvider), this.strikeoutColor.toRgb(colorProvider), this.underlineColor.toRgb(colorProvider));
    }
    static getActualBackgroundColor(charProps, colorProvider) {
        const backColor = charProps.shadingInfo.getActualColor(colorProvider);
        const highlightColor = charProps.highlightColor.toRgb(colorProvider);
        return _devexpress_utils_lib_utils_enum__WEBPACK_IMPORTED_MODULE_1__/* .EnumUtils */ .Y.isAnyOf(highlightColor, _color_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorHelper */ .v.NO_COLOR, _color_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorHelper */ .v.AUTOMATIC_COLOR) ? backColor : highlightColor;
    }
}
class MaskedCharacterProperties extends CharacterProperties {
    constructor() {
        super(...arguments);
        this.useValue = 0;
        this.useValueExt = 0;
    }
    calculateHash() {
        return super.calculateHash() +
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[15] * this.useValue +
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[16] * this.useValueExt;
    }
    getUseValue(value) {
        if (value >= MaskedCharacterProperties.denominator)
            return (this.useValueExt & this.getHighPartUseValue(value)) != 0;
        return (this.useValue & this.getLowPartUseValue(value)) != 0;
    }
    setUseValue(mask, value) {
        if (value) {
            this.useValue |= this.getLowPartUseValue(mask);
            this.useValueExt |= this.getHighPartUseValue(mask);
        }
        else {
            this.useValue &= ~this.getLowPartUseValue(mask);
            this.useValueExt &= ~this.getHighPartUseValue(mask);
        }
    }
    setUseValueFull(value) {
        this.useValue = this.getLowPartUseValue(value);
        this.useValueExt = this.getHighPartUseValue(value);
    }
    getLowPartUseValue(value) {
        return value | 0;
    }
    getHighPartUseValue(value) {
        if (value < MaskedCharacterProperties.denominator)
            return 0;
        if (!Math.trunc) {
            Math.trunc = function (v) {
                v = +v;
                if (!isFinite(v))
                    return v;
                return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
            };
        }
        return Math.trunc(value / MaskedCharacterProperties.denominator);
    }
    getUseValueFull() {
        return this.useValue + this.useValueExt * MaskedCharacterProperties.denominator;
    }
    resetAllUse() {
        this.setUseValue(_enums__WEBPACK_IMPORTED_MODULE_8__/* .CharacterPropertiesMask */ .xe.UseAll, false);
    }
    setAllUse() {
        this.setUseValue(_enums__WEBPACK_IMPORTED_MODULE_8__/* .CharacterPropertiesMask */ .xe.UseAll, true);
    }
    clone() {
        var result = new MaskedCharacterProperties();
        result.copyFrom(this);
        return result;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.useValue = obj.useValue;
        this.useValueExt = obj.useValueExt;
    }
    equals(obj) {
        return super.equals(obj)
            && this.useValue == obj.useValue
            && this.useValueExt == obj.useValueExt;
    }
    static createDefault(model) {
        const prop = model.defaultCharacterProperties.clone();
        prop.useValue = 0;
        prop.useValueExt = 0;
        return prop;
    }
    setValue(desc, value) {
        desc.setProp(this, value);
        this.setUseValue(desc.maskValue(), true);
    }
}
MaskedCharacterProperties.denominator = 4294967296;


/***/ }),

/***/ 6223:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   oL: function() { return /* binding */ CharacterPropertyDescriptor; }
/* harmony export */ });
/* unused harmony exports CharacterPropertiesAllCapsDescriptor, CharacterPropertiesSmallCapsDescriptor, CharacterPropertiesFontSizeDescriptor, CharacterPropertiesFontBoldDescriptor, CharacterPropertiesFontItalicDescriptor, CharacterPropertiesFontInfoDescriptor, CharacterPropertiesScriptDescriptor, CharacterPropertiesStrikeoutTypeDescriptor, CharacterPropertiesUnderlineTypeDescriptor, CharacterPropertiesUnderlineWordsOnlyDescriptor, CharacterPropertiesStrikeoutWordsOnlyDescriptor, CharacterPropertiesNoProofDescriptor, CharacterPropertiesHiddenDescriptor, CharacterPropertiesTextColorDescriptor, CharacterPropertiesShadingInfoColorDescriptor, CharacterPropertiesStrikeoutColorDescriptor, CharacterPropertiesUnderlineColorDescriptor, CharacterPropertiesHighlightColorDescriptor, CharacterPropertiesLangInfoDescriptor, CharacterPropertiesCompositeFontInfoDescriptor */
/* harmony import */ var _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4170);
/* harmony import */ var _color_color_model_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4837);
/* harmony import */ var _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(398);
/* harmony import */ var _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1763);
/* harmony import */ var _shadings_shading_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3428);
/* harmony import */ var _composite_font_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9373);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8579);
/* harmony import */ var _lang_info__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9585);








class CharacterPropertiesAllCapsDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.allCaps = newValue;
    }
    getProp(props) {
        return props.allCaps;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseAllCaps;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontCapsHistoryItem */ .C1;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.AllCaps;
    }
}
class CharacterPropertiesSmallCapsDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.smallCaps = newValue;
    }
    getProp(props) {
        return props.smallCaps;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseSmallCaps;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontSmallCapsHistoryItem */ .wd;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.SmallCaps;
    }
}
class CharacterPropertiesFontSizeDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 11;
    }
    setProp(props, newValue) {
        props.fontSize = newValue;
    }
    getProp(props) {
        return props.fontSize;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseDoubleFontSize;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontSizeHistoryItem */ .n5;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Size;
    }
}
class CharacterPropertiesFontBoldDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.fontBold = newValue;
    }
    getProp(props) {
        return props.fontBold;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseFontBold;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontBoldHistoryItem */ .xm;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Bold;
    }
}
class CharacterPropertiesFontItalicDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.fontItalic = newValue;
    }
    getProp(props) {
        return props.fontItalic;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseFontItalic;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontItalicHistoryItem */ .HL;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Italic;
    }
}
class CharacterPropertiesFontInfoDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = undefined;
    }
    setProp(props, newValue) {
        props.fontInfo = newValue;
    }
    getProp(props) {
        return props.fontInfo;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseFontName;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontNameHistoryItem */ .Qr;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.FontName;
    }
}
class CharacterPropertiesScriptDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterFormattingScript */ .Vg.Normal;
    }
    setProp(props, newValue) {
        props.script = newValue;
    }
    getProp(props) {
        return props.script;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseScript;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontScriptHistoryItem */ .jo;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Script;
    }
}
class CharacterPropertiesStrikeoutTypeDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = _enums__WEBPACK_IMPORTED_MODULE_6__/* .StrikeoutType */ .GO.None;
    }
    setProp(props, newValue) {
        props.fontStrikeoutType = newValue;
    }
    getProp(props) {
        return props.fontStrikeoutType;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseFontStrikeoutType;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontStrikeoutTypeHistoryItem */ .at;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutType;
    }
}
class CharacterPropertiesUnderlineTypeDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = _enums__WEBPACK_IMPORTED_MODULE_6__/* .UnderlineType */ .Xq.None;
    }
    setProp(props, newValue) {
        props.fontUnderlineType = newValue;
    }
    getProp(props) {
        return props.fontUnderlineType;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseFontUnderlineType;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontUnderlineTypeHistoryItem */ .A4;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineType;
    }
}
class CharacterPropertiesUnderlineWordsOnlyDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.underlineWordsOnly = newValue;
    }
    getProp(props) {
        return props.underlineWordsOnly;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseUnderlineWordsOnly;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontUnderlineWordsOnlyHistoryItem */ .Yr;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineWordsOnly;
    }
}
class CharacterPropertiesStrikeoutWordsOnlyDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.strikeoutWordsOnly = newValue;
    }
    getProp(props) {
        return props.strikeoutWordsOnly;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseStrikeoutWordsOnly;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontStrikeoutWordsOnlyHistoryItem */ .cz;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutWordsOnly;
    }
}
class CharacterPropertiesNoProofDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.noProof = newValue;
    }
    getProp(props) {
        return props.noProof;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseNoProof;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontNoProofHistoryItem */ .zI;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.NoProof;
    }
}
class CharacterPropertiesHiddenDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.hidden = newValue;
    }
    getProp(props) {
        return props.hidden;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseHidden;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontHiddenHistoryItem */ .Ne;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Hidden;
    }
}
class CharacterPropertiesTextColorDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = _color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.autoColor;
    }
    setProp(props, newValue) {
        props.textColor = newValue;
    }
    getProp(props) {
        return props.textColor;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseForeColorIndex;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontTextColorHistoryItem */ .Ht;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.TextColor;
    }
}
class CharacterPropertiesShadingInfoColorDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = _shadings_shading_info__WEBPACK_IMPORTED_MODULE_4__/* .ShadingInfo */ .g.noColor;
    }
    setProp(props, newValue) {
        props.shadingInfo = newValue;
    }
    getProp(props) {
        return props.shadingInfo;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseShadingInfoIndex;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontShadingInfoHistoryItem */ .i5;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.ShadingInfo;
    }
}
class CharacterPropertiesStrikeoutColorDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = _color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.noColor;
    }
    setProp(props, newValue) {
        props.strikeoutColor = newValue;
    }
    getProp(props) {
        return props.strikeoutColor;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseStrikeoutColorIndex;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontStrikeoutColorHistoryItem */ .L6;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutColor;
    }
}
class CharacterPropertiesUnderlineColorDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = _color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.noColor;
    }
    setProp(props, newValue) {
        props.underlineColor = newValue;
    }
    getProp(props) {
        return props.underlineColor;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseUnderlineColorIndex;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontUnderlineColorHistoryItem */ .lN;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineColor;
    }
}
class CharacterPropertiesHighlightColorDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = _color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.noColor;
    }
    setProp(props, newValue) {
        props.highlightColor = newValue;
    }
    getProp(props) {
        return props.highlightColor;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseHighlightColorIndex;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontHighlightColorHistoryItem */ .O7;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.HighlightColor;
    }
}
class CharacterPropertiesLangInfoDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = new _lang_info__WEBPACK_IMPORTED_MODULE_7__/* .LangInfo */ .g();
    }
    setProp(props, newValue) {
        props.langInfo = newValue;
    }
    getProp(props) {
        return props.langInfo;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseLangInfo;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontLangInfoHistoryItem */ .Ek;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.LangInfo;
    }
}
class CharacterPropertiesCompositeFontInfoDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.object;
        this.defaultValue = new _composite_font_info__WEBPACK_IMPORTED_MODULE_5__/* .CompositeFontInfo */ .L();
    }
    setProp(props, newValue) {
        props.compositeFontInfo = newValue;
    }
    getProp(props) {
        return props.compositeFontInfo;
    }
    maskValue() {
        return _enums__WEBPACK_IMPORTED_MODULE_6__/* .CharacterPropertiesMask */ .xe.UseCompositeFontInfo;
    }
    getHistoryItemConstructor() {
        return _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .FontCompositeFontInfoHistoryItem */ .qs;
    }
    getJSONProperty() {
        return _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.CompositeFontInfo;
    }
}
class CharacterPropertyDescriptor {
}
CharacterPropertyDescriptor.allCaps = new CharacterPropertiesAllCapsDescriptor();
CharacterPropertyDescriptor.size = new CharacterPropertiesFontSizeDescriptor();
CharacterPropertyDescriptor.bold = new CharacterPropertiesFontBoldDescriptor();
CharacterPropertyDescriptor.italic = new CharacterPropertiesFontItalicDescriptor();
CharacterPropertyDescriptor.fontInfo = new CharacterPropertiesFontInfoDescriptor();
CharacterPropertyDescriptor.script = new CharacterPropertiesScriptDescriptor();
CharacterPropertyDescriptor.strikeoutType = new CharacterPropertiesStrikeoutTypeDescriptor();
CharacterPropertyDescriptor.underlineType = new CharacterPropertiesUnderlineTypeDescriptor();
CharacterPropertyDescriptor.underlineWordsOnly = new CharacterPropertiesUnderlineWordsOnlyDescriptor();
CharacterPropertyDescriptor.strikeoutWordsOnly = new CharacterPropertiesStrikeoutWordsOnlyDescriptor();
CharacterPropertyDescriptor.noProof = new CharacterPropertiesNoProofDescriptor();
CharacterPropertyDescriptor.hidden = new CharacterPropertiesHiddenDescriptor();
CharacterPropertyDescriptor.langInfo = new CharacterPropertiesLangInfoDescriptor();
CharacterPropertyDescriptor.compositeFontInfo = new CharacterPropertiesCompositeFontInfoDescriptor();
CharacterPropertyDescriptor.textColor = new CharacterPropertiesTextColorDescriptor();
CharacterPropertyDescriptor.shadingInfo = new CharacterPropertiesShadingInfoColorDescriptor();
CharacterPropertyDescriptor.highlightColor = new CharacterPropertiesHighlightColorDescriptor();
CharacterPropertyDescriptor.strikeoutColor = new CharacterPropertiesStrikeoutColorDescriptor();
CharacterPropertyDescriptor.underlineColor = new CharacterPropertiesUnderlineColorDescriptor();
CharacterPropertyDescriptor.smallCaps = new CharacterPropertiesSmallCapsDescriptor();
CharacterPropertyDescriptor.ALL_FIELDS = [
    CharacterPropertyDescriptor.allCaps,
    CharacterPropertyDescriptor.size,
    CharacterPropertyDescriptor.bold,
    CharacterPropertyDescriptor.italic,
    CharacterPropertyDescriptor.fontInfo,
    CharacterPropertyDescriptor.script,
    CharacterPropertyDescriptor.strikeoutType,
    CharacterPropertyDescriptor.underlineType,
    CharacterPropertyDescriptor.underlineWordsOnly,
    CharacterPropertyDescriptor.strikeoutWordsOnly,
    CharacterPropertyDescriptor.noProof,
    CharacterPropertyDescriptor.hidden,
    CharacterPropertyDescriptor.langInfo,
    CharacterPropertyDescriptor.compositeFontInfo,
    CharacterPropertyDescriptor.textColor,
    CharacterPropertyDescriptor.shadingInfo,
    CharacterPropertyDescriptor.highlightColor,
    CharacterPropertyDescriptor.strikeoutColor,
    CharacterPropertyDescriptor.underlineColor,
    CharacterPropertyDescriptor.smallCaps
];
CharacterPropertyDescriptor.whatNeedSetWhenCreateHyperlinkField = [
    CharacterPropertyDescriptor.size,
    CharacterPropertyDescriptor.bold,
    CharacterPropertyDescriptor.italic,
    CharacterPropertyDescriptor.fontInfo,
    CharacterPropertyDescriptor.script,
    CharacterPropertyDescriptor.strikeoutType,
    CharacterPropertyDescriptor.allCaps,
    CharacterPropertyDescriptor.underlineWordsOnly,
    CharacterPropertyDescriptor.strikeoutWordsOnly,
    CharacterPropertyDescriptor.noProof,
    CharacterPropertyDescriptor.hidden,
    CharacterPropertyDescriptor.shadingInfo,
    CharacterPropertyDescriptor.strikeoutColor,
    CharacterPropertyDescriptor.underlineColor,
    CharacterPropertyDescriptor.langInfo,
    CharacterPropertyDescriptor.smallCaps
];


/***/ }),

/***/ 9915:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ CharacterStyle; }
/* harmony export */ });
/* harmony import */ var _style_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1592);

class CharacterStyle extends _style_base__WEBPACK_IMPORTED_MODULE_0__/* .StyleBase */ ._ {
    constructor(styleName, localizedName, deleted, hidden, semihidden, isDefault, maskedCharacterProperties, base64EncodedImage, id) {
        super(styleName, localizedName, deleted, hidden, semihidden, isDefault, base64EncodedImage ? base64EncodedImage : null, id);
        this.maskedCharacterProperties = maskedCharacterProperties;
    }
    clone() {
        const style = new CharacterStyle(this.styleName, this.localizedName, this.deleted, this.hidden, this.semihidden, this.isDefault, this.maskedCharacterProperties, this.base64EncodedImage, this.id);
        style.parent = this.parent;
        style.linkedStyle = this.linkedStyle;
        style.primary = this.primary;
        return style;
    }
}
CharacterStyle.defaultParagraphCharacterStyleName = 'Default Paragraph Font';
CharacterStyle.hyperlinkStyleName = 'Hyperlink';
CharacterStyle.lineNumberingStyleName = 'Line Number';


/***/ }),

/***/ 9373:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: function() { return /* binding */ CompositeFontInfo; }
/* harmony export */ });
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8579);

class CompositeFontInfo {
    constructor() {
        this.asciiFontName = "";
        this.hightAnsiFontName = "";
        this.complexScriptFontName = "";
        this.eastAsiaFontName = "";
        this.asciiThemeFont = _enums__WEBPACK_IMPORTED_MODULE_0__/* .ThemeFontType */ .iQ.None;
        this.hightAnsiThemeFont = _enums__WEBPACK_IMPORTED_MODULE_0__/* .ThemeFontType */ .iQ.None;
        this.complexScriptThemeFont = _enums__WEBPACK_IMPORTED_MODULE_0__/* .ThemeFontType */ .iQ.None;
        this.eastAsiaThemeFont = _enums__WEBPACK_IMPORTED_MODULE_0__/* .ThemeFontType */ .iQ.None;
        this.hintFont = _enums__WEBPACK_IMPORTED_MODULE_0__/* .FontTypeHint */ .Se.Default;
    }
    equals(obj) {
        return obj &&
            this.asciiFontName == this.asciiFontName &&
            this.hightAnsiFontName == this.hightAnsiFontName &&
            this.complexScriptFontName == this.complexScriptFontName &&
            this.eastAsiaFontName == this.eastAsiaFontName &&
            this.asciiThemeFont == this.asciiThemeFont &&
            this.hightAnsiThemeFont == this.hightAnsiThemeFont &&
            this.complexScriptThemeFont == this.complexScriptThemeFont &&
            this.eastAsiaThemeFont == this.eastAsiaThemeFont &&
            this.hintFont == this.hintFont;
    }
    clone() {
        const result = new CompositeFontInfo();
        result.asciiFontName = this.asciiFontName;
        result.hightAnsiFontName = this.hightAnsiFontName;
        result.complexScriptFontName = this.complexScriptFontName;
        result.eastAsiaFontName = this.eastAsiaFontName;
        result.asciiThemeFont = this.asciiThemeFont;
        result.hightAnsiThemeFont = this.hightAnsiThemeFont;
        result.complexScriptThemeFont = this.complexScriptThemeFont;
        result.eastAsiaThemeFont = this.eastAsiaThemeFont;
        result.hintFont = this.hintFont;
        return result;
    }
}


/***/ }),

/***/ 8579:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   GO: function() { return /* binding */ StrikeoutType; },
/* harmony export */   Se: function() { return /* binding */ FontTypeHint; },
/* harmony export */   Vg: function() { return /* binding */ CharacterFormattingScript; },
/* harmony export */   Xq: function() { return /* binding */ UnderlineType; },
/* harmony export */   iQ: function() { return /* binding */ ThemeFontType; },
/* harmony export */   xe: function() { return /* binding */ CharacterPropertiesMask; }
/* harmony export */ });
var CharacterPropertiesMask;
(function (CharacterPropertiesMask) {
    CharacterPropertiesMask[CharacterPropertiesMask["UseNone"] = 0] = "UseNone";
    CharacterPropertiesMask[CharacterPropertiesMask["UseFontName"] = 1] = "UseFontName";
    CharacterPropertiesMask[CharacterPropertiesMask["UseDoubleFontSize"] = 2] = "UseDoubleFontSize";
    CharacterPropertiesMask[CharacterPropertiesMask["UseFontBold"] = 4] = "UseFontBold";
    CharacterPropertiesMask[CharacterPropertiesMask["UseFontItalic"] = 8] = "UseFontItalic";
    CharacterPropertiesMask[CharacterPropertiesMask["UseFontStrikeoutType"] = 16] = "UseFontStrikeoutType";
    CharacterPropertiesMask[CharacterPropertiesMask["UseFontUnderlineType"] = 32] = "UseFontUnderlineType";
    CharacterPropertiesMask[CharacterPropertiesMask["UseAllCaps"] = 64] = "UseAllCaps";
    CharacterPropertiesMask[CharacterPropertiesMask["UseForeColorIndex"] = 128] = "UseForeColorIndex";
    CharacterPropertiesMask[CharacterPropertiesMask["UseShadingInfoIndex"] = 256] = "UseShadingInfoIndex";
    CharacterPropertiesMask[CharacterPropertiesMask["UseUnderlineColorIndex"] = 512] = "UseUnderlineColorIndex";
    CharacterPropertiesMask[CharacterPropertiesMask["UseStrikeoutColorIndex"] = 1024] = "UseStrikeoutColorIndex";
    CharacterPropertiesMask[CharacterPropertiesMask["UseUnderlineWordsOnly"] = 2048] = "UseUnderlineWordsOnly";
    CharacterPropertiesMask[CharacterPropertiesMask["UseStrikeoutWordsOnly"] = 4096] = "UseStrikeoutWordsOnly";
    CharacterPropertiesMask[CharacterPropertiesMask["UseScript"] = 8192] = "UseScript";
    CharacterPropertiesMask[CharacterPropertiesMask["UseHidden"] = 16384] = "UseHidden";
    CharacterPropertiesMask[CharacterPropertiesMask["UseLangInfo"] = 32768] = "UseLangInfo";
    CharacterPropertiesMask[CharacterPropertiesMask["UseNoProof"] = 65536] = "UseNoProof";
    CharacterPropertiesMask[CharacterPropertiesMask["UseFontInfo"] = 131072] = "UseFontInfo";
    CharacterPropertiesMask[CharacterPropertiesMask["UseHighlightColorIndex"] = 262144] = "UseHighlightColorIndex";
    CharacterPropertiesMask[CharacterPropertiesMask["UseRightToLeft"] = 524288] = "UseRightToLeft";
    CharacterPropertiesMask[CharacterPropertiesMask["UseCompositeFontInfo"] = 1048576] = "UseCompositeFontInfo";
    CharacterPropertiesMask[CharacterPropertiesMask["UseSmallCaps"] = 8589934592] = "UseSmallCaps";
    CharacterPropertiesMask[CharacterPropertiesMask["UseAll"] = 9007199254740991] = "UseAll";
})(CharacterPropertiesMask || (CharacterPropertiesMask = {}));
var CharacterFormattingScript;
(function (CharacterFormattingScript) {
    CharacterFormattingScript[CharacterFormattingScript["Normal"] = 0] = "Normal";
    CharacterFormattingScript[CharacterFormattingScript["Subscript"] = 1] = "Subscript";
    CharacterFormattingScript[CharacterFormattingScript["Superscript"] = 2] = "Superscript";
})(CharacterFormattingScript || (CharacterFormattingScript = {}));
var ThemeFontType;
(function (ThemeFontType) {
    ThemeFontType[ThemeFontType["None"] = 0] = "None";
    ThemeFontType[ThemeFontType["MajorEastAsia"] = 1] = "MajorEastAsia";
    ThemeFontType[ThemeFontType["MajorBidi"] = 2] = "MajorBidi";
    ThemeFontType[ThemeFontType["MajorAscii"] = 3] = "MajorAscii";
    ThemeFontType[ThemeFontType["MajorHAnsi"] = 4] = "MajorHAnsi";
    ThemeFontType[ThemeFontType["MinorEastAsia"] = 5] = "MinorEastAsia";
    ThemeFontType[ThemeFontType["MinorBidi"] = 6] = "MinorBidi";
    ThemeFontType[ThemeFontType["MinorAscii"] = 7] = "MinorAscii";
    ThemeFontType[ThemeFontType["MinorHAnsi"] = 8] = "MinorHAnsi";
})(ThemeFontType || (ThemeFontType = {}));
var FontTypeHint;
(function (FontTypeHint) {
    FontTypeHint[FontTypeHint["Default"] = 0] = "Default";
    FontTypeHint[FontTypeHint["Cs"] = 1] = "Cs";
    FontTypeHint[FontTypeHint["EastAsia"] = 2] = "EastAsia";
    FontTypeHint[FontTypeHint["None"] = 3] = "None";
})(FontTypeHint || (FontTypeHint = {}));
var StrikeoutType;
(function (StrikeoutType) {
    StrikeoutType[StrikeoutType["None"] = 0] = "None";
    StrikeoutType[StrikeoutType["Single"] = 1] = "Single";
    StrikeoutType[StrikeoutType["Double"] = 2] = "Double";
})(StrikeoutType || (StrikeoutType = {}));
var UnderlineType;
(function (UnderlineType) {
    UnderlineType[UnderlineType["None"] = 0] = "None";
    UnderlineType[UnderlineType["Single"] = 1] = "Single";
    UnderlineType[UnderlineType["Dotted"] = 2] = "Dotted";
    UnderlineType[UnderlineType["Dashed"] = 3] = "Dashed";
    UnderlineType[UnderlineType["DashDotted"] = 4] = "DashDotted";
    UnderlineType[UnderlineType["DashDotDotted"] = 5] = "DashDotDotted";
    UnderlineType[UnderlineType["Double"] = 6] = "Double";
    UnderlineType[UnderlineType["HeavyWave"] = 7] = "HeavyWave";
    UnderlineType[UnderlineType["LongDashed"] = 8] = "LongDashed";
    UnderlineType[UnderlineType["ThickSingle"] = 9] = "ThickSingle";
    UnderlineType[UnderlineType["ThickDotted"] = 10] = "ThickDotted";
    UnderlineType[UnderlineType["ThickDashed"] = 11] = "ThickDashed";
    UnderlineType[UnderlineType["ThickDashDotted"] = 12] = "ThickDashDotted";
    UnderlineType[UnderlineType["ThickDashDotDotted"] = 13] = "ThickDashDotDotted";
    UnderlineType[UnderlineType["ThickLongDashed"] = 14] = "ThickLongDashed";
    UnderlineType[UnderlineType["DoubleWave"] = 15] = "DoubleWave";
    UnderlineType[UnderlineType["Wave"] = 16] = "Wave";
    UnderlineType[UnderlineType["DashSmallGap"] = 17] = "DashSmallGap";
})(UnderlineType || (UnderlineType = {}));


/***/ }),

/***/ 7878:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $o: function() { return /* binding */ HistoryRunInlinePicture; },
/* harmony export */   Au: function() { return /* binding */ HistoryRun; },
/* harmony export */   TL: function() { return /* binding */ HistoryRunAnchoredTextBox; },
/* harmony export */   U2: function() { return /* binding */ HistoryRunParagraph; },
/* harmony export */   _r: function() { return /* binding */ HistoryRunFieldCodeStart; },
/* harmony export */   c$: function() { return /* binding */ HistoryRunAnchoredPicture; },
/* harmony export */   fg: function() { return /* binding */ HistoryRunSection; },
/* harmony export */   oh: function() { return /* binding */ HistoryRunFieldCodeEnd; },
/* harmony export */   tg: function() { return /* binding */ HistoryRunFieldResultEnd; }
/* harmony export */ });
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8845);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3549);


class HistoryRun {
    constructor(type, charPropsBundle, offsetAtStartDocument, text) {
        this.type = type;
        this.charPropsBundle = charPropsBundle;
        this.offsetAtStartDocument = offsetAtStartDocument;
        this.text = text;
    }
}
class HistoryRunInlinePicture extends HistoryRun {
    constructor(offsetAtStartDocument, charPropsBundle, picInfo, options) {
        super(_runs_run_type__WEBPACK_IMPORTED_MODULE_1__/* .RunType */ .m.InlinePictureRun, charPropsBundle, offsetAtStartDocument, _rich_utils__WEBPACK_IMPORTED_MODULE_0__/* .RichUtils */ .i.specialCharacters.ObjectMark);
        this.picInfo = picInfo;
        this.options = options;
    }
}
class HistoryRunFieldCodeStart extends HistoryRun {
    constructor(type, charPropsBundle, offsetAtStartDocument, text, showCode, startPosition, separatorPosition, endPosition, hyperlinkInfo) {
        super(type, charPropsBundle, offsetAtStartDocument, text);
        this.showCode = showCode;
        this.startPosition = startPosition;
        this.separatorPosition = separatorPosition;
        this.endPosition = endPosition;
        this.hyperlinkInfo = hyperlinkInfo;
    }
}
class HistoryRunFieldCodeEnd extends HistoryRun {
}
class HistoryRunFieldResultEnd extends HistoryRun {
}
class HistoryRunParagraph extends HistoryRun {
    constructor(type, charPropsBundle, parPropsBundle, offsetAtStartDocument, text, applyDirectlyToNewParagraph) {
        super(type, charPropsBundle, offsetAtStartDocument, text);
        this.applyDirectlyToNewParagraph = applyDirectlyToNewParagraph;
        this.parPropsBundle = parPropsBundle;
    }
}
class HistoryRunSection extends HistoryRunParagraph {
    constructor(charPropsBundle, parPropsBundle, section, offsetAtStartDocument, applyDirectlyToNewParagraph) {
        super(_runs_run_type__WEBPACK_IMPORTED_MODULE_1__/* .RunType */ .m.SectionRun, charPropsBundle, parPropsBundle, offsetAtStartDocument, _rich_utils__WEBPACK_IMPORTED_MODULE_0__/* .RichUtils */ .i.specialCharacters.SectionMark, applyDirectlyToNewParagraph);
        this.sectionProperties = section.sectionProperties;
        this.headers = section.headers.clone();
        this.footers = section.footers.clone();
    }
}
class HistoryRunAnchoredPicture extends HistoryRun {
    constructor(charPropsBundle, picInfo, offsetAtStartDocument) {
        super(_runs_run_type__WEBPACK_IMPORTED_MODULE_1__/* .RunType */ .m.AnchoredPictureRun, charPropsBundle, offsetAtStartDocument, _rich_utils__WEBPACK_IMPORTED_MODULE_0__/* .RichUtils */ .i.specialCharacters.ObjectMark);
        this.picInfo = picInfo;
    }
}
class HistoryRunAnchoredTextBox extends HistoryRun {
    constructor(charPropsBundle, textBoxInfo, offsetAtStartDocument) {
        super(_runs_run_type__WEBPACK_IMPORTED_MODULE_1__/* .RunType */ .m.AnchoredTextBoxRun, charPropsBundle, offsetAtStartDocument, _rich_utils__WEBPACK_IMPORTED_MODULE_0__/* .RichUtils */ .i.specialCharacters.ObjectMark);
        this.textBoxInfo = textBoxInfo;
    }
}


/***/ }),

/***/ 9585:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: function() { return /* binding */ LangInfo; }
/* harmony export */ });
class LangInfo {
    constructor(bidi, eastAsia, latin) {
        this.bidi = bidi || "";
        this.eastAsia = eastAsia || "";
        this.latin = latin || "";
    }
    copyFrom(obj) {
        this.bidi = obj.bidi;
        this.eastAsia = obj.eastAsia;
        this.latin = obj.latin;
    }
    equals(obj) {
        return obj && this.bidi == obj.bidi &&
            this.eastAsia == obj.eastAsia &&
            this.latin == obj.latin;
    }
    static equalsBinary(langInfoA, langInfoB) {
        return langInfoA && langInfoB &&
            langInfoA.bidi == langInfoB.bidi &&
            langInfoA.eastAsia == langInfoB.eastAsia &&
            langInfoA.latin == langInfoB.latin;
    }
    clone() {
        var obj = new LangInfo(null, null, null);
        obj.copyFrom(this);
        return obj;
    }
    isEmpty() {
        if (this.bidi == "" && this.eastAsia == "" && this.latin == "")
            return true;
        return false;
    }
}


/***/ }),

/***/ 6864:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   w: function() { return /* binding */ LayoutCharacterPropertiesColorInfo; }
/* harmony export */ });
class LayoutCharacterPropertiesColorInfo {
    constructor(textColor, foregroundColor, strikeoutColor, underlineColor) {
        this.textColor = textColor;
        this.foregroundColor = foregroundColor;
        this.strikeoutColor = strikeoutColor;
        this.underlineColor = underlineColor;
    }
    equals(obj) {
        return obj &&
            this.textColor == obj.textColor &&
            this.foregroundColor == obj.foregroundColor &&
            this.strikeoutColor == obj.strikeoutColor &&
            this.underlineColor == obj.underlineColor;
    }
    clone() {
        return new LayoutCharacterPropertiesColorInfo(this.textColor, this.foregroundColor, this.strikeoutColor, this.underlineColor);
    }
}


/***/ }),

/***/ 5552:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   z: function() { return /* binding */ Chunk; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);

class UndefinedRunError extends Error {
    constructor() {
        super();
        this.message = 'Undefined run';
    }
}
class OutOfOffsetError extends Error {
    constructor() {
        super();
        this.message = 'Offset >= run.length';
    }
}
class Chunk {
    constructor(startLogPosition, textBuffer, isLast) {
        this.textBuffer = "";
        this.textRuns = [];
        this.startLogPosition = startLogPosition;
        this.textBuffer = textBuffer;
        this.isLast = isLast;
    }
    getEndPosition() {
        return this.startLogPosition.value + this.textBuffer.length;
    }
    getRunText(run) {
        return this.textBuffer.substr(run.startOffset, run.getLength());
    }
    getTextInChunk(offsetAtStartChunk, length) {
        return this.textBuffer.substr(offsetAtStartChunk, length);
    }
    splitRun(runIndex, offset) {
        var run = this.textRuns[runIndex];
        if (!run)
            throw new UndefinedRunError();
        if (offset >= run.getLength())
            throw new OutOfOffsetError();
        var newRun = run.createSimularity(run.startOffset + offset, run.getLength() - offset, run.paragraph, run.characterStyle, run.maskedCharacterProperties);
        run.setLength(offset);
        this.textRuns.splice(runIndex + 1, 0, newRun);
    }
    removeRun(runIndex) {
        const run = this.textRuns[runIndex];
        if (!run)
            throw new UndefinedRunError();
        if (runIndex === this.textRuns.length - 1) {
            this.textBuffer = this.textBuffer.slice(0, run.startOffset);
            this.textRuns.pop();
        }
        else {
            this.textBuffer = [this.textBuffer.slice(0, run.startOffset), this.textBuffer.slice(run.startOffset + run.getLength())].join('');
            this.textRuns = [...this.textRuns.slice(0, runIndex), ...this.textRuns.slice(runIndex + 1)];
        }
    }
    clone(subDocument) {
        const result = new Chunk(subDocument.positionManager.registerPosition(this.startLogPosition.value), this.textBuffer.slice(0), this.isLast);
        result.textRuns = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(this.textRuns, r => r.cloneToNewSubDocument(subDocument));
        return result;
    }
}


/***/ }),

/***/ 6291:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ ColorHSL; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8679);
/* harmony import */ var _rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5580);
/* harmony import */ var _drawing_drawing_value_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5958);
/* harmony import */ var _dx_color__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1445);







class ColorHSL {
    constructor(hue, saturation, luminance) {
        if (_rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_4__/* .Log */ .Z.isEnabled && !(hue <= 1 && hue >= 0 && saturation <= 1 && saturation >= 0 && luminance <= 1 && luminance >= 0))
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
        this._hue = hue;
        this._saturation = saturation;
        this._luminance = luminance;
    }
    calculateHash() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_3__.MathUtils.somePrimes[0] * this._hue ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_3__.MathUtils.somePrimes[0] * this._luminance ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_3__.MathUtils.somePrimes[0] * this._saturation;
    }
    static makeFromHSL(hue, saturation, luminance) {
        return new ColorHSL(hue / ColorHSL.MaxAngle, saturation / ColorHSL.MaxThousandthOfPercentage, luminance / ColorHSL.MaxThousandthOfPercentage);
    }
    static rgbToHsl(r, g, b) {
        r /= 255, g /= 255, b /= 255;
        var max = Math.max(r, g, b), min = Math.min(r, g, b);
        var h, s, l = (max + min) / 2;
        if (max == min) {
            h = s = 0;
        }
        else {
            var d = max - min;
            s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
            switch (max) {
                case r:
                    h = (g - b) / d + (g < b ? 6 : 0);
                    break;
                case g:
                    h = (b - r) / d + 2;
                    break;
                case b:
                    h = (r - g) / d + 4;
                    break;
            }
            h /= 6;
        }
        return [h, s, l];
    }
    static fromColorRGB(color) {
        const r = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_1__/* .ColorUtils */ .i.getRed(color) / 255;
        const g = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_1__/* .ColorUtils */ .i.getGreen(color) / 255;
        const b = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_1__/* .ColorUtils */ .i.getBlue(color) / 255;
        const max = Math.max(r, g, b);
        const min = Math.min(r, g, b);
        let h;
        let s;
        const l = (max + min) / 2;
        if (max == min) {
            s = 0;
            h = 4.0 / 6.0;
        }
        else {
            const d = max - min;
            s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
            switch (max) {
                case r:
                    h = (g - b) / d + (g < b ? 6 : 0);
                    break;
                case g:
                    h = (b - r) / d + 2;
                    break;
                case b:
                    h = (r - g) / d + 4;
                    break;
            }
            h /= 6;
        }
        return new ColorHSL(h, s, l);
    }
    static calculateColorRGB(color, tint) {
        if (color == _dx_color__WEBPACK_IMPORTED_MODULE_6__/* .DXColor */ .F.empty || tint == 0)
            return color;
        return ColorHSL.fromColorRGB(color).applyTint(tint).toRgb();
    }
    toRgb() {
        const value1 = (this._luminance < 0.5) ?
            this._luminance * (1 + this._saturation) :
            this._luminance + this._saturation - this._luminance * this._saturation;
        const value2 = 2 * this._luminance - value1;
        const rgb = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.map([this._hue + 1.0 / 3.0, this._hue, this._hue - 1.0 / 3.0], (value) => {
            if (value < 0)
                value += 1;
            if (value > 1)
                value -= 1;
            if (6 * value < 1)
                value = value2 + ((value1 - value2) * 6 * value);
            else if (6 * value >= 1 && 6 * value < 3)
                value = value1;
            else if (6 * value >= 3 && 6 * value < 4)
                value = value2 + ((value1 - value2) * (4 - 6 * value));
            else
                value = value2;
            return this.toIntValue(value);
        });
        return _dx_color__WEBPACK_IMPORTED_MODULE_6__/* .DXColor */ .F.fromRgb(rgb[0], rgb[1], rgb[2]);
    }
    get hue() { return this.getIntValue(this._hue, ColorHSL.MaxAngle); }
    ;
    set hue(value) { this._hue = this.getFloatValue(this.getValidValue(value), ColorHSL.MaxAngle); }
    get saturation() { return this.getIntValue(this._saturation, ColorHSL.MaxThousandthOfPercentage); }
    ;
    set saturation(value) { this._saturation = this.getFloatValue(this.getValidValue(value), ColorHSL.MaxThousandthOfPercentage); }
    get luminance() { return this.getIntValue(this._luminance, ColorHSL.MaxThousandthOfPercentage); }
    ;
    set luminance(value) { this._luminance = this.getFloatValue(this.getValidValue(value), ColorHSL.MaxThousandthOfPercentage); }
    get floatHue() { return this._hue; }
    ;
    set floatHue(value) { this._hue = this.getValidValue(value); }
    get floatSaturation() { return this._saturation; }
    ;
    set floatSaturation(value) { this._saturation = this.getValidValue(value); }
    get floatLuminance() { return this._luminance; }
    ;
    set floatLuminance(value) { this._luminance = this.getValidValue(value); }
    getComplementColor() {
        this._hue += this._hue > 0.5 ? -0.5 : 0.5;
        return this;
    }
    applyHue(value) {
        this.floatHue = value / ColorHSL.MaxAngle;
        return this;
    }
    applyHueMod(value) {
        this._hue = this._hue * value / ColorHSL.MaxThousandthOfPercentage;
        this.fixHue();
        return this;
    }
    applyHueOffset(value) {
        this._hue += value / ColorHSL.MaxAngle;
        this.fixHue();
        return this;
    }
    applySaturation(value) {
        this.floatSaturation = value / ColorHSL.MaxThousandthOfPercentage;
        return this;
    }
    applySaturationMod(value) {
        this._saturation = this._saturation * value / ColorHSL.MaxThousandthOfPercentage;
        return this;
    }
    applySaturationOffset(value) {
        this._saturation += value / ColorHSL.MaxThousandthOfPercentage;
        return this;
    }
    applyLuminance(value) {
        this.floatLuminance = value / ColorHSL.MaxThousandthOfPercentage;
        return this;
    }
    applyLuminanceMod(value) {
        this._luminance = this._luminance * value / ColorHSL.MaxThousandthOfPercentage;
        return this;
    }
    applyLuminanceOffset(value) {
        this._luminance += value / ColorHSL.MaxThousandthOfPercentage;
        return this;
    }
    fixHue() {
        if (this._hue > 1)
            this._hue -= Math.floor(this._hue);
    }
    toIntValue(value) {
        return this.fixIntValue(Math.round(255 * value));
    }
    fixIntValue(value) {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_3__.MathUtils.restrictValue(value, 0, 255);
    }
    getIntValue(value, maxValue) {
        return Math.round(value * maxValue);
    }
    getFloatValue(value, maxValue) {
        return value / maxValue;
    }
    getValidValue(value) {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_3__.MathUtils.restrictValue(value, 0, 1);
    }
    applyTint(tint) {
        if (tint < 0)
            this._luminance *= (1 + tint);
        else if (tint > 0)
            this._luminance = this._luminance * (1 - tint) + tint;
        return this;
    }
    equals(obj) {
        return obj &&
            this._hue == obj._hue &&
            this._saturation == obj._saturation &&
            this._luminance == obj._luminance;
    }
}
ColorHSL.MaxAngle = _drawing_drawing_value_constants__WEBPACK_IMPORTED_MODULE_5__/* .DrawingValueConstants */ .F.MaxPositiveFixedAngle;
ColorHSL.MaxThousandthOfPercentage = _drawing_drawing_value_constants__WEBPACK_IMPORTED_MODULE_5__/* .DrawingValueConstants */ .F.ThousandthOfPercentage;
ColorHSL.defaultValue = new ColorHSL(0, 0, 0);


/***/ }),

/***/ 4837:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: function() { return /* binding */ ColorModelInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8679);
/* harmony import */ var _json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1763);
/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7217);
/* harmony import */ var _color_hsl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6291);
/* harmony import */ var _dx_color__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1445);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3371);








class ColorModelInfo {
    static get nullColor() { return ColorModelInfo.makeByColor(_color__WEBPACK_IMPORTED_MODULE_4__/* .ColorHelper */ .v.AUTOMATIC_COLOR); }
    ;
    static makeByThemeColorIndex(themeColorIndex, tint = 0, themeValue = _enums__WEBPACK_IMPORTED_MODULE_7__/* .ThemeColorValues */ .KA.None) {
        const result = new ColorModelInfo();
        result.themeColorIndex = themeColorIndex;
        result.tint = tint;
        result.themeValue = themeValue;
        return result;
    }
    static makeByColor(color, tint = 0) {
        const result = new ColorModelInfo();
        result.rgb = color;
        result.tint = tint;
        return result;
    }
    static makeByColorIndex(colorIndex, tint = 0) {
        const result = new ColorModelInfo();
        result.colorIndex = colorIndex;
        result.tint = tint;
        return result;
    }
    static makeByColorHash(hash, tint = 0) {
        let rgb = _color__WEBPACK_IMPORTED_MODULE_4__/* .ColorHelper */ .v.getPredefinedColor(hash);
        if (rgb === _color__WEBPACK_IMPORTED_MODULE_4__/* .ColorHelper */ .v.AUTOMATIC_COLOR)
            rgb = _color__WEBPACK_IMPORTED_MODULE_4__/* .ColorHelper */ .v.BLACK_COLOR;
        return ColorModelInfo.makeByColor(rgb, tint);
    }
    get colorType() { return this._colorType; }
    get rgb() { return this._rgb; }
    set rgb(value) {
        this.setColorType(_enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Rgb);
        if (this._rgb != value)
            this._rgb = value;
    }
    get themeColorIndex() { return this._themeColorIndex; }
    set themeColorIndex(value) {
        this.setColorType(_enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Theme);
        if (this._themeColorIndex != value)
            this._themeColorIndex = value;
    }
    get themeValue() { return this._themeValue; }
    set themeValue(value) {
        this.setColorType(_enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Theme);
        if (this._themeValue != value)
            this._themeValue = value;
    }
    get colorIndex() { return this._colorIndex; }
    set colorIndex(value) {
        this.setColorType(_enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Index);
        if (this._colorIndex != value)
            this._colorIndex = value;
    }
    get tint() { return this._tint; }
    set tint(value) {
        if (Math.abs(value) > 1)
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
        this._tint = value;
    }
    get isEmpty() { return this.colorType == _enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Rgb && _dx_color__WEBPACK_IMPORTED_MODULE_6__/* .DXColor */ .F.isTransparentOrEmpty(this.rgb); }
    constructor() {
        this._themeColorIndex = _enums__WEBPACK_IMPORTED_MODULE_7__/* .ThemeColorIndexConstants */ .uL.None;
        this._themeValue = _enums__WEBPACK_IMPORTED_MODULE_7__/* .ThemeColorValues */ .KA.None;
        this._colorIndex = ColorModelInfo.defaultColorIndex;
        this.restoreDefaultValues();
    }
    restoreDefaultValues() {
        this._themeColorIndex = _enums__WEBPACK_IMPORTED_MODULE_7__/* .ThemeColorIndexConstants */ .uL.None;
        this._themeValue = _enums__WEBPACK_IMPORTED_MODULE_7__/* .ThemeColorValues */ .KA.None;
        this._colorIndex = ColorModelInfo.defaultColorIndex;
        this._rgb = _dx_color__WEBPACK_IMPORTED_MODULE_6__/* .DXColor */ .F.empty;
        this._colorType = _enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Rgb;
        this._tint = 0;
    }
    setColorType(colorType) {
        if (this._colorType != colorType) {
            this.restoreDefaultValues();
            this._colorType = colorType;
        }
    }
    static makeAuto() {
        const result = new ColorModelInfo();
        result.setColorType(_enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Auto);
        return result;
    }
    toRgb(colorProvider) {
        let color = _dx_color__WEBPACK_IMPORTED_MODULE_6__/* .DXColor */ .F.empty;
        switch (this.colorType) {
            case _enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Index:
                if (this.colorIndex != ColorModelInfo.defaultColorIndex) {
                    color = colorProvider.palette.getColorByIndex(this.colorIndex);
                    if (_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_1__/* .ColorUtils */ .i.getAlpha(color) == 0)
                        color = _dx_color__WEBPACK_IMPORTED_MODULE_6__/* .DXColor */ .F.fromArgb(255, color);
                }
                break;
            case _enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Theme:
                if (this.themeColorIndex != _enums__WEBPACK_IMPORTED_MODULE_7__/* .ThemeColorIndexConstants */ .uL.None)
                    color = colorProvider.officeTheme.colors.getColorByThemeColorIndex(colorProvider, this.themeColorIndex);
                break;
            case _enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr.Rgb:
                color = this.rgb;
                break;
        }
        return _color_hsl__WEBPACK_IMPORTED_MODULE_5__/* .ColorHSL */ .H.calculateColorRGB(color, this.tint);
    }
    clone() {
        const result = new ColorModelInfo();
        result.copyFrom(this);
        return result;
    }
    copyFrom(value) {
        this._themeColorIndex = value.themeColorIndex;
        this._themeValue = value.themeValue;
        this._colorIndex = value.colorIndex;
        this._rgb = value.rgb;
        this._colorType = value.colorType;
        this.tint = value.tint;
    }
    equals(info) {
        return info &&
            this._colorType == info.colorType &&
            this.rgb == info.rgb &&
            this.themeColorIndex == info.themeColorIndex &&
            this.colorIndex == info.colorIndex &&
            this.tint == info.tint &&
            this.themeValue == info.themeValue;
    }
    static equalsBinary(a, b) {
        return a && b && (a === b ||
            a._colorType == b._colorType &&
                a._rgb == b._rgb &&
                a._colorIndex == b._colorIndex &&
                a._themeColorIndex == b._themeColorIndex &&
                a._tint == b._tint &&
                a._themeValue == b._themeValue);
    }
    calculateHash() {
        let hash = _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[0] * this._colorType;
        if (this._rgb !== undefined)
            hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[1] * this._rgb;
        if (this._tint !== undefined)
            hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[2] * this._tint;
        if (this._colorIndex !== undefined)
            hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[3] * this._colorIndex;
        if (this._themeColorIndex !== undefined)
            hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.somePrimes[4] * this._themeColorIndex;
        return hash;
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    toJSON() {
        const result = {};
        result[_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONColorModelInfoProperty */ .Gn.ColorType] = this.colorType;
        result[_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONColorModelInfoProperty */ .Gn.Tint] = this.tint;
        result[_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONColorModelInfoProperty */ .Gn.ColorIndex] = this.colorIndex;
        result[_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONColorModelInfoProperty */ .Gn.ThemeColorIndex] = this.themeColorIndex;
        result[_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONColorModelInfoProperty */ .Gn.Rgb] = this.rgb;
        return result;
    }
    toDebugString() {
        return `type: ${_enums__WEBPACK_IMPORTED_MODULE_7__/* .ColorType */ .Mr[this.colorType]}, rgb ${this.rgb}, themeColorIndex: ${this.themeColorIndex}, themeValue: ${this.themeValue}`;
    }
}
ColorModelInfo.defaultColorIndex = -1;
ColorModelInfo.empty = new ColorModelInfo();
ColorModelInfo.auto = ColorModelInfo.makeAuto();
ColorModelInfo.autoColor = ColorModelInfo.makeByColor(_color__WEBPACK_IMPORTED_MODULE_4__/* .ColorHelper */ .v.AUTOMATIC_COLOR);
ColorModelInfo.noColor = ColorModelInfo.makeByColor(_color__WEBPACK_IMPORTED_MODULE_4__/* .ColorHelper */ .v.NO_COLOR);


/***/ }),

/***/ 7217:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   v: function() { return /* binding */ ColorHelper; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2491);


class ColorHelper {
    static getPredefinedColor(color) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromHashString(color, 0);
    }
    static anyToColor(value, defaultValue) {
        if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__.isNumber)(value) && !isNaN(value))
            return value;
        if (typeof value === "string") {
            var intValue = parseInt(value);
            return !isNaN(intValue) && value == intValue ? intValue : _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromHashString(value);
        }
        return defaultValue;
    }
    static getActualForeColor(foreColor, backColor) {
        if (foreColor == ColorHelper.AUTOMATIC_COLOR) {
            var backColorIsLight = backColor == ColorHelper.AUTOMATIC_COLOR ||
                backColor == ColorHelper.NO_COLOR ||
                ColorHelper.calculateLumaY(backColor) >= ColorHelper.DEFAULT_BOUNDARY_LUMA;
            foreColor = backColorIsLight ? _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.DARK_COLOR : _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.LIGHT_COLOR;
        }
        return ColorHelper.getCssString(foreColor, true);
    }
    static getCssString(color, isAutoColorTranslateToDark) {
        if (color == ColorHelper.AUTOMATIC_COLOR)
            return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.colorToHash(isAutoColorTranslateToDark ? _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.DARK_COLOR : _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.LIGHT_COLOR);
        return ColorHelper.getCssStringInternal(color);
    }
    static getHashString(color) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.colorToHash(color);
    }
    static IsDarkColor(color) {
        return ColorHelper.calculateLumaY(color) < ColorHelper.DEFAULT_BOUNDARY_LUMA;
    }
    static getCssStringInternal(color) {
        var alpfa = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getAlpha(color);
        switch (alpfa) {
            case 0: return "transparent";
            case 255: return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.colorToHash(color);
            default: return "rgba(" + _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getRed(color) + "," + _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getGreen(color) + "," + _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getBlue(color) + "," + ColorHelper.getOpacity(color) + ")";
        }
    }
    static getOpacity(color) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getAlpha(color) / 255;
    }
    static isEmptyBgColor(color) {
        return color === this.AUTOMATIC_COLOR || color === this.NO_COLOR;
    }
    static calculateLumaY(color) {
        return ColorHelper.DEFAULT_BOUNDARY_LUMA_RED * _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getRed(color) +
            ColorHelper.DEFAULT_BOUNDARY_LUMA_GREEN * _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getGreen(color) +
            ColorHelper.DEFAULT_BOUNDARY_LUMA_BLUE * _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getBlue(color);
    }
}
ColorHelper.DEFAULT_BOUNDARY_LUMA = 60.762 * 65536;
ColorHelper.DEFAULT_BOUNDARY_LUMA_RED = 0.299 * 65536;
ColorHelper.DEFAULT_BOUNDARY_LUMA_BLUE = 0.114 * 65536;
ColorHelper.DEFAULT_BOUNDARY_LUMA_GREEN = 0.587 * 65536;
ColorHelper.BLACK_COLOR = -16777216;
ColorHelper.AUTOMATIC_COLOR = 0;
ColorHelper.NO_COLOR = 16777215;


/***/ }),

/***/ 3050:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ DXSystemColors; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);

class DXSystemColors {
}
DXSystemColors.control = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 240, 240, 240);
DXSystemColors.controlDark = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 160, 160, 160);
DXSystemColors.window = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 255, 255, 255);
DXSystemColors.activeBorder = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 180, 180, 180);
DXSystemColors.activeCaption = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 153, 180, 209);
DXSystemColors.activeCaptionText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 0, 0);
DXSystemColors.appWorkspace = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 171, 171, 171);
DXSystemColors.controlDarkDark = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 105, 105, 105);
DXSystemColors.controlLight = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 227, 227, 227);
DXSystemColors.controlLightLight = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 255, 255, 255);
DXSystemColors.controlText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 0, 0);
DXSystemColors.desktop = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 0, 0);
DXSystemColors.grayText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 109, 109, 109);
DXSystemColors.highlight = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 120, 215);
DXSystemColors.highlightText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 255, 255, 255);
DXSystemColors.hotTrack = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 102, 204);
DXSystemColors.inactiveBorder = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 244, 247, 252);
DXSystemColors.inactiveCaption = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 191, 205, 219);
DXSystemColors.inactiveCaptionText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 0, 0);
DXSystemColors.info = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 255, 255, 225);
DXSystemColors.infoText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 0, 0);
DXSystemColors.menu = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 240, 240, 240);
DXSystemColors.menuText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 0, 0);
DXSystemColors.scrollBar = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 200, 200, 200);
DXSystemColors.windowFrame = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 100, 100, 100);
DXSystemColors.windowText = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 0, 0, 0);
DXSystemColors.gradientActiveCaption = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 185, 209, 234);
DXSystemColors.gradientInactiveCaption = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 215, 228, 242);
DXSystemColors.menuBar = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 240, 240, 240);
DXSystemColors.menuHighlight = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromArgbNumber(255, 51, 153, 255);


/***/ }),

/***/ 1445:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: function() { return /* binding */ DXColor; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7217);
/* harmony import */ var _color_hsl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6291);




class DXColor {
    static isTransparentOrEmpty(color) {
        return color === null || color === undefined || color === DXColor.empty || color === DXColor.transparent;
    }
    static isTransparentOrEmptyorNoColor(color) {
        return color == _color__WEBPACK_IMPORTED_MODULE_2__/* .ColorHelper */ .v.NO_COLOR || DXColor.isTransparentOrEmpty(color);
    }
    static isTransparentColor(color) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getAlpha(color) == 0;
    }
    static isEmpty(color) {
        return color == null || color == undefined;
    }
    static isSemitransparentColor(color) {
        const alpha = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getAlpha(color);
        return alpha > 0 && alpha < 255;
    }
    static fromArgb(alpha, rgbColor) {
        return (alpha << 24) | (_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getRed(rgbColor) << 16) | (_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getGreen(rgbColor) << 8) | (_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getBlue(rgbColor));
    }
    static fromRgb(red, green, blue) {
        return (255 << 24) | (red << 16) | (green << 8) | (blue);
    }
    static fromName(name) {
        const hash = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.colorNames[name.toLowerCase()];
        return hash ? _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromHashString(hash) : _color__WEBPACK_IMPORTED_MODULE_2__/* .ColorHelper */ .v.AUTOMATIC_COLOR;
    }
    static blend(color, backgroundColor) {
        if (_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getAlpha(color) >= 255)
            return color;
        const alpha = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getAlpha(color) / 255.0;
        const one_alpha = 1.0 - alpha;
        return DXColor.fromRgb(Math.floor(_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getRed(color) * alpha + _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getRed(backgroundColor) * one_alpha), Math.floor(_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getGreen(color) * alpha + _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getGreen(backgroundColor) * one_alpha), Math.floor(_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getBlue(color) * alpha + _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getBlue(backgroundColor) * one_alpha));
    }
    static calculateNearestColor(colorsToChooseFrom, startColor) {
        const startHslColor = _color_hsl__WEBPACK_IMPORTED_MODULE_3__/* .ColorHSL */ .H.fromColorRGB(startColor);
        return !colorsToChooseFrom.length ?
            DXColor.empty :
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.min(colorsToChooseFrom, (color) => {
                const hslColor = _color_hsl__WEBPACK_IMPORTED_MODULE_3__/* .ColorHSL */ .H.fromColorRGB(color);
                let hue = Math.abs(hslColor.floatHue - startHslColor.floatHue);
                if (hue > 1.0)
                    hue = 1.0 - hue;
                return Math.pow(hue, 2) +
                    Math.pow(hslColor.floatSaturation - startHslColor.floatSaturation, 2) +
                    Math.pow(hslColor.luminance - startHslColor.luminance, 2);
            });
    }
}
DXColor.empty = _color__WEBPACK_IMPORTED_MODULE_2__/* .ColorHelper */ .v.getPredefinedColor("#000000");
DXColor.transparent = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromHashString("#FFFFFF", 0);
DXColor.white = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromHashString(_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.colorNames.white, 255);


/***/ }),

/***/ 3371:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   KA: function() { return /* binding */ ThemeColorValues; },
/* harmony export */   Mr: function() { return /* binding */ ColorType; },
/* harmony export */   T1: function() { return /* binding */ DrawingColorType; },
/* harmony export */   uL: function() { return /* binding */ ThemeColorIndexConstants; }
/* harmony export */ });
var ColorType;
(function (ColorType) {
    ColorType[ColorType["Rgb"] = 0] = "Rgb";
    ColorType[ColorType["Theme"] = 1] = "Theme";
    ColorType[ColorType["Index"] = 2] = "Index";
    ColorType[ColorType["Auto"] = 3] = "Auto";
})(ColorType || (ColorType = {}));
class ThemeColorIndexConstants {
}
ThemeColorIndexConstants.None = -1;
ThemeColorIndexConstants.Light1 = 0;
ThemeColorIndexConstants.Dark1 = 1;
ThemeColorIndexConstants.Light2 = 2;
ThemeColorIndexConstants.Dark2 = 3;
ThemeColorIndexConstants.Accent1 = 4;
ThemeColorIndexConstants.Accent2 = 5;
ThemeColorIndexConstants.Accent3 = 6;
ThemeColorIndexConstants.Accent4 = 7;
ThemeColorIndexConstants.Accent5 = 8;
ThemeColorIndexConstants.Accent6 = 9;
ThemeColorIndexConstants.Hyperlink = 10;
ThemeColorIndexConstants.FollowedHyperlink = 11;
var DrawingColorType;
(function (DrawingColorType) {
    DrawingColorType[DrawingColorType["Rgb"] = 0] = "Rgb";
    DrawingColorType[DrawingColorType["System"] = 1] = "System";
    DrawingColorType[DrawingColorType["Scheme"] = 2] = "Scheme";
    DrawingColorType[DrawingColorType["Preset"] = 3] = "Preset";
    DrawingColorType[DrawingColorType["ScRgb"] = 4] = "ScRgb";
    DrawingColorType[DrawingColorType["Hsl"] = 5] = "Hsl";
})(DrawingColorType || (DrawingColorType = {}));
var ThemeColorValues;
(function (ThemeColorValues) {
    ThemeColorValues[ThemeColorValues["None"] = -1] = "None";
    ThemeColorValues[ThemeColorValues["Light1"] = 0] = "Light1";
    ThemeColorValues[ThemeColorValues["Dark1"] = 1] = "Dark1";
    ThemeColorValues[ThemeColorValues["Light2"] = 2] = "Light2";
    ThemeColorValues[ThemeColorValues["Dark2"] = 3] = "Dark2";
    ThemeColorValues[ThemeColorValues["Accent1"] = 4] = "Accent1";
    ThemeColorValues[ThemeColorValues["Accent2"] = 5] = "Accent2";
    ThemeColorValues[ThemeColorValues["Accent3"] = 6] = "Accent3";
    ThemeColorValues[ThemeColorValues["Accent4"] = 7] = "Accent4";
    ThemeColorValues[ThemeColorValues["Accent5"] = 8] = "Accent5";
    ThemeColorValues[ThemeColorValues["Accent6"] = 9] = "Accent6";
    ThemeColorValues[ThemeColorValues["Hyperlink"] = 10] = "Hyperlink";
    ThemeColorValues[ThemeColorValues["FollowedHyperlink"] = 11] = "FollowedHyperlink";
    ThemeColorValues[ThemeColorValues["Background1"] = 12] = "Background1";
    ThemeColorValues[ThemeColorValues["Background2"] = 13] = "Background2";
    ThemeColorValues[ThemeColorValues["Text1"] = 14] = "Text1";
    ThemeColorValues[ThemeColorValues["Text2"] = 15] = "Text2";
})(ThemeColorValues || (ThemeColorValues = {}));


/***/ }),

/***/ 164:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ ScRGBColor; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8679);
/* harmony import */ var _drawing_drawing_value_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5958);
/* harmony import */ var _dx_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1445);



class ScRGBColor {
    constructor(scR, scG, scB) {
        this._scR = scR;
        this._scG = scG;
        this._scB = scB;
    }
    get scR() { return this._scR; }
    set scR(value) { this._scR = this.getValidValue(value); }
    get scG() { return this._scG; }
    set scG(value) { this._scG = this.getValidValue(value); }
    get scB() { return this._scB; }
    set scB(value) { this._scB = this.getValidValue(value); }
    calculateHash() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[0] * this._scR ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[1] * this._scG ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[2] * this._scB;
    }
    toRgb() {
        let r = this._scR * 1.0 / _drawing_drawing_value_constants__WEBPACK_IMPORTED_MODULE_1__/* .DrawingValueConstants */ .F.ThousandthOfPercentage;
        let g = this._scG * 1.0 / _drawing_drawing_value_constants__WEBPACK_IMPORTED_MODULE_1__/* .DrawingValueConstants */ .F.ThousandthOfPercentage;
        let b = this._scB * 1.0 / _drawing_drawing_value_constants__WEBPACK_IMPORTED_MODULE_1__/* .DrawingValueConstants */ .F.ThousandthOfPercentage;
        const a = 0.055;
        r = (r <= 0.0031308) ? 12.92 * r : (1 + a) * Math.pow(r, 1 / 2.4) - a;
        g = (g <= 0.0031308) ? 12.92 * g : (1 + a) * Math.pow(g, 1 / 2.4) - a;
        b = (b <= 0.0031308) ? 12.92 * b : (1 + a) * Math.pow(b, 1 / 2.4) - a;
        r *= 255;
        g *= 255;
        b *= 255;
        return _dx_color__WEBPACK_IMPORTED_MODULE_2__/* .DXColor */ .F.fromRgb(Math.round(r), Math.round(g), Math.round(b));
    }
    getValidValue(value) {
        return (value < 0) ? 0 : value;
    }
    equals(obj) {
        return obj &&
            this._scR == obj._scR &&
            this._scG == obj._scG &&
            this._scB == obj._scB;
    }
}
ScRGBColor.defaultValue = new ScRGBColor(0, 0, 0);


/***/ }),

/***/ 6015:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   P: function() { return /* binding */ ModelCreator; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2986);
/* harmony import */ var _character_character_properties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1789);
/* harmony import */ var _character_character_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9915);
/* harmony import */ var _character_enums__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8579);
/* harmony import */ var _chunk__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5552);
/* harmony import */ var _color_color__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7217);
/* harmony import */ var _color_color_model_info__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(4837);
/* harmony import */ var _document_model__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4495);
/* harmony import */ var _drawing_drawing_color__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8522);
/* harmony import */ var _drawing_drawing_color_model_info__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(893);
/* harmony import */ var _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(4830);
/* harmony import */ var _numbering_lists_numbering_helper__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2156);
/* harmony import */ var _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3231);
/* harmony import */ var _paragraph_paragraph__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(9754);
/* harmony import */ var _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(1423);
/* harmony import */ var _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(5631);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(8845);
/* harmony import */ var _runs_simple_runs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(4330);
/* harmony import */ var _section_section__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(9362);
/* harmony import */ var _section_section_properties__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(8012);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(8096);
/* harmony import */ var _tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(2993);
/* harmony import */ var _tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(6537);
/* harmony import */ var _tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(8222);
/* harmony import */ var _tables_styles_table_conditional_style__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(1327);
/* harmony import */ var _tables_styles_table_style__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(2685);
/* harmony import */ var _themes_enums__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(7088);





























class ModelCreator {
    constructor(options) {
        this.options = options;
    }
    static createTemplateCharProps(model) {
        const defProps = new _character_character_properties__WEBPACK_IMPORTED_MODULE_3__/* .MaskedCharacterProperties */ .X();
        defProps.fontInfo = model.cache.fontInfoCache.getItemByName('Calibri');
        return defProps;
    }
    static createDefaultCharProps(model) {
        const defProps = ModelCreator.createTemplateCharProps(model);
        defProps.setAllUse();
        return defProps;
    }
    static createTemplateParProps() {
        return new _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .MaskedParagraphProperties */ .bq();
    }
    static createDefaultParProps() {
        const defProps = ModelCreator.createTemplateParProps();
        defProps.useValue = _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .ParagraphPropertiesMask */ .m_.UseAll;
        return defProps;
    }
    static createTemplateTableProps() {
        return new _tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_24__/* .TableProperties */ .XK();
    }
    static createDefaultTableProps() {
        const defProps = ModelCreator.createTemplateTableProps();
        defProps.mask = _tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_24__/* .TablePropertiesMask */ .r4.UseAll;
        return defProps;
    }
    static createTemplateTableRowProps() {
        return new _tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_25__/* .TableRowProperties */ .A();
    }
    static createDefaultTableRowProps() {
        const defProps = ModelCreator.createTemplateTableRowProps();
        defProps.mask = _tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_25__/* .TableRowPropertiesMask */ .d.UseAll;
        return defProps;
    }
    static createTemplateTableCellProps() {
        return new _tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_23__/* .TableCellProperties */ .x0();
    }
    static createDefaultTableCellProps() {
        const defProps = ModelCreator.createTemplateTableCellProps();
        defProps.mask = _tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_23__/* .TableCellPropertiesMask */ .WO.UseAll;
        return defProps;
    }
    static createHyperlinkStyleCharProps(model) {
        const hyperlinkCharProp = ModelCreator.createTemplateCharProps(model);
        hyperlinkCharProp.setUseValueFull(_character_enums__WEBPACK_IMPORTED_MODULE_5__/* .CharacterPropertiesMask */ .xe.UseForeColorIndex | _character_enums__WEBPACK_IMPORTED_MODULE_5__/* .CharacterPropertiesMask */ .xe.UseFontUnderlineType);
        hyperlinkCharProp.textColor = _color_color_model_info__WEBPACK_IMPORTED_MODULE_8__/* .ColorModelInfo */ .k.makeByColor(_devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromString('#0000ff'));
        hyperlinkCharProp.fontUnderlineType = _character_enums__WEBPACK_IMPORTED_MODULE_5__/* .UnderlineType */ .Xq.Single;
        return hyperlinkCharProp;
    }
    static createTemplateSecProps() {
        return new _section_section_properties__WEBPACK_IMPORTED_MODULE_21__/* .SectionProperties */ .I();
    }
    static createTemplateTabProps() {
        return new _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_17__/* .TabProperties */ .jy();
    }
    createModel(modelOptions) {
        this.model = new _document_model__WEBPACK_IMPORTED_MODULE_9__/* .DocumentModel */ .T(modelOptions, _sub_document__WEBPACK_IMPORTED_MODULE_22__/* .SubDocument */ .jP.MAIN_SUBDOCUMENT_ID + 1);
        return this;
    }
    setModel(model) {
        this.model = model;
        return this;
    }
    fillModel() {
        const model = this.model;
        const templateCharProps = model.cache.maskedCharacterPropertiesCache.getItem(ModelCreator.createTemplateCharProps(model));
        const templateParProp = model.cache.maskedParagraphPropertiesCache.getItem(ModelCreator.createTemplateParProps());
        const templateTableProp = ModelCreator.createTemplateTableProps();
        const templateTableRowProp = model.cache.tableRowPropertiesCache.getItem(ModelCreator.createTemplateTableRowProps());
        const templateTableCellProp = model.cache.tableCellPropertiesCache.getItem(ModelCreator.createTemplateTableCellProps());
        const templateTabProp = ModelCreator.createTemplateTabProps();
        model.pageBackColor = _color_color__WEBPACK_IMPORTED_MODULE_7__/* .ColorHelper */ .v.AUTOMATIC_COLOR;
        model.defaultTabWidth = 720;
        model.differentOddAndEvenPages = false;
        model.displayBackgroundShape = false;
        model.defaultCharacterProperties = model.cache.maskedCharacterPropertiesCache.getItem(ModelCreator.createDefaultCharProps(model));
        model.defaultParagraphProperties = model.cache.maskedParagraphPropertiesCache.getItem(ModelCreator.createDefaultParProps());
        model.defaultTableProperties = ModelCreator.createDefaultTableProps();
        model.defaultTableCellProperties = model.cache.tableCellPropertiesCache.getItem(ModelCreator.createDefaultTableCellProps());
        model.defaultTableRowProperties = model.cache.tableRowPropertiesCache.getItem(ModelCreator.createDefaultTableRowProps());
        if (this.options.fillAbstractNumberingListTemplates)
            this.initNumberingListTemplates();
        if (this.options.fillCharStyles) {
            model.stylesManager.addCharacterStyle(new _character_character_style__WEBPACK_IMPORTED_MODULE_4__/* .CharacterStyle */ .H(_character_character_style__WEBPACK_IMPORTED_MODULE_4__/* .CharacterStyle */ .H.defaultParagraphCharacterStyleName, _character_character_style__WEBPACK_IMPORTED_MODULE_4__/* .CharacterStyle */ .H.defaultParagraphCharacterStyleName, false, false, false, true, templateCharProps, null));
            model.stylesManager.addCharacterStyle(new _character_character_style__WEBPACK_IMPORTED_MODULE_4__/* .CharacterStyle */ .H(_character_character_style__WEBPACK_IMPORTED_MODULE_4__/* .CharacterStyle */ .H.hyperlinkStyleName, _character_character_style__WEBPACK_IMPORTED_MODULE_4__/* .CharacterStyle */ .H.hyperlinkStyleName, false, false, false, true, ModelCreator.createHyperlinkStyleCharProps(model), null));
        }
        if (this.options.fillParStyles) {
            model.stylesManager.addParagraphStyle(new _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_17__/* .ParagraphStyle */ .PO(_paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_17__/* .ParagraphStyle */ .PO.normalStyleName, _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_17__/* .ParagraphStyle */ .PO.normalStyleName, false, false, false, true, templateCharProps, templateParProp, new _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_17__/* .TabProperties */ .jy(), false, -1, -1, null));
        }
        if (this.options.fillTableStyles) {
            const tableConditionalStyle = new _tables_styles_table_conditional_style__WEBPACK_IMPORTED_MODULE_28__/* .TableConditionalStyle */ .g(templateTableProp, templateTableRowProp, templateTableCellProp, templateParProp, templateCharProps, templateTabProp);
            model.stylesManager.addTableStyle(new _tables_styles_table_style__WEBPACK_IMPORTED_MODULE_26__/* .TableStyle */ .k(_tables_styles_table_style__WEBPACK_IMPORTED_MODULE_26__/* .TableStyle */ .k.DEFAULT_STYLENAME, _tables_styles_table_style__WEBPACK_IMPORTED_MODULE_26__/* .TableStyle */ .k.DEFAULT_STYLENAME, false, false, false, true, {}, tableConditionalStyle, null));
        }
        if (this.options.initOfficeTheme)
            this.initOfficeTheme();
        const subDocument = model.mainSubDocument;
        const chunk = new _chunk__WEBPACK_IMPORTED_MODULE_6__/* .Chunk */ .z(subDocument.positionManager.registerPosition(0), '', true);
        subDocument.chunks = [chunk];
        if (this.options.addParagraph) {
            const parChar = _rich_utils__WEBPACK_IMPORTED_MODULE_18__/* .RichUtils */ .i.specialCharacters.ParagraphMark.substr(0);
            subDocument.paragraphs = [new _paragraph_paragraph__WEBPACK_IMPORTED_MODULE_15__/* .Paragraph */ .nv(subDocument, subDocument.positionManager.registerPosition(0), parChar.length, model.getDefaultParagraphStyle(), templateParProp)];
            chunk.textBuffer = parChar;
            chunk.textRuns = [new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_19__/* .ParagraphRun */ .uu(0, subDocument.paragraphs[0], new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_2__/* .MaskedCharacterPropertiesBundle */ .Ne(templateCharProps, model.characterStyles[0]))];
        }
        if (this.options.addSection)
            model.sections = [new _section_section__WEBPACK_IMPORTED_MODULE_20__/* .Section */ .$(model, subDocument.positionManager.registerPosition(0), this.options.addParagraph ? 1 : 0, ModelCreator.createTemplateSecProps())];
        return model;
    }
    initOfficeTheme() {
        this.model.colorProvider.officeTheme.name = 'Office';
        this.model.colorProvider.officeTheme.colors.Accent1 = this.getDrawingColorAsRgb(-12291388);
        this.model.colorProvider.officeTheme.colors.Accent2 = this.getDrawingColorAsRgb(-1213135);
        this.model.colorProvider.officeTheme.colors.Accent3 = this.getDrawingColorAsRgb(-5921371);
        this.model.colorProvider.officeTheme.colors.Accent4 = this.getDrawingColorAsRgb(-16384);
        this.model.colorProvider.officeTheme.colors.Accent5 = this.getDrawingColorAsRgb(-10773547);
        this.model.colorProvider.officeTheme.colors.Accent6 = this.getDrawingColorAsRgb(-9392825);
        this.model.colorProvider.officeTheme.colors.Dark1 = this.getDrawingColorAsSystem(_themes_enums__WEBPACK_IMPORTED_MODULE_27__/* .SystemColorValues */ .DA.ScWindowText);
        this.model.colorProvider.officeTheme.colors.Dark2 = this.getDrawingColorAsSystem(_themes_enums__WEBPACK_IMPORTED_MODULE_27__/* .SystemColorValues */ .DA.ScWindowText);
        this.model.colorProvider.officeTheme.colors.Light1 = this.getDrawingColorAsSystem(_themes_enums__WEBPACK_IMPORTED_MODULE_27__/* .SystemColorValues */ .DA.ScWindow);
        this.model.colorProvider.officeTheme.colors.Light2 = this.getDrawingColorAsRgb(-1579290);
        this.model.colorProvider.officeTheme.colors.FollowedHyperlink = this.getDrawingColorAsRgb(-6992014);
        this.model.colorProvider.officeTheme.colors.Hyperlink = this.getDrawingColorAsRgb(-16423999);
        this.initFontScheme();
    }
    initFontScheme() {
        this.model.colorProvider.officeTheme.fontScheme.name = 'Office';
        const majorFont = this.model.colorProvider.officeTheme.fontScheme.majorFont;
        const majorSuppFonts = {};
        majorSuppFonts.Arab = 'Times New Roman';
        majorSuppFonts.Beng = 'Vrinda';
        majorSuppFonts.Cans = 'Euphemia';
        majorSuppFonts.Cher = 'Plantagenet Cherokee';
        majorSuppFonts.Deva = 'Mangal';
        majorSuppFonts.Ethi = 'Nyala';
        majorSuppFonts.Geor = 'Sylfaen';
        majorSuppFonts.Gujr = 'Shruti';
        majorSuppFonts.Guru = 'Raavi';
        majorSuppFonts.Hang = '맑은 고딕';
        majorSuppFonts.Hans = '等线 Light';
        majorSuppFonts.Hant = '新細明體';
        majorSuppFonts.Hebr = 'Times New Roman';
        majorSuppFonts.Jpan = '游ゴシック Light';
        majorSuppFonts.Khmr = 'MoolBoran';
        majorSuppFonts.Knda = 'Tunga';
        majorSuppFonts.Laoo = 'DokChampa';
        majorSuppFonts.Mlym = 'Kartika';
        majorSuppFonts.Mong = 'Mongolian Baiti';
        majorSuppFonts.Orya = 'Kalinga';
        majorSuppFonts.Sinh = 'Iskoola Pota';
        majorSuppFonts.Syrc = 'Estrangelo Edessa';
        majorSuppFonts.Taml = 'Latha';
        majorSuppFonts.Telu = 'Gautami';
        majorSuppFonts.Thaa = 'MV Boli';
        majorSuppFonts.Thai = 'Angsana New';
        majorSuppFonts.Tibt = 'Microsoft Himalaya';
        majorSuppFonts.Uigh = 'Microsoft Uighur';
        majorSuppFonts.Viet = 'Times New Roman';
        majorSuppFonts.Yiii = 'Microsoft Yi Baiti';
        majorFont.supplementalFonts = majorSuppFonts;
        majorFont.complexScript.charset = 1;
        majorFont.complexScript.pitchFamily = 0;
        majorFont.complexScript.typeface = '';
        majorFont.complexScript.panose = '';
        majorFont.eastAsian.charset = 1;
        majorFont.eastAsian.pitchFamily = 0;
        majorFont.eastAsian.typeface = '';
        majorFont.eastAsian.panose = '';
        majorFont.latin.charset = 1;
        majorFont.latin.pitchFamily = 0;
        majorFont.latin.typeface = 'Calibri Light';
        majorFont.latin.panose = '020F0302020204030204';
        const minorFont = this.model.colorProvider.officeTheme.fontScheme.minorFont;
        const minorSuppFonts = {};
        minorSuppFonts.Arab = 'Arial';
        minorSuppFonts.Beng = 'Vrinda';
        minorSuppFonts.Cans = 'Euphemia';
        minorSuppFonts.Cher = 'Plantagenet Cherokee';
        minorSuppFonts.Deva = 'Mangal';
        minorSuppFonts.Ethi = 'Nyala';
        minorSuppFonts.Geor = 'Sylfaen';
        minorSuppFonts.Gujr = 'Shruti';
        minorSuppFonts.Guru = 'Raavi';
        minorSuppFonts.Hang = '맑은 고딕';
        minorSuppFonts.Hans = '等线';
        minorSuppFonts.Hant = '新細明體';
        minorSuppFonts.Hebr = 'Arial';
        minorSuppFonts.Jpan = '游明朝';
        minorSuppFonts.Khmr = 'DaunPenh';
        minorSuppFonts.Knda = 'Tunga';
        minorSuppFonts.Laoo = 'DokChampa';
        minorSuppFonts.Mlym = 'Kartika';
        minorSuppFonts.Mong = 'Mongolian Baiti';
        minorSuppFonts.Orya = 'Kalinga';
        minorSuppFonts.Sinh = 'Iskoola Pota';
        minorSuppFonts.Syrc = 'Estrangelo Edessa';
        minorSuppFonts.Taml = 'Latha';
        minorSuppFonts.Telu = 'Gautami';
        minorSuppFonts.Thaa = 'MV Boli';
        minorSuppFonts.Thai = 'Cordia New';
        minorSuppFonts.Tibt = 'Microsoft Himalaya';
        minorSuppFonts.Uigh = 'Microsoft Uighur';
        minorSuppFonts.Viet = 'Arial';
        minorSuppFonts.Yiii = 'Microsoft Yi Baiti';
        minorFont.supplementalFonts = minorSuppFonts;
        minorFont.complexScript.charset = 1;
        minorFont.complexScript.pitchFamily = 0;
        minorFont.complexScript.typeface = '';
        minorFont.complexScript.panose = '';
        minorFont.eastAsian.charset = 1;
        minorFont.eastAsian.pitchFamily = 0;
        minorFont.eastAsian.typeface = '';
        minorFont.eastAsian.panose = '';
        minorFont.latin.charset = 1;
        minorFont.latin.pitchFamily = 0;
        minorFont.latin.typeface = 'Calibri';
        minorFont.latin.panose = '020F0502020204030204';
    }
    getDrawingColorAsRgb(rgb) {
        return new _drawing_drawing_color__WEBPACK_IMPORTED_MODULE_10__/* .DrawingColor */ .e(this.model.cache.drawingColorModelInfoCache.getItem(_drawing_drawing_color_model_info__WEBPACK_IMPORTED_MODULE_11__/* .DrawingColorModelInfo */ .a.createRGB(rgb)));
    }
    getDrawingColorAsSystem(val) {
        return new _drawing_drawing_color__WEBPACK_IMPORTED_MODULE_10__/* .DrawingColor */ .e(this.model.cache.drawingColorModelInfoCache.getItem(_drawing_drawing_color_model_info__WEBPACK_IMPORTED_MODULE_11__/* .DrawingColorModelInfo */ .a.createSystem(val)));
    }
    initNumberingListTemplates() {
        this.model.abstractNumberingListTemplates = [];
        let leftIndent = 0;
        const numberingTemplate = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_14__/* .AbstractNumberingList */ .pC(this.model);
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.forEach(numberingTemplate.levels, (level, index) => {
            const prop = new _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_12__/* .ListLevelProperties */ .Yy();
            const parProp = new _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .MaskedParagraphProperties */ .bq();
            parProp.copyFrom(this.model.defaultParagraphProperties);
            prop.displayFormatString = `{${index}}.`;
            prop.templateCode = _numbering_lists_numbering_helper__WEBPACK_IMPORTED_MODULE_13__/* .NumberingHelper */ .K.generateNewTemplateCode(this.model);
            parProp.firstLineIndent = 360;
            parProp.firstLineIndentType = _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .ParagraphFirstLineIndent */ .Qi.Hanging;
            leftIndent += 720;
            parProp.leftIndent = leftIndent;
            level.setListLevelProperties(prop);
            level.setParagraphProperties(parProp);
        });
        this.model.abstractNumberingListTemplates.push(numberingTemplate);
        leftIndent = 0;
        const bulletTemplate = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_14__/* .AbstractNumberingList */ .pC(this.model);
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.forEach(bulletTemplate.levels, (level) => {
            const prop = new _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_12__/* .ListLevelProperties */ .Yy();
            const parProp = new _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .MaskedParagraphProperties */ .bq();
            parProp.copyFrom(this.model.defaultParagraphProperties);
            prop.displayFormatString = `•`;
            prop.format = 5;
            prop.templateCode = _numbering_lists_numbering_helper__WEBPACK_IMPORTED_MODULE_13__/* .NumberingHelper */ .K.generateNewTemplateCode(this.model);
            level.getCharacterProperties().fontInfo = this.model.cache.fontInfoCache.getItemByName('Arial');
            parProp.firstLineIndent = 360;
            parProp.firstLineIndentType = _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .ParagraphFirstLineIndent */ .Qi.Hanging;
            leftIndent += 720;
            parProp.leftIndent = leftIndent;
            level.setListLevelProperties(prop);
            level.setParagraphProperties(parProp);
        });
        this.model.abstractNumberingListTemplates.push(bulletTemplate);
        const multiTemplate = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_14__/* .AbstractNumberingList */ .pC(this.model);
        let displayFormatString = '';
        const levelOffset = 360;
        const alignPositionsInDocuments = [360, 792, 1224, 1728, 2232, 2736, 3240, 3744, 4320];
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.forEach(multiTemplate.levels, (level, index) => {
            const prop = new _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_12__/* .ListLevelProperties */ .Yy();
            const parProp = new _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .MaskedParagraphProperties */ .bq();
            parProp.copyFrom(this.model.defaultParagraphProperties);
            displayFormatString += `{${index}}.`;
            prop.displayFormatString = displayFormatString;
            level.setListLevelProperties(prop);
            const firstLinePosition = levelOffset * index;
            parProp.leftIndent = alignPositionsInDocuments[index];
            parProp.firstLineIndent = parProp.leftIndent - firstLinePosition;
            parProp.firstLineIndentType = _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_16__/* .ParagraphFirstLineIndent */ .Qi.Hanging;
            level.setParagraphProperties(parProp);
        });
        this.model.abstractNumberingListTemplates.push(multiTemplate);
    }
}


/***/ }),

/***/ 5007:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: function() { return /* binding */ ModelCreatorOptions; }
/* harmony export */ });
class ModelCreatorOptions {
    constructor() {
        this.fillCharStyles = true;
        this.fillParStyles = true;
        this.fillTableStyles = true;
        this.addParagraph = true;
        this.addSection = true;
        this.fillAbstractNumberingListTemplates = true;
        this.initOfficeTheme = true;
    }
}


/***/ }),

/***/ 4495:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  VS: function() { return /* binding */ CompatibilityMode; },
  T: function() { return /* binding */ DocumentModel; },
  Pc: function() { return /* binding */ ResetFormattingCacheType; },
  Nm: function() { return /* binding */ SearchSettings; }
});

// UNUSED EXPORTS: CompatibilitySettings, DocumentVariables

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/formatters/manager.js
var manager = __webpack_require__(1768);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/borders/enums.ts
var enums = __webpack_require__(4265);
// EXTERNAL MODULE: ./src/common/model/caches/caches.ts + 12 modules
var caches = __webpack_require__(429);
// EXTERNAL MODULE: ./src/common/model/character/character-properties.ts
var character_properties = __webpack_require__(1789);
// EXTERNAL MODULE: ./src/common/model/chunk.ts
var chunk = __webpack_require__(5552);
// EXTERNAL MODULE: ./src/common/model/color/color.ts
var color = __webpack_require__(7217);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/string.js
var string = __webpack_require__(2866);
// EXTERNAL MODULE: ./src/common/model/options/protection.ts
var protection = __webpack_require__(3914);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var utils_string = __webpack_require__(49);
// EXTERNAL MODULE: ./src/common/model/themes/theme-drawing-color-collection.ts
var theme_drawing_color_collection = __webpack_require__(9126);
// EXTERNAL MODULE: ./src/common/model/themes/enums.ts
var themes_enums = __webpack_require__(7088);
// EXTERNAL MODULE: ./src/common/model/drawing/enums.ts
var drawing_enums = __webpack_require__(6612);
;// CONCATENATED MODULE: ./src/common/model/drawing/drawing-text-font.ts


class DrawingTextFont {
    constructor() {
        this.stringArray = ["", ""];
        this.byteArray = [DrawingTextFont.DefaultCharset, DrawingTextFont.DefaultPitchFamily];
    }
    get typeface() {
        return this.stringArray[DrawingTextFont.typefaceIndex];
    }
    set typeface(value) {
        this.setStringArray(DrawingTextFont.typefaceIndex, value);
    }
    get panose() {
        return this.stringArray[DrawingTextFont.panoseIndex];
    }
    set panose(value) {
        this.setStringArray(DrawingTextFont.panoseIndex, value);
    }
    get charset() {
        return this.byteArray[DrawingTextFont.charsetIndex];
    }
    set charset(value) {
        this.setByteArray(DrawingTextFont.charsetIndex, value);
    }
    get pitchFamily() {
        return this.byteArray[DrawingTextFont.pitchFamilyIndex];
    }
    set pitchFamily(value) {
        this.setByteArray(DrawingTextFont.pitchFamilyIndex, value);
    }
    get isDefault() {
        return utils_string.StringUtils.isNullOrEmpty(this.stringArray[DrawingTextFont.typefaceIndex]) &&
            utils_string.StringUtils.isNullOrEmpty(this.stringArray[DrawingTextFont.panoseIndex]) &&
            this.byteArray[DrawingTextFont.charsetIndex] == DrawingTextFont.DefaultCharset &&
            this.byteArray[DrawingTextFont.pitchFamilyIndex] == DrawingTextFont.DefaultPitchFamily;
    }
    copyFrom(value) {
        this.stringArray[DrawingTextFont.typefaceIndex] = value.stringArray[DrawingTextFont.typefaceIndex];
        this.stringArray[DrawingTextFont.panoseIndex] = value.stringArray[DrawingTextFont.panoseIndex];
        this.byteArray[DrawingTextFont.charsetIndex] = value.byteArray[DrawingTextFont.charsetIndex];
        this.byteArray[DrawingTextFont.pitchFamilyIndex] = value.byteArray[DrawingTextFont.pitchFamilyIndex];
    }
    clone() {
        var result = new DrawingTextFont();
        result.copyFrom(this);
        return result;
    }
    equals(other) {
        return other &&
            this.stringArray[DrawingTextFont.typefaceIndex] == other.stringArray[DrawingTextFont.typefaceIndex] &&
            this.stringArray[DrawingTextFont.panoseIndex] == other.stringArray[DrawingTextFont.panoseIndex] &&
            this.byteArray[DrawingTextFont.charsetIndex] == other.byteArray[DrawingTextFont.charsetIndex] &&
            this.byteArray[DrawingTextFont.pitchFamilyIndex] == other.byteArray[DrawingTextFont.pitchFamilyIndex];
    }
    clear() {
        this.typeface = "";
        this.panose = "";
        this.charset = DrawingTextFont.DefaultCharset;
        this.pitchFamily = DrawingTextFont.DefaultPitchFamily;
    }
    get type() {
        return drawing_enums/* DrawingBulletType */.zo.Typeface;
    }
    setStringArray(index, value) {
        if (this.stringArray[index] != value)
            this.stringArray[index] = value;
    }
    setByteArray(index, value) {
        if (this.byteArray[index] != value)
            this.byteArray[index] = value;
    }
}
DrawingTextFont.DefaultCharset = 1;
DrawingTextFont.DefaultPitchFamily = 0;
DrawingTextFont.typefaceIndex = 0;
DrawingTextFont.panoseIndex = 1;
DrawingTextFont.charsetIndex = 0;
DrawingTextFont.pitchFamilyIndex = 1;

;// CONCATENATED MODULE: ./src/common/model/themes/theme-font-scheme-part.ts



class ThemeFontSchemePart {
    constructor() {
        this.supplementalFonts = {};
        this.isValid = false;
        this.latin = new DrawingTextFont();
        this.eastAsian = new DrawingTextFont();
        this.complexScript = new DrawingTextFont();
    }
    addSupplementalFont(script, typeface) {
        if (!utils_string.StringUtils.isNullOrEmpty(script) && !this.supplementalFonts[script] !== undefined)
            this.supplementalFonts[script] = typeface;
    }
    copyFrom(value) {
        this.latin.copyFrom(value.latin);
        this.eastAsian.copyFrom(value.eastAsian);
        this.complexScript.copyFrom(value.complexScript);
        this.isValid = value.isValid;
        string.StringMapUtils.clear(this.supplementalFonts);
        string.StringMapUtils.forEach(value.supplementalFonts, (value, key) => this.addSupplementalFont[key] = value);
    }
    getTypeface(currentUICulture) {
        const name = currentUICulture.name;
        const script = ThemeFontSchemePart.cultureNameToScriptTable[name];
        if (script !== undefined) {
            if (this.supplementalFonts[script] !== undefined)
                return this.supplementalFonts[script];
        }
        return this.getDefaultTypeface();
    }
    clear() {
        this.latin.clear();
        this.eastAsian.clear();
        this.complexScript.clear();
        string.StringMapUtils.clear(this.supplementalFonts);
        this.isValid = false;
    }
    getDefaultTypeface() {
        return this.latin.typeface;
    }
}
ThemeFontSchemePart.cultureNameToScriptTable = {
    "ar-LY": "Arab",
    "ar-DZ": "Arab",
    "ar-MA": "Arab",
    "ar-TN": "Arab",
    "ar-OM": "Arab",
    "ar-YE": "Arab",
    "ar-SY": "Arab",
    "ar-JO": "Arab",
    "ar-LB": "Arab",
    "ar-KW": "Arab",
    "ar-AE": "Arab",
    "ar-BH": "Arab",
    "ar-QA": "Arab",
    "ar-SA": "Arab",
    "ur-PK": "Arab",
    "fa-IR": "Arab",
    "ps-AF": "Arab",
    "prs-AF": "Arab",
    "ar-IQ": "Arab",
    "ar-EG": "Arab",
    "hy-AM": "Armn",
    "bn-IN": "Beng",
    "as-IN": "Beng",
    "bn-BD": "Beng",
    "iu-Cans-CA": "Cans",
    "sr-Cyrl-BA": "Cyrl",
    "bs-Cyrl-BA": "Cyrl",
    "sr-Cyrl-RS": "Cyrl",
    "sr-Cyrl-ME": "Cyrl",
    "bg-BG": "Cyrl",
    "ru-RU": "Cyrl",
    "uk-UA": "Cyrl",
    "be-BY": "Cyrl",
    "tg-Cyrl-TJ": "Cyrl",
    "mk-MK": "Cyrl",
    "kk-KZ": "Cyrl",
    "ky-KG": "Cyrl",
    "tt-RU": "Cyrl",
    "mn-MN": "Cyrl",
    "ba-RU": "Cyrl",
    "sah-RU": "Cyrl",
    "az-Cyrl-AZ": "Cyrl",
    "uz-Cyrl-UZ": "Cyrl",
    "sr-Cyrl-CS": "Cyrl",
    "hi-IN": "Deva",
    "mr-IN": "Deva",
    "sa-IN": "Deva",
    "kok-IN": "Deva",
    "ne-NP": "Deva",
    "am-ET": "Ethi",
    "ka-GE": "Geor",
    "el-GR": "Grek",
    "gu-IN": "Gujr",
    "pa-IN": "Guru",
    "ko-KR": "Hang",
    "zh-SG": "Hans",
    "zh-CN": "Hans",
    "zh-MO": "Hant",
    "zh-TW": "Hant",
    "zh-HK": "Hant",
    "he-IL": "Hebr",
    "ja-JP": "Jpan",
    "km-KH": "Khmr",
    "kn-IN": "Knda",
    "lo-LA": "Laoo",
    "de-LU": "Latn",
    "en-CA": "Latn",
    "es-GT": "Latn",
    "fr-CH": "Latn",
    "hr-BA": "Latn",
    "smj-NO": "Latn",
    "de-LI": "Latn",
    "en-NZ": "Latn",
    "es-CR": "Latn",
    "fr-LU": "Latn",
    "bs-Latn-BA": "Latn",
    "smj-SE": "Latn",
    "en-IE": "Latn",
    "es-PA": "Latn",
    "fr-MC": "Latn",
    "sr-Latn-BA": "Latn",
    "sma-NO": "Latn",
    "en-ZA": "Latn",
    "es-DO": "Latn",
    "sma-SE": "Latn",
    "en-JM": "Latn",
    "es-VE": "Latn",
    "sms-FI": "Latn",
    "en-029": "Latn",
    "es-CO": "Latn",
    "sr-Latn-RS": "Latn",
    "smn-FI": "Latn",
    "en-BZ": "Latn",
    "es-PE": "Latn",
    "en-TT": "Latn",
    "es-AR": "Latn",
    "sr-Latn-ME": "Latn",
    "en-ZW": "Latn",
    "es-EC": "Latn",
    "en-PH": "Latn",
    "es-CL": "Latn",
    "es-UY": "Latn",
    "es-PY": "Latn",
    "en-IN": "Latn",
    "es-BO": "Latn",
    "ca-ES": "Latn",
    "cs-CZ": "Latn",
    "da-DK": "Latn",
    "de-DE": "Latn",
    "en-US": "Latn",
    "es-ES": "Latn",
    "fi-FI": "Latn",
    "fr-FR": "Latn",
    "hu-HU": "Latn",
    "is-IS": "Latn",
    "it-IT": "Latn",
    "nl-NL": "Latn",
    "nb-NO": "Latn",
    "pl-PL": "Latn",
    "pt-BR": "Latn",
    "rm-CH": "Latn",
    "ro-RO": "Latn",
    "hr-HR": "Latn",
    "sk-SK": "Latn",
    "sq-AL": "Latn",
    "sv-SE": "Latn",
    "tr-TR": "Latn",
    "id-ID": "Latn",
    "sl-SI": "Latn",
    "et-EE": "Latn",
    "lv-LV": "Latn",
    "lt-LT": "Latn",
    "az-Latn-AZ": "Latn",
    "eu-ES": "Latn",
    "hsb-DE": "Latn",
    "tn-ZA": "Latn",
    "xh-ZA": "Latn",
    "zu-ZA": "Latn",
    "af-ZA": "Latn",
    "fo-FO": "Latn",
    "mt-MT": "Latn",
    "se-NO": "Latn",
    "ms-MY": "Latn",
    "en-MY": "Latn",
    "es-SV": "Latn",
    "sw-KE": "Latn",
    "tk-TM": "Latn",
    "uz-Latn-UZ": "Latn",
    "cy-GB": "Latn",
    "gl-ES": "Latn",
    "fy-NL": "Latn",
    "fil-PH": "Latn",
    "ha-Latn-NG": "Latn",
    "yo-NG": "Latn",
    "quz-BO": "Latn",
    "nso-ZA": "Latn",
    "lb-LU": "Latn",
    "kl-GL": "Latn",
    "ig-NG": "Latn",
    "arn-CL": "Latn",
    "moh-CA": "Latn",
    "br-FR": "Latn",
    "en-SG": "Latn",
    "es-HN": "Latn",
    "mi-NZ": "Latn",
    "oc-FR": "Latn",
    "co-FR": "Latn",
    "gsw-FR": "Latn",
    "qut-GT": "Latn",
    "rw-RW": "Latn",
    "wo-SN": "Latn",
    "gd-GB": "Latn",
    "es-NI": "Latn",
    "es-PR": "Latn",
    "es-US": "Latn",
    "de-CH": "Latn",
    "en-GB": "Latn",
    "es-MX": "Latn",
    "fr-BE": "Latn",
    "it-CH": "Latn",
    "nl-BE": "Latn",
    "nn-NO": "Latn",
    "pt-PT": "Latn",
    "sr-Latn-CS": "Latn",
    "sv-FI": "Latn",
    "dsb-DE": "Latn",
    "se-SE": "Latn",
    "ga-IE": "Latn",
    "ms-BN": "Latn",
    "iu-Latn-CA": "Latn",
    "tzm-Latn-DZ": "Latn",
    "quz-EC": "Latn",
    "de-AT": "Latn",
    "en-AU": "Latn",
    "fr-CA": "Latn",
    "se-FI": "Latn",
    "quz-PE": "Latn",
    "ml-IN": "Mlym",
    "mn-Mong-CN": "Mong",
    "or-IN": "Orya",
    "si-LK": "Sinh",
    "syr-SY": "Syrc",
    "ta-IN": "Taml",
    "te-IN": "Telu",
    "dv-MV": "Thaa",
    "th-TH": "Thai",
    "bo-CN": "Tibt",
    "ug-CN": "Uigh",
    "vi-VN": "Viet",
    "ii-CN": "Yiii",
};

;// CONCATENATED MODULE: ./src/common/model/themes/theme-font-scheme.ts



class ThemeFontScheme {
    constructor() {
        this.name = "";
        this.minorFont = new ThemeFontSchemePart();
        this.majorFont = new ThemeFontSchemePart();
    }
    get isValidate() { return !utils_string.StringUtils.isNullOrEmpty(this.name) && this.minorFont.isValid && this.majorFont.isValid; }
    getTypeface(schemeStyle, currentUICulture) {
        if (schemeStyle == themes_enums/* XlFontSchemeStyles */.si.None)
            return "";
        if (schemeStyle == themes_enums/* XlFontSchemeStyles */.si.Minor)
            return this.minorFont.getTypeface(currentUICulture);
        return this.majorFont.getTypeface(currentUICulture);
    }
    copyFrom(sourceObj) {
        this.name = sourceObj.name;
        this.majorFont.copyFrom(sourceObj.majorFont);
        this.minorFont.copyFrom(sourceObj.minorFont);
    }
    clear() {
        this.name = "";
        this.majorFont.clear();
        this.minorFont.clear();
    }
}

;// CONCATENATED MODULE: ./src/common/model/themes/theme-format-scheme.ts


class ThemeFormatScheme {
    constructor() {
        this.backgroundFillStyleList = [];
        this.fillStyleList = [];
        this.lineStyleList = [];
        this.effectStyleList = [];
        this.name = "";
    }
    get isValidate() {
        return this.checkValidation();
    }
    getOutlineByType(type) {
        return this.getElementByType(type, this.lineStyleList);
    }
    getOutlineByIndex(index) {
        return this.getElementByIndex(index, this.lineStyleList);
    }
    getFillByType(type) {
        return this.getElementByType(type, this.fillStyleList);
    }
    getFillByIndex(index) {
        var backgroundIndex = 1000;
        if (index < backgroundIndex)
            return this.getElementByIndex(index, this.fillStyleList);
        return this.getElementByIndex(index - backgroundIndex, this.backgroundFillStyleList);
    }
    getEffectStyle(type) {
        return this.getElementByType(type, this.effectStyleList);
    }
    getElementByType(type, items) {
        if (type == themes_enums/* StyleMatrixElementType */.Dl.Subtle)
            return items[0];
        if (type == themes_enums/* StyleMatrixElementType */.Dl.Moderate)
            return items[1];
        if (type == themes_enums/* StyleMatrixElementType */.Dl.Intense)
            return items[2];
        return null;
    }
    getElementByIndex(index, items) {
        const count = items.length;
        return index < 1 || count == 0 ? null : items[Math.min(index, count) - 1];
    }
    checkValidation() {
        return this.backgroundFillStyleList.length >= 3 && this.fillStyleList.length >= 3 && this.lineStyleList.length >= 3 && this.effectStyleList.length >= 3;
    }
    copyFrom(obj) {
        this.clear();
        this.name = obj.name;
        this.backgroundFillStyleList = list.ListUtils.map(obj.backgroundFillStyleList, (e) => e.clone());
        this.fillStyleList = list.ListUtils.map(obj.fillStyleList, (e) => e.clone());
        this.lineStyleList = list.ListUtils.map(obj.lineStyleList, (e) => e.clone());
        this.effectStyleList = list.ListUtils.map(obj.effectStyleList, (e) => e.clone());
    }
    clear() {
        this.name = "";
        list.ListUtils.clear(this.backgroundFillStyleList);
        list.ListUtils.clear(this.fillStyleList);
        list.ListUtils.clear(this.lineStyleList);
        list.ListUtils.clear(this.effectStyleList);
    }
}

;// CONCATENATED MODULE: ./src/common/model/themes/office-theme-base.ts




class OfficeTheme {
    constructor() {
        this.name = "";
        this.colors = new theme_drawing_color_collection/* ThemeDrawingColorCollection */.l();
        this.fontScheme = new ThemeFontScheme();
        this.formatScheme = new ThemeFormatScheme();
    }
    get isValidate() {
        return !utils_string.StringUtils.isNullOrEmpty(this.name) && this.colors.isValidate && this.fontScheme.isValidate && this.formatScheme.isValidate;
    }
    copyFrom(sourceObj) {
        this.name = sourceObj.name;
        this.colors.copyFrom(sourceObj.colors);
        this.fontScheme.copyFrom(sourceObj.fontScheme);
        this.formatScheme.copyFrom(sourceObj.formatScheme);
    }
    clear() {
        this.name = "";
        this.colors.clear();
        this.fontScheme.clear();
        this.formatScheme.clear();
    }
    clone() {
        var result = new OfficeTheme();
        result.copyFrom(this);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/color/color-model-info.ts
var color_model_info = __webpack_require__(4837);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/constants.js
var constants = __webpack_require__(8785);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/color.js
var utils_color = __webpack_require__(13);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/color-model-info-cache.ts
var color_model_info_cache = __webpack_require__(9081);
// EXTERNAL MODULE: ./src/common/model/color/color-hsl.ts
var color_hsl = __webpack_require__(6291);
// EXTERNAL MODULE: ./src/common/model/color/d-xsystem-colors.ts
var d_xsystem_colors = __webpack_require__(3050);
// EXTERNAL MODULE: ./src/common/model/color/dx-color.ts
var dx_color = __webpack_require__(1445);
// EXTERNAL MODULE: ./src/common/model/color/enums.ts
var color_enums = __webpack_require__(3371);
;// CONCATENATED MODULE: ./src/common/model/color/palette.ts










class ColorDistanceInfo {
    constructor(distance, colorIndex) {
        this.distance = distance;
        this.colorIndex = colorIndex;
    }
    static comparator(a, b) {
        return a.distance - b.distance;
    }
}
class ColorDifference {
    static RGB(x, y) {
        return Math.sqrt(Math.pow((utils_color/* ColorUtils */.i.getRed(x) - utils_color/* ColorUtils */.i.getRed(y)) / 255, 2) +
            Math.pow((utils_color/* ColorUtils */.i.getGreen(x) - utils_color/* ColorUtils */.i.getGreen(y)) / 255, 2) +
            Math.pow((utils_color/* ColorUtils */.i.getBlue(x) - utils_color/* ColorUtils */.i.getBlue(y)) / 255, 2));
    }
    static HSB(x, y) {
        const xHSL = color_hsl/* ColorHSL */.H.fromColorRGB(x);
        const yHSL = color_hsl/* ColorHSL */.H.fromColorRGB(y);
        let deltaH = Math.abs(xHSL.hue - yHSL.hue);
        if (deltaH > 180.0)
            deltaH = 360.0 - deltaH;
        deltaH /= 57.3;
        const deltaB = Math.abs(xHSL.luminance - yHSL.luminance) * 3.0;
        const deltaS = Math.abs(xHSL.saturation - yHSL.saturation) * 1.5;
        return deltaB + deltaH + deltaS;
    }
}
class Palette {
    constructor() {
        this.reset();
    }
    getColorByIndex(index) {
        const color = this.colorTable[index];
        if (color === undefined)
            throw new Error(errors/* Errors */.D.InternalException);
        return color;
    }
    setColor(index, color) {
        const oldColor = this.colorTable[index];
        if (oldColor !== undefined) {
            if (oldColor != color) {
                this.isCustomIndexedColorTable = true;
                this.colorTable[index] = color;
            }
        }
        else
            throw new Error(errors/* Errors */.D.InternalException);
    }
    reset() {
        const sbc = d_xsystem_colors/* DXSystemColors */.J.scrollBar;
        this.colorTable = {
            [0]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 0),
            [1]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 255),
            [2]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 0, 0),
            [3]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 255, 0),
            [4]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 255),
            [5]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 0),
            [6]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 0, 255),
            [7]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 255, 255),
            [8]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 0),
            [9]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 255),
            [10]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 0, 0),
            [11]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 255, 0),
            [12]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 255),
            [13]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 0),
            [14]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 0, 255),
            [15]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 255, 255),
            [16]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 128, 0, 0),
            [17]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 128, 0),
            [18]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 128),
            [19]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 128, 128, 0),
            [20]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 128, 0, 128),
            [21]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 128, 128),
            [22]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 192, 192, 192),
            [23]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 128, 128, 128),
            [24]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 153, 153, 255),
            [25]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 153, 51, 102),
            [26]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 204),
            [27]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 204, 255, 255),
            [28]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 102, 0, 102),
            [29]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 128, 128),
            [30]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 102, 204),
            [31]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 204, 204, 255),
            [32]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 128),
            [33]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 0, 255),
            [34]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 0),
            [35]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 255, 255),
            [36]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 128, 0, 128),
            [37]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 128, 0, 0),
            [38]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 128, 128),
            [39]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 255),
            [40]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 204, 255),
            [41]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 204, 255, 255),
            [42]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 204, 255, 204),
            [43]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 153),
            [44]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 153, 204, 255),
            [45]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 153, 204),
            [46]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 204, 153, 255),
            [47]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 204, 153),
            [48]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 51, 102, 255),
            [49]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 51, 204, 204),
            [50]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 153, 204, 0),
            [51]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 204, 0),
            [52]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 153, 0),
            [53]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 102, 0),
            [54]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 102, 102, 153),
            [55]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 150, 150, 150),
            [56]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 51, 102),
            [57]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 51, 153, 102),
            [58]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 51, 0),
            [59]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 51, 51, 0),
            [60]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 153, 51, 0),
            [61]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 153, 51, 102),
            [62]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 51, 51, 153),
            [63]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 51, 51, 51),
            [Palette.SystemWindowFrameColorIndex]: d_xsystem_colors/* DXSystemColors */.J.windowFrame,
            [Palette.System3DFaceColorIndex]: d_xsystem_colors/* DXSystemColors */.J.control,
            [Palette.System3DTextColorIndex]: d_xsystem_colors/* DXSystemColors */.J.controlText,
            [Palette.System3DHighlightColorIndex]: d_xsystem_colors/* DXSystemColors */.J.controlLight,
            [Palette.System3DShadowColorIndex]: d_xsystem_colors/* DXSystemColors */.J.controlDark,
            [Palette.SystemHighlightColorIndex]: d_xsystem_colors/* DXSystemColors */.J.highlight,
            [Palette.SystemControlTextColorIndex]: d_xsystem_colors/* DXSystemColors */.J.controlText,
            [Palette.SystemControlScrollColorIndex]: sbc,
            [Palette.SystemControlInverseColorIndex]: dx_color/* DXColor */.F.fromArgb(0, sbc),
            [Palette.SystemControlBodyColorIndex]: d_xsystem_colors/* DXSystemColors */.J.window,
            [Palette.SystemControlFrameColorIndex]: d_xsystem_colors/* DXSystemColors */.J.windowFrame,
            [Palette.DefaultForegroundColorIndex]: d_xsystem_colors/* DXSystemColors */.J.windowText,
            [Palette.DefaultBackgroundColorIndex]: d_xsystem_colors/* DXSystemColors */.J.window,
            [Palette.DefaultChartForegroundColorIndex]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 0),
            [Palette.DefaultChartBackgroundColorIndex]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 255, 255, 255),
            [Palette.ChartNeutralColorIndex]: utils_color/* ColorUtils */.i.fromArgbNumber(0, 0, 0, 0),
            [Palette.ToolTipFillColorIndex]: d_xsystem_colors/* DXSystemColors */.J.info,
            [Palette.ToolTipTextColorIndex]: d_xsystem_colors/* DXSystemColors */.J.infoText,
            [Palette.FontAutomaticColorIndex]: dx_color/* DXColor */.F.empty,
        };
    }
    get defaultForegroundColor() { return this.colorTable[Palette.DefaultForegroundColorIndex]; }
    set defaultForegroundColor(val) { this.colorTable[Palette.DefaultForegroundColorIndex] = val; }
    get defaultBackgroundColor() { return this.colorTable[Palette.DefaultBackgroundColorIndex]; }
    set defaultBackgroundColor(val) { this.colorTable[Palette.DefaultBackgroundColorIndex] = val; }
    get defaultChartForegroundColor() { return this.colorTable[Palette.DefaultChartForegroundColorIndex]; }
    set defaultChartForegroundColor(val) { this.colorTable[Palette.DefaultChartForegroundColorIndex] = val; }
    get defaultChartBackgroundColor() { return this.colorTable[Palette.DefaultChartBackgroundColorIndex]; }
    set defaultChartBackgroundColor(val) { this.colorTable[Palette.DefaultChartBackgroundColorIndex] = val; }
    get chartNeutralColor() { return this.colorTable[Palette.ChartNeutralColorIndex]; }
    get toolTipTextColor() { return this.colorTable[Palette.ToolTipTextColorIndex]; }
    set toolTipTextColor(val) { this.colorTable[Palette.ToolTipTextColorIndex] = val; }
    get fontAutomaticColor() { return this.colorTable[Palette.FontAutomaticColorIndex]; }
    set fontAutomaticColor(val) { this.colorTable[Palette.FontAutomaticColorIndex] = val; }
    isValidColorIndex(index) {
        return this.colorTable[index] !== undefined;
    }
    getColorIndex(colorProvider, colorInfo, foreground) {
        const defaultItem = color_model_info_cache/* ColorModelInfoCache */.N.defaultItem;
        if (defaultItem.equals(colorInfo) || colorInfo.colorType == color_enums/* ColorType */.Mr.Auto)
            return foreground ? Palette.DefaultForegroundColorIndex : Palette.DefaultBackgroundColorIndex;
        if (colorInfo.colorType == color_enums/* ColorType */.Mr.Index) {
            if (!this.isValidColorIndex(colorInfo.colorIndex))
                return foreground ? Palette.DefaultForegroundColorIndex : Palette.DefaultBackgroundColorIndex;
            return colorInfo.colorIndex;
        }
        return this.getPaletteNearestColorIndex(colorInfo.toRgb(colorProvider));
    }
    getFontColorIndex(colorProvider, colorInfo) {
        if (colorInfo.colorType == color_enums/* ColorType */.Mr.Auto)
            return Palette.FontAutomaticColorIndex;
        if (colorInfo.colorType == color_enums/* ColorType */.Mr.Index) {
            if (!this.isValidColorIndex(colorInfo.colorIndex))
                return Palette.FontAutomaticColorIndex;
            return colorInfo.colorIndex;
        }
        return this.getPaletteNearestColorIndex(colorInfo.toRgb(colorProvider));
    }
    getColorIndexByRgbColor(color) {
        let index = this.getExactColorIndex(color, new boundary/* BoundaryInterval */.e(0, Palette.FontAutomaticColorIndex + 1));
        if (index != -1)
            return index;
        if (utils_color/* ColorUtils */.i.getAlpha(color) == 0xFF) {
            color = dx_color/* DXColor */.F.fromArgb(0, color);
            index = this.getExactColorIndex(color, new boundary/* BoundaryInterval */.e(0, Palette.FontAutomaticColorIndex + 1));
            if (index != -1)
                return index;
        }
        return Palette.DefaultForegroundColorIndex;
    }
    getExactColorIndex(color, indexInterval) {
        const index = number/* NumberMapUtils */.j.keyBy(this.colorTable, (value, key) => indexInterval.contains(key) && value == color);
        return index === null ? -1 : index;
    }
    getNearestColorIndex(color) {
        const nearest = this.getExactColorIndex(color, new boundary/* BoundaryInterval */.e(0, 64));
        if (nearest != -1)
            return nearest;
        return this.getNearestColorIndexCore(color, new boundary/* BoundaryInterval */.e(0, 64));
    }
    getPaletteNearestColorIndex(color) {
        const nearest = this.getExactColorIndex(color, new boundary/* BoundaryInterval */.e(8, 63));
        if (nearest != -1)
            return nearest;
        return this.getNearestColorIndexCore(color, new boundary/* BoundaryInterval */.e(8, 64));
    }
    isCompatibleColors(x, y) {
        return utils_color/* ColorUtils */.i.isGray(x) == utils_color/* ColorUtils */.i.isGray(y);
    }
    getColorDistance(x, y, rgbWeight) {
        const hsbD = ColorDifference.HSB(x, y);
        const rgbD = ColorDifference.RGB(x, y) * rgbWeight;
        return hsbD + rgbD;
    }
    getNearestColorIndexCore(color, indexInterval) {
        const items = [];
        number/* NumberMapUtils */.j.forEach(this.colorTable, (value, key) => {
            if (indexInterval.contains(key) && this.isCompatibleColors(value, color))
                items.push(new ColorDistanceInfo(this.getColorDistance(color, value, 3.0), key));
        });
        items.sort(ColorDistanceInfo.comparator);
        const limit = 5;
        if (items.length > limit)
            items.splice(limit);
        let nearest = -1;
        let distance = constants.Constants.MAX_SAFE_INTEGER;
        for (let item of items) {
            if (nearest == -1) {
                nearest = item.colorIndex;
                distance = this.getColorDistance(color, this.colorTable[item.colorIndex], 1.5);
            }
            else {
                const d = this.getColorDistance(color, this.colorTable[item.colorIndex], 1.5);
                if (d < distance) {
                    nearest = item.colorIndex;
                    distance = d;
                }
            }
        }
        return nearest;
    }
    clone() {
        const result = new Palette();
        result.isCustomIndexedColorTable = this.isCustomIndexedColorTable;
        result.colorTable = number/* NumberMapUtils */.j.shallowCopy(this.colorTable);
        return result;
    }
}
Palette.BuiltInColorsCount = 8;
Palette.DefaultForegroundColorIndex = 64;
Palette.DefaultBackgroundColorIndex = 65;
Palette.SystemWindowFrameColorIndex = 66;
Palette.System3DFaceColorIndex = 67;
Palette.System3DTextColorIndex = 68;
Palette.System3DHighlightColorIndex = 69;
Palette.System3DShadowColorIndex = 70;
Palette.SystemHighlightColorIndex = 71;
Palette.SystemControlTextColorIndex = 72;
Palette.SystemControlScrollColorIndex = 73;
Palette.SystemControlInverseColorIndex = 74;
Palette.SystemControlBodyColorIndex = 75;
Palette.SystemControlFrameColorIndex = 76;
Palette.DefaultChartForegroundColorIndex = 77;
Palette.DefaultChartBackgroundColorIndex = 78;
Palette.ChartNeutralColorIndex = 79;
Palette.ToolTipFillColorIndex = 80;
Palette.ToolTipTextColorIndex = 81;
Palette.FontAutomaticColorIndex = 32767;

;// CONCATENATED MODULE: ./src/common/model/color/color-provider.ts





class ColorProvider {
    constructor(colorModelInfoCache) {
        this.rangePermissionColors = {};
        this.rangePermissionColorIndex = 0;
        this.colorModelInfoCache = colorModelInfoCache;
        this.officeTheme = new OfficeTheme();
        this.palette = new Palette();
    }
    getRgbaFromModelColor(color) {
        return color.toRgb(this);
    }
    getModelColorFromRgba(rgba) {
        return this.colorModelInfoCache.getItem(color_model_info/* ColorModelInfo */.k.makeByColor(rgba));
    }
    getColor() {
        if (this.rangePermissionColorIndex >= protection/* DocumentProtectionSettings */.E.defaultColors.length)
            this.rangePermissionColorIndex = 0;
        const result = protection/* DocumentProtectionSettings */.E.defaultColors[this.rangePermissionColorIndex];
        this.rangePermissionColorIndex++;
        return result;
    }
    clone(colorModelInfoCache) {
        const result = new ColorProvider(colorModelInfoCache);
        result.officeTheme = this.officeTheme.clone();
        result.palette = this.palette.clone();
        result.rangePermissionColors = string.StringMapUtils.map(this.rangePermissionColors, val => '' + val);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/enums.ts
var model_enums = __webpack_require__(4907);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-document-enums.ts
var json_document_enums = __webpack_require__(1573);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-character-properties-converter.ts
var json_masked_character_properties_converter = __webpack_require__(7768);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-paragraph-properties-converter.ts
var json_masked_paragraph_properties_converter = __webpack_require__(8977);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list-counters-calculator.ts
var numbering_list_counters_calculator = __webpack_require__(6976);
;// CONCATENATED MODULE: ./src/common/model/numbering-lists/numbering-list-id-provider.ts

class ListIdProviderBase {
    constructor(documentModel) {
        this.documentModel = documentModel;
        this.lastId = 0;
    }
    getMap() {
        if (!this.map) {
            this.map = {};
            for (var i = 0, list; list = this.getLists()[i]; i++)
                this.map[list.innerId] = true;
        }
        return this.map;
    }
    getNextId() {
        const map = this.getMap();
        do {
            this.lastId++;
        } while (map[this.lastId]);
        map[this.lastId] = true;
        return this.lastId;
    }
}
class NumberingListIdProvider extends ListIdProviderBase {
    getLists() {
        return this.documentModel.numberingLists;
    }
    clone(model) {
        const result = new NumberingListIdProvider(model);
        result.map = number/* NumberMapUtils */.j.shallowCopy(this.map);
        return result;
    }
}
class AbstractNumberingListIdProvider extends ListIdProviderBase {
    getLists() {
        return this.documentModel.abstractNumberingLists;
    }
    clone(model) {
        const result = new AbstractNumberingListIdProvider(model);
        result.map = number/* NumberMapUtils */.j.shallowCopy(this.map);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/options/document-protection.ts
var document_protection = __webpack_require__(825);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
// EXTERNAL MODULE: ./src/common/model/protection/password-hash-code-calculator.ts + 6 modules
var password_hash_code_calculator = __webpack_require__(281);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/runs/simple-runs.ts
var simple_runs = __webpack_require__(4330);
// EXTERNAL MODULE: ./src/common/model/styles-manager.ts + 1 modules
var styles_manager = __webpack_require__(396);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/sub-document-infos.ts
var sub_document_infos = __webpack_require__(1986);
;// CONCATENATED MODULE: ./src/common/model/web-settings.ts
class WebSettings {
    constructor() {
        this.leftMargin = 0;
        this.topMargin = 0;
        this.rightMargin = 0;
        this.bottomMargin = 0;
        this.id = 1;
    }
    isBodyMarginsSet() {
        return this.leftMargin != 0 || this.topMargin != 0 || this.rightMargin != 0 || this.bottomMargin != 0;
    }
    clone() {
        const result = new WebSettings();
        result.leftMargin = this.leftMargin;
        result.topMargin = this.topMargin;
        result.rightMargin = this.rightMargin;
        result.bottomMargin = this.bottomMargin;
        result.id = this.id;
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/model-checks/check-all.ts + 1 modules
var check_all = __webpack_require__(5770);
// EXTERNAL MODULE: ./src/common/model/section/enums.ts
var section_enums = __webpack_require__(8311);
// EXTERNAL MODULE: ./src/common/utils/hexadecimal-converter.ts
var hexadecimal_converter = __webpack_require__(4622);
// EXTERNAL MODULE: ./src/common/formats/utils/extension-helper.ts
var extension_helper = __webpack_require__(992);
// EXTERNAL MODULE: ./src/common/document-format.ts
var document_format = __webpack_require__(5187);
;// CONCATENATED MODULE: ./src/common/model/model-checks/comparer.ts









class ModelComparer {
    constructor(model, target, format = null) {
        this.results = [];
        this.pictureSizeAccuracy = 6;
        this.nextRowMark = `
    `;
        this.source = model;
        this.target = target;
        this.format = format;
    }
    compareAll() {
        this.compare([
            this.compareSubDocuments
        ]);
        return !this.results.length;
    }
    compare(comparers) {
        for (let comparer of comparers) {
            const result = comparer.call(this);
            if (result != check_all/* ModelCheckerResult */.x.None && result !== null) {
                this.results.push(result);
                console.log(this.consoleErrorMessage);
                break;
            }
        }
    }
    compareSubDocuments() {
        this.consoleErrorMessage = 'fail comparing into' + this.nextRowMark;
        let result = this.compareSubDocumentsCore(this.source.mainSubDocument, this.target.mainSubDocument);
        if (result)
            return result;
        result = list.ListUtils.unsafeAnyOf(this.source.sections, (section, index) => {
            return this.compareSection(section, this.target.sections[index]);
        });
        if (result)
            return result;
        return check_all/* ModelCheckerResult */.x.None;
    }
    compareSection(source, target) {
        let result = this.compareHeadersFooters(source.headers, target.headers);
        if (!result)
            result = this.compareHeadersFooters(source.footers, target.footers);
        return result;
    }
    compareHeadersFooters(source, target) {
        let result = this.compareHeaderFooter(source, target, section_enums/* HeaderFooterType */.pi.Even);
        if (!result)
            result = this.compareHeaderFooter(source, target, section_enums/* HeaderFooterType */.pi.Odd);
        if (!result)
            result = this.compareHeaderFooter(source, target, section_enums/* HeaderFooterType */.pi.First);
        return result;
    }
    compareHeaderFooter(source, target, type) {
        let sourceObj = source.getObject(type);
        let targetObj = target.getObject(type);
        if (!sourceObj && !targetObj)
            return check_all/* ModelCheckerResult */.x.None;
        if (!sourceObj || !targetObj)
            return check_all/* ModelCheckerResult */.x.Section;
        return this.compareSubDocumentsCore(sourceObj.getSubDocument(this.source), targetObj.getSubDocument(this.target));
    }
    compareSubDocumentsCore(source, target) {
        this.consoleErrorMessage += 'SubDoc id = ' + source.id + ' is header: ' + source.isHeader() + ' is footer: ' + source.isFooter() + this.nextRowMark;
        if (!source || !target)
            return check_all/* ModelCheckerResult */.x.SubDocument;
        if (source.chunks.length != target.chunks.length)
            return check_all/* ModelCheckerResult */.x.SubDocument;
        let result = this.compareRangePermissions(source.rangePermissions, target.rangePermissions);
        if (result != check_all/* ModelCheckerResult */.x.None)
            return result;
        return list.ListUtils.unsafeAnyOf(source.chunks, (sourceChunk, index) => {
            this.consoleErrorMessage += 'chunk index = ' + index + this.nextRowMark;
            return this.compareChunks(sourceChunk, target.chunks[index]);
        });
    }
    compareRangePermissions(source, target) {
        if (source.length != target.length)
            return check_all/* ModelCheckerResult */.x.RangePermission;
        return list.ListUtils.anyOf(source, (sourcePermission, index) => !sourcePermission.equals(target[index])) ? check_all/* ModelCheckerResult */.x.RangePermission : check_all/* ModelCheckerResult */.x.None;
    }
    countNotLoadedPicture(sourceRuns) {
        const result = list.ListUtils.reducedMap(sourceRuns, (run) => {
            return this.runShouldBeLostOnExport(run) ? run : null;
        });
        return result.length;
    }
    runShouldBeLostOnExport(run) {
        const runType = run.getType();
        if (runType == run_type/* RunType */.m.InlinePictureRun)
            return !run.info.cacheInfo.isLoaded;
        else if (runType == run_type/* RunType */.m.AnchoredPictureRun)
            return !run.info.cacheInfo.isLoaded;
        return false;
    }
    isASCII(code) {
        return code >= 0 && code <= 127;
    }
    compareChunks(sourceChunk, targetChunk) {
        this.consoleErrorMessage += 'chunk length = ' + sourceChunk.textRuns.length + this.nextRowMark;
        const hasLostedRuns = sourceChunk.textRuns.length != targetChunk.textRuns.length;
        if (hasLostedRuns && sourceChunk.textRuns.length - this.countNotLoadedPicture(sourceChunk.textRuns) != targetChunk.textRuns.length) {
            if (this.format != document_format/* DocumentFormat */.rT.Rtf || sourceChunk.textBuffer != targetChunk.textBuffer)
                return check_all/* ModelCheckerResult */.x.Chunk;
            return check_all/* ModelCheckerResult */.x.None;
        }
        let skippedRunCount = 0;
        let skippedOffset = 0;
        let splitedRunCount = 0;
        return list.ListUtils.unsafeAnyOf(sourceChunk.textRuns, (sourceRun, index) => {
            const targetIndex = index - skippedRunCount + splitedRunCount;
            const targetRun = targetChunk.textRuns[targetIndex];
            const problemRun = sourceRun.getType() != targetRun.getType() || sourceRun.startOffset - skippedOffset != targetRun.startOffset ||
                sourceRun.getLength() != targetRun.getLength();
            this.consoleErrorMessage += 'source run index = ' + index + ' target run index = ' + targetIndex + this.nextRowMark;
            if (problemRun && hasLostedRuns) {
                if (this.runShouldBeLostOnExport(sourceRun)) {
                    skippedRunCount++;
                    skippedOffset += sourceRun.getLength();
                    return check_all/* ModelCheckerResult */.x.None;
                }
                let separatorsCount = 0;
                const runType = sourceRun.getType();
                if (runType == run_type/* RunType */.m.TextRun) {
                    const text = sourceChunk.getRunText(sourceRun);
                    const length = sourceRun.getLength();
                    let hasNonASCIICharacters = false;
                    for (let i = 0; i < length; i++) {
                        if (!this.isASCII(text.charCodeAt(i))) {
                            hasNonASCIICharacters = true;
                            separatorsCount++;
                        }
                    }
                    if (hasNonASCIICharacters) {
                        if (text.length == separatorsCount)
                            separatorsCount--;
                        if (this.isASCII(text.charCodeAt(0)) && this.isASCII(text.charCodeAt(text.length - 1)))
                            separatorsCount++;
                        splitedRunCount += separatorsCount;
                        return check_all/* ModelCheckerResult */.x.None;
                    }
                }
                return check_all/* ModelCheckerResult */.x.Run;
            }
            return this.compareRuns(sourceRun, targetRun, sourceChunk, targetChunk, skippedOffset);
        });
    }
    compareRuns(sourceRun, targetRun, sourceChunk, targetChunk, skippedOffset) {
        if (sourceRun.getType() != targetRun.getType() || sourceRun.startOffset - skippedOffset != targetRun.startOffset ||
            sourceRun.getLength() != targetRun.getLength() || sourceChunk.getRunText(sourceRun) != targetChunk.getRunText(targetRun) ||
            !this.compareCharacterPropertiesBundle(sourceRun.getCharPropsBundle(this.source), targetRun.getCharPropsBundle(this.target))) {
            this.consoleErrorMessage += 'main run properties comparing failed ' + this.nextRowMark;
            return check_all/* ModelCheckerResult */.x.Run;
        }
        switch (sourceRun.getType()) {
            case run_type/* RunType */.m.TextRun:
            case run_type/* RunType */.m.ParagraphRun:
                return check_all/* ModelCheckerResult */.x.None;
            case run_type/* RunType */.m.InlinePictureRun:
                return this.compareInlinePictureRuns(sourceRun, targetRun);
            case run_type/* RunType */.m.AnchoredPictureRun:
                return this.compareAnchoredPictureRuns(sourceRun, targetRun);
            case run_type/* RunType */.m.AnchoredTextBoxRun:
                return this.compareAnchoredTextBoxRuns(sourceRun, targetRun);
            default: return check_all/* ModelCheckerResult */.x.None;
        }
    }
    compareCharacterPropertiesBundle(sourceProps, targetProps) {
        return this.compareStyles(sourceProps.style, targetProps.style);
    }
    compareStyles(sourceSize, targetSize) {
        if (!sourceSize || !targetSize)
            return !sourceSize && !targetSize;
        return sourceSize.styleName == targetSize.styleName && sourceSize.deleted == targetSize.deleted &&
            this.compareStyles(sourceSize.parent, targetSize.parent);
    }
    compareInlinePictureRuns(sourceRun, targetRun) {
        const result = this.comparePictureSize(sourceRun.size, targetRun.size) && this.compareShape(sourceRun.info.shape, targetRun.info.shape) &&
            this.compareNonVisualDrawingObjectInfo(sourceRun.info.containerProperties, targetRun.info.containerProperties);
        this.consoleErrorMessage += 'InlinePicture run properties comparing failed ' + this.nextRowMark;
        return result ? check_all/* ModelCheckerResult */.x.None : check_all/* ModelCheckerResult */.x.Run;
    }
    compareAnchoredPictureRuns(sourceRun, targetRun) {
        const result = this.comparePictureSize(sourceRun.size, targetRun.size) && this.compareShape(sourceRun.info.shape, targetRun.info.shape) &&
            this.compareNonVisualDrawingObjectInfo(sourceRun.info.containerProperties, targetRun.info.containerProperties) &&
            this.compareAnchorInfo(sourceRun.info.anchorInfo, targetRun.info.anchorInfo);
        this.consoleErrorMessage += 'AnchoredPictureRun run properties comparing failed ' + this.nextRowMark;
        return result ? check_all/* ModelCheckerResult */.x.None : check_all/* ModelCheckerResult */.x.Run;
    }
    compareAnchoredTextBoxRuns(sourceRun, targetRun) {
        const result = this.compareTextBoxSize(sourceRun.size, targetRun.size) && this.compareShape(sourceRun.shape, targetRun.shape) &&
            this.compareAnchorInfo(sourceRun.anchorInfo, targetRun.anchorInfo) &&
            this.compareTextBoxProperties(sourceRun.textBoxProperties, targetRun.textBoxProperties);
        this.consoleErrorMessage += 'AnchoredTextBoxRun run properties comparing failed ' + this.nextRowMark;
        return result ? check_all/* ModelCheckerResult */.x.None : check_all/* ModelCheckerResult */.x.Run;
    }
    compareTextBoxProperties(source, target) {
        return source.resizeShapeToFitText == target.resizeShapeToFitText &&
            source.upright == target.upright &&
            source.verticalAlignment == target.verticalAlignment &&
            source.wrapText == target.wrapText &&
            source.leftMargin == target.leftMargin &&
            source.rightMargin == target.rightMargin &&
            source.topMargin == target.topMargin &&
            source.bottomMargin == target.bottomMargin;
    }
    compareAnchorInfo(source, target) {
        return source.equals(target);
    }
    compareTextBoxSize(source, target) {
        return source.useAbsoluteHeight() ? true : source.relativeHeightType == target.relativeHeightType &&
            source.useAbsoluteWidth() ? true : source.relativeWidthType == target.relativeWidthType && source.lockAspectRatio == target.lockAspectRatio && source.rotation == target.rotation &&
            this.compareSize(source.relativeSize, target.relativeSize) && this.compareSize(source.absoluteSize, target.absoluteSize);
    }
    comparePictureSize(source, target) {
        return this.compareSizeBasedOnScale(source.actualSize, target.actualSize, source.scale) && source.lockAspectRatio == target.lockAspectRatio &&
            this.compareSize(source.originalSize, target.originalSize) && this.compareSize(source.scale, target.scale) &&
            source.rotation == target.rotation && this.compareCacheInfo(source.cacheInfo, target.cacheInfo);
    }
    compareSizeBasedOnScale(sourceSize, targetSize, sourceScale) {
        const accuracyX = Math.floor(sourceScale.width / 100) + this.pictureSizeAccuracy;
        const accuracyY = Math.floor(sourceScale.height / 100) + this.pictureSizeAccuracy;
        return this.compareSize(sourceSize, targetSize, accuracyX, accuracyY);
    }
    compareSize(sourceSize, targetSize, accuracyX, accuracyY) {
        accuracyX !== null && accuracyX !== void 0 ? accuracyX : (accuracyX = this.pictureSizeAccuracy);
        accuracyY !== null && accuracyY !== void 0 ? accuracyY : (accuracyY = this.pictureSizeAccuracy);
        return Math.abs(sourceSize.width - targetSize.width) < accuracyX
            && Math.abs(sourceSize.height - targetSize.height) < accuracyY;
    }
    compareCacheInfo(source, target) {
        return (0,hexadecimal_converter/* base64ToHex */.XB)(extension_helper/* ExtensionHelper */.M.getBase64DataWithoutPrefix(source.base64)) ===
            (0,hexadecimal_converter/* base64ToHex */.XB)(extension_helper/* ExtensionHelper */.M.getBase64DataWithoutPrefix(target.base64)) && this.compareSize(source.size, target.size);
    }
    compareShape(source, target) {
        const fillColorEquals = utils_color/* ColorUtils */.i.colorToHash(source.fillColor) == utils_color/* ColorUtils */.i.colorToHash(target.fillColor) ||
            dx_color/* DXColor */.F.isTransparentOrEmptyorNoColor(source.fillColor) == dx_color/* DXColor */.F.isTransparentOrEmptyorNoColor(target.fillColor);
        const hasOutlineColor = !dx_color/* DXColor */.F.isTransparentOrEmptyorNoColor(source.outlineColor);
        const outlineEquals = source.outlineWidth > 0 && hasOutlineColor ?
            (utils_color/* ColorUtils */.i.colorToHash(source.outlineColor) == utils_color/* ColorUtils */.i.colorToHash(target.outlineColor) ||
                dx_color/* DXColor */.F.isTransparentOrEmptyorNoColor(source.outlineColor) == dx_color/* DXColor */.F.isTransparentOrEmptyorNoColor(target.outlineColor)) &&
                source.outlineWidth == target.outlineWidth : true;
        return fillColorEquals && outlineEquals;
    }
    compareNonVisualDrawingObjectInfo(source, target) {
        if (this.format && this.format == document_format/* DocumentFormat */.rT.Rtf)
            return source.description == target.description;
        const isAutogeneratedProperties = !source.name && target.name == 'Picture ' + target.id;
        if (isAutogeneratedProperties)
            return true;
        return source.name == target.name && source.title == target.title && source.description == target.description;
    }
}

// EXTERNAL MODULE: ./src/common/model/fields/tree-creator.ts + 12 modules
var tree_creator = __webpack_require__(769);
// EXTERNAL MODULE: ./src/common/model/fields/parsers/field-code-parser-hyperlink.ts
var field_code_parser_hyperlink = __webpack_require__(274);
// EXTERNAL MODULE: ./src/common/model/find-replace-helper.ts
var find_replace_helper = __webpack_require__(6483);
// EXTERNAL MODULE: ./src/common/model/runs/anchored-picture-run.ts
var anchored_picture_run = __webpack_require__(6781);
// EXTERNAL MODULE: ./src/common/model/runs/inline-picture-run.ts
var inline_picture_run = __webpack_require__(2442);
;// CONCATENATED MODULE: ./src/common/model/sub-document-collection.ts

class SubDocumentCollection {
    constructor() {
        this._collection = {};
        this._filteredCollection = null;
    }
    get filteredCollection() {
        var _a;
        return (_a = this._filteredCollection) !== null && _a !== void 0 ? _a : (this._filteredCollection = number/* NumberMapUtils */.j.reducedMap(this._collection, (subDoc, _) => subDoc.isDeleted ? null : subDoc));
    }
    get collection() {
        return this._collection;
    }
    add(subDocument) {
        this._collection[subDocument.id] = subDocument;
        this._filteredCollection = null;
    }
    delete(subDocumentId) {
        this._collection[subDocumentId].isDeleted = true;
        this._filteredCollection = null;
    }
    replace(subDocumentId, replacedWithSubDocId) {
        const subDoc = this._collection[subDocumentId];
        subDoc.isDeleted = true;
        subDoc.replacedWithSubDocId = replacedWithSubDocId;
        this._filteredCollection = null;
    }
    restore(subDocumentId) {
        this._collection[subDocumentId].isDeleted = false;
        this._filteredCollection = null;
    }
    clone(model) {
        const newCollection = new SubDocumentCollection();
        for (const key in this._collection) {
            if (Object.prototype.hasOwnProperty.call(this._collection, key)) {
                const subDocument = this._collection[key];
                newCollection.add(subDocument.clone(model));
            }
        }
        return newCollection;
    }
}

// EXTERNAL MODULE: ./src/common/model/footnotes/footnote.ts
var footnote = __webpack_require__(3373);
;// CONCATENATED MODULE: ./src/common/model/document-model.ts





































class DocumentModel {
    get subDocuments() {
        return this.subDocumentsCollection.filteredCollection;
    }
    get options() { return this.modelOptions.control; }
    ;
    get isDocumentProtectionEnabled() {
        const properties = this.documentProtectionProperties;
        return this.aspxIsDocumentProtectionEnabled ||
            (properties.enforceProtection && properties.protectionType != json_document_enums/* DocumentProtectionType */.vK.None);
    }
    constructor(modelOptions, subDocumentsIdCounter = 1) {
        this.mirrorMargins = false;
        this.aspxIsDocumentProtectionEnabled = false;
        this.documentEndNotePosition = footnote/* NotePosition */.Hh.EndOfDocument;
        this.sections = [];
        this.headers = [];
        this.footers = [];
        this.characterStyles = [];
        this.paragraphStyles = [];
        this.numberingListStyles = [];
        this.tableStyles = [];
        this.tableCellStyles = [];
        this.subDocumentsCollection = new SubDocumentCollection();
        this.abstractNumberingListTemplates = [];
        this.abstractNumberingLists = [];
        this.numberingLists = [];
        this.abstractNumberingListsIdProvider = new AbstractNumberingListIdProvider(this);
        this.numberingListsIdProvider = new NumberingListIdProvider(this);
        this.footNoteSeparators = new footnote/* NoteSeparators */.$j(this);
        this.endNoteSeparators = new footnote/* NoteSeparators */.$j(this);
        this.repositoryBorderItem = new border_info/* BorderInfo */.H();
        this.compatSettings = [];
        this.subDocumentsIdCounter = -1;
        this.loaded = false;
        this.documentProtectionProperties = new document_protection/* DocumentProtectionProperties */.ZN();
        this.modelOptions = modelOptions;
        this.simpleFormattersManager = new manager/* SimpleFormattersManager */.$(modelOptions.cultureOpts);
        this.cache = new caches/* DocumentCache */.K();
        this.mainSubDocument = this.importSubDocument(sub_document_infos/* SubDocumentInfoBase */.NX.create(model_enums/* SubDocumentInfoType */.F.Main, sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID, -1));
        this.stylesManager = new styles_manager/* StylesManager */.D(this);
        this.subDocumentsIdCounter = subDocumentsIdCounter;
        this.colorProvider = new ColorProvider(this.cache.colorModelInfoCache);
        this.initRepositoryBorderItem();
        this.webSettings = new WebSettings();
        this.compatibilitySettings = new CompatibilitySettings();
        this.docVariables = new DocumentVariables();
    }
    setPageColor(value) {
        this.displayBackgroundShape = true;
        this.pageBackColor = value;
    }
    getAllBookmarks(getHiddenToo) {
        const result = [];
        number/* NumberMapUtils */.j.forEach(this.subDocuments, (subDoc) => {
            if (getHiddenToo)
                list.ListUtils.addListOnTail(result, subDoc.bookmarks);
            else
                list.ListUtils.forEach(subDoc.bookmarks, (bm) => {
                    if (!bm.isHidden())
                        result.push(bm);
                });
        });
        return result;
    }
    getAllImages() {
        const result = [];
        number/* NumberMapUtils */.j.forEach(this.subDocuments, (subDoc) => {
            number/* NumberMapUtils */.j.forEach(subDoc.chunks, (chunk) => {
                number/* NumberMapUtils */.j.forEach(chunk.textRuns, (run) => {
                    if (run instanceof anchored_picture_run/* AnchoredPictureRun */.N || run instanceof inline_picture_run/* InlinePictureRun */.p)
                        result.push(run.cacheInfo);
                });
            });
        });
        return result;
    }
    initRepositoryBorderItem() {
        this.repositoryBorderItem.color = this.colorProvider.getModelColorFromRgba(color/* ColorHelper */.v.AUTOMATIC_COLOR);
        this.repositoryBorderItem.style = enums/* BorderLineStyle */.u.Single;
        this.repositoryBorderItem.width = unit_converter/* UnitConverter */.u.pixelsToTwipsF(1);
    }
    getCharacterStyleByName(name) {
        return this.stylesManager.getCharacterStyleByName(name);
    }
    getParagraphStyleByName(name) {
        return this.stylesManager.getParagraphStyleByName(name);
    }
    getNumberingListStyleByName(name) {
        return this.stylesManager.getNumberingListStyleByName(name);
    }
    getTableStyleByName(name) {
        return this.stylesManager.getTableStyleByName(name);
    }
    getTableCellStyleByName(name) {
        return this.stylesManager.getTableCellStyleByName(name);
    }
    getDefaultCharacterStyle() {
        return this.stylesManager.getDefaultCharacterStyle();
    }
    getDefaultParagraphStyle() {
        return this.stylesManager.getDefaultParagraphStyle();
    }
    getDefaultTableStyle() {
        return this.stylesManager.getDefaultTableStyle();
    }
    getDefaultTableCellStyle() {
        return this.stylesManager.getDefaultTableCellStyle();
    }
    setDefaultCharacterProperties(obj) {
        const serverProps = json_masked_character_properties_converter/* JSONMaskedCharacterPropertiesConverter */.i.convertFromJSON(obj, this.cache.colorModelInfoCache, this.cache.shadingInfoCache, this.cache.fontInfoCache);
        serverProps.setAllUse();
        this.defaultCharacterProperties = this.cache.maskedCharacterPropertiesCache.getItem(serverProps);
    }
    setDefaultParagraphProperties(obj) {
        const serverProps = json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertFromJSON(obj, this.cache.colorModelInfoCache, this.cache.shadingInfoCache);
        serverProps.setUseValue(paragraph_properties/* ParagraphPropertiesMask */.m_.UseAll, true);
        this.defaultParagraphProperties = this.cache.maskedParagraphPropertiesCache.getItem(serverProps);
    }
    getSectionsByInterval(interval) {
        var result = [], section;
        var endPosition = interval.end;
        var sectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.sections, (s) => s.startLogPosition.value, interval.start);
        for (; section = this.sections[sectionIndex]; sectionIndex++) {
            if (section.startLogPosition.value > endPosition)
                break;
            result.push(section);
        }
        return result;
    }
    getSectionIndicesByIntervals(intervals) {
        let result = [];
        for (var i = 0, interval; interval = intervals[i]; i++) {
            let sectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.sections, (s) => s.startLogPosition.value, interval.start);
            let intervalEnd = interval.end;
            result.push(sectionIndex++);
            for (let section; section = this.sections[sectionIndex]; sectionIndex++) {
                if (section.startLogPosition.value < intervalEnd)
                    result.push(sectionIndex);
                else
                    break;
            }
        }
        return list.ListUtils.uniqueNumber(result);
    }
    getSectionByPosition(position) {
        var sectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.sections, (s) => s.startLogPosition.value, position);
        return this.sections[sectionIndex];
    }
    getCurrentLength() {
        var lastChunk = this.mainSubDocument.getLastChunk();
        var lastRun = lastChunk.textRuns[lastChunk.textRuns.length - 1];
        return lastChunk.startLogPosition.value + lastRun.startOffset + lastRun.getLength();
    }
    isLoaded() {
        if (this.loaded)
            return true;
        const lastChunk = this.mainSubDocument.getLastChunk();
        this.loaded = lastChunk ? lastChunk.isLast : false;
        return this.loaded;
    }
    getActualPageBackgroundColor() {
        if (!this.displayBackgroundShape)
            return color/* ColorHelper */.v.NO_COLOR;
        return this.pageBackColor;
    }
    getNumberingListIndexById(id) {
        for (var i = 0, numberingList; numberingList = this.numberingLists[i]; i++) {
            if (numberingList.getId() === id)
                return i;
        }
        return -1;
    }
    getAbstractNumberingListIndexById(id) {
        for (var i = 0, abstractNumberingList; abstractNumberingList = this.abstractNumberingLists[i]; i++) {
            if (abstractNumberingList.getId() === id)
                return i;
        }
        return -1;
    }
    getRangeListCounters(paragraph) {
        var calculator = new numbering_list_counters_calculator/* NumberingListCountersCalculator */.N(paragraph.getAbstractNumberingList());
        return calculator.calculateCounters(paragraph);
    }
    resetMergedFormattingCache(type) {
        this.mainSubDocument.resetMergedFormattingCache(type);
    }
    getPreviousSection(section) {
        var sectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.sections, s => s.startLogPosition.value, section.startLogPosition.value);
        return this.sections[sectionIndex - 1];
    }
    getNextSection(section) {
        var sectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.sections, s => s.startLogPosition.value, section.startLogPosition.value);
        return this.sections[sectionIndex + 1];
    }
    importSubDocument(info) {
        return this.createSubDocumentInternal(info, true);
    }
    updateHyperlinkFields(processor, interval, newSubDocuments) {
        const subDocIntervals = [
            interval,
            ...newSubDocuments.map(s => new sub_document/* SubDocumentInterval */.v8(s, s.interval))
        ];
        number/* NumberMapUtils */.j.forEach(subDocIntervals, (subDocInterval) => {
            for (let field of subDocInterval.subDocument.fields) {
                if (subDocInterval.interval.containsInterval(field.getAllFieldInterval())) {
                    const fieldParser = tree_creator/* FieldsWaitingForUpdate */.Nn.getParser(processor.modelManager, processor.layoutFormatterManager, processor.createFieldRequestManager(), subDocInterval.subDocument, field);
                    if (fieldParser instanceof field_code_parser_hyperlink/* FieldCodeParserHyperlink */.R && !field.getHyperlinkInfo()) {
                        fieldParser.parseCodeCurrentFieldInternal(null);
                    }
                }
            }
        });
    }
    createSubDocument(subDocumentInfoType, parentSubDocumentId, disableInit = false) {
        const id = this.subDocumentsIdCounter++;
        const info = sub_document_infos/* SubDocumentInfoBase */.NX.create(subDocumentInfoType, id, parentSubDocumentId);
        if (info.getType() !== subDocumentInfoType)
            throw new Error("SubDocument.type doesn't equal to info.type");
        return this.createSubDocumentInternal(info, disableInit);
    }
    createSubDocumentInternal(info, disableInit) {
        if (this.subDocuments[info.subDocumentId])
            throw new Error("SubDocument with this ID already exists");
        const subDocument = new sub_document/* SubDocument */.jP(this, info);
        if (!disableInit)
            this.initNewSubDocument(subDocument);
        this.subDocumentsCollection.add(subDocument);
        return subDocument;
    }
    initNewSubDocument(subDocument) {
        subDocument.chunks = [new chunk/* Chunk */.z(subDocument.positionManager.registerPosition(0), "", true)];
        subDocument.paragraphs.push(new paragraph/* Paragraph */.nv(subDocument, subDocument.positionManager.registerPosition(0), 1, this.getDefaultParagraphStyle(), paragraph_properties/* MaskedParagraphProperties */.bq.createDefault(this)));
        subDocument.chunks[0].textRuns.push(new simple_runs/* ParagraphRun */.uu(0, subDocument.paragraphs[0], new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(character_properties/* MaskedCharacterProperties */.X.createDefault(this), this.getDefaultCharacterStyle())));
        subDocument.chunks[0].textBuffer = rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark;
    }
    checkPasswordHash(hash, expectedHash) {
        if (expectedHash == null || expectedHash.length <= 0)
            return true;
        return password_hash_code_calculator/* PasswordHashCodeCalculator */.e.compareByteArrays(hash, expectedHash);
    }
    checkLegacyDocumentProtectionPassword(calculator, password) {
        const hash = calculator.calculateLegacyPasswordHash(password);
        return this.checkPasswordHash(hash, this.documentProtectionProperties.word2003PasswordHash);
    }
    checkOpenXmlDocumentProtectionPassword(calculator, password) {
        const hash = calculator.calculatePasswordHash(password, this.documentProtectionProperties.passwordPrefix, this.documentProtectionProperties.hashIterationCount, this.documentProtectionProperties.hashAlgorithmType);
        return this.checkPasswordHash(hash, this.documentProtectionProperties.passwordHash);
    }
    checkDocumentProtectionPassword(password) {
        const calculator = new password_hash_code_calculator/* PasswordHashCodeCalculator */.e();
        if (this.documentProtectionProperties.passwordPrefix && this.documentProtectionProperties.passwordHash)
            return this.checkOpenXmlDocumentProtectionPassword(calculator, password);
        this.checkLegacyDocumentProtectionPassword(calculator, password);
    }
    findAll(searchSettings) {
        const foundIntervals = [];
        const findReplaceHelper = new find_replace_helper/* FindReplaceHelper */.zh(searchSettings.modelManager, searchSettings.formatterManager, searchSettings.pageIndex, searchSettings.subDocument, searchSettings.layout, searchSettings.storeSelection);
        findReplaceHelper.setSearchParams(searchSettings.text, null, find_replace_helper/* SearchDirection */.id.All, searchSettings.matchCase, false, 0, false);
        while (findReplaceHelper.findNext() !== find_replace_helper/* FindReplaceState */.Po.SearchEnd) {
            const lastFound = findReplaceHelper.getLastFound();
            foundIntervals.push(lastFound);
        }
        return foundIntervals;
    }
    clone() {
        const model = new DocumentModel(this.modelOptions, this.subDocumentsIdCounter);
        model.modelOptions = this.modelOptions.clone();
        model.defaultTabWidth = this.defaultTabWidth;
        model.differentOddAndEvenPages = this.differentOddAndEvenPages;
        model.displayBackgroundShape = this.displayBackgroundShape;
        model.pageBackColor = this.pageBackColor;
        model.aspxIsDocumentProtectionEnabled = this.aspxIsDocumentProtectionEnabled;
        model.webSettings = this.webSettings.clone();
        model.compatSettings = list.ListUtils.deepCopy(this.compatSettings);
        model.compatibilitySettings = this.compatibilitySettings.clone();
        model.cache = this.cache.clone();
        model.defaultCharacterProperties = this.defaultCharacterProperties.clone();
        model.defaultParagraphProperties = this.defaultParagraphProperties.clone();
        model.defaultTableProperties = this.defaultTableProperties.clone();
        model.defaultTableRowProperties = this.defaultTableRowProperties.clone();
        model.defaultTableCellProperties = this.defaultTableCellProperties.clone();
        model.stylesManager = this.stylesManager.clone(model);
        model.characterStyles = list.ListUtils.deepCopy(this.characterStyles);
        model.paragraphStyles = list.ListUtils.deepCopy(this.paragraphStyles);
        model.numberingListStyles = list.ListUtils.deepCopy(this.numberingListStyles);
        model.tableStyles = list.ListUtils.deepCopy(this.tableStyles);
        model.tableCellStyles = list.ListUtils.deepCopy(this.tableCellStyles);
        model.headers = list.ListUtils.deepCopy(this.headers);
        model.footers = list.ListUtils.deepCopy(this.footers);
        model.sections = list.ListUtils.map(this.sections, s => s.cloneToNewModel(model));
        model.abstractNumberingListTemplates = list.ListUtils.map(this.abstractNumberingListTemplates, list => list.clone(model));
        model.abstractNumberingLists = list.ListUtils.map(this.abstractNumberingLists, list => list.clone(model));
        model.numberingLists = list.ListUtils.map(this.numberingLists, list => list.clone(model));
        model.abstractNumberingListsIdProvider = this.abstractNumberingListsIdProvider.clone(model);
        model.numberingListsIdProvider = this.numberingListsIdProvider.clone(model);
        model.repositoryBorderItem = this.repositoryBorderItem.clone();
        model.colorProvider = this.colorProvider.clone(model.cache.colorModelInfoCache);
        model.simpleFormattersManager = new manager/* SimpleFormattersManager */.$(model.modelOptions.cultureOpts);
        model.documentProtectionProperties = this.documentProtectionProperties.clone();
        model.subDocumentsIdCounter = this.subDocumentsIdCounter;
        model.subDocumentsCollection = this.subDocumentsCollection.clone(model);
        model.mainSubDocument = model.subDocuments[sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID];
        model.loaded = this.loaded;
        return model;
    }
    compare(source, format = null) {
        return new ModelComparer(this, source, format).compareAll();
    }
}
class SearchSettings {
    constructor(modelManager, formatterManager, layout, subDocument, text, matchCase, highlightResults, pageIndex, storeSelection) {
        this.modelManager = modelManager;
        this.formatterManager = formatterManager;
        this.layout = layout;
        this.subDocument = subDocument;
        this.text = text;
        this.matchCase = matchCase;
        this.highlightResults = highlightResults;
        this.pageIndex = pageIndex;
        this.storeSelection = storeSelection;
    }
}
var ResetFormattingCacheType;
(function (ResetFormattingCacheType) {
    ResetFormattingCacheType[ResetFormattingCacheType["Character"] = 1] = "Character";
    ResetFormattingCacheType[ResetFormattingCacheType["Paragraph"] = 2] = "Paragraph";
    ResetFormattingCacheType[ResetFormattingCacheType["All"] = 2147483647] = "All";
})(ResetFormattingCacheType || (ResetFormattingCacheType = {}));
var CompatibilityMode;
(function (CompatibilityMode) {
    CompatibilityMode[CompatibilityMode["Word2003"] = 11] = "Word2003";
    CompatibilityMode[CompatibilityMode["Word2007"] = 12] = "Word2007";
    CompatibilityMode[CompatibilityMode["Word2010"] = 14] = "Word2010";
    CompatibilityMode[CompatibilityMode["Word2013"] = 15] = "Word2013";
})(CompatibilityMode || (CompatibilityMode = {}));
class CompatibilitySettings {
    constructor() {
        this.dontJustifyLinesEndingInSoftLineBreak = false;
        this.compatibilityMode = CompatibilityMode.Word2013;
    }
    get allowParagraphSpacingAfterPageBreak() {
        return this.compatibilityMode <= CompatibilityMode.Word2010;
    }
    get layoutInTableCell() {
        return this.compatibilityMode >= CompatibilityMode.Word2013;
    }
    get matchHorizontalTableIndentsToTextEdge() {
        return this.compatibilityMode >= CompatibilityMode.Word2013;
    }
    getActualLayoutInTableCell(anchorInfo) {
        if (this.layoutInTableCell)
            return true;
        return anchorInfo.layoutTableCell;
    }
    clone() {
        const result = new CompatibilitySettings();
        result.dontJustifyLinesEndingInSoftLineBreak = this.dontJustifyLinesEndingInSoftLineBreak;
        result.compatibilityMode = this.compatibilityMode;
        return result;
    }
}
class DocumentVariables {
    constructor() {
        this._map = {};
    }
    get count() {
        return Object.keys(this._map).length;
    }
    contains(name) {
        return Object.prototype.hasOwnProperty.call(this._map, name.toLowerCase());
    }
    getValue(name) {
        return this._map[name.toLowerCase()];
    }
    addValue(name, value) {
        this._map[name.toLowerCase()] = value;
    }
    foreach(callback) {
        for (let name in this._map)
            callback(name, this._map[name]);
    }
}


/***/ }),

/***/ 893:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: function() { return /* binding */ DrawingColorModelInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8679);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49);
/* harmony import */ var _color_color_hsl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6291);
/* harmony import */ var _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3050);
/* harmony import */ var _color_dx_color__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1445);
/* harmony import */ var _color_enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3371);
/* harmony import */ var _color_sc_rgbcolor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(164);
/* harmony import */ var _themes_enums__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7088);









class DrawingColorModelInfo {
    constructor() {
        this.restoreDefaultValues();
    }
    calculateHash() {
        let hash = _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[10] * this._colorType;
        switch (this._colorType) {
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Hsl:
                hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[0] * this._hsl.calculateHash();
                break;
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Preset:
                hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[1] * _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.stringHashCode(this._preset);
                break;
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Rgb:
                hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[2] * this._rgb;
                break;
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Scheme:
                hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[3] * this._schemeColor;
                break;
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.ScRgb:
                hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[4] * this._scRgb.calculateHash();
                break;
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.System:
                hash ^= _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[5] * this._systemColor;
                break;
        }
        return hash;
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    setColorType(colorType) {
        this.restoreDefaultValues();
        this._colorType = colorType;
    }
    get colorType() { return this._colorType; }
    get rgb() {
        return this._rgb;
    }
    set rgb(value) {
        if (this._colorType != _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Rgb)
            this.setColorType(_color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Rgb);
        if (this._rgb != value)
            this._rgb = value;
    }
    get systemColor() {
        return this._systemColor;
    }
    set systemColor(value) {
        if (this._colorType != _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.System)
            this.setColorType(_color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.System);
        if (this._systemColor != value)
            this._systemColor = value;
    }
    get schemeColor() {
        return this._schemeColor;
    }
    set schemeColor(value) {
        if (this._colorType != _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Scheme)
            this.setColorType(_color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Scheme);
        if (this._schemeColor != value)
            this._schemeColor = value;
    }
    get hsl() {
        return this._hsl;
    }
    set hsl(value) {
        if (this._colorType != _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Hsl)
            this.setColorType(_color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Hsl);
        if (!this._hsl.equals(value))
            this._hsl = value;
    }
    get preset() {
        return this._preset;
    }
    set preset(value) {
        if (this._colorType != _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Preset)
            this.setColorType(_color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Preset);
        if (this._preset != value && !_devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.isNullOrEmpty(value))
            this._preset = value;
    }
    get scRgb() {
        return this._scRgb;
    }
    set scRgb(value) {
        if (this._colorType != _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.ScRgb)
            this.setColorType(_color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.ScRgb);
        if (!this._scRgb.equals(value))
            this._scRgb = value;
    }
    get isEmpty() {
        return _color_dx_color__WEBPACK_IMPORTED_MODULE_5__/* .DXColor */ .F.isTransparentOrEmpty(this._rgb) && this._colorType == _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Rgb;
    }
    static createRGB(rgb) {
        const result = new DrawingColorModelInfo();
        result.rgb = _color_dx_color__WEBPACK_IMPORTED_MODULE_5__/* .DXColor */ .F.fromArgb(255, rgb);
        return result;
    }
    static createARGB(argb) {
        var result = new DrawingColorModelInfo();
        result.rgb = argb;
        return result;
    }
    static createSystem(systemColor) {
        var result = new DrawingColorModelInfo();
        result.systemColor = systemColor;
        return result;
    }
    static createScheme(schemeColor) {
        var result = new DrawingColorModelInfo();
        result.schemeColor = schemeColor;
        return result;
    }
    static createPreset(preset) {
        var result = new DrawingColorModelInfo();
        result.preset = preset;
        return result;
    }
    static createScRgb(scColor) {
        var result = new DrawingColorModelInfo();
        result.scRgb = scColor;
        return result;
    }
    static createHSL(hsl) {
        var result = new DrawingColorModelInfo();
        result.hsl = hsl;
        return result;
    }
    static sRgbToRgb(hexColor) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromHashString(hexColor);
    }
    toRgb(colorProvider, styleColor = _color_dx_color__WEBPACK_IMPORTED_MODULE_5__/* .DXColor */ .F.empty) {
        switch (this._colorType) {
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.System:
                return this.getRgbFromSystemColor();
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Scheme:
                return this.getRgbFromSchemeColor(colorProvider, styleColor);
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Hsl:
                return this._hsl.toRgb();
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.Preset:
                return this.getRgbFromPreset();
            case _color_enums__WEBPACK_IMPORTED_MODULE_6__/* .DrawingColorType */ .T1.ScRgb:
                return this._scRgb.toRgb();
            default:
                return this._rgb;
        }
    }
    getRgbFromPreset() {
        var _a;
        return (_a = _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.fromColorName(this._preset)) !== null && _a !== void 0 ? _a : _color_dx_color__WEBPACK_IMPORTED_MODULE_5__/* .DXColor */ .F.empty;
    }
    getRgbFromSystemColor() {
        return this._systemColor == _themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.Empty ? _color_dx_color__WEBPACK_IMPORTED_MODULE_5__/* .DXColor */ .F.empty : DrawingColorModelInfo.systemColorTable[this._systemColor];
    }
    getRgbFromSchemeColor(colorProvider, styleColor) {
        if (this._schemeColor == _themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SchemeColorValues */ .jH.Style)
            return styleColor;
        return this._schemeColor == _themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SchemeColorValues */ .jH.Empty ? _color_dx_color__WEBPACK_IMPORTED_MODULE_5__/* .DXColor */ .F.empty : colorProvider.officeTheme.colors.getColorBySchemeColorValues(colorProvider, this._schemeColor);
    }
    restoreDefaultValues() {
        this._rgb = _color_dx_color__WEBPACK_IMPORTED_MODULE_5__/* .DXColor */ .F.empty;
        this._schemeColor = _themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SchemeColorValues */ .jH.Empty;
        this._systemColor = _themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.Empty;
        this._preset = "";
        this._scRgb = _color_sc_rgbcolor__WEBPACK_IMPORTED_MODULE_7__/* .ScRGBColor */ .Q.defaultValue;
        this._hsl = _color_color_hsl__WEBPACK_IMPORTED_MODULE_3__/* .ColorHSL */ .H.defaultValue;
    }
    clone() {
        var result = new DrawingColorModelInfo();
        result.copyFrom(this);
        return result;
    }
    copyFrom(value) {
        this._colorType = value._colorType;
        this._rgb = value._rgb;
        this._schemeColor = value._schemeColor;
        this._systemColor = value._systemColor;
        this._preset = value._preset;
        this._scRgb = value._scRgb;
        this._hsl = value._hsl;
    }
    equals(obj) {
        return obj &&
            this._colorType == obj._colorType &&
            this._rgb == obj._rgb &&
            this._schemeColor == obj._schemeColor &&
            this._systemColor == obj._systemColor &&
            this._preset == obj._preset &&
            this._scRgb.equals(obj._scRgb) &&
            this._hsl.equals(obj._hsl);
    }
}
DrawingColorModelInfo.empty = new DrawingColorModelInfo();
DrawingColorModelInfo.systemColorTable = {
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.Sc3dDkShadow]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.controlDarkDark,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.Sc3dLight]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.controlLightLight,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScActiveBorder]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.activeBorder,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScActiveCaption]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.activeCaption,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScAppWorkspace]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.appWorkspace,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScBackground]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.desktop,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScBtnFace]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.control,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScBtnHighlight]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.controlLight,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScBtnShadow]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.controlDark,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScBtnText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.controlText,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScCaptionText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.activeCaptionText,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScGradientActiveCaption]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.gradientActiveCaption,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScGradientInactiveCaption]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.gradientInactiveCaption,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScGrayText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.grayText,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScHighlight]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.highlight,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScHighlightText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.highlightText,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScHotLight]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.hotTrack,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScInactiveBorder]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.inactiveBorder,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScInactiveCaption]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.inactiveCaption,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScInactiveCaptionText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.inactiveCaptionText,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScInfoBk]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.info,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScInfoText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.infoText,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScMenu]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.menu,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScMenuBar]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.menuBar,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScMenuHighlight]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.menuHighlight,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScMenuText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.menuText,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScScrollBar]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.scrollBar,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScWindow]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.window,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScWindowFrame]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.windowFrame,
    [_themes_enums__WEBPACK_IMPORTED_MODULE_8__/* .SystemColorValues */ .DA.ScWindowText]: _color_d_xsystem_colors__WEBPACK_IMPORTED_MODULE_4__/* .DXSystemColors */ .J.windowText,
};


/***/ }),

/***/ 8522:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  e: function() { return /* binding */ DrawingColor; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/color.js
var utils_color = __webpack_require__(13);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/drawing-color-model-info-cache.ts
var drawing_color_model_info_cache = __webpack_require__(1889);
// EXTERNAL MODULE: ./src/common/model/color/dx-color.ts
var dx_color = __webpack_require__(1445);
// EXTERNAL MODULE: ./src/common/model/color/enums.ts
var enums = __webpack_require__(3371);
// EXTERNAL MODULE: ./src/common/model/drawing/drawing-color-model-info.ts
var drawing_color_model_info = __webpack_require__(893);
// EXTERNAL MODULE: ./src/common/model/drawing/enums.ts
var drawing_enums = __webpack_require__(6612);
// EXTERNAL MODULE: ./src/common/model/drawing/drawing-value-constants.ts
var drawing_value_constants = __webpack_require__(5958);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
;// CONCATENATED MODULE: ./src/common/model/drawing/transform/color-transform-base.ts



class ColorTransformBase {
    applyInverseDefaultGamma(normalRgb) {
        if (normalRgb < 0)
            return 0;
        if (normalRgb <= 0.04045)
            return normalRgb / 12.92;
        if (normalRgb < 1)
            return Math.pow((normalRgb + 0.055) / 1.055, 2.4);
        return 1;
    }
    applyInverseDefaultGammaByColor(color) {
        return dx_color/* DXColor */.F.fromRgb(this.toIntValue(this.applyInverseDefaultGamma(this.toDoubleValue(utils_color/* ColorUtils */.i.getRed(color)))), this.toIntValue(this.applyInverseDefaultGamma(this.toDoubleValue(utils_color/* ColorUtils */.i.getGreen(color)))), this.toIntValue(this.applyInverseDefaultGamma(this.toDoubleValue(utils_color/* ColorUtils */.i.getBlue(color)))));
    }
    applyDefaultGamma(normalRgb) {
        if (normalRgb < 0)
            return 0;
        if (normalRgb <= 0.0031308)
            return normalRgb * 12.92;
        if (normalRgb < 1)
            return 1.055 * Math.pow(normalRgb, 1.0 / 2.4) - 0.055;
        return 1;
    }
    applyDefaultGammaByColor(color) {
        return dx_color/* DXColor */.F.fromRgb(this.toIntValue(this.applyDefaultGamma(this.toDoubleValue(utils_color/* ColorUtils */.i.getRed(color)))), this.toIntValue(this.applyDefaultGamma(this.toDoubleValue(utils_color/* ColorUtils */.i.getGreen(color)))), this.toIntValue(this.applyDefaultGamma(this.toDoubleValue(utils_color/* ColorUtils */.i.getBlue(color)))));
    }
    toDoubleValue(value) {
        return value / 255.0;
    }
    toIntValue(value) {
        return this.getFixRGBValue(Math.round(255 * value));
    }
    getFixRGBValue(rgb) {
        return math.MathUtils.restrictValue(rgb, 0, 255);
    }
}

;// CONCATENATED MODULE: ./src/common/model/drawing/transform/color-transform-value-base.ts



class ColorTransformValueBase extends ColorTransformBase {
    constructor(value) {
        super();
        this.value = value;
    }
    equals(obj) {
        return obj &&
            obj instanceof ColorTransformValueBase &&
            this.value == obj.value;
    }
    getRGBFromValue() {
        const rgb = this.value / drawing_value_constants/* DrawingValueConstants */.F.ThousandthOfPercentage;
        return this.toIntValue(this.applyDefaultGamma(rgb));
    }
    applyRGBOffsetNormalized(normalRgb, offset) {
        return this.getFixRGBNormalValue(normalRgb + offset);
    }
    applyRGBOffset(rgb) {
        var offset = this.value / drawing_value_constants/* DrawingValueConstants */.F.ThousandthOfPercentage;
        return this.toIntValue(this.applyDefaultGamma(this.applyRGBOffsetNormalized(this.applyInverseDefaultGamma(this.toDoubleValue(rgb)), offset)));
    }
    applyRGBModulationNormalized(normalRgb, modulation) {
        return this.getFixRGBNormalValue(normalRgb * modulation);
    }
    applyRGBModulation(rgb) {
        const modulation = this.value / drawing_value_constants/* DrawingValueConstants */.F.ThousandthOfPercentage;
        return this.applyRGBModulationCore(rgb, modulation);
    }
    getFixRGBNormalValue(rgb) {
        return math.MathUtils.restrictValue(rgb, 0, 1);
    }
    applyRGBModulationCore(rgb, modulation) {
        return this.toIntValue(this.applyDefaultGamma(this.applyRGBModulationNormalized(this.applyInverseDefaultGamma(this.toDoubleValue(rgb)), modulation)));
    }
}

;// CONCATENATED MODULE: ./src/common/model/drawing/transform/alpha-color-transform.ts



class AlphaColorTransform extends ColorTransformValueBase {
    static createFromAlpha(alpha) {
        return new AlphaColorTransform(Math.floor(alpha * drawing_value_constants/* DrawingValueConstants */.F.ThousandthOfPercentage / 255.0));
    }
    applyTransform(color) {
        return dx_color/* DXColor */.F.fromArgb(this.toIntValue(this.value / drawing_value_constants/* DrawingValueConstants */.F.ThousandthOfPercentage), color);
    }
    clone() {
        return new AlphaColorTransform(this.value);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
;// CONCATENATED MODULE: ./src/common/model/drawing/transform/color-transform-collection.ts

class ColorTransformCollection {
    constructor(transforms = []) {
        this.transforms = transforms;
    }
    applyTransform(color) {
        for (let transform of this.transforms)
            transform.applyTransform(color);
        return color;
    }
    add(transf) {
        this.transforms.push(transf);
    }
    equals(obj) {
        return obj &&
            list.ListUtils.allOf2(this.transforms, obj.transforms, (a, b) => a.equals(b));
    }
    clear() {
        this.transforms = [];
    }
    clone() {
        return new ColorTransformCollection(list.ListUtils.deepCopy(this.transforms));
    }
}

;// CONCATENATED MODULE: ./src/common/model/drawing/drawing-color.ts








class DrawingColor {
    constructor(color, transforms = new ColorTransformCollection()) {
        this.transforms = transforms;
        this.color = color;
    }
    static createByDrawingColorModel(colorInfo) {
        return new DrawingColor(colorInfo);
    }
    static createByColor(color) {
        const alpha = utils_color/* ColorUtils */.i.getAlpha(color);
        return alpha == 255 ?
            new DrawingColor(drawing_color_model_info/* DrawingColorModelInfo */.a.createARGB(color)) :
            new DrawingColor(drawing_color_model_info/* DrawingColorModelInfo */.a.createRGB(color), new ColorTransformCollection([AlphaColorTransform.createFromAlpha(alpha)]));
    }
    get isEmpty() { return this.transforms.transforms.length == 0 && this.color.isEmpty; }
    finalColor(colorProvider) {
        return this.toRgb(colorProvider, dx_color/* DXColor */.F.empty);
    }
    get originalColor() { return this; }
    setColorFromRGB(rgb) {
        const alpha = utils_color/* ColorUtils */.i.getAlpha(rgb);
        if (alpha == 255)
            this.rgb = rgb;
        else {
            this.rgb = dx_color/* DXColor */.F.fromArgb(255, rgb);
            this.transforms.add(AlphaColorTransform.createFromAlpha(alpha));
        }
    }
    get rgb() { return this.color.rgb; }
    set rgb(value) {
        if (this.color.rgb == value && this.color.colorType == enums/* DrawingColorType */.T1.Rgb)
            return;
        this.color.rgb = value;
    }
    get system() { return this.color.systemColor; }
    set system(value) {
        if (this.color.systemColor == value && this.color.colorType == enums/* DrawingColorType */.T1.System)
            return;
        this.color.systemColor = value;
    }
    get scheme() { return this.color.schemeColor; }
    set scheme(value) {
        if (this.color.schemeColor == value && this.color.colorType == enums/* DrawingColorType */.T1.Scheme)
            return;
        this.color.schemeColor = value;
    }
    get preset() { return this.color.preset; }
    set preset(value) {
        if (this.color.preset == value && this.color.colorType == enums/* DrawingColorType */.T1.Preset)
            return;
        this.color.preset = value;
    }
    get hsl() { return this.color.hsl; }
    set hsl(value) {
        if (this.color.hsl.equals(value) && this.color.colorType == enums/* DrawingColorType */.T1.Hsl)
            return;
        this.color.hsl = value;
    }
    get scRgb() { return this.color.scRgb; }
    set scRgb(value) {
        if (this.color.scRgb.equals(value) && this.color.colorType == enums/* DrawingColorType */.T1.ScRgb)
            return;
        this.color.scRgb = value;
    }
    get colorType() { return this.color.colorType; }
    toRgb(colorProvider, styleColor) {
        return this.transforms.applyTransform(this.color.toRgb(colorProvider, styleColor));
    }
    get type() { return drawing_enums/* DrawingBulletType */.zo.Color; }
    equals(obj) {
        return obj &&
            this.color.equals(obj.color) &&
            this.transforms.equals(obj.transforms);
    }
    clear() {
        this.color = drawing_color_model_info_cache/* DrawingColorModelInfoCache */.I.defaultItem;
        this.transforms.clear();
    }
    clone() {
        return new DrawingColor(this.color.clone(), this.transforms.clone());
    }
}


/***/ }),

/***/ 5958:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: function() { return /* binding */ DrawingValueConstants; }
/* harmony export */ });
class DrawingValueConstants {
}
DrawingValueConstants.ThousandthOfPercentage = 100000;
DrawingValueConstants.MinCoordinate = -27273042329600;
DrawingValueConstants.MaxCoordinate = 27273042316900;
DrawingValueConstants.OnePositiveFixedAngle = 60000;
DrawingValueConstants.MaxPositiveFixedAngle = 21600000;
DrawingValueConstants.MaxFixedAngle = 5400000;
DrawingValueConstants.MaxFOVAngle = 10800000;
DrawingValueConstants.MaxOutlineWidth = 20116800;
DrawingValueConstants.MaxPositiveCoordinate32 = 51206400;
DrawingValueConstants.MinTextIndentLevel = -2;
DrawingValueConstants.MaxTextIndentLevel = 8;
DrawingValueConstants.MaxTextSpacingPercent = 13200000;
DrawingValueConstants.MaxTextSpacingPoints = 158400;
DrawingValueConstants.MaxStartAtNumValue = 32767;
DrawingValueConstants.MinTextBulletSizePercent = 25000;
DrawingValueConstants.MaxTextBulletSizePercent = 400000;
DrawingValueConstants.MinTextBulletSizePoints = 100;
DrawingValueConstants.MaxTextBulletSizePoints = 400000;
DrawingValueConstants.MaxWidthInPoints = 1584;
DrawingValueConstants.EmusInPoint = 12700;


/***/ }),

/***/ 6612:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   zo: function() { return /* binding */ DrawingBulletType; }
/* harmony export */ });
/* unused harmony exports DrawingEffectContainerType, DrawingUnderlineFillType, DrawingFillType, DrawingStrokeUnderlineType, PresetCameraType, LightRigDirection, LightRigPreset, PresetMaterialType, DrawingText3DType, PresetBevelType */
var DrawingEffectContainerType;
(function (DrawingEffectContainerType) {
    DrawingEffectContainerType[DrawingEffectContainerType["Sibling"] = 0] = "Sibling";
    DrawingEffectContainerType[DrawingEffectContainerType["Tree"] = 1] = "Tree";
})(DrawingEffectContainerType || (DrawingEffectContainerType = {}));
var DrawingUnderlineFillType;
(function (DrawingUnderlineFillType) {
    DrawingUnderlineFillType[DrawingUnderlineFillType["Fill"] = 0] = "Fill";
    DrawingUnderlineFillType[DrawingUnderlineFillType["FollowsText"] = 1] = "FollowsText";
})(DrawingUnderlineFillType || (DrawingUnderlineFillType = {}));
var DrawingFillType;
(function (DrawingFillType) {
    DrawingFillType[DrawingFillType["Automatic"] = 0] = "Automatic";
    DrawingFillType[DrawingFillType["None"] = 1] = "None";
    DrawingFillType[DrawingFillType["Solid"] = 2] = "Solid";
    DrawingFillType[DrawingFillType["Gradient"] = 3] = "Gradient";
    DrawingFillType[DrawingFillType["Group"] = 4] = "Group";
    DrawingFillType[DrawingFillType["Pattern"] = 5] = "Pattern";
    DrawingFillType[DrawingFillType["Picture"] = 6] = "Picture";
})(DrawingFillType || (DrawingFillType = {}));
var DrawingBulletType;
(function (DrawingBulletType) {
    DrawingBulletType[DrawingBulletType["Automatic"] = 0] = "Automatic";
    DrawingBulletType[DrawingBulletType["Color"] = 1] = "Color";
    DrawingBulletType[DrawingBulletType["Size"] = 2] = "Size";
    DrawingBulletType[DrawingBulletType["Typeface"] = 3] = "Typeface";
    DrawingBulletType[DrawingBulletType["Common"] = 4] = "Common";
})(DrawingBulletType || (DrawingBulletType = {}));
var DrawingStrokeUnderlineType;
(function (DrawingStrokeUnderlineType) {
    DrawingStrokeUnderlineType[DrawingStrokeUnderlineType["Automatic"] = 0] = "Automatic";
    DrawingStrokeUnderlineType[DrawingStrokeUnderlineType["Outline"] = 1] = "Outline";
    DrawingStrokeUnderlineType[DrawingStrokeUnderlineType["FollowsText"] = 2] = "FollowsText";
})(DrawingStrokeUnderlineType || (DrawingStrokeUnderlineType = {}));
var PresetCameraType;
(function (PresetCameraType) {
    PresetCameraType[PresetCameraType["None"] = 0] = "None";
    PresetCameraType[PresetCameraType["LegacyObliqueTopLeft"] = 1] = "LegacyObliqueTopLeft";
    PresetCameraType[PresetCameraType["LegacyObliqueTop"] = 2] = "LegacyObliqueTop";
    PresetCameraType[PresetCameraType["LegacyObliqueTopRight"] = 3] = "LegacyObliqueTopRight";
    PresetCameraType[PresetCameraType["LegacyObliqueLeft"] = 4] = "LegacyObliqueLeft";
    PresetCameraType[PresetCameraType["LegacyObliqueFront"] = 5] = "LegacyObliqueFront";
    PresetCameraType[PresetCameraType["LegacyObliqueRight"] = 6] = "LegacyObliqueRight";
    PresetCameraType[PresetCameraType["LegacyObliqueBottomLeft"] = 7] = "LegacyObliqueBottomLeft";
    PresetCameraType[PresetCameraType["LegacyObliqueBottom"] = 8] = "LegacyObliqueBottom";
    PresetCameraType[PresetCameraType["LegacyObliqueBottomRight"] = 9] = "LegacyObliqueBottomRight";
    PresetCameraType[PresetCameraType["LegacyPerspectiveTopLeft"] = 10] = "LegacyPerspectiveTopLeft";
    PresetCameraType[PresetCameraType["LegacyPerspectiveTop"] = 11] = "LegacyPerspectiveTop";
    PresetCameraType[PresetCameraType["LegacyPerspectiveTopRight"] = 12] = "LegacyPerspectiveTopRight";
    PresetCameraType[PresetCameraType["LegacyPerspectiveLeft"] = 13] = "LegacyPerspectiveLeft";
    PresetCameraType[PresetCameraType["LegacyPerspectiveFront"] = 14] = "LegacyPerspectiveFront";
    PresetCameraType[PresetCameraType["LegacyPerspectiveRight"] = 15] = "LegacyPerspectiveRight";
    PresetCameraType[PresetCameraType["LegacyPerspectiveBottomLeft"] = 16] = "LegacyPerspectiveBottomLeft";
    PresetCameraType[PresetCameraType["LegacyPerspectiveBottom"] = 17] = "LegacyPerspectiveBottom";
    PresetCameraType[PresetCameraType["LegacyPerspectiveBottomRight"] = 18] = "LegacyPerspectiveBottomRight";
    PresetCameraType[PresetCameraType["OrthographicFront"] = 19] = "OrthographicFront";
    PresetCameraType[PresetCameraType["IsometricTopUp"] = 20] = "IsometricTopUp";
    PresetCameraType[PresetCameraType["IsometricTopDown"] = 21] = "IsometricTopDown";
    PresetCameraType[PresetCameraType["IsometricBottomUp"] = 22] = "IsometricBottomUp";
    PresetCameraType[PresetCameraType["IsometricBottomDown"] = 23] = "IsometricBottomDown";
    PresetCameraType[PresetCameraType["IsometricLeftUp"] = 24] = "IsometricLeftUp";
    PresetCameraType[PresetCameraType["IsometricLeftDown"] = 25] = "IsometricLeftDown";
    PresetCameraType[PresetCameraType["IsometricRightUp"] = 26] = "IsometricRightUp";
    PresetCameraType[PresetCameraType["IsometricRightDown"] = 27] = "IsometricRightDown";
    PresetCameraType[PresetCameraType["IsometricOffAxis1Left"] = 28] = "IsometricOffAxis1Left";
    PresetCameraType[PresetCameraType["IsometricOffAxis1Right"] = 29] = "IsometricOffAxis1Right";
    PresetCameraType[PresetCameraType["IsometricOffAxis1Top"] = 30] = "IsometricOffAxis1Top";
    PresetCameraType[PresetCameraType["IsometricOffAxis2Left"] = 31] = "IsometricOffAxis2Left";
    PresetCameraType[PresetCameraType["IsometricOffAxis2Right"] = 32] = "IsometricOffAxis2Right";
    PresetCameraType[PresetCameraType["IsometricOffAxis2Top"] = 33] = "IsometricOffAxis2Top";
    PresetCameraType[PresetCameraType["IsometricOffAxis3Left"] = 34] = "IsometricOffAxis3Left";
    PresetCameraType[PresetCameraType["IsometricOffAxis3Right"] = 35] = "IsometricOffAxis3Right";
    PresetCameraType[PresetCameraType["IsometricOffAxis3Bottom"] = 36] = "IsometricOffAxis3Bottom";
    PresetCameraType[PresetCameraType["IsometricOffAxis4Left"] = 37] = "IsometricOffAxis4Left";
    PresetCameraType[PresetCameraType["IsometricOffAxis4Right"] = 38] = "IsometricOffAxis4Right";
    PresetCameraType[PresetCameraType["IsometricOffAxis4Bottom"] = 39] = "IsometricOffAxis4Bottom";
    PresetCameraType[PresetCameraType["ObliqueTopLeft"] = 40] = "ObliqueTopLeft";
    PresetCameraType[PresetCameraType["ObliqueTop"] = 41] = "ObliqueTop";
    PresetCameraType[PresetCameraType["ObliqueTopRight"] = 42] = "ObliqueTopRight";
    PresetCameraType[PresetCameraType["ObliqueLeft"] = 43] = "ObliqueLeft";
    PresetCameraType[PresetCameraType["ObliqueRight"] = 44] = "ObliqueRight";
    PresetCameraType[PresetCameraType["ObliqueBottomLeft"] = 45] = "ObliqueBottomLeft";
    PresetCameraType[PresetCameraType["ObliqueBottom"] = 46] = "ObliqueBottom";
    PresetCameraType[PresetCameraType["ObliqueBottomRight"] = 47] = "ObliqueBottomRight";
    PresetCameraType[PresetCameraType["PerspectiveFront"] = 48] = "PerspectiveFront";
    PresetCameraType[PresetCameraType["PerspectiveLeft"] = 49] = "PerspectiveLeft";
    PresetCameraType[PresetCameraType["PerspectiveRight"] = 50] = "PerspectiveRight";
    PresetCameraType[PresetCameraType["PerspectiveAbove"] = 51] = "PerspectiveAbove";
    PresetCameraType[PresetCameraType["PerspectiveBelow"] = 52] = "PerspectiveBelow";
    PresetCameraType[PresetCameraType["PerspectiveAboveLeftFacing"] = 53] = "PerspectiveAboveLeftFacing";
    PresetCameraType[PresetCameraType["PerspectiveAboveRightFacing"] = 54] = "PerspectiveAboveRightFacing";
    PresetCameraType[PresetCameraType["PerspectiveContrastingLeftFacing"] = 55] = "PerspectiveContrastingLeftFacing";
    PresetCameraType[PresetCameraType["PerspectiveContrastingRightFacing"] = 56] = "PerspectiveContrastingRightFacing";
    PresetCameraType[PresetCameraType["PerspectiveHeroicLeftFacing"] = 57] = "PerspectiveHeroicLeftFacing";
    PresetCameraType[PresetCameraType["PerspectiveHeroicRightFacing"] = 58] = "PerspectiveHeroicRightFacing";
    PresetCameraType[PresetCameraType["PerspectiveHeroicExtremeLeftFacing"] = 59] = "PerspectiveHeroicExtremeLeftFacing";
    PresetCameraType[PresetCameraType["PerspectiveHeroicExtremeRightFacing"] = 60] = "PerspectiveHeroicExtremeRightFacing";
    PresetCameraType[PresetCameraType["PerspectiveRelaxed"] = 61] = "PerspectiveRelaxed";
    PresetCameraType[PresetCameraType["PerspectiveRelaxedModerately"] = 62] = "PerspectiveRelaxedModerately";
})(PresetCameraType || (PresetCameraType = {}));
var LightRigDirection;
(function (LightRigDirection) {
    LightRigDirection[LightRigDirection["None"] = 0] = "None";
    LightRigDirection[LightRigDirection["Bottom"] = 1] = "Bottom";
    LightRigDirection[LightRigDirection["BottomLeft"] = 2] = "BottomLeft";
    LightRigDirection[LightRigDirection["BottomRight"] = 3] = "BottomRight";
    LightRigDirection[LightRigDirection["Left"] = 4] = "Left";
    LightRigDirection[LightRigDirection["Right"] = 5] = "Right";
    LightRigDirection[LightRigDirection["Top"] = 6] = "Top";
    LightRigDirection[LightRigDirection["TopLeft"] = 7] = "TopLeft";
    LightRigDirection[LightRigDirection["TopRight"] = 8] = "TopRight";
})(LightRigDirection || (LightRigDirection = {}));
var LightRigPreset;
(function (LightRigPreset) {
    LightRigPreset[LightRigPreset["None"] = 0] = "None";
    LightRigPreset[LightRigPreset["LegacyFlat1"] = 1] = "LegacyFlat1";
    LightRigPreset[LightRigPreset["LegacyFlat2"] = 2] = "LegacyFlat2";
    LightRigPreset[LightRigPreset["LegacyFlat3"] = 3] = "LegacyFlat3";
    LightRigPreset[LightRigPreset["LegacyFlat4"] = 4] = "LegacyFlat4";
    LightRigPreset[LightRigPreset["LegacyNormal1"] = 5] = "LegacyNormal1";
    LightRigPreset[LightRigPreset["LegacyNormal2"] = 6] = "LegacyNormal2";
    LightRigPreset[LightRigPreset["LegacyNormal3"] = 7] = "LegacyNormal3";
    LightRigPreset[LightRigPreset["LegacyNormal4"] = 8] = "LegacyNormal4";
    LightRigPreset[LightRigPreset["LegacyHarsh1"] = 9] = "LegacyHarsh1";
    LightRigPreset[LightRigPreset["LegacyHarsh2"] = 10] = "LegacyHarsh2";
    LightRigPreset[LightRigPreset["LegacyHarsh3"] = 11] = "LegacyHarsh3";
    LightRigPreset[LightRigPreset["LegacyHarsh4"] = 12] = "LegacyHarsh4";
    LightRigPreset[LightRigPreset["ThreePt"] = 13] = "ThreePt";
    LightRigPreset[LightRigPreset["Balanced"] = 14] = "Balanced";
    LightRigPreset[LightRigPreset["Soft"] = 15] = "Soft";
    LightRigPreset[LightRigPreset["Harsh"] = 16] = "Harsh";
    LightRigPreset[LightRigPreset["Flood"] = 17] = "Flood";
    LightRigPreset[LightRigPreset["Contrasting"] = 18] = "Contrasting";
    LightRigPreset[LightRigPreset["Morning"] = 19] = "Morning";
    LightRigPreset[LightRigPreset["Sunrise"] = 20] = "Sunrise";
    LightRigPreset[LightRigPreset["Sunset"] = 21] = "Sunset";
    LightRigPreset[LightRigPreset["Chilly"] = 22] = "Chilly";
    LightRigPreset[LightRigPreset["Freezing"] = 23] = "Freezing";
    LightRigPreset[LightRigPreset["Flat"] = 24] = "Flat";
    LightRigPreset[LightRigPreset["TwoPt"] = 25] = "TwoPt";
    LightRigPreset[LightRigPreset["Glow"] = 26] = "Glow";
    LightRigPreset[LightRigPreset["BrightRoom"] = 27] = "BrightRoom";
})(LightRigPreset || (LightRigPreset = {}));
var PresetMaterialType;
(function (PresetMaterialType) {
    PresetMaterialType[PresetMaterialType["None"] = 0] = "None";
    PresetMaterialType[PresetMaterialType["LegacyMatte"] = 1] = "LegacyMatte";
    PresetMaterialType[PresetMaterialType["LegacyPlastic"] = 2] = "LegacyPlastic";
    PresetMaterialType[PresetMaterialType["LegacyMetal"] = 3] = "LegacyMetal";
    PresetMaterialType[PresetMaterialType["LegacyWireframe"] = 4] = "LegacyWireframe";
    PresetMaterialType[PresetMaterialType["Matte"] = 5] = "Matte";
    PresetMaterialType[PresetMaterialType["Plastic"] = 6] = "Plastic";
    PresetMaterialType[PresetMaterialType["Metal"] = 7] = "Metal";
    PresetMaterialType[PresetMaterialType["WarmMatte"] = 8] = "WarmMatte";
    PresetMaterialType[PresetMaterialType["TranslucentPowder"] = 9] = "TranslucentPowder";
    PresetMaterialType[PresetMaterialType["Powder"] = 10] = "Powder";
    PresetMaterialType[PresetMaterialType["DarkEdge"] = 11] = "DarkEdge";
    PresetMaterialType[PresetMaterialType["SoftEdge"] = 12] = "SoftEdge";
    PresetMaterialType[PresetMaterialType["Clear"] = 13] = "Clear";
    PresetMaterialType[PresetMaterialType["Flat"] = 14] = "Flat";
    PresetMaterialType[PresetMaterialType["SoftMetal"] = 15] = "SoftMetal";
})(PresetMaterialType || (PresetMaterialType = {}));
var DrawingText3DType;
(function (DrawingText3DType) {
    DrawingText3DType[DrawingText3DType["Automatic"] = 0] = "Automatic";
    DrawingText3DType[DrawingText3DType["Shape3D"] = 1] = "Shape3D";
    DrawingText3DType[DrawingText3DType["FlatText"] = 2] = "FlatText";
})(DrawingText3DType || (DrawingText3DType = {}));
var PresetBevelType;
(function (PresetBevelType) {
    PresetBevelType[PresetBevelType["None"] = 0] = "None";
    PresetBevelType[PresetBevelType["RelaxedInset"] = 1] = "RelaxedInset";
    PresetBevelType[PresetBevelType["Circle"] = 2] = "Circle";
    PresetBevelType[PresetBevelType["Slope"] = 3] = "Slope";
    PresetBevelType[PresetBevelType["Cross"] = 4] = "Cross";
    PresetBevelType[PresetBevelType["Angle"] = 5] = "Angle";
    PresetBevelType[PresetBevelType["SoftRound"] = 6] = "SoftRound";
    PresetBevelType[PresetBevelType["Convex"] = 7] = "Convex";
    PresetBevelType[PresetBevelType["CoolSlant"] = 8] = "CoolSlant";
    PresetBevelType[PresetBevelType["Divot"] = 9] = "Divot";
    PresetBevelType[PresetBevelType["Riblet"] = 10] = "Riblet";
    PresetBevelType[PresetBevelType["HardEdge"] = 11] = "HardEdge";
    PresetBevelType[PresetBevelType["ArtDeco"] = 12] = "ArtDeco";
})(PresetBevelType || (PresetBevelType = {}));


/***/ }),

/***/ 4907:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: function() { return /* binding */ SubDocumentInfoType; }
/* harmony export */ });
var SubDocumentInfoType;
(function (SubDocumentInfoType) {
    SubDocumentInfoType[SubDocumentInfoType["Main"] = 0] = "Main";
    SubDocumentInfoType[SubDocumentInfoType["Header"] = 1] = "Header";
    SubDocumentInfoType[SubDocumentInfoType["Footer"] = 2] = "Footer";
    SubDocumentInfoType[SubDocumentInfoType["TextBox"] = 3] = "TextBox";
    SubDocumentInfoType[SubDocumentInfoType["FootNote"] = 4] = "FootNote";
    SubDocumentInfoType[SubDocumentInfoType["EndNote"] = 5] = "EndNote";
})(SubDocumentInfoType || (SubDocumentInfoType = {}));


/***/ }),

/***/ 6464:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   S: function() { return /* binding */ FieldContextMenuHelper; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1104);
/* harmony import */ var _model_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7747);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);
/* harmony import */ var _field__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8277);




class FieldContextMenuHelper {
    static getHyperlinkResultText(subDocument, field) {
        var result = "";
        var iterator = new _model_iterator__WEBPACK_IMPORTED_MODULE_1__/* .ModelIterator */ .w(subDocument, true);
        iterator.setPosition(field.getResultStartPosition());
        var currFieldIndex = field.index;
        var fields = subDocument.fields;
        do {
            if (iterator.getAbsolutePosition() >= field.getResultEndPosition())
                break;
            switch (iterator.run.getType()) {
                case _runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.FieldCodeStartRun:
                    currFieldIndex++;
                    iterator.setPosition(fields[currFieldIndex].getResultStartPosition());
                    continue;
                case _runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.FieldResultEndRun:
                    iterator.setPosition(fields[currFieldIndex].getFieldEndPosition());
                    continue;
                case _runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.TextRun:
                    result += iterator.chunk.getRunText(iterator.run);
            }
        } while (iterator.moveToNextRun());
        return result;
    }
    static canChangeHyperlinkDisplayText(subDocInterval) {
        var iterator = new _model_iterator__WEBPACK_IMPORTED_MODULE_1__/* .ModelIterator */ .w(subDocInterval.subDocument, false);
        iterator.setPosition(subDocInterval.interval.start);
        do {
            if (iterator.getAbsolutePosition() >= subDocInterval.interval.end)
                break;
            const runType = iterator.run.getType();
            if (runType == _runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.InlinePictureRun ||
                runType == _runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.AnchoredPictureRun ||
                runType == _runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.AnchoredTextBoxRun ||
                runType == _runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.InlineTextBoxRun)
                return false;
        } while (iterator.moveToNextRun());
        return true;
    }
    static showUpdateAndToogleCodeItems(fields, intervals) {
        if (fields.length == 0)
            return false;
        for (var intervalIndex = 0, interval; interval = intervals[intervalIndex]; intervalIndex++) {
            var intervalEnd = interval.end;
            var fieldIndex = Math.max(0, _field__WEBPACK_IMPORTED_MODULE_3__/* .Field */ .gN.normedBinaryIndexOf(fields, interval.start + 1));
            var field = fields[fieldIndex].getAbsolutelyTopLevelField();
            var topLevelField = field;
            for (fieldIndex = field.index; field = fields[fieldIndex]; fieldIndex++) {
                if (field.showCode ? field.getSeparatorPosition() < interval.start : field.getResultEndPosition() < interval.start)
                    continue;
                if (field.showCode ? field.getFieldStartPosition() >= intervalEnd : field.getResultStartPosition() > intervalEnd)
                    break;
                return true;
            }
            if (topLevelField.getFieldStartPosition() == interval.start)
                return true;
        }
        return false;
    }
    static showCreateHyperlinkItem(fields, interval) {
        if (fields.length == 0)
            return true;
        var intervalEnd = interval.end;
        var fieldIndex = Math.max(0, _field__WEBPACK_IMPORTED_MODULE_3__/* .Field */ .gN.normedBinaryIndexOf(fields, interval.start + 1));
        var field = fields[fieldIndex].getAbsolutelyTopLevelField();
        for (fieldIndex = field.index; field = fields[fieldIndex]; fieldIndex++) {
            if (field.getFieldStartPosition() >= intervalEnd)
                break;
            if (field.getFieldEndPosition() <= interval.start)
                continue;
            return false;
        }
        return true;
    }
    static showHyperlinkItems(fields, interval) {
        return this.getHyperlinkFieldCore(fields, interval, (field) => field.getAllFieldInterval());
    }
    static getHyperlinkField(fields, interval) {
        return this.getHyperlinkFieldCore(fields, interval, (field) => field.getAllFieldIntervalWithoutBorders());
    }
    static getHyperlinkFieldCore(fields, interval, fieldIntervalGetter) {
        if (fields.length == 0)
            return null;
        var fieldIndex = Math.max(0, _field__WEBPACK_IMPORTED_MODULE_3__/* .Field */ .gN.normedBinaryIndexOf(fields, interval.start + 1));
        var field = fields[fieldIndex];
        if (interval.length == 0) {
            do {
                if (fieldIntervalGetter(field).containsWithIntervalEnd(interval.start))
                    return field.isHyperlinkField() ? field : null;
                field = field.parent;
            } while (field);
            return null;
        }
        if (_devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_0__.IntervalAlgorithms.getIntersection(fieldIntervalGetter(field), interval))
            return FieldContextMenuHelper.getFinalResult(fields, interval, field);
        var parent = field.parent;
        if (parent) {
            if (_devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_0__.IntervalAlgorithms.getIntersection(fieldIntervalGetter(parent), interval))
                return FieldContextMenuHelper.getFinalResult(fields, interval, parent);
            else {
                field = FieldContextMenuHelper.getNextTopLevelField(fields, field.index);
                if (!field)
                    return null;
                return _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_0__.IntervalAlgorithms.getIntersection(fieldIntervalGetter(field), interval) ? FieldContextMenuHelper.getFinalResult(fields, interval, field) : null;
            }
        }
        if (interval.start <= field.getFieldStartPosition())
            return null;
        field = FieldContextMenuHelper.getNextTopLevelField(fields, field.index);
        if (!field)
            return null;
        return _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_0__.IntervalAlgorithms.getIntersection(fieldIntervalGetter(field), interval) ? FieldContextMenuHelper.getFinalResult(fields, interval, field) : null;
    }
    static getNextTopLevelField(fields, fieldIndex) {
        var field;
        for (fieldIndex++; field = fields[fieldIndex]; fieldIndex++)
            if (!field.parent)
                break;
        return field;
    }
    static getFinalResult(fields, interval, field) {
        if (!field)
            return null;
        if (!field.isHyperlinkField())
            return null;
        var nextTopLevelField = FieldContextMenuHelper.getNextTopLevelField(fields, field.index);
        if (nextTopLevelField && nextTopLevelField.getCodeStartPosition() <= interval.end)
            return null;
        return field;
    }
}


/***/ }),

/***/ 9526:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: function() { return /* binding */ ServerUpdateFieldType; },
/* harmony export */   Zo: function() { return /* binding */ FieldRequestManager; },
/* harmony export */   ej: function() { return /* binding */ FieldDocVariableRequestData; },
/* harmony export */   mH: function() { return /* binding */ TocFieldRequestManager; },
/* harmony export */   pJ: function() { return /* binding */ FieldMailMergeRequestData; }
/* harmony export */ });
/* unused harmony export FieldRequestData */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1167);
/* harmony import */ var _json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5060);




class FieldRequestManager {
    constructor() {
        this.updateMap = {};
    }
    getSubDocumentData(subDocument) {
        let sdData = this.updateMap[subDocument.id];
        if (!sdData)
            this.updateMap[subDocument.id] = sdData = {};
        return sdData;
    }
    clear(subDocument) {
        if (this.updateMap[subDocument.id])
            delete this.updateMap[subDocument.id];
    }
    add(subDocument, data) {
        const sdData = this.getSubDocumentData(subDocument);
        const fieldId = FieldRequestManager.fieldId++;
        sdData[fieldId] = data;
        return fieldId;
    }
    checkResponse(subDocument, response) {
        const sdData = this.getSubDocumentData(subDocument);
        if (sdData && ((_devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.isEmpty(sdData) ? !!response : !response) ||
            _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.containsBy(sdData, (_requestInfo, fieldId) => !response[fieldId])))
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
    requestAsJson(subDocument) {
        return {
            [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommand */ .ty.ActiveRecord]: this.activeRecord,
            [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommand */ .ty.Info]: _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.map(this.getSubDocumentData(subDocument), (reqData) => reqData.asJson())
        };
    }
}
FieldRequestManager.fieldId = 0;
class TocFieldRequestManager extends FieldRequestManager {
    sendRequest(_subDocument, _activeRecord, _immediateSendRequest) {
    }
    forceSendDelayedRequests() {
    }
}
class FieldRequestData {
}
class FieldDocVariableRequestData extends FieldRequestData {
    get serverUpdateFieldType() { return ServerUpdateFieldType.DocVariable; }
    constructor(fieldInterval, fieldName, parameters) {
        super();
        this.fieldInterval = fieldInterval;
        this.fieldName = fieldName;
        this.parameters = parameters;
    }
    asJson() {
        return {
            [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandInfo */ .Pe.ServerUpdateFieldType]: this.serverUpdateFieldType,
            [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandInfo */ .Pe.Data]: {
                [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandDocVariableInfo */ .Xf.FieldName]: this.fieldName,
                [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandDocVariableInfo */ .Xf.Parameters]: _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.map(this.parameters, (paramInfo) => {
                    return {
                        [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandDocVariableParameters */ .ZD.PureText]: paramInfo.text,
                        [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandDocVariableParameters */ .ZD.IntervalStart]: paramInfo.interval.start,
                        [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandDocVariableParameters */ .ZD.IntervalEnd]: paramInfo.interval.end,
                    };
                })
            },
        };
    }
}
class FieldMailMergeRequestData extends FieldRequestData {
    get serverUpdateFieldType() { return ServerUpdateFieldType.MergeField; }
    constructor(fieldName) {
        super();
        this.fieldName = fieldName;
    }
    asJson() {
        return {
            [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandInfo */ .Pe.ServerUpdateFieldType]: this.serverUpdateFieldType,
            [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandInfo */ .Pe.Data]: {
                [_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONUpdateFieldCommandDocVariableInfo */ .Xf.FieldName]: this.fieldName
            }
        };
    }
}
var ServerUpdateFieldType;
(function (ServerUpdateFieldType) {
    ServerUpdateFieldType[ServerUpdateFieldType["DocVariable"] = 1] = "DocVariable";
    ServerUpdateFieldType[ServerUpdateFieldType["MergeField"] = 2] = "MergeField";
})(ServerUpdateFieldType || (ServerUpdateFieldType = {}));


/***/ }),

/***/ 8277:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  gN: function() { return /* binding */ Field; },
  Lt: function() { return /* binding */ FieldVisabilityInfo; },
  AP: function() { return /* binding */ HyperlinkInfo; },
  Yd: function() { return /* binding */ SequenceInfo; },
  jo: function() { return /* binding */ TcInfo; }
});

// UNUSED EXPORTS: FieldNameType

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var enums = __webpack_require__(300);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/field/deleted.ts

class FieldDeletedSubDocumentChange {
    constructor(subDocumentId, endPosition) {
        this.subDocumentId = subDocumentId;
        this.endPosition = endPosition;
        this.type = enums/* ModelChangeType */.f.FieldDeleted;
    }
}

// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/utils/utils.ts
var utils = __webpack_require__(5929);
;// CONCATENATED MODULE: ./src/common/model/fields/field.ts







var FieldNameType;
(function (FieldNameType) {
    FieldNameType[FieldNameType["None"] = 0] = "None";
    FieldNameType[FieldNameType["CreateDate"] = 1] = "CreateDate";
    FieldNameType[FieldNameType["Date"] = 2] = "Date";
    FieldNameType[FieldNameType["DocVariable"] = 3] = "DocVariable";
    FieldNameType[FieldNameType["Hyperlink"] = 4] = "Hyperlink";
    FieldNameType[FieldNameType["If"] = 5] = "If";
    FieldNameType[FieldNameType["IncludePicture"] = 6] = "IncludePicture";
    FieldNameType[FieldNameType["MergeField"] = 7] = "MergeField";
    FieldNameType[FieldNameType["NumPages"] = 8] = "NumPages";
    FieldNameType[FieldNameType["Page"] = 9] = "Page";
    FieldNameType[FieldNameType["Seq"] = 10] = "Seq";
    FieldNameType[FieldNameType["Symbol"] = 11] = "Symbol";
    FieldNameType[FieldNameType["TC"] = 12] = "TC";
    FieldNameType[FieldNameType["TOC"] = 13] = "TOC";
    FieldNameType[FieldNameType["Formula"] = 14] = "Formula";
    FieldNameType[FieldNameType["FillIn"] = 15] = "FillIn";
})(FieldNameType || (FieldNameType = {}));
class HyperlinkInfo {
    constructor(uri, anchor, tip, visited) {
        this.uri = uri ? uri : "";
        this.anchor = anchor ? anchor : "";
        this.tip = tip ? tip : "";
        this.visited = visited ? visited : false;
    }
    clone() {
        return new HyperlinkInfo(this.uri, this.anchor, this.tip, this.visited);
    }
    getUriWithAnchor() {
        return this.uri + (this.anchor.length > 0 ? "#" + this.anchor : "");
    }
    static getNewCodeText(hyperlinkInfo) {
        return [
            "HYPERLINK \"",
            hyperlinkInfo.uri,
            "\"",
            hyperlinkInfo.tip == "" ? "" : " \\o \"" + hyperlinkInfo.tip + "\"",
            hyperlinkInfo.anchor == "" ? "" : " \\l \"" + hyperlinkInfo.anchor + "\""
        ].join("");
    }
    isUri() {
        if (this.uri.length === 0)
            return false;
        if (this.uri.startsWith("#"))
            return false;
        return utils/* UrlUtils */.jE.isValid(this.uri);
    }
    isMail() {
        return this.uri.startsWith("mailto:");
    }
    isValid() {
        return !!(this.uri || this.anchor);
    }
}
class SequenceInfo {
    constructor(identifier, repeats, hidesResult, resets, resetsWith) {
        this.identifier = identifier;
        this.repeats = repeats;
        this.hidesResult = hidesResult;
        this.resets = resets;
        this.resetsWith = resetsWith ? resetsWith : 0;
    }
    clone() {
        return new SequenceInfo(this.identifier, this.repeats, this.hidesResult, this.resets, this.resetsWith);
    }
}
class TcInfo {
    constructor(identifier, text, level) {
        this.identifier = identifier;
        this.text = text;
        this.level = level;
    }
    clone() {
        return new TcInfo(this.identifier, this.text, this.level);
    }
}
class Field {
    constructor(positionManager, index, startFieldPosition, separatorPosition, endFieldPosition, showCode, hyperlinkInfo) {
        this.codeStartPosition = positionManager.registerPosition(startFieldPosition + 1);
        this.resultStartPosition = positionManager.registerPosition(separatorPosition + 1);
        this.fieldEndPosition = positionManager.registerPosition(endFieldPosition);
        this.index = index;
        this.showCode = showCode;
        this.parent = undefined;
        if (hyperlinkInfo !== undefined)
            this.hyperlinkInfo = hyperlinkInfo;
    }
    destructor(positionManager) {
        positionManager.unregisterPosition(this.codeStartPosition);
        positionManager.unregisterPosition(this.resultStartPosition);
        positionManager.unregisterPosition(this.fieldEndPosition);
    }
    static addField(fields, newField) {
        var field;
        var fieldIndex;
        fields.splice(newField.index, 0, newField);
        for (fieldIndex = newField.index + 1; field = fields[fieldIndex]; fieldIndex++)
            field.index++;
        for (fieldIndex = newField.index - 1; field = fields[fieldIndex]; fieldIndex--) {
            if (field.getFieldEndPosition() <= newField.getFieldStartPosition())
                break;
        }
        var resetParentFrom = Math.max(0, fieldIndex);
        for (fieldIndex = newField.index + 1; field = fields[fieldIndex]; fieldIndex++) {
            if (field.getFieldStartPosition() >= newField.getFieldEndPosition())
                break;
        }
        var resetParentToIndex = Math.min(fields.length - 1, fieldIndex);
        for (fieldIndex = resetParentFrom; fieldIndex <= resetParentToIndex; fieldIndex++)
            fields[fieldIndex].initParent(fields);
    }
    static deleteFieldByIndex(subDocument, delFieldIndex, modelManipulator) {
        var fields = subDocument.fields;
        var delField = fields[delFieldIndex];
        for (var fieldIndex = delFieldIndex + 1, field; field = fields[fieldIndex]; fieldIndex++)
            field.index--;
        var delFieldEndPos = delField.getFieldEndPosition();
        for (var i = delFieldIndex + 1, currField; currField = fields[i]; i++) {
            if (currField.parent == delField)
                currField.parent = delField.parent;
            if (currField.getFieldStartPosition() >= delFieldEndPos)
                break;
        }
        fields.splice(delField.index, 1);
        delField.destructor(subDocument.positionManager);
        modelManipulator.notifyModelChanged(new FieldDeletedSubDocumentChange(subDocument.id, delFieldEndPos));
    }
    isHyperlinkField() {
        return !!this.hyperlinkInfo;
    }
    setNewHyperlinkInfo(hyperlinkInfo) {
        this.hyperlinkInfo = hyperlinkInfo;
    }
    getHyperlinkInfo() {
        return this.hyperlinkInfo;
    }
    getSequenceInfo() {
        return this.sequenceInfo;
    }
    setNewSequenceInfo(info) {
        this.sequenceInfo = info;
    }
    isSequenceField() {
        return this.sequenceInfo !== undefined;
    }
    getTcInfo() {
        return this.tcInfo;
    }
    setNewTcInfo(info) {
        this.tcInfo = info;
    }
    isTcField() {
        return this.tcInfo !== undefined;
    }
    getFieldStartPosition() {
        return this.codeStartPosition.value - 1;
    }
    getCodeStartPosition() {
        return this.codeStartPosition.value;
    }
    getSeparatorPosition() {
        return this.resultStartPosition.value - 1;
    }
    getResultStartPosition() {
        return this.resultStartPosition.value;
    }
    getResultEndPosition() {
        return this.fieldEndPosition.value - 1;
    }
    getFieldEndPosition() {
        return this.fieldEndPosition.value;
    }
    setParent(parent) {
        if (parent !== null && (parent.getFieldStartPosition() >= this.getFieldStartPosition() || parent.getFieldEndPosition() <= this.getFieldEndPosition()))
            throw new Error("Incorrect field parent");
        this.parent = parent;
    }
    initParent(fieldList) {
        for (var i = this.index - 1, possibleParent; possibleParent = fieldList[i]; i--) {
            if (possibleParent.getFieldEndPosition() > this.getFieldEndPosition()) {
                this.parent = possibleParent;
                return;
            }
            if (possibleParent.parent == null)
                break;
        }
        this.parent = null;
    }
    static normedBinaryIndexOf(fields, position) {
        return search.SearchUtils.normedInterpolationIndexOf(fields, (f) => f.getCodeStartPosition(), position);
    }
    static binaryIndexOf(fields, position) {
        return search.SearchUtils.binaryIndexOf(fields, (f) => f.getCodeStartPosition() - position);
    }
    getAbsolutelyTopLevelField() {
        var field = this;
        for (; field.parent; field = field.parent)
            ;
        return field;
    }
    getCodeInterval() {
        return fixed.FixedInterval.fromPositions(this.getCodeStartPosition(), this.getSeparatorPosition());
    }
    getCodeIntervalWithBorders() {
        return fixed.FixedInterval.fromPositions(this.getFieldStartPosition(), this.getResultStartPosition());
    }
    getResultInterval() {
        return fixed.FixedInterval.fromPositions(this.getResultStartPosition(), this.getResultEndPosition());
    }
    getResultIntervalWithBorders() {
        return fixed.FixedInterval.fromPositions(this.getResultStartPosition(), this.getFieldEndPosition());
    }
    getAllFieldInterval() {
        return fixed.FixedInterval.fromPositions(this.getFieldStartPosition(), this.getFieldEndPosition());
    }
    getAllFieldIntervalWithoutBorders() {
        return fixed.FixedInterval.fromPositions(this.getCodeStartPosition(), this.getResultEndPosition());
    }
    isPlacedInCodeAreaTopLevelField(topLevelField) {
        return !!algorithms.IntervalAlgorithms.getIntersection(this.getAllFieldInterval(), topLevelField.getCodeInterval());
    }
    getPositions(poss) {
        poss.push(this.codeStartPosition);
        poss.push(this.resultStartPosition);
        poss.push(this.fieldEndPosition);
    }
    static correctIntervalDueToFieldsWithoutUiChecks(subDocument, newInterval) {
        const fields = subDocument.fields;
        if (newInterval.length && fields.length) {
            let startFieldIndex = Math.max(0, Field.normedBinaryIndexOf(fields, newInterval.start));
            let field = fields[startFieldIndex];
            while (field.parent)
                field = field.parent;
            startFieldIndex = field.index;
            let endFieldIndex = startFieldIndex;
            for (; (field = fields[endFieldIndex]) && (field.getFieldStartPosition() < newInterval.end); endFieldIndex++) {
                if (algorithms.IntervalAlgorithms.getIntersectionNonNullLength(newInterval, new fixed.FixedInterval(field.getFieldStartPosition(), 1)) ||
                    algorithms.IntervalAlgorithms.getIntersectionNonNullLength(newInterval, new fixed.FixedInterval(field.getSeparatorPosition(), 1)) ||
                    algorithms.IntervalAlgorithms.getIntersectionNonNullLength(newInterval, new fixed.FixedInterval(field.getResultEndPosition(), 1)))
                    newInterval.expand(field.getAllFieldInterval());
            }
            return fixed.FixedInterval.fromPositions(startFieldIndex, endFieldIndex);
        }
        else
            return new fixed.FixedInterval(0, 0);
    }
    static correctIntervalDueToFieldsCaseSelectionCollapsed(fields, position) {
        const visabilityInfo = FieldVisabilityInfo.getRelativeVisabilityInfo(position, fields);
        for (let i = visabilityInfo.length - 1, fieldInfo; fieldInfo = visabilityInfo[i]; i--) {
            const field = fieldInfo.field;
            if (field.getCodeInterval().containsWithIntervalEnd(position)) {
                if (fieldInfo.showCode)
                    break;
                else
                    position = field.getFieldStartPosition();
            }
            else {
                const fieldResultInterval = field.getResultInterval();
                if (fieldResultInterval.containsWithIntervalEnd(position)) {
                    if (fieldInfo.showResult) {
                        if (position == fieldResultInterval.start)
                            position = field.getFieldStartPosition();
                        else if (position == fieldResultInterval.end)
                            position = field.getFieldEndPosition();
                        break;
                    }
                    else
                        position = field.getFieldEndPosition();
                }
            }
        }
        return position;
    }
    static correctIntervalDueToFields(subDocument, newInterval) {
        const fields = subDocument.fields;
        if (!fields.length)
            return;
        if (!newInterval.length)
            return newInterval.start = Field.correctIntervalDueToFieldsCaseSelectionCollapsed(subDocument.fields, newInterval.start);
        const indexesInterval = Field.correctIntervalDueToFieldsWithoutUiChecks(subDocument, newInterval);
        list.ListUtils.forEach(fields, (field) => {
            if (field.getResultInterval().equals(newInterval) && !this.isFloatingObjectSelected(subDocument, newInterval))
                newInterval.expand(field.getAllFieldInterval());
        }, indexesInterval.start, indexesInterval.end);
    }
    static isFloatingObjectSelected(subDocument, interval) {
        if (interval.length !== 1)
            return false;
        const run = subDocument.getRunByPosition(interval.start);
        return run && (run.getType() == run_type/* RunType */.m.AnchoredPictureRun || run.getType() == run_type/* RunType */.m.AnchoredTextBoxRun);
    }
    static correctWhenPositionInStartCode(fields, position) {
        if (fields.length < 1)
            return position;
        var field = fields[Math.max(0, Field.normedBinaryIndexOf(fields, position))];
        if (field.getResultStartPosition() == position)
            return field.parent ? Field.correctWhenPositionInStartCode(fields, field.getFieldStartPosition()) : field.getFieldStartPosition();
        return position;
    }
    clone(subDocument) {
        const result = new Field(subDocument.positionManager, this.index, this.getFieldStartPosition(), this.getSeparatorPosition(), this.getFieldEndPosition(), this.showCode, this.hyperlinkInfo ? this.hyperlinkInfo.clone() : this.hyperlinkInfo);
        result.sequenceInfo = this.sequenceInfo ? this.sequenceInfo.clone() : this.sequenceInfo;
        result.tcInfo = this.tcInfo ? this.tcInfo.clone() : this.tcInfo;
        result.disableUpdate = this.disableUpdate;
        result.hideByParent = this.hideByParent;
        result.locked = this.locked;
        return result;
    }
}
class FieldVisabilityInfo {
    constructor(showCode, showResult, field) {
        this.showCode = showCode;
        this.showResult = showResult;
        this.field = field;
    }
    static getRelativeVisabilityInfo(position, fields) {
        var visabilityInfo = [];
        var currFieldIndex = Field.normedBinaryIndexOf(fields, position + 1);
        if (currFieldIndex < 0)
            return [];
        var currField = fields[currFieldIndex];
        do {
            if (currField.getAllFieldIntervalWithoutBorders().containsWithIntervalEnd(position))
                visabilityInfo.unshift(new FieldVisabilityInfo(currField.showCode, !currField.showCode, currField));
        } while (currField = currField.parent);
        var topLevelFieldInfo = visabilityInfo[0];
        for (var i = 1, fieldInfo; fieldInfo = visabilityInfo[i]; i++) {
            FieldVisabilityInfo.applyTopLevelFieldInfoVisabilityToThisFieldInfo(topLevelFieldInfo, fieldInfo);
            topLevelFieldInfo = fieldInfo;
        }
        return visabilityInfo;
    }
    static applyTopLevelFieldInfoVisabilityToThisFieldInfo(topLevelFieldInfo, lowLevelFieldInfo) {
        var topLevelFieldAllowShowThisField = lowLevelFieldInfo.field.isPlacedInCodeAreaTopLevelField(topLevelFieldInfo.field) ? topLevelFieldInfo.showCode : topLevelFieldInfo.showResult;
        lowLevelFieldInfo.showCode = lowLevelFieldInfo.showCode && topLevelFieldAllowShowThisField;
        lowLevelFieldInfo.showResult = lowLevelFieldInfo.showResult && topLevelFieldAllowShowThisField;
    }
    clone() {
        return new FieldVisabilityInfo(this.showCode, this.showResult, this.field);
    }
    copyFrom(obj) {
        this.field = obj.field;
        this.showCode = obj.showCode;
        this.showResult = obj.showResult;
    }
}


/***/ }),

/***/ 5049:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: function() { return /* binding */ FieldName; }
/* harmony export */ });
var FieldName;
(function (FieldName) {
    FieldName[FieldName["Unknown"] = 0] = "Unknown";
    FieldName[FieldName["Time"] = 1] = "Time";
    FieldName[FieldName["Date"] = 2] = "Date";
    FieldName[FieldName["Page"] = 3] = "Page";
    FieldName[FieldName["NumPages"] = 4] = "NumPages";
    FieldName[FieldName["MergeField"] = 5] = "MergeField";
    FieldName[FieldName["DocVariable"] = 6] = "DocVariable";
    FieldName[FieldName["Hyperlink"] = 7] = "Hyperlink";
    FieldName[FieldName["Seq"] = 8] = "Seq";
    FieldName[FieldName["Tc"] = 9] = "Tc";
    FieldName[FieldName["PageRef"] = 10] = "PageRef";
    FieldName[FieldName["Toc"] = 11] = "Toc";
    FieldName[FieldName["FillIn"] = 12] = "FillIn";
    FieldName[FieldName["If"] = 13] = "If";
})(FieldName || (FieldName = {}));


/***/ }),

/***/ 2492:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: function() { return /* binding */ FieldCodeParserClientUpdatingBase; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(655);
/* harmony import */ var _history_items_change_field_hyperlink_info_history_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1688);
/* harmony import */ var _history_items_field_insert_history_item__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(835);
/* harmony import */ var _field__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8277);
/* harmony import */ var _field_code_parser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5529);






class FieldCodeParserClientUpdatingBase extends _field_code_parser__WEBPACK_IMPORTED_MODULE_5__/* .FieldCodeParser */ .mv {
    getMailMergeType() {
        return _field_code_parser__WEBPACK_IMPORTED_MODULE_5__/* .FieldMailMergeType */ .mI.NonMailMerge;
    }
    parseCodeCurrentFieldInternal(_responce) {
        this.removeInterval(this.getTopField().getResultInterval());
        if (this.parseSwitchesAndArgs())
            this.fillResult();
        this.parserState = _field_code_parser__WEBPACK_IMPORTED_MODULE_5__/* .FieldCodeParserState */ .FE.end;
        return true;
    }
    createLocalHyperLink(interval, bookmarkName) {
        this.modelManager.history.addAndRedo(new _history_items_field_insert_history_item__WEBPACK_IMPORTED_MODULE_3__/* .FieldInsertHistoryItem */ .O(this.modelManager.modelManipulator, this.subDocument, interval.start, 0, interval.length, false, this.inputPos.charPropsBundle));
        let fieldIndex = _field__WEBPACK_IMPORTED_MODULE_4__/* .Field */ .gN.normedBinaryIndexOf(this.subDocument.fields, interval.start + 1);
        let field = this.subDocument.fields[fieldIndex];
        const hyperlinkInfo = new _field__WEBPACK_IMPORTED_MODULE_4__/* .HyperlinkInfo */ .AP("", bookmarkName, "", false);
        this.modelManager.history.addAndRedo(new _history_items_change_field_hyperlink_info_history_item__WEBPACK_IMPORTED_MODULE_2__/* .ChangeFieldHyperlinkInfoHistoryItem */ .q(this.modelManager.modelManipulator, this.subDocument, field.index, hyperlinkInfo));
        this.inputPos.setIntervals(_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_1__/* .SelectionIntervalsInfo */ .v.fromInterval(this.subDocument, field.getCodeInterval()));
        this.replaceTextByInterval(field.getCodeInterval(), this.modelManager.model.simpleFormattersManager.formatString("HYPERLINK \\l \"{0}\"", bookmarkName));
    }
    fillResult() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}


/***/ }),

/***/ 274:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R: function() { return /* binding */ FieldCodeParserHyperlink; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _history_items_apply_field_hyperlink_style_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6502);
/* harmony import */ var _history_items_change_field_hyperlink_info_history_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1688);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8096);
/* harmony import */ var _field__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8277);
/* harmony import */ var _names__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5049);
/* harmony import */ var _field_code_parser__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5529);
/* harmony import */ var _field_code_parser_client_updating_base__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2492);
/* harmony import */ var _utils_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5929);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(49);










class FieldCodeParserHyperlink extends _field_code_parser_client_updating_base__WEBPACK_IMPORTED_MODULE_7__/* .FieldCodeParserClientUpdatingBase */ .K {
    get name() { return _names__WEBPACK_IMPORTED_MODULE_5__/* .FieldName */ .L.Hyperlink; }
    parseCodeCurrentFieldInternal(_responce) {
        if (this.parseSwitchesAndArgs())
            this.fillResult();
        else
            this.removeInterval(this.getTopField().getResultInterval());
        this.parserState = _field_code_parser__WEBPACK_IMPORTED_MODULE_6__/* .FieldCodeParserState */ .FE.end;
        return true;
    }
    fillResult() {
        var _a, _b;
        const field = this.getTopField();
        const text = (_b = (_a = this.parameterInfoList[0]) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : "";
        const newHyperlinkInfo = this.updateHyperlinkInfo(text);
        if (!newHyperlinkInfo) {
            if (!this.modelManager.richOptions.fields.keepHyperlinkResultForInvalidReference)
                this.removeInterval(this.getTopField().getResultInterval());
            return true;
        }
        const modelManipulator = this.modelManager.modelManipulator;
        const resultInterval = field.getResultInterval();
        if (resultInterval.length === 0) {
            const resultText = _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_9__.StringUtils.isNullOrEmpty(text) ? `#${newHyperlinkInfo.anchor}` : text;
            const newResultInterval = new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(resultInterval.start, resultText.length);
            this.setInputPositionState();
            this.replaceTextByInterval(resultInterval, resultText);
            const subDocumentInterval = new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(this.subDocument, newResultInterval);
            const historyItem = new _history_items_apply_field_hyperlink_style_history_item__WEBPACK_IMPORTED_MODULE_1__/* .ApplyFieldHyperlinkStyleHistoryItem */ .n(modelManipulator, subDocumentInterval);
            this.modelManager.history.addAndRedo(historyItem);
        }
        const historyItem = new _history_items_change_field_hyperlink_info_history_item__WEBPACK_IMPORTED_MODULE_2__/* .ChangeFieldHyperlinkInfoHistoryItem */ .q(modelManipulator, this.subDocument, field.index, newHyperlinkInfo);
        this.modelManager.history.addAndRedo(historyItem);
        return true;
    }
    updateHyperlinkInfo(text) {
        const newHyperlinkInfo = new _field__WEBPACK_IMPORTED_MODULE_4__/* .HyperlinkInfo */ .AP("", "", "", false);
        [newHyperlinkInfo.uri, newHyperlinkInfo.anchor] = _utils_utils__WEBPACK_IMPORTED_MODULE_8__/* .UrlUtils */ .jE.splitUrlByAnchor(text);
        newHyperlinkInfo.visited = false;
        for (const switchInfo of this.switchInfoList) {
            if (switchInfo.type != _field_code_parser__WEBPACK_IMPORTED_MODULE_6__/* .FieldSwitchType */ .vl.FieldSpecific)
                continue;
            switch (switchInfo.name.toLocaleUpperCase()) {
                case "O":
                    newHyperlinkInfo.tip = switchInfo.arg;
                    break;
                case "L":
                    newHyperlinkInfo.anchor = switchInfo.arg;
                    break;
            }
        }
        return newHyperlinkInfo.isValid() ? newHyperlinkInfo : null;
    }
}


/***/ }),

/***/ 5529:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FE: function() { return /* binding */ FieldCodeParserState; },
/* harmony export */   mI: function() { return /* binding */ FieldMailMergeType; },
/* harmony export */   mv: function() { return /* binding */ FieldCodeParser; },
/* harmony export */   vl: function() { return /* binding */ FieldSwitchType; }
/* harmony export */ });
/* unused harmony exports FieldSwitch, FieldParameter, FieldCodeParserHelper */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_formatters_date_time_field__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8889);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49);
/* harmony import */ var _selection_input_position_base__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1680);
/* harmony import */ var _selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(655);
/* harmony import */ var _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2598);
/* harmony import */ var _number_converters_number_converter_creator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5622);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8845);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3549);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8096);
/* harmony import */ var _field__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(8277);
/* harmony import */ var _tree_creator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(769);














var FieldCodeParserState;
(function (FieldCodeParserState) {
    FieldCodeParserState[FieldCodeParserState["start"] = 0] = "start";
    FieldCodeParserState[FieldCodeParserState["addedParsersCodePart"] = 1] = "addedParsersCodePart";
    FieldCodeParserState[FieldCodeParserState["updatedParsersCodePart"] = 2] = "updatedParsersCodePart";
    FieldCodeParserState[FieldCodeParserState["resultPartCreated"] = 3] = "resultPartCreated";
    FieldCodeParserState[FieldCodeParserState["addedParsersResultPart"] = 4] = "addedParsersResultPart";
    FieldCodeParserState[FieldCodeParserState["end"] = 5] = "end";
})(FieldCodeParserState || (FieldCodeParserState = {}));
var FieldSwitchType;
(function (FieldSwitchType) {
    FieldSwitchType[FieldSwitchType["Error"] = 0] = "Error";
    FieldSwitchType[FieldSwitchType["DateAndTime"] = 1] = "DateAndTime";
    FieldSwitchType[FieldSwitchType["Numeric"] = 2] = "Numeric";
    FieldSwitchType[FieldSwitchType["General"] = 3] = "General";
    FieldSwitchType[FieldSwitchType["FieldSpecific"] = 4] = "FieldSpecific";
})(FieldSwitchType || (FieldSwitchType = {}));
var FieldMailMergeType;
(function (FieldMailMergeType) {
    FieldMailMergeType[FieldMailMergeType["NonMailMerge"] = 1] = "NonMailMerge";
    FieldMailMergeType[FieldMailMergeType["MailMerge"] = 2] = "MailMerge";
    FieldMailMergeType[FieldMailMergeType["Mixed"] = 3] = "Mixed";
})(FieldMailMergeType || (FieldMailMergeType = {}));
class FieldSwitch {
    constructor(type, name, arg) {
        this.name = name;
        this.type = type;
        this.arg = arg;
    }
}
class FieldParameter {
    constructor(interval, textRepresentation, quoted = false) {
        this.text = textRepresentation;
        this.interval = interval;
        this.quoted = quoted;
    }
    clone() {
        return new FieldParameter(this.interval.clone(), this.text, this.quoted);
    }
}
class FieldCodeParserHelper {
    static isWhitespaceAndTextRunType(char, type) {
        return _rich_utils__WEBPACK_IMPORTED_MODULE_9__/* .RichUtils */ .i.isWhitespace.test(char) && type == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun;
    }
    static isBackslesh(char) {
        return char == "\\";
    }
    static isQuote(char) {
        return char == "\"";
    }
}
class FieldCodeParser {
    constructor(args) {
        this.switchInfoList = [];
        this.parameterInfoList = [];
        this.modelManager = args.modelManager;
        this.layoutFormatterManager = args.layoutFormatterManager;
        this.requestManager = args.requestManager;
        this.subDocument = args.subDocument;
        this.inputPos = new _selection_input_position_base__WEBPACK_IMPORTED_MODULE_5__/* .InputPositionBase */ .Cd().setIntervals(_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_6__/* .SelectionIntervalsInfo */ .v.fromPosition(args.subDocument, args.field.getResultInterval().start));
        this.fieldsStack = [args.field];
        this.modelIterator = args.modelIterator;
        this.lowLevelParsers = [];
        this.parserState = FieldCodeParserState.start;
        this.fieldNameFirstLetterPosition = args.subDocument.positionManager.registerPosition(args.fieldNameFirstLetterPosition);
    }
    removeInterval(interval) {
        this.modelManager.modelManipulator.range.removeInterval(new _sub_document__WEBPACK_IMPORTED_MODULE_11__/* .SubDocumentInterval */ .v8(this.subDocument, interval), true, false);
    }
    replaceTextByInterval(interval, text) {
        this.removeInterval(interval);
        this.modelManager.modelManipulator.text.insertTextViaHistory(new _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_7__/* .InsertTextManipulatorParams */ .N(new _sub_document__WEBPACK_IMPORTED_MODULE_11__/* .SubDocumentPosition */ .rg(this.subDocument, interval.start), this.inputPos.charPropsBundle, _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun, text));
    }
    replaceTextByLayoutDependentRun(interval) {
        this.removeInterval(interval);
        this.modelManager.modelManipulator.text.insertTextViaHistory(new _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_7__/* .InsertLayoutDependentTextManipulatorParams */ .x(new _sub_document__WEBPACK_IMPORTED_MODULE_11__/* .SubDocumentPosition */ .rg(this.subDocument, interval.start), this.inputPos.charPropsBundle));
    }
    static finalAction(layoutFormatterManager, field, subDocument) {
        field.showCode = false;
        if (layoutFormatterManager)
            layoutFormatterManager.invalidator.onIntervalChanged(subDocument.id, field.getAllFieldInterval());
    }
    destructor() {
        this.subDocument.positionManager.unregisterPosition(this.fieldNameFirstLetterPosition);
        this.fieldNameFirstLetterPosition = null;
        FieldCodeParser.finalAction(this.layoutFormatterManager, this.getTopField(), this.subDocument);
    }
    getMailMergeType() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
    handleSwitch(newSwitch) {
        this.switchInfoList.push(newSwitch);
        return true;
    }
    handleParameter(newParameter) {
        this.parameterInfoList.push(newParameter);
        return true;
    }
    getFormattedResult(value) {
        if (!(0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_3__.isDefined)(value))
            return null;
        const manager = this.modelManager;
        let type = FieldSwitchType.Error;
        let arg = "";
        for (let i = 0, switchInfo; switchInfo = this.switchInfoList[i]; i++) {
            if (switchInfo.type != FieldSwitchType.FieldSpecific) {
                arg = switchInfo.arg;
                type = switchInfo.type;
                break;
            }
        }
        const numericalValue = typeof value == 'string' ? parseInt(value) : value;
        if (type == FieldSwitchType.General && !_devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_4__.StringUtils.isNullOrEmpty(arg)) {
            if (!isNaN(numericalValue))
                return _number_converters_number_converter_creator__WEBPACK_IMPORTED_MODULE_8__/* .NumberConverterCreator */ .A.createConverterByTypeName(arg, manager.model.simpleFormattersManager).convertNumber(numericalValue);
            if (typeof value == 'string')
                switch (arg.toLowerCase()) {
                    case "upper":
                        return value.toLocaleUpperCase();
                    case 'lower':
                        return value.toLocaleLowerCase();
                    case 'firstcap':
                        return this.capitalizesFirstLetterOfFirstWord(value);
                    case 'caps':
                        return this.capitalizesFirstLetterOfEachWord(value);
                    default:
                        return value;
                }
        }
        else if (type == FieldSwitchType.DateAndTime) {
            const date = isNaN(numericalValue) ? new Date(value.toString()) : new Date(numericalValue);
            if (!isNaN(date.getDate())) {
                const dateFormatter = new _devexpress_utils_lib_formatters_date_time_field__WEBPACK_IMPORTED_MODULE_1__/* .DateTimeFieldFormatter */ .J(manager.richOptions.cultureOpts);
                return !_devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_4__.StringUtils.isNullOrEmpty(arg) ? dateFormatter.format(date, arg) :
                    dateFormatter.format(date, manager.richOptions.fields.defaultDateFormat);
            }
        }
        else if (type == FieldSwitchType.Numeric && !isNaN(numericalValue) && !_devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_4__.StringUtils.isNullOrEmpty(arg))
            return manager.model.simpleFormattersManager.formatNumber(arg, numericalValue);
        return value.toString();
    }
    capitalizesFirstLetterOfFirstWord(value) {
        let result = value;
        if (result.length > 0)
            result = this.replaceCharacter(result, 0, result[0].toLocaleUpperCase());
        return result;
    }
    capitalizesFirstLetterOfEachWord(value) {
        let result = value.toLocaleLowerCase();
        let index = this.skipCharacters(0, result, (str) => !this.isLetterOrDigit(str));
        while (index < result.length) {
            result = this.replaceCharacter(result, index, result[index].toLocaleUpperCase());
            index = this.skipCharacters(index, result, (str) => this.isLetterOrDigit(str));
            index = this.skipCharacters(index, result, (str) => !this.isLetterOrDigit(str));
        }
        return result;
    }
    replaceCharacter(source, index, chForReplace) {
        return source.substr(0, index) + chForReplace + source.substr(index + 1);
    }
    skipCharacters(index, str, predicate) {
        while (index < str.length && predicate(str[index]))
            index++;
        return index;
    }
    isLetterOrDigit(str) {
        if (str.length != 1)
            return false;
        if (str.match(/[0-9]/i))
            return true;
        if (str.toLocaleLowerCase() != str.toLocaleUpperCase())
            return true;
        return false;
    }
    setInputPositionState() {
        this.inputPos.setIntervals(_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_6__/* .SelectionIntervalsInfo */ .v.fromPosition(this.subDocument, this.fieldNameFirstLetterPosition.value));
    }
    getTopField() {
        return this.fieldsStack[0];
    }
    update(responce) {
        if (this.parserState == FieldCodeParserState.end)
            throw new Error("Excess call updated field");
        switch (this.parserState) {
            case FieldCodeParserState.start:
                var field = this.getTopField();
                if (this.collectAndUpdateLowLevelFields(field.index + 1, field.getCodeStartPosition(), field.getSeparatorPosition())) {
                    this.parserState = FieldCodeParserState.updatedParsersCodePart;
                    return this.parseCodeCurrentField(null);
                }
                this.parserState = FieldCodeParserState.addedParsersCodePart;
                return false;
            case FieldCodeParserState.addedParsersCodePart:
                if (this.updateLowLevelFields(responce)) {
                    this.parserState = FieldCodeParserState.updatedParsersCodePart;
                    return this.parseCodeCurrentField(responce);
                }
                return false;
            case FieldCodeParserState.updatedParsersCodePart:
                return this.parseCodeCurrentField(responce);
            case FieldCodeParserState.addedParsersResultPart:
                return this.updateFieldsInResult(responce);
        }
    }
    collectAndUpdateLowLevelFields(fieldIndex, startPosition, endPosition) {
        var fields = this.subDocument.fields;
        for (var field; field = fields[fieldIndex]; fieldIndex++) {
            if (field.getFieldStartPosition() > endPosition)
                break;
            if (field.parent != this.getTopField() || field.getFieldEndPosition() <= startPosition) {
                fieldIndex++;
                continue;
            }
            var fieldParser = _tree_creator__WEBPACK_IMPORTED_MODULE_13__/* .FieldsWaitingForUpdate */ .Nn.getParser(this.modelManager, this.layoutFormatterManager, this.requestManager, this.subDocument, field);
            if (fieldParser) {
                if (!fieldParser.update(null))
                    this.lowLevelParsers.push(fieldParser);
                else
                    fieldParser.destructor();
            }
            else
                this.removeInterval(field.getResultInterval());
        }
        return this.lowLevelParsers.length == 0;
    }
    updateLowLevelFields(responce) {
        for (var parserIndex = 0, parser; parser = this.lowLevelParsers[parserIndex]; parserIndex++) {
            if (parser.update(responce)) {
                parser.destructor();
                this.lowLevelParsers.splice(parserIndex, 1);
                parserIndex--;
            }
        }
        return this.lowLevelParsers.length == 0;
    }
    parseCodeCurrentField(responce) {
        if (this.parseCodeCurrentFieldInternal(responce)) {
            switch (this.parserState) {
                case FieldCodeParserState.resultPartCreated:
                    return this.updateFieldsInResult(responce);
                case FieldCodeParserState.end:
                    return true;
                default:
                    throw new Error("wrong way");
            }
        }
        else {
            if (this.parserState == FieldCodeParserState.updatedParsersCodePart)
                return false;
            else
                throw new Error("wrong way");
        }
    }
    updateFieldsInResult(responce) {
        switch (this.parserState) {
            case FieldCodeParserState.resultPartCreated:
                var fieldIndex = _field__WEBPACK_IMPORTED_MODULE_12__/* .Field */ .gN.normedBinaryIndexOf(this.subDocument.fields, this.getTopField().getResultStartPosition() + 1);
                var field = this.getTopField();
                if (this.collectAndUpdateLowLevelFields(fieldIndex, field.getResultStartPosition(), field.getResultEndPosition())) {
                    this.parserState = FieldCodeParserState.end;
                    return true;
                }
                this.parserState = FieldCodeParserState.addedParsersResultPart;
                return false;
            case FieldCodeParserState.addedParsersResultPart:
                if (this.updateLowLevelFields(responce)) {
                    this.parserState = FieldCodeParserState.end;
                    return true;
                }
                return false;
        }
    }
    moveIteratorToNextChar() {
        if (this.modelIterator.run.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeEndRun)
            return false;
        if (!this.modelIterator.moveToNextChar())
            throw new Error("wrong way");
        while (true) {
            switch (this.modelIterator.run.getType()) {
                case _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeStartRun:
                    var fieldIndex = _field__WEBPACK_IMPORTED_MODULE_12__/* .Field */ .gN.normedBinaryIndexOf(this.subDocument.fields, this.modelIterator.getAbsolutePosition() + 1);
                    var lowLevelField = this.subDocument.fields[fieldIndex];
                    this.fieldsStack.push(lowLevelField);
                    this.modelIterator.setPosition(lowLevelField.getResultStartPosition());
                    break;
                case _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldResultEndRun:
                case _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeEndRun:
                    var lowLevelField = this.fieldsStack.pop();
                    if (this.fieldsStack.length == 0) {
                        this.fieldsStack.push(lowLevelField);
                        return false;
                    }
                    this.modelIterator.setPosition(lowLevelField.getFieldEndPosition());
                    break;
                default:
                    return true;
            }
        }
    }
    updateInfo() {
        if (!this.needUpdateInfo())
            return false;
        this.parseSwitchesAndArgs();
        this.updateInfoCore();
        return true;
    }
    needUpdateInfo() {
        return false;
    }
    updateInfoCore() { }
    parseSwitchesAndArgs() {
        while (this.skipWhitespaces() && this.modelIterator.run.getType() != _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeEndRun) {
            var currChar = this.modelIterator.getCurrentChar();
            if (FieldCodeParserHelper.isBackslesh(currChar)) {
                var switchInfo = this.getSwitchInfo();
                if (switchInfo.type == FieldSwitchType.Error || !this.handleSwitch(switchInfo))
                    return false;
            }
            else {
                var paramInfo = this.getFieldParameterInfo();
                if (!paramInfo || !this.handleParameter(paramInfo))
                    return false;
            }
        }
        return this.modelIterator.run.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeEndRun;
    }
    skipWhitespaces() {
        var isFindWhitespace = false;
        do {
            if (FieldCodeParserHelper.isWhitespaceAndTextRunType(this.modelIterator.getCurrentChar(), this.modelIterator.run.getType()) ||
                this.modelIterator.run.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.ParagraphRun ||
                this.modelIterator.run.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.SectionRun)
                isFindWhitespace = true;
            else
                break;
        } while (this.moveIteratorToNextChar());
        return isFindWhitespace;
    }
    getFieldParameterInfo() {
        var startPosition = this.modelIterator.getAbsolutePosition();
        var parseResult = this.parseSwitchOrFieldArgument();
        if (!parseResult)
            return null;
        var argInterval = parseResult.quoted ?
            _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval.fromPositions(startPosition + 1, this.modelIterator.getAbsolutePosition() - 1) :
            _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval.fromPositions(startPosition, this.modelIterator.getAbsolutePosition());
        return new FieldParameter(argInterval, parseResult.argListChars.join(""), parseResult.quoted);
    }
    getSwitchInfo() {
        if (!this.moveIteratorToNextChar() || this.modelIterator.run.getType() != _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun)
            return new FieldSwitch(FieldSwitchType.Error, "", "");
        var currChar = this.modelIterator.getCurrentChar();
        switch (currChar) {
            case "*": return this.makeSwitchInfo(FieldSwitchType.General, currChar, true);
            case "@": return this.makeSwitchInfo(FieldSwitchType.DateAndTime, currChar, true);
            case "#": return this.makeSwitchInfo(FieldSwitchType.Numeric, currChar, true);
            default:
                if (currChar == "!")
                    return this.makeSwitchInfo(FieldSwitchType.FieldSpecific, currChar, true);
                if (!_rich_utils__WEBPACK_IMPORTED_MODULE_9__/* .RichUtils */ .i.isLatinLetter.test(currChar))
                    return new FieldSwitch(FieldSwitchType.Error, "", "");
                var switchName = currChar;
                var lastPos = this.modelIterator.getAbsolutePosition();
                if (this.moveIteratorToNextChar()) {
                    currChar = this.modelIterator.getCurrentChar();
                    if (_rich_utils__WEBPACK_IMPORTED_MODULE_9__/* .RichUtils */ .i.isLatinLetter.test(currChar))
                        switchName += currChar;
                    else
                        this.modelIterator.setPosition(lastPos);
                }
                else
                    this.modelIterator.setPosition(lastPos);
                return this.makeSwitchInfo(FieldSwitchType.FieldSpecific, switchName, false);
        }
    }
    makeSwitchInfo(switchType, switchName, needArgument) {
        var switchArg = this.getSwitchArgument(needArgument);
        if (switchArg === null || needArgument && switchArg.length == 0)
            return new FieldSwitch(FieldSwitchType.Error, "", "");
        return new FieldSwitch(switchType, switchName, switchArg);
    }
    getSwitchArgument(needArgument) {
        if (!this.moveIteratorToNextChar())
            return needArgument ? null : "";
        if (!this.skipWhitespaces())
            return null;
        var parseResult = this.parseSwitchOrFieldArgument();
        if (!parseResult)
            return needArgument ? null : "";
        var resArg = parseResult.argListChars.join("");
        if (resArg.length == 0)
            return null;
        return resArg;
    }
    parseSwitchOrFieldArgument() {
        if (this.modelIterator.run.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeEndRun)
            return null;
        var currChar = this.modelIterator.getCurrentChar();
        if (FieldCodeParserHelper.isBackslesh(currChar)) {
            this.modelIterator.moveToPrevChar();
            return null;
        }
        var resList = [];
        var startFieldStackSize = this.fieldsStack.length;
        var lastFieldStackLength = startFieldStackSize;
        var needSearchNextQuote = FieldCodeParserHelper.isQuote(currChar);
        if (needSearchNextQuote)
            if (!this.moveIteratorToNextChar())
                return null;
        var lastSymbolIsQuote = !needSearchNextQuote;
        do {
            currChar = this.modelIterator.getCurrentChar();
            if (needSearchNextQuote) {
                if (FieldCodeParserHelper.isQuote(currChar)) {
                    var prevChar = resList[resList.length - 1];
                    if (!(prevChar && FieldCodeParserHelper.isBackslesh(prevChar))) {
                        lastSymbolIsQuote = true;
                        lastFieldStackLength = this.fieldsStack.length;
                        this.moveIteratorToNextChar();
                        break;
                    }
                }
            }
            else if (FieldCodeParserHelper.isWhitespaceAndTextRunType(currChar, this.modelIterator.run.getType()))
                break;
            resList.push(currChar);
            lastFieldStackLength = this.fieldsStack.length;
        } while (this.moveIteratorToNextChar());
        if (startFieldStackSize != lastFieldStackLength || !lastSymbolIsQuote)
            return null;
        return { argListChars: resList, quoted: needSearchNextQuote };
    }
}


/***/ }),

/***/ 769:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  Nn: function() { return /* binding */ FieldsWaitingForUpdate; },
  f$: function() { return /* binding */ UpdateFieldsOptions; }
});

// UNUSED EXPORTS: FieldUpdateResult, FindFieldNameResult

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/model/model-iterator.ts
var model_iterator = __webpack_require__(7747);
// EXTERNAL MODULE: ./src/common/model/position/linked-interval.ts
var linked_interval = __webpack_require__(7247);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/fields/parsers/field-code-parser.ts
var field_code_parser = __webpack_require__(5529);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/formatters/date-time-field.js
var date_time_field = __webpack_require__(8889);
// EXTERNAL MODULE: ./src/common/model/fields/names.ts
var names = __webpack_require__(5049);
// EXTERNAL MODULE: ./src/common/model/fields/parsers/field-code-parser-client-updating-base.ts
var field_code_parser_client_updating_base = __webpack_require__(2492);
;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-date.ts




class FieldCodeParserDate extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.Date; }
    fillResult() {
        const dateFormatter = new date_time_field/* DateTimeFieldFormatter */.J(this.modelManager.richOptions.cultureOpts);
        const currDate = new Date();
        let dateText;
        var dateFormatSwitches = [];
        for (var i = 0, switchInfo; switchInfo = this.switchInfoList[i]; i++)
            if (switchInfo.type == field_code_parser/* FieldSwitchType */.vl.DateAndTime)
                dateFormatSwitches.push(switchInfo);
        switch (dateFormatSwitches.length) {
            case 1:
                dateText = dateFormatter.format(currDate, dateFormatSwitches[0].arg);
                break;
            case 0:
            default:
                dateText = dateFormatter.format(currDate, this.getDefaultFormat());
                break;
        }
        if (dateText) {
            this.setInputPositionState();
            this.replaceTextByInterval(this.getTopField().getResultInterval(), dateText);
        }
        return true;
    }
    getDefaultFormat() {
        return this.modelManager.richOptions.fields.defaultDateFormat;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/json-field-enums.ts
var json_field_enums = __webpack_require__(5060);
// EXTERNAL MODULE: ./src/common/model/json/importers/server-model-inserter.ts + 2 modules
var server_model_inserter = __webpack_require__(2055);
// EXTERNAL MODULE: ./src/common/model/fields/field-request-manager.ts
var field_request_manager = __webpack_require__(9526);
;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-doc-variable.ts








class FieldCodeParserDocVariable extends field_code_parser/* FieldCodeParser */.mv {
    get name() { return names/* FieldName */.L.DocVariable; }
    getMailMergeType() {
        return field_code_parser/* FieldMailMergeType */.mI.NonMailMerge;
    }
    parseCodeCurrentFieldInternal(responce) {
        if (responce && this.fieldID != undefined && responce[this.fieldID]) {
            if (this.applyResponse(responce[this.fieldID]))
                this.parserState = field_code_parser/* FieldCodeParserState */.FE.resultPartCreated;
            else
                this.parserState = field_code_parser/* FieldCodeParserState */.FE.end;
            return true;
        }
        if (!this.parseSwitchesAndArgs()) {
            this.parserState = field_code_parser/* FieldCodeParserState */.FE.end;
            return true;
        }
        if (this.insertDefaultText()) {
            this.parserState = field_code_parser/* FieldCodeParserState */.FE.end;
            return true;
        }
        if (!this.placeRequest()) {
            this.parserState = field_code_parser/* FieldCodeParserState */.FE.end;
            return true;
        }
        return false;
    }
    insertDefaultText() {
        return false;
    }
    placeRequest() {
        if (this.parameterInfoList.length < 1)
            return false;
        this.fieldID = this.subDocument.fieldsWaitingForUpdate.requestManager.add(this.subDocument, this.getRequestData());
        return true;
    }
    getRequestData() {
        return new field_request_manager/* FieldDocVariableRequestData */.ej(this.getTopField().getAllFieldInterval(), this.parameterInfoList[0].text, list.ListUtils.map(this.parameterInfoList, (paramInfo) => paramInfo.clone(), 1));
    }
    getFormattedResult(value) {
        return rich_utils/* RichUtils */.i.replaceParagraphEndCharsWithLineBreak(super.getFormattedResult(value));
    }
    applyResponse(response) {
        var fieldResultInterval = this.getTopField().getResultInterval();
        this.setInputPositionState();
        var simpleText = response[json_field_enums/* JSONUpdateFieldCommandResult */.op.SimpleText];
        if (simpleText !== undefined) {
            if (simpleText !== null)
                if (simpleText !== "")
                    this.replaceTextByInterval(fieldResultInterval, this.getFormattedResult(simpleText));
                else
                    this.removeInterval(fieldResultInterval);
            return true;
        }
        else if (!response[json_field_enums/* JSONUpdateFieldCommandResult */.op.Caches]) {
            const rangeCopy = response[json_field_enums/* JSONUpdateFieldCommandResult */.op.DocumentModel];
            this.removeInterval(fieldResultInterval);
            rangeCopy.insertTo(this.modelManager.modelManipulator, new sub_document/* SubDocumentPosition */.rg(this.subDocument, this.getTopField().getResultStartPosition()));
        }
        else {
            this.removeInterval(fieldResultInterval);
            server_model_inserter/* ServerModelInserter */.l.insertDocumentModelFromServer(this.modelManager, response, this.getTopField().getResultStartPosition(), this.subDocument.id);
            return true;
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/fields/parsers/field-code-parser-hyperlink.ts
var field_code_parser_hyperlink = __webpack_require__(274);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-manipulator/insert-text-manipulator-params.ts
var insert_text_manipulator_params = __webpack_require__(2598);
;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-merge-field.ts








class FieldCodeParserMailMerge extends FieldCodeParserDocVariable {
    get name() { return names/* FieldName */.L.MergeField; }
    getMailMergeType() {
        return field_code_parser/* FieldMailMergeType */.mI.MailMerge;
    }
    insertDefaultText() {
        if (this.modelManager.richOptions.mailMerge.isEnabled && this.modelManager.richOptions.mailMerge.viewMergedData)
            return false;
        const defaultText = this.modelManager.model.simpleFormattersManager.formatString("<<{0}>>", this.parameterInfoList[0].text);
        this.setInputPositionState();
        this.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.subDocument, this.getTopField().getResultInterval()), true, false);
        this.modelManager.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(this.subDocument, this.getTopField().getResultInterval().start), this.inputPos.charPropsBundle, run_type/* RunType */.m.TextRun, defaultText));
        return true;
    }
    getRequestData() {
        return new field_request_manager/* FieldMailMergeRequestData */.pJ(this.parameterInfoList[0].text);
    }
    getMergeFieldName() {
        if (this.parameterInfoList.length == 0)
            this.parseSwitchesAndArgs();
        return this.parameterInfoList[0] ? this.parameterInfoList[0].text : '';
    }
    applyResponse(response) {
        const simpleText = response[json_field_enums/* JSONUpdateFieldCommandResult */.op.SimpleText];
        if (simpleText === null)
            return false;
        const fieldResultInterval = this.getTopField().getResultInterval();
        this.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.subDocument, fieldResultInterval), true, false);
        if (simpleText !== "") {
            this.setInputPositionState();
            this.modelManager.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(this.subDocument, fieldResultInterval.start), this.inputPos.charPropsBundle, run_type/* RunType */.m.TextRun, this.getFormattedResult(simpleText)));
        }
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-num-pages.ts


class FieldCodeParserNumPages extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.NumPages; }
    fillResult() {
        this.setInputPositionState();
        if (this.subDocument.isMain()) {
            const numPagesText = this.layoutFormatterManager.layout.lastMaxNumPages.toString();
            this.replaceTextByInterval(this.getTopField().getResultInterval(), numPagesText);
        }
        else
            this.replaceTextByLayoutDependentRun(this.getTopField().getResultInterval());
        return true;
    }
}

// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-page.ts




class FieldCodeParserPage extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.Page; }
    fillResult() {
        const pos = this.getPosition();
        if (pos == null)
            return true;
        this.setInputPositionState();
        if (this.subDocument.isMain()) {
            let layoutPosition = layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.layoutFormatterManager, this.subDocument, pos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
            let pageText = this.getFormattedResult(layoutPosition.pageIndex + 1);
            this.replaceTextByInterval(this.getTopField().getResultInterval(), pageText);
        }
        else
            this.replaceTextByLayoutDependentRun(this.getTopField().getResultInterval());
        return true;
    }
    getPosition() {
        let field = this.getTopField();
        return field.showCode ? field.getCodeStartPosition() : field.getResultStartPosition();
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-page-ref.ts





class FieldCodeParserPageRef extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.PageRef; }
    fillResult() {
        const pos = this.getPosition();
        if (pos == null)
            return true;
        let resultAsLink = false;
        for (let i = 0, switchInfo; switchInfo = this.switchInfoList[i]; i++)
            if (switchInfo.type == field_code_parser/* FieldSwitchType */.vl.FieldSpecific && switchInfo.name.toUpperCase() == "H")
                resultAsLink = true;
        this.modelManager.history.beginTransaction();
        this.setInputPositionState();
        if (this.subDocument.isMain()) {
            const layoutPosition = layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.layoutFormatterManager, this.subDocument, pos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
            const pageText = this.getFormattedResult(layoutPosition.pageIndex + 1);
            this.replaceTextByInterval(this.getTopField().getResultInterval(), pageText);
            if (resultAsLink)
                this.createLocalHyperLink(this.getTopField().getResultInterval(), this.getBookmarkName());
        }
        else
            this.replaceTextByLayoutDependentRun(this.getTopField().getResultInterval());
        this.modelManager.history.endTransaction();
        return true;
    }
    getPosition() {
        const bookmark = this.findBookmark(this.getBookmarkName());
        return bookmark ? bookmark.start : null;
    }
    getBookmarkName() {
        return this.parameterInfoList[0] ? this.parameterInfoList[0].text : "";
    }
    findBookmark(name) {
        name = name.toUpperCase();
        for (let bm of this.subDocument.bookmarks)
            if (bm.name.toUpperCase() == name)
                return bm;
        return null;
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-seq.ts







class FieldCodeParserSeq extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.Seq; }
    fillResult() {
        let field = this.getTopField();
        let sequenceInfo = this.updateSequenceInfo(field);
        if (!sequenceInfo || sequenceInfo.hidesResult) {
            this.removeInterval(this.getTopField().getResultInterval());
            return true;
        }
        let currentValue = 0;
        for (let i = 0; i <= field.index; i++) {
            const currentField = this.subDocument.fields[i];
            const currentInfo = currentField.getSequenceInfo();
            if (currentInfo && currentInfo.identifier == sequenceInfo.identifier) {
                if (!currentInfo.repeats)
                    currentValue++;
                if (currentInfo.resets)
                    currentValue = currentInfo.resetsWith;
            }
        }
        let resultText = this.getFormattedResult(currentValue);
        this.removeInterval(this.getTopField().getResultInterval());
        this.setInputPositionState();
        this.modelManager.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(this.subDocument, this.getTopField().getResultInterval().start), this.inputPos.charPropsBundle, run_type/* RunType */.m.TextRun, resultText));
        return true;
    }
    updateSequenceInfo(field) {
        let repeatsSwitch;
        let hidesResultSwitch;
        let resetsSwitch;
        for (let i = 0, switchInfo; switchInfo = this.switchInfoList[i]; i++)
            if (switchInfo.type == field_code_parser/* FieldSwitchType */.vl.FieldSpecific) {
                switch (switchInfo.name.toLocaleUpperCase()) {
                    case "C":
                        repeatsSwitch = switchInfo;
                        break;
                    case "H":
                        hidesResultSwitch = switchInfo;
                        break;
                    case "R":
                        resetsSwitch = switchInfo;
                        break;
                }
            }
        const identifier = !!this.parameterInfoList[0] ? this.parameterInfoList[0].text : "";
        let sequenceInfo = new fields_field/* SequenceInfo */.Yd(identifier, !!repeatsSwitch, !!hidesResultSwitch, !!resetsSwitch, resetsSwitch ? Number(resetsSwitch.arg) : 0);
        field.setNewSequenceInfo(sequenceInfo);
        return sequenceInfo;
    }
    needUpdateInfo() {
        return true;
    }
    updateInfoCore() {
        this.updateSequenceInfo(this.getTopField());
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-tc.ts




class FieldCodeParserTc extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.Tc; }
    fillResult() {
        const field = this.getTopField();
        this.updateTcInfo(field);
        return true;
    }
    updateTcInfo(field) {
        let identifierSwitch, levelSwitch;
        for (let i = 0, switchInfo; switchInfo = this.switchInfoList[i]; i++)
            if (switchInfo.type == field_code_parser/* FieldSwitchType */.vl.FieldSpecific) {
                switch (switchInfo.name.toLocaleUpperCase()) {
                    case "F":
                        identifierSwitch = switchInfo;
                        break;
                    case "L":
                        levelSwitch = switchInfo;
                        break;
                }
            }
        if (identifierSwitch && identifierSwitch.arg) {
            const text = !!this.parameterInfoList[0] ? this.parameterInfoList[0].text : "";
            const tcInfo = new fields_field/* TcInfo */.jo(identifierSwitch.arg, text, levelSwitch ? Number(levelSwitch.arg) : 1);
            field.setNewTcInfo(tcInfo);
        }
    }
    needUpdateInfo() {
        return true;
    }
    updateInfoCore() {
        this.updateTcInfo(this.getTopField());
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-time.ts


class FieldCodeParserTime extends FieldCodeParserDate {
    get name() { return names/* FieldName */.L.Time; }
    getDefaultFormat() {
        return this.modelManager.richOptions.fields.defaultTimeFormat;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-tab-space-box.ts
var layout_tab_space_box = __webpack_require__(374);
// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
// EXTERNAL MODULE: ./src/common/model/bookmarks.ts
var bookmarks = __webpack_require__(1823);
// EXTERNAL MODULE: ./src/common/model/history/items/bookmark-history-items.ts
var bookmark_history_items = __webpack_require__(2461);
// EXTERNAL MODULE: ./src/common/model/history/items/field-insert-history-item.ts
var field_insert_history_item = __webpack_require__(835);
// EXTERNAL MODULE: ./src/common/model/history/items/paragraph-properties-history-items.ts
var paragraph_properties_history_items = __webpack_require__(6690);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/insert-paragraph-manipulator-params.ts
var insert_paragraph_manipulator_params = __webpack_require__(7970);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-toc.ts






















class FieldCodeParserToc extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.Toc; }
    fillResult() {
        this.modelManager.history.beginTransaction();
        const params = this.getTocParserParams();
        const tocElements = this.createTocElements(params);
        this.setInputPositionState();
        this.resetParagraphTabs();
        if (tocElements.length > 0)
            this.createToc(tocElements, params);
        else
            this.insertNoTocText();
        this.modelManager.history.endTransaction();
        return true;
    }
    createTocElements(params) {
        if (params.fromTc)
            return this.createTocElementsByTc(params);
        if (params.fromSeq)
            return this.createTocElementsBySeq(params);
        return this.createTocElementsByOutlineLevel(params);
    }
    createTocElementsByTc(params) {
        let tocElements = [];
        for (let i = 0, field; field = this.subDocument.fields[i]; i++)
            if (field.isTcField()) {
                const tcInfo = field.getTcInfo();
                if (tcInfo.identifier.toUpperCase() == params.tcIdentifier.toUpperCase() &&
                    (!params.useSpecifiedTcLevels || (tcInfo.level >= params.tcLevelStart && tcInfo.level <= params.tcLevelEnd))) {
                    const bookmarkName = this.getBookmarkName(field.getAllFieldInterval());
                    if (this.isValidHeading(tcInfo.text))
                        tocElements.push(new TocElement(bookmarkName, tcInfo.text, tcInfo.level, false));
                }
            }
        return tocElements;
    }
    createTocElementsBySeq(params) {
        let tocElements = [];
        for (let i = 0, field; field = this.subDocument.fields[i]; i++)
            if (field.isSequenceField()) {
                const seqInfo = field.getSequenceInfo();
                if (seqInfo.identifier.toUpperCase() == params.seqIdentifier.toUpperCase()) {
                    const paragraph = this.subDocument.getParagraphByPosition(field.getCodeStartPosition());
                    const paragraphInterval = paragraph.interval;
                    paragraphInterval.length -= 1;
                    const text = this.subDocument.getSimpleText(paragraphInterval).trim();
                    const bookmarkName = this.getBookmarkName(paragraphInterval);
                    if (this.isValidHeading(text))
                        tocElements.push(new TocElement(bookmarkName, text, 1, false));
                }
            }
        return tocElements;
    }
    createTocElementsByOutlineLevel(params) {
        let tocElements = [];
        for (let i = 0, paragraph; paragraph = this.subDocument.paragraphs[i]; i++) {
            const styleOutlineLevel = paragraph.paragraphStyle.getMergedParagraphProperties().outlineLevel;
            const level = params.fromOutlineLevel && styleOutlineLevel <= 0 ?
                paragraph.getParagraphMergedProperties().outlineLevel :
                styleOutlineLevel;
            if (level > 0 && (!params.useSpecifiedLevels || (level >= params.specifiedLevelStart && level <= params.specifiedLevelEnd))) {
                const paragraphInterval = this.getParagraphInterval(paragraph);
                const bookmarkName = this.getBookmarkName(paragraphInterval);
                const mainText = this.subDocument.getSimpleText(paragraph.interval).trim()
                    .replace(new RegExp(rich_utils/* RichUtils */.i.specialCharacters.TabMark, "gi"), rich_utils/* RichUtils */.i.specialCharacters.Space);
                let text = mainText;
                const hasNumbering = paragraph.getNumberingListIndex() >= 0;
                if (hasNumbering)
                    text = paragraph.getNumberingListText() + paragraph.getNumberingListSeparatorChar() + mainText;
                if (this.isValidHeading(text))
                    tocElements.push(new TocElement(bookmarkName, text, level, hasNumbering));
            }
        }
        return tocElements;
    }
    static getParagraphInterval(subDocument, paragraph) {
        const characterIterator = new model_iterator/* ModelIterator */.w(subDocument, false);
        const paragraphMarkPosition = paragraph.interval.end - 1;
        characterIterator.setPosition(paragraph.startLogPosition.value);
        while (characterIterator.getAbsolutePosition() < paragraphMarkPosition && this.isWhiteSpace(characterIterator.getCurrentChar())) {
            if (!characterIterator.moveToNextChar())
                break;
        }
        const intervalStart = characterIterator.getAbsolutePosition();
        const length = paragraph.interval.length - (intervalStart - paragraph.startLogPosition.value) - 1;
        return new fixed.FixedInterval(intervalStart, length);
    }
    getParagraphInterval(paragraph) {
        return FieldCodeParserToc.getParagraphInterval(this.subDocument, paragraph);
    }
    static isWhiteSpace(ch) {
        return rich_utils/* RichUtils */.i.isWhitespace.test(ch) || ch == rich_utils/* RichUtils */.i.specialCharacters.NonBreakingSpace || ch == rich_utils/* RichUtils */.i.specialCharacters.PageBreak || ch == rich_utils/* RichUtils */.i.specialCharacters.ColumnBreak || ch == rich_utils/* RichUtils */.i.specialCharacters.LineBreak;
    }
    createToc(tocElements, params) {
        let fieldsForUpdate = [];
        for (let i = 0, tocElement; tocElement = tocElements[i]; i++) {
            const startPos = this.interval.start;
            this.resetParagraphTabs();
            this.insertHeading(tocElement);
            if (tocElement.hasNumbering)
                this.insertTocNumberingTabInfo(tocElement.level);
            if (!params.useCustomSeparator)
                this.insertDotTabInfo();
            if (!params.omitsPageNumbers || tocElement.level < params.omitsPageNumbersStart || tocElement.level > params.omitsPageNumbersEnd) {
                this.insertSeparator(params);
                fieldsForUpdate.push(this.insetPageRef(tocElement));
            }
            if (params.asHyperlink)
                this.createLocalHyperLink(fixed.FixedInterval.fromPositions(startPos, this.interval.end), tocElement.bookmarkName);
            this.setParagraphStyle(tocElement);
            if (tocElements[i + 1]) {
                this.removeInterval(this.interval);
                this.modelManager.modelManipulator.paragraph.insertParagraphViaHistory(new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(this.subDocument, this.interval.start), this.inputPos.charPropsBundle, properties_bundle/* MaskedParagraphPropertiesBundleFull */.Us.notSetted, true, () => { }));
            }
        }
        if (fieldsForUpdate.length > 0) {
            let intervalsForUpdate = [];
            list.ListUtils.forEach(fieldsForUpdate, (field) => {
                intervalsForUpdate.push(field.getAllFieldInterval());
            });
            new FieldsWaitingForUpdate(this.modelManager, this.layoutFormatterManager, new field_request_manager/* TocFieldRequestManager */.mH(), new sub_document/* SubDocumentIntervals */.Jt(this.subDocument, intervalsForUpdate), new UpdateFieldsOptions(), () => { }).update(null);
        }
    }
    insertNoTocText() {
        this.replaceTextByInterval(this.interval, this.layoutFormatterManager.stringResources.commonLabels.noTocEntriesFound);
    }
    resetParagraphTabs() {
        const paragraphIndex = this.subDocument.getParagraphIndexByPosition(this.interval.start);
        const paragraph = this.subDocument.paragraphs[paragraphIndex];
        let tabs = paragraph.getTabs();
        let tab;
        while (tab = tabs.positions.pop())
            this.modelManager.history.addAndRedo(new paragraph_properties_history_items/* DeleteTabAtParagraphHistoryItem */.qn(this.modelManager.modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.subDocument, paragraph.interval), tab));
    }
    setParagraphStyle(tocElement) {
        const paragraph = this.subDocument.paragraphs[this.subDocument.getParagraphIndexByPosition(this.interval.start)];
        this.modelManager.modelManipulator.style.applyParagraphStyleByName(new sub_document/* SubDocumentInterval */.v8(this.subDocument, paragraph.interval), `${paragraph_style/* ParagraphStyle */.PO.tocStyleName} ${tocElement.level}`);
    }
    insertHeading(tocElement) {
        this.replaceTextByInterval(this.interval, tocElement.text);
    }
    insertSeparator(params) {
        const separator = params.useCustomSeparator ? params.separator : rich_utils/* RichUtils */.i.specialCharacters.TabMark;
        this.replaceTextByInterval(this.interval, separator);
    }
    insertDotTabInfo() {
        const sectionProperties = this.modelManager.model.getSectionByPosition(this.interval.start).sectionProperties;
        const tabPosition = sectionProperties.pageWidth - sectionProperties.marginLeft - sectionProperties.marginRight;
        this.insertTabInfo(tabPosition, layout_tab_space_box/* TabLeaderType */.LT.Dots, paragraph/* TabAlign */.K9.Right, false);
    }
    insertTocNumberingTabInfo(level) {
        const tocTabWidth = unit_converter/* UnitConverter */.u.inchesToTwips(0.31) + (level - 1) * unit_converter/* UnitConverter */.u.inchesToTwips(0.15);
        this.insertTabInfo(tocTabWidth, layout_tab_space_box/* TabLeaderType */.LT.None, paragraph/* TabAlign */.K9.Left, false);
    }
    insertTabInfo(tabPosition, tabLeaderType, tabAlign, isDefault) {
        const interval = this.interval;
        const tabInfo = new paragraph_style/* TabInfo */.i3(tabPosition, tabAlign, tabLeaderType, false, isDefault);
        this.modelManager.history.addAndRedo(new paragraph_properties_history_items/* InsertTabToParagraphHistoryItem */.jX(this.modelManager.modelManipulator, new sub_document/* SubDocumentInterval */.v8(this.subDocument, interval), tabInfo));
    }
    insetPageRef(tocElement) {
        const interval = this.interval;
        this.modelManager.history.addAndRedo(new field_insert_history_item/* FieldInsertHistoryItem */.O(this.modelManager.modelManipulator, this.subDocument, interval.start, 0, interval.length, false, this.inputPos.charPropsBundle));
        let fieldIndex = fields_field/* Field */.gN.normedBinaryIndexOf(this.subDocument.fields, interval.start + 1);
        let field = this.subDocument.fields[fieldIndex];
        const code = this.modelManager.model.simpleFormattersManager.formatString("PAGEREF \"{0}\" \\h", tocElement.bookmarkName);
        this.replaceTextByInterval(field.getCodeInterval(), code);
        return field;
    }
    getTocParserParams() {
        let params = new TocParserParameters();
        for (let i = 0, switchInfo; switchInfo = this.switchInfoList[i]; i++)
            if (switchInfo.type == field_code_parser/* FieldSwitchType */.vl.FieldSpecific) {
                switch (switchInfo.name.toLocaleUpperCase()) {
                    case "H":
                        params.asHyperlink = true;
                        break;
                    case "F":
                        params.tcIdentifier = switchInfo.arg;
                        params.fromTc = !!params.tcIdentifier;
                        break;
                    case "C":
                        params.seqIdentifier = switchInfo.arg;
                        params.fromSeq = !!params.seqIdentifier;
                        break;
                    case "U":
                        params.fromOutlineLevel = true;
                        break;
                    case "P":
                        params.useCustomSeparator = true;
                        params.separator = switchInfo.arg;
                        break;
                    case "O":
                        const oArg = new RangedArg(switchInfo.arg);
                        params.useSpecifiedLevels = oArg.isValid();
                        params.specifiedLevelStart = oArg.getStart();
                        params.specifiedLevelEnd = oArg.getEnd();
                        break;
                    case "L":
                        const lArg = new RangedArg(switchInfo.arg);
                        params.useSpecifiedTcLevels = lArg.isValid();
                        params.tcLevelStart = lArg.getStart();
                        params.tcLevelEnd = lArg.getEnd();
                        break;
                    case "N":
                        params.omitsPageNumbers = true;
                        const nArg = new RangedArg(switchInfo.arg);
                        if (nArg.isValid()) {
                            params.omitsPageNumbersStart = nArg.getStart();
                            params.omitsPageNumbersEnd = nArg.getEnd();
                        }
                        else {
                            params.omitsPageNumbersStart = 1;
                            params.omitsPageNumbersEnd = 9;
                        }
                        break;
                }
            }
        return params;
    }
    isValidHeading(text) {
        if (!text)
            return false;
        for (let i = 0, char; char = text[i]; i++)
            if (!rich_utils/* RichUtils */.i.isWhitespace.test(char))
                return true;
        return false;
    }
    get interval() {
        let pos = this.getTopField().getResultInterval().end;
        return new fixed.FixedInterval(pos, 0);
    }
    getBookmarkName(interval) {
        const bookmark = list.ListUtils.elementBy(this.subDocument.bookmarks, (bm) => bm.isToc() &&
            bm.start == interval.start && bm.end == interval.end);
        return bookmark ? bookmark.name : this.createNewBookmark(interval);
    }
    createNewBookmark(interval) {
        const name = this.generateNewBookmarkName();
        this.modelManager.history.addAndRedo(new bookmark_history_items/* CreateBookmarkHistoryItem */.z6(this.modelManager.modelManipulator, this.subDocument, new bookmarks/* ConstBookmark */.Om(interval, name)));
        return name;
    }
    generateNewBookmarkName() {
        while (true) {
            const name = this.modelManager.model.simpleFormattersManager.formatString("_Toc{0}", math.MathUtils.getRandomInt(0, 10000000000));
            for (let i = 0, bookmark; bookmark = this.subDocument.bookmarks[i]; i++)
                if (bookmark.name.toUpperCase() == name.toUpperCase())
                    continue;
            return name;
        }
    }
}
class TocParserParameters {
    constructor() {
        this.asHyperlink = false;
        this.fromOutlineLevel = false;
        this.fromTc = false;
        this.fromSeq = false;
        this.useCustomSeparator = false;
        this.useSpecifiedLevels = false;
        this.omitsPageNumbers = false;
        this.useSpecifiedTcLevels = false;
    }
}
class TocElement {
    constructor(bookmarkName, text, level, hasNumbering) {
        this.bookmarkName = bookmarkName;
        this.text = text;
        this.level = level;
        this.hasNumbering = hasNumbering;
    }
}
class RangedArg {
    constructor(arg) {
        this.start = Number(arg.split('-')[0]);
        this.end = Number(arg.split('-')[1]);
    }
    getStart() {
        return this.isValid() ? this.start : null;
    }
    getEnd() {
        return this.isValid() ? this.end : null;
    }
    isValid() {
        return !isNaN(this.start) && !isNaN(this.end) && this.start >= 0 && this.end >= 0 && this.end >= this.start;
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/parsers/fill-in.ts




class FieldCodeParserFillIn extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.FillIn; }
    fillResult() {
        var _a, _b, _c;
        const switches = list.ListUtils.reducedMap(this.switchInfoList, switchInfo => switchInfo.type == field_code_parser/* FieldSwitchType */.vl.FieldSpecific ? switchInfo : null);
        const defaultPrompt = ((_a = switches[0]) === null || _a === void 0 ? void 0 : _a.name) == 'd' ? switches[0].arg : "";
        const prompt = (_c = (_b = this.parameterInfoList[0]) === null || _b === void 0 ? void 0 : _b.text) !== null && _c !== void 0 ? _c : '';
        const response = window.prompt(prompt, defaultPrompt);
        if (response) {
            this.setInputPositionState();
            this.replaceTextByInterval(this.getTopField().getResultInterval(), response);
        }
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/parsers/field-code-parser-if.ts


class FieldCodeParserIf extends field_code_parser_client_updating_base/* FieldCodeParserClientUpdatingBase */.K {
    get name() { return names/* FieldName */.L.If; }
    fillResult() {
        this.setInputPositionState();
        let result = null;
        try {
            result = this.getResult();
        }
        catch (err) {
            if (err instanceof IfExpressionError) {
                result = err.message;
            }
        }
        finally {
            if (result) {
                this.replaceTextByInterval(this.getTopField().getResultInterval(), result);
            }
            return true;
        }
    }
    getResult() {
        const expression = this.parseParameters(this.parameterInfoList);
        return expression.evaluate();
    }
    parseParameters(parameters) {
        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
        if (parameters.length > 5)
            throw new IfExpressionTooManyParametersError();
        if (parameters.length === 0)
            throw new IfExpressionMissingParametersError();
        let leftExpression;
        let operator;
        let rightExpression;
        let trueText;
        let falseText;
        if (parameters.length <= 3 && !IfExpression.isOperator((_a = parameters[1]) === null || _a === void 0 ? void 0 : _a.text)) {
            leftExpression = new IfExpressionParameter((_b = parameters[0]) === null || _b === void 0 ? void 0 : _b.text, (_c = parameters[0]) === null || _c === void 0 ? void 0 : _c.quoted);
            trueText = (_d = parameters[1]) === null || _d === void 0 ? void 0 : _d.text;
            falseText = (_e = parameters[2]) === null || _e === void 0 ? void 0 : _e.text;
        }
        else {
            leftExpression = new IfExpressionParameter((_f = parameters[0]) === null || _f === void 0 ? void 0 : _f.text, (_g = parameters[0]) === null || _g === void 0 ? void 0 : _g.quoted);
            operator = (_h = parameters[1]) === null || _h === void 0 ? void 0 : _h.text;
            rightExpression = new IfExpressionParameter((_j = parameters[2]) === null || _j === void 0 ? void 0 : _j.text, (_k = parameters[2]) === null || _k === void 0 ? void 0 : _k.quoted);
            trueText = (_l = parameters[3]) === null || _l === void 0 ? void 0 : _l.text;
            falseText = (_m = parameters[4]) === null || _m === void 0 ? void 0 : _m.text;
        }
        return new IfExpression(operator, leftExpression, rightExpression, trueText, falseText);
    }
}
class IfExpression {
    constructor(operator, leftExpression, rightExpression, trueText = undefined, falseText = undefined) {
        this.operator = operator;
        this.leftExpression = leftExpression;
        this.rightExpression = rightExpression;
        this.trueText = trueText;
        this.falseText = falseText;
    }
    static isOperator(operator) {
        return IfExpression.operators.includes(operator);
    }
    evaluate() {
        if (!this.operator && !this.leftExpression.isNumber) {
            return this.leftExpression.text ? this.trueText : this.falseText;
        }
        if (!IfExpression.isOperator(this.operator)) {
            throw new IfExpressionInvalidOperatorError();
        }
        let difference;
        if (this.leftExpression.isNumber && this.rightExpression.isNumber) {
            difference = this.leftExpression.number - this.rightExpression.number;
        }
        else {
            const isEqualityOperator = this.operator === "=" || this.operator === "<>";
            const compareFunction = isEqualityOperator ? IfExpression.compareStringsWithWildcards : IfExpression.compareStrings;
            difference = compareFunction(this.leftExpression.text, this.rightExpression.text);
        }
        return this.evaluateComparison(difference) ? this.trueText : this.falseText;
    }
    evaluateComparison(comparisonResult) {
        switch (this.operator) {
            case "<":
                return comparisonResult < 0;
            case ">":
                return comparisonResult > 0;
            case "=":
                return comparisonResult === 0;
            case "<=":
                return comparisonResult <= 0;
            case ">=":
                return comparisonResult >= 0;
            case "<>":
                return comparisonResult != 0;
            default:
                return false;
        }
    }
    static compareStrings(leftValue, rightValue) {
        return leftValue.localeCompare(rightValue);
    }
    static compareStringsWithWildcards(leftValue, rightValue) {
        const escapedPattern = rightValue.replace(/[.+^${}()|[\]\\]/g, "\\$&");
        const regexPattern = escapedPattern.replace(/\*/g, '.*').replace(/\?/g, '.');
        const regex = new RegExp(`^${regexPattern}$`);
        return regex.test(leftValue) ? 0 : 1;
    }
}
IfExpression.operators = ["<", ">", "=", "<=", ">=", "<>"];
class IfExpressionParameter {
    constructor(text, isQuoted = false) {
        this.text = text;
        this.number = parseFloat(text);
        this.isNumber = !isQuoted && !Number.isNaN(this.number);
    }
}
class IfExpressionError extends Error {
    constructor(message) {
        super(message);
        Object.setPrototypeOf(this, IfExpressionError.prototype);
    }
}
class IfExpressionInvalidOperatorError extends IfExpressionError {
    constructor(message) {
        super(message !== null && message !== void 0 ? message : "IF field error: Invalid comparison operator");
        Object.setPrototypeOf(this, IfExpressionInvalidOperatorError.prototype);
    }
}
class IfExpressionTooManyParametersError extends IfExpressionError {
    constructor(message) {
        super(message !== null && message !== void 0 ? message : "IF field error: Too many parameters");
        Object.setPrototypeOf(this, IfExpressionTooManyParametersError.prototype);
    }
}
class IfExpressionMissingParametersError extends IfExpressionError {
    constructor(message) {
        super(message !== null && message !== void 0 ? message : "IF field error: Missing parameter(s)");
        Object.setPrototypeOf(this, IfExpressionMissingParametersError.prototype);
    }
}

;// CONCATENATED MODULE: ./src/common/model/fields/tree-creator.ts





















class FieldParsersAndIntervals {
    constructor(interval) {
        this.interval = interval;
        this.parsers = [];
        this.updated = false;
    }
    destructor(manager) {
        this.interval.destructor(manager);
    }
}
class FieldUpdateResult {
    constructor(subDocIntervals) {
        this.subDocIntervals = subDocIntervals;
    }
}
class UpdateFieldsOptions {
    constructor(updateToc = true, updateFillIn = true) {
        this.updateToc = updateToc;
        this.updateFillIn = updateFillIn;
    }
}
class FieldsWaitingForUpdate {
    get fields() { return this.subDocument.fields; }
    constructor(modelManager, layoutFormatterManager, requestManager, subDocumentIntervals, options, callback) {
        this.infoForFutureUpdate = [];
        this.savedSelectionIntervals = [];
        this.modelManager = modelManager;
        this.layoutFormatterManager = layoutFormatterManager;
        this.requestManager = requestManager;
        this.callback = callback;
        this.subDocument = subDocumentIntervals.subDocument;
        this.options = options;
        this.infoForFutureUpdate = list.ListUtils.map(subDocumentIntervals.intervals, (interval) => new FieldParsersAndIntervals(new linked_interval/* LinkedInterval */.k(this.subDocument.positionManager, interval)));
        this.savedSelectionIntervals = list.ListUtils.map(subDocumentIntervals.intervals, (interval) => new linked_interval/* LinkedInterval */.k(this.subDocument.positionManager, interval));
    }
    update(response, immediateSendRequest = true) {
        if (this.fields.length == 0) {
            this.endAction();
            return;
        }
        this.requestManager.checkResponse(this.subDocument, response);
        this.requestManager.clear(this.subDocument);
        var countUpdatedInfos = 0;
        for (var infoIndex = 0, info; info = this.infoForFutureUpdate[infoIndex]; infoIndex++) {
            if (info.updated) {
                countUpdatedInfos++;
                continue;
            }
            if (info.parsers.length > 0) {
                if (this.continueUpdateCurrentInterval(info.parsers, response)) {
                    info.updated = true;
                    countUpdatedInfos++;
                }
                continue;
            }
            var fieldIndex = Math.max(0, fields_field/* Field */.gN.normedBinaryIndexOf(this.fields, info.interval.start + 1));
            var field = this.fields[fieldIndex];
            while (!field.getAllFieldInterval().containsWithIntervalEnd(info.interval.start) && field.parent)
                field = field.parent;
            var startParent = field.parent;
            var someFieldInCurrentInfoNotUpdated = false;
            for (fieldIndex = field.index; field = this.fields[fieldIndex]; fieldIndex++) {
                const startPos = field.getFieldStartPosition();
                if (startPos > info.interval.end || startPos == info.interval.end && info.interval.length > 0)
                    break;
                if (field.getFieldEndPosition() <= info.interval.start ||
                    (field.parent != null && field.parent != startParent) ||
                    !this.subDocument.isEditable([field.getAllFieldInterval()]))
                    continue;
                const fieldParser = FieldsWaitingForUpdate.getParser(this.modelManager, this.layoutFormatterManager, this.requestManager, this.subDocument, field);
                if (fieldParser) {
                    if (!this.options.updateToc && fieldParser instanceof FieldCodeParserToc ||
                        !this.options.updateFillIn && fieldParser instanceof FieldCodeParserFillIn) {
                        const skipAllBefore = field.getFieldEndPosition();
                        fieldParser.destructor();
                        for (let ind = fieldIndex + 1; field = this.fields[ind]; ind++) {
                            if (field.getFieldStartPosition() >= skipAllBefore) {
                                fieldIndex = ind - 1;
                                break;
                            }
                        }
                        continue;
                    }
                    if (!fieldParser.update(response)) {
                        someFieldInCurrentInfoNotUpdated = true;
                        info.parsers.push(fieldParser);
                    }
                    else
                        fieldParser.destructor();
                }
                else {
                    this.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.subDocument, field.getResultInterval()), true, false);
                    field_code_parser/* FieldCodeParser */.mv.finalAction(this.layoutFormatterManager, field, this.subDocument);
                }
            }
            if (!someFieldInCurrentInfoNotUpdated) {
                info.updated = true;
                countUpdatedInfos++;
            }
        }
        if (this.infoForFutureUpdate.length != countUpdatedInfos)
            this.requestManager.sendRequest(this.subDocument, this.modelManager.richOptions.mailMerge.activeRecordIndex, immediateSendRequest);
        else {
            this.requestManager.forceSendDelayedRequests();
            this.endAction();
        }
    }
    endAction() {
        const selectionIntervals = list.ListUtils.map(this.savedSelectionIntervals, (interval) => {
            const fixed = interval.getFixedInterval();
            interval.destructor(this.subDocument.positionManager);
            return fixed;
        });
        for (let info of this.infoForFutureUpdate)
            info.destructor(this.subDocument.positionManager);
        this.infoForFutureUpdate = [];
        this.callback(new FieldUpdateResult(new sub_document/* SubDocumentIntervals */.Jt(this.subDocument, selectionIntervals)));
    }
    continueUpdateCurrentInterval(fieldParsers, response) {
        var allFieldUpdated = true;
        for (var parserIndex = 0, parser; parser = fieldParsers[parserIndex]; parserIndex++) {
            if (parser.update(response)) {
                parser.destructor();
                fieldParsers.splice(parserIndex, 1);
                parserIndex--;
            }
            else
                allFieldUpdated = false;
        }
        return allFieldUpdated;
    }
    static getParser(modelManager, layoutFormatterManager, requestManager, subDocument, field) {
        const modelIterator = new model_iterator/* ModelIterator */.w(subDocument, false);
        modelIterator.setPosition(field.getCodeStartPosition());
        const result = FieldsWaitingForUpdate.findName(modelIterator);
        const parserConstructor = FieldsWaitingForUpdate.parsersMap[result.fieldName];
        return parserConstructor ?
            parserConstructor({
                modelManager: modelManager,
                layoutFormatterManager: layoutFormatterManager,
                requestManager: requestManager,
                subDocument: subDocument,
                field: field,
                modelIterator: modelIterator,
                fieldNameFirstLetterPosition: result.fieldNameFirstLetterPosition
            }) : null;
    }
    static findName(modelIterator) {
        while (modelIterator.run.getType() == run_type/* RunType */.m.TextRun && rich_utils/* RichUtils */.i.isWhitespace.test(modelIterator.getCurrentChar()) ||
            modelIterator.run.getType() == run_type/* RunType */.m.ParagraphRun ||
            modelIterator.run.getType() == run_type/* RunType */.m.SectionRun)
            modelIterator.moveToNextChar();
        const fieldNameFirstLetterPosition = modelIterator.getAbsolutePosition();
        let fieldName = "";
        do {
            fieldName += modelIterator.getCurrentChar();
            modelIterator.moveToNextChar();
        } while (modelIterator.run.getType() == run_type/* RunType */.m.TextRun && !rich_utils/* RichUtils */.i.isWhitespace.test(modelIterator.getCurrentChar()) &&
            modelIterator.run.getType() != run_type/* RunType */.m.ParagraphRun && modelIterator.run.getType() != run_type/* RunType */.m.SectionRun);
        return new FindFieldNameResult(fieldName.toUpperCase(), fieldNameFirstLetterPosition);
    }
}
FieldsWaitingForUpdate.TOC_NAME = "TOC";
FieldsWaitingForUpdate.parsersMap = {
    ["IF"]: (args) => new FieldCodeParserIf(args),
    ["DATE"]: (args) => new FieldCodeParserDate(args),
    ["TIME"]: (args) => new FieldCodeParserTime(args),
    ["DOCVARIABLE"]: (args) => new FieldCodeParserDocVariable(args),
    ["HYPERLINK"]: (args) => new field_code_parser_hyperlink/* FieldCodeParserHyperlink */.R(args),
    ["MERGEFIELD"]: (args) => new FieldCodeParserMailMerge(args),
    ["NUMPAGES"]: (args) => new FieldCodeParserNumPages(args),
    ["PAGE"]: (args) => new FieldCodeParserPage(args),
    ["SEQ"]: (args) => new FieldCodeParserSeq(args),
    ["TC"]: (args) => new FieldCodeParserTc(args),
    [FieldsWaitingForUpdate.TOC_NAME]: (args) => new FieldCodeParserToc(args),
    ["PAGEREF"]: (args) => new FieldCodeParserPageRef(args),
    ["FILLIN"]: (args) => new FieldCodeParserFillIn(args),
};
class FindFieldNameResult {
    constructor(fieldName, fieldNameFirstLetterPosition) {
        this.fieldName = fieldName;
        this.fieldNameFirstLetterPosition = fieldNameFirstLetterPosition;
    }
}


/***/ }),

/***/ 6483:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Po: function() { return /* binding */ FindReplaceState; },
/* harmony export */   _A: function() { return /* binding */ ForwardCharacterIterator; },
/* harmony export */   id: function() { return /* binding */ SearchDirection; },
/* harmony export */   lK: function() { return /* binding */ BackwardCharacterIterator; },
/* harmony export */   zh: function() { return /* binding */ FindReplaceHelper; }
/* harmony export */ });
/* unused harmony export CharacterIteratorBase */
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2491);
/* harmony import */ var _layout_engine_layout_box_iterator_layout_box_iterator_main_sub_document__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1437);
/* harmony import */ var _layout_engine_layout_box_iterator_layout_box_iterator_other_sub_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2507);
/* harmony import */ var _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6536);
/* harmony import */ var _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9484);
/* harmony import */ var _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8274);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2986);
/* harmony import */ var _history_items_insert_text_history_item__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(334);
/* harmony import */ var _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2598);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(8845);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(3549);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(8096);













var FindReplaceState;
(function (FindReplaceState) {
    FindReplaceState[FindReplaceState["Start"] = 0] = "Start";
    FindReplaceState[FindReplaceState["Found"] = 1] = "Found";
    FindReplaceState[FindReplaceState["DocumentBegin"] = 2] = "DocumentBegin";
    FindReplaceState[FindReplaceState["DocumentEnd"] = 3] = "DocumentEnd";
    FindReplaceState[FindReplaceState["SearchEnd"] = 4] = "SearchEnd";
})(FindReplaceState || (FindReplaceState = {}));
var SearchDirection;
(function (SearchDirection) {
    SearchDirection[SearchDirection["Up"] = 1] = "Up";
    SearchDirection[SearchDirection["Down"] = 2] = "Down";
    SearchDirection[SearchDirection["All"] = 3] = "All";
})(SearchDirection || (SearchDirection = {}));
class FindReplaceHelper {
    constructor(modelManager, layoutFormatterManager, pageIndex, subDocument, layout, storeSelection) {
        this.modelManager = modelManager;
        this.layoutFormatterManager = layoutFormatterManager;
        this.pageIndex = pageIndex;
        this.subDocument = subDocument;
        this.layout = layout;
        this.storeSelection = storeSelection;
    }
    setSearchParams(whatFind, replaceWith, searchDirection, matchCase, regularExpression, findWithPosition, wholeWordsOnly) {
        if (findWithPosition < 0 || findWithPosition > this.subDocument.getDocumentEndPosition())
            throw "In FindReplaceHelper setSearchParams findWithPosition < 0 || findWithPosition > this.subDocument.getDocumentEndPosition()";
        if (wholeWordsOnly && regularExpression)
            throw "In FindReplaceHelper setSearchParams can't set wholeWordsOnly && regularExpression";
        if (wholeWordsOnly && FindReplaceHelper.isCanSetWholeWordsOnlyForThisExpression(whatFind) >= 0)
            throw "In FindReplaceHelper setSearchParams whatFind expression consider not Alphanumeric char[" + FindReplaceHelper.isCanSetWholeWordsOnlyForThisExpression(whatFind) + "]";
        const recalculateSuppFunc = (this.template != (matchCase ? whatFind : whatFind.toUpperCase())) ||
            (this.regularExpression != regularExpression) || (this.matchCase != matchCase) ||
            (this.searchDirection == SearchDirection.Up && searchDirection != SearchDirection.Up) ||
            (this.searchDirection != SearchDirection.Up && searchDirection == SearchDirection.Up);
        this.replaceWith = replaceWith;
        this.searchDirection = searchDirection;
        this.regularExpression = regularExpression;
        this.matchCase = matchCase;
        this.wholeWordsOnly = wholeWordsOnly;
        this.template = this.matchCase ? whatFind : whatFind.toUpperCase();
        this.lastFound = null;
        this.state = FindReplaceState.Start;
        this.beginOrStartDocumentReach = false;
        this.findWithPosition = findWithPosition;
        this.currentPos = findWithPosition;
        this.templateLength = whatFind.length;
        if (!this.wholeWordsOnly && recalculateSuppFunc || !this.supportFunction)
            this.crateSupportFunction();
    }
    static isCanSetWholeWordsOnlyForThisExpression(expression) {
        for (let i = 0; i < expression.length; i++)
            if (!expression[i].match(_rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.isAlphanumeric))
                return i;
        return -1;
    }
    findNext() {
        if (this.state == FindReplaceState.SearchEnd)
            this.setSearchParams(this.template, this.replaceWith, this.searchDirection, this.matchCase, this.regularExpression, this.findWithPosition, this.wholeWordsOnly);
        let newState;
        switch (this.searchDirection) {
            case SearchDirection.Down:
                newState = this.findNextDown();
                break;
            case SearchDirection.All:
                newState = this.findNextAll();
                break;
            case SearchDirection.Up:
                newState = this.findNextUp();
                break;
        }
        if (newState == FindReplaceState.DocumentEnd || newState == FindReplaceState.DocumentBegin)
            this.beginOrStartDocumentReach = true;
        if (newState === FindReplaceState.Found && this.shouldSkipSearchInterval(this.subDocument.id, this.lastFound))
            return this.findNext();
        return newState;
    }
    shouldSkipSearchInterval(subDocumentId, interval) {
        if (!(0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__.isDefined)(this.modelManager.richOptions.search.filterInterval))
            return false;
        return !this.modelManager.richOptions.search.filterInterval(subDocumentId, interval);
    }
    findNextDown() {
        switch (this.state) {
            case FindReplaceState.Start:
            case FindReplaceState.Found:
                const isBelowStartPos = this.currentPos >= this.findWithPosition;
                if (this.findNextDownInternal(this.currentPos, isBelowStartPos ? this.subDocument.getDocumentEndPosition() : this.findWithPosition))
                    this.state = FindReplaceState.Found;
                else {
                    if (!isBelowStartPos || this.findWithPosition == 0)
                        this.state = FindReplaceState.SearchEnd;
                    else
                        this.state = FindReplaceState.DocumentEnd;
                }
                break;
            case FindReplaceState.DocumentEnd:
                if (this.findWithPosition == 0)
                    this.state = FindReplaceState.SearchEnd;
                else {
                    if (this.findNextDownInternal(0, this.findWithPosition))
                        this.state = FindReplaceState.Found;
                    else
                        this.state = FindReplaceState.SearchEnd;
                }
                break;
        }
        return this.state;
    }
    findNextUp() {
        switch (this.state) {
            case FindReplaceState.Start:
            case FindReplaceState.Found:
                const isAboveStartPos = this.currentPos <= this.findWithPosition;
                if (this.beginOrStartDocumentReach && isAboveStartPos) {
                    this.lastFound = null;
                    this.state = FindReplaceState.SearchEnd;
                    return this.state;
                }
                if (this.findNextUpInternal(isAboveStartPos ? 0 : this.findWithPosition, this.currentPos))
                    this.state = FindReplaceState.Found;
                else {
                    if (!isAboveStartPos || this.findWithPosition == this.subDocument.getDocumentEndPosition() - 1)
                        this.state = FindReplaceState.SearchEnd;
                    else
                        this.state = FindReplaceState.DocumentBegin;
                }
                break;
            case FindReplaceState.DocumentBegin:
                const docEnd = this.subDocument.getDocumentEndPosition();
                if (this.findWithPosition == docEnd - 1)
                    this.state = FindReplaceState.SearchEnd;
                else {
                    if (this.findNextUpInternal(this.findWithPosition, docEnd - 1))
                        this.state = FindReplaceState.Found;
                    else
                        this.state = FindReplaceState.SearchEnd;
                }
                break;
        }
        return this.state;
    }
    findNextAll() {
        while (this.findNextDown() == FindReplaceState.DocumentEnd)
            ;
        return this.state;
    }
    findNextDownInternal(lowerPosition, greaterPosition) {
        const charIterator = new ForwardCharacterIterator(this.modelManager, this.layoutFormatterManager, this.pageIndex, this.subDocument, lowerPosition, greaterPosition);
        if (this.wholeWordsOnly)
            return this.findNextDownWholeWordsOnly(charIterator, lowerPosition, greaterPosition);
        let offset = 0;
        let posWhenStartEquivalents = -1;
        while (charIterator.nextChar()) {
            if (!this.matchCase)
                charIterator.char = charIterator.char.toUpperCase();
            while (offset > 0 && this.template[offset] != charIterator.char) {
                offset = this.supportFunction[offset - 1];
                posWhenStartEquivalents++;
            }
            if (this.template[offset] == charIterator.char) {
                if (offset == 0)
                    posWhenStartEquivalents = charIterator.getCurrLogPosition();
                offset++;
            }
            if (offset == this.templateLength) {
                this.lastFound = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(posWhenStartEquivalents, charIterator.getCurrLogPosition() + 1);
                this.currentPos = this.lastFound.end;
                return true;
            }
        }
        this.currentPos = greaterPosition;
        this.lastFound = null;
        return false;
    }
    findNextDownWholeWordsOnly(charIterator, lowerPosition, greaterPosition) {
        let offset = 0;
        if (this.layout.pages[0].getPosition() < lowerPosition &&
            this.isCharCanBeInWord((this.subDocument.isMain() ? new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionMainSubDocumentCreator */ .NG(this.layout, this.subDocument, lowerPosition - 1, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Character)
                : new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionOtherSubDocumentCreator */ .iD(this.layout, this.subDocument, lowerPosition - 1, this.pageIndex, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Character))
                .create(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true))))
            offset = -1;
        let posWhenStartEquivalents = -1;
        while (charIterator.nextChar()) {
            if (offset == this.templateLength) {
                if (charIterator.char.match(_rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.isAlphanumeric)) {
                    offset = -1;
                    continue;
                }
                else {
                    this.lastFound = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(posWhenStartEquivalents, charIterator.getCurrLogPosition() + 1);
                    this.currentPos = this.lastFound.end;
                    return true;
                }
            }
            if (offset < 0 && !charIterator.char.match(_rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.isAlphanumeric) ||
                offset >= 0 && this.template[offset] == (this.matchCase ? charIterator.char : charIterator.char.toUpperCase())) {
                offset += 1;
                if (offset == 0)
                    posWhenStartEquivalents = charIterator.getCurrLogPosition();
            }
            else
                offset = -1;
        }
        this.currentPos = greaterPosition;
        this.lastFound = null;
        return false;
    }
    findNextUpInternal(lowerPosition, greaterPosition) {
        if (greaterPosition < 1) {
            this.currentPos = 0;
            this.lastFound = null;
            return false;
        }
        const charIterator = new BackwardCharacterIterator(this.modelManager, this.layoutFormatterManager, this.pageIndex, this.subDocument, lowerPosition, greaterPosition);
        if (this.wholeWordsOnly)
            return this.findNextUpWholeWordsOnly(charIterator, greaterPosition);
        let offset = 0;
        const templateLastInd = this.templateLength - 1;
        let posWhenStartEquivalents = -1;
        while (charIterator.prevChar()) {
            if (!this.matchCase)
                charIterator.char = charIterator.char.toUpperCase();
            while (offset > 0 && this.template[templateLastInd - offset] != charIterator.char)
                offset = this.supportFunction[offset - 1];
            if (this.template[templateLastInd - offset] == charIterator.char) {
                if (offset == 0)
                    posWhenStartEquivalents = charIterator.getCurrLogPosition() + 1;
                offset++;
            }
            if (offset == this.templateLength) {
                this.lastFound = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(charIterator.getCurrLogPosition(), posWhenStartEquivalents);
                this.currentPos = Math.max(0, this.lastFound.start - 1);
                return true;
            }
        }
        this.currentPos = 0;
        this.lastFound = null;
        return false;
    }
    findNextUpWholeWordsOnly(charIterator, greaterPosition) {
        let offset = 0;
        const layoutPage = this.subDocument.isMain() ? this.layout.getLastValidPage() : this.layout.pages[this.pageIndex];
        let posWhenStartEquivalents = -1;
        if (greaterPosition < layoutPage.getEndPosition() - 1 &&
            this.isCharCanBeInWord((this.subDocument.isMain() ? new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionMainSubDocumentCreator */ .NG(this.layout, this.subDocument, greaterPosition + 1, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Character)
                : new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionOtherSubDocumentCreator */ .iD(this.layout, this.subDocument, greaterPosition + 1, this.pageIndex, _layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Character))
                .create(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false))))
            offset = -1;
        else
            posWhenStartEquivalents = charIterator.getCurrLogPosition();
        const templateLastInd = this.templateLength - 1;
        while (charIterator.prevChar()) {
            if (offset == this.templateLength) {
                if (charIterator.char.match(_rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.isAlphanumeric)) {
                    offset = -1;
                    continue;
                }
                else {
                    this.lastFound = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(charIterator.getCurrLogPosition(), posWhenStartEquivalents + 1);
                    this.currentPos = this.lastFound.start;
                    return true;
                }
            }
            if (offset < 0) {
                offset = charIterator.char.match(_rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.isAlphanumeric) ? -1 : 0;
                if (offset == 0)
                    posWhenStartEquivalents = charIterator.getCurrLogPosition();
            }
            else {
                if (this.template[templateLastInd - offset] == (this.matchCase ? charIterator.char : charIterator.char.toUpperCase()))
                    offset += 1;
            }
        }
        if (offset == this.templateLength) {
            this.currentPos = 0;
            this.lastFound = new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(0, posWhenStartEquivalents + 1);
            return true;
        }
        this.currentPos = 0;
        this.lastFound = null;
        return false;
    }
    isCharCanBeInWord(layoutPos) {
        if (!layoutPos)
            return false;
        layoutPos.switchToStartNextBoxInRow();
        if (layoutPos.box.getType() != _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text && layoutPos.box.getType() != _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Dash)
            return false;
        let char;
        if (layoutPos.charOffset >= layoutPos.box.getLength()) {
            if (layoutPos.advanceToNextRow(this.layout))
                char = layoutPos.row.boxes[0].renderGetContent(null)[0];
            else
                return false;
        }
        else
            char = layoutPos.box.renderGetContent(null)[layoutPos.charOffset];
        return char.match(_rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.isAlphanumeric).length > 0;
    }
    getLastFound() {
        return this.lastFound ? this.lastFound.clone() : null;
    }
    replaceLastFound() {
        if (!this.lastFound || this.replaceWith === null || this.replaceWith === undefined)
            return;
        const modelManager = this.modelManager;
        const firstRun = this.subDocument.getRunByPosition(this.lastFound.start);
        const charStyle = firstRun.characterStyle;
        const maskedCharProp = firstRun.maskedCharacterProperties;
        modelManager.history.beginTransaction();
        this.storeSelection(new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.lastFound.start, this.replaceWith.length));
        modelManager.modelManipulator.range.removeInterval(new _sub_document__WEBPACK_IMPORTED_MODULE_12__/* .SubDocumentInterval */ .v8(this.subDocument, this.lastFound.clone()), true, false);
        if (this.replaceWith)
            modelManager.history.addAndRedo(new _history_items_insert_text_history_item__WEBPACK_IMPORTED_MODULE_8__/* .InsertTextHistoryItem */ .U(modelManager.modelManipulator, new _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_9__/* .InsertTextManipulatorParams */ .N(new _sub_document__WEBPACK_IMPORTED_MODULE_12__/* .SubDocumentPosition */ .rg(this.subDocument, this.lastFound.start), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_7__/* .MaskedCharacterPropertiesBundle */ .Ne(maskedCharProp, charStyle), _runs_run_type__WEBPACK_IMPORTED_MODULE_11__/* .RunType */ .m.TextRun, this.replaceWith)));
        modelManager.history.endTransaction();
        const diff = this.replaceWith.length - this.templateLength;
        if (this.searchDirection != SearchDirection.Up)
            this.currentPos += diff;
        if (this.findWithPosition >= this.lastFound.end)
            this.findWithPosition += diff;
        this.lastFound = null;
    }
    replaceAll(startWithPos) {
        if (this.replaceWith === null || this.replaceWith === undefined)
            return;
        const modelManager = this.modelManager;
        const oldFindWithPosition = this.findWithPosition;
        this.setSearchParams(this.template, this.replaceWith, this.searchDirection, this.matchCase, this.regularExpression, 0, this.wholeWordsOnly);
        const history = modelManager.history;
        const storedPosition = this.subDocument.positionManager.registerPosition(startWithPos);
        this.currentPos = 0;
        const resultIntervals = [];
        while (this.findNextAll() == FindReplaceState.Found)
            if (!this.shouldSkipSearchInterval(this.subDocument.id, this.lastFound))
                resultIntervals.push(this.lastFound);
        if (resultIntervals.length) {
            history.beginTransaction();
            for (let i = resultIntervals.length - 1; i >= 0; i--) {
                const curr = resultIntervals[i];
                const firstRun = this.subDocument.getRunByPosition(curr.start);
                const charStyle = firstRun.characterStyle;
                const maskedCharProp = firstRun.maskedCharacterProperties;
                modelManager.modelManipulator.range.removeInterval(new _sub_document__WEBPACK_IMPORTED_MODULE_12__/* .SubDocumentInterval */ .v8(this.subDocument, curr.clone()), true, false);
                if (this.replaceWith.length)
                    modelManager.history.addAndRedo(new _history_items_insert_text_history_item__WEBPACK_IMPORTED_MODULE_8__/* .InsertTextHistoryItem */ .U(modelManager.modelManipulator, new _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_9__/* .InsertTextManipulatorParams */ .N(new _sub_document__WEBPACK_IMPORTED_MODULE_12__/* .SubDocumentPosition */ .rg(this.subDocument, curr.start), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_7__/* .MaskedCharacterPropertiesBundle */ .Ne(maskedCharProp, charStyle), _runs_run_type__WEBPACK_IMPORTED_MODULE_11__/* .RunType */ .m.TextRun, this.replaceWith)));
            }
            this.storeSelection(new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(Math.min(storedPosition.value, this.subDocument.getDocumentEndPosition() - 1), 0));
            history.endTransaction();
        }
        this.subDocument.positionManager.unregisterPosition(storedPosition);
        this.setSearchParams(this.template, this.replaceWith, this.searchDirection, this.matchCase, this.regularExpression, oldFindWithPosition, this.wholeWordsOnly);
        return resultIntervals.length;
    }
    crateSupportFunction() {
        let template;
        if (this.searchDirection == SearchDirection.Up) {
            template = "";
            for (let i = this.templateLength - 1; i >= 0; i--)
                template += this.template[i];
        }
        else
            template = this.template;
        this.supportFunction = [0];
        for (let topBound = 2; topBound < this.templateLength; topBound++)
            this.supportFunction.push(FindReplaceHelper.calcOneElemSuppFunc(template, topBound));
    }
    static calcOneElemSuppFunc(template, topBound) {
        for (let offset = 1; offset < topBound; offset++) {
            const lenComparePhrase = topBound - offset;
            let i = 0;
            for (; i < lenComparePhrase; i++) {
                if (template[i] != template[i + offset])
                    break;
            }
            if (i == lenComparePhrase)
                return topBound - offset;
        }
        return 0;
    }
}
class CharacterIteratorBase {
    constructor(modelManager, layoutFormatterManager, pageIndex, subDocument, startPosition, endPosition) {
        this.modelManager = modelManager;
        this.subDocument = subDocument;
        this.iterator = subDocument.isMain() ?
            new _layout_engine_layout_box_iterator_layout_box_iterator_main_sub_document__WEBPACK_IMPORTED_MODULE_2__/* .LayoutBoxIteratorMainSubDocument */ .I(subDocument, layoutFormatterManager.layout, startPosition, endPosition) :
            new _layout_engine_layout_box_iterator_layout_box_iterator_other_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBoxIteratorOtherSubDocument */ .F(subDocument, layoutFormatterManager.layout, startPosition, endPosition, pageIndex);
        while (!this.iterator.isInitialized())
            layoutFormatterManager.forceFormatPage(layoutFormatterManager.layout.validPageCount);
        this.char = null;
        this.charIndexInBox = -1;
    }
    getCurrLogPosition() {
        return this.iterator.position.getLogPosition(_layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Box) + this.charIndexInBox;
    }
    getCharInternal() {
        switch (this.iterator.position.box.getType()) {
            case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text:
                this.char = this.iterator.position.box.text[this.charIndexInBox];
                break;
            case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Dash:
                this.char = this.iterator.position.box.text[this.charIndexInBox];
                break;
            case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Space:
                this.char = _rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.specialCharacters.Space;
                break;
            case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.TabSpace:
                this.char = _rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.specialCharacters.TabMark;
                break;
            case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.ParagraphMark:
                this.char = _rich_utils__WEBPACK_IMPORTED_MODULE_10__/* .RichUtils */ .i.specialCharacters.ParagraphMark;
                break;
            default:
                this.char = String.fromCharCode(0);
        }
    }
}
class ForwardCharacterIterator extends CharacterIteratorBase {
    getCharInternal() {
        if (this.charIndexInBox >= this.iterator.position.box.getLength())
            return false;
        super.getCharInternal();
        return true;
    }
    nextChar() {
        if (this.charIndexInBox == -1) {
            this.iterator.moveNext(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true));
            this.charIndexInBox = this.iterator.position.charOffset;
            if (this.iterator.position.getLogPosition(_layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Box) + this.charIndexInBox < this.iterator.intervalEnd && this.getCharInternal())
                return true;
        }
        else
            this.charIndexInBox++;
        this.char = null;
        while (this.char == null && this.iterator.position.getLogPosition(_layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Box) + this.charIndexInBox < this.iterator.intervalEnd) {
            if (!this.getCharInternal()) {
                if (this.iterator.moveNext(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true)))
                    this.charIndexInBox = this.iterator.position.charOffset;
                else
                    return false;
            }
        }
        return !!this.char;
    }
}
class BackwardCharacterIterator extends CharacterIteratorBase {
    getCharInternal() {
        if (this.charIndexInBox < 0)
            return false;
        super.getCharInternal();
        return true;
    }
    prevChar() {
        if (this.charIndexInBox == -1) {
            this.iterator.movePrev(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false));
            this.charIndexInBox = this.iterator.position.charOffset - 1;
            if (this.charIndexInBox == -1) {
                if (!this.iterator.movePrev(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false)))
                    return false;
                this.charIndexInBox = this.iterator.position.box.getLength() - 1;
            }
            if (this.getCharInternal())
                return true;
            this.charIndexInBox = -1;
        }
        else
            this.charIndexInBox--;
        this.char = null;
        while (this.char == null && this.iterator.position.getLogPosition(_layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_5__/* .DocumentLayoutDetailsLevel */ .l.Box) + this.charIndexInBox >= this.iterator.intervalStart) {
            if (!this.getCharInternal()) {
                if (this.iterator.position.charOffset > 0)
                    this.iterator.movePrev(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true));
                if (this.iterator.movePrev(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_4__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true)))
                    this.charIndexInBox = this.iterator.position.box.getLength() - 1;
                else
                    return false;
            }
        }
        return !!this.char;
    }
}


/***/ }),

/***/ 8868:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: function() { return /* binding */ AnchorInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3604);
/* harmony import */ var _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8900);
/* harmony import */ var _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9768);
/* harmony import */ var _document_model__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4495);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8927);






class AnchorInfo {
    constructor() {
        this.allowOverlap = true;
        this.hidden = false;
        this.layoutTableCell = false;
        this.locked = false;
        this.isBehindDoc = false;
        this.leftDistance = 188;
        this.rightDistance = 188;
        this.topDistance = 72;
        this.bottomDistance = 72;
        this.zOrder = 0;
        this.wrapType = _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectTextWrapType */ .vX.Square;
        this.wrapSide = _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectTextWrapSide */ .Xb.Both;
        this.horizontalPositionType = _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectHorizontalPositionType */ .pk.Column;
        this.horizontalPositionAlignment = _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Center;
        this.verticalPositionType = _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectVerticalPositionType */ .iL.Paragraph;
        this.verticalPositionAlignment = _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectVerticalPositionAlignment */ .Iw.None;
        this.offset = new _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_2__.Point(0, 0);
        this.percentOffset = new _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_2__.Point(0, 0);
    }
    get levelType() {
        return this.wrapType != _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectTextWrapType */ .vX.None ? _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_3__/* .AnchoredObjectLevelType */ .a.InText :
            (this.isBehindDoc ? _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_3__/* .AnchoredObjectLevelType */ .a.BehindText : _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_3__/* .AnchoredObjectLevelType */ .a.BeforeText);
    }
    getLevelTypeForRendering(isInHeaderFooter, compatibilityMode) {
        return this.wrapType != _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectTextWrapType */ .vX.None && (compatibilityMode >= _document_model__WEBPACK_IMPORTED_MODULE_4__/* .CompatibilityMode */ .VS.Word2013 || !isInHeaderFooter) ? _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_3__/* .AnchoredObjectLevelType */ .a.InText :
            (this.isBehindDoc ? _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_3__/* .AnchoredObjectLevelType */ .a.BehindText : _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_3__/* .AnchoredObjectLevelType */ .a.BeforeText);
    }
    clone() {
        const anchorInfo = new AnchorInfo();
        anchorInfo.allowOverlap = this.allowOverlap;
        anchorInfo.hidden = this.hidden;
        anchorInfo.layoutTableCell = this.layoutTableCell;
        anchorInfo.locked = this.locked;
        anchorInfo.isBehindDoc = this.isBehindDoc;
        anchorInfo.leftDistance = this.leftDistance;
        anchorInfo.rightDistance = this.rightDistance;
        anchorInfo.topDistance = this.topDistance;
        anchorInfo.bottomDistance = this.bottomDistance;
        anchorInfo.zOrder = this.zOrder;
        anchorInfo.wrapType = this.wrapType;
        anchorInfo.wrapSide = this.wrapSide;
        anchorInfo.horizontalPositionType = this.horizontalPositionType;
        anchorInfo.horizontalPositionAlignment = this.horizontalPositionAlignment;
        anchorInfo.verticalPositionType = this.verticalPositionType;
        anchorInfo.verticalPositionAlignment = this.verticalPositionAlignment;
        anchorInfo.offset = this.offset.clone();
        anchorInfo.percentOffset = this.percentOffset.clone();
        return anchorInfo;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.allowOverlap == obj.allowOverlap &&
            this.hidden == obj.hidden &&
            this.layoutTableCell == obj.layoutTableCell &&
            this.locked == obj.locked &&
            this.isBehindDoc == obj.isBehindDoc &&
            this.leftDistance == obj.leftDistance &&
            this.rightDistance == obj.rightDistance &&
            this.topDistance == obj.topDistance &&
            this.bottomDistance == obj.bottomDistance &&
            this.zOrder == obj.zOrder &&
            this.wrapType == obj.wrapType &&
            this.wrapSide == obj.wrapSide &&
            this.horizontalPositionType == obj.horizontalPositionType &&
            this.horizontalPositionAlignment == obj.horizontalPositionAlignment &&
            this.verticalPositionType == obj.verticalPositionType &&
            this.verticalPositionAlignment == obj.verticalPositionAlignment &&
            this.offset.equals(obj.offset) &&
            this.percentOffset.equals(obj.percentOffset);
    }
    isUsedHorizontalAlignment() {
        if (!this.horizontalPositionAlignment)
            return false;
        switch (this.horizontalPositionAlignment) {
            case _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Left:
            case _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Center:
            case _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Right:
                return true;
        }
        return false;
    }
    isUsedHorizontalBookLayout() {
        if (!this.horizontalPositionAlignment)
            return false;
        switch (this.horizontalPositionAlignment) {
            case _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Outside:
            case _enums__WEBPACK_IMPORTED_MODULE_5__/* .AnchorObjectHorizontalPositionAlignment */ .xC.Inside:
                return true;
        }
        return false;
    }
    isUsedHorizontalAbsolutePosition() {
        return !this.horizontalPositionAlignment && !this.isUsedHorizontalRelativePosition();
    }
    isUsedHorizontalRelativePosition() {
        return this.percentOffset.x > 0;
    }
    isUsedVerticalAlignment() {
        return !!this.verticalPositionAlignment;
    }
    isUsedVerticalAbsolutePosition() {
        return !this.isUsedVerticalAlignment() && !this.isUsedVerticalRelativePosition();
    }
    isUsedVerticalRelativePosition() {
        return this.percentOffset.y > 0;
    }
    getRelativeOffsetX(width) {
        return width * this.percentOffset.x / AnchorInfo.RELATIVE_COEFF;
    }
    getRelativeOffsetY(width) {
        return width * this.percentOffset.y / AnchorInfo.RELATIVE_COEFF;
    }
    getDistanceMargins() {
        return new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_1__/* .Margins */ .m(this.leftDistance, this.rightDistance, this.topDistance, this.bottomDistance)
            .applyConverter(_devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToPixels);
    }
}
AnchorInfo.RELATIVE_COEFF = 100000;


/***/ }),

/***/ 8927:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Cz: function() { return /* binding */ RelativeHeightType; },
/* harmony export */   Fx: function() { return /* binding */ RelativeWidthType; },
/* harmony export */   Iw: function() { return /* binding */ AnchorObjectVerticalPositionAlignment; },
/* harmony export */   RE: function() { return /* binding */ DrawingTextAnchoringType; },
/* harmony export */   Xb: function() { return /* binding */ AnchorObjectTextWrapSide; },
/* harmony export */   iL: function() { return /* binding */ AnchorObjectVerticalPositionType; },
/* harmony export */   pk: function() { return /* binding */ AnchorObjectHorizontalPositionType; },
/* harmony export */   vX: function() { return /* binding */ AnchorObjectTextWrapType; },
/* harmony export */   xC: function() { return /* binding */ AnchorObjectHorizontalPositionAlignment; }
/* harmony export */ });
/* unused harmony export TextBoxVerticalAlignment */
var RelativeWidthType;
(function (RelativeWidthType) {
    RelativeWidthType[RelativeWidthType["Margin"] = 0] = "Margin";
    RelativeWidthType[RelativeWidthType["Page"] = 1] = "Page";
    RelativeWidthType[RelativeWidthType["LeftMargin"] = 2] = "LeftMargin";
    RelativeWidthType[RelativeWidthType["RightMargin"] = 3] = "RightMargin";
    RelativeWidthType[RelativeWidthType["InsideMargin"] = 4] = "InsideMargin";
    RelativeWidthType[RelativeWidthType["OutsideMargin"] = 5] = "OutsideMargin";
})(RelativeWidthType || (RelativeWidthType = {}));
var RelativeHeightType;
(function (RelativeHeightType) {
    RelativeHeightType[RelativeHeightType["Margin"] = 0] = "Margin";
    RelativeHeightType[RelativeHeightType["Page"] = 1] = "Page";
    RelativeHeightType[RelativeHeightType["TopMargin"] = 2] = "TopMargin";
    RelativeHeightType[RelativeHeightType["BottomMargin"] = 3] = "BottomMargin";
    RelativeHeightType[RelativeHeightType["InsideMargin"] = 4] = "InsideMargin";
    RelativeHeightType[RelativeHeightType["OutsideMargin"] = 5] = "OutsideMargin";
})(RelativeHeightType || (RelativeHeightType = {}));
var AnchorObjectTextWrapType;
(function (AnchorObjectTextWrapType) {
    AnchorObjectTextWrapType[AnchorObjectTextWrapType["None"] = 0] = "None";
    AnchorObjectTextWrapType[AnchorObjectTextWrapType["TopAndBottom"] = 1] = "TopAndBottom";
    AnchorObjectTextWrapType[AnchorObjectTextWrapType["Tight"] = 2] = "Tight";
    AnchorObjectTextWrapType[AnchorObjectTextWrapType["Through"] = 3] = "Through";
    AnchorObjectTextWrapType[AnchorObjectTextWrapType["Square"] = 4] = "Square";
})(AnchorObjectTextWrapType || (AnchorObjectTextWrapType = {}));
var AnchorObjectTextWrapSide;
(function (AnchorObjectTextWrapSide) {
    AnchorObjectTextWrapSide[AnchorObjectTextWrapSide["Both"] = 0] = "Both";
    AnchorObjectTextWrapSide[AnchorObjectTextWrapSide["Left"] = 1] = "Left";
    AnchorObjectTextWrapSide[AnchorObjectTextWrapSide["Right"] = 2] = "Right";
    AnchorObjectTextWrapSide[AnchorObjectTextWrapSide["Largest"] = 3] = "Largest";
})(AnchorObjectTextWrapSide || (AnchorObjectTextWrapSide = {}));
var AnchorObjectHorizontalPositionType;
(function (AnchorObjectHorizontalPositionType) {
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["Page"] = 0] = "Page";
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["Character"] = 1] = "Character";
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["Column"] = 2] = "Column";
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["Margin"] = 3] = "Margin";
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["LeftMargin"] = 4] = "LeftMargin";
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["RightMargin"] = 5] = "RightMargin";
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["InsideMargin"] = 6] = "InsideMargin";
    AnchorObjectHorizontalPositionType[AnchorObjectHorizontalPositionType["OutsideMargin"] = 7] = "OutsideMargin";
})(AnchorObjectHorizontalPositionType || (AnchorObjectHorizontalPositionType = {}));
var AnchorObjectHorizontalPositionAlignment;
(function (AnchorObjectHorizontalPositionAlignment) {
    AnchorObjectHorizontalPositionAlignment[AnchorObjectHorizontalPositionAlignment["None"] = 0] = "None";
    AnchorObjectHorizontalPositionAlignment[AnchorObjectHorizontalPositionAlignment["Left"] = 1] = "Left";
    AnchorObjectHorizontalPositionAlignment[AnchorObjectHorizontalPositionAlignment["Center"] = 2] = "Center";
    AnchorObjectHorizontalPositionAlignment[AnchorObjectHorizontalPositionAlignment["Right"] = 3] = "Right";
    AnchorObjectHorizontalPositionAlignment[AnchorObjectHorizontalPositionAlignment["Inside"] = 4] = "Inside";
    AnchorObjectHorizontalPositionAlignment[AnchorObjectHorizontalPositionAlignment["Outside"] = 5] = "Outside";
})(AnchorObjectHorizontalPositionAlignment || (AnchorObjectHorizontalPositionAlignment = {}));
var AnchorObjectVerticalPositionType;
(function (AnchorObjectVerticalPositionType) {
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["Page"] = 0] = "Page";
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["Line"] = 1] = "Line";
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["Paragraph"] = 2] = "Paragraph";
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["Margin"] = 3] = "Margin";
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["TopMargin"] = 4] = "TopMargin";
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["BottomMargin"] = 5] = "BottomMargin";
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["InsideMargin"] = 6] = "InsideMargin";
    AnchorObjectVerticalPositionType[AnchorObjectVerticalPositionType["OutsideMargin"] = 7] = "OutsideMargin";
})(AnchorObjectVerticalPositionType || (AnchorObjectVerticalPositionType = {}));
var AnchorObjectVerticalPositionAlignment;
(function (AnchorObjectVerticalPositionAlignment) {
    AnchorObjectVerticalPositionAlignment[AnchorObjectVerticalPositionAlignment["None"] = 0] = "None";
    AnchorObjectVerticalPositionAlignment[AnchorObjectVerticalPositionAlignment["Top"] = 1] = "Top";
    AnchorObjectVerticalPositionAlignment[AnchorObjectVerticalPositionAlignment["Center"] = 2] = "Center";
    AnchorObjectVerticalPositionAlignment[AnchorObjectVerticalPositionAlignment["Bottom"] = 3] = "Bottom";
    AnchorObjectVerticalPositionAlignment[AnchorObjectVerticalPositionAlignment["Inside"] = 4] = "Inside";
    AnchorObjectVerticalPositionAlignment[AnchorObjectVerticalPositionAlignment["Outside"] = 5] = "Outside";
})(AnchorObjectVerticalPositionAlignment || (AnchorObjectVerticalPositionAlignment = {}));
var TextBoxVerticalAlignment;
(function (TextBoxVerticalAlignment) {
    TextBoxVerticalAlignment[TextBoxVerticalAlignment["Top"] = 0] = "Top";
    TextBoxVerticalAlignment[TextBoxVerticalAlignment["Both"] = 1] = "Both";
    TextBoxVerticalAlignment[TextBoxVerticalAlignment["Center"] = 2] = "Center";
    TextBoxVerticalAlignment[TextBoxVerticalAlignment["Bottom"] = 3] = "Bottom";
})(TextBoxVerticalAlignment || (TextBoxVerticalAlignment = {}));
var DrawingTextAnchoringType;
(function (DrawingTextAnchoringType) {
    DrawingTextAnchoringType[DrawingTextAnchoringType["Bottom"] = 1] = "Bottom";
    DrawingTextAnchoringType[DrawingTextAnchoringType["Center"] = 2] = "Center";
    DrawingTextAnchoringType[DrawingTextAnchoringType["Distributed"] = 3] = "Distributed";
    DrawingTextAnchoringType[DrawingTextAnchoringType["Justified"] = 4] = "Justified";
    DrawingTextAnchoringType[DrawingTextAnchoringType["Top"] = 5] = "Top";
})(DrawingTextAnchoringType || (DrawingTextAnchoringType = {}));


/***/ }),

/***/ 4302:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   QW: function() { return /* binding */ InlineTextBoxSize; },
/* harmony export */   ne: function() { return /* binding */ AnchorTextBoxSize; },
/* harmony export */   ni: function() { return /* binding */ PictureSize; }
/* harmony export */ });
/* unused harmony exports AnchorInlineBaseSize, TextBoxSizeFlags */
/* harmony import */ var _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7820);
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6353);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8927);




class AnchorInlineBaseSize {
    constructor(lockAspectRatio, rotation) {
        this.lockAspectRatio = lockAspectRatio;
        this.rotation = rotation;
    }
    clone() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__/* .Errors */ .D.NotImplemented);
    }
    copyFrom(obj) {
        this.lockAspectRatio = obj.lockAspectRatio;
        this.rotation = obj.rotation;
    }
}
class PictureSize extends AnchorInlineBaseSize {
    get originalSize() { return this.cacheInfo.size; }
    ;
    constructor(lockAspectRatio, rotation, cacheInfo, scale) {
        super(lockAspectRatio, rotation);
        this.cacheInfo = cacheInfo;
        this.scale = scale;
    }
    get actualSize() {
        return _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_2__.Size.initByCommonAction(adp => adp(this.cacheInfo.size) * adp(this.scale) / 100);
    }
    clone() {
        return new PictureSize(this.lockAspectRatio, this.rotation, this.cacheInfo, this.scale.clone());
    }
    cloneToNewSubDocument(subDocument) {
        return new PictureSize(this.lockAspectRatio, this.rotation, subDocument.documentModel.cache.imageCache.getPictureData(this.cacheInfo.currId), this.scale.clone());
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.cacheInfo = obj.cacheInfo;
        this.scale = obj.scale.clone();
    }
}
class InlineTextBoxSize extends AnchorInlineBaseSize {
    constructor(lockAspectRatio, rotation, absoluteSize) {
        super(lockAspectRatio, rotation);
        this.absoluteSize = absoluteSize;
    }
    get actualSize() {
        return this.absoluteSize.clone();
    }
    clone() {
        return new InlineTextBoxSize(this.lockAspectRatio, this.rotation, this.absoluteSize);
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.absoluteSize = obj.absoluteSize.clone();
    }
}
class AnchorTextBoxSize extends InlineTextBoxSize {
    constructor(lockAspectRatio, rotation, absoluteSize, relativeSize, relativeWidthType, relativeHeightType, useAbsoluteSizeWidth, useAbsoluteSizeHeight) {
        super(lockAspectRatio, rotation, absoluteSize);
        this.flags = new _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__.Flag();
        this.relativeSize = relativeSize;
        this.relativeWidthType = relativeWidthType;
        this.relativeHeightType = relativeHeightType;
        this.flags.set(useAbsoluteSizeWidth ? TextBoxSizeFlags.UseAbsoluteSizeWidth : TextBoxSizeFlags.UseRelativeSizeWidth, true);
        this.flags.set(useAbsoluteSizeHeight ? TextBoxSizeFlags.UseAbsoluteSizeHeight : TextBoxSizeFlags.UseRelativeSizeHeight, true);
    }
    useAbsoluteWidth() {
        return this.flags.get(TextBoxSizeFlags.UseAbsoluteSizeWidth);
    }
    useAbsoluteHeight() {
        return this.flags.get(TextBoxSizeFlags.UseAbsoluteSizeHeight);
    }
    setUseAbsoluteWidth(isUsed) {
        this.flags.set(TextBoxSizeFlags.UseAbsoluteSizeWidth, isUsed);
        this.flags.set(TextBoxSizeFlags.UseRelativeSizeWidth, !isUsed);
    }
    setUseAbsoluteHeight(isUsed) {
        this.flags.set(TextBoxSizeFlags.UseAbsoluteSizeHeight, isUsed);
        this.flags.set(TextBoxSizeFlags.UseRelativeSizeHeight, !isUsed);
    }
    get actualSize() {
        if (this.flags.get(TextBoxSizeFlags.UseRelativeSizeWidth))
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__/* .Errors */ .D.InternalException);
        if (this.flags.get(TextBoxSizeFlags.UseRelativeSizeHeight))
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__/* .Errors */ .D.InternalException);
        return this.absoluteSize.clone();
    }
    getActualRelativeHeight(boundsCalculator) {
        return this.relativeSize.height * this.getAbsHeight(boundsCalculator) / AnchorTextBoxSize.RELATIVE_COEFF;
    }
    getActualRelativeWidth(boundsCalculator) {
        return this.relativeSize.width * this.getAbsWidth(boundsCalculator) / AnchorTextBoxSize.RELATIVE_COEFF;
    }
    getAbsWidth(boundsCalculator) {
        switch (this.relativeWidthType) {
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeWidthType */ .Fx.Margin:
                return boundsCalculator.pageWidth - boundsCalculator.marginLeft - boundsCalculator.marginRight;
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeWidthType */ .Fx.OutsideMargin:
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeWidthType */ .Fx.LeftMargin:
                return boundsCalculator.marginLeft;
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeWidthType */ .Fx.InsideMargin:
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeWidthType */ .Fx.RightMargin:
                return boundsCalculator.marginRight;
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeWidthType */ .Fx.Page:
                return boundsCalculator.pageWidth;
            default: throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__/* .Errors */ .D.InternalException);
        }
    }
    getAbsHeight(boundsCalculator) {
        switch (this.relativeHeightType) {
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeHeightType */ .Cz.Margin:
                return boundsCalculator.pageHeight - boundsCalculator.marginTop - boundsCalculator.marginBottom;
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeHeightType */ .Cz.InsideMargin:
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeHeightType */ .Cz.TopMargin:
                return boundsCalculator.marginTop;
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeHeightType */ .Cz.OutsideMargin:
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeHeightType */ .Cz.BottomMargin:
                return boundsCalculator.marginBottom;
            case _enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeHeightType */ .Cz.Page:
                return boundsCalculator.pageHeight;
            default: throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__/* .Errors */ .D.InternalException);
        }
    }
    clone() {
        return new AnchorTextBoxSize(this.lockAspectRatio, this.rotation, this.absoluteSize.clone(), this.relativeSize.clone(), this.relativeWidthType, this.relativeHeightType, this.flags.get(TextBoxSizeFlags.UseAbsoluteSizeWidth), this.flags.get(TextBoxSizeFlags.UseAbsoluteSizeHeight));
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.relativeSize = obj.relativeSize.clone();
        this.relativeHeightType = obj.relativeHeightType;
        this.relativeWidthType = obj.relativeWidthType;
        this.flags = obj.flags;
    }
}
AnchorTextBoxSize.RELATIVE_COEFF = 100000;
var TextBoxSizeFlags;
(function (TextBoxSizeFlags) {
    TextBoxSizeFlags[TextBoxSizeFlags["UseAbsoluteSizeWidth"] = 2] = "UseAbsoluteSizeWidth";
    TextBoxSizeFlags[TextBoxSizeFlags["UseAbsoluteSizeHeight"] = 4] = "UseAbsoluteSizeHeight";
    TextBoxSizeFlags[TextBoxSizeFlags["UseRelativeSizeWidth"] = 8] = "UseRelativeSizeWidth";
    TextBoxSizeFlags[TextBoxSizeFlags["UseRelativeSizeHeight"] = 16] = "UseRelativeSizeHeight";
})(TextBoxSizeFlags || (TextBoxSizeFlags = {}));


/***/ }),

/***/ 9513:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: function() { return /* binding */ TextBoxProperties; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3604);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8927);


class TextBoxProperties {
    constructor(contentMargins) {
        this.resizeShapeToFitText = true;
        this.upright = false;
        this.verticalAlignment = _enums__WEBPACK_IMPORTED_MODULE_1__/* .DrawingTextAnchoringType */ .RE.Top;
        this.wrapText = true;
        this.leftMargin = 0;
        this.rightMargin = 0;
        this.topMargin = 0;
        this.bottomMargin = 0;
        if (contentMargins) {
            this.leftMargin = contentMargins.left;
            this.rightMargin = contentMargins.right;
            this.topMargin = contentMargins.top;
            this.bottomMargin = contentMargins.bottom;
        }
    }
    clone() {
        const textBoxProperties = new TextBoxProperties();
        textBoxProperties.resizeShapeToFitText = this.resizeShapeToFitText;
        textBoxProperties.upright = this.upright;
        textBoxProperties.verticalAlignment = this.verticalAlignment;
        textBoxProperties.wrapText = this.wrapText;
        textBoxProperties.leftMargin = this.leftMargin;
        textBoxProperties.rightMargin = this.rightMargin;
        textBoxProperties.topMargin = this.topMargin;
        textBoxProperties.bottomMargin = this.bottomMargin;
        return textBoxProperties;
    }
    equals(obj) {
        if (!obj)
            return false;
        return obj.resizeShapeToFitText === this.resizeShapeToFitText &&
            obj.upright === this.upright &&
            obj.verticalAlignment === this.verticalAlignment &&
            obj.wrapText === this.wrapText &&
            obj.leftMargin === this.leftMargin &&
            obj.rightMargin === this.rightMargin &&
            obj.topMargin === this.topMargin &&
            obj.bottomMargin === this.bottomMargin;
    }
    getContentMargins() {
        return new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_0__/* .Margins */ .m(this.leftMargin, this.rightMargin, this.topMargin, this.bottomMargin);
    }
    setMarginsToAnotherMeasuringSystem(converter) {
        this.leftMargin = converter(this.leftMargin);
        this.rightMargin = converter(this.rightMargin);
        this.topMargin = converter(this.topMargin);
        this.bottomMargin = converter(this.bottomMargin);
        return this;
    }
}


/***/ }),

/***/ 1631:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  N: function() { return /* binding */ ControlFont; },
  P: function() { return /* binding */ FontLoadStatus; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var flag = __webpack_require__(7820);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/fonts.js
var fonts = __webpack_require__(4004);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/model/fonts/font-face-descriptors.ts
var font_face_descriptors = __webpack_require__(1908);
// EXTERNAL MODULE: ./src/common/model/fonts/font-info.ts
var font_info = __webpack_require__(4098);
;// CONCATENATED MODULE: ./src/common/model/fonts/fonts-map.ts
const FONT_NAME_TO_FILE_NAME = {
    'Angsana New': 'angsana.ttc',
    'Angsana Newb': 'angsana.ttc',
    'Angsana Newi': 'angsana.ttc',
    'Angsana Newz': 'angsana.ttc',
    'Arial': 'arial.ttf',
    'Arialb': 'arialbd.ttf',
    'Ariali': 'ariali.ttf',
    'Arialz': 'arialbi.ttf',
    'Arial Unicode MS': 'Arialuni.ttf',
    'Arial Unicode MSb': 'Arialuni.ttf',
    'Arial Unicode MSi': 'Arialuni.ttf',
    'Arial Unicode MSz': 'Arialuni.ttf',
    'Arial Black': 'ariblk.ttf',
    'Arial Blackb': 'ariblk.ttf',
    'Arial Blacki': 'AriBlkIt.ttf',
    'Arial Blackz': 'AriBlkIt.ttf',
    'Batang': 'batang.ttc',
    'Batangb': 'batang.ttc',
    'Batangi': 'batang.ttc',
    'Batangz': 'batang.ttc',
    'Book Antiqua': 'BKANT',
    'Book Antiquab': 'ANTQUAB',
    'Book Antiquai': 'ANTQUAI',
    'Book Antiquaz': 'ANTQUABI',
    'Bookman Old Style': 'bookos.ttf',
    'Bookman Old Styleb': 'bookos.ttf',
    'Bookman Old Stylei': 'bookos.ttf',
    'Bookman Old Stylez': 'bookos.ttf',
    'Calibri': 'Calibri.ttf',
    'Calibrib': 'Calibrib.ttf',
    'Calibrii': 'Calibrii.ttf',
    'Calibriz': 'Calibriz.ttf',
    'Calibri Light': 'Calibril.ttf',
    'Calibri Lightb': 'Calibril.ttf',
    'Calibri Lighti': 'Calibrili.ttf',
    'Calibri Lightz': 'Calibrili.ttf',
    'Cambria': 'cambria.ttc',
    'Cambriab': 'cambriab.ttf',
    'Cambriai': 'cambriai.ttf',
    'Cambriaz': 'cambriaz.ttf',
    'Candara': 'Candara.ttf',
    'Candarab': 'Candarab.ttf',
    'Candarai': 'Candarai.ttf',
    'Candaraz': 'Candaraz.ttf',
    'Century': 'CENTURY.ttf',
    'Centuryb': 'CENTURY.ttf',
    'Centuryi': 'CENTURY.ttf',
    'Centuryz': 'CENTURY.ttf',
    'Century Gothic': 'gothic.ttf',
    'Century Gothicb': 'gothic.ttf',
    'Century Gothici': 'gothic.ttf',
    'Century Gothicz': 'gothic.ttf',
    'CC-Gothic': 'gothic.ttf',
    'CC-Gothicb': 'gothic.ttf',
    'CC-Gothici': 'gothic.ttf',
    'CC-Gothicz': 'gothic.ttf',
    'Century Schoolbook': 'censcbk.ttf',
    'Century Schoolbookb': 'censcbk.ttf',
    'Century Schoolbooki': 'censcbk.ttf',
    'Century Schoolbookz': 'censcbk.ttf',
    'Comic Sans MS': 'comic.ttf',
    'Comic Sans MSb': 'comicbd.ttf',
    'Comic Sans MSi': 'comici.ttf',
    'Comic Sans MSz': 'comicz.ttf',
    'Consolas': 'Consola.ttf',
    'Consolasb': 'Consolab.ttf',
    'Consolasi': 'Consolai.ttf',
    'Consolasz': 'Consolaz.ttf',
    'Constantia': 'constan.ttf',
    'Constantiab': 'constanb.ttf',
    'Constantiai': 'constani.ttf',
    'Constantiaz': 'constanz.ttf',
    'Corbel': 'corbel.ttf',
    'Corbelb': 'corbelb.ttf',
    'Corbeli': 'corbeli.ttf',
    'Corbelz': 'corbelz.ttf',
    'Cordia New': 'cordia.ttf',
    'Cordia Newb': 'cordiab.ttf',
    'Cordia Newi': 'cordiai.ttf',
    'Cordia Newz': 'cordiaz.ttf',
    'Courier New': 'cour.ttf',
    'Courier Newb': 'courbd.ttf',
    'Courier Newi': 'courbi.ttf',
    'Courier Newz': 'couri.ttf',
    'Courier': 'cour.ttf',
    'Courierb': 'courbd.ttf',
    'Courieri': 'courbi.ttf',
    'Courierz': 'couri.ttf',
    'DaunPenh': 'daunpenh.ttf',
    'DaunPenhb': 'daunpenh.ttf',
    'DaunPenhi': 'daunpenh.ttf',
    'DaunPenhz': 'daunpenh.ttf',
    'Dotum': 'gulim.ttc',
    'Dotumb': 'gulim.ttc',
    'Dotumi': 'gulim.ttc',
    'Dotumz': 'gulim.ttc',
    'FangSong': 'simfang.ttf',
    'FangSongb': 'simfang.ttf',
    'FangSongi': 'simfang.ttf',
    'FangSongz': 'simfang.ttf',
    'Franklin Gothic Book': 'frabk.ttf',
    'Franklin Gothic Bookb': 'frabk.ttf',
    'Franklin Gothic Booki': 'frabk.ttf',
    'Franklin Gothic Bookz': 'frabk.ttf',
    'Franklin Gothic Medium': 'frabk.ttf',
    'Franklin Gothic Mediumb': 'frabk.ttf',
    'Franklin Gothic Mediumi': 'frabk.ttf',
    'Franklin Gothic Mediumz': 'frabk.ttf',
    'Garamond': 'GARA.TTF',
    'Garamondb': 'GARA.TTF',
    'Garamondi': 'GARA.TTF',
    'Garamondz': 'GARA.TTF',
    'Gautami': 'gautami.ttf',
    'Gautamib': 'Gautamib.ttf',
    'Gautamii': 'gautami.ttf',
    'Gautamiz': 'Gautamib.ttf',
    'Georgia': 'georgia.ttf',
    'Georgiab': 'georgiab.ttf',
    'Georgiai': 'georgiai.ttf',
    'Georgiaz': 'georgiaz.ttf',
    'Gill Sans MT': 'gil_____.ttf',
    'Gill Sans MTb': 'gil_____.ttf',
    'Gill Sans MTi': 'gil_____.ttf',
    'Gill Sans MTz': 'gil_____.ttf',
    'Gulim': 'gulim.ttc',
    'Gulimb': 'gulim.ttc',
    'Gulimi': 'gulim.ttc',
    'Gulimz': 'gulim.ttc',
    'GungSuh': 'batang.ttc',
    'GungSuhb': 'batang.ttc',
    'GungSuhi': 'batang.ttc',
    'GungSuhz': 'batang.ttc',
    'Impact': 'impact.ttf',
    'Impactb': 'impact.ttf',
    'Impacti': 'impact.ttf',
    'Impactz': 'impact.ttf',
    'Iskoola Pota': 'iskpota.ttf',
    'Iskoola Potab': 'iskpotab.ttf',
    'Iskoola Potai': 'iskpota.ttf',
    'Iskoola Potaz': 'iskpotab.ttf',
    'KaiTi': 'simkai.ttf',
    'KaiTib': 'simkai.ttf',
    'KaiTii': 'simkai.ttf',
    'KaiTiz': 'simkai.ttf',
    'Kalinga': 'kalinga.ttf',
    'Kalingab': 'kalingab.ttf',
    'Kalingai': 'kalinga.ttf',
    'Kalingaz': 'kalingab.ttf',
    'Kartika': 'kartika.ttf',
    'Kartikab': 'kartikab.ttf',
    'Kartikai': 'kartika.ttf',
    'Kartikaz': 'kartikab.ttf',
    'Latha': 'latha.ttf',
    'Lathab': 'Lathab.ttf',
    'Lathai': 'latha.ttf',
    'Lathaz': 'Lathab.ttf',
    'Lucida Console': 'lucon.ttf',
    'Lucida Consoleb': 'lucon.ttf',
    'Lucida Consolei': 'lucon.ttf',
    'Lucida Consolez': 'lucon.ttf',
    'Lucida Sans': 'lsansdi.ttf',
    'Lucida Sansb': 'lsansdi.ttf',
    'Lucida Sansi': 'lsansdi.ttf',
    'Lucida Sansz': 'lsansdi.ttf',
    'Lucida Sans Unicode': 'l_10646.ttf',
    'Lucida Sans Unicodeb': 'l_10646.ttf',
    'Lucida Sans Unicodei': 'l_10646.ttf',
    'Lucida Sans Unicodez': 'l_10646.ttf',
    'Malgun Gothic': 'malgun.ttf',
    'Malgun Gothicb': 'malgunbd.ttf',
    'Malgun Gothici': 'malgun.ttf',
    'Malgun Gothicz': 'malgunbd.ttf',
    'Mangal': 'Mangal.ttf',
    'Mangalb': 'MangalB.ttf',
    'Mangali': 'Mangal.ttf',
    'Mangalz': 'MangalB.ttf',
    'Meiryo': 'meiryo_00.ttf',
    'Meiryob': 'meiryob_00.ttf',
    'Meiryoi': 'meiryob_01.ttf',
    'Meiryoz': 'meiryo_01.ttf',
    'Microsoft JhengHei': 'msjh_00.ttf',
    'Microsoft JhengHeib': 'msjhbd_00.ttf',
    'Microsoft JhengHeii': 'msjh_00.ttf',
    'Microsoft JhengHeiz': 'msjhbd_00.ttf',
    'Microsoft YaHei': 'msyh_00.ttf',
    'Microsoft YaHeib': 'msyhbd_00.ttf',
    'Microsoft YaHeii': 'msyh_00.ttf',
    'Microsoft YaHeiz': 'msyhbd_00.ttf',
    'MingLiU': 'mingliu_00.ttf',
    'MingLiUb': 'mingliub_00.ttf',
    'MingLiUi': 'mingliu_00.ttf',
    'MingLiUz': 'mingliub_00.ttf',
    'MingLiU_HKSCS': 'mingliu_02.ttf',
    'MingLiU_HKSCSb': 'mingliub_02.ttf',
    'MingLiU_HKSCSi': 'mingliu_02.ttf',
    'MingLiU_HKSCSz': 'mingliub_02.ttf',
    'MS Gothic': 'msgothic.ttc',
    'MS Gothicb': 'msgothic.ttc',
    'MS Gothici': 'msgothic.ttc',
    'MS Gothicz': 'msgothic.ttc',
    'MS Mincho': 'msmincho.ttc',
    'MS Minchob': 'msmincho.ttc',
    'MS Minchoi': 'msmincho.ttc',
    'MS Minchoz': 'msmincho.ttc',
    'MS PGothic': 'msgothic_02.ttf',
    'MS PGothicb': 'msgothic_02.ttfc',
    'MS PGothici': 'msgothic_02.ttf',
    'MS PGothicz': 'msgothic_02.ttf',
    'MS PMincho': 'msmincho_01.ttf',
    'MS PMinchob': 'msmincho_01.ttfc',
    'MS PMinchoi': 'msmincho_01.ttf',
    'MS PMinchoz': 'msmincho_01.ttf',
    'Nyala': 'nyala.ttf',
    'Nyalab': 'nyala.ttf',
    'Nyalai': 'nyala.ttf',
    'Nyalaz': 'nyala.ttf',
    'Palatino Linotype': 'pala.ttf',
    'Palatino Linotypeb': 'palab.ttf',
    'Palatino Linotypei': 'palai.ttf',
    'Palatino Linotypez': 'palabi.ttf',
    'PMingLiU': 'mingliu_01.ttf',
    'PMingLiUb': 'mingliub_01.ttf',
    'PMingLiUi': 'mingliu_01.ttf',
    'PMingLiUz': 'mingliub_01.ttf',
    'PMingLiU-ExtB': 'mingliub_02.ttf',
    'PMingLiU-ExtBb': 'mingliub_02.ttf',
    'PMingLiU-ExtBi': 'mingliub_02.ttf',
    'PMingLiU-ExtBz': 'mingliub_02.ttf',
    'Raavi': 'raavi.ttf',
    'Raavib': 'raavib.ttf',
    'Raavii': 'raavi.ttf',
    'Raaviz': 'raavib.ttf',
    'Rockwell': 'rock.ttf',
    'Rockwellb': 'rockb.ttf',
    'Rockwelli': 'rocki.ttf',
    'Rockwellz': 'rockbi.ttf',
    'Segoe UI': 'segoeui.ttf',
    'Segoe UIb': 'segoeuib.ttf',
    'Segoe UIi': 'segoeuii.ttf',
    'Segoe UIz': 'segoeuiz.ttf',
    'Shruti': 'shruti.ttf',
    'Shrutib': 'shrutib.ttf',
    'Shrutii': 'shruti.ttf',
    'Shrutiz': 'shrutib.ttf',
    'SimHei': 'simhei.ttf',
    'SimHeib': 'simhei.ttf',
    'SimHeii': 'simhei.ttf',
    'SimHeiz': 'simhei.ttf',
    'SimSun': 'simsun_00.ttf',
    'SimSunb': 'simsunb.ttf',
    'SimSuni': 'simsun_00.ttf',
    'SimSunz': 'simsunb.ttf',
    'Sylfaen': 'sylfaen.ttf',
    'Sylfaenb': 'sylfaen.ttf',
    'Sylfaeni': 'sylfaen.ttf',
    'Sylfaenz': 'sylfaen.ttf',
    'Tahoma': 'tahoma.ttf',
    'Tahomab': 'tahomabd.ttf',
    'Tahomai': 'tahoma.ttf',
    'Tahomaz': 'tahomabd.ttf',
    'Times': 'times.ttf',
    'Timesb': 'timesbd.ttf',
    'Timesi': 'timesi.ttf',
    'Timesz': 'timesbi.ttf',
    'Times New Roman': 'times.ttf',
    'Times New Romanb': 'timesbd.ttf',
    'Times New Romani': 'timesi.ttf',
    'Times New Romanz': 'timesbi.ttf',
    'Trebuchet MS': 'trebuc.ttf',
    'Trebuchet MSb': 'trebucbd.ttf',
    'Trebuchet MSi': 'trebucit.ttf',
    'Trebuchet MSz': 'trebucbi.ttf',
    'Tunga': 'tunga.ttf',
    'Tungab': 'tungab.ttf',
    'Tungai': 'tunga.ttf',
    'Tungaz': 'tungab.ttf',
    'TW Cen MT': 'tcm_____.ttf',
    'TW Cen MTb': 'tcm_____.ttf',
    'TW Cen MTi': 'tcm_____.ttf',
    'TW Cen MTz': 'tcm_____.ttf',
    'Verdana': 'verdana.ttf',
    'Verdanab': 'verdanab.ttf',
    'Verdanai': 'verdanai.ttf',
    'Verdanaz': 'verdanaz.ttf',
    'Vrinda': 'vrinda.ttf',
    'Vrindab': 'vrindab.ttf',
    'Vrindai': 'vrinda.ttf',
    'Vrindaz': 'vrindab.ttf',
    'Symbol': 'symbol.ttf',
    'Symbolb': 'symbol.ttf',
    'Symboli': 'symbol.ttf',
    'Symbolz': 'symbol.ttf',
    'Webdings': 'Webdings.ttf',
    'Webdingsb': 'Webdings.ttf',
    'Webdingsi': 'Webdings.ttf',
    'Webdingsz': 'Webdings.ttf',
    'Wingdings': 'Wingding.ttf',
    'Wingdingsb': 'Wingding.ttf',
    'Wingdingsi': 'Wingding.ttf',
    'Wingdingsz': 'Wingding.ttf',
    'Microsoft Sans Serif': 'Micross.ttf',
    'Microsoft Sans Serifb': 'Micross.ttf',
    'Microsoft Sans Serifi': 'Micross.ttf',
    'Microsoft Sans Serifz': 'Micross.ttf',
    'Microsoft JhengHei Light': 'Msjhl.ttf',
    'Microsoft JhengHei Lightb': 'Msjhl.ttf',
    'Microsoft JhengHei Lighti': 'Msjhl.ttf',
    'Microsoft JhengHei Lightz': 'Msjhl.ttf',
};

;// CONCATENATED MODULE: ./src/common/model/fonts/control-font.ts






var FontLoadStatus;
(function (FontLoadStatus) {
    FontLoadStatus[FontLoadStatus["Unloaded"] = 0] = "Unloaded";
    FontLoadStatus[FontLoadStatus["Loading"] = 1] = "Loading";
    FontLoadStatus[FontLoadStatus["Loaded"] = 2] = "Loaded";
    FontLoadStatus[FontLoadStatus["Error"] = 3] = "Error";
})(FontLoadStatus || (FontLoadStatus = {}));
class ControlFont {
    get loaded() { return this.status == FontLoadStatus.Loaded; }
    get unicodeRanges() {
        if (!this._unicodeRanges)
            this._unicodeRanges = this.descriptors.parseUnicodeRanges();
        return this._unicodeRanges;
    }
    get controlFontType() {
        const controlFontType = new flag.Flag();
        controlFontType.set(font_info/* ControlFontType */.G.Bold, this.descriptors.msWordBold());
        controlFontType.set(font_info/* ControlFontType */.G.Italic, this.descriptors.msWordItalic());
        return controlFontType.getValue();
    }
    constructor(fontFamily, descriptors, key) {
        this.isFontCollection = false;
        this.status = FontLoadStatus.Unloaded;
        this.sourceUrls = [];
        this._unicodeRanges = null;
        this.fontFamily = fontFamily;
        this.descriptors = descriptors;
        this.cacheKey = key ? key : [this.fontFamily, this.descriptors.cacheKey].join('/');
    }
    applySource(data, callback) {
        if (!this.data)
            this.data = data;
        if ((0,fonts/* fontWebApiAvailable */.lX)())
            (0,fonts/* loadFont */.mx)(this.fontFamily, data, this.descriptors, callback);
        else {
            setTimeout(callback, 0);
        }
    }
    clone() {
        const obj = new ControlFont(this.fontFamily, this.descriptors.clone(), this.cacheKey);
        obj.status = this.status;
        obj.data = this.data;
        obj._unicodeRanges = this._unicodeRanges;
        obj._unicodeRanges = this._unicodeRanges;
        obj.sourceUrls = list.ListUtils.shallowCopy(this.sourceUrls);
        obj.isFontCollection = this.isFontCollection;
        return obj;
    }
    allSourceUrls(baseUrl) {
        return list.ListUtils.addListOnTail(list.ListUtils.shallowCopy(this.sourceUrls), this.defaultUrls(baseUrl));
    }
    defaultUrls(baseUrl) {
        const bold = this.descriptors.msWordBold();
        const italic = this.descriptors.msWordItalic();
        const fileName = bold && italic ?
            `${this.fontFamily}z` :
            `${this.fontFamily}${bold ? 'b' : ''}${italic ? 'i' : ''}`;
        const resultUrls = [];
        let unicuePath = null;
        const fontNameWithExt = FONT_NAME_TO_FILE_NAME[fileName];
        if (fontNameWithExt) {
            unicuePath = baseUrl + fontNameWithExt;
            resultUrls.push(unicuePath);
        }
        const addPath = extension => {
            const p = `${baseUrl}${fileName}.${extension}`;
            if (p !== unicuePath)
                resultUrls.push(p);
        };
        addPath('woff');
        addPath('ttf');
        addPath('ttc');
        return resultUrls;
    }
    static createDefault(fontFamily, flag) {
        const desc = new font_face_descriptors/* FontFaceDescriptors */.F();
        if (flag.get(font_info/* ControlFontType */.G.Bold))
            desc.weight = 'bold';
        if (flag.get(font_info/* ControlFontType */.G.Italic))
            desc.style = 'italic';
        return new ControlFont(fontFamily, desc);
    }
}


/***/ }),

/***/ 1908:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: function() { return /* binding */ FontFaceDescriptors; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7093);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49);



class FontFaceDescriptors {
    constructor() {
        this.style = 'normal';
        this.weight = "normal";
        this.stretch = "normal";
        this.unicodeRange = "U+0-10FFFF";
        this.variant = "normal";
        this.featureSettings = "normal";
        this.variationSettings = "normal";
        this.display = "auto";
        this._cacheKey = null;
    }
    static get getDefaultUnicodeRange() { return new _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__/* .BoundaryInterval */ .e(0, 0x10FFFF); }
    msWordItalic() {
        return /^\s*(italic|oblique(\s+\w*)?)\s*$/i.test(this.style);
    }
    msWordBold() {
        if (typeof this.weight == "number")
            return this.weight >= 550;
        const numVal = parseInt(this.weight);
        if (!isNaN(numVal))
            return numVal >= 550;
        return /^\s*(bold|bolder)\s*$/i.test(this.weight);
    }
    get cacheKey() {
        if (!this._cacheKey)
            this._cacheKey = [
                this.style.toString() +
                    this.weight.toString() +
                    this.stretch.toString() +
                    this.unicodeRange.toString() +
                    this.variant.toString() +
                    this.featureSettings.toString() +
                    this.variationSettings.toString() +
                    this.display.toString()
            ].join('/');
        return this._cacheKey;
    }
    parseUnicodeRanges() {
        const ranges = this.unicodeRange ?
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.reducedMap(this.unicodeRange.split(','), range => {
                const wildcardMatch = range.match(/U\+(\w*)(\?+)/i);
                let start = NaN;
                let end = NaN;
                if (wildcardMatch) {
                    const lenOfWildcard = wildcardMatch[2].length;
                    start = parseInt(wildcardMatch[1] + _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.repeat('0', lenOfWildcard), 16);
                    end = parseInt(wildcardMatch[1] + _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.repeat('F', lenOfWildcard), 16);
                }
                else {
                    const match = range.match(/U\+(\w+)-?(\w*)/i);
                    if (match) {
                        start = parseInt(match[1], 16);
                        end = match[2].length ? parseInt(match[2], 16) : start;
                    }
                }
                return !isNaN(start) && !isNaN(end) ? new _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__/* .BoundaryInterval */ .e(start, end + 1) : null;
            }) :
            [];
        return ranges.length ? ranges.sort() : [FontFaceDescriptors.getDefaultUnicodeRange];
    }
    static create(obj) {
        const result = new FontFaceDescriptors();
        if (!obj)
            return result;
        if (obj.style !== null && obj.style !== undefined)
            result.style = obj.style;
        if (obj.weight !== null && obj.weight !== undefined)
            result.weight = obj.weight;
        if (obj.stretch !== null && obj.stretch !== undefined)
            result.stretch = obj.stretch;
        if (obj.unicodeRange !== null && obj.unicodeRange !== undefined)
            result.unicodeRange = obj.unicodeRange;
        if (obj.variant !== null && obj.variant !== undefined)
            result.variant = obj.variant;
        if (obj.featureSettings !== null && obj.featureSettings !== undefined)
            result.featureSettings = obj.featureSettings;
        if (obj.variationSettings !== null && obj.variationSettings !== undefined)
            result.variationSettings = obj.variationSettings;
        if (obj.display !== null && obj.display !== undefined)
            result.display = obj.display;
        return result;
    }
    clone() {
        const result = new FontFaceDescriptors();
        result.style = this.style;
        result.weight = this.weight;
        result.stretch = this.stretch;
        result.unicodeRange = this.unicodeRange;
        result.variant = this.variant;
        result.featureSettings = this.featureSettings;
        result.variationSettings = this.variationSettings;
        result.display = this.display;
        return result;
    }
}


/***/ }),

/***/ 4098:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: function() { return /* binding */ ControlFontType; },
/* harmony export */   p: function() { return /* binding */ FontInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7820);
/* harmony import */ var _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6907);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1167);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49);
/* harmony import */ var _control_font__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1631);





var ControlFontType;
(function (ControlFontType) {
    ControlFontType[ControlFontType["Regular"] = 0] = "Regular";
    ControlFontType[ControlFontType["Bold"] = 1] = "Bold";
    ControlFontType[ControlFontType["Italic"] = 2] = "Italic";
    ControlFontType[ControlFontType["BoldItalic"] = 3] = "BoldItalic";
})(ControlFontType || (ControlFontType = {}));
class FontInfo {
    constructor(name) {
        this.controlFontMap = {
            [ControlFontType.Regular]: null,
            [ControlFontType.Bold]: null,
            [ControlFontType.Italic]: null,
            [ControlFontType.BoldItalic]: null
        };
        this.name = name;
        this.cssString = name;
        this.isLoad = true;
    }
    ensureAllControlFontsAssigned(controlFontsCache) {
        const fontFamily = this.getFontFamilies()[0];
        const ensureFontAssigned = (type) => {
            const fontKey = this.controlFontMap[type];
            if (!fontKey) {
                let controlFont = controlFontsCache.findSimularFontByType(fontFamily, type);
                if (!controlFont)
                    controlFont = controlFontsCache.addFont(_control_font__WEBPACK_IMPORTED_MODULE_4__/* .ControlFont */ .N.createDefault(fontFamily, new _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__.Flag(type)));
                this.controlFontMap[type] = controlFont.cacheKey;
            }
        };
        ensureFontAssigned(ControlFontType.Regular);
        ensureFontAssigned(ControlFontType.Bold);
        ensureFontAssigned(ControlFontType.Italic);
        ensureFontAssigned(ControlFontType.BoldItalic);
    }
    getFontFamilies() {
        return _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__.DomUtils.getFontFamiliesFromCssString(this.cssString);
    }
    static calculateHashByName(name) {
        return _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_3__.StringUtils.stringHashCode(name.toLowerCase());
    }
    calculateHash() {
        return FontInfo.calculateHashByName(this.name);
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    copyFrom(obj) {
        this.name = obj.name;
        this.scriptMultiplier = obj.scriptMultiplier;
        this.canBeSet = obj.canBeSet;
        this.cssString = obj.cssString;
        this.subScriptOffset = obj.subScriptOffset;
        this.controlFontMap = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_2__/* .NumberMapUtils */ .j.shallowCopy(obj.controlFontMap);
    }
    equals(obj) {
        return obj && this.name == obj.name &&
            this.scriptMultiplier == obj.scriptMultiplier;
    }
    static equalsBinary(fontInfoA, fontInfoB) {
        return fontInfoA && fontInfoB &&
            fontInfoA.name == fontInfoB.name &&
            fontInfoA.scriptMultiplier == fontInfoB.scriptMultiplier;
    }
    clone() {
        var obj = new FontInfo(null);
        obj.copyFrom(this);
        return obj;
    }
    getBaseLine() {
        if (this.baseLine === undefined)
            this.measure();
        return this.baseLine;
    }
    getHeightFactor() {
        if (this.heightFactor === undefined)
            this.measure();
        return this.heightFactor;
    }
    reset() {
        this.baseLine = undefined;
        this.heightFactor = undefined;
    }
    getAscent(boxHeight) {
        return this.getBaseLine() * boxHeight;
    }
    getDescent(boxHeight) {
        return boxHeight - this.getAscent(boxHeight);
    }
    measure() {
        const info = this.measurer.getFontMeasurerInfo(this);
        this.baseLine = info.baseLine;
        this.heightFactor = info.heightFactor;
    }
}


/***/ }),

/***/ 3373:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $j: function() { return /* binding */ NoteSeparators; },
/* harmony export */   Hh: function() { return /* binding */ NotePosition; },
/* harmony export */   Xy: function() { return /* binding */ NoteProperties; },
/* harmony export */   wK: function() { return /* binding */ NoteType; }
/* harmony export */ });
/* unused harmony export NoteNumberingRestartType */
/* harmony import */ var _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4830);

var NotePosition;
(function (NotePosition) {
    NotePosition[NotePosition["BottomOfPage"] = 0] = "BottomOfPage";
    NotePosition[NotePosition["BelowText"] = 1] = "BelowText";
    NotePosition[NotePosition["EndOfDocument"] = 2] = "EndOfDocument";
    NotePosition[NotePosition["EndOfSection"] = 3] = "EndOfSection";
})(NotePosition || (NotePosition = {}));
var NoteType;
(function (NoteType) {
    NoteType[NoteType["Separator"] = 0] = "Separator";
    NoteType[NoteType["ContinuationSeparator"] = 1] = "ContinuationSeparator";
    NoteType[NoteType["ContinuationNotice"] = 2] = "ContinuationNotice";
    NoteType[NoteType["Normal"] = 3] = "Normal";
})(NoteType || (NoteType = {}));
var NoteNumberingRestartType;
(function (NoteNumberingRestartType) {
    NoteNumberingRestartType[NoteNumberingRestartType["Continuous"] = 0] = "Continuous";
    NoteNumberingRestartType[NoteNumberingRestartType["NewPage"] = 1] = "NewPage";
    NoteNumberingRestartType[NoteNumberingRestartType["NewSection"] = 2] = "NewSection";
})(NoteNumberingRestartType || (NoteNumberingRestartType = {}));
class NoteProperties {
    static createDefault() {
        const result = new NoteProperties();
        result.position = NotePosition.BottomOfPage;
        result.numberingFormat = _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_0__/* .NumberingFormat */ .uV.Decimal;
        result.numberingRestartType = NoteNumberingRestartType.Continuous;
        result.startingNumber = 1;
        result.columnCount = 0;
        return result;
    }
    copyFrom(obj) {
        this.position = obj.position;
        this.numberingFormat = obj.numberingFormat;
        this.numberingRestartType = obj.numberingRestartType;
        this.startingNumber = obj.startingNumber;
        this.columnCount = obj.columnCount;
    }
    clone() {
        const result = new NoteProperties();
        result.copyFrom(this);
        return result;
    }
    equals(other) {
        return this.position === other.position &&
            this.numberingFormat === other.numberingFormat &&
            this.numberingRestartType === other.numberingRestartType &&
            this.startingNumber === other.startingNumber &&
            this.columnCount === other.columnCount;
    }
}
class NoteSeparators {
    constructor(model) {
        this.model = model;
    }
    get separator() {
        return this.model.subDocuments[this.separatorId];
    }
    get continuationSeparator() {
        return this.model.subDocuments[this.continuationSeparatorId];
    }
    get continuationNotice() {
        return this.model.subDocuments[this.continuationNoticeId];
    }
    setSeparator(sudDocId, type) {
        switch (type) {
            case NoteType.Separator:
                this.separatorId = sudDocId;
                break;
            case NoteType.ContinuationSeparator:
                this.continuationSeparatorId = sudDocId;
                break;
            case NoteType.ContinuationNotice:
                this.continuationNoticeId = sudDocId;
                break;
            default:
                throw Error("Invalid separator type.");
        }
    }
    getSeparator(type) {
        switch (type) {
            case NoteType.Separator:
                return this.separator;
            case NoteType.ContinuationSeparator:
                return this.continuationSeparator;
            case NoteType.ContinuationNotice:
                return this.continuationNotice;
            default:
                throw Error("Invalid separator type.");
        }
    }
    *getSeparatos() {
        if (this.separator)
            yield this.separator;
        if (this.continuationSeparator)
            yield this.continuationSeparator;
        if (this.continuationNotice)
            yield this.continuationNotice;
    }
}


/***/ }),

/***/ 4628:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   N: function() { return /* binding */ FullChunkAndRunInfo; }
/* harmony export */ });
/* unused harmony export ChunkAndRunIndexes */
class ChunkAndRunIndexes {
    constructor(chunkIndex, runIndex) {
        this.chunkIndex = chunkIndex;
        this.runIndex = runIndex;
    }
}
class FullChunkAndRunInfo {
    constructor(chunkIndex, chunk, runIndex, run, charOffset = 0) {
        this.chunkIndex = chunkIndex;
        this.chunk = chunk;
        this.runIndex = runIndex;
        this.run = run;
        this.charOffset = charOffset;
    }
    getAbsoluteRunPosition() {
        return this.chunk.startLogPosition.value + this.run.startOffset;
    }
    getAbsolutePosition() {
        return this.getAbsoluteRunPosition() + this.charOffset;
    }
    getAbsoluteEndRunPosition() {
        return this.getAbsoluteRunPosition() + this.run.getLength();
    }
    getCurrentChar() {
        return this.chunk.textBuffer[this.run.startOffset + this.charOffset];
    }
    getRunText(from = 0, length = this.run.getLength()) {
        return this.chunk.textBuffer.substr(this.run.startOffset + from, length);
    }
}


/***/ }),

/***/ 1360:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   B: function() { return /* binding */ HistoryItem; },
/* harmony export */   m: function() { return /* binding */ CompositionHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);

class HistoryItem {
    canBeMerged() {
        return false;
    }
    constructor(modelManipulator) {
        this.uniqueId = -1;
        this.modelManipulator = modelManipulator;
    }
    changeModified() {
        return true;
    }
}
class CompositionHistoryItem extends HistoryItem {
    canBeMerged() {
        return true;
    }
    constructor() {
        super(null);
        this.historyItems = [];
    }
    changeModified() {
        var item;
        for (var i = 0; item = this.historyItems[i]; i++) {
            if (item.changeModified())
                return true;
        }
        return false;
    }
    redo() {
        var item;
        for (var i = 0; item = this.historyItems[i]; i++)
            item.redo();
    }
    undo() {
        var item;
        for (var i = this.historyItems.length - 1; item = this.historyItems[i]; i--)
            item.undo();
    }
    add(historyItem) {
        if (historyItem == null)
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.ValueCannotBeNull);
        this.historyItems.push(historyItem);
    }
}


/***/ }),

/***/ 9726:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   w: function() { return /* binding */ IntervalBasedHistoryItem; }
/* harmony export */ });
/* harmony import */ var _history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class IntervalBasedHistoryItem extends _history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    get boundSubDocument() { return this.subDocInterval.subDocument; }
    get interval() { return this.subDocInterval.interval; }
    constructor(modelManipulator, subDocInterval) {
        super(modelManipulator);
        this.subDocInterval = subDocInterval;
    }
}


/***/ }),

/***/ 7128:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ PositionBasedHistoryItem; }
/* harmony export */ });
/* harmony import */ var _history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class PositionBasedHistoryItem extends _history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    get boundSubDocument() { return this.subDocPos.subDocument; }
    get position() { return this.subDocPos.position; }
    constructor(modelManipulator, subDocPos) {
        super(modelManipulator);
        this.subDocPos = subDocPos;
    }
}


/***/ }),

/***/ 6502:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: function() { return /* binding */ ApplyFieldHyperlinkStyleHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _character_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6223);
/* harmony import */ var _character_character_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9915);
/* harmony import */ var _character_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8579);
/* harmony import */ var _model_iterator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7747);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8096);
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9726);
/* harmony import */ var _apply_style_history_items__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8189);
/* harmony import */ var _character_properties_history_items__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(398);









class ApplyFieldHyperlinkStyleHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_6__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval) {
        super(modelManipulator, subDocInterval);
        this.historyItems = [];
    }
    redo() {
        if (ApplyFieldHyperlinkStyleHistoryItem.mask === undefined)
            throw new Error("CharacterPropertiesMask defined later than that class");
        if (this.historyItems.length > 0) {
            for (var i = 0, histItem; histItem = this.historyItems[i]; i++)
                histItem.redo();
            return;
        }
        var charHyperlinkStyle = this.modelManipulator.model.getCharacterStyleByName(_character_character_style__WEBPACK_IMPORTED_MODULE_2__/* .CharacterStyle */ .H.hyperlinkStyleName);
        var intervalEnd = this.interval.end;
        this.boundSubDocument.splitRun(this.interval.start);
        this.boundSubDocument.splitRun(intervalEnd);
        var modelIterator = new _model_iterator__WEBPACK_IMPORTED_MODULE_4__/* .ModelIterator */ .w(this.boundSubDocument, false);
        modelIterator.setPosition(this.interval.start);
        var histItem;
        do {
            var run = modelIterator.run;
            var runMergedProperties = run.getCharacterMergedProperties();
            var runInterval = new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(modelIterator.chunk.startLogPosition.value + run.startOffset, run.getLength());
            histItem = new _apply_style_history_items__WEBPACK_IMPORTED_MODULE_7__/* .ApplyCharacterStyleHistoryItem */ .L9(this.modelManipulator, this.subDocInterval, charHyperlinkStyle, false);
            histItem.redo();
            this.historyItems.push(histItem);
            for (let desc of _character_character_property_descriptor__WEBPACK_IMPORTED_MODULE_1__/* .CharacterPropertyDescriptor */ .oL.whatNeedSetWhenCreateHyperlinkField) {
                histItem = new (desc.getHistoryItemConstructor())(this.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_5__/* .SubDocumentInterval */ .v8(this.boundSubDocument, runInterval), desc.getProp(runMergedProperties), true);
                histItem.redo();
                this.historyItems.push(histItem);
            }
            histItem = new _character_properties_history_items__WEBPACK_IMPORTED_MODULE_8__/* .FontUseValueHistoryItem */ ._W(this.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_5__/* .SubDocumentInterval */ .v8(this.boundSubDocument, runInterval), ApplyFieldHyperlinkStyleHistoryItem.mask);
            histItem.redo();
            this.historyItems.push(histItem);
        } while (runInterval.start < intervalEnd && modelIterator.moveToNextRun());
    }
    undo() {
        for (var i = this.historyItems.length - 1, histItem; histItem = this.historyItems[i]; i--)
            histItem.undo();
        this.boundSubDocument.splitRun(this.interval.start);
        this.boundSubDocument.splitRun(this.interval.end);
        var modelIterator = new _model_iterator__WEBPACK_IMPORTED_MODULE_4__/* .ModelIterator */ .w(this.boundSubDocument, false);
        modelIterator.setPosition(this.interval.start);
        do {
        } while (modelIterator.chunk.startLogPosition.value + modelIterator.run.startOffset < this.interval.end && modelIterator.moveToNextRun());
    }
}
ApplyFieldHyperlinkStyleHistoryItem.mask = _character_enums__WEBPACK_IMPORTED_MODULE_3__/* .CharacterPropertiesMask */ .xe.UseAll & ~(_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .CharacterPropertiesMask */ .xe.UseFontUnderlineType | _character_enums__WEBPACK_IMPORTED_MODULE_3__/* .CharacterPropertiesMask */ .xe.UseUnderlineWordsOnly | _character_enums__WEBPACK_IMPORTED_MODULE_3__/* .CharacterPropertiesMask */ .xe.UseForeColorIndex);


/***/ }),

/***/ 8189:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L9: function() { return /* binding */ ApplyCharacterStyleHistoryItem; },
/* harmony export */   Mm: function() { return /* binding */ ApplyTableStyleHistoryItem; },
/* harmony export */   j3: function() { return /* binding */ ApplyParagraphStyleHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9726);


class ApplyCharacterStyleHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_1__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, style, restoreHyperlinks) {
        super(modelManipulator, subDocInterval);
        this.newStyle = style;
        this.restoreHyperlinks = restoreHyperlinks;
    }
    redo() {
        this.oldState = this.modelManipulator.style.setCharacterStyle(this.boundSubDocument, this.interval, this.newStyle, this.restoreHyperlinks);
    }
    undo() {
        this.modelManipulator.style.restoreCharacterStyle(this.boundSubDocument, this.oldState);
    }
}
class ApplyParagraphStyleHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_1__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, style) {
        super(modelManipulator, subDocInterval);
        this.newStyle = style;
    }
    redo() {
        this.oldState = this.modelManipulator.style.setParagraphStyle(this.boundSubDocument, this.interval, this.newStyle);
    }
    undo() {
        this.modelManipulator.style.restoreParagraphStyle(this.boundSubDocument, this.oldState);
    }
}
class ApplyTableStyleHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, subDocument, tableIndex, style) {
        super(modelManipulator);
        this.newStyle = style;
        this.tableIndex = tableIndex;
        this.subDocument = subDocument;
    }
    redo() {
        this.oldStyle = this.subDocument.tables[this.tableIndex].style;
        this.modelManipulator.table.setTableStyle(this.subDocument, this.tableIndex, this.newStyle);
    }
    undo() {
        this.modelManipulator.table.setTableStyle(this.subDocument, this.tableIndex, this.oldStyle);
    }
}


/***/ }),

/***/ 2461:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   iz: function() { return /* binding */ DeleteBookmarkHistoryItem; },
/* harmony export */   z6: function() { return /* binding */ CreateBookmarkHistoryItem; }
/* harmony export */ });
/* unused harmony export BookmarkHistoryItemBase */
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class BookmarkHistoryItemBase extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, boundSubDocument, bkmTemplate) {
        super(modelManipulator);
        this.bkmTemplate = bkmTemplate;
        this.boundSubDocument = boundSubDocument;
    }
}
class CreateBookmarkHistoryItem extends BookmarkHistoryItemBase {
    redo() {
        this.modelManipulator.bookmark.createBookmark(this.boundSubDocument, this.bkmTemplate, true);
    }
    undo() {
        this.modelManipulator.bookmark.deleteBookmark(this.boundSubDocument, this.bkmTemplate);
    }
}
class DeleteBookmarkHistoryItem extends BookmarkHistoryItemBase {
    redo() {
        this.modelManipulator.bookmark.deleteBookmark(this.boundSubDocument, this.bkmTemplate);
    }
    undo() {
        this.modelManipulator.bookmark.createBookmark(this.boundSubDocument, this.bkmTemplate, true);
    }
}


/***/ }),

/***/ 1688:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   q: function() { return /* binding */ ChangeFieldHyperlinkInfoHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class ChangeFieldHyperlinkInfoHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, boundSubDocument, fieldIndex, newInfo) {
        super(modelManipulator);
        this.boundSubDocument = boundSubDocument;
        this.newInfo = newInfo;
        this.fieldIndex = fieldIndex;
    }
    redo() {
        this.oldInfo = this.modelManipulator.field.setHyperlinkInfoInner(this.boundSubDocument, this.fieldIndex, this.newInfo);
    }
    undo() {
        this.modelManipulator.field.setHyperlinkInfoInner(this.boundSubDocument, this.fieldIndex, this.oldInfo);
    }
}


/***/ }),

/***/ 398:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A4: function() { return /* binding */ FontUnderlineTypeHistoryItem; },
/* harmony export */   Am: function() { return /* binding */ CharacterPropertiesHistoryItem; },
/* harmony export */   C1: function() { return /* binding */ FontCapsHistoryItem; },
/* harmony export */   Ek: function() { return /* binding */ FontLangInfoHistoryItem; },
/* harmony export */   HL: function() { return /* binding */ FontItalicHistoryItem; },
/* harmony export */   Ht: function() { return /* binding */ FontTextColorHistoryItem; },
/* harmony export */   L6: function() { return /* binding */ FontStrikeoutColorHistoryItem; },
/* harmony export */   Ne: function() { return /* binding */ FontHiddenHistoryItem; },
/* harmony export */   O7: function() { return /* binding */ FontHighlightColorHistoryItem; },
/* harmony export */   Qr: function() { return /* binding */ FontNameHistoryItem; },
/* harmony export */   Yr: function() { return /* binding */ FontUnderlineWordsOnlyHistoryItem; },
/* harmony export */   _W: function() { return /* binding */ FontUseValueHistoryItem; },
/* harmony export */   at: function() { return /* binding */ FontStrikeoutTypeHistoryItem; },
/* harmony export */   cz: function() { return /* binding */ FontStrikeoutWordsOnlyHistoryItem; },
/* harmony export */   i5: function() { return /* binding */ FontShadingInfoHistoryItem; },
/* harmony export */   jo: function() { return /* binding */ FontScriptHistoryItem; },
/* harmony export */   lN: function() { return /* binding */ FontUnderlineColorHistoryItem; },
/* harmony export */   n5: function() { return /* binding */ FontSizeHistoryItem; },
/* harmony export */   qs: function() { return /* binding */ FontCompositeFontInfoHistoryItem; },
/* harmony export */   wd: function() { return /* binding */ FontSmallCapsHistoryItem; },
/* harmony export */   xm: function() { return /* binding */ FontBoldHistoryItem; },
/* harmony export */   zI: function() { return /* binding */ FontNoProofHistoryItem; }
/* harmony export */ });
/* unused harmony exports CharacterPropertiesHistoryItemBase, ResetCharacterPropertiesUseValuesHistoryItem */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9726);


class FontUseValueHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_1__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
    }
    redo() {
        this.oldState = this.modelManipulator.characterProperties.useValue.setValue(this.boundSubDocument, this.interval, this.newValue);
    }
    undo() {
        this.modelManipulator.characterProperties.useValue.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class CharacterPropertiesHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_1__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
    }
    redo() {
        this.oldState = this.modelManipulator.characterProperties.setValue(this.boundSubDocument, this.interval, this.newValue);
    }
    undo() {
        this.modelManipulator.characterProperties.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class CharacterPropertiesHistoryItemBase extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_1__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue, newUse) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
        this.newUse = newUse;
    }
    redo() {
        this.oldState = this.getPropertiesManipulator().setValue(this.boundSubDocument, this.interval, this.newValue, this.newUse);
    }
    undo() {
        this.getPropertiesManipulator().restoreValue(this.boundSubDocument, this.oldState);
    }
    getPropertiesManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class FontBoldHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontBold;
    }
}
class FontCapsHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontCaps;
    }
}
class FontSmallCapsHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontSmallCaps;
    }
}
class FontUnderlineTypeHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontUnderlineType;
    }
}
class FontTextColorHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.textColor;
    }
}
class FontShadingInfoHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.shadingInfo;
    }
}
class FontHiddenHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontHidden;
    }
}
class FontItalicHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontItalic;
    }
}
class FontNameHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontName;
    }
}
class FontScriptHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.script;
    }
}
class FontSizeHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontSize;
    }
}
class FontStrikeoutTypeHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontStrikeoutType;
    }
}
class FontStrikeoutWordsOnlyHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontStrikeoutWordsOnly;
    }
}
class FontStrikeoutColorHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontStrikeoutColor;
    }
}
class FontUnderlineColorHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontUnderlineColor;
    }
}
class FontHighlightColorHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontHighlightColor;
    }
}
class FontUnderlineWordsOnlyHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontUnderlineWordsOnly;
    }
}
class FontNoProofHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.fontNoProof;
    }
}
class FontLangInfoHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.langInfo;
    }
}
class FontCompositeFontInfoHistoryItem extends CharacterPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.characterProperties.compositeFontInfo;
    }
}
class ResetCharacterPropertiesUseValuesHistoryItem extends (/* unused pure expression or super */ null && (IntervalBasedHistoryItem)) {
    redo() {
        this.state = this.modelManipulator.characterProperties.useValue.setValue(this.boundSubDocument, this.interval, 0);
    }
    undo() {
        this.modelManipulator.characterProperties.useValue.restoreValue(this.boundSubDocument, this.state);
    }
}


/***/ }),

/***/ 4499:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: function() { return /* binding */ CreateStyleLinkHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class CreateStyleLinkHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, characterStyle, paragraphStyle) {
        super(modelManipulator);
        this.characterStyle = characterStyle;
        this.paragraphStyle = paragraphStyle;
    }
    redo() {
        this.modelManipulator.style.setLinkStyle(this.characterStyle, this.paragraphStyle);
    }
    undo() {
        this.modelManipulator.style.restoreLinkStyle(this.characterStyle, this.paragraphStyle);
    }
}


/***/ }),

/***/ 5037:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Hz: function() { return /* binding */ PageColorHistoryItem; },
/* harmony export */   dr: function() { return /* binding */ DifferentOddAndEvenPagesHistoryItem; },
/* harmony export */   l4: function() { return /* binding */ DocumentDefaultTabWidthHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class DocumentDefaultTabWidthHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, newDefaultTabWidth) {
        super(modelManipulator);
        this.newDefaultTabWidth = newDefaultTabWidth;
    }
    redo() {
        this.oldDefaultTabWidth = this.modelManipulator.documentProperties.setDefaultTabWidth(this.modelManipulator.model, this.newDefaultTabWidth);
    }
    undo() {
        this.modelManipulator.documentProperties.setDefaultTabWidth(this.modelManipulator.model, this.oldDefaultTabWidth);
    }
}
class PageColorHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, newPageColor) {
        super(modelManipulator);
        this.newPageColor = newPageColor;
    }
    redo() {
        this.oldPageColor = this.modelManipulator.documentProperties.changePageColor(this.modelManipulator.model, this.newPageColor);
    }
    undo() {
        this.modelManipulator.documentProperties.changePageColor(this.modelManipulator.model, this.oldPageColor);
    }
}
class DifferentOddAndEvenPagesHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, newValue) {
        super(modelManipulator);
        this.newValue = newValue;
    }
    redo() {
        this.oldValue = this.modelManipulator.documentProperties.changeDifferentOddAndEvenPages(this.modelManipulator.model, this.newValue);
    }
    undo() {
        this.modelManipulator.documentProperties.changeDifferentOddAndEvenPages(this.modelManipulator.model, this.oldValue);
    }
}


/***/ }),

/***/ 835:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: function() { return /* binding */ FieldInsertHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2986);
/* harmony import */ var _changes_sub_document_field_inserted__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3545);
/* harmony import */ var _fields_field__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8277);
/* harmony import */ var _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2598);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8845);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3549);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8096);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1360);









class FieldInsertHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_8__/* .HistoryItem */ .B {
    constructor(modelManipulator, subDocument, startCodePos, codePartLength, resultPartLength, showCode, charPropsBundle) {
        super(modelManipulator);
        this.subDocument = subDocument;
        this.startFieldPos = startCodePos;
        this.separatorPos = this.startFieldPos + 1 + codePartLength;
        this.endPos = this.separatorPos + 1 + resultPartLength + 1;
        this.showCode = showCode;
        this.charPropsBundle = charPropsBundle;
    }
    redo() {
        var specChars = _rich_utils__WEBPACK_IMPORTED_MODULE_5__/* .RichUtils */ .i.specialCharacters;
        var textManipulator = this.modelManipulator.text;
        const characterStyle = this.charPropsBundle.style;
        const charProp = this.charPropsBundle.props;
        textManipulator.insertTextInner(new _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_4__/* .InsertTextManipulatorParams */ .N(new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocumentPosition */ .rg(this.subDocument, this.startFieldPos), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_1__/* .MaskedCharacterPropertiesBundle */ .Ne(charProp, characterStyle), _runs_run_type__WEBPACK_IMPORTED_MODULE_6__/* .RunType */ .m.FieldCodeStartRun, specChars.FieldCodeStartRun));
        textManipulator.insertTextInner(new _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_4__/* .InsertTextManipulatorParams */ .N(new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocumentPosition */ .rg(this.subDocument, this.separatorPos), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_1__/* .MaskedCharacterPropertiesBundle */ .Ne(charProp, characterStyle), _runs_run_type__WEBPACK_IMPORTED_MODULE_6__/* .RunType */ .m.FieldCodeEndRun, specChars.FieldCodeEndRun));
        textManipulator.insertTextInner(new _manipulators_text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_4__/* .InsertTextManipulatorParams */ .N(new _sub_document__WEBPACK_IMPORTED_MODULE_7__/* .SubDocumentPosition */ .rg(this.subDocument, this.endPos - 1), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_1__/* .MaskedCharacterPropertiesBundle */ .Ne(charProp, characterStyle), _runs_run_type__WEBPACK_IMPORTED_MODULE_6__/* .RunType */ .m.FieldResultEndRun, specChars.FieldResultEndRun));
        var fields = this.subDocument.fields;
        var fieldIndex = _fields_field__WEBPACK_IMPORTED_MODULE_3__/* .Field */ .gN.normedBinaryIndexOf(fields, this.startFieldPos + 1);
        var newFieldIndex = fieldIndex + 1;
        var newField = new _fields_field__WEBPACK_IMPORTED_MODULE_3__/* .Field */ .gN(this.subDocument.positionManager, newFieldIndex, this.startFieldPos, this.separatorPos, this.endPos, this.showCode, undefined);
        _fields_field__WEBPACK_IMPORTED_MODULE_3__/* .Field */ .gN.addField(fields, newField);
        this.modelManipulator.notifyModelChanged(new _changes_sub_document_field_inserted__WEBPACK_IMPORTED_MODULE_2__/* .FieldInsertedSubDocumentChange */ .s(this.subDocument.id, this.startFieldPos, this.separatorPos, this.endPos));
    }
    undo() {
        this.modelManipulator.range.removeIntervalWithoutHistory(this.subDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.startFieldPos, 1), false);
        this.modelManipulator.range.removeIntervalWithoutHistory(this.subDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.endPos - 2, 1), false);
        this.modelManipulator.range.removeIntervalWithoutHistory(this.subDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.separatorPos - 1, 1), false);
    }
}


/***/ }),

/***/ 6047:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: function() { return /* binding */ AnchorInfoPropertyHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9726);

class AnchorInfoPropertyHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue, propertyManipulator) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
        this.propertyManipulator = propertyManipulator;
    }
    redo() {
        this.oldState = this.propertyManipulator.setValue(this.boundSubDocument, this.interval, this.newValue);
    }
    undo() {
        this.propertyManipulator.restoreValue(this.boundSubDocument, this.oldState);
    }
}


/***/ }),

/***/ 7759:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   x: function() { return /* binding */ ChangeAnchoredPictureSizeHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9726);

class ChangeAnchoredPictureSizeHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, size) {
        super(modelManipulator, subDocInterval);
        this.size = size;
    }
    redo() {
        this.oldState = this.modelManipulator.floatingObject.pictureSize.setValue(this.boundSubDocument, this.interval, this.size);
    }
    undo() {
        this.modelManipulator.floatingObject.pictureSize.restoreValue(this.boundSubDocument, this.oldState);
    }
}


/***/ }),

/***/ 7130:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   E: function() { return /* binding */ InsertAnchoredPictureHistoryItem; },
/* harmony export */   o: function() { return /* binding */ InsertAnchoredTextBoxHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _base_position_based_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7128);


class InsertAnchoredPictureHistoryItem extends _base_position_based_history_item__WEBPACK_IMPORTED_MODULE_1__/* .PositionBasedHistoryItem */ .H {
    constructor(modelManipulator, subDocPos, charPropsBundle, picInfo, options) {
        super(modelManipulator, subDocPos);
        this.charPropsBundle = charPropsBundle;
        this.picInfo = picInfo;
        this.options = options;
    }
    redo() {
        this.modelManipulator.picture.insertAnchoredPictureInner(this.subDocPos, this.charPropsBundle, this.picInfo, this.options);
        this.options = undefined;
    }
    undo() {
        this.modelManipulator.range.removeIntervalWithoutHistory(this.boundSubDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.position, 1), false);
    }
}
class InsertAnchoredTextBoxHistoryItem extends _base_position_based_history_item__WEBPACK_IMPORTED_MODULE_1__/* .PositionBasedHistoryItem */ .H {
    constructor(modelManipulator, subDocPos, charPropsBundle, textBoxInfo) {
        super(modelManipulator, subDocPos);
        this.charPropsBundle = charPropsBundle;
        this.textBoxInfo = textBoxInfo;
    }
    redo() {
        this.modelManipulator.textBox.insertAnchoredTextBox(this.subDocPos, this.charPropsBundle, this.textBoxInfo);
        this.modelManipulator.model.subDocumentsCollection.restore(this.textBoxInfo.innerSubDocument.id);
    }
    undo() {
        this.modelManipulator.range.removeIntervalWithoutHistory(this.boundSubDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.position, 1), false);
    }
}


/***/ }),

/***/ 7942:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ ShapePropertyHistoryItem; },
/* harmony export */   P: function() { return /* binding */ ShapeHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9726);

class ShapePropertyHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue, propertyManipulator) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
        this.propertyManipulator = propertyManipulator;
    }
    redo() {
        this.oldState = this.propertyManipulator.setValue(this.boundSubDocument, this.interval, this.newValue);
    }
    undo() {
        this.propertyManipulator.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class ShapeHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
    }
    redo() {
        this.oldState = this.modelManipulator.floatingObject.shape.setValue(this.boundSubDocument, this.interval, this.newValue);
    }
    undo() {
        this.modelManipulator.floatingObject.shape.restoreValue(this.boundSubDocument, this.oldState);
    }
}


/***/ }),

/***/ 6942:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   ru: function() { return /* binding */ ChangeFooterIndexHistoryItem; },
/* harmony export */   uA: function() { return /* binding */ ChangeHeaderIndexHistoryItem; }
/* harmony export */ });
/* unused harmony export ChangeHeaderFooterIndexHistoryItemBase */
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class ChangeHeaderFooterIndexHistoryItemBase extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, sectionIndex, type, newIndex, actionAfterUndo) {
        super(modelManipulator);
        this.sectionIndex = sectionIndex;
        this.type = type;
        this.newIndex = newIndex;
        this.actionAfterUndo = actionAfterUndo;
    }
    redo() {
        this.oldIndex = this.getManipulator().changeObjectIndex(this.sectionIndex, this.type, this.newIndex);
    }
    undo() {
        this.getManipulator().changeObjectIndex(this.sectionIndex, this.type, this.oldIndex);
        this.actionAfterUndo(this.oldIndex);
    }
}
class ChangeHeaderIndexHistoryItem extends ChangeHeaderFooterIndexHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.header;
    }
}
class ChangeFooterIndexHistoryItem extends ChangeHeaderFooterIndexHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.footer;
    }
}


/***/ }),

/***/ 262:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ InsertParagraphHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8845);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1360);



class InsertParagraphHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_2__/* .HistoryItem */ .B {
    constructor(modelManipulator, params) {
        super(modelManipulator);
        this.params = params;
    }
    redo() {
        this.modelManipulator.paragraph.insertParagraphInner(this.params);
    }
    undo() {
        this.modelManipulator.range.removeIntervalWithoutHistory(this.params.subDocPos.subDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.params.subDocPos.position, _rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.specialCharacters.ParagraphMark.length), true);
    }
}


/***/ }),

/***/ 334:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   U: function() { return /* binding */ InsertTextHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1360);


class InsertTextHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_1__/* .HistoryItem */ .B {
    canBeMerged() {
        return true;
    }
    constructor(modelManipulator, params) {
        super(modelManipulator);
        this.params = params.clone();
    }
    redo() {
        this.modelManipulator.text.insertTextInner(this.params);
    }
    undo() {
        this.modelManipulator.range.removeIntervalWithoutHistory(this.params.subDocPos.subDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.params.subDocPos.position, this.params.text.length), false);
    }
}


/***/ }),

/***/ 6369:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HN: function() { return /* binding */ ListLevelFontBoldHistoryItem; },
/* harmony export */   NL: function() { return /* binding */ ListLevelFontNameHistoryItem; },
/* harmony export */   hM: function() { return /* binding */ ListLevelFontSizeHistoryItem; },
/* harmony export */   tX: function() { return /* binding */ ListLevelFontItalicHistoryItem; },
/* harmony export */   xe: function() { return /* binding */ ListLevelFontTextColorHistoryItem; }
/* harmony export */ });
/* unused harmony exports ListLevelCharacterPropertiesHistoryItemBase, ListLevelFontCapsHistoryItem, ListLevelFontSmallCapsHistoryItem, ListLevelFontUnderlineTypeHistoryItem, ListLevelFontShadingInfoHistoryItem, ListLevelFontHiddenHistoryItem, ListLevelFontScriptHistoryItem, ListLevelFontStrikeoutTypeHistoryItem, ListLevelFontStrikeoutWordsOnlyHistoryItem, ListLevelFontStrikeoutColorHistoryItem, ListLevelFontUnderlineColorHistoryItem, ListLevelFontUnderlineWordsOnlyHistoryItem, ListLevelFontNoProofHistoryItem */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1360);


class ListLevelCharacterPropertiesHistoryItemBase extends _base_history_item__WEBPACK_IMPORTED_MODULE_1__/* .HistoryItem */ .B {
    constructor(modelManipulator, isAbstractList, listIndex, levelIndex, newValue, newUse) {
        super(modelManipulator);
        this.newValue = newValue;
        this.isAbstractList = isAbstractList;
        this.listIndex = listIndex;
        this.levelIndex = levelIndex;
        this.newUse = newUse;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.modelManipulator.model, this.isAbstractList, this.listIndex, this.levelIndex, this.newValue, this.newUse);
    }
    undo() {
        this.getManipulator().restoreValue(this.modelManipulator.model, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class ListLevelFontBoldHistoryItem extends ListLevelCharacterPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontBold;
    }
}
class ListLevelFontCapsHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontCaps;
    }
}
class ListLevelFontSmallCapsHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontSmallCaps;
    }
}
class ListLevelFontUnderlineTypeHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontUnderlineType;
    }
}
class ListLevelFontTextColorHistoryItem extends ListLevelCharacterPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.textColor;
    }
}
class ListLevelFontShadingInfoHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.shadingInfo;
    }
}
class ListLevelFontHiddenHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontHidden;
    }
}
class ListLevelFontItalicHistoryItem extends ListLevelCharacterPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontItalic;
    }
}
class ListLevelFontNameHistoryItem extends ListLevelCharacterPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontName;
    }
}
class ListLevelFontScriptHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.script;
    }
}
class ListLevelFontSizeHistoryItem extends ListLevelCharacterPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontSize;
    }
}
class ListLevelFontStrikeoutTypeHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontStrikeoutType;
    }
}
class ListLevelFontStrikeoutWordsOnlyHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontStrikeoutWordsOnly;
    }
}
class ListLevelFontStrikeoutColorHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontStrikeoutColor;
    }
}
class ListLevelFontUnderlineColorHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontUnderlineColor;
    }
}
class ListLevelFontUnderlineWordsOnlyHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontUnderlineWordsOnly;
    }
}
class ListLevelFontNoProofHistoryItem extends (/* unused pure expression or super */ null && (ListLevelCharacterPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelCharacterProperties.fontNoProof;
    }
}


/***/ }),

/***/ 6399:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J6: function() { return /* binding */ ListLevelParagraphFirstLineIndentTypeHistoryItem; },
/* harmony export */   VB: function() { return /* binding */ ListLevelParagraphFirstLineIndentHistoryItem; },
/* harmony export */   zn: function() { return /* binding */ ListLevelParagraphLeftIndentHistoryItem; }
/* harmony export */ });
/* unused harmony exports ListLevelParagraphPropertiesHistoryItemBase, ListLevelParagraphAlignmentHistoryItem, ListLevelParagraphContextualSpacingHistoryItem, ListLevelParagraphAfterAutoSpacingHistoryItem, ListLevelParagraphShadingInfoHistoryItem, ListLevelParagraphBeforeAutoSpacingHistoryItem, ListLevelParagraphKeepLinesTogetherHistoryItem, ListLevelParagraphLineSpacingHistoryItem, ListLevelParagraphLineSpacingTypeHistoryItem, ListLevelParagraphOutlineLevelHistoryItem, ListLevelParagraphPageBreakBeforeHistoryItem, ListLevelParagraphRightIndentHistoryItem, ListLevelParagraphSpacingAfterHistoryItem, ListLevelParagraphSpacingBeforeHistoryItem, ListLevelParagraphSuppressHyphenationHistoryItem, ListLevelParagraphSuppressLineNumbersHistoryItem, ListLevelParagraphWidowOrphanControlHistoryItem */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1360);


class ListLevelParagraphPropertiesHistoryItemBase extends _base_history_item__WEBPACK_IMPORTED_MODULE_1__/* .HistoryItem */ .B {
    constructor(modelManipulator, isAbstractList, listIndex, levelIndex, newValue, newUse) {
        super(modelManipulator);
        this.newValue = newValue;
        this.isAbstractList = isAbstractList;
        this.listIndex = listIndex;
        this.levelIndex = levelIndex;
        this.newUse = newUse;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.modelManipulator.model, this.isAbstractList, this.listIndex, this.levelIndex, this.newValue, this.newUse);
    }
    undo() {
        this.getManipulator().restoreValue(this.modelManipulator.model, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class ListLevelParagraphAlignmentHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.align;
    }
}
class ListLevelParagraphContextualSpacingHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.contextualSpacing;
    }
}
class ListLevelParagraphAfterAutoSpacingHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.afterAutoSpacing;
    }
}
class ListLevelParagraphShadingInfoHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.shadingInfo;
    }
}
class ListLevelParagraphBeforeAutoSpacingHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.beforeAutoSpacing;
    }
}
class ListLevelParagraphFirstLineIndentHistoryItem extends ListLevelParagraphPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.firstLineIndent;
    }
}
class ListLevelParagraphFirstLineIndentTypeHistoryItem extends ListLevelParagraphPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.firstLineIndentType;
    }
}
class ListLevelParagraphKeepLinesTogetherHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.keepLinesTogether;
    }
}
class ListLevelParagraphLeftIndentHistoryItem extends ListLevelParagraphPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.leftIndent;
    }
}
class ListLevelParagraphLineSpacingHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.lineSpacing;
    }
}
class ListLevelParagraphLineSpacingTypeHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.lineSpacingType;
    }
}
class ListLevelParagraphOutlineLevelHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.outlineLevel;
    }
}
class ListLevelParagraphPageBreakBeforeHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.pageBreakBefore;
    }
}
class ListLevelParagraphRightIndentHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.rightIndent;
    }
}
class ListLevelParagraphSpacingAfterHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.spacingAfter;
    }
}
class ListLevelParagraphSpacingBeforeHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.spacingBefore;
    }
}
class ListLevelParagraphSuppressHyphenationHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.suppressHyphenation;
    }
}
class ListLevelParagraphSuppressLineNumbersHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.suppressLineNumbers;
    }
}
class ListLevelParagraphWidowOrphanControlHistoryItem extends (/* unused pure expression or super */ null && (ListLevelParagraphPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelParagraphProperties.widowOrphanControl;
    }
}


/***/ }),

/***/ 1259:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   JX: function() { return /* binding */ ListLevelSeparatorHistoryItem; },
/* harmony export */   XY: function() { return /* binding */ ListLevelOriginalLeftIndentHistoryItem; },
/* harmony export */   nJ: function() { return /* binding */ ListLevelDisplayFormatStringHistoryItem; },
/* harmony export */   pp: function() { return /* binding */ ListLevelStartHistoryItem; },
/* harmony export */   sr: function() { return /* binding */ ListLevelFormatHistoryItem; },
/* harmony export */   vC: function() { return /* binding */ ListLevelAlignmentHistoryItem; }
/* harmony export */ });
/* unused harmony exports ListLevelPropertiesHistoryItemBase, ListLevelConvertPreviousLevelNumberingToDecimalHistoryItem, ListLevelLegacyHistoryItem, ListLevelLegacyIndentHistoryItem, ListLevelLegacySpaceHistoryItem, ListLevelRelativeRestartLevelHistoryItem, ListLevelSuppressBulletResizeHistoryItem, ListLevelSuppressRestartHistoryItem, ListLevelTemplateCodeHistoryItem */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1360);


class ListLevelPropertiesHistoryItemBase extends _base_history_item__WEBPACK_IMPORTED_MODULE_1__/* .HistoryItem */ .B {
    constructor(modelManipulator, isAbstractList, listIndex, levelIndex, newValue) {
        super(modelManipulator);
        this.newValue = newValue;
        this.isAbstractList = isAbstractList;
        this.listIndex = listIndex;
        this.levelIndex = levelIndex;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.modelManipulator.model, this.isAbstractList, this.listIndex, this.levelIndex, this.newValue);
    }
    undo() {
        this.getManipulator().restoreValue(this.modelManipulator.model, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class ListLevelStartHistoryItem extends ListLevelPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.start;
    }
}
class ListLevelAlignmentHistoryItem extends ListLevelPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.alignment;
    }
}
class ListLevelConvertPreviousLevelNumberingToDecimalHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.convertPreviousLevelNumberingToDecimal;
    }
}
class ListLevelDisplayFormatStringHistoryItem extends ListLevelPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.displayFormatString;
    }
}
class ListLevelFormatHistoryItem extends ListLevelPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.format;
    }
}
class ListLevelLegacyHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.legacy;
    }
}
class ListLevelLegacyIndentHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.legacyIndent;
    }
}
class ListLevelLegacySpaceHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.legacySpace;
    }
}
class ListLevelOriginalLeftIndentHistoryItem extends ListLevelPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.originalLeftIndent;
    }
}
class ListLevelRelativeRestartLevelHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.relativeRestartLevel;
    }
}
class ListLevelSeparatorHistoryItem extends ListLevelPropertiesHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.separator;
    }
}
class ListLevelSuppressBulletResizeHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.suppressBulletResize;
    }
}
class ListLevelSuppressRestartHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.suppressRestart;
    }
}
class ListLevelTemplateCodeHistoryItem extends (/* unused pure expression or super */ null && (ListLevelPropertiesHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.numberingList.listLevelProperties.templateCode;
    }
}


/***/ }),

/***/ 699:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Bk: function() { return /* binding */ AddNumberingListHistoryItem; },
/* harmony export */   Rk: function() { return /* binding */ RemoveParagraphFromListHistoryItem; },
/* harmony export */   ap: function() { return /* binding */ AddParagraphToListHistoryItem; },
/* harmony export */   dF: function() { return /* binding */ AddAbstractNumberingListHistoryItem; }
/* harmony export */ });
/* unused harmony exports ListLevelNewStartHistoryItem, ListLevelOverrideStartHistoryItem */
/* harmony import */ var _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7820);
/* harmony import */ var _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1423);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8096);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1360);
/* harmony import */ var _paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6690);





class AddAbstractNumberingListHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_3__/* .HistoryItem */ .B {
    constructor(modelManipulator, abstractNumberingList) {
        super(modelManipulator);
        this.abstractNumberingList = abstractNumberingList;
    }
    redo() {
        this.abstractNumberingListIndex = this.modelManipulator.numberingList.addAbstractNumberingList(this.abstractNumberingList);
    }
    undo() {
        this.modelManipulator.numberingList.deleteAbstractNumberingList(this.abstractNumberingListIndex);
    }
}
class AddNumberingListHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_3__/* .HistoryItem */ .B {
    constructor(modelManipulator, numberingList) {
        super(modelManipulator);
        this.numberingList = numberingList;
    }
    redo() {
        this.numberingListIndex = this.modelManipulator.numberingList.addNumberingList(this.numberingList);
    }
    undo() {
        this.modelManipulator.numberingList.deleteNumberingList(this.numberingListIndex);
    }
}
class AddParagraphToListHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_3__/* .HistoryItem */ .B {
    constructor(modelManipulator, subDocument, paragraphIndex, numberingListIndex, listLevelIndex) {
        super(modelManipulator);
        this.subDocument = subDocument;
        this.paragraphIndex = paragraphIndex;
        this.numberingListIndex = numberingListIndex;
        this.listLevelIndex = listLevelIndex;
    }
    redo() {
        const paragraph = this.subDocument.paragraphs[this.paragraphIndex];
        this.useValHistItem = new _paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_4__/* .ParagraphUseValueHistoryItem */ .L7(this.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_2__/* .SubDocumentInterval */ .v8(this.subDocument, this.subDocument.paragraphs[this.paragraphIndex].interval), new _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__.Flag(paragraph.maskedParagraphProperties.useValue)
            .set(_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphPropertiesMask */ .m_.UseLeftIndent, false)
            .set(_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphPropertiesMask */ .m_.UseFirstLineIndent, false).getValue());
        this.useValHistItem.redo();
        this.state = this.modelManipulator.numberingList.setParagraphNumberingList(this.subDocument, this.paragraphIndex, this.numberingListIndex, this.listLevelIndex);
    }
    undo() {
        this.useValHistItem.undo();
        this.modelManipulator.numberingList.restoreParagraphNumberingList(this.subDocument, this.state);
    }
}
class RemoveParagraphFromListHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_3__/* .HistoryItem */ .B {
    constructor(modelManipulator, subDocument, paragraphIndex) {
        super(modelManipulator);
        this.subDocument = subDocument;
        this.paragraphIndex = paragraphIndex;
    }
    redo() {
        this.state = this.modelManipulator.numberingList.removeNumberingListFromParagraph(this.subDocument, this.paragraphIndex);
    }
    undo() {
        this.modelManipulator.numberingList.restoreParagraphNumberingList(this.subDocument, this.state);
    }
}
class ListLevelNewStartHistoryItem extends (/* unused pure expression or super */ null && (HistoryItem)) {
    constructor(modelManipulator, listIndex, levelIndex, newValue) {
        super(modelManipulator);
        this.newValue = newValue;
        this.listIndex = listIndex;
        this.levelIndex = levelIndex;
    }
    redo() {
        this.oldState = this.modelManipulator.numberingList.setIOverrideListLevelNewStart(this.listIndex, this.levelIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.numberingList.restoreIOverrideListLevelNewStart(this.oldState);
    }
}
class ListLevelOverrideStartHistoryItem extends (/* unused pure expression or super */ null && (HistoryItem)) {
    constructor(modelManipulator, listIndex, levelIndex, overrideStart) {
        super(modelManipulator);
        this.newValue = overrideStart;
        this.listIndex = listIndex;
        this.levelIndex = levelIndex;
    }
    redo() {
        this.oldState = this.modelManipulator.numberingList.setIOverrideListLevelOverrideStart(this.listIndex, this.levelIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.numberingList.restoreIOverrideListLevelOverrideStart(this.oldState);
    }
}


/***/ }),

/***/ 6690:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AW: function() { return /* binding */ ParagraphRightIndentHistoryItem; },
/* harmony export */   Ci: function() { return /* binding */ ParagraphPropertiesHistoryItem; },
/* harmony export */   DR: function() { return /* binding */ ParagraphLineSpacingTypeHistoryItem; },
/* harmony export */   G9: function() { return /* binding */ ParagraphSuppressLineNumbersHistoryItem; },
/* harmony export */   JQ: function() { return /* binding */ ParagraphLeftIndentHistoryItem; },
/* harmony export */   L7: function() { return /* binding */ ParagraphUseValueHistoryItem; },
/* harmony export */   OO: function() { return /* binding */ ParagraphBeforeAutoSpacingHistoryItem; },
/* harmony export */   Ou: function() { return /* binding */ ParagraphSpacingAfterHistoryItem; },
/* harmony export */   TI: function() { return /* binding */ ParagraphAfterAutoSpacingHistoryItem; },
/* harmony export */   WT: function() { return /* binding */ ParagraphFirstLineIndentHistoryItem; },
/* harmony export */   Wl: function() { return /* binding */ ParagraphSpacingBeforeHistoryItem; },
/* harmony export */   Wz: function() { return /* binding */ ParagraphSuppressHyphenationHistoryItem; },
/* harmony export */   XC: function() { return /* binding */ ParagraphKeepWithNextHistoryItem; },
/* harmony export */   ZG: function() { return /* binding */ ParagraphDivIdHistoryItem; },
/* harmony export */   gJ: function() { return /* binding */ ParagraphWidowOrphanControlHistoryItem; },
/* harmony export */   jX: function() { return /* binding */ InsertTabToParagraphHistoryItem; },
/* harmony export */   mk: function() { return /* binding */ ParagraphContextualSpacingHistoryItem; },
/* harmony export */   n$: function() { return /* binding */ ParagraphAlignmentHistoryItem; },
/* harmony export */   q0: function() { return /* binding */ ParagraphPageBreakBeforeHistoryItem; },
/* harmony export */   qW: function() { return /* binding */ ParagraphLineSpacingHistoryItem; },
/* harmony export */   qn: function() { return /* binding */ DeleteTabAtParagraphHistoryItem; },
/* harmony export */   rM: function() { return /* binding */ ParagraphShadingInfoIndexHistoryItem; },
/* harmony export */   rg: function() { return /* binding */ ParagraphFirstLineIndentTypeHistoryItem; },
/* harmony export */   u7: function() { return /* binding */ ParagraphRightToLeftHistoryItem; },
/* harmony export */   v_: function() { return /* binding */ ParagraphKeepLinesTogetherHistoryItem; },
/* harmony export */   xt: function() { return /* binding */ ParagraphOutlineLevelHistoryItem; }
/* harmony export */ });
/* unused harmony exports TabHistoryItemBase, ParagraphPropertiesHistoryItemBase */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1360);
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9726);



class ParagraphUseValueHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_2__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
    }
    redo() {
        this.oldState = this.modelManipulator.paragraphProperties.useValue.setValue(this.boundSubDocument, this.interval, this.newValue);
    }
    undo() {
        this.modelManipulator.paragraphProperties.useValue.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TabHistoryItemBase extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_2__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, tabInfo) {
        super(modelManipulator, subDocInterval);
        this.tabInfo = tabInfo;
    }
}
class InsertTabToParagraphHistoryItem extends TabHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.tab.insertTabToParagraph(this.boundSubDocument, this.interval, this.tabInfo);
    }
    undo() {
        this.modelManipulator.tab.restoreInsertedTabToParagraph(this.boundSubDocument, this.oldState);
    }
}
class DeleteTabAtParagraphHistoryItem extends TabHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.tab.deleteTabAtParagraph(this.boundSubDocument, this.interval, this.tabInfo);
    }
    undo() {
        this.modelManipulator.tab.restoreDeletedTabAtParagraph(this.boundSubDocument, this.oldState);
    }
}
class ParagraphPropertiesHistoryItemBase extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_2__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, newValue, newUse) {
        super(modelManipulator, subDocInterval);
        this.newValue = newValue;
        this.newUse = newUse;
    }
    redo() {
        this.oldState = this.getPropertiesManipulator().setValue(this.boundSubDocument, this.interval, this.newValue, this.newUse);
    }
    undo() {
        this.getPropertiesManipulator().restoreValue(this.boundSubDocument, this.oldState);
    }
    getPropertiesManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class ParagraphAlignmentHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.align;
    }
}
class ParagraphContextualSpacingHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.contextualSpacing;
    }
}
class ParagraphRightToLeftHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.rightToLeft;
    }
}
class ParagraphAfterAutoSpacingHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.afterAutoSpacing;
    }
}
class ParagraphShadingInfoIndexHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.shadingInfo;
    }
}
class ParagraphBeforeAutoSpacingHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.beforeAutoSpacing;
    }
}
class ParagraphFirstLineIndentHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.firstLineIndent;
    }
}
class ParagraphFirstLineIndentTypeHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.firstLineIndentType;
    }
}
class ParagraphKeepLinesTogetherHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.keepLinesTogether;
    }
}
class ParagraphLeftIndentHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.leftIndent;
    }
}
class ParagraphLineSpacingHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.lineSpacing;
    }
}
class ParagraphLineSpacingTypeHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.lineSpacingType;
    }
}
class ParagraphOutlineLevelHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.outlineLevel;
    }
}
class ParagraphPageBreakBeforeHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.pageBreakBefore;
    }
}
class ParagraphRightIndentHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.rightIndent;
    }
}
class ParagraphSpacingAfterHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.spacingAfter;
    }
}
class ParagraphSpacingBeforeHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.spacingBefore;
    }
}
class ParagraphSuppressHyphenationHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.suppressHyphenation;
    }
}
class ParagraphSuppressLineNumbersHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.suppressLineNumbers;
    }
}
class ParagraphWidowOrphanControlHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.widowOrphanControl;
    }
}
class ParagraphDivIdHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.divId;
    }
}
class ParagraphKeepWithNextHistoryItem extends ParagraphPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.paragraphProperties.keepWithNext;
    }
}
class ParagraphPropertiesHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_1__/* .HistoryItem */ .B {
    constructor(modelManipulator, subDocument, paragraphIndex, paragraphProperties, style, numberingListIndex, listLevelIndex, tabs) {
        super(modelManipulator);
        this.subDocument = subDocument;
        this.paragraphIndex = paragraphIndex;
        this.style = style;
        this.numberingListIndex = numberingListIndex;
        this.listLevelIndex = listLevelIndex;
        this.paragraphProperties = paragraphProperties;
        this.tabs = tabs.clone();
    }
    redo() {
        let paragraph = this.subDocument.paragraphs[this.paragraphIndex];
        this.oldParagraphProperties = paragraph.maskedParagraphProperties;
        this.oldStyle = paragraph.paragraphStyle;
        this.oldNumberingListIndex = paragraph.numberingListIndex;
        this.oldListLevelIndex = paragraph.listLevelIndex;
        this.oldTabs = paragraph.tabs.clone();
        this.modelManipulator.paragraphProperties.changeAllProperties(this.subDocument, this.paragraphIndex, this.paragraphProperties, this.style, this.tabs, this.numberingListIndex, this.listLevelIndex);
    }
    undo() {
        this.modelManipulator.paragraphProperties.changeAllProperties(this.subDocument, this.paragraphIndex, this.oldParagraphProperties, this.oldStyle, this.oldTabs, this.oldNumberingListIndex, this.oldListLevelIndex);
    }
}


/***/ }),

/***/ 55:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   E: function() { return /* binding */ RemoveHyperlinkHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _character_character_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9915);
/* harmony import */ var _manipulators_range_create_range_copy_operation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4792);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8096);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1360);
/* harmony import */ var _apply_style_history_items__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8189);






class RemoveHyperlinkHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_4__/* .HistoryItem */ .B {
    constructor(modelManipulator, subDocument, field) {
        super(modelManipulator);
        this.subDocument = subDocument;
        this.fieldIndex = field.index;
        this.startPos = field.getFieldStartPosition();
        this.separatorPos = field.getSeparatorPosition();
        this.endPos = field.getFieldEndPosition();
        this.hyperlinkInfo = field.getHyperlinkInfo().clone();
    }
    redo() {
        const resultInterval = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(this.separatorPos + 1, this.endPos - 1);
        if (!this.styleHistory) {
            const charDefaultStyle = this.modelManipulator.model.getCharacterStyleByName(_character_character_style__WEBPACK_IMPORTED_MODULE_1__/* .CharacterStyle */ .H.defaultParagraphCharacterStyleName);
            this.styleHistory = new _apply_style_history_items__WEBPACK_IMPORTED_MODULE_5__/* .ApplyCharacterStyleHistoryItem */ .L9(this.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(this.subDocument, resultInterval), charDefaultStyle, false);
        }
        this.styleHistory.redo();
        const rangeCopy = resultInterval.length ?
            _manipulators_range_create_range_copy_operation__WEBPACK_IMPORTED_MODULE_2__/* .RangeCopy */ .H.create(new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentIntervals */ .Jt(this.subDocument, [resultInterval])) :
            null;
        const fieldInterval = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(this.startPos, this.endPos);
        this.removeOperationResult = this.modelManipulator.range.removeIntervalInner(this.subDocument, fieldInterval, false);
        if (rangeCopy)
            rangeCopy.insertTo(this.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentPosition */ .rg(this.subDocument, this.startPos));
    }
    undo() {
        this.modelManipulator.range.restoreRemovedInterval(this.subDocument, this.removeOperationResult);
        this.styleHistory.undo();
    }
}


/***/ }),

/***/ 2038:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: function() { return /* binding */ RemoveIntervalHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9726);

class RemoveIntervalHistoryItem extends _base_interval_based_history_item__WEBPACK_IMPORTED_MODULE_0__/* .IntervalBasedHistoryItem */ .w {
    constructor(modelManipulator, subDocInterval, setPropertiesSecondParagraph) {
        super(modelManipulator, subDocInterval);
        this.setPropertiesSecondParagraph = setPropertiesSecondParagraph;
    }
    redo() {
        this.result = this.modelManipulator.range.removeIntervalInner(this.boundSubDocument, this.interval, this.setPropertiesSecondParagraph);
    }
    undo() {
        this.modelManipulator.range.restoreRemovedInterval(this.boundSubDocument, this.result);
    }
}


/***/ }),

/***/ 7329:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ah: function() { return /* binding */ SectionMarginTopHistoryItem; },
/* harmony export */   FW: function() { return /* binding */ SectionColumnCountHistoryItem; },
/* harmony export */   Hh: function() { return /* binding */ SectionMarginRightHistoryItem; },
/* harmony export */   Mb: function() { return /* binding */ SectionSpaceHistoryItem; },
/* harmony export */   Mj: function() { return /* binding */ SectionEqualWidthColumnsHistoryItem; },
/* harmony export */   Pm: function() { return /* binding */ SectionHeaderOffsetHistoryItem; },
/* harmony export */   V9: function() { return /* binding */ SectionLandscapeHistoryItem; },
/* harmony export */   Wf: function() { return /* binding */ SectionDifferentFirstPageHistoryItem; },
/* harmony export */   ZJ: function() { return /* binding */ SectionPaperKindHistoryItem; },
/* harmony export */   bL: function() { return /* binding */ SectionMarginBottomHistoryItem; },
/* harmony export */   ho: function() { return /* binding */ SectionStartTypeHistoryItem; },
/* harmony export */   jg: function() { return /* binding */ SectionMarginLeftHistoryItem; },
/* harmony export */   lf: function() { return /* binding */ SectionPageHeightHistoryItem; },
/* harmony export */   oo: function() { return /* binding */ SectionColumnsInfoHistoryItem; },
/* harmony export */   qt: function() { return /* binding */ SectionFooterOffsetHistoryItem; },
/* harmony export */   x6: function() { return /* binding */ SectionPageWidthHistoryItem; }
/* harmony export */ });
/* unused harmony export SectionPropertiesHistoryItemBase */
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);

class SectionPropertiesHistoryItemBase extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    constructor(modelManipulator, interval, newValue) {
        super(modelManipulator);
        this.newValue = newValue;
        this.interval = interval;
    }
    redo() {
        this.oldState = this.getPropertiesManipulator().setValue(this.interval, this.newValue);
    }
    undo() {
        this.getPropertiesManipulator().restoreValue(this.oldState);
    }
}
class SectionMarginLeftHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.marginLeft;
    }
}
class SectionMarginTopHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.marginTop;
    }
}
class SectionMarginRightHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.marginRight;
    }
}
class SectionMarginBottomHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.marginBottom;
    }
}
class SectionColumnCountHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.columnCount;
    }
}
class SectionSpaceHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.space;
    }
}
class SectionEqualWidthColumnsHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.equalWidthColumns;
    }
}
class SectionColumnsInfoHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.columnsInfo;
    }
}
class SectionPageWidthHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.pageWidth;
    }
}
class SectionPageHeightHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.pageHeight;
    }
}
class SectionStartTypeHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.startType;
    }
}
class SectionLandscapeHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.landscape;
    }
}
class SectionDifferentFirstPageHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.differentFirstPage;
    }
}
class SectionHeaderOffsetHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.headerOffset;
    }
}
class SectionFooterOffsetHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.footerOffset;
    }
}
class SectionPaperKindHistoryItem extends SectionPropertiesHistoryItemBase {
    getPropertiesManipulator() {
        return this.modelManipulator.sectionProperties.paperKind;
    }
}


/***/ }),

/***/ 9406:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   bG: function() { return /* binding */ ShiftTableStartPositionToTheRightHistoryItem; },
/* harmony export */   jl: function() { return /* binding */ TableCellConditionalFormattingHistoryItem; },
/* harmony export */   mT: function() { return /* binding */ TableRowConditionalFormattingHistoryItem; }
/* harmony export */ });
/* harmony import */ var _create_table_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7460);

class ShiftTableStartPositionToTheRightHistoryItem extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_0__/* .TableBasedHistoryItem */ .H {
    redo() {
        this.modelManipulator.table.shiftTableStartPositionToTheRight(this.boundSubDocument, this.getTable());
    }
    undo() {
        this.modelManipulator.table.restoreShiftedTableStartPositionToTheRight(this.boundSubDocument, this.getTable());
    }
}
class TableRowConditionalFormattingHistoryItem extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_0__/* .TableBasedHistoryItem */ .H {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, formatting) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.formatting = formatting;
        this.rowIndex = rowIndex;
    }
    redo() {
        let row = this.getTable().rows[this.rowIndex];
        this.oldFormatting = row.conditionalFormatting;
        row.conditionalFormatting = this.formatting;
    }
    undo() {
        this.getTable().rows[this.rowIndex].conditionalFormatting = this.oldFormatting;
    }
}
class TableCellConditionalFormattingHistoryItem extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_0__/* .TableBasedHistoryItem */ .H {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, formatting) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.formatting = formatting;
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
    }
    redo() {
        let cell = this.getTable().rows[this.rowIndex].cells[this.cellIndex];
        this.oldFormatting = cell.conditionalFormatting;
        cell.conditionalFormatting = this.formatting;
    }
    undo() {
        this.getTable().rows[this.rowIndex].cells[this.cellIndex].conditionalFormatting = this.oldFormatting;
    }
}


/***/ }),

/***/ 7460:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ TableBasedHistoryItem; },
/* harmony export */   v: function() { return /* binding */ CreateTableHistoryItem; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1360);


class TableBasedHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_1__/* .HistoryItem */ .B {
    constructor(modelManipulator, boundSubDocument, tableIndex) {
        super(modelManipulator);
        this.boundSubDocument = boundSubDocument;
        this.tableIndex = tableIndex;
    }
    getTable() {
        return this.boundSubDocument.tables[this.tableIndex];
    }
    static getRowCellsRanges(tableRow) {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(tableRow.cells, (cell) => cell.interval);
    }
    static getTableCellsRanges(table) {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(table.rows, (row) => TableBasedHistoryItem.getRowCellsRanges(row));
    }
}
class CreateTableHistoryItem extends TableBasedHistoryItem {
    constructor(modelManipulator, subDocument, firstParagraphIndex, rowCount, cellCount) {
        super(modelManipulator, subDocument, -1);
        this.firstParagraphIndex = firstParagraphIndex;
        this.rowCount = rowCount;
        this.cellCount = cellCount;
    }
    redo() {
        this.tableIndex = this.modelManipulator.table.createTable(this.boundSubDocument, this.firstParagraphIndex, this.rowCount, this.cellCount).index;
    }
    undo() {
        this.modelManipulator.table.removeTable(this.boundSubDocument, this.getTable());
    }
}


/***/ }),

/***/ 6564:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   R: function() { return /* binding */ SplitTableCellToTheLeftHistoryItem; },
/* harmony export */   l: function() { return /* binding */ SplitTableCellToTheRightHistoryItem; }
/* harmony export */ });
/* harmony import */ var _create_table_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7460);

class SplitTableCellToTheLeftHistoryItem extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_0__/* .TableBasedHistoryItem */ .H {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, copyProperties) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.copyProperties = copyProperties;
    }
    redo() {
        this.modelManipulator.table.splitTableCellHorizontally(this.boundSubDocument, this.getTable(), this.rowIndex, this.cellIndex, false, this.copyProperties);
    }
    undo() {
        this.modelManipulator.table.restoreSplittedCellHorizontally(this.boundSubDocument, this.getTable(), this.rowIndex, this.cellIndex + 1, false);
    }
}
class SplitTableCellToTheRightHistoryItem extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_0__/* .TableBasedHistoryItem */ .H {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, copyProperties) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.copyProperties = copyProperties;
    }
    redo() {
        this.modelManipulator.table.splitTableCellHorizontally(this.boundSubDocument, this.getTable(), this.rowIndex, this.cellIndex, true, this.copyProperties);
    }
    undo() {
        this.modelManipulator.table.restoreSplittedCellHorizontally(this.boundSubDocument, this.getTable(), this.rowIndex, this.cellIndex, true);
    }
}


/***/ }),

/***/ 7354:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Bd: function() { return /* binding */ TableCellNoWrapHistoryItem; },
/* harmony export */   DW: function() { return /* binding */ TableCellVerticalMergingHistoryItem; },
/* harmony export */   F2: function() { return /* binding */ TableCellShadingInfoHistoryItem; },
/* harmony export */   Hg: function() { return /* binding */ TableCellColumnSpanHistoryItem; },
/* harmony export */   If: function() { return /* binding */ TableCellPreferredWidthHistoryItem; },
/* harmony export */   ZA: function() { return /* binding */ TableCellBordersHistoryItem; },
/* harmony export */   Zv: function() { return /* binding */ TableCellVerticalAlignmentHistoryItem; },
/* harmony export */   c4: function() { return /* binding */ TableCellCellMarginsHistoryItem; }
/* harmony export */ });
/* unused harmony exports TableCellPropertiesHistoryItemBase, TableCellPropertiesUseHistoryItemBase, TableCellPropertiesComplexUseHistoryItemBase, TableCellHideCellMarkHistoryItem, TableCellFitTextHistoryItem, TableCellTextDirectionHistoryItem */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _create_table_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7460);


class TableCellPropertiesHistoryItemBase extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_1__/* .TableBasedHistoryItem */ .H {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, newValue) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.newValue = newValue;
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
    }
}
class TableCellColumnSpanHistoryItem extends TableCellPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.cellProperties.columnSpan.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.cellIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.cellProperties.columnSpan.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableCellVerticalMergingHistoryItem extends TableCellPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.cellProperties.verticalMerging.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.cellIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.cellProperties.verticalMerging.restoreValue(this.boundSubDocument, this.oldState);
    }
    static fromPosition(modelManipulator, boundSubDocument, position, value) {
        return new TableCellVerticalMergingHistoryItem(modelManipulator, boundSubDocument, position.table.index, position.rowIndex, position.cellIndex, value);
    }
}
class TableCellPropertiesUseHistoryItemBase extends TableCellPropertiesHistoryItemBase {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, newValues, newUse) {
        super(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, newValues);
        this.newUse = newUse;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.cellIndex, this.newValue, this.newUse);
    }
    undo() {
        this.getManipulator().restoreValue(this.boundSubDocument, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class TableCellPropertiesComplexUseHistoryItemBase extends TableCellPropertiesHistoryItemBase {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, newValues, newUses) {
        super(modelManipulator, boundSubDocument, tableIndex, rowIndex, cellIndex, newValues);
        if (newValues.length !== newUses.length)
            throw new Error("newValues.length should be equal to newUses.length");
        this.newUses = newUses;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.cellIndex, this.newValue, this.newUses);
    }
    undo() {
        this.getManipulator().restoreValue(this.boundSubDocument, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class TableCellCellMarginsHistoryItem extends TableCellPropertiesComplexUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.cellMargins;
    }
}
class TableCellBordersHistoryItem extends TableCellPropertiesComplexUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.borders;
    }
}
class TableCellPreferredWidthHistoryItem extends TableCellPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.cellProperties.preferredWidth.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.cellIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.cellProperties.preferredWidth.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableCellHideCellMarkHistoryItem extends (/* unused pure expression or super */ null && (TableCellPropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.hideCellMark;
    }
}
class TableCellNoWrapHistoryItem extends TableCellPropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.noWrap;
    }
}
class TableCellFitTextHistoryItem extends (/* unused pure expression or super */ null && (TableCellPropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.fitText;
    }
}
class TableCellTextDirectionHistoryItem extends (/* unused pure expression or super */ null && (TableCellPropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.textDirection;
    }
}
class TableCellVerticalAlignmentHistoryItem extends TableCellPropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.verticalAlignment;
    }
}
class TableCellShadingInfoHistoryItem extends TableCellPropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.cellProperties.shadingInfo;
    }
}


/***/ }),

/***/ 4485:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H0: function() { return /* binding */ TableCellSpacingHistoryItem; },
/* harmony export */   Mo: function() { return /* binding */ TableTableRowAlignmentHistoryItem; },
/* harmony export */   NN: function() { return /* binding */ TableIndentHistoryItem; },
/* harmony export */   Ot: function() { return /* binding */ TableCellMarginsHistoryItem; },
/* harmony export */   Ux: function() { return /* binding */ TableLayoutTypeHistoryItem; },
/* harmony export */   iW: function() { return /* binding */ TablePreferredWidthHistoryItem; },
/* harmony export */   jw: function() { return /* binding */ TableBordersHistoryItem; },
/* harmony export */   t_: function() { return /* binding */ TableLookTypesHistoryItem; }
/* harmony export */ });
/* unused harmony exports TablePropertiesHistoryItemBase, TablePropertiesUseHistoryItemBase, TablePropertiesComplexUseHistoryItemBase, TableTableStyleColumnBandSizeHistoryItem, TableTableStyleRowBandSizeHistoryItem, TableAvoidDoubleBordersHistoryItem, TableShadingInfoHistoryItem, TableIsTableOverlapHistoryItem */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _create_table_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7460);


class TablePropertiesHistoryItemBase extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_1__/* .TableBasedHistoryItem */ .H {
    constructor(modelManipulator, boundSubDocument, tableIndex, newValue) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.newValue = newValue;
    }
}
class TablePropertiesUseHistoryItemBase extends TablePropertiesHistoryItemBase {
    constructor(modelManipulator, boundSubDocument, tableIndex, newValues, newUse) {
        super(modelManipulator, boundSubDocument, tableIndex, newValues);
        this.newUse = newUse;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.boundSubDocument, this.tableIndex, this.newValue, this.newUse);
    }
    undo() {
        this.getManipulator().restoreValue(this.boundSubDocument, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class TablePropertiesComplexUseHistoryItemBase extends TablePropertiesHistoryItemBase {
    constructor(modelManipulator, boundSubDocument, tableIndex, newValues, newUses) {
        super(modelManipulator, boundSubDocument, tableIndex, newValues);
        if (newValues.length !== newUses.length)
            throw new Error("newValues.length should be equal to newUses.length");
        this.newUses = newUses;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.boundSubDocument, this.tableIndex, this.newValue, this.newUses);
    }
    undo() {
        this.getManipulator().restoreValue(this.boundSubDocument, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class TableCellMarginsHistoryItem extends TablePropertiesComplexUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.cellMargins;
    }
}
class TableCellSpacingHistoryItem extends TablePropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.cellSpacing;
    }
}
class TableIndentHistoryItem extends TablePropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.indent;
    }
}
class TablePreferredWidthHistoryItem extends TablePropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.tableProperties.preferredWidth.setValue(this.boundSubDocument, this.tableIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.tableProperties.preferredWidth.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableBordersHistoryItem extends TablePropertiesComplexUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.borders;
    }
}
class TableTableStyleColumnBandSizeHistoryItem extends (/* unused pure expression or super */ null && (TablePropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.tableStyleColumnBandSize;
    }
}
class TableTableStyleRowBandSizeHistoryItem extends (/* unused pure expression or super */ null && (TablePropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.tableStyleRowBandSize;
    }
}
class TableAvoidDoubleBordersHistoryItem extends (/* unused pure expression or super */ null && (TablePropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.avoidDoubleBorders;
    }
}
class TableLayoutTypeHistoryItem extends TablePropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.layoutType;
    }
}
class TableLookTypesHistoryItem extends TablePropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.tableProperties.lookTypes.setValue(this.boundSubDocument, this.tableIndex, this.newValue);
        this.modelManipulator.table.resetParagraphCharacterMergedProperties(this.boundSubDocument, this.tableIndex);
    }
    undo() {
        this.modelManipulator.table.tableProperties.lookTypes.restoreValue(this.boundSubDocument, this.oldState);
        this.modelManipulator.table.resetParagraphCharacterMergedProperties(this.boundSubDocument, this.tableIndex);
    }
}
class TableShadingInfoHistoryItem extends (/* unused pure expression or super */ null && (TablePropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.shadingInfo;
    }
}
class TableTableRowAlignmentHistoryItem extends TablePropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.tableRowAlignment;
    }
}
class TableIsTableOverlapHistoryItem extends (/* unused pure expression or super */ null && (TablePropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.tableProperties.isTableOverlap;
    }
}


/***/ }),

/***/ 934:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ct: function() { return /* binding */ TableRowWidthAfterHistoryItem; },
/* harmony export */   Ix: function() { return /* binding */ TableRowGridAfterHistoryItem; },
/* harmony export */   Oi: function() { return /* binding */ TableRowWidthBeforeHistoryItem; },
/* harmony export */   a7: function() { return /* binding */ TableRowCellSpacingHistoryItem; },
/* harmony export */   d9: function() { return /* binding */ TableRowCantSplitHistoryItem; },
/* harmony export */   fp: function() { return /* binding */ TableRowTableRowAlignmentHistoryItem; },
/* harmony export */   kl: function() { return /* binding */ TableRowHeightHistoryItem; },
/* harmony export */   xU: function() { return /* binding */ TableRowGridBeforeHistoryItem; }
/* harmony export */ });
/* unused harmony exports TableRowPropertiesHistoryItemBase, TableRowPropertiesUseHistoryItemBase, TableRowHideCellMarkHistoryItem, TableRowHeaderHistoryItem */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _create_table_history_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7460);


class TableRowPropertiesHistoryItemBase extends _create_table_history_item__WEBPACK_IMPORTED_MODULE_1__/* .TableBasedHistoryItem */ .H {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, newValue) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.newValue = newValue;
        this.rowIndex = rowIndex;
    }
}
class TableRowGridAfterHistoryItem extends TableRowPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.rowProperties.gridAfter.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.rowProperties.gridAfter.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableRowGridBeforeHistoryItem extends TableRowPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.rowProperties.gridBefore.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.rowProperties.gridBefore.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableRowWidthAfterHistoryItem extends TableRowPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.rowProperties.widthAfter.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.rowProperties.widthAfter.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableRowWidthBeforeHistoryItem extends TableRowPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.rowProperties.widthBefore.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.rowProperties.widthBefore.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableRowPropertiesUseHistoryItemBase extends TableRowPropertiesHistoryItemBase {
    constructor(modelManipulator, boundSubDocument, tableIndex, rowIndex, newValues, newUse) {
        super(modelManipulator, boundSubDocument, tableIndex, rowIndex, newValues);
        this.newUse = newUse;
    }
    redo() {
        this.oldState = this.getManipulator().setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.newValue, this.newUse);
    }
    undo() {
        this.getManipulator().restoreValue(this.boundSubDocument, this.oldState);
    }
    getManipulator() {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class TableRowHeightHistoryItem extends TableRowPropertiesHistoryItemBase {
    redo() {
        this.oldState = this.modelManipulator.table.rowProperties.height.setValue(this.boundSubDocument, this.tableIndex, this.rowIndex, this.newValue);
    }
    undo() {
        this.modelManipulator.table.rowProperties.height.restoreValue(this.boundSubDocument, this.oldState);
    }
}
class TableRowCellSpacingHistoryItem extends TableRowPropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.rowProperties.cellSpacing;
    }
}
class TableRowCantSplitHistoryItem extends TableRowPropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.rowProperties.cantSplit;
    }
}
class TableRowHideCellMarkHistoryItem extends (/* unused pure expression or super */ null && (TableRowPropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.rowProperties.hideCellMark;
    }
}
class TableRowHeaderHistoryItem extends (/* unused pure expression or super */ null && (TableRowPropertiesUseHistoryItemBase)) {
    getManipulator() {
        return this.modelManipulator.table.rowProperties.header;
    }
}
class TableRowTableRowAlignmentHistoryItem extends TableRowPropertiesUseHistoryItemBase {
    getManipulator() {
        return this.modelManipulator.table.rowProperties.tableRowAlignment;
    }
}


/***/ }),

/***/ 6852:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   v: function() { return /* binding */ HistoryItemDirection; }
/* harmony export */ });
var HistoryItemDirection;
(function (HistoryItemDirection) {
    HistoryItemDirection[HistoryItemDirection["OnRedo"] = 1] = "OnRedo";
    HistoryItemDirection[HistoryItemDirection["OnUndo"] = 2] = "OnUndo";
    HistoryItemDirection[HistoryItemDirection["OnRedoAndUndo"] = 3] = "OnRedoAndUndo";
})(HistoryItemDirection || (HistoryItemDirection = {}));


/***/ }),

/***/ 6341:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: function() { return /* binding */ SelectionHistoryItem; }
/* harmony export */ });
/* harmony import */ var _base_history_item__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1360);
/* harmony import */ var _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7820);
/* harmony import */ var _history_item_direction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6852);



class SelectionHistoryItem extends _base_history_item__WEBPACK_IMPORTED_MODULE_0__/* .HistoryItem */ .B {
    canBeMerged() {
        return true;
    }
    constructor(modelManipulator, selection, oldState, newState, directionValue = _history_item_direction__WEBPACK_IMPORTED_MODULE_2__/* .HistoryItemDirection */ .v.OnRedoAndUndo) {
        super(modelManipulator);
        this.selection = selection;
        this.oldState = oldState;
        this.newState = newState;
        this.directionFlag = new _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_1__.Flag(directionValue);
    }
    redo() {
        if (this.directionFlag.get(_history_item_direction__WEBPACK_IMPORTED_MODULE_2__/* .HistoryItemDirection */ .v.OnRedo))
            this.selection.setState(this.newState);
    }
    undo() {
        if (this.directionFlag.get(_history_item_direction__WEBPACK_IMPORTED_MODULE_2__/* .HistoryItemDirection */ .v.OnUndo))
            this.selection.setState(this.oldState);
    }
}


/***/ }),

/***/ 7035:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $E: function() { return /* binding */ HistoryItemTableCellStateObject; },
/* harmony export */   BT: function() { return /* binding */ HistoryItemTableRowUseStateObject; },
/* harmony export */   CL: function() { return /* binding */ HistoryItemInlineObjectPropertiesStateObject; },
/* harmony export */   Dy: function() { return /* binding */ HistoryItemIntervalStyleStateObject; },
/* harmony export */   Jy: function() { return /* binding */ HistoryItemTableCellComplexUseStateObject; },
/* harmony export */   M$: function() { return /* binding */ HistoryItemIntervalCharacterPropertiesStateObject; },
/* harmony export */   SF: function() { return /* binding */ HistoryItemIntervalAnchorSizeStateObject; },
/* harmony export */   TR: function() { return /* binding */ HistoryItemIntervalUseStateObject; },
/* harmony export */   Zz: function() { return /* binding */ HistoryItemIntervalStateObject; },
/* harmony export */   _w: function() { return /* binding */ HistoryItemTableComplexUseStateObject; },
/* harmony export */   b: function() { return /* binding */ HistoryItemListLevelStateObject; },
/* harmony export */   bk: function() { return /* binding */ HistoryItemListLevelUseStateObject; },
/* harmony export */   cT: function() { return /* binding */ HistoryItemTableRowStateObject; },
/* harmony export */   gk: function() { return /* binding */ HistoryItemTabStateObject; },
/* harmony export */   mU: function() { return /* binding */ HistoryItemSectionStateObject; },
/* harmony export */   uL: function() { return /* binding */ HistoryItemTextBufferStateObject; },
/* harmony export */   vI: function() { return /* binding */ HistoryItemIntervalAnchoredTextBoxPropertiesStateObject; },
/* harmony export */   wq: function() { return /* binding */ HistoryItemTableUseStateObject; },
/* harmony export */   xe: function() { return /* binding */ HistoryItemIntervalShapeStateObject; },
/* harmony export */   xf: function() { return /* binding */ HistoryItemTableCellUseStateObject; },
/* harmony export */   z3: function() { return /* binding */ HistoryItemTableStateObject; }
/* harmony export */ });
/* unused harmony exports HistoryItemIntervalParagraphPropertiesStateObject, HistoryItemIntervalAnchorInfoStateObject */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6353);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8860);
/* harmony import */ var _borders_border_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3118);
/* harmony import */ var _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4302);
/* harmony import */ var _fonts_font_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4098);
/* harmony import */ var _json_importers_json_masked_character_properties_converter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7768);
/* harmony import */ var _json_importers_json_masked_paragraph_properties_converter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8977);
/* harmony import */ var _json_importers_json_shape_converter__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9377);
/* harmony import */ var _json_importers_json_tab_converter__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(927);
/* harmony import */ var _json_importers_section_json_columns_section_properties_converter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(2918);
/* harmony import */ var _json_importers_sub_document_json_anchor_info_converter__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(7226);
/* harmony import */ var _json_importers_sub_document_json_text_box_properties_converter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5250);
/* harmony import */ var _json_importers_sub_document_sizes_json_anchor_text_box_size_converter__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(6313);
/* harmony import */ var _json_importers_sub_document_sizes_json_inline_picture_size_converter__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(7279);
/* harmony import */ var _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(4857);
















class HistoryItemIntervalStateObject {
    constructor(interval, value) {
        this.interval = interval.clone();
        this.value = value;
    }
    merge(object) {
        this.interval.length += object.interval.length;
    }
    canMerge(object) {
        return this.interval.end === object.interval.start && this.isEqualValue(object);
    }
    isEqualValue(object) {
        return this.value === object.value;
    }
    toJSON(withPostData) {
        return [this.interval.start, this.interval.length, this.getPropertyValueForJSON(this.value, withPostData)];
    }
    getPropertyValueForJSON(value, _withPostData) {
        if (value instanceof _fonts_font_info__WEBPACK_IMPORTED_MODULE_5__/* .FontInfo */ .p)
            return value.name;
        return value;
    }
}
class HistoryItemTabStateObject extends HistoryItemIntervalStateObject {
    constructor(interval, tabInfo) {
        super(interval, tabInfo);
    }
    isEqualValue(object) {
        return this.value.position == object.value.position;
    }
    getPropertyValueForJSON(value) {
        return _json_importers_json_tab_converter__WEBPACK_IMPORTED_MODULE_9__/* .JSONTabConverter */ ._.convertToJSON(value);
    }
}
class HistoryItemTextBufferStateObject extends HistoryItemIntervalStateObject {
    constructor(startPosition, text) {
        super(new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval(startPosition, text.length), text);
    }
    canMerge(_stateValue) {
        return false;
    }
}
class HistoryItemIntervalStyleStateObject extends HistoryItemIntervalStateObject {
    constructor(interval, style) {
        super(interval, style);
    }
    getPropertyValueForJSON(value) {
        return value.styleName;
    }
}
class HistoryItemIntervalParagraphPropertiesStateObject extends (/* unused pure expression or super */ null && (HistoryItemIntervalStateObject)) {
    constructor(interval, properties) {
        super(interval, properties);
    }
    getPropertyValueForJSON(value) {
        return JSONMaskedParagraphPropertiesConverter.convertToJSON(value);
    }
}
class HistoryItemIntervalCharacterPropertiesStateObject extends HistoryItemIntervalStateObject {
    constructor(interval, properties) {
        super(interval, properties);
    }
    getPropertyValueForJSON(value) {
        return _json_importers_json_masked_character_properties_converter__WEBPACK_IMPORTED_MODULE_6__/* .JSONMaskedCharacterPropertiesConverter */ .i.convertToJSON(value);
    }
}
class HistoryItemIntervalUseStateObject extends HistoryItemIntervalStateObject {
    constructor(interval, value, use) {
        super(interval, value);
        this.use = use;
    }
    canMerge(stateValue) {
        return super.canMerge(stateValue) && this.use === stateValue.use;
    }
    toJSON() {
        return super.toJSON().concat([this.use ? 1 : 0]);
    }
}
class HistoryItemSectionStateObject {
    constructor(sectionIndex, value) {
        this.value = value;
        this.sectionIndex = sectionIndex;
    }
    toJSON() {
        return [this.sectionIndex, this.getPropertyValueForJSON(this.value)];
    }
    getPropertyValueForJSON(value) {
        if (value instanceof Array)
            return _json_importers_section_json_columns_section_properties_converter__WEBPACK_IMPORTED_MODULE_10__/* .JSONColumnsSectionPropertiesConverter */ .O.convertToJSON(value);
        return value;
    }
    canMerge(_obj) { return false; }
    merge(_obj) { }
}
class HistoryItemListLevelStateObject {
    constructor(isAbstractNumberingList, numberingListIndex, listLevelIndex, value) {
        this.isAbstractNumberingList = isAbstractNumberingList;
        this.numberingListIndex = numberingListIndex;
        this.listLevelIndex = listLevelIndex;
        this.value = value;
    }
    toJSON() {
        return [this.isAbstractNumberingList ? 1 : 0, this.numberingListIndex, this.listLevelIndex, this.getPropertyValueForJSON(this.value)];
    }
    canMerge(_obj) {
        return false;
    }
    merge(_obj) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
    getPropertyValueForJSON(value) {
        if (value instanceof _fonts_font_info__WEBPACK_IMPORTED_MODULE_5__/* .FontInfo */ .p)
            return value.name;
        return value;
    }
}
class HistoryItemListLevelUseStateObject extends HistoryItemListLevelStateObject {
    constructor(isAbstractNumberingList, numberingListIndex, listLevelIndex, value, use) {
        super(isAbstractNumberingList, numberingListIndex, listLevelIndex, value);
        this.use = use;
    }
    toJSON() {
        return super.toJSON().concat([this.use ? 1 : 0]);
    }
}
class HistoryItemTableStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, value) {
        this.tableIndex = tableIndex;
        this.value = value;
        this.tableStartPosition = tableStartPosition;
        this.tableNestedLevel = tableNestedLevel;
    }
    toJSON() {
        return [this.tableStartPosition, this.tableNestedLevel, this.getPropertyValueForJSON(this.value)];
    }
    canMerge(_obj) {
        return false;
    }
    merge(_obj) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
    getPropertyValueForJSON(value) {
        if (value instanceof _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_15__/* .TableWidthUnit */ .CT)
            return [value.type, value.value];
        if (value instanceof _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_15__/* .TableHeightUnit */ .aN)
            return [value.type, value.value];
        if (value instanceof _borders_border_info__WEBPACK_IMPORTED_MODULE_3__/* .BorderInfo */ .H)
            return [value.color.toJSON(), value.frame, value.offset, value.shadow, value.style, value.width];
        return value;
    }
}
class HistoryItemTableUseStateObject extends HistoryItemTableStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, value, use) {
        super(tableStartPosition, tableNestedLevel, tableIndex, value);
        this.use = use;
    }
    toJSON() {
        return super.toJSON().concat([this.use ? 1 : 0]);
    }
}
class HistoryItemTableComplexUseStateObject extends HistoryItemTableStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, value, uses) {
        super(tableStartPosition, tableNestedLevel, tableIndex, value);
        this.uses = uses;
    }
    toJSON() {
        let uses = [];
        let usesLength = this.uses.length;
        for (let i = 0; i < usesLength; i++)
            uses.push(this.uses[i] ? 1 : 0);
        return super.toJSON().concat([uses]);
    }
    getPropertyValueForJSON(value) {
        let result = [];
        let length = value.length;
        for (let i = 0; i < length; i++)
            result.push(super.getPropertyValueForJSON(value[i]));
        return result;
    }
}
class HistoryItemTableCellStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, cellIndex, value) {
        this.tableIndex = tableIndex;
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.value = value;
        this.tableStartPosition = tableStartPosition;
        this.tableNestedLevel = tableNestedLevel;
    }
    toJSON() {
        return [this.tableStartPosition, this.tableNestedLevel, this.rowIndex, this.cellIndex, this.getPropertyValueForJSON(this.value)];
    }
    canMerge(_obj) {
        return false;
    }
    merge(_obj) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
    getPropertyValueForJSON(value) {
        if (value instanceof _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_15__/* .TableWidthUnit */ .CT)
            return [value.type, value.value];
        if (value instanceof _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_15__/* .TableHeightUnit */ .aN)
            return [value.type, value.value];
        if (value instanceof _borders_border_info__WEBPACK_IMPORTED_MODULE_3__/* .BorderInfo */ .H)
            return [value.color.toJSON(), value.frame, value.offset, value.shadow, value.style, value.width];
        return value;
    }
}
class HistoryItemTableCellUseStateObject extends HistoryItemTableCellStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, cellIndex, value, use) {
        super(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, cellIndex, value);
        this.use = use;
    }
    toJSON() {
        return super.toJSON().concat([this.use ? 1 : 0]);
    }
}
class HistoryItemTableCellComplexUseStateObject extends HistoryItemTableCellStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, cellIndex, value, uses) {
        super(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, cellIndex, value);
        this.uses = uses;
    }
    toJSON() {
        let uses = [];
        let usesLength = this.uses.length;
        for (let i = 0; i < usesLength; i++) {
            uses.push(this.uses[i] ? 1 : 0);
        }
        return super.toJSON().concat([uses]);
    }
    getPropertyValueForJSON(value) {
        let result = [];
        let length = value.length;
        for (let i = 0; i < length; i++)
            result.push(super.getPropertyValueForJSON(value[i]));
        return result;
    }
}
class HistoryItemTableRowStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, value) {
        this.tableIndex = tableIndex;
        this.rowIndex = rowIndex;
        this.value = value;
        this.tableStartPosition = tableStartPosition;
        this.tableNestedLevel = tableNestedLevel;
    }
    toJSON() {
        return [this.tableStartPosition, this.tableNestedLevel, this.rowIndex, this.getPropertyValueForJSON(this.value)];
    }
    canMerge(_obj) {
        return false;
    }
    merge(_obj) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
    getPropertyValueForJSON(value) {
        if (value instanceof _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_15__/* .TableWidthUnit */ .CT)
            return [value.type, value.value];
        if (value instanceof _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_15__/* .TableHeightUnit */ .aN)
            return [value.type, value.value];
        return value;
    }
}
class HistoryItemTableRowUseStateObject extends HistoryItemTableRowStateObject {
    constructor(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, value, use) {
        super(tableStartPosition, tableNestedLevel, tableIndex, rowIndex, value);
        this.use = use;
    }
    toJSON() {
        return super.toJSON().concat([this.use ? 1 : 0]);
    }
}
class HistoryItemIntervalAnchorInfoStateObject extends (/* unused pure expression or super */ null && (HistoryItemIntervalStateObject)) {
    constructor(interval, properties) {
        super(interval, properties);
    }
    getPropertyValueForJSON(value) {
        return JSONAnchorInfoConverter.convertToJSON(value);
    }
}
class HistoryItemIntervalAnchorSizeStateObject extends HistoryItemIntervalStateObject {
    constructor(interval, properties) {
        super(interval, properties);
    }
    getPropertyValueForJSON(value) {
        if (value instanceof _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_4__/* .PictureSize */ .ni)
            return _json_importers_sub_document_sizes_json_inline_picture_size_converter__WEBPACK_IMPORTED_MODULE_14__/* .JSONInlinePictureSizeConverterConverter */ .M.convertToJSON(value);
        if (value instanceof _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_4__/* .AnchorTextBoxSize */ .ne)
            return _json_importers_sub_document_sizes_json_anchor_text_box_size_converter__WEBPACK_IMPORTED_MODULE_13__/* .JSONAnchorTextBoxSizeConverterConverter */ .x.convertToJSON(value);
        return value;
    }
}
class HistoryItemIntervalShapeStateObject extends HistoryItemIntervalStateObject {
    constructor(interval, properties) {
        super(interval, properties);
    }
    getPropertyValueForJSON(value) {
        return _json_importers_json_shape_converter__WEBPACK_IMPORTED_MODULE_8__/* .JSONShapeConverter */ .W.convertToJSON(value);
    }
}
class HistoryItemIntervalAnchoredTextBoxPropertiesStateObject extends HistoryItemIntervalStateObject {
    constructor(interval, properties) {
        super(interval, properties);
    }
    getPropertyValueForJSON(value) {
        return _json_importers_sub_document_json_text_box_properties_converter__WEBPACK_IMPORTED_MODULE_12__/* .JSONTextBoxPropertiesConverter */ .X.convertToJSON(value);
    }
}
class HistoryItemInlineObjectPropertiesStateObject extends HistoryItemIntervalStateObject {
    getPropertyValueForJSON(value) {
        if (value instanceof _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__.Size)
            return [value.width, value.height];
        else
            return value;
    }
}


/***/ }),

/***/ 1279:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ HistoryItemIntervalState; },
/* harmony export */   u: function() { return /* binding */ HistoryItemState; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);

class HistoryItemState {
    constructor(...values) {
        this.objects = [];
        for (var value, i = 0; value = values[i]; i++)
            this.register(value);
    }
    register(object) {
        if (this.lastObject && this.lastObject.canMerge(object))
            this.lastObject.merge(object);
        else {
            this.objects.push(object);
            this.lastObject = object;
        }
        return this;
    }
    toJSON(withPostData) {
        var result = [];
        for (var object, i = 0; object = this.objects[i]; i++)
            result.push(object.toJSON(withPostData));
        return result;
    }
    isEmpty() {
        return !this.lastObject;
    }
}
class HistoryItemIntervalState extends HistoryItemState {
    get interval() {
        if (this.lastObject)
            return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(this.objects[0].interval.start, this.lastObject.interval.end);
        return null;
    }
}


/***/ }),

/***/ 8904:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Kl: function() { return /* binding */ RequestParams; },
/* harmony export */   M2: function() { return /* binding */ LoadCommandRequest; },
/* harmony export */   Q7: function() { return /* binding */ EditCommandRequest; },
/* harmony export */   Te: function() { return /* binding */ ClientServerTextBufferChangedCommandRequest; },
/* harmony export */   fv: function() { return /* binding */ EditTextBufferCommandRequest; },
/* harmony export */   lm: function() { return /* binding */ ServerCommandRequest; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(310);
/* harmony import */ var _devexpress_utils_lib_utils_encode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9712);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1167);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3549);
/* harmony import */ var _command_type__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9397);
/* harmony import */ var _enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1763);
/* harmony import */ var _enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(6338);








class ServerCommandRequest {
    constructor(requestType, subDocumentId, commandParams) {
        this.type = requestType;
        this.subDocumentId = subDocumentId;
        this.params = commandParams;
    }
    getJsonObject(withPostData) {
        const request = {};
        request[_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONCommandParametersProperty */ .e3.CommandType] = this.type;
        request[_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONCommandParametersProperty */ .e3.IncId] = this.id;
        request[_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONCommandParametersProperty */ .e3.ServerParams] = this.prepareParams(this.params, withPostData);
        if (this.subDocumentId >= 0)
            request[_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONCommandParametersProperty */ .e3.SubDocumentId] = this.subDocumentId;
        return request;
    }
    prepareParams(params, withPostData) {
        if (params === null || params === undefined)
            return params;
        const type = typeof params;
        if (type == "number" || type == "boolean")
            return params;
        if (type == "string")
            return withPostData ? _devexpress_utils_lib_utils_encode__WEBPACK_IMPORTED_MODULE_1__.EncodeUtils.prepareTextForCallBackRequest(params) : _devexpress_utils_lib_utils_encode__WEBPACK_IMPORTED_MODULE_1__.EncodeUtils.prepareTextForRequest(params);
        if (Array.isArray(params))
            return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__.ListUtils.map(params, v => this.prepareParams(v, withPostData));
        if (params.toJSON)
            return params.toJSON();
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.map(params, value => this.prepareParams(value, withPostData));
    }
    static isEditRequest(request) {
        return ServerCommandRequest.isEditCommandType(request.type);
    }
    static isEditCommandType(type) {
        return type < 0;
    }
    static isLoadCommandType(type) {
        return type > 0;
    }
    static isUIBlockingCommandType(type) {
        return type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.StartCommand || type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.OpenDocument || type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.NewDocument;
    }
    isOpenDocumentRequest() {
        return false;
    }
    isSaveDocumentRequest() {
        return false;
    }
    isSpellCheckerRequest() {
        return false;
    }
    isLoadNextChunksRequest() {
        return false;
    }
    isGetSetRtfRequest() {
        return false;
    }
    isForcePushRequest() {
        return false;
    }
    isPdfExportRequest() {
        return false;
    }
    extendTextRequest(_subDocumentId, _position, _textLength, _characterPropertiesJSON, _characterStyleName, _type, _text) {
        return false;
    }
}
class EditCommandRequest extends ServerCommandRequest {
    getJsonObject(withPostData) {
        const request = super.getJsonObject(withPostData);
        request[_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONCommandParametersProperty */ .e3.EditIncId] = this.editIncId;
        return request;
    }
}
class LoadCommandRequest extends ServerCommandRequest {
    isOpenDocumentRequest() {
        return _devexpress_utils_lib_utils_enum__WEBPACK_IMPORTED_MODULE_0__/* .EnumUtils */ .Y.isAnyOf(this.type, _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.OpenDocument, _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.NewDocument, _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.ReloadDocument);
    }
    isSaveDocumentRequest() {
        return this.type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.SaveDocument || this.type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.SaveAsDocument;
    }
    isSpellCheckerRequest() {
        return this.type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.CheckSpelling || this.type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.AddWordToDictionary;
    }
    isGetSetRtfRequest() {
        return _devexpress_utils_lib_utils_enum__WEBPACK_IMPORTED_MODULE_0__/* .EnumUtils */ .Y.isAnyOf(this.type, _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.GetRtf, _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.InsertRtf);
    }
    isLoadNextChunksRequest() {
        return this.type == _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.LoadPieceTable;
    }
    isForcePushRequest() {
        return this.type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.ForceSyncWithServer;
    }
    isPdfExportRequest() {
        return this.type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.PdfExported;
    }
}
class EditTextBufferCommandRequest extends EditCommandRequest {
    constructor(requestType, subDocumentId, text, commandParams) {
        super(requestType, subDocumentId, commandParams);
        this.text = text;
    }
    getJsonObject(withPostData) {
        this.params[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONInsertTextCommandProperty */ .sr.Text] = this.text;
        return super.getJsonObject(withPostData);
    }
    extendTextRequest(subDocumentId, position, textLength, characterPropertiesJSON, characterStyleName, type, text) {
        if (this.subDocumentId == subDocumentId &&
            type == _runs_run_type__WEBPACK_IMPORTED_MODULE_4__/* .RunType */ .m.TextRun &&
            this.type === _command_type__WEBPACK_IMPORTED_MODULE_5__/* .CommandType */ .w.InsertSimpleRun &&
            this.params[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONInsertTextCommandProperty */ .sr.Position] + this.params[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONInsertTextCommandProperty */ .sr.Length] === position &&
            this.params[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONInsertTextCommandProperty */ .sr.RunType] === type &&
            this.params[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONInsertTextCommandProperty */ .sr.CharacterStyleName] === characterStyleName &&
            JSON.stringify(this.params[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONInsertTextCommandProperty */ .sr.CharacterProperties]) === JSON.stringify(characterPropertiesJSON)) {
            this.text += text;
            this.params[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONInsertTextCommandProperty */ .sr.Length] += textLength;
            return true;
        }
        else
            return false;
    }
}
class ClientServerTextBufferChangedCommandRequest extends EditCommandRequest {
    constructor(requestType, subDocumentId, state, commandParams) {
        super(requestType, subDocumentId, commandParams);
        this.state = state;
    }
    getJsonObject(withPostData) {
        this.params[_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONPropertyStateBasedCommand */ .qG.State] = this.state.toJSON(withPostData);
        return super.getJsonObject(withPostData);
    }
}
class RequestParams {
    constructor(lockQueue = false, immediateSend = false, processOnCallback = false) {
        this.lockQueue = false;
        this.immediateSend = false;
        this.processOnCallback = false;
        this.lockQueue = lockQueue;
        this.immediateSend = immediateSend;
        this.processOnCallback = processOnCallback;
    }
}


/***/ }),

/***/ 9397:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   w: function() { return /* binding */ CommandType; }
/* harmony export */ });
var CommandType;
(function (CommandType) {
    CommandType[CommandType["Unknown"] = 0] = "Unknown";
    CommandType[CommandType["LoadPieceTable"] = 1] = "LoadPieceTable";
    CommandType[CommandType["OpenDocument"] = 2] = "OpenDocument";
    CommandType[CommandType["SaveDocument"] = 3] = "SaveDocument";
    CommandType[CommandType["NewDocument"] = 4] = "NewDocument";
    CommandType[CommandType["SaveAsDocument"] = 5] = "SaveAsDocument";
    CommandType[CommandType["ReloadDocument"] = 6] = "ReloadDocument";
    CommandType[CommandType["StartCommand"] = 7] = "StartCommand";
    CommandType[CommandType["CheckSpelling"] = 8] = "CheckSpelling";
    CommandType[CommandType["AddWordToDictionary"] = 9] = "AddWordToDictionary";
    CommandType[CommandType["GetRtf"] = 10] = "GetRtf";
    CommandType[CommandType["InsertRtf"] = 11] = "InsertRtf";
    CommandType[CommandType["ForceSyncWithServer"] = 12] = "ForceSyncWithServer";
    CommandType[CommandType["InsertContentFromServer"] = 13] = "InsertContentFromServer";
    CommandType[CommandType["DownloadMergedDocument"] = 14] = "DownloadMergedDocument";
    CommandType[CommandType["PdfExported"] = 15] = "PdfExported";
    CommandType[CommandType["DeleteRuns"] = -1] = "DeleteRuns";
    CommandType[CommandType["InsertSimpleRun"] = -2] = "InsertSimpleRun";
    CommandType[CommandType["ChangeCharacterProperty"] = -3] = "ChangeCharacterProperty";
    CommandType[CommandType["ChangeTextBuffer"] = -4] = "ChangeTextBuffer";
    CommandType[CommandType["ApplyCharacterStyle"] = -5] = "ApplyCharacterStyle";
    CommandType[CommandType["ChangeCharacterPropertiesUseValue"] = -6] = "ChangeCharacterPropertiesUseValue";
    CommandType[CommandType["InsertParagraph"] = -7] = "InsertParagraph";
    CommandType[CommandType["MergeParagraphs"] = -8] = "MergeParagraphs";
    CommandType[CommandType["ChangeParagraphProperty"] = -9] = "ChangeParagraphProperty";
    CommandType[CommandType["ApplyParagraphStyle"] = -10] = "ApplyParagraphStyle";
    CommandType[CommandType["ChangeParagraphPropertiesUseValue"] = -11] = "ChangeParagraphPropertiesUseValue";
    CommandType[CommandType["InsertSection"] = -12] = "InsertSection";
    CommandType[CommandType["MergeSections"] = -13] = "MergeSections";
    CommandType[CommandType["ChangeSectionProperties"] = -14] = "ChangeSectionProperties";
    CommandType[CommandType["CreateBookmark"] = -15] = "CreateBookmark";
    CommandType[CommandType["DeleteBookmark"] = -16] = "DeleteBookmark";
    CommandType[CommandType["InsertInlinePicture"] = -17] = "InsertInlinePicture";
    CommandType[CommandType["ChangeInlineObjectProperties"] = -18] = "ChangeInlineObjectProperties";
    CommandType[CommandType["LoadPicturesInfo"] = -19] = "LoadPicturesInfo";
    CommandType[CommandType["UpdateInlinePictures"] = -20] = "UpdateInlinePictures";
    CommandType[CommandType["DelayedPrint"] = -21] = "DelayedPrint";
    CommandType[CommandType["ChangeDefaultTabWidth"] = -22] = "ChangeDefaultTabWidth";
    CommandType[CommandType["ChangePageColor"] = -23] = "ChangePageColor";
    CommandType[CommandType["SaveMergedDocument"] = -24] = "SaveMergedDocument";
    CommandType[CommandType["ChangeDifferentOddAndEvenPages"] = -25] = "ChangeDifferentOddAndEvenPages";
    CommandType[CommandType["ApplyNumberingList"] = -26] = "ApplyNumberingList";
    CommandType[CommandType["AddNumberingList"] = -27] = "AddNumberingList";
    CommandType[CommandType["DeleteNumberingList"] = -28] = "DeleteNumberingList";
    CommandType[CommandType["AddAbstractNumberingList"] = -29] = "AddAbstractNumberingList";
    CommandType[CommandType["DeleteAbstractNumberingList"] = -30] = "DeleteAbstractNumberingList";
    CommandType[CommandType["ChangeListLevelCharacterProperties"] = -31] = "ChangeListLevelCharacterProperties";
    CommandType[CommandType["ChangeListLevelParagraphProperties"] = -32] = "ChangeListLevelParagraphProperties";
    CommandType[CommandType["ChangeListLevelProperties"] = -33] = "ChangeListLevelProperties";
    CommandType[CommandType["ChangeIOverrideListLevel"] = -34] = "ChangeIOverrideListLevel";
    CommandType[CommandType["DeleteTabAtParagraph"] = -35] = "DeleteTabAtParagraph";
    CommandType[CommandType["InsertTabToParagraph"] = -36] = "InsertTabToParagraph";
    CommandType[CommandType["CreateStyleLink"] = -37] = "CreateStyleLink";
    CommandType[CommandType["DeleteStyleLink"] = -38] = "DeleteStyleLink";
    CommandType[CommandType["InsertField"] = -39] = "InsertField";
    CommandType[CommandType["FieldUpdate"] = -40] = "FieldUpdate";
    CommandType[CommandType["HyperlinkInfoChanged"] = -41] = "HyperlinkInfoChanged";
    CommandType[CommandType["DeleteField"] = -42] = "DeleteField";
    CommandType[CommandType["CreateHeader"] = -43] = "CreateHeader";
    CommandType[CommandType["CreateFooter"] = -44] = "CreateFooter";
    CommandType[CommandType["ChangeHeaderIndex"] = -45] = "ChangeHeaderIndex";
    CommandType[CommandType["ChangeFooterIndex"] = -46] = "ChangeFooterIndex";
    CommandType[CommandType["CreateTable"] = -47] = "CreateTable";
    CommandType[CommandType["RemoveTable"] = -48] = "RemoveTable";
    CommandType[CommandType["ShiftTableStartPosition"] = -49] = "ShiftTableStartPosition";
    CommandType[CommandType["ChangeTableCell"] = -50] = "ChangeTableCell";
    CommandType[CommandType["ChangeTableCellProperty"] = -51] = "ChangeTableCellProperty";
    CommandType[CommandType["ChangeTableRow"] = -52] = "ChangeTableRow";
    CommandType[CommandType["ChangeTableRowProperty"] = -53] = "ChangeTableRowProperty";
    CommandType[CommandType["ChangeTable"] = -54] = "ChangeTable";
    CommandType[CommandType["ChangeTableProperty"] = -55] = "ChangeTableProperty";
    CommandType[CommandType["SplitTableCellHorizontally"] = -56] = "SplitTableCellHorizontally";
    CommandType[CommandType["MergeTableCellHorizontally"] = -57] = "MergeTableCellHorizontally";
    CommandType[CommandType["InsertTableRow"] = -58] = "InsertTableRow";
    CommandType[CommandType["RemoveTableRow"] = -59] = "RemoveTableRow";
    CommandType[CommandType["RemoveTableCell"] = -60] = "RemoveTableCell";
    CommandType[CommandType["InsertTableCell"] = -61] = "InsertTableCell";
    CommandType[CommandType["ApplyTableStyle"] = -62] = "ApplyTableStyle";
    CommandType[CommandType["LoadFontInfo"] = -63] = "LoadFontInfo";
    CommandType[CommandType["ChangeCharacterProperties"] = -64] = "ChangeCharacterProperties";
    CommandType[CommandType["ChangeParagraphProperties"] = -65] = "ChangeParagraphProperties";
    CommandType[CommandType["InsertAnchoredPicture"] = -66] = "InsertAnchoredPicture";
    CommandType[CommandType["ChangeAnchorInfoProperty"] = -67] = "ChangeAnchorInfoProperty";
    CommandType[CommandType["ChangeAnchoredObjectShapeProperty"] = -68] = "ChangeAnchoredObjectShapeProperty";
    CommandType[CommandType["ChangeAnchoredPictureSize"] = -69] = "ChangeAnchoredPictureSize";
    CommandType[CommandType["ChangeAnchoredTextBoxSize"] = -70] = "ChangeAnchoredTextBoxSize";
    CommandType[CommandType["InsertAnchoredTextBox"] = -71] = "InsertAnchoredTextBox";
    CommandType[CommandType["ChangeTextBoxProperties"] = -72] = "ChangeTextBoxProperties";
    CommandType[CommandType["RequestModelAfterHibernation"] = -73] = "RequestModelAfterHibernation";
})(CommandType || (CommandType = {}));


/***/ }),

/***/ 1763:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   CZ: function() { return /* binding */ JSONLangInfoProperty; },
/* harmony export */   Gn: function() { return /* binding */ JSONColorModelInfoProperty; },
/* harmony export */   I$: function() { return /* binding */ JSONCharacterFormattingProperty; },
/* harmony export */   oO: function() { return /* binding */ JSONLoadFontInfoCommand; },
/* harmony export */   sr: function() { return /* binding */ JSONInsertTextCommandProperty; },
/* harmony export */   yW: function() { return /* binding */ JSONFontInfoProperty; }
/* harmony export */ });
/* unused harmony export JSONCompositeFontInfoProperty */
var JSONFontInfoProperty;
(function (JSONFontInfoProperty) {
    JSONFontInfoProperty[JSONFontInfoProperty["Name"] = 0] = "Name";
    JSONFontInfoProperty[JSONFontInfoProperty["ScriptMultiplier"] = 1] = "ScriptMultiplier";
    JSONFontInfoProperty[JSONFontInfoProperty["CssString"] = 2] = "CssString";
    JSONFontInfoProperty[JSONFontInfoProperty["CanBeSet"] = 3] = "CanBeSet";
    JSONFontInfoProperty[JSONFontInfoProperty["SubScriptOffset"] = 4] = "SubScriptOffset";
    JSONFontInfoProperty[JSONFontInfoProperty["FontFamily"] = 5] = "FontFamily";
})(JSONFontInfoProperty || (JSONFontInfoProperty = {}));
var JSONColorModelInfoProperty;
(function (JSONColorModelInfoProperty) {
    JSONColorModelInfoProperty[JSONColorModelInfoProperty["ColorType"] = 0] = "ColorType";
    JSONColorModelInfoProperty[JSONColorModelInfoProperty["Auto"] = 1] = "Auto";
    JSONColorModelInfoProperty[JSONColorModelInfoProperty["ThemeColorIndex"] = 2] = "ThemeColorIndex";
    JSONColorModelInfoProperty[JSONColorModelInfoProperty["Tint"] = 3] = "Tint";
    JSONColorModelInfoProperty[JSONColorModelInfoProperty["Rgb"] = 4] = "Rgb";
    JSONColorModelInfoProperty[JSONColorModelInfoProperty["ColorIndex"] = 5] = "ColorIndex";
})(JSONColorModelInfoProperty || (JSONColorModelInfoProperty = {}));
var JSONCharacterFormattingProperty;
(function (JSONCharacterFormattingProperty) {
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["FontInfoIndex"] = 0] = "FontInfoIndex";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["Size"] = 1] = "Size";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["Bold"] = 2] = "Bold";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["Italic"] = 3] = "Italic";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["StrikeoutType"] = 4] = "StrikeoutType";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["UnderlineType"] = 5] = "UnderlineType";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["AllCaps"] = 6] = "AllCaps";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["StrikeoutWordsOnly"] = 7] = "StrikeoutWordsOnly";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["UnderlineWordsOnly"] = 8] = "UnderlineWordsOnly";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["Script"] = 9] = "Script";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["Hidden"] = 10] = "Hidden";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["LangInfo"] = 11] = "LangInfo";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["NoProof"] = 12] = "NoProof";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["UseValue"] = 13] = "UseValue";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["FontName"] = 14] = "FontName";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["CompositeFontInfo"] = 15] = "CompositeFontInfo";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["TextColor"] = 16] = "TextColor";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["ShadingInfo"] = 17] = "ShadingInfo";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["HighlightColor"] = 18] = "HighlightColor";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["UnderlineColor"] = 19] = "UnderlineColor";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["StrikeoutColor"] = 20] = "StrikeoutColor";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["TextColorIndex"] = 21] = "TextColorIndex";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["ShadingInfoIndex"] = 22] = "ShadingInfoIndex";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["HighlightColorIndex"] = 23] = "HighlightColorIndex";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["UnderlineColorIndex"] = 24] = "UnderlineColorIndex";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["StrikeoutColorIndex"] = 25] = "StrikeoutColorIndex";
    JSONCharacterFormattingProperty[JSONCharacterFormattingProperty["SmallCaps"] = 26] = "SmallCaps";
})(JSONCharacterFormattingProperty || (JSONCharacterFormattingProperty = {}));
var JSONLangInfoProperty;
(function (JSONLangInfoProperty) {
    JSONLangInfoProperty[JSONLangInfoProperty["Latin"] = 0] = "Latin";
    JSONLangInfoProperty[JSONLangInfoProperty["Bidi"] = 1] = "Bidi";
    JSONLangInfoProperty[JSONLangInfoProperty["EastAsia"] = 2] = "EastAsia";
})(JSONLangInfoProperty || (JSONLangInfoProperty = {}));
var JSONCompositeFontInfoProperty;
(function (JSONCompositeFontInfoProperty) {
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["asciiFontName"] = 0] = "asciiFontName";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["hightAnsiFontName"] = 1] = "hightAnsiFontName";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["complexScriptFontName"] = 2] = "complexScriptFontName";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["eastAsiaFontName"] = 3] = "eastAsiaFontName";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["asciiThemeFont"] = 4] = "asciiThemeFont";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["hightAnsiThemeFont"] = 5] = "hightAnsiThemeFont";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["complexScriptThemeFont"] = 6] = "complexScriptThemeFont";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["eastAsiaThemeFont"] = 7] = "eastAsiaThemeFont";
    JSONCompositeFontInfoProperty[JSONCompositeFontInfoProperty["hintFont"] = 8] = "hintFont";
})(JSONCompositeFontInfoProperty || (JSONCompositeFontInfoProperty = {}));
var JSONInsertTextCommandProperty;
(function (JSONInsertTextCommandProperty) {
    JSONInsertTextCommandProperty[JSONInsertTextCommandProperty["Text"] = 0] = "Text";
    JSONInsertTextCommandProperty[JSONInsertTextCommandProperty["RunType"] = 1] = "RunType";
    JSONInsertTextCommandProperty[JSONInsertTextCommandProperty["Length"] = 2] = "Length";
    JSONInsertTextCommandProperty[JSONInsertTextCommandProperty["Position"] = 3] = "Position";
    JSONInsertTextCommandProperty[JSONInsertTextCommandProperty["CharacterStyleName"] = 4] = "CharacterStyleName";
    JSONInsertTextCommandProperty[JSONInsertTextCommandProperty["CharacterPropertiesIndex"] = 5] = "CharacterPropertiesIndex";
    JSONInsertTextCommandProperty[JSONInsertTextCommandProperty["CharacterProperties"] = 6] = "CharacterProperties";
})(JSONInsertTextCommandProperty || (JSONInsertTextCommandProperty = {}));
var JSONLoadFontInfoCommand;
(function (JSONLoadFontInfoCommand) {
    JSONLoadFontInfoCommand[JSONLoadFontInfoCommand["FontInfo"] = 0] = "FontInfo";
    JSONLoadFontInfoCommand[JSONLoadFontInfoCommand["FontInfoIndex"] = 1] = "FontInfoIndex";
})(JSONLoadFontInfoCommand || (JSONLoadFontInfoCommand = {}));


/***/ }),

/***/ 8241:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ JSONControlOptionsProperty; },
/* harmony export */   m: function() { return /* binding */ JSONRichEditBehaviorOptionsProperty; }
/* harmony export */ });
var JSONRichEditBehaviorOptionsProperty;
(function (JSONRichEditBehaviorOptionsProperty) {
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Copy"] = 0] = "Copy";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["CreateNew"] = 1] = "CreateNew";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Cut"] = 2] = "Cut";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Drag"] = 3] = "Drag";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Drop"] = 4] = "Drop";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["FontSource"] = 5] = "FontSource";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["ForeColorSource"] = 6] = "ForeColorSource";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["MaxZoomFactor"] = 7] = "MaxZoomFactor";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["MinZoomFactor"] = 8] = "MinZoomFactor";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["OfficeScrolling"] = 9] = "OfficeScrolling";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Open"] = 10] = "Open";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["OvertypeAllowed"] = 11] = "OvertypeAllowed";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["PageBreakInsertMode"] = 12] = "PageBreakInsertMode";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Paste"] = 13] = "Paste";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["PasteLineBreakSubstitution"] = 14] = "PasteLineBreakSubstitution";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["PasteSingleCellAsText"] = 15] = "PasteSingleCellAsText";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Printing"] = 16] = "Printing";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Save"] = 17] = "Save";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["SaveAs"] = 18] = "SaveAs";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["ShowPopupMenu"] = 19] = "ShowPopupMenu";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["TabMarker"] = 20] = "TabMarker";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Touch"] = 21] = "Touch";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["UseFontSubstitution"] = 22] = "UseFontSubstitution";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Zooming"] = 23] = "Zooming";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["DocumentPropertiesAutoUpdate"] = 24] = "DocumentPropertiesAutoUpdate";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["KeepTextHighlightingOnClearFormatting"] = 25] = "KeepTextHighlightingOnClearFormatting";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["Download"] = 26] = "Download";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["AcceptsTab"] = 27] = "AcceptsTab";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["FullScreen"] = 28] = "FullScreen";
    JSONRichEditBehaviorOptionsProperty[JSONRichEditBehaviorOptionsProperty["RaiseClientEventsOnModificationsViaAPI"] = 29] = "RaiseClientEventsOnModificationsViaAPI";
})(JSONRichEditBehaviorOptionsProperty || (JSONRichEditBehaviorOptionsProperty = {}));
var JSONControlOptionsProperty;
(function (JSONControlOptionsProperty) {
    JSONControlOptionsProperty[JSONControlOptionsProperty["Copy"] = 0] = "Copy";
    JSONControlOptionsProperty[JSONControlOptionsProperty["CreateNew"] = 1] = "CreateNew";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Cut"] = 2] = "Cut";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Drag"] = 3] = "Drag";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Drop"] = 4] = "Drop";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Open"] = 5] = "Open";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Paste"] = 6] = "Paste";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Printing"] = 7] = "Printing";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Save"] = 8] = "Save";
    JSONControlOptionsProperty[JSONControlOptionsProperty["SaveAs"] = 9] = "SaveAs";
    JSONControlOptionsProperty[JSONControlOptionsProperty["FullScreen"] = 10] = "FullScreen";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Bookmarks"] = 11] = "Bookmarks";
    JSONControlOptionsProperty[JSONControlOptionsProperty["CharacterFormatting"] = 12] = "CharacterFormatting";
    JSONControlOptionsProperty[JSONControlOptionsProperty["CharacterStyle"] = 13] = "CharacterStyle";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Fields"] = 14] = "Fields";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Hyperlinks"] = 15] = "Hyperlinks";
    JSONControlOptionsProperty[JSONControlOptionsProperty["InlinePictures"] = 16] = "InlinePictures";
    JSONControlOptionsProperty[JSONControlOptionsProperty["ParagraphFormatting"] = 17] = "ParagraphFormatting";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Paragraphs"] = 18] = "Paragraphs";
    JSONControlOptionsProperty[JSONControlOptionsProperty["ParagraphStyle"] = 19] = "ParagraphStyle";
    JSONControlOptionsProperty[JSONControlOptionsProperty["ParagraphTabs"] = 20] = "ParagraphTabs";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Sections"] = 21] = "Sections";
    JSONControlOptionsProperty[JSONControlOptionsProperty["TabSymbol"] = 22] = "TabSymbol";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Undo"] = 23] = "Undo";
    JSONControlOptionsProperty[JSONControlOptionsProperty["NumberingBulleted"] = 24] = "NumberingBulleted";
    JSONControlOptionsProperty[JSONControlOptionsProperty["NumberingMultiLevel"] = 25] = "NumberingMultiLevel";
    JSONControlOptionsProperty[JSONControlOptionsProperty["NumberingSimple"] = 26] = "NumberingSimple";
    JSONControlOptionsProperty[JSONControlOptionsProperty["HeadersFooters"] = 27] = "HeadersFooters";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Tables"] = 28] = "Tables";
    JSONControlOptionsProperty[JSONControlOptionsProperty["TableStyle"] = 29] = "TableStyle";
    JSONControlOptionsProperty[JSONControlOptionsProperty["TabMarker"] = 30] = "TabMarker";
    JSONControlOptionsProperty[JSONControlOptionsProperty["PageBreakInsertMode"] = 31] = "PageBreakInsertMode";
    JSONControlOptionsProperty[JSONControlOptionsProperty["AcceptsTab"] = 32] = "AcceptsTab";
    JSONControlOptionsProperty[JSONControlOptionsProperty["Download"] = 33] = "Download";
    JSONControlOptionsProperty[JSONControlOptionsProperty["RaiseClientEventsOnModificationsViaAPI"] = 34] = "RaiseClientEventsOnModificationsViaAPI";
})(JSONControlOptionsProperty || (JSONControlOptionsProperty = {}));


/***/ }),

/***/ 1573:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $s: function() { return /* binding */ JSONModelPropertyProperty; },
/* harmony export */   Wp: function() { return /* binding */ JSONCompatibilitySettingsProperty; },
/* harmony export */   jA: function() { return /* binding */ JSONDocumentProtectionPropertiesProperty; },
/* harmony export */   tK: function() { return /* binding */ JSONDocumentPropertiesProperty; },
/* harmony export */   vK: function() { return /* binding */ DocumentProtectionType; },
/* harmony export */   vW: function() { return /* binding */ JSONDocumentModelProperty; }
/* harmony export */ });
var JSONModelPropertyProperty;
(function (JSONModelPropertyProperty) {
    JSONModelPropertyProperty[JSONModelPropertyProperty["DefaultTabWidth"] = 0] = "DefaultTabWidth";
    JSONModelPropertyProperty[JSONModelPropertyProperty["OddEvenPages"] = 1] = "OddEvenPages";
    JSONModelPropertyProperty[JSONModelPropertyProperty["PageColor"] = 2] = "PageColor";
})(JSONModelPropertyProperty || (JSONModelPropertyProperty = {}));
var JSONDocumentModelProperty;
(function (JSONDocumentModelProperty) {
    JSONDocumentModelProperty[JSONDocumentModelProperty["DocumentProperties"] = 0] = "DocumentProperties";
    JSONDocumentModelProperty[JSONDocumentModelProperty["Styles"] = 1] = "Styles";
    JSONDocumentModelProperty[JSONDocumentModelProperty["Sections"] = 2] = "Sections";
    JSONDocumentModelProperty[JSONDocumentModelProperty["AbstractNumberingLists"] = 3] = "AbstractNumberingLists";
    JSONDocumentModelProperty[JSONDocumentModelProperty["NumberingLists"] = 4] = "NumberingLists";
    JSONDocumentModelProperty[JSONDocumentModelProperty["Headers"] = 5] = "Headers";
    JSONDocumentModelProperty[JSONDocumentModelProperty["Footers"] = 6] = "Footers";
    JSONDocumentModelProperty[JSONDocumentModelProperty["AbstractNumberingListTemplates"] = 7] = "AbstractNumberingListTemplates";
    JSONDocumentModelProperty[JSONDocumentModelProperty["Images"] = 8] = "Images";
    JSONDocumentModelProperty[JSONDocumentModelProperty["PaletteColors"] = 9] = "PaletteColors";
    JSONDocumentModelProperty[JSONDocumentModelProperty["OfficeThemeColors"] = 10] = "OfficeThemeColors";
    JSONDocumentModelProperty[JSONDocumentModelProperty["CompatibilitySettings"] = 11] = "CompatibilitySettings";
})(JSONDocumentModelProperty || (JSONDocumentModelProperty = {}));
var JSONDocumentProtectionPropertiesProperty;
(function (JSONDocumentProtectionPropertiesProperty) {
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["EnforceProtection"] = 0] = "EnforceProtection";
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["ProtectionType"] = 1] = "ProtectionType";
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["HashAlgorithmType"] = 2] = "HashAlgorithmType";
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["HashIterationCount"] = 3] = "HashIterationCount";
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["PasswordHash"] = 4] = "PasswordHash";
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["PasswordPrefix"] = 5] = "PasswordPrefix";
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["Word2003PasswordHash"] = 6] = "Word2003PasswordHash";
    JSONDocumentProtectionPropertiesProperty[JSONDocumentProtectionPropertiesProperty["OpenOfficePasswordHash"] = 7] = "OpenOfficePasswordHash";
})(JSONDocumentProtectionPropertiesProperty || (JSONDocumentProtectionPropertiesProperty = {}));
var DocumentProtectionType;
(function (DocumentProtectionType) {
    DocumentProtectionType[DocumentProtectionType["None"] = 0] = "None";
    DocumentProtectionType[DocumentProtectionType["ReadOnly"] = 1] = "ReadOnly";
    DocumentProtectionType[DocumentProtectionType["AllowComments"] = 2] = "AllowComments";
    DocumentProtectionType[DocumentProtectionType["TrackedChanges"] = 3] = "TrackedChanges";
})(DocumentProtectionType || (DocumentProtectionType = {}));
var JSONDocumentPropertiesProperty;
(function (JSONDocumentPropertiesProperty) {
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DefaultTabWidth"] = 0] = "DefaultTabWidth";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DifferentOddAndEvenPages"] = 1] = "DifferentOddAndEvenPages";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DisplayBackgroundShape"] = 2] = "DisplayBackgroundShape";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["PageBackColor"] = 3] = "PageBackColor";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DefaultCharacterProperties"] = 4] = "DefaultCharacterProperties";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DefaultParagraphProperties"] = 5] = "DefaultParagraphProperties";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DefaultTableProperties"] = 6] = "DefaultTableProperties";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DefaultTableRowProperties"] = 7] = "DefaultTableRowProperties";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["DefaultTableCellProperties"] = 8] = "DefaultTableCellProperties";
    JSONDocumentPropertiesProperty[JSONDocumentPropertiesProperty["ProtectionProperties"] = 9] = "ProtectionProperties";
})(JSONDocumentPropertiesProperty || (JSONDocumentPropertiesProperty = {}));
var JSONCompatibilitySettingsProperty;
(function (JSONCompatibilitySettingsProperty) {
    JSONCompatibilitySettingsProperty[JSONCompatibilitySettingsProperty["DontJustifyLinesEndingInSoftLineBreak"] = 0] = "DontJustifyLinesEndingInSoftLineBreak";
    JSONCompatibilitySettingsProperty[JSONCompatibilitySettingsProperty["CompatibilityMode"] = 1] = "CompatibilityMode";
})(JSONCompatibilitySettingsProperty || (JSONCompatibilitySettingsProperty = {}));


/***/ }),

/***/ 5060:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Du: function() { return /* binding */ JSONServerUpdateFieldType; },
/* harmony export */   Jt: function() { return /* binding */ JSONFieldProperty; },
/* harmony export */   Pe: function() { return /* binding */ JSONUpdateFieldCommandInfo; },
/* harmony export */   Xf: function() { return /* binding */ JSONUpdateFieldCommandDocVariableInfo; },
/* harmony export */   ZD: function() { return /* binding */ JSONUpdateFieldCommandDocVariableParameters; },
/* harmony export */   op: function() { return /* binding */ JSONUpdateFieldCommandResult; },
/* harmony export */   ty: function() { return /* binding */ JSONUpdateFieldCommand; }
/* harmony export */ });
var JSONFieldProperty;
(function (JSONFieldProperty) {
    JSONFieldProperty[JSONFieldProperty["StartPos"] = 0] = "StartPos";
    JSONFieldProperty[JSONFieldProperty["SeparatorPos"] = 1] = "SeparatorPos";
    JSONFieldProperty[JSONFieldProperty["EndPos"] = 2] = "EndPos";
    JSONFieldProperty[JSONFieldProperty["Uri"] = 3] = "Uri";
    JSONFieldProperty[JSONFieldProperty["Anchor"] = 4] = "Anchor";
    JSONFieldProperty[JSONFieldProperty["Tip"] = 5] = "Tip";
    JSONFieldProperty[JSONFieldProperty["Visited"] = 6] = "Visited";
    JSONFieldProperty[JSONFieldProperty["NoInfo"] = 7] = "NoInfo";
})(JSONFieldProperty || (JSONFieldProperty = {}));
var JSONUpdateFieldCommand;
(function (JSONUpdateFieldCommand) {
    JSONUpdateFieldCommand[JSONUpdateFieldCommand["ActiveRecord"] = 0] = "ActiveRecord";
    JSONUpdateFieldCommand[JSONUpdateFieldCommand["Info"] = 1] = "Info";
    JSONUpdateFieldCommand[JSONUpdateFieldCommand["SubDocumentId"] = 2] = "SubDocumentId";
})(JSONUpdateFieldCommand || (JSONUpdateFieldCommand = {}));
var JSONUpdateFieldCommandInfo;
(function (JSONUpdateFieldCommandInfo) {
    JSONUpdateFieldCommandInfo[JSONUpdateFieldCommandInfo["ServerUpdateFieldType"] = 0] = "ServerUpdateFieldType";
    JSONUpdateFieldCommandInfo[JSONUpdateFieldCommandInfo["Data"] = 1] = "Data";
})(JSONUpdateFieldCommandInfo || (JSONUpdateFieldCommandInfo = {}));
var JSONUpdateFieldCommandDocVariableInfo;
(function (JSONUpdateFieldCommandDocVariableInfo) {
    JSONUpdateFieldCommandDocVariableInfo[JSONUpdateFieldCommandDocVariableInfo["Parameters"] = 0] = "Parameters";
    JSONUpdateFieldCommandDocVariableInfo[JSONUpdateFieldCommandDocVariableInfo["FieldName"] = 1] = "FieldName";
})(JSONUpdateFieldCommandDocVariableInfo || (JSONUpdateFieldCommandDocVariableInfo = {}));
var JSONUpdateFieldCommandDocVariableParameters;
(function (JSONUpdateFieldCommandDocVariableParameters) {
    JSONUpdateFieldCommandDocVariableParameters[JSONUpdateFieldCommandDocVariableParameters["PureText"] = 0] = "PureText";
    JSONUpdateFieldCommandDocVariableParameters[JSONUpdateFieldCommandDocVariableParameters["IntervalStart"] = 1] = "IntervalStart";
    JSONUpdateFieldCommandDocVariableParameters[JSONUpdateFieldCommandDocVariableParameters["IntervalEnd"] = 2] = "IntervalEnd";
})(JSONUpdateFieldCommandDocVariableParameters || (JSONUpdateFieldCommandDocVariableParameters = {}));
var JSONUpdateFieldCommandResult;
(function (JSONUpdateFieldCommandResult) {
    JSONUpdateFieldCommandResult[JSONUpdateFieldCommandResult["SimpleText"] = 0] = "SimpleText";
    JSONUpdateFieldCommandResult[JSONUpdateFieldCommandResult["DocumentLength"] = 1] = "DocumentLength";
    JSONUpdateFieldCommandResult[JSONUpdateFieldCommandResult["DocumentModel"] = 2] = "DocumentModel";
    JSONUpdateFieldCommandResult[JSONUpdateFieldCommandResult["ImageCorrespondence"] = 3] = "ImageCorrespondence";
    JSONUpdateFieldCommandResult[JSONUpdateFieldCommandResult["Caches"] = 4] = "Caches";
})(JSONUpdateFieldCommandResult || (JSONUpdateFieldCommandResult = {}));
var JSONServerUpdateFieldType;
(function (JSONServerUpdateFieldType) {
    JSONServerUpdateFieldType[JSONServerUpdateFieldType["DocVariable"] = 1] = "DocVariable";
    JSONServerUpdateFieldType[JSONServerUpdateFieldType["MergeField"] = 2] = "MergeField";
})(JSONServerUpdateFieldType || (JSONServerUpdateFieldType = {}));


/***/ }),

/***/ 1:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   An: function() { return /* binding */ JSONShapeProperty; },
/* harmony export */   Bz: function() { return /* binding */ JSONImageCacheInfo; },
/* harmony export */   D4: function() { return /* binding */ JSONTextBoxContentMargins; },
/* harmony export */   Hf: function() { return /* binding */ JSONTextBoxProperties; },
/* harmony export */   JB: function() { return /* binding */ JSONPictureSize; },
/* harmony export */   Ol: function() { return /* binding */ JSONInlineObjectProperty; },
/* harmony export */   YX: function() { return /* binding */ JSONNonVisualDrawingObjectProperties; },
/* harmony export */   _w: function() { return /* binding */ JSONInlinePictureCommandsImageInfo; },
/* harmony export */   hz: function() { return /* binding */ JSONInsertFloatingObjectCommandInfo; },
/* harmony export */   k2: function() { return /* binding */ JSONInlineTextBoxSize; },
/* harmony export */   kn: function() { return /* binding */ JSONAnchorInfoProperty; },
/* harmony export */   qr: function() { return /* binding */ JSONAnchorTextBoxSize; },
/* harmony export */   z2: function() { return /* binding */ JSONAnchorInlineBaseSize; }
/* harmony export */ });
var JSONShapeProperty;
(function (JSONShapeProperty) {
    JSONShapeProperty[JSONShapeProperty["FillColor"] = 0] = "FillColor";
    JSONShapeProperty[JSONShapeProperty["OutlineColor"] = 1] = "OutlineColor";
    JSONShapeProperty[JSONShapeProperty["OutlineWidth"] = 2] = "OutlineWidth";
})(JSONShapeProperty || (JSONShapeProperty = {}));
var JSONAnchorInlineBaseSize;
(function (JSONAnchorInlineBaseSize) {
    JSONAnchorInlineBaseSize[JSONAnchorInlineBaseSize["LockAspectRatio"] = 0] = "LockAspectRatio";
    JSONAnchorInlineBaseSize[JSONAnchorInlineBaseSize["Rotation"] = 1] = "Rotation";
    JSONAnchorInlineBaseSize[JSONAnchorInlineBaseSize["MAX_VALUE"] = 2] = "MAX_VALUE";
})(JSONAnchorInlineBaseSize || (JSONAnchorInlineBaseSize = {}));
var JSONPictureSize;
(function (JSONPictureSize) {
    JSONPictureSize[JSONPictureSize["Scale"] = 2] = "Scale";
})(JSONPictureSize || (JSONPictureSize = {}));
var JSONInlineTextBoxSize;
(function (JSONInlineTextBoxSize) {
    JSONInlineTextBoxSize[JSONInlineTextBoxSize["AbsoluteSize"] = 2] = "AbsoluteSize";
})(JSONInlineTextBoxSize || (JSONInlineTextBoxSize = {}));
var JSONAnchorTextBoxSize;
(function (JSONAnchorTextBoxSize) {
    JSONAnchorTextBoxSize[JSONAnchorTextBoxSize["AbsoluteSize"] = 2] = "AbsoluteSize";
    JSONAnchorTextBoxSize[JSONAnchorTextBoxSize["RelativeSize"] = 3] = "RelativeSize";
    JSONAnchorTextBoxSize[JSONAnchorTextBoxSize["RelativeSizeType"] = 4] = "RelativeSizeType";
    JSONAnchorTextBoxSize[JSONAnchorTextBoxSize["UseAbsoluteSize"] = 5] = "UseAbsoluteSize";
})(JSONAnchorTextBoxSize || (JSONAnchorTextBoxSize = {}));
var JSONTextBoxContentMargins;
(function (JSONTextBoxContentMargins) {
    JSONTextBoxContentMargins[JSONTextBoxContentMargins["Left"] = 0] = "Left";
    JSONTextBoxContentMargins[JSONTextBoxContentMargins["Right"] = 1] = "Right";
    JSONTextBoxContentMargins[JSONTextBoxContentMargins["Top"] = 2] = "Top";
    JSONTextBoxContentMargins[JSONTextBoxContentMargins["Bottom"] = 3] = "Bottom";
})(JSONTextBoxContentMargins || (JSONTextBoxContentMargins = {}));
var JSONAnchorInfoProperty;
(function (JSONAnchorInfoProperty) {
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["AllowOverlap"] = 0] = "AllowOverlap";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["Hidden"] = 1] = "Hidden";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["LayoutTableCell"] = 2] = "LayoutTableCell";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["Locked"] = 3] = "Locked";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["IsBehindDoc"] = 4] = "IsBehindDoc";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["LeftDistance"] = 5] = "LeftDistance";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["RightDistance"] = 6] = "RightDistance";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["TopDistance"] = 7] = "TopDistance";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["BottomDistance"] = 8] = "BottomDistance";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["ZOrder"] = 9] = "ZOrder";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["WrapType"] = 10] = "WrapType";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["WrapSide"] = 11] = "WrapSide";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["HorizontalPositionType"] = 12] = "HorizontalPositionType";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["HorizontalPositionAlignment"] = 13] = "HorizontalPositionAlignment";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["VerticalPositionType"] = 14] = "VerticalPositionType";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["VerticalPositionAlignment"] = 15] = "VerticalPositionAlignment";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["OffsetX"] = 16] = "OffsetX";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["OffsetY"] = 17] = "OffsetY";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["PercentOffsetX"] = 18] = "PercentOffsetX";
    JSONAnchorInfoProperty[JSONAnchorInfoProperty["PercentOffsetY"] = 19] = "PercentOffsetY";
})(JSONAnchorInfoProperty || (JSONAnchorInfoProperty = {}));
var JSONInlinePictureCommandsImageInfo;
(function (JSONInlinePictureCommandsImageInfo) {
    JSONInlinePictureCommandsImageInfo[JSONInlinePictureCommandsImageInfo["Position"] = 0] = "Position";
    JSONInlinePictureCommandsImageInfo[JSONInlinePictureCommandsImageInfo["CacheInfo"] = 1] = "CacheInfo";
    JSONInlinePictureCommandsImageInfo[JSONInlinePictureCommandsImageInfo["ScaleSize"] = 2] = "ScaleSize";
    JSONInlinePictureCommandsImageInfo[JSONInlinePictureCommandsImageInfo["DrawingObjectProperties"] = 3] = "DrawingObjectProperties";
})(JSONInlinePictureCommandsImageInfo || (JSONInlinePictureCommandsImageInfo = {}));
var JSONImageCacheInfo;
(function (JSONImageCacheInfo) {
    JSONImageCacheInfo[JSONImageCacheInfo["TmpId"] = 0] = "TmpId";
    JSONImageCacheInfo[JSONImageCacheInfo["ActualId"] = 1] = "ActualId";
    JSONImageCacheInfo[JSONImageCacheInfo["Url"] = 2] = "Url";
    JSONImageCacheInfo[JSONImageCacheInfo["Base64"] = 3] = "Base64";
    JSONImageCacheInfo[JSONImageCacheInfo["Size"] = 4] = "Size";
})(JSONImageCacheInfo || (JSONImageCacheInfo = {}));
var JSONInlineObjectProperty;
(function (JSONInlineObjectProperty) {
    JSONInlineObjectProperty[JSONInlineObjectProperty["Scales"] = 0] = "Scales";
    JSONInlineObjectProperty[JSONInlineObjectProperty["LockAspectRatio"] = 1] = "LockAspectRatio";
})(JSONInlineObjectProperty || (JSONInlineObjectProperty = {}));
var JSONTextBoxProperties;
(function (JSONTextBoxProperties) {
    JSONTextBoxProperties[JSONTextBoxProperties["ResizeShapeToFitText"] = 0] = "ResizeShapeToFitText";
    JSONTextBoxProperties[JSONTextBoxProperties["Upright"] = 1] = "Upright";
    JSONTextBoxProperties[JSONTextBoxProperties["VerticalAlignment"] = 2] = "VerticalAlignment";
    JSONTextBoxProperties[JSONTextBoxProperties["WrapText"] = 3] = "WrapText";
    JSONTextBoxProperties[JSONTextBoxProperties["LeftMargin"] = 4] = "LeftMargin";
    JSONTextBoxProperties[JSONTextBoxProperties["RightMargin"] = 5] = "RightMargin";
    JSONTextBoxProperties[JSONTextBoxProperties["TopMargin"] = 6] = "TopMargin";
    JSONTextBoxProperties[JSONTextBoxProperties["BottomMargin"] = 7] = "BottomMargin";
})(JSONTextBoxProperties || (JSONTextBoxProperties = {}));
var JSONInsertFloatingObjectCommandInfo;
(function (JSONInsertFloatingObjectCommandInfo) {
    JSONInsertFloatingObjectCommandInfo[JSONInsertFloatingObjectCommandInfo["Position"] = 0] = "Position";
    JSONInsertFloatingObjectCommandInfo[JSONInsertFloatingObjectCommandInfo["ImageCacheId"] = 1] = "ImageCacheId";
    JSONInsertFloatingObjectCommandInfo[JSONInsertFloatingObjectCommandInfo["Size"] = 2] = "Size";
    JSONInsertFloatingObjectCommandInfo[JSONInsertFloatingObjectCommandInfo["AnchorInfo"] = 3] = "AnchorInfo";
    JSONInsertFloatingObjectCommandInfo[JSONInsertFloatingObjectCommandInfo["SubDocId"] = 4] = "SubDocId";
    JSONInsertFloatingObjectCommandInfo[JSONInsertFloatingObjectCommandInfo["DrawingObjectProperties"] = 5] = "DrawingObjectProperties";
})(JSONInsertFloatingObjectCommandInfo || (JSONInsertFloatingObjectCommandInfo = {}));
var JSONNonVisualDrawingObjectProperties;
(function (JSONNonVisualDrawingObjectProperties) {
    JSONNonVisualDrawingObjectProperties[JSONNonVisualDrawingObjectProperties["Name"] = 0] = "Name";
    JSONNonVisualDrawingObjectProperties[JSONNonVisualDrawingObjectProperties["Title"] = 1] = "Title";
    JSONNonVisualDrawingObjectProperties[JSONNonVisualDrawingObjectProperties["Description"] = 2] = "Description";
    JSONNonVisualDrawingObjectProperties[JSONNonVisualDrawingObjectProperties["Id"] = 3] = "Id";
    JSONNonVisualDrawingObjectProperties[JSONNonVisualDrawingObjectProperties["Hidden"] = 4] = "Hidden";
    JSONNonVisualDrawingObjectProperties[JSONNonVisualDrawingObjectProperties["ClickHyperlink"] = 5] = "ClickHyperlink";
    JSONNonVisualDrawingObjectProperties[JSONNonVisualDrawingObjectProperties["HoverHyperlink"] = 6] = "HoverHyperlink";
})(JSONNonVisualDrawingObjectProperties || (JSONNonVisualDrawingObjectProperties = {}));


/***/ }),

/***/ 7087:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Bb: function() { return /* binding */ JSONCheckSpellingCommand; },
/* harmony export */   DO: function() { return /* binding */ JSONSDrawingColorModelInfoProperty; },
/* harmony export */   Dm: function() { return /* binding */ JSONFixedInterval; },
/* harmony export */   H4: function() { return /* binding */ JSONBorderBaseProperty; },
/* harmony export */   Nh: function() { return /* binding */ JSONSelectionState; },
/* harmony export */   a2: function() { return /* binding */ JSONSDrawingColorProperty; },
/* harmony export */   "in": function() { return /* binding */ JSONSScRGBColorProperty; },
/* harmony export */   kL: function() { return /* binding */ JSONForceSyncWithServerCommand; },
/* harmony export */   ts: function() { return /* binding */ JSONInsertContentFromServerCommand; },
/* harmony export */   xH: function() { return /* binding */ JSONShadingInfoProperty; },
/* harmony export */   yZ: function() { return /* binding */ JSONSize; },
/* harmony export */   z1: function() { return /* binding */ JSONSColorHSLProperty; }
/* harmony export */ });
var JSONBorderBaseProperty;
(function (JSONBorderBaseProperty) {
    JSONBorderBaseProperty[JSONBorderBaseProperty["Style"] = 0] = "Style";
    JSONBorderBaseProperty[JSONBorderBaseProperty["Color"] = 1] = "Color";
    JSONBorderBaseProperty[JSONBorderBaseProperty["ColorIndex"] = 2] = "ColorIndex";
    JSONBorderBaseProperty[JSONBorderBaseProperty["Width"] = 3] = "Width";
    JSONBorderBaseProperty[JSONBorderBaseProperty["Offset"] = 4] = "Offset";
    JSONBorderBaseProperty[JSONBorderBaseProperty["Frame"] = 5] = "Frame";
    JSONBorderBaseProperty[JSONBorderBaseProperty["Shadow"] = 6] = "Shadow";
})(JSONBorderBaseProperty || (JSONBorderBaseProperty = {}));
var JSONShadingInfoProperty;
(function (JSONShadingInfoProperty) {
    JSONShadingInfoProperty[JSONShadingInfoProperty["ShadingPattern"] = 0] = "ShadingPattern";
    JSONShadingInfoProperty[JSONShadingInfoProperty["BackColor"] = 1] = "BackColor";
    JSONShadingInfoProperty[JSONShadingInfoProperty["ForeColor"] = 2] = "ForeColor";
    JSONShadingInfoProperty[JSONShadingInfoProperty["ForeColorIndex"] = 3] = "ForeColorIndex";
    JSONShadingInfoProperty[JSONShadingInfoProperty["BackColorIndex"] = 4] = "BackColorIndex";
})(JSONShadingInfoProperty || (JSONShadingInfoProperty = {}));
var JSONSDrawingColorProperty;
(function (JSONSDrawingColorProperty) {
    JSONSDrawingColorProperty[JSONSDrawingColorProperty["Color"] = 0] = "Color";
})(JSONSDrawingColorProperty || (JSONSDrawingColorProperty = {}));
var JSONSDrawingColorModelInfoProperty;
(function (JSONSDrawingColorModelInfoProperty) {
    JSONSDrawingColorModelInfoProperty[JSONSDrawingColorModelInfoProperty["ColorType"] = 0] = "ColorType";
    JSONSDrawingColorModelInfoProperty[JSONSDrawingColorModelInfoProperty["Rgb"] = 1] = "Rgb";
    JSONSDrawingColorModelInfoProperty[JSONSDrawingColorModelInfoProperty["System"] = 2] = "System";
    JSONSDrawingColorModelInfoProperty[JSONSDrawingColorModelInfoProperty["Scheme"] = 3] = "Scheme";
    JSONSDrawingColorModelInfoProperty[JSONSDrawingColorModelInfoProperty["Preset"] = 4] = "Preset";
    JSONSDrawingColorModelInfoProperty[JSONSDrawingColorModelInfoProperty["Hsl"] = 5] = "Hsl";
    JSONSDrawingColorModelInfoProperty[JSONSDrawingColorModelInfoProperty["ScRgb"] = 6] = "ScRgb";
})(JSONSDrawingColorModelInfoProperty || (JSONSDrawingColorModelInfoProperty = {}));
var JSONSColorHSLProperty;
(function (JSONSColorHSLProperty) {
    JSONSColorHSLProperty[JSONSColorHSLProperty["Hue"] = 0] = "Hue";
    JSONSColorHSLProperty[JSONSColorHSLProperty["Saturation"] = 1] = "Saturation";
    JSONSColorHSLProperty[JSONSColorHSLProperty["Luminance"] = 2] = "Luminance";
})(JSONSColorHSLProperty || (JSONSColorHSLProperty = {}));
var JSONSScRGBColorProperty;
(function (JSONSScRGBColorProperty) {
    JSONSScRGBColorProperty[JSONSScRGBColorProperty["ScR"] = 0] = "ScR";
    JSONSScRGBColorProperty[JSONSScRGBColorProperty["ScG"] = 1] = "ScG";
    JSONSScRGBColorProperty[JSONSScRGBColorProperty["ScB"] = 2] = "ScB";
})(JSONSScRGBColorProperty || (JSONSScRGBColorProperty = {}));
var JSONSelectionState;
(function (JSONSelectionState) {
    JSONSelectionState[JSONSelectionState["ForwardDirection"] = 0] = "ForwardDirection";
    JSONSelectionState[JSONSelectionState["KeepX"] = 1] = "KeepX";
    JSONSelectionState[JSONSelectionState["EndOfLine"] = 2] = "EndOfLine";
    JSONSelectionState[JSONSelectionState["Intervals"] = 3] = "Intervals";
})(JSONSelectionState || (JSONSelectionState = {}));
var JSONFixedInterval;
(function (JSONFixedInterval) {
    JSONFixedInterval[JSONFixedInterval["Start"] = 0] = "Start";
    JSONFixedInterval[JSONFixedInterval["Length"] = 1] = "Length";
})(JSONFixedInterval || (JSONFixedInterval = {}));
var JSONCheckSpellingCommand;
(function (JSONCheckSpellingCommand) {
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["StartPosition"] = 0] = "StartPosition";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["EndPosition"] = 1] = "EndPosition";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["TextToCheck"] = 2] = "TextToCheck";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["SpellingErrors"] = 3] = "SpellingErrors";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["IntervalsToCheck"] = 4] = "IntervalsToCheck";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["CheckedIntervals"] = 5] = "CheckedIntervals";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["SubDocumentId"] = 6] = "SubDocumentId";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["AddedWord"] = 7] = "AddedWord";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["CustomDictionaryGuid"] = 8] = "CustomDictionaryGuid";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["ErrorType"] = 9] = "ErrorType";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["Suggestions"] = 10] = "Suggestions";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["ErrorWord"] = 11] = "ErrorWord";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["ErrorStart"] = 12] = "ErrorStart";
    JSONCheckSpellingCommand[JSONCheckSpellingCommand["ErrorLength"] = 13] = "ErrorLength";
})(JSONCheckSpellingCommand || (JSONCheckSpellingCommand = {}));
var JSONSize;
(function (JSONSize) {
    JSONSize[JSONSize["Width"] = 0] = "Width";
    JSONSize[JSONSize["Height"] = 1] = "Height";
})(JSONSize || (JSONSize = {}));
var JSONForceSyncWithServerCommand;
(function (JSONForceSyncWithServerCommand) {
    JSONForceSyncWithServerCommand[JSONForceSyncWithServerCommand["Id"] = 0] = "Id";
})(JSONForceSyncWithServerCommand || (JSONForceSyncWithServerCommand = {}));
var JSONInsertContentFromServerCommand;
(function (JSONInsertContentFromServerCommand) {
    JSONInsertContentFromServerCommand[JSONInsertContentFromServerCommand["UserRequestId"] = 0] = "UserRequestId";
    JSONInsertContentFromServerCommand[JSONInsertContentFromServerCommand["Id"] = 1] = "Id";
    JSONInsertContentFromServerCommand[JSONInsertContentFromServerCommand["Model"] = 2] = "Model";
    JSONInsertContentFromServerCommand[JSONInsertContentFromServerCommand["SimpleText"] = 3] = "SimpleText";
})(JSONInsertContentFromServerCommand || (JSONInsertContentFromServerCommand = {}));


/***/ }),

/***/ 3006:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Bq: function() { return /* binding */ JSONAddAbstractNumberingListCommandPropery; },
/* harmony export */   G$: function() { return /* binding */ JSONNumberingListProperty; },
/* harmony export */   Me: function() { return /* binding */ JSONIOverrideListLevelProperty; },
/* harmony export */   Pg: function() { return /* binding */ JSONNumberingOverrideListLevelProperty; },
/* harmony export */   T_: function() { return /* binding */ JSONAbstractNumberingListProperty; },
/* harmony export */   a0: function() { return /* binding */ JSONDeleteAbstractNumberingListCommandProperty; },
/* harmony export */   qu: function() { return /* binding */ JSONNumberingListLevelProperty; },
/* harmony export */   yk: function() { return /* binding */ JSONListLevelProperty; }
/* harmony export */ });
var JSONAbstractNumberingListProperty;
(function (JSONAbstractNumberingListProperty) {
    JSONAbstractNumberingListProperty[JSONAbstractNumberingListProperty["Deleted"] = 0] = "Deleted";
    JSONAbstractNumberingListProperty[JSONAbstractNumberingListProperty["Id"] = 1] = "Id";
    JSONAbstractNumberingListProperty[JSONAbstractNumberingListProperty["Levels"] = 2] = "Levels";
})(JSONAbstractNumberingListProperty || (JSONAbstractNumberingListProperty = {}));
var JSONNumberingListProperty;
(function (JSONNumberingListProperty) {
    JSONNumberingListProperty[JSONNumberingListProperty["AlIndex"] = 0] = "AlIndex";
    JSONNumberingListProperty[JSONNumberingListProperty["Id"] = 1] = "Id";
    JSONNumberingListProperty[JSONNumberingListProperty["Levels"] = 2] = "Levels";
})(JSONNumberingListProperty || (JSONNumberingListProperty = {}));
var JSONNumberingListLevelProperty;
(function (JSONNumberingListLevelProperty) {
    JSONNumberingListLevelProperty[JSONNumberingListLevelProperty["CharacterPropertiesIndex"] = 0] = "CharacterPropertiesIndex";
    JSONNumberingListLevelProperty[JSONNumberingListLevelProperty["ParagraphPropertiesIndex"] = 1] = "ParagraphPropertiesIndex";
    JSONNumberingListLevelProperty[JSONNumberingListLevelProperty["ListLevelPropertiesIndex"] = 2] = "ListLevelPropertiesIndex";
    JSONNumberingListLevelProperty[JSONNumberingListLevelProperty["MAX_VALUE"] = 3] = "MAX_VALUE";
})(JSONNumberingListLevelProperty || (JSONNumberingListLevelProperty = {}));
var JSONNumberingOverrideListLevelProperty;
(function (JSONNumberingOverrideListLevelProperty) {
    JSONNumberingOverrideListLevelProperty[JSONNumberingOverrideListLevelProperty["NewStart"] = 3] = "NewStart";
    JSONNumberingOverrideListLevelProperty[JSONNumberingOverrideListLevelProperty["OverrideStart"] = 4] = "OverrideStart";
    JSONNumberingOverrideListLevelProperty[JSONNumberingOverrideListLevelProperty["Level"] = 5] = "Level";
})(JSONNumberingOverrideListLevelProperty || (JSONNumberingOverrideListLevelProperty = {}));
var JSONDeleteAbstractNumberingListCommandProperty;
(function (JSONDeleteAbstractNumberingListCommandProperty) {
    JSONDeleteAbstractNumberingListCommandProperty[JSONDeleteAbstractNumberingListCommandProperty["Index"] = 0] = "Index";
})(JSONDeleteAbstractNumberingListCommandProperty || (JSONDeleteAbstractNumberingListCommandProperty = {}));
var JSONAddAbstractNumberingListCommandPropery;
(function (JSONAddAbstractNumberingListCommandPropery) {
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["InnerId"] = 0] = "InnerId";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["Deleted"] = 1] = "Deleted";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["Levels"] = 2] = "Levels";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["ParagraphProperties"] = 3] = "ParagraphProperties";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["ListLevelProperties"] = 4] = "ListLevelProperties";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["CharacterProperties"] = 5] = "CharacterProperties";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["OverrideStart"] = 6] = "OverrideStart";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["NewStart"] = 7] = "NewStart";
    JSONAddAbstractNumberingListCommandPropery[JSONAddAbstractNumberingListCommandPropery["AbstractNumberingListIndex"] = 8] = "AbstractNumberingListIndex";
})(JSONAddAbstractNumberingListCommandPropery || (JSONAddAbstractNumberingListCommandPropery = {}));
var JSONIOverrideListLevelProperty;
(function (JSONIOverrideListLevelProperty) {
    JSONIOverrideListLevelProperty[JSONIOverrideListLevelProperty["NewStart"] = 0] = "NewStart";
    JSONIOverrideListLevelProperty[JSONIOverrideListLevelProperty["OverrideStart"] = 1] = "OverrideStart";
})(JSONIOverrideListLevelProperty || (JSONIOverrideListLevelProperty = {}));
var JSONListLevelProperty;
(function (JSONListLevelProperty) {
    JSONListLevelProperty[JSONListLevelProperty["Start"] = 0] = "Start";
    JSONListLevelProperty[JSONListLevelProperty["Format"] = 1] = "Format";
    JSONListLevelProperty[JSONListLevelProperty["ConvertPreviousLevelNumberingToDecimal"] = 2] = "ConvertPreviousLevelNumberingToDecimal";
    JSONListLevelProperty[JSONListLevelProperty["SuppressBulletResize"] = 3] = "SuppressBulletResize";
    JSONListLevelProperty[JSONListLevelProperty["SuppressRestart"] = 4] = "SuppressRestart";
    JSONListLevelProperty[JSONListLevelProperty["Alignment"] = 5] = "Alignment";
    JSONListLevelProperty[JSONListLevelProperty["DisplayFormatString"] = 6] = "DisplayFormatString";
    JSONListLevelProperty[JSONListLevelProperty["RelativeRestartLevel"] = 7] = "RelativeRestartLevel";
    JSONListLevelProperty[JSONListLevelProperty["Separator"] = 8] = "Separator";
    JSONListLevelProperty[JSONListLevelProperty["TemplateCode"] = 9] = "TemplateCode";
    JSONListLevelProperty[JSONListLevelProperty["OriginalLeftIndent"] = 10] = "OriginalLeftIndent";
    JSONListLevelProperty[JSONListLevelProperty["Legacy"] = 11] = "Legacy";
    JSONListLevelProperty[JSONListLevelProperty["LegacySpace"] = 12] = "LegacySpace";
    JSONListLevelProperty[JSONListLevelProperty["LegacyIndent"] = 13] = "LegacyIndent";
})(JSONListLevelProperty || (JSONListLevelProperty = {}));


/***/ }),

/***/ 7936:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   B2: function() { return /* binding */ JSONParagraphProperty; },
/* harmony export */   Ff: function() { return /* binding */ JSONParagraphFormattingProperty; },
/* harmony export */   GQ: function() { return /* binding */ JSONParagraphPropertiesChangedProperty; },
/* harmony export */   cO: function() { return /* binding */ JSONMergeParagraphsCommandProperty; },
/* harmony export */   me: function() { return /* binding */ JSONInsertParagraphCommandProperty; }
/* harmony export */ });
var JSONParagraphFormattingProperty;
(function (JSONParagraphFormattingProperty) {
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["Alignment"] = 0] = "Alignment";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["FirstLineIndent"] = 1] = "FirstLineIndent";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["FirstLineIndentType"] = 2] = "FirstLineIndentType";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["LeftIndent"] = 3] = "LeftIndent";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["LineSpacing"] = 4] = "LineSpacing";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["LineSpacingType"] = 5] = "LineSpacingType";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["RightIndent"] = 6] = "RightIndent";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["SpacingBefore"] = 7] = "SpacingBefore";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["SpacingAfter"] = 8] = "SpacingAfter";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["SuppressHyphenation"] = 9] = "SuppressHyphenation";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["SuppressLineNumbers"] = 10] = "SuppressLineNumbers";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["ContextualSpacing"] = 11] = "ContextualSpacing";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["PageBreakBefore"] = 12] = "PageBreakBefore";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["BeforeAutoSpacing"] = 13] = "BeforeAutoSpacing";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["AfterAutoSpacing"] = 14] = "AfterAutoSpacing";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["KeepWithNext"] = 15] = "KeepWithNext";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["KeepLinesTogether"] = 16] = "KeepLinesTogether";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["WidowOrphanControl"] = 17] = "WidowOrphanControl";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["OutlineLevel"] = 18] = "OutlineLevel";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["ShadingInfo"] = 19] = "ShadingInfo";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["ShadingInfoIndex"] = 20] = "ShadingInfoIndex";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["LeftBorder"] = 21] = "LeftBorder";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["RightBorder"] = 22] = "RightBorder";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["TopBorder"] = 23] = "TopBorder";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["BottomBorder"] = 24] = "BottomBorder";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["DivId"] = 25] = "DivId";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["RightToLeft"] = 26] = "RightToLeft";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["BetweenBorder"] = 27] = "BetweenBorder";
    JSONParagraphFormattingProperty[JSONParagraphFormattingProperty["UseValue"] = 28] = "UseValue";
})(JSONParagraphFormattingProperty || (JSONParagraphFormattingProperty = {}));
var JSONParagraphProperty;
(function (JSONParagraphProperty) {
    JSONParagraphProperty[JSONParagraphProperty["MaskedParagraphPropertiesIndex"] = 0] = "MaskedParagraphPropertiesIndex";
    JSONParagraphProperty[JSONParagraphProperty["ParagraphStyleIndex"] = 1] = "ParagraphStyleIndex";
    JSONParagraphProperty[JSONParagraphProperty["LogPosition"] = 2] = "LogPosition";
    JSONParagraphProperty[JSONParagraphProperty["Length"] = 3] = "Length";
    JSONParagraphProperty[JSONParagraphProperty["Tabs"] = 4] = "Tabs";
    JSONParagraphProperty[JSONParagraphProperty["ListIndex"] = 5] = "ListIndex";
    JSONParagraphProperty[JSONParagraphProperty["ListLevelIndex"] = 6] = "ListLevelIndex";
})(JSONParagraphProperty || (JSONParagraphProperty = {}));
var JSONMergeParagraphsCommandProperty;
(function (JSONMergeParagraphsCommandProperty) {
    JSONMergeParagraphsCommandProperty[JSONMergeParagraphsCommandProperty["Position"] = 0] = "Position";
    JSONMergeParagraphsCommandProperty[JSONMergeParagraphsCommandProperty["GetPropertiesFromNext"] = 1] = "GetPropertiesFromNext";
})(JSONMergeParagraphsCommandProperty || (JSONMergeParagraphsCommandProperty = {}));
var JSONInsertParagraphCommandProperty;
(function (JSONInsertParagraphCommandProperty) {
    JSONInsertParagraphCommandProperty[JSONInsertParagraphCommandProperty["Position"] = 0] = "Position";
    JSONInsertParagraphCommandProperty[JSONInsertParagraphCommandProperty["NumberingListIndex"] = 1] = "NumberingListIndex";
    JSONInsertParagraphCommandProperty[JSONInsertParagraphCommandProperty["ListLevelIndex"] = 2] = "ListLevelIndex";
    JSONInsertParagraphCommandProperty[JSONInsertParagraphCommandProperty["StyleName"] = 3] = "StyleName";
    JSONInsertParagraphCommandProperty[JSONInsertParagraphCommandProperty["ParagraphProperties"] = 4] = "ParagraphProperties";
    JSONInsertParagraphCommandProperty[JSONInsertParagraphCommandProperty["ParagraphPropertiesIndex"] = 5] = "ParagraphPropertiesIndex";
    JSONInsertParagraphCommandProperty[JSONInsertParagraphCommandProperty["TabsProperties"] = 6] = "TabsProperties";
})(JSONInsertParagraphCommandProperty || (JSONInsertParagraphCommandProperty = {}));
var JSONParagraphPropertiesChangedProperty;
(function (JSONParagraphPropertiesChangedProperty) {
    JSONParagraphPropertiesChangedProperty[JSONParagraphPropertiesChangedProperty["ParagraphIndex"] = 0] = "ParagraphIndex";
    JSONParagraphPropertiesChangedProperty[JSONParagraphPropertiesChangedProperty["ParagraphProperties"] = 1] = "ParagraphProperties";
    JSONParagraphPropertiesChangedProperty[JSONParagraphPropertiesChangedProperty["NumberingListIndex"] = 2] = "NumberingListIndex";
    JSONParagraphPropertiesChangedProperty[JSONParagraphPropertiesChangedProperty["ListLevelIndex"] = 3] = "ListLevelIndex";
    JSONParagraphPropertiesChangedProperty[JSONParagraphPropertiesChangedProperty["TabsProperties"] = 4] = "TabsProperties";
    JSONParagraphPropertiesChangedProperty[JSONParagraphPropertiesChangedProperty["StyleName"] = 5] = "StyleName";
})(JSONParagraphPropertiesChangedProperty || (JSONParagraphPropertiesChangedProperty = {}));


/***/ }),

/***/ 2473:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ii: function() { return /* binding */ JSONRunBaseProperty; },
/* harmony export */   Nr: function() { return /* binding */ JSONAnchoredPictureRunProperty; },
/* harmony export */   jO: function() { return /* binding */ JSONAnchoredTextBoxRunProperty; },
/* harmony export */   lz: function() { return /* binding */ JSONInlinePictureRunProperty; },
/* harmony export */   n: function() { return /* binding */ JSONInlineTextBoxRunProperty; },
/* harmony export */   oP: function() { return /* binding */ JSONDeleteRunsCommandProperty; }
/* harmony export */ });
var JSONRunBaseProperty;
(function (JSONRunBaseProperty) {
    JSONRunBaseProperty[JSONRunBaseProperty["Type"] = 0] = "Type";
    JSONRunBaseProperty[JSONRunBaseProperty["Offset"] = 1] = "Offset";
    JSONRunBaseProperty[JSONRunBaseProperty["Length"] = 2] = "Length";
    JSONRunBaseProperty[JSONRunBaseProperty["MaskedCharacterPropertiesCacheIndex"] = 3] = "MaskedCharacterPropertiesCacheIndex";
    JSONRunBaseProperty[JSONRunBaseProperty["CharacterStyleIndex"] = 4] = "CharacterStyleIndex";
    JSONRunBaseProperty[JSONRunBaseProperty["MAX_VALUE"] = 5] = "MAX_VALUE";
})(JSONRunBaseProperty || (JSONRunBaseProperty = {}));
var JSONInlinePictureRunProperty;
(function (JSONInlinePictureRunProperty) {
    JSONInlinePictureRunProperty[JSONInlinePictureRunProperty["Shape"] = 5] = "Shape";
    JSONInlinePictureRunProperty[JSONInlinePictureRunProperty["Size"] = 6] = "Size";
    JSONInlinePictureRunProperty[JSONInlinePictureRunProperty["PictureId"] = 7] = "PictureId";
    JSONInlinePictureRunProperty[JSONInlinePictureRunProperty["DrawingObjectProperties"] = 8] = "DrawingObjectProperties";
})(JSONInlinePictureRunProperty || (JSONInlinePictureRunProperty = {}));
var JSONInlineTextBoxRunProperty;
(function (JSONInlineTextBoxRunProperty) {
    JSONInlineTextBoxRunProperty[JSONInlineTextBoxRunProperty["Shape"] = 5] = "Shape";
    JSONInlineTextBoxRunProperty[JSONInlineTextBoxRunProperty["Size"] = 6] = "Size";
    JSONInlineTextBoxRunProperty[JSONInlineTextBoxRunProperty["SubDocId"] = 7] = "SubDocId";
    JSONInlineTextBoxRunProperty[JSONInlineTextBoxRunProperty["TextBoxProperties"] = 8] = "TextBoxProperties";
    JSONInlineTextBoxRunProperty[JSONInlineTextBoxRunProperty["DrawingObjectProperties"] = 9] = "DrawingObjectProperties";
})(JSONInlineTextBoxRunProperty || (JSONInlineTextBoxRunProperty = {}));
var JSONAnchoredPictureRunProperty;
(function (JSONAnchoredPictureRunProperty) {
    JSONAnchoredPictureRunProperty[JSONAnchoredPictureRunProperty["Shape"] = 5] = "Shape";
    JSONAnchoredPictureRunProperty[JSONAnchoredPictureRunProperty["Size"] = 6] = "Size";
    JSONAnchoredPictureRunProperty[JSONAnchoredPictureRunProperty["PictureId"] = 7] = "PictureId";
    JSONAnchoredPictureRunProperty[JSONAnchoredPictureRunProperty["AnchorInfo"] = 8] = "AnchorInfo";
    JSONAnchoredPictureRunProperty[JSONAnchoredPictureRunProperty["DrawingObjectProperties"] = 9] = "DrawingObjectProperties";
})(JSONAnchoredPictureRunProperty || (JSONAnchoredPictureRunProperty = {}));
var JSONAnchoredTextBoxRunProperty;
(function (JSONAnchoredTextBoxRunProperty) {
    JSONAnchoredTextBoxRunProperty[JSONAnchoredTextBoxRunProperty["Shape"] = 5] = "Shape";
    JSONAnchoredTextBoxRunProperty[JSONAnchoredTextBoxRunProperty["Size"] = 6] = "Size";
    JSONAnchoredTextBoxRunProperty[JSONAnchoredTextBoxRunProperty["SubDocId"] = 7] = "SubDocId";
    JSONAnchoredTextBoxRunProperty[JSONAnchoredTextBoxRunProperty["AnchorInfo"] = 8] = "AnchorInfo";
    JSONAnchoredTextBoxRunProperty[JSONAnchoredTextBoxRunProperty["TextBoxProperties"] = 9] = "TextBoxProperties";
    JSONAnchoredTextBoxRunProperty[JSONAnchoredTextBoxRunProperty["DrawingObjectProperties"] = 10] = "DrawingObjectProperties";
})(JSONAnchoredTextBoxRunProperty || (JSONAnchoredTextBoxRunProperty = {}));
var JSONDeleteRunsCommandProperty;
(function (JSONDeleteRunsCommandProperty) {
    JSONDeleteRunsCommandProperty[JSONDeleteRunsCommandProperty["Position"] = 0] = "Position";
    JSONDeleteRunsCommandProperty[JSONDeleteRunsCommandProperty["Length"] = 1] = "Length";
})(JSONDeleteRunsCommandProperty || (JSONDeleteRunsCommandProperty = {}));


/***/ }),

/***/ 1466:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J3: function() { return /* binding */ JSONSection; },
/* harmony export */   NM: function() { return /* binding */ JSONMergeSectionsCommandProperty; },
/* harmony export */   n: function() { return /* binding */ JSONInsertSectionCommandProperty; },
/* harmony export */   r8: function() { return /* binding */ JSONColumnInfoProperty; },
/* harmony export */   vl: function() { return /* binding */ JSONSectionProperty; }
/* harmony export */ });
var JSONSection;
(function (JSONSection) {
    JSONSection[JSONSection["StartPos"] = 0] = "StartPos";
    JSONSection[JSONSection["Length"] = 1] = "Length";
    JSONSection[JSONSection["Properties"] = 2] = "Properties";
    JSONSection[JSONSection["Headers"] = 3] = "Headers";
    JSONSection[JSONSection["Footers"] = 4] = "Footers";
})(JSONSection || (JSONSection = {}));
var JSONColumnInfoProperty;
(function (JSONColumnInfoProperty) {
    JSONColumnInfoProperty[JSONColumnInfoProperty["Width"] = 0] = "Width";
    JSONColumnInfoProperty[JSONColumnInfoProperty["Space"] = 1] = "Space";
})(JSONColumnInfoProperty || (JSONColumnInfoProperty = {}));
var JSONMergeSectionsCommandProperty;
(function (JSONMergeSectionsCommandProperty) {
    JSONMergeSectionsCommandProperty[JSONMergeSectionsCommandProperty["SectionIndex"] = 0] = "SectionIndex";
    JSONMergeSectionsCommandProperty[JSONMergeSectionsCommandProperty["GetPropertiesFromNext"] = 1] = "GetPropertiesFromNext";
})(JSONMergeSectionsCommandProperty || (JSONMergeSectionsCommandProperty = {}));
var JSONInsertSectionCommandProperty;
(function (JSONInsertSectionCommandProperty) {
    JSONInsertSectionCommandProperty[JSONInsertSectionCommandProperty["Position"] = 0] = "Position";
    JSONInsertSectionCommandProperty[JSONInsertSectionCommandProperty["SectionProperties"] = 1] = "SectionProperties";
})(JSONInsertSectionCommandProperty || (JSONInsertSectionCommandProperty = {}));
var JSONSectionProperty;
(function (JSONSectionProperty) {
    JSONSectionProperty[JSONSectionProperty["MarginLeft"] = 0] = "MarginLeft";
    JSONSectionProperty[JSONSectionProperty["MarginTop"] = 1] = "MarginTop";
    JSONSectionProperty[JSONSectionProperty["MarginRight"] = 2] = "MarginRight";
    JSONSectionProperty[JSONSectionProperty["MarginBottom"] = 3] = "MarginBottom";
    JSONSectionProperty[JSONSectionProperty["ColumnCount"] = 4] = "ColumnCount";
    JSONSectionProperty[JSONSectionProperty["Space"] = 5] = "Space";
    JSONSectionProperty[JSONSectionProperty["ColumnsInfo"] = 6] = "ColumnsInfo";
    JSONSectionProperty[JSONSectionProperty["PageWidth"] = 7] = "PageWidth";
    JSONSectionProperty[JSONSectionProperty["PageHeight"] = 8] = "PageHeight";
    JSONSectionProperty[JSONSectionProperty["StartType"] = 9] = "StartType";
    JSONSectionProperty[JSONSectionProperty["Landscape"] = 10] = "Landscape";
    JSONSectionProperty[JSONSectionProperty["EqualWidthColumns"] = 11] = "EqualWidthColumns";
    JSONSectionProperty[JSONSectionProperty["DifferentFirstPage"] = 12] = "DifferentFirstPage";
    JSONSectionProperty[JSONSectionProperty["HeaderOffset"] = 13] = "HeaderOffset";
    JSONSectionProperty[JSONSectionProperty["FooterOffset"] = 14] = "FooterOffset";
    JSONSectionProperty[JSONSectionProperty["PaperKind"] = 15] = "PaperKind";
    JSONSectionProperty[JSONSectionProperty["FirstPageNumber"] = 16] = "FirstPageNumber";
    JSONSectionProperty[JSONSectionProperty["ContinueNumbering"] = 17] = "ContinueNumbering";
})(JSONSectionProperty || (JSONSectionProperty = {}));


/***/ }),

/***/ 3957:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   BS: function() { return /* binding */ JSONNumberingListStyleProperty; },
/* harmony export */   FG: function() { return /* binding */ JSONTableStyleProperty; },
/* harmony export */   Fq: function() { return /* binding */ JSONCharacterStyleProperty; },
/* harmony export */   Ky: function() { return /* binding */ JSONStylesProperty; },
/* harmony export */   M8: function() { return /* binding */ JSONStyleLinkCommandBaseProperty; },
/* harmony export */   W: function() { return /* binding */ JSONStyleBaseProperty; },
/* harmony export */   f5: function() { return /* binding */ JSONStylesGalleryHeader; },
/* harmony export */   pM: function() { return /* binding */ JSONParagraphStyleProperty; }
/* harmony export */ });
var JSONStylesProperty;
(function (JSONStylesProperty) {
    JSONStylesProperty[JSONStylesProperty["Character"] = 0] = "Character";
    JSONStylesProperty[JSONStylesProperty["Paragraph"] = 1] = "Paragraph";
    JSONStylesProperty[JSONStylesProperty["Table"] = 2] = "Table";
    JSONStylesProperty[JSONStylesProperty["TableCell"] = 3] = "TableCell";
    JSONStylesProperty[JSONStylesProperty["NumberingList"] = 4] = "NumberingList";
    JSONStylesProperty[JSONStylesProperty["Caches"] = 5] = "Caches";
    JSONStylesProperty[JSONStylesProperty["MAX_VALUE"] = 6] = "MAX_VALUE";
})(JSONStylesProperty || (JSONStylesProperty = {}));
var JSONStylesGalleryHeader;
(function (JSONStylesGalleryHeader) {
    JSONStylesGalleryHeader[JSONStylesGalleryHeader["Character"] = 6] = "Character";
    JSONStylesGalleryHeader[JSONStylesGalleryHeader["Paragraph"] = 7] = "Paragraph";
    JSONStylesGalleryHeader[JSONStylesGalleryHeader["Table"] = 8] = "Table";
})(JSONStylesGalleryHeader || (JSONStylesGalleryHeader = {}));
var JSONStyleBaseProperty;
(function (JSONStyleBaseProperty) {
    JSONStyleBaseProperty[JSONStyleBaseProperty["StyleName"] = 0] = "StyleName";
    JSONStyleBaseProperty[JSONStyleBaseProperty["Deleted"] = 1] = "Deleted";
    JSONStyleBaseProperty[JSONStyleBaseProperty["Hidden"] = 2] = "Hidden";
    JSONStyleBaseProperty[JSONStyleBaseProperty["ParentStyleName"] = 3] = "ParentStyleName";
    JSONStyleBaseProperty[JSONStyleBaseProperty["Semihidden"] = 4] = "Semihidden";
    JSONStyleBaseProperty[JSONStyleBaseProperty["LocalizedStyleName"] = 5] = "LocalizedStyleName";
    JSONStyleBaseProperty[JSONStyleBaseProperty["IsDefault"] = 6] = "IsDefault";
    JSONStyleBaseProperty[JSONStyleBaseProperty["Base64EncodedImage"] = 7] = "Base64EncodedImage";
    JSONStyleBaseProperty[JSONStyleBaseProperty["MAX_VALUE"] = 8] = "MAX_VALUE";
})(JSONStyleBaseProperty || (JSONStyleBaseProperty = {}));
var JSONCharacterStyleProperty;
(function (JSONCharacterStyleProperty) {
    JSONCharacterStyleProperty[JSONCharacterStyleProperty["LinkedStyleName"] = 8] = "LinkedStyleName";
    JSONCharacterStyleProperty[JSONCharacterStyleProperty["CharacterPropertiesCacheIndex"] = 9] = "CharacterPropertiesCacheIndex";
})(JSONCharacterStyleProperty || (JSONCharacterStyleProperty = {}));
var JSONParagraphStyleProperty;
(function (JSONParagraphStyleProperty) {
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["CharacterPropertiesCacheIndex"] = 8] = "CharacterPropertiesCacheIndex";
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["ParagraphPropertiesCacheIndex"] = 9] = "ParagraphPropertiesCacheIndex";
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["LinkedStyleName"] = 10] = "LinkedStyleName";
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["NextParagraphStyleName"] = 11] = "NextParagraphStyleName";
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["AutoUpdate"] = 12] = "AutoUpdate";
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["Tabs"] = 13] = "Tabs";
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["NumberingListIndex"] = 14] = "NumberingListIndex";
    JSONParagraphStyleProperty[JSONParagraphStyleProperty["ListLevelIndex"] = 15] = "ListLevelIndex";
})(JSONParagraphStyleProperty || (JSONParagraphStyleProperty = {}));
var JSONNumberingListStyleProperty;
(function (JSONNumberingListStyleProperty) {
    JSONNumberingListStyleProperty[JSONNumberingListStyleProperty["NumberingListIndex"] = 8] = "NumberingListIndex";
})(JSONNumberingListStyleProperty || (JSONNumberingListStyleProperty = {}));
var JSONTableStyleProperty;
(function (JSONTableStyleProperty) {
    JSONTableStyleProperty[JSONTableStyleProperty["BaseConditionalStyle"] = 8] = "BaseConditionalStyle";
    JSONTableStyleProperty[JSONTableStyleProperty["ConditionalStyles"] = 9] = "ConditionalStyles";
})(JSONTableStyleProperty || (JSONTableStyleProperty = {}));
var JSONStyleLinkCommandBaseProperty;
(function (JSONStyleLinkCommandBaseProperty) {
    JSONStyleLinkCommandBaseProperty[JSONStyleLinkCommandBaseProperty["StyleName"] = 0] = "StyleName";
})(JSONStyleLinkCommandBaseProperty || (JSONStyleLinkCommandBaseProperty = {}));


/***/ }),

/***/ 2202:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M9: function() { return /* binding */ JSONCreateHeaderFooterCommandBaseProperty; },
/* harmony export */   W$: function() { return /* binding */ JSONChangeHeaderFooterIndexCommandBase; },
/* harmony export */   _c: function() { return /* binding */ JSONChunkProperty; },
/* harmony export */   l9: function() { return /* binding */ JSONHeaderFooterInfoProperty; },
/* harmony export */   lw: function() { return /* binding */ JSONEnumLoadPieceTable; },
/* harmony export */   mj: function() { return /* binding */ JSONPieceTableInfo; },
/* harmony export */   t9: function() { return /* binding */ JSONEnumLoadPieceTableCommandParameters; },
/* harmony export */   ts: function() { return /* binding */ JSONBookmarkProperty; },
/* harmony export */   xw: function() { return /* binding */ JSONRangePermissionProperty; },
/* harmony export */   zw: function() { return /* binding */ JSONTabInfoProperty; }
/* harmony export */ });
var JSONEnumLoadPieceTableCommandParameters;
(function (JSONEnumLoadPieceTableCommandParameters) {
    JSONEnumLoadPieceTableCommandParameters[JSONEnumLoadPieceTableCommandParameters["LoadOnOneRequest"] = 0] = "LoadOnOneRequest";
    JSONEnumLoadPieceTableCommandParameters[JSONEnumLoadPieceTableCommandParameters["StartPosition"] = 1] = "StartPosition";
    JSONEnumLoadPieceTableCommandParameters[JSONEnumLoadPieceTableCommandParameters["MaxChunkLength"] = 2] = "MaxChunkLength";
    JSONEnumLoadPieceTableCommandParameters[JSONEnumLoadPieceTableCommandParameters["Length"] = 3] = "Length";
})(JSONEnumLoadPieceTableCommandParameters || (JSONEnumLoadPieceTableCommandParameters = {}));
var JSONCreateHeaderFooterCommandBaseProperty;
(function (JSONCreateHeaderFooterCommandBaseProperty) {
    JSONCreateHeaderFooterCommandBaseProperty[JSONCreateHeaderFooterCommandBaseProperty["Type"] = 0] = "Type";
})(JSONCreateHeaderFooterCommandBaseProperty || (JSONCreateHeaderFooterCommandBaseProperty = {}));
var JSONChangeHeaderFooterIndexCommandBase;
(function (JSONChangeHeaderFooterIndexCommandBase) {
    JSONChangeHeaderFooterIndexCommandBase[JSONChangeHeaderFooterIndexCommandBase["SectionIndex"] = 0] = "SectionIndex";
    JSONChangeHeaderFooterIndexCommandBase[JSONChangeHeaderFooterIndexCommandBase["NewObjectIndex"] = 1] = "NewObjectIndex";
    JSONChangeHeaderFooterIndexCommandBase[JSONChangeHeaderFooterIndexCommandBase["Type"] = 2] = "Type";
})(JSONChangeHeaderFooterIndexCommandBase || (JSONChangeHeaderFooterIndexCommandBase = {}));
var JSONEnumLoadPieceTable;
(function (JSONEnumLoadPieceTable) {
    JSONEnumLoadPieceTable[JSONEnumLoadPieceTable["Bookmarks"] = 0] = "Bookmarks";
    JSONEnumLoadPieceTable[JSONEnumLoadPieceTable["Fields"] = 1] = "Fields";
    JSONEnumLoadPieceTable[JSONEnumLoadPieceTable["Tables"] = 2] = "Tables";
    JSONEnumLoadPieceTable[JSONEnumLoadPieceTable["Chunks"] = 3] = "Chunks";
    JSONEnumLoadPieceTable[JSONEnumLoadPieceTable["Paragraphs"] = 4] = "Paragraphs";
    JSONEnumLoadPieceTable[JSONEnumLoadPieceTable["RangePermissions"] = 5] = "RangePermissions";
})(JSONEnumLoadPieceTable || (JSONEnumLoadPieceTable = {}));
var JSONHeaderFooterInfoProperty;
(function (JSONHeaderFooterInfoProperty) {
    JSONHeaderFooterInfoProperty[JSONHeaderFooterInfoProperty["SubDocumentId"] = 0] = "SubDocumentId";
    JSONHeaderFooterInfoProperty[JSONHeaderFooterInfoProperty["Type"] = 1] = "Type";
})(JSONHeaderFooterInfoProperty || (JSONHeaderFooterInfoProperty = {}));
var JSONBookmarkProperty;
(function (JSONBookmarkProperty) {
    JSONBookmarkProperty[JSONBookmarkProperty["StartPos"] = 0] = "StartPos";
    JSONBookmarkProperty[JSONBookmarkProperty["Length"] = 1] = "Length";
    JSONBookmarkProperty[JSONBookmarkProperty["Name"] = 2] = "Name";
})(JSONBookmarkProperty || (JSONBookmarkProperty = {}));
var JSONRangePermissionProperty;
(function (JSONRangePermissionProperty) {
    JSONRangePermissionProperty[JSONRangePermissionProperty["Start"] = 0] = "Start";
    JSONRangePermissionProperty[JSONRangePermissionProperty["Length"] = 1] = "Length";
    JSONRangePermissionProperty[JSONRangePermissionProperty["UserName"] = 2] = "UserName";
    JSONRangePermissionProperty[JSONRangePermissionProperty["Group"] = 3] = "Group";
})(JSONRangePermissionProperty || (JSONRangePermissionProperty = {}));
var JSONChunkProperty;
(function (JSONChunkProperty) {
    JSONChunkProperty[JSONChunkProperty["StartPos"] = 0] = "StartPos";
    JSONChunkProperty[JSONChunkProperty["TextBuffer"] = 1] = "TextBuffer";
    JSONChunkProperty[JSONChunkProperty["Runs"] = 2] = "Runs";
    JSONChunkProperty[JSONChunkProperty["IsLast"] = 3] = "IsLast";
})(JSONChunkProperty || (JSONChunkProperty = {}));
var JSONPieceTableInfo;
(function (JSONPieceTableInfo) {
    JSONPieceTableInfo[JSONPieceTableInfo["Type"] = 0] = "Type";
    JSONPieceTableInfo[JSONPieceTableInfo["Info"] = 1] = "Info";
    JSONPieceTableInfo[JSONPieceTableInfo["ParentPieceTableId"] = 2] = "ParentPieceTableId";
})(JSONPieceTableInfo || (JSONPieceTableInfo = {}));
var JSONTabInfoProperty;
(function (JSONTabInfoProperty) {
    JSONTabInfoProperty[JSONTabInfoProperty["Alignment"] = 0] = "Alignment";
    JSONTabInfoProperty[JSONTabInfoProperty["LeaderType"] = 1] = "LeaderType";
    JSONTabInfoProperty[JSONTabInfoProperty["Position"] = 2] = "Position";
    JSONTabInfoProperty[JSONTabInfoProperty["IsDefault"] = 3] = "IsDefault";
    JSONTabInfoProperty[JSONTabInfoProperty["IsDeleted"] = 4] = "IsDeleted";
})(JSONTabInfoProperty || (JSONTabInfoProperty = {}));


/***/ }),

/***/ 6338:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ku: function() { return /* binding */ JSONCachesDataProperty; },
/* harmony export */   Sp: function() { return /* binding */ JSONGetRtfCommand; },
/* harmony export */   Xp: function() { return /* binding */ JSONInsertRtfCommand; },
/* harmony export */   e3: function() { return /* binding */ JSONCommandParametersProperty; },
/* harmony export */   jO: function() { return /* binding */ JSONResponseError; },
/* harmony export */   l7: function() { return /* binding */ JSONInitSessionProperty; },
/* harmony export */   qG: function() { return /* binding */ JSONPropertyStateBasedCommand; },
/* harmony export */   rM: function() { return /* binding */ JSONResponceLevelProperty; },
/* harmony export */   sO: function() { return /* binding */ IsModified; }
/* harmony export */ });
var IsModified;
(function (IsModified) {
    IsModified[IsModified["False"] = 0] = "False";
    IsModified[IsModified["True"] = 1] = "True";
    IsModified[IsModified["SaveInProgress"] = 2] = "SaveInProgress";
})(IsModified || (IsModified = {}));
var JSONResponseError;
(function (JSONResponseError) {
    JSONResponseError[JSONResponseError["NoErrors"] = 0] = "NoErrors";
    JSONResponseError[JSONResponseError["ModelIsChanged"] = 1] = "ModelIsChanged";
    JSONResponseError[JSONResponseError["InnerException"] = 2] = "InnerException";
    JSONResponseError[JSONResponseError["AuthException"] = 3] = "AuthException";
    JSONResponseError[JSONResponseError["CantSaveToAlreadyOpenedFile"] = 4] = "CantSaveToAlreadyOpenedFile";
    JSONResponseError[JSONResponseError["CantSaveDocument"] = 5] = "CantSaveDocument";
    JSONResponseError[JSONResponseError["CantOpenDocument"] = 6] = "CantOpenDocument";
    JSONResponseError[JSONResponseError["CalculateDocumentVariableException"] = 7] = "CalculateDocumentVariableException";
    JSONResponseError[JSONResponseError["PathTooLongException"] = 8] = "PathTooLongException";
    JSONResponseError[JSONResponseError["CantSaveToEmptyPath"] = 9] = "CantSaveToEmptyPath";
    JSONResponseError[JSONResponseError["InsertContentFromServerException"] = 10] = "InsertContentFromServerException";
    JSONResponseError[JSONResponseError["LoadPictureException"] = 11] = "LoadPictureException";
    JSONResponseError[JSONResponseError["SessionHasExpired"] = 12] = "SessionHasExpired";
})(JSONResponseError || (JSONResponseError = {}));
var JSONCommandParametersProperty;
(function (JSONCommandParametersProperty) {
    JSONCommandParametersProperty[JSONCommandParametersProperty["CommandType"] = 0] = "CommandType";
    JSONCommandParametersProperty[JSONCommandParametersProperty["IncId"] = 1] = "IncId";
    JSONCommandParametersProperty[JSONCommandParametersProperty["ServerParams"] = 2] = "ServerParams";
    JSONCommandParametersProperty[JSONCommandParametersProperty["EditIncId"] = 3] = "EditIncId";
    JSONCommandParametersProperty[JSONCommandParametersProperty["SubDocumentId"] = 5] = "SubDocumentId";
    JSONCommandParametersProperty[JSONCommandParametersProperty["Caches"] = 6] = "Caches";
    JSONCommandParametersProperty[JSONCommandParametersProperty["IsNewWorkSession"] = 7] = "IsNewWorkSession";
})(JSONCommandParametersProperty || (JSONCommandParametersProperty = {}));
var JSONPropertyStateBasedCommand;
(function (JSONPropertyStateBasedCommand) {
    JSONPropertyStateBasedCommand[JSONPropertyStateBasedCommand["State"] = 0] = "State";
    JSONPropertyStateBasedCommand[JSONPropertyStateBasedCommand["Property"] = 1] = "Property";
})(JSONPropertyStateBasedCommand || (JSONPropertyStateBasedCommand = {}));
var JSONInitSessionProperty;
(function (JSONInitSessionProperty) {
    JSONInitSessionProperty[JSONInitSessionProperty["IsNewDocument"] = 0] = "IsNewDocument";
    JSONInitSessionProperty[JSONInitSessionProperty["SessionGuid"] = 1] = "SessionGuid";
    JSONInitSessionProperty[JSONInitSessionProperty["FileName"] = 2] = "FileName";
    JSONInitSessionProperty[JSONInitSessionProperty["LastExecutedEditCommandId"] = 3] = "LastExecutedEditCommandId";
    JSONInitSessionProperty[JSONInitSessionProperty["SubDocumentsCounter"] = 5] = "SubDocumentsCounter";
    JSONInitSessionProperty[JSONInitSessionProperty["IsModified"] = 6] = "IsModified";
    JSONInitSessionProperty[JSONInitSessionProperty["InvalidDocument"] = 7] = "InvalidDocument";
    JSONInitSessionProperty[JSONInitSessionProperty["Document"] = 8] = "Document";
    JSONInitSessionProperty[JSONInitSessionProperty["Caches"] = 9] = "Caches";
    JSONInitSessionProperty[JSONInitSessionProperty["Options"] = 10] = "Options";
    JSONInitSessionProperty[JSONInitSessionProperty["HistoryId"] = 11] = "HistoryId";
    JSONInitSessionProperty[JSONInitSessionProperty["Src"] = 12] = "Src";
    JSONInitSessionProperty[JSONInitSessionProperty["FolderPath"] = 13] = "FolderPath";
    JSONInitSessionProperty[JSONInitSessionProperty["DocumentFormat"] = 14] = "DocumentFormat";
    JSONInitSessionProperty[JSONInitSessionProperty["FirstRecordIndex"] = 15] = "FirstRecordIndex";
    JSONInitSessionProperty[JSONInitSessionProperty["LastRecordIndex"] = 16] = "LastRecordIndex";
    JSONInitSessionProperty[JSONInitSessionProperty["MergeMode"] = 17] = "MergeMode";
    JSONInitSessionProperty[JSONInitSessionProperty["DocumentHasSource"] = 18] = "DocumentHasSource";
})(JSONInitSessionProperty || (JSONInitSessionProperty = {}));
var JSONResponceLevelProperty;
(function (JSONResponceLevelProperty) {
    JSONResponceLevelProperty[JSONResponceLevelProperty["ErrorCode"] = 0] = "ErrorCode";
    JSONResponceLevelProperty[JSONResponceLevelProperty["CommandsResults"] = 1] = "CommandsResults";
})(JSONResponceLevelProperty || (JSONResponceLevelProperty = {}));
var JSONCachesDataProperty;
(function (JSONCachesDataProperty) {
    JSONCachesDataProperty[JSONCachesDataProperty["CharacterPropertiesCache"] = 0] = "CharacterPropertiesCache";
    JSONCachesDataProperty[JSONCachesDataProperty["ParagraphPropertiesCache"] = 1] = "ParagraphPropertiesCache";
    JSONCachesDataProperty[JSONCachesDataProperty["ListLevelPropertiesCache"] = 2] = "ListLevelPropertiesCache";
    JSONCachesDataProperty[JSONCachesDataProperty["TableRowPropertiesCache"] = 3] = "TableRowPropertiesCache";
    JSONCachesDataProperty[JSONCachesDataProperty["TableCellPropertiesCache"] = 4] = "TableCellPropertiesCache";
    JSONCachesDataProperty[JSONCachesDataProperty["SubDocuments"] = 5] = "SubDocuments";
    JSONCachesDataProperty[JSONCachesDataProperty["FontInfoCache"] = 6] = "FontInfoCache";
    JSONCachesDataProperty[JSONCachesDataProperty["ColorModelInfoCache"] = 7] = "ColorModelInfoCache";
    JSONCachesDataProperty[JSONCachesDataProperty["ShadingInfoCache"] = 8] = "ShadingInfoCache";
})(JSONCachesDataProperty || (JSONCachesDataProperty = {}));
var JSONGetRtfCommand;
(function (JSONGetRtfCommand) {
    JSONGetRtfCommand[JSONGetRtfCommand["Position"] = 0] = "Position";
    JSONGetRtfCommand[JSONGetRtfCommand["Length"] = 1] = "Length";
    JSONGetRtfCommand[JSONGetRtfCommand["SubDocumentId"] = 2] = "SubDocumentId";
    JSONGetRtfCommand[JSONGetRtfCommand["ResultRtf"] = 3] = "ResultRtf";
    JSONGetRtfCommand[JSONGetRtfCommand["Id"] = 4] = "Id";
})(JSONGetRtfCommand || (JSONGetRtfCommand = {}));
var JSONInsertRtfCommand;
(function (JSONInsertRtfCommand) {
    JSONInsertRtfCommand[JSONInsertRtfCommand["RtfText"] = 0] = "RtfText";
    JSONInsertRtfCommand[JSONInsertRtfCommand["Result"] = 1] = "Result";
    JSONInsertRtfCommand[JSONInsertRtfCommand["Id"] = 2] = "Id";
})(JSONInsertRtfCommand || (JSONInsertRtfCommand = {}));


/***/ }),

/***/ 8356:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ds: function() { return /* binding */ JSONEnumClientTableCellInfo; },
/* harmony export */   Py: function() { return /* binding */ JSONEnumClientTableCellFormatting; },
/* harmony export */   dh: function() { return /* binding */ JSONEnumTableCellProperty; },
/* harmony export */   oW: function() { return /* binding */ JSONEnumTableCell; },
/* harmony export */   zH: function() { return /* binding */ JSONServerTableCellProperty; }
/* harmony export */ });
var JSONEnumTableCell;
(function (JSONEnumTableCell) {
    JSONEnumTableCell[JSONEnumTableCell["StyleIndex"] = 0] = "StyleIndex";
    JSONEnumTableCell[JSONEnumTableCell["TableCellPropertiesIndex"] = 1] = "TableCellPropertiesIndex";
    JSONEnumTableCell[JSONEnumTableCell["ColumnSpan"] = 2] = "ColumnSpan";
    JSONEnumTableCell[JSONEnumTableCell["PreferredWidth"] = 3] = "PreferredWidth";
    JSONEnumTableCell[JSONEnumTableCell["VerticalMerging"] = 4] = "VerticalMerging";
    JSONEnumTableCell[JSONEnumTableCell["StartParagraphPosition"] = 5] = "StartParagraphPosition";
    JSONEnumTableCell[JSONEnumTableCell["EndParagraphPosition"] = 6] = "EndParagraphPosition";
})(JSONEnumTableCell || (JSONEnumTableCell = {}));
var JSONEnumTableCellProperty;
(function (JSONEnumTableCellProperty) {
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["CellMargins"] = 0] = "CellMargins";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["Borders"] = 1] = "Borders";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["HideCellMark"] = 2] = "HideCellMark";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["NoWrap"] = 3] = "NoWrap";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["FitText"] = 4] = "FitText";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["TextDirection"] = 5] = "TextDirection";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["VerticalAlignment"] = 6] = "VerticalAlignment";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["ShadingInfo"] = 7] = "ShadingInfo";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["ShadingInfoIndex"] = 8] = "ShadingInfoIndex";
    JSONEnumTableCellProperty[JSONEnumTableCellProperty["UseValue"] = 9] = "UseValue";
})(JSONEnumTableCellProperty || (JSONEnumTableCellProperty = {}));
var JSONEnumClientTableCellInfo;
(function (JSONEnumClientTableCellInfo) {
    JSONEnumClientTableCellInfo[JSONEnumClientTableCellInfo["StartCellPosition"] = 0] = "StartCellPosition";
    JSONEnumClientTableCellInfo[JSONEnumClientTableCellInfo["EndCellPosition"] = 1] = "EndCellPosition";
    JSONEnumClientTableCellInfo[JSONEnumClientTableCellInfo["CellIndex"] = 2] = "CellIndex";
    JSONEnumClientTableCellInfo[JSONEnumClientTableCellInfo["CellInfo"] = 3] = "CellInfo";
    JSONEnumClientTableCellInfo[JSONEnumClientTableCellInfo["RightDirection"] = 4] = "RightDirection";
})(JSONEnumClientTableCellInfo || (JSONEnumClientTableCellInfo = {}));
var JSONEnumClientTableCellFormatting;
(function (JSONEnumClientTableCellFormatting) {
    JSONEnumClientTableCellFormatting[JSONEnumClientTableCellFormatting["ColumnSpan"] = 0] = "ColumnSpan";
    JSONEnumClientTableCellFormatting[JSONEnumClientTableCellFormatting["CellProperties"] = 1] = "CellProperties";
    JSONEnumClientTableCellFormatting[JSONEnumClientTableCellFormatting["PreferredWidth"] = 2] = "PreferredWidth";
    JSONEnumClientTableCellFormatting[JSONEnumClientTableCellFormatting["VerticalMerging"] = 3] = "VerticalMerging";
})(JSONEnumClientTableCellFormatting || (JSONEnumClientTableCellFormatting = {}));
var JSONServerTableCellProperty;
(function (JSONServerTableCellProperty) {
    JSONServerTableCellProperty[JSONServerTableCellProperty["CellMargins"] = 0] = "CellMargins";
    JSONServerTableCellProperty[JSONServerTableCellProperty["PreferredWidth"] = 1] = "PreferredWidth";
    JSONServerTableCellProperty[JSONServerTableCellProperty["Borders"] = 2] = "Borders";
    JSONServerTableCellProperty[JSONServerTableCellProperty["HideCellMark"] = 3] = "HideCellMark";
    JSONServerTableCellProperty[JSONServerTableCellProperty["NoWrap"] = 4] = "NoWrap";
    JSONServerTableCellProperty[JSONServerTableCellProperty["FitText"] = 5] = "FitText";
    JSONServerTableCellProperty[JSONServerTableCellProperty["TextDirection"] = 6] = "TextDirection";
    JSONServerTableCellProperty[JSONServerTableCellProperty["VerticalAlignment"] = 7] = "VerticalAlignment";
    JSONServerTableCellProperty[JSONServerTableCellProperty["ShadingInfo"] = 8] = "ShadingInfo";
    JSONServerTableCellProperty[JSONServerTableCellProperty["ColumnSpan"] = 9] = "ColumnSpan";
    JSONServerTableCellProperty[JSONServerTableCellProperty["VerticalMerging"] = 10] = "VerticalMerging";
})(JSONServerTableCellProperty || (JSONServerTableCellProperty = {}));


/***/ }),

/***/ 3128:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ah: function() { return /* binding */ JSONEnumClientTablePosition; },
/* harmony export */   Hp: function() { return /* binding */ JSONEnumTable; },
/* harmony export */   Mv: function() { return /* binding */ JSONEnumTableParentCellInfo; },
/* harmony export */   cL: function() { return /* binding */ JSONEnumClientTableFormatting; },
/* harmony export */   lE: function() { return /* binding */ JSONEnumTableProperty; },
/* harmony export */   yP: function() { return /* binding */ JSONEnumClientTableInfo; }
/* harmony export */ });
var JSONEnumTable;
(function (JSONEnumTable) {
    JSONEnumTable[JSONEnumTable["StyleIndex"] = 0] = "StyleIndex";
    JSONEnumTable[JSONEnumTable["NestedLevel"] = 1] = "NestedLevel";
    JSONEnumTable[JSONEnumTable["TableProperties"] = 2] = "TableProperties";
    JSONEnumTable[JSONEnumTable["Index"] = 3] = "Index";
    JSONEnumTable[JSONEnumTable["PreferredWidth"] = 4] = "PreferredWidth";
    JSONEnumTable[JSONEnumTable["LookTypes"] = 5] = "LookTypes";
    JSONEnumTable[JSONEnumTable["ParentCell"] = 6] = "ParentCell";
    JSONEnumTable[JSONEnumTable["Rows"] = 7] = "Rows";
})(JSONEnumTable || (JSONEnumTable = {}));
var JSONEnumTableProperty;
(function (JSONEnumTableProperty) {
    JSONEnumTableProperty[JSONEnumTableProperty["CellMargins"] = 0] = "CellMargins";
    JSONEnumTableProperty[JSONEnumTableProperty["CellSpacing"] = 1] = "CellSpacing";
    JSONEnumTableProperty[JSONEnumTableProperty["Indent"] = 2] = "Indent";
    JSONEnumTableProperty[JSONEnumTableProperty["PreferredWidth"] = 3] = "PreferredWidth";
    JSONEnumTableProperty[JSONEnumTableProperty["Borders"] = 4] = "Borders";
    JSONEnumTableProperty[JSONEnumTableProperty["TableStyleColBandSize"] = 5] = "TableStyleColBandSize";
    JSONEnumTableProperty[JSONEnumTableProperty["TableStyleRowBandSize"] = 6] = "TableStyleRowBandSize";
    JSONEnumTableProperty[JSONEnumTableProperty["IsTableOverlap"] = 7] = "IsTableOverlap";
    JSONEnumTableProperty[JSONEnumTableProperty["AvoidDoubleBorders"] = 8] = "AvoidDoubleBorders";
    JSONEnumTableProperty[JSONEnumTableProperty["LayoutType"] = 9] = "LayoutType";
    JSONEnumTableProperty[JSONEnumTableProperty["TableLookTypes"] = 10] = "TableLookTypes";
    JSONEnumTableProperty[JSONEnumTableProperty["ShadingInfo"] = 11] = "ShadingInfo";
    JSONEnumTableProperty[JSONEnumTableProperty["TableRowAlignment"] = 12] = "TableRowAlignment";
    JSONEnumTableProperty[JSONEnumTableProperty["BottomFromText"] = 13] = "BottomFromText";
    JSONEnumTableProperty[JSONEnumTableProperty["LeftFromText"] = 14] = "LeftFromText";
    JSONEnumTableProperty[JSONEnumTableProperty["TopFromText"] = 15] = "TopFromText";
    JSONEnumTableProperty[JSONEnumTableProperty["RightFromText"] = 16] = "RightFromText";
    JSONEnumTableProperty[JSONEnumTableProperty["TableHorizontalPosition"] = 17] = "TableHorizontalPosition";
    JSONEnumTableProperty[JSONEnumTableProperty["TableVerticalPosition"] = 18] = "TableVerticalPosition";
    JSONEnumTableProperty[JSONEnumTableProperty["HorizontalAlignMode"] = 19] = "HorizontalAlignMode";
    JSONEnumTableProperty[JSONEnumTableProperty["VerticalAlignMode"] = 20] = "VerticalAlignMode";
    JSONEnumTableProperty[JSONEnumTableProperty["HorizontalAnchorType"] = 21] = "HorizontalAnchorType";
    JSONEnumTableProperty[JSONEnumTableProperty["VerticalAnchorType"] = 22] = "VerticalAnchorType";
    JSONEnumTableProperty[JSONEnumTableProperty["TextWrapping"] = 23] = "TextWrapping";
    JSONEnumTableProperty[JSONEnumTableProperty["UseValue"] = 24] = "UseValue";
    JSONEnumTableProperty[JSONEnumTableProperty["ShadingInfoIndex"] = 25] = "ShadingInfoIndex";
})(JSONEnumTableProperty || (JSONEnumTableProperty = {}));
var JSONEnumTableParentCellInfo;
(function (JSONEnumTableParentCellInfo) {
    JSONEnumTableParentCellInfo[JSONEnumTableParentCellInfo["CellIndex"] = 0] = "CellIndex";
    JSONEnumTableParentCellInfo[JSONEnumTableParentCellInfo["RowIndex"] = 1] = "RowIndex";
    JSONEnumTableParentCellInfo[JSONEnumTableParentCellInfo["TableIndex"] = 2] = "TableIndex";
})(JSONEnumTableParentCellInfo || (JSONEnumTableParentCellInfo = {}));
var JSONEnumClientTableInfo;
(function (JSONEnumClientTableInfo) {
    JSONEnumClientTableInfo[JSONEnumClientTableInfo["TablePosition"] = 0] = "TablePosition";
    JSONEnumClientTableInfo[JSONEnumClientTableInfo["Position"] = 1] = "Position";
    JSONEnumClientTableInfo[JSONEnumClientTableInfo["Rows"] = 2] = "Rows";
    JSONEnumClientTableInfo[JSONEnumClientTableInfo["TableInfo"] = 3] = "TableInfo";
})(JSONEnumClientTableInfo || (JSONEnumClientTableInfo = {}));
var JSONEnumClientTableFormatting;
(function (JSONEnumClientTableFormatting) {
    JSONEnumClientTableFormatting[JSONEnumClientTableFormatting["TableProperties"] = 0] = "TableProperties";
    JSONEnumClientTableFormatting[JSONEnumClientTableFormatting["StyleName"] = 1] = "StyleName";
    JSONEnumClientTableFormatting[JSONEnumClientTableFormatting["PreferredWidth"] = 2] = "PreferredWidth";
    JSONEnumClientTableFormatting[JSONEnumClientTableFormatting["LookTypes"] = 3] = "LookTypes";
})(JSONEnumClientTableFormatting || (JSONEnumClientTableFormatting = {}));
var JSONEnumClientTablePosition;
(function (JSONEnumClientTablePosition) {
    JSONEnumClientTablePosition[JSONEnumClientTablePosition["ParagraphStartPosition"] = 0] = "ParagraphStartPosition";
    JSONEnumClientTablePosition[JSONEnumClientTablePosition["NestedLevel"] = 1] = "NestedLevel";
})(JSONEnumClientTablePosition || (JSONEnumClientTablePosition = {}));


/***/ }),

/***/ 400:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ri: function() { return /* binding */ JSONEnumTableRowProperty; },
/* harmony export */   Wn: function() { return /* binding */ JSONServerTableRowProperty; },
/* harmony export */   gs: function() { return /* binding */ JSONEnumTableRow; },
/* harmony export */   ln: function() { return /* binding */ JSONEnumClientTableRowFormatting; },
/* harmony export */   tC: function() { return /* binding */ JSONEnumClientTableRowInfo; }
/* harmony export */ });
var JSONEnumTableRow;
(function (JSONEnumTableRow) {
    JSONEnumTableRow[JSONEnumTableRow["GridBefore"] = 0] = "GridBefore";
    JSONEnumTableRow[JSONEnumTableRow["GridAfter"] = 1] = "GridAfter";
    JSONEnumTableRow[JSONEnumTableRow["WidthAfter"] = 2] = "WidthAfter";
    JSONEnumTableRow[JSONEnumTableRow["WidthBefore"] = 3] = "WidthBefore";
    JSONEnumTableRow[JSONEnumTableRow["TableRowPropertiesIndex"] = 4] = "TableRowPropertiesIndex";
    JSONEnumTableRow[JSONEnumTableRow["TablePropertiesException"] = 5] = "TablePropertiesException";
    JSONEnumTableRow[JSONEnumTableRow["Height"] = 6] = "Height";
    JSONEnumTableRow[JSONEnumTableRow["Cells"] = 7] = "Cells";
})(JSONEnumTableRow || (JSONEnumTableRow = {}));
var JSONEnumTableRowProperty;
(function (JSONEnumTableRowProperty) {
    JSONEnumTableRowProperty[JSONEnumTableRowProperty["CellSpacing"] = 0] = "CellSpacing";
    JSONEnumTableRowProperty[JSONEnumTableRowProperty["Header"] = 1] = "Header";
    JSONEnumTableRowProperty[JSONEnumTableRowProperty["HideCellMark"] = 2] = "HideCellMark";
    JSONEnumTableRowProperty[JSONEnumTableRowProperty["CantSplit"] = 3] = "CantSplit";
    JSONEnumTableRowProperty[JSONEnumTableRowProperty["TableRowAlignment"] = 4] = "TableRowAlignment";
    JSONEnumTableRowProperty[JSONEnumTableRowProperty["UseValue"] = 5] = "UseValue";
    JSONEnumTableRowProperty[JSONEnumTableRowProperty["DivId"] = 6] = "DivId";
})(JSONEnumTableRowProperty || (JSONEnumTableRowProperty = {}));
var JSONEnumClientTableRowInfo;
(function (JSONEnumClientTableRowInfo) {
    JSONEnumClientTableRowInfo[JSONEnumClientTableRowInfo["RowIndex"] = 0] = "RowIndex";
    JSONEnumClientTableRowInfo[JSONEnumClientTableRowInfo["Cells"] = 1] = "Cells";
    JSONEnumClientTableRowInfo[JSONEnumClientTableRowInfo["RowInfo"] = 2] = "RowInfo";
})(JSONEnumClientTableRowInfo || (JSONEnumClientTableRowInfo = {}));
var JSONEnumClientTableRowFormatting;
(function (JSONEnumClientTableRowFormatting) {
    JSONEnumClientTableRowFormatting[JSONEnumClientTableRowFormatting["Height"] = 0] = "Height";
    JSONEnumClientTableRowFormatting[JSONEnumClientTableRowFormatting["GridBefore"] = 1] = "GridBefore";
    JSONEnumClientTableRowFormatting[JSONEnumClientTableRowFormatting["GridAfter"] = 2] = "GridAfter";
    JSONEnumClientTableRowFormatting[JSONEnumClientTableRowFormatting["WidthAfter"] = 3] = "WidthAfter";
    JSONEnumClientTableRowFormatting[JSONEnumClientTableRowFormatting["WidthBefore"] = 4] = "WidthBefore";
    JSONEnumClientTableRowFormatting[JSONEnumClientTableRowFormatting["TableRowProperties"] = 5] = "TableRowProperties";
    JSONEnumClientTableRowFormatting[JSONEnumClientTableRowFormatting["TablePropertiesException"] = 6] = "TablePropertiesException";
})(JSONEnumClientTableRowFormatting || (JSONEnumClientTableRowFormatting = {}));
var JSONServerTableRowProperty;
(function (JSONServerTableRowProperty) {
    JSONServerTableRowProperty[JSONServerTableRowProperty["Height"] = 0] = "Height";
    JSONServerTableRowProperty[JSONServerTableRowProperty["CellSpacing"] = 1] = "CellSpacing";
    JSONServerTableRowProperty[JSONServerTableRowProperty["Header"] = 2] = "Header";
    JSONServerTableRowProperty[JSONServerTableRowProperty["HideCellMark"] = 3] = "HideCellMark";
    JSONServerTableRowProperty[JSONServerTableRowProperty["CantSplit"] = 4] = "CantSplit";
    JSONServerTableRowProperty[JSONServerTableRowProperty["TableRowAlignment"] = 5] = "TableRowAlignment";
    JSONServerTableRowProperty[JSONServerTableRowProperty["UseValue"] = 6] = "UseValue";
    JSONServerTableRowProperty[JSONServerTableRowProperty["GridAfter"] = 7] = "GridAfter";
    JSONServerTableRowProperty[JSONServerTableRowProperty["GridBefore"] = 8] = "GridBefore";
    JSONServerTableRowProperty[JSONServerTableRowProperty["WidthAfter"] = 9] = "WidthAfter";
    JSONServerTableRowProperty[JSONServerTableRowProperty["WidthBefore"] = 10] = "WidthBefore";
    JSONServerTableRowProperty[JSONServerTableRowProperty["DivId"] = 11] = "DivId";
})(JSONServerTableRowProperty || (JSONServerTableRowProperty = {}));


/***/ }),

/***/ 2899:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Kg: function() { return /* binding */ JSONTableWidthUnitProperty; },
/* harmony export */   QY: function() { return /* binding */ JSONTableBordersProperty; },
/* harmony export */   Tv: function() { return /* binding */ JSONTableHeightUnitProperty; },
/* harmony export */   UI: function() { return /* binding */ JSONTableConditionalStyleProperty; },
/* harmony export */   Yu: function() { return /* binding */ JSONTableCellBordersProperty; },
/* harmony export */   bk: function() { return /* binding */ JSONTableCellMarginsProperty; }
/* harmony export */ });
var JSONTableHeightUnitProperty;
(function (JSONTableHeightUnitProperty) {
    JSONTableHeightUnitProperty[JSONTableHeightUnitProperty["Type"] = 0] = "Type";
    JSONTableHeightUnitProperty[JSONTableHeightUnitProperty["Value"] = 1] = "Value";
})(JSONTableHeightUnitProperty || (JSONTableHeightUnitProperty = {}));
var JSONTableWidthUnitProperty;
(function (JSONTableWidthUnitProperty) {
    JSONTableWidthUnitProperty[JSONTableWidthUnitProperty["Type"] = 0] = "Type";
    JSONTableWidthUnitProperty[JSONTableWidthUnitProperty["Value"] = 1] = "Value";
})(JSONTableWidthUnitProperty || (JSONTableWidthUnitProperty = {}));
var JSONTableCellMarginsProperty;
(function (JSONTableCellMarginsProperty) {
    JSONTableCellMarginsProperty[JSONTableCellMarginsProperty["Top"] = 0] = "Top";
    JSONTableCellMarginsProperty[JSONTableCellMarginsProperty["Left"] = 1] = "Left";
    JSONTableCellMarginsProperty[JSONTableCellMarginsProperty["Right"] = 2] = "Right";
    JSONTableCellMarginsProperty[JSONTableCellMarginsProperty["Bottom"] = 3] = "Bottom";
})(JSONTableCellMarginsProperty || (JSONTableCellMarginsProperty = {}));
var JSONTableBordersProperty;
(function (JSONTableBordersProperty) {
    JSONTableBordersProperty[JSONTableBordersProperty["TopBorder"] = 0] = "TopBorder";
    JSONTableBordersProperty[JSONTableBordersProperty["LeftBorder"] = 1] = "LeftBorder";
    JSONTableBordersProperty[JSONTableBordersProperty["RightBorder"] = 2] = "RightBorder";
    JSONTableBordersProperty[JSONTableBordersProperty["BottomBorder"] = 3] = "BottomBorder";
    JSONTableBordersProperty[JSONTableBordersProperty["InsideHorizontalBorder"] = 4] = "InsideHorizontalBorder";
    JSONTableBordersProperty[JSONTableBordersProperty["InsideVerticalBorder"] = 5] = "InsideVerticalBorder";
})(JSONTableBordersProperty || (JSONTableBordersProperty = {}));
var JSONTableCellBordersProperty;
(function (JSONTableCellBordersProperty) {
    JSONTableCellBordersProperty[JSONTableCellBordersProperty["TopBorder"] = 0] = "TopBorder";
    JSONTableCellBordersProperty[JSONTableCellBordersProperty["LeftBorder"] = 1] = "LeftBorder";
    JSONTableCellBordersProperty[JSONTableCellBordersProperty["RightBorder"] = 2] = "RightBorder";
    JSONTableCellBordersProperty[JSONTableCellBordersProperty["BottomBorder"] = 3] = "BottomBorder";
    JSONTableCellBordersProperty[JSONTableCellBordersProperty["TopLeftDiagonalBorder"] = 4] = "TopLeftDiagonalBorder";
    JSONTableCellBordersProperty[JSONTableCellBordersProperty["TopRightDiagonalBorder"] = 5] = "TopRightDiagonalBorder";
})(JSONTableCellBordersProperty || (JSONTableCellBordersProperty = {}));
var JSONTableConditionalStyleProperty;
(function (JSONTableConditionalStyleProperty) {
    JSONTableConditionalStyleProperty[JSONTableConditionalStyleProperty["TableProperties"] = 0] = "TableProperties";
    JSONTableConditionalStyleProperty[JSONTableConditionalStyleProperty["TableRowPropertiesIndex"] = 1] = "TableRowPropertiesIndex";
    JSONTableConditionalStyleProperty[JSONTableConditionalStyleProperty["TableCellPropertiesIndex"] = 2] = "TableCellPropertiesIndex";
    JSONTableConditionalStyleProperty[JSONTableConditionalStyleProperty["MaskedParagraphPropertiesCacheIndex"] = 3] = "MaskedParagraphPropertiesCacheIndex";
    JSONTableConditionalStyleProperty[JSONTableConditionalStyleProperty["MaskedCharacterPropertiesCacheIndex"] = 4] = "MaskedCharacterPropertiesCacheIndex";
    JSONTableConditionalStyleProperty[JSONTableConditionalStyleProperty["Tabs"] = 5] = "Tabs";
})(JSONTableConditionalStyleProperty || (JSONTableConditionalStyleProperty = {}));


/***/ }),

/***/ 4935:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ JSONCacheImageInfoConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _caches_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7079);
/* harmony import */ var _enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
/* harmony import */ var _json_importer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8376);




class JSONCacheImageInfoConverter {
    static convertFromJSON(obj) {
        const actualId = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.ActualId];
        return new _caches_images__WEBPACK_IMPORTED_MODULE_1__/* .CacheImageInfo */ .h(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.Base64], actualId, obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.TmpId], obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.Url], undefined, undefined, _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertFromJSON(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.Size]), actualId !== undefined && actualId !== null);
    }
    static convertToJSON(source, sendBase64) {
        return {
            [_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.Base64]: sendBase64 ? source.base64 : undefined,
            [_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.ActualId]: source.actualId,
            [_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.TmpId]: source.tmpId,
            [_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.Url]: source.imageUrl,
            [_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONImageCacheInfo */ .Bz.Size]: _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertToJSON(source.size),
        };
    }
    static translateImageCorrespondence(obj, imageCorrespondence) {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.map(obj, rawJsonCacheInfo => {
            const info = JSONCacheImageInfoConverter.convertFromJSON(rawJsonCacheInfo);
            info.actualId = imageCorrespondence[info.actualId];
            return JSONCacheImageInfoConverter.convertToJSON(info, true);
        });
    }
    static importImageCache(imageCache, imageCorrespondence, obj) {
        if (obj) {
            const convertedImages = imageCorrespondence ?
                JSONCacheImageInfoConverter.translateImageCorrespondence(obj, imageCorrespondence) :
                obj;
            for (var jsonImage of convertedImages)
                imageCache.registerPictureData(JSONCacheImageInfoConverter.convertFromJSON(jsonImage));
        }
    }
}


/***/ }),

/***/ 3276:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: function() { return /* binding */ JSONBorderInfoConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _borders_border_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3118);
/* harmony import */ var _enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7087);
/* harmony import */ var _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4833);




class JSONBorderInfoConverter {
    static convertFromJSON(obj, colorModelInfoCache) {
        const result = new _borders_border_info__WEBPACK_IMPORTED_MODULE_1__/* .BorderInfo */ .H();
        result.style = obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Style];
        result.color = colorModelInfoCache.getItemByJsonKey(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.ColorIndex]);
        if (!result.color)
            result.color = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONColorModelInfoConverter */ .h.convertFromJSON(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Color]);
        result.width = obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Width];
        result.offset = obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Offset];
        result.frame = !!obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Frame];
        result.shadow = !!obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Shadow];
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Style] = source.style;
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Color] = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONColorModelInfoConverter */ .h.convertToJSON(source.color);
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Width] = source.width;
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Offset] = source.offset;
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Frame] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.frame);
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONBorderBaseProperty */ .H4.Shadow] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.shadow);
        return result;
    }
}


/***/ }),

/***/ 4833:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ JSONColorModelInfoConverter; }
/* harmony export */ });
/* harmony import */ var _color_color_model_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4837);
/* harmony import */ var _color_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3371);
/* harmony import */ var _enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1763);



class JSONColorModelInfoConverter {
    static convertFromJSON(obj) {
        switch (obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoProperty */ .Gn.ColorType]) {
            case _color_enums__WEBPACK_IMPORTED_MODULE_1__/* .ColorType */ .Mr.Auto:
                return _color_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .ColorModelInfo */ .k.auto;
            case _color_enums__WEBPACK_IMPORTED_MODULE_1__/* .ColorType */ .Mr.Index:
                return _color_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .ColorModelInfo */ .k.makeByColorIndex(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoProperty */ .Gn.ColorIndex], obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoProperty */ .Gn.Tint]);
            case _color_enums__WEBPACK_IMPORTED_MODULE_1__/* .ColorType */ .Mr.Rgb:
                return _color_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .ColorModelInfo */ .k.makeByColor(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoProperty */ .Gn.Rgb], obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoProperty */ .Gn.Tint]);
            case _color_enums__WEBPACK_IMPORTED_MODULE_1__/* .ColorType */ .Mr.Theme:
                return _color_color_model_info__WEBPACK_IMPORTED_MODULE_0__/* .ColorModelInfo */ .k.makeByThemeColorIndex(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoProperty */ .Gn.ThemeColorIndex], obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoProperty */ .Gn.Tint]);
        }
    }
    static convertToJSON(source) {
        return source.toJSON();
    }
}


/***/ }),

/***/ 7587:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   N: function() { return /* binding */ JSONFontInfoConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _fonts_font_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4098);
/* harmony import */ var _enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1763);



class JSONFontInfoConverter {
    static convertFromJSON(obj, result = new _fonts_font_info__WEBPACK_IMPORTED_MODULE_1__/* .FontInfo */ .p()) {
        result.name = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.Name];
        result.scriptMultiplier = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.ScriptMultiplier];
        result.cssString = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.CssString];
        result.canBeSet = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.CanBeSet];
        result.subScriptOffset = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.SubScriptOffset];
        result.isLoad = true;
        result.reset();
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.Name] = source.name;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.ScriptMultiplier] = source.scriptMultiplier;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.CssString] = source.cssString;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.CanBeSet] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.canBeSet);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONFontInfoProperty */ .yW.SubScriptOffset] = source.subScriptOffset;
        return result;
    }
}


/***/ }),

/***/ 8376:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Oh: function() { return /* binding */ SizeExporter; },
/* harmony export */   lt: function() { return /* binding */ JSONImporter; }
/* harmony export */ });
/* unused harmony export JSONFixedIntervalConverter */
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6353);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1167);
/* harmony import */ var _section_section__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9362);
/* harmony import */ var _enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8241);
/* harmony import */ var _enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1573);
/* harmony import */ var _enums_json_general_enums__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7087);
/* harmony import */ var _enums_json_section_enums__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1466);
/* harmony import */ var _enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(2202);
/* harmony import */ var _section_json_section_properties_converter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3529);
/* harmony import */ var _table_json_table_cell_properties_converter__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8513);
/* harmony import */ var _table_json_table_properties_converter__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5855);
/* harmony import */ var _table_json_table_row_properties_converter__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2359);














class JSONImporter {
    static importDocumentProperties(documentModel, content) {
        documentModel.defaultTabWidth = content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DefaultTabWidth];
        documentModel.differentOddAndEvenPages = !!content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DifferentOddAndEvenPages];
        documentModel.displayBackgroundShape = !!content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DisplayBackgroundShape];
        documentModel.pageBackColor = content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.PageBackColor];
        documentModel.setDefaultCharacterProperties(content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DefaultCharacterProperties]);
        documentModel.setDefaultParagraphProperties(content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DefaultParagraphProperties]);
        documentModel.defaultTableProperties = _table_json_table_properties_converter__WEBPACK_IMPORTED_MODULE_12__/* .JSONTablePropertiesConverter */ .S.convertFromJSON(content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DefaultTableProperties], documentModel.cache.colorModelInfoCache, documentModel.cache.shadingInfoCache);
        documentModel.defaultTableRowProperties = documentModel.cache.tableRowPropertiesCache.getItem(_table_json_table_row_properties_converter__WEBPACK_IMPORTED_MODULE_13__/* .JSONTableRowPropertiesConverter */ .Q.convertFromJSON(content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DefaultTableRowProperties]));
        documentModel.defaultTableCellProperties = documentModel.cache.tableCellPropertiesCache.getItem(_table_json_table_cell_properties_converter__WEBPACK_IMPORTED_MODULE_11__/* .JSONTableCellPropertiesConverter */ .U.convertFromJSON(content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.DefaultTableCellProperties], documentModel.cache.colorModelInfoCache, documentModel.cache.shadingInfoCache));
        const protectionProp = content[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentPropertiesProperty */ .tK.ProtectionProperties];
        const enforceProtection = !!(protectionProp[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentProtectionPropertiesProperty */ .jA.EnforceProtection]);
        const protectionType = protectionProp[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONDocumentProtectionPropertiesProperty */ .jA.ProtectionType];
        documentModel.aspxIsDocumentProtectionEnabled = enforceProtection && (protectionType === _enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .DocumentProtectionType */ .vK.ReadOnly || protectionType === _enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .DocumentProtectionType */ .vK.AllowComments);
    }
    static importCompatibilitySettings(documentModel, json) {
        documentModel.compatibilitySettings.dontJustifyLinesEndingInSoftLineBreak = !!json[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONCompatibilitySettingsProperty */ .Wp.DontJustifyLinesEndingInSoftLineBreak];
        const compatibilityMode = json[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONCompatibilitySettingsProperty */ .Wp.CompatibilityMode];
        if (compatibilityMode)
            documentModel.compatibilitySettings.compatibilityMode = json[_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_6__/* .JSONCompatibilitySettingsProperty */ .Wp.CompatibilityMode];
    }
    static importModelHeaderFooter(modelContainer, jsonContent, constr) {
        for (let content of jsonContent) {
            const headerFooter = new constr(content[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_9__/* .JSONHeaderFooterInfoProperty */ .l9.SubDocumentId]);
            headerFooter.headerFooterType = content[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_9__/* .JSONHeaderFooterInfoProperty */ .l9.Type];
            modelContainer.push(headerFooter);
        }
    }
    static importSections(documentModel, jsonSections) {
        for (let jsonSection of jsonSections)
            documentModel.sections.push(new _section_section__WEBPACK_IMPORTED_MODULE_4__/* .Section */ .$(documentModel, documentModel.mainSubDocument.positionManager.registerPosition(jsonSection[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_8__/* .JSONSection */ .J3.StartPos]), jsonSection[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_8__/* .JSONSection */ .J3.Length], _section_json_section_properties_converter__WEBPACK_IMPORTED_MODULE_10__/* .JSONSectionPropertiesConverter */ .t.convertFromJSON(jsonSection[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_8__/* .JSONSection */ .J3.Properties])));
        for (var i = 0, jsonSection; jsonSection = jsonSections[i]; i++) {
            const section = documentModel.sections[i];
            this.importHeaderFooter(section.headers, jsonSection[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_8__/* .JSONSection */ .J3.Headers]);
            this.importHeaderFooter(section.footers, jsonSection[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_8__/* .JSONSection */ .J3.Footers]);
        }
    }
    static importHeaderFooter(container, jsonSection) {
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_3__/* .NumberMapUtils */ .j.forEach(jsonSection, (section, type) => container.setObjectIndex(type, section));
    }
    static importOptions(controlOptions, json) {
        if (!json)
            return;
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Copy] !== undefined)
            controlOptions.copy = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Copy];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.CreateNew] !== undefined)
            controlOptions.createNew = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.CreateNew];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Cut] !== undefined)
            controlOptions.cut = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Cut];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Drag] !== undefined)
            controlOptions.drag = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Drag];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Drop] !== undefined)
            controlOptions.drop = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Drop];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Open] !== undefined)
            controlOptions.open = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Open];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Paste] !== undefined)
            controlOptions.paste = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Paste];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Printing] !== undefined)
            controlOptions.printing = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Printing];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Save] !== undefined)
            controlOptions.save = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Save];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.SaveAs] !== undefined)
            controlOptions.saveAs = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.SaveAs];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.FullScreen] !== undefined)
            controlOptions.fullScreen = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.FullScreen];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Bookmarks] !== undefined)
            controlOptions.bookmarks = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Bookmarks];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.CharacterFormatting] !== undefined)
            controlOptions.characterFormatting = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.CharacterFormatting];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.CharacterStyle] !== undefined)
            controlOptions.characterStyle = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.CharacterStyle];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Fields] !== undefined)
            controlOptions.fields = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Fields];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Hyperlinks] !== undefined)
            controlOptions.hyperlinks = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Hyperlinks];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.InlinePictures] !== undefined)
            controlOptions.inlinePictures = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.InlinePictures];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.ParagraphFormatting] !== undefined)
            controlOptions.paragraphFormatting = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.ParagraphFormatting];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Paragraphs] !== undefined)
            controlOptions.paragraphs = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Paragraphs];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.ParagraphStyle] !== undefined)
            controlOptions.paragraphStyle = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.ParagraphStyle];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.ParagraphTabs] !== undefined)
            controlOptions.paragraphTabs = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.ParagraphTabs];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Sections] !== undefined)
            controlOptions.sections = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Sections];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.TabSymbol] !== undefined)
            controlOptions.tabSymbol = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.TabSymbol];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Undo] !== undefined)
            controlOptions.undo = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Undo];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.NumberingBulleted] !== undefined)
            controlOptions.numberingBulleted = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.NumberingBulleted];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.NumberingMultiLevel] !== undefined)
            controlOptions.numberingMultiLevel = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.NumberingMultiLevel];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.NumberingSimple] !== undefined)
            controlOptions.numberingSimple = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.NumberingSimple];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.HeadersFooters] !== undefined)
            controlOptions.headersFooters = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.HeadersFooters];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Tables] !== undefined)
            controlOptions.tables = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Tables];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.TableStyle] !== undefined)
            controlOptions.tableStyle = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.TableStyle];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.TabMarker] !== undefined)
            controlOptions.tabMarker = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.TabMarker];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.PageBreakInsertMode] !== undefined)
            controlOptions.pageBreakInsertMode = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.PageBreakInsertMode];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.AcceptsTab] !== undefined)
            controlOptions.acceptsTab = !!json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.AcceptsTab];
        if (json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Download] !== undefined)
            controlOptions.download = json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.Download];
        controlOptions.raiseClientEventsOnModificationsViaAPI = !!json[_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_5__/* .JSONControlOptionsProperty */ .Q.RaiseClientEventsOnModificationsViaAPI];
    }
}
class JSONFixedIntervalConverter {
    static convertFromJSON(obj) {
        return new FixedInterval(obj[JSONFixedInterval.Start], obj[JSONFixedInterval.Length]);
    }
    static convertToJSON(source) {
        const result = {};
        result[JSONFixedInterval.Start] = source.start;
        result[JSONFixedInterval.Length] = source.length;
        return result;
    }
    static convertListToJSON(intervals) {
        return ListUtils.accumulate(intervals, [], (result, interval) => {
            result.push(JSONFixedIntervalConverter.convertToJSON(interval));
            return result;
        });
    }
    static convertListFromJSON(jsonIntervals) {
        return ListUtils.accumulate(jsonIntervals, [], (result, jsonInterval) => {
            result.push(JSONFixedIntervalConverter.convertFromJSON(jsonInterval));
            return result;
        });
    }
}
class SizeExporter {
    static convertFromJSON(obj) {
        return new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONSize */ .yZ.Width], obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONSize */ .yZ.Height]);
    }
    static convertToJSON(obj) {
        const jsonSize = {};
        jsonSize[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONSize */ .yZ.Width] = obj.width;
        jsonSize[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONSize */ .yZ.Height] = obj.height;
        return jsonSize;
    }
    static convertToJSONSeparately(width, height) {
        const jsonSize = {};
        jsonSize[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONSize */ .yZ.Width] = width;
        jsonSize[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_7__/* .JSONSize */ .yZ.Height] = height;
        return jsonSize;
    }
}


/***/ }),

/***/ 7768:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   i: function() { return /* binding */ JSONMaskedCharacterPropertiesConverter; }
/* harmony export */ });
/* unused harmony export JSONLangInfoConverter */
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _caches_hashed_caches_font_info_cache__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9467);
/* harmony import */ var _character_character_properties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1789);
/* harmony import */ var _character_lang_info__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9585);
/* harmony import */ var _enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1763);
/* harmony import */ var _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4833);
/* harmony import */ var _json_shading_info_converter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7569);







class JSONMaskedCharacterPropertiesConverter {
    static convertFromJSON(obj, colorModelInfoCache, shadingInfoCache, fontCache) {
        var result = new _character_character_properties__WEBPACK_IMPORTED_MODULE_2__/* .MaskedCharacterProperties */ .X();
        result.fontSize = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Size];
        result.fontBold = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Bold];
        result.fontItalic = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Italic];
        result.fontStrikeoutType = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutType];
        result.fontUnderlineType = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineType];
        result.allCaps = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.AllCaps];
        result.smallCaps = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.SmallCaps];
        result.strikeoutWordsOnly = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutWordsOnly];
        result.underlineWordsOnly = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineWordsOnly];
        result.script = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Script];
        result.hidden = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Hidden];
        result.noProof = !!obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.NoProof];
        result.setUseValueFull(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UseValue]);
        result.langInfo = JSONLangInfoConverter.convertFromJSON(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.LangInfo]);
        result.fontInfo = fontCache instanceof _caches_hashed_caches_font_info_cache__WEBPACK_IMPORTED_MODULE_1__/* .FontInfoCache */ .I ?
            fontCache.getItemByJsonKey(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.FontInfoIndex]) :
            fontCache(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.FontInfoIndex]);
        result.textColor = colorModelInfoCache.getItemByJsonKey(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.TextColorIndex]);
        result.shadingInfo = shadingInfoCache.getItemByJsonKey(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.ShadingInfoIndex]);
        result.highlightColor = colorModelInfoCache.getItemByJsonKey(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.HighlightColorIndex]);
        result.underlineColor = colorModelInfoCache.getItemByJsonKey(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineColorIndex]);
        result.strikeoutColor = colorModelInfoCache.getItemByJsonKey(obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutColorIndex]);
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.FontName] = source.fontInfo.name;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Size] = source.fontSize;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Bold] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.fontBold);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Italic] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.fontItalic);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutType] = source.fontStrikeoutType;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineType] = source.fontUnderlineType;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.AllCaps] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.allCaps);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.SmallCaps] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.smallCaps);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutWordsOnly] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.strikeoutWordsOnly);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineWordsOnly] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.underlineWordsOnly);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.TextColor] = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_4__/* .JSONColorModelInfoConverter */ .h.convertToJSON(source.textColor);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.ShadingInfo] = _json_shading_info_converter__WEBPACK_IMPORTED_MODULE_5__/* .JSONShadingInfoConverter */ .Z.convertToJSON(source.shadingInfo);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.HighlightColor] = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_4__/* .JSONColorModelInfoConverter */ .h.convertToJSON(source.highlightColor);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UnderlineColor] = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_4__/* .JSONColorModelInfoConverter */ .h.convertToJSON(source.underlineColor);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.StrikeoutColor] = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_4__/* .JSONColorModelInfoConverter */ .h.convertToJSON(source.strikeoutColor);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Script] = source.script;
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.Hidden] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.hidden);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.NoProof] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.noProof);
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.UseValue] = source.getUseValueFull();
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONCharacterFormattingProperty */ .I$.LangInfo] = JSONLangInfoConverter.convertToJSON(source.langInfo);
        return result;
    }
}
class JSONLangInfoConverter {
    static convertFromJSON(obj) {
        const result = new _character_lang_info__WEBPACK_IMPORTED_MODULE_6__/* .LangInfo */ .g();
        result.bidi = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONLangInfoProperty */ .CZ.Bidi] || "";
        result.eastAsia = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONLangInfoProperty */ .CZ.EastAsia] || "";
        result.latin = obj[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONLangInfoProperty */ .CZ.Latin] || "";
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONLangInfoProperty */ .CZ.Bidi] = source ? source.bidi : "";
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONLangInfoProperty */ .CZ.EastAsia] = source ? source.eastAsia : "";
        result[_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONLangInfoProperty */ .CZ.Latin] = source ? source.latin : "";
        return result;
    }
}


/***/ }),

/***/ 8977:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   U: function() { return /* binding */ JSONMaskedParagraphPropertiesConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1423);
/* harmony import */ var _enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7936);
/* harmony import */ var _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3276);
/* harmony import */ var _json_shading_info_converter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7569);





class JSONMaskedParagraphPropertiesConverter {
    static convertFromJSON(obj, colorModelInfoCache, shadingInfoCache) {
        var result = new _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .MaskedParagraphProperties */ .bq();
        result.alignment = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.Alignment];
        result.firstLineIndent = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.FirstLineIndent];
        result.firstLineIndentType = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.FirstLineIndentType];
        result.leftIndent = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LeftIndent];
        result.lineSpacing = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LineSpacing];
        result.lineSpacingType = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LineSpacingType];
        result.rightIndent = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.RightIndent];
        result.spacingBefore = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SpacingBefore];
        result.spacingAfter = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SpacingAfter];
        result.suppressHyphenation = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SuppressHyphenation];
        result.suppressLineNumbers = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SuppressLineNumbers];
        result.contextualSpacing = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.ContextualSpacing];
        result.pageBreakBefore = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.PageBreakBefore];
        result.beforeAutoSpacing = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.BeforeAutoSpacing];
        result.afterAutoSpacing = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.AfterAutoSpacing];
        result.keepWithNext = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.KeepWithNext];
        result.keepLinesTogether = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.KeepLinesTogether];
        result.widowOrphanControl = !!obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.WidowOrphanControl];
        result.outlineLevel = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.OutlineLevel];
        result.shadingInfo = shadingInfoCache.getItemByJsonKey(obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.ShadingInfoIndex]);
        result.leftBorder = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertFromJSON(obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LeftBorder], colorModelInfoCache);
        result.rightBorder = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertFromJSON(obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.RightBorder], colorModelInfoCache);
        result.topBorder = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertFromJSON(obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.TopBorder], colorModelInfoCache);
        result.bottomBorder = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertFromJSON(obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.BottomBorder], colorModelInfoCache);
        result.betweenBorder = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertFromJSON(obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.BetweenBorder], colorModelInfoCache);
        result.divId = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.DivId];
        result.rightToLeft = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.RightToLeft];
        result.useValue = obj[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.UseValue];
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.Alignment] = source.alignment;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.FirstLineIndent] = source.firstLineIndent;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.FirstLineIndentType] = source.firstLineIndentType;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LeftIndent] = source.leftIndent;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LineSpacing] = source.lineSpacing;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LineSpacingType] = source.lineSpacingType;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.RightIndent] = source.rightIndent;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SpacingBefore] = source.spacingBefore;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SpacingAfter] = source.spacingAfter;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SuppressHyphenation] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.suppressHyphenation);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.SuppressLineNumbers] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.suppressLineNumbers);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.ContextualSpacing] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.contextualSpacing);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.PageBreakBefore] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.pageBreakBefore);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.BeforeAutoSpacing] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.beforeAutoSpacing);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.AfterAutoSpacing] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.afterAutoSpacing);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.KeepWithNext] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.keepWithNext);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.KeepLinesTogether] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.keepLinesTogether);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.WidowOrphanControl] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.widowOrphanControl);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.OutlineLevel] = source.outlineLevel;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.ShadingInfo] = _json_shading_info_converter__WEBPACK_IMPORTED_MODULE_4__/* .JSONShadingInfoConverter */ .Z.convertToJSON(source.shadingInfo);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.LeftBorder] = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertToJSON(source.leftBorder);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.RightBorder] = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertToJSON(source.rightBorder);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.TopBorder] = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertToJSON(source.topBorder);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.BottomBorder] = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertToJSON(source.bottomBorder);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.BetweenBorder] = _json_border_info_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONBorderInfoConverter */ .p.convertToJSON(source.betweenBorder);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.DivId] = source.divId;
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.RightToLeft] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.rightToLeft);
        result[_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONParagraphFormattingProperty */ .Ff.UseValue] = source.useValue;
        return result;
    }
}


/***/ }),

/***/ 7569:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Z: function() { return /* binding */ JSONShadingInfoConverter; }
/* harmony export */ });
/* harmony import */ var _shadings_shading_info__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3428);
/* harmony import */ var _enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7087);
/* harmony import */ var _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4833);



class JSONShadingInfoConverter {
    static convertFromJSON(obj, cache) {
        let backColor = cache.getItemByJsonKey(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.BackColorIndex]);
        if (!backColor)
            backColor = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoConverter */ .h.convertFromJSON(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.BackColor]);
        let foreColor = cache.getItemByJsonKey(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.ForeColorIndex]);
        if (!foreColor)
            foreColor = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoConverter */ .h.convertFromJSON(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.ForeColor]);
        return new _shadings_shading_info__WEBPACK_IMPORTED_MODULE_0__/* .ShadingInfo */ .g(obj[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.ShadingPattern], backColor, foreColor);
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.ShadingPattern] = source.shadingPattern;
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.BackColor] = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoConverter */ .h.convertToJSON(source.backColor);
        result[_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShadingInfoProperty */ .xH.ForeColor] = _json_color_model_info_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONColorModelInfoConverter */ .h.convertToJSON(source.foreColor);
        return result;
    }
}


/***/ }),

/***/ 9377:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   W: function() { return /* binding */ JSONShapeConverter; }
/* harmony export */ });
/* harmony import */ var _shapes_shape__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(169);
/* harmony import */ var _enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);


class JSONShapeConverter {
    static convertFromJSON(obj) {
        const result = new _shapes_shape__WEBPACK_IMPORTED_MODULE_0__/* .Shape */ .b();
        result.fillColor = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShapeProperty */ .An.FillColor];
        result.outlineColor = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShapeProperty */ .An.OutlineColor];
        result.outlineWidth = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShapeProperty */ .An.OutlineWidth];
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShapeProperty */ .An.FillColor] = source.fillColor;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShapeProperty */ .An.OutlineColor] = source.outlineColor;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONShapeProperty */ .An.OutlineWidth] = source.outlineWidth;
        return result;
    }
}


/***/ }),

/***/ 6124:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  p: function() { return /* binding */ JSONStylesExporter; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/model/character/character-style.ts
var character_style = __webpack_require__(9915);
// EXTERNAL MODULE: ./src/common/model/style-base.ts
var style_base = __webpack_require__(1592);
;// CONCATENATED MODULE: ./src/common/model/numbering-lists/numbering-list-style.ts

class NumberingListStyle extends style_base/* StyleBase */._ {
    constructor(styleName, localizedName, deleted, hidden, semihidden, isDefault, numberingListIndex, id) {
        super(styleName, localizedName, deleted, hidden, semihidden, isDefault, id);
        this.numberingListIndex = numberingListIndex;
    }
    clone() {
        return new NumberingListStyle(this.styleName, this.localizedName, this.deleted, this.hidden, this.semihidden, this.isDefault, this.numberingListIndex, this.id);
    }
}

// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
// EXTERNAL MODULE: ./src/common/model/tables/styles/table-style.ts
var table_style = __webpack_require__(2685);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-style-enums.ts
var json_style_enums = __webpack_require__(3957);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-tab-converter.ts
var json_tab_converter = __webpack_require__(927);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-conditional-style-converter.ts
var json_table_conditional_style_converter = __webpack_require__(6821);
;// CONCATENATED MODULE: ./src/common/model/json/importers/json-styles-exporter.ts








class JSONStylesExporter {
    static importStyles(documentModel, content) {
        JSONStylesExporter.importCharacterStyles(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.Character]);
        JSONStylesExporter.importParagraphStyles(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.Paragraph]);
        JSONStylesExporter.importNumberingStyles(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.NumberingList]);
        JSONStylesExporter.importTableStyles(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.Table]);
        JSONStylesExporter.finishCharacterStylesImport(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.Character]);
        JSONStylesExporter.finishParagraphStylesImport(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.Paragraph]);
        JSONStylesExporter.finishNumberingListStylesImport(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.NumberingList]);
        JSONStylesExporter.finishTableStylesImport(documentModel, content[json_style_enums/* JSONStylesProperty */.Ky.Table]);
    }
    static exportStyles(documentModel) {
        let jsonStyles = {};
        jsonStyles[json_style_enums/* JSONStylesProperty */.Ky.Character] = JSONStylesExporter.exportCharacterStyles(documentModel);
        jsonStyles[json_style_enums/* JSONStylesProperty */.Ky.Paragraph] = JSONStylesExporter.exportParagraphStyles(documentModel);
        jsonStyles[json_style_enums/* JSONStylesProperty */.Ky.NumberingList] = JSONStylesExporter.exportNumberingStyles(documentModel);
        jsonStyles[json_style_enums/* JSONStylesProperty */.Ky.Table] = JSONStylesExporter.exportTableStyles(documentModel);
        return jsonStyles;
    }
    ;
    static exportCharacterStyles(documentModel) {
        let jsonCharacterStyles = [];
        for (let characterStyle of documentModel.characterStyles) {
            let jsonCharacterStyle = {};
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName] = characterStyle.styleName;
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted] = (0,common.boolToInt)(characterStyle.deleted);
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden] = (0,common.boolToInt)(characterStyle.hidden);
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName] = characterStyle.parent ? characterStyle.parent.styleName : "";
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden] = (0,common.boolToInt)(characterStyle.semihidden);
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName] = characterStyle.localizedName;
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault] = (0,common.boolToInt)(characterStyle.isDefault);
            jsonCharacterStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage] = characterStyle.base64EncodedImage;
            jsonCharacterStyle[json_style_enums/* JSONCharacterStyleProperty */.Fq.LinkedStyleName] = characterStyle.linkedStyle ? characterStyle.linkedStyle.styleName : "";
            jsonCharacterStyle[json_style_enums/* JSONCharacterStyleProperty */.Fq.CharacterPropertiesCacheIndex] = documentModel.characterStyles.indexOf(characterStyle);
            jsonCharacterStyles.push(jsonCharacterStyle);
        }
        return jsonCharacterStyles;
    }
    static exportParagraphStyles(documentModel) {
        const maskedCharacterPropertiesCache = documentModel.cache.maskedCharacterPropertiesCache;
        const maskedParagraphPropertiesCache = documentModel.cache.maskedParagraphPropertiesCache;
        let jsonParagraphStyles = [];
        for (let paragraphStyle of documentModel.paragraphStyles) {
            let jsonParagraphStyle = {};
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName] = paragraphStyle.styleName;
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted] = (0,common.boolToInt)(paragraphStyle.deleted);
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden] = (0,common.boolToInt)(paragraphStyle.hidden);
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName] = paragraphStyle.parent ? paragraphStyle.parent.styleName : "";
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden] = (0,common.boolToInt)(paragraphStyle.semihidden);
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName] = paragraphStyle.localizedName;
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault] = (0,common.boolToInt)(paragraphStyle.isDefault);
            jsonParagraphStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage] = paragraphStyle.base64EncodedImage;
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.CharacterPropertiesCacheIndex] =
                maskedCharacterPropertiesCache.indexOf(paragraphStyle.maskedCharacterProperties);
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.ParagraphPropertiesCacheIndex] =
                maskedParagraphPropertiesCache.indexOf(paragraphStyle.maskedParagraphProperties);
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.LinkedStyleName] =
                paragraphStyle.linkedStyle ? paragraphStyle.linkedStyle.styleName : "";
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.NextParagraphStyleName] =
                paragraphStyle.nextParagraphStyle ? paragraphStyle.nextParagraphStyle.styleName : "";
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.AutoUpdate] = (0,common.boolToInt)(paragraphStyle.autoUpdate);
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.Tabs] = json_tab_converter/* JSONTabConverter */._.convertFromTabPropertiesToJSON(paragraphStyle.tabs);
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.NumberingListIndex] = paragraphStyle.numberingListIndex;
            jsonParagraphStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.ListLevelIndex] = paragraphStyle.listLevelIndex;
            jsonParagraphStyles.push(jsonParagraphStyle);
        }
        return jsonParagraphStyles;
    }
    static exportNumberingStyles(documentModel) {
        let jsonNumberingStyles = [];
        for (let numberingStyle of documentModel.numberingListStyles) {
            let jsonNumberingStyle = {};
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName] = numberingStyle.styleName;
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted] = (0,common.boolToInt)(numberingStyle.deleted);
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden] = (0,common.boolToInt)(numberingStyle.hidden);
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName] = numberingStyle.parent ? numberingStyle.parent.styleName : "";
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden] = (0,common.boolToInt)(numberingStyle.semihidden);
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName] = numberingStyle.localizedName;
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault] = (0,common.boolToInt)(numberingStyle.isDefault);
            jsonNumberingStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage] = numberingStyle.base64EncodedImage;
            jsonNumberingStyle[json_style_enums/* JSONNumberingListStyleProperty */.BS.NumberingListIndex] = numberingStyle.numberingListIndex;
            jsonNumberingStyles.push(jsonNumberingStyle);
        }
        return jsonNumberingStyles;
    }
    static exportTableStyles(documentModel) {
        let jsonTableStyles = [];
        for (let tableStyle of documentModel.tableStyles) {
            let jsonTableStyle = {};
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName] = tableStyle.styleName;
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted] = (0,common.boolToInt)(tableStyle.deleted);
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden] = (0,common.boolToInt)(tableStyle.hidden);
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName] = tableStyle.parent ? tableStyle.parent.styleName : "";
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden] = (0,common.boolToInt)(tableStyle.semihidden);
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName] = tableStyle.localizedName;
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault] = (0,common.boolToInt)(tableStyle.isDefault);
            jsonTableStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage] = tableStyle.base64EncodedImage;
            jsonTableStyle[json_style_enums/* JSONTableStyleProperty */.FG.BaseConditionalStyle] =
                json_table_conditional_style_converter/* JSONTableConditionalStyleConverter */.q.convertToJSON(documentModel, tableStyle.baseConditionalStyle);
            jsonTableStyle[json_style_enums/* JSONTableStyleProperty */.FG.ConditionalStyles] =
                json_table_conditional_style_converter/* JSONTableConditionalStyleConverter */.q.convertStylesToJSON(documentModel, tableStyle.conditionalStyles);
            jsonTableStyles.push(jsonTableStyle);
        }
        return jsonTableStyles;
    }
    static importCharacterStyles(documentModel, content) {
        const maskedCharacterPropertiesCache = documentModel.cache.maskedCharacterPropertiesCache;
        const charStyles = documentModel.characterStyles;
        for (let jsonStyle of content) {
            charStyles.push(new character_style/* CharacterStyle */.H(jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName], jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault], maskedCharacterPropertiesCache.getItemByJsonKey(jsonStyle[json_style_enums/* JSONCharacterStyleProperty */.Fq.CharacterPropertiesCacheIndex]), jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage]));
        }
    }
    static importParagraphStyles(documentModel, content) {
        const maskedCharacterPropertiesCache = documentModel.cache.maskedCharacterPropertiesCache;
        const maskedParagraphPropertiesCache = documentModel.cache.maskedParagraphPropertiesCache;
        const parStyles = documentModel.paragraphStyles;
        for (let jsonStyle of content) {
            parStyles.push(new paragraph_style/* ParagraphStyle */.PO(jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName], jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault], maskedCharacterPropertiesCache.getItemByJsonKey(jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.CharacterPropertiesCacheIndex]), maskedParagraphPropertiesCache.getItemByJsonKey(jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.ParagraphPropertiesCacheIndex]), json_tab_converter/* JSONTabConverter */._.convertFromJSONToTabProperties(jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.Tabs]), !!jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.AutoUpdate], jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.NumberingListIndex], jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.ListLevelIndex], jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage]));
        }
    }
    static importNumberingStyles(documentModel, content) {
        const numListStyles = documentModel.numberingListStyles;
        for (let jsonStyle of content)
            numListStyles.push(new NumberingListStyle(jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName], jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault], jsonStyle[json_style_enums/* JSONNumberingListStyleProperty */.BS.NumberingListIndex]));
    }
    static importTableStyles(documentModel, content) {
        const tblStyles = documentModel.tableStyles;
        for (let jsonStyle of content) {
            tblStyles.push(new table_style/* TableStyle */.k(jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName], jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault], json_table_conditional_style_converter/* JSONTableConditionalStyleConverter */.q.convertStylesFromJSON(jsonStyle[json_style_enums/* JSONTableStyleProperty */.FG.ConditionalStyles], documentModel.cache), json_table_conditional_style_converter/* JSONTableConditionalStyleConverter */.q.convertFromJSON(jsonStyle[json_style_enums/* JSONTableStyleProperty */.FG.BaseConditionalStyle], documentModel.cache), jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage]));
        }
    }
    static finishCharacterStylesImport(documentModel, content) {
        for (var i = 0, style; style = documentModel.characterStyles[i]; i++) {
            const jsonStyle = content[i];
            const parentStyleName = jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName];
            if (parentStyleName)
                style.parent = documentModel.getCharacterStyleByName(parentStyleName);
            const linkedStyle = jsonStyle[json_style_enums/* JSONCharacterStyleProperty */.Fq.LinkedStyleName];
            if (linkedStyle !== undefined)
                style.linkedStyle = documentModel.getParagraphStyleByName(linkedStyle);
        }
    }
    static finishParagraphStylesImport(documentModel, content) {
        for (var i = 0, style; style = documentModel.paragraphStyles[i]; i++) {
            const jsonStyle = content[i];
            const parentStyleName = jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName];
            if (parentStyleName)
                style.parent = documentModel.getParagraphStyleByName(parentStyleName);
            const linkedStyle = jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.LinkedStyleName];
            if (linkedStyle !== undefined)
                style.linkedStyle = documentModel.getCharacterStyleByName(linkedStyle);
            const nextParStyleName = jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.NextParagraphStyleName];
            if (nextParStyleName !== undefined)
                style.nextParagraphStyle = documentModel.getParagraphStyleByName(nextParStyleName);
        }
    }
    static finishNumberingListStylesImport(documentModel, content) {
        for (var i = 0, style; style = documentModel.numberingListStyles[i]; i++)
            style.parent = documentModel.getNumberingListStyleByName(content[i][json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName]);
    }
    static finishTableStylesImport(documentModel, content) {
        for (var i = 0, style; style = documentModel.tableStyles[i]; i++)
            style.parent = documentModel.getTableStyleByName(content[i][json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName]);
    }
}


/***/ }),

/***/ 927:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _: function() { return /* binding */ JSONTabConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5631);
/* harmony import */ var _enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2202);



class JSONTabConverter {
    static convertFromJSONToTabProperties(obj) {
        const tabs = new _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_1__/* .TabProperties */ .jy();
        for (let jsonTab of obj)
            tabs.tabsInfo.push(JSONTabConverter.convertFromJSON(jsonTab));
        return tabs;
    }
    static convertFromJSON(obj) {
        return new _paragraph_paragraph_style__WEBPACK_IMPORTED_MODULE_1__/* .TabInfo */ .i3(obj[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.Position], obj[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.Alignment], obj[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.LeaderType], !!obj[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.IsDeleted], !!obj[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.IsDefault]);
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.Position] = source.position;
        result[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.Alignment] = source.alignment;
        result[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.LeaderType] = source.leader;
        result[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.IsDeleted] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.deleted);
        result[_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabInfoProperty */ .zw.IsDefault] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.isDefault);
        return result;
    }
    static convertFromTabPropertiesToJSON(source) {
        var result = [];
        for (let tab of source.tabsInfo)
            result.push(JSONTabConverter.convertToJSON(tab));
        return result;
    }
}


/***/ }),

/***/ 5381:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   J: function() { return /* binding */ JSONListLevelPropertiesConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4830);
/* harmony import */ var _enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3006);



class JSONListLevelPropertiesConverter {
    static convertFromJSON(obj) {
        const result = new _numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_1__/* .ListLevelProperties */ .Yy();
        result.start = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Start];
        result.format = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Format];
        result.convertPreviousLevelNumberingToDecimal = !!obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.ConvertPreviousLevelNumberingToDecimal];
        result.suppressBulletResize = !!obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.SuppressBulletResize];
        result.suppressRestart = !!obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.SuppressRestart];
        result.alignment = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Alignment];
        result.displayFormatString = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.DisplayFormatString];
        result.relativeRestartLevel = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.RelativeRestartLevel];
        result.separator = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Separator];
        result.templateCode = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.TemplateCode];
        result.originalLeftIndent = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.OriginalLeftIndent];
        result.legacy = !!obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Legacy];
        result.legacySpace = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.LegacySpace];
        result.legacyIndent = obj[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.LegacyIndent];
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Start] = source.start;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Format] = source.format;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.ConvertPreviousLevelNumberingToDecimal] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.convertPreviousLevelNumberingToDecimal);
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.SuppressBulletResize] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.suppressBulletResize);
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.SuppressRestart] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.suppressRestart);
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Alignment] = source.alignment;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.DisplayFormatString] = source.displayFormatString;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.RelativeRestartLevel] = source.relativeRestartLevel;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Separator] = source.separator;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.TemplateCode] = source.templateCode;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.OriginalLeftIndent] = source.originalLeftIndent;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.Legacy] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.legacy);
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.LegacySpace] = source.legacySpace;
        result[_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONListLevelProperty */ .yk.LegacyIndent] = source.legacyIndent;
        return result;
    }
}


/***/ }),

/***/ 2918:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: function() { return /* binding */ JSONColumnsSectionPropertiesConverter; }
/* harmony export */ });
/* harmony import */ var _section_section_column_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7695);
/* harmony import */ var _enums_json_section_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1466);


class JSONColumnsSectionPropertiesConverter {
    static convertFromJSON(jsonColumns) {
        const result = [];
        for (let jsonColumn of jsonColumns)
            result.push(new _section_section_column_properties__WEBPACK_IMPORTED_MODULE_0__/* .SectionColumnProperties */ .G(jsonColumn[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONColumnInfoProperty */ .r8.Width], jsonColumn[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONColumnInfoProperty */ .r8.Space]));
        return result;
    }
    static convertToJSON(columns) {
        const result = [];
        for (let column of columns) {
            const jsonColumn = {};
            jsonColumn[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONColumnInfoProperty */ .r8.Width] = column.width;
            jsonColumn[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONColumnInfoProperty */ .r8.Space] = column.space;
            result.push(jsonColumn);
        }
        return result;
    }
}


/***/ }),

/***/ 3529:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   t: function() { return /* binding */ JSONSectionPropertiesConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _section_section_column_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7695);
/* harmony import */ var _section_section_properties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8012);
/* harmony import */ var _enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1466);
/* harmony import */ var _json_columns_section_properties_converter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2918);





class JSONSectionPropertiesConverter {
    static convertFromJSON(obj) {
        var result = new _section_section_properties__WEBPACK_IMPORTED_MODULE_2__/* .SectionProperties */ .I();
        result.marginLeft = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginLeft];
        result.marginTop = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginTop];
        result.marginRight = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginRight];
        result.marginBottom = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginBottom];
        result.columnCount = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.ColumnCount];
        result.space = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.Space];
        result.columnsInfo = _json_columns_section_properties_converter__WEBPACK_IMPORTED_MODULE_4__/* .JSONColumnsSectionPropertiesConverter */ .O.convertFromJSON(obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.ColumnsInfo]);
        result.pageWidth = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.PageWidth];
        result.pageHeight = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.PageHeight];
        result.startType = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.StartType];
        result.landscape = !!obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.Landscape];
        result.equalWidthColumns = !!obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.EqualWidthColumns];
        result.differentFirstPage = !!obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.DifferentFirstPage];
        result.headerOffset = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.HeaderOffset];
        result.footerOffset = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.FooterOffset];
        result.paperKind = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.PaperKind];
        result.firstPageNumber = obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.FirstPageNumber];
        result.continueNumbering = !!obj[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.ContinueNumbering];
        if (!result.equalWidthColumns)
            while (result.columnCount > result.columnsInfo.length)
                result.columnsInfo.push(new _section_section_column_properties__WEBPACK_IMPORTED_MODULE_1__/* .SectionColumnProperties */ .G(0, 0));
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginLeft] = source.marginLeft;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginTop] = source.marginTop;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginRight] = source.marginRight;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.MarginBottom] = source.marginBottom;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.ColumnCount] = source.columnCount;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.Space] = source.space;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.ColumnsInfo] = _json_columns_section_properties_converter__WEBPACK_IMPORTED_MODULE_4__/* .JSONColumnsSectionPropertiesConverter */ .O.convertToJSON(source.columnsInfo);
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.PageWidth] = source.pageWidth;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.PageHeight] = source.pageHeight;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.StartType] = source.startType;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.Landscape] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.landscape);
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.EqualWidthColumns] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.equalWidthColumns);
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.DifferentFirstPage] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.differentFirstPage);
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.HeaderOffset] = source.headerOffset;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.FooterOffset] = source.footerOffset;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.PaperKind] = source.paperKind;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.FirstPageNumber] = source.firstPageNumber;
        result[_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONSectionProperty */ .vl.ContinueNumbering] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.continueNumbering);
        return result;
    }
}


/***/ }),

/***/ 2055:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  l: function() { return /* binding */ ServerModelInserter; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/model/document-model.ts + 11 modules
var document_model = __webpack_require__(4495);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/sub-document-infos.ts
var sub_document_infos = __webpack_require__(1986);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-document-enums.ts
var json_document_enums = __webpack_require__(1573);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-field-enums.ts
var json_field_enums = __webpack_require__(5060);
// EXTERNAL MODULE: ./src/common/model/json/web-caches-exporter.ts + 6 modules
var web_caches_exporter = __webpack_require__(2259);
// EXTERNAL MODULE: ./src/common/model/json/importers/image-cache-info-converter.ts
var image_cache_info_converter = __webpack_require__(4935);
// EXTERNAL MODULE: ./src/common/model/color/color-hsl.ts
var color_hsl = __webpack_require__(6291);
// EXTERNAL MODULE: ./src/common/model/color/sc-rgbcolor.ts
var sc_rgbcolor = __webpack_require__(164);
// EXTERNAL MODULE: ./src/common/model/drawing/drawing-color.ts + 4 modules
var drawing_color = __webpack_require__(8522);
// EXTERNAL MODULE: ./src/common/model/drawing/drawing-color-model-info.ts
var drawing_color_model_info = __webpack_require__(893);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-general-enums.ts
var json_general_enums = __webpack_require__(7087);
;// CONCATENATED MODULE: ./src/common/model/json/importers/json-drawing-color-converter.ts





class JSONDrawingColorConverter {
    static convertFromJSON(obj) {
        const info = JSONDrawingColorModelInfoConverter.convertFromJSON(obj[json_general_enums/* JSONSDrawingColorProperty */.a2.Color]);
        return new drawing_color/* DrawingColor */.e(info);
    }
}
class JSONDrawingColorModelInfoConverter {
    static convertFromJSON(obj) {
        const result = new drawing_color_model_info/* DrawingColorModelInfo */.a();
        result._rgb = obj[json_general_enums/* JSONSDrawingColorModelInfoProperty */.DO.Rgb];
        result._systemColor = obj[json_general_enums/* JSONSDrawingColorModelInfoProperty */.DO.System];
        result._schemeColor = obj[json_general_enums/* JSONSDrawingColorModelInfoProperty */.DO.Scheme];
        result._preset = obj[json_general_enums/* JSONSDrawingColorModelInfoProperty */.DO.Preset];
        result._hsl = JSONColorHSLConverter.convertFromJSON(obj[json_general_enums/* JSONSDrawingColorModelInfoProperty */.DO.Hsl]);
        result._scRgb = JSONScRGBColorConverter.convertFromJSON(obj[json_general_enums/* JSONSDrawingColorModelInfoProperty */.DO.ScRgb]);
        result._colorType = obj[json_general_enums/* JSONSDrawingColorModelInfoProperty */.DO.ColorType];
        return result;
    }
}
class JSONColorHSLConverter {
    static convertFromJSON(obj) {
        const hue = obj[json_general_enums/* JSONSColorHSLProperty */.z1.Hue];
        const saturation = obj[json_general_enums/* JSONSColorHSLProperty */.z1.Saturation];
        const luminance = obj[json_general_enums/* JSONSColorHSLProperty */.z1.Luminance];
        return new color_hsl/* ColorHSL */.H(hue, saturation, luminance);
    }
}
class JSONScRGBColorConverter {
    static convertFromJSON(obj) {
        const scR = obj[json_general_enums/* JSONSScRGBColorProperty */["in"].ScR];
        const scG = obj[json_general_enums/* JSONSScRGBColorProperty */["in"].ScG];
        const scB = obj[json_general_enums/* JSONSScRGBColorProperty */["in"].ScB];
        return new sc_rgbcolor/* ScRGBColor */.Q(scR, scG, scB);
    }
}

// EXTERNAL MODULE: ./src/common/model/json/importers/json-importer.ts
var json_importer = __webpack_require__(8376);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-styles-exporter.ts + 1 modules
var json_styles_exporter = __webpack_require__(6124);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level.ts
var list_level = __webpack_require__(2411);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list.ts
var numbering_list = __webpack_require__(3231);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-list-enums.ts
var json_list_enums = __webpack_require__(3006);
;// CONCATENATED MODULE: ./src/common/model/json/importers/numbering-list/json-numbering-list-importer.ts



class JSONNumberingListImporter {
    static importAbstractNumberingLists(documentModel, content) {
        for (let jsonNumbList of content)
            documentModel.abstractNumberingLists.push(JSONNumberingListImporter.getAbstractNumbertingList(documentModel, jsonNumbList));
    }
    static importNumberingLists(documentModel, content) {
        for (let jsonNumbList of content)
            documentModel.numberingLists.push(JSONNumberingListImporter.getNumberingList(documentModel, jsonNumbList));
    }
    static importAbstractNumberingListTemplates(documentModel, content) {
        if (!content)
            return;
        for (let jsonNumbList of content)
            documentModel.abstractNumberingListTemplates.push(JSONNumberingListImporter.getAbstractNumbertingList(documentModel, jsonNumbList));
    }
    static getAbstractNumbertingList(documentModel, content) {
        var abstractNumberingList = new numbering_list/* AbstractNumberingList */.pC(documentModel);
        abstractNumberingList.deleted = !!content[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Deleted];
        abstractNumberingList.innerId = content[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Id];
        abstractNumberingList.levels = JSONNumberingListImporter.getAbstractNumberingListLevels(documentModel, content[json_list_enums/* JSONAbstractNumberingListProperty */.T_.Levels]);
        return abstractNumberingList;
    }
    static getNumberingList(documentModel, content) {
        var numberingList = new numbering_list/* NumberingList */.K6(documentModel, content[json_list_enums/* JSONNumberingListProperty */.G$.AlIndex]);
        numberingList.deleted = false;
        numberingList.innerId = content[json_list_enums/* JSONNumberingListProperty */.G$.Id];
        numberingList.levels = JSONNumberingListImporter.getNumberingListLevels(documentModel, content[json_list_enums/* JSONNumberingListProperty */.G$.Levels], numberingList);
        return numberingList;
    }
    static getAbstractNumberingListLevels(documentModel, content) {
        const result = [];
        for (var i = 0, obj; obj = content[i]; i++) {
            const maskedCharacterProperties = documentModel.cache.maskedCharacterPropertiesCache.getItemByJsonKey(obj[json_list_enums/* JSONNumberingListLevelProperty */.qu.CharacterPropertiesIndex]);
            const maskedParagraphProperties = documentModel.cache.maskedParagraphPropertiesCache.getItemByJsonKey(obj[json_list_enums/* JSONNumberingListLevelProperty */.qu.ParagraphPropertiesIndex]);
            const listLevelProperties = documentModel.cache.listLevelPropertiesCache.getItemByJsonKey(obj[json_list_enums/* JSONNumberingListLevelProperty */.qu.ListLevelPropertiesIndex]);
            result.push(new list_level/* ListLevel */.KC(documentModel, maskedCharacterProperties, maskedParagraphProperties, listLevelProperties));
        }
        return result;
    }
    static getNumberingListLevels(documentModel, content, numberingList) {
        const result = [];
        for (let obj of content) {
            let listLevel;
            if (obj[json_list_enums/* JSONNumberingOverrideListLevelProperty */.Pg.Level] === undefined) {
                const maskedCharacterProperties = documentModel.cache.maskedCharacterPropertiesCache.getItemByJsonKey(obj[json_list_enums/* JSONNumberingListLevelProperty */.qu.CharacterPropertiesIndex]);
                const maskedParagraphProperties = documentModel.cache.maskedParagraphPropertiesCache.getItemByJsonKey(obj[json_list_enums/* JSONNumberingListLevelProperty */.qu.ParagraphPropertiesIndex]);
                const listLevelProperties = documentModel.cache.listLevelPropertiesCache.getItemByJsonKey(obj[json_list_enums/* JSONNumberingListLevelProperty */.qu.ListLevelPropertiesIndex]);
                listLevel = new list_level/* OverrideListLevel */.lT(documentModel, maskedCharacterProperties, maskedParagraphProperties, listLevelProperties);
            }
            else {
                listLevel = new list_level/* NumberingListReferenceLevel */.GC(numberingList, obj[json_list_enums/* JSONNumberingOverrideListLevelProperty */.Pg.Level]);
            }
            listLevel.setNewStart(obj[json_list_enums/* JSONNumberingOverrideListLevelProperty */.Pg.NewStart]);
            listLevel.overrideStart = !!obj[json_list_enums/* JSONNumberingOverrideListLevelProperty */.Pg.OverrideStart];
            result.push(listLevel);
        }
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/model/json/importers/server-model-inserter.ts













class ServerModelInserter {
    static insertDocumentModelFromServer(modelManager, response, insertToPos, insertToSubDocumentId) {
        const model = modelManager.model;
        const newDocumentModel = new document_model/* DocumentModel */.T(model.modelOptions, 0);
        newDocumentModel.cache.fontInfoCache = model.cache.fontInfoCache;
        newDocumentModel.cache.imageCache = model.cache.imageCache;
        const cachesExporter = new web_caches_exporter/* WebCachesExporter */.E(newDocumentModel.cache, response[json_field_enums/* JSONUpdateFieldCommandResult */.op.Caches], newDocumentModel);
        const imageCorrespondence = response[json_field_enums/* JSONUpdateFieldCommandResult */.op.ImageCorrespondence];
        ServerModelInserter.processNewDocumentResponse(newDocumentModel, imageCorrespondence, response[json_field_enums/* JSONUpdateFieldCommandResult */.op.DocumentModel]);
        cachesExporter.importSubDocuments(modelManager.richOptions.documentProtection, imageCorrespondence);
        const subDocument = model.subDocuments[insertToSubDocumentId];
        const result = modelManager.modelManipulator.subDocument.insertSubDocument(new sub_document/* SubDocumentPosition */.rg(subDocument, insertToPos), new sub_document/* SubDocumentInterval */.v8(newDocumentModel.mainSubDocument, new fixed.FixedInterval(0, response[json_field_enums/* JSONUpdateFieldCommandResult */.op.DocumentLength])));
        cachesExporter.dispose();
        return result.insetedInterval;
    }
    static processNewDocumentResponse(documentModel, imageCorrespondence, obj) {
        json_importer/* JSONImporter */.lt.importDocumentProperties(documentModel, obj[json_document_enums/* JSONDocumentModelProperty */.vW.DocumentProperties]);
        json_importer/* JSONImporter */.lt.importCompatibilitySettings(documentModel, obj[json_document_enums/* JSONDocumentModelProperty */.vW.CompatibilitySettings]);
        json_styles_exporter/* JSONStylesExporter */.p.importStyles(documentModel, obj[json_document_enums/* JSONDocumentModelProperty */.vW.Styles]);
        json_importer/* JSONImporter */.lt.importModelHeaderFooter(documentModel.headers, obj[json_document_enums/* JSONDocumentModelProperty */.vW.Headers], sub_document_infos/* HeaderSubDocumentInfo */.QP);
        json_importer/* JSONImporter */.lt.importModelHeaderFooter(documentModel.footers, obj[json_document_enums/* JSONDocumentModelProperty */.vW.Footers], sub_document_infos/* FooterSubDocumentInfo */.Mu);
        json_importer/* JSONImporter */.lt.importSections(documentModel, obj[json_document_enums/* JSONDocumentModelProperty */.vW.Sections]);
        JSONNumberingListImporter.importAbstractNumberingLists(documentModel, obj[json_document_enums/* JSONDocumentModelProperty */.vW.AbstractNumberingLists]);
        JSONNumberingListImporter.importNumberingLists(documentModel, obj[json_document_enums/* JSONDocumentModelProperty */.vW.NumberingLists]);
        JSONNumberingListImporter.importAbstractNumberingListTemplates(documentModel, obj[json_document_enums/* JSONDocumentModelProperty */.vW.AbstractNumberingListTemplates]);
        image_cache_info_converter/* JSONCacheImageInfoConverter */.H.importImageCache(documentModel.cache.imageCache, imageCorrespondence, obj[json_document_enums/* JSONDocumentModelProperty */.vW.Images]);
        const paletteColors = obj[json_document_enums/* JSONDocumentModelProperty */.vW.PaletteColors];
        number/* NumberMapUtils */.j.forEach(paletteColors, (color, index) => documentModel.colorProvider.palette.setColor(index, color));
        const officeThemeColors = obj[json_document_enums/* JSONDocumentModelProperty */.vW.OfficeThemeColors];
        number/* NumberMapUtils */.j.forEach(officeThemeColors, (color, index) => documentModel.colorProvider.officeTheme.colors.setDrawingColor(index, JSONDrawingColorConverter.convertFromJSON(color)));
    }
}


/***/ }),

/***/ 7226:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: function() { return /* binding */ JSONAnchorInfoConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8900);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2491);
/* harmony import */ var _floating_objects_anchor_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8868);
/* harmony import */ var _enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1);




class JSONAnchorInfoConverter {
    static convertFromJSON(obj) {
        const result = new _floating_objects_anchor_info__WEBPACK_IMPORTED_MODULE_2__/* .AnchorInfo */ .i();
        result.allowOverlap = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.AllowOverlap];
        result.hidden = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.Hidden];
        result.layoutTableCell = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.LayoutTableCell];
        result.locked = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.Locked];
        result.isBehindDoc = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.IsBehindDoc];
        result.leftDistance = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.LeftDistance];
        result.rightDistance = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.RightDistance];
        result.topDistance = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.TopDistance];
        result.bottomDistance = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.BottomDistance];
        result.zOrder = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.ZOrder];
        result.wrapType = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.WrapType];
        result.wrapSide = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.WrapSide];
        result.horizontalPositionType = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.HorizontalPositionType];
        result.horizontalPositionAlignment = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.HorizontalPositionAlignment];
        result.verticalPositionType = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.VerticalPositionType];
        result.verticalPositionAlignment = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.VerticalPositionAlignment];
        result.offset = new _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__.Point(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.OffsetX], obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.OffsetY]);
        result.percentOffset = new _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__.Point(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.PercentOffsetX], obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.PercentOffsetY]);
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.AllowOverlap] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__.boolToInt)(source.allowOverlap);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.Hidden] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__.boolToInt)(source.hidden);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.LayoutTableCell] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__.boolToInt)(source.layoutTableCell);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.Locked] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__.boolToInt)(source.locked);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.IsBehindDoc] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_1__.boolToInt)(source.isBehindDoc);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.LeftDistance] = source.leftDistance;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.RightDistance] = source.rightDistance;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.TopDistance] = source.topDistance;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.BottomDistance] = source.bottomDistance;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.ZOrder] = source.zOrder;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.WrapType] = source.wrapType;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.WrapSide] = source.wrapSide;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.HorizontalPositionType] = source.horizontalPositionType;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.HorizontalPositionAlignment] = source.horizontalPositionAlignment;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.VerticalPositionType] = source.verticalPositionType;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.VerticalPositionAlignment] = source.verticalPositionAlignment;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.OffsetX] = source.offset.x;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.OffsetY] = source.offset.y;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.PercentOffsetX] = source.percentOffset.x;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_3__/* .JSONAnchorInfoProperty */ .kn.PercentOffsetY] = source.percentOffset.y;
        return result;
    }
}


/***/ }),

/***/ 598:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ JSONNonVisualPropertiesConverter; }
/* harmony export */ });
/* harmony import */ var _manipulators_picture_manipulator_non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2839);
/* harmony import */ var _enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);


class JSONNonVisualPropertiesConverter {
    static convertFromJSON(obj) {
        const result = new _manipulators_picture_manipulator_non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_1__/* .NonVisualDrawingObjectInfo */ .L();
        if (obj) {
            result.id = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Id];
            result.name = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Name];
            result.title = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Title];
            result.description = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Description];
        }
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Id] = source.id;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Name] = source.name;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Title] = source.title;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_0__/* .JSONNonVisualDrawingObjectProperties */ .YX.Description] = source.description;
        return result;
    }
}


/***/ }),

/***/ 5250:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   X: function() { return /* binding */ JSONTextBoxPropertiesConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _floating_objects_text_box_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9513);
/* harmony import */ var _enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);



class JSONTextBoxPropertiesConverter {
    static convertFromJSON(obj) {
        const result = new _floating_objects_text_box_properties__WEBPACK_IMPORTED_MODULE_1__/* .TextBoxProperties */ .Y();
        result.resizeShapeToFitText = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.ResizeShapeToFitText];
        result.upright = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.Upright];
        result.verticalAlignment = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.VerticalAlignment];
        result.wrapText = !!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.WrapText];
        result.leftMargin = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.LeftMargin];
        result.rightMargin = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.RightMargin];
        result.topMargin = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.TopMargin];
        result.bottomMargin = obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.BottomMargin];
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.ResizeShapeToFitText] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.resizeShapeToFitText);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.Upright] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.upright);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.VerticalAlignment] = source.verticalAlignment;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.WrapText] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.wrapText);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.LeftMargin] = source.leftMargin;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.RightMargin] = source.rightMargin;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.TopMargin] = source.topMargin;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONTextBoxProperties */ .Hf.BottomMargin] = source.bottomMargin;
        return result;
    }
}


/***/ }),

/***/ 6313:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   x: function() { return /* binding */ JSONAnchorTextBoxSizeConverterConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4302);
/* harmony import */ var _enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
/* harmony import */ var _json_importer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8376);




class JSONAnchorTextBoxSizeConverterConverter {
    static convertFromJSON(obj) {
        const relativeSizeType = _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertFromJSON(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.RelativeSizeType]);
        const useAbsoluteSize = _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertFromJSON(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.UseAbsoluteSize]);
        return new _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_1__/* .AnchorTextBoxSize */ .ne(!!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.LockAspectRatio], obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.Rotation], _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertFromJSON(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.AbsoluteSize]), _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertFromJSON(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.RelativeSize]), relativeSizeType.width, relativeSizeType.height, !!useAbsoluteSize.width, !!useAbsoluteSize.height);
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.LockAspectRatio] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.lockAspectRatio);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.Rotation] = source.rotation;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.AbsoluteSize] = _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertToJSON(source.absoluteSize);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.RelativeSize] = _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertToJSON(source.relativeSize);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.RelativeSizeType] = _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertToJSONSeparately(source.relativeWidthType, source.relativeHeightType);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorTextBoxSize */ .qr.UseAbsoluteSize] = _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertToJSONSeparately((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.useAbsoluteWidth()), (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.useAbsoluteHeight()));
        return result;
    }
}


/***/ }),

/***/ 7279:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M: function() { return /* binding */ JSONInlinePictureSizeConverterConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4302);
/* harmony import */ var _enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
/* harmony import */ var _json_importer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8376);




class JSONInlinePictureSizeConverterConverter {
    static convertFromJSON(obj, cacheInfo) {
        return new _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_1__/* .PictureSize */ .ni(!!obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.LockAspectRatio], obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.Rotation], cacheInfo, _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertFromJSON(obj[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONPictureSize */ .JB.Scale]));
    }
    static convertToJSON(source) {
        const result = {};
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.LockAspectRatio] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.lockAspectRatio);
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONAnchorInlineBaseSize */ .z2.Rotation] = source.rotation;
        result[_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONPictureSize */ .JB.Scale] = _json_importer__WEBPACK_IMPORTED_MODULE_3__/* .SizeExporter */ .Oh.convertToJSON(source.scale);
        return result;
    }
}


/***/ }),

/***/ 2409:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ JSONTableCellMarginsConverter; }
/* harmony export */ });
/* harmony import */ var _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(247);
/* harmony import */ var _enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2899);
/* harmony import */ var _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2626);



class JSONTableCellMarginsConverter {
    static convertFromJSON(obj) {
        var result = new _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_0__/* .TableCellMargins */ .Vx();
        result.top = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertFromJSON(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Top]);
        result.left = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertFromJSON(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Left]);
        result.right = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertFromJSON(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Right]);
        result.bottom = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertFromJSON(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Bottom]);
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Top] = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertToJSON(source.top);
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Left] = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertToJSON(source.left);
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Right] = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertToJSON(source.right);
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableCellMarginsProperty */ .bk.Bottom] = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTableWidthUnitConverter */ .B.convertToJSON(source.bottom);
        return result;
    }
}


/***/ }),

/***/ 8513:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  U: function() { return /* binding */ JSONTableCellPropertiesConverter; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-cell-properties.ts + 1 modules
var table_cell_properties = __webpack_require__(2993);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-cell-enums.ts
var json_table_cell_enums = __webpack_require__(8356);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-shading-info-converter.ts
var json_shading_info_converter = __webpack_require__(7569);
// EXTERNAL MODULE: ./src/common/model/borders/table-cell-borders.ts
var table_cell_borders = __webpack_require__(3516);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-structures-enums.ts
var json_table_structures_enums = __webpack_require__(2899);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-border-info-converter.ts
var json_border_info_converter = __webpack_require__(3276);
;// CONCATENATED MODULE: ./src/common/model/json/importers/table/json-table-cell-borders-converter.ts



class JSONTableCellBordersConverter {
    static convertFromJSON(obj, colorModelInfoCache) {
        var result = new table_cell_borders/* TableCellBorders */.U();
        result.top = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.TopBorder], colorModelInfoCache);
        result.left = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.LeftBorder], colorModelInfoCache);
        result.right = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.RightBorder], colorModelInfoCache);
        result.bottom = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.BottomBorder], colorModelInfoCache);
        result.topLeftDiagonal = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.TopLeftDiagonalBorder], colorModelInfoCache);
        result.topRightDiagonal = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.TopRightDiagonalBorder], colorModelInfoCache);
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.TopBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.top);
        result[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.LeftBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.left);
        result[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.RightBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.right);
        result[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.BottomBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.bottom);
        result[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.TopLeftDiagonalBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.topLeftDiagonal);
        result[json_table_structures_enums/* JSONTableCellBordersProperty */.Yu.TopRightDiagonalBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.topRightDiagonal);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-cell-margins-converter.ts
var json_table_cell_margins_converter = __webpack_require__(2409);
;// CONCATENATED MODULE: ./src/common/model/json/importers/table/json-table-cell-properties-converter.ts






class JSONTableCellPropertiesConverter {
    static convertFromJSON(obj, colorModelInfoCache, shadingInfoCache) {
        const result = new table_cell_properties/* TableCellProperties */.x0();
        result.cellMargins = json_table_cell_margins_converter/* JSONTableCellMarginsConverter */.H.convertFromJSON(obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.CellMargins]);
        result.borders = JSONTableCellBordersConverter.convertFromJSON(obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.Borders], colorModelInfoCache);
        result.hideCellMark = !!obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.HideCellMark];
        result.noWrap = !!obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.NoWrap];
        result.fitText = !!obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.FitText];
        result.textDirection = obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.TextDirection];
        result.verticalAlignment = obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.VerticalAlignment];
        result.shadingInfo = shadingInfoCache.getItemByJsonKey(obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.ShadingInfoIndex]);
        result.mask = obj[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.UseValue];
        return result;
    }
    static convertToJSON(source) {
        const result = {};
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.CellMargins] = json_table_cell_margins_converter/* JSONTableCellMarginsConverter */.H.convertToJSON(source.cellMargins);
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.Borders] = JSONTableCellBordersConverter.convertToJSON(source.borders);
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.HideCellMark] = (0,common.boolToInt)(source.hideCellMark);
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.NoWrap] = (0,common.boolToInt)(source.noWrap);
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.FitText] = (0,common.boolToInt)(source.fitText);
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.TextDirection] = source.textDirection;
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.VerticalAlignment] = source.verticalAlignment;
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.ShadingInfo] = json_shading_info_converter/* JSONShadingInfoConverter */.Z.convertToJSON(source.shadingInfo);
        result[json_table_cell_enums/* JSONEnumTableCellProperty */.dh.UseValue] = source.mask;
        return result;
    }
}


/***/ }),

/***/ 6821:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   q: function() { return /* binding */ JSONTableConditionalStyleConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1167);
/* harmony import */ var _tables_styles_table_conditional_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1327);
/* harmony import */ var _enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2899);
/* harmony import */ var _json_tab_converter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(927);
/* harmony import */ var _json_table_properties_converter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5855);





class JSONTableConditionalStyleConverter {
    static convertFromJSON(obj, cache) {
        const tableProperties = _json_table_properties_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONTablePropertiesConverter */ .S.convertFromJSON(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.TableProperties], cache.colorModelInfoCache, cache.shadingInfoCache);
        const tableRowProperties = cache.tableRowPropertiesCache.getItemByJsonKey(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.TableRowPropertiesIndex]);
        const tableCellProperties = cache.tableCellPropertiesCache.getItemByJsonKey(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.TableCellPropertiesIndex]);
        const maskedParagraphProperties = cache.maskedParagraphPropertiesCache.getItemByJsonKey(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.MaskedParagraphPropertiesCacheIndex]);
        const maskedCharacterProperties = cache.maskedCharacterPropertiesCache.getItemByJsonKey(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.MaskedCharacterPropertiesCacheIndex]);
        return new _tables_styles_table_conditional_style__WEBPACK_IMPORTED_MODULE_4__/* .TableConditionalStyle */ .g(tableProperties, tableRowProperties, tableCellProperties, maskedParagraphProperties, maskedCharacterProperties, _json_tab_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabConverter */ ._.convertFromJSONToTabProperties(obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.Tabs]));
    }
    static convertStylesFromJSON(jsonCondStyles, cache) {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_0__/* .NumberMapUtils */ .j.map(jsonCondStyles, (obj) => JSONTableConditionalStyleConverter.convertFromJSON(obj, cache));
    }
    static convertToJSON(documentModel, tableConditionalStyle) {
        const maskedParagraphPropertiesCache = documentModel.cache.maskedParagraphPropertiesCache;
        const maskedCharacterPropertiesCache = documentModel.cache.maskedCharacterPropertiesCache;
        const tableRowPropertiesCache = documentModel.cache.tableRowPropertiesCache;
        const tableCellPropertiesCache = documentModel.cache.tableCellPropertiesCache;
        let jsonTableConditionalStyle = {};
        jsonTableConditionalStyle[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.TableProperties] =
            _json_table_properties_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONTablePropertiesConverter */ .S.convertToJSON(tableConditionalStyle.tableProperties);
        jsonTableConditionalStyle[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.TableRowPropertiesIndex] =
            tableRowPropertiesCache.indexOf(tableConditionalStyle.tableRowProperties);
        jsonTableConditionalStyle[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.TableCellPropertiesIndex] =
            tableCellPropertiesCache.indexOf(tableConditionalStyle.tableCellProperties);
        jsonTableConditionalStyle[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.MaskedParagraphPropertiesCacheIndex] =
            maskedParagraphPropertiesCache.indexOf(tableConditionalStyle.maskedParagraphProperties);
        jsonTableConditionalStyle[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.MaskedCharacterPropertiesCacheIndex] =
            maskedCharacterPropertiesCache.indexOf(tableConditionalStyle.maskedCharacterProperties);
        jsonTableConditionalStyle[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableConditionalStyleProperty */ .UI.Tabs] =
            _json_tab_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONTabConverter */ ._.convertFromTabPropertiesToJSON(tableConditionalStyle.tabs);
        return jsonTableConditionalStyle;
    }
    static convertStylesToJSON(documentModel, tableConditionalStyles) {
        return _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_0__/* .NumberMapUtils */ .j.map(tableConditionalStyles, style => JSONTableConditionalStyleConverter.convertToJSON(documentModel, style));
    }
}


/***/ }),

/***/ 5855:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  S: function() { return /* binding */ JSONTablePropertiesConverter; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-properties.ts + 1 modules
var table_properties = __webpack_require__(6537);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-enums.ts
var json_table_enums = __webpack_require__(3128);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-shading-info-converter.ts
var json_shading_info_converter = __webpack_require__(7569);
// EXTERNAL MODULE: ./src/common/model/borders/table-borders.ts
var table_borders = __webpack_require__(4437);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-structures-enums.ts
var json_table_structures_enums = __webpack_require__(2899);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-border-info-converter.ts
var json_border_info_converter = __webpack_require__(3276);
;// CONCATENATED MODULE: ./src/common/model/json/importers/table/json-table-borders-converter.ts



class JSONTableBordersConverter {
    static convertFromJSON(obj, colorModelInfoCache) {
        var result = new table_borders/* TableBorders */.E();
        result.top = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableBordersProperty */.QY.TopBorder], colorModelInfoCache);
        result.left = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableBordersProperty */.QY.LeftBorder], colorModelInfoCache);
        result.right = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableBordersProperty */.QY.RightBorder], colorModelInfoCache);
        result.bottom = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableBordersProperty */.QY.BottomBorder], colorModelInfoCache);
        result.insideHorizontal = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableBordersProperty */.QY.InsideHorizontalBorder], colorModelInfoCache);
        result.insideVertical = json_border_info_converter/* JSONBorderInfoConverter */.p.convertFromJSON(obj[json_table_structures_enums/* JSONTableBordersProperty */.QY.InsideVerticalBorder], colorModelInfoCache);
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[json_table_structures_enums/* JSONTableBordersProperty */.QY.TopBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.top);
        result[json_table_structures_enums/* JSONTableBordersProperty */.QY.LeftBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.left);
        result[json_table_structures_enums/* JSONTableBordersProperty */.QY.RightBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.right);
        result[json_table_structures_enums/* JSONTableBordersProperty */.QY.BottomBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.bottom);
        result[json_table_structures_enums/* JSONTableBordersProperty */.QY.InsideHorizontalBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.insideHorizontal);
        result[json_table_structures_enums/* JSONTableBordersProperty */.QY.InsideVerticalBorder] = json_border_info_converter/* JSONBorderInfoConverter */.p.convertToJSON(source.insideVertical);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-cell-margins-converter.ts
var json_table_cell_margins_converter = __webpack_require__(2409);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-unit-converter.ts
var json_table_unit_converter = __webpack_require__(2626);
;// CONCATENATED MODULE: ./src/common/model/json/importers/table/json-table-properties-converter.ts







class JSONTablePropertiesConverter {
    static convertFromJSON(obj, colorModelInfoCache, shadingInfoCache) {
        var result = new table_properties/* TableProperties */.XK();
        result.cellMargins = json_table_cell_margins_converter/* JSONTableCellMarginsConverter */.H.convertFromJSON(obj[json_table_enums/* JSONEnumTableProperty */.lE.CellMargins]);
        result.cellSpacing = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertFromJSON(obj[json_table_enums/* JSONEnumTableProperty */.lE.CellSpacing]);
        result.indent = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertFromJSON(obj[json_table_enums/* JSONEnumTableProperty */.lE.Indent]);
        result.borders = JSONTableBordersConverter.convertFromJSON(obj[json_table_enums/* JSONEnumTableProperty */.lE.Borders], colorModelInfoCache);
        result.tableStyleColumnBandSize = obj[json_table_enums/* JSONEnumTableProperty */.lE.TableStyleColBandSize];
        result.tableStyleRowBandSize = obj[json_table_enums/* JSONEnumTableProperty */.lE.TableStyleRowBandSize];
        result.isTableOverlap = !!obj[json_table_enums/* JSONEnumTableProperty */.lE.IsTableOverlap];
        result.avoidDoubleBorders = !!obj[json_table_enums/* JSONEnumTableProperty */.lE.AvoidDoubleBorders];
        result.layoutType = obj[json_table_enums/* JSONEnumTableProperty */.lE.LayoutType];
        result.shadingInfo = shadingInfoCache.getItemByJsonKey(obj[json_table_enums/* JSONEnumTableProperty */.lE.ShadingInfoIndex]);
        result.tableRowAlignment = obj[json_table_enums/* JSONEnumTableProperty */.lE.TableRowAlignment];
        result.bottomFromText = obj[json_table_enums/* JSONEnumTableProperty */.lE.BottomFromText];
        result.leftFromText = obj[json_table_enums/* JSONEnumTableProperty */.lE.LeftFromText];
        result.topFromText = obj[json_table_enums/* JSONEnumTableProperty */.lE.TopFromText];
        result.rightFromText = obj[json_table_enums/* JSONEnumTableProperty */.lE.RightFromText];
        result.tableHorizontalPosition = obj[json_table_enums/* JSONEnumTableProperty */.lE.TableHorizontalPosition];
        result.tableVerticalPosition = obj[json_table_enums/* JSONEnumTableProperty */.lE.TableVerticalPosition];
        result.horizontalAlignMode = obj[json_table_enums/* JSONEnumTableProperty */.lE.HorizontalAlignMode];
        result.verticalAlignMode = obj[json_table_enums/* JSONEnumTableProperty */.lE.VerticalAlignMode];
        result.horizontalAnchorType = obj[json_table_enums/* JSONEnumTableProperty */.lE.HorizontalAnchorType];
        result.verticalAnchorType = obj[json_table_enums/* JSONEnumTableProperty */.lE.VerticalAnchorType];
        result.textWrapping = obj[json_table_enums/* JSONEnumTableProperty */.lE.TextWrapping];
        result.mask = obj[json_table_enums/* JSONEnumTableProperty */.lE.UseValue];
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[json_table_enums/* JSONEnumTableProperty */.lE.CellMargins] = json_table_cell_margins_converter/* JSONTableCellMarginsConverter */.H.convertToJSON(source.cellMargins);
        result[json_table_enums/* JSONEnumTableProperty */.lE.CellSpacing] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(source.cellSpacing);
        result[json_table_enums/* JSONEnumTableProperty */.lE.Indent] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(source.indent);
        result[json_table_enums/* JSONEnumTableProperty */.lE.Borders] = JSONTableBordersConverter.convertToJSON(source.borders);
        result[json_table_enums/* JSONEnumTableProperty */.lE.TableStyleColBandSize] = source.tableStyleColumnBandSize;
        result[json_table_enums/* JSONEnumTableProperty */.lE.TableStyleRowBandSize] = source.tableStyleRowBandSize;
        result[json_table_enums/* JSONEnumTableProperty */.lE.IsTableOverlap] = (0,common.boolToInt)(source.isTableOverlap);
        result[json_table_enums/* JSONEnumTableProperty */.lE.AvoidDoubleBorders] = (0,common.boolToInt)(source.avoidDoubleBorders);
        result[json_table_enums/* JSONEnumTableProperty */.lE.LayoutType] = source.layoutType;
        result[json_table_enums/* JSONEnumTableProperty */.lE.ShadingInfo] = json_shading_info_converter/* JSONShadingInfoConverter */.Z.convertToJSON(source.shadingInfo);
        result[json_table_enums/* JSONEnumTableProperty */.lE.TableRowAlignment] = source.tableRowAlignment;
        result[json_table_enums/* JSONEnumTableProperty */.lE.BottomFromText] = source.bottomFromText;
        result[json_table_enums/* JSONEnumTableProperty */.lE.LeftFromText] = source.leftFromText;
        result[json_table_enums/* JSONEnumTableProperty */.lE.TopFromText] = source.topFromText;
        result[json_table_enums/* JSONEnumTableProperty */.lE.RightFromText] = source.rightFromText;
        result[json_table_enums/* JSONEnumTableProperty */.lE.TableHorizontalPosition] = source.tableHorizontalPosition;
        result[json_table_enums/* JSONEnumTableProperty */.lE.TableVerticalPosition] = source.tableVerticalPosition;
        result[json_table_enums/* JSONEnumTableProperty */.lE.HorizontalAlignMode] = source.horizontalAlignMode;
        result[json_table_enums/* JSONEnumTableProperty */.lE.VerticalAlignMode] = source.verticalAlignMode;
        result[json_table_enums/* JSONEnumTableProperty */.lE.HorizontalAnchorType] = source.horizontalAnchorType;
        result[json_table_enums/* JSONEnumTableProperty */.lE.VerticalAnchorType] = source.verticalAnchorType;
        result[json_table_enums/* JSONEnumTableProperty */.lE.TextWrapping] = source.textWrapping;
        result[json_table_enums/* JSONEnumTableProperty */.lE.UseValue] = source.mask;
        return result;
    }
}


/***/ }),

/***/ 2359:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Q: function() { return /* binding */ JSONTableRowPropertiesConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8222);
/* harmony import */ var _enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(400);
/* harmony import */ var _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2626);




class JSONTableRowPropertiesConverter {
    static convertFromJSON(obj) {
        var result = new _tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_1__/* .TableRowProperties */ .A();
        result.cellSpacing = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONTableWidthUnitConverter */ .B.convertFromJSON(obj[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.CellSpacing]);
        result.header = !!obj[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.Header];
        result.hideCellMark = !!obj[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.HideCellMark];
        result.cantSplit = !!obj[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.CantSplit];
        result.tableRowAlignment = obj[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.TableRowAlignment];
        result.mask = obj[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.UseValue];
        result.divId = obj[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.DivId];
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.CellSpacing] = _json_table_unit_converter__WEBPACK_IMPORTED_MODULE_3__/* .JSONTableWidthUnitConverter */ .B.convertToJSON(source.cellSpacing);
        result[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.Header] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.header);
        result[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.HideCellMark] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.hideCellMark);
        result[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.CantSplit] = (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(source.cantSplit);
        result[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.TableRowAlignment] = source.tableRowAlignment;
        result[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.UseValue] = source.mask;
        result[_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONEnumTableRowProperty */ .Ri.DivId] = source.divId;
        return result;
    }
}


/***/ }),

/***/ 2626:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   B: function() { return /* binding */ JSONTableWidthUnitConverter; },
/* harmony export */   d: function() { return /* binding */ JSONTableHeightUnitConverter; }
/* harmony export */ });
/* harmony import */ var _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4857);
/* harmony import */ var _enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2899);


class JSONTableHeightUnitConverter {
    static convertFromJSON(obj) {
        var result = new _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_0__/* .TableHeightUnit */ .aN();
        result.type = obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableHeightUnitProperty */ .Tv.Type];
        result.value = obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableHeightUnitProperty */ .Tv.Value];
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableHeightUnitProperty */ .Tv.Type] = source.type;
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableHeightUnitProperty */ .Tv.Value] = source.value;
        return result;
    }
}
class JSONTableWidthUnitConverter {
    static convertFromJSON(obj) {
        var result = new _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_0__/* .TableWidthUnit */ .CT();
        result.type = obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableWidthUnitProperty */ .Kg.Type];
        result.value = obj[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableWidthUnitProperty */ .Kg.Value];
        return result;
    }
    static convertToJSON(source) {
        var result = {};
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableWidthUnitProperty */ .Kg.Type] = source.type;
        result[_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_1__/* .JSONTableWidthUnitProperty */ .Kg.Value] = source.value;
        return result;
    }
}


/***/ }),

/***/ 2259:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  E: function() { return /* binding */ WebCachesExporter; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/model/enums.ts
var enums = __webpack_require__(4907);
// EXTERNAL MODULE: ./src/common/model/sub-document-infos.ts
var sub_document_infos = __webpack_require__(1986);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-sub-document-enums.ts
var json_sub_document_enums = __webpack_require__(2202);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-top-level-enums.ts
var json_top_level_enums = __webpack_require__(6338);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-field-enums.ts
var json_field_enums = __webpack_require__(5060);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-paragraph-enums.ts
var json_paragraph_enums = __webpack_require__(7936);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-run-enums.ts
var json_run_enums = __webpack_require__(2473);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-tab-converter.ts
var json_tab_converter = __webpack_require__(927);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-cell-enums.ts
var json_table_cell_enums = __webpack_require__(8356);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-enums.ts
var json_table_enums = __webpack_require__(3128);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-row-enums.ts
var json_table_row_enums = __webpack_require__(400);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-properties-converter.ts + 1 modules
var json_table_properties_converter = __webpack_require__(5855);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-unit-converter.ts
var json_table_unit_converter = __webpack_require__(2626);
;// CONCATENATED MODULE: ./src/common/model/json/exporters/json-table-exporter.ts





class JSONTableExporter {
    static exportTables(subDocument, jsonTables) {
        const tableStyles = subDocument.documentModel.tableStyles;
        for (let table of subDocument.tables) {
            let jsonTable = {};
            jsonTable[json_table_enums/* JSONEnumTable */.Hp.StyleIndex] = tableStyles.indexOf(table.style);
            jsonTable[json_table_enums/* JSONEnumTable */.Hp.NestedLevel] = table.nestedLevel;
            let jsonTableProperties = json_table_properties_converter/* JSONTablePropertiesConverter */.S.convertToJSON(table.properties);
            jsonTable[json_table_enums/* JSONEnumTable */.Hp.TableProperties] = jsonTableProperties;
            jsonTable[json_table_enums/* JSONEnumTable */.Hp.Index] = table.index;
            let jsonTableWidthUnitProperty = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(table.preferredWidth);
            jsonTable[json_table_enums/* JSONEnumTable */.Hp.PreferredWidth] = jsonTableWidthUnitProperty;
            jsonTable[json_table_enums/* JSONEnumTable */.Hp.LookTypes] = table.lookTypes;
            if (table.parentCell) {
                let parentCell = {};
                parentCell[json_table_enums/* JSONEnumTableParentCellInfo */.Mv.CellIndex] = table.parentCell.parentRow.cells.indexOf(table.parentCell);
                parentCell[json_table_enums/* JSONEnumTableParentCellInfo */.Mv.RowIndex] = table.rows.indexOf(table.parentCell.parentRow);
                parentCell[json_table_enums/* JSONEnumTableParentCellInfo */.Mv.TableIndex] = table.parentCell.parentRow.parentTable.index;
                jsonTable[json_table_enums/* JSONEnumTable */.Hp.ParentCell] = parentCell;
            }
            JSONTableExporter.exportTableRows(subDocument, table.rows, jsonTable[json_table_enums/* JSONEnumTable */.Hp.Rows] = []);
            jsonTables.push(jsonTable);
        }
    }
    static exportTableRows(subDocument, tableRows, jsonRows) {
        const tableRowPropertiesCache = subDocument.documentModel.cache.tableRowPropertiesCache;
        for (let row of tableRows) {
            let jsonRow = {};
            jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.GridBefore] = row.gridBefore;
            jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.GridAfter] = row.gridAfter;
            jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.WidthAfter] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(row.widthAfter);
            jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.WidthBefore] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(row.widthBefore);
            let tableRowPropertiesIndex = tableRowPropertiesCache.indexOf(row.properties);
            jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.TableRowPropertiesIndex] = tableRowPropertiesIndex;
            jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.TablePropertiesException] =
                json_table_properties_converter/* JSONTablePropertiesConverter */.S.convertToJSON(row.tablePropertiesException);
            jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.Height] = json_table_unit_converter/* JSONTableHeightUnitConverter */.d.convertToJSON(row.height);
            JSONTableExporter.exportCells(subDocument, row.cells, jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.Cells] = []);
            jsonRows.push(jsonRow);
        }
    }
    static exportCells(subDocument, cells, jsonCells) {
        const cellStyles = subDocument.documentModel.tableCellStyles;
        const tableCellPropertiesCache = subDocument.documentModel.cache.tableCellPropertiesCache;
        for (let cell of cells) {
            let jsonCell = {};
            jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.StyleIndex] = cellStyles.indexOf(cell.style);
            let tableCellPropertiesIndex = tableCellPropertiesCache.indexOf(cell.properties);
            jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.TableCellPropertiesIndex] = tableCellPropertiesIndex;
            jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.ColumnSpan] = cell.columnSpan;
            jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.PreferredWidth] = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertToJSON(cell.preferredWidth);
            jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.VerticalMerging] = cell.verticalMerging;
            jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.StartParagraphPosition] = cell.startParagraphPosition.value;
            jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.EndParagraphPosition] = cell.endParagrapPosition.value;
            jsonCells.push(jsonCell);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/model/json/exporters/json-sub-document-exporter.ts







class JSONSubDocumentExporter {
    static exportSubDocument(subDocument, content) {
        JSONTableExporter.exportTables(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Tables] = []);
        JSONSubDocumentExporter.exportFields(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Fields] = []);
        JSONSubDocumentExporter.exportBookmarks(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Bookmarks] = []);
        JSONSubDocumentExporter.exportParagraphs(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Paragraphs] = []);
        JSONSubDocumentExporter.exportChunks(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Chunks] = []);
        JSONSubDocumentExporter.exportRangePermissions(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.RangePermissions] = []);
    }
    static exportFields(subDocument, jsonFields) {
        for (let field of subDocument.fields) {
            let jsonField = {};
            jsonField[json_field_enums/* JSONFieldProperty */.Jt.StartPos] = field.getAllFieldInterval().start;
            jsonField[json_field_enums/* JSONFieldProperty */.Jt.SeparatorPos] = field.getSeparatorPosition();
            jsonField[json_field_enums/* JSONFieldProperty */.Jt.EndPos] = field.getAllFieldInterval().end;
            if (field.getHyperlinkInfo()) {
                jsonField[json_field_enums/* JSONFieldProperty */.Jt.Uri] = field.getHyperlinkInfo().uri;
                jsonField[json_field_enums/* JSONFieldProperty */.Jt.Anchor] = field.getHyperlinkInfo().anchor;
                jsonField[json_field_enums/* JSONFieldProperty */.Jt.Tip] = field.getHyperlinkInfo().tip;
                jsonField[json_field_enums/* JSONFieldProperty */.Jt.Visited] = (0,common.boolToInt)(field.getHyperlinkInfo().visited);
            }
            else
                jsonField[json_field_enums/* JSONFieldProperty */.Jt.NoInfo] = 1;
            jsonFields.push(jsonField);
        }
    }
    static exportBookmarks(subDocument, jsonBookmarks) {
        for (let bookmark of subDocument.bookmarks) {
            let jsonBookmark = {};
            jsonBookmark[json_sub_document_enums/* JSONBookmarkProperty */.ts.StartPos] = bookmark.start;
            jsonBookmark[json_sub_document_enums/* JSONBookmarkProperty */.ts.Length] = bookmark.interval.length;
            jsonBookmark[json_sub_document_enums/* JSONBookmarkProperty */.ts.Name] = bookmark.name;
            jsonBookmarks.push(jsonBookmark);
        }
    }
    static exportParagraphs(subDocument, jsonParagraphs) {
        const paragraphs = subDocument.paragraphs;
        const parStyles = subDocument.documentModel.paragraphStyles;
        const maskedParagraphPropertiesCache = subDocument.documentModel.cache.maskedParagraphPropertiesCache;
        for (let modelParagraph of paragraphs) {
            const jsonParagraph = {};
            let maskedParagraphPropertiesIndex = maskedParagraphPropertiesCache.indexOf(modelParagraph.maskedParagraphProperties);
            jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.MaskedParagraphPropertiesIndex] = maskedParagraphPropertiesIndex;
            jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.ParagraphStyleIndex] = parStyles.indexOf(modelParagraph.paragraphStyle);
            jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.LogPosition] = modelParagraph.startLogPosition.value;
            jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.Length] = modelParagraph.length;
            jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.Tabs] = json_tab_converter/* JSONTabConverter */._.convertFromTabPropertiesToJSON(modelParagraph.tabs);
            jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.ListIndex] = modelParagraph.numberingListIndex;
            jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.ListLevelIndex] = modelParagraph.listLevelIndex;
            jsonParagraphs.push(jsonParagraph);
        }
    }
    static exportChunks(subDocument, jsonChunks) {
        const chunks = subDocument.chunks;
        const characterStyles = subDocument.documentModel.characterStyles;
        const maskedCharacterPropertiesCache = subDocument.documentModel.cache.maskedCharacterPropertiesCache;
        for (let chunk of chunks) {
            const jsonChunk = {};
            jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.StartPos] = chunk.startLogPosition.value;
            jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.TextBuffer] = chunk.textBuffer;
            jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.IsLast] = (0,common.boolToInt)(chunk.isLast);
            const jsonRuns = [];
            for (let run of chunk.textRuns) {
                let jsonRun = {};
                let maskedCharacterPropertiesIndex = maskedCharacterPropertiesCache.indexOf(run.maskedCharacterProperties);
                jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.MaskedCharacterPropertiesCacheIndex] = maskedCharacterPropertiesIndex;
                jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.Type] = run.getType();
                jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.Offset] = run.startOffset;
                jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.Length] = run.getLength();
                jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.CharacterStyleIndex] = characterStyles.indexOf(run.characterStyle);
                jsonRuns.push(jsonRun);
            }
            jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.Runs] = jsonRuns;
            jsonChunks.push(jsonChunk);
        }
    }
    static exportRangePermissions(subDocument, jsonRangePermissions) {
        for (let rangePermission of subDocument.availableRangePermissions) {
            let jsonRangePermission = {};
            jsonRangePermission[json_sub_document_enums/* JSONRangePermissionProperty */.xw.Start] = rangePermission.start;
            jsonRangePermission[json_sub_document_enums/* JSONRangePermissionProperty */.xw.Length] = rangePermission.interval.length;
            jsonRangePermission[json_sub_document_enums/* JSONRangePermissionProperty */.xw.UserName] = rangePermission.userName;
            jsonRangePermission[json_sub_document_enums/* JSONRangePermissionProperty */.xw.Group] = rangePermission.group;
            jsonRangePermissions.push(jsonRangePermission);
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/json/importers/json-color-model-info-converter.ts
var json_color_model_info_converter = __webpack_require__(4833);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-font-info-converter.ts
var json_font_info_converter = __webpack_require__(7587);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-character-properties-converter.ts
var json_masked_character_properties_converter = __webpack_require__(7768);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-masked-paragraph-properties-converter.ts
var json_masked_paragraph_properties_converter = __webpack_require__(8977);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-shading-info-converter.ts
var json_shading_info_converter = __webpack_require__(7569);
// EXTERNAL MODULE: ./src/common/model/json/importers/numbering-list/json-list-level-properties-converter.ts
var json_list_level_properties_converter = __webpack_require__(5381);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/bookmarks.ts
var bookmarks = __webpack_require__(1823);
// EXTERNAL MODULE: ./src/common/model/chunk.ts
var model_chunk = __webpack_require__(5552);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph_paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/range-permissions.ts
var range_permissions = __webpack_require__(3245);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/runs/simple-runs.ts
var simple_runs = __webpack_require__(4330);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-cell.ts
var table_cell = __webpack_require__(8565);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-row.ts
var table_row = __webpack_require__(7509);
// EXTERNAL MODULE: ./src/common/model/tables/table-utils.ts
var table_utils = __webpack_require__(935);
;// CONCATENATED MODULE: ./src/common/model/json/importers/table/json-table-importer.ts









class JSONTableImporter {
    static importTables(subDocument, jsonTables) {
        if (!jsonTables)
            return;
        const tablesMap = {};
        const subDocumentTables = subDocument.tables;
        for (let jsonTable of jsonTables) {
            const newTable = new table/* Table */.iA(json_table_properties_converter/* JSONTablePropertiesConverter */.S.convertFromJSON(jsonTable[json_table_enums/* JSONEnumTable */.Hp.TableProperties], subDocument.documentModel.cache.colorModelInfoCache, subDocument.documentModel.cache.shadingInfoCache), subDocument.documentModel.tableStyles[jsonTable[json_table_enums/* JSONEnumTable */.Hp.StyleIndex]]);
            subDocumentTables.push(newTable);
            newTable.index = jsonTable[json_table_enums/* JSONEnumTable */.Hp.Index];
            tablesMap[newTable.index] = newTable;
            newTable.nestedLevel = jsonTable[json_table_enums/* JSONEnumTable */.Hp.NestedLevel];
            newTable.preferredWidth = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertFromJSON(jsonTable[json_table_enums/* JSONEnumTable */.Hp.PreferredWidth]);
            newTable.lookTypes = jsonTable[json_table_enums/* JSONEnumTable */.Hp.LookTypes];
            const parentCellContent = jsonTable[json_table_enums/* JSONEnumTable */.Hp.ParentCell];
            newTable.parentCell = parentCellContent ? JSONTableImporter.getParentCell(parentCellContent, tablesMap) : null;
            for (let jsonRow of jsonTable[json_table_enums/* JSONEnumTable */.Hp.Rows])
                newTable.rows.push(JSONTableImporter.importTableRow(jsonRow, subDocument, newTable));
            table_utils/* TableConditionalFormattingCalculator */.K.updateTableWithoutHistory(subDocument.documentModel, newTable);
        }
        table/* Table */.iA.sort(subDocumentTables);
        table/* Table */.iA.fillTableByLevels(subDocument);
    }
    static importTableRow(jsonRow, subDocument, parentTable) {
        const rowProps = subDocument.documentModel.cache.tableRowPropertiesCache.getItemByJsonKey(jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.TableRowPropertiesIndex]);
        const newTableRow = new table_row/* TableRow */.S(parentTable, rowProps);
        newTableRow.gridBefore = jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.GridBefore];
        newTableRow.gridAfter = jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.GridAfter];
        newTableRow.widthBefore = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertFromJSON(jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.WidthBefore]);
        newTableRow.widthAfter = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertFromJSON(jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.WidthAfter]);
        newTableRow.height = json_table_unit_converter/* JSONTableHeightUnitConverter */.d.convertFromJSON(jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.Height]);
        newTableRow.tablePropertiesException = json_table_properties_converter/* JSONTablePropertiesConverter */.S.convertFromJSON(jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.TablePropertiesException], subDocument.documentModel.cache.colorModelInfoCache, subDocument.documentModel.cache.shadingInfoCache);
        for (let rawCell of jsonRow[json_table_row_enums/* JSONEnumTableRow */.gs.Cells])
            newTableRow.cells.push(JSONTableImporter.importTableCell(rawCell, subDocument, newTableRow));
        return newTableRow;
    }
    static importTableCell(jsonCell, subDocument, parentRow) {
        const cellProps = subDocument.documentModel.cache.tableCellPropertiesCache.getItemByJsonKey(jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.TableCellPropertiesIndex]);
        const newTableCell = new table_cell/* TableCell */.p(parentRow, cellProps);
        newTableCell.style = null;
        newTableCell.columnSpan = jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.ColumnSpan];
        newTableCell.preferredWidth = json_table_unit_converter/* JSONTableWidthUnitConverter */.B.convertFromJSON(jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.PreferredWidth]);
        newTableCell.verticalMerging = jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.VerticalMerging];
        newTableCell.startParagraphPosition = subDocument.positionManager.registerPosition(jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.StartParagraphPosition]);
        newTableCell.endParagrapPosition = subDocument.positionManager.registerPosition(jsonCell[json_table_cell_enums/* JSONEnumTableCell */.oW.EndParagraphPosition]);
        return newTableCell;
    }
    static getParentCell(content, tablesMap) {
        const tableIndex = content[json_table_enums/* JSONEnumTableParentCellInfo */.Mv.TableIndex];
        const table = tablesMap[tableIndex];
        return table.rows[content[json_table_enums/* JSONEnumTableParentCellInfo */.Mv.RowIndex]].cells[content[json_table_enums/* JSONEnumTableParentCellInfo */.Mv.CellIndex]];
    }
}

// EXTERNAL MODULE: ./src/common/rich-utils/properties-bundle.ts
var properties_bundle = __webpack_require__(2986);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.ts
var insert_picture_manipulator_params = __webpack_require__(4990);
// EXTERNAL MODULE: ./src/common/model/runs/anchored-picture-run.ts
var anchored_picture_run = __webpack_require__(6781);
// EXTERNAL MODULE: ./src/common/model/runs/anchored-text-box-run.ts
var anchored_text_box_run = __webpack_require__(2534);
// EXTERNAL MODULE: ./src/common/model/runs/inline-picture-run.ts
var inline_picture_run = __webpack_require__(2442);
// EXTERNAL MODULE: ./src/common/model/runs/inline-text-box-run.ts
var inline_text_box_run = __webpack_require__(1585);
// EXTERNAL MODULE: ./src/common/model/runs/text-run.ts
var text_run = __webpack_require__(3264);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-shape-converter.ts
var json_shape_converter = __webpack_require__(9377);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/json-anchor-info-converter.ts
var json_anchor_info_converter = __webpack_require__(7226);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/json-text-box-properties-converter.ts
var json_text_box_properties_converter = __webpack_require__(5250);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/sizes/json-anchor-text-box-size-converter.ts
var json_anchor_text_box_size_converter = __webpack_require__(6313);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/sizes/json-inline-picture-size-converter.ts
var json_inline_picture_size_converter = __webpack_require__(7279);
// EXTERNAL MODULE: ./src/common/model/floating-objects/sizes.ts
var sizes = __webpack_require__(4302);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-floating-enums.ts
var json_floating_enums = __webpack_require__(1);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-importer.ts
var json_importer = __webpack_require__(8376);
;// CONCATENATED MODULE: ./src/common/model/json/importers/sub-document/sizes/json-inline-text-box-size-converter.ts




class JSONInlineTextBoxSizeConverterConverter {
    static convertFromJSON(obj) {
        return new sizes/* InlineTextBoxSize */.QW(!!obj[json_floating_enums/* JSONAnchorInlineBaseSize */.z2.LockAspectRatio], obj[json_floating_enums/* JSONAnchorInlineBaseSize */.z2.Rotation], json_importer/* SizeExporter */.Oh.convertFromJSON(obj[json_floating_enums/* JSONInlineTextBoxSize */.k2.AbsoluteSize]));
    }
    static convertToJSON(source) {
        const result = {};
        result[json_floating_enums/* JSONAnchorInlineBaseSize */.z2.LockAspectRatio] = (0,common.boolToInt)(source.lockAspectRatio);
        result[json_floating_enums/* JSONAnchorInlineBaseSize */.z2.Rotation] = source.rotation;
        result[json_floating_enums/* JSONInlineTextBoxSize */.k2.AbsoluteSize] = json_importer/* SizeExporter */.Oh.convertToJSON(source.absoluteSize);
        return result;
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/non-visual-drawing-object-info.ts
var non_visual_drawing_object_info = __webpack_require__(2839);
// EXTERNAL MODULE: ./src/common/model/json/importers/sub-document/json-non-visual-properties.ts
var json_non_visual_properties = __webpack_require__(598);
;// CONCATENATED MODULE: ./src/common/model/json/importers/sub-document/run-importers.ts
















class BaseRunImporter {
    getRun(paragraph, startOffset, jsonRun) {
        return this.makeRun(jsonRun, startOffset, paragraph, new properties_bundle/* MaskedCharacterPropertiesBundle */.Ne(this.maskedCharacterPropertiesCache.getItemByJsonKey(jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.MaskedCharacterPropertiesCacheIndex]), this.charStyles[jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.CharacterStyleIndex]]));
    }
    init(maskedCharacterPropertiesCache, charStyles, imageCache, imageCorrespondence) {
        this.imageCorrespondence = imageCorrespondence;
        this.charStyles = charStyles;
        this.maskedCharacterPropertiesCache = maskedCharacterPropertiesCache;
        this.imageCache = imageCache;
    }
}
class SimpleRunImporter extends BaseRunImporter {
    constructor(runConstructor) {
        super();
        this.runConstructor = runConstructor;
    }
    makeRun(_jsonRun, startOffset, paragraph, charPropsBundle) {
        return new this.runConstructor(startOffset, paragraph, charPropsBundle);
    }
}
class NoteRunImporter extends BaseRunImporter {
    constructor(runConstructor) {
        super();
        this.runConstructor = runConstructor;
    }
    makeRun(_jsonRun, startOffset, paragraph, charPropsBundle) {
        return new this.runConstructor(startOffset, paragraph, charPropsBundle, -1);
    }
}
class TextRunImporter extends BaseRunImporter {
    makeRun(jsonRun, startOffset, paragraph, charPropsBundle) {
        return new text_run/* TextRun */.h(startOffset, jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.Length], paragraph, charPropsBundle);
    }
}
class AnchoredPictureRunImporter extends BaseRunImporter {
    makeRun(jsonRun, startOffset, paragraph, charPropsBundle) {
        const initId = jsonRun[json_run_enums/* JSONAnchoredPictureRunProperty */.Nr.PictureId];
        const realId = this.imageCorrespondence ? this.imageCorrespondence[initId] : initId;
        const cacheInfo = this.imageCache.getPictureData(realId);
        const run = new anchored_picture_run/* AnchoredPictureRun */.N(startOffset, paragraph, charPropsBundle, new insert_picture_manipulator_params/* AnchorPictureInfo */.wt(json_inline_picture_size_converter/* JSONInlinePictureSizeConverterConverter */.M.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredPictureRunProperty */.Nr.Size], cacheInfo), json_shape_converter/* JSONShapeConverter */.W.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredPictureRunProperty */.Nr.Shape]), json_anchor_info_converter/* JSONAnchorInfoConverter */.X.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredPictureRunProperty */.Nr.AnchorInfo]), json_non_visual_properties/* JSONNonVisualPropertiesConverter */.Q.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredPictureRunProperty */.Nr.DrawingObjectProperties]), new non_visual_drawing_object_info/* NonVisualDrawingObjectInfo */.L()), -1);
        return run;
    }
}
class AnchoredTextBoxRunImporter extends BaseRunImporter {
    makeRun(jsonRun, startOffset, paragraph, charPropsBundle) {
        return new anchored_text_box_run/* AnchoredTextBoxRun */.s(startOffset, paragraph, charPropsBundle, json_shape_converter/* JSONShapeConverter */.W.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredTextBoxRunProperty */.jO.Shape]), jsonRun[json_run_enums/* JSONAnchoredTextBoxRunProperty */.jO.SubDocId], json_anchor_text_box_size_converter/* JSONAnchorTextBoxSizeConverterConverter */.x.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredTextBoxRunProperty */.jO.Size]), json_anchor_info_converter/* JSONAnchorInfoConverter */.X.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredTextBoxRunProperty */.jO.AnchorInfo]), -1, json_text_box_properties_converter/* JSONTextBoxPropertiesConverter */.X.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredTextBoxRunProperty */.jO.TextBoxProperties]), json_non_visual_properties/* JSONNonVisualPropertiesConverter */.Q.convertFromJSON(jsonRun[json_run_enums/* JSONAnchoredTextBoxRunProperty */.jO.DrawingObjectProperties]));
    }
}
class InlinePictureRunImporter extends BaseRunImporter {
    makeRun(jsonRun, startOffset, paragraph, charPropsBundle) {
        const initId = jsonRun[json_run_enums/* JSONAnchoredPictureRunProperty */.Nr.PictureId];
        const realId = this.imageCorrespondence ? this.imageCorrespondence[initId] : initId;
        const cacheInfo = this.imageCache.getPictureData(realId);
        const run = new inline_picture_run/* InlinePictureRun */.p(startOffset, paragraph, charPropsBundle, new insert_picture_manipulator_params/* InlinePictureInfo */.AT(json_inline_picture_size_converter/* JSONInlinePictureSizeConverterConverter */.M.convertFromJSON(jsonRun[json_run_enums/* JSONInlinePictureRunProperty */.lz.Size], cacheInfo), json_shape_converter/* JSONShapeConverter */.W.convertFromJSON(jsonRun[json_run_enums/* JSONInlinePictureRunProperty */.lz.Shape]), -1, json_non_visual_properties/* JSONNonVisualPropertiesConverter */.Q.convertFromJSON(jsonRun[json_run_enums/* JSONInlinePictureRunProperty */.lz.DrawingObjectProperties]), new non_visual_drawing_object_info/* NonVisualDrawingObjectInfo */.L()));
        return run;
    }
}
class InlineTextBoxRunImporter extends BaseRunImporter {
    makeRun(jsonRun, startOffset, paragraph, charPropsBundle) {
        return new inline_text_box_run/* InlineTextBoxRun */.f(startOffset, paragraph, charPropsBundle, json_shape_converter/* JSONShapeConverter */.W.convertFromJSON(jsonRun[json_run_enums/* JSONInlineTextBoxRunProperty */.n.Shape]), jsonRun[json_run_enums/* JSONInlineTextBoxRunProperty */.n.SubDocId], JSONInlineTextBoxSizeConverterConverter.convertFromJSON(jsonRun[json_run_enums/* JSONInlineTextBoxRunProperty */.n.Size]), json_text_box_properties_converter/* JSONTextBoxPropertiesConverter */.X.convertFromJSON(jsonRun[json_run_enums/* JSONInlineTextBoxRunProperty */.n.TextBoxProperties]), json_non_visual_properties/* JSONNonVisualPropertiesConverter */.Q.convertFromJSON(jsonRun[json_run_enums/* JSONInlineTextBoxRunProperty */.n.DrawingObjectProperties]));
    }
}

;// CONCATENATED MODULE: ./src/common/model/json/importers/sub-document/json-sub-document-importer.ts


















class JSONSubDocumentImporter {
    static importSubDocument(subDocument, documentProtectionSettings, content, imageCorrespondence) {
        JSONTableImporter.importTables(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Tables]);
        JSONSubDocumentImporter.importFields(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Fields]);
        JSONSubDocumentImporter.importBookmarks(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Bookmarks]);
        JSONSubDocumentImporter.importParagraphs(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Paragraphs]);
        JSONSubDocumentImporter.importChunks(subDocument, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.Chunks], imageCorrespondence);
        JSONSubDocumentImporter.importRangePermissions(subDocument, documentProtectionSettings, content[json_sub_document_enums/* JSONEnumLoadPieceTable */.lw.RangePermissions]);
    }
    static importFields(subDocument, jsonFields) {
        if (!jsonFields)
            return;
        for (var fieldIndex = 0, jsonField; jsonField = jsonFields[fieldIndex]; fieldIndex++) {
            let hyperlinkInfo = undefined;
            const uri = jsonField[json_field_enums/* JSONFieldProperty */.Jt.Uri];
            const anchor = jsonField[json_field_enums/* JSONFieldProperty */.Jt.Anchor];
            if (uri !== undefined || anchor !== undefined)
                hyperlinkInfo = new fields_field/* HyperlinkInfo */.AP(uri, anchor, jsonField[json_field_enums/* JSONFieldProperty */.Jt.Tip], !!jsonField[json_field_enums/* JSONFieldProperty */.Jt.Visited]);
            subDocument.fields.push(new fields_field/* Field */.gN(subDocument.positionManager, fieldIndex, jsonField[json_field_enums/* JSONFieldProperty */.Jt.StartPos], jsonField[json_field_enums/* JSONFieldProperty */.Jt.SeparatorPos], jsonField[json_field_enums/* JSONFieldProperty */.Jt.EndPos], false, hyperlinkInfo));
        }
        subDocument.fields.sort((a, b) => a.getCodeStartPosition() - b.getCodeStartPosition());
        for (var fieldIndex = 0, field; field = subDocument.fields[fieldIndex]; fieldIndex++) {
            field.index = fieldIndex;
            field.initParent(subDocument.fields);
        }
    }
    static importBookmarks(subDocument, content) {
        if (!content)
            return;
        list.ListUtils.forEach(content, (jsonBookmark) => {
            const start = parseInt(jsonBookmark[json_sub_document_enums/* JSONBookmarkProperty */.ts.StartPos]);
            const len = parseInt(jsonBookmark[json_sub_document_enums/* JSONBookmarkProperty */.ts.Length]);
            const name = jsonBookmark[json_sub_document_enums/* JSONBookmarkProperty */.ts.Name];
            subDocument.bookmarks.push(new bookmarks/* Bookmark */.rp(subDocument.positionManager, new fixed.FixedInterval(start, len), name));
        });
        subDocument.bookmarks = subDocument.bookmarks.sort(bookmarks/* ConstBookmark */.Om.comparer);
    }
    static importRangePermissions(subDocument, documentProtectionSettings, content) {
        if (!content)
            return;
        subDocument.availableRangePermissions =
            list.ListUtils.reducedMap(content, (jsonRangePermissions) => {
                const start = parseInt(jsonRangePermissions[json_sub_document_enums/* JSONRangePermissionProperty */.xw.Start]);
                const len = parseInt(jsonRangePermissions[json_sub_document_enums/* JSONRangePermissionProperty */.xw.Length]) + 1;
                const rangePermission = new range_permissions/* RangePermission */.O(subDocument.positionManager, new fixed.FixedInterval(start, len), jsonRangePermissions[json_sub_document_enums/* JSONRangePermissionProperty */.xw.UserName], jsonRangePermissions[json_sub_document_enums/* JSONRangePermissionProperty */.xw.Group]);
                return rangePermission.isGranted(documentProtectionSettings) ? rangePermission : null;
            });
    }
    static importParagraphs(subDocument, jsonParagraphs) {
        if (!jsonParagraphs)
            return;
        const paragraphs = subDocument.paragraphs;
        const parStyles = subDocument.documentModel.paragraphStyles;
        const positionManager = subDocument.positionManager;
        for (let jsonParagraph of jsonParagraphs) {
            const paragraph = new paragraph_paragraph/* Paragraph */.nv(subDocument, positionManager.registerPosition(jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.LogPosition]), jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.Length], parStyles[jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.ParagraphStyleIndex]], null, jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.MaskedParagraphPropertiesIndex]);
            paragraph.numberingListIndex = jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.ListIndex];
            paragraph.listLevelIndex = jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.ListLevelIndex];
            paragraph.tabs.setTabs(json_tab_converter/* JSONTabConverter */._.convertFromJSONToTabProperties(jsonParagraph[json_paragraph_enums/* JSONParagraphProperty */.B2.Tabs]));
            paragraphs.push(paragraph);
        }
    }
    static importChunks(subDocument, jsonChunks, imageCorrespondence) {
        if (!jsonChunks)
            return;
        const charStyles = subDocument.documentModel.characterStyles;
        const imageCache = subDocument.documentModel.cache.imageCache;
        const maskedCharacterPropertiesCache = subDocument.documentModel.cache.maskedCharacterPropertiesCache;
        number/* NumberMapUtils */.j.forEach(JSONSubDocumentImporter.runTypeToRunImporter, run => run.init(maskedCharacterPropertiesCache, charStyles, imageCache, imageCorrespondence));
        const chunks = subDocument.chunks;
        const paragraphs = subDocument.paragraphs;
        const firstChunkPosition = jsonChunks[0][json_sub_document_enums/* JSONChunkProperty */._c.StartPos];
        let currParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(paragraphs, (p) => p.startLogPosition.value, firstChunkPosition);
        let currParagraph = paragraphs[currParagraphIndex];
        let currParagraphEndPos = currParagraph.getEndPosition();
        for (let jsonChunk of jsonChunks) {
            const currChunkPosition = jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.StartPos];
            const chunk = new model_chunk/* Chunk */.z(subDocument.positionManager.registerPosition(currChunkPosition), jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.TextBuffer], !!jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.IsLast]);
            chunks.push(chunk);
            for (let jsonRun of jsonChunk[json_sub_document_enums/* JSONChunkProperty */._c.Runs]) {
                const runOffset = jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.Offset];
                if (currChunkPosition + runOffset >= currParagraphEndPos) {
                    currParagraph = paragraphs[++currParagraphIndex];
                    currParagraphEndPos = currParagraph.getEndPosition();
                }
                chunk.textRuns.push(JSONSubDocumentImporter.runTypeToRunImporter[jsonRun[json_run_enums/* JSONRunBaseProperty */.Ii.Type]]
                    .getRun(currParagraph, runOffset, jsonRun));
            }
        }
    }
}
JSONSubDocumentImporter.runTypeToRunImporter = {
    [run_type/* RunType */.m.TextRun]: new TextRunImporter(),
    [run_type/* RunType */.m.ParagraphRun]: new SimpleRunImporter(simple_runs/* ParagraphRun */.uu),
    [run_type/* RunType */.m.SectionRun]: new SimpleRunImporter(simple_runs/* SectionRun */.ME),
    [run_type/* RunType */.m.FieldCodeStartRun]: new SimpleRunImporter(simple_runs/* FieldCodeStartRun */.ff),
    [run_type/* RunType */.m.FieldCodeEndRun]: new SimpleRunImporter(simple_runs/* FieldCodeEndRun */.YW),
    [run_type/* RunType */.m.FieldResultEndRun]: new SimpleRunImporter(simple_runs/* FieldResultEndRun */.Qn),
    [run_type/* RunType */.m.AnchoredPictureRun]: new AnchoredPictureRunImporter(),
    [run_type/* RunType */.m.AnchoredTextBoxRun]: new AnchoredTextBoxRunImporter(),
    [run_type/* RunType */.m.InlinePictureRun]: new InlinePictureRunImporter(),
    [run_type/* RunType */.m.InlineTextBoxRun]: new InlineTextBoxRunImporter(),
    [run_type/* RunType */.m.LayoutDependentRun]: new SimpleRunImporter(simple_runs/* LayoutDependentRun */.Gt),
    [run_type/* RunType */.m.FootNoteRun]: new NoteRunImporter(simple_runs/* FootNoteRun */.Qc),
    [run_type/* RunType */.m.EndNoteRun]: new NoteRunImporter(simple_runs/* EndNoteRun */.Ie),
    [run_type/* RunType */.m.NoteSeparatorRun]: new SimpleRunImporter(simple_runs/* NoteSeparatorRun */.h_),
    [run_type/* RunType */.m.NoteContinuationSeparatorRun]: new SimpleRunImporter(simple_runs/* NoteContinuationSeparatorRun */.hs),
};

// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-cell-properties-converter.ts + 1 modules
var json_table_cell_properties_converter = __webpack_require__(8513);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-row-properties-converter.ts
var json_table_row_properties_converter = __webpack_require__(2359);
;// CONCATENATED MODULE: ./src/common/model/json/web-caches-exporter.ts
















class WebCachesExporter {
    constructor(cache, caches, documentModel) {
        this.documentModel = documentModel;
        this.cache = cache;
        const fontInfoCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.FontInfoCache];
        const charPropsCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.CharacterPropertiesCache];
        const parPropsCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.ParagraphPropertiesCache];
        const listLevelPropsCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.ListLevelPropertiesCache];
        const tableRowPropsCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.TableRowPropertiesCache];
        const tableCellPropsCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.TableCellPropertiesCache];
        const colorModelInfoCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.ColorModelInfoCache];
        const shadingInfoCache = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.ShadingInfoCache];
        if (fontInfoCache)
            cache.fontInfoCache.merge(fontInfoCache, json_font_info_converter/* JSONFontInfoConverter */.N.convertFromJSON);
        if (colorModelInfoCache)
            cache.colorModelInfoCache.merge(colorModelInfoCache, json_color_model_info_converter/* JSONColorModelInfoConverter */.h.convertFromJSON);
        if (shadingInfoCache)
            cache.shadingInfoCache.merge(shadingInfoCache, (obj) => json_shading_info_converter/* JSONShadingInfoConverter */.Z.convertFromJSON(obj, cache.colorModelInfoCache));
        if (charPropsCache)
            cache.maskedCharacterPropertiesCache.merge(charPropsCache, (property) => json_masked_character_properties_converter/* JSONMaskedCharacterPropertiesConverter */.i.convertFromJSON(property, cache.colorModelInfoCache, cache.shadingInfoCache, cache.fontInfoCache));
        if (parPropsCache)
            cache.maskedParagraphPropertiesCache.merge(parPropsCache, (property) => json_masked_paragraph_properties_converter/* JSONMaskedParagraphPropertiesConverter */.U.convertFromJSON(property, cache.colorModelInfoCache, cache.shadingInfoCache));
        if (listLevelPropsCache)
            cache.listLevelPropertiesCache.merge(listLevelPropsCache, json_list_level_properties_converter/* JSONListLevelPropertiesConverter */.J.convertFromJSON);
        if (tableRowPropsCache)
            cache.tableRowPropertiesCache.merge(tableRowPropsCache, json_table_row_properties_converter/* JSONTableRowPropertiesConverter */.Q.convertFromJSON);
        if (tableCellPropsCache)
            cache.tableCellPropertiesCache.merge(tableCellPropsCache, (property) => json_table_cell_properties_converter/* JSONTableCellPropertiesConverter */.U.convertFromJSON(property, cache.colorModelInfoCache, cache.shadingInfoCache));
        this.jsonSubDocs = caches[json_top_level_enums/* JSONCachesDataProperty */.Ku.SubDocuments];
    }
    importSubDocuments(documentProtectionSettings, imageCorrespondence) {
        number/* NumberMapUtils */.j.forEach(this.jsonSubDocs, (jsonSubDoc, subDocumentId) => {
            const subDocType = jsonSubDoc[json_sub_document_enums/* JSONPieceTableInfo */.mj.Type];
            let info;
            switch (subDocType) {
                case enums/* SubDocumentInfoType */.F.Header:
                    info = WebCachesExporter.getInfoBySubDocumentId(this.documentModel.headers, subDocumentId);
                    break;
                case enums/* SubDocumentInfoType */.F.Footer:
                    info = WebCachesExporter.getInfoBySubDocumentId(this.documentModel.footers, subDocumentId);
                    break;
                case enums/* SubDocumentInfoType */.F.Main:
                    info = sub_document_infos/* SubDocumentInfoBase */.NX.create(subDocType, subDocumentId, -1);
                    break;
                case enums/* SubDocumentInfoType */.F.TextBox:
                    info = sub_document_infos/* SubDocumentInfoBase */.NX.create(subDocType, subDocumentId, jsonSubDoc[json_sub_document_enums/* JSONPieceTableInfo */.mj.ParentPieceTableId]);
                    break;
                default:
                    throw new Error("Unknown subDocumentType");
            }
            const subDocument = info.isMain ? this.documentModel.mainSubDocument : this.documentModel.importSubDocument(info);
            const jsonSubDocStructures = jsonSubDoc[json_sub_document_enums/* JSONPieceTableInfo */.mj.Info];
            JSONSubDocumentImporter.importSubDocument(subDocument, documentProtectionSettings, jsonSubDocStructures, imageCorrespondence);
        });
    }
    exportSubDocuments() {
        let subDocuments = this.documentModel.subDocuments;
        let jsonSubDocuments = [];
        number/* NumberMapUtils */.j.forEach(subDocuments, subDocument => {
            let jsonSubDocument = [];
            JSONSubDocumentExporter.exportSubDocument(subDocument, jsonSubDocument);
            jsonSubDocuments.push(jsonSubDocument);
        });
        return jsonSubDocuments;
    }
    static getInfoBySubDocumentId(infos, subDocumentId) {
        for (let info of infos)
            if (info.subDocumentId === subDocumentId)
                return info;
        throw new Error(errors/* Errors */.D.InternalException);
    }
    dispose() {
        this.cache.clearTemporaryCaches();
    }
}


/***/ }),

/***/ 3109:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: function() { return /* binding */ BaseManipulator; }
/* harmony export */ });
class BaseManipulator {
    get history() { return this.modelManipulator.modelManager.history; }
    get model() { return this.modelManipulator.modelManager.model; }
    constructor(manipulator) {
        this.modelManipulator = manipulator;
    }
}


/***/ }),

/***/ 9226:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  m: function() { return /* binding */ BookmarksManipulator; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/bookmarks.ts
var model_bookmarks = __webpack_require__(1823);
// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var enums = __webpack_require__(300);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/bookmark/created.ts

class BookmarkCreatedSubDocumentChange {
    constructor(subDocumentId, bkmTempate, deleted = false) {
        this.subDocumentId = subDocumentId;
        this.bkmTempate = bkmTempate;
        this.deleted = deleted;
        this.type = enums/* ModelChangeType */.f.BookmarkCreated;
    }
    toJSON(_withPostData) {
        return this.deleted ?
            [[this.bkmTempate.name]] :
            [[this.bkmTempate.name, this.bkmTempate.start, this.bkmTempate.end]];
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/bookmark/deleted.ts

class BookmarkDeletedSubDocumentChange {
    constructor(subDocumentId, bkmTempate, deleted = false) {
        this.subDocumentId = subDocumentId;
        this.bkmTempate = bkmTempate;
        this.deleted = deleted;
        this.type = enums/* ModelChangeType */.f.BookmarkDeleted;
    }
    toJSON(_withPostData) {
        return this.deleted ?
            [[this.bkmTempate.name]] :
            [[this.bkmTempate.name, this.bkmTempate.start, this.bkmTempate.end]];
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/base-manipulator.ts
var base_manipulator = __webpack_require__(3109);
;// CONCATENATED MODULE: ./src/common/model/manipulators/bookmarks-manipulator.ts









class BookmarksManipulator extends base_manipulator/* BaseManipulator */.G {
    createBookmark(subDocument, bkmTemplate, needSort) {
        subDocument.bookmarks.push(new model_bookmarks/* Bookmark */.rp(subDocument.positionManager, bkmTemplate, bkmTemplate.name));
        if (needSort)
            subDocument.bookmarks = subDocument.bookmarks.sort(model_bookmarks/* ConstBookmark */.Om.comparer);
        this.modelManipulator.notifyModelChanged(new BookmarkCreatedSubDocumentChange(subDocument.id, bkmTemplate));
    }
    deleteBookmark(subDocument, bkmTemplate, bookmarkIndex = list.ListUtils.indexBy(subDocument.bookmarks, (b) => b.constBookmark.equals(bkmTemplate))) {
        subDocument.bookmarks.splice(bookmarkIndex, 1)[0].destructor(subDocument.positionManager);
        this.modelManipulator.notifyModelChanged(new BookmarkDeletedSubDocumentChange(subDocument.id, bkmTemplate));
    }
    static findBookmark(subDocuments, name) {
        let bookmark;
        const subDocument = number/* NumberMapUtils */.j.elementBy(subDocuments, (subDoc) => !!(bookmark = list.ListUtils.elementBy(subDoc.bookmarks, (bm) => bm.name == name)));
        return subDocument ? new model_bookmarks/* BookmarkAndSubDocument */.w(bookmark, subDocument) : null;
    }
    static copyBookmarksFromSubDocumentTo(fromSubDocument, toSubDocument, fromIntervals) {
        let bkms = [];
        algorithms.IntervalAlgorithms.handleAffectedObjects(fromSubDocument.bookmarks, algorithms.IntervalAlgorithms.getMergedIntervalsTemplate(fromIntervals, true, new boundary/* BoundaryInterval */.e(0, 0)), (bkm, _index, interval, intersection) => {
            if (intersection.length || bkm.interval.length == 0)
                bkms.push(new model_bookmarks/* ConstBookmark */.Om(new boundary/* BoundaryInterval */.e(bkm.start - interval.start, bkm.end - interval.start), bkm.name));
        }, BookmarksManipulator.findBookmarkStartIndex);
        toSubDocument.bookmarks = list.ListUtils.map(list.ListUtils.unique(bkms, model_bookmarks/* ConstBookmark */.Om.comparer, model_bookmarks/* ConstBookmark */.Om.comparer), (tmlBkm) => tmlBkm.createBookmark(toSubDocument.positionManager));
    }
    deleteBookmarks(subDocument, interval) {
        const bookmarks = subDocument.bookmarks;
        const result = [];
        let ind = search.SearchUtils.normedInterpolationIndexOf(bookmarks, (b) => b.start, interval.start);
        while (bookmarks[ind] && bookmarks[ind].start >= interval.start)
            ind--;
        ind = Math.max(0, ind);
        for (let curr; (curr = bookmarks[ind]) && curr.interval.start <= interval.end;) {
            if (interval.containsInterval(curr.interval)) {
                const tmpl = curr.constBookmark;
                this.deleteBookmark(subDocument, tmpl, ind);
                result.push(tmpl);
            }
            else
                ind++;
        }
        return result;
    }
    insertBookmarksFromSubDocument(fromSubDocument, toSubDocument, fromInterval, modelsConstOffset) {
        const bookmarks = fromSubDocument.bookmarks;
        let ind = search.SearchUtils.normedInterpolationIndexOf(bookmarks, (b) => b.start, fromInterval.start);
        while (bookmarks[ind] && bookmarks[ind].start >= fromInterval.start)
            ind--;
        ind = Math.max(0, ind);
        for (let bkm; (bkm = bookmarks[ind]) && bkm.start <= fromInterval.end; ind++) {
            if (fromInterval.containsInterval(bkm.interval)) {
                const template = bkm.constBookmark;
                template.interval.start += modelsConstOffset;
                template.interval.end += modelsConstOffset;
                this.createBookmark(toSubDocument, template, false);
            }
        }
        toSubDocument.bookmarks = toSubDocument.bookmarks.sort(model_bookmarks/* ConstBookmark */.Om.comparer);
    }
    static findBookmarkStartIndex(_pos, _bookmarks) {
        return 0;
    }
}


/***/ }),

/***/ 1048:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: function() { return /* binding */ SubDocumentInserterOptions; },
/* harmony export */   y: function() { return /* binding */ SubDocumentInserter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_initializer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7496);
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1104);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1167);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2400);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2986);
/* harmony import */ var _changes_sub_document_field_hyperlink_info_changed__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8193);
/* harmony import */ var _changes_sub_document_field_inserted__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3545);
/* harmony import */ var _fields_field__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8277);
/* harmony import */ var _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(398);
/* harmony import */ var _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(3231);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3549);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(8096);
/* harmony import */ var _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(8707);
/* harmony import */ var _paragraph_manipulator_insert_paragraph_manipulator_params__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(7970);
/* harmony import */ var _text_box_manipulator__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(5757);
/* harmony import */ var _text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(2598);




















class SubDocumentInserterOptions extends _devexpress_utils_lib_class_initializer__WEBPACK_IMPORTED_MODULE_0__/* .Initializer */ .m7 {
    constructor() {
        super(...arguments);
        this.insertParagraphMarkBeforeIfStartsWithTable = true;
        this.enableCharacterStyleCreation = true;
        this.enableParagraphStyleCreation = true;
        this.enableTableStyleCreation = true;
        this.overlapTableCellContent = false;
        this.numberingListCache = {};
        this.abstractNumberingListCache = {};
    }
}
class SubDocumentInserter {
    get history() { return this.targetModelManipulator.modelManager.history; }
    get modelsConstOffset() { return this.targetStartPosition - this.sourceInterval.start; }
    get sameModel() { return this.sourceDocumentModel === this.targetDocumentModel; }
    get currInsertSubDocumentPosition() {
        return new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentPosition */ .rg(this.targetSubDocument, this.currentTargetPosition);
    }
    constructor(targetModelManipulator, options, targetSubDocPos, sourceSubDocInterval) {
        this.numberingListCache = {};
        this.abstractNumberingListIndexesMap = {};
        this.unloadedCacheImageInfo = [];
        this.abstractNumberingListIndexesMap = options.abstractNumberingListCache;
        this.numberingListCache = options.numberingListCache;
        if (!targetModelManipulator.modelManager.clientMode) {
            options.enableCharacterStyleCreation = false;
            options.enableParagraphStyleCreation = false;
            options.enableTableStyleCreation = false;
        }
        this.targetModelManipulator = targetModelManipulator;
        this.options = options;
        this.targetSubDocPos = targetSubDocPos;
        this.sourceSubDocInterval = sourceSubDocInterval;
        this.newTables = [];
        this.runHandlers = {
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.TextRun]: this.textRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.ParagraphRun]: this.paragraphRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.SectionRun]: this.sectionRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.FieldCodeStartRun]: this.fieldCodeRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.FieldCodeEndRun]: this.textRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.FieldResultEndRun]: this.textRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.LayoutDependentRun]: this.textRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.InlinePictureRun]: this.inlinePictureRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.InlineTextBoxRun]: this.notSupportedRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.AnchoredPictureRun]: this.anchoredPictureRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.AnchoredTextBoxRun]: this.anchoredTextBoxRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.Undefined]: this.notSupportedRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.FootNoteRun]: this.notSupportedRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.EndNoteRun]: this.notSupportedRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.NoteSeparatorRun]: this.notSupportedRunHandler.bind(this),
            [_runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.NoteContinuationSeparatorRun]: this.notSupportedRunHandler.bind(this),
        };
    }
    insert() {
        this.sourceSubDocument = this.sourceSubDocInterval.subDocument;
        this.sourceInterval = this.sourceSubDocInterval.interval;
        this.targetSubDocument = this.targetSubDocPos.subDocument;
        this.targetStartPosition = this.targetSubDocPos.position;
        this.sourceDocumentModel = this.sourceSubDocInterval.subDocument.documentModel;
        this.targetDocumentModel = this.targetSubDocPos.subDocument.documentModel;
        this.currentTargetPosition = this.targetSubDocPos.position;
        this.constRunIterator = this.sourceSubDocInterval.subDocument.getConstRunIterator(this.sourceSubDocInterval.interval);
        this.fromFieldIndexesWhatNeedCopyInfo = [];
        this.insertedSubDocuments = [];
        this.history.addTransaction(() => {
            this.prependTableByParagraph();
            while (this.constRunIterator.moveNext()) {
                const currentRun = this.constRunIterator.currentRun;
                const handler = this.runHandlers[currentRun.getType()];
                if (!handler)
                    throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__/* .Errors */ .D.internalExceptionTemplate(`SubDocumentInserter. Inknown run type "${currentRun.getType()}."`));
                handler(currentRun);
                this.currentTargetPosition += currentRun.getLength();
            }
            this.collectTables();
            this.collectFields();
            this.collectBookmarks();
            this.collectRangePermission();
            if (this.options.overlapTableCellContent) {
                const lastInsertedParagraph = this.targetSubDocument.getParagraphByPosition(this.currInsertSubDocumentPosition.position - 1);
                const nextParagraph = this.targetSubDocument.getParagraphByPosition(this.currInsertSubDocumentPosition.position);
                nextParagraph.copyFrom(lastInsertedParagraph);
                const lastInsertedParagraphMarkInterval = new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentInterval */ .v8(this.targetSubDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(this.currInsertSubDocumentPosition.position - 1, 1));
                this.targetModelManipulator.range.removeInterval(lastInsertedParagraphMarkInterval, false, false, false);
            }
            _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__.ListUtils.unique(this.unloadedCacheImageInfo, (a, b) => a.currId - b.currId).forEach(info => this.targetModelManipulator.picture.loader.load(info));
        });
        this.insertedInterval = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval.fromPositions(this.targetSubDocPos.position, this.currentTargetPosition);
    }
    fieldCodeRunHandler(currentRun) {
        const fromGlobPos = this.constRunIterator.currentChunk.startLogPosition.value + currentRun.startOffset;
        this.fromFieldIndexesWhatNeedCopyInfo.push(_fields_field__WEBPACK_IMPORTED_MODULE_11__/* .Field */ .gN.normedBinaryIndexOf(this.sourceSubDocument.fields, fromGlobPos + 1));
        this.textRunHandler(currentRun);
    }
    textRunHandler(currentRun) {
        this.targetModelManipulator.text.insertTextInner(new _text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_19__/* .InsertTextManipulatorParams */ .N(this.currInsertSubDocumentPosition, this.getCharPropsBundle(currentRun), currentRun.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.LayoutDependentRun && this.targetSubDocument.isMain() ? _runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.TextRun : currentRun.getType(), this.constRunIterator.currentChunk.getRunText(currentRun)));
    }
    inlinePictureRunHandler(currentRun) {
        var _a;
        const loadOptions = (_a = this.options.pictureSizeUpdater) === null || _a === void 0 ? void 0 : _a.getImageLoadingOptions(currentRun);
        this.targetModelManipulator.picture.insertInlinePictureInner(this.currInsertSubDocumentPosition, this.getCharPropsBundle(currentRun), this.getInlinePictureInfo(currentRun.info), loadOptions);
    }
    anchoredPictureRunHandler(currentRun) {
        this.targetModelManipulator.picture.insertAnchoredPictureInner(this.currInsertSubDocumentPosition, this.getCharPropsBundle(currentRun), this.getAnchorPictureInfo(currentRun.info));
    }
    anchoredTextBoxRunHandler(currentRun) {
        const currentAnchoredTextBoxRun = currentRun;
        if (this.targetSubDocument.isTextBox()) {
            this.targetModelManipulator.text.insertTextInner(new _text_manipulator_insert_text_manipulator_params__WEBPACK_IMPORTED_MODULE_19__/* .InsertTextManipulatorParams */ .N(this.currInsertSubDocumentPosition, this.getCharPropsBundle(currentRun), _runs_run_type__WEBPACK_IMPORTED_MODULE_14__/* .RunType */ .m.TextRun, " "));
        }
        else {
            let newAnchoredTextBox = this.targetModelManipulator.textBox.insertAnchoredTextBox(this.currInsertSubDocumentPosition, this.getCharPropsBundle(currentRun), new _text_box_manipulator__WEBPACK_IMPORTED_MODULE_18__/* .BaseTextBoxInfo */ .W(null, currentAnchoredTextBoxRun.size.clone(), currentAnchoredTextBoxRun.shape.clone(), currentAnchoredTextBoxRun.anchorInfo.clone(), currentAnchoredTextBoxRun.textBoxProperties.clone(), currentAnchoredTextBoxRun.containerProperties.clone()));
            const sourceSubDoc = this.sourceDocumentModel.subDocuments[currentAnchoredTextBoxRun.subDocId];
            const targetSubDoc = this.targetModelManipulator.model.subDocuments[newAnchoredTextBox.subDocId];
            this.insertedSubDocuments.push(targetSubDoc);
            new SubDocumentInserter(this.targetModelManipulator, this.options, new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentPosition */ .rg(targetSubDoc, 0), new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentInterval */ .v8(sourceSubDoc, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(0, sourceSubDoc.getDocumentEndPosition())))
                .insert();
            this.targetModelManipulator.range.removeIntervalInner(targetSubDoc, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(targetSubDoc.getDocumentEndPosition() - 2, 1), false);
        }
    }
    paragraphRunHandler(currentRun) {
        this.targetModelManipulator.paragraph.insertParagraphInner(new _paragraph_manipulator_insert_paragraph_manipulator_params__WEBPACK_IMPORTED_MODULE_17__/* .InsertParagraphManipulatorParams */ .n(this.currInsertSubDocumentPosition, this.getCharPropsBundle(currentRun), this.getMaskedParagraphPropertiesBundleFull(currentRun.paragraph), true, () => { }));
    }
    sectionRunHandler(currentRun) {
        this.targetModelManipulator.section.insertSection(this.currInsertSubDocumentPosition, this.getCharPropsBundle(currentRun), this.constRunIterator.currentSection.sectionProperties.clone(), true, this.getMaskedParagraphPropertiesBundleFull(currentRun.paragraph), true);
    }
    notSupportedRunHandler(_currentRun) {
    }
    collectTables() {
        let sourceInterval = this.sourceSubDocInterval.interval;
        sourceInterval = new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(sourceInterval.start, sourceInterval.length - (this.options.overlapTableCellContent ? 1 : 0));
        const sourceTables = this.sourceSubDocument.tables;
        const startTblInd = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_7__.SearchUtils.normedInterpolationIndexOf(sourceTables, (t) => t.getStartPosition(), sourceInterval.start));
        const modelsConstOffset = this.modelsConstOffset;
        for (let tblInd = startTblInd, sourceTbl; sourceTbl = sourceTables[tblInd]; tblInd++) {
            const sourceTableInterval = sourceTbl.interval;
            if (sourceTableInterval.start >= sourceInterval.end)
                break;
            const intersection = _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_2__.IntervalAlgorithms.getIntersectionNonNullLength(sourceTbl.interval, sourceInterval);
            if (!intersection || intersection.length != sourceTbl.interval.length)
                continue;
            const patternTable = this.getPatternTable(sourceTbl);
            const targetTable = this.targetModelManipulator.table.pasteTable(this.targetSubDocument, patternTable, modelsConstOffset + sourceTbl.getStartPosition());
            patternTable.destructor(this.sourceSubDocInterval.subDocument.positionManager);
            this.newTables.push(targetTable);
        }
    }
    getPatternTable(sourceTable) {
        const targetTable = sourceTable.clone(this.sourceSubDocInterval.subDocument);
        targetTable.properties = this.getTableProperties(sourceTable.properties);
        targetTable.style = this.getTableStyle(sourceTable.style);
        for (const targetRow of targetTable.rows) {
            targetRow.properties = this.getTableRowProperties(targetRow.properties);
            targetRow.tablePropertiesException = this.getTableProperties(targetRow.tablePropertiesException);
            targetRow.conditionalFormatting = targetRow.conditionalFormatting;
            for (const targetCell of targetRow.cells) {
                targetCell.properties = this.getTableCellProperties(targetCell.properties);
                targetCell.style = this.getTableCellStyle(targetCell.style);
                targetCell.conditionalFormatting = targetCell.conditionalFormatting;
            }
        }
        return targetTable;
    }
    collectFields() {
        if (this.fromFieldIndexesWhatNeedCopyInfo.length > 0) {
            const sourceFields = this.sourceSubDocument.fields;
            const targetFields = this.targetSubDocument.fields;
            const modelsConstOffset = this.modelsConstOffset;
            const toStartCodePosFirstField = modelsConstOffset + sourceFields[this.fromFieldIndexesWhatNeedCopyInfo[0]].getCodeStartPosition();
            let toFieldIndex = _fields_field__WEBPACK_IMPORTED_MODULE_11__/* .Field */ .gN.normedBinaryIndexOf(targetFields, toStartCodePosFirstField);
            if (toFieldIndex < 0 || targetFields[toFieldIndex].getCodeStartPosition() < toStartCodePosFirstField)
                toFieldIndex++;
            while (this.fromFieldIndexesWhatNeedCopyInfo.length > 0) {
                const fromField = this.sourceSubDocument.fields[this.fromFieldIndexesWhatNeedCopyInfo.shift()];
                const newField = new _fields_field__WEBPACK_IMPORTED_MODULE_11__/* .Field */ .gN(this.targetSubDocument.positionManager, toFieldIndex, fromField.getFieldStartPosition() + modelsConstOffset, fromField.getSeparatorPosition() + modelsConstOffset, fromField.getFieldEndPosition() + modelsConstOffset, fromField.showCode, fromField.isHyperlinkField() ? fromField.getHyperlinkInfo().clone() : undefined);
                _fields_field__WEBPACK_IMPORTED_MODULE_11__/* .Field */ .gN.addField(targetFields, newField);
                toFieldIndex++;
                this.targetModelManipulator.notifyModelChanged(new _changes_sub_document_field_inserted__WEBPACK_IMPORTED_MODULE_10__/* .FieldInsertedSubDocumentChange */ .s(this.targetSubDocument.id, newField.getFieldStartPosition(), newField.getSeparatorPosition(), newField.getFieldEndPosition()));
                if (newField.isHyperlinkField())
                    this.targetModelManipulator.notifyModelChanged(new _changes_sub_document_field_hyperlink_info_changed__WEBPACK_IMPORTED_MODULE_9__/* .HyperlinkInfoChangedSubDocumentChange */ .a(this.targetSubDocument.id, newField.getResultInterval(), newField.getCodeInterval(), newField.getHyperlinkInfo()));
            }
        }
    }
    collectBookmarks() {
        this.targetModelManipulator.bookmark.insertBookmarksFromSubDocument(this.sourceSubDocument, this.targetSubDocument, this.sourceInterval, this.modelsConstOffset);
    }
    collectRangePermission() {
        this.targetModelManipulator.rangePermission.insertRangePermissionsFromSubDocument(this.sourceSubDocument, this.targetSubDocument, this.sourceInterval, this.modelsConstOffset);
    }
    prependTableByParagraph() {
        if (this.options.insertParagraphMarkBeforeIfStartsWithTable) {
            const tbl = _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_16__/* .Table */ .iA.getTableByPosition(this.sourceSubDocument.tables, this.sourceInterval.start, false);
            if (tbl && tbl.getStartPosition() == this.sourceInterval.start &&
                (this.targetSubDocument.getParagraphByPosition(this.targetStartPosition).startLogPosition.value != this.targetStartPosition ||
                    _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__.ListUtils.unsafeAnyOf(this.targetSubDocument.tables, (tbl) => tbl.getEndPosition() == this.targetStartPosition))) {
                this.targetModelManipulator.paragraph.insertParagraphViaHistory(_paragraph_manipulator_insert_paragraph_manipulator_params__WEBPACK_IMPORTED_MODULE_17__/* .InsertParagraphManipulatorParams */ .n.makeParamsByPosition(new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentPosition */ .rg(this.targetSubDocument, this.targetStartPosition)));
                this.history.addAndRedo(new _history_items_character_properties_history_items__WEBPACK_IMPORTED_MODULE_12__/* .FontHiddenHistoryItem */ .Ne(this.targetModelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentInterval */ .v8(this.targetSubDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_3__.FixedInterval(this.targetStartPosition, 1)), true, true));
                this.targetStartPosition++;
                this.currentTargetPosition++;
            }
        }
    }
    getFontInfo(font) {
        const fontInfoCache = this.targetDocumentModel.cache.fontInfoCache;
        const targetFont = fontInfoCache.getItemByName(font.name);
        return targetFont ? targetFont :
            this.targetModelManipulator.modelManager.richOptions.fonts.getPermittedFont(fontInfoCache, font);
    }
    getColorModelInfo(color) {
        return this.targetDocumentModel.cache.colorModelInfoCache.getItem(color);
    }
    getCharPropsBundle(run) {
        return new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_8__/* .MaskedCharacterPropertiesBundle */ .Ne(this.getMaskedCharacterProperties(run.maskedCharacterProperties), this.getCharacterStyle(run.characterStyle));
    }
    getMaskedParagraphPropertiesBundleFull(paragraph) {
        return new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_8__/* .MaskedParagraphPropertiesBundleFull */ .Us(this.getMaskedParagraphProperties(paragraph.maskedParagraphProperties), this.getParagraphStyle(paragraph.paragraphStyle), this.getParagraphListInfo(paragraph), paragraph.tabs.clone());
    }
    getMaskedCharacterProperties(properties) {
        const props = properties.clone();
        if (props.fontInfo)
            props.fontInfo = this.getFontInfo(props.fontInfo);
        props.highlightColor = this.getColorModelInfo(props.highlightColor);
        props.textColor = this.getColorModelInfo(props.textColor);
        props.underlineColor = this.getColorModelInfo(props.underlineColor);
        props.strikeoutColor = this.getColorModelInfo(props.strikeoutColor);
        return props;
    }
    getMaskedParagraphProperties(properties) {
        const props = properties.clone();
        props.shadingInfo = this.targetDocumentModel.cache.shadingInfoCache.getItem(props.shadingInfo);
        return props;
    }
    getTableProperties(properties) {
        const props = properties.clone();
        return props;
    }
    getTableRowProperties(properties) {
        const props = properties.clone();
        return props;
    }
    getTableCellProperties(properties) {
        const props = properties.clone();
        return props;
    }
    getCharacterStyle(style) {
        let targetStyle = this.targetDocumentModel.stylesManager.getCharacterStyleByName(style.styleName);
        if (targetStyle)
            return targetStyle;
        if (!this.options.enableCharacterStyleCreation)
            return this.targetDocumentModel.stylesManager.getDefaultCharacterStyle();
        targetStyle = style.clone();
        this.targetDocumentModel.stylesManager.registerCharacterStyle(targetStyle);
        targetStyle.maskedCharacterProperties = this.getMaskedCharacterProperties(targetStyle.maskedCharacterProperties);
        if (targetStyle.parent)
            targetStyle.parent = this.getCharacterStyle(targetStyle.parent);
        if (targetStyle.linkedStyle)
            targetStyle.linkedStyle = this.getParagraphStyle(targetStyle.linkedStyle);
        return targetStyle;
    }
    getParagraphStyle(style) {
        let targetStyle = this.targetDocumentModel.stylesManager.getParagraphStyleByName(style.styleName);
        if (targetStyle)
            return targetStyle;
        if (!this.options.enableParagraphStyleCreation)
            return this.targetDocumentModel.stylesManager.getDefaultParagraphStyle();
        targetStyle = style.clone();
        this.targetDocumentModel.stylesManager.registerParagraphStyle(targetStyle);
        targetStyle.maskedCharacterProperties = this.getMaskedCharacterProperties(targetStyle.maskedCharacterProperties);
        targetStyle.maskedParagraphProperties = this.getMaskedParagraphProperties(targetStyle.maskedParagraphProperties);
        if (targetStyle.parent)
            targetStyle.parent = this.getParagraphStyle(targetStyle.parent);
        if (targetStyle.linkedStyle)
            targetStyle.linkedStyle = this.getCharacterStyle(targetStyle.linkedStyle);
        return targetStyle;
    }
    getTableStyle(style) {
        let targetStyle = this.targetDocumentModel.stylesManager.getTableStyleByName(style.styleName);
        if (targetStyle)
            return targetStyle;
        if (!this.options.enableTableStyleCreation)
            return this.targetDocumentModel.stylesManager.getDefaultTableStyle();
        targetStyle = style.clone();
        this.targetDocumentModel.stylesManager.registerTableStyle(targetStyle);
        targetStyle.baseConditionalStyle = this.getTableConditionalStyle(targetStyle.baseConditionalStyle);
        targetStyle.conditionalStyles = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_6__/* .NumberMapUtils */ .j.map(targetStyle.conditionalStyles, cs => this.getTableConditionalStyle(cs));
        if (targetStyle.parent)
            targetStyle.parent = this.getTableStyle(targetStyle.parent);
        return targetStyle;
    }
    getTableConditionalStyle(style) {
        const targetStyle = style.clone();
        targetStyle.maskedCharacterProperties = this.getMaskedCharacterProperties(targetStyle.maskedCharacterProperties);
        targetStyle.maskedParagraphProperties = this.getMaskedParagraphProperties(targetStyle.maskedParagraphProperties);
        targetStyle.tableProperties = this.getTableProperties(targetStyle.tableProperties);
        targetStyle.tableRowProperties = this.getTableRowProperties(targetStyle.tableRowProperties);
        targetStyle.tableCellProperties = this.getTableCellProperties(targetStyle.tableCellProperties);
        return targetStyle;
    }
    getTableCellStyle(style) {
        if (!style)
            return style;
        let targetStyle = this.targetDocumentModel.stylesManager.getTableCellStyleByName(style.styleName);
        if (targetStyle)
            return targetStyle;
        return this.targetDocumentModel.stylesManager.getDefaultTableCellStyle();
    }
    getCacheImageInfo(sourceCacheInfo) {
        let info = null;
        if (sourceCacheInfo.isLoaded) {
            if (this.targetModelManipulator.modelManager.clientMode)
                info = this.targetDocumentModel.cache.imageCache.createLoadedInfo(sourceCacheInfo.base64, sourceCacheInfo.size);
            else
                info = this.targetDocumentModel.cache.imageCache.createUnloadedInfoByBase64(sourceCacheInfo.base64, sourceCacheInfo.size);
        }
        else if (sourceCacheInfo.imageUrl)
            info = this.targetDocumentModel.cache.imageCache.createUnloadedInfoByUrl(sourceCacheInfo.imageUrl);
        else if (sourceCacheInfo.file)
            info = this.targetDocumentModel.cache.imageCache.createUnloadedInfoByFile(sourceCacheInfo.file);
        else
            info = this.targetDocumentModel.cache.imageCache.createUnloadedInfoByBase64(sourceCacheInfo.base64);
        if (!info.isLoaded)
            this.unloadedCacheImageInfo.push(info);
        return info;
    }
    getInlinePictureInfo(sourceInfo) {
        const targetPicInfo = sourceInfo.clone();
        targetPicInfo.size.cacheInfo = this.getCacheImageInfo(targetPicInfo.size.cacheInfo);
        return targetPicInfo;
    }
    getAnchorPictureInfo(sourceInfo) {
        const targetPicInfo = sourceInfo.clone();
        targetPicInfo.size.cacheInfo = this.getCacheImageInfo(targetPicInfo.size.cacheInfo);
        return targetPicInfo;
    }
    getParagraphListInfo(sourceParagraph) {
        const result = new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_8__/* .ParagraphListInfo */ .QC(-1, sourceParagraph.listLevelIndex);
        const numberingListIndex = sourceParagraph.getNumberingListIndex();
        if (numberingListIndex >= 0) {
            if (this.sameModel) {
                const sourceNumbList = this.sourceDocumentModel.numberingLists[numberingListIndex];
                result.numberingListIndex = this.targetDocumentModel.getNumberingListIndexById(sourceNumbList.getId());
                if (result.numberingListIndex < 0) {
                    let targetAbstrNumbListInd = this.targetDocumentModel.getAbstractNumberingListIndexById(this.sourceDocumentModel.abstractNumberingLists[sourceNumbList.abstractNumberingListIndex].getId());
                    if (targetAbstrNumbListInd < 0) {
                        const targetAbstrNumbList = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_13__/* .AbstractNumberingList */ .pC(this.targetDocumentModel);
                        targetAbstrNumbList.copyFrom(this.sourceDocumentModel.abstractNumberingLists[sourceNumbList.abstractNumberingListIndex]);
                        targetAbstrNumbList.resetId();
                        targetAbstrNumbList.getId();
                        targetAbstrNumbListInd = this.targetModelManipulator.numberingList.addAbstractNumberingList(targetAbstrNumbList);
                    }
                    const targetNumberingList = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_13__/* .NumberingList */ .K6(this.targetDocumentModel, targetAbstrNumbListInd);
                    targetNumberingList.copyFrom(sourceNumbList);
                    result.numberingListIndex = this.targetModelManipulator.numberingList.addNumberingList(targetNumberingList);
                }
            }
            else {
                let targetIndex = this.getListIndex(this.numberingListCache, this.targetDocumentModel.numberingLists, numberingListIndex);
                if (targetIndex !== undefined)
                    result.numberingListIndex = targetIndex;
                else {
                    const sourceNumbList = this.sourceDocumentModel.numberingLists[numberingListIndex];
                    const targetAbstrNumbListInd = this.getAbstractNumberingListId(sourceNumbList.abstractNumberingListIndex);
                    const targetNumberingList = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_13__/* .NumberingList */ .K6(this.targetDocumentModel, targetAbstrNumbListInd);
                    targetNumberingList.copyFrom(sourceNumbList);
                    targetNumberingList.resetId();
                    targetNumberingList.getId();
                    result.numberingListIndex = this.targetModelManipulator.numberingList.addNumberingList(targetNumberingList);
                    const targetNumbListId = this.targetDocumentModel.numberingLists[result.numberingListIndex].getId();
                    this.numberingListCache[targetNumbListId] = numberingListIndex;
                }
            }
        }
        if (result.numberingListIndex < 0) {
            const targetParagraph = this.targetSubDocument.getParagraphByPosition(this.currentTargetPosition);
            const targetParagraphNumberingListIndex = targetParagraph.getNumberingListIndex();
            if (targetParagraphNumberingListIndex >= 0) {
                if (this.targetStartPosition === targetParagraph.startLogPosition.value) {
                    result.numberingListIndex = targetParagraphNumberingListIndex;
                    result.listLevelIndex = targetParagraph.getListLevelIndex();
                }
            }
        }
        return result;
    }
    getAbstractNumberingListId(sourceAbstrNumbListIndex) {
        let targetIndex = this.getListIndex(this.abstractNumberingListIndexesMap, this.targetDocumentModel.abstractNumberingLists, sourceAbstrNumbListIndex);
        if (targetIndex !== undefined)
            return targetIndex;
        const targetAbstrNumbList = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_13__/* .AbstractNumberingList */ .pC(this.targetDocumentModel);
        targetAbstrNumbList.copyFrom(this.sourceDocumentModel.abstractNumberingLists[sourceAbstrNumbListIndex]);
        targetAbstrNumbList.resetId();
        targetAbstrNumbList.getId();
        targetIndex = this.targetModelManipulator.numberingList.addAbstractNumberingList(targetAbstrNumbList);
        const targetNumberingListId = this.targetDocumentModel.abstractNumberingLists[targetIndex].getId();
        this.abstractNumberingListIndexesMap[targetNumberingListId] = sourceAbstrNumbListIndex;
        return targetIndex;
    }
    getListIndex(cache, list, sourceIndex) {
        const targetIndex = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_6__/* .NumberMapUtils */ .j.keyBy(cache, (val) => val == sourceIndex);
        return (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_4__.isDefined)(targetIndex) ? _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_5__.ListUtils.indexBy(list, (list) => list.getId() == targetIndex) : undefined;
    }
}


/***/ }),

/***/ 7253:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  vt: function() { return /* binding */ FieldsManipulator; },
  x: function() { return /* binding */ UpdateFieldsManipulatorParams; }
});

// UNUSED EXPORTS: UpdateFieldsManipulatorResult

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/selection/input-position-base.ts
var input_position_base = __webpack_require__(1680);
// EXTERNAL MODULE: ./src/common/selection/selection-intervals-info.ts + 1 modules
var selection_intervals_info = __webpack_require__(655);
// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var enums = __webpack_require__(300);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/field/fields-show-code-changed.ts

class FieldsShowCodeChangedSubDocumentChange {
    constructor(subDocumentId, fieldInterval) {
        this.subDocumentId = subDocumentId;
        this.fieldInterval = fieldInterval;
        this.type = enums/* ModelChangeType */.f.FieldsShowCodeChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/changes/sub-document/field/hyperlink-info-changed.ts
var hyperlink_info_changed = __webpack_require__(8193);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/fields/tree-creator.ts + 12 modules
var tree_creator = __webpack_require__(769);
// EXTERNAL MODULE: ./src/common/model/history/items/apply-field-hyperlink-style-history-item.ts
var apply_field_hyperlink_style_history_item = __webpack_require__(6502);
// EXTERNAL MODULE: ./src/common/model/history/items/change-field-hyperlink-info-history-item.ts
var change_field_hyperlink_info_history_item = __webpack_require__(1688);
// EXTERNAL MODULE: ./src/common/model/history/items/remove-hyperlink-history-item.ts
var remove_hyperlink_history_item = __webpack_require__(55);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-field-enums.ts
var json_field_enums = __webpack_require__(5060);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/manipulators/base-manipulator.ts
var base_manipulator = __webpack_require__(3109);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-manipulator/insert-text-manipulator-params.ts
var insert_text_manipulator_params = __webpack_require__(2598);
;// CONCATENATED MODULE: ./src/common/model/manipulators/fields-manipulator.ts

















class UpdateFieldsManipulatorParams {
    constructor(subDocsInfo, callback = () => { }, updateOptions = new tree_creator/* UpdateFieldsOptions */.f$()) {
        this.subDocsInfo = subDocsInfo;
        this.callback = callback ? callback : () => { };
        this.updateOptions = updateOptions;
    }
}
class UpdateFieldsManipulatorResult {
    constructor(subDocsInfo) {
        this.subDocsInfo = subDocsInfo;
    }
}
class CurrentlyUpdatedSubDocumentInfo {
    constructor(subDocument, requestId) {
        this.subDocument = subDocument;
        this.requestId = requestId;
        this.result = null;
    }
}
class FieldsManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor() {
        super(...arguments);
        this.currentlyUpdatedSubDocumentsInfo = {};
        this.requestId = 0;
    }
    setHyperlinkInfoViaHistory(subDocument, fieldIndex, newHyperlinkInfo) {
        this.history.addAndRedo(new change_field_hyperlink_info_history_item/* ChangeFieldHyperlinkInfoHistoryItem */.q(this.modelManipulator, subDocument, fieldIndex, newHyperlinkInfo));
    }
    setHyperlinkInfoInner(subDocument, fieldIndex, newHyperlinkInfo) {
        const field = subDocument.fields[fieldIndex];
        const oldValue = field.getHyperlinkInfo();
        field.setNewHyperlinkInfo(newHyperlinkInfo);
        this.modelManipulator.notifyModelChanged(new hyperlink_info_changed/* HyperlinkInfoChangedSubDocumentChange */.a(subDocument.id, field.getResultInterval(), field.getCodeInterval(), newHyperlinkInfo));
        return oldValue;
    }
    setHyperlinkInfoWithReplaceResultAndCode(subDocument, fieldIndex, newHyperlinkInfo, shownText) {
        const field = subDocument.fields[fieldIndex];
        const inputPosition = new input_position_base/* InputPositionBase */.Cd().setIntervals(selection_intervals_info/* SelectionIntervalsInfo */.v.fromPosition(subDocument, field.getCodeInterval().start));
        const codeNewText = fields_field/* HyperlinkInfo */.AP.getNewCodeText(newHyperlinkInfo);
        this.history.addTransaction(() => {
            this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, field.getCodeInterval()), true, false);
            let param = new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, field.getCodeInterval().start), inputPosition.charPropsBundle, run_type/* RunType */.m.TextRun, codeNewText);
            this.modelManipulator.text.insertTextViaHistory(param);
            if (shownText) {
                this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, field.getResultInterval()), true, false);
                const param = new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, field.getResultInterval().start), inputPosition.charPropsBundle, run_type/* RunType */.m.TextRun, shownText);
                this.modelManipulator.text.insertTextViaHistory(param);
                this.history.addAndRedo(new apply_field_hyperlink_style_history_item/* ApplyFieldHyperlinkStyleHistoryItem */.n(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, field.getResultInterval())));
            }
            this.setHyperlinkInfoViaHistory(subDocument, fieldIndex, newHyperlinkInfo);
        });
    }
    setAllFieldsShowCode(showCode, subDocuments) {
        for (let sd of subDocuments) {
            const fields = sd.fields;
            let fieldIndexStartRecalculateLayout = null;
            for (let fieldIndex = 0, field; field = fields[fieldIndex]; fieldIndex++) {
                if (field.showCode != showCode) {
                    field.showCode = showCode;
                    if (fieldIndexStartRecalculateLayout === null)
                        fieldIndexStartRecalculateLayout = fieldIndex;
                }
            }
            if (fieldIndexStartRecalculateLayout !== null) {
                this.modelManipulator.notifyModelChanged(new FieldsShowCodeChangedSubDocumentChange(sd.id, fixed.FixedInterval.fromPositions(fields[fieldIndexStartRecalculateLayout].getFieldStartPosition(), fields[fields.length - 1].getFieldEndPosition())));
            }
        }
    }
    setFieldShowCode(subDocument, field, showCode) {
        if (field.showCode != showCode) {
            field.showCode = showCode;
            this.modelManipulator.notifyModelChanged(new FieldsShowCodeChangedSubDocumentChange(subDocument.id, field.getAllFieldInterval()));
        }
    }
    continueUpdateFields(model, responce) {
        var subDocument = model.subDocuments[responce[json_field_enums/* JSONUpdateFieldCommand */.ty.SubDocumentId]];
        if (subDocument && subDocument.fieldsWaitingForUpdate)
            subDocument.fieldsWaitingForUpdate.update(responce[json_field_enums/* JSONUpdateFieldCommand */.ty.Info]);
    }
    updateFields(layoutFormatterManager, requestManager, options) {
        if (list.ListUtils.unsafeAnyOf(options.subDocsInfo, (sdInfo) => !!this.currentlyUpdatedSubDocumentsInfo[sdInfo.subDocument.id])) {
            options.callback(new UpdateFieldsManipulatorResult([]));
            return false;
        }
        const sdInfo = list.ListUtils.reducedMap(options.subDocsInfo, (subDocInfo) => subDocInfo.subDocument.fields.length > 0 ? subDocInfo : null);
        if (!sdInfo.length) {
            options.callback(new UpdateFieldsManipulatorResult([]));
            return true;
        }
        const currRequestId = this.requestId++;
        for (let info of sdInfo)
            this.currentlyUpdatedSubDocumentsInfo[info.subDocument.id] = new CurrentlyUpdatedSubDocumentInfo(info.subDocument, currRequestId);
        this.modelManipulator.modelManager.history.beginTransaction();
        const lastIntervalInfoIndex = sdInfo.length - 1;
        for (let intervalIndex = 0, sdInterval; sdInterval = sdInfo[intervalIndex]; intervalIndex++) {
            sdInterval.subDocument.fieldsWaitingForUpdate =
                new tree_creator/* FieldsWaitingForUpdate */.Nn(this.modelManipulator.modelManager, layoutFormatterManager, requestManager, sdInterval, options.updateOptions, (result) => {
                    result.subDocIntervals.subDocument.fieldsWaitingForUpdate = null;
                    this.currentlyUpdatedSubDocumentsInfo[result.subDocIntervals.subDocument.id].result = result.subDocIntervals;
                    if (this.allSubDocsByRequestUpdated(currRequestId)) {
                        this.modelManipulator.modelManager.history.endTransaction();
                        options.callback(this.collectResult(currRequestId));
                    }
                });
            sdInterval.subDocument.fieldsWaitingForUpdate.update(null, intervalIndex == lastIntervalInfoIndex);
        }
        return true;
    }
    get isBusy() { return number/* NumberMapUtils */.j.isEmpty(this.currentlyUpdatedSubDocumentsInfo); }
    allSubDocsByRequestUpdated(requestId) {
        return number/* NumberMapUtils */.j.allOf(this.currentlyUpdatedSubDocumentsInfo, (info) => info.requestId != requestId || !!info.result);
    }
    collectResult(requestId) {
        const result = new UpdateFieldsManipulatorResult([]);
        const restInfo = {};
        number/* NumberMapUtils */.j.forEach(this.currentlyUpdatedSubDocumentsInfo, (info, key) => {
            if (info.requestId == requestId)
                result.subDocsInfo.push(info.result);
            else
                restInfo[key] = info;
        });
        this.currentlyUpdatedSubDocumentsInfo = restInfo;
        return result;
    }
    removeHyperlink(subDocument, field) {
        if (!field || !field.isHyperlinkField())
            return;
        this.history.beginTransaction();
        this.history.addAndRedo(new remove_hyperlink_history_item/* RemoveHyperlinkHistoryItem */.E(this.modelManipulator, subDocument, field));
        this.history.endTransaction();
    }
    changeHyperlinkInfo(subDocument, field, hyperlinkInfo, resultText) {
        if (!field || !field.isHyperlinkField())
            return false;
        const codeNewText = fields_field/* HyperlinkInfo */.AP.getNewCodeText(hyperlinkInfo);
        const fieldCodeInterval = field.getCodeInterval();
        this.history.addTransaction(() => {
            if (fieldCodeInterval.length)
                this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, fieldCodeInterval), true, false);
            const inpPos = new input_position_base/* InputPositionBase */.Cd().setIntervals(selection_intervals_info/* SelectionIntervalsInfo */.v.fromPosition(subDocument, fieldCodeInterval.start));
            this.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, fieldCodeInterval.start), inpPos.charPropsBundle, run_type/* RunType */.m.TextRun, codeNewText));
            if (resultText) {
                const fieldResultInterval = field.getResultInterval();
                if (fieldResultInterval.length)
                    this.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, fieldResultInterval), true, false);
                inpPos.setIntervals(selection_intervals_info/* SelectionIntervalsInfo */.v.fromPosition(subDocument, fieldResultInterval.start));
                this.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, fieldResultInterval.start), inpPos.charPropsBundle, run_type/* RunType */.m.TextRun, resultText));
                this.history.addAndRedo(new apply_field_hyperlink_style_history_item/* ApplyFieldHyperlinkStyleHistoryItem */.n(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, field.getResultInterval())));
            }
            this.history.addAndRedo(new change_field_hyperlink_info_history_item/* ChangeFieldHyperlinkInfoHistoryItem */.q(this.modelManipulator, subDocument, field.index, hyperlinkInfo));
        });
        return true;
    }
}


/***/ }),

/***/ 749:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   aV: function() { return /* binding */ posAndAncInfoOneSubDocComparer; },
/* harmony export */   eC: function() { return /* binding */ getLayoutAnchoredObjectBoxComparer; },
/* harmony export */   uT: function() { return /* binding */ getLayoutAnchoredObjectBoxInitialComparer; }
/* harmony export */ });
/* harmony import */ var _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9768);

function posAndAncInfoOneSubDocComparer(a, b) {
    const aAncInfo = a.anchorInfo;
    const bAncInfo = b.anchorInfo;
    switch (aAncInfo.levelType) {
        case _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__/* .AnchoredObjectLevelType */ .a.BehindText:
            if (bAncInfo.levelType != _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__/* .AnchoredObjectLevelType */ .a.BehindText)
                return -1;
            break;
        case _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__/* .AnchoredObjectLevelType */ .a.BeforeText:
        case _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__/* .AnchoredObjectLevelType */ .a.InText:
            if (bAncInfo.levelType == _layout_main_structures_layout_boxes_layout_anchored_object_box__WEBPACK_IMPORTED_MODULE_0__/* .AnchoredObjectLevelType */ .a.BehindText)
                return 1;
            break;
    }
    const cmpZOrder = aAncInfo.zOrder - bAncInfo.zOrder;
    return cmpZOrder ? cmpZOrder : b.position - a.position;
}
function getLayoutAnchoredObjectBoxInitialComparer(anchorObjectsPositionInfo) {
    const getPos = (obj) => anchorObjectsPositionInfo.getPosition(obj.objectId);
    return (a, b) => {
        const zOrderDiff = a.anchorInfo.zOrder - b.anchorInfo.zOrder;
        return zOrderDiff ? zOrderDiff : getPos(a) - getPos(b);
    };
}
function getLayoutAnchoredObjectBoxComparer(anchorObjectsPositionInfo) {
    const getPos = (obj) => anchorObjectsPositionInfo.getPosition(obj.objectId);
    return (a, b) => {
        const cmpLevel = a.rendererLevel - b.rendererLevel;
        return cmpLevel ? cmpLevel : (a.anchorInfo.zOrder != b.anchorInfo.zOrder ? a.anchorInfo.zOrder - b.anchorInfo.zOrder : getPos(a) - getPos(b));
    };
}


/***/ }),

/***/ 7970:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: function() { return /* binding */ InsertParagraphManipulatorParams; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8679);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2986);
/* harmony import */ var _selection_input_position_base__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1680);
/* harmony import */ var _selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(655);
/* harmony import */ var _history_items_apply_style_history_items__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8189);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8845);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8096);
/* harmony import */ var _utils_manipulator_params_base__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8116);










class InsertParagraphManipulatorParams extends _utils_manipulator_params_base__WEBPACK_IMPORTED_MODULE_9__/* .ManipulatorParamsCharacterPropertiesBased */ .IW {
    constructor(subDocPos, charPropsBundle, parPropsBundle = _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_3__/* .MaskedParagraphPropertiesBundleFull */ .Us.notSetted, applyDirectlyToNewParagraph = true, actionAfter = () => { }) {
        super(subDocPos, charPropsBundle);
        this.parPropsBundle = parPropsBundle;
        this.applyDirectlyToNewParagraph = applyDirectlyToNewParagraph;
        this.actionAfter = actionAfter;
    }
    correctParams() {
        const documentEndPosition = this.subDocPos.subDocument.getDocumentEndPosition();
        this.subDocPos.position = _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_2__.MathUtils.restrictValue(this.subDocPos.position, 0, documentEndPosition);
    }
    checkParams() {
        const documentEndPosition = this.subDocPos.subDocument.getDocumentEndPosition();
        return this.innerCheck(this.subDocPos.position >= 0 && this.subDocPos.position <= documentEndPosition, _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException) &&
            this.innerCheck(!!this.charPropsBundle.props, _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException) &&
            this.innerCheck(!!this.charPropsBundle.style, _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
    clone() {
        const obj = new InsertParagraphManipulatorParams(this.subDocPos, this.charPropsBundle, this.parPropsBundle, this.applyDirectlyToNewParagraph, this.actionAfter);
        return obj;
    }
    static makeParamsByPosition(subDocPosition, inpPos = new _selection_input_position_base__WEBPACK_IMPORTED_MODULE_4__/* .InputPositionBase */ .Cd().setIntervals(_selection_selection_intervals_info__WEBPACK_IMPORTED_MODULE_5__/* .SelectionIntervalsInfo */ .v.fromPosition(subDocPosition.subDocument, subDocPosition.position)), needToSetNextStyle = true) {
        const subDocument = subDocPosition.subDocument;
        const position = subDocPosition.position;
        let characterStyle = inpPos.getCharacterStyle();
        let maskedCharacterProperties = inpPos.getMaskedCharacterProperties();
        const currentParagraph = subDocument.getRunByPosition(position).paragraph;
        const nextParagraphStyle = currentParagraph.paragraphStyle ? currentParagraph.paragraphStyle.nextParagraphStyle : null;
        needToSetNextStyle = needToSetNextStyle && nextParagraphStyle && (currentParagraph.getEndPosition() - 1 == position);
        const needToUseCurrentParagraphLastRunAsSource = currentParagraph.isInList() && !needToSetNextStyle;
        let actionAfter = () => { };
        if (needToUseCurrentParagraphLastRunAsSource) {
            const paragraphLastRun = subDocument.getRunByPosition(currentParagraph.getEndPosition() - 1);
            maskedCharacterProperties = paragraphLastRun.maskedCharacterProperties.clone();
            characterStyle = paragraphLastRun.characterStyle;
        }
        else {
            const startPosition = position + _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.ParagraphMark.length;
            if (needToSetNextStyle && subDocument.isEditable([new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_1__.FixedInterval(startPosition, 1)]))
                actionAfter = (modelManager) => {
                    modelManager.history.addAndRedo(new _history_items_apply_style_history_items__WEBPACK_IMPORTED_MODULE_6__/* .ApplyParagraphStyleHistoryItem */ .j3(modelManager.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_8__/* .SubDocumentInterval */ .v8(subDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_1__.FixedInterval(startPosition, 0)), modelManager.model.stylesManager.addParagraphStyle(nextParagraphStyle)));
                };
        }
        return new InsertParagraphManipulatorParams(new _sub_document__WEBPACK_IMPORTED_MODULE_8__/* .SubDocumentPosition */ .rg(subDocument, position), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_3__/* .MaskedCharacterPropertiesBundle */ .Ne(maskedCharacterProperties, characterStyle), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_3__/* .MaskedParagraphPropertiesBundleFull */ .Us(undefined, undefined, _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_3__/* .ParagraphListInfo */ .QC.default, undefined), false, actionAfter);
    }
}


/***/ }),

/***/ 7333:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  M: function() { return /* binding */ ParagraphManipulator; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/changes/change-base.ts
var change_base = __webpack_require__(5816);
// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var enums = __webpack_require__(300);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/text/paragraph-inserted.ts


class ParagraphInsertedSubDocumentChange extends change_base/* ContentInsertedSubDocumentChange */.K {
    constructor(subDocumentId, position, paragraph) {
        super(subDocumentId, position, 1);
        this.paragraph = paragraph;
        this.type = enums/* ModelChangeType */.f.ParagraphInserted;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/insert-paragraph-history-item.ts
var insert_paragraph_history_item = __webpack_require__(262);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/runs/simple-runs.ts
var simple_runs = __webpack_require__(4330);
// EXTERNAL MODULE: ./src/common/model/manipulators/runs-base-manipulator.ts
var runs_base_manipulator = __webpack_require__(3501);
;// CONCATENATED MODULE: ./src/common/model/manipulators/paragraph-manipulator/paragraph-manipulator.ts










class ParagraphManipulator extends runs_base_manipulator/* RunsBaseManipulator */.D {
    insertParagraphViaHistory(params) {
        if (!params.correctAndCheckParams())
            return new fixed.FixedInterval(params.subDocPos.position, 0);
        this.history.addAndRedo(new insert_paragraph_history_item/* InsertParagraphHistoryItem */.H(this.modelManipulator, params));
        return new fixed.FixedInterval(params.subDocPos.position, 1);
    }
    insertParagraphInner(params) {
        const subDocument = params.subDocPos.subDocument;
        if (ParagraphManipulator.insertParagraphInEnd(subDocument, params.subDocPos.position, params.charPropsBundle)) {
            this.modelManipulator.notifyModelChanged(new ParagraphInsertedSubDocumentChange(subDocument.id, params.subDocPos.position, list.ListUtils.last(subDocument.paragraphs)));
            return;
        }
        const insertedRun = this.insertRunInternal(params.subDocPos, params.charPropsBundle, run_type/* RunType */.m.ParagraphRun, rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark);
        const currentRun = subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex];
        const oldParagraphIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.paragraphs, (p) => p.startLogPosition.value, params.subDocPos.position + 1);
        const oldParagraph = subDocument.paragraphs[oldParagraphIndex];
        subDocument.positionManager.unregisterPosition(oldParagraph.startLogPosition);
        const newParagraph = new paragraph/* Paragraph */.nv(subDocument, null, 1, null, null);
        newParagraph.onParagraphPropertiesChanged();
        this.applyParagraphProperties(newParagraph, oldParagraph, !params.applyDirectlyToNewParagraph, params.parPropsBundle);
        currentRun.paragraph = newParagraph;
        subDocument.paragraphs.splice(oldParagraphIndex, 0, newParagraph);
        let indexRun = insertedRun.runIndex - 1;
        completeExecuteAllCycles: for (var indexChunk = insertedRun.chunkIndex, chunk; chunk = subDocument.chunks[indexChunk]; indexChunk--) {
            for (var run; run = chunk.textRuns[indexRun]; indexRun--) {
                if (run.isParagraphOrSectionRun())
                    break completeExecuteAllCycles;
                run.paragraph = newParagraph;
                run.onCharacterPropertiesChanged();
                newParagraph.length += run.getLength();
                oldParagraph.length -= run.getLength();
            }
            if (indexChunk > 0)
                indexRun = subDocument.chunks[indexChunk - 1].textRuns.length - 1;
        }
        newParagraph.startLogPosition = subDocument.positionManager.registerPosition(run != undefined ? chunk.startLogPosition.value + run.startOffset + 1 : 0);
        oldParagraph.startLogPosition = subDocument.positionManager.registerPosition(params.subDocPos.position + 1);
        indexRun = insertedRun.runIndex + 1;
        completeExecuteAllCycles: for (var indexChunk = insertedRun.chunkIndex, chunk; chunk = subDocument.chunks[indexChunk]; indexChunk++) {
            for (var run; run = chunk.textRuns[indexRun]; indexRun++) {
                run.onCharacterPropertiesChanged();
                if (run.isParagraphOrSectionRun())
                    break completeExecuteAllCycles;
            }
            indexRun = 0;
        }
        this.modelManipulator.notifyModelChanged(new ParagraphInsertedSubDocumentChange(subDocument.id, params.subDocPos.position, newParagraph));
        params.actionAfter(this.modelManipulator.modelManager);
    }
    applyParagraphProperties(newParagraph, oldParagraph, copyPropertiesToOldParagraph, parPropsBundle) {
        if (parPropsBundle.props) {
            if (copyPropertiesToOldParagraph) {
                oldParagraph.onParagraphPropertiesChanged();
                newParagraph.setParagraphProperties(oldParagraph.maskedParagraphProperties);
                oldParagraph.setParagraphProperties(parPropsBundle.props);
            }
            else {
                newParagraph.setParagraphProperties(parPropsBundle.props);
            }
        }
        else
            newParagraph.setParagraphProperties(oldParagraph.maskedParagraphProperties);
        if (parPropsBundle.style) {
            if (copyPropertiesToOldParagraph) {
                newParagraph.paragraphStyle = oldParagraph.paragraphStyle;
                oldParagraph.paragraphStyle = parPropsBundle.style;
            }
            else {
                newParagraph.paragraphStyle = parPropsBundle.style;
            }
        }
        else
            newParagraph.paragraphStyle = oldParagraph.paragraphStyle;
        if (parPropsBundle.listInfo !== undefined && parPropsBundle.listInfo.listLevelIndex !== undefined && parPropsBundle.listInfo.numberingListIndex !== undefined) {
            if (copyPropertiesToOldParagraph) {
                newParagraph.numberingListIndex = oldParagraph.numberingListIndex;
                newParagraph.listLevelIndex = oldParagraph.listLevelIndex;
                oldParagraph.numberingListIndex = parPropsBundle.listInfo.numberingListIndex;
                oldParagraph.listLevelIndex = parPropsBundle.listInfo.listLevelIndex;
            }
            else {
                newParagraph.numberingListIndex = parPropsBundle.listInfo.numberingListIndex;
                newParagraph.listLevelIndex = parPropsBundle.listInfo.listLevelIndex;
            }
        }
        else {
            newParagraph.numberingListIndex = oldParagraph.numberingListIndex;
            newParagraph.listLevelIndex = oldParagraph.listLevelIndex;
        }
        if (parPropsBundle.tabs) {
            if (copyPropertiesToOldParagraph) {
                newParagraph.tabs = oldParagraph.tabs.clone();
                oldParagraph.tabs = parPropsBundle.tabs;
            }
            else {
                newParagraph.tabs = parPropsBundle.tabs;
            }
        }
        else
            newParagraph.tabs = oldParagraph.tabs.clone();
    }
    static insertParagraphInEnd(subDocument, position, charPropsBundle) {
        var lastChunk = subDocument.chunks[subDocument.chunks.length - 1];
        var offsetAtStartDocumentLastSymbol = lastChunk.startLogPosition.value + lastChunk.textBuffer.length;
        if (position >= offsetAtStartDocumentLastSymbol) {
            position = offsetAtStartDocumentLastSymbol;
            const prevParagraph = subDocument.paragraphs[subDocument.paragraphs.length - 1];
            const newParagraph = new paragraph/* Paragraph */.nv(subDocument, subDocument.positionManager.registerPosition(position), 1, prevParagraph.paragraphStyle, prevParagraph.maskedParagraphProperties);
            const newTextRun = new simple_runs/* ParagraphRun */.uu(position - lastChunk.startLogPosition.value, newParagraph, charPropsBundle);
            subDocument.paragraphs.push(newParagraph);
            lastChunk.textRuns.push(newTextRun);
            lastChunk.textBuffer = lastChunk.textBuffer + rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark;
            var lastSection = subDocument.documentModel.sections[subDocument.documentModel.sections.length - 1];
            lastSection.setLength(subDocument, lastSection.getLength() + 1);
            return true;
        }
        return false;
    }
}


/***/ }),

/***/ 4990:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   AT: function() { return /* binding */ InlinePictureInfo; },
/* harmony export */   wt: function() { return /* binding */ AnchorPictureInfo; }
/* harmony export */ });
/* unused harmony export BasePictureInfo */
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6353);
/* harmony import */ var _floating_objects_anchor_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8868);
/* harmony import */ var _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4302);
/* harmony import */ var _shapes_shape__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(169);
/* harmony import */ var _non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2839);





class BasePictureInfo {
    get cacheInfo() { return this.size.cacheInfo; }
    constructor(size, shape, containerProperties, drawingProperties) {
        this.size = size;
        this.shape = shape;
        this.containerProperties = containerProperties;
        this.nonVisualDrawingProperties = drawingProperties;
    }
}
class InlinePictureInfo extends BasePictureInfo {
    constructor(size, shape, publicAPIID, containerProperties, drawingProperties) {
        super(size, shape, containerProperties, drawingProperties);
        this.publicAPIID = publicAPIID;
    }
    clone() {
        return new InlinePictureInfo(this.size.clone(), this.shape.clone(), this.publicAPIID, this.containerProperties.clone(), this.nonVisualDrawingProperties.clone());
    }
    cloneToNewSubDocument(subDocument) {
        return new InlinePictureInfo(this.size.cloneToNewSubDocument(subDocument), this.shape.clone(), this.publicAPIID, this.containerProperties.clone(), this.nonVisualDrawingProperties.clone());
    }
    static defaultInfo(cacheInfo, scale = new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(100, 100)) {
        return new InlinePictureInfo(new _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_2__/* .PictureSize */ .ni(true, 0, cacheInfo, scale), new _shapes_shape__WEBPACK_IMPORTED_MODULE_3__/* .Shape */ .b(), -1, new _non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_4__/* .NonVisualDrawingObjectInfo */ .L(), new _non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_4__/* .NonVisualDrawingObjectInfo */ .L());
    }
}
class AnchorPictureInfo extends BasePictureInfo {
    constructor(size, shape, anchorInfo, containerProperties, drawingProperties) {
        super(size, shape, containerProperties, drawingProperties);
        this.anchorInfo = anchorInfo;
    }
    clone() {
        return new AnchorPictureInfo(this.size.clone(), this.shape.clone(), this.anchorInfo.clone(), this.containerProperties.clone(), this.nonVisualDrawingProperties.clone());
    }
    cloneToNewSubDocument(subDocument) {
        return new AnchorPictureInfo(this.size.cloneToNewSubDocument(subDocument), this.shape.clone(), this.anchorInfo.clone(), new _non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_4__/* .NonVisualDrawingObjectInfo */ .L(), new _non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_4__/* .NonVisualDrawingObjectInfo */ .L());
    }
    static defaultInfo(cacheInfo, scale = new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(100, 100)) {
        return new AnchorPictureInfo(new _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_2__/* .PictureSize */ .ni(true, 0, cacheInfo, scale), new _shapes_shape__WEBPACK_IMPORTED_MODULE_3__/* .Shape */ .b(), new _floating_objects_anchor_info__WEBPACK_IMPORTED_MODULE_1__/* .AnchorInfo */ .i(), new _non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_4__/* .NonVisualDrawingObjectInfo */ .L(), new _non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_4__/* .NonVisualDrawingObjectInfo */ .L());
    }
}


/***/ }),

/***/ 4285:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   j: function() { return /* binding */ ImageLoadingOptions; }
/* harmony export */ });
class ImageLoadingOptions {
    constructor(calculateActualSize = false, actualSize, callback) {
        this.imageLoadedEvent = [];
        this.calculateActualSize = calculateActualSize;
        this.actualSize = actualSize;
        if (callback)
            this.imageLoadedEvent.push(callback);
    }
    static initByActualSize(actualSize, callback) {
        actualSize = actualSize && actualSize.width && actualSize.height ? actualSize : undefined;
        return new ImageLoadingOptions(!actualSize, actualSize, callback);
    }
}


/***/ }),

/***/ 2839:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: function() { return /* binding */ NonVisualDrawingObjectInfo; }
/* harmony export */ });
class NonVisualDrawingObjectInfo {
    copyFrom(obj) {
        this.id = obj.id;
        this.name = obj.name;
        this.title = obj.title;
        this.description = obj.description;
    }
    clone() {
        const result = new NonVisualDrawingObjectInfo();
        result.copyFrom(this);
        return result;
    }
}


/***/ }),

/***/ 4792:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   H: function() { return /* binding */ RangeCopy; }
/* harmony export */ });
/* unused harmony export CreateRangeCopyOperation */
/* harmony import */ var _utils_map_creator__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(7156);
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1104);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2400);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2986);
/* harmony import */ var _chunk__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5552);
/* harmony import */ var _document_model__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4495);
/* harmony import */ var _fields_field__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8277);
/* harmony import */ var _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(3231);
/* harmony import */ var _paragraph_paragraph__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(9754);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(8845);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3549);
/* harmony import */ var _runs_simple_runs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(4330);
/* harmony import */ var _section_section__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(9362);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(8096);
/* harmony import */ var _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(8707);
/* harmony import */ var _tables_main_structures_table_cell__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(8565);
/* harmony import */ var _tables_main_structures_table_row__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(7509);
/* harmony import */ var _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(4857);
/* harmony import */ var _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(935);
/* harmony import */ var _bookmarks_manipulator__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(9226);
/* harmony import */ var _tables_tables_manipulator__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(159);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(2491);
/* harmony import */ var _document_sub_document_inserter__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(1048);


























class CreateRangeCopyOperation {
    get documentModel() {
        return this.subDocument.documentModel;
    }
    constructor(subDocument, abstractNumberingListCache, numberingListCache) {
        this.newOffsetAtStartChunk = 0;
        this.additionalParagraphRunPositions = {};
        this.subDocument = subDocument;
        this.numberingListCache = numberingListCache;
        this.abstractNumberingListCache = abstractNumberingListCache;
    }
    copyStyles(newDocumentModel) {
        newDocumentModel.characterStyles = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.deepCopy(this.documentModel.characterStyles);
        newDocumentModel.paragraphStyles = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.deepCopy(this.documentModel.paragraphStyles);
        newDocumentModel.numberingListStyles = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.deepCopy(this.documentModel.numberingListStyles);
        newDocumentModel.tableStyles = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.deepCopy(this.documentModel.tableStyles);
        newDocumentModel.tableCellStyles = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.deepCopy(this.documentModel.tableCellStyles);
    }
    execute(intervals) {
        const newDocumentModel = this.initNewDocumentModel();
        const newSubDocument = newDocumentModel.mainSubDocument;
        this.copyStyles(newDocumentModel);
        if (_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.allOf(intervals, curr => curr.length == 0))
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
        let currIntervalOffset = 0;
        for (let interval of intervals) {
            this.copyMainContent(interval, newDocumentModel, currIntervalOffset);
            currIntervalOffset += interval.length;
        }
        _bookmarks_manipulator__WEBPACK_IMPORTED_MODULE_21__/* .BookmarksManipulator */ .m.copyBookmarksFromSubDocumentTo(this.subDocument, newSubDocument, intervals);
        newSubDocument.getLastChunk().isLast = true;
        this.copyTables(newSubDocument, intervals);
        const addedUselessParagraphMarkInEnd = this.tryAppendAdditionalParagraphRunInTheEnd(newSubDocument, false);
        return new RangeCopy(newDocumentModel, addedUselessParagraphMarkInEnd, this.abstractNumberingListCache, this.numberingListCache);
    }
    copyMainContent(interval, newDocumentModel, currIntervalOffset) {
        const newSubDocument = newDocumentModel.mainSubDocument;
        const constRunIterator = this.subDocument.getConstRunIterator(interval);
        this.oldFieldStartIndex = -1;
        while (constRunIterator.moveNext()) {
            var oldCurrentRun = constRunIterator.currentRun;
            if (this.oldCurrentSection != constRunIterator.currentSection) {
                this.oldCurrentSection = constRunIterator.currentSection;
                this.newCurrentSection = this.appendNewSection(newSubDocument);
            }
            if (this.oldCurrentParagraph != oldCurrentRun.paragraph) {
                this.oldCurrentParagraph = oldCurrentRun.paragraph;
                this.newCurrentParagraph = this.appendNewParagraph(newSubDocument);
            }
            if (this.oldCurrentChunk != constRunIterator.currentChunk) {
                this.oldCurrentChunk = constRunIterator.currentChunk;
                this.newCurrentChunk = this.appendNewChunk(newSubDocument);
                this.newOffsetAtStartChunk = 0;
            }
            this.newCurrentParagraph.length += oldCurrentRun.getLength();
            this.newCurrentSection.setLength(newSubDocument, this.newCurrentSection.getLength() + oldCurrentRun.getLength());
            this.newCurrentChunk.textBuffer += this.oldCurrentChunk.getTextInChunk(oldCurrentRun.startOffset, oldCurrentRun.getLength());
            if (oldCurrentRun.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_12__/* .RunType */ .m.FieldCodeStartRun)
                this.appendField(newSubDocument, oldCurrentRun, interval.start - currIntervalOffset);
            else if (oldCurrentRun.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_12__/* .RunType */ .m.AnchoredTextBoxRun) {
                const newTexBoxSubDoc = this.documentModel.subDocuments[oldCurrentRun.subDocId].clone(newDocumentModel);
                const sourceTextBoxSubDocParagraphs = this.documentModel.subDocuments[oldCurrentRun.subDocId].paragraphs;
                _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_3__.ListUtils.forEach(newTexBoxSubDoc.paragraphs, (paragraph, index) => {
                    paragraph.numberingListIndex = CreateRangeCopyOperation.getNewNumberingListIndex(this.documentModel, sourceTextBoxSubDocParagraphs[index].numberingListIndex, newTexBoxSubDoc, this.abstractNumberingListCache, this.numberingListCache);
                });
            }
            this.newCurrentChunk.textRuns.push(oldCurrentRun.createSimularity(this.newOffsetAtStartChunk, oldCurrentRun.getLength(), this.newCurrentParagraph, newDocumentModel.stylesManager.addCharacterStyle(oldCurrentRun.characterStyle), newDocumentModel.cache.maskedCharacterPropertiesCache.getItem(oldCurrentRun.maskedCharacterProperties)));
            this.newOffsetAtStartChunk += oldCurrentRun.getLength();
        }
    }
    appendField(newSubDocument, oldCurrentRun, globalOffset) {
        let oldFieldStartIndex = this.oldFieldStartIndex;
        const oldSubDocument = this.subDocument;
        if (oldFieldStartIndex < 0) {
            const oldFieldStartCodeRunOffset = this.oldCurrentChunk.startLogPosition.value + oldCurrentRun.startOffset;
            oldFieldStartIndex = _fields_field__WEBPACK_IMPORTED_MODULE_8__/* .Field */ .gN.normedBinaryIndexOf(oldSubDocument.fields, oldFieldStartCodeRunOffset + 1);
        }
        else
            oldFieldStartIndex++;
        const oldField = oldSubDocument.fields[oldFieldStartIndex];
        const newField = new _fields_field__WEBPACK_IMPORTED_MODULE_8__/* .Field */ .gN(newSubDocument.positionManager, newSubDocument.fields.length, oldField.getFieldStartPosition() - globalOffset, oldField.getSeparatorPosition() - globalOffset, oldField.getFieldEndPosition() - globalOffset, oldField.showCode, oldField.getHyperlinkInfo() ? oldField.getHyperlinkInfo().clone() : undefined);
        newSubDocument.fields.push(newField);
        newField.initParent(newSubDocument.fields);
        this.oldFieldStartIndex = oldFieldStartIndex;
    }
    appendParagraphMarkInTheEnd(newSubDocument, position, sectionEnd) {
        this.newCurrentParagraph.length += 1;
        this.newCurrentSection.setLength(newSubDocument, this.newCurrentSection.getLength() + 1);
        let text = sectionEnd ? _rich_utils__WEBPACK_IMPORTED_MODULE_11__/* .RichUtils */ .i.specialCharacters.SectionMark : _rich_utils__WEBPACK_IMPORTED_MODULE_11__/* .RichUtils */ .i.specialCharacters.ParagraphMark;
        let runType = sectionEnd ? _runs_simple_runs__WEBPACK_IMPORTED_MODULE_13__/* .SectionRun */ .ME : _runs_simple_runs__WEBPACK_IMPORTED_MODULE_13__/* .ParagraphRun */ .uu;
        this.newCurrentChunk.textBuffer += text;
        this.newCurrentChunk.textRuns.push(new runType(position, this.newCurrentParagraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_5__/* .MaskedCharacterPropertiesBundle */ .Ne(newSubDocument.getLastRun().maskedCharacterProperties, newSubDocument.getLastRun().characterStyle)));
        this.newOffsetAtStartChunk++;
    }
    appendNewChunk(newSubDocument) {
        let newCurrentChunkAbsolutePosition = newSubDocument.chunks.length ? newSubDocument.getLastChunk().getEndPosition() : 0, newCurrentChunkPosition = newSubDocument.positionManager.registerPosition(newCurrentChunkAbsolutePosition), newCurrentChunk = new _chunk__WEBPACK_IMPORTED_MODULE_6__/* .Chunk */ .z(newCurrentChunkPosition, "", false);
        newSubDocument.chunks.push(newCurrentChunk);
        return newCurrentChunk;
    }
    appendNewSection(newSubDocument) {
        this.tryAppendAdditionalParagraphRunInTheEnd(newSubDocument, true);
        let lastSection = newSubDocument.documentModel.sections[newSubDocument.documentModel.sections.length - 1];
        let newCurrentSectionAbsolutePosition = lastSection ? lastSection.getEndPosition() : 0, newCurrentSectionPosition = newSubDocument.positionManager.registerPosition(newCurrentSectionAbsolutePosition);
        let newCurrentSection = new _section_section__WEBPACK_IMPORTED_MODULE_14__/* .Section */ .$(newSubDocument.documentModel, newCurrentSectionPosition, 0, this.oldCurrentSection.sectionProperties.clone());
        newSubDocument.documentModel.sections.push(newCurrentSection);
        return newCurrentSection;
    }
    copyToCore(targetStyle, oldStyle, newSubDocument) {
        targetStyle.maskedCharacterProperties = oldStyle.maskedCharacterProperties.clone();
        targetStyle.maskedParagraphProperties = oldStyle.maskedParagraphProperties.clone();
        targetStyle.tabs = oldStyle.tabs.clone();
        if (oldStyle.isInOwnList()) {
            targetStyle.numberingListIndex = CreateRangeCopyOperation.getNewNumberingListIndex(this.documentModel, oldStyle.numberingListIndex, newSubDocument, this.abstractNumberingListCache, this.numberingListCache);
        }
        else if (oldStyle.numberingListIndex == _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_9__/* .AbstractNumberingList */ .pC.NoNumberingListIndex) {
            targetStyle.numberingListIndex = _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_9__/* .AbstractNumberingList */ .pC.NoNumberingListIndex;
        }
    }
    copyPropertiesTo(targetStyle, oldStyle, newSubDocument) {
        this.copyToCore(targetStyle, oldStyle, newSubDocument);
        if (oldStyle.parent) {
            targetStyle.parent = newSubDocument.documentModel.stylesManager.addParagraphStyle(targetStyle.parent);
            this.copyPropertiesTo(targetStyle.parent, oldStyle.parent, newSubDocument);
        }
        if (oldStyle.nextParagraphStyle != null)
            targetStyle.nextParagraphStyle = newSubDocument.documentModel.stylesManager.addParagraphStyle(targetStyle.nextParagraphStyle);
    }
    appendNewParagraph(newSubDocument) {
        this.tryAppendAdditionalParagraphRunInTheEnd(newSubDocument, false);
        const oldCurrentParagraph = this.oldCurrentParagraph;
        const oldDocumentModel = oldCurrentParagraph.subDocument.documentModel;
        const lastParagraph = newSubDocument.paragraphs[newSubDocument.paragraphs.length - 1];
        const newCurrentParagraphAbsolutePosition = lastParagraph ? lastParagraph.getEndPosition() : 0;
        const newCurrentParagraphPosition = newSubDocument.positionManager.registerPosition(newCurrentParagraphAbsolutePosition);
        const newCurrentParagraphStyle = newSubDocument.documentModel.stylesManager.addParagraphStyle(oldCurrentParagraph.paragraphStyle);
        this.copyPropertiesTo(newCurrentParagraphStyle, oldCurrentParagraph.paragraphStyle, newSubDocument);
        const newCurrentMaskedParagraphProperties = newSubDocument.documentModel.cache.maskedParagraphPropertiesCache.getItem(oldCurrentParagraph.maskedParagraphProperties);
        const newCurrentParagraph = new _paragraph_paragraph__WEBPACK_IMPORTED_MODULE_10__/* .Paragraph */ .nv(newSubDocument, newCurrentParagraphPosition, 0, newCurrentParagraphStyle, newCurrentMaskedParagraphProperties);
        newCurrentParagraph.listLevelIndex = oldCurrentParagraph.listLevelIndex;
        newCurrentParagraph.numberingListIndex = CreateRangeCopyOperation.getNewNumberingListIndex(oldDocumentModel, oldCurrentParagraph.numberingListIndex, newSubDocument, this.abstractNumberingListCache, this.numberingListCache);
        newCurrentParagraph.tabs = oldCurrentParagraph.tabs.clone();
        newSubDocument.paragraphs.push(newCurrentParagraph);
        return newCurrentParagraph;
    }
    static getNewNumberingListIndex(oldmodel, oldNumberingListIndex, newSubDocument, abstractNumberingListCache = {}, numberingListCache = {}) {
        let newCurrentParagraphNumberingListIndex = -1;
        let newAbstractNumberingListIndex = -1;
        if (oldNumberingListIndex >= 0) {
            const oldNumberingList = oldmodel.numberingLists[oldNumberingListIndex];
            newCurrentParagraphNumberingListIndex = numberingListCache[oldNumberingList.getId()];
            if (newCurrentParagraphNumberingListIndex === undefined) {
                const oldAbstractNumberingList = oldmodel.abstractNumberingLists[oldNumberingList.abstractNumberingListIndex];
                newAbstractNumberingListIndex = abstractNumberingListCache[oldAbstractNumberingList.getId()];
                if (newAbstractNumberingListIndex === undefined) {
                    const newAbstractNumberingList = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_9__/* .AbstractNumberingList */ .pC(newSubDocument.documentModel);
                    newAbstractNumberingList.copyFrom(oldAbstractNumberingList);
                    newAbstractNumberingListIndex = newSubDocument.documentModel.abstractNumberingLists.push(newAbstractNumberingList) - 1;
                    abstractNumberingListCache[oldAbstractNumberingList.getId()] = newAbstractNumberingListIndex;
                }
                const newNumberingList = new _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_9__/* .NumberingList */ .K6(newSubDocument.documentModel, newAbstractNumberingListIndex);
                newNumberingList.copyFrom(oldNumberingList);
                newCurrentParagraphNumberingListIndex = newSubDocument.documentModel.numberingLists.push(newNumberingList) - 1;
                numberingListCache[oldNumberingList.getId()] = newCurrentParagraphNumberingListIndex;
            }
        }
        return newCurrentParagraphNumberingListIndex;
    }
    tryAppendAdditionalParagraphRunInTheEnd(newSubDocument, sectionEnd) {
        let lastChunk = newSubDocument.getLastChunk();
        if (!lastChunk)
            return false;
        let lastRun = lastChunk.textRuns[lastChunk.textRuns.length - 1];
        if (!lastRun)
            return false;
        if (!lastRun.isParagraphOrSectionRun()) {
            this.appendParagraphMarkInTheEnd(newSubDocument, lastRun.startOffset + lastRun.getLength(), sectionEnd);
            this.additionalParagraphRunPositions[lastChunk.getEndPosition() - 1] = true;
            return true;
        }
        return false;
    }
    initNewDocumentModel() {
        const newDocumentModel = new _document_model__WEBPACK_IMPORTED_MODULE_7__/* .DocumentModel */ .T(this.documentModel.modelOptions, 0);
        newDocumentModel.defaultCharacterProperties = newDocumentModel.cache.maskedCharacterPropertiesCache.getItem(this.documentModel.defaultCharacterProperties);
        newDocumentModel.defaultParagraphProperties = newDocumentModel.cache.maskedParagraphPropertiesCache.getItem(this.documentModel.defaultParagraphProperties);
        newDocumentModel.defaultTableProperties = this.documentModel.defaultTableProperties.clone();
        newDocumentModel.defaultTableRowProperties = newDocumentModel.cache.tableRowPropertiesCache.getItem(this.documentModel.defaultTableRowProperties);
        newDocumentModel.defaultTableCellProperties = newDocumentModel.cache.tableCellPropertiesCache.getItem(this.documentModel.defaultTableCellProperties);
        newDocumentModel.colorProvider.officeTheme.copyFrom(this.documentModel.colorProvider.officeTheme);
        newDocumentModel.cache.imageCache = this.documentModel.cache.imageCache;
        return newDocumentModel;
    }
    getNestedLevel(newSubDocument, sourceTable, nestedLevel) {
        if (sourceTable.nestedLevel > nestedLevel)
            return nestedLevel + 1;
        if (!sourceTable.parentCell)
            return 0;
        const newParentTableIndex = this.mapSourceTableIndexToTarget[sourceTable.getParentTable().index];
        return (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_23__.isDefined)(newParentTableIndex) ? newSubDocument.tables[newParentTableIndex].nestedLevel + 1 : -1;
    }
    copyTables(newSubDocument, intervals) {
        const tables = this.subDocument.tables;
        this.mapSourceTableIndexToTarget = new _utils_map_creator__WEBPACK_IMPORTED_MODULE_25__/* .MapCreator */ .M().get();
        if (!tables.length)
            return;
        const pos = intervals[0].start;
        let startTableIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_4__.SearchUtils.normedInterpolationIndexOf(tables, t => t.getStartPosition(), pos));
        startTableIndex = _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_16__/* .Table */ .iA.correctBoundTable(tables, startTableIndex, pos, (index) => --index).index;
        let nestedLevel = -1;
        let endSelectionPosition = intervals[0].end;
        let prevLength = 0;
        for (let i = startTableIndex, table; table = this.subDocument.tables[i]; i++) {
            if (table.nestedLevel != nestedLevel)
                nestedLevel = this.getNestedLevel(newSubDocument, table, nestedLevel);
            const tableStartPosition = table.getStartPosition();
            const tableInterval = table.interval;
            while (intervals.length > 0 && tableStartPosition >= intervals[0].end) {
                if (this.additionalParagraphRunPositions[intervals[0].end])
                    prevLength++;
                prevLength += intervals[0].length;
                intervals.shift();
            }
            if (!intervals.length)
                break;
            if (_devexpress_utils_lib_intervals_algorithms__WEBPACK_IMPORTED_MODULE_1__.IntervalAlgorithms.getIntersectionNonNullLength(table.interval, intervals[0])) {
                if (intervals[0].containsInterval(tableInterval)) {
                    this.appendWholeTable(newSubDocument, table, intervals[0].start - prevLength, nestedLevel);
                }
                else {
                    let selectedCellInfos = this.getSelectedCells(table, intervals.slice(0), prevLength);
                    if (this.canCopyParticallyTable(selectedCellInfos))
                        this.appendParticallyTable(newSubDocument, selectedCellInfos, nestedLevel);
                    else
                        nestedLevel = -1;
                }
            }
            else if (tableStartPosition >= endSelectionPosition)
                break;
        }
    }
    appendWholeTable(newSubDocument, table, positionDelta, newNestedLevel) {
        let newTable = this.createTable(newSubDocument, table, newNestedLevel, positionDelta);
        newTable.preferredWidth = table.preferredWidth.clone();
        newTable.lookTypes = table.lookTypes;
        for (let i = 0, row; row = table.rows[i]; i++) {
            let newRow = new _tables_main_structures_table_row__WEBPACK_IMPORTED_MODULE_18__/* .TableRow */ .S(newTable, newSubDocument.documentModel.cache.tableRowPropertiesCache.getItem(row.properties.clone()));
            newTable.rows.push(newRow);
            newRow.height = row.height.clone();
            if (row.tablePropertiesException)
                newRow.tablePropertiesException = row.tablePropertiesException.clone();
            newRow.gridBefore = row.gridBefore;
            newRow.gridAfter = row.gridAfter;
            newRow.widthAfter = row.widthAfter.clone();
            newRow.widthBefore = row.widthBefore.clone();
            for (let j = 0, cell; cell = row.cells[j]; j++) {
                let newCell = this.cloneTableCell(newSubDocument, newRow, cell);
                newCell.verticalMerging = cell.verticalMerging;
                newCell.startParagraphPosition = newSubDocument.positionManager.registerPosition(cell.startParagraphPosition.value - positionDelta);
                newCell.endParagrapPosition = newSubDocument.positionManager.registerPosition(cell.endParagrapPosition.value - positionDelta);
                newRow.cells.push(newCell);
            }
        }
    }
    appendParticallyTable(newSubDocument, selectedCellInfos, newNestedLevel) {
        let minLeftColumnIndex = Number.MAX_VALUE;
        let maxRightColumnIndex = 0;
        let table = selectedCellInfos[0][0].cell.parentRow.parentTable;
        for (let i = 0, horCells; horCells = selectedCellInfos[i]; i++) {
            let leftColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getStartColumnIndex(horCells[0].cell);
            let rightColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getEndColumnIndex(horCells[horCells.length - 1].cell);
            minLeftColumnIndex = Math.min(minLeftColumnIndex, leftColumnIndex);
            maxRightColumnIndex = Math.max(maxRightColumnIndex, rightColumnIndex);
        }
        let newStartPosition = selectedCellInfos[0][0].cell.startParagraphPosition.value - selectedCellInfos[0][0].positionDelta;
        let newTable = this.createTable(newSubDocument, table, newNestedLevel, newStartPosition);
        newTable.preferredWidth = _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_19__/* .TableWidthUnit */ .CT.create(0, _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_19__/* .TableWidthUnitType */ .HO.Auto);
        for (let i = 0, horCellInfos; horCellInfos = selectedCellInfos[i]; i++) {
            let leftColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getStartColumnIndex(horCellInfos[0].cell);
            let rightColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getEndColumnIndex(horCellInfos[horCellInfos.length - 1].cell);
            let row = horCellInfos[0].cell.parentRow;
            let newRow = new _tables_main_structures_table_row__WEBPACK_IMPORTED_MODULE_18__/* .TableRow */ .S(newTable, newSubDocument.documentModel.cache.tableRowPropertiesCache.getItem(row.properties.clone()));
            newTable.rows.push(newRow);
            newRow.height = row.height.clone();
            newRow.gridBefore = leftColumnIndex - minLeftColumnIndex;
            newRow.gridAfter = maxRightColumnIndex - rightColumnIndex;
            for (let j = 0, cellInfo; cellInfo = horCellInfos[j]; j++) {
                let newCell = this.cloneTableCell(newSubDocument, newRow, cellInfo.cell);
                newCell.startParagraphPosition = newSubDocument.positionManager.registerPosition(cellInfo.cell.startParagraphPosition.value - cellInfo.positionDelta);
                newCell.endParagrapPosition = newSubDocument.positionManager.registerPosition(cellInfo.cell.endParagrapPosition.value - cellInfo.positionDelta);
                newRow.cells.push(newCell);
            }
        }
        _tables_tables_manipulator__WEBPACK_IMPORTED_MODULE_22__/* .TablesManipulator */ .i.normalizeCellColumnSpansWithoutHistory(newTable, true);
    }
    canCopyParticallyTable(selectedCellInfos) {
        if (selectedCellInfos.length === 0)
            return false;
        let prevRowEndPosition = selectedCellInfos[0][0].cell.parentRow.getEndPosition();
        let prevLeftColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getStartColumnIndex(selectedCellInfos[0][0].cell);
        let prevRightColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getEndColumnIndex(selectedCellInfos[0][selectedCellInfos[0].length - 1].cell);
        for (let i = 0, horCells; horCells = selectedCellInfos[i]; i++) {
            let prevCellEndPosition = horCells[0].cell.endParagrapPosition.value;
            for (let j = 1, cellInfo; cellInfo = horCells[j]; j++) {
                if (cellInfo.cell.startParagraphPosition.value !== prevCellEndPosition)
                    return false;
                prevCellEndPosition = cellInfo.cell.endParagrapPosition.value;
            }
            if (i > 0) {
                if (horCells[0].cell.parentRow.getStartPosition() !== prevRowEndPosition)
                    return false;
                let leftColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getStartColumnIndex(horCells[0].cell);
                let rightColumnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_20__/* .TableCellUtils */ .V.getEndColumnIndex(horCells[horCells.length - 1].cell);
                if (rightColumnIndex < prevLeftColumnIndex || leftColumnIndex > prevRightColumnIndex)
                    return false;
                prevRowEndPosition = horCells[0].cell.parentRow.getEndPosition();
            }
        }
        return true;
    }
    cloneTableCell(newSubDocument, newRow, sourceCell) {
        let newCell = new _tables_main_structures_table_cell__WEBPACK_IMPORTED_MODULE_17__/* .TableCell */ .p(newRow, newSubDocument.documentModel.cache.tableCellPropertiesCache.getItem(sourceCell.properties.clone()));
        newCell.columnSpan = sourceCell.columnSpan;
        newCell.conditionalFormatting = sourceCell.conditionalFormatting;
        newCell.preferredWidth = sourceCell.preferredWidth.clone();
        newCell.style = sourceCell.style;
        return newCell;
    }
    createTable(newSubDocument, oldTable, newNestedLevel, newDocumentStartPosition) {
        let newTableStyle = newSubDocument.documentModel.stylesManager.addTableStyle(oldTable.style);
        let newTable = new _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_16__/* .Table */ .iA(oldTable.properties.clone(), newTableStyle);
        newTable.nestedLevel = newNestedLevel;
        if (newNestedLevel > 0) {
            let newStartPosition = oldTable.getStartPosition() - newDocumentStartPosition;
            newTable.parentCell = _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_16__/* .Table */ .iA.getTableCellByPosition(newSubDocument.tables, newStartPosition);
        }
        newTable.index = newSubDocument.tables.push(newTable) - 1;
        this.mapSourceTableIndexToTarget[oldTable.index] = newTable.index;
        (newSubDocument.tablesByLevels[newNestedLevel] || (newSubDocument.tablesByLevels[newNestedLevel] = [])).push(newTable);
        return newTable;
    }
    getSelectedCells(table, intervals, prevLength) {
        let currentIntervalIndex = 0;
        let maxIntervalIndex = intervals.length - 1;
        let selectedCellInfos = [];
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            let horCells = [];
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                while (currentIntervalIndex <= maxIntervalIndex && intervals[currentIntervalIndex].end < cell.endParagrapPosition.value) {
                    if (this.additionalParagraphRunPositions[intervals[currentIntervalIndex].end])
                        prevLength++;
                    prevLength += intervals[currentIntervalIndex].length;
                    currentIntervalIndex++;
                }
                if (currentIntervalIndex > maxIntervalIndex)
                    break;
                if (intervals[currentIntervalIndex].containsInterval(cell.interval)) {
                    horCells.push(new TableCellInfo(cell, intervals[currentIntervalIndex].start - prevLength));
                }
            }
            if (horCells.length)
                selectedCellInfos.push(horCells);
            if (currentIntervalIndex > maxIntervalIndex)
                break;
        }
        return selectedCellInfos;
    }
}
class RangeCopy {
    constructor(model, addedUselessParagraphMarkInEnd, abstractNumberingListCache = {}, numberingListCache = {}, pictureSizeUpdater) {
        this.model = model;
        this.addedUselessParagraphMarkInEnd = addedUselessParagraphMarkInEnd;
        this.abstractNumberingListCache = abstractNumberingListCache;
        this.numberingListCache = numberingListCache;
        this.pictureSizeUpdater = pictureSizeUpdater;
    }
    insertTo(modelManipulator, subDocPosition, overlapTableCellContent = false) {
        const sourceInterval = new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval(0, this.model.mainSubDocument.getDocumentEndPosition()
            - (this.addedUselessParagraphMarkInEnd ? 1 : 0));
        const insertOptions = new _document_sub_document_inserter__WEBPACK_IMPORTED_MODULE_24__/* .SubDocumentInserterOptions */ .k();
        insertOptions.overlapTableCellContent = overlapTableCellContent;
        insertOptions.abstractNumberingListCache = this.abstractNumberingListCache;
        insertOptions.numberingListCache = this.numberingListCache;
        insertOptions.pictureSizeUpdater = this.pictureSizeUpdater;
        return modelManipulator.subDocument.insertSubDocument(subDocPosition, new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentInterval */ .v8(this.model.mainSubDocument, sourceInterval), insertOptions)
            .insetedInterval;
    }
    insertToTable(modelManipulator, insertPosition, targetTableInfo) {
        const sourceTable = this.model.mainSubDocument.tables[0];
        if (!sourceTable)
            return this.insertTo(modelManipulator, insertPosition);
        return this.overlapTableContent(modelManipulator, sourceTable, targetTableInfo);
    }
    overlapTableContent(modelManipulator, sourceTable, targetTableInfo) {
        let firstCellIndex = targetTableInfo.rawData.firstCellInfo.cellIndex;
        let lastCellIndex = targetTableInfo.rawData.lastCellInfo.cellIndex;
        let firstRowIndex = targetTableInfo.rawData.firstRowInfo.rowIndex;
        let lastRowIndex = targetTableInfo.rawData.lastRowInfo.rowIndex;
        if (firstCellIndex == lastCellIndex) {
            lastCellIndex = firstCellIndex + sourceTable.rows[0].cells.length - 1;
            if (firstRowIndex == lastRowIndex)
                lastRowIndex = firstRowIndex + sourceTable.rows.length - 1;
        }
        for (let i = firstRowIndex; i <= lastRowIndex; i++) {
            for (let j = firstCellIndex; j <= lastCellIndex; j++) {
                if (i >= targetTableInfo.table.rows.length)
                    return targetTableInfo.table.interval;
                this.overlapTableCellContent(modelManipulator, sourceTable, targetTableInfo, i, j);
            }
        }
        return targetTableInfo.table.interval;
    }
    overlapTableCellContent(modelManipulator, sourceTable, targetTableInfo, rowIndex, columnIndex) {
        const targetCell = targetTableInfo.table.rows[rowIndex].cells[columnIndex];
        if (!targetCell)
            return;
        const i = (rowIndex - targetTableInfo.rawData.firstRowInfo.rowIndex) % sourceTable.rows.length;
        const j = (columnIndex - targetTableInfo.rawData.firstCellInfo.cellIndex) % sourceTable.rows[i].cells.length;
        const sourceCell = sourceTable.rows[i].cells[j];
        const copyOperation = new CreateRangeCopyOperation(this.model.mainSubDocument, this.abstractNumberingListCache, this.numberingListCache);
        const rangeCopy = copyOperation.execute([sourceCell.interval]);
        modelManipulator.range.removeInterval(new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentInterval */ .v8(modelManipulator.model.mainSubDocument, targetCell.interval), false, true);
        rangeCopy.insertTo(modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_15__/* .SubDocumentPosition */ .rg(modelManipulator.model.mainSubDocument, targetCell.interval.start), true);
    }
    static create(subDocIntervals) {
        return new CreateRangeCopyOperation(subDocIntervals.subDocument, {}, {}).execute(subDocIntervals.intervals);
    }
}
class TableCellInfo {
    constructor(cell, positionDelta) {
        this.cell = cell;
        this.positionDelta = positionDelta;
    }
}


/***/ }),

/***/ 3501:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ RunsBaseManipulator; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6353);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2400);
/* harmony import */ var _floating_objects_anchor_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8868);
/* harmony import */ var _floating_objects_enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8927);
/* harmony import */ var _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4302);
/* harmony import */ var _floating_objects_text_box_properties__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9513);
/* harmony import */ var _runs_anchored_picture_run__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6781);
/* harmony import */ var _runs_anchored_text_box_run__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2534);
/* harmony import */ var _runs_inline_picture_run__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2442);
/* harmony import */ var _runs_inline_text_box_run__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(1585);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(3549);
/* harmony import */ var _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4330);
/* harmony import */ var _runs_text_run__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(3264);
/* harmony import */ var _shapes_shape__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(169);
/* harmony import */ var _base_manipulator__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(3109);
/* harmony import */ var _picture_manipulator_insert_picture_manipulator_params__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(4990);
















class RunsBaseManipulator extends _base_manipulator__WEBPACK_IMPORTED_MODULE_15__/* .BaseManipulator */ .G {
    insertRunInternal(subDocPos, charPropsBundle, type, text) {
        const subDocument = subDocPos.subDocument;
        let insertPositionAtStartDocument = subDocPos.position;
        const lastCharacterIndex = subDocument.getDocumentEndPosition();
        if (insertPositionAtStartDocument >= lastCharacterIndex)
            insertPositionAtStartDocument--;
        const chunkIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(subDocument.chunks, (c) => c.startLogPosition.value, insertPositionAtStartDocument);
        const chunk = subDocument.chunks[chunkIndex];
        const startOffsetAtChunk = insertPositionAtStartDocument - chunk.startLogPosition.value;
        let currentRunIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(chunk.textRuns, (r) => r.startOffset, startOffsetAtChunk);
        let currentRun = chunk.textRuns[currentRunIndex];
        const sectionIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(subDocument.documentModel.sections, (s) => s.startLogPosition.value, insertPositionAtStartDocument);
        subDocument.documentModel.sections[sectionIndex].setLength(subDocument, subDocument.documentModel.sections[sectionIndex].getLength() + text.length);
        chunk.textBuffer = [chunk.textBuffer.substr(0, startOffsetAtChunk), text, chunk.textBuffer.substr(startOffsetAtChunk)].join('');
        if (startOffsetAtChunk != currentRun.startOffset) {
            if (type == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun && currentRun.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun && currentRun.characterStyle.equalsByName(charPropsBundle.style) &&
                currentRun.maskedCharacterProperties.equals(charPropsBundle.props)) {
                currentRun.incLength(text.length);
                RunsBaseManipulator.moveRunsInChunk(chunk, currentRunIndex + 1, text.length);
                subDocument.positionManager.advance(insertPositionAtStartDocument, text.length, 1);
                return { chunkIndex: chunkIndex, runIndex: currentRunIndex };
            }
            chunk.splitRun(currentRunIndex, startOffsetAtChunk - currentRun.startOffset);
            currentRunIndex++;
            currentRun = chunk.textRuns[currentRunIndex];
        }
        subDocument.positionManager.advance(insertPositionAtStartDocument, text.length, 1);
        let newTextRun;
        const prevRun = chunk.textRuns[currentRunIndex - 1];
        if (prevRun && type == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun && prevRun.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun && prevRun.characterStyle.equalsByName(charPropsBundle.style) &&
            prevRun.maskedCharacterProperties.equals(charPropsBundle.props)) {
            prevRun.incLength(text.length);
            RunsBaseManipulator.moveRunsInChunk(chunk, currentRunIndex, text.length);
            return { chunkIndex: chunkIndex, runIndex: currentRunIndex - 1 };
        }
        else {
            if (type == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun && currentRun.getType() == _runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun && currentRun.characterStyle.equalsByName(charPropsBundle.style) &&
                currentRun.maskedCharacterProperties.equals(charPropsBundle.props)) {
                currentRun.incLength(text.length);
                RunsBaseManipulator.moveRunsInChunk(chunk, currentRunIndex + 1, text.length);
                return { chunkIndex: chunkIndex, runIndex: currentRunIndex };
            }
            else {
                newTextRun = RunTemplateCreatorHelper.createRun[type](startOffsetAtChunk, text.length, currentRun.paragraph, charPropsBundle);
                chunk.textRuns.splice(currentRunIndex, 0, newTextRun);
                RunsBaseManipulator.moveRunsInChunk(chunk, currentRunIndex + 1, text.length);
                return { chunkIndex: chunkIndex, runIndex: currentRunIndex };
            }
        }
    }
    static moveRunsInChunk(chunk, startRunIndex, offset) {
        for (let i = startRunIndex, run; run = chunk.textRuns[i]; i++)
            run.startOffset += offset;
    }
}
class RunTemplateCreatorHelper {
}
RunTemplateCreatorHelper.createRun = {
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.TextRun]: (startOffset, length, paragraph, charPropsBundle) => new _runs_text_run__WEBPACK_IMPORTED_MODULE_12__/* .TextRun */ .h(startOffset, length, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.ParagraphRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .ParagraphRun */ .uu(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.SectionRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .SectionRun */ .ME(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeStartRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .FieldCodeStartRun */ .ff(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldCodeEndRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .FieldCodeEndRun */ .YW(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FieldResultEndRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .FieldResultEndRun */ .Qn(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.AnchoredPictureRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_anchored_picture_run__WEBPACK_IMPORTED_MODULE_6__/* .AnchoredPictureRun */ .N(startOffset, paragraph, charPropsBundle, _picture_manipulator_insert_picture_manipulator_params__WEBPACK_IMPORTED_MODULE_14__/* .AnchorPictureInfo */ .wt.defaultInfo(null, new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(0, 0)), -1),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.AnchoredTextBoxRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_anchored_text_box_run__WEBPACK_IMPORTED_MODULE_7__/* .AnchoredTextBoxRun */ .s(startOffset, paragraph, charPropsBundle, new _shapes_shape__WEBPACK_IMPORTED_MODULE_13__/* .Shape */ .b(), -1, new _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_4__/* .AnchorTextBoxSize */ .ne(true, 0, new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(0, 0), new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(0, 0), _floating_objects_enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeWidthType */ .Fx.Page, _floating_objects_enums__WEBPACK_IMPORTED_MODULE_3__/* .RelativeHeightType */ .Cz.Page, true, true), new _floating_objects_anchor_info__WEBPACK_IMPORTED_MODULE_2__/* .AnchorInfo */ .i(), -1, new _floating_objects_text_box_properties__WEBPACK_IMPORTED_MODULE_5__/* .TextBoxProperties */ .Y()),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.InlinePictureRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_inline_picture_run__WEBPACK_IMPORTED_MODULE_8__/* .InlinePictureRun */ .p(startOffset, paragraph, charPropsBundle, _picture_manipulator_insert_picture_manipulator_params__WEBPACK_IMPORTED_MODULE_14__/* .InlinePictureInfo */ .AT.defaultInfo(null)),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.InlineTextBoxRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_inline_text_box_run__WEBPACK_IMPORTED_MODULE_9__/* .InlineTextBoxRun */ .f(startOffset, paragraph, charPropsBundle, new _shapes_shape__WEBPACK_IMPORTED_MODULE_13__/* .Shape */ .b(), -1, new _floating_objects_sizes__WEBPACK_IMPORTED_MODULE_4__/* .InlineTextBoxSize */ .QW(true, 0, new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(0, 0)), new _floating_objects_text_box_properties__WEBPACK_IMPORTED_MODULE_5__/* .TextBoxProperties */ .Y()),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.LayoutDependentRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .LayoutDependentRun */ .Gt(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.FootNoteRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .FootNoteRun */ .Qc(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.EndNoteRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .EndNoteRun */ .Ie(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.NoteSeparatorRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .NoteSeparatorRun */ .h_(startOffset, paragraph, charPropsBundle),
    [_runs_run_type__WEBPACK_IMPORTED_MODULE_10__/* .RunType */ .m.NoteContinuationSeparatorRun]: (startOffset, _length, paragraph, charPropsBundle) => new _runs_simple_runs__WEBPACK_IMPORTED_MODULE_11__/* .NoteContinuationSeparatorRun */ .hs(startOffset, paragraph, charPropsBundle)
};


/***/ }),

/***/ 3605:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   VM: function() { return /* binding */ DeleteOneTableCellWithShiftToTheUpOperation; },
/* harmony export */   Xl: function() { return /* binding */ InsertTableCellWithShiftToTheDownOperation; },
/* harmony export */   cT: function() { return /* binding */ MergeTwoTableCellsVerticallyOperation; },
/* harmony export */   pT: function() { return /* binding */ MergeTwoTableCellsHorizontallyOperation; }
/* harmony export */ });
/* unused harmony export MergeTableCellsOperationBase */
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6690);
/* harmony import */ var _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7354);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8096);
/* harmony import */ var _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8707);
/* harmony import */ var _tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2993);
/* harmony import */ var _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(247);
/* harmony import */ var _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4857);
/* harmony import */ var _tables_table_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(935);
/* harmony import */ var _paragraph_manipulator_insert_paragraph_manipulator_params__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(7970);










class MergeTableCellsOperationBase {
    get modelManipulator() { return this.modelManager.modelManipulator; }
    constructor(modelManager, subDocument) {
        this.needDeleteNextTableCell = false;
        this.modelManager = modelManager;
        this.subDocument = subDocument;
    }
    execute(position, suppressNormalizeTableRows, inpPos) {
        let nextCellPosition = this.calculateNextCell(position);
        this.updateCellsProperties(position, nextCellPosition);
        let nextCell = nextCellPosition.cell;
        let cell = position.cell;
        let isEmptyCell = this.isEmptyCell(cell);
        let isEmptyNextCell = this.isEmptyCell(nextCell);
        if (!isEmptyNextCell) {
            let insertPosition = cell.endParagrapPosition.value - 1;
            let nextCellLastParagraph = this.subDocument.paragraphs[this.getCellLastParagraphIndex(nextCell)];
            if (!isEmptyCell) {
                this.modelManager.modelManipulator.paragraph.insertParagraphViaHistory(_paragraph_manipulator_insert_paragraph_manipulator_params__WEBPACK_IMPORTED_MODULE_9__/* .InsertParagraphManipulatorParams */ .n.makeParamsByPosition(new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentPosition */ .rg(this.subDocument, insertPosition), inpPos));
                insertPosition++;
            }
            this.applyParagraphProperties(this.getCellLastParagraphIndex(cell), nextCellLastParagraph);
            this.modelManager.modelManipulator.range.copyIntervalTo(this.subDocument, _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(nextCell.startParagraphPosition.value, nextCell.endParagrapPosition.value - 1), insertPosition);
        }
        this.deleteTableCellWithContent(nextCellPosition);
        this.modelManipulator.table.normalizeCellColumnSpans(this.subDocument, position.table, true);
        if (!suppressNormalizeTableRows)
            this.modelManipulator.table.normalizeRows(this.subDocument, cell.parentRow.parentTable);
    }
    getCellLastParagraphIndex(cell) {
        return this.subDocument.getParagraphIndexByPosition(cell.endParagrapPosition.value - 1);
    }
    applyParagraphProperties(targetIndex, source) {
        let target = this.subDocument.paragraphs[targetIndex];
        if (!target.maskedParagraphProperties.equals(source.maskedParagraphProperties) || target.numberingListIndex !== source.numberingListIndex || target.listLevelIndex !== source.listLevelIndex || target.tabs.equals(source.tabs) || target.paragraphStyle !== source.paragraphStyle)
            this.modelManager.history.addAndRedo(new _history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphPropertiesHistoryItem */ .Ci(this.modelManager.modelManipulator, this.subDocument, targetIndex, source.maskedParagraphProperties, source.paragraphStyle, source.numberingListIndex, source.listLevelIndex, source.tabs));
    }
    deleteTableCellWithContent(nextCellPosition) {
        if (this.needDeleteNextTableCell)
            this.modelManipulator.table.removeTableCellWithContent(this.subDocument, nextCellPosition.table, nextCellPosition.rowIndex, nextCellPosition.cellIndex);
        else {
            let nextCell = nextCellPosition.cell;
            this.modelManager.modelManipulator.range.removeInterval(new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(this.subDocument, _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(nextCell.startParagraphPosition.value, nextCell.endParagrapPosition.value - 1)), true, false);
        }
    }
    isEmptyCell(cell) {
        return cell.endParagrapPosition.value - cell.startParagraphPosition.value === 1;
    }
}
class MergeTwoTableCellsHorizontallyOperation extends MergeTableCellsOperationBase {
    constructor() {
        super(...arguments);
        this.needDeleteNextTableCell = true;
    }
    calculateNextCell(position) {
        let nextCellIndex = position.cellIndex + 1;
        return _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_4__/* .TablePosition */ .TR.createAndInit(position.table, position.rowIndex, nextCellIndex);
    }
    updateCellsProperties(patternCellPosition, nextCellPosition) {
        let patternCell = patternCellPosition.cell;
        let nextCell = nextCellPosition.cell;
        this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellColumnSpanHistoryItem */ .Hg(this.modelManager.modelManipulator, this.subDocument, patternCellPosition.table.index, patternCellPosition.rowIndex, patternCellPosition.cellIndex, patternCell.columnSpan + nextCell.columnSpan));
        let patternCellPreferredWidth = patternCell.preferredWidth;
        let nextCellPreferredWidth = nextCell.preferredWidth;
        if (patternCellPreferredWidth && nextCellPreferredWidth && nextCellPreferredWidth.type === patternCellPreferredWidth.type) {
            let newPreferredWidth = _tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_7__/* .TableWidthUnit */ .CT.create(patternCellPreferredWidth.value + nextCellPreferredWidth.value, patternCellPreferredWidth.type);
            this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellPreferredWidthHistoryItem */ .If(this.modelManager.modelManipulator, this.subDocument, patternCellPosition.table.index, patternCellPosition.rowIndex, patternCellPosition.cellIndex, newPreferredWidth));
        }
    }
}
class MergeTwoTableCellsVerticallyOperation extends MergeTableCellsOperationBase {
    calculateNextCell(position) {
        let nextRowIndex = position.rowIndex + 1;
        let nextRow = position.table.rows[nextRowIndex];
        let columnIndex = _tables_table_utils__WEBPACK_IMPORTED_MODULE_8__/* .TableCellUtils */ .V.getStartColumnIndex(position.cell);
        return _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_4__/* .TablePosition */ .TR.createAndInit(position.table, nextRowIndex, _tables_table_utils__WEBPACK_IMPORTED_MODULE_8__/* .TableCellUtils */ .V.getCellIndexByColumnIndex(nextRow, columnIndex));
    }
    updateCellsProperties(patternCellPosition, nextCellPosition) {
        this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellVerticalMergingHistoryItem */ .DW(this.modelManager.modelManipulator, this.subDocument, patternCellPosition.table.index, patternCellPosition.rowIndex, patternCellPosition.cellIndex, _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.Restart));
        this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellVerticalMergingHistoryItem */ .DW(this.modelManager.modelManipulator, this.subDocument, nextCellPosition.table.index, nextCellPosition.rowIndex, nextCellPosition.cellIndex, _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.Continue));
    }
}
class InsertTableCellWithShiftToTheDownOperation extends MergeTableCellsOperationBase {
    calculateNextCell(position) {
        return _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_4__/* .TablePosition */ .TR.createAndInit(position.table, position.rowIndex - 1, position.cellIndex);
    }
    updateCellsProperties(patternCellPosition, nextCellPosition) {
        let manipulator = this.modelManager.modelManipulator;
        let subDocument = this.subDocument;
        this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellBordersHistoryItem */ .ZA(manipulator, subDocument, patternCellPosition.table.index, patternCellPosition.rowIndex, patternCellPosition.cellIndex, [
            nextCellPosition.cell.properties.borders.top.clone(),
            nextCellPosition.cell.properties.borders.right.clone(),
            nextCellPosition.cell.properties.borders.bottom.clone(),
            nextCellPosition.cell.properties.borders.left.clone(),
            nextCellPosition.cell.properties.borders.topLeftDiagonal.clone(),
            nextCellPosition.cell.properties.borders.topRightDiagonal.clone()
        ], [nextCellPosition.cell.properties.getUseValue(_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTopBorder),
            nextCellPosition.cell.properties.getUseValue(_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseRightBorder),
            nextCellPosition.cell.properties.getUseValue(_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseBottomBorder),
            nextCellPosition.cell.properties.getUseValue(_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseLeftBorder),
            nextCellPosition.cell.properties.getUseValue(_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTopLeftDiagonalBorder),
            nextCellPosition.cell.properties.getUseValue(_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTopRightDiagonalBorder)]));
        this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellShadingInfoHistoryItem */ .F2(manipulator, subDocument, patternCellPosition.table.index, patternCellPosition.rowIndex, patternCellPosition.cellIndex, nextCellPosition.cell.properties.shadingInfo, true));
        this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellVerticalAlignmentHistoryItem */ .Zv(manipulator, subDocument, patternCellPosition.table.index, patternCellPosition.rowIndex, patternCellPosition.cellIndex, nextCellPosition.cell.properties.verticalAlignment, true));
    }
    deleteTableCellWithContent(nextCellPosition) {
        let nextCell = nextCellPosition.cell;
        if (nextCell.endParagrapPosition.value - nextCell.startParagraphPosition.value > 1)
            this.modelManager.modelManipulator.range.removeInterval(new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(this.subDocument, _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(nextCell.startParagraphPosition.value, nextCell.endParagrapPosition.value - 1)), true, false);
    }
}
class DeleteOneTableCellWithShiftToTheUpOperation extends MergeTwoTableCellsVerticallyOperation {
    execute(position, suppressNormalizeTableRows, inpPos) {
        if (position.rowIndex === position.table.rows.length - 1)
            this.deleteContentFromCell(position.cell);
        else {
            this.deleteContentFromCell(position.cell);
            super.execute(position, suppressNormalizeTableRows, inpPos);
        }
    }
    updateCellsProperties(patternCellPosition, nextCellPosition) {
        if (patternCellPosition.cell.verticalMerging === _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.Restart) {
            this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellVerticalMergingHistoryItem */ .DW(this.modelManager.modelManipulator, this.subDocument, patternCellPosition.table.index, patternCellPosition.rowIndex, patternCellPosition.cellIndex, _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.None));
            if (nextCellPosition.rowIndex === nextCellPosition.table.rows.length - 1)
                this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellVerticalMergingHistoryItem */ .DW(this.modelManager.modelManipulator, this.subDocument, nextCellPosition.table.index, nextCellPosition.rowIndex, nextCellPosition.cellIndex, _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.None));
            else {
                let afterNextCellPosition = this.calculateNextCell(nextCellPosition);
                if (afterNextCellPosition.cell && afterNextCellPosition.cell.verticalMerging === _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.Continue)
                    this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellVerticalMergingHistoryItem */ .DW(this.modelManager.modelManipulator, this.subDocument, nextCellPosition.table.index, nextCellPosition.rowIndex, nextCellPosition.cellIndex, _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.Restart));
                else
                    this.modelManager.history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_2__/* .TableCellVerticalMergingHistoryItem */ .DW(this.modelManager.modelManipulator, this.subDocument, nextCellPosition.table.index, nextCellPosition.rowIndex, nextCellPosition.cellIndex, _tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_6__/* .TableCellMergingState */ .Z3.None));
            }
        }
    }
    deleteContentFromCell(cell) {
        let cellInterval = cell.interval;
        if (--cellInterval.length > 0)
            this.modelManager.modelManipulator.range.removeInterval(new _sub_document__WEBPACK_IMPORTED_MODULE_3__/* .SubDocumentInterval */ .v8(this.subDocument, cellInterval), true, false);
    }
}


/***/ }),

/***/ 159:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  i: function() { return /* binding */ TablesManipulator; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
// EXTERNAL MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/column-width-engine/calculator.ts + 2 modules
var calculator = __webpack_require__(9042);
// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/borders/enums.ts
var enums = __webpack_require__(4265);
// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var changes_enums = __webpack_require__(300);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/style/table-style-changed.ts

class TableStyleChangedSubDocumentChange {
    constructor(subDocumentId, table, newStyle) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.newStyle = newStyle;
        this.type = changes_enums/* ModelChangeType */.f.TableStyleChanged;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/cell-inserted.ts

class TableCellInsertedSubDocumentChange {
    constructor(subDocumentId, table, rowIndex, cellIndex) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.type = changes_enums/* ModelChangeType */.f.TableCellInserted;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/cell-merged-horizontally.ts

class TableCellMergedHorizontallySubDocumentChange {
    constructor(subDocumentId, table, rowIndex, cellIndex, rightDirection) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.rightDirection = rightDirection;
        this.type = changes_enums/* ModelChangeType */.f.TableCellMergedHorizontally;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/cell-removed.ts

class TableCellRemovedSubDocumentChange {
    constructor(subDocumentId, table, rowIndex, cellIndex) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.type = changes_enums/* ModelChangeType */.f.TableCellRemoved;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/cell-splitted-horizontally.ts

class TableCellSplittedHorizontallySubDocumentChange {
    constructor(subDocumentId, table, rowIndex, cellIndex, rightDirection) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.rightDirection = rightDirection;
        this.type = changes_enums/* ModelChangeType */.f.TableCellSplittedHorizontally;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/created.ts

class TableCreatedSubDocumentChange {
    constructor(subDocumentId, table) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.type = changes_enums/* ModelChangeType */.f.TableCreated;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/removed.ts

class TableRemovedSubDocumentChange {
    constructor(subDocumentId, startPosition, endPosition, nestedLevel, removedText) {
        this.subDocumentId = subDocumentId;
        this.startPosition = startPosition;
        this.endPosition = endPosition;
        this.nestedLevel = nestedLevel;
        this.removedText = removedText;
        this.type = changes_enums/* ModelChangeType */.f.TableRemoved;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/row-inserted.ts

class TableRowInsertedSubDocumentChange {
    constructor(subDocumentId, table, rowIndex) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.rowIndex = rowIndex;
        this.type = changes_enums/* ModelChangeType */.f.TableRowInserted;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/row-removed.ts

class TableRowRemovedSubDocumentChange {
    constructor(subDocumentId, table, rowIndex) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.rowIndex = rowIndex;
        this.type = changes_enums/* ModelChangeType */.f.TableRowRemoved;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/start-position-shifted.ts

class TableStartPositionShiftedSubDocumentChange {
    constructor(subDocumentId, table, oldPosition, newPosition) {
        this.subDocumentId = subDocumentId;
        this.table = table;
        this.oldPosition = oldPosition;
        this.newPosition = newPosition;
        this.type = changes_enums/* ModelChangeType */.f.TableStartPositionShifted;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/paragraph-properties-history-items.ts
var paragraph_properties_history_items = __webpack_require__(6690);
// EXTERNAL MODULE: ./src/common/model/history/items/remove-interval-history-item.ts
var remove_interval_history_item = __webpack_require__(2038);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/change-table-cell-history-items.ts
var change_table_cell_history_items = __webpack_require__(9406);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/create-table-history-item.ts
var create_table_history_item = __webpack_require__(7460);
;// CONCATENATED MODULE: ./src/common/model/history/items/tables/remove-table-cell-history-item.ts

class RemoveTableCellHistoryItem extends create_table_history_item/* TableBasedHistoryItem */.H {
    constructor(modelManipulator, subDocument, tableIndex, rowIndex, cellIndex) {
        super(modelManipulator, subDocument, tableIndex);
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        this.cell = this.getTable().rows[rowIndex].cells[cellIndex];
        this.length = this.cell.interval.length;
    }
    redo() {
        this.modelManipulator.table.removeCell(this.boundSubDocument, this.getTable(), this.rowIndex, this.cellIndex);
    }
    undo() {
        this.modelManipulator.table.insertCell(this.boundSubDocument, this.getTable(), this.rowIndex, this.cellIndex, this.cell, this.length);
    }
}

;// CONCATENATED MODULE: ./src/common/model/history/items/tables/remove-table-history-item.ts

class RemoveTableHistoryItem extends create_table_history_item/* TableBasedHistoryItem */.H {
    redo() {
        this.table = this.getTable();
        this.cellsRanges = create_table_history_item/* TableBasedHistoryItem */.H.getTableCellsRanges(this.table);
        this.modelManipulator.table.removeTable(this.boundSubDocument, this.table);
    }
    undo() {
        this.modelManipulator.table.restoreRemovedTable(this.boundSubDocument, this.table, this.cellsRanges);
    }
}

;// CONCATENATED MODULE: ./src/common/model/history/items/tables/remove-table-row-history-item.ts

class RemoveTableRowHistoryItem extends create_table_history_item/* TableBasedHistoryItem */.H {
    constructor(modelManipulator, subDocument, tableIndex, rowIndex) {
        super(modelManipulator, subDocument, tableIndex);
        this.rowIndex = rowIndex;
    }
    redo() {
        const table = this.getTable();
        this.oldRow = table.rows[this.rowIndex];
        this.cellIntervals = create_table_history_item/* TableBasedHistoryItem */.H.getRowCellsRanges(this.oldRow);
        this.modelManipulator.table.removeRow(this.boundSubDocument, table.index, this.rowIndex);
    }
    undo() {
        this.modelManipulator.table.insertRow(this.boundSubDocument, this.getTable().index, this.oldRow, this.rowIndex, this.cellIntervals);
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/tables/table-cell-properties-history-items.ts
var table_cell_properties_history_items = __webpack_require__(7354);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/table-properties-history-items.ts
var table_properties_history_items = __webpack_require__(4485);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/table-row-properties-history-items.ts
var table_row_properties_history_items = __webpack_require__(934);
// EXTERNAL MODULE: ./src/common/model/model-iterator.ts
var model_iterator = __webpack_require__(7747);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var main_structures_table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-cell.ts
var table_cell = __webpack_require__(8565);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table-row.ts
var table_row = __webpack_require__(7509);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-cell-properties.ts + 1 modules
var table_cell_properties = __webpack_require__(2993);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-properties.ts + 1 modules
var table_properties = __webpack_require__(6537);
// EXTERNAL MODULE: ./src/common/model/tables/properties/table-row-properties.ts
var table_row_properties = __webpack_require__(8222);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
// EXTERNAL MODULE: ./src/common/model/tables/table-utils.ts
var table_utils = __webpack_require__(935);
// EXTERNAL MODULE: ./src/common/model/manipulators/base-manipulator.ts
var base_manipulator = __webpack_require__(3109);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/insert-paragraph-manipulator-params.ts
var insert_paragraph_manipulator_params = __webpack_require__(7970);
// EXTERNAL MODULE: ./src/common/model/history/items/tables/split-table-cell-history-item.ts
var split_table_cell_history_item = __webpack_require__(6564);
;// CONCATENATED MODULE: ./src/common/model/manipulators/tables/insert-table-cell-operation.ts








class InsertTableCellOperationBase {
    get modelManipulator() { return this.modelManager.modelManipulator; }
    constructor(modelManager, subDocument) {
        this.subDocument = subDocument;
        this.modelManager = modelManager;
    }
    execute(table, rowIndex, cellIndex, inpPos, options) {
        let row = table.rows[rowIndex];
        let cell = row.cells[cellIndex];
        let patternCellStartColumnIndex = table_utils/* TableCellUtils */.V.getStartColumnIndex(cell);
        let restartCellPosition = main_structures_table/* Table */.iA.getFirstCellPositionInVerticalMergingGroup(main_structures_table/* TablePosition */.TR.createAndInit(table, rowIndex, cellIndex));
        let verticalSpanCellsPositions = table_utils/* TableCellUtils */.V.getVerticalSpanCellPositions(restartCellPosition, patternCellStartColumnIndex);
        for (let i = verticalSpanCellsPositions.length - 1, pos; pos = verticalSpanCellsPositions[i]; i--) {
            if (options.canNormalizeVerticalMerging)
                this.modelManipulator.table.normalizeVerticalMerging(this.subDocument, table, pos.rowIndex, pos.cellIndex);
            this.insertTableCellCore(this.subDocument, pos, inpPos, options);
        }
        if (options.canNormalizeTable) {
            this.normalizeTableGridAfter(table);
            this.modelManipulator.table.normalizeCellColumnSpans(this.subDocument, table, true);
        }
    }
    normalizeTableGridAfter(table) {
        let maxEndColumnIndex = 0;
        let endColumnIndices = [];
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            let lastCell = row.cells[row.cells.length - 1];
            let currentEndColumnIndex = table_utils/* TableCellUtils */.V.getEndColumnIndex(lastCell) + row.gridAfter;
            endColumnIndices.push(currentEndColumnIndex);
            maxEndColumnIndex = Math.max(maxEndColumnIndex, currentEndColumnIndex);
        }
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            let currentEndColumnIndex = endColumnIndices[rowIndex];
            let delta = maxEndColumnIndex - currentEndColumnIndex;
            if (delta > 0)
                this.modelManager.history.addAndRedo(new table_row_properties_history_items/* TableRowGridAfterHistoryItem */.Ix(this.modelManager.modelManipulator, this.subDocument, table.index, rowIndex, row.gridAfter + delta));
        }
    }
}
class InsertTableCellToTheLeftOperation extends InsertTableCellOperationBase {
    insertTableCellCore(subDocument, pos, inpPos, options) {
        this.modelManipulator.table.insertParagraphToTheCellStartAndShiftContent(subDocument, pos.cell, inpPos);
        this.modelManager.history.addAndRedo(new split_table_cell_history_item/* SplitTableCellToTheLeftHistoryItem */.R(this.modelManager.modelManipulator, subDocument, pos.table.index, pos.rowIndex, pos.cellIndex, options.canCopyProperties));
        if (pos.cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.None)
            this.modelManager.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManager.modelManipulator, subDocument, pos.table.index, pos.rowIndex, pos.cellIndex, pos.cell.verticalMerging));
    }
}
class InsertTableCellToTheRightOperation extends InsertTableCellOperationBase {
    insertTableCellCore(subDocument, pos, inpPos, options) {
        this.modelManager.modelManipulator.paragraph.insertParagraphViaHistory(insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n.makeParamsByPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, pos.cell.endParagrapPosition.value - 1), inpPos, options.needToSetNextStyle));
        this.modelManager.history.addAndRedo(new split_table_cell_history_item/* SplitTableCellToTheRightHistoryItem */.l(this.modelManager.modelManipulator, subDocument, pos.table.index, pos.rowIndex, pos.cellIndex, options.canCopyProperties));
        if (pos.cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.None)
            this.modelManager.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManager.modelManipulator, subDocument, pos.table.index, pos.rowIndex, pos.cellIndex + 1, pos.cell.verticalMerging));
    }
}

// EXTERNAL MODULE: ./src/common/model/history/items/insert-paragraph-history-item.ts
var insert_paragraph_history_item = __webpack_require__(262);
;// CONCATENATED MODULE: ./src/common/model/history/items/tables/insert-table-row-history-item.ts

class InsertTableRowHistoryItem extends create_table_history_item/* TableBasedHistoryItem */.H {
    constructor(modelManipulator, boundSubDocument, tableIndex, patternRow, targetRowIndex, cellIntervals) {
        super(modelManipulator, boundSubDocument, tableIndex);
        this.targetRowIndex = targetRowIndex;
        this.cellIntervals = cellIntervals;
        this.patternRow = patternRow;
    }
    redo() {
        this.modelManipulator.table.insertRow(this.boundSubDocument, this.tableIndex, this.patternRow, this.targetRowIndex, this.cellIntervals);
    }
    undo() {
        this.modelManipulator.table.removeRow(this.boundSubDocument, this.tableIndex, this.targetRowIndex);
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/tables/insert-table-row-operation.ts








class InsertTableRowOperationBase {
    get modelManipulator() { return this.modelManager.modelManipulator; }
    constructor(modelManager, subDocument) {
        this.modelManager = modelManager;
        this.subDocument = subDocument;
    }
    execute(table, patternRowIndex) {
        let patternRow = table.rows[patternRowIndex];
        let insertParagraphsPositionInfo = this.getInsertParagraphsPositionInfo(table, patternRowIndex);
        this.insertParagraphs(this.subDocument, insertParagraphsPositionInfo, patternRow);
        patternRowIndex = this.insertRowsCore(table, patternRowIndex);
        this.correctVerticalMerging(this.subDocument, table, patternRowIndex);
    }
    insertParagraphs(subDocument, insertPosition, patternRow) {
        const patternCells = patternRow.cells;
        const propertyBundles = {};
        for (let i = patternCells.length - 1, patternCell; patternCell = patternCells[i]; i--) {
            const pos = patternCell.startParagraphPosition.value;
            const patternCellRun = subDocument.getRunByPosition(pos);
            const patternCellParagraph = subDocument.getParagraphByPosition(pos);
            propertyBundles[i] = {
                charBundle: patternCellRun.getCharPropsBundle(subDocument.documentModel),
                paragraphBundle: patternCellParagraph.getParagraphBundleFull(subDocument.documentModel)
            };
        }
        let needShiftCellContent = !!insertPosition.cell;
        for (let i = patternCells.length - 1; i >= 0; i--) {
            const propertyBundle = propertyBundles[i];
            this.modelManager.history.addAndRedo(new insert_paragraph_history_item/* InsertParagraphHistoryItem */.H(this.modelManager.modelManipulator, new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(new sub_document/* SubDocumentPosition */.rg(subDocument, insertPosition.position), propertyBundle.charBundle, propertyBundle.paragraphBundle)));
            if (needShiftCellContent) {
                this.modelManipulator.table.shiftContent(this.subDocument, insertPosition.cell);
                needShiftCellContent = false;
            }
        }
    }
}
class InsertTableRowAboveOperation extends InsertTableRowOperationBase {
    insertRowsCore(table, patternRowIndex) {
        var newCellsIntervals = [];
        var patternRow = table.rows[patternRowIndex];
        var newCellStartPosition = patternRow.getStartPosition();
        var cellsCount = patternRow.cells.length;
        for (var i = 0; i < cellsCount; i++)
            newCellsIntervals.push(new fixed.FixedInterval(newCellStartPosition + i, 1));
        this.modelManager.history.addAndRedo(new InsertTableRowHistoryItem(this.modelManager.modelManipulator, this.subDocument, table.index, table.rows[patternRowIndex], patternRowIndex, newCellsIntervals));
        return patternRowIndex + 1;
    }
    getInsertParagraphsPositionInfo(table, patternRowIndex) {
        return {
            cell: table.rows[patternRowIndex].cells[0],
            position: table.rows[patternRowIndex].getStartPosition()
        };
    }
    correctVerticalMerging(subDocument, table, patternRowIndex) {
        let patternRow = table.rows[patternRowIndex];
        for (let i = 0, patternCell; patternCell = patternRow.cells[i]; i++) {
            if (patternCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart)
                this.modelManager.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManager.modelManipulator, subDocument, table.index, patternRowIndex - 1, i, table_base_structures/* TableCellMergingState */.Z3.None));
        }
    }
}
class InsertTableRowBelowOperation extends InsertTableRowOperationBase {
    insertRowsCore(table, patternRowIndex) {
        var newCellsIntervals = [];
        var patternRow = table.rows[patternRowIndex];
        var newCellStartPosition = patternRow.getEndPosition();
        var cellsCount = patternRow.cells.length;
        for (var i = 0; i < cellsCount; i++)
            newCellsIntervals.push(new fixed.FixedInterval(newCellStartPosition + i, 1));
        this.modelManager.history.addAndRedo(new InsertTableRowHistoryItem(this.modelManager.modelManipulator, this.subDocument, table.index, table.rows[patternRowIndex], patternRowIndex + 1, newCellsIntervals));
        return patternRowIndex;
    }
    getInsertParagraphsPositionInfo(table, patternRowIndex) {
        return {
            cell: table.rows[patternRowIndex + 1] ? table.rows[patternRowIndex + 1].cells[0] : null,
            position: table.rows[patternRowIndex].getEndPosition()
        };
    }
    correctVerticalMerging(subDocument, table, patternRowIndex) {
        let patternRow = table.rows[patternRowIndex];
        let newRowIndex = patternRowIndex + 1;
        let nextRow = table.rows[newRowIndex + 1];
        for (let i = 0, patternCell; patternCell = patternRow.cells[i]; i++) {
            if (patternCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue) {
                if (!nextRow)
                    this.modelManager.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManager.modelManipulator, subDocument, table.index, newRowIndex, i, table_base_structures/* TableCellMergingState */.Z3.None));
                else {
                    let sourceCellStartColumnIndex = table_utils/* TableCellUtils */.V.getStartColumnIndex(patternCell);
                    let indexInNextRow = table_utils/* TableCellUtils */.V.getAbsoluteCellIndexInRow(nextRow, sourceCellStartColumnIndex);
                    if (nextRow.cells[indexInNextRow].verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                        this.modelManager.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManager.modelManipulator, subDocument, table.index, newRowIndex, i, table_base_structures/* TableCellMergingState */.Z3.None));
                }
            }
            else if (patternCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart)
                this.modelManager.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManager.modelManipulator, subDocument, table.index, newRowIndex, i, table_base_structures/* TableCellMergingState */.Z3.Continue));
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/tables/merge-table-cells-operation.ts
var merge_table_cells_operation = __webpack_require__(3605);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/cell-property-changed.ts

class TableCellPropertyChangedSubDocumentChange {
    get subDocumentId() { return this.subDocument.id; }
    constructor(subDocument, property, newState) {
        this.subDocument = subDocument;
        this.property = property;
        this.newState = newState;
        this.type = changes_enums/* ModelChangeType */.f.TableCellPropertyChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/history/states/history-item-state.ts
var history_item_state = __webpack_require__(1279);
// EXTERNAL MODULE: ./src/common/model/history/states/history-item-state-object.ts
var history_item_state_object = __webpack_require__(7035);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-cell-enums.ts
var json_table_cell_enums = __webpack_require__(8356);
;// CONCATENATED MODULE: ./src/common/model/manipulators/tables/table-cell-properties-manipulator.ts





class TableCellPropertiesManipulator {
    constructor(manipulator) {
        this.cellMargins = new TableCellComplexPropertyWithUseManipulator(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.CellMargins, [table_cell_properties/* TableCellPropertiesMask */.WO.UseTopMargin, table_cell_properties/* TableCellPropertiesMask */.WO.UseRightMargin, table_cell_properties/* TableCellPropertiesMask */.WO.UseBottomMargin, table_cell_properties/* TableCellPropertiesMask */.WO.UseLeftMargin], (prop, vals) => {
            prop.cellMargins.top = vals[0] || prop.cellMargins.top;
            prop.cellMargins.right = vals[1] || prop.cellMargins.right;
            prop.cellMargins.bottom = vals[2] || prop.cellMargins.bottom;
            prop.cellMargins.left = vals[3] || prop.cellMargins.left;
        }, (prop) => [prop.cellMargins.top, prop.cellMargins.right, prop.cellMargins.bottom, prop.cellMargins.left]);
        this.borders = new TableCellComplexPropertyWithUseManipulator(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.Borders, [table_cell_properties/* TableCellPropertiesMask */.WO.UseTopBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseRightBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseBottomBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseLeftBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseTopLeftDiagonalBorder, table_cell_properties/* TableCellPropertiesMask */.WO.UseTopRightDiagonalBorder], (prop, vals) => {
            prop.borders.top = vals[0] || prop.borders.top;
            prop.borders.right = vals[1] || prop.borders.right;
            prop.borders.bottom = vals[2] || prop.borders.bottom;
            prop.borders.left = vals[3] || prop.borders.left;
            prop.borders.topLeftDiagonal = vals[4] || prop.borders.topLeftDiagonal;
            prop.borders.topRightDiagonal = vals[5] || prop.borders.topRightDiagonal;
        }, (prop) => [prop.borders.top, prop.borders.right, prop.borders.bottom, prop.borders.left, prop.borders.topLeftDiagonal, prop.borders.topRightDiagonal]);
        this.preferredWidth = new TableCellPropertiesManipulatorCore(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.PreferredWidth, (cell, val) => cell.preferredWidth = val, (cell) => cell.preferredWidth);
        this.hideCellMark = new TableCellPropertiesWithUseManipulatorCore(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.HideCellMark, table_cell_properties/* TableCellPropertiesMask */.WO.UseHideCellMark, (prop, val) => prop.hideCellMark = val, (prop) => prop.hideCellMark);
        this.noWrap = new TableCellPropertiesWithUseManipulatorCore(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.NoWrap, table_cell_properties/* TableCellPropertiesMask */.WO.UseNoWrap, (prop, val) => prop.noWrap = val, (prop) => prop.noWrap);
        this.fitText = new TableCellPropertiesWithUseManipulatorCore(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.FitText, table_cell_properties/* TableCellPropertiesMask */.WO.UseFitText, (prop, val) => prop.fitText = val, (prop) => prop.fitText);
        this.textDirection = new TableCellPropertiesWithUseManipulatorCore(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.TextDirection, table_cell_properties/* TableCellPropertiesMask */.WO.UseTextDirection, (prop, val) => prop.textDirection = val, (prop) => prop.textDirection);
        this.verticalAlignment = new TableCellPropertiesWithUseManipulatorCore(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.VerticalAlignment, table_cell_properties/* TableCellPropertiesMask */.WO.UseVerticalAlignment, (prop, val) => prop.verticalAlignment = val, (prop) => prop.verticalAlignment);
        this.shadingInfo = new TableCellPropertiesWithUseManipulatorCore(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.ShadingInfo, table_cell_properties/* TableCellPropertiesMask */.WO.UseShadingInfoIndex, (prop, val) => prop.shadingInfo = val, (prop) => prop.shadingInfo);
        this.columnSpan = new TableCellPropertyManipulator(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.ColumnSpan, (cell, val) => cell.columnSpan = val, cell => cell.columnSpan);
        this.verticalMerging = new TableCellPropertyManipulator(manipulator, json_table_cell_enums/* JSONServerTableCellProperty */.zH.VerticalMerging, (cell, val) => cell.verticalMerging = val, cell => cell.verticalMerging);
    }
}
class TableCellPropertiesManipulatorCore {
    constructor(manipulator, jsonTableCellProperty, setProperty, getProperty) {
        this.manipulator = manipulator;
        this.jsonTableCellProperty = jsonTableCellProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(subDocument, tableIndex, rowIndex, cellIndex, newValue) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let row = table.rows[rowIndex];
        let cell = row.cells[cellIndex];
        oldState.register(new history_item_state_object/* HistoryItemTableCellStateObject */.$E(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, this.getProperty(cell)));
        this.setProperty(cell, newValue);
        newState.register(new history_item_state_object/* HistoryItemTableCellStateObject */.$E(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, newValue));
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        let row = table.rows[state.lastObject.rowIndex];
        let cell = row.cells[state.lastObject.cellIndex];
        this.setProperty(cell, state.lastObject.value);
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, state));
    }
}
class TableCellPropertyManipulator {
    constructor(manipulator, jsonTableCellProperty, setProperty, getProperty) {
        this.manipulator = manipulator;
        this.jsonTableCellProperty = jsonTableCellProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(subDocument, tableIndex, rowIndex, cellIndex, newValue) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let cell = table.rows[rowIndex].cells[cellIndex];
        oldState.register(new history_item_state_object/* HistoryItemTableCellStateObject */.$E(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, this.getProperty(cell)));
        this.setProperty(cell, newValue);
        newState.register(new history_item_state_object/* HistoryItemTableCellStateObject */.$E(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, newValue));
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        let cell = table.rows[state.lastObject.rowIndex].cells[state.lastObject.cellIndex];
        this.setProperty(cell, state.lastObject.value);
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, state));
    }
}
class TableCellComplexPropertyWithUseManipulator {
    constructor(manipulator, jsonTableCellProperty, masks, setProperties, getProperties) {
        this.manipulator = manipulator;
        this.jsonTableCellProperty = jsonTableCellProperty;
        this.setProperties = setProperties;
        this.getProperties = getProperties;
        this.masks = masks;
    }
    setValue(subDocument, tableIndex, rowIndex, cellIndex, newValues, newUses) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let cell = table.rows[rowIndex].cells[cellIndex];
        let properties = cell.properties;
        let oldUseValues = [];
        for (let mask of this.masks)
            oldUseValues.push(properties.getUseValue(mask));
        oldState.register(new history_item_state_object/* HistoryItemTableCellComplexUseStateObject */.Jy(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, this.getProperties(properties), oldUseValues));
        this.setValuesCore(subDocument.documentModel.cache, cell, newValues, newUses);
        newState.register(new history_item_state_object/* HistoryItemTableCellComplexUseStateObject */.Jy(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, newValues, newUses));
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        let cell = table.rows[state.lastObject.rowIndex].cells[state.lastObject.cellIndex];
        this.setValuesCore(subDocument.documentModel.cache, cell, state.lastObject.value, state.lastObject.uses);
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, state));
    }
    setValuesCore(cache, cell, newValues, newUses) {
        var properties = cell.properties.clone();
        this.setProperties(properties, newValues);
        for (let i = this.masks.length - 1; i >= 0; i--) {
            if (newUses[i] !== undefined)
                properties.setUseValue(this.masks[i], newUses[i]);
        }
        cell.properties = cache.tableCellPropertiesCache.getItem(properties);
    }
}
class TableCellPropertiesWithUseManipulatorCore {
    constructor(manipulator, jsonTableCellProperty, tableCellPropertiesMask, setProperty, getProperty) {
        this.manipulator = manipulator;
        this.tableCellPropertiesMask = tableCellPropertiesMask;
        this.jsonTableCellProperty = jsonTableCellProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(subDocument, tableIndex, rowIndex, cellIndex, newValue, newUse) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let cell = table.rows[rowIndex].cells[cellIndex];
        let properties = cell.properties;
        oldState.register(new history_item_state_object/* HistoryItemTableCellUseStateObject */.xf(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, this.getProperty(properties), properties.getUseValue(this.tableCellPropertiesMask)));
        this.setValueCore(subDocument.documentModel.cache, cell, newValue, newUse);
        newState.register(new history_item_state_object/* HistoryItemTableCellUseStateObject */.xf(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, cellIndex, newValue, newUse));
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        let cell = table.rows[state.lastObject.rowIndex].cells[state.lastObject.cellIndex];
        this.setValueCore(subDocument.documentModel.cache, cell, state.lastObject.value, state.lastObject.use);
        this.manipulator.notifyModelChanged(new TableCellPropertyChangedSubDocumentChange(subDocument, this.jsonTableCellProperty, state));
    }
    setValueCore(cache, cell, newValue, newUse) {
        var properties = cell.properties.clone();
        this.setProperty(properties, newValue);
        properties.setUseValue(this.tableCellPropertiesMask, newUse);
        cell.properties = cache.tableCellPropertiesCache.getItem(properties);
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/property-changed.ts

class TablePropertyChangedSubDocumentChange {
    get subDocumentId() { return this.subDocument.id; }
    constructor(subDocument, property, newState) {
        this.subDocument = subDocument;
        this.property = property;
        this.newState = newState;
        this.type = changes_enums/* ModelChangeType */.f.TablePropertyChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-enums.ts
var json_table_enums = __webpack_require__(3128);
;// CONCATENATED MODULE: ./src/common/model/manipulators/tables/table-properties-manipulator.ts





class TablePropertiesManipulator {
    constructor(manipulator) {
        this.cellMargins = new TableComplexPropertyWithUseManipulator(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.CellMargins, [table_properties/* TablePropertiesMask */.r4.UseTopMargin, table_properties/* TablePropertiesMask */.r4.UseRightMargin, table_properties/* TablePropertiesMask */.r4.UseBottomMargin, table_properties/* TablePropertiesMask */.r4.UseLeftMargin], (prop, vals) => {
            prop.cellMargins.top = vals[0] || prop.cellMargins.top;
            prop.cellMargins.right = vals[1] || prop.cellMargins.right;
            prop.cellMargins.bottom = vals[2] || prop.cellMargins.bottom;
            prop.cellMargins.left = vals[3] || prop.cellMargins.left;
        }, prop => [prop.cellMargins.top, prop.cellMargins.right, prop.cellMargins.bottom, prop.cellMargins.left]);
        this.cellSpacing = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.CellSpacing, table_properties/* TablePropertiesMask */.r4.UseCellSpacing, (prop, val) => prop.cellSpacing = val, (prop) => prop.cellSpacing);
        this.indent = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.Indent, table_properties/* TablePropertiesMask */.r4.UseTableIndent, (prop, val) => prop.indent = val, (prop) => prop.indent);
        this.preferredWidth = new TablePropertiesManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.PreferredWidth, (table, val) => table.preferredWidth = val, (table) => table.preferredWidth);
        this.lookTypes = new TablePropertiesManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.TableLookTypes, (table, val) => table.lookTypes = val, (table) => table.lookTypes);
        this.borders = new TableComplexPropertyWithUseManipulator(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.Borders, [table_properties/* TablePropertiesMask */.r4.UseTopBorder, table_properties/* TablePropertiesMask */.r4.UseRightBorder, table_properties/* TablePropertiesMask */.r4.UseBottomBorder, table_properties/* TablePropertiesMask */.r4.UseLeftBorder, table_properties/* TablePropertiesMask */.r4.UseInsideHorizontalBorder, table_properties/* TablePropertiesMask */.r4.UseInsideVerticalBorder], (prop, vals) => {
            prop.borders.top = vals[0] || prop.borders.top;
            prop.borders.right = vals[1] || prop.borders.right;
            prop.borders.bottom = vals[2] || prop.borders.bottom;
            prop.borders.left = vals[3] || prop.borders.left;
            prop.borders.insideHorizontal = vals[4] || prop.borders.insideHorizontal;
            prop.borders.insideVertical = vals[5] || prop.borders.insideVertical;
        }, prop => [prop.borders.top, prop.borders.right, prop.borders.bottom, prop.borders.left, prop.borders.insideHorizontal, prop.borders.insideVertical]);
        this.tableStyleColumnBandSize = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.TableStyleColBandSize, table_properties/* TablePropertiesMask */.r4.UseTableStyleColBandSize, (prop, val) => prop.tableStyleColumnBandSize = val, (prop) => prop.tableStyleColumnBandSize);
        this.tableStyleRowBandSize = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.TableStyleRowBandSize, table_properties/* TablePropertiesMask */.r4.UseTableStyleRowBandSize, (prop, val) => prop.tableStyleRowBandSize = val, (prop) => prop.tableStyleRowBandSize);
        this.avoidDoubleBorders = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.AvoidDoubleBorders, table_properties/* TablePropertiesMask */.r4.UseAvoidDoubleBorders, (prop, val) => prop.avoidDoubleBorders = val, (prop) => prop.avoidDoubleBorders);
        this.layoutType = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.LayoutType, table_properties/* TablePropertiesMask */.r4.UseTableLayout, (prop, val) => prop.layoutType = val, (prop) => prop.layoutType);
        this.shadingInfo = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.ShadingInfo, table_properties/* TablePropertiesMask */.r4.UseShadingInfoIndex, (prop, val) => prop.shadingInfo = val, (prop) => prop.shadingInfo);
        this.tableRowAlignment = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.TableRowAlignment, table_properties/* TablePropertiesMask */.r4.UseTableAlignment, (prop, val) => prop.tableRowAlignment = val, (prop) => prop.tableRowAlignment);
        this.isTableOverlap = new TablePropertiesWithUseManipulatorCore(manipulator, json_table_enums/* JSONEnumTableProperty */.lE.IsTableOverlap, table_properties/* TablePropertiesMask */.r4.UseIsTableOverlap, (prop, val) => prop.isTableOverlap = val, (prop) => prop.isTableOverlap);
    }
}
class TablePropertiesManipulatorCore {
    constructor(manipulator, jsonTableProperty, setProperty, getProperty) {
        this.manipulator = manipulator;
        this.jsonTableProperty = jsonTableProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(subDocument, tableIndex, newValue) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        oldState.register(new history_item_state_object/* HistoryItemTableStateObject */.z3(tableStartPosition, table.nestedLevel, tableIndex, this.getProperty(table)));
        this.setProperty(table, newValue);
        newState.register(new history_item_state_object/* HistoryItemTableStateObject */.z3(tableStartPosition, table.nestedLevel, tableIndex, newValue));
        this.manipulator.notifyModelChanged(new TablePropertyChangedSubDocumentChange(subDocument, this.jsonTableProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        this.setProperty(table, state.lastObject.value);
        this.manipulator.notifyModelChanged(new TablePropertyChangedSubDocumentChange(subDocument, this.jsonTableProperty, state));
    }
}
class TableComplexPropertyWithUseManipulator {
    constructor(manipulator, jsonTableProperty, masks, setProperties, getProperties) {
        this.manipulator = manipulator;
        this.jsonTableProperty = jsonTableProperty;
        this.setProperties = setProperties;
        this.getProperties = getProperties;
        this.masks = masks;
    }
    setValue(subDocument, tableIndex, newValues, newUses) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let properties = table.properties;
        let oldUseValues = [];
        for (let mask of this.masks)
            oldUseValues.push(properties.getUseValue(mask));
        oldState.register(new history_item_state_object/* HistoryItemTableComplexUseStateObject */._w(tableStartPosition, table.nestedLevel, tableIndex, this.getProperties(properties), oldUseValues));
        this.setValuesCore(table, newValues, newUses);
        newState.register(new history_item_state_object/* HistoryItemTableComplexUseStateObject */._w(tableStartPosition, table.nestedLevel, tableIndex, newValues, newUses));
        this.manipulator.notifyModelChanged(new TablePropertyChangedSubDocumentChange(subDocument, this.jsonTableProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        this.setValuesCore(table, state.lastObject.value, state.lastObject.uses);
        this.manipulator.notifyModelChanged(new TablePropertyChangedSubDocumentChange(subDocument, this.jsonTableProperty, state));
    }
    setValuesCore(table, newValues, newUses) {
        var properties = table.properties.clone();
        this.setProperties(properties, newValues);
        for (let i = this.masks.length - 1; i >= 0; i--) {
            if (newUses[i] !== undefined)
                properties.setUseValue(this.masks[i], newUses[i]);
        }
        table.properties = properties;
    }
}
class TablePropertiesWithUseManipulatorCore {
    constructor(manipulator, jsonTableProperty, tablePropertiesMask, setProperty, getProperty) {
        this.manipulator = manipulator;
        this.tablePropertiesMask = tablePropertiesMask;
        this.jsonTableProperty = jsonTableProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(subDocument, tableIndex, newValue, newUse) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let properties = table.properties;
        oldState.register(new history_item_state_object/* HistoryItemTableUseStateObject */.wq(tableStartPosition, table.nestedLevel, tableIndex, this.getProperty(properties), properties.getUseValue(this.tablePropertiesMask)));
        this.setValueCore(table, newValue, newUse);
        newState.register(new history_item_state_object/* HistoryItemTableUseStateObject */.wq(tableStartPosition, table.nestedLevel, tableIndex, newValue, newUse));
        this.manipulator.notifyModelChanged(new TablePropertyChangedSubDocumentChange(subDocument, this.jsonTableProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        this.setValueCore(table, state.lastObject.value, state.lastObject.use);
        this.manipulator.notifyModelChanged(new TablePropertyChangedSubDocumentChange(subDocument, this.jsonTableProperty, state));
    }
    setValueCore(table, newValue, newUse) {
        var properties = table.properties.clone();
        this.setProperty(properties, newValue);
        properties.setUseValue(this.tablePropertiesMask, newUse);
        table.properties = properties;
    }
}

;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/table/row-property-changed.ts

class TableRowPropertyChangedSubDocumentChange {
    get subDocumentId() { return this.subDocument.id; }
    constructor(subDocument, property, newState) {
        this.subDocument = subDocument;
        this.property = property;
        this.newState = newState;
        this.type = changes_enums/* ModelChangeType */.f.TableRowPropertyChanged;
    }
}

// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-row-enums.ts
var json_table_row_enums = __webpack_require__(400);
;// CONCATENATED MODULE: ./src/common/model/manipulators/tables/table-row-properties-manipulator.ts





class TableRowPropertiesManipulator {
    constructor(manipulator) {
        this.cellSpacing = new TableRowPropertiesWithUseManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.CellSpacing, table_row_properties/* TableRowPropertiesMask */.d.UseCellSpacing, (prop, val) => prop.cellSpacing = val, prop => prop.cellSpacing);
        this.cantSplit = new TableRowPropertiesWithUseManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.CantSplit, table_row_properties/* TableRowPropertiesMask */.d.UseCantSplit, (prop, val) => prop.cantSplit = val, prop => prop.cantSplit);
        this.hideCellMark = new TableRowPropertiesWithUseManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.HideCellMark, table_row_properties/* TableRowPropertiesMask */.d.UseHideCellMark, (prop, val) => prop.hideCellMark = val, prop => prop.hideCellMark);
        this.header = new TableRowPropertiesWithUseManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.Header, table_row_properties/* TableRowPropertiesMask */.d.UseHeader, (prop, val) => prop.header = val, prop => prop.header);
        this.tableRowAlignment = new TableRowPropertiesWithUseManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.TableRowAlignment, table_row_properties/* TableRowPropertiesMask */.d.UseTableRowAlignment, (prop, val) => prop.tableRowAlignment = val, prop => prop.tableRowAlignment);
        this.height = new TableRowPropertiesManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.Height, (row, val) => row.height = val, prop => prop.height);
        this.gridAfter = new TableRowPropertiesManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.GridAfter, (row, val) => row.gridAfter = val, row => row.gridAfter);
        this.gridBefore = new TableRowPropertiesManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.GridBefore, (row, val) => row.gridBefore = val, row => row.gridBefore);
        this.widthAfter = new TableRowPropertiesManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.WidthAfter, (row, val) => row.widthAfter = val, row => row.widthAfter);
        this.widthBefore = new TableRowPropertiesManipulatorCore(manipulator, json_table_row_enums/* JSONServerTableRowProperty */.Wn.WidthBefore, (row, val) => row.widthBefore = val, row => row.widthBefore);
    }
}
class TableRowPropertiesManipulatorCore {
    constructor(manipulator, jsonTableCellProperty, setProperty, getProperty) {
        this.manipulator = manipulator;
        this.jsonTableRowProperty = jsonTableCellProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(subDocument, tableIndex, rowIndex, newValue) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let row = table.rows[rowIndex];
        oldState.register(new history_item_state_object/* HistoryItemTableRowStateObject */.cT(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, this.getProperty(row)));
        this.setProperty(row, newValue);
        newState.register(new history_item_state_object/* HistoryItemTableRowStateObject */.cT(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, newValue));
        this.manipulator.notifyModelChanged(new TableRowPropertyChangedSubDocumentChange(subDocument, this.jsonTableRowProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        let row = table.rows[state.lastObject.rowIndex];
        this.setProperty(row, state.lastObject.value);
        this.manipulator.notifyModelChanged(new TableRowPropertyChangedSubDocumentChange(subDocument, this.jsonTableRowProperty, state));
    }
}
class TableRowPropertiesWithUseManipulatorCore {
    constructor(manipulator, jsonTableCellProperty, tableRowPropertiesMask, setProperty, getProperty) {
        this.manipulator = manipulator;
        this.tableRowPropertiesMask = tableRowPropertiesMask;
        this.jsonTableRowProperty = jsonTableCellProperty;
        this.setProperty = setProperty;
        this.getProperty = getProperty;
    }
    setValue(subDocument, tableIndex, rowIndex, newValue, newUse) {
        let table = subDocument.tables[tableIndex];
        let tableStartPosition = table.getStartPosition();
        var newState = new history_item_state/* HistoryItemState */.u();
        var oldState = new history_item_state/* HistoryItemState */.u();
        let row = table.rows[rowIndex];
        let properties = row.properties;
        oldState.register(new history_item_state_object/* HistoryItemTableRowUseStateObject */.BT(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, this.getProperty(properties), properties.getUseValue(this.tableRowPropertiesMask)));
        this.setValueCore(subDocument.documentModel.cache, row, newValue, newUse);
        newState.register(new history_item_state_object/* HistoryItemTableRowUseStateObject */.BT(tableStartPosition, table.nestedLevel, tableIndex, rowIndex, newValue, newUse));
        this.manipulator.notifyModelChanged(new TableRowPropertyChangedSubDocumentChange(subDocument, this.jsonTableRowProperty, newState));
        return oldState;
    }
    restoreValue(subDocument, state) {
        let table = subDocument.tables[state.lastObject.tableIndex];
        let row = table.rows[state.lastObject.rowIndex];
        this.setValueCore(subDocument.documentModel.cache, row, state.lastObject.value, state.lastObject.use);
        this.manipulator.notifyModelChanged(new TableRowPropertyChangedSubDocumentChange(subDocument, this.jsonTableRowProperty, state));
    }
    setValueCore(cache, row, newValue, newUse) {
        var properties = row.properties.clone();
        this.setProperty(properties, newValue);
        properties.setUseValue(this.tableRowPropertiesMask, newUse);
        row.properties = cache.tableRowPropertiesCache.getItem(properties);
    }
}

;// CONCATENATED MODULE: ./src/common/model/manipulators/tables/tables-manipulator.ts















































class TablesManipulator extends base_manipulator/* BaseManipulator */.G {
    constructor(manipulator) {
        super(manipulator);
        this.cellProperties = new TableCellPropertiesManipulator(manipulator);
        this.tableProperties = new TablePropertiesManipulator(manipulator);
        this.rowProperties = new TableRowPropertiesManipulator(manipulator);
    }
    static removeTableCore(table, tables, tablesByLevels) {
        const position = table.getStartPosition();
        const tblLevel = tablesByLevels[table.nestedLevel];
        tblLevel.splice(search.SearchUtils.binaryIndexOf(tblLevel, t => t.getStartPosition() - position), 1);
        tables.splice(table.index, 1);
        main_structures_table/* Table */.iA.advanceIndices(tables, table.index, -1);
    }
    createTable(subDocument, firstParagraphIndex, rowCount, cellCount) {
        let paragraph = subDocument.paragraphs[firstParagraphIndex];
        let parentCell = main_structures_table/* Table */.iA.getTableCellByPosition(subDocument.tables, paragraph.startLogPosition.value);
        let newTable = new main_structures_table/* Table */.iA(new table_properties/* TableProperties */.XK(), subDocument.documentModel.getDefaultTableStyle());
        this.createTableStructure(subDocument, firstParagraphIndex, newTable, rowCount, cellCount);
        this.insertTableCore(newTable, subDocument.tables, subDocument.tablesByLevels, parentCell);
        this.modelManipulator.notifyModelChanged(new TableCreatedSubDocumentChange(subDocument.id, newTable));
        return newTable;
    }
    removeTable(subDocument, table) {
        const startPosition = table.getStartPosition();
        const endPosition = table.getEndPosition();
        table.destructor(subDocument.positionManager);
        const removedText = subDocument.getText(table.interval);
        TablesManipulator.removeTableCore(table, subDocument.tables, subDocument.tablesByLevels);
        this.modelManipulator.notifyModelChanged(new TableRemovedSubDocumentChange(subDocument.id, startPosition, endPosition, table.nestedLevel, removedText));
    }
    restoreRemovedTable(subDocument, table, cellsRanges) {
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                let cellRange = cellsRanges[rowIndex][cellIndex];
                cell.startParagraphPosition = subDocument.positionManager.registerPosition(cellRange.start);
                cell.endParagrapPosition = subDocument.positionManager.registerPosition(cellRange.end);
            }
        }
        table.parentCell = main_structures_table/* Table */.iA.getTableCellByPosition(subDocument.tables, table.getStartPosition());
        this.insertTableCore(table, subDocument.tables, subDocument.tablesByLevels, table.parentCell);
        this.modelManipulator.notifyModelChanged(new TableCreatedSubDocumentChange(subDocument.id, table));
    }
    pasteTable(subDocument, patternTable, position) {
        let patternCell = main_structures_table/* Table */.iA.getTableCellByPosition(subDocument.tables, position);
        let newTable = new main_structures_table/* Table */.iA(patternTable.properties, this.model.stylesManager.addTableStyle(patternTable.style));
        newTable.preferredWidth = patternTable.preferredWidth.clone();
        newTable.lookTypes = patternTable.lookTypes;
        for (let rowIndex = 0, patternRow; patternRow = patternTable.rows[rowIndex]; rowIndex++) {
            let newRow = new table_row/* TableRow */.S(newTable, subDocument.documentModel.cache.tableRowPropertiesCache.getItem(patternRow.properties.clone()));
            newRow.gridAfter = patternRow.gridAfter;
            newRow.gridBefore = patternRow.gridBefore;
            if (patternRow.tablePropertiesException)
                newRow.tablePropertiesException = patternRow.tablePropertiesException.clone();
            newRow.widthAfter = patternRow.widthAfter.clone();
            newRow.widthBefore = patternRow.widthBefore.clone();
            newRow.height = patternRow.height.clone();
            if (patternRow.tablePropertiesException)
                newRow.tablePropertiesException = patternRow.tablePropertiesException.clone();
            for (let cellIndex = 0, patternCell; patternCell = patternRow.cells[cellIndex]; cellIndex++) {
                let cellLength = patternCell.endParagrapPosition.value - patternCell.startParagraphPosition.value;
                let newCell = new table_cell/* TableCell */.p(newRow, subDocument.documentModel.cache.tableCellPropertiesCache.getItem(patternCell.properties.clone()));
                newCell.startParagraphPosition = subDocument.positionManager.registerPosition(position);
                position += cellLength;
                newCell.endParagrapPosition = subDocument.positionManager.registerPosition(position);
                newCell.columnSpan = patternCell.columnSpan;
                newCell.conditionalFormatting = patternCell.conditionalFormatting;
                newCell.verticalMerging = patternCell.verticalMerging;
                newCell.preferredWidth = patternCell.preferredWidth.clone();
                newRow.cells.push(newCell);
            }
            newTable.rows.push(newRow);
        }
        this.insertTableCore(newTable, subDocument.tables, subDocument.tablesByLevels, patternCell);
        this.modelManipulator.notifyModelChanged(new TableCreatedSubDocumentChange(subDocument.id, newTable));
        return newTable;
    }
    insertRow(subDocument, tableIndex, patternRow, targetRowIndex, cellIntervals) {
        var table = subDocument.tables[tableIndex];
        var row = new table_row/* TableRow */.S(table, patternRow.properties);
        if (cellIntervals.length !== patternRow.cells.length)
            throw new Error("cellIntervals.length should be equal to patternRow.cells.length");
        row.gridAfter = patternRow.gridAfter;
        row.gridBefore = patternRow.gridBefore;
        row.height = patternRow.height.clone();
        row.properties = patternRow.properties;
        row.tablePropertiesException = patternRow.tablePropertiesException;
        row.widthAfter = patternRow.widthAfter.clone();
        row.widthBefore = patternRow.widthBefore.clone();
        for (let i = 0, interval; interval = cellIntervals[i]; i++) {
            let patternCell = patternRow.cells[i];
            let cell = new table_cell/* TableCell */.p(row, patternCell.properties);
            cell.startParagraphPosition = subDocument.positionManager.registerPosition(interval.start);
            cell.endParagrapPosition = subDocument.positionManager.registerPosition(interval.end);
            cell.columnSpan = patternCell.columnSpan;
            cell.conditionalFormatting = patternCell.conditionalFormatting;
            cell.preferredWidth = patternCell.preferredWidth.clone();
            cell.verticalMerging = patternCell.verticalMerging;
            cell.style = patternCell.style;
            row.cells.push(cell);
        }
        table.rows.splice(targetRowIndex, 0, row);
        let nextRow = table.rows[targetRowIndex + 1];
        if (nextRow) {
            subDocument.positionManager.unregisterPosition(nextRow.cells[0].startParagraphPosition);
            nextRow.cells[0].startParagraphPosition = subDocument.positionManager.registerPosition(row.getEndPosition());
        }
        this.modelManipulator.notifyModelChanged(new TableRowInsertedSubDocumentChange(subDocument.id, table, targetRowIndex));
    }
    removeRow(subDocument, tableIndex, rowIndex) {
        const table = subDocument.tables[tableIndex];
        TablesManipulator.removeRowCore(subDocument, table, rowIndex);
        this.modelManipulator.notifyModelChanged(new TableRowRemovedSubDocumentChange(subDocument.id, table, rowIndex));
    }
    static removeRowCore(subDocument, table, rowIndex) {
        const row = table.rows[rowIndex];
        row.destructor(subDocument.positionManager);
        var nextRow = table.rows[rowIndex + 1];
        if (nextRow) {
            var nextRowFirstCell = nextRow.cells[0];
            subDocument.positionManager.unregisterPosition(nextRowFirstCell.startParagraphPosition);
            nextRowFirstCell.startParagraphPosition = subDocument.positionManager.registerPosition(row.getStartPosition());
        }
        table.rows.splice(rowIndex, 1);
    }
    removeCell(subDocument, table, rowIndex, cellIndex) {
        let row = table.rows[rowIndex];
        let cell = row.cells[cellIndex];
        let nextCell = row.cells[cellIndex + 1];
        if (!nextCell && table.rows.length > rowIndex + 1)
            nextCell = table.rows[rowIndex + 1].cells[0];
        cell.destructor(subDocument.positionManager);
        if (nextCell) {
            subDocument.positionManager.unregisterPosition(nextCell.startParagraphPosition);
            nextCell.startParagraphPosition = subDocument.positionManager.registerPosition(cell.startParagraphPosition.value);
        }
        row.cells.splice(cellIndex, 1);
        this.modelManipulator.notifyModelChanged(new TableCellRemovedSubDocumentChange(subDocument.id, table, rowIndex, cellIndex));
    }
    insertCell(subDocument, table, rowIndex, cellIndex, patternCell, length) {
        let row = table.rows[rowIndex];
        var cell = new table_cell/* TableCell */.p(row, patternCell.properties);
        cell.columnSpan = patternCell.columnSpan;
        cell.conditionalFormatting = patternCell.conditionalFormatting;
        cell.preferredWidth = patternCell.preferredWidth.clone();
        cell.style = patternCell.style;
        cell.verticalMerging = patternCell.verticalMerging;
        let startPosition = 0;
        if (cellIndex > 0)
            startPosition = row.cells[cellIndex - 1].endParagrapPosition.value;
        else if (rowIndex > 0)
            startPosition = table.rows[rowIndex - 1].getEndPosition();
        else
            startPosition = table.getStartPosition();
        cell.startParagraphPosition = subDocument.positionManager.registerPosition(startPosition);
        cell.endParagrapPosition = subDocument.positionManager.registerPosition(startPosition + length);
        row.cells.splice(cellIndex, 0, cell);
        let nextCell = row.cells[cellIndex + 1];
        if (!nextCell && table.rows.length > rowIndex + 1)
            nextCell = table.rows[rowIndex + 1].cells[0];
        if (nextCell) {
            subDocument.positionManager.unregisterPosition(nextCell.startParagraphPosition);
            nextCell.startParagraphPosition = subDocument.positionManager.registerPosition(cell.endParagrapPosition.value);
        }
        this.modelManipulator.notifyModelChanged(new TableCellInsertedSubDocumentChange(subDocument.id, table, rowIndex, cellIndex));
    }
    insertParagraphToTheCellStartAndShiftContent(subDocument, cell, inpPos) {
        this.modelManipulator.paragraph.insertParagraphViaHistory(insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n.makeParamsByPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, cell.startParagraphPosition.value), inpPos));
        this.shiftContent(subDocument, cell);
    }
    shiftContent(subDocument, cell) {
        const table = cell.parentRow.parentTable;
        let nextTable = subDocument.tables[table.index + 1];
        let shiftingTables = [];
        while (nextTable && nextTable.nestedLevel > table.nestedLevel) {
            let nextTableStartPosition = nextTable.getStartPosition();
            if (nextTableStartPosition === cell.startParagraphPosition.value)
                shiftingTables.push(nextTable);
            else if (nextTableStartPosition > cell.startParagraphPosition.value)
                break;
            nextTable = subDocument.tables[nextTable.index + 1];
        }
        for (let i = shiftingTables.length - 1, shiftingTable; shiftingTable = shiftingTables[i]; i--) {
            this.history.addAndRedo(new change_table_cell_history_items/* ShiftTableStartPositionToTheRightHistoryItem */.bG(this.modelManipulator, subDocument, shiftingTable.index));
        }
    }
    changeTableStartPosition(subDocument, table, newPosition) {
        let cell = table.rows[0].cells[0];
        var oldPosition = cell.startParagraphPosition.value;
        subDocument.positionManager.unregisterPosition(cell.startParagraphPosition);
        cell.startParagraphPosition = subDocument.positionManager.registerPosition(newPosition);
        this.modelManipulator.notifyModelChanged(new TableStartPositionShiftedSubDocumentChange(subDocument.id, table, oldPosition, newPosition));
    }
    shiftTableStartPositionToTheRight(subDocument, table) {
        this.changeTableStartPosition(subDocument, table, table.rows[0].cells[0].startParagraphPosition.value + 1);
    }
    restoreShiftedTableStartPositionToTheRight(subDocument, table) {
        this.changeTableStartPosition(subDocument, table, table.rows[0].cells[0].startParagraphPosition.value - 1);
    }
    splitTableCellHorizontally(subDocument, table, rowIndex, cellIndex, rightDirection, copyProperties) {
        let row = table.rows[rowIndex];
        if (rightDirection)
            this.splitTableCellToTheRightCore(subDocument, row, cellIndex, copyProperties);
        else
            this.splitTableCellToTheLeftCore(subDocument, row, cellIndex, copyProperties);
        this.modelManipulator.notifyModelChanged(new TableCellSplittedHorizontallySubDocumentChange(subDocument.id, table, rowIndex, rightDirection ? cellIndex : (cellIndex + 1), rightDirection));
    }
    restoreSplittedCellHorizontally(subDocument, table, rowIndex, cellIndex, rightDirection) {
        let row = table.rows[rowIndex];
        let targetCell = row.cells[cellIndex];
        let removingCell = rightDirection ? row.cells[cellIndex + 1] : row.cells[cellIndex - 1];
        if (rightDirection) {
            subDocument.positionManager.unregisterPosition(targetCell.endParagrapPosition);
            targetCell.endParagrapPosition = subDocument.positionManager.registerPosition(removingCell.endParagrapPosition.value);
            removingCell.destructor(subDocument.positionManager);
            row.cells.splice(cellIndex + 1, 1);
        }
        else {
            subDocument.positionManager.unregisterPosition(targetCell.startParagraphPosition);
            targetCell.startParagraphPosition = subDocument.positionManager.registerPosition(removingCell.startParagraphPosition.value);
            removingCell.destructor(subDocument.positionManager);
            row.cells.splice(cellIndex - 1, 1);
        }
        this.modelManipulator.notifyModelChanged(new TableCellMergedHorizontallySubDocumentChange(subDocument.id, table, rowIndex, rightDirection ? cellIndex : (cellIndex - 1), rightDirection));
    }
    splitTableCellToTheLeftCore(subDocument, row, splittingCellIndex, copyProperties) {
        if (splittingCellIndex < 0)
            throw new Error("splittingCellIndex should be > 0");
        let splittingCell = row.cells[splittingCellIndex];
        let movingParagraph = subDocument.getParagraphByPosition(splittingCell.startParagraphPosition.value);
        let newTableCell = new table_cell/* TableCell */.p(row, copyProperties ?
            splittingCell.properties : subDocument.documentModel.cache.tableCellPropertiesCache.getItem(new table_cell_properties/* TableCellProperties */.x0()));
        newTableCell.preferredWidth = splittingCell.preferredWidth.clone();
        row.cells.splice(splittingCellIndex, 0, newTableCell);
        newTableCell.startParagraphPosition = subDocument.positionManager.registerPosition(movingParagraph.startLogPosition.value);
        newTableCell.endParagrapPosition = subDocument.positionManager.registerPosition(movingParagraph.getEndPosition());
        subDocument.positionManager.unregisterPosition(splittingCell.startParagraphPosition);
        splittingCell.startParagraphPosition = subDocument.positionManager.registerPosition(movingParagraph.getEndPosition());
    }
    splitTableCellToTheRightCore(subDocument, row, splittingCellIndex, copyProperties) {
        if (splittingCellIndex < 0)
            throw new Error("splittingCellIndex should be > 0");
        let splittingCell = row.cells[splittingCellIndex];
        let movingParagraph = subDocument.getParagraphByPosition(splittingCell.endParagrapPosition.value - 1);
        let newTableCell = new table_cell/* TableCell */.p(row, copyProperties ?
            splittingCell.properties : subDocument.documentModel.cache.tableCellPropertiesCache.getItem(new table_cell_properties/* TableCellProperties */.x0()));
        newTableCell.preferredWidth = splittingCell.preferredWidth.clone();
        row.cells.splice(splittingCellIndex + 1, 0, newTableCell);
        newTableCell.startParagraphPosition = subDocument.positionManager.registerPosition(movingParagraph.startLogPosition.value);
        newTableCell.endParagrapPosition = subDocument.positionManager.registerPosition(movingParagraph.getEndPosition());
        subDocument.positionManager.unregisterPosition(splittingCell.endParagrapPosition);
        splittingCell.endParagrapPosition = subDocument.positionManager.registerPosition(movingParagraph.startLogPosition.value);
    }
    setTableStyle(subDocument, tableIndex, style) {
        const table = subDocument.tables[tableIndex];
        table.style = style;
        this.resetParagraphCharacterMergedProperties(subDocument, tableIndex);
        this.modelManipulator.notifyModelChanged(new TableStyleChangedSubDocumentChange(subDocument.id, table, style));
    }
    removeTableWithContent(subDocument, table) {
        this.history.beginTransaction();
        this.removeNestedTablesByParentTable(subDocument, table);
        this.history.addAndRedo(new RemoveTableHistoryItem(this.modelManipulator, subDocument, table.index));
        this.history.addAndRedo(new remove_interval_history_item/* RemoveIntervalHistoryItem */.k(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, fixed.FixedInterval.fromPositions(table.getStartPosition(), table.getEndPosition())), false));
        this.history.endTransaction();
    }
    removeTableCellWithContent(subDocument, table, rowIndex, cellIndex) {
        let cell = table.rows[rowIndex].cells[cellIndex];
        this.removeNestedTablesByParentCell(subDocument, cell);
        this.history.addAndRedo(new RemoveTableCellHistoryItem(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex));
        this.history.addAndRedo(new remove_interval_history_item/* RemoveIntervalHistoryItem */.k(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, cell.interval), false));
    }
    removeTableRowWithContent(subDocument, table, rowIndex) {
        let row = table.rows[rowIndex];
        this.removeNestedTables(subDocument, row);
        this.updateVerticalMergingState(subDocument, table, rowIndex);
        this.history.addAndRedo(new RemoveTableRowHistoryItem(this.modelManipulator, subDocument, table.index, rowIndex));
        this.history.addAndRedo(new remove_interval_history_item/* RemoveIntervalHistoryItem */.k(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, fixed.FixedInterval.fromPositions(row.getStartPosition(), row.getEndPosition())), false));
    }
    updateVerticalMergingState(subDocument, table, rowIndex) {
        let row = table.rows[rowIndex];
        for (let cellIndex = row.cells.length - 1, cell; cell = row.cells[cellIndex]; cellIndex--) {
            if (cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.None) {
                let columnIndex = table_utils/* TableCellUtils */.V.getStartColumnIndex(cell);
                let nextRow = table.rows[rowIndex + 1];
                let nextRowCellIndex = nextRow ? table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(nextRow, columnIndex) : -1;
                let nextRowCell = nextRow ? nextRow.cells[nextRowCellIndex] : null;
                if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Restart) {
                    if (nextRowCell) {
                        let afterNextRow = table.rows[rowIndex + 2];
                        let afterNextRowCell = afterNextRow ? afterNextRow.cells[table_utils/* TableCellUtils */.V.getCellIndexByEndColumnIndex(afterNextRow, columnIndex)] : null;
                        if (afterNextRowCell && afterNextRowCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue)
                            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex + 1, nextRowCellIndex, table_base_structures/* TableCellMergingState */.Z3.Restart));
                        else
                            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex + 1, nextRowCellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                    }
                }
                else if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue && rowIndex > 0) {
                    let prevRow = table.rows[rowIndex - 1];
                    let prevRowCellIndex = table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(prevRow, columnIndex);
                    let prevRowCell = prevRow.cells[prevRowCellIndex];
                    if (prevRowCell && prevRowCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
                        if (!nextRowCell || nextRowCell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex - 1, prevRowCellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                    }
                }
            }
        }
    }
    removeNestedTables(subDocument, row) {
        let nextNestedTable = subDocument.tables[row.parentTable.index + 1];
        let nestedTables = [];
        while (nextNestedTable && nextNestedTable.nestedLevel > row.parentTable.nestedLevel) {
            if (this.isNestedTableInRow(nextNestedTable, row))
                nestedTables.push(nextNestedTable);
            nextNestedTable = subDocument.tables[nextNestedTable.index + 1];
        }
        for (let i = nestedTables.length - 1, nestedTable; nestedTable = nestedTables[i]; i--)
            this.history.addAndRedo(new RemoveTableHistoryItem(this.modelManipulator, subDocument, nestedTable.index));
    }
    isNestedTableInRow(table, parentRow) {
        return table.parentCell && (table.parentCell.parentRow === parentRow || this.isNestedTableInRow(table.parentCell.parentRow.parentTable, parentRow));
    }
    removeNestedTablesByParentTable(subDocument, parentTable) {
        let nextNestedTable = subDocument.tables[parentTable.index + 1];
        let nestedTables = [];
        while (nextNestedTable && nextNestedTable.nestedLevel > parentTable.nestedLevel) {
            if (this.isNestedTableInTable(nextNestedTable, parentTable))
                nestedTables.push(nextNestedTable);
            nextNestedTable = subDocument.tables[nextNestedTable.index + 1];
        }
        for (let i = nestedTables.length - 1, nestedTable; nestedTable = nestedTables[i]; i--)
            this.history.addAndRedo(new RemoveTableHistoryItem(this.modelManipulator, subDocument, nestedTable.index));
    }
    removeNestedTablesByParentCell(subDocument, parentCell) {
        let nextNestedTable = subDocument.tables[parentCell.parentRow.parentTable.index + 1];
        let nestedTables = [];
        while (nextNestedTable && nextNestedTable.nestedLevel > parentCell.parentRow.parentTable.nestedLevel) {
            if (this.isNestedTableInCell(nextNestedTable, parentCell))
                nestedTables.push(nextNestedTable);
            nextNestedTable = subDocument.tables[nextNestedTable.index + 1];
        }
        for (let i = nestedTables.length - 1, nestedTable; nestedTable = nestedTables[i]; i--)
            this.history.addAndRedo(new RemoveTableHistoryItem(this.modelManipulator, subDocument, nestedTable.index));
    }
    isNestedTableInCell(table, parentCell) {
        return table.parentCell && (table.parentCell === parentCell || this.isNestedTableInCell(table.parentCell.parentRow.parentTable, parentCell));
    }
    isNestedTableInTable(table, parentTable) {
        return table.parentCell && (table.parentCell.parentRow.parentTable === parentTable || this.isNestedTableInTable(table.parentCell.parentRow.parentTable, parentTable));
    }
    normalizeVerticalSpans(subDocument, table) {
        let rowCount = table.rows.length;
        if (rowCount === 1) {
            let row = table.rows[0];
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                if (cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.None)
                    this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, 0, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
            }
            return;
        }
        for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
            let row = table.rows[rowIndex];
            let columnIndex = row.gridBefore;
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                switch (cell.verticalMerging) {
                    case table_base_structures/* TableCellMergingState */.Z3.Restart:
                        if (rowIndex == rowCount - 1)
                            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                        else {
                            let bottomCellIndex = table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(table.rows[rowIndex + 1], columnIndex);
                            let bottomCell = table.rows[rowIndex + 1].cells[bottomCellIndex];
                            if (!bottomCell || bottomCell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                                this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                        }
                        break;
                    case table_base_structures/* TableCellMergingState */.Z3.Continue:
                        if (rowIndex === 0)
                            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                        else {
                            let topCellIndex = table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(table.rows[rowIndex - 1], columnIndex);
                            let topCell = table.rows[rowIndex - 1].cells[topCellIndex];
                            if (!topCell || topCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.None) {
                                if (rowIndex == rowCount - 1)
                                    this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                                else {
                                    let bottomCellIndex = table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(table.rows[rowIndex + 1], columnIndex);
                                    let bottomCell = table.rows[rowIndex + 1].cells[bottomCellIndex];
                                    if (bottomCell && bottomCell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue)
                                        this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.Restart));
                                    else
                                        this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, cellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
                                }
                            }
                        }
                        break;
                }
                columnIndex += cell.columnSpan;
            }
        }
    }
    normalizeTableGrid(subDocument, table) {
        var maxEndColumnIndex = -1;
        for (let i = 0, row; row = table.rows[i]; i++) {
            maxEndColumnIndex = Math.max(maxEndColumnIndex, row.getTotalCellsInRowConsiderGrid() - 1);
        }
        for (let i = 0, row; row = table.rows[i]; i++) {
            let currentEndColumnIndex = row.getTotalCellsInRowConsiderGrid() - 1;
            let gridAfterDelta = maxEndColumnIndex - currentEndColumnIndex;
            if (gridAfterDelta != 0)
                this.history.addAndRedo(new table_row_properties_history_items/* TableRowGridAfterHistoryItem */.Ix(this.modelManipulator, subDocument, table.index, i, row.gridAfter + gridAfterDelta));
        }
    }
    normalizeCellColumnSpans(subDocument, table, canNormalizeWidthBeforeAndWidthAfter) {
        TablesManipulator.normalizeRowsGridBefore(table, canNormalizeWidthBeforeAndWidthAfter, (t, ri, val) => this.history.addAndRedo(new table_row_properties_history_items/* TableRowGridBeforeHistoryItem */.xU(this.modelManipulator, subDocument, t.index, ri, val)), (t, ri, val) => this.history.addAndRedo(new table_row_properties_history_items/* TableRowGridAfterHistoryItem */.Ix(this.modelManipulator, subDocument, t.index, ri, val)), (t, ri, val) => this.history.addAndRedo(new table_row_properties_history_items/* TableRowWidthBeforeHistoryItem */.Oi(this.modelManipulator, subDocument, t.index, ri, val)), (t, ri, val) => this.history.addAndRedo(new table_row_properties_history_items/* TableRowWidthAfterHistoryItem */.Ct(this.modelManipulator, subDocument, t.index, ri, val)));
        const intervals = calculator/* Calculator */.y.getIntervals(table);
        for (let i = table.rows.length - 1; i >= 0; i--) {
            TablesManipulator.normalizeTableRow(table, i, intervals.slice(0), (t, ri, val) => this.history.addAndRedo(new table_row_properties_history_items/* TableRowGridBeforeHistoryItem */.xU(this.modelManipulator, subDocument, t.index, ri, val)), (t, ri, val) => this.history.addAndRedo(new table_row_properties_history_items/* TableRowGridAfterHistoryItem */.Ix(this.modelManipulator, subDocument, t.index, ri, val)), (t, ri, ci, val) => this.history.addAndRedo(new table_cell_properties_history_items/* TableCellColumnSpanHistoryItem */.Hg(this.modelManipulator, subDocument, t.index, ri, ci, val)));
        }
    }
    static normalizeCellColumnSpansWithoutHistory(table, canNormalizeWidthBeforeAndWidthAfter) {
        TablesManipulator.normalizeRowsGridBefore(table, canNormalizeWidthBeforeAndWidthAfter, (t, ri, val) => t.rows[ri].gridBefore = val, (t, ri, val) => t.rows[ri].gridAfter = val, (t, ri, val) => t.rows[ri].widthBefore = val, (t, ri, val) => t.rows[ri].widthAfter = val);
        const intervals = calculator/* Calculator */.y.getIntervals(table);
        for (let i = table.rows.length - 1; i >= 0; i--) {
            TablesManipulator.normalizeTableRow(table, i, intervals.slice(0), (t, ri, val) => t.rows[ri].gridBefore = val, (t, ri, val) => t.rows[ri].gridAfter = val, (t, ri, ci, val) => t.rows[ri].cells[ci].columnSpan = val);
        }
    }
    static normalizeTableRow(table, rowIndex, intervals, setGridBefore, setGridAfter, setColumnSpan) {
        let row = table.rows[rowIndex];
        let span = TablesManipulator.calculateNewSpan(row.gridBefore, intervals);
        if (row.gridBefore != span)
            setGridBefore(table, rowIndex, span);
        for (let i = 0, cell; cell = row.cells[i]; i++) {
            span = TablesManipulator.calculateNewSpan(cell.columnSpan, intervals);
            if (cell.columnSpan !== span)
                setColumnSpan(table, rowIndex, i, span);
        }
        span = TablesManipulator.calculateNewSpan(row.gridAfter, intervals);
        if (row.gridAfter !== span)
            setGridAfter(table, rowIndex, span);
    }
    static calculateNewSpan(oldSpan, intervals) {
        let result = 0;
        let totalSum = 0;
        while (totalSum < oldSpan) {
            totalSum += intervals[0].colSpan;
            result++;
            intervals.splice(0, 1);
        }
        return result;
    }
    static normalizeRowsGridBefore(table, canNormalizeWidthBeforeAndWidthAfter, setGridBefore, setGridAfter, setWidthBefore, setWidthAfter) {
        let minGridBefore = table.rows[0].gridBefore;
        let minGridAfter = table.rows[0].gridAfter;
        for (let i = 1, row; row = table.rows[i]; i++) {
            minGridBefore = Math.min(minGridBefore, row.gridBefore);
            minGridAfter = Math.min(minGridAfter, row.gridAfter);
        }
        if (minGridBefore == 0 && minGridAfter == 0)
            return;
        for (let i = 0, row; row = table.rows[i]; i++) {
            if (minGridBefore !== 0)
                setGridBefore(table, i, row.gridBefore - minGridBefore);
            if (row.gridBefore === 0 && (row.widthBefore.type != table_units/* TableWidthUnitType */.HO.Nil || row.widthBefore.value != 0) && canNormalizeWidthBeforeAndWidthAfter)
                setWidthBefore(table, i, table_units/* TableWidthUnit */.CT.createDefault());
            if (minGridAfter != 0)
                setGridAfter(table, i, row.gridAfter - minGridAfter);
            if (row.gridAfter == 0 && (row.widthAfter.type != table_units/* TableWidthUnitType */.HO.Nil || row.widthAfter.value != 0) && canNormalizeWidthBeforeAndWidthAfter)
                setWidthAfter(table, i, table_units/* TableWidthUnit */.CT.createDefault());
        }
    }
    normalizeTableCellWidth(subDocument, table) {
        const maxWidth = 5000;
        for (let i = 0, row; row = table.rows[i]; i++) {
            let totalWidth = 0;
            let tableCellPreferredWidths = [];
            for (let j = 0, cell; cell = row.cells[j]; j++) {
                let tableCellPreferredWidth = cell.preferredWidth;
                tableCellPreferredWidths.push(tableCellPreferredWidth);
                if (tableCellPreferredWidth.type === table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
                    totalWidth += tableCellPreferredWidth.value;
                else {
                    totalWidth = 0;
                    break;
                }
            }
            if (totalWidth <= maxWidth)
                continue;
            for (let j = 0; j < row.cells.length; j++) {
                let newValue = tableCellPreferredWidths[j].value * maxWidth / totalWidth;
                let newWidth = tableCellPreferredWidths[j].clone();
                newWidth.value = newValue;
                this.history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, i, j, newWidth));
            }
        }
    }
    createTableStructure(subDocument, paragraphIndex, newTable, rowCount, cellCount) {
        let paragraph = subDocument.paragraphs[paragraphIndex];
        for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
            let row = new table_row/* TableRow */.S(newTable, subDocument.documentModel.cache.tableRowPropertiesCache.getItem(new table_row_properties/* TableRowProperties */.A()));
            newTable.rows.push(row);
            for (let cellIndex = 0; cellIndex < cellCount; cellIndex++) {
                let cell = new table_cell/* TableCell */.p(row, subDocument.documentModel.cache.tableCellPropertiesCache.getItem(new table_cell_properties/* TableCellProperties */.x0()));
                row.cells.push(cell);
                cell.startParagraphPosition = subDocument.positionManager.registerPosition(paragraph.startLogPosition.value);
                cell.endParagrapPosition = subDocument.positionManager.registerPosition(paragraph.getEndPosition());
                paragraph = subDocument.paragraphs[++paragraphIndex];
            }
        }
    }
    fullCellWidth(widths, startSpan, cellSpan) {
        return list.ListUtils.accumulate(widths, 0, (acc, w) => acc + w, startSpan, startSpan + cellSpan);
    }
    initializeColumnWidthsWhenInsertTable(subDocument, table, avaliableSpace) {
        this.history.addAndRedo(new table_properties_history_items/* TablePreferredWidthHistoryItem */.iW(this.modelManipulator, subDocument, table.index, table_units/* TableWidthUnit */.CT.create(0, table_units/* TableWidthUnitType */.HO.Auto)));
        const widths = this.distributeWidthsToAllColumns(table, avaliableSpace);
        this.forEachCell(table, (pos, cellSpan) => {
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellPreferredWidthHistoryItem */.If(this.modelManipulator, subDocument, table.index, pos.rowIndex, pos.cellIndex, table_units/* TableWidthUnit */.CT.create(this.fullCellWidth(widths, cellSpan, pos.cell.columnSpan), table_units/* TableWidthUnitType */.HO.ModelUnits)));
        });
    }
    validateTableIndent(subDocument, table) {
        let paragraphIndex = subDocument.getParagraphIndexByPosition(table.getStartPosition());
        let paragraph = subDocument.paragraphs[paragraphIndex];
        let leftIndent = paragraph.getParagraphMergedProperties().leftIndent;
        let firstLineIndent = paragraph.getParagraphMergedProperties().firstLineIndent;
        let firstLineIndentType = paragraph.getParagraphMergedProperties().firstLineIndentType;
        if (leftIndent === 0 && firstLineIndent === 0 && firstLineIndentType === paragraph_properties/* ParagraphFirstLineIndent */.Qi.None)
            return;
        let endParagraphIndex = subDocument.getParagraphIndexByPosition(table.getEndPosition() - 1);
        for (; paragraphIndex <= endParagraphIndex; paragraphIndex++) {
            paragraph = subDocument.paragraphs[paragraphIndex];
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), 0, true));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), 0, true));
            this.history.addAndRedo(new paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg(this.modelManipulator, new sub_document/* SubDocumentInterval */.v8(subDocument, paragraph.interval), paragraph_properties/* ParagraphFirstLineIndent */.Qi.None, true));
        }
    }
    tryJoinTables(subDocument, table) {
        let paragraphIndex = subDocument.getParagraphIndexByPosition(table.getStartPosition());
        if (paragraphIndex === 0)
            return;
        let previousParagraph = subDocument.paragraphs[paragraphIndex - 1];
        let previousParagraphCell = main_structures_table/* Table */.iA.getTableCellByPosition(subDocument.tables, previousParagraph.startLogPosition.value);
        if (!previousParagraphCell || table.nestedLevel !== previousParagraphCell.parentRow.parentTable.nestedLevel)
            return;
        this.joinTablesCore(subDocument, [previousParagraphCell.parentRow.parentTable, table]);
    }
    joinTablesCore(_subDocument, tables) {
        if (tables.length < 2)
            throw new Error("tables.length should be > 2");
    }
    forEachCell(table, func) {
        const pos = new main_structures_table/* TablePosition */.TR(table, -1, -1);
        while (pos.moveToNextRow()) {
            let cellSpan = pos.row.gridBefore;
            while (pos.moveToNextCell()) {
                func(pos, cellSpan);
                cellSpan += pos.cell.columnSpan;
            }
        }
    }
    distributeWidthsToAllColumns(table, width) {
        const count = table.getTotalVirtualColumnsCount();
        const colWidth = Math.max(Math.ceil(width / count), 1);
        const result = list.ListUtils.initByValue(count - 1, colWidth);
        result.push(Math.max(1, Math.ceil(width - colWidth * (count - 1))));
        return result;
    }
    insertTableCore(table, tables, tablesByLevels, parentCell) {
        table.nestedLevel = parentCell ? parentCell.parentRow.parentTable.nestedLevel + 1 : 0;
        table.parentCell = parentCell;
        let position = table.getStartPosition();
        if (!tablesByLevels[table.nestedLevel])
            tablesByLevels[table.nestedLevel] = [];
        let indexInNestedLevel = search.SearchUtils.normedInterpolationIndexOf(tablesByLevels[table.nestedLevel], t => t.getStartPosition(), position);
        tablesByLevels[table.nestedLevel].splice(indexInNestedLevel + 1, 0, table);
        if (!parentCell)
            table.index = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(tables, t => t.getStartPosition(), position) + 1);
        else {
            let parentTable = parentCell.parentRow.parentTable;
            let index = parentTable.index + 1;
            for (let nextTable; nextTable = tables[index]; index++) {
                if (nextTable.getStartPosition() >= position)
                    break;
            }
            table.index = index;
        }
        tables.splice(table.index, 0, table);
        main_structures_table/* Table */.iA.advanceIndices(tables, table.index + 1, 1);
    }
    normalizeVerticalMerging(subDocument, table, rowIndex, cellIndex) {
        let row = table.rows[rowIndex];
        for (let nextCellIndex = cellIndex + 1, nextCell; nextCell = row.cells[nextCellIndex]; nextCellIndex++) {
            if (nextCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.None)
                continue;
            let nextCellVerticalMerging = nextCell.verticalMerging;
            let firstCellInMergingGroupPosition = main_structures_table/* Table */.iA.getFirstCellPositionInVerticalMergingGroup(main_structures_table/* TablePosition */.TR.createAndInit(table, rowIndex, nextCellIndex).init());
            let startColumnIndex = table_utils/* TableCellUtils */.V.getStartColumnIndex(firstCellInMergingGroupPosition.cell);
            let verticalSpanCellPositions = table_utils/* TableCellUtils */.V.getVerticalSpanCellPositions(firstCellInMergingGroupPosition, startColumnIndex);
            this.history.addAndRedo(new table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW(this.modelManipulator, subDocument, table.index, rowIndex, nextCellIndex, table_base_structures/* TableCellMergingState */.Z3.None));
            if (nextCellVerticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
                if (verticalSpanCellPositions.length > 2)
                    this.history.addAndRedo(table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW.fromPosition(this.modelManipulator, subDocument, verticalSpanCellPositions[1], table_base_structures/* TableCellMergingState */.Z3.Restart));
                else {
                    this.history.addAndRedo(table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW.fromPosition(this.modelManipulator, subDocument, verticalSpanCellPositions[0], table_base_structures/* TableCellMergingState */.Z3.None));
                    this.history.addAndRedo(table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW.fromPosition(this.modelManipulator, subDocument, verticalSpanCellPositions[1], table_base_structures/* TableCellMergingState */.Z3.None));
                }
            }
            else {
                let nextCellIndexInMergingGroup = main_structures_table/* TablePosition */.TR.indexOfCell(verticalSpanCellPositions, nextCell);
                if (nextCellIndexInMergingGroup === 1)
                    this.history.addAndRedo(table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW.fromPosition(this.modelManipulator, subDocument, verticalSpanCellPositions[0], table_base_structures/* TableCellMergingState */.Z3.None));
                if (verticalSpanCellPositions.length - 2 === nextCellIndexInMergingGroup)
                    this.history.addAndRedo(table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW.fromPosition(this.modelManipulator, subDocument, verticalSpanCellPositions[verticalSpanCellPositions.length - 1], table_base_structures/* TableCellMergingState */.Z3.None));
                else if (verticalSpanCellPositions.length - 1 !== nextCellIndexInMergingGroup)
                    this.history.addAndRedo(table_cell_properties_history_items/* TableCellVerticalMergingHistoryItem */.DW.fromPosition(this.modelManipulator, subDocument, verticalSpanCellPositions[nextCellIndexInMergingGroup + 1], table_base_structures/* TableCellMergingState */.Z3.Restart));
            }
        }
    }
    normalizeRows(subDocument, table) {
        for (let i = table.rows.length - 1, row; row = table.rows[i]; i--) {
            if (this.areAllCellsHasVerticalMerge(row)) {
                let height = row.height;
                if (height.type !== table_units/* TableHeightUnitType */.X.Auto && i > 0) {
                    let prevRowHeight = table.rows[i - 1].height;
                    this.history.addAndRedo(new table_row_properties_history_items/* TableRowHeightHistoryItem */.kl(this.modelManipulator, subDocument, table.index, i - 1, table_units/* TableHeightUnit */.aN.create(prevRowHeight.value + height.value, height.type)));
                }
                this.removeTableRowWithContent(subDocument, table, i);
            }
        }
    }
    areAllCellsHasVerticalMerge(row) {
        for (let i = 0, cell; cell = row.cells[i]; i++) {
            if (cell.verticalMerging !== table_base_structures/* TableCellMergingState */.Z3.Continue)
                return false;
        }
        return true;
    }
    mergeSelectedTableCellsHorizontally(subDocument, tableInfo, inputPosition) {
        tableInfo.extendedData.rows.forEach(rowInfo => {
            const modelCellInterval = new boundary/* BoundaryInterval */.e(rowInfo.cells[0].cellIndex, list.ListUtils.last(rowInfo.cells).cellIndex + 1);
            for (let modelCellInd = modelCellInterval.end - 2; modelCellInd >= modelCellInterval.start; modelCellInd--) {
                const tablePosition = new main_structures_table/* TablePosition */.TR(tableInfo.table, rowInfo.rowIndex, modelCellInd).init();
                this.modelManipulator.table.mergeTwoTableCellsHorizontally(subDocument, tablePosition, inputPosition);
            }
        });
    }
    mergeSelectedTableCellsVertically(subDocument, tableInfo, inputPosition) {
        list.ListUtils.reverseForEach(tableInfo.extendedData.rows, (rowInfo) => {
            const tablePosition = new main_structures_table/* TablePosition */.TR(tableInfo.table, rowInfo.rowIndex, rowInfo.cells[0].cellIndex).init();
            this.modelManipulator.table.mergeTwoTableCellsVertically(subDocument, tablePosition, inputPosition);
        }, tableInfo.extendedData.numRows - 2);
    }
    mergeTwoTableCellsHorizontally(subDocument, cellPosition, inpPos) {
        new merge_table_cells_operation/* MergeTwoTableCellsHorizontallyOperation */.pT(this.modelManipulator.modelManager, subDocument).execute(cellPosition, true, inpPos);
    }
    mergeTwoTableCellsVertically(subDocument, cellPosition, inpPos) {
        new merge_table_cells_operation/* MergeTwoTableCellsVerticallyOperation */.cT(this.modelManipulator.modelManager, subDocument).execute(cellPosition, true, inpPos);
    }
    insertCellToTheRight(subDocument, table, rowIndex, cellIndex, inpPos, canNormalizeTable = true, canNormalizeVerticalMerging = true, canCopyProperties = true, needToSetNextStyle = true) {
        new InsertTableCellToTheRightOperation(this.modelManipulator.modelManager, subDocument)
            .execute(table, rowIndex, cellIndex, inpPos, { canNormalizeTable, canNormalizeVerticalMerging, canCopyProperties, needToSetNextStyle });
    }
    insertCellToTheLeft(subDocument, table, rowIndex, cellIndex, inpPos, canNormalizeTable = true, canNormalizeVerticalMerging = true, canCopyProperties = true) {
        new InsertTableCellToTheLeftOperation(this.modelManipulator.modelManager, subDocument)
            .execute(table, rowIndex, cellIndex, inpPos, { canNormalizeTable, canNormalizeVerticalMerging, canCopyProperties });
    }
    insertRowBelow(subDocument, table, rowIndex) {
        new InsertTableRowBelowOperation(this.modelManipulator.modelManager, subDocument).execute(table, rowIndex);
    }
    insertRowAbove(subDocument, table, rowIndex) {
        new InsertTableRowAboveOperation(this.modelManipulator.modelManager, subDocument).execute(table, rowIndex);
    }
    insertTable(subDocument, rowCount, cellCount, position, availableWidth, inpPos, applyInitialBorders = false) {
        if (rowCount < 1 || cellCount < 1)
            throw new Error("rowCount and cellCount must be greater than 0");
        this.history.beginTransaction();
        let targetParagraphIndex = subDocument.getParagraphIndexByPosition(position);
        let targetParagraph = subDocument.paragraphs[targetParagraphIndex];
        if (targetParagraph.startLogPosition.value !== position || search.SearchUtils.binaryIndexOf(subDocument.tables, t => t.getEndPosition() - position) >= 0) {
            this.modelManipulator.paragraph.insertParagraphViaHistory(insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n.makeParamsByPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, position), inpPos));
            position++;
            targetParagraphIndex++;
        }
        let newParagraphCount = rowCount * cellCount;
        for (let i = 0; i < newParagraphCount; i++)
            this.modelManipulator.paragraph.insertParagraphViaHistory(insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n.makeParamsByPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, position + i), inpPos));
        this.history.addAndRedo(new create_table_history_item/* CreateTableHistoryItem */.v(this.modelManipulator, subDocument, targetParagraphIndex, rowCount, cellCount));
        const table = main_structures_table/* Table */.iA.getTableByPosition(subDocument.tables, position, true);
        this.initializeColumnWidthsWhenInsertTable(subDocument, table, availableWidth);
        this.validateTableIndent(subDocument, table);
        this.history.addAndRedo(new table_properties_history_items/* TableLookTypesHistoryItem */.t_(this.modelManipulator, subDocument, table.index, table_base_structures/* TableLookTypes */.sp.ApplyFirstRow | table_base_structures/* TableLookTypes */.sp.ApplyFirstColumn | table_base_structures/* TableLookTypes */.sp.DoNotApplyColumnBanding));
        this.tryJoinTables(subDocument, table);
        if (applyInitialBorders)
            this.applyInitialBorders(subDocument, table);
        this.history.endTransaction();
        return table;
    }
    applyInitialBorders(subDocument, table) {
        let newTableBorder = new border_info/* BorderInfo */.H();
        newTableBorder.style = enums/* BorderLineStyle */.u.Single;
        newTableBorder.width = 15;
        newTableBorder.color = this.model.colorProvider.getModelColorFromRgba(0);
        this.history.addAndRedo(new table_properties_history_items/* TableBordersHistoryItem */.jw(this.modelManipulator, subDocument, table.index, [
            newTableBorder.clone(), newTableBorder.clone(), newTableBorder.clone(), newTableBorder.clone(),
            newTableBorder.clone(), newTableBorder.clone()
        ], [true, true, true, true, true, true]));
    }
    removeTablesOnInterval(subDocInterval, removeTableIfItMatchesWithInterval) {
        const subDocument = subDocInterval.subDocument;
        const interval = subDocInterval.interval;
        let intervalEnd = interval.end;
        let startTableIndex = Math.max(search.SearchUtils.normedInterpolationIndexOf(subDocument.tables, t => t.getStartPosition(), interval.start), 0);
        while (startTableIndex > 0 && subDocument.tables[startTableIndex].nestedLevel > 0)
            startTableIndex--;
        let tablesForRemoving = [];
        for (let tableIndex = startTableIndex, table; table = subDocument.tables[tableIndex]; tableIndex++) {
            let tableStartPosition = table.getStartPosition();
            if (intervalEnd <= tableStartPosition)
                break;
            let tableEndPosition = table.getEndPosition();
            const tblInterval = table.interval;
            if (tableStartPosition === interval.start && tableEndPosition === intervalEnd) {
                if (removeTableIfItMatchesWithInterval)
                    tablesForRemoving.push(table);
            }
            else if (interval.containsInterval(tblInterval))
                tablesForRemoving.push(table);
        }
        for (let i = tablesForRemoving.length - 1; i >= 0; i--)
            this.history.addAndRedo(new RemoveTableHistoryItem(this.modelManipulator, subDocument, tablesForRemoving[i].index));
    }
    resetParagraphCharacterMergedProperties(subDocument, tableIndex) {
        const table = subDocument.tables[tableIndex];
        const tableStartPosition = table.getStartPosition();
        const tableEndPosition = table.getEndPosition();
        const modelIterator = new model_iterator/* ModelIterator */.w(subDocument, false);
        modelIterator.setPosition(tableStartPosition);
        let currPar = null;
        do {
            const run = modelIterator.run;
            if (currPar != run.paragraph) {
                currPar = run.paragraph;
                if (currPar.startLogPosition.value >= tableEndPosition)
                    break;
                currPar.resetParagraphMergedProperties();
            }
            run.resetCharacterMergedProperties();
        } while (modelIterator.moveToNextRun());
    }
}


/***/ }),

/***/ 5757:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  W: function() { return /* binding */ BaseTextBoxInfo; },
  O: function() { return /* binding */ TextBoxManipulator; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./src/common/model/changes/change-base.ts
var change_base = __webpack_require__(5816);
// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var enums = __webpack_require__(300);
;// CONCATENATED MODULE: ./src/common/model/changes/sub-document/text/anchored-text-box-inserted.ts


class AnchoredTextBoxInsertedSubDocumentChange extends change_base/* ContentInsertedSubDocumentChange */.K {
    constructor(subDocumentId, objectId, innerSubDocId, position, anchorInfo, containerProperties) {
        super(subDocumentId, position, 1);
        this.objectId = objectId;
        this.innerSubDocId = innerSubDocId;
        this.anchorInfo = anchorInfo;
        this.containerProperties = containerProperties;
        this.type = enums/* ModelChangeType */.f.AnchoredTextBoxInserted;
    }
}

// EXTERNAL MODULE: ./src/common/model/enums.ts
var model_enums = __webpack_require__(4907);
// EXTERNAL MODULE: ./src/common/model/history/items/floating-objects/insert-anchored-picture-history-item.ts
var insert_anchored_picture_history_item = __webpack_require__(7130);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/manipulators/runs-base-manipulator.ts
var runs_base_manipulator = __webpack_require__(3501);
;// CONCATENATED MODULE: ./src/common/model/manipulators/text-box-manipulator.ts







class BaseTextBoxInfo {
    constructor(innerSubDocument, size, shape, anchorInfo, textBoxProperties, containerProperties) {
        this.innerSubDocument = innerSubDocument;
        this.size = size;
        this.shape = shape;
        this.anchorInfo = anchorInfo;
        this.textBoxProperties = textBoxProperties;
        this.containerProperties = containerProperties;
    }
}
class TextBoxManipulator extends runs_base_manipulator/* RunsBaseManipulator */.D {
    insertAnchoredTextBoxViaHistory(subDocPos, charPropsBundle, textBoxInfo) {
        this.history.addAndRedo(new insert_anchored_picture_history_item/* InsertAnchoredTextBoxHistoryItem */.o(this.modelManipulator, subDocPos, charPropsBundle, textBoxInfo));
    }
    insertAnchoredTextBox(subDocPos, charPropsBundle, textBoxInfo) {
        const subDocument = subDocPos.subDocument;
        const insertPositionAtStartDocument = subDocPos.position;
        if (subDocument.isTextBox())
            throw new Error("TextBox can not be inserted into another TextBox");
        const insertedRun = this.modelManipulator.text.insertRunInternal(subDocPos, charPropsBundle, run_type/* RunType */.m.AnchoredTextBoxRun, rich_utils/* RichUtils */.i.specialCharacters.ObjectMark);
        const textBoxRun = subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex];
        textBoxRun.size.copyFrom(textBoxInfo.size);
        textBoxRun.shape.copyFrom(textBoxInfo.shape);
        textBoxRun.anchorInfo = textBoxInfo.anchorInfo.clone();
        textBoxRun.containerProperties.copyFrom(textBoxInfo.containerProperties);
        let textBoxSubDoc = textBoxInfo.innerSubDocument ?
            textBoxInfo.innerSubDocument :
            this.model.createSubDocument(model_enums/* SubDocumentInfoType */.F.TextBox, subDocument.id);
        textBoxInfo.innerSubDocument = textBoxSubDoc;
        textBoxRun.subDocId = textBoxSubDoc.id;
        subDocument.chunks[insertedRun.chunkIndex].textRuns[insertedRun.runIndex].paragraph.length++;
        this.modelManipulator.notifyModelChanged(new AnchoredTextBoxInsertedSubDocumentChange(subDocument.id, textBoxRun.anchoredObjectID, textBoxRun.subDocId, insertPositionAtStartDocument, textBoxInfo.anchorInfo, textBoxRun.containerProperties));
        const interval = new fixed.FixedInterval(insertPositionAtStartDocument, 1);
        this.modelManipulator.floatingObject.textBoxSize.setValue(subDocument, interval, textBoxInfo.size);
        this.modelManipulator.floatingObject.shape.fillColor.setValue(subDocument, interval, textBoxInfo.shape.fillColor);
        this.modelManipulator.floatingObject.shape.outlineColor.setValue(subDocument, interval, textBoxInfo.shape.outlineColor);
        this.modelManipulator.floatingObject.shape.outlineWidth.setValue(subDocument, interval, textBoxInfo.shape.outlineWidth);
        this.modelManipulator.floatingObject.textBoxProperties.setValue(subDocument, interval, textBoxInfo.textBoxProperties);
        return textBoxRun;
    }
}


/***/ }),

/***/ 2598:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   N: function() { return /* binding */ InsertTextManipulatorParams; },
/* harmony export */   x: function() { return /* binding */ InsertLayoutDependentTextManipulatorParams; }
/* harmony export */ });
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8845);
/* harmony import */ var _runs_run_type__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3549);
/* harmony import */ var _utils_manipulator_params_base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8116);



class InsertTextManipulatorParams extends _utils_manipulator_params_base__WEBPACK_IMPORTED_MODULE_2__/* .ManipulatorParamsCharacterPropertiesBased */ .IW {
    constructor(subDocPos, charPropsBundle, runType, text) {
        super(subDocPos, charPropsBundle);
        this.text = text;
        this.runType = runType;
    }
    clone() {
        const obj = new InsertTextManipulatorParams(this.subDocPos, this.charPropsBundle, this.runType, this.text);
        return obj;
    }
}
class InsertLayoutDependentTextManipulatorParams extends InsertTextManipulatorParams {
    constructor(subDocPos, charPropsBundle) {
        super(subDocPos, charPropsBundle, _runs_run_type__WEBPACK_IMPORTED_MODULE_1__/* .RunType */ .m.LayoutDependentRun, _rich_utils__WEBPACK_IMPORTED_MODULE_0__/* .RichUtils */ .i.specialCharacters.LayoutDependentText);
    }
}


/***/ }),

/***/ 8116:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   IW: function() { return /* binding */ ManipulatorParamsCharacterPropertiesBased; }
/* harmony export */ });
/* unused harmony exports ManipulatorParamsBase, ManipulatorParamsPositionBased */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8679);
/* harmony import */ var _rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5580);



class ManipulatorParamsBase {
    constructor(needCorrectParams, needCheckParams) {
        this.needCorrectParams = needCorrectParams;
        this.needCheckParams = needCheckParams;
    }
    fail(exceptionString) {
        if (_rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_2__/* .Log */ .Z.isDebug)
            throw new Error(exceptionString);
        return false;
    }
    correctAndCheckParams() {
        if (this.needCorrectParams)
            this.correctParams();
        if (this.needCheckParams)
            if (!this.checkParams())
                return false;
        return true;
    }
    innerCheck(paramOk, exceptionString) {
        if (!paramOk)
            this.fail(exceptionString);
        return paramOk;
    }
}
class ManipulatorParamsPositionBased extends ManipulatorParamsBase {
    constructor(subDocPos) {
        super(true, true);
        this.subDocPos = subDocPos;
    }
    correctParams() {
        const documentEndPosition = this.subDocPos.subDocument.getDocumentEndPosition();
        this.subDocPos.position = _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.restrictValue(this.subDocPos.position, 0, documentEndPosition - 1);
    }
    checkParams() {
        const documentEndPosition = this.subDocPos.subDocument.getDocumentEndPosition();
        return this.innerCheck(this.subDocPos.position >= 0 && this.subDocPos.position < documentEndPosition, _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
}
class ManipulatorParamsCharacterPropertiesBased extends ManipulatorParamsPositionBased {
    constructor(subDocPos, charPropsBundle) {
        super(subDocPos);
        this.charPropsBundle = charPropsBundle;
    }
    checkParams() {
        return super.checkParams() &&
            this.innerCheck(!!this.charPropsBundle.props, _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException) &&
            this.innerCheck(!!this.charPropsBundle.style, _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
}


/***/ }),

/***/ 5770:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  n: function() { return /* binding */ ModelChecker; },
  x: function() { return /* binding */ ModelCheckerResult; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./src/common/layout-formatter/table/grid-engine/grid.ts
var grid_engine_grid = __webpack_require__(8115);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
// EXTERNAL MODULE: ./src/common/model/position/position.ts
var position = __webpack_require__(9108);
;// CONCATENATED MODULE: ./src/common/model/model-checks/position.ts




class PositionChecker {
    constructor(model) {
        this.model = model;
    }
    check() {
        return number/* NumberMapUtils */.j.allOf(this.model.subDocuments, sd => {
            this.poss = [];
            this.addParagraphs(sd);
            this.addTables(sd);
            this.addFields(sd);
            this.addBookmarks(sd);
            this.addRangePermissions(sd);
            if (sd.isMain())
                this.addSections();
            return this.compare(this.poss, list.ListUtils.shallowCopy(sd.positionManager.positions));
        });
    }
    compare(poss, registered) {
        this.sort(registered);
        this.sort(poss);
        let regInterval = new boundary/* BoundaryInterval */.e(0, 0);
        let prevPos = new position/* Position */.L(-1);
        for (let currPos of poss) {
            if (prevPos.value != currPos.value)
                regInterval = this.getNewRegInterval(registered, regInterval);
            while (this.isGreater(currPos, registered, regInterval))
                regInterval = this.getNewRegInterval(registered, regInterval);
            if (!this.isEqual(currPos, registered, regInterval))
                return false;
            prevPos = currPos;
        }
        return true;
    }
    getNewRegInterval(registered, regInterval) {
        regInterval = new boundary/* BoundaryInterval */.e(regInterval.end, regInterval.end + 1);
        let prevRegPos = registered[regInterval.start];
        for (let currRegPos; currRegPos = registered[regInterval.end]; regInterval.end++) {
            if (prevRegPos.value != currRegPos.value)
                break;
            prevRegPos = currRegPos;
        }
        return regInterval;
    }
    isGreater(currPos, registered, regInterval) {
        for (let i = regInterval.start; i < regInterval.end; i++) {
            if (registered[i] && currPos.value > registered[i].value)
                return true;
        }
        return false;
    }
    isEqual(currPos, registered, regInterval) {
        for (let i = regInterval.start; i < regInterval.end; i++) {
            if (currPos === registered[i])
                return true;
        }
        return false;
    }
    sort(poss) {
        poss.sort((a, b) => a.value - b.value);
    }
    addSections() {
        for (let s of this.model.sections)
            this.poss.push(s.startLogPosition);
    }
    addParagraphs(sd) {
        for (let p of sd.paragraphs)
            this.poss.push(p.startLogPosition);
    }
    addTables(sd) {
        for (let t of sd.tables) {
            for (let row of t.rows) {
                for (let cell of row.cells) {
                    this.poss.push(cell.startParagraphPosition);
                    this.poss.push(cell.endParagrapPosition);
                }
            }
        }
    }
    addFields(sd) {
        for (let f of sd.fields)
            f.getPositions(this.poss);
    }
    addBookmarks(sd) {
        for (let b of sd.bookmarks) {
            this.poss.push(b._interval._start);
            this.poss.push(b._interval._end);
        }
    }
    addRangePermissions(sd) {
        for (let r of sd.rangePermissions) {
            this.poss.push(r._interval._start);
            this.poss.push(r._interval._end);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/model/model-checks/check-all.ts








var ModelCheckerResult;
(function (ModelCheckerResult) {
    ModelCheckerResult[ModelCheckerResult["None"] = 0] = "None";
    ModelCheckerResult[ModelCheckerResult["Run"] = 1] = "Run";
    ModelCheckerResult[ModelCheckerResult["Paragraph"] = 2] = "Paragraph";
    ModelCheckerResult[ModelCheckerResult["Chunk"] = 3] = "Chunk";
    ModelCheckerResult[ModelCheckerResult["Section"] = 4] = "Section";
    ModelCheckerResult[ModelCheckerResult["SubDocument"] = 5] = "SubDocument";
    ModelCheckerResult[ModelCheckerResult["Field"] = 6] = "Field";
    ModelCheckerResult[ModelCheckerResult["Table"] = 7] = "Table";
    ModelCheckerResult[ModelCheckerResult["PositionManager"] = 8] = "PositionManager";
    ModelCheckerResult[ModelCheckerResult["RangePermission"] = 9] = "RangePermission";
})(ModelCheckerResult || (ModelCheckerResult = {}));
class ModelChecker {
    constructor(model) {
        this.results = [];
        this.model = model;
    }
    checkAll() {
        if (ModelChecker.disableCheckModel)
            return true;
        this.check([
            this.checkModelProps,
            this.checkParagraphs,
            this.checkChunks,
            this.checkSections,
            this.checkParagraphChunk,
            this.checkFields,
            this.checkTables,
            this.checkPositions
        ]);
        return !this.results.length;
    }
    check(checks) {
        for (let check of checks) {
            const result = check.call(this);
            if (result != ModelCheckerResult.None && result !== null) {
                this.results.push(result);
                break;
            }
        }
    }
    checkModelProps() {
        if (!this.model.mainSubDocument)
            return ModelCheckerResult.SubDocument;
        if (!this.model.subDocuments[sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID])
            return ModelCheckerResult.SubDocument;
        return ModelCheckerResult.None;
    }
    checkParagraphs() {
        return number/* NumberMapUtils */.j.unsafeAnyOf(this.model.subDocuments, sd => {
            if (!sd.paragraphs[0] || sd.paragraphs[0].startLogPosition.value != 0)
                return ModelCheckerResult.Paragraph;
            let parPos = 0;
            for (let par of sd.paragraphs) {
                if (par.startLogPosition.value != parPos || par.length < 1 ||
                    !sd.getRunByPosition(par.getEndPosition() - 1).isParagraphOrSectionRun())
                    return ModelCheckerResult.Paragraph;
                const checkTabsResult = this.checkTabs(par.tabs);
                if (checkTabsResult)
                    return checkTabsResult;
                parPos += par.length;
            }
            return ModelCheckerResult.None;
        });
    }
    checkTabs(tabs) {
        for (let tab of tabs.tabsInfo) {
            if (tab.leader === undefined)
                return ModelCheckerResult.Paragraph;
        }
        return ModelCheckerResult.None;
    }
    checkChunks() {
        return number/* NumberMapUtils */.j.unsafeAnyOf(this.model.subDocuments, sd => {
            if (!sd.chunks[0] && sd.chunks[0].startLogPosition.value != 0)
                return ModelCheckerResult.Chunk;
            let chunkPos = 0;
            for (let chunk of sd.chunks) {
                if (chunk.textBuffer.length < 1 || chunk.textRuns.length < 1 || chunk.startLogPosition.value != chunkPos)
                    return ModelCheckerResult.Chunk;
                for (let run of chunk.textRuns) {
                    if (!run.maskedCharacterProperties.fontInfo || !run.characterStyle)
                        return ModelCheckerResult.Run;
                }
                chunkPos += chunk.textBuffer.length;
            }
            return ModelCheckerResult.None;
        });
    }
    checkSections() {
        const mainSubDoc = this.model.mainSubDocument;
        if (!this.model.sections[0] || this.model.sections[0].startLogPosition.value != 0)
            return ModelCheckerResult.Section;
        let sectionPos = 0;
        for (let section of this.model.sections) {
            if (sectionPos != section.startLogPosition.value || section.getLength() < 1 ||
                !mainSubDoc.getRunByPosition(section.getEndPosition() - 1).isParagraphOrSectionRun())
                return ModelCheckerResult.Section;
            sectionPos += section.getLength();
        }
        if (list.ListUtils.last(this.model.sections).getEndPosition() != list.ListUtils.last(mainSubDoc.paragraphs).getEndPosition())
            return ModelCheckerResult.Section;
        return ModelCheckerResult.None;
    }
    checkParagraphChunk() {
        return number/* NumberMapUtils */.j.unsafeAnyOf(this.model.subDocuments, sd => {
            const lastPos = list.ListUtils.last(sd.paragraphs).getEndPosition();
            if (lastPos != list.ListUtils.last(sd.chunks).getEndPosition())
                return ModelCheckerResult.Chunk;
            return ModelCheckerResult.None;
        });
    }
    checkFields() {
        return number/* NumberMapUtils */.j.unsafeAnyOf(this.model.subDocuments, sd => {
            const fieldsCopy = list.ListUtils.shallowCopy(sd.fields).sort((a, b) => a.getFieldStartPosition() - b.getFieldStartPosition());
            if (!list.ListUtils.allOf2(fieldsCopy, sd.fields, (a, b) => a.index == b.index))
                return ModelCheckerResult.Field;
            return list.ListUtils.unsafeAnyOf(sd.fields, (field, index) => {
                if (field.index != index)
                    return ModelCheckerResult.Field;
                const result = this.checkField(sd, field);
                return result;
            });
        });
    }
    checkTables() {
        return number/* NumberMapUtils */.j.unsafeAnyOf(this.model.subDocuments, sd => {
            const tablesCopy = list.ListUtils.shallowCopy(sd.tables);
            tablesCopy.sort(table/* Table */.iA.comparer);
            if (!list.ListUtils.allOf2(tablesCopy, sd.tables, (a, b) => a.index == b.index))
                return ModelCheckerResult.Table;
            if (sd.tables.length != list.ListUtils.accumulateNumber(sd.tablesByLevels, tblOnLevel => tblOnLevel.length))
                return ModelCheckerResult.Table;
            if (list.ListUtils.unsafeAnyOf(sd.tablesByLevels, tablesOnLevel => list.ListUtils.unsafeAnyOf(tablesOnLevel, (table, index) => table.getStartPosition() - tablesOnLevel[index - 1].getEndPosition() < 1, 1)))
                return ModelCheckerResult.Table;
            return list.ListUtils.unsafeAnyOf(sd.tables, (table, index) => {
                if (table.index != index)
                    return ModelCheckerResult.Table;
                const result = this.checkTable(sd, table);
                return result;
            });
        });
    }
    checkField(sd, field) {
        const startPos = field.getFieldStartPosition();
        const codeStartPos = field.getCodeStartPosition();
        const sepPos = field.getSeparatorPosition();
        const resultStartPos = field.getResultStartPosition();
        const resultEndPos = field.getResultEndPosition();
        const endPos = field.getFieldEndPosition();
        if (!(startPos + 1 == codeStartPos &&
            sepPos + 1 == resultStartPos &&
            resultEndPos + 1 == endPos &&
            sepPos > startPos &&
            resultEndPos - sepPos > 0 &&
            sd.getRunByPosition(startPos).getType() == run_type/* RunType */.m.FieldCodeStartRun &&
            sd.getRunByPosition(sepPos).getType() == run_type/* RunType */.m.FieldCodeEndRun &&
            sd.getRunByPosition(resultEndPos).getType() == run_type/* RunType */.m.FieldResultEndRun)) {
            return ModelCheckerResult.Field;
        }
        if (field.parent) {
            if (!this.isParentOfField(field, field.parent))
                return ModelCheckerResult.Field;
        }
        return ModelCheckerResult.None;
    }
    isParentOfField(field, parent) {
        const allFieldInterval = field.getAllFieldInterval();
        const parentInterval = field.getFieldStartPosition() < parent.getSeparatorPosition() ?
            parent.getCodeInterval() :
            parent.getResultInterval();
        return allFieldInterval.start >= parentInterval.start && allFieldInterval.end <= parentInterval.end;
    }
    checkTable(sd, table) {
        if (table.parentCell) {
            if (!table.parentCell.interval.containsIntervalWithoutEnd(table.interval))
                return ModelCheckerResult.Table;
        }
        if (!table.rows[0] || !table.rows[0].cells[0])
            return ModelCheckerResult.Table;
        let cellPos = table.rows[0].cells[0].startParagraphPosition.value;
        const numLogicalColumns = table.rows[0].getTotalCellsInRowConsiderGrid();
        for (let row, rowIndex = 0; row = table.rows[rowIndex]; rowIndex++) {
            if (row.getTotalCellsInRowConsiderGrid() != numLogicalColumns || !row.cells[0])
                return ModelCheckerResult.Table;
            for (let cell, cellIndex = 0; cell = row.cells[cellIndex]; cellIndex++) {
                const cellInterval = cell.interval;
                if (cellInterval.start != cellPos || cellInterval.length < 1 ||
                    sd.getRunByPosition(cellInterval.end - 1).getType() != run_type/* RunType */.m.ParagraphRun ||
                    cell.columnSpan < 1) {
                    return ModelCheckerResult.Table;
                }
                cellPos += cellInterval.length;
            }
        }
        const grid = new grid_engine_grid/* Grid */.r(table);
        for (let row, rowIndex = 0; row = table.rows[rowIndex]; rowIndex++) {
            for (let cell, cellIndex = 0; cell = row.cells[cellIndex]; cellIndex++) {
                const info = grid.tableCellInfos[rowIndex][cellIndex];
                switch (cell.verticalMerging) {
                    case table_base_structures/* TableCellMergingState */.Z3.None:
                        {
                            if (!(rowIndex == info.getStartRowIndex() && rowIndex + 1 == info.getEndRowIndex())) {
                                return ModelCheckerResult.Table;
                            }
                        }
                        break;
                    case table_base_structures/* TableCellMergingState */.Z3.Continue:
                        if (!(rowIndex > info.getStartRowIndex() && rowIndex < info.getEndRowIndex())) {
                            return ModelCheckerResult.Table;
                        }
                        break;
                    case table_base_structures/* TableCellMergingState */.Z3.Restart:
                        if (!(rowIndex == info.getStartRowIndex() && info.getEndRowIndex() > rowIndex + 1)) {
                            return ModelCheckerResult.Table;
                        }
                        break;
                    default:
                        return ModelCheckerResult.Table;
                }
            }
        }
        return ModelCheckerResult.None;
    }
    checkPositions() {
        return new PositionChecker(this.model).check() ? ModelCheckerResult.None : ModelCheckerResult.PositionManager;
    }
}
ModelChecker.disableCheckModel = false;


/***/ }),

/***/ 7747:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   w: function() { return /* binding */ ModelIterator; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2400);
/* harmony import */ var _full_chunk_and_run_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4628);


class ModelIterator extends _full_chunk_and_run_info__WEBPACK_IMPORTED_MODULE_1__/* .FullChunkAndRunInfo */ .N {
    constructor(subDocument, ignoreHiddenRuns) {
        super(-1, null, -1, null, 0);
        this.subDocument = subDocument;
        this.chunks = subDocument.chunks;
        this.ignoreHiddenRuns = ignoreHiddenRuns;
    }
    setPositionByFullRunInfo(runInfo) {
        if (this.run && this.getAbsolutePosition() == runInfo.getAbsolutePosition())
            return;
        this.chunkIndex = runInfo.chunkIndex;
        this.chunk = runInfo.chunk;
        this.runs = this.chunk.textRuns;
        this.runIndex = runInfo.runIndex;
        this.run = runInfo.run;
        this.charOffset = runInfo.charOffset;
        if (this.ignoreHiddenRuns && this.run.getCharacterMergedProperties().hidden)
            this.moveToNextRun();
    }
    setPosition(pos) {
        if (this.run && this.getAbsolutePosition() == pos)
            return;
        this.chunkIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_0__.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, pos);
        this.chunk = this.chunks[this.chunkIndex];
        var runOffset = pos - this.chunk.startLogPosition.value;
        this.runs = this.chunk.textRuns;
        this.runIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_0__.SearchUtils.normedInterpolationIndexOf(this.runs, (r) => r.startOffset, runOffset);
        this.run = this.runs[this.runIndex];
        this.charOffset = runOffset - this.run.startOffset;
        if (this.ignoreHiddenRuns && this.run.getCharacterMergedProperties().hidden)
            this.moveToNextRun();
    }
    moveToNextChar() {
        if (this.charOffset + 1 < this.run.getLength()) {
            this.charOffset++;
            return true;
        }
        return this.moveToNextRun();
    }
    moveToPrevChar() {
        if (this.charOffset > 0) {
            this.charOffset--;
            return true;
        }
        return this.moveToPrevRun();
    }
    moveToNextRun() {
        if (this.runIndex + 1 < this.runs.length) {
            this.charOffset = 0;
            this.runIndex++;
            this.run = this.runs[this.runIndex];
            if (this.ignoreHiddenRuns && this.run.getCharacterMergedProperties().hidden)
                return this.moveToNextRun();
            return true;
        }
        if (this.chunkIndex + 1 < this.chunks.length) {
            this.charOffset = 0;
            this.runIndex = 0;
            this.chunkIndex++;
            this.chunk = this.chunks[this.chunkIndex];
            this.runs = this.chunk.textRuns;
            this.run = this.runs[this.runIndex];
            if (this.ignoreHiddenRuns && this.run.getCharacterMergedProperties().hidden)
                return this.moveToNextRun();
            return true;
        }
        return false;
    }
    moveToPrevRun() {
        if (this.runIndex > 0) {
            this.runIndex--;
            this.run = this.runs[this.runIndex];
            this.charOffset = this.run.getLength() - 1;
            if (this.ignoreHiddenRuns && this.run.getCharacterMergedProperties().hidden)
                return this.moveToPrevRun();
            return true;
        }
        if (this.chunkIndex > 0) {
            this.chunkIndex--;
            this.chunk = this.chunks[this.chunkIndex];
            this.runs = this.chunk.textRuns;
            this.runIndex = this.runs.length - 1;
            this.run = this.runs[this.runIndex];
            this.charOffset = this.run.getLength() - 1;
            if (this.ignoreHiddenRuns && this.run.getCharacterMergedProperties().hidden)
                return this.moveToPrevRun();
            return true;
        }
        return false;
    }
    clone() {
        var newIterator = new ModelIterator(this.subDocument, this.ignoreHiddenRuns);
        newIterator.chunks = this.chunks;
        newIterator.chunk = this.chunk;
        newIterator.chunkIndex = this.chunkIndex;
        newIterator.runs = this.runs;
        newIterator.run = this.run;
        newIterator.runIndex = this.runIndex;
        newIterator.charOffset = this.charOffset;
        return newIterator;
    }
}


/***/ }),

/***/ 5622:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  A: function() { return /* binding */ NumberConverterCreator; }
});

// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level-properties.ts
var list_level_properties = __webpack_require__(4830);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/constants.js
var constants = __webpack_require__(8785);
;// CONCATENATED MODULE: ./src/common/model/number-converters/ordinal-based-number-converter.ts


class OrdinalBasedNumberConverter {
    constructor() {
        this.maxValue = constants.Constants.MAX_SAFE_INTEGER;
        this.minValue = constants.Constants.MIN_SAFE_INTEGER;
    }
    convertNumber(value) {
        if (value >= this.minValue && value <= this.maxValue) {
            return this.convertNumberCore(value);
        }
        throw new Error("InvalidNumberConverterValue");
    }
}
class OrdinalLocalBasedNumberConverter extends OrdinalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super();
        this.simpleFormattersManager = simpleFormattersManager;
        this.type = list_level_properties/* NumberingFormat */.uV.Ordinal;
    }
}
class OrdinalEnglishNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
        this.ending = ["st", "nd", "rd", "th"];
    }
    convertNumberCore(value) {
        var temp = value % 100;
        if (temp < 21) {
            switch (temp) {
                case 1:
                    return this.simpleFormattersManager.formatString("{0}{1}", value, this.ending[0]);
                case 2:
                    return this.simpleFormattersManager.formatString("{0}{1}", value, this.ending[1]);
                case 3:
                    return this.simpleFormattersManager.formatString("{0}{1}", value, this.ending[2]);
                default:
                    return this.simpleFormattersManager.formatString("{0}{1}", value, this.ending[3]);
            }
        }
        value--;
        temp = value % 10;
        if (temp < 3)
            return this.simpleFormattersManager.formatString("{0}{1}", value + 1, this.ending[temp % 3]);
        return this.simpleFormattersManager.formatString("{0}{1}", value + 1, this.ending[3]);
    }
}
class OrdinalFrenchNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        if (value == 1)
            return this.simpleFormattersManager.formatString("{0}er", value);
        else
            return this.simpleFormattersManager.formatString("{0}e", value);
    }
}
class OrdinalGermanNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}.", value);
    }
}
class OrdinalItalianNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}°", value);
    }
}
class OrdinalTurkishNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}.", value);
    }
}
class OrdinalGreekNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}ο", value);
    }
}
class OrdinalSpanishNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}°", value);
    }
}
class OrdinalPortugueseNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}º", value);
    }
}
class OrdinalUkrainianNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}-й", value);
    }
}
class OrdinalRussianNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("{0}-й", value);
    }
}
class OrdinalSwedishNumberConverter extends OrdinalLocalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super(simpleFormattersManager);
    }
    convertNumberCore(value) {
        if ((value % 10 == 1) || (value % 10 == 2))
            return this.simpleFormattersManager.formatString("{0}:a", value);
        else
            return this.simpleFormattersManager.formatString("{0}:e", value);
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/bullet-number-converter.ts


class BulletNumberConverter extends OrdinalBasedNumberConverter {
    constructor() {
        super();
        this.type = list_level_properties/* NumberingFormat */.uV.Bullet;
    }
    convertNumberCore(_value) {
        return "•";
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/decimal-enclosed-parentheses-number-converter.ts


class DecimalEnclosedParenthesesNumberConverter extends OrdinalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super();
        this.simpleFormattersManager = simpleFormattersManager;
        this.type = list_level_properties/* NumberingFormat */.uV.DecimalEnclosedParentheses;
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("({0})", value);
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/decimal-number-converter.ts


class DecimalNumberConverter extends OrdinalBasedNumberConverter {
    constructor() {
        super();
        this.type = list_level_properties/* NumberingFormat */.uV.Decimal;
    }
    convertNumberCore(value) {
        return value.toString();
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/decimal-zero-number-converter.ts


class DecimalZeroNumberConverter extends OrdinalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super();
        this.simpleFormattersManager = simpleFormattersManager;
        this.type = list_level_properties/* NumberingFormat */.uV.DecimalZero;
    }
    convertNumberCore(value) {
        if (value < 10)
            return this.simpleFormattersManager.formatString("0{0}", value);
        else
            return value.toString();
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/numerics-provider.ts
class NumericsProvider {
    constructor(separator, singlesNumeral, singles, teens, tenths, hundreds, thousands, million, billion, trillion, quadrillion, quintillion) {
        this.separator = separator;
        this.singlesNumeral = singlesNumeral;
        this.singles = singles;
        this.teens = teens;
        this.tenths = tenths;
        this.hundreds = hundreds;
        this.thousands = thousands;
        this.million = million;
        this.billion = billion;
        this.trillion = trillion;
        this.quadrillion = quadrillion;
        this.quintillion = quintillion;
    }
}
class OrdinalEnglishNumericsProvider extends NumericsProvider {
    constructor() {
        super([" ", "-"], ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "zeroth"], ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "zeroth"], ["tenth", "eleventh", "twelfth", "thirteenth", "fourteenth", "fifteenth", "sixteenth", "seventeenth", "eighteenth", "nineteenth"], ["twentieth", "thirtieth", "fortieth", "fiftieth", "sixtieth", "seventieth", "eightieth", "ninetieth"], ["one hundredth", "two hundredth", "three hundredth", "four hundredth", "five hundredth", "six hundredth", "seven hundredth", "eight hundredth", "nine hundredth"], ["thousandth"], ["millionth"], ["billionth"], ["trillionth"], ["quadrillionth"], ["quintillionth"]);
    }
}
class CardinalEnglishNumericsProvider extends NumericsProvider {
    constructor() {
        super([" ", "-"], ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "zero"], ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "zero"], ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"], ["twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"], ["one hundred", "two hundred", "three hundred", "four hundred", "five hundred", "six hundred", "seven hundred", "eight hundred", "nine hundred"], ["thousand"], ["million"], ["billion"], ["trillion"], ["quadrillion"], ["quintillion"]);
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/descriptive-number-converter.ts



var DigitType;
(function (DigitType) {
    DigitType[DigitType["Zero"] = 0] = "Zero";
    DigitType[DigitType["SingleNumeral"] = 1] = "SingleNumeral";
    DigitType[DigitType["Single"] = 2] = "Single";
    DigitType[DigitType["Teen"] = 3] = "Teen";
    DigitType[DigitType["Tenth"] = 4] = "Tenth";
    DigitType[DigitType["Hundred"] = 5] = "Hundred";
    DigitType[DigitType["Thousand"] = 6] = "Thousand";
    DigitType[DigitType["Million"] = 7] = "Million";
    DigitType[DigitType["Billion"] = 8] = "Billion";
    DigitType[DigitType["Trillion"] = 9] = "Trillion";
    DigitType[DigitType["Quadrillion"] = 10] = "Quadrillion";
    DigitType[DigitType["Quintillion"] = 11] = "Quintillion";
    DigitType[DigitType["Separator"] = 12] = "Separator";
})(DigitType || (DigitType = {}));
class DigitInfo {
    constructor(provider, value, type) {
        this.provider = provider;
        this.value = value;
        this.type = type;
    }
    convertToString() {
        var numerics = this.getNumerics();
        return numerics[this.value];
    }
    getNumerics() {
        return [];
    }
}
class SeparatorDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Separator);
    }
    getNumerics() {
        return this.provider.separator;
    }
}
class QuintillionDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Quintillion);
    }
    getNumerics() {
        return this.provider.quintillion;
    }
}
class QuadrillionDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Quadrillion);
    }
    getNumerics() {
        return this.provider.quadrillion;
    }
}
class TrillionDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Trillion);
    }
    getNumerics() {
        return this.provider.trillion;
    }
}
class BillionDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Billion);
    }
    getNumerics() {
        return this.provider.billion;
    }
}
class MillionDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Million);
    }
    getNumerics() {
        return this.provider.million;
    }
}
class ThousandDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Million);
    }
    getNumerics() {
        return this.provider.thousands;
    }
}
class HundredDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value - 1, DigitType.Hundred);
    }
    getNumerics() {
        return this.provider.hundreds;
    }
}
class TenthsDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value - 2, DigitType.Tenth);
    }
    getNumerics() {
        return this.provider.tenths;
    }
}
class TeensDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value, DigitType.Teen);
    }
    getNumerics() {
        return this.provider.teens;
    }
}
class SingleDigitInfo extends DigitInfo {
    constructor(provider, value) {
        super(provider, value - 1, DigitType.Single);
    }
    getNumerics() {
        return this.provider.singles;
    }
}
class ZeroDigitInfo extends DigitInfo {
    constructor(provider) {
        super(provider, 9, DigitType.Zero);
    }
    getNumerics() {
        return this.provider.singles;
    }
}
class DescriptiveEnglishNumberConverter extends OrdinalBasedNumberConverter {
    constructor() {
        super();
        this.minValue = 0;
    }
    convertNumberCore(value) {
        var digits = this.generateDigits(value);
        return this.convertDigitsToString(digits);
    }
    generateDigits(value) {
        var digits = [];
        digits = this.generateDigitsCore(digits, value);
        if (digits.length == 0)
            this.addZero(digits);
        return digits;
    }
    generateDigitsCore(digits, value) {
        var currentValue = value;
        if (Math.floor(currentValue / 1000000000000000000) != 0)
            this.generateQuintillionDigits(digits, Math.floor(currentValue / 1000000000000000000));
        currentValue = currentValue % 1000000000000000000;
        if (Math.floor(currentValue / 1000000000000000) != 0)
            this.generateQuadrillionDigits(digits, Math.floor(currentValue / 1000000000000000));
        currentValue = currentValue % 1000000000000000;
        if (Math.floor(currentValue / 1000000000000) != 0)
            this.generateTrillionDigits(digits, Math.floor(currentValue / 1000000000000));
        currentValue = currentValue % 1000000000000;
        if (Math.floor(currentValue / 1000000000) != 0)
            this.generateBillionDigits(digits, Math.floor(currentValue / 1000000000));
        currentValue = currentValue % 1000000000;
        if (Math.floor(currentValue / 1000000) != 0)
            this.generateMillionDigits(digits, Math.floor(currentValue / 1000000));
        currentValue = currentValue % 1000000;
        if (Math.floor(currentValue / 1000) != 0)
            this.generateThousandDigits(digits, Math.floor(currentValue / 1000));
        currentValue = currentValue % 1000;
        if (Math.floor(currentValue / 100) != 0)
            this.generateHundredDigits(digits, Math.floor(currentValue / 100));
        currentValue = currentValue % 100;
        if (currentValue == 0)
            return digits;
        if (currentValue >= 20)
            this.generateTenthsDigits(digits, currentValue);
        else {
            if (currentValue >= 10)
                this.generateTeensDigits(digits, currentValue % 10);
            else
                this.generateSinglesDigits(digits, currentValue);
        }
        return digits;
    }
    convertDigitsToString(digits) {
        var result = "";
        for (var i = 0; i < digits.length; i++)
            result += digits[i].convertToString();
        if (result.length > 0)
            result = result[0].toUpperCase() + result.substring(1);
        return result;
    }
    addZero(digits) {
        digits.push(new ZeroDigitInfo(new CardinalEnglishNumericsProvider()));
    }
    generateQuintillionDigits(digits, value) {
        this.generateDigitsCore(digits, value);
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new QuintillionDigitInfo(new CardinalEnglishNumericsProvider(), 0));
    }
    generateQuadrillionDigits(digits, value) {
        this.generateDigitsCore(digits, value);
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new QuadrillionDigitInfo(new CardinalEnglishNumericsProvider(), 0));
    }
    generateTrillionDigits(digits, value) {
        this.generateDigitsCore(digits, value);
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new TrillionDigitInfo(new CardinalEnglishNumericsProvider(), 0));
    }
    generateBillionDigits(digits, value) {
        this.generateDigitsCore(digits, value);
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new BillionDigitInfo(new CardinalEnglishNumericsProvider(), 0));
    }
    generateMillionDigits(digits, value) {
        this.generateDigitsCore(digits, value);
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new MillionDigitInfo(new CardinalEnglishNumericsProvider(), 0));
    }
    generateThousandDigits(digits, value) {
        this.generateDigitsCore(digits, value);
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new ThousandDigitInfo(new CardinalEnglishNumericsProvider(), 0));
    }
    generateHundredDigits(digits, value) {
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new HundredDigitInfo(new CardinalEnglishNumericsProvider(), value));
    }
    generateTenthsDigits(digits, value) {
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new TenthsDigitInfo(new CardinalEnglishNumericsProvider(), Math.floor(value / 10)));
        this.generateSinglesDigits(digits, value % 10);
    }
    generateTeensDigits(digits, value) {
        if (digits.length)
            digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        digits.push(new TeensDigitInfo(new CardinalEnglishNumericsProvider(), value));
    }
    generateSinglesDigits(digits, value) {
        if (value == 0)
            return;
        if (digits.length != 0) {
            if (digits[digits.length - 1].type == DigitType.Tenth)
                digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 1));
            else
                digits.push(new SeparatorDigitInfo(new CardinalEnglishNumericsProvider(), 0));
        }
        digits.push(new SingleDigitInfo(new CardinalEnglishNumericsProvider(), value));
    }
}
class DescriptiveCardinalEnglishNumberConverter extends DescriptiveEnglishNumberConverter {
    constructor() {
        super();
        this.type = list_level_properties/* NumberingFormat */.uV.CardinalText;
    }
}
class DescriptiveOrdinalEnglishNumberConverter extends DescriptiveEnglishNumberConverter {
    constructor() {
        super();
        this.type = list_level_properties/* NumberingFormat */.uV.OrdinalText;
    }
    generateDigits(value) {
        var digits = super.generateDigits(value);
        digits[digits.length - 1].provider = new OrdinalEnglishNumericsProvider();
        return digits;
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/hex-number-converter.ts


class HexNumberConverter extends OrdinalBasedNumberConverter {
    constructor() {
        super();
        this.type = list_level_properties/* NumberingFormat */.uV.Hex;
    }
    convertNumberCore(value) {
        return value.toString(16);
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/alphabet-based-number-converter.ts

class AlphabetBasedNumberConverter extends OrdinalBasedNumberConverter {
    constructor(alphabet) {
        super();
        this.minValue = 0;
        this.maxValue = 780;
        this.alphabet = alphabet;
    }
    convertNumberCore(value) {
        if (value == 0)
            return "";
        value--;
        var alphabetSize = this.alphabet.length;
        var count = Math.floor(value / alphabetSize + 1);
        var symbol = this.alphabet[value % alphabetSize];
        return Array(count + 1).join(symbol);
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/latin-letter-number-converter.ts


class UpperLatinLetterNumberConverter extends AlphabetBasedNumberConverter {
    constructor() {
        super(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']);
        this.type = list_level_properties/* NumberingFormat */.uV.UpperLetter;
    }
}
class LowerLatinLetterNumberConverter extends AlphabetBasedNumberConverter {
    constructor() {
        super(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']);
        this.type = list_level_properties/* NumberingFormat */.uV.LowerLetter;
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/number-in-dash-number-converter.ts


class NumberInDashNumberConverter extends OrdinalBasedNumberConverter {
    constructor(simpleFormattersManager) {
        super();
        this.simpleFormattersManager = simpleFormattersManager;
        this.type = list_level_properties/* NumberingFormat */.uV.NumberInDash;
    }
    convertNumberCore(value) {
        return this.simpleFormattersManager.formatString("- {0} -", value);
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/roman-number-converter.ts


class RomanNumberConverter extends OrdinalBasedNumberConverter {
    convertNumberCore(value) {
        var result = "";
        for (var i = this.romans.length - 1; i >= 0; i--) {
            while (value >= this.arabics[i]) {
                value -= this.arabics[i];
                result += this.romans[i];
            }
        }
        return result;
    }
}
class UpperRomanNumberConverterClassic extends RomanNumberConverter {
    constructor() {
        super();
        this.type = list_level_properties/* NumberingFormat */.uV.UpperRoman;
        this.arabics = [1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000];
        this.romans = ["I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"];
    }
}
class LowerRomanNumberConverterClassic extends RomanNumberConverter {
    constructor() {
        super();
        this.type = list_level_properties/* NumberingFormat */.uV.LowerRoman;
        this.arabics = [1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000];
        this.romans = ["i", "iv", "v", "ix", "x", "xl", "l", "xc", "c", "cd", "d", "cm", "m"];
    }
}

;// CONCATENATED MODULE: ./src/common/model/number-converters/number-converter-creator.ts











class NumberConverterCreator {
    static createConverter(type, simpleFormattersManager, langId = "en") {
        switch (type) {
            case list_level_properties/* NumberingFormat */.uV.UpperRoman:
                return new UpperRomanNumberConverterClassic();
            case list_level_properties/* NumberingFormat */.uV.LowerRoman:
                return new LowerRomanNumberConverterClassic();
            case list_level_properties/* NumberingFormat */.uV.Ordinal:
                return NumberConverterCreator.getOrdinalBasedNumberConverter(simpleFormattersManager, langId);
            case list_level_properties/* NumberingFormat */.uV.OrdinalText:
                return new DescriptiveOrdinalEnglishNumberConverter();
            case list_level_properties/* NumberingFormat */.uV.CardinalText:
                return new DescriptiveCardinalEnglishNumberConverter();
            case list_level_properties/* NumberingFormat */.uV.UpperLetter:
                return new UpperLatinLetterNumberConverter();
            case list_level_properties/* NumberingFormat */.uV.LowerLetter:
                return new LowerLatinLetterNumberConverter();
            case list_level_properties/* NumberingFormat */.uV.NumberInDash:
                return new NumberInDashNumberConverter(simpleFormattersManager);
            case list_level_properties/* NumberingFormat */.uV.Bullet:
                return new BulletNumberConverter();
            case list_level_properties/* NumberingFormat */.uV.DecimalZero:
                return new DecimalZeroNumberConverter(simpleFormattersManager);
            case list_level_properties/* NumberingFormat */.uV.DecimalEnclosedParentheses:
                return new DecimalEnclosedParenthesesNumberConverter(simpleFormattersManager);
            case list_level_properties/* NumberingFormat */.uV.Hex:
                return new HexNumberConverter();
            case list_level_properties/* NumberingFormat */.uV.Decimal:
                return new DecimalNumberConverter();
            default:
                return new DecimalNumberConverter();
        }
    }
    static getOrdinalBasedNumberConverter(simpleFormattersManager, langId) {
        const twoLetterISOLanguageName = langId.substring(0, 2).toLowerCase();
        switch (twoLetterISOLanguageName) {
            case "en":
                return new OrdinalEnglishNumberConverter(simpleFormattersManager);
            case "fr":
                return new OrdinalFrenchNumberConverter(simpleFormattersManager);
            case "de":
                return new OrdinalGermanNumberConverter(simpleFormattersManager);
            case "it":
                return new OrdinalItalianNumberConverter(simpleFormattersManager);
            case "ru":
                return new OrdinalRussianNumberConverter(simpleFormattersManager);
            case "sv":
                return new OrdinalSwedishNumberConverter(simpleFormattersManager);
            case "tr":
                return new OrdinalTurkishNumberConverter(simpleFormattersManager);
            case "el":
                return new OrdinalGreekNumberConverter(simpleFormattersManager);
            case "es":
                return new OrdinalSpanishNumberConverter(simpleFormattersManager);
            case "pt":
                return new OrdinalPortugueseNumberConverter(simpleFormattersManager);
            case "uk":
                return new OrdinalUkrainianNumberConverter(simpleFormattersManager);
        }
        return new DecimalNumberConverter();
    }
    static createConverterByTypeName(typeName, simpleFormattersManager) {
        const uppercaseTypeName = typeName.toUpperCase();
        const firstChar = typeName[0];
        switch (uppercaseTypeName) {
            case "ALPHABETIC":
                return firstChar.toUpperCase() == firstChar ? new UpperLatinLetterNumberConverter() : new LowerLatinLetterNumberConverter();
            case "ROMAN":
                return firstChar.toUpperCase() == firstChar ? new UpperRomanNumberConverterClassic() : new LowerRomanNumberConverterClassic();
            case "ARABIC":
                return new DecimalNumberConverter();
            case "ARABICDASH":
                return new NumberInDashNumberConverter(simpleFormattersManager);
            case "CARDTEXT":
                return new DescriptiveCardinalEnglishNumberConverter();
            case "CIRCLENUM":
                return new DecimalEnclosedParenthesesNumberConverter(simpleFormattersManager);
            case "HEX":
                return new HexNumberConverter();
            case "ORDINAL":
                return new OrdinalEnglishNumberConverter(simpleFormattersManager);
            case "ORDTEXT":
                return new DescriptiveOrdinalEnglishNumberConverter();
            default:
                return new DecimalNumberConverter();
        }
    }
}


/***/ }),

/***/ 4830:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   PX: function() { return /* binding */ ListNumberAlignment; },
/* harmony export */   Yy: function() { return /* binding */ ListLevelProperties; },
/* harmony export */   uV: function() { return /* binding */ NumberingFormat; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8679);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8845);




class ListLevelProperties {
    constructor() {
        this.start = 1;
        this.format = NumberingFormat.Decimal;
        this.alignment = ListNumberAlignment.Left;
        this.convertPreviousLevelNumberingToDecimal = false;
        this.separator = _rich_utils__WEBPACK_IMPORTED_MODULE_3__/* .RichUtils */ .i.specialCharacters.TabMark;
        this.suppressRestart = false;
        this.suppressBulletResize = false;
        this.displayFormatString = "{0}.";
        this.relativeRestartLevel = 0;
        this.templateCode = 0;
        this.originalLeftIndent = 0;
        this.legacy = false;
        this.legacySpace = 0;
        this.legacyIndent = 0;
    }
    calculateHash() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[0] * this.start ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[1] * this.format ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[2] * this.alignment ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[3] * _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.stringHashCode(this.separator) ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[4] * (0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.boolToInt)(this.suppressRestart) ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[5] * this.originalLeftIndent ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[6] * this.templateCode ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.somePrimes[7] * _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.stringHashCode(this.displayFormatString);
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    equals(obj) {
        return this.alignment === obj.alignment &&
            this.convertPreviousLevelNumberingToDecimal === obj.convertPreviousLevelNumberingToDecimal &&
            this.displayFormatString === obj.displayFormatString &&
            this.format === obj.format &&
            this.legacy === obj.legacy &&
            this.legacyIndent === obj.legacyIndent &&
            this.legacySpace === obj.legacySpace &&
            this.originalLeftIndent === obj.originalLeftIndent &&
            this.relativeRestartLevel === obj.relativeRestartLevel &&
            this.separator === obj.separator &&
            this.start === obj.start &&
            this.suppressBulletResize === obj.suppressBulletResize &&
            this.suppressRestart === obj.suppressRestart &&
            this.templateCode === obj.templateCode;
    }
    copyFrom(obj) {
        this.alignment = obj.alignment;
        this.convertPreviousLevelNumberingToDecimal = obj.convertPreviousLevelNumberingToDecimal;
        this.displayFormatString = obj.displayFormatString;
        this.format = obj.format;
        this.legacy = obj.legacy;
        this.legacyIndent = obj.legacyIndent;
        this.legacySpace = obj.legacySpace;
        this.originalLeftIndent = obj.originalLeftIndent;
        this.relativeRestartLevel = obj.relativeRestartLevel;
        this.separator = obj.separator;
        this.start = obj.start;
        this.suppressBulletResize = obj.suppressBulletResize;
        this.suppressRestart = obj.suppressRestart;
        this.templateCode = obj.templateCode;
    }
    clone() {
        var clone = new ListLevelProperties();
        clone.copyFrom(this);
        return clone;
    }
}
var NumberingFormat;
(function (NumberingFormat) {
    NumberingFormat[NumberingFormat["Decimal"] = 0] = "Decimal";
    NumberingFormat[NumberingFormat["AIUEOHiragana"] = 1] = "AIUEOHiragana";
    NumberingFormat[NumberingFormat["AIUEOFullWidthHiragana"] = 2] = "AIUEOFullWidthHiragana";
    NumberingFormat[NumberingFormat["ArabicAbjad"] = 3] = "ArabicAbjad";
    NumberingFormat[NumberingFormat["ArabicAlpha"] = 4] = "ArabicAlpha";
    NumberingFormat[NumberingFormat["Bullet"] = 5] = "Bullet";
    NumberingFormat[NumberingFormat["CardinalText"] = 6] = "CardinalText";
    NumberingFormat[NumberingFormat["Chicago"] = 7] = "Chicago";
    NumberingFormat[NumberingFormat["ChineseCounting"] = 8] = "ChineseCounting";
    NumberingFormat[NumberingFormat["ChineseCountingThousand"] = 9] = "ChineseCountingThousand";
    NumberingFormat[NumberingFormat["ChineseLegalSimplified"] = 10] = "ChineseLegalSimplified";
    NumberingFormat[NumberingFormat["Chosung"] = 11] = "Chosung";
    NumberingFormat[NumberingFormat["DecimalEnclosedCircle"] = 12] = "DecimalEnclosedCircle";
    NumberingFormat[NumberingFormat["DecimalEnclosedCircleChinese"] = 13] = "DecimalEnclosedCircleChinese";
    NumberingFormat[NumberingFormat["DecimalEnclosedFullstop"] = 14] = "DecimalEnclosedFullstop";
    NumberingFormat[NumberingFormat["DecimalEnclosedParentheses"] = 15] = "DecimalEnclosedParentheses";
    NumberingFormat[NumberingFormat["DecimalFullWidth"] = 16] = "DecimalFullWidth";
    NumberingFormat[NumberingFormat["DecimalFullWidth2"] = 17] = "DecimalFullWidth2";
    NumberingFormat[NumberingFormat["DecimalHalfWidth"] = 18] = "DecimalHalfWidth";
    NumberingFormat[NumberingFormat["DecimalZero"] = 19] = "DecimalZero";
    NumberingFormat[NumberingFormat["Ganada"] = 20] = "Ganada";
    NumberingFormat[NumberingFormat["Hebrew1"] = 21] = "Hebrew1";
    NumberingFormat[NumberingFormat["Hebrew2"] = 22] = "Hebrew2";
    NumberingFormat[NumberingFormat["Hex"] = 23] = "Hex";
    NumberingFormat[NumberingFormat["HindiConsonants"] = 24] = "HindiConsonants";
    NumberingFormat[NumberingFormat["HindiDescriptive"] = 25] = "HindiDescriptive";
    NumberingFormat[NumberingFormat["HindiNumbers"] = 26] = "HindiNumbers";
    NumberingFormat[NumberingFormat["HindiVowels"] = 27] = "HindiVowels";
    NumberingFormat[NumberingFormat["IdeographDigital"] = 28] = "IdeographDigital";
    NumberingFormat[NumberingFormat["IdeographEnclosedCircle"] = 29] = "IdeographEnclosedCircle";
    NumberingFormat[NumberingFormat["IdeographLegalTraditional"] = 30] = "IdeographLegalTraditional";
    NumberingFormat[NumberingFormat["IdeographTraditional"] = 31] = "IdeographTraditional";
    NumberingFormat[NumberingFormat["IdeographZodiac"] = 32] = "IdeographZodiac";
    NumberingFormat[NumberingFormat["IdeographZodiacTraditional"] = 33] = "IdeographZodiacTraditional";
    NumberingFormat[NumberingFormat["Iroha"] = 34] = "Iroha";
    NumberingFormat[NumberingFormat["IrohaFullWidth"] = 35] = "IrohaFullWidth";
    NumberingFormat[NumberingFormat["JapaneseCounting"] = 36] = "JapaneseCounting";
    NumberingFormat[NumberingFormat["JapaneseDigitalTenThousand"] = 37] = "JapaneseDigitalTenThousand";
    NumberingFormat[NumberingFormat["JapaneseLegal"] = 38] = "JapaneseLegal";
    NumberingFormat[NumberingFormat["KoreanCounting"] = 39] = "KoreanCounting";
    NumberingFormat[NumberingFormat["KoreanDigital"] = 40] = "KoreanDigital";
    NumberingFormat[NumberingFormat["KoreanDigital2"] = 41] = "KoreanDigital2";
    NumberingFormat[NumberingFormat["KoreanLegal"] = 42] = "KoreanLegal";
    NumberingFormat[NumberingFormat["LowerLetter"] = 43] = "LowerLetter";
    NumberingFormat[NumberingFormat["LowerRoman"] = 44] = "LowerRoman";
    NumberingFormat[NumberingFormat["None"] = 45] = "None";
    NumberingFormat[NumberingFormat["NumberInDash"] = 46] = "NumberInDash";
    NumberingFormat[NumberingFormat["Ordinal"] = 47] = "Ordinal";
    NumberingFormat[NumberingFormat["OrdinalText"] = 48] = "OrdinalText";
    NumberingFormat[NumberingFormat["RussianLower"] = 49] = "RussianLower";
    NumberingFormat[NumberingFormat["RussianUpper"] = 50] = "RussianUpper";
    NumberingFormat[NumberingFormat["TaiwaneseCounting"] = 51] = "TaiwaneseCounting";
    NumberingFormat[NumberingFormat["TaiwaneseCountingThousand"] = 52] = "TaiwaneseCountingThousand";
    NumberingFormat[NumberingFormat["TaiwaneseDigital"] = 53] = "TaiwaneseDigital";
    NumberingFormat[NumberingFormat["ThaiDescriptive"] = 54] = "ThaiDescriptive";
    NumberingFormat[NumberingFormat["ThaiLetters"] = 55] = "ThaiLetters";
    NumberingFormat[NumberingFormat["ThaiNumbers"] = 56] = "ThaiNumbers";
    NumberingFormat[NumberingFormat["UpperLetter"] = 57] = "UpperLetter";
    NumberingFormat[NumberingFormat["UpperRoman"] = 58] = "UpperRoman";
    NumberingFormat[NumberingFormat["VietnameseDescriptive"] = 59] = "VietnameseDescriptive";
})(NumberingFormat || (NumberingFormat = {}));
var ListNumberAlignment;
(function (ListNumberAlignment) {
    ListNumberAlignment[ListNumberAlignment["Left"] = 0] = "Left";
    ListNumberAlignment[ListNumberAlignment["Center"] = 1] = "Center";
    ListNumberAlignment[ListNumberAlignment["Right"] = 2] = "Right";
})(ListNumberAlignment || (ListNumberAlignment = {}));


/***/ }),

/***/ 2411:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   GC: function() { return /* binding */ NumberingListReferenceLevel; },
/* harmony export */   KC: function() { return /* binding */ ListLevel; },
/* harmony export */   lT: function() { return /* binding */ OverrideListLevel; }
/* harmony export */ });
/* harmony import */ var _properties_merger_character_properties_merger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9250);
/* harmony import */ var _properties_merger_paragraph_properties_merger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8885);


class ListLevel {
    constructor(documentModel, maskedCharacterProperties, maskedParagraphProperties, listLevelProperties) {
        this.documentModel = documentModel;
        this.setCharacterProperties(maskedCharacterProperties);
        this.setParagraphProperties(maskedParagraphProperties);
        this.setListLevelProperties(listLevelProperties);
    }
    getListLevelProperties() {
        return this.listLevelProperties;
    }
    setListLevelProperties(properties) {
        this.listLevelProperties = this.documentModel.cache.listLevelPropertiesCache.getItem(properties);
    }
    changeListLevelProperties(change) {
        const currentPropertiesCopy = this.listLevelProperties.clone();
        change(currentPropertiesCopy);
        this.setListLevelProperties(currentPropertiesCopy);
    }
    getCharacterProperties() {
        return this.maskedCharacterProperties;
    }
    getParagraphProperties() {
        return this.maskedParagraphProperties;
    }
    setParagraphProperties(properties) {
        this.maskedParagraphProperties = this.documentModel.cache.maskedParagraphPropertiesCache.getItem(properties);
    }
    onParagraphPropertiesChanged() {
        this.resetParagraphMergedProperties();
    }
    resetParagraphMergedProperties() {
        this.mergedParagraphProperties = null;
    }
    getParagraphMergedProperties() {
        if (!this.hasParagraphMergedProperies()) {
            var merger = new _properties_merger_paragraph_properties_merger__WEBPACK_IMPORTED_MODULE_1__/* .ParagraphPropertiesMerger */ .G();
            merger.mergeMaskedParagraphProperties(this.maskedParagraphProperties);
            merger.mergeMaskedParagraphProperties(this.documentModel.defaultParagraphProperties);
            this.mergedParagraphProperties = merger.getMergedProperties();
        }
        return this.mergedParagraphProperties;
    }
    setParagraphMergedProperies(properties) {
        this.mergedParagraphProperties = this.documentModel.cache.mergedParagraphPropertiesCache.getItem(properties);
    }
    hasParagraphMergedProperies() {
        return !!this.mergedParagraphProperties;
    }
    setCharacterProperties(properties) {
        this.maskedCharacterProperties = this.documentModel.cache.maskedCharacterPropertiesCache.getItem(properties);
    }
    onCharacterPropertiesChanged() {
        this.resetCharacterMergedProperties();
    }
    resetCharacterMergedProperties() {
        this.mergedCharacterProperties = null;
    }
    getCharacterMergedProperties() {
        if (!this.hasCharacterMergedProperies()) {
            var merger = new _properties_merger_character_properties_merger__WEBPACK_IMPORTED_MODULE_0__/* .CharacterPropertiesMerger */ .I();
            merger.mergeCharacterProperties(this.maskedCharacterProperties);
            merger.mergeCharacterProperties(this.documentModel.defaultCharacterProperties);
            this.mergedCharacterProperties = merger.getMergedProperties();
        }
        return this.mergedCharacterProperties;
    }
    setCharacterMergedProperies(properties) {
        this.mergedCharacterProperties = this.documentModel.cache.mergedCharacterPropertiesCache.getItem(properties);
    }
    hasCharacterMergedProperies() {
        return !!this.mergedCharacterProperties;
    }
    equals(obj) {
        if (obj === this)
            return true;
        if (!obj.getCharacterProperties().equals(this.getCharacterProperties()))
            return false;
        if (!obj.getParagraphProperties().equals(this.getParagraphProperties()))
            return false;
        if (!obj.getListLevelProperties().equals(this.getListLevelProperties()))
            return false;
        return true;
    }
    externallyEquals(obj) {
        if (obj === this)
            return true;
        var result = obj.getListLevelProperties().displayFormatString == this.getListLevelProperties().displayFormatString &&
            obj.getListLevelProperties().format == this.getListLevelProperties().format &&
            obj.getListLevelProperties().start == this.getListLevelProperties().start &&
            obj.getCharacterProperties().fontBold == this.getCharacterProperties().fontBold &&
            obj.getCharacterProperties().fontItalic == this.getCharacterProperties().fontItalic &&
            obj.getCharacterProperties().fontSize == this.getCharacterProperties().fontSize &&
            obj.getCharacterProperties().textColor.equals(this.getCharacterProperties().textColor) &&
            obj.getCharacterProperties().fontInfo.equals(this.getCharacterProperties().fontInfo);
        return result;
    }
    copyFrom(obj) {
        this.setListLevelProperties(obj.getListLevelProperties());
        this.setCharacterProperties(obj.getCharacterProperties());
        this.setParagraphProperties(obj.getParagraphProperties());
        this.onCharacterPropertiesChanged();
        this.onParagraphPropertiesChanged();
    }
}
class NumberingListReferenceLevel {
    constructor(owner, level) {
        this.overrideStart = false;
        this.newStart = 1;
        this.owner = owner;
        this.level = level;
        this.documentModel = owner.documentModel;
    }
    getListLevelProperties() {
        return this.getOwnerLevel().getListLevelProperties();
    }
    setListLevelProperties(properties) {
        this.getOwnerLevel().setListLevelProperties(properties);
    }
    getCharacterProperties() {
        return this.getOwnerLevel().getCharacterProperties();
    }
    getParagraphProperties() {
        return this.getOwnerLevel().getParagraphProperties();
    }
    setParagraphProperties(properties) {
        this.getOwnerLevel().setParagraphProperties(properties);
    }
    onParagraphPropertiesChanged() {
        this.getOwnerLevel().onParagraphPropertiesChanged();
    }
    getParagraphMergedProperties() {
        return this.getOwnerLevel().getParagraphMergedProperties();
    }
    setParagraphMergedProperies(properties) {
        this.getOwnerLevel().setParagraphMergedProperies(properties);
    }
    hasParagraphMergedProperies() {
        return this.getOwnerLevel().hasParagraphMergedProperies();
    }
    resetParagraphMergedProperties() {
        this.getOwnerLevel().resetParagraphMergedProperties();
    }
    setCharacterProperties(properties) {
        this.getOwnerLevel().setCharacterProperties(properties);
    }
    onCharacterPropertiesChanged() {
        this.getOwnerLevel().onCharacterPropertiesChanged();
    }
    getCharacterMergedProperties() {
        return this.getOwnerLevel().getCharacterMergedProperties();
    }
    setCharacterMergedProperies(properties) {
        this.getOwnerLevel().setCharacterMergedProperies(properties);
    }
    hasCharacterMergedProperies() {
        return this.getOwnerLevel().hasCharacterMergedProperies();
    }
    resetCharacterMergedProperties() {
        this.getOwnerLevel().resetCharacterMergedProperties();
    }
    getNewStart() {
        return this.newStart;
    }
    setNewStart(newStart) {
        this.newStart = newStart;
    }
    getOwnerLevel() {
        return this.owner.getAbstractNumberingList().levels[this.level];
    }
    equals(obj) {
        return this.getOwnerLevel().equals(obj.getOwnerLevel());
    }
    externallyEquals(obj) {
        return this.getOwnerLevel().externallyEquals(obj.getOwnerLevel());
    }
    copyFrom(obj) {
        if (!(obj instanceof NumberingListReferenceLevel))
            throw new Error("Source level should have equal type");
        this.newStart = obj.newStart;
        this.overrideStart = obj.overrideStart;
    }
}
class OverrideListLevel extends ListLevel {
    constructor() {
        super(...arguments);
        this.overrideStart = false;
    }
    getNewStart() {
        return this.getListLevelProperties().start;
    }
    setNewStart(newStart) {
        var properties = this.getListLevelProperties().clone();
        properties.start = newStart;
        this.setListLevelProperties(properties);
    }
    copyFrom(obj) {
        if (!(obj instanceof OverrideListLevel))
            throw new Error("Source level should have equal type");
        super.copyFrom(obj);
        this.overrideStart = obj.overrideStart;
    }
}


/***/ }),

/***/ 2156:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: function() { return /* binding */ NumberingHelper; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8679);
/* harmony import */ var _history_items_numbering_list_history_items__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(699);
/* harmony import */ var _history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6690);
/* harmony import */ var _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1423);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8096);
/* harmony import */ var _numbering_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3231);







class NumberingHelper {
    static generateNewTemplateCode(documentModel) {
        for (;;) {
            const code = _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.getRandomInt(NumberingHelper.templateCodeStart, NumberingHelper.templateCodeEnd);
            if (NumberingHelper.isNewTemplateCode(documentModel, code))
                return code;
        }
    }
    static isNewTemplateCode(documentModel, templateCode) {
        const itemSameCode = documentModel.cache.listLevelPropertiesCache.findItemByPredicate((item) => {
            return item.templateCode == templateCode;
        });
        return !itemSameCode;
    }
    static getNumberingListTemplateIndex(documentModel, type) {
        for (var i = 0, abstractNumberingList; abstractNumberingList = documentModel.abstractNumberingListTemplates[i]; i++) {
            if (abstractNumberingList.getListType() === type)
                return i;
        }
        return -1;
    }
    static getNumberingListTemplate(documentModel, type) {
        return documentModel.abstractNumberingListTemplates.find(list => list.getListType() === type);
    }
    static deleteNumberingList(modelManager, subDocument, paragraphIndices) {
        for (let i = paragraphIndices.length - 1; i >= 0; i--) {
            let paragraphIndex = paragraphIndices[i];
            var paragraph = subDocument.paragraphs[paragraphIndex];
            if (paragraph.isInList()) {
                this.resetParagraphLeftIndent(modelManager, subDocument, paragraphIndex);
                this.deleteNumberingListCore(modelManager, subDocument, paragraphIndex);
            }
        }
    }
    static resetParagraphLeftIndent(modelManager, subDocument, paragraphIndex) {
        var paragraph = subDocument.paragraphs[paragraphIndex];
        var numberingList = paragraph.getNumberingList();
        var level = numberingList.levels[paragraph.getListLevelIndex()];
        var paragraphMergedProperties = paragraph.getParagraphMergedProperties();
        var interval = paragraph.interval;
        const levelIndent = level.getListLevelProperties().originalLeftIndent ? level.getListLevelProperties().originalLeftIndent : level.getParagraphProperties().firstLineIndent;
        var leftIndent = paragraphMergedProperties.leftIndent - levelIndent;
        modelManager.history.addAndRedo(new _history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_3__/* .ParagraphFirstLineIndentTypeHistoryItem */ .rg(modelManager.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_5__/* .SubDocumentInterval */ .v8(subDocument, interval), _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_4__/* .ParagraphFirstLineIndent */ .Qi.None, true));
        modelManager.history.addAndRedo(new _history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_3__/* .ParagraphFirstLineIndentHistoryItem */ .WT(modelManager.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_5__/* .SubDocumentInterval */ .v8(subDocument, interval), 0, true));
        modelManager.history.addAndRedo(new _history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_3__/* .ParagraphLeftIndentHistoryItem */ .JQ(modelManager.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_5__/* .SubDocumentInterval */ .v8(subDocument, interval), Math.max(0, leftIndent), true));
    }
    static deleteNumberingListCore(modelManager, subDocument, paragraphIndex) {
        var paragraph = subDocument.paragraphs[paragraphIndex];
        if (paragraph.numberingListIndex >= 0) {
            modelManager.history.addAndRedo(new _history_items_numbering_list_history_items__WEBPACK_IMPORTED_MODULE_2__/* .RemoveParagraphFromListHistoryItem */ .Rk(modelManager.modelManipulator, subDocument, paragraphIndex));
        }
        else {
            if (paragraph.numberingListIndex === _numbering_list__WEBPACK_IMPORTED_MODULE_6__/* .NumberingList */ .K6.NumberingListNotSettedIndex)
                modelManager.history.addAndRedo(new _history_items_paragraph_properties_history_items__WEBPACK_IMPORTED_MODULE_3__/* .ParagraphLeftIndentHistoryItem */ .JQ(modelManager.modelManipulator, new _sub_document__WEBPACK_IMPORTED_MODULE_5__/* .SubDocumentInterval */ .v8(subDocument, new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(paragraph.startLogPosition.value, 0)), paragraph.getParagraphMergedProperties().leftIndent, true));
            modelManager.history.addAndRedo(new _history_items_numbering_list_history_items__WEBPACK_IMPORTED_MODULE_2__/* .AddParagraphToListHistoryItem */ .ap(modelManager.modelManipulator, subDocument, paragraphIndex, _numbering_list__WEBPACK_IMPORTED_MODULE_6__/* .NumberingList */ .K6.NoNumberingListIndex, 0));
        }
    }
}
NumberingHelper.templateCodeStart = 0x100;
NumberingHelper.templateCodeEnd = 0x7FFFFFFF;


/***/ }),

/***/ 6976:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   N: function() { return /* binding */ NumberingListCountersCalculator; }
/* harmony export */ });
class NumberingListCountersCalculator {
    constructor(list) {
        this.counters = [];
        this.usedListIndecies = {};
        this.currentParagraphIndex = -1;
        this.list = list;
        for (var i = 0, listLevel; listLevel = this.list.levels[i]; i++) {
            this.counters.push(listLevel.getListLevelProperties().start - 1);
        }
    }
    calculateCounters(paragraph) {
        this.currentParagraphIndex = -1;
        return this.calculateNextCounters(paragraph);
    }
    calculateNextCounters(paragraph) {
        var paragraphs = paragraph.subDocument.paragraphs;
        if (paragraphs[this.currentParagraphIndex] !== paragraph) {
            var abstractNumberingList = paragraph.getAbstractNumberingList();
            for (var i = this.currentParagraphIndex + 1, currentParagraph; currentParagraph = paragraph.subDocument.paragraphs[i]; i++) {
                this.currentParagraphIndex++;
                if (this.shouldAdvanceListLevelCounters(currentParagraph, abstractNumberingList))
                    this.advanceListLevelCounters(currentParagraph, currentParagraph.getListLevelIndex());
                if (currentParagraph === paragraph)
                    break;
            }
        }
        return this.getActualRangeCounters(paragraph.getListLevelIndex());
    }
    getLastCounters(paragraph) {
        return this.getActualRangeCounters(paragraph.getListLevelIndex());
    }
    shouldAdvanceListLevelCounters(paragraph, abstractNumberingList) {
        return paragraph.getAbstractNumberingList() === abstractNumberingList;
    }
    advanceListLevelCounters(paragraph, listLevelIndex) {
        var numberingListIndex = paragraph.getNumberingListIndex();
        var numberingList = paragraph.subDocument.documentModel.numberingLists[numberingListIndex];
        var level = numberingList.levels[listLevelIndex];
        if (level.overrideStart && !this.usedListIndecies[numberingListIndex]) {
            this.usedListIndecies[numberingListIndex] = true;
            this.counters[listLevelIndex] = level.getNewStart();
        }
        else
            this.counters[listLevelIndex]++;
        this.advanceSkippedLevelCounters(listLevelIndex);
        this.restartNextLevelCounters(listLevelIndex);
    }
    advanceSkippedLevelCounters(listLevelIndex) {
        for (var i = 0; i < listLevelIndex; i++) {
            var listLevel = this.list.levels[i];
            if (this.counters[i] == listLevel.getListLevelProperties().start - 1)
                this.counters[i]++;
        }
    }
    restartNextLevelCounters(listLevelIndex) {
        var restartedLevels = [];
        restartedLevels[listLevelIndex] = true;
        var countersLength = this.counters.length;
        for (var i = listLevelIndex + 1; i < countersLength; i++) {
            var listLevelProperties = this.list.levels[i].getListLevelProperties();
            if (!listLevelProperties.suppressRestart) {
                var restartLevel = i - listLevelProperties.relativeRestartLevel - 1;
                if (restartLevel >= 0 && restartLevel < countersLength && restartedLevels[restartLevel]) {
                    this.counters[i] = listLevelProperties.start - 1;
                    restartedLevels[i] = true;
                }
            }
        }
    }
    getActualRangeCounters(listLevelIndex) {
        var rangeCounters = [];
        for (var i = 0; i <= listLevelIndex; i++)
            rangeCounters[i] = this.counters[i];
        return rangeCounters;
    }
}


/***/ }),

/***/ 3231:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   FB: function() { return /* binding */ NumberingType; },
/* harmony export */   K6: function() { return /* binding */ NumberingList; },
/* harmony export */   Px: function() { return /* binding */ NumberingListBase; },
/* harmony export */   pC: function() { return /* binding */ AbstractNumberingList; }
/* harmony export */ });
/* harmony import */ var _character_character_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1789);
/* harmony import */ var _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1423);
/* harmony import */ var _list_level__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2411);
/* harmony import */ var _list_level_properties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4830);




class NumberingListBase {
    constructor(documentModel, levelCount) {
        this.innerId = -1;
        this.levels = [];
        this.deleted = false;
        this.documentModel = documentModel;
        this.initLevels(levelCount);
    }
    getId() {
        if (this.innerId === -1)
            this.innerId = this.generateNewId();
        return this.innerId;
    }
    resetId() {
        this.innerId = -1;
    }
    initLevels(levelCount) {
        for (var i = 0; i < levelCount; i++) {
            var listLevel = this.createLevel(i);
            this.levels.push(listLevel);
        }
    }
    getLevelType(listLevelIndex) {
        if (this.isBulletListLevel(this.levels[listLevelIndex]))
            return NumberingType.Bullet;
        else if (!this.isHybridList())
            return NumberingType.MultiLevel;
        else
            return NumberingType.Simple;
    }
    getListType() {
        if (!this.isHybridList())
            return NumberingType.MultiLevel;
        if (this.isBulletListLevel(this.levels[0]))
            return NumberingType.Bullet;
        else
            return NumberingType.Simple;
    }
    equals(obj) {
        for (var i = 0, level; level = obj.levels[i]; i++) {
            if (!level.equals(this.levels[i]))
                return false;
        }
        return true;
    }
    externallyEquals(obj) {
        if (this.getListType() !== obj.getListType())
            return false;
        var depth = this.getListType() == NumberingType.MultiLevel ? NumberingListBase.depth : 1;
        for (var i = 0; i < depth; i++) {
            if (!this.levels[i].externallyEquals(obj.levels[i]))
                return false;
        }
        return true;
    }
    copyFrom(obj) {
        this.innerId = obj.innerId;
        this.deleted = obj.deleted;
        this.copyLevelsFrom(obj.levels);
    }
    isHybridList() {
        for (var i = 0, listLevel; listLevel = this.levels[i]; i++) {
            if (listLevel.getListLevelProperties().templateCode !== 0)
                return true;
        }
        return false;
    }
    isBulletListLevel(level) {
        return level.getListLevelProperties().displayFormatString.length === 1;
    }
}
NumberingListBase.depth = 3;
NumberingListBase.NoNumberingListIndex = -2;
NumberingListBase.NumberingListNotSettedIndex = -1;
class AbstractNumberingList extends NumberingListBase {
    constructor(documentModel) {
        super(documentModel, 9);
    }
    generateNewId() {
        return this.documentModel.abstractNumberingListsIdProvider.getNextId();
    }
    createLevel(_index) {
        const characterProperties = _character_character_properties__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterProperties */ .X.createDefault(this.documentModel);
        const paragraphProperties = _paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_1__/* .MaskedParagraphProperties */ .bq.createDefault(this.documentModel);
        return new _list_level__WEBPACK_IMPORTED_MODULE_2__/* .ListLevel */ .KC(this.documentModel, characterProperties, paragraphProperties, new _list_level_properties__WEBPACK_IMPORTED_MODULE_3__/* .ListLevelProperties */ .Yy());
    }
    copyLevelsFrom(levels) {
        for (var i = 0, level; level = this.levels[i]; i++) {
            level.copyFrom(levels[i]);
        }
    }
    clone(model) {
        const result = new AbstractNumberingList(model);
        result.copyFrom(this);
        return result;
    }
}
class NumberingList extends NumberingListBase {
    constructor(documentModel, abstractNumberingListIndex) {
        super(documentModel, 9);
        if (abstractNumberingListIndex < 0 || abstractNumberingListIndex >= documentModel.abstractNumberingLists.length)
            throw new Error("abstractNumberingListIndex should be positive and less than length of the abstractNumberingLists array");
        this.abstractNumberingListIndex = abstractNumberingListIndex;
    }
    getAbstractNumberingList() {
        return this.documentModel.abstractNumberingLists[this.abstractNumberingListIndex];
    }
    generateNewId() {
        return this.documentModel.numberingListsIdProvider.getNextId();
    }
    createLevel(index) {
        return new _list_level__WEBPACK_IMPORTED_MODULE_2__/* .NumberingListReferenceLevel */ .GC(this, index);
    }
    copyLevelsFrom(levels) {
        for (var i = 0; i < this.levels.length; i++) {
            var sourceLevel = levels[i];
            if (this.levels[i].constructor !== sourceLevel.constructor) {
                if (sourceLevel instanceof _list_level__WEBPACK_IMPORTED_MODULE_2__/* .OverrideListLevel */ .lT)
                    this.levels[i] = new _list_level__WEBPACK_IMPORTED_MODULE_2__/* .OverrideListLevel */ .lT(this.documentModel, sourceLevel.getCharacterProperties(), sourceLevel.getParagraphProperties(), sourceLevel.getListLevelProperties());
                else
                    this.levels[i] = new _list_level__WEBPACK_IMPORTED_MODULE_2__/* .NumberingListReferenceLevel */ .GC(this, i);
            }
            this.levels[i].copyFrom(sourceLevel);
        }
    }
    clone(model) {
        const result = new NumberingList(model, this.abstractNumberingListIndex);
        result.copyFrom(this);
        return result;
    }
}
var NumberingType;
(function (NumberingType) {
    NumberingType[NumberingType["MultiLevel"] = 0] = "MultiLevel";
    NumberingType[NumberingType["Simple"] = 1] = "Simple";
    NumberingType[NumberingType["Bullet"] = 2] = "Bullet";
})(NumberingType || (NumberingType = {}));


/***/ }),

/***/ 7516:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Oy: function() { return /* binding */ BookmarksSettings; },
/* harmony export */   rH: function() { return /* binding */ BookmarksVisibility; }
/* harmony export */ });
/* unused harmony export ConflictNameAction */
class BookmarksSettings {
    constructor() {
        this.conflictNameResolution = ConflictNameAction.Rename;
        this.visibility = BookmarksVisibility.Auto;
        this.color = "rgb(127, 127, 127)";
    }
    copyFrom(obj) {
        this.conflictNameResolution = obj.conflictNameResolution;
        this.visibility = obj.visibility;
        this.color = obj.color;
    }
    clone() {
        const result = new BookmarksSettings();
        result.copyFrom(this);
        return result;
    }
}
var ConflictNameAction;
(function (ConflictNameAction) {
    ConflictNameAction[ConflictNameAction["Keep"] = 0] = "Keep";
    ConflictNameAction[ConflictNameAction["Rename"] = 1] = "Rename";
    ConflictNameAction[ConflictNameAction["Skip"] = 2] = "Skip";
})(ConflictNameAction || (ConflictNameAction = {}));
var BookmarksVisibility;
(function (BookmarksVisibility) {
    BookmarksVisibility[BookmarksVisibility["Auto"] = 0] = "Auto";
    BookmarksVisibility[BookmarksVisibility["Visible"] = 1] = "Visible";
    BookmarksVisibility[BookmarksVisibility["Hidden"] = 2] = "Hidden";
})(BookmarksVisibility || (BookmarksVisibility = {}));


/***/ }),

/***/ 9147:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   HX: function() { return /* binding */ PageBreakInsertMode; },
/* harmony export */   e7: function() { return /* binding */ DocumentCapability; },
/* harmony export */   tH: function() { return /* binding */ ControlOptions; }
/* harmony export */ });
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8845);

class ControlOptions {
    constructor() {
        this.copy = DocumentCapability.Default;
        this.createNew = DocumentCapability.Default;
        this.cut = DocumentCapability.Default;
        this.drag = DocumentCapability.Default;
        this.drop = DocumentCapability.Default;
        this.open = DocumentCapability.Default;
        this.paste = DocumentCapability.Default;
        this.printing = DocumentCapability.Default;
        this.save = DocumentCapability.Default;
        this.saveAs = DocumentCapability.Default;
        this.download = DocumentCapability.Default;
        this.fullScreen = DocumentCapability.Default;
        this.tabMarker = _rich_utils__WEBPACK_IMPORTED_MODULE_0__/* .RichUtils */ .i.specialCharacters.TabMark;
        this.pageBreakInsertMode = PageBreakInsertMode.NewLine;
        this.characterFormatting = DocumentCapability.Default;
        this.characterStyle = DocumentCapability.Default;
        this.fields = DocumentCapability.Default;
        this.hyperlinks = DocumentCapability.Default;
        this.inlinePictures = DocumentCapability.Default;
        this.paragraphFormatting = DocumentCapability.Default;
        this.paragraphs = DocumentCapability.Default;
        this.paragraphStyle = DocumentCapability.Default;
        this.paragraphTabs = DocumentCapability.Default;
        this.sections = DocumentCapability.Default;
        this.tabSymbol = DocumentCapability.Default;
        this.undo = DocumentCapability.Default;
        this.bookmarks = DocumentCapability.Default;
        this.numberingBulleted = DocumentCapability.Default;
        this.numberingMultiLevel = DocumentCapability.Default;
        this.numberingSimple = DocumentCapability.Default;
        this.headersFooters = DocumentCapability.Default;
        this.tables = DocumentCapability.Default;
        this.tableStyle = DocumentCapability.Default;
        this.floatingObjects = DocumentCapability.Default;
        this.acceptsTab = true;
        this.raiseClientEventsOnModificationsViaAPI = true;
    }
    static isEnabled(capability) {
        return capability === DocumentCapability.Default || capability === DocumentCapability.Enabled;
    }
    static isVisible(capability) {
        return capability !== DocumentCapability.Hidden;
    }
    clone() {
        const result = new ControlOptions();
        result.copy = this.copy;
        result.createNew = this.createNew;
        result.cut = this.cut;
        result.drag = this.drag;
        result.drop = this.drop;
        result.open = this.open;
        result.paste = this.paste;
        result.printing = this.printing;
        result.save = this.save;
        result.saveAs = this.saveAs;
        result.download = this.download;
        result.fullScreen = this.fullScreen;
        result.tabMarker = this.tabMarker;
        result.pageBreakInsertMode = this.pageBreakInsertMode;
        result.characterFormatting = this.characterFormatting;
        result.characterStyle = this.characterStyle;
        result.fields = this.fields;
        result.hyperlinks = this.hyperlinks;
        result.inlinePictures = this.inlinePictures;
        result.paragraphFormatting = this.paragraphFormatting;
        result.paragraphs = this.paragraphs;
        result.paragraphStyle = this.paragraphStyle;
        result.paragraphTabs = this.paragraphTabs;
        result.sections = this.sections;
        result.tabSymbol = this.tabSymbol;
        result.undo = this.undo;
        result.bookmarks = this.bookmarks;
        result.numberingBulleted = this.numberingBulleted;
        result.numberingMultiLevel = this.numberingMultiLevel;
        result.numberingSimple = this.numberingSimple;
        result.headersFooters = this.headersFooters;
        result.tables = this.tables;
        result.tableStyle = this.tableStyle;
        result.floatingObjects = this.floatingObjects;
        result.acceptsTab = this.acceptsTab;
        result.raiseClientEventsOnModificationsViaAPI = this.raiseClientEventsOnModificationsViaAPI;
        return result;
    }
}
var DocumentCapability;
(function (DocumentCapability) {
    DocumentCapability[DocumentCapability["Default"] = 0] = "Default";
    DocumentCapability[DocumentCapability["Disabled"] = 1] = "Disabled";
    DocumentCapability[DocumentCapability["Enabled"] = 2] = "Enabled";
    DocumentCapability[DocumentCapability["Hidden"] = 3] = "Hidden";
})(DocumentCapability || (DocumentCapability = {}));
var PageBreakInsertMode;
(function (PageBreakInsertMode) {
    PageBreakInsertMode[PageBreakInsertMode["NewLine"] = 0] = "NewLine";
    PageBreakInsertMode[PageBreakInsertMode["CurrentLine"] = 1] = "CurrentLine";
})(PageBreakInsertMode || (PageBreakInsertMode = {}));


/***/ }),

/***/ 825:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   S6: function() { return /* binding */ HashAlgorithmType; },
/* harmony export */   ZN: function() { return /* binding */ DocumentProtectionProperties; },
/* harmony export */   qx: function() { return /* binding */ CryptProviderType; }
/* harmony export */ });
var HashAlgorithmType;
(function (HashAlgorithmType) {
    HashAlgorithmType[HashAlgorithmType["None"] = 0] = "None";
    HashAlgorithmType[HashAlgorithmType["Md2"] = 1] = "Md2";
    HashAlgorithmType[HashAlgorithmType["Md4"] = 2] = "Md4";
    HashAlgorithmType[HashAlgorithmType["Md5"] = 3] = "Md5";
    HashAlgorithmType[HashAlgorithmType["Sha1"] = 4] = "Sha1";
    HashAlgorithmType[HashAlgorithmType["Mac"] = 5] = "Mac";
    HashAlgorithmType[HashAlgorithmType["Ripemd"] = 6] = "Ripemd";
    HashAlgorithmType[HashAlgorithmType["Ripemd160"] = 7] = "Ripemd160";
    HashAlgorithmType[HashAlgorithmType["HMac"] = 9] = "HMac";
    HashAlgorithmType[HashAlgorithmType["Sha256"] = 12] = "Sha256";
    HashAlgorithmType[HashAlgorithmType["Sha384"] = 13] = "Sha384";
    HashAlgorithmType[HashAlgorithmType["Sha512"] = 14] = "Sha512";
})(HashAlgorithmType || (HashAlgorithmType = {}));
var CryptProviderType;
(function (CryptProviderType) {
    CryptProviderType[CryptProviderType["RsaFull"] = 0] = "RsaFull";
    CryptProviderType[CryptProviderType["RsaAES"] = 1] = "RsaAES";
})(CryptProviderType || (CryptProviderType = {}));
class DocumentProtectionProperties {
    constructor() {
        this.enforceProtection = false;
    }
    copyFrom(obj) {
        this.enforceProtection = obj.enforceProtection;
        this.protectionType = obj.protectionType;
        this.hashAlgorithmType = obj.hashAlgorithmType;
        this.cryptProviderType = obj.cryptProviderType;
        this.hashIterationCount = obj.hashIterationCount;
        this.passwordHash = obj.passwordHash ? new Uint8Array(obj.passwordHash) : null;
        this.passwordPrefix = obj.passwordPrefix ? new Uint8Array(obj.passwordPrefix) : null;
        this.word2003PasswordHash = obj.word2003PasswordHash ? new Uint8Array(obj.word2003PasswordHash) : null;
        this.openOfficePasswordHash = obj.openOfficePasswordHash ? new Uint8Array(obj.openOfficePasswordHash) : null;
    }
    clone() {
        const result = new DocumentProtectionProperties();
        result.copyFrom(this);
        return result;
    }
}


/***/ }),

/***/ 8284:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: function() { return /* binding */ PrintingSettings; },
/* harmony export */   X: function() { return /* binding */ PrintMode; }
/* harmony export */ });
class PrintingSettings {
    constructor() {
        this.mode = PrintMode.ServerPdf;
        this.closePrintDialogWithHtmlPreview = true;
    }
    copyFrom(obj) {
        this.mode = obj.mode;
        this.closePrintDialogWithHtmlPreview = obj.closePrintDialogWithHtmlPreview;
    }
    clone() {
        const result = new PrintingSettings();
        result.copyFrom(this);
        return result;
    }
}
var PrintMode;
(function (PrintMode) {
    PrintMode[PrintMode["ServerPdf"] = 0] = "ServerPdf";
    PrintMode[PrintMode["ClientHtml"] = 1] = "ClientHtml";
    PrintMode[PrintMode["ClientPdf"] = 2] = "ClientPdf";
})(PrintMode || (PrintMode = {}));


/***/ }),

/***/ 3914:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   E: function() { return /* binding */ DocumentProtectionSettings; }
/* harmony export */ });
class DocumentProtectionSettings {
    constructor() {
        this.highlightRanges = true;
        this.showBrackets = true;
        this.rangeHighlightColor = 'rgb(150, 200, 150)';
        this.rangeHighlightBracketsColor = 'rgb(127, 127, 127)';
        this.authenticationEMail = '';
        this.authenticationGroup = '';
        this.authenticationUserName = '';
    }
    copyFrom(obj) {
        this.highlightRanges = obj.highlightRanges;
        this.showBrackets = obj.showBrackets;
        this.rangeHighlightColor = obj.rangeHighlightColor;
        this.rangeHighlightBracketsColor = obj.rangeHighlightBracketsColor;
        this.authenticationEMail = obj.authenticationEMail;
        this.authenticationGroup = obj.authenticationGroup;
        this.authenticationUserName = obj.authenticationUserName;
    }
    clone() {
        const result = new DocumentProtectionSettings();
        result.copyFrom(this);
        return result;
    }
}
DocumentProtectionSettings.defaultColors = [
    'rgb(213, 213, 255)',
    'rgb(255, 213, 255)',
    'rgb(255, 230, 213)',
    'rgb(213, 255, 254)',
    'rgb(255, 254, 213)',
    'rgb(233, 233, 233)',
    'rgb(255, 213, 213)',
    'rgb(213, 255, 213)',
];


/***/ }),

/***/ 9687:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ ParagraphPropertiesApplier; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);
/* harmony import */ var _sub_document__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8096);
/* harmony import */ var _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1423);



class ParagraphPropertiesApplier {
    constructor(modelManager, inputPosition, newParProps, subDocument, intervals) {
        this.modelManager = modelManager;
        this.newParProps = newParProps;
        this.inputPosition = inputPosition;
        this.modelManip = this.modelManager.modelManipulator;
        this.subDoc = subDocument;
        this.intervals = intervals;
    }
    apply() {
        const history = this.modelManager.history;
        this.parPropsFull = this.inputPosition.getMergedParagraphPropertiesFull();
        this.parPropsRaw = this.inputPosition.getMergedParagraphPropertiesRaw();
        this.oldParPropsRaw = this.parPropsRaw.clone();
        const parIndices = this.subDoc.getParagraphIndicesByIntervals(this.intervals);
        let changed = 0;
        history.beginTransaction();
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.reverseForEach(parIndices, (parIndex) => {
            const paragraph = this.subDoc.paragraphs[parIndex];
            const interval = this.subDoc.paragraphs[parIndex].interval;
            this.oldParPropsRaw = paragraph.getParagraphMergedProperties().clone();
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.firstLineIndentType);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.firstLineIndent);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.widowOrphanControl);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.afterAutoSpacing);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.outlineLevel);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.beforeAutoSpacing);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.pageBreakBefore);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.rightIndent);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.suppressHyphenation);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.suppressLineNumbers);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.keepLinesTogether);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.keepWithNext);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.shadingInfo);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.leftIndent);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.lineSpacingType);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.lineSpacing);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.alignment);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.contextualSpacing);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.spacingBefore);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.spacingAfter);
            changed |= this.applyProp(interval, _paragraph_properties__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertyDescriptor */ .c$.divId);
        });
        history.endTransaction();
        return !!changed;
    }
    applyProp(interval, descriptor) {
        const newValue = descriptor.getProp(this.newParProps);
        const currValue = descriptor.getProp(this.oldParPropsRaw);
        if (newValue !== undefined && newValue !== currValue) {
            descriptor.setProp(this.parPropsFull, newValue);
            descriptor.setProp(this.parPropsRaw, newValue);
            this.modelManager.history.addAndRedo(new (descriptor.getHistoryItemConstructor())(this.modelManip, new _sub_document__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInterval */ .v8(this.subDoc, interval), newValue, true));
            return 1;
        }
        return 0;
    }
}


/***/ }),

/***/ 1423:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  Bz: function() { return /* binding */ LineSpacingUnit; },
  bq: function() { return /* binding */ MaskedParagraphProperties; },
  wq: function() { return /* binding */ ParagraphAlignment; },
  Qi: function() { return /* binding */ ParagraphFirstLineIndent; },
  yX: function() { return /* binding */ ParagraphLineSpacingType; },
  Y4: function() { return /* binding */ ParagraphProperties; },
  m_: function() { return /* binding */ ParagraphPropertiesMask; },
  c$: function() { return /* binding */ ParagraphPropertyDescriptor; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-info.ts
var shading_info = __webpack_require__(3428);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/comparers.js
var comparers = __webpack_require__(4170);
// EXTERNAL MODULE: ./src/common/model/history/items/paragraph-properties-history-items.ts
var paragraph_properties_history_items = __webpack_require__(6690);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-paragraph-enums.ts
var json_paragraph_enums = __webpack_require__(7936);
;// CONCATENATED MODULE: ./src/common/model/paragraph/paragraph-property-descriptors.ts







class ParagraphPropertiesFirstLineIndentDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.firstLineIndent = newValue;
    }
    getProp(props) {
        return props.firstLineIndent;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseFirstLineIndent;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphFirstLineIndentHistoryItem */.WT;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.FirstLineIndent;
    }
}
class ParagraphPropertiesWidowOrphanControlDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = true;
    }
    setProp(props, newValue) {
        props.widowOrphanControl = newValue;
    }
    getProp(props) {
        return props.widowOrphanControl;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseWidowOrphanControl;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphWidowOrphanControlHistoryItem */.gJ;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.WidowOrphanControl;
    }
}
class ParagraphPropertiesFirstLineIndentTypeDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = ParagraphFirstLineIndent.None;
    }
    setProp(props, newValue) {
        props.firstLineIndentType = newValue;
    }
    getProp(props) {
        return props.firstLineIndentType;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseFirstLineIndent;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphFirstLineIndentTypeHistoryItem */.rg;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.FirstLineIndentType;
    }
}
class ParagraphPropertiesAfterAutoSpacingDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.afterAutoSpacing = newValue;
    }
    getProp(props) {
        return props.afterAutoSpacing;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseAfterAutoSpacing;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphAfterAutoSpacingHistoryItem */.TI;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.AfterAutoSpacing;
    }
}
class ParagraphPropertiesOutlineLevelDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.outlineLevel = newValue;
    }
    getProp(props) {
        return props.outlineLevel;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseOutlineLevel;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphOutlineLevelHistoryItem */.xt;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.OutlineLevel;
    }
}
class ParagraphPropertiesBeforeAutoSpacingDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.beforeAutoSpacing = newValue;
    }
    getProp(props) {
        return props.beforeAutoSpacing;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseBeforeAutoSpacing;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphBeforeAutoSpacingHistoryItem */.OO;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.BeforeAutoSpacing;
    }
}
class ParagraphPropertiesPageBreakBeforeDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.pageBreakBefore = newValue;
    }
    getProp(props) {
        return props.pageBreakBefore;
    }
    maskValue() {
        return ParagraphPropertiesMask.UsePageBreakBefore;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphPageBreakBeforeHistoryItem */.q0;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.PageBreakBefore;
    }
}
class ParagraphPropertiesRightIndentDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.rightIndent = newValue;
    }
    getProp(props) {
        return props.rightIndent;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseRightIndent;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphRightIndentHistoryItem */.AW;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.RightIndent;
    }
}
class ParagraphPropertiesSuppressHyphenationDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.suppressHyphenation = newValue;
    }
    getProp(props) {
        return props.suppressHyphenation;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseSuppressHyphenation;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphSuppressHyphenationHistoryItem */.Wz;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SuppressHyphenation;
    }
}
class ParagraphPropertiesLineSpacingDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.lineSpacing = newValue;
    }
    getProp(props) {
        return props.lineSpacing;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseLineSpacing;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphLineSpacingHistoryItem */.qW;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.LineSpacing;
    }
}
class ParagraphPropertiesSuppressLineNumbersDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.suppressLineNumbers = newValue;
    }
    getProp(props) {
        return props.suppressLineNumbers;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseSuppressLineNumbers;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphSuppressLineNumbersHistoryItem */.G9;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SuppressLineNumbers;
    }
}
class ParagraphPropertiesKeepLinesTogetherDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.keepLinesTogether = newValue;
    }
    getProp(props) {
        return props.keepLinesTogether;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseKeepLinesTogether;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphKeepLinesTogetherHistoryItem */.v_;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.KeepLinesTogether;
    }
}
class ParagraphPropertiesKeepWithNextDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.keepWithNext = newValue;
    }
    getProp(props) {
        return props.keepWithNext;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseKeepWithNext;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphKeepWithNextHistoryItem */.XC;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.KeepWithNext;
    }
}
class ParagraphPropertiesShadingInfoIndexDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.object;
        this.defaultValue = shading_info/* ShadingInfo */.g.noColor;
    }
    setProp(props, newValue) {
        props.shadingInfo = newValue;
    }
    getProp(props) {
        return props.shadingInfo;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseShadingInfoIndex;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphShadingInfoIndexHistoryItem */.rM;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.ShadingInfo;
    }
}
class ParagraphPropertiesLeftIndentDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.leftIndent = newValue;
    }
    getProp(props) {
        return props.leftIndent;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseLeftIndent;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphLeftIndentHistoryItem */.JQ;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.LeftIndent;
    }
}
class ParagraphPropertiesLineSpacingTypeDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = ParagraphLineSpacingType.Single;
    }
    setProp(props, newValue) {
        props.lineSpacingType = newValue;
    }
    getProp(props) {
        return props.lineSpacingType;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseLineSpacing;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphLineSpacingTypeHistoryItem */.DR;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.LineSpacingType;
    }
}
class ParagraphPropertiesAlignmentDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = ParagraphAlignment.Left;
    }
    setProp(props, newValue) {
        props.alignment = newValue;
    }
    getProp(props) {
        return props.alignment;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseAlignment;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphAlignmentHistoryItem */.n$;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.Alignment;
    }
}
class ParagraphPropertiesContextualSpacingDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.contextualSpacing = newValue;
    }
    getProp(props) {
        return props.contextualSpacing;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseContextualSpacing;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphContextualSpacingHistoryItem */.mk;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.ContextualSpacing;
    }
}
class ParagraphPropertiesSpacingBeforeDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.spacingBefore = newValue;
    }
    getProp(props) {
        return props.spacingBefore;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseSpacingBefore;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphSpacingBeforeHistoryItem */.Wl;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SpacingBefore;
    }
}
class ParagraphPropertiesSpacingAfterDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.spacingAfter = newValue;
    }
    getProp(props) {
        return props.spacingAfter;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseSpacingAfter;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphSpacingAfterHistoryItem */.Ou;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.SpacingAfter;
    }
}
class ParagraphPropertiesRightToLeftDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.rightToLeft = newValue;
    }
    getProp(props) {
        return props.rightToLeft;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseRightToLeft;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphRightToLeftHistoryItem */.u7;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.RightToLeft;
    }
}
class ParagraphPropertiesLeftBorderDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.object;
        this.defaultValue = new border_info/* BorderInfo */.H();
    }
    setProp(props, newValue) {
        props.leftBorder = newValue;
    }
    getProp(props) {
        return props.leftBorder;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseLeftBorder;
    }
    getHistoryItemConstructor() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
    getJSONProperty() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
}
class ParagraphPropertiesRightBorderDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.object;
        this.defaultValue = new border_info/* BorderInfo */.H();
    }
    setProp(props, newValue) {
        props.rightBorder = newValue;
    }
    getProp(props) {
        return props.rightBorder;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseRightBorder;
    }
    getHistoryItemConstructor() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
    getJSONProperty() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
}
class ParagraphPropertiesTopBorderDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.object;
        this.defaultValue = new border_info/* BorderInfo */.H();
    }
    setProp(props, newValue) {
        props.topBorder = newValue;
    }
    getProp(props) {
        return props.topBorder;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseTopBorder;
    }
    getHistoryItemConstructor() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
    getJSONProperty() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
}
class ParagraphPropertiesBottomBorderDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.object;
        this.defaultValue = new border_info/* BorderInfo */.H();
    }
    setProp(props, newValue) {
        props.bottomBorder = newValue;
    }
    getProp(props) {
        return props.bottomBorder;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseBottomBorder;
    }
    getHistoryItemConstructor() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
    getJSONProperty() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
}
class ParagraphPropertiesBetweenBorderDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.object;
        this.defaultValue = new border_info/* BorderInfo */.H();
    }
    setProp(props, newValue) {
        props.betweenBorder = newValue;
    }
    getProp(props) {
        return props.betweenBorder;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseBetweenBorder;
    }
    getHistoryItemConstructor() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
    getJSONProperty() {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
}
class ParagraphPropertiesDivIdDescriptor {
    constructor() {
        this.binaryEquals = comparers.Equals.simpleType;
        this.defaultValue = 0;
    }
    setProp(props, newValue) {
        props.divId = newValue;
    }
    getProp(props) {
        return props.divId;
    }
    maskValue() {
        return ParagraphPropertiesMask.UseDivId;
    }
    getHistoryItemConstructor() {
        return paragraph_properties_history_items/* ParagraphDivIdHistoryItem */.ZG;
    }
    getJSONProperty() {
        return json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff.DivId;
    }
}

;// CONCATENATED MODULE: ./src/common/model/paragraph/paragraph-properties.ts





var ParagraphPropertiesMask;
(function (ParagraphPropertiesMask) {
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseNone"] = 0] = "UseNone";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseAlignment"] = 1] = "UseAlignment";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseLeftIndent"] = 2] = "UseLeftIndent";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseRightIndent"] = 4] = "UseRightIndent";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseSpacingBefore"] = 8] = "UseSpacingBefore";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseSpacingAfter"] = 16] = "UseSpacingAfter";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseLineSpacing"] = 32] = "UseLineSpacing";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseFirstLineIndent"] = 64] = "UseFirstLineIndent";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseSuppressHyphenation"] = 128] = "UseSuppressHyphenation";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseSuppressLineNumbers"] = 256] = "UseSuppressLineNumbers";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseContextualSpacing"] = 512] = "UseContextualSpacing";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UsePageBreakBefore"] = 1024] = "UsePageBreakBefore";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseBeforeAutoSpacing"] = 2048] = "UseBeforeAutoSpacing";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseAfterAutoSpacing"] = 4096] = "UseAfterAutoSpacing";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseKeepWithNext"] = 8192] = "UseKeepWithNext";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseKeepLinesTogether"] = 16384] = "UseKeepLinesTogether";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseWidowOrphanControl"] = 32768] = "UseWidowOrphanControl";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseOutlineLevel"] = 65536] = "UseOutlineLevel";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseShadingInfoIndex"] = 131072] = "UseShadingInfoIndex";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseLeftBorder"] = 262144] = "UseLeftBorder";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseRightBorder"] = 524288] = "UseRightBorder";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseTopBorder"] = 1048576] = "UseTopBorder";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseBottomBorder"] = 2097152] = "UseBottomBorder";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseDivId"] = 4194304] = "UseDivId";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseBorders"] = 20709376] = "UseBorders";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseRightToLeft"] = 8388608] = "UseRightToLeft";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseBetweenBorder"] = 16777216] = "UseBetweenBorder";
    ParagraphPropertiesMask[ParagraphPropertiesMask["UseAll"] = 2147483647] = "UseAll";
})(ParagraphPropertiesMask || (ParagraphPropertiesMask = {}));
var ParagraphAlignment;
(function (ParagraphAlignment) {
    ParagraphAlignment[ParagraphAlignment["Left"] = 0] = "Left";
    ParagraphAlignment[ParagraphAlignment["Right"] = 1] = "Right";
    ParagraphAlignment[ParagraphAlignment["Center"] = 2] = "Center";
    ParagraphAlignment[ParagraphAlignment["Justify"] = 3] = "Justify";
    ParagraphAlignment[ParagraphAlignment["JustifyMedium"] = 4] = "JustifyMedium";
    ParagraphAlignment[ParagraphAlignment["JustifyHigh"] = 5] = "JustifyHigh";
    ParagraphAlignment[ParagraphAlignment["JustifyLow"] = 6] = "JustifyLow";
    ParagraphAlignment[ParagraphAlignment["Distribute"] = 7] = "Distribute";
    ParagraphAlignment[ParagraphAlignment["ThaiDistribute"] = 8] = "ThaiDistribute";
})(ParagraphAlignment || (ParagraphAlignment = {}));
var ParagraphLineSpacingType;
(function (ParagraphLineSpacingType) {
    ParagraphLineSpacingType[ParagraphLineSpacingType["Single"] = 0] = "Single";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Sesquialteral"] = 1] = "Sesquialteral";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Double"] = 2] = "Double";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Multiple"] = 3] = "Multiple";
    ParagraphLineSpacingType[ParagraphLineSpacingType["Exactly"] = 4] = "Exactly";
    ParagraphLineSpacingType[ParagraphLineSpacingType["AtLeast"] = 5] = "AtLeast";
})(ParagraphLineSpacingType || (ParagraphLineSpacingType = {}));
var ParagraphFirstLineIndent;
(function (ParagraphFirstLineIndent) {
    ParagraphFirstLineIndent[ParagraphFirstLineIndent["None"] = 0] = "None";
    ParagraphFirstLineIndent[ParagraphFirstLineIndent["Indented"] = 1] = "Indented";
    ParagraphFirstLineIndent[ParagraphFirstLineIndent["Hanging"] = 2] = "Hanging";
})(ParagraphFirstLineIndent || (ParagraphFirstLineIndent = {}));
class ParagraphPropertyDescriptor {
}
ParagraphPropertyDescriptor.firstLineIndent = new ParagraphPropertiesFirstLineIndentDescriptor();
ParagraphPropertyDescriptor.widowOrphanControl = new ParagraphPropertiesWidowOrphanControlDescriptor();
ParagraphPropertyDescriptor.firstLineIndentType = new ParagraphPropertiesFirstLineIndentTypeDescriptor();
ParagraphPropertyDescriptor.afterAutoSpacing = new ParagraphPropertiesAfterAutoSpacingDescriptor();
ParagraphPropertyDescriptor.outlineLevel = new ParagraphPropertiesOutlineLevelDescriptor();
ParagraphPropertyDescriptor.beforeAutoSpacing = new ParagraphPropertiesBeforeAutoSpacingDescriptor();
ParagraphPropertyDescriptor.pageBreakBefore = new ParagraphPropertiesPageBreakBeforeDescriptor();
ParagraphPropertyDescriptor.rightIndent = new ParagraphPropertiesRightIndentDescriptor();
ParagraphPropertyDescriptor.suppressHyphenation = new ParagraphPropertiesSuppressHyphenationDescriptor();
ParagraphPropertyDescriptor.lineSpacing = new ParagraphPropertiesLineSpacingDescriptor();
ParagraphPropertyDescriptor.suppressLineNumbers = new ParagraphPropertiesSuppressLineNumbersDescriptor();
ParagraphPropertyDescriptor.keepLinesTogether = new ParagraphPropertiesKeepLinesTogetherDescriptor();
ParagraphPropertyDescriptor.keepWithNext = new ParagraphPropertiesKeepWithNextDescriptor();
ParagraphPropertyDescriptor.shadingInfo = new ParagraphPropertiesShadingInfoIndexDescriptor();
ParagraphPropertyDescriptor.leftIndent = new ParagraphPropertiesLeftIndentDescriptor();
ParagraphPropertyDescriptor.lineSpacingType = new ParagraphPropertiesLineSpacingTypeDescriptor();
ParagraphPropertyDescriptor.alignment = new ParagraphPropertiesAlignmentDescriptor();
ParagraphPropertyDescriptor.contextualSpacing = new ParagraphPropertiesContextualSpacingDescriptor();
ParagraphPropertyDescriptor.spacingBefore = new ParagraphPropertiesSpacingBeforeDescriptor();
ParagraphPropertyDescriptor.spacingAfter = new ParagraphPropertiesSpacingAfterDescriptor();
ParagraphPropertyDescriptor.rightToLeft = new ParagraphPropertiesRightToLeftDescriptor();
ParagraphPropertyDescriptor.leftBorder = new ParagraphPropertiesLeftBorderDescriptor();
ParagraphPropertyDescriptor.rightBorder = new ParagraphPropertiesRightBorderDescriptor();
ParagraphPropertyDescriptor.topBorder = new ParagraphPropertiesTopBorderDescriptor();
ParagraphPropertyDescriptor.bottomBorder = new ParagraphPropertiesBottomBorderDescriptor();
ParagraphPropertyDescriptor.betweenBorder = new ParagraphPropertiesBetweenBorderDescriptor();
ParagraphPropertyDescriptor.divId = new ParagraphPropertiesDivIdDescriptor();
ParagraphPropertyDescriptor.ALL_FIELDS = [
    ParagraphPropertyDescriptor.firstLineIndent,
    ParagraphPropertyDescriptor.widowOrphanControl,
    ParagraphPropertyDescriptor.firstLineIndentType,
    ParagraphPropertyDescriptor.afterAutoSpacing,
    ParagraphPropertyDescriptor.outlineLevel,
    ParagraphPropertyDescriptor.beforeAutoSpacing,
    ParagraphPropertyDescriptor.pageBreakBefore,
    ParagraphPropertyDescriptor.rightIndent,
    ParagraphPropertyDescriptor.suppressHyphenation,
    ParagraphPropertyDescriptor.lineSpacing,
    ParagraphPropertyDescriptor.suppressLineNumbers,
    ParagraphPropertyDescriptor.keepLinesTogether,
    ParagraphPropertyDescriptor.keepWithNext,
    ParagraphPropertyDescriptor.shadingInfo,
    ParagraphPropertyDescriptor.leftIndent,
    ParagraphPropertyDescriptor.lineSpacingType,
    ParagraphPropertyDescriptor.alignment,
    ParagraphPropertyDescriptor.contextualSpacing,
    ParagraphPropertyDescriptor.spacingBefore,
    ParagraphPropertyDescriptor.spacingAfter,
    ParagraphPropertyDescriptor.rightToLeft,
    ParagraphPropertyDescriptor.leftBorder,
    ParagraphPropertyDescriptor.rightBorder,
    ParagraphPropertyDescriptor.topBorder,
    ParagraphPropertyDescriptor.bottomBorder,
    ParagraphPropertyDescriptor.betweenBorder,
    ParagraphPropertyDescriptor.divId
];
class ParagraphProperties {
    constructor() {
        this.firstLineIndent = 0;
        this.widowOrphanControl = true;
        this.firstLineIndentType = ParagraphFirstLineIndent.None;
        this.afterAutoSpacing = false;
        this.outlineLevel = 0;
        this.beforeAutoSpacing = false;
        this.pageBreakBefore = false;
        this.rightIndent = 0;
        this.suppressHyphenation = false;
        this.lineSpacing = 0;
        this.suppressLineNumbers = false;
        this.keepLinesTogether = false;
        this.keepWithNext = false;
        this.shadingInfo = shading_info/* ShadingInfo */.g.nullColor;
        this.rightToLeft = false;
        this.leftIndent = 0;
        this.lineSpacingType = ParagraphLineSpacingType.Single;
        this.alignment = ParagraphAlignment.Left;
        this.contextualSpacing = false;
        this.spacingBefore = 0;
        this.spacingAfter = 0;
        this.leftBorder = new border_info/* BorderInfo */.H();
        this.rightBorder = new border_info/* BorderInfo */.H();
        this.topBorder = new border_info/* BorderInfo */.H();
        this.bottomBorder = new border_info/* BorderInfo */.H();
        this.betweenBorder = new border_info/* BorderInfo */.H();
        this.divId = 0;
    }
    calculateHash() {
        return math.MathUtils.somePrimes[0] * this.leftIndent ^
            math.MathUtils.somePrimes[1] * this.rightIndent ^
            math.MathUtils.somePrimes[2] * this.firstLineIndent ^
            math.MathUtils.somePrimes[3] * this.spacingBefore ^
            math.MathUtils.somePrimes[4] * this.spacingAfter;
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    copyFrom(obj) {
        this.alignment = obj.alignment;
        this.leftIndent = obj.leftIndent;
        this.rightIndent = obj.rightIndent;
        this.spacingBefore = obj.spacingBefore;
        this.spacingAfter = obj.spacingAfter;
        this.lineSpacing = obj.lineSpacing;
        this.firstLineIndent = obj.firstLineIndent;
        this.suppressHyphenation = obj.suppressHyphenation;
        this.suppressLineNumbers = obj.suppressLineNumbers;
        this.contextualSpacing = obj.contextualSpacing;
        this.pageBreakBefore = obj.pageBreakBefore;
        this.beforeAutoSpacing = obj.beforeAutoSpacing;
        this.afterAutoSpacing = obj.afterAutoSpacing;
        this.keepWithNext = obj.keepWithNext;
        this.keepLinesTogether = obj.keepLinesTogether;
        this.widowOrphanControl = obj.widowOrphanControl;
        this.outlineLevel = obj.outlineLevel;
        this.firstLineIndentType = obj.firstLineIndentType;
        this.lineSpacingType = obj.lineSpacingType;
        this.rightToLeft = obj.rightToLeft;
        this.shadingInfo = obj.shadingInfo ? obj.shadingInfo.clone() : obj.shadingInfo;
        if (obj.leftBorder)
            this.leftBorder.copyFrom(obj.leftBorder);
        else
            this.leftBorder = obj.leftBorder;
        if (obj.rightBorder)
            this.rightBorder.copyFrom(obj.rightBorder);
        else
            this.rightBorder = obj.rightBorder;
        if (obj.topBorder)
            this.topBorder.copyFrom(obj.topBorder);
        else
            this.topBorder = obj.topBorder;
        if (obj.bottomBorder)
            this.bottomBorder.copyFrom(obj.bottomBorder);
        else
            this.bottomBorder = obj.bottomBorder;
        if (obj.betweenBorder)
            this.betweenBorder.copyFrom(obj.betweenBorder);
        else
            this.betweenBorder = obj.betweenBorder;
        this.divId = obj.divId;
    }
    clone() {
        var result = new ParagraphProperties();
        result.copyFrom(this);
        return result;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.firstLineIndent == obj.firstLineIndent &&
            this.firstLineIndentType == obj.firstLineIndentType &&
            this.afterAutoSpacing == obj.afterAutoSpacing &&
            this.outlineLevel == obj.outlineLevel &&
            this.beforeAutoSpacing == obj.beforeAutoSpacing &&
            this.pageBreakBefore == obj.pageBreakBefore &&
            this.rightIndent == obj.rightIndent &&
            this.suppressHyphenation == obj.suppressHyphenation &&
            this.lineSpacing == obj.lineSpacing &&
            this.suppressLineNumbers == obj.suppressLineNumbers &&
            this.keepLinesTogether == obj.keepLinesTogether &&
            this.keepWithNext == obj.keepWithNext &&
            this.shadingInfo.equals(obj.shadingInfo) &&
            this.leftIndent == obj.leftIndent &&
            this.lineSpacingType == obj.lineSpacingType &&
            this.alignment == obj.alignment &&
            this.contextualSpacing == obj.contextualSpacing &&
            this.rightToLeft == obj.rightToLeft &&
            this.spacingBefore == obj.spacingBefore &&
            this.spacingAfter == obj.spacingAfter &&
            this.leftBorder.equals(obj.leftBorder) &&
            this.rightBorder.equals(obj.rightBorder) &&
            this.topBorder.equals(obj.topBorder) &&
            this.bottomBorder.equals(obj.bottomBorder) &&
            this.betweenBorder.equals(obj.betweenBorder) &&
            this.divId == obj.divId;
    }
    getLeftIndentForFirstRow() {
        let indent = this.leftIndent;
        switch (this.firstLineIndentType) {
            case ParagraphFirstLineIndent.None:
            case ParagraphFirstLineIndent.Indented:
                indent += this.firstLineIndent;
                break;
            case ParagraphFirstLineIndent.Hanging:
                indent -= this.firstLineIndent;
        }
        return indent;
    }
    getLeftIndentForOtherRow() {
        return this.leftIndent;
    }
    getLeftIndentForParagraphFrame() {
        let indent = this.leftIndent;
        if (this.firstLineIndentType == ParagraphFirstLineIndent.Hanging)
            indent -= this.firstLineIndent;
        return unit_converter/* UnitConverter */.u.twipsToPixelsF(indent);
    }
}
class MaskedParagraphProperties extends ParagraphProperties {
    constructor() {
        super(...arguments);
        this.useValue = ParagraphPropertiesMask.UseNone;
    }
    getUseValue(value) {
        return (this.useValue & value) != 0;
    }
    calculateHash() {
        return super.calculateHash() +
            math.MathUtils.somePrimes[15] * this.useValue;
    }
    setUseValue(mask, value) {
        if (value)
            this.useValue |= mask;
        else
            this.useValue &= ~mask;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.useValue = obj.useValue;
    }
    equals(obj) {
        return super.equals(obj)
            && this.useValue == obj.useValue;
    }
    clone() {
        var result = new MaskedParagraphProperties();
        result.copyFrom(this);
        return result;
    }
    static createDefault(model) {
        var prop = model.defaultParagraphProperties.clone();
        prop.useValue = ParagraphPropertiesMask.UseNone;
        return prop;
    }
    setValue(desc, value) {
        desc.setProp(this, value);
        this.setUseValue(desc.maskValue(), true);
    }
}
class LineSpacingUnit {
    init(value, type) {
        this.value = value;
        this.type = type;
        return this;
    }
    clone() {
        return new LineSpacingUnit().init(this.value, this.type);
    }
    static create(value, type) {
        return new LineSpacingUnit().init(value, type);
    }
    static createSingle() {
        return new LineSpacingUnit().init(1, ParagraphLineSpacingType.Single);
    }
    static createSesquialteral() {
        return new LineSpacingUnit().init(1.5, ParagraphLineSpacingType.Sesquialteral);
    }
    static createDouble() {
        return new LineSpacingUnit().init(2, ParagraphLineSpacingType.Double);
    }
    static createMultiple(value) {
        return new LineSpacingUnit().init(value, ParagraphLineSpacingType.Multiple);
    }
    static createExactly(value) {
        return new LineSpacingUnit().init(value, ParagraphLineSpacingType.Exactly);
    }
    static createAtLeast(value) {
        return new LineSpacingUnit().init(value, ParagraphLineSpacingType.AtLeast);
    }
}


/***/ }),

/***/ 5631:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   PO: function() { return /* binding */ ParagraphStyle; },
/* harmony export */   i3: function() { return /* binding */ TabInfo; },
/* harmony export */   jy: function() { return /* binding */ TabProperties; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2400);
/* harmony import */ var _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3231);
/* harmony import */ var _properties_merger_paragraph_properties_merger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8885);
/* harmony import */ var _style_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1592);




class ParagraphStyle extends _style_base__WEBPACK_IMPORTED_MODULE_3__/* .StyleBase */ ._ {
    constructor(styleName, localizedName, deleted, hidden, semihidden, isDefault, maskedCharacterProperties, maskedParagraphProperties, tabs, autoUpdate, numberingListIndex, listLevelIndex, base64EncodedImage, id) {
        super(styleName, localizedName, deleted, hidden, semihidden, isDefault, base64EncodedImage, id);
        this.linkedStyle = null;
        this.nextParagraphStyle = null;
        this.maskedCharacterProperties = maskedCharacterProperties;
        this.maskedParagraphProperties = maskedParagraphProperties;
        this.tabs = tabs;
        this.autoUpdate = autoUpdate;
        this.numberingListIndex = numberingListIndex;
        this.listLevelIndex = listLevelIndex;
    }
    getResultTabs() {
        var _a;
        const parentTabs = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getResultTabs();
        const tabs = this.tabs.clone();
        tabs.merge(parentTabs);
        return tabs;
    }
    getMergedParagraphProperties() {
        const paragraphMerger = new _properties_merger_paragraph_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphPropertiesMerger */ .G();
        paragraphMerger.mergeParagraphStyle(this);
        return paragraphMerger.getMergedProperties();
    }
    isInOwnList() {
        return this.numberingListIndex >= 0;
    }
    isInList() {
        return this.getNumberingListIndex() >= 0;
    }
    getListLevel(model) {
        return this.getNumberingList(model).levels[this.getListLevelIndex()];
    }
    getNumberingList(model) {
        return model.numberingLists[this.getNumberingListIndex()];
    }
    getNumberingListIndex() {
        if (this.numberingListIndex >= 0 || this.numberingListIndex === _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_1__/* .NumberingList */ .K6.NoNumberingListIndex || !this.parent)
            return this.numberingListIndex;
        else
            return this.parent.getNumberingListIndex();
    }
    getListLevelIndex() {
        var _a, _b;
        if (this.listLevelIndex >= 0)
            return this.listLevelIndex;
        else
            return (_b = (_a = this.parent) === null || _a === void 0 ? void 0 : _a.getListLevelIndex()) !== null && _b !== void 0 ? _b : 0;
    }
    clone() {
        const style = new ParagraphStyle(this.styleName, this.localizedName, this.deleted, this.hidden, this.semihidden, this.isDefault, this.maskedCharacterProperties, this.maskedParagraphProperties, this.tabs.clone(), this.autoUpdate, this.numberingListIndex, this.listLevelIndex, this.base64EncodedImage, this.id);
        style.parent = this.parent;
        style.linkedStyle = this.linkedStyle;
        style.nextParagraphStyle = this.nextParagraphStyle;
        style.primary = this.primary;
        return style;
    }
}
ParagraphStyle.normalStyleName = "Normal";
ParagraphStyle.headingStyleName = "Heading";
ParagraphStyle.tocStyleName = "toc";
class TabProperties {
    constructor() {
        this.tabsInfo = [];
    }
    clone() {
        const tabProperties = new TabProperties();
        for (let tab of this.tabsInfo)
            tabProperties.tabsInfo.push(tab.clone());
        return tabProperties;
    }
    equals(obj) {
        for (var i = 0, tab; tab = this.tabsInfo[i]; i++)
            if (!tab.equals(obj.tabsInfo[i]))
                return false;
        return true;
    }
    sort() {
        this.tabsInfo.sort((a, b) => a.position - b.position);
    }
    indexOf(tabInfo) {
        return _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_0__.SearchUtils.binaryIndexOf(this.tabsInfo, (t) => t.position - tabInfo.position);
    }
    add(tabInfo) {
        this.tabsInfo.push(tabInfo);
        this.sort();
    }
    deleteByIndex(index) {
        this.tabsInfo.splice(index, 1);
    }
    setTabs(tabProp) {
        this.tabsInfo = tabProp.tabsInfo;
        this.tabsInfo.sort((a, b) => a.position - b.position);
    }
    merge(tabProperties) {
        if (!tabProperties)
            return;
        tabProperties.tabsInfo.filter(t => !t.deleted).forEach(t => {
            if (!this.tabsInfo.some(st => t.position === st.position))
                this.add(t.clone());
        });
        this.sort();
    }
}
class TabInfo {
    constructor(position, alignment, leader, deleted, isDefault) {
        this.position = position;
        this.alignment = alignment;
        this.leader = leader;
        this.isDefault = isDefault;
        this.deleted = deleted;
    }
    clone() {
        return new TabInfo(this.position, this.alignment, this.leader, this.deleted, this.isDefault);
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.alignment == obj.alignment &&
            this.leader == obj.leader &&
            this.position == obj.position &&
            this.deleted == obj.deleted &&
            this.isDefault == obj.isDefault;
    }
}


/***/ }),

/***/ 9754:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K9: function() { return /* binding */ TabAlign; },
/* harmony export */   nv: function() { return /* binding */ Paragraph; }
/* harmony export */ });
/* unused harmony export TabsInfo */
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2400);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2986);
/* harmony import */ var _character_character_properties__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1789);
/* harmony import */ var _character_enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8579);
/* harmony import */ var _number_converters_number_converter_creator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5622);
/* harmony import */ var _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3231);
/* harmony import */ var _properties_merger_character_properties_merger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9250);
/* harmony import */ var _properties_merger_paragraph_properties_merger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(8885);
/* harmony import */ var _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8707);
/* harmony import */ var _paragraph_style__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5631);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(2491);












class TabsInfo {
}
var TabAlign;
(function (TabAlign) {
    TabAlign[TabAlign["Left"] = 0] = "Left";
    TabAlign[TabAlign["Center"] = 1] = "Center";
    TabAlign[TabAlign["Right"] = 2] = "Right";
    TabAlign[TabAlign["Decimal"] = 3] = "Decimal";
    TabAlign[TabAlign["Numbering"] = 4] = "Numbering";
})(TabAlign || (TabAlign = {}));
class Paragraph {
    get isEmpty() { return this.length <= 1; }
    constructor(subDocument, startLogPosition, length, paragraphStyle, maskedParagraphProperties, indexInMaskedParagraphProperitesCache = undefined) {
        this.numberingListIndex = _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_6__/* .NumberingList */ .K6.NumberingListNotSettedIndex;
        this.listLevelIndex = -1;
        this.subDocument = subDocument;
        this.startLogPosition = startLogPosition;
        this.length = length;
        this.paragraphStyle = paragraphStyle;
        if (indexInMaskedParagraphProperitesCache === undefined) {
            if (maskedParagraphProperties)
                this.setParagraphProperties(maskedParagraphProperties);
            else
                this.maskedParagraphProperties = null;
        }
        else
            this.maskedParagraphProperties = this.subDocument.documentModel.cache.maskedParagraphPropertiesCache.getItemByJsonKey(indexInMaskedParagraphProperitesCache);
        this.mergedParagraphFormatting = null;
        this.tabs = new _paragraph_style__WEBPACK_IMPORTED_MODULE_10__/* .TabProperties */ .jy();
    }
    getParagraphBundleFull(model) {
        return new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_2__/* .MaskedParagraphPropertiesBundleFull */ .Us(model.cache.maskedParagraphPropertiesCache.getItem(this.maskedParagraphProperties), model.stylesManager.addParagraphStyle(this.paragraphStyle), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_2__/* .ParagraphListInfo */ .QC(this.numberingListIndex, this.listLevelIndex), this.tabs.clone());
    }
    getTableCell() {
        const parPos = this.startLogPosition.value;
        const tables = this.subDocument.tables;
        const table = _tables_main_structures_table__WEBPACK_IMPORTED_MODULE_9__/* .Table */ .iA.getTableByPosition(tables, parPos, true);
        if (!table)
            return null;
        const rowIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(table.rows, (r) => r.getStartPosition(), parPos);
        const row = table.rows[rowIndex];
        const cellIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(row.cells, (c) => c.startParagraphPosition.value, parPos);
        const cell = row.cells[cellIndex];
        return cell;
    }
    isInList() {
        return this.getNumberingListIndex() >= 0;
    }
    isInOwnList() {
        return this.numberingListIndex >= 0;
    }
    isInStyleList() {
        return this.paragraphStyle && this.paragraphStyle.numberingListIndex >= 0;
    }
    getListLevelIndex() {
        if (this.listLevelIndex >= 0)
            return this.listLevelIndex;
        return this.paragraphStyle ? this.paragraphStyle.getListLevelIndex() : -1;
    }
    getListLevel() {
        return this.getNumberingList().levels[this.getListLevelIndex()];
    }
    getNumberingListIndex() {
        if (this.numberingListIndex >= 0 || this.numberingListIndex === _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_6__/* .NumberingList */ .K6.NoNumberingListIndex)
            return this.numberingListIndex;
        return this.paragraphStyle ? this.paragraphStyle.getNumberingListIndex() : -1;
    }
    getNumberingList() {
        return this.subDocument.documentModel.numberingLists[this.getNumberingListIndex()];
    }
    getAbstractNumberingList() {
        var numberingList = this.getNumberingList();
        return numberingList ? numberingList.getAbstractNumberingList() : null;
    }
    getAbstractNumberingListIndex() {
        var numberingList = this.getNumberingList();
        return numberingList ? numberingList.abstractNumberingListIndex : -1;
    }
    getNumberingListText() {
        var counters = this.subDocument.documentModel.getRangeListCounters(this);
        return this.getNumberingListTextCore(counters);
    }
    getNumberingListTextCore(counters) {
        var levels = this.getNumberingList().levels;
        var formatString = levels[this.getListLevelIndex()].getListLevelProperties().displayFormatString;
        return this.formatNumberingListText(formatString, counters, levels);
    }
    getNumberingListSeparatorChar() {
        return this.getListLevel().getListLevelProperties().separator;
    }
    getNumerationCharacterProperties() {
        var merger = new _properties_merger_character_properties_merger__WEBPACK_IMPORTED_MODULE_7__/* .CharacterPropertiesMerger */ .I();
        merger.mergeCharacterProperties(this.getNumberingList().levels[this.getListLevelIndex()].getCharacterProperties());
        const paragraphRunProperties = this.subDocument.getRunByPosition(this.getEndPosition() - 1).getCharacterMergedProperties();
        const maskedParagraphRunProperties = new _character_character_properties__WEBPACK_IMPORTED_MODULE_3__/* .MaskedCharacterProperties */ .X();
        maskedParagraphRunProperties.copyFrom(paragraphRunProperties);
        maskedParagraphRunProperties.setUseValueFull(_character_enums__WEBPACK_IMPORTED_MODULE_4__/* .CharacterPropertiesMask */ .xe.UseAll ^ _character_enums__WEBPACK_IMPORTED_MODULE_4__/* .CharacterPropertiesMask */ .xe.UseFontUnderlineType);
        merger.mergeCharacterProperties(maskedParagraphRunProperties);
        return this.subDocument.documentModel.cache.mergedCharacterPropertiesCache.getItem(merger.getMergedProperties());
    }
    getNumerationLanguageId() {
        const characterProperties = this.getNumerationCharacterProperties();
        if (!(0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_11__.isDefined)(characterProperties.langInfo))
            return "en";
        const langId = characterProperties.langInfo.latin;
        if (!(0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_11__.isDefined)(langId))
            return "en";
        return langId;
    }
    formatNumberingListText(formatString, args, levels) {
        var objArgs = new Array(args.length);
        const langId = this.getNumerationLanguageId();
        for (var i = 0; i < args.length; i++) {
            var converter = _number_converters_number_converter_creator__WEBPACK_IMPORTED_MODULE_5__/* .NumberConverterCreator */ .A.createConverter(levels[i].getListLevelProperties().format, this.subDocument.documentModel.simpleFormattersManager, langId);
            objArgs[i] = converter.convertNumber(args[i]);
        }
        try {
            return this.subDocument.documentModel.simpleFormattersManager.formatString(formatString, ...objArgs);
        }
        catch (e) {
            try {
                return objArgs[0];
            }
            catch (e) {
                return "";
            }
        }
    }
    get interval() { return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.startLogPosition.value, this.length); }
    getEndPosition() {
        return this.startLogPosition.value + this.length;
    }
    setParagraphProperties(properties) {
        this.maskedParagraphProperties = this.subDocument.documentModel.cache.maskedParagraphPropertiesCache.getItem(properties);
    }
    onParagraphPropertiesChanged() {
        this.resetParagraphMergedProperties();
    }
    resetParagraphMergedProperties() {
        this.mergedParagraphFormatting = null;
    }
    getParagraphMergedProperties() {
        if (!this.mergedParagraphFormatting) {
            var merger = new _properties_merger_paragraph_properties_merger__WEBPACK_IMPORTED_MODULE_8__/* .ParagraphPropertiesMerger */ .G();
            merger.mergeMaskedParagraphProperties(this.maskedParagraphProperties);
            if (this.isInOwnList())
                merger.mergeMaskedParagraphProperties(this.getListLevel().getParagraphProperties());
            if (this.numberingListIndex == _numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_6__/* .AbstractNumberingList */ .pC.NoNumberingListIndex)
                merger.mergeParagraphStyle(this.paragraphStyle);
            else
                merger.mergeParagraphStyleConsiderNumbering(this.paragraphStyle, this.subDocument.documentModel);
            const tableCell = this.getTableCell();
            if (tableCell)
                merger.mergeTableStyle(tableCell);
            merger.mergeMaskedParagraphProperties(this.subDocument.documentModel.defaultParagraphProperties);
            this.mergedParagraphFormatting =
                this.subDocument.documentModel.cache.mergedParagraphPropertiesCache.getItem(merger.getMergedProperties());
        }
        return this.mergedParagraphFormatting;
    }
    setParagraphMergedProperies(properties) {
        this.mergedParagraphFormatting = this.subDocument.documentModel.cache.mergedParagraphPropertiesCache.getItem(properties);
    }
    hasParagraphMergedProperies() {
        return !!this.mergedParagraphFormatting;
    }
    getTabs() {
        var result = new TabsInfo();
        result.defaultTabStop = this.subDocument.documentModel.defaultTabWidth;
        result.positions = [];
        if (this.paragraphStyle) {
            var styleTabs = this.paragraphStyle.getResultTabs().tabsInfo;
            for (var i = 0; i < styleTabs.length; i++)
                if (!styleTabs[i].deleted) {
                    var tabPosition = styleTabs[i].clone();
                    var index = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.binaryIndexOf(result.positions, (t) => t.position - styleTabs[i].position);
                    if (index < 0)
                        result.positions.splice(~index, 0, tabPosition);
                    else
                        result.positions[index] = tabPosition;
                }
        }
        var paragraphTabs = this.tabs.tabsInfo;
        for (var i = 0; i < paragraphTabs.length; i++) {
            var index = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.binaryIndexOf(result.positions, (t) => t.position - paragraphTabs[i].position);
            if (index < 0) {
                index = ~index;
                if (!paragraphTabs[i].deleted)
                    result.positions.splice(index, 0, paragraphTabs[i].clone());
            }
            else {
                if (paragraphTabs[i].deleted)
                    result.positions.splice(index, 1);
                else
                    result.positions[index] = paragraphTabs[i].clone();
            }
        }
        return result;
    }
    clone(subDocument) {
        const result = new Paragraph(subDocument, subDocument.positionManager.registerPosition(this.startLogPosition.value), this.length, subDocument.documentModel.stylesManager.getParagraphStyleByName(this.paragraphStyle.styleName), this.maskedParagraphProperties);
        result.tabs = this.tabs.clone();
        result.numberingListIndex = this.numberingListIndex;
        result.listLevelIndex = this.listLevelIndex;
        return result;
    }
    copyFrom(from) {
        this.paragraphStyle = from.paragraphStyle;
        this.setParagraphProperties(from.maskedParagraphProperties);
        if (from.hasParagraphMergedProperies())
            this.setParagraphMergedProperies(from.getParagraphMergedProperties());
        this.numberingListIndex = from.numberingListIndex;
        this.listLevelIndex = from.listLevelIndex;
        this.tabs = from.tabs.clone();
    }
}


/***/ }),

/***/ 7247:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: function() { return /* binding */ LinkedInterval; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7093);
/* harmony import */ var _devexpress_utils_lib_intervals_const__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7814);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8860);



class LinkedInterval extends _devexpress_utils_lib_intervals_const__WEBPACK_IMPORTED_MODULE_1__.ConstInterval {
    get start() { return this._start.value; }
    get length() { return this._end.value - this._start.value; }
    get end() { return this._end.value; }
    get center() { return (this.start + this.end) / 2; }
    constructor(manager, interval) {
        super();
        this._start = manager.registerPosition(interval.start);
        this._end = manager.registerPosition(interval.end);
    }
    destructor(manager) {
        manager.unregisterPosition(this._start);
        manager.unregisterPosition(this._end);
    }
    equals(obj) {
        return obj && this.start == obj.start && this.end == obj.end;
    }
    getFixedInterval() {
        return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval(this.start, this.length);
    }
    getBoundaryInterval() {
        return new _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__/* .BoundaryInterval */ .e(this.start, this.end);
    }
}


/***/ }),

/***/ 9108:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   L: function() { return /* binding */ Position; }
/* harmony export */ });
class Position {
    constructor(value) {
        this.value = value;
        this.refCount = 0;
    }
    incRefCount() {
        ++this.refCount;
    }
    decRefCount() {
        --this.refCount;
    }
    hasReference() {
        return this.refCount > 0;
    }
}


/***/ }),

/***/ 9250:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  I: function() { return /* binding */ CharacterPropertiesMerger; }
});

// EXTERNAL MODULE: ./src/common/model/character/character-properties.ts
var character_properties = __webpack_require__(1789);
// EXTERNAL MODULE: ./src/common/model/character/character-property-descriptor.ts
var character_property_descriptor = __webpack_require__(6223);
// EXTERNAL MODULE: ./src/common/model/character/enums.ts
var enums = __webpack_require__(8579);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-cell-properties-merger.ts
var table_cell_properties_merger = __webpack_require__(8403);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-properties-merger-base.ts
var table_properties_merger_base = __webpack_require__(5584);
;// CONCATENATED MODULE: ./src/common/model/tables/properties-mergers/table-style-character-properties-merger.ts



class TableStyleCharacterPropertiesMerger extends table_properties_merger_base/* TablePropertiesMergerBase */.y {
    getContainerFromConditionalStyle(condStyle) {
        return condStyle.maskedCharacterProperties;
    }
    canUseValue(props) {
        return !!(props.getUseValue(this.getPropertyMask()));
    }
    getCondTableStyleFormattingListForThisContainer() {
        return table_cell_properties_merger/* TableCellPropertiesMerger */.iU.conditionalTableStyleFormattingPriority;
    }
    actionBeforeDefaultValue() {
        this.result = null;
        return true;
    }
    getNotMergedProperty() {
        return new table_properties_merger_base/* TableMergerNotMergedPropertyResult */.n(false, null);
    }
}
class TableStyleCharacterPropertiesMergerHidden extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.hidden;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseHidden;
    }
}
class TableStyleCharacterPropertiesMergerScript extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.script;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseScript;
    }
}
class TableStyleCharacterPropertiesMergerAllCaps extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.allCaps;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseAllCaps;
    }
}
class TableStyleCharacterPropertiesMergerSmallCaps extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.smallCaps;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseSmallCaps;
    }
}
class TableStyleCharacterPropertiesMergerNoProof extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.noProof;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseNoProof;
    }
}
class TableStyleCharacterPropertiesMergerFontBold extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.fontBold;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseFontBold;
    }
}
class TableStyleCharacterPropertiesMergerFontName extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.fontInfo;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseFontName;
    }
}
class TableStyleCharacterPropertiesMergerShadingInfo extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.shadingInfo;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseShadingInfoIndex;
    }
}
class TableStyleCharacterPropertiesMergerTextColor extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.textColor;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseForeColorIndex;
    }
}
class TableStyleCharacterPropertiesMergerFontSize extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.fontSize;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseDoubleFontSize;
    }
}
class TableStyleCharacterPropertiesMergerFontItalic extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.fontItalic;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseFontItalic;
    }
}
class TableStyleCharacterPropertiesMergerHighlightColor extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.highlightColor;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseStrikeoutColorIndex;
    }
}
class TableStyleCharacterPropertiesMergerStrikeoutColor extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.strikeoutColor;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseStrikeoutColorIndex;
    }
}
class TableStyleCharacterPropertiesMergerUnderlineColor extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.underlineColor;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseUnderlineColorIndex;
    }
}
class TableStyleCharacterPropertiesMergerFontStrikeoutType extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.fontStrikeoutType;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseFontStrikeoutType;
    }
}
class TableStyleCharacterPropertiesMergerFontUnderlineType extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.fontUnderlineType;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseFontUnderlineType;
    }
}
class TableStyleCharacterPropertiesMergerStrikeoutWordsOnly extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.strikeoutWordsOnly;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseStrikeoutWordsOnly;
    }
}
class TableStyleCharacterPropertiesMergerUnderlineWordsOnly extends TableStyleCharacterPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.underlineWordsOnly;
    }
    getPropertyMask() {
        return enums/* CharacterPropertiesMask */.xe.UseUnderlineWordsOnly;
    }
}

// EXTERNAL MODULE: ./src/common/model/properties-merger/properties-merger-base.ts
var properties_merger_base = __webpack_require__(6997);
;// CONCATENATED MODULE: ./src/common/model/properties-merger/character-properties-merger.ts




class CharacterPropertiesMerger extends properties_merger_base/* PropertiesMergerBase */.h {
    constructor() {
        super(new character_properties/* MaskedCharacterProperties */.X(), character_property_descriptor/* CharacterPropertyDescriptor */.oL.ALL_FIELDS);
    }
    mergeCharacterProperties(maskedCharacterProperties) {
        this.mergeAll(maskedCharacterProperties);
    }
    mergeOnlyOwnCharacterProperties(sourceProperties, parentProperties) {
        this.mergeOnlyOwnProperties(sourceProperties, parentProperties);
    }
    mergeMergedCharacterProperties(mergedCharacterProperties) {
        var maskedCharacterProperties = new character_properties/* MaskedCharacterProperties */.X();
        maskedCharacterProperties.copyFrom(mergedCharacterProperties);
        maskedCharacterProperties.setAllUse();
        this.mergeAll(maskedCharacterProperties);
    }
    mergeCharacterStyle(characterStyle) {
        var currentCharacterStyle = characterStyle;
        while (currentCharacterStyle) {
            this.mergeAll(currentCharacterStyle.maskedCharacterProperties);
            currentCharacterStyle = currentCharacterStyle.parent;
        }
    }
    mergeParagraphStyle(paragraphStyle) {
        var currentParagraphStyle = paragraphStyle;
        while (currentParagraphStyle) {
            this.mergeAll(currentParagraphStyle.maskedCharacterProperties);
            currentParagraphStyle = currentParagraphStyle.parent;
        }
    }
    mergeTableStyles(tableCell) {
        const tableStyle = tableCell.parentRow.parentTable.style;
        const fakeContainer = new character_properties/* MaskedCharacterProperties */.X();
        fakeContainer.resetAllUse();
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.hidden, () => new TableStyleCharacterPropertiesMergerHidden().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.script, () => new TableStyleCharacterPropertiesMergerScript().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.allCaps, () => new TableStyleCharacterPropertiesMergerAllCaps().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.smallCaps, () => new TableStyleCharacterPropertiesMergerSmallCaps().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.noProof, () => new TableStyleCharacterPropertiesMergerNoProof().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.bold, () => new TableStyleCharacterPropertiesMergerFontBold().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo, () => new TableStyleCharacterPropertiesMergerFontName().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.size, () => new TableStyleCharacterPropertiesMergerFontSize().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.italic, () => new TableStyleCharacterPropertiesMergerFontItalic().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutType, () => new TableStyleCharacterPropertiesMergerFontStrikeoutType().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineType, () => new TableStyleCharacterPropertiesMergerFontUnderlineType().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutWordsOnly, () => new TableStyleCharacterPropertiesMergerStrikeoutWordsOnly().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineWordsOnly, () => new TableStyleCharacterPropertiesMergerUnderlineWordsOnly().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.textColor, () => new TableStyleCharacterPropertiesMergerTextColor().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.shadingInfo, () => new TableStyleCharacterPropertiesMergerShadingInfo().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.highlightColor, () => new TableStyleCharacterPropertiesMergerHighlightColor().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.strikeoutColor, () => new TableStyleCharacterPropertiesMergerStrikeoutColor().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(character_property_descriptor/* CharacterPropertyDescriptor */.oL.underlineColor, () => new TableStyleCharacterPropertiesMergerUnderlineColor().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
    }
    getMergedProperties() {
        const result = new character_properties/* CharacterProperties */.d();
        result.copyFrom(this.innerProperties);
        return result;
    }
}


/***/ }),

/***/ 8885:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  G: function() { return /* binding */ ParagraphPropertiesMerger; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/enum.js
var utils_enum = __webpack_require__(310);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-cell-properties-merger.ts
var table_cell_properties_merger = __webpack_require__(8403);
// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-properties-merger-base.ts
var table_properties_merger_base = __webpack_require__(5584);
;// CONCATENATED MODULE: ./src/common/model/tables/properties-mergers/table-style-paragraph-properties-merger.ts



class TableStyleParagraphPropertiesMerger extends table_properties_merger_base/* TablePropertiesMergerBase */.y {
    getContainerFromConditionalStyle(condStyle) {
        return condStyle.maskedParagraphProperties;
    }
    canUseValue(props) {
        return !!(props.useValue & this.getPropertyMask());
    }
    getCondTableStyleFormattingListForThisContainer() {
        return table_cell_properties_merger/* TableCellPropertiesMerger */.iU.conditionalTableStyleFormattingPriority;
    }
    actionBeforeDefaultValue() {
        this.result = null;
        return true;
    }
    getNotMergedProperty() {
        return new table_properties_merger_base/* TableMergerNotMergedPropertyResult */.n(false, null);
    }
}
class TableStyleParagraphPropertiesMergerAlignment extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.alignment;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseAlignment;
    }
}
class TableStyleParagraphPropertiesMergerShadingInfo extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.shadingInfo;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseShadingInfoIndex;
    }
}
class TableStyleParagraphPropertiesMergerLeftIndent extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.leftIndent;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseLeftIndent;
    }
}
class TableStyleParagraphPropertiesMergerRightIndent extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.rightIndent;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseRightIndent;
    }
}
class TableStyleParagraphPropertiesMergerTopBorder extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.topBorder;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseTopBorder;
    }
}
class TableStyleParagraphPropertiesMergerKeepWithNext extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.keepWithNext;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseKeepWithNext;
    }
}
class TableStyleParagraphPropertiesMergerOutlineLevel extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.outlineLevel;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseOutlineLevel;
    }
}
class TableStyleParagraphPropertiesMergerSpacingAfter extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.spacingAfter;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseSpacingAfter;
    }
}
class TableStyleParagraphPropertiesMergerLeftBorder extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.leftBorder;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseLeftBorder;
    }
}
class TableStyleParagraphPropertiesMergerSpacingBefore extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.spacingBefore;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseSpacingBefore;
    }
}
class TableStyleParagraphPropertiesMergerRightBorder extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.rightBorder;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseRightBorder;
    }
}
class TableStyleParagraphPropertiesMergerBottomBorder extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.bottomBorder;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseBottomBorder;
    }
}
class TableStyleParagraphPropertiesMergerBetweenBorder extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.betweenBorder;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseBetweenBorder;
    }
}
class TableStyleParagraphPropertiesMergerPageBreakBefore extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.pageBreakBefore;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UsePageBreakBefore;
    }
}
class TableStyleParagraphPropertiesMergerAfterAutoSpacing extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.afterAutoSpacing;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseAfterAutoSpacing;
    }
}
class TableStyleParagraphPropertiesMergerKeepLinesTogether extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.keepLinesTogether;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseKeepLinesTogether;
    }
}
class TableStyleParagraphPropertiesMergerRightToLeft extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.rightToLeft;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseRightToLeft;
    }
}
class TableStyleParagraphPropertiesMergerBeforeAutoSpacing extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.beforeAutoSpacing;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseBeforeAutoSpacing;
    }
}
class TableStyleParagraphPropertiesMergerContextualSpacing extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.contextualSpacing;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseContextualSpacing;
    }
}
class TableStyleParagraphPropertiesMergerWidowOrphanControl extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.widowOrphanControl;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseWidowOrphanControl;
    }
}
class TableStyleParagraphPropertiesMergerSuppressHyphenation extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.suppressHyphenation;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseSuppressHyphenation;
    }
}
class TableStyleParagraphPropertiesMergerSuppressLineNumbers extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.suppressLineNumbers;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseSuppressLineNumbers;
    }
}
class TableStyleParagraphPropertiesMergerFirstLineIndent extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.firstLineIndent;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent;
    }
}
class TableStyleParagraphPropertiesMergerFirstLineIndentType extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.firstLineIndentType;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent;
    }
}
class TableStyleParagraphPropertiesMergerLineSpacing extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.lineSpacing;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing;
    }
}
class TableStyleParagraphPropertiesMergerLineSpacingType extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.lineSpacingType;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing;
    }
}
class TableStyleParagraphPropertiesMergerDivId extends TableStyleParagraphPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.divId;
    }
    getPropertyMask() {
        return paragraph_properties/* ParagraphPropertiesMask */.m_.UseDivId;
    }
}

// EXTERNAL MODULE: ./src/common/model/properties-merger/properties-merger-base.ts
var properties_merger_base = __webpack_require__(6997);
;// CONCATENATED MODULE: ./src/common/model/properties-merger/paragraph-properties-merger.ts





class ParagraphPropertiesMerger extends properties_merger_base/* PropertiesMergerBase */.h {
    constructor() {
        super(new paragraph_properties/* MaskedParagraphProperties */.bq(), ParagraphPropertiesMerger.fields);
    }
    mergeMaskedParagraphProperties(maskedParagraphProperties) {
        this.merge(maskedParagraphProperties);
    }
    mergeOnlyOwnCharacterProperties(sourceProperties, parentProperties) {
        this.mergeOnlyOwnProperties(sourceProperties, parentProperties);
        this.mergeOnlyOwnInternal(sourceProperties, parentProperties, paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent, () => {
            this.innerProperties.firstLineIndent = sourceProperties.firstLineIndent;
            this.innerProperties.firstLineIndentType = sourceProperties.firstLineIndentType;
        }, () => {
            return sourceProperties.firstLineIndent == parentProperties.firstLineIndent &&
                sourceProperties.firstLineIndentType == parentProperties.firstLineIndentType;
        });
        this.mergeOnlyOwnInternal(sourceProperties, parentProperties, paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing, () => {
            this.innerProperties.lineSpacing = sourceProperties.lineSpacing;
            this.innerProperties.lineSpacingType = sourceProperties.lineSpacingType;
        }, () => {
            return sourceProperties.lineSpacing == parentProperties.lineSpacing &&
                sourceProperties.lineSpacingType == parentProperties.lineSpacingType;
        });
    }
    mergeParagraphStyle(paragraphStyle) {
        let currentParagraphStyle = paragraphStyle;
        while (currentParagraphStyle) {
            this.merge(currentParagraphStyle.maskedParagraphProperties);
            currentParagraphStyle = currentParagraphStyle.parent;
        }
    }
    mergeParagraphStyleConsiderNumbering(paragraphStyle, model) {
        let currentParagraphStyle = paragraphStyle;
        while (currentParagraphStyle) {
            this.merge(currentParagraphStyle.maskedParagraphProperties);
            if (currentParagraphStyle.isInList())
                this.merge(currentParagraphStyle.getListLevel(model).getParagraphProperties());
            currentParagraphStyle = currentParagraphStyle.parent;
        }
    }
    mergeTableStyle(tableCell) {
        const tableStyle = tableCell.parentRow.parentTable.style;
        const fakeContainer = new paragraph_properties/* MaskedParagraphProperties */.bq();
        fakeContainer.useValue = paragraph_properties/* ParagraphPropertiesMask */.m_.UseNone;
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.alignment, () => new TableStyleParagraphPropertiesMergerAlignment().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.shadingInfo, () => new TableStyleParagraphPropertiesMergerShadingInfo().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.leftIndent, () => new TableStyleParagraphPropertiesMergerLeftIndent().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightIndent, () => new TableStyleParagraphPropertiesMergerRightIndent().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.topBorder, () => new TableStyleParagraphPropertiesMergerTopBorder().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.keepWithNext, () => new TableStyleParagraphPropertiesMergerKeepWithNext().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.outlineLevel, () => new TableStyleParagraphPropertiesMergerOutlineLevel().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingAfter, () => new TableStyleParagraphPropertiesMergerSpacingAfter().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.leftBorder, () => new TableStyleParagraphPropertiesMergerLeftBorder().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.spacingBefore, () => new TableStyleParagraphPropertiesMergerSpacingBefore().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightBorder, () => new TableStyleParagraphPropertiesMergerRightBorder().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.bottomBorder, () => new TableStyleParagraphPropertiesMergerBottomBorder().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.betweenBorder, () => new TableStyleParagraphPropertiesMergerBetweenBorder().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.pageBreakBefore, () => new TableStyleParagraphPropertiesMergerPageBreakBefore().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.afterAutoSpacing, () => new TableStyleParagraphPropertiesMergerAfterAutoSpacing().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.keepLinesTogether, () => new TableStyleParagraphPropertiesMergerKeepLinesTogether().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.beforeAutoSpacing, () => new TableStyleParagraphPropertiesMergerBeforeAutoSpacing().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.contextualSpacing, () => new TableStyleParagraphPropertiesMergerContextualSpacing().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.widowOrphanControl, () => new TableStyleParagraphPropertiesMergerWidowOrphanControl().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.suppressHyphenation, () => new TableStyleParagraphPropertiesMergerSuppressHyphenation().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.suppressLineNumbers, () => new TableStyleParagraphPropertiesMergerSuppressLineNumbers().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndent, () => new TableStyleParagraphPropertiesMergerFirstLineIndent().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.firstLineIndentType, () => new TableStyleParagraphPropertiesMergerFirstLineIndentType().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacing, () => new TableStyleParagraphPropertiesMergerLineSpacing().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.lineSpacingType, () => new TableStyleParagraphPropertiesMergerLineSpacingType().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.divId, () => new TableStyleParagraphPropertiesMergerDivId().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
        this.mergeTableProperties(paragraph_properties/* ParagraphPropertyDescriptor */.c$.rightToLeft, () => new TableStyleParagraphPropertiesMergerRightToLeft().getProperty(fakeContainer, tableStyle, tableCell.conditionalFormatting, null));
    }
    getMergedProperties() {
        const result = new paragraph_properties/* ParagraphProperties */.Y4();
        result.copyFrom(this.innerProperties);
        return result;
    }
    merge(properties) {
        if (!properties)
            return;
        this.mergeAll(properties);
        this.mergeInternal(properties, paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent, () => {
            this.innerProperties.firstLineIndent = properties.firstLineIndent;
            this.innerProperties.firstLineIndentType = properties.firstLineIndentType;
        });
        this.mergeInternal(properties, paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing, () => {
            this.innerProperties.lineSpacing = properties.lineSpacing;
            this.innerProperties.lineSpacingType = properties.lineSpacingType;
        });
    }
}
ParagraphPropertiesMerger.fields = list.ListUtils.reducedMap(paragraph_properties/* ParagraphPropertyDescriptor */.c$.ALL_FIELDS, (f) => utils_enum/* EnumUtils */.Y.isAnyOf(f.maskValue(), paragraph_properties/* ParagraphPropertiesMask */.m_.UseFirstLineIndent, paragraph_properties/* ParagraphPropertiesMask */.m_.UseLineSpacing) ? null : f);


/***/ }),

/***/ 6997:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ PropertiesMergerBase; }
/* harmony export */ });
class PropertiesMergerBase {
    constructor(initialialProperties, descriptors) {
        this.innerProperties = initialialProperties;
        this.descriptors = descriptors;
    }
    mergeInternal(properties, mask, setValue) {
        if (!this.innerProperties.getUseValue(mask) && properties.getUseValue(mask)) {
            setValue();
            this.innerProperties.setUseValue(mask, true);
        }
    }
    mergeOnlyOwnInternal(properties, parentProperties, mask, setValue, equals) {
        if (!this.innerProperties.getUseValue(mask) && properties.getUseValue(mask)) {
            if (!parentProperties.getUseValue(mask) || !equals()) {
                setValue();
                this.innerProperties.setUseValue(mask, true);
            }
        }
    }
    mergeTableProperties(descriptor, getValue) {
        const mask = descriptor.maskValue();
        if (this.innerProperties.getUseValue(mask))
            return;
        const prop = getValue();
        if (prop === null)
            return;
        descriptor.setProp(this.innerProperties, prop);
        this.innerProperties.setUseValue(mask, true);
    }
    mergeAll(from) {
        if (from) {
            const to = this.innerProperties;
            for (let desc of this.descriptors) {
                const mask = desc.maskValue();
                if (!to.getUseValue(mask) && from.getUseValue(mask)) {
                    desc.setProp(to, desc.getProp(from));
                    to.setUseValue(mask, true);
                }
            }
        }
    }
    mergeOnlyOwnProperties(from, parent) {
        const to = this.innerProperties;
        for (let desc of this.descriptors) {
            const mask = desc.maskValue();
            if (!to.getUseValue(mask) && from.getUseValue(mask)) {
                if (parent.getUseValue(mask) && desc.binaryEquals(desc.getProp(from), desc.getProp(parent)))
                    continue;
                desc.setProp(to, desc.getProp(from));
                to.setUseValue(mask, true);
            }
        }
    }
}


/***/ }),

/***/ 281:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  e: function() { return /* binding */ PasswordHashCodeCalculator; }
});

// EXTERNAL MODULE: ./src/common/utils/number-converter.ts
var number_converter = __webpack_require__(6794);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var string = __webpack_require__(49);
// EXTERNAL MODULE: ./src/common/model/options/document-protection.ts
var document_protection = __webpack_require__(825);
;// CONCATENATED MODULE: ./src/common/model/protection/md5.ts
class MD5 {
    constructor() {
        this._t = [-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417,
            -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691,
            38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734,
            -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979,
            76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606,
            -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551];
    }
    computeHashCore(words) {
        const T = this._t;
        const offset = 0;
        for (let i = 0; i < 16; i++) {
            const offset_i = offset + i;
            const M_offset_i = words[offset_i];
            words[offset_i] = ((((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
                (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00));
        }
        const H = this._hash;
        const M_offset_0 = words[offset + 0];
        const M_offset_1 = words[offset + 1];
        const M_offset_2 = words[offset + 2];
        const M_offset_3 = words[offset + 3];
        const M_offset_4 = words[offset + 4];
        const M_offset_5 = words[offset + 5];
        const M_offset_6 = words[offset + 6];
        const M_offset_7 = words[offset + 7];
        const M_offset_8 = words[offset + 8];
        const M_offset_9 = words[offset + 9];
        const M_offset_10 = words[offset + 10];
        const M_offset_11 = words[offset + 11];
        const M_offset_12 = words[offset + 12];
        const M_offset_13 = words[offset + 13];
        const M_offset_14 = words[offset + 14];
        const M_offset_15 = words[offset + 15];
        let a = H[0];
        let b = H[1];
        let c = H[2];
        let d = H[3];
        a = this.FF(a, b, c, d, M_offset_0, 7, T[0]);
        d = this.FF(d, a, b, c, M_offset_1, 12, T[1]);
        c = this.FF(c, d, a, b, M_offset_2, 17, T[2]);
        b = this.FF(b, c, d, a, M_offset_3, 22, T[3]);
        a = this.FF(a, b, c, d, M_offset_4, 7, T[4]);
        d = this.FF(d, a, b, c, M_offset_5, 12, T[5]);
        c = this.FF(c, d, a, b, M_offset_6, 17, T[6]);
        b = this.FF(b, c, d, a, M_offset_7, 22, T[7]);
        a = this.FF(a, b, c, d, M_offset_8, 7, T[8]);
        d = this.FF(d, a, b, c, M_offset_9, 12, T[9]);
        c = this.FF(c, d, a, b, M_offset_10, 17, T[10]);
        b = this.FF(b, c, d, a, M_offset_11, 22, T[11]);
        a = this.FF(a, b, c, d, M_offset_12, 7, T[12]);
        d = this.FF(d, a, b, c, M_offset_13, 12, T[13]);
        c = this.FF(c, d, a, b, M_offset_14, 17, T[14]);
        b = this.FF(b, c, d, a, M_offset_15, 22, T[15]);
        a = this.GG(a, b, c, d, M_offset_1, 5, T[16]);
        d = this.GG(d, a, b, c, M_offset_6, 9, T[17]);
        c = this.GG(c, d, a, b, M_offset_11, 14, T[18]);
        b = this.GG(b, c, d, a, M_offset_0, 20, T[19]);
        a = this.GG(a, b, c, d, M_offset_5, 5, T[20]);
        d = this.GG(d, a, b, c, M_offset_10, 9, T[21]);
        c = this.GG(c, d, a, b, M_offset_15, 14, T[22]);
        b = this.GG(b, c, d, a, M_offset_4, 20, T[23]);
        a = this.GG(a, b, c, d, M_offset_9, 5, T[24]);
        d = this.GG(d, a, b, c, M_offset_14, 9, T[25]);
        c = this.GG(c, d, a, b, M_offset_3, 14, T[26]);
        b = this.GG(b, c, d, a, M_offset_8, 20, T[27]);
        a = this.GG(a, b, c, d, M_offset_13, 5, T[28]);
        d = this.GG(d, a, b, c, M_offset_2, 9, T[29]);
        c = this.GG(c, d, a, b, M_offset_7, 14, T[30]);
        b = this.GG(b, c, d, a, M_offset_12, 20, T[31]);
        a = this.HH(a, b, c, d, M_offset_5, 4, T[32]);
        d = this.HH(d, a, b, c, M_offset_8, 11, T[33]);
        c = this.HH(c, d, a, b, M_offset_11, 16, T[34]);
        b = this.HH(b, c, d, a, M_offset_14, 23, T[35]);
        a = this.HH(a, b, c, d, M_offset_1, 4, T[36]);
        d = this.HH(d, a, b, c, M_offset_4, 11, T[37]);
        c = this.HH(c, d, a, b, M_offset_7, 16, T[38]);
        b = this.HH(b, c, d, a, M_offset_10, 23, T[39]);
        a = this.HH(a, b, c, d, M_offset_13, 4, T[40]);
        d = this.HH(d, a, b, c, M_offset_0, 11, T[41]);
        c = this.HH(c, d, a, b, M_offset_3, 16, T[42]);
        b = this.HH(b, c, d, a, M_offset_6, 23, T[43]);
        a = this.HH(a, b, c, d, M_offset_9, 4, T[44]);
        d = this.HH(d, a, b, c, M_offset_12, 11, T[45]);
        c = this.HH(c, d, a, b, M_offset_15, 16, T[46]);
        b = this.HH(b, c, d, a, M_offset_2, 23, T[47]);
        a = this.II(a, b, c, d, M_offset_0, 6, T[48]);
        d = this.II(d, a, b, c, M_offset_7, 10, T[49]);
        c = this.II(c, d, a, b, M_offset_14, 15, T[50]);
        b = this.II(b, c, d, a, M_offset_5, 21, T[51]);
        a = this.II(a, b, c, d, M_offset_12, 6, T[52]);
        d = this.II(d, a, b, c, M_offset_3, 10, T[53]);
        c = this.II(c, d, a, b, M_offset_10, 15, T[54]);
        b = this.II(b, c, d, a, M_offset_1, 21, T[55]);
        a = this.II(a, b, c, d, M_offset_8, 6, T[56]);
        d = this.II(d, a, b, c, M_offset_15, 10, T[57]);
        c = this.II(c, d, a, b, M_offset_6, 15, T[58]);
        b = this.II(b, c, d, a, M_offset_13, 21, T[59]);
        a = this.II(a, b, c, d, M_offset_4, 6, T[60]);
        d = this.II(d, a, b, c, M_offset_11, 10, T[61]);
        c = this.II(c, d, a, b, M_offset_2, 15, T[62]);
        b = this.II(b, c, d, a, M_offset_9, 21, T[63]);
        H[0] = (H[0] + a) | 0;
        H[1] = (H[1] + b) | 0;
        H[2] = (H[2] + c) | 0;
        H[3] = (H[3] + d) | 0;
    }
    FF(a, b, c, d, x, s, t) {
        const n = a + ((b & c) | (~b & d)) + x + t;
        return ((n << s) | (n >>> (32 - s))) + b;
    }
    GG(a, b, c, d, x, s, t) {
        const n = a + ((b & d) | (c & ~d)) + x + t;
        return ((n << s) | (n >>> (32 - s))) + b;
    }
    HH(a, b, c, d, x, s, t) {
        const n = a + (b ^ c ^ d) + x + t;
        return ((n << s) | (n >>> (32 - s))) + b;
    }
    II(a, b, c, d, x, s, t) {
        const n = a + (c ^ (b | ~d)) + x + t;
        return ((n << s) | (n >>> (32 - s))) + b;
    }
    resetCache() {
        this._hash = [
            0x67452301, 0xefcdab89,
            0x98badcfe, 0x10325476
        ];
    }
    computeHash(source) {
        this.resetCache();
        const dataWords = source;
        const nBitsTotal = source.length * 4 * 8;
        const nBitsLeft = source.length * 4 * 8;
        dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
        const nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);
        const nBitsTotalL = nBitsTotal;
        dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ((((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |
            (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00));
        dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ((((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |
            (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00));
        this.computeHashCore(dataWords);
        const hash = this._hash;
        for (let i = 0; i < 4; i++) {
            const H_i = hash[i];
            hash[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
                (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
        }
        return hash;
    }
}

;// CONCATENATED MODULE: ./src/common/model/protection/ripemd160.ts
class RIPEMD160 {
    constructor() {
        this._zl = [
            0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
            7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
            3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
            1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
            4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
        ];
        this._zr = [
            5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
            6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
            15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
            8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
            12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
        ];
        this._sl = [
            11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
            7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
            11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
            11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
            9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
        ];
        this._sr = [
            8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
            9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
            9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
            15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
            8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
        ];
        this._hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E];
        this._hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000];
    }
    computeHashCore(M) {
        const offset = 0;
        for (let i = 0; i < 16; i++) {
            const offset_i = offset + i;
            const M_offset_i = M[offset_i];
            M[offset_i] = ((((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
                (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00));
        }
        const H = this._hash;
        const hl = this._hl;
        const hr = this._hr;
        const zl = this._zl;
        const zr = this._zr;
        const sl = this._sl;
        const sr = this._sr;
        let al, bl, cl, dl, el;
        let ar, br, cr, dr, er;
        ar = al = H[0];
        br = bl = H[1];
        cr = cl = H[2];
        dr = dl = H[3];
        er = el = H[4];
        let t;
        for (let i = 0; i < 80; i += 1) {
            t = (al + M[offset + zl[i]]) | 0;
            if (i < 16) {
                t += this.f1(bl, cl, dl) + hl[0];
            }
            else if (i < 32) {
                t += this.f2(bl, cl, dl) + hl[1];
            }
            else if (i < 48) {
                t += this.f3(bl, cl, dl) + hl[2];
            }
            else if (i < 64) {
                t += this.f4(bl, cl, dl) + hl[3];
            }
            else {
                t += this.f5(bl, cl, dl) + hl[4];
            }
            t = t | 0;
            t = this.rotl(t, sl[i]);
            t = (t + el) | 0;
            al = el;
            el = dl;
            dl = this.rotl(cl, 10);
            cl = bl;
            bl = t;
            t = (ar + M[offset + zr[i]]) | 0;
            if (i < 16) {
                t += this.f5(br, cr, dr) + hr[0];
            }
            else if (i < 32) {
                t += this.f4(br, cr, dr) + hr[1];
            }
            else if (i < 48) {
                t += this.f3(br, cr, dr) + hr[2];
            }
            else if (i < 64) {
                t += this.f2(br, cr, dr) + hr[3];
            }
            else {
                t += this.f1(br, cr, dr) + hr[4];
            }
            t = t | 0;
            t = this.rotl(t, sr[i]);
            t = (t + er) | 0;
            ar = er;
            er = dr;
            dr = this.rotl(cr, 10);
            cr = br;
            br = t;
        }
        t = (H[1] + cl + dr) | 0;
        H[1] = (H[2] + dl + er) | 0;
        H[2] = (H[3] + el + ar) | 0;
        H[3] = (H[4] + al + br) | 0;
        H[4] = (H[0] + bl + cr) | 0;
        H[0] = t;
    }
    f1(x, y, z) {
        return ((x) ^ (y) ^ (z));
    }
    f2(x, y, z) {
        return (((x) & (y)) | ((~x) & (z)));
    }
    f3(x, y, z) {
        return (((x) | (~(y))) ^ (z));
    }
    f4(x, y, z) {
        return (((x) & (z)) | ((y) & (~(z))));
    }
    f5(x, y, z) {
        return ((x) ^ ((y) | (~(z))));
    }
    rotl(x, n) {
        return (x << n) | (x >>> (32 - n));
    }
    resetCache() {
        this._hash = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0];
    }
    computeHash(source) {
        this.resetCache();
        const dataWords = source;
        const nBitsTotal = source.length * 4 * 8;
        const nBitsLeft = source.length * 4 * 8;
        dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
        dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ((((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
            (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00));
        const H = this._hash;
        this.computeHashCore(dataWords);
        for (let i = 0; i < 5; i++) {
            const H_i = H[i];
            H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
                (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
        }
        return this._hash;
    }
}

;// CONCATENATED MODULE: ./src/common/model/protection/sha1.ts
class SHA1 {
    computeHashCore(words) {
        const hash = this._hash;
        const offset = 0;
        let temp = [];
        let a = hash[0];
        let b = hash[1];
        let c = hash[2];
        let d = hash[3];
        let e = hash[4];
        for (let i = 0; i < 80; i++) {
            if (i < 16) {
                temp[i] = words[offset + i] | 0;
            }
            else {
                const n = temp[i - 3] ^ temp[i - 8] ^ temp[i - 14] ^ temp[i - 16];
                temp[i] = (n << 1) | (n >>> 31);
            }
            let t = ((a << 5) | (a >>> 27)) + e + temp[i];
            if (i < 20) {
                t += ((b & c) | (~b & d)) + 0x5a827999;
            }
            else if (i < 40) {
                t += (b ^ c ^ d) + 0x6ed9eba1;
            }
            else if (i < 60) {
                t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;
            }
            else {
                t += (b ^ c ^ d) - 0x359d3e2a;
            }
            e = d;
            d = c;
            c = (b << 30) | (b >>> 2);
            b = a;
            a = t;
        }
        hash[0] = (hash[0] + a) | 0;
        hash[1] = (hash[1] + b) | 0;
        hash[2] = (hash[2] + c) | 0;
        hash[3] = (hash[3] + d) | 0;
        hash[4] = (hash[4] + e) | 0;
    }
    resetCache() {
        this._hash = [
            0x67452301, 0xefcdab89,
            0x98badcfe, 0x10325476,
            0xc3d2e1f0
        ];
    }
    computeHash(source) {
        this.resetCache();
        const dataWords = source;
        const nBitsTotal = source.length * 4 * 8;
        const nBitsLeft = source.length * 4 * 8;
        dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
        dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
        dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
        this.computeHashCore(dataWords);
        return this._hash;
    }
}

;// CONCATENATED MODULE: ./src/common/model/protection/sha256.ts
class SHA256 {
    constructor() {
        this._constants = [1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993, -1841331548, -1424204075, -670586216,
            310598401, 607225278, 1426881987, 1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522, 264347078, 604807628,
            770255983, 1249150122, 1555081692, 1996064986, -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585, 113926993,
            338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885,
            -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571,
            1322822218, 1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872, -1866530822, -1538233109, -1090935817,
            -965641998];
    }
    computeHashCore(words) {
        const constants = this._constants;
        const hash = this._hash;
        const temp = [];
        const offset = 0;
        let a = hash[0];
        let b = hash[1];
        let c = hash[2];
        let d = hash[3];
        let e = hash[4];
        let f = hash[5];
        let g = hash[6];
        let h = hash[7];
        for (let i = 0; i < 64; i++) {
            if (i < 16) {
                temp[i] = words[offset + i] | 0;
            }
            else {
                const gamma0x = temp[i - 15];
                const gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^
                    ((gamma0x << 14) | (gamma0x >>> 18)) ^
                    (gamma0x >>> 3);
                const gamma1x = temp[i - 2];
                const gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^
                    ((gamma1x << 13) | (gamma1x >>> 19)) ^
                    (gamma1x >>> 10);
                temp[i] = gamma0 + temp[i - 7] + gamma1 + temp[i - 16];
            }
            const ch = (e & f) ^ (~e & g);
            const maj = (a & b) ^ (a & c) ^ (b & c);
            const sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));
            const sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));
            const t1 = h + sigma1 + ch + constants[i] + temp[i];
            const t2 = sigma0 + maj;
            h = g;
            g = f;
            f = e;
            e = (d + t1) | 0;
            d = c;
            c = b;
            b = a;
            a = (t1 + t2) | 0;
        }
        hash[0] = (hash[0] + a) | 0;
        hash[1] = (hash[1] + b) | 0;
        hash[2] = (hash[2] + c) | 0;
        hash[3] = (hash[3] + d) | 0;
        hash[4] = (hash[4] + e) | 0;
        hash[5] = (hash[5] + f) | 0;
        hash[6] = (hash[6] + g) | 0;
        hash[7] = (hash[7] + h) | 0;
    }
    resetCache() {
        this._hash = [1779033703, -1150833019, 1013904242, -1521486534, 1359893119, -1694144372, 528734635, 1541459225];
    }
    computeHash(source) {
        this.resetCache();
        const dataWords = source;
        const nBitsTotal = source.length * 4 * 8;
        const nBitsLeft = source.length * 4 * 8;
        dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
        dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
        dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
        this.computeHashCore(dataWords);
        return this._hash;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/min-max.js
var min_max = __webpack_require__(6799);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
;// CONCATENATED MODULE: ./src/common/model/protection/sha512.ts


class SHA512 {
    constructor() {
        this.initialize();
    }
    resetCache() {
        this._hash = this.getDefaultCache();
    }
    initialize() {
        this.resetCache();
        this._k = [
            new min_max.MinMaxNumber(3609767458, 1116352408),
            new min_max.MinMaxNumber(602891725, 1899447441),
            new min_max.MinMaxNumber(3964484399, 3049323471),
            new min_max.MinMaxNumber(2173295548, 3921009573),
            new min_max.MinMaxNumber(4081628472, 961987163),
            new min_max.MinMaxNumber(3053834265, 1508970993),
            new min_max.MinMaxNumber(2937671579, 2453635748),
            new min_max.MinMaxNumber(3664609560, 2870763221),
            new min_max.MinMaxNumber(2734883394, 3624381080),
            new min_max.MinMaxNumber(1164996542, 310598401),
            new min_max.MinMaxNumber(1323610764, 607225278),
            new min_max.MinMaxNumber(3590304994, 1426881987),
            new min_max.MinMaxNumber(4068182383, 1925078388),
            new min_max.MinMaxNumber(991336113, 2162078206),
            new min_max.MinMaxNumber(633803317, 2614888103),
            new min_max.MinMaxNumber(3479774868, 3248222580),
            new min_max.MinMaxNumber(2666613458, 3835390401),
            new min_max.MinMaxNumber(944711139, 4022224774),
            new min_max.MinMaxNumber(2341262773, 264347078),
            new min_max.MinMaxNumber(2007800933, 604807628),
            new min_max.MinMaxNumber(1495990901, 770255983),
            new min_max.MinMaxNumber(1856431235, 1249150122),
            new min_max.MinMaxNumber(3175218132, 1555081692),
            new min_max.MinMaxNumber(2198950837, 1996064986),
            new min_max.MinMaxNumber(3999719339, 2554220882),
            new min_max.MinMaxNumber(766784016, 2821834349),
            new min_max.MinMaxNumber(2566594879, 2952996808),
            new min_max.MinMaxNumber(3203337956, 3210313671),
            new min_max.MinMaxNumber(1034457026, 3336571891),
            new min_max.MinMaxNumber(2466948901, 3584528711),
            new min_max.MinMaxNumber(3758326383, 113926993),
            new min_max.MinMaxNumber(168717936, 338241895),
            new min_max.MinMaxNumber(1188179964, 666307205),
            new min_max.MinMaxNumber(1546045734, 773529912),
            new min_max.MinMaxNumber(1522805485, 1294757372),
            new min_max.MinMaxNumber(2643833823, 1396182291),
            new min_max.MinMaxNumber(2343527390, 1695183700),
            new min_max.MinMaxNumber(1014477480, 1986661051),
            new min_max.MinMaxNumber(1206759142, 2177026350),
            new min_max.MinMaxNumber(344077627, 2456956037),
            new min_max.MinMaxNumber(1290863460, 2730485921),
            new min_max.MinMaxNumber(3158454273, 2820302411),
            new min_max.MinMaxNumber(3505952657, 3259730800),
            new min_max.MinMaxNumber(106217008, 3345764771),
            new min_max.MinMaxNumber(3606008344, 3516065817),
            new min_max.MinMaxNumber(1432725776, 3600352804),
            new min_max.MinMaxNumber(1467031594, 4094571909),
            new min_max.MinMaxNumber(851169720, 275423344),
            new min_max.MinMaxNumber(3100823752, 430227734),
            new min_max.MinMaxNumber(1363258195, 506948616),
            new min_max.MinMaxNumber(3750685593, 659060556),
            new min_max.MinMaxNumber(3785050280, 883997877),
            new min_max.MinMaxNumber(3318307427, 958139571),
            new min_max.MinMaxNumber(3812723403, 1322822218),
            new min_max.MinMaxNumber(2003034995, 1537002063),
            new min_max.MinMaxNumber(3602036899, 1747873779),
            new min_max.MinMaxNumber(1575990012, 1955562222),
            new min_max.MinMaxNumber(1125592928, 2024104815),
            new min_max.MinMaxNumber(2716904306, 2227730452),
            new min_max.MinMaxNumber(442776044, 2361852424),
            new min_max.MinMaxNumber(593698344, 2428436474),
            new min_max.MinMaxNumber(3733110249, 2756734187),
            new min_max.MinMaxNumber(2999351573, 3204031479),
            new min_max.MinMaxNumber(3815920427, 3329325298),
            new min_max.MinMaxNumber(3928383900, 3391569614),
            new min_max.MinMaxNumber(566280711, 3515267271),
            new min_max.MinMaxNumber(3454069534, 3940187606),
            new min_max.MinMaxNumber(4000239992, 4118630271),
            new min_max.MinMaxNumber(1914138554, 116418474),
            new min_max.MinMaxNumber(2731055270, 174292421),
            new min_max.MinMaxNumber(3203993006, 289380356),
            new min_max.MinMaxNumber(320620315, 460393269),
            new min_max.MinMaxNumber(587496836, 685471733),
            new min_max.MinMaxNumber(1086792851, 852142971),
            new min_max.MinMaxNumber(365543100, 1017036298),
            new min_max.MinMaxNumber(2618297676, 1126000580),
            new min_max.MinMaxNumber(3409855158, 1288033470),
            new min_max.MinMaxNumber(4234509866, 1501505948),
            new min_max.MinMaxNumber(987167468, 1607167915),
            new min_max.MinMaxNumber(1246189591, 1816402316)
        ];
        this._w = list.ListUtils.initByCallback(80, () => new min_max.MinMaxNumber(undefined, undefined));
    }
    computeHashCore(words) {
        const offset = 0;
        const W = this._w;
        const K = this._k;
        const H = this._hash;
        const H0 = H[0];
        const H1 = H[1];
        const H2 = H[2];
        const H3 = H[3];
        const H4 = H[4];
        const H5 = H[5];
        const H6 = H[6];
        const H7 = H[7];
        let H0h = H0.maxElement;
        let H0l = H0.minElement;
        let H1h = H1.maxElement;
        let H1l = H1.minElement;
        let H2h = H2.maxElement;
        let H2l = H2.minElement;
        let H3h = H3.maxElement;
        let H3l = H3.minElement;
        let H4h = H4.maxElement;
        let H4l = H4.minElement;
        let H5h = H5.maxElement;
        let H5l = H5.minElement;
        let H6h = H6.maxElement;
        let H6l = H6.minElement;
        let H7h = H7.maxElement;
        let H7l = H7.minElement;
        let ah = H0h;
        let al = H0l;
        let bh = H1h;
        let bl = H1l;
        let ch = H2h;
        let cl = H2l;
        let dh = H3h;
        let dl = H3l;
        let eh = H4h;
        let el = H4l;
        let fh = H5h;
        let fl = H5l;
        let gh = H6h;
        let gl = H6l;
        let hh = H7h;
        let hl = H7l;
        for (let i = 0; i < 80; i++) {
            let Wil;
            let Wih;
            const Wi = W[i];
            if (i < 16) {
                Wih = Wi.maxElement = words[offset + i * 2] | 0;
                Wil = Wi.minElement = words[offset + i * 2 + 1] | 0;
            }
            else {
                const gamma0x = W[i - 15];
                const gamma0xh = gamma0x.maxElement;
                const gamma0xl = gamma0x.minElement;
                const gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7);
                const gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25));
                const gamma1x = W[i - 2];
                const gamma1xh = gamma1x.maxElement;
                const gamma1xl = gamma1x.minElement;
                const gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6);
                const gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26));
                const Wi7 = W[i - 7];
                const Wi7h = Wi7.maxElement;
                const Wi7l = Wi7.minElement;
                const Wi16 = W[i - 16];
                const Wi16h = Wi16.maxElement;
                const Wi16l = Wi16.minElement;
                Wil = gamma0l + Wi7l;
                Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0);
                Wil = Wil + gamma1l;
                Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0);
                Wil = Wil + Wi16l;
                Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0);
                Wi.maxElement = Wih;
                Wi.minElement = Wil;
            }
            const chh = (eh & fh) ^ (~eh & gh);
            const chl = (el & fl) ^ (~el & gl);
            const majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
            const majl = (al & bl) ^ (al & cl) ^ (bl & cl);
            const sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
            const sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
            const sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9));
            const sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9));
            const Ki = K[i];
            const Kih = Ki.maxElement;
            const Kil = Ki.minElement;
            let t1l = hl + sigma1l;
            let t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
            t1l = t1l + chl;
            t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
            t1l = t1l + Kil;
            t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0);
            t1l = t1l + Wil;
            t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0);
            const t2l = sigma0l + majl;
            const t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
            hh = gh;
            hl = gl;
            gh = fh;
            gl = fl;
            fh = eh;
            fl = el;
            el = (dl + t1l) | 0;
            eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
            dh = ch;
            dl = cl;
            ch = bh;
            cl = bl;
            bh = ah;
            bl = al;
            al = (t1l + t2l) | 0;
            ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
        }
        H0l = H0.minElement = (H0l + al);
        H0.maxElement = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0));
        H1l = H1.minElement = (H1l + bl);
        H1.maxElement = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0));
        H2l = H2.minElement = (H2l + cl);
        H2.maxElement = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0));
        H3l = H3.minElement = (H3l + dl);
        H3.maxElement = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0));
        H4l = H4.minElement = (H4l + el);
        H4.maxElement = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0));
        H5l = H5.minElement = (H5l + fl);
        H5.maxElement = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0));
        H6l = H6.minElement = (H6l + gl);
        H6.maxElement = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0));
        H7l = H7.minElement = (H7l + hl);
        H7.maxElement = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0));
    }
    getDefaultCache() {
        return [
            new min_max.MinMaxNumber(4089235720, 1779033703),
            new min_max.MinMaxNumber(2227873595, 3144134277),
            new min_max.MinMaxNumber(4271175723, 1013904242),
            new min_max.MinMaxNumber(1595750129, 2773480762),
            new min_max.MinMaxNumber(2917565137, 1359893119),
            new min_max.MinMaxNumber(725511199, 2600822924),
            new min_max.MinMaxNumber(4215389547, 528734635),
            new min_max.MinMaxNumber(327033209, 1541459225),
        ];
    }
    computeHash(source) {
        this.resetCache();
        const dataWords = source;
        const nBitsTotal = source.length * 4 * 8;
        const nBitsLeft = source.length * 4 * 8;
        dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);
        dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);
        dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal;
        this.computeHashCore(dataWords);
        return this.toX32Words(this._hash);
    }
    toX32Words(x64Words) {
        const x64WordsLength = x64Words.length;
        const x32Words = [];
        for (let i = 0; i < x64WordsLength; i++) {
            const x64Word = x64Words[i];
            x32Words.push(x64Word.maxElement);
            x32Words.push(x64Word.minElement);
        }
        return x32Words;
    }
}

;// CONCATENATED MODULE: ./src/common/model/protection/sha384.ts


class SHA384 extends SHA512 {
    constructor() {
        super();
    }
    getDefaultCache() {
        return [
            new min_max.MinMaxNumber(3238371032, 3418070365),
            new min_max.MinMaxNumber(914150663, 1654270250),
            new min_max.MinMaxNumber(812702999, 2438529370),
            new min_max.MinMaxNumber(4144912697, 355462360),
            new min_max.MinMaxNumber(4290775857, 1731405415),
            new min_max.MinMaxNumber(1750603025, 2394180231),
            new min_max.MinMaxNumber(1694076839, 3675008525),
            new min_max.MinMaxNumber(3204075428, 1203062813)
        ];
    }
    computeHash(source) {
        const words = super.computeHash(source);
        words.length -= 16 / 4;
        return words;
    }
}

;// CONCATENATED MODULE: ./src/common/model/protection/password-hash-code-calculator.ts










class PasswordHashCodeCalculator {
    getBytes(val) {
        return new Uint8Array(new Uint32Array([val]).buffer);
    }
    calculateLegacyPasswordHash(password) {
        if (string.StringUtils.isNullOrEmpty(password))
            return null;
        return this.getBytes(this.calculateLegacyPasswordHashInt(password));
    }
    calculateLegacyPasswordHashInt(password) {
        if (string.StringUtils.isNullOrEmpty(password))
            return 0;
        const bytes = this.calculatePasswordBytes(password);
        const high = this.calculateKeyHighWord(bytes);
        const low = this.calculateKeyLowWord(bytes);
        return (((low << 24) & 0xFF000000) | ((low << 8) & 0x00FF0000) | ((high << 8) & 0x0000FF00) | ((high >> 8) & 0x000000FF));
    }
    calculatePasswordHash(password, prefix, hashCount, hashAlgorithmType) {
        const hashAlgorithm = this.createHashAlgorithm(hashAlgorithmType);
        if (hashAlgorithm)
            return this.calculatePasswordHashAfterDetectedAlgoritm(password, prefix, hashCount, hashAlgorithm);
        else {
            const legacyPasswordHash = this.calculateLegacyPasswordHashInt(password);
            return this.concatenate(new Uint8Array(0), legacyPasswordHash);
        }
    }
    generatePasswordPrefix(length) {
        const result = [];
        for (let i = 0; i < length; i++) {
            result[i] = math.MathUtils.getRandomInt(0, 1000);
        }
        return new Uint8Array(result);
    }
    createHashAlgorithm(hashAlgorithmType) {
        switch (hashAlgorithmType) {
            case document_protection/* HashAlgorithmType */.S6.Sha1:
                return new SHA1();
            case document_protection/* HashAlgorithmType */.S6.Sha256:
                return new SHA256();
            case document_protection/* HashAlgorithmType */.S6.Sha384:
                return new SHA384();
            case document_protection/* HashAlgorithmType */.S6.Sha512:
                return new SHA512();
            case document_protection/* HashAlgorithmType */.S6.Md5:
                return new MD5();
            case document_protection/* HashAlgorithmType */.S6.Ripemd160:
                return new RIPEMD160();
            case document_protection/* HashAlgorithmType */.S6.None:
            case document_protection/* HashAlgorithmType */.S6.Mac:
            case document_protection/* HashAlgorithmType */.S6.HMac:
            case document_protection/* HashAlgorithmType */.S6.Ripemd:
            case document_protection/* HashAlgorithmType */.S6.Md2:
            case document_protection/* HashAlgorithmType */.S6.Md4:
            default:
                return null;
        }
    }
    calculatePasswordHashAfterDetectedAlgoritm(password, prefix, hashCount, hashAlgorithm) {
        const legacyPasswordHash = this.calculateLegacyPasswordHashInt(password);
        return this.calculatePasswordHashCore(this.getUnicodeArray(number_converter/* RichNumberConverter */.p.convertToHexBinary(legacyPasswordHash).toUpperCase()), prefix, hashCount, hashAlgorithm);
    }
    getUnicodeArray(base64) {
        let n = base64.length;
        const arr = new Uint8Array(n * 2);
        while (n--) {
            const index = n * 2;
            arr[index] = base64.charCodeAt(n);
            arr[index + 1] = 0;
        }
        return arr;
    }
    calculatePasswordHashCore(legacyPasswordHash, prefix, hashCount, hashAlgorithm) {
        let bytes = this.concatenateArrays(prefix, legacyPasswordHash);
        let wordArray = this.byteArrayToWordArray(bytes);
        for (let i = 0;;) {
            wordArray = hashAlgorithm.computeHash(wordArray);
            if (i < hashCount) {
                wordArray = this.concatenateArray(wordArray, i);
                i++;
            }
            else
                break;
        }
        return new Uint8Array(this.wordArrayToByteArray(wordArray, wordArray.length));
    }
    byteArrayToWordArray(bytes) {
        const result = [];
        for (let i = 0; i < bytes.length; i++)
            result[(i / 4) | 0] |= bytes[i] << (24 - 8 * i);
        return result;
    }
    wordToByteArray(word, length) {
        const bytes = [], xFF = 0xFF;
        if (length > 0)
            bytes.push(word >>> 24);
        if (length > 1)
            bytes.push((word >>> 16) & xFF);
        if (length > 2)
            bytes.push((word >>> 8) & xFF);
        if (length > 3)
            bytes.push(word & xFF);
        return bytes;
    }
    wordArrayToByteArray(wordArray, length) {
        length = wordArray.length * 4;
        const result = [];
        let bytes;
        let i = 0;
        while (length > 0) {
            bytes = this.wordToByteArray(wordArray[i], Math.min(4, length));
            length -= bytes.length;
            result.push(bytes);
            i++;
        }
        return [].concat.apply([], result);
    }
    concatenateArrays(b1, b2) {
        if (b1 == null)
            return b2;
        if (b2 == null)
            return b1;
        const result = new Uint8Array(b1.length + b2.length);
        result.set(b1);
        result.set(b2, b1.length);
        return result;
    }
    concatenate(bytes, num) {
        const countBytes = new Array(4);
        countBytes[3] = ((num & 0xFF000000) >> 24);
        countBytes[2] = ((num & 0x00FF0000) >> 16);
        countBytes[1] = ((num & 0x0000FF00) >> 8);
        countBytes[0] = ((num & 0x000000FF));
        const result = new Uint8Array(bytes.length + countBytes.length);
        result.set(bytes);
        result.set(countBytes, bytes.length);
        return result;
    }
    concatenateArray(wordArray, num) {
        const countBytes = new Array(4);
        countBytes[3] = (num & 0xFF000000) >> 24;
        countBytes[2] = (num & 0x00FF0000) >> 16;
        countBytes[1] = (num & 0x0000FF00) >> 8;
        countBytes[0] = (num & 0x000000FF);
        const newWordArray = this.byteArrayToWordArray(countBytes);
        return wordArray.concat(newWordArray);
    }
    static compareByteArrays(b1, b2) {
        if (b1 === b2)
            return true;
        if (b1 == null || b2 == null)
            return false;
        if (b1.length != b2.length)
            return false;
        const count = b1.length;
        for (let i = 0; i < count; i++)
            if (b1[i] != b2[i])
                return false;
        return true;
    }
    calculatePasswordBytes(password) {
        if (password.length > 15)
            password = password.substr(0, 15);
        const count = password.length;
        const bytes = new Array(count);
        for (let i = 0; i < count; i++) {
            const ch = password.charCodeAt(i);
            if ((ch & 0x00FF) == 0)
                bytes[i] = ch >> 8;
            else
                bytes[i] = ch & 0x00FF;
        }
        return bytes;
    }
    calculateKeyLowWord(bytes) {
        let result = 0;
        const count = bytes.length;
        for (let i = count - 1; i >= 0; i--)
            result = this.processLowWordByte(result, bytes[i]);
        result = this.processLowWordByte(result, count) ^ 0xCE4B;
        return result;
    }
    processLowWordByte(key, b) {
        return ((((key >> 14) & 0x0001) | ((key << 1) & 0x7FFF)) ^ b);
    }
    calculateKeyHighWord(bytes) {
        const count = bytes.length;
        let result = PasswordHashCodeCalculator.initialValues[count - 1];
        for (let i = 0; i < count; i++)
            result = this.processHighWordByte(result, bytes[i], 15 - (count - i));
        return result;
    }
    processHighWordByte(key, b, rowIndex) {
        let mask = 1;
        for (let i = 0; i <= 6; i++, mask <<= 1)
            if ((b & mask) != 0)
                key ^= PasswordHashCodeCalculator.encryptionMatrix[rowIndex][i];
        return key;
    }
}
PasswordHashCodeCalculator.initialValues = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E,
    0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];
PasswordHashCodeCalculator.encryptionMatrix = [
    [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09],
    [0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF],
    [0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0],
    [0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40],
    [0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5],
    [0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A],
    [0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9],
    [0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0],
    [0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC],
    [0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10],
    [0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168],
    [0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C],
    [0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD],
    [0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC],
    [0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4]
];


/***/ }),

/***/ 3245:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D: function() { return /* binding */ ConstRangePermission; },
/* harmony export */   O: function() { return /* binding */ RangePermission; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7093);
/* harmony import */ var _devexpress_utils_lib_intervals_const__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7814);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4170);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49);
/* harmony import */ var _bookmarks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1823);






class RangePermission extends _bookmarks__WEBPACK_IMPORTED_MODULE_5__/* .BookmarkBase */ .lK {
    constructor(positionManager, interval, userName, group) {
        super(positionManager, interval);
        this.userName = userName;
        this.group = group;
    }
    isGranted(settings) {
        return RangePermission.allow(this.group, RangePermission.Everyone_GROUP_NAME) ||
            RangePermission.allow(this.userName, settings.authenticationUserName) ||
            RangePermission.allow(this.userName, settings.authenticationEMail) ||
            RangePermission.allow(this.group, settings.authenticationGroup);
    }
    static allow(permissionValue, settingsValue) {
        return settingsValue != "" && _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_3__.Comparers.stringIgnoreCase(permissionValue, settingsValue) == 0;
    }
    get end() { return this._interval.end - 1; }
    get length() { return this.end - this.start; }
    get interval() { return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval.fromPositions(this.start, this.end); }
    get constRangePermission() {
        return new ConstRangePermission(this, this.userName, this.group);
    }
    getRangePermissionColor(model, documentProtection) {
        if (model.isDocumentProtectionEnabled)
            return documentProtection.rangeHighlightColor;
        let id = this.userName;
        if (!_devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_4__.StringUtils.isNullOrEmpty(this.group))
            id += ':' + this.group;
        let color = model.colorProvider.rangePermissionColors[id];
        if (!color) {
            color = model.colorProvider.getColor();
            model.colorProvider.rangePermissionColors[id] = color;
        }
        return color;
    }
    clone(positionManager) {
        return new RangePermission(positionManager, this.interval, this.userName, this.group);
    }
    equals(obj) {
        return super.equals(obj) && (_devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_4__.StringUtils.isNullOrEmpty(this.userName) ?
            _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_3__.Comparers.stringIgnoreCase(obj.group, this.group) == 0 :
            _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_3__.Comparers.stringIgnoreCase(obj.userName, this.userName) == 0);
    }
}
RangePermission.Everyone_GROUP_NAME = "Everyone".toLowerCase();
RangePermission.Current_GROUP_NAME = "Current User".toLowerCase();
RangePermission.Editors_GROUP_NAME = "Editors".toLowerCase();
RangePermission.Owners_GROUP_NAME = "Owners".toLowerCase();
RangePermission.Contributors_GROUP_NAME = "Contributors".toLowerCase();
RangePermission.Administrators_GROUP_NAME = "Administrators".toLowerCase();
class ConstRangePermission extends _devexpress_utils_lib_intervals_const__WEBPACK_IMPORTED_MODULE_1__.ConstInterval {
    get start() { return this.interval.start; }
    get length() { return this.interval.length; }
    get end() { return this.interval.end; }
    constructor(interval, userName, group) {
        super();
        this.interval = _devexpress_utils_lib_intervals_boundary__WEBPACK_IMPORTED_MODULE_0__/* .BoundaryInterval */ .e.makeByConstInterval(interval);
        this.userName = userName;
        this.group = group;
    }
    equals(obj) {
        return obj && this.userName == obj.userName && this.group == obj.group && this.interval.equals(obj.interval);
    }
    static comparer(a, b) {
        const diff = a.start - b.start;
        return diff == 0 ? (a.userName != b.userName ? _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_3__.Comparers.string(a.userName, b.userName) : _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_3__.Comparers.string(a.group, b.group)) : diff;
    }
}


/***/ }),

/***/ 8845:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  i: function() { return /* binding */ RichUtils; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
;// CONCATENATED MODULE: ./src/common/model/special-characters.ts
class SpecialCharacters {
    constructor() {
        this.Dot = '.';
        this.Colon = ':';
        this.Underscore = '_';
        this.EqualSign = '=';
        this.MiddleDot = '\u00B7';
        this.Dash = '-';
        this.ParagraphMark = String.fromCharCode(0xD);
        this.SectionMark = String.fromCharCode(0x1D);
        this.Hyphen = '\u2010';
        this.TabMark = String.fromCharCode(0x09);
        this.NonBreakingSpace = '\u00A0';
        this.Space = ' ';
        this.EmSpace = '\u2003';
        this.EnSpace = '\u2002';
        this.QmSpace = '\u2005';
        this.LineBreak = '\u000B';
        this.PageBreak = '\u000C';
        this.ColumnBreak = '\u000E';
        this.ObjectMark = '\uFFFC';
        this.FloatingObjectMark = '\u0008';
        this.NumberingListMark = '\uFFFB';
        this.EmDash = '\u2014';
        this.EnDash = '\u2013';
        this.Bullet = '\u2022';
        this.LeftSingleQuote = '\u2018';
        this.RightSingleQuote = '\u2019';
        this.LeftDoubleQuote = '\u201C';
        this.RightDoubleQuote = '\u201D';
        this.PilcrowSign = '\u00B6';
        this.CurrencySign = '\u00A4';
        this.CopyrightSymbol = '\u00A9';
        this.TrademarkSymbol = '\u2122';
        this.OptionalHyphen = '\u00AD';
        this.RegisteredTrademarkSymbol = '\u00AE';
        this.Ellipsis = '\u2026';
        this.OpeningSingleQuotationMark = '\u2018';
        this.ClosingSingleQuotationMark = '\u2019';
        this.OpeningDoubleQuotationMark = '\u201C';
        this.ClosingDoubleQuotationMark = '\u201D';
        this.SeparatorMark = '|';
        this.MSWordBulletMark = String.fromCharCode(0xF0B7);
        this.HiddenLineBreak = String.fromCharCode(0x21B2);
        this.HiddenParagraphMark = String.fromCharCode(0x00B6);
        this.HiddenSpace = String.fromCharCode(0x00B7);
        this.HiddenTabSpace = String.fromCharCode(0x2192);
        this.FieldCodeStartRun = "{";
        this.FieldCodeEndRun = "}";
        this.FieldResultEndRun = ">";
        this.LayoutDependentText = "#";
        this.ETX = '\u0003';
        this.EOT = '\u0004';
    }
    DEBUG_CONVERTER(str) {
        let result = [];
        const len = str.length;
        for (let i = 0; i < len; i++) {
            const char = str[i];
            switch (char) {
                case this.Bullet:
                    result.push("[Bullet]");
                    break;
                case this.TabMark:
                    result.push("[TabMark]");
                    break;
                case this.NonBreakingSpace:
                    result.push("[NonBreakingSpace]");
                    break;
                case this.Space:
                    result.push("[Space]");
                    break;
                case this.ParagraphMark:
                    result.push("¶");
                    break;
                default: result.push(char);
            }
        }
        return result.join("");
    }
}

;// CONCATENATED MODULE: ./src/common/model/rich-utils.ts





class RichUtils {
    static getSelectedParagraphs(intervals, subDocument) {
        intervals = algorithms.IntervalAlgorithms.getMergedIntervals(intervals, true);
        var selectedParagraphs = [];
        for (var i = 0, interval; interval = intervals[i]; i++)
            selectedParagraphs = selectedParagraphs.concat(subDocument.getParagraphsByInterval(interval));
        selectedParagraphs = selectedParagraphs.sort(function (a, b) { return a.startLogPosition.value < b.startLogPosition.value ? -1 : 1; });
        var newSelectedParagraphs = [selectedParagraphs[0]];
        var prevLogPos = newSelectedParagraphs[0].startLogPosition.value;
        for (var i = 1, paragraph; paragraph = selectedParagraphs[i]; i++)
            if (paragraph.startLogPosition.value != prevLogPos) {
                newSelectedParagraphs.push(paragraph);
                prevLogPos = paragraph.startLogPosition.value;
            }
        return { paragraphs: newSelectedParagraphs, intervals: intervals };
    }
    static getIntervalsOfSelectedParagraphs(intervals, subDocument) {
        let result = [];
        const paragraphs = this.getSelectedParagraphs(intervals, subDocument).paragraphs;
        list.ListUtils.forEach(paragraphs, (p) => {
            result.push(fixed.FixedInterval.fromPositions(p.startLogPosition.value, p.getEndPosition()));
        });
        return result;
    }
    static getCopyPasteGuid(guids) {
        return `re-rangecopy&${guids.sguid}&${guids.cguid}`;
    }
    static getCopyPasteGuidLabel(guids) {
        return `id=\"${RichUtils.getCopyPasteGuid(guids)}\"`;
    }
    static getNextPredefinedFontSize(current) {
        var index = search.SearchUtils.normedInterpolationIndexOf(RichUtils.predefinedFontSizes, (a) => a, current);
        return RichUtils.predefinedFontSizes[index + 1] !== undefined ? RichUtils.predefinedFontSizes[index + 1] : (Math.floor(current / 10) * 10 + 10);
    }
    static getPreviousPredefinedFontSize(current) {
        var index = search.SearchUtils.binaryIndexOf(RichUtils.predefinedFontSizes, (a) => a - current);
        if (index > 0)
            return RichUtils.predefinedFontSizes[index - 1];
        if (index < 0)
            index = ~index;
        if (index === 0)
            return Math.max(1, current - 1);
        var predefinedFontsCount = RichUtils.predefinedFontSizes.length;
        if (index < predefinedFontsCount)
            return RichUtils.predefinedFontSizes[index - 1];
        var newValue = current % 10 > 0 ? (Math.floor(current / 10) * 10) : (Math.floor(current / 10) * 10 - 10);
        if (newValue >= RichUtils.predefinedFontSizes[predefinedFontsCount - 1])
            return newValue;
        return RichUtils.predefinedFontSizes[predefinedFontsCount - 1];
    }
    static replaceParagraphEndCharsWithLineBreak(text) {
        return text.replace(/(\r\n)|(\n)|(\r)/g, RichUtils.specialCharacters.LineBreak);
    }
}
RichUtils.isLatinLetter = /\w/;
RichUtils.isWhitespace = /\s/;
RichUtils.isAlphanumeric = /^[\u00C0-\u1FFF\u2C00-\uD7FF\w]+$/;
RichUtils.predefinedFontSizes = [8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72];
RichUtils.minFontSize = 1;
RichUtils.maxFontSize = 600;
RichUtils.specialCharacters = new SpecialCharacters();


/***/ }),

/***/ 6781:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   N: function() { return /* binding */ AnchoredPictureRun; }
/* harmony export */ });
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2986);
/* harmony import */ var _run_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5486);
/* harmony import */ var _run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);



class AnchoredPictureRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .PictureRun */ .oN {
    get anchorInfo() { return this.info.anchorInfo; }
    ;
    set anchorInfo(val) { this.info.anchorInfo = val; }
    ;
    constructor(startOffset, paragraph, charPropsBundle, info, objectId) {
        super(startOffset, paragraph, charPropsBundle, info);
        this.anchoredObjectID = objectId < 0 ? _run_base__WEBPACK_IMPORTED_MODULE_1__/* .RunBase */ .MX.anchoredObjectIdCounter++ : objectId;
    }
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.AnchoredPictureRun;
    }
    clone() {
        return new AnchoredPictureRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle), this.info.clone(), -1);
    }
    cloneToNewSubDocument(subDocument) {
        return new AnchoredPictureRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)), this.info.cloneToNewSubDocument(subDocument), -1);
    }
}


/***/ }),

/***/ 2534:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   s: function() { return /* binding */ AnchoredTextBoxRun; }
/* harmony export */ });
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2986);
/* harmony import */ var _manipulators_picture_manipulator_non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2839);
/* harmony import */ var _run_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5486);
/* harmony import */ var _run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);




class AnchoredTextBoxRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .TextBoxRun */ .Nc {
    constructor(startOffset, paragraph, charPropsBundle, shape, subDocId, size, anchorInfo, objectId, textBoxProperties, containerProperties = new _manipulators_picture_manipulator_non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_3__/* .NonVisualDrawingObjectInfo */ .L()) {
        super(startOffset, paragraph, charPropsBundle, shape, subDocId, textBoxProperties, containerProperties);
        this.size = size;
        this.anchorInfo = anchorInfo;
        this.anchoredObjectID = objectId < 0 ? _run_base__WEBPACK_IMPORTED_MODULE_1__/* .RunBase */ .MX.anchoredObjectIdCounter++ : objectId;
    }
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.AnchoredTextBoxRun;
    }
    clone() {
        return new AnchoredTextBoxRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle), this.shape.clone(), this.subDocId, this.size.clone(), this.anchorInfo.clone(), -1, this.textBoxProperties.clone(), this.containerProperties.clone());
    }
    cloneToNewSubDocument(subDocument) {
        return new AnchoredTextBoxRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)), this.shape.clone(), this.subDocId, this.size.clone(), this.anchorInfo.clone(), -1, this.textBoxProperties.clone());
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.anchorInfo = obj.anchorInfo.clone();
        this.size = obj.size.clone();
    }
}


/***/ }),

/***/ 2442:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: function() { return /* binding */ InlinePictureRun; }
/* harmony export */ });
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2986);
/* harmony import */ var _run_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5486);
/* harmony import */ var _run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);



class InlinePictureRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .PictureRun */ .oN {
    get publicAPIId() { return this.info.publicAPIID; }
    constructor(startOffset, paragraph, charPropsBundle, info) {
        super(startOffset, paragraph, charPropsBundle, info);
        this.info.publicAPIID = this.info.publicAPIID >= 0 ? this.info.publicAPIID : this.getNextPublicAPIId();
    }
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.InlinePictureRun;
    }
    clone() {
        const newInfo = this.info.clone();
        newInfo.publicAPIID = -1;
        return new InlinePictureRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle), newInfo);
    }
    cloneToNewSubDocument(subDocument) {
        const newInfo = this.info.cloneToNewSubDocument(subDocument);
        return new InlinePictureRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)), newInfo);
    }
    getNextPublicAPIId() {
        return InlinePictureRun.nextPublicAPIId++;
    }
}
InlinePictureRun.nextPublicAPIId = 0;


/***/ }),

/***/ 1585:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   f: function() { return /* binding */ InlineTextBoxRun; }
/* harmony export */ });
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2986);
/* harmony import */ var _manipulators_picture_manipulator_non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2839);
/* harmony import */ var _run_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5486);
/* harmony import */ var _run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);




class InlineTextBoxRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .TextBoxRun */ .Nc {
    constructor(startOffset, paragraph, charPropsBundle, shape, subDocId, size, textBoxProperties, containerProperties = new _manipulators_picture_manipulator_non_visual_drawing_object_info__WEBPACK_IMPORTED_MODULE_3__/* .NonVisualDrawingObjectInfo */ .L()) {
        super(startOffset, paragraph, charPropsBundle, shape, subDocId, textBoxProperties, containerProperties);
        this.size = size;
    }
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.InlineTextBoxRun;
    }
    clone() {
        return new InlineTextBoxRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle), this.shape.clone(), this.subDocId, this.size.clone(), this.textBoxProperties.clone());
    }
    cloneToNewSubDocument(subDocument) {
        return new InlineTextBoxRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)), this.shape.clone(), this.subDocId, this.size.clone(), this.textBoxProperties.clone());
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.size = obj.size.clone();
    }
}


/***/ }),

/***/ 5486:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   MX: function() { return /* binding */ RunBase; },
/* harmony export */   Nc: function() { return /* binding */ TextBoxRun; },
/* harmony export */   oN: function() { return /* binding */ PictureRun; },
/* harmony export */   ys: function() { return /* binding */ OneCharRun; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2986);
/* harmony import */ var _properties_merger_character_properties_merger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9250);



class RunBase {
    constructor(startOffset, paragraph, charPropsBundle) {
        this.startOffset = startOffset;
        this.paragraph = paragraph;
        this.characterStyle = charPropsBundle.style;
        this.setCharacterProperties(charPropsBundle.props);
        this.mergedCharacterProperties = null;
    }
    isParagraphOrSectionRun() {
        return false;
    }
    setCharacterProperties(properties) {
        this.maskedCharacterProperties = this.paragraph.subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(properties);
    }
    onCharacterPropertiesChanged() {
        this.resetCharacterMergedProperties();
    }
    hasCharacterMergedProperies() {
        return !!this.mergedCharacterProperties;
    }
    resetCharacterMergedProperties() {
        this.mergedCharacterProperties = null;
    }
    getCharacterMergedProperties() {
        if (!this.mergedCharacterProperties)
            this.mergedCharacterProperties = this.mergeCharacterProperties();
        return this.mergedCharacterProperties;
    }
    mergeCharacterProperties(options) {
        const merger = new _properties_merger_character_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .CharacterPropertiesMerger */ .I();
        merger.mergeCharacterProperties(this.maskedCharacterProperties);
        if (!options || !options.excludeCharacterStyle)
            merger.mergeCharacterStyle(this.characterStyle);
        merger.mergeParagraphStyle(this.paragraph.paragraphStyle);
        const tableCell = this.paragraph.getTableCell();
        if (tableCell)
            merger.mergeTableStyles(tableCell);
        merger.mergeCharacterProperties(this.paragraph.subDocument.documentModel.defaultCharacterProperties);
        return this.paragraph.subDocument.documentModel.cache.mergedCharacterPropertiesCache.getItem(merger.getMergedProperties());
    }
    setCharacterMergedProperies(properties) {
        this.mergedCharacterProperties = this.paragraph.subDocument.documentModel.cache.mergedCharacterPropertiesCache.getItem(properties);
    }
    copyFrom(obj) {
        this.startOffset = obj.startOffset;
        this.paragraph = obj.paragraph;
        this.characterStyle = obj.characterStyle;
        this.maskedCharacterProperties = obj.maskedCharacterProperties;
        this.mergedCharacterProperties = obj.mergedCharacterProperties;
    }
    createSimularity(startOffset, length, paragraph, characterStyle, maskedCharacterProperties) {
        const simularity = this.clone();
        simularity.startOffset = startOffset;
        simularity.paragraph = paragraph;
        simularity.characterStyle = characterStyle;
        simularity.maskedCharacterProperties = maskedCharacterProperties;
        simularity.setLength(length);
        return simularity;
    }
    getCharPropsBundle(model) {
        return new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_1__/* .MaskedCharacterPropertiesBundle */ .Ne(model.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), model.stylesManager.addCharacterStyle(this.characterStyle));
    }
}
RunBase.anchoredObjectIdCounter = 0;
class OneCharRun extends RunBase {
    getLength() {
        return 1;
    }
    setLength(newLength) {
        if (newLength != 1)
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
    incLength(_additionalLength) {
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
    }
}
class PictureRun extends OneCharRun {
    get shape() { return this.info.shape; }
    ;
    set shape(val) { this.info.shape = val; }
    ;
    get size() { return this.info.size; }
    ;
    set size(val) { this.info.size = val; }
    ;
    get cacheInfo() { return this.info.cacheInfo; }
    ;
    constructor(startOffset, paragraph, charPropsBundle, info) {
        super(startOffset, paragraph, charPropsBundle);
        this.info = info;
    }
    getActualSize() {
        return this.info.size.actualSize;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.info = obj.info.clone();
    }
}
class TextBoxRun extends OneCharRun {
    constructor(startOffset, paragraph, charPropsBundle, shape, subDocId, textBoxProperties, containerProperties) {
        super(startOffset, paragraph, charPropsBundle);
        this.shape = shape;
        this.subDocId = subDocId;
        this.textBoxProperties = textBoxProperties;
        this.containerProperties = containerProperties;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.shape = obj.shape.clone();
        this.subDocId = obj.subDocId;
    }
}


/***/ }),

/***/ 3549:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   m: function() { return /* binding */ RunType; }
/* harmony export */ });
var RunType;
(function (RunType) {
    RunType[RunType["Undefined"] = -1] = "Undefined";
    RunType[RunType["TextRun"] = 1] = "TextRun";
    RunType[RunType["ParagraphRun"] = 2] = "ParagraphRun";
    RunType[RunType["SectionRun"] = 3] = "SectionRun";
    RunType[RunType["FieldCodeStartRun"] = 4] = "FieldCodeStartRun";
    RunType[RunType["FieldCodeEndRun"] = 5] = "FieldCodeEndRun";
    RunType[RunType["FieldResultEndRun"] = 6] = "FieldResultEndRun";
    RunType[RunType["AnchoredPictureRun"] = 7] = "AnchoredPictureRun";
    RunType[RunType["AnchoredTextBoxRun"] = 8] = "AnchoredTextBoxRun";
    RunType[RunType["InlinePictureRun"] = 9] = "InlinePictureRun";
    RunType[RunType["InlineTextBoxRun"] = 10] = "InlineTextBoxRun";
    RunType[RunType["LayoutDependentRun"] = 11] = "LayoutDependentRun";
    RunType[RunType["FootNoteRun"] = 12] = "FootNoteRun";
    RunType[RunType["EndNoteRun"] = 13] = "EndNoteRun";
    RunType[RunType["NoteSeparatorRun"] = 14] = "NoteSeparatorRun";
    RunType[RunType["NoteContinuationSeparatorRun"] = 15] = "NoteContinuationSeparatorRun";
})(RunType || (RunType = {}));


/***/ }),

/***/ 4330:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Gt: function() { return /* binding */ LayoutDependentRun; },
/* harmony export */   Ie: function() { return /* binding */ EndNoteRun; },
/* harmony export */   ME: function() { return /* binding */ SectionRun; },
/* harmony export */   Qc: function() { return /* binding */ FootNoteRun; },
/* harmony export */   Qn: function() { return /* binding */ FieldResultEndRun; },
/* harmony export */   YW: function() { return /* binding */ FieldCodeEndRun; },
/* harmony export */   ff: function() { return /* binding */ FieldCodeStartRun; },
/* harmony export */   h_: function() { return /* binding */ NoteSeparatorRun; },
/* harmony export */   hs: function() { return /* binding */ NoteContinuationSeparatorRun; },
/* harmony export */   uu: function() { return /* binding */ ParagraphRun; }
/* harmony export */ });
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2986);
/* harmony import */ var _run_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5486);
/* harmony import */ var _run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);



class SectionRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.SectionRun;
    }
    isParagraphOrSectionRun() {
        return true;
    }
    clone() {
        return new SectionRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new SectionRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}
class ParagraphRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.ParagraphRun;
    }
    isParagraphOrSectionRun() {
        return true;
    }
    clone() {
        return new ParagraphRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new ParagraphRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}
class FieldCodeStartRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.FieldCodeStartRun;
    }
    clone() {
        return new FieldCodeStartRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new FieldCodeStartRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}
class FieldCodeEndRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.FieldCodeEndRun;
    }
    clone() {
        return new FieldCodeEndRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new FieldCodeEndRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}
class FieldResultEndRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.FieldResultEndRun;
    }
    clone() {
        return new FieldResultEndRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new FieldResultEndRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}
class LayoutDependentRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.LayoutDependentRun;
    }
    clone() {
        return new LayoutDependentRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new LayoutDependentRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}
class NoteRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    constructor(startOffset, paragraph, charPropsBundle, noteDocumentId = -1) {
        super(startOffset, paragraph, charPropsBundle);
        this.noteDocumentId = noteDocumentId;
    }
}
class FootNoteRun extends NoteRun {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.FootNoteRun;
    }
    clone() {
        return new FootNoteRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle), this.noteDocumentId);
    }
    cloneToNewSubDocument(subDocument) {
        return new FootNoteRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)), this.noteDocumentId);
    }
}
class EndNoteRun extends NoteRun {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.EndNoteRun;
    }
    clone() {
        return new EndNoteRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle), this.noteDocumentId);
    }
    cloneToNewSubDocument(subDocument) {
        return new EndNoteRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)), this.noteDocumentId);
    }
}
class NoteSeparatorRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.NoteSeparatorRun;
    }
    clone() {
        return new NoteSeparatorRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new NoteSeparatorRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}
class NoteContinuationSeparatorRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .OneCharRun */ .ys {
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.NoteContinuationSeparatorRun;
    }
    clone() {
        return new NoteContinuationSeparatorRun(this.startOffset, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new NoteContinuationSeparatorRun(this.startOffset, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
}


/***/ }),

/***/ 3264:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   h: function() { return /* binding */ TextRun; }
/* harmony export */ });
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2986);
/* harmony import */ var _run_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5486);
/* harmony import */ var _run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);



class TextRun extends _run_base__WEBPACK_IMPORTED_MODULE_1__/* .RunBase */ .MX {
    constructor(startOffset, length, paragraph, charPropsBundle) {
        super(startOffset, paragraph, charPropsBundle);
        this.length = length;
    }
    getLength() {
        return this.length;
    }
    setLength(newLength) {
        this.length = newLength;
    }
    getType() {
        return _run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.TextRun;
    }
    incLength(additionalLength) {
        this.length += additionalLength;
    }
    clone() {
        return new TextRun(this.startOffset, this.length, this.paragraph, new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(this.maskedCharacterProperties, this.characterStyle));
    }
    cloneToNewSubDocument(subDocument) {
        return new TextRun(this.startOffset, this.length, subDocument.getParagraphByPosition(this.paragraph.startLogPosition.value), new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_0__/* .MaskedCharacterPropertiesBundle */ .Ne(subDocument.documentModel.cache.maskedCharacterPropertiesCache.getItem(this.maskedCharacterProperties), subDocument.documentModel.stylesManager.getCharacterStyleByName(this.characterStyle.styleName)));
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.length = obj.length;
    }
}


/***/ }),

/***/ 8311:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ne: function() { return /* binding */ LineNumberingRestartType; },
/* harmony export */   pi: function() { return /* binding */ HeaderFooterType; },
/* harmony export */   tk: function() { return /* binding */ SectionStartType; }
/* harmony export */ });
var SectionStartType;
(function (SectionStartType) {
    SectionStartType[SectionStartType["NextPage"] = 0] = "NextPage";
    SectionStartType[SectionStartType["OddPage"] = 1] = "OddPage";
    SectionStartType[SectionStartType["EvenPage"] = 2] = "EvenPage";
    SectionStartType[SectionStartType["Continuous"] = 3] = "Continuous";
    SectionStartType[SectionStartType["Column"] = 4] = "Column";
})(SectionStartType || (SectionStartType = {}));
var HeaderFooterType;
(function (HeaderFooterType) {
    HeaderFooterType[HeaderFooterType["First"] = 0] = "First";
    HeaderFooterType[HeaderFooterType["Odd"] = 1] = "Odd";
    HeaderFooterType[HeaderFooterType["Even"] = 2] = "Even";
})(HeaderFooterType || (HeaderFooterType = {}));
var LineNumberingRestartType;
(function (LineNumberingRestartType) {
    LineNumberingRestartType[LineNumberingRestartType["NewPage"] = 0] = "NewPage";
    LineNumberingRestartType[LineNumberingRestartType["NewSection"] = 1] = "NewSection";
    LineNumberingRestartType[LineNumberingRestartType["Continuous"] = 2] = "Continuous";
})(LineNumberingRestartType || (LineNumberingRestartType = {}));


/***/ }),

/***/ 4504:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   QC: function() { return /* binding */ SectionHeadersFooters; },
/* harmony export */   kK: function() { return /* binding */ SectionFooters; },
/* harmony export */   yP: function() { return /* binding */ SectionHeaders; }
/* harmony export */ });
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8311);

class SectionHeadersFooters {
    constructor(section) {
        this.indices = {};
        this.section = section;
        this.setObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Even, SectionHeadersFooters.INVALID_INDEX);
        this.setObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Odd, SectionHeadersFooters.INVALID_INDEX);
        this.setObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.First, SectionHeadersFooters.INVALID_INDEX);
    }
    getObject(type) {
        let index = this.getObjectIndex(type);
        return this.getObjectsCache()[index];
    }
    getObjectIndex(type) {
        return this.indices[type];
    }
    setObjectIndex(type, objectIndex) {
        this.indices[type] = objectIndex;
    }
    getActualObject(firstPageOfSection, isEvenPage) {
        let type = SectionHeadersFooters.getActualObjectType(this.section, firstPageOfSection, isEvenPage);
        let index = this.getObjectIndex(type);
        return this.getObjectsCache()[index];
    }
    copyFrom(source) {
        this.indices = {};
        this.setObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Even, source.getObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Even));
        this.setObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Odd, source.getObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Odd));
        this.setObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.First, source.getObjectIndex(_enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.First));
    }
    isLinkedToPrevious(type) {
        const previousSection = this.section.documentModel.getPreviousSection(this.section);
        return previousSection && this.getContainer(previousSection).getObjectIndex(type) === this.getObjectIndex(type);
    }
    canLinkToPrevious() {
        return !!this.section.documentModel.getPreviousSection(this.section);
    }
    static getActualObjectType(section, firstPageOfSection, isEvenPage) {
        if (firstPageOfSection && section.sectionProperties.differentFirstPage)
            return _enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.First;
        return isEvenPage && section.documentModel.differentOddAndEvenPages ? _enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Even : _enums__WEBPACK_IMPORTED_MODULE_0__/* .HeaderFooterType */ .pi.Odd;
    }
    static isLinkedToPrevious(section, headerFooterType) {
        return section.headers.isLinkedToPrevious(headerFooterType) || section.footers.isLinkedToPrevious(headerFooterType);
    }
}
SectionHeadersFooters.INVALID_INDEX = -1;
class SectionHeaders extends SectionHeadersFooters {
    getContainer(section) {
        return section.headers;
    }
    getObjectsCache() {
        return this.section.documentModel.headers;
    }
    clone() {
        let clone = new SectionHeaders(this.section);
        clone.copyFrom(this);
        return clone;
    }
}
class SectionFooters extends SectionHeadersFooters {
    getContainer(section) {
        return section.footers;
    }
    getObjectsCache() {
        return this.section.documentModel.footers;
    }
    clone() {
        let clone = new SectionFooters(this.section);
        clone.copyFrom(this);
        return clone;
    }
}


/***/ }),

/***/ 7501:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: function() { return /* binding */ LineNumberDefaults; },
/* harmony export */   r: function() { return /* binding */ LineNumberingProperties; }
/* harmony export */ });
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8311);

class LineNumberDefaults {
}
LineNumberDefaults.countBy = 0;
LineNumberDefaults.start = 1;
LineNumberDefaults.distance = 360;
LineNumberDefaults.restart = _enums__WEBPACK_IMPORTED_MODULE_0__/* .LineNumberingRestartType */ .Ne.NewPage;
class LineNumberingProperties {
    constructor(countBy = LineNumberDefaults.countBy, start = LineNumberDefaults.start, distance = LineNumberDefaults.distance, restart = LineNumberDefaults.restart) {
        this.countBy = countBy;
        this.start = start;
        this.distance = distance;
        this.restart = restart;
    }
    get isDefined() {
        return this.countBy !== LineNumberDefaults.countBy;
    }
    copyFrom(obj) {
        this.countBy = obj.countBy;
        this.distance = obj.distance;
        this.restart = obj.restart;
        this.start = obj.start;
    }
    clone() {
        const result = new LineNumberingProperties();
        result.copyFrom(this);
        return result;
    }
    equals(obj) {
        return obj &&
            this.countBy === obj.countBy &&
            this.distance === obj.distance &&
            this.restart === obj.restart &&
            this.start === obj.start;
    }
}


/***/ }),

/***/ 6498:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Y: function() { return /* binding */ PaperSizeConverter; },
/* harmony export */   e: function() { return /* binding */ PaperKind; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6353);

var PaperKind;
(function (PaperKind) {
    PaperKind[PaperKind["Custom"] = 0] = "Custom";
    PaperKind[PaperKind["Letter"] = 1] = "Letter";
    PaperKind[PaperKind["LetterSmall"] = 2] = "LetterSmall";
    PaperKind[PaperKind["Tabloid"] = 3] = "Tabloid";
    PaperKind[PaperKind["Ledger"] = 4] = "Ledger";
    PaperKind[PaperKind["Legal"] = 5] = "Legal";
    PaperKind[PaperKind["Statement"] = 6] = "Statement";
    PaperKind[PaperKind["Executive"] = 7] = "Executive";
    PaperKind[PaperKind["A3"] = 8] = "A3";
    PaperKind[PaperKind["A4"] = 9] = "A4";
    PaperKind[PaperKind["A4Small"] = 10] = "A4Small";
    PaperKind[PaperKind["A5"] = 11] = "A5";
    PaperKind[PaperKind["B4"] = 12] = "B4";
    PaperKind[PaperKind["B5"] = 13] = "B5";
    PaperKind[PaperKind["Folio"] = 14] = "Folio";
    PaperKind[PaperKind["Quarto"] = 15] = "Quarto";
    PaperKind[PaperKind["Standard10x14"] = 16] = "Standard10x14";
    PaperKind[PaperKind["Standard11x17"] = 17] = "Standard11x17";
    PaperKind[PaperKind["Note"] = 18] = "Note";
    PaperKind[PaperKind["Number9Envelope"] = 19] = "Number9Envelope";
    PaperKind[PaperKind["Number10Envelope"] = 20] = "Number10Envelope";
    PaperKind[PaperKind["Number11Envelope"] = 21] = "Number11Envelope";
    PaperKind[PaperKind["Number12Envelope"] = 22] = "Number12Envelope";
    PaperKind[PaperKind["Number14Envelope"] = 23] = "Number14Envelope";
    PaperKind[PaperKind["CSheet"] = 24] = "CSheet";
    PaperKind[PaperKind["DSheet"] = 25] = "DSheet";
    PaperKind[PaperKind["ESheet"] = 26] = "ESheet";
    PaperKind[PaperKind["DLEnvelope"] = 27] = "DLEnvelope";
    PaperKind[PaperKind["C5Envelope"] = 28] = "C5Envelope";
    PaperKind[PaperKind["C3Envelope"] = 29] = "C3Envelope";
    PaperKind[PaperKind["C4Envelope"] = 30] = "C4Envelope";
    PaperKind[PaperKind["C6Envelope"] = 31] = "C6Envelope";
    PaperKind[PaperKind["C65Envelope"] = 32] = "C65Envelope";
    PaperKind[PaperKind["B4Envelope"] = 33] = "B4Envelope";
    PaperKind[PaperKind["B5Envelope"] = 34] = "B5Envelope";
    PaperKind[PaperKind["B6Envelope"] = 35] = "B6Envelope";
    PaperKind[PaperKind["ItalyEnvelope"] = 36] = "ItalyEnvelope";
    PaperKind[PaperKind["MonarchEnvelope"] = 37] = "MonarchEnvelope";
    PaperKind[PaperKind["PersonalEnvelope"] = 38] = "PersonalEnvelope";
    PaperKind[PaperKind["USStandardFanfold"] = 39] = "USStandardFanfold";
    PaperKind[PaperKind["GermanStandardFanfold"] = 40] = "GermanStandardFanfold";
    PaperKind[PaperKind["GermanLegalFanfold"] = 41] = "GermanLegalFanfold";
    PaperKind[PaperKind["IsoB4"] = 42] = "IsoB4";
    PaperKind[PaperKind["JapanesePostcard"] = 43] = "JapanesePostcard";
    PaperKind[PaperKind["Standard9x11"] = 44] = "Standard9x11";
    PaperKind[PaperKind["Standard10x11"] = 45] = "Standard10x11";
    PaperKind[PaperKind["Standard15x11"] = 46] = "Standard15x11";
    PaperKind[PaperKind["InviteEnvelope"] = 47] = "InviteEnvelope";
    PaperKind[PaperKind["LetterExtra"] = 50] = "LetterExtra";
    PaperKind[PaperKind["LegalExtra"] = 51] = "LegalExtra";
    PaperKind[PaperKind["TabloidExtra"] = 52] = "TabloidExtra";
    PaperKind[PaperKind["A4Extra"] = 53] = "A4Extra";
    PaperKind[PaperKind["LetterTransverse"] = 54] = "LetterTransverse";
    PaperKind[PaperKind["A4Transverse"] = 55] = "A4Transverse";
    PaperKind[PaperKind["LetterExtraTransverse"] = 56] = "LetterExtraTransverse";
    PaperKind[PaperKind["APlus"] = 57] = "APlus";
    PaperKind[PaperKind["BPlus"] = 58] = "BPlus";
    PaperKind[PaperKind["LetterPlus"] = 59] = "LetterPlus";
    PaperKind[PaperKind["A4Plus"] = 60] = "A4Plus";
    PaperKind[PaperKind["A5Transverse"] = 61] = "A5Transverse";
    PaperKind[PaperKind["B5Transverse"] = 62] = "B5Transverse";
    PaperKind[PaperKind["A3Extra"] = 63] = "A3Extra";
    PaperKind[PaperKind["A5Extra"] = 64] = "A5Extra";
    PaperKind[PaperKind["B5Extra"] = 65] = "B5Extra";
    PaperKind[PaperKind["A2"] = 66] = "A2";
    PaperKind[PaperKind["A3Transverse"] = 67] = "A3Transverse";
    PaperKind[PaperKind["A3ExtraTransverse"] = 68] = "A3ExtraTransverse";
    PaperKind[PaperKind["JapaneseDoublePostcard"] = 69] = "JapaneseDoublePostcard";
    PaperKind[PaperKind["A6"] = 70] = "A6";
    PaperKind[PaperKind["JapaneseEnvelopeKakuNumber2"] = 71] = "JapaneseEnvelopeKakuNumber2";
    PaperKind[PaperKind["JapaneseEnvelopeKakuNumber3"] = 72] = "JapaneseEnvelopeKakuNumber3";
    PaperKind[PaperKind["JapaneseEnvelopeChouNumber3"] = 73] = "JapaneseEnvelopeChouNumber3";
    PaperKind[PaperKind["JapaneseEnvelopeChouNumber4"] = 74] = "JapaneseEnvelopeChouNumber4";
    PaperKind[PaperKind["LetterRotated"] = 75] = "LetterRotated";
    PaperKind[PaperKind["A3Rotated"] = 76] = "A3Rotated";
    PaperKind[PaperKind["A4Rotated"] = 77] = "A4Rotated";
    PaperKind[PaperKind["A5Rotated"] = 78] = "A5Rotated";
    PaperKind[PaperKind["B4JisRotated"] = 79] = "B4JisRotated";
    PaperKind[PaperKind["B5JisRotated"] = 80] = "B5JisRotated";
    PaperKind[PaperKind["JapanesePostcardRotated"] = 81] = "JapanesePostcardRotated";
    PaperKind[PaperKind["JapaneseDoublePostcardRotated"] = 82] = "JapaneseDoublePostcardRotated";
    PaperKind[PaperKind["A6Rotated"] = 83] = "A6Rotated";
    PaperKind[PaperKind["JapaneseEnvelopeKakuNumber2Rotated"] = 84] = "JapaneseEnvelopeKakuNumber2Rotated";
    PaperKind[PaperKind["JapaneseEnvelopeKakuNumber3Rotated"] = 85] = "JapaneseEnvelopeKakuNumber3Rotated";
    PaperKind[PaperKind["JapaneseEnvelopeChouNumber3Rotated"] = 86] = "JapaneseEnvelopeChouNumber3Rotated";
    PaperKind[PaperKind["JapaneseEnvelopeChouNumber4Rotated"] = 87] = "JapaneseEnvelopeChouNumber4Rotated";
    PaperKind[PaperKind["B6Jis"] = 88] = "B6Jis";
    PaperKind[PaperKind["B6JisRotated"] = 89] = "B6JisRotated";
    PaperKind[PaperKind["Standard12x11"] = 90] = "Standard12x11";
    PaperKind[PaperKind["JapaneseEnvelopeYouNumber4"] = 91] = "JapaneseEnvelopeYouNumber4";
    PaperKind[PaperKind["JapaneseEnvelopeYouNumber4Rotated"] = 92] = "JapaneseEnvelopeYouNumber4Rotated";
    PaperKind[PaperKind["Prc16K"] = 93] = "Prc16K";
    PaperKind[PaperKind["Prc32K"] = 94] = "Prc32K";
    PaperKind[PaperKind["Prc32KBig"] = 95] = "Prc32KBig";
    PaperKind[PaperKind["PrcEnvelopeNumber1"] = 96] = "PrcEnvelopeNumber1";
    PaperKind[PaperKind["PrcEnvelopeNumber2"] = 97] = "PrcEnvelopeNumber2";
    PaperKind[PaperKind["PrcEnvelopeNumber3"] = 98] = "PrcEnvelopeNumber3";
    PaperKind[PaperKind["PrcEnvelopeNumber4"] = 99] = "PrcEnvelopeNumber4";
    PaperKind[PaperKind["PrcEnvelopeNumber5"] = 100] = "PrcEnvelopeNumber5";
    PaperKind[PaperKind["PrcEnvelopeNumber6"] = 101] = "PrcEnvelopeNumber6";
    PaperKind[PaperKind["PrcEnvelopeNumber7"] = 102] = "PrcEnvelopeNumber7";
    PaperKind[PaperKind["PrcEnvelopeNumber8"] = 103] = "PrcEnvelopeNumber8";
    PaperKind[PaperKind["PrcEnvelopeNumber9"] = 104] = "PrcEnvelopeNumber9";
    PaperKind[PaperKind["PrcEnvelopeNumber10"] = 105] = "PrcEnvelopeNumber10";
    PaperKind[PaperKind["Prc16KRotated"] = 106] = "Prc16KRotated";
    PaperKind[PaperKind["Prc32KRotated"] = 107] = "Prc32KRotated";
    PaperKind[PaperKind["Prc32KBigRotated"] = 108] = "Prc32KBigRotated";
    PaperKind[PaperKind["PrcEnvelopeNumber1Rotated"] = 109] = "PrcEnvelopeNumber1Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber2Rotated"] = 110] = "PrcEnvelopeNumber2Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber3Rotated"] = 111] = "PrcEnvelopeNumber3Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber4Rotated"] = 112] = "PrcEnvelopeNumber4Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber5Rotated"] = 113] = "PrcEnvelopeNumber5Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber6Rotated"] = 114] = "PrcEnvelopeNumber6Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber7Rotated"] = 115] = "PrcEnvelopeNumber7Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber8Rotated"] = 116] = "PrcEnvelopeNumber8Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber9Rotated"] = 117] = "PrcEnvelopeNumber9Rotated";
    PaperKind[PaperKind["PrcEnvelopeNumber10Rotated"] = 118] = "PrcEnvelopeNumber10Rotated";
})(PaperKind || (PaperKind = {}));
class PaperSizeConverter {
    static calculatePaperSize(paperKind) {
        var result = PaperSizeConverter.paperSizeTable[paperKind];
        return result ? result : PaperSizeConverter.paperSizeTable[PaperKind.Letter];
    }
    static calculatePaperKind(size, defaultValue, tolerance = 0, badSizeDefaultValue = defaultValue) {
        if (size.width == 0 || size.height == 0)
            return badSizeDefaultValue;
        for (const paperKind in PaperSizeConverter.paperSizeTable) {
            if (!Object.prototype.hasOwnProperty.call(PaperSizeConverter.paperSizeTable, paperKind))
                continue;
            const entSize = PaperSizeConverter.paperSizeTable[paperKind];
            if (Math.abs(size.width - entSize.width) <= tolerance && Math.abs(size.height - entSize.height) <= tolerance)
                return parseInt(paperKind);
        }
        return defaultValue;
    }
}
PaperSizeConverter.paperSizeTable = {
    [PaperKind.Letter]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.LetterSmall]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.Tabloid]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(15840, 24480),
    [PaperKind.Ledger]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(24480, 15840),
    [PaperKind.Legal]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 20160),
    [PaperKind.Statement]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(7920, 12240),
    [PaperKind.Executive]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(10440, 15120),
    [PaperKind.A3]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(16839, 23814),
    [PaperKind.A4]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11907, 16839),
    [PaperKind.A4Small]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11907, 16839),
    [PaperKind.A5]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8391, 11907),
    [PaperKind.B4]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(14572, 20639),
    [PaperKind.B5]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(10319, 14571),
    [PaperKind.Folio]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 18720),
    [PaperKind.Quarto]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12189, 15591),
    [PaperKind.Standard10x14]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(14400, 20160),
    [PaperKind.Standard11x17]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(15840, 24480),
    [PaperKind.Note]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.Number9Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5580, 12780),
    [PaperKind.Number10Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5940, 13680),
    [PaperKind.Number11Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6480, 14940),
    [PaperKind.Number12Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6840, 15840),
    [PaperKind.Number14Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(7200, 16560),
    [PaperKind.CSheet]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(24480, 31680),
    [PaperKind.DSheet]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(31680, 48960),
    [PaperKind.ESheet]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(48960, 63360),
    [PaperKind.DLEnvelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6237, 12474),
    [PaperKind.C5Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9185, 12984),
    [PaperKind.C3Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(18369, 25965),
    [PaperKind.C4Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12983, 18369),
    [PaperKind.C6Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6463, 9184),
    [PaperKind.C65Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6463, 12983),
    [PaperKind.B4Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(14173, 20013),
    [PaperKind.B5Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9978, 14173),
    [PaperKind.B6Envelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9978, 7087),
    [PaperKind.ItalyEnvelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6236, 13039),
    [PaperKind.MonarchEnvelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5580, 10800),
    [PaperKind.PersonalEnvelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5220, 9360),
    [PaperKind.USStandardFanfold]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(21420, 15840),
    [PaperKind.GermanStandardFanfold]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 17280),
    [PaperKind.GermanLegalFanfold]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 18720),
    [PaperKind.IsoB4]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(14173, 20013),
    [PaperKind.JapanesePostcard]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5669, 8391),
    [PaperKind.Standard9x11]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12960, 15840),
    [PaperKind.Standard10x11]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(14400, 15840),
    [PaperKind.Standard15x11]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(21600, 15840),
    [PaperKind.InviteEnvelope]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12472, 12472),
    [PaperKind.LetterExtra]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(13680, 17280),
    [PaperKind.LegalExtra]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(13680, 21600),
    [PaperKind.TabloidExtra]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(16834, 25920),
    [PaperKind.A4Extra]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(13349, 18274),
    [PaperKind.LetterTransverse]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.A4Transverse]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11907, 16839),
    [PaperKind.LetterExtraTransverse]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(13680, 17280),
    [PaperKind.APlus]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12869, 20183),
    [PaperKind.BPlus]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(17291, 27609),
    [PaperKind.LetterPlus]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 18274),
    [PaperKind.A4Plus]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11907, 18709),
    [PaperKind.A5Transverse]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8391, 11907),
    [PaperKind.B5Transverse]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(10319, 14571),
    [PaperKind.A3Extra]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(18255, 25228),
    [PaperKind.A5Extra]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9865, 13323),
    [PaperKind.B5Extra]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11395, 15647),
    [PaperKind.A2]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(23811, 33676),
    [PaperKind.A3Transverse]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(16839, 23814),
    [PaperKind.A3ExtraTransverse]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(18255, 25228),
    [PaperKind.JapaneseDoublePostcard]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11339, 8391),
    [PaperKind.A6]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5953, 8391),
    [PaperKind.JapaneseEnvelopeKakuNumber2]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.JapaneseEnvelopeKakuNumber3]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.JapaneseEnvelopeChouNumber3]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.JapaneseEnvelopeChouNumber4]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.LetterRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(15840, 12240),
    [PaperKind.A3Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(23814, 16839),
    [PaperKind.A4Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(16839, 11907),
    [PaperKind.A5Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11907, 8391),
    [PaperKind.B4JisRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(20636, 14570),
    [PaperKind.B5JisRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(14570, 10318),
    [PaperKind.JapanesePostcardRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8391, 5669),
    [PaperKind.JapaneseDoublePostcardRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8391, 11339),
    [PaperKind.A6Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8391, 5953),
    [PaperKind.JapaneseEnvelopeKakuNumber2Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.JapaneseEnvelopeKakuNumber3Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.JapaneseEnvelopeChouNumber3Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.JapaneseEnvelopeChouNumber4Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.B6Jis]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(7257, 10318),
    [PaperKind.B6JisRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(10318, 7257),
    [PaperKind.Standard12x11]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(17280, 15840),
    [PaperKind.JapaneseEnvelopeYouNumber4]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12240, 15840),
    [PaperKind.JapaneseEnvelopeYouNumber4Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(15840, 12240),
    [PaperKind.Prc16K]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8277, 12189),
    [PaperKind.Prc32K]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5499, 8561),
    [PaperKind.Prc32KBig]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5499, 8561),
    [PaperKind.PrcEnvelopeNumber1]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5783, 9354),
    [PaperKind.PrcEnvelopeNumber2]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(5783, 9978),
    [PaperKind.PrcEnvelopeNumber3]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(7087, 9978),
    [PaperKind.PrcEnvelopeNumber4]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6236, 11792),
    [PaperKind.PrcEnvelopeNumber5]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6236, 12472),
    [PaperKind.PrcEnvelopeNumber6]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6803, 13039),
    [PaperKind.PrcEnvelopeNumber7]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9071, 13039),
    [PaperKind.PrcEnvelopeNumber8]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(6803, 17518),
    [PaperKind.PrcEnvelopeNumber9]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12983, 18369),
    [PaperKind.PrcEnvelopeNumber10]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(18369, 25965),
    [PaperKind.Prc16KRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12189, 8277),
    [PaperKind.Prc32KRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8561, 5499),
    [PaperKind.Prc32KBigRotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(8561, 5499),
    [PaperKind.PrcEnvelopeNumber1Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9354, 5783),
    [PaperKind.PrcEnvelopeNumber2Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9978, 5783),
    [PaperKind.PrcEnvelopeNumber3Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(9978, 7087),
    [PaperKind.PrcEnvelopeNumber4Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(11792, 6236),
    [PaperKind.PrcEnvelopeNumber5Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(12472, 6236),
    [PaperKind.PrcEnvelopeNumber6Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(13039, 6803),
    [PaperKind.PrcEnvelopeNumber7Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(13039, 9071),
    [PaperKind.PrcEnvelopeNumber8Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(17518, 6803),
    [PaperKind.PrcEnvelopeNumber9Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(18369, 12983),
    [PaperKind.PrcEnvelopeNumber10Rotated]: new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_0__.Size(25965, 18369),
};


/***/ }),

/***/ 7695:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   G: function() { return /* binding */ SectionColumnProperties; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);

class SectionColumnProperties {
    constructor(width, space) {
        this.width = 0;
        this.space = 0;
        this.width = width;
        this.space = space;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.width == obj.width &&
            this.space == obj.space;
    }
    copyFrom(obj) {
        this.width = obj.width;
        this.space = obj.space;
    }
    clone() {
        return new SectionColumnProperties(this.width, this.space);
    }
    applyConverter(converter) {
        this.width = converter(this.width);
        this.space = converter(this.space);
        return this;
    }
    static equalsColumnsInfoBinary(a, b) {
        return a && b && (a === b || a.length == b.length && _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.allOf2(a, b, (valA, valB) => valA.equals(valB)));
    }
}


/***/ }),

/***/ 8012:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: function() { return /* binding */ SectionProperties; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3604);
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6353);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8311);
/* harmony import */ var _section_column_properties__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7695);
/* harmony import */ var _paper_kind__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6498);
/* harmony import */ var _line_numbering_properties__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7501);
/* harmony import */ var _footnotes_footnote__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3373);








class SectionProperties {
    constructor() {
        this.margins = new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_1__/* .Margins */ .m(1440, 1440, 1440, 1440);
        this.headerOffset = 720;
        this.footerOffset = 720;
        this.columnCount = 1;
        this.space = 720;
        this.equalWidthColumns = true;
        this.columnsInfo = [];
        this.pageSize = new _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_2__.Size(12240, 15840);
        this.startType = _enums__WEBPACK_IMPORTED_MODULE_3__/* .SectionStartType */ .tk.NextPage;
        this.landscape = false;
        this.differentFirstPage = false;
        this.paperKind = _paper_kind__WEBPACK_IMPORTED_MODULE_5__/* .PaperKind */ .e.Letter;
        this.firstPageNumber = -1;
        this.continueNumbering = true;
        this.lineNumbering = new _line_numbering_properties__WEBPACK_IMPORTED_MODULE_6__/* .LineNumberingProperties */ .r();
        this.footNote = _footnotes_footnote__WEBPACK_IMPORTED_MODULE_7__/* .NoteProperties */ .Xy.createDefault();
        this.endNote = _footnotes_footnote__WEBPACK_IMPORTED_MODULE_7__/* .NoteProperties */ .Xy.createDefault();
    }
    static createSimpleSectionProperties(width, height) {
        const simpleSectionProperties = new SectionProperties();
        simpleSectionProperties.margins = new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_1__/* .Margins */ .m(0, 0, 0, 0);
        simpleSectionProperties.pageWidth = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.pixelsToTwips(width);
        simpleSectionProperties.pageHeight = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.pixelsToTwips(height);
        return simpleSectionProperties;
    }
    get marginLeft() { return this.margins.left; }
    ;
    get marginTop() { return this.margins.top; }
    ;
    get marginRight() { return this.margins.right; }
    ;
    get marginBottom() { return this.margins.bottom; }
    ;
    get pageWidth() { return this.pageSize.width; }
    ;
    get pageHeight() { return this.pageSize.height; }
    ;
    set marginLeft(val) { this.margins.left = val; }
    ;
    set marginTop(val) { this.margins.top = val; }
    ;
    set marginRight(val) { this.margins.right = val; }
    ;
    set marginBottom(val) { this.margins.bottom = val; }
    ;
    set pageWidth(val) { this.pageSize.width = val; }
    ;
    set pageHeight(val) { this.pageSize.height = val; }
    ;
    copyFrom(obj) {
        this.columnCount = obj.columnCount;
        if (obj.columnsInfo) {
            this.columnsInfo = [];
            for (var i = 0; i < obj.columnsInfo.length; i++)
                this.columnsInfo.push(new _section_column_properties__WEBPACK_IMPORTED_MODULE_4__/* .SectionColumnProperties */ .G(obj.columnsInfo[i].width, obj.columnsInfo[i].space));
        }
        else
            this.columnsInfo = obj.columnsInfo;
        this.lineNumbering.copyFrom(obj.lineNumbering);
        this.footNote.copyFrom(obj.footNote);
        this.endNote.copyFrom(obj.endNote);
        this.equalWidthColumns = obj.equalWidthColumns;
        this.marginBottom = obj.marginBottom;
        this.marginLeft = obj.marginLeft;
        this.marginRight = obj.marginRight;
        this.marginTop = obj.marginTop;
        this.pageHeight = obj.pageHeight;
        this.pageWidth = obj.pageWidth;
        this.space = obj.space;
        this.startType = obj.startType;
        this.landscape = obj.landscape;
        this.differentFirstPage = obj.differentFirstPage;
        this.headerOffset = obj.headerOffset;
        this.footerOffset = obj.footerOffset;
        this.paperKind = obj.paperKind;
        this.firstPageNumber = obj.firstPageNumber;
        this.continueNumbering = obj.continueNumbering;
    }
    clone() {
        var obj = new SectionProperties();
        obj.copyFrom(this);
        return obj;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.margins.equals(obj.margins) &&
            this.headerOffset == obj.headerOffset &&
            this.footerOffset == obj.footerOffset &&
            this.columnCount == obj.columnCount &&
            this.space == obj.space &&
            this.equalWidthColumns == obj.equalWidthColumns &&
            this.pageSize.equals(obj.pageSize) &&
            this.startType == obj.startType &&
            this.landscape == obj.landscape &&
            this.differentFirstPage == obj.differentFirstPage &&
            _section_column_properties__WEBPACK_IMPORTED_MODULE_4__/* .SectionColumnProperties */ .G.equalsColumnsInfoBinary(this.columnsInfo, obj.columnsInfo) &&
            this.paperKind == obj.paperKind &&
            this.firstPageNumber == obj.firstPageNumber &&
            this.continueNumbering == obj.continueNumbering;
    }
}


/***/ }),

/***/ 1207:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Tc: function() { return /* binding */ SectionPropertyDescriptor; }
/* harmony export */ });
/* unused harmony exports SectionPropertiesMarginLeftDescriptor, SectionPropertiesMarginTopDescriptor, SectionPropertiesMarginRightDescriptor, SectionPropertiesMarginBottomDescriptor, SectionPropertiesFooterOffsetDescriptor, SectionPropertiesHeaderOffsetDescriptor, SectionPropertiesColumnCountDescriptor, SectionPropertiesSpaceDescriptor, SectionPropertiesEqualWidthColumnsDescriptor, SectionPropertiesColumnsInfoDescriptor, SectionPropertiesPageWidthDescriptor, SectionPropertiesPageHeightDescriptor, SectionPropertiesStartTypeDescriptor, SectionPropertiesLandscapeDescriptor, SectionPropertiesDifferentFirstPageDescriptor, SectionPropertiesPaperKindDescriptor */
/* harmony import */ var _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4170);
/* harmony import */ var _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7329);
/* harmony import */ var _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1466);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8311);
/* harmony import */ var _paper_kind__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6498);
/* harmony import */ var _section_column_properties__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7695);






class SectionPropertiesMarginLeftDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 1440;
    }
    setProp(props, newValue) {
        props.marginLeft = newValue;
    }
    getProp(props) {
        return props.marginLeft;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginLeftHistoryItem */ .jg;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.MarginLeft;
    }
}
class SectionPropertiesMarginTopDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 1440;
    }
    setProp(props, newValue) {
        props.marginTop = newValue;
    }
    getProp(props) {
        return props.marginTop;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginTopHistoryItem */ .Ah;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.MarginTop;
    }
}
class SectionPropertiesMarginRightDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 1440;
    }
    setProp(props, newValue) {
        props.marginRight = newValue;
    }
    getProp(props) {
        return props.marginRight;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginRightHistoryItem */ .Hh;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.MarginRight;
    }
}
class SectionPropertiesMarginBottomDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 1440;
    }
    setProp(props, newValue) {
        props.marginBottom = newValue;
    }
    getProp(props) {
        return props.marginBottom;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionMarginBottomHistoryItem */ .bL;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.MarginBottom;
    }
}
class SectionPropertiesFooterOffsetDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 720;
    }
    setProp(props, newValue) {
        props.footerOffset = newValue;
    }
    getProp(props) {
        return props.footerOffset;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionFooterOffsetHistoryItem */ .qt;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.FooterOffset;
    }
}
class SectionPropertiesHeaderOffsetDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 720;
    }
    setProp(props, newValue) {
        props.headerOffset = newValue;
    }
    getProp(props) {
        return props.headerOffset;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionHeaderOffsetHistoryItem */ .Pm;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.HeaderOffset;
    }
}
class SectionPropertiesColumnCountDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 1;
    }
    setProp(props, newValue) {
        props.columnCount = newValue;
    }
    getProp(props) {
        return props.columnCount;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionColumnCountHistoryItem */ .FW;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.ColumnCount;
    }
}
class SectionPropertiesSpaceDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 720;
    }
    setProp(props, newValue) {
        props.space = newValue;
    }
    getProp(props) {
        return props.space;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionSpaceHistoryItem */ .Mb;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.Space;
    }
}
class SectionPropertiesEqualWidthColumnsDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = true;
    }
    setProp(props, newValue) {
        props.equalWidthColumns = newValue;
    }
    getProp(props) {
        return props.equalWidthColumns;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionEqualWidthColumnsHistoryItem */ .Mj;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.EqualWidthColumns;
    }
}
class SectionPropertiesColumnsInfoDescriptor {
    constructor() {
        this.binaryEquals = _section_column_properties__WEBPACK_IMPORTED_MODULE_5__/* .SectionColumnProperties */ .G.equalsColumnsInfoBinary;
        this.defaultValue = [];
    }
    setProp(props, newValue) {
        props.columnsInfo = newValue;
    }
    getProp(props) {
        return props.columnsInfo;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionColumnsInfoHistoryItem */ .oo;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.ColumnsInfo;
    }
}
class SectionPropertiesPageWidthDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 11906;
    }
    setProp(props, newValue) {
        props.pageWidth = newValue;
    }
    getProp(props) {
        return props.pageWidth;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionPageWidthHistoryItem */ .x6;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.PageWidth;
    }
}
class SectionPropertiesPageHeightDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = 16838;
    }
    setProp(props, newValue) {
        props.pageHeight = newValue;
    }
    getProp(props) {
        return props.pageHeight;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionPageHeightHistoryItem */ .lf;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.PageHeight;
    }
}
class SectionPropertiesStartTypeDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = _enums__WEBPACK_IMPORTED_MODULE_3__/* .SectionStartType */ .tk.NextPage;
    }
    setProp(props, newValue) {
        props.startType = newValue;
    }
    getProp(props) {
        return props.startType;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionStartTypeHistoryItem */ .ho;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.StartType;
    }
}
class SectionPropertiesLandscapeDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.landscape = newValue;
    }
    getProp(props) {
        return props.landscape;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionLandscapeHistoryItem */ .V9;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.Landscape;
    }
}
class SectionPropertiesDifferentFirstPageDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = false;
    }
    setProp(props, newValue) {
        props.differentFirstPage = newValue;
    }
    getProp(props) {
        return props.differentFirstPage;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionDifferentFirstPageHistoryItem */ .Wf;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.DifferentFirstPage;
    }
}
class SectionPropertiesPaperKindDescriptor {
    constructor() {
        this.binaryEquals = _devexpress_utils_lib_utils_comparers__WEBPACK_IMPORTED_MODULE_0__.Equals.simpleType;
        this.defaultValue = _paper_kind__WEBPACK_IMPORTED_MODULE_4__/* .PaperKind */ .e.Letter;
    }
    setProp(props, newValue) {
        props.paperKind = newValue;
    }
    getProp(props) {
        return props.paperKind;
    }
    getHistoryItemConstructor() {
        return _history_items_section_properties_history_items__WEBPACK_IMPORTED_MODULE_1__/* .SectionPaperKindHistoryItem */ .ZJ;
    }
    getJSONProperty() {
        return _json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .JSONSectionProperty */ .vl.PaperKind;
    }
}
class SectionPropertyDescriptor {
}
SectionPropertyDescriptor.marginLeft = new SectionPropertiesMarginLeftDescriptor();
SectionPropertyDescriptor.marginTop = new SectionPropertiesMarginTopDescriptor();
SectionPropertyDescriptor.marginRight = new SectionPropertiesMarginRightDescriptor();
SectionPropertyDescriptor.marginBottom = new SectionPropertiesMarginBottomDescriptor();
SectionPropertyDescriptor.footerOffset = new SectionPropertiesFooterOffsetDescriptor();
SectionPropertyDescriptor.headerOffset = new SectionPropertiesHeaderOffsetDescriptor();
SectionPropertyDescriptor.columnCount = new SectionPropertiesColumnCountDescriptor();
SectionPropertyDescriptor.space = new SectionPropertiesSpaceDescriptor();
SectionPropertyDescriptor.equalWidthColumns = new SectionPropertiesEqualWidthColumnsDescriptor();
SectionPropertyDescriptor.columnsInfo = new SectionPropertiesColumnsInfoDescriptor();
SectionPropertyDescriptor.pageWidth = new SectionPropertiesPageWidthDescriptor();
SectionPropertyDescriptor.pageHeight = new SectionPropertiesPageHeightDescriptor();
SectionPropertyDescriptor.startType = new SectionPropertiesStartTypeDescriptor();
SectionPropertyDescriptor.landscape = new SectionPropertiesLandscapeDescriptor();
SectionPropertyDescriptor.differentFirstPage = new SectionPropertiesDifferentFirstPageDescriptor();
SectionPropertyDescriptor.paperKind = new SectionPropertiesPaperKindDescriptor();
SectionPropertyDescriptor.ALL_FIELDS = [
    SectionPropertyDescriptor.marginLeft,
    SectionPropertyDescriptor.marginTop,
    SectionPropertyDescriptor.marginRight,
    SectionPropertyDescriptor.marginBottom,
    SectionPropertyDescriptor.footerOffset,
    SectionPropertyDescriptor.headerOffset,
    SectionPropertyDescriptor.columnCount,
    SectionPropertyDescriptor.space,
    SectionPropertyDescriptor.equalWidthColumns,
    SectionPropertyDescriptor.columnsInfo,
    SectionPropertyDescriptor.pageWidth,
    SectionPropertyDescriptor.pageHeight,
    SectionPropertyDescriptor.startType,
    SectionPropertyDescriptor.landscape,
    SectionPropertyDescriptor.differentFirstPage,
    SectionPropertyDescriptor.paperKind
];


/***/ }),

/***/ 9362:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $: function() { return /* binding */ Section; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2400);
/* harmony import */ var _header_footer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4504);



class Section {
    constructor(documentModel, startLogPosition, length, sectionProperties) {
        this.documentModel = documentModel;
        this.startLogPosition = startLogPosition;
        this.length = length;
        this.sectionProperties = sectionProperties;
        this.headers = new _header_footer__WEBPACK_IMPORTED_MODULE_2__/* .SectionHeaders */ .yP(this);
        this.footers = new _header_footer__WEBPACK_IMPORTED_MODULE_2__/* .SectionFooters */ .kK(this);
    }
    getLength() {
        return this.length;
    }
    setLength(subDocument, newLength) {
        if (subDocument.isMain())
            this.length = newLength;
    }
    getEndPosition() {
        return this.startLogPosition.value + this.length;
    }
    static getPageSectionIndex(layoutPage, sections) {
        const layoutPageStartPosition = layoutPage.getPosition();
        return _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(sections, s => s.startLogPosition.value, layoutPageStartPosition);
    }
    get interval() { return new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(this.startLogPosition.value, this.length); }
    cloneToNewModel(model) {
        return new Section(model, model.mainSubDocument.positionManager.registerPosition(this.startLogPosition.value), this.length, this.sectionProperties.clone());
    }
}


/***/ }),

/***/ 3098:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   bC: function() { return /* binding */ SentenceStructureBuilder; }
/* harmony export */ });
/* unused harmony exports SwitchTextCaseManipulator, WordPart, SentenceWord, Sentence */
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2400);
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49);
/* harmony import */ var _layout_engine_layout_box_iterator_layout_box_iterator_main_sub_document__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1437);
/* harmony import */ var _layout_engine_layout_box_iterator_layout_box_iterator_other_sub_document__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2507);
/* harmony import */ var _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6536);
/* harmony import */ var _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8274);
/* harmony import */ var _rich_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8845);








class SwitchTextCaseManipulator {
    constructor(dispatcher) {
        this.dispatcher = dispatcher;
    }
}
class WordPart {
    constructor(position, text, type) {
        this.position = position;
        this.text = text;
        this.type = type;
    }
    merge(pos, text, type) {
        if (this.position + this.text.length == pos && this.type == type && (type == _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text || type == _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Dash || type == _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Space)) {
            this.text += text;
            return true;
        }
        return false;
    }
    getEndPosition() {
        return this.position + this.text.length;
    }
}
class SentenceWord {
    constructor() {
        this.parts = [];
    }
    getLastWordPart() {
        return this.parts[this.parts.length - 1];
    }
}
class Sentence {
    constructor() {
        this.words = [];
    }
    getLastWord() {
        return this.words[this.words.length - 1];
    }
}
class SentenceStructureBuilder {
    constructor(subDocument, layout, selection, interval) {
        this.currSentence = null;
        this.currWord = null;
        this.currWordPart = null;
        this.isSentenceEnd = false;
        this.isWordEnd = false;
        this.findEndLastSentence = false;
        this.subDocument = subDocument;
        this.layout = layout;
        this.interval = interval;
        this.sentences = [];
        this.selection = selection;
    }
    static getBuilder(layoutFormatterManager, selection, subDocument, interval, splitByInterval) {
        const layout = layoutFormatterManager.layout;
        const builder = new SentenceStructureBuilder(subDocument, layout, selection, interval);
        while (!builder.build())
            layoutFormatterManager.forceFormatPage(layout.validPageCount);
        if (splitByInterval)
            SentenceStructureBuilder.splitPartsByInterval(builder.sentences, interval);
        SentenceStructureBuilder.correctFirstSentence(builder.sentences);
        return builder;
    }
    static correctFirstSentence(sentences) {
        var firstSentenceWords = sentences[0].words;
        for (var startFirstSentenceWordIndex = 0, word; word = firstSentenceWords[startFirstSentenceWordIndex]; startFirstSentenceWordIndex++) {
            var type = word.parts[0].type;
            if (type != _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Space && type != _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.LineBreak && type != _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.TabSpace)
                break;
        }
        if (startFirstSentenceWordIndex > 0 && startFirstSentenceWordIndex < firstSentenceWords.length) {
            var newFirstSentence = new Sentence();
            for (; startFirstSentenceWordIndex > 0; startFirstSentenceWordIndex--)
                newFirstSentence.words.push(firstSentenceWords.shift());
            sentences.unshift(newFirstSentence);
        }
    }
    static splitPartsByInterval(sentences, interval) {
        SentenceStructureBuilder.splitPartsByPosition(sentences, interval.start);
        SentenceStructureBuilder.splitPartsByPosition(sentences, interval.end);
    }
    static splitPartsByPosition(sentences, position) {
        var sentenceIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(sentences, (s) => s.words[0].parts[0].position, position));
        var sentence = sentences[sentenceIndex];
        var wordIndex = Math.max(0, _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_1__.SearchUtils.normedInterpolationIndexOf(sentence.words, (w) => w.parts[0].position, position));
        var sentenceWord = sentence.words[wordIndex];
        for (var wordPartIndex = 0, part; part = sentenceWord.parts[wordPartIndex]; wordPartIndex++) {
            if (part.position > position)
                break;
        }
        wordPartIndex = wordPartIndex > 0 ? wordPartIndex - 1 : 0;
        part = sentenceWord.parts[wordPartIndex];
        if (position > part.position && position < part.position + part.text.length) {
            sentenceWord.parts.splice(wordPartIndex + 1, 0, new WordPart(position, part.text.substr(position - part.position), part.type));
            part.text = part.text.substr(0, position - part.position);
        }
    }
    build() {
        let endPosition = this.subDocument.isMain() ? this.layout.getLastValidPage().getEndPosition() : this.layout.pages[this.selection.pageIndex].getEndPosition();
        if (this.findEndLastSentence) {
            this.interval = _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(this.interval.end, endPosition);
            this.layoutBoxIterator.resetToInterval(this.interval.start, this.interval.end);
            this.collect();
        }
        else {
            if (this.needCalculateMoreLayout())
                return false;
            var firstSentenceStartPosition = this.findFirstSentenceStartPosition();
            this.layoutBoxIterator = this.subDocument.isMain() ? new _layout_engine_layout_box_iterator_layout_box_iterator_main_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBoxIteratorMainSubDocument */ .I(this.subDocument, this.layout, firstSentenceStartPosition, this.interval.end) : new _layout_engine_layout_box_iterator_layout_box_iterator_other_sub_document__WEBPACK_IMPORTED_MODULE_4__/* .LayoutBoxIteratorOtherSubDocument */ .F(this.subDocument, this.layout, firstSentenceStartPosition, this.interval.end, this.selection.pageIndex);
            this.addNewSentence();
            this.addNewWord();
            this.collect();
            this.findEndLastSentence = true;
        }
        if (this.currSentence.words.length == 1 && this.currWord.parts.length == 0) {
            this.sentences.pop();
            return true;
        }
        if (this.interval.end == endPosition)
            return this.layout.isFullyFormatted;
        else
            return this.build();
    }
    collect() {
        while (this.layoutBoxIterator.moveNext(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_5__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_5__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false))) {
            var layoutPos = this.layoutBoxIterator.position;
            if (this.lastBox && this.lastBox === layoutPos.box)
                continue;
            this.lastBox = layoutPos.box;
            switch (layoutPos.box.getType()) {
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text:
                    var textBox = layoutPos.box;
                    for (var charIndex = layoutPos.charOffset, currAbsolutePosition = layoutPos.getLogPosition() + charIndex, char; char = textBox.text[charIndex]; charIndex++, currAbsolutePosition++) {
                        switch (char) {
                            case ".":
                            case ";":
                                if (this.isSentenceEnd) {
                                    this.addNewSentence();
                                    this.addNewWord();
                                    if (this.findEndLastSentence)
                                        return;
                                }
                                this.addNewWordPart(currAbsolutePosition, char, _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text);
                                this.isSentenceEnd = true;
                                break;
                            case "!":
                                var prevChar = _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.getSymbolFromEnd(this.currWordPart.text, 1);
                                if (this.isSentenceEnd && prevChar && prevChar != "!") {
                                    this.addNewSentence();
                                    this.addNewWord();
                                    if (this.findEndLastSentence)
                                        return;
                                }
                                this.addNewWordPart(currAbsolutePosition, char, _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text);
                                this.isSentenceEnd = true;
                                break;
                            case "?":
                                var prevChar = _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_2__.StringUtils.getSymbolFromEnd(this.currWordPart.text, 1);
                                if (this.isSentenceEnd && !(prevChar && prevChar == "!")) {
                                    this.addNewSentence();
                                    this.addNewWord();
                                    if (this.findEndLastSentence)
                                        return;
                                }
                                this.addNewWordPart(currAbsolutePosition, char, _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text);
                                this.isSentenceEnd = true;
                                break;
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.Dot:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.Hyphen:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.TrademarkSymbol:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.CopyrightSymbol:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.RegisteredTrademarkSymbol:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.Ellipsis:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.LeftDoubleQuote:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.LeftSingleQuote:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.RightDoubleQuote:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.RightSingleQuote:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.OpeningDoubleQuotationMark:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.OpeningSingleQuotationMark:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.ClosingDoubleQuotationMark:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.ClosingSingleQuotationMark:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.RegisteredTrademarkSymbol:
                            case _rich_utils__WEBPACK_IMPORTED_MODULE_7__/* .RichUtils */ .i.specialCharacters.RegisteredTrademarkSymbol:
                            case ",":
                            case "@":
                            case "#":
                            case "$":
                            case "%":
                            case "^":
                            case "&":
                            case "*":
                            case "(":
                            case ")":
                            case "=":
                            case "+":
                            case "[":
                            case "]":
                            case "{":
                            case "}":
                            case "\\":
                            case "|":
                            case ":":
                            case "\'":
                            case "\"":
                            case "<":
                            case ">":
                            case "/":
                            case "~":
                            case "`":
                                if (this.isWordEnd)
                                    this.addNewWord();
                                this.addNewWordPart(currAbsolutePosition, char, _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text);
                                this.isWordEnd = true;
                                break;
                            default:
                                if (this.isSentenceEnd) {
                                    this.addNewSentence();
                                    this.addNewWord();
                                    if (this.findEndLastSentence)
                                        return;
                                    this.isSentenceEnd = false;
                                    this.isWordEnd = false;
                                }
                                else if (this.isWordEnd) {
                                    this.addNewWord();
                                    this.isWordEnd = false;
                                }
                                this.addNewWordPart(currAbsolutePosition, char, _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text);
                                break;
                        }
                    }
                    break;
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.SectionMark:
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.ParagraphMark:
                    this.addNewWordPart(layoutPos.getLogPosition(), " ", layoutPos.box.getType());
                    this.addNewSentence();
                    this.addNewWord();
                    if (this.findEndLastSentence)
                        return;
                    this.isSentenceEnd = false;
                    this.isWordEnd = false;
                    break;
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Dash:
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Space:
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.TabSpace:
                    this.addNewWordPart(layoutPos.getLogPosition(), " ", layoutPos.box.getType());
                    this.isWordEnd = true;
                    break;
                default:
                    if (this.currWord.parts.length > 0)
                        this.addNewWord();
                    this.addNewWordPart(layoutPos.getLogPosition(), " ", layoutPos.box.getType());
                    if (!this.isSentenceEnd)
                        this.addNewWord();
                    break;
            }
        }
    }
    addNewSentence() {
        this.currSentence = new Sentence();
        this.sentences.push(this.currSentence);
        this.currWord = null;
        this.currWordPart = null;
    }
    addNewWord() {
        this.currWord = new SentenceWord();
        this.currSentence.words.push(this.currWord);
        this.currWordPart = null;
    }
    addNewWordPart(pos, text, type) {
        var mergeSuccess = this.currWordPart && this.currWordPart.merge(pos, text, type);
        if (!mergeSuccess) {
            this.currWordPart = new WordPart(pos, text, type);
            this.currWord.parts.push(this.currWordPart);
        }
    }
    needCalculateMoreLayout() {
        var lastValidPage = this.subDocument.isMain() ? this.layout.getLastValidPage() : this.layout.pages[this.selection.pageIndex];
        return lastValidPage && (this.subDocument.isMain() ? lastValidPage.getEndPosition() : lastValidPage.otherPageAreas[this.subDocument.id].getEndPosition()) < this.interval.end;
    }
    findFirstSentenceStartPosition() {
        var layoutBoxIterator = this.subDocument.isMain() ? new _layout_engine_layout_box_iterator_layout_box_iterator_main_sub_document__WEBPACK_IMPORTED_MODULE_3__/* .LayoutBoxIteratorMainSubDocument */ .I(this.subDocument, this.layout, 0, this.interval.start) : new _layout_engine_layout_box_iterator_layout_box_iterator_other_sub_document__WEBPACK_IMPORTED_MODULE_4__/* .LayoutBoxIteratorOtherSubDocument */ .F(this.subDocument, this.layout, 0, this.interval.start, this.selection.pageIndex);
        var suspiciousPosition = -1;
        var isFindSentenceStart = false;
        while (layoutBoxIterator.movePrev(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_5__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_5__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(true))) {
            var layoutPos = layoutBoxIterator.position;
            switch (layoutPos.box.getType()) {
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.Text:
                    var textBox = layoutPos.box;
                    var lastIndexBox = layoutPos.charOffset > 0 || layoutPos.getLogPosition() >= this.interval.start ? layoutPos.charOffset : textBox.text.length - 1;
                    for (var charIndex = lastIndexBox, char; char = textBox.text[charIndex]; charIndex--) {
                        switch (char) {
                            case ".":
                            case "!":
                            case "?":
                            case ";":
                                if (layoutPos.getLogPosition() != this.interval.start)
                                    isFindSentenceStart = true;
                                break;
                            default:
                                suspiciousPosition = layoutPos.getLogPosition();
                                break;
                        }
                        if (isFindSentenceStart)
                            break;
                    }
                    break;
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.SectionMark:
                case _layout_main_structures_layout_boxes_layout_box__WEBPACK_IMPORTED_MODULE_6__/* .LayoutBoxType */ .KH.ParagraphMark:
                    layoutBoxIterator.moveNext(new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_5__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false), new _layout_engine_layout_position_creator__WEBPACK_IMPORTED_MODULE_5__/* .LayoutPositionCreatorConflictFlags */ .AU().setDefault(false));
                    suspiciousPosition = layoutBoxIterator.position.getLogPosition();
                    isFindSentenceStart = true;
                    break;
            }
            if (isFindSentenceStart)
                break;
        }
        if (suspiciousPosition < 0)
            return layoutBoxIterator.position.getLogPosition();
        else
            return suspiciousPosition;
    }
}


/***/ }),

/***/ 3428:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: function() { return /* binding */ ShadingInfo; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8679);
/* harmony import */ var _color_color_model_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4837);
/* harmony import */ var _json_importers_json_shading_info_converter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7569);
/* harmony import */ var _shading_pattern__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4570);
/* harmony import */ var _shading_pattern_helper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5989);





class ShadingInfo {
    static get noColor() { return ShadingInfo.createByColor(_color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.noColor); }
    static get auto() { return ShadingInfo.createByColor(_color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.auto); }
    static get nullColor() { return ShadingInfo.createByColor(_color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.makeByColor(0)); }
    constructor(shadingPattern, backColor, foreColor) {
        this.shadingPattern = shadingPattern;
        this.backColor = backColor;
        this.foreColor = foreColor;
    }
    static createByColor(backColor) {
        return new ShadingInfo(_shading_pattern__WEBPACK_IMPORTED_MODULE_3__/* .ShadingPattern */ .d.Clear, backColor, _color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.nullColor);
    }
    static createByFullData(cache, pattern, fill, patternColor) {
        return new ShadingInfo(pattern, cache.getItem(_color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.makeByColor(fill)), cache.getItem(_color_color_model_info__WEBPACK_IMPORTED_MODULE_1__/* .ColorModelInfo */ .k.makeByColor(patternColor)));
    }
    getActualColor(colorProvider) {
        const fill = this.backColor.toRgb(colorProvider);
        const patternColor = this.foreColor.toRgb(colorProvider);
        return _shading_pattern_helper__WEBPACK_IMPORTED_MODULE_4__/* .ShadingHelper */ .k.getActualBackColor(fill, patternColor, this.shadingPattern);
    }
    equals(obj) {
        return obj &&
            this.shadingPattern == obj.shadingPattern &&
            this.backColor.equals(obj.backColor) &&
            this.foreColor.equals(obj.foreColor);
    }
    static equalsBinary(a, b) {
        return a && b && (a === b ||
            a.shadingPattern == b.shadingPattern &&
                a.backColor.equals(b.backColor) &&
                a.foreColor.equals(b.foreColor));
    }
    clone() {
        return new ShadingInfo(this.shadingPattern, this.backColor, this.foreColor);
    }
    calculateHash() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[0] * this.shadingPattern ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[1] * this.backColor.getHashCode() ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[2] * this.foreColor.getHashCode();
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    toJSON() {
        return _json_importers_json_shading_info_converter__WEBPACK_IMPORTED_MODULE_2__/* .JSONShadingInfoConverter */ .Z.convertToJSON(this);
    }
}


/***/ }),

/***/ 5989:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: function() { return /* binding */ ShadingHelper; }
/* harmony export */ });
/* harmony import */ var _color_dx_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1445);
/* harmony import */ var _shading_pattern__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4570);


class ShadingPatternInfo {
    constructor(shadingPatternValue, shadingPattern) {
        this.shadingPatternValue = shadingPatternValue;
        this.shadingPattern = shadingPattern;
    }
}
class ShadingHelper {
    static initStatics() {
        ShadingHelper.infos = [
            new ShadingPatternInfo(0, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Clear),
            new ShadingPatternInfo(25, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct2),
            new ShadingPatternInfo(50, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct5),
            new ShadingPatternInfo(75, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct7),
            new ShadingPatternInfo(100, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct10),
            new ShadingPatternInfo(125, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct12),
            new ShadingPatternInfo(150, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct15),
            new ShadingPatternInfo(175, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct17),
            new ShadingPatternInfo(200, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct20),
            new ShadingPatternInfo(225, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct22),
            new ShadingPatternInfo(250, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct25),
            new ShadingPatternInfo(275, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct27),
            new ShadingPatternInfo(300, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct30),
            new ShadingPatternInfo(325, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct32),
            new ShadingPatternInfo(350, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct35),
            new ShadingPatternInfo(375, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct37),
            new ShadingPatternInfo(400, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct40),
            new ShadingPatternInfo(425, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct42),
            new ShadingPatternInfo(450, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct45),
            new ShadingPatternInfo(475, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct47),
            new ShadingPatternInfo(500, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct50),
            new ShadingPatternInfo(525, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct52),
            new ShadingPatternInfo(550, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct55),
            new ShadingPatternInfo(575, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct57),
            new ShadingPatternInfo(600, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct60),
            new ShadingPatternInfo(625, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct62),
            new ShadingPatternInfo(650, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct65),
            new ShadingPatternInfo(675, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct67),
            new ShadingPatternInfo(700, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct70),
            new ShadingPatternInfo(725, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct72),
            new ShadingPatternInfo(750, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct75),
            new ShadingPatternInfo(775, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct77),
            new ShadingPatternInfo(800, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct80),
            new ShadingPatternInfo(825, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct82),
            new ShadingPatternInfo(850, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct85),
            new ShadingPatternInfo(875, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct87),
            new ShadingPatternInfo(900, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct90),
            new ShadingPatternInfo(925, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct92),
            new ShadingPatternInfo(950, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct95),
            new ShadingPatternInfo(975, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Pct97),
            new ShadingPatternInfo(1000, _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Solid),
        ];
        ShadingHelper.shadingPatterns = {};
        ShadingHelper.patternMultipliers = {};
        for (let info of ShadingHelper.infos) {
            ShadingHelper.shadingPatterns[info.shadingPatternValue] = info.shadingPattern;
            ShadingHelper.patternMultipliers[info.shadingPattern] = info.shadingPatternValue;
        }
        return ShadingHelper.infos;
    }
    static calculateShadingPattern(shadingPatternValue) {
        const value = ShadingHelper.shadingPatterns[shadingPatternValue];
        return value === undefined ? _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Clear : value;
    }
    static getShadingPattern(index) {
        return ShadingHelper.infos[index].shadingPattern;
    }
    static calculateShadingPatternValue(shadingPattern) {
        const value = ShadingHelper.patternMultipliers[shadingPattern];
        return value === undefined ? -1 : value;
    }
    static getActualBackColor(fill, patternColor, pattern) {
        if (pattern == _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Clear || pattern == _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Nil)
            return fill;
        const white = _color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.white;
        if ((_color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.isTransparentOrEmpty(fill) || fill == white) && _color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.isTransparentOrEmpty(patternColor)) {
            const multiplier = ShadingHelper.patternMultipliers[pattern];
            if (multiplier !== undefined) {
                const intensity = 255 * (1000 - multiplier) / 1000;
                return _color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.fromRgb(intensity, intensity, intensity);
            }
        }
        return pattern != _shading_pattern__WEBPACK_IMPORTED_MODULE_1__/* .ShadingPattern */ .d.Solid && !_color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.isTransparentOrEmpty(fill) ? fill : patternColor;
    }
    static getActualBackColorByMultiplier(fill, patternColor, multiplier) {
        const white = _color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.white;
        if ((_color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.isTransparentOrEmpty(fill) || fill == white) && _color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.isTransparentOrEmpty(patternColor)) {
            const intensity = 255 * (1000 - multiplier) / 1000;
            return _color_dx_color__WEBPACK_IMPORTED_MODULE_0__/* .DXColor */ .F.fromRgb(intensity, intensity, intensity);
        }
        return multiplier == 1000 ? fill : patternColor;
    }
}
ShadingHelper.infos = ShadingHelper.initStatics();


/***/ }),

/***/ 4570:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   d: function() { return /* binding */ ShadingPattern; }
/* harmony export */ });
var ShadingPattern;
(function (ShadingPattern) {
    ShadingPattern[ShadingPattern["Clear"] = 0] = "Clear";
    ShadingPattern[ShadingPattern["DiagCross"] = 1] = "DiagCross";
    ShadingPattern[ShadingPattern["DiagStripe"] = 2] = "DiagStripe";
    ShadingPattern[ShadingPattern["HorzCross"] = 3] = "HorzCross";
    ShadingPattern[ShadingPattern["HorzStripe"] = 4] = "HorzStripe";
    ShadingPattern[ShadingPattern["Nil"] = 5] = "Nil";
    ShadingPattern[ShadingPattern["Pct5"] = 6] = "Pct5";
    ShadingPattern[ShadingPattern["Pct10"] = 7] = "Pct10";
    ShadingPattern[ShadingPattern["Pct12"] = 8] = "Pct12";
    ShadingPattern[ShadingPattern["Pct15"] = 9] = "Pct15";
    ShadingPattern[ShadingPattern["Pct20"] = 10] = "Pct20";
    ShadingPattern[ShadingPattern["Pct25"] = 11] = "Pct25";
    ShadingPattern[ShadingPattern["Pct30"] = 12] = "Pct30";
    ShadingPattern[ShadingPattern["Pct35"] = 13] = "Pct35";
    ShadingPattern[ShadingPattern["Pct37"] = 14] = "Pct37";
    ShadingPattern[ShadingPattern["Pct40"] = 15] = "Pct40";
    ShadingPattern[ShadingPattern["Pct45"] = 16] = "Pct45";
    ShadingPattern[ShadingPattern["Pct50"] = 17] = "Pct50";
    ShadingPattern[ShadingPattern["Pct55"] = 18] = "Pct55";
    ShadingPattern[ShadingPattern["Pct60"] = 19] = "Pct60";
    ShadingPattern[ShadingPattern["Pct62"] = 20] = "Pct62";
    ShadingPattern[ShadingPattern["Pct65"] = 21] = "Pct65";
    ShadingPattern[ShadingPattern["Pct70"] = 22] = "Pct70";
    ShadingPattern[ShadingPattern["Pct75"] = 23] = "Pct75";
    ShadingPattern[ShadingPattern["Pct80"] = 24] = "Pct80";
    ShadingPattern[ShadingPattern["Pct85"] = 25] = "Pct85";
    ShadingPattern[ShadingPattern["Pct87"] = 26] = "Pct87";
    ShadingPattern[ShadingPattern["Pct90"] = 27] = "Pct90";
    ShadingPattern[ShadingPattern["Pct95"] = 28] = "Pct95";
    ShadingPattern[ShadingPattern["ReverseDiagStripe"] = 29] = "ReverseDiagStripe";
    ShadingPattern[ShadingPattern["Solid"] = 30] = "Solid";
    ShadingPattern[ShadingPattern["ThinDiagCross"] = 31] = "ThinDiagCross";
    ShadingPattern[ShadingPattern["ThinDiagStripe"] = 32] = "ThinDiagStripe";
    ShadingPattern[ShadingPattern["ThinHorzCross"] = 33] = "ThinHorzCross";
    ShadingPattern[ShadingPattern["ThinHorzStripe"] = 34] = "ThinHorzStripe";
    ShadingPattern[ShadingPattern["ThinReverseDiagStripe"] = 35] = "ThinReverseDiagStripe";
    ShadingPattern[ShadingPattern["ThinVertStripe"] = 36] = "ThinVertStripe";
    ShadingPattern[ShadingPattern["VertStripe"] = 37] = "VertStripe";
    ShadingPattern[ShadingPattern["Pct2"] = 38] = "Pct2";
    ShadingPattern[ShadingPattern["Pct7"] = 39] = "Pct7";
    ShadingPattern[ShadingPattern["Pct17"] = 40] = "Pct17";
    ShadingPattern[ShadingPattern["Pct22"] = 41] = "Pct22";
    ShadingPattern[ShadingPattern["Pct27"] = 42] = "Pct27";
    ShadingPattern[ShadingPattern["Pct32"] = 43] = "Pct32";
    ShadingPattern[ShadingPattern["Pct42"] = 44] = "Pct42";
    ShadingPattern[ShadingPattern["Pct47"] = 45] = "Pct47";
    ShadingPattern[ShadingPattern["Pct52"] = 46] = "Pct52";
    ShadingPattern[ShadingPattern["Pct57"] = 47] = "Pct57";
    ShadingPattern[ShadingPattern["Pct67"] = 48] = "Pct67";
    ShadingPattern[ShadingPattern["Pct72"] = 49] = "Pct72";
    ShadingPattern[ShadingPattern["Pct77"] = 50] = "Pct77";
    ShadingPattern[ShadingPattern["Pct82"] = 51] = "Pct82";
    ShadingPattern[ShadingPattern["Pct92"] = 52] = "Pct92";
    ShadingPattern[ShadingPattern["Pct97"] = 53] = "Pct97";
})(ShadingPattern || (ShadingPattern = {}));


/***/ }),

/***/ 169:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   b: function() { return /* binding */ Shape; }
/* harmony export */ });
/* harmony import */ var _color_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7217);

class Shape {
    constructor(fillColor = _color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.NO_COLOR, outlineColor = _color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.NO_COLOR, outlineWidth = 0) {
        this.fillColor = _color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.NO_COLOR;
        this.outlineColor = _color_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorHelper */ .v.NO_COLOR;
        this.outlineWidth = 0;
        this.fillColor = fillColor;
        this.outlineColor = outlineColor;
        this.outlineWidth = outlineWidth;
    }
    clone() {
        return new Shape(this.fillColor, this.outlineColor, this.outlineWidth);
    }
    copyFrom(obj) {
        this.fillColor = obj.fillColor;
        this.outlineColor = obj.outlineColor;
        this.outlineWidth = obj.outlineWidth;
    }
    applyConverter(converter) {
        this.outlineWidth = converter(this.outlineWidth);
        return this;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.fillColor == obj.fillColor &&
            this.outlineColor == obj.outlineColor &&
            this.outlineWidth == obj.outlineWidth;
    }
}


/***/ }),

/***/ 1592:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   _: function() { return /* binding */ StyleBase; }
/* harmony export */ });
class StyleBase {
    constructor(styleName, localizedName, deleted, hidden, semihidden, isDefault, base64EncodedImage, id) {
        this.styleName = styleName;
        this.deleted = deleted;
        this.localizedName = localizedName;
        this.hidden = hidden;
        this.semihidden = semihidden;
        this.isDefault = isDefault;
        this.base64EncodedImage = base64EncodedImage ? base64EncodedImage : null;
        this.id = id;
    }
    equalsByName(obj) {
        return this.styleName == obj.styleName;
    }
}


/***/ }),

/***/ 396:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  D: function() { return /* binding */ StylesManager; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/string.js
var string = __webpack_require__(2866);
// EXTERNAL MODULE: ./src/common/model/caches/caches.ts + 12 modules
var caches = __webpack_require__(429);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/font-info-cache.ts + 1 modules
var font_info_cache = __webpack_require__(9467);
// EXTERNAL MODULE: ./src/common/model/character/character-style.ts
var character_style = __webpack_require__(9915);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-style-enums.ts
var json_style_enums = __webpack_require__(3957);
// EXTERNAL MODULE: ./src/common/model/json/importers/json-tab-converter.ts
var json_tab_converter = __webpack_require__(927);
// EXTERNAL MODULE: ./src/common/model/json/importers/table/json-table-conditional-style-converter.ts
var json_table_conditional_style_converter = __webpack_require__(6821);
// EXTERNAL MODULE: ./src/common/model/json/web-caches-exporter.ts + 6 modules
var web_caches_exporter = __webpack_require__(2259);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
// EXTERNAL MODULE: ./src/common/model/style-base.ts
var style_base = __webpack_require__(1592);
;// CONCATENATED MODULE: ./src/common/model/tables/styles/table-cell-style.ts

class TableCellStyle extends style_base/* StyleBase */._ {
    constructor(styleName, localizedName, deleted, hidden, semihidden, isDefault, tableCellProperties, characterProperties) {
        super(styleName, localizedName, deleted, hidden, semihidden, isDefault);
        this.tableCellProperties = tableCellProperties;
        this.characterProperties = characterProperties;
    }
    clone() {
        return new TableCellStyle(this.styleName, this.localizedName, this.deleted, this.hidden, this.semihidden, this.isDefault, this.tableCellProperties, this.characterProperties);
    }
}
TableCellStyle.DEFAULT_STYLENAME = "";

// EXTERNAL MODULE: ./src/common/model/tables/styles/table-conditional-style.ts
var table_conditional_style = __webpack_require__(1327);
// EXTERNAL MODULE: ./src/common/model/tables/styles/table-style.ts
var table_style = __webpack_require__(2685);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var utils_string = __webpack_require__(49);
;// CONCATENATED MODULE: ./src/common/model/styles-manager.ts















class StylesManager {
    constructor(documentModel) {
        this.characterAndParagraphStyleGalleryItems = [[], []];
        this.characterStyleNameToIndex = {};
        this.paragraphStyleNameToIndex = {};
        this.numberingListStyleNameToIndex = {};
        this.tableStyleNameToIndex = {};
        this.tableCellStyleNameToIndex = {};
        this.documentModel = documentModel;
    }
    static isParagraphStyle(styleNameWithPrefix) {
        return utils_string.StringUtils.startsAt(styleNameWithPrefix, StylesManager.paragraphPrefix);
    }
    static getStyleNameWithoutPrefix(styleName) {
        if (StylesManager.paragraphPrefix && StylesManager.isParagraphStyle(styleName))
            return styleName.substr(StylesManager.paragraphPrefix.length);
        return styleName.substr(StylesManager.characterPrefix.length);
    }
    initCharacterAndParagraphStyleGalleryItems() {
        const items = [[], []];
        for (let ps of this.documentModel.paragraphStyles) {
            if (!ps.deleted && !ps.hidden && !ps.semihidden)
                items[0].push({ value: StylesManager.paragraphPrefix + ps.styleName, text: ps.localizedName, data: ps.base64EncodedImage });
        }
        for (let cs of this.documentModel.characterStyles) {
            if (!cs.deleted && !cs.hidden && !cs.semihidden && !cs.linkedStyle)
                items[1].push({ value: StylesManager.characterPrefix + cs.styleName, text: cs.localizedName, data: cs.base64EncodedImage });
        }
        for (let ps of StylesManager.presetParagraphStyles) {
            if (!ps.deleted && !ps.hidden && !ps.semihidden && !this.documentModel.getParagraphStyleByName(ps.styleName))
                items[0].push({ value: StylesManager.paragraphPrefix + ps.styleName, text: ps.localizedName, data: ps.base64EncodedImage });
        }
        for (let cs of StylesManager.presetCharacterStyles) {
            if (!cs.deleted && !cs.hidden && !cs.semihidden && !cs.linkedStyle && !this.documentModel.getCharacterStyleByName(cs.styleName))
                items[1].push({ value: StylesManager.characterPrefix + cs.styleName, text: cs.localizedName, data: cs.base64EncodedImage });
        }
        this.characterAndParagraphStyleGalleryItems = items;
    }
    registerLink(characterStyle, paragraphStyle) {
        characterStyle.linkedStyle = paragraphStyle;
        paragraphStyle.linkedStyle = characterStyle;
    }
    unregisterLink(characterStyle, paragraphStyle) {
        characterStyle.linkedStyle = null;
        paragraphStyle.linkedStyle = null;
    }
    getCharacterStyleByName(styleName) {
        return StylesManager.getStyleByNameCore(styleName, this.documentModel.characterStyles, this.characterStyleNameToIndex);
    }
    getParagraphStyleByName(styleName) {
        return StylesManager.getStyleByNameCore(styleName, this.documentModel.paragraphStyles, this.paragraphStyleNameToIndex);
    }
    getNumberingListStyleByName(styleName) {
        return StylesManager.getStyleByNameCore(styleName, this.documentModel.numberingListStyles, this.numberingListStyleNameToIndex);
    }
    getTableStyleByName(styleName) {
        return StylesManager.getStyleByNameCore(styleName, this.documentModel.tableStyles, this.tableStyleNameToIndex);
    }
    getTableCellStyleByName(styleName) {
        return StylesManager.getStyleByNameCore(styleName, this.documentModel.tableCellStyles, this.tableCellStyleNameToIndex);
    }
    getDefaultCharacterStyle() {
        return this.defaultCharacterStyle || this.getDefaultStyleCore(this.documentModel.characterStyles, (style) => {
            this.defaultCharacterStyle = style;
        });
    }
    getDefaultParagraphStyle() {
        return this.defaultParagraphStyle || this.getDefaultStyleCore(this.documentModel.paragraphStyles, (style) => {
            this.defaultParagraphStyle = style;
        });
    }
    getDefaultTableStyle() {
        return this.getTableStyleByName(table_style/* TableStyle */.k.DEFAULT_STYLENAME) || this.getTableStyleByName(table_style/* TableStyle */.k.DEFAULT_STYLENAME_2) || this.documentModel.tableStyles[0] || null;
    }
    getDefaultTableCellStyle() {
        return this.getTableCellStyleByName(TableCellStyle.DEFAULT_STYLENAME) || this.documentModel.tableCellStyles[0] || null;
    }
    addCharacterStyle(style) {
        return style ? this.getCharacterStyleByName(style.styleName) || this.addCharacterStyleCore(style) : null;
    }
    registerCharacterStyle(style) {
        this.characterStyleNameToIndex[style.styleName] = this.documentModel.characterStyles.push(style) - 1;
    }
    removeLastStyle() {
        var style = this.documentModel.characterStyles.pop();
        delete this.characterStyleNameToIndex[style.styleName];
    }
    addParagraphStyle(style) {
        return style ? this.getParagraphStyleByName(style.styleName) || this.addParagraphStyleCore(style) : null;
    }
    registerParagraphStyle(style) {
        this.paragraphStyleNameToIndex[style.styleName] = this.documentModel.paragraphStyles.push(style) - 1;
    }
    addTableStyle(style) {
        return style ? this.getTableStyleByName(style.styleName) || this.addTableStyleCore(style) : null;
    }
    registerTableStyle(style) {
        this.tableStyleNameToIndex[style.styleName] = this.documentModel.tableStyles.push(style) - 1;
    }
    addTableCellStyle(style) {
        return style ? this.getTableCellStyleByName(style.styleName) || this.addTableCellStyleCore(style) : null;
    }
    addTableStyleCore(oldStyle) {
        var newStyle = oldStyle.clone();
        this.tableStyleNameToIndex[newStyle.styleName] = this.documentModel.tableStyles.push(newStyle) - 1;
        number/* NumberMapUtils */.j.forEach(oldStyle.conditionalStyles, (style, type) => newStyle.conditionalStyles[type] = this.cloneTableConditionalStyle(style));
        return newStyle;
    }
    addTableCellStyleCore(oldStyle) {
        var newStyle = oldStyle.clone();
        this.tableCellStyleNameToIndex[newStyle.styleName] = this.documentModel.tableCellStyles.push(newStyle) - 1;
        newStyle.characterProperties = this.documentModel.cache.mergedCharacterPropertiesCache.getItem(oldStyle.characterProperties);
        newStyle.tableCellProperties = this.documentModel.cache.tableCellPropertiesCache.getItem(oldStyle.tableCellProperties);
        return newStyle;
    }
    cloneTableConditionalStyle(style) {
        let maskedCharacterProperties = style.maskedCharacterProperties;
        if (maskedCharacterProperties.fontInfo && maskedCharacterProperties.fontInfo.measurer === undefined)
            maskedCharacterProperties.fontInfo = this.documentModel.cache.fontInfoCache.getItemByName(maskedCharacterProperties.fontInfo.name);
        return new table_conditional_style/* TableConditionalStyle */.g(style.tableProperties.clone(), this.documentModel.cache.tableRowPropertiesCache.getItem(style.tableRowProperties), this.documentModel.cache.tableCellPropertiesCache.getItem(style.tableCellProperties), this.documentModel.cache.maskedParagraphPropertiesCache.getItem(style.maskedParagraphProperties), this.documentModel.cache.maskedCharacterPropertiesCache.getItem(maskedCharacterProperties), style.tabs.clone());
    }
    addCharacterStyleCore(oldStyle) {
        var newStyle = oldStyle.clone();
        this.registerCharacterStyle(newStyle);
        let maskedCharacterProperties = oldStyle.maskedCharacterProperties;
        if (maskedCharacterProperties.fontInfo && maskedCharacterProperties.fontInfo.measurer === undefined)
            maskedCharacterProperties.fontInfo = this.documentModel.cache.fontInfoCache.getItemByName(maskedCharacterProperties.fontInfo.name);
        newStyle.maskedCharacterProperties = this.documentModel.cache.maskedCharacterPropertiesCache.getItem(maskedCharacterProperties);
        newStyle.parent = this.addCharacterStyle(oldStyle.parent);
        newStyle.linkedStyle = this.addParagraphStyle(oldStyle.linkedStyle);
        return newStyle;
    }
    addParagraphStyleCore(oldStyle) {
        var newStyle = oldStyle.clone();
        this.registerParagraphStyle(newStyle);
        let maskedCharacterProperties = oldStyle.maskedCharacterProperties;
        if (maskedCharacterProperties.fontInfo && maskedCharacterProperties.fontInfo.measurer === undefined)
            maskedCharacterProperties.fontInfo = this.documentModel.cache.fontInfoCache.getItemByName(maskedCharacterProperties.fontInfo.name);
        newStyle.maskedCharacterProperties = this.documentModel.cache.maskedCharacterPropertiesCache.getItem(maskedCharacterProperties);
        newStyle.maskedParagraphProperties = this.documentModel.cache.maskedParagraphPropertiesCache.getItem(oldStyle.maskedParagraphProperties);
        newStyle.linkedStyle = this.addCharacterStyle(oldStyle.linkedStyle);
        newStyle.parent = this.addParagraphStyle(oldStyle.parent);
        return newStyle;
    }
    getDefaultStyleCore(styles, updateCache) {
        for (var i = 0, style; style = styles[i]; i++) {
            if (style.isDefault) {
                updateCache(style);
                return style;
            }
        }
    }
    static getPresetCharacterStyleLocalizedName(styleName) {
        const style = this.getStyleByNameCore(styleName, this.presetCharacterStyles, this.presetCharacterStyleNameToIndex);
        return style && style.localizedName ? style.localizedName : styleName;
    }
    static getPresetParagraphStyleLocalizedName(styleName) {
        const style = this.getStyleByNameCore(styleName, this.presetParagraphStyles, this.presetParagraphStyleNameToIndex);
        return style && style.localizedName ? style.localizedName : styleName;
    }
    static getPresetTableStyleLocalizedName(styleName) {
        const style = this.getStyleByNameCore(styleName, this.presetTableStyles, this.presetTableStyleNameToIndex);
        return style && style.localizedName ? style.localizedName : styleName;
    }
    static getPresetCharacterStyleByName(styleName, ignoreCase = false) {
        return this.getStyleByNameCore(styleName, this.presetCharacterStyles, this.presetCharacterStyleNameToIndex, ignoreCase);
    }
    static getPresetParagraphStyleByName(styleName, ignoreCase = false) {
        return this.getStyleByNameCore(styleName, this.presetParagraphStyles, this.presetParagraphStyleNameToIndex, ignoreCase);
    }
    static getPresetTableStyleByName(styleName, ignoreCase = false) {
        return this.getStyleByNameCore(styleName, this.presetTableStyles, this.presetTableStyleNameToIndex, ignoreCase);
    }
    static populateGalleryHeaders(container) {
        StylesManager.characterStylesGalleryTitle = container[json_style_enums/* JSONStylesGalleryHeader */.f5.Character];
        StylesManager.paragraphStylesGalleryTitle = container[json_style_enums/* JSONStylesGalleryHeader */.f5.Paragraph];
        StylesManager.tableStylesGalleryTitle = container[json_style_enums/* JSONStylesGalleryHeader */.f5.Table];
    }
    static populatePresetStyles(stylesContainer) {
        if (StylesManager.presetCharacterStyles.length)
            return;
        const characterStylesContainer = stylesContainer[json_style_enums/* JSONStylesProperty */.Ky.Character];
        const paragraphStylesContainer = stylesContainer[json_style_enums/* JSONStylesProperty */.Ky.Paragraph];
        const tableStylesContainer = stylesContainer[json_style_enums/* JSONStylesProperty */.Ky.Table];
        const documentCache = new caches/* DocumentCache */.K();
        const webCaches = new web_caches_exporter/* WebCachesExporter */.E(documentCache, stylesContainer[json_style_enums/* JSONStylesProperty */.Ky.Caches], null);
        font_info_cache/* FontInfoCache */.I.fillDefaultFonts(documentCache.fontInfoCache);
        StylesManager.populatePresetCharacterStyles(characterStylesContainer, documentCache);
        StylesManager.populatePresetParagraphStyles(paragraphStylesContainer, documentCache);
        StylesManager.populatePresetTableStyles(tableStylesContainer, documentCache);
        for (let i = 0, style; style = StylesManager.presetCharacterStyles[i]; i++) {
            const jsonStyle = characterStylesContainer[i];
            style.parent = StylesManager.getPresetCharacterStyleByName(jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName]);
            const linkedStyleName = jsonStyle[json_style_enums/* JSONCharacterStyleProperty */.Fq.LinkedStyleName];
            if (linkedStyleName !== undefined)
                style.linkedStyle = StylesManager.getPresetParagraphStyleByName(linkedStyleName);
        }
        for (let i = 0, style; style = StylesManager.presetParagraphStyles[i]; i++) {
            const jsonStyle = paragraphStylesContainer[i];
            style.parent = StylesManager.getPresetParagraphStyleByName(jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName]);
            const linkedStyleName = jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.LinkedStyleName];
            if (linkedStyleName !== undefined)
                style.linkedStyle = StylesManager.getPresetCharacterStyleByName(linkedStyleName);
            const nextParStyleName = jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.NextParagraphStyleName];
            if (nextParStyleName !== undefined)
                style.nextParagraphStyle = StylesManager.getPresetParagraphStyleByName(nextParStyleName);
        }
        for (let i = 0, style; style = StylesManager.presetTableStyles[i]; i++)
            style.parent = StylesManager.getPresetTableStyleByName(tableStylesContainer[i][json_style_enums/* JSONStyleBaseProperty */.W.ParentStyleName]);
        webCaches.dispose();
    }
    static populatePresetCharacterStyles(characterStylesContainer, cache) {
        StylesManager.presetCharacterStyles = [];
        if (characterStylesContainer) {
            for (let jsonStyle of characterStylesContainer) {
                const styleName = jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName];
                StylesManager.presetCharacterStyles.push(new character_style/* CharacterStyle */.H(styleName, StylesManager.presetStylesLocalizedNames[styleName] || jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault], cache.maskedCharacterPropertiesCache.getItemByJsonKey(jsonStyle[json_style_enums/* JSONCharacterStyleProperty */.Fq.CharacterPropertiesCacheIndex]), jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage]));
            }
        }
    }
    static populatePresetParagraphStyles(paragraphStylesContainer, cache) {
        StylesManager.presetParagraphStyles = [];
        if (paragraphStylesContainer) {
            for (let jsonStyle of paragraphStylesContainer) {
                const styleName = jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName];
                StylesManager.presetParagraphStyles.push(new paragraph_style/* ParagraphStyle */.PO(styleName, StylesManager.presetStylesLocalizedNames[styleName] || jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault], cache.maskedCharacterPropertiesCache.getItemByJsonKey(jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.CharacterPropertiesCacheIndex]), cache.maskedParagraphPropertiesCache.getItemByJsonKey(jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.ParagraphPropertiesCacheIndex]), json_tab_converter/* JSONTabConverter */._.convertFromJSONToTabProperties(jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.Tabs]), !!jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.AutoUpdate], jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.NumberingListIndex], jsonStyle[json_style_enums/* JSONParagraphStyleProperty */.pM.ListLevelIndex], jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage]));
            }
        }
    }
    static populatePresetTableStyles(tableStylesContainer, cache) {
        StylesManager.presetTableStyles = [];
        if (tableStylesContainer) {
            for (let jsonStyle of tableStylesContainer) {
                const styleName = jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.StyleName];
                StylesManager.presetTableStyles.push(new table_style/* TableStyle */.k(styleName, StylesManager.presetStylesLocalizedNames[styleName] || jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.LocalizedStyleName], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Deleted], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Hidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Semihidden], !!jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.IsDefault], json_table_conditional_style_converter/* JSONTableConditionalStyleConverter */.q.convertStylesFromJSON(jsonStyle[json_style_enums/* JSONTableStyleProperty */.FG.ConditionalStyles], cache), json_table_conditional_style_converter/* JSONTableConditionalStyleConverter */.q.convertFromJSON(jsonStyle[json_style_enums/* JSONTableStyleProperty */.FG.BaseConditionalStyle], cache), jsonStyle[json_style_enums/* JSONStyleBaseProperty */.W.Base64EncodedImage]));
            }
        }
    }
    static getStyleByNameCore(styleName, styles, cache, ignoreCase = false) {
        var styleIndex = cache[styleName];
        if (styleIndex === undefined) {
            for (var i = 0, style; style = styles[i]; i++) {
                if (cache[style.styleName] === undefined)
                    cache[style.styleName] = i;
                if (this.compareNames(style.styleName, styleName, ignoreCase))
                    return style;
            }
            return null;
        }
        else
            return styles[styleIndex];
    }
    static compareNames(name1, name2, ignoreCase) {
        if ((name1 && !name2) || (!name1 && name2))
            return false;
        if (name1 === name2)
            return true;
        return ignoreCase ? name1.toLowerCase() === name2.toLowerCase() : false;
    }
    clone(documentModel) {
        const result = new StylesManager(documentModel);
        const copyStyles = (styles) => list.ListUtils.map(styles, (style) => {
            return { value: style.value, text: style.text, data: style.data };
        });
        result.characterAndParagraphStyleGalleryItems = [
            copyStyles(this.characterAndParagraphStyleGalleryItems[0]),
            copyStyles(this.characterAndParagraphStyleGalleryItems[1])
        ];
        result.documentModel = documentModel;
        result.characterStyleNameToIndex = string.StringMapUtils.shallowCopy(this.characterStyleNameToIndex);
        result.paragraphStyleNameToIndex = string.StringMapUtils.shallowCopy(this.paragraphStyleNameToIndex);
        result.numberingListStyleNameToIndex = string.StringMapUtils.shallowCopy(this.numberingListStyleNameToIndex);
        result.tableStyleNameToIndex = string.StringMapUtils.shallowCopy(this.tableStyleNameToIndex);
        result.tableCellStyleNameToIndex = string.StringMapUtils.shallowCopy(this.tableCellStyleNameToIndex);
        return result;
    }
}
StylesManager.characterPrefix = "";
StylesManager.paragraphPrefix = "¶";
StylesManager.characterStylesGalleryTitle = "Character Styles";
StylesManager.paragraphStylesGalleryTitle = "Paragraph Styles";
StylesManager.tableStylesGalleryTitle = "Table Styles";
StylesManager.presetStylesLocalizedNames = {};
StylesManager.presetCharacterStyleNameToIndex = {};
StylesManager.presetParagraphStyleNameToIndex = {};
StylesManager.presetTableStyleNameToIndex = {};
StylesManager.presetCharacterStyles = [];
StylesManager.presetParagraphStyles = [];
StylesManager.presetTableStyles = [];


/***/ }),

/***/ 1986:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Mu: function() { return /* binding */ FooterSubDocumentInfo; },
/* harmony export */   NX: function() { return /* binding */ SubDocumentInfoBase; },
/* harmony export */   QP: function() { return /* binding */ HeaderSubDocumentInfo; }
/* harmony export */ });
/* unused harmony exports TextBoxSubDocumentInfoBase, NoteSubDocumentInfo, FootNoteSubDocumentInfo, EndNoteSubDocumentInfo, MainSubDocumentInfo, HeaderFooterSubDocumentInfoBase */
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4907);
/* harmony import */ var _section_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8311);
/* harmony import */ var _footnotes_footnote__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3373);




class SubDocumentInfoBase {
    constructor(subDocumentId) {
        this.isMain = true;
        this.isHeaderFooter = false;
        this.isFooter = false;
        this.isHeader = false;
        this.isNote = false;
        this.isFootNote = false;
        this.isEndNote = false;
        this.isTextBox = false;
        this.isComment = false;
        this.isReferenced = true;
        this.subDocumentId = subDocumentId;
    }
    getEndPosition(documentModel) {
        return documentModel.subDocuments[this.subDocumentId].getLastChunk().getEndPosition();
    }
    getSubDocument(documentModel) {
        return documentModel.subDocuments[this.subDocumentId];
    }
    static create(type, subDocumentId, parentSubDocumentId) {
        switch (type) {
            case _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.Main:
                return new MainSubDocumentInfo();
            case _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.Header:
                return new HeaderSubDocumentInfo(subDocumentId);
            case _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.Footer:
                return new FooterSubDocumentInfo(subDocumentId);
            case _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.TextBox:
                return new TextBoxSubDocumentInfoBase(subDocumentId, parentSubDocumentId);
            case _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.FootNote:
                return new FootNoteSubDocumentInfo(subDocumentId);
            case _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.EndNote:
                return new EndNoteSubDocumentInfo(subDocumentId);
        }
        throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.NotImplemented);
    }
}
class TextBoxSubDocumentInfoBase extends SubDocumentInfoBase {
    constructor(subDocumentId, parentSubDocumentId) {
        super(subDocumentId);
        this.isMain = false;
        this.isTextBox = true;
        this.parentSubDocumentId = parentSubDocumentId;
    }
    getType() {
        return _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.TextBox;
    }
    clone() {
        return new TextBoxSubDocumentInfoBase(this.subDocumentId, this.parentSubDocumentId);
    }
}
class NoteSubDocumentInfo extends SubDocumentInfoBase {
    constructor() {
        super(...arguments);
        this.isMain = false;
        this.isNote = true;
        this.noteType = _footnotes_footnote__WEBPACK_IMPORTED_MODULE_3__/* .NoteType */ .wK.Normal;
    }
}
class FootNoteSubDocumentInfo extends NoteSubDocumentInfo {
    constructor() {
        super(...arguments);
        this.isMain = false;
        this.isFootNote = true;
    }
    getType() {
        return _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.FootNote;
    }
    clone() {
        return new FootNoteSubDocumentInfo(this.subDocumentId);
    }
}
class EndNoteSubDocumentInfo extends NoteSubDocumentInfo {
    constructor() {
        super(...arguments);
        this.isMain = false;
        this.isEndNote = true;
    }
    getType() {
        return _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.EndNote;
    }
    clone() {
        return new EndNoteSubDocumentInfo(this.subDocumentId);
    }
}
class MainSubDocumentInfo extends SubDocumentInfoBase {
    constructor() {
        super(0);
    }
    getType() {
        return _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.Main;
    }
    getEndPosition(documentModel) {
        var sections = documentModel.sections;
        var lastSection = sections[sections.length - 1];
        return lastSection.startLogPosition.value + lastSection.getLength();
    }
    clone() {
        return new MainSubDocumentInfo();
    }
}
class HeaderFooterSubDocumentInfoBase extends SubDocumentInfoBase {
    constructor() {
        super(...arguments);
        this.headerFooterType = _section_enums__WEBPACK_IMPORTED_MODULE_2__/* .HeaderFooterType */ .pi.Odd;
        this.isMain = false;
        this.isHeaderFooter = true;
    }
}
class HeaderSubDocumentInfo extends HeaderFooterSubDocumentInfoBase {
    constructor() {
        super(...arguments);
        this.isHeader = true;
    }
    getType() {
        return _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.Header;
    }
    clone() {
        return new HeaderSubDocumentInfo(this.subDocumentId);
    }
}
class FooterSubDocumentInfo extends HeaderFooterSubDocumentInfoBase {
    constructor() {
        super(...arguments);
        this.isFooter = true;
    }
    getType() {
        return _enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F.Footer;
    }
    clone() {
        return new FooterSubDocumentInfo(this.subDocumentId);
    }
}


/***/ }),

/***/ 8096:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  jP: function() { return /* binding */ SubDocument; },
  v8: function() { return /* binding */ SubDocumentInterval; },
  Jt: function() { return /* binding */ SubDocumentIntervals; },
  rg: function() { return /* binding */ SubDocumentPosition; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-general-enums.ts
var json_general_enums = __webpack_require__(7087);
// EXTERNAL MODULE: ./src/common/model/model-iterator.ts
var model_iterator = __webpack_require__(7747);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/spelling/helpers.ts
var helpers = __webpack_require__(5337);
;// CONCATENATED MODULE: ./src/common/spelling/intervals.ts

class SpellCheckerInterval extends fixed.FixedInterval {
    setStart(start) {
        this.start = start;
        this.onChanged();
    }
    setLength(length) {
        this.length = length;
        this.onChanged();
    }
    onChanged() { }
}
class UncheckedInterval extends SpellCheckerInterval {
    constructor(start, length, isSplitted = true) {
        super(start, length);
        this.info = new UncheckedIntervalInfo(isSplitted);
    }
    onChanged() {
        this.info.isChecking = false;
    }
}
class UncheckedIntervalInfo {
    constructor(isSplitted) {
        this.isSplitted = isSplitted;
        this.isChecking = false;
    }
}
class MisspelledInterval extends SpellCheckerInterval {
    constructor(start, length, errorInfo) {
        super(start, length);
        this.errorInfo = errorInfo;
    }
}
class IgnoredInterval extends SpellCheckerInterval {
    constructor(start, length, word) {
        super(start, length);
        this.word = word;
    }
}

// EXTERNAL MODULE: ./src/common/spelling/spell-checker.ts
var spell_checker = __webpack_require__(3323);
;// CONCATENATED MODULE: ./src/common/spelling/intervals-collections.ts





class SpellCheckerIntervalCollection {
    constructor() {
        this.intervals = [];
    }
    getIntervals() {
        return this.intervals;
    }
    add(newInterval) {
        let index = this.intervals.length;
        while (index > 0) {
            if (this.intervals[index - 1].start < newInterval.start)
                break;
            index--;
        }
        this.intervals.splice(index, 0, newInterval);
    }
    remove(index) {
        this.intervals.splice(index, 1);
    }
    onModelIntervalChanged(start, length, isSeparator) {
        if (length > 0)
            this.onModelIntervalInserted(start, length, isSeparator);
        else
            this.onModelIntervalRemoved(start, -length);
    }
    onModelIntervalInserted(start, length, _isSeparator) {
        this.forEach(interval => {
            if (interval.start > start)
                interval.setStart(interval.start + length);
            else if (interval.end >= start)
                interval.setLength(interval.length + length);
        });
    }
    onModelIntervalRemoved(start, length) {
        let removedInterval = new fixed.FixedInterval(start, length);
        this.forEach((interval, index) => {
            if (removedInterval.containsInterval(interval))
                this.remove(index);
            else if (removedInterval.start < interval.start) {
                interval.setLength(interval.length - Math.max(0, removedInterval.end - interval.start));
                interval.setStart(interval.start - Math.min(removedInterval.length, interval.start - removedInterval.start));
            }
            else if (interval.end > removedInterval.start)
                interval.setLength(interval.length - Math.min(removedInterval.length, interval.end - removedInterval.start));
        });
    }
    forEach(callback) {
        let index = this.intervals.length;
        while (--index >= 0)
            callback(this.intervals[index], index);
    }
    deleteIntervalsByPositions(start, end, strictMatch = false) {
        const defInterval = fixed.FixedInterval.fromPositions(start, end);
        if (strictMatch) {
            list.ListUtils.anyOf(this.intervals, (value, index) => {
                const isIntervalsEqual = defInterval.equals(value);
                if (isIntervalsEqual)
                    this.remove(index);
                return isIntervalsEqual;
            });
        }
        else
            this.forEach((interval, index) => {
                const intersection = algorithms.IntervalAlgorithms.getIntersection(interval, defInterval);
                if (intersection && intersection.length > 0)
                    this.remove(index);
            });
    }
    findIntervalIndexByPositions(start, end) {
        return list.ListUtils.indexBy(this.intervals, (interval) => interval.start == start && interval.end == end);
    }
    clear() {
        this.intervals = [];
    }
}
class UncheckedIntervalCollection extends SpellCheckerIntervalCollection {
    findCheckingIntervalByPositions(start, end) {
        const index = this.findIntervalIndexByPositions(start, end);
        return index >= 0 && this.intervals[index].info.isChecking ? this.intervals[index] : null;
    }
    onModelIntervalInserted(start, length, isSeparator) {
        let hasIntersection = false;
        let separatorWasAdded = false;
        this.forEach(interval => {
            if (interval.containsWithIntervalEnd(start)) {
                hasIntersection = true;
                if (isSeparator && interval.end == start)
                    separatorWasAdded = true;
                else
                    interval.info.isSplitted = false;
            }
        });
        if (!separatorWasAdded)
            super.onModelIntervalInserted(start, length, isSeparator);
        if (!hasIntersection)
            this.add(new UncheckedInterval(start, length, false));
    }
    onModelIntervalRemoved(start, length) {
        let removedInterval = new fixed.FixedInterval(start, length);
        let hasIntersection = false;
        this.forEach((interval) => {
            if (algorithms.IntervalAlgorithms.getIntersection(interval, removedInterval))
                hasIntersection = true;
        });
        super.onModelIntervalRemoved(start, length);
        if (!hasIntersection)
            this.add(new UncheckedInterval(start, 1));
    }
}
class MisspelledIntervalCollection extends SpellCheckerIntervalCollection {
    addIfNotExists(newInterval) {
        if (this.findIntervalIndexByPositions(newInterval.start, newInterval.end) < 0)
            this.add(newInterval);
    }
    findNext(position) {
        for (let i = 0, interval; interval = this.intervals[i]; i++)
            if (interval.end >= position)
                return interval;
        return this.intervals[0] ? this.intervals[0] : null;
    }
    deleteOldIntervals(defInterval, isIntervalStartWithParagraph) {
        this.forEach((interval, index) => {
            const intersection = algorithms.IntervalAlgorithms.getIntersection(interval, defInterval);
            if (intersection && intersection.length > 0)
                if (isIntervalStartWithParagraph || interval.start !== defInterval.start || interval.errorInfo.errorType !== spell_checker/* SpellingErrorType */.h1.Repeating)
                    this.remove(index);
        });
    }
}
class IgnoredIntervalCollection extends SpellCheckerIntervalCollection {
    contains(start, length, word) {
        const index = this.findIntervalIndexByPositions(start, start + length);
        return index >= 0 && this.intervals[index].word == word;
    }
}
class IgnoredWordsCollection {
    constructor() {
        this.ignoredWords = [];
    }
    add(word) {
        if (!this.contains(word))
            this.ignoredWords.push(word);
    }
    contains(word) {
        return this.ignoredWords.indexOf(word) !== -1;
    }
    clear() {
        this.ignoredWords = [];
    }
}

;// CONCATENATED MODULE: ./src/common/spelling/intervals-manager.ts









class SpellCheckerIntervalsManager {
    constructor(subDocument) {
        this.subDocument = subDocument;
        this.uncheckedIntervalCollection = new UncheckedIntervalCollection();
        this.misspelledIntervalCollection = new MisspelledIntervalCollection();
        this.ignoredIntervalCollection = new IgnoredIntervalCollection();
        this.ignoredWordsCollection = new IgnoredWordsCollection();
        this.isInitialize = false;
    }
    initializeUncheckedIntervals() {
        if (!this.isInitialize) {
            this.createUncheckedIntervals(0, this.subDocument.getDocumentEndPosition());
            this.isInitialize = true;
        }
    }
    reset() {
        this.uncheckedIntervalCollection.clear();
        this.misspelledIntervalCollection.clear();
        this.ignoredIntervalCollection.clear();
        this.ignoredWordsCollection.clear();
        this.isInitialize = false;
    }
    getIntervalsToCheck() {
        this.splitUncheckedIntervals();
        let results = [];
        let totalLength = 0;
        let uncheckedIntervals = this.uncheckedIntervalCollection.getIntervals();
        const maxRequestLength = this.subDocument.documentModel.modelOptions.maxSpellRequestLength;
        for (let i = 0, uncheckedInterval; uncheckedInterval = uncheckedIntervals[i]; i++) {
            if (uncheckedInterval.info.isChecking || totalLength > maxRequestLength) {
                this.removeEmptyUncheckedIntervals(i);
                return results;
            }
            this.expandUncheckedInterval(uncheckedInterval);
            if (uncheckedInterval.length > 0) {
                this.prepareUncheckedInterval(uncheckedInterval);
                uncheckedInterval.info.isChecking = true;
                totalLength += uncheckedInterval.length;
                results.push(uncheckedInterval);
            }
        }
        this.removeEmptyUncheckedIntervals();
        return results;
    }
    applyCheckResults(checkedIntervals) {
        for (let i = 0, checkedInterval; checkedInterval = checkedIntervals[i]; i++) {
            const startPosition = checkedInterval[json_general_enums/* JSONCheckSpellingCommand */.Bb.StartPosition];
            const endPosition = checkedInterval[json_general_enums/* JSONCheckSpellingCommand */.Bb.EndPosition];
            const checkingInterval = this.uncheckedIntervalCollection.findCheckingIntervalByPositions(startPosition, endPosition);
            if (checkingInterval) {
                let isIntervalStartWithParagraph = startPosition === helpers/* ModelWordPositionHelper */.a.getPrevWordStartPosition(this.subDocument, startPosition);
                this.misspelledIntervalCollection.deleteOldIntervals(checkingInterval, isIntervalStartWithParagraph);
                this.createMisspelledIntervals(checkedInterval[json_general_enums/* JSONCheckSpellingCommand */.Bb.SpellingErrors], checkingInterval);
                this.uncheckedIntervalCollection.deleteIntervalsByPositions(startPosition, endPosition, true);
            }
        }
    }
    onModelIntervalChanged(start, length, isSeparator) {
        this.uncheckedIntervalCollection.onModelIntervalChanged(start, length, isSeparator);
        this.misspelledIntervalCollection.onModelIntervalChanged(start, length, isSeparator);
        this.ignoredIntervalCollection.onModelIntervalChanged(start, length, isSeparator);
    }
    getMisspelledIntervals() {
        return this.misspelledIntervalCollection.getIntervals();
    }
    getUncheckedIntervalsCount() {
        return this.uncheckedIntervalCollection.getIntervals().length;
    }
    getSelectedMisspelledInterval(selectionIntervals) {
        let selectedInterval = null;
        this.misspelledIntervalCollection.forEach(interval => {
            const expandedInterval = new fixed.FixedInterval(interval.start, interval.length);
            field/* Field */.gN.correctIntervalDueToFieldsWithoutUiChecks(this.subDocument, expandedInterval);
            if (expandedInterval.containsInterval(selectionIntervals[0]))
                selectedInterval = interval;
        });
        return selectedInterval;
    }
    findNextMisspelledInterval(position) {
        return this.misspelledIntervalCollection.findNext(position);
    }
    addIgnoredInterval(start, end, word) {
        this.ignoredIntervalCollection.add(new IgnoredInterval(start, end, word));
    }
    deleteMisspelledIntervalsByPositions(start, end) {
        this.misspelledIntervalCollection.deleteIntervalsByPositions(start, end);
    }
    ignoreAll(word) {
        this.ignoredWordsCollection.add(word);
        this.misspelledIntervalCollection.forEach((interval, index) => {
            if (interval.errorInfo.word == word && interval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Misspelling) {
                this.misspelledIntervalCollection.remove(index);
            }
        });
    }
    removeIntervalsWithErrorByWord(word) {
        this.misspelledIntervalCollection.forEach((interval, index) => {
            if (interval.errorInfo.word == word && interval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Misspelling)
                this.misspelledIntervalCollection.remove(index);
        });
    }
    getIntervalsWithErrorByWord(word) {
        let intervals = [];
        this.misspelledIntervalCollection.forEach(interval => {
            if (interval.errorInfo.word == word && interval.errorInfo.errorType == spell_checker/* SpellingErrorType */.h1.Misspelling) {
                intervals.push(new fixed.FixedInterval(interval.start, interval.length));
            }
        });
        return intervals;
    }
    expandUncheckedInterval(interval) {
        let expandIntervalStart = helpers/* ModelWordPositionHelper */.a.getPrevWordStartPosition(this.subDocument, interval.start);
        let expandIntervalEnd = helpers/* ModelWordPositionHelper */.a.getNextWordEndPosition(this.subDocument, interval.end);
        interval.start = expandIntervalStart;
        interval.length = Math.max(0, expandIntervalEnd - expandIntervalStart);
    }
    removeEmptyUncheckedIntervals(maxIndex = this.uncheckedIntervalCollection.getIntervals().length) {
        this.uncheckedIntervalCollection.forEach((interval, index) => {
            if (maxIndex < index && interval.length == 0)
                this.uncheckedIntervalCollection.remove(index);
        });
    }
    prepareUncheckedInterval(interval) {
        let iterator = new model_iterator/* ModelIterator */.w(this.subDocument, false);
        let textToCheck = "";
        let hiddenIntervals = [];
        let ignoredLength = 0;
        let ignoredStart = 0;
        let fieldLevel = 0;
        let isPreviouslyHiddeh = false;
        iterator.setPosition(interval.start);
        do {
            if (!iterator.run.getCharacterMergedProperties().hidden && iterator.run.getType() !== run_type/* RunType */.m.FieldCodeStartRun && fieldLevel === 0) {
                textToCheck += iterator.getCurrentChar();
                if (isPreviouslyHiddeh) {
                    hiddenIntervals.push(new fixed.FixedInterval(ignoredStart, ignoredLength));
                    ignoredLength = 0;
                    isPreviouslyHiddeh = false;
                }
                ignoredStart++;
            }
            else {
                ignoredLength++;
                isPreviouslyHiddeh = true;
                if (iterator.run.getType() == run_type/* RunType */.m.FieldCodeStartRun)
                    fieldLevel++;
                if (iterator.run.getType() == run_type/* RunType */.m.FieldResultEndRun)
                    fieldLevel--;
            }
        } while (iterator.getAbsolutePosition() < interval.end && iterator.moveToNextChar());
        interval.info.textToCheck = textToCheck;
        interval.info.hiddenIntervals = hiddenIntervals;
    }
    createUncheckedIntervals(start, end) {
        let intervalCount = 0;
        let iterator = new model_iterator/* ModelIterator */.w(this.subDocument, true);
        iterator.setPosition(start);
        do {
            if (iterator.run.getType() == run_type/* RunType */.m.ParagraphRun) {
                let currentPosition = iterator.getAbsolutePosition();
                let length = currentPosition - start;
                if (length > 0) {
                    this.uncheckedIntervalCollection.add(new UncheckedInterval(start, length));
                    intervalCount++;
                }
                start = currentPosition + 1;
            }
        } while (iterator.getAbsolutePosition() < end && iterator.moveToNextRun());
        if (intervalCount == 0 && end > start)
            this.uncheckedIntervalCollection.add(new UncheckedInterval(start, end - start));
    }
    splitUncheckedIntervals() {
        let uncheckedIntervals = this.uncheckedIntervalCollection.getIntervals();
        const maxRequestLength = this.subDocument.documentModel.modelOptions.maxSpellRequestLength;
        for (let i = 0, uncheckedInterval; uncheckedInterval = uncheckedIntervals[i]; i++) {
            if (uncheckedInterval.info.isChecking)
                return;
            if (!uncheckedInterval.info.isSplitted) {
                if (uncheckedInterval.length > maxRequestLength) {
                    const start = uncheckedInterval.start;
                    const end = uncheckedInterval.end;
                    this.uncheckedIntervalCollection.remove(i);
                    this.createUncheckedIntervals(start, end);
                }
                else
                    uncheckedInterval.info.isSplitted = true;
            }
        }
    }
    createMisspelledIntervals(spellingErrors, checkingInterval) {
        for (let i = 0, error; error = spellingErrors[i]; i++) {
            let errorStart = error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorStart] + checkingInterval.start;
            let errorLength = error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorLength];
            for (let j = 0, hiddenInterval; hiddenInterval = checkingInterval.info.hiddenIntervals[j]; j++) {
                if (error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorStart] > hiddenInterval.start)
                    errorStart += hiddenInterval.length;
                else if (hiddenInterval.start < error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorStart] + error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorLength])
                    errorLength += hiddenInterval.length;
            }
            const word = error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorWord];
            if (!this.ignoredIntervalCollection.contains(errorStart, errorLength, word) &&
                (!this.ignoredWordsCollection.contains(word) || error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorType] != spell_checker/* SpellingErrorType */.h1.Misspelling)) {
                const spellingErrorInfo = new spell_checker/* SpellingErrorInfo */.D7(error[json_general_enums/* JSONCheckSpellingCommand */.Bb.ErrorType], error[json_general_enums/* JSONCheckSpellingCommand */.Bb.Suggestions], word);
                const misspelledInterval = new MisspelledInterval(errorStart, errorLength, spellingErrorInfo);
                this.misspelledIntervalCollection.addIfNotExists(misspelledInterval);
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/model/character/run-iterator.ts

class RunIterator {
    constructor(runs, chunks, sections, indexForChunks, indexForSections) {
        this.currentRun = null;
        this.currentChunk = null;
        this.currentSection = null;
        this.runs = [];
        this.chunks = [];
        this.sections = [];
        this.currentRunIndex = 0;
        this.currentChunkIndex = 0;
        this.currentSectionIndex = 0;
        this.indexForChunks = [];
        this.indexForSections = [];
        this.runs = runs;
        this.chunks = chunks;
        this.sections = sections;
        this.indexForChunks = indexForChunks;
        this.indexForSections = indexForSections;
    }
    moveNext() {
        this.currentRun = this.runs[this.currentRunIndex];
        if (this.currentRun) {
            this.currentChunk = this.chunks[this.currentChunkIndex];
            this.currentSection = this.sections[this.currentSectionIndex];
            if (this.currentRunIndex == this.indexForChunks[this.currentChunkIndex])
                this.currentChunkIndex++;
            if (this.currentRunIndex == this.indexForSections[this.currentSectionIndex])
                this.currentSectionIndex++;
            this.currentRunIndex++;
            return true;
        }
        else {
            this.currentChunk = undefined;
            this.currentSection = undefined;
            return false;
        }
    }
    currentInterval() {
        if (this.currentRun)
            return new fixed.FixedInterval(this.currentChunk.startLogPosition.value + this.currentRun.startOffset, this.currentRun.getLength());
        else
            return new fixed.FixedInterval(this.chunks[0].startLogPosition.value + this.runs[0].startOffset, this.runs[0].getLength());
    }
    getFirstRun() {
        return this.runs[0];
    }
    getLastRun() {
        return this.runs[this.runs.length - 1];
    }
    getRunsCount() {
        return this.runs.length;
    }
    reset() {
        this.currentRunIndex = 0;
        this.currentChunkIndex = 0;
        this.currentSectionIndex = 0;
    }
}

// EXTERNAL MODULE: ./src/common/model/document-model.ts + 11 modules
var document_model = __webpack_require__(4495);
// EXTERNAL MODULE: ./src/common/model/full-chunk-and-run-info.ts
var full_chunk_and_run_info = __webpack_require__(4628);
// EXTERNAL MODULE: ./src/common/model/manipulators/bookmarks-manipulator.ts + 2 modules
var bookmarks_manipulator = __webpack_require__(9226);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/model/position/position.ts
var position_position = __webpack_require__(9108);
;// CONCATENATED MODULE: ./src/common/model/position/position-manager.ts



class PositionManager {
    constructor() {
        this.notLoadedPicturePositions = [];
        this.positions = [];
    }
    registerSpecRunPosition(position) {
        this.specRunPosition = new position_position/* Position */.L(position);
        return this.specRunPosition;
    }
    unregisterSpecRunPosition() {
        this.specRunPosition = null;
    }
    registerNotLoadedPicturePosition(position) {
        return this.registerPositionCore(position, this.notLoadedPicturePositions);
    }
    registerPosition(position) {
        return this.registerPositionCore(position, this.positions);
    }
    registerPositionCore(position, collection) {
        var index = search.SearchUtils.binaryIndexOf(collection, (p) => p.value - position);
        if (index >= 0) {
            var findedPosition = collection[index];
            findedPosition.incRefCount();
            return findedPosition;
        }
        var indexWhereInsert = ~index;
        var newPosition = new position_position/* Position */.L(position);
        newPosition.incRefCount();
        collection.splice(indexWhereInsert, 0, newPosition);
        return newPosition;
    }
    unregisterPosition(position) {
        this.unregisterPositionCore(position, this.positions);
    }
    unregisterNotLoadedPicturePosition(position) {
        this.unregisterPositionCore(position, this.notLoadedPicturePositions);
    }
    unregisterPositionCore(position, collection) {
        var exactIndex = this.findPosition(position, collection);
        if (exactIndex != null) {
            var findedPosition = collection[exactIndex];
            findedPosition.decRefCount();
            if (!findedPosition.hasReference())
                collection.splice(exactIndex, 1);
        }
        else
            throw new Error("PositionManager unregisterPosition: unregister nonexisted Position");
    }
    findPosition(position, collection) {
        var index = search.SearchUtils.binaryIndexOf(collection, (p) => p.value - position.value);
        if (index >= 0) {
            var exactIndex;
            for (exactIndex = index; exactIndex >= 0 && collection[exactIndex].value == position.value; exactIndex--) {
                if (collection[exactIndex] == position)
                    return exactIndex;
            }
            var positionsLength = collection.length;
            for (exactIndex = index + 1; exactIndex < positionsLength && collection[exactIndex].value == position.value; exactIndex++) {
                if (collection[exactIndex] == position)
                    return exactIndex;
            }
        }
        return null;
    }
    reset() {
        this.positions = [];
        this.notLoadedPicturePositions = [];
    }
    advance(position, delta, correction = 0) {
        if ((0,common.isDefined)(this.specRunPosition) && this.specRunPosition.value >= position)
            this.specRunPosition.value += delta;
        this.advanceCore(position + correction, this.positions, delta);
        this.advanceCore(position, this.notLoadedPicturePositions, delta);
    }
    advanceCore(position, collection, delta) {
        var index = search.SearchUtils.binaryIndexOf(collection, (p) => p.value - position);
        var advanceIndex = index >= 0 ? index : ~index;
        var positionsLength = collection.length;
        if (advanceIndex >= positionsLength)
            return;
        if (index >= 0)
            advanceIndex = this.correctPositionIndex(position, collection, delta, advanceIndex);
        var i;
        for (i = advanceIndex; i < positionsLength; i++)
            collection[i].value += delta;
        if (delta < 0 && advanceIndex < positionsLength && advanceIndex >= 0) {
            for (i = advanceIndex; i < positionsLength && collection[i].value < position; i++)
                collection[i].value = position;
        }
    }
    correctPositionIndex(position, collection, delta, corrIndex) {
        if (delta < 0) {
            while (corrIndex < collection.length && collection[corrIndex].value == position)
                corrIndex++;
        }
        else {
            while (corrIndex > 0 && collection[corrIndex - 1].value == collection[corrIndex].value)
                corrIndex--;
        }
        return corrIndex;
    }
}

// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
;// CONCATENATED MODULE: ./src/common/model/sub-document.ts














class SubDocument {
    constructor(documentModel, subDocumentInfo) {
        this.chunks = [];
        this.paragraphs = [];
        this.fields = [];
        this.tables = [];
        this.tablesByLevels = [];
        this.positionManager = new PositionManager();
        this.fieldsWaitingForUpdate = null;
        this.bookmarks = [];
        this.rangePermissions = [];
        this.availableRangePermissions = [];
        this.documentModel = documentModel;
        this.id = subDocumentInfo.subDocumentId;
        this.info = subDocumentInfo;
        documentModel.subDocumentsCollection.add(this);
        this.spellCheckerIntervalsManager = new SpellCheckerIntervalsManager(this);
    }
    get interval() { return new fixed.FixedInterval(0, this.getDocumentEndPosition()); }
    getLastChunk() {
        return this.chunks[this.chunks.length - 1];
    }
    getFirstChunk() {
        return this.chunks[0];
    }
    getLastParagraph() {
        return this.paragraphs[this.paragraphs.length - 1];
    }
    getFirstParagraph() {
        return this.paragraphs[0];
    }
    getText(interval = new fixed.FixedInterval(0, this.getDocumentEndPosition())) {
        var buffer = "";
        var chunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, interval.start);
        var chunk = this.chunks[chunkIndex];
        var remainLength = interval.length;
        var offset = interval.start - chunk.startLogPosition.value;
        while (chunk) {
            var length = Math.min(chunk.textBuffer.length - offset, remainLength);
            buffer += chunk.textBuffer.substr(offset, length);
            remainLength -= length;
            if (remainLength === 0)
                break;
            chunk = this.chunks[++chunkIndex];
            offset = 0;
        }
        return buffer;
    }
    getSimpleText(interval) {
        let result = "";
        let pos = interval.start;
        let nested = 0;
        const fieldIndex = field/* Field */.gN.normedBinaryIndexOf(this.fields, pos);
        if (fieldIndex > -1) {
            let field = this.fields[fieldIndex];
            while (field.parent)
                field = field.parent;
            pos = field.getFieldStartPosition();
        }
        const iterator = new model_iterator/* ModelIterator */.w(this, true);
        iterator.setPosition(pos);
        while (pos < interval.end) {
            switch (iterator.run.getType()) {
                case run_type/* RunType */.m.FieldCodeStartRun:
                    nested++;
                    break;
                case run_type/* RunType */.m.FieldCodeEndRun:
                    nested--;
                    break;
                case run_type/* RunType */.m.TextRun:
                    if (pos >= interval.start && nested == 0)
                        result += iterator.getCurrentChar();
                    break;
            }
            if (!iterator.moveToNextChar())
                break;
            pos = iterator.getAbsolutePosition();
        }
        return result.replace(rich_utils/* RichUtils */.i.specialCharacters.LineBreak, " ");
    }
    splitRun(position) {
        var info = this.getRunAndIndexesByPosition(position);
        var offset = position - (info.chunk.startLogPosition.value + info.run.startOffset);
        if (offset > 0)
            info.chunk.splitRun(info.runIndex, offset);
    }
    getLastRun() {
        var lastChunk = this.getLastChunk();
        return lastChunk.textRuns[lastChunk.textRuns.length - 1];
    }
    getFirstRun() {
        return this.chunks[0].textRuns[0];
    }
    getRunIterator(interval) {
        return this.getRunIteratorInternal(interval, false);
    }
    getConstRunIterator(interval) {
        return this.getRunIteratorInternal(interval, true);
    }
    getRunIteratorInternal(interval, isConstRunIterator) {
        if (interval.length == 0)
            return new RunIterator([], [], [], [1], [1]);
        var runs = [], chunks = [], sections = [], indexForChunks = [], indexForSections = [];
        var currentChunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, interval.start), currentChunk = this.chunks[currentChunkIndex];
        chunks.push(currentChunk);
        var currentRunIndex = search.SearchUtils.normedInterpolationIndexOf(currentChunk.textRuns, (r) => currentChunk.startLogPosition.value + r.startOffset, interval.start), currentRun = currentChunk.textRuns[currentRunIndex], remainIntervalLength = interval.length;
        if (currentChunk.startLogPosition.value + currentRun.startOffset < interval.start) {
            if (isConstRunIterator)
                remainIntervalLength += interval.start - (currentChunk.startLogPosition.value + currentRun.startOffset);
            else {
                currentChunk.splitRun(currentRunIndex, interval.start - (currentChunk.startLogPosition.value + currentRun.startOffset));
                currentRunIndex++;
            }
        }
        var currentSectionIndex = search.SearchUtils.normedInterpolationIndexOf(this.documentModel.sections, (s) => s.startLogPosition.value, interval.start);
        var currentSection = this.documentModel.sections[currentSectionIndex];
        sections.push(currentSection);
        var runIndex = 0;
        var sectionIndex = 0;
        var remainSectionLength = currentSection.startLogPosition.value + currentSection.getLength() - interval.start;
        while (currentRun = currentChunk.textRuns[currentRunIndex]) {
            if (remainSectionLength === 0 && this.isMain()) {
                currentSectionIndex++;
                currentSection = this.documentModel.sections[currentSectionIndex];
                sections.push(currentSection);
                indexForSections.push(sectionIndex - 1);
                remainSectionLength = currentSection.getLength();
            }
            if (currentRun.getLength() > remainIntervalLength) {
                if (isConstRunIterator) {
                    runs.push(currentRun.createSimularity(Math.max(currentRun.startOffset, interval.start - currentChunk.startLogPosition.value), Math.min(remainIntervalLength, interval.length), currentRun.paragraph, currentRun.characterStyle, currentRun.maskedCharacterProperties));
                }
                else {
                    currentChunk.splitRun(currentRunIndex, remainIntervalLength);
                    runs.push(currentRun);
                }
                break;
            }
            if (runIndex == 0 && isConstRunIterator && currentRun.startOffset + currentChunk.startLogPosition.value < interval.start) {
                var runEndPosition = currentChunk.startLogPosition.value + currentRun.startOffset + currentRun.getLength(), newRunLength = runEndPosition - interval.start;
                runs.push(currentRun.createSimularity(interval.start - currentChunk.startLogPosition.value, newRunLength, currentRun.paragraph, currentRun.characterStyle, currentRun.maskedCharacterProperties));
                remainSectionLength -= newRunLength;
            }
            else {
                runs.push(currentRun);
                remainSectionLength -= currentRun.getLength();
            }
            remainIntervalLength -= currentRun.getLength();
            currentRunIndex++;
            if (!remainIntervalLength)
                break;
            if (currentRunIndex == currentChunk.textRuns.length) {
                currentChunkIndex++;
                indexForChunks.push(runIndex);
                currentChunk = this.chunks[currentChunkIndex];
                chunks.push(currentChunk);
                currentRunIndex = 0;
            }
            sectionIndex++;
            runIndex++;
        }
        indexForChunks.push(runIndex + 1);
        indexForSections.push(sectionIndex + 1);
        return new RunIterator(runs, chunks, sections, indexForChunks, indexForSections);
    }
    getRunsByInterval(interval) {
        var runs = [];
        var chunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, interval.start);
        var chunk = this.chunks[chunkIndex];
        var runIndex = search.SearchUtils.normedInterpolationIndexOf(chunk.textRuns, (r) => chunk.startLogPosition.value + r.startOffset, interval.start);
        var run;
        var length = interval.length;
        var runOffset = interval.start - chunk.textRuns[runIndex].startOffset - chunk.startLogPosition.value;
        while (chunk && (run = chunk.textRuns[runIndex])) {
            runs.push(run);
            length -= (run.getLength() - runOffset);
            if (length <= 0)
                break;
            runIndex++;
            if (runIndex >= chunk.textRuns.length) {
                runIndex = 0;
                chunkIndex++;
                chunk = this.chunks[chunkIndex];
            }
            runOffset = 0;
        }
        return runs;
    }
    getRunByPosition(position) {
        var chunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, position);
        var chunk = this.chunks[chunkIndex];
        var runIndex = search.SearchUtils.normedInterpolationIndexOf(chunk.textRuns, (r) => chunk.startLogPosition.value + r.startOffset, position);
        return chunk.textRuns[runIndex];
    }
    getRunAndIndexesByPosition(position) {
        const chunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, position);
        const chunk = this.chunks[chunkIndex];
        const runOffset = position - chunk.startLogPosition.value;
        const runIndex = search.SearchUtils.normedInterpolationIndexOf(chunk.textRuns, (r) => r.startOffset, runOffset);
        const run = chunk.textRuns[runIndex];
        return new full_chunk_and_run_info/* FullChunkAndRunInfo */.N(chunkIndex, chunk, runIndex, run, runOffset - run.startOffset);
    }
    getSectionByPosition(position) {
        return this.documentModel.sections[search.SearchUtils.normedInterpolationIndexOf(this.documentModel.sections, (s) => s.startLogPosition.value, position)];
    }
    getParagraphByPosition(position) {
        return this.paragraphs[search.SearchUtils.normedInterpolationIndexOf(this.paragraphs, (p) => p.startLogPosition.value, position)];
    }
    getParagraphIndexByPosition(position) {
        return search.SearchUtils.normedInterpolationIndexOf(this.paragraphs, (p) => p.startLogPosition.value, position);
    }
    getParagraphsIndices(interval) {
        const endPosition = interval.end;
        const result = fixed.FixedInterval.fromPositions(search.SearchUtils.normedInterpolationIndexOf(this.paragraphs, paragraph => paragraph.startLogPosition.value, interval.start), search.SearchUtils.normedInterpolationIndexOf(this.paragraphs, paragraph => paragraph.startLogPosition.value, endPosition));
        if (endPosition > this.paragraphs[result.end].startLogPosition.value)
            result.length++;
        return result;
    }
    getParagraphsByInterval(interval) {
        var paragraphs = [], intervalEnd = interval.end, paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(this.paragraphs, (p) => p.startLogPosition.value, interval.start);
        paragraphs.push(this.paragraphs[paragraphIndex++]);
        for (var paragraph; paragraph = this.paragraphs[paragraphIndex]; paragraphIndex++) {
            if (paragraph.startLogPosition.value < intervalEnd)
                paragraphs.push(paragraph);
            else
                break;
        }
        return paragraphs;
    }
    getParagraphIndicesByIntervals(intervals) {
        let result = [];
        for (var i = 0, interval; interval = intervals[i]; i++) {
            let paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(this.paragraphs, (p) => p.startLogPosition.value, interval.start);
            let intervalEnd = interval.end;
            result.push(paragraphIndex++);
            for (let paragraph; paragraph = this.paragraphs[paragraphIndex]; paragraphIndex++) {
                if (paragraph.startLogPosition.value < intervalEnd)
                    result.push(paragraphIndex);
                else
                    break;
            }
        }
        return list.ListUtils.uniqueNumber(result);
    }
    getDocumentEndPosition() {
        return this.info.getEndPosition(this.documentModel);
    }
    getWholeWordInterval(position, checkRunProperties = false, includeBounds = false) {
        var interval = new fixed.FixedInterval(position, 0);
        if (!includeBounds && (position == this.getDocumentEndPosition() || position == 0))
            return interval;
        var chunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, position);
        var runOffset = position - this.chunks[chunkIndex].startLogPosition.value;
        var runIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks[chunkIndex].textRuns, (r) => r.startOffset, runOffset);
        var end = this.getWordEnd(position, checkRunProperties, chunkIndex, runIndex);
        if (end == position && !includeBounds)
            return interval;
        var start = this.getWordStart(position, checkRunProperties, this.chunks[chunkIndex].textRuns[runIndex]);
        if (start == position && !includeBounds)
            return interval;
        interval.start = start;
        interval.length = end - start;
        return interval;
    }
    getWordStart(position, checkRunProperties, prevRun) {
        if (position <= 0)
            return position;
        var start = position;
        position--;
        var chunkIndex = search.SearchUtils.normedInterpolationIndexOf(this.chunks, (c) => c.startLogPosition.value, position);
        var chunk = this.chunks[chunkIndex];
        var runIndex = search.SearchUtils.normedInterpolationIndexOf(chunk.textRuns, (r) => r.startOffset, (position - chunk.startLogPosition.value));
        var run = chunk.textRuns[runIndex];
        while (chunk && run && run.getType() === run_type/* RunType */.m.TextRun && chunk.textBuffer[position - chunk.startLogPosition.value].match(rich_utils/* RichUtils */.i.isAlphanumeric) &&
            (!checkRunProperties || prevRun === run || prevRun.maskedCharacterProperties.equals(run.maskedCharacterProperties))) {
            start = position;
            position--;
            if (position - chunk.startLogPosition.value - run.startOffset < 0) {
                prevRun = run;
                runIndex--;
                if (runIndex >= 0)
                    run = chunk.textRuns[runIndex];
                else {
                    chunk = this.chunks[--chunkIndex];
                    if (!chunk)
                        break;
                    runIndex = chunk.textRuns.length - 1;
                    run = chunk.textRuns[runIndex];
                }
            }
        }
        return start;
    }
    getWordEnd(position, checkRunProperties, chunkIndex, runIndex) {
        if (position == this.getDocumentEndPosition())
            return position;
        var chunk = this.chunks[chunkIndex];
        var run = chunk.textRuns[runIndex];
        var end = position;
        var prevRun = run;
        while (chunk && run && run.getType() === run_type/* RunType */.m.TextRun && chunk.textBuffer[position - chunk.startLogPosition.value].match(rich_utils/* RichUtils */.i.isAlphanumeric) &&
            (!checkRunProperties || prevRun === run || prevRun.maskedCharacterProperties.equals(run.maskedCharacterProperties))) {
            position++;
            end = position;
            if (position === chunk.startLogPosition.value + run.startOffset + run.getLength()) {
                prevRun = run;
                run = chunk.textRuns[++runIndex];
                if (!run) {
                    chunk = this.chunks[++chunkIndex];
                    if (chunk) {
                        runIndex = 0;
                        run = chunk.textRuns[runIndex];
                    }
                    else
                        break;
                }
            }
        }
        return end;
    }
    resetMergedFormattingCache(type, interval = new fixed.FixedInterval(0, this.getDocumentEndPosition())) {
        const parInd = this.getParagraphsIndices(interval);
        if (type & document_model/* ResetFormattingCacheType */.Pc.Paragraph)
            list.ListUtils.forEach(this.paragraphs, (paragraph) => paragraph.resetParagraphMergedProperties(), parInd.start, parInd.end);
        const startInfo = this.getRunAndIndexesByPosition(interval.start);
        const endInfo = this.getRunAndIndexesByPosition(interval.end);
        if (type & document_model/* ResetFormattingCacheType */.Pc.Character) {
            let runIndex = startInfo.runIndex;
            list.ListUtils.forEach(this.chunks, (chunk) => {
                list.ListUtils.allOf(chunk.textRuns, (run) => {
                    run.resetCharacterMergedProperties();
                    return endInfo.run != run;
                }, runIndex);
                runIndex = 0;
            }, startInfo.chunkIndex, endInfo.chunkIndex + 1);
        }
        return fixed.FixedInterval.fromPositions(this.paragraphs[parInd.start].startLogPosition.value, this.paragraphs[Math.max(parInd.start, parInd.end - 1)].getEndPosition());
    }
    isEditable(intervals) {
        return !this.documentModel.isDocumentProtectionEnabled || list.ListUtils.allOf(intervals, (interval) => {
            if (interval.end == this.getDocumentEndPosition())
                interval = interval.makeByStartLength(interval.start, interval.length - 1);
            return list.ListUtils.unsafeAnyOf(this.availableRangePermissions, (rangePermission) => rangePermission.interval.containsInterval(interval));
        });
    }
    filterRangePermissions(protectionSettings) {
        this.availableRangePermissions = this.documentModel.isDocumentProtectionEnabled ?
            list.ListUtils.reducedMap(this.rangePermissions, (permission) => permission.isGranted(protectionSettings) ? permission : null) :
            list.ListUtils.shallowCopy(this.rangePermissions);
    }
    clone(model) {
        const result = new SubDocument(model, this.info.clone());
        result.paragraphs = list.ListUtils.map(this.paragraphs, p => p.clone(result));
        result.chunks = list.ListUtils.map(this.chunks, c => c.clone(result));
        result.fields = list.ListUtils.map(this.fields, f => f.clone(result));
        result.fields.forEach(f => f.initParent(result.fields));
        for (let t of this.tables)
            result.tables.push(t.clone(result));
        result.bookmarks = list.ListUtils.map(this.bookmarks, b => b.clone(result));
        result.availableRangePermissions = list.ListUtils.map(this.availableRangePermissions, rp => rp.clone(result.positionManager));
        result.rangePermissions = list.ListUtils.map(this.rangePermissions, rp => rp.clone(result.positionManager));
        result.isDeleted = this.isDeleted;
        return result;
    }
    isMain() { return this.info.isMain; }
    isHeaderFooter() { return this.info.isHeaderFooter; }
    isFooter() { return this.info.isFooter; }
    isHeader() { return this.info.isHeader; }
    isNote() { return this.info.isNote; }
    isFootNote() { return this.info.isFootNote; }
    isEndNote() { return this.info.isEndNote; }
    isTextBox() { return this.info.isTextBox; }
    isComment() { return this.info.isComment; }
    isReferenced() { return this.info.isReferenced; }
    getParagraphProperties(paragraph) {
        return paragraph.getParagraphMergedProperties();
    }
    findBookmarkByInterval(intervals, searchHidden = true) {
        const bkms = [];
        algorithms.IntervalAlgorithms.handleAffectedObjects(this.bookmarks, algorithms.IntervalAlgorithms.getMergedIntervals(intervals, true), (bkm, _index, interval, intersection) => {
            if ((searchHidden || !bkm.isHidden()) && (intersection.length || bkm.length == 0 || intersection.start == bkm.start ||
                (interval.length == 0 && interval.start < bkm.end)))
                bkms.push(bkm);
        }, bookmarks_manipulator/* BookmarksManipulator */.m.findBookmarkStartIndex);
        return bkms;
    }
    getActualSubDocument() {
        var _a;
        if (!this.isDeleted)
            return this;
        return (_a = this.documentModel.subDocumentsCollection.collection[this.replacedWithSubDocId]) === null || _a === void 0 ? void 0 : _a.getActualSubDocument();
    }
}
SubDocument.AUTOGENERATE_ID = -1;
SubDocument.MAIN_SUBDOCUMENT_ID = 0;
class SubDocumentPosition {
    constructor(subDocument, position) {
        this.subDocument = subDocument;
        this.position = position;
    }
    validateInterval() {
        const documentEndPosition = this.subDocument.getDocumentEndPosition();
        this.position = Math.min(this.position, documentEndPosition - 1);
    }
    clone() {
        return new SubDocumentPosition(this.subDocument, this.position);
    }
    equals(obj) {
        return obj &&
            this.subDocument.id == obj.subDocument.id &&
            this.position == obj.position;
    }
}
class SubDocumentInterval {
    constructor(subDocument, interval) {
        this.subDocument = subDocument;
        this.interval = interval;
    }
    static fromPosition(subDocument, position) {
        return new SubDocumentInterval(subDocument, new fixed.FixedInterval(position, 0));
    }
    clone() {
        return new SubDocumentInterval(this.subDocument, this.interval.clone());
    }
    validateInterval() {
        internalValidateInterval(this.subDocument, this.interval);
    }
    equals(obj) {
        return obj &&
            this.subDocument.id == obj.subDocument.id &&
            this.interval.equals(obj.interval);
    }
}
class SubDocumentIntervals {
    constructor(subDocument, intervals) {
        this.subDocument = subDocument;
        this.intervals = intervals;
    }
    get multiselection() { return this.intervals.length > 1; }
    validateInterval() {
        for (let interval of this.intervals)
            internalValidateInterval(this.subDocument, interval);
    }
    clone() {
        return new SubDocumentIntervals(this.subDocument, list.ListUtils.deepCopy(this.intervals));
    }
    equals(obj) {
        return obj &&
            this.subDocument.id == obj.subDocument.id &&
            obj.intervals && list.ListUtils.equals(this.intervals, obj.intervals);
    }
    static fromPosition(subDocument, pos) {
        return new SubDocumentIntervals(subDocument, [new fixed.FixedInterval(pos, 0)]);
    }
}
function internalValidateInterval(subDocument, interval) {
    const documentEndPosition = subDocument.getDocumentEndPosition();
    if (interval.start == 0 && interval.end == documentEndPosition)
        return;
    interval.start = Math.min(interval.start, documentEndPosition - 1);
    interval.end = Math.min(interval.end, documentEndPosition);
}


/***/ }),

/***/ 2146:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  p: function() { return /* binding */ GridMaker; }
});

// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
;// CONCATENATED MODULE: ./src/common/model/tables/grid/table-cell-grid-info.ts

class CellGridInfo {
    constructor(rowIndex, gridCellIndex, cellIndexes) {
        this.rowIndex = rowIndex;
        this.gridCellIndex = gridCellIndex;
        this.cellIndexes = cellIndexes;
    }
    get rowIndexesInterval() {
        return new fixed.FixedInterval(this.rowIndex, this.cellIndexes.length);
    }
    getStartRowIndex() {
        return this.rowIndex;
    }
    getCellIndex(rowIndexInCell) {
        return this.cellIndexes[rowIndexInCell];
    }
    getCellIndexAbs(rowIndexInTable) {
        return this.cellIndexes[rowIndexInTable - this.rowIndex];
    }
    getNumRowsInCell() {
        return this.cellIndexes.length;
    }
    getGridCellIndex() {
        return this.gridCellIndex;
    }
    getGridCellIndexEnd(table) {
        return this.gridCellIndex + this.getColumnSpan(table);
    }
    addCellIndex(index) {
        this.cellIndexes.push(index);
        return this;
    }
    intersectRow(rowIndex) {
        return rowIndex >= this.rowIndex && rowIndex < this.getEndRowIndex();
    }
    getEndRowIndex() {
        return this.rowIndex + this.cellIndexes.length;
    }
    getLastRowIndex() {
        return this.getEndRowIndex() - 1;
    }
    getColumnSpan(table) {
        return table.rows[this.getStartRowIndex()].cells[this.getCellIndex(0)].columnSpan;
    }
    intersectGridColumn(columnIndex, columnSpan) {
        return columnIndex >= this.gridCellIndex && columnIndex < this.gridCellIndex + columnSpan;
    }
}

;// CONCATENATED MODULE: ./src/common/model/tables/grid/grid-maker.ts


class GridMaker {
    static fillGridInfo(table, tableCellGridInfos, tableCellInfos) {
        const rows = table.rows;
        for (let rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) {
            const tableCellGridInfo = [];
            const tableCellInfo = [];
            tableCellGridInfos.push(tableCellGridInfo);
            tableCellInfos.push(tableCellInfo);
            let currColSpan = row.gridBefore;
            for (let spacingIndex = currColSpan; spacingIndex > 0; spacingIndex--)
                tableCellGridInfo.push(null);
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                const currCellGridInfo = cell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue ?
                    new CellGridInfo(rowIndex, currColSpan, [cellIndex]) :
                    tableCellGridInfos[rowIndex - 1][currColSpan].addCellIndex(cellIndex);
                tableCellInfo.push(currCellGridInfo);
                for (let spacingIndex = cell.columnSpan; spacingIndex > 0; spacingIndex--)
                    tableCellGridInfo.push(currCellGridInfo);
                currColSpan += cell.columnSpan;
            }
        }
    }
}


/***/ }),

/***/ 8565:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: function() { return /* binding */ TableCell; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _borders_border_info__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3118);
/* harmony import */ var _borders_table_cell_borders__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3516);
/* harmony import */ var _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8403);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(247);
/* harmony import */ var _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4857);







class TableCell {
    constructor(parentRow, properties) {
        this.preferredWidth = _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableWidthUnit */ .CT.createDefault();
        this.columnSpan = 1;
        this.verticalMerging = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableCellMergingState */ .Z3.None;
        this.conditionalFormatting = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .ConditionalTableStyleFormatting */ .pB.WholeTable;
        this.parentRow = parentRow;
        this.properties = properties;
    }
    destructor(positionManager) {
        if (this.startParagraphPosition)
            positionManager.unregisterPosition(this.startParagraphPosition);
        if (this.endParagrapPosition)
            positionManager.unregisterPosition(this.endParagrapPosition);
    }
    get interval() { return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(this.startParagraphPosition.value, this.endParagrapPosition.value); }
    get isFirstCellInRow() {
        return this === this.parentRow.cells[0];
    }
    getActualTopCellBorder(defaultCellProperties) {
        const isTopOutsideBorder = this.parentRow.parentTable.rows[0] == this.parentRow;
        return this.getActualBorderCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerBorderTop */ .PU(this.parentRow.tablePropertiesException, isTopOutsideBorder), defaultCellProperties);
    }
    getActualLeftCellBorder(defaultCellProperties) {
        const isLeftOutsideBorder = this.parentRow.cells[0] == this;
        return this.getActualBorderCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerBorderLeft */ .L6(this.parentRow.tablePropertiesException, isLeftOutsideBorder), defaultCellProperties);
    }
    getActualBottomCellBorder(defaultCellProperties) {
        const isBottomOutsideBorder = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(this.parentRow.parentTable.rows) == this.parentRow;
        return this.getActualBorderCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerBorderBottom */ .i(this.parentRow.tablePropertiesException, isBottomOutsideBorder), defaultCellProperties);
    }
    getActualRightCellBorder(defaultCellProperties) {
        const isRightOutsideBorder = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(this.parentRow.cells) == this;
        return this.getActualBorderCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerBorderRight */ .g7(this.parentRow.tablePropertiesException, isRightOutsideBorder), defaultCellProperties);
    }
    getActualBorders(defaultTableProperties) {
        const top = this.getActualTopCellBorder(defaultTableProperties) || new _borders_border_info__WEBPACK_IMPORTED_MODULE_2__/* .BorderInfo */ .H();
        const right = this.getActualRightCellBorder(defaultTableProperties) || new _borders_border_info__WEBPACK_IMPORTED_MODULE_2__/* .BorderInfo */ .H();
        const bottom = this.getActualBottomCellBorder(defaultTableProperties) || new _borders_border_info__WEBPACK_IMPORTED_MODULE_2__/* .BorderInfo */ .H();
        const left = this.getActualLeftCellBorder(defaultTableProperties) || new _borders_border_info__WEBPACK_IMPORTED_MODULE_2__/* .BorderInfo */ .H();
        const topLeftDiagonal = new _borders_border_info__WEBPACK_IMPORTED_MODULE_2__/* .BorderInfo */ .H();
        const topRightDiagonal = new _borders_border_info__WEBPACK_IMPORTED_MODULE_2__/* .BorderInfo */ .H();
        return _borders_table_cell_borders__WEBPACK_IMPORTED_MODULE_3__/* .TableCellBorders */ .U.create(top, right, bottom, left, topLeftDiagonal, topRightDiagonal);
    }
    getActualBorderCore(tableCellPropertiesMerger, defaultCellProperties) {
        const tableStyle = this.parentRow.parentTable.style;
        return tableCellPropertiesMerger.getProperty(this.properties, tableStyle, this.conditionalFormatting, defaultCellProperties);
    }
    getActualLeftCellMargin(model) {
        return this.getActualCellMarginCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerMarginLeft */ .ku(this.parentRow.parentTable, model, this.parentRow.tablePropertiesException), model.defaultTableCellProperties);
    }
    getActualTopCellMargin(model) {
        return this.getActualCellMarginCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerMarginTop */ .ch(this.parentRow.parentTable, model, this.parentRow.tablePropertiesException), model.defaultTableCellProperties);
    }
    getActualRightCellMargin(model) {
        return this.getActualCellMarginCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerMarginRight */ .nn(this.parentRow.parentTable, model, this.parentRow.tablePropertiesException), model.defaultTableCellProperties);
    }
    getActualBottomCellMargin(model) {
        return this.getActualCellMarginCore(new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerMarginBottom */ .Eo(this.parentRow.parentTable, model, this.parentRow.tablePropertiesException), model.defaultTableCellProperties);
    }
    getActualCellMarginCore(tableCellPropertiesMerger, defaultTableCellProperties) {
        return tableCellPropertiesMerger.getProperty(this.properties, this.parentRow.parentTable.style, this.conditionalFormatting, defaultTableCellProperties);
    }
    getActualMargins(model) {
        const top = this.getActualTopCellMargin(model);
        const right = this.getActualRightCellMargin(model);
        const bottom = this.getActualBottomCellMargin(model);
        const left = this.getActualLeftCellMargin(model);
        return _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableCellMargins */ .Vx.create(top, right, bottom, left);
    }
    getActualShadingInfo(defaultTableProperties) {
        return new _properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMergerShadingInfo */ .iT().getProperty(this.properties, this.parentRow.parentTable.style, this.conditionalFormatting, defaultTableProperties);
    }
    clone(subDocument, parentRow) {
        const properties = subDocument.documentModel.cache.tableCellPropertiesCache.getItem(this.properties);
        const result = new TableCell(parentRow, properties);
        result.preferredWidth = this.preferredWidth.clone();
        result.columnSpan = this.columnSpan;
        result.verticalMerging = this.verticalMerging;
        result.startParagraphPosition = subDocument.positionManager.registerPosition(this.startParagraphPosition.value);
        result.endParagrapPosition = subDocument.positionManager.registerPosition(this.endParagrapPosition.value);
        result.conditionalFormatting = this.conditionalFormatting;
        return result;
    }
}


/***/ }),

/***/ 7509:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   S: function() { return /* binding */ TableRow; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _properties_table_properties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6537);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(247);
/* harmony import */ var _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4857);





class TableRow {
    get logicColumnCount() { return this.gridBefore + this.gridAfter + _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.accumulate(this.cells, 0, (acc, c) => acc += c.columnSpan); }
    constructor(parentTable, properties) {
        this.cells = [];
        this.widthBefore = _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableWidthUnit */ .CT.createDefault();
        this.widthAfter = _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableWidthUnit */ .CT.createDefault();
        this.gridBefore = 0;
        this.gridAfter = 0;
        this.height = _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_4__/* .TableHeightUnit */ .aN.createDefault();
        this.tablePropertiesException = new _properties_table_properties__WEBPACK_IMPORTED_MODULE_2__/* .TableProperties */ .XK();
        this.conditionalFormatting = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.WholeTable;
        this.parentTable = parentTable;
        this.properties = properties;
    }
    get isLastRowInTable() {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(this.parentTable.rows) === this;
    }
    destructor(positionManager) {
        for (var cellIndex = 0, cell; cell = this.cells[cellIndex]; cellIndex++)
            cell.destructor(positionManager);
    }
    getStartPosition() {
        return this.cells[0].startParagraphPosition.value;
    }
    getEndPosition() {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.last(this.cells).endParagrapPosition.value;
    }
    get interval() { return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(this.getStartPosition(), this.getEndPosition()); }
    getCellColumnIndex(cellIndex) {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.accumulate(this.cells, this.gridBefore, (acc, cell) => acc + cell.columnSpan, 0, cellIndex);
    }
    getCellIndex(cellColumnIndex) {
        let columnSpan = 0;
        let cellIndex = -1;
        while (columnSpan <= cellColumnIndex)
            columnSpan += this.cells[++cellIndex].columnSpan;
        return cellIndex;
    }
    getTotalCellsInRowConsiderGrid() {
        let cells = this.gridBefore;
        for (let i = 0, cell; cell = this.cells[i]; i++)
            cells += cell.columnSpan;
        cells += this.gridAfter;
        return cells;
    }
    clone(subDocument, parentTable) {
        const properties = subDocument.documentModel.cache.tableRowPropertiesCache.getItem(this.properties);
        const result = new TableRow(parentTable, properties);
        result.parentTable = parentTable;
        result.cells = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.map(this.cells, r => r.clone(subDocument, result));
        result.widthBefore = this.widthBefore.clone();
        result.widthAfter = this.widthAfter.clone();
        result.gridBefore = this.gridBefore;
        result.gridAfter = this.gridAfter;
        result.height = this.height.clone();
        result.tablePropertiesException = this.tablePropertiesException.clone();
        result.conditionalFormatting = this.conditionalFormatting;
        return result;
    }
}


/***/ }),

/***/ 8707:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   TR: function() { return /* binding */ TablePosition; },
/* harmony export */   iA: function() { return /* binding */ Table; },
/* harmony export */   o6: function() { return /* binding */ TablePositionIndexes; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2400);
/* harmony import */ var _layout_formatter_table_table_alignment_applier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9327);
/* harmony import */ var _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1314);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(247);
/* harmony import */ var _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4857);
/* harmony import */ var _borders_table_borders__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4437);








class Table {
    constructor(properties, style) {
        this.rows = [];
        this.preferredWidth = _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableWidthUnit */ .CT.createDefault();
        this.lookTypes = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableLookTypes */ .sp.None;
        this.properties = properties;
        this.style = style;
    }
    getTotalVirtualColumnsCount() {
        return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.maxExtended(this.rows, row => row.getTotalCellsInRowConsiderGrid()).maxValue;
    }
    destructor(positionManager) {
        for (var rowIndex = 0, tableRow; tableRow = this.rows[rowIndex]; rowIndex++)
            tableRow.destructor(positionManager);
    }
    get interval() { return _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval.fromPositions(this.getStartPosition(), this.getEndPosition()); }
    getParentTable() {
        const parentCell = this.parentCell;
        return parentCell ? this.parentCell.parentRow.parentTable : null;
    }
    getTopLevelParent() {
        let currTable = this;
        while (currTable.parentCell)
            currTable = currTable.getParentTable();
        return currTable;
    }
    getStartPosition() {
        return this.rows[0].getStartPosition();
    }
    getEndPosition() {
        return this.rows[this.rows.length - 1].getEndPosition();
    }
    getLastCell() {
        let lastRow = this.rows[this.rows.length - 1];
        return lastRow.cells[lastRow.cells.length - 1];
    }
    getFirstCell() {
        return this.rows[0].cells[0];
    }
    getActualLeftBorder(defaultTableProperties, isTableOuterBorder = true) {
        return this.getActualBorderCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerBorderLeft */ .QO(isTableOuterBorder), defaultTableProperties);
    }
    getActualRightBorder(defaultTableProperties, isTableOuterBorder = true) {
        return this.getActualBorderCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerBorderRight */ .Nq(isTableOuterBorder), defaultTableProperties);
    }
    getActualBottomBorder(defaultTableProperties, isTableOuterBorder = true) {
        return this.getActualBorderCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerBorderBottom */ .zN(isTableOuterBorder), defaultTableProperties);
    }
    getActualTopBorder(defaultTableProperties, isTableOuterBorder = true) {
        return this.getActualBorderCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerBorderTop */ ._m(isTableOuterBorder), defaultTableProperties);
    }
    getActualHorizontalBorder(defaultTableProperties) {
        return this.getActualBorderCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerBorderHorizontal */ .LE(), defaultTableProperties);
    }
    getActualVerticalBorder(defaultTableProperties) {
        return this.getActualBorderCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerBorderVertical */ .Yk(), defaultTableProperties);
    }
    getActualBorders(defaultTableProperties) {
        const top = this.getActualTopBorder(defaultTableProperties);
        const right = this.getActualRightBorder(defaultTableProperties);
        const bottom = this.getActualBottomBorder(defaultTableProperties);
        const left = this.getActualLeftBorder(defaultTableProperties);
        const insideHorizontal = this.getActualHorizontalBorder(defaultTableProperties);
        const insideVertical = this.getActualVerticalBorder(defaultTableProperties);
        return _borders_table_borders__WEBPACK_IMPORTED_MODULE_7__/* .TableBorders */ .E.create(top, right, bottom, left, insideHorizontal, insideVertical);
    }
    getActualBorderCore(tablePropertiesMerger, defaultTableProperties) {
        return tablePropertiesMerger.getProperty(this.properties, this.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, defaultTableProperties);
    }
    getActualLeftMargin(defaultTableProperties) {
        return this.getActualMarginCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerMarginLeft */ .R8(), defaultTableProperties);
    }
    getActualRightMargin(defaultTableProperties) {
        return this.getActualMarginCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerMarginRight */ .cI(), defaultTableProperties);
    }
    getActualTopMargin(defaultTableProperties) {
        return this.getActualMarginCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerMarginTop */ .AF(), defaultTableProperties);
    }
    getActualBottomMargin(defaultTableProperties) {
        return this.getActualMarginCore(new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerMarginBottom */ .vO(), defaultTableProperties);
    }
    getActualMarginCore(merger, defaultTableProperties) {
        return merger.getProperty(this.properties, this.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, defaultTableProperties);
    }
    getActualMargins(defaultTableProperties) {
        const top = this.getActualTopMargin(defaultTableProperties);
        const right = this.getActualRightMargin(defaultTableProperties);
        const bottom = this.getActualBottomMargin(defaultTableProperties);
        const left = this.getActualLeftMargin(defaultTableProperties);
        return _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableCellMargins */ .Vx.create(top, right, bottom, left);
    }
    getActualTableAlignment() {
        return _layout_formatter_table_table_alignment_applier__WEBPACK_IMPORTED_MODULE_3__/* .TableAlignmentApplier */ .g.getTableAlignment(this);
    }
    getActualTableIndent(defaultTableProperties) {
        const aligment = this.getActualTableAlignment();
        if (aligment != _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableRowAlignment */ ._6.Left)
            return _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_6__/* .TableWidthUnit */ .CT.createDefault();
        return new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerIndent */ .wu().getProperty(this.properties, this.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, defaultTableProperties);
    }
    getActualTableLayout(defaultTableProperties) {
        return new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerLayoutType */ .Ru().getProperty(this.properties, this.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, defaultTableProperties);
    }
    getActualShadingInfo(defaultTableProperties) {
        return new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TablePropertiesMergerShadingInfo */ .aV().getProperty(this.properties, this.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, defaultTableProperties);
    }
    static comparer(a, b) {
        const cmpPos = a.getStartPosition() - b.getStartPosition();
        return cmpPos == 0 ? a.nestedLevel - b.nestedLevel : cmpPos;
    }
    static sort(tables) {
        tables.sort(Table.comparer);
        for (let tableIndex = 0, table; table = tables[tableIndex]; tableIndex++)
            table.index = tableIndex;
    }
    static advanceIndices(tables, startIndex, shift) {
        for (let i = startIndex, table; table = tables[i]; i++)
            table.index += shift;
    }
    static fillTableByLevels(subDocument) {
        const tableByLevels = subDocument.tablesByLevels;
        let tableByLevelsLength = tableByLevels.length;
        for (let tableIndex = 0, table; table = subDocument.tables[tableIndex]; tableIndex++) {
            table.index = tableIndex;
            if (table.nestedLevel >= tableByLevelsLength) {
                tableByLevels.push([]);
                tableByLevelsLength++;
            }
            tableByLevels[table.nestedLevel].push(table);
        }
    }
    static getTableCellByPosition(tables, position) {
        const table = Table.getTableByPosition(tables, position, true);
        return table ? Table.getTableCellByPositionFromTable(table, position) : null;
    }
    static getTableCellByPositionFromTable(table, position) {
        const rowIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.normedInterpolationIndexOf(table.rows, r => r.getStartPosition(), position);
        const row = table.rows[rowIndex];
        const cellIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.normedInterpolationIndexOf(row.cells, c => c.startParagraphPosition.value, position);
        return row.cells[cellIndex];
    }
    static getTableByPosition(tables, position, maxNestedLevel, tableIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.normedInterpolationIndexOf(tables, (t) => t.getStartPosition(), position)) {
        if (tableIndex < 0)
            return null;
        let table = tables[tableIndex];
        while (position >= table.getEndPosition()) {
            if (table.nestedLevel === 0)
                return null;
            table = table.getParentTable();
        }
        return Table.correctBoundTable(tables, table.index, position, maxNestedLevel ? (index) => ++index : (index) => --index);
    }
    static correctBoundTable(tables, tableIndex, position, indexIterator) {
        let table = tables[tableIndex];
        let tablePos = table.getStartPosition();
        tableIndex = indexIterator(tableIndex);
        for (let neighborTable; neighborTable = tables[tableIndex]; tableIndex = indexIterator(tableIndex)) {
            const neighborTablePos = neighborTable.getStartPosition();
            if (tablePos != neighborTablePos || position >= neighborTable.getEndPosition())
                break;
            tablePos = neighborTablePos;
            table = neighborTable;
        }
        return table;
    }
    static getFirstCellPositionInVerticalMergingGroup(tablePosition) {
        if (tablePosition.cell.verticalMerging != _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableCellMergingState */ .Z3.Continue)
            return tablePosition;
        const tblPos = tablePosition.clone().init();
        const cellColumnIndex = tblPos.row.getCellColumnIndex(tblPos.cellIndex);
        while (tblPos.moveToPrevRow()) {
            let columnIndex = tblPos.row.gridBefore;
            tblPos.setCell(0);
            do {
                if (cellColumnIndex <= columnIndex) {
                    if (tblPos.cell.verticalMerging != _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_5__/* .TableCellMergingState */ .Z3.Continue || tblPos.rowIndex == 0)
                        return tblPos;
                    else
                        break;
                }
                columnIndex += tblPos.cell.columnSpan;
            } while (tblPos.moveToNextCell());
        }
        return null;
    }
    clone(subDocument) {
        const result = new Table(this.properties.clone(), subDocument.documentModel.stylesManager.getTableStyleByName(this.style.styleName));
        result.index = this.index;
        result.nestedLevel = this.nestedLevel;
        const tablesOnLevel = subDocument.tablesByLevels[result.nestedLevel];
        if (!tablesOnLevel)
            subDocument.tablesByLevels.push([result]);
        else
            tablesOnLevel.push(result);
        if (this.parentCell)
            result.parentCell = Table.getTableCellByPositionFromTable(subDocument.tables[this.parentCell.parentRow.parentTable.index], this.parentCell.startParagraphPosition.value);
        result.rows = _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.map(this.rows, r => r.clone(subDocument, result));
        result.preferredWidth = this.preferredWidth.clone();
        result.lookTypes = this.lookTypes;
        return result;
    }
}
class TablePositionIndexes {
    constructor(rowIndex, cellIndex) {
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
    }
    equals(obj) {
        return obj &&
            this.cellIndex == obj.cellIndex &&
            this.rowIndex == obj.rowIndex;
    }
    copyFrom(obj) {
        this.rowIndex = obj.rowIndex;
        this.cellIndex = obj.cellIndex;
    }
    clone() {
        return new TablePositionIndexes(this.rowIndex, this.cellIndex);
    }
}
class TablePosition extends TablePositionIndexes {
    constructor(table, rowIndex, cellIndex) {
        super(rowIndex, cellIndex);
        this.table = table;
    }
    initIndexes(rowIndex, cellIndex) {
        this.rowIndex = rowIndex;
        this.cellIndex = cellIndex;
        return this;
    }
    init() {
        this.row = this.table.rows[this.rowIndex];
        this.cell = this.row.cells[this.cellIndex];
        return this;
    }
    setRow(rowIndex) {
        this.rowIndex = rowIndex;
        this.row = this.table.rows[this.rowIndex];
        return this;
    }
    setCell(cellIndex) {
        this.cellIndex = cellIndex;
        this.cell = this.row.cells[cellIndex];
    }
    static createAndInit(table, rowIndex, cellIndex) {
        const position = new TablePosition(table, rowIndex, cellIndex);
        position.init();
        return position;
    }
    static indexOfCell(positions, cell) {
        for (let i = 0, pos; pos = positions[i]; i++) {
            if (pos.cell === cell)
                return i;
        }
        return -1;
    }
    moveToPrevRow() {
        if (!this.rowIndex)
            return false;
        this.rowIndex--;
        this.row = this.table.rows[this.rowIndex];
        return true;
    }
    moveToNextRow() {
        if (this.rowIndex == this.table.rows.length - 1)
            return false;
        this.rowIndex++;
        this.row = this.table.rows[this.rowIndex];
        this.cellIndex = -1;
        return true;
    }
    moveToNextCell() {
        if (this.cellIndex == this.row.cells.length - 1)
            return false;
        this.cellIndex++;
        this.cell = this.row.cells[this.cellIndex];
        return true;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.table = obj.table;
        this.row = obj.row;
        this.cell = obj.cell;
    }
    clone() {
        const pos = new TablePosition(this.table, this.rowIndex, this.cellIndex);
        pos.row = this.row;
        pos.cell = this.cell;
        return pos;
    }
    equals(obj) {
        return obj &&
            this.table == obj.table &&
            this.rowIndex == obj.rowIndex &&
            this.cellIndex == obj.cellIndex;
    }
}


/***/ }),

/***/ 8403:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Eo: function() { return /* binding */ TableCellPropertiesMergerMarginBottom; },
/* harmony export */   JY: function() { return /* binding */ TableCellPropertiesMergerBorderTopRightDiagonal; },
/* harmony export */   L6: function() { return /* binding */ TableCellPropertiesMergerBorderLeft; },
/* harmony export */   PU: function() { return /* binding */ TableCellPropertiesMergerBorderTop; },
/* harmony export */   ch: function() { return /* binding */ TableCellPropertiesMergerMarginTop; },
/* harmony export */   g7: function() { return /* binding */ TableCellPropertiesMergerBorderRight; },
/* harmony export */   i: function() { return /* binding */ TableCellPropertiesMergerBorderBottom; },
/* harmony export */   iT: function() { return /* binding */ TableCellPropertiesMergerShadingInfo; },
/* harmony export */   iU: function() { return /* binding */ TableCellPropertiesMerger; },
/* harmony export */   kc: function() { return /* binding */ TableCellVerticalAlignmentMerger; },
/* harmony export */   ku: function() { return /* binding */ TableCellPropertiesMergerMarginLeft; },
/* harmony export */   nn: function() { return /* binding */ TableCellPropertiesMergerMarginRight; },
/* harmony export */   x$: function() { return /* binding */ TableCellPropertiesMergerNoWrap; },
/* harmony export */   xn: function() { return /* binding */ TableCellPropertiesMergerBorderTopLeftDiagonal; }
/* harmony export */ });
/* unused harmony exports TableCellPropertiesMergerMarginBase, TableCellPropertiesMergerBorderBase */
/* harmony import */ var _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2993);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(247);
/* harmony import */ var _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1314);
/* harmony import */ var _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5584);




class TableCellPropertiesMerger extends _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .TablePropertiesMergerBase */ .y {
    getContainerFromConditionalStyle(condStyle) {
        return condStyle.tableCellProperties;
    }
    canUseValue(props) {
        return !!(props.mask & this.getPropertyMask());
    }
    getCondTableStyleFormattingListForThisContainer() {
        return TableCellPropertiesMerger.conditionalTableStyleFormattingPriority;
    }
    getNotMergedProperty() {
        return new _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .TableMergerNotMergedPropertyResult */ .n(false, null);
    }
}
TableCellPropertiesMerger.conditionalTableStyleFormattingPriority = [
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.TopLeftCell,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.TopRightCell,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.BottomLeftCell,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.BottomRightCell,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.FirstRow,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.LastRow,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.FirstColumn,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.LastColumn,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.EvenColumnBanding,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.OddColumnBanding,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.EvenRowBanding,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.OddRowBanding,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.WholeTable,
];
class TableCellPropertiesMergerMarginBase extends TableCellPropertiesMerger {
    constructor(table, model, tablePropertiesException) {
        super();
        this.table = table;
        this.model = model;
        this.tablePropertiesException = tablePropertiesException;
    }
    actionBeforeDefaultValue() {
        this.result = this.getMarginMerger().getProperty(this.table.properties, this.table.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, this.model.defaultTableProperties);
        return true;
    }
    getNotMergedProperty() {
        return this.getMarginMerger().getTableNotMergedProperty(this.tablePropertiesException);
    }
}
class TableCellPropertiesMergerMarginLeft extends TableCellPropertiesMergerMarginBase {
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseLeftMargin;
    }
    getPropertyFromContainer(container) {
        return container.cellMargins.left;
    }
    getMarginMerger() {
        return new _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerMarginLeft */ .R8();
    }
}
class TableCellPropertiesMergerMarginRight extends TableCellPropertiesMergerMarginBase {
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseRightMargin;
    }
    getPropertyFromContainer(container) {
        return container.cellMargins.right;
    }
    getMarginMerger() {
        return new _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerMarginRight */ .cI();
    }
}
class TableCellPropertiesMergerMarginTop extends TableCellPropertiesMergerMarginBase {
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseTopMargin;
    }
    getPropertyFromContainer(container) {
        return container.cellMargins.top;
    }
    getMarginMerger() {
        return new _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerMarginTop */ .AF();
    }
}
class TableCellPropertiesMergerMarginBottom extends TableCellPropertiesMergerMarginBase {
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseBottomMargin;
    }
    getPropertyFromContainer(container) {
        return container.cellMargins.bottom;
    }
    getMarginMerger() {
        return new _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerMarginBottom */ .vO();
    }
}
class TableCellPropertiesMergerBorderBase extends TableCellPropertiesMerger {
    constructor(tablePropertiesException) {
        super();
        this.tablePropertiesException = tablePropertiesException;
    }
    actionBeforeDefaultValue() {
        this.result = null;
        return true;
    }
}
class TableCellPropertiesMergerBorderLeft extends TableCellPropertiesMergerBorderBase {
    constructor(tablePropertiesException, isOutsideBorder) {
        super(tablePropertiesException);
        this.isOutsideBorder = isOutsideBorder;
    }
    getPropertyFromContainer(container) {
        return container.borders.left;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseLeftBorder;
    }
    getNotMergedProperty() {
        return new (this.isOutsideBorder ? _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderLeft */ .QO : _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderVertical */ .Yk)()
            .getTableNotMergedProperty(this.tablePropertiesException);
    }
}
class TableCellPropertiesMergerBorderRight extends TableCellPropertiesMergerBorderBase {
    constructor(tablePropertiesException, isOutsideBorder) {
        super(tablePropertiesException);
        this.isOutsideBorder = isOutsideBorder;
    }
    getPropertyFromContainer(container) {
        return container.borders.right;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseRightBorder;
    }
    getNotMergedProperty() {
        return new (this.isOutsideBorder ? _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderRight */ .Nq : _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderVertical */ .Yk)()
            .getTableNotMergedProperty(this.tablePropertiesException);
    }
}
class TableCellPropertiesMergerBorderTop extends TableCellPropertiesMergerBorderBase {
    constructor(tablePropertiesException, isOutsideBorder) {
        super(tablePropertiesException);
        this.isOutsideBorder = isOutsideBorder;
    }
    getPropertyFromContainer(container) {
        return container.borders.top;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseTopBorder;
    }
    getNotMergedProperty() {
        return new (this.isOutsideBorder ? _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderTop */ ._m : _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderHorizontal */ .LE)()
            .getTableNotMergedProperty(this.tablePropertiesException);
    }
}
class TableCellPropertiesMergerBorderBottom extends TableCellPropertiesMergerBorderBase {
    constructor(tablePropertiesException, isOutsideBorder) {
        super(tablePropertiesException);
        this.isOutsideBorder = isOutsideBorder;
    }
    getPropertyFromContainer(container) {
        return container.borders.bottom;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseBottomBorder;
    }
    getNotMergedProperty() {
        return new (this.isOutsideBorder ? _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderBottom */ .zN : _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerBorderHorizontal */ .LE)()
            .getTableNotMergedProperty(this.tablePropertiesException);
    }
}
class TableCellPropertiesMergerBorderTopLeftDiagonal extends TableCellPropertiesMergerBorderBase {
    getPropertyFromContainer(container) {
        return container.borders.topLeftDiagonal;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseTopLeftDiagonalBorder;
    }
}
class TableCellPropertiesMergerBorderTopRightDiagonal extends TableCellPropertiesMergerBorderBase {
    getPropertyFromContainer(container) {
        return container.borders.topRightDiagonal;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseTopRightDiagonalBorder;
    }
}
class TableCellPropertiesMergerNoWrap extends TableCellPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.noWrap;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseNoWrap;
    }
}
class TableCellPropertiesMergerShadingInfo extends TableCellPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.shadingInfo;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseShadingInfoIndex;
    }
}
class TableCellVerticalAlignmentMerger extends TableCellPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.verticalAlignment;
    }
    getPropertyMask() {
        return _properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableCellPropertiesMask */ .WO.UseVerticalAlignment;
    }
}


/***/ }),

/***/ 5584:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   n: function() { return /* binding */ TableMergerNotMergedPropertyResult; },
/* harmony export */   y: function() { return /* binding */ TablePropertiesMergerBase; }
/* harmony export */ });
class TablePropertiesMergerBase {
    getProperty(container, style, condStyleFormattingFlags, defaultContainer) {
        if (this.getPropertyInternal(container))
            return this.result;
        if (this.processTablePropertiesException())
            return this.result;
        while (style) {
            const condStyleList = this.getCondTableStyleFormattingListForThisContainer();
            for (let cond of condStyleList)
                if (condStyleFormattingFlags & cond) {
                    const condStyle = style.conditionalStyles[cond];
                    if (condStyle && this.getPropertyInternal(this.getContainerFromConditionalStyle(condStyle)))
                        return this.result;
                }
            const baseConditionalStyleContainer = this.getContainerFromConditionalStyle(style.baseConditionalStyle);
            if (baseConditionalStyleContainer && this.getPropertyInternal(baseConditionalStyleContainer))
                return this.result;
            style = style.parent;
        }
        if (this.actionBeforeDefaultValue())
            return this.result;
        return this.getPropertyFromContainer(defaultContainer);
    }
    processTablePropertiesException() {
        if (!this.tablePropertiesException)
            return false;
        const res = this.getNotMergedProperty();
        if (!res.isFound)
            return false;
        this.result = res.result;
        return true;
    }
    getPropertyInternal(container) {
        if (!this.canUseValue(container))
            return false;
        this.result = this.getPropertyFromContainer(container);
        return true;
    }
    actionBeforeDefaultValue() {
        return false;
    }
}
class TableMergerNotMergedPropertyResult {
    constructor(isFound, result) {
        this.isFound = isFound;
        this.result = result;
    }
}


/***/ }),

/***/ 1314:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   $D: function() { return /* binding */ TablePropertiesMergerStyleColumnBandSize; },
/* harmony export */   AF: function() { return /* binding */ TablePropertiesMergerMarginTop; },
/* harmony export */   G8: function() { return /* binding */ TablePropertiesMergerHorizontalAlignment; },
/* harmony export */   LE: function() { return /* binding */ TablePropertiesMergerBorderHorizontal; },
/* harmony export */   Nq: function() { return /* binding */ TablePropertiesMergerBorderRight; },
/* harmony export */   QO: function() { return /* binding */ TablePropertiesMergerBorderLeft; },
/* harmony export */   R8: function() { return /* binding */ TablePropertiesMergerMarginLeft; },
/* harmony export */   Ru: function() { return /* binding */ TablePropertiesMergerLayoutType; },
/* harmony export */   TH: function() { return /* binding */ TablePropertiesMergerStyleRowBandSize; },
/* harmony export */   Yk: function() { return /* binding */ TablePropertiesMergerBorderVertical; },
/* harmony export */   _m: function() { return /* binding */ TablePropertiesMergerBorderTop; },
/* harmony export */   aV: function() { return /* binding */ TablePropertiesMergerShadingInfo; },
/* harmony export */   cI: function() { return /* binding */ TablePropertiesMergerMarginRight; },
/* harmony export */   rP: function() { return /* binding */ TablePropertiesMergerCellSpacing; },
/* harmony export */   vO: function() { return /* binding */ TablePropertiesMergerMarginBottom; },
/* harmony export */   wu: function() { return /* binding */ TablePropertiesMergerIndent; },
/* harmony export */   zN: function() { return /* binding */ TablePropertiesMergerBorderBottom; }
/* harmony export */ });
/* unused harmony exports TablePropertiesMerger, TablePropertiesMergerBorderBase */
/* harmony import */ var _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7820);
/* harmony import */ var _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6537);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(247);
/* harmony import */ var _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5584);




class TablePropertiesMerger extends _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .TablePropertiesMergerBase */ .y {
    getContainerFromConditionalStyle(condStyle) {
        return condStyle.tableProperties;
    }
    canUseValue(props) {
        return !!(props.mask & this.getPropertyMask());
    }
    getCondTableStyleFormattingListForThisContainer() {
        return TablePropertiesMerger.conditionalTableStyleFormattingPriority;
    }
    getTableNotMergedProperty(container) {
        if (!this.canUseValue(container))
            return new _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .TableMergerNotMergedPropertyResult */ .n(false, null);
        return new _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .TableMergerNotMergedPropertyResult */ .n(true, this.getPropertyFromContainer(container));
    }
    getNotMergedProperty() {
        return this.getTableNotMergedProperty(this.tablePropertiesException);
    }
}
TablePropertiesMerger.conditionalTableStyleFormattingPriority = [
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_2__/* .ConditionalTableStyleFormatting */ .pB.WholeTable,
];
class TablePropertiesMergerIndent extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.indent;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTableIndent;
    }
}
class TablePropertiesMergerCellSpacing extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.cellSpacing;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseCellSpacing;
    }
}
class TablePropertiesMergerBorderBase extends TablePropertiesMerger {
    constructor(isTableOuterBorder) {
        super();
        this.isTableOuterBorder = isTableOuterBorder;
    }
    getPropertiesMaskCore(mask) {
        if (this.isTableOuterBorder)
            return mask;
        const flag = new _devexpress_utils_lib_class_flag__WEBPACK_IMPORTED_MODULE_0__.Flag(mask);
        if (flag.get(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseLeftBorder) || flag.get(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseRightBorder))
            flag.set(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseInsideVerticalBorder, true);
        if (flag.get(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTopBorder) || flag.get(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseBottomBorder))
            flag.set(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseInsideHorizontalBorder, true);
        flag.set(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseLeftBorder, false);
        flag.set(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseRightBorder, false);
        flag.set(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTopBorder, false);
        flag.set(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseBottomBorder, false);
        return flag.getValue();
    }
}
class TablePropertiesMergerBorderLeft extends TablePropertiesMergerBorderBase {
    constructor(isTableOuterBorder = true) {
        super(isTableOuterBorder);
    }
    getPropertyFromContainer(container) {
        return container.borders.left;
    }
    getPropertyMask() {
        return super.getPropertiesMaskCore(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseLeftBorder);
    }
}
class TablePropertiesMergerBorderRight extends TablePropertiesMergerBorderBase {
    constructor(isTableOuterBorder = true) {
        super(isTableOuterBorder);
    }
    getPropertyFromContainer(container) {
        return container.borders.right;
    }
    getPropertyMask() {
        return super.getPropertiesMaskCore(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseRightBorder);
    }
}
class TablePropertiesMergerBorderTop extends TablePropertiesMergerBorderBase {
    constructor(isTableOuterBorder = true) {
        super(isTableOuterBorder);
    }
    getPropertyFromContainer(container) {
        return container.borders.top;
    }
    getPropertyMask() {
        return super.getPropertiesMaskCore(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTopBorder);
    }
}
class TablePropertiesMergerBorderBottom extends TablePropertiesMergerBorderBase {
    constructor(isTableOuterBorder = true) {
        super(isTableOuterBorder);
    }
    getPropertyFromContainer(container) {
        return container.borders.bottom;
    }
    getPropertyMask() {
        return super.getPropertiesMaskCore(_properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseBottomBorder);
    }
}
class TablePropertiesMergerBorderVertical extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.borders.insideVertical;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseInsideVerticalBorder;
    }
}
class TablePropertiesMergerBorderHorizontal extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.borders.insideHorizontal;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseInsideHorizontalBorder;
    }
}
class TablePropertiesMergerMarginLeft extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.cellMargins.left;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseLeftMargin;
    }
}
class TablePropertiesMergerMarginRight extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.cellMargins.right;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseRightMargin;
    }
}
class TablePropertiesMergerMarginTop extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.cellMargins.top;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTopMargin;
    }
}
class TablePropertiesMergerMarginBottom extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.cellMargins.bottom;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseBottomMargin;
    }
}
class TablePropertiesMergerLayoutType extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.layoutType;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTableLayout;
    }
}
class TablePropertiesMergerShadingInfo extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.shadingInfo;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseShadingInfoIndex;
    }
}
class TablePropertiesMergerStyleColumnBandSize extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.tableStyleColumnBandSize;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTableStyleColBandSize;
    }
}
class TablePropertiesMergerStyleRowBandSize extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.tableStyleRowBandSize;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTableStyleRowBandSize;
    }
}
class TablePropertiesMergerHorizontalAlignment extends TablePropertiesMerger {
    getPropertyFromContainer(container) {
        return container.tableRowAlignment;
    }
    getPropertyMask() {
        return _properties_table_properties__WEBPACK_IMPORTED_MODULE_1__/* .TablePropertiesMask */ .r4.UseTableAlignment;
    }
    actionBeforeDefaultValue() {
        this.result = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_2__/* .TableRowAlignment */ ._6.Left;
        return true;
    }
}


/***/ }),

/***/ 1157:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   KJ: function() { return /* binding */ TableRowPropertiesMergerHorizontalAlignment; },
/* harmony export */   L2: function() { return /* binding */ TableRowPropertiesMergerCellSpacing; },
/* harmony export */   Y_: function() { return /* binding */ TableRowPropertiesMergerCantSplit; },
/* harmony export */   Yx: function() { return /* binding */ TableRowPropertiesMergerDivId; }
/* harmony export */ });
/* unused harmony export TableRowPropertiesMerger */
/* harmony import */ var _properties_table_row_properties__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8222);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(247);
/* harmony import */ var _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1314);
/* harmony import */ var _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5584);




class TableRowPropertiesMerger extends _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .TablePropertiesMergerBase */ .y {
    getContainerFromConditionalStyle(condStyle) {
        return condStyle.tableRowProperties;
    }
    canUseValue(props) {
        return !!(props.mask & this.getPropertyMask());
    }
    getCondTableStyleFormattingListForThisContainer() {
        return TableRowPropertiesMerger.conditionalTableStyleFormattingPriority;
    }
    getNotMergedProperty() {
        return new _table_properties_merger_base__WEBPACK_IMPORTED_MODULE_3__/* .TableMergerNotMergedPropertyResult */ .n(false, null);
    }
}
TableRowPropertiesMerger.conditionalTableStyleFormattingPriority = [
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.FirstRow,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.LastRow,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.OddRowBanding,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.EvenRowBanding,
    _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.WholeTable,
];
class TableRowPropertiesMergerCellSpacing extends TableRowPropertiesMerger {
    constructor(model, table, tablePropertiesException) {
        super();
        this.tablePropertiesException = tablePropertiesException;
        this.model = model;
        this.table = table;
    }
    getPropertyFromContainer(container) {
        return container.cellSpacing;
    }
    getPropertyMask() {
        return _properties_table_row_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMask */ .d.UseCellSpacing;
    }
    getNotMergedProperty() {
        return new _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerCellSpacing */ .rP().getTableNotMergedProperty(this.tablePropertiesException);
    }
    actionBeforeDefaultValue() {
        this.result = new _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerCellSpacing */ .rP().getProperty(this.table.properties, this.table.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, this.model.defaultTableProperties);
        return true;
    }
}
class TableRowPropertiesMergerCantSplit extends TableRowPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.cantSplit;
    }
    getPropertyMask() {
        return _properties_table_row_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMask */ .d.UseCantSplit;
    }
}
class TableRowPropertiesMergerHorizontalAlignment extends TableRowPropertiesMerger {
    constructor(tablePropertiesException) {
        super();
        this.tablePropertiesException = tablePropertiesException;
    }
    getPropertyFromContainer(container) {
        return container.tableRowAlignment;
    }
    getPropertyMask() {
        return _properties_table_row_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMask */ .d.UseTableRowAlignment;
    }
    actionBeforeDefaultValue() {
        this.result = null;
        return true;
    }
    getNotMergedProperty() {
        return new _table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerHorizontalAlignment */ .G8().getTableNotMergedProperty(this.tablePropertiesException);
    }
}
class TableRowPropertiesMergerDivId extends TableRowPropertiesMerger {
    getPropertyFromContainer(container) {
        return container.divId;
    }
    getPropertyMask() {
        return _properties_table_row_properties__WEBPACK_IMPORTED_MODULE_0__/* .TableRowPropertiesMask */ .d.UseDivId;
    }
    actionBeforeDefaultValue() {
        this.result = null;
        return true;
    }
}


/***/ }),

/***/ 2993:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  x0: function() { return /* binding */ TableCellProperties; },
  WO: function() { return /* binding */ TableCellPropertiesMask; },
  iy: function() { return /* binding */ TableCellPropertyDescriptor; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/borders/table-cell-borders.ts
var table_cell_borders = __webpack_require__(3516);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-info.ts
var shading_info = __webpack_require__(3428);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
;// CONCATENATED MODULE: ./src/common/model/tables/properties/table-cell-descriptors.ts

class TableCellPropertiesTopBorderDescriptor {
    setProp(props, newValue) {
        props.borders.top = newValue;
    }
    getProp(props) {
        return props.borders.top;
    }
    maskValue() {
        return TableCellPropertiesMask.UseTopBorder;
    }
}
class TableCellPropertiesRightBorderDescriptor {
    setProp(props, newValue) {
        props.borders.right = newValue;
    }
    getProp(props) {
        return props.borders.right;
    }
    maskValue() {
        return TableCellPropertiesMask.UseRightBorder;
    }
}
class TableCellPropertiesBottomBorderDescriptor {
    setProp(props, newValue) {
        props.borders.bottom = newValue;
    }
    getProp(props) {
        return props.borders.bottom;
    }
    maskValue() {
        return TableCellPropertiesMask.UseBottomBorder;
    }
}
class TableCellPropertiesLeftBorderDescriptor {
    setProp(props, newValue) {
        props.borders.left = newValue;
    }
    getProp(props) {
        return props.borders.left;
    }
    maskValue() {
        return TableCellPropertiesMask.UseLeftBorder;
    }
}
class TableCellPropertiesTopLeftDiagonalBorderDescriptor {
    setProp(props, newValue) {
        props.borders.topLeftDiagonal = newValue;
    }
    getProp(props) {
        return props.borders.topLeftDiagonal;
    }
    maskValue() {
        return TableCellPropertiesMask.UseTopLeftDiagonalBorder;
    }
}
class TableCellPropertiesTopRightDiagonalBorderDescriptor {
    setProp(props, newValue) {
        props.borders.topRightDiagonal = newValue;
    }
    getProp(props) {
        return props.borders.topRightDiagonal;
    }
    maskValue() {
        return TableCellPropertiesMask.UseTopRightDiagonalBorder;
    }
}
class TableCellPropertiesTopMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.top = newValue;
    }
    getProp(props) {
        return props.cellMargins.top;
    }
    maskValue() {
        return TableCellPropertiesMask.UseTopMargin;
    }
}
class TableCellPropertiesRightMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.right = newValue;
    }
    getProp(props) {
        return props.cellMargins.right;
    }
    maskValue() {
        return TableCellPropertiesMask.UseRightMargin;
    }
}
class TableCellPropertiesBottomMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.bottom = newValue;
    }
    getProp(props) {
        return props.cellMargins.bottom;
    }
    maskValue() {
        return TableCellPropertiesMask.UseBottomMargin;
    }
}
class TableCellPropertiesLeftMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.left = newValue;
    }
    getProp(props) {
        return props.cellMargins.left;
    }
    maskValue() {
        return TableCellPropertiesMask.UseLeftMargin;
    }
}
class TableCellPropertiesFitTextDescriptor {
    setProp(props, newValue) {
        props.fitText = newValue;
    }
    getProp(props) {
        return props.fitText;
    }
    maskValue() {
        return TableCellPropertiesMask.UseFitText;
    }
}
class TableCellPropertiesHideCellMarkDescriptor {
    setProp(props, newValue) {
        props.hideCellMark = newValue;
    }
    getProp(props) {
        return props.hideCellMark;
    }
    maskValue() {
        return TableCellPropertiesMask.UseHideCellMark;
    }
}
class TableCellPropertiesNoWrapDescriptor {
    setProp(props, newValue) {
        props.noWrap = newValue;
    }
    getProp(props) {
        return props.noWrap;
    }
    maskValue() {
        return TableCellPropertiesMask.UseNoWrap;
    }
}
class TableCellPropertiesShadingInfoDescriptor {
    setProp(props, newValue) {
        props.shadingInfo = newValue;
    }
    getProp(props) {
        return props.shadingInfo;
    }
    maskValue() {
        return TableCellPropertiesMask.UseShadingInfoIndex;
    }
}
class TableCellPropertiesTextDirectionDescriptor {
    setProp(props, newValue) {
        props.textDirection = newValue;
    }
    getProp(props) {
        return props.textDirection;
    }
    maskValue() {
        return TableCellPropertiesMask.UseTextDirection;
    }
}
class TableCellPropertiesVerticalAlignmentDescriptor {
    setProp(props, newValue) {
        props.verticalAlignment = newValue;
    }
    getProp(props) {
        return props.verticalAlignment;
    }
    maskValue() {
        return TableCellPropertiesMask.UseVerticalAlignment;
    }
}

;// CONCATENATED MODULE: ./src/common/model/tables/properties/table-cell-properties.ts







class TableCellProperties {
    constructor() {
        this.mask = TableCellPropertiesMask.UseNone;
        this.cellMargins = table_base_structures/* TableCellMargins */.Vx.create(table_units/* TableWidthUnit */.CT.createDefault(), table_units/* TableWidthUnit */.CT.createDefault(), table_units/* TableWidthUnit */.CT.createDefault(), table_units/* TableWidthUnit */.CT.createDefault());
        this.borders = table_cell_borders/* TableCellBorders */.U.create(new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H());
        this.hideCellMark = false;
        this.noWrap = false;
        this.fitText = false;
        this.textDirection = table_base_structures/* TextDirection */.m5.LeftToRightTopToBottom;
        this.verticalAlignment = table_base_structures/* TableCellVerticalAlignment */.Ad.Top;
        this.shadingInfo = shading_info/* ShadingInfo */.g.noColor;
    }
    calculateHash() {
        return math.MathUtils.somePrimes[0] * this.mask ^
            math.MathUtils.somePrimes[1] * this.borders.getHashCode() ^
            math.MathUtils.somePrimes[2] * this.verticalAlignment ^
            math.MathUtils.somePrimes[3] * this.shadingInfo.getHashCode();
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.mask == obj.mask &&
            this.cellMargins.equals(obj.cellMargins) &&
            this.borders.equals(obj.borders) &&
            this.hideCellMark == obj.hideCellMark &&
            this.noWrap == obj.noWrap &&
            this.fitText == obj.fitText &&
            this.textDirection == obj.textDirection &&
            this.verticalAlignment == obj.verticalAlignment &&
            this.shadingInfo.equals(obj.shadingInfo);
    }
    clone() {
        var result = new TableCellProperties();
        result.copyFrom(this);
        return result;
    }
    copyFrom(obj) {
        this.mask = obj.mask;
        this.cellMargins = obj.cellMargins.clone();
        this.borders = obj.borders.clone();
        this.hideCellMark = obj.hideCellMark;
        this.noWrap = obj.noWrap;
        this.fitText = obj.fitText;
        this.textDirection = obj.textDirection;
        this.verticalAlignment = obj.verticalAlignment;
        if (obj.shadingInfo)
            this.shadingInfo = obj.shadingInfo.clone();
    }
    setUseValue(mask, value) {
        if (value)
            this.mask |= mask;
        else
            this.mask &= ~mask;
    }
    getUseValue(mask) {
        return (this.mask & mask) != 0;
    }
    setValue(desc, value) {
        desc.setProp(this, value);
        this.setUseValue(desc.maskValue(), true);
    }
}
var TableCellPropertiesMask;
(function (TableCellPropertiesMask) {
    TableCellPropertiesMask[TableCellPropertiesMask["UseNone"] = 0] = "UseNone";
    TableCellPropertiesMask[TableCellPropertiesMask["UseHideCellMark"] = 2] = "UseHideCellMark";
    TableCellPropertiesMask[TableCellPropertiesMask["UseNoWrap"] = 4] = "UseNoWrap";
    TableCellPropertiesMask[TableCellPropertiesMask["UseFitText"] = 8] = "UseFitText";
    TableCellPropertiesMask[TableCellPropertiesMask["UseLeftMargin"] = 16] = "UseLeftMargin";
    TableCellPropertiesMask[TableCellPropertiesMask["UseRightMargin"] = 32] = "UseRightMargin";
    TableCellPropertiesMask[TableCellPropertiesMask["UseTopMargin"] = 64] = "UseTopMargin";
    TableCellPropertiesMask[TableCellPropertiesMask["UseBottomMargin"] = 128] = "UseBottomMargin";
    TableCellPropertiesMask[TableCellPropertiesMask["UseTextDirection"] = 256] = "UseTextDirection";
    TableCellPropertiesMask[TableCellPropertiesMask["UseVerticalAlignment"] = 512] = "UseVerticalAlignment";
    TableCellPropertiesMask[TableCellPropertiesMask["UseCellConditionalFormatting"] = 2048] = "UseCellConditionalFormatting";
    TableCellPropertiesMask[TableCellPropertiesMask["UseLeftBorder"] = 4096] = "UseLeftBorder";
    TableCellPropertiesMask[TableCellPropertiesMask["UseRightBorder"] = 8192] = "UseRightBorder";
    TableCellPropertiesMask[TableCellPropertiesMask["UseTopBorder"] = 16384] = "UseTopBorder";
    TableCellPropertiesMask[TableCellPropertiesMask["UseBottomBorder"] = 32768] = "UseBottomBorder";
    TableCellPropertiesMask[TableCellPropertiesMask["UseTopLeftDiagonalBorder"] = 262144] = "UseTopLeftDiagonalBorder";
    TableCellPropertiesMask[TableCellPropertiesMask["UseTopRightDiagonalBorder"] = 524288] = "UseTopRightDiagonalBorder";
    TableCellPropertiesMask[TableCellPropertiesMask["UseShadingInfoIndex"] = 1048576] = "UseShadingInfoIndex";
    TableCellPropertiesMask[TableCellPropertiesMask["UseAll"] = 2147483647] = "UseAll";
})(TableCellPropertiesMask || (TableCellPropertiesMask = {}));
class TableCellPropertyDescriptor {
}
TableCellPropertyDescriptor.topBorder = new TableCellPropertiesTopBorderDescriptor();
TableCellPropertyDescriptor.rightBorder = new TableCellPropertiesRightBorderDescriptor();
TableCellPropertyDescriptor.bottomBorder = new TableCellPropertiesBottomBorderDescriptor();
TableCellPropertyDescriptor.leftBorder = new TableCellPropertiesLeftBorderDescriptor();
TableCellPropertyDescriptor.topLeftDiagonalBorder = new TableCellPropertiesTopLeftDiagonalBorderDescriptor();
TableCellPropertyDescriptor.topRightDiagonalBorder = new TableCellPropertiesTopRightDiagonalBorderDescriptor();
TableCellPropertyDescriptor.topMargin = new TableCellPropertiesTopMarginDescriptor();
TableCellPropertyDescriptor.rightMargin = new TableCellPropertiesRightMarginDescriptor();
TableCellPropertyDescriptor.bottomMargin = new TableCellPropertiesBottomMarginDescriptor();
TableCellPropertyDescriptor.leftMargin = new TableCellPropertiesLeftMarginDescriptor();
TableCellPropertyDescriptor.fitText = new TableCellPropertiesFitTextDescriptor();
TableCellPropertyDescriptor.hideCellMark = new TableCellPropertiesHideCellMarkDescriptor();
TableCellPropertyDescriptor.noWrap = new TableCellPropertiesNoWrapDescriptor();
TableCellPropertyDescriptor.shadingInfo = new TableCellPropertiesShadingInfoDescriptor();
TableCellPropertyDescriptor.textDirection = new TableCellPropertiesTextDirectionDescriptor();
TableCellPropertyDescriptor.vertivalAlignment = new TableCellPropertiesVerticalAlignmentDescriptor();
TableCellPropertyDescriptor.ALL_FIELDS = [
    TableCellPropertyDescriptor.topBorder,
    TableCellPropertyDescriptor.rightBorder,
    TableCellPropertyDescriptor.bottomBorder,
    TableCellPropertyDescriptor.leftBorder,
    TableCellPropertyDescriptor.topLeftDiagonalBorder,
    TableCellPropertyDescriptor.topRightDiagonalBorder,
    TableCellPropertyDescriptor.topMargin,
    TableCellPropertyDescriptor.rightMargin,
    TableCellPropertyDescriptor.bottomMargin,
    TableCellPropertyDescriptor.leftMargin,
    TableCellPropertyDescriptor.fitText,
    TableCellPropertyDescriptor.hideCellMark,
    TableCellPropertyDescriptor.noWrap,
    TableCellPropertyDescriptor.shadingInfo,
    TableCellPropertyDescriptor.textDirection,
    TableCellPropertyDescriptor.vertivalAlignment,
];


/***/ }),

/***/ 6537:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  XK: function() { return /* binding */ TableProperties; },
  r4: function() { return /* binding */ TablePropertiesMask; }
});

// UNUSED EXPORTS: TablePropertyDescriptor

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
// EXTERNAL MODULE: ./src/common/model/borders/border-info.ts
var border_info = __webpack_require__(3118);
// EXTERNAL MODULE: ./src/common/model/borders/table-borders.ts
var table_borders = __webpack_require__(4437);
// EXTERNAL MODULE: ./src/common/model/shadings/shading-info.ts
var shading_info = __webpack_require__(3428);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
;// CONCATENATED MODULE: ./src/common/model/tables/properties/table-descriptors.ts

class TablePropertiesAvoidDoubleBordersDescriptor {
    setProp(props, newValue) {
        props.avoidDoubleBorders = newValue;
    }
    getProp(props) {
        return props.avoidDoubleBorders;
    }
    maskValue() {
        return TablePropertiesMask.UseAvoidDoubleBorders;
    }
}
class TablePropertiesTopBorderDescriptor {
    setProp(props, newValue) {
        props.borders.top = newValue;
    }
    getProp(props) {
        return props.borders.top;
    }
    maskValue() {
        return TablePropertiesMask.UseTopBorder;
    }
}
class TablePropertiesRightBorderDescriptor {
    setProp(props, newValue) {
        props.borders.right = newValue;
    }
    getProp(props) {
        return props.borders.right;
    }
    maskValue() {
        return TablePropertiesMask.UseRightBorder;
    }
}
class TablePropertiesBottomBorderDescriptor {
    setProp(props, newValue) {
        props.borders.bottom = newValue;
    }
    getProp(props) {
        return props.borders.bottom;
    }
    maskValue() {
        return TablePropertiesMask.UseBottomBorder;
    }
}
class TablePropertiesLeftBorderDescriptor {
    setProp(props, newValue) {
        props.borders.left = newValue;
    }
    getProp(props) {
        return props.borders.left;
    }
    maskValue() {
        return TablePropertiesMask.UseLeftBorder;
    }
}
class TablePropertiesInsideHorizontalBorderDescriptor {
    setProp(props, newValue) {
        props.borders.insideHorizontal = newValue;
    }
    getProp(props) {
        return props.borders.insideHorizontal;
    }
    maskValue() {
        return TablePropertiesMask.UseInsideHorizontalBorder;
    }
}
class TablePropertiesInsideVerticalBorderDescriptor {
    setProp(props, newValue) {
        props.borders.insideVertical = newValue;
    }
    getProp(props) {
        return props.borders.insideVertical;
    }
    maskValue() {
        return TablePropertiesMask.UseInsideVerticalBorder;
    }
}
class TablePropertiesTopMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.top = newValue;
    }
    getProp(props) {
        return props.cellMargins.top;
    }
    maskValue() {
        return TablePropertiesMask.UseTopMargin;
    }
}
class TablePropertiesRightMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.right = newValue;
    }
    getProp(props) {
        return props.cellMargins.right;
    }
    maskValue() {
        return TablePropertiesMask.UseRightMargin;
    }
}
class TablePropertiesBottomMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.bottom = newValue;
    }
    getProp(props) {
        return props.cellMargins.bottom;
    }
    maskValue() {
        return TablePropertiesMask.UseBottomMargin;
    }
}
class TablePropertiesLeftMarginDescriptor {
    setProp(props, newValue) {
        props.cellMargins.left = newValue;
    }
    getProp(props) {
        return props.cellMargins.left;
    }
    maskValue() {
        return TablePropertiesMask.UseLeftMargin;
    }
}
class TablePropertiesCellSpacingDescriptor {
    setProp(props, newValue) {
        props.cellSpacing = newValue;
    }
    getProp(props) {
        return props.cellSpacing;
    }
    maskValue() {
        return TablePropertiesMask.UseCellSpacing;
    }
}
class TablePropertiesIndentDescriptor {
    setProp(props, newValue) {
        props.indent = newValue;
    }
    getProp(props) {
        return props.indent;
    }
    maskValue() {
        return TablePropertiesMask.UseTableIndent;
    }
}
class TablePropertiesLayoutTypeDescriptor {
    setProp(props, newValue) {
        props.layoutType = newValue;
    }
    getProp(props) {
        return props.layoutType;
    }
    maskValue() {
        return TablePropertiesMask.UseTableLayout;
    }
}
class TablePropertiesShadingInfoDescriptor {
    setProp(props, newValue) {
        props.shadingInfo = newValue;
    }
    getProp(props) {
        return props.shadingInfo;
    }
    maskValue() {
        return TablePropertiesMask.UseShadingInfoIndex;
    }
}
class TablePropertiesRowAlignmentDescriptor {
    setProp(props, newValue) {
        props.tableRowAlignment = newValue;
    }
    getProp(props) {
        return props.tableRowAlignment;
    }
    maskValue() {
        return TablePropertiesMask.UseTableAlignment;
    }
}
class TablePropertiesStyleColumnBandSizeDescriptor {
    setProp(props, newValue) {
        props.tableStyleColumnBandSize = newValue;
    }
    getProp(props) {
        return props.tableStyleColumnBandSize;
    }
    maskValue() {
        return TablePropertiesMask.UseTableStyleColBandSize;
    }
}
class TablePropertiesStyleRowBandSizeDescriptor {
    setProp(props, newValue) {
        props.tableStyleRowBandSize = newValue;
    }
    getProp(props) {
        return props.tableStyleRowBandSize;
    }
    maskValue() {
        return TablePropertiesMask.UseTableStyleRowBandSize;
    }
}

;// CONCATENATED MODULE: ./src/common/model/tables/properties/table-properties.ts







class TableProperties {
    constructor() {
        this.mask = 0;
        this.cellMargins = table_base_structures/* TableCellMargins */.Vx.create(table_units/* TableWidthUnit */.CT.createDefault(), table_units/* TableWidthUnit */.CT.createDefault(), table_units/* TableWidthUnit */.CT.createDefault(), table_units/* TableWidthUnit */.CT.createDefault());
        this.cellSpacing = table_units/* TableWidthUnit */.CT.createDefault();
        this.indent = table_units/* TableWidthUnit */.CT.createDefault();
        this.borders = table_borders/* TableBorders */.E.create(new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H(), new border_info/* BorderInfo */.H());
        this.tableStyleColumnBandSize = 1;
        this.tableStyleRowBandSize = 1;
        this.avoidDoubleBorders = false;
        this.layoutType = table_base_structures/* TableLayoutType */.DX.Autofit;
        this.shadingInfo = shading_info/* ShadingInfo */.g.noColor;
        this.tableRowAlignment = table_base_structures/* TableRowAlignment */._6.Left;
        this.isTableOverlap = true;
        this.bottomFromText = 0;
        this.leftFromText = 0;
        this.topFromText = 0;
        this.rightFromText = 0;
        this.tableHorizontalPosition = 0;
        this.tableVerticalPosition = 0;
        this.horizontalAlignMode = table_base_structures/* HorizontalAlignMode */.Kv.None;
        this.verticalAlignMode = table_base_structures/* VerticalAlignMode */._b.None;
        this.horizontalAnchorType = table_base_structures/* HorizontalAnchorTypes */.Iz.Page;
        this.verticalAnchorType = table_base_structures/* VerticalAnchorTypes */.ut.Page;
        this.textWrapping = table_base_structures/* TextWrapping */.iT.Never;
    }
    calculateHash() {
        return math.MathUtils.somePrimes[0] * this.mask ^
            math.MathUtils.somePrimes[1] * this.borders.getHashCode() ^
            math.MathUtils.somePrimes[2] * this.indent.getHashCode() ^
            math.MathUtils.somePrimes[3] * this.tableRowAlignment ^
            math.MathUtils.somePrimes[4] * this.shadingInfo.getHashCode();
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.mask == obj.mask &&
            this.cellMargins.equals(obj.cellMargins) &&
            this.cellSpacing.equals(obj.cellSpacing) &&
            this.indent.equals(obj.indent) &&
            this.borders.equals(obj.borders) &&
            this.tableStyleColumnBandSize == obj.tableStyleColumnBandSize &&
            this.tableStyleRowBandSize == obj.tableStyleRowBandSize &&
            this.isTableOverlap == obj.isTableOverlap &&
            this.avoidDoubleBorders == obj.avoidDoubleBorders &&
            this.layoutType == obj.layoutType &&
            this.shadingInfo.equals(obj.shadingInfo) &&
            this.tableRowAlignment == obj.tableRowAlignment &&
            this.bottomFromText == obj.bottomFromText &&
            this.leftFromText == obj.leftFromText &&
            this.topFromText == obj.topFromText &&
            this.rightFromText == obj.rightFromText &&
            this.tableHorizontalPosition == obj.tableHorizontalPosition &&
            this.tableVerticalPosition == obj.tableVerticalPosition &&
            this.horizontalAlignMode == obj.horizontalAlignMode &&
            this.verticalAlignMode == obj.verticalAlignMode &&
            this.horizontalAnchorType == obj.horizontalAnchorType &&
            this.verticalAnchorType == obj.verticalAnchorType &&
            this.textWrapping == obj.textWrapping;
    }
    clone() {
        var result = new TableProperties();
        result.copyFrom(this);
        return result;
    }
    copyFrom(obj) {
        this.mask = obj.mask;
        this.cellMargins = obj.cellMargins.clone();
        this.cellSpacing = obj.cellSpacing.clone();
        this.indent = obj.indent.clone();
        this.borders = obj.borders.clone();
        this.tableStyleColumnBandSize = obj.tableStyleColumnBandSize;
        this.tableStyleRowBandSize = obj.tableStyleRowBandSize;
        this.isTableOverlap = obj.isTableOverlap;
        this.avoidDoubleBorders = obj.avoidDoubleBorders;
        this.layoutType = obj.layoutType;
        if (obj.shadingInfo)
            this.shadingInfo = obj.shadingInfo.clone();
        this.tableRowAlignment = obj.tableRowAlignment;
        this.bottomFromText = obj.bottomFromText;
        this.leftFromText = obj.leftFromText;
        this.topFromText = obj.topFromText;
        this.rightFromText = obj.rightFromText;
        this.tableHorizontalPosition = obj.tableHorizontalPosition;
        this.tableVerticalPosition = obj.tableVerticalPosition;
        this.horizontalAlignMode = obj.horizontalAlignMode;
        this.verticalAlignMode = obj.verticalAlignMode;
        this.horizontalAnchorType = obj.horizontalAnchorType;
        this.verticalAnchorType = obj.verticalAnchorType;
        this.textWrapping = obj.textWrapping;
    }
    setUseValue(mask, value) {
        if (value)
            this.mask |= mask;
        else
            this.mask &= ~mask;
    }
    getUseValue(mask) {
        return (this.mask & mask) != 0;
    }
    setValue(desc, value) {
        desc.setProp(this, value);
        this.setUseValue(desc.maskValue(), true);
    }
}
var TablePropertiesMask;
(function (TablePropertiesMask) {
    TablePropertiesMask[TablePropertiesMask["UseNone"] = 0] = "UseNone";
    TablePropertiesMask[TablePropertiesMask["UseLeftMargin"] = 1] = "UseLeftMargin";
    TablePropertiesMask[TablePropertiesMask["UseRightMargin"] = 2] = "UseRightMargin";
    TablePropertiesMask[TablePropertiesMask["UseTopMargin"] = 4] = "UseTopMargin";
    TablePropertiesMask[TablePropertiesMask["UseBottomMargin"] = 8] = "UseBottomMargin";
    TablePropertiesMask[TablePropertiesMask["UseCellSpacing"] = 16] = "UseCellSpacing";
    TablePropertiesMask[TablePropertiesMask["UseTableIndent"] = 32] = "UseTableIndent";
    TablePropertiesMask[TablePropertiesMask["UseTableLayout"] = 64] = "UseTableLayout";
    TablePropertiesMask[TablePropertiesMask["UseTableStyleColBandSize"] = 512] = "UseTableStyleColBandSize";
    TablePropertiesMask[TablePropertiesMask["UseTableStyleRowBandSize"] = 1024] = "UseTableStyleRowBandSize";
    TablePropertiesMask[TablePropertiesMask["UseIsTableOverlap"] = 2048] = "UseIsTableOverlap";
    TablePropertiesMask[TablePropertiesMask["UseFloatingPosition"] = 4096] = "UseFloatingPosition";
    TablePropertiesMask[TablePropertiesMask["UseLeftBorder"] = 8192] = "UseLeftBorder";
    TablePropertiesMask[TablePropertiesMask["UseRightBorder"] = 16384] = "UseRightBorder";
    TablePropertiesMask[TablePropertiesMask["UseTopBorder"] = 32768] = "UseTopBorder";
    TablePropertiesMask[TablePropertiesMask["UseBottomBorder"] = 65536] = "UseBottomBorder";
    TablePropertiesMask[TablePropertiesMask["UseInsideHorizontalBorder"] = 131072] = "UseInsideHorizontalBorder";
    TablePropertiesMask[TablePropertiesMask["UseInsideVerticalBorder"] = 262144] = "UseInsideVerticalBorder";
    TablePropertiesMask[TablePropertiesMask["UseShadingInfoIndex"] = 524288] = "UseShadingInfoIndex";
    TablePropertiesMask[TablePropertiesMask["UseTableAlignment"] = 1048576] = "UseTableAlignment";
    TablePropertiesMask[TablePropertiesMask["UseAvoidDoubleBorders"] = 2097152] = "UseAvoidDoubleBorders";
    TablePropertiesMask[TablePropertiesMask["UseRightToLeft"] = 4194304] = "UseRightToLeft";
    TablePropertiesMask[TablePropertiesMask["UseAll"] = 2147483647] = "UseAll";
})(TablePropertiesMask || (TablePropertiesMask = {}));
class TablePropertyDescriptor {
}
TablePropertyDescriptor.avoidDoubleBorders = new TablePropertiesAvoidDoubleBordersDescriptor();
TablePropertyDescriptor.topBorder = new TablePropertiesTopBorderDescriptor();
TablePropertyDescriptor.rightBorder = new TablePropertiesRightBorderDescriptor();
TablePropertyDescriptor.bottomBorder = new TablePropertiesBottomBorderDescriptor();
TablePropertyDescriptor.leftBorder = new TablePropertiesLeftBorderDescriptor();
TablePropertyDescriptor.insideHorizontalBorder = new TablePropertiesInsideHorizontalBorderDescriptor();
TablePropertyDescriptor.insideVerticalBorder = new TablePropertiesInsideVerticalBorderDescriptor();
TablePropertyDescriptor.topMargin = new TablePropertiesTopMarginDescriptor();
TablePropertyDescriptor.rightMargin = new TablePropertiesRightMarginDescriptor();
TablePropertyDescriptor.bottomMargin = new TablePropertiesBottomMarginDescriptor();
TablePropertyDescriptor.leftMargin = new TablePropertiesLeftMarginDescriptor();
TablePropertyDescriptor.cellSpacing = new TablePropertiesCellSpacingDescriptor();
TablePropertyDescriptor.indent = new TablePropertiesIndentDescriptor();
TablePropertyDescriptor.layoutType = new TablePropertiesLayoutTypeDescriptor();
TablePropertyDescriptor.shadingInfo = new TablePropertiesShadingInfoDescriptor();
TablePropertyDescriptor.rowAlignment = new TablePropertiesRowAlignmentDescriptor();
TablePropertyDescriptor.styleColumnBandSize = new TablePropertiesStyleColumnBandSizeDescriptor();
TablePropertyDescriptor.styleRowBandSize = new TablePropertiesStyleRowBandSizeDescriptor();
TablePropertyDescriptor.ALL_FIELDS = [
    TablePropertyDescriptor.avoidDoubleBorders,
    TablePropertyDescriptor.topBorder,
    TablePropertyDescriptor.rightBorder,
    TablePropertyDescriptor.bottomBorder,
    TablePropertyDescriptor.leftBorder,
    TablePropertyDescriptor.insideHorizontalBorder,
    TablePropertyDescriptor.insideVerticalBorder,
    TablePropertyDescriptor.topMargin,
    TablePropertyDescriptor.rightMargin,
    TablePropertyDescriptor.bottomMargin,
    TablePropertyDescriptor.leftMargin,
    TablePropertyDescriptor.cellSpacing,
    TablePropertyDescriptor.indent,
    TablePropertyDescriptor.layoutType,
    TablePropertyDescriptor.shadingInfo,
    TablePropertyDescriptor.rowAlignment,
    TablePropertyDescriptor.styleColumnBandSize,
    TablePropertyDescriptor.styleRowBandSize,
];


/***/ }),

/***/ 8222:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: function() { return /* binding */ TableRowProperties; },
/* harmony export */   d: function() { return /* binding */ TableRowPropertiesMask; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8679);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(247);
/* harmony import */ var _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4857);



class TableRowProperties {
    constructor() {
        this.mask = 0;
        this.cellSpacing = _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_2__/* .TableWidthUnit */ .CT.createDefault();
        this.cantSplit = false;
        this.hideCellMark = false;
        this.header = false;
        this.tableRowAlignment = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_1__/* .TableRowAlignment */ ._6.Left;
        this.divId = 0;
    }
    calculateHash() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[0] * this.mask ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[1] * this.cellSpacing.getHashCode();
    }
    getHashCode() {
        return this.hash === undefined ? this.hash = this.calculateHash() : this.hash;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.mask == obj.mask &&
            this.cellSpacing.equals(obj.cellSpacing) &&
            this.cantSplit == obj.cantSplit &&
            this.hideCellMark == obj.hideCellMark &&
            this.header == obj.header &&
            this.tableRowAlignment == obj.tableRowAlignment &&
            this.divId == obj.divId;
    }
    clone() {
        var result = new TableRowProperties();
        result.copyFrom(this);
        return result;
    }
    copyFrom(obj) {
        this.mask = obj.mask;
        this.cellSpacing = obj.cellSpacing.clone();
        this.cantSplit = obj.cantSplit;
        this.hideCellMark = obj.hideCellMark;
        this.header = obj.header;
        this.tableRowAlignment = obj.tableRowAlignment;
        this.divId = obj.divId;
    }
    setUseValue(mask, value) {
        if (value)
            this.mask |= mask;
        else
            this.mask &= ~mask;
    }
    getUseValue(mask) {
        return (this.mask & mask) != 0;
    }
    setValue(desc, value) {
        desc.setProp(this, value);
        this.setUseValue(desc.maskValue(), true);
    }
}
var TableRowPropertiesMask;
(function (TableRowPropertiesMask) {
    TableRowPropertiesMask[TableRowPropertiesMask["UseNone"] = 0] = "UseNone";
    TableRowPropertiesMask[TableRowPropertiesMask["UseCantSplit"] = 2] = "UseCantSplit";
    TableRowPropertiesMask[TableRowPropertiesMask["UseHideCellMark"] = 4] = "UseHideCellMark";
    TableRowPropertiesMask[TableRowPropertiesMask["UseCellSpacing"] = 128] = "UseCellSpacing";
    TableRowPropertiesMask[TableRowPropertiesMask["UseTableRowAlignment"] = 256] = "UseTableRowAlignment";
    TableRowPropertiesMask[TableRowPropertiesMask["UseShadingInfoIndex"] = 2048] = "UseShadingInfoIndex";
    TableRowPropertiesMask[TableRowPropertiesMask["UseHeader"] = 1024] = "UseHeader";
    TableRowPropertiesMask[TableRowPropertiesMask["UseDivId"] = 4096] = "UseDivId";
    TableRowPropertiesMask[TableRowPropertiesMask["UseAll"] = 2147483647] = "UseAll";
})(TableRowPropertiesMask || (TableRowPropertiesMask = {}));


/***/ }),

/***/ 247:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ad: function() { return /* binding */ TableCellVerticalAlignment; },
/* harmony export */   DX: function() { return /* binding */ TableLayoutType; },
/* harmony export */   Iz: function() { return /* binding */ HorizontalAnchorTypes; },
/* harmony export */   Kv: function() { return /* binding */ HorizontalAlignMode; },
/* harmony export */   Vx: function() { return /* binding */ TableCellMargins; },
/* harmony export */   Z3: function() { return /* binding */ TableCellMergingState; },
/* harmony export */   _6: function() { return /* binding */ TableRowAlignment; },
/* harmony export */   _b: function() { return /* binding */ VerticalAlignMode; },
/* harmony export */   iT: function() { return /* binding */ TextWrapping; },
/* harmony export */   m5: function() { return /* binding */ TextDirection; },
/* harmony export */   pB: function() { return /* binding */ ConditionalTableStyleFormatting; },
/* harmony export */   sp: function() { return /* binding */ TableLookTypes; },
/* harmony export */   ut: function() { return /* binding */ VerticalAnchorTypes; }
/* harmony export */ });
class TableCellMargins {
    equals(obj) {
        if (!obj)
            return false;
        return this.top.equals(obj.top) &&
            this.right.equals(obj.right) &&
            this.left.equals(obj.left) &&
            this.bottom.equals(obj.bottom);
    }
    copyFrom(obj) {
        this.top = obj.top.clone();
        this.right = obj.right.clone();
        this.left = obj.left.clone();
        this.bottom = obj.bottom.clone();
    }
    clone() {
        var result = new TableCellMargins();
        result.copyFrom(this);
        return result;
    }
    static create(top, right, bottom, left) {
        let result = new TableCellMargins();
        result.top = top;
        result.right = right;
        result.bottom = bottom;
        result.left = left;
        return result;
    }
}
var TableLayoutType;
(function (TableLayoutType) {
    TableLayoutType[TableLayoutType["Fixed"] = 0] = "Fixed";
    TableLayoutType[TableLayoutType["Autofit"] = 1] = "Autofit";
})(TableLayoutType || (TableLayoutType = {}));
var TableLookTypes;
(function (TableLookTypes) {
    TableLookTypes[TableLookTypes["None"] = 0] = "None";
    TableLookTypes[TableLookTypes["ApplyFirstRow"] = 32] = "ApplyFirstRow";
    TableLookTypes[TableLookTypes["ApplyLastRow"] = 64] = "ApplyLastRow";
    TableLookTypes[TableLookTypes["ApplyFirstColumn"] = 128] = "ApplyFirstColumn";
    TableLookTypes[TableLookTypes["ApplyLastColumn"] = 256] = "ApplyLastColumn";
    TableLookTypes[TableLookTypes["DoNotApplyRowBanding"] = 512] = "DoNotApplyRowBanding";
    TableLookTypes[TableLookTypes["DoNotApplyColumnBanding"] = 1024] = "DoNotApplyColumnBanding";
})(TableLookTypes || (TableLookTypes = {}));
var HorizontalAlignMode;
(function (HorizontalAlignMode) {
    HorizontalAlignMode[HorizontalAlignMode["None"] = 0] = "None";
    HorizontalAlignMode[HorizontalAlignMode["Center"] = 1] = "Center";
    HorizontalAlignMode[HorizontalAlignMode["Inside"] = 2] = "Inside";
    HorizontalAlignMode[HorizontalAlignMode["Left"] = 3] = "Left";
    HorizontalAlignMode[HorizontalAlignMode["Outside"] = 4] = "Outside";
    HorizontalAlignMode[HorizontalAlignMode["Right"] = 5] = "Right";
})(HorizontalAlignMode || (HorizontalAlignMode = {}));
var VerticalAlignMode;
(function (VerticalAlignMode) {
    VerticalAlignMode[VerticalAlignMode["None"] = 0] = "None";
    VerticalAlignMode[VerticalAlignMode["Bottom"] = 1] = "Bottom";
    VerticalAlignMode[VerticalAlignMode["Center"] = 2] = "Center";
    VerticalAlignMode[VerticalAlignMode["Inline"] = 3] = "Inline";
    VerticalAlignMode[VerticalAlignMode["Inside"] = 4] = "Inside";
    VerticalAlignMode[VerticalAlignMode["Outside"] = 5] = "Outside";
    VerticalAlignMode[VerticalAlignMode["Top"] = 6] = "Top";
})(VerticalAlignMode || (VerticalAlignMode = {}));
var HorizontalAnchorTypes;
(function (HorizontalAnchorTypes) {
    HorizontalAnchorTypes[HorizontalAnchorTypes["Margin"] = 0] = "Margin";
    HorizontalAnchorTypes[HorizontalAnchorTypes["Page"] = 1] = "Page";
    HorizontalAnchorTypes[HorizontalAnchorTypes["Column"] = 2] = "Column";
})(HorizontalAnchorTypes || (HorizontalAnchorTypes = {}));
var VerticalAnchorTypes;
(function (VerticalAnchorTypes) {
    VerticalAnchorTypes[VerticalAnchorTypes["Margin"] = 0] = "Margin";
    VerticalAnchorTypes[VerticalAnchorTypes["Page"] = 1] = "Page";
    VerticalAnchorTypes[VerticalAnchorTypes["Paragraph"] = 2] = "Paragraph";
})(VerticalAnchorTypes || (VerticalAnchorTypes = {}));
var TextWrapping;
(function (TextWrapping) {
    TextWrapping[TextWrapping["Never"] = 0] = "Never";
    TextWrapping[TextWrapping["Around"] = 1] = "Around";
})(TextWrapping || (TextWrapping = {}));
var TableRowAlignment;
(function (TableRowAlignment) {
    TableRowAlignment[TableRowAlignment["Both"] = 0] = "Both";
    TableRowAlignment[TableRowAlignment["Center"] = 1] = "Center";
    TableRowAlignment[TableRowAlignment["Distribute"] = 2] = "Distribute";
    TableRowAlignment[TableRowAlignment["Left"] = 3] = "Left";
    TableRowAlignment[TableRowAlignment["NumTab"] = 4] = "NumTab";
    TableRowAlignment[TableRowAlignment["Right"] = 5] = "Right";
})(TableRowAlignment || (TableRowAlignment = {}));
var TableCellMergingState;
(function (TableCellMergingState) {
    TableCellMergingState[TableCellMergingState["None"] = 0] = "None";
    TableCellMergingState[TableCellMergingState["Continue"] = 1] = "Continue";
    TableCellMergingState[TableCellMergingState["Restart"] = 2] = "Restart";
})(TableCellMergingState || (TableCellMergingState = {}));
var TextDirection;
(function (TextDirection) {
    TextDirection[TextDirection["LeftToRightTopToBottom"] = 0] = "LeftToRightTopToBottom";
    TextDirection[TextDirection["TopToBottomRightToLeft"] = 1] = "TopToBottomRightToLeft";
    TextDirection[TextDirection["TopToBottomLeftToRightRotated"] = 2] = "TopToBottomLeftToRightRotated";
    TextDirection[TextDirection["BottomToTopLeftToRight"] = 3] = "BottomToTopLeftToRight";
    TextDirection[TextDirection["LeftToRightTopToBottomRotated"] = 4] = "LeftToRightTopToBottomRotated";
    TextDirection[TextDirection["TopToBottomRightToLeftRotated"] = 5] = "TopToBottomRightToLeftRotated";
})(TextDirection || (TextDirection = {}));
var TableCellVerticalAlignment;
(function (TableCellVerticalAlignment) {
    TableCellVerticalAlignment[TableCellVerticalAlignment["Top"] = 0] = "Top";
    TableCellVerticalAlignment[TableCellVerticalAlignment["Both"] = 1] = "Both";
    TableCellVerticalAlignment[TableCellVerticalAlignment["Center"] = 2] = "Center";
    TableCellVerticalAlignment[TableCellVerticalAlignment["Bottom"] = 3] = "Bottom";
})(TableCellVerticalAlignment || (TableCellVerticalAlignment = {}));
var ConditionalTableStyleFormatting;
(function (ConditionalTableStyleFormatting) {
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["WholeTable"] = 4096] = "WholeTable";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["FirstRow"] = 2048] = "FirstRow";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["LastRow"] = 1024] = "LastRow";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["FirstColumn"] = 512] = "FirstColumn";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["LastColumn"] = 256] = "LastColumn";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["OddColumnBanding"] = 128] = "OddColumnBanding";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["EvenColumnBanding"] = 64] = "EvenColumnBanding";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["OddRowBanding"] = 32] = "OddRowBanding";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["EvenRowBanding"] = 16] = "EvenRowBanding";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["TopRightCell"] = 8] = "TopRightCell";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["TopLeftCell"] = 4] = "TopLeftCell";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["BottomRightCell"] = 2] = "BottomRightCell";
    ConditionalTableStyleFormatting[ConditionalTableStyleFormatting["BottomLeftCell"] = 1] = "BottomLeftCell";
})(ConditionalTableStyleFormatting || (ConditionalTableStyleFormatting = {}));


/***/ }),

/***/ 9181:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   E: function() { return /* binding */ TableBorderCalculator; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
/* harmony import */ var _borders_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4265);


class TableBorderInfo {
    constructor(compoundArray, widthDivider) {
        this.drawingCompoundArray = [];
        this.compoundArray = compoundArray;
        this.widthDivider = widthDivider;
        this.lineCount = Math.floor(compoundArray.length / 2);
        this.widthMultiplier = this.compoundArray[this.compoundArray.length - 1];
        for (let num of this.compoundArray)
            this.drawingCompoundArray.push(num / this.widthMultiplier);
    }
    getActualWidth(borderWidth) {
        return borderWidth * this.widthMultiplier / this.widthDivider;
    }
}
class TableBorderCalculator {
    static getPowerfulBorder(colorProvider, aBorder, bBorder) {
        if (!aBorder)
            return bBorder;
        if (!bBorder)
            return aBorder;
        const aBorderWeight = TableBorderCalculator.getWeight(aBorder);
        const bBorderWeight = TableBorderCalculator.getWeight(bBorder);
        if (aBorderWeight > bBorderWeight)
            return aBorder;
        if (bBorderWeight > aBorderWeight)
            return bBorder;
        const aBorderStyleWeight = aBorder.style;
        const bBorderStyleWeight = bBorder.style;
        if (aBorderStyleWeight > bBorderStyleWeight)
            return aBorder;
        if (bBorderStyleWeight > aBorderStyleWeight)
            return bBorder;
        const aBorderColor = colorProvider.getRgbaFromModelColor(aBorder.color);
        const bBorderColor = colorProvider.getRgbaFromModelColor(bBorder.color);
        let aBorderBrightness = TableBorderCalculator.getBrightnessLevelOne(aBorderColor);
        let bBorderBrightness = TableBorderCalculator.getBrightnessLevelOne(bBorderColor);
        if (aBorderBrightness == bBorderBrightness) {
            aBorderBrightness = TableBorderCalculator.getBrightnessLevelTwo(aBorderColor);
            bBorderBrightness = TableBorderCalculator.getBrightnessLevelTwo(bBorderColor);
            if (aBorderBrightness == bBorderBrightness) {
                aBorderBrightness = TableBorderCalculator.getBrightnessLevelThree(aBorderColor);
                bBorderBrightness = TableBorderCalculator.getBrightnessLevelThree(bBorderColor);
            }
        }
        if (aBorderBrightness < bBorderBrightness)
            return aBorder;
        if (bBorderBrightness < aBorderBrightness)
            return bBorder;
        return aBorder;
    }
    static getActualWidth(borderInfo) {
        const { info } = TableBorderCalculator.getActualBorderLineStyle(borderInfo.style);
        return info ? info.getActualWidth(borderInfo.width) : 0;
    }
    static getBrightnessLevelOne(color) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getRed(color) + TableBorderCalculator.getBrightnessLevelTwo(color);
    }
    static getBrightnessLevelTwo(color) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getBlue(color) + 2 * _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getGreen(color);
    }
    static getBrightnessLevelThree(color) {
        return _devexpress_utils_lib_utils_color__WEBPACK_IMPORTED_MODULE_0__/* .ColorUtils */ .i.getGreen(color);
    }
    static getWeight(borderInfo) {
        const borderStyle = borderInfo.style;
        const { info } = TableBorderCalculator.getActualBorderLineStyle(borderStyle);
        return info ? (info.lineCount * borderStyle) : (borderStyle == _borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Disabled ? Number.MAX_VALUE : 0);
    }
    static getActualBorderLineStyle(borderLineStyle) {
        if (borderLineStyle == _borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.None || borderLineStyle == _borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Nil || borderLineStyle == _borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Disabled)
            return { actualLineStyle: borderLineStyle, info: null };
        const info = TableBorderCalculator.lineStyleInfo[borderLineStyle];
        if (info)
            return { actualLineStyle: borderLineStyle, info: info };
        return { actualLineStyle: _borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Single, info: null };
    }
}
TableBorderCalculator.lineStyleInfo = {
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Single]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Thick]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Double]: new TableBorderInfo([0, 1, 2, 3], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Dotted]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Dashed]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.DotDash]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.DotDotDash]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Triple]: new TableBorderInfo([0, 1, 2, 3, 4, 5], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThinThickSmallGap]: new TableBorderInfo([0, 1, 2, 10], 8),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThickThinSmallGap]: new TableBorderInfo([0, 8, 9, 10], 8),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThinThickThinSmallGap]: new TableBorderInfo([0, 1, 2, 10, 11, 12], 8),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThinThickMediumGap]: new TableBorderInfo([0, 1, 2, 4], 2),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThickThinMediumGap]: new TableBorderInfo([0, 2, 3, 4], 2),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThinThickThinMediumGap]: new TableBorderInfo([0, 1, 2, 4, 5, 6], 2),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThinThickLargeGap]: new TableBorderInfo([0, 1, 9, 11], 8),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThickThinLargeGap]: new TableBorderInfo([0, 2, 10, 11], 8),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThinThickThinLargeGap]: new TableBorderInfo([0, 1, 9, 11, 19, 20], 8),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Wave]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.DoubleWave]: new TableBorderInfo([0, 1, 1, 2], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.DashSmallGap]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.DashDotStroked]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThreeDEmboss]: new TableBorderInfo([0, 1, 1, 5, 6], 4),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.ThreeDEngrave]: new TableBorderInfo([0, 1, 1, 5, 6], 4),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Outset]: new TableBorderInfo([0, 1], 1),
    [_borders_enums__WEBPACK_IMPORTED_MODULE_1__/* .BorderLineStyle */ .u.Inset]: new TableBorderInfo([0, 1], 1),
};


/***/ }),

/***/ 4857:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   CT: function() { return /* binding */ TableWidthUnit; },
/* harmony export */   HO: function() { return /* binding */ TableWidthUnitType; },
/* harmony export */   X: function() { return /* binding */ TableHeightUnitType; },
/* harmony export */   aN: function() { return /* binding */ TableHeightUnit; }
/* harmony export */ });
/* unused harmony export TableCustomUnit */
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8679);

class TableCustomUnit {
    getHashCode() {
        return _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[0] * this.value ^
            _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_0__.MathUtils.somePrimes[1] * this.type;
    }
    equals(obj) {
        if (!obj)
            return false;
        return this.value == obj.value && this.type == obj.type;
    }
    copyFrom(obj) {
        this.value = obj.value;
        this.type = obj.type;
    }
}
class TableWidthUnit extends TableCustomUnit {
    static createDefault() {
        return new TableWidthUnit().init(0, TableWidthUnitType.Nil);
    }
    static create(value, type) {
        return new TableWidthUnit().init(value, type);
    }
    init(value, type) {
        this.value = Math.floor(value);
        this.type = type;
        return this;
    }
    clone() {
        return new TableWidthUnit().init(this.value, this.type);
    }
    asNumberNoPercentType(converter) {
        switch (this.type) {
            case TableWidthUnitType.Nil:
            case TableWidthUnitType.Auto:
                return 0;
            case TableWidthUnitType.ModelUnits:
                return converter(this.value);
            case TableWidthUnitType.FiftiethsOfPercent:
                return 0;
        }
    }
    asNumber(availableWidth, converter) {
        switch (this.type) {
            case TableWidthUnitType.Nil:
            case TableWidthUnitType.Auto:
                return 0;
            case TableWidthUnitType.ModelUnits:
                return converter(this.value);
            case TableWidthUnitType.FiftiethsOfPercent:
                return availableWidth * this.value / TableWidthUnit.MAX_PERCENT_WIDTH;
        }
    }
    divide(n) {
        if (n > 1)
            this.value = Math.floor(this.value / n);
    }
}
TableWidthUnit.MAX_PERCENT_WIDTH = 5000;
TableWidthUnit.MULTIPLIER_FOR_PERCENTS = 50;
class TableHeightUnit extends TableCustomUnit {
    init(value, type) {
        this.value = Math.floor(value);
        this.type = type;
        return this;
    }
    clone() {
        return new TableHeightUnit().init(this.value, this.type);
    }
    static create(value, type) {
        return new TableHeightUnit().init(value, type);
    }
    static createDefault() {
        return new TableHeightUnit().init(0, TableHeightUnitType.Auto);
    }
}
var TableHeightUnitType;
(function (TableHeightUnitType) {
    TableHeightUnitType[TableHeightUnitType["Minimum"] = 0] = "Minimum";
    TableHeightUnitType[TableHeightUnitType["Auto"] = 1] = "Auto";
    TableHeightUnitType[TableHeightUnitType["Exact"] = 2] = "Exact";
})(TableHeightUnitType || (TableHeightUnitType = {}));
var TableWidthUnitType;
(function (TableWidthUnitType) {
    TableWidthUnitType[TableWidthUnitType["Nil"] = 0] = "Nil";
    TableWidthUnitType[TableWidthUnitType["Auto"] = 1] = "Auto";
    TableWidthUnitType[TableWidthUnitType["FiftiethsOfPercent"] = 2] = "FiftiethsOfPercent";
    TableWidthUnitType[TableWidthUnitType["ModelUnits"] = 3] = "ModelUnits";
})(TableWidthUnitType || (TableWidthUnitType = {}));


/***/ }),

/***/ 1327:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   g: function() { return /* binding */ TableConditionalStyle; }
/* harmony export */ });
class TableConditionalStyle {
    constructor(tableProperties, tableRowProperties, tableCellProperties, maskedParagraphProperties, maskedCharacterProperties, tabs) {
        this.tableProperties = tableProperties;
        this.tableRowProperties = tableRowProperties;
        this.tableCellProperties = tableCellProperties;
        this.maskedParagraphProperties = maskedParagraphProperties;
        this.maskedCharacterProperties = maskedCharacterProperties;
        this.tabs = tabs;
    }
    clone() {
        var _a;
        return new TableConditionalStyle(this.tableProperties, this.tableRowProperties, this.tableCellProperties, this.maskedParagraphProperties, this.maskedCharacterProperties, (_a = this.tabs) === null || _a === void 0 ? void 0 : _a.clone());
    }
}


/***/ }),

/***/ 2685:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   k: function() { return /* binding */ TableStyle; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1167);
/* harmony import */ var _style_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1592);


class TableStyle extends _style_base__WEBPACK_IMPORTED_MODULE_1__/* .StyleBase */ ._ {
    constructor(styleName, localizedName, deleted, hidden, semihidden, isDefault, conditionalStyles, baseConditionalStyle, base64EncodedImage, id) {
        super(styleName, localizedName, deleted, hidden, semihidden, isDefault, base64EncodedImage, id);
        this.conditionalStyles = {};
        this.conditionalStyles = conditionalStyles;
        this.baseConditionalStyle = baseConditionalStyle;
    }
    clone() {
        const newStyle = new TableStyle(this.styleName, this.localizedName, this.deleted, this.hidden, this.semihidden, this.isDefault, _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_0__/* .NumberMapUtils */ .j.map(this.conditionalStyles, cs => cs.clone()), this.baseConditionalStyle.clone(), this.base64EncodedImage, this.id);
        return newStyle;
    }
}
TableStyle.SIMPLE_STYLENAME = "Table Simple 1";
TableStyle.DEFAULT_STYLENAME = "Normal Table";
TableStyle.DEFAULT_STYLENAME_2 = "Table Normal";


/***/ }),

/***/ 935:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   K: function() { return /* binding */ TableConditionalFormattingCalculator; },
/* harmony export */   V: function() { return /* binding */ TableCellUtils; }
/* harmony export */ });
/* harmony import */ var _history_items_tables_change_table_cell_history_items__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9406);
/* harmony import */ var _main_structures_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8707);
/* harmony import */ var _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1314);
/* harmony import */ var _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(247);
/* harmony import */ var _history_items_tables_table_row_properties_history_items__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(934);
/* harmony import */ var _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4857);
/* harmony import */ var _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7354);







class TableCellUtils {
    static getCellIndexByColumnIndex(row, startColumnIndex) {
        let columnIndex = row.gridBefore;
        for (let i = 0, cell; cell = row.cells[i]; i++) {
            if (startColumnIndex >= columnIndex && startColumnIndex < columnIndex + cell.columnSpan)
                return i;
            columnIndex += cell.columnSpan;
        }
        return -1;
    }
    static getCellIndexByEndColumnIndex(row, endColumnIndex) {
        let cellIndexByColumnIndex = this.getCellIndexByColumnIndex(row, endColumnIndex);
        if (cellIndexByColumnIndex < 0)
            return -1;
        let cellByColumnIndex = row.cells[cellIndexByColumnIndex];
        if (this.getStartColumnIndex(cellByColumnIndex) + cellByColumnIndex.columnSpan - 1 <= endColumnIndex)
            return cellIndexByColumnIndex;
        if (cellIndexByColumnIndex != 0)
            return cellIndexByColumnIndex - 1;
        return -1;
    }
    static getStartColumnIndex(cell) {
        let columnIndex = cell.parentRow.gridBefore;
        let row = cell.parentRow;
        for (let i = 0, currentCell; currentCell = row.cells[i]; i++) {
            if (currentCell === cell)
                break;
            columnIndex += currentCell.columnSpan;
        }
        return columnIndex;
    }
    static getEndColumnIndex(cell) {
        return this.getStartColumnIndex(cell) + cell.columnSpan - 1;
    }
    static getColumnCount(table) {
        let row = table.rows[0];
        let result = row.gridBefore + row.gridAfter;
        for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
            result += cell.columnSpan;
        }
        return result;
    }
    static getCellIndicesByColumnsRange(row, interval) {
        let indices = [];
        let startColumnIndex = interval.start;
        while (startColumnIndex < interval.end) {
            let cellIndex = this.getCellIndexByColumnIndex(row, startColumnIndex);
            let cell = row.cells[cellIndex];
            if (!cell)
                return indices;
            indices.push(cellIndex);
            startColumnIndex += startColumnIndex - this.getStartColumnIndex(cell) + cell.columnSpan;
        }
        return indices;
    }
    static getAbsoluteCellIndexInRow(row, columnIndex) {
        if (!row.cells.length)
            throw new Error("Empty row");
        columnIndex -= row.gridBefore;
        let cellIndex = 0;
        let cellsCount = row.cells.length;
        while (columnIndex > 0 && cellIndex < cellsCount) {
            let currentCell = row.cells[cellIndex];
            columnIndex -= currentCell.columnSpan;
            if (columnIndex >= 0)
                cellIndex++;
        }
        return cellIndex;
    }
    static getVerticalSpanCellPositions(restartCellPosition, patternCellStartColumnIndex) {
        let positions = [];
        positions.push(restartCellPosition);
        if (restartCellPosition.cell.verticalMerging !== _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableCellMergingState */ .Z3.Restart)
            return positions;
        let table = restartCellPosition.table;
        for (let rowIndex = restartCellPosition.rowIndex + 1, nextRow; nextRow = table.rows[rowIndex]; rowIndex++) {
            let nextRowCellIndex = this.getCellIndexByColumnIndex(nextRow, patternCellStartColumnIndex);
            let nextCell = nextRow.cells[nextRowCellIndex];
            if (nextCell && nextCell.verticalMerging === _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableCellMergingState */ .Z3.Continue)
                positions.push(_main_structures_table__WEBPACK_IMPORTED_MODULE_1__/* .TablePosition */ .TR.createAndInit(table, rowIndex, nextRowCellIndex));
            else
                break;
        }
        return positions;
    }
    static getSameTableCells(firstCell, lastCell) {
        const rightOrder = firstCell.parentRow.parentTable.nestedLevel >= lastCell.parentRow.parentTable.nestedLevel;
        let topLevelCell = rightOrder ? firstCell : lastCell;
        let lowLevelCell = rightOrder ? lastCell : firstCell;
        while (topLevelCell.parentRow.parentTable.nestedLevel > lowLevelCell.parentRow.parentTable.nestedLevel)
            topLevelCell = topLevelCell.parentRow.parentTable.parentCell;
        while (true) {
            if (topLevelCell.parentRow.parentTable === lowLevelCell.parentRow.parentTable)
                return {
                    firstCell: rightOrder ? topLevelCell : lowLevelCell,
                    lastCell: rightOrder ? lowLevelCell : topLevelCell
                };
            topLevelCell = topLevelCell.parentRow.parentTable.parentCell;
            lowLevelCell = lowLevelCell.parentRow.parentTable.parentCell;
            if (!topLevelCell || !lowLevelCell)
                return null;
        }
    }
    static splitTableCellsVerticallyCore(processor, subDocument, position, rowsCount, columnsCount, inputPosition) {
        const { table, cell, row, cellIndex } = position;
        const { modelManipulator } = processor.modelManager;
        if (cell.verticalMerging === _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableCellMergingState */ .Z3.Restart) {
            this.splitMergedCellsVertically(processor, subDocument, position, columnsCount, rowsCount);
            return;
        }
        this.insertRows(processor, subDocument, position, rowsCount);
        const startIndex = cellIndex;
        const endIndex = cellIndex + columnsCount - 1;
        for (let i = 0, tableCell; tableCell = row.cells[i]; i++) {
            if (i < startIndex || i > endIndex) {
                const columnIndex = this.getStartColumnIndex(tableCell);
                const cellPosition = _main_structures_table__WEBPACK_IMPORTED_MODULE_1__/* .TablePosition */ .TR.createAndInit(table, position.rowIndex, i);
                const mergedCellPosition = this.getVerticalSpanCellPositions(cellPosition, columnIndex)[0];
                const restartRowIndex = mergedCellPosition.rowIndex;
                const continuationRowIndex = rowsCount + position.rowIndex - 2;
                for (let i = continuationRowIndex; i >= restartRowIndex; i--) {
                    const mergedCellIndex = this.getCellIndexByColumnIndex(table.rows[i], columnIndex);
                    const rowPosition = _main_structures_table__WEBPACK_IMPORTED_MODULE_1__/* .TablePosition */ .TR.createAndInit(table, i, mergedCellIndex);
                    modelManipulator.table.mergeTwoTableCellsVertically(subDocument, rowPosition, inputPosition);
                }
                modelManipulator.table.normalizeRows(subDocument, table);
            }
        }
    }
    static insertRows(processor, subDocument, position, rowsCount) {
        const { history, modelManipulator } = processor.modelManager;
        const rowHeight = position.row.height;
        const newRowHeight = _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_5__/* .TableHeightUnit */ .aN.create(rowHeight.value / rowsCount, rowHeight.type);
        const historyItem = new _history_items_tables_table_row_properties_history_items__WEBPACK_IMPORTED_MODULE_4__/* .TableRowHeightHistoryItem */ .kl(modelManipulator, subDocument, position.table.index, position.rowIndex, newRowHeight);
        history.addAndRedo(historyItem);
        for (let i = 1; i < rowsCount; i++)
            modelManipulator.table.insertRowBelow(subDocument, position.table, position.rowIndex);
    }
    static splitMergedCellsVertically(processor, subDocument, position, columnsCount, rowsCount) {
        const endIndex = position.cellIndex + columnsCount - 1;
        for (let cellIndex = position.cellIndex; cellIndex <= endIndex; cellIndex++) {
            const newTablePosition = _main_structures_table__WEBPACK_IMPORTED_MODULE_1__/* .TablePosition */ .TR.createAndInit(position.table, position.rowIndex, cellIndex);
            this.splitMergedCellsVerticallyCore(processor, subDocument, newTablePosition, rowsCount);
        }
    }
    static splitMergedCellsVerticallyCore(processor, subDocument, position, rowsCount) {
        const { history, modelManipulator } = processor.modelManager;
        const columnIndex = this.getStartColumnIndex(position.cell);
        const mergedCellsPositions = this.getVerticalSpanCellPositions(position, columnIndex);
        if (mergedCellsPositions.length === rowsCount) {
            for (let i = 0, mergedCellsPosition; mergedCellsPosition = mergedCellsPositions[i]; i++)
                history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .TableCellVerticalMergingHistoryItem */ .DW(modelManipulator, subDocument, position.table.index, mergedCellsPosition.rowIndex, mergedCellsPosition.cellIndex, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableCellMergingState */ .Z3.None));
        }
        else {
            const totalRowsCount = mergedCellsPositions.length / rowsCount;
            for (let i = 0, mergedCellsPosition; mergedCellsPosition = mergedCellsPositions[i]; i++) {
                if (i % totalRowsCount == 0)
                    history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .TableCellVerticalMergingHistoryItem */ .DW(modelManipulator, subDocument, position.table.index, mergedCellsPosition.rowIndex, mergedCellsPosition.cellIndex, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableCellMergingState */ .Z3.Restart));
            }
        }
    }
    static splitTableCellsHorizontallyCore(processor, subDocument, position, columnsCount, inputPosition) {
        const { history, modelManipulator } = processor.modelManager;
        const columnIndex = this.getStartColumnIndex(position.cell);
        const verticalSpanPositions = this.getVerticalSpanCellPositions(position, columnIndex);
        const spanDelta = columnsCount - position.cell.columnSpan;
        const oldPatternCellWidth = position.cell.preferredWidth;
        if (oldPatternCellWidth.type !== _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_5__/* .TableWidthUnitType */ .HO.Nil && oldPatternCellWidth.type !== _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_5__/* .TableWidthUnitType */ .HO.Auto) {
            for (let i = verticalSpanPositions.length - 1; i >= 0; i--) {
                const cellPosition = verticalSpanPositions[i];
                const cellWidth = cellPosition.cell.preferredWidth;
                if (cellWidth.type !== _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_5__/* .TableWidthUnitType */ .HO.Nil && cellWidth.type !== _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_5__/* .TableWidthUnitType */ .HO.Auto)
                    history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .TableCellPreferredWidthHistoryItem */ .If(modelManipulator, subDocument, cellPosition.table.index, cellPosition.rowIndex, cellPosition.cellIndex, _secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_5__/* .TableWidthUnit */ .CT.create(cellWidth.value / columnsCount, cellWidth.type)));
                if (cellPosition.cell.columnSpan > 1)
                    history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .TableCellColumnSpanHistoryItem */ .Hg(modelManipulator, subDocument, cellPosition.table.index, cellPosition.rowIndex, cellPosition.cellIndex, Math.max(1, cellPosition.cell.columnSpan - (columnsCount - 1))));
            }
        }
        for (let i = 1; i < columnsCount; i++)
            modelManipulator.table.insertCellToTheRight(subDocument, position.table, position.rowIndex, position.cellIndex, inputPosition, false, false);
        if (spanDelta > 0)
            this.normalizeColumnSpansAfterSplitHorizontally(processor, subDocument, verticalSpanPositions, columnIndex, spanDelta);
    }
    static normalizeColumnSpansAfterSplitHorizontally(processor, subDocument, verticalSpanPositions, columnIndex, newColumnsCount) {
        const { history, modelManipulator } = processor.modelManager;
        const table = verticalSpanPositions[0].table;
        const startRowIndex = verticalSpanPositions[0].rowIndex;
        const endRowIndex = startRowIndex + verticalSpanPositions.length - 1;
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            if (rowIndex >= startRowIndex && rowIndex <= endRowIndex)
                continue;
            const cellIndex = this.getCellIndexByColumnIndex(row, columnIndex);
            const cell = row.cells[cellIndex];
            if (!cell) {
                if (row.gridBefore >= columnIndex)
                    history.addAndRedo(new _history_items_tables_table_row_properties_history_items__WEBPACK_IMPORTED_MODULE_4__/* .TableRowGridBeforeHistoryItem */ .xU(modelManipulator, subDocument, table.index, rowIndex, row.gridBefore + newColumnsCount));
                else
                    history.addAndRedo(new _history_items_tables_table_row_properties_history_items__WEBPACK_IMPORTED_MODULE_4__/* .TableRowGridAfterHistoryItem */ .Ix(modelManipulator, subDocument, table.index, rowIndex, row.gridAfter + newColumnsCount));
            }
            else
                history.addAndRedo(new _history_items_tables_table_cell_properties_history_items__WEBPACK_IMPORTED_MODULE_6__/* .TableCellColumnSpanHistoryItem */ .Hg(modelManipulator, subDocument, table.index, rowIndex, cellIndex, cell.columnSpan + newColumnsCount));
        }
    }
}
class TableConditionalFormattingCalculator {
    static updateTable(control, table, subDocument) {
        let tableStyleColumnBandSize = new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerStyleColumnBandSize */ .$D()
            .getProperty(table.properties, table.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, control.model.defaultTableProperties);
        let tableStyleRowBandSize = new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerStyleRowBandSize */ .TH()
            .getProperty(table.properties, table.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, control.model.defaultTableProperties);
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            let rowConditionalFormatting = this.getRowConditionalFormatting(table.lookTypes, tableStyleRowBandSize, table, rowIndex);
            if (row.conditionalFormatting !== rowConditionalFormatting)
                control.history.addAndRedo(new _history_items_tables_change_table_cell_history_items__WEBPACK_IMPORTED_MODULE_0__/* .TableRowConditionalFormattingHistoryItem */ .mT(control.modelManipulator, subDocument, table.index, rowIndex, rowConditionalFormatting));
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++) {
                let cellConditionalFormatting = rowConditionalFormatting | this.getCellConditionalFormatting(table.lookTypes, tableStyleColumnBandSize, table, rowIndex, cellIndex);
                if (cell.conditionalFormatting !== cellConditionalFormatting)
                    control.history.addAndRedo(new _history_items_tables_change_table_cell_history_items__WEBPACK_IMPORTED_MODULE_0__/* .TableCellConditionalFormattingHistoryItem */ .jl(control.modelManipulator, subDocument, table.index, rowIndex, cellIndex, cellConditionalFormatting));
            }
        }
    }
    static updateTableWithoutHistory(model, table) {
        let tableStyleColumnBandSize = new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerStyleColumnBandSize */ .$D()
            .getProperty(table.properties, table.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, model.defaultTableProperties);
        let tableStyleRowBandSize = new _properties_mergers_table_properties_merger__WEBPACK_IMPORTED_MODULE_2__/* .TablePropertiesMergerStyleRowBandSize */ .TH()
            .getProperty(table.properties, table.style, _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.WholeTable, model.defaultTableProperties);
        for (let rowIndex = 0, row; row = table.rows[rowIndex]; rowIndex++) {
            row.conditionalFormatting = this.getRowConditionalFormatting(table.lookTypes, tableStyleRowBandSize, table, rowIndex);
            for (let cellIndex = 0, cell; cell = row.cells[cellIndex]; cellIndex++)
                cell.conditionalFormatting = row.conditionalFormatting |
                    TableConditionalFormattingCalculator.getCellConditionalFormatting(table.lookTypes, tableStyleColumnBandSize, table, rowIndex, cellIndex);
        }
    }
    static getRowConditionalFormatting(tableLook, tableStyleRowBandSize, table, rowIndex) {
        let result = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.WholeTable;
        if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstRow) {
            if (rowIndex === 0)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.FirstRow;
        }
        if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastRow) {
            if (rowIndex === table.rows.length - 1)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.LastRow;
        }
        if (!(tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.DoNotApplyRowBanding) && !(result & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.FirstRow || result & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.LastRow)) {
            if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstRow)
                rowIndex--;
            if (Math.floor(rowIndex / tableStyleRowBandSize) % 2 == 0)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.OddRowBanding;
            else
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.EvenRowBanding;
        }
        return result;
    }
    static getCellConditionalFormatting(tableLook, tableStyleColumnBandSize, table, rowIndex, cellIndex) {
        let result = _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.WholeTable;
        let row = table.rows[rowIndex];
        if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstColumn) {
            if (cellIndex === 0)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.FirstColumn;
        }
        if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastColumn) {
            if (cellIndex === row.cells.length - 1)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.LastColumn;
        }
        if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstRow && rowIndex === 0) {
            if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstColumn && cellIndex === 0)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.TopLeftCell;
            if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastColumn && cellIndex === row.cells.length - 1)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.TopRightCell;
        }
        else if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastRow && rowIndex === table.rows.length - 1) {
            if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstColumn && cellIndex === 0)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.BottomLeftCell;
            if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyLastColumn && cellIndex === row.cells.length - 1)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.BottomRightCell;
        }
        if (!(tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.DoNotApplyColumnBanding) && !(result & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.FirstColumn || result & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.LastColumn)) {
            if (tableLook & _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .TableLookTypes */ .sp.ApplyFirstColumn)
                cellIndex--;
            if (Math.floor(cellIndex / tableStyleColumnBandSize) % 2 == 0)
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.OddColumnBanding;
            else
                result |= _secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_3__/* .ConditionalTableStyleFormatting */ .pB.EvenColumnBanding;
        }
        return result;
    }
}


/***/ }),

/***/ 7088:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   DA: function() { return /* binding */ SystemColorValues; },
/* harmony export */   Dl: function() { return /* binding */ StyleMatrixElementType; },
/* harmony export */   jH: function() { return /* binding */ SchemeColorValues; },
/* harmony export */   si: function() { return /* binding */ XlFontSchemeStyles; }
/* harmony export */ });
var SchemeColorValues;
(function (SchemeColorValues) {
    SchemeColorValues[SchemeColorValues["Accent1"] = 0] = "Accent1";
    SchemeColorValues[SchemeColorValues["Accent2"] = 1] = "Accent2";
    SchemeColorValues[SchemeColorValues["Accent3"] = 2] = "Accent3";
    SchemeColorValues[SchemeColorValues["Accent4"] = 3] = "Accent4";
    SchemeColorValues[SchemeColorValues["Accent5"] = 4] = "Accent5";
    SchemeColorValues[SchemeColorValues["Accent6"] = 5] = "Accent6";
    SchemeColorValues[SchemeColorValues["Background1"] = 6] = "Background1";
    SchemeColorValues[SchemeColorValues["Background2"] = 7] = "Background2";
    SchemeColorValues[SchemeColorValues["Dark1"] = 8] = "Dark1";
    SchemeColorValues[SchemeColorValues["Dark2"] = 9] = "Dark2";
    SchemeColorValues[SchemeColorValues["FollowedHyperlink"] = 10] = "FollowedHyperlink";
    SchemeColorValues[SchemeColorValues["Hyperlink"] = 11] = "Hyperlink";
    SchemeColorValues[SchemeColorValues["Light1"] = 12] = "Light1";
    SchemeColorValues[SchemeColorValues["Light2"] = 13] = "Light2";
    SchemeColorValues[SchemeColorValues["Style"] = 14] = "Style";
    SchemeColorValues[SchemeColorValues["Text1"] = 15] = "Text1";
    SchemeColorValues[SchemeColorValues["Text2"] = 16] = "Text2";
    SchemeColorValues[SchemeColorValues["Empty"] = 17] = "Empty";
})(SchemeColorValues || (SchemeColorValues = {}));
var SystemColorValues;
(function (SystemColorValues) {
    SystemColorValues[SystemColorValues["Sc3dDkShadow"] = 20] = "Sc3dDkShadow";
    SystemColorValues[SystemColorValues["Sc3dLight"] = 19] = "Sc3dLight";
    SystemColorValues[SystemColorValues["ScActiveBorder"] = 21] = "ScActiveBorder";
    SystemColorValues[SystemColorValues["ScActiveCaption"] = 6] = "ScActiveCaption";
    SystemColorValues[SystemColorValues["ScAppWorkspace"] = 24] = "ScAppWorkspace";
    SystemColorValues[SystemColorValues["ScBackground"] = 23] = "ScBackground";
    SystemColorValues[SystemColorValues["ScBtnFace"] = 0] = "ScBtnFace";
    SystemColorValues[SystemColorValues["ScBtnHighlight"] = 7] = "ScBtnHighlight";
    SystemColorValues[SystemColorValues["ScBtnShadow"] = 8] = "ScBtnShadow";
    SystemColorValues[SystemColorValues["ScBtnText"] = 9] = "ScBtnText";
    SystemColorValues[SystemColorValues["ScCaptionText"] = 5] = "ScCaptionText";
    SystemColorValues[SystemColorValues["ScGradientActiveCaption"] = -2] = "ScGradientActiveCaption";
    SystemColorValues[SystemColorValues["ScGradientInactiveCaption"] = -3] = "ScGradientInactiveCaption";
    SystemColorValues[SystemColorValues["ScGrayText"] = 10] = "ScGrayText";
    SystemColorValues[SystemColorValues["ScHighlight"] = 3] = "ScHighlight";
    SystemColorValues[SystemColorValues["ScHighlightText"] = 4] = "ScHighlightText";
    SystemColorValues[SystemColorValues["ScHotLight"] = -4] = "ScHotLight";
    SystemColorValues[SystemColorValues["ScInactiveBorder"] = 22] = "ScInactiveBorder";
    SystemColorValues[SystemColorValues["ScInactiveCaption"] = 11] = "ScInactiveCaption";
    SystemColorValues[SystemColorValues["ScInactiveCaptionText"] = 12] = "ScInactiveCaptionText";
    SystemColorValues[SystemColorValues["ScInfoBk"] = 13] = "ScInfoBk";
    SystemColorValues[SystemColorValues["ScInfoText"] = 14] = "ScInfoText";
    SystemColorValues[SystemColorValues["ScMenu"] = 2] = "ScMenu";
    SystemColorValues[SystemColorValues["ScMenuBar"] = -5] = "ScMenuBar";
    SystemColorValues[SystemColorValues["ScMenuHighlight"] = -6] = "ScMenuHighlight";
    SystemColorValues[SystemColorValues["ScMenuText"] = 15] = "ScMenuText";
    SystemColorValues[SystemColorValues["ScScrollBar"] = 16] = "ScScrollBar";
    SystemColorValues[SystemColorValues["ScWindow"] = 17] = "ScWindow";
    SystemColorValues[SystemColorValues["ScWindowFrame"] = 18] = "ScWindowFrame";
    SystemColorValues[SystemColorValues["ScWindowText"] = 1] = "ScWindowText";
    SystemColorValues[SystemColorValues["Empty"] = -1] = "Empty";
})(SystemColorValues || (SystemColorValues = {}));
var XlFontSchemeStyles;
(function (XlFontSchemeStyles) {
    XlFontSchemeStyles[XlFontSchemeStyles["None"] = 0] = "None";
    XlFontSchemeStyles[XlFontSchemeStyles["Minor"] = 1] = "Minor";
    XlFontSchemeStyles[XlFontSchemeStyles["Major"] = 2] = "Major";
})(XlFontSchemeStyles || (XlFontSchemeStyles = {}));
var StyleMatrixElementType;
(function (StyleMatrixElementType) {
    StyleMatrixElementType[StyleMatrixElementType["None"] = 0] = "None";
    StyleMatrixElementType[StyleMatrixElementType["Subtle"] = 1] = "Subtle";
    StyleMatrixElementType[StyleMatrixElementType["Moderate"] = 2] = "Moderate";
    StyleMatrixElementType[StyleMatrixElementType["Intense"] = 3] = "Intense";
})(StyleMatrixElementType || (StyleMatrixElementType = {}));


/***/ }),

/***/ 9126:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   l: function() { return /* binding */ ThemeDrawingColorCollection; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7774);
/* harmony import */ var _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1167);
/* harmony import */ var _color_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3371);
/* harmony import */ var _enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7088);




class ThemeDrawingColorCollection {
    constructor() {
        this.name = "";
        this.innerCollection = {};
    }
    tryGetDrawingColor(themeColorIndex) {
        return this.innerCollection[themeColorIndex];
    }
    setDrawingColor(themeColorIndex, value) {
        this.innerCollection[themeColorIndex] = value;
    }
    get Light1() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light1); }
    set Light1(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light1, value); }
    get Light2() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light2); }
    set Light2(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light2, value); }
    get Dark1() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark1); }
    set Dark1(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark1, value); }
    get Dark2() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark2); }
    set Dark2(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark2, value); }
    get Accent1() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent1); }
    set Accent1(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent1, value); }
    get Accent2() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent2); }
    set Accent2(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent2, value); }
    get Accent3() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent3); }
    set Accent3(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent3, value); }
    get Accent4() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent4); }
    set Accent4(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent4, value); }
    get Accent5() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent5); }
    set Accent5(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent5, value); }
    get Accent6() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent6); }
    set Accent6(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent6, value); }
    get Hyperlink() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Hyperlink); }
    set Hyperlink(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Hyperlink, value); }
    get FollowedHyperlink() { return this.tryGetDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.FollowedHyperlink); }
    set FollowedHyperlink(value) { this.setDrawingColor(_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.FollowedHyperlink, value); }
    isValidate() { return this.checkValidation(); }
    getColorByThemeColorIndex(colorProvider, themeColorIndex) {
        const drawingColor = this.tryGetDrawingColor(themeColorIndex);
        if (drawingColor == null)
            throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_0__/* .Errors */ .D.InternalException);
        return drawingColor.finalColor(colorProvider);
    }
    getColorBySchemeColorValues(colorProvider, value) {
        return this.getColorByThemeColorIndex(colorProvider, ThemeDrawingColorCollection.schemeColorValuesToThemeColorIndexTranslationTable[value]);
    }
    copyFrom(sourceObj) {
        this.clear();
        this.name = sourceObj.name;
        this.innerCollection = _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__/* .NumberMapUtils */ .j.map(sourceObj.innerCollection, (val) => val);
    }
    clear() {
        this.name = "";
        _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__/* .NumberMapUtils */ .j.clear(this.innerCollection);
    }
    checkValidation() {
        return this.name != null &&
            _devexpress_utils_lib_utils_map_number__WEBPACK_IMPORTED_MODULE_1__/* .NumberMapUtils */ .j.mapLength(this.innerCollection) == 12 &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark1] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light1] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark2] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light2] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent1] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent2] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent3] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent4] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent5] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent6] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Hyperlink] !== undefined &&
            this.innerCollection[_color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.FollowedHyperlink] !== undefined;
    }
}
ThemeDrawingColorCollection.schemeColorValuesToThemeColorIndexTranslationTable = {
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Background1]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light1,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Background2]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light2,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Text1]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark1,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Text2]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark2,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Light1]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light1,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Light2]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Light2,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Dark1]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark1,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Dark2]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Dark2,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Accent1]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent1,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Accent2]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent2,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Accent3]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent3,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Accent4]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent4,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Accent5]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent5,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Accent6]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Accent6,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.Hyperlink]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.Hyperlink,
    [_enums__WEBPACK_IMPORTED_MODULE_3__/* .SchemeColorValues */ .jH.FollowedHyperlink]: _color_enums__WEBPACK_IMPORTED_MODULE_2__/* .ThemeColorIndexConstants */ .uL.FollowedHyperlink,
};


/***/ }),

/***/ 3123:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  wg: function() { return /* binding */ ResizeColumnTableHelper; },
  gH: function() { return /* binding */ ResizeRowTableHelper; }
});

// UNUSED EXPORTS: ResizeTableHelperBase

;// CONCATENATED MODULE: ./src/common/utils/direction-adaptor/x-direction-adaptor.ts
class XDirectionAdaptor {
    isXDirection() {
        return true;
    }
}
class PointDirectionAdaptorX extends XDirectionAdaptor {
    init(obj) {
        this.obj = obj;
        return this;
    }
    get position() {
        return this.obj.x;
    }
    set position(x) {
        this.obj.x = x;
    }
    get anotherPosition() {
        return this.obj.y;
    }
    set anotherPosition(y) {
        this.obj.y = y;
    }
}
class SizeDirectionAdaptorX extends XDirectionAdaptor {
    init(obj) {
        this.obj = obj;
        return this;
    }
    get length() {
        return this.obj.width;
    }
    set length(width) {
        this.obj.width = width;
    }
    get anotherLength() {
        return this.obj.height;
    }
    set anotherLength(height) {
        this.obj.height = height;
    }
}
class RectangleDirectionAdaptorX extends PointDirectionAdaptorX {
    init(obj) {
        this.obj = obj;
        return this;
    }
    get length() {
        return this.obj.width;
    }
    set length(width) {
        this.obj.width = width;
    }
    get anotherLength() {
        return this.obj.height;
    }
    set anotherLength(height) {
        this.obj.height = height;
    }
}

;// CONCATENATED MODULE: ./src/common/utils/direction-adaptor/y-direction-adaptor.ts
class YDirectionAdaptor {
    isXDirection() {
        return false;
    }
}
class PointDirectionAdaptorY extends YDirectionAdaptor {
    init(obj) {
        this.obj = obj;
        return this;
    }
    get position() {
        return this.obj.y;
    }
    set position(y) {
        this.obj.y = y;
    }
    get anotherPosition() {
        return this.obj.x;
    }
    set anotherPosition(x) {
        this.obj.x = x;
    }
}
class SizeDirectionAdaptorY extends YDirectionAdaptor {
    init(obj) {
        this.obj = obj;
        return this;
    }
    get length() {
        return this.obj.height;
    }
    set length(height) {
        this.obj.height = height;
    }
    get anotherLength() {
        return this.obj.width;
    }
    set anotherLength(width) {
        this.obj.width = width;
    }
}
class RectangleDirectionAdaptorY extends PointDirectionAdaptorY {
    init(obj) {
        this.obj = obj;
        return this;
    }
    get length() {
        return this.obj.height;
    }
    set length(height) {
        this.obj.height = height;
    }
    get anotherLength() {
        return this.obj.width;
    }
    set anotherLength(width) {
        this.obj.width = width;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/evt.js
var utils_evt = __webpack_require__(3714);
// EXTERNAL MODULE: ./src/common/canvas/renderer-class-names.ts
var renderer_class_names = __webpack_require__(5031);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/point.js
var point = __webpack_require__(8900);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/size.js
var size = __webpack_require__(6353);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/dom.js
var dom = __webpack_require__(6907);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/commands/client-command.ts
var client_command = __webpack_require__(4803);
// EXTERNAL MODULE: ./src/common/commands/ruler/ruler-table-commands.ts
var ruler_table_commands = __webpack_require__(3381);
;// CONCATENATED MODULE: ./src/common/mouse-handler/resize-table-helper.ts











class ResizeTableHelperBase {
    constructor(control, resizeTableVisualizer, evt) {
        this.setAdaptors();
        this.control = control;
        this.resizeTableVisualizer = resizeTableVisualizer;
        const sourceElement = utils_evt/* EvtUtils */.g.getEventSource(evt.mouseEvent);
        this.setIndexes(sourceElement);
        if (!this.isInited())
            return;
        const pageAreaPlusColumn = this.getPartialLayoutPosition(evt.layoutPoint.pageIndex);
        this.columnBoundsRelativePage = pageAreaPlusColumn.pageArea.createRectangle();
        this.columnBoundsRelativePage.moveRectangleByPoint(pageAreaPlusColumn.column);
        this.sourceElementSize = new size.Size(sourceElement.offsetWidth, sourceElement.offsetHeight);
        this.startPositionRelativeTable = new point.Point(dom.DomUtils.pxToInt(sourceElement.style.left), dom.DomUtils.pxToInt(sourceElement.style.top));
        this.pointDirAdp.init(this.startPositionRelativeTable).position += Math.round(this.sizeDirAdp.init(this.sourceElementSize).length / 2);
        this.pointDirAdp.anotherPosition = 0;
        this.currPositionRelativeTable = this.startPositionRelativeTable.clone();
        const lineSize = new size.Size(this.layoutTable.width, this.layoutTable.height);
        this.sizeDirAdp.init(lineSize).length = 1;
        this.resizeTableVisualizer.init(evt.layoutPoint.pageIndex, lineSize);
        this.updateVisualizer();
        this.setSpecific();
    }
    isInited() {
        return this.tableIndex !== undefined;
    }
    move(evt) {
        if (!evt.layoutPoint || !this.isInited())
            return;
        const currPosRelativeTable = this.pointDirAdp.init(evt.layoutPoint.point).position -
            this.rectDirAdp.init(this.columnBoundsRelativePage).position -
            this.rectDirAdp.init(this.layoutTable).position;
        if (currPosRelativeTable >= this.minValueRelativeTable && currPosRelativeTable <= this.maxValueRelativeTable) {
            this.pointDirAdp.init(this.currPositionRelativeTable).position = currPosRelativeTable;
            this.updateVisualizer();
        }
    }
    end(evt) {
        if (!this.isInited())
            return;
        this.move(evt);
        if (Math.abs(this.pointDirAdp.init(this.currPositionRelativeTable).position - this.pointDirAdp.init(this.startPositionRelativeTable).position)
            > ResizeTableHelperBase.DIFFERENT_BY_PIXELS_ALLOW_CHANGE_MODEL)
            this.applyChanges();
        this.resizeTableVisualizer.hide();
    }
    updateVisualizer() {
        this.resizeTableVisualizer.show(new point.Point(this.columnBoundsRelativePage.x + this.layoutTable.x + this.currPositionRelativeTable.x, this.columnBoundsRelativePage.y + this.layoutTable.y + this.currPositionRelativeTable.y));
    }
    getPartialLayoutPosition(pageIndex) {
        const page = this.control.layout.pages[pageIndex];
        const subDocument = this.control.selection.activeSubDocument;
        if (!subDocument.isMain()) {
            const pageArea = page.otherPageAreas[subDocument.id];
            const column = pageArea.columns[0];
            this.layoutTable = ResizeTableHelperBase.getLayoutTable(column, this.tableIndex);
            return new PageAreaPlusColumn(pageArea, column);
        }
        return list.ListUtils.unsafeAnyOf(page.mainSubDocumentPageAreas, (pageArea) => {
            const column = list.ListUtils.unsafeAnyOf(pageArea.columns, (column) => (this.layoutTable = ResizeTableHelperBase.getLayoutTable(column, this.tableIndex)) ? column : null);
            return column ? new PageAreaPlusColumn(pageArea, column) : null;
        });
    }
    static getLayoutTable(column, tableIndex) {
        return list.ListUtils.elementBy(column.tablesInfo, (tInfo) => tInfo.logicInfo.grid.table.index == tableIndex);
    }
    setIndexes(sourceElement) {
        this.tableIndex = sourceElement.parentNode["dxTableIndex"];
    }
}
ResizeTableHelperBase.DIFFERENT_BY_PIXELS_ALLOW_CHANGE_MODEL = 5;
ResizeTableHelperBase.TABLE_SEPARATOR_DIVISION_MARGIN_X = 7;
ResizeTableHelperBase.TABLE_SEPARATOR_DIVISION_MARGIN_Y = 7;
class ResizeRowTableHelper extends ResizeTableHelperBase {
    setAdaptors() {
        this.rectDirAdp = new RectangleDirectionAdaptorY();
        this.pointDirAdp = new PointDirectionAdaptorY();
        this.sizeDirAdp = new SizeDirectionAdaptorY();
    }
    static canHandleResize(evt) {
        return utils_evt/* EvtUtils */.g.getEventSource(evt.mouseEvent).className.indexOf(renderer_class_names/* RendererClassNames */.A.TABLE_ROW_CURSOR) > -1;
    }
    isInited() {
        return super.isInited() && this.layoutRowIndex !== undefined;
    }
    setIndexes(sourceElement) {
        super.setIndexes(sourceElement);
        this.layoutRowIndex = sourceElement["dxLayoutRowIndex"];
    }
    setSpecific() {
        if (!this.isInited())
            return;
        this.minValueRelativeTable = this.layoutTable.tableRows[this.layoutRowIndex].y - this.layoutTable.y + ResizeTableHelperBase.TABLE_SEPARATOR_DIVISION_MARGIN_Y;
        this.maxValueRelativeTable = this.columnBoundsRelativePage.height - this.layoutTable.y;
    }
    applyChanges() {
        if (!this.isInited())
            return;
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerChangeTableRowHeight).execute(this.control.commandManager.isPublicApiCall, new ruler_table_commands/* RulerChangeTableRowHeightCommandParameters */.s$(this.tableIndex, this.currPositionRelativeTable.y - this.startPositionRelativeTable.y, this.layoutTable, this.layoutRowIndex));
    }
}
class ResizeColumnTableHelper extends ResizeTableHelperBase {
    setAdaptors() {
        this.rectDirAdp = new RectangleDirectionAdaptorX();
        this.pointDirAdp = new PointDirectionAdaptorX();
        this.sizeDirAdp = new SizeDirectionAdaptorX();
    }
    static canHandleResize(evt) {
        return utils_evt/* EvtUtils */.g.getEventSource(evt.mouseEvent).className.indexOf(renderer_class_names/* RendererClassNames */.A.TABLE_COLUMN_CURSOR) > -1;
    }
    applyChanges() {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerChangeTableColumnWidth).execute(this.control.commandManager.isPublicApiCall, new ruler_table_commands/* RulerChangeTableColumnWidthCommandParameters */.ye(this.tableIndex, this.currPositionRelativeTable.x - this.startPositionRelativeTable.x, this.layoutTable, this.startPositionRelativeTable.x + this.layoutTable.x, false));
    }
    setSpecific() {
        const columnsXPositions = this.layoutTable.logicInfo.grid.columns.positions;
        const columnIndex = ResizeColumnTableHelper.findNearestColumnIndex(columnsXPositions, this.startPositionRelativeTable.x);
        this.minValueRelativeTable = (columnIndex == 0 ? -this.layoutTable.x : columnsXPositions[columnIndex - 1] + ResizeTableHelperBase.TABLE_SEPARATOR_DIVISION_MARGIN_X);
        this.maxValueRelativeTable = columnIndex == columnsXPositions.length - 1 ?
            Number.MAX_VALUE :
            columnsXPositions[columnIndex + 1] - ResizeTableHelperBase.TABLE_SEPARATOR_DIVISION_MARGIN_X;
    }
    static findNearestColumnIndex(columnsXPositions, xPosRelativeTable) {
        const centralColumnIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(columnsXPositions, (x) => x, xPosRelativeTable));
        const columnIndexes = [centralColumnIndex];
        if (centralColumnIndex + 1 < columnsXPositions.length)
            columnIndexes.push(centralColumnIndex + 1);
        if (centralColumnIndex - 1 > 0)
            columnIndexes.unshift(centralColumnIndex - 1);
        return list.ListUtils.min(columnIndexes, (a) => Math.abs(columnsXPositions[a] - xPosRelativeTable));
    }
}
class PageAreaPlusColumn {
    constructor(pageArea, column) {
        this.pageArea = pageArea;
        this.column = column;
    }
}


/***/ }),

/***/ 5773:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  u: function() { return /* binding */ DocumentInfo; },
  N: function() { return /* binding */ RichEditCore; }
});

// EXTERNAL MODULE: ./src/common/utils/unit-converter.ts
var unit_converter = __webpack_require__(5438);
// EXTERNAL MODULE: ./src/common/document-format.ts
var document_format = __webpack_require__(5187);
// EXTERNAL MODULE: ./src/common/formats/file-name-helper.ts
var file_name_helper = __webpack_require__(611);
// EXTERNAL MODULE: ./src/common/utils/event-dispatcher.ts
var event_dispatcher = __webpack_require__(8558);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/batch-updatable.js
var batch_updatable = __webpack_require__(1772);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/errors.js
var errors = __webpack_require__(7774);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var utils_list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/measurer/measure-info.ts
var measure_info = __webpack_require__(7308);
// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/character-properties-cache.ts
var character_properties_cache = __webpack_require__(8245);
// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log.ts + 3 modules
var log = __webpack_require__(5580);
// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log-list-helper.ts
var log_list_helper = __webpack_require__(1791);
// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log-source.ts
var log_source = __webpack_require__(2343);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/changes/layout-change-base.ts
var LayoutChangeType;
(function (LayoutChangeType) {
    LayoutChangeType[LayoutChangeType["Deleted"] = 0] = "Deleted";
    LayoutChangeType[LayoutChangeType["Replaced"] = 1] = "Replaced";
    LayoutChangeType[LayoutChangeType["Updated"] = 2] = "Updated";
    LayoutChangeType[LayoutChangeType["Inserted"] = 3] = "Inserted";
})(LayoutChangeType || (LayoutChangeType = {}));
class LayoutChangeBase {
    get layoutIndex() { return this.index; }
    ;
    get canvasIndex() { return this.index; }
    ;
    constructor(index, changeType = LayoutChangeType.Updated) {
        this.index = index;
        this.changeType = changeType;
    }
    summarizeChanges(_change) {
    }
}
class AnchoredPictureChange extends LayoutChangeBase {
    reduceChanges() {
        return this.changeType == LayoutChangeType.Updated ? null : this;
    }
}
class ParagraphFrameChange extends LayoutChangeBase {
    reduceChanges() {
        return this.changeType == LayoutChangeType.Updated ? null : this;
    }
}
class RowChange extends LayoutChangeBase {
    reduceChanges() {
        return this.changeType == LayoutChangeType.Updated ? null : this;
    }
}
class TableChange extends LayoutChangeBase {
    reduceChanges() {
        return this.changeType == LayoutChangeType.Updated ? null : this;
    }
}
class RowChangeSV extends RowChange {
    get layoutIndex() { return this._layoutIndex; }
    ;
    get canvasIndex() { return this.index; }
    ;
    constructor(layoutIndex, canvasIndex, changeType) {
        super(canvasIndex, changeType);
        this._layoutIndex = layoutIndex;
    }
}
class TableChangeSV extends TableChange {
    get layoutIndex() { return this._layoutIndex; }
    ;
    get canvasIndex() { return this.index; }
    ;
    constructor(layoutIndex, canvasIndex, changeType) {
        super(canvasIndex, changeType);
        this._layoutIndex = layoutIndex;
    }
}
class ParagraphFrameChangeSV extends ParagraphFrameChange {
    get layoutIndex() { return this._layoutIndex; }
    ;
    get canvasIndex() { return this.index; }
    ;
    constructor(layoutIndex, canvasIndex, changeType) {
        super(canvasIndex, changeType);
        this._layoutIndex = layoutIndex;
    }
}

// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-box.ts
var layout_box = __webpack_require__(8274);
// EXTERNAL MODULE: ./src/common/layout/table/layout-table-cell-info.ts
var layout_table_cell_info = __webpack_require__(6031);
// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log-obj-to-str.ts
var log_obj_to_str = __webpack_require__(3831);
;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/layout-logger/log-obj-to-str-layout.ts








class LogObjToStrLayout {
    static layoutPoint(p) {
        return p ? `[pageIndex: ${p.pageIndex}, x: ${p.x}, y:${p.y}]` : "null";
    }
    static layoutPosition(lp) {
        return LogObjToStrLayout.layoutPositionShort(lp) + `, boxInd: ${lp.boxIndex}, charOffset:${lp.charOffset}`;
    }
    static layoutPositionShort(lp) {
        return `DetLevel: ${document_layout_details_level/* DocumentLayoutDetailsLevel */.l[lp.detailsLevel]}, pageIndex: ${lp.pageIndex}, pageAreaInd: ${lp.pageAreaIndex}, columnInd: ${lp.columnIndex}, rowInd: ${lp.rowIndex}`;
    }
    static layoutChangeBase(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}index: ${obj.index}`);
        result.push(`type: ${LayoutChangeType[obj.changeType]}`);
        return result.join(sep);
    }
    static pageSelectionChange(change, prefix = "") {
        const prefix_1 = `${prefix}\t`;
        const prefix_2 = `${prefix_1}\t`;
        let changeHandler = (change, index) => `${prefix_1}areaSelectionChange[${index}]:\n${LogObjToStrLayout.areaSelectionChange(change, prefix_2)}`;
        const result = [];
        result.push(LogObjToStrLayout.layoutChangeBase(change, prefix));
        result.push(`${prefix}pageSelectionChange:\n${log/* Log */.Z.join("\n", log/* Log */.Z.map(changeHandler, change.areaChanges))}`);
        return result.join("\n");
    }
    static areaSelectionChange(change, prefix = "") {
        const result = [];
        result.push(LogObjToStrLayout.layoutChangeBase(change, prefix, ",\t"));
        result.push(log_obj_to_str/* LogObjToStr */.I.rectangle(change.selection, prefix, ",\t"));
        return result.join(",\t");
    }
    static pageChange(pageChange, prefix = "") {
        const prefix_1 = `${prefix}\t`;
        const prefix_2 = `${prefix_1}\t`;
        let pageAreaChangeHandler = (change, index) => `${prefix_1}pageAreaChange[${index}]:\n${LogObjToStrLayout.pageAreaChange(change, prefix_2)}`;
        let ancPicChangeHandler = (change, index) => `${prefix_1}pictureFloatingChange[${index}]:\n${LogObjToStrLayout.anchoredPictureChange(change, prefix_2)}`;
        const result = [];
        result.push(LogObjToStrLayout.layoutChangeBase(pageChange, prefix));
        result.push(`${prefix}mainPageAreaChanges:\n${log/* Log */.Z.join("\n", log/* Log */.Z.map(pageAreaChangeHandler, pageChange.mainPageAreaChanges))}`);
        result.push(`${prefix}otherPageAreaChanges:\n${log/* Log */.Z.join("\n", log/* Log */.Z.map(pageAreaChangeHandler, pageChange.otherPageAreaChanges))}`);
        result.push(`${prefix}floatingPictureChanges:\n${log/* Log */.Z.join("\n", log/* Log */.Z.map(ancPicChangeHandler, pageChange.anchoredPictureChanges))}`);
        return result.join("\n");
    }
    static pageAreaChange(pageAreaChange, prefix = "") {
        const prefix_1 = `${prefix}\t`;
        const prefix_2 = `${prefix_1}\t`;
        let columnChangeHandler = (change, index) => `${prefix_1}columnChange[${index}]:\n${LogObjToStrLayout.columnChange(change, prefix_2)}`;
        const result = [];
        result.push(LogObjToStrLayout.layoutChangeBase(pageAreaChange, prefix));
        result.push(`${prefix}columnChanges:\n${log/* Log */.Z.join("\n", log/* Log */.Z.map(columnChangeHandler, pageAreaChange.columnChanges))}`);
        return result.join("\n");
    }
    static anchoredPictureChange(change, prefix = "") {
        const result = [];
        result.push(LogObjToStrLayout.layoutChangeBase(change, prefix));
        result.push(`${prefix}objectId: ${change.index}`);
        return result.join("\n");
    }
    static columnChange(columnChange, prefix = "") {
        const prefix_1 = `${prefix}\t`;
        const customChangeHandler = (_name, handler, change, index) => `${prefix_1}[${index}]:\t${handler(change, "")}`;
        const changesData = [
            { name: "rowChange", getChange: (cc) => cc.rowChanges, handler: LogObjToStrLayout.rowChange },
            { name: "paragraphFrameChange", getChange: (cc) => cc.paragraphFrameChanges, handler: LogObjToStrLayout.paragraphFrameChange },
            { name: "tableChange", getChange: (cc) => cc.tableChanges, handler: LogObjToStrLayout.tableChange }
        ];
        const result = [];
        result.push(LogObjToStrLayout.layoutChangeBase(columnChange, prefix));
        for (let data of changesData)
            result.push(`${prefix}${data.name}s:\n${log/* Log */.Z.join("\n", log/* Log */.Z.map(log/* Log */.Z.w(4, customChangeHandler)(data.name)(data.handler), data.getChange(columnChange)))}`);
        return result.join("\n");
    }
    static rowChange(rowChange, prefix = "") {
        return LogObjToStrLayout.layoutChangeBase(rowChange, prefix);
    }
    static paragraphFrameChange(paragraphFrameChange, prefix = "") {
        const result = [];
        result.push(LogObjToStrLayout.layoutChangeBase(paragraphFrameChange, prefix));
        return result.join("\t");
    }
    static tableChange(tableChange, prefix = "") {
        return LogObjToStrLayout.layoutChangeBase(tableChange, prefix);
    }
    static layoutTableColumnInfo(obj, prefix = "", sep = "\t") {
        const prefix_1 = `${prefix}\t`;
        const result = [];
        result.push(`${prefix}TableIndex: ${obj.logicInfo.grid.table.index}`);
        result.push(`${prefix}NestedLevel: ${obj.logicInfo.grid.table.nestedLevel}`);
        result.push(`${prefix}ParentTableIndex: ${obj.parentCell ? obj.parentCell.parentRow.parentTable.logicInfo.grid.table.index : ""}`);
        result.push(`${prefix}NumRows: ${obj.tableRows.length}`);
        result.push(`${prefix}Rows:\n${utils_list.ListUtils.map(obj.tableRows, (row) => LogObjToStrLayout.layoutTableRowInfo(row, prefix_1, sep)).join("\n")}`);
        return result.join(sep);
    }
    static layoutTableRowInfo(obj, prefix = "", sep = "\t") {
        const prefix_1 = `${prefix}\t`;
        const result = [];
        result.push(`${prefix}RowIndex: ${obj.rowIndex}`);
        result.push(`${prefix}NumCells: ${obj.rowCells.length}`);
        result.push(`${prefix}Cells:\n${utils_list.ListUtils.map(obj.rowCells, (cell) => LogObjToStrLayout.layoutTableCellInfo(cell, prefix_1, sep)).join("\n\n")}`);
        return result.join(sep);
    }
    static layoutTableCellInfo(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}CellGridIndex: ${obj.cellGridIndex}`);
        result.push(`${prefix}Flags: ${log/* Log */.Z.mask(layout_table_cell_info/* TableCellBoundFlags */.a, obj.boundFlags.getValue(), layout_table_cell_info/* TableCellBoundFlags */.a.StartAndEndOnOtherColumns)}`);
        result.push(`${prefix}InternalTablesIndexes: ${number/* NumberMapUtils */.j.toListBy(obj.internalTables, (tbl) => tbl.logicInfo.grid.table.index.toString()).join(" ")}`);
        result.push(`${prefix}NumLayoutRows: ${obj.layoutRows.length}`);
        result.push(`${prefix}CellText: ${utils_list.ListUtils.map(obj.layoutRows, (layoutRow) => utils_list.ListUtils.map(layoutRow.boxes, (box) => box.getType() == layout_box/* LayoutBoxType */.KH.Text ? box.text : "¶").join("")).join("")}`);
        return result.join(sep);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/changes/column-change.ts


class ColumnChange extends LayoutChangeBase {
    constructor(index, changeType = LayoutChangeType.Updated, rowChanges = [], tableChanges = [], paragraphFrameChanges = []) {
        super(index, changeType);
        this.rowChanges = rowChanges;
        this.tableChanges = tableChanges;
        this.paragraphFrameChanges = paragraphFrameChanges;
    }
    summarizeChanges(change) {
        this.rowChanges = this.rowChanges.concat(change.rowChanges);
        this.tableChanges = this.tableChanges.concat(change.tableChanges);
        this.paragraphFrameChanges = this.paragraphFrameChanges.concat(change.paragraphFrameChanges);
    }
    reduceChanges() {
        this.rowChanges = utils_list.ListUtils.reducedMap(this.rowChanges, (change) => change.reduceChanges());
        this.tableChanges = utils_list.ListUtils.reducedMap(this.tableChanges, (change) => change.reduceChanges());
        this.paragraphFrameChanges = utils_list.ListUtils.reducedMap(this.paragraphFrameChanges, (change) => change.reduceChanges());
        return this.changeType == LayoutChangeType.Updated &&
            !this.rowChanges.length && !this.tableChanges.length && !this.paragraphFrameChanges.length ?
            null : this;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/changes/page-area-change.ts


class PageAreaChange extends LayoutChangeBase {
    constructor(index, changeType = LayoutChangeType.Updated, columnChanges = []) {
        super(index, changeType);
        this.columnChanges = columnChanges;
    }
    summarizeChanges(change) {
        this.columnChanges = this.columnChanges.concat(change.columnChanges);
    }
    reduceChanges() {
        this.columnChanges = utils_list.ListUtils.reducedMap(this.columnChanges, (change) => change.reduceChanges());
        return this.changeType == LayoutChangeType.Updated && !this.columnChanges.length ? null : this;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/changes/page-change.ts


class PageChange extends LayoutChangeBase {
    constructor(index, changeType = LayoutChangeType.Updated, pageAreaChanges = [], otherPageAreaChanges = []) {
        super(index, changeType);
        this.mainPageAreaChanges = pageAreaChanges;
        this.otherPageAreaChanges = otherPageAreaChanges;
        this.anchoredPictureChanges = [];
    }
    summarizeChanges(change) {
        utils_list.ListUtils.addListOnTail(this.mainPageAreaChanges, change.mainPageAreaChanges);
        utils_list.ListUtils.addListOnTail(this.otherPageAreaChanges, change.otherPageAreaChanges);
        utils_list.ListUtils.addListOnTail(this.anchoredPictureChanges, change.anchoredPictureChanges);
    }
    emptyOrInvalid() {
        if (this.changeType != LayoutChangeType.Updated || this.otherPageAreaChanges.length > 0 || this.anchoredPictureChanges.length > 0)
            return false;
        for (let pageAreaChange of this.mainPageAreaChanges) {
            if (pageAreaChange.changeType != LayoutChangeType.Updated)
                return false;
            for (let columnChange of pageAreaChange.columnChanges) {
                if (columnChange.changeType != LayoutChangeType.Updated || columnChange.rowChanges.length != 0 ||
                    columnChange.paragraphFrameChanges.length != 0 || columnChange.tableChanges.length != 0)
                    return false;
            }
        }
        return true;
    }
    reduceChanges() {
        this.mainPageAreaChanges = utils_list.ListUtils.reducedMap(this.mainPageAreaChanges, (change) => change.reduceChanges());
        this.otherPageAreaChanges = utils_list.ListUtils.reducedMap(this.otherPageAreaChanges, (change) => change.reduceChanges());
        this.anchoredPictureChanges = utils_list.ListUtils.reducedMap(this.anchoredPictureChanges, (change) => change.reduceChanges());
        return this;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/engine/changes-merger.ts




class ChangesMerger {
    merge(changes) {
        this.resultChanges = [];
        this.infos = [];
        this.fillTo(0);
        for (var change of changes)
            switch (change.changeType) {
                case LayoutChangeType.Inserted:
                    this.handleInsertedChange(change);
                    break;
                case LayoutChangeType.Deleted:
                    this.handleDeletedChange(change);
                    break;
                case LayoutChangeType.Replaced:
                    this.handleReplacedChange(change, ChangesMergerInfoType.Replaced);
                    break;
                case LayoutChangeType.Updated:
                    this.handleReplacedChange(change, ChangesMergerInfoType.Updated);
                    break;
            }
        this.collectFinalChanges();
        return this.resultChanges;
    }
    fillTo(lastIndex) {
        while (this.infos.length <= lastIndex)
            this.infos.push(new ChangesMergerInfo(ChangesMergerInfoType.None, null, 0));
    }
    handleDeletedChange(change) {
        this.fillTo(change.index);
        const delPageInfo = this.infos.splice(change.index + 1, 1)[0];
        this.infos[change.index].numElemsDeletedAfterThis += 1 + (delPageInfo ? delPageInfo.numElemsDeletedAfterThis : 0);
    }
    handleInsertedChange(change) {
        this.fillTo(change.index);
        const prevPageInfo = this.infos[change.index];
        this.infos.splice(change.index + 1, 0, prevPageInfo.numElemsDeletedAfterThis ?
            new ChangesMergerInfo(ChangesMergerInfoType.Replaced, this.changeConstructor(change.index, LayoutChangeType.Replaced), prevPageInfo.numElemsDeletedAfterThis - 1) :
            new ChangesMergerInfo(ChangesMergerInfoType.Inserted, change, 0));
        prevPageInfo.numElemsDeletedAfterThis = 0;
    }
    handleReplacedChange(change, infoType) {
        this.fillTo(change.index + 1);
        const info = this.infos[change.index + 1];
        switch (info.type) {
            case ChangesMergerInfoType.Inserted:
            case ChangesMergerInfoType.Replaced:
                break;
            case ChangesMergerInfoType.None:
            case ChangesMergerInfoType.Updated:
                if (infoType == ChangesMergerInfoType.Updated && info.type == ChangesMergerInfoType.Updated) {
                    info.change.summarizeChanges(change);
                }
                else {
                    info.type = infoType;
                    info.change = change;
                }
                break;
        }
    }
    collectFinalChanges() {
        for (let infoIndex = 0, info; info = this.infos[infoIndex]; infoIndex++) {
            switch (info.type) {
                case ChangesMergerInfoType.Inserted:
                case ChangesMergerInfoType.Replaced:
                case ChangesMergerInfoType.Updated:
                    info.change.index = infoIndex - 1;
                    this.resultChanges.push(info.change);
                    break;
                case ChangesMergerInfoType.None:
                    break;
            }
            for (; info.numElemsDeletedAfterThis; info.numElemsDeletedAfterThis--)
                this.resultChanges.push(this.changeConstructor(infoIndex, LayoutChangeType.Deleted));
        }
    }
}
class LayoutPageChangesMerger extends ChangesMerger {
    changeConstructor(index, changeType) {
        return new PageChange(index, changeType, [], []);
    }
}
class LayoutPageAreaChangesMerger extends ChangesMerger {
    changeConstructor(index, changeType) {
        return new PageAreaChange(index, changeType, []);
    }
}
class LayoutColumnChangesMerger extends ChangesMerger {
    changeConstructor(index, changeType) {
        return new ColumnChange(index, changeType, [], [], []);
    }
}
class LayoutRowChangesMerger extends ChangesMerger {
    changeConstructor(index, changeType) {
        return new RowChange(index, changeType);
    }
}
class LayoutTableChangesMerger extends ChangesMerger {
    changeConstructor(index, changeType) {
        return new TableChange(index, changeType);
    }
}
class LayoutParagraphFrameChangesMerger extends ChangesMerger {
    changeConstructor(index, changeType) {
        return new ParagraphFrameChange(index, changeType);
    }
}
class ChangesMergerInfo {
    constructor(type, change, numElemsDeletedAfterThis) {
        this.type = type;
        this.change = change;
        this.numElemsDeletedAfterThis = numElemsDeletedAfterThis;
    }
}
var ChangesMergerInfoType;
(function (ChangesMergerInfoType) {
    ChangesMergerInfoType[ChangesMergerInfoType["Replaced"] = 0] = "Replaced";
    ChangesMergerInfoType[ChangesMergerInfoType["Inserted"] = 1] = "Inserted";
    ChangesMergerInfoType[ChangesMergerInfoType["Updated"] = 2] = "Updated";
    ChangesMergerInfoType[ChangesMergerInfoType["None"] = 3] = "None";
})(ChangesMergerInfoType || (ChangesMergerInfoType = {}));

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/engine/changes-manager.ts





class ChangesManager {
    constructor() {
        this.reset();
    }
    reset() {
        this.pageChanges = [];
    }
    addPageChange(pageChange) {
        if (pageChange)
            this.pageChanges.push(pageChange);
    }
    getPageChanges() {
        return this.pageChanges;
    }
    getMergedPageChanges() {
        if (!this.pageChanges.length)
            return [];
        const mergedPageChanges = new LayoutPageChangesMerger().merge(this.pageChanges);
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "mergedPageChanges - Changes\n", log_list_helper/* LogListHelper */.r.level_1((change) => LogObjToStrLayout.pageChange(change, ""), mergedPageChanges, "", "\n"));
        return mergedPageChanges;
    }
}

;// CONCATENATED MODULE: ./src/common/utils/min-max.ts
function updateMinMaxBounds(objA, objB) {
    if (!objB)
        return objA;
    if (objB.minElement > objA.minElement)
        objA.minElement = objB.minElement;
    if (objB.maxElement > objA.maxElement)
        objA.maxElement = objB.maxElement;
    return objA;
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/min-max.js
var min_max = __webpack_require__(6799);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/unit-converter.js
var class_unit_converter = __webpack_require__(9291);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/size.js
var size = __webpack_require__(6353);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/floating-objects/enums.ts
var enums = __webpack_require__(8927);
;// CONCATENATED MODULE: ./src/common/layout-formatter/floating/position-calculators/base-calculator.ts
class AnchorObjectPositionCalculatorBase {
    constructor(manager) {
        this.manager = manager;
    }
    get anchorInfo() {
        return this.obj.anchorInfo;
    }
    init(obj) {
        this.lp = this.manager.activeFormatter.layoutPosition;
        this.obj = obj;
        this.isRelativeCell = !!this.manager.activeFormatter.tableFormatter &&
            (obj.anchorInfo.layoutTableCell || this.manager.model.compatibilitySettings.layoutInTableCell);
        this.isSimpleView = this.manager.innerClientProperties.viewsSettings.isSimpleView;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/floating/position-calculators/horizontal.ts






class AnchorObjectHorizontalPositionCalculator extends AnchorObjectPositionCalculatorBase {
    calculate(obj) {
        this.init(obj);
        this.obj.x = this.getX();
        this.correctInTextAnchorPosition();
    }
    get leftCellMargin() { return this.manager.activeFormatter.tableFormatter.actualFormatter.tableInfo.currCellInfo.marginLeft; }
    get rightCellMargin() { return this.manager.activeFormatter.tableFormatter.actualFormatter.tableInfo.currCellInfo.marginRight; }
    getX() {
        if (this.anchorInfo.isUsedHorizontalAlignment())
            return this.alignment(this.anchorInfo.horizontalPositionType, this.anchorInfo.horizontalPositionAlignment);
        if (this.anchorInfo.isUsedHorizontalAbsolutePosition())
            return class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.anchorInfo.offset.x) + this.absolute();
        if (this.anchorInfo.isUsedHorizontalBookLayout())
            return this.bookLayout();
        if (this.anchorInfo.isUsedHorizontalRelativePosition())
            return this.relative();
        throw new Error(errors/* Errors */.D.InternalException);
    }
    relativeColumnPos() {
        return this.lp.pageArea.x + this.lp.column.x;
    }
    correctInTextAnchorPosition() {
        if (!this.isRelativeCell || !this.obj.isInText())
            return;
        const leftBounds = this.relativeColumnPos() + this.lp.row.tableCellInfo.x;
        this.obj.x = Math.max(this.obj.x, leftBounds);
        const rightBound = this.relativeColumnPos() + this.lp.row.tableCellInfo.right;
        const leftOffset = this.obj.right - rightBound;
        if (leftOffset > 0) {
            const avalLeftOffset = this.obj.x - leftBounds;
            this.obj.x -= Math.min(leftOffset, avalLeftOffset);
        }
    }
    alignment(type, alignment) {
        switch (type) {
            case enums/* AnchorObjectHorizontalPositionType */.pk.Character:
                return this.getAnchorXPosition() + this.getAlignPosition(alignment, 0);
            case enums/* AnchorObjectHorizontalPositionType */.pk.Column:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.x +
                        this.getAlignPosition(alignment, this.lp.row.tableCellInfo.width - this.leftCellMargin - this.rightCellMargin) :
                    this.relativeColumnPos() + this.getAlignPosition(alignment, this.lp.column.width);
            case enums/* AnchorObjectHorizontalPositionType */.pk.Page:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.getAlignPosition(alignment, this.lp.row.tableCellInfo.width) :
                    this.getAlignPosition(alignment, this.manager.boundsCalculator.pageWidth);
            case enums/* AnchorObjectHorizontalPositionType */.pk.Margin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.leftCellMargin +
                        this.getAlignPosition(alignment, this.lp.row.tableCellInfo.width - this.leftCellMargin - this.rightCellMargin) :
                    this.manager.boundsCalculator.marginLeft + this.getAlignPosition(alignment, this.lp.pageArea.width);
            case enums/* AnchorObjectHorizontalPositionType */.pk.LeftMargin:
            case enums/* AnchorObjectHorizontalPositionType */.pk.InsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.getAlignPosition(alignment, this.leftCellMargin) :
                    this.getAlignPosition(alignment, this.manager.boundsCalculator.marginLeft);
            case enums/* AnchorObjectHorizontalPositionType */.pk.RightMargin:
            case enums/* AnchorObjectHorizontalPositionType */.pk.OutsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.right - this.rightCellMargin +
                        this.getAlignPosition(enums/* AnchorObjectHorizontalPositionAlignment */.xC.Right, this.rightCellMargin) :
                    this.manager.boundsCalculator.pageWidth - this.manager.boundsCalculator.marginRight +
                        this.getAlignPosition(alignment, this.manager.boundsCalculator.marginRight);
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    getAlignPosition(alignment, width) {
        switch (alignment) {
            case enums/* AnchorObjectHorizontalPositionAlignment */.xC.Left:
                return 0;
            case enums/* AnchorObjectHorizontalPositionAlignment */.xC.Center:
                return width / 2 - this.obj.width / 2;
            case enums/* AnchorObjectHorizontalPositionAlignment */.xC.Right:
                return width - this.obj.width;
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    absolute() {
        switch (this.anchorInfo.horizontalPositionType) {
            case enums/* AnchorObjectHorizontalPositionType */.pk.Page:
                return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.x : 0;
            case enums/* AnchorObjectHorizontalPositionType */.pk.Column:
                return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.leftCellMargin : this.relativeColumnPos();
            case enums/* AnchorObjectHorizontalPositionType */.pk.Character:
                return this.getAnchorXPosition();
            case enums/* AnchorObjectHorizontalPositionType */.pk.Margin:
                return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.leftCellMargin :
                    this.manager.boundsCalculator.marginLeft;
            case enums/* AnchorObjectHorizontalPositionType */.pk.LeftMargin:
            case enums/* AnchorObjectHorizontalPositionType */.pk.OutsideMargin:
                return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.leftCellMargin :
                    0;
            case enums/* AnchorObjectHorizontalPositionType */.pk.RightMargin:
            case enums/* AnchorObjectHorizontalPositionType */.pk.InsideMargin:
                return this.isRelativeCell ? this.relativeColumnPos() +
                    this.lp.row.tableCellInfo.right - this.rightCellMargin :
                    this.manager.boundsCalculator.pageWidth - this.manager.boundsCalculator.marginRight;
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    getAnchorXPosition() {
        const rowAbsPos = this.lp.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row);
        const ancBoxAbsPos = this.obj.rowOffset;
        let boxIndex = search.SearchUtils.normedInterpolationIndexOf(this.lp.row.boxes, (box) => rowAbsPos + box.rowOffset, ancBoxAbsPos);
        if (boxIndex < 0)
            boxIndex = 0;
        const box = this.lp.row.boxes[boxIndex];
        if (!box)
            return this.lp.getLayoutX(null, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row);
        const symbolCount = Math.max(0, ancBoxAbsPos - rowAbsPos - box.rowOffset);
        return this.lp.getLayoutX(null, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + box.x +
            box.getCharOffsetXInPixels(this.manager.measurer, symbolCount);
    }
    bookLayout() {
        return this.alignment(this.anchorInfo.horizontalPositionType, AnchorObjectHorizontalPositionCalculator.mapBookLayoutALignmentType[this.anchorInfo.horizontalPositionAlignment]);
    }
    relative() {
        const type = this.anchorInfo.horizontalPositionType;
        switch (type) {
            case enums/* AnchorObjectHorizontalPositionType */.pk.Page:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.anchorInfo.getRelativeOffsetX(this.lp.row.tableCellInfo.width) :
                    this.anchorInfo.getRelativeOffsetX(this.manager.boundsCalculator.pageWidth);
            case enums/* AnchorObjectHorizontalPositionType */.pk.Margin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.leftCellMargin +
                        this.anchorInfo.getRelativeOffsetX(this.lp.row.tableCellInfo.width - this.leftCellMargin - this.rightCellMargin) :
                    this.manager.boundsCalculator.marginLeft +
                        this.anchorInfo.getRelativeOffsetX(this.manager.boundsCalculator.pageWidth - this.manager.boundsCalculator.marginLeft - this.manager.boundsCalculator.marginRight);
            case enums/* AnchorObjectHorizontalPositionType */.pk.LeftMargin:
            case enums/* AnchorObjectHorizontalPositionType */.pk.InsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.x + this.anchorInfo.getRelativeOffsetX(this.leftCellMargin) :
                    this.anchorInfo.getRelativeOffsetX(this.manager.boundsCalculator.marginLeft);
            case enums/* AnchorObjectHorizontalPositionType */.pk.RightMargin:
            case enums/* AnchorObjectHorizontalPositionType */.pk.OutsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.right - this.rightCellMargin +
                        this.anchorInfo.getRelativeOffsetX(this.rightCellMargin) :
                    this.manager.boundsCalculator.pageWidth - this.manager.boundsCalculator.marginRight +
                        this.anchorInfo.getRelativeOffsetX(this.manager.boundsCalculator.marginRight);
            default: throw new Error(errors/* Errors */.D.InternalException);
        }
    }
}
AnchorObjectHorizontalPositionCalculator.mapBookLayoutALignmentType = {
    [enums/* AnchorObjectHorizontalPositionAlignment */.xC.Inside]: enums/* AnchorObjectHorizontalPositionAlignment */.xC.Left,
    [enums/* AnchorObjectHorizontalPositionAlignment */.xC.Outside]: enums/* AnchorObjectHorizontalPositionAlignment */.xC.Right,
};

;// CONCATENATED MODULE: ./src/common/layout-formatter/floating/position-calculators/vertical.ts





class AnchorObjectVerticalPositionCalculator extends AnchorObjectPositionCalculatorBase {
    calculate(obj) {
        this.init(obj);
        this.obj.y = this.getY();
        this.correctInTextAnchorPosition();
    }
    get topCellMargin() {
        return this.manager.activeFormatter.tableFormatter.actualFormatter.tableInfo.currRowInfo.topAndBottomMargins.topMargin;
    }
    getY() {
        if (this.anchorInfo.isUsedVerticalAbsolutePosition())
            return class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.anchorInfo.offset.y) + this.absolute();
        if (this.anchorInfo.isUsedVerticalAlignment())
            return this.alignment();
        if (this.anchorInfo.isUsedVerticalRelativePosition())
            return this.relative();
        throw new Error(errors/* Errors */.D.InternalException);
    }
    relativeColumnPos() {
        return this.lp.pageArea.y + this.lp.column.y;
    }
    correctInTextAnchorPosition() {
        if (!this.isRelativeCell || !this.obj.isInText())
            return;
        const topBounds = this.relativeColumnPos() + this.lp.row.tableCellInfo.y;
        this.obj.y = Math.max(this.obj.y, topBounds);
    }
    getRowWhatStartParagraphY() {
        const paragraphStartPosition = this.lp.pageArea.subDocument
            .paragraphs[this.manager.activeFormatter.rowFormatter.result.paragraphIndex].startLogPosition.value;
        const rows = this.lp.column.rows;
        const parRelativeColumnOffset = paragraphStartPosition - this.lp.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column);
        const rowInd = this.lp.rowIndex;
        let rowWhatStartParagraph = rowInd >= rows.length ? this.lp.row : rows[rowInd];
        for (let row, rowIndex = rowInd - 1; (row = rows[rowIndex]) &&
            row.columnOffset >= parRelativeColumnOffset; rowIndex--)
            rowWhatStartParagraph = row;
        const relativeY = rowWhatStartParagraph.initialY - this.manager.activeFormatter.layoutPosition.getOffsetRelativeColumn().y;
        return Math.min(relativeY, rowWhatStartParagraph.y);
    }
    absolute() {
        switch (this.anchorInfo.verticalPositionType) {
            case enums/* AnchorObjectVerticalPositionType */.iL.Page:
                return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin : 0;
            case enums/* AnchorObjectVerticalPositionType */.iL.Line:
                return this.relativeColumnPos() + this.lp.row.y;
            case enums/* AnchorObjectVerticalPositionType */.iL.Margin:
                if (!this.isSimpleView) {
                    return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                        this.manager.boundsCalculator.marginTop;
                }
            case enums/* AnchorObjectVerticalPositionType */.iL.Paragraph:
                return this.relativeColumnPos() + this.getRowWhatStartParagraphY();
            case enums/* AnchorObjectVerticalPositionType */.iL.TopMargin:
            case enums/* AnchorObjectVerticalPositionType */.iL.InsideMargin:
                return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin : 0;
            case enums/* AnchorObjectVerticalPositionType */.iL.BottomMargin:
            case enums/* AnchorObjectVerticalPositionType */.iL.OutsideMargin:
                return this.isRelativeCell ? this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.manager.boundsCalculator.pageHeight - this.manager.boundsCalculator.marginBottom;
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    alignment() {
        switch (this.anchorInfo.verticalPositionType) {
            case enums/* AnchorObjectVerticalPositionType */.iL.Page:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.getAlignPosition(this.manager.boundsCalculator.pageHeight);
            case enums/* AnchorObjectVerticalPositionType */.iL.Line:
                return this.lp.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column) + this.lp.row.y +
                    this.getAlignPosition(this.lp.row.height);
            case enums/* AnchorObjectVerticalPositionType */.iL.Paragraph:
                return this.relativeColumnPos() + this.getRowWhatStartParagraphY();
            case enums/* AnchorObjectVerticalPositionType */.iL.Margin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.manager.boundsCalculator.marginTop +
                        this.getAlignPosition(this.manager.boundsCalculator.pageHeight - this.manager.boundsCalculator.marginTop -
                            this.manager.boundsCalculator.marginBottom);
            case enums/* AnchorObjectVerticalPositionType */.iL.TopMargin:
            case enums/* AnchorObjectVerticalPositionType */.iL.InsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.getAlignPosition(this.manager.boundsCalculator.marginTop);
            case enums/* AnchorObjectVerticalPositionType */.iL.BottomMargin:
            case enums/* AnchorObjectVerticalPositionType */.iL.OutsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.manager.boundsCalculator.pageHeight - this.manager.boundsCalculator.marginBottom +
                        this.getAlignPosition(this.manager.boundsCalculator.marginBottom);
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    getAlignPosition(height) {
        const alignment = this.anchorInfo.verticalPositionAlignment;
        switch (alignment) {
            case enums/* AnchorObjectVerticalPositionAlignment */.Iw.Top:
            case enums/* AnchorObjectVerticalPositionAlignment */.Iw.Inside:
                return 0;
            case enums/* AnchorObjectVerticalPositionAlignment */.Iw.Center:
                return height / 2 - this.obj.height / 2;
            case enums/* AnchorObjectVerticalPositionAlignment */.Iw.Bottom:
            case enums/* AnchorObjectVerticalPositionAlignment */.Iw.Outside:
                return height - this.obj.height;
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    relative() {
        switch (this.anchorInfo.verticalPositionType) {
            case enums/* AnchorObjectVerticalPositionType */.iL.Page:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.anchorInfo.getRelativeOffsetY(this.manager.boundsCalculator.pageHeight);
            case enums/* AnchorObjectVerticalPositionType */.iL.Margin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.manager.boundsCalculator.marginTop +
                        this.anchorInfo.getRelativeOffsetY(this.manager.boundsCalculator.pageHeight - this.manager.boundsCalculator.marginTop - this.manager.boundsCalculator.marginBottom);
            case enums/* AnchorObjectVerticalPositionType */.iL.TopMargin:
            case enums/* AnchorObjectVerticalPositionType */.iL.InsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.anchorInfo.getRelativeOffsetY(this.manager.boundsCalculator.marginTop);
            case enums/* AnchorObjectVerticalPositionType */.iL.BottomMargin:
            case enums/* AnchorObjectVerticalPositionType */.iL.OutsideMargin:
                return this.isRelativeCell ?
                    this.relativeColumnPos() + this.lp.row.tableCellInfo.y + this.topCellMargin :
                    this.manager.boundsCalculator.pageHeight - this.manager.boundsCalculator.marginBottom +
                        this.anchorInfo.getRelativeOffsetY(this.manager.boundsCalculator.marginBottom);
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/floating/anchored-objects-manager.ts






class AnchoredObjectsManager {
    constructor(manager) {
        this.manager = manager;
        this.anchorObjectHorizontalPositionCalculator = new AnchorObjectHorizontalPositionCalculator(this.manager);
        this.anchorObjectVerticalPositionCalculator = new AnchorObjectVerticalPositionCalculator(this.manager);
        this.reset();
    }
    reset() {
        this.textBoxContextSizeCalculators = {};
    }
}
class AnchoredTextBoxContextSizeCalculator {
    constructor(wrap, size, layoutInTableCell) {
        this.wrap = wrap;
        this.size = size;
        this.isInited = false;
        this.layoutInTableCell = layoutInTableCell;
    }
    calculateSize(boundsCalculator) {
        if (this.isInited)
            return;
        this.isInited = true;
        this.layoutSize = new size.Size(this.size.useAbsoluteWidth() ?
            class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.size.absoluteSize.width) :
            this.size.getActualRelativeWidth(boundsCalculator), this.size.useAbsoluteHeight() ?
            class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.size.absoluteSize.height) :
            this.size.getActualRelativeHeight(boundsCalculator));
        if (this.wrap.info.tablePosition && this.layoutInTableCell)
            updateMinMaxBounds(this.paragraphMinMax, new min_max.MinMaxNumber(this.layoutSize.width, this.layoutSize.width));
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var class_flag = __webpack_require__(7820);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/constants.js
var constants = __webpack_require__(8785);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/point.js
var geometry_point = __webpack_require__(8900);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/enum.js
var utils_enum = __webpack_require__(310);
// EXTERNAL MODULE: ./src/common/layout/layout-position.ts
var layout_position = __webpack_require__(8475);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-anchored-object-box.ts
var layout_anchored_object_box = __webpack_require__(9768);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-column.ts
var layout_column = __webpack_require__(2512);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/rectangle.js
var rectangle = __webpack_require__(8011);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-page-area.ts


class LayoutPageArea extends rectangle.Rectangle {
    get grids() {
        return this.columns.reduce((res, column) => {
            column.tablesInfo.forEach(tableInfo => res.set(tableInfo.logicInfo.grid.table, tableInfo.logicInfo.grid));
            return res;
        }, new Map());
    }
    constructor(subDocument) {
        super(0, 0, 0, 0);
        this.columns = [];
        this.subDocument = subDocument;
    }
    getEndPosition() {
        return this.pageOffset + utils_list.ListUtils.last(this.columns).getEndPosition();
    }
    getLastColumn() {
        return this.columns[this.columns.length - 1];
    }
    deepCopy() {
        const obj = new LayoutPageArea(this.subDocument);
        obj.pageOffset = this.pageOffset;
        obj.columns = utils_list.ListUtils.map(this.columns, (col) => col.deepCopy());
        obj.copyFrom(this);
        return obj;
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-row.ts
var layout_row = __webpack_require__(2636);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/model/color/color.ts
var color_color = __webpack_require__(7217);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-properties.ts + 1 modules
var paragraph_properties = __webpack_require__(1423);
;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/engine/paragraph-frame-changes-collector.ts








class ParagraphFrameCollector {
    static collect(colorProvider, newColumn, pageAreaOffset, paragraphs) {
        return ParagraphFrameCollector.collectNewParFrames(colorProvider, paragraphs, newColumn.rows, pageAreaOffset + newColumn.pageAreaOffset);
    }
    static collectNewParFrames(colorProvider, paragraphs, rows, columnPos) {
        const parFrames = [];
        const firstRowStartPos = columnPos + rows[0].columnOffset;
        let parIndex = search.SearchUtils.normedInterpolationIndexOf(paragraphs, (p) => p.startLogPosition.value, firstRowStartPos);
        let paragraph = paragraphs[parIndex];
        let parInterval = paragraph.interval;
        let prevParIndex = parIndex - 1;
        let parProps = paragraphs[parIndex].getParagraphMergedProperties();
        let parFrame;
        let prevParColor;
        for (let rowIndex = 0, prevRow, row; row = rows[rowIndex]; rowIndex++) {
            const rowPos = columnPos + row.columnOffset;
            while (true) {
                if (parInterval.contains(rowPos)) {
                    if (parIndex != prevParIndex || parProps.firstLineIndentType != paragraph_properties/* ParagraphFirstLineIndent */.Qi.None) {
                        parFrame = new layout_column/* ParagraphFrame */.f();
                        parFrames.push(parFrame);
                        parFrame.paragraphColor = parProps.shadingInfo.getActualColor(colorProvider);
                        parFrame.x = row.x;
                        parFrame.width = row.right - class_unit_converter/* UnitConverter */.u.twipsToPixelsF(parProps.rightIndent) - parFrame.x;
                        parFrame.y = row.y;
                        parFrame.height = row.height;
                        if (rowIndex == 0 ||
                            prevRow && prevRow.tableCellInfo && !row.tableCellInfo ||
                            row.tableCellInfo && row.tableCellInfo.layoutRows[0] == row ||
                            (prevParColor == color_color/* ColorHelper */.v.NO_COLOR || prevParColor == color_color/* ColorHelper */.v.AUTOMATIC_COLOR)) {
                            parFrame.y += row.getSpacingBefore();
                            parFrame.height -= row.getSpacingBefore();
                        }
                        if (ParagraphFrameCollector.isRemoveSpacingAfter(colorProvider, row, rows[rowIndex + 1], paragraphs, parIndex))
                            parFrame.height -= row.getSpacingAfter();
                        prevParColor = parFrame.paragraphColor;
                    }
                    else {
                        parFrame.height = row.bottom - parFrame.y;
                        if (ParagraphFrameCollector.isRemoveSpacingAfter(colorProvider, row, rows[rowIndex + 1], paragraphs, parIndex))
                            parFrame.height -= row.getSpacingAfter();
                    }
                    prevParIndex = parIndex;
                    break;
                }
                else {
                    parIndex++;
                    paragraph = paragraphs[parIndex];
                    parInterval = paragraph.interval;
                    parProps = paragraph.getParagraphMergedProperties();
                }
            }
            prevRow = row;
        }
        return ParagraphFrameCollector.mergeParagraphFrames(parFrames);
    }
    static isRemoveSpacingAfter(colorProvider, row, nextRow, paragraphs, parIndex) {
        let nextParColor;
        return (!nextRow ||
            row.flags.get(layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd) && (!row.tableCellInfo && nextRow.tableCellInfo ||
                row.tableCellInfo && utils_list.ListUtils.last(row.tableCellInfo.layoutRows) == row ||
                ((nextParColor = paragraphs[parIndex + 1].getParagraphMergedProperties().shadingInfo.getActualColor(colorProvider)) == color_color/* ColorHelper */.v.NO_COLOR ||
                    nextParColor == color_color/* ColorHelper */.v.AUTOMATIC_COLOR)));
    }
    static mergeParagraphFrames(paragraphFrames) {
        const mergedParFrames = [];
        let currParFrame;
        for (let parFrameIndex = 0, paragraphFrame; paragraphFrame = paragraphFrames[parFrameIndex]; parFrameIndex++) {
            if (paragraphFrame.paragraphColor == color_color/* ColorHelper */.v.NO_COLOR || paragraphFrame.paragraphColor == color_color/* ColorHelper */.v.AUTOMATIC_COLOR) {
                currParFrame = null;
                continue;
            }
            if (currParFrame &&
                paragraphFrame.paragraphColor == currParFrame.paragraphColor &&
                paragraphFrame.x == currParFrame.x &&
                paragraphFrame.width == currParFrame.width &&
                Math.abs(paragraphFrame.y - currParFrame.bottom) < 2) {
                currParFrame.height = paragraphFrame.bottom - currParFrame.y;
            }
            else {
                currParFrame = paragraphFrame;
                mergedParFrames.push(currParFrame);
            }
        }
        return mergedParFrames;
    }
}
class ParagraphFrameChangesCollector {
    static collect(oldParFrames, newParFrames) {
        const changes = [];
        for (let frameIndex = 0; frameIndex < newParFrames.length; frameIndex++) {
            const newParFrame = newParFrames[frameIndex];
            const oldParFrame = oldParFrames[frameIndex];
            if (!oldParFrame)
                changes.push(new ParagraphFrameChange(frameIndex, LayoutChangeType.Inserted));
            else {
                if (!newParFrame.equals(oldParFrame))
                    changes.push(new ParagraphFrameChange(frameIndex, LayoutChangeType.Replaced));
            }
        }
        for (let frameIndex = newParFrames.length; frameIndex < oldParFrames.length; frameIndex++)
            changes.push(new ParagraphFrameChange(newParFrames.length, LayoutChangeType.Deleted));
        return changes;
    }
}

// EXTERNAL MODULE: ./src/common/model/document-model.ts + 11 modules
var document_model = __webpack_require__(4495);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/polygon.js
var geometry_polygon = __webpack_require__(9210);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
;// CONCATENATED MODULE: ./src/common/layout-formatter/floating/layout-row-bounds-manager.ts










class RectangleRowBoundsCalculatorInfo extends (/* unused pure expression or super */ null && (Rectangle)) {
}
class AnchorObjectBoundsInfo {
    constructor(bounds, cell) {
        this.bounds = bounds;
        this.cell = cell;
        this.canPutTextAtRight = false;
        this.canPutTextAtLeft = false;
    }
}
class LayoutRowBoundsCalculator {
    getRectangleBounds(manager) {
        const tableFormatter = manager.activeFormatter.tableFormatter;
        if (!tableFormatter) {
            const ignoreFloatingObjectsInHeaderFooter = manager.model.compatibilitySettings.compatibilityMode < document_model/* CompatibilityMode */.VS.Word2013;
            if (manager.activeFormatter.subDocument.isHeaderFooter() && ignoreFloatingObjectsInHeaderFooter)
                return [];
            else
                return this.rectangleBounds;
        }
        const posInfo = manager.layout.anchorObjectsPositionInfo;
        const tableEndPos = tableFormatter.tableInfo.table.getEndPosition();
        return utils_list.ListUtils.reducedMap(this.rectangleBounds, (b, i) => posInfo.getPosition(this.ancObjectsId[i]) < tableEndPos ? b : null);
    }
    addTableInTextObject(obj, horizOuterBounds) {
        this.addAnchoredObject(obj, horizOuterBounds);
    }
    resetByColumn(objects, horizOuterBounds, ignoreFo) {
        this.rectangleBounds = [];
        this.ancObjectsId = [];
        if (!ignoreFo) {
            const inTextObjects = number/* NumberMapUtils */.j.reducedMap(objects, (obj) => obj.levelType == layout_anchored_object_box/* AnchoredObjectLevelType */.a.InText ? obj : null);
            number/* NumberMapUtils */.j.forEach(inTextObjects, (obj) => this.addAnchoredObject(obj, horizOuterBounds));
        }
    }
    removeAnchorObjectId(id) {
        this.ancObjectsId.splice(id, 1);
        this.rectangleBounds.splice(id, 1);
    }
    addAnchoredObject(obj, horizOuterBounds) {
        const anchorInfo = obj.anchorInfo;
        const extBounds = obj.getExtendedBounds();
        const center = extBounds.center;
        const polygon = geometry_polygon/* Polygon */.mg.fromRectangle(extBounds);
        polygon.rotateAround(center, obj.rotationInRadians, false, true);
        const bounds = polygon.bounds;
        switch (anchorInfo.wrapType) {
            case enums/* AnchorObjectTextWrapType */.vX.Tight:
            case enums/* AnchorObjectTextWrapType */.vX.Through:
            case enums/* AnchorObjectTextWrapType */.vX.Square: {
                const info = this.createAnchorObjectBoundsInfo(anchorInfo, bounds, obj.parentCell);
                LayoutRowBoundsCalculator.applySquareWrapSide(anchorInfo.wrapSide, info, horizOuterBounds);
                this.rectangleBounds.push(info);
                break;
            }
            case enums/* AnchorObjectTextWrapType */.vX.TopAndBottom: {
                const info = this.createAnchorObjectBoundsInfo(anchorInfo, bounds, obj.parentCell);
                info.canPutTextAtLeft = false;
                info.canPutTextAtRight = false;
                this.rectangleBounds.push(info);
                break;
            }
            default: throw new Error(errors/* Errors */.D.InternalException);
        }
        this.ancObjectsId.push(obj.objectId);
    }
    createAnchorObjectBoundsInfo(anchorInfo, bounds, cell) {
        bounds.applyOffsetsOutside(anchorInfo.getDistanceMargins());
        return new AnchorObjectBoundsInfo(bounds, cell);
    }
    static applySquareWrapSide(wrapSide, boundsInfo, horizOuterBounds) {
        const bounds = boundsInfo.bounds;
        const intersection = algorithms.IntervalAlgorithms.getIntersectionNonNullLength(new fixed.FixedInterval(bounds.x, bounds.width), horizOuterBounds);
        if (!intersection)
            return;
        switch (wrapSide) {
            case enums/* AnchorObjectTextWrapSide */.Xb.Right:
                boundsInfo.canPutTextAtRight = true;
                break;
            case enums/* AnchorObjectTextWrapSide */.Xb.Left:
                boundsInfo.canPutTextAtLeft = true;
                break;
            case enums/* AnchorObjectTextWrapSide */.Xb.Largest:
                boundsInfo.canPutTextAtLeft = intersection.start - horizOuterBounds.start >= horizOuterBounds.end - intersection.end;
                boundsInfo.canPutTextAtRight = !boundsInfo.canPutTextAtLeft;
                break;
            case enums/* AnchorObjectTextWrapSide */.Xb.Both:
                boundsInfo.canPutTextAtRight = true;
                boundsInfo.canPutTextAtLeft = true;
                break;
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list-counters-calculator.ts
var numbering_list_counters_calculator = __webpack_require__(6976);
;// CONCATENATED MODULE: ./src/common/model/numbering-lists/piece-table-numbering-list-counters-manager.ts

class SubDocumentNumberingListCountersManager {
    constructor(subDocument) {
        this.calculators = {};
        this.currentParagraphIndex = -1;
        this.subDocument = subDocument;
    }
    calculateCounters(paragraphIndex) {
        if (paragraphIndex < this.currentParagraphIndex)
            this.reset();
        this.currentParagraphIndex = paragraphIndex;
        var paragraph = this.subDocument.paragraphs[paragraphIndex];
        var abstractNumberingListIndex = paragraph.getAbstractNumberingListIndex();
        var calculator = this.getCalculator(abstractNumberingListIndex);
        return calculator.calculateNextCounters(paragraph);
    }
    getCalculator(abstractNumberingListIndex) {
        if (!this.calculators[abstractNumberingListIndex])
            this.calculators[abstractNumberingListIndex] = new numbering_list_counters_calculator/* NumberingListCountersCalculator */.N(this.subDocument.documentModel.abstractNumberingLists[abstractNumberingListIndex]);
        return this.calculators[abstractNumberingListIndex];
    }
    reset() {
        this.calculators = {};
        this.currentParagraphIndex = -1;
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var main_structures_table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/character/enums.ts
var character_enums = __webpack_require__(8579);
// EXTERNAL MODULE: ./src/common/model/properties-merger/character-properties-merger.ts + 1 modules
var character_properties_merger = __webpack_require__(9250);
// EXTERNAL MODULE: ./src/common/model/character/character-style.ts
var character_style = __webpack_require__(9915);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/string.js
var string = __webpack_require__(49);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-anchored-picture-box.ts
var layout_anchored_picture_box = __webpack_require__(3966);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-anchored-text-box.ts



class LayoutAnchoredTextBox extends layout_anchored_object_box/* LayoutAnchoredObjectBox */.Q {
    constructor(characterProperties, colorInfo, belongsToSubDocId, anchorInfo, shape, objectId, rotationInRadians, internalSubDocId, textBoxProperties) {
        super(characterProperties, colorInfo, belongsToSubDocId, anchorInfo, shape, objectId, rotationInRadians);
        this.internalSubDocId = internalSubDocId;
        this.textBoxProperties = textBoxProperties;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.AnchorTextBox;
    }
    clone() {
        const newObject = new LayoutAnchoredTextBox(this.characterProperties, this.colorInfo, this.belongsToSubDocId, this.anchorInfo, this.shape, this.objectId, this.rotationInRadians, this.internalSubDocId, this.textBoxProperties);
        newObject.copyFrom(this);
        return newObject;
    }
    renderGetContent(_renderer) {
        throw Error(errors/* Errors */.D.NotImplemented);
    }
}

// EXTERNAL MODULE: ./src/common/model/character/character-properties.ts
var character_properties = __webpack_require__(1789);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-page-break-box.ts



class LayoutPageBreakBox extends layout_box/* LayoutBox */.kZ {
    equals(obj) {
        return super.equals(obj) &&
            this.text == obj.text;
    }
    constructor(characterProperties, colorInfo) {
        super(characterProperties, colorInfo);
        if (!LayoutPageBreakBox.renderCharacterProperties && characterProperties) {
            LayoutPageBreakBox.renderCharacterProperties = new character_properties/* CharacterProperties */.d();
            LayoutPageBreakBox.renderCharacterProperties.fontSize = 10;
            LayoutPageBreakBox.renderCharacterProperties.fontInfo = this.characterProperties.fontInfo.clone();
            LayoutPageBreakBox.renderCharacterProperties.fontInfo.measurer = this.characterProperties.fontInfo.measurer;
            LayoutPageBreakBox.renderCharacterProperties.fontInfo.name = "Arial";
            LayoutPageBreakBox.renderCharacterProperties.fontInfo.cssString = "Arial";
            LayoutPageBreakBox.renderCharacterProperties.fontInfo.scriptMultiplier = 0.65;
        }
    }
    clone() {
        const newObj = new LayoutPageBreakBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.text = obj.text;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.PageBreak;
    }
    pushInfoForMeasure(info, _showHiddenSymbols) {
        info.push(new measure_info/* MeasureInfoText */.O_(this.getHiddenText(), this.renderGetCharacterProperties().initProps));
    }
    popInfoForMeasure(info, showHiddenSymbols) {
        var elem = info.pop();
        this.text = showHiddenSymbols ? elem.text : "&nbsp;";
        this.setSize(elem.resultSize);
    }
    renderGetContent(_renderer) {
        return this.text;
    }
    renderNoStrikeoutAndNoUnderlineIfBoxInEndRow() {
        return true;
    }
    renderGetCharacterProperties() {
        LayoutPageBreakBox.renderCharacterProperties.hidden = this.characterProperties.hidden;
        return new layout_box/* LayoutRenderCharacterProperties */.QJ(LayoutPageBreakBox.renderCharacterProperties, this.colorInfo);
    }
    isWhitespace() {
        return false;
    }
    isLineBreak() {
        return true;
    }
    getHiddenText() {
        return "........Page Break........";
    }
}

;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-column-break-box.ts


class LayoutColumnBreakBox extends LayoutPageBreakBox {
    clone() {
        const newObj = new LayoutColumnBreakBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.ColumnBreak;
    }
    getHiddenText() {
        return "........Column Break........";
    }
    isLineBreak() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-dash-box.ts


class LayoutDashBox extends layout_box/* LayoutBox */.kZ {
    get isDashBox() { return true; }
    constructor(characterProperties, colorInfo, text) {
        super(characterProperties, colorInfo);
        this.text = text;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.text == obj.text;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.Dash;
    }
    clone() {
        const newObj = new LayoutDashBox(this.characterProperties, this.colorInfo, this.text);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.text = obj.text;
    }
    renderGetContent(_renderer) {
        return this.text;
    }
    pushInfoForMeasure(info, _showHiddenSymbols) {
        info.push(new measure_info/* MeasureInfoNonText */.DA(this.text, this.characterProperties));
    }
    popInfoForMeasure(info, _showHiddenSymbols) {
        this.setSize(info.pop().resultSize);
    }
    isVisible() {
        return true;
    }
    isVisibleForRowAlign() {
        return true;
    }
    renderIsWordBox() {
        return true;
    }
    isWhitespace() {
        return false;
    }
    isLineBreak() {
        return false;
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-text-box.ts
var layout_text_box = __webpack_require__(3629);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-dependent-text-box.ts


var LayoutDependentBoxType;
(function (LayoutDependentBoxType) {
    LayoutDependentBoxType[LayoutDependentBoxType["Page"] = 0] = "Page";
    LayoutDependentBoxType[LayoutDependentBoxType["Numpages"] = 1] = "Numpages";
})(LayoutDependentBoxType || (LayoutDependentBoxType = {}));
class LayoutDependentTextBox extends layout_text_box/* LayoutTextBox */.P {
    clone() {
        const newObj = new LayoutDependentTextBox(this.characterProperties, this.colorInfo, this.text);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.type = obj.type;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.LayoutDependent;
    }
    setType(type) {
        this.type = type;
    }
    calculateText(manager) {
        switch (this.type) {
            case LayoutDependentBoxType.Numpages:
                this.text = (manager.layout.lastMaxNumPages).toString();
                if (!manager.activeFormatter.subDocument.isMain())
                    manager.layoutDependentRunCache.add(manager.activeFormatter.layoutPosition.pageIndex, manager.activeFormatter.subDocument.id);
                break;
            case LayoutDependentBoxType.Page:
                this.text = (manager.activeFormatter.layoutPosition.page.pageOrdinal).toString();
                break;
        }
    }
    isLineBreak() {
        return false;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/encode.js
var encode = __webpack_require__(9712);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-field-code-start-box.ts



class LayoutFieldCodeStartBox extends layout_box/* LayoutBox */.kZ {
    clone() {
        const newObj = new LayoutFieldCodeStartBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.FieldCodeStart;
    }
    getBoxChar() {
        return "{";
    }
    pushInfoForMeasure(info, _showHiddenSymbols) {
        info.push(new measure_info/* MeasureInfoNonText */.DA(this.getBoxChar(), this.characterProperties));
    }
    popInfoForMeasure(info, _showHiddenSymbols) {
        this.setSize(info.pop().resultSize);
    }
    isVisibleForRowAlign() {
        return true;
    }
    isVisible() {
        return true;
    }
    renderGetContent(_renderer) {
        return encode.EncodeUtils.encodeHtml(this.getBoxChar());
    }
    isWhitespace() {
        return false;
    }
    isLineBreak() {
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-field-code-end-box.ts


class LayoutFieldCodeEndBox extends LayoutFieldCodeStartBox {
    clone() {
        const newObj = new LayoutFieldCodeEndBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.FieldCodeEnd;
    }
    getBoxChar() {
        return "}";
    }
}

;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-field-result-end-box.ts


class LayoutFieldResultEndBox extends layout_box/* LayoutBox */.kZ {
    getType() {
        return layout_box/* LayoutBoxType */.KH.FieldResultEnd;
    }
    clone() {
        throw new Error(errors/* Errors */.D.InternalException);
    }
    isWhitespace() {
        throw new Error(errors/* Errors */.D.InternalException);
    }
    renderGetContent(_renderer) {
        throw new Error(errors/* Errors */.D.InternalException);
    }
    pushInfoForMeasure(_info, _showHiddenSymbols) { }
    popInfoForMeasure(_info, _showHiddenSymbols) { }
    isLineBreak() {
        throw new Error(errors/* Errors */.D.InternalException);
    }
}

// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-line-break-box.ts




class LayoutLineBreakBox extends layout_box/* LayoutBox */.kZ {
    equals(obj) {
        return super.equals(obj) &&
            this.lineBreakSymbol == obj.lineBreakSymbol;
    }
    constructor(characterProperties, colorInfo) {
        super(characterProperties, colorInfo);
        if (!LayoutLineBreakBox.renderCharacterProperties && characterProperties) {
            LayoutLineBreakBox.renderCharacterProperties = new character_properties/* CharacterProperties */.d();
            LayoutLineBreakBox.renderCharacterProperties.fontSize = 8;
            LayoutLineBreakBox.renderCharacterProperties.fontInfo = this.characterProperties.fontInfo.clone();
            LayoutLineBreakBox.renderCharacterProperties.fontInfo.measurer = this.characterProperties.fontInfo.measurer;
            LayoutLineBreakBox.renderCharacterProperties.fontInfo.name = "Arial";
            LayoutLineBreakBox.renderCharacterProperties.fontInfo.cssString = "Arial";
            LayoutLineBreakBox.renderCharacterProperties.fontInfo.scriptMultiplier = 0.65;
        }
    }
    clone() {
        const newObj = new LayoutLineBreakBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.lineBreakSymbol = obj.lineBreakSymbol;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.LineBreak;
    }
    pushInfoForMeasure(info, _showHiddenSymbols) {
        info.push(new measure_info/* MeasureInfoNonText */.DA("a", this.characterProperties));
    }
    popInfoForMeasure(info, showHiddenSymbols) {
        this.lineBreakSymbol = showHiddenSymbols ? rich_utils/* RichUtils */.i.specialCharacters.HiddenLineBreak : "&nbsp;";
        this.renderGetCharacterProperties();
        this.setSize(info.pop().resultSize);
    }
    renderGetContent(_renderer) {
        return this.lineBreakSymbol;
    }
    renderNoStrikeoutAndNoUnderlineIfBoxInEndRow() {
        return true;
    }
    renderGetCharacterProperties() {
        LayoutLineBreakBox.renderCharacterProperties.hidden = this.characterProperties.hidden;
        return new layout_box/* LayoutRenderCharacterProperties */.QJ(LayoutLineBreakBox.renderCharacterProperties, this.colorInfo);
    }
    isWhitespace() {
        return false;
    }
    isLineBreak() {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-non-breaking-space-box.ts



class LayoutNonBreakingSpaceBox extends layout_box/* LayoutBox */.kZ {
    equals(obj) {
        return super.equals(obj) &&
            this.spaceWidth == obj.spaceWidth &&
            this.hiddenSpaceWidth == obj.hiddenSpaceWidth;
    }
    clone() {
        const newObj = new LayoutNonBreakingSpaceBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    copyFrom(obj) {
        super.copyFrom(obj);
        this.spaceWidth = obj.spaceWidth;
        this.hiddenSpaceWidth = obj.hiddenSpaceWidth;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.NonBreakingSpace;
    }
    pushInfoForMeasure(info, showHiddenSymbols) {
        info.push(new measure_info/* MeasureInfoNonText */.DA("&nbsp;", this.characterProperties));
        if (showHiddenSymbols)
            info.push(new measure_info/* MeasureInfoNonText */.DA(LayoutNonBreakingSpaceBox.SYMBOL, this.characterProperties));
    }
    popInfoForMeasure(info, showHiddenSymbols) {
        this.hiddenSpaceWidth = showHiddenSymbols ? info.pop().resultSize.width : 0;
        const elem = info.pop();
        this.setSize(elem.resultSize);
        this.spaceWidth = elem.resultSize.width;
    }
    isVisible() {
        return true;
    }
    isVisibleForRowAlign() {
        return true;
    }
    renderGetContent(_renderer) {
        const numNbsps = Math.ceil((this.width - this.hiddenSpaceWidth) / Math.max(1, this.spaceWidth));
        return (this.hiddenSpaceWidth > 0 ? LayoutNonBreakingSpaceBox.SYMBOL : "") +
            string.StringUtils.repeat("&nbsp;", numNbsps);
    }
    renderIsWordBox() {
        return true;
    }
    isWhitespace() {
        return true;
    }
    isLineBreak() {
        return false;
    }
}
LayoutNonBreakingSpaceBox.SYMBOL = "˚";

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-paragraph-mark-box.ts
var layout_paragraph_mark_box = __webpack_require__(9649);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-picture-box.ts
var layout_picture_box = __webpack_require__(9052);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/layout-section-mark-box.ts


class LayoutSectionMarkBox extends LayoutPageBreakBox {
    get isSectionBreakBox() { return true; }
    clone() {
        const newObj = new LayoutSectionMarkBox(this.characterProperties, this.colorInfo);
        newObj.copyFrom(this);
        return newObj;
    }
    getType() {
        return layout_box/* LayoutBoxType */.KH.SectionMark;
    }
    getHiddenText() {
        return "::::::::Section Break::::::::";
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-space-box.ts
var layout_space_box = __webpack_require__(515);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-tab-space-box.ts
var layout_tab_space_box = __webpack_require__(374);
// EXTERNAL MODULE: ./src/common/model/model-iterator.ts
var model_iterator = __webpack_require__(7747);
// EXTERNAL MODULE: ./src/common/model/options/bookmarks.ts
var bookmarks = __webpack_require__(7516);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/math.js
var math = __webpack_require__(8679);
;// CONCATENATED MODULE: ./src/common/layout/main-structures/layout-boxes/bookmark-box.ts

var LayoutBookmarkBoxType;
(function (LayoutBookmarkBoxType) {
    LayoutBookmarkBoxType[LayoutBookmarkBoxType["StartBox"] = 0] = "StartBox";
    LayoutBookmarkBoxType[LayoutBookmarkBoxType["EndBox"] = 1] = "EndBox";
})(LayoutBookmarkBoxType || (LayoutBookmarkBoxType = {}));
class BookmarkBox extends rectangle.Rectangle {
    constructor(boxType) {
        super(0, 0, 0, 0);
        this.boxType = LayoutBookmarkBoxType.StartBox;
        this.color = "";
        this.boxType = boxType;
    }
    equals(obj) {
        return super.equals(obj) &&
            this.color == obj.color &&
            this.boxType == obj.boxType;
    }
}
BookmarkBox.DEFAULT_WIDTH = 3;
BookmarkBox.DEFAULT_BORDER_WIDTH = 2;

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/utils/box-aligner.ts




class BoxAligner {
    static findLastVisibleBoxIndex(boxes, startIndex, endIndex) {
        return utils_list.ListUtils.reverseIndexBy(boxes, (box) => box.isVisibleForRowAlign(), startIndex, endIndex);
    }
    static align(row, alignment, endXPosition, fromBoxIndex, dontJustifyLinesEndingInSoftLineBreak) {
        switch (alignment) {
            case paragraph_properties/* ParagraphAlignment */.wq.Right:
                BoxAligner.alignRightCenter(BoxAligner.getBoxes(row, fromBoxIndex), endXPosition, 1);
                break;
            case paragraph_properties/* ParagraphAlignment */.wq.Center:
                BoxAligner.alignRightCenter(BoxAligner.getBoxes(row, fromBoxIndex), endXPosition, 2);
                break;
            case paragraph_properties/* ParagraphAlignment */.wq.Justify:
            case paragraph_properties/* ParagraphAlignment */.wq.JustifyHigh:
            case paragraph_properties/* ParagraphAlignment */.wq.JustifyLow:
            case paragraph_properties/* ParagraphAlignment */.wq.JustifyMedium:
            case paragraph_properties/* ParagraphAlignment */.wq.Distribute:
            case paragraph_properties/* ParagraphAlignment */.wq.ThaiDistribute:
                BoxAligner.alignJustify(BoxAligner.getBoxes(row, fromBoxIndex), endXPosition, dontJustifyLinesEndingInSoftLineBreak);
                break;
            case paragraph_properties/* ParagraphAlignment */.wq.Left:
                break;
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    static getBoxes(row, fromBoxIndex) {
        if (fromBoxIndex)
            return row.boxes.slice(fromBoxIndex);
        if (!row.numberingListBox)
            return row.boxes;
        const boxes = row.boxes.slice();
        if (row.numberingListBox.separatorBox)
            boxes.unshift(row.numberingListBox.separatorBox);
        boxes.unshift(row.numberingListBox.textBox);
        return boxes;
    }
    static alignRightCenter(boxes, endXPosition, divider) {
        let avaliableWidth = BoxAligner.calculateFreeSpace(boxes, BoxAligner.findLastVisibleBoxIndex(boxes), endXPosition);
        if (divider > 1)
            avaliableWidth = Math.floor(avaliableWidth / divider);
        if (avaliableWidth > 0)
            for (let box of boxes)
                box.x += avaliableWidth;
    }
    static alignJustify(boxes, endXPosition, dontJustifyLinesEndingInSoftLineBreak) {
        switch (utils_list.ListUtils.last(boxes).getType()) {
            case layout_box/* LayoutBoxType */.KH.ParagraphMark:
            case layout_box/* LayoutBoxType */.KH.ColumnBreak:
            case layout_box/* LayoutBoxType */.KH.PageBreak:
            case layout_box/* LayoutBoxType */.KH.SectionMark:
                return;
            case layout_box/* LayoutBoxType */.KH.LineBreak:
                if (dontJustifyLinesEndingInSoftLineBreak)
                    return;
        }
        const prevBox = boxes[boxes.length - 2];
        const lastVisibleBoxIndex = BoxAligner.findLastVisibleBoxIndex(boxes);
        if (prevBox && (prevBox.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark || prevBox.getType() == layout_box/* LayoutBoxType */.KH.PageBreak) ||
            prevBox && prevBox.getType() == layout_box/* LayoutBoxType */.KH.PageBreak ||
            lastVisibleBoxIndex < 0)
            return;
        const firstNonSpaceBoxIndex = BoxAligner.firstNonSpaceBoxIndex(boxes);
        if (firstNonSpaceBoxIndex < 0)
            return;
        let totalSpaceWidth = 0;
        for (let i = firstNonSpaceBoxIndex + 1; i <= lastVisibleBoxIndex; i++) {
            const box = boxes[i];
            const boxType = box.getType();
            if (boxType == layout_box/* LayoutBoxType */.KH.Space)
                totalSpaceWidth += box.width;
        }
        const freeSpace = BoxAligner.calculateFreeSpace(boxes, lastVisibleBoxIndex, endXPosition);
        if (totalSpaceWidth == 0 || freeSpace <= 0)
            return;
        let leftX = boxes[firstNonSpaceBoxIndex].right;
        for (let i = firstNonSpaceBoxIndex + 1; i <= lastVisibleBoxIndex; i++) {
            const box = boxes[i];
            box.x = leftX;
            const boxType = box.getType();
            if (boxType == layout_box/* LayoutBoxType */.KH.Space)
                box.width += (freeSpace * box.width) / totalSpaceWidth;
            leftX += box.width;
        }
        for (let i = lastVisibleBoxIndex + 1, box; box = boxes[i]; i++) {
            box.x = leftX;
            leftX += box.width;
        }
    }
    static calculateFreeSpace(boxes, lastVisibleBoxIndex, rightBoundsPosition) {
        return rightBoundsPosition - (lastVisibleBoxIndex >= 0 ? boxes[lastVisibleBoxIndex].right : boxes[0].x);
    }
    static firstNonSpaceBoxIndex(boxes) {
        let lastNonSpace = -1;
        for (let i = boxes.length - 1; i >= 0; i--)
            switch (boxes[i].getType()) {
                case layout_box/* LayoutBoxType */.KH.TabSpace: return lastNonSpace;
                case layout_box/* LayoutBoxType */.KH.Space:
                case layout_box/* LayoutBoxType */.KH.NonBreakingSpace:
                    break;
                default: lastNonSpace = i;
            }
        return lastNonSpace;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/result.ts











var RowFormatterResultFlag;
(function (RowFormatterResultFlag) {
    RowFormatterResultFlag[RowFormatterResultFlag["None"] = 0] = "None";
    RowFormatterResultFlag[RowFormatterResultFlag["NotEnoughChunks"] = 1] = "NotEnoughChunks";
})(RowFormatterResultFlag || (RowFormatterResultFlag = {}));
var BoxBracketsType;
(function (BoxBracketsType) {
    BoxBracketsType[BoxBracketsType["None"] = 0] = "None";
    BoxBracketsType[BoxBracketsType["Open"] = 1] = "Open";
    BoxBracketsType[BoxBracketsType["Close"] = 2] = "Close";
})(BoxBracketsType || (BoxBracketsType = {}));
class RowFormatterResult {
    get rowStartPos() {
        return this.rowFormatter.rowSizesManager.rowStartPos;
    }
    constructor(rowFormatter, minY) {
        this.rowFormatter = rowFormatter;
        this.newAnchoredObjects = [];
        this.row = new layout_row/* LayoutRow */.WM(minY);
        this.startRowFormatting(true);
    }
    startRowFormatting(deleteAnchoredObjects) {
        this.flags = new class_flag.Flag(RowFormatterResultFlag.None);
        this.row.boxes = [];
        this.rowBoxIndexStart = 0;
        if (deleteAnchoredObjects)
            this.newAnchoredObjects = [];
    }
    finishLogicalRow(currLogicRowEndPos) {
        if (this.rowBoxIndexStart == this.row.boxes.length)
            return;
        this.rowFormatter.tabInfo.shiftBoxesAfterLastTab();
        const dontJustifyLinesEndingInSoftLineBreak = this.rowFormatter.manager.model.compatibilitySettings.dontJustifyLinesEndingInSoftLineBreak;
        if (!this.row.flags.get(layout_row/* LayoutRowStateFlags */.Kp.InfinityWidth))
            BoxAligner.align(this.row, this.rowFormatter.paragraphProps.alignment, currLogicRowEndPos, this.rowBoxIndexStart, dontJustifyLinesEndingInSoftLineBreak);
        this.rowBoxIndexStart = this.row.boxes.length;
    }
    deleteSomeAnchorObjects(index, posToRestart) {
        this.newAnchoredObjects.splice(index);
        this.rowFormatter.iterator.setPosition(posToRestart, false, false);
    }
    finishRow() {
        this.finishLogicalRow(this.rowFormatter.rowSizesManager.rowFormattingInfo.lastNonEmptyInterval.end);
        const lastBoxOffset = utils_list.ListUtils.last(this.row.boxes).rowOffset;
        for (let ind = 0, anc; anc = this.newAnchoredObjects[ind]; ind++) {
            if (anc.rowOffset > lastBoxOffset) {
                this.deleteSomeAnchorObjects(ind, anc.rowOffset);
                break;
            }
            if (anc.levelType == layout_anchored_object_box/* AnchoredObjectLevelType */.a.InText) {
                this.deleteSomeAnchorObjects(ind + 1, anc.rowOffset + 1);
                break;
            }
        }
        const paragraphs = this.rowFormatter.subDocument.paragraphs;
        this.row.applySpacingAfter(this.row.flags.get(layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd) ?
            layout_row/* LayoutRow */.WM.getParagraphSpacingAfter(paragraphs[this.paragraphIndex], paragraphs[this.paragraphIndex + 1]) :
            0);
        const rowStartPos = this.rowFormatter.rowSizesManager.rowStartPos;
        for (let box of this.row.boxes) {
            box.x -= this.row.x;
            box.rowOffset -= rowStartPos;
        }
        const rowLength = this.row.boxes.length ? utils_list.ListUtils.last(this.row.boxes).getEndPosition() : 0;
        this.addBrackets(rowStartPos, rowLength);
        if (this.row.numberingListBox) {
            this.row.numberingListBox.textBox.x -= this.row.x;
            if (this.row.numberingListBox.separatorBox)
                this.row.numberingListBox.separatorBox.x -= this.row.x;
        }
        this.row.columnOffset = rowStartPos -
            this.rowFormatter.manager.activeFormatter.layoutPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column);
        const pictBox = this.onlyInlinePictureBox();
        if (pictBox && pictBox.width > this.row.width)
            this.row.width = pictBox.width;
        const currState = this.rowFormatter.rowSizesManager.heightCalculator.currState;
        this.row.increaseRowHeightFromSpacingBeforeAndAfter(currState.maxAscent, currState.maxDescent);
    }
    onlyInlinePictureBox() {
        let pictBox;
        for (let ind = this.row.boxes.length - 1; ind >= 0; ind--) {
            const box = this.row.boxes[ind];
            if (box.getType() == layout_box/* LayoutBoxType */.KH.Picture) {
                pictBox = box;
            }
            else if (!utils_enum/* EnumUtils */.Y.isAnyOf(box.getType(), layout_box/* LayoutBoxType */.KH.ParagraphMark, layout_box/* LayoutBoxType */.KH.SectionMark, layout_box/* LayoutBoxType */.KH.LineBreak, layout_box/* LayoutBoxType */.KH.PageBreak)) {
                return null;
            }
        }
        return pictBox;
    }
    addBracketBox(boxType, color, x, layoutBox) {
        const box = new BookmarkBox(boxType);
        box.x = x - (boxType == LayoutBookmarkBoxType.EndBox ? BookmarkBox.DEFAULT_BORDER_WIDTH : 0);
        box.y = this.row.baseLine - layoutBox.getAscent() - this.row.getSpacingBefore();
        box.width = BookmarkBox.DEFAULT_WIDTH;
        box.height = layoutBox.height;
        box.color = color;
        this.row.bookmarkBoxes.push(box);
    }
    addBrackets(rowStartPos, rowLength) {
        if (!this.row.boxes[0])
            return;
        const rowEndPos = rowStartPos + rowLength;
        utils_list.ListUtils.forEach(this.rowFormatter.iterator.getBracketInfo(rowStartPos, rowLength), (info) => {
            const posOfCharInRow = info.absPos - rowStartPos;
            const box = this.getBracketBox(posOfCharInRow);
            const xPos = this.getBracketXPosition(posOfCharInRow, box);
            if (info.flags.get(BoxBracketsType.Open) && info.absPos < rowEndPos)
                this.addBracketBox(LayoutBookmarkBoxType.StartBox, info.color, xPos, box);
            if (info.flags.get(BoxBracketsType.Close) &&
                (info.length != 0 && info.absPos > rowStartPos || info.length == 0 && info.absPos <= rowStartPos))
                this.addBracketBox(LayoutBookmarkBoxType.EndBox, info.color, xPos + (info.length == 0 ? BookmarkBox.DEFAULT_BORDER_WIDTH : 0), box);
        });
    }
    getBracketBox(posOfCharInRow) {
        const boxes = this.row.boxes;
        const boxIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(boxes, (b) => b.rowOffset, posOfCharInRow));
        return boxes[boxIndex];
    }
    getBracketXPosition(posOfCharInRow, box) {
        const charOffset = math.MathUtils.restrictValue(posOfCharInRow - box.rowOffset, 0, box.getLength());
        return box.x + box.getCharOffsetXInPixels(this.rowFormatter.manager.measurer, charOffset);
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/box/box-wrap.ts
var box_wrap = __webpack_require__(5152);
;// CONCATENATED MODULE: ./src/common/layout-formatter/box/generator/one-dimension-itertors.ts

class OneDimensionItertor {
    constructor(objects) {
        this.objects = objects;
    }
    init(pos) {
        this.index = search.SearchUtils.normedInterpolationIndexOf(this.objects, (o) => this.getPosition(o), pos);
        this.updateNextObjPos();
    }
    update(newPosition) {
        if (newPosition < this.nextObjPosition)
            return false;
        while (this.getPosition(this.objects[++this.index]) < newPosition)
            ;
        this.updateNextObjPos();
        return true;
    }
    updateNextObjPos() {
        const nextObj = this.objects[this.index + 1];
        this.nextObjPosition = nextObj ? this.getPosition(nextObj) : Number.MAX_VALUE;
    }
}
class ParagraphIterator extends OneDimensionItertor {
    getPosition(o) {
        return o.startLogPosition.value;
    }
}
class SectionIterator extends OneDimensionItertor {
    getPosition(o) {
        return o.startLogPosition.value;
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/box/generator/recursive-objects-iterators.ts
var recursive_objects_iterators = __webpack_require__(8164);
// EXTERNAL MODULE: ./src/common/model/color/color-model-info.ts
var color_model_info = __webpack_require__(4837);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/color.js
var utils_color = __webpack_require__(13);
;// CONCATENATED MODULE: ./src/common/layout-formatter/box/generator/box-infos-generator.ts










































class BoxGenerator {
    static get MAX_NUM_NEW_BOXES() { return BoxWrapsHolder.AVERAGE_BOXES_ON_PAGE; }
    ;
    get colorProvider() { return this.manager.model.colorProvider; }
    constructor(manager, boxesHolder) {
        this.positionFromStartGenerate = -1;
        this.waitForMoreChunks = false;
        if (!BoxGenerator.modelCharToLayoutBoxConverter) {
            BoxGenerator.modelCharToLayoutBoxConverter = {
                [rich_utils/* RichUtils */.i.specialCharacters.LineBreak]: function (charProp, colorProvider) { return new LayoutLineBreakBox(charProp, charProp.getLayoutColorInfo(colorProvider)); },
                [rich_utils/* RichUtils */.i.specialCharacters.Space]: function (charProp, colorProvider) { return new layout_space_box/* LayoutSpaceBox */.A(charProp, charProp.getLayoutColorInfo(colorProvider)); },
                [rich_utils/* RichUtils */.i.specialCharacters.TabMark]: function (charProp, colorProvider) { return new layout_tab_space_box/* LayoutTabSpaceBoxJustForBoxIterator */.bn(charProp, charProp.getLayoutColorInfo(colorProvider)); },
                [rich_utils/* RichUtils */.i.specialCharacters.PageBreak]: function (charProp, colorProvider) { return new LayoutPageBreakBox(charProp, charProp.getLayoutColorInfo(colorProvider)); },
                [rich_utils/* RichUtils */.i.specialCharacters.ColumnBreak]: function (charProp, colorProvider) { return new LayoutColumnBreakBox(charProp, charProp.getLayoutColorInfo(colorProvider)); },
                [rich_utils/* RichUtils */.i.specialCharacters.NonBreakingSpace]: function (charProp, colorProvider) { return new LayoutNonBreakingSpaceBox(charProp, charProp.getLayoutColorInfo(colorProvider)); },
            };
            BoxGenerator.MapFieldCodeToLayoutDependentBoxType = {
                "PAGE": LayoutDependentBoxType.Page,
                "NUMPAGES": LayoutDependentBoxType.Numpages,
            };
        }
        this.manager = manager;
        this.boxWrapsHolder = boxesHolder;
    }
    isNotEmptyParagraphOrSectionRunBeforeTable(box) {
        const hasNewWrappers = this.newWrappers && this.newWrappers.length;
        const lastWrapperNotInsideTable = hasNewWrappers && !utils_list.ListUtils.last(this.newWrappers).info.tablePosition;
        return hasNewWrappers && lastWrapperNotInsideTable && (box.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark || box.getType() != layout_box/* LayoutBoxType */.KH.SectionMark) &&
            this.modelIterator.getAbsolutePosition() == this.tableIterator.getNextObjectPosition();
    }
    addNewBoxInfo(box, offsetCharAtStartRun = this.modelIterator.charOffset) {
        box.rowOffset = this.getAbsolutePosition(offsetCharAtStartRun) - box.getLength();
        const boxMustBeHidden = box.characterProperties.hidden && !this.manager.innerClientProperties.showHiddenSymbols &&
            this.isLastParagraphBoxInSubDocumentVisible(box) && this.isTableCellConsiderAtLeastOneBox(this.currWrapInfo, box) &&
            !this.isNotEmptyParagraphOrSectionRunBeforeTable(box);
        if (boxMustBeHidden ||
            BoxGenerator.isFieldHideElement(this.currWrapInfo, box) ||
            this.currWrapInfo.tablePosition && (utils_list.ListUtils.unsafeAnyOf(this.currWrapInfo.tablePosition, (tblPos) => tblPos.cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue) ||
                utils_enum/* EnumUtils */.Y.isAnyOf(box.getType(), layout_box/* LayoutBoxType */.KH.SectionMark, layout_box/* LayoutBoxType */.KH.PageBreak, layout_box/* LayoutBoxType */.KH.ColumnBreak))) {
            return null;
        }
        const newWrap = new box_wrap/* BoxWrap */.Od(box, this.currWrapInfo);
        this.addToBoxFieldInfo(newWrap);
        this.newWrappers.push(newWrap);
        return newWrap;
    }
    generate() {
        if (!this.init())
            return false;
        const generateFrom = this.modelIterator.getAbsolutePosition();
        this.updateBracketsInfo();
        if (this.waitForMoreChunks) {
            if (utils_list.ListUtils.last(this.chunks).getEndPosition() > generateFrom)
                this.updatePosSecondaryIterators(generateFrom);
        }
        else
            this.newWrappers = [];
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
        this.currBoxInfoType = layout_box/* LayoutBoxType */.KH.Text;
        this.waitForMoreChunks = false;
        this.createNewBoxes();
        if (this.waitForMoreChunks)
            return false;
        layout_box/* LayoutBox */.kZ.initializeWithMeasurer(this.newWrappers, this.manager.measurer, this.manager.innerClientProperties.showHiddenSymbols);
        this.boxWrapsHolder.setNewWrappers(this.newWrappers, generateFrom);
        return this.newWrappers.length > 0;
    }
    updateBracketsInfo() {
        this.boxWrapsHolder.bracketsInfo = [];
        const bkmSettings = this.boxWrapsHolder.manager.bookmarksSettings;
        const docProtSettings = this.boxWrapsHolder.manager.documentProtectionSettings;
        if (bkmSettings.visibility == bookmarks/* BookmarksVisibility */.rH.Visible)
            this.collectObjectBrackets(this.subDocument.bookmarks, bkmSettings.color, (bookmark) => !bookmark.isHidden());
        if (this.boxWrapsHolder.manager.documentProtectionSettings.showBrackets)
            this.collectObjectBrackets(this.subDocument.availableRangePermissions, docProtSettings.rangeHighlightBracketsColor, () => true);
        const cmp = (a, b) => {
            const diff = a.absPos - b.absPos;
            return diff ? diff : (a.color == b.color ? 0 : -1);
        };
        this.boxWrapsHolder.bracketsInfo = utils_list.ListUtils.merge(this.boxWrapsHolder.bracketsInfo, cmp, (a, b) => cmp(a, b) == 0, (to, from) => to.flags.set(from.flags.getValue(), true));
    }
    collectObjectBrackets(objects, color, shouldDrawn) {
        const brInfo = this.boxWrapsHolder.bracketsInfo;
        utils_list.ListUtils.forEach(objects, (obj) => {
            if (shouldDrawn(obj)) {
                brInfo.push(new BracketInfo(obj.start, new class_flag.Flag(BoxBracketsType.Open), color, obj.interval.length));
                brInfo.push(new BracketInfo(obj.end, new class_flag.Flag(BoxBracketsType.Close), color, obj.interval.length));
            }
        });
    }
    get subDocument() {
        return this.boxWrapsHolder.subDocument;
    }
    get chunks() {
        return this.subDocument.chunks;
    }
    updatePosSecondaryIterators(pos) {
        this.paragraphIterator.init(pos);
        this.sectionIterator.init(pos);
        this.tableIterator.init(pos);
        this.fieldIterator.init(pos);
    }
    init() {
        const pos = this.positionFromStartGenerate;
        if (this.subDocument.isMain() && utils_list.ListUtils.last(this.chunks).getEndPosition() == pos)
            return false;
        if (pos == -1)
            return true;
        this.modelIterator = new model_iterator/* ModelIterator */.w(this.subDocument, false);
        this.modelIterator.setPosition(pos);
        if (pos >= this.modelIterator.chunk.getEndPosition())
            return false;
        this.paragraphIterator = new ParagraphIterator(this.subDocument.paragraphs);
        this.sectionIterator = new SectionIterator(this.manager.model.sections);
        this.tableIterator = new recursive_objects_iterators/* TableIterator */.Rm(this.subDocument.tables);
        this.fieldIterator = new recursive_objects_iterators/* FieldIterator */.Tk(this.subDocument.fields);
        this.updatePosSecondaryIterators(pos);
        this.currWrapInfo = new box_wrap/* BoxWrapInfo */.VJ(this.paragraphIterator.index, this.sectionIterator.index, this.tableIterator.generateInfo(pos), this.fieldIterator.generateInfo(pos));
        this.positionFromStartGenerate = -1;
        const lastChunk = utils_list.ListUtils.last(this.chunks);
        this.lastModelPosition = utils_list.ListUtils.last(this.chunks).isLast || !this.subDocument.isMain() ?
            lastChunk.getEndPosition() - 1 : Number.MAX_VALUE;
        return true;
    }
    isLastParagraphBoxInSubDocumentVisible(box) {
        if (box.rowOffset != this.lastModelPosition)
            return true;
        const lastWrap = utils_list.ListUtils.last(this.newWrappers);
        return lastWrap && lastWrap.box.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark;
    }
    isTableCellConsiderAtLeastOneBox(info, box) {
        if (!info.tablePosition || box.getType() != layout_box/* LayoutBoxType */.KH.ParagraphMark ||
            utils_list.ListUtils.last(info.tablePosition).cell.endParagrapPosition.value - 1 != box.rowOffset)
            return true;
        for (let wrapIndex = this.newWrappers.length - 1, wrap; wrap = this.newWrappers[wrapIndex]; wrapIndex--) {
            if (!wrap || !wrap.info.tablePosition || wrap.info.tablePosition.length < info.tablePosition.length)
                break;
            if (wrap.info.tablePosition.length == info.tablePosition.length)
                return wrap.box.getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark &&
                    utils_list.ListUtils.allOf2(info.tablePosition, wrap.info.tablePosition, (tInfoA, tInfoB) => tInfoA.equals(tInfoB));
        }
        return false;
    }
    static isFieldHideElement(info, box) {
        const fieldsInfo = info.fieldsInfo;
        return fieldsInfo &&
            (utils_list.ListUtils.unsafeAnyOf(fieldsInfo, (info) => !info.field.showCode && info.isInCodePart ||
                info.field.showCode && !info.isInCodePart) || box.getType() == layout_box/* LayoutBoxType */.KH.FieldResultEnd);
    }
    addToBoxFieldInfo(wrap) {
        const fieldsInfo = wrap.info.fieldsInfo;
        if (!fieldsInfo)
            return;
        for (let ind = fieldsInfo.length - 1, fieldInfo; fieldInfo = fieldsInfo[ind]; ind--) {
            if (fieldInfo.field.isHyperlinkField() && !fieldInfo.isInCodePart &&
                this.boxWrapsHolder.manager.activeSubDocument === this.subDocument) {
                const hyperlinkInfo = fieldInfo.field.getHyperlinkInfo();
                if (hyperlinkInfo.tip != "")
                    wrap.box.hyperlinkTip = hyperlinkInfo.tip;
                else if (hyperlinkInfo.uri != "")
                    wrap.box.hyperlinkTip = hyperlinkInfo.uri + (hyperlinkInfo.anchor == "" ? "" : "#" + hyperlinkInfo.anchor);
                else if (hyperlinkInfo.anchor != "")
                    wrap.box.hyperlinkTip = hyperlinkInfo.anchor[0] == "_" ?
                        this.manager.stringResources.commonLabels.currentDocumentHyperlinkTooltip : "#" + hyperlinkInfo.anchor;
                else
                    wrap.box.hyperlinkTip = "";
                break;
            }
        }
        if (utils_list.ListUtils.unsafeAnyOf(fieldsInfo, (info) => info.isInCodePart))
            wrap.box.fieldLevel = fieldsInfo.length;
        if (wrap.box.getType() == layout_box/* LayoutBoxType */.KH.LayoutDependent)
            wrap.box.setType(BoxGenerator.MapFieldCodeToLayoutDependentBoxType[this.getFieldType(utils_list.ListUtils.last(fieldsInfo))]);
    }
    getFieldType(fieldInfo) {
        if (!fieldInfo.fieldType)
            fieldInfo.fieldType = string.StringUtils.trim(this.subDocument.getText(fieldInfo.field.getCodeInterval()).split("\\")[0]).toUpperCase();
        return fieldInfo.fieldType;
    }
    getAbsolutePosition(offsetCharAtStartRun) {
        return this.chunk.startLogPosition.value + this.run.startOffset + offsetCharAtStartRun;
    }
    get run() {
        return this.modelIterator.run;
    }
    get chunk() {
        return this.modelIterator.chunk;
    }
    createNewBoxes() {
        while (this.newWrappers.length < BoxGenerator.MAX_NUM_NEW_BOXES || this.currWrapInfo.tablePosition ||
            this.offsetStartWordAtStartRun != this.modelIterator.charOffset) {
            if (this.modelIterator.charOffset >= this.run.getLength())
                if (!this.getNextRun()) {
                    if (this.chunk.isLast)
                        this.boxWrapsHolder.flags.set(IteratorFlags.DocumentEnd, true);
                    else {
                        this.waitForMoreChunks = !!this.currWrapInfo.tablePosition;
                    }
                    return;
                }
            this.parseByChar();
        }
    }
    parseByChar() {
        const currChar = this.modelIterator.getCurrentChar();
        switch (currChar) {
            case rich_utils/* RichUtils */.i.specialCharacters.Space:
            case rich_utils/* RichUtils */.i.specialCharacters.NonBreakingSpace:
            case rich_utils/* RichUtils */.i.specialCharacters.TabMark:
            case rich_utils/* RichUtils */.i.specialCharacters.LineBreak:
            case rich_utils/* RichUtils */.i.specialCharacters.PageBreak:
            case rich_utils/* RichUtils */.i.specialCharacters.ColumnBreak:
                this.makeBreakBox(currChar);
                break;
            case rich_utils/* RichUtils */.i.specialCharacters.Dash:
            case rich_utils/* RichUtils */.i.specialCharacters.EmDash:
            case rich_utils/* RichUtils */.i.specialCharacters.EnDash:
                this.makeDashBox();
                break;
            default: this.parseByRunType();
        }
    }
    parseByRunType() {
        switch (this.run.getType()) {
            case run_type/* RunType */.m.ParagraphRun:
            case run_type/* RunType */.m.SectionRun:
                this.makeParagraphAndSectionBox();
                break;
            case run_type/* RunType */.m.InlinePictureRun:
                this.makeInlinePictureBox();
                break;
            case run_type/* RunType */.m.InlineTextBoxRun: throw new Error(errors/* Errors */.D.NotImplemented);
            case run_type/* RunType */.m.AnchoredPictureRun:
                this.makeAnchoredPictureRun();
                break;
            case run_type/* RunType */.m.AnchoredTextBoxRun:
                this.makeAnchoredTextBoxRun();
                break;
            case run_type/* RunType */.m.FieldCodeStartRun:
                this.makeFieldCodeStartRun();
                break;
            case run_type/* RunType */.m.FieldCodeEndRun:
                this.makeFieldCodeEndRun();
                break;
            case run_type/* RunType */.m.FieldResultEndRun:
                this.makeFieldResultEndRun();
                break;
            case run_type/* RunType */.m.LayoutDependentRun:
                this.makeLayoutDependentRun();
                break;
            case run_type/* RunType */.m.FootNoteRun:
                this.skipCurrentRun();
                break;
            case run_type/* RunType */.m.EndNoteRun:
                this.skipCurrentRun();
                break;
            default: this.makeDefault();
        }
    }
    makeBreakBox(currChar) {
        this.currWordToBox();
        this.modelIterator.charOffset++;
        this.addNewBoxInfo(BoxGenerator.modelCharToLayoutBoxConverter[currChar](this.getActualCharacterProperties(), this.colorProvider));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeDashBox() {
        if (this.currBoxInfoType != layout_box/* LayoutBoxType */.KH.Dash) {
            this.currWordToBox();
            this.currBoxInfoType = layout_box/* LayoutBoxType */.KH.Dash;
            this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
        }
        this.modelIterator.charOffset++;
    }
    makeParagraphAndSectionBox() {
        this.modelIterator.charOffset++;
        const charProps = this.run.getCharacterMergedProperties();
        this.addNewBoxInfo(this.run.getType() == run_type/* RunType */.m.ParagraphRun ?
            new layout_paragraph_mark_box/* LayoutParagraphMarkBox */.c(charProps, charProps.getLayoutColorInfo(this.colorProvider), this.isLastParagraphInCell()) :
            new LayoutSectionMarkBox(charProps, charProps.getLayoutColorInfo(this.colorProvider)));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    isLastParagraphInCell() {
        const paragraph = this.run.paragraph;
        const tableCell = paragraph.getTableCell();
        if (!tableCell)
            return false;
        return paragraph.getEndPosition() == tableCell.interval.end;
    }
    skipCurrentRun() {
        this.modelIterator.charOffset = this.run.getLength();
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeInlinePictureBox() {
        const inlinePictureRun = this.run;
        this.modelIterator.charOffset++;
        const charProps = inlinePictureRun.getCharacterMergedProperties();
        this.addNewBoxInfo(new layout_picture_box/* LayoutPictureBox */.B(charProps, charProps.getLayoutColorInfo(this.colorProvider), inlinePictureRun.cacheInfo, inlinePictureRun.getActualSize().applyConverter(class_unit_converter/* UnitConverter */.u.twipsToPixelsF), inlinePictureRun.info.nonVisualDrawingProperties.description));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeAnchoredPictureRun() {
        const anchorPictureRun = this.run;
        this.modelIterator.charOffset++;
        if (anchorPictureRun.anchorInfo.hidden)
            return;
        const charProps = anchorPictureRun.getCharacterMergedProperties();
        this.addNewBoxInfo(new layout_anchored_picture_box/* LayoutAnchoredPictureBox */.a(charProps, charProps.getLayoutColorInfo(this.colorProvider), this.subDocument.id, anchorPictureRun.anchorInfo.clone(), anchorPictureRun.shape.clone().applyConverter(class_unit_converter/* UnitConverter */.u.twipsToPixelsF), anchorPictureRun.anchoredObjectID, class_unit_converter/* UnitConverter */.u.twipsToRadians(anchorPictureRun.size.rotation), anchorPictureRun.cacheInfo, anchorPictureRun.info.nonVisualDrawingProperties.description)
            .setPosition(new geometry_point.Point(0, 0))
            .setSize(anchorPictureRun.getActualSize().applyConverter(class_unit_converter/* UnitConverter */.u.twipsToPixelsF)));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    static createLayoutAnchoredTextBoxFromRun(anchorTextBox, subDocumentId, colorProvider) {
        return new LayoutAnchoredTextBox(anchorTextBox.getCharacterMergedProperties(), anchorTextBox.getCharacterMergedProperties().getLayoutColorInfo(colorProvider), subDocumentId, anchorTextBox.anchorInfo.clone(), anchorTextBox.shape.clone().applyConverter(class_unit_converter/* UnitConverter */.u.twipsToPixelsF), anchorTextBox.anchoredObjectID, class_unit_converter/* UnitConverter */.u.twipsToRadians(anchorTextBox.size.rotation), anchorTextBox.subDocId, anchorTextBox.textBoxProperties.clone().setMarginsToAnotherMeasuringSystem(class_unit_converter/* UnitConverter */.u.twipsToPixelsF));
    }
    makeAnchoredTextBoxRun() {
        const anchorTextBox = this.run;
        this.modelIterator.charOffset++;
        if (!anchorTextBox.anchorInfo.hidden) {
            const textBoxWrap = this.addNewBoxInfo(BoxGenerator.createLayoutAnchoredTextBoxFromRun(anchorTextBox, this.subDocument.id, this.colorProvider));
            if (textBoxWrap)
                this.manager.anchoredObjectsManager.textBoxContextSizeCalculators[anchorTextBox.anchoredObjectID] =
                    new AnchoredTextBoxContextSizeCalculator(textBoxWrap, anchorTextBox.size, this.subDocument.documentModel.compatibilitySettings.getActualLayoutInTableCell(anchorTextBox.anchorInfo));
        }
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeFieldCodeStartRun() {
        this.modelIterator.charOffset++;
        const charProps = this.run.getCharacterMergedProperties();
        this.addNewBoxInfo(new LayoutFieldCodeStartBox(charProps, charProps.getLayoutColorInfo(this.colorProvider)));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeFieldCodeEndRun() {
        this.modelIterator.charOffset++;
        const charProps = this.run.getCharacterMergedProperties();
        this.addNewBoxInfo(new LayoutFieldCodeEndBox(charProps, charProps.getLayoutColorInfo(this.colorProvider)));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeFieldResultEndRun() {
        this.modelIterator.charOffset++;
        const charProps = this.run.getCharacterMergedProperties();
        this.addNewBoxInfo(new LayoutFieldResultEndBox(charProps, charProps.getLayoutColorInfo(this.colorProvider)));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeLayoutDependentRun() {
        this.modelIterator.charOffset++;
        const charProps = this.run.getCharacterMergedProperties();
        this.addNewBoxInfo(new LayoutDependentTextBox(this.run.getCharacterMergedProperties(), charProps.getLayoutColorInfo(this.colorProvider), this.modelIterator.getRunText()));
        this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
    }
    makeDefault() {
        if (this.currBoxInfoType == layout_box/* LayoutBoxType */.KH.Dash) {
            this.currWordToBox();
            this.offsetStartWordAtStartRun = this.modelIterator.charOffset;
        }
        this.modelIterator.charOffset++;
    }
    currWordToBox() {
        const maxBoxLength = this.currBoxInfoType == layout_box/* LayoutBoxType */.KH.Text ? BoxGenerator.MAX_BOX_LENGTH : 1;
        if (this.modelIterator.charOffset > this.offsetStartWordAtStartRun) {
            let currRunTextStart = this.offsetStartWordAtStartRun;
            do {
                const currBoxLength = Math.min(maxBoxLength, this.modelIterator.charOffset - currRunTextStart);
                const word = this.modelIterator.getRunText(currRunTextStart, currBoxLength);
                currRunTextStart += currBoxLength;
                const charProps = this.getActualCharacterProperties();
                if (this.currBoxInfoType == layout_box/* LayoutBoxType */.KH.Text)
                    this.addNewBoxInfo(new layout_text_box/* LayoutTextBox */.P(charProps, charProps.getLayoutColorInfo(this.colorProvider), word), currRunTextStart);
                else
                    this.addNewBoxInfo(new LayoutDashBox(charProps, charProps.getLayoutColorInfo(this.colorProvider), word), currRunTextStart);
            } while (currRunTextStart < this.modelIterator.charOffset);
        }
        this.currBoxInfoType = layout_box/* LayoutBoxType */.KH.Text;
    }
    getActualCharacterProperties() {
        const fieldsInfo = this.currWrapInfo.fieldsInfo;
        if (fieldsInfo) {
            let isParentFieldTOC = false;
            for (let i = 0, fieldInfo; fieldInfo = fieldsInfo[i]; i++) {
                if (!isParentFieldTOC) {
                    if (fieldInfo.field.isHyperlinkField()) {
                        if (fieldInfo.field.getHyperlinkInfo().visited) {
                            const result = this.run.getCharacterMergedProperties().clone();
                            result.textColor = color_model_info/* ColorModelInfo */.k.makeByColor(utils_color/* ColorUtils */.i.fromHashString("#483D8B"));
                            return result;
                        }
                        else
                            break;
                    }
                    isParentFieldTOC = this.getFieldType(fieldInfo) == 'TOC';
                }
                else if (fieldInfo.field.isHyperlinkField() && this.run.characterStyle.styleName == character_style/* CharacterStyle */.H.hyperlinkStyleName) {
                    const merger = new character_properties_merger/* CharacterPropertiesMerger */.I();
                    merger.mergeMergedCharacterProperties(this.run.mergeCharacterProperties({ excludeCharacterStyle: true }));
                    const characterStyle = this.run.characterStyle;
                    const characterStyleProperties = characterStyle.maskedCharacterProperties.clone();
                    characterStyleProperties.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseUnderlineColorIndex, false);
                    characterStyleProperties.setUseValue(character_enums/* CharacterPropertiesMask */.xe.UseForeColorIndex, false);
                    merger.mergeCharacterProperties(characterStyleProperties);
                    merger.mergeCharacterStyle(characterStyle.parent);
                    return merger.getMergedProperties();
                }
            }
        }
        return this.run.getCharacterMergedProperties();
    }
    getNextRun() {
        this.currWordToBox();
        const prevRun = this.modelIterator.run;
        if (!this.modelIterator.moveToNextRun())
            return false;
        const newPos = this.modelIterator.getAbsolutePosition();
        let isNeedUpdateWrapInfo = false;
        if (this.paragraphIterator.update(newPos)) {
            if (this.subDocument.isMain())
                this.sectionIterator.update(newPos);
            this.tableIterator.update(newPos);
            isNeedUpdateWrapInfo = true;
        }
        if (this.fieldIterator.update(newPos) || prevRun.getType() == run_type/* RunType */.m.FieldCodeEndRun)
            isNeedUpdateWrapInfo = true;
        if (isNeedUpdateWrapInfo) {
            this.currWrapInfo = new box_wrap/* BoxWrapInfo */.VJ(this.paragraphIterator.index, this.sectionIterator.index, this.tableIterator.generateInfo(newPos), this.fieldIterator.generateInfo(newPos));
        }
        this.offsetStartWordAtStartRun = 0;
        return true;
    }
}
BoxGenerator.MAX_BOX_LENGTH = 50;

;// CONCATENATED MODULE: ./src/common/layout-formatter/box/box-wraps-holder.ts









var IteratorFlags;
(function (IteratorFlags) {
    IteratorFlags[IteratorFlags["None"] = 0] = "None";
    IteratorFlags[IteratorFlags["DocumentEnd"] = 1] = "DocumentEnd";
})(IteratorFlags || (IteratorFlags = {}));
class BoxWrapsHolder {
    constructor(manager, subDocumentId) {
        this.manager = manager;
        this.subDocument = manager.model.subDocuments[subDocumentId];
        this.boxGenerator = new BoxGenerator(manager, this);
    }
    reset(pos) {
        this.wrappers = [];
        this.wrapIndex = 0;
        this.flags = new class_flag.Flag(IteratorFlags.None);
        this.boxGenerator.positionFromStartGenerate = pos;
        this.boxGenerator.waitForMoreChunks = false;
        this.boxGenerator.generate();
        this.getWrap();
        log/* Log */.Z.print(log_source/* LogSource */.O.BoxWrapHolder, "reset", () => `wrappers.length:${this.wrappers.length}, subDocId: ${this.subDocument.id}`);
    }
    getWrap() {
        if (this.wrapIndex < this.wrappers.length || this.boxGenerator.generate()) {
            const wrap = this.wrappers[this.wrapIndex];
            this.currPos = wrap.box.rowOffset;
            log/* Log */.Z.print(log_source/* LogSource */.O.BoxWrapHolder, "getWrap", () => `currPos: ${this.currPos}, wrapInd: ${this.wrapIndex}, subDocId: ${this.subDocument.id}`);
            return wrap;
        }
        const lastWrap = utils_list.ListUtils.last(this.wrappers);
        this.currPos = lastWrap ? lastWrap.box.getEndPosition() : this.subDocument.getDocumentEndPosition();
        log/* Log */.Z.print(log_source/* LogSource */.O.BoxWrapHolder, "getWrap", () => `currPos: ${this.currPos}, wrapInd: ${this.wrapIndex}, subDocId: ${this.subDocument.id}`);
        return null;
    }
    get position() {
        return this.currPos;
    }
    setPosition(pos, forceResetBoxInfos) {
        if (!forceResetBoxInfos && this.trySetPosition(pos))
            return;
        this.reset(pos);
    }
    toNextWrap() {
        this.wrapIndex++;
        this.getWrap();
    }
    setParagraphsWidthInfo(wrappers) {
        this.paragraphBoundsInfo = {};
        let parIndex = -1;
        let parWidthBounds = null;
        let wordWidth;
        let lineWidth;
        for (let wrap of wrappers) {
            const tblPoss = wrap.info.tablePosition;
            if (tblPoss) {
                if (wrap.info.paragraphIndex != parIndex) {
                    parIndex = wrap.info.paragraphIndex;
                    parWidthBounds = new min_max.MinMaxNumber(0, 0);
                    this.paragraphBoundsInfo[parIndex] = parWidthBounds;
                    wordWidth = 0;
                    lineWidth = 0;
                }
                if (wrap.box.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox) {
                    this.manager.anchoredObjectsManager.textBoxContextSizeCalculators[wrap.box.objectId].paragraphMinMax = parWidthBounds;
                    continue;
                }
                if (wrap.box.isLineBreak())
                    lineWidth = 0;
                else {
                    lineWidth += wrap.box.width;
                    parWidthBounds.maxElement = Math.max(parWidthBounds.maxElement, lineWidth);
                }
                if (wrap.box.isLineBreak() || wrap.box.isWhitespace() || wrap.box.isDashBox) {
                    wordWidth = 0;
                }
                else {
                    wordWidth += wrap.box.width;
                    parWidthBounds.minElement = Math.max(parWidthBounds.minElement, wordWidth);
                }
            }
        }
    }
    setNewWrappers(newLayoutBoxes, generateFrom) {
        if (!newLayoutBoxes.length)
            return;
        utils_list.ListUtils.addListOnTail(this.wrappers, newLayoutBoxes);
        const excessLen = this.wrappers.length - BoxWrapsHolder.MAX_BOXES_IN_LIST;
        if (excessLen > 0) {
            const prevWrap = this.wrappers[excessLen - 1];
            const nextWrap = this.wrappers[excessLen];
            if (prevWrap.box.getEndPosition() <= generateFrom && !(nextWrap && nextWrap.info.tablePosition)) {
                this.wrappers.splice(0, excessLen);
                this.wrapIndex = Math.max(0, this.wrapIndex - excessLen);
            }
        }
        log/* Log */.Z.print(log_source/* LogSource */.O.BoxWrapHolder, "setNewWrappers", () => `wrappers.length:${this.wrappers.length}, subDocId: ${this.subDocument.id}`);
        this.setParagraphsWidthInfo(this.wrappers);
    }
    setNextValidWrapPosition(pos, nestedLevel) {
        if (this.interval.contains(pos)) {
            this.wrapIndex = search.SearchUtils.normedInterpolationIndexOf(this.wrappers, (w) => w.box.rowOffset, pos);
            let currentWrap = this.wrappers[this.wrapIndex];
            const length = this.wrappers.length;
            while (currentWrap.info.getTableNestedLevel() >= nestedLevel && this.wrapIndex < length - 1)
                currentWrap = this.wrappers[++this.wrapIndex];
            this.currPos = currentWrap.box.getEndPosition();
        }
        else
            this.reset(pos);
    }
    trySetPosition(pos) {
        if (!this.interval.contains(pos))
            return false;
        this.wrapIndex = search.SearchUtils.normedInterpolationIndexOf(this.wrappers, (w) => w.box.rowOffset, pos);
        const wrap = this.wrappers[this.wrapIndex];
        if (pos >= wrap.box.getEndPosition()) {
            this.currPos = this.wrappers[++this.wrapIndex].box.rowOffset;
            return true;
        }
        const offsetFromStartBox = pos - wrap.box.rowOffset;
        if (offsetFromStartBox > 0)
            this.splitBoxByPosition(wrap, offsetFromStartBox);
        this.currPos = this.wrappers[this.wrapIndex].box.rowOffset;
        return true;
    }
    splitBoxByPosition(wrap, offsetFromStartBox) {
        const next = wrap.splitByPosition(this.manager.measurer, offsetFromStartBox);
        if (!next)
            return;
        this.wrapIndex++;
        this.wrappers.splice(this.wrapIndex, 0, next);
    }
    get interval() {
        if (!this.wrappers.length)
            return new fixed.FixedInterval(0, 0);
        return fixed.FixedInterval.fromPositions(this.wrappers[0].box.rowOffset, utils_list.ListUtils.last(this.wrappers).box.getEndPosition());
    }
}
BoxWrapsHolder.AVERAGE_BOXES_ON_PAGE = 2000;
BoxWrapsHolder.MAX_BOXES_IN_LIST_MULTIPLIER = 3;
BoxWrapsHolder.MAX_BOXES_IN_LIST = BoxWrapsHolder.AVERAGE_BOXES_ON_PAGE * BoxWrapsHolder.MAX_BOXES_IN_LIST_MULTIPLIER;

;// CONCATENATED MODULE: ./src/common/layout-formatter/box/box-iterator.ts





class BoxIterator {
    constructor(manager, subDocumentId) {
        this.boxWrapsHolder = new BoxWrapsHolder(manager, subDocumentId);
    }
    get subDocument() {
        return this.boxWrapsHolder.subDocument;
    }
    setNextValidWrapPosition(pos, nestedLevel) {
        this.boxWrapsHolder.setNextValidWrapPosition(pos, nestedLevel);
    }
    allBoxesGiven() {
        return this.boxWrapsHolder.flags.get(IteratorFlags.DocumentEnd);
    }
    getPosition() {
        return this.boxWrapsHolder.position;
    }
    setPosition(position, forceResetBoxInfos, checkStartTable) {
        if (!forceResetBoxInfos && position == this.boxWrapsHolder.position) {
        }
        else {
            this.boxWrapsHolder.setPosition(position, forceResetBoxInfos);
        }
        if (checkStartTable && log/* Log */.Z.isEnabled) {
            const w = this.boxWrapsHolder.getWrap();
            if (w && w.info.tablePosition && !new main_structures_table/* TablePositionIndexes */.o6(0, 0).equals(w.info.tablePosition[0])) {
            }
        }
    }
    documentStart() {
        this.boxWrapsHolder.reset(0);
    }
    getWrap(getNextWrap) {
        if (this.boxWrapsHolder.getWrap() && getNextWrap)
            this.boxWrapsHolder.toNextWrap();
        return this.boxWrapsHolder.getWrap();
    }
    getBracketInfo(rowStartPos, rowLength) {
        const rowInterval = new fixed.FixedInterval(rowStartPos, rowLength);
        const end = rowStartPos + rowLength;
        let ind = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(this.boxWrapsHolder.bracketsInfo, (bInfo) => bInfo.absPos, rowStartPos));
        const result = [];
        for (let bInfo; bInfo = this.boxWrapsHolder.bracketsInfo[ind]; ind++) {
            if (bInfo.absPos > end)
                break;
            if (rowInterval.containsWithIntervalEnd(bInfo.absPos))
                result.push(bInfo);
        }
        return result;
    }
    getParagraphBounds(parIndex) {
        return this.boxWrapsHolder.paragraphBoundsInfo[parIndex];
    }
}
class BracketInfo {
    constructor(absPos, flags, color, length) {
        this.absPos = absPos;
        this.flags = flags;
        this.color = color;
        this.length = length;
    }
    addFlagValue(type) {
        this.flags.set(type, true);
    }
}

// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-numbering-list-box.ts
var layout_numbering_list_box = __webpack_require__(3163);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/list-level-properties.ts
var list_level_properties = __webpack_require__(4830);
;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/utils/number-utils.ts
class NumberUtils {
    static areClose(num1, num2) {
        const delta = num1 - num2;
        return delta == 0 || Math.abs(delta) < this.epsilon;
    }
    static lessThan(num1, num2) {
        return (num1 < num2) && !this.areClose(num1, num2);
    }
    static greaterThan(num1, num2) {
        return (num1 > num2) && !this.areClose(num1, num2);
    }
}
NumberUtils.epsilon = 0.00000153;

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/utils/rectangle-utils.ts


class RectangleUtils {
    static getNonCollapsedIntersection(objA, objB) {
        const inters = rectangle.Rectangle.getIntersection(objA, objB);
        return inters && !this.isCollapsed(inters) ? inters : null;
    }
    static isCollapsed(rect) {
        return rect.isCollapsed() || NumberUtils.areClose(rect.x, rect.right) || NumberUtils.areClose(rect.y, rect.bottom);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/size-engine/row-formatting-info.ts








class RowIntervalInfo extends fixed.FixedInterval {
    constructor(start, length, avaliableWidth = length) {
        super(start, length);
        this.avaliableWidth = avaliableWidth;
    }
    get busyWidth() {
        return this.length - this.avaliableWidth;
    }
    get startOfFreeSpace() {
        return this.start + this.busyWidth;
    }
    isConsiderBoxes() {
        return this.avaliableWidth != this.length;
    }
}
class RowFormattingInfo {
    get isFloatingIntersectRow() { return !!this.intersectsObjects.length; }
    get lastNonEmptyInterval() { return this.intervals[this.lastNonEmptyIntervalIndex]; }
    constructor(minY, height, outerHorizontalRowContentBounds, boundsOfAnchoredOblectsOnThisColumn, tableCell) {
        this.intervals = [];
        this.busyIntervals = [];
        this.currIndex = 0;
        this.minY = minY;
        this.height = Math.max(1, height);
        this.outerHorizontalRowContentBounds = outerHorizontalRowContentBounds;
        this.boundsOfAnchoredOblectsOnThisColumn = boundsOfAnchoredOblectsOnThisColumn;
        this.tableCell = tableCell;
        this.lastNonEmptyIntervalIndex = 0;
    }
    get currInterval() {
        return this.intervals[this.currIndex];
    }
    indexOfFreeInterval(width) {
        return utils_list.ListUtils.indexBy(this.intervals, (curr) => curr.avaliableWidth >= width, this.currIndex);
    }
    indexOfIntervalContainsPositon(pos) {
        const ind = utils_list.ListUtils.indexBy(this.intervals, (curr) => curr.start > pos || pos < curr.end, this.currIndex + 1);
        return ind < 0 ? this.intervals.length - 1 : ind;
    }
    calculate() {
        this.setIntersectObjects();
        this.busyIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(utils_list.ListUtils.map(this.intersectsObjects, (objBnds) => new fixed.FixedInterval(objBnds.x, objBnds.width)), true);
        const freeIntervals = algorithms.IntervalAlgorithms.reflectIntervals(this.busyIntervals, this.outerHorizontalRowContentBounds);
        if (freeIntervals.length) {
            this.intervals = utils_list.ListUtils.map(freeIntervals, (curr) => new RowIntervalInfo(curr.start, curr.length));
            return;
        }
        this.resetMinY(utils_list.ListUtils.min);
        log/* Log */.Z.print(log_source/* LogSource */.O.RowFormatter, "RowFormattingInfo.calculate ", `minY:${this.minY}, height:${this.height}, currIndex: ${this.currIndex} intervals:\n${log/* Log */.Z.join("\n", utils_list.ListUtils.map(this.intervals, (curr) => log_obj_to_str/* LogObjToStr */.I.fixedInterval(curr)))}`);
    }
    canIncrementHeightTo(newHeight) {
        const contentBounds = utils_list.ListUtils.map(this.intervals, (c) => new rectangle.Rectangle(c.start, this.minY, c.busyWidth, newHeight));
        const intersectedObjects = this.calcIntersectObjects(newHeight);
        return !utils_list.ListUtils.unsafeAnyOf(intersectedObjects, (ancBound) => utils_list.ListUtils.unsafeAnyOf(contentBounds, (contentBound) => RectangleUtils.getNonCollapsedIntersection(contentBound, ancBound)));
    }
    findNextYPos() {
        this.resetMinY(utils_list.ListUtils.min);
    }
    findNextYPosWhatHasNeededSpace(requiredWidth) {
        while (this.isFloatingIntersectRow && !utils_list.ListUtils.anyOf(this.intervals, i => i.avaliableWidth >= requiredWidth))
            this.resetMinY(utils_list.ListUtils.min);
        this.currIndex = 0;
    }
    setIntersectObjects() {
        this.intersectsObjects = this.calcIntersectObjects(this.height);
    }
    calcIntersectObjects(height) {
        const initRect = new rectangle.Rectangle(this.outerHorizontalRowContentBounds.start, this.minY, this.outerHorizontalRowContentBounds.length, height);
        return utils_list.ListUtils.reducedMap(this.boundsOfAnchoredOblectsOnThisColumn, (objInfo) => {
            if (this.tableCell !== objInfo.cell)
                return null;
            const rect = rectangle.Rectangle.getNonCollapsedIntersection(initRect, objInfo.bounds);
            if (!rect)
                return null;
            if (!objInfo.canPutTextAtLeft) {
                const right = rect.right;
                rect.x = initRect.x;
                rect.width = right - rect.x;
            }
            if (!objInfo.canPutTextAtRight) {
                rect.width = initRect.right - rect.x;
            }
            return rect;
        });
    }
    resetMinY(getVal) {
        this.minY = getVal(this.intersectsObjects, a => a.bottom).bottom;
        this.calculate();
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/utils/line-spacing-calculator.ts



class LineSpacingCalculator {
    static create(lineSpacing, lineSpacingType) {
        switch (lineSpacingType) {
            case paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast:
                return new AtLeastSpacingCalculator(Math.max(1, class_unit_converter/* UnitConverter */.u.twipsToPixelsF(lineSpacing)));
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Double:
                return new DoubleSpacingCalculator();
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Exactly:
                return new ExactlySpacingCalculator(Math.max(1, class_unit_converter/* UnitConverter */.u.twipsToPixelsF(lineSpacing)));
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple:
                return new MultipleSpacingCalculator(lineSpacing !== 0 ? lineSpacing : 1);
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral:
                return new SesquialteralSpacingCalculator();
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Single:
            default:
                return new SingleSpacingCalculator();
        }
    }
    calculate(rowHeight, maxAscent, maxDescent, maxPictureHeight) {
        const maxTextHeight = maxAscent + maxDescent;
        if (maxTextHeight == 0)
            return rowHeight;
        const rowTextSpacing = this.calculateSpacing(maxTextHeight);
        if (!maxPictureHeight || maxAscent > maxPictureHeight)
            return rowTextSpacing;
        else {
            if (maxDescent == 0)
                return rowHeight;
            else
                return this.calculateSpacingInlineObjectCase(maxTextHeight, rowTextSpacing, maxPictureHeight, maxDescent);
        }
    }
}
class MultipleSpacingCalculator extends LineSpacingCalculator {
    constructor(multiplier) {
        super();
        if (multiplier <= 0)
            throw new Error(argumentException("multiplier", multiplier));
        this.multiplier = multiplier;
    }
    calculateSpacing(maxTextHeight) {
        return maxTextHeight * this.multiplier;
    }
    calculateSpacingInlineObjectCase(maxTextHeight, rowTextSpacing, maxPictureHeight, maxDescent) {
        return maxPictureHeight + maxDescent + (rowTextSpacing - maxTextHeight);
    }
}
class SingleSpacingCalculator extends LineSpacingCalculator {
    calculateSpacing(maxTextHeight) {
        return maxTextHeight;
    }
    calculateSpacingInlineObjectCase(_maxTextHeight, _rowTextSpacing, maxPictureHeight, maxDescent) {
        return maxPictureHeight + maxDescent;
    }
}
class DoubleSpacingCalculator extends LineSpacingCalculator {
    calculateSpacing(maxTextHeight) {
        return 2 * maxTextHeight;
    }
    calculateSpacingInlineObjectCase(maxTextHeight, rowTextSpacing, maxPictureHeight, maxDescent) {
        return maxPictureHeight + maxDescent + (rowTextSpacing - maxTextHeight);
    }
}
class SesquialteralSpacingCalculator extends LineSpacingCalculator {
    calculateSpacing(maxTextHeight) {
        return 3 * maxTextHeight / 2;
    }
    calculateSpacingInlineObjectCase(maxTextHeight, rowTextSpacing, maxPictureHeight, maxDescent) {
        return maxPictureHeight + maxDescent + (rowTextSpacing - maxTextHeight);
    }
}
class ExactlySpacingCalculator extends LineSpacingCalculator {
    constructor(lineSpacing) {
        super();
        this.lineSpacing = lineSpacing;
    }
    calculateSpacing(_maxTextHeight) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    calculateSpacingInlineObjectCase(_maxTextHeight, _rowTextSpacing, _maxPictureHeight, _maxDescent) {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    calculate(_rowHeight, _maxAscent, _maxDescent, _maxPictureHeight) {
        return this.lineSpacing;
    }
}
class AtLeastSpacingCalculator extends SingleSpacingCalculator {
    constructor(lineSpacing) {
        super();
        if (lineSpacing <= 0)
            throw new Error(argumentException("lineSpacing", lineSpacing));
        this.lineSpacing = lineSpacing;
    }
    calculate(rowHeight, maxAscent, maxDescent, maxPictureHeight) {
        var result = super.calculate(rowHeight, maxAscent, maxDescent, maxPictureHeight);
        return Math.max(result, this.lineSpacing);
    }
}
function argumentException(argument, value) {
    return argument + ' is not a valid value for ' + (value ? value.toString() : typeof (value));
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/size-engine/row-height-state.ts
class RowHeightState {
    constructor(maxBoxHeight, maxAscent, maxDescent, maxPictureBoxHeight) {
        this.maxBoxHeight = maxBoxHeight;
        this.maxAscent = maxAscent;
        this.maxDescent = maxDescent;
        this.maxPictureBoxHeight = maxPictureBoxHeight;
    }
    initFromRow(row) {
        this.height = row.height;
        this.baseLine = row.baseLine;
        this.spacingBefore = row.getSpacingBefore();
    }
    applyToRow(row) {
        row.rollbackSpacingBefore();
        row.applySpacingBefore(this.spacingBefore);
        row.height = this.height;
        row.baseLine = this.baseLine;
    }
    getFullRowHeight() {
        return this.height + this.spacingBefore;
    }
    equalHeights(obj) {
        return this.maxBoxHeight == obj.maxBoxHeight &&
            this.maxAscent == obj.maxAscent &&
            this.maxDescent == obj.maxDescent &&
            this.maxPictureBoxHeight == obj.maxPictureBoxHeight;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/size-engine/row-height-calculator.ts






class RowHeightCalculator {
    get row() {
        return this.rowFormatter.row;
    }
    constructor(rowFormatter, rowSpacingBeforeApplier) {
        this.rowFormatter = rowFormatter;
        this.rowSpacingBeforeApplier = rowSpacingBeforeApplier;
        this.lineSpacingCalculator = LineSpacingCalculator.create(this.rowFormatter.paragraphProps.lineSpacing, this.rowFormatter.paragraphProps.lineSpacingType);
        this.currState = new RowHeightState(0, 0, 0, 0);
        this.currState.height = 0;
        this.currState.baseLine = 0;
        this.currState.spacingBefore = 0;
        this.applyState(this.getState(this.rowFormatter.currBox));
    }
    getState(box) {
        let info;
        switch (box.getType()) {
            case layout_box/* LayoutBoxType */.KH.Text:
            case layout_box/* LayoutBoxType */.KH.FieldCodeStart:
            case layout_box/* LayoutBoxType */.KH.FieldCodeEnd:
            case layout_box/* LayoutBoxType */.KH.Dash: {
                info = new RowHeightState(Math.max(box.height, this.currState.maxBoxHeight), Math.max(box.getAscent(), this.currState.maxAscent), Math.max(box.getDescent(), this.currState.maxDescent), this.currState.maxPictureBoxHeight);
                break;
            }
            case layout_box/* LayoutBoxType */.KH.Picture: {
                info = new RowHeightState(Math.max(box.height, this.currState.maxBoxHeight), this.currState.maxAscent, this.currState.maxDescent, Math.max(box.height, this.currState.maxPictureBoxHeight));
                break;
            }
            default:
                return this.currState;
        }
        return this.calcNewState(info);
    }
    calcNewState(newInfo) {
        if (this.currState.equalHeights(newInfo) || newInfo.maxBoxHeight == 0)
            return this.currState;
        this.calcRowParams(newInfo.maxBoxHeight, newInfo.maxAscent, newInfo.maxDescent, newInfo.maxPictureBoxHeight);
        newInfo.initFromRow(this.row);
        return newInfo;
    }
    applyState(state) {
        this.currState = state;
    }
    T584234() {
        const row = this.row;
        if (row.boxes.length && row.boxes[0].getType() == layout_box/* LayoutBoxType */.KH.Picture &&
            utils_list.ListUtils.allOf(row.boxes, (b) => RowHeightCalculator.affectedBoxesT584234[b.getType()], 1)) {
            let prevBox = row.boxes[0];
            let applied = false;
            for (let boxIndex = 2, box; box = row.boxes[boxIndex]; boxIndex++) {
                if (box.getType() == layout_box/* LayoutBoxType */.KH.Picture &&
                    prevBox.getType() != layout_box/* LayoutBoxType */.KH.Picture && RowHeightCalculator.affectedBoxesT584234[prevBox.getType()]) {
                    applied = true;
                    this.applyT584234Height(prevBox);
                }
                prevBox = box;
            }
            if (!applied) {
                utils_list.ListUtils.reverseForEach(row.boxes, (b) => {
                    if (b.getType() != layout_box/* LayoutBoxType */.KH.Picture) {
                        this.applyT584234Height(b);
                    }
                });
            }
        }
    }
    applyT584234Height(b) {
        const info = new RowHeightState(Math.max(b.height, this.currState.maxBoxHeight), Math.max(b.getAscent(), this.currState.maxAscent), Math.max(b.getDescent(), this.currState.maxDescent), this.currState.maxPictureBoxHeight);
        this.applyState(this.calcNewState(info));
    }
    setFinalRowParams() {
        const row = this.row;
        if (this.currState.maxBoxHeight != 0) {
            this.T584234();
            this.currState.applyToRow(row);
            return true;
        }
        const lastBox = utils_list.ListUtils.last(row.boxes);
        if (!lastBox && utils_list.ListUtils.unsafeAnyOf(this.rowFormatter.result.newAnchoredObjects, (obj) => obj.levelType == layout_anchored_object_box/* AnchoredObjectLevelType */.a.InText))
            return true;
        this.calcRowParams(lastBox.height, lastBox.getAscent(), lastBox.getDescent(), this.currState.maxPictureBoxHeight);
        this.currState.initFromRow(this.row);
        return false;
    }
    calcRowParams(maxBoxHeight, maxAscent, maxDescent, maxPictureBoxHeight) {
        const row = this.row;
        row.rollbackSpacingBefore();
        row.height = this.lineSpacingCalculator.calculate(maxBoxHeight, maxAscent, maxDescent, maxPictureBoxHeight);
        switch (this.rowFormatter.paragraphProps.lineSpacingType) {
            case paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast:
            case paragraph_properties/* ParagraphLineSpacingType */.yX.Exactly:
                row.baseLine = Math.max(0, row.height - maxDescent);
                row.lineHeight = row.height;
                break;
            default:
                row.baseLine = Math.max(maxAscent, maxPictureBoxHeight);
                row.lineHeight = Math.max(maxAscent + maxDescent, maxPictureBoxHeight);
        }
        this.rowSpacingBeforeApplier.apply(this.row, this.rowFormatter.result.paragraphIndex);
    }
}
RowHeightCalculator.affectedBoxesT584234 = {
    [layout_box/* LayoutBoxType */.KH.LineBreak]: true,
    [layout_box/* LayoutBoxType */.KH.ParagraphMark]: true,
    [layout_box/* LayoutBoxType */.KH.TabSpace]: true,
    [layout_box/* LayoutBoxType */.KH.Space]: true,
    [layout_box/* LayoutBoxType */.KH.Picture]: true,
};

// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-helper.ts
var numbering_helper = __webpack_require__(2156);
// EXTERNAL MODULE: ./src/common/model/numbering-lists/numbering-list.ts
var numbering_list = __webpack_require__(3231);
;// CONCATENATED MODULE: ./src/common/layout-formatter/row/size-engine/row-sizes-manager.ts














class RowSizesManager {
    constructor(rowFormatter, outerHorizontalRowContentBounds, minY, rowSpacingBeforeApplier, boundsOfAnchoredOblectsOnThisColumn, isFirstRowInParagraph) {
        this.rowFormatter = rowFormatter;
        this.row = this.rowFormatter.row;
        this.row.x = outerHorizontalRowContentBounds.start;
        this.row.width = outerHorizontalRowContentBounds.length;
        this.rowStartPos = this.rowFormatter.currBox.rowOffset;
        this.heightCalculator = new RowHeightCalculator(this.rowFormatter, rowSpacingBeforeApplier);
        if (isFirstRowInParagraph && this.rowFormatter.paragraph.isInList())
            this.addNumberingListBoxes();
        const tableCell = this.rowFormatter.paragraph.getTableCell();
        this.rowFormattingInfo = new RowFormattingInfo(minY, this.heightCalculator.currState.getFullRowHeight(), outerHorizontalRowContentBounds, boundsOfAnchoredOblectsOnThisColumn, tableCell);
        this.rowFormattingInfo.calculate();
    }
    addNumberingListBoxes() {
        const { paragraph, result: { paragraphIndex }, numberingListCountersManager, manager: formatterManager } = this.rowFormatter;
        const counters = numberingListCountersManager.calculateCounters(paragraphIndex);
        let markText = paragraph.getNumberingListTextCore(counters);
        let markProperties = paragraph.getNumerationCharacterProperties();
        if (formatterManager.browserUtils.MacOSPlatform &&
            markText === rich_utils/* RichUtils */.i.specialCharacters.MSWordBulletMark &&
            markProperties.fontInfo.name === 'Symbol') {
            const listTemplate = numbering_helper/* NumberingHelper */.K.getNumberingListTemplate(formatterManager.model, numbering_list/* NumberingType */.FB.Bullet);
            const level = listTemplate.levels[paragraph.getListLevelIndex()];
            const levelFontInfo = level.getCharacterProperties().fontInfo;
            markProperties = markProperties.clone();
            markProperties.fontInfo = levelFontInfo.clone();
            markProperties.fontInfo.measurer = levelFontInfo.measurer;
            markText = level.getListLevelProperties().displayFormatString;
        }
        this.row.numberingListBox = new layout_numbering_list_box/* LayoutNumberingListBox */.g(markProperties, markProperties.getLayoutColorInfo(formatterManager.model.colorProvider), markText, paragraph.getNumberingListSeparatorChar(), formatterManager.model.cache.mergedCharacterPropertiesCache, paragraph.getListLevel().getListLevelProperties().alignment, formatterManager.model.cache.fontInfoCache);
        layout_box/* LayoutBox */.kZ.initializeWithMeasurer([new box_wrap/* BoxWrap */.Od(this.row.numberingListBox, null)], formatterManager.measurer, formatterManager.innerClientProperties.showHiddenSymbols);
        const boxes = [this.row.numberingListBox.textBox];
        const separatorBox = this.row.numberingListBox.separatorBox;
        if (separatorBox)
            boxes.push(separatorBox);
        for (let box of boxes)
            this.heightCalculator.applyState(this.heightCalculator.getState(box));
    }
    addFullWord(boxes) {
        const wordWidth = utils_list.ListUtils.accumulate(boxes, 0, (width, box) => width + box.width);
        const currIntervalEndPos = this.rowFormattingInfo.currInterval.end;
        let indexOfFreeInterval = this.rowFormattingInfo.indexOfFreeInterval(wordWidth);
        if (indexOfFreeInterval < 0)
            return new AddFullWordResult(false, wordWidth);
        const oldHeightState = this.heightCalculator.currState;
        utils_list.ListUtils.forEach(boxes, (box) => this.heightCalculator.applyState(this.heightCalculator.getState(box)));
        const newHeightState = this.heightCalculator.currState;
        const newHeight = newHeightState.getFullRowHeight();
        this.rowFormattingInfo.intervals[indexOfFreeInterval].avaliableWidth -= wordWidth;
        if (newHeight != this.rowFormattingInfo.height && !this.rowFormattingInfo.canIncrementHeightTo(newHeight)) {
            this.rowFormattingInfo.height = newHeight;
            this.heightCalculator.currState = oldHeightState;
            this.restartAllRow();
            return null;
        }
        this.heightCalculator.applyState(newHeightState);
        if (this.rowFormattingInfo.currIndex != indexOfFreeInterval)
            this.finishLogicalRow(indexOfFreeInterval, currIntervalEndPos);
        let x = this.rowFormattingInfo.currInterval.startOfFreeSpace - wordWidth;
        for (let box of boxes) {
            box.x = x;
            x += box.width;
            this.row.boxes.push(box);
            this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
        }
        return new AddFullWordResult(true);
    }
    addWordByChars(boxes) {
        let isAddAtLeastOneChar = true;
        const viewsSettings = this.rowFormatter.manager.innerClientProperties.viewsSettings;
        for (let box of boxes) {
            if (this.rowFormattingInfo.currInterval.avaliableWidth >= box.width) {
                box.x = this.rowFormattingInfo.currInterval.startOfFreeSpace;
                this.rowFormattingInfo.currInterval.avaliableWidth -= box.width;
                this.row.boxes.push(box);
                this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
                this.heightCalculator.applyState(this.heightCalculator.getState(box));
            }
            else {
                const newBox = box.splitByWidth(this.rowFormatter.manager.measurer, this.rowFormattingInfo.currInterval.avaliableWidth, isAddAtLeastOneChar);
                if (newBox) {
                    newBox.x = this.rowFormattingInfo.currInterval.startOfFreeSpace;
                    this.row.boxes.push(newBox);
                    this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
                    this.heightCalculator.applyState(this.heightCalculator.getState(newBox));
                    return newBox.getEndPosition();
                }
                return box.rowOffset;
            }
            isAddAtLeastOneChar = false;
        }
        if (viewsSettings.isSimpleView)
            return boxes[boxes.length - 1].getEndPosition();
        throw new Error(errors/* Errors */.D.InternalException);
    }
    addTabBox(box) {
        this.row.boxes.push(box);
        this.rowFormattingInfo.currInterval.avaliableWidth -= box.width;
        this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
        this.rowFormatter.setBoxInfo(true);
    }
    addBox() {
        const currIntervalEndPos = this.rowFormattingInfo.currInterval.end;
        const box = this.rowFormatter.currBox;
        const indexOfFreeInterval = this.rowFormattingInfo.indexOfFreeInterval(box.width);
        if (indexOfFreeInterval < 0) {
            if (this.row.isEmpty()) {
                if (this.rowFormattingInfo.isFloatingIntersectRow) {
                    this.rowFormattingInfo.findNextYPos();
                    this.rowFormattingInfo.currIndex = 0;
                    this.addBox();
                }
                else {
                    box.x = this.rowFormattingInfo.intervals[0].startOfFreeSpace;
                    this.rowFormattingInfo.intervals[0].avaliableWidth -= Math.min(box.width, this.rowFormattingInfo.intervals[0].avaliableWidth);
                    this.addBoxIgnoreWidth();
                }
            }
            else
                this.rowFormatter.finishRow();
            return;
        }
        this.rowFormattingInfo.intervals[indexOfFreeInterval].avaliableWidth -= box.width;
        const newHeightState = this.heightCalculator.getState(box);
        const newHeight = newHeightState.getFullRowHeight();
        if (newHeight != this.rowFormattingInfo.height && !this.rowFormattingInfo.canIncrementHeightTo(newHeight)) {
            this.rowFormattingInfo.intervals[indexOfFreeInterval].avaliableWidth += box.width;
            this.rowFormattingInfo.height = newHeight;
            this.restartAllRow();
            return;
        }
        this.rowFormattingInfo.height = newHeight;
        this.heightCalculator.applyState(newHeightState);
        if (this.rowFormattingInfo.currIndex != indexOfFreeInterval)
            this.finishLogicalRow(indexOfFreeInterval, currIntervalEndPos);
        box.x = this.rowFormattingInfo.currInterval.startOfFreeSpace - box.width;
        this.row.boxes.push(box);
        this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
        this.rowFormatter.setBoxInfo(true);
    }
    addBoxIgnoreWidth() {
        const box = this.rowFormatter.currBox;
        this.row.boxes.push(box);
        this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
        this.heightCalculator.applyState(this.heightCalculator.getState(box));
        this.rowFormatter.setBoxInfo(true);
    }
    anywayAddBox() {
        const box = this.rowFormatter.currBox;
        box.x = this.rowFormattingInfo.currInterval.startOfFreeSpace;
        this.rowFormattingInfo.currInterval.avaliableWidth -= box.width;
        if (this.rowFormattingInfo.currInterval.avaliableWidth < 0)
            this.rowFormattingInfo.currInterval.avaliableWidth = 0;
        this.row.boxes.push(box);
        this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
        this.rowFormatter.setBoxInfo(true);
    }
    restartAllRow(deleteAnchoredObjects = true) {
        this.rowFormatter.setPosition(this.rowStartPos, false, true);
        this.rowFormatter.setBoxInfo(false);
        this.rowFormattingInfo.calculate();
        this.rowFormattingInfo.currIndex = 0;
        this.rowFormatter.result.startRowFormatting(deleteAnchoredObjects);
        this.rowFormatter.wordHolder.restart();
        this.rowFormatter.tabInfo.restart();
    }
    finishLogicalRow(nextIndex, prevRowEndPos) {
        if (this.rowFormattingInfo.currInterval.isConsiderBoxes())
            this.rowFormatter.result.finishLogicalRow(prevRowEndPos);
        this.rowFormattingInfo.currIndex = nextIndex;
    }
    finishRow() {
        this.row.y = this.rowFormattingInfo.minY;
        if (this.heightCalculator.setFinalRowParams() || this.row.containsSpacesOnly() ||
            this.rowFormattingInfo.canIncrementHeightTo(this.heightCalculator.currState.getFullRowHeight())) {
            this.rowFormatter.result.finishRow();
            return true;
        }
        this.rowFormattingInfo.height = this.heightCalculator.currState.getFullRowHeight();
        this.restartAllRow();
        return false;
    }
    addNumberingBoxes() {
        return !!this.row.boxes.length || !this.row.numberingListBox || this.tryPlaceNumberingBoxes();
    }
    getTabEndPos(isFirstIteration, textBoxEndPos) {
        const customTabPos = this.rowFormatter.tabInfo.getNextCustomTabPosition(textBoxEndPos);
        if (this.rowFormatter.paragraphProps.firstLineIndentType == paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging) {
            const rightBound = this.rowFormatter.paragraphHorizontalBounds.start +
                class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.rowFormatter.paragraphProps.leftIndent);
            if (customTabPos && isFirstIteration && rightBound > textBoxEndPos &&
                fixed.FixedInterval.fromPositions(textBoxEndPos, rightBound).contains(customTabPos.position))
                return customTabPos.position;
            return rightBound < textBoxEndPos ? this.rowFormatter.tabInfo.getNextDefaultTabPosition(textBoxEndPos) : rightBound;
        }
        else
            return customTabPos ? customTabPos.position : this.rowFormatter.tabInfo.getNextDefaultTabPosition(textBoxEndPos);
    }
    tryPlaceNumberingBoxes() {
        const numberingListBox = this.row.numberingListBox;
        const textBox = numberingListBox.textBox;
        const offset = this.calculateNumberingListBoxOffset(numberingListBox.alignment, textBox.width);
        const startPos = this.rowFormattingInfo.currInterval.startOfFreeSpace - offset;
        textBox.x = startPos;
        let totalWidth = textBox.width;
        let separatorWidthDependsOnIntervalIndex = false;
        const separatorBox = numberingListBox.separatorBox;
        if (separatorBox) {
            const textBoxEndPos = startPos + this.row.numberingListBox.textBox.width;
            if (separatorBox.getType() == layout_box/* LayoutBoxType */.KH.TabSpace) {
                const tabEndPosition = this.getTabEndPos(this.rowFormattingInfo.currIndex == 0, textBoxEndPos);
                separatorBox.width = tabEndPosition - textBoxEndPos;
                separatorWidthDependsOnIntervalIndex = true;
            }
            separatorBox.x = textBoxEndPos;
            totalWidth += separatorBox.width;
        }
        if (this.rowFormattingInfo.isFloatingIntersectRow) {
            const indexOfFreeInterval = this.rowFormattingInfo.indexOfFreeInterval(totalWidth);
            if (indexOfFreeInterval < 0) {
                this.rowFormattingInfo.findNextYPos();
                this.rowFormattingInfo.currIndex = 0;
                this.restartAllRow();
                return false;
            }
            if (this.rowFormattingInfo.currIndex != indexOfFreeInterval) {
                const currIntervalEndPos = this.rowFormattingInfo.currInterval ? this.rowFormattingInfo.currInterval.end : -1;
                if (separatorWidthDependsOnIntervalIndex) {
                    this.finishLogicalRow(this.rowFormattingInfo.currIndex + 1, currIntervalEndPos);
                    return this.tryPlaceNumberingBoxes();
                }
                else
                    this.finishLogicalRow(indexOfFreeInterval, currIntervalEndPos);
            }
        }
        this.row.x -= offset;
        this.rowFormattingInfo.currInterval.start -= offset;
        this.rowFormattingInfo.currInterval.avaliableWidth -= totalWidth;
        this.rowFormattingInfo.lastNonEmptyIntervalIndex = this.rowFormattingInfo.currIndex;
        return true;
    }
    calculateNumberingListBoxOffset(alignment, boxWidth) {
        let offset = 0;
        if (alignment == list_level_properties/* ListNumberAlignment */.PX.Center)
            offset = boxWidth / 2;
        else if (alignment == list_level_properties/* ListNumberAlignment */.PX.Right)
            offset = boxWidth;
        return offset;
    }
}
class AddFullWordResult {
    constructor(isSuccess, requiredWidth) {
        this.isSuccess = isSuccess;
        this.requiredWidth = requiredWidth;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/states.ts




class RowBaseFormatterState {
    constructor(rowFormatter) {
        this.rowFormatter = rowFormatter;
    }
    addBoxAnyway(isFinishRow = false, nextState = TextRowFormatterState.None, ...setFlags) {
        if (!this.rowFormatter.wordHolder.pushBoxes())
            return;
        if (!this.rowFormatter.rowSizesManager.addNumberingBoxes())
            return;
        this.rowFormatter.rowSizesManager.anywayAddBox();
        if (this.rowFormatter.manager.innerClientProperties.viewsSettings.isSimpleView)
            setFlags = utils_list.ListUtils.reducedMap(setFlags, (f) => utils_enum/* EnumUtils */.Y.isAnyOf(f, layout_row/* LayoutRowStateFlags */.Kp.ColumnEnd, layout_row/* LayoutRowStateFlags */.Kp.PageEnd, layout_row/* LayoutRowStateFlags */.Kp.SectionEnd) ? null : f);
        utils_list.ListUtils.forEach(setFlags, (flag) => this.rowFormatter.row.flags.set(flag, true));
        if (nextState != TextRowFormatterState.None)
            this.rowFormatter.setState(nextState);
        if (isFinishRow)
            this.rowFormatter.finishRow();
    }
    addAnchorObject() {
        this.rowFormatter.addAnchorObject();
    }
    addTextBox() {
        this.rowFormatter.wordHolder.addBox();
    }
    addDashBox() {
        this.rowFormatter.wordHolder.addBox();
        this.rowFormatter.wordHolder.pushBoxes();
    }
    addPictureBox() {
        if (!this.rowFormatter.wordHolder.pushBoxes())
            return;
        if (!this.rowFormatter.rowSizesManager.addNumberingBoxes())
            return;
        this.rowFormatter.rowSizesManager.addBox();
    }
    addSpaceBox() {
        this.addBoxAnyway(false, TextRowFormatterState.Base);
    }
    addTabulationBox() {
        if (!this.rowFormatter.wordHolder.pushBoxes())
            return;
        if (!this.rowFormatter.rowSizesManager.addNumberingBoxes())
            return;
        if (this.rowFormatter.tabInfo.addTabBox())
            this.rowFormatter.setState(TextRowFormatterState.Base);
        else
            this.rowFormatter.finishRow();
    }
    addSectionBox() {
        this.addBoxAnyway(true, TextRowFormatterState.None, layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd, layout_row/* LayoutRowStateFlags */.Kp.SectionEnd);
    }
    addLineBreakBox() {
        this.addBoxAnyway(true);
    }
    addPageBreakBox() {
        this.addBoxAnyway(false, TextRowFormatterState.EndedWithPageBreak, layout_row/* LayoutRowStateFlags */.Kp.PageEnd);
    }
    addColumnBreakBox() {
        this.addBoxAnyway(true, TextRowFormatterState.None, layout_row/* LayoutRowStateFlags */.Kp.ColumnEnd);
    }
    addParagraphBox() {
        this.addBoxAnyway(false, TextRowFormatterState.EndedWithParagraphMark, layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd);
    }
}
class RowEndedWithParagraphMarkFormatterState extends RowBaseFormatterState {
    constructor(rowFormatter) {
        super(rowFormatter);
    }
    addAnchorObject() {
        this.rowFormatter.finishRow();
    }
    addTextBox() {
        this.rowFormatter.finishRow();
    }
    addDashBox() {
        this.rowFormatter.finishRow();
    }
    addPictureBox() {
        this.rowFormatter.finishRow();
    }
    addSpaceBox() {
        this.rowFormatter.finishRow();
    }
    addTabulationBox() {
        this.rowFormatter.finishRow();
    }
    addLineBreakBox() {
        this.rowFormatter.finishRow();
    }
    addPageBreakBox() {
        this.rowFormatter.finishRow();
    }
    addColumnBreakBox() {
        this.rowFormatter.finishRow();
    }
    addParagraphBox() {
        this.rowFormatter.finishRow();
    }
}
class RowEndedWithPageBreakState extends RowEndedWithParagraphMarkFormatterState {
    constructor(rowFormatter) {
        super(rowFormatter);
    }
    addParagraphBox() {
        this.addBoxAnyway(false, TextRowFormatterState.EndedWithParagraphMark, layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd);
    }
}

// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph.ts
var paragraph = __webpack_require__(9754);
// EXTERNAL MODULE: ./src/common/model/paragraph/paragraph-style.ts
var paragraph_style = __webpack_require__(5631);
;// CONCATENATED MODULE: ./src/common/layout-formatter/row/tab-info.ts


















class RowTabInfo {
    get row() {
        return this.rowFormatter.row;
    }
    get currIntervalOrLastNonEmpty() {
        const currInterval = this.rowFormatter.rowSizesManager.rowFormattingInfo.currInterval;
        return currInterval ? currInterval : this.rowFormatter.rowSizesManager.rowFormattingInfo.lastNonEmptyInterval;
    }
    get currInterval() { return this.rowFormatter.rowSizesManager.rowFormattingInfo.currInterval; }
    constructor(rowFormatter, paragraphHorizontalBoundsStart) {
        this.rowFormatter = rowFormatter;
        this.paragraphHorizontalBoundsStart = paragraphHorizontalBoundsStart;
        const tabsInfo = this.rowFormatter.paragraph.getTabs();
        this.defaultTabStop = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(tabsInfo.defaultTabStop);
        this.tabPositions = tabsInfo.positions;
        for (let tabPosition of this.tabPositions)
            tabPosition.position = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(tabPosition.position);
        if (this.rowFormatter.paragraphProps.firstLineIndentType == paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging && !this.rowFormatter.paragraph.isInList()) {
            const pos = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.rowFormatter.paragraphProps.leftIndent);
            const ind = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(this.tabPositions, (t) => t.position, pos));
            const tab = this.tabPositions[ind];
            const oldTabPos = tab ? tab.position : Number.MAX_VALUE;
            if (oldTabPos != pos)
                this.tabPositions.splice(pos > oldTabPos ? ind + 1 : ind, 0, new paragraph_style/* TabInfo */.i3(pos, paragraph/* TabAlign */.K9.Left, layout_tab_space_box/* TabLeaderType */.LT.None, false, false));
        }
        for (let pos of this.tabPositions)
            pos.position += this.paragraphHorizontalBoundsStart;
        this.restart();
    }
    restart() {
        this.lastTabPosition = null;
        this.lastTabBoxIndex = -1;
    }
    shiftBoxesAfterLastTab() {
        if (!this.lastTabPosition || utils_enum/* EnumUtils */.Y.isAnyOf(this.lastTabPosition.alignment, paragraph/* TabAlign */.K9.Left, paragraph/* TabAlign */.K9.Numbering))
            return;
        const prevTabBox = this.row.boxes[this.lastTabBoxIndex];
        const prevTabNewWidth = this.calculateActualTabWidth(prevTabBox);
        if (prevTabNewWidth > 0) {
            prevTabBox.width = prevTabNewWidth;
            this.currIntervalOrLastNonEmpty.avaliableWidth -= prevTabNewWidth;
            utils_list.ListUtils.forEach(this.row.boxes, (box) => box.x += prevTabNewWidth, this.lastTabBoxIndex + 1);
        }
        this.restart();
    }
    addTabBox() {
        const box = this.rowFormatter.currBox;
        this.shiftBoxesAfterLastTab();
        let tabPosition = this.getNextCustomTabPosition(this.currInterval.startOfFreeSpace);
        const isCustomNonLeftTabPosition = tabPosition && !utils_enum/* EnumUtils */.Y.isAnyOf(tabPosition.alignment, paragraph/* TabAlign */.K9.Left, paragraph/* TabAlign */.K9.Numbering);
        let tabXPosRelativePage = tabPosition ? tabPosition.position : this.getNextDefaultTabPosition(this.currInterval.startOfFreeSpace);
        if (tabXPosRelativePage > this.currInterval.end) {
            let ind = this.rowFormatter.rowSizesManager.rowFormattingInfo.indexOfIntervalContainsPositon(tabXPosRelativePage);
            if (ind != this.rowFormatter.rowSizesManager.rowFormattingInfo.currIndex) {
                if (isCustomNonLeftTabPosition)
                    tabXPosRelativePage = this.currInterval.end;
                else {
                    this.rowFormatter.rowSizesManager.finishLogicalRow(ind, this.currInterval.end);
                    tabPosition = this.getNextCustomTabPosition(this.currInterval.startOfFreeSpace);
                    tabXPosRelativePage = tabPosition ? tabPosition.position : this.getNextDefaultTabPosition(this.currInterval.startOfFreeSpace);
                }
            }
        }
        box.x = this.currInterval.startOfFreeSpace;
        box.width = !isCustomNonLeftTabPosition ? tabXPosRelativePage - box.x : 0;
        const tabBox = box.getLayoutTabBox(tabPosition ? tabPosition.leader : layout_tab_space_box/* TabLeaderType */.LT.None);
        const lastInterval = utils_list.ListUtils.last(this.rowFormatter.rowSizesManager.rowFormattingInfo.intervals);
        if (tabXPosRelativePage > lastInterval.end) {
            if (lastInterval.end < this.rowFormatter.paragraphHorizontalBounds.end) {
                if (this.rowFormatter.manager.model.compatibilitySettings.compatibilityMode < document_model/* CompatibilityMode */.VS.Word2013 && tabPosition !== null) {
                    this.currInterval.avaliableWidth = Number.MAX_SAFE_INTEGER - this.currInterval.busyWidth;
                    this.currInterval.length = Number.MAX_SAFE_INTEGER;
                    this.row.width = Number.MAX_SAFE_INTEGER;
                    this.row.flags.set(layout_row/* LayoutRowStateFlags */.Kp.InfinityWidth, true);
                    return this.addTabBox();
                }
                else if (tabBox.right < this.rowFormatter.paragraphHorizontalBounds.end) {
                    const delta = this.rowFormatter.paragraphHorizontalBounds.end - lastInterval.end;
                    let canIncrease = !isCustomNonLeftTabPosition;
                    if (canIncrease && this.rowFormatter.rowSizesManager.rowFormattingInfo.isFloatingIntersectRow) {
                        canIncrease = !algorithms.IntervalAlgorithms.getIntersection(new fixed.FixedInterval(lastInterval.end, delta), utils_list.ListUtils.last(this.rowFormatter.rowSizesManager.rowFormattingInfo.busyIntervals));
                    }
                    if (canIncrease) {
                        lastInterval.end = this.rowFormatter.paragraphHorizontalBounds.end;
                        lastInterval.avaliableWidth += delta;
                        this.row.width += delta;
                        return this.addTabBox();
                    }
                }
            }
            if (!this.row.isEmpty() && !isCustomNonLeftTabPosition)
                return false;
            if (this.rowFormatter.rowSizesManager.rowFormattingInfo.isFloatingIntersectRow && !isCustomNonLeftTabPosition) {
                this.rowFormatter.rowSizesManager.rowFormattingInfo.findNextYPos();
                this.rowFormatter.rowSizesManager.restartAllRow(false);
                while (utils_enum/* EnumUtils */.Y.isAnyOf(this.rowFormatter.currBox.getType(), layout_box/* LayoutBoxType */.KH.AnchorPicture, layout_box/* LayoutBoxType */.KH.AnchorTextBox))
                    this.rowFormatter.setBoxInfo(true);
                return this.addTabBox();
            }
        }
        this.rowFormatter.rowSizesManager.addTabBox(tabBox);
        this.lastTabPosition = tabPosition ? tabPosition : new paragraph_style/* TabInfo */.i3(tabXPosRelativePage, paragraph/* TabAlign */.K9.Left, layout_tab_space_box/* TabLeaderType */.LT.None, false, false);
        this.lastTabBoxIndex = this.row.boxes.length - 1;
        return true;
    }
    calculateActualTabWidth(prevTabBox) {
        const prevTabBoxXPos = prevTabBox.x;
        switch (this.lastTabPosition.alignment) {
            case paragraph/* TabAlign */.K9.Decimal: {
                const decimalSeparatorChar = string.StringUtils.getDecimalSeparator();
                for (let i = this.lastTabBoxIndex + 1, box; box = this.row.boxes[i]; i++) {
                    const charIndex = box.getCharIndex(decimalSeparatorChar);
                    if (charIndex >= 0) {
                        const charXOffset = box.getCharOffsetXInPixels(this.rowFormatter.manager.measurer, charIndex);
                        return this.getFinalCustomTabWidth(prevTabBoxXPos, box.x + charXOffset - prevTabBoxXPos);
                    }
                }
            }
            case paragraph/* TabAlign */.K9.Right: {
                const lastTextBoxRightBound = this.calcLastVisibleBoxRightBounds(prevTabBoxXPos);
                const tabPosition = Math.min(this.lastTabPosition.position, this.currIntervalOrLastNonEmpty.start + this.currIntervalOrLastNonEmpty.length);
                return Math.max(0, tabPosition - lastTextBoxRightBound);
            }
            case paragraph/* TabAlign */.K9.Center: {
                const lastTextBoxRightBound = this.calcLastVisibleBoxRightBounds(prevTabBoxXPos);
                return this.getFinalCustomTabWidth(prevTabBoxXPos, Math.ceil((lastTextBoxRightBound - prevTabBoxXPos) / 2));
            }
            case paragraph/* TabAlign */.K9.Left:
            case paragraph/* TabAlign */.K9.Numbering:
                return 0;
            default:
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    calcLastVisibleBoxRightBounds(prevTabBoxXPos) {
        const startIndex = this.row.boxes.length - 1;
        const endIndex = this.lastTabBoxIndex + 1;
        const lastVisibleBox = this.row.boxes[BoxAligner.findLastVisibleBoxIndex(this.row.boxes, startIndex, endIndex)];
        return lastVisibleBox ? lastVisibleBox.right : prevTabBoxXPos;
    }
    getFinalCustomTabWidth(prevTabBoxXPos, textLengthBetweenTabBoxAndTabMark) {
        return math.MathUtils.restrictValue(this.lastTabPosition.position - prevTabBoxXPos - textLengthBetweenTabBoxAndTabMark, 0, this.currIntervalOrLastNonEmpty.avaliableWidth);
    }
    getNextDefaultTabPosition(xOffsetRelativePage) {
        if (!this.defaultTabStop)
            return xOffsetRelativePage;
        if (xOffsetRelativePage >= this.paragraphHorizontalBoundsStart) {
            const tab = this.paragraphHorizontalBoundsStart +
                this.defaultTabStop * (Math.floor((xOffsetRelativePage - this.paragraphHorizontalBoundsStart) / this.defaultTabStop) + 1);
            return tab - xOffsetRelativePage > 1 ? tab : tab + this.defaultTabStop;
        }
        return this.paragraphHorizontalBoundsStart -
            this.defaultTabStop * Math.floor((this.paragraphHorizontalBoundsStart - xOffsetRelativePage) / this.defaultTabStop);
    }
    getNextCustomTabPosition(xOffsetRelativePage) {
        return utils_list.ListUtils.elementBy(this.tabPositions, (tabPos) => NumberUtils.lessThan(xOffsetRelativePage, tabPos.position));
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/word-holder.ts
class WordHolderInfo {
    constructor(rowFormatter) {
        this.rowFormatter = rowFormatter;
        this.restart();
    }
    restart() {
        this.boxes = null;
    }
    addBox() {
        if (!this.boxes)
            this.boxes = [];
        const box = this.rowFormatter.currBox;
        this.boxes.push(box);
        this.rowFormatter.setBoxInfo(true);
    }
    pushBoxes() {
        if (!this.boxes)
            return true;
        if (!this.rowFormatter.rowSizesManager.addNumberingBoxes())
            return false;
        const res = this.rowFormatter.rowSizesManager.addFullWord(this.boxes);
        if (res === null || res === void 0 ? void 0 : res.isSuccess) {
            this.boxes = null;
            return true;
        }
        if (res == null)
            return false;
        if (this.rowFormatter.row.isEmpty()) {
            if (this.rowFormatter.rowSizesManager.rowFormattingInfo.isFloatingIntersectRow) {
                this.rowFormatter.rowSizesManager.rowFormattingInfo.findNextYPosWhatHasNeededSpace(res.requiredWidth);
                return this.pushBoxes();
            }
            const offset = this.rowFormatter.rowSizesManager.addWordByChars(this.boxes);
            this.rowFormatter.setPosition(offset, false, false);
        }
        else
            this.rowFormatter.setPosition(this.boxes[0].rowOffset, false, false);
        this.rowFormatter.rowSizesManager.finishLogicalRow(this.rowFormatter.rowSizesManager.rowFormattingInfo.currIndex + 1, this.rowFormatter.rowSizesManager.rowFormattingInfo.currInterval.end);
        this.rowFormatter.finishRow();
        this.boxes = null;
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/formatter.ts
















var TextRowFormatterState;
(function (TextRowFormatterState) {
    TextRowFormatterState[TextRowFormatterState["None"] = 0] = "None";
    TextRowFormatterState[TextRowFormatterState["Base"] = 1] = "Base";
    TextRowFormatterState[TextRowFormatterState["EndedWithPageBreak"] = 2] = "EndedWithPageBreak";
    TextRowFormatterState[TextRowFormatterState["EndedWithParagraphMark"] = 3] = "EndedWithParagraphMark";
})(TextRowFormatterState || (TextRowFormatterState = {}));
class RowFormatter {
    constructor(formatterManager, subDocumentId) {
        this.rowFormatting = true;
        this.manager = formatterManager;
        this.iterator = new BoxIterator(this.manager, subDocumentId);
        this.numberingListCountersManager = new SubDocumentNumberingListCountersManager(this.subDocument);
        this.stateMap = {};
        this.stateMap[TextRowFormatterState.Base] = new RowBaseFormatterState(this);
        this.stateMap[TextRowFormatterState.EndedWithPageBreak] = new RowEndedWithPageBreakState(this);
        this.stateMap[TextRowFormatterState.EndedWithParagraphMark] = new RowEndedWithParagraphMarkFormatterState(this);
        if (RowFormatter.addBoxFunctionMap)
            return;
        RowFormatter.addBoxFunctionMap = {};
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.Space] = function () { this.currentState.addSpaceBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.NonBreakingSpace] = function () { this.currentState.addTextBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.Dash] = function () { this.currentState.addDashBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.Text] = function () { this.currentState.addTextBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.Picture] = function () { this.currentState.addPictureBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.ParagraphMark] = function () { this.currentState.addParagraphBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.LineBreak] = function () { this.currentState.addLineBreakBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.SectionMark] = function () { this.currentState.addSectionBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.PageBreak] = function () { this.currentState.addPageBreakBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.ColumnBreak] = function () { this.currentState.addColumnBreakBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.TabSpace] = function () { this.currentState.addTabulationBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.FieldCodeStart] = function () { this.currentState.addTextBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.FieldCodeEnd] = function () { this.currentState.addTextBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.LayoutDependent] = function () { this.currentState.addTextBox(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.AnchorTextBox] = function () { this.currentState.addAnchorObject(); };
        RowFormatter.addBoxFunctionMap[layout_box/* LayoutBoxType */.KH.AnchorPicture] = function () { this.currentState.addAnchorObject(); };
    }
    get subDocument() { return this.iterator.subDocument; }
    ;
    get row() { return this.result.row; }
    get paragraph() { return this.subDocument.paragraphs[this.result.paragraphIndex]; }
    get paragraphProps() { return this.paragraph.getParagraphMergedProperties(); }
    getNextBoxWrapInfo() { return this.iterator.getWrap(false); }
    setPosition(position, forceResetBoxInfos, checkStartTable) { this.iterator.setPosition(position, forceResetBoxInfos, checkStartTable); }
    getPosition() { return this.iterator.getPosition(); }
    documentStart() { this.iterator.documentStart(); }
    formatRow(minY, paragraphHorizontalBounds, rowSpacingBeforeApplier) {
        this.paragraphHorizontalBounds = paragraphHorizontalBounds;
        this.initResult(minY);
        log/* Log */.Z.print(log_source/* LogSource */.O.RowFormatter, "formatRow", `paragraphHorizontalBounds: ${log_obj_to_str/* LogObjToStr */.I.fixedInterval(paragraphHorizontalBounds)}, firstBoxOffset: ${this.currBox.rowOffset}`);
        const prevRow = this.manager.activeFormatter.lastRowInfo.row;
        const isFirstRowInParagraph = !prevRow || prevRow.flags.get(layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd) ||
            this.manager.activeFormatter.lastRowInfo.paragraphIndex != this.currWrapInfo.paragraphIndex;
        const rowParagraphLeftIndent = isFirstRowInParagraph ?
            class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.paragraphProps.getLeftIndentForFirstRow()) :
            class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.paragraphProps.getLeftIndentForOtherRow());
        const rowContentHorizontalBounds = fixed.FixedInterval.fromPositions(paragraphHorizontalBounds.start + rowParagraphLeftIndent, paragraphHorizontalBounds.end - class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.paragraphProps.rightIndent));
        this.rowSizesManager = new RowSizesManager(this, rowContentHorizontalBounds, minY, rowSpacingBeforeApplier, this.manager.activeFormatter.layoutRowBoundsCalculator.getRectangleBounds(this.manager), isFirstRowInParagraph);
        this.tabInfo = new RowTabInfo(this, paragraphHorizontalBounds.start);
        this.wordHolder = new WordHolderInfo(this);
        this.rowFormatting = true;
        let cycleCounter = 0;
        while (this.rowFormatting) {
            this.setState(TextRowFormatterState.Base);
            this.innerFormatRow();
            if (++cycleCounter > 10000)
                throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    innerFormatRow() {
        while (this.rowFormatting && this.currBox) {
            const oldWrapTablPos = this.currWrapInfo.tablePosition;
            RowFormatter.addBoxFunctionMap[this.currBox.getType()].call(this);
            if (this.currWrapInfo) {
                if (!oldWrapTablPos && this.currWrapInfo.tablePosition) {
                    this.finishRow();
                    break;
                }
                if (oldWrapTablPos && (!this.currWrapInfo.tablePosition || !this.currWrapInfo.equalsTablePositions(oldWrapTablPos))) {
                    this.wordHolder.pushBoxes();
                    this.row.flags.set(layout_row/* LayoutRowStateFlags */.Kp.CellTableEnd, true);
                    this.finishRow();
                    break;
                }
            }
            else {
                if (oldWrapTablPos)
                    this.row.flags.set(layout_row/* LayoutRowStateFlags */.Kp.CellTableEnd, true);
            }
        }
        if (!this.currBox) {
            if (!this.iterator.allBoxesGiven()) {
                this.iterator.setPosition(this.startPos, false, false);
                this.result.flags.set(RowFormatterResultFlag.NotEnoughChunks, true);
                this.rowFormatting = false;
                return;
            }
            this.row.flags.set(layout_row/* LayoutRowStateFlags */.Kp.DocumentEnd, true);
        }
        this.rowFormatting = !this.rowSizesManager.finishRow();
    }
    finishRow() {
        if (!this.result.row.boxes.length && !this.result.newAnchoredObjects.length)
            throw new Error(errors/* Errors */.D.InternalException);
        this.rowFormatting = false;
    }
    setState(state) {
        this.currentState = this.stateMap[state];
    }
    addAnchorObject() {
        const ancBox = this.currBox;
        this.setBoxInfo(true);
        const existingObj = this.manager.activeFormatter.layoutPosition.page.anchoredObjectHolder.getObjById(ancBox.objectId);
        if (existingObj) {
            existingObj.isApproved = true;
            return;
        }
        if (ancBox.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox) {
            const calculator = this.manager.anchoredObjectsManager.textBoxContextSizeCalculators[ancBox.objectId];
            calculator.calculateSize(this.manager.boundsCalculator);
            ancBox.setContentSize(calculator.layoutSize);
        }
        this.result.newAnchoredObjects.push(ancBox);
    }
    initResult(minY) {
        this.result = new RowFormatterResult(this, minY);
        this.setBoxInfo(false);
        if (this.currBox)
            this.startPos = this.currBox.rowOffset;
        this.result.paragraphIndex = this.currWrapInfo.paragraphIndex;
        this.result.sectionIndex = this.currWrapInfo.sectionIndex;
    }
    setBoxInfo(getNextWrap) {
        let wrap = this.iterator.getWrap(getNextWrap);
        if (!wrap) {
            this.currBox = null;
            this.currWrapInfo = null;
            return;
        }
        this.currBox = wrap.box.getType() == layout_box/* LayoutBoxType */.KH.TabSpace ? wrap.box : wrap.box.clone();
        this.currWrapInfo = wrap.info;
        if (this.currBox.getType() == layout_box/* LayoutBoxType */.KH.LayoutDependent) {
            this.currBox.calculateText(this.manager);
            layout_box/* LayoutBox */.kZ.initializeWithMeasurer([new box_wrap/* BoxWrap */.Od(this.currBox, null)], this.manager.measurer, false);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/row/utils/row-spacing-before-applier.ts


class TableRowSpacingBeforeApplier {
    constructor(lastRow, paragraphs, isFirstRowInCell, isFirstCellInRow, isFirstRowInTable) {
        this.lastRow = lastRow;
        this.paragraphs = paragraphs;
        this.isFirstRowInCell = isFirstRowInCell;
        this.isFirstCellInRow = isFirstCellInRow;
        this.isFirstRowInTable = isFirstRowInTable;
    }
    apply(row, rowParagraphIndex) {
        row.applySpacingBefore(this.lastRow && !this.lastRow.flags.get(layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd) ? 0 :
            layout_row/* LayoutRow */.WM.getParagraphSpacingBefore(this.paragraphs[rowParagraphIndex], this.paragraphs[rowParagraphIndex - 1], this.isFirstRowInCell, this.isFirstCellInRow, this.isFirstRowInTable));
    }
}
class RowSpacingBeforeApplier {
    constructor(settings, lastRowInfo, paragraphs, isFirstRowOnColumn) {
        this.settings = settings;
        this.lastRowInfo = lastRowInfo;
        this.paragraphs = paragraphs;
        this.isFirstRowOnColumn = isFirstRowOnColumn;
    }
    apply(row, rowParagraphIndex) {
        row.applySpacingBefore(this.calculateSpacingBefore(row, rowParagraphIndex));
    }
    calculateSpacingBefore(row, rowParagraphIndex) {
        const lastRow = this.lastRowInfo.row;
        if (this.firstRowOfSection() || (lastRow.tableCellInfo && !this.isFirstRowOnColumn)) {
            return layout_row/* LayoutRow */.WM.getParagraphSpacingBefore(this.paragraphs[rowParagraphIndex], null, false, false, false);
        }
        else if (rowParagraphIndex == this.lastRowInfo.paragraphIndex) {
            if (this.firstRowOfParagraphStartingWithPageBreak() && this.settings.allowParagraphSpacingAfterPageBreak)
                return layout_row/* LayoutRow */.WM.getParagraphSpacingBefore(this.paragraphs[rowParagraphIndex], null, false, false, false);
        }
        else if (!this.isFirstRowOnColumn && !this.rowConsistsOfPageBreakOnly(row)) {
            return layout_row/* LayoutRow */.WM.getParagraphSpacingBefore(this.paragraphs[rowParagraphIndex], this.paragraphs[rowParagraphIndex - 1], false, false, false);
        }
        return 0;
    }
    firstRowOfSection() {
        return !this.lastRowInfo.row || this.lastRowInfo.row.flags.get(layout_row/* LayoutRowStateFlags */.Kp.SectionEnd);
    }
    rowConsistsOfPageBreakOnly(row) {
        return row.boxes.length == 1 && row.boxes[0].getType() == layout_box/* LayoutBoxType */.KH.PageBreak;
    }
    firstRowOfParagraphStartingWithPageBreak() {
        return this.lastRowInfo.row && this.rowConsistsOfPageBreakOnly(this.lastRowInfo.row) &&
            this.lastRowInfo.startPosition == this.paragraphs[this.lastRowInfo.paragraphIndex].startLogPosition.value;
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-cell-properties-merger.ts
var table_cell_properties_merger = __webpack_require__(8403);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-units.ts
var table_units = __webpack_require__(4857);
;// CONCATENATED MODULE: ./src/common/layout/table/layout-table-row-info.ts




class LayoutTableCellBackgroundInfo extends rectangle.Rectangle {
    constructor(bound, color) {
        super(bound.x, bound.y, bound.width, bound.height);
        this.color = color;
    }
}
class LayoutTableRowInfo extends rectangle.Rectangle {
    constructor(parentTable, bound, rowIndex) {
        super(bound.x, bound.y, bound.width, bound.height);
        this.parentTable = parentTable;
        this.rowCells = [];
        this.backgroundInfos = [];
        this.rowIndex = rowIndex;
    }
    isBoundWithPrev() {
        return utils_list.ListUtils.indexBy(this.rowCells, (cell) => !cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn)) >= 0;
    }
    getCellIndexByExactlyCellGridIndex(cellGridIndex) {
        return search.SearchUtils.binaryIndexOf(this.rowCells, (cell) => cell.cellGridIndex - cellGridIndex);
    }
    getCellByExactlyCellGridIndex(cellGridIndex) {
        const cellIndex = this.getCellIndexByExactlyCellGridIndex(cellGridIndex);
        return cellIndex < 0 ? null : this.rowCells[cellIndex];
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/background-info-creator.ts




class TableBackgroundInfoCreator {
    static createBackgroundInfos(colorProvider, defaultTblCellProps, grid, currTableColumnInfo, currColumnVerticalBorders, currColumnHorizontalBorders, rowInfo) {
        const tableStyle = grid.table.style;
        const modelRows = grid.table.rows;
        for (let rowIndexInColumn = 0, vertRowBrds; vertRowBrds = currColumnVerticalBorders[rowIndexInColumn]; rowIndexInColumn++) {
            const tblRowInfo = currTableColumnInfo.tableRows[rowIndexInColumn];
            const modelRowIndex = tblRowInfo.rowIndex;
            const rowCellSpacing = rowInfo[modelRowIndex].cellSpacing;
            const cells = modelRows[modelRowIndex].cells;
            const rowHorizontalBorders = currColumnHorizontalBorders[rowIndexInColumn];
            const isRowFirstInColumn = rowIndexInColumn == 0;
            const isRowLastInColumn = rowIndexInColumn == currColumnVerticalBorders.length - 1;
            for (let cellIndex = 0, cellVerticalBorders; cellVerticalBorders = vertRowBrds[cellIndex]; cellIndex++) {
                const cell = cells[cellIndex];
                if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue && rowIndexInColumn != 0)
                    continue;
                const isCellLastInRow = cellIndex == vertRowBrds.length - 1;
                const cellGridInfo = grid.tableCellInfos[modelRowIndex][cellIndex];
                const lastCellRowIndex = Math.min(cellGridInfo.getStartRowIndex() + cellGridInfo.getNumRowsInCell() - modelRowIndex + rowIndexInColumn, currColumnVerticalBorders.length) - 1;
                const cellLastBrdsLines = currColumnHorizontalBorders[lastCellRowIndex];
                const rect = new rectangle.Rectangle(0, 0, 0, 0);
                if (rowCellSpacing) {
                    const isCellFirstInRow = cellIndex == 0;
                    const leftBrdIndex = isCellFirstInRow ? 1 : 0;
                    const rightBrdIndex = cellVerticalBorders.length - (isCellLastInRow ? 2 : 1);
                    rect.x = cellVerticalBorders[leftBrdIndex].xPos + cellVerticalBorders[leftBrdIndex].borderInfo.width;
                    rect.width = cellVerticalBorders[rightBrdIndex].xPos - rect.x;
                    const topHorBrdLine = rowHorizontalBorders[isRowFirstInColumn ? 1 : 0];
                    rect.y = topHorBrdLine.yPosition + topHorBrdLine.maxWidth;
                    rect.height = cellLastBrdsLines[cellLastBrdsLines.length - (isRowLastInColumn ? 2 : 1)].yPosition - rect.y;
                }
                else {
                    rect.x = cellVerticalBorders[0].xPos + cellVerticalBorders[0].borderInfo.width;
                    const rightBrd = isCellLastInRow ? cellVerticalBorders[1] : vertRowBrds[cellIndex + 1][0];
                    rect.width = rightBrd.xPos - rect.x;
                    const topHorBrdLine = rowHorizontalBorders[0];
                    const botHorBrdLine = lastCellRowIndex == currColumnVerticalBorders.length - 1 ?
                        currColumnHorizontalBorders[lastCellRowIndex][1] : currColumnHorizontalBorders[lastCellRowIndex + 1][0];
                    rect.y = topHorBrdLine.yPosition + topHorBrdLine.maxWidth;
                    rect.height = botHorBrdLine.yPosition - rect.y;
                }
                const getColorFromCell = cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue ?
                    modelRows[cellGridInfo.getStartRowIndex()].cells[cellGridInfo.getCellIndex(0)] :
                    cell;
                const cellBackgroundColor = new table_cell_properties_merger/* TableCellPropertiesMergerShadingInfo */.iT()
                    .getProperty(getColorFromCell.properties, tableStyle, getColorFromCell.conditionalFormatting, defaultTblCellProps).getActualColor(colorProvider);
                tblRowInfo.backgroundInfos.push(new LayoutTableCellBackgroundInfo(rect, cellBackgroundColor));
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/borders/border-merger.ts
class BorderMerger {
    static getFinalReducedVerticalBorders(vertBorders) {
        const resultBorders = [];
        const allVerticalBorders = [];
        for (let rowBorders of vertBorders)
            for (let cellBorders of rowBorders)
                for (let border of cellBorders)
                    allVerticalBorders.push(border);
        allVerticalBorders.sort((a, b) => {
            const xPosDiff = a.xPos - b.xPos;
            if (Math.abs(xPosDiff) > 1)
                return xPosDiff;
            const yPosDiff = a.yPos - b.yPos;
            if (yPosDiff != 0)
                return yPosDiff;
            return 0;
        });
        let prevBorder = allVerticalBorders[0];
        resultBorders.push(prevBorder);
        for (let brdIndex = 1, border; border = allVerticalBorders[brdIndex]; brdIndex++) {
            if (prevBorder.canCombineVertical(border))
                prevBorder.length = border.yPos + border.length - prevBorder.yPos;
            else {
                prevBorder = border;
                resultBorders.push(prevBorder);
            }
        }
        return resultBorders;
    }
    static getFinalReducedHorizontalBorders(horBorders) {
        const resultBorders = [];
        for (let horLines of horBorders) {
            for (let line of horLines) {
                const borders = line.borders;
                let prevBorder = borders[0].getLayoutTableBorder(line);
                resultBorders.push(prevBorder);
                for (let brdIndex = 1, border; border = borders[brdIndex]; brdIndex++) {
                    if (Math.abs(prevBorder.xPos + prevBorder.length - border.xPosition) < 2 && prevBorder.borderInfo.equals(border.borderInfo))
                        prevBorder.length = border.xPosition + border.length - prevBorder.xPos;
                    else {
                        prevBorder = border.getLayoutTableBorder(line);
                        resultBorders.push(prevBorder);
                    }
                }
            }
        }
        return resultBorders;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/borders/borders-creator.ts
class BorderCreator {
    static setColumnHorizontalBorders(currTableColumnInfo, rowInfo, currColumnHorizontalBorders, isThisColumnFirstInTable) {
        const tblRows = currTableColumnInfo.tableRows;
        const columnInfoYOffset = currTableColumnInfo.y;
        for (let tblRowIndex = 0, tblRow; tblRow = tblRows[tblRowIndex]; tblRowIndex++) {
            const isThisRowFirstInColumn = tblRowIndex == 0;
            const isThisRowLastInColumn = tblRowIndex == tblRows.length - 1;
            let rowCellSpacing = rowInfo[tblRow.rowIndex].cellSpacing;
            const rowBrd = currColumnHorizontalBorders[tblRowIndex];
            if (rowCellSpacing > 0) {
                let endIndex;
                if (isThisRowFirstInColumn) {
                    rowBrd[0].yPosition = tblRow.y;
                    rowBrd[0].isOffsetFromTop = true;
                    rowBrd[1].yPosition = rowBrd[0].yPosition + rowBrd[0].maxWidth + rowCellSpacing * (isThisColumnFirstInTable ? 2 : 1) + rowBrd[1].maxWidth;
                    rowBrd[1].isOffsetFromTop = false;
                    endIndex = 3;
                }
                else {
                    rowBrd[0].yPosition = tblRow.y + rowCellSpacing + rowBrd[0].maxWidth;
                    rowBrd[0].isOffsetFromTop = false;
                    endIndex = 2;
                }
                if (isThisRowLastInColumn) {
                    rowBrd[endIndex].yPosition = tblRow.bottom - rowBrd[endIndex].maxWidth;
                    rowBrd[endIndex].isOffsetFromTop = true;
                    rowBrd[endIndex - 1].yPosition = rowBrd[endIndex].yPosition - rowCellSpacing * 2 - rowBrd[endIndex - 1].maxWidth;
                    rowBrd[endIndex - 1].isOffsetFromTop = true;
                }
                else {
                    rowBrd[endIndex - 1].yPosition = tblRow.bottom - rowCellSpacing - rowBrd[endIndex - 1].maxWidth;
                    rowBrd[endIndex - 1].isOffsetFromTop = true;
                }
            }
            else {
                rowBrd[0].yPosition = isThisRowFirstInColumn ? tblRow.y : tblRow.y - rowBrd[0].maxWidth / 2;
                rowBrd[0].isOffsetFromTop = true;
                if (isThisRowLastInColumn) {
                    rowBrd[1].yPosition = tblRow.bottom - rowBrd[1].maxWidth;
                    rowBrd[1].isOffsetFromTop = true;
                }
            }
            for (let brd of rowBrd)
                brd.yPosition -= columnInfoYOffset;
        }
    }
    static setColumnVerticalBorders(currTableColumnInfo, grid, rowInfo, isThisColumnFirstInTable, currColumnHorizontalBorders, newVerticalBorders, verticalBorders, considerSpacing) {
        const tblRows = currTableColumnInfo.tableRows;
        const rows = grid.table.rows;
        for (let tblRowIndex = 0, tblRow; tblRow = tblRows[tblRowIndex]; tblRowIndex++) {
            const isRowFirstInColumn = tblRowIndex == 0;
            const isRowLastInColumn = tblRowIndex == tblRows.length - 1;
            const horRowBorders = currColumnHorizontalBorders[tblRowIndex];
            const nextHorRowBorders = currColumnHorizontalBorders[tblRowIndex + 1];
            const lastHorBorderLineIndex = horRowBorders.length - 1;
            const rowBorders = [];
            newVerticalBorders.push(rowBorders);
            const rowIndex = tblRow.rowIndex;
            const cells = rows[rowIndex].cells;
            const rowCellSpacing = considerSpacing ? rowInfo[rowIndex].cellSpacing : 0;
            for (let cellIndex = 0; cellIndex < cells.length; cellIndex++) {
                const isFirstCellInRow = cellIndex == 0;
                const isLastCellInRow = cellIndex == cells.length - 1;
                const cellGridInfo = grid.tableCellInfos[rowIndex][cellIndex];
                const isThisCellMergedByTop = !isRowFirstInColumn && cellGridInfo.getStartRowIndex() != rowIndex;
                const isThisCellMergedByBottom = !isRowLastInColumn && cellGridInfo.getStartRowIndex() + cellGridInfo.getNumRowsInCell() - 1 != rowIndex;
                const cellBorders = [];
                rowBorders.push(cellBorders);
                for (let brd of verticalBorders[rowIndex][cellIndex])
                    cellBorders.push(brd.clone());
                let topCellBordersLine;
                let bottomCellBordersLine;
                if (rowCellSpacing > 0) {
                    topCellBordersLine = horRowBorders[isRowFirstInColumn ? 1 : 0];
                    bottomCellBordersLine = horRowBorders[lastHorBorderLineIndex - (isRowLastInColumn ? 1 : 0)];
                }
                else {
                    topCellBordersLine = horRowBorders[0];
                    bottomCellBordersLine = isRowLastInColumn ? horRowBorders[lastHorBorderLineIndex] : nextHorRowBorders[0];
                }
                const yPos = topCellBordersLine.yPosition + (topCellBordersLine.isOffsetFromTop ? topCellBordersLine.maxWidth : 0);
                const yEndPos = bottomCellBordersLine.yPosition - (bottomCellBordersLine.isOffsetFromTop ? 0 : bottomCellBordersLine.maxWidth);
                for (let vertCellBorderIndex = 0, vertCellBorder; vertCellBorder = cellBorders[vertCellBorderIndex]; vertCellBorderIndex++) {
                    const isFirstBorderInCell = vertCellBorderIndex == 0;
                    const isLastBorderInCell = vertCellBorderIndex == cellBorders.length - 1;
                    const isBoundBorder = isFirstCellInRow && isFirstBorderInCell || isLastBorderInCell && isLastCellInRow;
                    vertCellBorder.yPos = yPos;
                    if (isBoundBorder || isThisCellMergedByTop)
                        vertCellBorder.yPos -= rowCellSpacing * (isThisColumnFirstInTable && isRowFirstInColumn ? 2 : 1) + topCellBordersLine.maxWidth;
                    vertCellBorder.length = yEndPos - vertCellBorder.yPos;
                    if (isBoundBorder || isThisCellMergedByBottom)
                        vertCellBorder.length += rowCellSpacing * (isRowLastInColumn ? 2 : 1) + bottomCellBordersLine.maxWidth;
                }
            }
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/borders/layout-border.ts
var layout_border = __webpack_require__(503);
// EXTERNAL MODULE: ./src/common/layout-formatter/table/borders/layout-table-border.ts
var layout_table_border = __webpack_require__(4110);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/horizontal-cursor-borders-helper.ts



class TableHorizontalCursorBordersHelper {
    static getHorizontalCursorBorders(currTableColumnInfo) {
        const borders = [];
        utils_list.ListUtils.forEach(currTableColumnInfo.tableRows, (layoutRow, layoutRowIndex) => {
            utils_list.ListUtils.forEach(layoutRow.rowCells, (layoutCell) => {
                borders.push(TableHorizontalCursorBordersHelper.createHorizontalCursorBorder(currTableColumnInfo, layoutCell, layoutRowIndex));
            });
        });
        return TableHorizontalCursorBordersHelper.combine(borders);
    }
    static combine(borders) {
        const resultBorders = [];
        let prevBorder = borders[0];
        resultBorders.push(prevBorder);
        for (let brdIndex = 1, border; border = borders[brdIndex]; brdIndex++) {
            if (prevBorder.canCombine(border))
                prevBorder.length = border.xPos + border.length - prevBorder.xPos;
            else {
                prevBorder = border;
                resultBorders.push(prevBorder);
            }
        }
        return resultBorders.sort((a, b) => a.yPos - b.yPos);
    }
    static createHorizontalCursorBorder(currTableColumnInfo, cell, layoutRowIndex) {
        return new layout_table_border/* LayoutCursorHorizontalTableBorder */.io(cell.x - currTableColumnInfo.x, cell.bottom - currTableColumnInfo.y - TableHorizontalCursorBordersHelper.BORDER_HALF_WIDTH, cell.width, layout_border/* LayoutBorder */.Z.getEmpty(), layoutRowIndex);
    }
}
TableHorizontalCursorBordersHelper.BORDER_HALF_WIDTH = 2;

;// CONCATENATED MODULE: ./src/common/layout/table/layout-table-info.ts




class LayoutTableInfo {
    constructor(backgroundColor, grid, pageIndexFromWhichTableWasMoved) {
        this.isEditable = true;
        this.backgroundColor = backgroundColor;
        this.grid = grid;
        this.pageIndexFromWhichTableWasMoved = pageIndexFromWhichTableWasMoved;
    }
}
class LayoutTableColumnInfo extends rectangle.Rectangle {
    constructor(parentCell, logicInfo, bound) {
        super(bound.x, bound.y, bound.width, bound.height);
        this.horizontalBorders = [];
        this.verticalBorders = [];
        this.verticalCursorBorders = [];
        this.horizontalCursorBorders = [];
        this.tableRows = [];
        this.parentCell = parentCell;
        this.logicInfo = logicInfo;
    }
    isLastLayoutColumnInModelTable() {
        const topColumn = this.getTopLevelColumn();
        return !topColumn.isBoundWithNext() && utils_list.ListUtils.last(topColumn.tableRows).rowIndex == topColumn.logicInfo.grid.table.rows.length - 1;
    }
    calculateFlags() {
        this.boundFlags = new class_flag.Flag(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn | layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn);
        utils_list.ListUtils.forEach(this.tableRows, (row) => utils_list.ListUtils.forEach(row.rowCells, (cell) => {
            if (!cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn))
                this.boundFlags.set(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn, false);
            if (!cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn))
                this.boundFlags.set(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn, false);
        }));
    }
    getTopLevelColumn() {
        let currCol = this;
        let parent;
        while (parent = currCol.parentCell)
            currCol = parent.parentRow.parentTable;
        return currCol;
    }
    isBoundWithPrev() {
        return !this.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn);
    }
    isBoundWithNext() {
        return !this.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn);
    }
    static getFirstCellInPageThatBoundWithCellPlacedInNextPage(tableInfos) {
        let resultCell = null;
        let resultTblNestedLevel = -1;
        let currLvl;
        for (let tblInd = tableInfos.length - 1, tbl; tbl = tableInfos[tblInd]; tblInd--) {
            const cell = utils_list.ListUtils.unsafeAnyOf(tbl.tableRows, (row) => utils_list.ListUtils.unsafeAnyOf(row.rowCells, (cell) => !cell.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn) ? cell : null));
            if (cell && (!resultCell ||
                (currLvl = cell.parentRow.parentTable.logicInfo.grid.table.nestedLevel) > resultTblNestedLevel)) {
                resultCell = cell;
                resultTblNestedLevel = currLvl;
            }
        }
        return resultCell;
    }
    isEmpty() {
        return !this.tableRows.length;
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-properties-merger.ts
var table_properties_merger = __webpack_require__(1314);
// EXTERNAL MODULE: ./src/common/layout-formatter/table/borders/border-helper.ts + 2 modules
var border_helper = __webpack_require__(6602);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/column-interval.ts



class GridColumnBase {
    get isPercentBased() {
        return this.type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent;
    }
    constructor(interval) {
        this.width = interval.type == table_units/* TableWidthUnitType */.HO.ModelUnits ? class_unit_converter/* UnitConverter */.u.twipsToPixelsF(interval.width) : interval.width;
        this.type = interval.type;
        this.percentValue = 0;
        this.preferredWidth = 0;
        this.bounds = new min_max.MinMaxNumber(0, 0);
    }
    updateMinBound(val) {
        if (val > this.bounds.minElement)
            this.bounds.minElement = val;
    }
    updateMaxBound(val) {
        if (val > this.bounds.maxElement)
            this.bounds.maxElement = val;
    }
    static totalMinWidth(columns, startColumnIndex = 0, endColumnIndex = columns.length) {
        let result = 0;
        for (let columnIndex = startColumnIndex; columnIndex < endColumnIndex; columnIndex++)
            result += columns[columnIndex].bounds.minElement;
        return result;
    }
    static totalMaxWidth(columns, startColumnIndex = 0, endColumnIndex = columns.length) {
        let result = 0;
        for (let columnIndex = startColumnIndex; columnIndex < endColumnIndex; columnIndex++)
            result += columns[columnIndex].bounds.maxElement;
        return result;
    }
    static totalWidth(columns, startColumnIndex = 0, endColumnIndex = columns.length) {
        let result = 0;
        for (let columnIndex = startColumnIndex; columnIndex < endColumnIndex; columnIndex++)
            result += columns[columnIndex].width;
        return result;
    }
    static totalPercentWidth(columns, startColumnIndex = 0, endColumnIndex = columns.length) {
        let result = 0;
        for (let columnIndex = startColumnIndex; columnIndex < endColumnIndex; columnIndex++)
            result += columns[columnIndex].percentValue;
        return result;
    }
    static totalPreferredWidth(columns, startColumnIndex = 0, endColumnIndex = columns.length) {
        let result = 0;
        for (let columnIndex = startColumnIndex; columnIndex < endColumnIndex; columnIndex++)
            result += columns[columnIndex].preferredWidth;
        return result;
    }
    static getLastDXAColumnIndex(columns, startColumnIndex = 0, endColumnIndex = columns.length) {
        for (let columnIndex = endColumnIndex - 1; columnIndex >= startColumnIndex; columnIndex--)
            if (columns[columnIndex].preferredWidth)
                return columnIndex;
        return -1;
    }
}
class ColumnIntervalFixed extends GridColumnBase {
}
class ColumnIntervalAuto extends GridColumnBase {
    constructor(interval) {
        super(interval);
        this.totalHorizontalMargins = 0;
    }
    static totalHorizontalMargins(columns, startColumnIndex, endColumnIndex) {
        let result = 0;
        for (let columnIndex = startColumnIndex; columnIndex < endColumnIndex; columnIndex++)
            result += columns[columnIndex].totalHorizontalMargins;
        return result;
    }
    static hasColumnsWithoutPreferredWidth(columns, startColumnIndex = 0, endColumnIndex = columns.length) {
        for (let columnIndex = startColumnIndex; columnIndex < endColumnIndex; columnIndex++)
            if (!columns[columnIndex].preferredWidth)
                return true;
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/columns.ts


class Columns {
    constructor(intervalsInfo) {
        this.width = utils_list.ListUtils.map(intervalsInfo, (curr) => curr.width);
        this.numColumns = this.width.length;
        let pos = 0;
        this.positions = utils_list.ListUtils.map(intervalsInfo, (curr) => pos += curr.width);
        this.positions.unshift(0);
        if (utils_list.ListUtils.unsafeAnyOf(this.positions, (p) => isNaN(p) || p < 0))
            throw new Error(errors/* Errors */.D.InternalException);
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/column-width-engine/calculator.ts + 2 modules
var calculator = __webpack_require__(9042);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/grid-calculator.ts







class GridCalculator {
    get table() { return this.grid.table; }
    get currCache() { return this.cache[this.table.index]; }
    get subDocument() { return this.boxIterator.subDocument; }
    constructor(grid, cache, boxIterator, avaliableSpacing) {
        this.accuracy = 8;
        this.maxPercentWidth = 5000;
        this.grid = grid;
        this.cache = cache;
        this.boxIterator = boxIterator;
        this.maxTableWidth = avaliableSpacing;
        this.percentBaseWidth = Math.max(0, avaliableSpacing - this.currCache.indent.asNumberNoPercentType(class_unit_converter/* UnitConverter */.u.twipsToPixelsF));
        const intervals = calculator/* Calculator */.y.getIntervals(this.table);
        if (utils_list.ListUtils.unsafeAnyOf(intervals, (c) => c.colSpan != 1))
            throw new Error(errors/* Errors */.D.InternalException);
        this.columns = utils_list.ListUtils.map(intervals, this.makeInterval);
        this.applyCellsWidth(intervals);
        this.autofitTable();
    }
    convertTableWidthUnitToTwips(value) {
        if (value.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
            return value.value;
        if (value.type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return value.value * class_unit_converter/* UnitConverter */.u.pixelsToTwipsF(this.percentBaseWidth) / this.maxPercentWidth;
        return 0;
    }
    getFixedTableWidthInTwips() {
        if (this.currCache.preferredWidth.type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent)
            return this.convertTableWidthUnitToTwips(this.currCache.indent) + this.convertTableWidthUnitToTwips(this.currCache.preferredWidth);
        return this.convertTableWidthUnitToTwips(this.currCache.preferredWidth);
    }
    calculateEstimatedTableWidth() {
        let count = this.columns.length;
        let result = 0;
        let totalPercentWidth = 0;
        let totalNoPercentWidth = 0;
        for (let i = 0; i < count; i++) {
            const column = this.columns[i];
            const contentWidth = Math.max(column.bounds.maxElement, column.bounds.minElement);
            if (column.isPercentBased && column.percentValue > 0) {
                result = Math.max(contentWidth * this.maxPercentWidth / column.percentValue, result);
                totalPercentWidth += column.percentValue;
            }
            else {
                totalNoPercentWidth += contentWidth;
            }
        }
        if (totalNoPercentWidth == 0 && totalPercentWidth > 0)
            return result;
        const restTotalPercent = this.maxPercentWidth - totalPercentWidth;
        if (restTotalPercent <= 0)
            return this.maxTableWidth;
        result = Math.max(totalNoPercentWidth * this.maxPercentWidth / restTotalPercent, result);
        return Math.min(result, this.maxTableWidth);
    }
    getColumns() {
        return new Columns(this.columns);
    }
    autofitTable() {
        const estimatedTableWidth = this.currCache.isFixedTableWidth
            ? class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.getFixedTableWidthInTwips()) : this.calculateEstimatedTableWidth();
        let count = this.columns.length;
        let restEstimatedWidth = estimatedTableWidth;
        let totalMaxWidthNoSet = 0;
        let totalMinWidthNoSet = 0;
        let totalModelUnit = 0;
        let totalMinWidthModelUnit = 0;
        let totalPercent = 0;
        for (let i = 0; i < count; i++) {
            const column = this.columns[i];
            if (column.isPercentBased && column.percentValue > 0) {
                totalPercent += column.percentValue;
            }
            else if (!column.isPercentBased && column.preferredWidth > 0) {
                totalModelUnit += column.preferredWidth;
                totalMinWidthModelUnit += column.bounds.minElement;
            }
            else {
                totalMaxWidthNoSet += column.bounds.maxElement;
                totalMinWidthNoSet += column.bounds.minElement;
            }
        }
        restEstimatedWidth = this.autofitPercentWidthColumns(estimatedTableWidth, totalPercent, totalModelUnit != 0 || totalMinWidthNoSet != 0);
        restEstimatedWidth = this.autofitModelUnitWidthColumns(restEstimatedWidth, totalModelUnit, totalMinWidthModelUnit, totalMinWidthNoSet);
        this.autofitNoSetWidthColumns(restEstimatedWidth, totalMinWidthNoSet, totalMaxWidthNoSet);
        for (let i = 0; i < count; i++) {
            const column = this.columns[i];
            column.width = Math.max(column.width, column.bounds.minElement);
        }
        this.autofitTail(GridColumnBase.totalWidth(this.columns), estimatedTableWidth);
    }
    autofitNoSetWidthColumns(restEstimatedWidth, totalMinWidthNoSet, totalMaxWidthNoSet) {
        if (restEstimatedWidth > 0) {
            const overflow = totalMaxWidthNoSet - restEstimatedWidth;
            const restWidthForCompress = totalMaxWidthNoSet - totalMinWidthNoSet;
            if (overflow > 0 && restWidthForCompress > overflow)
                this.compressWidthProportionallyOfDifferenceMaxAndMinWidth(overflow, restWidthForCompress, (column) => column.isPercentBased || column.preferredWidth > 0);
            else
                this.enlargeWidthProportionallyMaxWidth(totalMaxWidthNoSet, restEstimatedWidth, (column) => !column.isPercentBased && column.preferredWidth == 0);
        }
    }
    compressWidthProportionallyOfDifferenceMaxAndMinWidth(totalDelta, rest, condition) {
        for (let i = this.columns.length - 1; i >= 0 && totalDelta > 0 && rest > 0; i--) {
            const column = this.columns[i];
            if (condition(column))
                continue;
            const delta = (column.bounds.maxElement - column.bounds.minElement) * totalDelta / rest;
            column.width = column.bounds.maxElement - delta;
            rest -= column.bounds.maxElement - column.bounds.minElement;
            totalDelta -= delta;
        }
    }
    autofitPercentWidthColumns(estimatedTableWidth, totalPercent, hasOtherTypeColumns) {
        if (totalPercent <= 0)
            return estimatedTableWidth;
        let restTotalPercent = Math.min(this.maxPercentWidth, totalPercent);
        let restEstimatedWidth = estimatedTableWidth;
        if (hasOtherTypeColumns)
            restTotalPercent = this.maxPercentWidth;
        utils_list.ListUtils.forEach(this.columns, (column) => {
            const columnPercentValue = Math.min(restTotalPercent, column.percentValue);
            if (column.percentValue && column.percentValue > 0 && restTotalPercent > 0) {
                column.width = Math.max(restEstimatedWidth * columnPercentValue / restTotalPercent, column.bounds.minElement);
                restEstimatedWidth -= column.width;
                restTotalPercent -= columnPercentValue;
            }
        });
        return restEstimatedWidth;
    }
    autofitModelUnitWidthColumns(restEstimatedWidth, totalModelUnit, totalMinWidthModelUnit, totalMinWidthNoSet) {
        if (totalModelUnit <= 0)
            return restEstimatedWidth;
        if (restEstimatedWidth > 0) {
            const overflow = totalModelUnit - restEstimatedWidth + totalMinWidthNoSet;
            const restWidthForCompress = totalModelUnit - totalMinWidthModelUnit;
            if (overflow > 0 && restWidthForCompress > overflow)
                this.compressWidthProportionallyOfDifferencePreferredWidthAndMinWidth(overflow, restWidthForCompress, true);
            else if (totalMinWidthNoSet != 0)
                this.applyPrefferedWidth();
            else
                this.enlargeWidthProportionallyMaxWidth(totalModelUnit, restEstimatedWidth, (column) => !column.isPercentBased && column.preferredWidth > 0);
        }
        return restEstimatedWidth - totalModelUnit;
    }
    applyPrefferedWidth() {
        utils_list.ListUtils.forEach(this.columns, (column) => {
            if (!column.isPercentBased && column.preferredWidth > 0)
                column.width = column.preferredWidth;
        });
    }
    compressWidthProportionallyOfDifferencePreferredWidthAndMinWidth(totalDelta, rest, ignorePercent = false) {
        for (let i = this.columns.length - 1; i >= 0 && totalDelta > 0 && rest > 0; i--) {
            const column = this.columns[i];
            if (column.preferredWidth > 0 && (!ignorePercent || !column.isPercentBased)) {
                const delta = (column.preferredWidth - column.bounds.minElement) * totalDelta / rest;
                column.width = Math.max(column.preferredWidth - delta, GridCalculator.minColumnWidth);
                rest -= column.preferredWidth - column.bounds.minElement;
                totalDelta -= delta;
            }
        }
    }
    enlargeWidthProportionallyMaxWidth(totalMaxWidth, rest, condition) {
        utils_list.ListUtils.forEach(this.columns, (column) => {
            if (condition(column) && totalMaxWidth > 0) {
                column.width = rest * column.bounds.maxElement / totalMaxWidth;
                rest -= column.width;
                totalMaxWidth -= column.bounds.maxElement;
            }
        });
    }
    compressTableGrid(newTableWidth) {
        const startIndex = 0;
        const endIndex = this.columns.length - 1;
        const deltas = [];
        let deltasTotalWidth = 0;
        let initialTableWidth = 0;
        for (let i = startIndex; i <= endIndex; i++) {
            initialTableWidth += this.columns[i].width;
            const delta = Math.max(this.columns[i].width - this.columns[i].bounds.minElement, 0);
            deltas.push(delta);
            deltasTotalWidth += delta;
        }
        const deltaTableWidth = initialTableWidth - newTableWidth;
        if (deltasTotalWidth > deltaTableWidth)
            this.compressProportionallyWidthCore(deltas, deltasTotalWidth, deltaTableWidth);
        else {
            for (let i = startIndex; i <= endIndex; i++)
                this.columns[i].width -= deltas[i];
            this.changeColumnsProportionally(startIndex, endIndex, initialTableWidth - deltasTotalWidth, newTableWidth);
        }
    }
    compressProportionallyWidthCore(items, totalItemsWidth, deltaTableWidth) {
        const colCount = this.columns.length;
        if (totalItemsWidth == 0) {
            let rest = deltaTableWidth;
            totalItemsWidth = colCount;
            for (let i = 0; i < colCount; i++) {
                const delta = (i != colCount - 1) ? deltaTableWidth / totalItemsWidth : rest;
                this.columns[i].width = Math.max(this.columns[i].width - delta, 0);
                rest -= delta;
            }
            return;
        }
        for (let i = 0; i < colCount; i++) {
            const delta = deltaTableWidth * items[i] / totalItemsWidth;
            this.columns[i].width -= delta;
            deltaTableWidth -= delta;
            totalItemsWidth -= items[i];
            if (totalItemsWidth == 0) {
                break;
            }
        }
    }
    changeColumnsProportionally(startIndex, endIndex, initialWidth, newWidth) {
        const deltaTableWidth = Math.abs(newWidth - initialWidth);
        let rest = deltaTableWidth;
        for (let i = startIndex; i <= endIndex; i++) {
            const delta = (i != endIndex) ? this.columns[i].width * deltaTableWidth / initialWidth : rest;
            if (initialWidth > newWidth)
                this.columns[i].width = Math.max(GridCalculator.minColumnWidth, this.columns[i].width - delta);
            else
                this.columns[i].width += delta;
            rest -= delta;
        }
    }
}
GridCalculator.minColumnWidth = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(1);

// EXTERNAL MODULE: ./src/common/layout-formatter/table/grid-engine/grid.ts
var grid_engine_grid = __webpack_require__(8115);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/table-width-calculators/table-width-calculator.ts







class TableWidthCalculator {
    constructor(subDocument, boxIterator, cache, table, avaliableSpacing) {
        this.containsCellsMergedByHorizontal = false;
        this.table = table;
        this.map = {};
        const grid = new grid_engine_grid/* Grid */.r(this.table);
        const pos = new main_structures_table/* TablePosition */.TR(this.table, -1, -1);
        while (pos.moveToNextRow())
            while (pos.moveToNextCell()) {
                const cellWidth = new TableCellWidthCalculator(subDocument, boxIterator, grid, cache, pos, avaliableSpacing).cellWidth();
                this.register(new CellHorizontalBoundsInfo(new CellHorizontalBounds(grid.tableCellInfos[pos.rowIndex][pos.cellIndex].getGridCellIndex(), pos.cell.columnSpan), cellWidth));
            }
    }
    register(info) {
        const key = info.pos.columnIndex * 250 + info.pos.span;
        const existingCellInfo = this.map[key];
        if (existingCellInfo)
            updateMinMaxBounds(existingCellInfo.info, info.info);
        else
            this.map[key] = info;
        if (!this.containsCellsMergedByHorizontal)
            this.containsCellsMergedByHorizontal = info.pos.span > 1;
    }
    tableWidth() {
        if (!this.containsCellsMergedByHorizontal) {
            let min = 0;
            let max = 0;
            number/* NumberMapUtils */.j.forEach(this.map, (value) => {
                min += value.info.minElement;
                max += value.info.maxElement;
            });
            return new min_max.MinMaxNumber(min, max);
        }
        let list = number/* NumberMapUtils */.j.toList(this.map);
        list = list.sort((a, b) => {
            const diffByColumns = a.pos.columnIndex - b.pos.columnIndex;
            return diffByColumns ? diffByColumns : a.pos.span - b.pos.span;
        });
        const summaryListLength = list.length;
        const summary = utils_list.ListUtils.initByCallback(summaryListLength + 1, () => new min_max.MinMaxNumber(0, 0));
        for (let info of list) {
            const existingSummary = summary[info.pos.columnIndex];
            const newSummary = new min_max.MinMaxNumber(existingSummary.minElement + info.info.minElement, existingSummary.maxElement + info.info.maxElement);
            for (let i = info.pos.endColumnIndex; i < summaryListLength; i++) {
                const oldSummary = summary[i];
                if (oldSummary.minElement > newSummary.minElement && oldSummary.maxElement > newSummary.maxElement)
                    break;
                updateMinMaxBounds(oldSummary, newSummary);
            }
            ;
        }
        return summary[summaryListLength - 1];
    }
}
class CellHorizontalBounds {
    constructor(columnIndex, span) {
        this.columnIndex = columnIndex;
        this.span = span;
    }
    get endColumnIndex() { return this.columnIndex + this.span; }
}
class CellHorizontalBoundsInfo {
    constructor(pos, info) {
        this.pos = pos;
        this.info = info;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/table-width-calculators/table-cell-width-calculator.ts










class TableCellWidthCalculator {
    constructor(subDocument, boxIterator, grid, cache, pos, percentBaseWidth) {
        this.subDocument = subDocument;
        this.boxIterator = boxIterator;
        this.cache = cache;
        this.pos = pos;
        this.percentBaseWidth = percentBaseWidth;
        this.grid = grid;
    }
    cellWidth() {
        const currCache = this.cache[this.grid.table.index];
        const info = this.grid.tableCellInfos[this.pos.rowIndex][this.pos.cellIndex];
        if (this.pos.cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue)
            return currCache.rows[info.getStartRowIndex()].cells[info.getCellIndexAbs(info.getStartRowIndex())].contentWidthsInfo;
        const table = this.pos.table;
        const cellStartRowIndex = info.getStartRowIndex();
        this.pos = new main_structures_table/* TablePosition */.TR(table, cellStartRowIndex, info.getCellIndexAbs(cellStartRowIndex)).init();
        const cellCache = currCache.rows[this.pos.rowIndex].cells[this.pos.cellIndex];
        const horizontalBorders = cellCache.leftBorderWidth + cellCache.rightBorderWidth;
        const cellPreferredWidth = this.pos.cell.preferredWidth;
        const cellPreferredWidthValue = cellPreferredWidth.asNumber(this.percentBaseWidth, class_unit_converter/* UnitConverter */.u.twipsToPixelsF);
        if (currCache.layoutType == table_base_structures/* TableLayoutType */.DX.Fixed) {
            const outerWidth = cellCache.horizontalMargins + cellCache.spacing + horizontalBorders;
            const result = Math.max(outerWidth, cellPreferredWidthValue);
            return cellCache.contentWidthsInfo = new min_max.MinMaxNumber(result, result);
        }
        else {
            let contentWidths = this.cellWidthCore(this.pos);
            if (cellCache.noWrap && cellPreferredWidth.type != table_units/* TableWidthUnitType */.HO.ModelUnits) {
                const maxWidth = Math.max(contentWidths.minElement, contentWidths.maxElement);
                contentWidths = new min_max.MinMaxNumber(maxWidth, maxWidth);
            }
            let resultMinWidth = contentWidths.minElement + cellCache.horizontalMargins + cellCache.spacing + horizontalBorders;
            if (cellCache.noWrap && cellPreferredWidth.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
                resultMinWidth = Math.max(cellPreferredWidthValue, resultMinWidth);
            resultMinWidth = Math.min(constants.Constants.MAX_SAFE_INTEGER, resultMinWidth);
            let resultMaxWidth = contentWidths.maxElement + cellCache.horizontalMargins + cellCache.spacing + horizontalBorders;
            if (cellPreferredWidth.type == table_units/* TableWidthUnitType */.HO.ModelUnits)
                resultMaxWidth = Math.max(resultMinWidth, cellPreferredWidthValue);
            resultMaxWidth = Math.min(constants.Constants.MAX_SAFE_INTEGER, resultMaxWidth);
            return cellCache.contentWidthsInfo = new min_max.MinMaxNumber(resultMinWidth, resultMaxWidth);
        }
    }
    getTableWidth(table, percentBaseWidth) {
        const tablePreferredWidth = table.preferredWidth;
        const tableIndent = table.getActualTableIndent(this.subDocument.documentModel.defaultTableProperties);
        const result = new TableWidthCalculator(this.subDocument, this.boxIterator, this.cache, table, 0).tableWidth();
        if (tablePreferredWidth.type != table_units/* TableWidthUnitType */.HO.Nil && tablePreferredWidth.type != table_units/* TableWidthUnitType */.HO.Auto) {
            const tableWidth = tablePreferredWidth.asNumber(percentBaseWidth, class_unit_converter/* UnitConverter */.u.twipsToPixelsF) +
                tableIndent.asNumber(percentBaseWidth, class_unit_converter/* UnitConverter */.u.twipsToPixelsF);
            updateMinMaxBounds(result, new min_max.MinMaxNumber(tableWidth, tableWidth));
        }
        return result;
    }
    getInnerTables(pos) {
        var _a;
        const lowerLevelIndex = pos.table.nestedLevel + 1;
        const tables = this.boxIterator.subDocument.tablesByLevels[lowerLevelIndex];
        return (_a = tables === null || tables === void 0 ? void 0 : tables.filter(table => table.parentCell === pos.cell)) !== null && _a !== void 0 ? _a : [];
    }
    cellWidthCore(pos) {
        const subDocument = this.boxIterator.subDocument;
        const paragraphs = subDocument.paragraphs;
        let minMax = new min_max.MinMaxNumber(0, 0);
        const innerTables = this.getInnerTables(pos);
        for (let tbl of innerTables)
            updateMinMaxBounds(minMax, this.getTableWidth(tbl, 0));
        for (let interval of algorithms.IntervalAlgorithms.reflectIntervals(utils_list.ListUtils.map(innerTables, (t) => t.interval), pos.cell.interval)) {
            const firstParInd = subDocument.getParagraphIndexByPosition(interval.start);
            const intervalEnd = interval.end;
            for (let parInd = firstParInd, par; (par = paragraphs[parInd]) && (par.startLogPosition.value < intervalEnd); parInd++)
                updateMinMaxBounds(minMax, this.boxIterator.getParagraphBounds(parInd));
        }
        return minMax;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/grid-calculator-auto.ts








class GridCalculatorAuto extends GridCalculator {
    makeInterval(interval) {
        return new ColumnIntervalAuto(interval);
    }
    applyCellsWidth(_intervals) {
        this.calcCacheCellWidths();
        this.applyCellContentWidth();
    }
    autofitTail(totalWidth, estimatedTableWidth) {
        if (this.currCache.layoutType == table_base_structures/* TableLayoutType */.DX.Fixed)
            return;
        const totalMinWidth = GridColumnBase.totalMinWidth(this.columns);
        let maxPermissibleTableWidth = totalMinWidth;
        if (estimatedTableWidth <= this.percentBaseWidth)
            maxPermissibleTableWidth = Math.min(maxPermissibleTableWidth, this.percentBaseWidth);
        maxPermissibleTableWidth = Math.max(estimatedTableWidth, maxPermissibleTableWidth);
        if (!this.currCache.isFixedTableWidth)
            maxPermissibleTableWidth = Math.min(this.percentBaseWidth, maxPermissibleTableWidth);
        if (totalWidth > maxPermissibleTableWidth) {
            if (maxPermissibleTableWidth > totalMinWidth) {
                this.compressTableGrid(maxPermissibleTableWidth);
            }
            else {
                this.compressProportionallyMinWidth(maxPermissibleTableWidth, totalMinWidth);
            }
        }
    }
    compressProportionallyMinWidth(totalWidth, rest) {
        for (let i = 0; i < this.columns.length; i++) {
            const column = this.columns[i];
            const newColumnWidth = rest > 0 ? Math.max(column.bounds.minElement * totalWidth / rest, GridCalculator.minColumnWidth) : GridCalculator.minColumnWidth;
            column.width = newColumnWidth;
            totalWidth -= newColumnWidth;
            rest -= column.bounds.minElement;
        }
    }
    calcCacheCellWidths() {
        const pos = new main_structures_table/* TablePosition */.TR(this.table, -1, -1);
        while (pos.moveToNextRow())
            while (pos.moveToNextCell())
                new TableCellWidthCalculator(this.subDocument, this.boxIterator, this.grid, this.cache, pos, this.percentBaseWidth).cellWidth();
    }
    applyCellContentWidth() {
        const pos = new main_structures_table/* TablePosition */.TR(this.table, -1, -1);
        while (pos.moveToNextRow()) {
            let columnIndex = pos.row.gridBefore;
            while (pos.moveToNextCell()) {
                if (pos.cell.columnSpan == 1)
                    this.applyCellContentWidthWithoutSpan(this.columns, pos, columnIndex);
                columnIndex += pos.cell.columnSpan;
            }
        }
        for (let column of this.columns) {
            if (column.bounds.minElement == 0 && column.bounds.maxElement == 0) {
                if (column.isPercentBased)
                    column.bounds.minElement = column.bounds.maxElement = 1;
                else
                    column.bounds.minElement = column.bounds.maxElement = Math.max(1, column.width);
            }
        }
        pos.initIndexes(-1, -1);
        while (pos.moveToNextRow()) {
            let columnIndex = pos.row.gridBefore;
            while (pos.moveToNextCell()) {
                if (pos.cell.columnSpan > 1)
                    this.applyCellContentWidthWithSpan(this.columns, pos, columnIndex);
                columnIndex += pos.cell.columnSpan;
            }
        }
        for (let column of this.columns)
            column.width = column.bounds.maxElement = Math.max(column.bounds.maxElement, GridCalculator.minColumnWidth);
    }
    applyCellContentWidthWithoutSpan(columns, pos, columnIndex) {
        const cellCache = this.currCache.rows[pos.rowIndex].cells[pos.cellIndex];
        const info = cellCache.contentWidthsInfo;
        const cellMinWidth = Math.max(GridCalculator.minColumnWidth, info.minElement);
        let cellMaxWidth = Math.max(GridCalculator.minColumnWidth, info.maxElement);
        const column = columns[columnIndex];
        column.updateMinBound(cellMinWidth);
        column.updateMaxBound(cellMaxWidth);
        column.totalHorizontalMargins = Math.max(column.totalHorizontalMargins, cellCache.horizontalMargins);
        const preferredWidth = pos.cell.preferredWidth;
        const cellWidthType = preferredWidth.type;
        if (cellWidthType == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent) {
            if (preferredWidth.value > 0) {
                column.type = table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent;
                const percentWidth = Math.min(this.maxPercentWidth, preferredWidth.value);
                column.percentValue = Math.max(percentWidth, column.percentValue);
            }
            else if (this.currCache.isFixedTableWidth) {
                this.applyPreferredWidth(column, cellMinWidth, 0);
            }
        }
        else if (cellWidthType == table_units/* TableWidthUnitType */.HO.ModelUnits)
            this.applyPreferredWidth(column, cellMinWidth, preferredWidth.asNumber(this.percentBaseWidth, class_unit_converter/* UnitConverter */.u.twipsToPixels));
    }
    applyPreferredWidth(column, cellMinWidth, preferredWidth) {
        preferredWidth = Math.max(cellMinWidth, preferredWidth);
        column.preferredWidth = Math.max(column.preferredWidth, preferredWidth);
        column.updateMaxBound(column.preferredWidth);
    }
    applyCellContentWidthWithSpan(columns, pos, startColumnIndex) {
        const endColumnIndex = startColumnIndex + pos.cell.columnSpan - 1;
        const nextEndColumnIndex = endColumnIndex + 1;
        const cellCache = this.currCache.rows[pos.rowIndex].cells[pos.cellIndex];
        const info = cellCache.contentWidthsInfo;
        const cellMinWidth = Math.max(GridCalculator.minColumnWidth, info.minElement);
        let cellMaxWidth = Math.max(GridCalculator.minColumnWidth, info.maxElement);
        const preferredWidth = pos.cell.preferredWidth;
        const lastColumn = this.columns[endColumnIndex];
        if (preferredWidth.type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent) {
            const totalPercent = GridColumnBase.totalPercentWidth(this.columns, startColumnIndex, nextEndColumnIndex);
            const currrentPercentValue = Math.min(this.maxPercentWidth, preferredWidth.value);
            if (utils_list.ListUtils.allOf(this.columns, (col) => col.isPercentBased, startColumnIndex, nextEndColumnIndex)) {
                const totalBefore = GridColumnBase.totalPercentWidth(this.columns, startColumnIndex, endColumnIndex);
                lastColumn.percentValue = Math.max(currrentPercentValue - totalBefore, lastColumn.percentValue);
            }
            else if (totalPercent > 0) {
                const percentRest = Math.max(0, currrentPercentValue - totalPercent);
                let totaNoPercentMaxWidth = 0;
                utils_list.ListUtils.forEach(this.columns, (col) => {
                    if (!col.isPercentBased)
                        totaNoPercentMaxWidth += col.bounds.maxElement;
                }, startColumnIndex, nextEndColumnIndex);
                utils_list.ListUtils.forEach(this.columns, (col) => {
                    if (!col.isPercentBased) {
                        col.percentValue = Math.max(1, percentRest * col.bounds.maxElement / totaNoPercentMaxWidth);
                        col.type = table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent;
                    }
                }, startColumnIndex, nextEndColumnIndex);
            }
        }
        else if (preferredWidth.type == table_units/* TableWidthUnitType */.HO.ModelUnits) {
            let preferredWidthValue = preferredWidth.asNumber(this.percentBaseWidth, class_unit_converter/* UnitConverter */.u.twipsToPixelsF);
            preferredWidthValue = Math.max(cellMinWidth, preferredWidthValue);
            cellMaxWidth = preferredWidthValue;
            if (utils_list.ListUtils.allOf(this.columns, (col) => { return !col.isPercentBased && col.preferredWidth > 0; }, startColumnIndex, nextEndColumnIndex)) {
                const totalMaxWidthBefore = GridColumnBase.totalMaxWidth(this.columns, startColumnIndex, endColumnIndex);
                lastColumn.preferredWidth = Math.max(lastColumn.preferredWidth, preferredWidthValue - totalMaxWidthBefore);
                lastColumn.updateMaxBound(lastColumn.preferredWidth);
                const gridMinWidth = GridColumnBase.totalMinWidth(this.columns, startColumnIndex, nextEndColumnIndex);
                if (cellMinWidth > gridMinWidth)
                    this.enlargeColumnsMinWidthByPreferredWidth(startColumnIndex, endColumnIndex, cellMinWidth, preferredWidthValue);
                return;
            }
        }
        const gridMinWidth = ColumnIntervalAuto.totalMinWidth(columns, startColumnIndex, nextEndColumnIndex);
        if (cellMinWidth > gridMinWidth)
            this.enlargeColumnsMinWidth(columns, startColumnIndex, nextEndColumnIndex, cellMinWidth);
        const gridMaxWidth = ColumnIntervalAuto.totalMaxWidth(columns, startColumnIndex, nextEndColumnIndex);
        if (cellMaxWidth > gridMaxWidth)
            this.enlargeColumnsMaxWidth(columns, startColumnIndex, nextEndColumnIndex, gridMaxWidth, cellMaxWidth);
        const gridTotalMargins = ColumnIntervalAuto.totalHorizontalMargins(columns, startColumnIndex, nextEndColumnIndex);
        if (cellCache.horizontalMargins > gridTotalMargins)
            this.enlargeColumnsHorizontalMargins(columns, startColumnIndex, nextEndColumnIndex, gridTotalMargins, cellCache.horizontalMargins);
    }
    enlargeColumnsMinWidthByPreferredWidth(startColumnIndex, endColumnIndex, cellMinWidth, totalPreferredWidth) {
        let restMinWidth = cellMinWidth;
        let restTotalPreferredWidth = totalPreferredWidth;
        for (let i = endColumnIndex; i >= startColumnIndex; i--) {
            const column = this.columns[i];
            if (column.preferredWidth > 0 && restTotalPreferredWidth > 0) {
                column.bounds.minElement = column.preferredWidth * restMinWidth / restTotalPreferredWidth;
                column.updateMaxBound(column.bounds.minElement);
                restMinWidth -= column.bounds.minElement;
                restTotalPreferredWidth -= column.preferredWidth;
            }
        }
    }
    enlargeColumnsHorizontalMargins(columns, startColumnIndex, endColumnIndex, oldWidth, newWidth) {
        const equalSpace = oldWidth == 0;
        let totalDelta = newWidth - oldWidth;
        let totalCount = endColumnIndex - startColumnIndex + 1;
        for (let i = endColumnIndex - 1, column; (column = columns[i]) && totalDelta > 0; i--) {
            const delta = equalSpace ? totalDelta / totalCount : totalDelta * column.totalHorizontalMargins / oldWidth;
            totalDelta -= delta;
            oldWidth -= column.totalHorizontalMargins;
            column.totalHorizontalMargins += delta;
            totalCount--;
        }
    }
    enlargeColumnsMinWidth(columns, startColumnIndex, endColumnIndex, newWidth) {
        const hasColumnsWithoutPreferredWidth = ColumnIntervalAuto.hasColumnsWithoutPreferredWidth(columns, startColumnIndex, endColumnIndex);
        let zeroMinWidthCount = 0;
        let existingMinWidth = 0;
        utils_list.ListUtils.forEach(columns, (column) => {
            if (column.bounds.minElement == 0 && column.bounds.maxElement == 0)
                zeroMinWidthCount++;
            else
                existingMinWidth += column.bounds.minElement;
        }, startColumnIndex, endColumnIndex);
        let rest = ColumnIntervalAuto.totalMaxWidth(columns, startColumnIndex, endColumnIndex) +
            ColumnIntervalAuto.totalMinWidth(columns, startColumnIndex, endColumnIndex);
        const equalSpace = rest == 0;
        if (equalSpace || zeroMinWidthCount > 0) {
            rest = endColumnIndex - startColumnIndex;
            newWidth -= existingMinWidth;
        }
        utils_list.ListUtils.reverseForEach(columns, (column) => {
            if (!hasColumnsWithoutPreferredWidth || column.preferredWidth == 0) {
                if (zeroMinWidthCount > 0 && (column.bounds.minElement > 0 || column.bounds.maxElement > 0))
                    return;
                const factor = (equalSpace || zeroMinWidthCount > 0) ? 1 : (column.bounds.minElement + column.bounds.maxElement);
                const newMinWidth = factor * newWidth / rest;
                rest -= factor;
                newWidth -= newMinWidth;
                column.updateMinBound(newMinWidth);
                column.updateMaxBound(column.bounds.minElement);
            }
        }, endColumnIndex - 1, startColumnIndex);
    }
    enlargeColumnsMaxWidth(columns, startColumnIndex, endColumnIndex, oldWidth, newWidth) {
        const allColumnsHavePreferredWidth = utils_list.ListUtils.allOf(columns, (col) => col.preferredWidth != 0, startColumnIndex, endColumnIndex);
        let rest = oldWidth;
        utils_list.ListUtils.reverseForEach(columns, (column) => {
            if (allColumnsHavePreferredWidth || column.preferredWidth == 0) {
                const newMaxWidth = rest != 0 ? column.bounds.maxElement * newWidth / rest : 0;
                rest -= column.bounds.maxElement;
                newWidth -= newMaxWidth;
                if (rest < 0)
                    rest = 0;
                if (newWidth < 0)
                    newWidth = 0;
                column.bounds.maxElement = Math.max(GridCalculator.minColumnWidth, newMaxWidth);
            }
        }, endColumnIndex - 1, startColumnIndex);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/grid-calculator-fixed.ts




class GridCalculatorFixed extends GridCalculator {
    makeInterval(interval) {
        return new ColumnIntervalFixed(interval);
    }
    autofitTail(totalWidth, estimatedTableWidth) {
        if (totalWidth.toFixed(this.accuracy) > estimatedTableWidth.toFixed(this.accuracy))
            this.compressTableGrid(estimatedTableWidth);
    }
    applyCellsWidth(intervals) {
        let totalPercentWidth = 0;
        let totalModelUnitWidth = 0;
        let unsetCount = 0;
        for (let i = 0; i < intervals.length; i++) {
            const interval = intervals[i];
            switch (interval.type) {
                case table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent:
                    totalPercentWidth += interval.width;
                    if (totalPercentWidth > this.maxPercentWidth) {
                        interval.width = Math.max(0, this.maxPercentWidth - totalPercentWidth + interval.width);
                        totalPercentWidth = this.maxPercentWidth;
                    }
                    break;
                case table_units/* TableWidthUnitType */.HO.ModelUnits:
                    totalModelUnitWidth += interval.width;
                    break;
                case table_units/* TableWidthUnitType */.HO.Auto:
                case table_units/* TableWidthUnitType */.HO.Nil:
                    unsetCount++;
                    break;
            }
        }
        let tableWidth = this.getFixedTableWidthInTwips();
        let totalPercentWidthInModelUnit = tableWidth;
        if (totalModelUnitWidth != 0 || unsetCount != 0)
            totalPercentWidthInModelUnit = tableWidth * totalPercentWidth / this.maxPercentWidth;
        let restModelUnitWidth = tableWidth;
        if (totalPercentWidthInModelUnit > 0)
            restModelUnitWidth = Math.min(tableWidth - totalPercentWidthInModelUnit, totalModelUnitWidth);
        let restForUnsetColumns = tableWidth - totalModelUnitWidth - totalPercentWidthInModelUnit;
        for (let i = 0; i < intervals.length; i++) {
            const gridColumn = this.columns[i];
            const interval = intervals[i];
            let width = 0;
            switch (interval.type) {
                case table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent:
                    gridColumn.type = table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent;
                    gridColumn.percentValue = interval.width;
                    width = totalPercentWidthInModelUnit * interval.width / totalPercentWidth;
                    break;
                case table_units/* TableWidthUnitType */.HO.ModelUnits:
                    if (interval.width > 0) {
                        width = restModelUnitWidth * interval.width / totalModelUnitWidth;
                        restModelUnitWidth -= width;
                        totalModelUnitWidth -= interval.width;
                    }
                    break;
                case table_units/* TableWidthUnitType */.HO.Auto:
                case table_units/* TableWidthUnitType */.HO.Nil:
                    width = restForUnsetColumns / unsetCount;
                    restForUnsetColumns -= width;
                    unsetCount--;
                    break;
            }
            width = Math.max(GridCalculator.minColumnWidth, width);
            width = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(width);
            gridColumn.updateMinBound(width);
            gridColumn.updateMaxBound(width);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/calculators/table-properties-cache.ts







class TablePropertiesCache {
    get isFixedTableWidth() {
        const type = this.preferredWidth.type;
        return type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent || type == table_units/* TableWidthUnitType */.HO.ModelUnits;
    }
    get isFixedAlgoritm() {
        return this.layoutType == table_base_structures/* TableLayoutType */.DX.Fixed && this.isFixedTableWidth;
    }
    constructor(model, table, grid, innerClientProperties) {
        this.borderProvider = new border_helper/* TableBorderInfoProvider */.b(model, table, class_unit_converter/* UnitConverter */.u.twipsToPixels);
        this.indent = table.getActualTableIndent(model.defaultTableProperties);
        if (innerClientProperties.viewsSettings.isSimpleView && table.nestedLevel == 0 && this.indent.value < 0) {
            this.indent = this.indent.clone();
            this.indent.value = 0;
        }
        this.layoutType = table.getActualTableLayout(model.defaultTableProperties);
        this.preferredWidth = this.getActualPreferredWidth(table);
        const pos = new main_structures_table/* TablePosition */.TR(table, -1, -1);
        this.rows = [];
        while (pos.moveToNextRow())
            this.rows.push(new TableRowPropertiesCache(model, this.borderProvider, pos, this.rows, grid));
    }
    getActualPreferredWidth(table) {
        let result = table.preferredWidth;
        if (result.type == table_units/* TableWidthUnitType */.HO.ModelUnits && result.value == 0)
            result = table_units/* TableWidthUnit */.CT.createDefault();
        return result;
    }
}
class TableRowPropertiesCache {
    constructor(model, tblBrdProv, pos, rows, grid) {
        this.cells = [];
        while (pos.moveToNextCell()) {
            if (pos.cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue) {
                const cellInfo = grid.tableCellInfos[pos.rowIndex][pos.cellIndex];
                const rowIndex = cellInfo.getStartRowIndex();
                this.cells.push(rows[rowIndex].cells[cellInfo.getCellIndexAbs(rowIndex)]);
            }
            else
                this.cells.push(new TableCellPropertiesCache(model, tblBrdProv, pos));
        }
    }
}
class TableCellPropertiesCache {
    constructor(model, tblBrdProv, pos) {
        const tableStyle = pos.table.style;
        const defCellProps = model.defaultTableCellProperties;
        this.noWrap = new table_cell_properties_merger/* TableCellPropertiesMergerNoWrap */.x$().getProperty(pos.cell.properties, tableStyle, pos.cell.conditionalFormatting, defCellProps);
        this.horizontalMargins =
            Formatter.getCellMargin(pos.cell.getActualLeftCellMargin(model)) +
                Formatter.getCellMargin(pos.cell.getActualRightCellMargin(model));
        this.leftBorderWidth = border_helper/* BorderHelper */.l.getLeftBorder(model.colorProvider, pos, pos.row.cells[pos.cellIndex - 1], tblBrdProv, class_unit_converter/* UnitConverter */.u.twipsToPixels).width;
        this.rightBorderWidth = border_helper/* BorderHelper */.l.getRightBorder(model.colorProvider, pos, pos.row.cells[pos.cellIndex + 1], tblBrdProv, class_unit_converter/* UnitConverter */.u.twipsToPixels).width;
        this.spacing = tblBrdProv.cellSpacings[pos.rowIndex] *
            ((pos.cell.parentRow.gridBefore == 0 && pos.cellIndex == 0) ||
                (pos.cell.parentRow.gridAfter == 0 && pos.cellIndex == pos.row.cells.length - 1) ?
                3 : 2);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/creator.ts




function createGrid(table, boxIterator, avaliableSpacing, innerClientProperties) {
    const subDocument = boxIterator.subDocument;
    const grid = new grid_engine_grid/* Grid */.r(table);
    const cache = {};
    cache[table.index] = new TablePropertiesCache(subDocument.documentModel, table, grid, innerClientProperties);
    const endPos = table.getEndPosition();
    for (let i = table.index + 1, innerTable; (innerTable = subDocument.tables[i]) && innerTable.getStartPosition() < endPos; i++)
        cache[innerTable.index] = new TablePropertiesCache(subDocument.documentModel, innerTable, new grid_engine_grid/* Grid */.r(innerTable), innerClientProperties);
    const currentCache = cache[table.index];
    grid.columns = new (currentCache.isFixedAlgoritm ? GridCalculatorFixed : GridCalculatorAuto)(grid, cache, boxIterator, avaliableSpacing)
        .getColumns();
    return grid;
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/info/cell-info.ts








class CellInfo {
    getContentModelPosition(maxNestedLevel) {
        const formatter = this.innerFormatter;
        return formatter && formatter.tableInfo.table.nestedLevel <= maxNestedLevel ?
            formatter.tableInfo.currCellInfo.getContentModelPosition(maxNestedLevel) : this.contentModelPosition;
    }
    get xContentInterval() {
        return this.actualCellInfo._xContentInterval;
    }
    get xInterval() {
        return this.actualCellInfo._xInterval;
    }
    get currLayoutRowContentWidth() {
        return this.innerFormatter ?
            this.innerFormatter.tableInfo.currCellInfo.currLayoutRowContentWidth :
            this.actualCellInfo.xContentInterval.length;
    }
    get nestedTableMaxWidth() {
        return this.actualCellInfo.xContentInterval.length;
    }
    getCurrLayoutRowOffset(considerInnerFormatter) {
        return (considerInnerFormatter && this.innerFormatter) ?
            this.innerFormatter.tableInfo.currCellInfo.getCurrLayoutRowOffset(true) :
            new geometry_point.Point(this.xContentInterval.start, this.currLayoutTableCellInfo.bottom);
    }
    get isSomeLayoutRowsPlaced() { return this.cell.startParagraphPosition.value != this.contentModelPosition; }
    get heightBeforeContent() { return this.actualCellInfo._heightBeforeContent; }
    get heightAfterContent() { return this.actualCellInfo._heightAfterContent; }
    get tableInfo() { return this.rowInfo.tableInfo; }
    get cell() { return this.rowInfo.row.cells[this.cellIndex]; }
    get isContendFullyPlaced() { return this.actualCellInfo._contentModelPosition == this.actualCellInfo.cell.endParagrapPosition.value; }
    get formattingSuspended() { return this._formattingSuspended; }
    get currLayoutTableCellInfo() { return this.actualCellInfo._currLayoutTableCellInfo; }
    get contentModelPosition() { return this.actualCellInfo._contentModelPosition; }
    get actualTableIndexes() {
        return new main_structures_table/* TablePositionIndexes */.o6(this.actualCellInfo.rowInfo.rowIndex, this.actualCellInfo.cellIndex);
    }
    get minBottomPosition() { return this.actualCellInfo._minBottomPosition; }
    get innerFormatter() { return this.actualCellInfo._innerFormatter; }
    set innerFormatter(val) { this.actualCellInfo._innerFormatter = val; }
    set isStartOnThisColumn(val) { this.actualCellInfo._isStartOnThisColumn = val; }
    set minBottomPosition(val) { this.actualCellInfo._minBottomPosition = Math.max(val, this.actualCellInfo._minBottomPosition); }
    get marginLeft() { return this.actualCellInfo._marginLeft; }
    get marginRight() { return this.actualCellInfo._marginRight; }
    constructor(cellIndex, rowInfo) {
        this._isStartOnThisColumn = false;
        this._formattingSuspended = false;
        this.cellIndex = cellIndex;
        this.rowInfo = rowInfo;
        this.actualCellInfo = this.getActuallCellInfo();
        this.init();
    }
    getActuallCellInfo() {
        if (this.cell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue)
            return this;
        const cellGridInfo = this.tableInfo.grid.tableCellInfos[this.rowInfo.rowIndex][this.cellIndex];
        return this.tableInfo.rows[cellGridInfo.getStartRowIndex()].cells[cellGridInfo.getCellIndex(0)];
    }
    cellFullyFormatted() {
        this.cellPartiallyFormatted(this.actualCellInfo.cell.endParagrapPosition.value);
    }
    cellPartiallyFormatted(endPos) {
        if (!this.formattingSuspended)
            this.actualCellInfo._contentModelPosition = endPos;
    }
    undoContentModelPosition() {
        this.actualCellInfo._contentModelPosition = this.actualCellInfo._savedContentModelPosition;
    }
    storeContentModelPosition() {
        this.actualCellInfo._savedContentModelPosition = this.actualCellInfo._contentModelPosition;
    }
    init() {
        const cell = this.cell;
        if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue) {
            this._xInterval = null;
            this._xContentInterval = null;
            this._heightBeforeContent = null;
            this._heightAfterContent = null;
            this._marginLeft = null;
            this._marginRight = null;
            this._savedContentModelPosition = this._contentModelPosition = null;
            return;
        }
        const rowIndex = this.rowInfo.rowIndex;
        const isFirstCellInRow = this.cellIndex == 0;
        const isLastCellInRow = this.rowInfo.row.cells.length - 1 == this.cellIndex;
        const cellInfo = this.tableInfo.grid.tableCellInfos[rowIndex][this.cellIndex];
        const rowCellSpacing = this.rowInfo.cellSpacing;
        this._marginLeft = Formatter.getCellMargin(cell.getActualLeftCellMargin(this.tableInfo.model));
        this._marginRight = Formatter.getCellMargin(cell.getActualRightCellMargin(this.tableInfo.model));
        const cellStartXPosition = this.tableInfo.xPositionStart +
            this.tableInfo.grid.columns.positions[cellInfo.getGridCellIndex()];
        const cellEndXPosition = this.tableInfo.xPositionStart +
            this.tableInfo.grid.columns.positions[cellInfo.getGridCellIndex() + cell.columnSpan];
        const verticalBordersCurrCell = this.tableInfo.verticalBorders[rowIndex][this.cellIndex];
        const brdCellLeft = verticalBordersCurrCell[rowCellSpacing > 0 && isFirstCellInRow ? 1 : 0];
        const cellStartContentXPosition = Math.max(cellStartXPosition + this._marginLeft +
            rowCellSpacing * (isFirstCellInRow ? 2 : 1), brdCellLeft.borderInfo ? this.tableInfo.xPositionStart + brdCellLeft.xPos + brdCellLeft.borderInfo.width : -Number.MAX_VALUE);
        let brdCellRight;
        if (rowCellSpacing > 0 || isLastCellInRow)
            brdCellRight = verticalBordersCurrCell[verticalBordersCurrCell.length - (rowCellSpacing > 0 && isLastCellInRow ? 2 : 1)];
        else
            brdCellRight = this.tableInfo.verticalBorders[rowIndex][this.cellIndex + 1][0];
        const cellEndContentXPosition = Math.min(cellEndXPosition -
            (this._marginRight + rowCellSpacing * (isLastCellInRow ? 2 : 1)), brdCellRight.borderInfo ? this.tableInfo.xPositionStart + brdCellRight.xPos : constants.Constants.MAX_SAFE_INTEGER);
        this._xInterval = fixed.FixedInterval.fromPositions(cellStartXPosition, cellEndXPosition);
        this._xContentInterval = fixed.FixedInterval.fromPositions(cellStartContentXPosition, cellEndContentXPosition);
        this._savedContentModelPosition = this._contentModelPosition = cell.startParagraphPosition.value;
    }
    initLayoutInfo() {
        const isFirstRow = this.tableInfo.currRowInfo.rowIndex == 0;
        const isLastRow = this.tableInfo.currRowInfo.rowIndex == this.tableInfo.rows.length - 1;
        this.actualCellInfo._minBottomPosition = 0;
        const rowCellSpacing = this.rowInfo.cellSpacing;
        const horBrdLastIndex = this.tableInfo.currRowHorizontalBorders.length - 1;
        const borderBeforeWidth = this.tableInfo.currRowHorizontalBorders[0].maxWidth;
        const borderAfterWidth = this.tableInfo.currRowHorizontalBorders[horBrdLastIndex].maxWidth;
        this.actualCellInfo._heightBeforeContent = (isFirstRow ? borderBeforeWidth : borderBeforeWidth / 2) +
            this.rowInfo.topAndBottomMargins.topMargin;
        this.actualCellInfo._heightAfterContent = (isLastRow ? borderAfterWidth : borderAfterWidth / 2) +
            this.rowInfo.topAndBottomMargins.bottomMargin;
        if (rowCellSpacing > 0) {
            this.actualCellInfo._heightBeforeContent +=
                rowCellSpacing * (this.tableInfo.isThisColumnFirstInTable ? 2 : 1) +
                    (this.tableInfo.isThisTableRowFirstInColumn ? this.tableInfo.currRowHorizontalBorders[1].maxWidth : 0);
            this.actualCellInfo._heightAfterContent +=
                this.tableInfo.currRowHorizontalBorders[horBrdLastIndex - 1].maxWidth +
                    (this.tableInfo.isCurrRowLastInTable ? 2 : 1) * rowCellSpacing;
        }
        this.actualCellInfo._currLayoutTableCellInfo = new layout_table_cell_info/* LayoutTableCellInfo */.w(this.rowInfo.currLayoutTableRowInfo, new rectangle.Rectangle(this.xInterval.start, this.tableInfo.currRowInfo.currLayoutTableRowInfo.y, this.xInterval.length, this.actualCellInfo._heightBeforeContent), this.tableInfo.grid.tableCellInfos[this.rowInfo.rowIndex][this.cellIndex].getGridCellIndex(), this.xContentInterval.length);
        if (this.actualCellInfo._isStartOnThisColumn)
            this.currLayoutTableCellInfo.boundFlags.set(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn, false);
    }
    clearLayoutInfo() {
        this.actualCellInfo._heightAfterContent = null;
        this.actualCellInfo._heightBeforeContent = null;
        this.actualCellInfo._currLayoutTableCellInfo = null;
    }
    suspendFormatting() {
        this._formattingSuspended = true;
    }
    resumeFormatting() {
        this._formattingSuspended = false;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/info/cell-order-helper.ts


class CellOrderHelper {
    constructor(tableInfo) {
        this.tableInfo = tableInfo;
    }
    getFirstNotFullyRenderedCell(startRowIndex) {
        const pos = utils_list.ListUtils.unsafeAnyOf(this.tableInfo.rows, (_, rowInd) => this.getNextPositionOnRow(rowInd, 0, false, true, () => true), startRowIndex);
        if (utils_list.ListUtils.allOf(this.tableInfo.table.rows[startRowIndex].cells, (_cell, cellIndex) => {
            const cellInfo = this.tableInfo.rows[startRowIndex].cells[cellIndex];
            return cellInfo.isContendFullyPlaced ||
                startRowIndex < this.tableInfo.grid.tableCellInfos[startRowIndex][cellIndex].getEndRowIndex() - 1 &&
                    cellInfo.isSomeLayoutRowsPlaced;
        }))
            return this.getFirstNotFullyRenderedCell(startRowIndex + 1);
        return pos;
    }
    getNextPos(currTblPos) {
        const info = this.tableInfo.grid.tableCellInfos[currTblPos.rowIndex][currTblPos.cellIndex];
        const nextGridCellIndex = info.getGridCellIndex() + info.getColumnSpan(this.tableInfo.grid.table);
        const ind = this.getNextPositionOnRow(currTblPos.rowIndex, nextGridCellIndex, false, false, () => true);
        if (ind)
            return ind;
        if (this.getNextPositionOnRow(currTblPos.rowIndex, 0, true, true, (info) => info.getEndRowIndex() - 1 == currTblPos.rowIndex))
            return null;
        const res = utils_list.ListUtils.unsafeAnyOf(this.tableInfo.rows, (_, rowInd) => this.getNextPositionOnRow(rowInd, 0, false, false, (info) => info.getStartRowIndex() == rowInd), currTblPos.rowIndex + 1);
        if (res && res.rowIndex > currTblPos.rowIndex + 1) {
            const prevRowIndex = res.rowIndex - 1;
            const cells = this.tableInfo.rows[prevRowIndex].cells;
            let cantMoveToNextRow = false;
            for (let cellIndex = 0, cellInfo; cellInfo = cells[cellIndex]; cellIndex++) {
                const cellGridInfo = this.tableInfo.grid.tableCellInfos[prevRowIndex][cellIndex];
                if (cellGridInfo.getLastRowIndex() > prevRowIndex) {
                    cantMoveToNextRow = false;
                    break;
                }
                else if (cellGridInfo.getLastRowIndex() == prevRowIndex) {
                    if (!cellInfo.isContendFullyPlaced)
                        cantMoveToNextRow = true;
                }
            }
            if (cantMoveToNextRow)
                return null;
        }
        return res;
    }
    isTableFullyFormatted() {
        return !this.getNextPositionOnRow(this.tableInfo.rows.length - 1, 0, true, true, () => true);
    }
    getNextPositionOnRow(rowIndex, startGridCellIndex, isConsiderGridBeforeAndAfter, isSkipConsiderRenderInThisColumn, handleCell) {
        const numCells = this.tableInfo.grid.columns.positions.length - 1;
        const cellInfos = this.tableInfo.grid.tableCellGridInfos[rowIndex];
        const table = this.tableInfo.grid.table;
        for (let cellGridIndex = startGridCellIndex; cellGridIndex < numCells;) {
            const info = cellInfos[cellGridIndex];
            if (info) {
                if (handleCell(info)) {
                    if (!this.isCellContendFullyPlaced(info) && (isSkipConsiderRenderInThisColumn || !this.cellRenderedOnThisColumn(info)))
                        return new main_structures_table/* TablePositionIndexes */.o6(rowIndex, info.getCellIndex(rowIndex - info.getStartRowIndex()));
                }
                cellGridIndex += info.getColumnSpan(table);
            }
            else {
                if (isConsiderGridBeforeAndAfter) {
                    const rowGridInfo = this.tableInfo.grid.tableCellGridInfos[rowIndex - 1];
                    if (rowGridInfo) {
                        const elem = rowGridInfo[cellGridIndex];
                        if (elem && !this.isCellContendFullyPlaced(elem) && (isSkipConsiderRenderInThisColumn || !this.cellRenderedOnThisColumn(info)))
                            return new main_structures_table/* TablePositionIndexes */.o6(rowIndex - 1, elem.getCellIndex(rowIndex - 1 - elem.getStartRowIndex()));
                    }
                }
                cellGridIndex++;
            }
        }
        return null;
    }
    isCellContendFullyPlaced(info) {
        const rowIndex = info.getStartRowIndex();
        const cellIndex = info.getCellIndex(0);
        const cellInfo = this.tableInfo.rows[rowIndex].cells[cellIndex];
        return cellInfo.isContendFullyPlaced;
    }
    cellRenderedOnThisColumn(info) {
        const cellGridIndex = info.getGridCellIndex();
        const minRowIndex = info.getStartRowIndex();
        const rows = this.tableInfo.currLayoutTableColumnInfo.tableRows;
        for (let layoutRowIndex = rows.length - 1, row; (row = rows[layoutRowIndex]) && row.rowIndex >= minRowIndex; layoutRowIndex--)
            if (row.getCellIndexByExactlyCellGridIndex(cellGridIndex) >= 0)
                return true;
        return false;
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/properties-mergers/table-row-properties-merger.ts
var table_row_properties_merger = __webpack_require__(1157);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/other.ts

class TopAndBottomMarginsForRow {
    constructor() {
        this.topMargin = 0;
        this.bottomMargin = 0;
    }
    addCellTopMargin(topMargin) {
        if (this.topMargin < topMargin)
            this.topMargin = topMargin;
    }
    addCellBottomMargin(bottomMargin) {
        if (this.bottomMargin < bottomMargin)
            this.bottomMargin = bottomMargin;
    }
    sumOfBoth() {
        return this.topMargin + this.bottomMargin;
    }
}
class TableRowHeightInfo {
    constructor(cantSplit, height, horizontalAlignment) {
        this.cantSplit = cantSplit;
        this.preferredHeightValue = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(height.value);
        this.preferredHeightType = height.type;
        this.contentHeight = 0;
        this.horizontalAlignment = horizontalAlignment;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/info/row-info.ts








class RowInfo {
    get row() { return this.tableInfo.table.rows[this.rowIndex]; }
    constructor(tableInfo, rowIndex) {
        this.cells = [];
        this.tableInfo = tableInfo;
        this.rowIndex = rowIndex;
        this.howManyColumnsConsiderTableRow = 0;
        this.init();
    }
    init() {
        const row = this.row;
        const cantSplit = new table_row_properties_merger/* TableRowPropertiesMergerCantSplit */.Y_().getProperty(row.properties, this.tableInfo.tableStyle, row.conditionalFormatting, this.tableInfo.defaultTblRowProps);
        const horizontalAlignment = new table_row_properties_merger/* TableRowPropertiesMergerHorizontalAlignment */.KJ(row.tablePropertiesException)
            .getProperty(row.properties, this.tableInfo.tableStyle, row.conditionalFormatting, this.tableInfo.defaultTblRowProps);
        this.heightInfo = new TableRowHeightInfo(cantSplit, row.height, horizontalAlignment);
        this.cellSpacing = new table_row_properties_merger/* TableRowPropertiesMergerCellSpacing */.L2(this.tableInfo.model, this.tableInfo.table, row.tablePropertiesException)
            .getProperty(row.properties, this.tableInfo.tableStyle, row.conditionalFormatting, this.tableInfo.defaultTblRowProps)
            .asNumberNoPercentType(class_unit_converter/* UnitConverter */.u.twipsToPixels);
        this.topAndBottomMargins = new TopAndBottomMarginsForRow();
        for (let cell of row.cells) {
            if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue)
                continue;
            this.topAndBottomMargins.addCellTopMargin(Formatter.getCellMargin(cell.getActualTopCellMargin(this.tableInfo.model)));
            this.topAndBottomMargins.addCellBottomMargin(Formatter.getCellMargin(cell.getActualBottomCellMargin(this.tableInfo.model)));
        }
    }
    initLayoutInfo(isFirstRowInColumn, column) {
        const prevTblRow = utils_list.ListUtils.last(this.tableInfo.currLayoutTableColumnInfo.tableRows);
        this.currLayoutTableRowInfo = new LayoutTableRowInfo(this.tableInfo.currLayoutTableColumnInfo, new rectangle.Rectangle(this.tableInfo.xPositionStart, prevTblRow ? prevTblRow.bottom : this.tableInfo.currLayoutTableColumnInfo.y, 0, 0), this.tableInfo.minRowIndex);
        this.tableInfo.currRowHorizontalBorders = this.tableInfo.bordersHelper.getHorizontalBordersByRow(this.currLayoutTableRowInfo.rowIndex, this.tableInfo.isThisTableRowFirstInColumn || isFirstRowInColumn, true);
        for (let cell of this.cells)
            cell.initLayoutInfo();
        this.layoutRowIndexInColumn = column.rows.length;
    }
    clearLayoutInfo() {
        this.currLayoutTableRowInfo = null;
        this.tableInfo.currRowHorizontalBorders = null;
        for (let cell of this.cells)
            cell.clearLayoutInfo();
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/info/table-info.ts

















class TableInfo {
    get table() { return this.position.table; }
    get tableStyle() { return this.table.style; }
    get tblProps() { return this.table.properties; }
    get defaultTblProps() { return this.model.defaultTableProperties; }
    get defaultTblRowProps() { return this.model.defaultTableRowProperties; }
    get defaultTblCellProps() { return this.model.defaultTableCellProperties; }
    get currRowInfo() { return this.rows[this.position.rowIndex]; }
    get currCellInfo() { return this.currRowInfo.cells[this.position.cellIndex]; }
    get isThisTableRowFirstInColumn() { return this.currLayoutTableColumnInfo.tableRows.length == 0; }
    get isCurrRowLastInTable() { return this.position.rowIndex == this.grid.table.rows.length - 1; }
    get currTablePositionIndexes() {
        const actCellInfo = this.currCellInfo;
        return new main_structures_table/* TablePositionIndexes */.o6(actCellInfo.rowInfo.rowIndex, actCellInfo.cellIndex);
    }
    get isSimpleView() {
        return this.rowFormatter.manager.innerClientProperties.viewsSettings.isSimpleView;
    }
    constructor(rowFormatter, table, tableMaxWidth, xPosition, yOffset, pageIndexFromWhichTableWasMoved) {
        this.minRowIndex = 0;
        this.verticalBorders = [];
        this.verticalCursorBorders = [];
        this.isThisColumnFirstInTable = true;
        this.pageIndexFromWhichTableWasMoved = null;
        this.rowFormatter = rowFormatter;
        this.model = this.rowFormatter.manager.model;
        this.maxWidth = tableMaxWidth;
        this.columnWidth = tableMaxWidth;
        this.position = new main_structures_table/* TablePosition */.TR(table, 0, 0).init();
        this.bordersHelper = new border_helper/* BorderHelper */.l(this, this.model);
        this.pageIndexFromWhichTableWasMoved = pageIndexFromWhichTableWasMoved;
        this.init(xPosition, yOffset);
        this.rows = utils_list.ListUtils.map(this.table.rows, (_row, rowIndex) => new RowInfo(this, rowIndex));
        this.verticalBorders = this.bordersHelper.getVerticalBorders();
        this.verticalCursorBorders = this.bordersHelper.getVerticalCursorBorders();
        for (let rowInfo of this.rows)
            rowInfo.cells = utils_list.ListUtils.map(rowInfo.row.cells, (_cell, cellIndex) => new CellInfo(cellIndex, rowInfo));
        this.cellOrderHelper = new CellOrderHelper(this);
    }
    static checkIsTableCannotBePlacedOnCurrentPage(rowFormatter, table, yOffset, maxWidth) {
        return this.moveRowDownToFitTable(rowFormatter, table, yOffset, TableInfo.getEstimatedTableWidth(table, maxWidth), maxWidth).needNextPage;
    }
    init(xPosition, yOffset) {
        let firstCellLeftMargin = 0;
        let firstCellRightMargin = 0;
        if (this.table.nestedLevel == 0 && !this.model.compatibilitySettings.matchHorizontalTableIndentsToTextEdge && !this.isSimpleView) {
            const firstRow = this.table.rows[0];
            const firstCell = firstRow.cells[0];
            firstCellLeftMargin = new table_cell_properties_merger/* TableCellPropertiesMergerMarginLeft */.ku(this.table, this.model, firstRow.tablePropertiesException)
                .getProperty(firstCell.properties, this.tableStyle, firstCell.conditionalFormatting, null)
                .asNumberNoPercentType(class_unit_converter/* UnitConverter */.u.twipsToPixels);
            firstCellRightMargin = new table_cell_properties_merger/* TableCellPropertiesMergerMarginRight */.nn(this.table, this.model, firstRow.tablePropertiesException)
                .getProperty(firstCell.properties, this.tableStyle, firstCell.conditionalFormatting, null)
                .asNumberNoPercentType(class_unit_converter/* UnitConverter */.u.twipsToPixels);
        }
        const diff = TableInfo.moveRowDownToFitTable(this.rowFormatter, this.table, yOffset, TableInfo.getEstimatedTableWidth(this.table, this.maxWidth), this.maxWidth);
        this.maxWidth = this.maxWidth + (diff.xDiff ? -diff.xDiff : firstCellLeftMargin + firstCellRightMargin);
        this.grid = createGrid(this.table, this.rowFormatter.iterator, this.maxWidth, this.rowFormatter.manager.innerClientProperties);
        let tableIndent = this.table.getActualTableIndent(this.defaultTblProps);
        if (this.isSimpleView && this.table.nestedLevel == 0 && tableIndent.value < 0) {
            tableIndent = tableIndent.clone();
            tableIndent.value = 0;
        }
        const tableIndentInPixels = tableIndent.asNumberNoPercentType(class_unit_converter/* UnitConverter */.u.twipsToPixels);
        this.xPositionStart = xPosition + tableIndentInPixels + (diff.xDiff ? diff.xDiff : -firstCellLeftMargin) +
            this.getShiftHorizontalPosition(xPosition);
        this.yPositionStart = yOffset + diff.yDiff;
    }
    getShiftHorizontalPosition(xPosition) {
        const freeSpaceFromTable = this.columnWidth - this.grid.commonWidth;
        if (freeSpaceFromTable >= 0)
            return 0;
        const tableAlignment = this.table.getActualTableAlignment();
        if (tableAlignment == table_base_structures/* TableRowAlignment */._6.Center) {
            let result = freeSpaceFromTable / 2 - xPosition;
            if (result < 0 && this.isSimpleView)
                result = 0;
            return result;
        }
        else if (tableAlignment == table_base_structures/* TableRowAlignment */._6.Right)
            return freeSpaceFromTable - xPosition;
        return 0;
    }
    static getEstimatedTableWidth(table, maxWidth) {
        const preferredWidth = table.preferredWidth;
        const minWidth = 3 * table.rows[0].getTotalCellsInRowConsiderGrid();
        if (table.properties.layoutType == table_base_structures/* TableLayoutType */.DX.Autofit && (preferredWidth.type == table_units/* TableWidthUnitType */.HO.Auto || preferredWidth.type == table_units/* TableWidthUnitType */.HO.Nil))
            return minWidth;
        else
            return Math.min(table.preferredWidth ? table.preferredWidth.asNumber(maxWidth, class_unit_converter/* UnitConverter */.u.twipsToPixels) : minWidth, maxWidth);
    }
    static getRelationByColumnY(lp, absY) {
        return absY - lp.pageArea.y - lp.column.y;
    }
    static getRelationByColumnX(lp, absX) {
        return absX - lp.pageArea.x - lp.column.x;
    }
    static moveRowDownToFitTable(rowFormatter, table, yOffset, getEstimatedTableWidth, maxAvalibleWidth) {
        const lp = rowFormatter.manager.activeFormatter.layoutPosition;
        let xDiff = 0;
        let currentYOffset = yOffset;
        const expectedTableHeight = Math.min(rowFormatter.iterator.getWrap(false).box.height * table.rows.length, lp.column.bottom - currentYOffset);
        const maxYOffset = lp.column.bottom - expectedTableHeight - this.empiricalOffset;
        let needNextPage = false;
        if (table.nestedLevel == 0 && lp.pageArea.subDocument.isMain()) {
            const anchoredObjects = [];
            number/* NumberMapUtils */.j.forEach(lp.page.anchoredObjectHolder.objects, (ancObj) => {
                var _a;
                if (ancObj.isInText() && yOffset <= this.getRelationByColumnY(lp, ancObj.y + ancObj.height)
                    && ((_a = ancObj.parentCell) === null || _a === void 0 ? void 0 : _a.parentRow.parentTable) !== table)
                    return anchoredObjects.push(ancObj);
            });
            anchoredObjects.sort((a, b) => a.y - b.y);
            const suitableAnchorObjectWidth = maxAvalibleWidth - getEstimatedTableWidth;
            xDiff = this.getXDiff(anchoredObjects, currentYOffset, lp, expectedTableHeight);
            for (let i = 0; i < anchoredObjects.length && xDiff > suitableAnchorObjectWidth; i++) {
                const ancObj = anchoredObjects[i];
                const nextYPos = this.getRelationByColumnY(lp, ancObj.y + ancObj.height) + this.empiricalOffset;
                if (maxYOffset < nextYPos) {
                    xDiff = 0;
                    needNextPage = true;
                    break;
                }
                currentYOffset = nextYPos;
                xDiff = this.getXDiff(anchoredObjects, currentYOffset, lp, expectedTableHeight);
            }
        }
        return { xDiff: xDiff, yDiff: currentYOffset - yOffset, needNextPage };
    }
    static getXDiff(anchoredObjects, yOffset, lp, expectedTableHeight) {
        let xDiff = 0;
        anchoredObjects.forEach((ancObj) => {
            if (ancObj.isInText() && algorithms.IntervalAlgorithms.getIntersectionNonNullLength(new fixed.FixedInterval(this.getRelationByColumnY(lp, ancObj.y), ancObj.height), new fixed.FixedInterval(yOffset, expectedTableHeight))) {
                xDiff = Math.max(xDiff, this.getRelationByColumnX(lp, ancObj.right) + this.empiricalOffset);
            }
        });
        return xDiff;
    }
    initLayoutInfo(yPos, parentCell, column) {
        this.currColumnHorizontalBorders = [];
        const logicInfo = this.currLayoutTableColumnInfo ?
            this.currLayoutTableColumnInfo.logicInfo :
            new LayoutTableInfo(new table_properties_merger/* TablePropertiesMergerShadingInfo */.aV()
                .getProperty(this.tblProps, this.tableStyle, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, this.defaultTblProps)
                .getActualColor(this.model.colorProvider), this.grid, this.pageIndexFromWhichTableWasMoved);
        this.currLayoutTableColumnInfo = new LayoutTableColumnInfo(parentCell, logicInfo, new rectangle.Rectangle(this.xPositionStart, yPos, this.grid.commonWidth, 0));
        this.rows[this.minRowIndex].initLayoutInfo(true, column);
    }
}
TableInfo.empiricalOffset = class_unit_converter/* UnitConverter */.u.inchesToPixels(0.07);

;// CONCATENATED MODULE: ./src/common/layout-formatter/table/size-compressor.ts







class LayoutTableSizeCompressor {
    static tableRowContentCompress(row) {
        for (let cell of row.rowCells)
            LayoutTableSizeCompressor.cellCompress(cell, cell.createRectangle());
    }
    static tableCompress(tableInfo, boundsRelativeColumn) {
        LayoutTableSizeCompressor.compress(tableInfo, boundsRelativeColumn, true, false);
        const boundsRelativeTable = tableInfo.clone().moveRectangle(-tableInfo.x, -tableInfo.y);
        for (let row of tableInfo.tableRows)
            LayoutTableSizeCompressor.rowCompress(row, boundsRelativeTable, boundsRelativeColumn);
        LayoutTableSizeCompressor.compressBorders(tableInfo.horizontalBorders, boundsRelativeTable, true);
        LayoutTableSizeCompressor.compressBorders(tableInfo.horizontalCursorBorders, boundsRelativeTable, true);
        LayoutTableSizeCompressor.compressBorders(tableInfo.verticalBorders, boundsRelativeTable, false);
        LayoutTableSizeCompressor.compressBorders(tableInfo.verticalCursorBorders, boundsRelativeTable, false);
    }
    static compressBorders(borders, boundsRelativeTable, isHorizontal) {
        const newBorders = [];
        for (let brd of borders)
            if ((isHorizontal ? LayoutTableSizeCompressor.compressHorizontalBorder : LayoutTableSizeCompressor.compressVerticalBorder)(brd, boundsRelativeTable))
                newBorders.push(brd);
        if (borders.length != newBorders.length) {
            borders.splice(0);
            utils_list.ListUtils.addListOnTail(borders, newBorders);
        }
    }
    static rowCompress(row, boundsRelativeTable, boundsRelativeColumn) {
        LayoutTableSizeCompressor.compress(row, boundsRelativeColumn, true, false);
        for (let bcgInfo of row.backgroundInfos)
            LayoutTableSizeCompressor.compress(bcgInfo, boundsRelativeTable, true, false);
        for (let cell of row.rowCells)
            LayoutTableSizeCompressor.cellCompress(cell, boundsRelativeColumn);
    }
    static cellCompress(cell, boundsRelativeColumn) {
        LayoutTableSizeCompressor.compress(cell, boundsRelativeColumn, true, false);
        for (let layoutRow of cell.layoutRows)
            LayoutTableSizeCompressor.compress(layoutRow, boundsRelativeColumn, true, true);
        boundsRelativeColumn = cell;
        number/* NumberMapUtils */.j.forEach(cell.internalTables, (tbl) => LayoutTableSizeCompressor.tableCompress(tbl, boundsRelativeColumn));
    }
    static compress(obj, bounds, changeWhenNoIntersection, isLayoutRow) {
        const intersection = rectangle.Rectangle.getIntersection(obj, bounds);
        if (intersection) {
            if (isLayoutRow && obj.x < bounds.x)
                obj.applyXOffsetToBoxes(obj.x - bounds.x);
            obj.setGeomerty(intersection);
            return true;
        }
        if (changeWhenNoIntersection) {
            const deviation = new rectangle.RectangleDeviation(bounds, new geometry_point.Point(obj.x, obj.y)).calcDeviation().deviation;
            const devRight = deviation.get(rectangle.HitTestDeviation.Right);
            const devBottom = deviation.get(rectangle.HitTestDeviation.Bottom);
            const newObjX = devRight ? bounds.right : obj.x;
            const newObjY = devBottom ? bounds.bottom : obj.y;
            obj.setPosition(new geometry_point.Point(newObjX, newObjY));
            obj.setSize(new size.Size(devRight ? 0 : Math.min(obj.right, bounds.right) - newObjX, devBottom ? 0 : Math.min(obj.bottom, bounds.bottom) - newObjY));
        }
        return false;
    }
    static compressVerticalBorder(border, bounds) {
        const horIntersection = algorithms.IntervalAlgorithms.getIntersection(new fixed.FixedInterval(border.xPos, border.borderInfo.width), new fixed.FixedInterval(bounds.x, bounds.width));
        if (horIntersection) {
            const vertIntersection = algorithms.IntervalAlgorithms.getIntersection(new fixed.FixedInterval(border.yPos, border.length), new fixed.FixedInterval(bounds.y, bounds.height));
            if (vertIntersection) {
                border.length = Math.min(border.yPos + border.length, bounds.bottom) - border.yPos;
                return true;
            }
            if (border.yPos > bounds.bottom) {
                border.yPos = bounds.bottom;
                border.length = 0;
            }
            return false;
        }
        border.length = Math.min(border.yPos + border.length, bounds.bottom) - border.yPos;
        if (border.xPos < bounds.x)
            return true;
        border.xPos = bounds.right;
        border.borderInfo.width = 0;
        return false;
    }
    static compressHorizontalBorder(border, bounds) {
        const vertIntersection = algorithms.IntervalAlgorithms.getIntersection(new fixed.FixedInterval(border.yPos, border.borderInfo.width), new fixed.FixedInterval(bounds.y, bounds.height));
        if (vertIntersection) {
            const horIntersection = algorithms.IntervalAlgorithms.getIntersection(new fixed.FixedInterval(border.xPos, border.length), new fixed.FixedInterval(bounds.x, bounds.width));
            if (horIntersection) {
                border.length = Math.min(border.xPos + border.length, bounds.right) - border.xPos;
                return true;
            }
            if (border.xPos > bounds.right) {
                border.xPos = bounds.right;
                border.length = 0;
            }
            return false;
        }
        border.length = Math.min(border.xPos + border.length, bounds.right) - border.xPos;
        if (border.yPos < bounds.y)
            return true;
        border.yPos = bounds.bottom;
        border.borderInfo.width = 0;
        return false;
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/table/table-alignment-applier.ts
var table_alignment_applier = __webpack_require__(9327);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/formatter.ts



















var AddRowToTableResult;
(function (AddRowToTableResult) {
    AddRowToTableResult[AddRowToTableResult["None"] = 0] = "None";
    AddRowToTableResult[AddRowToTableResult["RowAdded"] = 1] = "RowAdded";
    AddRowToTableResult[AddRowToTableResult["TableFinished"] = 2] = "TableFinished";
    AddRowToTableResult[AddRowToTableResult["GoToNextColumn"] = 4] = "GoToNextColumn";
})(AddRowToTableResult || (AddRowToTableResult = {}));
class Formatter {
    get posToWaitingContinuedFormatterMap() {
        return this.nestedLevel == 0 ? this._posToWaitingContinuedFormatterMap : this.parentFormatter.posToWaitingContinuedFormatterMap;
    }
    get needAddSomeLayoutRows() {
        return this.columnWasEmpty &&
            this.noReadyTableRows &&
            this.tableInfo.currCellInfo.currLayoutTableCellInfo.isEmpty() || !this.tableInfo.rowFormatter.manager.activeFormatter.subDocument.isMain();
    }
    get noReadyTableRows() {
        let formatter = this;
        do {
            if (formatter.tableInfo.currLayoutTableColumnInfo.tableRows.length)
                return false;
        } while (formatter = formatter.parentFormatter);
        return true;
    }
    get columnWasEmpty() { return this.parentFormatter ? this.parentFormatter.columnWasEmpty : this._columnWasEmpty; }
    get isCurrTableCellFirstInRow() { return this.position.cellIndex == 0; }
    get isCurrTableRowIsFirstInTable() { return this.position.rowIndex == 0; }
    get currLayoutRowOffset() { return this.tableInfo.currCellInfo.getCurrLayoutRowOffset(true); }
    get currLayoutRowContentWidth() { return this.tableInfo.currCellInfo.currLayoutRowContentWidth; }
    get nestedTableMaxWidth() { return this.tableInfo.currCellInfo.nestedTableMaxWidth; }
    get nestedLevel() { return this.tableInfo.table.nestedLevel; }
    get isCurrLayoutRowIsFirstInCell() {
        return this.tableInfo.currRowInfo.cells[this.position.cellIndex].currLayoutTableCellInfo.layoutRows.length == 0;
    }
    get actualFormatter() {
        const formatter = this.tableInfo.currCellInfo.innerFormatter;
        return formatter ? formatter.actualFormatter : this;
    }
    get position() { return this.tableInfo.position; }
    get grid() { return this.tableInfo.grid; }
    constructor(rowFormatter, tablePositions, column, tableMaxWidth, offset, parentCell, index, avaliableHeight, parentFormatter, pageIndexFromWhichTableWasMoved = null) {
        this._posToWaitingContinuedFormatterMap = [];
        this.isFullyFormatted = false;
        this.parentFormatter = parentFormatter;
        const tblPos = tablePositions[index];
        if (tblPos.rowIndex != 0 || tblPos.cellIndex != 0)
            throw new Error(errors/* Errors */.D.InternalException);
        this.tableInfo = new TableInfo(rowFormatter, tblPos.table, tableMaxWidth, offset.x, offset.y, pageIndexFromWhichTableWasMoved);
        this.initColumn(column, parentCell, avaliableHeight);
        if (++index < tablePositions.length)
            this.createInnerFormatter(tablePositions);
    }
    getNestedTablePosition(tablePositions) {
        const index = this.nestedLevel + 1;
        return tablePositions && tablePositions.length > index ? tablePositions[index] : null;
    }
    createInnerFormatter(tablePositions) {
        const avaliableHeight = this.getAvaliableSpaceForCellContent();
        const index = this.nestedLevel + 1;
        const tblPos = this.getNestedTablePosition(tablePositions);
        if (tblPos && (tblPos.rowIndex != 0 || tblPos.cellIndex != 0)) {
            const formatter = this.posToWaitingContinuedFormatterMap[tblPos.cell.endParagrapPosition.value];
            if (formatter) {
                this.tableInfo.currCellInfo.innerFormatter = formatter;
                return;
            }
        }
        this.tableInfo.currCellInfo.innerFormatter = new Formatter(this.tableInfo.rowFormatter, tablePositions, this.column, this.nestedTableMaxWidth, this.currLayoutRowOffset, this.tableInfo.currCellInfo.currLayoutTableCellInfo, index, avaliableHeight, this);
    }
    createNextCellFormatter() {
        const tblPoss = this.tableInfo.rowFormatter.getNextBoxWrapInfo().info.tablePosition;
        if (tblPoss && tblPoss.length > this.nestedLevel + 1 && !this.tableInfo.currCellInfo.innerFormatter)
            this.createInnerFormatter(tblPoss);
    }
    resetPosition(newPos, forceEndAndStartRow, maxNestedLevel = constants.Constants.MAX_SAFE_INTEGER) {
        log/* Log */.Z.print(log_source/* LogSource */.O.TableFormatter, "resetPosition", () => `rowIndex: ${newPos.rowIndex}, cellIndex: ${newPos.cellIndex}, forceEndAndStartRow: ${forceEndAndStartRow}`);
        const initNewRow = forceEndAndStartRow || newPos.rowIndex > this.tableInfo.minRowIndex;
        if (initNewRow) {
            this.finishRow();
            this.tableInfo.minRowIndex = Math.max(newPos.rowIndex, this.tableInfo.minRowIndex);
        }
        const cellGridInfo = this.tableInfo.grid.tableCellInfos[newPos.rowIndex][newPos.cellIndex];
        const cellIndex = cellGridInfo.getCellIndex(this.tableInfo.minRowIndex - cellGridInfo.getStartRowIndex());
        this.position.initIndexes(this.tableInfo.minRowIndex, cellIndex).init();
        this.tableInfo.rowFormatter.setPosition(this.tableInfo.currCellInfo.getContentModelPosition(maxNestedLevel), false, false);
        this.tableInfo.currCellInfo.resumeFormatting();
        if (initNewRow)
            this.tableInfo.currRowInfo.initLayoutInfo(forceEndAndStartRow, this.column);
    }
    initColumn(column, parentCell, avaliableHeight) {
        this.columnStart(column, false, this.tableInfo.yPositionStart, parentCell, avaliableHeight);
    }
    columnStart(column, weNeedToGoDeeper = true, yPos = 0, parentCell = null, avaliableHeight = null) {
        this.column = column;
        this._columnWasEmpty = !this.column.rows.length;
        this.tableInfo.initLayoutInfo(yPos, parentCell, this.column);
        this.tableInfo.avaliableHeight = avaliableHeight === null ?
            this.column.height - this.tableInfo.currLayoutTableColumnInfo.y :
            avaliableHeight;
        if (weNeedToGoDeeper)
            for (let rowInfo of this.tableInfo.rows)
                for (let cellInfo of rowInfo.cells)
                    if (cellInfo.innerFormatter)
                        cellInfo.innerFormatter.columnStart(column, true, cellInfo.getCurrLayoutRowOffset(false).y, cellInfo.currLayoutTableCellInfo, this.getAvaliableSpaceForCellContent(cellInfo));
    }
    findNextCell(result, info) {
        let wrap = this.tableInfo.rowFormatter.getNextBoxWrapInfo();
        let tblPoss;
        if (!wrap) {
            if (!this.tableInfo.rowFormatter.iterator.allBoxesGiven())
                throw new Error(errors/* Errors */.D.InternalException);
            tblPoss = null;
        }
        else
            tblPoss = wrap.info.tablePosition;
        if (this.isCellFinished(tblPoss)) {
            this.tableInfo.currCellInfo.cellFullyFormatted();
            this.finishCell();
            this.setNextCell(result);
        }
        wrap = this.tableInfo.rowFormatter.getNextBoxWrapInfo();
        tblPoss = wrap ? wrap.info.tablePosition : null;
        if (tblPoss && !result.get(AddRowToTableResult.TableFinished) && !this.tableInfo.currCellInfo.innerFormatter &&
            (tblPoss.length > info.tablePosition.length ||
                tblPoss.length == info.tablePosition.length && utils_list.ListUtils.last(tblPoss).table.index != utils_list.ListUtils.last(info.tablePosition).table.index))
            this.createInnerFormatter(tblPoss);
    }
    isCellFinished(tblPoss) {
        const currTblPos = tblPoss ? tblPoss[this.nestedLevel] : null;
        if (!currTblPos)
            return !this.tableInfo.currCellInfo.formattingSuspended;
        return !(this.tableInfo.currCellInfo.actualTableIndexes.equals(currTblPos) && this.tableInfo.table.index == currTblPos.table.index);
    }
    isLayoutRowIsLastOnCell() {
        const wrap = this.tableInfo.rowFormatter.getNextBoxWrapInfo();
        let tblPoss;
        if (!wrap) {
            if (!this.tableInfo.rowFormatter.iterator.allBoxesGiven())
                return true;
            tblPoss = null;
        }
        else
            tblPoss = wrap.info.tablePosition;
        const nextTblPos = tblPoss ? tblPoss[this.nestedLevel] : null;
        return !nextTblPos || !this.tableInfo.currCellInfo.actualTableIndexes.equals(nextTblPos);
    }
    resetCaseInTextAnchorObject(info, obj) {
        if (this.nestedLevel < info.tablePosition.length - 1)
            return this.tableInfo.currCellInfo.innerFormatter.resetCaseInTextAnchorObject(info, obj);
        else {
            let isNeedGoToNextColumn = false;
            if (this.tableInfo.rowFormatter.manager.activeFormatter.subDocument.isMain()) {
                const lp = this.tableInfo.rowFormatter.manager.activeFormatter.layoutPosition;
                isNeedGoToNextColumn = obj.bottom > lp.pageArea.y + lp.column.y + this.tableInfo.currLayoutTableColumnInfo.y +
                    this.tableInfo.avaliableHeight - this.tableInfo.currCellInfo.heightAfterContent;
            }
            this.tableInfo.rowFormatter.manager.activeFormatter.layoutPosition.page.tableAnchoredObjectsHolder.addTableCellAnchoredObject(this.tableInfo.position, obj.objectId);
            this.resetFromRow(new class_flag.Flag());
            return isNeedGoToNextColumn;
        }
    }
    applyResultOfTopLevelFormatters(result, info, lowLevelFormatters = []) {
        if (this.nestedLevel < info.getTableNestedLevel()) {
            lowLevelFormatters.push(this);
            this.tableInfo.currCellInfo.innerFormatter.applyResultOfTopLevelFormatters(result, info, lowLevelFormatters);
        }
        else
            for (let formatter; formatter = lowLevelFormatters.pop();)
                formatter.processResultOfTopLevelFormatter(result, info);
    }
    processResultOfTopLevelFormatter(result, info) {
        const cellInfo = this.tableInfo.currCellInfo;
        if (result.anyOf(AddRowToTableResult.TableFinished, AddRowToTableResult.GoToNextColumn)) {
            const innerLayoutTblColInfo = cellInfo.innerFormatter.tableInfo.currLayoutTableColumnInfo;
            if (!innerLayoutTblColInfo.isEmpty()) {
                if (!result.get(AddRowToTableResult.TableFinished))
                    cellInfo.innerFormatter.columnEnd();
                cellInfo.currLayoutTableCellInfo.internalTables[cellInfo.currLayoutTableCellInfo.layoutRows.length] = innerLayoutTblColInfo;
                cellInfo.currLayoutTableCellInfo.height += cellInfo.innerFormatter.tableInfo.currLayoutTableColumnInfo.height;
            }
            if (result.get(AddRowToTableResult.TableFinished))
                cellInfo.innerFormatter = null;
            else {
                this.tableInfo.rowFormatter.iterator.setNextValidWrapPosition(cellInfo.innerFormatter.tableInfo.table.getEndPosition(), info.tablePosition.length - 1);
                cellInfo.suspendFormatting();
                const actualNestedTablePos = this.getNestedTablePosition(this.tableInfo.rowFormatter.iterator.getWrap(false).info.tablePosition);
                if (!actualNestedTablePos) {
                    const oldNestedTablePos = this.getNestedTablePosition(info.tablePosition);
                    if (oldNestedTablePos)
                        this.posToWaitingContinuedFormatterMap[oldNestedTablePos.cell.endParagrapPosition.value] = cellInfo.innerFormatter;
                }
            }
            result.set(AddRowToTableResult.TableFinished, false);
            result.set(AddRowToTableResult.GoToNextColumn, false);
            this.findNextCell(result, info);
        }
    }
    getRowHeight(rowInfo, rowHeight) {
        const preferredHeight = rowInfo.heightInfo.preferredHeightValue;
        switch (rowInfo.heightInfo.preferredHeightType) {
            case table_units/* TableHeightUnitType */.X.Exact:
                return preferredHeight;
            case table_units/* TableHeightUnitType */.X.Minimum:
                return Math.max(preferredHeight + rowInfo.topAndBottomMargins.sumOfBoth(), rowHeight);
            default:
                return rowHeight;
        }
    }
    addLayoutRow(rowResult, info) {
        const cellInfo = this.tableInfo.currCellInfo;
        if (this.nestedLevel < info.getTableNestedLevel())
            return cellInfo.innerFormatter.addLayoutRow(rowResult, info);
        const result = new class_flag.Flag(AddRowToTableResult.None);
        const maxBottom = this.getCellContentMaxBottom();
        const row = rowResult.row;
        const currCellInfo = cellInfo.currLayoutTableCellInfo;
        if (currCellInfo.internalTables[currCellInfo.layoutRows.length] &&
            this.isLayoutRowIsLastOnCell() && row.boxes.length == 1 && row.boxes[0].getType() == layout_box/* LayoutBoxType */.KH.ParagraphMark)
            row.height = 0;
        const rowHeight = cellInfo.cellIndex == 0 && currCellInfo.layoutRows.length == 0
            ? this.getRowHeight(cellInfo.rowInfo, row.height) : row.height;
        const rowBottom = row.y + rowHeight;
        if (!cellInfo.innerFormatter && (rowBottom <= maxBottom || this.needAddSomeLayoutRows)) {
            row.tableCellInfo = currCellInfo;
            currCellInfo.layoutRows.push(row);
            currCellInfo.height = row.bottom - currCellInfo.y;
            result.set(AddRowToTableResult.RowAdded, true);
            this.tableInfo.currRowInfo.layoutRowIndexInColumn =
                Math.min(this.tableInfo.currRowInfo.layoutRowIndexInColumn, this.column.rows.length);
            this.tableInfo.currCellInfo.cellPartiallyFormatted(rowResult.rowStartPos + row.getLastBoxEndPositionInRow());
        }
        else {
            this.cantPlaceRow(result, rowResult.rowStartPos);
        }
        return result;
    }
    cantPlaceRow(result, cellNewStartContentPos) {
        if (this.tableInfo.currCellInfo.currLayoutTableCellInfo.isEmpty()) {
            this.resetFromRow(result);
        }
        else {
            this.tableInfo.currCellInfo.cellPartiallyFormatted(cellNewStartContentPos);
            this.finishCell();
            this.setNextCell(result);
        }
    }
    resetFromRow(result) {
        this.cancelPlaceRow();
        const newPos = this.tableInfo.cellOrderHelper.getFirstNotFullyRenderedCell(this.tableInfo.minRowIndex);
        this.resetPosition(newPos, true);
        this.tableInfo.currRowInfo.initLayoutInfo(true, this.column);
        const tablePositions = this.tableInfo.rowFormatter.iterator.getWrap(false).info.tablePosition;
        if (this.nestedLevel + 1 < tablePositions.length)
            this.createInnerFormatter(tablePositions);
        result.set(AddRowToTableResult.GoToNextColumn, true);
    }
    setNextCell(result) {
        const newPos = this.tableInfo.cellOrderHelper.getNextPos(this.tableInfo.currTablePositionIndexes);
        if (!newPos) {
            if (this.tableInfo.cellOrderHelper.isTableFullyFormatted()) {
                this.finishRow();
                this.finishTable();
                result.set(AddRowToTableResult.TableFinished, true);
                return;
            }
            else {
                result.set(AddRowToTableResult.GoToNextColumn, true);
                const newPos = this.tableInfo.cellOrderHelper.getFirstNotFullyRenderedCell(this.tableInfo.minRowIndex);
                this.resetPosition(newPos, true);
            }
        }
        else
            this.resetPosition(newPos, false);
        this.createNextCellFormatter();
    }
    finishCell() {
        var _a, _b;
        const cellInfo = this.tableInfo.currCellInfo;
        const layTblCellInfo = cellInfo.currLayoutTableCellInfo;
        if (!layTblCellInfo || layTblCellInfo.isEmpty())
            return;
        if (!cellInfo.isContendFullyPlaced)
            layTblCellInfo.boundFlags.set(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn, false);
        this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowCells.push(layTblCellInfo);
        layTblCellInfo.height += cellInfo.heightAfterContent;
        const lp = this.tableInfo.rowFormatter.manager.activeFormatter.layoutPosition;
        const anchObjs = this.tableInfo.rowFormatter.manager.activeFormatter.layoutPosition.page.tableAnchoredObjectsHolder
            .getTableCellAnchoredObjects(this.tableInfo.position, this.tableInfo.rowFormatter.manager.activeFormatter);
        const minBottomPosition = (_b = (_a = utils_list.ListUtils.max(anchObjs, o => o.bottom)) === null || _a === void 0 ? void 0 : _a.bottom) !== null && _b !== void 0 ? _b : 0;
        const minHeight = minBottomPosition - (lp.pageArea.y + lp.column.y + layTblCellInfo.y);
        layTblCellInfo.height = Math.max(layTblCellInfo.height, minHeight);
    }
    cancelPlaceRow() {
        this.column.rows.splice(this.tableInfo.currRowInfo.layoutRowIndexInColumn);
        this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowCells = [];
        for (let cell of this.tableInfo.currRowInfo.cells)
            cell.undoContentModelPosition();
    }
    finishRow() {
        const rowInfo = this.tableInfo.currRowInfo;
        if (rowInfo.currLayoutTableRowInfo.rowCells.length) {
            rowInfo.currLayoutTableRowInfo.rowCells.sort((cellA, cellB) => cellA.cellGridIndex - cellB.cellGridIndex);
            this.applyBottomHorizontalBordersChangesForPrevRow();
            this.tableInfo.currColumnHorizontalBorders.push(this.tableInfo.currRowHorizontalBorders);
            this.tableInfo.currLayoutTableColumnInfo.tableRows.push(rowInfo.currLayoutTableRowInfo);
            rowInfo.howManyColumnsConsiderTableRow++;
            this.setRowHeight();
            this.extendCellHeightToRowHeight();
            for (let cell of rowInfo.cells) {
                if (!cell.isContendFullyPlaced)
                    cell.isStartOnThisColumn = true;
                cell.storeContentModelPosition();
            }
            this.tableInfo.lastRowBottomBoundPosition = rowInfo.currLayoutTableRowInfo.bottom;
        }
        rowInfo.clearLayoutInfo();
    }
    columnEnd() {
        if (!this.tableInfo.currLayoutTableColumnInfo.tableRows.length)
            return;
        this.setCellsHeight();
        const currColumnVerticalBorders = [];
        const currColumnVerticalCursorBorders = [];
        BorderCreator.setColumnHorizontalBorders(this.tableInfo.currLayoutTableColumnInfo, this.tableInfo.rows, this.tableInfo.currColumnHorizontalBorders, this.tableInfo.isThisColumnFirstInTable);
        BorderCreator.setColumnVerticalBorders(this.tableInfo.currLayoutTableColumnInfo, this.grid, this.tableInfo.rows, this.tableInfo.isThisColumnFirstInTable, this.tableInfo.currColumnHorizontalBorders, currColumnVerticalBorders, this.tableInfo.verticalBorders, true);
        BorderCreator.setColumnVerticalBorders(this.tableInfo.currLayoutTableColumnInfo, this.grid, this.tableInfo.rows, this.tableInfo.isThisColumnFirstInTable, this.tableInfo.currColumnHorizontalBorders, currColumnVerticalCursorBorders, this.tableInfo.verticalCursorBorders, false);
        this.tableInfo.currLayoutTableColumnInfo.calculateFlags();
        this.column.tablesInfo.push(this.tableInfo.currLayoutTableColumnInfo);
        this.tableInfo.currLayoutTableColumnInfo.height = this.tableInfo.lastRowBottomBoundPosition - this.tableInfo.currLayoutTableColumnInfo.y;
        this.setRowsVerticalBounds(currColumnVerticalBorders);
        TableBackgroundInfoCreator.createBackgroundInfos(this.tableInfo.rowFormatter.manager.model.colorProvider, this.tableInfo.defaultTblCellProps, this.grid, this.tableInfo.currLayoutTableColumnInfo, currColumnVerticalBorders, this.tableInfo.currColumnHorizontalBorders, this.tableInfo.rows);
        this.tableInfo.currLayoutTableColumnInfo.horizontalBorders =
            BorderMerger.getFinalReducedHorizontalBorders(this.tableInfo.currColumnHorizontalBorders);
        this.tableInfo.currLayoutTableColumnInfo.horizontalCursorBorders =
            TableHorizontalCursorBordersHelper.getHorizontalCursorBorders(this.tableInfo.currLayoutTableColumnInfo);
        this.tableInfo.currLayoutTableColumnInfo.verticalBorders =
            BorderMerger.getFinalReducedVerticalBorders(currColumnVerticalBorders);
        this.tableInfo.currLayoutTableColumnInfo.verticalCursorBorders =
            BorderMerger.getFinalReducedVerticalBorders(currColumnVerticalCursorBorders);
        table_alignment_applier/* TableAlignmentApplier */.g.applyHorizontalAlignment(this.tableInfo.currLayoutTableColumnInfo, this.tableInfo.maxWidth);
        table_alignment_applier/* TableAlignmentApplier */.g.applyCellsVerticalAlignment(this.tableInfo.defaultTblCellProps, this.grid, this.tableInfo.currLayoutTableColumnInfo, this.tableInfo.rows);
        if (this.position.table.nestedLevel == 0)
            for (let row of this.tableInfo.currLayoutTableColumnInfo.tableRows)
                LayoutTableSizeCompressor.tableRowContentCompress(row);
        this.tableInfo.isThisColumnFirstInTable = false;
    }
    finishTable() {
        this.columnEnd();
        this.tableInfo.rowFormatter.setPosition(this.tableInfo.table.getEndPosition(), false, false);
        this.isFullyFormatted = true;
    }
    getAvaliableSpaceForCellContent(cellInfo = this.tableInfo.currCellInfo) {
        return this.getCellContentMaxBottom() - cellInfo.currLayoutTableCellInfo.bottom;
    }
    getCellContentMaxBottom(cellInfo = this.tableInfo.currCellInfo) {
        return this.tableInfo.currLayoutTableColumnInfo.y + this.tableInfo.avaliableHeight - cellInfo.heightAfterContent;
    }
    setCellsHeight() {
        const layoutTableRows = this.tableInfo.currLayoutTableColumnInfo.tableRows;
        for (let layoutRowIndex = 0, layTblRow; layTblRow = layoutTableRows[layoutRowIndex]; layoutRowIndex++) {
            const currentTableRowIndex = layTblRow.rowIndex;
            const currTableRowGridInfo = this.grid.tableCellInfos[currentTableRowIndex];
            const cells = this.grid.table.rows[currentTableRowIndex].cells;
            for (let cellIndex = 0, cell; cell = cells[cellIndex]; cellIndex++) {
                if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.Continue)
                    continue;
                const currTableCellGridInfo = currTableRowGridInfo[cellIndex];
                var cellGridIndex = currTableCellGridInfo.getGridCellIndex();
                const layTblCell = utils_list.ListUtils.elementBy(layTblRow.rowCells, (cell) => cell.cellGridIndex == cellGridIndex);
                if (layTblCell)
                    layTblCell.height = Formatter.getCellHeight(layoutTableRows, layoutRowIndex, currTableCellGridInfo.getEndRowIndex());
            }
        }
    }
    static getCellHeight(layTblRows, startRowIndex, endModelRowIndex) {
        let height = 0;
        for (let layTblRow; (layTblRow = layTblRows[startRowIndex]) && layTblRow.rowIndex < endModelRowIndex; startRowIndex++)
            height += layTblRow.height;
        return height;
    }
    setRowsVerticalBounds(currColumnVerticalBorders) {
        const tableX = this.tableInfo.currLayoutTableColumnInfo.x;
        const rows = this.tableInfo.currLayoutTableColumnInfo.tableRows;
        for (let rowIndex = 0, row; row = rows[rowIndex]; rowIndex++) {
            const vertRowBrds = currColumnVerticalBorders[rowIndex];
            const lastBrdInRow = utils_list.ListUtils.last(utils_list.ListUtils.last(vertRowBrds));
            const xPosForFirstBorder = vertRowBrds[0][0].xPos;
            row.x = tableX + xPosForFirstBorder;
            row.width = lastBrdInRow.xPos - xPosForFirstBorder;
        }
    }
    static setRowHeightInternal(tableLayoutRow) {
        tableLayoutRow.height = utils_list.ListUtils.accumulate(tableLayoutRow.rowCells, 0, (acc, cell) => Math.max(acc, cell.height));
    }
    setRowHeightWhenRowBelongsToManyColumns() {
        const rowIndex = this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowIndex;
        if (this.grid.table.rows.length - 1 == rowIndex)
            return Formatter.setRowHeightInternal(this.tableInfo.currRowInfo.currLayoutTableRowInfo);
        const cellGridIndexLongCells = [];
        let height = 0;
        const tableCellGridInfos = this.grid.tableCellGridInfos;
        for (let layoutCell of this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowCells) {
            const cellGridIndex = layoutCell.cellGridIndex;
            if (tableCellGridInfos[rowIndex][cellGridIndex] === tableCellGridInfos[rowIndex + 1][cellGridIndex])
                cellGridIndexLongCells.push(cellGridIndex);
            else
                height = Math.max(height, layoutCell.height);
        }
        if (height == 0)
            return Formatter.setRowHeightInternal(this.tableInfo.currRowInfo.currLayoutTableRowInfo);
        const rows = this.grid.table.rows;
        if (cellGridIndexLongCells.length > 0 &&
            !utils_list.ListUtils.unsafeAnyOf(this.grid.tableCellInfos, (rowGridInfo, rowInd) => utils_list.ListUtils.unsafeAnyOf(rowGridInfo, (cellGridInfo, cellInd) => rows[rowInd].cells[cellInd].verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue ||
                !utils_list.ListUtils.unsafeAnyOf(cellGridIndexLongCells, (ind) => ind == cellGridInfo.getGridCellIndex())), rowIndex + 1)) {
            return Formatter.setRowHeightInternal(this.tableInfo.currRowInfo.currLayoutTableRowInfo);
        }
        this.tableInfo.currRowInfo.currLayoutTableRowInfo.height = height;
        return;
    }
    setRowHeight() {
        const rowIndex = this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowIndex;
        if (this.tableInfo.currRowInfo.howManyColumnsConsiderTableRow > 1)
            return this.setRowHeightWhenRowBelongsToManyColumns();
        const cells = this.grid.table.rows[rowIndex].cells;
        let maxCellHeightStartAndEndOnThisRow = 0;
        for (let cellIndex = 0, cell; cell = cells[cellIndex]; cellIndex++) {
            if (cell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.Continue)
                continue;
            const cellGridInfo = this.grid.tableCellInfos[rowIndex][cellIndex];
            if (rowIndex == cellGridInfo.getEndRowIndex() - 1) {
                const startRowIndexInColumn = Math.max(0, this.tableInfo.currLayoutTableColumnInfo.tableRows.length - cellGridInfo.getNumRowsInCell());
                const firstRowInCell = this.tableInfo.currLayoutTableColumnInfo.tableRows[startRowIndexInColumn];
                var gridCellIndex = cellGridInfo.getGridCellIndex();
                const topCell = utils_list.ListUtils.elementBy(firstRowInCell.rowCells, (cell) => cell.cellGridIndex == gridCellIndex);
                if (topCell)
                    maxCellHeightStartAndEndOnThisRow = Math.max(maxCellHeightStartAndEndOnThisRow, utils_list.ListUtils.accumulate(this.tableInfo.rows, topCell.height, (acc, rowInfo) => acc - rowInfo.heightInfo.contentHeight, firstRowInCell.rowIndex, rowIndex));
            }
        }
        for (let layoutCellInfo of this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowCells) {
            const cellGridInfo = this.grid.tableCellGridInfos[rowIndex][layoutCellInfo.cellGridIndex];
            const cellStartRowIndex = cellGridInfo.getStartRowIndex();
            const cell = cells[cellGridInfo.getCellIndex(rowIndex - cellStartRowIndex)];
            if (cell.verticalMerging == table_base_structures/* TableCellMergingState */.Z3.None)
                maxCellHeightStartAndEndOnThisRow = Math.max(maxCellHeightStartAndEndOnThisRow, layoutCellInfo.height);
        }
        const rowInfo = this.tableInfo.rows[rowIndex];
        const height = rowInfo.heightInfo;
        this.tableInfo.currRowInfo.currLayoutTableRowInfo.height = this.getRowHeight(rowInfo, Math.max(maxCellHeightStartAndEndOnThisRow, height.contentHeight));
        height.contentHeight = this.tableInfo.currRowInfo.currLayoutTableRowInfo.height;
    }
    extendCellHeightToRowHeight() {
        const rowHeight = this.tableInfo.currRowInfo.currLayoutTableRowInfo.height;
        for (let cellInfo of this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowCells)
            cellInfo.height = Math.max(cellInfo.height, rowHeight);
    }
    applyBottomHorizontalBordersChangesForPrevRow() {
        if (this.tableInfo.currLayoutTableColumnInfo.tableRows.length == 0)
            return;
        const rowIndex = this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowIndex;
        const isFirstRow = !rowIndex;
        const prevRowInfoRowIndex = utils_list.ListUtils.last(this.tableInfo.currLayoutTableColumnInfo.tableRows).rowIndex;
        const isPrevRowLastInTable = prevRowInfoRowIndex == this.grid.table.rows.length - 1;
        const cellSpacingPrevRow = this.tableInfo.rows[prevRowInfoRowIndex].cellSpacing;
        const prevRowHorizBorders = utils_list.ListUtils.last(this.tableInfo.currColumnHorizontalBorders);
        let delta = 0;
        if (cellSpacingPrevRow > 0) {
            const lastBrd = prevRowHorizBorders.pop();
            const lastLastBrd = prevRowHorizBorders.pop();
            const newBrd = this.tableInfo.bordersHelper.collectOneCellAndTableHorizontalBorders(rowIndex - 1, table_cell_properties_merger/* TableCellPropertiesMergerBorderBottom */.i, rowIndex, this.tableInfo.bordersHelper.borderHorizontal, true);
            prevRowHorizBorders.push(newBrd);
            delta = lastLastBrd.maxWidth + lastBrd.maxWidth - newBrd.maxWidth + (isPrevRowLastInTable ? cellSpacingPrevRow : 0);
        }
        else {
            const prevRowHorizBordersWidth = prevRowHorizBorders.pop().maxWidth;
            if (isFirstRow)
                delta = prevRowHorizBordersWidth;
        }
        if (delta == 0)
            return;
        this.tableInfo.currRowInfo.currLayoutTableRowInfo.height -= delta;
        for (let tblCell of this.tableInfo.currRowInfo.currLayoutTableRowInfo.rowCells) {
            tblCell.y -= delta;
            for (let row of tblCell.layoutRows)
                row.y -= delta;
        }
    }
    static getCellMargin(cellMargin) {
        return cellMargin.asNumberNoPercentType(class_unit_converter/* UnitConverter */.u.twipsToPixels);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/enums.ts
var LayoutFormatterState;
(function (LayoutFormatterState) {
    LayoutFormatterState[LayoutFormatterState["DocumentStart"] = 0] = "DocumentStart";
    LayoutFormatterState[LayoutFormatterState["PageStart"] = 1] = "PageStart";
    LayoutFormatterState[LayoutFormatterState["PageAreaStart"] = 2] = "PageAreaStart";
    LayoutFormatterState[LayoutFormatterState["ColumnStart"] = 3] = "ColumnStart";
    LayoutFormatterState[LayoutFormatterState["RowFormatting"] = 4] = "RowFormatting";
    LayoutFormatterState[LayoutFormatterState["ColumnEnd"] = 5] = "ColumnEnd";
    LayoutFormatterState[LayoutFormatterState["PageAreaEnd"] = 6] = "PageAreaEnd";
    LayoutFormatterState[LayoutFormatterState["PageEnd"] = 7] = "PageEnd";
    LayoutFormatterState[LayoutFormatterState["DocumentEnd"] = 8] = "DocumentEnd";
    LayoutFormatterState[LayoutFormatterState["End"] = 9] = "End";
})(LayoutFormatterState || (LayoutFormatterState = {}));

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/utils/last-row-info.ts


class LastRowInfo {
    constructor(paragraphs) {
        this._row = null;
        this._startPosition = 0;
        this._paragraphIndex = -1;
        this.paragraphs = paragraphs;
    }
    reset(rowFormatter) {
        this._row = null;
        this._startPosition = rowFormatter.getPosition();
        this._paragraphIndex = -1;
        this.isParIndexSet = true;
    }
    recalculateParagraphIndex(now) {
        this.isParIndexSet = false;
        if (now)
            this.calculateParagraphIndex();
    }
    setRowInfo(row, columnFullOffset, isNowRecalcParIndex) {
        this._row = row;
        this._startPosition = columnFullOffset + row.columnOffset;
        this.recalculateParagraphIndex(isNowRecalcParIndex);
    }
    setFullRowInfo(row, rowStartPos, parIndex) {
        this._row = row;
        this._startPosition = rowStartPos;
        this._paragraphIndex = parIndex;
        this.isParIndexSet = true;
    }
    setFullRowInfoAndCalculateParagraph(row, rowStartPos, calcImmediately) {
        this._row = row;
        this._startPosition = rowStartPos;
        this.recalculateParagraphIndex(calcImmediately);
    }
    get row() {
        return this._row;
    }
    get startPosition() {
        return this._startPosition;
    }
    get paragraphIndex() {
        if (!this.isParIndexSet)
            this.calculateParagraphIndex();
        return this._paragraphIndex;
    }
    calculateParagraphIndex() {
        this._paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(this.paragraphs, (p) => p.startLogPosition.value, this._startPosition);
        this.isParIndexSet = true;
    }
    isNextRowFirstInParagraph() {
        return !this._row || this._row.flags.get(layout_row/* LayoutRowStateFlags */.Kp.ParagraphEnd);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/utils/restart-preparer.ts













class RestartPreparer {
    constructor(manager) {
        this.manager = manager;
    }
    restartCommonPart(modelPosition) {
        if (this.manager.mainFormatter.rowFormatter.getPosition() < modelPosition) {
            this.manager.mainFormatter.rowFormatter.iterator.setPosition(this.manager.mainFormatter.rowFormatter.getPosition(), true, true);
            return false;
        }
        this.manager.mainFormatter.rowFormatter.numberingListCountersManager.reset();
        this.manager.mainFormatter.rowFormatter.setPosition(modelPosition, true, true);
        return true;
    }
    restartFromPage(pageIndex, isRestartNow, resetTableFormatter) {
        const restartPosition = this.calcRestartPosition(pageIndex);
        if (!this.restartCommonPart(restartPosition))
            return;
        const newLp = new layout_position/* LayoutPosition */.Yi(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None);
        newLp.pageIndex = pageIndex;
        const newLastRowInfo = new LastRowInfo(this.manager.mainFormatter.rowFormatter.subDocument.paragraphs);
        const prevPage = this.manager.layout.pages[pageIndex - 1];
        if (!prevPage)
            newLastRowInfo.reset(this.manager.mainFormatter.rowFormatter);
        else {
            const pageArea = utils_list.ListUtils.last(prevPage.mainSubDocumentPageAreas);
            const column = pageArea.getLastColumn();
            newLastRowInfo.setRowInfo(column.getLastRow(), prevPage.getPosition() + pageArea.pageOffset + column.pageAreaOffset, false);
        }
        const boundsCalculator = this.manager.boundsCalculator;
        boundsCalculator.init(this.manager.model.getSectionByPosition(restartPosition));
        this.manager.mainFormatter.setParamsForRestart(LayoutFormatterState.PageStart, newLp, newLastRowInfo, resetTableFormatter);
        if (isRestartNow)
            this.manager.runFormatting(pageIndex);
    }
    calcRestartPosition(pageIndex) {
        if (pageIndex == 0)
            return 0;
        const prevPage = this.manager.layout.pages[pageIndex - 1];
        const pageArea = utils_list.ListUtils.last(prevPage.mainSubDocumentPageAreas);
        const column = pageArea.getLastColumn();
        const row = column.getLastRow();
        const box = utils_list.ListUtils.last(row.boxes);
        const lastPosition = prevPage.getPosition() + pageArea.pageOffset + column.pageAreaOffset + row.columnOffset + box.rowOffset + box.getLength();
        const tableCellInfo = row.tableCellInfo;
        if (!tableCellInfo || tableCellInfo.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.StartOnThisColumn))
            return lastPosition;
        return Math.max(lastPosition, this.calcRestartPosition(pageIndex - 1));
    }
    restartHeaderFooterInternal(subDocument, pageIndex) {
        const page = this.manager.layout.pages[pageIndex];
        this.manager.changesManager.addPageChange(new PageChange(pageIndex, LayoutChangeType.Updated, [], []));
        if (subDocument.isHeader())
            this.manager.otherPageAreaFormatter.formatHeaderPageArea(page, subDocument.info);
        else
            this.manager.otherPageAreaFormatter.formatFooterPageArea(page, subDocument.info);
        this.manager.onPagesReady();
        this.restartFromPage(pageIndex, true, true);
    }
    restartFormatingAllLayout() {
        while (this.manager.layout.pages.shift())
            this.manager.changesManager.addPageChange(new PageChange(0, LayoutChangeType.Deleted, [], []));
        this.manager.layout.setEmptyLayout(this.manager.model.pageBackColor);
        this.manager.mainFormatter.rowFormatter.setPosition(0, true, true);
        this.manager.mainFormatter.rowFormatter.numberingListCountersManager.reset();
        const newLastRow = new LastRowInfo(this.manager.mainFormatter.rowFormatter.subDocument.paragraphs);
        newLastRow.reset(this.manager.mainFormatter.rowFormatter);
        this.manager.mainFormatter.setParamsForRestart(LayoutFormatterState.DocumentStart, null, newLastRow, true);
        this.manager.runFormatting(0);
    }
    restartByAnchoredObject(page) {
        const pageIndex = page.index;
        const subDocument = this.manager.mainFormatter.subDocument;
        if (!subDocument.tables.length)
            return this.restartFromPage(pageIndex, false, true);
        const lp = new layout_position/* LayoutPosition */.Yi(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page);
        lp.pageIndex = pageIndex;
        lp.page = page;
        let table = this.manager.invalidator.isPageStartWithMultipageTable(page);
        if (!table) {
            if (!this.manager.mainFormatter.tableFormatter || this.manager.activeFormatter.subDocument.isMain())
                return this.restartFromPage(pageIndex, false, true);
            return this.restartFromPage(pageIndex, false, false);
        }
        labelEnd: for (lp.pageAreaIndex = 0; lp.pageArea = lp.page.mainSubDocumentPageAreas[lp.pageAreaIndex]; lp.pageAreaIndex++) {
            for (lp.columnIndex = 0; lp.column = lp.pageArea.columns[lp.columnIndex]; lp.columnIndex++) {
                for (lp.rowIndex = 0; lp.row = lp.column.rows[lp.rowIndex]; lp.rowIndex++) {
                    if (!lp.row.tableCellInfo ||
                        lp.row.tableCellInfo.parentRow.parentTable.getTopLevelColumn().logicInfo.grid.table.index != table.index)
                        break labelEnd;
                }
            }
        }
        if (!lp.pageArea || !lp.column || !lp.row)
            return this.restartFromPage(pageIndex, false, true);
        this.restartFromRow(lp, this.manager.invalidator.getStartModelPositionOfRow(lp), false, false);
        this.manager.floatingRestartInfoHolder.init();
    }
    restartFromRow(lp, modelPosition, isRestartNow, removePrevAncObjects = true) {
        if (lp.isFirstRowOnPage())
            return this.restartFromPage(lp.page.index, isRestartNow, true);
        const mainFormatter = this.manager.mainFormatter;
        const newLastRowInfo = new LastRowInfo(mainFormatter.rowFormatter.subDocument.paragraphs);
        const prevRowLP = lp.clone();
        if (prevRowLP.advanceToPrevRow(this.manager.layout)) {
            newLastRowInfo.setRowInfo(prevRowLP.row, lp.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column) + prevRowLP.row.columnOffset, true);
        }
        else {
            newLastRowInfo.setRowInfo(null, 0, true);
        }
        if (!this.restartCommonPart(modelPosition))
            return;
        const pageChange = this.createNewLayoutPage(lp, modelPosition);
        if (removePrevAncObjects) {
            const ancPosInfo = this.manager.layout.anchorObjectsPositionInfo;
            const rowPos = this.manager.invalidator.getStartModelPositionOfRow(lp);
            lp.page.anchoredObjectHolder.objects = number/* NumberMapUtils */.j.reducedMap(lp.page.anchoredObjectHolder.objects, (obj) => {
                if (ancPosInfo.getPosition(obj.objectId) >= rowPos && lp.pageArea.subDocument.id === obj.belongsToSubDocId) {
                    if (obj.getType() === layout_box/* LayoutBoxType */.KH.AnchorTextBox) {
                        const id = obj.internalSubDocId;
                        delete lp.page.otherPageAreas[id];
                        pageChange.otherPageAreaChanges.push(new PageAreaChange(id, LayoutChangeType.Deleted));
                    }
                    else
                        pageChange.anchoredPictureChanges.push(new AnchoredPictureChange(obj.objectId, LayoutChangeType.Deleted));
                    return null;
                }
                else
                    return obj;
            });
        }
        this.setBoundsCalculatorState(modelPosition, lp.page, lp.pageIndex);
        const boundsCalculator = this.manager.boundsCalculator;
        const pageAreaBounds = utils_list.ListUtils.last(boundsCalculator.mainPageAreasBounds);
        const columnsBounds = utils_list.ListUtils.last(boundsCalculator.mainColumnsBounds);
        mainFormatter.setBoundsForRestart(pageAreaBounds, columnsBounds);
        const bounds = new fixed.FixedInterval(lp.pageArea.x + columnsBounds[lp.columnIndex].x, columnsBounds[lp.columnIndex].width);
        mainFormatter.layoutRowBoundsCalculator.resetByColumn(lp.page.anchoredObjectHolder.objects, bounds, false);
        mainFormatter.setParamsForRestart(LayoutFormatterState.RowFormatting, lp, newLastRowInfo, true);
        if (isRestartNow)
            this.manager.runFormatting(lp.page.index);
    }
    setBoundsCalculatorState(modelPosition, page, pageIndex) {
        const boundsCalculator = this.manager.boundsCalculator;
        boundsCalculator.init(this.manager.model.getSectionByPosition(modelPosition));
        const prevPage = this.manager.layout.pages[pageIndex - 1];
        boundsCalculator.calculatePageBounds(prevPage ? prevPage.bottom : 0);
        const layoutOtherPageAreasInfo = page.getLayoutOtherPageAreasInfo();
        if (layoutOtherPageAreasInfo.headerPageArea)
            boundsCalculator.setHeaderBounds(layoutOtherPageAreasInfo.headerPageArea.columns[0].height);
        if (layoutOtherPageAreasInfo.footerPageArea)
            boundsCalculator.setFooterBounds(layoutOtherPageAreasInfo.footerPageArea.columns[0].height);
        boundsCalculator.calculateMainPageAreaBounds(-1);
        boundsCalculator.calculateColumnBounds(boundsCalculator.mainPageAreasBounds[boundsCalculator.mainPageAreasBounds.length - 1]);
    }
    createNewLayoutPage(lp, modelPosition) {
        const pageChange = new PageChange(lp.pageIndex, LayoutChangeType.Updated, [], []);
        lp.page = lp.page.deepCopy();
        lp.pageArea = lp.page.mainSubDocumentPageAreas[lp.pageAreaIndex];
        lp.column = lp.pageArea.columns[lp.columnIndex];
        lp.row = lp.column.rows[lp.rowIndex];
        this.manager.removeRedundantHelper.removeRedundantPageAreas(lp.page, lp.pageAreaIndex + 1, pageChange);
        const pageAreaChange = new PageAreaChange(lp.pageAreaIndex, LayoutChangeType.Updated);
        pageChange.mainPageAreaChanges.push(pageAreaChange);
        this.manager.removeRedundantHelper.removeRedundantColumnsFromArea(lp.pageArea, lp.columnIndex + 1, pageAreaChange);
        const columnChange = new ColumnChange(lp.columnIndex, LayoutChangeType.Updated);
        pageAreaChange.columnChanges.push(columnChange);
        this.manager.removeRedundantHelper.removeRedundantRowsFromColumn(lp.column, lp.rowIndex, columnChange);
        const tblIndex = utils_list.ListUtils.indexBy(lp.column.tablesInfo, (tbl) => tbl.logicInfo.grid.table.getStartPosition() >= modelPosition);
        this.manager.removeRedundantHelper.removeRedundantTableInfosFromColumn(lp.column, tblIndex == -1 ? lp.column.tablesInfo.length : tblIndex, columnChange);
        return pageChange;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/base-formatter.ts





























class BaseFormatter {
    constructor(manager, subDocId) {
        this.layoutRowBoundsCalculator = new LayoutRowBoundsCalculator();
        this.pageBreakPositions = [];
        this.manager = manager;
        this.rowFormatter = new RowFormatter(manager, subDocId);
        this.state = LayoutFormatterState.PageAreaStart;
        this.stateMap = {};
        this.stateMap[LayoutFormatterState.PageAreaStart] = this.processStatePageAreaStart;
        this.stateMap[LayoutFormatterState.ColumnStart] = this.processStateColumnStart;
        this.stateMap[LayoutFormatterState.RowFormatting] = this.processStateRowFormatting;
        this.stateMap[LayoutFormatterState.ColumnEnd] = this.processStateColumnEnd;
    }
    initDocumentStart() {
        this.rowFormatter.documentStart();
        this.lastRowInfo = new LastRowInfo(this.subDocument.paragraphs);
        this.lastRowInfo.reset(this.rowFormatter);
    }
    get subDocument() {
        return this.rowFormatter.subDocument;
    }
    get currColumnHeight() {
        return this.layoutPosition.rowIndex == 0 ? 0 : this.layoutPosition.column.rows[this.layoutPosition.rowIndex - 1].bottom;
    }
    formatPageArea(pageAreaBounds, columnBounds, page) {
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "formatPageArea", `pageIndex: ${page.index}`);
        this.pageAreaBounds = pageAreaBounds;
        this.columnBounds = columnBounds;
        if (!this.layoutPosition) {
            this.layoutPosition = new layout_position/* LayoutPosition */.Yi(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None);
            this.layoutPosition.page = page;
            this.layoutPosition.pageIndex = page.index;
        }
        while (this.stateMap[this.state].call(this) && this.state != LayoutFormatterState.PageAreaEnd)
            ;
    }
    processStatePageAreaStart() {
        this.manager.activeFormatter = this;
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStatePageAreaStart", () => ` SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        this.createNextPageArea();
        if (this.subDocument.isMain())
            this.layoutPosition.page.mainSubDocumentPageAreas.push(this.layoutPosition.pageArea);
        else
            this.layoutPosition.page.otherPageAreas[this.subDocument.id] = this.layoutPosition.pageArea;
        return true;
    }
    processStateColumnStart() {
        this.manager.activeFormatter = this;
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStateColumnStart", () => ` SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        const columnBounds = this.columnBounds[this.layoutPosition.columnIndex];
        this.createNextColumn(columnBounds);
        this.layoutPosition.pageArea.columns.push(this.layoutPosition.column);
        if (this.tableFormatter)
            this.tableFormatter.columnStart(this.layoutPosition.column);
        const bounds = new fixed.FixedInterval(this.layoutPosition.pageArea.x + columnBounds.x, columnBounds.width);
        this.layoutRowBoundsCalculator.resetByColumn(this.layoutPosition.page.anchoredObjectHolder.objects, bounds, this.subDocument.isTextBox());
        return true;
    }
    initializeTextBoxSizeForAutoFitTables() {
        const tblPos = this.rowFormatter.getNextBoxWrapInfo().info.tablePosition[0];
        if (tblPos.rowIndex == 0 && tblPos.cellIndex == 0) {
            number/* NumberMapUtils */.j.forEach(this.manager.anchoredObjectsManager.textBoxContextSizeCalculators, (obj) => {
                const currTblPoss = obj.wrap.info.tablePosition;
                if (currTblPoss && currTblPoss[0].table.index == tblPos.table.index)
                    obj.calculateSize(this.manager.boundsCalculator);
            });
        }
    }
    processStateRowFormatting() {
        var _a;
        var _b;
        this.manager.activeFormatter = this;
        const currentPos = this.rowFormatter.getPosition();
        if (this.tryBreakPageByPosition(currentPos))
            return true;
        const wrap = this.rowFormatter.getNextBoxWrapInfo();
        const startRowOffset = wrap.box.rowOffset;
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStateRowFormatting", () => `pos:${startRowOffset}, SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        if (!this.tableFormatter && this.applyPageBreakBefore())
            return true;
        if (!this.tableFormatter && wrap.info.tablePosition) {
            const tableOffset = new geometry_point.Point(0, this.getTableStartYOffsetPosition());
            const tableMaxWidth = layout_column/* LayoutColumn */.r.findSectionColumnWithMinimumWidth(this.columnBounds);
            if (TableInfo.checkIsTableCannotBePlacedOnCurrentPage(this.rowFormatter, wrap.info.tablePosition[0].table, tableOffset.y, tableMaxWidth)) {
                if (this.layoutPosition.rowIndex > 0) {
                    (_a = (_b = wrap.info).pageIndexFromWhichTableWasMoved) !== null && _a !== void 0 ? _a : (_b.pageIndexFromWhichTableWasMoved = this.layoutPosition.pageIndex);
                    this.state = LayoutFormatterState.ColumnEnd;
                    return true;
                }
                else if (this.tryExcludeAnchoredObjectFromCurrentPage())
                    return true;
            }
            this.initializeTextBoxSizeForAutoFitTables();
            this.tableFormatter = new Formatter(this.rowFormatter, wrap.info.tablePosition, this.layoutPosition.column, tableMaxWidth, tableOffset, null, 0, null, null, wrap.info.pageIndexFromWhichTableWasMoved);
            this.tableFormatter.tableInfo.currLayoutTableColumnInfo.logicInfo.isEditable = this.tableIsEditable(this.tableFormatter.tableInfo.table);
        }
        const rowResult = this.createRow();
        if (rowResult.flags.get(RowFormatterResultFlag.NotEnoughChunks))
            return false;
        const addRowInTableResult = this.tableFormatter ?
            this.tableFormatter.addLayoutRow(rowResult, wrap.info) :
            new class_flag.Flag(AddRowToTableResult.RowAdded);
        if (addRowInTableResult.get(AddRowToTableResult.RowAdded)) {
            const row = rowResult.row;
            if (this.subDocument.isMain() && !this.tableFormatter && this.cantPlaceRowOnThisColumn(row)) {
                if (this.layoutPosition.rowIndex === 0) {
                    if (this.tryExcludeAnchoredObjectFromCurrentPage())
                        return true;
                }
                else {
                    this.rowFormatter.setPosition(startRowOffset, false, !this.tableFormatter);
                    this.state = LayoutFormatterState.ColumnEnd;
                    return true;
                }
            }
            this.pushRow(row, startRowOffset, rowResult.paragraphIndex);
            if (this.placeAnchorObjects(rowResult)) {
                if (this.tableFormatter) {
                    const bounds = new fixed.FixedInterval(this.layoutPosition.pageArea.x + this.layoutPosition.column.x +
                        this.layoutPosition.row.tableCellInfo.x, this.layoutPosition.row.tableCellInfo.width);
                    const obj = utils_list.ListUtils.elementBy(rowResult.newAnchoredObjects, (obj) => obj.levelType == layout_anchored_object_box/* AnchoredObjectLevelType */.a.InText);
                    this.layoutRowBoundsCalculator.addTableInTextObject(obj, bounds);
                    if (this.tableFormatter.resetCaseInTextAnchorObject(wrap.info, obj)) {
                        if (!this.layoutPosition.column.rows[0]) {
                            this.manager.floatingRestartInfoHolder.storeInfo(this.layoutPosition);
                            new RestartPreparer(this.manager).restartFromPage(this.layoutPosition.pageIndex, false, false);
                        }
                        else
                            this.state = LayoutFormatterState.ColumnEnd;
                    }
                }
                else {
                    this.manager.floatingRestartInfoHolder.storeInfo(this.layoutPosition);
                    new RestartPreparer(this.manager).restartByAnchoredObject(this.layoutPosition.page);
                    if (!this.subDocument.isMain())
                        this.state = LayoutFormatterState.PageAreaEnd;
                }
                this.isColumnOk();
                return true;
            }
            if (this.tableFormatter) {
                this.tableFormatter.actualFormatter.findNextCell(addRowInTableResult, wrap.info);
            }
        }
        if (this.tableFormatter)
            this.tableFormatter.applyResultOfTopLevelFormatters(addRowInTableResult, wrap.info);
        if (addRowInTableResult.get(AddRowToTableResult.TableFinished))
            this.tableFormatter = null;
        if (this.shouldEndColumn(addRowInTableResult)) {
            this.isColumnOk();
            this.state = LayoutFormatterState.ColumnEnd;
        }
        return true;
    }
    tryBreakPageByPosition(pos) {
        while (this.pageBreakPositions.length > 0 && pos >= this.pageBreakPositions[this.pageBreakPositions.length - 1]) {
            const position = this.pageBreakPositions.pop();
            if (position === pos) {
                this.finishPage();
                return true;
            }
        }
        return false;
    }
    tryExcludeAnchoredObjectFromCurrentPage() {
        const obj = this.layoutPosition.page.anchoredObjectHolder.getUnapprovedObj();
        if (obj && obj.belongsToSubDocId === sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID) {
            const ancPos = this.manager.layout.anchorObjectsPositionInfo.getPosition(obj.objectId);
            if (ancPos <= this.rowFormatter.getPosition())
                return false;
            this.pageBreakPositions.push(this.subDocument.getParagraphByPosition(ancPos).startLogPosition.value);
            this.manager.layout.anchorObjectsPositionInfo.delete(obj.objectId);
            this.layoutPosition.page.anchoredObjectHolder.removeObject(obj);
            new RestartPreparer(this.manager).restartFromPage(this.layoutPosition.pageIndex, false, false);
            return true;
        }
        return false;
    }
    shouldEndColumn(result) {
        const columnEndFlags = [layout_row/* LayoutRowStateFlags */.Kp.ColumnEnd, layout_row/* LayoutRowStateFlags */.Kp.DocumentEnd, layout_row/* LayoutRowStateFlags */.Kp.SectionEnd, layout_row/* LayoutRowStateFlags */.Kp.PageEnd];
        return result.get(AddRowToTableResult.GoToNextColumn) || result.get(AddRowToTableResult.RowAdded) && this.layoutPosition.row.flags.anyOf(...columnEndFlags);
    }
    processStateColumnEnd() {
        this.manager.activeFormatter = this;
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStateColumnEnd", () => ` SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        const createdColumn = this.layoutPosition.column;
        createdColumn.rows.sort((a, b) => a.columnOffset - b.columnOffset);
        BaseFormatter.correctRowOffsets(createdColumn);
        if (this.tableFormatter)
            this.tableFormatter.columnEnd();
        createdColumn.tablesInfo.sort((a, b) => a.logicInfo.grid.table.index - b.logicInfo.grid.table.index);
        utils_list.ListUtils.forEach(createdColumn.rows, (row, index) => {
            if (row.tableCellInfo)
                row.indexInColumn = index;
        });
        const lastRow = createdColumn.getLastRow();
        lastRow.flags.set(layout_row/* LayoutRowStateFlags */.Kp.ColumnEnd, true);
        if (this.manager.innerClientProperties.viewsSettings.isSimpleView) {
            const lastAnchorBox = number/* NumberMapUtils */.j.max(this.layoutPosition.page.anchoredObjectHolder.objects, a => a.bottom);
            const margins = this.manager.innerClientProperties.viewsSettings.paddings;
            const pageInfo = this.manager.innerClientProperties.viewsSettings.pageVerticalInfo;
            const lastRowBottomPos = lastRow.bottom + margins.top;
            const bottomPosition = lastAnchorBox ? Math.max(lastAnchorBox.bottom, lastRowBottomPos) : lastRowBottomPos;
            const minPageContentHeight = bottomPosition + margins.bottom;
            const minVisibleAreaHeight = minPageContentHeight +
                pageInfo.topMargin + pageInfo.topPageBorderWidth + pageInfo.bottomPageBorderWidth + pageInfo.bottomMargin;
            const diff = Math.floor(Math.max(0, this.manager.controlHeightProvider.getVisibleAreaHeight(false) - minVisibleAreaHeight));
            const finalPageHeight = minPageContentHeight + diff;
            const columnHeight = finalPageHeight - margins.vertical;
            this.layoutPosition.column.height = columnHeight;
            this.layoutPosition.pageArea.height = columnHeight;
            this.layoutPosition.page.height = finalPageHeight;
            this.layoutPosition.page.minContentHeight = minVisibleAreaHeight;
        }
        createdColumn.paragraphFrames = ParagraphFrameCollector.collect(this.manager.model.colorProvider, createdColumn, this.subDocument.isMain() ?
            this.layoutPosition.page.getPosition() + this.layoutPosition.pageArea.pageOffset : 0, this.subDocument.paragraphs);
        if (lastRow.flags.anyOf(layout_row/* LayoutRowStateFlags */.Kp.DocumentEnd, layout_row/* LayoutRowStateFlags */.Kp.PageEnd, layout_row/* LayoutRowStateFlags */.Kp.SectionEnd)) {
            this.layoutPosition.detailsLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea;
            this.state = LayoutFormatterState.PageAreaEnd;
        }
        else {
            if (this.layoutPosition.columnIndex + 1 < this.columnBounds.length) {
                this.state = LayoutFormatterState.ColumnStart;
                this.layoutPosition.columnIndex++;
                this.layoutPosition.column = null;
            }
            else
                this.state = LayoutFormatterState.PageAreaEnd;
        }
        return true;
    }
    createNextPageArea() {
        const newPageArea = new LayoutPageArea(this.subDocument);
        newPageArea.setGeomerty(this.pageAreaBounds);
        newPageArea.pageOffset = this.subDocument.isMain() ? 0 : this.rowFormatter.getPosition();
        this.state = LayoutFormatterState.ColumnStart;
        this.layoutPosition.pageArea = newPageArea;
        this.layoutPosition.columnIndex = 0;
        this.layoutPosition.column = null;
        this.layoutPosition.detailsLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea;
    }
    createNextColumn(columnBounds) {
        const newColumn = new layout_column/* LayoutColumn */.r();
        newColumn.setGeomerty(columnBounds);
        newColumn.pageAreaOffset = this.layoutPosition.columnIndex == 0 || !this.subDocument.isMain() ?
            0 :
            this.rowFormatter.getPosition() - this.layoutPosition.pageArea.pageOffset - this.layoutPosition.page.getPosition();
        this.state = LayoutFormatterState.RowFormatting;
        this.layoutPosition.column = newColumn;
        this.layoutPosition.rowIndex = 0;
        this.layoutPosition.detailsLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column;
    }
    pushRow(row, rowAbsStartPos, parIndex) {
        this.layoutPosition.row = row;
        this.layoutPosition.column.rows.push(row);
        this.layoutPosition.rowIndex++;
        this.lastRowInfo.setFullRowInfo(row, rowAbsStartPos, parIndex);
        BaseFormatter.correctBoxOffsets(row);
    }
    createRow() {
        const rowSpacingBeforeApplier = this.tableFormatter ?
            new TableRowSpacingBeforeApplier(this.lastRowInfo.row, this.subDocument.paragraphs, this.tableFormatter.isCurrLayoutRowIsFirstInCell, this.tableFormatter.isCurrTableCellFirstInRow, this.tableFormatter.isCurrTableRowIsFirstInTable) :
            new RowSpacingBeforeApplier(this.subDocument.documentModel.compatibilitySettings, this.lastRowInfo, this.subDocument.paragraphs, this.layoutPosition.rowIndex == 0);
        const offsetRelativeColumn = this.layoutPosition.getOffsetRelativeColumn();
        const absOffset = this.tableFormatter ?
            offsetRelativeColumn.clone().offsetByPoint(this.tableFormatter.currLayoutRowOffset) :
            this.getCurrOffsetForRow(offsetRelativeColumn);
        let minimumOfY = constants.Constants.MIN_SAFE_INTEGER;
        if (!this.tableFormatter && this.lastRowInfo.row && this.manager.innerClientProperties.viewsSettings.isSimpleView &&
            utils_list.ListUtils.unsafeAnyOf(this.lastRowInfo.row.boxes, b => utils_enum/* EnumUtils */.Y.isAnyOf(b.getType(), layout_box/* LayoutBoxType */.KH.ColumnBreak, layout_box/* LayoutBoxType */.KH.PageBreak, layout_box/* LayoutBoxType */.KH.SectionMark))) {
            const lastRowBottomPos = this.lastRowInfo.row.bottom;
            let ancObj = null;
            number/* NumberMapUtils */.j.forEach(this.layoutPosition.page.anchoredObjectHolder.objects, obj => {
                if (!obj.isInText() && (obj.bottom > lastRowBottomPos) &&
                    (!ancObj || obj.bottom > ancObj.bottom))
                    ancObj = obj;
            });
            if (ancObj)
                minimumOfY = ancObj.bottom + 1;
        }
        const maxLayoutRowWidth = this.tableFormatter ? this.tableFormatter.currLayoutRowContentWidth : this.layoutPosition.column.width;
        this.rowFormatter.formatRow(Math.max(minimumOfY, absOffset.y), new fixed.FixedInterval(absOffset.x, maxLayoutRowWidth), rowSpacingBeforeApplier);
        const rowResult = this.rowFormatter.result;
        if (rowResult.row)
            rowResult.row.moveRectangleByPoint(offsetRelativeColumn.multiply(-1, -1));
        return rowResult;
    }
    getCurrOffsetForRow(offsetRelativeColumn) {
        const prevRow = utils_list.ListUtils.last(this.layoutPosition.column.rows);
        if (!prevRow)
            return offsetRelativeColumn;
        const offset = offsetRelativeColumn.clone();
        offset.y += prevRow.tableCellInfo ?
            prevRow.tableCellInfo.parentRow.parentTable.getTopLevelColumn().bottom :
            prevRow.bottom;
        return offset;
    }
    applyPageBreakBefore() {
        const wrapInfo = this.rowFormatter.getNextBoxWrapInfo();
        if (wrapInfo && this.lastRowInfo.isNextRowFirstInParagraph() &&
            this.subDocument.paragraphs[wrapInfo.info.paragraphIndex].getParagraphMergedProperties().pageBreakBefore &&
            this.layoutPosition.rowIndex !== 0 && this.manager.innerClientProperties.viewsSettings.isPrintLayoutView) {
            this.finishPage();
            return true;
        }
        return false;
    }
    finishPage() {
        this.lastRowInfo.row.flags.set(layout_row/* LayoutRowStateFlags */.Kp.PageEnd, true);
        this.state = LayoutFormatterState.ColumnEnd;
    }
    cantPlaceRowOnThisColumn(row) {
        const lineBottom = row.y + row.lineHeight;
        return lineBottom > this.layoutPosition.column.height && row.hasEffectToPageHeight;
    }
    tableIsEditable(table) {
        const tableInterval = fixed.FixedInterval.fromPositions(table.getStartPosition(), table.getEndPosition());
        return this.subDocument.isEditable([tableInterval]);
    }
    placeAnchorObjects(rowResult) {
        if (!rowResult.newAnchoredObjects.length)
            return false;
        let needRestartFromPageStart = false;
        utils_list.ListUtils.forEach(rowResult.newAnchoredObjects, (obj) => {
            this.manager.layout.anchorObjectsPositionInfo.add(obj, obj.rowOffset);
            switch (obj.getType()) {
                case layout_box/* LayoutBoxType */.KH.AnchorTextBox: {
                    const textBox = obj;
                    if (textBox.internalSubDocId >= 0) {
                        this.manager.otherPageAreaFormatter.setTextBoxContent(this.layoutPosition.page, textBox);
                        this.layoutPosition.page.anchoredObjectHolder.addObject(this.manager, textBox);
                        const pageArea = this.layoutPosition.page.otherPageAreas[textBox.internalSubDocId];
                        const contentBounds = textBox.getContentBounds();
                        pageArea.x = contentBounds.x;
                        pageArea.y = contentBounds.y;
                    }
                    break;
                }
                case layout_box/* LayoutBoxType */.KH.AnchorPicture: {
                    this.layoutPosition.page.anchoredObjectHolder.addObject(this.manager, obj);
                    break;
                }
                default: throw new Error(errors/* Errors */.D.InternalException);
            }
            if (obj.levelType == layout_anchored_object_box/* AnchoredObjectLevelType */.a.InText)
                needRestartFromPageStart = true;
            else
                obj.isApproved = true;
        });
        return needRestartFromPageStart;
    }
    getTableStartYOffsetPosition() {
        if (!this.lastRowInfo.row || !this.layoutPosition.column.rows.length)
            return 0;
        if (!this.lastRowInfo.row.tableCellInfo)
            return this.lastRowInfo.row.bottom;
        return this.lastRowInfo.row.tableCellInfo.parentRow.parentTable.getTopLevelColumn().bottom;
    }
    static correctColumnOffsets(pageArea) {
        const columns = pageArea.columns;
        if (!columns.length)
            return;
        const offsetFirstColumnFromPageArea = columns[0].pageAreaOffset;
        if (offsetFirstColumnFromPageArea != 0) {
            pageArea.pageOffset += offsetFirstColumnFromPageArea;
            for (let column of columns)
                column.pageAreaOffset -= offsetFirstColumnFromPageArea;
        }
    }
    static correctRowOffsets(column) {
        const rows = column.rows;
        if (!rows.length)
            return;
        const offsetFirstRowFromColumn = rows[0].columnOffset;
        if (offsetFirstRowFromColumn != 0) {
            column.pageAreaOffset += offsetFirstRowFromColumn;
            for (let row of rows)
                row.columnOffset -= offsetFirstRowFromColumn;
        }
    }
    static correctBoxOffsets(row) {
        const boxes = row.boxes;
        if (!boxes)
            return;
        const offsetFirstBoxFromRow = boxes[0].rowOffset;
        if (offsetFirstBoxFromRow != 0) {
            row.columnOffset += offsetFirstBoxFromRow;
            for (let box of boxes)
                box.rowOffset -= offsetFirstBoxFromRow;
        }
    }
    isColumnOk() {
        if (this.state == LayoutFormatterState.ColumnEnd && !this.layoutPosition.column.rows[0])
            throw new Error(errors/* Errors */.D.InternalException);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-page.ts + 3 modules
var layout_page = __webpack_require__(484);
// EXTERNAL MODULE: ./src/common/model/section/enums.ts
var section_enums = __webpack_require__(8311);
// EXTERNAL MODULE: ./src/common/model/section/section.ts
var section_section = __webpack_require__(9362);
// EXTERNAL MODULE: ./src/common/model/section/section-properties.ts
var section_properties = __webpack_require__(8012);
;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/engine/table-cells-comparer.ts
class TableCellsComparer {
    constructor() {
        this.cache = {};
    }
    reset() {
        this.cache = {};
    }
    isEquivalent(layoutRowA, layoutRowB) {
        const tableCellA = layoutRowA.tableCellInfo;
        const tableCellB = layoutRowB.tableCellInfo;
        if (!tableCellA && !tableCellB)
            return true;
        if (tableCellA && !tableCellB || !tableCellA && tableCellB)
            return false;
        return this.isCellsEquivalent(tableCellA, tableCellB) &&
            TableCellsComparer.rowsEqualIndex(tableCellA, layoutRowA, tableCellB, layoutRowB);
    }
    isCellsEquivalent(tableCellA, tableCellB) {
        const keyA = TableCellsComparer.getKey(tableCellA);
        const keyB = TableCellsComparer.getKey(tableCellB);
        let cache = this.cache[keyA];
        if (!cache)
            cache = this.cache[keyA] = {};
        const cacheCellsEquivalent = cache[keyB];
        return cacheCellsEquivalent === undefined ? cache[keyB] = TableCellsComparer.compareCells(tableCellA, tableCellB) : cacheCellsEquivalent;
    }
    static compareCells(tableCellA, tableCellB) {
        const tableRowA = tableCellA.parentRow;
        const tableRowB = tableCellB.parentRow;
        const tableA = tableRowA.parentTable;
        const tableB = tableRowB.parentTable;
        return tableA.logicInfo.grid.table == tableB.logicInfo.grid.table &&
            tableRowA.rowIndex == tableRowB.rowIndex &&
            tableCellA.cellGridIndex == tableCellB.cellGridIndex &&
            tableCellA.layoutRows.length == tableCellB.layoutRows.length &&
            TableCellsComparer.equalLengthAndPosition(tableRowA.rowCells, tableCellA, tableRowB.rowCells, tableCellB) &&
            TableCellsComparer.equalLengthAndPosition(tableA.tableRows, tableRowA, tableB.tableRows, tableRowB);
    }
    static equalLengthAndPosition(listA, elemA, listB, elemB) {
        return listA.length == listB.length && listA.indexOf(elemA) == listB.indexOf(elemB);
    }
    static getKey(tableCellA) {
        const row = tableCellA.parentRow;
        return row.parentTable.logicInfo.grid.table.index << (16 * 2) | row.rowIndex << 16 | tableCellA.cellGridIndex;
    }
    static rowsEqualIndex(tableCellA, layoutRowA, tableCellB, layoutRowB) {
        return tableCellA.layoutRows.indexOf(layoutRowA) == tableCellB.layoutRows.indexOf(layoutRowB);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/engine/page-changes-collector.ts









class PageChangesCollector {
    static collectHeaderFooterChanges(pageIndex, oldPageAreas, newPageAreas) {
        return new PageChange(pageIndex, LayoutChangeType.Updated, [], PageChangesCollector.collectMapChanges(oldPageAreas, newPageAreas, PageAreaChange, (_a, _b) => true, PageChangesCollector.collectColumnsChanges));
    }
    static collectPageChanges(layoutPages, newPage) {
        const oldPage = layoutPages[newPage.index];
        if (oldPage) {
            const change = number/* NumberMapUtils */.j.anyOf(newPage.anchoredObjectHolder.objects, (newObj, id) => {
                const oldObj = oldPage.anchoredObjectHolder.objects[id];
                return oldObj && newObj.rendererLevel != oldObj.rendererLevel ? new PageChange(newPage.index, LayoutChangeType.Replaced) : null;
            });
            if (change)
                return change;
            if (!oldPage.renderLevelCalculator.equals(newPage.renderLevelCalculator))
                return new PageChange(newPage.index, LayoutChangeType.Replaced);
        }
        return PageChangesCollector.makeChange(oldPage, newPage, newPage.index, PageChange, (a, b) => a.equals(b) && a.layoutPageIndex == b.layoutPageIndex, (pChange, oldPage, newPage) => {
            pChange.mainPageAreaChanges = PageChangesCollector.collectListChanges(oldPage.mainSubDocumentPageAreas, newPage.mainSubDocumentPageAreas, PageAreaChange, (_a, _b) => true, PageChangesCollector.collectColumnsChanges);
            pChange.anchoredPictureChanges = PageChangesCollector.collectMapChanges(PageChangesCollector.getOnlyPictureObjects(oldPage.anchoredObjectHolder.objects), PageChangesCollector.getOnlyPictureObjects(newPage.anchoredObjectHolder.objects), AnchoredPictureChange, (a, b) => a.equals(b), (_change, _a, _b) => { });
            pChange.otherPageAreaChanges = PageChangesCollector.collectMapChanges(oldPage.otherPageAreas, newPage.otherPageAreas, PageAreaChange, (a, b) => {
                return a.subDocument.isTextBox() ?
                    oldPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(a.subDocument.id)
                        .equals(newPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(b.subDocument.id)) : true;
            }, PageChangesCollector.collectColumnsChanges);
        }).reduceChanges();
    }
    static getOnlyPictureObjects(objs) {
        return number/* NumberMapUtils */.j.reducedMap(objs, (o) => o.getType() == layout_box/* LayoutBoxType */.KH.AnchorPicture ? o : null);
    }
    static collectColumnsChanges(paChange, oldPA, newPA) {
        const tableCellsComparer = new TableCellsComparer();
        paChange.columnChanges = PageChangesCollector.collectListChanges(oldPA.columns, newPA.columns, ColumnChange, (_a, _b) => true, (colChange, oldCol, newCol) => {
            colChange.rowChanges = PageChangesCollector.collectListChanges(oldCol.rows, newCol.rows, RowChange, (a, b) => PageChangesCollector.isLayoutRowEquivalent(a, b, tableCellsComparer), (_rowChange, _oldRow, _newRow) => { });
            colChange.paragraphFrameChanges = ParagraphFrameChangesCollector.collect(oldCol.paragraphFrames, newCol.paragraphFrames);
            colChange.tableChanges = PageChangesCollector.collectListChanges(oldCol.tablesInfo, newCol.tablesInfo, TableChange, (a, b) => a === b, (_tableChange, _oldTblColInfo, _newTblColInfo) => { });
        });
    }
    static collectListChanges(oldObjects, newObjects, changeConctructor, equals, fillChange) {
        const changes = [];
        for (let ind = 0, newObj; newObj = newObjects[ind]; ind++)
            changes.push(PageChangesCollector.makeChange(oldObjects[ind], newObj, ind, changeConctructor, (a, b) => a.equals(b) && equals(a, b), fillChange));
        utils_list.ListUtils.reverseForEach(oldObjects, (_oldObj, ind) => changes.push(new changeConctructor(ind, LayoutChangeType.Deleted)), oldObjects.length - 1, newObjects.length);
        return changes;
    }
    static collectMapChanges(oldObjects, newObjects, changeConctructor, equals, fillChange) {
        const changes = [];
        const tmpOldObj = number/* NumberMapUtils */.j.map(oldObjects, (obj) => obj);
        number/* NumberMapUtils */.j.forEach(newObjects, (newObj, id) => {
            changes.push(PageChangesCollector.makeChange(tmpOldObj[id], newObj, id, changeConctructor, (a, b) => a.equals(b) && equals(a, b), fillChange));
            delete tmpOldObj[id];
        });
        number/* NumberMapUtils */.j.forEach(tmpOldObj, (_oldObj, ind) => changes.push(new changeConctructor(ind, LayoutChangeType.Deleted)));
        return changes;
    }
    static makeChange(oldObj, newObj, index, changeConctructor, equals, fillChange) {
        if (!oldObj) {
            return new changeConctructor(index, LayoutChangeType.Inserted);
        }
        if (equals(oldObj, newObj)) {
            const change = new changeConctructor(index, LayoutChangeType.Updated);
            fillChange(change, oldObj, newObj);
            return change;
        }
        return new changeConctructor(index, LayoutChangeType.Replaced);
    }
    static isLayoutRowEquivalent(rowA, rowB, tableCellsComparer) {
        if (rowA.x != rowB.x || rowA.y != rowB.y || rowA.width != rowB.width ||
            rowA.height != rowB.height || rowA.baseLine != rowB.baseLine || rowA.boxes.length != rowB.boxes.length ||
            rowA.bookmarkBoxes.length != rowB.bookmarkBoxes.length ||
            (rowA.tableCellInfo ? rowA.indexInColumn != rowB.indexInColumn : false))
            return false;
        return utils_list.ListUtils.anyOf2(rowA.boxes, rowB.boxes, (boxA, boxB) => !boxA.equals(boxB)) ||
            utils_list.ListUtils.anyOf2(rowA.bookmarkBoxes, rowB.bookmarkBoxes, (boxA, boxB) => !boxA.equals(boxB)) ||
            !(rowA.numberingListBox ? rowA.numberingListBox.equals(rowB.numberingListBox) : !rowB.numberingListBox) ?
            false :
            tableCellsComparer.isEquivalent(rowA, rowB);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/main-formatter.ts






















var TryReusePageResult;
(function (TryReusePageResult) {
    TryReusePageResult[TryReusePageResult["CreateNewPage"] = 1] = "CreateNewPage";
    TryReusePageResult[TryReusePageResult["UseOldPage"] = 2] = "UseOldPage";
    TryReusePageResult[TryReusePageResult["RestartFromTableStartPosition"] = 3] = "RestartFromTableStartPosition";
})(TryReusePageResult || (TryReusePageResult = {}));
class MainFormatter extends BaseFormatter {
    constructor(formatterManager) {
        super(formatterManager, sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID);
        this.state = LayoutFormatterState.DocumentStart;
        this.stateMap[LayoutFormatterState.DocumentStart] = this.processStateDocumentStart;
        this.stateMap[LayoutFormatterState.PageStart] = this.processStatePageStart;
        this.stateMap[LayoutFormatterState.PageAreaEnd] = this.processStatePageAreaEnd;
        this.stateMap[LayoutFormatterState.PageEnd] = this.processStatePageEnd;
        this.stateMap[LayoutFormatterState.DocumentEnd] = this.processStateDocumentEnd;
        this.stateMap[LayoutFormatterState.End] = this.processStateEnd;
    }
    formatNext() {
        do {
            if (!this.stateMap[this.state].call(this))
                return false;
        } while (MainFormatter.notAllowBreakOnState[this.state](this.layoutPosition));
        return true;
    }
    processStateDocumentStart() {
        this.manager.activeFormatter = this;
        this.initDocumentStart();
        this.layoutPosition = new layout_position/* LayoutPosition */.Yi(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None);
        this.layoutPosition.pageIndex = 0;
        this.state = LayoutFormatterState.PageStart;
        return true;
    }
    processStatePageStart() {
        this.manager.activeFormatter = this;
        const wrap = this.rowFormatter.iterator.getWrap(false);
        if (!wrap)
            return false;
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStatePageStart", () => `SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        const pages = this.manager.layout.pages;
        const boundsCalculator = this.manager.boundsCalculator;
        const prevPage = pages[this.layoutPosition.pageIndex - 1];
        const layoutPageIndex = prevPage ? prevPage.layoutPageIndex + 1 : 0;
        boundsCalculator.initWhenPageStart(layoutPageIndex);
        const prevPageSection = !prevPage ? null : this.manager.model.getSectionByPosition(prevPage.getPosition());
        const currentPageSectionIndex = wrap.info.sectionIndex;
        const currentPageSection = this.manager.model.sections[currentPageSectionIndex];
        const isFirstPageOfSection = prevPageSection != currentPageSection;
        const isMirrorMargins = this.manager.model.mirrorMargins;
        if (this.manager.innerClientProperties.viewsSettings.isSimpleView) {
            const widthForSimpleView = this.manager.innerClientProperties.viewsSettings.widthOfPage;
            const section = new section_section/* Section */.$(currentPageSection.documentModel, currentPageSection.startLogPosition, currentPageSection.getLength(), section_properties/* SectionProperties */.I.createSimpleSectionProperties(widthForSimpleView, constants.Constants.MAX_SAFE_INTEGER));
            section.sectionProperties.margins.copyFrom(this.manager.innerClientProperties.viewsSettings.paddings);
            section.sectionProperties.margins.applyConverter(class_unit_converter/* UnitConverter */.u.pixelsToTwips);
            boundsCalculator.init(section);
            boundsCalculator.setHeaderBounds(0);
            boundsCalculator.setFooterBounds(0);
        }
        else if (isFirstPageOfSection || isMirrorMargins)
            boundsCalculator.init(currentPageSection);
        boundsCalculator.calculatePageBounds(prevPage ? prevPage.bottom : 0);
        const tryReuseResult = this.manager.floatingRestartInfoHolder.isRestartByAnchorObjects ?
            [TryReusePageResult.CreateNewPage] :
            this.tryReusePage(boundsCalculator.pageBounds);
        switch (tryReuseResult[0]) {
            case TryReusePageResult.CreateNewPage:
                this.createNextPage(boundsCalculator.pageBounds);
                this.manager.floatingRestartInfoHolder.setCalculatedObjects(this.layoutPosition);
                break;
            case TryReusePageResult.UseOldPage:
                break;
            case TryReusePageResult.RestartFromTableStartPosition:
                this.manager.invalidator.onIntervalChanged(this.subDocument.id, new fixed.FixedInterval(tryReuseResult[1], 1));
                return true;
        }
        const pageIndex = this.layoutPosition.pageIndex;
        const actualPage = this.layoutPosition.page;
        actualPage.flags.set(layout_page/* LayoutPageFlags */.m3.IsFirstPageOfSection, isFirstPageOfSection);
        actualPage.index = pageIndex;
        actualPage.layoutPageIndex = layoutPageIndex;
        actualPage.pageOrdinal = this.calculatePageOrdinal(prevPage, isFirstPageOfSection, currentPageSection);
        actualPage.startPageSectionIndex = currentPageSectionIndex;
        const isEvenPage = (0,common.isEven)(layoutPageIndex);
        if (prevPage && isFirstPageOfSection && ((currentPageSection.sectionProperties.startType === section_enums/* SectionStartType */.tk.EvenPage && !isEvenPage) ||
            (currentPageSection.sectionProperties.startType === section_enums/* SectionStartType */.tk.OddPage && isEvenPage)))
            actualPage.layoutPageIndex++;
        if (!this.manager.innerClientProperties.viewsSettings.isSimpleView) {
            this.formatOtherHeaderFooterPageArea(currentPageSection.headers, (obj) => this.manager.otherPageAreaFormatter.formatHeaderPageArea(actualPage, obj));
            if (this.manager.floatingRestartInfoHolder.isRestartByAnchorObjects)
                return true;
            this.formatOtherHeaderFooterPageArea(currentPageSection.footers, (obj) => this.manager.otherPageAreaFormatter.formatFooterPageArea(actualPage, obj));
            if (this.manager.floatingRestartInfoHolder.isRestartByAnchorObjects)
                return true;
        }
        boundsCalculator.calculateMainPageAreaBounds(-1);
        boundsCalculator.calculateColumnBounds(utils_list.ListUtils.last(boundsCalculator.mainPageAreasBounds));
        this.pageAreaBounds = utils_list.ListUtils.last(boundsCalculator.mainPageAreasBounds);
        this.columnBounds = utils_list.ListUtils.last(boundsCalculator.mainColumnsBounds);
        return true;
    }
    calculatePageOrdinal(prevPage, firstPageOfSection, currentSection) {
        var _a;
        const nextPageOrdinalType = currentSection.sectionProperties.startType;
        let pageOrdinal;
        if (firstPageOfSection && !currentSection.sectionProperties.continueNumbering)
            pageOrdinal = currentSection.sectionProperties.firstPageNumber;
        else
            pageOrdinal = ((_a = prevPage === null || prevPage === void 0 ? void 0 : prevPage.pageOrdinal) !== null && _a !== void 0 ? _a : 0) + 1;
        const isPageOrdinalOdd = ((pageOrdinal) % 2) != 0;
        switch (nextPageOrdinalType) {
            case section_enums/* SectionStartType */.tk.OddPage:
                if (isPageOrdinalOdd)
                    return pageOrdinal;
                else
                    return pageOrdinal + 1;
            case section_enums/* SectionStartType */.tk.EvenPage:
                if (!isPageOrdinalOdd)
                    return pageOrdinal;
                else
                    return pageOrdinal + 1;
            default:
            case section_enums/* SectionStartType */.tk.Continuous:
                return pageOrdinal;
        }
    }
    processStatePageAreaEnd() {
        this.manager.activeFormatter = this;
        BaseFormatter.correctColumnOffsets(this.layoutPosition.pageArea);
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStatePageAreaEnd", () => `SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        this.layoutPosition.detailsLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page;
        this.state = LayoutFormatterState.PageEnd;
        return true;
    }
    processStatePageEnd() {
        this.manager.activeFormatter = this;
        const layout = this.manager.layout;
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStatePageEnd", () => `SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        const createdPage = this.layoutPosition.page;
        createdPage.anchoredObjectHolder.removeOrphanedObjects(this);
        createdPage.isValid = true;
        MainFormatter.correctPageOffsets(createdPage);
        this.state = this.lastRowInfo.row.flags.get(layout_row/* LayoutRowStateFlags */.Kp.DocumentEnd) ?
            LayoutFormatterState.DocumentEnd : LayoutFormatterState.PageStart;
        if (!this.tableFormatter) {
            layout.validPageCount = this.layoutPosition.pageIndex + 1;
            layout.lastMaxNumPages = Math.max(layout.lastMaxNumPages, createdPage.layoutPageIndex + 1);
        }
        createdPage.calculateContentIntervals(this.manager.layout.anchorObjectsPositionInfo, false);
        createdPage.setRenderLevelCalculator(this.manager.layout.anchorObjectsPositionInfo, this.manager.model.compatibilitySettings.compatibilityMode);
        const pageChange = PageChangesCollector.collectPageChanges(layout.pages, createdPage);
        this.manager.changesManager.addPageChange(pageChange);
        this.copyFlagsFromOldPage(layout.pages[createdPage.index], createdPage);
        layout.pages[createdPage.index] = createdPage;
        const tblCellInfo = utils_list.ListUtils.last(createdPage.mainSubDocumentPageAreas[0].columns[0].rows).tableCellInfo;
        if (!tblCellInfo ||
            tblCellInfo.parentRow.rowIndex == tblCellInfo.parentRow.parentTable.logicInfo.grid.table.rows.length - 1 &&
                !tblCellInfo.parentRow.parentTable.isBoundWithNext())
            this.manager.onPagesReady();
        this.layoutPosition.detailsLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None;
        this.layoutPosition.pageIndex++;
        this.layoutPosition.page = null;
        return true;
    }
    processStateDocumentEnd() {
        this.manager.activeFormatter = this;
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStateDocumentEnd", () => `SubDocId: ${this.subDocument.id}, LayPos: ${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        const layout = this.manager.layout;
        this.manager.removeRedundantHelper.removeRedundantPage(layout, layout.validPageCount);
        layout.isFullyFormatted = true;
        layout.lastMaxNumPages = utils_list.ListUtils.last(this.manager.layout.pages).layoutPageIndex + 1;
        this.manager.layoutDependentRunCache.recalculateHeaderFooterPageAreas();
        this.manager.onPagesReady();
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "processStateDocumentEnd(end)\n", log/* Log */.Z.w(3, log/* Log */.Z.join)("\n")(log/* Log */.Z.map((page, index) => `\tPage[${index}]Intervals: ${log_list_helper/* LogListHelper */.r.level_1(log_obj_to_str/* LogObjToStr */.I.fixedInterval, page.getContentIntervals(), "\t\t", "\t")()}`, this.manager.layout.pages)));
        this.state = LayoutFormatterState.End;
        this.manager.anchoredObjectsManager.reset();
        return false;
    }
    processStateEnd() {
        return false;
    }
    copyFlagsFromOldPage(oldPage, createdPage) {
        if (oldPage) {
            const oldFlags = oldPage.flags.clone();
            oldFlags.set(layout_page/* LayoutPageFlags */.m3.IsFirstPageOfSection, createdPage.flags.get(layout_page/* LayoutPageFlags */.m3.IsFirstPageOfSection));
            oldFlags.set(layout_page/* LayoutPageFlags */.m3.IsIntervalsCorrect, createdPage.flags.get(layout_page/* LayoutPageFlags */.m3.IsIntervalsCorrect));
            createdPage.flags = oldFlags;
        }
    }
    createNextPage(pageBounds) {
        const newPage = new layout_page/* LayoutPage */.jj();
        newPage.setGeomerty(pageBounds);
        newPage.setAbsolutePosition(this.rowFormatter.getPosition());
        this.state = LayoutFormatterState.PageAreaStart;
        this.layoutPosition.page = newPage;
        this.layoutPosition.pageAreaIndex = 0;
        this.layoutPosition.pageArea = null;
        this.layoutPosition.detailsLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page;
    }
    tryReusePage(pageBounds) {
        const pages = this.manager.layout.pages;
        const page = pages[this.layoutPosition.pageIndex];
        if (!page || !page.isValid || this.tableFormatter || !page.equals(pageBounds) || page.getPosition() != this.rowFormatter.getPosition())
            return [TryReusePageResult.CreateNewPage];
        this.layoutPosition.pageAreaIndex = page.mainSubDocumentPageAreas.length - 1;
        const pageArea = utils_list.ListUtils.last(page.mainSubDocumentPageAreas);
        const column = pageArea.getLastColumn();
        this.lastRowInfo.setRowInfo(column.getLastRow(), page.getPosition() + pageArea.pageOffset + column.pageAreaOffset, false);
        const firstBoundWithNextCellOnPage = LayoutTableColumnInfo.getFirstCellInPageThatBoundWithCellPlacedInNextPage(column.tablesInfo);
        const nextBoxIteratorPosition = firstBoundWithNextCellOnPage ?
            page.getPosition() + pageArea.pageOffset + column.pageAreaOffset + firstBoundWithNextCellOnPage.getEndPosition() :
            page.getEndPosition();
        const nextPage = this.manager.layout.pages[page.index + 1];
        const tableColumn = this.getLastWidowTableColumn(column);
        if (tableColumn &&
            (!nextPage || !nextPage.isValid || nextBoxIteratorPosition != nextPage.getPosition())) {
            return [TryReusePageResult.RestartFromTableStartPosition, this.getTableRestartPosition(tableColumn)];
        }
        this.rowFormatter.setPosition(nextBoxIteratorPosition, false, !this.tableFormatter);
        this.state = LayoutFormatterState.PageEnd;
        this.layoutPosition.detailsLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page;
        this.layoutPosition.page = page.deepCopy();
        return [TryReusePageResult.UseOldPage];
    }
    getTableRestartPosition(tableColumn) {
        return tableColumn.getTopLevelColumn().logicInfo.grid.table.interval.start;
    }
    getLastWidowTableColumn(column) {
        if (!column.tablesInfo[0])
            return null;
        const index = this.getWidowTableLastColumnIndex(column);
        return column.tablesInfo[index];
    }
    getWidowTableLastColumnIndex(column) {
        const lastTable = column.tablesInfo[0].logicInfo.grid.table;
        for (let i = 1; i < column.tablesInfo.length; i++) {
            if (lastTable != column.tablesInfo[i].logicInfo.grid.table)
                return i - 1;
        }
        return column.tablesInfo.length - 1;
    }
    formatOtherHeaderFooterPageArea(container, format) {
        const isEvenPage = (0,common.isEven)(this.layoutPosition.page.layoutPageIndex);
        const isFirstPageOfSection = this.layoutPosition.page.flags.get(layout_page/* LayoutPageFlags */.m3.IsFirstPageOfSection);
        const actualObject = container.getActualObject(isFirstPageOfSection, isEvenPage);
        format(actualObject);
    }
    setParamsForRestart(state, newLp, newLastRowInfo, resetTableFormatter) {
        this.state = state;
        this.layoutPosition = newLp;
        this.lastRowInfo = newLastRowInfo;
        if (resetTableFormatter)
            this.tableFormatter = null;
    }
    setBoundsForRestart(pageAreaBounds, columnBounds) {
        this.pageAreaBounds = pageAreaBounds;
        this.columnBounds = columnBounds;
    }
    static correctPageOffsets(page) {
        const pageAreas = page.mainSubDocumentPageAreas;
        if (!pageAreas.length)
            return;
        const offsetFirstPageAreaFromPage = pageAreas[0].pageOffset;
        if (offsetFirstPageAreaFromPage != 0) {
            page.setAbsolutePosition(page.getPosition() + offsetFirstPageAreaFromPage);
            for (let pageArea of pageAreas)
                pageArea.pageOffset -= offsetFirstPageAreaFromPage;
        }
    }
}
MainFormatter.notAllowBreakOnState = {
    [LayoutFormatterState.DocumentStart]: (_lp) => true,
    [LayoutFormatterState.PageStart]: (lp) => lp.pageIndex == 0,
    [LayoutFormatterState.PageAreaStart]: (lp) => lp.pageAreaIndex == 0,
    [LayoutFormatterState.ColumnStart]: (lp) => lp.columnIndex == 0,
    [LayoutFormatterState.RowFormatting]: (lp) => lp.rowIndex == 0,
    [LayoutFormatterState.DocumentEnd]: (_lp) => false,
    [LayoutFormatterState.PageEnd]: (_lp) => false,
    [LayoutFormatterState.PageAreaEnd]: (_lp) => false,
    [LayoutFormatterState.ColumnEnd]: (_lp) => false,
};

// EXTERNAL MODULE: ./src/common/model/changes/enums.ts
var changes_enums = __webpack_require__(300);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-character-enums.ts
var json_character_enums = __webpack_require__(1763);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-floating-enums.ts
var json_floating_enums = __webpack_require__(1);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-list-enums.ts
var json_list_enums = __webpack_require__(3006);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-paragraph-enums.ts
var json_paragraph_enums = __webpack_require__(7936);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-section-enums.ts
var json_section_enums = __webpack_require__(1466);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-cell-enums.ts
var json_table_cell_enums = __webpack_require__(8356);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-enums.ts
var json_table_enums = __webpack_require__(3128);
// EXTERNAL MODULE: ./src/common/model/json/enums/table/json-table-row-enums.ts
var json_table_row_enums = __webpack_require__(400);
;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/model-changes-listener.ts

















class ModelChangesListener {
    constructor(invalidator) {
        this.invalidator = invalidator;
    }
    modelChanged(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.PageColor: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.PageColor", `pageColor:${change.newColor}`);
                this.invalidator.onChangedAllLayout();
                break;
            }
            case changes_enums/* ModelChangeType */.f.DefaultTabWidth: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.DefaultTabWidth", `defaultTabWidth:${change.newDefaultTabWidth}`);
                this.invalidator.onChangedAllLayout();
                break;
            }
            case changes_enums/* ModelChangeType */.f.DifferentOddAndEvenPages: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.DifferentOddAndEvenPages", `newValue:${change.newValue}`);
                this.invalidator.onChangedAllLayout();
                break;
            }
            case changes_enums/* ModelChangeType */.f.HeaderFooterCreated: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.HeaderFooterCreated", () => `isHeader:${change.isHeader}, type:${section_enums/* HeaderFooterType */.pi[change.headerFooterType]}, subDocumentInfo:${log_obj_to_str/* LogObjToStr */.I.headerFooterSubDocumentInfoBase(change.subDocumentInfo)}`);
                this.invalidator.onChangedAllLayout();
                break;
            }
            case changes_enums/* ModelChangeType */.f.HeaderFooterIndexChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.HeaderFooterIndexChanged", () => `sectionIndex:${change.sectionIndex}, isHeader:${change.isHeader}, type:${section_enums/* HeaderFooterType */.pi[change.headerFooterType]}, newIndex:${change.newIndex}`);
                this.invalidator.onHeaderFooterIndexChanged(change.sectionIndex, change.headerFooterType);
                break;
            }
            case changes_enums/* ModelChangeType */.f.SectionFormattingChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.SectionFormattingChanged", () => `property:${json_section_enums/* JSONSectionProperty */.vl[change.property]}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemSectionStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onChangedSections(change.startSectionIndex, change.endSectionIndex);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CreateStyleLink: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.CreateStyleLink", `paragraphStyleName:${change.paragraphStyleName}`);
                break;
            }
            case changes_enums/* ModelChangeType */.f.DeleteStyleLink: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.DeleteStyleLink", `paragraphStyleName:${change.paragraphStyleName}`);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListAdded: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AbstractNumberingListAdded", `index:${change.index}`);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListDeleted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AbstractNumberingListDeleted", `index:${change.index}`);
                break;
            }
            case changes_enums/* ModelChangeType */.f.NumberingListAdded: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.NumberingListAdded", `index:${change.index}`);
                break;
            }
            case changes_enums/* ModelChangeType */.f.NumberingListDeleted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.NumberingListDeleted", `index:${change.index}`);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ListLevelPropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ListLevelPropertyChanged", `property:${json_list_enums/* JSONListLevelProperty */.yk[change.property]}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemListLevelStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onListLevelChanged(change.newState);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ListLevelParagraphPropertyChanged", () => `property:${json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff[change.property]}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemListLevelUseStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onListLevelChanged(change.newState);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ListLevelCharacterPropertyChanged", () => `property:${json_character_enums/* JSONCharacterFormattingProperty */.I$[change.property]}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemListLevelUseStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onListLevelChanged(change.newState);
                break;
            }
            case changes_enums/* ModelChangeType */.f.IOverrideListLevelChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.IOverrideListLevelChanged", () => `property:${json_list_enums/* JSONIOverrideListLevelProperty */.Me[change.property]}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemListLevelStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onListLevelChanged(change.newState);
                break;
            }
            case changes_enums/* ModelChangeType */.f.BookmarkCreated: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.BookmarkCreated", () => `subDocumentId:${change.subDocumentId}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, fixed.FixedInterval.makeByConstInterval(change.bkmTempate.interval));
                break;
            }
            case changes_enums/* ModelChangeType */.f.BookmarkDeleted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.BookmarkDeleted", () => `subDocumentId:${change.subDocumentId}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, fixed.FixedInterval.makeByConstInterval(change.bkmTempate.interval));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TabInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TabInserted", () => `subDocumentId:${change.subDocumentId}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.newState.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TabDeleted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TabDeleted", () => `subDocumentId:${change.subDocumentId}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.newState.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.InlinePictureInserted", () => `subDocumentId:${change.subDocumentId}, position:${change.position}, id:${change.picInfo.cacheInfo.currId}`);
                this.invalidator.onContentInserted(change.subDocumentId, change.position, 1, false);
                break;
            }
            case changes_enums/* ModelChangeType */.f.InlinePicturesUpdated: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.InlinePicturesUpdated", () => `subDocumentId:${change.subDocumentId}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.updatedImageInfo.position, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AnchoredPictureInserted", () => `subDocumentId:${change.subDocumentId}, position:${change.position}, id:${change.id}, scaleX:${change.size.scale.width}, scaleY:${change.size.scale.height}, anchorInfo:${change.anchorInfo}`);
                this.invalidator.onContentInserted(change.subDocumentId, change.position, 1, false);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredPictureSizeChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AnchoredPictureSizeChanged", () => `subDocumentId:${change.subDocumentId}, position:${change.position}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.position, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.InlineObjectRunPropertyChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_floating_enums/* JSONInlineObjectProperty */.Ol[change.property]}, position:${change.position}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                const interval = change.newState.interval;
                this.invalidator.onIntervalChanged(change.subDocumentId, fixed.FixedInterval.fromPositions(Math.max(0, interval.start - 1), interval.end));
                break;
            }
            case changes_enums/* ModelChangeType */.f.HyperlinkInfoChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.HyperlinkInfoChanged", () => `subDocumentId:${change.subDocumentId}, fieldResultInterval:${log_obj_to_str/* LogObjToStr */.I.fixedInterval(change.fieldResultInterval)}, newHyperlinkInfo:${log_obj_to_str/* LogObjToStr */.I.hyperlinkInfo(change.newHyperlinkInfo)}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.fieldResultInterval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.FieldsShowCodeChanged: {
                this.invalidator.onIntervalChanged(change.subDocumentId, change.fieldInterval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.SimpleRunInserted", () => `subDocumentId:${change.subDocumentId}, logPosition:${change.position}, length:${length} type:${run_type/* RunType */.m[change.runType]}`);
                this.invalidator.onContentInserted(change.subDocumentId, change.position, change.length, false);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TextBufferChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.SimpleRunInserted", () => `subDocumentId:${change.subDocumentId}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.newState.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TextBufferChanged", () => `subDocumentId:${change.subDocumentId}, position:${change.position}`);
                this.invalidator.onContentInserted(change.subDocumentId, change.position, 1, true);
                break;
            }
            case changes_enums/* ModelChangeType */.f.SectionInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.SectionInserted", () => `subDocumentId:${change.subDocumentId}, position:${change.position}`);
                this.invalidator.onChangedSections(change.sectionIndex, change.sectionIndex);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AnchoredTextBoxInserted", () => `subDocumentId:${change.subDocumentId}, position:${change.position}, anchorInfo:${change.anchorInfo}`);
                this.invalidator.onContentInserted(change.subDocumentId, change.position, 1, false);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AnchorObjectRemoved", () => `subDocumentId:${change.subDocumentId}, position:${change.position}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.position, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.IntervalRemoved: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.IntervalRemoved", () => `subDocumentId:${change.subDocumentId}, position:${change.interval.start}, length:${change.interval.length}`);
                this.invalidator.onContentInserted(change.subDocumentId, change.interval.start, -change.interval.length, false);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphMerged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ParagraphMerged", () => `subDocumentId:${change.subDocumentId}, position:${change.position}, getPropertiesFromNext:${change.getPropertiesFromNext}`);
                this.invalidator.onContentInserted(change.subDocumentId, change.position, -1, true);
                break;
            }
            case changes_enums/* ModelChangeType */.f.SectionMerged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.SectionMerged", () => `sectionIndex:${change.sectionIndex}, getPropertiesFromNext:${change.getPropertiesFromNext}`);
                this.invalidator.onChangedSections(change.sectionIndex, change.sectionIndex);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterFormattingChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.CharacterFormattingChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_character_enums/* JSONCharacterFormattingProperty */.I$[change.property]}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.newState.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterPropertiesChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.CharacterPropertiesChanged", () => `subDocumentId:${change.subDocumentId}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.newState.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphFormattingChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ParagraphFormattingChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_paragraph_enums/* JSONParagraphFormattingProperty */.Ff[change.property]}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                const interval = change.newState.interval;
                this.invalidator.onIntervalChanged(change.subDocumentId, fixed.FixedInterval.fromPositions(Math.max(0, interval.start - 1), interval.end));
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphPropertiesChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ParagraphPropertiesChanged", () => `subDocumentId:${change.subDocumentId}, paragraphIndex: ${change.paragraphIndex}}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.paragraphInterval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphAndCharacterMergedPropertiesReset: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ParagraphAndCharacterMergedPropertiesReset", () => `subDocumentId:${change.subDocumentId}, interval:${log_obj_to_str/* LogObjToStr */.I.fixedInterval(change.interval)}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AnchoredTextBoxSizeChanged", () => `subDocumentId:${change.subDocumentId}, position:${change.position}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.position, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AnchoredTextBoxPropertiesChanged", () => `subDocumentId:${change.subDocumentId}, position:${change.position}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.position, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchorInfoPropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.AnchorInfoPropertyChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_floating_enums/* JSONAnchorInfoProperty */.kn[change.property]}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                if (change.property === json_floating_enums/* JSONAnchorInfoProperty */.kn.ZOrder)
                    this.invalidator.onChangedAllLayout();
                else
                    this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.newState.interval.start, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.ShapeChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ShapePropertyChanged", () => `subDocumentId:${change.subDocumentId}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.newState.interval.start, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.ShapePropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ShapePropertyChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_floating_enums/* JSONShapeProperty */.An[change.property]}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, new fixed.FixedInterval(change.newState.interval.start, 1));
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterStyleApplied: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.CharacterStyleApplied", () => `subDocumentId:${change.subDocumentId}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemIntervalState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.newState.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphStyleApplied: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, `modelChanged.ParagraphStyleApplied. subDocumentId:${change.subDocumentId}, newState:`, change.newState);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.newState.interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableStyleChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableStyleChanged", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}, newStyleName:${change.newStyle.styleName}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.table.getTopLevelParent().interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphNumberingListChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.ParagraphNumberingListChanged", () => `subDocumentId:${change.subDocumentId}, newState:${log_obj_to_str/* LogObjToStr */.I.historyItemIntervalState(log_obj_to_str/* LogObjToStr */.I.historyItemIntervalStateObject, change.newState, "\t", "\n")()}, oldAbstractNumberingListIndex: ${change.oldAbstractNumberingListIndex}`);
                const intervals = [change.newState.interval];
                const intervalStart = change.newState.interval.start;
                const paragraphIndex = search.SearchUtils.normedInterpolationIndexOf(change.subDocument.paragraphs, p => p.startLogPosition.value, intervalStart);
                const newAbstractNumberingListIndex = change.subDocument.paragraphs[paragraphIndex].getAbstractNumberingListIndex();
                for (let i = paragraphIndex + 1, paragraph; paragraph = change.subDocument.paragraphs[i]; i++) {
                    const parAbstractNumberingListIndex = paragraph.getAbstractNumberingListIndex();
                    if (parAbstractNumberingListIndex === change.oldAbstractNumberingListIndex || parAbstractNumberingListIndex === newAbstractNumberingListIndex)
                        intervals.push(paragraph.interval);
                }
                const mergedIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(intervals, true);
                for (let interval of mergedIntervals)
                    this.invalidator.onIntervalChanged(change.subDocumentId, interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCreated: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableCreated", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, change.table.getTopLevelParent().interval);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRemoved: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableRemoved", () => `subDocumentId:${change.subDocumentId}, startPosition:${change.startPosition}, endPosition:${change.endPosition}, nestedLevel:${change.nestedLevel}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, fixed.FixedInterval.fromPositions(change.startPosition, change.endPosition));
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableStartPositionShifted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableStartPositionShifted", () => `subDocumentId:${change.subDocumentId}, oldPosition:${change.oldPosition}, newPosition:${change.newPosition}, tableIndex:${change.table.index}`);
                this.invalidator.onTableChanged(change.subDocumentId, change.table.index, change.table.nestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellPropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableCellPropertyChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_table_cell_enums/* JSONServerTableCellProperty */.zH[change.property]}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemTableCellStateObject, change.newState, "\t", "\n")()}`);
                for (let state of change.newState.objects)
                    this.invalidator.onTableChanged(change.subDocumentId, state.tableIndex, state.tableNestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TablePropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TablePropertyChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_table_enums/* JSONEnumTableProperty */.lE[change.property]}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemTableStateObject, change.newState, "\t", "\n")()}`);
                for (let state of change.newState.objects)
                    this.invalidator.onTableChanged(change.subDocumentId, state.tableIndex, state.tableNestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRowPropertyChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableRowPropertyChanged", () => `subDocumentId:${change.subDocumentId}, property:${json_table_row_enums/* JSONServerTableRowProperty */.Wn[change.property]}, newState:\n${log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemTableRowStateObject, change.newState, "\t", "\n")()}`);
                for (let state of change.newState.objects)
                    this.invalidator.onTableChanged(change.subDocumentId, state.tableIndex, state.tableNestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellSplittedHorizontally: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableCellSplittedHorizontally", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}, rowIndex:${change.rowIndex}, cellIndex:${change.cellIndex}, rightDirection:${change.rightDirection}`);
                this.invalidator.onTableChanged(change.subDocumentId, change.table.index, change.table.nestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellMergedHorizontally: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableCellMergedHorizontally", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}, rowIndex:${change.rowIndex}, cellIndex:${change.cellIndex}, rightDirection:${change.rightDirection}`);
                this.invalidator.onTableChanged(change.subDocumentId, change.table.index, change.table.nestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRowInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableRowInserted", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}, rowIndex:${change.rowIndex}`);
                this.invalidator.onTableChanged(change.subDocumentId, change.table.index, change.table.nestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRowRemoved: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableRowRemoved", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}, rowIndex:${change.rowIndex}`);
                this.invalidator.onTableChanged(change.subDocumentId, change.table.index, change.table.nestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellRemoved: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableCellRemoved", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}, rowIndex:${change.rowIndex}, cellIndex:${change.cellIndex}`);
                this.invalidator.onTableChanged(change.subDocumentId, change.table.index, change.table.nestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableCellInserted: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.TableCellInserted", () => `subDocumentId:${change.subDocumentId}, tableIndex:${change.table.index}, rowIndex:${change.rowIndex}, cellIndex:${change.cellIndex}`);
                this.invalidator.onTableChanged(change.subDocumentId, change.table.index, change.table.nestedLevel);
                break;
            }
            case changes_enums/* ModelChangeType */.f.DocumentProtectionChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.DocumentProtectionChanged", `enforceProtection:${change.documentProtectionProperties.enforceProtection}`);
                this.invalidator.onChangedAllLayout();
                break;
            }
            case changes_enums/* ModelChangeType */.f.RangePermissionsChanged: {
                log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterNotifier, "modelChanged.RangePermissionsChanged", () => `subDocumentId:${change.subDocumentId},  interval:${log_obj_to_str/* LogObjToStr */.I.fixedInterval(change.permission.interval)}, userName:${change.permission.userName}, group:${change.permission.group}`);
                this.invalidator.onIntervalChanged(change.subDocumentId, fixed.FixedInterval.makeByConstInterval(change.permission.interval));
                break;
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/other-page-area-formatter.ts










class OtherPageAreaFormatter {
    constructor(manager) {
        this.manager = manager;
    }
    formatOtherPageArea(page, subDocumentInfo, setBounds, getHeaderOrFooterPageAreaBounds, getHeaderOrFooterColumnBounds) {
        if (!subDocumentInfo) {
            setBounds(0);
            return;
        }
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatter, "formatHeaderOrFooterPageArea", () => `headerSubDocumentInfo: ${log_obj_to_str/* LogObjToStr */.I.subDocumentInfoBase(subDocumentInfo)}`);
        const oldActiveFormatter = this.manager.activeFormatter;
        setBounds(-1);
        this.shiftFooterObjectByVertical(page.otherPageAreas, subDocumentInfo, page.anchoredObjectHolder, (obj, pa) => {
            if (pa)
                pa.y += obj.yShift;
            obj.y += obj.yShift;
            obj.yShift = 0;
        });
        const formatter = new BaseFormatter(this.manager, subDocumentInfo.subDocumentId);
        formatter.initDocumentStart();
        formatter.formatPageArea(getHeaderOrFooterPageAreaBounds(), [getHeaderOrFooterColumnBounds()], page);
        const pageArea = formatter.layoutPosition.pageArea;
        if (pageArea) {
            setBounds(utils_list.ListUtils.last(pageArea.columns[0].rows).bottom);
            const column = pageArea.columns[0];
            let diff = pageArea.y + column.y;
            pageArea.setGeomerty(getHeaderOrFooterPageAreaBounds());
            diff -= pageArea.y + column.y;
            column.setGeomerty(getHeaderOrFooterColumnBounds());
            OtherPageAreaFormatter.reduceRowHeight(column);
            this.shiftFooterObjectByVertical(page.otherPageAreas, subDocumentInfo, page.anchoredObjectHolder, (obj, pa) => {
                if (pa)
                    pa.y -= diff;
                obj.y -= diff;
                obj.yShift = diff;
            });
        }
        else
            setBounds(0);
        this.manager.activeFormatter = oldActiveFormatter;
    }
    shiftFooterObjectByVertical(otherPageAreas, subDocumentInfo, pageAnchoredObjectHolder, action) {
        if (subDocumentInfo.isFooter) {
            number/* NumberMapUtils */.j.forEach(pageAnchoredObjectHolder.objects, (obj) => {
                if (obj.belongsToSubDocId == subDocumentInfo.subDocumentId &&
                    (obj.anchorInfo.isUsedVerticalAbsolutePosition() || obj.anchorInfo.isUsedVerticalRelativePosition()) &&
                    (obj.anchorInfo.verticalPositionType == enums/* AnchorObjectVerticalPositionType */.iL.Paragraph ||
                        obj.anchorInfo.verticalPositionType == enums/* AnchorObjectVerticalPositionType */.iL.Line))
                    action(obj, obj.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox ? otherPageAreas[obj.internalSubDocId] : null);
            });
        }
    }
    setTextBoxContent(page, textBox) {
        const subDocInfo = this.manager.model.subDocuments[textBox.internalSubDocId].info;
        if (!subDocInfo.isTextBox)
            throw new Error(errors/* Errors */.D.InternalException);
        const textBoxSubDocInfo = subDocInfo;
        const margins = textBox.textBoxProperties.getContentMargins();
        const contentBounds = textBox.getContentBounds();
        const pageAreaBounds = new rectangle.Rectangle(0, 0, contentBounds.width, contentBounds.height);
        const columnBounds = pageAreaBounds.clone().applyOffsetsInside(margins);
        this.formatOtherPageArea(page, textBoxSubDocInfo, (_val) => { }, () => pageAreaBounds, () => columnBounds);
        if (textBox.textBoxProperties.resizeShapeToFitText) {
            const pageArea = page.otherPageAreas[textBox.internalSubDocId];
            const column = pageArea.columns[0];
            const bottomPos = column.getLastRow().bottom;
            const diff = column.height - bottomPos;
            if (!Number.isNaN(diff)) {
                column.height -= diff;
                pageArea.height -= diff;
                textBox.height -= diff;
            }
        }
    }
    formatHeaderPageArea(page, headerSubDocumentInfo) {
        const boundsCalculator = this.manager.boundsCalculator;
        this.formatOtherPageArea(page, headerSubDocumentInfo, (val) => boundsCalculator.setHeaderBounds(val), () => boundsCalculator.headerPageAreaBounds, () => boundsCalculator.headerColumnBounds);
    }
    formatFooterPageArea(page, footerSubDocumentInfo) {
        const boundsCalculator = this.manager.boundsCalculator;
        this.formatOtherPageArea(page, footerSubDocumentInfo, (val) => boundsCalculator.setFooterBounds(val), () => boundsCalculator.footerPageAreaBounds, () => boundsCalculator.footerColumnBounds);
    }
    static reduceRowHeight(column) {
        const colHeight = column.height;
        for (let row of column.rows) {
            if (row.y >= colHeight && !row.tableCellInfo) {
                row.y = colHeight;
                row.height = 0;
            }
        }
    }
}

// EXTERNAL MODULE: ./src/common/layout-formatter/formatter/utils/bounds-calculator.ts
var bounds_calculator = __webpack_require__(7353);
;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/utils/floating-restart-info-holder.ts

class FloatingRestartInfoHolder {
    constructor() {
        this.anchorRestartFromPageIndex = -1;
        this.oldAnchorObjectsFromPage = {};
        this.oldOtherTextBoxPageAreas = {};
        this.init();
    }
    init() {
        this.anchorRestartFromPageIndex = -1;
        this.oldAnchorObjectsFromPage = {};
        this.oldOtherTextBoxPageAreas = {};
    }
    storeInfo(lp) {
        this.anchorRestartFromPageIndex = lp.pageIndex;
        this.oldAnchorObjectsFromPage = lp.page.anchoredObjectHolder.objects;
        this.oldOtherTextBoxPageAreas = number/* NumberMapUtils */.j.reducedMap(lp.page.otherPageAreas, (pa) => pa.subDocument.isTextBox() ? pa : null);
        this.oldTableAnchorObjects = lp.page.tableAnchoredObjectsHolder.holder;
    }
    get isRestartByAnchorObjects() {
        return this.anchorRestartFromPageIndex != -1;
    }
    setCalculatedObjects(lp) {
        if (this.isRestartByAnchorObjects) {
            if (this.anchorRestartFromPageIndex == lp.pageIndex) {
                lp.page.anchoredObjectHolder.objects = this.oldAnchorObjectsFromPage;
                number/* NumberMapUtils */.j.forEach(this.oldOtherTextBoxPageAreas, (textBoxPA) => lp.page.otherPageAreas[textBoxPA.subDocument.id] = textBoxPA);
                lp.page.tableAnchoredObjectsHolder.holder = this.oldTableAnchorObjects;
            }
            this.init();
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/utils/layout-dependent-cache.ts



class LayoutDependentRunCache {
    constructor(manager) {
        this.manager = manager;
        this.reset();
    }
    reset() {
        this.cache = {};
    }
    add(pageIndex, subDocId) {
        const val = this.cache[pageIndex];
        if (!val)
            this.cache[pageIndex] = [subDocId];
        else if (!utils_list.ListUtils.unsafeAnyOf(val, (v) => v == subDocId))
            val.push(subDocId);
    }
    recalculateHeaderFooterPageAreas() {
        const pages = this.manager.layout.pages;
        number/* NumberMapUtils */.j.forEach(this.cache, (listOfSubDocId, pageIndex) => {
            const page = pages[pageIndex];
            if (!page)
                return;
            const oldPageAreas = number/* NumberMapUtils */.j.shallowCopy(page.otherPageAreas);
            utils_list.ListUtils.forEach(listOfSubDocId, (subDocId) => {
                const pageArea = page.otherPageAreas[subDocId];
                if (!pageArea || !pageArea.subDocument.isHeaderFooter())
                    return;
                const section = this.manager.model.sections[page.startPageSectionIndex];
                this.manager.boundsCalculator.init(section);
                if (pageArea.subDocument.isHeader())
                    this.manager.otherPageAreaFormatter.formatHeaderPageArea(page, pageArea.subDocument.info);
                else
                    this.manager.otherPageAreaFormatter.formatFooterPageArea(page, pageArea.subDocument.info);
            });
            this.manager.changesManager.addPageChange(PageChangesCollector.collectHeaderFooterChanges(pageIndex, oldPageAreas, page.otherPageAreas));
        });
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/formatter/utils/remove-redundant-helper.ts




class RemoveRedundantHelper {
    constructor(changesManager) {
        this.changesManager = changesManager;
    }
    static removeRendundant(fromIndex, list, pushChange) {
        const result = fromIndex < list.length;
        for (let index = list.length - 1; index >= fromIndex; index--) {
            list.pop();
            pushChange(index);
        }
        return result;
    }
    removeRedundantPage(layout, firstRendundantPageIndex) {
        return RemoveRedundantHelper.removeRendundant(firstRendundantPageIndex, layout.pages, (index) => this.changesManager.addPageChange(new PageChange(index, LayoutChangeType.Deleted, [], [])));
    }
    removeRedundantPageAreas(page, firstRendundantPageAreaIndex, pageChange) {
        return RemoveRedundantHelper.removeRendundant(firstRendundantPageAreaIndex, page.mainSubDocumentPageAreas, (index) => pageChange.mainPageAreaChanges.push(new PageAreaChange(index, LayoutChangeType.Deleted, [])));
    }
    removeRedundantColumnsFromArea(pageArea, firstRedundantColumnIndex, pageAreaChange) {
        return RemoveRedundantHelper.removeRendundant(firstRedundantColumnIndex, pageArea.columns, (index) => pageAreaChange.columnChanges.push(new ColumnChange(index, LayoutChangeType.Deleted, [], [], [])));
    }
    removeRedundantRowsFromColumn(column, firstRendundantRowIndex, columnChange) {
        return RemoveRedundantHelper.removeRendundant(firstRendundantRowIndex, column.rows, (index) => columnChange.rowChanges.push(new RowChange(index, LayoutChangeType.Deleted)));
    }
    removeRedundantTableInfosFromColumn(column, firstRendundantTableIndex, columnChange) {
        return RemoveRedundantHelper.removeRendundant(firstRendundantTableIndex, column.tablesInfo, (index) => columnChange.tableChanges.push(new TableChange(index, LayoutChangeType.Deleted)));
    }
}

// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout-formatter/invalidator/header-footer-invalidator-helper.ts
var header_footer_invalidator_helper = __webpack_require__(8890);
;// CONCATENATED MODULE: ./src/common/layout-formatter/invalidator/remove-content-helper.ts









class RemoveContentHelper {
    static deleteInterval(layout, layoutPos, deletedInterval, pageChanges) {
        RemoveContentHelper.deleteElementContent(0, [
            new RemoveLayoutContent(fixed.FixedInterval.fromPositions(0, deletedInterval.end), pageChanges),
            new RemovePageContent(layoutPos, layout.pages),
            new RemovePageAreaContent(layoutPos),
            new RemoveColumnContent(layoutPos),
            new RemoveRowContent(layoutPos)
        ], deletedInterval);
    }
    static deleteElementContent(level, levelsInfo, deletedInterval) {
        const currLevelInfo = levelsInfo[level];
        currLevelInfo.contentDeleted = false;
        let elementInterval = currLevelInfo.getElementInterval();
        let elementStartPos = elementInterval.start;
        let intersection = algorithms.IntervalAlgorithms.getIntersection(elementInterval, deletedInterval);
        let correctOffsets = false;
        if (intersection && intersection.length > 0) {
            if (elementInterval.length == intersection.length && level > 0) {
                levelsInfo[level - 1].addChange(levelsInfo[level].deleteElement());
                return true;
            }
            if (level + 1 == levelsInfo.length) {
                const newRowLength = elementInterval.length - intersection.length;
                const fakeBox = new layout_text_box/* LayoutTextBox */.P(null, null, string.StringUtils.repeat(" ", newRowLength));
                fakeBox.rowOffset = 0;
                const row = currLevelInfo.getElement();
                row.boxes = [fakeBox];
                currLevelInfo.contentDeleted = true;
            }
            else {
                const lowerLevelDeletedInterval = new fixed.FixedInterval(intersection.start - elementStartPos, intersection.length);
                const nextLevelInfo = levelsInfo[level + 1];
                if (level > 0)
                    currLevelInfo.assignChanges(levelsInfo[level - 1]);
                while (nextLevelInfo.setElement()) {
                    if (!this.deleteElementContent(level + 1, levelsInfo, lowerLevelDeletedInterval))
                        nextLevelInfo.incElementIndex();
                    if (nextLevelInfo.contentDeleted) {
                        if (level == 1)
                            currLevelInfo.layoutPosition.page.isValid = false;
                        currLevelInfo.contentDeleted = true;
                    }
                }
                correctOffsets = true;
            }
        }
        if (intersection) {
            if (elementStartPos == intersection.start)
                currLevelInfo.setElementOffset(deletedInterval.start);
        }
        else {
            if (elementStartPos >= deletedInterval.end)
                currLevelInfo.setElementOffset(Math.max(0, elementStartPos - deletedInterval.length));
        }
        if (correctOffsets)
            currLevelInfo.correctOffsets();
        if (level == 1) {
            const change = currLevelInfo.updatePage(!!intersection);
            if (change) {
                levelsInfo[0].addChange(change);
                return true;
            }
        }
        return false;
    }
}
class RemoveExistanceContent {
}
class RemoveLayoutContent extends RemoveExistanceContent {
    constructor(delInterval, pageChanges) {
        super();
        this.delInterval = delInterval;
        this.pageChanges = pageChanges;
    }
    setElement() {
        return null;
    }
    incElementIndex() {
    }
    getElementInterval() {
        return this.delInterval;
    }
    setElementOffset(_newOffset) {
    }
    deleteElement() {
        return null;
    }
    correctOffsets() {
    }
    addChange(change) {
        this.pageChanges.push(change);
    }
    assignChanges(_topLevel) {
    }
}
class RemovePageContent extends RemoveExistanceContent {
    constructor(layoutPosition, pages) {
        super();
        this.layoutPosition = layoutPosition;
        this.pages = pages;
    }
    updatePage(isMarkPageIntervalsAsIncorrect) {
        const page = this.layoutPosition.page;
        if (isMarkPageIntervalsAsIncorrect)
            page.markPageIntervalsAsIncorrect();
        const pageIndex = this.layoutPosition.pageIndex;
        const prevPage = this.pages[pageIndex - 1];
        if (prevPage && page.getPosition() <= prevPage.getPosition()) {
            page.index = pageIndex - 1;
            page.y = page.index > 0 ? this.pages[page.index - 1].bottom : 0;
            return this.deleteElement(page.index);
        }
        page.index = pageIndex;
        page.y = prevPage ? prevPage.bottom : 0;
        return null;
    }
    checkTableExceptionCase() {
        const pageIndex = this.layoutPosition.pageIndex;
        return pageIndex - 1 >= 0 && this.pages[pageIndex].getPosition() <= this.pages[pageIndex - 1].getPosition() ? this.deleteElement(pageIndex - 1) : null;
    }
    setElement() {
        return !!(this.layoutPosition.page = this.pages[this.layoutPosition.pageIndex]);
    }
    incElementIndex() {
        this.layoutPosition.pageIndex++;
    }
    getElementInterval() {
        const elem = this.layoutPosition.page;
        return fixed.FixedInterval.fromPositions(elem.getPosition(), elem.getEndPosition());
    }
    setElementOffset(newOffset) {
        this.layoutPosition.page.setAbsolutePosition(newOffset);
    }
    deleteElement(index = this.layoutPosition.pageIndex) {
        this.pages.splice(index, 1);
        return new PageChange(index, LayoutChangeType.Deleted, [], []);
    }
    correctOffsets() {
        RemovePageContent.correctPageOffsets(this.layoutPosition.page);
    }
    addChange(change) {
        this.pageAreaChanges.push(change);
    }
    assignChanges(topLevel) {
        this.pageAreaChanges = [];
        topLevel.pageChanges.push(new PageChange(this.layoutPosition.pageIndex, LayoutChangeType.Updated, this.pageAreaChanges, []));
    }
    static correctPageOffsets(page) {
        const pageAreas = page.mainSubDocumentPageAreas;
        if (!pageAreas.length)
            return;
        const offsetFirstPageAreaFromPage = pageAreas[0].pageOffset;
        if (offsetFirstPageAreaFromPage > 0) {
            page.setAbsolutePosition(page.getPosition() + offsetFirstPageAreaFromPage);
            for (let pageArea of pageAreas)
                pageArea.pageOffset -= offsetFirstPageAreaFromPage;
        }
    }
}
class RemovePageAreaContent extends RemoveExistanceContent {
    constructor(layoutPosition) {
        super();
        this.layoutPosition = layoutPosition;
    }
    setElement() {
        if (this.layoutPosition.pageArea = this.layoutPosition.page.mainSubDocumentPageAreas[this.layoutPosition.pageAreaIndex])
            return true;
        else {
            this.layoutPosition.pageAreaIndex = 0;
            return false;
        }
    }
    incElementIndex() {
        this.layoutPosition.pageAreaIndex++;
    }
    getElementInterval() {
        const elem = this.layoutPosition.pageArea;
        return fixed.FixedInterval.fromPositions(elem.pageOffset, elem.getEndPosition());
    }
    setElementOffset(newOffset) {
        this.layoutPosition.pageArea.pageOffset = newOffset;
    }
    deleteElement() {
        const index = this.layoutPosition.pageAreaIndex;
        this.layoutPosition.page.mainSubDocumentPageAreas.splice(index, 1);
        return new PageAreaChange(index, LayoutChangeType.Deleted, []);
    }
    correctOffsets() {
        RemovePageAreaContent.correctColumnOffsets(this.layoutPosition.pageArea);
    }
    addChange(change) {
        this.columnChanges.push(change);
    }
    assignChanges(topLevel) {
        this.columnChanges = [];
        topLevel.pageAreaChanges.push(new PageAreaChange(this.layoutPosition.pageAreaIndex, LayoutChangeType.Updated, this.columnChanges));
    }
    static correctColumnOffsets(pageArea) {
        const columns = pageArea.columns;
        if (!columns.length)
            return;
        const offsetFirstColumnFromPageArea = columns[0].pageAreaOffset;
        if (offsetFirstColumnFromPageArea > 0) {
            pageArea.pageOffset += offsetFirstColumnFromPageArea;
            for (let column of columns)
                column.pageAreaOffset -= offsetFirstColumnFromPageArea;
        }
    }
}
class RemoveColumnContent extends RemoveExistanceContent {
    constructor(layoutPosition) {
        super();
        this.layoutPosition = layoutPosition;
    }
    setElement() {
        if (this.layoutPosition.column = this.layoutPosition.pageArea.columns[this.layoutPosition.columnIndex])
            return true;
        else {
            this.layoutPosition.columnIndex = 0;
            return false;
        }
    }
    incElementIndex() {
        this.layoutPosition.columnIndex++;
    }
    getElementInterval() {
        const elem = this.layoutPosition.column;
        return fixed.FixedInterval.fromPositions(elem.pageAreaOffset, elem.getEndPosition());
    }
    setElementOffset(newOffset) {
        this.layoutPosition.column.pageAreaOffset = newOffset;
    }
    deleteElement() {
        const index = this.layoutPosition.columnIndex;
        this.layoutPosition.pageArea.columns.splice(index, 1);
        return new ColumnChange(index, LayoutChangeType.Deleted, [], [], []);
    }
    correctOffsets() {
        RemoveColumnContent.correctRowOffsets(this.layoutPosition.column);
    }
    addChange(change) {
        this.rowChanges.push(change);
    }
    assignChanges(topLevel) {
        this.rowChanges = [];
        topLevel.columnChanges.push(new ColumnChange(this.layoutPosition.columnIndex, LayoutChangeType.Updated, this.rowChanges, [], []));
    }
    static correctRowOffsets(column) {
        const rows = column.rows;
        if (!rows.length)
            return;
        const offsetFirstRowFromColumn = rows[0].columnOffset;
        if (offsetFirstRowFromColumn > 0) {
            column.pageAreaOffset += offsetFirstRowFromColumn;
            for (let row of rows)
                row.columnOffset -= offsetFirstRowFromColumn;
        }
    }
}
class RemoveRowContent extends RemoveExistanceContent {
    constructor(layoutPosition) {
        super();
        this.layoutPosition = layoutPosition;
    }
    getElement() {
        return this.layoutPosition.row;
    }
    getElementParentContainer() {
        return this.layoutPosition.column.rows;
    }
    setElement() {
        if (this.layoutPosition.row = this.layoutPosition.column.rows[this.layoutPosition.rowIndex])
            return true;
        else {
            this.layoutPosition.rowIndex = 0;
            return false;
        }
    }
    incElementIndex() {
        this.layoutPosition.rowIndex++;
    }
    getElementInterval() {
        const elem = this.layoutPosition.row;
        return fixed.FixedInterval.fromPositions(elem.columnOffset, elem.getEndPosition());
    }
    setElementOffset(newOffset) {
        if (newOffset < 0)
            throw new Error(errors/* Errors */.D.InternalException);
        this.layoutPosition.row.columnOffset = newOffset;
    }
    deleteElement() {
        const index = this.layoutPosition.rowIndex;
        this.getElementParentContainer().splice(index, 1);
        return new RowChange(index, LayoutChangeType.Deleted);
    }
    correctOffsets() {
    }
    addChange(_change) {
    }
    assignChanges(_topLevel) {
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/invalidator/layout-invalidator.ts














class LayoutInvalidator {
    get model() { return this.manager.model; }
    get layout() { return this.manager.layout; }
    get mainSubDoc() { return this.model.mainSubDocument; }
    constructor(manager) {
        this.manager = manager;
    }
    onContentInserted(subDocumentId, logPosition, length, restartFromParagraphStart) {
        const subDocument = this.model.subDocuments[subDocumentId];
        const pages = this.layout.pages;
        if (pages.length == 0)
            return;
        if (!subDocument.isMain()) {
            log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "onContentInserted(header\\footer\\textBox)", `subDocument.id:${subDocument.id}, logPosition:${logPosition}, length:${length}, restartFromParagraphStart:${restartFromParagraphStart}`);
            this.otherSubDocChanged();
            return;
        }
        const interval = new fixed.FixedInterval(logPosition, length);
        if (length > 0)
            this.contentOfMainSubDocumentInsertedOrDeleted(interval, restartFromParagraphStart, (lp) => this.advanceForward(lp, length));
        else if (length < 0)
            this.contentOfMainSubDocumentInsertedOrDeleted(interval, restartFromParagraphStart, (lp) => RemoveContentHelper.deleteInterval(this.layout, lp, interval, this.manager.changesManager.getPageChanges()));
        else
            throw new Error(errors/* Errors */.D.InternalException);
    }
    contentOfMainSubDocumentInsertedOrDeleted(interval, restartFromParagraphStart, changeLayout) {
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "contentInserted", `subDocument.id:${0}, logPosition:${interval.start}, length:${interval.length}, restartFromParagraphStart:${restartFromParagraphStart}`);
        const positions = [];
        if (restartFromParagraphStart)
            this.addRestartFromParagraph(positions, interval.start);
        const lp = this.findLayoutPositionInAllLayout(this.mainSubDoc, interval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row, false, true);
        const isValid = lp.page.isValid;
        lp.page.invalidate();
        positions.push(this.prevRowPositions(lp));
        changeLayout(lp);
        if (!isValid) {
            const poss = utils_list.ListUtils.last(positions);
            poss.modelPosition = poss.layoutPosition.page.getPosition();
            poss.layoutPosition.initByIndexes(poss.layoutPosition.pageIndex, 0, 0, 0);
            poss.layoutPosition.applyObjectsAsMainSubDocument(this.layout, -1);
        }
        this.callRestart(positions);
    }
    onTableChanged(subDocumentId, tableIndex, tableNestedLevel) {
        const subDocument = this.model.subDocuments[subDocumentId];
        const topLevelTable = subDocument.tables[tableIndex].getTopLevelParent();
        const interval = topLevelTable.interval;
        if (tableNestedLevel > 0) {
            this.onIntervalChanged(subDocumentId, interval);
            return;
        }
        if (!subDocument.isMain()) {
            log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "onIntervalChanged(header\\footer)", `subDocument.id:${subDocument.id}, interval:${log_obj_to_str/* LogObjToStr */.I.fixedInterval(interval)}`);
            this.otherSubDocChanged();
            return;
        }
        const lp = this.findLayoutPositionInAllLayout(subDocument, interval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row, false, true);
        const layoutTableColumn = lp.column.tablesInfo.find(t => t.logicInfo.grid.table === topLevelTable);
        let pageIndex = lp.pageIndex;
        if (layoutTableColumn && layoutTableColumn.logicInfo.pageIndexFromWhichTableWasMoved !== null) {
            pageIndex = layoutTableColumn.logicInfo.pageIndexFromWhichTableWasMoved;
        }
        this.invalidatePagesByEndPosition(pageIndex, interval.end);
        this.manager.restartManager.restartFromPage(pageIndex, interval.start, false);
    }
    onIntervalChanged(subDocumentId, interval) {
        const subDocument = this.model.subDocuments[subDocumentId];
        if (interval.length == 0 || !this.layout.pages.length)
            return;
        if (!subDocument.isMain()) {
            log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "onIntervalChanged(header\\footer)", `subDocument.id:${subDocument.id}, interval:${log_obj_to_str/* LogObjToStr */.I.fixedInterval(interval)}`);
            this.otherSubDocChanged();
            return;
        }
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "onIntervalChanged", `subDocument.id:${subDocument.id}, interval:${log_obj_to_str/* LogObjToStr */.I.fixedInterval(interval)}`);
        const lp = this.findLayoutPositionInAllLayout(subDocument, interval.start, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row, false, true);
        this.invalidatePagesByEndPosition(lp.pageIndex, interval.end);
        this.manager.restartManager.restartFromPage(lp.pageIndex, interval.start, false);
    }
    onChangedSections(startSectionIndex, endSectionIndex) {
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "onChangedSection", `sectionIndex:${startSectionIndex}-${endSectionIndex}`);
        const startSection = this.model.sections[startSectionIndex];
        const endSection = this.model.sections[endSectionIndex];
        const pages = this.layout.pages;
        const sectionStartPos = startSection.startLogPosition.value;
        const pageIndexStart = LayoutInvalidator.getSectionFirstPageIndex(pages, this.layout.validPageCount, startSection.startLogPosition.value);
        const secEndPos = endSection.getEndPosition();
        for (let pageIndex = pageIndexStart, page; (page = pages[pageIndex]) && page.getPosition() <= secEndPos; pageIndex++)
            page.invalidate();
        this.manager.restartManager.restartFromPage(pageIndexStart, sectionStartPos, true);
    }
    onListLevelChanged(newState) {
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "onListLevelChanged newState\n", log_obj_to_str/* LogObjToStr */.I.historyItemState(log_obj_to_str/* LogObjToStr */.I.historyItemListLevelStateObject, newState, "\t", "\n"));
        for (let obj of newState.objects) {
            number/* NumberMapUtils */.j.forEach(this.model.subDocuments, (subDocument) => {
                const abstractNumberingListIndex = obj.isAbstractNumberingList ?
                    obj.numberingListIndex :
                    subDocument.documentModel.numberingLists[obj.numberingListIndex].abstractNumberingListIndex;
                const listLevelIndex = obj.listLevelIndex;
                const intervals = [];
                for (let paragraph of subDocument.paragraphs) {
                    if (paragraph.getAbstractNumberingListIndex() === abstractNumberingListIndex &&
                        paragraph.getListLevelIndex() === listLevelIndex)
                        intervals.push(paragraph.interval);
                }
                if (intervals.length > 0) {
                    const mergedIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(intervals, true);
                    for (let interval of mergedIntervals)
                        this.onIntervalChanged(subDocument.id, interval);
                }
            });
        }
    }
    onHeaderFooterIndexChanged(sectionIndex, type) {
        const headerFooterInvalidatorHelper = new header_footer_invalidator_helper/* HeaderFooterInvalidatorHelper */.b(this.model, this.layout, type);
        headerFooterInvalidatorHelper.initBySectionIndex(sectionIndex);
        const firstPage = this.layout.pages[headerFooterInvalidatorHelper.startPageIndex];
        if (!firstPage)
            return;
        utils_list.ListUtils.forEach(this.layout.pages, (page) => page.invalidate(), headerFooterInvalidatorHelper.startPageIndex, headerFooterInvalidatorHelper.endPageIndex);
        this.manager.restartManager.restartFromPage(headerFooterInvalidatorHelper.startPageIndex, firstPage.getPosition(), true);
    }
    onPagesChanged(startPageIndex, endPageIndex) {
        const firstPage = this.layout.pages[startPageIndex];
        if (!firstPage)
            return;
        utils_list.ListUtils.forEach(this.layout.pages, (page) => page.invalidate(), startPageIndex, endPageIndex);
        this.manager.restartManager.restartFromPage(startPageIndex, firstPage.getPosition(), true);
    }
    onChangedAllLayout() {
        log/* Log */.Z.print(log_source/* LogSource */.O.LayoutFormatterInvalidator, "onChangedAllLayout", "");
        this.manager.restartManager.restartAllLayout();
    }
    prevRowPositions(layoutPos) {
        const prevLP = layoutPos.clone();
        prevLP.advanceToPrevRow(this.layout);
        const lp = prevLP.row.tableCellInfo && (!layoutPos.row.tableCellInfo ||
            layoutPos.row.tableCellInfo.parentRow.parentTable.getTopLevelColumn() !=
                prevLP.row.tableCellInfo.parentRow.parentTable.getTopLevelColumn()) ?
            layoutPos :
            prevLP;
        return new layout_position/* LayoutAndModelPositions */.i6(lp, this.getStartModelPositionOfRow(lp));
    }
    callRestart(positions) {
        const minMax = utils_list.ListUtils.minMax(positions, a => a.modelPosition);
        const minPageIndex = minMax.minElement.layoutPosition.pageIndex;
        utils_list.ListUtils.forEach(this.layout.pages, (page) => page.invalidate(), minPageIndex, minMax.maxElement.layoutPosition.pageIndex + 1);
        if (!this.layout.pages[minPageIndex])
            return;
        this.manager.restartManager.restartFromPage(minPageIndex, minMax.minElement.modelPosition, false);
    }
    advanceForward(layoutPos, length) {
        utils_list.ListUtils.forEach(this.layout.pages, (page) => page.setAbsolutePosition(page.getPosition() + length), layoutPos.pageIndex + 1);
        this.moveRowsToRight(layoutPos, length);
        this.moveColumnsToRight(layoutPos, length);
        this.movePageAreasToRight(layoutPos, length);
    }
    moveRowsToRight(layoutPosition, offset) {
        const rows = layoutPosition.column.rows;
        for (let rowIndex = layoutPosition.rowIndex + 1, row; row = rows[rowIndex]; rowIndex++)
            row.columnOffset += offset;
    }
    moveColumnsToRight(layoutPosition, offset) {
        const columns = layoutPosition.pageArea.columns;
        for (let columnIndex = layoutPosition.columnIndex + 1, column; column = columns[columnIndex]; columnIndex++)
            column.pageAreaOffset += offset;
    }
    movePageAreasToRight(layoutPosition, offset) {
        const pageAreas = layoutPosition.page.mainSubDocumentPageAreas;
        utils_list.ListUtils.forEach(pageAreas, (pa) => pa.pageOffset += offset, layoutPosition.pageAreaIndex + 1);
    }
    otherSubDocChanged() {
        utils_list.ListUtils.forEach(this.layout.pages, (p) => p.invalidate());
        this.manager.restartManager.restartFromPage(0, 0, true);
    }
    static getSectionFirstPageIndex(pages, validPageCount, startSectionPos) {
        if (!validPageCount)
            return 0;
        const firstPageIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(pages, (p) => p.getPosition(), startSectionPos, 0, validPageCount - 1));
        return pages[firstPageIndex].getPosition() < startSectionPos ? Math.min(firstPageIndex + 1, validPageCount) : firstPageIndex;
    }
    invalidatePagesByEndPosition(startPageIndex, intervalEndPos) {
        this.invalidatePages(startPageIndex, (page) => intervalEndPos < page.getEndPosition());
    }
    invalidatePages(startPageIndex, endCondition) {
        const pages = this.layout.pages;
        for (let pageIndex = startPageIndex, page; page = pages[pageIndex]; pageIndex++) {
            page.invalidate();
            if (endCondition(page))
                break;
        }
    }
    findLayoutPositionInAllLayout(subDocument, pos, detailsLevel, endRowConflictFlags, middleRowConflictFlags) {
        const layout = this.layout;
        const realValidPageCount = layout.validPageCount;
        const realIsFullyFormatted = layout.isFullyFormatted;
        layout.validPageCount = layout.pages.length;
        layout.isFullyFormatted = true;
        const res = new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(layout, subDocument, pos, detailsLevel, true)
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(endRowConflictFlags), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(middleRowConflictFlags));
        layout.validPageCount = realValidPageCount;
        layout.isFullyFormatted = realIsFullyFormatted;
        return res;
    }
    getStartModelPositionOfRow(lp) {
        var _a;
        const prevLP = lp.clone();
        if (prevLP.advanceToPrevRow(this.layout)) {
            const prevLPTblCellInfo = prevLP.row.tableCellInfo;
            if (!prevLPTblCellInfo)
                return prevLP.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + prevLP.row.getLastBox().getEndPosition();
            const curLPTblCellInfo = (_a = lp.row) === null || _a === void 0 ? void 0 : _a.tableCellInfo;
            const curTopLevelColumn = curLPTblCellInfo ? curLPTblCellInfo.parentRow.parentTable.getTopLevelColumn() : null;
            const prevTopLevelColumn = prevLPTblCellInfo ? prevLPTblCellInfo.parentRow.parentTable.getTopLevelColumn() : null;
            if (!curLPTblCellInfo || curTopLevelColumn.logicInfo != prevTopLevelColumn.logicInfo)
                return prevTopLevelColumn.logicInfo.grid.table.getEndPosition();
            return prevTopLevelColumn.logicInfo.grid.table.getStartPosition();
        }
        return 0;
    }
    extendByMultipageTables(pageIndex, minPosition, forceRestartFullPage) {
        const subDocument = this.model.mainSubDocument;
        if (!subDocument.tables.length)
            return -1;
        const page = this.layout.pages[pageIndex];
        if (!page)
            return -1;
        const table = this.isPageStartWithMultipageTable(page);
        if (!table)
            return -1;
        return minPosition < table.getEndPosition() || forceRestartFullPage ? table.getStartPosition() : table.getEndPosition();
    }
    isPageStartWithMultipageTable(page) {
        if (!page)
            return null;
        const fstPa = page.mainSubDocumentPageAreas[0];
        if (!fstPa)
            return null;
        const fstColumn = fstPa.columns[0];
        if (!fstColumn)
            return null;
        const fstRow = fstColumn.rows[0];
        if (!fstRow)
            return null;
        const tableCellInfo = fstRow.tableCellInfo;
        return LayoutInvalidator.isLayoutRowRowStartWithMultipageTable(fstRow) ?
            tableCellInfo.parentRow.parentTable.getTopLevelColumn().logicInfo.grid.table :
            null;
    }
    static isLayoutRowRowStartWithMultipageTable(layoutRow) {
        const tableCellInfo = layoutRow.tableCellInfo;
        return this.isTableCellIsPartOfMultipageTable(tableCellInfo);
    }
    static isTableCellIsPartOfMultipageTable(tableCellInfo) {
        return !!tableCellInfo && (tableCellInfo.parentRow.rowIndex != 0 || tableCellInfo.parentRow.parentTable.isBoundWithPrev() || this.isTableCellIsPartOfMultipageTable(tableCellInfo.parentRow.parentTable.parentCell));
    }
    addRestartFromParagraph(positions, logPosition) {
        const parStartPos = this.mainSubDoc.getParagraphByPosition(logPosition).startLogPosition.value;
        const layPosParStart = this.findLayoutPositionInAllLayout(this.mainSubDoc, parStartPos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row, false, true);
        layPosParStart.page.invalidate();
        positions.push(this.prevRowPositions(layPosParStart));
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/invalidator/position-savers.ts





class RestartFromPositionSaver_Base {
    constructor(manager) {
        this.manager = manager;
    }
    get restartPreparer() {
        return new RestartPreparer(this.manager);
    }
    restartOtherSubDocument(subDocument, pageIndex) {
        return new RestartFromPositionSaver_OherSubDocument(this.manager, subDocument, pageIndex);
    }
    restartMainSubDocumentFromPage(pageIndex) {
        return new RestartFromPositionSaver_MainSubDocumentFromPage(this.manager, pageIndex);
    }
    restartMainSubDocumentFromRow(lp, modelPosition) {
        return RestartFromPositionSaver_Base.isNeedRestartFromPage(lp) ?
            new RestartFromPositionSaver_MainSubDocumentFromPage(this.manager, lp.pageIndex) :
            new RestartFromPositionSaver_MainSubDocumentFromRow(this.manager, lp, modelPosition);
    }
    restart() {
        log/* Log */.Z.print(log_source/* LogSource */.O.PositionSaver, "restart(from Base)", "");
    }
    static isNeedRestartFromPage(lp) {
        return lp.pageAreaIndex == 0 && lp.columnIndex == 0 && lp.rowIndex == 0;
    }
}
class RestartFromPositionSaver_OherSubDocument extends RestartFromPositionSaver_Base {
    constructor(manager, subDocument, pageIndex) {
        super(manager);
        this.subDocument = subDocument;
        this.pageIndex = pageIndex;
    }
    restartOtherSubDocument(_subDocument, pageIndex) {
        return this.getNextState(pageIndex);
    }
    restartMainSubDocumentFromPage(pageIndex) {
        return this.getNextState(pageIndex);
    }
    restartMainSubDocumentFromRow(layoutPosition, _modelPosition) {
        return this.getNextState(layoutPosition.pageIndex);
    }
    restart() {
        log/* Log */.Z.print(log_source/* LogSource */.O.PositionSaver, "restart(from OherSubDocument)", `pageIndex: ${this.pageIndex}, subDocInfo:${log_obj_to_str/* LogObjToStr */.I.subDocumentInfoBase(this.subDocument.info)}`);
        this.restartPreparer.restartHeaderFooterInternal(this.subDocument, this.pageIndex);
    }
    getNextState(pageIndex) {
        return new RestartFromPositionSaver_MainSubDocumentFromPage(this.manager, Math.min(pageIndex, this.pageIndex));
    }
}
class RestartFromPositionSaver_MainSubDocumentFromPage extends RestartFromPositionSaver_Base {
    constructor(manager, pageIndex) {
        super(manager);
        this.pageIndex = pageIndex;
    }
    restartOtherSubDocument(_subDocument, pageIndex) {
        return this.getNextState(pageIndex);
    }
    restartMainSubDocumentFromPage(pageIndex) {
        return this.getNextState(pageIndex);
    }
    restartMainSubDocumentFromRow(layoutPosition, modelPosition) {
        return layoutPosition.pageIndex < this.pageIndex ?
            new RestartFromPositionSaver_MainSubDocumentFromRow(this.manager, layoutPosition, modelPosition) :
            this.getNextState(layoutPosition.pageIndex);
    }
    restart() {
        log/* Log */.Z.print(log_source/* LogSource */.O.PositionSaver, "restart(from page)", `pageIndex: ${this.pageIndex}`);
        this.restartPreparer.restartFromPage(this.pageIndex, true, true);
    }
    getNextState(pageIndex) {
        this.pageIndex = Math.min(pageIndex, this.pageIndex);
        return this;
    }
}
class RestartFromPositionSaver_AllLayout extends RestartFromPositionSaver_Base {
    restartOtherSubDocument(_subDocument, _pageIndex) {
        return this;
    }
    restartMainSubDocumentFromPage(_pageIndex) {
        return this;
    }
    restartMainSubDocumentFromRow(_layoutPosition, _modelPosition) {
        return this;
    }
    restart() {
        log/* Log */.Z.print(log_source/* LogSource */.O.PositionSaver, "restart(all layout)", "");
        this.restartPreparer.restartFormatingAllLayout();
    }
}
class RestartFromPositionSaver_MainSubDocumentFromRow extends RestartFromPositionSaver_Base {
    constructor(manager, layoutPosition, modelPosition) {
        super(manager);
        this.layoutPosition = layoutPosition;
        this.modelPosition = modelPosition;
    }
    restartOtherSubDocument(_subDocument, pageIndex) {
        return this.getNextState(pageIndex);
    }
    restartMainSubDocumentFromRow(layoutPosition, modelPosition) {
        if (layoutPosition.pageIndex <= this.layoutPosition.pageIndex && RestartFromPositionSaver_Base.isNeedRestartFromPage(layoutPosition))
            return new RestartFromPositionSaver_MainSubDocumentFromPage(this.manager, layoutPosition.pageIndex);
        if (modelPosition <= this.modelPosition) {
            this.modelPosition = modelPosition;
            this.layoutPosition = layoutPosition;
        }
        return this;
    }
    restartMainSubDocumentFromPage(pageIndex) {
        return this.getNextState(pageIndex);
    }
    restart() {
        log/* Log */.Z.print(log_source/* LogSource */.O.PositionSaver, "restart(from row)", `modelPosition: ${this.modelPosition}, LP:${LogObjToStrLayout.layoutPositionShort(this.layoutPosition)}`);
        this.restartPreparer.restartFromRow(this.layoutPosition, this.modelPosition, false);
    }
    getNextState(pageIndex) {
        if (pageIndex <= this.layoutPosition.pageIndex)
            return new RestartFromPositionSaver_MainSubDocumentFromPage(this.manager, pageIndex);
        return this;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/managers/restart-manager.ts






class RestartManager {
    constructor(manager) {
        this.manager = manager;
        this.reset();
    }
    reset() {
        this.layoutFormatterPositionSaver = new RestartFromPositionSaver_Base(this.manager);
    }
    startFormatting() {
        this.layoutFormatterPositionSaver.restart();
        this.reset();
    }
    restartFromPage(pageIndex, minPosition, forceRestartFullPage) {
        log/* Log */.Z.print(log_source/* LogSource */.O.RestartManager, "restartFromPage", `pageIndex:${pageIndex}, minPosition:${minPosition}, forceRestartFullPage:${forceRestartFullPage}`);
        const pos = this.manager.invalidator.extendByMultipageTables(pageIndex, minPosition, forceRestartFullPage);
        if (pos == -1) {
            this.restartTemplate(pageIndex, () => this.layoutFormatterPositionSaver.restartMainSubDocumentFromPage(pageIndex));
        }
        else {
            const lp = this.manager.invalidator.findLayoutPositionInAllLayout(this.manager.model.mainSubDocument, pos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row, false, true);
            if (lp.posIsStartPage() && lp.pageIndex != 0) {
                lp.advanceToPrevRow(this.manager.layout);
                lp.rowIndex++;
                lp.row = null;
            }
            utils_list.ListUtils.forEach(this.manager.layout.pages, (page) => page.invalidate(), lp.pageIndex, pageIndex);
            this.restartFromRow(lp, this.manager.invalidator.getStartModelPositionOfRow(lp));
        }
    }
    restartFromRow(lp, modelPosition) {
        log/* Log */.Z.print(log_source/* LogSource */.O.RestartManager, "restartFromRow", `modelPosition:${modelPosition}, lp:${LogObjToStrLayout.layoutPositionShort(lp)}`);
        this.restartTemplate(lp.pageIndex, () => this.layoutFormatterPositionSaver.restartMainSubDocumentFromRow(lp, modelPosition));
    }
    restartHeaderFooter(subDocument, pageIndex) {
        this.restartTemplate(pageIndex, () => this.layoutFormatterPositionSaver.restartOtherSubDocument(subDocument, pageIndex));
    }
    restartAllLayout() {
        this.restartTemplate(0, () => new RestartFromPositionSaver_AllLayout(this.manager));
    }
    restartTemplate(pageIndex, getNewRestartSaver) {
        if (this.manager.layout) {
            this.manager.layout.isFullyFormatted = false;
            this.manager.layout.validPageCount = Math.min(this.manager.layout.validPageCount, pageIndex);
        }
        this.layoutFormatterPositionSaver = getNewRestartSaver();
        if (!this.manager.isUpdateLocked())
            this.manager.onUpdateUnlocked(0);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/browser.js
var browser = __webpack_require__(9279);
;// CONCATENATED MODULE: ./src/common/layout-formatter/managers/formatter-manager.ts



















class FormatterManager extends batch_updatable/* BatchUpdatableObject */.IS {
    get activeSubDocument() { return this.activeSubDocumentHolder.activeSubDocument; }
    get isDocumentOpened() { return this._isDocumentOpened; }
    constructor(measurer, innerClientProperties, model, layout, activeSubDocumentHolder, bookmarksSettings, documentProtectionSettings, controlHeightProvider, stringResources, layoutChangesListeners, browserUtils) {
        super();
        this.formatterProcessID = null;
        this.unhideProcessID = null;
        this._isDocumentOpened = false;
        this.onLayoutChangedDispatcher = new event_dispatcher/* EventDispatcher */.p();
        this.measurer = measurer;
        this.innerClientProperties = innerClientProperties;
        this.model = model;
        this.layout = layout;
        this.activeSubDocumentHolder = activeSubDocumentHolder;
        this.bookmarksSettings = bookmarksSettings;
        this.documentProtectionSettings = documentProtectionSettings;
        this.controlHeightProvider = controlHeightProvider;
        this.stringResources = stringResources;
        utils_list.ListUtils.forEach(layoutChangesListeners, (l) => this.onLayoutChangedDispatcher.add(l));
        this.floatingRestartInfoHolder = new FloatingRestartInfoHolder();
        this.mainFormatter = new MainFormatter(this);
        this.activeFormatter = this.mainFormatter;
        this.formatters = {};
        this.changesManager = new ChangesManager();
        this.boundsCalculator = new bounds_calculator/* BoundsCalculator */.u();
        this.invalidator = new LayoutInvalidator(this);
        this.modelChangesListener = new ModelChangesListener(this.invalidator);
        this.removeRedundantHelper = new RemoveRedundantHelper(this.changesManager);
        this.otherPageAreaFormatter = new OtherPageAreaFormatter(this);
        this.layoutDependentRunCache = new LayoutDependentRunCache(this);
        this.restartManager = new RestartManager(this);
        this.anchoredObjectsManager = new AnchoredObjectsManager(this);
        this.browserUtils = browserUtils !== null && browserUtils !== void 0 ? browserUtils : { MacOSPlatform: browser.Browser.MacOSPlatform };
    }
    dispose() {
        clearTimeout(this.formatterProcessID);
        clearTimeout(this.unhideProcessID);
    }
    onUpdateUnlocked(_occurredEvents) {
        if (this._isDocumentOpened)
            this.restartManager.startFormatting();
    }
    getLayoutFormatter(subDocumentId) {
        const formatter = this.formatters[subDocumentId];
        return formatter ? formatter : this.formatters[subDocumentId] = new BaseFormatter(this, subDocumentId);
    }
    openDocument() {
        this._isDocumentOpened = true;
        this.activeFormatter = this.mainFormatter;
    }
    closeDocument() {
        this._isDocumentOpened = false;
        this.stopFormatting();
        this.formatters = {};
        this.changesManager.reset();
        this.layoutDependentRunCache.reset();
        this.restartManager.reset();
    }
    runFormatting(pageIndex) {
        if (!this._isDocumentOpened)
            return;
        if (this.isUpdateLocked())
            throw new Error(errors/* Errors */.D.InternalException);
        this.formatPage(pageIndex);
        this.runFormattingAsync();
    }
    runFormattingAsync() {
        if (this.formatterProcessID || this.isUpdateLocked() || !this._isDocumentOpened)
            return;
        const asyncCalculating = () => {
            if (this.isLocked()) {
                this.formatterProcessID = null;
                return;
            }
            for (let numRowsFormatAtTime = 10; numRowsFormatAtTime > 0; numRowsFormatAtTime--) {
                if (!this.mainFormatter.formatNext()) {
                    this.formatterProcessID = null;
                    break;
                }
            }
            if (this.formatterProcessID !== null)
                this.formatterProcessID = setTimeout(asyncCalculating, 0);
            this.checkMeasureValid();
        };
        this.formatterProcessID = setTimeout(asyncCalculating, 0);
    }
    checkMeasureValid() {
        if (this.measurer.resultsIsInvalid) {
            this.stopFormatting();
            if (this.unhideProcessID === null) {
                this.unhideProcessID = setInterval(() => {
                    if (this.measurer.resultsIsInvalid) {
                        const prop = character_properties_cache/* CharacterPropertiesCache */.H.getRareCharProperty(this.model.cache.fontInfoCache.fontMeasurer);
                        prop.fontInfo.reset();
                        this.measurer.measure([new measure_info/* MeasureInfoText */.O_("SomeUnusualText", prop)]);
                        prop.clearSizes();
                        prop.fontInfo.reset();
                    }
                    if (!this.measurer.resultsIsInvalid) {
                        if (this.unhideProcessID) {
                            clearInterval(this.unhideProcessID);
                            this.unhideProcessID = null;
                        }
                        this.invalidator.onChangedAllLayout();
                    }
                }, 1000);
            }
        }
    }
    forceFormatPage(pageIndex) {
        if (!this._isDocumentOpened)
            return;
        this.suspendUpdate();
        const page = this.formatPage(pageIndex);
        this.continueUpdate();
        return page;
    }
    formatSyncAllDocument() {
        this.suspendUpdate();
        while (this.mainFormatter.formatNext())
            ;
        this.checkMeasureValid();
        this.continueUpdate();
    }
    onPagesReady() {
        const mergedPageChanges = this.changesManager.getMergedPageChanges();
        this.changesManager.reset();
        this.onLayoutChangedDispatcher.listeners.forEach(listener => listener.NotifyPagesReady(mergedPageChanges));
        if (this.layout.isFullyFormatted)
            this.onLayoutChangedDispatcher.listeners.forEach(listener => listener.NotifyFullyFormatted(this.layout.pages.length));
    }
    formatPage(index) {
        if (this.isUpdateLocked())
            throw new Error("isUpdateLocked(). You can't call formatNext");
        while (index >= this.layout.validPageCount && this.mainFormatter.formatNext())
            ;
        this.checkMeasureValid();
        return this.layout.pages[index];
    }
    stopFormatting() {
        if (this.formatterProcessID) {
            clearTimeout(this.formatterProcessID);
            this.formatterProcessID = null;
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout/document-layout.ts


class ModelPositionHolder {
    constructor(pos, posManager) {
        this.pos = posManager.registerPosition(pos);
        this.posManager = posManager;
    }
    get modelPosition() {
        return this.pos.value;
    }
    destructor() {
        this.posManager.unregisterPosition(this.pos);
    }
}
class AnchorObjectsPositionInfo {
    constructor(model) {
        this.model = model;
        this.cache = {};
    }
    add(obj, modelPosition) {
        this.delete(obj.objectId);
        this.cache[obj.objectId] = new ModelPositionHolder(modelPosition, this.model.subDocumentsCollection.collection[obj.belongsToSubDocId].positionManager);
    }
    delete(id) {
        const info = this.cache[id];
        if (info) {
            info.destructor();
            delete this.cache[id];
        }
    }
    getPosition(objectId) {
        return this.cache[objectId].modelPosition;
    }
    clear() {
        number/* NumberMapUtils */.j.forEach(this.cache, (posInfo) => posInfo.destructor());
        this.cache = {};
    }
}
class DocumentLayout {
    get grids() {
        return this.pages.reduce((res, page) => {
            page.grids.forEach((grid, table) => res.set(table, grid));
            return res;
        }, new Map());
    }
    constructor(anchorObjectsPositionInfo) {
        this.anchorObjectsPositionInfo = anchorObjectsPositionInfo;
        this.setEmptyLayout(color_color/* ColorHelper */.v.NO_COLOR);
    }
    setEmptyLayout(pageColor) {
        this.pages = [];
        this.validPageCount = 0;
        this.lastMaxNumPages = 0;
        this.isFullyFormatted = false;
        this.pageColor = pageColor;
        this.anchorObjectsPositionInfo.clear();
    }
    getLastValidPage() {
        return this.pages[this.validPageCount - 1];
    }
    isPageValid(pageIndex) {
        return pageIndex < this.validPageCount && this.pages[pageIndex].isValid;
    }
    getPageBySubDocumentId(subDocumentId) {
        return this.pages.find((page) => !!page.mainSubDocumentPageAreas[subDocumentId] || !!page.otherPageAreas[subDocumentId]);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/changes/selection/layout-area-selection-change.ts


class LayoutAreaSelectionChange extends LayoutChangeBase {
    constructor(index, changeType, selection) {
        super(index, changeType);
        this.selection = selection;
    }
    reduceChanges() {
        throw new Error(errors/* Errors */.D.InternalException);
    }
}

;// CONCATENATED MODULE: ./src/common/layout-formatter/changes/changes/selection/layout-page-selection-change.ts


class LayoutPageSelectionChange extends LayoutChangeBase {
    constructor(index, changeType, areaChanges = []) {
        super(index, changeType);
        this.areaChanges = areaChanges;
    }
    reduceChanges() {
        throw new Error(errors/* Errors */.D.InternalException);
    }
}

;// CONCATENATED MODULE: ./src/common/layout/selection/layout-selection-page-info.ts
class LayoutSelectionPageInfo {
    constructor() {
        this.oldItems = [];
        this.newItems = [];
        this.isChanged = false;
    }
    beforeRecreatePageSelection() {
        this.newItems = [];
        this.isChanged = this.oldItems.length > 0;
    }
    changesCollected() {
        if (this.isChanged) {
            this.oldItems = this.newItems;
            this.newItems = [];
            this.isChanged = false;
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout/selection/layout-selection-info.ts





class LayoutSelectionInfo {
    constructor(layoutPageFlag, innerClientProperties) {
        this.pageInfos = [];
        this.changes = [];
        this.layoutPageFlag = layoutPageFlag;
        this.innerClientProperties = innerClientProperties;
    }
    changesApplied() {
        this.changes = [];
    }
    reset() {
        this.pageInfos.splice(0);
        this.changes.splice(0);
    }
    needAtLeastPageIndex(pageIndex) {
        while (this.pageInfos.length <= pageIndex)
            this.pageInfos.push(new LayoutSelectionPageInfo());
    }
    registerItem(pageIndex, item) {
        this.needAtLeastPageIndex(pageIndex);
        const pageInfo = this.pageInfos[pageIndex];
        pageInfo.newItems.push(item);
        pageInfo.isChanged = true;
    }
    collectPageChanges(layout) {
        const pages = layout.pages;
        this.pageInfos.splice(pages.length);
        if (this.innerClientProperties.viewsSettings.isSimpleView) {
            if (this.pageInfos[0])
                this.pageInfos[0].changesCollected();
        }
        else {
            for (let pageIndex = 0, pageInfo; pageInfo = this.pageInfos[pageIndex]; pageIndex++) {
                const pageFlags = pages[pageIndex].flags;
                if (pageFlags.get(layout_page/* LayoutPageFlags */.m3.MustBeRendered) && pageInfo.isChanged) {
                    const maxCount = Math.max(pageInfo.oldItems.length, pageInfo.newItems.length);
                    const pageChanges = [];
                    if (!pageFlags.get(this.layoutPageFlag))
                        pageInfo.oldItems = [];
                    for (let itemIndex = 0; itemIndex < maxCount; itemIndex++) {
                        const oldItem = pageInfo.oldItems[itemIndex];
                        const newItem = pageInfo.newItems[itemIndex];
                        if (oldItem) {
                            if (newItem) {
                                if (!oldItem.equals(newItem))
                                    pageChanges.push(new LayoutAreaSelectionChange(itemIndex, LayoutChangeType.Replaced, newItem));
                            }
                            else {
                                for (let ind = pageInfo.oldItems.length - 1; ind >= itemIndex; ind--)
                                    pageChanges.push(new LayoutAreaSelectionChange(ind, LayoutChangeType.Deleted, oldItem));
                                break;
                            }
                        }
                        else {
                            for (; itemIndex < pageInfo.newItems.length; itemIndex++)
                                pageChanges.push(new LayoutAreaSelectionChange(itemIndex, LayoutChangeType.Inserted, pageInfo.newItems[itemIndex]));
                            break;
                        }
                    }
                    if (pageChanges.length)
                        this.changes.push(new LayoutPageSelectionChange(pageIndex, LayoutChangeType.Updated, pageChanges));
                }
                pageInfo.changesCollected();
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout/selection/layout-selection.ts


class LayoutSelection {
    constructor(subDocumentInfo, pageIndex, innerClientProperties) {
        this.subDocumentInfo = null;
        this.pageIndex = -1;
        this.firstPageIndexWithSelection = 0;
        this.lastPageIndexWithSelection = 0;
        this.selectionInfo = new LayoutSelectionInfo(layout_page/* LayoutPageFlags */.m3.IsSelectionRendered, innerClientProperties);
        this.searchInfo = new LayoutSelectionInfo(layout_page/* LayoutPageFlags */.m3.IsSearchSelectionRendered, innerClientProperties);
        this.misspelledInfo = new LayoutSelectionInfo(layout_page/* LayoutPageFlags */.m3.IsMisspelledSelectionRendered, innerClientProperties);
        this.rangePermissionInfo = new LayoutSelectionInfo(layout_page/* LayoutPageFlags */.m3.IsRangePermissionsRendered, innerClientProperties);
        this.subDocumentInfo = subDocumentInfo;
        this.pageIndex = pageIndex;
    }
    updatePageIndexWithSelection() {
        this.firstPageIndexWithSelection = -1;
        this.lastPageIndexWithSelection = 0;
        for (let pageIndex = 0, pageInfo; pageInfo = this.selectionInfo.pageInfos[pageIndex]; pageIndex++) {
            if (pageInfo.oldItems.length) {
                if (this.firstPageIndexWithSelection < 0)
                    this.firstPageIndexWithSelection = pageIndex;
                this.lastPageIndexWithSelection = pageIndex;
            }
        }
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/dom.js
var dom = __webpack_require__(6907);
;// CONCATENATED MODULE: ./src/common/measurer/measurer.ts





class Measurer {
    constructor(id) {
        this.resultsIsInvalid = false;
        const measureContainer = document.createElement("div");
        measureContainer.id = id + "_Measure";
        measureContainer.className = "dxreMeasurer";
        document.body.appendChild(measureContainer);
        this.measureContainer = measureContainer;
    }
    dispose() {
        dom.DomUtils.hideNode(this.measureContainer);
    }
    setCharacterPropertiesCache(charPropsCache) {
        this.charPropsCache = charPropsCache;
    }
    clearCache() {
        var _a;
        (_a = this.charPropsCache) === null || _a === void 0 ? void 0 : _a.resetSizes();
    }
    measure(measureInfos) {
        this.htmlParts = [];
        this.nodeIndex = 0;
        this.nonCachedMeasureInfos = [];
        for (let info of measureInfos)
            if (!info.resultSize) {
                if (info.charProp.script !== character_enums/* CharacterFormattingScript */.Vg.Normal)
                    this.pushInfoToQueue(info.sbInfo = this.createSpaceMeasureInfo(info));
                this.pushInfoToQueue(info);
            }
        this.measureContainer.innerHTML = '';
        this.htmlParts.forEach((el) => this.measureContainer.appendChild(el));
        const nodes = this.measureContainer.childNodes;
        for (let info of this.nonCachedMeasureInfos) {
            const cacheValue = info.charProp.getSize(info.text);
            if (cacheValue)
                info.resultSize = cacheValue;
            else
                this.applyCalculatedSize(info, nodes);
        }
        this.checkResult(measureInfos);
    }
    checkResult(measureInfos) {
        if (measureInfos.length) {
            this.resultsIsInvalid = utils_list.ListUtils.unsafeAnyOf(measureInfos, info => this.incorrectInfo(info.resultSize));
            if (this.resultsIsInvalid)
                for (let info of measureInfos) {
                    info.resultSize.width = info.resultSize.height = 1;
                    info.charProp.clearSizes();
                    if (info.charProp.fontInfo)
                        info.charProp.fontInfo.reset();
                }
        }
    }
    incorrectInfo(finalSize) {
        return finalSize.height === 0 || isNaN(finalSize.width) || isNaN(finalSize.height);
    }
    pushInfoToQueue(info) {
        this.nonCachedMeasureInfos.push(info);
        if (info.resultSize !== null) {
            this.nonCachedMeasureInfos.push(info);
            info.nodeIndex = this.nodeIndex++;
            var pre = document.createElement("pre");
            pre.style.cssText = info.signCssString;
            pre.innerHTML = info.getEncodedText();
            this.htmlParts.push(pre);
            info.charProp.setSize(info.text, null);
            info.resultSize = null;
        }
    }
    createSpaceMeasureInfo(info) {
        let newCharProp = info.charProp.clone();
        newCharProp.script = character_enums/* CharacterFormattingScript */.Vg.Normal;
        newCharProp = this.charPropsCache.getItem(newCharProp);
        return new measure_info/* MeasureInfoNonText */.DA(" ", newCharProp);
    }
    applyCalculatedSize(info, nodes) {
        const node = nodes[info.nodeIndex];
        const style = document.defaultView.getComputedStyle(node, null);
        info.resultSize = new size.Size(parseFloat(style.width), info.charProp.script == character_enums/* CharacterFormattingScript */.Vg.Normal ? this.getNormalHeight(info) : info.sbInfo.resultSize.height);
        info.charProp.setSize(info.text, info.resultSize);
    }
    getNormalHeight(info) {
        return info.charProp.fontInfo.getHeightFactor() * info.charProp.fontSize;
    }
}

// EXTERNAL MODULE: ./src/common/model/caches/hashed-caches/font-info-cache.ts + 1 modules
var font_info_cache = __webpack_require__(9467);
// EXTERNAL MODULE: ./src/common/model/character/character-property-descriptor.ts
var character_property_descriptor = __webpack_require__(6223);
// EXTERNAL MODULE: ./src/common/model/json/enums/json-top-level-enums.ts
var json_top_level_enums = __webpack_require__(6338);
// EXTERNAL MODULE: ./src/common/view-settings/views-settings.ts
var views_settings = __webpack_require__(1626);
;// CONCATENATED MODULE: ./src/common/rich-utils/inner-client-properties.ts

class InnerClientProperties {
    constructor(viewsSettings) {
        this.showHiddenSymbols = false;
        this.showTableGridLines = false;
        this.viewsSettings = new views_settings/* ViewSettings */.hr();
        this.viewsSettings.copyFrom(viewsSettings);
    }
}

;// CONCATENATED MODULE: ./src/common/spelling/listeners.ts


class SpellCheckerModelChangesListener {
    constructor(spellChecker) {
        this.spellChecker = spellChecker;
    }
    modelChanged(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted:
            case changes_enums/* ModelChangeType */.f.ParagraphInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted: {
                this.spellChecker.onModelIntervalChanged(change.position, 1, true);
                break;
            }
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted: {
                this.spellChecker.onModelIntervalChanged(change.position, change.length, change.length == 1 && rich_utils/* RichUtils */.i.isWhitespace.test(change.text));
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved: {
                break;
            }
            case changes_enums/* ModelChangeType */.f.IntervalRemoved: {
                this.spellChecker.onModelIntervalChanged(change.interval.start, -change.interval.length, false);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphMerged: {
                this.spellChecker.onModelIntervalChanged(change.position, -1, false);
                break;
            }
        }
    }
}
class SpellCheckerLayoutChangesListener {
    constructor(spellChecker) {
        this.spellChecker = spellChecker;
    }
    NotifyPagesReady(_pageChanges) {
        this.spellChecker.onLayoutChanged();
    }
    NotifyFullyFormatted(_pageCount) { }
    ;
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/pdf/helper-frame.js
var helper_frame = __webpack_require__(1695);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/fonts.js
var fonts = __webpack_require__(4004);
// EXTERNAL MODULE: ./src/common/formats/html/import/html-importer.ts + 37 modules
var html_importer = __webpack_require__(1792);
// EXTERNAL MODULE: ./src/common/model/history/items/list-level-properties-history-items.ts
var list_level_properties_history_items = __webpack_require__(1259);
// EXTERNAL MODULE: ./src/common/model/manipulators/text-manipulator/insert-text-manipulator-params.ts
var insert_text_manipulator_params = __webpack_require__(2598);
// EXTERNAL MODULE: ./src/common/selection/input-position-base.ts
var input_position_base = __webpack_require__(1680);
// EXTERNAL MODULE: ./src/common/selection/selection-intervals-info.ts + 1 modules
var selection_intervals_info = __webpack_require__(655);
// EXTERNAL MODULE: ./src/common/spelling/helpers.ts
var helpers = __webpack_require__(5337);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/key.js
var key = __webpack_require__(2153);
// EXTERNAL MODULE: ./src/common/model/manipulators/paragraph-manipulator/insert-paragraph-manipulator-params.ts
var insert_paragraph_manipulator_params = __webpack_require__(7970);
// EXTERNAL MODULE: ./src/common/commands/client-command.ts
var client_command = __webpack_require__(4803);
// EXTERNAL MODULE: ./src/common/commands/command-base.ts + 1 modules
var command_base = __webpack_require__(9145);
// EXTERNAL MODULE: ./src/common/commands/command-states.ts
var command_states = __webpack_require__(3964);
// EXTERNAL MODULE: ./src/common/model/history/selection/selection-history-item.ts
var selection_history_item = __webpack_require__(6341);
// EXTERNAL MODULE: ./src/common/utils/utils.ts
var utils = __webpack_require__(5929);
;// CONCATENATED MODULE: ./src/common/auto-correct/auto-correct-providers.ts



















class AutoCorrectProviderBase {
    get subDocument() { return this.control.selection.activeSubDocument; }
    constructor(control) {
        this.control = control;
    }
    revise() {
        const pos = this.control.selection.lastSelectedInterval.start;
        const lastInsertedChar = this.control.selection.activeSubDocument.getText(new fixed.FixedInterval(pos - 1, 1));
        if (this.isTriggerChar(lastInsertedChar)) {
            const wordStartPos = helpers/* ModelWordPositionHelper */.a.getWordStartPositionByCharCondition(this.control.selection.activeSubDocument, pos - 1, (char) => { return this.isSeparator(char); });
            const wordEndPos = (this.includeTriggerChar(lastInsertedChar) ? pos : pos - 1) - wordStartPos;
            const interval = new fixed.FixedInterval(wordStartPos, wordEndPos);
            const text = this.control.selection.activeSubDocument.getText(interval);
            let selectionStateInfo = null;
            if (!this.includeTriggerChar(lastInsertedChar))
                selectionStateInfo = this.control.selection.getFloatingState();
            const autoCorrectResult = this.reviseCore(text, interval);
            if (selectionStateInfo)
                if (autoCorrectResult)
                    this.control.selection.restoreFloatingState(selectionStateInfo);
                else
                    selectionStateInfo.finalize();
            return autoCorrectResult;
        }
        return false;
    }
    isSeparator(char) {
        return !rich_utils/* RichUtils */.i.isAlphanumeric.test(char);
    }
    isTriggerChar(char) {
        return this.isSeparator(char);
    }
    includeTriggerChar(_char) {
        return false;
    }
}
class EventAutoCorrectProvider extends AutoCorrectProviderBase {
    reviseCore(text, interval) {
        this.control.modelManager.history.beginTransaction();
        const handled = this.control.clientSideEvents.raiseAutoCorrect(text, interval);
        this.control.modelManager.history.endTransaction();
        return handled;
    }
    isTriggerChar(_char) {
        return true;
    }
    includeTriggerChar(_char) {
        return true;
    }
}
class TwoInitialCapitalsAutoCorrectProvider extends AutoCorrectProviderBase {
    reviseCore(text, interval) {
        if (text.length > 2 && text[0] === text[0].toUpperCase() && text[1] === text[1].toUpperCase()) {
            for (let i = 2; i < text.length; i++)
                if (text[i] !== text[i].toLowerCase() || text[i] == text[i].toUpperCase())
                    return false;
            const replaceWith = text.substring(0, 1) + text[1].toLowerCase() + text.slice(2);
            this.control.modelManager.history.beginTransaction();
            this.control.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.control.selection.activeSubDocument, interval), false, false);
            this.control.modelManager.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(this.control.selection.activeSubDocument, interval.start), new input_position_base/* InputPositionBase */.Cd().setIntervals(selection_intervals_info/* SelectionIntervalsInfo */.v.fromPosition(this.control.selection.activeSubDocument, interval.start))
                .charPropsBundle, run_type/* RunType */.m.TextRun, replaceWith));
            this.control.modelManager.history.endTransaction();
            return true;
        }
        return false;
    }
}
class BulletedListAutoCorrectProvider extends AutoCorrectProviderBase {
    constructor() {
        super(...arguments);
        this.numberingRegEx = /^[0-9]+[\.\)]$/;
    }
    reviseCore(text, interval) {
        const subDocument = this.control.selection.activeSubDocument;
        const position = interval.end;
        const paragraphIndex = subDocument.getParagraphIndexByPosition(position);
        const paragraph = subDocument.paragraphs[paragraphIndex];
        if (paragraph.isInList())
            return false;
        const parStartPosition = paragraph.startLogPosition.value;
        if (parStartPosition !== interval.start)
            return false;
        const targetNumberingListType = this.getTargetNumberingListType(text);
        if (targetNumberingListType === undefined)
            return false;
        this.control.modelManager.history.beginTransaction();
        this.control.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, fixed.FixedInterval.fromPositions(parStartPosition, position + 1)), false, false);
        this.control.selection.changeState(newState => newState.setPosition(parStartPosition));
        if (targetNumberingListType === numbering_list/* NumberingType */.FB.Bullet)
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ToggleBulletedListItem).execute(this.control.commandManager.isPublicApiCall);
        else {
            const targetIndex = parseInt(text.slice(0, -1));
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ToggleNumberingListItem).execute(this.control.commandManager.isPublicApiCall, targetIndex);
            const numberingListIndex = this.control.modelManager.model.numberingLists.length - 1;
            const separator = text[text.length - 1];
            for (var i = 0, length = this.control.modelManager.model.numberingLists[numberingListIndex].levels.length; i < length; i++)
                this.control.modelManager.history.addAndRedo(new list_level_properties_history_items/* ListLevelDisplayFormatStringHistoryItem */.nJ(this.control.modelManager.modelManipulator, false, numberingListIndex, i, `{${i}}${separator}`));
        }
        this.control.modelManager.history.endTransaction();
        return true;
    }
    isSeparator(char) {
        return rich_utils/* RichUtils */.i.isWhitespace.test(char);
    }
    isTriggerChar(char) {
        return char.charCodeAt(0) != key/* KeyCode */.VD.Enter && rich_utils/* RichUtils */.i.isWhitespace.test(char);
    }
    getTargetNumberingListType(paragraphText) {
        if (paragraphText.length === 1 && paragraphText.indexOf("*") === 0)
            return numbering_list/* NumberingType */.FB.Bullet;
        if (this.numberingRegEx.test(paragraphText))
            return numbering_list/* NumberingType */.FB.Simple;
        return undefined;
    }
}
class UrlAutoCorrectProvider extends AutoCorrectProviderBase {
    constructor() {
        super(...arguments);
        this.urlRegex = /^(?:[a-z][\w-]+:(?:\/{1,3}([^./]*:[^./]*@){0,1})|www\d{0,3}[.]|ftp[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?=((?:[^\s()<>]+|\([^\s<>]*\))+(?:\([^\s<>]*\)|[^\s`!()\[\]{};:'"".,<>?«»“”‘’])))\2$/i;
        this.emailRegex = /^(mailto:)?[-\w!#$%&'*+/=?^_`{|}~]+(?:\.[-\w!#$%&'*+/=?^_`{|}~]+)*@(?:\w+([-\w]*\w)\.)[\w]+$/;
        this.localRegex = /^(([a-zA-Z][:][\\])|(\\\\))(((?![<>:"\\|?*]).)+((?![ .])\\)?)*$/;
    }
    reviseCore(text, interval) {
        if (this.urlRegex.test(text) || this.emailRegex.test(text) || this.localRegex.test(text)) {
            this.control.modelManager.history.beginTransaction();
            this.control.modelManager.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.control.modelManager.modelManipulator, this.control.selection, this.control.selection.getState(), this.control.selection.getState().setIntervals([interval])));
            const command = this.control.commandManager
                .getCommand(client_command/* RichEditClientCommand */.f.ShowHyperlinkForm);
            const options = new command_base/* CommandOptions */.dg(this.control).setIntervalsInfo(selection_intervals_info/* SelectionIntervalsInfo */.v.fromInterval(this.subDocument, interval));
            const state = command.getState(options);
            const parameters = command.createParameters(options);
            const initParameters = parameters.clone();
            parameters.text = text;
            parameters.url = this.createNavigateUri(text);
            const result = command.applyParameters(new command_states/* IntervalCommandState */.dJ(state.enabled, interval), parameters, initParameters);
            this.control.modelManager.history.endTransaction();
            return result;
        }
        return false;
    }
    createNavigateUri(url) {
        if (url.indexOf(":") == -1 && url.indexOf("@") > 0)
            return "mailto:" + url;
        if (url.indexOf("www") == 0)
            return "http://" + url;
        if (url.indexOf("\\") == 0)
            return "file://" + url.replace(/\\/g, "\\\\");
        return url;
    }
    isSeparator(char) {
        return rich_utils/* RichUtils */.i.isWhitespace.test(char);
    }
}
class TableBasedAutoCorrectProviderBase extends AutoCorrectProviderBase {
    constructor(control, settings) {
        super(control);
        this.replaceInfoCollection = [];
        this.caseSensitiveReplacement = settings.caseSensitiveReplacement;
        settings.replaceInfoCollection.sort((a, b) => this.compare(a.replace, b.replace));
        this.initReplaceInfo(settings.replaceInfoCollection);
    }
    compare(origin, target) {
        if (!this.caseSensitiveReplacement) {
            origin = origin.toLocaleLowerCase();
            target = target.toLocaleLowerCase();
        }
        return origin === target ? 0 : (origin < target ? -1 : 1);
    }
    performReplace(interval, text) {
        const replaceWithStrings = (0,utils/* splitByLines */.Ev)(text);
        const charPropsBundle = this.control.inputPosition.charPropsBundle;
        this.control.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(this.subDocument, interval), true, false);
        let endOfInsertedInterval = interval.start;
        for (let i = 0; i < replaceWithStrings.length; i++) {
            if (replaceWithStrings[i]) {
                const subDocumentPosition = new sub_document/* SubDocumentPosition */.rg(this.subDocument, endOfInsertedInterval);
                const insertTextManipulatorParams = new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(subDocumentPosition, charPropsBundle, run_type/* RunType */.m.TextRun, replaceWithStrings[i]);
                const result = this.control.modelManager.modelManipulator.text.insertTextViaHistory(insertTextManipulatorParams);
                endOfInsertedInterval = result.insertedInterval.end;
            }
            if (i < replaceWithStrings.length - 1) {
                const subDocumentPosition = new sub_document/* SubDocumentPosition */.rg(this.subDocument, endOfInsertedInterval);
                const insertTextManipulatorParams = new insert_paragraph_manipulator_params/* InsertParagraphManipulatorParams */.n(subDocumentPosition, charPropsBundle);
                const result = this.control.modelManager.modelManipulator.paragraph.insertParagraphViaHistory(insertTextManipulatorParams);
                endOfInsertedInterval = result.end;
            }
        }
        return endOfInsertedInterval;
    }
}
class TableBasedSimpleAutoCorrectProvider extends TableBasedAutoCorrectProviderBase {
    initReplaceInfo(replaceInfoCollection) {
        utils_list.ListUtils.forEach(replaceInfoCollection, val => {
            if (rich_utils/* RichUtils */.i.isAlphanumeric.test(val.replace))
                this.replaceInfoCollection.push(val);
        });
    }
    reviseCore(text, interval) {
        const replaceWordIndex = search.SearchUtils.binaryIndexOf(this.replaceInfoCollection, a => this.compare(a.replace, text));
        if (replaceWordIndex >= 0) {
            this.control.modelManager.history.beginTransaction();
            command_base/* CommandBase */.eK.addSelectionBefore(this.control);
            const endOfInsertedInterval = this.performReplace(interval, this.replaceInfoCollection[replaceWordIndex].with);
            command_base/* CommandBase */.eK.addSelectionAfter(this.control, endOfInsertedInterval + 1);
            this.control.modelManager.history.endTransaction();
            return true;
        }
        return false;
    }
}
class TableBasedCompositeAutoCorrectProvider extends TableBasedAutoCorrectProviderBase {
    initReplaceInfo(replaceInfoCollection) {
        utils_list.ListUtils.forEach(replaceInfoCollection, val => {
            const lastSymbol = val.replace[val.replace.length - 1];
            if (!rich_utils/* RichUtils */.i.isAlphanumeric.test(val.replace) && rich_utils/* RichUtils */.i.isAlphanumeric.test(lastSymbol))
                this.replaceInfoCollection.push(val);
        });
    }
    reviseCore(text, interval) {
        for (let val of this.replaceInfoCollection) {
            if (this.isEndOf(val.replace, text)) {
                const diff = val.replace.length - text.length;
                const start = interval.start - diff;
                if (start >= 0) {
                    const intervalToCheck = new fixed.FixedInterval(start, interval.end - start);
                    const textToCheck = this.control.selection.activeSubDocument.getText(intervalToCheck);
                    if (this.isEndOf(val.replace, textToCheck)) {
                        this.control.modelManager.history.beginTransaction();
                        const endOfInsertedInterval = this.performReplace(intervalToCheck, val.with);
                        this.control.modelManager.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(this.control.modelManager.modelManipulator, this.control.selection, this.control.selection.getState(), this.control.selection.getState().setPosition(endOfInsertedInterval)));
                        this.control.modelManager.history.endTransaction();
                        return true;
                    }
                }
            }
        }
        return false;
    }
    isEndOf(origin, target) {
        return this.compare(origin.substr(target.length * -1, target.length), target) == 0;
    }
}
class TableBasedImmediateAutoCorrectProvider extends TableBasedCompositeAutoCorrectProvider {
    initReplaceInfo(replaceInfoCollection) {
        this.triggeredChar = [];
        utils_list.ListUtils.forEach(replaceInfoCollection, val => {
            const lastSymbol = val.replace[val.replace.length - 1];
            if (!rich_utils/* RichUtils */.i.isAlphanumeric.test(lastSymbol)) {
                this.triggeredChar.push(lastSymbol);
                this.replaceInfoCollection.push(val);
            }
        });
    }
    isTriggerChar(char) {
        return utils_list.ListUtils.unsafeAnyOf(this.triggeredChar, (currVal) => currVal == char);
    }
    includeTriggerChar(_char) {
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/auto-correct/auto-correct-service.ts

class AutoCorrectService {
    constructor(control, settings) {
        this.control = control;
        this.settings = settings;
        this.providers = [];
        this.registerDefaultProviders();
    }
    registerDefaultProviders() {
        this.providers.push(new EventAutoCorrectProvider(this.control));
        if (this.settings.replaceTextAsYouType) {
            this.providers.push(new TableBasedSimpleAutoCorrectProvider(this.control, this.settings));
            this.providers.push(new TableBasedCompositeAutoCorrectProvider(this.control, this.settings));
            this.providers.push(new TableBasedImmediateAutoCorrectProvider(this.control, this.settings));
        }
        if (this.settings.correctTwoInitialCapitals)
            this.providers.push(new TwoInitialCapitalsAutoCorrectProvider(this.control));
        if (this.settings.enableAutomaticNumbering)
            this.providers.push(new BulletedListAutoCorrectProvider(this.control));
        if (this.settings.detectUrls)
            this.providers.push(new UrlAutoCorrectProvider(this.control));
    }
    performAutoCorrect() {
        if (this.control.selection.isCollapsed()) {
            for (let provider of this.providers)
                if (provider.revise()) {
                    this.control.inputController.inputEditor.clearInputElement();
                    return;
                }
        }
    }
}

// EXTERNAL MODULE: ./src/common/utils/map-creator.ts
var map_creator = __webpack_require__(7156);
// EXTERNAL MODULE: ./src/common/canvas/renderer-class-names.ts
var renderer_class_names = __webpack_require__(5031);
;// CONCATENATED MODULE: ./src/common/canvas/renderes/z-index-helper.ts
var zIndexCssClassType;
(function (zIndexCssClassType) {
    zIndexCssClassType[zIndexCssClassType["TextBoxBg"] = 0] = "TextBoxBg";
    zIndexCssClassType[zIndexCssClassType["TblRowBg"] = 1] = "TblRowBg";
    zIndexCssClassType[zIndexCssClassType["TblCellBg"] = 2] = "TblCellBg";
    zIndexCssClassType[zIndexCssClassType["ParBg"] = 3] = "ParBg";
    zIndexCssClassType[zIndexCssClassType["BoxBg"] = 4] = "BoxBg";
    zIndexCssClassType[zIndexCssClassType["FieldBg"] = 5] = "FieldBg";
    zIndexCssClassType[zIndexCssClassType["SelRange"] = 6] = "SelRange";
    zIndexCssClassType[zIndexCssClassType["BoxSpace"] = 7] = "BoxSpace";
    zIndexCssClassType[zIndexCssClassType["SelSearch"] = 8] = "SelSearch";
    zIndexCssClassType[zIndexCssClassType["SelRow"] = 9] = "SelRow";
    zIndexCssClassType[zIndexCssClassType["Box"] = 10] = "Box";
    zIndexCssClassType[zIndexCssClassType["Bookmark"] = 11] = "Bookmark";
    zIndexCssClassType[zIndexCssClassType["TableBorder"] = 12] = "TableBorder";
    zIndexCssClassType[zIndexCssClassType["SelMissp"] = 13] = "SelMissp";
    zIndexCssClassType[zIndexCssClassType["SelCursor"] = 14] = "SelCursor";
    zIndexCssClassType[zIndexCssClassType["SelTouchBar"] = 15] = "SelTouchBar";
    zIndexCssClassType[zIndexCssClassType["TblCursor"] = 16] = "TblCursor";
    zIndexCssClassType[zIndexCssClassType["AnchoredPicture"] = 17] = "AnchoredPicture";
    zIndexCssClassType[zIndexCssClassType["TextBox"] = 18] = "TextBox";
})(zIndexCssClassType || (zIndexCssClassType = {}));
class ZIndexHelper {
    static getClassName(level, zIndexCssNames) {
        return `dxre${ZIndexHelper.names[zIndexCssNames]}ZL${level}`;
    }
}
ZIndexHelper.names = {
    [zIndexCssClassType.TextBoxBg]: "TextBoxBg",
    [zIndexCssClassType.TblRowBg]: "TblRowBg",
    [zIndexCssClassType.TblCellBg]: "TblCellBg",
    [zIndexCssClassType.ParBg]: "ParBg",
    [zIndexCssClassType.BoxBg]: "BoxBg",
    [zIndexCssClassType.FieldBg]: "FieldBg",
    [zIndexCssClassType.SelRange]: "SelRange",
    [zIndexCssClassType.BoxSpace]: "BoxSpace",
    [zIndexCssClassType.SelSearch]: "SelSearch",
    [zIndexCssClassType.SelRow]: "SelRow",
    [zIndexCssClassType.Box]: "Box",
    [zIndexCssClassType.Bookmark]: "Bookmark",
    [zIndexCssClassType.TableBorder]: "TableBorder",
    [zIndexCssClassType.SelMissp]: "SelMissp",
    [zIndexCssClassType.SelCursor]: "SelCursor",
    [zIndexCssClassType.SelTouchBar]: "SelTouchBar",
    [zIndexCssClassType.TblCursor]: "TblCursor",
    [zIndexCssClassType.AnchoredPicture]: "AnchoredPicture",
    [zIndexCssClassType.TextBox]: "TextBox",
};

// EXTERNAL MODULE: ./src/common/model/borders/enums.ts
var borders_enums = __webpack_require__(4265);
// EXTERNAL MODULE: ./src/common/model/enums.ts
var model_enums = __webpack_require__(4907);
// EXTERNAL MODULE: ./src/common/rich-utils/html-converter.ts
var html_converter = __webpack_require__(7225);
;// CONCATENATED MODULE: ./src/common/canvas/utils.ts
class CanvasUtils {
    static buildHyperlinkTipString(hyperlinkTip, clickText, settings) {
        if (!hyperlinkTip)
            hyperlinkTip = "";
        return settings.createHyperlinkTooltip(hyperlinkTip, `\nCtrl + ${clickText}`).replace(/['|"]/g, "&quot;");
    }
}

// EXTERNAL MODULE: ./src/common/scroll/model-states.ts + 1 modules
var model_states = __webpack_require__(4385);
;// CONCATENATED MODULE: ./src/common/canvas/renderes/common/document-renderer.ts






























class SimpleViewCanvasSizeManager {
    constructor(canvasManager, control) {
        this.size = new size.Size(0, 0);
        this.isSizeObserving = false;
        this.sizeUpdated = false;
        this.resizeFrameId = null;
        this.canvasManager = canvasManager;
        this.control = control;
        this.resizeObserver = new ResizeObserver(() => {
            this.sizeUpdated = false;
            this.resizeFrameId = requestAnimationFrame(() => {
                if (!this.sizeUpdated)
                    this.changeSize(false);
                this.sizeUpdated = true;
                this.resizeFrameId = null;
            });
        });
    }
    dispose() {
        if (this.resizeFrameId)
            cancelAnimationFrame(this.resizeFrameId);
        this.resizeFrameId = null;
        this.resizeObserver.disconnect();
    }
    changeSize(force) {
        const curr = new size.Size(this.canvasManager.getCanvasWidth(), this.canvasManager.controlHeightProvider.getVisibleAreaHeight(false));
        if (force || !curr.equals(this.size)) {
            this.size = curr;
            this.changeSizeCore();
        }
    }
    setViewMode(val) {
        if (val) {
            this.changeSize(true);
            if (!this.isSizeObserving) {
                this.resizeObserver.observe(this.canvasManager.canvas);
                this.isSizeObserving = true;
            }
        }
        else {
            if (this.isSizeObserving) {
                this.resizeObserver.unobserve(this.canvasManager.canvas);
                this.isSizeObserving = false;
            }
            this.changeSizeCore();
        }
        this.sizeUpdated = true;
    }
    changeSizeCore() {
        utils_list.ListUtils.forEach(this.control.viewManager.cache, (_val) => this.control.viewManager.renderer.removePage(1), 1);
        this.control.viewManager.ensureFirstPageIsRendered();
        this.control.innerClientProperties.viewsSettings.widthOfPage = this.canvasManager.getCanvasWidth();
        if (this.control.layoutFormatterManager) {
            this.control.layoutFormatterManager.invalidator.onChangedAllLayout();
            this.control.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byModelPosition(this.control.selection)
                .setModelPosition(this.control.selection.lastSelectedInterval.start).useStdRelativePosition().useStdOffset());
        }
        this.control.owner.adjustControl();
        this.control.horizontalRulerControl.update();
    }
}
class DocumentRenderer {
    get cache() { return this.viewManager.cache; }
    constructor(viewManager) {
        this.viewManager = viewManager;
        if (this.viewManager.innerClientProperties.viewsSettings.isSimpleView)
            dom.DomUtils.addClassName(this.viewManager.canvas, renderer_class_names/* RendererClassNames */.A.SIMPLE_VIEW);
    }
    onViewTypeChanged() {
        switch (this.viewManager.innerClientProperties.viewsSettings.viewType) {
            case views_settings/* ViewType */.bW.Simple:
                dom.DomUtils.addClassName(this.viewManager.canvas, renderer_class_names/* RendererClassNames */.A.SIMPLE_VIEW);
                break;
            case views_settings/* ViewType */.bW.PrintLayout:
                dom.DomUtils.removeClassName(this.viewManager.canvas, renderer_class_names/* RendererClassNames */.A.SIMPLE_VIEW);
                break;
        }
    }
    applyPageChange(layoutPage, pageChange) {
        log/* Log */.Z.print(log_source/* LogSource */.O.DocumentRenderer, "applyPageChanges", `pageIndex ${pageChange.index}`);
        const pageFromCache = this.cache[pageChange.index];
        for (let pageAreaChange of pageChange.mainPageAreaChanges)
            this.applyMainPageAreaChange(pageFromCache, layoutPage, pageAreaChange);
        for (let pageAreaChange of pageChange.otherPageAreaChanges)
            this.applyOtherPageAreaChange(pageFromCache, layoutPage, pageAreaChange);
        for (let anchoredPictureChange of pageChange.anchoredPictureChanges)
            this.applyAnchorPictureChange(pageFromCache, layoutPage, anchoredPictureChange);
    }
    applyAnchorPictureChange(cache, layoutPage, ancPicChange) {
        const objId = ancPicChange.index;
        switch (ancPicChange.changeType) {
            case LayoutChangeType.Deleted: {
                DocumentRenderer.removeFromContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture);
                break;
            }
            case LayoutChangeType.Replaced: {
                const obj = layoutPage.anchoredObjectHolder.getObjById(objId);
                DocumentRenderer.replaceFromContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture, this.renderFloatingPicture(obj, layoutPage.renderLevelCalculator));
                break;
            }
            case LayoutChangeType.Updated: {
                break;
            }
            case LayoutChangeType.Inserted: {
                const obj = layoutPage.anchoredObjectHolder.getObjById(objId);
                DocumentRenderer.insertToContainerByObject(objId, DocumentRenderer.getAnchoredObjectsContainer(cache.page), cache.anchoredPicture, this.renderFloatingPicture(obj, layoutPage.renderLevelCalculator));
                break;
            }
            default: throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    applyMainPageAreaChange(pageCache, layoutPage, pageAreaChange) {
        switch (pageAreaChange.changeType) {
            case LayoutChangeType.Deleted:
                DocumentRenderer.removeFromContainerByIndex(pageCache.page, pageAreaChange.canvasIndex, DocumentRenderer.getMainPageAreaContainerCore);
                break;
            case LayoutChangeType.Replaced:
                DocumentRenderer.replaceInContainer(pageCache.page, pageAreaChange.canvasIndex, this.renderPageArea(layoutPage.renderLevelCalculator, pageCache, layoutPage.mainSubDocumentPageAreas[pageAreaChange.layoutIndex], null), DocumentRenderer.getMainPageAreaContainerCore);
                break;
            case LayoutChangeType.Updated: {
                const layoutPageArea = layoutPage.mainSubDocumentPageAreas[pageAreaChange.layoutIndex];
                const pageAreaElement = DocumentRenderer.getMainPageAreaContainerCore(pageCache.page).childNodes[pageAreaChange.canvasIndex];
                for (let columnChange of pageAreaChange.columnChanges)
                    this.applyColumnChange(pageAreaElement, layoutPageArea, columnChange, layoutPage.renderLevelCalculator.renderMainPageAreaLevel);
                break;
            }
            default: throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    applyOtherPageAreaChange(cache, layoutPage, pageAreaChange) {
        const subDocId = pageAreaChange.index;
        const pageArea = layoutPage.otherPageAreas[subDocId];
        switch (pageAreaChange.changeType) {
            case LayoutChangeType.Deleted: {
                DocumentRenderer.removeFromContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas);
                DocumentRenderer.removeFromContainerByObject(subDocId, DocumentRenderer.getTextBoxBackgroundContainer(cache.page), cache.textBoxBgElements);
                break;
            }
            case LayoutChangeType.Replaced: {
                DocumentRenderer.replaceFromContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas, this.renderPageArea(layoutPage.renderLevelCalculator, cache, pageArea, pageArea.subDocument.isTextBox() ? layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId) : null));
                break;
            }
            case LayoutChangeType.Updated: {
                const pageAreaElement = cache.otherAreas[subDocId];
                const level = pageArea.subDocument.isTextBox() ?
                    layoutPage.renderLevelCalculator.getRenderLevel(layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId).rendererLevel) :
                    layoutPage.renderLevelCalculator.renderHeaderFooterPageAreasLevel;
                for (let columnChange of pageAreaChange.columnChanges)
                    this.applyColumnChange(pageAreaElement, pageArea, columnChange, level);
                break;
            }
            case LayoutChangeType.Inserted: {
                DocumentRenderer.insertToContainerByObject(subDocId, DocumentRenderer.getOtherPageAreaContainerCore(cache.page), cache.otherAreas, this.renderPageArea(layoutPage.renderLevelCalculator, cache, pageArea, pageArea.subDocument.isTextBox() ? layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocId) : null));
                break;
            }
            default: throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    applyColumnChange(pageAreaElement, layoutPageArea, columnChange, level) {
        switch (columnChange.changeType) {
            case LayoutChangeType.Deleted:
                DocumentRenderer.removeFromContainerByIndex(pageAreaElement, columnChange.canvasIndex, DocumentRenderer.getColumnsContainerCore);
                break;
            case LayoutChangeType.Replaced: {
                const renderedColumn = this.renderColumn(layoutPageArea.columns[columnChange.layoutIndex], level, layoutPageArea.subDocument.isMain());
                DocumentRenderer.replaceInContainer(pageAreaElement, columnChange.canvasIndex, renderedColumn, DocumentRenderer.getColumnsContainerCore);
                break;
            }
            case LayoutChangeType.Updated: {
                const layoutColumn = layoutPageArea.columns[columnChange.layoutIndex];
                const columnElement = DocumentRenderer.getColumnsContainerCore(pageAreaElement).childNodes[columnChange.canvasIndex];
                for (var rowChange of columnChange.rowChanges)
                    DocumentRenderer.applyChange(columnElement, rowChange, DocumentRenderer.getRowsContainerCore, () => this.renderRow(layoutColumn.rows[rowChange.layoutIndex], level));
                for (var tableChange of columnChange.tableChanges)
                    DocumentRenderer.applyChange(columnElement, tableChange, DocumentRenderer.getTablesContainerCore, () => DocumentRenderer.renderTable(layoutColumn.tablesInfo[tableChange.layoutIndex], level, this.viewManager.innerClientProperties.showTableGridLines));
                for (var paragraphFrameChange of columnChange.paragraphFrameChanges)
                    DocumentRenderer.applyChange(columnElement, paragraphFrameChange, DocumentRenderer.getParagraphFramesContainerCore, () => DocumentRenderer.renderParagraphFrame(layoutColumn.paragraphFrames[paragraphFrameChange.layoutIndex], level));
                break;
            }
            case LayoutChangeType.Inserted: {
                const renderedColumn = this.renderColumn(layoutPageArea.columns[columnChange.layoutIndex], level, layoutPageArea.subDocument.isMain());
                DocumentRenderer.insertInContainer(pageAreaElement, columnChange.canvasIndex, renderedColumn, DocumentRenderer.getColumnsContainerCore);
                break;
            }
            default: throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    static applyChange(topLevelNode, change, getContainer, getRenderedElement) {
        switch (change.changeType) {
            case LayoutChangeType.Deleted:
                DocumentRenderer.removeFromContainerByIndex(topLevelNode, change.canvasIndex, getContainer);
                break;
            case LayoutChangeType.Replaced:
                DocumentRenderer.replaceInContainer(topLevelNode, change.canvasIndex, getRenderedElement(), getContainer);
                break;
            case LayoutChangeType.Inserted:
                DocumentRenderer.insertInContainer(topLevelNode, change.canvasIndex, getRenderedElement(), getContainer);
                break;
            case LayoutChangeType.Updated:
                break;
            default: throw new Error(errors/* Errors */.D.InternalException);
        }
    }
    getPageRender(layoutPageIndex, layoutPage) {
        const cachedPage = this.cache[layoutPageIndex].page;
        if (!DocumentRenderer.isPageElementConsiderAllContainers(cachedPage))
            this.renderPageContent(layoutPage, layoutPageIndex);
        return this.cache[layoutPageIndex].page;
    }
    renderPage(layoutPage, layoutPageIndex, renderInnerContent) {
        layoutPage.flags.set(layout_page/* LayoutPageFlags */.m3.IsSelectionRendered, false);
        layoutPage.flags.set(layout_page/* LayoutPageFlags */.m3.IsMisspelledSelectionRendered, false);
        layoutPage.flags.set(layout_page/* LayoutPageFlags */.m3.IsRangePermissionsRendered, false);
        let pageCache = this.cache[layoutPageIndex];
        if (pageCache) {
            const pageElement = pageCache.page;
            this.updatePageClasses(pageElement);
            this.updatePageSize(layoutPage, pageElement);
            DocumentRenderer.updatePageColor(pageElement, this.viewManager.layout.pageColor);
            if (!DocumentRenderer.isPageElementEmpty(pageElement))
                this.removePageContent(layoutPageIndex);
        }
        else {
            const pageElement = DocumentRenderer.renderContainer("");
            pageElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.SERVICE_CONTAINER));
            DocumentRenderer.updatePageColor(pageElement, this.viewManager.layout.pageColor);
            this.updatePageClasses(pageElement);
            this.updatePageSize(layoutPage, pageElement);
            DocumentRenderer.insertInContainer(this.viewManager.pagesContainer, layoutPageIndex, pageElement, (node) => node);
            this.cache.splice(layoutPageIndex, 0, new DocumentRendererPageCache(pageElement));
        }
        if (renderInnerContent)
            this.renderPageContent(layoutPage, layoutPageIndex);
    }
    removePage(pageIndex) {
        const pageCache = this.cache[pageIndex];
        if (pageCache) {
            pageCache.page.parentNode.removeChild(pageCache.page);
            this.cache.splice(pageIndex, 1);
        }
    }
    updatePageSize(page, pageElement) {
        if (pageElement.offsetHeight != Math.round(page.height) || pageElement.offsetWidth != Math.round(page.width))
            dom.DomUtils.setStyleSize(pageElement.style, page);
    }
    updatePageClasses(pageElement) {
        pageElement.className = renderer_class_names/* RendererClassNames */.A.PAGE;
        if (this.viewManager.innerClientProperties.viewsSettings.isSimpleView &&
            !this.viewManager.innerClientProperties.viewsSettings.isFixedWidthMode)
            dom.DomUtils.addClassName(pageElement, renderer_class_names/* RendererClassNames */.A.SIMPLE_PAGE_FLOW_MODE);
    }
    removePageContent(pageIndex) {
        const pageCache = this.cache[pageIndex];
        if (pageCache)
            pageCache.removeContent();
    }
    renderPageContainers(pageCache) {
        pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.SELECTION_CONTAINER));
        pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.SEARCH_SELECTION_CONTAINER));
        pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.MISSPELLED_SELECTION_CONTAINER));
        pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.RANGE_PERMISSIONS_CONTAINER));
        const result = [
            pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.MAIN_PAGE_AREA_CONTAINER)),
            pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.OTHER_PAGE_AREA_CONTAINER)),
            pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.FLOATING_OBJECTS_CONTAINER))
        ];
        pageCache.page.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.SHAPE_BG_CONTAINER));
        return result;
    }
    renderPageContent(page, pageIndex) {
        const pageCache = this.cache[pageIndex];
        const [mainPageAreasContainer, otherPageAreasContainer, floatingObjectsContainer] = this.renderPageContainers(pageCache);
        utils_list.ListUtils.forEach(page.mainSubDocumentPageAreas, (area) => mainPageAreasContainer.appendChild(this.renderPageArea(page.renderLevelCalculator, pageCache, area, null)));
        if (!this.viewManager.innerClientProperties.viewsSettings.isSimpleView)
            number/* NumberMapUtils */.j.forEach(page.otherPageAreas, (pageArea, subDocId) => {
                if (!pageArea.subDocument.isTextBox())
                    DocumentRenderer.insertToContainerByObject(subDocId, otherPageAreasContainer, pageCache.otherAreas, this.renderPageArea(page.renderLevelCalculator, pageCache, pageArea, null));
            });
        for (let ancObjProps of this.renderPageContentGetFloatingObjects(page)) {
            switch (ancObjProps.getType()) {
                case layout_box/* LayoutBoxType */.KH.AnchorTextBox:
                    const internalSubDocId = ancObjProps.internalSubDocId;
                    DocumentRenderer.insertToContainerByObject(internalSubDocId, otherPageAreasContainer, pageCache.otherAreas, this.renderPageArea(page.renderLevelCalculator, pageCache, page.otherPageAreas[internalSubDocId], ancObjProps));
                    break;
                case layout_box/* LayoutBoxType */.KH.AnchorPicture:
                    DocumentRenderer.insertToContainerByObject(ancObjProps.objectId, floatingObjectsContainer, pageCache.anchoredPicture, this.renderFloatingPicture(ancObjProps, page.renderLevelCalculator));
                    break;
            }
        }
    }
    static updatePageColor(pageElement, newColor) {
        const newStringColor = utils_color/* ColorUtils */.i.colorToHash(newColor);
        if (pageElement.style.backgroundColor != newStringColor)
            pageElement.style.backgroundColor = color_color/* ColorHelper */.v.isEmptyBgColor(newColor) ? "" : newStringColor;
    }
    static getPageAreaClassname(area) {
        switch (area.subDocument.info.getType()) {
            case model_enums/* SubDocumentInfoType */.F.Main:
            case model_enums/* SubDocumentInfoType */.F.Header:
            case model_enums/* SubDocumentInfoType */.F.Footer:
                return renderer_class_names/* RendererClassNames */.A.PAGE_AREA;
            case model_enums/* SubDocumentInfoType */.F.TextBox:
                return `${renderer_class_names/* RendererClassNames */.A.PAGE_AREA} ${renderer_class_names/* RendererClassNames */.A.FLOATING_OBJECT_TEXT_BOX_AREA}`;
        }
        throw new Error(errors/* Errors */.D.InternalException);
    }
    renderPageArea(renderLevelCalculator, pageCache, area, textBox, renderContent = true) {
        const element = DocumentRenderer.renderContainer(DocumentRenderer.getPageAreaClassname(area));
        if (area.subDocument.isTextBox())
            element.style.overflow = "hidden";
        dom.DomUtils.setStyleSizeAndPosition(element.style, area);
        let level;
        switch (area.subDocument.info.getType()) {
            case model_enums/* SubDocumentInfoType */.F.TextBox:
                level = renderLevelCalculator.getRenderLevel(textBox.rendererLevel);
                break;
            case model_enums/* SubDocumentInfoType */.F.Footer:
            case model_enums/* SubDocumentInfoType */.F.Header:
                level = renderLevelCalculator.renderHeaderFooterPageAreasLevel;
                break;
            case model_enums/* SubDocumentInfoType */.F.Main:
                level = renderLevelCalculator.renderMainPageAreaLevel;
                break;
            default: throw new Error(errors/* Errors */.D.NotImplemented);
        }
        if (area.subDocument.isTextBox()) {
            const textBoxShapeInfo = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TEXT_BOX_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TextBoxBg));
            const oldBgElem = pageCache.textBoxBgElements[area.subDocument.id];
            if (oldBgElem)
                dom.DomUtils.hideNode(oldBgElem);
            pageCache.textBoxBgElements[area.subDocument.id] = textBoxShapeInfo;
            DocumentRenderer.setShapePropertiesToElement(textBoxShapeInfo, textBox.shape, true);
            dom.DomUtils.setStyleSize(textBoxShapeInfo.style, area);
            dom.DomUtils.setStylePosition(textBoxShapeInfo.style, textBox.getExtendedBounds());
            DocumentRenderer.setRotationInRadians(textBoxShapeInfo, textBox.rotationInRadians);
            DocumentRenderer.getTextBoxBackgroundContainer(pageCache.page).appendChild(textBoxShapeInfo);
            dom.DomUtils.setStylePosition(element.style, area);
            if (DocumentRenderer.setRotationInRadians(element, textBox.rotationInRadians))
                dom.DomUtils.addClassName(element, ZIndexHelper.getClassName(level, zIndexCssClassType.TextBox));
        }
        else {
            const color = color_color/* ColorHelper */.v.isEmptyBgColor(this.viewManager.layout.pageColor) ?
                utils_color/* ColorUtils */.i.LIGHT_COLOR : this.viewManager.layout.pageColor;
            DocumentRenderer.updatePageColor(element, color);
        }
        if (renderContent)
            for (let column of area.columns)
                element.appendChild(this.renderColumn(column, level, area.subDocument.isMain()));
        return element;
    }
    renderColumn(column, level, _isMainPageArea) {
        const columnElement = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.COLUMN);
        dom.DomUtils.setStyleSizeAndPosition(columnElement.style, column);
        const rowsContainer = columnElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.ROWS_CONTAINER));
        const paragraphFramesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.PARAGRAPHFRAMES_CONTAINER));
        const tablesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLES_CONTAINER));
        for (let row of column.rows)
            rowsContainer.appendChild(this.renderRow(row, level));
        for (let frame of column.paragraphFrames)
            paragraphFramesContainer.appendChild(DocumentRenderer.renderParagraphFrame(frame, level));
        for (let tableColumn of column.tablesInfo)
            tablesContainer.appendChild(DocumentRenderer.renderTable(tableColumn, level, this.viewManager.innerClientProperties.showTableGridLines));
        return columnElement;
    }
    renderRow(row, level) {
        const lastBoxIndexWhatCanStrikeoutAndUnderline = row.getLastBoxIndexWhatCanStrikeoutAndUnderline();
        const rowElement = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.ROW);
        rowElement.innerHTML = "";
        if (row.numberingListBox) {
            let box = this.renderBox(row, row.numberingListBox.textBox, 0 > lastBoxIndexWhatCanStrikeoutAndUnderline, level).html;
            if (typeof box === 'string')
                rowElement.innerHTML += box;
            else
                rowElement.appendChild(box);
            if (row.numberingListBox.separatorBox) {
                let box = this.renderBox(row, row.numberingListBox.separatorBox, 0 > lastBoxIndexWhatCanStrikeoutAndUnderline, level).html;
                if (typeof box === 'string')
                    rowElement.innerHTML += box;
                else
                    rowElement.appendChild(box);
            }
        }
        let increaseRowHeight = false;
        for (let boxIndex = 0, box; box = row.boxes[boxIndex]; boxIndex++) {
            if (box.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox || box.getType() == layout_box/* LayoutBoxType */.KH.AnchorPicture)
                continue;
            const boxRenderResult = this.renderBox(row, box, boxIndex > lastBoxIndexWhatCanStrikeoutAndUnderline, level);
            const boxRenderResultHtml = boxRenderResult.html;
            if (typeof boxRenderResultHtml === 'string')
                rowElement.innerHTML += boxRenderResultHtml;
            else
                rowElement.appendChild(boxRenderResultHtml);
            increaseRowHeight = increaseRowHeight || boxRenderResult.increaseRowHeight;
        }
        for (let bookmarkBox of row.bookmarkBoxes)
            rowElement.appendChild(DocumentRenderer.renderBookmark(bookmarkBox, level));
        dom.DomUtils.setStyleSizeAndPosition(rowElement.style, new rectangle.Rectangle(row.x, row.y + row.getSpacingBefore(), row.width, (row.height - row.getSpacingBefore()) + (increaseRowHeight ? 1 : 0)));
        return rowElement;
    }
    renderBox(row, box, noNeedUnderlineAndStrikeout, level) {
        let content = box.renderGetContent(this);
        let top = box.getTop(row);
        const left = box.x;
        if (box.characterProperties.script === character_enums/* CharacterFormattingScript */.Vg.Subscript) {
            const multiplier = box.characterProperties.fontInfo.scriptMultiplier;
            top += class_unit_converter/* UnitConverter */.u.pointsToPixelsF(box.characterProperties.fontSize) * (box.characterProperties.fontInfo.subScriptOffset * multiplier - multiplier + 1);
        }
        const delta = box.height > row.height && top >= 0 ? math.MathUtils.round(box.height - row.height) * 3 / 4 : 0;
        let boxStyles = [];
        boxStyles.push("left: " + math.MathUtils.round(left, 3) + "px");
        boxStyles.push("top: " + math.MathUtils.round(top - delta, 3) + "px");
        const height = math.MathUtils.round(box.height, 3);
        boxStyles.push("height: " + height + "px");
        if (browser.Browser.MacOSPlatform || browser.Browser.MacOSMobilePlatform)
            boxStyles.push("line-height: " + height + "px");
        if (box.characterProperties.smallCaps)
            boxStyles.push("font-variant: small-caps");
        const props = box.renderGetCharacterProperties();
        const charProps = props.initProps;
        const colorProps = props.colorInfo;
        const underlineColor = colorProps.underlineColor;
        const strikeoutColor = colorProps.strikeoutColor;
        const textColor = colorProps.textColor;
        const needUnderline = !noNeedUnderlineAndStrikeout && (charProps.fontUnderlineType != character_enums/* UnderlineType */.Xq.None) && (box.getType() != layout_box/* LayoutBoxType */.KH.Space || !charProps.underlineWordsOnly);
        const needStrikeout = !noNeedUnderlineAndStrikeout && (charProps.fontStrikeoutType != character_enums/* StrikeoutType */.GO.None) && (box.getType() != layout_box/* LayoutBoxType */.KH.Space || !charProps.strikeoutWordsOnly);
        const noStrikeoutAndUnderline = (needStrikeout && needUnderline) || (needStrikeout && strikeoutColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR) || (needUnderline && underlineColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR);
        let commonStyles;
        if (noStrikeoutAndUnderline) {
            commonStyles = html_converter/* HtmlConverter */.c.getCssRules(charProps, textColor, box.renderIsWordBox(), noStrikeoutAndUnderline, true);
            boxStyles = boxStyles.concat(html_converter/* HtmlConverter */.c.getSizeSignificantRules(charProps));
            boxStyles.push(html_converter/* HtmlConverter */.c.getForeColorRule(textColor));
            const needColor = strikeoutColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR ||
                underlineColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR;
            if (needColor && (!needStrikeout || strikeoutColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR)) {
                const span = document.createElement('span');
                span.style.cssText = commonStyles.join(";") + ';color: ' + color_color/* ColorHelper */.v.getCssString(textColor, true);
                if (typeof content === 'string') {
                    span.innerHTML = content;
                }
                else {
                    span.appendChild(content);
                }
                content = span;
            }
            if (needStrikeout) {
                const strikeoutColorStyle = needColor ? ("color: " + color_color/* ColorHelper */.v.getCssString(strikeoutColor == color_color/* ColorHelper */.v.AUTOMATIC_COLOR ? textColor : strikeoutColor, true)) : "";
                const span = document.createElement('span');
                span.style.cssText = commonStyles.join(";") + ';text-decoration: line-through;' + strikeoutColorStyle;
                if (typeof content === 'string') {
                    span.innerHTML = content;
                }
                else {
                    span.appendChild(content);
                }
                content = span;
            }
            if (needUnderline) {
                const underlineColorStyle = needColor ? ("color: " + color_color/* ColorHelper */.v.getCssString(underlineColor == color_color/* ColorHelper */.v.AUTOMATIC_COLOR ? textColor : underlineColor, true)) : "";
                const span = document.createElement('span');
                span.style.cssText = commonStyles.join(";") + ';text-decoration: underline;' + underlineColorStyle;
                if (typeof content === 'string') {
                    span.innerHTML = content;
                }
                else {
                    span.appendChild(content);
                }
                content = span;
            }
        }
        else
            boxStyles = boxStyles.concat(html_converter/* HtmlConverter */.c.getCssRules(charProps, textColor, box.renderIsWordBox(), noNeedUnderlineAndStrikeout, true));
        let boxClass = "";
        switch (box.getType()) {
            case layout_box/* LayoutBoxType */.KH.Text:
            case layout_box/* LayoutBoxType */.KH.LayoutDependent:
            case layout_box/* LayoutBoxType */.KH.FieldCodeEnd:
            case layout_box/* LayoutBoxType */.KH.FieldCodeStart:
            case layout_box/* LayoutBoxType */.KH.ColumnBreak:
            case layout_box/* LayoutBoxType */.KH.LineBreak:
            case layout_box/* LayoutBoxType */.KH.PageBreak:
            case layout_box/* LayoutBoxType */.KH.ParagraphMark:
            case layout_box/* LayoutBoxType */.KH.SectionMark:
                boxClass = renderer_class_names/* RendererClassNames */.A.BOX + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.Box);
                break;
            default:
                boxClass = renderer_class_names/* RendererClassNames */.A.BOX_SPACE + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.BoxSpace);
        }
        if (charProps.hidden && this.viewManager.innerClientProperties.showHiddenSymbols)
            boxClass += ' ' + renderer_class_names/* RendererClassNames */.A.HIDDEN_BOX;
        const result = new DocumentFragment();
        const contentSpan = document.createElement('span');
        contentSpan.style.cssText = boxStyles.join(";");
        contentSpan.setAttribute('class', boxClass);
        if (typeof content === 'string') {
            contentSpan.innerHTML = content;
        }
        else if (!!content) {
            contentSpan.appendChild(content);
        }
        result.appendChild(contentSpan);
        const backColor = colorProps.foregroundColor;
        if (box.fieldLevel && (backColor == color_color/* ColorHelper */.v.AUTOMATIC_COLOR || backColor == color_color/* ColorHelper */.v.NO_COLOR)) {
            let fieldBgClass = renderer_class_names/* RendererClassNames */.A.FIELD_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.FieldBg);
            switch (box.fieldLevel) {
                case 1:
                    fieldBgClass += ' ' + renderer_class_names/* RendererClassNames */.A.FIELD_BOX_LEVEL1;
                    break;
                case 2:
                    fieldBgClass += ' ' + renderer_class_names/* RendererClassNames */.A.FIELD_BOX_LEVEL2;
                    break;
                default: fieldBgClass += ' ' + renderer_class_names/* RendererClassNames */.A.FIELD_BOX_LEVEL3;
            }
            const span = document.createElement('span');
            span.setAttribute('class', fieldBgClass);
            span.style.cssText = 'top: ' + math.MathUtils.round(top, 3) + 'px; left: ' + math.MathUtils.round(left, 3) + 'px; width: ' +
                math.MathUtils.round(box.width, 3) + 'px; height: ' + math.MathUtils.round(box.height, 3) + 'px';
            result.appendChild(span);
        }
        if (utils_color/* ColorUtils */.i.getAlpha(backColor) > 0 && !noNeedUnderlineAndStrikeout) {
            const height = row.height - row.getSpacingAfter();
            const bgBoxStyle = "top: 0px; left: " + Math.floor(box.x) + "px; width: " + Math.ceil(box.width) + "px; height: " + math.MathUtils.round(height, 3) +
                "px; background: " + color_color/* ColorHelper */.v.getCssStringInternal(backColor) + ";";
            const span = document.createElement('span');
            span.setAttribute('class', renderer_class_names/* RendererClassNames */.A.BOX_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.BoxBg));
            span.style.cssText = bgBoxStyle;
            result.appendChild(span);
        }
        if (box.hyperlinkTip) {
            const tip = CanvasUtils.buildHyperlinkTipString(box.hyperlinkTip, this.viewManager.stringResources.commonLabels.clickToFollowHyperlink, this.viewManager.fieldOptions);
            if (tip) {
                const span = document.createElement('span');
                span.setAttribute('title', tip);
                result.replaceChild(span, contentSpan);
                span.appendChild(contentSpan);
            }
        }
        return new BoxRenderResult(result, charProps.hidden);
    }
    static renderBookmark(box, level) {
        const className = (box.boxType == LayoutBookmarkBoxType.StartBox ?
            renderer_class_names/* RendererClassNames */.A.START_BOOKMARK :
            renderer_class_names/* RendererClassNames */.A.END_BOOKMARK) + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.Bookmark);
        const div = document.createElement('div');
        div.setAttribute('class', className);
        div.style.cssText = `width: ${math.MathUtils.round(box.width, 3)}px; height: ${math.MathUtils.round(box.height, 3)}px; ` +
            `left: ${math.MathUtils.round(box.x, 3)}px; top: ${math.MathUtils.round(box.y, 3)}px; border-color: ${box.color}`;
        return div;
    }
    renderPicture(box) {
        return this.renderPictureBoxContent(box.createSize(), box.cacheInfo, box.hyperlinkTip, box.description);
    }
    renderFloatingPicture(box, renderLevelCalculator) {
        const element = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.ANCHORED_PICTURE + " " + ZIndexHelper.getClassName(renderLevelCalculator.getRenderLevel(box.rendererLevel), zIndexCssClassType.AnchoredPicture));
        dom.DomUtils.setStyleSize(element.style, box);
        dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(box.x - box.shape.outlineWidth, box.y - box.shape.outlineWidth));
        DocumentRenderer.setShapePropertiesToElement(element, box.shape, false);
        DocumentRenderer.setRotationInRadians(element, box.rotationInRadians);
        const content = box.renderGetContent(this);
        element.innerHTML = '';
        if (typeof content === 'string') {
            element.innerHTML = content;
        }
        else {
            element.appendChild(content);
        }
        return element;
    }
    static setShapePropertiesToElement(element, shape, isTextBox) {
        element.style.backgroundColor = color_color/* ColorHelper */.v.getCssStringInternal(shape.fillColor);
        element.style.borderStyle = DocumentRenderer.borderTypeToString(borders_enums/* BorderLineStyle */.u.Single);
        element.style.borderColor = color_color/* ColorHelper */.v.getCssString(shape.outlineColor, false);
        element.style.borderWidth = Math.max(isTextBox ? 1 : 0, shape.outlineWidth).toString() + "px";
        element.style.boxSizing = "content-box";
    }
    static setRotationInRadians(element, rotation) {
        const isSetRotation = rotation != 0;
        element.style.transform = isSetRotation ? "rotate(" + rotation + "rad)" : "none";
        return isSetRotation;
    }
    static renderParagraphFrame(paragraphFrame, level) {
        const element = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.PARAGRAPH_FRAME + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.ParBg));
        DocumentRenderer.updateParagraphFrame(paragraphFrame, element);
        return element;
    }
    static updateParagraphFrame(frame, frameElement) {
        dom.DomUtils.setStyleSizeAndPosition(frameElement.style, frame);
        frameElement.style.background = color_color/* ColorHelper */.v.getCssStringInternal(frame.paragraphColor);
    }
    static renderTable(tableColumnInfo, level, showTableGridLines) {
        const tblXPos = tableColumnInfo.x;
        const tblYPos = tableColumnInfo.y;
        const tblBgColor = tableColumnInfo.logicInfo.backgroundColor;
        const tableElement = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_ELEMENTS_CONTAINER);
        dom.DomUtils.setStylePosition(tableElement.style, tableColumnInfo);
        const tblBordersContainer = tableElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_BORDERS_CONTAINER));
        const tblRowsBgContainer = tableElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_ROW_BACKGROUND_CONTAINER));
        const tblCellsBgContainer = tableElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_CELL_BACKGROUND_CONTAINER));
        const tblCursorsContainer = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_CURSORS_CONTAINER);
        tblCursorsContainer.style.width = tableColumnInfo.width + "px";
        tblCursorsContainer.style.height = tableColumnInfo.height + "px";
        tableElement.appendChild(tblCursorsContainer);
        tblCursorsContainer["dxTableIndex"] = tableColumnInfo.logicInfo.grid.table.index;
        for (let i = 0, border; border = tableColumnInfo.horizontalBorders[i]; i++)
            DocumentRenderer.renderHorizontalBorder(tblBordersContainer, border, level, showTableGridLines);
        for (let i = 0, border; border = tableColumnInfo.verticalBorders[i]; i++)
            DocumentRenderer.renderVerticalBorder(tblBordersContainer, border, level, showTableGridLines);
        if (tableColumnInfo.logicInfo.isEditable) {
            for (let border of tableColumnInfo.verticalCursorBorders) {
                let element = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_COLUMN_CURSOR + " " +
                    ZIndexHelper.getClassName(level, zIndexCssClassType.TblCursor));
                dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(border.xPos, border.yPos));
                element.style.height = border.length + "px";
                tblCursorsContainer.appendChild(element);
            }
            for (let border of tableColumnInfo.horizontalCursorBorders) {
                let element = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_ROW_CURSOR + " " +
                    ZIndexHelper.getClassName(level, zIndexCssClassType.TblCursor));
                dom.DomUtils.setStylePosition(element.style, new geometry_point.Point(border.xPos, border.yPos));
                element.style.width = border.length + "px";
                element["dxLayoutRowIndex"] = border.layoutRowIndex;
                tblCursorsContainer.appendChild(element);
            }
        }
        for (let tblRow of tableColumnInfo.tableRows) {
            DocumentRenderer.renderTableBackgroundElement(renderer_class_names/* RendererClassNames */.A.TABLE_ROW_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TblRowBg), tblRowsBgContainer, tblRow, tblXPos, tblYPos, tblBgColor);
            for (let cellBgInfo of tblRow.backgroundInfos)
                DocumentRenderer.renderTableBackgroundElement(renderer_class_names/* RendererClassNames */.A.TABLE_CELL_BG + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TblCellBg), tblCellsBgContainer, cellBgInfo, 0, 0, cellBgInfo.color);
        }
        return tableElement;
    }
    static renderTableBackgroundElement(className, container, bound, tblXPos, tblYPos, color) {
        if (color_color/* ColorHelper */.v.isEmptyBgColor(color))
            return;
        const elem = DocumentRenderer.renderContainer(className);
        dom.DomUtils.setStylePosition(elem.style, new geometry_point.Point(bound.x - tblXPos, bound.y - tblYPos));
        dom.DomUtils.setStyleSize(elem.style, bound);
        elem.style.backgroundColor = utils_color/* ColorUtils */.i.colorToHash(color);
        container.appendChild(elem);
    }
    static renderVerticalBorder(tableBordersContainer, border, level, showTableGridLines) {
        const borderInfo = border.borderInfo;
        if (DocumentRenderer.isNotRenderTableBorder(borderInfo)) {
            if (showTableGridLines) {
                const element = DocumentRenderer.createBorderElement(utils_color/* ColorUtils */.i.LIGHT_COLOR, level);
                dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, 0, border.length));
                element.style.borderStyle = "None";
                element.style.borderRightWidth = DocumentRenderer.getTableGridLineBorderWidth();
                element.style.borderRightStyle = "dashed";
                tableBordersContainer.appendChild(element);
            }
        }
        else {
            const element = DocumentRenderer.createBorderElement(borderInfo.color, level);
            dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, 0, border.length));
            element.style.backgroundColor = "";
            element.style.borderStyle = "None";
            element.style.borderRightColor = utils_color/* ColorUtils */.i.colorToHash(borderInfo.color);
            element.style.borderRightWidth = DocumentRenderer.getBorderTypeWidth(borderInfo);
            element.style.borderRightStyle = DocumentRenderer.borderTypeToString(borderInfo.style);
            tableBordersContainer.appendChild(element);
        }
    }
    static getTableGridLineBorderWidth() {
        const devicePixelRatio = window.devicePixelRatio;
        if (browser.Browser.Chrome && devicePixelRatio > 1 && devicePixelRatio < 1.5)
            return "1.5px";
        return "1px";
    }
    static renderHorizontalBorder(tableBordersContainer, border, level, showTableGridLines) {
        const borderInfo = border.borderInfo;
        if (DocumentRenderer.isNotRenderTableBorder(borderInfo)) {
            if (!showTableGridLines)
                return;
            const element = DocumentRenderer.createBorderElement(utils_color/* ColorUtils */.i.LIGHT_COLOR, level);
            dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, border.length, 0));
            element.style.borderStyle = "None";
            element.style.borderBottomWidth = DocumentRenderer.getTableGridLineBorderWidth();
            element.style.borderBottomStyle = "dashed";
            tableBordersContainer.appendChild(element);
        }
        else {
            const element = DocumentRenderer.createBorderElement(borderInfo.color, level);
            dom.DomUtils.setStyleSizeAndPosition(element.style, new rectangle.Rectangle(border.xPos, border.yPos, border.length, 0));
            element.style.backgroundColor = "";
            element.style.borderStyle = "None";
            element.style.borderBottomColor = utils_color/* ColorUtils */.i.colorToHash(borderInfo.color);
            element.style.borderBottomWidth = DocumentRenderer.getBorderTypeWidth(borderInfo);
            element.style.borderBottomStyle = DocumentRenderer.borderTypeToString(borderInfo.style);
            tableBordersContainer.appendChild(element);
        }
    }
    static createBorderElement(color, level) {
        const element = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLE_BORDER + " " + ZIndexHelper.getClassName(level, zIndexCssClassType.TableBorder));
        element.style.backgroundColor = utils_color/* ColorUtils */.i.colorToHash(color);
        return element;
    }
    static isNotRenderTableBorder(borderInfo) {
        return !borderInfo || borderInfo.style == borders_enums/* BorderLineStyle */.u.None || borderInfo.style == borders_enums/* BorderLineStyle */.u.Nil;
    }
    static borderTypeToString(style) {
        const str = DocumentRenderer.mapBorderTypeToString[style];
        return str ? str : "solid";
    }
    static getBorderTypeWidth(borderInfo) {
        const mimWidth = this.getBorderTypeMinWidth(borderInfo.style);
        return Math.max(mimWidth, borderInfo.width) + "px";
    }
    static getBorderTypeMinWidth(style) {
        if (style == borders_enums/* BorderLineStyle */.u.Double)
            return 3;
        return 1;
    }
    static getServiceContainerCore(pageElement) {
        return pageElement.firstChild;
    }
    static getSelectionContainerCore(pageElement) {
        return pageElement.childNodes[1];
    }
    static getSearchSelectionContainerCore(pageElement) {
        return pageElement.childNodes[2];
    }
    static getMisspelledSelectionContainerCore(pageElement) {
        return pageElement.childNodes[3];
    }
    static getRangePermissionsContainerCore(pageElement) {
        return pageElement.childNodes[4];
    }
    static isPageElementConsiderAllContainers(pageElement) {
        return pageElement.childNodes.length > 1;
    }
    static getMainPageAreaContainerCore(pageElement) {
        return pageElement.childNodes[5];
    }
    static getOtherPageAreaContainerCore(pageElement) {
        return pageElement.childNodes[6];
    }
    static getAnchoredObjectsContainer(pageElement) {
        return pageElement.childNodes[7];
    }
    static getTextBoxBackgroundContainer(pageElement) {
        return pageElement.childNodes[8];
    }
    static getRowsContainerCore(columnElement) {
        return columnElement.firstChild;
    }
    static getParagraphFramesContainerCore(columnElement) {
        return browser.Browser.Chrome ? columnElement.firstChild.nextSibling : columnElement.childNodes[1];
    }
    static getTablesContainerCore(columnElement) {
        return columnElement.lastChild;
    }
    static getColumnsContainerCore(pageAreaElement) {
        return pageAreaElement;
    }
    static renderContainer(className) {
        const element = document.createElement("DIV");
        element.className = className;
        return element;
    }
    static removeFromContainerByIndex(node, index, getContainer) {
        const container = getContainer(node);
        const child = container.childNodes[index];
        if (child)
            container.removeChild(child);
    }
    static replaceInContainer(node, index, newRenderedElement, getContainer) {
        const container = getContainer(node);
        container.replaceChild(newRenderedElement, container.childNodes[index]);
    }
    static insertInContainer(node, index, newRenderedElement, getContainer) {
        const container = getContainer(node);
        if (index < container.childNodes.length)
            container.insertBefore(newRenderedElement, container.childNodes[index]);
        else
            container.appendChild(newRenderedElement);
    }
    static removeFromContainerByObject(id, container, cache) {
        const obj = cache[id];
        if (obj) {
            container.removeChild(obj);
            delete cache[id];
        }
    }
    static replaceFromContainerByObject(id, container, cache, newNode) {
        container.replaceChild(newNode, cache[id]);
        cache[id] = newNode;
    }
    static insertToContainerByObject(id, container, cache, newNode) {
        cache[id] = newNode;
        container.appendChild(newNode);
    }
    static isPageElementEmpty(pageElement) {
        return pageElement.childNodes.length == 0;
    }
    renderPictureBoxContent(size, cacheInfo, tip, altText) {
        const tooltip = tip ? CanvasUtils.buildHyperlinkTipString(tip, this.viewManager.stringResources.commonLabels.clickToFollowHyperlink, this.viewManager.fieldOptions) : "";
        const img = document.createElement('img');
        img.setAttribute('src', cacheInfo.base64);
        if (tooltip) {
            img.setAttribute('title', tooltip);
        }
        if ((0,common.isDefined)(altText) && !string.StringUtils.isNullOrEmpty(altText))
            img.alt = altText;
        img.style.cssText = `height: ${math.MathUtils.round(size.height, 3)}px; width: ${math.MathUtils.round(size.width, 3)}px; vertical-align: baseline`;
        img.setAttribute('class', renderer_class_names/* RendererClassNames */.A.PICTURE);
        return img;
    }
}
DocumentRenderer.mapBorderTypeToString = new map_creator/* MapCreator */.M()
    .add(borders_enums/* BorderLineStyle */.u.Single, "solid")
    .add(borders_enums/* BorderLineStyle */.u.Dotted, "dotted")
    .add(borders_enums/* BorderLineStyle */.u.Dashed, "dashed")
    .add(borders_enums/* BorderLineStyle */.u.Double, "double")
    .add(borders_enums/* BorderLineStyle */.u.DashSmallGap, "dashed")
    .add(borders_enums/* BorderLineStyle */.u.DotDash, "dashed")
    .add(borders_enums/* BorderLineStyle */.u.DotDotDash, "dashed")
    .get();
class DocumentRendererPageCache {
    constructor(page) {
        this.page = page;
        this.init();
    }
    removeContent() {
        const serviceContainer = DocumentRenderer.getServiceContainerCore(this.page);
        dom.DomUtils.clearInnerHtml(this.page);
        this.page.appendChild(serviceContainer);
        this.init();
    }
    init() {
        this.otherAreas = {};
        this.anchoredPicture = {};
        this.textBoxBgElements = {};
    }
}
class BoxRenderResult {
    constructor(html, increaseRowHeight) {
        this.html = html;
        this.increaseRowHeight = increaseRowHeight;
    }
    toString() {
        if (typeof this.html === 'string')
            return this.html;
        else {
            const result = [];
            if (this.html) {
                const length = this.html.children.length;
                for (let i = 0; i < length; i++) {
                    result.push(this.html.children.item(i).outerHTML);
                }
            }
            return result.join('');
        }
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/evt.js
var utils_evt = __webpack_require__(3714);
// EXTERNAL MODULE: ./src/common/layout/layout-point.ts
var layout_point = __webpack_require__(7012);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/event-handlers-holder.js
var event_handlers_holder = __webpack_require__(6136);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/popup.js
var popup = __webpack_require__(499);
// EXTERNAL MODULE: ./src/common/model/changes/sub-document/text/text-buffer-changed.ts
var text_buffer_changed = __webpack_require__(428);
// EXTERNAL MODULE: ./src/common/model/history/items/insert-text-history-item.ts
var insert_text_history_item = __webpack_require__(334);
// EXTERNAL MODULE: ./src/common/model/history/states/history-item-state.ts
var history_item_state = __webpack_require__(1279);
// EXTERNAL MODULE: ./src/common/model/history/states/history-item-state-object.ts
var history_item_state_object = __webpack_require__(7035);
// EXTERNAL MODULE: ./src/common/interfaces/i-rich-edit-core.ts
var i_rich_edit_core = __webpack_require__(9597);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var fields_field = __webpack_require__(8277);
;// CONCATENATED MODULE: ./src/common/mouse-handler/base/manipulator-handler-base.ts



class ManipulatorHandlerBase {
    constructor(control, defaultStateConstructor, boxVisualizerManager) {
        this.mouseWheelEvent = false;
        this.control = control;
        this.boxVisualizerManager = boxVisualizerManager;
        this.defaultState = new defaultStateConstructor(this);
        this.switchToDefaultState();
    }
    dispose() {
        this.state.dispose();
    }
    switchToDefaultState() {
        this.switchState(this.defaultState);
    }
    switchState(state) {
        if (this.state)
            this.state.finish();
        this.state = state;
        this.state.start();
    }
    getHyperlinkFieldResult(evt) {
        const subDocument = this.control.selection.activeSubDocument;
        const htr = this.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, subDocument);
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            return null;
        const position = htr.floatingObject ? this.control.layout.anchorObjectsPositionInfo.getPosition(htr.floatingObject.objectId) :
            htr.getPosition();
        const fieldInfos = fields_field/* FieldVisabilityInfo */.Lt.getRelativeVisabilityInfo(position, subDocument.fields);
        const fieldVisabilityInfo = utils_list.ListUtils.reverseElementBy(fieldInfos, (info) => info.showResult && info.field.getResultInterval().containsWithIntervalEnd(position) && info.field.isHyperlinkField());
        return fieldVisabilityInfo ? fieldVisabilityInfo.field : null;
    }
}

// EXTERNAL MODULE: ./src/common/model/options/control.ts
var control = __webpack_require__(9147);
// EXTERNAL MODULE: ./src/common/word-bounds-engine/layout-word-bounds.ts + 4 modules
var layout_word_bounds = __webpack_require__(726);
// EXTERNAL MODULE: ./src/common/commands/selection/select-table-command.ts
var select_table_command = __webpack_require__(2406);
// EXTERNAL MODULE: ./src/common/commands/sub-document/change-active-sub-document-command.ts
var change_active_sub_document_command = __webpack_require__(6456);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/geometry/metrics.js
var metrics = __webpack_require__(5596);
;// CONCATENATED MODULE: ./src/common/layout-engine/hit-test-manager/hit-test-result.ts


class HitTestResult extends layout_position/* LayoutPosition */.Yi {
    constructor(subDocument) {
        super(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None);
        this.subDocument = null;
        this.deviations = {};
        this.subDocument = subDocument;
    }
    correctAsVisibleBox() {
        if (!this.box || this.box.isVisible())
            return;
        this.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box] = undefined;
        this.exactlyDetailLevel = Math.min(this.exactlyDetailLevel, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row);
        const boxIndex = this.row.getLastVisibleBoxIndex();
        this.boxIndex = Math.max(0, boxIndex);
        this.box = this.row.boxes[this.boxIndex];
        this.charOffset = boxIndex < 0 ? 0 : this.box.getLength();
    }
    getPosition() {
        var result = 0;
        if (this.page && this.subDocument.isMain())
            result += this.page.getPosition();
        if (this.pageArea)
            result += this.pageArea.pageOffset;
        if (this.column)
            result += this.column.pageAreaOffset;
        if (this.row)
            result += this.row.columnOffset;
        if (this.box)
            result += this.box.rowOffset;
        if (this.charOffset >= 0)
            result += this.charOffset;
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/hit-test-manager/hit-test-manager.ts











const TEXTBOX_AREA_MARGIN = 5;
class HitTestManager {
    constructor(documentLayout, measurer) {
        this.documentLayout = documentLayout;
        this.measurer = measurer;
        this.result = null;
        this.point = null;
    }
    calculate(point, requestDetailsLevel, subDocument, excludeTextBoxesFromSubDocuments = false) {
        this.point = point;
        this.subDocument = subDocument;
        this.excludeTextBoxesFromSubDocuments = excludeTextBoxesFromSubDocuments;
        this.result = new HitTestResult(subDocument);
        this.result.detailsLevel = requestDetailsLevel;
        this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None;
        if (point && !point.isEmpty())
            this.calcPage();
        return this.result;
    }
    calcPage() {
        const page = this.documentLayout.pages[this.point.pageIndex];
        this.result.pageIndex = this.point.pageIndex;
        this.result.page = page;
        const pageDeviation = HitTestManager.getDeviation(this.point, new rectangle.Rectangle(0, 0, page.width, page.height));
        this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page] = pageDeviation;
        if (pageDeviation == rectangle.HitTestDeviation.None)
            this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page;
        this.calcFloatingObject(false);
        if (this.result.detailsLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page)
            this.calcPageArea(this.point.x, this.point.y);
    }
    calcFloatingObject(considerBehindTextWrap) {
        var _a, _b;
        if (this.result.floatingObject)
            return;
        const anchoredObjects = this.result.page.anchoredObjectHolder.getObjectsForRenderer(this.documentLayout.anchorObjectsPositionInfo).reverse();
        for (let i = 0, obj; obj = anchoredObjects[i]; i++) {
            const isHeaderFooter = (_b = (_a = this.subDocument) === null || _a === void 0 ? void 0 : _a.isHeaderFooter()) !== null && _b !== void 0 ? _b : number/* NumberMapUtils */.j.anyOf(this.result.page.otherPageAreas, pa => pa.subDocument.id === obj.belongsToSubDocId && pa.subDocument.isHeaderFooter());
            const compatibilityMode = this.documentLayout.pages[0].mainSubDocumentPageAreas[0].subDocument.documentModel.compatibilitySettings.compatibilityMode;
            if (considerBehindTextWrap || obj.anchorInfo.getLevelTypeForRendering(isHeaderFooter, compatibilityMode) != layout_anchored_object_box/* AnchoredObjectLevelType */.a.BehindText) {
                let rotatedPoint = obj.rotationInRadians == 0 ? this.point : (0,utils/* rotatePoint */.xj)(this.point, -obj.rotationInRadians, obj.center);
                if (obj.containsPoint(rotatedPoint)) {
                    this.result.floatingObject = obj;
                    return;
                }
            }
        }
    }
    calcPageArea(pointX, pointY) {
        const point = new geometry_point.Point(pointX, pointY);
        let pageArea;
        let pageAreaIndex;
        if (this.subDocument) {
            if (this.subDocument.isMain()) {
                const pageAreas = this.result.page.mainSubDocumentPageAreas;
                pageAreaIndex = HitTestManager.findNearest(pointY, pageAreas, (pa) => pa.y, (pa) => pa.bottom);
                pageArea = pageAreas[pageAreaIndex];
            }
            else {
                pageArea = this.result.page.otherPageAreas[this.subDocument.id];
                pageAreaIndex = 0;
                if (!pageArea)
                    return;
            }
        }
        else {
            const pageAreas = utils_list.ListUtils.shallowCopy(this.result.page.mainSubDocumentPageAreas);
            number/* NumberMapUtils */.j.forEach(this.result.page.otherPageAreas, (pa) => {
                if (pa.subDocument.isHeaderFooter())
                    pageAreas.push(pa);
            });
            const textBoxPaList = [];
            if (!this.excludeTextBoxesFromSubDocuments) {
                utils_list.ListUtils.forEach(this.result.page.anchoredObjectHolder.getObjectsForRenderer(this.documentLayout.anchorObjectsPositionInfo).reverse(), (obj) => {
                    if (obj.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox)
                        textBoxPaList.push(this.result.page.otherPageAreas[obj.internalSubDocId]);
                });
            }
            utils_list.ListUtils.addListOnTail(textBoxPaList, pageAreas);
            pageArea = HitTestManager.hitTestRectangles(point, textBoxPaList)[0].obj;
            pageAreaIndex = pageArea.subDocument.isMain() ? this.result.page.mainSubDocumentPageAreas.indexOf(pageArea) : 0;
            this.result.subDocument = pageArea.subDocument;
        }
        this.result.pageArea = pageArea;
        this.result.pageAreaIndex = pageAreaIndex;
        const pageAreaDeviation = HitTestManager.getDeviation(point, pageArea)
            | this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page];
        this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] = pageAreaDeviation;
        if (pageAreaDeviation == rectangle.HitTestDeviation.None)
            this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea;
        else
            this.calcFloatingObject(true);
        if (this.result.detailsLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea)
            this.calcColumn(pointX - pageArea.x, pointY - pageArea.y);
    }
    calcColumn(pointX, pointY) {
        let columns = this.result.pageArea.columns;
        let columnIndex = HitTestManager.findNearest(pointX, columns, (col) => col.x, (col) => col.right);
        let column = columns[columnIndex];
        this.result.columnIndex = columnIndex;
        this.result.column = column;
        const columnDeviation = HitTestManager.getDeviation(new geometry_point.Point(pointX, pointY), column)
            | this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea];
        this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column] = columnDeviation;
        if (columnDeviation == rectangle.HitTestDeviation.None)
            this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column;
        else
            this.calcFloatingObject(true);
        if (this.result.detailsLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column)
            this.calcRow(pointX - column.x, pointY - column.y);
    }
    calcRow(pointX, pointY) {
        const rows = this.result.column.rows;
        const closestTable = this.getClosestTable(pointX, pointY);
        this.result.rowIndex = closestTable ?
            this.getLayoutRowIndexCaseInTable(pointX, pointY, closestTable) :
            Math.max(0, search.SearchUtils.normedInterpolationIndexOf(rows, (r) => r.y, pointY));
        const row = rows[this.result.rowIndex];
        this.result.row = row;
        const rowDeviation = HitTestManager.getDeviation(new geometry_point.Point(pointX, pointY), row)
            | this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column];
        this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row] = rowDeviation;
        if (rowDeviation == rectangle.HitTestDeviation.None)
            this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row;
        else
            this.calcFloatingObject(true);
        if (this.result.detailsLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row)
            this.calcBox(pointX - row.x, pointY - row.y);
    }
    calcBox(pointX, pointY) {
        const boxes = this.result.row.boxes;
        const boxIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(boxes, (b) => b.x, pointX));
        const box = boxes[boxIndex];
        const boxLeftBorder = box.x;
        const boxRightBorder = boxLeftBorder + box.width;
        const boxTopBorder = this.result.row.baseLine - box.getAscent();
        let boxBottomBorder = box.height + boxTopBorder;
        if (boxBottomBorder > this.result.row.height)
            boxBottomBorder = this.result.row.height;
        this.result.boxIndex = boxIndex;
        this.result.box = this.result.row.boxes[boxIndex];
        const boxDeviation = HitTestManager.getDeviation(new geometry_point.Point(pointX, pointY), new rectangle.Rectangle(boxLeftBorder, boxTopBorder, boxRightBorder - boxLeftBorder, boxBottomBorder - boxTopBorder))
            | this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row];
        this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box] = boxDeviation;
        if (boxDeviation == rectangle.HitTestDeviation.None)
            this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box;
        else
            this.calcFloatingObject(true);
        if (this.result.detailsLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
            this.calcCharacter(pointX - boxLeftBorder, pointY - boxTopBorder);
    }
    calcCharacter(pointX, _pointY) {
        const boxDeviation = this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box];
        let boxOffset = -1;
        if (boxDeviation & rectangle.HitTestDeviation.Left)
            boxOffset = 0;
        else if (boxDeviation & rectangle.HitTestDeviation.Right)
            boxOffset = this.result.box.getLength();
        else
            boxOffset = this.result.box.calculateCharOffsetByPointX(this.measurer, pointX);
        this.result.charOffset = boxOffset;
        this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character] = boxDeviation;
        if (boxDeviation == rectangle.HitTestDeviation.None)
            this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character;
        else
            this.calcFloatingObject(true);
    }
    static getDeviation(point, rect) {
        return new rectangle.RectangleDeviation(rect, point).calcDeviation().deviation.getValue();
    }
    static findNearest(point, objects, minBound, maxBound) {
        let currObj = objects[0];
        let nextObjIndex = 1;
        for (let nextObj; nextObj = objects[nextObjIndex]; nextObjIndex++) {
            if (point - maxBound(currObj) <= minBound(nextObj) - point)
                break;
            currObj = nextObj;
        }
        return nextObjIndex - 1;
    }
    getClosestTable(pointX, pointY) {
        const tableColumnInfos = this.result.column.tablesInfo;
        if (tableColumnInfos.length == 0)
            return null;
        const belowPosition = [];
        const abovePosition = [];
        const leftRightDeviation = [];
        const exactlyColumn = utils_list.ListUtils.reverseElementBy(tableColumnInfos, (currTableColumnInfo) => {
            const deviationResult = new rectangle.RectangleDeviation(currTableColumnInfo, new geometry_point.Point(pointX, pointY)).calcDeviation();
            const deviation = deviationResult.deviation;
            if (deviation.getValue() == rectangle.HitTestDeviation.None)
                return true;
            if (deviation.get(rectangle.HitTestDeviation.Top))
                belowPosition.push(deviationResult);
            else if (deviation.get(rectangle.HitTestDeviation.Bottom))
                abovePosition.push(deviationResult);
            else
                leftRightDeviation.push(deviationResult);
            return false;
        });
        if (exactlyColumn)
            return exactlyColumn;
        const isCollectBelowTables = this.result.column.rows[0].tableCellInfo && pointY <= tableColumnInfos[0].y;
        if (belowPosition.length && isCollectBelowTables)
            return HitTestManager.choiseClosestTable(belowPosition, false);
        const isCollectAboveTables = utils_list.ListUtils.last(this.result.column.rows).tableCellInfo && pointY >= utils_list.ListUtils.last(tableColumnInfos).y;
        if (abovePosition.length && isCollectAboveTables)
            return HitTestManager.choiseClosestTable(abovePosition, true);
        if (leftRightDeviation.length)
            return HitTestManager.choiseClosestTable(leftRightDeviation, false);
        return null;
    }
    static choiseClosestTable(tblList, isUseMax) {
        utils_list.ListUtils.forEach(tblList, (elem) => elem.calcAdditionalParams());
        return ((isUseMax ? utils_list.ListUtils.max : utils_list.ListUtils.min)(tblList, a => a.offsetToInside.y).initRectangle);
    }
    getLayoutRowIndexCaseInTable(pointX, pointY, closestTable) {
        let cell;
        while (true) {
            cell = this.getCell(pointX, pointY, closestTable);
            if (cell.layoutRows.length)
                break;
            closestTable = cell.internalTables[0];
        }
        const pnt = new geometry_point.Point(pointX, pointY);
        const cellDeviation = new rectangle.RectangleDeviation(cell, pnt).calcDeviation().deviation.getValue();
        this.result.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.TableCell] = cellDeviation;
        if (cellDeviation == rectangle.HitTestDeviation.None)
            this.result.exactlyDetailLevel = document_layout_details_level/* DocumentLayoutDetailsLevel */.l.TableCell;
        const deviations = [];
        const bestSuitableTbl = number/* NumberMapUtils */.j.elementBy(cell.internalTables, (tbl) => {
            if (tbl.containsPoint(pnt))
                return true;
            deviations.push(new rectangle.RectangleDeviation(tbl, pnt).calcDeviation().calcAdditionalParams());
            return false;
        });
        if (bestSuitableTbl)
            return this.getLayoutRowIndexCaseInTable(pointX, pointY, bestSuitableTbl);
        const layoutRowAndIndex_Index = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(cell.layoutRows, (r) => r.y, pointY));
        const layoutRow = cell.layoutRows[layoutRowAndIndex_Index];
        const bestSuitableTblDeviation = utils_list.ListUtils.min(deviations, a => a.offsetToInside.y);
        if (!bestSuitableTblDeviation ||
            new rectangle.RectangleDeviation(layoutRow, new geometry_point.Point(pointX, pointY)).calcDeviation().calcAdditionalParams().offsetToInside.y <=
                bestSuitableTblDeviation.offsetToInside.y)
            return layoutRow.indexInColumn;
        return this.getLayoutRowIndexCaseInTable(pointX, pointY, bestSuitableTblDeviation.initRectangle);
    }
    static getCellInRow(pointX, pointY, row, isForceGetCell) {
        const cells = row.rowCells;
        const cellIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(cells, (c) => c.x, pointX));
        const cell = cells[cellIndex];
        return isForceGetCell || cell.containsPoint(new geometry_point.Point(pointX, pointY)) ? cell : null;
    }
    getCell(pointX, pointY, closestTable) {
        const rows = closestTable.tableRows;
        const rowIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(rows, (r) => r.y, pointY));
        const row = rows[rowIndex];
        const cell = HitTestManager.getCellInRow(pointX, pointY, row, true);
        if (cell.containsPoint(new geometry_point.Point(pointX, pointY)))
            return cell;
        const exactlyCalculatedCell = utils_list.ListUtils.unsafeReverseAnyOf(rows, (row) => HitTestManager.getCellInRow(pointX, pointY, row, false), rowIndex - 1);
        if (exactlyCalculatedCell)
            return exactlyCalculatedCell;
        return cell;
    }
    static isPointInTexBoxArea(point, box, angle) {
        let rotatedPoint = angle == 0 ? point : (0,utils/* rotatePoint */.xj)(point, -angle, box.center);
        return rotatedPoint.x > box.x + TEXTBOX_AREA_MARGIN &&
            rotatedPoint.x < box.x + box.width - TEXTBOX_AREA_MARGIN &&
            rotatedPoint.y > box.y + TEXTBOX_AREA_MARGIN &&
            rotatedPoint.y < box.y + box.height - TEXTBOX_AREA_MARGIN;
    }
    static hitTestRectangles(point, rectangles) {
        const perfectHit = [];
        const hit = utils_list.ListUtils.map(rectangles, (r) => {
            const dev = new rectangle.RectangleDeviation(r, point).calcDeviation().calcAdditionalParams();
            if (dev.deviation.getValue() == rectangle.HitTestDeviation.None)
                perfectHit.push(new HitTestOfRectanglesResult(r, dev));
            return new HitTestOfRectanglesResult(r, dev);
        });
        return perfectHit.length ? perfectHit : [utils_list.ListUtils.min(hit, a => metrics.Metrics.euclideanDistance(new geometry_point.Point(0, 0), a.deviation.offsetToInside))];
    }
}
class HitTestOfRectanglesResult {
    constructor(obj, deviation) {
        this.obj = obj;
        this.deviation = deviation;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/layout-anchor-object-finder.ts

class LayoutAnchorObjectFinder {
    constructor(layout, pos, subDocId, findOnlyOnPage) {
        let pageIndex;
        let pageIndexEnd;
        if (findOnlyOnPage === undefined) {
            pageIndex = 0;
            pageIndexEnd = layout.validPageCount;
        }
        else {
            pageIndex = findOnlyOnPage;
            pageIndexEnd = Math.min(findOnlyOnPage + 1, layout.validPageCount);
        }
        for (let page; (page = layout.pages[pageIndex]) && pageIndex < pageIndexEnd; pageIndex++) {
            const obj = number/* NumberMapUtils */.j.elementBy(page.anchoredObjectHolder.objects, obj => layout.anchorObjectsPositionInfo.getPosition(obj.objectId) == pos && obj.belongsToSubDocId === subDocId);
            if (obj) {
                this.page = page;
                this.obj = obj;
                return;
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/listeners/frame-base-listener.ts



class FrameBaseListener {
    constructor(rendererCache, stringResources, fieldOptions) {
        this.rendererCache = rendererCache;
        this.stringResources = stringResources;
        this.fieldOptions = fieldOptions;
        this.initFrameElement();
    }
    initFrameElement() {
        if (this.baseFrame)
            this.NotifyHide();
        this.baseFrame = DocumentRenderer.renderContainer(this.baseFrameClassName());
    }
    NotifyHide() {
        dom.DomUtils.hideNode(this.baseFrame);
    }
    NotifyShow(pageIndex, bounds, tip, isTextBox, isAnchoredObject, rotation) {
        dom.DomUtils.setStyleSizeAndPosition(this.baseFrame.style, bounds);
        if (tip)
            this.baseFrame.title = CanvasUtils.buildHyperlinkTipString(tip, this.stringResources.commonLabels.clickToFollowHyperlink, this.fieldOptions);
        this.toggleClass(DocumentRenderer.setRotationInRadians(this.baseFrame, rotation), FrameBaseListener.CLASSNAMES.IS_BOX_ROTATED);
        this.toggleClass(isTextBox, FrameBaseListener.CLASSNAMES.TEXTBOX_AREA);
        this.toggleClass(isAnchoredObject, FrameBaseListener.CLASSNAMES.ANCHORED_OBJECT);
        DocumentRenderer.getServiceContainerCore(this.rendererCache[pageIndex].page).appendChild(this.baseFrame);
    }
    toggleClass(shouldBeEnabled, className) {
        if (shouldBeEnabled)
            dom.DomUtils.addClassName(this.baseFrame, className);
        else
            dom.DomUtils.removeClassName(this.baseFrame, className);
    }
}
FrameBaseListener.CLASSNAMES = {
    CONTAINER: "dxreResBox",
    CORNER_ELEM_PREFIX: "dxreResBoxCornerElem",
    CORNER_LINE_PREFIX: "dxreResBoxCornerLine",
    CORNER_TOUCH_POSTFIX: "Touch",
    ROTATION_BOX: "dxreResBoxRotation",
    ROTATION_LINE: "dxreResBoxRotationLine",
    ANCHORED_OBJECT: "dxreResBoxAnchored",
    TEXTBOX_AREA: "dxreResBoxTextBoxArea",
    IS_BOX_ROTATED: "dxreResBoxRotated",
};

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-event-source.ts
var MouseEventSource;
(function (MouseEventSource) {
    MouseEventSource[MouseEventSource["Undefined"] = 0] = "Undefined";
    MouseEventSource[MouseEventSource["ResizeBox_NW"] = 1] = "ResizeBox_NW";
    MouseEventSource[MouseEventSource["ResizeBox_NE"] = 2] = "ResizeBox_NE";
    MouseEventSource[MouseEventSource["ResizeBox_SE"] = 3] = "ResizeBox_SE";
    MouseEventSource[MouseEventSource["ResizeBox_SW"] = 4] = "ResizeBox_SW";
    MouseEventSource[MouseEventSource["ResizeBox_N"] = 5] = "ResizeBox_N";
    MouseEventSource[MouseEventSource["ResizeBox_E"] = 6] = "ResizeBox_E";
    MouseEventSource[MouseEventSource["ResizeBox_S"] = 7] = "ResizeBox_S";
    MouseEventSource[MouseEventSource["ResizeBox_W"] = 8] = "ResizeBox_W";
})(MouseEventSource || (MouseEventSource = {}));

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/base-visualizer.ts

class BaseVisualizer {
    constructor(control) {
        this.onChanged = new event_dispatcher/* EventDispatcher */.p();
        this.control = control;
        this.reset();
    }
    closeDocument() {
        this.reset();
        this.raiseHide();
    }
    reset() {
        this.pageIndex = -1;
        this.bounds = null;
        this.tip = null;
    }
    hide() {
        this.reset();
        this.raiseHide();
    }
    raiseShow() {
        this.onChanged.listeners.forEach(listener => listener.NotifyShow(this.pageIndex, this.bounds, this.tip, this.isTextBox, this.isAnchoredObject, this.rotation));
    }
    raiseHide() {
        this.onChanged.listeners.forEach(listener => listener.NotifyHide());
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/resize-box-visualizer.ts
















class ResizeBoxVisualizer extends BaseVisualizer {
    NotifySelectionChanged(selection) {
        if (selection.specialRunInfo.isSelected())
            this.setBox();
        else if (this.initBounds)
            this.hide();
    }
    NotifyScrollPositionChanged() { }
    NotifyFullyFormatted(_pageCount) { }
    ;
    NotifyPagesReady(pageChanges) {
        const specRunInfo = this.control.selection.specialRunInfo;
        if (!specRunInfo.isSelected())
            return;
        const subDoc = specRunInfo.getParentSubDocument();
        const pos = specRunInfo.getPosition();
        if (subDoc.isMain()) {
            if (utils_list.ListUtils.unsafeAnyOf(pageChanges, (pageChange) => pageChange.changeType == LayoutChangeType.Deleted ? null : new LayoutAnchorObjectFinder(this.control.layout, pos, subDoc.id, pageChange.index).obj ||
                utils_list.ListUtils.unsafeAnyOf(this.control.layout.pages[pageChange.index].getContentIntervals(), (interval) => interval.contains(pos) ? pageChange : null)))
                this.setBox();
        }
        else {
            if (utils_list.ListUtils.unsafeAnyOf(pageChanges, (pageChange) => pageChange.changeType == LayoutChangeType.Deleted ? null :
                number/* NumberMapUtils */.j.containsBy(this.control.layout.pages[pageChange.index].otherPageAreas, (pageArea) => pageArea.subDocument.id == subDoc.id)))
                this.setBox();
        }
    }
    setBox() {
        const specRunInfo = this.control.selection.specialRunInfo;
        const pos = specRunInfo.getPosition();
        if (specRunInfo.isSelectedAnchorObject) {
            const parentSubDoc = specRunInfo.getParentSubDocument();
            const finder = new LayoutAnchorObjectFinder(this.control.layout, pos, parentSubDoc.id, parentSubDoc.isHeaderFooter() ? this.control.selection.pageIndex : undefined);
            if (finder.obj)
                this.show(finder.page.index, null, null, null, finder.obj);
            return;
        }
        const subDocument = this.control.selection.activeSubDocument;
        const layoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, pos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, pos, this.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (layoutPosition)
            this.show(layoutPosition.pageIndex, layoutPosition.pageArea, layoutPosition.column, layoutPosition.row, layoutPosition.box);
    }
    reset() {
        this.initBounds = null;
        super.reset();
    }
    show(pageIndex, pageArea, column, row, box) {
        this.pageIndex = pageIndex;
        this.tip = box.hyperlinkTip;
        const boxType = box.getType();
        this.isTextBox = boxType == layout_box/* LayoutBoxType */.KH.AnchorTextBox;
        this.isAnchoredObject = boxType == layout_box/* LayoutBoxType */.KH.AnchorPicture || boxType == layout_box/* LayoutBoxType */.KH.AnchorTextBox;
        this.initBounds = new rectangle.Rectangle(0, 0, 0, 0);
        if (this.isAnchoredObject) {
            this.initBounds.copyFrom(box);
            this.rotation = boxType == layout_box/* LayoutBoxType */.KH.AnchorTextBox && this.control.selection.activeSubDocument.isTextBox() ? 0 :
                box.rotationInRadians;
        }
        else {
            const boxY = Math.max(0, row.baseLine - box.getAscent());
            this.initBounds
                .setPosition(new geometry_point.Point(pageArea.x + column.x + row.x + box.x, pageArea.y + column.y + row.y + boxY))
                .setSize(box);
            this.rotation = 0;
        }
        this.recalculate(null, null, null);
    }
    showAtPos(pageIndex, position) {
        this.pageIndex = pageIndex;
        this.initBounds.x = position.x;
        this.initBounds.y = position.y;
        this.recalculate(null, null, null);
    }
    recalculate(size, positionDelta, newRotation) {
        this.bounds = size != null ?
            new rectangle.Rectangle(this.initBounds.x + positionDelta.width, this.initBounds.y + positionDelta.height, size.width, size.height) :
            this.initBounds.createRectangle();
        if (newRotation != null)
            this.rotation = newRotation;
        this.raiseShow();
    }
    isResizeBoxVisible() {
        return !!this.bounds;
    }
    shouldCapture(evt) {
        return !this.control.isReadOnlyPersistent && !!ResizeBoxVisualizer.shouldCaptureEvents[evt.source];
    }
    static shouldRotate(evt, control) {
        return control.readOnly != i_rich_edit_core/* ReadOnlyMode */.F.Persistent &&
            ResizeBoxVisualizer.isEventSourceHasClassName(evt, FrameBaseListener.CLASSNAMES.ROTATION_BOX) &&
            control.selection.activeSubDocument.isEditable([new fixed.FixedInterval(control.selection.specialRunInfo.getPosition(), 1)]);
    }
    static shouldHandleTextBoxAreaClick(evt) {
        return ResizeBoxVisualizer.isEventSourceHasClassName(evt, FrameBaseListener.CLASSNAMES.TEXTBOX_AREA) ||
            ResizeBoxVisualizer.isEventSourceHasClassName(evt, renderer_class_names/* RendererClassNames */.A.SELECTED_TEXTBOX);
    }
    static isEventSourceHasClassName(evt, className) {
        let element = utils_evt/* EvtUtils */.g.getEventSource(evt.mouseEvent);
        while (element) {
            if (element.className.indexOf(className) > -1)
                return true;
            if (element.className.indexOf(renderer_class_names/* RendererClassNames */.A.PAGES) > -1)
                return false;
            element = element.parentElement;
        }
        return false;
    }
}
ResizeBoxVisualizer.shouldCaptureEvents = {
    [MouseEventSource.ResizeBox_E]: true,
    [MouseEventSource.ResizeBox_N]: true,
    [MouseEventSource.ResizeBox_NE]: true,
    [MouseEventSource.ResizeBox_NW]: true,
    [MouseEventSource.ResizeBox_S]: true,
    [MouseEventSource.ResizeBox_SE]: true,
    [MouseEventSource.ResizeBox_SW]: true,
    [MouseEventSource.ResizeBox_W]: true,
};

// EXTERNAL MODULE: ./src/common/selection/set-selection-params.ts
var set_selection_params = __webpack_require__(9523);
// EXTERNAL MODULE: ./src/common/mouse-handler/resize-table-helper.ts + 2 modules
var resize_table_helper = __webpack_require__(3123);
;// CONCATENATED MODULE: ./src/common/canvas/listeners/auto-scroll-listener.ts



class AutoScrollListener {
    constructor(serviceContainer) {
        this.serviceContainer = serviceContainer;
        this.baseFrame = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.AUTO_SCROLL);
        this.top = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.AUTO_SCROLL_CURSOR);
        this.center = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.AUTO_SCROLL_CURSOR);
        this.bottom = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.AUTO_SCROLL_CURSOR);
        dom.DomUtils.addClassName(this.top, renderer_class_names/* RendererClassNames */.A.AUTO_SCROLL_CURSOR_N);
        dom.DomUtils.addClassName(this.center, renderer_class_names/* RendererClassNames */.A.AUTO_SCROLL_CURSOR_NS);
        dom.DomUtils.addClassName(this.bottom, renderer_class_names/* RendererClassNames */.A.AUTO_SCROLL_CURSOR_S);
    }
    NotifyHide() {
        dom.DomUtils.hideNode(this.baseFrame);
        dom.DomUtils.hideNode(this.top);
        dom.DomUtils.hideNode(this.center);
        dom.DomUtils.hideNode(this.bottom);
    }
    NotifyShow(_pageIndex, bounds, _tip, _isTextBox, _isAnchoredObject, _rotation) {
        dom.DomUtils.setStyleSizeAndPosition(this.baseFrame.style, bounds);
        this.top.style.top = "0px";
        this.top.style.height = `${bounds.y}px`;
        this.center.style.top = `${bounds.y}px`;
        this.center.style.height = `${bounds.height}px`;
        this.bottom.style.top = `${bounds.bottom}px`;
        this.bottom.style.height = "100%";
        this.serviceContainer.appendChild(this.baseFrame);
        this.serviceContainer.appendChild(this.top);
        this.serviceContainer.appendChild(this.center);
        this.serviceContainer.appendChild(this.bottom);
    }
}
AutoScrollListener.HALF_SIZE = 10;

;// CONCATENATED MODULE: ./src/common/mouse-handler/base/manipulator-handler-state-base.ts

class ManipulatorHandlerStateBase {
    start() { }
    finish() { }
    constructor(handler) {
        this.handler = handler;
    }
    dispose() { }
    resizeRotationChecker(action) {
        const activeSubDocument = this.handler.control.selection.activeSubDocument;
        const specRunInfo = this.handler.control.selection.specialRunInfo;
        const subDoc = activeSubDocument.isTextBox() ?
            specRunInfo.getParentSubDocument() :
            activeSubDocument;
        const intervals = activeSubDocument.isTextBox() ?
            [new fixed.FixedInterval(specRunInfo.getTextBoxPosition(), 1)] :
            this.handler.control.selection.intervals;
        if (subDoc.isEditable(intervals)) {
            if (!this.handler.control.isReadOnlyPersistent)
                action();
            return true;
        }
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-state-base.ts

class MouseHandlerStateBase extends ManipulatorHandlerStateBase {
    onMouseDoubleClick(_evt) { }
    onMouseDown(_evt) { }
    onMouseUp(_evt) { }
    onMouseMove(_evt) { }
    onMouseWheel(_evt) { }
    onShortcut(_shortcutCode) { }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-auto-scroll-state.ts






class Scroller {
    constructor(control) {
        this.timerId = null;
        this.control = control;
    }
    start(offset) {
        this.stop();
        const coeff = Math.exp(algorithms.IntervalAlgorithms.reflectionOfPointOnInterval(math.MathUtils.restrictValue(Math.abs(offset), 23, 300), fixed.FixedInterval.fromPositions(23, 301), fixed.FixedInterval.fromPositions(-2, 1.7)));
        const stepByPixel = (offset > 0 ? Math.max(offset, 23) : Math.min(offset, -23)) * coeff / Scroller.STEPS;
        let currPos = this.control.viewManager.canvasScrollManager.scrollTop;
        this.timerId = setInterval(() => {
            currPos += stepByPixel;
            this.control.viewManager.canvasScrollManager.scrollTop = currPos;
        }, 0);
    }
    stop() {
        if (this.timerId !== null) {
            clearTimeout(this.timerId);
            this.timerId = null;
        }
    }
}
Scroller.STEPS = 8;
class MouseHandlerAutoScrollState extends MouseHandlerStateBase {
    constructor(handler) {
        super(handler);
        this.scroller = new Scroller(this.handler.control);
    }
    onMouseDoubleClick(_evt) {
    }
    onMouseDown(evt) {
        this.absStartPoint = evt.absolutePoint;
        this.handler.boxVisualizerManager.autoScrollVisualizer.show(rectangle.Rectangle.fromCenter(evt.absolutePoint, AutoScrollListener.HALF_SIZE));
    }
    onMouseUp(_evt) {
        this.handler.switchToDefaultState();
    }
    onMouseMove(evt) {
        const offset = evt.absolutePoint.y - this.absStartPoint.y;
        if (Math.abs(offset) > AutoScrollListener.HALF_SIZE)
            this.scroller.start(offset + (offset > 0 ? -1 : 1) * AutoScrollListener.HALF_SIZE);
        else
            this.scroller.stop();
    }
    onMouseWheel(_evt) {
    }
    onShortcut(_shortcutCode) {
    }
    finish() {
        this.scroller.stop();
        this.handler.boxVisualizerManager.autoScrollVisualizer.hide();
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-begin-drag-helper-state.ts


class MouseHandlerBeginDragHelperState extends MouseHandlerStateBase {
    constructor(lp, handler, dragState) {
        super(handler);
        this.dragState = dragState;
        this.startPoint = lp.clone();
    }
    start() {
        var _a;
        this.handler.control.inputPositionModelChangesListener.beginUpdate();
        (_a = this.handler.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.beginUpdate();
        this.handler.control.barHolder.publicUiChangesListener.beginUpdate();
        this.handler.control.horizontalRulerControl.beginUpdate();
    }
    finish() {
        var _a;
        this.handler.control.inputPositionModelChangesListener.endUpdate();
        (_a = this.handler.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.endUpdate();
        this.handler.control.barHolder.publicUiChangesListener.endUpdate();
        this.handler.control.horizontalRulerControl.endUpdate();
        this.handler.control.barHolder.updateItemsState();
        this.handler.control.horizontalRulerControl.update();
    }
    cancelOnRightMouseUp() { return true; }
    onMouseWheel(evt) {
        this.handler.switchState(this.dragState);
        this.dragState.onMouseWheel(evt);
    }
    onMouseMove(evt) {
        if (!evt.layoutPoint.equals(this.startPoint)) {
            this.handler.switchState(this.dragState);
            this.dragState.onMouseMove(evt);
        }
    }
    onMouseUp(evt) {
        if (evt.button == MouseButton.Left || (this.cancelOnRightMouseUp() && evt.button & MouseButton.Right)) {
            this.handler.switchToDefaultState();
            this.handler.onMouseUp(evt);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-drag-column-or-row-state.ts



class MouseHandlerDragResizeTableBase extends MouseHandlerStateBase {
    onMouseDown(evt) {
        this.helper = new (this.getHelperConstructor())(this.handler.control, this.handler.boxVisualizerManager.resizeTableVisualizer, evt);
    }
    onMouseMove(evt) {
        this.helper.move(evt);
    }
    onMouseUp(evt) {
        this.helper.end(evt);
        this.handler.switchToDefaultState();
    }
    getHelperConstructor() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
}
class MouseHandlerDragTableRowState extends MouseHandlerDragResizeTableBase {
    getHelperConstructor() {
        return resize_table_helper/* ResizeRowTableHelper */.gH;
    }
}
class MouseHandlerDragTableColumnState extends MouseHandlerDragResizeTableBase {
    getHelperConstructor() {
        return resize_table_helper/* ResizeColumnTableHelper */.wg;
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-drag-content-states.ts









class MouseHandlerBeginContentDragHelperState extends MouseHandlerBeginDragHelperState {
    constructor(lp, handler, dragState) {
        super(lp, handler, dragState);
        this.resetSelectionOnMouseUp = true;
    }
    onMouseUp(evt) {
        super.onMouseUp(evt);
        if (this.cancelOnRightMouseUp() && evt.button & MouseButton.Right)
            return;
        if (this.resetSelectionOnMouseUp) {
            var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
            htr.correctAsVisibleBox();
            if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None) {
                var selection = this.handler.control.selection;
                var position = htr.getPosition();
                selection.deprecatedSetSelection(position, position, false, -1, true);
            }
        }
    }
}
class MouseHandlerCancellableDragStateBase extends MouseHandlerStateBase {
    onShortcut(shortcutCode) {
        if (shortcutCode === key/* KeyCode */.VD.Esc)
            this.handler.switchToDefaultState();
    }
    calculateHitTest(evt) {
        const htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        htr.correctAsVisibleBox();
        return htr;
    }
    onMouseMove(evt) {
        this.continueDrag(evt);
    }
    onMouseWheel(evt) {
        this.continueDrag(evt);
    }
    onMouseUp(evt) {
        this.commitDrag(evt);
        this.handler.switchToDefaultState();
    }
    continueDrag(_evt) { }
    commitDrag(_evt) { }
}
class MouseHandlerDragContentState extends MouseHandlerCancellableDragStateBase {
    constructor(handler) {
        super(handler);
        this.allowedToDrag = this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DragMoveContent).getState().enabled;
    }
    start() {
        let cursorPointer = this.allowedToDrag ? CursorPointer.Default : CursorPointer.NoDrop;
        this.handler.setCursorPointer(cursorPointer);
    }
    finish() {
        this.handler.restoreCursorPointer();
        this.handler.boxVisualizerManager.dragCaretVisualizer.hide();
    }
    continueDrag(evt) {
        if (this.allowedToDrag) {
            var htr = this.calculateHitTest(evt);
            this.handler.boxVisualizerManager.dragCaretVisualizer.show(htr);
        }
    }
    commitDrag(evt) {
        if (this.allowedToDrag) {
            var htr = this.calculateHitTest(evt);
            if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None) {
                var subDocument = this.handler.control.selection.activeSubDocument;
                var interval = new fixed.FixedInterval(htr.getPosition(), 0);
                fields_field/* Field */.gN.correctIntervalDueToFields(subDocument, interval);
                var commandId = evt.modifiers & key/* ModifierKey */.tx.Ctrl ? client_command/* RichEditClientCommand */.f.DragCopyContent : client_command/* RichEditClientCommand */.f.DragMoveContent;
                this.handler.control.commandManager.getCommand(commandId).execute(this.handler.control.commandManager.isPublicApiCall, interval.start);
            }
        }
    }
}

// EXTERNAL MODULE: ./src/common/commands/floating-objects/floating-object-drag-drop-change-position-command.ts + 1 modules
var floating_object_drag_drop_change_position_command = __webpack_require__(7099);
;// CONCATENATED MODULE: ./src/common/mouse-handler/drag-floating-objects-helper.ts




class DragFloatingObjectsHelper {
    constructor(control, resizeBoxVisualizer) {
        this.control = control;
        this.resizeBoxVisualizer = resizeBoxVisualizer;
    }
    start(evt) {
        const layout = this.control.layout;
        this.startPoint = geometry_point.Point.plus(evt.absolutePoint, evt.scroll);
        this.startLayoutPoint = evt.layoutPoint;
        this.startPageIndex = evt.layoutPoint.pageIndex;
        this.pageIndex = this.startPageIndex;
        this.box = layout.pages[this.startPageIndex].anchoredObjectHolder.getObjectByModelPosition(layout, this.control.selection.specialRunInfo.getPosition(), this.control.selection.activeSubDocument.id);
        this.boxPoint = new geometry_point.Point(this.box.x, this.box.y);
        this.clickBoxDistance = geometry_point.Point.minus(this.startLayoutPoint, this.boxPoint);
    }
    move(evt) {
        this.pageIndex = evt.layoutPoint.pageIndex;
        const newPoint = geometry_point.Point.minus(evt.layoutPoint, this.clickBoxDistance);
        this.resizeBoxVisualizer.showAtPos(this.pageIndex, newPoint);
    }
    end(evt) {
        const delta = this.getDelta(evt);
        if (delta.isZero() || !evt.layoutPoint)
            return;
        let endPageIndex = evt.layoutPoint.pageIndex;
        const newPosition = geometry_point.Point.minus(evt.layoutPoint, this.clickBoxDistance);
        const args = new floating_object_drag_drop_change_position_command/* FloatingObjectDragDropChangePositionCommandParameters */.j9(this.control, this.startPageIndex, endPageIndex, newPosition, evt.layoutPoint.point);
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.FloatingObjectDragDropChangePosition)
            .execute(this.control.commandManager.isPublicApiCall, args);
        let finder;
        while (true) {
            finder = new LayoutAnchorObjectFinder(this.control.layout, this.control.selection.specialRunInfo.getPosition(), this.control.selection.activeSubDocument.id);
            if (finder.page)
                break;
            else
                this.control.layoutFormatterManager.forceFormatPage(this.control.layout.validPageCount);
        }
        this.resizeBoxVisualizer.show(finder.page.index, null, null, null, finder.obj);
    }
    rollback() {
        this.resizeBoxVisualizer.showAtPos(this.startPageIndex, this.boxPoint);
        this.control.modelManager.history.endTransaction();
    }
    getDelta(evt) {
        return geometry_point.Point.minus(geometry_point.Point.plus(evt.absolutePoint, evt.scroll), this.startPoint);
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-drag-floating-object-state.ts



class MouseHandlerDragFloatingObjectState extends MouseHandlerCancellableDragStateBase {
    constructor(handler, evt) {
        super(handler);
        this.dragFloatingObjectsHelper = new DragFloatingObjectsHelper(this.handler.control, this.handler.boxVisualizerManager.resizeBoxVisualizer);
        this.dragFloatingObjectsHelper.start(evt);
    }
    onMouseMove(evt) {
        this.dragFloatingObjectsHelper.move(evt);
    }
    commitDrag(evt) {
        this.dragFloatingObjectsHelper.end(evt);
    }
    onShortcut(shortcutCode) {
        if (shortcutCode === key/* KeyCode */.VD.Esc)
            this.dragFloatingObjectsHelper.rollback();
        super.onShortcut(shortcutCode);
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-paragraph-select-state.ts


class MouseHandlerParagraphSelectState extends MouseHandlerStateBase {
    constructor(handler, evt, startSelectedWordInterval) {
        super(handler);
        this.layoutPoint = evt.layoutPoint;
        this.startSelectedWordInterval = startSelectedWordInterval;
        this.timerId = setTimeout(() => {
            this.handler.switchToDefaultState();
            this.timerId = null;
        }, MouseHandlerParagraphSelectState.TIMEOUT);
    }
    dispose() {
        super.dispose();
        clearTimeout(this.timerId);
    }
    onMouseDoubleClick(evt) {
        this.handler.switchToDefaultState();
        this.handler.state.onMouseDoubleClick(evt);
    }
    onMouseDown(evt) {
        if (evt.layoutPoint.equals(this.layoutPoint)) {
            this.handler.control.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu()
                .setInterval(this.handler.control.selection.activeSubDocument.getParagraphByPosition(this.startSelectedWordInterval).interval));
            this.handler.switchToDefaultState();
        }
        else {
            this.handler.switchToDefaultState();
            this.handler.state.onMouseDown(evt);
        }
    }
    onMouseUp(evt) {
        this.handler.switchToDefaultState();
        this.handler.state.onMouseUp(evt);
    }
    onMouseMove(evt) {
        this.handler.switchToDefaultState();
        this.handler.state.onMouseMove(evt);
    }
    onMouseWheel(evt) {
        this.handler.switchToDefaultState();
        this.handler.state.onMouseWheel(evt);
    }
    onShortcut(shortcutCode) {
        this.handler.switchToDefaultState();
        this.handler.state.onShortcut(shortcutCode);
    }
    finish() {
        if (this.timerId !== null)
            clearTimeout(this.timerId);
    }
}
MouseHandlerParagraphSelectState.TIMEOUT = 450;

;// CONCATENATED MODULE: ./src/common/mouse-handler/resize-box-helper.ts







class ResizeBoxHelper {
    constructor(control, resizeBoxVisualizer) {
        this.control = control;
        this.resizeBoxVisualizer = resizeBoxVisualizer;
    }
    start(evt) {
        const specialRunInfo = this.control.selection.specialRunInfo;
        let pos = specialRunInfo.getPosition();
        const run = this.control.selection.activeSubDocument.getRunByPosition(pos);
        if (specialRunInfo.isSelectedAnchorObject) {
            const parentSubDoc = specialRunInfo.getParentSubDocument();
            const finder = new LayoutAnchorObjectFinder(this.control.layout, pos, parentSubDoc.id, parentSubDoc.isHeaderFooter() ? this.control.selection.pageIndex : undefined);
            this.startSize = new size.Size(finder.obj.width, finder.obj.height);
        }
        else
            this.startSize = size.Size.initByCommonAction(adp => class_unit_converter/* UnitConverter */.u.twipsToPixelsF(adp(run.size.actualSize)));
        this.lockAspectRatio = run.size.lockAspectRatio;
        this.rotation = class_unit_converter/* UnitConverter */.u.twipsToDegrees(run.size.rotation) * Math.PI / 180;
        this.startX = evt.absolutePoint.x;
        this.startY = evt.absolutePoint.y;
        this.startScrollLeft = evt.scroll.x;
        this.startScrollTop = evt.scroll.y;
        this.lockH = evt.source == MouseEventSource.ResizeBox_S || evt.source == MouseEventSource.ResizeBox_N;
        this.lockV = evt.source == MouseEventSource.ResizeBox_E || evt.source == MouseEventSource.ResizeBox_W;
        this.sideH = evt.source == MouseEventSource.ResizeBox_E || evt.source == MouseEventSource.ResizeBox_NE || evt.source == MouseEventSource.ResizeBox_SE;
        this.sideV = evt.source == MouseEventSource.ResizeBox_SE || evt.source == MouseEventSource.ResizeBox_S || evt.source == MouseEventSource.ResizeBox_SW;
    }
    move(evt) {
        this.size = this.getSize(evt);
        this.positionDelta = this.getPositionDelta(this.size);
        this.resizeBoxVisualizer.recalculate(this.size, this.positionDelta, null);
    }
    end(evt) {
        let run = this.control.selection.activeSubDocument.getRunByPosition(this.control.selection.specialRunInfo.getPosition());
        if (!this.size) {
            this.size = this.getSize(evt);
            this.positionDelta = this.getPositionDelta(this.size);
        }
        if (run.getType() == run_type/* RunType */.m.InlinePictureRun) {
            let changeInlinePictureScaleCommand = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeInlinePictureScale);
            let originalSize = run.size.originalSize;
            let newWidth = class_unit_converter/* UnitConverter */.u.pixelsToTwips(100 * this.size.width / originalSize.width);
            let newHeight = class_unit_converter/* UnitConverter */.u.pixelsToTwips(100 * this.size.height / originalSize.height);
            changeInlinePictureScaleCommand.execute(this.control.commandManager.isPublicApiCall, [newWidth, newHeight]);
        }
        else {
            let layoutOptionsCommand = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowLayoutOptionsForm);
            let params = layoutOptionsCommand.createParameters(new command_base/* CommandOptions */.dg(this.control));
            const initParams = params.clone();
            params.useAbsoluteWidth = true;
            params.useAbsoluteHeight = true;
            params.absoluteWidth = class_unit_converter/* UnitConverter */.u.pixelsToTwips(this.size.width);
            params.absoluteHeight = class_unit_converter/* UnitConverter */.u.pixelsToTwips(this.size.height);
            params.offsetX = params.offsetX + class_unit_converter/* UnitConverter */.u.pixelsToTwips(this.positionDelta.width);
            params.offsetY = params.offsetY + class_unit_converter/* UnitConverter */.u.pixelsToTwips(this.positionDelta.height);
            layoutOptionsCommand.applyParameters(layoutOptionsCommand.getState(), params, initParams);
        }
    }
    getSize(evt) {
        var absDeltaX = evt.absolutePoint.x - (this.startScrollLeft - evt.scroll.x) - this.startX;
        var absDeltaY = evt.absolutePoint.y - (this.startScrollTop - evt.scroll.y) - this.startY;
        var deltaX = absDeltaX * Math.cos(this.rotation) - (-absDeltaY) * Math.sin(this.rotation);
        var deltaY = -(absDeltaX * Math.sin(this.rotation) + (-absDeltaY) * Math.cos(this.rotation));
        var newWidth, newHeight;
        deltaY = !this.sideV && deltaY > 0 ? Math.min(this.startSize.height + 1, deltaY) : deltaY;
        deltaX = !this.sideH && deltaX > 0 ? Math.min(this.startSize.width + 1, deltaX) : deltaX;
        if (!this.lockH && !this.lockV && this.lockAspectRatio) {
            if (Math.abs(deltaX) > Math.abs(deltaY)) {
                newWidth = this.sideH ? Math.max(1, this.startSize.width + deltaX) : (this.startSize.width - deltaX);
                newHeight = this.startSize.height * (newWidth / this.startSize.width);
            }
            else {
                newHeight = this.sideV ? Math.max(1, this.startSize.height + deltaY) : (this.startSize.height - deltaY);
                newWidth = this.startSize.width * (newHeight / this.startSize.height);
            }
        }
        else {
            deltaX = this.lockH ? 0 : deltaX;
            deltaY = this.lockV ? 0 : deltaY;
            newWidth = Math.max(1, this.sideH ? (this.startSize.width + deltaX) : (this.startSize.width - deltaX));
            newHeight = Math.max(1, this.sideV ? (this.startSize.height + deltaY) : (this.startSize.height - deltaY));
        }
        return new size.Size(newWidth, newHeight);
    }
    getPositionDelta(newSize) {
        let deltaWidth = this.startSize.width - newSize.width;
        let deltaHeight = this.startSize.height - newSize.height;
        let halfDeltaWidth = (!this.lockV && (this.sideH && !this.sideV || !this.sideH && this.sideV) ? -deltaWidth : deltaWidth) / 2;
        let halfDeltaHeight = deltaHeight / 2;
        let deltaX = halfDeltaWidth * Math.cos(this.rotation) - halfDeltaHeight * Math.sin(this.rotation);
        let deltaY = halfDeltaHeight * Math.cos(this.rotation) + halfDeltaWidth * Math.sin(this.rotation);
        if ((this.sideH || this.sideV) && !(!this.lockV && this.sideH && !this.sideV)) {
            deltaX = -deltaX;
            deltaY = -deltaY;
        }
        return new size.Size(deltaX + deltaWidth / 2, deltaY + deltaHeight / 2);
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-resize-box-state.ts



class MouseHandlerResizeBoxState extends MouseHandlerCancellableDragStateBase {
    start() {
        this.resizeBoxHelper = new ResizeBoxHelper(this.handler.control, this.handler.boxVisualizerManager.resizeBoxVisualizer);
    }
    onMouseDown(evt) {
        this.resizeBoxHelper.start(evt);
        this.setCursor();
    }
    onMouseMove(evt) {
        this.resizeBoxHelper.move(evt);
    }
    onMouseUp(evt) {
        super.onMouseUp(evt);
        this.resizeBoxHelper.end(evt);
    }
    setCursor() {
        if (this.resizeBoxHelper.lockH)
            this.handler.setCursorPointer(CursorPointer.SResize);
        else if (this.resizeBoxHelper.lockV)
            this.handler.setCursorPointer(CursorPointer.WResize);
        else if (this.resizeBoxHelper.sideH && this.resizeBoxHelper.sideV)
            this.handler.setCursorPointer(CursorPointer.SEResize);
        else if (this.resizeBoxHelper.sideH && !this.resizeBoxHelper.sideV)
            this.handler.setCursorPointer(CursorPointer.NEResize);
        else if (!this.resizeBoxHelper.sideH && this.resizeBoxHelper.sideV)
            this.handler.setCursorPointer(CursorPointer.SWResize);
        else if (!this.resizeBoxHelper.sideH && !this.resizeBoxHelper.sideV)
            this.handler.setCursorPointer(CursorPointer.NWResize);
    }
    finish() {
        this.handler.setCursorPointer(CursorPointer.Auto);
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/rotate-box-helper.ts



class RotateBoxHelper {
    constructor(control, resizeBoxVisualizer) {
        this.control = control;
        this.resizeBoxVisualizer = resizeBoxVisualizer;
    }
    start(evt) {
        let page = this.control.layout.pages[evt.layoutPoint.pageIndex];
        let subDocId = this.control.selection.activeSubDocument.id;
        let box = page.anchoredObjectHolder.getObjectByModelPosition(this.control.layout, this.control.selection.specialRunInfo.getPosition(), subDocId);
        this.centerPoint = box.center;
    }
    move(evt) {
        this.resizeBoxVisualizer.recalculate(null, null, this.getRotation(this.centerPoint, evt.layoutPoint));
    }
    end(evt) {
        let newRotation = this.getRotation(this.centerPoint, evt.layoutPoint);
        let layoutOptionsCommand = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ShowLayoutOptionsForm);
        let params = layoutOptionsCommand.createParameters(new command_base/* CommandOptions */.dg(this.control));
        const initParams = params.clone();
        params.rotation = class_unit_converter/* UnitConverter */.u.radiansToDegrees(newRotation);
        layoutOptionsCommand.applyParameters(layoutOptionsCommand.getState(), params, initParams);
        this.resizeBoxVisualizer.recalculate(null, null, newRotation);
    }
    getRotation(center, point) {
        let rotation = Math.atan2(center.y - point.y, center.x - point.x);
        rotation -= Math.PI / 2;
        rotation = (rotation < 0) ? rotation + 2 * Math.PI : rotation;
        const delta = 0.05;
        const correctingValues = [0, Math.PI / 2, Math.PI, 3 * Math.PI / 2, 2 * Math.PI];
        for (let i = 0; i < correctingValues.length; i++)
            if (Math.abs(rotation - correctingValues[i]) < delta)
                rotation = correctingValues[i];
        if (rotation == 2 * Math.PI)
            rotation = 0;
        return rotation;
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-rotate-box-state.ts


class MouseHandlerRotateBoxState extends MouseHandlerCancellableDragStateBase {
    onMouseDown(evt) {
        this.rotateBoxHelper = new RotateBoxHelper(this.handler.control, this.handler.boxVisualizerManager.resizeBoxVisualizer);
        this.rotateBoxHelper.start(evt);
    }
    onMouseMove(evt) {
        this.rotateBoxHelper.move(evt);
    }
    onMouseUp(evt) {
        super.onMouseUp(evt);
        this.rotateBoxHelper.end(evt);
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/table-utils.ts
var table_utils = __webpack_require__(935);
;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-text-selection-states.ts














class MouseHandlerContinueSelectionByRangesState extends MouseHandlerStateBase {
    onMouseMove(evt) {
        var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            this.continueSelection(htr, evt);
    }
    onMouseUp(_evt) {
        this.stopProcessing();
    }
    start() {
        var _a;
        this.handler.control.inputPositionModelChangesListener.beginUpdate();
        (_a = this.handler.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.beginUpdate();
        this.handler.control.barHolder.publicUiChangesListener.beginUpdate();
        this.handler.control.horizontalRulerControl.beginUpdate();
    }
    finish() {
        var _a;
        this.handler.control.inputPositionModelChangesListener.endUpdate();
        this.handler.control.inputPosition.reset();
        (_a = this.handler.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.endUpdate();
        this.handler.control.barHolder.publicUiChangesListener.endUpdate();
        this.handler.control.horizontalRulerControl.endUpdate();
        this.handler.control.barHolder.updateItemsState();
        this.handler.control.horizontalRulerControl.update();
    }
    stopProcessing() {
        this.handler.switchToDefaultState();
    }
    continueSelection(htr, _evt) {
        var command = this.getExtendSelectionCommand();
        var parameter = this.getExtendSelectionCommandParameter(htr);
        command.execute(this.handler.control.commandManager.isPublicApiCall, parameter);
    }
    getExtendSelectionCommand() {
        throw new Error(errors/* Errors */.D.NotImplemented);
    }
    getExtendSelectionCommandParameter(_htr) {
        return undefined;
    }
}
class MouseHandlerBeginMultiselectionState extends MouseHandlerStateBase {
    constructor(handler, startPosition) {
        super(handler);
        this.startPosition = startPosition;
    }
    onMouseUp(evt) {
        this.handler.switchToDefaultState();
        this.handler.state.onMouseUp(evt);
    }
    onMouseMove(evt) {
        this.updateSelection(evt);
    }
    onMouseWheel(evt) {
        this.updateSelection(evt);
    }
    updateSelection(evt) {
        const htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None) {
            var newPosition = htr.getPosition();
            if (newPosition !== this.startPosition) {
                this.handler.control.selection.changeState((newState) => {
                    newState.addInterval(fixed.FixedInterval.fromPositions(this.startPosition, newPosition))
                        .resetKeepX().setEndOfLine(false);
                });
                this.handler.switchState(new MouseHandlerContinueSelectionByCharactersState(this.handler));
            }
        }
    }
}
class MouseHandlerContinueSelectionByCharactersState extends MouseHandlerContinueSelectionByRangesState {
    constructor() {
        super(...arguments);
        this.prevLayoutPoint = new layout_point/* LayoutPoint */.T(-1, -1, -1);
    }
    extendToPoints(selection, bounds) {
        selection.changeState((newState) => {
            newState.interval.start = Math.min(newState.interval.start, bounds.minElement);
            newState.interval.end = Math.max(newState.interval.end, bounds.maxElement);
            newState.resetKeepX().setEndOfLine(false);
        });
    }
    isForwardMouseDirection(evt) {
        const currLp = evt.layoutPoint;
        return currLp.pageIndex > this.prevLayoutPoint.pageIndex || currLp.y > this.prevLayoutPoint.y || currLp.x > this.prevLayoutPoint.x;
    }
    extendForward(selection, pos) {
        const lastSelectedInterval = selection.lastSelectedInterval;
        const lastParagraphInterval = this.handler.control.selection.activeSubDocument.getParagraphByPosition(Math.max(0, Math.max(pos, lastSelectedInterval.end) - 1)).interval;
        if (lastParagraphInterval.length > 1 && (lastParagraphInterval.end - 1 == pos || lastParagraphInterval.end == pos)
            && lastSelectedInterval.contains(lastParagraphInterval.start)) {
            selection.changeState((newState) => {
                newState.extendLastInterval(Math.max(lastParagraphInterval.end, lastSelectedInterval.end))
                    .resetKeepX().setEndOfLine(false);
            });
            return true;
        }
        return false;
    }
    extendBackward(selection, pos) {
        const lastSelectedInterval = selection.lastSelectedInterval;
        const firstParagraphInterval = this.handler.control.selection.activeSubDocument.getParagraphByPosition(Math.min(pos, lastSelectedInterval.start)).interval;
        let needToExtend = false;
        let bounds = new min_max.MinMaxNumber(lastSelectedInterval.start, lastSelectedInterval.end);
        if (firstParagraphInterval.length > 1 && firstParagraphInterval.start == pos && lastSelectedInterval.containsWithIntervalEnd(firstParagraphInterval.end - 1) && !lastSelectedInterval.containsWithIntervalEnd(firstParagraphInterval.end)) {
            bounds.minElement = Math.min(bounds.minElement, firstParagraphInterval.start);
            bounds.maxElement = Math.max(bounds.maxElement, firstParagraphInterval.end);
            needToExtend = true;
        }
        if (lastSelectedInterval.end > firstParagraphInterval.end && !selection.forwardDirection) {
            const lastParInterval = this.handler.control.selection.activeSubDocument.getParagraphByPosition(Math.max(pos, lastSelectedInterval.end)).interval;
            if (lastParInterval.length > 1 && lastSelectedInterval.contains(lastParInterval.start) && lastSelectedInterval.end == lastParInterval.end - 1) {
                bounds.minElement = Math.min(bounds.minElement, lastParInterval.start);
                bounds.maxElement = Math.max(bounds.maxElement, lastParInterval.end);
                needToExtend = true;
            }
        }
        if (needToExtend) {
            this.extendToPoints(selection, bounds);
            return true;
        }
        return false;
    }
    extendSelectionToFullParagraph(evt, pos) {
        const selection = this.handler.control.selection;
        if (this.isForwardMouseDirection(evt)) {
            if (this.extendForward(selection, pos))
                return true;
        }
        else {
            if (this.extendBackward(selection, pos))
                return true;
        }
        return false;
    }
    continueSelection(htr, evt, isTableCell = false) {
        const pos = htr.getPosition();
        if (isTableCell || !this.extendSelectionToFullParagraph(evt, pos))
            this.handler.control.selection.changeState((newState) => {
                newState.extendLastInterval(pos).resetKeepX().setEndOfLine(false);
            });
        this.prevLayoutPoint = evt.layoutPoint.clone();
    }
}
class MouseHandlerContinueSelectionByLinesState extends MouseHandlerContinueSelectionByRangesState {
    getExtendSelectionCommand() {
        return this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ExtendSelectLineNoUpdateControlState);
    }
    getExtendSelectionCommandParameter(htr) {
        return htr.getRelatedSubDocumentPagePosition() + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.columnOffset;
    }
}
class MouseHandlerContinueSelectionByTableColumnsState extends MouseHandlerContinueSelectionByRangesState {
    constructor(handler, table, startColumnIndex, columnOffsetX) {
        super(handler);
        this.table = table;
        this.startColumnIndex = startColumnIndex;
        this.lastColumnIndex = startColumnIndex;
        this.columnOffsetX = columnOffsetX;
    }
    onMouseMove(evt) {
        if (evt.layoutPoint.isEmpty())
            return;
        let relativeX = evt.layoutPoint.x - this.columnOffsetX - this.table.x;
        let columnIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(this.table.logicInfo.grid.columns.positions, (posX) => posX, relativeX));
        if (columnIndex !== this.lastColumnIndex) {
            let shouldExtend = evt.modifiers & key/* ModifierKey */.tx.Ctrl;
            let cmd = this.handler.control.commandManager.getCommand(shouldExtend ? client_command/* RichEditClientCommand */.f.ExtendSelectTableColumn : client_command/* RichEditClientCommand */.f.SelectTableColumn);
            let columnIndices = [];
            let startColumnIndex = Math.min(this.startColumnIndex, columnIndex);
            let endColumnIndex = Math.max(this.startColumnIndex, columnIndex);
            for (let i = startColumnIndex; i <= endColumnIndex; i++)
                columnIndices.push(i);
            cmd.execute(this.handler.control.commandManager.isPublicApiCall, { table: this.table.logicInfo.grid.table, columnIndices: columnIndices });
            this.lastColumnIndex = columnIndex;
        }
    }
}
class MouseHandlerContinueSelectionByTableRowsState extends MouseHandlerContinueSelectionByCharactersState {
    constructor(handler, table, startRowIndex) {
        super(handler);
        this.table = table;
        this.startRowIndex = startRowIndex;
        this.lastRowIndex = startRowIndex;
    }
    onMouseMove(evt) {
        let htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            return;
        let shouldExtend = evt.modifiers & key/* ModifierKey */.tx.Ctrl;
        let position = htr.getPosition();
        let modelTable = this.table.logicInfo.grid.table;
        let rowIndex;
        let shouldContinue = false;
        let forwardDirection;
        if (position < modelTable.getStartPosition()) {
            rowIndex = 0;
            shouldContinue = true;
            forwardDirection = false;
        }
        else if (position > modelTable.getEndPosition()) {
            rowIndex = modelTable.rows.length - 1;
            shouldContinue = true;
            forwardDirection = true;
        }
        else {
            rowIndex = search.SearchUtils.normedInterpolationIndexOf(modelTable.rows, r => r.getStartPosition(), position);
            forwardDirection = rowIndex >= this.startRowIndex;
        }
        let selection = this.handler.control.selection;
        if (this.lastRowIndex !== rowIndex || (!shouldContinue && (selection.intervals[0].start < modelTable.getStartPosition() || selection.intervals[selection.intervals.length - 1].end > modelTable.getEndPosition()))) {
            let cmd = this.handler.control.commandManager.getCommand(shouldExtend ? client_command/* RichEditClientCommand */.f.ExtendSelectTableRow : client_command/* RichEditClientCommand */.f.SelectTableRow);
            let rowIndices = [];
            let startRowIndex = Math.min(this.startRowIndex, rowIndex);
            let endRowIndex = Math.max(this.startRowIndex, rowIndex);
            for (let i = startRowIndex; i <= endRowIndex; i++)
                rowIndices.push(i);
            if (rowIndex < this.startRowIndex)
                rowIndices = rowIndices.reverse();
            cmd.execute(this.handler.control.commandManager.isPublicApiCall, new select_table_command/* SelectTableRowCommandOptions */.Yx(this.handler.control, this.table.logicInfo.grid.table, rowIndices, forwardDirection));
            this.lastRowIndex = rowIndex;
        }
        if (shouldContinue)
            this.continueSelection(htr, evt);
    }
}
class MouseHandlerContinueSelectionByTableCellsState extends MouseHandlerContinueSelectionByCharactersState {
    constructor(handler, startTable, startRowIndex, startGridCellIndex, startPosition) {
        super(handler);
        let modelRow = startTable.logicInfo.grid.table.rows[startRowIndex];
        const cellIndex = startTable.logicInfo.grid.tableCellGridInfos[startRowIndex][startGridCellIndex].getCellIndexAbs(startRowIndex);
        this.startCell = modelRow.cells[cellIndex];
        this.lastCell = this.startCell;
        this.startParentCell = this.startCell;
        this.startPosition = startPosition;
        while (this.startParentCell.parentRow.parentTable.parentCell)
            this.startParentCell = this.startParentCell.parentRow.parentTable.parentCell;
    }
    onMouseMove(evt) {
        let htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            return;
        let selection = this.handler.control.selection;
        let extendSelection = !!(evt.modifiers & key/* ModifierKey */.tx.Ctrl);
        if (!htr.row.tableCellInfo) {
            this.selectWholeInterval(htr, evt, extendSelection);
            return;
        }
        let modelTable = htr.row.tableCellInfo.parentRow.parentTable.logicInfo.grid.table;
        let modelRow = modelTable.rows[htr.row.tableCellInfo.parentRow.rowIndex];
        let modelCell = modelRow.cells[table_utils/* TableCellUtils */.V.getCellIndexByColumnIndex(modelRow, htr.row.tableCellInfo.cellGridIndex)];
        let sameTableCells = table_utils/* TableCellUtils */.V.getSameTableCells(this.startCell, modelCell);
        if (!sameTableCells) {
            this.selectWholeInterval(htr, evt, extendSelection);
            return;
        }
        if (this.startCell === sameTableCells.lastCell) {
            if (!extendSelection &&
                (selection.intervals.length !== 1 ||
                    (selection.intervals[0].start !== this.startPosition && selection.intervals[0].end !== this.startPosition)))
                this.handler.control.selection.deprecatedSetSelection(this.startPosition, htr.getPosition(), false, -1, true);
            else {
                const noExtend = htr.row.tableCellInfo && htr.row.tableCellInfo.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn) &&
                    utils_list.ListUtils.last(htr.row.tableCellInfo.layoutRows) == htr.row && htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.TableCell &&
                    (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character] & rectangle.HitTestDeviation.Right) &&
                    htr.isLastBoxInRow() && htr.charOffset == htr.box.getLength();
                if (!noExtend)
                    this.continueSelection(htr, evt, true);
            }
            this.lastCell = this.startCell;
            return;
        }
        if (this.lastCell === sameTableCells.lastCell)
            return;
        let commandParameters = {
            firstCell: sameTableCells.firstCell,
            lastCell: sameTableCells.lastCell,
            extendSelection: extendSelection
        };
        this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SelectTableCellsRange)
            .execute(this.handler.control.commandManager.isPublicApiCall, commandParameters);
        this.lastCell = sameTableCells.lastCell;
    }
    selectWholeInterval(htr, evt, extendSelection) {
        let selection = this.handler.control.selection;
        let position = htr.getPosition();
        let startPosition = position >= this.startCell.endParagrapPosition.value ?
            this.startParentCell.parentRow.getStartPosition() :
            this.startParentCell.parentRow.getEndPosition();
        if (selection.multiselection) {
            selection.changeState((newState) => {
                const interval = fixed.FixedInterval.fromPositions(startPosition, position);
                if (extendSelection)
                    newState.addInterval(interval);
                else
                    newState.setInterval(interval);
                newState.resetKeepX().setEndOfLine(true);
            });
        }
        else
            this.continueSelection(htr, evt);
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler-default-state.ts






























class MouseHandlerDefaultState extends MouseHandlerStateBase {
    onMouseDoubleClick(evt) {
        var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            return;
        if (this.isLeftAreaOffset(htr, evt)) {
            this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SelectParagraph)
                .execute(this.handler.control.commandManager.isPublicApiCall, htr.getPosition());
            return;
        }
        const activeSubDocument = this.handler.control.selection.activeSubDocument;
        if (htr.exactlyDetailLevel < document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea) {
            if (activeSubDocument.isMain()) {
                if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Top) {
                    this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertHeader).execute(this.handler.control.commandManager.isPublicApiCall, htr.pageIndex);
                    return;
                }
                if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Bottom) {
                    this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertFooter).execute(this.handler.control.commandManager.isPublicApiCall, htr.pageIndex);
                    return;
                }
            }
            else if (this.shouldActivateMainArea(activeSubDocument, htr)) {
                this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain).execute(this.handler.control.commandManager.isPublicApiCall);
                return;
            }
        }
        if (this.isLeftArea(htr, evt) || htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea) {
            var position = htr.getRelatedSubDocumentPagePosition() + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.columnOffset + htr.box.rowOffset + htr.charOffset;
            if (htr.boxIndex == htr.row.boxes.length - 1 && htr.charOffset == htr.box.getLength())
                position--;
            const selection = this.handler.control.selection;
            const startInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(this.handler.control.layout, activeSubDocument, selection, position);
            const endInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordEndBound(this.handler.control.layout, activeSubDocument, selection, position, true);
            if (endInterval <= startInterval)
                return;
            selection.changeState((newState) => {
                const interval = fixed.FixedInterval.fromPositions(startInterval, endInterval);
                if (evt.modifiers & key/* ModifierKey */.tx.Ctrl)
                    newState.addInterval(interval);
                else
                    newState.setInterval(interval);
                newState.resetKeepX().setEndOfLine(false);
            });
            this.handler.switchState(new MouseHandlerParagraphSelectState(this.handler, evt, startInterval));
        }
    }
    shouldActivateMainArea(activeSubDocument, htr) {
        return (activeSubDocument.isHeader() && !!(htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Bottom)) ||
            (activeSubDocument.isFooter() && !!(htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Top)) ||
            (activeSubDocument.isHeaderFooter() && !htr.pageArea);
    }
    changeActiveSubDocument(evt) {
        const control = this.handler.control;
        const activeSubDocument = control.selection.activeSubDocument;
        if (!activeSubDocument.isHeaderFooter())
            return false;
        var htr = control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea, null, true);
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            return false;
        if (htr.pageArea.subDocument.isHeaderFooter()) {
            if (htr.pageArea.subDocument.id != activeSubDocument.id || control.selection.pageIndex != htr.pageIndex) {
                control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
                    .execute(control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(control, htr.pageIndex, htr.pageArea.subDocument.isHeader()));
                return true;
            }
            return false;
        }
        if (htr.pageArea.subDocument.isMain()) {
            if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Top) {
                control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
                    .execute(control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(control, htr.pageIndex, true));
                return true;
            }
            if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Bottom) {
                control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
                    .execute(control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(control, htr.pageIndex, false));
                return true;
            }
            return false;
        }
        return false;
    }
    onMouseDown(evt) {
        var _a;
        let activeSubDocument = this.handler.control.selection.activeSubDocument;
        this.handler.control.barHolder.contextMenu.onCanvasMouseDown();
        (_a = this.handler.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.onCanvasMouseDown();
        if (evt.middleButtonPressed) {
            this.handler.switchState(new MouseHandlerAutoScrollState(this.handler));
            this.handler.state.onMouseDown(evt);
            return;
        }
        if (this.changeActiveSubDocument(evt))
            return;
        if (MouseHandlerDefaultState.canHandleFullTableSelection(evt)) {
            this.handler.control.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu()
                .setInterval(this.handler.control.selection.tableInfo.table.interval));
            return;
        }
        if (resize_table_helper/* ResizeColumnTableHelper */.wg.canHandleResize(evt) && !this.handler.control.readOnly) {
            let htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea, null);
            if (htr.pageArea.subDocument == activeSubDocument) {
                this.handler.switchState(new MouseHandlerDragTableColumnState(this.handler));
                this.handler.state.onMouseDown(evt);
                return;
            }
        }
        if (resize_table_helper/* ResizeRowTableHelper */.gH.canHandleResize(evt) && !this.handler.control.readOnly) {
            let htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea, null);
            if (htr.pageArea.subDocument == activeSubDocument) {
                this.handler.switchState(new MouseHandlerDragTableRowState(this.handler));
                this.handler.state.onMouseDown(evt);
                return;
            }
        }
        if (this.shouldProcessResizeBoxVisualizer(evt))
            if (this.resizeRotationChecker(() => {
                if (activeSubDocument.isTextBox())
                    MouseHandlerHelper.selectParentsTextBox(this.handler.control);
                this.beginResizeBoxMouseHandler(evt);
            }))
                return;
        if (ResizeBoxVisualizer.shouldRotate(evt, this.handler.control))
            if (this.resizeRotationChecker(() => {
                if (activeSubDocument.isTextBox())
                    MouseHandlerHelper.selectParentsTextBox(this.handler.control);
                this.beginRotate(evt);
            }))
                return;
        let htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, activeSubDocument);
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None && !htr.floatingObject)
            return;
        if (!ResizeBoxVisualizer.shouldHandleTextBoxAreaClick(evt) && activeSubDocument.isTextBox()) {
            MouseHandlerHelper.changeActiveSubDocumentToParent(this.handler.control);
            htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        }
        this.processMouseDownOnMaxDetailsLevel(evt, htr, activeSubDocument);
    }
    processMouseDownOnMaxDetailsLevel(evt, htr, activeSubDocument) {
        const selection = this.handler.control.selection;
        if (htr.floatingObject) {
            const box = htr.floatingObject;
            const rotationAngle = activeSubDocument.isTextBox() ? 0 : box.rotationInRadians;
            if (box.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox && HitTestManager.isPointInTexBoxArea(evt.layoutPoint, box, rotationAngle)) {
                const textbox = box;
                if (textbox.internalSubDocId !== selection.activeSubDocument.id && this.selectFloatingObject(box)) {
                    this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToTextBox).execute(this.handler.control.commandManager.isPublicApiCall);
                    this.handler.boxVisualizerManager.resizeBoxVisualizer.show(htr.pageIndex, null, null, null, box);
                    htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, selection.activeSubDocument);
                }
            }
            else {
                if (this.selectFloatingObject(box) && this.resizeRotationChecker(() => {
                    const dragFloatingObjectState = new MouseHandlerDragFloatingObjectState(this.handler, evt);
                    this.handler.switchState(new MouseHandlerBeginDragHelperState(evt.layoutPoint, this.handler, dragFloatingObjectState));
                }))
                    return;
            }
        }
        if (browser.Browser.TouchUI && htr.subDocument.isMain() && htr.exactlyDetailLevel < document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea) {
            if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Top || htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Bottom)
                this.handler.control.viewManager.canvasScrollManager.waitForDblClick();
        }
        if (evt.button === MouseButton.Right && selection.lastSelectedInterval.contains(htr.getPosition()))
            return;
        if (this.shouldSelectEntireTableColumn(htr))
            this.beginSelectEntireTableColumn(htr, evt);
        else if (this.shouldSelectEntireTableRow(htr))
            this.beginSelectEntireTableRow(htr, evt);
        else if (this.shouldBeginDragExistingSelection(htr, evt))
            this.beginDragExistingSelection(evt, true);
        else if (this.shouldSelectEntireTableCell(htr, evt)) {
            if (this.shouldSelectPicture(htr, !!(evt.modifiers & key/* ModifierKey */.tx.Ctrl)))
                this.selectImage(evt, htr);
            else
                this.beginSelectEntireTableCell(htr, evt);
        }
        else if (this.isLeftArea(htr, evt)) {
            if (evt.modifiers & key/* ModifierKey */.tx.Ctrl && selection.isCollapsed())
                this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SelectAll).execute(this.handler.control.commandManager.isPublicApiCall, htr.getPosition());
            else if (this.isLeftAreaOffset(htr, evt))
                this.beginLineSelection(htr, evt);
            else
                this.beginCharacterSelection(evt, htr, !!(evt.modifiers & key/* ModifierKey */.tx.Shift));
        }
        else if (this.shouldSelectPicture(htr, !!(evt.modifiers & key/* ModifierKey */.tx.Ctrl)))
            this.selectImage(evt, htr);
        else if (htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character && evt.modifiers & key/* ModifierKey */.tx.Ctrl)
            this.beginCharacterMultiSelection(htr);
        else if (htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea)
            this.beginCharacterSelection(evt, htr, !!(evt.modifiers & key/* ModifierKey */.tx.Shift));
    }
    onMouseUp(evt) {
        if ((evt.button === MouseButton.Right || evt.button === MouseButton.Left && browser.Browser.MacOSPlatform && (evt.modifiers & key/* ModifierKey */.tx.Ctrl))
            && !evt.middleButtonPressed && evt.layoutPoint) {
            this.handler.control.popupMenuManager.showByMouseClick(evt.absolutePoint);
        }
        if (this.handler.control.modelManager.richOptions.fields.openHyperlinkOnClick || (evt.modifiers & key/* ModifierKey */.tx.Ctrl)) {
            const field = this.handler.getHyperlinkFieldResult(evt);
            if (field) {
                if (!this.handler.control.clientSideEvents.raiseHyperlinkClick(evt.mouseEvent, field))
                    this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.OpenHyperlink)
                        .execute(this.handler.control.commandManager.isPublicApiCall, field);
            }
        }
    }
    static canHandleFullTableSelection(evt) {
        return utils_evt/* EvtUtils */.g.getEventSource(evt.mouseEvent).className.indexOf(renderer_class_names/* RendererClassNames */.A.FULL_TABLE_SELECTOR) > -1;
    }
    shouldSelectEntireTableColumn(htr) {
        if (!htr.row)
            return false;
        if (!htr.row.tableCellInfo)
            return false;
        return !!(htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.TableCell] & rectangle.HitTestDeviation.Top);
    }
    shouldSelectEntireTableRow(htr) {
        if (!htr.row)
            return false;
        if (!htr.row.tableCellInfo)
            return false;
        return !!(htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.TableCell] & rectangle.HitTestDeviation.Left);
    }
    shouldSelectEntireTableCell(htr, evt) {
        if (!htr.row)
            return false;
        if (!htr.row.tableCellInfo)
            return false;
        if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.TableCell])
            return false;
        if (evt.modifiers & key/* ModifierKey */.tx.Shift)
            return false;
        return true;
    }
    beginSelectEntireTableColumn(htr, evt) {
        let shouldAddSelection = evt.modifiers & key/* ModifierKey */.tx.Ctrl;
        let cmd = this.handler.control.commandManager.getCommand(shouldAddSelection ? client_command/* RichEditClientCommand */.f.ExtendSelectTableColumn : client_command/* RichEditClientCommand */.f.SelectTableColumn);
        let table = htr.row.tableCellInfo.parentRow.parentTable.logicInfo.grid.table;
        let cellGridIndex = htr.row.tableCellInfo.cellGridIndex;
        cmd.execute(this.handler.control.commandManager.isPublicApiCall, { table: table, columnIndices: [cellGridIndex] });
        let selectionState = new MouseHandlerContinueSelectionByTableColumnsState(this.handler, htr.row.tableCellInfo.parentRow.parentTable, cellGridIndex, htr.column.x + htr.pageArea.x);
        let dragState = new MouseHandlerBeginDragHelperState(evt.layoutPoint, this.handler, selectionState);
        this.handler.switchState(dragState);
    }
    beginSelectEntireTableRow(htr, evt) {
        let shouldAddSelection = evt.modifiers & key/* ModifierKey */.tx.Ctrl;
        let cmd = this.handler.control.commandManager.getCommand(shouldAddSelection ? client_command/* RichEditClientCommand */.f.ExtendSelectTableRow : client_command/* RichEditClientCommand */.f.SelectTableRow);
        let table = htr.row.tableCellInfo.parentRow.parentTable.logicInfo.grid.table;
        let rowIndex = htr.row.tableCellInfo.parentRow.rowIndex;
        cmd.execute(this.handler.control.commandManager.isPublicApiCall, new select_table_command/* SelectTableRowCommandOptions */.Yx(this.handler.control, table, [rowIndex], true));
        let selectionState = new MouseHandlerContinueSelectionByTableRowsState(this.handler, htr.row.tableCellInfo.parentRow.parentTable, rowIndex);
        let dragState = new MouseHandlerBeginDragHelperState(evt.layoutPoint, this.handler, selectionState);
        this.handler.switchState(dragState);
    }
    beginSelectEntireTableCell(htr, evt) {
        let shouldAddSelection = !!(evt.modifiers & key/* ModifierKey */.tx.Ctrl);
        var position = this.getPosition(htr);
        const selection = this.handler.control.selection;
        selection.changeState((newState) => {
            const interval = new fixed.FixedInterval(position, 0);
            if (shouldAddSelection || (evt.button & MouseButton.Right))
                newState.addInterval(interval);
            else
                newState.setInterval(interval);
            newState.resetKeepX().setEndOfLine(false);
        });
        let rowIndex = htr.row.tableCellInfo.parentRow.rowIndex;
        let gridCellIndex = htr.row.tableCellInfo.cellGridIndex;
        let selectionState = new MouseHandlerContinueSelectionByTableCellsState(this.handler, htr.row.tableCellInfo.parentRow.parentTable, rowIndex, gridCellIndex, this.getPosition(htr));
        let dragState = new MouseHandlerBeginDragHelperState(evt.layoutPoint, this.handler, selectionState);
        this.handler.switchState(dragState);
    }
    beginCharacterMultiSelection(htr) {
        var position = htr.getPosition();
        this.handler.switchState(new MouseHandlerBeginMultiselectionState(this.handler, position));
    }
    isLeftArea(htr, evt) {
        if (!htr)
            return false;
        if (htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page &&
            htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column] & rectangle.HitTestDeviation.Left &&
            (evt.layoutPoint.x <= htr.pageArea.x + htr.column.x))
            return true;
        return false;
    }
    isLeftAreaOffset(htr, evt) {
        if (htr) {
            if (htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page &&
                htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column] & rectangle.HitTestDeviation.Left &&
                evt.layoutPoint.x <= htr.pageArea.x + htr.column.x - MouseHandler.LEFT_AREA_COMMANDS_OFFSET)
                return true;
            if (htr.detailsLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box &&
                htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row &&
                htr.box == htr.row.boxes[0] &&
                htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box] & rectangle.HitTestDeviation.Left &&
                evt.layoutPoint.x <= htr.pageArea.x + htr.column.x + htr.row.x + htr.box.x - MouseHandler.LEFT_AREA_COMMANDS_OFFSET) {
                const h = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, null);
                if (h.floatingObject && h.floatingObject.isInText())
                    return true;
            }
        }
        return false;
    }
    shouldProcessResizeBoxVisualizer(evt) {
        return this.handler.boxVisualizerManager.resizeBoxVisualizer.shouldCapture(evt) &&
            this.handler.control.selection.activeSubDocument.isEditable([new fixed.FixedInterval(this.handler.control.selection.specialRunInfo.getPosition(), 1)]);
    }
    beginResizeBoxMouseHandler(evt) {
        this.handler.switchState(new MouseHandlerResizeBoxState(this.handler));
        this.handler.state.onMouseDown(evt);
    }
    beginRotate(evt) {
        this.handler.switchState(new MouseHandlerRotateBoxState(this.handler));
        this.handler.state.onMouseDown(evt);
    }
    beginCharacterSelection(evt, htr, extendSelection) {
        this.setStartSelection(htr, extendSelection);
        this.handler.switchState(new MouseHandlerBeginDragHelperState(evt.layoutPoint, this.handler, new MouseHandlerContinueSelectionByCharactersState(this.handler)));
    }
    setStartSelection(htr, extendSelection) {
        this.handler.control.inputController.setEditableDocumentContent("");
        var selection = this.handler.control.selection;
        var position = this.getPosition(htr);
        const endOfLine = position === htr.getRelatedSubDocumentPagePosition() + htr.pageArea.pageOffset +
            htr.column.pageAreaOffset + htr.row.getEndPosition();
        selection.changeState((newState) => {
            if (extendSelection)
                newState.extendLastInterval(position);
            else
                newState.setInterval(new fixed.FixedInterval(position, 0));
            newState.resetKeepX().setEndOfLine(endOfLine);
        });
    }
    getPosition(htr) {
        var position = htr.getRelatedSubDocumentPagePosition() + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.columnOffset;
        if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box] & rectangle.HitTestDeviation.Right) {
            var lastVisibleBoxInRow = htr.row.getLastVisibleBox();
            if (lastVisibleBoxInRow)
                position += lastVisibleBoxInRow.getEndPosition();
        }
        else {
            position += htr.box.rowOffset + htr.charOffset;
            if (htr.boxIndex == htr.row.boxes.length - 1 && htr.charOffset == htr.box.getLength() && !htr.box.isVisible())
                position -= 1;
        }
        return position;
    }
    beginLineSelection(htr, evt) {
        var lineStart = htr.getRelatedSubDocumentPagePosition() + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.columnOffset;
        if (evt.modifiers & key/* ModifierKey */.tx.Shift) {
            this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ExtendSelectLineNoUpdateControlState).execute(this.handler.control.commandManager.isPublicApiCall, lineStart);
        }
        else if (evt.modifiers & key/* ModifierKey */.tx.Ctrl)
            this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.AddSelectedLineCommandNoUpdateControlState).execute(this.handler.control.commandManager.isPublicApiCall, lineStart);
        else
            this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.SelectLineNoUpdateControlState).execute(this.handler.control.commandManager.isPublicApiCall, lineStart);
        this.handler.switchState(new MouseHandlerBeginDragHelperState(evt.layoutPoint, this.handler, new MouseHandlerContinueSelectionByLinesState(this.handler)));
    }
    shouldSelectPicture(htr, ctrlPressed) {
        if (htr.exactlyDetailLevel < document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
            return false;
        return htr.box.getType() == layout_box/* LayoutBoxType */.KH.Picture && !ctrlPressed;
    }
    shouldBeginDragExistingSelection(htr, evt) {
        if (!(evt.modifiers & key/* ModifierKey */.tx.Shift) &&
            control/* ControlOptions */.tH.isEnabled(this.handler.control.modelManager.richOptions.control.drag) && !this.handler.control.selection.isCollapsed() &&
            htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box) {
            let position = htr.getPosition();
            return utils_list.ListUtils.unsafeAnyOf(this.handler.control.selection.intervals, (interval) => interval.contains(position));
        }
        return false;
    }
    selectImage(evt, htr) {
        var position = htr.getPosition() - htr.charOffset;
        var selection = this.handler.control.selection;
        selection.deprecatedSetSelection(position, position + 1, false, -1, true);
        if (control/* ControlOptions */.tH.isEnabled(this.handler.control.modelManager.richOptions.control.drag))
            this.beginDragExistingSelection(evt, false);
    }
    beginDragExistingSelection(evt, resetSelectionOnMouseUp) {
        var dragState = new MouseHandlerDragContentState(this.handler);
        var state = new MouseHandlerBeginContentDragHelperState(evt.layoutPoint, this.handler, dragState);
        state.resetSelectionOnMouseUp = resetSelectionOnMouseUp;
        this.handler.switchState(state);
    }
    selectFloatingObject(box) {
        const selection = this.handler.control.selection;
        if (box.belongsToSubDocId !== selection.activeSubDocument.id)
            MouseHandlerHelper.changeActiveSubDocumentToParent(this.handler.control);
        if (box.belongsToSubDocId !== selection.activeSubDocument.id)
            return false;
        const pos = this.handler.control.layout.anchorObjectsPositionInfo.getPosition(box.objectId);
        selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu().setInterval(new fixed.FixedInterval(pos, 1)));
        return selection.specialRunInfo.isSelectedAnchorObject;
    }
}
class MouseHandlerHelper {
    static selectParentsTextBox(control) {
        const textBoxPosition = control.selection.specialRunInfo.getTextBoxPosition();
        if (textBoxPosition > -1) {
            this.changeActiveSubDocumentToParent(control);
            control.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu().setInterval(new fixed.FixedInterval(textBoxPosition, 1)));
        }
    }
    static changeActiveSubDocumentToParent(control) {
        const selection = control.selection;
        const parentActiveSubDocument = selection.specialRunInfo.getParentSubDocument();
        if (!parentActiveSubDocument)
            return;
        if (parentActiveSubDocument.isMain())
            control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain).execute(control.commandManager.isPublicApiCall);
        else
            control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToHeaderFooterByPageIndex)
                .execute(control.commandManager.isPublicApiCall, new change_active_sub_document_command/* ChangeActiveSubDocumentToHeaderFooterByPageIndexCommandParameters */.DX(control, selection.pageIndex, parentActiveSubDocument.isHeader()));
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/mouse-handler/mouse-handler.ts


class MouseHandler extends ManipulatorHandlerBase {
    constructor(control, boxVisualizerManager) {
        super(control, MouseHandlerDefaultState, boxVisualizerManager);
    }
    onMouseDoubleClick(evt) {
        this.state.onMouseDoubleClick(evt);
    }
    onMouseDown(evt) {
        this.state.onMouseDown(evt);
    }
    onMouseUp(evt) {
        this.state.onMouseUp(evt);
    }
    onMouseMove(evt) {
        this.state.onMouseMove(evt);
    }
    onMouseWheel(evt) {
        this.state.onMouseWheel(evt);
    }
    onShortcut(shortcutCode) {
        this.state.onShortcut(shortcutCode);
    }
    setCursorPointer(pointer) {
        this.control.viewManager.canvasManager.setCursorPointer(pointer);
    }
    restoreCursorPointer() {
        this.control.viewManager.canvasManager.setCursorPointer(CursorPointer.Auto);
    }
}
MouseHandler.LEFT_AREA_COMMANDS_OFFSET = 20;
MouseHandler.WAIT_FOR_DBLCLICK_INTERVAL = 300;
var CursorPointer;
(function (CursorPointer) {
    CursorPointer[CursorPointer["Default"] = 0] = "Default";
    CursorPointer[CursorPointer["Move"] = 1] = "Move";
    CursorPointer[CursorPointer["Copy"] = 2] = "Copy";
    CursorPointer[CursorPointer["NoDrop"] = 3] = "NoDrop";
    CursorPointer[CursorPointer["EResize"] = 4] = "EResize";
    CursorPointer[CursorPointer["NResize"] = 5] = "NResize";
    CursorPointer[CursorPointer["SResize"] = 6] = "SResize";
    CursorPointer[CursorPointer["WResize"] = 7] = "WResize";
    CursorPointer[CursorPointer["SEResize"] = 8] = "SEResize";
    CursorPointer[CursorPointer["SWResize"] = 9] = "SWResize";
    CursorPointer[CursorPointer["NWResize"] = 10] = "NWResize";
    CursorPointer[CursorPointer["NEResize"] = 11] = "NEResize";
    CursorPointer[CursorPointer["EWResize"] = 12] = "EWResize";
    CursorPointer[CursorPointer["NSResize"] = 13] = "NSResize";
    CursorPointer[CursorPointer["Auto"] = 14] = "Auto";
})(CursorPointer || (CursorPointer = {}));

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-state-base.ts








class TouchHandlerStateBase extends ManipulatorHandlerStateBase {
    constructor() {
        super(...arguments);
        this.TOUCH_SCROLL_SENSITIVITY_IN_ROWS = 2;
    }
    dispose() {
        super.dispose();
        clearTimeout(this.popupMenuId);
    }
    onTouchStart(_evt) { }
    onDoubleTap(_evt) { }
    onTouchEnd(_evt) { }
    onTouchMove(_evt) { return true; }
    captureInputFocus(_evt) {
        this.handler.control.focusManager.captureFocus();
    }
    showPopupMenu() {
        this.popupMenuId = setTimeout(() => this.handler.control.popupMenuManager.showByTouchClick(), 20);
    }
    setEditableDocumentContent() {
        if (!browser.Browser.IE && !browser.Browser.Edge) {
            var subDocument = this.handler.control.selection.activeSubDocument;
            let position = this.handler.control.selection.lastSelectedInterval.start;
            let startInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(this.handler.control.layout, subDocument, this.handler.control.selection, position);
            let startIntervalLayoutPosition = this.createLayoutPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, startInterval), document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box);
            if (startIntervalLayoutPosition.isLastBoxInRow()) {
                const prevPosition = this.createLayoutPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, position - 1), document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box);
                if (prevPosition.detailsLevel !== document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box || prevPosition.box.getType() !== layout_box/* LayoutBoxType */.KH.PageBreak)
                    startInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(this.handler.control.layout, subDocument, this.handler.control.selection, position - 1);
            }
            let endInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordEndBound(this.handler.control.layout, subDocument, this.handler.control.selection, startInterval, false);
            let textUnderCursor = position >= startInterval && position <= endInterval ? subDocument.getText(new fixed.FixedInterval(startInterval, endInterval - startInterval)) : "";
            this.handler.control.inputController.setEditableDocumentContent(textUnderCursor);
            if (textUnderCursor.length)
                this.handler.control.inputController.setEditableDocumentCursorPosition(position - startInterval);
        }
    }
    setLastLayoutPosition() {
        var subDocument = this.handler.control.selection.activeSubDocument;
        var logPosition = this.handler.control.selection.lastSelectedInterval.start;
        this.lastLayoutPosition = this.createLayoutPosition(new sub_document/* SubDocumentPosition */.rg(subDocument, logPosition), document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, true);
    }
    createLayoutPosition(subDocPos, detailsLevel, useNextBoxBounds = false) {
        const subDocument = subDocPos.subDocument;
        const position = subDocPos.position;
        const endRowConflictFlags = new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.handler.control.selection.endOfLine);
        const middleRowConflictFlags = new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(useNextBoxBounds);
        return (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.handler.control.layout, subDocument, position, detailsLevel)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.handler.control.layout, subDocument, position, this.handler.control.selection.pageIndex, detailsLevel)).create(endRowConflictFlags, middleRowConflictFlags);
    }
}
class TouchHandlerBeginDragHelperState extends TouchHandlerStateBase {
    constructor(handler, dragState) {
        super(handler);
        this.dragState = dragState;
    }
    start() {
        var _a;
        (_a = this.handler.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.beginUpdate();
        this.handler.control.horizontalRulerControl.beginUpdate();
    }
    finish() {
        var _a;
        (_a = this.handler.control.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.endUpdate();
        this.handler.control.horizontalRulerControl.endUpdate();
        this.handler.control.barHolder.updateItemsState();
        this.handler.control.horizontalRulerControl.update();
    }
    onTouchMove(evt) {
        this.handler.switchState(this.dragState);
        this.dragState.onTouchMove(evt);
        return false;
    }
    onTouchEnd(evt) {
        this.handler.switchToDefaultState();
        this.handler.onTouchEnd(evt);
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-drag-floating-object-state.ts


class TouchHandlerDragFloatingObjectState extends TouchHandlerStateBase {
    onTouchStart(evt) {
        this.dragFloatingObjectsHelper = new DragFloatingObjectsHelper(this.handler.control, this.handler.boxVisualizerManager.resizeBoxVisualizer);
        this.dragFloatingObjectsHelper.start(evt);
    }
    onTouchMove(evt) {
        this.dragFloatingObjectsHelper.move(evt);
        return false;
    }
    onTouchEnd(evt) {
        this.dragFloatingObjectsHelper.end(evt);
        this.handler.switchToDefaultState();
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-selection-states.ts







class TouchHandlerSelectionStateBase extends TouchHandlerStateBase {
    onTouchEnd(evt) {
        this.handler.switchToDefaultState();
        this.setLastLayoutPosition();
        this.captureInputFocus(evt);
        this.showPopupMenu();
    }
}
class TouchHandlerChangeActiveSubDocument extends TouchHandlerStateBase {
    constructor(handler, point) {
        super(handler);
        let htr = this.handler.control.hitTestManager.calculate(point, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        let activeSubDocument = this.handler.control.selection.activeSubDocument;
        if (activeSubDocument.isMain()) {
            if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Top) {
                this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertHeader).execute(this.handler.control.commandManager.isPublicApiCall, htr.pageIndex);
                return;
            }
            else if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Bottom) {
                this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertFooter).execute(this.handler.control.commandManager.isPublicApiCall, htr.pageIndex);
                return;
            }
        }
        else if (this.shouldActivateMainArea(activeSubDocument, htr)) {
            this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain).execute(this.handler.control.commandManager.isPublicApiCall);
        }
        this.handler.switchToDefaultState();
    }
    shouldActivateMainArea(activeSubDocument, htr) {
        return (activeSubDocument.isHeader() && !!(htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Bottom)) ||
            (activeSubDocument.isFooter() && !!(htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea] & rectangle.HitTestDeviation.Top));
    }
    onTouchStart(evt) {
        this.handler.switchToDefaultState();
        this.handler.state.onTouchStart(evt);
    }
    onDoubleTap(evt) {
        let htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        let activeSubDocument = this.handler.control.selection.activeSubDocument;
        if (this.shouldActivateMainArea(activeSubDocument, htr)) {
            this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToMain).execute(this.handler.control.commandManager.isPublicApiCall);
        }
        this.handler.switchToDefaultState();
    }
}
class TouchHandlerSelectWordUnderCursorState extends TouchHandlerSelectionStateBase {
    constructor(handler, evt) {
        super(handler);
        this.selectWordUnderCursor(evt);
    }
    onTouchStart(evt) {
        this.selectWordUnderCursor(evt);
    }
    onTouchMove(evt) {
        this.selectWordUnderCursor(evt);
        return false;
    }
    selectWordUnderCursor(evt) {
        const activeSubDocument = this.handler.control.selection.activeSubDocument;
        var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None) {
            var position = htr.getRelatedSubDocumentPagePosition() + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.columnOffset + htr.box.rowOffset + htr.charOffset;
            const startInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(this.handler.control.layout, activeSubDocument, this.handler.control.selection, position);
            const endInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordEndBound(this.handler.control.layout, activeSubDocument, this.handler.control.selection, position, false);
            if (endInterval > startInterval)
                this.handler.control.selection.deprecatedSetSelection(startInterval, endInterval, false, -1, true);
        }
    }
}
class TouchHandlerContinueSelectionStateBase extends TouchHandlerSelectionStateBase {
    constructor(handler) {
        super(handler);
    }
    onTouchMove(evt) {
        this.setTouchBarsVisibility(false);
        evt.layoutPoint.y -= TouchHandlerDefaultState.TOUCH_RADIUS_HANDLE;
        var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            this.extendSelection(htr);
        return false;
    }
    setTouchBarsVisibility(visible) {
        this.handler.control.viewManager.selection.touchSelectionCircleElementsManager.setVisibilityTouchBars(visible);
    }
    onTouchEnd(evt) {
        this.handler.control.popupMenuManager.rejectNextShowContextMenu();
        super.onTouchEnd(evt);
        this.setTouchBarsVisibility(true);
        this.setEditableDocumentContent();
    }
    extendSelection(_htr) {
    }
}
class TouchHandlerContinueSelectionState extends TouchHandlerContinueSelectionStateBase {
    onTouchMove(evt) {
        this.handler.control.viewManager.selection.touchSelectionCircleElementsManager.setVisibilityTouchBars(false);
        evt.layoutPoint.y -= TouchHandlerDefaultState.TOUCH_RADIUS_HANDLE;
        var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None) {
            if (!this.startPosition) {
                this.setLastLayoutPosition();
                this.startPosition = this.lastLayoutPosition;
            }
            this.extendSelection(htr);
        }
        return false;
    }
    onTouchEnd(evt) {
        this.captureInputFocus(evt);
        this.setLastLayoutPosition();
        if (!this.startPosition)
            this.startPosition = this.lastLayoutPosition;
        if (this.startPosition.equals(this.lastLayoutPosition))
            this.showPopupMenu();
        this.handler.switchToDefaultState();
        this.handler.control.viewManager.selection.touchSelectionCircleElementsManager.setVisibilityTouchBars(true);
        this.setEditableDocumentContent();
    }
    extendSelection(htr) {
        let position = this.getLayoutPosition(htr);
        let endOfLine = position === (htr.pageArea.subDocument.isMain() ? htr.page.getPosition() : 0)
            + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.getEndPosition();
        this.handler.control.selection.deprecatedSetSelection(position, position, endOfLine, -1, false);
    }
    getLayoutPosition(htr) {
        var position = (htr.pageArea.subDocument.isMain() ? htr.page.getPosition() : 0) + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.columnOffset;
        if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row] & rectangle.HitTestDeviation.Right) {
            var lastVisibleBoxInRow = htr.row.getLastVisibleBox();
            if (lastVisibleBoxInRow)
                position += lastVisibleBoxInRow.getEndPosition();
        }
        else {
            position += htr.box.rowOffset + htr.charOffset;
            if (htr.boxIndex == htr.row.boxes.length - 1 && htr.charOffset == htr.box.getLength() && !htr.box.isVisible())
                position -= 1;
        }
        return position;
    }
}
class TouchHandlerContinueSelectionOnOneSideState extends TouchHandlerContinueSelectionStateBase {
    constructor(handler, isDragLeftEdge = true) {
        super(handler);
        this.isDragLeftEdge = false;
        this.isDragLeftEdge = isDragLeftEdge;
    }
    extendSelection(htr) {
        this.extendLastSelectionOnOneSide(Math.min(htr.getPosition(), htr.subDocument.getDocumentEndPosition() - 1), this.isDragLeftEdge);
    }
    extendLastSelectionOnOneSide(end, isDragLeftEdge) {
        const selection = this.handler.control.selection;
        const lastInterval = selection.intervalsInfo.interval;
        let newInterval = null;
        const forwardDirection = end >= selection.anchorPosition;
        if (isDragLeftEdge) {
            if (end < lastInterval.end)
                newInterval = new fixed.FixedInterval(end, lastInterval.length - (end - lastInterval.start));
        }
        else {
            if ((end - lastInterval.start) >= 1)
                newInterval = new fixed.FixedInterval(lastInterval.start, end - lastInterval.start);
        }
        if (newInterval && (selection.endOfLine != false || !lastInterval.equals(newInterval)))
            selection.changeState((newState) => newState.setInterval(newInterval).setForwardDirection(forwardDirection).setEndOfLine(false));
    }
    setTouchBarsVisibility(visible) {
        if (this.isDragLeftEdge)
            this.handler.control.viewManager.selection.touchSelectionCircleElementsManager.setFirstTouchBarVisibility(visible);
        else
            this.handler.control.viewManager.selection.touchSelectionCircleElementsManager.setSecondTouchBarVisibility(visible);
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-drag-content-states.ts





class TouchHandlerDragContentState extends TouchHandlerStateBase {
    constructor(handler) {
        super(handler);
    }
    finish() {
        this.handler.boxVisualizerManager.dragCaretVisualizer.hide();
    }
    onTouchMove(evt) {
        this.continueDrag(evt);
        return false;
    }
    onTouchEnd(evt) {
        this.commitDrag(evt);
        this.handler.switchToDefaultState();
    }
    continueDrag(evt) {
        var htr = this.calculateHitTest(evt);
        if (htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            this.handler.boxVisualizerManager.dragCaretVisualizer.show(htr);
    }
    commitDrag(evt) {
        var htr = this.calculateHitTest(evt);
        if (htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character) {
            var subDocument = this.handler.control.selection.activeSubDocument;
            var interval = new fixed.FixedInterval(htr.getPosition(), 0);
            fields_field/* Field */.gN.correctIntervalDueToFields(subDocument, interval);
            var commandId = client_command/* RichEditClientCommand */.f.DragMoveContent;
            this.handler.control.commandManager.getCommand(commandId).execute(this.handler.control.commandManager.isPublicApiCall, interval.start);
        }
    }
    calculateHitTest(evt) {
        const htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            htr.correctAsVisibleBox();
        return htr;
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-waiting-states.ts







class TouchHandlerWaitingStateBase extends TouchHandlerStateBase {
    constructor(handler, interval, action) {
        super(handler);
        this.action = action;
        this.timerID = setTimeout(() => {
            this.timerID = -1;
            this.action();
        }, interval);
    }
    dispose() {
        super.dispose();
        clearTimeout(this.timerID);
    }
    onTouchEnd(_evt) {
        this.finish();
    }
    onTouchMove(_evt) {
        this.finish();
        this.handler.switchToDefaultState();
        return true;
    }
    finish() {
        if (this.timerID != -1)
            clearTimeout(this.timerID);
    }
    handleTap(evt) {
        var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None && this.shouldSelectPicture(htr))
            this.selectImage(htr);
        else if (htr.exactlyDetailLevel > document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None) {
            this.setLastLayoutPosition();
            var position = this.getLayoutPosition(htr);
            if (this.shouldChangeSelection(position)) {
                var endOfLine = position === (htr.pageArea.subDocument.isMain() ? htr.page.getPosition() : 0)
                    + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.getEndPosition();
                this.handler.control.selection.deprecatedSetSelection(position, position, endOfLine, -1, true);
            }
            this.setEditableDocumentContent();
            this.captureInputFocus(evt);
            this.handler.control.viewManager.selection.touchSelectionCircleElementsManager.setVisibilityTouchBars(true);
        }
    }
    getLayoutPosition(htr) {
        var position = (htr.pageArea.subDocument.isMain() ? htr.page.getPosition() : 0) + htr.pageArea.pageOffset + htr.column.pageAreaOffset + htr.row.columnOffset;
        if (htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row] & rectangle.HitTestDeviation.Right) {
            var lastVisibleBoxInRow = htr.row.getLastVisibleBox();
            if (lastVisibleBoxInRow)
                position += lastVisibleBoxInRow.getEndPosition();
        }
        else {
            position += htr.box.rowOffset + htr.charOffset;
            if (htr.boxIndex == htr.row.boxes.length - 1 && htr.charOffset == htr.box.getLength() && !htr.box.isVisible())
                position -= 1;
        }
        return position;
    }
    shouldChangeSelection(_position) {
        return true;
    }
    shouldSelectPicture(htr) {
        if (htr.exactlyDetailLevel < document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
            return false;
        return htr.box instanceof layout_picture_box/* LayoutPictureBox */.B;
    }
    selectImage(htr) {
        var position = htr.getPosition() - htr.charOffset;
        var selection = this.handler.control.selection;
        selection.deprecatedSetSelection(position, position + 1, false, -1, true);
        this.handler.control.viewManager.selection.touchSelectionCircleElementsManager.setVisibilityTouchBars(false);
    }
    beginDragExistingSelection() {
        var dragState = new TouchHandlerDragContentState(this.handler);
        var state = new TouchHandlerBeginDragHelperState(this.handler, dragState);
        this.handler.switchState(state);
    }
}
class TouchHandlerBeginTapProcessingState extends TouchHandlerWaitingStateBase {
    constructor(handler, evt) {
        super(handler, 500, () => {
            if (this.handler.boxVisualizerManager.resizeBoxVisualizer.isResizeBoxVisible())
                this.beginDragExistingSelection();
            else
                handler.switchState(new TouchHandlerBeginWaitForLongTapState(handler, evt));
        });
    }
    onTouchStart(evt) {
        this.finish();
        this.handler.switchState(new TouchHandlerSelectWordUnderCursorState(this.handler, evt));
    }
    onTouchEnd(evt) {
        this.handleTap(evt);
        this.finish();
        this.handler.switchToDefaultState();
    }
}
class TouchHandlerBeginWaitForLongTapState extends TouchHandlerWaitingStateBase {
    constructor(handler, evt) {
        super(handler, 100, () => {
            this.handleTap(evt);
            this.showPopupMenu();
            this.finish();
            this.handler.switchToDefaultState();
        });
    }
    shouldChangeSelection(position) {
        return !utils_list.ListUtils.anyOf(this.handler.control.selection.intervals, (currVal, _index) => {
            return currVal.contains(position);
        });
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-popup-menu-state.ts






class TouchHandlerPopupMenuState extends TouchHandlerStateBase {
    onTouchStart(evt) {
        let leftOrRightEdge = false;
        for (let i = 0, interval; interval = this.handler.control.selection.intervals[i]; i++) {
            if (this.isLeftOrRightEdge(evt.layoutPoint, interval)) {
                leftOrRightEdge = true;
                break;
            }
        }
        if (!leftOrRightEdge || !this.handler.control.focusManager.isInFocus)
            this.handler.switchState(this.getNextState(evt));
    }
    onTouchMove(evt) {
        this.handler.switchState(this.getNextState(evt));
        return false;
    }
    onTouchEnd(_evt) {
        this.showPopupMenu();
        this.handler.switchToDefaultState();
    }
    getNextState(evt) {
        var lpStart = this.getLayoutPosition(this.handler.control.selection.intervals[0].start);
        if (this.canExtendSelection(evt.layoutPoint, lpStart))
            return new TouchHandlerContinueSelectionState(this.handler);
        for (let i = 0, interval; interval = this.handler.control.selection.intervals[i]; i++) {
            if (this.canExtendSelectionOnOneSide(evt.layoutPoint, interval))
                return new TouchHandlerContinueSelectionOnOneSideState(this.handler, this.isHitPoints(evt.layoutPoint, lpStart.getPositionRelativePage(this.handler.control.measurer), lpStart.row.height));
        }
        return new TouchHandlerBeginTapProcessingState(this.handler, evt);
    }
    canExtendSelection(mousePoint, lpStart) {
        return this.handler.control.selection.isCollapsed() &&
            this.isHitPoints(mousePoint, lpStart.getPositionRelativePage(this.handler.control.measurer), lpStart.row.height);
    }
    canExtendSelectionOnOneSide(mousePoint, selectionInterval) {
        return this.isLeftOrRightEdge(mousePoint, selectionInterval);
    }
    getLayoutPosition(logPosition) {
        var subDocument = this.handler.control.selection.activeSubDocument;
        return subDocument.isMain()
            ? layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG.ensureLayoutPosition(this.handler.control.layoutFormatterManager, subDocument, logPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character, new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.handler.control.selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false))
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.handler.control.layout, subDocument, logPosition, this.handler.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.handler.control.selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
    }
    isLeftOrRightEdge(mousePoint, selectionInterval) {
        var lpStart = this.getLayoutPosition(selectionInterval.start);
        var lpEnd = this.getLayoutPosition(selectionInterval.end);
        return this.isHitPoints(mousePoint, lpStart.getPositionRelativePage(this.handler.control.measurer), lpStart.row.height) ||
            this.isHitPoints(mousePoint, lpEnd.getPositionRelativePage(this.handler.control.measurer), lpEnd.row.height);
    }
    isHitPoints(mousePoint, selectionPoint, height) {
        var hitX = Math.abs(mousePoint.x - selectionPoint.x) < TouchHandlerDefaultState.TOUCH_RADIUS_HANDLE;
        var hitY = false;
        if (mousePoint.y < selectionPoint.y)
            hitY = Math.abs(mousePoint.y - selectionPoint.y) < TouchHandlerDefaultState.TOUCH_RADIUS_HANDLE;
        else
            hitY = (mousePoint.y - selectionPoint.y) < (TouchHandlerDefaultState.TOUCH_RADIUS_HANDLE + height);
        return hitX && hitY;
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-resize-box-state.ts


class TouchHandlerResizeBoxState extends TouchHandlerStateBase {
    start() {
        this.resizeBoxHelper = new ResizeBoxHelper(this.handler.control, this.handler.boxVisualizerManager.resizeBoxVisualizer);
    }
    onTouchStart(evt) {
        this.resizeBoxHelper.start(evt);
    }
    onTouchMove(evt) {
        this.resizeBoxHelper.move(evt);
        return false;
    }
    onTouchEnd(evt) {
        this.resizeBoxHelper.end(evt);
        this.handler.switchToDefaultState();
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-rotate-box-state.ts


class TouchHandlerRotateBoxState extends TouchHandlerStateBase {
    onTouchStart(evt) {
        this.rotateBoxHelper = new RotateBoxHelper(this.handler.control, this.handler.boxVisualizerManager.resizeBoxVisualizer);
        this.rotateBoxHelper.start(evt);
    }
    onTouchMove(evt) {
        this.rotateBoxHelper.move(evt);
        return false;
    }
    onTouchEnd(evt) {
        this.rotateBoxHelper.end(evt);
        this.handler.switchToDefaultState();
    }
}

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler-default-state.ts















class TouchHandlerDefaultState extends TouchHandlerStateBase {
    onTouchStart(evt) {
        let activeSubDocument = this.handler.control.selection.activeSubDocument;
        if (this.shouldProcessResizeBoxVisualizer(evt)) {
            if (this.resizeRotationChecker(() => {
                if (activeSubDocument.isTextBox())
                    MouseHandlerHelper.selectParentsTextBox(this.handler.control);
                this.beginResizeBoxTouchHandler(evt);
            }))
                return;
        }
        if (ResizeBoxVisualizer.shouldRotate(evt, this.handler.control)) {
            if (this.resizeRotationChecker(() => {
                if (activeSubDocument.isTextBox())
                    MouseHandlerHelper.selectParentsTextBox(this.handler.control);
                this.handler.switchState(new TouchHandlerRotateBoxState(this.handler));
                this.handler.state.onTouchStart(evt);
            }))
                return;
        }
        var htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, activeSubDocument);
        if (htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.None)
            return;
        if (!ResizeBoxVisualizer.shouldHandleTextBoxAreaClick(evt) && activeSubDocument.isTextBox()) {
            MouseHandlerHelper.changeActiveSubDocumentToParent(this.handler.control);
            htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        }
        if (htr.floatingObject && htr.floatingObject.belongsToSubDocId == this.handler.control.selection.activeSubDocument.id) {
            const box = htr.floatingObject;
            const pos = this.handler.control.layout.anchorObjectsPositionInfo.getPosition(box.objectId);
            const newInterval = new fixed.FixedInterval(pos, 1);
            const isObjectAlreadySelected = this.handler.control.selection.intervals.length == 1 && this.handler.control.selection.intervals[0].equals(newInterval);
            this.handler.control.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu().setInterval(newInterval));
            if (box.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox &&
                HitTestManager.isPointInTexBoxArea(evt.layoutPoint, box, activeSubDocument.isTextBox() ? 0 : box.rotationInRadians)) {
                this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ChangeActiveSubDocumentToTextBox)
                    .execute(this.handler.control.commandManager.isPublicApiCall);
                this.handler.boxVisualizerManager.resizeBoxVisualizer.show(htr.pageIndex, null, null, null, box);
                htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
            }
            else {
                if (this.resizeRotationChecker(() => {
                    if (isObjectAlreadySelected) {
                        this.handler.switchState(new TouchHandlerDragFloatingObjectState(this.handler));
                        this.handler.state.onTouchStart(evt);
                    }
                }))
                    return;
                else {
                    const specRunInfo = this.handler.control.selection.specialRunInfo;
                    if (specRunInfo.isPictureSelected() && specRunInfo.isSelectedAnchorObject) {
                        this.handler.control.selection.setSelection(new set_selection_params/* SetSelectionParams */.Qu()
                            .setInterval(new fixed.FixedInterval(specRunInfo.getPicturePosition(), 1)));
                        return;
                    }
                }
            }
        }
        if (!this.handler.control.selection.isCollapsed() && (this.isAreaToLeftOfText(htr, evt) || this.isAreaToRightOfText(htr, evt)))
            this.collapseSelection(htr);
        else {
            if (this.handler.control.modelManager.richOptions.fields.openHyperlinkOnClick) {
                const field = this.handler.getHyperlinkFieldResult(evt);
                if (field) {
                    if (!this.handler.control.clientSideEvents.raiseHyperlinkClick(evt.mouseEvent, field))
                        this.handler.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.OpenHyperlink).execute(this.handler.control.commandManager.isPublicApiCall, field);
                    return;
                }
            }
            this.handler.switchState(new TouchHandlerPopupMenuState(this.handler));
            this.handler.state.onTouchStart(evt);
        }
    }
    onTouchMove(_evt) {
        return true;
    }
    onDoubleTap(evt) {
        let htr = this.handler.control.hitTestManager.calculate(evt.layoutPoint, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Max, this.handler.control.selection.activeSubDocument);
        if (htr.exactlyDetailLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box) {
            this.handler.switchState(new TouchHandlerSelectWordUnderCursorState(this.handler, evt));
            this.handler.control.popupMenuManager.rejectNextShowContextMenu();
        }
        else
            this.handler.switchState(new TouchHandlerChangeActiveSubDocument(this.handler, evt.layoutPoint));
    }
    shouldProcessResizeBoxVisualizer(evt) {
        if (this.handler.boxVisualizerManager.resizeBoxVisualizer.shouldCapture(evt) &&
            this.handler.control.selection.activeSubDocument.isEditable([new fixed.FixedInterval(this.handler.control.selection.specialRunInfo.getPosition(), 1)])) {
            this.beginResizeBoxTouchHandler(evt);
            return true;
        }
        return false;
    }
    beginResizeBoxTouchHandler(evt) {
        this.handler.switchState(new TouchHandlerResizeBoxState(this.handler));
        this.handler.state.onTouchStart(evt);
    }
    isAreaToLeftOfText(htr, evt) {
        return htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea &&
            htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column] & rectangle.HitTestDeviation.Left &&
            evt.layoutPoint.x <= htr.pageArea.x + htr.column.x;
    }
    isAreaToRightOfText(htr, evt) {
        return htr.exactlyDetailLevel == document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea &&
            htr.deviations[document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column] & rectangle.HitTestDeviation.Right &&
            evt.layoutPoint.x >= htr.pageArea.x + htr.column.x + htr.column.width;
    }
    collapseSelection(htr) {
        var selection = this.handler.control.selection;
        var position = htr.row.getLastVisibleBox().getEndPosition();
        selection.deprecatedSetSelection(position, position, false, -1, true);
    }
}
TouchHandlerDefaultState.TOUCH_RADIUS_HANDLE = 20;

;// CONCATENATED MODULE: ./src/common/mouse-handler/touch-handler/touch-handler.ts


class TouchHandler extends ManipulatorHandlerBase {
    constructor(control, boxVisualizerManager) {
        super(control, TouchHandlerDefaultState, boxVisualizerManager);
    }
    onTouchStart(evt) {
        this.state.onTouchStart(evt);
    }
    onDoubleTap(evt) {
        this.state.onDoubleTap(evt);
    }
    onTouchEnd(evt) {
        this.state.onTouchEnd(evt);
    }
    onTouchMove(evt) {
        return this.state.onTouchMove(evt);
    }
    onGestureStart(_evt) {
        this.switchToDefaultState();
    }
}

;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/canvas-logger/log-obj-to-str-canvas.ts






class LogObjToStrCanvas {
    static richMouseEvent(evt) {
        const result = [];
        result.push(`absPoint: ${log_obj_to_str/* LogObjToStr */.I.point(evt.absolutePoint)}`);
        result.push(`scroll: ${log_obj_to_str/* LogObjToStr */.I.point(evt.scroll)}`);
        result.push(`layoutPoint: ${LogObjToStrLayout.layoutPoint(evt.layoutPoint)}`);
        result.push(`modifiers: ${log/* Log */.Z.mask(key/* ModifierKey */.tx, evt.modifiers, key/* ModifierKey */.tx.None)}`);
        result.push(`button: ${log/* Log */.Z.mask(MouseButton, evt.button, MouseButton.None)}`);
        result.push(`middleButtonPressed: ${evt.middleButtonPressed}`);
        result.push(`mouseEvent: ${evt.mouseEvent}`);
        result.push(`source: ${MouseEventSource[evt.source]}`);
        return result.join("\n");
    }
}

;// CONCATENATED MODULE: ./src/common/rich-utils/layout/rich-layout-utils.ts








class RichLayoutUtils {
    static modifyTextUnderCursor(control, text) {
        const subDocument = control.selection.activeSubDocument;
        let position = control.selection.lastSelectedInterval.start;
        let startInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(control.layout, subDocument, control.selection, position);
        let startIntervalLayoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(control.layout, subDocument, startInterval, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(control.layout, subDocument, startInterval, control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(control.selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (startIntervalLayoutPosition.isLastBoxInRow())
            startInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordStartBound(control.layout, subDocument, control.selection, position - 1);
        let endInterval = layout_word_bounds/* LayoutWordBounds */.aV.getLayoutWordEndBound(control.layout, subDocument, control.selection, startInterval, false);
        let intervalForModify = new fixed.FixedInterval(startInterval, endInterval - startInterval);
        const charBundle = control.inputPosition.charPropsBundle;
        control.modelManager.history.beginTransaction();
        control.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, intervalForModify), true, false);
        const result = control.modelManager.modelManipulator.text.insertTextViaHistory(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(subDocument, intervalForModify.start), charBundle, run_type/* RunType */.m.TextRun, text));
        control.modelManager.history.addAndRedo(new selection_history_item/* SelectionHistoryItem */.n(control.modelManager.modelManipulator, control.selection, control.selection.getState(), control.selection.getState().setPosition(result.insertedInterval.end)));
        control.modelManager.history.endTransaction();
    }
}

;// CONCATENATED MODULE: ./src/common/event-manager.ts


























var MouseButton;
(function (MouseButton) {
    MouseButton[MouseButton["None"] = 0] = "None";
    MouseButton[MouseButton["Left"] = 1] = "Left";
    MouseButton[MouseButton["Right"] = 2] = "Right";
    MouseButton[MouseButton["Middle"] = 4] = "Middle";
})(MouseButton || (MouseButton = {}));
class EventManager {
    set mouseWheelEvent(val) {
        this.mouseHandler.mouseWheelEvent = val;
        this.touchHandler.mouseWheelEvent = val;
    }
    constructor(control, boxVisualizerManager) {
        this.moveLocked = false;
        this.shouldPreventContextMenuEvent = true;
        this.accumulatedText = "";
        this.accumulatedTextInsertId = null;
        this.accumulatedTextMaxLength = browser.Browser.Chrome ? 3 : 9;
        this.control = control;
        this.mouseHandler = new MouseHandler(control, boxVisualizerManager);
        this.touchHandler = new TouchHandler(control, boxVisualizerManager);
        this.inputTypeHandlers = this.createInputTypeHandlers();
    }
    dispose() {
        clearTimeout(this.accumulatedTextInsertId);
        clearTimeout(this.lockMouseMoveTimerId);
        clearTimeout(this.onMouseUpTimerId);
    }
    onShortcut(shortcutCode) {
        if (this.accumulatedText.length)
            this.insertFunc();
        this.control.shortcutManager.processShortcut(shortcutCode);
        this.mouseHandler.onShortcut(shortcutCode);
        if (utils_enum/* EnumUtils */.Y.isAnyOf(shortcutCode, key/* KeyCode */.VD.Enter, key/* KeyCode */.VD.Tab, key/* KeyCode */.VD.Space) && this.control.selection.lastSelectedInterval.start > 0)
            this.control.autoCorrectService.performAutoCorrect();
    }
    onMouseDown(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onMouseDown", LogObjToStrCanvas.richMouseEvent(evt));
        if (!this.control.clientSideEvents.raisePointerDown(evt.mouseEvent)) {
            this.lockMouseMove();
            this.mouseHandler.onMouseDown(evt);
        }
    }
    onMouseMove(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onMouseMove", LogObjToStrCanvas.richMouseEvent(evt));
        if (this.moveLocked)
            return;
        this.mouseHandler.onMouseMove(evt);
    }
    onMouseUp(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onMouseUp", LogObjToStrCanvas.richMouseEvent(evt));
        let handled = false;
        if (evt.layoutPoint)
            handled = this.control.clientSideEvents.raisePointerUp(evt.mouseEvent);
        if (!handled) {
            this.lockMouseMove();
            this.mouseHandler.onMouseUp(evt);
            if (evt.layoutPoint) {
                if (browser.Browser.TouchUI)
                    this.control.inputController.setPosition(evt.absolutePoint.x + 2, evt.absolutePoint.y + 2);
                this.onMouseUpTimerId = setTimeout(() => this.control.focusManager.captureFocus(), 0);
            }
        }
    }
    onTouchStart(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onTouchStart", LogObjToStrCanvas.richMouseEvent(evt));
        if (!this.control.clientSideEvents.raisePointerDown(evt.mouseEvent))
            this.touchHandler.onTouchStart(evt);
    }
    onTouchEnd(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onTouchEnd", LogObjToStrCanvas.richMouseEvent(evt));
        let handled = false;
        if (evt.layoutPoint)
            handled = this.control.clientSideEvents.raisePointerUp(evt.mouseEvent);
        if (!handled)
            this.touchHandler.onTouchEnd(evt);
    }
    onTouchMove(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onTouchMove", LogObjToStrCanvas.richMouseEvent(evt));
        return this.touchHandler.onTouchMove(evt);
    }
    onDoubleTap(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onDoubleTap", LogObjToStrCanvas.richMouseEvent(evt));
        this.touchHandler.onDoubleTap(evt);
    }
    onGestureStart(evt) {
        this.touchHandler.onGestureStart(evt);
    }
    onMouseDblClick(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onMouseDoubleClick", LogObjToStrCanvas.richMouseEvent(evt));
        this.mouseHandler.onMouseDoubleClick(evt);
        this.control.inputController.setPosition(evt.absolutePoint.x, evt.absolutePoint.y);
    }
    onMouseWheel(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.EventManager, "onMouseWheel", LogObjToStrCanvas.richMouseEvent(evt));
        this.mouseHandler.onMouseWheel(evt);
    }
    onText(text, isUpdated) {
        if (isUpdated)
            this.modifyLastInsertedSymbol(text);
        else {
            if (this.control.commandManager.clipboardTimerId === null) {
                this.accumulatedText += text;
                if (this.accumulatedTextInsertId) {
                    clearTimeout(this.accumulatedTextInsertId);
                    this.accumulatedTextInsertId = null;
                }
                if (this.accumulatedText.length > this.accumulatedTextMaxLength)
                    this.insertFunc();
                else
                    this.accumulatedTextInsertId = setTimeout(() => this.insertFunc.apply(this), 1);
            }
        }
    }
    onTextReplace(text, length) {
        if (length != undefined)
            this.modifyLastText(text, length);
        else
            RichLayoutUtils.modifyTextUnderCursor(this.control, text);
    }
    modifyLastText(text, length) {
        if (length === 0) {
            if (!string.StringUtils.isNullOrEmpty(text)) {
                this.control.beginUpdate();
                this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertText).execute(this.control.commandManager.isPublicApiCall, new command_base/* CommandSimpleOptions */.LF(this.control, text));
                this.control.endUpdate();
            }
            return true;
        }
        let endInterval = this.control.selection.lastSelectedInterval.start;
        let startInterval = endInterval - length;
        let intervalForModify = new fixed.FixedInterval(startInterval, endInterval - startInterval);
        const insertTextHistoryItem = this.control.modelManager.modelManipulator.text.getLastModifiableHistoryItem((hi) => hi instanceof insert_text_history_item/* InsertTextHistoryItem */.U);
        if (!insertTextHistoryItem)
            return false;
        if (!string.StringUtils.isNullOrEmpty(text)) {
            const setSelectionHistoryItem = this.control.modelManager.modelManipulator.text.getLastModifiableHistoryItem((hi) => hi instanceof selection_history_item/* SelectionHistoryItem */.n);
            this.control.modelManager.modelManipulator.range.removeIntervalWithoutHistory(insertTextHistoryItem.params.subDocPos.subDocument, intervalForModify, false);
            this.control.modelManager.modelManipulator.text.insertTextInner(new insert_text_manipulator_params/* InsertTextManipulatorParams */.N(new sub_document/* SubDocumentPosition */.rg(insertTextHistoryItem.params.subDocPos.subDocument, intervalForModify.start), insertTextHistoryItem.params.charPropsBundle, run_type/* RunType */.m.TextRun, text));
            setSelectionHistoryItem.newState.intervalsInfo.intervals[0].start = startInterval + text.length;
            insertTextHistoryItem.params.text = text;
            var newPositionSelection = setSelectionHistoryItem.newState.intervalsInfo.intervals[0].start;
            this.control.selection.changeState((newState) => newState.setPosition(newPositionSelection));
            this.control.commandManager.lastTextInsertDate = new Date(0);
        }
        else
            this.control.modelManager.modelManipulator.range.removeIntervalInner(insertTextHistoryItem.params.subDocPos.subDocument, intervalForModify, false);
        return true;
    }
    modifyLastInsertedSymbol(symbol) {
        if (symbol.length !== 1)
            throw new Error(errors/* Errors */.D.InternalException);
        const insertTextHistoryInfo = this.control.modelManager.modelManipulator.text.getLastModifiableHistoryItem((hi) => hi instanceof insert_text_history_item/* InsertTextHistoryItem */.U);
        if (!insertTextHistoryInfo)
            throw new Error(errors/* Errors */.D.InternalException);
        const textLength = insertTextHistoryInfo.params.text.length;
        insertTextHistoryInfo.params.text = insertTextHistoryInfo.params.text.substr(0, textLength - 1) + symbol;
        this.updateSymbol(insertTextHistoryInfo.params.subDocPos.subDocument, insertTextHistoryInfo.params.subDocPos.position + textLength - 1, symbol);
    }
    updateSymbol(subDocument, position, symbol) {
        const state = new history_item_state/* HistoryItemIntervalState */.D();
        const chunkIndex = search.SearchUtils.normedInterpolationIndexOf(subDocument.chunks, c => c.startLogPosition.value, position);
        const chunk = subDocument.chunks[chunkIndex];
        const chunkRelativePosition = position - chunk.startLogPosition.value;
        const oldSymbol = chunk.textBuffer.substr(chunkRelativePosition, 1);
        state.register(new history_item_state_object/* HistoryItemTextBufferStateObject */.uL(position, symbol));
        chunk.textBuffer = chunk.textBuffer.substr(0, chunkRelativePosition) + symbol + chunk.textBuffer.substr(chunkRelativePosition + 1);
        this.control.modelManager.modelManipulator.notifyModelChanged(new text_buffer_changed/* TextBufferChangedSubDocumentChange */.R(subDocument.id, state));
        return oldSymbol;
    }
    insertFunc() {
        const insertCommand = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertText);
        const textWasInserted = insertCommand.execute(this.control.commandManager.isPublicApiCall, this.accumulatedText);
        this.accumulatedText = "";
        this.accumulatedTextInsertId = -1;
        if (textWasInserted)
            this.control.autoCorrectService.performAutoCorrect();
    }
    onFocusIn() {
        if (this.control.readOnly === i_rich_edit_core/* ReadOnlyMode */.F.None) {
            if (!this.isFocused())
                this.control.clientSideEvents.raiseGotFocus();
            this.control.focusManager.isInFocus = true;
        }
    }
    onFocusOut() {
        if (this.isFocused())
            this.control.clientSideEvents.raiseLostFocus();
        this.control.focusManager.isInFocus = false;
    }
    isFocused() {
        return this.control.focusManager.isInFocus;
    }
    lockMouseMove() {
        this.moveLocked = true;
        this.lockMouseMoveTimerId = setTimeout(() => this.moveLocked = false, 0);
    }
    onInput(inputType) {
        const commandId = this.inputTypeHandlers[inputType];
        if (!commandId)
            return false;
        const command = this.control.commandManager.getCommand(commandId);
        command.execute(false);
        return true;
    }
    createInputTypeHandlers() {
        const result = {};
        result["insertParagraph"] = client_command/* RichEditClientCommand */.f.InsertParagraph;
        result["deleteContentBackward"] = client_command/* RichEditClientCommand */.f.ToggleBackspaceKey;
        return result;
    }
}
class RichMouseEvent {
    constructor(evt, layoutPoint, source, scrollTop, scrollLeft) {
        this.layoutPoint = layoutPoint;
        this.absolutePoint = new geometry_point.Point(utils_evt/* EvtUtils */.g.getEventX(evt), utils_evt/* EvtUtils */.g.getEventY(evt));
        this.scroll = new geometry_point.Point(scrollLeft, scrollTop);
        this.modifiers = key/* KeyUtils */.LN.getKeyModifiers(evt);
        this.button = this.isLeftButtonPressed(evt) ? MouseButton.Left : MouseButton.Right;
        this.middleButtonPressed = !!(evt.buttons & MouseButton.Middle);
        this.source = source;
        this.mouseEvent = evt;
    }
    isLeftButtonPressed(evt) {
        return !browser.Browser.MSTouchUI ? utils_evt/* EvtUtils */.g.isLeftButtonPressed(evt) : evt.button != 2;
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/listeners/resize-box-listener.ts





class ResizeBoxListener extends FrameBaseListener {
    baseFrameClassName() {
        return FrameBaseListener.CLASSNAMES.CONTAINER;
    }
    static getCornerPrefix() {
        return FrameBaseListener.CLASSNAMES.CORNER_ELEM_PREFIX +
            (browser.Browser.TouchUI ? FrameBaseListener.CLASSNAMES.CORNER_TOUCH_POSTFIX : "");
    }
    constructor(rendererCache, stringResources, readOnlyPropertyHolder, fieldOptions) {
        super(rendererCache, stringResources, fieldOptions);
        this.readOnlyPropertyHolder = readOnlyPropertyHolder;
        this.initElement(false);
    }
    initElement(reinit) {
        if (reinit)
            this.initFrameElement();
        this.isReadOnly = this.readOnlyPropertyHolder.isReadOnlyPersistent;
        const cornerPrefix = ResizeBoxListener.getCornerPrefix();
        utils_list.ListUtils.forEach(ResizeBoxListener.cornerLinesInfo, (info) => {
            const lineElem = DocumentRenderer.renderContainer(FrameBaseListener.CLASSNAMES.CORNER_LINE_PREFIX + info[0]);
            this.baseFrame.appendChild(lineElem);
            if (!this.isReadOnly)
                utils_list.ListUtils.forEach(info, (direction) => {
                    lineElem.appendChild(DocumentRenderer.renderContainer(cornerPrefix + direction));
                }, 1);
            else
                lineElem.style.cursor = 'auto';
        });
        if (!this.isReadOnly) {
            this.baseFrame.appendChild(DocumentRenderer.renderContainer(FrameBaseListener.CLASSNAMES.ROTATION_BOX));
            this.baseFrame.appendChild(DocumentRenderer.renderContainer(FrameBaseListener.CLASSNAMES.ROTATION_LINE));
        }
    }
    NotifyShow(pageIndex, bounds, tip, isTextBox, isAnchoredObject, rotation) {
        if (this.readOnlyPropertyHolder.isReadOnlyPersistent != this.isReadOnly)
            this.initElement(true);
        super.NotifyShow(pageIndex, bounds, tip, isTextBox, isAnchoredObject, rotation);
        this.setCursorsConsiderRotation(rotation);
    }
    setCursorsConsiderRotation(rotation) {
        const cornerPrefix = ResizeBoxListener.getCornerPrefix();
        const shift = Math.round(rotation * 180 / Math.PI / 45);
        const cornerElements = this.baseFrame.querySelectorAll(`[class^=${FrameBaseListener.CLASSNAMES.CORNER_ELEM_PREFIX}]`);
        cornerElements.forEach((node) => {
            const baseElementDirection = node.className.substr(cornerPrefix.length);
            const baseCursorNameIndex = ResizeBoxListener.directions.indexOf(baseElementDirection);
            const index = (baseCursorNameIndex + shift) % ResizeBoxListener.directions.length;
            node.style.cursor = ResizeBoxListener.cursorNames[index];
        });
    }
}
ResizeBoxListener.cornerLinesInfo = [
    ["W", "W"],
    ["E", "E"],
    ["N", "NW", "N", "NE"],
    ["S", "SW", "S", "SE"]
];
ResizeBoxListener.directions = ["N", "NE", "E", "SE", "S", "SW", "W", "NW"];
ResizeBoxListener.cursorNames = ["n-resize", "ne-resize", "e-resize", "se-resize", "s-resize", "sw-resize", "w-resize", "nw-resize"];
ResizeBoxListener.directionToSource = {
    "NW": MouseEventSource.ResizeBox_NW,
    "NE": MouseEventSource.ResizeBox_NE,
    "SE": MouseEventSource.ResizeBox_SE,
    "SW": MouseEventSource.ResizeBox_SW,
    "N": MouseEventSource.ResizeBox_N,
    "E": MouseEventSource.ResizeBox_E,
    "S": MouseEventSource.ResizeBox_S,
    "W": MouseEventSource.ResizeBox_W
};

// EXTERNAL MODULE: ./src/common/utils/size-utils.ts
var size_utils = __webpack_require__(4585);
;// CONCATENATED MODULE: ./src/common/canvas/canvas-manager.ts














const SCROLL_INTERVAL_MS = 50;
const CSSCLASS_FOCUSED = "dxreInFocus";
const AUTOSCROLL_AREA_SIZE = 10;
const AUTOSCROLL_STEP = 10;
const MSTOUCH_MOVE_SENSITIVITY = 5;
class CanvasManager extends batch_updatable/* BatchUpdatableObject */.IS {
    get sizes() { return this.viewManager.sizes; }
    get scroll() { return this.viewManager.scroll; }
    get controlHeightProvider() { return this.sizes; }
    constructor(viewManager, eventManager) {
        super();
        this.lastMousePosition = { x: -1, y: -1 };
        this.canvasPosition = { x: -1, y: -1 };
        this.pointer = CursorPointer.Auto;
        this.blockNotPointerEvents = false;
        this.lastPointerPosition = { x: -1, y: -1 };
        this.evtHandlersHolder = new event_handlers_holder/* DomEventHandlersHolder */.$();
        this.viewManager = viewManager;
        this.eventManager = eventManager;
        this.initCommonEvents();
        if (!browser.Browser.WebKitTouchUI)
            this.initMouseEvents();
        if (browser.Browser.TouchUI)
            this.initTouchEvents();
        if (browser.Browser.MSTouchUI)
            if (browser.Browser.MajorVersion > 10)
                this.initPointerEvents();
            else
                this.initMSPointerEvents();
    }
    get canvas() {
        return this.viewManager.canvas;
    }
    dispose() {
        this.evtHandlersHolder.removeAllListeners();
    }
    onUpdateUnlocked(_occurredEvents) {
        this.viewManager.canvasListener.updateVisibleParts();
    }
    setCursorPointer(pointer) {
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "setCursorPointer", () => `pointer: ${CursorPointer[pointer]}`);
        if (this.pointer === pointer)
            return;
        if (this.pointer !== CursorPointer.Auto)
            dom.DomUtils.removeClassName(this.viewManager.canvas, CanvasManager.getCursorClassName(this.pointer));
        const newClassName = CanvasManager.getCursorClassName(pointer);
        if (newClassName)
            dom.DomUtils.addClassName(this.viewManager.canvas, newClassName);
        this.pointer = pointer;
    }
    closeDocument() {
        this.scroll.init(this.viewManager.canvas, this.sizes);
    }
    focusChanged(inFocus) {
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "focusChanged", `to: ${inFocus}`);
        if (inFocus)
            dom.DomUtils.addClassName(this.viewManager.canvas, CSSCLASS_FOCUSED);
        else
            dom.DomUtils.removeClassName(this.viewManager.canvas, CSSCLASS_FOCUSED);
    }
    getCanvasWidth() {
        return size_utils/* SizeUtils */.F.getClientWidth(this.viewManager.canvas);
    }
    onCanvasMouseWheel(evt) {
        if (!this.viewManager.layout)
            return;
        const point = this.getLayoutPoint(evt, false);
        point.y += evt.deltaY;
        this.eventManager.mouseWheelEvent = true;
        this.eventManager.onMouseMove(new RichMouseEvent(evt, point, CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
        this.eventManager.mouseWheelEvent = false;
        this.viewManager.canvasListener.updateVisibleParts();
    }
    onCanvasMouseDown(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onCanvasMouseDown", `evt.button: ${evt.button}, evt.buttons: ${evt.buttons}`);
        if (!this.blockNotPointerEvents)
            this.onCanvasMouseDownInternal(evt);
        utils_evt/* EvtUtils */.g.preventEvent(evt);
    }
    onCanvasMouseDownInternal(evt) {
        const point = this.getLayoutPoint(evt, true);
        this.eventManager.onMouseDown(new RichMouseEvent(evt, point, CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
        this.saveMousePosition(evt);
        this.resetScrollInterval();
        this.canvasPosition.x = dom.DomUtils.getAbsolutePositionX(this.viewManager.canvas);
        this.canvasPosition.y = dom.DomUtils.getAbsolutePositionY(this.viewManager.canvas);
        if (!point.isEmpty()) {
            this.scrollIntervalID = setInterval(() => {
                this.onScrollIntervalTick();
            }, SCROLL_INTERVAL_MS);
        }
    }
    onCanvasMouseUp(evt) {
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onCanvasMouseUp", "");
        if (!this.blockNotPointerEvents)
            this.onCanvasMouseUpInternal(evt);
    }
    onCanvasMouseUpInternal(evt) {
        this.eventManager.onMouseUp(new RichMouseEvent(evt, this.getLayoutPoint(evt, false), CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
        this.resetScrollInterval();
    }
    onCanvasMouseMove(evt) {
        if (!this.blockNotPointerEvents)
            this.onCanvasMouseMoveInternal(evt);
    }
    onCanvasMouseMoveInternal(evt) {
        this.eventManager.onMouseMove(new RichMouseEvent(evt, this.getLayoutPoint(evt, false), CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
    }
    onCanvasMouseDblClick(evt) {
        this.eventManager.onMouseDblClick(new RichMouseEvent(evt, this.getLayoutPoint(evt, true), CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
        return utils_evt/* EvtUtils */.g.preventEventAndBubble(evt);
    }
    onCanvasTouchStart(evt) {
        if (!this.blockNotPointerEvents)
            this.onCanvasTouchStartInternal(evt);
        return true;
    }
    onCanvasTouchStartInternal(evt) {
        this.saveMousePosition(evt);
        let richMouseEvent = new RichMouseEvent(evt, this.getLayoutPoint(evt, true), CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft);
        if (this.doubleTapStartDate && ((new Date()) - this.doubleTapStartDate) < 600) {
            this.doubleTapStartDate = null;
            this.onCanvasDoubleTap(richMouseEvent);
        }
        else {
            this.doubleTapStartDate = new Date();
            this.eventManager.onTouchStart(richMouseEvent);
        }
    }
    onCanvasDoubleTap(evt) {
        this.eventManager.onDoubleTap(evt);
    }
    onCanvasTouchEnd(evt) {
        if (!this.blockNotPointerEvents)
            this.onCanvasTouchEndInternal(evt);
        utils_evt/* EvtUtils */.g.preventEventAndBubble(evt);
    }
    onCanvasTouchEndInternal(evt) {
        return this.eventManager.onTouchEnd(new RichMouseEvent(evt, this.getLayoutPoint(evt, false), CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
    }
    onCanvasTouchMove(evt) {
        if (!this.blockNotPointerEvents)
            return this.onCanvasTouchMoveInternal(evt);
        return true;
    }
    onCanvasTouchMoveInternal(evt) {
        if (!this.eventManager.onTouchMove(new RichMouseEvent(evt, this.getLayoutPoint(evt, false), CanvasManager.getMouseEventSource(utils_evt/* EvtUtils */.g.getEventSource(evt)), this.scroll.lastScrollTop, this.scroll.lastScrollLeft))) {
            utils_evt/* EvtUtils */.g.preventEventAndBubble(evt);
            return;
        }
        return true;
    }
    onCanvasPointerDown(evt) {
        if (evt.pointerType == "mouse")
            this.onCanvasMouseDownInternal(evt);
        else if (evt.pointerType == "touch")
            this.onCanvasTouchStartInternal(evt);
        this.blockNotPointerEvents = true;
        this.lastPointerPosition.x = evt.x;
        this.lastPointerPosition.y = evt.y;
    }
    onCanvasPointerMove(evt) {
        if (Math.abs(evt.x - this.lastPointerPosition.x) > MSTOUCH_MOVE_SENSITIVITY || Math.abs(evt.y - this.lastPointerPosition.y) > MSTOUCH_MOVE_SENSITIVITY) {
            if (evt.pointerType == "mouse")
                this.onCanvasMouseMoveInternal(evt);
            else if (evt.pointerType == "touch") {
                this.onCanvasTouchMoveInternal(evt);
                return;
            }
            utils_evt/* EvtUtils */.g.preventEventAndBubble(evt);
        }
    }
    onCanvasPointerUp(evt) {
        if (evt.pointerType == "mouse")
            this.onCanvasMouseUpInternal(evt);
        else if (evt.pointerType == "touch")
            this.onCanvasTouchEndInternal(evt);
        setTimeout(() => { this.blockNotPointerEvents = false; }, 0);
        utils_evt/* EvtUtils */.g.preventEventAndBubble(evt);
    }
    onCanvasGestureStart(evt) {
        this.eventManager.onGestureStart(evt);
    }
    onDocumentMouseUp(evt) {
        if (dom.DomUtils.isItParent(this.viewManager.canvas, utils_evt/* EvtUtils */.g.getEventSource(evt))) {
            if (!utils_evt/* EvtUtils */.g.isLeftButtonPressed(evt))
                if (this.eventManager.shouldPreventContextMenuEvent)
                    popup/* PopupUtils */.y.preventContextMenu(evt);
            this.onCanvasMouseUp(evt);
        }
        else {
            this.eventManager.onMouseUp(new RichMouseEvent(evt, null, MouseEventSource.Undefined, this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
            this.resetScrollInterval();
        }
    }
    onDocumentContextMenu(evt) {
        if (!this.viewManager.canvas.parentNode)
            return;
        if (this.shouldPreventContextMenuEvent(evt) && this.eventManager.shouldPreventContextMenuEvent) {
            popup/* PopupUtils */.y.preventContextMenu(evt);
            return utils_evt/* EvtUtils */.g.cancelBubble(evt);
        }
    }
    shouldPreventContextMenuEvent(evt) {
        const eventSource = utils_evt/* EvtUtils */.g.getEventSource(evt);
        if (this.viewManager.control.isClientMode())
            return dom.DomUtils.isItParent(this.viewManager.canvas.parentNode, eventSource);
        else
            return dom.DomUtils.isItParent(this.viewManager.canvas.parentNode.parentNode, eventSource);
    }
    onDocumentMouseMove(evt) {
        this.saveMousePosition(evt);
    }
    onDocumentTouchEnd(evt) {
        if (dom.DomUtils.isItParent(this.viewManager.canvas, utils_evt/* EvtUtils */.g.getEventSource(evt)))
            return;
        this.eventManager.onTouchEnd(new RichMouseEvent(evt, null, MouseEventSource.Undefined, this.scroll.lastScrollTop, this.scroll.lastScrollLeft));
        this.resetScrollInterval();
    }
    onDocumentTouchMove(evt) {
        this.saveMousePosition(evt);
    }
    getScale(actualSize, originalSize) {
        return actualSize != 0 && originalSize != 0 ? actualSize / originalSize : 1;
    }
    getLayoutPoint(evt, checkScroll) {
        if (!this.viewManager.layout)
            return layout_point/* LayoutPoint */.T.Empty();
        const canvas = this.viewManager.canvas;
        const clientRect = canvas.getBoundingClientRect();
        const scaleX = this.getScale(clientRect.width, canvas.offsetWidth);
        const scaleY = this.getScale(clientRect.height, canvas.offsetHeight);
        const clientX = utils_evt/* EvtUtils */.g.getEventX(evt) / scaleX;
        const clientY = utils_evt/* EvtUtils */.g.getEventY(evt) / scaleY;
        const canvasX = dom.DomUtils.getAbsolutePositionX(canvas) / scaleX;
        const canvasY = dom.DomUtils.getAbsolutePositionY(canvas) / scaleY;
        const offsetY = canvas.scrollTop + clientY - canvasY;
        const pageIndex = this.sizes.findPageIndexByOffsetY(this.viewManager.layout.pages, offsetY);
        if (checkScroll) {
            if (this.sizes.scrollYVisible && canvasX + this.sizes.getVisibleAreaWidth(false) - clientX < 0)
                return layout_point/* LayoutPoint */.T.Empty();
            if (this.sizes.scrollXVisible && canvasY + this.sizes.getVisibleAreaHeight(false) - clientY < 0)
                return layout_point/* LayoutPoint */.T.Empty();
        }
        const layoutPage = this.viewManager.layout.pages[pageIndex];
        const renderPageCacheElem = this.viewManager.cache[pageIndex];
        if (!layoutPage || !renderPageCacheElem)
            return layout_point/* LayoutPoint */.T.Empty();
        return new layout_point/* LayoutPoint */.T(pageIndex, canvas.scrollLeft + clientX - (canvasX + renderPageCacheElem.page.offsetLeft), offsetY - this.sizes.getPageOffsetY(layoutPage));
    }
    isVisiblePosition(layoutPoint) {
        const pages = this.viewManager.layout.pages;
        this.scroll.updatePageIndexesInfo(pages);
        if (layoutPoint.pageIndex < this.scroll.startVisiblePageIndex || layoutPoint.pageIndex > this.scroll.endVisiblePageIndex)
            return false;
        const pageY = this.sizes.getPageOffsetY(pages[layoutPoint.pageIndex]);
        const pageX = this.viewManager.cache[layoutPoint.pageIndex].page.offsetLeft;
        const x = pageX + layoutPoint.x;
        const y = pageY + layoutPoint.y;
        return x >= this.scroll.lastScrollLeft && x <= this.sizes.getVisibleAreaWidth(false) + this.scroll.lastScrollLeft &&
            y >= this.scroll.lastScrollTop && y <= this.sizes.getVisibleAreaHeight(false) + this.scroll.lastScrollTop;
    }
    initCommonEvents() {
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "scroll", () => this.viewManager.canvasListener.onCanvasScroll());
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "focus", () => this.viewManager.control.focusManager.captureFocus());
    }
    initMouseEvents() {
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "mousedown", this.onCanvasMouseDown.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "mousemove", this.onCanvasMouseMove.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "dblclick", this.onCanvasMouseDblClick.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, utils_evt/* EvtUtils */.g.getMouseWheelEventName(), this.onCanvasMouseWheel.bind(this), { passive: true });
        this.evtHandlersHolder.addListenerToDocument("mouseup", this.onDocumentMouseUp.bind(this));
        this.evtHandlersHolder.addListenerToDocument("mousemove", this.onDocumentMouseMove.bind(this));
        this.evtHandlersHolder.addListenerToDocument("contextmenu", this.onDocumentContextMenu.bind(this));
    }
    initTouchEvents() {
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "touchstart", this.onCanvasTouchStart.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "touchend", this.onCanvasTouchEnd.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "touchmove", this.onCanvasTouchMove.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "gesturestart", this.onCanvasGestureStart.bind(this));
        this.evtHandlersHolder.addListenerToDocument("touchend", this.onDocumentTouchEnd.bind(this));
        this.evtHandlersHolder.addListenerToDocument("touchmove", this.onDocumentTouchMove.bind(this));
    }
    initPointerEvents() {
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "pointerdown", this.onCanvasPointerDown.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "pointermove", this.onCanvasPointerMove.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "pointerup", this.onCanvasPointerUp.bind(this));
    }
    initMSPointerEvents() {
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "mspointerdown", this.onCanvasPointerDown.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "mspointermove", this.onCanvasPointerMove.bind(this));
        this.evtHandlersHolder.addListener(this.viewManager.canvas, "mspointerup", this.onCanvasPointerUp.bind(this));
    }
    resetScrollInterval() {
        if (this.scrollIntervalID) {
            clearInterval(this.scrollIntervalID);
            this.scrollIntervalID = null;
        }
    }
    saveMousePosition(evt) {
        this.lastMousePosition.x = utils_evt/* EvtUtils */.g.getEventX(evt);
        this.lastMousePosition.y = utils_evt/* EvtUtils */.g.getEventY(evt);
    }
    onScrollIntervalTick() {
        const evtX = this.lastMousePosition.x;
        const evtY = this.lastMousePosition.y;
        const inHorizontalArea = evtX >= this.canvasPosition.x && evtX <= this.canvasPosition.x + this.sizes.getVisibleAreaWidth(false);
        const inVerticalArea = evtY >= this.canvasPosition.y && evtY <= this.canvasPosition.y + this.sizes.getVisibleAreaHeight(false);
        if (!inHorizontalArea && !inVerticalArea)
            return;
        const yOffsetWithoutScrollbar = this.canvasPosition.y + this.sizes.getVisibleAreaHeight(false) - evtY;
        const yOffsetWithScrollbar = this.canvasPosition.y + this.sizes.getVisibleAreaHeight(true) - evtY;
        const outsideHorizontalScrollbar = yOffsetWithoutScrollbar > 0 || yOffsetWithScrollbar < 0;
        if (inHorizontalArea && evtY - this.canvasPosition.y <= AUTOSCROLL_AREA_SIZE)
            this.viewManager.canvas.scrollTop -= AUTOSCROLL_STEP;
        else if (inHorizontalArea && yOffsetWithoutScrollbar <= AUTOSCROLL_AREA_SIZE && outsideHorizontalScrollbar)
            this.viewManager.canvas.scrollTop += AUTOSCROLL_STEP;
        const xOffsetWithoutScrollbar = this.canvasPosition.x + this.sizes.getVisibleAreaWidth(false) - evtX;
        const xOffsetWithScrollbar = this.canvasPosition.x + this.sizes.getVisibleAreaWidth(true) - evtX;
        const outsideVerticalScrollbar = xOffsetWithoutScrollbar > 0 || xOffsetWithScrollbar < 0;
        if (inVerticalArea && evtX - this.canvasPosition.x <= AUTOSCROLL_AREA_SIZE)
            this.viewManager.canvas.scrollLeft -= AUTOSCROLL_STEP;
        else if (inVerticalArea && xOffsetWithoutScrollbar <= AUTOSCROLL_AREA_SIZE && outsideVerticalScrollbar)
            this.viewManager.canvas.scrollLeft += AUTOSCROLL_STEP;
    }
    static getCursorClassName(pointer) {
        switch (pointer) {
            case CursorPointer.Copy:
                return "dxreCursorCopy";
            case CursorPointer.NoDrop:
                return "dxreCursorNoDrop";
            case CursorPointer.EResize:
                return "dxreCursorEResize";
            case CursorPointer.NResize:
                return "dxreCursorNResize";
            case CursorPointer.SResize:
                return "dxreCursorSResize";
            case CursorPointer.WResize:
                return "dxreCursorWResize";
            case CursorPointer.SEResize:
                return "dxreCursorSEResize";
            case CursorPointer.SWResize:
                return "dxreCursorSWResize";
            case CursorPointer.NWResize:
                return "dxreCursorNWResize";
            case CursorPointer.NEResize:
                return "dxreCursorNEResize";
            case CursorPointer.NSResize:
                return "dxreCursorNSResize";
            case CursorPointer.EWResize:
                return "dxreCursorEWResize";
            case CursorPointer.Move:
            case CursorPointer.Default:
                return "dxreCursorDefault";
        }
    }
    static getMouseEventSource(initSource) {
        const source = initSource.nodeType === Node.ELEMENT_NODE ? initSource : initSource.parentNode;
        const className = source.className;
        const cornerPrefix = ResizeBoxListener.getCornerPrefix();
        const ind = className.indexOf(cornerPrefix);
        if (ind != 0)
            return MouseEventSource.Undefined;
        return ResizeBoxListener.directionToSource[className.substr(ind + cornerPrefix.length, 2).trim()];
    }
    getScrollTopInfo() {
        const pages = this.viewManager.layout.pages;
        const scrollTop = this.viewManager.canvas.scrollTop;
        const pageIndex = this.sizes.findPageIndexByOffsetY(pages, scrollTop);
        return new ScrollTopInfo(pageIndex, scrollTop - this.sizes.getPageOffsetY(pages[pageIndex]));
    }
}
class ScrollTopInfo {
    constructor(pageIndex, topPositionRelativePage) {
        this.pageIndex = pageIndex;
        this.topPositionRelativePage = topPositionRelativePage;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
;// CONCATENATED MODULE: ./src/common/canvas/canvas-scroll-info.ts



class CanvasScrollInfo {
    constructor(canvas, sizes, internalApi) {
        this.lastScrollTop = -1;
        this.lastScrollLeft = -1;
        this.startVisiblePageIndex = 0;
        this.endVisiblePageIndex = 0;
        this._needUpdatePageIndexes = false;
        this.internalApi = internalApi;
        this.init(canvas, sizes);
    }
    init(canvas, sizes) {
        this.canvas = canvas;
        this.sizes = sizes;
        this.renderPagesOffset = browser.Browser.TouchUI ? CanvasScrollInfo.VISIBLE_PAGES_RANGE_TOUCH : CanvasScrollInfo.VISIBLE_PAGES_RANGE;
    }
    getStartRenderPageIndex() {
        return Math.max(0, this.startVisiblePageIndex - this.renderPagesOffset);
    }
    getEndRenderPageIndex() {
        return this.endVisiblePageIndex + this.renderPagesOffset;
    }
    renderPageIndexInterval() {
        return fixed.FixedInterval.fromPositions(this.getStartRenderPageIndex(), this.getEndRenderPageIndex() + 1);
    }
    updatePageIndexesInfo(pages) {
        if (!pages.length)
            return;
        const scrollTop = this.getScrollTop();
        this.lastScrollLeft = this.canvas.scrollLeft;
        if (this.startVisiblePageIndex >= 0 && scrollTop == this.lastScrollTop && !this._needUpdatePageIndexes)
            return;
        this._needUpdatePageIndexes = false;
        this.startVisiblePageIndex = this.sizes.findPageIndexByOffsetY(pages, scrollTop);
        this.endVisiblePageIndex = this.sizes.findPageIndexByOffsetY(pages, scrollTop + this.getVisibleHeight());
        this.lastScrollTop = scrollTop;
    }
    getVisibleInterval() {
        const scrollTop = this.getScrollTop();
        const visibleHeight = this.getVisibleHeight();
        const visibleHeightInterval = new fixed.FixedInterval(scrollTop, visibleHeight);
        const fullRenderedHeight = visibleHeightInterval.length * CanvasScrollInfo.VISIBLE_AREA_HEIGHT_MULTIPLIER;
        return boundary/* BoundaryInterval */.e.makeByConstInterval(new fixed.FixedInterval(Math.max(0, visibleHeightInterval.center - Math.floor(fullRenderedHeight / 2)), fullRenderedHeight));
    }
    getScrollTop() {
        return this.canvas.scrollTop + (this.internalApi.getVerticalScrollOffset ? this.internalApi.getVerticalScrollOffset() : 0);
    }
    getVisibleHeight() {
        return this.internalApi.getVisibleAreaHeight ? this.internalApi.getVisibleAreaHeight() : this.sizes.getVisibleAreaHeight(false);
    }
    onCanvasSizeChanged() {
        this._needUpdatePageIndexes = true;
    }
}
CanvasScrollInfo.VISIBLE_PAGES_RANGE = 2;
CanvasScrollInfo.VISIBLE_PAGES_RANGE_TOUCH = 0;
CanvasScrollInfo.VISIBLE_AREA_HEIGHT_MULTIPLIER = 2;

;// CONCATENATED MODULE: ./src/common/canvas/canvas-scroll-manager.ts



class CanvasScrollManager {
    get canvas() { return this.viewManager.canvas; }
    get sizes() { return this.viewManager.sizes; }
    constructor(viewManager, horizontalRuler) {
        this.updateScrollTimeoutId = null;
        this.waitForDblClickTimeoutId = null;
        this.viewManager = viewManager;
        this.horizontalRuler = horizontalRuler;
    }
    dispose() {
        clearTimeout(this.updateScrollTimeoutId);
        clearTimeout(this.waitForDblClickTimeoutId);
    }
    get scrollTop() { return this.canvas.scrollTop; }
    set scrollTop(val) { this.canvas.scrollTop = val; }
    setScrollEnabled(enabled) {
        if (enabled)
            this.canvas.style.overflow = "";
        else
            this.canvas.style.overflow = "hidden";
        this.updateScrollVisibility();
    }
    updateScrollVisibility() {
        const prevScrollYVisibility = this.sizes.scrollYVisible;
        this.sizes.updateScrollVisibility(this.canvas);
        if (prevScrollYVisibility !== this.sizes.scrollYVisible && this.horizontalRuler)
            this.horizontalRuler.adjust();
    }
    scrollToX(canvasState) {
        const position = canvasState.lp;
        const relativePosition = canvasState.relativePosition;
        let y = this.sizes.getPageOffsetY(this.viewManager.layout.pages[position.pageIndex]);
        let height = 0;
        if (position.detailsLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.PageArea) {
            y += position.pageArea.y;
            if (position.detailsLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column) {
                y += position.column.y;
                if (position.detailsLevel >= document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) {
                    y += position.row.y;
                    if (relativePosition === model_states/* RelativePosition */.Zi.Bottom)
                        y += position.row.height;
                    else if (relativePosition === model_states/* RelativePosition */.Zi.Inside)
                        height = position.row.height;
                }
                else if (relativePosition === model_states/* RelativePosition */.Zi.Bottom)
                    y += position.column.height;
                else if (relativePosition === model_states/* RelativePosition */.Zi.Inside)
                    height = position.column.height;
            }
            else if (relativePosition === model_states/* RelativePosition */.Zi.Bottom)
                y += position.pageArea.height;
            else if (relativePosition === model_states/* RelativePosition */.Zi.Inside)
                height = position.pageArea.height;
        }
        else if (relativePosition === model_states/* RelativePosition */.Zi.Bottom)
            y += position.page.height;
        else if (relativePosition === model_states/* RelativePosition */.Zi.Inside)
            height = position.page.height;
        if (relativePosition === model_states/* RelativePosition */.Zi.Bottom)
            y -= this.sizes.getVisibleAreaHeight(false);
        y += canvasState.getVerticalOffset(this.sizes);
        if (relativePosition === model_states/* RelativePosition */.Zi.Inside) {
            let scrollTop = this.canvas.scrollTop;
            const scrollVisibleAreaHeight = this.sizes.getVisibleAreaHeight(false);
            if (y < scrollTop)
                this.canvas.scrollTop = y;
            else if (y + height > scrollVisibleAreaHeight + scrollTop)
                this.canvas.scrollTop = y + height - scrollVisibleAreaHeight;
        }
        else
            this.canvas.scrollTop = y;
    }
    NotifyScrollPositionChanged(canvasState) {
        if (this.updateScrollTimeoutId) {
            clearTimeout(this.updateScrollTimeoutId);
            this.updateScrollTimeoutId = null;
        }
        if (this.waitForDblClickTimeoutId > 0) {
            this.updateScrollTimeoutId = setTimeout(() => {
                this.scrollToX(canvasState);
            }, MouseHandler.WAIT_FOR_DBLCLICK_INTERVAL);
        }
        else
            this.scrollToX(canvasState);
    }
    waitForDblClick() {
        if (this.waitForDblClickTimeoutId)
            clearTimeout(this.waitForDblClickTimeoutId);
        this.waitForDblClickTimeoutId = setTimeout(() => {
            this.waitForDblClickTimeoutId = null;
        }, MouseHandler.WAIT_FOR_DBLCLICK_INTERVAL);
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/canvas-size-info.ts





class CanvasSizeInfo {
    constructor() {
        this.topSpacing = -1;
        this.betweenPageSpacing = 1;
        this.visibleAreaSize = new size.Size(-1, -1);
        this.scrollWidth = -1;
        this.pageVerticalInfo = new views_settings/* RenderPageVertivalInfo */.GM();
        this.scrollWidth = dom.DomUtils.getVerticalScrollBarWidth();
    }
    isInitialized() {
        return this.topSpacing >= 0;
    }
    initialize(page, canvas) {
        this.pageVerticalInfo.init(dom.DomUtils.getCurrentStyle(page));
        this.topSpacing = this.pageVerticalInfo.topPageBorderWidth + this.pageVerticalInfo.topMargin;
        this.betweenPageSpacing = this.pageVerticalInfo.betweenPageSpacing;
        this.setVisibleAreaSize(size_utils/* SizeUtils */.F.getClientWidth(canvas), size_utils/* SizeUtils */.F.getClientHeight(canvas));
    }
    findPageIndexByOffsetY(pages, offsetY) {
        return Math.max(0, search.SearchUtils.normedInterpolationIndexOf(pages, (p) => this.getPageOffsetY(p), offsetY));
    }
    getPageOffsetY(layoutPage) {
        return layoutPage.y + (this.topSpacing + layoutPage.index * this.betweenPageSpacing);
    }
    setVisibleAreaSize(width, height) {
        this.visibleAreaSize.width = width;
        this.visibleAreaSize.height = height;
    }
    getVisibleAreaWidth(includeScrollBars) {
        if (!includeScrollBars)
            return this.visibleAreaSize.width;
        return this.scrollYVisible ? this.visibleAreaSize.width + this.scrollWidth : this.visibleAreaSize.width;
    }
    getVisibleAreaHeight(includeScrollBars) {
        if (!includeScrollBars)
            return this.visibleAreaSize.height;
        return this.scrollXVisible ? this.visibleAreaSize.height + this.scrollWidth : this.visibleAreaSize.height;
    }
    updateScrollVisibility(canvas) {
        this.scrollXVisible = size_utils/* SizeUtils */.F.getHeightInfo(canvas).scrollbarSize > 0;
        this.scrollYVisible = size_utils/* SizeUtils */.F.getWidthInfo(canvas).scrollbarSize > 0;
    }
    updateSize(canvas) {
        const width = size_utils/* SizeUtils */.F.getClientWidth(canvas);
        const height = size_utils/* SizeUtils */.F.getClientHeight(canvas);
        if (this.visibleAreaSize.width !== width || this.visibleAreaSize.height !== height) {
            this.setVisibleAreaSize(width, height);
            return true;
        }
        return false;
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/comparers.js
var comparers = __webpack_require__(4170);
;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/layout-logger/visualizers/debug-visualizer-type.ts
var DebugVisualizerType;
(function (DebugVisualizerType) {
    DebugVisualizerType[DebugVisualizerType["None"] = 0] = "None";
    DebugVisualizerType[DebugVisualizerType["TableBounds"] = 1] = "TableBounds";
    DebugVisualizerType[DebugVisualizerType["LayoutBounds"] = 2] = "LayoutBounds";
})(DebugVisualizerType || (DebugVisualizerType = {}));

;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/layout-logger/visualizers/page-visible-info-helper.ts


class PageVisibleInfoHelper {
    static showPageVisibleInfoElement(cache, getText, pageIndex) {
        PageVisibleInfoHelper.createAtLeast(pageIndex);
        let currElement = PageVisibleInfoHelper.pageVisibleInfoElements[pageIndex];
        currElement.innerHTML = getText();
        dom.DomUtils.hideNode(currElement);
        DocumentRenderer.getServiceContainerCore(cache[pageIndex].page).appendChild(currElement);
    }
    static hidePageVisibleInfoElement(pageIndex) {
        const element = PageVisibleInfoHelper.pageVisibleInfoElements[pageIndex];
        if (element) {
            PageVisibleInfoHelper.pageVisibleInfoElements.splice(pageIndex, 1);
            dom.DomUtils.hideNode(element);
        }
    }
    static createAtLeast(n) {
        while (PageVisibleInfoHelper.pageVisibleInfoElements.length <= n)
            PageVisibleInfoHelper.pageVisibleInfoElements.push(PageVisibleInfoHelper.createPageVisibleInfoElement());
    }
    static createPageVisibleInfoElement() {
        const element = DocumentRenderer.renderContainer("dxre-debug-page-visible-info-element");
        element.style.left = "5px";
        element.style.top = "5px";
        element.style.width = "150px";
        element.style.height = "50px";
        element.style.zIndex = "100";
        return element;
    }
}
PageVisibleInfoHelper.pageVisibleInfoElements = [];

;// CONCATENATED MODULE: ./src/common/canvas/renderes/canvas-listener/canvas-listener.ts

class CanvasListener {
    get layout() { return this.viewManager.layout; }
    constructor(viewManager, renderer) {
        this.viewManager = viewManager;
        this.renderer = renderer;
    }
    closeDocument() {
    }
    static mergeInnerPageChanges(pageChange) {
        pageChange.mainPageAreaChanges = new LayoutPageAreaChangesMerger().merge(pageChange.mainPageAreaChanges);
        for (let pageAreaChange of pageChange.mainPageAreaChanges) {
            pageAreaChange.columnChanges = new LayoutColumnChangesMerger().merge(pageAreaChange.columnChanges);
            for (let columnChanges of pageAreaChange.columnChanges) {
                columnChanges.rowChanges = new LayoutRowChangesMerger().merge(columnChanges.rowChanges);
                columnChanges.tableChanges = new LayoutTableChangesMerger().merge(columnChanges.tableChanges);
                columnChanges.paragraphFrameChanges = new LayoutParagraphFrameChangesMerger().merge(columnChanges.paragraphFrameChanges);
            }
        }
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/canvas-listener/print-layout-view-canvas-listener.ts












class PrintLayoutViewCanvasListener extends CanvasListener {
    constructor(viewManager, renderer) {
        super(viewManager, renderer);
        this.handledPageIndexes = [];
    }
    onPagesReady(pageChanges) {
        const updatedTypePageChanges = [];
        const otherTypePageChanges = [];
        for (let pageChange of pageChanges)
            if (pageChange.changeType == LayoutChangeType.Updated)
                updatedTypePageChanges.push(pageChange);
            else
                otherTypePageChanges.push(pageChange);
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onPagesReady - handled pages", log_list_helper/* LogListHelper */.r.level_1((index) => `${index}`, this.handledPageIndexes, "\t", "\t"));
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onPagesReady - pageFlags\n", log_list_helper/* LogListHelper */.r.level_1((page) => `${log/* Log */.Z.mask(layout_page/* LayoutPageFlags */.m3, page.flags.getValue())}`, this.viewManager.layout.pages, "\t", "\n"));
        if (otherTypePageChanges.length > 0) {
            for (let pageChange of otherTypePageChanges) {
                const pageIndex = pageChange.index;
                const layoutPage = this.viewManager.layout.pages[pageIndex];
                switch (pageChange.changeType) {
                    case LayoutChangeType.Inserted:
                        this.viewManager.renderer.renderPage(layoutPage, pageIndex, false);
                        layoutPage.flags.set(layout_page/* LayoutPageFlags */.m3.ContentRendered, false);
                        this.viewManager.adjust(false);
                        break;
                    case LayoutChangeType.Deleted:
                        this.renderer.removePage(pageIndex);
                        break;
                    case LayoutChangeType.Replaced:
                        if (layoutPage.flags.get(layout_page/* LayoutPageFlags */.m3.ContentRendered))
                            layoutPage.flags.set(layout_page/* LayoutPageFlags */.m3.NeedDeleteContent, true);
                        this.renderer.renderPage(layoutPage, pageIndex, false);
                        layoutPage.flags.set(layout_page/* LayoutPageFlags */.m3.ContentRendered, false);
                        break;
                    default: throw new Error(errors/* Errors */.D.NotImplemented);
                }
            }
            this.updateVisiblePages();
            this.viewManager.canvasScrollManager.updateScrollVisibility();
        }
        for (let pageChange of updatedTypePageChanges) {
            const layoutPage = this.layout.pages[pageChange.index];
            if (!layoutPage.flags.get(layout_page/* LayoutPageFlags */.m3.ContentRendered))
                continue;
            CanvasListener.mergeInnerPageChanges(pageChange);
            this.renderer.applyPageChange(layoutPage, pageChange);
            this.viewManager.changeActiveSubDocumentRenderer.updatePage(this.viewManager.selection.layoutSelection, layoutPage.index);
        }
        this.handleDeferredPagesOperations();
        this.viewManager.lastUsedRendererType = views_settings/* ViewType */.bW.PrintLayout;
        log/* Log */.Z.print(log_source/* LogSource */.O.DiplayPageInfo, "", () => utils_list.ListUtils.map(pageChanges, (p) => { if (p.changeType == LayoutChangeType.Deleted)
            PageVisibleInfoHelper.hidePageVisibleInfoElement(p.index);
        else
            PageVisibleInfoHelper.showPageVisibleInfoElement(this.viewManager.cache, () => `pageIndex=${p.index}`, p.index); }));
        log/* Log */.Z.print(log_source/* LogSource */.O.DiplayTableBoundsInfo, "", () => utils_list.ListUtils.map(pageChanges, (p) => { if (p.changeType == LayoutChangeType.Deleted)
            log/* Log */.Z.paramsHolder.visualizerManager.hide(DebugVisualizerType.TableBounds, p.index);
        else
            log/* Log */.Z.paramsHolder.visualizerManager.show(DebugVisualizerType.TableBounds, this.layout, p.index); }));
        log/* Log */.Z.print(log_source/* LogSource */.O.DiplayLayoutBoundsInfo, "", () => utils_list.ListUtils.map(pageChanges, (p) => { if (p.changeType == LayoutChangeType.Deleted)
            log/* Log */.Z.paramsHolder.visualizerManager.hide(DebugVisualizerType.LayoutBounds, p.index);
        else
            log/* Log */.Z.paramsHolder.visualizerManager.show(DebugVisualizerType.LayoutBounds, this.layout, p.index); }));
    }
    updateVisiblePages() {
        const pages = this.layout.pages;
        this.viewManager.scroll.updatePageIndexesInfo(pages);
        const renderInterval = this.viewManager.scroll.renderPageIndexInterval();
        for (let pageIndex of this.handledPageIndexes)
            if (!renderInterval.contains(pageIndex)) {
                const page = pages[pageIndex];
                if (page) {
                    page.flags.set(layout_page/* LayoutPageFlags */.m3.NeedDeleteContent, true);
                    page.flags.set(layout_page/* LayoutPageFlags */.m3.MustBeRendered, false);
                }
            }
        const endPageIndex = Math.min(renderInterval.end - 1, this.layout.pages.length - 1);
        for (let pageIndex = renderInterval.start; pageIndex <= endPageIndex; pageIndex++) {
            const page = pages[pageIndex];
            if (!page.flags.get(layout_page/* LayoutPageFlags */.m3.ContentRendered)) {
                page.flags.set(layout_page/* LayoutPageFlags */.m3.NeedRenderContent, true);
                page.flags.set(layout_page/* LayoutPageFlags */.m3.MustBeRendered, true);
                this.handledPageIndexes.push(pageIndex);
            }
        }
    }
    handleDeferredPagesOperations() {
        const pages = this.layout.pages;
        const visiblePages = [];
        this.handledPageIndexes.sort(comparers.Comparers.number);
        let prevPageIndex = -1;
        for (let pageIndex of this.handledPageIndexes) {
            if (pageIndex == prevPageIndex)
                continue;
            const page = pages[pageIndex];
            if (!page)
                continue;
            this.handlePageFlags(page);
            if (page.flags.get(layout_page/* LayoutPageFlags */.m3.MustBeRendered))
                visiblePages.push(pageIndex);
            prevPageIndex = pageIndex;
        }
        this.handledPageIndexes = visiblePages;
    }
    handlePageFlags(page) {
        const isNeedDeleteContent = page.flags.get(layout_page/* LayoutPageFlags */.m3.NeedDeleteContent);
        if (page.index >= this.layout.validPageCount) {
            if (isNeedDeleteContent) {
                log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "handleDeferredPagesOperations", `pageIndex: ${page.index} content deleted`);
                this.renderer.renderPage(page, page.index, false);
                page.flags.set(layout_page/* LayoutPageFlags */.m3.ContentRendered, false);
                page.flags.set(layout_page/* LayoutPageFlags */.m3.NeedDeleteContent, false);
                page.flags.set(layout_page/* LayoutPageFlags */.m3.IsSelectionRendered, false);
                page.flags.set(layout_page/* LayoutPageFlags */.m3.IsMisspelledSelectionRendered, false);
            }
            return;
        }
        const isContentRendered = page.flags.get(layout_page/* LayoutPageFlags */.m3.ContentRendered);
        const isNeedRenderContent = page.flags.get(layout_page/* LayoutPageFlags */.m3.NeedRenderContent);
        const callRender = isNeedDeleteContent || isNeedRenderContent;
        if (callRender) {
            log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "handlePageFlags", `pageIndex: ${page.index} content ${isNeedRenderContent ? "rendered" : "deleted"}`);
            this.renderer.renderPage(page, page.index, isNeedRenderContent);
            this.viewManager.changeActiveSubDocumentRenderer.updatePage(this.viewManager.selection.layoutSelection, page.index);
        }
        page.flags.set(layout_page/* LayoutPageFlags */.m3.ContentRendered, isNeedRenderContent || !callRender && isContentRendered);
        page.flags.set(layout_page/* LayoutPageFlags */.m3.NeedDeleteContent, false);
        page.flags.set(layout_page/* LayoutPageFlags */.m3.NeedRenderContent, false);
        if (callRender) {
            page.flags.set(layout_page/* LayoutPageFlags */.m3.IsSelectionRendered, false);
            page.flags.set(layout_page/* LayoutPageFlags */.m3.IsMisspelledSelectionRendered, false);
        }
    }
    updateVisibleParts() {
        this.updateVisiblePages();
        this.handleDeferredPagesOperations();
    }
    onCanvasScroll() {
        this.updateVisibleParts();
        for (let visiblePageIndex of this.handledPageIndexes) {
            this.viewManager.selection.renderAllPageSelection(this.layout, visiblePageIndex, false);
            this.viewManager.searchSelection.renderAllPageSelection(this.layout, visiblePageIndex, false);
            this.viewManager.misspelledSelection.renderAllPageSelection(this.layout, visiblePageIndex, false);
            this.viewManager.rangePermission.renderAllPageSelection(this.layout, visiblePageIndex, false);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/canvas-listener/simple-view-canvas-listener.ts










class SimpleViewChangesDataBase {
    constructor(rows, tables, parFrames) {
        this.rows = rows;
        this.tables = tables;
        this.parFrames = parFrames;
    }
}
class SimpleViewChangesData extends SimpleViewChangesDataBase {
    constructor(rows, tables, parFrames, ancPictureObjs, ancTextBoxObjs) {
        super(rows, tables, parFrames);
        this.ancPictureObjs = ancPictureObjs;
        this.ancTextBoxObjs = ancTextBoxObjs;
    }
}
class VisibleCanvasObjectsInfo extends SimpleViewChangesData {
}
class RenderedCanvasObjectsInfo extends SimpleViewChangesData {
}
class SimpleViewCanvasListener extends CanvasListener {
    onPagesReady(pageChanges) {
        if (pageChanges.length > 1 && !utils_list.ListUtils.allOf(pageChanges, (c) => c.changeType == LayoutChangeType.Deleted, 1))
            throw new Error(errors/* Errors */.D.InternalException);
        if (this.layout.pages.length > 1)
            throw new Error(errors/* Errors */.D.InternalException);
        const pageChange = pageChanges[0];
        if (pageChange) {
            const layoutPage = this.layout.pages[0];
            switch (pageChange.changeType) {
                case LayoutChangeType.Inserted: {
                    if (!this.viewManager.sizes.isInitialized()) {
                        this.renderer.renderPage(layoutPage, 0, false);
                        this.viewManager.adjust(false);
                    }
                    this.renderer.pageInserted(layoutPage, this.getCurrentIndexes());
                    break;
                }
                case LayoutChangeType.Replaced: {
                    this.renderer.removePageContent(0);
                    this.renderer.renderPage(layoutPage, 0, false);
                    this.viewManager.adjust(false);
                    this.renderer.pageInserted(layoutPage, this.getCurrentIndexes());
                    break;
                }
                case LayoutChangeType.Updated: {
                    CanvasListener.mergeInnerPageChanges(pageChange);
                    this.renderer.pageUpdated(pageChange, this.getCurrentIndexes());
                    break;
                }
                case LayoutChangeType.Deleted: {
                    this.renderer.removePage(0);
                    break;
                }
            }
        }
        this.viewManager.lastUsedRendererType = views_settings/* ViewType */.bW.Simple;
    }
    getCurrentIndexes() {
        const layoutPage = this.layout.pages[0];
        const visibleInterval = this.viewManager.scroll.getVisibleInterval();
        const column = layoutPage.mainSubDocumentPageAreas[0].columns[0];
        const layoutRows = column.rows;
        const rI = this.determineVisibleObjectsForRows(layoutRows, visibleInterval);
        const tI = this.determineVisibleObjectsForTables(column.tablesInfo, visibleInterval);
        const pfI = this.determineVisibleObjects(column.paragraphFrames, visibleInterval);
        const ancPic = number/* NumberMapUtils */.j.reducedMap(layoutPage.anchoredObjectHolder.objects, (fo, _id) => fo.getType() == layout_box/* LayoutBoxType */.KH.AnchorPicture && algorithms.IntervalAlgorithms.getIntersectionNonNullLength(fo.createVerticalInterval(), visibleInterval) ? fo : null);
        const ancTB = number/* NumberMapUtils */.j.reducedMap(layoutPage.anchoredObjectHolder.objects, (fo, _id) => fo.getType() == layout_box/* LayoutBoxType */.KH.AnchorTextBox && algorithms.IntervalAlgorithms.getIntersectionNonNullLength(fo.createVerticalInterval(), visibleInterval) ? fo : null);
        return new VisibleCanvasObjectsInfo(rI, tI, pfI, ancPic, ancTB);
    }
    determineVisibleObjects(objects, visibleInterval) {
        if (!objects.length)
            return new boundary/* BoundaryInterval */.e(-1, -1);
        const startIndex = Math.max(0, utils_list.ListUtils.reverseIndexBy(objects, (obj) => !algorithms.IntervalAlgorithms.getIntersection(obj.createVerticalInterval(), visibleInterval), search.SearchUtils.normedInterpolationIndexOf(objects, (obj) => obj.y, visibleInterval.start) - 1));
        let minEndIndex = Math.max(startIndex, search.SearchUtils.normedInterpolationIndexOf(objects, (obj) => obj.y, visibleInterval.end));
        for (let obj; obj = objects[minEndIndex]; minEndIndex++) {
            if (!algorithms.IntervalAlgorithms.getIntersection(obj.createVerticalInterval(), visibleInterval)) {
                minEndIndex++;
                break;
            }
        }
        return new boundary/* BoundaryInterval */.e(startIndex, minEndIndex);
    }
    determineVisibleObjectsForTables(objects, visibleInterval) {
        if (!objects.length)
            return new boundary/* BoundaryInterval */.e(-1, -1);
        let startIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(objects, (obj) => obj.y, visibleInterval.start));
        for (let obj; obj = objects[startIndex]; startIndex--) {
            if (!obj.logicInfo.grid.table.nestedLevel && !algorithms.IntervalAlgorithms.getIntersection(obj.createVerticalInterval(), visibleInterval))
                break;
        }
        startIndex = Math.max(0, startIndex);
        const minEndIndex = this.findBoundaryMinIndex(startIndex, objects, visibleInterval);
        return new boundary/* BoundaryInterval */.e(startIndex, minEndIndex);
    }
    findBoundaryMinIndex(startIndex, objects, visibleInterval) {
        let minEndIndex = Math.max(startIndex, search.SearchUtils.normedInterpolationIndexOf(objects, (obj) => obj.y, visibleInterval.end));
        for (let obj; obj = objects[minEndIndex]; minEndIndex++) {
            if (!algorithms.IntervalAlgorithms.getIntersection(obj.createVerticalInterval(), visibleInterval)) {
                minEndIndex++;
                break;
            }
        }
        return minEndIndex;
    }
    determineVisibleObjectsForRows(rows, visibleInterval) {
        if (!rows.length)
            return new boundary/* BoundaryInterval */.e(-1, -1);
        const startIndex = Math.max(0, utils_list.ListUtils.reverseIndexBy(rows, (obj) => obj.bottom < visibleInterval.start && !obj.tableCellInfo, search.SearchUtils.normedInterpolationIndexOf(rows, (obj) => obj.y, visibleInterval.start) - 1));
        let endIndex = Math.max(startIndex, search.SearchUtils.normedInterpolationIndexOf(rows, (obj) => obj.y, visibleInterval.end));
        for (let row; row = rows[endIndex]; endIndex++) {
            if (row.y > visibleInterval.end && !row.tableCellInfo) {
                endIndex++;
                break;
            }
        }
        return new boundary/* BoundaryInterval */.e(startIndex, endIndex);
    }
    updateVisibleParts() {
        if (this.layout.pages.length)
            this.renderer.pageScrolled(this.layout.pages[0], this.getCurrentIndexes());
    }
    onCanvasScroll() {
        this.updateVisibleParts();
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/change-active-sub-document/base-renderer.ts


class BaseRenderer {
    constructor(renderer) {
        this.renderer = renderer;
        this.init();
    }
    init() {
        this.pageIndex = -2;
        this.subDocumentInfo = null;
        this.handledPages = {};
    }
    update(newSubDocumentInfo, newPageIndex) {
        this.innerUpdate(newSubDocumentInfo, newPageIndex, () => {
            const renderedPages = this.renderer.scroll.renderPageIndexInterval();
            const useCache = this.pageIndex == this.newPageIndex &&
                this.subDocumentInfo.subDocumentId == this.newSubDocumentInfo.subDocumentId;
            const handledPages = useCache ? this.handledPages : {};
            this.handledPages = {};
            number/* NumberMapUtils */.j.forEach(handledPages, (handledPageIndex) => {
                if (!renderedPages.contains(handledPageIndex))
                    if (!this.handlePageHide(handledPageIndex))
                        this.handledPages[handledPageIndex] = handledPageIndex;
            });
            utils_list.ListUtils.forEachOnInterval(renderedPages, (renderedPageIndex) => {
                if (handledPages[renderedPageIndex] === undefined)
                    if (this.handlePageRender(renderedPageIndex, false))
                        this.handledPages[renderedPageIndex] = renderedPageIndex;
            });
        });
    }
    updatePage(pageIndex, newSubDocumentInfo, newPageIndex) {
        this.innerUpdate(newSubDocumentInfo, newPageIndex, () => {
            if (this.handlePageRender(pageIndex, true))
                this.handledPages[pageIndex] = pageIndex;
        });
    }
    innerUpdate(newSubDocumentInfo, newPageIndex, action) {
        if (newSubDocumentInfo) {
            this.newSubDocumentInfo = newSubDocumentInfo;
            this.newPageIndex = newPageIndex;
            action();
            this.subDocumentInfo = newSubDocumentInfo;
            this.pageIndex = newPageIndex;
        }
    }
    isHeaderFooterActive(layoutPage) {
        if (this.newSubDocumentInfo.isHeaderFooter)
            return true;
        if (!this.newSubDocumentInfo.isTextBox)
            return false;
        const paSdId = this.newSubDocumentInfo.parentSubDocumentId;
        const pa = layoutPage.otherPageAreas[paSdId];
        return pa && pa.subDocument.isHeaderFooter();
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/change-active-sub-document/floating-picture-renderer.ts




class FloatingPictureRenderer extends BaseRenderer {
    handlePageHide(_pageIndex) {
        return true;
    }
    handlePageRender(pageIndex, _force) {
        const cacheElement = this.renderer.cache[pageIndex];
        const layoutPage = this.renderer.layout.pages[pageIndex];
        if (!cacheElement || !layoutPage)
            return false;
        const subDocumentId = this.newSubDocumentInfo.subDocumentId;
        number/* NumberMapUtils */.j.forEach(cacheElement.anchoredPicture, (ancPicNode, picId) => {
            const belongsTo = layoutPage.anchoredObjectHolder.getObjById(picId).belongsToSubDocId;
            if (belongsTo == subDocumentId ||
                (this.newSubDocumentInfo.isTextBox && this.newSubDocumentInfo.parentSubDocumentId == belongsTo))
                dom.DomUtils.removeClassName(ancPicNode, renderer_class_names/* RendererClassNames */.A.BLACKOUT);
            else
                dom.DomUtils.addClassName(ancPicNode, renderer_class_names/* RendererClassNames */.A.BLACKOUT);
        });
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/change-active-sub-document/header-footer-labels-renderer.ts









class HeaderFooterLabelsRenderer extends BaseRenderer {
    constructor(renderer, stringResources) {
        super(renderer);
        this.stringResources = stringResources;
        this.elementsMap = {};
    }
    handlePageHide(pageIndex) {
        const elem = this.elementsMap[pageIndex];
        if (elem) {
            elem.hide();
            delete this.elementsMap[pageIndex];
        }
        return true;
    }
    handlePageRender(pageIndex, force) {
        const layoutPage = this.renderer.layout.pages[pageIndex];
        const cacheElement = this.renderer.cache[pageIndex];
        if (!cacheElement || !layoutPage)
            return false;
        const layoutPageAreas = layoutPage.getLayoutOtherPageAreasInfo();
        const documentModel = this.getDocumentModel();
        if (!documentModel)
            return false;
        let oldElems = this.elementsMap[pageIndex];
        let deleteOldElems = true;
        if (this.isHeaderFooterActive(layoutPage)) {
            if (!oldElems || force) {
                const container = DocumentRenderer.getServiceContainerCore(cacheElement.page);
                const sectionIndex = section_section/* Section */.$.getPageSectionIndex(layoutPage, documentModel.sections);
                const section = documentModel.sections[sectionIndex];
                const infoTexts = this.getInfoTexts(sectionIndex, section, layoutPage, layoutPageAreas, documentModel);
                const elements = this.elementsMap[pageIndex] = new HeaderFooterElements();
                deleteOldElems = false;
                this.updateElementInfo(infoTexts.headerInfo, container, layoutPage.mainSubDocumentPageAreas[0], elements.headerInfoElement, HeaderFooterLabelsRenderer.getHeaderInfoTopPosition);
                this.updateElementInfo(infoTexts.footerInfo, container, utils_list.ListUtils.last(layoutPage.mainSubDocumentPageAreas), elements.footerInfoElement, HeaderFooterLabelsRenderer.getFooterInfoTopPosition);
            }
            else
                oldElems = null;
        }
        if (oldElems) {
            oldElems.hide();
            if (deleteOldElems)
                delete this.elementsMap[pageIndex];
        }
        return true;
    }
    getDocumentModel() {
        const page = this.renderer.layout.pages[0];
        if (!page)
            return null;
        const pa = page.mainSubDocumentPageAreas[0] || number/* NumberMapUtils */.j.anyOf(page.otherPageAreas, (pa) => pa);
        return pa ? pa.subDocument.documentModel : null;
    }
    getInfoTexts(sectionIndex, section, layoutPage, layoutHeaderFooterPageAreas, documentModel) {
        const result = new HeaderFooterInfoTexts();
        if (section.sectionProperties.differentFirstPage && layoutPage.flags.get(layout_page/* LayoutPageFlags */.m3.IsFirstPageOfSection)) {
            result.headerInfo.push(this.stringResources.firstPageHeader);
            result.footerInfo.push(this.stringResources.firstPageFooter);
        }
        else if (!documentModel.differentOddAndEvenPages) {
            result.headerInfo.push(this.stringResources.header);
            result.footerInfo.push(this.stringResources.footer);
        }
        else if ((0,common.isEven)(layoutPage.layoutPageIndex)) {
            result.headerInfo.push(this.stringResources.evenPageHeader);
            result.footerInfo.push(this.stringResources.evenPageFooter);
        }
        else {
            result.headerInfo.push(this.stringResources.oddPageHeader);
            result.footerInfo.push(this.stringResources.oddPageFooter);
        }
        if (documentModel.sections.length > 1) {
            const sectionLabel = ` -Section ${sectionIndex + 1}-`;
            result.headerInfo[0] += sectionLabel;
            result.footerInfo[0] += sectionLabel;
        }
        if (layoutHeaderFooterPageAreas.headerPageArea && section.headers.isLinkedToPrevious(layoutHeaderFooterPageAreas.headerPageArea.subDocument.info.headerFooterType))
            result.headerInfo.push(this.stringResources.sameAsPrevious);
        if (layoutHeaderFooterPageAreas.footerPageArea && section.footers.isLinkedToPrevious(layoutHeaderFooterPageAreas.footerPageArea.subDocument.info.headerFooterType))
            result.footerInfo.push(this.stringResources.sameAsPrevious);
        return result;
    }
    updateElementInfo(infoTexts, container, pageArea, infoElement, getTopPosition) {
        if (!pageArea)
            return;
        const sameAsPrevInfoText = infoTexts[1];
        infoElement.innerHTML = `<b>${infoTexts[0]}</b>${sameAsPrevInfoText ? `<b>${sameAsPrevInfoText}</b>` : ""}`;
        container.appendChild(infoElement);
        infoElement.style.top = getTopPosition(pageArea, infoElement) + "px";
    }
    static getHeaderInfoTopPosition(pageArea, _element) {
        return pageArea.y + 1;
    }
    static getFooterInfoTopPosition(pageArea, element) {
        return pageArea.bottom - element.offsetHeight - 1;
    }
}
class HeaderFooterInfoTexts {
    constructor() {
        this.headerInfo = [];
        this.footerInfo = [];
    }
}
class HeaderFooterElements {
    constructor() {
        this.headerInfoElement = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.HEADER_INFO);
        this.footerInfoElement = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.FOOTER_INFO);
    }
    hide() {
        dom.DomUtils.hideNode(this.headerInfoElement);
        dom.DomUtils.hideNode(this.footerInfoElement);
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/change-active-sub-document/main-header-footer-renderer.ts





class MainHeaderFooterRenderer extends BaseRenderer {
    handlePageHide(_pageIndex) {
        return true;
    }
    activateElement(pageAreaElement) {
        if (!pageAreaElement)
            return false;
        dom.DomUtils.removeClassName(pageAreaElement, renderer_class_names/* RendererClassNames */.A.BLACKOUT);
        return true;
    }
    deactivateElement(pageAreaElement) {
        dom.DomUtils.addClassName(pageAreaElement, renderer_class_names/* RendererClassNames */.A.BLACKOUT);
    }
}
class HeaderFooterRenderer extends MainHeaderFooterRenderer {
    handlePageRender(pageIndex, _force) {
        const cacheElement = this.renderer.cache[pageIndex];
        const layoutPage = this.renderer.layout.pages[pageIndex];
        if (!cacheElement || !layoutPage)
            return false;
        number/* NumberMapUtils */.j.forEach(cacheElement.otherAreas, (paElement, elemSubDocId) => {
            const pa = layoutPage.otherPageAreas[elemSubDocId];
            if (pa && pa.subDocument.isHeaderFooter())
                if (this.isHeaderFooterActive(layoutPage))
                    this.activateElement(paElement);
                else
                    this.deactivateElement(paElement);
        });
    }
}
class MainRenderer extends MainHeaderFooterRenderer {
    handlePageRender(pageIndex, _force) {
        const cacheElement = this.renderer.cache[pageIndex];
        return cacheElement &&
            this.applyToMainPageAreas(cacheElement, this.isActive() ? this.activateElement : this.deactivateElement);
    }
    applyToMainPageAreas(cacheElement, applier) {
        if (!DocumentRenderer.isPageElementConsiderAllContainers(cacheElement.page))
            return false;
        const mainPageAreasElements = DocumentRenderer.getMainPageAreaContainerCore(cacheElement.page).childNodes;
        for (let paIndex = 0, paNode; paNode = mainPageAreasElements[paIndex]; paIndex++)
            applier.call(this, paNode);
        return true;
    }
    isActive() {
        if (this.newSubDocumentInfo.isMain)
            return true;
        if (!this.newSubDocumentInfo.isTextBox)
            return false;
        return this.newSubDocumentInfo.parentSubDocumentId == 0;
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/change-active-sub-document/text-box-renderer.ts





class TextBoxRenderer extends BaseRenderer {
    handlePageHide(_pageIndex) {
        return true;
    }
    handlePageRender(pageIndex) {
        const cacheElement = this.renderer.cache[pageIndex];
        const layoutPage = this.renderer.layout.pages[pageIndex];
        if (!cacheElement || !layoutPage)
            return false;
        const activeSubDocumentId = this.newSubDocumentInfo.subDocumentId;
        number/* NumberMapUtils */.j.forEach(cacheElement.otherAreas, (paNode, textBoxSubDocId) => {
            const obj = layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(textBoxSubDocId);
            if (obj) {
                const isTextBoxActive = textBoxSubDocId == activeSubDocumentId;
                const bgNode = cacheElement.textBoxBgElements[textBoxSubDocId];
                const renderLevel = layoutPage.renderLevelCalculator.getRenderLevel(layoutPage.anchoredObjectHolder.getTextBoxByInternalSubDocId(textBoxSubDocId).rendererLevel);
                if (isTextBoxActive) {
                    if (obj.rotationInRadians == 0)
                        dom.DomUtils.removeClassName(paNode, ZIndexHelper.getClassName(renderLevel, zIndexCssClassType.TextBox));
                    else
                        dom.DomUtils.addClassName(paNode, ZIndexHelper.getClassName(renderLevel, zIndexCssClassType.TextBox));
                    dom.DomUtils.addClassName(paNode, renderer_class_names/* RendererClassNames */.A.SELECTED_TEXTBOX);
                    dom.DomUtils.addClassName(bgNode, renderer_class_names/* RendererClassNames */.A.SELECTED_TEXTBOX);
                }
                else {
                    dom.DomUtils.removeClassName(paNode, renderer_class_names/* RendererClassNames */.A.SELECTED_TEXTBOX);
                    dom.DomUtils.removeClassName(bgNode, renderer_class_names/* RendererClassNames */.A.SELECTED_TEXTBOX);
                    dom.DomUtils.addClassName(paNode, ZIndexHelper.getClassName(renderLevel, zIndexCssClassType.TextBox));
                }
                if (isTextBoxActive || obj.belongsToSubDocId == activeSubDocumentId ||
                    (this.newSubDocumentInfo.isTextBox &&
                        this.newSubDocumentInfo.parentSubDocumentId == obj.belongsToSubDocId))
                    dom.DomUtils.removeClassName(paNode, renderer_class_names/* RendererClassNames */.A.BLACKOUT);
                else
                    dom.DomUtils.addClassName(paNode, renderer_class_names/* RendererClassNames */.A.BLACKOUT);
            }
        });
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/change-active-sub-document/renderer.ts




class RendererManager {
    get cache() { return this.viewManager.cache; }
    ;
    get canvas() { return this.viewManager.canvas; }
    ;
    get layout() { return this.viewManager.layout; }
    ;
    get scroll() { return this.viewManager.scroll; }
    ;
    get canvasScrollManager() { return this.viewManager.canvasScrollManager; }
    ;
    constructor(viewManager, stringResources) {
        this.viewManager = viewManager;
        this.renderers = [
            new FloatingPictureRenderer(this),
            new TextBoxRenderer(this),
            new HeaderFooterRenderer(this),
            new MainRenderer(this),
            new HeaderFooterLabelsRenderer(this, stringResources.headerFooter),
        ];
    }
    init() {
        for (let r of this.renderers)
            r.init();
    }
    update(layoutSelection) {
        const pageIndex = layoutSelection.pageIndex;
        const currSubDocInfo = layoutSelection.subDocumentInfo;
        for (let r of this.renderers)
            r.update(currSubDocInfo, pageIndex);
    }
    updatePage(layoutSelection, whatPageIndexUpdate) {
        const pageIndex = layoutSelection.pageIndex;
        const currSubDocInfo = layoutSelection.subDocumentInfo;
        for (let r of this.renderers)
            r.updatePage(whatPageIndexUpdate, currSubDocInfo, pageIndex);
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/common/print-layout-renderer.ts

class PrintLayoutRenderer extends DocumentRenderer {
    renderPageContentGetFloatingObjects(page) {
        return page.anchoredObjectHolder.getObjectsForRenderer(this.viewManager.layout.anchorObjectsPositionInfo);
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/sparse/intervals.js
var intervals = __webpack_require__(448);
;// CONCATENATED MODULE: ./src/common/canvas/renderes/common/simple-view-renderer.ts



















class SimpleViewRenderer extends DocumentRenderer {
    constructor() {
        super(...arguments);
        this.rowIndexInterval = new boundary/* BoundaryInterval */.e(0, 0);
        this.paragraphFramesIndexInterval = new boundary/* BoundaryInterval */.e(0, 0);
        this.tableIndexInterval = new boundary/* BoundaryInterval */.e(0, 0);
        this.updateDataChunk = new VisibleCanvasObjectsInfo(new fixed.FixedInterval(0, 0), new fixed.FixedInterval(0, 0), new fixed.FixedInterval(0, 0), {}, {});
    }
    pageInserted(layoutPage, updateDataChunk) {
        this.updateDataChunk = updateDataChunk;
        this.renderPage(layoutPage, 0, true);
    }
    renderPageContentGetFloatingObjects(page) {
        const foMap = number/* NumberMapUtils */.j.shallowCopy(this.updateDataChunk.ancPictureObjs);
        number/* NumberMapUtils */.j.forEach(this.updateDataChunk.ancTextBoxObjs, (tb, key) => foMap[key] = tb);
        return page.anchoredObjectHolder.getObjectsForRenderer(this.viewManager.layout.anchorObjectsPositionInfo, foMap);
    }
    collectScrollChanges(oldInterval, newInterval, isAddUpdateChange, getConstructor) {
        const changes = [];
        const iter = new intervals.SparseIntervals(algorithms.IntervalAlgorithms.getMergedIntervalsTemplate([oldInterval, newInterval], true, new boundary/* BoundaryInterval */.e(0, 0)))
            .getNativeIterator();
        for (let canvasElementIndex = 0; iter.moveNext();) {
            if (oldInterval.contains(iter.index)) {
                if (newInterval.contains(iter.index)) {
                    if (isAddUpdateChange)
                        changes.push(new getConstructor(iter.index, canvasElementIndex, LayoutChangeType.Updated));
                    canvasElementIndex++;
                }
                else {
                    if (iter.index < newInterval.start)
                        changes.push(new getConstructor(iter.index, canvasElementIndex, LayoutChangeType.Deleted));
                    else
                        do
                            changes.push(new getConstructor(iter.index, newInterval.length, LayoutChangeType.Deleted));
                        while (iter.moveNext());
                }
            }
            else
                changes.push(new getConstructor(iter.index, canvasElementIndex++, LayoutChangeType.Inserted));
        }
        return changes;
    }
    collectScrollChangesMap(oldObjects, newObjects, isAddUpdateChange, isTextBoxes, getConstructor) {
        let list = [];
        number/* NumberMapUtils */.j.forEach(oldObjects, (obj) => list.push(obj.objectId));
        number/* NumberMapUtils */.j.forEach(newObjects, (obj) => list.push(obj.objectId));
        list = utils_list.ListUtils.uniqueNumber(list);
        const changes = [];
        utils_list.ListUtils.forEach(list, (objectId) => {
            if (oldObjects[objectId] !== undefined) {
                if (newObjects[objectId] !== undefined) {
                    if (isAddUpdateChange)
                        changes.push(new getConstructor(isTextBoxes ? newObjects[objectId].internalSubDocId : objectId, LayoutChangeType.Updated));
                }
                else
                    changes.push(new getConstructor(isTextBoxes ? oldObjects[objectId].internalSubDocId : objectId, LayoutChangeType.Deleted));
            }
            else
                changes.push(new getConstructor(isTextBoxes ? newObjects[objectId].internalSubDocId : objectId, LayoutChangeType.Inserted));
        });
        return changes;
    }
    collectAllScrollChanges(newUpdateDataChunk, isAddUpdateChange) {
        return new RenderedCanvasObjectsInfo(this.collectScrollChanges(this.updateDataChunk.rows, newUpdateDataChunk.rows, isAddUpdateChange, RowChangeSV), this.collectScrollChanges(this.updateDataChunk.tables, newUpdateDataChunk.tables, isAddUpdateChange, TableChangeSV), this.collectScrollChanges(this.updateDataChunk.parFrames, newUpdateDataChunk.parFrames, isAddUpdateChange, ParagraphFrameChangeSV), this.collectScrollChangesMap(this.updateDataChunk.ancPictureObjs, newUpdateDataChunk.ancPictureObjs, isAddUpdateChange, false, AnchoredPictureChange), this.collectScrollChangesMap(this.updateDataChunk.ancTextBoxObjs, newUpdateDataChunk.ancTextBoxObjs, isAddUpdateChange, true, PageAreaChange));
    }
    pageScrolled(layoutPage, newUpdateDataChunk) {
        const changes = this.collectAllScrollChanges(newUpdateDataChunk, false);
        const pc = this.makePageChange(changes);
        log/* Log */.Z.print(log_source/* LogSource */.O.SimpleViewRenderer, "mergedPageChanges - Changes\n", log_list_helper/* LogListHelper */.r.level_1((change) => LogObjToStrLayout.pageChange(change, ""), [pc], "", "\n"));
        this.applyPageChange(layoutPage, pc);
        this.updateDataChunk = newUpdateDataChunk;
    }
    applyFormatterChanges(formatterChanges, scrollChanges) {
        if (!scrollChanges.length || !formatterChanges.length)
            return;
        const mm = utils_list.ListUtils.minMaxExtended(scrollChanges, (v) => v.layoutIndex);
        const visibleObjectsInterval = new boundary/* BoundaryInterval */.e(mm.minValue, mm.maxValue + 1);
        const isObjectMustBeReplaced = utils_list.ListUtils.accumulate(formatterChanges, {}, (acc, c) => {
            if (c.changeType == LayoutChangeType.Replaced && visibleObjectsInterval.contains(c.layoutIndex))
                acc[c.layoutIndex] = true;
            return acc;
        });
        for (let scrollChange of scrollChanges)
            if (isObjectMustBeReplaced[scrollChange.layoutIndex] && scrollChange.changeType != LayoutChangeType.Inserted)
                scrollChange.changeType = LayoutChangeType.Replaced;
    }
    applyFormatterChangesMap(formatterChanges, scrollChanges) {
        const map = utils_list.ListUtils.accumulate(scrollChanges, {}, (acc, c) => {
            acc[c.layoutIndex] = c;
            return acc;
        });
        utils_list.ListUtils.forEach(formatterChanges, (fc) => {
            const scrollChange = map[fc.layoutIndex];
            if (scrollChange && !utils_enum/* EnumUtils */.Y.isAnyOf(scrollChange.changeType, LayoutChangeType.Deleted, LayoutChangeType.Inserted))
                if (scrollChange && scrollChange.changeType != LayoutChangeType.Deleted)
                    scrollChange.changeType = LayoutChangeType.Replaced;
            if (fc.changeType == LayoutChangeType.Updated && fc instanceof PageAreaChange)
                if (scrollChange && scrollChange instanceof PageAreaChange && scrollChange.changeType == LayoutChangeType.Updated)
                    scrollChange.columnChanges = fc.columnChanges;
        });
    }
    makePageChange(changes) {
        const cc = [new ColumnChange(0, LayoutChangeType.Updated, changes.rows, changes.tables, changes.parFrames)];
        const pac = [new PageAreaChange(0, LayoutChangeType.Updated, cc)];
        const pc = new PageChange(0, LayoutChangeType.Updated, pac, changes.ancTextBoxObjs);
        pc.anchoredPictureChanges = changes.ancPictureObjs;
        return pc;
    }
    pageUpdated(pageChange, newUpdateDataChunk) {
        const changes = this.collectAllScrollChanges(newUpdateDataChunk, true);
        if (pageChange.mainPageAreaChanges.length) {
            this.applyFormatterChanges(pageChange.mainPageAreaChanges[0].columnChanges[0].rowChanges, changes.rows);
            this.applyFormatterChanges(pageChange.mainPageAreaChanges[0].columnChanges[0].paragraphFrameChanges, changes.parFrames);
            this.applyFormatterChanges(pageChange.mainPageAreaChanges[0].columnChanges[0].tableChanges, changes.tables);
        }
        this.applyFormatterChangesMap(pageChange.anchoredPictureChanges, changes.ancPictureObjs);
        this.applyFormatterChangesMap(pageChange.otherPageAreaChanges, changes.ancTextBoxObjs);
        const pc = this.makePageChange(changes);
        log/* Log */.Z.print(log_source/* LogSource */.O.SimpleViewRenderer, "mergedPageChanges - Changes\n", log_list_helper/* LogListHelper */.r.level_1((change) => LogObjToStrLayout.pageChange(change, ""), [pc], "", "\n"));
        this.applyPageChange(this.viewManager.layout.pages[0], pc);
        this.updateDataChunk = newUpdateDataChunk;
    }
    renderColumn(column, level, isMainPageArea) {
        const columnElement = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.COLUMN);
        dom.DomUtils.setStyleSizeAndPosition(columnElement.style, column);
        const rowsContainer = columnElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.ROWS_CONTAINER));
        const paragraphFramesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.PARAGRAPHFRAMES_CONTAINER));
        const tablesContainer = columnElement.appendChild(DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TABLES_CONTAINER));
        const bounds = isMainPageArea ?
            this.updateDataChunk :
            new SimpleViewChangesDataBase(new boundary/* BoundaryInterval */.e(0, column.rows.length), new boundary/* BoundaryInterval */.e(0, column.tablesInfo.length), new boundary/* BoundaryInterval */.e(0, column.paragraphFrames.length));
        utils_list.ListUtils.forEach(column.rows, (row) => rowsContainer.appendChild(this.renderRow(row, level)), bounds.rows.start, bounds.rows.end);
        utils_list.ListUtils.forEach(column.paragraphFrames, (pf) => paragraphFramesContainer.appendChild(DocumentRenderer.renderParagraphFrame(pf, level)), bounds.parFrames.start, bounds.parFrames.end);
        utils_list.ListUtils.forEach(column.tablesInfo, (t) => tablesContainer.appendChild(DocumentRenderer.renderTable(t, level, this.viewManager.innerClientProperties.showTableGridLines)), bounds.tables.start, bounds.tables.end);
        return columnElement;
    }
    updatePageSize(page, pageElement) {
        if (page.minContentHeight < page.height) {
            const before = this.viewManager.canvas.offsetHeight;
            pageElement.style.height = `${page.minContentHeight}px`;
            if (this.viewManager.canvas.offsetHeight < before) {
                page.height = page.minContentHeight;
            }
        }
        super.updatePageSize(page, pageElement);
    }
}

;// CONCATENATED MODULE: ./src/common/layout/selection/layout-selection-items.ts




class LayoutSelectionItem extends rectangle.Rectangle {
    constructor() {
        super(0, 0, 0, 0);
    }
    isCursor() {
        return false;
    }
    get zIndexClassType() {
        return zIndexCssClassType.SelRow;
    }
    get baseClassName() {
        return renderer_class_names/* RendererClassNames */.A.SELECTION_ROW;
    }
    static create(pos, size, floatingObjectId, constr) {
        const item = new constr();
        item.floatingObjectId = floatingObjectId;
        return item.setPosition(new geometry_point.Point(pos.pageArea.x + pos.column.x + pos.row.x, pos.pageArea.y + pos.column.y + pos.row.y))
            .setSize(size);
    }
    equals(obj) {
        return this.floatingObjectId == obj.floatingObjectId && super.equals(obj);
    }
}
LayoutSelectionItem.mainPageAreaSelection = -1;
LayoutSelectionItem.headerFooterPageAreaSelection = -2;
class LayoutSelectionCursorItem extends LayoutSelectionItem {
    isCursor() {
        return true;
    }
    get zIndexClassType() {
        return zIndexCssClassType.SelCursor;
    }
    get baseClassName() {
        return [renderer_class_names/* RendererClassNames */.A.SELECTION_CURSOR, renderer_class_names/* RendererClassNames */.A.CURSOR_NO_BLINK_CLASS_NAME].join(" ");
    }
}
class LayoutSelectionMisspelledItem extends LayoutSelectionItem {
    get zIndexClassType() {
        return zIndexCssClassType.SelMissp;
    }
    get baseClassName() {
        return renderer_class_names/* RendererClassNames */.A.SELECTION_MISSPELLED;
    }
}
class LayoutSelectionSearchItem extends LayoutSelectionItem {
    get zIndexClassType() {
        return zIndexCssClassType.SelSearch;
    }
    get baseClassName() {
        return [renderer_class_names/* RendererClassNames */.A.SELECTION_ROW, renderer_class_names/* RendererClassNames */.A.SELECTION_SEARCH].join(" ");
    }
}
class LayoutRangePermissionItem extends LayoutSelectionItem {
    get zIndexClassType() {
        return zIndexCssClassType.SelRange;
    }
    get baseClassName() {
        return renderer_class_names/* RendererClassNames */.A.SELECTION_RANGE_PERMISSION;
    }
    equals(obj) {
        return this.color == obj.color && super.equals(obj);
    }
}
class LayoutSelectionFloatingObjectItem extends LayoutSelectionItem {
    get zIndexClassType() {
        return zIndexCssClassType.SelRow;
    }
    get baseClassName() {
        return [renderer_class_names/* RendererClassNames */.A.SELECTION_ROW, renderer_class_names/* RendererClassNames */.A.SELECTION_FLOATING_OBJECTS].join(" ");
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/selection-renderers/selection-renderer-base.ts





class SelectionRendererBase {
    constructor(cache, layoutSelection) {
        this.cache = cache;
        this.layoutSelection = layoutSelection;
    }
    closeDocument() { }
    applySelectionChanges(layout) {
        for (let pageChange of this.getLayoutSelectionInfo().changes) {
            const layoutPage = layout.pages[pageChange.index];
            if (!layoutPage || !layoutPage.flags.get(layout_page/* LayoutPageFlags */.m3.ContentRendered))
                continue;
            layoutPage.flags.set(this.layoutPageFlag, true);
            for (let areaChange of pageChange.areaChanges)
                DocumentRenderer.applyChange(this.cache[pageChange.index].page, areaChange, this.getContainer, () => this.renderItem(areaChange.selection, layoutPage));
        }
        this.getLayoutSelectionInfo().changesApplied();
    }
    renderAllPageSelection(layout, pageIndex, force) {
        const pageCache = this.cache[pageIndex];
        if (!pageCache)
            return;
        const container = this.getContainer(pageCache.page);
        const pageInfo = this.getLayoutSelectionInfo().pageInfos[pageIndex];
        const layoutPage = layout.pages[pageIndex];
        if (!container || (!force && container.childNodes.length != 0) || !pageInfo || !layoutPage)
            return;
        layoutPage.flags.set(this.layoutPageFlag, true);
        if (force)
            dom.DomUtils.clearInnerHtml(container);
        for (let item of pageInfo.oldItems)
            container.appendChild(this.renderItem(item, layoutPage));
    }
    renderItem(item, layoutPage) {
        const ancObjHolder = layoutPage.anchoredObjectHolder;
        let level;
        switch (item.floatingObjectId) {
            case LayoutSelectionItem.mainPageAreaSelection:
                level = layoutPage.renderLevelCalculator.renderMainPageAreaLevel;
                break;
            case LayoutSelectionItem.headerFooterPageAreaSelection:
                level = layoutPage.renderLevelCalculator.renderHeaderFooterPageAreasLevel;
                break;
            default: level = layoutPage.renderLevelCalculator.getRenderLevel(ancObjHolder.getObjById(item.floatingObjectId).rendererLevel);
        }
        const selectionElement = DocumentRenderer.renderContainer(item.baseClassName + " " + ZIndexHelper.getClassName(level, item.zIndexClassType));
        dom.DomUtils.setStyleSizeAndPosition(selectionElement.style, item);
        return selectionElement;
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/selection-renderers/misspelled-selection-renderer.ts





class MisspelledSelectionRenderer extends SelectionRendererBase {
    constructor() {
        super(...arguments);
        this.layoutPageFlag = layout_page/* LayoutPageFlags */.m3.IsMisspelledSelectionRendered;
    }
    renderAllPageSelection(layout, pageIndex, force) {
        super.renderAllPageSelection(layout, pageIndex, force);
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionRenderer, "renderAllPageMisspelledSelection", `pageIndex: ${pageIndex}`);
    }
    closeDocument() {
        this.getLayoutSelectionInfo().reset();
    }
    getLayoutSelectionInfo() {
        return this.layoutSelection.misspelledInfo;
    }
    getContainer(pageElement) {
        return DocumentRenderer.getMisspelledSelectionContainerCore(pageElement);
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/selection-renderers/range-permission-renderer.ts





class RangePermissionRenderer extends SelectionRendererBase {
    constructor() {
        super(...arguments);
        this.layoutPageFlag = layout_page/* LayoutPageFlags */.m3.IsRangePermissionsRendered;
    }
    renderAllPageSelection(layout, pageIndex, force) {
        super.renderAllPageSelection(layout, pageIndex, force);
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionRenderer, "renderAllPageRangePermissions", `pageIndex: ${pageIndex}`);
    }
    renderItem(item, layoutPage) {
        const selectionElement = super.renderItem(item, layoutPage);
        selectionElement.style.backgroundColor = item.color;
        return selectionElement;
    }
    closeDocument() {
        this.getLayoutSelectionInfo().reset();
    }
    getLayoutSelectionInfo() {
        return this.layoutSelection.rangePermissionInfo;
    }
    getContainer(pageElement) {
        return DocumentRenderer.getRangePermissionsContainerCore(pageElement);
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/selection-renderers/search-selection-renderer.ts





class SearchSelectionRenderer extends SelectionRendererBase {
    constructor() {
        super(...arguments);
        this.layoutPageFlag = layout_page/* LayoutPageFlags */.m3.IsSearchSelectionRendered;
    }
    renderAllPageSelection(layout, pageIndex, force) {
        super.renderAllPageSelection(layout, pageIndex, force);
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionRenderer, "renderAllPageSearchSelection", `pageIndex: ${pageIndex}`);
    }
    closeDocument() {
        this.getLayoutSelectionInfo().reset();
    }
    getLayoutSelectionInfo() {
        return this.layoutSelection.searchInfo;
    }
    getContainer(pageElement) {
        return DocumentRenderer.getSearchSelectionContainerCore(pageElement);
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/selection-renderers/touch-selection-circle-elements-manager.ts





class TouchSelectionCircleElementsManager {
    constructor(cache, layoutSelection) {
        this.firstElement = DocumentRenderer.renderContainer(TouchSelectionCircleElementsManager.BAR_CLASS_NAME);
        this.secondElement = DocumentRenderer.renderContainer(TouchSelectionCircleElementsManager.BAR_CLASS_NAME);
        this.layoutSelection = layoutSelection;
        this.cache = cache;
    }
    getSecondElement() {
        return this.secondElement;
    }
    update() {
        if (!browser.Browser.TouchUI || this.layoutSelection.firstPageIndexWithSelection < 0 || !this.cache.length)
            return;
        if (!this.isCreated()) {
            let serviceContainer = DocumentRenderer.getServiceContainerCore(this.cache[this.layoutSelection.firstPageIndexWithSelection].page);
            serviceContainer.appendChild(this.firstElement);
            serviceContainer.appendChild(this.secondElement);
            this.radius = this.firstElement.offsetWidth / 2;
        }
        const firstSelectionItem = this.layoutSelection.selectionInfo.pageInfos[this.layoutSelection.firstPageIndexWithSelection].oldItems[0];
        dom.DomUtils.setStylePosition(this.firstElement.style, new geometry_point.Point(firstSelectionItem.x - this.radius, firstSelectionItem.bottom));
        const lastSelectionItem = utils_list.ListUtils.last(this.layoutSelection.selectionInfo.pageInfos[this.layoutSelection.lastPageIndexWithSelection].oldItems);
        dom.DomUtils.setStylePosition(this.secondElement.style, new geometry_point.Point(lastSelectionItem.right - this.radius, lastSelectionItem.bottom));
    }
    setVisibilityTouchBars(visible) {
        this.setFirstTouchBarVisibility(visible);
        this.setSecondTouchBarVisibility(visible);
    }
    setFirstTouchBarVisibility(visible) {
        this.setVisible(this.firstElement, visible);
    }
    setSecondTouchBarVisibility(visible) {
        this.setVisible(this.secondElement, visible);
    }
    setVisible(element, visible) {
        if (this.isElementVisible(element) != visible)
            element.style.display = visible ? "" : "none";
    }
    isElementVisible(element) {
        return element.style.display != "none";
    }
    isCreated() {
        let serviceContainer = DocumentRenderer.getServiceContainerCore(this.cache[this.layoutSelection.firstPageIndexWithSelection].page);
        return !!dom.DomUtils.getChildNodesByClassName(serviceContainer, TouchSelectionCircleElementsManager.BAR_CLASS_NAME).length;
    }
}
TouchSelectionCircleElementsManager.BAR_CLASS_NAME = "dxreSelBar";

;// CONCATENATED MODULE: ./src/common/canvas/renderes/selection-renderers/selection-renderer.ts









const CHANGE_BLINK_CURSOR_DELAY = 350;
class SelectionRenderer extends SelectionRendererBase {
    constructor(cache, layoutSelection) {
        super(cache, layoutSelection);
        this.layoutPageFlag = layout_page/* LayoutPageFlags */.m3.IsSelectionRendered;
        this.processIdChangeCursorToBlink = null;
        this.touchSelectionCircleElementsManager = new TouchSelectionCircleElementsManager(cache, layoutSelection);
    }
    dispose() {
        clearTimeout(this.processIdChangeCursorToBlink);
    }
    applySelectionChanges(layout) {
        this.switchCursorToBlinkState();
        super.applySelectionChanges(layout);
        this.touchSelectionCircleElementsManager.update();
    }
    renderAllPageSelection(layout, pageIndex, force) {
        this.switchCursorToBlinkState();
        super.renderAllPageSelection(layout, pageIndex, force);
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionRenderer, "renderAllPageSelection", `pageIndex: ${pageIndex}`);
        this.touchSelectionCircleElementsManager.update();
    }
    closeDocument() {
        this.switchCursorToBlinkState();
        this.getLayoutSelectionInfo().reset();
        this.layoutSelection.pageIndex = -1;
        this.layoutSelection.subDocumentInfo = null;
    }
    renderItem(item, layoutPage) {
        if (item instanceof LayoutSelectionFloatingObjectItem) {
            const selectionElement = DocumentRenderer.renderContainer(item.baseClassName);
            dom.DomUtils.setStyleSizeAndPosition(selectionElement.style, item);
            return selectionElement;
        }
        const selectionElement = super.renderItem(item, layoutPage);
        if (item.isCursor()) {
            this.processIdChangeCursorToBlink = setTimeout(() => {
                dom.DomUtils.removeClassName(selectionElement, renderer_class_names/* RendererClassNames */.A.CURSOR_NO_BLINK_CLASS_NAME);
                this.processIdChangeCursorToBlink = null;
            }, CHANGE_BLINK_CURSOR_DELAY);
        }
        return selectionElement;
    }
    getLayoutSelectionInfo() {
        return this.layoutSelection.selectionInfo;
    }
    getContainer(pageElement) {
        return DocumentRenderer.getSelectionContainerCore(pageElement);
    }
    switchCursorToBlinkState() {
        if (this.processIdChangeCursorToBlink === null) {
            clearTimeout(this.processIdChangeCursorToBlink);
            this.processIdChangeCursorToBlink = null;
        }
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/renderes/view-manager.ts


























class ViewManager {
    get renderer() { return this.renderers[this.innerClientProperties.viewsSettings.viewType]; }
    get printLayoutRenderer() { return this.renderers[views_settings/* ViewType */.bW.PrintLayout]; }
    get canvasListener() { return this.canvasListeners[this.innerClientProperties.viewsSettings.viewType]; }
    constructor(control, canvas, eventManager, stringResources, horizontalRuler, inputController, innerClientProperties, readOnlyPropertyHolder, layoutFormatterManagerHolder, internalApi, fieldOptions) {
        this.cache = [];
        this.sizes = new CanvasSizeInfo();
        this.control = control;
        this.readOnlyPropertyHolder = readOnlyPropertyHolder;
        this.layoutFormatterManagerHolder = layoutFormatterManagerHolder;
        this.internalApi = internalApi;
        this.fieldOptions = fieldOptions;
        this.canvas = canvas;
        this.stringResources = stringResources;
        this.inputController = inputController;
        this.innerClientProperties = innerClientProperties;
        this.addTopLevelContainers();
        this.canvasManager = new CanvasManager(this, eventManager);
        this.scroll = new CanvasScrollInfo(canvas, this.sizes, this.internalApi);
        this.canvasScrollManager = new CanvasScrollManager(this, horizontalRuler);
        this.renderers = new map_creator/* MapCreator */.M()
            .add(views_settings/* ViewType */.bW.PrintLayout, new PrintLayoutRenderer(this))
            .add(views_settings/* ViewType */.bW.Simple, new SimpleViewRenderer(this))
            .get();
        this.canvasListeners = new map_creator/* MapCreator */.M()
            .add(views_settings/* ViewType */.bW.PrintLayout, new PrintLayoutViewCanvasListener(this, this.renderers[views_settings/* ViewType */.bW.PrintLayout]))
            .add(views_settings/* ViewType */.bW.Simple, new SimpleViewCanvasListener(this, this.renderers[views_settings/* ViewType */.bW.Simple]))
            .get();
        const layoutSelection = null;
        this.selection = new SelectionRenderer(this.cache, layoutSelection);
        this.searchSelection = new SearchSelectionRenderer(this.cache, layoutSelection);
        this.misspelledSelection = new MisspelledSelectionRenderer(this.cache, layoutSelection);
        this.rangePermission = new RangePermissionRenderer(this.cache, layoutSelection);
        this.changeActiveSubDocumentRenderer = new RendererManager(this, stringResources);
    }
    dispose() {
        this.canvasManager.dispose();
        this.canvasScrollManager.dispose();
        this.selection.dispose();
        this.pagesContainer = null;
    }
    adjust(force) {
        if ((force || !this.sizes.isInitialized()) && this.cache.length > 0) {
            const firstRenderedPageIndex = Math.min(this.cache.length, Math.max(0, utils_list.ListUtils.indexBy(this.layout.pages, (page) => page.flags.get(layout_page/* LayoutPageFlags */.m3.ContentRendered))));
            this.sizes.initialize(this.cache[firstRenderedPageIndex].page, this.canvas);
            const oldPageIndo = this.innerClientProperties.viewsSettings.pageVerticalInfo.clone();
            this.innerClientProperties.viewsSettings.pageVerticalInfo.copyFrom(this.sizes.pageVerticalInfo);
            if (this.innerClientProperties.viewsSettings.isSimpleView && !this.innerClientProperties.viewsSettings.pageVerticalInfo.equals(oldPageIndo)) {
                const page = this.layout.pages[firstRenderedPageIndex];
                if (this.layoutFormatterManagerHolder.layoutFormatterManager && page)
                    this.layoutFormatterManagerHolder.layoutFormatterManager.invalidator.onChangedAllLayout();
            }
            if (force) {
                this.canvasScrollManager.updateScrollVisibility();
                this.canvasListener.onCanvasScroll();
            }
        }
        else if (this.sizes.updateSize(this.canvas))
            this.scroll.onCanvasSizeChanged();
    }
    NotifyPagesReady(pageChanges) {
        this.canvasListener.onPagesReady(pageChanges);
    }
    NotifyFullyFormatted(_pageCount) { }
    ;
    NotifySelectionLayoutChanged() {
        const layoutSelection = this.selection.layoutSelection;
        this.changeActiveSubDocumentRenderer.update(layoutSelection);
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onSelectionLayoutChanged\n", log_list_helper/* LogListHelper */.r.level_1(log/* Log */.Z.w(2, log/* Log */.Z.flip(LogObjToStrLayout.pageSelectionChange, 0, 1))(""), this.selection.layoutSelection.selectionInfo.changes, "", "\n"));
        if (this.innerClientProperties.viewsSettings.isSimpleView)
            this.selection.renderAllPageSelection(this.layout, 0, true);
        else
            this.selection.applySelectionChanges(this.layout);
        const pageIndex = utils_list.ListUtils.reverseIndexBy(layoutSelection.selectionInfo.pageInfos, pageInfo => pageInfo.oldItems.length > 0);
        if (pageIndex > -1) {
            const pageInfo = layoutSelection.selectionInfo.pageInfos[pageIndex];
            const item = pageInfo.oldItems[0];
            const layoutPage = this.layout.pages[pageIndex];
            this.inputController.setPosition(layoutPage.x + this.cache[pageIndex].page.offsetLeft + item.x, this.sizes.getPageOffsetY(layoutPage) + item.y);
        }
    }
    NotifySearchSelectionLayoutChanged() {
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onSearchSelectionLayoutChanged\n", log_list_helper/* LogListHelper */.r.level_1(log/* Log */.Z.w(2, log/* Log */.Z.flip(LogObjToStrLayout.pageSelectionChange, 0, 1))(""), this.selection.layoutSelection.searchInfo.changes, "", "\n"));
        if (this.innerClientProperties.viewsSettings.isSimpleView)
            this.searchSelection.renderAllPageSelection(this.layout, 0, true);
        else
            this.searchSelection.applySelectionChanges(this.layout);
    }
    NotifyMisspelledSelectionLayoutChanged() {
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onMisspelledSelectionLayoutChanged\n", log_list_helper/* LogListHelper */.r.level_1(log/* Log */.Z.w(2, log/* Log */.Z.flip(LogObjToStrLayout.pageSelectionChange, 0, 1))(""), this.selection.layoutSelection.misspelledInfo.changes, "", "\n"));
        if (this.innerClientProperties.viewsSettings.isSimpleView)
            this.misspelledSelection.renderAllPageSelection(this.layout, 0, true);
        else
            this.misspelledSelection.applySelectionChanges(this.layout);
    }
    NotifyRangePermissionLayoutChanged() {
        log/* Log */.Z.print(log_source/* LogSource */.O.CanvasManager, "onRangePermissionsLayoutChanged\n", log_list_helper/* LogListHelper */.r.level_1(log/* Log */.Z.w(2, log/* Log */.Z.flip(LogObjToStrLayout.pageSelectionChange, 0, 1))(""), this.selection.layoutSelection.rangePermissionInfo.changes, "", "\n"));
        if (this.innerClientProperties.viewsSettings.isSimpleView)
            this.rangePermission.renderAllPageSelection(this.layout, 0, true);
        else
            this.rangePermission.applySelectionChanges(this.layout);
    }
    addTopLevelContainers() {
        this.pagesContainer = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.PAGES);
        this.serviceContainer = DocumentRenderer.renderContainer(renderer_class_names/* RendererClassNames */.A.TOP_LEVEL_SERVICE_CONTAINER);
        DocumentRenderer.insertInContainer(this.canvas, 0, this.pagesContainer, (node) => node);
        this.canvas.appendChild(this.serviceContainer);
    }
    setWorkSession(layout, layoutSelection, imageCache) {
        this.layout = layout;
        this.imageCache = imageCache;
        this.changeActiveSubDocumentRenderer.init();
        this.selection.layoutSelection = layoutSelection;
        this.searchSelection.layoutSelection = layoutSelection;
        this.misspelledSelection.layoutSelection = layoutSelection;
        this.rangePermission.layoutSelection = layoutSelection;
        this.selection.touchSelectionCircleElementsManager.layoutSelection = layoutSelection;
    }
    closeDocument() {
        dom.DomUtils.clearInnerHtml(this.pagesContainer);
        this.cache.splice(0);
        this.canvasManager.closeDocument();
        this.selection.closeDocument();
        this.searchSelection.closeDocument();
        this.misspelledSelection.closeDocument();
        this.rangePermission.closeDocument();
        number/* NumberMapUtils */.j.forEach(this.canvasListeners, (r) => r.closeDocument());
        this.layout.setEmptyLayout(color_color/* ColorHelper */.v.NO_COLOR);
    }
    ensureFirstPageIsRendered() {
        var _a, _b;
        const firstPage = (_b = (_a = this.layout) === null || _a === void 0 ? void 0 : _a.pages) === null || _b === void 0 ? void 0 : _b[0];
        if (!firstPage)
            return;
        if (this.lastUsedRendererType === views_settings/* ViewType */.bW.PrintLayout && !firstPage.flags.get(layout_page/* LayoutPageFlags */.m3.ContentRendered)) {
            this.printLayoutRenderer.renderPage(firstPage, firstPage.index, true);
            this.changeActiveSubDocumentRenderer.updatePage(this.searchSelection.layoutSelection, firstPage.index);
            firstPage.flags.set(layout_page/* LayoutPageFlags */.m3.ContentRendered, true);
        }
    }
}

;// CONCATENATED MODULE: ./src/common/client-side-events.ts
class ClientSideEvents {
    constructor(owner) {
        this.owner = owner;
    }
    raiseHyperlinkClick(evt, field) {
        return this.owner.raiseHyperlinkClick(evt, field);
    }
    raiseKeyDown(evt) {
        return this.owner.raiseKeyDown(evt);
    }
    raiseKeyUp(evt) {
        this.owner.raiseKeyUp(evt);
    }
    raisePointerDown(evt) {
        return this.owner.raisePointerDown(evt);
    }
    raisePointerUp(evt) {
        return this.owner.raisePointerUp(evt);
    }
    raiseContentInserted(subDocumentId, interval) {
        this.owner.raiseContentInserted(subDocumentId, interval);
    }
    raiseContentRemoved(subDocumentId, interval, removedText) {
        this.owner.raiseContentRemoved(subDocumentId, interval, removedText);
    }
    raiseCharacterPropertiesChanged(subDocumentId, interval) {
        this.owner.raiseCharacterPropertiesChanged(subDocumentId, interval);
    }
    raiseParagraphPropertiesChanged(subDocumentId, paragraphIndex) {
        this.owner.raiseParagraphPropertiesChanged(subDocumentId, paragraphIndex);
    }
    raiseAutoCorrect(text, interval) {
        return this.owner.raiseAutoCorrect(text, interval);
    }
    raiseDocumentChanged() {
        this.owner.raiseDocumentChanged();
    }
    raiseDocumentFormatted(pageCount) {
        this.owner.raiseDocumentFormatted(pageCount);
    }
    raiseActiveSubDocumentChanged() {
        this.owner.raiseActiveSubDocumentChanged();
    }
    raiseSelectionChanged() {
        this.owner.raiseSelectionChanged();
    }
    raiseDocumentLoaded() {
        this.owner.raiseDocumentLoaded();
    }
    raiseGotFocus() {
        this.owner.raiseGotFocus();
    }
    raiseLostFocus() {
        this.owner.raiseLostFocus();
    }
    raiseHorizontalRulerVisibleChanged(horizontalRulerVisible) {
        this.owner.raiseHorizontalRulerVisibleChanged(horizontalRulerVisible);
    }
}

// EXTERNAL MODULE: ./src/common/commands/fields/update-field-command.ts
var update_field_command = __webpack_require__(1849);
;// CONCATENATED MODULE: ./src/common/focus-manager.ts
class FocusManager {
    constructor(canvasManager, owner, inputController, eventManager) {
        this.canvasManager = canvasManager;
        this.owner = owner;
        this.inputController = inputController;
        this.eventManager = eventManager;
    }
    set isInFocus(focused) {
        if (this.isFocus !== focused) {
            this.isFocus = focused;
            this.canvasManager.focusChanged(focused);
        }
    }
    get isInFocus() {
        return this.isFocus;
    }
    captureFocus() {
        if (this.owner.canCaptureFocus()) {
            this.owner.onCaptureFocus();
            this.inputController.captureFocus();
            this.eventManager.onFocusIn();
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/changes/change-base.ts
var change_base = __webpack_require__(5816);
;// CONCATENATED MODULE: ./src/common/global-event-dispatcher.ts







var PublicApiEventType;
(function (PublicApiEventType) {
    PublicApiEventType[PublicApiEventType["None"] = 0] = "None";
    PublicApiEventType[PublicApiEventType["DocumentLoaded"] = 1] = "DocumentLoaded";
    PublicApiEventType[PublicApiEventType["ModelChanged"] = 2] = "ModelChanged";
    PublicApiEventType[PublicApiEventType["SelectionChanged"] = 3] = "SelectionChanged";
    PublicApiEventType[PublicApiEventType["DocumentFormatted"] = 4] = "DocumentFormatted";
})(PublicApiEventType || (PublicApiEventType = {}));
class PublicEvent {
    constructor(type, action, change) {
        this.type = type;
        this.action = action;
        this.change = change;
    }
}
class GlobalEventDispatcher extends batch_updatable/* BatchUpdatableObject */.IS {
    constructor(rich, onModelChanged) {
        super();
        this.deferredEvents = [];
        this.locked = false;
        this.rich = rich;
        this.onModelChanged = onModelChanged;
    }
    addDeferredEvent(e, change, type = PublicApiEventType.None) {
        if (!this.rich.commandManager.isPublicApiCall || this.rich.modelManager.richOptions.control.raiseClientEventsOnModificationsViaAPI) {
            this.deferredEvents.push(new PublicEvent(type, e, change));
            this.handleDeferredEvents();
        }
    }
    isCharacterPropertiesChangedType(type) {
        return type == changes_enums/* ModelChangeType */.f.CharacterPropertiesChanged || type == changes_enums/* ModelChangeType */.f.CharacterFormattingChanged;
    }
    equals(source, target) {
        if (!source || !target)
            return false;
        if (this.isCharacterPropertiesChangedType(source.type) && this.isCharacterPropertiesChangedType(target.type)) {
            const sourceChange = source;
            const targetChange = target;
            return sourceChange.subDocumentId == targetChange.subDocumentId && sourceChange.newState.interval.equals(targetChange.newState.interval);
        }
        return false;
    }
    handleDeferredEvents() {
        if (!this.isLocked() && (!this.rich.commandManager.isPublicApiCall || this.rich.modelManager.richOptions.control.raiseClientEventsOnModificationsViaAPI)) {
            const singleEvents = [];
            const occuredFormattingEvents = [];
            let prevInsertingEvent = null;
            this.deferredEvents = utils_list.ListUtils.reducedMap(this.deferredEvents, (e) => {
                if (e.type == PublicApiEventType.None) {
                    const change = e.change;
                    if (change) {
                        if (this.isCharacterPropertiesChangedType(change.type)) {
                            if (utils_list.ListUtils.indexBy(occuredFormattingEvents, (oe) => this.equals(oe.change, e.change)) < 0)
                                occuredFormattingEvents.push(e);
                            else
                                return null;
                        }
                        if (change instanceof change_base/* ContentInsertedSubDocumentChange */.K) {
                            if (this.tryAppendInsertingEvent(prevInsertingEvent, change))
                                return null;
                            else
                                prevInsertingEvent = e;
                        }
                    }
                    return e;
                }
                singleEvents.push(e);
                return null;
            });
            utils_list.ListUtils.addListOnTail(this.deferredEvents, utils_list.ListUtils.unique(singleEvents, (a, b) => {
                return a.type - b.type;
            }));
            if (!this.locked) {
                this.locked = true;
                for (let action; action = this.deferredEvents.shift();)
                    action.action();
                this.locked = false;
            }
        }
    }
    tryAppendInsertingEvent(prevEvent, modelChange) {
        if (prevEvent) {
            const prevChange = prevEvent.change;
            if (prevChange.canContinuesWith(modelChange)) {
                prevChange.length += modelChange.length;
                prevEvent.action = () => this.rich.clientSideEvents.raiseContentInserted(prevChange.subDocumentId, new fixed.FixedInterval(prevChange.position, prevChange.length));
                return true;
            }
        }
        return false;
    }
    onUpdateUnlocked(_occurredEvents) {
        this.handleDeferredEvents();
    }
    processModelChanged() {
        this.addDeferredEvent(() => this.onModelChanged(), null, PublicApiEventType.ModelChanged);
    }
    NotifyDocumentLoaded() {
        this.addDeferredEvent(() => this.rich.clientSideEvents.raiseDocumentLoaded(), null, PublicApiEventType.DocumentLoaded);
    }
    NotifyPagesReady(_pageChanges) { }
    NotifyFullyFormatted(pageCount) {
        this.addDeferredEvent(() => this.rich.clientSideEvents.raiseDocumentFormatted(pageCount), null, PublicApiEventType.DocumentFormatted);
    }
    NotifySelectionChanged(selection) {
        if (selection.prevState.intervalsInfo.subDocument != selection.currState.intervalsInfo.subDocument)
            this.addDeferredEvent(() => this.rich.clientSideEvents.raiseActiveSubDocumentChanged(), null, PublicApiEventType.SelectionChanged);
        this.addDeferredEvent(() => this.rich.clientSideEvents.raiseSelectionChanged(), null, PublicApiEventType.SelectionChanged);
    }
    NotifyScrollPositionChanged() { }
    modelChanged(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.PageColor:
            case changes_enums/* ModelChangeType */.f.DefaultTabWidth:
            case changes_enums/* ModelChangeType */.f.DifferentOddAndEvenPages:
            case changes_enums/* ModelChangeType */.f.HeaderFooterIndexChanged:
            case changes_enums/* ModelChangeType */.f.SectionFormattingChanged:
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListAdded:
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.NumberingListAdded:
            case changes_enums/* ModelChangeType */.f.NumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.ListLevelPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged:
            case changes_enums/* ModelChangeType */.f.IOverrideListLevelChanged:
            case changes_enums/* ModelChangeType */.f.BookmarkCreated:
            case changes_enums/* ModelChangeType */.f.BookmarkDeleted:
            case changes_enums/* ModelChangeType */.f.TabInserted:
            case changes_enums/* ModelChangeType */.f.TabDeleted:
            case changes_enums/* ModelChangeType */.f.LoadPicturesInfo:
            case changes_enums/* ModelChangeType */.f.InlinePicturesUpdated:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureSizeChanged:
            case changes_enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged:
            case changes_enums/* ModelChangeType */.f.FieldInserted:
            case changes_enums/* ModelChangeType */.f.FieldDeleted:
            case changes_enums/* ModelChangeType */.f.HyperlinkInfoChanged:
            case changes_enums/* ModelChangeType */.f.FieldsShowCodeChanged:
            case changes_enums/* ModelChangeType */.f.TextBufferChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphAndCharacterMergedPropertiesReset:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.AnchorInfoPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ShapeChanged:
            case changes_enums/* ModelChangeType */.f.ShapePropertyChanged:
            case changes_enums/* ModelChangeType */.f.CreateStyleLink:
            case changes_enums/* ModelChangeType */.f.DeleteStyleLink:
            case changes_enums/* ModelChangeType */.f.CharacterStyleApplied:
            case changes_enums/* ModelChangeType */.f.ParagraphStyleApplied:
            case changes_enums/* ModelChangeType */.f.TableStyleChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphNumberingListChanged:
            case changes_enums/* ModelChangeType */.f.TableCreated:
            case changes_enums/* ModelChangeType */.f.TableStartPositionShifted:
            case changes_enums/* ModelChangeType */.f.TableCellPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TablePropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableRowPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableCellSplittedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableCellMergedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableRowInserted:
            case changes_enums/* ModelChangeType */.f.TableRowRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellInserted: {
                this.processModelChanged();
                break;
            }
            case changes_enums/* ModelChangeType */.f.SectionMerged: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseContentRemoved(sub_document/* SubDocument */.jP.MAIN_SUBDOCUMENT_ID, change.removedInterval, rich_utils/* RichUtils */.i.specialCharacters.SectionMark), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphMerged: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseContentRemoved(change.subDocumentId, change.removedInterval, rich_utils/* RichUtils */.i.specialCharacters.ParagraphMark), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.HeaderFooterCreated:
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted:
            case changes_enums/* ModelChangeType */.f.ParagraphInserted:
            case changes_enums/* ModelChangeType */.f.SectionInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseContentInserted(change.subDocumentId, new fixed.FixedInterval(change.position, 1)), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseContentInserted(change.subDocumentId, new fixed.FixedInterval(change.position, change.length)), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved: {
                break;
            }
            case changes_enums/* ModelChangeType */.f.IntervalRemoved: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseContentRemoved(change.subDocumentId, change.interval, change.removedText), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterFormattingChanged: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseCharacterPropertiesChanged(change.subDocumentId, change.newState.interval), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.CharacterPropertiesChanged: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseCharacterPropertiesChanged(change.subDocumentId, change.newState.interval), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphFormattingChanged: {
                this.processModelChanged();
                const paragraphIndexs = this.rich.modelManager.model.subDocuments[change.subDocumentId].getParagraphsIndices(change.newState.interval);
                for (let i = paragraphIndexs.start; i < paragraphIndexs.end; i++) {
                    const parInd = i;
                    this.addDeferredEvent(() => this.rich.clientSideEvents.raiseParagraphPropertiesChanged(change.subDocumentId, parInd), change);
                }
                break;
            }
            case changes_enums/* ModelChangeType */.f.ParagraphPropertiesChanged: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseParagraphPropertiesChanged(change.subDocumentId, change.paragraphIndex), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.TableRemoved: {
                this.processModelChanged();
                this.addDeferredEvent(() => this.rich.clientSideEvents.raiseContentRemoved(change.subDocumentId, fixed.FixedInterval.fromPositions(change.startPosition, change.endPosition), change.removedText), change);
                break;
            }
            case changes_enums/* ModelChangeType */.f.DocumentProtectionChanged: {
                this.processModelChanged();
                break;
            }
            case changes_enums/* ModelChangeType */.f.RangePermissionsChanged: {
                this.processModelChanged();
                break;
            }
            case changes_enums/* ModelChangeType */.f.RangePermissionsPropertiesChanged: {
                this.processModelChanged();
                break;
            }
        }
    }
}

// EXTERNAL MODULE: ./src/common/model/manipulators/range/create-range-copy-operation.ts
var create_range_copy_operation = __webpack_require__(4792);
// EXTERNAL MODULE: ./src/common/model-manager.ts + 91 modules
var model_manager = __webpack_require__(1805);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/insert-picture-manipulator-params.ts
var insert_picture_manipulator_params = __webpack_require__(4990);
// EXTERNAL MODULE: ./src/common/model/manipulators/picture-manipulator/loader/image-loading-options.ts
var image_loading_options = __webpack_require__(4285);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/data-transfer.js
var data_transfer = __webpack_require__(6017);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/mime-type.js
var mime_type = __webpack_require__(4633);
// EXTERNAL MODULE: ./src/common/formats/rtf/import/importer-options.ts + 1 modules
var importer_options = __webpack_require__(3725);
// EXTERNAL MODULE: ./src/common/formats/rtf/import/rtf-importer.ts + 196 modules
var rtf_importer = __webpack_require__(421);
;// CONCATENATED MODULE: ./src/common/clipboard-content-inserter.ts












class ClipboardContentInserter {
    constructor(control) {
        this.control = control;
        this.processed = false;
    }
    insert(evt) {
        const plainTextItem = data_transfer/* DataTransferUtils */.F.getPlainTextItem(evt.clipboardData.items);
        const rtfItem = data_transfer/* DataTransferUtils */.F.getRtfTextItem(evt.clipboardData.items);
        const htmlItem = data_transfer/* DataTransferUtils */.F.getTransferItemByType(evt.clipboardData.items, mime_type.HtmlMimeType);
        if (rtfItem) {
            this.loadingPanelManager = this.control.loadingPanelManager.loadingPanel.showPanelDelayed(400);
            utils_evt/* EvtUtils */.g.preventEvent(evt);
            if (rtfItem)
                this.insertClipboardRtf(rtfItem);
            if (htmlItem)
                this.insertClipboardHtml(htmlItem);
            return true;
        }
        if (!plainTextItem) {
            const file = data_transfer/* DataTransferUtils */.F.getImageItem(evt.clipboardData.items);
            if (file) {
                utils_evt/* EvtUtils */.g.preventEvent(evt);
                this.insertClipboardPicture(file);
                return true;
            }
        }
        return false;
    }
    insertClipboardHtml(htmlItem) {
        try {
            htmlItem.getAsString((htmlText) => {
                if (this.processed)
                    return;
                const command = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertHtml);
                command.execute(true, htmlText);
                this.processed = true;
            });
        }
        catch (_a) {
            console.warn("Html insert error");
        }
        finally {
            this.loadingPanelManager.hidePanel();
        }
    }
    insertClipboardPicture(file) {
        this.control.beginUpdate();
        this.control.isLoadingPictureFromClipboard = true;
        const charInfo = this.control.modelManager.model.cache.imageCache.createUnloadedInfoByFile(file);
        const subDocument = this.control.selection.activeSubDocument;
        const interval = this.control.selection.currState.interval.clone();
        this.control.modelManager.history.addTransaction(() => {
            command_base/* CommandBase */.eK.addSelectionBefore(this.control);
            this.control.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, interval), true, true);
            this.control.modelManager.modelManipulator.picture.insertInlinePictureViaHistory(new sub_document/* SubDocumentPosition */.rg(subDocument, interval.start), this.control.inputPosition.charPropsBundle, insert_picture_manipulator_params/* InlinePictureInfo */.AT.defaultInfo(charInfo), new image_loading_options/* ImageLoadingOptions */.j(true, undefined, () => this.control.isLoadingPictureFromClipboard = false));
            command_base/* CommandBase */.eK.addSelectionAfter(this.control, interval.start + 1);
        });
        this.control.endUpdate();
    }
    insertClipboardRtf(rtfItem) {
        this.control.isLoadingPictureFromClipboard = true;
        rtfItem.getAsString((rtf) => {
            if (this.processed || !rtf)
                return;
            if (rtf.length > 100000)
                this.loadingPanelManager.executeIfTimerExpired();
            const options = new importer_options/* RtfImporterOptions */.m(() => { });
            new rtf_importer/* RtfImporter */.w(options).importFromString(rtf, this.control.modelManager.richOptions, (model, formatImagesImporter) => {
                this.loadingPanelManager.executeIfTimerExpired();
                formatImagesImporter.whenAllPicturesLoaded((_success) => {
                    this.loadingPanelManager.executeIfTimerExpired();
                    this.control.beginUpdate();
                    const subDocument = this.control.selection.activeSubDocument;
                    const interval = this.control.selection.currState.interval.clone();
                    this.control.modelManager.history.addTransaction(() => {
                        command_base/* CommandBase */.eK.addSelectionBefore(this.control);
                        this.control.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, interval), true, true);
                        const result = this.control.modelManager.modelManipulator.subDocument.insertSubDocument(new sub_document/* SubDocumentPosition */.rg(subDocument, interval.start), new sub_document/* SubDocumentInterval */.v8(model.mainSubDocument, model.mainSubDocument.interval));
                        command_base/* CommandBase */.eK.addSelectionAfter(this.control, result.insetedInterval.end);
                        model.updateHyperlinkFields(this.control, new sub_document/* SubDocumentInterval */.v8(subDocument, result.insetedInterval), result.newSubDocuments);
                    });
                    this.control.endUpdate();
                    this.control.isLoadingPictureFromClipboard = false;
                    this.control.commandManager.abortClipboardCommandExecution();
                }, 5000);
                const newModelManager = new model_manager/* ClientModelManager */.wn(model, this.control.modelManager.richOptions, new batch_updatable/* EmptyBatchUpdatableObject */.m1());
                formatImagesImporter.import(newModelManager.modelManipulator);
                this.loadingPanelManager.hidePanel();
                this.processed = true;
            }, (_reason) => {
                console.warn("Rtf insert error");
                this.loadingPanelManager.hidePanel();
            });
        });
    }
}

// EXTERNAL MODULE: ./src/common/formats/html/export/html-builder.ts
var html_builder = __webpack_require__(5365);
;// CONCATENATED MODULE: ./src/common/formats/html/export/html-export.ts




























class HtmlExporter {
    get modelManager() { return this.exportModelOptions.modelManager; }
    get colorProvider() { return this.modelManager.model.colorProvider; }
    get unitConverter() { return this.exportModelOptions.uiUnitConverter; }
    get documentRenderer() { return this.exportModelOptions.pictureRenderer; }
    get lastMaxNumPages() { return this.exportModelOptions.lastMaxNumPages; }
    ;
    get pageIndex() { return this.exportModelOptions.pageIndex; }
    ;
    constructor(exportModelOptions, htmlExporterOptions = null) {
        this.rangeCopy = null;
        this.exportModelOptions = exportModelOptions;
        this.htmlExporterOptions = htmlExporterOptions;
    }
    getHtmlElementsByInterval(model, subDocument, interval, guidLabel) {
        var _a, _b, _c, _d;
        if (interval.length === 0)
            return;
        const unitTypeToString = this.unitConverter.getUnits() == unit_converter/* RichEditUnit */.UH.Centimeter ? "cm" : "in";
        const iterator = subDocument.getConstRunIterator(interval);
        let remainLength = interval.length;
        let currentPosition = interval.start;
        let resultBuilder = new html_builder/* HtmlBuilder */.C();
        const paragraphs = this.getParagraphsByInterval(subDocument, interval);
        const lists = this.getListsByParagraphs(paragraphs);
        let isInsideFieldCode = false;
        let fieldDeep = 0;
        let isInsideHyperlink = false;
        let hyperlinkInfo = null;
        let hyperlinkInnerHtml = new html_builder/* HtmlBuilder */.C();
        let hasFields = false;
        while (iterator.moveNext()) {
            const tableCell = main_structures_table/* Table */.iA.getTableCellByPosition(subDocument.tables, iterator.currentInterval().start);
            const isContinueMergingCell = tableCell && tableCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue;
            const run = iterator.currentRun;
            const isRunInEmptyParagraph = run.paragraph.length === 1;
            if (paragraphs.length && (run.getType() != run_type/* RunType */.m.ParagraphRun || isRunInEmptyParagraph)) {
                const paragraphToStartIndex = search.SearchUtils.normedInterpolationIndexOf(paragraphs, (p) => p.startLogPosition.value, currentPosition);
                if (paragraphToStartIndex > -1) {
                    const currentParagraph = paragraphs[paragraphToStartIndex];
                    paragraphs.splice(paragraphToStartIndex, 1);
                    if (tableCell) {
                        const row = tableCell.parentRow;
                        const table = row.parentTable;
                        const paragraphStartPosition = currentParagraph.startLogPosition.value;
                        if (table.getStartPosition() == paragraphStartPosition) {
                            if (table.parentCell)
                                this.addParentTableRecursively(model, resultBuilder, table.parentCell, paragraphStartPosition);
                            resultBuilder
                                .startChild('table')
                                .configure((el) => {
                                el.style.cssText = this.getTableStyle(model, table);
                            })
                                .startChild('tbody');
                        }
                        if (row.getStartPosition() == paragraphStartPosition) {
                            resultBuilder.startChild('tr');
                            if (row.gridBefore > 0) {
                                resultBuilder
                                    .startChild('td')
                                    .configure((el) => {
                                    el.style.cssText = "mso-cell-special:placeholder";
                                    el.setAttribute('colspan', row.gridBefore.toString());
                                    el.innerHTML = "&nbsp;";
                                })
                                    .endChild('td');
                            }
                        }
                        if (tableCell.startParagraphPosition.value == paragraphStartPosition && !isContinueMergingCell) {
                            let rowSpan = 1;
                            if (tableCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Restart) {
                                let rowIndex = table.rows.indexOf(row);
                                let cellIndex = row.cells.indexOf(tableCell);
                                for (let i = rowIndex + 1, row; row = table.rows[i]; i++) {
                                    let nextRowCellIndex = cellIndex;
                                    if (row.cells.length != row.cells.length) {
                                        let extraCellsCount = 0;
                                        let isNextRowLonger = row.cells.length > row.cells.length;
                                        let shorterRow = isNextRowLonger ? row : row;
                                        for (let j = 0; (j < cellIndex) && (j < shorterRow.cells.length); j++) {
                                            extraCellsCount += shorterRow.cells[j].columnSpan - 1;
                                            if (!isNextRowLonger)
                                                extraCellsCount -= row.cells[j].columnSpan - 1;
                                        }
                                        nextRowCellIndex += (isNextRowLonger ? 1 : -1) * extraCellsCount;
                                    }
                                    let nextRowCell = row.cells[nextRowCellIndex];
                                    if (nextRowCell && nextRowCell.verticalMerging === table_base_structures/* TableCellMergingState */.Z3.Continue)
                                        rowSpan++;
                                    else
                                        break;
                                }
                            }
                            resultBuilder
                                .startChild('td')
                                .configure((el) => {
                                el.style.cssText = this.getCellStyle(model, tableCell);
                                if (rowSpan > 1)
                                    el.setAttribute('rowspan', rowSpan.toString());
                                if (tableCell.columnSpan > 1)
                                    el.setAttribute('colspan', tableCell.columnSpan.toString());
                            });
                        }
                    }
                    this.startList(model, subDocument, interval, resultBuilder, lists, iterator.currentInterval().start);
                    if (!isContinueMergingCell) {
                        const maskedParagraphProperties = currentParagraph.getParagraphMergedProperties();
                        let paragraphStyle = "";
                        const firstLineIndentType = maskedParagraphProperties.firstLineIndentType;
                        if (firstLineIndentType != paragraph_properties/* ParagraphFirstLineIndent */.Qi.None) {
                            paragraphStyle += "text-indent: " + (firstLineIndentType == paragraph_properties/* ParagraphFirstLineIndent */.Qi.Hanging ? "-" : "") +
                                this.unitConverter.twipsToUI(maskedParagraphProperties.firstLineIndent) + unitTypeToString + ";";
                        }
                        if (maskedParagraphProperties.alignment !== undefined) {
                            paragraphStyle += "text-align: ";
                            switch (maskedParagraphProperties.alignment) {
                                case paragraph_properties/* ParagraphAlignment */.wq.Left:
                                    paragraphStyle += "left;";
                                    break;
                                case paragraph_properties/* ParagraphAlignment */.wq.Right:
                                    paragraphStyle += "right;";
                                    break;
                                case paragraph_properties/* ParagraphAlignment */.wq.Justify:
                                case paragraph_properties/* ParagraphAlignment */.wq.JustifyHigh:
                                case paragraph_properties/* ParagraphAlignment */.wq.JustifyLow:
                                case paragraph_properties/* ParagraphAlignment */.wq.JustifyMedium:
                                case paragraph_properties/* ParagraphAlignment */.wq.Distribute:
                                case paragraph_properties/* ParagraphAlignment */.wq.ThaiDistribute:
                                    paragraphStyle += "justify;";
                                    break;
                                case paragraph_properties/* ParagraphAlignment */.wq.Center:
                                    paragraphStyle += "center;";
                                    break;
                                default:
                                    break;
                            }
                        }
                        if (maskedParagraphProperties.lineSpacingType != paragraph_properties/* ParagraphLineSpacingType */.yX.Single) {
                            const lineSpacingInUI = this.unitConverter.twipsToUI(maskedParagraphProperties.lineSpacing) + unitTypeToString + ";";
                            paragraphStyle += "line-height: ";
                            switch (maskedParagraphProperties.lineSpacingType) {
                                case paragraph_properties/* ParagraphLineSpacingType */.yX.AtLeast:
                                    paragraphStyle += lineSpacingInUI;
                                    break;
                                case paragraph_properties/* ParagraphLineSpacingType */.yX.Double:
                                    paragraphStyle += "2;";
                                    break;
                                case paragraph_properties/* ParagraphLineSpacingType */.yX.Exactly:
                                    paragraphStyle += lineSpacingInUI + "mso-line-height-rule: exactly;";
                                    break;
                                case paragraph_properties/* ParagraphLineSpacingType */.yX.Multiple:
                                    paragraphStyle += maskedParagraphProperties.lineSpacing + ";";
                                    break;
                                case paragraph_properties/* ParagraphLineSpacingType */.yX.Sesquialteral:
                                    paragraphStyle += "1.5;";
                                    break;
                                default:
                                    break;
                            }
                        }
                        if (utils_color/* ColorUtils */.i.getAlpha(maskedParagraphProperties.shadingInfo.getActualColor(this.colorProvider)) > 0)
                            paragraphStyle += "background: " + color_color/* ColorHelper */.v.getCssStringInternal(maskedParagraphProperties.shadingInfo.getActualColor(this.colorProvider)) + ";";
                        if (maskedParagraphProperties.leftIndent)
                            paragraphStyle += "margin-left: " + this.unitConverter.twipsToUI(maskedParagraphProperties.leftIndent) + unitTypeToString + ";";
                        if (maskedParagraphProperties.rightIndent)
                            paragraphStyle += "margin-right: " + this.unitConverter.twipsToUI(maskedParagraphProperties.rightIndent) + unitTypeToString + ";";
                        paragraphStyle += "margin-top: " + this.unitConverter.twipsToUI(maskedParagraphProperties.spacingBefore) + unitTypeToString + ";";
                        paragraphStyle += "margin-bottom: " + this.unitConverter.twipsToUI(maskedParagraphProperties.spacingAfter) + unitTypeToString + ";";
                        const topBorderStyle = this.getBorderCssString(maskedParagraphProperties.topBorder);
                        if (topBorderStyle)
                            paragraphStyle += "border-top:" + topBorderStyle + ";";
                        const leftBorderStyle = this.getBorderCssString(maskedParagraphProperties.leftBorder);
                        if (leftBorderStyle)
                            paragraphStyle += "border-left:" + leftBorderStyle + ";";
                        const bottomBorderStyle = this.getBorderCssString(maskedParagraphProperties.bottomBorder);
                        if (bottomBorderStyle)
                            paragraphStyle += "border-bottom:" + bottomBorderStyle + ";";
                        const rightBorderStyle = this.getBorderCssString(maskedParagraphProperties.rightBorder);
                        if (rightBorderStyle)
                            paragraphStyle += "border-right:" + rightBorderStyle + ";";
                        if (isRunInEmptyParagraph) {
                            const charProps = run.getCharacterMergedProperties();
                            paragraphStyle += html_converter/* HtmlConverter */.c.getCssRules(charProps, charProps.textColor.toRgb(this.colorProvider), false, false, false)
                                .join(";");
                        }
                        if (currentParagraph.isInList())
                            resultBuilder.startChild('li');
                        resultBuilder
                            .startChild('p')
                            .configure((e) => {
                            if (paragraphStyle)
                                e.style.cssText = paragraphStyle;
                            if (isRunInEmptyParagraph)
                                e.innerHTML = "&nbsp;";
                        });
                    }
                }
            }
            let html = new html_builder/* HtmlBuilder */.C();
            let innerHtml = new html_builder/* HtmlBuilder */.C();
            const length = Math.min(remainLength, iterator.currentInterval().length);
            switch (run.getType()) {
                case run_type/* RunType */.m.ParagraphRun:
                    if (!isContinueMergingCell) {
                        html.addCallback((builder) => builder.endChild('p'));
                        if (run.paragraph.isInList()) {
                            html.addCallback((builder) => builder.endChild('li'));
                            html.addCallback((builder) => this.endList(model, builder, lists, iterator.currentInterval().end));
                        }
                        let paragraphEndPosition = run.paragraph.getEndPosition();
                        if (tableCell) {
                            let parentRow = tableCell.parentRow;
                            let parentTable = parentRow.parentTable;
                            if (tableCell.endParagrapPosition.value == paragraphEndPosition)
                                html.addCallback((builder) => builder.endChild('td'));
                            if (parentRow.getEndPosition() == paragraphEndPosition) {
                                if (parentRow.gridAfter > 0)
                                    html.addCallback((builder) => {
                                        builder
                                            .addElement('td')
                                            .configure((el) => {
                                            el.style.cssText = "mso-cell-special:placeholder";
                                            el.setAttribute('colspan', parentRow.gridAfter.toString());
                                            el.innerHTML = "&nbsp;";
                                        })
                                            .endChild('td');
                                    });
                                html.addCallback((builder) => {
                                    builder.endChild('tr');
                                });
                            }
                            if (parentTable.getEndPosition() == paragraphEndPosition)
                                html.addCallback((builder) => {
                                    builder
                                        .endChild('tbody')
                                        .endChild('table');
                                });
                        }
                    }
                    break;
                case run_type/* RunType */.m.InlinePictureRun:
                case run_type/* RunType */.m.AnchoredPictureRun: {
                    const picRun = run;
                    const charMergProps = run.getCharacterMergedProperties();
                    const pictureBox = new layout_picture_box/* LayoutPictureBox */.B(charMergProps, charMergProps.getLayoutColorInfo(this.colorProvider), picRun.cacheInfo, picRun.getActualSize().applyConverter(class_unit_converter/* UnitConverter */.u.twipsToPixels), picRun.info.nonVisualDrawingProperties.description);
                    const { cacheInfo, hyperlinkTip, description } = pictureBox;
                    innerHtml
                        .clear()
                        .addElement(this.documentRenderer.renderPictureBoxContent(pictureBox.createSize(), cacheInfo, hyperlinkTip, description));
                    break;
                }
                case run_type/* RunType */.m.InlineTextBoxRun:
                case run_type/* RunType */.m.AnchoredTextBoxRun: {
                    let textBoxRun = run;
                    let internalSubDocument = model.subDocuments[textBoxRun.subDocId];
                    innerHtml
                        .clear()
                        .startChild('table')
                        .configure((el) => {
                        el.setAttribute('border', '1');
                        el.style.cssText = 'border-width: 0px; border-collapse: collapse; border-spacing: 0px;';
                        el.setAttribute('id', guidLabel.replace("id=\"", "").replace("\"", ""));
                    })
                        .startChild('tbody')
                        .startChild('tr')
                        .startChild('td')
                        .configure((el) => {
                        el.style.cssText = this.getTextBoxStyleString(textBoxRun);
                    })
                        .assignFrom(this.getHtmlElementsByInterval(model, internalSubDocument, new fixed.FixedInterval(0, internalSubDocument.getDocumentEndPosition()), guidLabel))
                        .endChild('td')
                        .endChild('tr')
                        .endChild('tbody')
                        .endChild('table');
                    break;
                }
                case run_type/* RunType */.m.FieldCodeStartRun:
                    isInsideFieldCode = true;
                    const fieldIndex = fields_field/* Field */.gN.normedBinaryIndexOf(subDocument.fields, currentPosition + 1);
                    const field = subDocument.fields[fieldIndex];
                    if (field.isHyperlinkField()) {
                        hyperlinkInfo = field.getHyperlinkInfo();
                        isInsideHyperlink = true;
                    }
                    fieldDeep++;
                    break;
                case run_type/* RunType */.m.FieldCodeEndRun:
                    isInsideFieldCode = false;
                    break;
                case run_type/* RunType */.m.FieldResultEndRun:
                    fieldDeep--;
                    if (!fieldDeep)
                        isInsideHyperlink = false;
                    hasFields = true;
                    break;
                case run_type/* RunType */.m.LayoutDependentRun:
                    let currentField = subDocument.fields[fields_field/* Field */.gN.normedBinaryIndexOf(subDocument.fields, currentPosition)];
                    if (currentField) {
                        let codeText = string.StringUtils.trim(subDocument.getText(currentField.getCodeInterval()).split("\\")[0]).toUpperCase();
                        if (codeText == "NUMPAGES" && (0,common.isDefined)(this.lastMaxNumPages))
                            innerHtml
                                .clear()
                                .addElement(this.lastMaxNumPages.toString());
                        else if (codeText == "PAGE" && (0,common.isDefined)(this.pageIndex))
                            innerHtml
                                .clear()
                                .addElement((this.pageIndex + 1).toString());
                    }
                    break;
                default:
                    if (!isInsideFieldCode)
                        innerHtml = this.getHtmlText(subDocument.getText(new fixed.FixedInterval(currentPosition, length)));
                    break;
            }
            if (hyperlinkInfo && !isInsideHyperlink) {
                const sanitaizeHyperlinkURIs = (_b = (_a = this.htmlExporterOptions) === null || _a === void 0 ? void 0 : _a.sanitaizeHyperlinkURIs) !== null && _b !== void 0 ? _b : false;
                const convertRelativeURIsToAbsolute = (_d = (_c = this.htmlExporterOptions) === null || _c === void 0 ? void 0 : _c.convertRelativeURIsToAbsolute) !== null && _d !== void 0 ? _d : false;
                let url = hyperlinkInfo.uri;
                const options = (0,utils/* createUrlValidationOptions */.EW)(this.exportModelOptions.modelManager);
                if (!sanitaizeHyperlinkURIs || utils/* UrlUtils */.jE.isValid(url, options)) {
                    if (convertRelativeURIsToAbsolute && utils/* UrlUtils */.jE.isRelative(url))
                        url = utils/* UrlUtils */.jE.convertToAbsolute(url).href;
                    if (hyperlinkInfo.anchor != "")
                        url = url + "#" + hyperlinkInfo.anchor;
                }
                else
                    url = utils/* UrlUtils */.jE.EmptyPage;
                const tooltip = hyperlinkInfo.tip;
                html
                    .clear()
                    .startChild('a')
                    .configure((el) => {
                    el.setAttribute('href', url);
                    if (tooltip)
                        el.setAttribute('title', tooltip);
                })
                    .assignFrom(hyperlinkInnerHtml)
                    .endChild('a');
                hyperlinkInfo = null;
                hyperlinkInnerHtml.clear();
            }
            if (html.isEmpty() && !innerHtml.isEmpty()) {
                const characterProperties = run.getCharacterMergedProperties();
                const boxStyle = html_converter/* HtmlConverter */.c.getCssRules(characterProperties, characterProperties.textColor.toRgb(this.colorProvider), run.getType() == run_type/* RunType */.m.TextRun, false, false).
                    join(";");
                html
                    .startChild('span')
                    .configure((el) => {
                    el.style.cssText = boxStyle;
                })
                    .assignFrom(innerHtml)
                    .endChild('span');
                if (hyperlinkInfo) {
                    if (isInsideHyperlink) {
                        hyperlinkInnerHtml.assignFrom(html);
                        html.clear();
                    }
                }
                else {
                    if (characterProperties.fontUnderlineType != character_enums/* UnderlineType */.Xq.None && !characterProperties.underlineWordsOnly) {
                        const underlineColor = characterProperties.underlineColor.toRgb(this.colorProvider);
                        const cssColorValue = (underlineColor != color_color/* ColorHelper */.v.AUTOMATIC_COLOR) ? color_color/* ColorHelper */.v.getCssStringInternal(underlineColor) : "initial";
                        const builder = new html_builder/* HtmlBuilder */.C();
                        builder
                            .startChild('span')
                            .configure((el) => {
                            el.style.cssText = "text-decoration: underline; color: " + cssColorValue;
                        })
                            .assignFrom(html)
                            .endChild('span');
                        html = builder;
                    }
                    if (characterProperties.script !== character_enums/* CharacterFormattingScript */.Vg.Normal) {
                        const builder = new html_builder/* HtmlBuilder */.C();
                        builder
                            .startChild('span')
                            .configure((el) => {
                            el.style.cssText = "font-size: " + characterProperties.fontSize + "px;";
                        })
                            .assignFrom(html)
                            .endChild('span');
                        html = builder;
                    }
                    if (utils_color/* ColorUtils */.i.getAlpha(character_properties/* CharacterProperties */.d.getActualBackgroundColor(characterProperties, this.colorProvider)) > 0) {
                        const builder = new html_builder/* HtmlBuilder */.C();
                        builder
                            .startChild('span')
                            .configure((el) => {
                            el.style.cssText = "background: " + color_color/* ColorHelper */.v.getCssStringInternal(character_properties/* CharacterProperties */.d.getActualBackgroundColor(characterProperties, this.colorProvider));
                        })
                            .assignFrom(html)
                            .endChild('span');
                        html = builder;
                    }
                }
            }
            resultBuilder.assignFrom(html);
            currentPosition += length;
            remainLength -= length;
        }
        if (/^<td[^>]*>/gi.test(resultBuilder.getHtmlString())) {
            const builder = new html_builder/* HtmlBuilder */.C();
            builder.startChild('tr');
            builder.assignFrom(resultBuilder);
            resultBuilder = builder;
        }
        if (/<\/td>$/gi.test(resultBuilder.getHtmlString()))
            resultBuilder.endChild("tr");
        if (/^<tr[^>]*>/gi.test(resultBuilder.getHtmlString())) {
            const builder = new html_builder/* HtmlBuilder */.C();
            builder
                .startChild('table')
                .configure((el) => {
                el.style.cssText = this.getTableStyle(model, null);
            })
                .startChild('tbody')
                .assignFrom(resultBuilder);
            resultBuilder = builder;
        }
        if (/<\/tr>$/gi.test(resultBuilder.getHtmlString()))
            resultBuilder
                .endChild('tbody')
                .endChild('table');
        if (hasFields && resultBuilder.isEmpty())
            resultBuilder
                .startChild('span')
                .configure((el) => {
                el.classList.add('field-mark');
                el.innerHTML = "&nbsp;";
            })
                .endChild('span');
        return resultBuilder;
    }
    getParagraphsByInterval(subDocument, interval) {
        const paragraphsInInterval = subDocument.getParagraphsByInterval(interval);
        const paragraphs = [];
        for (let i = 0, paragraphInInterval; paragraphInInterval = paragraphsInInterval[i]; i++) {
            if (interval.containsWithIntervalEnd(paragraphInInterval.getEndPosition()))
                paragraphs.push(paragraphInInterval);
        }
        return paragraphs;
    }
    getListsByParagraphs(paragraphs) {
        const listsInInterval = [];
        let previousList = null;
        for (let i = 0, paragraph; paragraph = paragraphs[i]; i++) {
            if (paragraph.isInList()) {
                const numberingListIndex = paragraph.getNumberingListIndex();
                const listLevelIndex = paragraph.getListLevelIndex();
                const start = paragraph.startLogPosition.value;
                const end = paragraph.getEndPosition();
                let list = utils_list.ListUtils.reverseElementBy(listsInInterval, (list) => {
                    return list.listLevelIndex <= (previousList === null || previousList === void 0 ? void 0 : previousList.listLevelIndex)
                        && list.numberingListIndex === numberingListIndex
                        && list.listLevelIndex === listLevelIndex;
                });
                if (!list) {
                    const parentList = (previousList === null || previousList === void 0 ? void 0 : previousList.numberingListIndex) === numberingListIndex ? previousList : null;
                    list = { parentList, numberingListIndex, listLevelIndex, start, end };
                    listsInInterval.push(list);
                }
                previousList = list;
                do {
                    list.end = end;
                } while (list = list.parentList);
            }
        }
        return listsInInterval;
    }
    addParentTableRecursively(model, builder, parentCell, paragraphStartPosition) {
        const parentRow = parentCell.parentRow;
        const parentTable = parentRow.parentTable;
        if (parentTable.parentCell)
            this.addParentTableRecursively(model, builder, parentTable.parentCell, paragraphStartPosition);
        if (parentTable.getStartPosition() === paragraphStartPosition) {
            builder
                .startChild('table')
                .configure(e => e.style.cssText = this.getTableStyle(model, parentTable))
                .startChild('tbody');
        }
        if (parentRow.getStartPosition() === paragraphStartPosition) {
            builder.startChild('tr');
            if (parentRow.gridBefore > 0) {
                builder
                    .startChild('td')
                    .configure(el => {
                    el.style.cssText = 'mso-cell-special:placeholder';
                    el.setAttribute('colspan', parentRow.gridBefore.toString());
                    el.innerHTML = '&nbsp;';
                })
                    .endChild('td');
            }
        }
        if (parentCell.startParagraphPosition.value === paragraphStartPosition) {
            builder
                .startChild('td')
                .configure((el) => {
                el.style.cssText = this.getCellStyle(model, parentCell);
                if (parentCell.columnSpan > 1)
                    el.setAttribute('colspan', parentCell.columnSpan.toString());
            });
        }
    }
    startList(model, subDocument, interval, builder, lists, position) {
        if (!lists.length)
            return;
        let listIndex = lists.findIndex((list) => list.start === position);
        if (listIndex < 0 && position === interval.start) {
            const firstParagraph = subDocument.getParagraphByPosition(position);
            if (firstParagraph.getNumberingListIndex() === lists[0].numberingListIndex)
                listIndex = 0;
        }
        if (listIndex > -1) {
            const numberingList = model.numberingLists[lists[listIndex].numberingListIndex];
            const numberingListFormat = numberingList.levels[lists[listIndex].listLevelIndex].getListLevelProperties().format;
            const numberingListType = numberingList.getListType();
            let listFormatType = "";
            switch (numberingListFormat) {
                case list_level_properties/* NumberingFormat */.uV.Bullet:
                    listFormatType = "disc";
                    break;
                case list_level_properties/* NumberingFormat */.uV.Decimal:
                    listFormatType = "decimal";
                    break;
                case list_level_properties/* NumberingFormat */.uV.LowerLetter:
                    listFormatType = "lower-alpha";
                    break;
                case list_level_properties/* NumberingFormat */.uV.UpperLetter:
                    listFormatType = "upper-alpha";
                    break;
                case list_level_properties/* NumberingFormat */.uV.LowerRoman:
                    listFormatType = "lower-roman";
                    break;
                case list_level_properties/* NumberingFormat */.uV.UpperRoman:
                    listFormatType = "upper-roman";
                    break;
                default:
                    break;
            }
            builder
                .startChild(numberingListType !== numbering_list/* NumberingType */.FB.Bullet ? "ol" : "ul")
                .configure((e) => e.style.cssText = "list-style-type:" + listFormatType);
        }
    }
    endList(model, builder, lists, endPosition) {
        for (let i = lists.length - 1; i >= 0; i--) {
            if (lists[i].end === endPosition) {
                const listType = model.numberingLists[lists[i].numberingListIndex].getListType();
                lists.splice(i, 1);
                builder.endChild(listType != numbering_list/* NumberingType */.FB.Bullet ? "ol" : "ul");
            }
        }
    }
    getHtmlText(text) {
        const result = new html_builder/* HtmlBuilder */.C();
        for (let i = 0; i < text.length; i++) {
            const char = text.charAt(i);
            switch (char) {
                case rich_utils/* RichUtils */.i.specialCharacters.PageBreak:
                case rich_utils/* RichUtils */.i.specialCharacters.ColumnBreak:
                case rich_utils/* RichUtils */.i.specialCharacters.SectionMark:
                    result.addCallback((builder) => builder.addBreak("break-before:always"));
                    break;
                case rich_utils/* RichUtils */.i.specialCharacters.LineBreak:
                    result.addCallback((builder) => builder.addBreak());
                    break;
                default:
                    result.addCallback((builder) => {
                        builder.configure((el) => el.innerHTML += encode.EncodeUtils.encodeHtml(text.substring(i)));
                    });
                    return result;
            }
        }
        return result;
    }
    getBorderCssString(borderInfo) {
        let borderStyle = "";
        if (borderInfo) {
            if (borderInfo.width)
                borderStyle += " " + class_unit_converter/* UnitConverter */.u.twipsToPixels(borderInfo.width) + "px";
            switch (borderInfo.style) {
                case borders_enums/* BorderLineStyle */.u.Dashed:
                    borderStyle += " dashed";
                    break;
                case borders_enums/* BorderLineStyle */.u.Dotted:
                    borderStyle += " dotted";
                    break;
                case borders_enums/* BorderLineStyle */.u.Double:
                    borderStyle += " double";
                    break;
                case borders_enums/* BorderLineStyle */.u.Inset:
                    borderStyle += " inset";
                    break;
                case borders_enums/* BorderLineStyle */.u.None:
                    borderStyle += " none";
                    break;
                case borders_enums/* BorderLineStyle */.u.Outset:
                    borderStyle += " outset";
                    break;
                case borders_enums/* BorderLineStyle */.u.Single:
                    borderStyle += " solid";
                default:
                    break;
            }
            const rgba = this.colorProvider.getRgbaFromModelColor(borderInfo.color);
            if (utils_color/* ColorUtils */.i.getAlpha(rgba) > 0)
                borderStyle += " " + color_color/* ColorHelper */.v.getCssStringInternal(rgba);
        }
        return borderStyle;
    }
    getTableWidthUnitCssString(width) {
        return width.type == table_units/* TableWidthUnitType */.HO.FiftiethsOfPercent ? width.value / 50 + "%" : class_unit_converter/* UnitConverter */.u.twipsToPoints(width.value) + "pt";
    }
    getTableStyle(model, table) {
        let defaultTableProperties = model.defaultTableProperties;
        let tableProperties = table ? table.properties : defaultTableProperties;
        let style = table ? table.style : model.getDefaultTableStyle();
        let tableStyle = "";
        let tableIndent = new table_properties_merger/* TablePropertiesMergerIndent */.wu().getProperty(tableProperties, style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, defaultTableProperties);
        if (tableIndent.value)
            tableStyle += "margin-left:" + this.getTableWidthUnitCssString(tableIndent) + ";";
        let cellSpacing = new table_properties_merger/* TablePropertiesMergerCellSpacing */.rP().getProperty(tableProperties, style, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, defaultTableProperties);
        tableStyle += (cellSpacing.value ? "border-spacing:" + this.getTableWidthUnitCssString(cellSpacing) : "border-collapse: collapse") + ";";
        return tableStyle;
    }
    getCellStyle(model, cell) {
        let cellProperties = cell.properties;
        let defaultTableProperties = model.defaultTableProperties;
        let defaultCellProperties = model.defaultTableCellProperties;
        let parentTable = cell.parentRow.parentTable;
        let tableStyle = parentTable.style;
        let tableHorizontalBorderStyle = this.getBorderCssString((new table_properties_merger/* TablePropertiesMergerBorderHorizontal */.LE())
            .getProperty(parentTable.properties, tableStyle, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, defaultTableProperties));
        let tableVerticalBorderStyle = this.getBorderCssString((new table_properties_merger/* TablePropertiesMergerBorderVertical */.Yk())
            .getProperty(parentTable.properties, tableStyle, table_base_structures/* ConditionalTableStyleFormatting */.pB.WholeTable, defaultTableProperties));
        let cellStyle = "";
        let topBorderStyle = this.getBorderCssString(cell.getActualTopCellBorder(defaultCellProperties)) || tableVerticalBorderStyle;
        if (topBorderStyle)
            cellStyle += "border-top:" + topBorderStyle + ";";
        let leftBorderStyle = this.getBorderCssString(cell.getActualLeftCellBorder(defaultCellProperties)) || tableHorizontalBorderStyle;
        if (leftBorderStyle)
            cellStyle += "border-left:" + leftBorderStyle + ";";
        let bottomBorderStyle = this.getBorderCssString(cell.getActualBottomCellBorder(defaultCellProperties)) || tableVerticalBorderStyle;
        if (bottomBorderStyle)
            cellStyle += "border-bottom:" + bottomBorderStyle + ";";
        let rightBorderStyle = this.getBorderCssString(cell.getActualRightCellBorder(defaultCellProperties)) || tableHorizontalBorderStyle;
        if (rightBorderStyle)
            cellStyle += "border-right:" + rightBorderStyle + ";";
        let marginLeft = cell.getActualLeftCellMargin(model);
        if (marginLeft.value)
            cellStyle += "padding-left:" + this.getTableWidthUnitCssString(marginLeft) + ";";
        let marginTop = cell.getActualTopCellMargin(model);
        if (marginTop.value)
            cellStyle += "padding-top:" + this.getTableWidthUnitCssString(marginTop) + ";";
        let marginRight = cell.getActualRightCellMargin(model);
        if (marginRight.value)
            cellStyle += "padding-right:" + this.getTableWidthUnitCssString(marginRight) + ";";
        let marginBottom = cell.getActualBottomCellMargin(model);
        if (marginBottom.value)
            cellStyle += "padding-bottom:" + this.getTableWidthUnitCssString(marginBottom) + ";";
        let verticalAlignment = new table_cell_properties_merger/* TableCellVerticalAlignmentMerger */.kc().getProperty(cellProperties, tableStyle, cell.conditionalFormatting, defaultCellProperties);
        switch (verticalAlignment) {
            case table_base_structures/* TableCellVerticalAlignment */.Ad.Bottom:
                cellStyle += "vertical-align:bottom;";
                break;
            case table_base_structures/* TableCellVerticalAlignment */.Ad.Center:
                cellStyle += "vertical-align:middle;";
                break;
            case table_base_structures/* TableCellVerticalAlignment */.Ad.Top:
                cellStyle += "vertical-align:top;";
                break;
            default:
                break;
        }
        let cellBackground = new table_cell_properties_merger/* TableCellPropertiesMergerShadingInfo */.iT().getProperty(cellProperties, tableStyle, cell.conditionalFormatting, defaultCellProperties)
            .getActualColor(this.colorProvider);
        if (utils_color/* ColorUtils */.i.getAlpha(cellBackground) > 0)
            cellStyle += "background: " + color_color/* ColorHelper */.v.getCssStringInternal(cellBackground) + ";";
        cellStyle += "width: " + class_unit_converter/* UnitConverter */.u.twipsToPixels(cell.preferredWidth.value) + "px;";
        return cellStyle;
    }
    getTextBoxStyleString(textBoxRun) {
        let contentMargins = textBoxRun.textBoxProperties.getContentMargins();
        let result = "padding-top:" + class_unit_converter/* UnitConverter */.u.twipsToPixels(contentMargins.top) + "px;";
        result += "padding-bottom:" + class_unit_converter/* UnitConverter */.u.twipsToPixels(contentMargins.bottom) + "px;";
        result += "padding-left:" + class_unit_converter/* UnitConverter */.u.twipsToPixels(contentMargins.left) + "px;";
        result += "padding-right:" + class_unit_converter/* UnitConverter */.u.twipsToPixels(contentMargins.right) + "px;";
        result += "border:" + class_unit_converter/* UnitConverter */.u.twipsToPixels(textBoxRun.shape.outlineWidth) + "px solid " + color_color/* ColorHelper */.v.getCssString(textBoxRun.shape.outlineColor, true) + ";";
        result += "background-color:" + color_color/* ColorHelper */.v.getCssString(textBoxRun.shape.fillColor, true) + ";";
        return result;
    }
}

;// CONCATENATED MODULE: ./src/common/input-controller.ts





















const INPUT_CLASS_NAME = "dxreInputTarget";
const EMPTY_KEYCODE = 229;
const TAB_KEYCODE = 9;
const IDEOGRAPHIC_SPACE_CHARCODE = 12288;
var IMEState;
(function (IMEState) {
    IMEState[IMEState["None"] = 0] = "None";
    IMEState[IMEState["Start"] = 1] = "Start";
    IMEState[IMEState["Process"] = 2] = "Process";
})(IMEState || (IMEState = {}));
class InputEditorBase {
    constructor(control, eventManager, parent) {
        this.newLineRegexp = /(\r\n|\n|\r)/gm;
        this.IMEState = IMEState.None;
        this.processTextOnKeyPress = false;
        this.evtHandlersHolder = new event_handlers_holder/* DomEventHandlersHolder */.$();
        this.control = control;
        this.eventManager = eventManager;
        this.canInsertTextOnInputEvent = this.canUseInputEvent();
        this.createHierarchy(parent);
        this.initialize();
        this.inputWithAlt = false;
    }
    dispose() {
        this.evtHandlersHolder.removeAllListeners();
        clearTimeout(this.keyPressTimerId);
        clearTimeout(this.imeTimerId);
        clearTimeout(this.onInputTimerId);
        clearTimeout(this.onBlurTimerId);
        clearTimeout(this.onKeyUpTimerId);
    }
    initialize() {
        this.initializeEditableState();
        this.initEvents();
        this.prevKeyCode = EMPTY_KEYCODE;
    }
    initializeEditableState() {
        if (!this.editableStateInitialized) {
            this.editableStateInitialized = true;
            this.initializeEditableStateCore();
        }
    }
    initializeEditableStateCore() {
    }
    initEvents() {
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "keydown", this.onKeyDown.bind(this));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "keyup", (evt) => this.onKeyUpTimerId = setTimeout(() => this.onKeyUp(evt), 0));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "keypress", this.onKeyPress.bind(this));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "focus", this.onFocus.bind(this));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "blur", (evt) => this.onBlurTimerId = setTimeout(() => this.onBlur(evt), 10));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "contextmenu", this.onContextMenu.bind(this));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "input", (evt) => this.onInput(evt));
    }
    createHierarchy(parent) {
        this.inputElement = this.createInputElement();
        this.inputElement.classList.add(INPUT_CLASS_NAME);
        parent.appendChild(this.inputElement);
        this.createHierarchyCore();
        this.inputElement.addEventListener("load", () => this.recreateIfNeeded(), true);
    }
    createHierarchyCore() { }
    createInputElement() {
        return null;
    }
    onInput(evt) {
        if (!this.processTextOnKeyPress) {
            if (evt.inputType === "insertText") {
                const text = this.getEditableTextOwner().innerText;
                if (string.StringUtils.isNullOrEmpty(text))
                    return;
                if (this.newLineRegexp.test(text)) {
                    this.eventManager.onInput("insertParagraph");
                    this.clearInputElement();
                }
                else
                    this.onInputTimerId = setTimeout(() => this.onTextInput(evt.data), 0);
            }
            else if (this.eventManager.onInput(evt.inputType))
                this.clearInputElement();
        }
    }
    onBlur(_evt) {
        const targetElement = document.activeElement;
        if (!targetElement || !this.control.isRibbon(targetElement) || dom.DomUtils.isInteractiveControl(targetElement))
            this.eventManager.onFocusOut();
        this.clearInputElement();
    }
    onFocus() {
        this.selectEditableDocumentContent();
        this.eventManager.onFocusIn();
    }
    onKeyDown(evt) {
        if (!this.control.clientSideEvents.raiseKeyDown(evt)) {
            if (this.IMEState === IMEState.None) {
                evt = this.getNormalizedEvent(evt);
                const keyCode = key/* KeyUtils */.LN.getEventKeyCode(evt);
                this.needProcessShortcut = !keyCode || keyCode == EMPTY_KEYCODE;
                this.canInsertTextOnInputEvent = this.canUseInputEvent();
                if (evt.altKey || evt.ctrlKey || evt.metaKey)
                    this.canInsertTextOnInputEvent = false;
                if (evt.altKey)
                    if (keyCode >= key/* KeyCode */.VD.Numpad_0 && keyCode <= key/* KeyCode */.VD.Numpad_9)
                        this.inputWithAlt = true;
                    else if (keyCode != 18)
                        this.inputWithAlt = false;
                if (!this.needProcessShortcut) {
                    let isShortcut = this.isProcessShortcut(keyCode) && this.onShortcut(evt);
                    if (isShortcut || (keyCode === TAB_KEYCODE && !this.control.modelManager.richOptions.control.acceptsTab)) {
                        this.prevKeyCode = keyCode;
                        return;
                    }
                }
                if (!this.canInsertTextOnInputEvent && !this.control.isTouchMode())
                    this.processTextOnKeyPress = true;
                this.prevKeyCode = keyCode;
            }
        }
        else
            utils_evt/* EvtUtils */.g.preventEvent(evt);
    }
    isProcessShortcut(keyCode) {
        return !(keyCode == key/* KeyCode */.VD.Space && this.prevKeyCode == key/* KeyCode */.VD.SingleQuote && !browser.Browser.MacOSPlatform);
    }
    onKeyUp(evt) {
        this.control.clientSideEvents.raiseKeyUp(evt);
        if (this.needProcessShortcut) {
            this.onShortcut(evt);
        }
    }
    onKeyPress(evt) {
        if (!evt.altKey) {
            if (this.inputWithAlt)
                this.keyPressTimerId = setTimeout(() => this.onTextInput(undefined), 0);
            else if (this.processTextOnKeyPress) {
                this.imeTimerId = setTimeout(() => {
                    this.onTextInput(undefined);
                    this.processTextOnKeyPress = false;
                }, 0);
            }
            this.inputWithAlt = false;
        }
    }
    onContextMenu(evt) {
        popup/* PopupUtils */.y.preventContextMenu(evt);
        evt.preventDefault();
        this.control.popupMenuManager.showByKey();
    }
    onShortcut(evt) {
        const shortcutCode = this.getShortcutCode(evt);
        if (!this.control.shortcutManager.isKnownShortcut(shortcutCode))
            return false;
        this.onShortcutCore(evt, shortcutCode);
        return true;
    }
    onShortcutCore(evt, shortcutCode) {
        if (!browser.Browser.WebKitTouchUI)
            this.clearInputElement();
        this.selectEditableDocumentContent();
        if (!this.control.shortcutManager.isClipboardCommandShortcut(shortcutCode) && !browser.Browser.MacOSMobilePlatform)
            utils_evt/* EvtUtils */.g.preventEvent(evt);
        this.eventManager.onShortcut(shortcutCode);
    }
    onText(text, currentText, isUpdated) {
        if (!this.canInsertTextOnInputEvent)
            this.needProcessShortcut = false;
        this.eventManager.onText(text, isUpdated);
        this.previousText = currentText;
    }
    onTextReplace(_text, currentText) {
        this.previousText = currentText;
    }
    onTextInput(_data) {
        const text = this.getEditableDocumentText();
        if (text) {
            if (this.previousText) {
                const previousText = this.previousText;
                const previousTextLastIndex = previousText.length - 1;
                if (text[previousTextLastIndex] && text[previousTextLastIndex] != previousText[previousTextLastIndex])
                    this.onText(text[previousTextLastIndex], text, true);
                const insertedCharacterCount = text.length - previousText.length;
                if (insertedCharacterCount > 0) {
                    for (let i = text.length - insertedCharacterCount; i < text.length; i++)
                        this.onText(text[i], text, false);
                }
            }
            else
                this.onText(text, text, false);
        }
    }
    tryObtainCodeFromChar(char) {
        if (char == "\n")
            return key/* KeyCode */.VD.Enter;
        return EMPTY_KEYCODE;
    }
    captureFocus() {
    }
    canUseInputEvent() {
        return browser.Browser.Firefox && browser.Browser.MajorVersion >= 14 || browser.Browser.WebKitTouchUI;
    }
    getEditableDocumentText(keepLineBreakes = false) {
        const text = dom.DomUtils.getInnerText(this.getEditableTextOwner());
        return keepLineBreakes ? text : text.replace(this.newLineRegexp, "");
    }
    getEditableTextOwner() {
        return null;
    }
    setPosition(left, top) {
        this.inputElement.style.left = left + "px";
        this.inputElement.style.top = top + "px";
    }
    clearInputElement() {
        this.previousText = "";
    }
    setEditableDocumentContent(_content) {
        this.previousText = "";
    }
    setEditableDocumentCursorPosition(_cursorPosition) { }
    selectEditableDocumentContent() {
        this.control.barHolder.updateItemsState({
            [client_command/* RichEditClientCommand */.f.CopySelection]: true,
            [client_command/* RichEditClientCommand */.f.PasteSelection]: true,
            [client_command/* RichEditClientCommand */.f.CutSelection]: true,
        });
    }
    getEditableDocumentContent() {
        return "";
    }
    getNormalizedEvent(evt) {
        if (browser.Browser.IE && browser.Browser.MajorVersion < 9) {
            const eventCopy = {};
            for (let i in evt)
                eventCopy[i] = evt[i];
            return eventCopy;
        }
        return evt;
    }
    recreateIfNeeded() { }
    getShortcutCode(evt) {
        const keyCode = key/* KeyUtils */.LN.getEventKeyCode(evt);
        let modifiers = 0;
        if (evt.altKey)
            modifiers |= key/* ModifierKey */.tx.Alt;
        if (evt.ctrlKey)
            modifiers |= key/* ModifierKey */.tx.Ctrl;
        if (evt.shiftKey)
            modifiers |= key/* ModifierKey */.tx.Shift;
        if (evt.metaKey && browser.Browser.MacOSPlatform)
            modifiers |= key/* ModifierKey */.tx.Meta;
        return modifiers | keyCode;
    }
}
class DivInputEditor extends InputEditorBase {
    constructor(control, eventManager, parent) {
        super(control, eventManager, parent);
    }
    dispose() {
        super.dispose();
        clearTimeout(this.clearInputTimerId);
        clearTimeout(this.composUpdateTimerId);
        clearTimeout(this.composEndTimerId);
        clearTimeout(this.onTextInputTimerId);
    }
    initializeEditableStateCore() {
        this.inputElement.contentEditable = String(!this.control.isReadOnlyPersistent);
        this.clearInputElement();
    }
    setPosition(left, top) {
        super.setPosition(left, top);
    }
    createInputElement() {
        const element = document.createElement("DIV");
        element.autocapitalize = "off";
        if (browser.Browser.MacOSMobilePlatform && (Number(browser.Browser.PlaformMajorVersion) >= 16
            || browser.Browser.Safari && browser.Browser.MajorVersion >= 16)) {
            element.classList.add('dxreiOS16');
        }
        return element;
    }
    initEvents() {
        super.initEvents();
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionstart", this.onCompositionStart.bind(this));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionupdate", (evt) => browser.Browser.IE || browser.Browser.Edge ?
            this.onCompositionUpdate(evt) : this.composUpdateTimerId = setTimeout(() => this.onCompositionUpdate(evt), 0));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionend", (evt) => !browser.Browser.Safari ?
            this.onCompositionEnd(evt) : this.composEndTimerId = setTimeout(() => this.onCompositionEnd(evt), 0));
    }
    onKeyDown(evt) {
        var _a;
        this.handled = false;
        if (!window.getSelection().anchorNode) {
            if ((_a = this.getEditableDocumentContent()) === null || _a === void 0 ? void 0 : _a.length)
                this.setEditableDocumentCursorPosition(this.lastCursorPosition);
            else
                this.selectEditableDocumentContent();
        }
        super.onKeyDown(evt);
        this.canSkipInputEvent = key/* KeyUtils */.LN.getEventKeyCode(evt) != EMPTY_KEYCODE;
    }
    onKeyUp(evt) {
        super.onKeyUp(evt);
        this.control.owner.hidePopupMenu();
        this.onTextInput(undefined);
        this.lastCursorPosition = window.getSelection().anchorOffset;
    }
    onInput(evt) {
        if (!this.canSkipInputEvent) {
            this.handled = false;
            super.onInput(evt);
        }
        this.control.owner.hidePopupMenu();
        this.canSkipInputEvent = false;
    }
    onFocus() {
        if (!this.canSkipFocusAndBlur)
            super.onFocus();
        this.canSkipFocusAndBlur = false;
    }
    onBlur(evt) {
        if (!this.canSkipFocusAndBlur)
            super.onBlur(evt);
    }
    onShortcutCore(evt, shortcutCode) {
        if (shortcutCode !== key/* KeyCode */.VD.Space || !browser.Browser.MacOSMobilePlatform) {
            this.handled = true;
            this.clearInputTimerId = setTimeout(() => this.clearInputElement(), 0);
            super.onShortcutCore(evt, shortcutCode);
        }
    }
    onTextReplace(text, currentText) {
        this.eventManager.onTextReplace(text);
        super.onTextReplace(text, currentText);
    }
    onTextInput(data) {
        let text = this.getEditableDocumentText();
        if (!this.handled) {
            const isShortcutHandled = browser.Browser.AndroidMobilePlatform && this.needProcessShortcut && this.tryHandleShortcutByInputString(data);
            if (!isShortcutHandled) {
                let isTextReplaced = !this.cursorWasSetOnLastPosition && this.getEditableDocumentCursorPosition() === this.getEditableDocumentFullText().length;
                let lastWordStartIndex = 0;
                if (!isTextReplaced && this.previousText) {
                    let previousText = this.previousText;
                    let lastSpaceIndex = previousText.lastIndexOf(" ");
                    if (lastSpaceIndex >= 0)
                        lastWordStartIndex = lastSpaceIndex + 1;
                    let lengthToReplaceCheck = (text.length > previousText.length ? previousText.length : text.length) - lastWordStartIndex - 1;
                    let currentWordPart = text.substr(lastWordStartIndex, lengthToReplaceCheck);
                    let previousWordPart = previousText.substr(lastWordStartIndex, lengthToReplaceCheck);
                    if (currentWordPart !== previousWordPart)
                        isTextReplaced = true;
                }
                if (isTextReplaced)
                    this.onTextReplace(text.substr(lastWordStartIndex), text);
                else
                    super.onTextInput(data);
                this.cursorWasSetOnLastPosition = true;
            }
            this.handled = true;
            if (text[text.length - 1] == " ")
                this.clearInputElement();
        }
    }
    tryHandleShortcutByInputString(data) {
        if (data && this.IMEState === IMEState.None) {
            let enteredChar = data.charAt(data.length - 1);
            const keyCode = this.tryObtainCodeFromChar(enteredChar);
            if (keyCode != EMPTY_KEYCODE) {
                if (this.isProcessShortcut(keyCode) && this.control.shortcutManager.isKnownShortcut(keyCode)) {
                    this.eventManager.onShortcut(keyCode);
                    if (keyCode !== key/* KeyCode */.VD.Space || !browser.Browser.MacOSMobilePlatform)
                        this.clearInputElement();
                    return true;
                }
            }
        }
        return false;
    }
    getEditableTextOwner() {
        return this.inputElement;
    }
    captureFocus() {
        this.inputElement.focus();
    }
    getEditableDocument() {
        return this.inputElement;
    }
    clearInputElement() {
        super.clearInputElement();
        dom.DomUtils.clearInnerHtml(this.inputElement);
        this.cursorWasSetOnLastPosition = true;
    }
    setEditableDocumentContent(content) {
        if (!content) {
            this.clearInputElement();
            return;
        }
        if (typeof content === "string")
            this.inputElement.innerHTML = content;
        else {
            this.inputElement.innerHTML = "";
            content.forEach((node) => this.inputElement.appendChild(node));
        }
    }
    setEditableDocumentCursorPosition(cursorPosition) {
        let textLength = this.getEditableDocumentFullText().length;
        if (cursorPosition > textLength)
            cursorPosition = textLength;
        if (this.inputElement.childNodes.length > 0) {
            let range = document.createRange();
            let selection = window.getSelection();
            let lastChild = this.inputElement.childNodes[this.inputElement.childNodes.length - 1];
            if (cursorPosition <= lastChild.textContent.length) {
                range.setStart(lastChild, cursorPosition);
                range.collapse(true);
                selection.removeAllRanges();
                selection.addRange(range);
                this.previousText = this.getEditableDocumentText();
                this.cursorWasSetOnLastPosition = cursorPosition === textLength;
            }
        }
    }
    getEditableDocumentText() {
        return this.getEditableDocumentFullText().substring(0, this.getEditableDocumentCursorPosition());
    }
    getEditableDocumentFullText() {
        return super.getEditableDocumentText().replace(/\s/g, " ");
    }
    getEditableDocumentContent() {
        const htmlItems = this.inputElement.cloneNode(true).childNodes;
        if (htmlItems.length)
            return htmlItems;
        return this.inputElement.innerText;
    }
    getEditableDocumentCursorPosition() {
        let selection = window.getSelection();
        let cursorPosition = selection.focusOffset;
        if (browser.Browser.MacOSMobilePlatform) {
            let fullText = this.getEditableDocumentFullText();
            if (fullText[fullText.length - 1] === " " && fullText.length > 1)
                cursorPosition++;
        }
        return cursorPosition;
    }
    selectEditableDocumentContent() {
        const selection = window.getSelection();
        let firstChildNode = null;
        if (this.inputElement.childNodes.length) {
            firstChildNode = this.inputElement.childNodes[0];
            if (!firstChildNode.childNodes.length)
                return;
        }
        selection.removeAllRanges();
        selection.selectAllChildren(this.inputElement);
        super.selectEditableDocumentContent();
    }
    onCompositionStart(_evt) {
        this.IMEState = IMEState.Start;
        this.needProcessShortcut = false;
        this.clearInputElement();
    }
    onCompositionUpdate(_evt) {
        const text = this.getEditableDocumentText();
        if (text.length && this.previousText != text) {
            if (this.IMEState === IMEState.Start)
                this.onText(text, text, this.previousText.length > 0);
            else if (this.IMEState === IMEState.Process)
                this.onTextReplace(text, text);
        }
        this.IMEState = IMEState.Process;
    }
    onCompositionEnd(_evt) {
        const text = this.getEditableDocumentText();
        if (this.previousText != text) {
            if (text.length > 0)
                this.onTextReplace(text, text);
            else
                this.onShortcutCore(_evt, key/* KeyCode */.VD.Backspace);
        }
        this.IMEState = IMEState.None;
    }
}
class IFrameInputEditor extends InputEditorBase {
    constructor(control, eventManager, parent) {
        super(control, eventManager, parent);
    }
    dispose() {
        super.dispose();
        clearTimeout(this.onTextInputTimerId);
        clearTimeout(this.composUpdateTimerId);
        clearTimeout(this.composEndTimerId);
    }
    createHierarchyCore() {
        let frameHtml = "<!DOCTYPE html>";
        frameHtml += "<html>";
        frameHtml += "<head>";
        frameHtml += "</head>";
        frameHtml += "<body loaded=\"true\">";
        frameHtml += "</body>";
        frameHtml += "</html>";
        this.editableDocument = this.inputElement.contentDocument || this.inputElement.contentWindow.document;
        if (browser.Browser.Firefox) {
            this.editableDocument.open();
            this.editableDocument.write(frameHtml);
            this.editableDocument.close();
        }
        else
            this.editableDocument.documentElement.innerHTML = frameHtml;
        const body = this.editableDocument.documentElement.querySelector('body');
        body.style.padding = "0px";
        body.style.margin = "0px";
        body.style.overflow = "hidden";
    }
    initializeEditableStateCore() {
        if (browser.Browser.WebKitFamily)
            this.editableDocument.body.setAttribute("contenteditable", String(!this.control.isReadOnlyPersistent));
        else
            this.editableDocument.designMode = this.control.isReadOnlyPersistent ? "off" : "on";
    }
    createInputElement() {
        const element = document.createElement("IFRAME");
        element.src = "about:blank";
        if (browser.Browser.Safari) {
            element.style.width = "100%";
            element.style.minWidth = "100%";
            element.style.overflow = "hidden";
        }
        return element;
    }
    initEvents() {
        super.initEvents();
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionstart", this.onCompositionStart.bind(this));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionupdate", (evt) => browser.Browser.IE || browser.Browser.Edge ?
            this.onCompositionUpdate(evt) : this.composUpdateTimerId = setTimeout(() => this.onCompositionUpdate(evt), 0));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "compositionend", (evt) => !browser.Browser.Safari ?
            this.onCompositionEnd(evt) : this.composEndTimerId = setTimeout(() => this.onCompositionEnd(evt), 0));
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "copy", (evt) => {
            if (!control/* ControlOptions */.tH.isEnabled(this.control.modelManager.richOptions.control.copy))
                return utils_evt/* EvtUtils */.g.preventEvent(evt);
            else
                this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.CopySelection).copyEventRaised();
        });
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "cut", (evt) => {
            if (!this.isModifyEnabled(this.control.modelManager.richOptions.control.cut))
                return utils_evt/* EvtUtils */.g.preventEvent(evt);
        });
        this.evtHandlersHolder.addListener(this.getEditableDocument(), "paste", (evt) => {
            if (!this.isModifyEnabled(this.control.modelManager.richOptions.control.paste) || this.control.isClosed())
                return utils_evt/* EvtUtils */.g.preventEvent(evt);
            if (evt && evt.clipboardData && evt.clipboardData.items) {
                const clipboardContentInserter = new ClipboardContentInserter(this.control);
                const success = clipboardContentInserter.insert(evt);
                if (success)
                    return;
            }
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.PasteSelection).pasteEventRaised();
        });
    }
    isModifyEnabled(capability) {
        const selection = this.control.selection;
        return control/* ControlOptions */.tH.isEnabled(capability) && this.control.readOnly != i_rich_edit_core/* ReadOnlyMode */.F.Persistent && selection.activeSubDocument.isEditable(selection.intervals);
    }
    captureFocus() {
        if ((browser.Browser.Opera && browser.Browser.MajorVersion <= 12) ||
            browser.Browser.Chrome && this.inputElement === document.activeElement ||
            ((browser.Browser.IE || browser.Browser.Edge) && this.control.readOnly == i_rich_edit_core/* ReadOnlyMode */.F.Persistent) ||
            browser.Browser.Firefox)
            this.inputElement.contentWindow.focus();
        else
            dom.DomUtils.setFocus(this.control.readOnly == i_rich_edit_core/* ReadOnlyMode */.F.Persistent ? this.inputElement : this.editableDocument.body);
    }
    setPosition(left, top, force = false) {
        if (this.IMEState === IMEState.None || force)
            super.setPosition(left, top);
        if (left && top)
            this.selectEditableDocumentContent();
    }
    clearInputElement() {
        if (this.previousText != this.getEditableDocumentText())
            super.onTextInput("");
        super.clearInputElement();
        dom.DomUtils.clearInnerHtml(this.editableDocument.body);
    }
    setEditableDocumentContent(content) {
        super.setEditableDocumentContent(content);
        this.IMEState = IMEState.None;
        this.editableDocument.body.innerHTML = "";
        if (typeof content === "string")
            this.editableDocument.body.innerHTML = content;
        else if (content) {
            const copy = [...content];
            for (let i = 0; i < copy.length; i++) {
                this.editableDocument.body.appendChild(copy[i]);
            }
        }
    }
    getEditableDocumentContent() {
        const items = this.editableDocument.body.cloneNode(true).childNodes;
        if (items.length)
            return items;
        return this.editableDocument.body.innerText;
    }
    selectEditableDocumentContent() {
        const firstChildNode = this.editableDocument.body.childNodes[0];
        if (firstChildNode && !firstChildNode.childNodes.length && !(firstChildNode.nodeType === 3 && firstChildNode.nodeValue === ""))
            return;
        const selection = this.editableDocument.getSelection ? this.editableDocument.getSelection() : this.editableDocument["selection"];
        if (selection) {
            if (selection.removeAllRanges)
                selection.removeAllRanges();
            else if (selection.empty)
                selection.empty();
            if (selection.selectAllChildren)
                selection.selectAllChildren(this.editableDocument.body);
            else if (selection.createRange) {
                const range = selection.createRange();
                try {
                    range.moveToElementText(this.editableDocument.body);
                }
                catch (e) { }
                range.select();
            }
        }
        super.selectEditableDocumentContent();
    }
    getEditableDocument() {
        return this.editableDocument;
    }
    getEditableTextOwner() {
        return this.editableDocument.body;
    }
    onBlur(evt) {
        super.onBlur(evt);
        this.IMEState = IMEState.None;
        this.endInputIME();
    }
    onShortcutCore(evt, shortcutCode) {
        const prevSelectedInterval = this.control.selection.lastSelectedInterval;
        super.onShortcutCore(evt, shortcutCode);
        if (this.control.selection.lastSelectedInterval != prevSelectedInterval)
            this.selectEditableDocumentContent();
    }
    onTextInput(data) {
        this.onTextInputTimerId = setTimeout(() => {
            const editableDocumentText = this.getEditableDocumentText();
            if (editableDocumentText.charCodeAt(0) == IDEOGRAPHIC_SPACE_CHARCODE || string.StringUtils.trim(editableDocumentText))
                super.onTextInput(data);
        }, 0);
    }
    onTextReplace(text, currentText) {
        this.eventManager.onTextReplace(text, this.previousText.length);
        super.onTextReplace(text, currentText);
    }
    recreateIfNeeded() {
        const iframeDocument = this.inputElement.contentDocument || this.inputElement.contentWindow.document;
        if (!iframeDocument.body.hasAttribute("loaded")) {
            this.editableStateInitialized = false;
            this.createHierarchyCore();
            this.initialize();
        }
    }
    onCompositionStart(_evt) {
        this.IMEState = IMEState.Start;
        this.needProcessShortcut = false;
        if (!browser.Browser.IE && !browser.Browser.Edge)
            this.clearInputElement();
        this.startInputIME();
    }
    onCompositionUpdate(_evt) {
        const text = this.getEditableDocumentText();
        if (this.IMEState === IMEState.None)
            return;
        if (text.length && this.previousText != text) {
            this.onTextReplace(text, text);
            this.updateInputIME();
        }
        this.IMEState = IMEState.Process;
    }
    onCompositionEnd(_evt) {
        const text = this.getEditableDocumentText();
        if (this.previousText != text)
            this.onTextReplace(text, text);
        else if (!browser.Browser.Edge)
            this.clearInputElement();
        if (text.charCodeAt(text.length - 1) == IDEOGRAPHIC_SPACE_CHARCODE)
            this.clearInputElement();
        this.IMEState = IMEState.None;
        this.endInputIME();
    }
    startInputIME() {
        this.inputElement.style.position = "absolute";
        const lastSelectedIntervalStartPosition = this.control.selection.lastSelectedInterval.start;
        const subDocument = this.control.selection.activeSubDocument;
        const layoutPosition = subDocument.isMain() ?
            new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.selection.layout, subDocument, lastSelectedIntervalStartPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)) :
            new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.selection.layout, subDocument, lastSelectedIntervalStartPosition, this.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (!layoutPosition)
            return null;
        const currentTextIndent = this.editableDocument.body.style.textIndent;
        const propChar = html_converter/* HtmlConverter */.c.getSizeSignificantRules(this.control.inputPosition.getMergedCharacterPropertiesRaw()).join(";");
        this.editableDocument.body.style.cssText = "padding: 0px; margin: 0px; overflow: hidden; color: transparent; " + propChar;
        this.editableDocument.body.style.textIndent = currentTextIndent;
        let layoutX = layoutPosition.getLayoutX(this.control.measurer, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row);
        const layoutPoint = new layout_point/* LayoutPoint */.T(layoutPosition.pageIndex, layoutX, layoutPosition.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row));
        const pageElement = this.control.viewManager.cache[layoutPoint.pageIndex].page;
        layoutPoint.offset(pageElement.offsetLeft, pageElement.offsetTop);
        this.setPosition(layoutPoint.x, layoutPoint.y, true);
        this.editableDocument.body.style.textIndent = this.previousText.length ? currentTextIndent :
            layoutPosition.getLayoutX(this.control.measurer, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box) +
                layoutPosition.box.getCharOffsetXInPixels(this.control.measurer, layoutPosition.charOffset) - layoutX + "px";
        this.inputElement.style.width = layoutPosition.row.width + "px";
        this.inputElement.style.minWidth = layoutPosition.row.width + "px";
        if (browser.Browser.IE || browser.Browser.Edge) {
            this.editableDocument.body.style.width = this.inputElement.style.width;
            this.editableDocument.body.style.height = this.inputElement.style.height = layoutPosition.row.height + "px";
        }
        if (layoutPosition.row.boxes.length > 1) {
            this.editableDocument.body.style.lineHeight = layoutPosition.row.height + "px";
            this.editableDocument.body.style.marginTop = (layoutPosition.box.height - layoutPosition.row.height) / 2 + "px";
        }
    }
    updateInputIME() {
        const lastSelectedIntervalStartPosition = this.control.selection.lastSelectedInterval.start;
        const subDocument = this.control.selection.activeSubDocument;
        const layoutPosition = subDocument.isMain() ?
            new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.selection.layout, subDocument, lastSelectedIntervalStartPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)) :
            new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.selection.layout, subDocument, lastSelectedIntervalStartPosition, this.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (!layoutPosition)
            return null;
        const paragraphProperties = this.control.selection.activeSubDocument.getParagraphByPosition(lastSelectedIntervalStartPosition).getParagraphMergedProperties();
        const text = this.getEditableDocumentText();
        if (text.length === 2)
            this.inputElement.style.height = (paragraphProperties.alignment == paragraph_properties/* ParagraphAlignment */.wq.Left ? layoutPosition.pageArea.height : 0) + "px";
        const inputWidth = parseInt(this.inputElement.style.width);
        if (inputWidth && inputWidth != layoutPosition.row.width) {
            const widthDiff = layoutPosition.row.width - parseInt(this.inputElement.style.width);
            this.inputElement.style.width = layoutPosition.row.width + "px";
            this.editableDocument.body.style.textIndent = parseInt(this.editableDocument.body.style.textIndent) + widthDiff + "px";
            this.inputElement.style.left = parseInt(this.inputElement.style.left) - widthDiff + "px";
        }
    }
    endInputIME() {
        this.inputElement.style.width = "0px";
        this.inputElement.style.height = "0px";
    }
}
class InputController {
    constructor(control, eventManager, parent) {
        this.control = control;
        this.inputEditor = this.createInputEditor(parent, eventManager);
    }
    initExporter() {
        this.exporter = new HtmlExporter(this.control.getExportModelOptions(), {
            sanitaizeHyperlinkURIs: true,
            convertRelativeURIsToAbsolute: true
        });
    }
    dispose() {
        this.inputEditor.dispose();
    }
    createInputEditor(parent, eventManager) {
        if (this.control.isTouchMode())
            return new DivInputEditor(this.control, eventManager, parent);
        return new IFrameInputEditor(this.control, eventManager, parent);
    }
    getEditableDocument() {
        return this.inputEditor.getEditableDocument();
    }
    getExportedRangeCopy() {
        return this.exporter.rangeCopy;
    }
    captureFocus() {
        this.inputEditor.captureFocus();
    }
    setPosition(left, top) {
        this.inputEditor.setPosition(left, top);
    }
    renderSelectionToEditableDocument() {
        const selection = this.control.selection;
        if (selection.intervals.length === 0 || selection.isCollapsed())
            return;
        const rangeCopy = create_range_copy_operation/* RangeCopy */.H.create(selection.subDocumentIntervals);
        const model = rangeCopy.model;
        const interval = new fixed.FixedInterval(0, model.mainSubDocument.getDocumentEndPosition() - (rangeCopy.addedUselessParagraphMarkInEnd ? 1 : 0));
        const guidLabel = rich_utils/* RichUtils */.i.getCopyPasteGuidLabel(this.control.getGuidParams());
        let result = '';
        let html = this.exporter.getHtmlElementsByInterval(model, model.mainSubDocument, interval, guidLabel);
        if (!html.isEmpty()) {
            result = InputController.getCopyPasteHtmlContentForEditable(html, guidLabel);
            this.exporter.rangeCopy = rangeCopy;
        }
        if (typeof result === "string") {
            this.setEditableDocumentContent(result);
        }
        else {
            const _fragment = document.createDocumentFragment();
            _fragment.appendChild(result);
            this.setEditableDocumentContent(_fragment.childNodes);
        }
        this.selectEditableDocumentContent();
    }
    static getCopyPasteHtmlContentForEditable(html, guidLabel) {
        const builder = new html_builder/* HtmlBuilder */.C();
        const id = guidLabel.replace("id=\"", "").replace("\"", "");
        builder
            .startChild('a')
            .configure((el) => {
            el.setAttribute('id', id);
        })
            .startChild('span')
            .configure((el) => {
            el.setAttribute('id', id);
        })
            .startChild('b')
            .configure((el) => {
            el.style.cssText = "font-weight: normal;";
            el.setAttribute('id', id);
            if (typeof html === 'string')
                el.innerHTML = html;
        });
        if (typeof html !== "string")
            builder.assignFrom(html);
        builder.endChild('b');
        builder.endChild('span');
        builder.endChild('a');
        return builder.childElements[0];
    }
    setEditableDocumentContent(content) {
        this.inputEditor.setEditableDocumentContent(content);
    }
    setEditableDocumentCursorPosition(cursorPosition) {
        this.inputEditor.setEditableDocumentCursorPosition(cursorPosition);
    }
    getEditableDocumentContent() {
        return this.inputEditor.getEditableDocumentContent();
    }
    selectEditableDocumentContent() {
        this.inputEditor.selectEditableDocumentContent();
    }
}

// EXTERNAL MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-main-sub-document.ts + 3 modules
var layout_box_iterator_main_sub_document = __webpack_require__(1437);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-other-sub-document.ts
var layout_box_iterator_other_sub_document = __webpack_require__(2507);
;// CONCATENATED MODULE: ./src/common/layout-engine/selection/selection-formatter.ts




























var SimpleSelectionLayoutType;
(function (SimpleSelectionLayoutType) {
    SimpleSelectionLayoutType[SimpleSelectionLayoutType["Search"] = 0] = "Search";
    SimpleSelectionLayoutType[SimpleSelectionLayoutType["Misspelled"] = 1] = "Misspelled";
    SimpleSelectionLayoutType[SimpleSelectionLayoutType["RangePermission"] = 2] = "RangePermission";
})(SimpleSelectionLayoutType || (SimpleSelectionLayoutType = {}));
class SelectionFormatter extends batch_updatable/* BatchUpdatableObject */.IS {
    get highlightRanges() { return this.documentProtectionSettings.highlightRanges; }
    constructor(selection, measurer, layoutSelection, documentProtectionSettings) {
        super();
        this.onSelectionLayoutChanged = new event_dispatcher/* EventDispatcher */.p();
        this.selection = selection;
        this.measurer = measurer;
        this.layoutSelection = layoutSelection;
        this.documentProtectionSettings = documentProtectionSettings;
    }
    modelChanged(change) {
        if (change.type == changes_enums/* ModelChangeType */.f.RangePermissionsPropertiesChanged)
            this.onRangePermissionPropertiesChanged();
    }
    onRangePermissionPropertiesChanged() {
        for (let pageInfo of this.layoutSelection.rangePermissionInfo.pageInfos)
            pageInfo.beforeRecreatePageSelection();
        if (this.highlightRanges) {
            utils_list.ListUtils.forEach(this.selection.layout.pages, (page) => {
                this.buildRangePermissionSelection(this.selection.model.mainSubDocument, page.index);
                number/* NumberMapUtils */.j.forEach(page.otherPageAreas, (pa) => this.buildRangePermissionSelection(pa.subDocument, this.selection.pageIndex));
            });
        }
        else
            this.layoutSelection.rangePermissionInfo.changes = [];
        if (!this.isUpdateLocked())
            this.raiseRangePermissionLayoutChanged();
    }
    NotifySelectionChanged(_selection) {
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionFormatter, "NotifySelectionChanged", () => `intervals: ${utils_list.ListUtils.map(this.selection.intervals, (currI) => log_obj_to_str/* LogObjToStr */.I.fixedInterval(currI)).join(" ")}, subDocId: ${this.selection.activeSubDocument.id}`);
        this.updateSubDocumentInfo();
        this.selectionChanged();
    }
    NotifySearchSelectionChanged() {
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionFormatter, "NotifySearchSelectionChanged", "");
        this.layoutSelection.searchInfo.changes = [];
        for (let pageInfo of this.layoutSelection.searchInfo.pageInfos)
            pageInfo.beforeRecreatePageSelection();
        const subDocument = this.selection.activeSubDocument;
        this.createSimpleLayout(subDocument, this.intersectModelIntervalsWithValidPageIntervals(subDocument, this.selection.searchIntervals, this.layoutSelection.pageIndex), this.layoutSelection.searchInfo, SimpleSelectionLayoutType.Search);
        if (!this.isUpdateLocked())
            this.raiseSearchSelectionLayoutChanged();
    }
    NotifyMisspelledSelectionChanged() {
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionFormatter, "NotifyMisspelledSelectionChanged", "");
        this.layoutSelection.misspelledInfo.changes = [];
        for (let pageInfo of this.layoutSelection.misspelledInfo.pageInfos)
            pageInfo.beforeRecreatePageSelection();
        const subDocument = this.selection.activeSubDocument;
        this.createSimpleLayout(subDocument, this.intersectModelIntervalsWithValidPageIntervals(subDocument, this.selection.misspelledIntervals, this.layoutSelection.pageIndex), this.layoutSelection.misspelledInfo, SimpleSelectionLayoutType.Misspelled);
        if (!this.isUpdateLocked())
            this.raiseMisspelledSelectionLayoutChanged();
    }
    NotifyPagesReady(pageChanges) {
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionFormatter, "NotifyPagesReady", "");
        for (let pageChange of pageChanges) {
            if (pageChange.changeType == LayoutChangeType.Deleted) {
                this.layoutSelection.selectionInfo.pageInfos.splice(pageChange.index, 1);
                this.layoutSelection.selectionInfo.changes.push(new LayoutPageSelectionChange(pageChange.index, LayoutChangeType.Deleted, []));
                if (this.highlightRanges) {
                    this.layoutSelection.rangePermissionInfo.pageInfos.splice(pageChange.index, 1);
                    this.layoutSelection.rangePermissionInfo.changes.push(new LayoutPageSelectionChange(pageChange.index, LayoutChangeType.Deleted, []));
                }
            }
            else {
                this.buildPageSelection(pageChange.index);
                if (this.highlightRanges) {
                    const pageInfo = this.layoutSelection.rangePermissionInfo.pageInfos[pageChange.index];
                    if (pageInfo)
                        pageInfo.beforeRecreatePageSelection();
                    this.buildRangePermissionSelection(this.selection.model.mainSubDocument, pageChange.index);
                    number/* NumberMapUtils */.j.forEach(this.selection.layout.pages[pageChange.index].otherPageAreas, (pa) => this.buildRangePermissionSelection(pa.subDocument, pageChange.index));
                }
            }
        }
        if (!this.isUpdateLocked()) {
            this.raiseSelectionLayoutChanged();
            if (this.highlightRanges)
                this.raiseRangePermissionLayoutChanged();
            else
                this.layoutSelection.rangePermissionInfo.reset();
        }
    }
    NotifyFullyFormatted(_pageCount) { }
    ;
    onUpdateUnlocked(_occurredEvents) {
        this.updateSubDocumentInfo();
        log/* Log */.Z.print(log_source/* LogSource */.O.SelectionFormatter, "onUpdateUnlocked", "");
        this.raiseSelectionLayoutChanged();
        this.raiseSearchSelectionLayoutChanged();
        this.raiseMisspelledSelectionLayoutChanged();
        if (this.highlightRanges)
            this.raiseRangePermissionLayoutChanged();
        else if (this.layoutSelection.rangePermissionInfo)
            this.layoutSelection.rangePermissionInfo.reset();
    }
    selectionChanged() {
        this.layoutSelection.selectionInfo.changes = [];
        for (let pageInfo of this.layoutSelection.selectionInfo.pageInfos)
            pageInfo.beforeRecreatePageSelection();
        this.buildContiniousSelection();
        if (!this.isUpdateLocked())
            this.raiseSelectionLayoutChanged();
    }
    updateSubDocumentInfo() {
        const needUpdate = this.layoutSelection.pageIndex != this.selection.pageIndex ||
            this.layoutSelection.subDocumentInfo != this.selection.activeSubDocument.info;
        if (needUpdate) {
            this.layoutSelection.pageIndex = this.selection.pageIndex;
            this.layoutSelection.subDocumentInfo = this.selection.activeSubDocument.info;
            this.selectionChanged();
        }
    }
    buildContiniousSelection() {
        if (this.selection.isCollapsed())
            this.createCollapsedSelectionLayout(-1);
        else {
            const layout = this.selection.layout;
            const selIntervals = this.selection.intervals;
            const subDoc = this.selection.activeSubDocument;
            let validLayoutInterval;
            if (subDoc.isMain())
                validLayoutInterval = algorithms.IntervalAlgorithms.getMergedIntervals(utils_list.ListUtils.accumulate(layout.pages, [], (acc, page) => utils_list.ListUtils.addListOnTail(acc, page.getContentIntervals()), 0, layout.validPageCount), true);
            else {
                if (this.selection.pageIndex < layout.validPageCount) {
                    const pageArea = layout.pages[this.selection.pageIndex].otherPageAreas[subDoc.id];
                    validLayoutInterval = pageArea ? [new fixed.FixedInterval(0, subDoc.getDocumentEndPosition())] : [];
                }
                else
                    validLayoutInterval = [];
            }
            for (let interval of algorithms.IntervalAlgorithms.getIntersectionsTwoArraysOfInterval(validLayoutInterval, selIntervals))
                this.createExtendedSelectionLayout(interval, this.layoutSelection.selectionInfo, selIntervals);
        }
    }
    buildPageSelection(pageIndex) {
        const selection = this.selection;
        const pageInfo = this.layoutSelection.selectionInfo.pageInfos[pageIndex];
        if (pageInfo)
            pageInfo.beforeRecreatePageSelection();
        if (selection.isCollapsed()) {
            this.layoutSelection.selectionInfo.changes = [];
            this.createCollapsedSelectionLayout(pageIndex);
        }
        else {
            const page = selection.layout.pages[pageIndex];
            const subDocument = selection.activeSubDocument;
            let intersPageIntervalsAndSelectionIntervals = [];
            if (subDocument.isMain())
                intersPageIntervalsAndSelectionIntervals =
                    algorithms.IntervalAlgorithms.getIntersectionsTwoArraysOfInterval(selection.intervals, page.getContentIntervals());
            else if (page.otherPageAreas[subDocument.id] && pageIndex == selection.pageIndex)
                intersPageIntervalsAndSelectionIntervals = selection.intervals;
            for (let interval of intersPageIntervalsAndSelectionIntervals)
                if (interval.length > 0)
                    this.createExtendedSelectionLayout(interval, this.layoutSelection.selectionInfo, selection.intervals);
        }
    }
    buildRangePermissionSelection(subDocument, pageIndex) {
        const selection = this.selection;
        const page = selection.layout.pages[pageIndex];
        const rpIntervals = utils_list.ListUtils.map(subDocument.availableRangePermissions, (rp) => rp.interval);
        const intersPageIntervalsAndSelectionIntervals = subDocument.isMain() ?
            algorithms.IntervalAlgorithms.getIntersectionsTwoArraysOfInterval(rpIntervals, page.getContentIntervals()) :
            rpIntervals;
        this.createSimpleLayout(subDocument, SelectionFormatter.translateInteralsToIterators(this.selection.layout, subDocument, pageIndex, intersPageIntervalsAndSelectionIntervals), this.layoutSelection.rangePermissionInfo, SimpleSelectionLayoutType.RangePermission);
    }
    createCollapsedSelectionLayout(dontCreateSelectionIfNotThisPageIndex) {
        const selection = this.selection;
        const selectionPosition = selection.intervals[0].start;
        const layout = selection.layout;
        const subDocument = selection.activeSubDocument;
        const cursorPos = subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(layout, subDocument, selectionPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false))
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(layout, subDocument, selectionPosition, selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(selection.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        if (!cursorPos || dontCreateSelectionIfNotThisPageIndex >= 0 && cursorPos.pageIndex != dontCreateSelectionIfNotThisPageIndex ||
            !cursorPos.page.isValid)
            return;
        let stepBackward = true;
        while (utils_enum/* EnumUtils */.Y.isAnyOf(cursorPos.box.getType(), layout_box/* LayoutBoxType */.KH.AnchorPicture, layout_box/* LayoutBoxType */.KH.AnchorTextBox)) {
            if (stepBackward) {
                if (!cursorPos.advanceToPrevBoxInRow())
                    stepBackward = false;
            }
            else {
                if (!cursorPos.advanceToNextBoxInRow())
                    break;
            }
        }
        const cellInfo = cursorPos.row.tableCellInfo;
        if (cellInfo && cellInfo.boundFlags.get(layout_table_cell_info/* TableCellBoundFlags */.a.EndOnThisColumn)) {
            const rowInfo = cellInfo.parentRow;
            const tableGrid = rowInfo.parentTable.logicInfo.grid;
            const cellGridInfo = tableGrid.tableCellGridInfos[rowInfo.rowIndex][cellInfo.cellGridIndex];
            const cell = tableGrid.table.rows[cellGridInfo.getStartRowIndex()].cells[cellGridInfo.getCellIndex(0)];
            if (selectionPosition == cell.endParagrapPosition.value - 1) {
                for (let prevNestedTableColumnInfo of cursorPos.column.tablesInfo) {
                    if (prevNestedTableColumnInfo.logicInfo.grid.table.getEndPosition() == selectionPosition) {
                        const lastBorder = utils_list.ListUtils.last(prevNestedTableColumnInfo.verticalBorders);
                        const prevLayoutRow = cursorPos.column.rows[cursorPos.rowIndex - 1];
                        const parMarkBoxHeight = cursorPos.row.boxes[0].height;
                        const floatingObjectId = SelectionFormatter.getFloatingObjId(subDocument, cursorPos.page);
                        const selectionCursor = new LayoutSelectionCursorItem();
                        selectionCursor.setPosition(new geometry_point.Point(cursorPos.pageArea.x + cursorPos.column.x + prevNestedTableColumnInfo.x + lastBorder.xPos + Math.max(1, lastBorder.borderInfo.width) + 1, cursorPos.pageArea.y + cursorPos.column.y + prevLayoutRow.bottom - parMarkBoxHeight));
                        selectionCursor.setSize(new size.Size(1, parMarkBoxHeight));
                        selectionCursor.floatingObjectId = floatingObjectId;
                        this.layoutSelection.selectionInfo.registerItem(cursorPos.pageIndex, selectionCursor);
                        return;
                    }
                }
            }
        }
        SelectionFormatter.setPositionOnVisibleBox(cursorPos);
        if (cursorPos.row.height == 0 || cursorPos.row.width == 0)
            return;
        const floatingObjectId = SelectionFormatter.getFloatingObjId(subDocument, cursorPos.page);
        const selectionCursor = LayoutSelectionItem.create(cursorPos, new size.Size(1, cursorPos.box.height), floatingObjectId, LayoutSelectionCursorItem);
        selectionCursor.x += cursorPos.box.x + (cursorPos.box.isVisible() ? cursorPos.box.getCharOffsetXInPixels(this.measurer, cursorPos.charOffset) : 0);
        selectionCursor.y += cursorPos.row.getSpacingBefore() + cursorPos.row.baseLine - cursorPos.box.getAscent() - cursorPos.row.getSpacingBefore();
        if (cursorPos.box.characterProperties.script === character_enums/* CharacterFormattingScript */.Vg.Subscript) {
            const multiplier = cursorPos.box.characterProperties.fontInfo.scriptMultiplier;
            selectionCursor.y += class_unit_converter/* UnitConverter */.u.pointsToPixelsF(cursorPos.box.characterProperties.fontSize) *
                (cursorPos.box.characterProperties.fontInfo.subScriptOffset * multiplier - multiplier + 1);
        }
        this.layoutSelection.selectionInfo.registerItem(cursorPos.pageIndex, selectionCursor);
    }
    createExtendedSelectionLayout(interval, layoutSelectionInfo, allIntervals) {
        const layout = this.selection.layout;
        if (layout.pages.length == 0)
            return;
        const activeSubDocument = this.selection.activeSubDocument;
        const isMainSubDoc = activeSubDocument.isMain();
        const page = isMainSubDoc ? layout.getLastValidPage() : layout.pages[this.layoutSelection.pageIndex];
        if (!page)
            return;
        if (this.selection.specialRunInfo.isPictureSelected() || (this.selection.specialRunInfo.isTextBoxSelected() && !activeSubDocument.isTextBox()))
            return;
        const startPos = interval.start;
        const endPos = Math.min(interval.end, isMainSubDoc ? page.getEndPosition() : page.otherPageAreas[activeSubDocument.id].getEndPosition());
        const iterator = isMainSubDoc ?
            new layout_box_iterator_main_sub_document/* LayoutBoxIteratorMainSubDocument */.I(activeSubDocument, layout, startPos, endPos) :
            new layout_box_iterator_other_sub_document/* LayoutBoxIteratorOtherSubDocument */.F(activeSubDocument, layout, startPos, endPos, this.layoutSelection.pageIndex);
        if (!iterator.isInitialized())
            throw new Error(errors/* Errors */.D.InternalException);
        let currentLayoutRow = null;
        let currSelectionItem = null;
        const selectedCellsCollector = new SelectedCellsCollector();
        let currPageIndex = -1;
        for (let isFirstBox = true; iterator.moveNext(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(!isFirstBox), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)); isFirstBox = false) {
            if (currPageIndex < iterator.position.pageIndex) {
                currPageIndex = iterator.position.pageIndex;
                number/* NumberMapUtils */.j.forEach(iterator.position.page.anchoredObjectHolder.objects, (obj) => {
                    const pos = layout.anchorObjectsPositionInfo.getPosition(obj.objectId);
                    if (obj.belongsToSubDocId == this.layoutSelection.subDocumentInfo.subDocumentId &&
                        interval.containsInterval(new fixed.FixedInterval(pos, 1))) {
                        const ancObjSelItem = new LayoutSelectionFloatingObjectItem();
                        ancObjSelItem.copyFrom(obj.getOuterBounds(false));
                        layoutSelectionInfo.registerItem(currPageIndex, ancObjSelItem);
                    }
                });
            }
            const currPosition = iterator.position;
            const row = currPosition.row;
            if (row.tableCellInfo) {
                const cell = main_structures_table/* Table */.iA.getTableCellByPosition(activeSubDocument.tables, currPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box));
                if (SelectionFormatter.isCellFullySelected(cell, allIntervals)) {
                    if (selectedCellsCollector.isNeedAddCellToSelection(cell, row.tableCellInfo)) {
                        currentLayoutRow = row;
                        const selectionBound = row.tableCellInfo.createRectangle();
                        selectionBound.x += currPosition.pageArea.x + currPosition.column.x;
                        selectionBound.y += currPosition.pageArea.y + currPosition.column.y;
                        currSelectionItem = new LayoutSelectionItem();
                        currSelectionItem.floatingObjectId = SelectionFormatter.getFloatingObjId(activeSubDocument, currPosition.page);
                        currSelectionItem.copyFrom(selectionBound);
                        layoutSelectionInfo.registerItem(currPosition.pageIndex, currSelectionItem);
                    }
                    continue;
                }
            }
            const rightCharOffset = Math.min(endPos - currPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box), currPosition.box.getLength());
            const currentBoxLeftOffsetX = currPosition.box.getCharOffsetXInPixels(this.measurer, currPosition.charOffset);
            const currentBoxRightOffsetX = currPosition.box.getCharOffsetXInPixels(this.measurer, rightCharOffset);
            const absRowOffsetX = currPosition.pageArea.x + currPosition.column.x + currPosition.row.x;
            const absBoxOffsetX = currPosition.box.x + currentBoxLeftOffsetX + absRowOffsetX;
            const thereIsGap = !!currSelectionItem && !math.MathUtils.numberCloseTo(absBoxOffsetX, currSelectionItem.x + currSelectionItem.width);
            const isNeedCreateNewSelectionRow = row !== currentLayoutRow || thereIsGap;
            if (isNeedCreateNewSelectionRow) {
                currentLayoutRow = row;
                const floatingObjectId = SelectionFormatter.getFloatingObjId(activeSubDocument, currPosition.page);
                currSelectionItem = LayoutSelectionItem.create(currPosition, new size.Size(0, row.height), floatingObjectId, LayoutSelectionItem);
                currSelectionItem.x += currPosition.box.x + currentBoxLeftOffsetX;
                layoutSelectionInfo.registerItem(currPosition.pageIndex, currSelectionItem);
            }
            currSelectionItem.width += currentBoxRightOffsetX - currentBoxLeftOffsetX;
        }
    }
    static isCellFullySelected(cell, allIntervals) {
        if (!cell)
            return false;
        for (let interval of allIntervals)
            if (cell.startParagraphPosition.value >= interval.start && cell.endParagrapPosition.value <= interval.end)
                return true;
        return false;
    }
    static translateInteralsToIterators(layout, subDocument, pageIndex, finalIntervals) {
        const makeIter = subDocument.isMain() ?
            (interval) => new layout_box_iterator_main_sub_document/* LayoutBoxIteratorMainSubDocument */.I(subDocument, layout, interval.start, interval.end) :
            (interval) => new layout_box_iterator_other_sub_document/* LayoutBoxIteratorOtherSubDocument */.F(subDocument, layout, interval.start, interval.end, pageIndex);
        return utils_list.ListUtils.reducedMap(finalIntervals, (interval) => {
            if (interval.length > 0) {
                const iter = makeIter(interval);
                return iter.isInitialized() ? iter : null;
            }
            return null;
        });
    }
    intersectModelIntervalsWithValidPageIntervals(subDocument, modelIntervals, pageIndex) {
        const layout = this.selection.layout;
        if (layout.pages.length == 0)
            return [];
        if (subDocument.isMain()) {
            const pageIntervals = utils_list.ListUtils.accumulate(layout.pages, [], (acc, page) => utils_list.ListUtils.addListOnTail(acc, page.getContentIntervals()), 0, layout.validPageCount);
            const mergedIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(pageIntervals, true);
            const finalIntervals = algorithms.IntervalAlgorithms.getIntersectionsTwoArraysOfInterval(modelIntervals, mergedIntervals);
            return SelectionFormatter.translateInteralsToIterators(this.selection.layout, subDocument, pageIndex, finalIntervals);
        }
        else {
            const page = layout.pages[pageIndex];
            if (!page || !page.otherPageAreas[subDocument.id])
                return [];
            return SelectionFormatter.translateInteralsToIterators(this.selection.layout, subDocument, pageIndex, modelIntervals);
        }
    }
    createSimpleLayout(subDocument, iterators, layoutSelectionInfo, type) {
        for (let iterator of iterators) {
            let currentLayoutRow = null;
            let currSelectionItem = null;
            let color = this.documentProtectionSettings.rangeHighlightColor;
            if (type == SimpleSelectionLayoutType.RangePermission) {
                const currentInterval = new fixed.FixedInterval(iterator.intervalStart, iterator.intervalEnd - iterator.intervalStart);
                const intersections = utils_list.ListUtils.filter(subDocument.availableRangePermissions, (perm) => algorithms.IntervalAlgorithms.getIntersection(perm.interval, currentInterval) != null);
                if (intersections.length)
                    color = utils_list.ListUtils.last(intersections).getRangePermissionColor(subDocument.documentModel, this.documentProtectionSettings);
            }
            for (let isFirstBox = true; iterator.moveNext(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(!isFirstBox), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)); isFirstBox = false) {
                const currPosition = iterator.position;
                const row = currPosition.row;
                const rightCharOffset = Math.min(iterator.intervalEnd - currPosition.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box), currPosition.box.getLength());
                const currentBoxLeftOffsetX = currPosition.box.getCharOffsetXInPixels(this.measurer, currPosition.charOffset);
                const currentBoxRightOffsetX = currPosition.box.getCharOffsetXInPixels(this.measurer, rightCharOffset);
                const absRowOffsetX = currPosition.pageArea.x + currPosition.column.x + currPosition.row.x;
                const absBoxOffsetX = currPosition.box.x + currentBoxLeftOffsetX + absRowOffsetX;
                const thereIsGap = !!currSelectionItem && !math.MathUtils.numberCloseTo(absBoxOffsetX, currSelectionItem.x + currSelectionItem.width);
                const isNeedCreateNewSelectionRow = row !== currentLayoutRow || thereIsGap;
                if (isNeedCreateNewSelectionRow) {
                    currentLayoutRow = row;
                    const height = type == SimpleSelectionLayoutType.Misspelled ?
                        row.baseLine :
                        row.height - row.getSpacingAfter() - row.getSpacingBefore();
                    const yOffset = type == SimpleSelectionLayoutType.Misspelled ?
                        0 :
                        row.getSpacingBefore();
                    const floatingObjectId = SelectionFormatter.getFloatingObjId(subDocument, currPosition.page);
                    currSelectionItem = LayoutSelectionItem.create(currPosition, new size.Size(0, height), floatingObjectId, SelectionFormatter.itemConstructorsMap[type]);
                    if (type == SimpleSelectionLayoutType.RangePermission)
                        currSelectionItem.color = color;
                    currSelectionItem.x += currPosition.box.x + currentBoxLeftOffsetX;
                    currSelectionItem.y += yOffset;
                    layoutSelectionInfo.registerItem(currPosition.pageIndex, currSelectionItem);
                }
                currSelectionItem.width += currentBoxRightOffsetX - currentBoxLeftOffsetX;
            }
        }
    }
    raiseSelectionLayoutChanged() {
        this.layoutSelection.selectionInfo.collectPageChanges(this.selection.layout);
        this.layoutSelection.updatePageIndexWithSelection();
        this.onSelectionLayoutChanged.listeners.forEach(listener => listener.NotifySelectionLayoutChanged());
    }
    raiseSearchSelectionLayoutChanged() {
        this.layoutSelection.searchInfo.collectPageChanges(this.selection.layout);
        this.onSelectionLayoutChanged.listeners.forEach(listener => listener.NotifySearchSelectionLayoutChanged());
    }
    raiseMisspelledSelectionLayoutChanged() {
        this.layoutSelection.misspelledInfo.collectPageChanges(this.selection.layout);
        this.onSelectionLayoutChanged.listeners.forEach(listener => listener.NotifyMisspelledSelectionLayoutChanged());
    }
    raiseRangePermissionLayoutChanged() {
        this.layoutSelection.rangePermissionInfo.collectPageChanges(this.selection.layout);
        this.onSelectionLayoutChanged.listeners.forEach(listener => listener.NotifyRangePermissionLayoutChanged());
    }
    static setPositionOnVisibleBox(cursorPos) {
        if (cursorPos.charOffset != 0)
            return;
        for (let boxIndex = cursorPos.boxIndex - 1; boxIndex >= 0; boxIndex--) {
            if (cursorPos.row.boxes[boxIndex].isVisible()) {
                cursorPos.boxIndex = boxIndex;
                cursorPos.box = cursorPos.row.boxes[cursorPos.boxIndex];
                cursorPos.charOffset = cursorPos.box.getLength();
                return;
            }
        }
    }
    static getFloatingObjId(subDocument, page) {
        if (subDocument.isMain())
            return LayoutSelectionItem.mainPageAreaSelection;
        else if (subDocument.isHeaderFooter())
            return LayoutSelectionItem.headerFooterPageAreaSelection;
        else
            return page.anchoredObjectHolder.getTextBoxByInternalSubDocId(subDocument.id).objectId;
    }
}
SelectionFormatter.itemConstructorsMap = new map_creator/* MapCreator */.M()
    .add(SimpleSelectionLayoutType.Misspelled, LayoutSelectionMisspelledItem)
    .add(SimpleSelectionLayoutType.RangePermission, LayoutRangePermissionItem)
    .add(SimpleSelectionLayoutType.Search, LayoutSelectionSearchItem)
    .get();
class SelectedCellsCollector {
    constructor() {
        this.fullySelectedCells = {};
    }
    isNeedAddCellToSelection(cell, cellInfo) {
        const key = cell.endParagrapPosition.value;
        const cellInfos = this.fullySelectedCells[key];
        if (cellInfos === undefined) {
            this.fullySelectedCells[key] = [cellInfo];
            return true;
        }
        for (let info of cellInfos)
            if (info === cellInfo)
                return false;
        cellInfos.push(cellInfo);
        return true;
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/listeners/anchor-listener.ts


class AnchorListener extends FrameBaseListener {
    baseFrameClassName() {
        return renderer_class_names/* RendererClassNames */.A.ANCHOR;
    }
    constructor(rendererCache, stringResources, readOnlyPropertyHolder, fieldOptions) {
        super(rendererCache, stringResources, fieldOptions);
        this.readOnlyPropertyHolder = readOnlyPropertyHolder;
    }
    NotifyShow(pageIndex, bounds, tip, isTextBox, isAnchoredObject, rotation) {
        if (this.readOnlyPropertyHolder.isReadOnlyPersistent)
            super.NotifyHide();
        else
            super.NotifyShow(pageIndex, bounds, tip, isTextBox, isAnchoredObject, rotation);
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/listeners/drag-caret-listener.ts


class DragCaretListener extends FrameBaseListener {
    baseFrameClassName() {
        return renderer_class_names/* RendererClassNames */.A.DRAG_CARET;
    }
}
DragCaretListener.CARET_WIDTH = 1;

;// CONCATENATED MODULE: ./src/common/canvas/listeners/full-table-selector-listener.ts


class FullTableSelectorListener extends FrameBaseListener {
    baseFrameClassName() {
        return renderer_class_names/* RendererClassNames */.A.FULL_TABLE_SELECTOR;
    }
}

;// CONCATENATED MODULE: ./src/common/canvas/listeners/resize-table-listener.ts


class ResizeTableListener extends FrameBaseListener {
    baseFrameClassName() {
        return renderer_class_names/* RendererClassNames */.A.TABLE_BORDER_LINE;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/anchor-visualizer.ts




const SMAL_ICON_SIZE = 16;
class AnchorVisualizer extends BaseVisualizer {
    NotifySelectionChanged(_selection) {
        if (this.isFloatingObjectSelected())
            this.show();
        else
            this.hide();
    }
    NotifyScrollPositionChanged() { }
    NotifyPagesReady(_pageChanges) {
        if (this.isFloatingObjectSelected())
            this.show();
    }
    NotifyFullyFormatted(_pageCount) { }
    ;
    show() {
        const pos = this.control.selection.specialRunInfo.getPosition();
        const subDocument = this.control.selection.specialRunInfo.getParentSubDocument();
        const layoutPosition = (subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, subDocument, pos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, subDocument, pos, this.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character))
            .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (layoutPosition != null) {
            const x = layoutPosition.getLayoutX(this.control.measurer);
            const y = layoutPosition.getLayoutY();
            this.bounds = new rectangle.Rectangle(x - SMAL_ICON_SIZE, y, SMAL_ICON_SIZE, SMAL_ICON_SIZE);
            this.pageIndex = layoutPosition.pageIndex;
            this.raiseShow();
        }
    }
    isFloatingObjectSelected() {
        return this.control.selection.specialRunInfo.isSelected() && this.control.selection.specialRunInfo.isSelectedAnchorObject;
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/auto-scroll-visualizer.ts

class AutoScrollVisualizer extends BaseVisualizer {
    show(absBounds) {
        this.pageIndex = -1;
        this.bounds = absBounds;
        this.tip = null;
        this.isTextBox = false;
        this.rotation = 0;
        this.isAnchoredObject = false;
        this.raiseShow();
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/drag-caret-visualizer.ts




class DragCaretVisualizer extends BaseVisualizer {
    show(htr) {
        const pageIndex = htr.pageIndex;
        const bounds = new rectangle.Rectangle(htr.getLayoutX(this.control.measurer, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character), htr.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row), DragCaretListener.CARET_WIDTH, htr.row.height - htr.row.getSpacingBefore());
        if (!this.bounds || this.pageIndex != pageIndex || !bounds.equals(this.bounds)) {
            this.pageIndex = pageIndex;
            this.bounds = bounds;
            this.raiseShow();
        }
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/full-table-selector-visualizer.ts








class FullTableSelectorVisualizer extends BaseVisualizer {
    NotifyPagesReady(pageChanges) {
        for (let c of pageChanges) {
            if (c.changeType == LayoutChangeType.Deleted)
                continue;
            this.NotifySelectionChanged(this.control.selection);
            break;
        }
    }
    NotifyFullyFormatted(_pageCount) { }
    ;
    NotifySelectionChanged(selection) {
        const tableInfo = selection.tableInfo;
        if (tableInfo.extendedData.numRows) {
            const sd = selection.activeSubDocument;
            const tbl = sd.tables[tableInfo.table.index];
            if (tbl) {
                const tblPos = tbl.getStartPosition();
                const lp = (sd.isMain() ?
                    new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.control.layout, sd, tblPos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) :
                    new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.control.layout, sd, tblPos, this.control.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row))
                    .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
                if (lp && lp.row.tableCellInfo) {
                    this.pageIndex = lp.pageIndex;
                    const r = lp.row.tableCellInfo.parentRow.parentTable.createRectangle();
                    r.setPosition(new geometry_point.Point(lp.getLayoutX(null, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column) + r.x - FullTableSelectorVisualizer.OFFSET, lp.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Column) + r.y - FullTableSelectorVisualizer.OFFSET));
                    r.setSize(new size.Size(FullTableSelectorVisualizer.SIZE, FullTableSelectorVisualizer.SIZE));
                    this.bounds = r;
                    this.raiseShow();
                    return;
                }
            }
        }
        this.raiseHide();
    }
    show(htr) {
        const pageIndex = htr.pageIndex;
        const bounds = new rectangle.Rectangle(htr.getLayoutX(this.control.measurer, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character), htr.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row), DragCaretListener.CARET_WIDTH, htr.row.height - htr.row.getSpacingBefore());
        if (!this.bounds || this.pageIndex != pageIndex || !bounds.equals(this.bounds)) {
            this.pageIndex = pageIndex;
            this.bounds = bounds;
            this.raiseShow();
        }
    }
}
FullTableSelectorVisualizer.SIZE = 12;
FullTableSelectorVisualizer.OFFSET = FullTableSelectorVisualizer.SIZE;

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/resize-table-visualizer.ts


class ResizeTableVisualizer extends BaseVisualizer {
    init(pageIndex, size) {
        this.pageIndex = pageIndex;
        this.bounds = new rectangle.Rectangle(0, 0, size.width, size.height);
    }
    show(newPosition) {
        this.bounds.x = newPosition.x;
        this.bounds.y = newPosition.y;
        this.raiseShow();
    }
}

;// CONCATENATED MODULE: ./src/common/layout-engine/visualizers/box-visualizer-manager.ts












class BoxVisualizerManager {
    constructor(control) {
        this.dragCaretVisualizer = new DragCaretVisualizer(control);
        this.resizeBoxVisualizer = new ResizeBoxVisualizer(control);
        this.resizeTableVisualizer = new ResizeTableVisualizer(control);
        this.anchorVisualizer = new AnchorVisualizer(control);
        this.autoScrollVisualizer = new AutoScrollVisualizer(control);
        this.fullTableSelectorVisualizer = new FullTableSelectorVisualizer(control);
    }
    initListeners(viewManager) {
        const rendererCache = viewManager.cache;
        this.dragCaretVisualizer.onChanged.add(new DragCaretListener(rendererCache, viewManager.stringResources, viewManager.fieldOptions));
        this.resizeBoxVisualizer.onChanged.add(new ResizeBoxListener(rendererCache, viewManager.stringResources, viewManager.readOnlyPropertyHolder, viewManager.fieldOptions));
        this.resizeTableVisualizer.onChanged.add(new ResizeTableListener(rendererCache, viewManager.stringResources, viewManager.fieldOptions));
        this.anchorVisualizer.onChanged.add(new AnchorListener(rendererCache, viewManager.stringResources, viewManager.readOnlyPropertyHolder, viewManager.fieldOptions));
        this.autoScrollVisualizer.onChanged.add(new AutoScrollListener(viewManager.serviceContainer));
        this.fullTableSelectorVisualizer.onChanged.add(new FullTableSelectorListener(rendererCache, viewManager.stringResources, viewManager.fieldOptions));
    }
    closeDocument() {
        this.resizeBoxVisualizer.closeDocument();
        this.dragCaretVisualizer.closeDocument();
        this.resizeTableVisualizer.closeDocument();
        this.anchorVisualizer.closeDocument();
        this.autoScrollVisualizer.closeDocument();
        this.fullTableSelectorVisualizer.closeDocument();
    }
}

;// CONCATENATED MODULE: ./src/common/popup-menu-manager.ts





class PopupMenuManager {
    constructor(controlOwner, viewManager, measurer, selection) {
        this.rejectNextShowContextMenuId = null;
        this.controlOwner = controlOwner;
        this.viewManager = viewManager;
        this.measurer = measurer;
        this.selection = selection;
    }
    setSelection(selection) {
        this.selection = selection;
    }
    rejectNextShowContextMenu() {
        this.rejectNextShowContextMenuId = setTimeout(() => {
            this.rejectNextShowContextMenuId = null;
        }, 300);
    }
    showByKey() {
        this.controlOwner.showPopupMenu((_contextMenuBar) => {
            const point = this.getContextMenuAbsPoint(this.selection.lastSelectedInterval.start);
            return point ? point : this.undefinedPoint();
        });
    }
    showByMouseClick(point) {
        this.controlOwner.showPopupMenu((contextMenuBar) => {
            if (contextMenuBar.isSpellingMenu) {
                const layoutPoint = this.getContextMenuAbsPoint(this.selection.lastSelectedInterval.start);
                if (layoutPoint)
                    return layoutPoint;
            }
            return point;
        });
    }
    showByTouchClick() {
        if (this.rejectNextShowContextMenuId !== null)
            return;
        this.controlOwner.showPopupMenu((_contextMenuBar) => {
            const point = this.getContextMenuAbsPoint(this.selection.lastSelectedInterval.start);
            return point ? point : this.undefinedPoint();
        });
    }
    undefinedPoint() {
        return new geometry_point.Point(dom.DomUtils.getAbsolutePositionX(this.viewManager.canvas), dom.DomUtils.getAbsolutePositionY(this.viewManager.canvas));
    }
    getContextMenuAbsPoint(lastSelectedIntervalStartPosition) {
        const subDocument = this.selection.activeSubDocument;
        const layoutPosition = subDocument.isMain() ?
            new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(this.selection.layout, subDocument, lastSelectedIntervalStartPosition, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true)) :
            new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(this.selection.layout, subDocument, lastSelectedIntervalStartPosition, this.selection.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(true));
        if (!layoutPosition)
            return null;
        const layoutPoint = new layout_point/* LayoutPoint */.T(layoutPosition.pageIndex, layoutPosition.getLayoutX(this.measurer), layoutPosition.getLayoutY(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Row) + layoutPosition.row.height);
        if (this.viewManager.canvasManager.isVisiblePosition(layoutPoint)) {
            const pageElement = this.viewManager.cache[layoutPoint.pageIndex].page;
            return layoutPoint.offset(dom.DomUtils.getAbsolutePositionX(pageElement), dom.DomUtils.getAbsolutePositionY(pageElement));
        }
        return null;
    }
}

;// CONCATENATED MODULE: ./src/common/scroll/scroll-formatter.ts


class ScrollFormatter extends batch_updatable/* BatchUpdatableObject */.IS {
    constructor(selection) {
        super();
        this.onScrollLayoutChanged = new event_dispatcher/* EventDispatcher */.p();
        this.selection = selection;
    }
    NotifyPagesReady(_pageChanges) {
        this.process();
    }
    NotifyFullyFormatted(_pageCount) {
        this.process();
    }
    ;
    NotifyScrollChanged() {
        this.process();
    }
    onUpdateUnlocked(_occurredEvents) {
        this.process();
    }
    process() {
        const modelState = this.selection.scrollManager.state;
        if (modelState) {
            this.canvasState = modelState.getCanvasState(this.selection.layout);
            if (this.canvasState || this.selection.layout.isFullyFormatted)
                this.selection.scrollManager.init();
        }
        if (this.isUpdateLocked())
            return;
        if (this.canvasState) {
            this.raiseScrollChanged();
            this.canvasState = null;
        }
    }
    raiseScrollChanged() {
        this.onScrollLayoutChanged.listeners.forEach(listener => listener.NotifyScrollPositionChanged(this.canvasState));
    }
}

// EXTERNAL MODULE: ./src/common/model/section/section-property-descriptor.ts
var section_property_descriptor = __webpack_require__(1207);
;// CONCATENATED MODULE: ./src/common/selection/input-position.ts




class InputPosition extends input_position_base/* InputPositionBase */.Cd {
    constructor(selection) {
        super();
        this.selection = selection;
        this.setIntervals(this.selection.getState().intervalsInfo);
        this.reset();
    }
    reset() {
        this.setIntervals(this.selection.getState().intervalsInfo);
        this.resetReturnValues();
    }
    resetSectionMergedProperties() {
        this.mergedSectionPropertiesRaw = null;
        this.mergedSectionPropertiesFull = null;
    }
    getMergedSectionPropertiesRaw() {
        if (!this.mergedSectionPropertiesRaw) {
            let sectionIndex;
            let intervalEndPosition;
            const sections = this.model.sections;
            const pageIndex = this.selection.pageIndex;
            if (pageIndex < 0) {
                const interval = this.intervalsInfo.interval;
                const intervalStartPosition = interval.start;
                intervalEndPosition = interval.end;
                sectionIndex = search.SearchUtils.normedInterpolationIndexOf(sections, (s) => s.startLogPosition.value, intervalStartPosition);
            }
            else {
                const layoutPage = this.selection.layout.pages[pageIndex];
                sectionIndex = section_section/* Section */.$.getPageSectionIndex(layoutPage, sections);
                intervalEndPosition = layoutPage.getEndPosition();
            }
            this.mergedSectionPropertiesRaw = sections[sectionIndex++].sectionProperties.clone();
            for (let section; (section = sections[sectionIndex]) && (section.startLogPosition.value < intervalEndPosition); sectionIndex++)
                input_position_base/* InputPositionBase */.Cd.mergePropertiesRaw(this.mergedSectionPropertiesRaw, section.sectionProperties, section_property_descriptor/* SectionPropertyDescriptor */.Tc.ALL_FIELDS);
        }
        return this.mergedSectionPropertiesRaw;
    }
    getMergedSectionPropertiesFull() {
        if (!this.mergedSectionPropertiesFull)
            this.mergedSectionPropertiesFull = input_position_base/* InputPositionBase */.Cd.mergePropertiesFull(this.getMergedSectionPropertiesRaw(), section_property_descriptor/* SectionPropertyDescriptor */.Tc.ALL_FIELDS);
        return this.mergedSectionPropertiesFull;
    }
    resetReturnValues() {
        super.resetReturnValues();
        this.mergedSectionPropertiesRaw = null;
        this.mergedSectionPropertiesFull = null;
    }
}

;// CONCATENATED MODULE: ./src/common/selection/input-position-model-changes-listener.ts



var InputPositionEventType;
(function (InputPositionEventType) {
    InputPositionEventType[InputPositionEventType["None"] = 0] = "None";
    InputPositionEventType[InputPositionEventType["FullReset"] = 1] = "FullReset";
    InputPositionEventType[InputPositionEventType["ResetSectionProperties"] = 2] = "ResetSectionProperties";
    InputPositionEventType[InputPositionEventType["CheckSelectionChange"] = 4] = "CheckSelectionChange";
})(InputPositionEventType || (InputPositionEventType = {}));
class InputPositionModelChangesListener extends batch_updatable/* BatchUpdatableObject */.IS {
    constructor(inputPosition, selection) {
        super();
        this.updateEnabled = true;
        this.inputPosition = inputPosition;
        this.selection = selection;
    }
    onUpdateUnlocked(occurredEvents) {
        this.applyEvent(occurredEvents);
    }
    NotifySelectionChanged() {
        this.applyEvent(this.getSelectionChangeEvent());
    }
    modelChanged(change) {
        const occurredEvents = this.getModelChangeEvent(change);
        if (this.isUpdateLocked())
            this.registerOccurredEvent(occurredEvents);
        else
            this.applyEvent(occurredEvents);
    }
    applyEvent(occurredEvents) {
        if (!this.updateEnabled)
            return;
        const flag = new class_flag.Flag(occurredEvents);
        if (flag.get(InputPositionEventType.CheckSelectionChange))
            flag.add(this.getSelectionChangeEvent());
        if (flag.get(InputPositionEventType.FullReset))
            this.inputPosition.reset();
        else if (flag.get(InputPositionEventType.ResetSectionProperties))
            this.inputPosition.resetSectionMergedProperties();
    }
    getSelectionChangeEvent() {
        return this.selection.shouldResetInputPosition() ?
            InputPositionEventType.FullReset :
            InputPositionEventType.None;
        ;
    }
    getModelChangeEvent(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.DifferentOddAndEvenPages:
            case changes_enums/* ModelChangeType */.f.PageColor:
                return InputPositionEventType.ResetSectionProperties;
            case changes_enums/* ModelChangeType */.f.DefaultTabWidth:
            case changes_enums/* ModelChangeType */.f.HeaderFooterCreated:
            case changes_enums/* ModelChangeType */.f.HeaderFooterIndexChanged:
            case changes_enums/* ModelChangeType */.f.LoadFontInfo:
            case changes_enums/* ModelChangeType */.f.SectionFormattingChanged:
            case changes_enums/* ModelChangeType */.f.CreateStyleLink:
            case changes_enums/* ModelChangeType */.f.DeleteStyleLink:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListAdded:
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.NumberingListAdded:
            case changes_enums/* ModelChangeType */.f.NumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.ListLevelPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged:
            case changes_enums/* ModelChangeType */.f.IOverrideListLevelChanged:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.BookmarkCreated:
            case changes_enums/* ModelChangeType */.f.BookmarkDeleted:
                return InputPositionEventType.None;
            case changes_enums/* ModelChangeType */.f.TabInserted:
            case changes_enums/* ModelChangeType */.f.TabDeleted:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.LoadPicturesInfo:
            case changes_enums/* ModelChangeType */.f.InlinePicturesUpdated:
                return InputPositionEventType.None;
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.AnchoredPictureSizeChanged:
                return InputPositionEventType.None;
            case changes_enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.FieldInserted:
            case changes_enums/* ModelChangeType */.f.FieldDeleted:
                return InputPositionEventType.None;
            case changes_enums/* ModelChangeType */.f.HyperlinkInfoChanged:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.FieldsShowCodeChanged:
                return InputPositionEventType.None;
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted:
            case changes_enums/* ModelChangeType */.f.TextBufferChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphInserted:
            case changes_enums/* ModelChangeType */.f.SectionInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted:
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved:
            case changes_enums/* ModelChangeType */.f.IntervalRemoved:
            case changes_enums/* ModelChangeType */.f.ParagraphMerged:
            case changes_enums/* ModelChangeType */.f.SectionMerged:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.CharacterFormattingChanged:
            case changes_enums/* ModelChangeType */.f.CharacterPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphFormattingChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphAndCharacterMergedPropertiesReset:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged:
                return InputPositionEventType.None;
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.AnchorInfoPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ShapeChanged:
            case changes_enums/* ModelChangeType */.f.ShapePropertyChanged:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.CharacterStyleApplied:
            case changes_enums/* ModelChangeType */.f.ParagraphStyleApplied:
            case changes_enums/* ModelChangeType */.f.TableStyleChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphNumberingListChanged:
                return InputPositionEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.TableCreated:
            case changes_enums/* ModelChangeType */.f.TableRemoved:
            case changes_enums/* ModelChangeType */.f.TableStartPositionShifted:
            case changes_enums/* ModelChangeType */.f.TableCellPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TablePropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableRowPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableCellSplittedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableCellMergedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableRowInserted:
            case changes_enums/* ModelChangeType */.f.TableRowRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellInserted:
                return InputPositionEventType.FullReset;
            default:
                return InputPositionEventType.None;
        }
    }
}

// EXTERNAL MODULE: ./src/common/selection/selection.ts + 1 modules
var selection = __webpack_require__(9350);
;// CONCATENATED MODULE: ./src/common/selection/selection-model-changes-listener.ts



class SelectionModelChangesListener extends batch_updatable/* BatchUpdatableObject */.IS {
    constructor(selection) {
        super();
        this.selection = selection;
    }
    modelChanged(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted:
            case changes_enums/* ModelChangeType */.f.FieldInserted:
            case changes_enums/* ModelChangeType */.f.FieldDeleted:
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted:
            case changes_enums/* ModelChangeType */.f.TextBufferChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphInserted:
            case changes_enums/* ModelChangeType */.f.SectionInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted:
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved:
            case changes_enums/* ModelChangeType */.f.IntervalRemoved:
            case changes_enums/* ModelChangeType */.f.ParagraphMerged:
            case changes_enums/* ModelChangeType */.f.SectionMerged:
            case changes_enums/* ModelChangeType */.f.TableCreated:
            case changes_enums/* ModelChangeType */.f.TableRemoved:
            case changes_enums/* ModelChangeType */.f.TableStartPositionShifted:
            case changes_enums/* ModelChangeType */.f.TableRowInserted:
            case changes_enums/* ModelChangeType */.f.TableRowRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellInserted: {
                this.raiseSelectionChange();
                break;
            }
        }
    }
    onUpdateUnlocked(occurredEvents) {
        if (occurredEvents != 0)
            this.raiseSelectionChangeCore();
    }
    raiseSelectionChange() {
        if (!this.isUpdateLocked())
            this.raiseSelectionChangeCore();
        else
            this.registerOccurredEvent(1);
    }
    raiseSelectionChangeCore() {
        this.selection.changeState(newState => newState, new selection/* SetSelectionStateOptions */.v().forceUpdate());
    }
}

;// CONCATENATED MODULE: ./src/common/spelling/spell-checker-selection-changes-listener.ts

class SpellCheckerSelectionChangesListener {
    constructor(spellChecker) {
        this.spellChecker = spellChecker;
    }
    dispose() {
        clearTimeout(this.updBoxesTimerId);
    }
    NotifySelectionChanged(selection) {
        if (!this.spellChecker.settings.isEnabled)
            return;
        if (selection.prevState.intervalsInfo.subDocument != selection.currState.intervalsInfo.subDocument) {
            this.spellChecker.initialize(selection.activeSubDocument);
            this.spellChecker.check();
            this.updBoxesTimerId = setTimeout(() => this.spellChecker.updateMisspelledBoxes(), 0);
        }
        let startPosition = selection.anchorPosition;
        if (this.lastStartPosition === startPosition)
            return;
        this.lastStartPosition = startPosition;
        let wordStartPosition = helpers/* ModelWordPositionHelper */.a.getWordStartPosition(selection.activeSubDocument, startPosition);
        if (this.lastWordStartPosition === wordStartPosition)
            return;
        if (startPosition == wordStartPosition && startPosition - this.lastWordStartPosition == 1) {
            this.lastWordStartPosition = wordStartPosition;
            return;
        }
        this.lastWordStartPosition = wordStartPosition;
        this.spellChecker.onCurrentSelectedWordChanged();
    }
}

// EXTERNAL MODULE: ./src/common/model/section/paper-kind.ts
var paper_kind = __webpack_require__(6498);
;// CONCATENATED MODULE: ./src/common/ui/ruler/settings.ts
const RICH_EDIT_CLASS_NAME_PREFIX = "dxre-";
const RULER_CLASS_NAME = RICH_EDIT_CLASS_NAME_PREFIX + "ruler";
const RULLER_NUMBER_CORRECTION = 5;
class RulerSettings {
}
var RulerVisibility;
(function (RulerVisibility) {
    RulerVisibility[RulerVisibility["Auto"] = 0] = "Auto";
    RulerVisibility[RulerVisibility["Visible"] = 1] = "Visible";
    RulerVisibility[RulerVisibility["Hidden"] = 2] = "Hidden";
})(RulerVisibility || (RulerVisibility = {}));
class RulerTitles {
}
class RulerStyles {
}
class RulerTabImages {
}
class RulerStyleInfo {
}
class RulerSpriteInfo {
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/owner.ts
class RulerMultiControl {
    get activeSubControl() { return this.subControls[this.handleControlIndex]; }
    constructor(modelData, controls) {
        this.subControls = [];
        this.handleControlIndex = -1;
        this.viewState = [];
        this.modelData = modelData;
        this.controls = controls;
    }
    dispose() {
        for (let elem of this.subControls)
            elem.dispose();
        this.subControls = [];
    }
    update() {
        this.updateModelState();
        this.updateView();
    }
    updateModelState() {
        this.currModelState = this.getModelState();
        this.prevModelState = this.currModelState.clone();
    }
    onMouseMove(distance, _source) {
        this.calculateNewModelState(distance);
        this.updateView();
        this.activeSubControl.lineControlSetPosition();
    }
    onEscPress() {
        this.currModelState = this.prevModelState.clone();
        this.finishHandle();
    }
    finishHandle() {
        this.controls.lineControl.hide();
        const activeSubControl = this.activeSubControl;
        if (activeSubControl)
            activeSubControl.hideShadow();
    }
    setCount(count) {
        let diff = this.subControls.length - count;
        if (diff > 0)
            while (diff--)
                this.subControls.pop().dispose();
        else {
            diff = Math.abs(diff);
            while (diff--)
                this.subControls.push(this.createSubControl());
        }
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/vertical-line.ts



const TABLE_COLUMN_SEPARATOR_RULER_LINE_CLASS_NAME = " table";
var SnapTo;
(function (SnapTo) {
    SnapTo[SnapTo["LeftSide"] = 0] = "LeftSide";
    SnapTo[SnapTo["RightSide"] = 1] = "RightSide";
})(SnapTo || (SnapTo = {}));
var RulerLineDisplayType;
(function (RulerLineDisplayType) {
    RulerLineDisplayType[RulerLineDisplayType["Normal"] = 0] = "Normal";
    RulerLineDisplayType[RulerLineDisplayType["TableColumn"] = 1] = "TableColumn";
})(RulerLineDisplayType || (RulerLineDisplayType = {}));
class RulerVerticalLineControl {
    constructor(canvas, className, rulerControlElement) {
        this.borderWidth = 0;
        this.rulerControlLeft = 0;
        this.rulerControlWidth = 0;
        this.viewElementLeft = 0;
        this.canvas = canvas;
        this.rulerControlElement = rulerControlElement;
        this.rootElement = DocumentRenderer.renderContainer(className);
        this.rootElement.style.display = "block";
        this.borderWidth = dom.DomUtils.getHorizontalBordersWidth(this.rootElement);
    }
    dispose() {
        dom.DomUtils.hideNode(this.rootElement);
        this.rootElement = null;
    }
    show(type) {
        if (type == RulerLineDisplayType.TableColumn)
            dom.DomUtils.addClassName(this.rootElement, TABLE_COLUMN_SEPARATOR_RULER_LINE_CLASS_NAME);
        else
            dom.DomUtils.removeClassName(this.rootElement, TABLE_COLUMN_SEPARATOR_RULER_LINE_CLASS_NAME);
        this.rootElement.style.height = this.canvas.clientHeight + "px";
        this.rootElement.style.top = this.canvas.offsetTop + "px";
        this.rulerControlLeft = this.rulerControlElement.offsetLeft;
        this.rulerControlWidth = this.rulerControlElement.offsetWidth;
        this.viewElementLeft = this.canvas.offsetLeft;
        this.canvas.parentElement.insertBefore(this.rootElement, this.canvas);
    }
    hide() {
        dom.DomUtils.hideNode(this.rootElement);
    }
    setPosition(value, snapTo) {
        if (snapTo == SnapTo.RightSide)
            value = this.rulerControlLeft + this.rulerControlWidth - RULLER_NUMBER_CORRECTION - value;
        else if (snapTo == SnapTo.LeftSide)
            value = this.rulerControlLeft + RULLER_NUMBER_CORRECTION + value - this.borderWidth;
        this.rootElement.style.left = this.viewElementLeft + value + "px";
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/column.ts









const MinColumnWidth = class_unit_converter/* UnitConverter */.u.centimeterToPixel(1.5);
const MinColumnSpace = class_unit_converter/* UnitConverter */.u.centimeterToPixel(0.25);
const COLUMN_HANDLE_CLASS_NAME = RICH_EDIT_CLASS_NAME_PREFIX + "columnHandle";
const COLUMN_LEFT_PART_HANDLE_CLASS_NAME = RICH_EDIT_CLASS_NAME_PREFIX + "columnHandleLeftPart";
const COLUMN_RIGHT_PART_HANDLE_CLASS_NAME = RICH_EDIT_CLASS_NAME_PREFIX + "columnHandleRightPart";
class ColumnSectionProperties {
    constructor(width, space) {
        this.width = width;
        this.space = space;
    }
    clone() {
        return new ColumnSectionProperties(this.width, this.space);
    }
    equals(obj) {
        return this.width == obj.width &&
            this.space == obj.space;
    }
}
var ColumnAction;
(function (ColumnAction) {
    ColumnAction[ColumnAction["None"] = 0] = "None";
    ColumnAction[ColumnAction["ColumnMove"] = 1] = "ColumnMove";
    ColumnAction[ColumnAction["ColumnSpace"] = 2] = "ColumnSpace";
    ColumnAction[ColumnAction["ColumnWidth"] = 3] = "ColumnWidth";
})(ColumnAction || (ColumnAction = {}));
class RulerColumnModelState {
    get rightPos() { return this.leftPos + this.width; }
    constructor(leftPos, width, space) {
        this.leftPos = leftPos;
        this.width = width;
        this.space = space;
    }
    clone() {
        return new RulerColumnModelState(this.leftPos, this.width, this.space);
    }
    equals(obj) {
        return this.leftPos == obj.leftPos &&
            this.width == obj.width &&
            this.space == obj.space;
    }
}
class RulerColumnsModelState {
    constructor(columns, equalWidth, columnActiveIndex, enabled) {
        this.columns = columns;
        this.equalWidth = equalWidth;
        this.columnActiveIndex = columnActiveIndex;
        this.enabled = enabled;
    }
    get activeColumn() { return this.columns[this.columnActiveIndex]; }
    clone() {
        return new RulerColumnsModelState(utils_list.ListUtils.deepCopy(this.columns), this.equalWidth, this.columnActiveIndex, this.enabled);
    }
}
class RulerColumnsControl extends RulerMultiControl {
    getModelState() {
        const state = this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerSectionColumnsSettings).getState();
        let prevColumnLeftPos = 0;
        const modelColumns = utils_list.ListUtils.map(state.value, (column) => {
            const result = new RulerColumnModelState(prevColumnLeftPos, column.width, column.space);
            prevColumnLeftPos = result.rightPos + result.space;
            return result;
        });
        return new RulerColumnsModelState(modelColumns, state.equalWidth, state.activeIndex, state.enabled);
    }
    updateView() {
        if (this.controls.tables.currModelState.columnSeparators.hasItems || !this.modelData.selection.activeSubDocument.isMain()) {
            this.viewState = [];
            this.setCount(0);
        }
        else {
            const offset = this.controls.leftMargin.currModelState.modelValue;
            this.viewState = utils_list.ListUtils.map(this.currModelState.columns, column => {
                const result = column.clone();
                result.leftPos += offset;
                return result;
            }, 0, this.currModelState.columns.length - 1);
            this.setCount(this.viewState.length);
            utils_list.ListUtils.forEach2(this.subControls, this.viewState, (control, viewState) => control.setValue(viewState));
        }
    }
    createSubControl() {
        return new RulerColumnState(this.controls);
    }
    marginsChanged(diff) {
        if (this.prevModelState.equalWidth) {
            const colCount = this.prevModelState.columns.length;
            const columnWidthDiff = diff / colCount;
            let prevColumnLeftPos = 0;
            this.currModelState.columns = this.prevModelState.columns.map(oldColumn => {
                const result = new RulerColumnModelState(prevColumnLeftPos, oldColumn.width - columnWidthDiff, oldColumn.space);
                prevColumnLeftPos = result.rightPos + result.space;
                return result;
            });
        }
    }
    onMouseDown(source, _evt) {
        if (!this.currModelState.enabled)
            return false;
        if (utils_list.ListUtils.unsafeAnyOf(this.subControls, (subControl, index) => {
            this.action = subControl.getAction(source);
            if (this.action != ColumnAction.None) {
                this.handleControlIndex = index;
                return true;
            }
            return false;
        })) {
            this.controls.lineControl.show(RulerLineDisplayType.Normal);
            this.activeSubControl.lineControlSetPosition();
            this.activeSubControl.showShadow();
            return true;
        }
        return false;
    }
    onMouseUp() {
        this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerSectionColumnsSettings)
            .execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.columns.map(col => new ColumnSectionProperties(col.width, col.space)));
        this.finishHandle();
    }
    calculateNewModelState(distance) {
        switch (this.action) {
            case ColumnAction.ColumnMove:
                this.calculateNewModelStateColumnMove(distance);
                return;
            case ColumnAction.ColumnSpace:
                this.calculateNewModelStateColumnSpace(distance, false);
                return;
            case ColumnAction.ColumnWidth:
                this.calculateNewModelStateColumnSpace(distance, true);
                return;
        }
    }
    calculateNewModelStateColumnMove(distance) {
        const leftMargin = this.controls.leftMargin.prevModelState.modelValue;
        const column = this.prevModelState.columns[this.handleControlIndex];
        const initialPos = leftMargin + column.rightPos;
        const newPos = this.controls.chooseClosestAnchorPosition(initialPos + distance, [initialPos], new min_max.MinMaxNumber(leftMargin + column.leftPos + MinColumnWidth, leftMargin + this.prevModelState.columns[this.handleControlIndex + 1].rightPos - MinColumnWidth - column.space));
        const correctedDistance = newPos - initialPos;
        const currColumn = this.currModelState.columns[this.handleControlIndex] = this.prevModelState.columns[this.handleControlIndex].clone();
        const nextColumn = this.currModelState.columns[this.handleControlIndex + 1] = this.prevModelState.columns[this.handleControlIndex + 1].clone();
        currColumn.width += correctedDistance;
        nextColumn.leftPos += correctedDistance;
        nextColumn.width -= correctedDistance;
    }
    calculateNewModelStateColumnSpace(distance, leftEdge) {
        if (this.prevModelState.equalWidth) {
            const columnCount = this.currModelState.columns.length;
            const leftMargin = this.controls.leftMargin.prevModelState.modelValue;
            const column = this.prevModelState.columns[this.handleControlIndex];
            const maxColumnSpace = (utils_list.ListUtils.last(this.prevModelState.columns).rightPos - MinColumnWidth * columnCount) / (columnCount - 1);
            const maxColumnWidth = (utils_list.ListUtils.last(this.prevModelState.columns).rightPos - MinColumnSpace * (columnCount - 1)) / columnCount;
            const bounds = leftEdge ?
                new min_max.MinMaxNumber(leftMargin + MinColumnWidth * (this.handleControlIndex + 1) + maxColumnSpace * this.handleControlIndex, leftMargin + maxColumnWidth * (this.handleControlIndex + 1) + MinColumnSpace * this.handleControlIndex) :
                new min_max.MinMaxNumber(leftMargin + (maxColumnWidth + MinColumnSpace) * (this.handleControlIndex + 1), leftMargin + (MinColumnWidth + maxColumnSpace) * (this.handleControlIndex + 1));
            const initialPos = leftMargin + column.rightPos + (leftEdge ? 0 : column.space);
            const newPos = this.controls.chooseClosestAnchorPosition(initialPos + distance, [initialPos], bounds);
            const correctedDistance = newPos - initialPos;
            const diffS = leftEdge ?
                -correctedDistance * columnCount / (columnCount - (this.handleControlIndex + 1)) :
                correctedDistance * columnCount / (this.handleControlIndex + 1);
            const diffW = leftEdge ?
                diffS - diffS / columnCount :
                diffS - diffS / columnCount;
            this.currModelState = this.prevModelState.clone();
            let prevColumnLeftPos = 0;
            utils_list.ListUtils.forEach(this.currModelState.columns, (col, index) => {
                col.leftPos = prevColumnLeftPos;
                col.space += index == columnCount - 1 ? 0 : diffS;
                col.width -= diffW;
                prevColumnLeftPos = col.rightPos + col.space;
            });
        }
        else {
            const leftMargin = this.controls.leftMargin.prevModelState.modelValue;
            const column = this.prevModelState.columns[this.handleControlIndex];
            const bounds = leftEdge ?
                new min_max.MinMaxNumber(leftMargin + column.leftPos + MinColumnWidth, leftMargin + this.prevModelState.columns[this.handleControlIndex + 1].leftPos - MinColumnSpace) :
                new min_max.MinMaxNumber(leftMargin + column.rightPos + MinColumnSpace, leftMargin + this.prevModelState.columns[this.handleControlIndex + 1].rightPos - MinColumnWidth);
            const initialPos = leftMargin + column.rightPos + (leftEdge ? 0 : column.space);
            const newPos = this.controls.chooseClosestAnchorPosition(initialPos + distance, [initialPos], bounds);
            const correctedDistance = newPos - initialPos;
            const currColumn = this.currModelState.columns[this.handleControlIndex] = this.prevModelState.columns[this.handleControlIndex].clone();
            const nextColumn = this.currModelState.columns[this.handleControlIndex + 1] = this.prevModelState.columns[this.handleControlIndex + 1].clone();
            if (leftEdge) {
                currColumn.width += correctedDistance;
                currColumn.space -= correctedDistance;
            }
            else {
                currColumn.space += correctedDistance;
                nextColumn.leftPos += correctedDistance;
                nextColumn.width -= correctedDistance;
            }
        }
    }
}
class RulerColumnState {
    constructor(controls) {
        this.controls = controls;
        this.rootElement = DocumentRenderer.renderContainer(COLUMN_HANDLE_CLASS_NAME);
        this.leftElement = DocumentRenderer.renderContainer(COLUMN_LEFT_PART_HANDLE_CLASS_NAME);
        this.rightElement = DocumentRenderer.renderContainer(COLUMN_RIGHT_PART_HANDLE_CLASS_NAME);
        this.rootElement.appendChild(this.leftElement);
        this.rootElement.appendChild(this.rightElement);
        controls.ruler.rootElement.appendChild(this.rootElement);
    }
    dispose() {
        dom.DomUtils.hideNode(this.rootElement);
        this.rootElement = null;
    }
    showShadow() { }
    hideShadow() { }
    lineControlSetPosition() {
        let pos;
        switch (this.controls.columns.action) {
            case ColumnAction.ColumnMove:
                pos = this.viewState.rightPos + this.viewState.space / 2;
                break;
            case ColumnAction.ColumnSpace:
                pos = this.viewState.rightPos + this.viewState.space;
                break;
            case ColumnAction.ColumnWidth:
                pos = this.viewState.rightPos;
                break;
        }
        this.controls.lineControl.setPosition(pos, SnapTo.LeftSide);
    }
    setValue(viewState) {
        if (!this.viewState || !this.viewState.equals(viewState)) {
            this.viewState = viewState.clone();
            this.rootElement.style.left = RULLER_NUMBER_CORRECTION + viewState.rightPos + "px";
            this.rootElement.style.width = viewState.space + "px";
        }
    }
    getAction(source) {
        if (source == this.rightElement)
            return ColumnAction.ColumnSpace;
        if (source == this.leftElement)
            return ColumnAction.ColumnWidth;
        if (source == this.rootElement && !this.controls.columns.currModelState.equalWidth)
            return ColumnAction.ColumnMove;
        return ColumnAction.None;
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/base.ts


class RulerModelState {
    constructor(modelValue, enabled) {
        this.modelValue = modelValue;
        this.enabled = enabled;
    }
    clone() {
        return new RulerModelState(this.modelValue, this.enabled);
    }
}
class RulerBase {
    get visible() { return this._visible; }
    constructor(modelData, controls) {
        this._visible = true;
        this.modelData = modelData;
        this.controls = controls;
        this.rootElement = DocumentRenderer.renderContainer(this.getRootClassName());
    }
    dispose() {
        dom.DomUtils.hideNode(this.rootElement);
        this.rootElement = null;
    }
    setVisible(visible) {
        if (this._visible != visible) {
            this._visible = visible;
            this.rootElement.style.display = visible ? 'block' : 'none';
        }
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/divisions.ts







const MINOR_TOP_AND_BOTTOM_MARGIN = 4;
const MAJOR_TOP_AND_BOTTOM_MARGIN = 2;
const DIVISION_CONTAINER_CLASS_NAME = RULER_CLASS_NAME + "Divisions";
const DIVISION_CLASS_NAME = "Division";
const DIVISION_MINOR_CLASS_NAME = RULER_CLASS_NAME + "Minor" + DIVISION_CLASS_NAME;
const DIVISION_MAJOR_CLASS_NAME = RULER_CLASS_NAME + "Major" + DIVISION_CLASS_NAME;
const DIVISION_NUMBER_CLASS_NAME = RULER_CLASS_NAME + "Number" + DIVISION_CLASS_NAME;
class RulerDivisionsControl extends RulerBase {
    getRootClassName() { return DIVISION_CONTAINER_CLASS_NAME; }
    constructor(modelData, controls, divisionInfo, maxPageWidth) {
        super(modelData, controls);
        this.height = 0;
        const unitCount = Math.ceil(maxPageWidth / divisionInfo.unitSize);
        this.rootElement.style.width = divisionInfo.unitSize * (unitCount * 2 + 1) + "px";
        this.controls.ruler.rootElement.appendChild(this.rootElement);
        if (browser.Browser.IE && browser.Browser.MajorVersion <= 9)
            this.rootElement.offsetParent;
        this.height = size_utils/* SizeUtils */.F.getOffsetHeight(this.rootElement);
        createDivisionElements(this.rootElement, unitCount, divisionInfo, this.height);
        this.initialLeft = -(unitCount * divisionInfo.unitSize - RULLER_NUMBER_CORRECTION);
    }
    update() {
        this.updateModelState();
        this.updateView();
    }
    updateModelState() { }
    updateView() {
        const newViewState = this.getViewValue();
        if (newViewState != this.viewState) {
            this.viewState = newViewState;
            this.rootElement.style.left = this.viewState + this.initialLeft + "px";
        }
    }
    getViewValue() {
        const seps = this.controls.tables.currModelState.columnSeparators;
        if (!seps.hasItems)
            return this.controls.paragraphLeftPosition;
        const item = this.controls.tables.currModelState.columnSeparators.items[0];
        return this.controls.leftMargin.currModelState.modelValue + this.controls.columns.currModelState.activeColumn.leftPos +
            this.controls.tables.currModelState.columnSeparators.cellSpacing + item.leftMargin + item.position;
    }
}
function createDivisionElements(rootElement, unitCount, divisionInfo, height) {
    let divisionLeftPosition = 0;
    const createSimpleDivision = (className, topAndBottomMargin) => {
        const stepSize = divisionInfo.stepSize;
        const element = DocumentRenderer.renderContainer("");
        element.style.left = divisionLeftPosition + "px";
        element.style.width = stepSize + "px";
        element.style.height = height - topAndBottomMargin * 2 + "px";
        element.style.marginTop = topAndBottomMargin + "px";
        element.style.marginBottom = topAndBottomMargin + "px";
        element.className = className;
        divisionLeftPosition += stepSize;
        return element;
    };
    const createNumberDivision = (className, numb) => {
        const element = createSimpleDivision(className, null);
        if (numb != 0) {
            const numberElement = DocumentRenderer.renderContainer("");
            numberElement.innerHTML = numb.toString();
            element.appendChild(numberElement);
        }
        return element;
    };
    const createDivision = (numb) => {
        const fragment = document.createDocumentFragment();
        for (let type of divisionInfo.unitMap) {
            switch (type) {
                case DivisionType.Number:
                    fragment.appendChild(createNumberDivision(DIVISION_NUMBER_CLASS_NAME, numb));
                    break;
                case DivisionType.Major:
                    fragment.appendChild(createSimpleDivision(DIVISION_MAJOR_CLASS_NAME, MAJOR_TOP_AND_BOTTOM_MARGIN));
                    break;
                case DivisionType.Minor:
                    fragment.appendChild(createSimpleDivision(DIVISION_MINOR_CLASS_NAME, MINOR_TOP_AND_BOTTOM_MARGIN));
                    break;
            }
        }
        return fragment;
    };
    for (let i = unitCount; i > 0; i--)
        rootElement.appendChild(createDivision(i));
    for (let j = 0; j <= unitCount; j++)
        rootElement.appendChild(createDivision(j));
}
var DivisionType;
(function (DivisionType) {
    DivisionType[DivisionType["Number"] = 0] = "Number";
    DivisionType[DivisionType["Minor"] = 1] = "Minor";
    DivisionType[DivisionType["Major"] = 2] = "Major";
})(DivisionType || (DivisionType = {}));
class DivisionInfo {
    constructor(map, unitSize) {
        this.unitMap = map;
        this.unitSize = unitSize;
        this.stepSize = this.unitSize / this.unitMap.length;
    }
    static create(unitType) {
        return unitType == unit_converter/* RichEditUnit */.UH.Inch ?
            new DivisionInfo([DivisionType.Number, DivisionType.Minor, DivisionType.Minor, DivisionType.Minor,
                DivisionType.Major, DivisionType.Minor, DivisionType.Minor, DivisionType.Minor], class_unit_converter/* UnitConverter */.u.inchesToPixels(1)) :
            new DivisionInfo([DivisionType.Number, DivisionType.Minor, DivisionType.Major, DivisionType.Minor], class_unit_converter/* UnitConverter */.u.centimeterToPixelF(1));
    }
}

// EXTERNAL MODULE: ./src/common/commands/ruler/ruler-paragraph-indents-command.ts
var ruler_paragraph_indents_command = __webpack_require__(8569);
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/template-manager.ts
class RulerTemplateManager {
    static getLeftIndentTopElementTemplate() { return null; }
    static getLeftIndentBodyElementTemplate() { return null; }
    static getRightIndentElementTemplate() { return null; }
    static getFirstLineIndentElementTemplate() { return null; }
    static getLeftTabElementTemplate() { return null; }
    static getCenterTabElementTemplate() { return null; }
    static getRightTabElementTemplate() { return null; }
    static getDecimalTabElementTemplate() { return null; }
    static getTableColumnDragElementTemplate() { return null; }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/shadow.ts

class RulerShadow {
    constructor(templateElement) {
        this.element = templateElement.cloneNode(true);
        this.element.style.opacity = '0.5';
        this.element.style.display = '';
        templateElement.parentNode.appendChild(this.element);
    }
    dispose() {
        dom.DomUtils.hideNode(this.element);
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/indent/base.ts



const RulerMinDistanceBetweenIndents = 10;
class RulerBaseIndentControl extends RulerBase {
    constructor() {
        super(...arguments);
        this.viewState = 0;
    }
    updateModelState() {
        this.currModelState = this.getModelState();
        this.prevModelState = this.currModelState.clone();
    }
    onMouseDown(source, _evt) {
        if (!this.canHandle(source) || !this.currModelState.enabled)
            return false;
        this.controls.lineControl.show(RulerLineDisplayType.Normal);
        this.lineControlSetPosition();
        this.shadow = new RulerShadow(this.rootElement);
        return true;
    }
    onMouseMove(distance, _source) {
        this.calculateNewModelState(distance);
        this.updateView();
        this.lineControlSetPosition();
    }
    onEscPress() {
        this.currModelState = this.prevModelState.clone();
        this.finishHandle();
    }
    finishHandle() {
        this.controls.lineControl.hide();
        this.shadow.dispose();
    }
    lineControlSetPosition() {
        this.controls.lineControl.setPosition(this.viewState, SnapTo.LeftSide);
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/indent/first-line.ts








class RulerFirstLineIndentDragHandle extends RulerBaseIndentControl {
    get heightOfProtrudingPart() { return this.modelData.showLeftIndent ? this._heightOfProtrudingPart : 0; }
    getRootClassName() {
        return this.modelData.styles.firstLineIndentImage.spriteCssClass + " " +
            this.modelData.styles.firstLineIndent.className;
    }
    constructor(modelData, controls) {
        super(modelData, controls);
        const template = RulerTemplateManager.getFirstLineIndentElementTemplate();
        if (template)
            this.rootElement.innerHTML = template;
        this.rootElement.title = this.modelData.titles.firstLineIndent;
        this.controls.ruler.rootElement.appendChild(this.rootElement);
        this.adjustByTop();
        this.leftCorrection = Math.round(size_utils/* SizeUtils */.F.getOffsetWidth(this.rootElement) / 2);
        this._heightOfProtrudingPart = size_utils/* SizeUtils */.F.getOffsetHeight(this.rootElement) - this.controls.divisions.height / 2;
    }
    adjustByTop() {
        const mainElementHeight = size_utils/* SizeUtils */.F.getOffsetHeight(this.rootElement);
        const divisionsControlHeight = this.controls.divisions.height;
        this.rootElement.style.marginTop = (mainElementHeight - divisionsControlHeight) / 2 + "px";
    }
    getModelState() {
        const state = this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerParagraphLeftIndents).getState();
        return new RulerModelState(state.value.firstLine, state.enabled);
    }
    updateView() {
        const newViewState = this.controls.paragraphLeftPosition + this.currModelState.modelValue;
        if (newViewState != this.viewState) {
            this.viewState = newViewState;
            if (this.modelData.showLeftIndent)
                this.rootElement.style.left = this.viewState + RULLER_NUMBER_CORRECTION - this.leftCorrection + "px";
            else
                this.setVisible(false);
        }
    }
    canHandle(source) { return source == this.rootElement; }
    onMouseUp() {
        const commandValue = new ruler_paragraph_indents_command/* RulerParagraphLeftIndentsCommandValue */.bV(null, this.controls.leftIndent.currModelState.modelValue, this.currModelState.modelValue);
        commandValue.setIntervalsInfo(this.modelData.selection.intervalsInfo);
        this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerParagraphLeftIndents)
            .execute(this.modelData.commandManager.isPublicApiCall, commandValue);
        this.finishHandle();
    }
    calculateNewModelState(distance) {
        const parLeftPos = this.controls.paragraphLeftPosition;
        this.currModelState.modelValue =
            this.controls.chooseClosestAnchorPosition(parLeftPos + this.prevModelState.modelValue + distance, [parLeftPos + this.prevModelState.modelValue], new min_max.MinMaxNumber(0, Math.max(0, this.controls.rightIndent.viewStateRelativeLeft - RulerMinDistanceBetweenIndents))) - parLeftPos;
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/indent/left.ts









const LEFT_INDENT_DRAG_HANDLE_BODY = RICH_EDIT_CLASS_NAME_PREFIX + "leftIndentDragHandleBody";
class RulerLeftIndentDragHandle extends RulerBaseIndentControl {
    get heightOfProtrudingPart() { return this.modelData.showLeftIndent ? this._heightOfProtrudingPart : 0; }
    getRootClassName() { return this.modelData.styles.leftIndent.className; }
    constructor(modelData, controls) {
        super(modelData, controls);
        this.isActionLeftIndent = false;
        this.topElement = DocumentRenderer.renderContainer(this.modelData.styles.leftIndentImage.spriteCssClass);
        this.bodyElement = DocumentRenderer.renderContainer(LEFT_INDENT_DRAG_HANDLE_BODY);
        const topElementTemplate = RulerTemplateManager.getLeftIndentTopElementTemplate();
        if (topElementTemplate)
            this.topElement.innerHTML = topElementTemplate;
        const bodyElementTemplate = RulerTemplateManager.getLeftIndentBodyElementTemplate();
        if (bodyElementTemplate)
            this.bodyElement.innerHTML = bodyElementTemplate;
        this.rootElement.appendChild(this.topElement);
        this.rootElement.appendChild(this.bodyElement);
        this.controls.ruler.rootElement.appendChild(this.rootElement);
        this.adjustByTop();
        const mainElementWidth = this.topElement.offsetWidth;
        this.bodyElement.style.width = mainElementWidth + "px";
        const style = this.rootElement.style;
        style.height = size_utils/* SizeUtils */.F.getOffsetHeight(this.topElement) + size_utils/* SizeUtils */.F.getOffsetHeight(this.bodyElement) + "px";
        style.width = mainElementWidth + "px";
        style.marginTop = this.controls.divisions.height / 2 + "px";
        this.bodyElement.title = this.modelData.titles.leftIndent;
        this.topElement.title = this.modelData.titles.hangingIndent;
        this.leftCorrection = Math.round(size_utils/* SizeUtils */.F.getOffsetWidth(this.rootElement) / 2);
        this._heightOfProtrudingPart = size_utils/* SizeUtils */.F.getOffsetHeight(this.rootElement) - this.controls.divisions.height / 2;
    }
    adjustByTop() {
        const mainElementHeight = size_utils/* SizeUtils */.F.getOffsetHeight(this.rootElement);
        const divisionsControlHeight = this.controls.divisions.height;
        this.rootElement.style.marginTop = (mainElementHeight - divisionsControlHeight) / 2 + "px";
    }
    getModelState() {
        const state = this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerParagraphLeftIndents).getState();
        return new RulerModelState(state.value.hanging, state.enabled);
    }
    updateView() {
        const newViewState = this.controls.paragraphLeftPosition + this.currModelState.modelValue;
        if (newViewState != this.viewState) {
            this.viewState = newViewState;
            if (this.modelData.showLeftIndent)
                this.rootElement.style.left = this.viewState + RULLER_NUMBER_CORRECTION - this.leftCorrection + "px";
            else
                this.setVisible(false);
        }
    }
    canHandle(source) {
        if (this.bodyElement == source) {
            this.isActionLeftIndent = true;
            return true;
        }
        else if (this.topElement == source) {
            this.isActionLeftIndent = false;
            return true;
        }
        return false;
    }
    onMouseUp() {
        const commandValue = new ruler_paragraph_indents_command/* RulerParagraphLeftIndentsCommandValue */.bV(null, this.currModelState.modelValue, this.controls.firstLineIndent.currModelState.modelValue);
        commandValue.setIntervalsInfo(this.modelData.selection.intervalsInfo);
        this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerParagraphLeftIndents)
            .execute(this.modelData.commandManager.isPublicApiCall, commandValue);
        this.finishHandle();
    }
    onEscPress() {
        super.onEscPress();
        this.controls.firstLineIndent.currModelState = this.controls.firstLineIndent.prevModelState.clone();
    }
    calculateNewModelState(distance) {
        const parLeftPos = this.controls.paragraphLeftPosition;
        if (this.isActionLeftIndent) {
            const minPrevValue = Math.min(this.prevModelState.modelValue, this.controls.firstLineIndent.prevModelState.modelValue);
            const maxPrevValue = Math.max(this.prevModelState.modelValue, this.controls.firstLineIndent.prevModelState.modelValue);
            const diff = maxPrevValue - minPrevValue;
            const newModelValue = this.controls.chooseClosestAnchorPosition(parLeftPos + minPrevValue + distance, [parLeftPos + minPrevValue], new min_max.MinMaxNumber(0, Math.max(0, this.controls.rightIndent.viewStateRelativeLeft - diff - RulerMinDistanceBetweenIndents))) -
                parLeftPos;
            if (this.prevModelState.modelValue < this.controls.firstLineIndent.prevModelState.modelValue) {
                this.currModelState.modelValue = newModelValue;
                this.controls.firstLineIndent.currModelState.modelValue = newModelValue + diff;
            }
            else {
                this.currModelState.modelValue = newModelValue + diff;
                this.controls.firstLineIndent.currModelState.modelValue = newModelValue;
            }
        }
        else {
            this.currModelState.modelValue = this.controls.chooseClosestAnchorPosition(parLeftPos + this.prevModelState.modelValue + distance, [parLeftPos + this.prevModelState.modelValue], new min_max.MinMaxNumber(0, Math.max(0, this.controls.rightIndent.viewStateRelativeLeft - RulerMinDistanceBetweenIndents))) - parLeftPos;
        }
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/indent/right.ts







const RulerMinDistanceBetweenIndentsOnView = 5;
class RulerRightIndentDragHandle extends RulerBaseIndentControl {
    get viewStateRelativeLeft() { return this.controls.ruler.pageWidth - this.viewState; }
    getRootClassName() {
        return this.modelData.styles.rightIndentImage.spriteCssClass + " " +
            this.modelData.styles.rightIndent.className;
    }
    constructor(modelData, controls) {
        super(modelData, controls);
        const template = RulerTemplateManager.getRightIndentElementTemplate();
        if (template)
            this.rootElement.innerHTML = template;
        this.rootElement.title = this.modelData.titles.rightIndent;
        this.controls.ruler.rootElement.appendChild(this.rootElement);
        this.adjustByTop();
        this.leftCorrection = Math.round(this.rootElement.offsetWidth / 2);
    }
    adjustByTop() {
        const divisionsControlHeight = this.controls.divisions.height;
        this.rootElement.style.marginTop = divisionsControlHeight / 2 + "px";
    }
    getModelState() {
        const state = this.modelData.commandManager
            .getCommand(client_command/* RichEditClientCommand */.f.RulerParagraphRightIndent).getState();
        return new RulerModelState(state.value.hanging, state.enabled);
    }
    updateView() {
        const newViewState = this.correctRelativeLeftIndents(this.controls.ruler.pageWidth - this.controls.paragraphRightPosition + this.currModelState.modelValue);
        if (newViewState != this.viewState) {
            this.viewState = newViewState;
            if (this.modelData.showRightIndent)
                this.rootElement.style.right = this.viewState + RULLER_NUMBER_CORRECTION - this.leftCorrection + "px";
            else
                this.setVisible(false);
        }
    }
    correctRelativeLeftIndents(viewState) {
        const maxOfLeftIndents = Math.max(this.controls.leftIndent.viewState, this.controls.firstLineIndent.viewState);
        return Math.min(this.controls.ruler.pageWidth - (maxOfLeftIndents + RulerMinDistanceBetweenIndentsOnView), viewState);
    }
    canHandle(source) { return source == this.rootElement; }
    onMouseUp() {
        this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerParagraphRightIndent)
            .execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.modelValue);
        this.finishHandle();
    }
    lineControlSetPosition() {
        this.controls.lineControl.setPosition(this.viewState, SnapTo.RightSide);
    }
    calculateNewModelState(distance) {
        const parRightPos = this.controls.paragraphRightPosition;
        const maxOfLeftIndent = Math.max(this.controls.leftIndent.viewState, this.controls.firstLineIndent.viewState);
        this.currModelState.modelValue = parRightPos -
            this.controls.chooseClosestAnchorPosition(parRightPos - this.prevModelState.modelValue + distance, [parRightPos - this.prevModelState.modelValue], new min_max.MinMaxNumber(Math.max(0, maxOfLeftIndent + RulerMinDistanceBetweenIndents), this.controls.ruler.pageWidth));
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/margin/base.ts


const RulerMinDistanceBetweenMargins = 50;
class RulerBaseMarginControl extends RulerBase {
    constructor() {
        super(...arguments);
        this.viewState = 0;
    }
    updateModelState() {
        this.currModelState = this.getModelState();
        this.prevModelState = this.currModelState.clone();
    }
    updateView() {
        const newViewState = this.getViewState();
        if (newViewState != this.viewState) {
            this.viewState = newViewState;
            for (let element of [this.marginPanelElement, this.handlePanelElement])
                this.setViewStateToElement(element);
        }
    }
    canHandle(source) {
        return source == this.handlePanelElement && !this.controls.tables.currModelState.columnSeparators.hasItems &&
            (this.modelData.selection.activeSubDocument.isMain() || this.modelData.selection.activeSubDocument.isHeaderFooter());
    }
    onMouseDown(source, _evt) {
        if (!this.canHandle(source) || !this.currModelState.enabled)
            return false;
        this.controls.lineControl.show(RulerLineDisplayType.Normal);
        this.lineControlSetPosition();
        return true;
    }
    onMouseMove(distance, _source) {
        this.calculateNewModelState(distance);
        this.controls.columns.marginsChanged(this.currModelState.modelValue - this.prevModelState.modelValue);
        this.updateView();
        this.lineControlSetPosition();
    }
    onMouseUp() {
        this.modelData.commandManager.getCommand(this.commandType).execute(this.modelData.commandManager.isPublicApiCall, this.currModelState.modelValue);
        this.finishHandle();
    }
    onEscPress() {
        this.currModelState = this.prevModelState.clone();
        this.finishHandle();
    }
    getModelState() {
        const state = this.modelData.commandManager.getCommand(this.commandType).getState();
        return new RulerModelState(state.value, state.enabled);
    }
    finishHandle() {
        this.controls.lineControl.hide();
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/margin/left.ts






const left_RulerMinDistanceBetweenMargins = 50;
const DIVISION_MARGIN_LEFT_CURSOR_CLASS_NAME = RULER_CLASS_NAME + "MarginLeftHandlePanel";
const DIVISION_MARGIN_LEFT_CLASS_NAME = RULER_CLASS_NAME + "MarginLeftPanel";
class RulerLeftMarginDragHandle extends RulerBaseMarginControl {
    getRootClassName() { return ''; }
    ;
    get commandType() { return client_command/* RichEditClientCommand */.f.RulerSectionMarginLeft; }
    constructor(modelData, controls, maxPageWidth) {
        super(modelData, controls);
        this.initialLeft = -(Math.ceil(maxPageWidth) - RULLER_NUMBER_CORRECTION);
        this.marginPanelElement = DocumentRenderer.renderContainer(DIVISION_MARGIN_LEFT_CLASS_NAME);
        this.handlePanelElement = DocumentRenderer.renderContainer(DIVISION_MARGIN_LEFT_CURSOR_CLASS_NAME);
        this.marginPanelElement.style.width = maxPageWidth + "px";
        this.handlePanelElement.style.width = maxPageWidth + "px";
        this.handlePanelElement.title = this.modelData.titles.marginLeft;
        this.controls.ruler.rootElement.appendChild(this.marginPanelElement);
        this.controls.ruler.rootElement.appendChild(this.handlePanelElement);
    }
    setViewStateToElement(element) {
        element.style.left = this.viewState + this.initialLeft + "px";
    }
    getViewState() {
        if (this.controls.tables.currModelState.columnSeparators.hasItems)
            return this.controls.leftMargin.currModelState.modelValue + this.controls.columns.currModelState.activeColumn.leftPos +
                this.controls.tables.currModelState.columnSeparators.items[0].position;
        else
            return this.controls.leftMargin.currModelState.modelValue;
    }
    lineControlSetPosition() {
        this.controls.lineControl.setPosition(this.viewState, SnapTo.LeftSide);
    }
    calculateNewModelState(distance) {
        this.currModelState.modelValue = this.controls.chooseClosestAnchorPosition(this.prevModelState.modelValue + distance, [this.prevModelState.modelValue], new min_max.MinMaxNumber(0, Math.max(0, this.controls.rightMargin.viewStateRelativeLeft - left_RulerMinDistanceBetweenMargins)));
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/margin/right.ts








const DIVISION_MARGIN_RIGHT_CLASS_NAME = RULER_CLASS_NAME + "MarginRightPanel";
const DIVISION_MARGIN_RIGHT_CURSOR_CLASS_NAME = RULER_CLASS_NAME + "MarginRightHandlePanel";
class RulerRightMarginDragHandle extends RulerBaseMarginControl {
    get viewStateRelativeLeft() { return this.controls.ruler.pageWidth - this.viewState; }
    getRootClassName() { return ''; }
    ;
    get commandType() { return client_command/* RichEditClientCommand */.f.RulerSectionMarginRight; }
    constructor(modelData, controls, maxPageWidth) {
        super(modelData, controls);
        this.marginPanelElement = DocumentRenderer.renderContainer(DIVISION_MARGIN_RIGHT_CLASS_NAME);
        this.handlePanelElement = DocumentRenderer.renderContainer(DIVISION_MARGIN_RIGHT_CURSOR_CLASS_NAME);
        this.marginPanelElement.style.width = maxPageWidth + "px";
        this.handlePanelElement.style.width = maxPageWidth + "px";
        this.handlePanelElement.title = this.modelData.titles.marginRight;
        this.controls.ruler.rootElement.appendChild(this.marginPanelElement);
        this.controls.ruler.rootElement.appendChild(this.handlePanelElement);
    }
    setViewStateToElement(element) {
        element.style.width = this.viewState + RULLER_NUMBER_CORRECTION + "px";
    }
    getViewState() {
        const colSeps = this.controls.tables.currModelState.columnSeparators;
        if (colSeps.hasItems) {
            const rightTablePos = this.controls.leftMargin.currModelState.modelValue + this.controls.columns.currModelState.activeColumn.leftPos +
                utils_list.ListUtils.last(colSeps.items).position;
            return this.controls.ruler.pageWidth - rightTablePos;
        }
        else
            return this.currModelState.modelValue;
    }
    lineControlSetPosition() {
        this.controls.lineControl.setPosition(this.viewState, SnapTo.RightSide);
    }
    calculateNewModelState(distance) {
        this.currModelState.modelValue = this.controls.ruler.pageWidth -
            this.controls.chooseClosestAnchorPosition(this.controls.ruler.pageWidth - this.prevModelState.modelValue + distance, [this.controls.ruler.pageWidth - this.prevModelState.modelValue], new min_max.MinMaxNumber(Math.max(0, this.controls.leftMargin.viewState + left_RulerMinDistanceBetweenMargins), this.controls.ruler.pageWidth));
    }
}

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/touch.js
var touch = __webpack_require__(1632);
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/ruler.ts







class RulerControl extends RulerBase {
    getRootClassName() { return this.modelData.styles.control.className; }
    ;
    get pageWidth() { return this.currPageWidth; }
    ;
    constructor(modelData, controls) {
        super(modelData, controls);
        this.canHandleScroll = false;
        this.initialMarginLeftElement = 0;
        this.currPageWidth = 0;
        this.prevPageWidth = 0;
        this.rootElement = DocumentRenderer.renderContainer(this.modelData.styles.control.className);
        if (browser.Browser.MSTouchUI)
            dom.DomUtils.addClassName(this.rootElement, touch.TouchUtils.msTouchDraggableClassName);
        this.controls.wrapper.rootElement.appendChild(this.rootElement);
    }
    init() {
        this.rootElement.style.height = this.controls.divisions.height + "px";
        this.setPaddings();
    }
    setPaddings() {
        this.rootElement.style.paddingBottom = this.controls.leftIndent.heightOfProtrudingPart + "px";
        this.rootElement.style.paddingTop = this.controls.firstLineIndent.heightOfProtrudingPart + "px";
    }
    updateModelState() {
        this.currPageWidth = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(this.modelData.inputPosition.getMergedSectionPropertiesRaw().pageSize.width);
    }
    updateView() {
        if (this.prevPageWidth != this.currPageWidth) {
            this.prevPageWidth = this.currPageWidth;
            this.rootElement.style.width = this.pageWidth + RULLER_NUMBER_CORRECTION * 2 + "px";
            this.adjust();
        }
    }
    adjust() {
        const viewWidth = this.controls.canvas.clientWidth;
        if (viewWidth > this.controls.ruler.pageWidth)
            this.initialMarginLeftElement = (viewWidth - this.pageWidth - RULLER_NUMBER_CORRECTION * 2) / 2;
        else {
            const paddingLeft = dom.DomUtils.pxToInt(dom.DomUtils.getCurrentStyle(this.controls.canvas).paddingLeft);
            const pageAreaBorderWidth = (this.controls.canvas.scrollWidth - paddingLeft - this.pageWidth) / 2;
            this.initialMarginLeftElement = paddingLeft + pageAreaBorderWidth - RULLER_NUMBER_CORRECTION;
        }
        this.rootElement.style.left = this.calculateLeftOffset();
        this.setPaddings();
        this.canHandleScroll = this.controls.canvas.scrollWidth > this.controls.canvas.offsetWidth;
    }
    onScroll() {
        if (this.canHandleScroll)
            this.rootElement.style.left = this.calculateLeftOffset();
    }
    calculateLeftOffset() {
        return Math.round(this.initialMarginLeftElement - this.controls.canvas.scrollLeft) + "px";
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/tab/utils.ts


class RulerTabUtils {
    static getTabTitlePropertyName(align) {
        let alignString = "";
        switch (align) {
            case paragraph/* TabAlign */.K9.Left:
                alignString = "Left";
                break;
            case paragraph/* TabAlign */.K9.Right:
                alignString = "Right";
                break;
            case paragraph/* TabAlign */.K9.Center:
                alignString = "Center";
                break;
            case paragraph/* TabAlign */.K9.Decimal:
                alignString = "Decimal";
                break;
        }
        return "tab" + alignString;
    }
    static getSpriteClassName(tabAlign, styles) {
        switch (tabAlign) {
            case paragraph/* TabAlign */.K9.Left:
                return styles.tabImages.left.spriteCssClass;
            case paragraph/* TabAlign */.K9.Right:
                return styles.tabImages.right.spriteCssClass;
            case paragraph/* TabAlign */.K9.Center:
                return styles.tabImages.center.spriteCssClass;
            case paragraph/* TabAlign */.K9.Decimal:
                return styles.tabImages.decimal.spriteCssClass;
        }
        return "";
    }
    static getTemplate(tabAlign) {
        switch (tabAlign) {
            case paragraph/* TabAlign */.K9.Left:
                return RulerTemplateManager.getLeftTabElementTemplate();
            case paragraph/* TabAlign */.K9.Right:
                return RulerTemplateManager.getRightTabElementTemplate();
            case paragraph/* TabAlign */.K9.Center:
                return RulerTemplateManager.getCenterTabElementTemplate();
            case paragraph/* TabAlign */.K9.Decimal:
                return RulerTemplateManager.getDecimalTabElementTemplate();
        }
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/tab/tab.ts















const RULLER_TABMARK_Y_POSITION = 6;
var TabAction;
(function (TabAction) {
    TabAction[TabAction["None"] = 0] = "None";
    TabAction[TabAction["Insert"] = 1] = "Insert";
    TabAction[TabAction["Delete"] = 2] = "Delete";
    TabAction[TabAction["Move"] = 3] = "Move";
})(TabAction || (TabAction = {}));
class RulerTabsControlState {
    constructor(tabs, enabled) {
        this.tabs = tabs;
        this.enabled = enabled;
    }
    clone() {
        return new RulerTabsControlState(utils_list.ListUtils.deepCopy(this.tabs), this.enabled);
    }
}
class RulerTabViewState {
    constructor(position, align) {
        this.position = position;
        this.align = align;
    }
    equals(obj) {
        return this.position == obj.position && this.align == obj.align;
    }
    clone() {
        return new RulerTabViewState(this.position, this.align);
    }
}
class RulerTabsControl extends RulerMultiControl {
    constructor() {
        super(...arguments);
        this.tabAction = TabAction.None;
        this.newTab = null;
        this.deleteTab = false;
    }
    getModelState() {
        this.modelData.showTabs = this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertTabRuler).getState().enabled;
        if (this.modelData.showTabs) {
            const paragraph = this.modelData.selection.activeSubDocument.getParagraphByPosition(this.modelData.selection.intervalsInfo.interval.start);
            const tabs = utils_list.ListUtils.map(paragraph.getTabs().positions, tab => {
                const newTab = tab.clone();
                newTab.position = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(tab.position);
                return newTab;
            });
            return new RulerTabsControlState(tabs, true);
        }
        else
            return new RulerTabsControlState([], false);
    }
    updateView() {
        const offset = this.controls.paragraphLeftPosition;
        this.viewState = utils_list.ListUtils.map(this.currModelState.tabs, tab => new RulerTabViewState(offset + tab.position, tab.alignment));
        this.setCount(this.viewState.length);
        utils_list.ListUtils.forEach2(this.subControls, this.viewState, (control, viewState) => control.setValue(viewState));
    }
    createSubControl() {
        return new RulerTabControl(this.modelData, this.controls);
    }
    isTabMarkZone(evt) {
        return utils_evt/* EvtUtils */.g.getEventY(evt) - dom.DomUtils.getAbsolutePositionY(this.controls.ruler.rootElement) >= RULLER_TABMARK_Y_POSITION;
    }
    onMouseDown(source, evt) {
        if (!this.currModelState.enabled || this.modelData.isReadOnly)
            return false;
        const exactHit = this.calculateExactHit(source);
        if (exactHit)
            return true;
        if (this.tryInsertNewTab(evt))
            return true;
        return false;
    }
    calculateExactHit(source) {
        let exactHit = utils_list.ListUtils.unsafeAnyOf(this.subControls, (subControl, index) => {
            if (subControl.canHandle(source)) {
                this.handleControlIndex = index;
                this.updatePresentation();
                return true;
            }
            return false;
        });
        return exactHit;
    }
    updatePresentation() {
        this.controls.lineControl.show(RulerLineDisplayType.Normal);
        this.activeSubControl.lineControlSetPosition();
    }
    tryInsertNewTab(evt) {
        const pos = utils_evt/* EvtUtils */.g.getEventX(evt) - dom.DomUtils.getAbsolutePositionX(this.controls.ruler.rootElement) - RULLER_NUMBER_CORRECTION
            - this.controls.paragraphLeftPosition;
        if (this.isTabMarkZone(evt) && pos >= this.minPosition() && pos <= this.maxPosition()) {
            this.tabAction = TabAction.Insert;
            this.handleControlIndex = this.currModelState.tabs.length;
            const tabPosition = this.controls.chooseClosestAnchorPosition(pos, [], new min_max.MinMaxNumber(this.minPosition(), this.maxPosition()));
            this.newTab = new paragraph_style/* TabInfo */.i3(tabPosition, this.controls.tabTypeBox.align, layout_tab_space_box/* TabLeaderType */.LT.None, false, false);
            this.currModelState.tabs.push(this.newTab.clone());
            this.updateView();
            this.updatePresentation();
            return true;
        }
        return false;
    }
    onMouseMove(distance, source) {
        const deleteTab = !dom.DomUtils.isItParent(this.controls.ruler.rootElement, source);
        if (deleteTab != this.deleteTab) {
            this.deleteTab = deleteTab;
            this.activeSubControl.setVisible(!this.deleteTab);
        }
        super.onMouseMove(distance, source);
        if (this.tabAction == TabAction.None) {
            this.tabAction = TabAction.Move;
            this.activeSubControl.showShadow();
        }
    }
    onMouseUp() {
        this.activeSubControl.setVisible(!this.deleteTab);
        switch (this.tabAction) {
            case TabAction.Insert: {
                if (this.deleteTab) {
                    this.currModelState = this.prevModelState.clone();
                    this.updateView();
                }
                else {
                    const tab = this.currModelState.tabs[this.handleControlIndex];
                    this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.InsertTabRuler)
                        .execute(this.modelData.commandManager.isPublicApiCall, { position: tab.position, align: tab.alignment });
                }
                break;
            }
            case TabAction.Move: {
                if (this.deleteTab) {
                    this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.DeleteTabRuler)
                        .execute(this.modelData.commandManager.isPublicApiCall, this.prevModelState.tabs[this.handleControlIndex].position);
                }
                else {
                    this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.MoveTabRuler)
                        .execute(this.modelData.commandManager.isPublicApiCall, {
                        start: this.prevModelState.tabs[this.handleControlIndex].position,
                        end: this.currModelState.tabs[this.handleControlIndex].position
                    });
                }
                break;
            }
        }
        this.finishHandle();
    }
    finishHandle() {
        super.finishHandle();
        this.tabAction = TabAction.None;
        this.newTab = null;
        this.deleteTab = false;
        this.subControls.forEach(control => control.setVisible(true));
    }
    minPosition() {
        return Math.min(this.controls.leftIndent.currModelState.modelValue, this.controls.firstLineIndent.currModelState.modelValue);
    }
    maxPosition() {
        return this.controls.paragraphRightPosition - this.controls.rightIndent.currModelState.modelValue - this.controls.paragraphLeftPosition;
    }
    calculateNewModelState(distance) {
        switch (this.tabAction) {
            case TabAction.Insert: {
                const startPos = this.newTab.position;
                const currTab = this.currModelState.tabs[this.handleControlIndex];
                currTab.position = this.controls.chooseClosestAnchorPosition(startPos + distance, [startPos], new min_max.MinMaxNumber(this.minPosition(), this.maxPosition()));
                break;
            }
            case TabAction.Move: {
                const startPos = this.prevModelState.tabs[this.handleControlIndex].position;
                const currTab = this.currModelState.tabs[this.handleControlIndex];
                currTab.position = this.controls.chooseClosestAnchorPosition(startPos + distance, [startPos], new min_max.MinMaxNumber(this.minPosition(), this.maxPosition()));
                break;
            }
        }
    }
}
class RulerTabControl {
    constructor(modelData, controls) {
        this.viewState = new RulerTabViewState(0, -1);
        this.shadow = null;
        this.controls = controls;
        this.modelData = modelData;
        this.rootElement = DocumentRenderer.renderContainer(modelData.styles.tab.className + " " + RulerTabUtils.getSpriteClassName(this.viewState.align, modelData.styles));
        this.applyTemplate();
        controls.ruler.rootElement.appendChild(this.rootElement);
        this.rootElement.style.marginTop = (controls.divisions.height - this.rootElement.offsetHeight) + "px";
        this.setCorrection();
    }
    dispose() {
        this.hideShadow();
        dom.DomUtils.hideNode(this.rootElement);
        this.rootElement = null;
    }
    setVisible(visible) {
        this.rootElement.style.display = visible ? 'block' : 'none';
    }
    canHandle(source) { return source == this.rootElement && this.modelData.showTabs; }
    showShadow() {
        this.shadow = new RulerShadow(this.rootElement);
    }
    hideShadow() {
        if (this.shadow) {
            this.shadow.dispose();
            this.shadow = null;
        }
    }
    lineControlSetPosition() {
        this.controls.lineControl.setPosition(this.viewState.position, SnapTo.LeftSide);
    }
    setValue(viewState) {
        if (!this.viewState || !viewState.equals(this.viewState)) {
            this.viewState = viewState.clone();
            this.changeAlign();
            this.rootElement.style.left = viewState.position - this.leftCorrection + RULLER_NUMBER_CORRECTION + "px";
        }
    }
    setCorrection() {
        switch (this.viewState.align) {
            case paragraph/* TabAlign */.K9.Left:
                this.leftCorrection = 0;
                break;
            case paragraph/* TabAlign */.K9.Right:
                this.leftCorrection = this.rootElement.offsetWidth;
                break;
            case paragraph/* TabAlign */.K9.Center:
            case paragraph/* TabAlign */.K9.Decimal:
                this.leftCorrection = Math.round(this.rootElement.offsetWidth / 2);
                break;
        }
    }
    changeAlign() {
        this.rootElement.className = this.modelData.styles.tab.className + " " +
            RulerTabUtils.getSpriteClassName(this.viewState.align, this.modelData.styles);
        this.applyTemplate();
        this.rootElement.title = this.modelData.titles[RulerTabUtils.getTabTitlePropertyName(this.viewState.align)];
        this.setCorrection();
    }
    applyTemplate() {
        const template = RulerTabUtils.getTemplate(this.viewState.align);
        if (template)
            this.rootElement.innerHTML = template;
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/tab/tab-type.ts








const TAB_ALIGN_BOX_PART_HANDLE_CLASS_NAME = RICH_EDIT_CLASS_NAME_PREFIX + "rulertabAlignBox";
class RulerTabTypeControl extends RulerBase {
    getRootClassName() { return TAB_ALIGN_BOX_PART_HANDLE_CLASS_NAME; }
    ;
    constructor(modelData, controls) {
        super(modelData, controls);
        this.evtHandlersHolder = new event_handlers_holder/* DomEventHandlersHolder */.$();
        this.align = paragraph/* TabAlign */.K9.Left;
        this.innerSquareElement = DocumentRenderer.renderContainer("");
        this.alignElement = DocumentRenderer.renderContainer(RulerTabUtils.getSpriteClassName(this.align, this.modelData.styles));
        this.applyTemplate();
        this.innerSquareElement.appendChild(this.alignElement);
        this.rootElement.appendChild(this.innerSquareElement);
        this.controls.wrapper.rootElement.appendChild(this.rootElement);
        this.evtHandlersHolder.addListener(this.innerSquareElement, touch.TouchUtils.touchMouseDownEventName, this.onMouseDown.bind(this));
    }
    init() {
        this.adjust();
    }
    dispose() {
        super.dispose();
        this.innerSquareElement = null;
        this.alignElement = null;
        this.evtHandlersHolder.removeAllListeners();
    }
    adjust() {
        const divisionOffsetTop = this.controls.divisions.rootElement.offsetTop + this.controls.ruler.rootElement.offsetTop;
        const size = this.controls.divisions.height;
        this.innerSquareElement.style.width = size + "px";
        this.innerSquareElement.style.height = size + "px";
        this.innerSquareElement.style.top = divisionOffsetTop + "px";
        this.innerSquareElement.style.left = divisionOffsetTop + "px";
        this.rootElement.style.width = size + 2 * divisionOffsetTop + "px";
        this.rootElement.style.height = size + 2 * divisionOffsetTop + "px";
        this.adjustAlignElement();
    }
    adjustAlignElement() {
        const size = this.innerSquareElement.offsetWidth;
        this.alignElement.style.top = (size - this.alignElement.offsetHeight) / 2 + "px";
        this.alignElement.style.left = (size - this.alignElement.offsetWidth) / 2 + "px";
        this.alignElement.title = this.modelData.titles[RulerTabUtils.getTabTitlePropertyName(this.align)];
    }
    onMouseDown(evt) {
        if (!this.modelData.isReadOnly) {
            this.align++;
            if (this.align > paragraph/* TabAlign */.K9.Decimal)
                this.align = paragraph/* TabAlign */.K9.Left;
            this.alignElement.className = RulerTabUtils.getSpriteClassName(this.align, this.modelData.styles);
            this.applyTemplate();
            this.adjustAlignElement();
            utils_evt/* EvtUtils */.g.preventEvent(evt);
        }
    }
    applyTemplate() {
        const template = RulerTabUtils.getTemplate(this.align);
        if (template)
            this.alignElement.innerHTML = template;
    }
}

// EXTERNAL MODULE: ./src/common/commands/ruler/ruler-table-column-separators-command.ts
var ruler_table_column_separators_command = __webpack_require__(3644);
// EXTERNAL MODULE: ./src/common/commands/ruler/ruler-table-commands.ts
var ruler_table_commands = __webpack_require__(3381);
;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/table.ts











const TABLE_COLUMN_SEPARATOR_MARGIN = 15;
const TABLE_COLUMN_SEPARATOR_HANDLE_CLASS_NAME = RICH_EDIT_CLASS_NAME_PREFIX + "rulerTableColumnSeparatorHandle";
class RulerTableModelState {
    constructor(columnSeparators, tableIndex, enabled) {
        this.columnSeparators = columnSeparators;
        this.tableIndex = tableIndex;
        this.enabled = enabled;
    }
    clone() {
        return new RulerTableModelState(this.columnSeparators.clone(), this.tableIndex, this.enabled);
    }
}
class RulerTableColumnViewState {
    constructor(leftMargin, rightMarginOfPrevColumn, position) {
        this.leftMargin = leftMargin;
        this.rightMarginOfPrevColumn = rightMarginOfPrevColumn;
        this.position = position;
    }
    equals(obj) {
        return this.leftMargin == obj.leftMargin && this.rightMarginOfPrevColumn == obj.rightMarginOfPrevColumn && this.position == obj.position;
    }
    clone() {
        return new RulerTableColumnViewState(this.leftMargin, this.rightMarginOfPrevColumn, this.position);
    }
}
class RulerTablesControl extends RulerMultiControl {
    getModelState() {
        const state = this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerTableColumnSeparators).getState();
        return state.enabled ?
            new RulerTableModelState(state.value, state.value.tableIndex, state.enabled) :
            new RulerTableModelState(new ruler_table_column_separators_command/* TableColumnSeparatorStruct */.p3(), -1, false);
    }
    updateView() {
        const offset = this.controls.leftMargin.currModelState.modelValue + this.controls.columns.currModelState.activeColumn.leftPos;
        let rightMarginOfPrevColumn = 0;
        const cellSpacing = this.currModelState.columnSeparators.cellSpacing;
        this.viewState = utils_list.ListUtils.map(this.currModelState.columnSeparators.items, item => {
            const viewState = new RulerTableColumnViewState(item.leftMargin + cellSpacing, rightMarginOfPrevColumn + cellSpacing, item.position + offset);
            rightMarginOfPrevColumn = item.rightMargin;
            return viewState;
        });
        this.setCount(this.viewState.length);
        utils_list.ListUtils.forEach2(this.subControls, this.viewState, (control, modelState) => control.setValue(modelState));
    }
    createSubControl() {
        return new RulerTableColumnState(this.modelData, this.controls);
    }
    onMouseDown(source, _evt) {
        if (!this.currModelState.enabled)
            return false;
        return utils_list.ListUtils.unsafeAnyOf(this.subControls, (subControl, index) => {
            if (subControl.canHandle(source)) {
                this.handleControlIndex = index;
                this.controls.lineControl.show(RulerLineDisplayType.TableColumn);
                this.activeSubControl.lineControlSetPosition();
                this.activeSubControl.showShadow();
                return true;
            }
            return false;
        });
    }
    onMouseUp() {
        const oldPos = this.prevModelState.columnSeparators.items[this.handleControlIndex].position;
        const newPos = this.currModelState.columnSeparators.items[this.handleControlIndex].position;
        const param = new ruler_table_commands/* RulerChangeTableColumnWidthCommandParameters */.ye(this.currModelState.tableIndex, newPos - oldPos, null, oldPos, true);
        this.modelData.commandManager.getCommand(client_command/* RichEditClientCommand */.f.RulerChangeTableColumnWidth)
            .execute(this.modelData.commandManager.isPublicApiCall, param);
        this.finishHandle();
    }
    calculateNewModelState(distance) {
        const leftOffset = this.controls.leftMargin.currModelState.modelValue + this.controls.columns.currModelState.activeColumn.leftPos;
        const prevItems = this.prevModelState.columnSeparators.items;
        const minVal = leftOffset + (this.handleControlIndex == 0 ? 0 : prevItems[this.handleControlIndex - 1].position + TABLE_COLUMN_SEPARATOR_MARGIN);
        const maxVal = leftOffset + (this.handleControlIndex == prevItems.length - 1 ?
            this.controls.columns.currModelState.activeColumn.width :
            prevItems[this.handleControlIndex + 1].position - TABLE_COLUMN_SEPARATOR_MARGIN);
        const oldPos = leftOffset + prevItems[this.handleControlIndex].position;
        const newPos = this.controls.chooseClosestAnchorPosition(oldPos + distance, [oldPos], new min_max.MinMaxNumber(minVal, maxVal));
        this.currModelState.columnSeparators.items[this.handleControlIndex].position =
            this.prevModelState.columnSeparators.items[this.handleControlIndex].position + newPos - oldPos;
    }
}
class RulerTableColumnState {
    constructor(modelData, controls) {
        this.controls = controls;
        this.rootElement = DocumentRenderer.renderContainer(TABLE_COLUMN_SEPARATOR_HANDLE_CLASS_NAME);
        this.separatorElement = DocumentRenderer.renderContainer(modelData.styles.columnSeparatorImage.spriteCssClass);
        const template = RulerTemplateManager.getTableColumnDragElementTemplate();
        if (template)
            this.separatorElement.innerHTML = template;
        this.rootElement.appendChild(this.separatorElement);
        controls.ruler.rootElement.appendChild(this.rootElement);
        this.corectionValue = Math.floor(this.separatorElement.offsetWidth / 2);
    }
    dispose() {
        dom.DomUtils.hideNode(this.rootElement);
        this.rootElement = null;
        this.separatorElement = null;
    }
    showShadow() { }
    hideShadow() { }
    lineControlSetPosition() {
        this.controls.lineControl.setPosition(this.viewState.position, SnapTo.LeftSide);
    }
    canHandle(source) {
        return source == this.separatorElement;
    }
    setValue(viewState) {
        if (!this.viewState || !viewState.equals(this.viewState)) {
            this.viewState = viewState.clone();
            this.rootElement.style.width = viewState.leftMargin + viewState.rightMarginOfPrevColumn + "px";
            this.rootElement.style.left = viewState.position - viewState.rightMarginOfPrevColumn + RULLER_NUMBER_CORRECTION + "px";
            this.separatorElement.style.left = viewState.rightMarginOfPrevColumn - this.corectionValue + "px";
        }
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/controls/wrapper.ts

class RulerWrapper extends RulerBase {
    getRootClassName() { return this.modelData.styles.wrapper.className; }
    ;
    constructor(modelData, controls) {
        super(modelData, controls);
        this.controls.canvas.parentElement.insertBefore(this.rootElement, this.controls.canvas);
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/events/mouse.ts





class RulerMouseEventsManager {
    constructor() {
        this.canMouseMoveHandle = false;
        this.touchID = -1;
        this.listeners = [];
        this.evtHandlersHolder = new event_handlers_holder/* DomEventHandlersHolder */.$();
    }
    dispose() {
        this.evtHandlersHolder.removeAllListeners();
        this.listener = null;
    }
    addListener(rulerControl) {
        if (this.listeners.length == 0)
            this.init();
        this.listeners.push(rulerControl);
    }
    removeListener(rulerControl) {
        const ind = this.listeners.indexOf(rulerControl);
        if (ind >= 0)
            this.listeners.splice(ind, 1);
        if (this.listeners.length == 0)
            this.dispose();
    }
    init() {
        this.evtHandlersHolder.addListener(document.documentElement, touch.TouchUtils.touchMouseDownEventName, this.onMouseDown.bind(this));
        this.evtHandlersHolder.addListener(document.documentElement, touch.TouchUtils.touchMouseMoveEventName, this.onMouseMove.bind(this));
        this.evtHandlersHolder.addListener(document.documentElement, touch.TouchUtils.touchMouseUpEventName, this.onMouseUp.bind(this));
        this.evtHandlersHolder.addListener(document.documentElement, "dblclick", this.onDoubleClick.bind(this));
        if (!browser.Browser.TouchUI)
            this.evtHandlersHolder.addListener(document.documentElement, "keydown", this.onKeyBoardEvent.bind(this));
    }
    onDoubleClick(evt) {
        this.listener = this.getCurrentListener(evt);
        if (this.listener && this.listener.canHandle(utils_evt/* EvtUtils */.g.getEventSource(evt)))
            this.listener.onDoubleClick(evt);
        this.listener = null;
    }
    onKeyBoardEvent(evt) {
        if (this.canMouseMoveHandle && key/* KeyUtils */.LN.getEventKeyCode(evt) == key/* KeyCode */.VD.Esc) {
            this.listener.onEscPress();
            this.reset();
        }
    }
    onMouseDown(evt) {
        if (browser.Browser.TouchUI)
            this.touchID = this.getChangedTouchesIdentifier(evt);
        this.startX = utils_evt/* EvtUtils */.g.getEventX(evt);
        this.listener = this.getCurrentListener(evt);
        if (utils_evt/* EvtUtils */.g.isLeftButtonPressed(evt) && this.listener) {
            this.canMouseMoveHandle = true;
            this.listener.onMouseDown(evt);
            utils_evt/* EvtUtils */.g.preventEventAndBubble(evt);
        }
    }
    onMouseMove(evt) {
        if (!this.listener || browser.Browser.TouchUI && this.touchID != this.getChangedTouchesIdentifier(evt))
            return;
        if (this.canMouseMoveHandle) {
            this.listener.onMouseMove(utils_evt/* EvtUtils */.g.getEventX(evt) - this.startX, utils_evt/* EvtUtils */.g.getEventSource(evt));
            utils_evt/* EvtUtils */.g.preventEventAndBubble(evt);
        }
    }
    onMouseUp(_evt) {
        if (this.listener) {
            this.listener.onMouseUp();
            this.reset();
        }
    }
    reset() {
        this.listener = null;
        this.canMouseMoveHandle = false;
        this.touchID = -1;
    }
    getCurrentListener(evt) {
        for (let listener of this.listeners)
            if (listener.canHandle(utils_evt/* EvtUtils */.g.getEventSource(evt)))
                return listener;
        return null;
    }
    getChangedTouchesIdentifier(evt) {
        return !browser.Browser.MSTouchUI ? evt.changedTouches[0].identifier : this.touchID;
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/events/scroll.ts


class RulerViewElementScrollManager {
    constructor() {
        this.controls = [];
        this.evtHandlersHolder = new event_handlers_holder/* DomEventHandlersHolder */.$();
    }
    dispose() {
        this.evtHandlersHolder.removeAllListeners();
    }
    addListener(owner, viewElement) {
        let listenerObj = utils_list.ListUtils.elementBy(this.controls, control => control.view == viewElement);
        if (!listenerObj) {
            listenerObj = new ListenerScrollStruct(viewElement);
            this.evtHandlersHolder.addListener(listenerObj.view, "scroll", (_evt) => this.onScroll(this.controls.length - 1));
            this.controls.push(listenerObj);
        }
        listenerObj.listeners.push(owner);
    }
    removeListener(owner, viewElement) {
        const indOfControl = utils_list.ListUtils.indexBy(this.controls, control => control.view == viewElement);
        if (indOfControl >= 0) {
            const control = this.controls[indOfControl];
            const indOfListner = control.listeners.indexOf(owner);
            if (indOfListner >= 0)
                control.listeners.splice(indOfListner, 1);
            if (control.listeners.length == 0)
                this.controls.splice(indOfControl, 1);
        }
        if (this.controls.length == 0)
            this.dispose();
    }
    onScroll(index) {
        this.controls[index].listeners.forEach(listener => listener.onScroll());
    }
}
class ListenerScrollStruct {
    constructor(view) {
        this.listeners = [];
        this.view = view;
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/mouse-handler.ts



class RulerMouseHandler {
    constructor(modelData, controls) {
        this.listener = null;
        this._enable = true;
        this._visible = true;
        this.modelData = modelData;
        this.controls = controls;
        this.controlsList = [
            this.controls.firstLineIndent,
            this.controls.leftIndent,
            this.controls.rightIndent,
            this.controls.tables,
            this.controls.leftMargin,
            this.controls.rightMargin,
            this.controls.columns,
            this.controls.tabs,
        ];
    }
    setEnable(enable) {
        if (this._enable != enable) {
            if (!enable)
                this.onEscPress();
            this._enable = enable;
        }
    }
    setVisible(visible) {
        if (this._visible != visible) {
            if (!visible)
                this.onEscPress();
            this._visible = visible;
        }
    }
    canHandle(source) {
        return dom.DomUtils.isItParent(this.controls.ruler.rootElement, source);
    }
    notHandle() {
        return this.modelData.isReadOnly || !this._enable || !this._visible;
    }
    onDoubleClick(evt) {
        const source = utils_evt/* EvtUtils */.g.getEventSource(evt);
        const command = this.controls.rightMargin.canHandle(source) || this.controls.leftMargin.canHandle(source) ?
            client_command/* RichEditClientCommand */.f.ShowPageSetupForm :
            client_command/* RichEditClientCommand */.f.ShowTabsForm;
        this.modelData.commandManager.getCommand(command).execute(this.modelData.commandManager.isPublicApiCall);
    }
    onMouseDown(evt) {
        if (this.notHandle())
            return;
        const source = utils_evt/* EvtUtils */.g.getEventSource(evt);
        for (let listener of this.controlsList) {
            if (listener.onMouseDown(source, evt)) {
                this.listener = listener;
                break;
            }
        }
    }
    onMouseMove(distance, source) {
        if (this.notHandle() || !this.listener)
            return;
        this.listener.onMouseMove(distance, source);
        this.controls.updateView();
    }
    onMouseUp() {
        if (this.notHandle() || !this.listener)
            return;
        this.listener.onMouseUp();
        this.reset();
    }
    onEscPress() {
        if (this.notHandle() || !this.listener)
            return;
        this.listener.onEscPress();
        this.reset();
    }
    reset() {
        this.listener = null;
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/manager.ts





















class RulerControls {
    get paragraphLeftPosition() {
        let pos = this.leftMargin.currModelState.modelValue + this.columns.currModelState.activeColumn.leftPos;
        if (this.tables.currModelState.columnSeparators.hasItems) {
            const item = this.tables.currModelState.columnSeparators.currItem;
            pos += this.tables.currModelState.columnSeparators.cellSpacing + item.leftMargin + item.position;
        }
        return pos;
    }
    get paragraphRightPosition() {
        const colSeps = this.tables.currModelState.columnSeparators;
        if (colSeps.hasItems) {
            const nextSeparatorItem = colSeps.items[colSeps.index + 1];
            return this.leftMargin.currModelState.modelValue + this.columns.currModelState.activeColumn.leftPos +
                (nextSeparatorItem.position - colSeps.cellSpacing - colSeps.currItem.rightMargin);
        }
        else
            return this.leftMargin.currModelState.modelValue + this.columns.currModelState.activeColumn.rightPos;
    }
    constructor(canvas, modelData) {
        this.mouseEventsManager = new RulerMouseEventsManager();
        this.viewElementScrollManager = new RulerViewElementScrollManager();
        this.canvas = canvas;
        const divisionInfo = DivisionInfo.create(modelData.unitType);
        const maxPageWidth = class_unit_converter/* UnitConverter */.u.twipsToPixelsF(paper_kind/* PaperSizeConverter */.Y.calculatePaperSize(paper_kind/* PaperKind */.e.PrcEnvelopeNumber10Rotated).width);
        this.moveStepSize = modelData.unitType == unit_converter/* RichEditUnit */.UH.Inch ? divisionInfo.stepSize / 2 : divisionInfo.stepSize;
        this.wrapper = new RulerWrapper(modelData, this);
        this.ruler = new RulerControl(modelData, this);
        this.tabTypeBox = new RulerTabTypeControl(modelData, this);
        this.divisions = new RulerDivisionsControl(modelData, this, divisionInfo, maxPageWidth);
        this.leftMargin = new RulerLeftMarginDragHandle(modelData, this, maxPageWidth);
        this.rightMargin = new RulerRightMarginDragHandle(modelData, this, maxPageWidth);
        this.leftIndent = new RulerLeftIndentDragHandle(modelData, this);
        this.firstLineIndent = new RulerFirstLineIndentDragHandle(modelData, this);
        this.rightIndent = new RulerRightIndentDragHandle(modelData, this);
        this.columns = new RulerColumnsControl(modelData, this);
        this.tables = new RulerTablesControl(modelData, this);
        this.tabs = new RulerTabsControl(modelData, this);
        this.ruler.init();
        this.tabTypeBox.init();
        this.lineControl = new RulerVerticalLineControl(this.canvas, modelData.styles.line.className, this.ruler.rootElement);
        this.mouseHandler = new RulerMouseHandler(modelData, this);
        this.mouseEventsManager.addListener(this.mouseHandler);
        this.viewElementScrollManager.addListener(this.ruler, this.canvas);
    }
    dispose() {
        this.lineControl.dispose();
        this.wrapper.dispose();
        this.ruler.dispose();
        this.tabTypeBox.dispose();
        this.divisions.dispose();
        this.leftMargin.dispose();
        this.rightMargin.dispose();
        this.leftIndent.dispose();
        this.firstLineIndent.dispose();
        this.rightIndent.dispose();
        this.columns.dispose();
        this.tables.dispose();
        this.tabs.dispose();
        this.mouseEventsManager.dispose();
        this.viewElementScrollManager.dispose();
    }
    update() {
        this.updateModelState();
        this.updateView();
    }
    updateModelState() {
        this.ruler.updateModelState();
        this.leftMargin.updateModelState();
        this.rightMargin.updateModelState();
        this.divisions.updateModelState();
        this.columns.updateModelState();
        this.tables.updateModelState();
        this.rightIndent.updateModelState();
        this.leftIndent.updateModelState();
        this.firstLineIndent.updateModelState();
        this.tabs.updateModelState();
    }
    updateView() {
        this.ruler.updateView();
        this.leftMargin.updateView();
        this.rightMargin.updateView();
        this.divisions.updateView();
        this.columns.updateView();
        this.tables.updateView();
        this.rightIndent.updateView();
        this.leftIndent.updateView();
        this.firstLineIndent.updateView();
        this.tabs.updateView();
    }
    adjust() {
        this.ruler.adjust();
    }
    chooseClosestAnchorPosition(leftPos, additionalPositions, minMax) {
        const boundInterval = new boundary/* BoundaryInterval */.e(minMax.minElement, minMax.maxElement);
        let poss = utils_list.ListUtils.addListOnTail(this.getClosestAnchorPositions(leftPos, 0), additionalPositions);
        poss.push(minMax.minElement);
        poss.push(minMax.maxElement);
        poss = utils_list.ListUtils.reducedMap(poss, p => boundInterval.containsWithIntervalEnd(p) ? p : null).sort((a, b) => a - b);
        return poss.length ?
            utils_list.ListUtils.min(poss, p => Math.abs(p - leftPos)) :
            utils_list.ListUtils.min([minMax.minElement, minMax.maxElement], p => Math.abs(p - leftPos));
    }
    getClosestAnchorPositions(leftPos, relative) {
        const stepIndex = (leftPos - relative) / this.moveStepSize;
        return [this.moveStepSize * Math.floor(stepIndex), this.moveStepSize * Math.ceil(stepIndex)];
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/model-data.ts


class RulerModelData {
    get showLeftIndent() { return this.settings.showLeftIndent; }
    get showRightIndent() { return this.settings.showRightIndent; }
    get titles() { return this.settings.titles; }
    get styles() { return this.settings.styles; }
    get inputPosition() { return this.core.inputPosition; }
    ;
    get commandManager() { return this.core.commandManager; }
    get isClosed() { return this.core.isClosed(); }
    get innerClientProperties() { return this.core.innerClientProperties; }
    get isReadOnly() { return this.core.readOnly != i_rich_edit_core/* ReadOnlyMode */.F.None; }
    get unitType() { return this.core.uiUnitConverter.getUnits(); }
    get selection() { return this.core.selection; }
    constructor(core, settings) {
        this.core = core;
        this.settings = this.fixSettings(settings);
        this.visibility = this.settings.visibility;
        this.showTabs = this.settings.showTabs;
    }
    fixSettings(settings) {
        if (!settings.styles.firstLineIndent)
            settings.styles.firstLineIndent = this.getDefaultStyle('dxreFirstLineIndentDragHandle');
        if (!settings.styles.leftIndent)
            settings.styles.leftIndent = this.getDefaultStyle('dxreLeftIndentDragHandle');
        if (!settings.styles.tab)
            settings.styles.tab = this.getDefaultStyle('dxreTabDragHandle');
        if (!settings.styles.line)
            settings.styles.line = this.getDefaultStyle('dxreRulerLine');
        if (!settings.styles.control)
            settings.styles.control = this.getDefaultStyle('dxreRuler');
        if (!settings.styles.wrapper)
            settings.styles.wrapper = this.getDefaultStyle('dxreRulerWrapper');
        return settings;
    }
    getDefaultStyle(className) {
        const style = new RulerStyleInfo();
        style.className = className;
        style.style = '';
        return style;
    }
}

;// CONCATENATED MODULE: ./src/common/ui/ruler/ruler.ts







var HorizontalRulerEventType;
(function (HorizontalRulerEventType) {
    HorizontalRulerEventType[HorizontalRulerEventType["None"] = 0] = "None";
    HorizontalRulerEventType[HorizontalRulerEventType["FullReset"] = 1] = "FullReset";
    HorizontalRulerEventType[HorizontalRulerEventType["CheckSelectionChange"] = 2] = "CheckSelectionChange";
})(HorizontalRulerEventType || (HorizontalRulerEventType = {}));
class HorizontalRulerControl extends batch_updatable/* BatchUpdatableObject */.IS {
    get initialized() { return !!this.controls; }
    ;
    constructor(core, settings, canvas) {
        super();
        this.controls = null;
        this._innerVisible = true;
        this._visible = true;
        this.isTestMode = false;
        this.selection = null;
        this.updateEnabled = true;
        this.modelData = new RulerModelData(core, settings);
        this.canvas = canvas;
    }
    dispose() {
        if (this.initialized)
            this.controls.dispose();
    }
    initialize(testMode) {
        this.isTestMode = testMode;
        this.initializeCore();
    }
    onUpdateUnlocked(occurredEvents) {
        this.applyEvent(occurredEvents);
    }
    modelChanged(change) {
        const occurredEvents = this.getModelChangeEvent(change);
        if (this.isUpdateLocked())
            this.registerOccurredEvent(occurredEvents);
        else
            this.applyEvent(occurredEvents);
    }
    NotifySelectionChanged(selection) {
        this.selection = selection;
        if (this.isUpdateLocked())
            this.registerOccurredEvent(HorizontalRulerEventType.CheckSelectionChange);
        else
            this.applyEvent(this.getSelectionChangeEvent());
    }
    applyEvent(occurredEvents) {
        const flag = new class_flag.Flag(occurredEvents);
        if (flag.get(HorizontalRulerEventType.CheckSelectionChange))
            flag.add(this.getSelectionChangeEvent());
        if (flag.get(HorizontalRulerEventType.FullReset))
            this.update();
    }
    getSelectionChangeEvent() {
        return this.selection && !this.selection.shouldResetInputPosition() ?
            HorizontalRulerEventType.None :
            HorizontalRulerEventType.FullReset;
    }
    getModelChangeEvent(change) {
        switch (change.type) {
            case changes_enums/* ModelChangeType */.f.DifferentOddAndEvenPages:
            case changes_enums/* ModelChangeType */.f.PageColor:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.DefaultTabWidth:
                return HorizontalRulerEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.HeaderFooterCreated:
            case changes_enums/* ModelChangeType */.f.HeaderFooterIndexChanged:
            case changes_enums/* ModelChangeType */.f.LoadFontInfo:
            case changes_enums/* ModelChangeType */.f.SectionFormattingChanged:
            case changes_enums/* ModelChangeType */.f.CreateStyleLink:
            case changes_enums/* ModelChangeType */.f.DeleteStyleLink:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListAdded:
            case changes_enums/* ModelChangeType */.f.AbstractNumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.NumberingListAdded:
            case changes_enums/* ModelChangeType */.f.NumberingListDeleted:
            case changes_enums/* ModelChangeType */.f.ListLevelPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelParagraphPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ListLevelCharacterPropertyChanged:
            case changes_enums/* ModelChangeType */.f.IOverrideListLevelChanged:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.BookmarkCreated:
            case changes_enums/* ModelChangeType */.f.BookmarkDeleted:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.TabInserted:
            case changes_enums/* ModelChangeType */.f.TabDeleted:
                return HorizontalRulerEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.LoadPicturesInfo:
            case changes_enums/* ModelChangeType */.f.InlinePicturesUpdated:
            case changes_enums/* ModelChangeType */.f.InlinePictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredPictureSizeChanged:
            case changes_enums/* ModelChangeType */.f.InlineObjectRunPropertyChanged:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.FieldInserted:
            case changes_enums/* ModelChangeType */.f.FieldDeleted:
            case changes_enums/* ModelChangeType */.f.HyperlinkInfoChanged:
            case changes_enums/* ModelChangeType */.f.FieldsShowCodeChanged:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.SimpleRunInserted:
            case changes_enums/* ModelChangeType */.f.TextBufferChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphInserted:
            case changes_enums/* ModelChangeType */.f.SectionInserted:
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxInserted:
            case changes_enums/* ModelChangeType */.f.AnchorObjectRemoved:
            case changes_enums/* ModelChangeType */.f.IntervalRemoved:
            case changes_enums/* ModelChangeType */.f.ParagraphMerged:
            case changes_enums/* ModelChangeType */.f.SectionMerged:
                return HorizontalRulerEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.CharacterFormattingChanged:
            case changes_enums/* ModelChangeType */.f.CharacterPropertiesChanged:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.ParagraphFormattingChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphAndCharacterMergedPropertiesReset:
                return HorizontalRulerEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxSizeChanged:
                return HorizontalRulerEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.AnchoredTextBoxPropertiesChanged:
            case changes_enums/* ModelChangeType */.f.AnchorInfoPropertyChanged:
            case changes_enums/* ModelChangeType */.f.ShapeChanged:
            case changes_enums/* ModelChangeType */.f.ShapePropertyChanged:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.CharacterStyleApplied:
                return HorizontalRulerEventType.None;
            case changes_enums/* ModelChangeType */.f.ParagraphStyleApplied:
            case changes_enums/* ModelChangeType */.f.TableStyleChanged:
            case changes_enums/* ModelChangeType */.f.ParagraphNumberingListChanged:
                return HorizontalRulerEventType.FullReset;
            case changes_enums/* ModelChangeType */.f.TableCreated:
            case changes_enums/* ModelChangeType */.f.TableRemoved:
            case changes_enums/* ModelChangeType */.f.TableStartPositionShifted:
            case changes_enums/* ModelChangeType */.f.TableCellPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TablePropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableRowPropertyChanged:
            case changes_enums/* ModelChangeType */.f.TableCellSplittedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableCellMergedHorizontally:
            case changes_enums/* ModelChangeType */.f.TableRowInserted:
            case changes_enums/* ModelChangeType */.f.TableRowRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellRemoved:
            case changes_enums/* ModelChangeType */.f.TableCellInserted:
                return HorizontalRulerEventType.FullReset;
            default:
                return HorizontalRulerEventType.None;
        }
    }
    forceUpdate(_queryCommands) {
        if (this.isUpdateLocked())
            this.registerOccurredEvent(HorizontalRulerEventType.FullReset);
        else
            this.update();
    }
    update() {
        if (this.initialized && this.updateEnabled && !this.isUpdateLocked() && !this.modelData.isClosed)
            this.controls.update();
    }
    adjust() {
        if (!this.initialized && this.modelData.inputPosition) {
            this.initializeCore();
            if (this.initialized)
                this.update();
        }
        if (this.initialized)
            this.controls.adjust();
    }
    setEnable(enable) {
        if (this.initialized)
            this.controls.mouseHandler.setEnable(enable);
    }
    setVisible(visible) {
        if (visible != this._innerVisible || visible != this._visible) {
            this.modelData.visibility = visible ? RulerVisibility.Visible : RulerVisibility.Hidden;
            this._visible = visible;
            this.innerSetVisible(visible);
        }
    }
    innerSetVisible(visible) {
        visible = visible && !this.modelData.innerClientProperties.viewsSettings.isSimpleView;
        if (this.initialized && this._innerVisible != visible) {
            this._innerVisible = visible;
            this.controls.mouseHandler.setVisible(this._innerVisible);
            this.controls.wrapper.setVisible(this._innerVisible);
        }
    }
    getVisible() {
        return this._visible;
    }
    getHeight() {
        return this.initialized ? size_utils/* SizeUtils */.F.getOffsetHeight(this.controls.wrapper.rootElement) : 0;
    }
    onViewTypeChanged() {
        this.innerSetVisible(this._visible && !this.modelData.innerClientProperties.viewsSettings.isSimpleView);
    }
    initializeCore() {
        if (this.isTestMode)
            return;
        if (!this.initialized && this.canvas.offsetWidth)
            this.controls = new RulerControls(this.canvas, this.modelData);
        this.setVisible(this.modelData.visibility != RulerVisibility.Hidden);
        this.onViewTypeChanged();
    }
}

// EXTERNAL MODULE: ./src/common/commands/find-replace/find-all-command.ts
var find_all_command = __webpack_require__(6166);
// EXTERNAL MODULE: ./src/common/commands/find-replace/replace-all-command.ts
var replace_all_command = __webpack_require__(9495);
// EXTERNAL MODULE: ./src/common/commands/find-replace/replace-next-command.ts
var replace_next_command = __webpack_require__(4447);
;// CONCATENATED MODULE: ./src/common/ui/search-manager.ts







class SearchManager {
    constructor(control) {
        this.onChanged = new event_dispatcher/* EventDispatcher */.p();
        this.control = control;
        this.foundIntervals = [];
        this.whatFind = null;
    }
    dispose() {
        if (this.control) {
            this.control = null;
            this.onChanged.dispose();
        }
    }
    raiseSearchReset() {
        this.resetSearch();
        this.onChanged.listeners.forEach(listener => listener.NotifySearchReset());
    }
    NotifySelectionChanged(selection) {
        if (selection.prevState.intervalsInfo.subDocument != selection.currState.intervalsInfo.subDocument)
            this.raiseSearchReset();
    }
    findAll(text, matchCase) {
        this.whatFind = text;
        let command = this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.FindAll);
        command.execute(this.control.commandManager.isPublicApiCall, new find_all_command/* FindAllCommandOptions */.h(this.control, text, matchCase, true, this.foundIntervals));
    }
    replaceAll(text, replaceText, matchCase) {
        this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ReplaceAll)
            .execute(this.control.commandManager.isPublicApiCall, new replace_all_command/* ReplaceAllCommandOptions */.B(this.control, text, replaceText, matchCase));
    }
    replace(text, replaceText, matchCase) {
        if (this.findIntervalIndex(this.control.selection.intervals[0]) >= 0) {
            this.control.commandManager.getCommand(client_command/* RichEditClientCommand */.f.ReplaceNext)
                .execute(this.control.commandManager.isPublicApiCall, new replace_next_command/* ReplaceNextCommandOptions */.X(this.control, text, replaceText, matchCase));
            return true;
        }
        return false;
    }
    resetSearch() {
        this.foundIntervals = [];
        if (this.control.selection.searchIntervals.length)
            this.control.selection.resetSearchSelection();
    }
    findNextIntervalIndex() {
        for (let i = 0, interval; interval = this.foundIntervals[i]; i++)
            if (interval.start >= this.control.selection.intervals[0].end)
                return i;
        return this.foundIntervals.length ? 0 : null;
    }
    findPrevIntervalIndex() {
        for (let i = this.foundIntervals.length - 1, interval; interval = this.foundIntervals[i]; i--)
            if (interval.start < this.control.selection.intervals[0].start)
                return i;
        return this.foundIntervals.length ? this.foundIntervals.length - 1 : null;
    }
    findIntervalIndex(desiredInterval) {
        return utils_list.ListUtils.indexBy(this.foundIntervals, (interval) => interval.start == desiredInterval.start && interval.end == desiredInterval.end);
    }
    selectIntervalByIndex(intervalIndex) {
        let interval = this.foundIntervals[intervalIndex];
        this.control.selection.deprecatedSetSelection(interval.start, interval.end, false, -1, true);
    }
    scrollToIntervalByIndex(intervalIndex) {
        this.control.beginUpdate();
        let interval = this.foundIntervals[intervalIndex];
        this.control.selection.scrollManager.setScroll(new model_states/* ScrollState */.G_().byModelPosition(this.control.selection).setModelPosition(interval.start).useStdRelativePosition().useStdOffset());
        this.control.endUpdate();
    }
}

;// CONCATENATED MODULE: ./src/common/rich-edit-core.ts














































class RichEditCore {
    get isReadOnlyPersistent() { return this.readOnly === i_rich_edit_core/* ReadOnlyMode */.F.Persistent; }
    get model() { return this.modelManager.model; }
    get isDisposed() {
        return this._isDisposed;
    }
    constructor(owner, name, element, clientGuid, readOnly, barHolder, unitsType, rulerSettings, richOptions, viewsSettings, stringResources) {
        this.isLoadingPictureFromClipboard = false;
        this.readOnly = i_rich_edit_core/* ReadOnlyMode */.F.None;
        this._isDisposed = false;
        this.lastSavedHistoryItemId = -1;
        if (this.isClientMode())
            name = "";
        this.beforeInitialization(richOptions);
        this.barHolder = barHolder;
        this.barHolder.initialize(this);
        character_property_descriptor/* CharacterPropertyDescriptor */.oL.fontInfo.defaultValue = font_info_cache/* FontInfoCache */.I.defaultFontInfo;
        this.pdfHelperFrame = new helper_frame/* PdfHelperFrame */.E(element, "dxre-helperFrame");
        this.owner = owner;
        this.clientGuid = clientGuid;
        this.readOnly = readOnly ? i_rich_edit_core/* ReadOnlyMode */.F.Persistent : i_rich_edit_core/* ReadOnlyMode */.F.None;
        this.modelManager = this.createModelManager(richOptions);
        this.stringResources = stringResources;
        this.measurer = new Measurer(name);
        this.boxVisualizerManager = new BoxVisualizerManager(this);
        this.eventManager = new EventManager(this, this.boxVisualizerManager);
        this.uiUnitConverter = (0,unit_converter/* createUnitConverter */.jW)(unitsType);
        const viewElement = this.createViewElement(name, element);
        this.horizontalRulerControl = new HorizontalRulerControl(this, rulerSettings, viewElement);
        this.barHolder.horizontalRuler = this.horizontalRulerControl;
        this.inputController = new InputController(this, this.eventManager, viewElement);
        this.innerClientProperties = new InnerClientProperties(viewsSettings);
        this.viewManager = new ViewManager(this, viewElement, this.eventManager, this.stringResources, this.horizontalRulerControl, this.inputController, this.innerClientProperties, this, this, this.owner.internalApi, this.modelManager.richOptions.fields);
        this.loadingPanelManager = this.createLoadingPanelManager();
        this.popupMenuManager = new PopupMenuManager(this.owner, this.viewManager, this.measurer, null);
        this.focusManager = new FocusManager(this.viewManager.canvasManager, this.owner, this.inputController, this.eventManager);
        this.commandManager = this.createCommandManager();
        this.shortcutManager = this.createShortcutManager();
        this.searchManager = new SearchManager(this);
        this.boxVisualizerManager.initListeners(this.viewManager);
        this.autoCorrectService = new AutoCorrectService(this, this.modelManager.richOptions.autoCorrect);
        this.clientSideEvents = new ClientSideEvents(this.owner);
        this.globalEventDispatcher = new GlobalEventDispatcher(this, () => {
            this.searchManager.raiseSearchReset();
            this.clientSideEvents.raiseDocumentChanged();
        });
        this.simpleViewCanvasSizeManager = new SimpleViewCanvasSizeManager(this.viewManager.canvasManager, this);
        if (this.innerClientProperties.viewsSettings.isSimpleView)
            this.simpleViewCanvasSizeManager.setViewMode(true);
        if ((0,fonts/* fontWebApiAvailable */.lX)())
            (0,fonts/* afterFontsLoaded */.mw)(() => {
                this.invalidateLayoutAfterFontsLoaded();
            });
    }
    beforeInitialization(_options) { }
    registerActiveContextTabManager() { }
    registerFontChangesListeners() { }
    initialize(sessionGuid, documentInfo, subDocumentsCounter, model, testMode = false) {
        this.closed = false;
        if (!model)
            model = new document_model/* DocumentModel */.T(this.modelManager.richOptions, subDocumentsCounter);
        this.setWorkSession(sessionGuid, documentInfo);
        this.modelManager.model = model;
        this.measurer.setCharacterPropertiesCache(this.modelManager.model.cache.mergedCharacterPropertiesCache);
        this.layout = new DocumentLayout(new AnchorObjectsPositionInfo(model));
        this.selection = new selection/* Selection */.Y(this.modelManager.model, this.layout, this.modelManager.model.mainSubDocument);
        this.inputPosition = new InputPosition(this.selection);
        this.inputPositionModelChangesListener = new InputPositionModelChangesListener(this.inputPosition, this.selection);
        this.selection.inputPosition = this.inputPosition;
        this.popupMenuManager.setSelection(this.selection);
        this.selectionModelChangesListener = new SelectionModelChangesListener(this.selection);
        const layoutSelection = new LayoutSelection(this.selection.activeSubDocument.info, -1, this.innerClientProperties);
        this.viewManager.setWorkSession(this.layout, layoutSelection, this.modelManager.model.cache.imageCache);
        this.hitTestManager = new HitTestManager(this.layout, this.measurer);
        this.selectionFormatter = new SelectionFormatter(this.selection, this.measurer, layoutSelection, this.modelManager.richOptions.documentProtection);
        this.selectionFormatter.onSelectionLayoutChanged.add(this.viewManager);
        this.selection.onChanged.add(this.inputPositionModelChangesListener);
        this.selection.onChanged.add(this.selectionFormatter);
        this.selection.onChanged.add(this.boxVisualizerManager.fullTableSelectorVisualizer);
        this.selection.onSearchChanged.add(this.selectionFormatter);
        this.selection.onMisspelledSelectionChanged.add(this.selectionFormatter);
        this.scrollFormatter = new ScrollFormatter(this.selection);
        this.selection.scrollManager.onChanged.add(this.scrollFormatter);
        this.scrollFormatter.onScrollLayoutChanged.add(this.viewManager.canvasScrollManager);
        this.createSpellChecker();
        this.layoutFormatterManager = new FormatterManager(this.measurer, this.innerClientProperties, this.modelManager.model, this.layout, this.selection, this.modelManager.richOptions.bookmarks, this.modelManager.richOptions.documentProtection, this.viewManager.canvasManager.controlHeightProvider, this.stringResources, [
            this.viewManager,
            this.globalEventDispatcher,
            this.selectionFormatter,
            this.scrollFormatter,
            this.boxVisualizerManager.resizeBoxVisualizer,
            this.boxVisualizerManager.anchorVisualizer,
            this.boxVisualizerManager.fullTableSelectorVisualizer,
            new SpellCheckerLayoutChangesListener(this.spellChecker)
        ]);
        this.modelManager.modelManipulator.clearListeners();
        this.modelManager.history.clear();
        this.modelManager.modelManipulator.modelListeners.push(this.inputPositionModelChangesListener);
        this.modelManager.modelManipulator.modelListeners.push(this.layoutFormatterManager.modelChangesListener);
        this.modelManager.modelManipulator.modelListeners.push(this.selectionModelChangesListener);
        this.modelManager.modelManipulator.modelListeners.push(new SpellCheckerModelChangesListener(this.spellChecker));
        if (this.barHolder.ribbon)
            this.modelManager.modelManipulator.modelListeners.push(this.barHolder.ribbon);
        this.modelManager.modelManipulator.modelListeners.push(this.barHolder.contextMenu);
        this.modelManager.modelManipulator.modelListeners.push(this.horizontalRulerControl);
        this.modelManager.modelManipulator.modelListeners.push(this.selectionFormatter);
        this.registerFontChangesListeners();
        this.selection.onChanged.add(this.searchManager);
        this.selection.onChanged.add(this.boxVisualizerManager.resizeBoxVisualizer);
        this.selection.onChanged.add(this.boxVisualizerManager.anchorVisualizer);
        this.selection.onChanged.add(this.barHolder.contextMenu);
        if (this.barHolder.ribbon)
            this.selection.onChanged.add(this.barHolder.ribbon);
        this.barHolder.setEnabled(false);
        this.horizontalRulerControl.initialize(testMode);
        this.horizontalRulerControl.setEnable(false);
        this.selection.onChanged.add(this.horizontalRulerControl);
        this.spellChecker.initialize(this.selection.activeSubDocument);
        this.selection.onChanged.add(new SpellCheckerSelectionChangesListener(this.spellChecker));
        this.selection.onChanged.add(this.globalEventDispatcher);
        this.selection.onChanged.add(this.barHolder.publicUiChangesListener);
        this.registerActiveContextTabManager();
        this.modelManager.modelManipulator.modelListeners.push(this.globalEventDispatcher);
        this.modelManager.modelManipulator.modelListeners.push(this.barHolder.publicUiChangesListener);
        this.inputController.initExporter();
    }
    dispose() {
        var _a, _b;
        if (this.isDisposed)
            return;
        this.pdfHelperFrame.dispose();
        this.measurer.dispose();
        this.horizontalRulerControl.dispose();
        this.searchManager.dispose();
        this.inputController.dispose();
        this.viewManager.dispose();
        this.layoutFormatterManager.dispose();
        this.eventManager.dispose();
        this.simpleViewCanvasSizeManager.dispose();
        this.loadingPanelManager.dispose();
        this.commandManager.dispose();
        this.spellChecker.dispose();
        this.selection.dispose();
        (_b = (_a = this.barHolder).dispose) === null || _b === void 0 ? void 0 : _b.call(_a);
        this.modelManager = null;
        this.commandManager = null;
        this.shortcutManager = null;
        this.selection = null;
        this.inputPosition = null;
        this.hitTestManager = null;
        this.measurer = null;
        this.uiUnitConverter = null;
        this.horizontalRulerControl = null;
        this.spellChecker = null;
        this.autoCorrectService = null;
        this.searchManager = null;
        this.clientSideEvents = null;
        this.innerClientProperties = null;
        this.focusManager = null;
        this.inputController = null;
        this.layout = null;
        this.viewManager = null;
        this.layoutFormatterManager = null;
        this.barHolder = null;
        this.popupMenuManager = null;
        this.owner = null;
        this.eventManager = null;
        this.selectionFormatter = null;
        this.scrollFormatter = null;
        this.boxVisualizerManager = null;
        this.globalEventDispatcher = null;
        this.simpleViewCanvasSizeManager = null;
        this.selectionModelChangesListener = null;
        this.loadingPanelManager = null;
        this.inputPositionModelChangesListener = null;
        this._isDisposed = true;
    }
    beginUpdate() {
        var _a;
        this.layoutFormatterManager.beginUpdate();
        this.selectionFormatter.beginUpdate();
        this.scrollFormatter.beginUpdate();
        this.viewManager.canvasManager.beginUpdate();
        this.selectionModelChangesListener.beginUpdate();
        this.selection.beginUpdate();
        this.inputPositionModelChangesListener.beginUpdate();
        (_a = this.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.beginUpdate();
        this.barHolder.contextMenu.beginUpdate();
        this.horizontalRulerControl.beginUpdate();
        this.globalEventDispatcher.beginUpdate();
        this.barHolder.publicUiChangesListener.beginUpdate();
    }
    endUpdate() {
        var _a;
        this.layoutFormatterManager.endUpdate();
        this.selectionFormatter.endUpdate();
        this.scrollFormatter.endUpdate();
        this.viewManager.canvasManager.endUpdate();
        this.layoutFormatterManager.runFormattingAsync();
        this.selectionModelChangesListener.endUpdate();
        this.selection.endUpdate();
        this.inputPositionModelChangesListener.endUpdate();
        (_a = this.barHolder.ribbon) === null || _a === void 0 ? void 0 : _a.endUpdate();
        this.barHolder.contextMenu.endUpdate();
        this.horizontalRulerControl.endUpdate();
        this.globalEventDispatcher.endUpdate();
        this.barHolder.publicUiChangesListener.endUpdate();
    }
    setPersistentReadOnly(readOnly) {
        if (readOnly)
            this.readOnly = i_rich_edit_core/* ReadOnlyMode */.F.Persistent;
        else if (!readOnly && this.readOnly === i_rich_edit_core/* ReadOnlyMode */.F.Persistent) {
            this.readOnly = i_rich_edit_core/* ReadOnlyMode */.F.None;
        }
        this.inputController.inputEditor.initializeEditableStateCore();
    }
    setWorkSession(sessionGuid, documentInfo) {
        this.sessionGuid = sessionGuid;
        this.documentInfo = documentInfo;
        if (this.owner)
            this.owner.syncSessionGuid(sessionGuid);
    }
    beginLoading() {
        if (this.readOnly === i_rich_edit_core/* ReadOnlyMode */.F.None) {
            this.readOnly = i_rich_edit_core/* ReadOnlyMode */.F.Temporary;
            const ribbon = this.barHolder.ribbon;
            if (ribbon) {
                ribbon.suspendUpdate();
                ribbon.updateItemsState();
                ribbon.continueUpdate();
            }
            this.loadingPanelManager.statusBarLoadingPanel.setVisible(true);
        }
    }
    endLoading() {
        if (this.readOnly === i_rich_edit_core/* ReadOnlyMode */.F.Temporary) {
            this.readOnly = i_rich_edit_core/* ReadOnlyMode */.F.None;
            const ribbon = this.barHolder.ribbon;
            if (ribbon) {
                ribbon.suspendUpdate();
                ribbon.updateItemsState();
                ribbon.continueUpdate();
            }
            this.loadingPanelManager.statusBarLoadingPanel.setVisible(false);
        }
    }
    closeDocument() {
        this.selection.onChanged.remove(this.globalEventDispatcher);
        for (let ind = 0; ind < this.modelManager.modelManipulator.modelListeners.length; ind++) {
            if (this.modelManager.modelManipulator.modelListeners[ind] == this.globalEventDispatcher) {
                this.modelManager.modelManipulator.modelListeners.splice(ind, 1);
                break;
            }
        }
        this.barHolder.setEnabled(false);
        if (this.horizontalRulerControl)
            this.horizontalRulerControl.setEnable(false);
        this.layoutFormatterManager.closeDocument();
        this.viewManager.closeDocument();
        this.boxVisualizerManager.closeDocument();
        this.closed = true;
    }
    importHtml(elements) {
        const interval = this.selection.lastSelectedInterval;
        this.beginUpdate();
        var exportedRangeCopy = this.inputController.getExportedRangeCopy();
        const charPropsBundle = this.inputPosition.charPropsBundle;
        const subDocument = this.selection.activeSubDocument;
        this.modelManager.history.beginTransaction();
        command_base/* CommandBase */.eK.addSelectionBefore(this);
        this.modelManager.modelManipulator.range.removeInterval(new sub_document/* SubDocumentInterval */.v8(subDocument, interval), true, true);
        let insertedInterval;
        if (exportedRangeCopy && this.isUsedInnerClipboard(elements))
            insertedInterval = this.importInnerClipboard(exportedRangeCopy, this.selection);
        else {
            insertedInterval = new html_importer/* HtmlImporter */.Vf(this.modelManager, this.measurer, new sub_document/* SubDocumentPosition */.rg(this.selection.activeSubDocument, interval.start), elements, charPropsBundle).import();
        }
        const pos = subDocument.positionManager.registerPosition(insertedInterval.end);
        const afterUpdate = () => {
            command_base/* CommandBase */.eK.addSelectionAfter(this, pos.value);
            subDocument.positionManager.unregisterPosition(pos);
            this.modelManager.history.endTransaction();
            this.endUpdate();
        };
        const cmd = this.commandManager.getCommand(client_command/* RichEditClientCommand */.f.UpdateField);
        if (insertedInterval.length > 0 && this.modelManager.richOptions.fields.updateFieldsOnPaste && cmd.getState().enabled) {
            const params = new update_field_command/* UpdateFieldCommandParameters */.j(subDocument, [insertedInterval], () => afterUpdate());
            params.options.updateFillIn = false;
            const opts = new command_base/* CommandSimpleOptions */.LF(this, params);
            cmd.execute(this.commandManager.isPublicApiCall, opts);
        }
        else
            afterUpdate();
    }
    importInnerClipboard(exportedRangeCopy, selection) {
        const interval = selection.lastSelectedInterval;
        const subDocument = this.selection.activeSubDocument;
        const insertPosition = new sub_document/* SubDocumentPosition */.rg(subDocument, interval.start);
        if (selection.tableInfo.isSelected)
            return exportedRangeCopy.insertToTable(this.modelManager.modelManipulator, insertPosition, selection.tableInfo);
        else
            return exportedRangeCopy.insertTo(this.modelManager.modelManipulator, insertPosition);
    }
    onViewTypeChanged() {
        this.viewManager.renderer.onViewTypeChanged();
        this.horizontalRulerControl.onViewTypeChanged();
        this.simpleViewCanvasSizeManager.setViewMode(this.innerClientProperties.viewsSettings.isSimpleView);
    }
    getModifiedState() {
        if (this.lastSavedHistoryItemId != this.modelManager.history.getCurrentItemId())
            return json_top_level_enums/* IsModified */.sO.True;
        return json_top_level_enums/* IsModified */.sO.False;
    }
    setModifiedFalse() {
        this.lastSavedHistoryItemId = this.modelManager.history.getCurrentItemId();
    }
    getGuidParams() {
        return { sguid: this.sessionGuid, cguid: this.clientGuid };
    }
    isTouchMode() {
        return browser.Browser.TouchUI && !browser.Browser.MSTouchUI;
    }
    isRibbon(element) {
        return this.owner.isRibbon(element);
    }
    isClosed() {
        return this.closed;
    }
    invalidateLayoutAfterFontsLoaded() {
        if (!this.isDisposed && this.measurer && this.layoutFormatterManager && this.layoutFormatterManager.invalidator) {
            this.measurer.clearCache();
            this.layoutFormatterManager.invalidator.onChangedAllLayout();
        }
    }
    getExportModelOptions(initOptions = {}) {
        return {
            modelManager: (0,common.isDefined)(initOptions.modelManager) ? initOptions.modelManager : this.modelManager,
            pictureRenderer: this.viewManager.renderer,
            uiUnitConverter: this.uiUnitConverter,
            lastMaxNumPages: this.layout.lastMaxNumPages,
            grids: this.layout.grids,
            pageIndex: this.selection.pageIndex,
            sessionGuid: this.sessionGuid,
            clientGuid: this.clientGuid,
            documentFormat: (0,common.isDefined)(initOptions.documentFormat) ? initOptions.documentFormat : this.getExportDocumentFormat(),
        };
    }
    createViewElement(id, element) {
        const viewElement = document.createElement("DIV");
        viewElement.id = id + "_View";
        viewElement.className = "dxreView";
        viewElement.tabIndex = 0;
        viewElement.setAttribute("role", "document");
        element.appendChild(viewElement);
        return viewElement;
    }
    isUsedInnerClipboard(elements) {
        const elem = elements[0];
        return elem && dom.DomUtils.isHTMLElementNode(elem) && elem.id == rich_utils/* RichUtils */.i.getCopyPasteGuid(this.getGuidParams());
    }
    getExportDocumentFormat() {
        const format = this.documentInfo.documentFormat;
        return format !== undefined && format !== null ? format : document_format/* DocumentFormat */.rT.OpenXml;
    }
}
class DocumentInfo {
    get fileName() { return this._fileName; }
    set fileName(val) { this._fileName = val; }
    get documentFormat() { return this._documentFormat; }
    set documentFormat(val) {
        if (typeof val === 'string')
            this._documentFormat = file_name_helper/* FileNameHelper */.a.convertExtensionToDocumentFormat(val);
        else
            this._documentFormat = val;
        this._documentExtension = file_name_helper/* FileNameHelper */.a.convertToString(val);
    }
    get documentExtension() { return this._documentExtension; }
    constructor(fileName, documentHasSource, documentFormat = DocumentInfo.defaultDocumentFormat, documentExtension = file_name_helper/* FileNameHelper */.a.convertToString(documentFormat)) {
        this._fileName = fileName;
        this._documentFormat = documentFormat;
        this._documentExtension = documentExtension;
        this.documentHasSource = documentHasSource;
    }
    getFileNameForDownload(fileName) {
        if (!string.StringUtils.isNullOrEmpty(fileName))
            return fileName;
        return string.StringUtils.isNullOrEmpty(this._fileName) ? DocumentInfo.defaultDocumentName : this._fileName;
    }
}
DocumentInfo.defaultDocumentName = 'document1';
DocumentInfo.defaultDocumentFormat = document_format/* DocumentFormat */.rT.OpenXml;


/***/ }),

/***/ 1791:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   r: function() { return /* binding */ LogListHelper; }
/* harmony export */ });
/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5580);

class LogListHelper {
    static level_1(handler, list, prefix = "", sep = "\n") {
        const addSuffix = (val, index) => `${prefix}[${index}]=${handler(val)}`;
        return _log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.w(3, _log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.join)(sep)(_log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.map(addSuffix, list));
    }
    static level_2(handlerLevel_1, handlerLevel_2, list, prefix = "") {
        const addSuffix = (index_1, val, index_2) => `[${index_1}][${index_2}]=${handlerLevel_2(val)}`;
        const levelOneHandler = (el, ind) => `${prefix}${_log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.join(_log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.splitBy, _log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.map(_log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.w(3, addSuffix)(ind), handlerLevel_1(el)))}`;
        return _log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.w(3, _log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.join)("\n")(_log__WEBPACK_IMPORTED_MODULE_0__/* .Log */ .Z.map(levelOneHandler, list));
    }
}


/***/ }),

/***/ 3831:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   I: function() { return /* binding */ LogObjToStr; }
/* harmony export */ });
/* harmony import */ var _model_borders_enums__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4265);
/* harmony import */ var _model_enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4907);
/* harmony import */ var _model_section_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8311);
/* harmony import */ var _model_shadings_shading_pattern__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4570);
/* harmony import */ var _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8403);
/* harmony import */ var _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2993);
/* harmony import */ var _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6537);
/* harmony import */ var _model_tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(8222);
/* harmony import */ var _model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(247);
/* harmony import */ var _model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(4857);
/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(5580);
/* harmony import */ var _log_list_helper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(1791);












class LogObjToStr {
    static point(p) {
        return p ? `[x: ${p.x}, y:${p.y}]` : "null";
    }
    static fixedInterval(interval) {
        return `[${interval.start}, ${interval.end}]`;
    }
    static tableWidthUnit(unit) {
        return `type: ${_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_9__/* .TableWidthUnitType */ .HO[unit.type]}, val: ${unit.value}`;
    }
    static tableHeightUnit(unit) {
        return `type: ${_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_9__/* .TableHeightUnitType */ .X[unit.type]}, val: ${unit.value}`;
    }
    static tableMembers(table, prefix = "") {
        const result = [];
        result.push(`${prefix}index: ${table.index}`);
        result.push(`${prefix}nestedLevel: ${table.nestedLevel}`);
        result.push(`${prefix}lookTypes: ${_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.mask(_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .TableLookTypes */ .sp, table.lookTypes)}`);
        result.push(`${prefix}preferredWidth: ${LogObjToStr.tableWidthUnit(table.preferredWidth)}`);
        return result.join("\n");
    }
    static tableProperties(props, prefix = "") {
        const result = [];
        result.push(`${prefix}mask: ${_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.mask(_model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4, props.mask)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseTopMargin)
            result.push(`${prefix}cellMargins.top: ${LogObjToStr.tableWidthUnit(props.cellMargins.top)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseRightMargin)
            result.push(`${prefix}cellMargins.right: ${LogObjToStr.tableWidthUnit(props.cellMargins.right)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseBottomMargin)
            result.push(`${prefix}cellMargins.bottom: ${LogObjToStr.tableWidthUnit(props.cellMargins.bottom)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseLeftMargin)
            result.push(`${prefix}cellMargins.left: ${LogObjToStr.tableWidthUnit(props.cellMargins.left)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseCellSpacing)
            result.push(`${prefix}cellSpacing: ${LogObjToStr.tableWidthUnit(props.cellSpacing)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseTableIndent)
            result.push(`${prefix}indent: ${LogObjToStr.tableWidthUnit(props.indent)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseTopBorder)
            result.push(`${prefix}borders.top: ${LogObjToStr.borderInfo(props.borders.top)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseRightBorder)
            result.push(`${prefix}borders.right: ${LogObjToStr.borderInfo(props.borders.right)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseBottomBorder)
            result.push(`${prefix}borders.bottom: ${LogObjToStr.borderInfo(props.borders.bottom)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseLeftBorder)
            result.push(`${prefix}borders.left: ${LogObjToStr.borderInfo(props.borders.left)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseInsideHorizontalBorder)
            result.push(`${prefix}borders.insideHorizontal: ${LogObjToStr.borderInfo(props.borders.insideHorizontal)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseInsideVerticalBorder)
            result.push(`${prefix}borders.insideVertical: ${LogObjToStr.borderInfo(props.borders.insideVertical)}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseTableStyleColBandSize)
            result.push(`${prefix}tableStyleColumnBandSize: ${props.tableStyleColumnBandSize}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseTableStyleRowBandSize)
            result.push(`${prefix}tableStyleRowBandSize: ${props.tableStyleRowBandSize}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseAvoidDoubleBorders)
            result.push(`${prefix}avoidDoubleBorders: ${props.avoidDoubleBorders}`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseShadingInfoIndex)
            result.push(`${prefix}shadingInfo: ${LogObjToStr.shadingInfo(props.shadingInfo)} \n`);
        if (props.mask & _model_tables_properties_table_properties__WEBPACK_IMPORTED_MODULE_6__/* .TablePropertiesMask */ .r4.UseTableAlignment)
            result.push(`${prefix}tableRowAlignment: ${props.tableRowAlignment}\n`);
        result.push(`${prefix}layoutType: ${_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .TableLayoutType */ .DX[props.layoutType]}`);
        return result.join("\n");
    }
    static borderInfo(brd) {
        return `color: [${LogObjToStr.colorModelInfo(brd.color)}], width: ${brd.width}, style: ${_model_borders_enums__WEBPACK_IMPORTED_MODULE_0__/* .BorderLineStyle */ .u[brd.style]}`;
    }
    static colorModelInfo(color) {
        return color.toDebugString();
    }
    static shadingInfo(shadingInfo) {
        return `backColor: ${shadingInfo.backColor}, foreColor: ${shadingInfo.foreColor}, shadingPattern: ${_model_shadings_shading_pattern__WEBPACK_IMPORTED_MODULE_3__/* .ShadingPattern */ .d[shadingInfo.shadingPattern]}`;
    }
    static tableCellMembers(cell, prefix = "") {
        const result = [];
        result.push(`${prefix}columnSpan: ${cell.columnSpan}`);
        result.push(`${prefix}conditionalFormatting: ${_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.mask(_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .ConditionalTableStyleFormatting */ .pB, cell.conditionalFormatting)}`);
        result.push(`${prefix}startParagraphPosition: ${cell.startParagraphPosition.value}`);
        result.push(`${prefix}endParagrapPosition: ${cell.endParagrapPosition.value}`);
        result.push(`${prefix}verticalMerging: ${_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .TableCellMergingState */ .Z3[cell.verticalMerging]}`);
        result.push(`${prefix}preferredWidth: ${LogObjToStr.tableWidthUnit(cell.preferredWidth)}`);
        return result.join("\n");
    }
    static tableCellProperties(props, prefix = "") {
        const result = [];
        result.push(`${prefix}mask: ${_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.mask(_model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO, props.mask)}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTopBorder)
            result.push(`${prefix}borders.top: ${props.borders.top}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseRightBorder)
            result.push(`${prefix}borders.right: ${props.borders.right}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseBottomBorder)
            result.push(`${prefix}borders.bottom: ${props.borders.bottom}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseLeftBorder)
            result.push(`${prefix}borders.left: ${props.borders.left}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTopLeftDiagonalBorder)
            result.push(`${prefix}borders.topLeftDiagonal: ${props.borders.topLeftDiagonal}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTopRightDiagonalBorder)
            result.push(`${prefix}borders.topRightDiagonal: ${props.borders.topRightDiagonal}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTopMargin)
            result.push(`${prefix}cellMargins.top: ${LogObjToStr.tableWidthUnit(props.cellMargins.top)}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseRightMargin)
            result.push(`${prefix}cellMargins.right: ${LogObjToStr.tableWidthUnit(props.cellMargins.right)}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseBottomMargin)
            result.push(`${prefix}cellMargins.bottom: ${LogObjToStr.tableWidthUnit(props.cellMargins.bottom)}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseLeftMargin)
            result.push(`${prefix}cellMargins.left: ${LogObjToStr.tableWidthUnit(props.cellMargins.left)}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseFitText)
            result.push(`${prefix}fitText: ${props.fitText}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseHideCellMark)
            result.push(`${prefix}hideCellMark: ${props.hideCellMark}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseNoWrap)
            result.push(`${prefix}noWrap: ${props.noWrap}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseShadingInfoIndex)
            result.push(`${prefix}shadingInfo: ${LogObjToStr.shadingInfo(props.shadingInfo)}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseTextDirection)
            result.push(`${prefix}textDirection: ${_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .TextDirection */ .m5[props.textDirection]}`);
        if (props.mask & _model_tables_properties_table_cell_properties__WEBPACK_IMPORTED_MODULE_5__/* .TableCellPropertiesMask */ .WO.UseVerticalAlignment)
            result.push(`${prefix}verticalAlignment: ${_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .TableCellVerticalAlignment */ .Ad[props.verticalAlignment]}`);
        return result.join("\n");
    }
    static tableRowMembers(row, prefix = "") {
        const result = [];
        result.push(`${prefix}conditionalFormatting: ${_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.mask(_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .ConditionalTableStyleFormatting */ .pB, row.conditionalFormatting)}`);
        result.push(`${prefix}height: ${LogObjToStr.tableHeightUnit(row.height)}`);
        result.push(`${prefix}gridAfter: ${row.gridAfter}`);
        result.push(`${prefix}gridBefore: ${row.gridBefore}`);
        result.push(`${prefix}widthAfter: ${LogObjToStr.tableWidthUnit(row.widthAfter)}`);
        result.push(`${prefix}widthBefore: ${LogObjToStr.tableWidthUnit(row.widthBefore)}`);
        return result.join("\n");
    }
    static tableRowProperties(props, prefix = "") {
        const result = [];
        result.push(`${prefix}mask: ${_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.mask(_model_tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_7__/* .TableRowPropertiesMask */ .d, props.mask)}`);
        if (props.mask & _model_tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_7__/* .TableRowPropertiesMask */ .d.UseCantSplit)
            result.push(`${prefix}cantSplit: ${props.cantSplit}`);
        if (props.mask & _model_tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_7__/* .TableRowPropertiesMask */ .d.UseCellSpacing)
            result.push(`${prefix}cellSpacing: ${LogObjToStr.tableWidthUnit(props.cellSpacing)}`);
        if (props.mask & _model_tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_7__/* .TableRowPropertiesMask */ .d.UseHeader)
            result.push(`${prefix}header: ${props.header}`);
        if (props.mask & _model_tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_7__/* .TableRowPropertiesMask */ .d.UseHideCellMark)
            result.push(`${prefix}hideCellMark: ${props.hideCellMark}`);
        if (props.mask & _model_tables_properties_table_row_properties__WEBPACK_IMPORTED_MODULE_7__/* .TableRowPropertiesMask */ .d.UseTableRowAlignment)
            result.push(`${prefix}tableRowAlignment: ${_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .TableRowAlignment */ ._6[props.tableRowAlignment]}`);
        return result.join("\n");
    }
    static tableConditionalStyle(style, prefix = "") {
        const prefixNext = prefix + "\t";
        const result = [];
        result.push(`${prefix}tableProperties:\n${LogObjToStr.tableProperties(style.tableProperties, prefixNext)}`);
        result.push(`${prefix}tableRowProperties:\n${LogObjToStr.tableRowProperties(style.tableRowProperties, prefixNext)}`);
        result.push(`${prefix}tableCellProperties:\n${LogObjToStr.tableCellProperties(style.tableCellProperties, prefixNext)}`);
        return result.join("\n");
    }
    static tableStyle(style, prefix = "") {
        const prefixNext = prefix + "\t";
        const listOfActualCondStyles = [];
        for (let styleFlag of _model_tables_properties_mergers_table_cell_properties_merger__WEBPACK_IMPORTED_MODULE_4__/* .TableCellPropertiesMerger */ .iU.conditionalTableStyleFormattingPriority)
            if (style.conditionalStyles[styleFlag])
                listOfActualCondStyles.push(styleFlag);
        const condStylesHandler = (styleFlag) => `${prefix}${_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_8__/* .ConditionalTableStyleFormatting */ .pB[styleFlag]}:\n${LogObjToStr.tableConditionalStyle(style.conditionalStyles[styleFlag], prefixNext)}`;
        const result = [];
        result.push(`${prefix}name: ${style.styleName}`);
        result.push(`${prefix}isDefault: ${style.isDefault}`);
        result.push(`${prefix}hidden: ${style.hidden}`);
        result.push(`${_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.map(condStylesHandler, listOfActualCondStyles).join("\n")}`);
        if (style.parent)
            result.push(`${LogObjToStr.tableStyle(style.parent, prefix)}`);
        return result.join("\n");
    }
    static rectangle(r, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}x: ${r.x}`);
        result.push(`${prefix}y: ${r.y}`);
        result.push(`${prefix}width: ${r.width}`);
        result.push(`${prefix}height: ${r.height}`);
        return result.join(sep);
    }
    static historyItemListLevelStateObject(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}value: ${obj.value}`);
        result.push(`${prefix}listLevelIndex: ${obj.listLevelIndex}`);
        result.push(`${prefix}numberingListIndex: ${obj.numberingListIndex}`);
        result.push(`${prefix}isAbstractNumberingList: ${obj.isAbstractNumberingList}`);
        return result.join(sep);
    }
    static historyItemTableStateObject(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}value: ${obj.value}`);
        result.push(`${prefix}value: ${obj.tableIndex}`);
        result.push(`${prefix}value: ${obj.tableNestedLevel}`);
        result.push(`${prefix}value: ${obj.tableStartPosition}`);
        return result.join(sep);
    }
    static historyItemTableRowStateObject(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}value: ${obj.value}`);
        result.push(`${prefix}value: ${obj.tableIndex}`);
        result.push(`${prefix}value: ${obj.tableNestedLevel}`);
        result.push(`${prefix}value: ${obj.tableStartPosition}`);
        result.push(`${prefix}value: ${obj.rowIndex}`);
        return result.join(sep);
    }
    static historyItemTableCellStateObject(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}value: ${obj.value}`);
        result.push(`${prefix}value: ${obj.tableIndex}`);
        result.push(`${prefix}value: ${obj.tableNestedLevel}`);
        result.push(`${prefix}value: ${obj.tableStartPosition}`);
        result.push(`${prefix}value: ${obj.rowIndex}`);
        result.push(`${prefix}value: ${obj.cellIndex}`);
        return result.join(sep);
    }
    static historyItemIntervalStateObject(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}value: ${obj.value}`);
        result.push(`${prefix}interval: ${LogObjToStr.fixedInterval(obj.interval)}`);
        return result.join(sep);
    }
    static size(info, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}width: ${info.width}`);
        result.push(`${prefix}height: ${info.height}`);
        return result.join(sep);
    }
    static cacheImageInfo(info, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}base64Defined?: ${info.base64 !== undefined}`);
        result.push(`${prefix}actualId: ${info.actualId}`);
        result.push(`${prefix}tmpId: ${info.tmpId}`);
        result.push(`${prefix}referenceInfo: ${info.referenceInfo}`);
        return result.join(sep);
    }
    static historyItemSectionStateObject(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}value: ${obj.value}`);
        result.push(`${prefix}sectionIndex: ${obj.sectionIndex}`);
        return result.join(sep);
    }
    static historyItemState(handler, obj, prefix = "\t", sep = "\n") {
        return _log_list_helper__WEBPACK_IMPORTED_MODULE_11__/* .LogListHelper */ .r.level_1(_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.w(3, _log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.flip(_log__WEBPACK_IMPORTED_MODULE_10__/* .Log */ .Z.flip(handler, 0, 1), 1, 2))("", ", "), obj.objects, prefix, sep);
    }
    static hyperlinkInfo(info, prefix = "", sep = "\t") {
        const result = [];
        if (info) {
            result.push(`${prefix}uri: ${info.uri}`);
            result.push(`${prefix}tip: ${info.tip}`);
            result.push(`${prefix}anchor: ${info.anchor}`);
            result.push(`${prefix}visited: ${info.visited}`);
        }
        return result.join(sep);
    }
    static subDocumentInfoBase(info, prefix = "", sep = "\t") {
        const result = [];
        result.push(`${prefix}subDocumentId: ${info.subDocumentId}`);
        result.push(`${prefix}getType(): ${_model_enums__WEBPACK_IMPORTED_MODULE_1__/* .SubDocumentInfoType */ .F[info.getType()]}`);
        return result.join(sep);
    }
    static headerFooterSubDocumentInfoBase(info, prefix = "", sep = "\t") {
        const result = [];
        result.push(LogObjToStr.subDocumentInfoBase(info, prefix, sep));
        result.push(`${prefix}headerFooterType: ${_model_section_enums__WEBPACK_IMPORTED_MODULE_2__/* .HeaderFooterType */ .pi[info.headerFooterType]}`);
        return result.join(sep);
    }
    static historyItemListLevelUseStateObject(obj, prefix = "", sep = "\t") {
        const result = [];
        result.push(LogObjToStr.historyItemListLevelStateObject(obj, prefix, sep));
        result.push(`${prefix}use: ${obj.use}`);
        return result.join(sep);
    }
    static historyItemIntervalState(handler, obj, prefix = "\t", sep = "\n") {
        const result = [];
        result.push(LogObjToStr.historyItemState(handler, obj, prefix, sep)());
        result.push(`${prefix}interval: ${LogObjToStr.fixedInterval(obj.interval)}`);
        return () => result.join(sep);
    }
}


/***/ }),

/***/ 2343:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: function() { return /* binding */ LogSource; }
/* harmony export */ });
var LogSource;
(function (LogSource) {
    LogSource[LogSource["Main"] = 1] = "Main";
    LogSource[LogSource["RowFormatter"] = 2] = "RowFormatter";
    LogSource[LogSource["LayoutFormatter"] = 3] = "LayoutFormatter";
    LogSource[LogSource["LayoutFormatterNotifier"] = 4] = "LayoutFormatterNotifier";
    LogSource[LogSource["LayoutFormatterInvalidator"] = 5] = "LayoutFormatterInvalidator";
    LogSource[LogSource["CanvasManager"] = 6] = "CanvasManager";
    LogSource[LogSource["DocumentRenderer"] = 7] = "DocumentRenderer";
    LogSource[LogSource["SelectionRenderer"] = 8] = "SelectionRenderer";
    LogSource[LogSource["SelectionFormatter"] = 9] = "SelectionFormatter";
    LogSource[LogSource["DiplayPageInfo"] = 10] = "DiplayPageInfo";
    LogSource[LogSource["DiplayTableBoundsInfo"] = 11] = "DiplayTableBoundsInfo";
    LogSource[LogSource["DiplayLayoutBoundsInfo"] = 12] = "DiplayLayoutBoundsInfo";
    LogSource[LogSource["RestartManager"] = 13] = "RestartManager";
    LogSource[LogSource["BoxWrapHolder"] = 14] = "BoxWrapHolder";
    LogSource[LogSource["PositionSaver"] = 15] = "PositionSaver";
    LogSource[LogSource["EventManager"] = 16] = "EventManager";
    LogSource[LogSource["TableFormatter"] = 17] = "TableFormatter";
    LogSource[LogSource["HtmlImporter"] = 18] = "HtmlImporter";
    LogSource[LogSource["SimpleViewRenderer"] = 19] = "SimpleViewRenderer";
    LogSource[LogSource["DocxImporter"] = 20] = "DocxImporter";
})(LogSource || (LogSource = {}));


/***/ }),

/***/ 5580:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  Z: function() { return /* binding */ Log; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var utils_list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/string.js
var string = __webpack_require__(2866);
// EXTERNAL MODULE: ./src/common/rich-utils/debug/logger/base-logger/log-source.ts
var log_source = __webpack_require__(2343);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/enum.js
var utils_enum = __webpack_require__(310);
;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/base-logger/log-source-params.ts

class LogSourceParams {
    constructor(enabled, logSource) {
        this.enabled = enabled;
        this.logSource = logSource;
        this.name = log_source/* LogSource */.O[logSource];
    }
    getName() {
        return this.name;
    }
    isEnabled(_functionInfo) {
        return this.enabled;
    }
    setEnabled(isEnable) {
        this.enabled = isEnable;
    }
    handle(_functionInfo, _valOrFunc) {
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/base-logger/model-params-holder.ts



class ModelParamsHolder {
    constructor() {
        this.logSourceParams = {};
        utils_enum/* EnumUtils */.Y.forEach(log_source/* LogSource */.O, (keyNum) => {
            this.handle(keyNum);
        });
    }
    handle(logSourceKey) {
        this.logSourceParams[logSourceKey] = new LogSourceParams(false, logSourceKey);
    }
}

;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/base-logger/logger.ts





class Logger {
    constructor() {
        this._paramsHolder = new ModelParamsHolder();
        this._isEnabled = false;
        this.isDebug = false;
        this.splitBy = ", ";
        this.SOLID_BLOCK = String.fromCharCode(0x2588);
        this.DOUBLE_SOLID_BLOCK = this.SOLID_BLOCK + this.SOLID_BLOCK;
        this.TRIPLE_SOLID_BLOCK = this.DOUBLE_SOLID_BLOCK + this.SOLID_BLOCK;
    }
    static getInstance() {
        return Logger.instance ? Logger.instance : (Logger.instance = new Logger());
    }
    set paramsHolder(val) { this._paramsHolder = val; }
    get paramsHolder() { return this._paramsHolder; }
    get logSourceParams() { return this._paramsHolder.logSourceParams; }
    get isEnabled() { return this._isEnabled; }
    ;
    disableAll() {
        this.isEnabled = false;
        number/* NumberMapUtils */.j.forEach(this.logSourceParams, (param) => param.setEnabled(false));
    }
    print(logSource, functionInfo, valOrFunc) {
        if (!this._isEnabled)
            return false;
        const logSourceParams = this.logSourceParams[logSource];
        if (logSourceParams) {
            if (logSourceParams.isEnabled(functionInfo) && !logSourceParams.handle(functionInfo, valOrFunc))
                console.log(`${this.SOLID_BLOCK} ${logSourceParams.getName()} ${functionInfo} ${typeof valOrFunc == "function" ? valOrFunc() : valOrFunc}`);
        }
        else
            console.log(`Log.print ${log_source/* LogSource */.O[logSource]} not defined`);
    }
    flip(func, aArgPos, bArgPos) {
        return (...params) => {
            params.splice(bArgPos, 1, params.splice(aArgPos, 1, params[bArgPos])[0]);
            return func.apply(func, params);
        };
    }
    w(numFuncParams, func, currParamsStack = []) {
        return (...params) => {
            const newStack = currParamsStack.concat(params.length == 0 ? undefined : params);
            if (newStack.length >= numFuncParams)
                return func.apply(func, currParamsStack.concat(params));
            return this.w(numFuncParams, func, newStack);
        };
    }
    join(sep, list) {
        return list.join(sep);
    }
    map(func, list) {
        return utils_list.ListUtils.map(list, func);
    }
    mask(objEnum, mask, excessNullValue = Number.MAX_VALUE) {
        let res = [];
        let isFoundNullValue = false;
        string.StringMapUtils.forEach(objEnum, (_t, key) => {
            const keyNum = parseInt(key);
            if (!isNaN(keyNum) && (keyNum & mask) == keyNum) {
                if (excessNullValue != keyNum)
                    res.push(objEnum[key]);
                else
                    isFoundNullValue = true;
            }
        });
        if (isFoundNullValue && !res.length)
            res.push(objEnum[excessNullValue]);
        return res.join(this.splitBy);
    }
    set isEnabled(val) {
        this._isEnabled = val;
    }
    ;
}

;// CONCATENATED MODULE: ./src/common/rich-utils/debug/logger/base-logger/log.ts

const Log = Logger.getInstance();


/***/ }),

/***/ 7225:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   c: function() { return /* binding */ HtmlConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8679);
/* harmony import */ var _model_character_enums__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8579);
/* harmony import */ var _model_color_color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7217);




class HtmlConverter {
    static getCssRules(charProps, textColor, isWordBox, noStrikeoutAndUnderline, important) {
        var rules = HtmlConverter.getSizeSignificantRules(charProps, important);
        rules.push(this.getForeColorRule(textColor));
        if (!noStrikeoutAndUnderline) {
            if (charProps.fontStrikeoutType != _model_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .StrikeoutType */ .GO.None && (isWordBox || !charProps.strikeoutWordsOnly))
                rules.push("text-decoration: line-through");
            if (charProps.fontUnderlineType != _model_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .UnderlineType */ .Xq.None && (isWordBox || !charProps.underlineWordsOnly))
                rules.push("text-decoration: underline");
        }
        return rules;
    }
    static getForeColorRule(textColor) {
        textColor = textColor !== _model_color_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorHelper */ .v.AUTOMATIC_COLOR ? textColor : _model_color_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorHelper */ .v.BLACK_COLOR;
        return "color: " + _model_color_color__WEBPACK_IMPORTED_MODULE_3__/* .ColorHelper */ .v.getCssStringInternal(textColor);
    }
    static getSizeSignificantCssString(characterProperties) {
        return HtmlConverter.getSizeSignificantRules(characterProperties).join(";");
    }
    static getSizeSignificantRules(characterProperties, important = true) {
        var rules = [];
        if (characterProperties.allCaps)
            rules.push("text-transform: uppercase");
        else if (characterProperties.smallCaps)
            rules.push("font-variant: small-caps");
        rules.push("font-family: " + HtmlConverter.buildFontFamilyRule(characterProperties.fontInfo.cssString) +
            (important ? HtmlConverter.importantTag : ''));
        if (characterProperties.fontBold)
            rules.push("font-weight: bold");
        if (characterProperties.fontItalic)
            rules.push("font-style: italic");
        var fontSizePx = _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.pointsToPixelsF(characterProperties.fontSize);
        if (characterProperties.script == _model_character_enums__WEBPACK_IMPORTED_MODULE_2__/* .CharacterFormattingScript */ .Vg.Normal)
            rules.push("font-size: " + _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.round(fontSizePx, 3) + "px" + (important ? HtmlConverter.importantTag : ''));
        else {
            rules.push("font-size: " + _devexpress_utils_lib_utils_math__WEBPACK_IMPORTED_MODULE_1__.MathUtils.round(fontSizePx * characterProperties.fontInfo.scriptMultiplier, 3) + "px" +
                (important ? HtmlConverter.importantTag : ''));
        }
        return rules;
    }
    static buildFontFamilyRule(cssString) {
        var result = cssString.replace(/"/g, "&quot;");
        if (result.replace(/</g, '&lt;').replace(/>/g, '&gt;') != result)
            result = result.replace(/'/g, "&quot;");
        return result;
    }
}
HtmlConverter.importantTag = ' !important';


/***/ }),

/***/ 2986:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Ne: function() { return /* binding */ MaskedCharacterPropertiesBundle; },
/* harmony export */   QC: function() { return /* binding */ ParagraphListInfo; },
/* harmony export */   Us: function() { return /* binding */ MaskedParagraphPropertiesBundleFull; },
/* harmony export */   sS: function() { return /* binding */ MaskedParagraphPropertiesBundle; }
/* harmony export */ });
/* unused harmony export PropertiesBundle */
/* harmony import */ var _model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3231);

class PropertiesBundle {
    constructor(properties, style) {
        this.props = properties;
        this.style = style;
    }
}
class ParagraphListInfo {
    constructor(numbericListIndex, listLevelIndex) {
        this.numberingListIndex = numbericListIndex;
        this.listLevelIndex = listLevelIndex;
    }
    static get default() {
        return new ParagraphListInfo(_model_numbering_lists_numbering_list__WEBPACK_IMPORTED_MODULE_0__/* .NumberingList */ .K6.NumberingListNotSettedIndex, -1);
    }
    clone() {
        return new ParagraphListInfo(this.numberingListIndex, this.listLevelIndex);
    }
}
class MaskedCharacterPropertiesBundle extends PropertiesBundle {
}
class MaskedParagraphPropertiesBundle extends PropertiesBundle {
}
class MaskedParagraphPropertiesBundleFull extends PropertiesBundle {
    constructor(properties, style, listInfo, tabs) {
        super(properties, style);
        this.listInfo = listInfo;
        this.tabs = tabs;
    }
    static get notSetted() {
        return new MaskedParagraphPropertiesBundleFull(undefined, undefined, undefined, undefined);
    }
}


/***/ }),

/***/ 2328:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   O: function() { return /* binding */ ModelScrollManager; }
/* harmony export */ });
/* harmony import */ var _utils_event_dispatcher__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8558);

class ModelScrollManager {
    constructor() {
        this.onChanged = new _utils_event_dispatcher__WEBPACK_IMPORTED_MODULE_0__/* .EventDispatcher */ .p();
        this.init();
    }
    setScroll(state) {
        this.state = state;
    }
    init() {
        this.state = null;
    }
    raiseOnChanged() {
        this.onChanged.listeners.forEach(listener => listener.NotifyScrollChanged());
    }
}
ModelScrollManager.StandartScrollPosition = -1;
ModelScrollManager.DontChangeScrollPosition = -2;


/***/ }),

/***/ 4385:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  Zi: function() { return /* binding */ RelativePosition; },
  G_: function() { return /* binding */ ScrollState; }
});

// UNUSED EXPORTS: ModelStateByModelPosition, ModelStateByPageInfo, ModelStateEmpty

// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
// EXTERNAL MODULE: ./src/common/layout/layout-position.ts
var layout_position = __webpack_require__(8475);
;// CONCATENATED MODULE: ./src/common/scroll/canvas-states.ts
class CanvasState {
    constructor(lp, relativePosition, getVerticalOffset) {
        this.lp = lp;
        this.relativePosition = relativePosition;
        this.getVerticalOffset = getVerticalOffset;
    }
}

;// CONCATENATED MODULE: ./src/common/scroll/model-states.ts




var RelativePosition;
(function (RelativePosition) {
    RelativePosition[RelativePosition["Top"] = 0] = "Top";
    RelativePosition[RelativePosition["Bottom"] = 1] = "Bottom";
    RelativePosition[RelativePosition["Inside"] = 2] = "Inside";
})(RelativePosition || (RelativePosition = {}));
class ScrollState {
    byModelPosition(selection) {
        return this.byModelPositionCore(selection.activeSubDocument, selection.endOfLine, selection.pageIndex);
    }
    byModelPositionCore(subDocument, endOfLine, pageIndex) {
        return (new ModelStateByModelPosition(subDocument, endOfLine, pageIndex));
    }
    get byScrollInfo() {
        return (new ModelStateByPageInfo());
    }
    get nothing() { return new ModelStateEmpty(); }
}
class ModelStateByModelPosition {
    get subDocument() {
        var _a;
        return this._subDocument = (_a = this._subDocument) === null || _a === void 0 ? void 0 : _a.getActualSubDocument();
    }
    constructor(subDocument, endOfLine, pageIndex) {
        this._subDocument = subDocument;
        this.endOfLine = endOfLine;
        this.pageIndex = pageIndex;
    }
    getModelPosition() {
        return this.modelPosition;
    }
    setModelPosition(modelPosition) {
        this.modelPosition = modelPosition;
        return this;
    }
    useCurrentPosition(selection) {
        return this.setModelPosition(selection.anchorPosition);
    }
    setVerticalOffset(getVerticalOffset) {
        this.getVerticalOffset = getVerticalOffset;
        return this;
    }
    useStdOffset() {
        return this.setVerticalOffset(() => 0);
    }
    setRelativePosition(relativePosition) {
        this.relativePosition = relativePosition;
        return this;
    }
    useStdRelativePosition() {
        return this.setRelativePosition(RelativePosition.Inside);
    }
    getCanvasState(layout) {
        const modelPos = this.modelPosition;
        const cursorPos = this.subDocument.isMain()
            ? new layout_position_creator/* LayoutPositionMainSubDocumentCreator */.NG(layout, this.subDocument, modelPos, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false))
            : new layout_position_creator/* LayoutPositionOtherSubDocumentCreator */.iD(layout, this.subDocument, modelPos, this.pageIndex, document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Character)
                .create(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(this.endOfLine), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
        return cursorPos ? new CanvasState(cursorPos, this.relativePosition, this.getVerticalOffset) : null;
    }
}
class ModelStateByPageInfo {
    setPageInfo(scrollTopInfo) {
        this.getVerticalOffset = () => scrollTopInfo.topPositionRelativePage;
        this.pageIndex = scrollTopInfo.pageIndex;
        this.relativePosition = RelativePosition.Top;
        return this;
    }
    getCanvasState(layout) {
        return layout.isFullyFormatted || layout.isPageValid(this.pageIndex + 1) ?
            new CanvasState(new layout_position/* LayoutPosition */.Yi(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Page).initByIndexes(this.pageIndex).applyObjectsAsMainSubDocument(layout, -1), this.relativePosition, this.getVerticalOffset) :
            null;
    }
}
class ModelStateEmpty {
    getCanvasState(_layout) {
        return null;
    }
}


/***/ }),

/***/ 1680:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Cd: function() { return /* binding */ InputPositionBase; }
/* harmony export */ });
/* unused harmony exports InputPositionCharacterProperties, InputPositionParagraphProperties */
/* harmony import */ var _devexpress_utils_lib_utils_enum__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(310);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);
/* harmony import */ var _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2400);
/* harmony import */ var _model_character_character_property_descriptor__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6223);
/* harmony import */ var _model_fields_field__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8277);
/* harmony import */ var _model_model_iterator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(7747);
/* harmony import */ var _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1423);
/* harmony import */ var _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3549);
/* harmony import */ var _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2986);









class InputPositionBase {
    get model() { return this.intervalsInfo.subDocument.documentModel; }
    ;
    resetParagraphMergedProperties() {
        this.mergedParagraphPropertiesRaw = null;
        this.mergedParagraphPropertiesFull = null;
    }
    get charPropsBundle() {
        return new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_8__/* .MaskedCharacterPropertiesBundle */ .Ne(this.getMaskedCharacterProperties().clone(), this.getCharacterStyle());
    }
    get parPropsBundle() {
        return new _rich_utils_properties_bundle__WEBPACK_IMPORTED_MODULE_8__/* .MaskedParagraphPropertiesBundle */ .sS(this.getMaskedParagraphProperties().clone(), this.getParagraphStyle());
    }
    setIntervals(intervalsInfo) {
        this.intervalsInfo = intervalsInfo.clone();
        this.resetReturnValues();
        return this;
    }
    getCharacterStyle() {
        if (!this.characterStyle)
            this.characterStyle = this.getCharacterStyleInternal();
        return this.characterStyle;
    }
    getParagraphStyle() {
        if (!this.paragraphStyle) {
            this.setSourceRun();
            this.paragraphStyle = this.sourceRun.paragraph.paragraphStyle;
        }
        return this.paragraphStyle;
    }
    setCharacterStyle(characterStyle) {
        this.characterStyle = characterStyle;
    }
    getMaskedCharacterProperties() {
        if (!this.maskedCharacterProperties) {
            this.setSourceRun();
            this.maskedCharacterProperties = this.sourceRun.maskedCharacterProperties.clone();
        }
        return this.maskedCharacterProperties;
    }
    getMaskedParagraphProperties() {
        if (!this.maskedParagraphProperties) {
            this.setSourceRun();
            this.maskedParagraphProperties = this.sourceRun.paragraph.maskedParagraphProperties.clone();
        }
        return this.maskedParagraphProperties;
    }
    getMergedCharacterPropertiesRaw() {
        if (!this.mergedCharacterPropertiesRaw)
            this.setMergedCharacterAndParagraphPropertiesRaw();
        return this.mergedCharacterPropertiesRaw;
    }
    getMergedCharacterPropertiesFull() {
        if (!this.mergedCharacterPropertiesFull)
            this.mergedCharacterPropertiesFull = InputPositionBase.mergePropertiesFull(this.getMergedCharacterPropertiesRaw(), _model_character_character_property_descriptor__WEBPACK_IMPORTED_MODULE_3__/* .CharacterPropertyDescriptor */ .oL.ALL_FIELDS);
        return this.mergedCharacterPropertiesFull;
    }
    getMergedParagraphPropertiesRaw() {
        if (!this.mergedParagraphPropertiesRaw)
            this.setMergedCharacterAndParagraphPropertiesRaw();
        return this.mergedParagraphPropertiesRaw;
    }
    getMergedParagraphPropertiesFull() {
        if (!this.mergedParagraphPropertiesFull)
            this.mergedParagraphPropertiesFull = InputPositionBase.mergePropertiesFull(this.getMergedParagraphPropertiesRaw(), _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_6__/* .ParagraphPropertyDescriptor */ .c$.ALL_FIELDS);
        return this.mergedParagraphPropertiesFull;
    }
    setMergedCharacterAndParagraphPropertiesRaw() {
        this.setSourceRun();
        this.mergedCharacterPropertiesRaw = this.sourceRun.getCharacterMergedProperties().clone();
        this.mergedParagraphPropertiesRaw = this.sourceRun.paragraph.getParagraphMergedProperties().clone();
        var interval = this.intervalsInfo.interval;
        var intervalStartPosition = interval.start;
        var intervalEndPosition = interval.end;
        var chunks = this.intervalsInfo.subDocument.chunks;
        var chunkIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.normedInterpolationIndexOf(chunks, (c) => c.startLogPosition.value, intervalStartPosition);
        var chunk = chunks[chunkIndex];
        var runIndex = _devexpress_utils_lib_utils_search__WEBPACK_IMPORTED_MODULE_2__.SearchUtils.normedInterpolationIndexOf(chunk.textRuns, (r) => chunk.startLogPosition.value + r.startOffset, intervalStartPosition);
        var prevParagraph = this.sourceRun.paragraph;
        exitBothLoops: for (; chunk = chunks[chunkIndex]; chunkIndex++) {
            for (var run; run = chunk.textRuns[runIndex]; runIndex++) {
                if (chunk.startLogPosition.value + run.startOffset >= intervalEndPosition)
                    break exitBothLoops;
                if (run !== this.sourceRun) {
                    if (run.getType() === _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.TextRun)
                        InputPositionBase.mergePropertiesRaw(this.mergedCharacterPropertiesRaw, run.getCharacterMergedProperties(), _model_character_character_property_descriptor__WEBPACK_IMPORTED_MODULE_3__/* .CharacterPropertyDescriptor */ .oL.ALL_FIELDS);
                    if (prevParagraph !== run.paragraph) {
                        InputPositionBase.mergePropertiesRaw(this.mergedParagraphPropertiesRaw, run.paragraph.getParagraphMergedProperties(), _model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_6__/* .ParagraphPropertyDescriptor */ .c$.ALL_FIELDS);
                        prevParagraph = run.paragraph;
                    }
                }
            }
        }
    }
    static mergePropertiesRaw(sourceProps, otherProps, descriptors) {
        for (var i = 0, desc; desc = descriptors[i]; i++) {
            if (!desc.binaryEquals(desc.getProp(sourceProps), desc.getProp(otherProps)))
                desc.setProp(sourceProps, undefined);
        }
    }
    static mergePropertiesFull(sourceProps, descriptors) {
        var result = sourceProps.clone();
        for (var i = 0, desc; desc = descriptors[i]; i++) {
            if (desc.getProp(result) === undefined)
                desc.setProp(result, desc.defaultValue);
        }
        return result;
    }
    getCharacterStyleInternal() {
        var interval = this.intervalsInfo.interval;
        if (interval.length == 0)
            return this.getCharacterStyleCollapsedIntervalInternal(interval.start);
        var chunks = this.intervalsInfo.subDocument.chunks;
        var intervalStartPosition = interval.start;
        var intervalEndPosition = interval.end;
        var firstRun = this.intervalsInfo.subDocument.getRunAndIndexesByPosition(intervalStartPosition);
        if (intervalStartPosition == firstRun.run.paragraph.startLogPosition.value && firstRun.run.paragraph.length > 1)
            return firstRun.run.characterStyle;
        if (intervalStartPosition > 0) {
            var prevFirstRun = this.intervalsInfo.subDocument.getRunAndIndexesByPosition(intervalStartPosition - 1);
            if (prevFirstRun.run.getType() == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.TextRun)
                return prevFirstRun.run.characterStyle;
        }
        for (var chunk, chunkIndex = firstRun.chunkIndex; chunk = chunks[chunkIndex]; chunkIndex++) {
            for (var run, runIndex = firstRun.runIndex; run = chunk.textRuns[runIndex]; runIndex++) {
                if (chunk.startLogPosition.value + run.startOffset >= intervalEndPosition)
                    return firstRun.run.characterStyle;
                if (run.getType() == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.TextRun)
                    return run.characterStyle;
            }
        }
        return firstRun.run.characterStyle;
    }
    isHyperlinkField(resultRunPosition) {
        resultRunPosition++;
        const fields = this.intervalsInfo.subDocument.fields;
        return fields[0] && _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.reverseElementBy(fields, (f) => f.getFieldEndPosition() == resultRunPosition, Math.max(0, _model_fields_field__WEBPACK_IMPORTED_MODULE_4__/* .Field */ .gN.normedBinaryIndexOf(fields, resultRunPosition))).isHyperlinkField();
    }
    getCharacterStyleCollapsedIntervalInternal(intervalStartPosition) {
        var chunks = this.intervalsInfo.subDocument.chunks;
        if (intervalStartPosition == 0)
            return chunks[0].textRuns[0].characterStyle;
        const iter = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_5__/* .ModelIterator */ .w(this.intervalsInfo.subDocument, false);
        iter.setPosition(intervalStartPosition - 1);
        if (!iter.run.isParagraphOrSectionRun() && !(iter.run.getType() == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.FieldResultEndRun && this.isHyperlinkField(iter.getAbsolutePosition())))
            return iter.run.characterStyle;
        iter.moveToNextRun();
        return iter.run.characterStyle;
    }
    setSourceRun() {
        if (this.sourceRun)
            return;
        const interval = this.intervalsInfo.interval;
        if (interval.length == 0) {
            if (interval.start == 0) {
                const firstChunk = this.intervalsInfo.subDocument.chunks[0];
                this.sourceRun = firstChunk ? firstChunk.textRuns[0].clone() : null;
            }
            else {
                const iter = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_5__/* .ModelIterator */ .w(this.intervalsInfo.subDocument, false);
                iter.setPosition(interval.start - 1);
                if (!_devexpress_utils_lib_utils_enum__WEBPACK_IMPORTED_MODULE_0__/* .EnumUtils */ .Y.isAnyOf(iter.run.getType(), _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.TextRun, _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.FieldResultEndRun))
                    iter.moveToNextRun();
                this.sourceRun = iter.run.clone();
            }
        }
        else {
            const firstRunInInterval = this.intervalsInfo.subDocument.getRunByPosition(interval.start);
            if (firstRunInInterval.getType() == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.TextRun) {
                this.sourceRun = firstRunInInterval.clone();
                return;
            }
            const intervalEnd = interval.end;
            let lastRunInInterval = this.intervalsInfo.subDocument.getRunByPosition(intervalEnd - 1);
            const lastSection = this.model.sections[this.model.sections.length - 1];
            if (intervalEnd == lastSection.getEndPosition() && intervalEnd > 2)
                lastRunInInterval = this.intervalsInfo.subDocument.getRunByPosition(intervalEnd - 2);
            if (lastRunInInterval.getType() == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_7__/* .RunType */ .m.TextRun) {
                this.sourceRun = lastRunInInterval.clone();
                return;
            }
            this.sourceRun = firstRunInInterval.clone();
        }
    }
    resetReturnValues() {
        this.sourceRun = null;
        this.characterStyle = null;
        this.maskedCharacterProperties = null;
        this.mergedCharacterPropertiesRaw = null;
        this.mergedCharacterPropertiesFull = null;
        this.mergedParagraphPropertiesRaw = null;
        this.mergedParagraphPropertiesFull = null;
    }
    getAllCharacterProperties() {
        return new InputPositionCharacterProperties(this.getMaskedCharacterProperties().clone(), this.getMergedCharacterPropertiesRaw().clone(), this.mergedCharacterPropertiesFull ? this.mergedCharacterPropertiesFull.clone() : null);
    }
    applyAllCharacterProperties(props, onlyOnInputPosition = false) {
        this.maskedCharacterProperties = props.maskedCharacterProperties;
        this.mergedCharacterPropertiesRaw = props.mergedCharacterPropertiesRaw;
        this.mergedCharacterPropertiesFull = props.mergedCharacterPropertiesFull;
        if (!onlyOnInputPosition)
            this.applyAllCharacterPropertiesToSourceRun();
    }
    applyAllCharacterPropertiesToSourceRun() {
        this.setSourceRun();
        this.sourceRun.maskedCharacterProperties = this.maskedCharacterProperties;
        this.sourceRun.setCharacterMergedProperies(this.mergedCharacterPropertiesRaw);
    }
    getAllParagraphProperties() {
        return new InputPositionParagraphProperties(this.getMaskedParagraphProperties().clone(), this.getMergedParagraphPropertiesRaw().clone(), this.mergedParagraphPropertiesFull ? this.mergedParagraphPropertiesFull.clone() : null);
    }
    applyAllParagraphProperties(props) {
        this.maskedParagraphProperties = props.maskedParagraphProperties;
        this.mergedParagraphPropertiesRaw = props.mergedParagraphPropertiesRaw;
        this.mergedParagraphPropertiesFull = props.mergedParagraphPropertiesFull;
    }
}
class InputPositionCharacterProperties {
    constructor(maskedCharacterProperties, mergedCharacterPropertiesRaw, mergedCharacterPropertiesFull) {
        this.maskedCharacterProperties = maskedCharacterProperties;
        this.mergedCharacterPropertiesRaw = mergedCharacterPropertiesRaw;
        this.mergedCharacterPropertiesFull = mergedCharacterPropertiesFull;
    }
}
class InputPositionParagraphProperties {
    constructor(maskedParagraphProperties, mergedParagraphPropertiesRaw, mergedParagraphPropertiesFull) {
        this.maskedParagraphProperties = maskedParagraphProperties;
        this.mergedParagraphPropertiesRaw = mergedParagraphPropertiesRaw;
        this.mergedParagraphPropertiesFull = mergedParagraphPropertiesFull;
    }
}


/***/ }),

/***/ 6250:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  Yd: function() { return /* binding */ SelectedCellsCalculator; },
  My: function() { return /* binding */ TableSelectionExtender; }
});

// UNUSED EXPORTS: SelectedTableCellInfo, SelectedTableInfo, SelectedTableRowInfo, TableSelectionData

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/boundary.js
var boundary = __webpack_require__(7093);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/map/number.js
var number = __webpack_require__(1167);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/model/tables/grid/grid-maker.ts + 1 modules
var grid_maker = __webpack_require__(2146);
;// CONCATENATED MODULE: ./src/common/layout-formatter/table/grid-engine/cell-grid-info-manager.ts

class CellGridInfoManager {
    constructor(table) {
        this.tableCellGridInfos = [];
        this.tableCellInfos = [];
        grid_maker/* GridMaker */.p.fillGridInfo(table, this.tableCellGridInfos, this.tableCellInfos);
    }
    gridInfosByTablePosition(tblPos) {
        return this.tableCellInfos[tblPos.rowIndex][tblPos.cellIndex];
    }
}

// EXTERNAL MODULE: ./src/common/model/tables/main-structures/table.ts
var main_structures_table = __webpack_require__(8707);
// EXTERNAL MODULE: ./src/common/model/tables/secondary-structures/table-base-structures.ts
var table_base_structures = __webpack_require__(247);
;// CONCATENATED MODULE: ./src/common/selection/selected-cells-engine.ts









class SelectedTableRowInfo {
    get row() { return this.cells[0].cell.parentRow; }
    constructor(rowIndex, cells) {
        this.rowIndex = rowIndex;
        this.cells = cells;
    }
    get isSeries() {
        return list.ListUtils.allOf(this.cells, (cellInfo, cellInd) => cellInfo.cellIndex == this.cells[cellInd - 1].cellIndex + 1, 1);
    }
    get columnCountInSeries() {
        return this.isSeries ? list.ListUtils.accumulateNumber(this.cells, (cellInfo) => cellInfo.cell.columnSpan) : 0;
    }
}
class SelectedTableCellInfo {
    constructor(cell, cellIndex) {
        this.cell = cell;
        this.cellIndex = cellIndex;
    }
}
class TableSelectionData {
    get numRows() { return this.rows.length; }
    get startRowIndex() { return this.rows[0].rowIndex; }
    get isSquare() { return this._isSquare === undefined ? (this._isSquare = this.calculateIsSquare()) : this._isSquare; }
    ;
    get firstCell() { return this.firstCellInfo.cell; }
    get firstCellInfo() { return this.firstRowInfo.cells[0]; }
    get firstRowInfo() { return this.rows[0]; }
    get lastCellInfo() { return list.ListUtils.last(this.lastRowInfo.cells); }
    get lastCell() { return this.lastCellInfo.cell; }
    get lastRowInfo() { return list.ListUtils.last(this.rows); }
    get withoutGapByRows() {
        return this._withoutGapByRows === undefined ?
            (this._withoutGapByRows = list.ListUtils.allOf(this.rows, (row, i) => row.rowIndex == this.rows[i - 1].rowIndex + 1, 1)) : this._withoutGapByRows;
    }
    get isSelectedEntireTable() {
        return this._isSelectedEntireTable === undefined ?
            (this._isSelectedEntireTable = this.numRows == this.info.table.rows.length &&
                list.ListUtils.allOf2(this.rows, this.info.table.rows, (selR, modelR) => selR.cells.length == modelR.cells.length)) :
            this._isSelectedEntireTable;
    }
    get areCellsSelectedInSeries() {
        return this._areCellsSelectedInSeries === undefined ?
            (this._areCellsSelectedInSeries = list.ListUtils.allOf(this.rows, (rowInfo, rowInd) => (rowInd == 0 || (rowInfo.rowIndex == this.rows[rowInd - 1].rowIndex + 1)) && rowInfo.isSeries)) :
            this._areCellsSelectedInSeries;
    }
    constructor(info, rows) {
        this.info = info;
        this.rows = rows;
        if (!rows[0]) {
            this._isSquare = false;
            this._isSelectedEntireTable = false;
            this._withoutGapByRows = false;
            this._areCellsSelectedInSeries = false;
        }
    }
    foreach(onEachRowCallback, onEachCellCallback) {
        for (let rowOffset = 0, rowInfo; rowInfo = this.rows[rowOffset]; rowOffset++) {
            onEachRowCallback(rowInfo);
            for (let cellOffset = 0, cellInfo; cellInfo = rowInfo.cells[cellOffset]; cellOffset++)
                onEachCellCallback(cellInfo, rowInfo);
        }
    }
    allOfCells(onEachCellCallback) {
        for (let rowOffset = 0, rowInfo; rowInfo = this.rows[rowOffset]; rowOffset++) {
            for (let cellOffset = 0, cellInfo; cellInfo = rowInfo.cells[cellOffset]; cellOffset++) {
                if (!onEachCellCallback(cellInfo, rowInfo))
                    return false;
            }
        }
        return true;
    }
    calculateIsSquare() {
        let prevInterval;
        if (!this.withoutGapByRows)
            return false;
        for (let rowInfo of this.rows) {
            const rowGridInfo = this.info.gridInfoManager.tableCellInfos[rowInfo.rowIndex];
            const spans = list.ListUtils.map(rowInfo.cells, (cellInfo) => new fixed.FixedInterval(rowGridInfo[cellInfo.cellIndex].getGridCellIndex(), cellInfo.cell.columnSpan));
            const isSeriesofSpans = list.ListUtils.allOf(spans, (s, i) => s.start == spans[i - 1].end, 1);
            const currInterval = new boundary/* BoundaryInterval */.e(spans[0].start, list.ListUtils.last(spans).end);
            if (!isSeriesofSpans || (prevInterval && !currInterval.equals(prevInterval)))
                return false;
            prevInterval = currInterval;
        }
        return true;
    }
    atLeastOneCellFullySelected(intervals) {
        return this.numRows > 1 || (this.numRows == 1 && this.rows[0].cells.length > 1) ||
            list.ListUtils.unsafeAnyOf(intervals, (interval) => interval.equals(this.firstCell.interval));
    }
}
class SelectedTableInfo {
    get isSelected() { return !!this.rawData.rows.length; }
    constructor(table, gridInfoManager, rawRowsData, extendedRowsData) {
        this.table = table;
        this.gridInfoManager = gridInfoManager;
        this.rawData = new TableSelectionData(this, rawRowsData);
        this.extendedData = new TableSelectionData(this, extendedRowsData);
    }
}
class SelectedCellsCalculator {
    constructor() {
        this.map = {};
    }
    calculate(tables, intervals) {
        const table = this.findTable(tables, intervals);
        return table ?
            this.fillResult(table, intervals) :
            new SelectedTableInfo(null, null, [], []);
    }
    findTable(tables, intervals) {
        if (!tables.length)
            return null;
        const fullInterval = new boundary/* BoundaryInterval */.e(intervals[0].start, list.ListUtils.last(intervals).end);
        if (fullInterval.length == 0)
            return main_structures_table/* Table */.iA.getTableByPosition(tables, fullInterval.start, true);
        const startTable = main_structures_table/* Table */.iA.correctBoundTable(tables, Math.max(0, search.SearchUtils.normedInterpolationIndexOf(tables, (t) => t.getStartPosition(), fullInterval.start)), fullInterval.start, (index) => --index);
        let foundTable = null;
        let numFoundTablesOnOneLevel = 0;
        for (let tbl = startTable, tblInd = tbl.index; (tbl = tables[tblInd]) && (tbl.getStartPosition() <= fullInterval.end); tblInd++) {
            const inters = algorithms.IntervalAlgorithms.getIntersection(tbl.interval, fullInterval);
            if (inters && (inters.length || inters.start != tbl.getEndPosition())) {
                if (!foundTable || tbl.nestedLevel < foundTable.nestedLevel) {
                    foundTable = tbl;
                    numFoundTablesOnOneLevel = 1;
                }
                else if (tbl.nestedLevel == foundTable.nestedLevel)
                    numFoundTablesOnOneLevel++;
            }
        }
        return foundTable && numFoundTablesOnOneLevel == 1 && foundTable.interval.containsInterval(fullInterval) ? foundTable : null;
    }
    fillResult(table, intervals) {
        let intervalInd = 0;
        let selInterval = boundary/* BoundaryInterval */.e.makeByConstInterval(intervals[intervalInd]);
        const tblPos = new main_structures_table/* TablePosition */.TR(table, -1, -1);
        while (tblPos.moveToNextRow()) {
            while (tblPos.moveToNextCell()) {
                const cellInterval = tblPos.cell.interval;
                const inters = algorithms.IntervalAlgorithms.getIntersection(selInterval, cellInterval);
                if (inters && (inters.length || !selInterval.length && inters.start < cellInterval.end)) {
                    this.add(tblPos);
                    if (tblPos.cell.endParagrapPosition.value >= selInterval.end) {
                        const nextInterval = intervals[++intervalInd];
                        if (nextInterval)
                            selInterval = boundary/* BoundaryInterval */.e.makeByConstInterval(nextInterval);
                        else
                            return this.extendMergedCells(table);
                    }
                }
            }
        }
        return this.extendMergedCells(table);
    }
    add(tblPos) {
        tblPos = tblPos.clone();
        const oldVal = this.map[tblPos.rowIndex];
        if (oldVal)
            oldVal.push(tblPos);
        else
            this.map[tblPos.rowIndex] = [tblPos];
    }
    extendMergedCells(table) {
        const gridInfoManager = new CellGridInfoManager(table);
        const weakPositions = number/* NumberMapUtils */.j.toListBy(this.map, (poss) => list.ListUtils.deepCopy(poss));
        list.ListUtils.forEach(weakPositions, (tblPoss) => {
            list.ListUtils.forEach(tblPoss, (tblPos) => {
                if (tblPos.cell.verticalMerging != table_base_structures/* TableCellMergingState */.Z3.None) {
                    const cellInfo = gridInfoManager.gridInfosByTablePosition(tblPos);
                    list.ListUtils.forEachOnInterval(cellInfo.rowIndexesInterval, (rowIndex) => {
                        this.add(new main_structures_table/* TablePosition */.TR(table, rowIndex, cellInfo.getCellIndexAbs(rowIndex)).init());
                    });
                }
            });
        });
        const rowsInfo = number/* NumberMapUtils */.j.toListBy(this.map, (tblPoss) => list.ListUtils.unique(tblPoss, (a, b) => a.cellIndex - b.cellIndex))
            .sort((a, b) => a[0].rowIndex - b[0].rowIndex);
        return new SelectedTableInfo(table, gridInfoManager, SelectedCellsCalculator.translateRowPositionsToSelectedInfo(weakPositions), SelectedCellsCalculator.translateRowPositionsToSelectedInfo(rowsInfo));
    }
    static translateRowPositionsToSelectedInfo(poss) {
        return list.ListUtils.map(poss, (rowCellsPoss) => new SelectedTableRowInfo(rowCellsPoss[0].rowIndex, list.ListUtils.map(rowCellsPoss, (tblPos) => new SelectedTableCellInfo(tblPos.cell, tblPos.cellIndex))));
    }
}
class TableSelectionExtender {
    static correctIntervalDueToTables(subDocument, newInterval) {
        if (newInterval.length == 0 || subDocument.tables.length == 0)
            return;
        var startCell = main_structures_table/* Table */.iA.getTableCellByPosition(subDocument.tables, newInterval.start);
        var endCell = main_structures_table/* Table */.iA.getTableCellByPosition(subDocument.tables, newInterval.end);
        if (startCell == null && endCell == null)
            return;
        if (startCell == null && endCell != null) {
            if (newInterval.end != endCell.parentRow.getStartPosition())
                newInterval.expand(new fixed.FixedInterval(newInterval.end, endCell.parentRow.getEndPosition() - newInterval.end));
            return;
        }
        if (startCell != null && newInterval.end == startCell.endParagrapPosition.value) {
            newInterval.expand(startCell.interval);
            return;
        }
        if ((startCell != null && endCell == null) || TableSelectionExtender.firstCellIsParentCellForSecondCellsTable(endCell, startCell)) {
            if (newInterval.end != startCell.parentRow.parentTable.getEndPosition())
                newInterval.expand(new fixed.FixedInterval(startCell.parentRow.getStartPosition(), newInterval.start - startCell.parentRow.getStartPosition()));
            return;
        }
        var startTable = main_structures_table/* Table */.iA.getTableByPosition(subDocument.tables, newInterval.start, false);
        var endTable = main_structures_table/* Table */.iA.getTableByPosition(subDocument.tables, newInterval.end, false);
        if (startTable != endTable) {
            newInterval.expand(new fixed.FixedInterval(startCell.parentRow.getStartPosition(), newInterval.start - startCell.parentRow.getStartPosition()));
            if (newInterval.end != endCell.parentRow.getStartPosition())
                newInterval.expand(new fixed.FixedInterval(newInterval.end, endCell.parentRow.getEndPosition() - newInterval.end));
            return;
        }
        if (startCell != null && endCell != null && startCell != endCell && startCell.parentRow.parentTable == endCell.parentRow.parentTable) {
            newInterval.expand(startCell.interval);
            if (newInterval.end != endCell.startParagraphPosition.value)
                newInterval.expand(endCell.interval);
            return;
        }
    }
    static firstCellIsParentCellForSecondCellsTable(firstCell, secondCell) {
        if (firstCell == null || secondCell == null || secondCell.parentRow.parentTable.parentCell == null)
            return false;
        var parentTable = secondCell.parentRow.parentTable;
        while (parentTable.parentCell != null) {
            if (parentTable.parentCell == firstCell)
                return true;
            parentTable = parentTable.parentCell.parentRow.parentTable;
        }
        return false;
    }
}


/***/ }),

/***/ 655:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  v: function() { return /* binding */ SelectionIntervalsInfo; }
});

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/selection/selected-cells-engine.ts + 1 modules
var selected_cells_engine = __webpack_require__(6250);
// EXTERNAL MODULE: ./src/common/model/runs/run-type.ts
var run_type = __webpack_require__(3549);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/common.js
var common = __webpack_require__(2491);
;// CONCATENATED MODULE: ./src/common/selection/selected-special-run-info.ts


class SelectedSpecialRunInfo {
    constructor() {
        this.noSpecRun();
    }
    get picturePos() {
        return (0,common.isDefined)(this.picturePosition) ? this.picturePosition.value : -1;
    }
    get textBoxPos() {
        return (0,common.isDefined)(this.textBoxPosition) ? this.textBoxPosition.value : -1;
    }
    noSpecRun() {
        this.setSpecRunInfo(null, -1, -1, false, -1);
    }
    setSpecRunInfo(parentSubDocument, picturePos, textBoxPos, isAnchoredObject, textBoxInnerSubDocumentId) {
        if ((0,common.isDefined)(this.picturePosition)) {
            this.parentSubDocument.positionManager.unregisterSpecRunPosition();
            this.picturePosition = null;
        }
        if (picturePos > -1)
            this.picturePosition = parentSubDocument.positionManager.registerSpecRunPosition(picturePos);
        if ((0,common.isDefined)(this.textBoxPosition)) {
            this.parentSubDocument.positionManager.unregisterSpecRunPosition();
            this.textBoxPosition = null;
        }
        if (textBoxPos > -1)
            this.textBoxPosition = parentSubDocument.positionManager.registerSpecRunPosition(textBoxPos);
        this.parentSubDocument = parentSubDocument;
        this.isAnchoredObject = isAnchoredObject;
        this.textBoxInnerSubDocumentId = textBoxInnerSubDocumentId;
    }
    init(intervalsInfo, model) {
        const activeSubDocument = intervalsInfo.subDocument;
        if (this.getActualTextBoxInnerSubDocumentId(model) == activeSubDocument.id)
            return;
        if (!intervalsInfo.multiselection && intervalsInfo.interval.length == 1) {
            const pos = intervalsInfo.interval.start;
            const run = activeSubDocument.getRunByPosition(pos);
            switch (run.getType()) {
                case run_type/* RunType */.m.AnchoredTextBoxRun:
                    this.setSpecRunInfo(activeSubDocument, -1, pos, true, run.subDocId);
                    break;
                case run_type/* RunType */.m.AnchoredPictureRun:
                    this.setSpecRunInfo(activeSubDocument, pos, -1, true, -1);
                    break;
                case run_type/* RunType */.m.InlinePictureRun:
                    this.setSpecRunInfo(activeSubDocument, pos, -1, false, -1);
                    break;
                default: this.noSpecRun();
            }
        }
        else
            this.noSpecRun();
    }
    getTextBoxInnerSubDocumentId() {
        return this.textBoxInnerSubDocumentId;
    }
    get isSelectedAnchorObject() {
        return this.isAnchoredObject;
    }
    getParentSubDocument() {
        return this.parentSubDocument;
    }
    getPosition() {
        return this.picturePos > -1 ? this.picturePos : this.textBoxPos;
    }
    getPicturePosition() {
        return this.picturePos;
    }
    getTextBoxPosition() {
        return this.textBoxPos;
    }
    isPictureSelected() {
        return this.picturePos > -1;
    }
    isTextBoxSelected() {
        return this.textBoxPos > -1;
    }
    isSelected() {
        return this.isPictureSelected() || this.isTextBoxSelected();
    }
    clone() {
        const obj = new SelectedSpecialRunInfo();
        obj.picturePosition = this.picturePosition;
        obj.textBoxPosition = this.textBoxPosition;
        obj.parentSubDocument = this.parentSubDocument;
        obj.isAnchoredObject = this.isAnchoredObject;
        obj.textBoxInnerSubDocumentId = this.textBoxInnerSubDocumentId;
        return obj;
    }
    getActualTextBoxInnerSubDocumentId(model) {
        if (this.textBoxInnerSubDocumentId < 1)
            return this.textBoxInnerSubDocumentId;
        this.textBoxInnerSubDocumentId = model.subDocumentsCollection.collection[this.textBoxInnerSubDocumentId].getActualSubDocument().id;
        return this.textBoxInnerSubDocumentId;
    }
}

;// CONCATENATED MODULE: ./src/common/selection/selection-intervals-info.ts





class SelectionIntervalsInfo {
    resetTableInfo() {
        this._tableInfo = null;
    }
    get tableInfo() {
        if (!this._tableInfo)
            this._tableInfo = new selected_cells_engine/* SelectedCellsCalculator */.Yd().calculate(this.subDocument.tables, this.intervals);
        return this._tableInfo;
    }
    get subDocument() {
        var _a;
        return this._subDocument = (_a = this._subDocument) === null || _a === void 0 ? void 0 : _a.getActualSubDocument();
    }
    set subDocument(value) {
        this._subDocument = value;
    }
    get intervals() { return this._intervals; }
    set intervals(val) { this._intervals = val; this.lastIntervalIndex = val.length - 1; }
    get interval() { return this.intervals[this.lastIntervalIndex]; }
    set interval(val) { this._intervals = [val]; this.lastIntervalIndex = 0; }
    get position() { return this.interval.start; }
    set position(val) { this._intervals = [new fixed.FixedInterval(val, 0)]; this.lastIntervalIndex = 0; }
    get subDocIntervals() { return new sub_document/* SubDocumentIntervals */.Jt(this.subDocument, list.ListUtils.deepCopy(this.intervals)); }
    get subDocInterval() { return new sub_document/* SubDocumentInterval */.v8(this.subDocument, this.interval.clone()); }
    get subDocPosition() { return new sub_document/* SubDocumentPosition */.rg(this.subDocument, this.position); }
    get multiselection() { return this.intervals.length > 1; }
    get isCollapsed() { return !this._intervals[1] && this._intervals[0].isCollapsed(); }
    constructor(subDocument, intervals, lastIntervalIndex = intervals.length - 1) {
        this.specialRunInfo = new SelectedSpecialRunInfo();
        this.subDocument = subDocument;
        this._intervals = intervals;
        this.lastIntervalIndex = lastIntervalIndex;
        this._tableInfo = null;
    }
    static fromPosition(subDocument, position) {
        return new SelectionIntervalsInfo(subDocument, [new fixed.FixedInterval(position, 0)], 0);
    }
    static fromInterval(subDocument, interval) {
        return new SelectionIntervalsInfo(subDocument, [interval], 0);
    }
    validateInterval() {
        const docEnd = this.subDocument.getDocumentEndPosition();
        for (let curr of this.intervals) {
            curr.start = Math.max(docEnd - 1, curr.start);
            curr.end = Math.max(docEnd, curr.end);
        }
    }
    equals(obj) {
        return obj &&
            this.subDocument.id == obj.subDocument.id &&
            obj._intervals && list.ListUtils.equals(this._intervals, obj._intervals) &&
            this.lastIntervalIndex == obj.lastIntervalIndex;
    }
    clone() {
        const obj = new SelectionIntervalsInfo(this.subDocument, list.ListUtils.deepCopy(this._intervals), this.lastIntervalIndex);
        obj._tableInfo = this._tableInfo;
        obj.specialRunInfo = this.specialRunInfo.clone();
        return obj;
    }
}


/***/ }),

/***/ 9350:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  Y: function() { return /* binding */ Selection; },
  v: function() { return /* binding */ SetSelectionStateOptions; }
});

// EXTERNAL MODULE: ./src/common/utils/event-dispatcher.ts
var event_dispatcher = __webpack_require__(8558);
// EXTERNAL MODULE: ./src/common/model/fields/field.ts + 1 modules
var field = __webpack_require__(8277);
// EXTERNAL MODULE: ./src/common/model/sub-document.ts + 5 modules
var sub_document = __webpack_require__(8096);
// EXTERNAL MODULE: ./src/common/selection/selected-cells-engine.ts + 1 modules
var selected_cells_engine = __webpack_require__(6250);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/batch-updatable.js
var batch_updatable = __webpack_require__(1772);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/algorithms.js
var algorithms = __webpack_require__(1104);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/intervals/fixed.js
var fixed = __webpack_require__(8860);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/list.js
var list = __webpack_require__(2940);
// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/utils/search.js
var search = __webpack_require__(2400);
// EXTERNAL MODULE: ./src/common/scroll/model-scroll-manager.ts
var model_scroll_manager = __webpack_require__(2328);
// EXTERNAL MODULE: ./src/common/scroll/model-states.ts + 1 modules
var model_states = __webpack_require__(4385);
// EXTERNAL MODULE: ./src/common/model/position/linked-interval.ts
var linked_interval = __webpack_require__(7247);
// EXTERNAL MODULE: ./src/common/selection/selection-intervals-info.ts + 1 modules
var selection_intervals_info = __webpack_require__(655);
;// CONCATENATED MODULE: ./src/common/selection/selection-state.ts




class SelectionState {
    get interval() { return this.intervalsInfo.interval; }
    ;
    get anchorPostion() { return this.forwardDirection ? this.interval.start : this.interval.end; }
    get activePostion() { return this.forwardDirection ? this.interval.end : this.interval.start; }
    get reversedAnchorPostion() { return this.forwardDirection ? this.interval.end : this.interval.start; }
    constructor(intervalsInfo, forwardDirection, endOfLine, pageIndex) {
        this.forwardDirection = true;
        this.endOfLine = false;
        this.keepX = -1;
        this.pageIndex = -1;
        this.intervalsInfo = intervalsInfo.clone();
        this.forwardDirection = forwardDirection;
        this.endOfLine = endOfLine;
        this.pageIndex = pageIndex;
    }
    setEndOfLine(endOfLine) {
        this.endOfLine = endOfLine;
        return this;
    }
    resetKeepX() {
        this.keepX = -1;
        return this;
    }
    setKeepX(keepX) {
        this.keepX = keepX;
        return this;
    }
    setForwardDirection(fd) {
        this.forwardDirection = fd;
        return this;
    }
    setInterval(interval) {
        this.intervalsInfo.intervals = [this.getNormalizedLastInterval(interval)];
        return this;
    }
    setIntervals(intervals) {
        this.intervalsInfo.intervals = intervals;
        return this;
    }
    setPosition(pos) {
        this.intervalsInfo.position = pos;
        return this;
    }
    addInterval(interval) {
        if (this.intervalsInfo.isCollapsed)
            this.intervalsInfo.interval = interval;
        else
            this.intervalsInfo.lastIntervalIndex = this.intervalsInfo.intervals.push(this.getNormalizedLastInterval(interval)) - 1;
        return this;
    }
    extendLastInterval(end) {
        const oldAnchor = this.anchorPostion;
        this.interval.start = Math.min(oldAnchor, end);
        this.interval.length = Math.abs(oldAnchor - end);
        this.forwardDirection = end >= oldAnchor;
        return this;
    }
    setPageIndex(pageIndex) {
        this.pageIndex = pageIndex;
        return this;
    }
    setSubDocument(subDocument) {
        this.intervalsInfo.subDocument = subDocument;
        return this;
    }
    getNormalizedLastInterval(interval) {
        this.forwardDirection = interval.length >= 0;
        return this.forwardDirection ? interval : new fixed.FixedInterval(interval.end, interval.start);
    }
    static getDefault(activeSubDocument) {
        return new SelectionState(selection_intervals_info/* SelectionIntervalsInfo */.v.fromPosition(activeSubDocument, 0), true, false, -1);
    }
    clone() {
        return new SelectionState(this.intervalsInfo.clone(), this.forwardDirection, this.endOfLine, this.pageIndex);
    }
    equals(obj) {
        return this.partiallyEquals(obj) &&
            list.ListUtils.equals(this.intervalsInfo.intervals, obj.intervalsInfo.intervals);
    }
    partiallyEquals(obj) {
        return obj &&
            this.keepX == obj.keepX &&
            this.forwardDirection == obj.forwardDirection &&
            this.endOfLine == obj.endOfLine &&
            this.intervalsInfo.lastIntervalIndex == obj.intervalsInfo.lastIntervalIndex &&
            this.pageIndex == obj.pageIndex;
    }
}
class SelectionFloatingState {
    constructor(state) {
        this.state = state;
        this.linkedIntervals = list.ListUtils.map(state.intervalsInfo.intervals, (curr) => new linked_interval/* LinkedInterval */.k(state.intervalsInfo.subDocument.positionManager, curr));
    }
    finalize() {
        const intervals = [];
        for (let interval of this.linkedIntervals) {
            intervals.push(interval.getFixedInterval());
            interval.destructor(this.state.intervalsInfo.subDocument.positionManager);
        }
        this.linkedIntervals = [];
        this.state.intervalsInfo.intervals = intervals;
        return this.state;
    }
}

;// CONCATENATED MODULE: ./src/common/selection/selection.ts












class SetSelectionStateOptions {
    constructor() {
        this.correctIntervalDueToFields = true;
        this.correctIntervalDueToTables = true;
        this.useFieldUiChecks = true;
        this.isForceUpdate = false;
    }
    noFieldCorrect() {
        this.correctIntervalDueToFields = false;
        return this;
    }
    noTablesCorrect() {
        this.correctIntervalDueToTables = false;
        return this;
    }
    noFieldUiChecks() {
        this.useFieldUiChecks = false;
        return this;
    }
    forceUpdate() {
        this.isForceUpdate = true;
        return this;
    }
}
class Selection extends batch_updatable/* BatchUpdatableObject */.IS {
    get currState() { return this._state; }
    get keepX() { return this._state.keepX; }
    set keepX(val) { this._state.keepX = val; }
    get forwardDirection() { return this._state.forwardDirection; }
    set forwardDirection(val) { this._state.forwardDirection = val; }
    get endOfLine() { return this._state.endOfLine; }
    set endOfLine(val) { this._state.endOfLine = val; }
    get pageIndex() { return this._state.pageIndex; }
    set pageIndex(val) { this._state.pageIndex = val; }
    get intervals() { return this._state.intervalsInfo.intervals; }
    get activeSubDocument() { return this._state.intervalsInfo.subDocument; }
    get lastSelectedInterval() { return this._state.interval; }
    get intervalsInfo() { return this._state.intervalsInfo; }
    get prevState() { return this._prevState; }
    get multiselection() { return this._state.intervalsInfo.multiselection; }
    get anchorPosition() { return this._state.anchorPostion; }
    get reversedAnchorPostion() { return this._state.reversedAnchorPostion; }
    isCollapsed() { return this._state.intervalsInfo.isCollapsed; }
    get subDocumentIntervals() {
        return new sub_document/* SubDocumentIntervals */.Jt(this.activeSubDocument, list.ListUtils.deepCopy(this._state.intervalsInfo.intervals));
    }
    get subDocumentInterval() { return this._state.intervalsInfo.subDocInterval; }
    get specialRunInfo() { return this._state.intervalsInfo.specialRunInfo; }
    ;
    get tableInfo() { return this._state.intervalsInfo.tableInfo; }
    constructor(model, layout, activeSubDocument) {
        super();
        this.searchIntervals = [];
        this.misspelledIntervals = [];
        this.onChanged = new event_dispatcher/* EventDispatcher */.p();
        this.onSearchChanged = new event_dispatcher/* EventDispatcher */.p();
        this.onMisspelledSelectionChanged = new event_dispatcher/* EventDispatcher */.p();
        this.model = model;
        this.layout = layout;
        this.scrollManager = new model_scroll_manager/* ModelScrollManager */.O();
        this._prevState = SelectionState.getDefault(activeSubDocument);
        this._state = SelectionState.getDefault(activeSubDocument);
    }
    dispose() {
        this.onChanged.dispose();
    }
    setSelection(params) {
        const options = new SetSelectionStateOptions();
        options.correctIntervalDueToFields = params.correctIntervalDueToFields;
        options.correctIntervalDueToTables = params.correctIntervalDueToTables;
        options.useFieldUiChecks = params.useFieldUiChecks;
        this.changeState((newState) => {
            newState.intervalsInfo.intervals = [params.interval];
            newState.intervalsInfo.lastIntervalIndex = 0;
            newState.endOfLine = params.endOfLine;
            newState.keepX = params.keepX;
        }, options);
        this.resetInputPositionIfNeeded();
    }
    getState() {
        return this._state.clone();
    }
    changeState(changeState, options = new SetSelectionStateOptions()) {
        const newState = this.getState();
        changeState(newState);
        return this.setState(newState, options);
    }
    setState(newState, options = new SetSelectionStateOptions()) {
        const posOfLastInterval = newState.interval.start;
        if (options.correctIntervalDueToTables) {
            for (let interval of newState.intervalsInfo.intervals)
                selected_cells_engine/* TableSelectionExtender */.My.correctIntervalDueToTables(newState.intervalsInfo.subDocument, interval);
        }
        if (options.correctIntervalDueToFields) {
            for (let interval of newState.intervalsInfo.intervals)
                if (options.useFieldUiChecks)
                    field/* Field */.gN.correctIntervalDueToFields(newState.intervalsInfo.subDocument, interval);
                else
                    field/* Field */.gN.correctIntervalDueToFieldsWithoutUiChecks(newState.intervalsInfo.subDocument, interval);
        }
        for (let interval of newState.intervalsInfo.intervals)
            new sub_document/* SubDocumentInterval */.v8(newState.intervalsInfo.subDocument, interval).validateInterval();
        newState.intervalsInfo.intervals = algorithms.IntervalAlgorithms.getMergedIntervals(newState.intervalsInfo.intervals, true);
        newState.intervalsInfo.lastIntervalIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(newState.intervalsInfo.intervals, (curr) => curr.start, posOfLastInterval));
        const isSelectionChanged = options.isForceUpdate ||
            !list.ListUtils.equals(this._state.intervalsInfo.intervals, newState.intervalsInfo.intervals) ||
            !this._state.partiallyEquals(newState) ||
            this._state.intervalsInfo.subDocument != newState.intervalsInfo.subDocument;
        if (isSelectionChanged) {
            this._prevState = this._state;
            this._state = newState;
            newState.intervalsInfo.resetTableInfo();
            newState.intervalsInfo.specialRunInfo.init(newState.intervalsInfo, this.model);
            this.raiseSelectionChanged();
        }
        return isSelectionChanged;
    }
    correctAfterTextBufferChanged() {
        const intersection = algorithms.IntervalAlgorithms.getIntersectionsTwoArraysOfInterval([fixed.FixedInterval.fromPositions(0, this.activeSubDocument.getDocumentEndPosition())], this.intervals);
        this.changeState((newState) => {
            const posOfLastInterval = newState.intervalsInfo.interval.start;
            newState.intervalsInfo.intervals = intersection;
            newState.intervalsInfo.lastIntervalIndex = Math.max(0, search.SearchUtils.normedInterpolationIndexOf(newState.intervalsInfo.intervals, (curr) => curr.start, posOfLastInterval));
        });
    }
    getFloatingState() {
        return new SelectionFloatingState(this.getState());
    }
    restoreFloatingState(state) {
        this.setState(state.finalize());
    }
    setSearchSelectionIntervals(intervals) {
        this.searchIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(intervals, false);
        this.raiseSearchSelectionChanged();
    }
    resetSearchSelection() {
        if (this.searchIntervals.length) {
            this.searchIntervals = [];
            this.raiseSearchSelectionChanged();
        }
    }
    onUpdateUnlocked(occurredEvents) {
        if (occurredEvents & SelectionBatchUpdateEvents.SelectionChanged)
            this.raiseSelectionChanged();
        if (occurredEvents & SelectionBatchUpdateEvents.SearchSelectionChanged)
            this.raiseSearchSelectionChanged();
        if (occurredEvents & SelectionBatchUpdateEvents.MisspelledSelectionChanged)
            this.raiseMisspelledSelectionChanged();
    }
    setMisspelledSelectionIntervals(intervals) {
        this.misspelledIntervals = algorithms.IntervalAlgorithms.getMergedIntervals(intervals, false);
        this.raiseMisspelledSelectionChanged();
    }
    raiseSelectionChanged() {
        if (this.isUpdateLocked())
            this.registerOccurredEvent(SelectionBatchUpdateEvents.SelectionChanged);
        else
            this.onChanged.listeners.forEach(listener => listener.NotifySelectionChanged(this));
    }
    raiseSearchSelectionChanged() {
        if (this.isUpdateLocked())
            this.registerOccurredEvent(SelectionBatchUpdateEvents.SearchSelectionChanged);
        else
            this.onSearchChanged.listeners.forEach(listener => listener.NotifySearchSelectionChanged());
    }
    raiseMisspelledSelectionChanged() {
        if (this.isUpdateLocked())
            this.registerOccurredEvent(SelectionBatchUpdateEvents.MisspelledSelectionChanged);
        else
            this.onMisspelledSelectionChanged.listeners.forEach(listener => listener.NotifyMisspelledSelectionChanged());
    }
    deprecatedSetSelection(firstPosition, secondPosition, endOfLine, keepX, _upd, correctIntervalDueToFields = true, correctIntervalDueToTables = true, visibleModelPosition = model_scroll_manager/* ModelScrollManager */.O.StandartScrollPosition, useFieldUiChecks = true) {
        const options = new SetSelectionStateOptions();
        options.useFieldUiChecks = useFieldUiChecks;
        options.correctIntervalDueToTables = correctIntervalDueToTables;
        options.correctIntervalDueToFields = correctIntervalDueToFields;
        this.changeState((newState) => {
            newState.setInterval(new fixed.FixedInterval(Math.min(firstPosition, secondPosition), Math.abs(firstPosition - secondPosition)))
                .setKeepX(keepX)
                .setEndOfLine(endOfLine)
                .setForwardDirection(secondPosition >= firstPosition);
        }, options);
        if (visibleModelPosition != model_scroll_manager/* ModelScrollManager */.O.DontChangeScrollPosition)
            this.scrollManager.setScroll(model_scroll_manager/* ModelScrollManager */.O.StandartScrollPosition ?
                new model_states/* ScrollState */.G_().byModelPosition(this)
                    .useCurrentPosition(this)
                    .useStdRelativePosition()
                    .useStdOffset() :
                new model_states/* ScrollState */.G_().byModelPosition(this)
                    .setModelPosition(visibleModelPosition)
                    .useStdRelativePosition()
                    .useStdOffset());
        this.resetInputPositionIfNeeded();
    }
    shouldResetInputPosition() {
        var _a;
        const currentState = this.getState();
        return currentState.intervalsInfo.subDocument.id != ((_a = this.prevState.intervalsInfo.subDocument) === null || _a === void 0 ? void 0 : _a.id) ||
            !list.ListUtils.equals(currentState.intervalsInfo.intervals, this.prevState.intervalsInfo.intervals);
    }
    resetInputPositionIfNeeded() {
        if (this.shouldResetInputPosition())
            this.inputPosition.reset();
    }
}
var SelectionBatchUpdateEvents;
(function (SelectionBatchUpdateEvents) {
    SelectionBatchUpdateEvents[SelectionBatchUpdateEvents["None"] = 0] = "None";
    SelectionBatchUpdateEvents[SelectionBatchUpdateEvents["SelectionChanged"] = 1] = "SelectionChanged";
    SelectionBatchUpdateEvents[SelectionBatchUpdateEvents["SearchSelectionChanged"] = 4] = "SearchSelectionChanged";
    SelectionBatchUpdateEvents[SelectionBatchUpdateEvents["MisspelledSelectionChanged"] = 8] = "MisspelledSelectionChanged";
})(SelectionBatchUpdateEvents || (SelectionBatchUpdateEvents = {}));


/***/ }),

/***/ 9523:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Qu: function() { return /* binding */ SetSelectionParams; }
/* harmony export */ });
/* unused harmony exports SetSelectionParamsBase, SetSelectionParamsFull */
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8860);

class SetSelectionParamsBase {
    constructor() {
        this.endOfLine = true;
        this.keepX = -1;
        this.correctIntervalDueToFields = true;
        this.correctIntervalDueToTables = true;
        this.useFieldUiChecks = true;
    }
    setInterval(interval) {
        this._intervals = [interval.clone()];
        return this;
    }
    resetKeepX() {
        this.keepX = -1;
        return this;
    }
    setPosition(position) {
        this._intervals = [new _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_0__.FixedInterval(position, 0)];
        return this;
    }
    setEndOfLine(endOfLine) {
        this.endOfLine = endOfLine;
        return this;
    }
    setKeepX(keepX) {
        this.keepX = keepX;
        return this;
    }
    setCorrectIntervalDueToFields(correctIntervalDueToFields) {
        this.correctIntervalDueToFields = correctIntervalDueToFields;
        return this;
    }
    setCorrectIntervalDueToTables(correctIntervalDueToTables) {
        this.correctIntervalDueToTables = correctIntervalDueToTables;
        return this;
    }
    setUseFieldUiChecks(useFieldUiChecks) {
        this.useFieldUiChecks = useFieldUiChecks;
        return this;
    }
}
class SetSelectionParams extends SetSelectionParamsBase {
    get interval() { return this._intervals[0]; }
    ;
}
class SetSelectionParamsFull extends (/* unused pure expression or super */ null && (SetSelectionParamsBase)) {
    get intervals() { return this._intervals; }
}


/***/ }),

/***/ 5337:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   a: function() { return /* binding */ ModelWordPositionHelper; }
/* harmony export */ });
/* harmony import */ var _model_model_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7747);
/* harmony import */ var _model_rich_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8845);
/* harmony import */ var _model_runs_run_type__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3549);



class ModelWordPositionHelper {
    static getWordStartPosition(subDocument, position) {
        return ModelWordPositionHelper.getWordStartPositionByCharCondition(subDocument, position, (char) => { return _model_rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.isWhitespace.test(char); });
    }
    static getWordStartPositionByCharCondition(subDocument, position, condition) {
        let iterator = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_0__/* .ModelIterator */ .w(subDocument, true);
        iterator.setPosition(position);
        while (iterator.moveToPrevChar()) {
            let char = iterator.getCurrentChar();
            let runType = iterator.run.getType();
            if (condition(char) || runType == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.ParagraphRun || runType == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.SectionRun)
                return iterator.getAbsolutePosition() + 1;
        }
        return iterator.getAbsolutePosition();
    }
    static getPrevWordStartPosition(subDocument, position) {
        let iterator = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_0__/* .ModelIterator */ .w(subDocument, true);
        iterator.setPosition(position);
        let firstWhitespaceIsFound = false;
        let prevWordIsFound = false;
        while (iterator.moveToPrevChar()) {
            let char = iterator.getCurrentChar();
            let runType = iterator.run.getType();
            if ((_model_rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.isWhitespace.test(char) && prevWordIsFound) || runType == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.ParagraphRun || runType == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.SectionRun)
                return iterator.getAbsolutePosition() + 1;
            if (_model_rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.isWhitespace.test(char))
                firstWhitespaceIsFound = true;
            else if (firstWhitespaceIsFound)
                prevWordIsFound = true;
        }
        return iterator.getAbsolutePosition();
    }
    static getNextWordEndPosition(subDocument, position) {
        let iterator = new _model_model_iterator__WEBPACK_IMPORTED_MODULE_0__/* .ModelIterator */ .w(subDocument, true);
        iterator.setPosition(position);
        let firstWhitespaceIsFound = false;
        let nextWordIsFound = false;
        do {
            let char = iterator.getCurrentChar();
            let runType = iterator.run.getType();
            if ((_model_rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.isWhitespace.test(char) && nextWordIsFound) || runType == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.ParagraphRun || runType == _model_runs_run_type__WEBPACK_IMPORTED_MODULE_2__/* .RunType */ .m.SectionRun)
                return iterator.getAbsolutePosition() - 1;
            if (_model_rich_utils__WEBPACK_IMPORTED_MODULE_1__/* .RichUtils */ .i.isWhitespace.test(char))
                firstWhitespaceIsFound = true;
            else if (firstWhitespaceIsFound)
                nextWordIsFound = true;
        } while (iterator.moveToNextChar());
        return iterator.getAbsolutePosition();
    }
}


/***/ }),

/***/ 3323:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   D7: function() { return /* binding */ SpellingErrorInfo; },
/* harmony export */   h1: function() { return /* binding */ SpellingErrorType; },
/* harmony export */   yV: function() { return /* binding */ SpellChecker; }
/* harmony export */ });
class SpellChecker {
    constructor(misspelledIntervalsChangesListener, settings) {
        this.misspelledIntervalsChangesListener = misspelledIntervalsChangesListener;
        this.settings = settings;
    }
    dispose() {
        clearTimeout(this.checkCoreId);
    }
    initialize(subDocument) {
        this.subDocument = subDocument;
        this.intervalsManager = subDocument.spellCheckerIntervalsManager;
    }
    processResponse(checkedIntervals) {
        this.intervalsManager.applyCheckResults(checkedIntervals);
        this.updateMisspelledBoxes();
        this.checkCore();
    }
    check() {
        if (this.settings.isEnabled) {
            this.checkCoreId = setTimeout(() => {
                this.checkCore();
            }, 0);
        }
    }
    getSelectedMisspelledInterval(selectionIntervals) {
        return this.intervalsManager.getSelectedMisspelledInterval(selectionIntervals);
    }
    findNextMisspelledInterval(position) {
        return this.intervalsManager.findNextMisspelledInterval(position);
    }
    ignore(misspelledInterval) {
        this.intervalsManager.addIgnoredInterval(misspelledInterval.start, misspelledInterval.end, misspelledInterval.errorInfo.word);
        this.intervalsManager.deleteMisspelledIntervalsByPositions(misspelledInterval.start, misspelledInterval.end);
        this.updateMisspelledBoxes();
    }
    ignoreAll(misspelledInterval) {
        this.intervalsManager.ignoreAll(misspelledInterval.errorInfo.word);
        this.updateMisspelledBoxes();
    }
    addWord(misspelledInterval) {
        let word = misspelledInterval.errorInfo.word;
        this.intervalsManager.removeIntervalsWithErrorByWord(word);
        this.updateMisspelledBoxes();
        this.sendAddWordRequest(word);
    }
    getIntervalsWithErrorByWord(word) {
        return this.intervalsManager.getIntervalsWithErrorByWord(word);
    }
    isInProgress() {
        return this.intervalsManager.getUncheckedIntervalsCount() > 0;
    }
    getMisspelledIntervals() {
        return this.intervalsManager.getMisspelledIntervals();
    }
    onModelIntervalChanged(start, length, isSeparator) {
        if (this.settings.isEnabled)
            this.intervalsManager.onModelIntervalChanged(start, length, isSeparator);
    }
    onCurrentSelectedWordChanged() {
        this.check();
    }
    onLayoutChanged() {
        this.updateMisspelledBoxes();
    }
    checkCore() {
        this.intervalsManager.initializeUncheckedIntervals();
        const intervalsToCheck = this.intervalsManager.getIntervalsToCheck();
        if (intervalsToCheck.length > 0)
            this.sendCheckSpellingRequest(intervalsToCheck);
    }
    updateMisspelledBoxes() {
        if (this.settings.isEnabled)
            this.misspelledIntervalsChangesListener.setMisspelledSelectionIntervals(this.getMisspelledIntervals());
    }
}
var SpellingErrorType;
(function (SpellingErrorType) {
    SpellingErrorType[SpellingErrorType["Unknown"] = 0] = "Unknown";
    SpellingErrorType[SpellingErrorType["Misspelling"] = 1] = "Misspelling";
    SpellingErrorType[SpellingErrorType["Repeating"] = 2] = "Repeating";
    SpellingErrorType[SpellingErrorType["Syntax"] = 3] = "Syntax";
})(SpellingErrorType || (SpellingErrorType = {}));
class SpellingErrorInfo {
    constructor(errorType, suggestions, word) {
        this.errorType = errorType;
        this.suggestions = suggestions;
        this.word = word;
    }
}


/***/ }),

/***/ 8558:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: function() { return /* binding */ EventDispatcher; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2940);

class EventDispatcher {
    constructor() {
        this.listeners = [];
    }
    clear() {
        _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.clear(this.listeners);
    }
    add(listener) {
        if (!_devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_0__.ListUtils.unsafeAnyOf(this.listeners, currListener => currListener === listener))
            this.listeners.push(listener);
    }
    remove(listener) {
        for (let i = 0, currListener; currListener = this.listeners[i]; i++) {
            if (currListener === listener) {
                this.listeners.splice(i, 1);
                break;
            }
        }
    }
    dispose() {
        const listeners = this.listeners;
        this.listeners = [];
        listeners.forEach(listener => { var _a; return (_a = listener.dispose) === null || _a === void 0 ? void 0 : _a.call(listener); });
    }
}


/***/ }),

/***/ 4622:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Wi: function() { return /* binding */ hexToBase64; },
/* harmony export */   XB: function() { return /* binding */ base64ToHex; },
/* harmony export */   rP: function() { return /* binding */ byteToHex; }
/* harmony export */ });
/* harmony import */ var _number_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6794);

const tableStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const table = tableStr.split("");
function hexToBase64(hexStr) {
    const stringArray = hexStr.replace(/\r|\n/g, "").replace(/([\da-fA-F]{2}) ?/g, "0x$1 ").replace(/ +$/, "").split(" ");
    const binLength = stringArray.length;
    const result = [];
    for (let i = 0; i < binLength; i++)
        result.push(String.fromCharCode(+stringArray[i]));
    return btoa(result.join(""));
}
function base64ToHex(base64Str) {
    for (var i = 0, bin = atob(base64Str.replace(/[ \r\n]+$/, "")), hex = []; i < bin.length; ++i) {
        var tmp = bin.charCodeAt(i).toString(16);
        if (tmp.length === 1)
            tmp = "0" + tmp;
        hex[hex.length] = tmp;
    }
    return hex.join("");
}
function byteToHex(value) {
    let tmp = _number_converter__WEBPACK_IMPORTED_MODULE_0__/* .RichNumberConverter */ .p.numberToHex(value);
    return tmp.length === 1 ? "0" + tmp : tmp;
}
function btoa(bin) {
    for (var i = 0, j = 0, len = bin.length / 3, base64 = []; i < len; ++i) {
        var a = bin.charCodeAt(j++), b = bin.charCodeAt(j++), c = bin.charCodeAt(j++);
        if ((a | b | c) > 255)
            throw new Error("String contains an invalid character");
        base64[base64.length] = table[a >> 2] + table[((a << 4) & 63) | (b >> 4)] +
            (isNaN(b) ? "=" : table[((b << 2) & 63) | (c >> 6)]) +
            (isNaN(b + c) ? "=" : table[c & 63]);
    }
    return base64.join("");
}
function atob(base64) {
    if (/(=[^=]+|={3,})$/.test(base64))
        throw new Error("String contains an invalid character");
    base64 = base64.replace(/=/g, "");
    var n = base64.length & 3;
    if (n === 1)
        throw new Error("String contains an invalid character");
    for (var i = 0, j = 0, len = base64.length / 4, bin = []; i < len; ++i) {
        var a = tableStr.indexOf(base64[j++] || "A"), b = tableStr.indexOf(base64[j++] || "A");
        var c = tableStr.indexOf(base64[j++] || "A"), d = tableStr.indexOf(base64[j++] || "A");
        if ((a | b | c | d) < 0)
            throw new Error("String contains an invalid character");
        bin[bin.length] = ((a << 2) | (b >> 4)) & 255;
        bin[bin.length] = ((b << 4) | (c >> 2)) & 255;
        bin[bin.length] = ((c << 6) | d) & 255;
    }
    ;
    const binLength = bin.length + n - 4;
    const result = [];
    for (let i = 0; i < binLength; i++)
        result.push(String.fromCharCode(bin[i]));
    return result.join('');
}


/***/ }),

/***/ 7156:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   M: function() { return /* binding */ MapCreator; }
/* harmony export */ });
class MapCreator {
    constructor(result = {}) {
        this.result = result;
    }
    add(key, value) {
        this.result[key] = value;
        return this;
    }
    append(map) {
        for (const key in map)
            if (Object.prototype.hasOwnProperty.call(map, key))
                this.result[key] = map[key];
        return this;
    }
    getByKey(key) {
        return this.result[key];
    }
    get() {
        return this.result;
    }
}


/***/ }),

/***/ 6794:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   p: function() { return /* binding */ RichNumberConverter; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49);

class RichNumberConverter {
    static numberToBinary(num) {
        return (num >>> 0).toString(2);
    }
    static numberToHex(num) {
        return (num >>> 0).toString(16);
    }
    static convertToBinary(num) {
        return _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__.StringUtils.padLeft(RichNumberConverter.numberToBinary(num), 2, '0');
    }
    static convertToHexBinary(num) {
        return _devexpress_utils_lib_utils_string__WEBPACK_IMPORTED_MODULE_0__.StringUtils.padLeft(RichNumberConverter.numberToHex(num), 8, '0');
    }
}


/***/ }),

/***/ 4585:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   F: function() { return /* binding */ SizeUtils; }
/* harmony export */ });
/* unused harmony export DimensionInfo */
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2491);

class SizeUtils {
    static getScrollbarsWidth() {
        if (!(0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_0__.isDefined)(this._scrollbarsWidth)) {
            const scrollDiv = document.createElement('div');
            scrollDiv.style.visibility = 'hidden';
            scrollDiv.style.overflow = 'scroll';
            scrollDiv.style.position = 'absolute';
            scrollDiv.style.top = '-9999px';
            scrollDiv.style.width = '100px';
            scrollDiv.style.height = '100px';
            document.body.appendChild(scrollDiv);
            const innerDiv = document.createElement('div');
            innerDiv.style.width = '100%';
            innerDiv.style.height = '100%';
            scrollDiv.appendChild(innerDiv);
            this._scrollbarsWidth = {
                horizontal: SizeUtils.getOffsetHeight(scrollDiv) - SizeUtils.getOffsetHeight(innerDiv),
                vertical: SizeUtils.getOffsetWidth(scrollDiv) - SizeUtils.getOffsetWidth(innerDiv)
            };
            scrollDiv.remove();
        }
        return this._scrollbarsWidth;
    }
    static getWidthInfo(element) {
        const computedStyle = getComputedStyle(element);
        const offsetWidth = this.getOffsetWidth(element);
        const offsetWidthWithoutBorder = offsetWidth
            - parseCssValue(computedStyle.borderLeftWidth)
            - parseCssValue(computedStyle.borderRightWidth);
        let scrollbarWidth = 0;
        if (Math.round(offsetWidthWithoutBorder) > element.clientWidth)
            scrollbarWidth = SizeUtils.getScrollbarsWidth().vertical;
        const clientWidth = offsetWidthWithoutBorder - scrollbarWidth;
        return new DimensionInfo(offsetWidth, clientWidth, scrollbarWidth);
    }
    static getClientWidth(element) {
        return this.getWidthInfo(element).clientSize;
    }
    static getHeightInfo(element) {
        const computedStyle = getComputedStyle(element);
        const offsetHeight = this.getOffsetHeight(element);
        const offsetHeightWithoutBorder = offsetHeight
            - parseCssValue(computedStyle.borderTopWidth)
            - parseCssValue(computedStyle.borderBottomWidth);
        let scrollbarWidth = 0;
        if (Math.round(offsetHeightWithoutBorder) > element.clientHeight)
            scrollbarWidth = SizeUtils.getScrollbarsWidth().horizontal;
        const clientHeight = offsetHeightWithoutBorder - scrollbarWidth;
        return new DimensionInfo(offsetHeight, clientHeight, scrollbarWidth);
    }
    static getClientHeight(element) {
        return this.getHeightInfo(element).clientSize;
    }
    static getOffsetSize(element) {
        return element.getBoundingClientRect();
    }
    static getOffsetWidth(element) {
        return SizeUtils.getOffsetSize(element).width;
    }
    static getOffsetHeight(element) {
        return SizeUtils.getOffsetSize(element).height;
    }
}
function parseCssValue(value) {
    return value ? parseFloat(value) : 0;
}
class DimensionInfo {
    constructor(offsetSize, clientSize, scrollbarSize) {
        this.offsetSize = offsetSize;
        this.clientSize = clientSize;
        this.scrollbarSize = scrollbarSize;
    }
}


/***/ }),

/***/ 5438:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   UH: function() { return /* binding */ RichEditUnit; },
/* harmony export */   jW: function() { return /* binding */ createUnitConverter; }
/* harmony export */ });
/* unused harmony exports UIUnitConverterCentimeter, UIUnitConverterInch */
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7774);


var RichEditUnit;
(function (RichEditUnit) {
    RichEditUnit[RichEditUnit["Centimeter"] = 0] = "Centimeter";
    RichEditUnit[RichEditUnit["Inch"] = 1] = "Inch";
})(RichEditUnit || (RichEditUnit = {}));
function createUnitConverter(unit) {
    switch (unit) {
        case RichEditUnit.Centimeter: return new UIUnitConverterCentimeter();
        case RichEditUnit.Inch: return new UIUnitConverterInch();
        default: throw new Error(_devexpress_utils_lib_errors__WEBPACK_IMPORTED_MODULE_1__/* .Errors */ .D.InternalException);
    }
}
class UIUnitConverterCentimeter extends _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u {
    getUnits() {
        return RichEditUnit.Centimeter;
    }
    twipsToUI(value) {
        return _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToCentimeters(value);
    }
    UIToTwips(value) {
        return _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.centimetersToTwips(value);
    }
}
class UIUnitConverterInch extends _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u {
    getUnits() {
        return RichEditUnit.Inch;
    }
    twipsToUI(value) {
        return _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.twipsToInches(value);
    }
    UIToTwips(value) {
        return _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u.inchesToTwips(value);
    }
}


/***/ }),

/***/ 5929:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   EW: function() { return /* binding */ createUrlValidationOptions; },
/* harmony export */   Ev: function() { return /* binding */ splitByLines; },
/* harmony export */   jE: function() { return /* binding */ UrlUtils; },
/* harmony export */   tm: function() { return /* binding */ convertToFunction; },
/* harmony export */   xj: function() { return /* binding */ rotatePoint; }
/* harmony export */ });
/* unused harmony exports SearchTreeItemResult, searchTreeItem */
/* harmony import */ var _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8900);
/* harmony import */ var _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2940);


function rotatePoint(point, angle, center) {
    const x = center.x + (point.x - center.x) * Math.cos(angle) - (point.y - center.y) * Math.sin(angle);
    const y = center.y + (point.y - center.y) * Math.cos(angle) + (point.x - center.x) * Math.sin(angle);
    return new _devexpress_utils_lib_geometry_point__WEBPACK_IMPORTED_MODULE_0__.Point(x, y);
}
class SearchTreeItemResult {
    constructor(parentList, itemIndex, item) {
        this.parentList = parentList;
        this.itemIndex = itemIndex;
        this.item = item;
    }
}
function searchTreeItem(items, comparer) {
    return _devexpress_utils_lib_utils_list__WEBPACK_IMPORTED_MODULE_1__.ListUtils.unsafeAnyOf(items, (item, index) => {
        if (comparer(item))
            return new SearchTreeItemResult(items, index, item);
        if (item.items) {
            const res = searchTreeItem(item.items, comparer);
            if (res)
                return res;
        }
        return null;
    });
}
function convertToFunction(func) {
    const type = typeof (func);
    if (type == "function")
        return func;
    if (type == "string") {
        let funcName = func.trim();
        if (/^\b\w+?\b$/.test(funcName) && /^[^0-9]/.test(funcName)) {
            try {
                const handler = eval(funcName);
                if (typeof (handler) == "function")
                    return handler;
            }
            catch (e) { }
        }
        let text = funcName;
        if (text.indexOf("function") != 0)
            text = `function(s, e){${text}}`;
        let result = null;
        try {
            result = eval(`(${text})`);
        }
        catch (_e) {
            console.error(`Parse error: ${func}`);
            return null;
        }
        return result;
    }
    return null;
}
function splitByLines(text) {
    return text ? text.split(/\r\n|\r|\n/) : [''];
}
function createUrlValidationOptions(modelManager) {
    const fieldSettings = modelManager.richOptions.fields;
    return {
        allowedSchemes: fieldSettings.allowedHyperlinkUriSchemes
    };
}
const defaultAllowedProtocols = [
    'http',
    'https',
    'mailto',
    'tel'
];
const disallowedProtocols = [
    'javascript',
    'data'
];
class UrlUtils {
    static isValid(url, options) {
        var _a;
        const resultUrl = this.convertToAbsolute(url);
        if (!resultUrl)
            return false;
        const protocol = resultUrl.protocol.slice(0, -1);
        if (disallowedProtocols.includes(protocol))
            return false;
        const allowedProtocols = (_a = options === null || options === void 0 ? void 0 : options.allowedSchemes) !== null && _a !== void 0 ? _a : defaultAllowedProtocols;
        return allowedProtocols.includes(protocol);
    }
    static isRelative(url) {
        try {
            new URL(url);
            return false;
        }
        catch (_a) {
            return true;
        }
    }
    static convertToAbsolute(url) {
        const currentLocation = window.location.href;
        try {
            return new URL(url, currentLocation);
        }
        catch (_a) {
            return null;
        }
    }
    static splitUrlByAnchor(url) {
        const hashTagPosition = url.indexOf("#");
        if (hashTagPosition < 0)
            return [url, ""];
        return [url.substring(0, hashTagPosition), url.substring(hashTagPosition + 1)];
    }
}
UrlUtils.EmptyPage = "about:blank";


/***/ }),

/***/ 9312:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   Wb: function() { return /* binding */ IsValidElement; },
/* harmony export */   bE: function() { return /* binding */ SetStyles; },
/* harmony export */   qn: function() { return /* binding */ IsPercentageSize; }
/* harmony export */ });
/* unused harmony export IsExistsElement */
/* harmony import */ var _devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9279);
/* harmony import */ var _devexpress_utils_lib_utils_attr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2217);
/* harmony import */ var _devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2491);



function SetStyles(element, styles, makeImportant) {
    if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__.isDefined)(styles.cssText))
        element.style.cssText = styles.cssText;
    if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__.isDefined)(styles.className))
        element.className = styles.className;
    for (var property in styles) {
        if (!Object.prototype.hasOwnProperty.call(styles, property))
            continue;
        var value = styles[property];
        switch (property) {
            case "cssText":
            case "className":
                break;
            case "float":
                SetElementFloat(element, value);
                break;
            case "opacity":
                element.style.opacity = value.toString();
                break;
            case "zIndex":
                SetStylesCore(element, property, value, makeImportant);
                break;
            default:
                SetStylesCore(element, property, value + (typeof (value) == "number" ? "px" : ""), makeImportant);
        }
    }
}
;
function SetElementFloat(element, value) {
    if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__.isDefined)(element.style.cssFloat))
        element.style.cssFloat = value;
    else if ((0,_devexpress_utils_lib_utils_common__WEBPACK_IMPORTED_MODULE_2__.isDefined)(element.style.styleFloat))
        element.style.styleFloat = value;
    else
        _devexpress_utils_lib_utils_attr__WEBPACK_IMPORTED_MODULE_1__/* .AttrUtils */ .F.setElementAttribute(element, "float", value);
}
;
function SetStylesCore(element, property, value, makeImportant) {
    if (makeImportant) {
        const index = property.search("[A-Z]");
        if (index != -1)
            property = property.replace(property.charAt(index), "-" + property.charAt(index).toLowerCase());
        element.style.setProperty(property, value, "important");
    }
    else
        element.style[property] = value;
}
function IsExistsElement(element) {
    return element && IsValidElement(element);
}
function IsValidElement(element) {
    if (!element)
        return false;
    if (!(_devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__.Browser.Firefox && _devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__.Browser.Version < 4)) {
        if (element.ownerDocument && element.ownerDocument.body && element.ownerDocument.body.compareDocumentPosition)
            return element.ownerDocument.body.compareDocumentPosition(element) % 2 === 0;
    }
    if (!_devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__.Browser.Opera && !(_devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__.Browser.IE && _devexpress_utils_lib_browser__WEBPACK_IMPORTED_MODULE_0__.Browser.Version < 9) && element.offsetParent && element.parentNode.tagName)
        return true;
    while (element != null) {
        if (element.tagName == "BODY")
            return true;
        element = element.parentNode;
    }
    return false;
}
function IsPercentageSize(size) {
    return size && size.indexOf('%') != -1;
}


/***/ }),

/***/ 1626:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   GM: function() { return /* binding */ RenderPageVertivalInfo; },
/* harmony export */   bW: function() { return /* binding */ ViewType; },
/* harmony export */   hr: function() { return /* binding */ ViewSettings; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3604);
/* harmony import */ var _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6907);


var ViewType;
(function (ViewType) {
    ViewType[ViewType["Simple"] = 0] = "Simple";
    ViewType[ViewType["PrintLayout"] = 1] = "PrintLayout";
})(ViewType || (ViewType = {}));
const DEFAULT_BORDERS_WIDTH = 1;
const DEFAULT_PAGE_MARGINS = 15;
class RenderPageVertivalInfo {
    constructor() {
        this.topPageBorderWidth = DEFAULT_BORDERS_WIDTH;
        this.bottomPageBorderWidth = DEFAULT_BORDERS_WIDTH;
        this.topMargin = DEFAULT_PAGE_MARGINS;
        this.bottomMargin = DEFAULT_PAGE_MARGINS;
    }
    get betweenPageSpacing() { return this.topPageBorderWidth + this.bottomPageBorderWidth + Math.max(this.topMargin, this.bottomMargin); }
    init(pageElementStyle) {
        this.topPageBorderWidth = _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__.DomUtils.pxToFloat(pageElementStyle.borderTopWidth);
        this.bottomPageBorderWidth = _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__.DomUtils.pxToFloat(pageElementStyle.borderBottomWidth);
        this.topMargin = _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__.DomUtils.pxToFloat(pageElementStyle.marginTop);
        this.bottomMargin = _devexpress_utils_lib_utils_dom__WEBPACK_IMPORTED_MODULE_1__.DomUtils.pxToFloat(pageElementStyle.marginBottom);
    }
    clone() {
        const obj = new RenderPageVertivalInfo();
        obj.copyFrom(this);
        return obj;
    }
    copyFrom(obj) {
        if (!obj)
            return;
        this.topPageBorderWidth = obj.topPageBorderWidth;
        this.bottomPageBorderWidth = obj.bottomPageBorderWidth;
        this.topMargin = obj.topMargin;
        this.bottomMargin = obj.bottomMargin;
    }
    equals(obj) {
        return this.topMargin == obj.topMargin &&
            this.bottomMargin == obj.bottomMargin &&
            this.topPageBorderWidth == obj.topPageBorderWidth &&
            this.bottomPageBorderWidth == obj.bottomPageBorderWidth;
    }
}
class ViewSettings {
    get isFixedWidthMode() { return this.fixedWidth !== undefined && this.fixedWidth !== null; }
    set widthOfPage(val) { this._widthOfPage = val; }
    get widthOfPage() {
        return Math.max(50, this.isFixedWidthMode ? this.fixedWidth : this._widthOfPage);
    }
    get widthOfContent() {
        return Math.max(50, this.widthOfPage - this.paddings.horizontal);
    }
    get isSimpleView() { return this.viewType == ViewType.Simple; }
    get isPrintLayoutView() { return this.viewType == ViewType.PrintLayout; }
    constructor() {
        this.viewType = ViewType.PrintLayout;
        this.paddings = new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_0__/* .Margins */ .m(15, 15, 15, 15);
        this.pageVerticalInfo = new RenderPageVertivalInfo();
        this.showHorizontalRuler = true;
    }
    copyFrom(obj) {
        this.paddings = new _devexpress_utils_lib_geometry_margins__WEBPACK_IMPORTED_MODULE_0__/* .Margins */ .m(obj.paddings.left, obj.paddings.right, obj.paddings.top, obj.paddings.bottom);
        this.viewType = obj.viewType;
        this._widthOfPage = obj._widthOfPage;
        this.fixedWidth = obj.fixedWidth;
        this.showHorizontalRuler = obj.showHorizontalRuler;
        this.pageVerticalInfo.copyFrom(obj.pageVerticalInfo);
    }
}


/***/ }),

/***/ 726:
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {


// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  aV: function() { return /* binding */ LayoutWordBounds; },
  OW: function() { return /* binding */ WordGroupMask; }
});

// UNUSED EXPORTS: LayoutEndWordBound, LayoutStartWordBound

// EXTERNAL MODULE: ./node_modules/@devexpress/utils/lib/class/flag.js
var flag = __webpack_require__(7820);
;// CONCATENATED MODULE: ./src/common/word-bounds-engine/layout-word-bounds-group-separator.ts


class LayoutWordBoundsGroupSeparator {
    constructor() {
        this.isAnyGroupSet = false;
    }
    applyMask(mask) {
        if (!this.isAnyGroupSet) {
            this.isAnyGroupSet = true;
            this.whileNoOneGroupSet(mask);
            return false;
        }
        if (mask == this.ignoredGroupMask)
            return false;
        this.ignoredGroupMask = WordGroupMask.NoOne;
        if (this.mask.get(WordGroupMask.DiffersFromAll))
            return true;
        this.mask.set(mask, true);
        if (this.prevMask && this.prevMask.getValue() != this.mask.getValue())
            return true;
        this.prevMask = this.mask.clone();
        return false;
    }
}
class LayoutWordBoundsNextGroupSeparator extends LayoutWordBoundsGroupSeparator {
    constructor(isJoinSpacesOnEndWord) {
        super();
        this.initGroup = isJoinSpacesOnEndWord ? WordGroupMask.Space : WordGroupMask.NoOne;
    }
    whileNoOneGroupSet(mask) {
        if (mask == WordGroupMask.DiffersFromAll) {
            this.mask = new flag.Flag(mask);
            return;
        }
        this.ignoredGroupMask = mask;
        this.prevMask = new flag.Flag(this.initGroup);
        this.mask = new flag.Flag(this.initGroup);
    }
}
class LayoutWordBoundsPrevGroupSeparator extends LayoutWordBoundsGroupSeparator {
    whileNoOneGroupSet(mask) {
        if (mask == WordGroupMask.Space) {
            this.ignoredGroupMask = WordGroupMask.Space;
            this.mask = new flag.Flag(WordGroupMask.NoOne);
            this.prevMask = null;
        }
        else {
            this.mask = new flag.Flag(mask);
            this.prevMask = this.mask.clone();
        }
    }
}

// EXTERNAL MODULE: ./src/common/layout-engine/layout-position-creator.ts
var layout_position_creator = __webpack_require__(6536);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-main-sub-document.ts + 3 modules
var layout_box_iterator_main_sub_document = __webpack_require__(1437);
// EXTERNAL MODULE: ./src/common/layout-engine/layout-box-iterator/layout-box-iterator-other-sub-document.ts
var layout_box_iterator_other_sub_document = __webpack_require__(2507);
// EXTERNAL MODULE: ./src/common/layout/document-layout-details-level.ts
var document_layout_details_level = __webpack_require__(9484);
// EXTERNAL MODULE: ./src/common/layout/main-structures/layout-boxes/layout-box.ts
var layout_box = __webpack_require__(8274);
// EXTERNAL MODULE: ./src/common/model/rich-utils.ts + 1 modules
var rich_utils = __webpack_require__(8845);
;// CONCATENATED MODULE: ./src/common/word-bounds-engine/word-bounds-iterators/layout/layout-word-bounds-iterator.ts






class LayoutWordBoundsIterator {
    constructor(layout, subDocument, selection, startPosition, endPosition) {
        this.isInitOk = true;
        this.isFirstCallNextSymbol = true;
        if (layout.validPageCount < 1) {
            this.startResultPosition = -1;
            this.isInitOk = false;
            return;
        }
        this.boxIterator = subDocument.isMain() ?
            new layout_box_iterator_main_sub_document/* LayoutBoxIteratorMainSubDocument */.I(subDocument, layout, startPosition, endPosition) :
            new layout_box_iterator_other_sub_document/* LayoutBoxIteratorOtherSubDocument */.F(subDocument, layout, startPosition, endPosition, selection.pageIndex);
    }
    isSet() {
        if (!this.isInitOk)
            return false;
        if (this.boxIterator.isInitialized())
            return true;
        this.startResultPosition = -1;
        return false;
    }
    currSymbolStartPosition() {
        return this.boxIterator.position.getLogPosition(document_layout_details_level/* DocumentLayoutDetailsLevel */.l.Box) + this.charOffset;
    }
    getNextSymbolGroup() {
        if (!this.getNextSymbol())
            return false;
        this.groupMask = this.getGroupMask();
        return true;
    }
    getNextSymbol() {
        if (this.isFirstCallNextSymbol) {
            this.isFirstCallNextSymbol = false;
            if (!this.moveIterator())
                return false;
            this.charOffset = this.boxIterator.position.charOffset;
            if (this.needExcessMoveBoxIterator())
                this.moveIterator();
            return true;
        }
        if (this.nextCallsSetCharOffset())
            return true;
        if (!this.moveIterator())
            return false;
        this.setCharacterOffsetOnNextCalls();
        return true;
    }
    getGroupMask() {
        switch (this.boxIterator.position.box.getType()) {
            case layout_box/* LayoutBoxType */.KH.Text:
                return this.getTextGroupMask();
            case layout_box/* LayoutBoxType */.KH.Space:
                return WordGroupMask.Space;
            case layout_box/* LayoutBoxType */.KH.Dash:
                return WordGroupMask.PunctuationMark;
            case layout_box/* LayoutBoxType */.KH.Picture:
            case layout_box/* LayoutBoxType */.KH.ParagraphMark:
            case layout_box/* LayoutBoxType */.KH.PageBreak:
            case layout_box/* LayoutBoxType */.KH.ColumnBreak:
            case layout_box/* LayoutBoxType */.KH.SectionMark:
            case layout_box/* LayoutBoxType */.KH.TabSpace:
            case layout_box/* LayoutBoxType */.KH.LineBreak:
            case layout_box/* LayoutBoxType */.KH.NumberingList:
            case layout_box/* LayoutBoxType */.KH.FieldCodeStart:
            case layout_box/* LayoutBoxType */.KH.FieldCodeEnd:
            case layout_box/* LayoutBoxType */.KH.LayoutDependent:
            case layout_box/* LayoutBoxType */.KH.AnchorPicture:
            case layout_box/* LayoutBoxType */.KH.AnchorTextBox:
            default:
                return WordGroupMask.DiffersFromAll;
        }
    }
    getTextGroupMask() {
        switch (this.boxIterator.position.box.renderGetContent(null)[this.charOffset]) {
            case rich_utils/* RichUtils */.i.specialCharacters.QmSpace:
            case rich_utils/* RichUtils */.i.specialCharacters.EmSpace:
            case rich_utils/* RichUtils */.i.specialCharacters.EnSpace:
            case rich_utils/* RichUtils */.i.specialCharacters.NonBreakingSpace:
                return WordGroupMask.Space;
            case rich_utils/* RichUtils */.i.specialCharacters.LeftSingleQuote:
                return WordGroupMask.LeftSingleQuote;
            case rich_utils/* RichUtils */.i.specialCharacters.LeftDoubleQuote:
                return WordGroupMask.LeftDoubleQuote;
            case rich_utils/* RichUtils */.i.specialCharacters.RightDoubleQuote:
                return WordGroupMask.RightDoubleQuote;
            case '"':
                return WordGroupMask.DoubleQuote;
            case "(":
            case ")":
            case "«":
            case "»":
            case "<":
            case ">":
            case "/":
            case "№":
            case "%":
            case "!":
            case ":":
            case "?":
            case ";":
            case "|":
            case "+":
            case ",":
            case ".":
            case "*":
            case "=":
            case "\\":
                return WordGroupMask.PunctuationMark;
            default:
                return WordGroupMask.Others;
        }
    }
}

;// CONCATENATED MODULE: ./src/common/word-bounds-engine/word-bounds-iterators/layout/layout-word-end-bounds-iterator.ts


class LayoutWordEndBoundsIterator extends LayoutWordBoundsIterator {
    constructor(layout, subDocument, selection, startPosition) {
        const endPosition = subDocument.isMain() ?
            layout.getLastValidPage().getEndPosition() :
            layout.pages[selection.pageIndex].otherPageAreas[subDocument.id].getEndPosition();
        super(layout, subDocument, selection, startPosition, endPosition);
        if (startPosition >= endPosition) {
            this.isInitOk = false;
            this.startResultPosition = endPosition;
        }
    }
    moveIterator() {
        return this.boxIterator.moveNext(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
    }
    nextCallsSetCharOffset() {
        this.charOffset++;
        return this.charOffset < this.boxIterator.position.box.getLength();
    }
    setCharacterOffsetOnNextCalls() {
        this.charOffset = this.boxIterator.position.charOffset;
    }
    needExcessMoveBoxIterator() {
        return false;
    }
}

;// CONCATENATED MODULE: ./src/common/word-bounds-engine/word-bounds-iterators/layout/layout-word-start-bounds-iterator.ts


class LayoutWordStartBoundsIterator extends LayoutWordBoundsIterator {
    constructor(layout, subDocument, selection, startPosition) {
        const firstPagePosition = layout.pages[0].getPosition();
        super(layout, subDocument, selection, firstPagePosition, startPosition);
        if (startPosition <= firstPagePosition) {
            this.startResultPosition = 0;
            this.isInitOk = false;
            return;
        }
        const endPosLastValigPage = subDocument.isMain() ?
            layout.getLastValidPage().getEndPosition() :
            layout.pages[selection.pageIndex].otherPageAreas[subDocument.id].getEndPosition();
        if (startPosition >= endPosLastValigPage) {
            this.startResultPosition = endPosLastValigPage;
            this.isInitOk = false;
        }
    }
    moveIterator() {
        return this.boxIterator.movePrev(new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false), new layout_position_creator/* LayoutPositionCreatorConflictFlags */.AU().setDefault(false));
    }
    nextCallsSetCharOffset() {
        this.charOffset--;
        return this.charOffset >= 0;
    }
    setCharacterOffsetOnNextCalls() {
        this.charOffset = this.boxIterator.position.box.getLength() - 1;
    }
    needExcessMoveBoxIterator() {
        return this.boxIterator.position.charOffset != 0;
    }
}

;// CONCATENATED MODULE: ./src/common/word-bounds-engine/layout-word-bounds.ts



var WordGroupMask;
(function (WordGroupMask) {
    WordGroupMask[WordGroupMask["NoOne"] = 0] = "NoOne";
    WordGroupMask[WordGroupMask["Space"] = 1] = "Space";
    WordGroupMask[WordGroupMask["LeftSingleQuote"] = 2] = "LeftSingleQuote";
    WordGroupMask[WordGroupMask["RightSingleQuote"] = 4] = "RightSingleQuote";
    WordGroupMask[WordGroupMask["LeftDoubleQuote"] = 8] = "LeftDoubleQuote";
    WordGroupMask[WordGroupMask["RightDoubleQuote"] = 16] = "RightDoubleQuote";
    WordGroupMask[WordGroupMask["DoubleQuote"] = 32] = "DoubleQuote";
    WordGroupMask[WordGroupMask["PunctuationMark"] = 64] = "PunctuationMark";
    WordGroupMask[WordGroupMask["DiffersFromAll"] = 128] = "DiffersFromAll";
    WordGroupMask[WordGroupMask["Others"] = 256] = "Others";
})(WordGroupMask || (WordGroupMask = {}));
class LayoutWordBounds {
    constructor(groupSeparator) {
        this.prevSymbolStartPos = -1;
        this.groupSeparator = groupSeparator;
    }
    static getLayoutWordStartBound(layout, subDocument, selection, startPosition) {
        return new LayoutStartWordBound().getBound(new LayoutWordStartBoundsIterator(layout, subDocument, selection, startPosition));
    }
    static getLayoutWordEndBound(layout, subDocument, selection, startPosition, isJoinSpacesOnEndWord) {
        return new LayoutEndWordBound(isJoinSpacesOnEndWord).getBound(new LayoutWordEndBoundsIterator(layout, subDocument, selection, startPosition));
    }
    getBound(iterator) {
        this.iterator = iterator;
        if (!this.iterator.isSet())
            return this.iterator.startResultPosition;
        while (this.iterator.getNextSymbolGroup()) {
            if (this.groupSeparator.applyMask(this.iterator.groupMask))
                return this.getFinalPosition(true);
            this.prevSymbolStartPos = this.iterator.currSymbolStartPosition();
        }
        return this.getFinalPosition(false);
    }
}
class LayoutEndWordBound extends LayoutWordBounds {
    constructor(isJoinSpacesOnEndWord) {
        super(new LayoutWordBoundsNextGroupSeparator(isJoinSpacesOnEndWord));
    }
    getFinalPosition(byGroupDiffers) {
        return this.prevSymbolStartPos + (byGroupDiffers ? 1 : 0);
    }
}
class LayoutStartWordBound extends LayoutWordBounds {
    constructor() {
        super(new LayoutWordBoundsPrevGroupSeparator());
    }
    getFinalPosition(_byGroupDiffers) {
        return this.iterator.currSymbolStartPosition() + 1;
    }
}


/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
!function() {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   ASPx: function() { return /* binding */ ASPx; },
/* harmony export */   ASPxClientRichEdit: function() { return /* reexport safe */ _rich_edit_owner_aspx_client_rich_edit__WEBPACK_IMPORTED_MODULE_62__.v; },
/* harmony export */   ASPxClientRichEditCustomCommandExecutedEventArgs: function() { return /* reexport safe */ _rich_edit_owner_aspx_client_rich_edit_custom_command_executed_event_args__WEBPACK_IMPORTED_MODULE_63__.i; },
/* harmony export */   ASPxClientRichEditHyperlinkClickEventArgs: function() { return /* reexport safe */ _rich_edit_owner_aspx_client_rich_edit_hyperlink_click_event_args__WEBPACK_IMPORTED_MODULE_64__.Q; },
/* harmony export */   ASPxClientRichEditPopupMenuItem: function() { return /* reexport safe */ _rich_edit_owner_aspx_client_rich_edit_popup_menu_item__WEBPACK_IMPORTED_MODULE_66__.M; },
/* harmony export */   ASPxClientRichEditPopupMenuItemCollection: function() { return /* reexport safe */ _rich_edit_owner_aspx_client_rich_edit_popup_menu_item_collection__WEBPACK_IMPORTED_MODULE_67__.Q; },
/* harmony export */   ASPxClientRichEditPopupMenuShowingEventArgs: function() { return /* reexport safe */ _rich_edit_owner_aspx_client_rich_edit_popup_menu_showing_event_args__WEBPACK_IMPORTED_MODULE_65__.r; },
/* harmony export */   __aspxRichEdit: function() { return /* binding */ __aspxRichEdit; },
/* harmony export */   aspxTestExistingImageOnError: function() { return /* reexport safe */ _ui_dialogs_utils_image_utils__WEBPACK_IMPORTED_MODULE_68__.w; },
/* harmony export */   aspxTestExistingImageOnLoad: function() { return /* reexport safe */ _ui_dialogs_utils_image_utils__WEBPACK_IMPORTED_MODULE_68__.Z; },
/* harmony export */   dx: function() { return /* binding */ dx; }
/* harmony export */ });
/* harmony import */ var _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9291);
/* harmony import */ var _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6353);
/* harmony import */ var _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8860);
/* harmony import */ var _devexpress_utils_lib_utils_map_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2866);
/* harmony import */ var _common_commands_client_command__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4803);
/* harmony import */ var _common_commands_dialogs_dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5715);
/* harmony import */ var _common_commands_text_clipboard_commands__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(6983);
/* harmony import */ var _common_canvas_renderer_class_names__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5031);
/* harmony import */ var _common_layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9484);
/* harmony import */ var _common_layout_main_structures_layout_boxes_layout_tab_space_box__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(374);
/* harmony import */ var _common_layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(484);
/* harmony import */ var _common_model_borders_enums__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(4265);
/* harmony import */ var _common_model_character_enums__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(8579);
/* harmony import */ var _common_model_enums__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(4907);
/* harmony import */ var _common_model_fields_field_request_manager__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(9526);
/* harmony import */ var _common_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(8927);
/* harmony import */ var _common_model_json_command_type__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(9397);
/* harmony import */ var _common_model_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(1763);
/* harmony import */ var _common_model_json_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(8241);
/* harmony import */ var _common_model_json_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(1573);
/* harmony import */ var _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(5060);
/* harmony import */ var _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(1);
/* harmony import */ var _common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(7087);
/* harmony import */ var _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(3006);
/* harmony import */ var _common_model_json_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(7936);
/* harmony import */ var _common_model_json_enums_json_run_enums__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(2473);
/* harmony import */ var _common_model_json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(1466);
/* harmony import */ var _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(3957);
/* harmony import */ var _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(2202);
/* harmony import */ var _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(6338);
/* harmony import */ var _common_model_json_enums_table_json_table_cell_enums__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(8356);
/* harmony import */ var _common_model_json_enums_table_json_table_enums__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(3128);
/* harmony import */ var _common_model_json_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(400);
/* harmony import */ var _common_model_json_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(2899);
/* harmony import */ var _common_model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(4830);
/* harmony import */ var _common_model_options_control__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(9147);
/* harmony import */ var _common_model_paragraph_paragraph__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(9754);
/* harmony import */ var _common_model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(1423);
/* harmony import */ var _common_model_runs_run_type__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(3549);
/* harmony import */ var _common_model_section_enums__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(8311);
/* harmony import */ var _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(396);
/* harmony import */ var _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(247);
/* harmony import */ var _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(4857);
/* harmony import */ var _common_rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(5580);
/* harmony import */ var _common_rich_utils_debug_logger_base_logger_log_source__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(2343);
/* harmony import */ var _api_commands_field_commands__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(6170);
/* harmony import */ var _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(864);
/* harmony import */ var _api_commands_hyperlink_commands__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(5428);
/* harmony import */ var _api_commands_numbering_commands__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(1511);
/* harmony import */ var _api_commands_object_commands__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(6103);
/* harmony import */ var _api_commands_page_properties_commands__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(7718);
/* harmony import */ var _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(889);
/* harmony import */ var _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(2248);
/* harmony import */ var _api_commands_text_formatting_commands__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(8331);
/* harmony import */ var _api_commands_ui_commands__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(6867);
/* harmony import */ var _api_document__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(1835);
/* harmony import */ var _api_document_formats__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(752);
/* harmony import */ var _api_layout__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(8839);
/* harmony import */ var _api_selection__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(2751);
/* harmony import */ var _api_spelling__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(4016);
/* harmony import */ var _api_sub_document__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(8983);
/* harmony import */ var _bars_context_menu__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(5364);
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(4233);
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit_custom_command_executed_event_args__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(8006);
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit_hyperlink_click_event_args__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(1377);
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit_popup_menu_showing_event_args__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(2057);
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit_popup_menu_item__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(3697);
/* harmony import */ var _rich_edit_owner_aspx_client_rich_edit_popup_menu_item_collection__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(3414);
/* harmony import */ var _ui_dialogs_utils_image_utils__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(6722);





































































const __aspxRichEdit = {
    StylesManager: _common_model_styles_manager__WEBPACK_IMPORTED_MODULE_40__/* .StylesManager */ .D,
    Log: _common_rich_utils_debug_logger_base_logger_log__WEBPACK_IMPORTED_MODULE_43__/* .Log */ .Z,
    LogSource: _common_rich_utils_debug_logger_base_logger_log_source__WEBPACK_IMPORTED_MODULE_44__/* .LogSource */ .O,
    PasteSelectionCommand: _common_commands_text_clipboard_commands__WEBPACK_IMPORTED_MODULE_6__/* .PasteSelectionCommand */ .SZ,
    ClipboardCommand: _common_commands_text_clipboard_commands__WEBPACK_IMPORTED_MODULE_6__/* .ClipboardCommand */ .gw,
    FontTypeHint: _common_model_character_enums__WEBPACK_IMPORTED_MODULE_12__/* .FontTypeHint */ .Se,
    ThemeFontType: _common_model_character_enums__WEBPACK_IMPORTED_MODULE_12__/* .ThemeFontType */ .iQ,
    TableWidthUnitType: _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_42__/* .TableWidthUnitType */ .HO,
    TableHeightUnitType: _common_model_tables_secondary_structures_table_units__WEBPACK_IMPORTED_MODULE_42__/* .TableHeightUnitType */ .X,
    CommandType: _common_model_json_command_type__WEBPACK_IMPORTED_MODULE_16__/* .CommandType */ .w,
    RunType: _common_model_runs_run_type__WEBPACK_IMPORTED_MODULE_38__/* .RunType */ .m,
    ConditionalTableStyleFormatting: _common_model_tables_secondary_structures_table_base_structures__WEBPACK_IMPORTED_MODULE_41__/* .ConditionalTableStyleFormatting */ .pB,
    SubDocumentInfoType: _common_model_enums__WEBPACK_IMPORTED_MODULE_13__/* .SubDocumentInfoType */ .F,
    DocumentCapability: _common_model_options_control__WEBPACK_IMPORTED_MODULE_35__/* .DocumentCapability */ .e7,
    ListNumberAlignment: _common_model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_34__/* .ListNumberAlignment */ .PX,
    NumberingFormat: _common_model_numbering_lists_list_level_properties__WEBPACK_IMPORTED_MODULE_34__/* .NumberingFormat */ .uV,
    RichEditClientCommand: _common_commands_client_command__WEBPACK_IMPORTED_MODULE_4__/* .RichEditClientCommand */ .f,
    IsModified: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .IsModified */ .sO,
    ServerUpdateFieldType: _common_model_fields_field_request_manager__WEBPACK_IMPORTED_MODULE_14__/* .ServerUpdateFieldType */ .A,
    SectionPropertiesApplyType: _common_commands_dialogs_dialog_page_setup_command__WEBPACK_IMPORTED_MODULE_5__/* .SectionPropertiesApplyType */ .TC,
    TabLeaderType: _common_layout_main_structures_layout_boxes_layout_tab_space_box__WEBPACK_IMPORTED_MODULE_9__/* .TabLeaderType */ .LT,
    TabAlign: _common_model_paragraph_paragraph__WEBPACK_IMPORTED_MODULE_36__/* .TabAlign */ .K9,
    SectionStartType: _common_model_section_enums__WEBPACK_IMPORTED_MODULE_39__/* .SectionStartType */ .tk,
    CharacterFormattingScript: _common_model_character_enums__WEBPACK_IMPORTED_MODULE_12__/* .CharacterFormattingScript */ .Vg,
    BorderLineStyle: _common_model_borders_enums__WEBPACK_IMPORTED_MODULE_11__/* .BorderLineStyle */ .u,
    UnderlineType: _common_model_character_enums__WEBPACK_IMPORTED_MODULE_12__/* .UnderlineType */ .Xq,
    StrikeoutType: _common_model_character_enums__WEBPACK_IMPORTED_MODULE_12__/* .StrikeoutType */ .GO,
    ParagraphFirstLineIndent: _common_model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_37__/* .ParagraphFirstLineIndent */ .Qi,
    ParagraphLineSpacingType: _common_model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_37__/* .ParagraphLineSpacingType */ .yX,
    ParagraphAlignment: _common_model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_37__/* .ParagraphAlignment */ .wq,
    ParagraphPropertiesMask: _common_model_paragraph_paragraph_properties__WEBPACK_IMPORTED_MODULE_37__/* .ParagraphPropertiesMask */ .m_,
    CharacterPropertiesMask: _common_model_character_enums__WEBPACK_IMPORTED_MODULE_12__/* .CharacterPropertiesMask */ .xe,
    JSONInsertRtfCommand: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONInsertRtfCommand */ .Xp,
    JSONGetRtfCommand: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONGetRtfCommand */ .Sp,
    JSONCachesDataProperty: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONCachesDataProperty */ .Ku,
    JSONResponceLevelProperty: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONResponceLevelProperty */ .rM,
    JSONInitSessionProperty: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONInitSessionProperty */ .l7,
    JSONPropertyStateBasedCommand: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONPropertyStateBasedCommand */ .qG,
    JSONCommandParametersProperty: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONCommandParametersProperty */ .e3,
    JSONResponseError: _common_model_json_enums_json_top_level_enums__WEBPACK_IMPORTED_MODULE_29__/* .JSONResponseError */ .jO,
    JSONTabInfoProperty: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONTabInfoProperty */ .zw,
    JSONPieceTableInfo: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONPieceTableInfo */ .mj,
    JSONChunkProperty: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONChunkProperty */ ._c,
    JSONBookmarkProperty: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONBookmarkProperty */ .ts,
    JSONHeaderFooterInfoProperty: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONHeaderFooterInfoProperty */ .l9,
    JSONEnumLoadPieceTable: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONEnumLoadPieceTable */ .lw,
    JSONChangeHeaderFooterIndexCommandBase: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONChangeHeaderFooterIndexCommandBase */ .W$,
    JSONCreateHeaderFooterCommandBaseProperty: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONCreateHeaderFooterCommandBaseProperty */ .M9,
    JSONEnumLoadPieceTableCommandParameters: _common_model_json_enums_json_sub_document_enums__WEBPACK_IMPORTED_MODULE_28__/* .JSONEnumLoadPieceTableCommandParameters */ .t9,
    JSONStyleLinkCommandBaseProperty: _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__/* .JSONStyleLinkCommandBaseProperty */ .M8,
    JSONTableStyleProperty: _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__/* .JSONTableStyleProperty */ .FG,
    JSONNumberingListStyleProperty: _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__/* .JSONNumberingListStyleProperty */ .BS,
    JSONParagraphStyleProperty: _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__/* .JSONParagraphStyleProperty */ .pM,
    JSONCharacterStyleProperty: _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__/* .JSONCharacterStyleProperty */ .Fq,
    JSONStyleBaseProperty: _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__/* .JSONStyleBaseProperty */ .W,
    JSONStylesProperty: _common_model_json_enums_json_style_enums__WEBPACK_IMPORTED_MODULE_27__/* .JSONStylesProperty */ .Ky,
    JSONSectionProperty: _common_model_json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_26__/* .JSONSectionProperty */ .vl,
    JSONInsertSectionCommandProperty: _common_model_json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_26__/* .JSONInsertSectionCommandProperty */ .n,
    JSONMergeSectionsCommandProperty: _common_model_json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_26__/* .JSONMergeSectionsCommandProperty */ .NM,
    JSONColumnInfoProperty: _common_model_json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_26__/* .JSONColumnInfoProperty */ .r8,
    JSONSection: _common_model_json_enums_json_section_enums__WEBPACK_IMPORTED_MODULE_26__/* .JSONSection */ .J3,
    JSONDeleteRunsCommandProperty: _common_model_json_enums_json_run_enums__WEBPACK_IMPORTED_MODULE_25__/* .JSONDeleteRunsCommandProperty */ .oP,
    JSONAnchoredTextBoxRunProperty: _common_model_json_enums_json_run_enums__WEBPACK_IMPORTED_MODULE_25__/* .JSONAnchoredTextBoxRunProperty */ .jO,
    JSONAnchoredPictureRunProperty: _common_model_json_enums_json_run_enums__WEBPACK_IMPORTED_MODULE_25__/* .JSONAnchoredPictureRunProperty */ .Nr,
    JSONInlineTextBoxRunProperty: _common_model_json_enums_json_run_enums__WEBPACK_IMPORTED_MODULE_25__/* .JSONInlineTextBoxRunProperty */ .n,
    JSONInlinePictureRunProperty: _common_model_json_enums_json_run_enums__WEBPACK_IMPORTED_MODULE_25__/* .JSONInlinePictureRunProperty */ .lz,
    JSONRunBaseProperty: _common_model_json_enums_json_run_enums__WEBPACK_IMPORTED_MODULE_25__/* .JSONRunBaseProperty */ .Ii,
    JSONInsertParagraphCommandProperty: _common_model_json_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_24__/* .JSONInsertParagraphCommandProperty */ .me,
    JSONMergeParagraphsCommandProperty: _common_model_json_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_24__/* .JSONMergeParagraphsCommandProperty */ .cO,
    JSONParagraphProperty: _common_model_json_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_24__/* .JSONParagraphProperty */ .B2,
    JSONParagraphFormattingProperty: _common_model_json_enums_json_paragraph_enums__WEBPACK_IMPORTED_MODULE_24__/* .JSONParagraphFormattingProperty */ .Ff,
    JSONListLevelProperty: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONListLevelProperty */ .yk,
    JSONIOverrideListLevelProperty: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONIOverrideListLevelProperty */ .Me,
    JSONAddAbstractNumberingListCommandPropery: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONAddAbstractNumberingListCommandPropery */ .Bq,
    JSONDeleteAbstractNumberingListCommandProperty: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONDeleteAbstractNumberingListCommandProperty */ .a0,
    JSONNumberingOverrideListLevelProperty: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONNumberingOverrideListLevelProperty */ .Pg,
    JSONNumberingListLevelProperty: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONNumberingListLevelProperty */ .qu,
    JSONNumberingListProperty: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONNumberingListProperty */ .G$,
    JSONAbstractNumberingListProperty: _common_model_json_enums_json_list_enums__WEBPACK_IMPORTED_MODULE_23__/* .JSONAbstractNumberingListProperty */ .T_,
    JSONSize: _common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_22__/* .JSONSize */ .yZ,
    JSONCheckSpellingCommand: _common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_22__/* .JSONCheckSpellingCommand */ .Bb,
    JSONFixedInterval: _common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_22__/* .JSONFixedInterval */ .Dm,
    JSONSelectionState: _common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_22__/* .JSONSelectionState */ .Nh,
    JSONBorderBaseProperty: _common_model_json_enums_json_general_enums__WEBPACK_IMPORTED_MODULE_22__/* .JSONBorderBaseProperty */ .H4,
    AnchorObjectVerticalPositionType: _common_model_floating_objects_enums__WEBPACK_IMPORTED_MODULE_15__/* .AnchorObjectVerticalPositionType */ .iL,
    JSONInsertFloatingObjectCommandInfo: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONInsertFloatingObjectCommandInfo */ .hz,
    JSONTextBoxProperties: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONTextBoxProperties */ .Hf,
    JSONInlineObjectProperty: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONInlineObjectProperty */ .Ol,
    JSONInlinePictureCommandsImageInfo: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONInlinePictureCommandsImageInfo */ ._w,
    JSONAnchorInfoProperty: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONAnchorInfoProperty */ .kn,
    JSONTextBoxContentMargins: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONTextBoxContentMargins */ .D4,
    JSONAnchorTextBoxSize: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONAnchorTextBoxSize */ .qr,
    JSONInlineTextBoxSize: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONInlineTextBoxSize */ .k2,
    JSONPictureSize: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONPictureSize */ .JB,
    JSONAnchorInlineBaseSize: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONAnchorInlineBaseSize */ .z2,
    JSONShapeProperty: _common_model_json_enums_json_floating_enums__WEBPACK_IMPORTED_MODULE_21__/* .JSONShapeProperty */ .An,
    JSONServerUpdateFieldType: _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__/* .JSONServerUpdateFieldType */ .Du,
    JSONUpdateFieldCommandResult: _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__/* .JSONUpdateFieldCommandResult */ .op,
    JSONUpdateFieldCommandDocVariableParameters: _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__/* .JSONUpdateFieldCommandDocVariableParameters */ .ZD,
    JSONUpdateFieldCommandDocVariableInfo: _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__/* .JSONUpdateFieldCommandDocVariableInfo */ .Xf,
    JSONUpdateFieldCommandInfo: _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__/* .JSONUpdateFieldCommandInfo */ .Pe,
    JSONUpdateFieldCommand: _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__/* .JSONUpdateFieldCommand */ .ty,
    JSONFieldProperty: _common_model_json_enums_json_field_enums__WEBPACK_IMPORTED_MODULE_20__/* .JSONFieldProperty */ .Jt,
    JSONDocumentPropertiesProperty: _common_model_json_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_19__/* .JSONDocumentPropertiesProperty */ .tK,
    JSONDocumentModelProperty: _common_model_json_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_19__/* .JSONDocumentModelProperty */ .vW,
    JSONModelPropertyProperty: _common_model_json_enums_json_document_enums__WEBPACK_IMPORTED_MODULE_19__/* .JSONModelPropertyProperty */ .$s,
    JSONControlOptionsProperty: _common_model_json_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_18__/* .JSONControlOptionsProperty */ .Q,
    JSONRichEditBehaviorOptionsProperty: _common_model_json_enums_json_control_enums__WEBPACK_IMPORTED_MODULE_18__/* .JSONRichEditBehaviorOptionsProperty */ .m,
    JSONLoadFontInfoCommand: _common_model_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_17__/* .JSONLoadFontInfoCommand */ .oO,
    JSONInsertTextCommandProperty: _common_model_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_17__/* .JSONInsertTextCommandProperty */ .sr,
    JSONLangInfoProperty: _common_model_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_17__/* .JSONLangInfoProperty */ .CZ,
    JSONCharacterFormattingProperty: _common_model_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_17__/* .JSONCharacterFormattingProperty */ .I$,
    JSONFontInfoProperty: _common_model_json_enums_json_character_enums__WEBPACK_IMPORTED_MODULE_17__/* .JSONFontInfoProperty */ .yW,
    JSONTableConditionalStyleProperty: _common_model_json_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_33__/* .JSONTableConditionalStyleProperty */ .UI,
    JSONTableCellBordersProperty: _common_model_json_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_33__/* .JSONTableCellBordersProperty */ .Yu,
    JSONTableBordersProperty: _common_model_json_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_33__/* .JSONTableBordersProperty */ .QY,
    JSONTableCellMarginsProperty: _common_model_json_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_33__/* .JSONTableCellMarginsProperty */ .bk,
    JSONTableWidthUnitProperty: _common_model_json_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_33__/* .JSONTableWidthUnitProperty */ .Kg,
    JSONTableHeightUnitProperty: _common_model_json_enums_table_json_table_structures_enums__WEBPACK_IMPORTED_MODULE_33__/* .JSONTableHeightUnitProperty */ .Tv,
    JSONServerTableRowProperty: _common_model_json_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_32__/* .JSONServerTableRowProperty */ .Wn,
    JSONEnumClientTableRowFormatting: _common_model_json_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_32__/* .JSONEnumClientTableRowFormatting */ .ln,
    JSONEnumClientTableRowInfo: _common_model_json_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_32__/* .JSONEnumClientTableRowInfo */ .tC,
    JSONEnumTableRowProperty: _common_model_json_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_32__/* .JSONEnumTableRowProperty */ .Ri,
    JSONEnumTableRow: _common_model_json_enums_table_json_table_row_enums__WEBPACK_IMPORTED_MODULE_32__/* .JSONEnumTableRow */ .gs,
    JSONEnumClientTablePosition: _common_model_json_enums_table_json_table_enums__WEBPACK_IMPORTED_MODULE_31__/* .JSONEnumClientTablePosition */ .Ah,
    JSONEnumClientTableFormatting: _common_model_json_enums_table_json_table_enums__WEBPACK_IMPORTED_MODULE_31__/* .JSONEnumClientTableFormatting */ .cL,
    JSONEnumClientTableInfo: _common_model_json_enums_table_json_table_enums__WEBPACK_IMPORTED_MODULE_31__/* .JSONEnumClientTableInfo */ .yP,
    JSONEnumTableParentCellInfo: _common_model_json_enums_table_json_table_enums__WEBPACK_IMPORTED_MODULE_31__/* .JSONEnumTableParentCellInfo */ .Mv,
    JSONEnumTableProperty: _common_model_json_enums_table_json_table_enums__WEBPACK_IMPORTED_MODULE_31__/* .JSONEnumTableProperty */ .lE,
    JSONEnumTable: _common_model_json_enums_table_json_table_enums__WEBPACK_IMPORTED_MODULE_31__/* .JSONEnumTable */ .Hp,
    JSONServerTableCellProperty: _common_model_json_enums_table_json_table_cell_enums__WEBPACK_IMPORTED_MODULE_30__/* .JSONServerTableCellProperty */ .zH,
    JSONEnumClientTableCellFormatting: _common_model_json_enums_table_json_table_cell_enums__WEBPACK_IMPORTED_MODULE_30__/* .JSONEnumClientTableCellFormatting */ .Py,
    JSONEnumClientTableCellInfo: _common_model_json_enums_table_json_table_cell_enums__WEBPACK_IMPORTED_MODULE_30__/* .JSONEnumClientTableCellInfo */ .Ds,
    JSONEnumTableCellProperty: _common_model_json_enums_table_json_table_cell_enums__WEBPACK_IMPORTED_MODULE_30__/* .JSONEnumTableCellProperty */ .dh,
    JSONEnumTableCell: _common_model_json_enums_table_json_table_cell_enums__WEBPACK_IMPORTED_MODULE_30__/* .JSONEnumTableCell */ .oW,
    FixedInterval: _devexpress_utils_lib_intervals_fixed__WEBPACK_IMPORTED_MODULE_2__.FixedInterval,
    Size: _devexpress_utils_lib_geometry_size__WEBPACK_IMPORTED_MODULE_1__.Size,
    UnitConverter: _devexpress_utils_lib_class_unit_converter__WEBPACK_IMPORTED_MODULE_0__/* .UnitConverter */ .u,
    LayoutPageFlags: _common_layout_main_structures_layout_page__WEBPACK_IMPORTED_MODULE_10__/* .LayoutPageFlags */ .m3,
};
const RichEditASPxObject = {
    Interval: _api_selection__WEBPACK_IMPORTED_MODULE_58__/* .Interval */ .X,
    CreateFieldCommand: _api_commands_field_commands__WEBPACK_IMPORTED_MODULE_45__/* .CreateFieldCommand */ ._o,
    Size: _api_commands_page_properties_commands__WEBPACK_IMPORTED_MODULE_50__/* .Size */ .$u,
    Rectangle: _api_layout__WEBPACK_IMPORTED_MODULE_57__/* .Rectangle */ .A,
    Scale: _api_commands_object_commands__WEBPACK_IMPORTED_MODULE_49__/* .Scale */ .Ci,
    Margins: _api_commands_page_properties_commands__WEBPACK_IMPORTED_MODULE_50__/* .Margins */ .mT,
    Orientation: _api_commands_page_properties_commands__WEBPACK_IMPORTED_MODULE_50__/* .Orientation */ .i5,
    MailMergeSettings: _api_commands_field_commands__WEBPACK_IMPORTED_MODULE_45__/* .MailMergeSettings */ .b0,
    MergeMode: _api_commands_field_commands__WEBPACK_IMPORTED_MODULE_45__/* .MergeMode */ .uE,
    MailMergeExportRange: _api_commands_field_commands__WEBPACK_IMPORTED_MODULE_45__/* .MailMergeExportRange */ .sF,
    FloatingObjectAlignmentPositionSettings: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectAlignmentPositionSettings */ .q7,
    FloatingObjectAbsolutePositionSettings: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectAbsolutePositionSettings */ .ng,
    FloatingObjectRelativePositionSettings: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectRelativePositionSettings */ .gs,
    FloatingObjectTextWrappingSettings: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectTextWrappingSettings */ .D3,
    FloatingObjectAbsoluteSizeSettings: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectAbsoluteSizeSettings */ .cd,
    TextBoxRelativeSizeSettings: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .TextBoxRelativeSizeSettings */ .HG,
    FloatingObjectRelativeWidthType: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectRelativeWidthType */ .of,
    FloatingObjectRelativeHeightType: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectRelativeHeightType */ .WH,
    FloatingObjectTextWrapType: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectTextWrapType */ .SQ,
    FloatingObjectTextWrapSide: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectTextWrapSide */ .tu,
    FloatingObjectHorizontalPositionType: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectHorizontalPositionType */ .D8,
    FloatingObjectHorizontalPositionAlignment: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectHorizontalPositionAlignment */ .vu,
    FloatingObjectVerticalPositionType: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectVerticalPositionType */ .kM,
    FloatingObjectVerticalPositionAlignment: _api_commands_floating_objects_commands__WEBPACK_IMPORTED_MODULE_46__/* .FloatingObjectVerticalPositionAlignment */ .iB,
    HyperlinkSettings: _api_commands_hyperlink_commands__WEBPACK_IMPORTED_MODULE_47__/* .HyperlinkSettings */ .zD,
    ListLevelSettings: _api_commands_numbering_commands__WEBPACK_IMPORTED_MODULE_48__/* .ListLevelSettings */ .lw,
    ListLevelFormat: _api_commands_numbering_commands__WEBPACK_IMPORTED_MODULE_48__/* .ListLevelFormat */ .LZ,
    ListLevelNumberAlignment: _api_commands_numbering_commands__WEBPACK_IMPORTED_MODULE_48__/* .ListLevelNumberAlignment */ ._Z,
    SectionColumn: _api_commands_page_properties_commands__WEBPACK_IMPORTED_MODULE_50__/* .SectionColumn */ .bE,
    TabsSettings: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .TabsSettings */ .Ad,
    TabSettings: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .TabSettings */ .TB,
    TabAlign: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .TabAlign */ .K9,
    TabLeaderType: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .TabLeaderType */ .LT,
    ParagraphFormattingSettings: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .ParagraphFormattingSettings */ .AX,
    ParagraphAlignment: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .ParagraphAlignment */ .wq,
    ParagraphLineSpacingType: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .ParagraphLineSpacingType */ .yX,
    ParagraphFirstLineIndent: _api_commands_paragraph_formatting_commands__WEBPACK_IMPORTED_MODULE_51__/* .ParagraphFirstLineIndent */ .Qi,
    TableLookSettings: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableLookSettings */ .st,
    TableBordersSettings: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableBordersSettings */ .rE,
    TableBorderSettings: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableBorderSettings */ ._G,
    BorderLineStyle: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .BorderLineStyle */ .uJ,
    TableCellFormattingSettings: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableCellFormattingSettings */ .mg,
    TableCellVerticalAlignment: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableCellVerticalAlignment */ .Ad,
    TableFormattingSettings: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableFormattingSettings */ .wN,
    TableWidthUnit: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableWidthUnit */ .zo,
    TableHeightUnit: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableHeightUnit */ .aN,
    TableHeightUnitType: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableHeightUnitType */ .X,
    TableWidthUnitType: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableWidthUnitType */ .HO,
    TableRowAlignment: _api_commands_table_commands__WEBPACK_IMPORTED_MODULE_52__/* .TableRowAlignment */ ._6,
    FontFormattingSettings: _api_commands_text_formatting_commands__WEBPACK_IMPORTED_MODULE_53__/* .FontFormattingSettings */ .uU,
    CharacterFormattingScript: _api_commands_text_formatting_commands__WEBPACK_IMPORTED_MODULE_53__/* .CharacterFormattingScript */ .Vg,
    ViewType: _api_commands_ui_commands__WEBPACK_IMPORTED_MODULE_54__/* .ViewType */ .bW,
    SubDocumentType: _api_sub_document__WEBPACK_IMPORTED_MODULE_60__/* .SubDocumentType */ .v,
    HeaderFooterType: _api_document__WEBPACK_IMPORTED_MODULE_55__/* .HeaderFooterType */ .pi,
    DocumentFormat: _api_document_formats__WEBPACK_IMPORTED_MODULE_56__/* .DocumentFormat */ .r,
    SpellCheckerState: _api_spelling__WEBPACK_IMPORTED_MODULE_59__/* .SpellCheckerState */ .su,
    SpellingErrorType: _api_spelling__WEBPACK_IMPORTED_MODULE_59__/* .SpellingErrorType */ .h1,
    DocumentLayoutDetailsLevel: _common_layout_document_layout_details_level__WEBPACK_IMPORTED_MODULE_8__/* .DocumentLayoutDetailsLevel */ .l,
};
const ASPxObj = window.ASPx;
_devexpress_utils_lib_utils_map_string__WEBPACK_IMPORTED_MODULE_3__.StringMapUtils.forEach(RichEditASPxObject, (prop, key) => {
    ASPxObj[key] = prop;
});
const ASPx = ASPxObj;
const dxObject = {
    RichEditContextMenuBar: _bars_context_menu__WEBPACK_IMPORTED_MODULE_61__/* .AspxContextMenuBar */ .K,
    RichEditRendererClassNames: _common_canvas_renderer_class_names__WEBPACK_IMPORTED_MODULE_7__/* .RendererClassNames */ .A
};
const dxObj = window.dx || {};
_devexpress_utils_lib_utils_map_string__WEBPACK_IMPORTED_MODULE_3__.StringMapUtils.forEach(dxObject, (prop, key) => {
    dxObj[key] = prop;
});
const dx = dxObj;

}();
var __webpack_export_target__ = window;
for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
/******/ })()
;   (function() { 
  "use strict";
  var __webpack_require__ = {};
  !function() {
   __webpack_require__.d = function(exports, definition) {
    for(var key in definition) {
     if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
      Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
     }
    }
   };
  }();
  !function() {
   __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
  }();
  !function() {
   __webpack_require__.r = function(exports) {
    if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    }
    Object.defineProperty(exports, '__esModule', { value: true });
   };
  }();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
 __webpack_require__.d(__webpack_exports__, {
   ASPxClientRichEditFileManager: function() { return  ASPxClientRichEditFileManager; }
 });
const constants = {
 CallbackPrefix: "REFM"
};
const managerName = "RE_FileManager";
const currMixin = baseClass => {
 return {
  constructor: function (name) {
   this.constructor.prototype.constructor.call(this, name);
   this.callbackCount = 0;
  },
  InitializeKbdHelper: function () {
  },
  CreateCallback: function (callbackString) {
   this.richedit.sendInternalServiceCallback(constants.CallbackPrefix, callbackString, this);
   this.callbackCount++;
  },
  OnEndCallback: function () {
   if (this.callbackCount > 0)
    this.callbackCount--;
   if (this.callbackCount <= 0)
    this.richedit.clearOwnerControlCallback();
   baseClass.prototype.DoEndCallback.apply(this, arguments);
  },
  RaiseEndCallback: function () {
   this.RaiseEndCallbackInternal();
  },
 };
};
class ASPxClientRichEditFileManager extends ASPxClientFileManager {
 get _template() { return currMixin(ASPxClientFileManager); }
 ;
 constructor(name) {
  super(name);
  this.callbackCount = 0;
 }
 InitializeKbdHelper() {
  this._template.InitializeKbdHelper.call(this);
 }
 CreateCallback(callbackString) {
  this._template.CreateCallback.call(this, callbackString);
 }
 OnEndCallback() {
  this._template.OnEndCallback.call(this);
 }
 RaiseEndCallback() {
  this._template.RaiseEndCallback.call(this);
 }
 static SetOwner(container, owner) {
  var fileManager = null;
  ASPx.GetControlCollection().ProcessControlsInContainer(container, (control) => {
   if (control instanceof ASPxClientRichEditFileManager || control.mixinName == managerName)
    fileManager = control;
  });
  if (fileManager)
   fileManager.richedit = owner;
 }
 ;
}
ASPxClientRichEditFileManager._createMixinForBootstrap = (() => ASPx.RegisterMixin(managerName, currMixin))();
var __webpack_export_target__ = window;
for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
 })()
;   J   ﻿(function() {
 <%= WebResource("custom:RichEditLocalization")%>
})();     ﻿(function () {
 __aspxRichEdit.StylesManager.populatePresetStyles(<%=WebResource("custom:RichEditDefaultFontsAndPresetStyles") %>);
})();      X0[v@s˕<z X[J6Ӯޮr-F{2Dt3]&s2WѵYX$:{zA*A1KAZɁ7pViT` +uiRI    ~ MP   ~   п                '   п                             RSDSP5E]6=֪   DevExpress.RichEdit.Web\DevExpress.Web.ASPxRichEdit\obj\Release\DevExpress.Web.ASPxRichEdit.v24.2.pdb SHA256 P5]6=֪~o+	;c	X6Sп         п                         п           _CorDllMain mscoree.dll        %                                ?      ?      ?      ?      ?       @                                                                                                                                                                                                      0                     H   X 2          24   V S _ V E R S I O N _ I N F O                  ?                         D    V a r F i l e I n f o     $    T r a n s l a t i o n          S t r i n g F i l e I n f o   n   0 0 0 0 0 4 b 0      C o m m e n t s       N   C o m p a n y N a m e     D e v e l o p e r   E x p r e s s   I n c .     `   F i l e D e s c r i p t i o n     D e v E x p r e s s . W e b . A S P x R i c h E d i t   2 	  F i l e V e r s i o n     2 4 . 2 . 7 . 0     l &  I n t e r n a l N a m e   D e v E x p r e s s . W e b . A S P x R i c h E d i t . v 2 4 . 2 . d l l   ~ -  L e g a l C o p y r i g h t   C o p y r i g h t      2 0 0 0 - 2 0 2 5   D e v e l o p e r   E x p r e s s   I n c .     *   L e g a l T r a d e m a r k s         t &  O r i g i n a l F i l e n a m e   D e v E x p r e s s . W e b . A S P x R i c h E d i t . v 2 4 . 2 . d l l   X   P r o d u c t N a m e     D e v E x p r e s s . W e b . A S P x R i c h E d i t   6 	  P r o d u c t V e r s i o n   2 4 . 2 . 7 . 0     : 	  A s s e m b l y   V e r s i o n   2 4 . 2 . 7 . 0                                                                                                                                                                                                                                                                                                                                                                                          п    1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      h(    0(W	*H
(H0(D10
	`He 0x
+7j0h03
+70%   < < < O b s o l e t e > > >010
	`He  sԝ_]>;RTOlMP5
00ڠ<k,?ҚaU0
	*H
 0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA10
221219000000Z
260124235959Z0w10	UUS10U
California10UGlendale10U
Developer Express Inc.10UDeveloper Express Inc.00
	*H
  0 ֪XBDl`9.l7~%
6ZuC
pH[xz@;JIsaC(P%A<\­A:%Q-3e5^;rQ.BD,?KA$nڄj>:BcA{Rq'/KfM~r	)1gStk.kqC|vIk#GFnֈ򊂘^7Dcd#߉?4ѵ?- Ks:qѼ7 z03E*iXA]ʳd- -HpklE*18Voeϳ/B2V"z]lw)m0H{6wǝaJ*(<S[vo 00U#0h7;_a{eNB0U?i^+/"
5;_0U0U%0
+0U00SQOMhttp://crl3.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl0SQOMhttp://crl4.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl0>U 70503g0)0'+http://www.digicert.com/CPS0+00$+0http://ocsp.digicert.com0\+0Phttp://cacerts.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt0U0 0
	*H
  9 5DS|\H<Pmz7<]?<dx,ַ<}SkAD^px
s=`ٜ^WݨKsDEGk8CzMQ hl"#ߤLK]5iYvflMkztfrnu+^)I	v"Wߧ4251bfN#[*/d4HY2BOGC:($
«R+q񩲪_NMwY{ sްNtXrIʚz
8*L`TF[e4W{[
?ʲ#0o6r(!`Pke6/ԕYNJ&eʴܞܷI0p_En3
xX#sV)E4}:BV[{]Q(yϨfe,.2sJxO
$4_@eM00@`ҜL^ͩ0
	*H
 0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40
210429000000Z
360428235959Z0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA10"0
	*H
  0
 մ/B(x]9YB3=pŻą&0h\4$KOxCgROẂ>Mp$d}4}LWkC;GZL %Ӌ	eI5=Q!xE.,IpB2ehMLHRhW]eO,HV5. 7|2t9`ֹ1ܭ#GGnmjg-ҽD;	Ǜ2Zj`TI\o&ղ8Αoa4\E(6*f(_s΋&%\Lb^3
+6yue̻HPwPFaX|<(9Է
SGu00v[K]taM?v޿Xr)Am&vhAX&+MYxρJ>@G_ɁPs#!Y`dT!8|fx8E0OcOL
SA|X=G2	l<V Y0U0U0 0Uh7;_a{eNB0U#0q]dL.g?纘O0U0U%0
+0w+k0i0$+0http://ocsp.digicert.com0A+05http://cacerts.digicert.com/DigiCertTrustedRootG4.crt0CU<0:08642http://crl3.digicert.com/DigiCertTrustedRootG4.crl0U 00g0g0
	*H
  :#D=v:VH4,tfr ʯl0'DK|&7:]Hm?I'EPv~7q"Zj PyH~؀aVv_C>v9=ԙJ(_&XH'?v`\
98Nn6!SZj>C3O8Tm]@3|╲!usRF4Kov7,?&C p)5\8U7	1.\9qᾜ
&gN_zI.t<V+#{pk栺:?ERAHKMD@(V*/d<3(<ˏ
;{˷w(?/"lA\flņ&3Kjj@0HK4Q Y
mP+JtRH!W;Eanh&`ȯc:VxN10 0}0i10	UUS10U
DigiCert, Inc.1A0?U8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1<k,?ҚaU0
	`He 0	*H
	1
+70
+710
+70/	*H
	1" (GH5R ݘQ_l90/
+71!0https://www.devexpress.com/0
	*H
 R6C-_݀c[ج]/r݌)\-8BmE254<R,9%y)s
k١3F5T/vbIGOф 	5;
b 9drQ_T؇=(ҜG}+~bHSBҶi W,tWz=Iփ^^ӕW1GZ)ìui+!7/1	pS-!kLMxEP
#?b n>%evESAM[υae+ɰ;"T̏EGס\!j1zօm]J~?| )aR!<	Bqϻ]wiS7Nzs::06
+71&0"	*H
010
	`He 0x*H
	ig0e	`Hl010
	`He  s>OjVMvo^5â  o~'u[ul20250505124821Z00fZ30
	*H
 0c10	UUS10U
DigiCert, Inc.1;09U2DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CA0
240926000000Z
351125235959Z0B10	UUS10U
DigiCert1 0UDigiCert Timestamp 20240"0
	*H
  0
 js!0[mYĈ;j
0 CtFw1ymIXa+3ОzGW3K;CE>Bitv;(m.%B6h)ӿ~iOɠo~R}azv,L{ڽYQYLS͚ X|˺Q(ZWx1MQx|{ЯH~7M2Ǐ[K_b?޺}WHz9XxGT);IRt|iuϔDHAu~+D
+XlY"!$2J5_! }q<JisuxŮM8s^^#v]#aƃ#䡠ዢcbmi^>ijSDx!%v+]Җ|
8@.'q[#&&wGէI^DElTEj@6&N662̋7!5BPJ [W*b}'UlO'˖&K˜ׁrC( 00U0U0 0U%0
+0 U 00g0	`Hl0U#0mM/s)v/uj o0UW,w(fc^Ov[0ZUS0Q0OMKIhttp://crl3.digicert.com/DigiCertTrustedG4RSA4096SHA256TimeStampingCA.crl0+00$+0http://ocsp.digicert.com0X+0Lhttp://cacerts.digicert.com/DigiCertTrustedG4RSA4096SHA256TimeStampingCA.crt0
	*H
  =v[8GCۛN(O{K&^xҋyc"V*()³f]UoA=4Te+RBvǰ-Mm*V;.^u\~j缅Z +Ja@tʑ/$:xy:?TR*T	VGQowMSkV%	.m0;_u%T1SU|{~Oi
RG-w߽d
TIexUdzo.Q"+D#3Ok[p'MzE @tu٬<!alY]nZEaOuӅ͋6rRnwFj*#[G>R6B~̄r̤[
偰Pܭ8VHu4tvC?~7t5dz?gF.pCrl?q
sdxUKiN¬:0067$T|G(f*^[0
	*H
 0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40
220323000000Z
370322235959Z0c10	UUS10U
DigiCert, Inc.1;09U2DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CA0"0
	*H
  0
 Ɔ5I=rIQU%7Q҃ўLm̃ZDB_h}3P&smW}Cs+"=+>BgQ=V(-ӱue)iِF {DA|jWz7y]dRvGa_T!hn7!@_J}9gcl6
\dt@rźNXMy׏s,9H1W)'.NvU&p&G CCc{un'%:8;["ق*ǒ>sZlR+Xt@(sCJk8)ʪsBhF:<BH4L=d*u($ABfIRPQ6IM ,W5y+E`#Xaޓ90LJX>^KvQɌ;["&}_#dc>t?	v]Fu`X	( T]^0Fvk3ͱ ]0Y0U0 0UmM/s)v/uj o0U#0q]dL.g?纘O0U0U%0
+0w+k0i0$+0http://ocsp.digicert.com0A+05http://cacerts.digicert.com/DigiCertTrustedRootG4.crt0CU<0:08642http://crl3.digicert.com/DigiCertTrustedRootG4.crl0 U 00g0	`Hl0
	*H
  }YoD"~f!B.M0SοP]K)p
)ii>`\[m %41gͶoPLbVs"%Εi?GwrtO,zC_`Of,d&l|p
|屮uOZ](TՊqver#'D'$&*yV
Ečrjq	Ķ͇$OIwfrKR7~S;I9z%c',=?kfAO@!!@з$x:䞭4q&k8sO?;xLĕ{
_39Axz8#(_+~Fu,',&o{6Yp7  O'`gfU:)+A:1b	
Wټ2 ]# v&evB)	G+UT++/DJ78+|00u-P@Z0
	*H
 0e10	UUS10U
DigiCert Inc10Uwww.digicert.com1$0"UDigiCert Assured ID Root CA0
220801000000Z
311109235959Z0b10	UUS10U
DigiCert Inc10Uwww.digicert.com1!0UDigiCert Trusted Root G40"0
	*H
  0
 sh޻]J<0"0i3§%.!=Y)=Xvͮ{
08VƗmy_<RRƞ~WYUrhp²ujs2D.߂t;mq-  c)-^Nȓ!a4^[ͬ4@_zfwHfWWTX+O0V{]O^51ړ^܎ڶ@yxǶĵj87.}>pUA2s*n|!LԼu]xf:1D3@ZI橠gݤ'O9X$\Fdivv=Y]BvizHftKc:= E%D+~am3K }Ï!Ռp,A`cDvb~d3щίCw!T)%lRQGt&Auz_?ɼA[P1r"	|Lu?c!_ QkoOE_ ~
&i/-٩ :060U00Uq]dL.g?纘O0U#0E뢯˂1-Q!m0U0y+m0k0$+0http://ocsp.digicert.com0C+07http://cacerts.digicert.com/DigiCertAssuredIDRootCA.crt0EU>0<0:864http://crl3.digicert.com/DigiCertAssuredIDRootCA.crl0U 
00U  0
	*H
  pC\U8_t=W,^"iT"wmJz/-8r$RN*-V0z^CDC!rH˝Ow'DY/4<ǇL@5FjiTV=wZ\ToP=v	ho 5` X@cŘ"YUk'lvo#-~qj#k"T-'~:𶇖[\MsW^(⹔1v0r0w0c10	UUS10U
DigiCert, Inc.1;09U2DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CAfZ30
	`He 0	*H
	1
*H
	0	*H
	1
250505124821Z0+*H
	1000Ӆb>{qHP$Ն[E0/	*H
	1" 4fce(2wjWS	rV707*H
	/1(0&0$0" vvc/C:#0VuseC0
	*H
  >E4R~96tR nu[5Rτ`IvjH\2qcAԾђ1&sgh%jS;B1<kԴ[1Y ^-ồtni{GǸ7۰[[^p`s48fJZQ%(.߂/D}cv~@u6:,Voz.VQ.h0'޻羭oq17nv8K̳UF
s|)Ofu:afɰZW5xxx!0-Ϊu)6*֞,`hFK2_s֔InqrXz\k3iĤ[T.b+Ӳ_ޔa	1WjyC\ONpynpMFUe~h,# ꔊY䃲PV &&`oDrN 8oGqc;VglRc}
O&t2EVpU+4BEM0!^     